diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..5b38f8d --- /dev/null +++ b/AUTHORS @@ -0,0 +1,7 @@ +Will Shackleford -- wshackle@yahoo.com or shackle@cme.nist.gov + +Several other people contributed long before this file was created. +Please email me or use CVS to add your names here. + + + diff --git a/CHANGES.TXT b/CHANGES.TXT new file mode 100644 index 0000000..89f9c32 --- /dev/null +++ b/CHANGES.TXT @@ -0,0 +1,187 @@ + + +------------------------------------------------------------------- + +2001 + +* Ported to QNX 6.0 and 6.1, Linux 2.4, + +* Added support for communications to processes under Rtlinux 3.0 and RTAI + +* Updated java support for JDK 1.3 + +* A variety of changes aimed at allowing the RCS-Design tool and Diagnostics +applets work on low-resolution screens. + +-------------------------------------------------------------------- + +2002 + +Support for converting back and forth between XML and NML (binary) messages +is almost complete. + +Support for building the RCS library using the GNU autotools configure/ +autoconf/automake/libtool etc instead of static +Makefiles and build scripts is almost complete . + +--------------------------------------------------------------------- + +2003 + +Support was added for converting back and forth between XML and +NML (binary) messages. + +Support for building the RCS library using the GNU autotools configure/ +autoconf/automake/libtool etc instead of static +Makefiles and build scripts is almost complete. + +The RCS Library was modified so that it could be compiled with the MinGW, +a free set of tools that allows one to compile programs on MS Windows. + +--------------------------------------------------------------------- + +2004 + +NML - the Neutral Messaging Language is one of the main components of the RCS +library. OE - a standard "Operating Environment" being pursued by +"Weapon System Technical Architecture Working Group"(WSTAWG). The integration +effort included both wrapping the NML api with the OE api and the reverse. + +An NML configuration server was added to the RCS library which +generates the data that would otherwise be stored in an NML configuration file +as processes run and makes the data available through a TCP socket interface. +Existing applications can use the server if the config file name is changed +to "nmlcfgsvr:" where hostname is the name or IP address of the +host running the nmlcfgsvr. There is also an additional API: +nmlcfgsvr_create(), nmlcfgsvr_check(), nmlcfgsvr_delete() that new applications + could use to manipulate and query the configuration data with finer control +than what occurs within the NML constructors/destructors. It may be useful in +situations where maintaining a configuration file might be difficult. It was +used to implement the OE NamingService for the oeim demonstration. + +Multireader queues were added. With multireader queues every reader will get +every message (assuming the queue does not become full). With normal NML queues + while multiple processes could read from the same queue only one process +would get each message, removing it from the queue so that it is no longer +available to the other processes. This is intended to be used with OE Endpoints + and OE Endpoint Groups however neither of these has yet been implemented on +topof NML. + +Priority based queues were added. Priority based queues can be written to with +an new function NML::write_with_priority() which takes an additional integer +priority. Messages with higher priority will be received by the reader before +messages with lower priority if the high priority message was written while +the low priority message was in the queue. + +A function was added to interrupt blocking reads and other blocking functions, +that can be called from a second thread or signal handler. + +A large list of new blocking functions were added to support OE's heavy use of +callbacks and triggers including: wait_for_anything(), wait_for_read(), +wait_for_clear(),wait_for_write(),wait_for_queue_length_over(), +wait_for_queue_length_under(). + +The DCS developed application called OEIM, (OE Instant Messenger) was compiled +and run on top NML using the newly developed OE over NML wrapper replacing the +DCS implementation of OE. Only a few trivial changes to the source code were +required. All of the changes were related to dormant errors in the OEIM +application. (Using functions not in the OE spec, argument types that were +close but not correct, deleting objects more than once, etc.) + +The conformance tests developed at DCS for DataStores and MessageQueues were +compiled and successfully run over the OE over NML wrapper. + +Software from DCS was integrated in to NML so that NML can be configured to +exchange data by internally calling OE defined functions implemented in the +separate DCS provided library. + +For the second phase of the project we built a proxy between a specific NML application and a specific OE application. The application selected was the connection between the Soldier Machine Interface(SMI), a graphical MS Windows program, +originally developed by GDRS and now modified and maintained by DCS somehow related to VCAT and a linux program called the yoke driver. The yoke is a particular hand-held tethered input device that combines several small joysticks, switches and buttons. The current state of the switches and joysticks is read by a linux program and written to an NML buffer on a periodic basis. There was also a simulated version of this program that ran a graphical application on linux that displayed a picture of the yoke where the state of the switches and joysticks could be set using a normal desktop mouse. While the original SMI program was written to use NML it was modified to use OE so that a proxy would be necessary. I wrote a program that read from the NML buffer written to by the yoke program, converted that data structure to one that could be sent to the new SMI program over OE and then sent it. I also performed a number of performance tests using the proxy and found that while the DCS OE implementation is much slower than using NML, +the overhead added by using a proxy versus using OE directly was extremely negligible. + +Since completing the OE-NML integration work I have updated the RCS Library +web pages and source-code archives so that the NML dynamic configuration server could be used more widely. I have recieved some feedback from Steve Legowik who +is testing using it with a new ANS. + +----------------------------------------------------------------------------- + +2005 + +Support was added to NML for IPv6, previously only IPv4 was supported. +IPv6 is the internet standard low-level protocol which allows 2^128 addresses +rather than 2^32 addresses possible with IPv4. +GDRS and RoboticsResearch are apparently both working on proving their systems +will be compatible with IPv6. + +Several new features were added the the RCS Diagnostics tool in support of +MOAST, LAGR and the HMWWV ARL work, including the ability to modify status +messages, view images, and plot arrays. + +A new way of recording separate variable logs was added to the NML server in +support of higher time resolution plots in the diagnostics tool and +potentially for other applications. The client tells the server which +variable(s) is of interest, maximum log size to keep and frequency and the +server logs only that variable until the client can request the entire log. +This lessens the chance of change in a variable being missed in the plot and +assuming the message is large compared to the number of variables being +logged reduces bandwidth required. + +A number of additional plotting styles were added to the Diagnotics tools +including the ability to display one plot vs another, the difference between +two plots, the integral or derivative or to have the diag tool smooth the plot. +All variables can now be displayed overlapping in a single area of the screen +as before or each variable displayed in a separate section of the screen. + +--------------------------------------------------------------------------- + +2006 + +The notion of a cloned buffer which is basically a caching system + was added to the configuration file. This allows +a remote process to be configured to read from a local clone rather than the +original remote buffer, a process that continually updates the local clone +is spawned in the background. The read from a local clone is much +faster than from the remote buffer. If multiple processes on the same host + need to read from the same remote buffer, this can reduce the bandwidth +required as the message is only sent once, rather than potentially once +for each process. + +A function was added nmlSetIgnoreRemote(), if the function is called at the +beginning of a program for any subsequent call to create a connection to a +remote buffer will be silently ignored. This allows one to write a server that +connects to every single buffer that might even potentially be used anywhere +in the system, but at run time only create buffers appropriate for that host +given the current configuration. For lagr this meant several different +server programs could be combined into one easier to maintain program. + +At the request of GDRS, the library was ported to VxWorks 6.2 and +LynxOs 4.0. + + +------------------------------------------------------------------------- + +2007 + +We have continued to support GDRS with a number of bug-fixes. Rashmi Patel of +GDRS has been particularly active in porting the latest RCS library to +the latest versions of VxWorks and Windows CE. Neither operating system do we +have development versions of to do the testing that can be done at GDRS. + +There is a new diagnostics tool using the latest Swing components and therefore a more modern appearance. + +------------------------------------------------------------------------- + +2008 + + +* Automatically generate memory map description text files for data structure documentation. + +* Functions to save/read NML messages in files platform independant packed files in both C++ and Java. + +* Diagnostics tools can query NML configuration server for list of buffers. +Diagnostics tool can parse C++ headers directly wihout need of a ".diag" or ".cfg" file. + +* NML Table now sortable by buffer name/host/ message count or connection status. + +* get_type() function retrieves the type of message without needing to read the whole message. + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..9542885 --- /dev/null +++ b/COPYING @@ -0,0 +1,28 @@ +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + +Commercial Product Disclaimer + + Certain commercial software applications and libraries are identified in the +source code, documentaion, build system etc to specify the build procedure +adequately. Such identification is not intended to imply recommendation or +endorsement by the National Institute of Standards and Technology, nor is it +intended to imply that the software identified is necessarily +the best available for the purpose. + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..89f9c32 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,187 @@ + + +------------------------------------------------------------------- + +2001 + +* Ported to QNX 6.0 and 6.1, Linux 2.4, + +* Added support for communications to processes under Rtlinux 3.0 and RTAI + +* Updated java support for JDK 1.3 + +* A variety of changes aimed at allowing the RCS-Design tool and Diagnostics +applets work on low-resolution screens. + +-------------------------------------------------------------------- + +2002 + +Support for converting back and forth between XML and NML (binary) messages +is almost complete. + +Support for building the RCS library using the GNU autotools configure/ +autoconf/automake/libtool etc instead of static +Makefiles and build scripts is almost complete . + +--------------------------------------------------------------------- + +2003 + +Support was added for converting back and forth between XML and +NML (binary) messages. + +Support for building the RCS library using the GNU autotools configure/ +autoconf/automake/libtool etc instead of static +Makefiles and build scripts is almost complete. + +The RCS Library was modified so that it could be compiled with the MinGW, +a free set of tools that allows one to compile programs on MS Windows. + +--------------------------------------------------------------------- + +2004 + +NML - the Neutral Messaging Language is one of the main components of the RCS +library. OE - a standard "Operating Environment" being pursued by +"Weapon System Technical Architecture Working Group"(WSTAWG). The integration +effort included both wrapping the NML api with the OE api and the reverse. + +An NML configuration server was added to the RCS library which +generates the data that would otherwise be stored in an NML configuration file +as processes run and makes the data available through a TCP socket interface. +Existing applications can use the server if the config file name is changed +to "nmlcfgsvr:" where hostname is the name or IP address of the +host running the nmlcfgsvr. There is also an additional API: +nmlcfgsvr_create(), nmlcfgsvr_check(), nmlcfgsvr_delete() that new applications + could use to manipulate and query the configuration data with finer control +than what occurs within the NML constructors/destructors. It may be useful in +situations where maintaining a configuration file might be difficult. It was +used to implement the OE NamingService for the oeim demonstration. + +Multireader queues were added. With multireader queues every reader will get +every message (assuming the queue does not become full). With normal NML queues + while multiple processes could read from the same queue only one process +would get each message, removing it from the queue so that it is no longer +available to the other processes. This is intended to be used with OE Endpoints + and OE Endpoint Groups however neither of these has yet been implemented on +topof NML. + +Priority based queues were added. Priority based queues can be written to with +an new function NML::write_with_priority() which takes an additional integer +priority. Messages with higher priority will be received by the reader before +messages with lower priority if the high priority message was written while +the low priority message was in the queue. + +A function was added to interrupt blocking reads and other blocking functions, +that can be called from a second thread or signal handler. + +A large list of new blocking functions were added to support OE's heavy use of +callbacks and triggers including: wait_for_anything(), wait_for_read(), +wait_for_clear(),wait_for_write(),wait_for_queue_length_over(), +wait_for_queue_length_under(). + +The DCS developed application called OEIM, (OE Instant Messenger) was compiled +and run on top NML using the newly developed OE over NML wrapper replacing the +DCS implementation of OE. Only a few trivial changes to the source code were +required. All of the changes were related to dormant errors in the OEIM +application. (Using functions not in the OE spec, argument types that were +close but not correct, deleting objects more than once, etc.) + +The conformance tests developed at DCS for DataStores and MessageQueues were +compiled and successfully run over the OE over NML wrapper. + +Software from DCS was integrated in to NML so that NML can be configured to +exchange data by internally calling OE defined functions implemented in the +separate DCS provided library. + +For the second phase of the project we built a proxy between a specific NML application and a specific OE application. The application selected was the connection between the Soldier Machine Interface(SMI), a graphical MS Windows program, +originally developed by GDRS and now modified and maintained by DCS somehow related to VCAT and a linux program called the yoke driver. The yoke is a particular hand-held tethered input device that combines several small joysticks, switches and buttons. The current state of the switches and joysticks is read by a linux program and written to an NML buffer on a periodic basis. There was also a simulated version of this program that ran a graphical application on linux that displayed a picture of the yoke where the state of the switches and joysticks could be set using a normal desktop mouse. While the original SMI program was written to use NML it was modified to use OE so that a proxy would be necessary. I wrote a program that read from the NML buffer written to by the yoke program, converted that data structure to one that could be sent to the new SMI program over OE and then sent it. I also performed a number of performance tests using the proxy and found that while the DCS OE implementation is much slower than using NML, +the overhead added by using a proxy versus using OE directly was extremely negligible. + +Since completing the OE-NML integration work I have updated the RCS Library +web pages and source-code archives so that the NML dynamic configuration server could be used more widely. I have recieved some feedback from Steve Legowik who +is testing using it with a new ANS. + +----------------------------------------------------------------------------- + +2005 + +Support was added to NML for IPv6, previously only IPv4 was supported. +IPv6 is the internet standard low-level protocol which allows 2^128 addresses +rather than 2^32 addresses possible with IPv4. +GDRS and RoboticsResearch are apparently both working on proving their systems +will be compatible with IPv6. + +Several new features were added the the RCS Diagnostics tool in support of +MOAST, LAGR and the HMWWV ARL work, including the ability to modify status +messages, view images, and plot arrays. + +A new way of recording separate variable logs was added to the NML server in +support of higher time resolution plots in the diagnostics tool and +potentially for other applications. The client tells the server which +variable(s) is of interest, maximum log size to keep and frequency and the +server logs only that variable until the client can request the entire log. +This lessens the chance of change in a variable being missed in the plot and +assuming the message is large compared to the number of variables being +logged reduces bandwidth required. + +A number of additional plotting styles were added to the Diagnotics tools +including the ability to display one plot vs another, the difference between +two plots, the integral or derivative or to have the diag tool smooth the plot. +All variables can now be displayed overlapping in a single area of the screen +as before or each variable displayed in a separate section of the screen. + +--------------------------------------------------------------------------- + +2006 + +The notion of a cloned buffer which is basically a caching system + was added to the configuration file. This allows +a remote process to be configured to read from a local clone rather than the +original remote buffer, a process that continually updates the local clone +is spawned in the background. The read from a local clone is much +faster than from the remote buffer. If multiple processes on the same host + need to read from the same remote buffer, this can reduce the bandwidth +required as the message is only sent once, rather than potentially once +for each process. + +A function was added nmlSetIgnoreRemote(), if the function is called at the +beginning of a program for any subsequent call to create a connection to a +remote buffer will be silently ignored. This allows one to write a server that +connects to every single buffer that might even potentially be used anywhere +in the system, but at run time only create buffers appropriate for that host +given the current configuration. For lagr this meant several different +server programs could be combined into one easier to maintain program. + +At the request of GDRS, the library was ported to VxWorks 6.2 and +LynxOs 4.0. + + +------------------------------------------------------------------------- + +2007 + +We have continued to support GDRS with a number of bug-fixes. Rashmi Patel of +GDRS has been particularly active in porting the latest RCS library to +the latest versions of VxWorks and Windows CE. Neither operating system do we +have development versions of to do the testing that can be done at GDRS. + +There is a new diagnostics tool using the latest Swing components and therefore a more modern appearance. + +------------------------------------------------------------------------- + +2008 + + +* Automatically generate memory map description text files for data structure documentation. + +* Functions to save/read NML messages in files platform independant packed files in both C++ and Java. + +* Diagnostics tools can query NML configuration server for list of buffers. +Diagnostics tool can parse C++ headers directly wihout need of a ".diag" or ".cfg" file. + +* NML Table now sortable by buffer name/host/ message count or connection status. + +* get_type() function retrieves the type of message without needing to read the whole message. + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..7e931a0 --- /dev/null +++ b/INSTALL @@ -0,0 +1,158 @@ +The Real-Time Control Systems (RCS) Library has two seperate build +systems. + +NOTE To LINUX users: + Regardless, of which build system you use you will need to install +rtai or rtlinux first if you plan to use either. Otherwise it will be built +to work only with nonrealtime user space applications. + +*********** CONFIGURE/AUTOCONF ****************************************** + +One build system uses scripts and makefiles that are created +with GNU autoconf, automake and libtool. This is new as of May 2003. + +This method has the following advantages. + +* It does not require you to know exactly which .def file should be +used for your platform and there is less chance you will need +to edit a make file or a configuration file. +* Autoconf is becoming more of a standard. + +But it also has some disadvantages: + +* It isn't as easy to switch back and forth between multiple +platforms, assuming all of the platforms already had working .def files. +* At the moment we are not building any of the Java libraries or tools +this way. +* VxWorks builds do not work. +* Some of the programs will actually be libtool scripts. In order +to debug a libtool script you need to run: + +libtool gdb programname + +instead of + +gdb programname + + + + +To build using this system run a command such as + +mkdir ~/my_installation_of_rcslib +./configure --prefix=~/my_installation_of_rcslib +make +make install + +from this top-level directory. The mkdir command and +--prefix option are optional but at this point recommended. So +one could alternatively run + +./configure +make +make install + +This is what most software packages built with configure recommend. +The advantages of setting a prefix and creating your own +directory are that: + +* There is less chance of your interfering with the operating system or +with other users on this system. +* You can easily uninstall by simply deleting the new directory. +* You don't need to be root to run "make install" command. +* You can more easily switch between different versions or rcslib. + +The disadvantages are: + +* You need to add -L~/my_installation_of_rcslib/lib to link commands, + -I~/my_installation_of_rcslib/include to compiler preprocessor commands, + ~/my_installation_of_rcslib/lib to you LD_LIBRARY_PATH environment variable +and ~/my_installation_of_rcslib/bin to your PATH environment variable. + + +Run the command +./configure --help + +to see some other options. + +Also you may want to read the file INSTALL.configure which is the origional +configure INSTALL help file. + + +********************************************************************* + + +******** Static Makefiles with Platform .def files ****************** + +The other build system uses static Makefiles, some scripts in the etc directory and one or two of the .def files in the etc directory. This is the much +older system that has been used since the rcslib was created (circa 1994) . + +The make program needs to be a recent version of GNU make. On some +systems this is called gnumake or gmake. + +There are a series of static Makefiles all in subdirectories of rcslib/src. + +Each static Makefile includes rcslib/etc/generic.def. generic.def will +include one or possibly two of the the other .def files depending on the +variable PLAT. PLAT can be set on the make command line or as an +environment variable in the shell before the "make" program is started. + +If PLAT is not set the value will be determined by running the script +rcslib/etc/platname that will look at the output of the 'uname' program + to try to guess the value, then it will try to find the closest existing +.def file. + +The idea of this system is that if someone has already built a system +with your platfrom then you can build by running: + +cd rcslib/src +make PLAT=myplat + +or even + +cd rcslib/src +make + +If you platform is correctly guesses. + +All of the object files, header files, libraries and programs +created are stored in rcslib/plat/myplat under the subdirectories +lib/ src/ include/ and bin/ . + +If there is not a .def file for your platfrom you create a new .def file +(probably by copying and renaming a .def for a similar platform) +The .def syntax is the same as for a Makefile except that the purpose is mostly just to set some variables rather than create rules for specific targets. + +For RTLINUX and RTAI systems you typically need to build twice + +cd rcslib/src +make PLAT=linux_rtl +make PLAT=rtlinux_3_0 + +or + +cd rcslib/src +make PLAT=linux_rtai +make PLAT=rtai + +There is also a "java" plat which will build the java tools and class archives. + +cd rcslib/src/java +make PLAT=java + +See + +http://www.isd.mel.nist.gov/projects/rcslib/Makefiles.html + +for more info on this build system. + + +********************************************************************* + + + + + + + + diff --git a/INSTALL.configure b/INSTALL.configure new file mode 100644 index 0000000..a4b3414 --- /dev/null +++ b/INSTALL.configure @@ -0,0 +1,229 @@ +Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..976a2a6 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,3246 @@ + +# +# $Id: Makefile.am 2314 2014-05-14 19:51:25Z shackle $ +# + +#Disable distcleancheck -- It is particularly painful to keep the +# java build scripts able to delete all the files they create +# and I see no particular value in forcing them too. +distcleancheck: + @- + +ACLOCAL_AMFLAGS=-I m4 + +lib_LTLIBRARIES=librcs.la libposemath.la +bin_PROGRAMS=@CONFIGURED_PROGRAMS@ +#lib_LIBRARIES=@CONFIGURED_STATIC_LIBRARIES@ +SUBDIRS=@CONFIGURED_SUBDIRS@ +bin_SCRIPTS=etc/jdk_dir.sh etc/ipc-clear.sh etc/diag_NB.sh etc/find_diag_NB_jar.sh etc/check_core_files.sh etc/wait_for.sh etc/first_screen.sh etc/last_screen.sh etc/kill_with_timeout.sh etc/screen_x.sh etc/attach_screen.sh etc/attach_gdb.sh etc/run_cmd_and_wait.sh etc/debug_core.sh etc/CodeGen.sh etc/jre_dir.sh etc/execfile_from_core.sh etc/plot.sh etc/find_plotter_NB_jar.sh + + +EXTRA_PROGRAMS=nmltest nmlcfg nmlclean nmlcfgsvr xsd2nmlh oedm_xml2nmlh posix_shm_unlink posix_sem_unlink nml_test_write nml_test_single_process_queue_test nml_test_get_queue_length etime_print nml_test_get_space_available nml_test_nmlset nml_test_read nml_test_blocking_read CodeGenCmdLine.jar rcs.jar rcsDesign.jar diag_NB.jar pvjscript.jar plotter_NB.jar nml_packed_file_to_csv nmlGetRemoteTcpServerBufferList nmlGetRemoteTcpServerBufferInfo ttytest testpmc testpmcpp + + +#EXTRA_LIBRARIES= librcsrtai.a librcsrtl.a + +xsd2nmlh_SOURCES=src/print/rcs_prnt.cc src/os_intf/_timer.c src/cms/cms_xml_up.cc src/stg_clss/linklist.cc +xsd2nmlh_CXXFLAGS=-DXML_SCHEMA_TO_HEADER +xsd2nmlh_CFLAGS=-DXML_SCHEMA_TO_HEADER + +oedm_xml2nmlh_SOURCES=src/print/rcs_prnt.cc src/os_intf/_timer.c src/cms/cms_xml_up.cc src/stg_clss/linklist.cc +oedm_xml2nmlh_CXXFLAGS=-DXML_SCHEMA_TO_HEADER -DOE_DM +oedm_xml2nmlh_CFLAGS=-DXML_SCHEMA_TO_HEADER -DOE_DM + +CodeGenCmdLine_jar_SOURCES= +CodeGenCmdLine_jar_DEPENDENCIES= \ + src/java/diagapplet/CodeGen/BufferInfo.java \ + src/java/diagapplet/CodeGen/ChannelInfo.java \ + src/java/diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCmdLine.java \ + src/java/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface2.java \ + src/java/diagapplet/CodeGen/SplitInfoToken.java \ + src/java/diagapplet/CodeGen/StringFuncs.java \ + src/java/diagapplet/CodeGen/C_Generator.java \ + src/java/diagapplet/CodeGen/Ada_Generator.java \ + src/java/diagapplet/CodeGen/CodeGenCommon.java \ + src/java/diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + src/java/diagapplet/CodeGen/DefinedValue.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDict.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLmsg.java \ + src/java/diagapplet/CodeGen/EnumTypeInfo.java \ + src/java/diagapplet/CodeGen/ModuleInfo.java \ + src/java/diagapplet/CodeGen/ModuleInfoInterface.java \ + src/java/diagapplet/CodeGen/ServerInfo.java \ + src/java/diagapplet/CodeGen/StructureList.java \ + src/java/diagapplet/CodeGen/StructureTypeInfo.java + +CodeGenCmdLine_jar_LINK=$(top_srcdir)/src/java/build_CodeGenCmdLine_jar.sh + +diag_NB_jar_SOURCES= +diag_NB_jar_DEPENDENCIES= \ + src/java/diagapplet/diag_NB_UI.java \ + src/java/diagapplet/MessageFileJFrame.java \ + src/java/diagapplet/HierarchyDraw.java \ + src/java/diagapplet/PlotTracker.java \ + src/java/diagapplet/diagicon.png + +diag_NB_jar_LINK=$(top_srcdir)/src/java/build_diag_NB_jar.sh + +pvjscript_jar_SOURCES= +pvjscript_jar_DEPENDENCIES= \ + src/java/pvjscript/Main.java \ + src/java/pvjscript/ProcessView.java + +pvjscript_jar_LINK=$(top_srcdir)/src/java/build_pvjscript_jar.sh + +plotter_NB_jar_SOURCES= +plotter_NB_jar_DEPENDENCIES= \ + src/java/diagapplet/utils/URlLoadInfoFrame.java \ + src/java/diagapplet/utils/URLLoadInfoJPanel.java \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/plotter/PlotterCommon.java \ + src/java/diagapplet/plotter/ColorEditor.java \ + src/java/diagapplet/plotter/ColorRenderer.java \ + src/java/diagapplet/plotter/PlotData.java \ + src/java/diagapplet/plotter/PlotPoint.java \ + src/java/diagapplet/plotter/PlotGraphScreenMap.java \ + src/java/diagapplet/plotter/PlotLoader.java \ + src/java/diagapplet/plotter/PlotGraphJPanel.java \ + src/java/diagapplet/plotter/plotter_NB_UI.java \ + src/java/diagapplet/plotter/plotterJFrame.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.java \ + src/java/diagapplet/plotter/ParseOptions.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.form \ + src/java/diagapplet/plotter/StatsTextJFrame.java \ + src/java/diagapplet/plotter/StatsTextJFrame.form + +plotter_NB_jar_LINK=$(top_srcdir)/src/java/build_plotter_NB_jar.sh + +rcsDesign_jar_SOURCES= +rcsDesign_jar_DEPENDENCIES= \ + src/java/rcsdesign/InnerAppletRepainter.java \ + src/java/rcsdesign/rcsdesignModuleInfo.java \ + src/java/rcsdesign/AutoSizedTextArea.java \ + src/java/rcsdesign/MakeFileRunner.java \ + src/java/rcsdesign/QueryStringDialog.java \ + src/java/rcsdesign/rcsDesignWriter.java \ + src/java/rcsdesign/rcsDesign.java \ + src/java/rcsdesign/Merger.java \ + src/java/rcsdesign/QueryDialog.java \ + src/java/rcsdesign/ListElement.java \ + src/java/rcsdesign/rcsDesignGui.java \ + src/java/rcsdesign/AlertDialog.java \ + src/java/rcsdesign/rcsDesignUserAbortException.java \ + src/java/rcsdesign/AlphabetizedList.java \ + src/java/rcsdesign/rcsDesignWriterInfo.java \ + src/java/rcsdesign/rcsdesignFrame.java \ + src/java/rcsdesign/rcsdesignMainLoopInfo.java \ + src/java/rcsdesign/FileTypeInfo.java + +rcsDesign_jar_LINK=$(top_srcdir)/src/java/build_rcsDesign_jar.sh + +rcs_jar_SOURCES= +rcs_jar_DEPENDENCIES= \ + src/java/rcs/nml/MsgToTimeStamp.java \ + src/java/rcs/nml/LogTimeEntry.java \ + src/java/rcs/nml/NMLSingleVarLogItem.java \ + src/java/rcs/nml/NMLSingleVarLog.java \ + src/java/rcs/nml/DISPFormatConverter.java \ + src/java/rcs/nml/NMLConfigInfo.java \ + src/java/rcs/nml/NMLBufferConfigInfo.java \ + src/java/rcs/nml/NMLConnectionInterface.java \ + src/java/rcs/nml/NMLConnectionCreatorInterface.java \ + src/java/rcs/nml/NMLConnectionCreator.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NMLConnection.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NMLException.java \ + src/java/rcs/nml/NMLFormatConverter.java \ + src/java/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + src/java/rcs/nml/NMLFormatConverterBase.java \ + src/java/rcs/nml/NMLMessageDictionary.java \ + src/java/rcs/nml/NML_DISPLAY.java \ + src/java/rcs/nml/NML_ENUM_INFO.java \ + src/java/rcs/nml/NML_ERROR.java \ + src/java/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + src/java/rcs/nml/NML_TEXT.java \ + src/java/rcs/nml/NMLmsg.java \ + src/java/rcs/nml/NonBlockingDatagramSocket.java \ + src/java/rcs/nml/RCS_CMD_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG_V2.java \ + src/java/rcs/nml/time_tracker.java \ + src/java/rcs/nml/XDRFormatConverter.java \ + src/java/rcs/nml/PackedFormatConverter.java \ + src/java/rcs/nml/XMLFormatConverter.java \ + src/java/rcs/nml/debugInfo.java \ + src/java/rcs/nml/errlogMsgDict.java \ + src/java/rcs/nml/nmlperf.java \ + src/java/rcs/nml/perftypeMsgDict.java \ + src/java/rcs/nml/CMS_TIME.java \ + src/java/rcs/nml/CMS_DATE.java \ + src/java/rcs/posemath/PM_CARTESIAN.java \ + src/java/rcs/posemath/PM_CIRCLE.java \ + src/java/rcs/posemath/PM_CYLINDRICAL.java \ + src/java/rcs/posemath/PM_EULER_ZYX.java \ + src/java/rcs/posemath/PM_EULER_ZYZ.java \ + src/java/rcs/posemath/PM_HOMOGENEOUS.java \ + src/java/rcs/posemath/PM_LINE.java \ + src/java/rcs/posemath/PM_POSE.java \ + src/java/rcs/posemath/PM_XYA.java \ + src/java/rcs/posemath/PM_QUATERNION.java \ + src/java/rcs/posemath/PM_ROTATION_MATRIX.java \ + src/java/rcs/posemath/PM_ROTATION_VECTOR.java \ + src/java/rcs/posemath/PM_RPY.java \ + src/java/rcs/posemath/PM_SPHERICAL.java \ + src/java/rcs/posemath/PmCartesian.java \ + src/java/rcs/posemath/PmCircle.java \ + src/java/rcs/posemath/PmCylindrical.java \ + src/java/rcs/posemath/PmEulerZyx.java \ + src/java/rcs/posemath/PmEulerZyz.java \ + src/java/rcs/posemath/PmException.java \ + src/java/rcs/posemath/PmHomogeneous.java \ + src/java/rcs/posemath/PmLine.java \ + src/java/rcs/posemath/PmPose.java \ + src/java/rcs/posemath/PmQuaternion.java \ + src/java/rcs/posemath/PmRotationMatrix.java \ + src/java/rcs/posemath/PmRotationVector.java \ + src/java/rcs/posemath/PmRpy.java \ + src/java/rcs/posemath/PmSpherical.java \ + src/java/rcs/posemath/Posemath.java \ + src/java/rcs/posemath/testpm.java \ + src/java/rcs/utils/CorrectedPipeData.java \ + src/java/rcs/utils/CorrectedPipedInputStream.java \ + src/java/rcs/utils/CorrectedPipedOutputStream.java \ + src/java/rcs/utils/CorrectedPipedInputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + src/java/rcs/utils/SimpleFileFilter.java \ + src/java/rcs/utils/StrToLong.java \ + src/java/rcs/utils/URL_and_FileLoader.java \ + src/java/rcs/utils/rcs_states.java \ + src/java/rcs/utils/StackTracePrinter.java \ + src/java/rcs/utils/jcrypt.java \ + src/java/rcs/utils/StrToInt.java + +rcs_jar_LINK=$(top_srcdir)/src/java/build_rcs_jar.sh + +posix_shm_unlink_SOURCES=src/os_intf/posix_shm_unlink.c +posix_sem_unlink_SOURCES=src/os_intf/posix_sem_unlink.c +nmltest_SOURCES=src/cms/nmltest.cc +nmltest_LDADD=librcs.la +nmlcfgsvr_SOURCES=src/cms/nmlcfgsvr.cc +nmlcfgsvr_LDADD=librcs.la +nmlclean_SOURCES=src/cms/nmlclean.cc +nmlclean_LDADD=librcs.la +nmlcfg_SOURCES=src/cms/nmlcfg.cc +nmlcfg_LDADD=librcs.la + +ttytest_SOURCES=src/cms/ttytest.c +ttytest_LDADD=librcs.la + +nmlGetRemoteTcpServerBufferList_SOURCES=src/cms/nmlGetRemoteTcpServerBufferList.cc +nmlGetRemoteTcpServerBufferList_LDADD=librcs.la + +nmlGetRemoteTcpServerBufferInfo_SOURCES=src/cms/nmlGetRemoteTcpServerBufferInfo.cc +nmlGetRemoteTcpServerBufferInfo_LDADD=librcs.la + +libposemath_la_SOURCES=src/posemath/_posemath.c \ + src/posemath/_mathprnt.c \ + src/posemath/posemath.cc \ + src/posemath/mathprnt.cc \ + src/posemath/sincos.c + +#libposemath_la_LDFLAGS= -version-number 2014:5:14 +libposemath_la_LDFLAGS= -release 2014-05-14 + +if POSEMATH_FLAGS_SET +libposemath_la_CXXFLAGS=@POSEMATH_CXXFLAGS@ +libposemath_la_CFLAGS=@POSEMATH_CFLAGS@ +endif POSEMATH_FLAGS_SET + +#librcsrtai_a_DEPENDENCIES=@RCSRTAILIB_EXTRA_OBJS@ +#librcsrtl_a_DEPENDENCIES=@RCSRTLLIB_EXTRA_OBJS@ +# +#if HAVE_RTAI +# +#lib_LIBRARIES= librcsrtai.a +#EXTRA_librcsrtai_a_SOURCES= src/cms/rtlnml.c \ +# src/cms/rtai_kernel_api_implement.c +# +#librcsrtai_a_SOURCES= \ +# src/posemath/_posemath.c \ +# src/posemath/sincos.c +# +#librcsrtai_a_CFLAGS= @RTAICFLAGS@ -Drtai -DNO_STDIO_SUPPORT -O2 -ffast-math -DUSE_MY_ATAN2=1 +# +#librcsrtai_a_LIBADD= @RCSRTAILIB_EXTRA_OBJS@ +# +#INCLUDES= -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@RTAIDIR@/include -I@srcdir@/last_config/ +# +#else !HAVE_RTAI +#if HAVE_RTL +# +#INCLUDES= -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@RTLINUXDIR@/include -I@srcdir@/last_config/ +# +#EXTRA_librcsrtl_a_SOURCES= src/cms/rtlnml.c \ +# src/cms/rtlinux_kernel_api_implement.c +# +#librcsrtl_a_SOURCES= \ +# src/posemath/_posemath.c +# +#librcsrtl_a_CFLAGS=@RTLINUXCFLAGS@ -DNO_STDIO_SUPPORT -O2 -ffast-math +# +# +#librcsrtl_a_LIBADD= @RCSRTLLIB_EXTRA_OBJS@ +# +#else !HAVE_RTL +# +INCLUDES= -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@srcdir@/last_config/ +# +#endif !HAVE_RTL +#endif !HAVE_RTAI + +check_PROGRAMS=nml_test_blocking_read nml_test_write nml_test_single_process_queue_test nml_test_read nml_test_server nml_test_get_queue_length etime_print nml_test_get_space_available testpmcpp testpmc @EXTRA_CHECK_PROGRAMS@ + +nml_packed_file_to_csv_SOURCES= \ + src/cms/nml_packed_file_to_csv.cc + +# use nmltestblockingread.cc instead of nml_test_blocking_read.cc because of +# lame QNX problem with long filenames. +nml_test_blocking_read_SOURCES= \ + src/test/nmltestblockingread.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_blocking_read_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_blocking_read_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_blocking_read_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_write_SOURCES= \ + src/test/nml_test_write.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_write_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_write_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_write_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +testpmcpp_SOURCES= \ + src/posemath/testpmcpp.cc +testpmcpp_LDADD=libposemath.la + +if TEST_FLAGS_SET +testpmcpp_CXXFLAGS=@TEST_CXXFLAGS@ +testpmcpp_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +testpmc_SOURCES= \ + src/posemath/testpmc.c +testpmc_LDADD=libposemath.la + +if TEST_FLAGS_SET +testpmc_CXXFLAGS=@TEST_CXXFLAGS@ +testpmc_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + + +nml_test_single_process_queue_test_SOURCES= \ + src/test/nml_test_single_process_queue_test.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_single_process_queue_test_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_single_process_queue_test_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_single_process_queue_test_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_get_queue_length_SOURCES= \ + src/test/nml_test_get_queue_length.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_get_queue_length_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_get_queue_length_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_get_queue_length_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_get_space_available_SOURCES= \ + src/test/nml_test_get_space_available.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_get_space_available_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_get_space_available_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_get_space_available_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + + +etime_print_SOURCES= \ + src/test/etime_print.cc +etime_print_LDADD=librcs.la + +if TEST_FLAGS_SET +etime_print_CXXFLAGS=@TEST_CXXFLAGS@ +etime_print_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_nmlset_SOURCES= \ + src/test/nml_test_nmlset.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_nmlset_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_nmlset_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_nmlset_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_read_SOURCES= \ + src/test/nml_test_read.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_read_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_read_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_read_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +nml_test_server_SOURCES= \ + src/test/nml_test_server.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc +nml_test_server_LDADD=librcs.la + +if TEST_FLAGS_SET +nml_test_server_CXXFLAGS=@TEST_CXXFLAGS@ +nml_test_server_CFLAGS=@TEST_CFLAGS@ +endif TEST_FLAGS_SET + +check_SCRIPTS=\ + etc/check_testnml_oemem.sh \ + etc/check_testnml_filemem.sh \ + etc/check_testnml_shmem.sh \ + etc/check_testnml_stcpdisp.sh \ + etc/check_testnml_stcpxml.sh \ + etc/check_testnml_tcpraw.sh \ + etc/check_testnml_tcpxdr.sh \ + etc/check_testnml_tcppacked.sh \ + etc/check_testnml_tcpxml.sh \ + etc/check_testnml_extras.sh \ + etc/check_testnml_udppacked.sh \ + etc/check_testnml_udpxdr.sh \ + etc/check_testnml_gdrs_im_packed.sh \ + etc/check_testnml_gdrs_im_xdr.sh \ + etc/check_testnml_nmlcfgsvr.sh \ + etc/check_testnml_locmem_tcp_packed.sh + + +TESTS= @CONFIGURED_TESTS@ + +#librcs_la_LDFLAGS= -version-number 2014:5:14 +librcs_la_LDFLAGS= -release 2014-05-14 + +librcs_la_DEPENDENCIES= @RCSLIB_EXTRA_OBJS@ +librcs_la_LIBADD= @RCSLIB_EXTRA_OBJS@ + +EXTRA_librcs_la_SOURCES= \ + src/cms/nmlcms_c.cc \ + src/cms/posemath_c_n.c \ + src/os_intf/inifile.cc \ + src/os_intf/_inifile.c \ + src/cms/rtlnml.c \ + src/cms/rtlmem.cc \ + src/cms/rtlinux_user_api_implement.c \ + src/cms/rtlinux_kernel_api_implement.c \ + src/cms/rtai_user_api_implement.c \ + src/cms/rtai_kernel_api_implement.c \ + src/cms/filemem.cc \ + src/os_intf/sem.cc \ + src/os_intf/shm.cc \ + src/os_intf/_shm.c \ + src/os_intf/unix_sem.c \ + src/os_intf/vxworks_sem.c \ + src/os_intf/win32_sem.c \ + src/cms/memsem.cc\ + src/cms/cms_mrpq.cc\ + src/cms/globmem.cc \ + src/cms/shmem.cc \ + src/cms/oemem.cc \ + src/cms/oedsto.cc \ + src/cms/oemque.cc \ + src/cms/cms_xml_up.cc \ + src/cms/tcp_opts.cc \ + src/cms/tcpmem.cc \ + src/cms/sendn.c \ + src/cms/recvn.c \ + src/cms/tcp_srv.cc \ + src/cms/stcpopts.cc \ + src/cms/stcpmem.cc \ + src/cms/sendline.c \ + src/cms/recvline.c \ + src/cms/stcpsvr.cc \ + src/cms/crypt2.cc \ + src/cms/udpmem.cc \ + src/cms/udp_opts.cc \ + src/cms/udp_srv.cc \ + src/cms/gdrs_im_clnt.cc \ + src/cms/gdrs_im_srv.cc \ + src/cms/recvmsgt.c \ + src/cms/sendmsgt.c \ + src/cms/locmem.cc \ + src/cms/http_srv.cc \ + src/cms/httpnml.cc \ + src/cms/tty_srv.cc \ + src/cms/ttymem.cc \ + src/cms/ttyintf.c \ + src/cms/phantom.cc \ + src/os_intf/dbg_mem.cc \ + src/posemath/_posemath.c \ + src/posemath/_mathprnt.c \ + src/posemath/posemath.cc \ + src/posemath/mathprnt.cc \ + src/node/cmd_msg.cc \ + src/node/nml_mod.cc \ + src/node/nml_oi.cc \ + src/node/stat_msg.cc \ + src/node/stat_msg_v2_n.cc \ + src/node/timetracker_n.cc \ + src/node/timetracker_c_n.c \ + src/node/timetracker.cc \ + src/cms/nml_srv.cc \ + src/cms/cms_srv.cc \ + src/cms/cmssvrp.cc \ + src/cms/sokintrf.c \ + src/cms/nmlcfgsvr_clntcalls.cc \ + src/cms/nmlset.cc \ + src/cms/cms_xup.cc \ + src/cms/cms_pup.cc \ + src/cms/extxdrintf.c \ + src/cms/cms_dup.cc \ + src/cms/cmsdiag.cc \ + src/cms/nmldiag.cc \ + src/cms/nmlqr.cc \ + src/print/rcs_prnt.cc \ + src/cms/autokey.c \ + src/nt_xdr/xdr.c \ + src/nt_xdr/bcopy.c \ + src/nt_xdr/xdr_arra.c \ + src/nt_xdr/xdr_floa.c \ + src/nt_xdr/xdr_mem.c \ + src/nt_xdr/xdr_rec.c \ + src/nt_xdr/xdr_refe.c \ + src/nt_xdr/xdr_stdi.c + +include_HEADERS= \ + src/rcs.hh \ + src/rcs_svn_vers.hh \ + src/rcsvers.hh \ + src/print/rcs_prnt.hh \ + src/stg_clss/linklist.hh \ + src/cms/nmlmsg.hh \ + src/cms/msg_to_encoded_data.hh\ + src/cms/nml.hh \ + src/cms/cms_user.hh \ + src/cms/cms.hh \ + src/cms/cms_types.hh \ + src/cms/cms_datetime.hh \ + src/cms/cms_cfg.hh \ + src/cms/nmlcfgsvr_clntcalls.hh \ + src/cms/nmlset.hh \ + src/cms/rem_msg.hh \ + src/cms/httpnml.hh \ + src/posemath/posemath.h \ + src/posemath/mathprnt.h \ + src/node/cmd_msg.hh \ + src/node/stat_msg.hh \ + src/node/stat_msg_v2.hh \ + src/node/stat_msg_v2_n_codegen_protos.hh \ + src/node/timetracker.hh \ + src/node/timetracker_c_n.h \ + src/node/wm_msg.hh \ + src/node/nml_oi.hh \ + src/cms/cmsdiag.hh \ + src/cms/nmldiag.hh \ + src/cms/cms_srv.hh \ + src/cms/nml_srv.hh \ + src/os_intf/timer.hh \ + src/os_intf/rcs_exit.hh \ + src/os_intf/inifile.h \ + src/cms/nmlcms_c.h \ + src/cms/posemath_c_n.h \ + src/cms/nmlmacros.h \ + src/cms/cms_enum_info.h \ + src/node/nml_mod.hh \ + src/cms/nmlqr.hh \ + src/os_intf/inetfile.hh \ + src/rcsvers.hh \ + src/os_intf/_timer.h \ + src/os_intf/_shm.h \ + src/cms/rtlnml.h \ + src/cms/ttyintf.h \ + src/os_intf/rcs_mnmxtotal.hh + + +librcs_la_SOURCES= src/rcsvers.c\ + src/os_intf/inetnull.cc\ + src/os_intf/timer.cc\ + src/os_intf/_timer.c\ + src/print/sepwords.cc \ + src/cms/cms.cc\ + src/cms/cms_cfg.cc\ + src/cms/cms_datetime.cc\ + src/cms/cms_in.cc\ + src/cms/cms_pm.cc\ + src/cms/cms_up.cc\ + src/cms/nml.cc\ + src/cms/msg_to_encoded_data.cc\ + src/cms/nmlmsg.cc\ + src/cms/physmem.cc\ + src/stg_clss/linklist.cc + +EXTRA_DIST= \ + src/JScreenSwitcher/build.xml \ + src/JScreenSwitcher/manifest.mf \ + src/JScreenSwitcher/nbproject/build-impl.xml \ + src/JScreenSwitcher/nbproject/genfiles.properties \ + src/JScreenSwitcher/nbproject/project.properties \ + src/JScreenSwitcher/nbproject/project.xml \ + src/JScreenSwitcher/src/JScreenSwitcher/JScreenSwitcherGtkVteFrame.java \ + src/java/diag.jnlp \ + src/java/plotter.jnlp \ + acinclude.m4 \ + aclocal.m4 \ + add_header.sh \ + add_header_to_all.sh \ + AUTHORS \ + bootstrap \ + ChangeLog \ + CHANGES.TXT \ + cleanup.sh \ + commit_check_instructions.txt \ + compile \ + config.guess \ + config.sub \ + configure \ + rcslib.pc.in \ + configure.ac \ + COPYING \ + depcomp \ + doc/nml_ex1_n_codegen_protos.hh \ + doc/nml_set_host_alias_ex.cc \ + doc/index.html \ + doc/c++_ex3.cc \ + doc/utilex3b.cc \ + doc/foldop.gif \ + doc/vrmlnml_outline.html \ + doc/ex_msg_file.EXAMPLE_MSG_TYPE \ + doc/utilex2.cc \ + doc/design-hierarchy.gif \ + doc/plattable.gif \ + doc/Screenshot-ex_msg_file.EXAMPLE_MSG_TYPE.png \ + doc/Makefiles.html \ + doc/getrcs.html \ + doc/diag_splash.gif \ + doc/javaintf_old.html \ + doc/EXAMPLE_MSG_TYPE_map.csv \ + doc/NMLtoc.html \ + doc/c++_ex4.cc \ + doc/rcsvers.html \ + doc/folder03.gif \ + doc/ex_v2_msg_file.EXAMPLE_MSG_TYPE \ + doc/cgtester_n_codegen_protos.hh \ + doc/cms_hier.gif \ + doc/exCmd.hh \ + doc/ex_cfg.nml \ + doc/ex_v2_xml_to_packed.cc \ + doc/write_mem_map.cc \ + doc/socapplet/start_servers.log \ + doc/socapplet/timesvr.log \ + doc/socapplet/socapplet.html \ + doc/socapplet/socapplet.ncb \ + doc/socapplet/socapplet.java \ + doc/socapplet/CountButton.class \ + doc/socapplet/start_servers.cgi \ + doc/socapplet/socapplet.mdp \ + doc/socapplet/CountButton.java \ + doc/socapplet/socapplet.class \ + doc/socapplet/kill_servers_top.html \ + doc/socapplet/wtimer.log \ + doc/socapplet/socapplet.cgi \ + doc/socapplet/timetype.hh \ + doc/socapplet/kill_servers.cgi \ + doc/socapplet/socapplet.nml \ + doc/socapplet/kill_servers_bottom.html \ + doc/socapplet/wtimer.cc \ + doc/socapplet/wtimer.pid \ + doc/socapplet/javaintf.html \ + doc/socapplet/socapplet.mak \ + doc/socapplet/timesvr.pid \ + doc/socapplet/CountButton.dep \ + doc/socapplet/timetype.cc \ + doc/socapplet/timesvr.cc \ + doc/socapplet/kill_servers.top.html \ + doc/socapplet/kill_servers.html \ + doc/socapplet/socapplet.dep \ + doc/socapplet/delete_logs.cgi \ + doc/exCmd_n_codegen_protos.hh \ + doc/diag_graph_small.png \ + doc/echo_types.hh \ + doc/papers/Image14.gif \ + doc/papers/merger.gif \ + doc/papers/Image13.gif \ + doc/papers/Image17.gif \ + doc/papers/Image15.gif \ + doc/papers/Image18.gif \ + doc/papers/javatool.htm \ + doc/papers/devproc.gif \ + doc/papers/Appendix.htm \ + doc/papers/Image16.gif \ + doc/papers/Image12.gif \ + doc/NMLjava.html \ + doc/utilex5w.cpp \ + doc/design-loops.gif \ + doc/redirect.nml \ + doc/nml_ex.gif \ + doc/exCmd_n.cc \ + doc/mcps.cpp \ + doc/nmlcfgsvr.html \ + doc/ex_msg_file.xml \ + doc/nml_test_format_n_codegen_protos.hh \ + doc/nml_test_format.hh \ + doc/reloader.html \ + doc/NML.html \ + doc/Attachment.html \ + doc/nml_emc.hh \ + doc/exStat.hh \ + doc/utilex4.cc \ + doc/emc_links.html \ + doc/nmlperf.html \ + doc/c++_ex6.cc \ + doc/javadesign.html \ + doc/nmlspace.gif \ + doc/c++_ex5.cc \ + doc/dirtable.ps \ + doc/folder05.gif \ + doc/newnmlcfg-Oct-1999.html \ + doc/nmlperf.cc \ + doc/simple_data_playback.cc \ + doc/posemathdoc/index.html \ + doc/posemathdoc/rcs.posemath.PM_CARTESIAN.html \ + doc/posemathdoc/rcs.posemath.PM_ROTATION_VECTOR.html \ + doc/posemathdoc/rcs.posemath.PmHomogeneous.html \ + doc/posemathdoc/rcs.posemath.PmPose.html \ + doc/posemathdoc/rcs.posemath.PmRotationMatrix.html \ + doc/posemathdoc/rcs.posemath.PmException.html \ + doc/posemathdoc/AllNames.html \ + doc/posemathdoc/rcs.posemath.PM_ROTATION_MATRIX.html \ + doc/posemathdoc/packages.html \ + doc/posemathdoc/rcs.posemath.PM_LINE.html \ + doc/posemathdoc/rcs.posemath.PM_CYLINDRICAL.html \ + doc/posemathdoc/rcs.posemath.PmCartesian.html \ + doc/posemathdoc/rcs.posemath.PM_POSE.html \ + doc/posemathdoc/rcs.posemath.PM_XYA.html \ + doc/posemathdoc/rcs.posemath.PmRotationVector.html \ + doc/posemathdoc/rcs.posemath.PmSpherical.html \ + doc/posemathdoc/rcs.posemath.Posemath.html \ + doc/posemathdoc/rcs.posemath.PmRpy.html \ + doc/posemathdoc/rcs.posemath.PM_EULER_ZYX.html \ + doc/posemathdoc/rcs.posemath.PmQuaternion.html \ + doc/posemathdoc/rcs.posemath.PmEulerZyz.html \ + doc/posemathdoc/PoseMathCpp.htm \ + doc/posemathdoc/rcs.posemath.PM_SPHERICAL.html \ + doc/posemathdoc/rcs.posemath.PM_CIRCLE.html \ + doc/posemathdoc/rcs.posemath.PM_RPY.html \ + doc/posemathdoc/rcs.posemath.PmCircle.html \ + doc/posemathdoc/rcs.posemath.PM_EULER_ZYZ.html \ + doc/posemathdoc/rcs.posemath.testpm.html \ + doc/posemathdoc/rcs.posemath.PM_QUATERNION.html \ + doc/posemathdoc/rcs.posemath.PmEulerZyx.html \ + doc/posemathdoc/rcs.posemath.PM_HOMOGENEOUS.html \ + doc/posemathdoc/tree.html \ + doc/posemathdoc/rcs.posemath.PmCylindrical.html \ + doc/posemathdoc/rcs.posemath.PmLine.html \ + doc/nml_ex10.cc \ + doc/nml_ex3.cc \ + doc/NML_Ada.html \ + doc/myconf.xsl \ + doc/pfr_ex.java \ + doc/nml_ex5.cc \ + doc/nml_test_format_bak.hh \ + doc/nml_module.html \ + doc/ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE \ + doc/ex_set.html \ + doc/roots.hh \ + doc/c++_ex2.cc \ + doc/make.gif \ + doc/Bullet5.gif \ + doc/nml_ex9.cc \ + doc/diag_graph.png \ + doc/nml_emc.html \ + doc/exStat_n_codegen_protos.hh \ + doc/timetype.hh \ + doc/utilex3.hh \ + doc/roots.cc \ + doc/myhosts \ + doc/nmlqr.html \ + doc/nml_test_read.cc \ + doc/nml_test_format_n.cc \ + doc/qC++toc.html \ + doc/folderop.gif \ + doc/perftype.hh \ + doc/vbar.gif \ + doc/fig1.gif \ + doc/l64notes.html \ + doc/diagicon.jpg \ + doc/nml_test_write.cc \ + doc/nmlperf.hh \ + doc/plotter.jnlp \ + doc/wtimer.cc \ + doc/design-codegen.gif \ + doc/utils.html \ + doc/mods.html \ + doc/diag_details_small.png \ + doc/NMLbuild3.png \ + doc/nml-tutorial.pdf \ + doc/dirtable.html \ + doc/javaintf.html \ + doc/plattable.html \ + doc/javadoc/index.html \ + doc/javadoc/allclasses-noframe.html \ + doc/javadoc/overview-frame.html \ + doc/javadoc/overview-summary.html \ + doc/javadoc/help-doc.html \ + doc/javadoc/rcs/utils/class-use/StrToLong.html \ + doc/javadoc/rcs/utils/class-use/StrToInt.html \ + doc/javadoc/rcs/utils/class-use/SimpleFileFilter.html \ + doc/javadoc/rcs/utils/class-use/StackTracePrinter.html \ + doc/javadoc/rcs/utils/class-use/CorrectedPipedInputStream.html \ + doc/javadoc/rcs/utils/class-use/rcs_states.html \ + doc/javadoc/rcs/utils/class-use/CorrectedPipedOutputStream.html \ + doc/javadoc/rcs/utils/class-use/jcrypt.html \ + doc/javadoc/rcs/utils/class-use/URL_and_FileLoader.html \ + doc/javadoc/rcs/utils/StrToLong.html \ + doc/javadoc/rcs/utils/package-summary.html \ + doc/javadoc/rcs/utils/package-use.html \ + doc/javadoc/rcs/utils/StrToInt.html \ + doc/javadoc/rcs/utils/SimpleFileFilter.html \ + doc/javadoc/rcs/utils/StackTracePrinter.html \ + doc/javadoc/rcs/utils/CorrectedPipedInputStream.html \ + doc/javadoc/rcs/utils/rcs_states.html \ + doc/javadoc/rcs/utils/CorrectedPipedOutputStream.html \ + doc/javadoc/rcs/utils/package-frame.html \ + doc/javadoc/rcs/utils/jcrypt.html \ + doc/javadoc/rcs/utils/package-tree.html \ + doc/javadoc/rcs/utils/URL_and_FileLoader.html \ + doc/javadoc/rcs/class-use/RCS_VERSION.html \ + doc/javadoc/rcs/RCS_VERSION.html \ + doc/javadoc/rcs/package-summary.html \ + doc/javadoc/rcs/package-use.html \ + doc/javadoc/rcs/posemath/PM_SPHERICAL.html \ + doc/javadoc/rcs/posemath/PM_EULER_ZYZ.html \ + doc/javadoc/rcs/posemath/class-use/PM_SPHERICAL.html \ + doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYZ.html \ + doc/javadoc/rcs/posemath/class-use/PM_HOMOGENEOUS.html \ + doc/javadoc/rcs/posemath/class-use/PmCartesian.html \ + doc/javadoc/rcs/posemath/class-use/PM_QUATERNION.html \ + doc/javadoc/rcs/posemath/class-use/PmSpherical.html \ + doc/javadoc/rcs/posemath/class-use/PM_LINE.html \ + doc/javadoc/rcs/posemath/class-use/PmCylindrical.html \ + doc/javadoc/rcs/posemath/class-use/PmEulerZyx.html \ + doc/javadoc/rcs/posemath/class-use/PmRotationMatrix.html \ + doc/javadoc/rcs/posemath/class-use/PM_ROTATION_MATRIX.html \ + doc/javadoc/rcs/posemath/class-use/PM_CIRCLE.html \ + doc/javadoc/rcs/posemath/class-use/PmEulerZyz.html \ + doc/javadoc/rcs/posemath/class-use/PmQuaternion.html \ + doc/javadoc/rcs/posemath/class-use/PM_CYLINDRICAL.html \ + doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYX.html \ + doc/javadoc/rcs/posemath/class-use/Posemath.html \ + doc/javadoc/rcs/posemath/class-use/PmRpy.html \ + doc/javadoc/rcs/posemath/class-use/PmCircle.html \ + doc/javadoc/rcs/posemath/class-use/PM_CARTESIAN.html \ + doc/javadoc/rcs/posemath/class-use/PmLine.html \ + doc/javadoc/rcs/posemath/class-use/PmException.html \ + doc/javadoc/rcs/posemath/class-use/PM_RPY.html \ + doc/javadoc/rcs/posemath/class-use/PmPose.html \ + doc/javadoc/rcs/posemath/class-use/PmRotationVector.html \ + doc/javadoc/rcs/posemath/class-use/PM_POSE.html \ + doc/javadoc/rcs/posemath/class-use/PM_XYA.html \ + doc/javadoc/rcs/posemath/class-use/PmHomogeneous.html \ + doc/javadoc/rcs/posemath/class-use/PM_ROTATION_VECTOR.html \ + doc/javadoc/rcs/posemath/PM_HOMOGENEOUS.html \ + doc/javadoc/rcs/posemath/PmCartesian.html \ + doc/javadoc/rcs/posemath/PM_QUATERNION.html \ + doc/javadoc/rcs/posemath/package-summary.html \ + doc/javadoc/rcs/posemath/PmSpherical.html \ + doc/javadoc/rcs/posemath/package-use.html \ + doc/javadoc/rcs/posemath/PM_LINE.html \ + doc/javadoc/rcs/posemath/PmCylindrical.html \ + doc/javadoc/rcs/posemath/PmEulerZyx.html \ + doc/javadoc/rcs/posemath/PmRotationMatrix.html \ + doc/javadoc/rcs/posemath/PM_ROTATION_MATRIX.html \ + doc/javadoc/rcs/posemath/PM_CIRCLE.html \ + doc/javadoc/rcs/posemath/PmEulerZyz.html \ + doc/javadoc/rcs/posemath/PmQuaternion.html \ + doc/javadoc/rcs/posemath/PM_CYLINDRICAL.html \ + doc/javadoc/rcs/posemath/PM_EULER_ZYX.html \ + doc/javadoc/rcs/posemath/Posemath.html \ + doc/javadoc/rcs/posemath/PmRpy.html \ + doc/javadoc/rcs/posemath/package-frame.html \ + doc/javadoc/rcs/posemath/PmCircle.html \ + doc/javadoc/rcs/posemath/PM_CARTESIAN.html \ + doc/javadoc/rcs/posemath/PmLine.html \ + doc/javadoc/rcs/posemath/PmException.html \ + doc/javadoc/rcs/posemath/PM_RPY.html \ + doc/javadoc/rcs/posemath/PmPose.html \ + doc/javadoc/rcs/posemath/PmRotationVector.html \ + doc/javadoc/rcs/posemath/PM_POSE.html \ + doc/javadoc/rcs/posemath/PM_XYA.html \ + doc/javadoc/rcs/posemath/PmHomogeneous.html \ + doc/javadoc/rcs/posemath/package-tree.html \ + doc/javadoc/rcs/posemath/PM_ROTATION_VECTOR.html \ + doc/javadoc/rcs/package-frame.html \ + doc/javadoc/rcs/nml/NMLFormatConvertErrCallbackInterface.html \ + doc/javadoc/rcs/nml/NMLConnectionCreatorInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConvertErrCallbackInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionCreatorInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLSingleVarLogItem.html \ + doc/javadoc/rcs/nml/class-use/PackedFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/PackedFileReader.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionInterface.html \ + doc/javadoc/rcs/nml/class-use/NML_DISPLAY.html \ + doc/javadoc/rcs/nml/class-use/NMLErrorAppender.html \ + doc/javadoc/rcs/nml/class-use/XMLFileReader.html \ + doc/javadoc/rcs/nml/class-use/CMS_TIME.html \ + doc/javadoc/rcs/nml/class-use/XMLFileWriter.html \ + doc/javadoc/rcs/nml/class-use/NMLSingleVarLog.html \ + doc/javadoc/rcs/nml/class-use/time_tracker.html \ + doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG_V2.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConverterBase.html \ + doc/javadoc/rcs/nml/class-use/NMLConfigInfo.html \ + doc/javadoc/rcs/nml/class-use/NMLmsg.html \ + doc/javadoc/rcs/nml/class-use/PackedFileWriter.html \ + doc/javadoc/rcs/nml/class-use/NMLBufferConfigInfo.html \ + doc/javadoc/rcs/nml/class-use/NMLConnection.html \ + doc/javadoc/rcs/nml/class-use/CMS_DATE.html \ + doc/javadoc/rcs/nml/class-use/XMLFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG.html \ + doc/javadoc/rcs/nml/class-use/NML_ENUM_INFO.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionCreator.html \ + doc/javadoc/rcs/nml/class-use/XDRFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/NML_ERROR.html \ + doc/javadoc/rcs/nml/class-use/NMLMessageDictionary.html \ + doc/javadoc/rcs/nml/class-use/NML_TEXT.html \ + doc/javadoc/rcs/nml/class-use/errlogMsgDict.html \ + doc/javadoc/rcs/nml/class-use/NMLException.html \ + doc/javadoc/rcs/nml/class-use/debugInfo.html \ + doc/javadoc/rcs/nml/class-use/RCS_CMD_MSG.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/LogTimeEntry.html \ + doc/javadoc/rcs/nml/class-use/MsgToTimeStamp.html \ + doc/javadoc/rcs/nml/NMLSingleVarLogItem.html \ + doc/javadoc/rcs/nml/package-summary.html \ + doc/javadoc/rcs/nml/PackedFormatConverter.html \ + doc/javadoc/rcs/nml/PackedFileReader.html \ + doc/javadoc/rcs/nml/package-use.html \ + doc/javadoc/rcs/nml/NMLConnectionInterface.html \ + doc/javadoc/rcs/nml/NML_DISPLAY.html \ + doc/javadoc/rcs/nml/NMLErrorAppender.html \ + doc/javadoc/rcs/nml/XMLFileReader.html \ + doc/javadoc/rcs/nml/CMS_TIME.html \ + doc/javadoc/rcs/nml/XMLFileWriter.html \ + doc/javadoc/rcs/nml/NMLSingleVarLog.html \ + doc/javadoc/rcs/nml/time_tracker.html \ + doc/javadoc/rcs/nml/RCS_STAT_MSG_V2.html \ + doc/javadoc/rcs/nml/NMLFormatConverterBase.html \ + doc/javadoc/rcs/nml/NMLConfigInfo.html \ + doc/javadoc/rcs/nml/NMLmsg.html \ + doc/javadoc/rcs/nml/PackedFileWriter.html \ + doc/javadoc/rcs/nml/NMLBufferConfigInfo.html \ + doc/javadoc/rcs/nml/NMLConnection.html \ + doc/javadoc/rcs/nml/CMS_DATE.html \ + doc/javadoc/rcs/nml/XMLFormatConverter.html \ + doc/javadoc/rcs/nml/package-frame.html \ + doc/javadoc/rcs/nml/RCS_STAT_MSG.html \ + doc/javadoc/rcs/nml/NML_ENUM_INFO.html \ + doc/javadoc/rcs/nml/NMLConnectionCreator.html \ + doc/javadoc/rcs/nml/XDRFormatConverter.html \ + doc/javadoc/rcs/nml/NML_ERROR.html \ + doc/javadoc/rcs/nml/NMLMessageDictionary.html \ + doc/javadoc/rcs/nml/NML_TEXT.html \ + doc/javadoc/rcs/nml/errlogMsgDict.html \ + doc/javadoc/rcs/nml/NMLException.html \ + doc/javadoc/rcs/nml/debugInfo.html \ + doc/javadoc/rcs/nml/package-tree.html \ + doc/javadoc/rcs/nml/RCS_CMD_MSG.html \ + doc/javadoc/rcs/nml/NMLFormatConverter.html \ + doc/javadoc/rcs/nml/MsgToTimeStamp.html \ + doc/javadoc/rcs/nml/LogTimeEntry.html \ + doc/javadoc/rcs/package-tree.html \ + doc/javadoc/constant-values.html \ + doc/javadoc/rcsdesign/class-use \ + doc/javadoc/rcsdesign/class-use/rcsDesign.html \ + doc/javadoc/rcsdesign/class-use/rcsDesignGui.html \ + doc/javadoc/rcsdesign/package-summary.html \ + doc/javadoc/rcsdesign/package-use.html \ + doc/javadoc/rcsdesign/rcsDesign.html \ + doc/javadoc/rcsdesign/package-frame.html \ + doc/javadoc/rcsdesign/rcsDesignGui.html \ + doc/javadoc/rcsdesign/package-tree.html \ + doc/javadoc/overview-tree.html \ + doc/javadoc/stylesheet.css \ + doc/javadoc/index-all.html \ + doc/javadoc/diagapplet/utils/DiagErrorAppendInterface.html \ + doc/javadoc/diagapplet/utils/class-use/DiagErrorAppendInterface.html \ + doc/javadoc/diagapplet/utils/class-use/JListFastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/ImageJFrame.html \ + doc/javadoc/diagapplet/utils/class-use/ImageJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/DiagError.html \ + doc/javadoc/diagapplet/utils/class-use/WatchJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/WatchVarEditor.html \ + doc/javadoc/diagapplet/utils/class-use/FastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/ModifiedFileDialog.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanelInterface.html \ + doc/javadoc/diagapplet/utils/class-use/StandAloneApplet.html \ + doc/javadoc/diagapplet/utils/class-use/FastListContainer.html \ + doc/javadoc/diagapplet/utils/class-use/FastListPanelInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URlLoadInfoFrame.html \ + doc/javadoc/diagapplet/utils/class-use/CountButtonInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanel.html \ + doc/javadoc/diagapplet/utils/class-use/CountButton.html \ + doc/javadoc/diagapplet/utils/class-use/SaveImage.BAYER_PATTERN.html \ + doc/javadoc/diagapplet/utils/class-use/FakeFastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/CountListInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/fullScreenJPanelClass.html \ + doc/javadoc/diagapplet/utils/class-use/SaveImage.html \ + doc/javadoc/diagapplet/utils/class-use/CountList.html \ + doc/javadoc/diagapplet/utils/JListFastListPanel.html \ + doc/javadoc/diagapplet/utils/ImageJFrame.html \ + doc/javadoc/diagapplet/utils/package-summary.html \ + doc/javadoc/diagapplet/utils/package-use.html \ + doc/javadoc/diagapplet/utils/ImageJPanel.html \ + doc/javadoc/diagapplet/utils/DiagError.html \ + doc/javadoc/diagapplet/utils/WatchJPanel.html \ + doc/javadoc/diagapplet/utils/WatchVarEditor.html \ + doc/javadoc/diagapplet/utils/FastListPanel.html \ + doc/javadoc/diagapplet/utils/ModifiedFileDialog.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoPanelInterface.html \ + doc/javadoc/diagapplet/utils/StandAloneApplet.html \ + doc/javadoc/diagapplet/utils/FastListContainer.html \ + doc/javadoc/diagapplet/utils/FastListPanelInterface.html \ + doc/javadoc/diagapplet/utils/URlLoadInfoFrame.html \ + doc/javadoc/diagapplet/utils/CountButtonInterface.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoPanel.html \ + doc/javadoc/diagapplet/utils/CountButton.html \ + doc/javadoc/diagapplet/utils/SaveImage.BAYER_PATTERN.html \ + doc/javadoc/diagapplet/utils/package-frame.html \ + doc/javadoc/diagapplet/utils/FakeFastListPanel.html \ + doc/javadoc/diagapplet/utils/CountListInterface.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoJPanel.html \ + doc/javadoc/diagapplet/utils/fullScreenJPanelClass.html \ + doc/javadoc/diagapplet/utils/SaveImage.html \ + doc/javadoc/diagapplet/utils/package-tree.html \ + doc/javadoc/diagapplet/utils/CountList.html \ + doc/javadoc/diagapplet/class-use \ + doc/javadoc/diagapplet/class-use/PainterInterface.html \ + doc/javadoc/diagapplet/class-use/auxBufferPreserve.html \ + doc/javadoc/diagapplet/class-use/plotSetPreserve.html \ + doc/javadoc/diagapplet/class-use/MessageFileJFrame.html \ + doc/javadoc/diagapplet/class-use/diag_NB_UI.html \ + doc/javadoc/diagapplet/class-use/HierarchyPanel.html \ + doc/javadoc/diagapplet/class-use/JPaintablePanel.html \ + doc/javadoc/diagapplet/class-use/diagPreserve.html \ + doc/javadoc/diagapplet/class-use/modulePreserve.html \ + doc/javadoc/diagapplet/class-use/plotTrackerPreserve.html \ + doc/javadoc/diagapplet/PainterInterface.html \ + doc/javadoc/diagapplet/package-summary.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.html \ + doc/javadoc/diagapplet/CodeGen/EnumTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCommon.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreatorInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/EnumTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommon.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ChannelInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/StructureTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/STI_TokenizerInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGen.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/LoadHierarchyUpdateInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/BufferInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/StringFuncs.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCmdLine.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreator.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfoInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDict.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ServerInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommonInterface.html \ + doc/javadoc/diagapplet/CodeGen/ChannelInfo.html \ + doc/javadoc/diagapplet/CodeGen/package-summary.html \ + doc/javadoc/diagapplet/CodeGen/StructureTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/STI_TokenizerInterface.html \ + doc/javadoc/diagapplet/CodeGen/package-use.html \ + doc/javadoc/diagapplet/CodeGen/ModuleInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGen.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictInterface.html \ + doc/javadoc/diagapplet/CodeGen/LoadHierarchyUpdateInterface.html \ + doc/javadoc/diagapplet/CodeGen/BufferInfo.html \ + doc/javadoc/diagapplet/CodeGen/package-frame.html \ + doc/javadoc/diagapplet/CodeGen/StringFuncs.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCmdLine.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreator.html \ + doc/javadoc/diagapplet/CodeGen/ModuleInfoInterface.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDict.html \ + doc/javadoc/diagapplet/CodeGen/package-tree.html \ + doc/javadoc/diagapplet/CodeGen/ServerInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCommonInterface.html \ + doc/javadoc/diagapplet/auxBufferPreserve.html \ + doc/javadoc/diagapplet/package-use.html \ + doc/javadoc/diagapplet/plotSetPreserve.html \ + doc/javadoc/diagapplet/MessageFileJFrame.html \ + doc/javadoc/diagapplet/diag_NB_UI.html \ + doc/javadoc/diagapplet/HierarchyPanel.html \ + doc/javadoc/diagapplet/package-frame.html \ + doc/javadoc/diagapplet/JPaintablePanel.html \ + doc/javadoc/diagapplet/plotter/class-use/PlotGraphJPanel.html \ + doc/javadoc/diagapplet/plotter/class-use/plotterJFrame.html \ + doc/javadoc/diagapplet/plotter/class-use/plotter_NB_UI.html \ + doc/javadoc/diagapplet/plotter/class-use/PlotData.html \ + doc/javadoc/diagapplet/plotter/class-use/StatsTextJFrame.html \ + doc/javadoc/diagapplet/plotter/package-summary.html \ + doc/javadoc/diagapplet/plotter/PlotGraphJPanel.html \ + doc/javadoc/diagapplet/plotter/package-use.html \ + doc/javadoc/diagapplet/plotter/plotterJFrame.html \ + doc/javadoc/diagapplet/plotter/plotter_NB_UI.html \ + doc/javadoc/diagapplet/plotter/package-frame.html \ + doc/javadoc/diagapplet/plotter/PlotData.html \ + doc/javadoc/diagapplet/plotter/StatsTextJFrame.html \ + doc/javadoc/diagapplet/plotter/package-tree.html \ + doc/javadoc/diagapplet/diagPreserve.html \ + doc/javadoc/diagapplet/modulePreserve.html \ + doc/javadoc/diagapplet/package-tree.html \ + doc/javadoc/diagapplet/plotTrackerPreserve.html \ + doc/javadoc/package-list \ + doc/javadoc/allclasses-frame.html \ + doc/javadoc/serialized-form.html \ + doc/javadoc/deprecated-list.html \ + doc/javadoc/resources \ + doc/javadoc/resources/inherit.gif \ + doc/utilstoc.html \ + doc/javadiag.html \ + doc/design-options.gif \ + doc/nml_ex1_v2.cc \ + doc/node.issue.log \ + doc/perfsvr.cc \ + doc/dirtable.noimages.ps \ + doc/myconf.xml \ + doc/cgtester.hh \ + doc/diag.jnlp \ + doc/pfw_ex.java \ + doc/foldercl.gif \ + doc/NMLcfg.html \ + doc/bugs.html \ + doc/future_mods.html \ + doc/appstrut.gif \ + doc/ex_packed_to_xml.cc \ + doc/nmlperf.rh \ + doc/myconf.xsd \ + doc/design-files.gif \ + doc/timetype.cc \ + doc/nmlsubdiv.html \ + doc/nmlset.html \ + doc/nml_ex1.hh \ + doc/newnmlcfgex.cfg \ + doc/EXAMPLE_MSG.java \ + doc/quickC++.html \ + doc/CodeGen-Instructions.html \ + doc/nml_ex4.cc \ + doc/ex_cfgD.nml \ + doc/diag_details.png \ + doc/more_for_option_1.c \ + doc/NML_XML.html \ + doc/exampleMsgDict.java \ + doc/newnmlcfg.html \ + doc/emc.ini \ + doc/references.html \ + doc/nml_ex8.cc \ + doc/design-hierarchy.1.gif \ + doc/nml_old_ex3.cc \ + doc/utilex1.cc \ + doc/netscape-myconf-xml.png \ + doc/EXAMPLE_MSG_TYPE_map_v2.csv \ + doc/message_files.html \ + doc/foldcl.gif \ + doc/www_list.html \ + doc/dirtable.noimages.html \ + doc/README.DOS \ + doc/nml_ex6.cc \ + doc/NMLcpp.html \ + doc/nmlbuild.html \ + doc/write_mem_map_v2.cc \ + doc/timesvr.cc \ + doc/utilex5u.cc \ + doc/newnmlcfgex.nml \ + doc/tools/Image9.gif \ + doc/tools/Image5.gif \ + doc/tools/rcs-tools-walk-through-pc-version.html \ + doc/tools/Image11.gif \ + doc/tools/Image3.gif \ + doc/tools/Image4.gif \ + doc/tools/Image7.gif \ + doc/tools/Image1.gif \ + doc/tools/Image2.gif \ + doc/tools/rcs-tools-walk-through-unix-version.html \ + doc/tools/Image6.gif \ + doc/tools/Image12.gif \ + doc/tools/Image10.gif \ + doc/tools/Image8.gif \ + doc/diag_hierarchy.png \ + doc/nml_ex1.cc \ + doc/nml_ex2.cc \ + doc/make2.gif \ + doc/dirtree.gif \ + doc/utilex3a.cc \ + doc/diag_hierarchy_small.png \ + doc/Makefiles.ps \ + doc/nml_test_server.cc \ + doc/sockintf.html \ + doc/CMSinternal.html \ + doc/examine_logged_data.cc \ + doc/perftype.cc \ + doc/nml_test_nmlset.cc \ + doc/NMLcfg-June-2004.html \ + doc/exStat_n.cc \ + doc/timingdiag.html \ + doc/simple_data_logger.cc \ + doc/for_option_1.c \ + doc/c++_ex1.cc \ + doc/nml_ex1_v2.hh \ + doc/nml_ex1_n.cc \ + doc/echo_types_n_codegen_protos.hh \ + etc/addnewline.sed \ + etc/attach_gdb.sh \ + etc/attach_screen.sh \ + etc/cc_to_cpp.sh \ + etc/check_core_files.sh \ + etc/check_testnml_extras.sh \ + etc/check_testnml_filemem.sh \ + etc/check_testnml_gdrs_im_packed.sh \ + etc/check_testnml_gdrs_im_xdr.sh \ + etc/check_testnml_locmem_tcp_packed.sh \ + etc/check_testnml_nmlcfgsvr.sh \ + etc/check_testnml_oemem.sh \ + etc/check_testnml_shmem.sh \ + etc/check_testnml_stcpdisp.sh \ + etc/check_testnml_stcpxml.sh \ + etc/check_testnml_tcppacked.sh \ + etc/check_testnml_tcpraw.sh \ + etc/check_testnml_tcpxdr.sh \ + etc/check_testnml_tcpxml.sh \ + etc/check_testnml_udppacked.sh \ + etc/check_testnml_udpxdr.sh \ + etc/check_testnml_globmem.sh \ + etc/clean \ + etc/CodeGen \ + etc/splitdebug.sh \ + etc/CodeGen.sh \ + etc/darwin_1_3.def \ + etc/darwin.def \ + etc/debug_core.sh \ + etc/execfile_from_core.sh \ + etc/set_version_number.sh \ + etc/determineplat.def \ + etc/diag_NB.sh \ + etc/plot.sh \ + etc/diagnostics \ + etc/diagnostics-J1.1 \ + etc/diagnostics-J1.2 \ + etc/exec_in_dir \ + etc/find_diag_NB_jar.sh \ + etc/find_plotter_NB_jar.sh \ + etc/findsources.sh \ + etc/FinishUp \ + etc/generic.def \ + etc/generic_gnuwin32.def \ + etc/getlibtool.sh \ + etc/havertai.sh \ + etc/havertlinux.sh \ + etc/ipc-clear \ + etc/ipc-clear.sh \ + etc/irix5.def \ + etc/irix6.3.def \ + etc/irix64.def \ + etc/IRIX_6_5.def \ + etc/irix6.def \ + etc/irix6_n32.def \ + etc/irix6_o32.def \ + etc/javabase.def \ + etc/java.def \ + etc/JavaSetup \ + etc/jdk_dir.sh \ + etc/jre_dir.sh \ + etc/kill_with_timeout.sh \ + etc/linux.def \ + etc/linuxdir \ + etc/linuxkerneldir \ + etc/linuxppc.def \ + etc/linux_rtai.def \ + etc/linux_rtl.def \ + etc/Makefile \ + etc/makePlatWin32.sh \ + etc/mingw32.def \ + etc/multiplatbuild.sh \ + etc/nmakegen.def \ + etc/platname \ + etc/qnx_6_00.def \ + etc/qnx_6_1.def \ + etc/RCS-Design \ + etc/README.TXT \ + etc/realplat.sh \ + etc/rebuildconfig.sh \ + etc/rtai.def \ + etc/rtaidir \ + etc/rtlinux_2_0.def \ + etc/rtlinux_2_2.def \ + etc/rtlinux_2_3.def \ + etc/rtlinux_3_0.def \ + etc/rtlinux_3_2.def \ + etc/rtlinux.def \ + etc/rtlinuxdir.sh \ + etc/run \ + etc/run_cmd_and_wait.sh \ + etc/run_make \ + etc/screen_x.sh \ + etc/sunos_5_6.def \ + etc/sunos5.6.def \ + etc/sunos_5_8.def \ + etc/sunos5.def \ + etc/sunos5nothreads.def \ + etc/svn_refresh.sh \ + etc/tcltkincflags.sh \ + etc/tcltklibflags.sh \ + etc/template.def \ + etc/test_extras.sh \ + etc/testnmlcfgsvr_internal.sh \ + etc/testnml_internal.sh \ + etc/testnml.sh \ + etc/vxworks68k5.4.def \ + etc/vxworksppc5.4.def \ + etc/vxworksppc6.2.def \ + etc/wait_for.sh \ + etc/first_screen.sh \ + etc/last_screen.sh \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcproj \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcproj \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.plg \ + etc/win_vc_2010_express/rcs/rcs.vcproj \ + etc/win_vc_2010_express/rcs/rcs_config.h \ + etc/win_vc_2010_express/rcs/rcs.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.plg \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.plg \ + etc/win_vc_2010_express/rcs/rcs.sln \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.plg \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj \ + etc/win_vc_2010_express/rcs/rcs.vcxproj.filters \ + examples/GNUmakefile \ + examples/nml_w_diag/ex1.cfg \ + examples/nml_w_diag/ex1.diag \ + examples/nml_w_diag/GNUmakefile \ + examples/nml_w_diag/nml_ex1.hh \ + examples/nml_w_diag/nml_ex1_j_read.java \ + examples/nml_w_diag/nml_ex1_j_write.java \ + examples/nml_w_diag/nml_ex1_read.cc \ + examples/nml_w_diag/nml_ex1_svr.cc \ + examples/nml_w_diag/nml_ex1_write.cc \ + examples/nml_w_diag/README.TXT \ + examples/rcs_single_dir/my_app_common_statusn.hh \ + examples/rcs_single_dir/my_app_common_statusn_n_codegen_protos.hh \ + examples/rcs_single_dir/bg.hh \ + examples/rcs_single_dir/bgmain.cc \ + examples/rcs_single_dir/bg_module.cc \ + examples/rcs_single_dir/bgn_c_n.c \ + examples/rcs_single_dir/bgn_c_n.h \ + examples/rcs_single_dir/bgn.hh \ + examples/rcs_single_dir/bgn_n_codegen_protos.hh \ + examples/rcs_single_dir/bgprimservosvr.cc \ + examples/rcs_single_dir/diag_script.bash \ + examples/rcs_single_dir/.ec \ + examples/rcs_single_dir/GNUmakefile \ + examples/rcs_single_dir/obstacle_mapn_c_n.c \ + examples/rcs_single_dir/obstacle_mapn_c_n.h \ + examples/rcs_single_dir/obstacle_mapn.hh \ + examples/rcs_single_dir/obstacle_mapn_n_codegen_protos.hh \ + examples/rcs_single_dir/offsets.hh \ + examples/rcs_single_dir/pose_datan_c_n.c \ + examples/rcs_single_dir/pose_datan_c_n.h \ + examples/rcs_single_dir/pose_datan.hh \ + examples/rcs_single_dir/pose_datan_n_codegen_protos.hh \ + examples/rcs_single_dir/prim.hh \ + examples/rcs_single_dir/primmain.cc \ + examples/rcs_single_dir/prim_module.cc \ + examples/rcs_single_dir/primn_c_n.c \ + examples/rcs_single_dir/primn_c_n.h \ + examples/rcs_single_dir/primn.hh \ + examples/rcs_single_dir/primn_n_codegen_protos.hh \ + examples/rcs_single_dir/rcs_single_dir.cfg \ + examples/rcs_single_dir/rcs_single_dirmain.cc \ + examples/rcs_single_dir/rcs_single_dir.nml \ + examples/rcs_single_dir/rcs_single_dir.nml.local \ + examples/rcs_single_dir/rcs_single_dirsvr.cc \ + examples/rcs_single_dir/robot_super.hh \ + examples/rcs_single_dir/robot_supermain.cc \ + examples/rcs_single_dir/robot_super_module.cc \ + examples/rcs_single_dir/robot_supern_c_n.c \ + examples/rcs_single_dir/robot_supern_c_n.h \ + examples/rcs_single_dir/robot_supern.hh \ + examples/rcs_single_dir/robot_supern_n_codegen_protos.hh \ + examples/rcs_single_dir/robot_supersvr.cc \ + examples/rcs_single_dir/run_and_wait.sh \ + examples/rcs_single_dir/run.rcs_single_dir \ + examples/rcs_single_dir/sensor_datan_c_n.c \ + examples/rcs_single_dir/sensor_datan_c_n.h \ + examples/rcs_single_dir/sensor_datan.hh \ + examples/rcs_single_dir/sensor_datan_n_codegen_protos.hh \ + examples/rcs_single_dir/servo_cmd_setn.hh \ + examples/rcs_single_dir/servo_cmd_setn_n_codegen_protos.hh \ + examples/rcs_single_dir/servo.hh \ + examples/rcs_single_dir/servomain.cc \ + examples/rcs_single_dir/servo_module.cc \ + examples/rcs_single_dir/servon_c_n.c \ + examples/rcs_single_dir/servon_c_n.h \ + examples/rcs_single_dir/servon.hh \ + examples/rcs_single_dir/servon_n_codegen_protos.hh \ + examples/rcs_single_dir/servo_stat_cfgn.hh \ + examples/rcs_single_dir/servo_stat_cfgn_n_codegen_protos.hh \ + examples/rcs_single_dir/sp.hh \ + examples/rcs_single_dir/spmain.cc \ + examples/rcs_single_dir/sp_module.cc \ + examples/rcs_single_dir/spn_c_n.c \ + examples/rcs_single_dir/spn_c_n.h \ + examples/rcs_single_dir/spn.hh \ + examples/rcs_single_dir/spn_n_codegen_protos.hh \ + examples/rcs_single_dir/spsvr.cc \ + examples/rcs_single_dir/wm.hh \ + examples/rcs_single_dir/wmmain.cc \ + examples/rcs_single_dir/wm_module.cc \ + examples/rcs_single_dir/wmn_c_n.c \ + examples/rcs_single_dir/wmn_c_n.h \ + examples/rcs_single_dir/wmn.hh \ + examples/rcs_single_dir/wmn_n_codegen_protos.hh \ + examples/rcs_single_dir/wmsvr.cc \ + examples/packed_file_display/LadarData.hh \ + examples/packed_file_display/show_file.sh \ + examples/packed_file_display/sicksafetyData.hh \ + examples/packed_file_display/sicksafety_000007.SAFETY_SICK_S3000_DATA \ + examples/packed_file_display/nmlOffsets.hh \ + examples/packed_file_display/sr2s_000003.LADAR_DATA \ + examples/udp_direct/mynmlread.cc \ + examples/udp_direct/udp_direct.cfg \ + examples/udp_direct/README.TXT \ + examples/udp_direct/mymsg.hh \ + examples/udp_direct/Makefile \ + examples/udp_direct/udpdirectwrite.c \ + examples/udp_direct/udpdirectread.c \ + examples/udp_direct/mynmlsvr.cc \ + examples/udp_direct/mynmlwrite.cc \ + icc_linux_custom_libtool \ + INSTALL \ + INSTALL.configure \ + install-sh \ + ltmain.sh \ + Makefile.am \ + Makefile.in \ + missing \ + mkinstalldirs \ + NetBeans/librcs_cxx/nbproject/Makefile-Default.mk \ + NetBeans/librcs_cxx/nbproject/configurations.xml \ + NetBeans/librcs_cxx/nbproject/project.properties \ + NetBeans/librcs_cxx/nbproject/Makefile-impl.mk \ + NetBeans/librcs_cxx/nbproject/project.xml \ + NetBeans/librcs_cxx/librcs_cxx-Makefile.mk \ + NetBeans/rcsjava/build.xml \ + NetBeans/rcsjava/manifest.mf \ + NetBeans/rcsjava/nbproject/build-impl.xml \ + NetBeans/rcsjava/nbproject/profiler-build-impl.xml \ + NetBeans/rcsjava/nbproject/project.xml \ + NetBeans/rcsjava/nbproject/genfiles.properties \ + NetBeans/rcsjava/nbproject/project.properties \ + NetBeans/rcsjava/nbproject/configs/codegen_cgtester.properties \ + NetBeans/rcsjava/nbproject/configs/diag_rcs_single_dir.properties \ + NetBeans/rcsjava/nbproject/configs/c_crada_repos.properties \ + NetBeans/rcsjava/nbproject/configs/plotter.properties \ + NetBeans/rcsjava/nbproject/configs/codegen_emc2.properties \ + NetBeans/rcsjava/nbproject/configs/diag_emc2.properties \ + NetBeans/rcsjava/nbproject/configs/imageframe.properties \ + NetBeans/rcsjava/nbproject/configs/tmpemc.properties \ + NetBeans/rcsjava/nbproject/configs/rfid.properties \ + NetBeans/rcsjava/nbproject/configs/codegenposemath.properties \ + NetBeans/Licenses/license-public_domain_nist_rcs.txt \ + NetBeans/Licenses/README.TXT \ + NEWS \ + rcs_config.h.in \ + rcslib-2006.August-1.spec \ + rcslib-2006.June-1.spec \ + README \ + skel/acinclude.m4 \ + skel/AUTHORS \ + skel/bin/Makefile.am \ + skel/bin/run \ + skel/build \ + skel/ChangeLog \ + skel/config/README \ + skel/configure.ac \ + skel/COPYING \ + skel/etc/Makefile.am \ + skel/etc/Makefile.local \ + skel/etc/skel.cfg \ + skel/etc/skel.ini \ + skel/etc/skel.nml \ + skel/.indent.pro \ + skel/INSTALL \ + skel/lib/Makefile.am \ + skel/Makefile.am \ + skel/Makefile.local \ + skel/NEWS \ + skel/README \ + skel/src/Makefile.am \ + skel/src/Makefile.local \ + skel/src/skel.cc \ + skel/src/skel.hh \ + skel/src/skelIntf.cc \ + skel/src/skelIntf.hh \ + skel/src/skelLog.cc \ + skel/src/skelNmlSvr.cc \ + skel/src/subIntf.cc \ + skel/src/subIntf.hh \ + skel/src/subMain.cc \ + skel/src/subShell.cc \ + skel/src/supIntf.cc \ + skel/src/supIntf.hh \ + skel/src/supMain.cc \ + skel/src/supShell.cc \ + src/ada/cms.adb \ + src/ada/cms.ads \ + src/ada/Makefile \ + src/ada/mynmlmsg.adb \ + src/ada/mynmlmsg.ads \ + src/ada/nml.adb \ + src/ada/nml.ads \ + src/ada/nml_msg.adb \ + src/ada/nml_msg.ads \ + src/ada/nmltest.adb \ + src/ada/nml_test_format_n_ada.adb \ + src/ada/nml_test_format_n_ada.ads \ + src/ada/nmltest_read_ada.adb \ + src/ada/nmltest_server_ada.adb \ + src/ada/nmltest_write_ada.adb \ + src/ada/nml_test_write_cpp.cc \ + src/ada/otherheader_n_ada.adb \ + src/ada/otherheader_n_ada.ads \ + src/ada/posemath_n_ada.adb \ + src/ada/posemath_n_ada.ads \ + src/ada/stat_msg_v2_n_ada.adb \ + src/ada/stat_msg_v2_n_ada.ads \ + src/ada/test_msg_.adb \ + src/ada/test_msg.adb \ + src/ada/test_msg_.ads \ + src/ada/test_msg.ads \ + src/ce_miss/Makefile \ + src/ce_miss/Makefile.lib \ + src/ce_miss/rcs_ce.h \ + src/cms/addressislocal.c \ + src/cms/autokey.c \ + src/cms/autokey.h \ + src/cms/bbd.c \ + src/cms/bbd.h \ + src/cms/bbdmem.cc \ + src/cms/bbdmem.hh \ + src/cms/bd_types.h \ + src/cms/bus_lock.c \ + src/cms/bus_lock.h \ + src/cms/cms_aup.cc \ + src/cms/cms_aup.hh \ + src/cms/cms.cc \ + src/cms/cms_cfg.cc \ + src/cms/cms_cfg.hh \ + src/cms/cms_cfg_no_config.h \ + src/cms/cms_clnt_info.hh \ + src/cms/cms_datetime.cc \ + src/cms/cms_datetime.hh \ + src/cms/cmsdiag.cc \ + src/cms/cmsdiag.hh \ + src/cms/cmsdiag_no_config.h \ + src/cms/cms_dup.cc \ + src/cms/cms_dup.hh \ + src/cms/cms_dup_no_config.h \ + src/cms/cms_enum_info.h \ + src/cms/cms.hh \ + src/cms/cms_in.cc \ + src/cms/cms_mrpq.cc \ + src/cms/cms_mrpq.hh \ + src/cms/cms_no_config.h \ + src/cms/cms_pm.cc \ + src/cms/cms_pup.cc \ + src/cms/cms_pup.hh \ + src/cms/cms_srv.cc \ + src/cms/cms_srv.hh \ + src/cms/cms_srv_no_config.h \ + src/cms/cmssvrp.cc \ + src/cms/cms_types.hh \ + src/cms/cms_up.cc \ + src/cms/cms_up.hh \ + src/cms/cms_user.hh \ + src/cms/cms_xml_up.cc \ + src/cms/cms_xml_up.hh \ + src/cms/cms_xup.cc \ + src/cms/cms_xup.hh \ + src/cms/cms_xup_no_config.h \ + src/cms/crypt2.cc \ + src/cms/crypt2.hh \ + src/cms/ctest.c \ + src/cms/dlgproc.h \ + src/cms/dma.c \ + src/cms/dma.h \ + src/cms/extxdrintf.c \ + src/cms/extxdrintf.h \ + src/cms/filemem.cc \ + src/cms/filemem.hh \ + src/cms/filemem_no_config.h \ + src/cms/gdrs_im_clnt.cc \ + src/cms/gdrs_im_clnt.hh \ + src/cms/gdrs_im_clnt_no_config.h \ + src/cms/gdrs_im_srv.cc \ + src/cms/gdrs_im_srv.hh \ + src/cms/gdrs_im_srv_no_config.h \ + src/cms/globmem.cc \ + src/cms/globmem.hh \ + src/cms/httpnml.cc \ + src/cms/httpnml.hh \ + src/cms/httpnml_no_config.h \ + src/cms/http_srv.cc \ + src/cms/http_srv.hh \ + src/cms/http_srv_no_config.h \ + src/cms/l64.h \ + src/cms/locmem.cc \ + src/cms/locmem.hh \ + src/cms/Makefile \ + src/cms/Makefile.lib \ + src/cms/memsem.cc \ + src/cms/memsem.hh \ + src/cms/msg2xdr.cc \ + src/cms/msghdr.h \ + src/cms/msghdr_no_config.h \ + src/cms/msg_to_encoded_data.cc \ + src/cms/msg_to_encoded_data.hh \ + src/cms/nmlbbdtest.cc \ + src/cms/nml.cc \ + src/cms/nml_c_data.hh \ + src/cms/nmlcfg.cc \ + src/cms/nmlcfgsvr.cc \ + src/cms/nmlcfgsvr_clntcalls.cc \ + src/cms/nmlcfgsvr_clntcalls.hh \ + src/cms/nmlcfgsvr_clntcalls_no_config.h \ + src/cms/nmlcfgsvr_no_config.h \ + src/cms/nml_packed_file_to_csv.cc \ + src/cms/nmlclean.cc \ + src/cms/nmlcms_c.cc \ + src/cms/nmlcms_c.h \ + src/cms/nmldiag.cc \ + src/cms/nmldiag.hh \ + src/cms/nml.hh \ + src/cms/nmlmacros.h \ + src/cms/nmlmsg.cc \ + src/cms/nmlmsg.hh \ + src/cms/nml_no_config.h \ + src/cms/nmlperf.cc \ + src/cms/nmlperf.hh \ + src/cms/nmlpwd.cc \ + src/cms/nmlqr.cc \ + src/cms/nmlqr.hh \ + src/cms/nmlset.cc \ + src/cms/nmlset.hh \ + src/cms/nmlsizes.cc \ + src/cms/nml_srv.cc \ + src/cms/nml_srv.hh \ + src/cms/nml_srv_no_config.h \ + src/cms/nmltest.cc \ + src/cms/nmlwatch.cc \ + src/cms/nmlwatch.h \ + src/cms/ntohhton.hh \ + src/cms/oedsto.cc \ + src/cms/oedsto.hh \ + src/cms/oemem.cc \ + src/cms/oemem.hh \ + src/cms/oemque.cc \ + src/cms/oemque.hh \ + src/cms/perfsvr.cc \ + src/cms/perftype.cc \ + src/cms/perftype.hh \ + src/cms/phantom.cc \ + src/cms/phantom.hh \ + src/cms/_physmem.c \ + src/cms/physmem.cc \ + src/cms/_physmem.h \ + src/cms/physmem.hh \ + src/cms/physmem_no_config.h \ + src/cms/posemath_c_n.c \ + src/cms/posemath_c_n.h \ + src/cms/readn.h \ + src/cms/recvline.c \ + src/cms/recvline.h \ + src/cms/recvline_no_config.h \ + src/cms/recvmsgt.c \ + src/cms/recvmsgt.h \ + src/cms/recvmsgt_no_config.h \ + src/cms/recvn.c \ + src/cms/recvn.h \ + src/cms/recvn_no_config.h \ + src/cms/rem_msg.hh \ + src/cms/rtai_kernel_api_implement.c \ + src/cms/rtai_user_api_implement.c \ + src/cms/rtlinux_kernel_api_implement.c \ + src/cms/rtlinux_user_api_implement.c \ + src/cms/rtlmb.c \ + src/cms/rtlmem.cc \ + src/cms/rtlmem.hh \ + src/cms/rtlnml.c \ + src/cms/rtlnml.h \ + src/cms/rtl_rtai_common_api.h \ + src/cms/rtlrtai_shm.h \ + src/cms/sendline.c \ + src/cms/sendline.h \ + src/cms/sendmsgt.c \ + src/cms/sendmsgt.h \ + src/cms/sendmsgt_no_config.h \ + src/cms/sendn.c \ + src/cms/sendn.h \ + src/cms/sendn_no_config.h \ + src/cms/shmem.cc \ + src/cms/shmem.hh \ + src/cms/shmem_no_config.h \ + src/cms/sockdefs.h \ + src/cms/sokintrf.c \ + src/cms/sokintrf.h \ + src/cms/sokintrf_no_config.h \ + src/cms/spinlock.c \ + src/cms/spinlock.h \ + src/cms/spinlock.s \ + src/cms/stcpmem.cc \ + src/cms/stcpmem.hh \ + src/cms/stcpmem_no_config.h \ + src/cms/stcpopts.cc \ + src/cms/stcpopts.hh \ + src/cms/stcpopts_no_config.h \ + src/cms/stcpsvr.cc \ + src/cms/stcpsvr.hh \ + src/cms/stcpsvr_no_config.h \ + src/cms/tcpmem.cc \ + src/cms/tcpmem.hh \ + src/cms/tcpmem_no_config.h \ + src/cms/tcp_opts.cc \ + src/cms/tcp_opts.hh \ + src/cms/tcpopts_no_config.h \ + src/cms/tcpproxy.cc \ + src/cms/tcpproxy_no_config.h \ + src/cms/tcp_srv.cc \ + src/cms/tcp_srv.hh \ + src/cms/tcp_srv_no_config.h \ + src/cms/ttyintf.c \ + src/cms/ttyintf.h \ + src/cms/ttyintf_no_config.h \ + src/cms/ttymem.cc \ + src/cms/ttymem.hh \ + src/cms/tty_srv.cc \ + src/cms/tty_srv.hh \ + src/cms/tty_srv_no_config.h \ + src/cms/ttytest.c \ + src/cms/udpmem.cc \ + src/cms/udpmem.hh \ + src/cms/udpmem_ipv6_broken \ + src/cms/udpmem_no_config.h \ + src/cms/udp_opts.cc \ + src/cms/udp_opts.hh \ + src/cms/udp_opts_no_config.h \ + src/cms/udp_srv.cc \ + src/cms/udp_srv.hh \ + src/cms/udp_srv_no_config.h \ + src/cms/udp_svr_ipv6_broken \ + src/java/build_CodeGenCmdLine_jar.sh \ + src/java/build_diag_NB_jar.sh \ + src/java/build_jars.sh \ + src/java/buildme.sh \ + src/java/build_plotter_jar.sh \ + src/java/build_plotter_NB_jar.sh \ + src/java/build_image_viewer_jar.sh \ + src/java/build_rcsDesign_jar.sh \ + src/java/build_rcs_jar.sh \ + src/java/build_pvjscript_jar.sh \ + src/java/CodeGenCmdLine_sources.txt \ + src/java/pvjscript_sources.txt \ + src/java/plotter_sources.txt \ + src/java/diagapplet/utils/URlLoadInfoFrame.java \ + src/java/diagapplet/utils/URlLoadInfoFrame.form \ + src/java/diagapplet/utils/URLLoadInfoJPanel.java \ + src/java/diagapplet/utils/URLLoadInfoJPanel.form \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/utils/DiagErrorAppendInterface.java \ + src/java/diagapplet/utils/DiagError.java \ + src/java/diagapplet/buildme.sh \ + src/java/diagapplet/CodeDisplayPanel.java \ + src/java/diagapplet/CodeGen/Ada_Generator.java \ + src/java/diagapplet/CodeGen/BufferInfo.java \ + src/java/diagapplet/CodeGen/buildme.sh \ + src/java/diagapplet/CodeGen/C_Generator.java \ + src/java/diagapplet/CodeGen/ChannelInfo.java \ + src/java/diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCmdLineJarInfo.txt \ + src/java/diagapplet/CodeGen/CodeGenCmdLine.java \ + src/java/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface2.java \ + src/java/diagapplet/CodeGen/CodeGenCommon.java \ + src/java/diagapplet/CodeGen/CodeGenFrame.java \ + src/java/diagapplet/CodeGen/CodeGenJarInfo.txt \ + src/java/diagapplet/CodeGen/CodeGen.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + src/java/diagapplet/CodeGen/DefinedValue.java \ + src/java/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDict.java \ + src/java/diagapplet/CodeGen/DiagNMLmsg.java \ + src/java/diagapplet/CodeGen/EnumTypeInfo.java \ + src/java/diagapplet/CodeGen/gcj_build_nmlcodegen.sh \ + src/java/diagapplet/CodeGen/info_array_elem_info.java \ + src/java/diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + src/java/diagapplet/CodeGen/Makefile \ + src/java/diagapplet/CodeGen/Makefile.old \ + src/java/diagapplet/CodeGen/ModuleInfoInterface.java \ + src/java/diagapplet/CodeGen/ModuleInfo.java \ + src/java/diagapplet/CodeGen/ServerInfo.java \ + src/java/diagapplet/CodeGen/SplitInfoToken.java \ + src/java/diagapplet/CodeGen/STI_TokenizerInterface.java \ + src/java/diagapplet/CodeGen/STI_Tokenizer.java \ + src/java/diagapplet/CodeGen/StringFuncs.java \ + src/java/diagapplet/CodeGen/StructureList.java \ + src/java/diagapplet/CodeGen/StructureTypeInfo.java \ + src/java/diagapplet/diagappletFrame.java \ + src/java/diagapplet/diagappletJarInfo.txt \ + src/java/diagapplet/diagappletJFrame.java \ + src/java/diagapplet/diag_common.java \ + src/java/diagapplet/diagicon.png \ + src/java/diagapplet/diag_NBJarInfo.txt \ + src/java/diagapplet/diag_NB_UI.form \ + src/java/diagapplet/diag_NB_UI.java \ + src/java/diagapplet/MessageFileJFrame.form \ + src/java/diagapplet/MessageFileJFrame.java \ + src/java/diagapplet/diagPreserve.java \ + src/java/diagapplet/diag_sources.mak \ + src/java/diagapplet/diag_update_interface.java \ + src/java/diagapplet/HierarchyDraw.java \ + src/java/diagapplet/HierarchyLoad_NB_UI.form \ + src/java/diagapplet/HierarchyLoad_NB_UI.java \ + src/java/diagapplet/HierarchyPanel.java \ + src/java/diagapplet/jdiagJarInfo.txt \ + src/java/diagapplet/JPaintablePanel.java \ + src/java/diagapplet/Makefile \ + src/java/diagapplet/Makefile.old \ + src/java/diagapplet/modulePreserve.java \ + src/java/diagapplet/auxBufferPreserve.java \ + src/java/diagapplet/PainterInterface.java \ + src/java/diagapplet/plotSetPreserve.java \ + src/java/diagapplet/plotter/buildme.sh \ + src/java/diagapplet/plotter/ColorEditor.java \ + src/java/diagapplet/plotter/ColorRenderer.java \ + src/java/diagapplet/plotter/Makefile \ + src/java/diagapplet/plotter/Makefile.old \ + src/java/diagapplet/plotter/plottericon.jpg \ + src/java/diagapplet/plotter/plottericon.png \ + src/java/diagapplet/plotter/Pause16.gif \ + src/java/diagapplet/plotter/Pause24.gif \ + src/java/diagapplet/plotter/PlotData.java \ + src/java/diagapplet/plotter/PlotGraphJPanel.java \ + src/java/diagapplet/plotter/PlotGraphScreenMap.java \ + src/java/diagapplet/plotter/PlotLoader.java \ + src/java/diagapplet/plotter/PlotPoint.java \ + src/java/diagapplet/plotter/PlotterCommon.java \ + src/java/diagapplet/plotter/plotterJarInfo.txt \ + src/java/diagapplet/plotter/plotterJFrame.form \ + src/java/diagapplet/plotter/plotterJFrame.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.java \ + src/java/diagapplet/plotter/ParseOptions.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.form \ + src/java/diagapplet/plotter/StatsTextJFrame.java \ + src/java/diagapplet/plotter/StatsTextJFrame.form \ + src/java/diagapplet/plotter/plotter_NBJarInfo.txt \ + src/java/diagapplet/plotter/plotter_NB_UI.form \ + src/java/diagapplet/plotter/plotter_NB_UI.java \ + src/java/diagapplet/plotter/Zoom16.gif \ + src/java/diagapplet/plotter/Zoom24.gif \ + src/java/diagapplet/plotter/ZoomIn16.gif \ + src/java/diagapplet/plotter/ZoomIn24.gif \ + src/java/diagapplet/plotter/ZoomOut16.gif \ + src/java/diagapplet/plotter/ZoomOut24.gif \ + src/java/diagapplet/PlotTracker.java \ + src/java/diagapplet/plotTrackerPreserve.java \ + src/java/diagapplet/rcs_diag_sources.mak \ + src/java/diagapplet/update_diag_sources.sh \ + src/java/diagapplet/update_rcs_diag_sources.sh \ + src/java/diagapplet/utils/buildme.sh \ + src/java/diagapplet/utils/image_viewerJarInfo.txt \ + src/java/diagapplet/utils/CountButtonInterface.java \ + src/java/diagapplet/utils/CountButton.java \ + src/java/diagapplet/utils/CountListInterface.java \ + src/java/diagapplet/utils/CountList.java \ + src/java/diagapplet/utils/FakeFastListPanel.java \ + src/java/diagapplet/utils/FastListContainer.java \ + src/java/diagapplet/utils/FastListPanelInterface.java \ + src/java/diagapplet/utils/FastListPanelItem.java \ + src/java/diagapplet/utils/FastListPanel.java \ + src/java/diagapplet/utils/ImageJFrame.form \ + src/java/diagapplet/utils/ImageJFrame.java \ + src/java/diagapplet/utils/ImageJPanel.form \ + src/java/diagapplet/utils/ImageJPanel.java \ + src/java/diagapplet/utils/SaveImage.java \ + src/java/diagapplet/utils/fullScreenJPanelClass.java \ + src/java/diagapplet/utils/ImagePainter.java \ + src/java/diagapplet/utils/JListFastListPanel.java \ + src/java/diagapplet/utils/Makefile \ + src/java/diagapplet/utils/Makefile.old \ + src/java/diagapplet/utils/ModifiedFileDialog.java \ + src/java/diagapplet/utils/StandAloneApplet.java \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/utils/URLLoadInfoPanel.java \ + src/java/diagapplet/utils/WatchJPanel.form \ + src/java/diagapplet/utils/WatchJPanel.java \ + src/java/diagapplet/utils/WatchTableModel.java \ + src/java/diagapplet/utils/WatchVarEditor.java \ + src/java/diagapplet/utils/WatchVar.java \ + src/java/diag_NB_sources.txt \ + src/java/Makefile \ + src/java/Makefile.old \ + src/java/plotter_NB_sources.txt \ + src/java/image_viewer_sources.txt \ + src/java/rcs/buildme.sh \ + src/java/rcsdesign/AlertDialog.java \ + src/java/rcsdesign/AlphabetizedList.java \ + src/java/rcsdesign/AutoSizedTextArea.java \ + src/java/rcsdesign/FileTypeInfo.java \ + src/java/rcsdesign/InnerAppletRepainter.java \ + src/java/rcsdesign/ListElement.java \ + src/java/rcsdesign/Makefile \ + src/java/rcsdesign/Makefile.old \ + src/java/rcsdesign/MakeFileRunner.java \ + src/java/rcsdesign/Merger.java \ + src/java/rcsdesign/QueryDialog.java \ + src/java/rcsdesign/QueryStringDialog.java \ + src/java/rcsdesign/rcsdesignFrame.java \ + src/java/rcsdesign/rcsDesignGui.java \ + src/java/rcsdesign/rcsDesignJarInfo.txt \ + src/java/rcsdesign/rcsDesign.java \ + src/java/rcsdesign/rcsdesignMainLoopInfo.java \ + src/java/rcsdesign/rcsdesignModuleInfo.java \ + src/java/rcsdesign/rcsDesignUserAbortException.java \ + src/java/rcsdesign/rcsDesignWriterInfo.java \ + src/java/rcsdesign/rcsDesignWriter.java \ + src/java/rcsDesign_sources.txt \ + src/java/rcs/Makefile \ + src/java/rcs/Makefile.old \ + src/java/rcs/nml/buildme.sh \ + src/java/rcs/nml/CMS_DATE.java \ + src/java/rcs/nml/CMS_TIME.java \ + src/java/rcs/nml/debugInfo.java \ + src/java/rcs/nml/DISPFormatConverter.java \ + src/java/rcs/nml/errlogMsgDict.java \ + src/java/rcs/nml/Makefile \ + src/java/rcs/nml/Makefile.old \ + src/java/rcs/nml/PackedFileReader.java \ + src/java/rcs/nml/PackedFileWriter.java \ + src/java/rcs/nml/XMLFileReader.java \ + src/java/rcs/nml/XMLFileWriter.java \ + src/java/rcs/nml/NMLBufferConfigInfo.java \ + src/java/rcs/nml/NMLConfigInfo.java \ + src/java/rcs/nml/NMLConnectionCreatorInterface.java \ + src/java/rcs/nml/NMLConnectionCreator.java \ + src/java/rcs/nml/NMLConnectionInterface.java \ + src/java/rcs/nml/NMLConnection.java \ + src/java/rcs/nml/LogTimeEntry.java \ + src/java/rcs/nml/MsgToTimeStamp.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NML_DISPLAY.java \ + src/java/rcs/nml/NML_ENUM_INFO.java \ + src/java/rcs/nml/NML_ERROR.java \ + src/java/rcs/nml/NMLException.java \ + src/java/rcs/nml/NMLFormatConverterBase.java \ + src/java/rcs/nml/NMLFormatConverter.java \ + src/java/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + src/java/rcs/nml/NMLMessageDictionary.java \ + src/java/rcs/nml/NMLmsg.java \ + src/java/rcs/nml/nmlperf.java \ + src/java/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + src/java/rcs/nml/NMLSingleVarLogItem.java \ + src/java/rcs/nml/NMLSingleVarLog.java \ + src/java/rcs/nml/NML_TEXT.java \ + src/java/rcs/nml/NonBlockingDatagramSocket.java \ + src/java/rcs/nml/PackedFormatConverter.java \ + src/java/rcs/nml/perftypeMsgDict.java \ + src/java/rcs/nml/RCS_CMD_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG_V2.java \ + src/java/rcs/nml/time_tracker.java \ + src/java/rcs/nml/XDRFormatConverter.java \ + src/java/rcs/nml/XMLFormatConverter.java \ + src/java/rcs/posemath/buildme.sh \ + src/java/rcs/posemath/Makefile \ + src/java/rcs/posemath/Makefile.old \ + src/java/rcs/posemath/PmCartesian.java \ + src/java/rcs/posemath/PM_CARTESIAN.java \ + src/java/rcs/posemath/PmCircle.java \ + src/java/rcs/posemath/PM_CIRCLE.java \ + src/java/rcs/posemath/PmCylindrical.java \ + src/java/rcs/posemath/PM_CYLINDRICAL.java \ + src/java/rcs/posemath/PmEulerZyx.java \ + src/java/rcs/posemath/PM_EULER_ZYX.java \ + src/java/rcs/posemath/PmEulerZyz.java \ + src/java/rcs/posemath/PM_EULER_ZYZ.java \ + src/java/rcs/posemath/PmException.java \ + src/java/rcs/posemath/PmHomogeneous.java \ + src/java/rcs/posemath/PM_HOMOGENEOUS.java \ + src/java/rcs/posemath/PmLine.java \ + src/java/rcs/posemath/PM_LINE.java \ + src/java/rcs/posemath/PmPose.java \ + src/java/rcs/posemath/PM_POSE.java \ + src/java/rcs/posemath/PM_XYA.java \ + src/java/rcs/posemath/PmQuaternion.java \ + src/java/rcs/posemath/PM_QUATERNION.java \ + src/java/rcs/posemath/PmRotationMatrix.java \ + src/java/rcs/posemath/PM_ROTATION_MATRIX.java \ + src/java/rcs/posemath/PmRotationVector.java \ + src/java/rcs/posemath/PM_ROTATION_VECTOR.java \ + src/java/rcs/posemath/PmRpy.java \ + src/java/rcs/posemath/PM_RPY.java \ + src/java/rcs/posemath/PmSpherical.java \ + src/java/rcs/posemath/PM_SPHERICAL.java \ + src/java/rcs/posemath/Posemath.java \ + src/java/rcs/posemath/testpm.java \ + src/java/rcs/rcsJarInfo.txt \ + src/java/rcs/RCS_VERSION.java \ + src/java/rcs/RCS_VERSION.java.perm \ + src/java/rcs_sources.txt \ + src/java/rcs/update_ver \ + src/java/rcs/utils/buildme.sh \ + src/java/rcs/utils/CorrectedPipeData.java \ + src/java/rcs/utils/CorrectedPipedInputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedInputStream.java \ + src/java/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedOutputStream.java \ + src/java/rcs/utils/jcrypt.java \ + src/java/rcs/utils/Makefile \ + src/java/rcs/utils/Makefile.old \ + src/java/rcs/utils/SimpleFileFilter.java \ + src/java/rcs/utils/StrToInt.java \ + src/java/rcs/utils/StrToLong.java \ + src/java/rcs/utils/URL_and_FileLoader.java \ + src/java/rcs/utils/rcs_states.java \ + src/java/rcs/utils/StackTracePrinter.java \ + src/java/pvjscript/Main.java \ + src/java/pvjscript/ProcessView.java \ + src/java/pvjscript/pvjscriptJarInfo.txt \ + src/Makefile \ + src/Makefile.rcs \ + src/Makefile.rcs.local \ + src/node/cmd_msg.cc \ + src/node/cmd_msg.hh \ + src/node/Makefile \ + src/node/Makefile.lib \ + src/node/nml_mod.cc \ + src/node/nml_mod.hh \ + src/node/nml_mod_no_config.h \ + src/node/nml_oi.cc \ + src/node/nml_oi.hh \ + src/node/node_srv.hh \ + src/node/stat_msg.cc \ + src/node/stat_msg.hh \ + src/node/stat_msg_v2_c_n.c \ + src/node/stat_msg_v2_c_n.h \ + src/node/stat_msg_v2.hh \ + src/node/stat_msg_v2_n.cc \ + src/node/stat_msg_v2_n_codegen_protos.hh \ + src/node/stat_v2.gen \ + src/node/timetracker.cc \ + src/node/timetracker_c_n.c \ + src/node/timetracker_c_n.h \ + src/node/timetracker.gen \ + src/node/timetracker.hh \ + src/node/timetracker_n.cc \ + src/node/timetracker_n_codegen_protos.hh \ + src/node/wm_msg.cc \ + src/node/wm_msg.hh \ + src/nt_xdr/bcopy.c \ + src/nt_xdr/bcopy.h \ + src/nt_xdr/Makefile \ + src/nt_xdr/Makefile.lib \ + src/nt_xdr/xdr_arra.c \ + src/nt_xdr/xdr.c \ + src/nt_xdr/xdr_floa.c \ + src/nt_xdr/xdr.h \ + src/nt_xdr/xdr_mem.c \ + src/nt_xdr/xdr_mem_no_config.h \ + src/nt_xdr/xdr_rec.c \ + src/nt_xdr/xdr_rec_no_config.h \ + src/nt_xdr/xdr_refe.c \ + src/nt_xdr/xdr_stdi.c \ + src/nt_xdr/xdrtypes.h \ + src/os_intf/dbg_mem.cc \ + src/os_intf/dbg_mem.h \ + src/os_intf/fileops.c \ + src/os_intf/fileops.h \ + src/os_intf/gtimer.cc \ + src/os_intf/gtimer.hh \ + src/os_intf/_gtimer.s \ + src/os_intf/inetfile.cc \ + src/os_intf/inetfile.hh \ + src/os_intf/inetfile_no_config.h \ + src/os_intf/inetnull.cc \ + src/os_intf/inettest.c \ + src/os_intf/_inifile.c \ + src/os_intf/inifile.cc \ + src/os_intf/inifile.h \ + src/os_intf/inifile_test.cc \ + src/os_intf/Makefile \ + src/os_intf/Makefile.lib \ + src/os_intf/posix_sem_unlink.c \ + src/os_intf/posix_shm_unlink.c \ + src/os_intf/rcs_exit.cc \ + src/os_intf/rcs_exit.hh \ + src/os_intf/rcs_mnmxtotal.hh \ + src/os_intf/_sem.c \ + src/os_intf/sem.cc \ + src/os_intf/_sem.h \ + src/os_intf/sem.hh \ + src/os_intf/_shm.c \ + src/os_intf/shm.cc \ + src/os_intf/_shm.h \ + src/os_intf/shm.hh \ + src/os_intf/_shm_no_config.h \ + src/os_intf/shm_no_config.h \ + src/os_intf/_table.c \ + src/os_intf/table.cc \ + src/os_intf/_table.h \ + src/os_intf/table.hh \ + src/os_intf/tesleep.cc \ + src/os_intf/test.ini \ + src/os_intf/testsem.cc \ + src/os_intf/testshm.cc \ + src/os_intf/_timer.c \ + src/os_intf/timer.cc \ + src/os_intf/_timer.h \ + src/os_intf/timer.hh \ + src/os_intf/_timer_no_config.h \ + src/os_intf/timer_no_config.h \ + src/os_intf/timetest.cc \ + src/os_intf/ttytest.cc \ + src/os_intf/unix_sem.c \ + src/os_intf/unix_sem_no_config.h \ + src/os_intf/vxnewdel.cc \ + src/os_intf/vxworks_sem.c \ + src/os_intf/win32_sem.c \ + src/os_intf/winver.cc \ + src/posemath/circutil.c \ + src/posemath/Makefile \ + src/posemath/Makefile.lib \ + src/posemath/_mathprnt.c \ + src/posemath/mathprnt.cc \ + src/posemath/mathprnt.h \ + src/posemath/matrpy_test.cc \ + src/posemath/_posemath.c \ + src/posemath/posemath.cc \ + src/posemath/posemath.h \ + src/posemath/sincos.c \ + src/posemath/sincos.h \ + src/posemath/testcirc.c \ + src/posemath/testpmc.c \ + src/posemath/testpmcpp.cc \ + src/print/Makefile \ + src/print/Makefile.lib \ + src/print/printest.cc \ + src/print/rcs_prnt.cc \ + src/print/rcs_prnt.hh \ + src/print/rcs_prnt_no_config.h \ + src/print/sepwords.cc \ + src/print/win_prnt.cc \ + src/print/win_prnt.hh \ + src/rcs_config_include.h \ + src/rcs_config_win.h \ + src/rcs_defs.hh \ + src/rcs.hh \ + src/rcs_svn_vers.hh \ + src/rcsvers.c \ + src/rcsvers.hh \ + src/rcsvers_pre_subst.hh \ + src/rcsvers_temp1.hh \ + src/rcsvers_temp2.hh \ + src/rcsvers_temp3.hh \ + src/stg_clss/linklist.cc \ + src/stg_clss/linklist.hh \ + src/stg_clss/linklist_no_config.h \ + src/stg_clss/Makefile \ + src/stg_clss/Makefile.lib \ + src/test/test_memory_format.cc \ + src/test/clock.hh \ + src/test/clock_n.cc \ + src/test/clock.xml \ + src/test/clock.nml \ + src/test/cgtester.gen \ + src/test/cgtester.hh \ + src/test/cgtester_n.cc \ + src/test/cgtester_n_codegen_protos.hh \ + src/test/cgtest.nml \ + src/test/cgtest.sh \ + src/test/config.dat \ + src/test/dltest.diag \ + src/test/dltest.nml \ + src/test/dltest_oe.nml \ + src/test/echo_types.hh \ + src/test/httpnml_test.cc \ + src/test/myconf.h \ + src/test/myconf_n.cc \ + src/test/myconf.xml \ + src/test/readconf.cc \ + src/test/writeconf.cc \ + src/test/repeat_test.bash \ + src/test/uba_tests/nml_unbounded_test_msg.hh \ + src/test/xml_timeserver.cc \ + src/test/nml_ex3.java \ + src/test/nml_ex4.java \ + src/test/ex_cfg.nml \ + src/test/extra_tests.sh \ + src/test/test_qr.sh \ + src/test/jtestxml.sh \ + src/test/uba_tests/Makefile \ + src/test/uba_tests/nml_unbounded_array_test_msg_n.cc \ + src/test/uba_tests/nml_unbounded_array_test_read.cc \ + src/test/uba_tests/nml_unbounded_array_test_svr.cc \ + src/test/uba_tests/nml_unbounded_array_test_write.cc \ + src/test/uba_tests/nml_unbounded_array_test_msg.hh \ + src/test/uba_tests/nml_unbounded_array_test_msg_n_codegen_protos.hh \ + src/test/uba_tests/ub.cfg \ + src/test/uba_tests/ub.nml \ + src/test/Makefile \ + src/test/Makefile.extra_tests \ + src/test/Makefile.old_tests \ + src/test/Makefile.vx_tests \ + src/test/mingw_testxml.sh \ + src/test/nml_ex1.gen \ + src/test/nml_ex1.hh \ + src/test/nml_ex1_n.cc \ + src/test/nml_test_print.cc \ + src/test/nml_ex1_n_codegen_protos.hh \ + src/test/nml_ex1.cc \ + src/test/nml_ex2.cc \ + src/test/nml_ex3.cc \ + src/test/nml_ex4.cc \ + src/test/nml_ex5.cc \ + src/test/nml_ex6.cc \ + src/test/nml_ex8.cc \ + src/test/nml_ex9.cc \ + src/test/nml_ex10.cc \ + src/test/xmlout.cc \ + src/test/xmlschemaout.cc \ + src/test/cgtestwrite.cc \ + src/test/cgtestsvr2.cc \ + src/test/cgtestwriteifread.cc \ + src/test/cgtestread.cc \ + src/test/cgtestsvr1.cc \ + src/test/bReader.cc \ + src/test/bWriter.cc \ + src/test/bServer.cc \ + src/test/old_xmlout.xml \ + src/test/old_xmlschemaout.xsd \ + src/test/nml_get_diag.cc \ + src/test/nml_get_type.cc \ + src/test/nml_check_if_read.cc \ + src/test/nml_peek_errlog.cc \ + src/test/nml_read_errlog.cc \ + src/test/nml_test_bitwise_op_read.cc \ + src/test/nml_test_bitwise_op_write.cc \ + src/test/nml_test_blocking_read.cc \ + src/test/nmltestblockingread.cc \ + src/test/nml_test_clear.cc \ + src/test/nml_test_dl_read_ada.adb \ + src/test/nml_test_dl_read.cc \ + src/test/nml_test_dl_read_packed_file.cc \ + src/test/nml_test_dl_write_ada.adb \ + src/test/nml_test_dl_write.cc \ + src/test/nml_test_dl_write_packed_file.cc \ + src/test/nml_test_format_c_n.c \ + src/test/nml_test_format_c_n.h \ + src/test/nml_test_format.hh \ + src/test/nml_test_unbounded_format.hh \ + src/test/nml_test_unbounded_format_n.cc \ + src/test/check_test_unbounded_msg.hh \ + src/test/check_test_unbounded_msg.cc \ + src/test/nml_test_format_n.cc \ + src/test/nml_test_format_n_codegen_protos.hh \ + src/test/nml_test_unbounded_format_n_codegen_protos.hh \ + src/test/nml_test_get_is_clear.cc \ + src/test/nml_test_get_msg_count.cc \ + src/test/nml_test_get_msg_type.cc \ + src/test/nml_test_get_queue_length.cc \ + src/test/nml_test_get_space_available.cc \ + src/test/etime_print.cc \ + src/test/nml_test_get_read_count.cc \ + src/test/nml_test_getvar.cc \ + src/test/nml_test_java_read.java \ + src/test/nml_test_java_get_msg_type.java \ + src/test/nml_test_java_dl_read.java \ + src/test/nml_test_java_dl_write.java \ + src/test/nml_test_java_get_single_var_log.java \ + src/test/nml_test_nmlset.cc \ + src/test/nml_test_qr_client.cc \ + src/test/nml_test_qr_server.cc \ + src/test/nml_test_qr_nml_svr.cc \ + src/test/nml_test_read_c.c \ + src/test/nml_test_read.cc \ + src/test/nml_test_server_ada.adb \ + src/test/nml_test_server_c.c \ + src/test/nml_test_server.cc \ + src/test/nml_test_sizes.cc \ + src/test/nml_test_wait_for_clear.cc \ + src/test/nml_test_wait_for_queue_length_over.cc \ + src/test/nml_test_wait_for_queue_length_under.cc \ + src/test/nml_test_wait_for_read.cc \ + src/test/nml_test_wait_for_write.cc \ + src/test/nml_test_write_c.c \ + src/test/nml_test_write.cc \ + src/test/nml_test_unbounded_server.cc \ + src/test/check_test_unbounded_msg.cc \ + src/test/nml_test_unbounded_read.cc \ + src/test/nml_test_unbounded_write.cc \ + src/test/nml_test_single_process_queue_test.cc \ + src/test/noserv.nml \ + src/test/number.txt \ + src/test/otherheader_c_n.c \ + src/test/otherheader_c_n.h \ + src/test/otherheader.hh \ + src/test/otherheader_n.cc \ + src/test/otherheader_n_codegen_protos.hh \ + src/test/print_test_sizes.cc \ + src/test/qrtest.nml \ + src/test/testcommon.cc \ + src/test/testcommon.h \ + src/test/test.nml2 \ + src/test/testnml_internal.sh \ + src/test/testnml.sh \ + src/test/testrcslib.cc \ + src/test/testxmlperf.sh \ + src/test/testxml.sh \ + src/test/vxload \ + src/test/vx_nml_test_read.cc \ + src/test/vx_nml_test_write.cc \ + src/test/vxstop \ + src/test/vxtest.cfg \ + src/test/vx_test_cycle_high_priority.c \ + src/test/vxtest.nml \ + src/test/vxtestrun0 \ + src/test/vxtestrun1 \ + src/test/vxunload + +MOSTLYCLEANFILES= \ + src/rcs_svn_vers.hh.orig \ + plat/java/lib/rcs/RCS_VERSION.class \ + plat/java/lib/rcs/utils/jcrypt.class \ + plat/java/lib/rcs/utils/URL_and_FileLoader.class \ + plat/java/lib/rcs/utils/CorrectedPipeData.class \ + plat/java/lib/rcs/utils/CorrectedPipedInputStream.class \ + plat/java/lib/rcs/utils/CorrectedPipedOutputStream.class \ + plat/java/lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + plat/java/lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + plat/java/lib/rcs/utils/StrToLong.class \ + plat/java/lib/rcs/utils/StrToInt.class \ + plat/java/lib/rcs/utils/SimpleFileFilter.class \ + plat/java/lib/rcs/nml//NMLFormatConvertErrCallbackInterface.class \ + plat/java/lib/rcs/nml/CMS_DATE.class \ + plat/java/lib/rcs/nml/NMLFormatConverter.class \ + plat/java/lib/rcs/nml/NMLmsg.class \ + plat/java/lib/rcs/nml/NML_ENUM_INFO.class \ + plat/java/lib/rcs/nml/CMS_TIME.class \ + plat/java/lib/rcs/nml/debugInfo.class \ + plat/java/lib/rcs/nml/NMLException.class \ + plat/java/lib/rcs/nml/NMLMessageDictionary.class \ + plat/java/lib/rcs/nml/NMLFormatConverterBase.class \ + plat/java/lib/rcs/nml/NMLSingleVarLogItem.class \ + plat/java/lib/rcs/nml/NMLSingleVarLog.class \ + plat/java/lib/rcs/nml/DISPFormatConverter.class \ + plat/java/lib/rcs/nml/XDRFormatConverter.class \ + plat/java/lib/rcs/nml/PackedFormatConverter.class \ + plat/java/lib/rcs/nml/XMLNodeInfo.class \ + plat/java/lib/rcs/nml/XMLFormatConverter.class \ + plat/java/lib/rcs/nml/NonBlockingDatagramSocket.class \ + plat/java/lib/rcs/nml/NMLBufferConfigInfo.class \ + plat/java/lib/rcs/nml/NMLConfigInfo.class \ + plat/java/lib/rcs/nml/NMLConnectionInterface.class \ + plat/java/lib/rcs/nml/NMLConnectionCreatorInterface.class \ + plat/java/lib/rcs/nml/NMLConnectionCreator.class \ + plat/java/lib/rcs/nml/NMLErrorAppender.class \ + plat/java/lib/rcs/nml/NMLConnection.class \ + plat/java/lib/rcs/nml/RCS_CMD_MSG.class \ + plat/java/lib/rcs/nml/RCS_STAT_MSG.class \ + plat/java/lib/rcs/nml/RCS_STAT_MSG_V2.class \ + plat/java/lib/rcs/nml/time_tracker.class \ + plat/java/lib/rcs/nml/NML_ERROR.class \ + plat/java/lib/rcs/nml/NML_TEXT.class \ + plat/java/lib/rcs/nml/NML_DISPLAY.class \ + plat/java/lib/rcs/nml/errlogMsgDict.class \ + plat/java/lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + plat/java/lib/rcs/nml/perftypeMsgDict.class \ + plat/java/lib/rcs/nml/nmlperf.class \ + plat/java/lib/rcs/posemath/PmException.class \ + plat/java/lib/rcs/posemath/PmCartesian.class \ + plat/java/lib/rcs/posemath/PmCylindrical.class \ + plat/java/lib/rcs/posemath/PmSpherical.class \ + plat/java/lib/rcs/posemath/PmCircle.class \ + plat/java/lib/rcs/posemath/PmEulerZyx.class \ + plat/java/lib/rcs/posemath/PmEulerZyz.class \ + plat/java/lib/rcs/posemath/PmHomogeneous.class \ + plat/java/lib/rcs/posemath/PmRotationMatrix.class \ + plat/java/lib/rcs/posemath/PmLine.class \ + plat/java/lib/rcs/posemath/PmPose.class \ + plat/java/lib/rcs/posemath/PmQuaternion.class \ + plat/java/lib/rcs/posemath/PmRotationVector.class \ + plat/java/lib/rcs/posemath/PmRpy.class \ + plat/java/lib/rcs/posemath/PM_CARTESIAN.class \ + plat/java/lib/rcs/posemath/PM_CYLINDRICAL.class \ + plat/java/lib/rcs/posemath/PM_EULER_ZYX.class \ + plat/java/lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + plat/java/lib/rcs/posemath/PM_EULER_ZYZ.class \ + plat/java/lib/rcs/posemath/PM_HOMOGENEOUS.class \ + plat/java/lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + plat/java/lib/rcs/posemath/PM_POSE.class \ + plat/java/lib/rcs/posemath/PM_XYA.class \ + plat/java/lib/rcs/posemath/PM_QUATERNION.class \ + plat/java/lib/rcs/posemath/PM_RPY.class \ + plat/java/lib/rcs/posemath/PM_SPHERICAL.class \ + plat/java/lib/rcs/posemath/PM_LINE.class \ + plat/java/lib/rcs/posemath/PM_CIRCLE.class \ + plat/java/lib/rcs/posemath/Posemath.class \ + plat/java/lib/rcs.jar \ + plat/java/lib/CodeGenCmdLineJarInfo.txt \ + plat/java/lib/diagapplet/utils/CountButton.class \ + plat/java/lib/diagapplet/utils/CountButtonInterface.class \ + plat/java/lib/diagapplet/utils/CountList.class \ + plat/java/lib/diagapplet/utils/CountListInterface.class \ + plat/java/lib/diagapplet/utils/StandAloneApplet.class \ + plat/java/lib/diagapplet/utils/URLLoadInfoPanel.class \ + plat/java/lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + plat/java/lib/diagapplet/utils/FastListPanel.class \ + plat/java/lib/diagapplet/utils/FastListPanelInterface.class \ + plat/java/lib/diagapplet/utils/FastListContainer.class \ + plat/java/lib/diagapplet/utils/FastListPanelItem.class \ + plat/java/lib/diagapplet/utils/ModifiedFileDialog.class \ + plat/java/lib/diagapplet/utils/FakeFastListPanel.class \ + plat/java/lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + plat/java/lib/diagapplet/CodeGen/StructureTypeInfo.class \ + plat/java/lib/diagapplet/CodeGen/EnumTypeInfo.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + plat/java/lib/diagapplet/CodeGen/ModuleInfo.class \ + plat/java/lib/diagapplet/CodeGen/DefinedValue.class \ + plat/java/lib/diagapplet/CodeGen/ByteArrayObject.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLmsg.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + plat/java/lib/diagapplet/CodeGen/BufferInfo.class \ + plat/java/lib/diagapplet/CodeGen/ServerInfo.class \ + plat/java/lib/diagapplet/CodeGen/ChannelInfo.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + plat/java/lib/diagapplet/CodeGen/SplitInfoToken.class \ + plat/java/lib/diagapplet/CodeGen/StringFuncs.class \ + plat/java/lib/diagapplet/CodeGen/C_Generator.class \ + plat/java/lib/diagapplet/CodeGen/Ada_Generator.class \ + plat/java/lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCommon.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + plat/java/lib/diagapplet/CodeGen/CodeGen.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenFrame.class \ + plat/java/lib/diagapplet/CodeGen/info_array_elem_info.class \ + plat/java/lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + plat/java/lib/diagapplet/CodeGen/STI_Tokenizer.class \ + plat/java/lib/CodeGenCmdLine.jar \ + plat/java/src/rcs/utils/CorrectedPipeData.java \ + plat/java/src/rcs/utils/CorrectedPipedInputStream.java \ + plat/java/src/rcs/utils/CorrectedPipedOutputStream.java \ + plat/java/src/rcs/utils/CorrectedPipedInputStreamInterface.java \ + plat/java/src/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + plat/java/src/rcs/utils/SimpleFileFilter.java \ + plat/java/src/rcs/utils/StrToInt.java \ + plat/java/src/rcs/utils/StrToLong.java \ + plat/java/src/rcs/utils/URL_and_FileLoader.java \ + plat/java/src/rcs/utils/jcrypt.java \ + plat/java/src/rcs/nml/CMS_DATE.java \ + plat/java/src/rcs/nml/CMS_TIME.java \ + plat/java/src/rcs/nml/NMLSingleVarLogItem.java \ + plat/java/src/rcs/nml/NMLSingleVarLog.java \ + plat/java/src/rcs/nml/DISPFormatConverter.java \ + plat/java/src/rcs/nml/NMLConfigInfo.java \ + plat/java/src/rcs/nml/NMLBufferConfigInfo.java \ + plat/java/src/rcs/nml/NMLConnectionInterface.java \ + plat/java/src/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + plat/java/src/rcs/nml/NMLConnectionCreatorInterface.java \ + plat/java/src/rcs/nml/NMLConnectionCreator.java \ + plat/java/src/rcs/nml/NMLErrorAppender.java \ + plat/java/src/rcs/nml/NMLConnection.java \ + plat/java/src/rcs/nml/MsgToTimeStamp.java \ + plat/java/src/rcs/nml/NMLErrorAppender.java \ + plat/java/src/rcs/nml/NMLException.java \ + plat/java/src/rcs/nml/NMLFormatConverter.java \ + plat/java/src/rcs/nml/NMLFormatConverterBase.java \ + plat/java/src/rcs/nml/NMLMessageDictionary.java \ + plat/java/src/rcs/nml/NML_DISPLAY.java \ + plat/java/src/rcs/nml/NML_ENUM_INFO.java \ + plat/java/src/rcs/nml/NML_ERROR.java \ + plat/java/src/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + plat/java/src/rcs/nml/NML_TEXT.java \ + plat/java/src/rcs/nml/NMLmsg.java \ + plat/java/src/rcs/nml/NonBlockingDatagramSocket.java \ + plat/java/src/rcs/nml/PackedFormatConverter.java \ + plat/java/src/rcs/nml/RCS_CMD_MSG.java \ + plat/java/src/rcs/nml/RCS_STAT_MSG.java \ + plat/java/src/rcs/nml/RCS_STAT_MSG_V2.java \ + plat/java/src/rcs/nml/time_tracker.java \ + plat/java/src/rcs/nml/XDRFormatConverter.java \ + plat/java/src/rcs/nml/XMLFormatConverter.java \ + plat/java/src/rcs/nml/debugInfo.java \ + plat/java/src/rcs/nml/errlogMsgDict.java \ + plat/java/src/rcs/nml/nmlperf.java \ + plat/java/src/rcs/nml/perftypeMsgDict.java \ + plat/java/src/rcs/posemath/PM_CARTESIAN.java \ + plat/java/src/rcs/posemath/PM_CIRCLE.java \ + plat/java/src/rcs/posemath/PM_CYLINDRICAL.java \ + plat/java/src/rcs/posemath/PM_EULER_ZYX.java \ + plat/java/src/rcs/posemath/PM_EULER_ZYZ.java \ + plat/java/src/rcs/posemath/PM_HOMOGENEOUS.java \ + plat/java/src/rcs/posemath/PM_LINE.java \ + plat/java/src/rcs/posemath/PM_POSE.java \ + plat/java/src/rcs/posemath/PM_XYA.java \ + plat/java/src/rcs/posemath/PM_QUATERNION.java \ + plat/java/src/rcs/posemath/PM_ROTATION_MATRIX.java \ + plat/java/src/rcs/posemath/PM_ROTATION_VECTOR.java \ + plat/java/src/rcs/posemath/PM_RPY.java \ + plat/java/src/rcs/posemath/PM_SPHERICAL.java \ + plat/java/src/rcs/posemath/PmCartesian.java \ + plat/java/src/rcs/posemath/PmCircle.java \ + plat/java/src/rcs/posemath/PmCylindrical.java \ + plat/java/src/rcs/posemath/PmEulerZyx.java \ + plat/java/src/rcs/posemath/PmEulerZyz.java \ + plat/java/src/rcs/posemath/PmException.java \ + plat/java/src/rcs/posemath/PmHomogeneous.java \ + plat/java/src/rcs/posemath/PmLine.java \ + plat/java/src/rcs/posemath/PmPose.java \ + plat/java/src/rcs/posemath/PmQuaternion.java \ + plat/java/src/rcs/posemath/PmRotationMatrix.java \ + plat/java/src/rcs/posemath/PmRotationVector.java \ + plat/java/src/rcs/posemath/PmRpy.java \ + plat/java/src/rcs/posemath/PmSpherical.java \ + plat/java/src/rcs/posemath/Posemath.java \ + plat/java/src/rcs/posemath/testpm.java \ + plat/java/src/rcs/RCS_VERSION.java \ + plat/java/src/diagapplet/utils/CountButton.java \ + plat/java/src/diagapplet/utils/CountButtonInterface.java \ + plat/java/src/diagapplet/utils/CountListInterface.java \ + plat/java/src/diagapplet/utils/CountList.java \ + plat/java/src/diagapplet/utils/FakeFastListPanel.java \ + plat/java/src/diagapplet/utils/FastListContainer.java \ + plat/java/src/diagapplet/utils/FastListPanel.java \ + plat/java/src/diagapplet/utils/FastListPanelInterface.java \ + plat/java/src/diagapplet/utils/FastListPanelItem.java \ + plat/java/src/diagapplet/utils/ModifiedFileDialog.java \ + plat/java/src/diagapplet/utils/StandAloneApplet.java \ + plat/java/src/diagapplet/utils/URLLoadInfoPanel.java \ + plat/java/src/diagapplet/utils/URLLoadInfoPanelInterface.java \ + a.out \ + rcs/nml/Makefile \ + rcs/nml/Makefile.old \ + rcs/nml/buildme.sh \ + rcs/nml/NMLSingleVarLog.java \ + rcs/nml/NML_ERROR.java \ + rcs/nml/CMS_TIME.java \ + rcs/nml/NMLFormatConverter.java \ + rcs/nml/perftypeMsgDict.java \ + rcs/nml/NML_ENUM_INFO.java \ + rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + rcs/nml/NMLFormatConverterBase.java \ + rcs/nml/NonBlockingDatagramSocket.java \ + rcs/nml/NMLConnectionCreator.java \ + rcs/nml/RCS_STAT_MSG.java \ + rcs/nml/RCS_STAT_MSG_V2.java \ + rcs/nml/time_tracker.java \ + rcs/nml/PackedFormatConverter.java \ + rcs/nml/NMLmsg.java \ + rcs/nml/DISPFormatConverter.java \ + rcs/nml/XMLFormatConverter.java \ + rcs/nml/debugInfo.java \ + rcs/nml/nmlperf.java \ + rcs/nml/errlogMsgDict.java \ + rcs/nml/NMLException.java \ + rcs/nml/NMLConfigInfo.java \ + rcs/nml/NMLBufferConfigInfo.java \ + rcs/nml/NMLConnection.java \ + rcs/nml/MsgToTimeStamp.java \ + rcs/nml/NMLErrorAppender.java \ + rcs/nml/NML_DISPLAY.java \ + rcs/nml/CMS_DATE.java \ + rcs/nml/NMLConnectionCreatorInterface.java \ + rcs/nml/RCS_CMD_MSG.java \ + rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + rcs/nml/NML_TEXT.java \ + rcs/nml/NMLMessageDictionary.java \ + rcs/nml/NMLSingleVarLogItem.java \ + rcs/nml/NMLConnectionInterface.java \ + rcs/nml/XDRFormatConverter.java \ + rcs/posemath/Makefile \ + rcs/posemath/Makefile.old \ + rcs/posemath/buildme.sh \ + rcs/posemath/PmCartesian.java \ + rcs/posemath/PM_POSE.java \ + rcs/posemath/PM_XYA.java \ + rcs/posemath/PmPose.java \ + rcs/posemath/PM_ROTATION_VECTOR.java \ + rcs/posemath/PM_CARTESIAN.java \ + rcs/posemath/PM_SPHERICAL.java \ + rcs/posemath/PM_RPY.java \ + rcs/posemath/PmRpy.java \ + rcs/posemath/PmSpherical.java \ + rcs/posemath/testpm.java \ + rcs/posemath/PM_ROTATION_MATRIX.java \ + rcs/posemath/PmRotationVector.java \ + rcs/posemath/Posemath.java \ + rcs/posemath/PM_QUATERNION.java \ + rcs/posemath/PmRotationMatrix.java \ + rcs/posemath/PM_EULER_ZYX.java \ + rcs/posemath/PmQuaternion.java \ + rcs/posemath/PM_LINE.java \ + rcs/posemath/PM_HOMOGENEOUS.java \ + rcs/posemath/PM_EULER_ZYZ.java \ + rcs/posemath/PmEulerZyx.java \ + rcs/posemath/PmLine.java \ + rcs/posemath/PmHomogeneous.java \ + rcs/posemath/PmEulerZyz.java \ + rcs/posemath/PM_CYLINDRICAL.java \ + rcs/posemath/PmCylindrical.java \ + rcs/posemath/PmException.java \ + rcs/posemath/PM_CIRCLE.java \ + rcs/posemath/PmCircle.java \ + rcs/utils/Makefile \ + rcs/utils/Makefile.old \ + rcs/utils/buildme.sh \ + rcs/utils/StrToInt.java \ + rcs/utils/SimpleFileFilter.java \ + rcs/utils/CorrectedPipeData.java \ + rcs/utils/StrToLong.java \ + rcs/utils/jcrypt.java \ + rcs/utils/CorrectedPipedInputStream.java \ + rcs/utils/CorrectedPipedOutputStream.java \ + rcs/utils/CorrectedPipedInputStreamInterface.java \ + rcs/utils/CorrectedPipedOutputStreamInterface.java \ + rcs/utils/URL_and_FileLoader.java \ + rcs/Makefile \ + rcs/Makefile.old \ + rcs/rcsJarInfo.txt \ + rcs/buildme.sh \ + rcs/RCS_VERSION.java \ + rcs/update_ver \ + build_CodeGenCmdLine_jar.sh \ + build_diagapplet_jar.sh \ + build_jars.sh \ + build_jdiag_jar.sh \ + build_plotter_jar.sh \ + build_rcs_jar.sh \ + buildme.sh \ + CodeGenCmdLine_sources.txt \ + rcs_sources.txt \ + rcs_lib/rcs/posemath/PmCartesian.class \ + rcs_lib/rcs/posemath/PmException.class \ + rcs_lib/rcs/posemath/PmCylindrical.class \ + rcs_lib/rcs/posemath/PmSpherical.class \ + rcs_lib/rcs/posemath/PM_POSE.class \ + rcs_lib/rcs/posemath/PM_XYA.class \ + rcs_lib/rcs/posemath/PmPose.class \ + rcs_lib/rcs/posemath/PmQuaternion.class \ + rcs_lib/rcs/posemath/PmHomogeneous.class \ + rcs_lib/rcs/posemath/PmRotationMatrix.class \ + rcs_lib/rcs/posemath/PmRotationVector.class \ + rcs_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + rcs_lib/rcs/posemath/PM_CARTESIAN.class \ + rcs_lib/rcs/posemath/PM_CYLINDRICAL.class \ + rcs_lib/rcs/posemath/PM_SPHERICAL.class \ + rcs_lib/rcs/posemath/PM_RPY.class \ + rcs_lib/rcs/posemath/PmRpy.class \ + rcs_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + rcs_lib/rcs/posemath/Posemath.class \ + rcs_lib/rcs/posemath/PM_QUATERNION.class \ + rcs_lib/rcs/posemath/PmEulerZyz.class \ + rcs_lib/rcs/posemath/PmEulerZyx.class \ + rcs_lib/rcs/posemath/PM_EULER_ZYZ.class \ + rcs_lib/rcs/posemath/PM_EULER_ZYX.class \ + rcs_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + rcs_lib/rcs/posemath/PmLine.class \ + rcs_lib/rcs/posemath/PmCircle.class \ + rcs_lib/rcs/posemath/PM_LINE.class \ + rcs_lib/rcs/posemath/PM_CIRCLE.class \ + rcs_lib/rcs/nml/NMLFormatConverter.class \ + rcs_lib/rcs/nml/NML_ENUM_INFO.class \ + rcs_lib/rcs/nml/CMS_TIME.class \ + rcs_lib/rcs/nml/CMS_DATE.class \ + rcs_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + rcs_lib/rcs/nml/RCS_STAT_MSG.class \ + rcs_lib/rcs/nml/NMLmsg.class \ + rcs_lib/rcs/nml/time_tracker.class \ + rcs_lib/rcs/nml/NML_ERROR.class \ + rcs_lib/rcs/nml/NMLSingleVarLog.class \ + rcs_lib/rcs/nml/NMLSingleVarLogItem.class \ + rcs_lib/rcs/nml/perftypeMsgDict.class \ + rcs_lib/rcs/nml/NMLMessageDictionary.class \ + rcs_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + rcs_lib/rcs/nml/NMLFormatConverterBase.class \ + rcs_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + rcs_lib/rcs/nml/NonBlockingDatagramSocket.class \ + rcs_lib/rcs/nml/NMLConnectionCreator.class \ + rcs_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + rcs_lib/rcs/nml/NMLConnectionInterface.class \ + rcs_lib/rcs/nml/PackedFormatConverter.class \ + rcs_lib/rcs/nml/DISPFormatConverter.class \ + rcs_lib/rcs/nml/XMLNodeInfo.class \ + rcs_lib/rcs/nml/XMLFormatConverter.class \ + rcs_lib/rcs/nml/debugInfo.class \ + rcs_lib/rcs/nml/nmlperf.class \ + rcs_lib/rcs/nml/NMLException.class \ + rcs_lib/rcs/nml/errlogMsgDict.class \ + rcs_lib/rcs/nml/NML_DISPLAY.class \ + rcs_lib/rcs/nml/NML_TEXT.class \ + rcs_lib/rcs/nml/NMLErrorAppender.class \ + rcs_lib/rcs/nml/NMLConnection.class \ + rcs_lib/rcs/nml/NMLBufferConfigInfo.class \ + rcs_lib/rcs/nml/NMLConfigInfo.class \ + rcs_lib/rcs/nml/RCS_CMD_MSG.class \ + rcs_lib/rcs/nml/XDRFormatConverter.class \ + rcs_lib/rcs/utils/StrToInt.class \ + rcs_lib/rcs/utils/SimpleFileFilter.class \ + rcs_lib/rcs/utils/CorrectedPipeData.class \ + rcs_lib/rcs/utils/CorrectedPipedInputStream.class \ + rcs_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + rcs_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + rcs_lib/rcs/utils/StrToLong.class \ + rcs_lib/rcs/utils/jcrypt.class \ + rcs_lib/rcs/utils/CorrectedPipedOutputStream.class \ + rcs_lib/rcs/utils/URL_and_FileLoader.class \ + rcs_lib/rcs/RCS_VERSION.class \ + rcs_lib/rcs.jar \ + diagapplet/CodeGen/Makefile \ + diagapplet/CodeGen/Makefile.old \ + diagapplet/CodeGen/CodeGenCmdLineJarInfo.txt \ + diagapplet/CodeGen/CodeGenJarInfo.txt \ + diagapplet/CodeGen/buildme.sh \ + diagapplet/CodeGen/gcj_build_nmlcodegen.sh \ + diagapplet/CodeGen/CodeGenCmdLine.java \ + diagapplet/CodeGen/ModuleInfo.java \ + diagapplet/CodeGen/StringFuncs.java \ + diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + diagapplet/CodeGen/SplitInfoToken.java \ + diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + diagapplet/CodeGen/CodeGenCommon.java \ + diagapplet/CodeGen/ServerInfo.java \ + diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + diagapplet/CodeGen/EnumTypeInfo.java \ + diagapplet/CodeGen/DiagNMLmsg.java \ + diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + diagapplet/CodeGen/C_Generator.java \ + diagapplet/CodeGen/StructureList.java \ + diagapplet/CodeGen/ChannelInfo.java \ + diagapplet/CodeGen/CodeGen.java \ + diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.java \ + diagapplet/CodeGen/DiagNMLMsgDict.java \ + diagapplet/CodeGen/info_array_elem_info.java \ + diagapplet/CodeGen/BufferInfo.java \ + diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + diagapplet/CodeGen/STI_TokenizerInterface.java \ + diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + diagapplet/CodeGen/StructureTypeInfo.java \ + diagapplet/CodeGen/CodeGenFrame.java \ + diagapplet/CodeGen/STI_Tokenizer.java \ + diagapplet/CodeGen/ModuleInfoInterface.java \ + diagapplet/CodeGen/DefinedValue.java \ + diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + diagapplet/CodeGen/Ada_Generator.java \ + diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + diagapplet/CodeGen/CodeGenCommonInterface.java \ + diagapplet/CodeGen/CodeGenCommonInterface2.java \ + diagapplet/plotter/Makefile \ + diagapplet/plotter/Makefile.old \ + diagapplet/plotter/plotterJarInfo.txt \ + diagapplet/plotter/buildme.sh \ + diagapplet/plotter/PlotGraphScreenMap.java \ + diagapplet/plotter/PlotData.java \ + diagapplet/plotter/PlotPoint.java \ + diagapplet/plotter/PlotFrame.java \ + diagapplet/utils/Makefile \ + diagapplet/utils/Makefile.old \ + diagapplet/utils/buildme.sh \ + diagapplet/utils/CountButtonInterface.java \ + diagapplet/utils/ModifiedFileDialog.java \ + diagapplet/utils/FakeFastListPanel.java \ + diagapplet/utils/CountListInterface.java \ + diagapplet/utils/FastListPanel.java \ + diagapplet/utils/URLLoadInfoPanelInterface.java \ + diagapplet/utils/CountList.java \ + diagapplet/utils/CountButton.java \ + diagapplet/utils/FastListPanelItem.java \ + diagapplet/utils/FastListPanelInterface.java \ + diagapplet/utils/FastListContainer.java \ + diagapplet/utils/URLLoadInfoPanel.java \ + diagapplet/utils/StandAloneApplet.java \ + diagapplet/Makefile \ + diagapplet/Makefile.old \ + diagapplet/diagicon.png \ + diagapplet/diagappletJarInfo.txt \ + diagapplet/buildme.sh \ + diagapplet/CodeDisplayPanel.java \ + diagapplet/diagappletJFrame.java \ + diagapplet/diag_update_interface.java \ + diagapplet/diagappletFrame.java \ + diagapplet/PlotTracker.java \ + diagapplet/HierarchyPanel.java \ + diagapplet/jdiagJarInfo.txt \ + diagapplet/update_diag_sources.sh \ + diagapplet/update_rcs_diag_sources.sh \ + diagapplet/rcs_diag_sources.mak \ + diagapplet/diag_sources.mak \ + CodeGenCmdLine_lib/rcs/utils/StrToInt.class \ + CodeGenCmdLine_lib/rcs/utils/StrToLong.class \ + CodeGenCmdLine_lib/rcs/utils/URL_and_FileLoader.class \ + CodeGenCmdLine_lib/rcs/utils/jcrypt.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedInputStream.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipeData.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedOutputStream.class \ + CodeGenCmdLine_lib/rcs/utils/SimpleFileFilter.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionCreator.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLMessageDictionary.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLSingleVarLog.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/NMLSingleVarLogItem.class \ + CodeGenCmdLine_lib/rcs/nml/NML_ENUM_INFO.class \ + CodeGenCmdLine_lib/rcs/nml/CMS_TIME.class \ + CodeGenCmdLine_lib/rcs/nml/CMS_DATE.class \ + CodeGenCmdLine_lib/rcs/nml/errlogMsgDict.class \ + CodeGenCmdLine_lib/rcs/nml/NML_DISPLAY.class \ + CodeGenCmdLine_lib/rcs/nml/NMLmsg.class \ + CodeGenCmdLine_lib/rcs/nml/NML_ERROR.class \ + CodeGenCmdLine_lib/rcs/nml/NML_TEXT.class \ + CodeGenCmdLine_lib/rcs/nml/NMLErrorAppender.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnection.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConverterBase.class \ + CodeGenCmdLine_lib/rcs/nml/NonBlockingDatagramSocket.class \ + CodeGenCmdLine_lib/rcs/nml/NMLException.class \ + CodeGenCmdLine_lib/rcs/nml/NMLBufferConfigInfo.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConfigInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XDRFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/PackedFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/DISPFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/debugInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XMLNodeInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XMLFormatConverter.class \ + CodeGenCmdLine_lib/rcs/RCS_VERSION.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountButtonInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FakeFastListPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanelInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanelItem.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountListInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListContainer.class \ + CodeGenCmdLine_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountList.class \ + CodeGenCmdLine_lib/diagapplet/utils/StandAloneApplet.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountButton.class \ + CodeGenCmdLine_lib/diagapplet/utils/URLLoadInfoPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/ModifiedFileDialog.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ModuleInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DefinedValue.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/info_array_elem_info.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/StringFuncs.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/SplitInfoToken.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterfac.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommon.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ServerInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/C_Generator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGen.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenFrame.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ChannelInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/BufferInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/Ada_Generator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ByteArrayObject.class \ + CodeGenCmdLine_lib/CodeGenCmdLineJarInfo.txt \ + CodeGenCmdLine_lib/CodeGenCmdLine.jar \ + diagapplet_lib/rcs/posemath/PmCartesian.class \ + diagapplet_lib/rcs/posemath/PmException.class \ + diagapplet_lib/rcs/posemath/PmCylindrical.class \ + diagapplet_lib/rcs/posemath/PmSpherical.class \ + diagapplet_lib/rcs/posemath/PM_POSE.class \ + diagapplet_lib/rcs/posemath/PM_XYA.class \ + diagapplet_lib/rcs/posemath/PmPose.class \ + diagapplet_lib/rcs/posemath/PmQuaternion.class \ + diagapplet_lib/rcs/posemath/PmHomogeneous.class \ + diagapplet_lib/rcs/posemath/PmRotationMatrix.class \ + diagapplet_lib/rcs/posemath/PmRotationVector.class \ + diagapplet_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + diagapplet_lib/rcs/posemath/PM_CARTESIAN.class \ + diagapplet_lib/rcs/posemath/PM_CYLINDRICAL.class \ + diagapplet_lib/rcs/posemath/PM_SPHERICAL.class \ + diagapplet_lib/rcs/posemath/PM_RPY.class \ + diagapplet_lib/rcs/posemath/PmRpy.class \ + diagapplet_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + diagapplet_lib/rcs/posemath/Posemath.class \ + diagapplet_lib/rcs/posemath/PM_QUATERNION.class \ + diagapplet_lib/rcs/posemath/PmEulerZyz.class \ + diagapplet_lib/rcs/posemath/PmEulerZyx.class \ + diagapplet_lib/rcs/posemath/PM_EULER_ZYZ.class \ + diagapplet_lib/rcs/posemath/PM_EULER_ZYX.class \ + diagapplet_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + diagapplet_lib/rcs/posemath/PmLine.class \ + diagapplet_lib/rcs/posemath/PmCircle.class \ + diagapplet_lib/rcs/posemath/PM_LINE.class \ + diagapplet_lib/rcs/posemath/PM_CIRCLE.class \ + diagapplet_lib/rcs/nml/NMLFormatConverter.class \ + diagapplet_lib/rcs/nml/NML_ENUM_INFO.class \ + diagapplet_lib/rcs/nml/CMS_TIME.class \ + diagapplet_lib/rcs/nml/CMS_DATE.class \ + diagapplet_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + diagapplet_lib/rcs/nml/RCS_STAT_MSG.class \ + diagapplet_lib/rcs/nml/NMLmsg.class \ + diagapplet_lib/rcs/nml/time_tracker.class \ + diagapplet_lib/rcs/nml/NML_ERROR.class \ + diagapplet_lib/rcs/nml/NMLSingleVarLog.class \ + diagapplet_lib/rcs/nml/NMLSingleVarLogItem.class \ + diagapplet_lib/rcs/nml/perftypeMsgDict.class \ + diagapplet_lib/rcs/nml/NMLMessageDictionary.class \ + diagapplet_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + diagapplet_lib/rcs/nml/NMLFormatConverterBase.class \ + diagapplet_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + diagapplet_lib/rcs/nml/NonBlockingDatagramSocket.class \ + diagapplet_lib/rcs/nml/NMLConnectionCreator.class \ + diagapplet_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + diagapplet_lib/rcs/nml/NMLConnectionInterface.class \ + diagapplet_lib/rcs/nml/PackedFormatConverter.class \ + diagapplet_lib/rcs/nml/DISPFormatConverter.class \ + diagapplet_lib/rcs/nml/XMLNodeInfo.class \ + diagapplet_lib/rcs/nml/XMLFormatConverter.class \ + diagapplet_lib/rcs/nml/debugInfo.class \ + diagapplet_lib/rcs/nml/nmlperf.class \ + diagapplet_lib/rcs/nml/NMLException.class \ + diagapplet_lib/rcs/nml/errlogMsgDict.class \ + diagapplet_lib/rcs/nml/NML_DISPLAY.class \ + diagapplet_lib/rcs/nml/NML_TEXT.class \ + diagapplet_lib/rcs/nml/NMLErrorAppender.class \ + diagapplet_lib/rcs/nml/NMLConnection.class \ + diagapplet_lib/rcs/nml/NMLBufferConfigInfo.class \ + diagapplet_lib/rcs/nml/NMLConfigInfo.class \ + diagapplet_lib/rcs/nml/RCS_CMD_MSG.class \ + diagapplet_lib/rcs/nml/XDRFormatConverter.class \ + diagapplet_lib/rcs/utils/StrToInt.class \ + diagapplet_lib/rcs/utils/SimpleFileFilter.class \ + diagapplet_lib/rcs/utils/CorrectedPipeData.class \ + diagapplet_lib/rcs/utils/CorrectedPipedInputStream.class \ + diagapplet_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + diagapplet_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + diagapplet_lib/rcs/utils/StrToLong.class \ + diagapplet_lib/rcs/utils/jcrypt.class \ + diagapplet_lib/rcs/utils/CorrectedPipedOutputStream.class \ + diagapplet_lib/rcs/utils/URL_and_FileLoader.class \ + diagapplet_lib/rcs/RCS_VERSION.class \ + diagapplet_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + diagapplet_lib/diagapplet/plotter/PlotData.class \ + diagapplet_lib/diagapplet/plotter/PlotPoint.class \ + diagapplet_lib/diagapplet/utils/StandAloneApplet.class \ + diagapplet_lib/diagapplet/utils/URLLoadInfoPanel.class \ + diagapplet_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + diagapplet_lib/diagapplet/utils/CountList.class \ + diagapplet_lib/diagapplet/utils/CountListInterface.class \ + diagapplet_lib/diagapplet/utils/CountButtonInterface.class \ + diagapplet_lib/diagapplet/utils/ModifiedFileDialog.class \ + diagapplet_lib/diagapplet/utils/FastListPanel.class \ + diagapplet_lib/diagapplet/utils/FastListPanelInterface.class \ + diagapplet_lib/diagapplet/utils/FastListContainer.class \ + diagapplet_lib/diagapplet/utils/FastListPanelItem.class \ + diagapplet_lib/diagapplet/utils/FakeFastListPanel.class \ + diagapplet_lib/diagapplet/utils/CountButton.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + diagapplet_lib/diagapplet/CodeGen/ModuleInfo.class \ + diagapplet_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + diagapplet_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + diagapplet_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + diagapplet_lib/diagapplet/CodeGen/DefinedValue.class \ + diagapplet_lib/diagapplet/CodeGen/info_array_elem_info.class \ + diagapplet_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + diagapplet_lib/diagapplet/CodeGen/StringFuncs.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + diagapplet_lib/diagapplet/CodeGen/SplitInfoToken.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + diagapplet_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommon.class \ + diagapplet_lib/diagapplet/CodeGen/ServerInfo.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + diagapplet_lib/diagapplet/CodeGen/ByteArrayObject.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + diagapplet_lib/diagapplet/CodeGen/C_Generator.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGen.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenFrame.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + diagapplet_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + diagapplet_lib/diagapplet/CodeGen/ChannelInfo.class \ + diagapplet_lib/diagapplet/CodeGen/BufferInfo.class \ + diagapplet_lib/diagapplet/CodeGen/Ada_Generator.class \ + diagapplet_lib/diagapplet/diagappletJFrame.class \ + diagapplet_lib/diagapplet/diag_update.class \ + diagapplet_lib/diagapplet/diag_update_interface.class \ + diagapplet_lib/diagapplet/CodeDisplayPanel.class \ + diagapplet_lib/diagapplet/HierarchyPanel.class \ + diagapplet_lib/diagapplet/PlotTracker.class \ + diagapplet_lib/diagapplet/CodeFileInfo.class \ + diagapplet_lib/diagapplet/LineInfo.class \ + diagapplet_lib/diagapplet/diagappletFrame.class \ + diagapplet_lib/diagappletJarInfo.txt \ + diagapplet_lib/diagapplet.jar \ + plotter_lib/rcs/utils/StrToInt.class \ + plotter_lib/rcs/utils/SimpleFileFilter.class \ + plotter_lib/rcs/utils/CorrectedPipeData.class \ + plotter_lib/rcs/utils/CorrectedPipedInputStream.class \ + plotter_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + plotter_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + plotter_lib/rcs/utils/StrToLong.class \ + plotter_lib/rcs/utils/jcrypt.class \ + plotter_lib/rcs/utils/CorrectedPipedOutputStream.class \ + plotter_lib/rcs/utils/URL_and_FileLoader.class \ + plotter_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + plotter_lib/diagapplet/plotter/PlotData.class \ + plotter_lib/diagapplet/plotter/PlotPoint.class \ + plotter_lib/diagapplet/plotter/PlotFrame.class \ + plotter_lib/diagapplet/utils/StandAloneApplet.class \ + plotter_lib/diagapplet/utils/URLLoadInfoPanel.class \ + plotter_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + plotter_lib/diagapplet/utils/CountList.class \ + plotter_lib/diagapplet/utils/CountListInterface.class \ + plotter_lib/diagapplet/utils/CountButtonInterface.class \ + plotter_lib/diagapplet/utils/ModifiedFileDialog.class \ + plotter_lib/diagapplet/utils/FastListPanel.class \ + plotter_lib/diagapplet/utils/FastListPanelInterface.class \ + plotter_lib/diagapplet/utils/FastListContainer.class \ + plotter_lib/diagapplet/utils/FastListPanelItem.class \ + plotter_lib/diagapplet/utils/FakeFastListPanel.class \ + plotter_lib/diagapplet/utils/CountButton.class \ + plotter_lib/plotterJarInfo.txt \ + plotter_lib/plotter.jar \ + jdiag_lib/rcs/posemath/PmCartesian.class \ + jdiag_lib/rcs/posemath/PmException.class \ + jdiag_lib/rcs/posemath/PmCylindrical.class \ + jdiag_lib/rcs/posemath/PmSpherical.class \ + jdiag_lib/rcs/posemath/PM_POSE.class \ + jdiag_lib/rcs/posemath/PM_XYA.class \ + jdiag_lib/rcs/posemath/PmPose.class \ + jdiag_lib/rcs/posemath/PmQuaternion.class \ + jdiag_lib/rcs/posemath/PmHomogeneous.class \ + jdiag_lib/rcs/posemath/PmRotationMatrix.class \ + jdiag_lib/rcs/posemath/PmRotationVector.class \ + jdiag_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + jdiag_lib/rcs/posemath/PM_CARTESIAN.class \ + jdiag_lib/rcs/posemath/PM_CYLINDRICAL.class \ + jdiag_lib/rcs/posemath/PM_SPHERICAL.class \ + jdiag_lib/rcs/posemath/PM_RPY.class \ + jdiag_lib/rcs/posemath/PmRpy.class \ + jdiag_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + jdiag_lib/rcs/posemath/Posemath.class \ + jdiag_lib/rcs/posemath/PM_QUATERNION.class \ + jdiag_lib/rcs/posemath/PmEulerZyz.class \ + jdiag_lib/rcs/posemath/PmEulerZyx.class \ + jdiag_lib/rcs/posemath/PM_EULER_ZYZ.class \ + jdiag_lib/rcs/posemath/PM_EULER_ZYX.class \ + jdiag_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + jdiag_lib/rcs/posemath/PmLine.class \ + jdiag_lib/rcs/posemath/PmCircle.class \ + jdiag_lib/rcs/posemath/PM_LINE.class \ + jdiag_lib/rcs/posemath/PM_CIRCLE.class \ + jdiag_lib/rcs/nml/NMLFormatConverter.class \ + jdiag_lib/rcs/nml/NML_ENUM_INFO.class \ + jdiag_lib/rcs/nml/CMS_TIME.class \ + jdiag_lib/rcs/nml/CMS_DATE.class \ + jdiag_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + jdiag_lib/rcs/nml/RCS_STAT_MSG.class \ + jdiag_lib/rcs/nml/NMLmsg.class \ + jdiag_lib/rcs/nml/time_tracker.class \ + jdiag_lib/rcs/nml/NML_ERROR.class \ + jdiag_lib/rcs/nml/NMLSingleVarLog.class \ + jdiag_lib/rcs/nml/NMLSingleVarLogItem.class \ + jdiag_lib/rcs/nml/perftypeMsgDict.class \ + jdiag_lib/rcs/nml/NMLMessageDictionary.class \ + jdiag_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + jdiag_lib/rcs/nml/NMLFormatConverterBase.class \ + jdiag_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + jdiag_lib/rcs/nml/NonBlockingDatagramSocket.class \ + jdiag_lib/rcs/nml/NMLConnectionCreator.class \ + jdiag_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + jdiag_lib/rcs/nml/NMLConnectionInterface.class \ + jdiag_lib/rcs/nml/PackedFormatConverter.class \ + jdiag_lib/rcs/nml/DISPFormatConverter.class \ + jdiag_lib/rcs/nml/XMLNodeInfo.class \ + jdiag_lib/rcs/nml/XMLFormatConverter.class \ + jdiag_lib/rcs/nml/debugInfo.class \ + jdiag_lib/rcs/nml/nmlperf.class \ + jdiag_lib/rcs/nml/NMLException.class \ + jdiag_lib/rcs/nml/errlogMsgDict.class \ + jdiag_lib/rcs/nml/NML_DISPLAY.class \ + jdiag_lib/rcs/nml/NML_TEXT.class \ + jdiag_lib/rcs/nml/NMLErrorAppender.class \ + jdiag_lib/rcs/nml/NMLConnection.class \ + jdiag_lib/rcs/nml/NMLBufferConfigInfo.class \ + jdiag_lib/rcs/nml/NMLConfigInfo.class \ + jdiag_lib/rcs/nml/RCS_CMD_MSG.class \ + jdiag_lib/rcs/nml/XDRFormatConverter.class \ + jdiag_lib/rcs/utils/StrToInt.class \ + jdiag_lib/rcs/utils/SimpleFileFilter.class \ + jdiag_lib/rcs/utils/CorrectedPipeData.class \ + jdiag_lib/rcs/utils/CorrectedPipedInputStream.class \ + jdiag_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + jdiag_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + jdiag_lib/rcs/utils/StrToLong.class \ + jdiag_lib/rcs/utils/jcrypt.class \ + jdiag_lib/rcs/utils/CorrectedPipedOutputStream.class \ + jdiag_lib/rcs/utils/URL_and_FileLoader.class \ + jdiag_lib/rcs/RCS_VERSION.class \ + jdiag_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + jdiag_lib/diagapplet/plotter/PlotData.class \ + jdiag_lib/diagapplet/plotter/PlotPoint.class \ + jdiag_lib/diagapplet/plotter/PlotFrame.class \ + jdiag_lib/diagapplet/utils/StandAloneApplet.class \ + jdiag_lib/diagapplet/utils/URLLoadInfoPanel.class \ + jdiag_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + jdiag_lib/diagapplet/utils/CountList.class \ + jdiag_lib/diagapplet/utils/CountListInterface.class \ + jdiag_lib/diagapplet/utils/CountButtonInterface.class \ + jdiag_lib/diagapplet/utils/ModifiedFileDialog.class \ + jdiag_lib/diagapplet/utils/FastListPanel.class \ + jdiag_lib/diagapplet/utils/FastListPanelInterface.class \ + jdiag_lib/diagapplet/utils/FastListContainer.class \ + jdiag_lib/diagapplet/utils/FastListPanelItem.class \ + jdiag_lib/diagapplet/utils/FakeFastListPanel.class \ + jdiag_lib/diagapplet/utils/CountButton.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + jdiag_lib/diagapplet/CodeGen/ModuleInfo.class \ + jdiag_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + jdiag_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + jdiag_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + jdiag_lib/diagapplet/CodeGen/DefinedValue.class \ + jdiag_lib/diagapplet/CodeGen/info_array_elem_info.class \ + jdiag_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + jdiag_lib/diagapplet/CodeGen/StringFuncs.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + jdiag_lib/diagapplet/CodeGen/SplitInfoToken.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + jdiag_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommon.class \ + jdiag_lib/diagapplet/CodeGen/ServerInfo.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + jdiag_lib/diagapplet/CodeGen/ByteArrayObject.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + jdiag_lib/diagapplet/CodeGen/C_Generator.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenFrame.class \ + jdiag_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + jdiag_lib/diagapplet/CodeGen/ChannelInfo.class \ + jdiag_lib/diagapplet/CodeGen/BufferInfo.class \ + jdiag_lib/diagapplet/CodeGen/Ada_Generator.class \ + jdiag_lib/diagapplet/CodeGen/CodeGen.class \ + jdiag_lib/diagapplet/diagappletJFrame.class \ + jdiag_lib/diagapplet/diag_update.class \ + jdiag_lib/diagapplet/diag_update_interface.class \ + jdiag_lib/diagapplet/CodeDisplayPanel.class \ + jdiag_lib/diagapplet/HierarchyPanel.class \ + jdiag_lib/diagapplet/PlotTracker.class \ + jdiag_lib/diagapplet/CodeFileInfo.class \ + jdiag_lib/diagapplet/LineInfo.class \ + jdiag_lib/diagapplet/diagappletFrame.class \ + jdiag_lib/jdiagJarInfo.txt \ + jdiag_lib/jdiag.jar \ + nml_test_server.running + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = rcslib.pc diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..2732f8d --- /dev/null +++ b/Makefile.in @@ -0,0 +1,6177 @@ +# Makefile.in generated by automake 1.11.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# $Id: Makefile.in 2285 2014-03-21 13:44:44Z shackle $ +# + + + + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +EXTRA_PROGRAMS = nmltest$(EXEEXT) nmlcfg$(EXEEXT) nmlclean$(EXEEXT) \ + nmlcfgsvr$(EXEEXT) xsd2nmlh$(EXEEXT) oedm_xml2nmlh$(EXEEXT) \ + posix_shm_unlink$(EXEEXT) posix_sem_unlink$(EXEEXT) \ + nml_test_write$(EXEEXT) \ + nml_test_single_process_queue_test$(EXEEXT) \ + nml_test_get_queue_length$(EXEEXT) etime_print$(EXEEXT) \ + nml_test_get_space_available$(EXEEXT) nml_test_nmlset$(EXEEXT) \ + nml_test_read$(EXEEXT) nml_test_blocking_read$(EXEEXT) \ + CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT) \ + rcsDesign.jar$(EXEEXT) diag_NB.jar$(EXEEXT) \ + pvjscript.jar$(EXEEXT) plotter_NB.jar$(EXEEXT) \ + nml_packed_file_to_csv$(EXEEXT) \ + nmlGetRemoteTcpServerBufferList$(EXEEXT) \ + nmlGetRemoteTcpServerBufferInfo$(EXEEXT) ttytest$(EXEEXT) \ + testpmc$(EXEEXT) testpmcpp$(EXEEXT) +check_PROGRAMS = nml_test_blocking_read$(EXEEXT) \ + nml_test_write$(EXEEXT) \ + nml_test_single_process_queue_test$(EXEEXT) \ + nml_test_read$(EXEEXT) nml_test_server$(EXEEXT) \ + nml_test_get_queue_length$(EXEEXT) etime_print$(EXEEXT) \ + nml_test_get_space_available$(EXEEXT) testpmcpp$(EXEEXT) \ + testpmc$(EXEEXT) @EXTRA_CHECK_PROGRAMS@ +subdir = . +DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/rcs_config.h.in $(srcdir)/rcslib.pc.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + compile config.guess config.sub depcomp install-sh ltmain.sh \ + missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = rcs_config.h +CONFIG_CLEAN_FILES = rcslib.pc +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)" \ + "$(DESTDIR)$(includedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libposemath_la_LIBADD = +am_libposemath_la_OBJECTS = libposemath_la-_posemath.lo \ + libposemath_la-_mathprnt.lo libposemath_la-posemath.lo \ + libposemath_la-mathprnt.lo libposemath_la-sincos.lo +libposemath_la_OBJECTS = $(am_libposemath_la_OBJECTS) +libposemath_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libposemath_la_CXXFLAGS) $(CXXFLAGS) \ + $(libposemath_la_LDFLAGS) $(LDFLAGS) -o $@ +am_librcs_la_OBJECTS = rcsvers.lo inetnull.lo timer.lo _timer.lo \ + sepwords.lo cms.lo cms_cfg.lo cms_datetime.lo cms_in.lo \ + cms_pm.lo cms_up.lo nml.lo msg_to_encoded_data.lo nmlmsg.lo \ + physmem.lo linklist.lo +librcs_la_OBJECTS = $(am_librcs_la_OBJECTS) +librcs_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(librcs_la_LDFLAGS) $(LDFLAGS) -o $@ +PROGRAMS = $(bin_PROGRAMS) +am_CodeGenCmdLine_jar_OBJECTS = +CodeGenCmdLine_jar_OBJECTS = $(am_CodeGenCmdLine_jar_OBJECTS) +CodeGenCmdLine_jar_LDADD = $(LDADD) +am_diag_NB_jar_OBJECTS = +diag_NB_jar_OBJECTS = $(am_diag_NB_jar_OBJECTS) +diag_NB_jar_LDADD = $(LDADD) +am_etime_print_OBJECTS = etime_print-etime_print.$(OBJEXT) +etime_print_OBJECTS = $(am_etime_print_OBJECTS) +etime_print_DEPENDENCIES = librcs.la +etime_print_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(etime_print_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_nmlGetRemoteTcpServerBufferInfo_OBJECTS = \ + nmlGetRemoteTcpServerBufferInfo.$(OBJEXT) +nmlGetRemoteTcpServerBufferInfo_OBJECTS = \ + $(am_nmlGetRemoteTcpServerBufferInfo_OBJECTS) +nmlGetRemoteTcpServerBufferInfo_DEPENDENCIES = librcs.la +am_nmlGetRemoteTcpServerBufferList_OBJECTS = \ + nmlGetRemoteTcpServerBufferList.$(OBJEXT) +nmlGetRemoteTcpServerBufferList_OBJECTS = \ + $(am_nmlGetRemoteTcpServerBufferList_OBJECTS) +nmlGetRemoteTcpServerBufferList_DEPENDENCIES = librcs.la +am_nml_packed_file_to_csv_OBJECTS = nml_packed_file_to_csv.$(OBJEXT) +nml_packed_file_to_csv_OBJECTS = $(am_nml_packed_file_to_csv_OBJECTS) +nml_packed_file_to_csv_LDADD = $(LDADD) +am_nml_test_blocking_read_OBJECTS = \ + nml_test_blocking_read-nmltestblockingread.$(OBJEXT) \ + nml_test_blocking_read-otherheader_n.$(OBJEXT) \ + nml_test_blocking_read-nml_test_format_n.$(OBJEXT) +nml_test_blocking_read_OBJECTS = $(am_nml_test_blocking_read_OBJECTS) +nml_test_blocking_read_DEPENDENCIES = librcs.la +nml_test_blocking_read_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_nml_test_get_queue_length_OBJECTS = \ + nml_test_get_queue_length-nml_test_get_queue_length.$(OBJEXT) \ + nml_test_get_queue_length-otherheader_n.$(OBJEXT) \ + nml_test_get_queue_length-nml_test_format_n.$(OBJEXT) +nml_test_get_queue_length_OBJECTS = \ + $(am_nml_test_get_queue_length_OBJECTS) +nml_test_get_queue_length_DEPENDENCIES = librcs.la +nml_test_get_queue_length_LINK = $(LIBTOOL) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_nml_test_get_space_available_OBJECTS = nml_test_get_space_available-nml_test_get_space_available.$(OBJEXT) \ + nml_test_get_space_available-otherheader_n.$(OBJEXT) \ + nml_test_get_space_available-nml_test_format_n.$(OBJEXT) +nml_test_get_space_available_OBJECTS = \ + $(am_nml_test_get_space_available_OBJECTS) +nml_test_get_space_available_DEPENDENCIES = librcs.la +nml_test_get_space_available_LINK = $(LIBTOOL) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_nml_test_nmlset_OBJECTS = \ + nml_test_nmlset-nml_test_nmlset.$(OBJEXT) \ + nml_test_nmlset-otherheader_n.$(OBJEXT) \ + nml_test_nmlset-nml_test_format_n.$(OBJEXT) +nml_test_nmlset_OBJECTS = $(am_nml_test_nmlset_OBJECTS) +nml_test_nmlset_DEPENDENCIES = librcs.la +nml_test_nmlset_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_nml_test_read_OBJECTS = nml_test_read-nml_test_read.$(OBJEXT) \ + nml_test_read-otherheader_n.$(OBJEXT) \ + nml_test_read-nml_test_format_n.$(OBJEXT) +nml_test_read_OBJECTS = $(am_nml_test_read_OBJECTS) +nml_test_read_DEPENDENCIES = librcs.la +nml_test_read_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nml_test_read_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_nml_test_server_OBJECTS = \ + nml_test_server-nml_test_server.$(OBJEXT) \ + nml_test_server-otherheader_n.$(OBJEXT) \ + nml_test_server-nml_test_format_n.$(OBJEXT) +nml_test_server_OBJECTS = $(am_nml_test_server_OBJECTS) +nml_test_server_DEPENDENCIES = librcs.la +nml_test_server_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_server_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_nml_test_single_process_queue_test_OBJECTS = nml_test_single_process_queue_test-nml_test_single_process_queue_test.$(OBJEXT) \ + nml_test_single_process_queue_test-otherheader_n.$(OBJEXT) \ + nml_test_single_process_queue_test-nml_test_format_n.$(OBJEXT) +nml_test_single_process_queue_test_OBJECTS = \ + $(am_nml_test_single_process_queue_test_OBJECTS) +nml_test_single_process_queue_test_DEPENDENCIES = librcs.la +nml_test_single_process_queue_test_LINK = $(LIBTOOL) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_nml_test_write_OBJECTS = nml_test_write-nml_test_write.$(OBJEXT) \ + nml_test_write-otherheader_n.$(OBJEXT) \ + nml_test_write-nml_test_format_n.$(OBJEXT) +nml_test_write_OBJECTS = $(am_nml_test_write_OBJECTS) +nml_test_write_DEPENDENCIES = librcs.la +nml_test_write_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(nml_test_write_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_nmlcfg_OBJECTS = nmlcfg.$(OBJEXT) +nmlcfg_OBJECTS = $(am_nmlcfg_OBJECTS) +nmlcfg_DEPENDENCIES = librcs.la +am_nmlcfgsvr_OBJECTS = nmlcfgsvr.$(OBJEXT) +nmlcfgsvr_OBJECTS = $(am_nmlcfgsvr_OBJECTS) +nmlcfgsvr_DEPENDENCIES = librcs.la +am_nmlclean_OBJECTS = nmlclean.$(OBJEXT) +nmlclean_OBJECTS = $(am_nmlclean_OBJECTS) +nmlclean_DEPENDENCIES = librcs.la +am_nmltest_OBJECTS = nmltest.$(OBJEXT) +nmltest_OBJECTS = $(am_nmltest_OBJECTS) +nmltest_DEPENDENCIES = librcs.la +am_oedm_xml2nmlh_OBJECTS = oedm_xml2nmlh-rcs_prnt.$(OBJEXT) \ + oedm_xml2nmlh-_timer.$(OBJEXT) \ + oedm_xml2nmlh-cms_xml_up.$(OBJEXT) \ + oedm_xml2nmlh-linklist.$(OBJEXT) +oedm_xml2nmlh_OBJECTS = $(am_oedm_xml2nmlh_OBJECTS) +oedm_xml2nmlh_LDADD = $(LDADD) +oedm_xml2nmlh_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(oedm_xml2nmlh_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_plotter_NB_jar_OBJECTS = +plotter_NB_jar_OBJECTS = $(am_plotter_NB_jar_OBJECTS) +plotter_NB_jar_LDADD = $(LDADD) +am_posix_sem_unlink_OBJECTS = posix_sem_unlink.$(OBJEXT) +posix_sem_unlink_OBJECTS = $(am_posix_sem_unlink_OBJECTS) +posix_sem_unlink_LDADD = $(LDADD) +am_posix_shm_unlink_OBJECTS = posix_shm_unlink.$(OBJEXT) +posix_shm_unlink_OBJECTS = $(am_posix_shm_unlink_OBJECTS) +posix_shm_unlink_LDADD = $(LDADD) +am_pvjscript_jar_OBJECTS = +pvjscript_jar_OBJECTS = $(am_pvjscript_jar_OBJECTS) +pvjscript_jar_LDADD = $(LDADD) +am_rcs_jar_OBJECTS = +rcs_jar_OBJECTS = $(am_rcs_jar_OBJECTS) +rcs_jar_LDADD = $(LDADD) +am_rcsDesign_jar_OBJECTS = +rcsDesign_jar_OBJECTS = $(am_rcsDesign_jar_OBJECTS) +rcsDesign_jar_LDADD = $(LDADD) +am_testpmc_OBJECTS = testpmc-testpmc.$(OBJEXT) +testpmc_OBJECTS = $(am_testpmc_OBJECTS) +testpmc_DEPENDENCIES = libposemath.la +testpmc_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(testpmc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_testpmcpp_OBJECTS = testpmcpp-testpmcpp.$(OBJEXT) +testpmcpp_OBJECTS = $(am_testpmcpp_OBJECTS) +testpmcpp_DEPENDENCIES = libposemath.la +testpmcpp_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(testpmcpp_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am_ttytest_OBJECTS = ttytest.$(OBJEXT) +ttytest_OBJECTS = $(am_ttytest_OBJECTS) +ttytest_DEPENDENCIES = librcs.la +am_xsd2nmlh_OBJECTS = xsd2nmlh-rcs_prnt.$(OBJEXT) \ + xsd2nmlh-_timer.$(OBJEXT) xsd2nmlh-cms_xml_up.$(OBJEXT) \ + xsd2nmlh-linklist.$(OBJEXT) +xsd2nmlh_OBJECTS = $(am_xsd2nmlh_OBJECTS) +xsd2nmlh_LDADD = $(LDADD) +xsd2nmlh_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(xsd2nmlh_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SCRIPTS = $(bin_SCRIPTS) +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libposemath_la_SOURCES) $(librcs_la_SOURCES) \ + $(EXTRA_librcs_la_SOURCES) $(CodeGenCmdLine_jar_SOURCES) \ + $(diag_NB_jar_SOURCES) $(etime_print_SOURCES) \ + $(nmlGetRemoteTcpServerBufferInfo_SOURCES) \ + $(nmlGetRemoteTcpServerBufferList_SOURCES) \ + $(nml_packed_file_to_csv_SOURCES) \ + $(nml_test_blocking_read_SOURCES) \ + $(nml_test_get_queue_length_SOURCES) \ + $(nml_test_get_space_available_SOURCES) \ + $(nml_test_nmlset_SOURCES) $(nml_test_read_SOURCES) \ + $(nml_test_server_SOURCES) \ + $(nml_test_single_process_queue_test_SOURCES) \ + $(nml_test_write_SOURCES) $(nmlcfg_SOURCES) \ + $(nmlcfgsvr_SOURCES) $(nmlclean_SOURCES) $(nmltest_SOURCES) \ + $(oedm_xml2nmlh_SOURCES) $(plotter_NB_jar_SOURCES) \ + $(posix_sem_unlink_SOURCES) $(posix_shm_unlink_SOURCES) \ + $(pvjscript_jar_SOURCES) $(rcs_jar_SOURCES) \ + $(rcsDesign_jar_SOURCES) $(testpmc_SOURCES) \ + $(testpmcpp_SOURCES) $(ttytest_SOURCES) $(xsd2nmlh_SOURCES) +DIST_SOURCES = $(libposemath_la_SOURCES) $(librcs_la_SOURCES) \ + $(EXTRA_librcs_la_SOURCES) $(CodeGenCmdLine_jar_SOURCES) \ + $(diag_NB_jar_SOURCES) $(etime_print_SOURCES) \ + $(nmlGetRemoteTcpServerBufferInfo_SOURCES) \ + $(nmlGetRemoteTcpServerBufferList_SOURCES) \ + $(nml_packed_file_to_csv_SOURCES) \ + $(nml_test_blocking_read_SOURCES) \ + $(nml_test_get_queue_length_SOURCES) \ + $(nml_test_get_space_available_SOURCES) \ + $(nml_test_nmlset_SOURCES) $(nml_test_read_SOURCES) \ + $(nml_test_server_SOURCES) \ + $(nml_test_single_process_queue_test_SOURCES) \ + $(nml_test_write_SOURCES) $(nmlcfg_SOURCES) \ + $(nmlcfgsvr_SOURCES) $(nmlclean_SOURCES) $(nmltest_SOURCES) \ + $(oedm_xml2nmlh_SOURCES) $(plotter_NB_jar_SOURCES) \ + $(posix_sem_unlink_SOURCES) $(posix_shm_unlink_SOURCES) \ + $(pvjscript_jar_SOURCES) $(rcs_jar_SOURCES) \ + $(rcsDesign_jar_SOURCES) $(testpmc_SOURCES) \ + $(testpmcpp_SOURCES) $(ttytest_SOURCES) $(xsd2nmlh_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +DATA = $(pkgconfig_DATA) +HEADERS = $(include_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck +ETAGS = etags +CTAGS = ctags +am__tty_colors = \ +red=; grn=; lgn=; blu=; std= +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CONFIGURED_EXTRA_INCLUDES = @CONFIGURED_EXTRA_INCLUDES@ +CONFIGURED_PROGRAMS = @CONFIGURED_PROGRAMS@ +CONFIGURED_SUBDIRS = @CONFIGURED_SUBDIRS@ +CONFIGURED_TESTS = @CONFIGURED_TESTS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CHECK_PROGRAMS = @EXTRA_CHECK_PROGRAMS@ +FGREP = @FGREP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSEMATH_CFLAGS = @POSEMATH_CFLAGS@ +POSEMATH_CXXFLAGS = @POSEMATH_CXXFLAGS@ +RANLIB = @RANLIB@ +RCSLIB_EXTRA_OBJS = @RCSLIB_EXTRA_OBJS@ +RCSRTAILIB_EXTRA_OBJS = @RCSRTAILIB_EXTRA_OBJS@ +RCSRTLLIB_EXTRA_OBJS = @RCSRTLLIB_EXTRA_OBJS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TEST_CFLAGS = @TEST_CFLAGS@ +TEST_CXXFLAGS = @TEST_CXXFLAGS@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +have_pkg_config = @have_pkg_config@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +ACLOCAL_AMFLAGS = -I m4 +lib_LTLIBRARIES = librcs.la libposemath.la +bin_PROGRAMS = @CONFIGURED_PROGRAMS@ +#lib_LIBRARIES=@CONFIGURED_STATIC_LIBRARIES@ +SUBDIRS = @CONFIGURED_SUBDIRS@ +bin_SCRIPTS = etc/jdk_dir.sh etc/ipc-clear.sh etc/diag_NB.sh etc/find_diag_NB_jar.sh etc/check_core_files.sh etc/wait_for.sh etc/first_screen.sh etc/last_screen.sh etc/kill_with_timeout.sh etc/screen_x.sh etc/attach_screen.sh etc/attach_gdb.sh etc/run_cmd_and_wait.sh etc/debug_core.sh etc/CodeGen.sh etc/jre_dir.sh etc/execfile_from_core.sh etc/plot.sh etc/find_plotter_NB_jar.sh + +#EXTRA_LIBRARIES= librcsrtai.a librcsrtl.a +xsd2nmlh_SOURCES = src/print/rcs_prnt.cc src/os_intf/_timer.c src/cms/cms_xml_up.cc src/stg_clss/linklist.cc +xsd2nmlh_CXXFLAGS = -DXML_SCHEMA_TO_HEADER +xsd2nmlh_CFLAGS = -DXML_SCHEMA_TO_HEADER +oedm_xml2nmlh_SOURCES = src/print/rcs_prnt.cc src/os_intf/_timer.c src/cms/cms_xml_up.cc src/stg_clss/linklist.cc +oedm_xml2nmlh_CXXFLAGS = -DXML_SCHEMA_TO_HEADER -DOE_DM +oedm_xml2nmlh_CFLAGS = -DXML_SCHEMA_TO_HEADER -DOE_DM +CodeGenCmdLine_jar_SOURCES = +CodeGenCmdLine_jar_DEPENDENCIES = \ + src/java/diagapplet/CodeGen/BufferInfo.java \ + src/java/diagapplet/CodeGen/ChannelInfo.java \ + src/java/diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCmdLine.java \ + src/java/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface2.java \ + src/java/diagapplet/CodeGen/SplitInfoToken.java \ + src/java/diagapplet/CodeGen/StringFuncs.java \ + src/java/diagapplet/CodeGen/C_Generator.java \ + src/java/diagapplet/CodeGen/Ada_Generator.java \ + src/java/diagapplet/CodeGen/CodeGenCommon.java \ + src/java/diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + src/java/diagapplet/CodeGen/DefinedValue.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDict.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLmsg.java \ + src/java/diagapplet/CodeGen/EnumTypeInfo.java \ + src/java/diagapplet/CodeGen/ModuleInfo.java \ + src/java/diagapplet/CodeGen/ModuleInfoInterface.java \ + src/java/diagapplet/CodeGen/ServerInfo.java \ + src/java/diagapplet/CodeGen/StructureList.java \ + src/java/diagapplet/CodeGen/StructureTypeInfo.java + +CodeGenCmdLine_jar_LINK = $(top_srcdir)/src/java/build_CodeGenCmdLine_jar.sh +diag_NB_jar_SOURCES = +diag_NB_jar_DEPENDENCIES = \ + src/java/diagapplet/diag_NB_UI.java \ + src/java/diagapplet/MessageFileJFrame.java \ + src/java/diagapplet/HierarchyDraw.java \ + src/java/diagapplet/PlotTracker.java \ + src/java/diagapplet/diagicon.png + +diag_NB_jar_LINK = $(top_srcdir)/src/java/build_diag_NB_jar.sh +pvjscript_jar_SOURCES = +pvjscript_jar_DEPENDENCIES = \ + src/java/pvjscript/Main.java \ + src/java/pvjscript/ProcessView.java + +pvjscript_jar_LINK = $(top_srcdir)/src/java/build_pvjscript_jar.sh +plotter_NB_jar_SOURCES = +plotter_NB_jar_DEPENDENCIES = \ + src/java/diagapplet/utils/URlLoadInfoFrame.java \ + src/java/diagapplet/utils/URLLoadInfoJPanel.java \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/plotter/PlotterCommon.java \ + src/java/diagapplet/plotter/ColorEditor.java \ + src/java/diagapplet/plotter/ColorRenderer.java \ + src/java/diagapplet/plotter/PlotData.java \ + src/java/diagapplet/plotter/PlotPoint.java \ + src/java/diagapplet/plotter/PlotGraphScreenMap.java \ + src/java/diagapplet/plotter/PlotLoader.java \ + src/java/diagapplet/plotter/PlotGraphJPanel.java \ + src/java/diagapplet/plotter/plotter_NB_UI.java \ + src/java/diagapplet/plotter/plotterJFrame.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.java \ + src/java/diagapplet/plotter/ParseOptions.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.form \ + src/java/diagapplet/plotter/StatsTextJFrame.java \ + src/java/diagapplet/plotter/StatsTextJFrame.form + +plotter_NB_jar_LINK = $(top_srcdir)/src/java/build_plotter_NB_jar.sh +rcsDesign_jar_SOURCES = +rcsDesign_jar_DEPENDENCIES = \ + src/java/rcsdesign/InnerAppletRepainter.java \ + src/java/rcsdesign/rcsdesignModuleInfo.java \ + src/java/rcsdesign/AutoSizedTextArea.java \ + src/java/rcsdesign/MakeFileRunner.java \ + src/java/rcsdesign/QueryStringDialog.java \ + src/java/rcsdesign/rcsDesignWriter.java \ + src/java/rcsdesign/rcsDesign.java \ + src/java/rcsdesign/Merger.java \ + src/java/rcsdesign/QueryDialog.java \ + src/java/rcsdesign/ListElement.java \ + src/java/rcsdesign/rcsDesignGui.java \ + src/java/rcsdesign/AlertDialog.java \ + src/java/rcsdesign/rcsDesignUserAbortException.java \ + src/java/rcsdesign/AlphabetizedList.java \ + src/java/rcsdesign/rcsDesignWriterInfo.java \ + src/java/rcsdesign/rcsdesignFrame.java \ + src/java/rcsdesign/rcsdesignMainLoopInfo.java \ + src/java/rcsdesign/FileTypeInfo.java + +rcsDesign_jar_LINK = $(top_srcdir)/src/java/build_rcsDesign_jar.sh +rcs_jar_SOURCES = +rcs_jar_DEPENDENCIES = \ + src/java/rcs/nml/MsgToTimeStamp.java \ + src/java/rcs/nml/LogTimeEntry.java \ + src/java/rcs/nml/NMLSingleVarLogItem.java \ + src/java/rcs/nml/NMLSingleVarLog.java \ + src/java/rcs/nml/DISPFormatConverter.java \ + src/java/rcs/nml/NMLConfigInfo.java \ + src/java/rcs/nml/NMLBufferConfigInfo.java \ + src/java/rcs/nml/NMLConnectionInterface.java \ + src/java/rcs/nml/NMLConnectionCreatorInterface.java \ + src/java/rcs/nml/NMLConnectionCreator.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NMLConnection.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NMLException.java \ + src/java/rcs/nml/NMLFormatConverter.java \ + src/java/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + src/java/rcs/nml/NMLFormatConverterBase.java \ + src/java/rcs/nml/NMLMessageDictionary.java \ + src/java/rcs/nml/NML_DISPLAY.java \ + src/java/rcs/nml/NML_ENUM_INFO.java \ + src/java/rcs/nml/NML_ERROR.java \ + src/java/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + src/java/rcs/nml/NML_TEXT.java \ + src/java/rcs/nml/NMLmsg.java \ + src/java/rcs/nml/NonBlockingDatagramSocket.java \ + src/java/rcs/nml/RCS_CMD_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG_V2.java \ + src/java/rcs/nml/time_tracker.java \ + src/java/rcs/nml/XDRFormatConverter.java \ + src/java/rcs/nml/PackedFormatConverter.java \ + src/java/rcs/nml/XMLFormatConverter.java \ + src/java/rcs/nml/debugInfo.java \ + src/java/rcs/nml/errlogMsgDict.java \ + src/java/rcs/nml/nmlperf.java \ + src/java/rcs/nml/perftypeMsgDict.java \ + src/java/rcs/nml/CMS_TIME.java \ + src/java/rcs/nml/CMS_DATE.java \ + src/java/rcs/posemath/PM_CARTESIAN.java \ + src/java/rcs/posemath/PM_CIRCLE.java \ + src/java/rcs/posemath/PM_CYLINDRICAL.java \ + src/java/rcs/posemath/PM_EULER_ZYX.java \ + src/java/rcs/posemath/PM_EULER_ZYZ.java \ + src/java/rcs/posemath/PM_HOMOGENEOUS.java \ + src/java/rcs/posemath/PM_LINE.java \ + src/java/rcs/posemath/PM_POSE.java \ + src/java/rcs/posemath/PM_XYA.java \ + src/java/rcs/posemath/PM_QUATERNION.java \ + src/java/rcs/posemath/PM_ROTATION_MATRIX.java \ + src/java/rcs/posemath/PM_ROTATION_VECTOR.java \ + src/java/rcs/posemath/PM_RPY.java \ + src/java/rcs/posemath/PM_SPHERICAL.java \ + src/java/rcs/posemath/PmCartesian.java \ + src/java/rcs/posemath/PmCircle.java \ + src/java/rcs/posemath/PmCylindrical.java \ + src/java/rcs/posemath/PmEulerZyx.java \ + src/java/rcs/posemath/PmEulerZyz.java \ + src/java/rcs/posemath/PmException.java \ + src/java/rcs/posemath/PmHomogeneous.java \ + src/java/rcs/posemath/PmLine.java \ + src/java/rcs/posemath/PmPose.java \ + src/java/rcs/posemath/PmQuaternion.java \ + src/java/rcs/posemath/PmRotationMatrix.java \ + src/java/rcs/posemath/PmRotationVector.java \ + src/java/rcs/posemath/PmRpy.java \ + src/java/rcs/posemath/PmSpherical.java \ + src/java/rcs/posemath/Posemath.java \ + src/java/rcs/posemath/testpm.java \ + src/java/rcs/utils/CorrectedPipeData.java \ + src/java/rcs/utils/CorrectedPipedInputStream.java \ + src/java/rcs/utils/CorrectedPipedOutputStream.java \ + src/java/rcs/utils/CorrectedPipedInputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + src/java/rcs/utils/SimpleFileFilter.java \ + src/java/rcs/utils/StrToLong.java \ + src/java/rcs/utils/URL_and_FileLoader.java \ + src/java/rcs/utils/rcs_states.java \ + src/java/rcs/utils/StackTracePrinter.java \ + src/java/rcs/utils/jcrypt.java \ + src/java/rcs/utils/StrToInt.java + +rcs_jar_LINK = $(top_srcdir)/src/java/build_rcs_jar.sh +posix_shm_unlink_SOURCES = src/os_intf/posix_shm_unlink.c +posix_sem_unlink_SOURCES = src/os_intf/posix_sem_unlink.c +nmltest_SOURCES = src/cms/nmltest.cc +nmltest_LDADD = librcs.la +nmlcfgsvr_SOURCES = src/cms/nmlcfgsvr.cc +nmlcfgsvr_LDADD = librcs.la +nmlclean_SOURCES = src/cms/nmlclean.cc +nmlclean_LDADD = librcs.la +nmlcfg_SOURCES = src/cms/nmlcfg.cc +nmlcfg_LDADD = librcs.la +ttytest_SOURCES = src/cms/ttytest.c +ttytest_LDADD = librcs.la +nmlGetRemoteTcpServerBufferList_SOURCES = src/cms/nmlGetRemoteTcpServerBufferList.cc +nmlGetRemoteTcpServerBufferList_LDADD = librcs.la +nmlGetRemoteTcpServerBufferInfo_SOURCES = src/cms/nmlGetRemoteTcpServerBufferInfo.cc +nmlGetRemoteTcpServerBufferInfo_LDADD = librcs.la +libposemath_la_SOURCES = src/posemath/_posemath.c \ + src/posemath/_mathprnt.c \ + src/posemath/posemath.cc \ + src/posemath/mathprnt.cc \ + src/posemath/sincos.c + + +#libposemath_la_LDFLAGS= -version-number 2014:3:21 +libposemath_la_LDFLAGS = -release 2014-03-21 +@POSEMATH_FLAGS_SET_TRUE@libposemath_la_CXXFLAGS = @POSEMATH_CXXFLAGS@ +@POSEMATH_FLAGS_SET_TRUE@libposemath_la_CFLAGS = @POSEMATH_CFLAGS@ + +#librcsrtai_a_DEPENDENCIES=@RCSRTAILIB_EXTRA_OBJS@ +#librcsrtl_a_DEPENDENCIES=@RCSRTLLIB_EXTRA_OBJS@ +# +#if HAVE_RTAI +# +#lib_LIBRARIES= librcsrtai.a +#EXTRA_librcsrtai_a_SOURCES= src/cms/rtlnml.c \ +# src/cms/rtai_kernel_api_implement.c +# +#librcsrtai_a_SOURCES= \ +# src/posemath/_posemath.c \ +# src/posemath/sincos.c +# +#librcsrtai_a_CFLAGS= @RTAICFLAGS@ -Drtai -DNO_STDIO_SUPPORT -O2 -ffast-math -DUSE_MY_ATAN2=1 +# +#librcsrtai_a_LIBADD= @RCSRTAILIB_EXTRA_OBJS@ +# +#INCLUDES= -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@RTAIDIR@/include -I@srcdir@/last_config/ +# +#else !HAVE_RTAI +#if HAVE_RTL +# +#INCLUDES= -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@RTLINUXDIR@/include -I@srcdir@/last_config/ +# +#EXTRA_librcsrtl_a_SOURCES= src/cms/rtlnml.c \ +# src/cms/rtlinux_kernel_api_implement.c +# +#librcsrtl_a_SOURCES= \ +# src/posemath/_posemath.c +# +#librcsrtl_a_CFLAGS=@RTLINUXCFLAGS@ -DNO_STDIO_SUPPORT -O2 -ffast-math +# +# +#librcsrtl_a_LIBADD= @RCSRTLLIB_EXTRA_OBJS@ +# +#else !HAVE_RTL +# +INCLUDES = -I@srcdir@/src -I@srcdir@/src/os_intf -I@srcdir@/src/print -I@srcdir@/src/stg_clss -I@srcdir@/src/posemath -I@srcdir@/src/cms -I@srcdir@/src/node -I@srcdir@/last_config/ +nml_packed_file_to_csv_SOURCES = \ + src/cms/nml_packed_file_to_csv.cc + + +# use nmltestblockingread.cc instead of nml_test_blocking_read.cc because of +# lame QNX problem with long filenames. +nml_test_blocking_read_SOURCES = \ + src/test/nmltestblockingread.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_blocking_read_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_blocking_read_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_blocking_read_CFLAGS = @TEST_CFLAGS@ +nml_test_write_SOURCES = \ + src/test/nml_test_write.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_write_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_write_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_write_CFLAGS = @TEST_CFLAGS@ +testpmcpp_SOURCES = \ + src/posemath/testpmcpp.cc + +testpmcpp_LDADD = libposemath.la +@TEST_FLAGS_SET_TRUE@testpmcpp_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@testpmcpp_CFLAGS = @TEST_CFLAGS@ +testpmc_SOURCES = \ + src/posemath/testpmc.c + +testpmc_LDADD = libposemath.la +@TEST_FLAGS_SET_TRUE@testpmc_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@testpmc_CFLAGS = @TEST_CFLAGS@ +nml_test_single_process_queue_test_SOURCES = \ + src/test/nml_test_single_process_queue_test.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_single_process_queue_test_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_single_process_queue_test_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_single_process_queue_test_CFLAGS = @TEST_CFLAGS@ +nml_test_get_queue_length_SOURCES = \ + src/test/nml_test_get_queue_length.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_get_queue_length_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_get_queue_length_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_get_queue_length_CFLAGS = @TEST_CFLAGS@ +nml_test_get_space_available_SOURCES = \ + src/test/nml_test_get_space_available.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_get_space_available_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_get_space_available_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_get_space_available_CFLAGS = @TEST_CFLAGS@ +etime_print_SOURCES = \ + src/test/etime_print.cc + +etime_print_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@etime_print_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@etime_print_CFLAGS = @TEST_CFLAGS@ +nml_test_nmlset_SOURCES = \ + src/test/nml_test_nmlset.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_nmlset_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_nmlset_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_nmlset_CFLAGS = @TEST_CFLAGS@ +nml_test_read_SOURCES = \ + src/test/nml_test_read.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_read_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_read_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_read_CFLAGS = @TEST_CFLAGS@ +nml_test_server_SOURCES = \ + src/test/nml_test_server.cc \ + src/test/otherheader_n.cc \ + src/test/nml_test_format_n.cc + +nml_test_server_LDADD = librcs.la +@TEST_FLAGS_SET_TRUE@nml_test_server_CXXFLAGS = @TEST_CXXFLAGS@ +@TEST_FLAGS_SET_TRUE@nml_test_server_CFLAGS = @TEST_CFLAGS@ +check_SCRIPTS = \ + etc/check_testnml_oemem.sh \ + etc/check_testnml_filemem.sh \ + etc/check_testnml_shmem.sh \ + etc/check_testnml_stcpdisp.sh \ + etc/check_testnml_stcpxml.sh \ + etc/check_testnml_tcpraw.sh \ + etc/check_testnml_tcpxdr.sh \ + etc/check_testnml_tcppacked.sh \ + etc/check_testnml_tcpxml.sh \ + etc/check_testnml_extras.sh \ + etc/check_testnml_udppacked.sh \ + etc/check_testnml_udpxdr.sh \ + etc/check_testnml_gdrs_im_packed.sh \ + etc/check_testnml_gdrs_im_xdr.sh \ + etc/check_testnml_nmlcfgsvr.sh \ + etc/check_testnml_locmem_tcp_packed.sh + +TESTS = @CONFIGURED_TESTS@ + +#librcs_la_LDFLAGS= -version-number 2014:3:21 +librcs_la_LDFLAGS = -release 2014-03-21 +librcs_la_DEPENDENCIES = @RCSLIB_EXTRA_OBJS@ +librcs_la_LIBADD = @RCSLIB_EXTRA_OBJS@ +EXTRA_librcs_la_SOURCES = \ + src/cms/nmlcms_c.cc \ + src/cms/posemath_c_n.c \ + src/os_intf/inifile.cc \ + src/os_intf/_inifile.c \ + src/cms/rtlnml.c \ + src/cms/rtlmem.cc \ + src/cms/rtlinux_user_api_implement.c \ + src/cms/rtlinux_kernel_api_implement.c \ + src/cms/rtai_user_api_implement.c \ + src/cms/rtai_kernel_api_implement.c \ + src/cms/filemem.cc \ + src/os_intf/sem.cc \ + src/os_intf/shm.cc \ + src/os_intf/_shm.c \ + src/os_intf/unix_sem.c \ + src/os_intf/vxworks_sem.c \ + src/os_intf/win32_sem.c \ + src/cms/memsem.cc\ + src/cms/cms_mrpq.cc\ + src/cms/globmem.cc \ + src/cms/shmem.cc \ + src/cms/oemem.cc \ + src/cms/oedsto.cc \ + src/cms/oemque.cc \ + src/cms/cms_xml_up.cc \ + src/cms/tcp_opts.cc \ + src/cms/tcpmem.cc \ + src/cms/sendn.c \ + src/cms/recvn.c \ + src/cms/tcp_srv.cc \ + src/cms/stcpopts.cc \ + src/cms/stcpmem.cc \ + src/cms/sendline.c \ + src/cms/recvline.c \ + src/cms/stcpsvr.cc \ + src/cms/crypt2.cc \ + src/cms/udpmem.cc \ + src/cms/udp_opts.cc \ + src/cms/udp_srv.cc \ + src/cms/gdrs_im_clnt.cc \ + src/cms/gdrs_im_srv.cc \ + src/cms/recvmsgt.c \ + src/cms/sendmsgt.c \ + src/cms/locmem.cc \ + src/cms/http_srv.cc \ + src/cms/httpnml.cc \ + src/cms/tty_srv.cc \ + src/cms/ttymem.cc \ + src/cms/ttyintf.c \ + src/cms/phantom.cc \ + src/os_intf/dbg_mem.cc \ + src/posemath/_posemath.c \ + src/posemath/_mathprnt.c \ + src/posemath/posemath.cc \ + src/posemath/mathprnt.cc \ + src/node/cmd_msg.cc \ + src/node/nml_mod.cc \ + src/node/nml_oi.cc \ + src/node/stat_msg.cc \ + src/node/stat_msg_v2_n.cc \ + src/node/timetracker_n.cc \ + src/node/timetracker_c_n.c \ + src/node/timetracker.cc \ + src/cms/nml_srv.cc \ + src/cms/cms_srv.cc \ + src/cms/cmssvrp.cc \ + src/cms/sokintrf.c \ + src/cms/nmlcfgsvr_clntcalls.cc \ + src/cms/nmlset.cc \ + src/cms/cms_xup.cc \ + src/cms/cms_pup.cc \ + src/cms/extxdrintf.c \ + src/cms/cms_dup.cc \ + src/cms/cmsdiag.cc \ + src/cms/nmldiag.cc \ + src/cms/nmlqr.cc \ + src/print/rcs_prnt.cc \ + src/cms/autokey.c \ + src/nt_xdr/xdr.c \ + src/nt_xdr/bcopy.c \ + src/nt_xdr/xdr_arra.c \ + src/nt_xdr/xdr_floa.c \ + src/nt_xdr/xdr_mem.c \ + src/nt_xdr/xdr_rec.c \ + src/nt_xdr/xdr_refe.c \ + src/nt_xdr/xdr_stdi.c + +include_HEADERS = \ + src/rcs.hh \ + src/rcs_svn_vers.hh \ + src/rcsvers.hh \ + src/print/rcs_prnt.hh \ + src/stg_clss/linklist.hh \ + src/cms/nmlmsg.hh \ + src/cms/msg_to_encoded_data.hh\ + src/cms/nml.hh \ + src/cms/cms_user.hh \ + src/cms/cms.hh \ + src/cms/cms_types.hh \ + src/cms/cms_datetime.hh \ + src/cms/cms_cfg.hh \ + src/cms/nmlcfgsvr_clntcalls.hh \ + src/cms/nmlset.hh \ + src/cms/rem_msg.hh \ + src/cms/httpnml.hh \ + src/posemath/posemath.h \ + src/posemath/mathprnt.h \ + src/node/cmd_msg.hh \ + src/node/stat_msg.hh \ + src/node/stat_msg_v2.hh \ + src/node/stat_msg_v2_n_codegen_protos.hh \ + src/node/timetracker.hh \ + src/node/timetracker_c_n.h \ + src/node/wm_msg.hh \ + src/node/nml_oi.hh \ + src/cms/cmsdiag.hh \ + src/cms/nmldiag.hh \ + src/cms/cms_srv.hh \ + src/cms/nml_srv.hh \ + src/os_intf/timer.hh \ + src/os_intf/rcs_exit.hh \ + src/os_intf/inifile.h \ + src/cms/nmlcms_c.h \ + src/cms/posemath_c_n.h \ + src/cms/nmlmacros.h \ + src/cms/cms_enum_info.h \ + src/node/nml_mod.hh \ + src/cms/nmlqr.hh \ + src/os_intf/inetfile.hh \ + src/rcsvers.hh \ + src/os_intf/_timer.h \ + src/os_intf/_shm.h \ + src/cms/rtlnml.h \ + src/cms/ttyintf.h \ + src/os_intf/rcs_mnmxtotal.hh + +librcs_la_SOURCES = src/rcsvers.c\ + src/os_intf/inetnull.cc\ + src/os_intf/timer.cc\ + src/os_intf/_timer.c\ + src/print/sepwords.cc \ + src/cms/cms.cc\ + src/cms/cms_cfg.cc\ + src/cms/cms_datetime.cc\ + src/cms/cms_in.cc\ + src/cms/cms_pm.cc\ + src/cms/cms_up.cc\ + src/cms/nml.cc\ + src/cms/msg_to_encoded_data.cc\ + src/cms/nmlmsg.cc\ + src/cms/physmem.cc\ + src/stg_clss/linklist.cc + +EXTRA_DIST = \ + src/JScreenSwitcher/build.xml \ + src/JScreenSwitcher/manifest.mf \ + src/JScreenSwitcher/nbproject/build-impl.xml \ + src/JScreenSwitcher/nbproject/genfiles.properties \ + src/JScreenSwitcher/nbproject/project.properties \ + src/JScreenSwitcher/nbproject/project.xml \ + src/JScreenSwitcher/src/JScreenSwitcher/JScreenSwitcherGtkVteFrame.java \ + src/java/diag.jnlp \ + src/java/plotter.jnlp \ + acinclude.m4 \ + aclocal.m4 \ + add_header.sh \ + add_header_to_all.sh \ + AUTHORS \ + bootstrap \ + ChangeLog \ + CHANGES.TXT \ + cleanup.sh \ + commit_check_instructions.txt \ + compile \ + config.guess \ + config.sub \ + configure \ + rcslib.pc.in \ + configure.ac \ + COPYING \ + depcomp \ + doc/nml_ex1_n_codegen_protos.hh \ + doc/nml_set_host_alias_ex.cc \ + doc/index.html \ + doc/c++_ex3.cc \ + doc/utilex3b.cc \ + doc/foldop.gif \ + doc/vrmlnml_outline.html \ + doc/ex_msg_file.EXAMPLE_MSG_TYPE \ + doc/utilex2.cc \ + doc/design-hierarchy.gif \ + doc/plattable.gif \ + doc/Screenshot-ex_msg_file.EXAMPLE_MSG_TYPE.png \ + doc/Makefiles.html \ + doc/getrcs.html \ + doc/diag_splash.gif \ + doc/javaintf_old.html \ + doc/EXAMPLE_MSG_TYPE_map.csv \ + doc/NMLtoc.html \ + doc/c++_ex4.cc \ + doc/rcsvers.html \ + doc/folder03.gif \ + doc/ex_v2_msg_file.EXAMPLE_MSG_TYPE \ + doc/cgtester_n_codegen_protos.hh \ + doc/cms_hier.gif \ + doc/exCmd.hh \ + doc/ex_cfg.nml \ + doc/ex_v2_xml_to_packed.cc \ + doc/write_mem_map.cc \ + doc/socapplet/start_servers.log \ + doc/socapplet/timesvr.log \ + doc/socapplet/socapplet.html \ + doc/socapplet/socapplet.ncb \ + doc/socapplet/socapplet.java \ + doc/socapplet/CountButton.class \ + doc/socapplet/start_servers.cgi \ + doc/socapplet/socapplet.mdp \ + doc/socapplet/CountButton.java \ + doc/socapplet/socapplet.class \ + doc/socapplet/kill_servers_top.html \ + doc/socapplet/wtimer.log \ + doc/socapplet/socapplet.cgi \ + doc/socapplet/timetype.hh \ + doc/socapplet/kill_servers.cgi \ + doc/socapplet/socapplet.nml \ + doc/socapplet/kill_servers_bottom.html \ + doc/socapplet/wtimer.cc \ + doc/socapplet/wtimer.pid \ + doc/socapplet/javaintf.html \ + doc/socapplet/socapplet.mak \ + doc/socapplet/timesvr.pid \ + doc/socapplet/CountButton.dep \ + doc/socapplet/timetype.cc \ + doc/socapplet/timesvr.cc \ + doc/socapplet/kill_servers.top.html \ + doc/socapplet/kill_servers.html \ + doc/socapplet/socapplet.dep \ + doc/socapplet/delete_logs.cgi \ + doc/exCmd_n_codegen_protos.hh \ + doc/diag_graph_small.png \ + doc/echo_types.hh \ + doc/papers/Image14.gif \ + doc/papers/merger.gif \ + doc/papers/Image13.gif \ + doc/papers/Image17.gif \ + doc/papers/Image15.gif \ + doc/papers/Image18.gif \ + doc/papers/javatool.htm \ + doc/papers/devproc.gif \ + doc/papers/Appendix.htm \ + doc/papers/Image16.gif \ + doc/papers/Image12.gif \ + doc/NMLjava.html \ + doc/utilex5w.cpp \ + doc/design-loops.gif \ + doc/redirect.nml \ + doc/nml_ex.gif \ + doc/exCmd_n.cc \ + doc/mcps.cpp \ + doc/nmlcfgsvr.html \ + doc/ex_msg_file.xml \ + doc/nml_test_format_n_codegen_protos.hh \ + doc/nml_test_format.hh \ + doc/reloader.html \ + doc/NML.html \ + doc/Attachment.html \ + doc/nml_emc.hh \ + doc/exStat.hh \ + doc/utilex4.cc \ + doc/emc_links.html \ + doc/nmlperf.html \ + doc/c++_ex6.cc \ + doc/javadesign.html \ + doc/nmlspace.gif \ + doc/c++_ex5.cc \ + doc/dirtable.ps \ + doc/folder05.gif \ + doc/newnmlcfg-Oct-1999.html \ + doc/nmlperf.cc \ + doc/simple_data_playback.cc \ + doc/posemathdoc/index.html \ + doc/posemathdoc/rcs.posemath.PM_CARTESIAN.html \ + doc/posemathdoc/rcs.posemath.PM_ROTATION_VECTOR.html \ + doc/posemathdoc/rcs.posemath.PmHomogeneous.html \ + doc/posemathdoc/rcs.posemath.PmPose.html \ + doc/posemathdoc/rcs.posemath.PmRotationMatrix.html \ + doc/posemathdoc/rcs.posemath.PmException.html \ + doc/posemathdoc/AllNames.html \ + doc/posemathdoc/rcs.posemath.PM_ROTATION_MATRIX.html \ + doc/posemathdoc/packages.html \ + doc/posemathdoc/rcs.posemath.PM_LINE.html \ + doc/posemathdoc/rcs.posemath.PM_CYLINDRICAL.html \ + doc/posemathdoc/rcs.posemath.PmCartesian.html \ + doc/posemathdoc/rcs.posemath.PM_POSE.html \ + doc/posemathdoc/rcs.posemath.PM_XYA.html \ + doc/posemathdoc/rcs.posemath.PmRotationVector.html \ + doc/posemathdoc/rcs.posemath.PmSpherical.html \ + doc/posemathdoc/rcs.posemath.Posemath.html \ + doc/posemathdoc/rcs.posemath.PmRpy.html \ + doc/posemathdoc/rcs.posemath.PM_EULER_ZYX.html \ + doc/posemathdoc/rcs.posemath.PmQuaternion.html \ + doc/posemathdoc/rcs.posemath.PmEulerZyz.html \ + doc/posemathdoc/PoseMathCpp.htm \ + doc/posemathdoc/rcs.posemath.PM_SPHERICAL.html \ + doc/posemathdoc/rcs.posemath.PM_CIRCLE.html \ + doc/posemathdoc/rcs.posemath.PM_RPY.html \ + doc/posemathdoc/rcs.posemath.PmCircle.html \ + doc/posemathdoc/rcs.posemath.PM_EULER_ZYZ.html \ + doc/posemathdoc/rcs.posemath.testpm.html \ + doc/posemathdoc/rcs.posemath.PM_QUATERNION.html \ + doc/posemathdoc/rcs.posemath.PmEulerZyx.html \ + doc/posemathdoc/rcs.posemath.PM_HOMOGENEOUS.html \ + doc/posemathdoc/tree.html \ + doc/posemathdoc/rcs.posemath.PmCylindrical.html \ + doc/posemathdoc/rcs.posemath.PmLine.html \ + doc/nml_ex10.cc \ + doc/nml_ex3.cc \ + doc/NML_Ada.html \ + doc/myconf.xsl \ + doc/pfr_ex.java \ + doc/nml_ex5.cc \ + doc/nml_test_format_bak.hh \ + doc/nml_module.html \ + doc/ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE \ + doc/ex_set.html \ + doc/roots.hh \ + doc/c++_ex2.cc \ + doc/make.gif \ + doc/Bullet5.gif \ + doc/nml_ex9.cc \ + doc/diag_graph.png \ + doc/nml_emc.html \ + doc/exStat_n_codegen_protos.hh \ + doc/timetype.hh \ + doc/utilex3.hh \ + doc/roots.cc \ + doc/myhosts \ + doc/nmlqr.html \ + doc/nml_test_read.cc \ + doc/nml_test_format_n.cc \ + doc/qC++toc.html \ + doc/folderop.gif \ + doc/perftype.hh \ + doc/vbar.gif \ + doc/fig1.gif \ + doc/l64notes.html \ + doc/diagicon.jpg \ + doc/nml_test_write.cc \ + doc/nmlperf.hh \ + doc/plotter.jnlp \ + doc/wtimer.cc \ + doc/design-codegen.gif \ + doc/utils.html \ + doc/mods.html \ + doc/diag_details_small.png \ + doc/NMLbuild3.png \ + doc/nml-tutorial.pdf \ + doc/dirtable.html \ + doc/javaintf.html \ + doc/plattable.html \ + doc/javadoc/index.html \ + doc/javadoc/allclasses-noframe.html \ + doc/javadoc/overview-frame.html \ + doc/javadoc/overview-summary.html \ + doc/javadoc/help-doc.html \ + doc/javadoc/rcs/utils/class-use/StrToLong.html \ + doc/javadoc/rcs/utils/class-use/StrToInt.html \ + doc/javadoc/rcs/utils/class-use/SimpleFileFilter.html \ + doc/javadoc/rcs/utils/class-use/StackTracePrinter.html \ + doc/javadoc/rcs/utils/class-use/CorrectedPipedInputStream.html \ + doc/javadoc/rcs/utils/class-use/rcs_states.html \ + doc/javadoc/rcs/utils/class-use/CorrectedPipedOutputStream.html \ + doc/javadoc/rcs/utils/class-use/jcrypt.html \ + doc/javadoc/rcs/utils/class-use/URL_and_FileLoader.html \ + doc/javadoc/rcs/utils/StrToLong.html \ + doc/javadoc/rcs/utils/package-summary.html \ + doc/javadoc/rcs/utils/package-use.html \ + doc/javadoc/rcs/utils/StrToInt.html \ + doc/javadoc/rcs/utils/SimpleFileFilter.html \ + doc/javadoc/rcs/utils/StackTracePrinter.html \ + doc/javadoc/rcs/utils/CorrectedPipedInputStream.html \ + doc/javadoc/rcs/utils/rcs_states.html \ + doc/javadoc/rcs/utils/CorrectedPipedOutputStream.html \ + doc/javadoc/rcs/utils/package-frame.html \ + doc/javadoc/rcs/utils/jcrypt.html \ + doc/javadoc/rcs/utils/package-tree.html \ + doc/javadoc/rcs/utils/URL_and_FileLoader.html \ + doc/javadoc/rcs/class-use/RCS_VERSION.html \ + doc/javadoc/rcs/RCS_VERSION.html \ + doc/javadoc/rcs/package-summary.html \ + doc/javadoc/rcs/package-use.html \ + doc/javadoc/rcs/posemath/PM_SPHERICAL.html \ + doc/javadoc/rcs/posemath/PM_EULER_ZYZ.html \ + doc/javadoc/rcs/posemath/class-use/PM_SPHERICAL.html \ + doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYZ.html \ + doc/javadoc/rcs/posemath/class-use/PM_HOMOGENEOUS.html \ + doc/javadoc/rcs/posemath/class-use/PmCartesian.html \ + doc/javadoc/rcs/posemath/class-use/PM_QUATERNION.html \ + doc/javadoc/rcs/posemath/class-use/PmSpherical.html \ + doc/javadoc/rcs/posemath/class-use/PM_LINE.html \ + doc/javadoc/rcs/posemath/class-use/PmCylindrical.html \ + doc/javadoc/rcs/posemath/class-use/PmEulerZyx.html \ + doc/javadoc/rcs/posemath/class-use/PmRotationMatrix.html \ + doc/javadoc/rcs/posemath/class-use/PM_ROTATION_MATRIX.html \ + doc/javadoc/rcs/posemath/class-use/PM_CIRCLE.html \ + doc/javadoc/rcs/posemath/class-use/PmEulerZyz.html \ + doc/javadoc/rcs/posemath/class-use/PmQuaternion.html \ + doc/javadoc/rcs/posemath/class-use/PM_CYLINDRICAL.html \ + doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYX.html \ + doc/javadoc/rcs/posemath/class-use/Posemath.html \ + doc/javadoc/rcs/posemath/class-use/PmRpy.html \ + doc/javadoc/rcs/posemath/class-use/PmCircle.html \ + doc/javadoc/rcs/posemath/class-use/PM_CARTESIAN.html \ + doc/javadoc/rcs/posemath/class-use/PmLine.html \ + doc/javadoc/rcs/posemath/class-use/PmException.html \ + doc/javadoc/rcs/posemath/class-use/PM_RPY.html \ + doc/javadoc/rcs/posemath/class-use/PmPose.html \ + doc/javadoc/rcs/posemath/class-use/PmRotationVector.html \ + doc/javadoc/rcs/posemath/class-use/PM_POSE.html \ + doc/javadoc/rcs/posemath/class-use/PM_XYA.html \ + doc/javadoc/rcs/posemath/class-use/PmHomogeneous.html \ + doc/javadoc/rcs/posemath/class-use/PM_ROTATION_VECTOR.html \ + doc/javadoc/rcs/posemath/PM_HOMOGENEOUS.html \ + doc/javadoc/rcs/posemath/PmCartesian.html \ + doc/javadoc/rcs/posemath/PM_QUATERNION.html \ + doc/javadoc/rcs/posemath/package-summary.html \ + doc/javadoc/rcs/posemath/PmSpherical.html \ + doc/javadoc/rcs/posemath/package-use.html \ + doc/javadoc/rcs/posemath/PM_LINE.html \ + doc/javadoc/rcs/posemath/PmCylindrical.html \ + doc/javadoc/rcs/posemath/PmEulerZyx.html \ + doc/javadoc/rcs/posemath/PmRotationMatrix.html \ + doc/javadoc/rcs/posemath/PM_ROTATION_MATRIX.html \ + doc/javadoc/rcs/posemath/PM_CIRCLE.html \ + doc/javadoc/rcs/posemath/PmEulerZyz.html \ + doc/javadoc/rcs/posemath/PmQuaternion.html \ + doc/javadoc/rcs/posemath/PM_CYLINDRICAL.html \ + doc/javadoc/rcs/posemath/PM_EULER_ZYX.html \ + doc/javadoc/rcs/posemath/Posemath.html \ + doc/javadoc/rcs/posemath/PmRpy.html \ + doc/javadoc/rcs/posemath/package-frame.html \ + doc/javadoc/rcs/posemath/PmCircle.html \ + doc/javadoc/rcs/posemath/PM_CARTESIAN.html \ + doc/javadoc/rcs/posemath/PmLine.html \ + doc/javadoc/rcs/posemath/PmException.html \ + doc/javadoc/rcs/posemath/PM_RPY.html \ + doc/javadoc/rcs/posemath/PmPose.html \ + doc/javadoc/rcs/posemath/PmRotationVector.html \ + doc/javadoc/rcs/posemath/PM_POSE.html \ + doc/javadoc/rcs/posemath/PM_XYA.html \ + doc/javadoc/rcs/posemath/PmHomogeneous.html \ + doc/javadoc/rcs/posemath/package-tree.html \ + doc/javadoc/rcs/posemath/PM_ROTATION_VECTOR.html \ + doc/javadoc/rcs/package-frame.html \ + doc/javadoc/rcs/nml/NMLFormatConvertErrCallbackInterface.html \ + doc/javadoc/rcs/nml/NMLConnectionCreatorInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConvertErrCallbackInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionCreatorInterface.html \ + doc/javadoc/rcs/nml/class-use/NMLSingleVarLogItem.html \ + doc/javadoc/rcs/nml/class-use/PackedFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/PackedFileReader.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionInterface.html \ + doc/javadoc/rcs/nml/class-use/NML_DISPLAY.html \ + doc/javadoc/rcs/nml/class-use/NMLErrorAppender.html \ + doc/javadoc/rcs/nml/class-use/XMLFileReader.html \ + doc/javadoc/rcs/nml/class-use/CMS_TIME.html \ + doc/javadoc/rcs/nml/class-use/XMLFileWriter.html \ + doc/javadoc/rcs/nml/class-use/NMLSingleVarLog.html \ + doc/javadoc/rcs/nml/class-use/time_tracker.html \ + doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG_V2.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConverterBase.html \ + doc/javadoc/rcs/nml/class-use/NMLConfigInfo.html \ + doc/javadoc/rcs/nml/class-use/NMLmsg.html \ + doc/javadoc/rcs/nml/class-use/PackedFileWriter.html \ + doc/javadoc/rcs/nml/class-use/NMLBufferConfigInfo.html \ + doc/javadoc/rcs/nml/class-use/NMLConnection.html \ + doc/javadoc/rcs/nml/class-use/CMS_DATE.html \ + doc/javadoc/rcs/nml/class-use/XMLFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG.html \ + doc/javadoc/rcs/nml/class-use/NML_ENUM_INFO.html \ + doc/javadoc/rcs/nml/class-use/NMLConnectionCreator.html \ + doc/javadoc/rcs/nml/class-use/XDRFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/NML_ERROR.html \ + doc/javadoc/rcs/nml/class-use/NMLMessageDictionary.html \ + doc/javadoc/rcs/nml/class-use/NML_TEXT.html \ + doc/javadoc/rcs/nml/class-use/errlogMsgDict.html \ + doc/javadoc/rcs/nml/class-use/NMLException.html \ + doc/javadoc/rcs/nml/class-use/debugInfo.html \ + doc/javadoc/rcs/nml/class-use/RCS_CMD_MSG.html \ + doc/javadoc/rcs/nml/class-use/NMLFormatConverter.html \ + doc/javadoc/rcs/nml/class-use/LogTimeEntry.html \ + doc/javadoc/rcs/nml/class-use/MsgToTimeStamp.html \ + doc/javadoc/rcs/nml/NMLSingleVarLogItem.html \ + doc/javadoc/rcs/nml/package-summary.html \ + doc/javadoc/rcs/nml/PackedFormatConverter.html \ + doc/javadoc/rcs/nml/PackedFileReader.html \ + doc/javadoc/rcs/nml/package-use.html \ + doc/javadoc/rcs/nml/NMLConnectionInterface.html \ + doc/javadoc/rcs/nml/NML_DISPLAY.html \ + doc/javadoc/rcs/nml/NMLErrorAppender.html \ + doc/javadoc/rcs/nml/XMLFileReader.html \ + doc/javadoc/rcs/nml/CMS_TIME.html \ + doc/javadoc/rcs/nml/XMLFileWriter.html \ + doc/javadoc/rcs/nml/NMLSingleVarLog.html \ + doc/javadoc/rcs/nml/time_tracker.html \ + doc/javadoc/rcs/nml/RCS_STAT_MSG_V2.html \ + doc/javadoc/rcs/nml/NMLFormatConverterBase.html \ + doc/javadoc/rcs/nml/NMLConfigInfo.html \ + doc/javadoc/rcs/nml/NMLmsg.html \ + doc/javadoc/rcs/nml/PackedFileWriter.html \ + doc/javadoc/rcs/nml/NMLBufferConfigInfo.html \ + doc/javadoc/rcs/nml/NMLConnection.html \ + doc/javadoc/rcs/nml/CMS_DATE.html \ + doc/javadoc/rcs/nml/XMLFormatConverter.html \ + doc/javadoc/rcs/nml/package-frame.html \ + doc/javadoc/rcs/nml/RCS_STAT_MSG.html \ + doc/javadoc/rcs/nml/NML_ENUM_INFO.html \ + doc/javadoc/rcs/nml/NMLConnectionCreator.html \ + doc/javadoc/rcs/nml/XDRFormatConverter.html \ + doc/javadoc/rcs/nml/NML_ERROR.html \ + doc/javadoc/rcs/nml/NMLMessageDictionary.html \ + doc/javadoc/rcs/nml/NML_TEXT.html \ + doc/javadoc/rcs/nml/errlogMsgDict.html \ + doc/javadoc/rcs/nml/NMLException.html \ + doc/javadoc/rcs/nml/debugInfo.html \ + doc/javadoc/rcs/nml/package-tree.html \ + doc/javadoc/rcs/nml/RCS_CMD_MSG.html \ + doc/javadoc/rcs/nml/NMLFormatConverter.html \ + doc/javadoc/rcs/nml/MsgToTimeStamp.html \ + doc/javadoc/rcs/nml/LogTimeEntry.html \ + doc/javadoc/rcs/package-tree.html \ + doc/javadoc/constant-values.html \ + doc/javadoc/rcsdesign/class-use \ + doc/javadoc/rcsdesign/class-use/rcsDesign.html \ + doc/javadoc/rcsdesign/class-use/rcsDesignGui.html \ + doc/javadoc/rcsdesign/package-summary.html \ + doc/javadoc/rcsdesign/package-use.html \ + doc/javadoc/rcsdesign/rcsDesign.html \ + doc/javadoc/rcsdesign/package-frame.html \ + doc/javadoc/rcsdesign/rcsDesignGui.html \ + doc/javadoc/rcsdesign/package-tree.html \ + doc/javadoc/overview-tree.html \ + doc/javadoc/stylesheet.css \ + doc/javadoc/index-all.html \ + doc/javadoc/diagapplet/utils/DiagErrorAppendInterface.html \ + doc/javadoc/diagapplet/utils/class-use/DiagErrorAppendInterface.html \ + doc/javadoc/diagapplet/utils/class-use/JListFastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/ImageJFrame.html \ + doc/javadoc/diagapplet/utils/class-use/ImageJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/DiagError.html \ + doc/javadoc/diagapplet/utils/class-use/WatchJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/WatchVarEditor.html \ + doc/javadoc/diagapplet/utils/class-use/FastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/ModifiedFileDialog.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanelInterface.html \ + doc/javadoc/diagapplet/utils/class-use/StandAloneApplet.html \ + doc/javadoc/diagapplet/utils/class-use/FastListContainer.html \ + doc/javadoc/diagapplet/utils/class-use/FastListPanelInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URlLoadInfoFrame.html \ + doc/javadoc/diagapplet/utils/class-use/CountButtonInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanel.html \ + doc/javadoc/diagapplet/utils/class-use/CountButton.html \ + doc/javadoc/diagapplet/utils/class-use/SaveImage.BAYER_PATTERN.html \ + doc/javadoc/diagapplet/utils/class-use/FakeFastListPanel.html \ + doc/javadoc/diagapplet/utils/class-use/CountListInterface.html \ + doc/javadoc/diagapplet/utils/class-use/URLLoadInfoJPanel.html \ + doc/javadoc/diagapplet/utils/class-use/fullScreenJPanelClass.html \ + doc/javadoc/diagapplet/utils/class-use/SaveImage.html \ + doc/javadoc/diagapplet/utils/class-use/CountList.html \ + doc/javadoc/diagapplet/utils/JListFastListPanel.html \ + doc/javadoc/diagapplet/utils/ImageJFrame.html \ + doc/javadoc/diagapplet/utils/package-summary.html \ + doc/javadoc/diagapplet/utils/package-use.html \ + doc/javadoc/diagapplet/utils/ImageJPanel.html \ + doc/javadoc/diagapplet/utils/DiagError.html \ + doc/javadoc/diagapplet/utils/WatchJPanel.html \ + doc/javadoc/diagapplet/utils/WatchVarEditor.html \ + doc/javadoc/diagapplet/utils/FastListPanel.html \ + doc/javadoc/diagapplet/utils/ModifiedFileDialog.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoPanelInterface.html \ + doc/javadoc/diagapplet/utils/StandAloneApplet.html \ + doc/javadoc/diagapplet/utils/FastListContainer.html \ + doc/javadoc/diagapplet/utils/FastListPanelInterface.html \ + doc/javadoc/diagapplet/utils/URlLoadInfoFrame.html \ + doc/javadoc/diagapplet/utils/CountButtonInterface.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoPanel.html \ + doc/javadoc/diagapplet/utils/CountButton.html \ + doc/javadoc/diagapplet/utils/SaveImage.BAYER_PATTERN.html \ + doc/javadoc/diagapplet/utils/package-frame.html \ + doc/javadoc/diagapplet/utils/FakeFastListPanel.html \ + doc/javadoc/diagapplet/utils/CountListInterface.html \ + doc/javadoc/diagapplet/utils/URLLoadInfoJPanel.html \ + doc/javadoc/diagapplet/utils/fullScreenJPanelClass.html \ + doc/javadoc/diagapplet/utils/SaveImage.html \ + doc/javadoc/diagapplet/utils/package-tree.html \ + doc/javadoc/diagapplet/utils/CountList.html \ + doc/javadoc/diagapplet/class-use \ + doc/javadoc/diagapplet/class-use/PainterInterface.html \ + doc/javadoc/diagapplet/class-use/auxBufferPreserve.html \ + doc/javadoc/diagapplet/class-use/plotSetPreserve.html \ + doc/javadoc/diagapplet/class-use/MessageFileJFrame.html \ + doc/javadoc/diagapplet/class-use/diag_NB_UI.html \ + doc/javadoc/diagapplet/class-use/HierarchyPanel.html \ + doc/javadoc/diagapplet/class-use/JPaintablePanel.html \ + doc/javadoc/diagapplet/class-use/diagPreserve.html \ + doc/javadoc/diagapplet/class-use/modulePreserve.html \ + doc/javadoc/diagapplet/class-use/plotTrackerPreserve.html \ + doc/javadoc/diagapplet/PainterInterface.html \ + doc/javadoc/diagapplet/package-summary.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.html \ + doc/javadoc/diagapplet/CodeGen/EnumTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCommon.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreatorInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/EnumTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommon.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ChannelInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/StructureTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/STI_TokenizerInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGen.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/LoadHierarchyUpdateInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/BufferInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/StringFuncs.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCmdLine.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreator.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfoInterface.html \ + doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDict.html \ + doc/javadoc/diagapplet/CodeGen/class-use/ServerInfo.html \ + doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommonInterface.html \ + doc/javadoc/diagapplet/CodeGen/ChannelInfo.html \ + doc/javadoc/diagapplet/CodeGen/package-summary.html \ + doc/javadoc/diagapplet/CodeGen/StructureTypeInfo.html \ + doc/javadoc/diagapplet/CodeGen/STI_TokenizerInterface.html \ + doc/javadoc/diagapplet/CodeGen/package-use.html \ + doc/javadoc/diagapplet/CodeGen/ModuleInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGen.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictInterface.html \ + doc/javadoc/diagapplet/CodeGen/LoadHierarchyUpdateInterface.html \ + doc/javadoc/diagapplet/CodeGen/BufferInfo.html \ + doc/javadoc/diagapplet/CodeGen/package-frame.html \ + doc/javadoc/diagapplet/CodeGen/StringFuncs.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCmdLine.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreator.html \ + doc/javadoc/diagapplet/CodeGen/ModuleInfoInterface.html \ + doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDict.html \ + doc/javadoc/diagapplet/CodeGen/package-tree.html \ + doc/javadoc/diagapplet/CodeGen/ServerInfo.html \ + doc/javadoc/diagapplet/CodeGen/CodeGenCommonInterface.html \ + doc/javadoc/diagapplet/auxBufferPreserve.html \ + doc/javadoc/diagapplet/package-use.html \ + doc/javadoc/diagapplet/plotSetPreserve.html \ + doc/javadoc/diagapplet/MessageFileJFrame.html \ + doc/javadoc/diagapplet/diag_NB_UI.html \ + doc/javadoc/diagapplet/HierarchyPanel.html \ + doc/javadoc/diagapplet/package-frame.html \ + doc/javadoc/diagapplet/JPaintablePanel.html \ + doc/javadoc/diagapplet/plotter/class-use/PlotGraphJPanel.html \ + doc/javadoc/diagapplet/plotter/class-use/plotterJFrame.html \ + doc/javadoc/diagapplet/plotter/class-use/plotter_NB_UI.html \ + doc/javadoc/diagapplet/plotter/class-use/PlotData.html \ + doc/javadoc/diagapplet/plotter/class-use/StatsTextJFrame.html \ + doc/javadoc/diagapplet/plotter/package-summary.html \ + doc/javadoc/diagapplet/plotter/PlotGraphJPanel.html \ + doc/javadoc/diagapplet/plotter/package-use.html \ + doc/javadoc/diagapplet/plotter/plotterJFrame.html \ + doc/javadoc/diagapplet/plotter/plotter_NB_UI.html \ + doc/javadoc/diagapplet/plotter/package-frame.html \ + doc/javadoc/diagapplet/plotter/PlotData.html \ + doc/javadoc/diagapplet/plotter/StatsTextJFrame.html \ + doc/javadoc/diagapplet/plotter/package-tree.html \ + doc/javadoc/diagapplet/diagPreserve.html \ + doc/javadoc/diagapplet/modulePreserve.html \ + doc/javadoc/diagapplet/package-tree.html \ + doc/javadoc/diagapplet/plotTrackerPreserve.html \ + doc/javadoc/package-list \ + doc/javadoc/allclasses-frame.html \ + doc/javadoc/serialized-form.html \ + doc/javadoc/deprecated-list.html \ + doc/javadoc/resources \ + doc/javadoc/resources/inherit.gif \ + doc/utilstoc.html \ + doc/javadiag.html \ + doc/design-options.gif \ + doc/nml_ex1_v2.cc \ + doc/node.issue.log \ + doc/perfsvr.cc \ + doc/dirtable.noimages.ps \ + doc/myconf.xml \ + doc/cgtester.hh \ + doc/diag.jnlp \ + doc/pfw_ex.java \ + doc/foldercl.gif \ + doc/NMLcfg.html \ + doc/bugs.html \ + doc/future_mods.html \ + doc/appstrut.gif \ + doc/ex_packed_to_xml.cc \ + doc/nmlperf.rh \ + doc/myconf.xsd \ + doc/design-files.gif \ + doc/timetype.cc \ + doc/nmlsubdiv.html \ + doc/nmlset.html \ + doc/nml_ex1.hh \ + doc/newnmlcfgex.cfg \ + doc/EXAMPLE_MSG.java \ + doc/quickC++.html \ + doc/CodeGen-Instructions.html \ + doc/nml_ex4.cc \ + doc/ex_cfgD.nml \ + doc/diag_details.png \ + doc/more_for_option_1.c \ + doc/NML_XML.html \ + doc/exampleMsgDict.java \ + doc/newnmlcfg.html \ + doc/emc.ini \ + doc/references.html \ + doc/nml_ex8.cc \ + doc/design-hierarchy.1.gif \ + doc/nml_old_ex3.cc \ + doc/utilex1.cc \ + doc/netscape-myconf-xml.png \ + doc/EXAMPLE_MSG_TYPE_map_v2.csv \ + doc/message_files.html \ + doc/foldcl.gif \ + doc/www_list.html \ + doc/dirtable.noimages.html \ + doc/README.DOS \ + doc/nml_ex6.cc \ + doc/NMLcpp.html \ + doc/nmlbuild.html \ + doc/write_mem_map_v2.cc \ + doc/timesvr.cc \ + doc/utilex5u.cc \ + doc/newnmlcfgex.nml \ + doc/tools/Image9.gif \ + doc/tools/Image5.gif \ + doc/tools/rcs-tools-walk-through-pc-version.html \ + doc/tools/Image11.gif \ + doc/tools/Image3.gif \ + doc/tools/Image4.gif \ + doc/tools/Image7.gif \ + doc/tools/Image1.gif \ + doc/tools/Image2.gif \ + doc/tools/rcs-tools-walk-through-unix-version.html \ + doc/tools/Image6.gif \ + doc/tools/Image12.gif \ + doc/tools/Image10.gif \ + doc/tools/Image8.gif \ + doc/diag_hierarchy.png \ + doc/nml_ex1.cc \ + doc/nml_ex2.cc \ + doc/make2.gif \ + doc/dirtree.gif \ + doc/utilex3a.cc \ + doc/diag_hierarchy_small.png \ + doc/Makefiles.ps \ + doc/nml_test_server.cc \ + doc/sockintf.html \ + doc/CMSinternal.html \ + doc/examine_logged_data.cc \ + doc/perftype.cc \ + doc/nml_test_nmlset.cc \ + doc/NMLcfg-June-2004.html \ + doc/exStat_n.cc \ + doc/timingdiag.html \ + doc/simple_data_logger.cc \ + doc/for_option_1.c \ + doc/c++_ex1.cc \ + doc/nml_ex1_v2.hh \ + doc/nml_ex1_n.cc \ + doc/echo_types_n_codegen_protos.hh \ + etc/addnewline.sed \ + etc/attach_gdb.sh \ + etc/attach_screen.sh \ + etc/cc_to_cpp.sh \ + etc/check_core_files.sh \ + etc/check_testnml_extras.sh \ + etc/check_testnml_filemem.sh \ + etc/check_testnml_gdrs_im_packed.sh \ + etc/check_testnml_gdrs_im_xdr.sh \ + etc/check_testnml_locmem_tcp_packed.sh \ + etc/check_testnml_nmlcfgsvr.sh \ + etc/check_testnml_oemem.sh \ + etc/check_testnml_shmem.sh \ + etc/check_testnml_stcpdisp.sh \ + etc/check_testnml_stcpxml.sh \ + etc/check_testnml_tcppacked.sh \ + etc/check_testnml_tcpraw.sh \ + etc/check_testnml_tcpxdr.sh \ + etc/check_testnml_tcpxml.sh \ + etc/check_testnml_udppacked.sh \ + etc/check_testnml_udpxdr.sh \ + etc/check_testnml_globmem.sh \ + etc/clean \ + etc/CodeGen \ + etc/splitdebug.sh \ + etc/CodeGen.sh \ + etc/darwin_1_3.def \ + etc/darwin.def \ + etc/debug_core.sh \ + etc/execfile_from_core.sh \ + etc/set_version_number.sh \ + etc/determineplat.def \ + etc/diag_NB.sh \ + etc/plot.sh \ + etc/diagnostics \ + etc/diagnostics-J1.1 \ + etc/diagnostics-J1.2 \ + etc/exec_in_dir \ + etc/find_diag_NB_jar.sh \ + etc/find_plotter_NB_jar.sh \ + etc/findsources.sh \ + etc/FinishUp \ + etc/generic.def \ + etc/generic_gnuwin32.def \ + etc/getlibtool.sh \ + etc/havertai.sh \ + etc/havertlinux.sh \ + etc/ipc-clear \ + etc/ipc-clear.sh \ + etc/irix5.def \ + etc/irix6.3.def \ + etc/irix64.def \ + etc/IRIX_6_5.def \ + etc/irix6.def \ + etc/irix6_n32.def \ + etc/irix6_o32.def \ + etc/javabase.def \ + etc/java.def \ + etc/JavaSetup \ + etc/jdk_dir.sh \ + etc/jre_dir.sh \ + etc/kill_with_timeout.sh \ + etc/linux.def \ + etc/linuxdir \ + etc/linuxkerneldir \ + etc/linuxppc.def \ + etc/linux_rtai.def \ + etc/linux_rtl.def \ + etc/Makefile \ + etc/makePlatWin32.sh \ + etc/mingw32.def \ + etc/multiplatbuild.sh \ + etc/nmakegen.def \ + etc/platname \ + etc/qnx_6_00.def \ + etc/qnx_6_1.def \ + etc/RCS-Design \ + etc/README.TXT \ + etc/realplat.sh \ + etc/rebuildconfig.sh \ + etc/rtai.def \ + etc/rtaidir \ + etc/rtlinux_2_0.def \ + etc/rtlinux_2_2.def \ + etc/rtlinux_2_3.def \ + etc/rtlinux_3_0.def \ + etc/rtlinux_3_2.def \ + etc/rtlinux.def \ + etc/rtlinuxdir.sh \ + etc/run \ + etc/run_cmd_and_wait.sh \ + etc/run_make \ + etc/screen_x.sh \ + etc/sunos_5_6.def \ + etc/sunos5.6.def \ + etc/sunos_5_8.def \ + etc/sunos5.def \ + etc/sunos5nothreads.def \ + etc/svn_refresh.sh \ + etc/tcltkincflags.sh \ + etc/tcltklibflags.sh \ + etc/template.def \ + etc/test_extras.sh \ + etc/testnmlcfgsvr_internal.sh \ + etc/testnml_internal.sh \ + etc/testnml.sh \ + etc/vxworks68k5.4.def \ + etc/vxworksppc5.4.def \ + etc/vxworksppc6.2.def \ + etc/wait_for.sh \ + etc/first_screen.sh \ + etc/last_screen.sh \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcproj \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj \ + etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcproj \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmltest/nmltest.plg \ + etc/win_vc_2010_express/rcs/rcs.vcproj \ + etc/win_vc_2010_express/rcs/rcs_config.h \ + etc/win_vc_2010_express/rcs/rcs.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.plg \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj \ + etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.plg \ + etc/win_vc_2010_express/rcs/rcs.sln \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj \ + etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.plg \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcproj \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj.filters \ + etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj \ + etc/win_vc_2010_express/rcs/rcs.vcxproj.filters \ + examples/GNUmakefile \ + examples/nml_w_diag/ex1.cfg \ + examples/nml_w_diag/ex1.diag \ + examples/nml_w_diag/GNUmakefile \ + examples/nml_w_diag/nml_ex1.hh \ + examples/nml_w_diag/nml_ex1_j_read.java \ + examples/nml_w_diag/nml_ex1_j_write.java \ + examples/nml_w_diag/nml_ex1_read.cc \ + examples/nml_w_diag/nml_ex1_svr.cc \ + examples/nml_w_diag/nml_ex1_write.cc \ + examples/nml_w_diag/README.TXT \ + examples/rcs_single_dir/my_app_common_statusn.hh \ + examples/rcs_single_dir/my_app_common_statusn_n_codegen_protos.hh \ + examples/rcs_single_dir/bg.hh \ + examples/rcs_single_dir/bgmain.cc \ + examples/rcs_single_dir/bg_module.cc \ + examples/rcs_single_dir/bgn_c_n.c \ + examples/rcs_single_dir/bgn_c_n.h \ + examples/rcs_single_dir/bgn.hh \ + examples/rcs_single_dir/bgn_n_codegen_protos.hh \ + examples/rcs_single_dir/bgprimservosvr.cc \ + examples/rcs_single_dir/diag_script.bash \ + examples/rcs_single_dir/.ec \ + examples/rcs_single_dir/GNUmakefile \ + examples/rcs_single_dir/obstacle_mapn_c_n.c \ + examples/rcs_single_dir/obstacle_mapn_c_n.h \ + examples/rcs_single_dir/obstacle_mapn.hh \ + examples/rcs_single_dir/obstacle_mapn_n_codegen_protos.hh \ + examples/rcs_single_dir/offsets.hh \ + examples/rcs_single_dir/pose_datan_c_n.c \ + examples/rcs_single_dir/pose_datan_c_n.h \ + examples/rcs_single_dir/pose_datan.hh \ + examples/rcs_single_dir/pose_datan_n_codegen_protos.hh \ + examples/rcs_single_dir/prim.hh \ + examples/rcs_single_dir/primmain.cc \ + examples/rcs_single_dir/prim_module.cc \ + examples/rcs_single_dir/primn_c_n.c \ + examples/rcs_single_dir/primn_c_n.h \ + examples/rcs_single_dir/primn.hh \ + examples/rcs_single_dir/primn_n_codegen_protos.hh \ + examples/rcs_single_dir/rcs_single_dir.cfg \ + examples/rcs_single_dir/rcs_single_dirmain.cc \ + examples/rcs_single_dir/rcs_single_dir.nml \ + examples/rcs_single_dir/rcs_single_dir.nml.local \ + examples/rcs_single_dir/rcs_single_dirsvr.cc \ + examples/rcs_single_dir/robot_super.hh \ + examples/rcs_single_dir/robot_supermain.cc \ + examples/rcs_single_dir/robot_super_module.cc \ + examples/rcs_single_dir/robot_supern_c_n.c \ + examples/rcs_single_dir/robot_supern_c_n.h \ + examples/rcs_single_dir/robot_supern.hh \ + examples/rcs_single_dir/robot_supern_n_codegen_protos.hh \ + examples/rcs_single_dir/robot_supersvr.cc \ + examples/rcs_single_dir/run_and_wait.sh \ + examples/rcs_single_dir/run.rcs_single_dir \ + examples/rcs_single_dir/sensor_datan_c_n.c \ + examples/rcs_single_dir/sensor_datan_c_n.h \ + examples/rcs_single_dir/sensor_datan.hh \ + examples/rcs_single_dir/sensor_datan_n_codegen_protos.hh \ + examples/rcs_single_dir/servo_cmd_setn.hh \ + examples/rcs_single_dir/servo_cmd_setn_n_codegen_protos.hh \ + examples/rcs_single_dir/servo.hh \ + examples/rcs_single_dir/servomain.cc \ + examples/rcs_single_dir/servo_module.cc \ + examples/rcs_single_dir/servon_c_n.c \ + examples/rcs_single_dir/servon_c_n.h \ + examples/rcs_single_dir/servon.hh \ + examples/rcs_single_dir/servon_n_codegen_protos.hh \ + examples/rcs_single_dir/servo_stat_cfgn.hh \ + examples/rcs_single_dir/servo_stat_cfgn_n_codegen_protos.hh \ + examples/rcs_single_dir/sp.hh \ + examples/rcs_single_dir/spmain.cc \ + examples/rcs_single_dir/sp_module.cc \ + examples/rcs_single_dir/spn_c_n.c \ + examples/rcs_single_dir/spn_c_n.h \ + examples/rcs_single_dir/spn.hh \ + examples/rcs_single_dir/spn_n_codegen_protos.hh \ + examples/rcs_single_dir/spsvr.cc \ + examples/rcs_single_dir/wm.hh \ + examples/rcs_single_dir/wmmain.cc \ + examples/rcs_single_dir/wm_module.cc \ + examples/rcs_single_dir/wmn_c_n.c \ + examples/rcs_single_dir/wmn_c_n.h \ + examples/rcs_single_dir/wmn.hh \ + examples/rcs_single_dir/wmn_n_codegen_protos.hh \ + examples/rcs_single_dir/wmsvr.cc \ + examples/packed_file_display/LadarData.hh \ + examples/packed_file_display/show_file.sh \ + examples/packed_file_display/sicksafetyData.hh \ + examples/packed_file_display/sicksafety_000007.SAFETY_SICK_S3000_DATA \ + examples/packed_file_display/nmlOffsets.hh \ + examples/packed_file_display/sr2s_000003.LADAR_DATA \ + examples/udp_direct/mynmlread.cc \ + examples/udp_direct/udp_direct.cfg \ + examples/udp_direct/README.TXT \ + examples/udp_direct/mymsg.hh \ + examples/udp_direct/Makefile \ + examples/udp_direct/udpdirectwrite.c \ + examples/udp_direct/udpdirectread.c \ + examples/udp_direct/mynmlsvr.cc \ + examples/udp_direct/mynmlwrite.cc \ + icc_linux_custom_libtool \ + INSTALL \ + INSTALL.configure \ + install-sh \ + ltmain.sh \ + Makefile.am \ + Makefile.in \ + missing \ + mkinstalldirs \ + NetBeans/librcs_cxx/nbproject/Makefile-Default.mk \ + NetBeans/librcs_cxx/nbproject/configurations.xml \ + NetBeans/librcs_cxx/nbproject/project.properties \ + NetBeans/librcs_cxx/nbproject/Makefile-impl.mk \ + NetBeans/librcs_cxx/nbproject/project.xml \ + NetBeans/librcs_cxx/librcs_cxx-Makefile.mk \ + NetBeans/rcsjava/build.xml \ + NetBeans/rcsjava/manifest.mf \ + NetBeans/rcsjava/nbproject/build-impl.xml \ + NetBeans/rcsjava/nbproject/profiler-build-impl.xml \ + NetBeans/rcsjava/nbproject/project.xml \ + NetBeans/rcsjava/nbproject/genfiles.properties \ + NetBeans/rcsjava/nbproject/project.properties \ + NetBeans/rcsjava/nbproject/configs/codegen_cgtester.properties \ + NetBeans/rcsjava/nbproject/configs/diag_rcs_single_dir.properties \ + NetBeans/rcsjava/nbproject/configs/c_crada_repos.properties \ + NetBeans/rcsjava/nbproject/configs/plotter.properties \ + NetBeans/rcsjava/nbproject/configs/codegen_emc2.properties \ + NetBeans/rcsjava/nbproject/configs/diag_emc2.properties \ + NetBeans/rcsjava/nbproject/configs/imageframe.properties \ + NetBeans/rcsjava/nbproject/configs/tmpemc.properties \ + NetBeans/rcsjava/nbproject/configs/rfid.properties \ + NetBeans/rcsjava/nbproject/configs/codegenposemath.properties \ + NetBeans/Licenses/license-public_domain_nist_rcs.txt \ + NetBeans/Licenses/README.TXT \ + NEWS \ + rcs_config.h.in \ + rcslib-2006.August-1.spec \ + rcslib-2006.June-1.spec \ + README \ + skel/acinclude.m4 \ + skel/AUTHORS \ + skel/bin/Makefile.am \ + skel/bin/run \ + skel/build \ + skel/ChangeLog \ + skel/config/README \ + skel/configure.ac \ + skel/COPYING \ + skel/etc/Makefile.am \ + skel/etc/Makefile.local \ + skel/etc/skel.cfg \ + skel/etc/skel.ini \ + skel/etc/skel.nml \ + skel/.indent.pro \ + skel/INSTALL \ + skel/lib/Makefile.am \ + skel/Makefile.am \ + skel/Makefile.local \ + skel/NEWS \ + skel/README \ + skel/src/Makefile.am \ + skel/src/Makefile.local \ + skel/src/skel.cc \ + skel/src/skel.hh \ + skel/src/skelIntf.cc \ + skel/src/skelIntf.hh \ + skel/src/skelLog.cc \ + skel/src/skelNmlSvr.cc \ + skel/src/subIntf.cc \ + skel/src/subIntf.hh \ + skel/src/subMain.cc \ + skel/src/subShell.cc \ + skel/src/supIntf.cc \ + skel/src/supIntf.hh \ + skel/src/supMain.cc \ + skel/src/supShell.cc \ + src/ada/cms.adb \ + src/ada/cms.ads \ + src/ada/Makefile \ + src/ada/mynmlmsg.adb \ + src/ada/mynmlmsg.ads \ + src/ada/nml.adb \ + src/ada/nml.ads \ + src/ada/nml_msg.adb \ + src/ada/nml_msg.ads \ + src/ada/nmltest.adb \ + src/ada/nml_test_format_n_ada.adb \ + src/ada/nml_test_format_n_ada.ads \ + src/ada/nmltest_read_ada.adb \ + src/ada/nmltest_server_ada.adb \ + src/ada/nmltest_write_ada.adb \ + src/ada/nml_test_write_cpp.cc \ + src/ada/otherheader_n_ada.adb \ + src/ada/otherheader_n_ada.ads \ + src/ada/posemath_n_ada.adb \ + src/ada/posemath_n_ada.ads \ + src/ada/stat_msg_v2_n_ada.adb \ + src/ada/stat_msg_v2_n_ada.ads \ + src/ada/test_msg_.adb \ + src/ada/test_msg.adb \ + src/ada/test_msg_.ads \ + src/ada/test_msg.ads \ + src/ce_miss/Makefile \ + src/ce_miss/Makefile.lib \ + src/ce_miss/rcs_ce.h \ + src/cms/addressislocal.c \ + src/cms/autokey.c \ + src/cms/autokey.h \ + src/cms/bbd.c \ + src/cms/bbd.h \ + src/cms/bbdmem.cc \ + src/cms/bbdmem.hh \ + src/cms/bd_types.h \ + src/cms/bus_lock.c \ + src/cms/bus_lock.h \ + src/cms/cms_aup.cc \ + src/cms/cms_aup.hh \ + src/cms/cms.cc \ + src/cms/cms_cfg.cc \ + src/cms/cms_cfg.hh \ + src/cms/cms_cfg_no_config.h \ + src/cms/cms_clnt_info.hh \ + src/cms/cms_datetime.cc \ + src/cms/cms_datetime.hh \ + src/cms/cmsdiag.cc \ + src/cms/cmsdiag.hh \ + src/cms/cmsdiag_no_config.h \ + src/cms/cms_dup.cc \ + src/cms/cms_dup.hh \ + src/cms/cms_dup_no_config.h \ + src/cms/cms_enum_info.h \ + src/cms/cms.hh \ + src/cms/cms_in.cc \ + src/cms/cms_mrpq.cc \ + src/cms/cms_mrpq.hh \ + src/cms/cms_no_config.h \ + src/cms/cms_pm.cc \ + src/cms/cms_pup.cc \ + src/cms/cms_pup.hh \ + src/cms/cms_srv.cc \ + src/cms/cms_srv.hh \ + src/cms/cms_srv_no_config.h \ + src/cms/cmssvrp.cc \ + src/cms/cms_types.hh \ + src/cms/cms_up.cc \ + src/cms/cms_up.hh \ + src/cms/cms_user.hh \ + src/cms/cms_xml_up.cc \ + src/cms/cms_xml_up.hh \ + src/cms/cms_xup.cc \ + src/cms/cms_xup.hh \ + src/cms/cms_xup_no_config.h \ + src/cms/crypt2.cc \ + src/cms/crypt2.hh \ + src/cms/ctest.c \ + src/cms/dlgproc.h \ + src/cms/dma.c \ + src/cms/dma.h \ + src/cms/extxdrintf.c \ + src/cms/extxdrintf.h \ + src/cms/filemem.cc \ + src/cms/filemem.hh \ + src/cms/filemem_no_config.h \ + src/cms/gdrs_im_clnt.cc \ + src/cms/gdrs_im_clnt.hh \ + src/cms/gdrs_im_clnt_no_config.h \ + src/cms/gdrs_im_srv.cc \ + src/cms/gdrs_im_srv.hh \ + src/cms/gdrs_im_srv_no_config.h \ + src/cms/globmem.cc \ + src/cms/globmem.hh \ + src/cms/httpnml.cc \ + src/cms/httpnml.hh \ + src/cms/httpnml_no_config.h \ + src/cms/http_srv.cc \ + src/cms/http_srv.hh \ + src/cms/http_srv_no_config.h \ + src/cms/l64.h \ + src/cms/locmem.cc \ + src/cms/locmem.hh \ + src/cms/Makefile \ + src/cms/Makefile.lib \ + src/cms/memsem.cc \ + src/cms/memsem.hh \ + src/cms/msg2xdr.cc \ + src/cms/msghdr.h \ + src/cms/msghdr_no_config.h \ + src/cms/msg_to_encoded_data.cc \ + src/cms/msg_to_encoded_data.hh \ + src/cms/nmlbbdtest.cc \ + src/cms/nml.cc \ + src/cms/nml_c_data.hh \ + src/cms/nmlcfg.cc \ + src/cms/nmlcfgsvr.cc \ + src/cms/nmlcfgsvr_clntcalls.cc \ + src/cms/nmlcfgsvr_clntcalls.hh \ + src/cms/nmlcfgsvr_clntcalls_no_config.h \ + src/cms/nmlcfgsvr_no_config.h \ + src/cms/nml_packed_file_to_csv.cc \ + src/cms/nmlclean.cc \ + src/cms/nmlcms_c.cc \ + src/cms/nmlcms_c.h \ + src/cms/nmldiag.cc \ + src/cms/nmldiag.hh \ + src/cms/nml.hh \ + src/cms/nmlmacros.h \ + src/cms/nmlmsg.cc \ + src/cms/nmlmsg.hh \ + src/cms/nml_no_config.h \ + src/cms/nmlperf.cc \ + src/cms/nmlperf.hh \ + src/cms/nmlpwd.cc \ + src/cms/nmlqr.cc \ + src/cms/nmlqr.hh \ + src/cms/nmlset.cc \ + src/cms/nmlset.hh \ + src/cms/nmlsizes.cc \ + src/cms/nml_srv.cc \ + src/cms/nml_srv.hh \ + src/cms/nml_srv_no_config.h \ + src/cms/nmltest.cc \ + src/cms/nmlwatch.cc \ + src/cms/nmlwatch.h \ + src/cms/ntohhton.hh \ + src/cms/oedsto.cc \ + src/cms/oedsto.hh \ + src/cms/oemem.cc \ + src/cms/oemem.hh \ + src/cms/oemque.cc \ + src/cms/oemque.hh \ + src/cms/perfsvr.cc \ + src/cms/perftype.cc \ + src/cms/perftype.hh \ + src/cms/phantom.cc \ + src/cms/phantom.hh \ + src/cms/_physmem.c \ + src/cms/physmem.cc \ + src/cms/_physmem.h \ + src/cms/physmem.hh \ + src/cms/physmem_no_config.h \ + src/cms/posemath_c_n.c \ + src/cms/posemath_c_n.h \ + src/cms/readn.h \ + src/cms/recvline.c \ + src/cms/recvline.h \ + src/cms/recvline_no_config.h \ + src/cms/recvmsgt.c \ + src/cms/recvmsgt.h \ + src/cms/recvmsgt_no_config.h \ + src/cms/recvn.c \ + src/cms/recvn.h \ + src/cms/recvn_no_config.h \ + src/cms/rem_msg.hh \ + src/cms/rtai_kernel_api_implement.c \ + src/cms/rtai_user_api_implement.c \ + src/cms/rtlinux_kernel_api_implement.c \ + src/cms/rtlinux_user_api_implement.c \ + src/cms/rtlmb.c \ + src/cms/rtlmem.cc \ + src/cms/rtlmem.hh \ + src/cms/rtlnml.c \ + src/cms/rtlnml.h \ + src/cms/rtl_rtai_common_api.h \ + src/cms/rtlrtai_shm.h \ + src/cms/sendline.c \ + src/cms/sendline.h \ + src/cms/sendmsgt.c \ + src/cms/sendmsgt.h \ + src/cms/sendmsgt_no_config.h \ + src/cms/sendn.c \ + src/cms/sendn.h \ + src/cms/sendn_no_config.h \ + src/cms/shmem.cc \ + src/cms/shmem.hh \ + src/cms/shmem_no_config.h \ + src/cms/sockdefs.h \ + src/cms/sokintrf.c \ + src/cms/sokintrf.h \ + src/cms/sokintrf_no_config.h \ + src/cms/spinlock.c \ + src/cms/spinlock.h \ + src/cms/spinlock.s \ + src/cms/stcpmem.cc \ + src/cms/stcpmem.hh \ + src/cms/stcpmem_no_config.h \ + src/cms/stcpopts.cc \ + src/cms/stcpopts.hh \ + src/cms/stcpopts_no_config.h \ + src/cms/stcpsvr.cc \ + src/cms/stcpsvr.hh \ + src/cms/stcpsvr_no_config.h \ + src/cms/tcpmem.cc \ + src/cms/tcpmem.hh \ + src/cms/tcpmem_no_config.h \ + src/cms/tcp_opts.cc \ + src/cms/tcp_opts.hh \ + src/cms/tcpopts_no_config.h \ + src/cms/tcpproxy.cc \ + src/cms/tcpproxy_no_config.h \ + src/cms/tcp_srv.cc \ + src/cms/tcp_srv.hh \ + src/cms/tcp_srv_no_config.h \ + src/cms/ttyintf.c \ + src/cms/ttyintf.h \ + src/cms/ttyintf_no_config.h \ + src/cms/ttymem.cc \ + src/cms/ttymem.hh \ + src/cms/tty_srv.cc \ + src/cms/tty_srv.hh \ + src/cms/tty_srv_no_config.h \ + src/cms/ttytest.c \ + src/cms/udpmem.cc \ + src/cms/udpmem.hh \ + src/cms/udpmem_ipv6_broken \ + src/cms/udpmem_no_config.h \ + src/cms/udp_opts.cc \ + src/cms/udp_opts.hh \ + src/cms/udp_opts_no_config.h \ + src/cms/udp_srv.cc \ + src/cms/udp_srv.hh \ + src/cms/udp_srv_no_config.h \ + src/cms/udp_svr_ipv6_broken \ + src/java/build_CodeGenCmdLine_jar.sh \ + src/java/build_diag_NB_jar.sh \ + src/java/build_jars.sh \ + src/java/buildme.sh \ + src/java/build_plotter_jar.sh \ + src/java/build_plotter_NB_jar.sh \ + src/java/build_image_viewer_jar.sh \ + src/java/build_rcsDesign_jar.sh \ + src/java/build_rcs_jar.sh \ + src/java/build_pvjscript_jar.sh \ + src/java/CodeGenCmdLine_sources.txt \ + src/java/pvjscript_sources.txt \ + src/java/plotter_sources.txt \ + src/java/diagapplet/utils/URlLoadInfoFrame.java \ + src/java/diagapplet/utils/URlLoadInfoFrame.form \ + src/java/diagapplet/utils/URLLoadInfoJPanel.java \ + src/java/diagapplet/utils/URLLoadInfoJPanel.form \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/utils/DiagErrorAppendInterface.java \ + src/java/diagapplet/utils/DiagError.java \ + src/java/diagapplet/buildme.sh \ + src/java/diagapplet/CodeDisplayPanel.java \ + src/java/diagapplet/CodeGen/Ada_Generator.java \ + src/java/diagapplet/CodeGen/BufferInfo.java \ + src/java/diagapplet/CodeGen/buildme.sh \ + src/java/diagapplet/CodeGen/C_Generator.java \ + src/java/diagapplet/CodeGen/ChannelInfo.java \ + src/java/diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCmdLineJarInfo.txt \ + src/java/diagapplet/CodeGen/CodeGenCmdLine.java \ + src/java/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface.java \ + src/java/diagapplet/CodeGen/CodeGenCommonInterface2.java \ + src/java/diagapplet/CodeGen/CodeGenCommon.java \ + src/java/diagapplet/CodeGen/CodeGenFrame.java \ + src/java/diagapplet/CodeGen/CodeGenJarInfo.txt \ + src/java/diagapplet/CodeGen/CodeGen.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + src/java/diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + src/java/diagapplet/CodeGen/DefinedValue.java \ + src/java/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + src/java/diagapplet/CodeGen/DiagNMLMsgDict.java \ + src/java/diagapplet/CodeGen/DiagNMLmsg.java \ + src/java/diagapplet/CodeGen/EnumTypeInfo.java \ + src/java/diagapplet/CodeGen/gcj_build_nmlcodegen.sh \ + src/java/diagapplet/CodeGen/info_array_elem_info.java \ + src/java/diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + src/java/diagapplet/CodeGen/Makefile \ + src/java/diagapplet/CodeGen/Makefile.old \ + src/java/diagapplet/CodeGen/ModuleInfoInterface.java \ + src/java/diagapplet/CodeGen/ModuleInfo.java \ + src/java/diagapplet/CodeGen/ServerInfo.java \ + src/java/diagapplet/CodeGen/SplitInfoToken.java \ + src/java/diagapplet/CodeGen/STI_TokenizerInterface.java \ + src/java/diagapplet/CodeGen/STI_Tokenizer.java \ + src/java/diagapplet/CodeGen/StringFuncs.java \ + src/java/diagapplet/CodeGen/StructureList.java \ + src/java/diagapplet/CodeGen/StructureTypeInfo.java \ + src/java/diagapplet/diagappletFrame.java \ + src/java/diagapplet/diagappletJarInfo.txt \ + src/java/diagapplet/diagappletJFrame.java \ + src/java/diagapplet/diag_common.java \ + src/java/diagapplet/diagicon.png \ + src/java/diagapplet/diag_NBJarInfo.txt \ + src/java/diagapplet/diag_NB_UI.form \ + src/java/diagapplet/diag_NB_UI.java \ + src/java/diagapplet/MessageFileJFrame.form \ + src/java/diagapplet/MessageFileJFrame.java \ + src/java/diagapplet/diagPreserve.java \ + src/java/diagapplet/diag_sources.mak \ + src/java/diagapplet/diag_update_interface.java \ + src/java/diagapplet/HierarchyDraw.java \ + src/java/diagapplet/HierarchyLoad_NB_UI.form \ + src/java/diagapplet/HierarchyLoad_NB_UI.java \ + src/java/diagapplet/HierarchyPanel.java \ + src/java/diagapplet/jdiagJarInfo.txt \ + src/java/diagapplet/JPaintablePanel.java \ + src/java/diagapplet/Makefile \ + src/java/diagapplet/Makefile.old \ + src/java/diagapplet/modulePreserve.java \ + src/java/diagapplet/auxBufferPreserve.java \ + src/java/diagapplet/PainterInterface.java \ + src/java/diagapplet/plotSetPreserve.java \ + src/java/diagapplet/plotter/buildme.sh \ + src/java/diagapplet/plotter/ColorEditor.java \ + src/java/diagapplet/plotter/ColorRenderer.java \ + src/java/diagapplet/plotter/Makefile \ + src/java/diagapplet/plotter/Makefile.old \ + src/java/diagapplet/plotter/plottericon.jpg \ + src/java/diagapplet/plotter/plottericon.png \ + src/java/diagapplet/plotter/Pause16.gif \ + src/java/diagapplet/plotter/Pause24.gif \ + src/java/diagapplet/plotter/PlotData.java \ + src/java/diagapplet/plotter/PlotGraphJPanel.java \ + src/java/diagapplet/plotter/PlotGraphScreenMap.java \ + src/java/diagapplet/plotter/PlotLoader.java \ + src/java/diagapplet/plotter/PlotPoint.java \ + src/java/diagapplet/plotter/PlotterCommon.java \ + src/java/diagapplet/plotter/plotterJarInfo.txt \ + src/java/diagapplet/plotter/plotterJFrame.form \ + src/java/diagapplet/plotter/plotterJFrame.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.java \ + src/java/diagapplet/plotter/ParseOptions.java \ + src/java/diagapplet/plotter/ParseOptionsJPanel.form \ + src/java/diagapplet/plotter/StatsTextJFrame.java \ + src/java/diagapplet/plotter/StatsTextJFrame.form \ + src/java/diagapplet/plotter/plotter_NBJarInfo.txt \ + src/java/diagapplet/plotter/plotter_NB_UI.form \ + src/java/diagapplet/plotter/plotter_NB_UI.java \ + src/java/diagapplet/plotter/Zoom16.gif \ + src/java/diagapplet/plotter/Zoom24.gif \ + src/java/diagapplet/plotter/ZoomIn16.gif \ + src/java/diagapplet/plotter/ZoomIn24.gif \ + src/java/diagapplet/plotter/ZoomOut16.gif \ + src/java/diagapplet/plotter/ZoomOut24.gif \ + src/java/diagapplet/PlotTracker.java \ + src/java/diagapplet/plotTrackerPreserve.java \ + src/java/diagapplet/rcs_diag_sources.mak \ + src/java/diagapplet/update_diag_sources.sh \ + src/java/diagapplet/update_rcs_diag_sources.sh \ + src/java/diagapplet/utils/buildme.sh \ + src/java/diagapplet/utils/image_viewerJarInfo.txt \ + src/java/diagapplet/utils/CountButtonInterface.java \ + src/java/diagapplet/utils/CountButton.java \ + src/java/diagapplet/utils/CountListInterface.java \ + src/java/diagapplet/utils/CountList.java \ + src/java/diagapplet/utils/FakeFastListPanel.java \ + src/java/diagapplet/utils/FastListContainer.java \ + src/java/diagapplet/utils/FastListPanelInterface.java \ + src/java/diagapplet/utils/FastListPanelItem.java \ + src/java/diagapplet/utils/FastListPanel.java \ + src/java/diagapplet/utils/ImageJFrame.form \ + src/java/diagapplet/utils/ImageJFrame.java \ + src/java/diagapplet/utils/ImageJPanel.form \ + src/java/diagapplet/utils/ImageJPanel.java \ + src/java/diagapplet/utils/SaveImage.java \ + src/java/diagapplet/utils/fullScreenJPanelClass.java \ + src/java/diagapplet/utils/ImagePainter.java \ + src/java/diagapplet/utils/JListFastListPanel.java \ + src/java/diagapplet/utils/Makefile \ + src/java/diagapplet/utils/Makefile.old \ + src/java/diagapplet/utils/ModifiedFileDialog.java \ + src/java/diagapplet/utils/StandAloneApplet.java \ + src/java/diagapplet/utils/URLLoadInfoPanelInterface.java \ + src/java/diagapplet/utils/URLLoadInfoPanel.java \ + src/java/diagapplet/utils/WatchJPanel.form \ + src/java/diagapplet/utils/WatchJPanel.java \ + src/java/diagapplet/utils/WatchTableModel.java \ + src/java/diagapplet/utils/WatchVarEditor.java \ + src/java/diagapplet/utils/WatchVar.java \ + src/java/diag_NB_sources.txt \ + src/java/Makefile \ + src/java/Makefile.old \ + src/java/plotter_NB_sources.txt \ + src/java/image_viewer_sources.txt \ + src/java/rcs/buildme.sh \ + src/java/rcsdesign/AlertDialog.java \ + src/java/rcsdesign/AlphabetizedList.java \ + src/java/rcsdesign/AutoSizedTextArea.java \ + src/java/rcsdesign/FileTypeInfo.java \ + src/java/rcsdesign/InnerAppletRepainter.java \ + src/java/rcsdesign/ListElement.java \ + src/java/rcsdesign/Makefile \ + src/java/rcsdesign/Makefile.old \ + src/java/rcsdesign/MakeFileRunner.java \ + src/java/rcsdesign/Merger.java \ + src/java/rcsdesign/QueryDialog.java \ + src/java/rcsdesign/QueryStringDialog.java \ + src/java/rcsdesign/rcsdesignFrame.java \ + src/java/rcsdesign/rcsDesignGui.java \ + src/java/rcsdesign/rcsDesignJarInfo.txt \ + src/java/rcsdesign/rcsDesign.java \ + src/java/rcsdesign/rcsdesignMainLoopInfo.java \ + src/java/rcsdesign/rcsdesignModuleInfo.java \ + src/java/rcsdesign/rcsDesignUserAbortException.java \ + src/java/rcsdesign/rcsDesignWriterInfo.java \ + src/java/rcsdesign/rcsDesignWriter.java \ + src/java/rcsDesign_sources.txt \ + src/java/rcs/Makefile \ + src/java/rcs/Makefile.old \ + src/java/rcs/nml/buildme.sh \ + src/java/rcs/nml/CMS_DATE.java \ + src/java/rcs/nml/CMS_TIME.java \ + src/java/rcs/nml/debugInfo.java \ + src/java/rcs/nml/DISPFormatConverter.java \ + src/java/rcs/nml/errlogMsgDict.java \ + src/java/rcs/nml/Makefile \ + src/java/rcs/nml/Makefile.old \ + src/java/rcs/nml/PackedFileReader.java \ + src/java/rcs/nml/PackedFileWriter.java \ + src/java/rcs/nml/XMLFileReader.java \ + src/java/rcs/nml/XMLFileWriter.java \ + src/java/rcs/nml/NMLBufferConfigInfo.java \ + src/java/rcs/nml/NMLConfigInfo.java \ + src/java/rcs/nml/NMLConnectionCreatorInterface.java \ + src/java/rcs/nml/NMLConnectionCreator.java \ + src/java/rcs/nml/NMLConnectionInterface.java \ + src/java/rcs/nml/NMLConnection.java \ + src/java/rcs/nml/LogTimeEntry.java \ + src/java/rcs/nml/MsgToTimeStamp.java \ + src/java/rcs/nml/NMLErrorAppender.java \ + src/java/rcs/nml/NML_DISPLAY.java \ + src/java/rcs/nml/NML_ENUM_INFO.java \ + src/java/rcs/nml/NML_ERROR.java \ + src/java/rcs/nml/NMLException.java \ + src/java/rcs/nml/NMLFormatConverterBase.java \ + src/java/rcs/nml/NMLFormatConverter.java \ + src/java/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + src/java/rcs/nml/NMLMessageDictionary.java \ + src/java/rcs/nml/NMLmsg.java \ + src/java/rcs/nml/nmlperf.java \ + src/java/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + src/java/rcs/nml/NMLSingleVarLogItem.java \ + src/java/rcs/nml/NMLSingleVarLog.java \ + src/java/rcs/nml/NML_TEXT.java \ + src/java/rcs/nml/NonBlockingDatagramSocket.java \ + src/java/rcs/nml/PackedFormatConverter.java \ + src/java/rcs/nml/perftypeMsgDict.java \ + src/java/rcs/nml/RCS_CMD_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG.java \ + src/java/rcs/nml/RCS_STAT_MSG_V2.java \ + src/java/rcs/nml/time_tracker.java \ + src/java/rcs/nml/XDRFormatConverter.java \ + src/java/rcs/nml/XMLFormatConverter.java \ + src/java/rcs/posemath/buildme.sh \ + src/java/rcs/posemath/Makefile \ + src/java/rcs/posemath/Makefile.old \ + src/java/rcs/posemath/PmCartesian.java \ + src/java/rcs/posemath/PM_CARTESIAN.java \ + src/java/rcs/posemath/PmCircle.java \ + src/java/rcs/posemath/PM_CIRCLE.java \ + src/java/rcs/posemath/PmCylindrical.java \ + src/java/rcs/posemath/PM_CYLINDRICAL.java \ + src/java/rcs/posemath/PmEulerZyx.java \ + src/java/rcs/posemath/PM_EULER_ZYX.java \ + src/java/rcs/posemath/PmEulerZyz.java \ + src/java/rcs/posemath/PM_EULER_ZYZ.java \ + src/java/rcs/posemath/PmException.java \ + src/java/rcs/posemath/PmHomogeneous.java \ + src/java/rcs/posemath/PM_HOMOGENEOUS.java \ + src/java/rcs/posemath/PmLine.java \ + src/java/rcs/posemath/PM_LINE.java \ + src/java/rcs/posemath/PmPose.java \ + src/java/rcs/posemath/PM_POSE.java \ + src/java/rcs/posemath/PM_XYA.java \ + src/java/rcs/posemath/PmQuaternion.java \ + src/java/rcs/posemath/PM_QUATERNION.java \ + src/java/rcs/posemath/PmRotationMatrix.java \ + src/java/rcs/posemath/PM_ROTATION_MATRIX.java \ + src/java/rcs/posemath/PmRotationVector.java \ + src/java/rcs/posemath/PM_ROTATION_VECTOR.java \ + src/java/rcs/posemath/PmRpy.java \ + src/java/rcs/posemath/PM_RPY.java \ + src/java/rcs/posemath/PmSpherical.java \ + src/java/rcs/posemath/PM_SPHERICAL.java \ + src/java/rcs/posemath/Posemath.java \ + src/java/rcs/posemath/testpm.java \ + src/java/rcs/rcsJarInfo.txt \ + src/java/rcs/RCS_VERSION.java \ + src/java/rcs/RCS_VERSION.java.perm \ + src/java/rcs_sources.txt \ + src/java/rcs/update_ver \ + src/java/rcs/utils/buildme.sh \ + src/java/rcs/utils/CorrectedPipeData.java \ + src/java/rcs/utils/CorrectedPipedInputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedInputStream.java \ + src/java/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + src/java/rcs/utils/CorrectedPipedOutputStream.java \ + src/java/rcs/utils/jcrypt.java \ + src/java/rcs/utils/Makefile \ + src/java/rcs/utils/Makefile.old \ + src/java/rcs/utils/SimpleFileFilter.java \ + src/java/rcs/utils/StrToInt.java \ + src/java/rcs/utils/StrToLong.java \ + src/java/rcs/utils/URL_and_FileLoader.java \ + src/java/rcs/utils/rcs_states.java \ + src/java/rcs/utils/StackTracePrinter.java \ + src/java/pvjscript/Main.java \ + src/java/pvjscript/ProcessView.java \ + src/java/pvjscript/pvjscriptJarInfo.txt \ + src/Makefile \ + src/Makefile.rcs \ + src/Makefile.rcs.local \ + src/node/cmd_msg.cc \ + src/node/cmd_msg.hh \ + src/node/Makefile \ + src/node/Makefile.lib \ + src/node/nml_mod.cc \ + src/node/nml_mod.hh \ + src/node/nml_mod_no_config.h \ + src/node/nml_oi.cc \ + src/node/nml_oi.hh \ + src/node/node_srv.hh \ + src/node/stat_msg.cc \ + src/node/stat_msg.hh \ + src/node/stat_msg_v2_c_n.c \ + src/node/stat_msg_v2_c_n.h \ + src/node/stat_msg_v2.hh \ + src/node/stat_msg_v2_n.cc \ + src/node/stat_msg_v2_n_codegen_protos.hh \ + src/node/stat_v2.gen \ + src/node/timetracker.cc \ + src/node/timetracker_c_n.c \ + src/node/timetracker_c_n.h \ + src/node/timetracker.gen \ + src/node/timetracker.hh \ + src/node/timetracker_n.cc \ + src/node/timetracker_n_codegen_protos.hh \ + src/node/wm_msg.cc \ + src/node/wm_msg.hh \ + src/nt_xdr/bcopy.c \ + src/nt_xdr/bcopy.h \ + src/nt_xdr/Makefile \ + src/nt_xdr/Makefile.lib \ + src/nt_xdr/xdr_arra.c \ + src/nt_xdr/xdr.c \ + src/nt_xdr/xdr_floa.c \ + src/nt_xdr/xdr.h \ + src/nt_xdr/xdr_mem.c \ + src/nt_xdr/xdr_mem_no_config.h \ + src/nt_xdr/xdr_rec.c \ + src/nt_xdr/xdr_rec_no_config.h \ + src/nt_xdr/xdr_refe.c \ + src/nt_xdr/xdr_stdi.c \ + src/nt_xdr/xdrtypes.h \ + src/os_intf/dbg_mem.cc \ + src/os_intf/dbg_mem.h \ + src/os_intf/fileops.c \ + src/os_intf/fileops.h \ + src/os_intf/gtimer.cc \ + src/os_intf/gtimer.hh \ + src/os_intf/_gtimer.s \ + src/os_intf/inetfile.cc \ + src/os_intf/inetfile.hh \ + src/os_intf/inetfile_no_config.h \ + src/os_intf/inetnull.cc \ + src/os_intf/inettest.c \ + src/os_intf/_inifile.c \ + src/os_intf/inifile.cc \ + src/os_intf/inifile.h \ + src/os_intf/inifile_test.cc \ + src/os_intf/Makefile \ + src/os_intf/Makefile.lib \ + src/os_intf/posix_sem_unlink.c \ + src/os_intf/posix_shm_unlink.c \ + src/os_intf/rcs_exit.cc \ + src/os_intf/rcs_exit.hh \ + src/os_intf/rcs_mnmxtotal.hh \ + src/os_intf/_sem.c \ + src/os_intf/sem.cc \ + src/os_intf/_sem.h \ + src/os_intf/sem.hh \ + src/os_intf/_shm.c \ + src/os_intf/shm.cc \ + src/os_intf/_shm.h \ + src/os_intf/shm.hh \ + src/os_intf/_shm_no_config.h \ + src/os_intf/shm_no_config.h \ + src/os_intf/_table.c \ + src/os_intf/table.cc \ + src/os_intf/_table.h \ + src/os_intf/table.hh \ + src/os_intf/tesleep.cc \ + src/os_intf/test.ini \ + src/os_intf/testsem.cc \ + src/os_intf/testshm.cc \ + src/os_intf/_timer.c \ + src/os_intf/timer.cc \ + src/os_intf/_timer.h \ + src/os_intf/timer.hh \ + src/os_intf/_timer_no_config.h \ + src/os_intf/timer_no_config.h \ + src/os_intf/timetest.cc \ + src/os_intf/ttytest.cc \ + src/os_intf/unix_sem.c \ + src/os_intf/unix_sem_no_config.h \ + src/os_intf/vxnewdel.cc \ + src/os_intf/vxworks_sem.c \ + src/os_intf/win32_sem.c \ + src/os_intf/winver.cc \ + src/posemath/circutil.c \ + src/posemath/Makefile \ + src/posemath/Makefile.lib \ + src/posemath/_mathprnt.c \ + src/posemath/mathprnt.cc \ + src/posemath/mathprnt.h \ + src/posemath/matrpy_test.cc \ + src/posemath/_posemath.c \ + src/posemath/posemath.cc \ + src/posemath/posemath.h \ + src/posemath/sincos.c \ + src/posemath/sincos.h \ + src/posemath/testcirc.c \ + src/posemath/testpmc.c \ + src/posemath/testpmcpp.cc \ + src/print/Makefile \ + src/print/Makefile.lib \ + src/print/printest.cc \ + src/print/rcs_prnt.cc \ + src/print/rcs_prnt.hh \ + src/print/rcs_prnt_no_config.h \ + src/print/sepwords.cc \ + src/print/win_prnt.cc \ + src/print/win_prnt.hh \ + src/rcs_config_include.h \ + src/rcs_config_win.h \ + src/rcs_defs.hh \ + src/rcs.hh \ + src/rcs_svn_vers.hh \ + src/rcsvers.c \ + src/rcsvers.hh \ + src/rcsvers_pre_subst.hh \ + src/rcsvers_temp1.hh \ + src/rcsvers_temp2.hh \ + src/rcsvers_temp3.hh \ + src/stg_clss/linklist.cc \ + src/stg_clss/linklist.hh \ + src/stg_clss/linklist_no_config.h \ + src/stg_clss/Makefile \ + src/stg_clss/Makefile.lib \ + src/test/test_memory_format.cc \ + src/test/clock.hh \ + src/test/clock_n.cc \ + src/test/clock.xml \ + src/test/clock.nml \ + src/test/cgtester.gen \ + src/test/cgtester.hh \ + src/test/cgtester_n.cc \ + src/test/cgtester_n_codegen_protos.hh \ + src/test/cgtest.nml \ + src/test/cgtest.sh \ + src/test/config.dat \ + src/test/dltest.diag \ + src/test/dltest.nml \ + src/test/dltest_oe.nml \ + src/test/echo_types.hh \ + src/test/httpnml_test.cc \ + src/test/myconf.h \ + src/test/myconf_n.cc \ + src/test/myconf.xml \ + src/test/readconf.cc \ + src/test/writeconf.cc \ + src/test/repeat_test.bash \ + src/test/uba_tests/nml_unbounded_test_msg.hh \ + src/test/xml_timeserver.cc \ + src/test/nml_ex3.java \ + src/test/nml_ex4.java \ + src/test/ex_cfg.nml \ + src/test/extra_tests.sh \ + src/test/test_qr.sh \ + src/test/jtestxml.sh \ + src/test/uba_tests/Makefile \ + src/test/uba_tests/nml_unbounded_array_test_msg_n.cc \ + src/test/uba_tests/nml_unbounded_array_test_read.cc \ + src/test/uba_tests/nml_unbounded_array_test_svr.cc \ + src/test/uba_tests/nml_unbounded_array_test_write.cc \ + src/test/uba_tests/nml_unbounded_array_test_msg.hh \ + src/test/uba_tests/nml_unbounded_array_test_msg_n_codegen_protos.hh \ + src/test/uba_tests/ub.cfg \ + src/test/uba_tests/ub.nml \ + src/test/Makefile \ + src/test/Makefile.extra_tests \ + src/test/Makefile.old_tests \ + src/test/Makefile.vx_tests \ + src/test/mingw_testxml.sh \ + src/test/nml_ex1.gen \ + src/test/nml_ex1.hh \ + src/test/nml_ex1_n.cc \ + src/test/nml_test_print.cc \ + src/test/nml_ex1_n_codegen_protos.hh \ + src/test/nml_ex1.cc \ + src/test/nml_ex2.cc \ + src/test/nml_ex3.cc \ + src/test/nml_ex4.cc \ + src/test/nml_ex5.cc \ + src/test/nml_ex6.cc \ + src/test/nml_ex8.cc \ + src/test/nml_ex9.cc \ + src/test/nml_ex10.cc \ + src/test/xmlout.cc \ + src/test/xmlschemaout.cc \ + src/test/cgtestwrite.cc \ + src/test/cgtestsvr2.cc \ + src/test/cgtestwriteifread.cc \ + src/test/cgtestread.cc \ + src/test/cgtestsvr1.cc \ + src/test/bReader.cc \ + src/test/bWriter.cc \ + src/test/bServer.cc \ + src/test/old_xmlout.xml \ + src/test/old_xmlschemaout.xsd \ + src/test/nml_get_diag.cc \ + src/test/nml_get_type.cc \ + src/test/nml_check_if_read.cc \ + src/test/nml_peek_errlog.cc \ + src/test/nml_read_errlog.cc \ + src/test/nml_test_bitwise_op_read.cc \ + src/test/nml_test_bitwise_op_write.cc \ + src/test/nml_test_blocking_read.cc \ + src/test/nmltestblockingread.cc \ + src/test/nml_test_clear.cc \ + src/test/nml_test_dl_read_ada.adb \ + src/test/nml_test_dl_read.cc \ + src/test/nml_test_dl_read_packed_file.cc \ + src/test/nml_test_dl_write_ada.adb \ + src/test/nml_test_dl_write.cc \ + src/test/nml_test_dl_write_packed_file.cc \ + src/test/nml_test_format_c_n.c \ + src/test/nml_test_format_c_n.h \ + src/test/nml_test_format.hh \ + src/test/nml_test_unbounded_format.hh \ + src/test/nml_test_unbounded_format_n.cc \ + src/test/check_test_unbounded_msg.hh \ + src/test/check_test_unbounded_msg.cc \ + src/test/nml_test_format_n.cc \ + src/test/nml_test_format_n_codegen_protos.hh \ + src/test/nml_test_unbounded_format_n_codegen_protos.hh \ + src/test/nml_test_get_is_clear.cc \ + src/test/nml_test_get_msg_count.cc \ + src/test/nml_test_get_msg_type.cc \ + src/test/nml_test_get_queue_length.cc \ + src/test/nml_test_get_space_available.cc \ + src/test/etime_print.cc \ + src/test/nml_test_get_read_count.cc \ + src/test/nml_test_getvar.cc \ + src/test/nml_test_java_read.java \ + src/test/nml_test_java_get_msg_type.java \ + src/test/nml_test_java_dl_read.java \ + src/test/nml_test_java_dl_write.java \ + src/test/nml_test_java_get_single_var_log.java \ + src/test/nml_test_nmlset.cc \ + src/test/nml_test_qr_client.cc \ + src/test/nml_test_qr_server.cc \ + src/test/nml_test_qr_nml_svr.cc \ + src/test/nml_test_read_c.c \ + src/test/nml_test_read.cc \ + src/test/nml_test_server_ada.adb \ + src/test/nml_test_server_c.c \ + src/test/nml_test_server.cc \ + src/test/nml_test_sizes.cc \ + src/test/nml_test_wait_for_clear.cc \ + src/test/nml_test_wait_for_queue_length_over.cc \ + src/test/nml_test_wait_for_queue_length_under.cc \ + src/test/nml_test_wait_for_read.cc \ + src/test/nml_test_wait_for_write.cc \ + src/test/nml_test_write_c.c \ + src/test/nml_test_write.cc \ + src/test/nml_test_unbounded_server.cc \ + src/test/check_test_unbounded_msg.cc \ + src/test/nml_test_unbounded_read.cc \ + src/test/nml_test_unbounded_write.cc \ + src/test/nml_test_single_process_queue_test.cc \ + src/test/noserv.nml \ + src/test/number.txt \ + src/test/otherheader_c_n.c \ + src/test/otherheader_c_n.h \ + src/test/otherheader.hh \ + src/test/otherheader_n.cc \ + src/test/otherheader_n_codegen_protos.hh \ + src/test/print_test_sizes.cc \ + src/test/qrtest.nml \ + src/test/testcommon.cc \ + src/test/testcommon.h \ + src/test/test.nml2 \ + src/test/testnml_internal.sh \ + src/test/testnml.sh \ + src/test/testrcslib.cc \ + src/test/testxmlperf.sh \ + src/test/testxml.sh \ + src/test/vxload \ + src/test/vx_nml_test_read.cc \ + src/test/vx_nml_test_write.cc \ + src/test/vxstop \ + src/test/vxtest.cfg \ + src/test/vx_test_cycle_high_priority.c \ + src/test/vxtest.nml \ + src/test/vxtestrun0 \ + src/test/vxtestrun1 \ + src/test/vxunload + +MOSTLYCLEANFILES = \ + src/rcs_svn_vers.hh.orig \ + plat/java/lib/rcs/RCS_VERSION.class \ + plat/java/lib/rcs/utils/jcrypt.class \ + plat/java/lib/rcs/utils/URL_and_FileLoader.class \ + plat/java/lib/rcs/utils/CorrectedPipeData.class \ + plat/java/lib/rcs/utils/CorrectedPipedInputStream.class \ + plat/java/lib/rcs/utils/CorrectedPipedOutputStream.class \ + plat/java/lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + plat/java/lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + plat/java/lib/rcs/utils/StrToLong.class \ + plat/java/lib/rcs/utils/StrToInt.class \ + plat/java/lib/rcs/utils/SimpleFileFilter.class \ + plat/java/lib/rcs/nml//NMLFormatConvertErrCallbackInterface.class \ + plat/java/lib/rcs/nml/CMS_DATE.class \ + plat/java/lib/rcs/nml/NMLFormatConverter.class \ + plat/java/lib/rcs/nml/NMLmsg.class \ + plat/java/lib/rcs/nml/NML_ENUM_INFO.class \ + plat/java/lib/rcs/nml/CMS_TIME.class \ + plat/java/lib/rcs/nml/debugInfo.class \ + plat/java/lib/rcs/nml/NMLException.class \ + plat/java/lib/rcs/nml/NMLMessageDictionary.class \ + plat/java/lib/rcs/nml/NMLFormatConverterBase.class \ + plat/java/lib/rcs/nml/NMLSingleVarLogItem.class \ + plat/java/lib/rcs/nml/NMLSingleVarLog.class \ + plat/java/lib/rcs/nml/DISPFormatConverter.class \ + plat/java/lib/rcs/nml/XDRFormatConverter.class \ + plat/java/lib/rcs/nml/PackedFormatConverter.class \ + plat/java/lib/rcs/nml/XMLNodeInfo.class \ + plat/java/lib/rcs/nml/XMLFormatConverter.class \ + plat/java/lib/rcs/nml/NonBlockingDatagramSocket.class \ + plat/java/lib/rcs/nml/NMLBufferConfigInfo.class \ + plat/java/lib/rcs/nml/NMLConfigInfo.class \ + plat/java/lib/rcs/nml/NMLConnectionInterface.class \ + plat/java/lib/rcs/nml/NMLConnectionCreatorInterface.class \ + plat/java/lib/rcs/nml/NMLConnectionCreator.class \ + plat/java/lib/rcs/nml/NMLErrorAppender.class \ + plat/java/lib/rcs/nml/NMLConnection.class \ + plat/java/lib/rcs/nml/RCS_CMD_MSG.class \ + plat/java/lib/rcs/nml/RCS_STAT_MSG.class \ + plat/java/lib/rcs/nml/RCS_STAT_MSG_V2.class \ + plat/java/lib/rcs/nml/time_tracker.class \ + plat/java/lib/rcs/nml/NML_ERROR.class \ + plat/java/lib/rcs/nml/NML_TEXT.class \ + plat/java/lib/rcs/nml/NML_DISPLAY.class \ + plat/java/lib/rcs/nml/errlogMsgDict.class \ + plat/java/lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + plat/java/lib/rcs/nml/perftypeMsgDict.class \ + plat/java/lib/rcs/nml/nmlperf.class \ + plat/java/lib/rcs/posemath/PmException.class \ + plat/java/lib/rcs/posemath/PmCartesian.class \ + plat/java/lib/rcs/posemath/PmCylindrical.class \ + plat/java/lib/rcs/posemath/PmSpherical.class \ + plat/java/lib/rcs/posemath/PmCircle.class \ + plat/java/lib/rcs/posemath/PmEulerZyx.class \ + plat/java/lib/rcs/posemath/PmEulerZyz.class \ + plat/java/lib/rcs/posemath/PmHomogeneous.class \ + plat/java/lib/rcs/posemath/PmRotationMatrix.class \ + plat/java/lib/rcs/posemath/PmLine.class \ + plat/java/lib/rcs/posemath/PmPose.class \ + plat/java/lib/rcs/posemath/PmQuaternion.class \ + plat/java/lib/rcs/posemath/PmRotationVector.class \ + plat/java/lib/rcs/posemath/PmRpy.class \ + plat/java/lib/rcs/posemath/PM_CARTESIAN.class \ + plat/java/lib/rcs/posemath/PM_CYLINDRICAL.class \ + plat/java/lib/rcs/posemath/PM_EULER_ZYX.class \ + plat/java/lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + plat/java/lib/rcs/posemath/PM_EULER_ZYZ.class \ + plat/java/lib/rcs/posemath/PM_HOMOGENEOUS.class \ + plat/java/lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + plat/java/lib/rcs/posemath/PM_POSE.class \ + plat/java/lib/rcs/posemath/PM_XYA.class \ + plat/java/lib/rcs/posemath/PM_QUATERNION.class \ + plat/java/lib/rcs/posemath/PM_RPY.class \ + plat/java/lib/rcs/posemath/PM_SPHERICAL.class \ + plat/java/lib/rcs/posemath/PM_LINE.class \ + plat/java/lib/rcs/posemath/PM_CIRCLE.class \ + plat/java/lib/rcs/posemath/Posemath.class \ + plat/java/lib/rcs.jar \ + plat/java/lib/CodeGenCmdLineJarInfo.txt \ + plat/java/lib/diagapplet/utils/CountButton.class \ + plat/java/lib/diagapplet/utils/CountButtonInterface.class \ + plat/java/lib/diagapplet/utils/CountList.class \ + plat/java/lib/diagapplet/utils/CountListInterface.class \ + plat/java/lib/diagapplet/utils/StandAloneApplet.class \ + plat/java/lib/diagapplet/utils/URLLoadInfoPanel.class \ + plat/java/lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + plat/java/lib/diagapplet/utils/FastListPanel.class \ + plat/java/lib/diagapplet/utils/FastListPanelInterface.class \ + plat/java/lib/diagapplet/utils/FastListContainer.class \ + plat/java/lib/diagapplet/utils/FastListPanelItem.class \ + plat/java/lib/diagapplet/utils/ModifiedFileDialog.class \ + plat/java/lib/diagapplet/utils/FakeFastListPanel.class \ + plat/java/lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + plat/java/lib/diagapplet/CodeGen/StructureTypeInfo.class \ + plat/java/lib/diagapplet/CodeGen/EnumTypeInfo.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + plat/java/lib/diagapplet/CodeGen/ModuleInfo.class \ + plat/java/lib/diagapplet/CodeGen/DefinedValue.class \ + plat/java/lib/diagapplet/CodeGen/ByteArrayObject.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLmsg.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + plat/java/lib/diagapplet/CodeGen/BufferInfo.class \ + plat/java/lib/diagapplet/CodeGen/ServerInfo.class \ + plat/java/lib/diagapplet/CodeGen/ChannelInfo.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + plat/java/lib/diagapplet/CodeGen/SplitInfoToken.class \ + plat/java/lib/diagapplet/CodeGen/StringFuncs.class \ + plat/java/lib/diagapplet/CodeGen/C_Generator.class \ + plat/java/lib/diagapplet/CodeGen/Ada_Generator.class \ + plat/java/lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenCommon.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + plat/java/lib/diagapplet/CodeGen/CodeGen.class \ + plat/java/lib/diagapplet/CodeGen/CodeGenFrame.class \ + plat/java/lib/diagapplet/CodeGen/info_array_elem_info.class \ + plat/java/lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + plat/java/lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + plat/java/lib/diagapplet/CodeGen/STI_Tokenizer.class \ + plat/java/lib/CodeGenCmdLine.jar \ + plat/java/src/rcs/utils/CorrectedPipeData.java \ + plat/java/src/rcs/utils/CorrectedPipedInputStream.java \ + plat/java/src/rcs/utils/CorrectedPipedOutputStream.java \ + plat/java/src/rcs/utils/CorrectedPipedInputStreamInterface.java \ + plat/java/src/rcs/utils/CorrectedPipedOutputStreamInterface.java \ + plat/java/src/rcs/utils/SimpleFileFilter.java \ + plat/java/src/rcs/utils/StrToInt.java \ + plat/java/src/rcs/utils/StrToLong.java \ + plat/java/src/rcs/utils/URL_and_FileLoader.java \ + plat/java/src/rcs/utils/jcrypt.java \ + plat/java/src/rcs/nml/CMS_DATE.java \ + plat/java/src/rcs/nml/CMS_TIME.java \ + plat/java/src/rcs/nml/NMLSingleVarLogItem.java \ + plat/java/src/rcs/nml/NMLSingleVarLog.java \ + plat/java/src/rcs/nml/DISPFormatConverter.java \ + plat/java/src/rcs/nml/NMLConfigInfo.java \ + plat/java/src/rcs/nml/NMLBufferConfigInfo.java \ + plat/java/src/rcs/nml/NMLConnectionInterface.java \ + plat/java/src/rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + plat/java/src/rcs/nml/NMLConnectionCreatorInterface.java \ + plat/java/src/rcs/nml/NMLConnectionCreator.java \ + plat/java/src/rcs/nml/NMLErrorAppender.java \ + plat/java/src/rcs/nml/NMLConnection.java \ + plat/java/src/rcs/nml/MsgToTimeStamp.java \ + plat/java/src/rcs/nml/NMLErrorAppender.java \ + plat/java/src/rcs/nml/NMLException.java \ + plat/java/src/rcs/nml/NMLFormatConverter.java \ + plat/java/src/rcs/nml/NMLFormatConverterBase.java \ + plat/java/src/rcs/nml/NMLMessageDictionary.java \ + plat/java/src/rcs/nml/NML_DISPLAY.java \ + plat/java/src/rcs/nml/NML_ENUM_INFO.java \ + plat/java/src/rcs/nml/NML_ERROR.java \ + plat/java/src/rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + plat/java/src/rcs/nml/NML_TEXT.java \ + plat/java/src/rcs/nml/NMLmsg.java \ + plat/java/src/rcs/nml/NonBlockingDatagramSocket.java \ + plat/java/src/rcs/nml/PackedFormatConverter.java \ + plat/java/src/rcs/nml/RCS_CMD_MSG.java \ + plat/java/src/rcs/nml/RCS_STAT_MSG.java \ + plat/java/src/rcs/nml/RCS_STAT_MSG_V2.java \ + plat/java/src/rcs/nml/time_tracker.java \ + plat/java/src/rcs/nml/XDRFormatConverter.java \ + plat/java/src/rcs/nml/XMLFormatConverter.java \ + plat/java/src/rcs/nml/debugInfo.java \ + plat/java/src/rcs/nml/errlogMsgDict.java \ + plat/java/src/rcs/nml/nmlperf.java \ + plat/java/src/rcs/nml/perftypeMsgDict.java \ + plat/java/src/rcs/posemath/PM_CARTESIAN.java \ + plat/java/src/rcs/posemath/PM_CIRCLE.java \ + plat/java/src/rcs/posemath/PM_CYLINDRICAL.java \ + plat/java/src/rcs/posemath/PM_EULER_ZYX.java \ + plat/java/src/rcs/posemath/PM_EULER_ZYZ.java \ + plat/java/src/rcs/posemath/PM_HOMOGENEOUS.java \ + plat/java/src/rcs/posemath/PM_LINE.java \ + plat/java/src/rcs/posemath/PM_POSE.java \ + plat/java/src/rcs/posemath/PM_XYA.java \ + plat/java/src/rcs/posemath/PM_QUATERNION.java \ + plat/java/src/rcs/posemath/PM_ROTATION_MATRIX.java \ + plat/java/src/rcs/posemath/PM_ROTATION_VECTOR.java \ + plat/java/src/rcs/posemath/PM_RPY.java \ + plat/java/src/rcs/posemath/PM_SPHERICAL.java \ + plat/java/src/rcs/posemath/PmCartesian.java \ + plat/java/src/rcs/posemath/PmCircle.java \ + plat/java/src/rcs/posemath/PmCylindrical.java \ + plat/java/src/rcs/posemath/PmEulerZyx.java \ + plat/java/src/rcs/posemath/PmEulerZyz.java \ + plat/java/src/rcs/posemath/PmException.java \ + plat/java/src/rcs/posemath/PmHomogeneous.java \ + plat/java/src/rcs/posemath/PmLine.java \ + plat/java/src/rcs/posemath/PmPose.java \ + plat/java/src/rcs/posemath/PmQuaternion.java \ + plat/java/src/rcs/posemath/PmRotationMatrix.java \ + plat/java/src/rcs/posemath/PmRotationVector.java \ + plat/java/src/rcs/posemath/PmRpy.java \ + plat/java/src/rcs/posemath/PmSpherical.java \ + plat/java/src/rcs/posemath/Posemath.java \ + plat/java/src/rcs/posemath/testpm.java \ + plat/java/src/rcs/RCS_VERSION.java \ + plat/java/src/diagapplet/utils/CountButton.java \ + plat/java/src/diagapplet/utils/CountButtonInterface.java \ + plat/java/src/diagapplet/utils/CountListInterface.java \ + plat/java/src/diagapplet/utils/CountList.java \ + plat/java/src/diagapplet/utils/FakeFastListPanel.java \ + plat/java/src/diagapplet/utils/FastListContainer.java \ + plat/java/src/diagapplet/utils/FastListPanel.java \ + plat/java/src/diagapplet/utils/FastListPanelInterface.java \ + plat/java/src/diagapplet/utils/FastListPanelItem.java \ + plat/java/src/diagapplet/utils/ModifiedFileDialog.java \ + plat/java/src/diagapplet/utils/StandAloneApplet.java \ + plat/java/src/diagapplet/utils/URLLoadInfoPanel.java \ + plat/java/src/diagapplet/utils/URLLoadInfoPanelInterface.java \ + a.out \ + rcs/nml/Makefile \ + rcs/nml/Makefile.old \ + rcs/nml/buildme.sh \ + rcs/nml/NMLSingleVarLog.java \ + rcs/nml/NML_ERROR.java \ + rcs/nml/CMS_TIME.java \ + rcs/nml/NMLFormatConverter.java \ + rcs/nml/perftypeMsgDict.java \ + rcs/nml/NML_ENUM_INFO.java \ + rcs/nml/NML_PERFORMANCE_TEST_MSG.java \ + rcs/nml/NMLFormatConverterBase.java \ + rcs/nml/NonBlockingDatagramSocket.java \ + rcs/nml/NMLConnectionCreator.java \ + rcs/nml/RCS_STAT_MSG.java \ + rcs/nml/RCS_STAT_MSG_V2.java \ + rcs/nml/time_tracker.java \ + rcs/nml/PackedFormatConverter.java \ + rcs/nml/NMLmsg.java \ + rcs/nml/DISPFormatConverter.java \ + rcs/nml/XMLFormatConverter.java \ + rcs/nml/debugInfo.java \ + rcs/nml/nmlperf.java \ + rcs/nml/errlogMsgDict.java \ + rcs/nml/NMLException.java \ + rcs/nml/NMLConfigInfo.java \ + rcs/nml/NMLBufferConfigInfo.java \ + rcs/nml/NMLConnection.java \ + rcs/nml/MsgToTimeStamp.java \ + rcs/nml/NMLErrorAppender.java \ + rcs/nml/NML_DISPLAY.java \ + rcs/nml/CMS_DATE.java \ + rcs/nml/NMLConnectionCreatorInterface.java \ + rcs/nml/RCS_CMD_MSG.java \ + rcs/nml/NMLFormatConvertErrCallbackInterface.java \ + rcs/nml/NML_TEXT.java \ + rcs/nml/NMLMessageDictionary.java \ + rcs/nml/NMLSingleVarLogItem.java \ + rcs/nml/NMLConnectionInterface.java \ + rcs/nml/XDRFormatConverter.java \ + rcs/posemath/Makefile \ + rcs/posemath/Makefile.old \ + rcs/posemath/buildme.sh \ + rcs/posemath/PmCartesian.java \ + rcs/posemath/PM_POSE.java \ + rcs/posemath/PM_XYA.java \ + rcs/posemath/PmPose.java \ + rcs/posemath/PM_ROTATION_VECTOR.java \ + rcs/posemath/PM_CARTESIAN.java \ + rcs/posemath/PM_SPHERICAL.java \ + rcs/posemath/PM_RPY.java \ + rcs/posemath/PmRpy.java \ + rcs/posemath/PmSpherical.java \ + rcs/posemath/testpm.java \ + rcs/posemath/PM_ROTATION_MATRIX.java \ + rcs/posemath/PmRotationVector.java \ + rcs/posemath/Posemath.java \ + rcs/posemath/PM_QUATERNION.java \ + rcs/posemath/PmRotationMatrix.java \ + rcs/posemath/PM_EULER_ZYX.java \ + rcs/posemath/PmQuaternion.java \ + rcs/posemath/PM_LINE.java \ + rcs/posemath/PM_HOMOGENEOUS.java \ + rcs/posemath/PM_EULER_ZYZ.java \ + rcs/posemath/PmEulerZyx.java \ + rcs/posemath/PmLine.java \ + rcs/posemath/PmHomogeneous.java \ + rcs/posemath/PmEulerZyz.java \ + rcs/posemath/PM_CYLINDRICAL.java \ + rcs/posemath/PmCylindrical.java \ + rcs/posemath/PmException.java \ + rcs/posemath/PM_CIRCLE.java \ + rcs/posemath/PmCircle.java \ + rcs/utils/Makefile \ + rcs/utils/Makefile.old \ + rcs/utils/buildme.sh \ + rcs/utils/StrToInt.java \ + rcs/utils/SimpleFileFilter.java \ + rcs/utils/CorrectedPipeData.java \ + rcs/utils/StrToLong.java \ + rcs/utils/jcrypt.java \ + rcs/utils/CorrectedPipedInputStream.java \ + rcs/utils/CorrectedPipedOutputStream.java \ + rcs/utils/CorrectedPipedInputStreamInterface.java \ + rcs/utils/CorrectedPipedOutputStreamInterface.java \ + rcs/utils/URL_and_FileLoader.java \ + rcs/Makefile \ + rcs/Makefile.old \ + rcs/rcsJarInfo.txt \ + rcs/buildme.sh \ + rcs/RCS_VERSION.java \ + rcs/update_ver \ + build_CodeGenCmdLine_jar.sh \ + build_diagapplet_jar.sh \ + build_jars.sh \ + build_jdiag_jar.sh \ + build_plotter_jar.sh \ + build_rcs_jar.sh \ + buildme.sh \ + CodeGenCmdLine_sources.txt \ + rcs_sources.txt \ + rcs_lib/rcs/posemath/PmCartesian.class \ + rcs_lib/rcs/posemath/PmException.class \ + rcs_lib/rcs/posemath/PmCylindrical.class \ + rcs_lib/rcs/posemath/PmSpherical.class \ + rcs_lib/rcs/posemath/PM_POSE.class \ + rcs_lib/rcs/posemath/PM_XYA.class \ + rcs_lib/rcs/posemath/PmPose.class \ + rcs_lib/rcs/posemath/PmQuaternion.class \ + rcs_lib/rcs/posemath/PmHomogeneous.class \ + rcs_lib/rcs/posemath/PmRotationMatrix.class \ + rcs_lib/rcs/posemath/PmRotationVector.class \ + rcs_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + rcs_lib/rcs/posemath/PM_CARTESIAN.class \ + rcs_lib/rcs/posemath/PM_CYLINDRICAL.class \ + rcs_lib/rcs/posemath/PM_SPHERICAL.class \ + rcs_lib/rcs/posemath/PM_RPY.class \ + rcs_lib/rcs/posemath/PmRpy.class \ + rcs_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + rcs_lib/rcs/posemath/Posemath.class \ + rcs_lib/rcs/posemath/PM_QUATERNION.class \ + rcs_lib/rcs/posemath/PmEulerZyz.class \ + rcs_lib/rcs/posemath/PmEulerZyx.class \ + rcs_lib/rcs/posemath/PM_EULER_ZYZ.class \ + rcs_lib/rcs/posemath/PM_EULER_ZYX.class \ + rcs_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + rcs_lib/rcs/posemath/PmLine.class \ + rcs_lib/rcs/posemath/PmCircle.class \ + rcs_lib/rcs/posemath/PM_LINE.class \ + rcs_lib/rcs/posemath/PM_CIRCLE.class \ + rcs_lib/rcs/nml/NMLFormatConverter.class \ + rcs_lib/rcs/nml/NML_ENUM_INFO.class \ + rcs_lib/rcs/nml/CMS_TIME.class \ + rcs_lib/rcs/nml/CMS_DATE.class \ + rcs_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + rcs_lib/rcs/nml/RCS_STAT_MSG.class \ + rcs_lib/rcs/nml/NMLmsg.class \ + rcs_lib/rcs/nml/time_tracker.class \ + rcs_lib/rcs/nml/NML_ERROR.class \ + rcs_lib/rcs/nml/NMLSingleVarLog.class \ + rcs_lib/rcs/nml/NMLSingleVarLogItem.class \ + rcs_lib/rcs/nml/perftypeMsgDict.class \ + rcs_lib/rcs/nml/NMLMessageDictionary.class \ + rcs_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + rcs_lib/rcs/nml/NMLFormatConverterBase.class \ + rcs_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + rcs_lib/rcs/nml/NonBlockingDatagramSocket.class \ + rcs_lib/rcs/nml/NMLConnectionCreator.class \ + rcs_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + rcs_lib/rcs/nml/NMLConnectionInterface.class \ + rcs_lib/rcs/nml/PackedFormatConverter.class \ + rcs_lib/rcs/nml/DISPFormatConverter.class \ + rcs_lib/rcs/nml/XMLNodeInfo.class \ + rcs_lib/rcs/nml/XMLFormatConverter.class \ + rcs_lib/rcs/nml/debugInfo.class \ + rcs_lib/rcs/nml/nmlperf.class \ + rcs_lib/rcs/nml/NMLException.class \ + rcs_lib/rcs/nml/errlogMsgDict.class \ + rcs_lib/rcs/nml/NML_DISPLAY.class \ + rcs_lib/rcs/nml/NML_TEXT.class \ + rcs_lib/rcs/nml/NMLErrorAppender.class \ + rcs_lib/rcs/nml/NMLConnection.class \ + rcs_lib/rcs/nml/NMLBufferConfigInfo.class \ + rcs_lib/rcs/nml/NMLConfigInfo.class \ + rcs_lib/rcs/nml/RCS_CMD_MSG.class \ + rcs_lib/rcs/nml/XDRFormatConverter.class \ + rcs_lib/rcs/utils/StrToInt.class \ + rcs_lib/rcs/utils/SimpleFileFilter.class \ + rcs_lib/rcs/utils/CorrectedPipeData.class \ + rcs_lib/rcs/utils/CorrectedPipedInputStream.class \ + rcs_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + rcs_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + rcs_lib/rcs/utils/StrToLong.class \ + rcs_lib/rcs/utils/jcrypt.class \ + rcs_lib/rcs/utils/CorrectedPipedOutputStream.class \ + rcs_lib/rcs/utils/URL_and_FileLoader.class \ + rcs_lib/rcs/RCS_VERSION.class \ + rcs_lib/rcs.jar \ + diagapplet/CodeGen/Makefile \ + diagapplet/CodeGen/Makefile.old \ + diagapplet/CodeGen/CodeGenCmdLineJarInfo.txt \ + diagapplet/CodeGen/CodeGenJarInfo.txt \ + diagapplet/CodeGen/buildme.sh \ + diagapplet/CodeGen/gcj_build_nmlcodegen.sh \ + diagapplet/CodeGen/CodeGenCmdLine.java \ + diagapplet/CodeGen/ModuleInfo.java \ + diagapplet/CodeGen/StringFuncs.java \ + diagapplet/CodeGen/CodeGenTextAreaWrapper.java \ + diagapplet/CodeGen/SplitInfoToken.java \ + diagapplet/CodeGen/LoadHierarchyUpdateInterface.java \ + diagapplet/CodeGen/CodeGenCommon.java \ + diagapplet/CodeGen/ServerInfo.java \ + diagapplet/CodeGen/CodeGenTextFieldWrapper.java \ + diagapplet/CodeGen/EnumTypeInfo.java \ + diagapplet/CodeGen/DiagNMLmsg.java \ + diagapplet/CodeGen/DiagNMLMsgDictCreator.java \ + diagapplet/CodeGen/CodeGenTextAreaInterface.java \ + diagapplet/CodeGen/C_Generator.java \ + diagapplet/CodeGen/StructureList.java \ + diagapplet/CodeGen/ChannelInfo.java \ + diagapplet/CodeGen/CodeGen.java \ + diagapplet/CodeGen/CodeGenTextFieldInterface.java \ + diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.java \ + diagapplet/CodeGen/DiagNMLMsgDict.java \ + diagapplet/CodeGen/info_array_elem_info.java \ + diagapplet/CodeGen/BufferInfo.java \ + diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.java \ + diagapplet/CodeGen/STI_TokenizerInterface.java \ + diagapplet/CodeGen/CodeGenCodeTextAreaInterface.java \ + diagapplet/CodeGen/StructureTypeInfo.java \ + diagapplet/CodeGen/CodeGenFrame.java \ + diagapplet/CodeGen/STI_Tokenizer.java \ + diagapplet/CodeGen/ModuleInfoInterface.java \ + diagapplet/CodeGen/DefinedValue.java \ + diagapplet/CodeGen/DiagNMLMsgDictInterface.java \ + diagapplet/CodeGen/Ada_Generator.java \ + diagapplet/CodeGen/CodeGenBellRingerInterface.java \ + diagapplet/CodeGen/CodeGenCommonInterface.java \ + diagapplet/CodeGen/CodeGenCommonInterface2.java \ + diagapplet/plotter/Makefile \ + diagapplet/plotter/Makefile.old \ + diagapplet/plotter/plotterJarInfo.txt \ + diagapplet/plotter/buildme.sh \ + diagapplet/plotter/PlotGraphScreenMap.java \ + diagapplet/plotter/PlotData.java \ + diagapplet/plotter/PlotPoint.java \ + diagapplet/plotter/PlotFrame.java \ + diagapplet/utils/Makefile \ + diagapplet/utils/Makefile.old \ + diagapplet/utils/buildme.sh \ + diagapplet/utils/CountButtonInterface.java \ + diagapplet/utils/ModifiedFileDialog.java \ + diagapplet/utils/FakeFastListPanel.java \ + diagapplet/utils/CountListInterface.java \ + diagapplet/utils/FastListPanel.java \ + diagapplet/utils/URLLoadInfoPanelInterface.java \ + diagapplet/utils/CountList.java \ + diagapplet/utils/CountButton.java \ + diagapplet/utils/FastListPanelItem.java \ + diagapplet/utils/FastListPanelInterface.java \ + diagapplet/utils/FastListContainer.java \ + diagapplet/utils/URLLoadInfoPanel.java \ + diagapplet/utils/StandAloneApplet.java \ + diagapplet/Makefile \ + diagapplet/Makefile.old \ + diagapplet/diagicon.png \ + diagapplet/diagappletJarInfo.txt \ + diagapplet/buildme.sh \ + diagapplet/CodeDisplayPanel.java \ + diagapplet/diagappletJFrame.java \ + diagapplet/diag_update_interface.java \ + diagapplet/diagappletFrame.java \ + diagapplet/PlotTracker.java \ + diagapplet/HierarchyPanel.java \ + diagapplet/jdiagJarInfo.txt \ + diagapplet/update_diag_sources.sh \ + diagapplet/update_rcs_diag_sources.sh \ + diagapplet/rcs_diag_sources.mak \ + diagapplet/diag_sources.mak \ + CodeGenCmdLine_lib/rcs/utils/StrToInt.class \ + CodeGenCmdLine_lib/rcs/utils/StrToLong.class \ + CodeGenCmdLine_lib/rcs/utils/URL_and_FileLoader.class \ + CodeGenCmdLine_lib/rcs/utils/jcrypt.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedInputStream.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipeData.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + CodeGenCmdLine_lib/rcs/utils/CorrectedPipedOutputStream.class \ + CodeGenCmdLine_lib/rcs/utils/SimpleFileFilter.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionCreator.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnectionInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLMessageDictionary.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + CodeGenCmdLine_lib/rcs/nml/NMLSingleVarLog.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/NMLSingleVarLogItem.class \ + CodeGenCmdLine_lib/rcs/nml/NML_ENUM_INFO.class \ + CodeGenCmdLine_lib/rcs/nml/CMS_TIME.class \ + CodeGenCmdLine_lib/rcs/nml/CMS_DATE.class \ + CodeGenCmdLine_lib/rcs/nml/errlogMsgDict.class \ + CodeGenCmdLine_lib/rcs/nml/NML_DISPLAY.class \ + CodeGenCmdLine_lib/rcs/nml/NMLmsg.class \ + CodeGenCmdLine_lib/rcs/nml/NML_ERROR.class \ + CodeGenCmdLine_lib/rcs/nml/NML_TEXT.class \ + CodeGenCmdLine_lib/rcs/nml/NMLErrorAppender.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConnection.class \ + CodeGenCmdLine_lib/rcs/nml/NMLFormatConverterBase.class \ + CodeGenCmdLine_lib/rcs/nml/NonBlockingDatagramSocket.class \ + CodeGenCmdLine_lib/rcs/nml/NMLException.class \ + CodeGenCmdLine_lib/rcs/nml/NMLBufferConfigInfo.class \ + CodeGenCmdLine_lib/rcs/nml/NMLConfigInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XDRFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/PackedFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/DISPFormatConverter.class \ + CodeGenCmdLine_lib/rcs/nml/debugInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XMLNodeInfo.class \ + CodeGenCmdLine_lib/rcs/nml/XMLFormatConverter.class \ + CodeGenCmdLine_lib/rcs/RCS_VERSION.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountButtonInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FakeFastListPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanelInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanelItem.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountListInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/FastListContainer.class \ + CodeGenCmdLine_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountList.class \ + CodeGenCmdLine_lib/diagapplet/utils/StandAloneApplet.class \ + CodeGenCmdLine_lib/diagapplet/utils/CountButton.class \ + CodeGenCmdLine_lib/diagapplet/utils/URLLoadInfoPanel.class \ + CodeGenCmdLine_lib/diagapplet/utils/ModifiedFileDialog.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ModuleInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DefinedValue.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/info_array_elem_info.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/StringFuncs.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/SplitInfoToken.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterfac.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenCommon.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ServerInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/C_Generator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGen.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenFrame.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ChannelInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/BufferInfo.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/Ada_Generator.class \ + CodeGenCmdLine_lib/diagapplet/CodeGen/ByteArrayObject.class \ + CodeGenCmdLine_lib/CodeGenCmdLineJarInfo.txt \ + CodeGenCmdLine_lib/CodeGenCmdLine.jar \ + diagapplet_lib/rcs/posemath/PmCartesian.class \ + diagapplet_lib/rcs/posemath/PmException.class \ + diagapplet_lib/rcs/posemath/PmCylindrical.class \ + diagapplet_lib/rcs/posemath/PmSpherical.class \ + diagapplet_lib/rcs/posemath/PM_POSE.class \ + diagapplet_lib/rcs/posemath/PM_XYA.class \ + diagapplet_lib/rcs/posemath/PmPose.class \ + diagapplet_lib/rcs/posemath/PmQuaternion.class \ + diagapplet_lib/rcs/posemath/PmHomogeneous.class \ + diagapplet_lib/rcs/posemath/PmRotationMatrix.class \ + diagapplet_lib/rcs/posemath/PmRotationVector.class \ + diagapplet_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + diagapplet_lib/rcs/posemath/PM_CARTESIAN.class \ + diagapplet_lib/rcs/posemath/PM_CYLINDRICAL.class \ + diagapplet_lib/rcs/posemath/PM_SPHERICAL.class \ + diagapplet_lib/rcs/posemath/PM_RPY.class \ + diagapplet_lib/rcs/posemath/PmRpy.class \ + diagapplet_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + diagapplet_lib/rcs/posemath/Posemath.class \ + diagapplet_lib/rcs/posemath/PM_QUATERNION.class \ + diagapplet_lib/rcs/posemath/PmEulerZyz.class \ + diagapplet_lib/rcs/posemath/PmEulerZyx.class \ + diagapplet_lib/rcs/posemath/PM_EULER_ZYZ.class \ + diagapplet_lib/rcs/posemath/PM_EULER_ZYX.class \ + diagapplet_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + diagapplet_lib/rcs/posemath/PmLine.class \ + diagapplet_lib/rcs/posemath/PmCircle.class \ + diagapplet_lib/rcs/posemath/PM_LINE.class \ + diagapplet_lib/rcs/posemath/PM_CIRCLE.class \ + diagapplet_lib/rcs/nml/NMLFormatConverter.class \ + diagapplet_lib/rcs/nml/NML_ENUM_INFO.class \ + diagapplet_lib/rcs/nml/CMS_TIME.class \ + diagapplet_lib/rcs/nml/CMS_DATE.class \ + diagapplet_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + diagapplet_lib/rcs/nml/RCS_STAT_MSG.class \ + diagapplet_lib/rcs/nml/NMLmsg.class \ + diagapplet_lib/rcs/nml/time_tracker.class \ + diagapplet_lib/rcs/nml/NML_ERROR.class \ + diagapplet_lib/rcs/nml/NMLSingleVarLog.class \ + diagapplet_lib/rcs/nml/NMLSingleVarLogItem.class \ + diagapplet_lib/rcs/nml/perftypeMsgDict.class \ + diagapplet_lib/rcs/nml/NMLMessageDictionary.class \ + diagapplet_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + diagapplet_lib/rcs/nml/NMLFormatConverterBase.class \ + diagapplet_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + diagapplet_lib/rcs/nml/NonBlockingDatagramSocket.class \ + diagapplet_lib/rcs/nml/NMLConnectionCreator.class \ + diagapplet_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + diagapplet_lib/rcs/nml/NMLConnectionInterface.class \ + diagapplet_lib/rcs/nml/PackedFormatConverter.class \ + diagapplet_lib/rcs/nml/DISPFormatConverter.class \ + diagapplet_lib/rcs/nml/XMLNodeInfo.class \ + diagapplet_lib/rcs/nml/XMLFormatConverter.class \ + diagapplet_lib/rcs/nml/debugInfo.class \ + diagapplet_lib/rcs/nml/nmlperf.class \ + diagapplet_lib/rcs/nml/NMLException.class \ + diagapplet_lib/rcs/nml/errlogMsgDict.class \ + diagapplet_lib/rcs/nml/NML_DISPLAY.class \ + diagapplet_lib/rcs/nml/NML_TEXT.class \ + diagapplet_lib/rcs/nml/NMLErrorAppender.class \ + diagapplet_lib/rcs/nml/NMLConnection.class \ + diagapplet_lib/rcs/nml/NMLBufferConfigInfo.class \ + diagapplet_lib/rcs/nml/NMLConfigInfo.class \ + diagapplet_lib/rcs/nml/RCS_CMD_MSG.class \ + diagapplet_lib/rcs/nml/XDRFormatConverter.class \ + diagapplet_lib/rcs/utils/StrToInt.class \ + diagapplet_lib/rcs/utils/SimpleFileFilter.class \ + diagapplet_lib/rcs/utils/CorrectedPipeData.class \ + diagapplet_lib/rcs/utils/CorrectedPipedInputStream.class \ + diagapplet_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + diagapplet_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + diagapplet_lib/rcs/utils/StrToLong.class \ + diagapplet_lib/rcs/utils/jcrypt.class \ + diagapplet_lib/rcs/utils/CorrectedPipedOutputStream.class \ + diagapplet_lib/rcs/utils/URL_and_FileLoader.class \ + diagapplet_lib/rcs/RCS_VERSION.class \ + diagapplet_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + diagapplet_lib/diagapplet/plotter/PlotData.class \ + diagapplet_lib/diagapplet/plotter/PlotPoint.class \ + diagapplet_lib/diagapplet/utils/StandAloneApplet.class \ + diagapplet_lib/diagapplet/utils/URLLoadInfoPanel.class \ + diagapplet_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + diagapplet_lib/diagapplet/utils/CountList.class \ + diagapplet_lib/diagapplet/utils/CountListInterface.class \ + diagapplet_lib/diagapplet/utils/CountButtonInterface.class \ + diagapplet_lib/diagapplet/utils/ModifiedFileDialog.class \ + diagapplet_lib/diagapplet/utils/FastListPanel.class \ + diagapplet_lib/diagapplet/utils/FastListPanelInterface.class \ + diagapplet_lib/diagapplet/utils/FastListContainer.class \ + diagapplet_lib/diagapplet/utils/FastListPanelItem.class \ + diagapplet_lib/diagapplet/utils/FakeFastListPanel.class \ + diagapplet_lib/diagapplet/utils/CountButton.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + diagapplet_lib/diagapplet/CodeGen/ModuleInfo.class \ + diagapplet_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + diagapplet_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + diagapplet_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + diagapplet_lib/diagapplet/CodeGen/DefinedValue.class \ + diagapplet_lib/diagapplet/CodeGen/info_array_elem_info.class \ + diagapplet_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + diagapplet_lib/diagapplet/CodeGen/StringFuncs.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + diagapplet_lib/diagapplet/CodeGen/SplitInfoToken.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + diagapplet_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCommon.class \ + diagapplet_lib/diagapplet/CodeGen/ServerInfo.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + diagapplet_lib/diagapplet/CodeGen/ByteArrayObject.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + diagapplet_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + diagapplet_lib/diagapplet/CodeGen/C_Generator.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGen.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenFrame.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.class \ + diagapplet_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + diagapplet_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + diagapplet_lib/diagapplet/CodeGen/ChannelInfo.class \ + diagapplet_lib/diagapplet/CodeGen/BufferInfo.class \ + diagapplet_lib/diagapplet/CodeGen/Ada_Generator.class \ + diagapplet_lib/diagapplet/diagappletJFrame.class \ + diagapplet_lib/diagapplet/diag_update.class \ + diagapplet_lib/diagapplet/diag_update_interface.class \ + diagapplet_lib/diagapplet/CodeDisplayPanel.class \ + diagapplet_lib/diagapplet/HierarchyPanel.class \ + diagapplet_lib/diagapplet/PlotTracker.class \ + diagapplet_lib/diagapplet/CodeFileInfo.class \ + diagapplet_lib/diagapplet/LineInfo.class \ + diagapplet_lib/diagapplet/diagappletFrame.class \ + diagapplet_lib/diagappletJarInfo.txt \ + diagapplet_lib/diagapplet.jar \ + plotter_lib/rcs/utils/StrToInt.class \ + plotter_lib/rcs/utils/SimpleFileFilter.class \ + plotter_lib/rcs/utils/CorrectedPipeData.class \ + plotter_lib/rcs/utils/CorrectedPipedInputStream.class \ + plotter_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + plotter_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + plotter_lib/rcs/utils/StrToLong.class \ + plotter_lib/rcs/utils/jcrypt.class \ + plotter_lib/rcs/utils/CorrectedPipedOutputStream.class \ + plotter_lib/rcs/utils/URL_and_FileLoader.class \ + plotter_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + plotter_lib/diagapplet/plotter/PlotData.class \ + plotter_lib/diagapplet/plotter/PlotPoint.class \ + plotter_lib/diagapplet/plotter/PlotFrame.class \ + plotter_lib/diagapplet/utils/StandAloneApplet.class \ + plotter_lib/diagapplet/utils/URLLoadInfoPanel.class \ + plotter_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + plotter_lib/diagapplet/utils/CountList.class \ + plotter_lib/diagapplet/utils/CountListInterface.class \ + plotter_lib/diagapplet/utils/CountButtonInterface.class \ + plotter_lib/diagapplet/utils/ModifiedFileDialog.class \ + plotter_lib/diagapplet/utils/FastListPanel.class \ + plotter_lib/diagapplet/utils/FastListPanelInterface.class \ + plotter_lib/diagapplet/utils/FastListContainer.class \ + plotter_lib/diagapplet/utils/FastListPanelItem.class \ + plotter_lib/diagapplet/utils/FakeFastListPanel.class \ + plotter_lib/diagapplet/utils/CountButton.class \ + plotter_lib/plotterJarInfo.txt \ + plotter_lib/plotter.jar \ + jdiag_lib/rcs/posemath/PmCartesian.class \ + jdiag_lib/rcs/posemath/PmException.class \ + jdiag_lib/rcs/posemath/PmCylindrical.class \ + jdiag_lib/rcs/posemath/PmSpherical.class \ + jdiag_lib/rcs/posemath/PM_POSE.class \ + jdiag_lib/rcs/posemath/PM_XYA.class \ + jdiag_lib/rcs/posemath/PmPose.class \ + jdiag_lib/rcs/posemath/PmQuaternion.class \ + jdiag_lib/rcs/posemath/PmHomogeneous.class \ + jdiag_lib/rcs/posemath/PmRotationMatrix.class \ + jdiag_lib/rcs/posemath/PmRotationVector.class \ + jdiag_lib/rcs/posemath/PM_ROTATION_VECTOR.class \ + jdiag_lib/rcs/posemath/PM_CARTESIAN.class \ + jdiag_lib/rcs/posemath/PM_CYLINDRICAL.class \ + jdiag_lib/rcs/posemath/PM_SPHERICAL.class \ + jdiag_lib/rcs/posemath/PM_RPY.class \ + jdiag_lib/rcs/posemath/PmRpy.class \ + jdiag_lib/rcs/posemath/PM_ROTATION_MATRIX.class \ + jdiag_lib/rcs/posemath/Posemath.class \ + jdiag_lib/rcs/posemath/PM_QUATERNION.class \ + jdiag_lib/rcs/posemath/PmEulerZyz.class \ + jdiag_lib/rcs/posemath/PmEulerZyx.class \ + jdiag_lib/rcs/posemath/PM_EULER_ZYZ.class \ + jdiag_lib/rcs/posemath/PM_EULER_ZYX.class \ + jdiag_lib/rcs/posemath/PM_HOMOGENEOUS.class \ + jdiag_lib/rcs/posemath/PmLine.class \ + jdiag_lib/rcs/posemath/PmCircle.class \ + jdiag_lib/rcs/posemath/PM_LINE.class \ + jdiag_lib/rcs/posemath/PM_CIRCLE.class \ + jdiag_lib/rcs/nml/NMLFormatConverter.class \ + jdiag_lib/rcs/nml/NML_ENUM_INFO.class \ + jdiag_lib/rcs/nml/CMS_TIME.class \ + jdiag_lib/rcs/nml/CMS_DATE.class \ + jdiag_lib/rcs/nml/RCS_STAT_MSG_V2.class \ + jdiag_lib/rcs/nml/RCS_STAT_MSG.class \ + jdiag_lib/rcs/nml/NMLmsg.class \ + jdiag_lib/rcs/nml/time_tracker.class \ + jdiag_lib/rcs/nml/NML_ERROR.class \ + jdiag_lib/rcs/nml/NMLSingleVarLog.class \ + jdiag_lib/rcs/nml/NMLSingleVarLogItem.class \ + jdiag_lib/rcs/nml/perftypeMsgDict.class \ + jdiag_lib/rcs/nml/NMLMessageDictionary.class \ + jdiag_lib/rcs/nml/NML_PERFORMANCE_TEST_MSG.class \ + jdiag_lib/rcs/nml/NMLFormatConverterBase.class \ + jdiag_lib/rcs/nml/NMLFormatConvertErrCallbackInterface.class \ + jdiag_lib/rcs/nml/NonBlockingDatagramSocket.class \ + jdiag_lib/rcs/nml/NMLConnectionCreator.class \ + jdiag_lib/rcs/nml/NMLConnectionCreatorInterface.class \ + jdiag_lib/rcs/nml/NMLConnectionInterface.class \ + jdiag_lib/rcs/nml/PackedFormatConverter.class \ + jdiag_lib/rcs/nml/DISPFormatConverter.class \ + jdiag_lib/rcs/nml/XMLNodeInfo.class \ + jdiag_lib/rcs/nml/XMLFormatConverter.class \ + jdiag_lib/rcs/nml/debugInfo.class \ + jdiag_lib/rcs/nml/nmlperf.class \ + jdiag_lib/rcs/nml/NMLException.class \ + jdiag_lib/rcs/nml/errlogMsgDict.class \ + jdiag_lib/rcs/nml/NML_DISPLAY.class \ + jdiag_lib/rcs/nml/NML_TEXT.class \ + jdiag_lib/rcs/nml/NMLErrorAppender.class \ + jdiag_lib/rcs/nml/NMLConnection.class \ + jdiag_lib/rcs/nml/NMLBufferConfigInfo.class \ + jdiag_lib/rcs/nml/NMLConfigInfo.class \ + jdiag_lib/rcs/nml/RCS_CMD_MSG.class \ + jdiag_lib/rcs/nml/XDRFormatConverter.class \ + jdiag_lib/rcs/utils/StrToInt.class \ + jdiag_lib/rcs/utils/SimpleFileFilter.class \ + jdiag_lib/rcs/utils/CorrectedPipeData.class \ + jdiag_lib/rcs/utils/CorrectedPipedInputStream.class \ + jdiag_lib/rcs/utils/CorrectedPipedInputStreamInterface.class \ + jdiag_lib/rcs/utils/CorrectedPipedOutputStreamInterface.class \ + jdiag_lib/rcs/utils/StrToLong.class \ + jdiag_lib/rcs/utils/jcrypt.class \ + jdiag_lib/rcs/utils/CorrectedPipedOutputStream.class \ + jdiag_lib/rcs/utils/URL_and_FileLoader.class \ + jdiag_lib/rcs/RCS_VERSION.class \ + jdiag_lib/diagapplet/plotter/PlotGraphScreenMap.class \ + jdiag_lib/diagapplet/plotter/PlotData.class \ + jdiag_lib/diagapplet/plotter/PlotPoint.class \ + jdiag_lib/diagapplet/plotter/PlotFrame.class \ + jdiag_lib/diagapplet/utils/StandAloneApplet.class \ + jdiag_lib/diagapplet/utils/URLLoadInfoPanel.class \ + jdiag_lib/diagapplet/utils/URLLoadInfoPanelInterface.class \ + jdiag_lib/diagapplet/utils/CountList.class \ + jdiag_lib/diagapplet/utils/CountListInterface.class \ + jdiag_lib/diagapplet/utils/CountButtonInterface.class \ + jdiag_lib/diagapplet/utils/ModifiedFileDialog.class \ + jdiag_lib/diagapplet/utils/FastListPanel.class \ + jdiag_lib/diagapplet/utils/FastListPanelInterface.class \ + jdiag_lib/diagapplet/utils/FastListContainer.class \ + jdiag_lib/diagapplet/utils/FastListPanelItem.class \ + jdiag_lib/diagapplet/utils/FakeFastListPanel.class \ + jdiag_lib/diagapplet/utils/CountButton.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCmdLine.class \ + jdiag_lib/diagapplet/CodeGen/ModuleInfo.class \ + jdiag_lib/diagapplet/CodeGen/ModuleInfoInterface.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLFormatConvertErrCallback.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictInterface.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.class \ + jdiag_lib/diagapplet/CodeGen/StructureTypeInfo.class \ + jdiag_lib/diagapplet/CodeGen/EnumTypeInfo.class \ + jdiag_lib/diagapplet/CodeGen/DefinedValue.class \ + jdiag_lib/diagapplet/CodeGen/info_array_elem_info.class \ + jdiag_lib/diagapplet/CodeGen/STI_TokenizerInterface.class \ + jdiag_lib/diagapplet/CodeGen/StringFuncs.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommonInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommonInterface2.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextFieldInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenBellRingerInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextAreaInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextAreaWrapper.class \ + jdiag_lib/diagapplet/CodeGen/SplitInfoToken.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDictCreator.class \ + jdiag_lib/diagapplet/CodeGen/LoadHierarchyUpdateInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCommon.class \ + jdiag_lib/diagapplet/CodeGen/ServerInfo.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenTextFieldWrapper.class \ + jdiag_lib/diagapplet/CodeGen/ByteArrayObject.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLmsg.class \ + jdiag_lib/diagapplet/CodeGen/DiagNMLMsgDict.class \ + jdiag_lib/diagapplet/CodeGen/C_Generator.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenCodeTextAreaInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenListInterface.class \ + jdiag_lib/diagapplet/CodeGen/CodeGenFrame.class \ + jdiag_lib/diagapplet/CodeGen/STI_Tokenizer.class \ + jdiag_lib/diagapplet/CodeGen/ChannelInfo.class \ + jdiag_lib/diagapplet/CodeGen/BufferInfo.class \ + jdiag_lib/diagapplet/CodeGen/Ada_Generator.class \ + jdiag_lib/diagapplet/CodeGen/CodeGen.class \ + jdiag_lib/diagapplet/diagappletJFrame.class \ + jdiag_lib/diagapplet/diag_update.class \ + jdiag_lib/diagapplet/diag_update_interface.class \ + jdiag_lib/diagapplet/CodeDisplayPanel.class \ + jdiag_lib/diagapplet/HierarchyPanel.class \ + jdiag_lib/diagapplet/PlotTracker.class \ + jdiag_lib/diagapplet/CodeFileInfo.class \ + jdiag_lib/diagapplet/LineInfo.class \ + jdiag_lib/diagapplet/diagappletFrame.class \ + jdiag_lib/jdiagJarInfo.txt \ + jdiag_lib/jdiag.jar \ + nml_test_server.running + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = rcslib.pc +all: rcs_config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .cc .lo .o .obj +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +rcs_config.h: stamp-h1 + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + +stamp-h1: $(srcdir)/rcs_config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status rcs_config.h +$(srcdir)/rcs_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f rcs_config.h stamp-h1 +rcslib.pc: $(top_builddir)/config.status $(srcdir)/rcslib.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libposemath.la: $(libposemath_la_OBJECTS) $(libposemath_la_DEPENDENCIES) $(EXTRA_libposemath_la_DEPENDENCIES) + $(libposemath_la_LINK) -rpath $(libdir) $(libposemath_la_OBJECTS) $(libposemath_la_LIBADD) $(LIBS) +librcs.la: $(librcs_la_OBJECTS) $(librcs_la_DEPENDENCIES) $(EXTRA_librcs_la_DEPENDENCIES) + $(librcs_la_LINK) -rpath $(libdir) $(librcs_la_OBJECTS) $(librcs_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +CodeGenCmdLine.jar$(EXEEXT): $(CodeGenCmdLine_jar_OBJECTS) $(CodeGenCmdLine_jar_DEPENDENCIES) $(EXTRA_CodeGenCmdLine_jar_DEPENDENCIES) + @rm -f CodeGenCmdLine.jar$(EXEEXT) + $(CodeGenCmdLine_jar_LINK) $(CodeGenCmdLine_jar_OBJECTS) $(CodeGenCmdLine_jar_LDADD) $(LIBS) +diag_NB.jar$(EXEEXT): $(diag_NB_jar_OBJECTS) $(diag_NB_jar_DEPENDENCIES) $(EXTRA_diag_NB_jar_DEPENDENCIES) + @rm -f diag_NB.jar$(EXEEXT) + $(diag_NB_jar_LINK) $(diag_NB_jar_OBJECTS) $(diag_NB_jar_LDADD) $(LIBS) +etime_print$(EXEEXT): $(etime_print_OBJECTS) $(etime_print_DEPENDENCIES) $(EXTRA_etime_print_DEPENDENCIES) + @rm -f etime_print$(EXEEXT) + $(etime_print_LINK) $(etime_print_OBJECTS) $(etime_print_LDADD) $(LIBS) +nmlGetRemoteTcpServerBufferInfo$(EXEEXT): $(nmlGetRemoteTcpServerBufferInfo_OBJECTS) $(nmlGetRemoteTcpServerBufferInfo_DEPENDENCIES) $(EXTRA_nmlGetRemoteTcpServerBufferInfo_DEPENDENCIES) + @rm -f nmlGetRemoteTcpServerBufferInfo$(EXEEXT) + $(CXXLINK) $(nmlGetRemoteTcpServerBufferInfo_OBJECTS) $(nmlGetRemoteTcpServerBufferInfo_LDADD) $(LIBS) +nmlGetRemoteTcpServerBufferList$(EXEEXT): $(nmlGetRemoteTcpServerBufferList_OBJECTS) $(nmlGetRemoteTcpServerBufferList_DEPENDENCIES) $(EXTRA_nmlGetRemoteTcpServerBufferList_DEPENDENCIES) + @rm -f nmlGetRemoteTcpServerBufferList$(EXEEXT) + $(CXXLINK) $(nmlGetRemoteTcpServerBufferList_OBJECTS) $(nmlGetRemoteTcpServerBufferList_LDADD) $(LIBS) +nml_packed_file_to_csv$(EXEEXT): $(nml_packed_file_to_csv_OBJECTS) $(nml_packed_file_to_csv_DEPENDENCIES) $(EXTRA_nml_packed_file_to_csv_DEPENDENCIES) + @rm -f nml_packed_file_to_csv$(EXEEXT) + $(CXXLINK) $(nml_packed_file_to_csv_OBJECTS) $(nml_packed_file_to_csv_LDADD) $(LIBS) +nml_test_blocking_read$(EXEEXT): $(nml_test_blocking_read_OBJECTS) $(nml_test_blocking_read_DEPENDENCIES) $(EXTRA_nml_test_blocking_read_DEPENDENCIES) + @rm -f nml_test_blocking_read$(EXEEXT) + $(nml_test_blocking_read_LINK) $(nml_test_blocking_read_OBJECTS) $(nml_test_blocking_read_LDADD) $(LIBS) +nml_test_get_queue_length$(EXEEXT): $(nml_test_get_queue_length_OBJECTS) $(nml_test_get_queue_length_DEPENDENCIES) $(EXTRA_nml_test_get_queue_length_DEPENDENCIES) + @rm -f nml_test_get_queue_length$(EXEEXT) + $(nml_test_get_queue_length_LINK) $(nml_test_get_queue_length_OBJECTS) $(nml_test_get_queue_length_LDADD) $(LIBS) +nml_test_get_space_available$(EXEEXT): $(nml_test_get_space_available_OBJECTS) $(nml_test_get_space_available_DEPENDENCIES) $(EXTRA_nml_test_get_space_available_DEPENDENCIES) + @rm -f nml_test_get_space_available$(EXEEXT) + $(nml_test_get_space_available_LINK) $(nml_test_get_space_available_OBJECTS) $(nml_test_get_space_available_LDADD) $(LIBS) +nml_test_nmlset$(EXEEXT): $(nml_test_nmlset_OBJECTS) $(nml_test_nmlset_DEPENDENCIES) $(EXTRA_nml_test_nmlset_DEPENDENCIES) + @rm -f nml_test_nmlset$(EXEEXT) + $(nml_test_nmlset_LINK) $(nml_test_nmlset_OBJECTS) $(nml_test_nmlset_LDADD) $(LIBS) +nml_test_read$(EXEEXT): $(nml_test_read_OBJECTS) $(nml_test_read_DEPENDENCIES) $(EXTRA_nml_test_read_DEPENDENCIES) + @rm -f nml_test_read$(EXEEXT) + $(nml_test_read_LINK) $(nml_test_read_OBJECTS) $(nml_test_read_LDADD) $(LIBS) +nml_test_server$(EXEEXT): $(nml_test_server_OBJECTS) $(nml_test_server_DEPENDENCIES) $(EXTRA_nml_test_server_DEPENDENCIES) + @rm -f nml_test_server$(EXEEXT) + $(nml_test_server_LINK) $(nml_test_server_OBJECTS) $(nml_test_server_LDADD) $(LIBS) +nml_test_single_process_queue_test$(EXEEXT): $(nml_test_single_process_queue_test_OBJECTS) $(nml_test_single_process_queue_test_DEPENDENCIES) $(EXTRA_nml_test_single_process_queue_test_DEPENDENCIES) + @rm -f nml_test_single_process_queue_test$(EXEEXT) + $(nml_test_single_process_queue_test_LINK) $(nml_test_single_process_queue_test_OBJECTS) $(nml_test_single_process_queue_test_LDADD) $(LIBS) +nml_test_write$(EXEEXT): $(nml_test_write_OBJECTS) $(nml_test_write_DEPENDENCIES) $(EXTRA_nml_test_write_DEPENDENCIES) + @rm -f nml_test_write$(EXEEXT) + $(nml_test_write_LINK) $(nml_test_write_OBJECTS) $(nml_test_write_LDADD) $(LIBS) +nmlcfg$(EXEEXT): $(nmlcfg_OBJECTS) $(nmlcfg_DEPENDENCIES) $(EXTRA_nmlcfg_DEPENDENCIES) + @rm -f nmlcfg$(EXEEXT) + $(CXXLINK) $(nmlcfg_OBJECTS) $(nmlcfg_LDADD) $(LIBS) +nmlcfgsvr$(EXEEXT): $(nmlcfgsvr_OBJECTS) $(nmlcfgsvr_DEPENDENCIES) $(EXTRA_nmlcfgsvr_DEPENDENCIES) + @rm -f nmlcfgsvr$(EXEEXT) + $(CXXLINK) $(nmlcfgsvr_OBJECTS) $(nmlcfgsvr_LDADD) $(LIBS) +nmlclean$(EXEEXT): $(nmlclean_OBJECTS) $(nmlclean_DEPENDENCIES) $(EXTRA_nmlclean_DEPENDENCIES) + @rm -f nmlclean$(EXEEXT) + $(CXXLINK) $(nmlclean_OBJECTS) $(nmlclean_LDADD) $(LIBS) +nmltest$(EXEEXT): $(nmltest_OBJECTS) $(nmltest_DEPENDENCIES) $(EXTRA_nmltest_DEPENDENCIES) + @rm -f nmltest$(EXEEXT) + $(CXXLINK) $(nmltest_OBJECTS) $(nmltest_LDADD) $(LIBS) +oedm_xml2nmlh$(EXEEXT): $(oedm_xml2nmlh_OBJECTS) $(oedm_xml2nmlh_DEPENDENCIES) $(EXTRA_oedm_xml2nmlh_DEPENDENCIES) + @rm -f oedm_xml2nmlh$(EXEEXT) + $(oedm_xml2nmlh_LINK) $(oedm_xml2nmlh_OBJECTS) $(oedm_xml2nmlh_LDADD) $(LIBS) +plotter_NB.jar$(EXEEXT): $(plotter_NB_jar_OBJECTS) $(plotter_NB_jar_DEPENDENCIES) $(EXTRA_plotter_NB_jar_DEPENDENCIES) + @rm -f plotter_NB.jar$(EXEEXT) + $(plotter_NB_jar_LINK) $(plotter_NB_jar_OBJECTS) $(plotter_NB_jar_LDADD) $(LIBS) +posix_sem_unlink$(EXEEXT): $(posix_sem_unlink_OBJECTS) $(posix_sem_unlink_DEPENDENCIES) $(EXTRA_posix_sem_unlink_DEPENDENCIES) + @rm -f posix_sem_unlink$(EXEEXT) + $(LINK) $(posix_sem_unlink_OBJECTS) $(posix_sem_unlink_LDADD) $(LIBS) +posix_shm_unlink$(EXEEXT): $(posix_shm_unlink_OBJECTS) $(posix_shm_unlink_DEPENDENCIES) $(EXTRA_posix_shm_unlink_DEPENDENCIES) + @rm -f posix_shm_unlink$(EXEEXT) + $(LINK) $(posix_shm_unlink_OBJECTS) $(posix_shm_unlink_LDADD) $(LIBS) +pvjscript.jar$(EXEEXT): $(pvjscript_jar_OBJECTS) $(pvjscript_jar_DEPENDENCIES) $(EXTRA_pvjscript_jar_DEPENDENCIES) + @rm -f pvjscript.jar$(EXEEXT) + $(pvjscript_jar_LINK) $(pvjscript_jar_OBJECTS) $(pvjscript_jar_LDADD) $(LIBS) +rcs.jar$(EXEEXT): $(rcs_jar_OBJECTS) $(rcs_jar_DEPENDENCIES) $(EXTRA_rcs_jar_DEPENDENCIES) + @rm -f rcs.jar$(EXEEXT) + $(rcs_jar_LINK) $(rcs_jar_OBJECTS) $(rcs_jar_LDADD) $(LIBS) +rcsDesign.jar$(EXEEXT): $(rcsDesign_jar_OBJECTS) $(rcsDesign_jar_DEPENDENCIES) $(EXTRA_rcsDesign_jar_DEPENDENCIES) + @rm -f rcsDesign.jar$(EXEEXT) + $(rcsDesign_jar_LINK) $(rcsDesign_jar_OBJECTS) $(rcsDesign_jar_LDADD) $(LIBS) +testpmc$(EXEEXT): $(testpmc_OBJECTS) $(testpmc_DEPENDENCIES) $(EXTRA_testpmc_DEPENDENCIES) + @rm -f testpmc$(EXEEXT) + $(testpmc_LINK) $(testpmc_OBJECTS) $(testpmc_LDADD) $(LIBS) +testpmcpp$(EXEEXT): $(testpmcpp_OBJECTS) $(testpmcpp_DEPENDENCIES) $(EXTRA_testpmcpp_DEPENDENCIES) + @rm -f testpmcpp$(EXEEXT) + $(testpmcpp_LINK) $(testpmcpp_OBJECTS) $(testpmcpp_LDADD) $(LIBS) +ttytest$(EXEEXT): $(ttytest_OBJECTS) $(ttytest_DEPENDENCIES) $(EXTRA_ttytest_DEPENDENCIES) + @rm -f ttytest$(EXEEXT) + $(LINK) $(ttytest_OBJECTS) $(ttytest_LDADD) $(LIBS) +xsd2nmlh$(EXEEXT): $(xsd2nmlh_OBJECTS) $(xsd2nmlh_DEPENDENCIES) $(EXTRA_xsd2nmlh_DEPENDENCIES) + @rm -f xsd2nmlh$(EXEEXT) + $(xsd2nmlh_LINK) $(xsd2nmlh_OBJECTS) $(xsd2nmlh_LDADD) $(LIBS) +install-binSCRIPTS: $(bin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) { files[d] = files[d] " " $$1; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$4, $$1 } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_inifile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_mathprnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_posemath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_shm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_timer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/autokey.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bcopy.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd_msg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_cfg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_datetime.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_dup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_in.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_mrpq.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_pm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_pup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_up.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_xml_up.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms_xup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmsdiag.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmssvrp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt2.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbg_mem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etime_print-etime_print.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extxdrintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdrs_im_clnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdrs_im_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpnml.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inetnull.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inifile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libposemath_la-_mathprnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libposemath_la-_posemath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libposemath_la-mathprnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libposemath_la-posemath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libposemath_la-sincos.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linklist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/locmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mathprnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memsem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_to_encoded_data.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlGetRemoteTcpServerBufferList.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_mod.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_oi.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_packed_file_to_csv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_blocking_read-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_queue_length-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_get_space_available-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_nmlset-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_nmlset-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_read-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_read-nml_test_read.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_read-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_server-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_server-nml_test_server.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_server-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_write-nml_test_format_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_write-nml_test_write.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nml_test_write-otherheader_n.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlcfg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlcfgsvr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlcfgsvr_clntcalls.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlclean.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlcms_c.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmldiag.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlmsg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlqr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmlset.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nmltest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oedm_xml2nmlh-_timer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oedm_xml2nmlh-linklist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oedsto.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oemem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oemque.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phantom.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posemath.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posemath_c_n.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix_sem_unlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix_shm_unlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcs_prnt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcsvers.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvline.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvmsgt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recvn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtai_kernel_api_implement.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtai_user_api_implement.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtlinux_kernel_api_implement.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtlinux_user_api_implement.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtlmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtlnml.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendline.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendmsgt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendn.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sepwords.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shm.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sokintrf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat_msg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat_msg_v2_n.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stcpmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stcpopts.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stcpsvr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_opts.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpmc-testpmc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpmcpp-testpmcpp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timetracker.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timetracker_c_n.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timetracker_n.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tty_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttyintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttymem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttytest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udp_opts.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udp_srv.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udpmem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix_sem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vxworks_sem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_sem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_arra.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_floa.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_mem.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_rec.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_refe.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xdr_stdi.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsd2nmlh-_timer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsd2nmlh-cms_xml_up.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsd2nmlh-linklist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsd2nmlh-rcs_prnt.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +libposemath_la-_posemath.lo: src/posemath/_posemath.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -MT libposemath_la-_posemath.lo -MD -MP -MF $(DEPDIR)/libposemath_la-_posemath.Tpo -c -o libposemath_la-_posemath.lo `test -f 'src/posemath/_posemath.c' || echo '$(srcdir)/'`src/posemath/_posemath.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libposemath_la-_posemath.Tpo $(DEPDIR)/libposemath_la-_posemath.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/_posemath.c' object='libposemath_la-_posemath.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -c -o libposemath_la-_posemath.lo `test -f 'src/posemath/_posemath.c' || echo '$(srcdir)/'`src/posemath/_posemath.c + +libposemath_la-_mathprnt.lo: src/posemath/_mathprnt.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -MT libposemath_la-_mathprnt.lo -MD -MP -MF $(DEPDIR)/libposemath_la-_mathprnt.Tpo -c -o libposemath_la-_mathprnt.lo `test -f 'src/posemath/_mathprnt.c' || echo '$(srcdir)/'`src/posemath/_mathprnt.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libposemath_la-_mathprnt.Tpo $(DEPDIR)/libposemath_la-_mathprnt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/_mathprnt.c' object='libposemath_la-_mathprnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -c -o libposemath_la-_mathprnt.lo `test -f 'src/posemath/_mathprnt.c' || echo '$(srcdir)/'`src/posemath/_mathprnt.c + +libposemath_la-sincos.lo: src/posemath/sincos.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -MT libposemath_la-sincos.lo -MD -MP -MF $(DEPDIR)/libposemath_la-sincos.Tpo -c -o libposemath_la-sincos.lo `test -f 'src/posemath/sincos.c' || echo '$(srcdir)/'`src/posemath/sincos.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libposemath_la-sincos.Tpo $(DEPDIR)/libposemath_la-sincos.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/sincos.c' object='libposemath_la-sincos.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CFLAGS) $(CFLAGS) -c -o libposemath_la-sincos.lo `test -f 'src/posemath/sincos.c' || echo '$(srcdir)/'`src/posemath/sincos.c + +rcsvers.lo: src/rcsvers.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rcsvers.lo -MD -MP -MF $(DEPDIR)/rcsvers.Tpo -c -o rcsvers.lo `test -f 'src/rcsvers.c' || echo '$(srcdir)/'`src/rcsvers.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rcsvers.Tpo $(DEPDIR)/rcsvers.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/rcsvers.c' object='rcsvers.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rcsvers.lo `test -f 'src/rcsvers.c' || echo '$(srcdir)/'`src/rcsvers.c + +_timer.lo: src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT _timer.lo -MD -MP -MF $(DEPDIR)/_timer.Tpo -c -o _timer.lo `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/_timer.Tpo $(DEPDIR)/_timer.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_timer.c' object='_timer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o _timer.lo `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c + +posemath_c_n.lo: src/cms/posemath_c_n.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT posemath_c_n.lo -MD -MP -MF $(DEPDIR)/posemath_c_n.Tpo -c -o posemath_c_n.lo `test -f 'src/cms/posemath_c_n.c' || echo '$(srcdir)/'`src/cms/posemath_c_n.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/posemath_c_n.Tpo $(DEPDIR)/posemath_c_n.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/posemath_c_n.c' object='posemath_c_n.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o posemath_c_n.lo `test -f 'src/cms/posemath_c_n.c' || echo '$(srcdir)/'`src/cms/posemath_c_n.c + +_inifile.lo: src/os_intf/_inifile.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT _inifile.lo -MD -MP -MF $(DEPDIR)/_inifile.Tpo -c -o _inifile.lo `test -f 'src/os_intf/_inifile.c' || echo '$(srcdir)/'`src/os_intf/_inifile.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/_inifile.Tpo $(DEPDIR)/_inifile.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_inifile.c' object='_inifile.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o _inifile.lo `test -f 'src/os_intf/_inifile.c' || echo '$(srcdir)/'`src/os_intf/_inifile.c + +rtlnml.lo: src/cms/rtlnml.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rtlnml.lo -MD -MP -MF $(DEPDIR)/rtlnml.Tpo -c -o rtlnml.lo `test -f 'src/cms/rtlnml.c' || echo '$(srcdir)/'`src/cms/rtlnml.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rtlnml.Tpo $(DEPDIR)/rtlnml.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/rtlnml.c' object='rtlnml.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rtlnml.lo `test -f 'src/cms/rtlnml.c' || echo '$(srcdir)/'`src/cms/rtlnml.c + +rtlinux_user_api_implement.lo: src/cms/rtlinux_user_api_implement.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rtlinux_user_api_implement.lo -MD -MP -MF $(DEPDIR)/rtlinux_user_api_implement.Tpo -c -o rtlinux_user_api_implement.lo `test -f 'src/cms/rtlinux_user_api_implement.c' || echo '$(srcdir)/'`src/cms/rtlinux_user_api_implement.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rtlinux_user_api_implement.Tpo $(DEPDIR)/rtlinux_user_api_implement.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/rtlinux_user_api_implement.c' object='rtlinux_user_api_implement.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rtlinux_user_api_implement.lo `test -f 'src/cms/rtlinux_user_api_implement.c' || echo '$(srcdir)/'`src/cms/rtlinux_user_api_implement.c + +rtlinux_kernel_api_implement.lo: src/cms/rtlinux_kernel_api_implement.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rtlinux_kernel_api_implement.lo -MD -MP -MF $(DEPDIR)/rtlinux_kernel_api_implement.Tpo -c -o rtlinux_kernel_api_implement.lo `test -f 'src/cms/rtlinux_kernel_api_implement.c' || echo '$(srcdir)/'`src/cms/rtlinux_kernel_api_implement.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rtlinux_kernel_api_implement.Tpo $(DEPDIR)/rtlinux_kernel_api_implement.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/rtlinux_kernel_api_implement.c' object='rtlinux_kernel_api_implement.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rtlinux_kernel_api_implement.lo `test -f 'src/cms/rtlinux_kernel_api_implement.c' || echo '$(srcdir)/'`src/cms/rtlinux_kernel_api_implement.c + +rtai_user_api_implement.lo: src/cms/rtai_user_api_implement.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rtai_user_api_implement.lo -MD -MP -MF $(DEPDIR)/rtai_user_api_implement.Tpo -c -o rtai_user_api_implement.lo `test -f 'src/cms/rtai_user_api_implement.c' || echo '$(srcdir)/'`src/cms/rtai_user_api_implement.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rtai_user_api_implement.Tpo $(DEPDIR)/rtai_user_api_implement.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/rtai_user_api_implement.c' object='rtai_user_api_implement.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rtai_user_api_implement.lo `test -f 'src/cms/rtai_user_api_implement.c' || echo '$(srcdir)/'`src/cms/rtai_user_api_implement.c + +rtai_kernel_api_implement.lo: src/cms/rtai_kernel_api_implement.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rtai_kernel_api_implement.lo -MD -MP -MF $(DEPDIR)/rtai_kernel_api_implement.Tpo -c -o rtai_kernel_api_implement.lo `test -f 'src/cms/rtai_kernel_api_implement.c' || echo '$(srcdir)/'`src/cms/rtai_kernel_api_implement.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/rtai_kernel_api_implement.Tpo $(DEPDIR)/rtai_kernel_api_implement.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/rtai_kernel_api_implement.c' object='rtai_kernel_api_implement.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rtai_kernel_api_implement.lo `test -f 'src/cms/rtai_kernel_api_implement.c' || echo '$(srcdir)/'`src/cms/rtai_kernel_api_implement.c + +_shm.lo: src/os_intf/_shm.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT _shm.lo -MD -MP -MF $(DEPDIR)/_shm.Tpo -c -o _shm.lo `test -f 'src/os_intf/_shm.c' || echo '$(srcdir)/'`src/os_intf/_shm.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/_shm.Tpo $(DEPDIR)/_shm.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_shm.c' object='_shm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o _shm.lo `test -f 'src/os_intf/_shm.c' || echo '$(srcdir)/'`src/os_intf/_shm.c + +unix_sem.lo: src/os_intf/unix_sem.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unix_sem.lo -MD -MP -MF $(DEPDIR)/unix_sem.Tpo -c -o unix_sem.lo `test -f 'src/os_intf/unix_sem.c' || echo '$(srcdir)/'`src/os_intf/unix_sem.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/unix_sem.Tpo $(DEPDIR)/unix_sem.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/unix_sem.c' object='unix_sem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unix_sem.lo `test -f 'src/os_intf/unix_sem.c' || echo '$(srcdir)/'`src/os_intf/unix_sem.c + +vxworks_sem.lo: src/os_intf/vxworks_sem.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT vxworks_sem.lo -MD -MP -MF $(DEPDIR)/vxworks_sem.Tpo -c -o vxworks_sem.lo `test -f 'src/os_intf/vxworks_sem.c' || echo '$(srcdir)/'`src/os_intf/vxworks_sem.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/vxworks_sem.Tpo $(DEPDIR)/vxworks_sem.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/vxworks_sem.c' object='vxworks_sem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vxworks_sem.lo `test -f 'src/os_intf/vxworks_sem.c' || echo '$(srcdir)/'`src/os_intf/vxworks_sem.c + +win32_sem.lo: src/os_intf/win32_sem.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT win32_sem.lo -MD -MP -MF $(DEPDIR)/win32_sem.Tpo -c -o win32_sem.lo `test -f 'src/os_intf/win32_sem.c' || echo '$(srcdir)/'`src/os_intf/win32_sem.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/win32_sem.Tpo $(DEPDIR)/win32_sem.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/win32_sem.c' object='win32_sem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o win32_sem.lo `test -f 'src/os_intf/win32_sem.c' || echo '$(srcdir)/'`src/os_intf/win32_sem.c + +sendn.lo: src/cms/sendn.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sendn.lo -MD -MP -MF $(DEPDIR)/sendn.Tpo -c -o sendn.lo `test -f 'src/cms/sendn.c' || echo '$(srcdir)/'`src/cms/sendn.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sendn.Tpo $(DEPDIR)/sendn.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/sendn.c' object='sendn.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sendn.lo `test -f 'src/cms/sendn.c' || echo '$(srcdir)/'`src/cms/sendn.c + +recvn.lo: src/cms/recvn.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT recvn.lo -MD -MP -MF $(DEPDIR)/recvn.Tpo -c -o recvn.lo `test -f 'src/cms/recvn.c' || echo '$(srcdir)/'`src/cms/recvn.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/recvn.Tpo $(DEPDIR)/recvn.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/recvn.c' object='recvn.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recvn.lo `test -f 'src/cms/recvn.c' || echo '$(srcdir)/'`src/cms/recvn.c + +sendline.lo: src/cms/sendline.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sendline.lo -MD -MP -MF $(DEPDIR)/sendline.Tpo -c -o sendline.lo `test -f 'src/cms/sendline.c' || echo '$(srcdir)/'`src/cms/sendline.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sendline.Tpo $(DEPDIR)/sendline.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/sendline.c' object='sendline.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sendline.lo `test -f 'src/cms/sendline.c' || echo '$(srcdir)/'`src/cms/sendline.c + +recvline.lo: src/cms/recvline.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT recvline.lo -MD -MP -MF $(DEPDIR)/recvline.Tpo -c -o recvline.lo `test -f 'src/cms/recvline.c' || echo '$(srcdir)/'`src/cms/recvline.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/recvline.Tpo $(DEPDIR)/recvline.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/recvline.c' object='recvline.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recvline.lo `test -f 'src/cms/recvline.c' || echo '$(srcdir)/'`src/cms/recvline.c + +recvmsgt.lo: src/cms/recvmsgt.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT recvmsgt.lo -MD -MP -MF $(DEPDIR)/recvmsgt.Tpo -c -o recvmsgt.lo `test -f 'src/cms/recvmsgt.c' || echo '$(srcdir)/'`src/cms/recvmsgt.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/recvmsgt.Tpo $(DEPDIR)/recvmsgt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/recvmsgt.c' object='recvmsgt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recvmsgt.lo `test -f 'src/cms/recvmsgt.c' || echo '$(srcdir)/'`src/cms/recvmsgt.c + +sendmsgt.lo: src/cms/sendmsgt.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sendmsgt.lo -MD -MP -MF $(DEPDIR)/sendmsgt.Tpo -c -o sendmsgt.lo `test -f 'src/cms/sendmsgt.c' || echo '$(srcdir)/'`src/cms/sendmsgt.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sendmsgt.Tpo $(DEPDIR)/sendmsgt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/sendmsgt.c' object='sendmsgt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sendmsgt.lo `test -f 'src/cms/sendmsgt.c' || echo '$(srcdir)/'`src/cms/sendmsgt.c + +ttyintf.lo: src/cms/ttyintf.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ttyintf.lo -MD -MP -MF $(DEPDIR)/ttyintf.Tpo -c -o ttyintf.lo `test -f 'src/cms/ttyintf.c' || echo '$(srcdir)/'`src/cms/ttyintf.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ttyintf.Tpo $(DEPDIR)/ttyintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/ttyintf.c' object='ttyintf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ttyintf.lo `test -f 'src/cms/ttyintf.c' || echo '$(srcdir)/'`src/cms/ttyintf.c + +_posemath.lo: src/posemath/_posemath.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT _posemath.lo -MD -MP -MF $(DEPDIR)/_posemath.Tpo -c -o _posemath.lo `test -f 'src/posemath/_posemath.c' || echo '$(srcdir)/'`src/posemath/_posemath.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/_posemath.Tpo $(DEPDIR)/_posemath.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/_posemath.c' object='_posemath.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o _posemath.lo `test -f 'src/posemath/_posemath.c' || echo '$(srcdir)/'`src/posemath/_posemath.c + +_mathprnt.lo: src/posemath/_mathprnt.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT _mathprnt.lo -MD -MP -MF $(DEPDIR)/_mathprnt.Tpo -c -o _mathprnt.lo `test -f 'src/posemath/_mathprnt.c' || echo '$(srcdir)/'`src/posemath/_mathprnt.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/_mathprnt.Tpo $(DEPDIR)/_mathprnt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/_mathprnt.c' object='_mathprnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o _mathprnt.lo `test -f 'src/posemath/_mathprnt.c' || echo '$(srcdir)/'`src/posemath/_mathprnt.c + +timetracker_c_n.lo: src/node/timetracker_c_n.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT timetracker_c_n.lo -MD -MP -MF $(DEPDIR)/timetracker_c_n.Tpo -c -o timetracker_c_n.lo `test -f 'src/node/timetracker_c_n.c' || echo '$(srcdir)/'`src/node/timetracker_c_n.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/timetracker_c_n.Tpo $(DEPDIR)/timetracker_c_n.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/node/timetracker_c_n.c' object='timetracker_c_n.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o timetracker_c_n.lo `test -f 'src/node/timetracker_c_n.c' || echo '$(srcdir)/'`src/node/timetracker_c_n.c + +sokintrf.lo: src/cms/sokintrf.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sokintrf.lo -MD -MP -MF $(DEPDIR)/sokintrf.Tpo -c -o sokintrf.lo `test -f 'src/cms/sokintrf.c' || echo '$(srcdir)/'`src/cms/sokintrf.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/sokintrf.Tpo $(DEPDIR)/sokintrf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/sokintrf.c' object='sokintrf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sokintrf.lo `test -f 'src/cms/sokintrf.c' || echo '$(srcdir)/'`src/cms/sokintrf.c + +extxdrintf.lo: src/cms/extxdrintf.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extxdrintf.lo -MD -MP -MF $(DEPDIR)/extxdrintf.Tpo -c -o extxdrintf.lo `test -f 'src/cms/extxdrintf.c' || echo '$(srcdir)/'`src/cms/extxdrintf.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/extxdrintf.Tpo $(DEPDIR)/extxdrintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/extxdrintf.c' object='extxdrintf.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extxdrintf.lo `test -f 'src/cms/extxdrintf.c' || echo '$(srcdir)/'`src/cms/extxdrintf.c + +autokey.lo: src/cms/autokey.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT autokey.lo -MD -MP -MF $(DEPDIR)/autokey.Tpo -c -o autokey.lo `test -f 'src/cms/autokey.c' || echo '$(srcdir)/'`src/cms/autokey.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/autokey.Tpo $(DEPDIR)/autokey.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/autokey.c' object='autokey.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o autokey.lo `test -f 'src/cms/autokey.c' || echo '$(srcdir)/'`src/cms/autokey.c + +xdr.lo: src/nt_xdr/xdr.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr.lo -MD -MP -MF $(DEPDIR)/xdr.Tpo -c -o xdr.lo `test -f 'src/nt_xdr/xdr.c' || echo '$(srcdir)/'`src/nt_xdr/xdr.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr.Tpo $(DEPDIR)/xdr.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr.c' object='xdr.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr.lo `test -f 'src/nt_xdr/xdr.c' || echo '$(srcdir)/'`src/nt_xdr/xdr.c + +bcopy.lo: src/nt_xdr/bcopy.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bcopy.lo -MD -MP -MF $(DEPDIR)/bcopy.Tpo -c -o bcopy.lo `test -f 'src/nt_xdr/bcopy.c' || echo '$(srcdir)/'`src/nt_xdr/bcopy.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/bcopy.Tpo $(DEPDIR)/bcopy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/bcopy.c' object='bcopy.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bcopy.lo `test -f 'src/nt_xdr/bcopy.c' || echo '$(srcdir)/'`src/nt_xdr/bcopy.c + +xdr_arra.lo: src/nt_xdr/xdr_arra.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_arra.lo -MD -MP -MF $(DEPDIR)/xdr_arra.Tpo -c -o xdr_arra.lo `test -f 'src/nt_xdr/xdr_arra.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_arra.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_arra.Tpo $(DEPDIR)/xdr_arra.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_arra.c' object='xdr_arra.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_arra.lo `test -f 'src/nt_xdr/xdr_arra.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_arra.c + +xdr_floa.lo: src/nt_xdr/xdr_floa.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_floa.lo -MD -MP -MF $(DEPDIR)/xdr_floa.Tpo -c -o xdr_floa.lo `test -f 'src/nt_xdr/xdr_floa.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_floa.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_floa.Tpo $(DEPDIR)/xdr_floa.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_floa.c' object='xdr_floa.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_floa.lo `test -f 'src/nt_xdr/xdr_floa.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_floa.c + +xdr_mem.lo: src/nt_xdr/xdr_mem.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_mem.lo -MD -MP -MF $(DEPDIR)/xdr_mem.Tpo -c -o xdr_mem.lo `test -f 'src/nt_xdr/xdr_mem.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_mem.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_mem.Tpo $(DEPDIR)/xdr_mem.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_mem.c' object='xdr_mem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_mem.lo `test -f 'src/nt_xdr/xdr_mem.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_mem.c + +xdr_rec.lo: src/nt_xdr/xdr_rec.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_rec.lo -MD -MP -MF $(DEPDIR)/xdr_rec.Tpo -c -o xdr_rec.lo `test -f 'src/nt_xdr/xdr_rec.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_rec.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_rec.Tpo $(DEPDIR)/xdr_rec.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_rec.c' object='xdr_rec.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_rec.lo `test -f 'src/nt_xdr/xdr_rec.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_rec.c + +xdr_refe.lo: src/nt_xdr/xdr_refe.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_refe.lo -MD -MP -MF $(DEPDIR)/xdr_refe.Tpo -c -o xdr_refe.lo `test -f 'src/nt_xdr/xdr_refe.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_refe.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_refe.Tpo $(DEPDIR)/xdr_refe.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_refe.c' object='xdr_refe.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_refe.lo `test -f 'src/nt_xdr/xdr_refe.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_refe.c + +xdr_stdi.lo: src/nt_xdr/xdr_stdi.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xdr_stdi.lo -MD -MP -MF $(DEPDIR)/xdr_stdi.Tpo -c -o xdr_stdi.lo `test -f 'src/nt_xdr/xdr_stdi.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_stdi.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xdr_stdi.Tpo $(DEPDIR)/xdr_stdi.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/nt_xdr/xdr_stdi.c' object='xdr_stdi.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xdr_stdi.lo `test -f 'src/nt_xdr/xdr_stdi.c' || echo '$(srcdir)/'`src/nt_xdr/xdr_stdi.c + +oedm_xml2nmlh-_timer.o: src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CFLAGS) $(CFLAGS) -MT oedm_xml2nmlh-_timer.o -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-_timer.Tpo -c -o oedm_xml2nmlh-_timer.o `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-_timer.Tpo $(DEPDIR)/oedm_xml2nmlh-_timer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_timer.c' object='oedm_xml2nmlh-_timer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CFLAGS) $(CFLAGS) -c -o oedm_xml2nmlh-_timer.o `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c + +oedm_xml2nmlh-_timer.obj: src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CFLAGS) $(CFLAGS) -MT oedm_xml2nmlh-_timer.obj -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-_timer.Tpo -c -o oedm_xml2nmlh-_timer.obj `if test -f 'src/os_intf/_timer.c'; then $(CYGPATH_W) 'src/os_intf/_timer.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/_timer.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-_timer.Tpo $(DEPDIR)/oedm_xml2nmlh-_timer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_timer.c' object='oedm_xml2nmlh-_timer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CFLAGS) $(CFLAGS) -c -o oedm_xml2nmlh-_timer.obj `if test -f 'src/os_intf/_timer.c'; then $(CYGPATH_W) 'src/os_intf/_timer.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/_timer.c'; fi` + +posix_sem_unlink.o: src/os_intf/posix_sem_unlink.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT posix_sem_unlink.o -MD -MP -MF $(DEPDIR)/posix_sem_unlink.Tpo -c -o posix_sem_unlink.o `test -f 'src/os_intf/posix_sem_unlink.c' || echo '$(srcdir)/'`src/os_intf/posix_sem_unlink.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/posix_sem_unlink.Tpo $(DEPDIR)/posix_sem_unlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/posix_sem_unlink.c' object='posix_sem_unlink.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o posix_sem_unlink.o `test -f 'src/os_intf/posix_sem_unlink.c' || echo '$(srcdir)/'`src/os_intf/posix_sem_unlink.c + +posix_sem_unlink.obj: src/os_intf/posix_sem_unlink.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT posix_sem_unlink.obj -MD -MP -MF $(DEPDIR)/posix_sem_unlink.Tpo -c -o posix_sem_unlink.obj `if test -f 'src/os_intf/posix_sem_unlink.c'; then $(CYGPATH_W) 'src/os_intf/posix_sem_unlink.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/posix_sem_unlink.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/posix_sem_unlink.Tpo $(DEPDIR)/posix_sem_unlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/posix_sem_unlink.c' object='posix_sem_unlink.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o posix_sem_unlink.obj `if test -f 'src/os_intf/posix_sem_unlink.c'; then $(CYGPATH_W) 'src/os_intf/posix_sem_unlink.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/posix_sem_unlink.c'; fi` + +posix_shm_unlink.o: src/os_intf/posix_shm_unlink.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT posix_shm_unlink.o -MD -MP -MF $(DEPDIR)/posix_shm_unlink.Tpo -c -o posix_shm_unlink.o `test -f 'src/os_intf/posix_shm_unlink.c' || echo '$(srcdir)/'`src/os_intf/posix_shm_unlink.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/posix_shm_unlink.Tpo $(DEPDIR)/posix_shm_unlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/posix_shm_unlink.c' object='posix_shm_unlink.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o posix_shm_unlink.o `test -f 'src/os_intf/posix_shm_unlink.c' || echo '$(srcdir)/'`src/os_intf/posix_shm_unlink.c + +posix_shm_unlink.obj: src/os_intf/posix_shm_unlink.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT posix_shm_unlink.obj -MD -MP -MF $(DEPDIR)/posix_shm_unlink.Tpo -c -o posix_shm_unlink.obj `if test -f 'src/os_intf/posix_shm_unlink.c'; then $(CYGPATH_W) 'src/os_intf/posix_shm_unlink.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/posix_shm_unlink.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/posix_shm_unlink.Tpo $(DEPDIR)/posix_shm_unlink.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/posix_shm_unlink.c' object='posix_shm_unlink.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o posix_shm_unlink.obj `if test -f 'src/os_intf/posix_shm_unlink.c'; then $(CYGPATH_W) 'src/os_intf/posix_shm_unlink.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/posix_shm_unlink.c'; fi` + +testpmc-testpmc.o: src/posemath/testpmc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmc_CFLAGS) $(CFLAGS) -MT testpmc-testpmc.o -MD -MP -MF $(DEPDIR)/testpmc-testpmc.Tpo -c -o testpmc-testpmc.o `test -f 'src/posemath/testpmc.c' || echo '$(srcdir)/'`src/posemath/testpmc.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testpmc-testpmc.Tpo $(DEPDIR)/testpmc-testpmc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/testpmc.c' object='testpmc-testpmc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmc_CFLAGS) $(CFLAGS) -c -o testpmc-testpmc.o `test -f 'src/posemath/testpmc.c' || echo '$(srcdir)/'`src/posemath/testpmc.c + +testpmc-testpmc.obj: src/posemath/testpmc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmc_CFLAGS) $(CFLAGS) -MT testpmc-testpmc.obj -MD -MP -MF $(DEPDIR)/testpmc-testpmc.Tpo -c -o testpmc-testpmc.obj `if test -f 'src/posemath/testpmc.c'; then $(CYGPATH_W) 'src/posemath/testpmc.c'; else $(CYGPATH_W) '$(srcdir)/src/posemath/testpmc.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/testpmc-testpmc.Tpo $(DEPDIR)/testpmc-testpmc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/posemath/testpmc.c' object='testpmc-testpmc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmc_CFLAGS) $(CFLAGS) -c -o testpmc-testpmc.obj `if test -f 'src/posemath/testpmc.c'; then $(CYGPATH_W) 'src/posemath/testpmc.c'; else $(CYGPATH_W) '$(srcdir)/src/posemath/testpmc.c'; fi` + +ttytest.o: src/cms/ttytest.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ttytest.o -MD -MP -MF $(DEPDIR)/ttytest.Tpo -c -o ttytest.o `test -f 'src/cms/ttytest.c' || echo '$(srcdir)/'`src/cms/ttytest.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ttytest.Tpo $(DEPDIR)/ttytest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/ttytest.c' object='ttytest.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ttytest.o `test -f 'src/cms/ttytest.c' || echo '$(srcdir)/'`src/cms/ttytest.c + +ttytest.obj: src/cms/ttytest.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ttytest.obj -MD -MP -MF $(DEPDIR)/ttytest.Tpo -c -o ttytest.obj `if test -f 'src/cms/ttytest.c'; then $(CYGPATH_W) 'src/cms/ttytest.c'; else $(CYGPATH_W) '$(srcdir)/src/cms/ttytest.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/ttytest.Tpo $(DEPDIR)/ttytest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/cms/ttytest.c' object='ttytest.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ttytest.obj `if test -f 'src/cms/ttytest.c'; then $(CYGPATH_W) 'src/cms/ttytest.c'; else $(CYGPATH_W) '$(srcdir)/src/cms/ttytest.c'; fi` + +xsd2nmlh-_timer.o: src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CFLAGS) $(CFLAGS) -MT xsd2nmlh-_timer.o -MD -MP -MF $(DEPDIR)/xsd2nmlh-_timer.Tpo -c -o xsd2nmlh-_timer.o `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-_timer.Tpo $(DEPDIR)/xsd2nmlh-_timer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_timer.c' object='xsd2nmlh-_timer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CFLAGS) $(CFLAGS) -c -o xsd2nmlh-_timer.o `test -f 'src/os_intf/_timer.c' || echo '$(srcdir)/'`src/os_intf/_timer.c + +xsd2nmlh-_timer.obj: src/os_intf/_timer.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CFLAGS) $(CFLAGS) -MT xsd2nmlh-_timer.obj -MD -MP -MF $(DEPDIR)/xsd2nmlh-_timer.Tpo -c -o xsd2nmlh-_timer.obj `if test -f 'src/os_intf/_timer.c'; then $(CYGPATH_W) 'src/os_intf/_timer.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/_timer.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-_timer.Tpo $(DEPDIR)/xsd2nmlh-_timer.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/os_intf/_timer.c' object='xsd2nmlh-_timer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CFLAGS) $(CFLAGS) -c -o xsd2nmlh-_timer.obj `if test -f 'src/os_intf/_timer.c'; then $(CYGPATH_W) 'src/os_intf/_timer.c'; else $(CYGPATH_W) '$(srcdir)/src/os_intf/_timer.c'; fi` + +.cc.o: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +libposemath_la-posemath.lo: src/posemath/posemath.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CXXFLAGS) $(CXXFLAGS) -MT libposemath_la-posemath.lo -MD -MP -MF $(DEPDIR)/libposemath_la-posemath.Tpo -c -o libposemath_la-posemath.lo `test -f 'src/posemath/posemath.cc' || echo '$(srcdir)/'`src/posemath/posemath.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libposemath_la-posemath.Tpo $(DEPDIR)/libposemath_la-posemath.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/posemath.cc' object='libposemath_la-posemath.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CXXFLAGS) $(CXXFLAGS) -c -o libposemath_la-posemath.lo `test -f 'src/posemath/posemath.cc' || echo '$(srcdir)/'`src/posemath/posemath.cc + +libposemath_la-mathprnt.lo: src/posemath/mathprnt.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CXXFLAGS) $(CXXFLAGS) -MT libposemath_la-mathprnt.lo -MD -MP -MF $(DEPDIR)/libposemath_la-mathprnt.Tpo -c -o libposemath_la-mathprnt.lo `test -f 'src/posemath/mathprnt.cc' || echo '$(srcdir)/'`src/posemath/mathprnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libposemath_la-mathprnt.Tpo $(DEPDIR)/libposemath_la-mathprnt.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/mathprnt.cc' object='libposemath_la-mathprnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libposemath_la_CXXFLAGS) $(CXXFLAGS) -c -o libposemath_la-mathprnt.lo `test -f 'src/posemath/mathprnt.cc' || echo '$(srcdir)/'`src/posemath/mathprnt.cc + +inetnull.lo: src/os_intf/inetnull.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT inetnull.lo -MD -MP -MF $(DEPDIR)/inetnull.Tpo -c -o inetnull.lo `test -f 'src/os_intf/inetnull.cc' || echo '$(srcdir)/'`src/os_intf/inetnull.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/inetnull.Tpo $(DEPDIR)/inetnull.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/inetnull.cc' object='inetnull.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o inetnull.lo `test -f 'src/os_intf/inetnull.cc' || echo '$(srcdir)/'`src/os_intf/inetnull.cc + +timer.lo: src/os_intf/timer.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT timer.lo -MD -MP -MF $(DEPDIR)/timer.Tpo -c -o timer.lo `test -f 'src/os_intf/timer.cc' || echo '$(srcdir)/'`src/os_intf/timer.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/timer.Tpo $(DEPDIR)/timer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/timer.cc' object='timer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o timer.lo `test -f 'src/os_intf/timer.cc' || echo '$(srcdir)/'`src/os_intf/timer.cc + +sepwords.lo: src/print/sepwords.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sepwords.lo -MD -MP -MF $(DEPDIR)/sepwords.Tpo -c -o sepwords.lo `test -f 'src/print/sepwords.cc' || echo '$(srcdir)/'`src/print/sepwords.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sepwords.Tpo $(DEPDIR)/sepwords.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/sepwords.cc' object='sepwords.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sepwords.lo `test -f 'src/print/sepwords.cc' || echo '$(srcdir)/'`src/print/sepwords.cc + +cms.lo: src/cms/cms.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms.lo -MD -MP -MF $(DEPDIR)/cms.Tpo -c -o cms.lo `test -f 'src/cms/cms.cc' || echo '$(srcdir)/'`src/cms/cms.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms.Tpo $(DEPDIR)/cms.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms.cc' object='cms.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms.lo `test -f 'src/cms/cms.cc' || echo '$(srcdir)/'`src/cms/cms.cc + +cms_cfg.lo: src/cms/cms_cfg.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_cfg.lo -MD -MP -MF $(DEPDIR)/cms_cfg.Tpo -c -o cms_cfg.lo `test -f 'src/cms/cms_cfg.cc' || echo '$(srcdir)/'`src/cms/cms_cfg.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_cfg.Tpo $(DEPDIR)/cms_cfg.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_cfg.cc' object='cms_cfg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_cfg.lo `test -f 'src/cms/cms_cfg.cc' || echo '$(srcdir)/'`src/cms/cms_cfg.cc + +cms_datetime.lo: src/cms/cms_datetime.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_datetime.lo -MD -MP -MF $(DEPDIR)/cms_datetime.Tpo -c -o cms_datetime.lo `test -f 'src/cms/cms_datetime.cc' || echo '$(srcdir)/'`src/cms/cms_datetime.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_datetime.Tpo $(DEPDIR)/cms_datetime.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_datetime.cc' object='cms_datetime.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_datetime.lo `test -f 'src/cms/cms_datetime.cc' || echo '$(srcdir)/'`src/cms/cms_datetime.cc + +cms_in.lo: src/cms/cms_in.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_in.lo -MD -MP -MF $(DEPDIR)/cms_in.Tpo -c -o cms_in.lo `test -f 'src/cms/cms_in.cc' || echo '$(srcdir)/'`src/cms/cms_in.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_in.Tpo $(DEPDIR)/cms_in.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_in.cc' object='cms_in.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_in.lo `test -f 'src/cms/cms_in.cc' || echo '$(srcdir)/'`src/cms/cms_in.cc + +cms_pm.lo: src/cms/cms_pm.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_pm.lo -MD -MP -MF $(DEPDIR)/cms_pm.Tpo -c -o cms_pm.lo `test -f 'src/cms/cms_pm.cc' || echo '$(srcdir)/'`src/cms/cms_pm.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_pm.Tpo $(DEPDIR)/cms_pm.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_pm.cc' object='cms_pm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_pm.lo `test -f 'src/cms/cms_pm.cc' || echo '$(srcdir)/'`src/cms/cms_pm.cc + +cms_up.lo: src/cms/cms_up.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_up.lo -MD -MP -MF $(DEPDIR)/cms_up.Tpo -c -o cms_up.lo `test -f 'src/cms/cms_up.cc' || echo '$(srcdir)/'`src/cms/cms_up.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_up.Tpo $(DEPDIR)/cms_up.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_up.cc' object='cms_up.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_up.lo `test -f 'src/cms/cms_up.cc' || echo '$(srcdir)/'`src/cms/cms_up.cc + +nml.lo: src/cms/nml.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml.lo -MD -MP -MF $(DEPDIR)/nml.Tpo -c -o nml.lo `test -f 'src/cms/nml.cc' || echo '$(srcdir)/'`src/cms/nml.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml.Tpo $(DEPDIR)/nml.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nml.cc' object='nml.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml.lo `test -f 'src/cms/nml.cc' || echo '$(srcdir)/'`src/cms/nml.cc + +msg_to_encoded_data.lo: src/cms/msg_to_encoded_data.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT msg_to_encoded_data.lo -MD -MP -MF $(DEPDIR)/msg_to_encoded_data.Tpo -c -o msg_to_encoded_data.lo `test -f 'src/cms/msg_to_encoded_data.cc' || echo '$(srcdir)/'`src/cms/msg_to_encoded_data.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/msg_to_encoded_data.Tpo $(DEPDIR)/msg_to_encoded_data.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/msg_to_encoded_data.cc' object='msg_to_encoded_data.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o msg_to_encoded_data.lo `test -f 'src/cms/msg_to_encoded_data.cc' || echo '$(srcdir)/'`src/cms/msg_to_encoded_data.cc + +nmlmsg.lo: src/cms/nmlmsg.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlmsg.lo -MD -MP -MF $(DEPDIR)/nmlmsg.Tpo -c -o nmlmsg.lo `test -f 'src/cms/nmlmsg.cc' || echo '$(srcdir)/'`src/cms/nmlmsg.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlmsg.Tpo $(DEPDIR)/nmlmsg.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlmsg.cc' object='nmlmsg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlmsg.lo `test -f 'src/cms/nmlmsg.cc' || echo '$(srcdir)/'`src/cms/nmlmsg.cc + +physmem.lo: src/cms/physmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physmem.lo -MD -MP -MF $(DEPDIR)/physmem.Tpo -c -o physmem.lo `test -f 'src/cms/physmem.cc' || echo '$(srcdir)/'`src/cms/physmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/physmem.Tpo $(DEPDIR)/physmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/physmem.cc' object='physmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physmem.lo `test -f 'src/cms/physmem.cc' || echo '$(srcdir)/'`src/cms/physmem.cc + +linklist.lo: src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT linklist.lo -MD -MP -MF $(DEPDIR)/linklist.Tpo -c -o linklist.lo `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/linklist.Tpo $(DEPDIR)/linklist.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/stg_clss/linklist.cc' object='linklist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o linklist.lo `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc + +nmlcms_c.lo: src/cms/nmlcms_c.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcms_c.lo -MD -MP -MF $(DEPDIR)/nmlcms_c.Tpo -c -o nmlcms_c.lo `test -f 'src/cms/nmlcms_c.cc' || echo '$(srcdir)/'`src/cms/nmlcms_c.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcms_c.Tpo $(DEPDIR)/nmlcms_c.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcms_c.cc' object='nmlcms_c.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcms_c.lo `test -f 'src/cms/nmlcms_c.cc' || echo '$(srcdir)/'`src/cms/nmlcms_c.cc + +inifile.lo: src/os_intf/inifile.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT inifile.lo -MD -MP -MF $(DEPDIR)/inifile.Tpo -c -o inifile.lo `test -f 'src/os_intf/inifile.cc' || echo '$(srcdir)/'`src/os_intf/inifile.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/inifile.Tpo $(DEPDIR)/inifile.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/inifile.cc' object='inifile.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o inifile.lo `test -f 'src/os_intf/inifile.cc' || echo '$(srcdir)/'`src/os_intf/inifile.cc + +rtlmem.lo: src/cms/rtlmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rtlmem.lo -MD -MP -MF $(DEPDIR)/rtlmem.Tpo -c -o rtlmem.lo `test -f 'src/cms/rtlmem.cc' || echo '$(srcdir)/'`src/cms/rtlmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/rtlmem.Tpo $(DEPDIR)/rtlmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/rtlmem.cc' object='rtlmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rtlmem.lo `test -f 'src/cms/rtlmem.cc' || echo '$(srcdir)/'`src/cms/rtlmem.cc + +filemem.lo: src/cms/filemem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT filemem.lo -MD -MP -MF $(DEPDIR)/filemem.Tpo -c -o filemem.lo `test -f 'src/cms/filemem.cc' || echo '$(srcdir)/'`src/cms/filemem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/filemem.Tpo $(DEPDIR)/filemem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/filemem.cc' object='filemem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o filemem.lo `test -f 'src/cms/filemem.cc' || echo '$(srcdir)/'`src/cms/filemem.cc + +sem.lo: src/os_intf/sem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sem.lo -MD -MP -MF $(DEPDIR)/sem.Tpo -c -o sem.lo `test -f 'src/os_intf/sem.cc' || echo '$(srcdir)/'`src/os_intf/sem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/sem.Tpo $(DEPDIR)/sem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/sem.cc' object='sem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sem.lo `test -f 'src/os_intf/sem.cc' || echo '$(srcdir)/'`src/os_intf/sem.cc + +shm.lo: src/os_intf/shm.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT shm.lo -MD -MP -MF $(DEPDIR)/shm.Tpo -c -o shm.lo `test -f 'src/os_intf/shm.cc' || echo '$(srcdir)/'`src/os_intf/shm.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/shm.Tpo $(DEPDIR)/shm.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/shm.cc' object='shm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o shm.lo `test -f 'src/os_intf/shm.cc' || echo '$(srcdir)/'`src/os_intf/shm.cc + +memsem.lo: src/cms/memsem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT memsem.lo -MD -MP -MF $(DEPDIR)/memsem.Tpo -c -o memsem.lo `test -f 'src/cms/memsem.cc' || echo '$(srcdir)/'`src/cms/memsem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/memsem.Tpo $(DEPDIR)/memsem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/memsem.cc' object='memsem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o memsem.lo `test -f 'src/cms/memsem.cc' || echo '$(srcdir)/'`src/cms/memsem.cc + +cms_mrpq.lo: src/cms/cms_mrpq.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_mrpq.lo -MD -MP -MF $(DEPDIR)/cms_mrpq.Tpo -c -o cms_mrpq.lo `test -f 'src/cms/cms_mrpq.cc' || echo '$(srcdir)/'`src/cms/cms_mrpq.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_mrpq.Tpo $(DEPDIR)/cms_mrpq.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_mrpq.cc' object='cms_mrpq.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_mrpq.lo `test -f 'src/cms/cms_mrpq.cc' || echo '$(srcdir)/'`src/cms/cms_mrpq.cc + +globmem.lo: src/cms/globmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT globmem.lo -MD -MP -MF $(DEPDIR)/globmem.Tpo -c -o globmem.lo `test -f 'src/cms/globmem.cc' || echo '$(srcdir)/'`src/cms/globmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/globmem.Tpo $(DEPDIR)/globmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/globmem.cc' object='globmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o globmem.lo `test -f 'src/cms/globmem.cc' || echo '$(srcdir)/'`src/cms/globmem.cc + +shmem.lo: src/cms/shmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT shmem.lo -MD -MP -MF $(DEPDIR)/shmem.Tpo -c -o shmem.lo `test -f 'src/cms/shmem.cc' || echo '$(srcdir)/'`src/cms/shmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/shmem.Tpo $(DEPDIR)/shmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/shmem.cc' object='shmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o shmem.lo `test -f 'src/cms/shmem.cc' || echo '$(srcdir)/'`src/cms/shmem.cc + +oemem.lo: src/cms/oemem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT oemem.lo -MD -MP -MF $(DEPDIR)/oemem.Tpo -c -o oemem.lo `test -f 'src/cms/oemem.cc' || echo '$(srcdir)/'`src/cms/oemem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oemem.Tpo $(DEPDIR)/oemem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/oemem.cc' object='oemem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o oemem.lo `test -f 'src/cms/oemem.cc' || echo '$(srcdir)/'`src/cms/oemem.cc + +oedsto.lo: src/cms/oedsto.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT oedsto.lo -MD -MP -MF $(DEPDIR)/oedsto.Tpo -c -o oedsto.lo `test -f 'src/cms/oedsto.cc' || echo '$(srcdir)/'`src/cms/oedsto.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedsto.Tpo $(DEPDIR)/oedsto.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/oedsto.cc' object='oedsto.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o oedsto.lo `test -f 'src/cms/oedsto.cc' || echo '$(srcdir)/'`src/cms/oedsto.cc + +oemque.lo: src/cms/oemque.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT oemque.lo -MD -MP -MF $(DEPDIR)/oemque.Tpo -c -o oemque.lo `test -f 'src/cms/oemque.cc' || echo '$(srcdir)/'`src/cms/oemque.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oemque.Tpo $(DEPDIR)/oemque.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/oemque.cc' object='oemque.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o oemque.lo `test -f 'src/cms/oemque.cc' || echo '$(srcdir)/'`src/cms/oemque.cc + +cms_xml_up.lo: src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_xml_up.lo -MD -MP -MF $(DEPDIR)/cms_xml_up.Tpo -c -o cms_xml_up.lo `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_xml_up.Tpo $(DEPDIR)/cms_xml_up.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xml_up.cc' object='cms_xml_up.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_xml_up.lo `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc + +tcp_opts.lo: src/cms/tcp_opts.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tcp_opts.lo -MD -MP -MF $(DEPDIR)/tcp_opts.Tpo -c -o tcp_opts.lo `test -f 'src/cms/tcp_opts.cc' || echo '$(srcdir)/'`src/cms/tcp_opts.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/tcp_opts.Tpo $(DEPDIR)/tcp_opts.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/tcp_opts.cc' object='tcp_opts.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tcp_opts.lo `test -f 'src/cms/tcp_opts.cc' || echo '$(srcdir)/'`src/cms/tcp_opts.cc + +tcpmem.lo: src/cms/tcpmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tcpmem.lo -MD -MP -MF $(DEPDIR)/tcpmem.Tpo -c -o tcpmem.lo `test -f 'src/cms/tcpmem.cc' || echo '$(srcdir)/'`src/cms/tcpmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/tcpmem.Tpo $(DEPDIR)/tcpmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/tcpmem.cc' object='tcpmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tcpmem.lo `test -f 'src/cms/tcpmem.cc' || echo '$(srcdir)/'`src/cms/tcpmem.cc + +tcp_srv.lo: src/cms/tcp_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tcp_srv.lo -MD -MP -MF $(DEPDIR)/tcp_srv.Tpo -c -o tcp_srv.lo `test -f 'src/cms/tcp_srv.cc' || echo '$(srcdir)/'`src/cms/tcp_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/tcp_srv.Tpo $(DEPDIR)/tcp_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/tcp_srv.cc' object='tcp_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tcp_srv.lo `test -f 'src/cms/tcp_srv.cc' || echo '$(srcdir)/'`src/cms/tcp_srv.cc + +stcpopts.lo: src/cms/stcpopts.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stcpopts.lo -MD -MP -MF $(DEPDIR)/stcpopts.Tpo -c -o stcpopts.lo `test -f 'src/cms/stcpopts.cc' || echo '$(srcdir)/'`src/cms/stcpopts.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/stcpopts.Tpo $(DEPDIR)/stcpopts.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/stcpopts.cc' object='stcpopts.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stcpopts.lo `test -f 'src/cms/stcpopts.cc' || echo '$(srcdir)/'`src/cms/stcpopts.cc + +stcpmem.lo: src/cms/stcpmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stcpmem.lo -MD -MP -MF $(DEPDIR)/stcpmem.Tpo -c -o stcpmem.lo `test -f 'src/cms/stcpmem.cc' || echo '$(srcdir)/'`src/cms/stcpmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/stcpmem.Tpo $(DEPDIR)/stcpmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/stcpmem.cc' object='stcpmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stcpmem.lo `test -f 'src/cms/stcpmem.cc' || echo '$(srcdir)/'`src/cms/stcpmem.cc + +stcpsvr.lo: src/cms/stcpsvr.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stcpsvr.lo -MD -MP -MF $(DEPDIR)/stcpsvr.Tpo -c -o stcpsvr.lo `test -f 'src/cms/stcpsvr.cc' || echo '$(srcdir)/'`src/cms/stcpsvr.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/stcpsvr.Tpo $(DEPDIR)/stcpsvr.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/stcpsvr.cc' object='stcpsvr.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stcpsvr.lo `test -f 'src/cms/stcpsvr.cc' || echo '$(srcdir)/'`src/cms/stcpsvr.cc + +crypt2.lo: src/cms/crypt2.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT crypt2.lo -MD -MP -MF $(DEPDIR)/crypt2.Tpo -c -o crypt2.lo `test -f 'src/cms/crypt2.cc' || echo '$(srcdir)/'`src/cms/crypt2.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/crypt2.Tpo $(DEPDIR)/crypt2.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/crypt2.cc' object='crypt2.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o crypt2.lo `test -f 'src/cms/crypt2.cc' || echo '$(srcdir)/'`src/cms/crypt2.cc + +udpmem.lo: src/cms/udpmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT udpmem.lo -MD -MP -MF $(DEPDIR)/udpmem.Tpo -c -o udpmem.lo `test -f 'src/cms/udpmem.cc' || echo '$(srcdir)/'`src/cms/udpmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/udpmem.Tpo $(DEPDIR)/udpmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/udpmem.cc' object='udpmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o udpmem.lo `test -f 'src/cms/udpmem.cc' || echo '$(srcdir)/'`src/cms/udpmem.cc + +udp_opts.lo: src/cms/udp_opts.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT udp_opts.lo -MD -MP -MF $(DEPDIR)/udp_opts.Tpo -c -o udp_opts.lo `test -f 'src/cms/udp_opts.cc' || echo '$(srcdir)/'`src/cms/udp_opts.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/udp_opts.Tpo $(DEPDIR)/udp_opts.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/udp_opts.cc' object='udp_opts.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o udp_opts.lo `test -f 'src/cms/udp_opts.cc' || echo '$(srcdir)/'`src/cms/udp_opts.cc + +udp_srv.lo: src/cms/udp_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT udp_srv.lo -MD -MP -MF $(DEPDIR)/udp_srv.Tpo -c -o udp_srv.lo `test -f 'src/cms/udp_srv.cc' || echo '$(srcdir)/'`src/cms/udp_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/udp_srv.Tpo $(DEPDIR)/udp_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/udp_srv.cc' object='udp_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o udp_srv.lo `test -f 'src/cms/udp_srv.cc' || echo '$(srcdir)/'`src/cms/udp_srv.cc + +gdrs_im_clnt.lo: src/cms/gdrs_im_clnt.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdrs_im_clnt.lo -MD -MP -MF $(DEPDIR)/gdrs_im_clnt.Tpo -c -o gdrs_im_clnt.lo `test -f 'src/cms/gdrs_im_clnt.cc' || echo '$(srcdir)/'`src/cms/gdrs_im_clnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdrs_im_clnt.Tpo $(DEPDIR)/gdrs_im_clnt.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/gdrs_im_clnt.cc' object='gdrs_im_clnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdrs_im_clnt.lo `test -f 'src/cms/gdrs_im_clnt.cc' || echo '$(srcdir)/'`src/cms/gdrs_im_clnt.cc + +gdrs_im_srv.lo: src/cms/gdrs_im_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gdrs_im_srv.lo -MD -MP -MF $(DEPDIR)/gdrs_im_srv.Tpo -c -o gdrs_im_srv.lo `test -f 'src/cms/gdrs_im_srv.cc' || echo '$(srcdir)/'`src/cms/gdrs_im_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/gdrs_im_srv.Tpo $(DEPDIR)/gdrs_im_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/gdrs_im_srv.cc' object='gdrs_im_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gdrs_im_srv.lo `test -f 'src/cms/gdrs_im_srv.cc' || echo '$(srcdir)/'`src/cms/gdrs_im_srv.cc + +locmem.lo: src/cms/locmem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT locmem.lo -MD -MP -MF $(DEPDIR)/locmem.Tpo -c -o locmem.lo `test -f 'src/cms/locmem.cc' || echo '$(srcdir)/'`src/cms/locmem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/locmem.Tpo $(DEPDIR)/locmem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/locmem.cc' object='locmem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o locmem.lo `test -f 'src/cms/locmem.cc' || echo '$(srcdir)/'`src/cms/locmem.cc + +http_srv.lo: src/cms/http_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT http_srv.lo -MD -MP -MF $(DEPDIR)/http_srv.Tpo -c -o http_srv.lo `test -f 'src/cms/http_srv.cc' || echo '$(srcdir)/'`src/cms/http_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/http_srv.Tpo $(DEPDIR)/http_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/http_srv.cc' object='http_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o http_srv.lo `test -f 'src/cms/http_srv.cc' || echo '$(srcdir)/'`src/cms/http_srv.cc + +httpnml.lo: src/cms/httpnml.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT httpnml.lo -MD -MP -MF $(DEPDIR)/httpnml.Tpo -c -o httpnml.lo `test -f 'src/cms/httpnml.cc' || echo '$(srcdir)/'`src/cms/httpnml.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/httpnml.Tpo $(DEPDIR)/httpnml.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/httpnml.cc' object='httpnml.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o httpnml.lo `test -f 'src/cms/httpnml.cc' || echo '$(srcdir)/'`src/cms/httpnml.cc + +tty_srv.lo: src/cms/tty_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tty_srv.lo -MD -MP -MF $(DEPDIR)/tty_srv.Tpo -c -o tty_srv.lo `test -f 'src/cms/tty_srv.cc' || echo '$(srcdir)/'`src/cms/tty_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/tty_srv.Tpo $(DEPDIR)/tty_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/tty_srv.cc' object='tty_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tty_srv.lo `test -f 'src/cms/tty_srv.cc' || echo '$(srcdir)/'`src/cms/tty_srv.cc + +ttymem.lo: src/cms/ttymem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ttymem.lo -MD -MP -MF $(DEPDIR)/ttymem.Tpo -c -o ttymem.lo `test -f 'src/cms/ttymem.cc' || echo '$(srcdir)/'`src/cms/ttymem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/ttymem.Tpo $(DEPDIR)/ttymem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/ttymem.cc' object='ttymem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ttymem.lo `test -f 'src/cms/ttymem.cc' || echo '$(srcdir)/'`src/cms/ttymem.cc + +phantom.lo: src/cms/phantom.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT phantom.lo -MD -MP -MF $(DEPDIR)/phantom.Tpo -c -o phantom.lo `test -f 'src/cms/phantom.cc' || echo '$(srcdir)/'`src/cms/phantom.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/phantom.Tpo $(DEPDIR)/phantom.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/phantom.cc' object='phantom.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o phantom.lo `test -f 'src/cms/phantom.cc' || echo '$(srcdir)/'`src/cms/phantom.cc + +dbg_mem.lo: src/os_intf/dbg_mem.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dbg_mem.lo -MD -MP -MF $(DEPDIR)/dbg_mem.Tpo -c -o dbg_mem.lo `test -f 'src/os_intf/dbg_mem.cc' || echo '$(srcdir)/'`src/os_intf/dbg_mem.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/dbg_mem.Tpo $(DEPDIR)/dbg_mem.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/os_intf/dbg_mem.cc' object='dbg_mem.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dbg_mem.lo `test -f 'src/os_intf/dbg_mem.cc' || echo '$(srcdir)/'`src/os_intf/dbg_mem.cc + +posemath.lo: src/posemath/posemath.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT posemath.lo -MD -MP -MF $(DEPDIR)/posemath.Tpo -c -o posemath.lo `test -f 'src/posemath/posemath.cc' || echo '$(srcdir)/'`src/posemath/posemath.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/posemath.Tpo $(DEPDIR)/posemath.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/posemath.cc' object='posemath.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o posemath.lo `test -f 'src/posemath/posemath.cc' || echo '$(srcdir)/'`src/posemath/posemath.cc + +mathprnt.lo: src/posemath/mathprnt.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mathprnt.lo -MD -MP -MF $(DEPDIR)/mathprnt.Tpo -c -o mathprnt.lo `test -f 'src/posemath/mathprnt.cc' || echo '$(srcdir)/'`src/posemath/mathprnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/mathprnt.Tpo $(DEPDIR)/mathprnt.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/mathprnt.cc' object='mathprnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mathprnt.lo `test -f 'src/posemath/mathprnt.cc' || echo '$(srcdir)/'`src/posemath/mathprnt.cc + +cmd_msg.lo: src/node/cmd_msg.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cmd_msg.lo -MD -MP -MF $(DEPDIR)/cmd_msg.Tpo -c -o cmd_msg.lo `test -f 'src/node/cmd_msg.cc' || echo '$(srcdir)/'`src/node/cmd_msg.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cmd_msg.Tpo $(DEPDIR)/cmd_msg.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/cmd_msg.cc' object='cmd_msg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cmd_msg.lo `test -f 'src/node/cmd_msg.cc' || echo '$(srcdir)/'`src/node/cmd_msg.cc + +nml_mod.lo: src/node/nml_mod.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml_mod.lo -MD -MP -MF $(DEPDIR)/nml_mod.Tpo -c -o nml_mod.lo `test -f 'src/node/nml_mod.cc' || echo '$(srcdir)/'`src/node/nml_mod.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_mod.Tpo $(DEPDIR)/nml_mod.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/nml_mod.cc' object='nml_mod.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml_mod.lo `test -f 'src/node/nml_mod.cc' || echo '$(srcdir)/'`src/node/nml_mod.cc + +nml_oi.lo: src/node/nml_oi.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml_oi.lo -MD -MP -MF $(DEPDIR)/nml_oi.Tpo -c -o nml_oi.lo `test -f 'src/node/nml_oi.cc' || echo '$(srcdir)/'`src/node/nml_oi.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_oi.Tpo $(DEPDIR)/nml_oi.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/nml_oi.cc' object='nml_oi.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml_oi.lo `test -f 'src/node/nml_oi.cc' || echo '$(srcdir)/'`src/node/nml_oi.cc + +stat_msg.lo: src/node/stat_msg.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stat_msg.lo -MD -MP -MF $(DEPDIR)/stat_msg.Tpo -c -o stat_msg.lo `test -f 'src/node/stat_msg.cc' || echo '$(srcdir)/'`src/node/stat_msg.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/stat_msg.Tpo $(DEPDIR)/stat_msg.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/stat_msg.cc' object='stat_msg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stat_msg.lo `test -f 'src/node/stat_msg.cc' || echo '$(srcdir)/'`src/node/stat_msg.cc + +stat_msg_v2_n.lo: src/node/stat_msg_v2_n.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT stat_msg_v2_n.lo -MD -MP -MF $(DEPDIR)/stat_msg_v2_n.Tpo -c -o stat_msg_v2_n.lo `test -f 'src/node/stat_msg_v2_n.cc' || echo '$(srcdir)/'`src/node/stat_msg_v2_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/stat_msg_v2_n.Tpo $(DEPDIR)/stat_msg_v2_n.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/stat_msg_v2_n.cc' object='stat_msg_v2_n.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o stat_msg_v2_n.lo `test -f 'src/node/stat_msg_v2_n.cc' || echo '$(srcdir)/'`src/node/stat_msg_v2_n.cc + +timetracker_n.lo: src/node/timetracker_n.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT timetracker_n.lo -MD -MP -MF $(DEPDIR)/timetracker_n.Tpo -c -o timetracker_n.lo `test -f 'src/node/timetracker_n.cc' || echo '$(srcdir)/'`src/node/timetracker_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/timetracker_n.Tpo $(DEPDIR)/timetracker_n.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/timetracker_n.cc' object='timetracker_n.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o timetracker_n.lo `test -f 'src/node/timetracker_n.cc' || echo '$(srcdir)/'`src/node/timetracker_n.cc + +timetracker.lo: src/node/timetracker.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT timetracker.lo -MD -MP -MF $(DEPDIR)/timetracker.Tpo -c -o timetracker.lo `test -f 'src/node/timetracker.cc' || echo '$(srcdir)/'`src/node/timetracker.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/timetracker.Tpo $(DEPDIR)/timetracker.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/node/timetracker.cc' object='timetracker.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o timetracker.lo `test -f 'src/node/timetracker.cc' || echo '$(srcdir)/'`src/node/timetracker.cc + +nml_srv.lo: src/cms/nml_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml_srv.lo -MD -MP -MF $(DEPDIR)/nml_srv.Tpo -c -o nml_srv.lo `test -f 'src/cms/nml_srv.cc' || echo '$(srcdir)/'`src/cms/nml_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_srv.Tpo $(DEPDIR)/nml_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nml_srv.cc' object='nml_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml_srv.lo `test -f 'src/cms/nml_srv.cc' || echo '$(srcdir)/'`src/cms/nml_srv.cc + +cms_srv.lo: src/cms/cms_srv.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_srv.lo -MD -MP -MF $(DEPDIR)/cms_srv.Tpo -c -o cms_srv.lo `test -f 'src/cms/cms_srv.cc' || echo '$(srcdir)/'`src/cms/cms_srv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_srv.Tpo $(DEPDIR)/cms_srv.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_srv.cc' object='cms_srv.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_srv.lo `test -f 'src/cms/cms_srv.cc' || echo '$(srcdir)/'`src/cms/cms_srv.cc + +cmssvrp.lo: src/cms/cmssvrp.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cmssvrp.lo -MD -MP -MF $(DEPDIR)/cmssvrp.Tpo -c -o cmssvrp.lo `test -f 'src/cms/cmssvrp.cc' || echo '$(srcdir)/'`src/cms/cmssvrp.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cmssvrp.Tpo $(DEPDIR)/cmssvrp.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cmssvrp.cc' object='cmssvrp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cmssvrp.lo `test -f 'src/cms/cmssvrp.cc' || echo '$(srcdir)/'`src/cms/cmssvrp.cc + +nmlcfgsvr_clntcalls.lo: src/cms/nmlcfgsvr_clntcalls.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcfgsvr_clntcalls.lo -MD -MP -MF $(DEPDIR)/nmlcfgsvr_clntcalls.Tpo -c -o nmlcfgsvr_clntcalls.lo `test -f 'src/cms/nmlcfgsvr_clntcalls.cc' || echo '$(srcdir)/'`src/cms/nmlcfgsvr_clntcalls.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcfgsvr_clntcalls.Tpo $(DEPDIR)/nmlcfgsvr_clntcalls.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcfgsvr_clntcalls.cc' object='nmlcfgsvr_clntcalls.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcfgsvr_clntcalls.lo `test -f 'src/cms/nmlcfgsvr_clntcalls.cc' || echo '$(srcdir)/'`src/cms/nmlcfgsvr_clntcalls.cc + +nmlset.lo: src/cms/nmlset.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlset.lo -MD -MP -MF $(DEPDIR)/nmlset.Tpo -c -o nmlset.lo `test -f 'src/cms/nmlset.cc' || echo '$(srcdir)/'`src/cms/nmlset.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlset.Tpo $(DEPDIR)/nmlset.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlset.cc' object='nmlset.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlset.lo `test -f 'src/cms/nmlset.cc' || echo '$(srcdir)/'`src/cms/nmlset.cc + +cms_xup.lo: src/cms/cms_xup.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_xup.lo -MD -MP -MF $(DEPDIR)/cms_xup.Tpo -c -o cms_xup.lo `test -f 'src/cms/cms_xup.cc' || echo '$(srcdir)/'`src/cms/cms_xup.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_xup.Tpo $(DEPDIR)/cms_xup.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xup.cc' object='cms_xup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_xup.lo `test -f 'src/cms/cms_xup.cc' || echo '$(srcdir)/'`src/cms/cms_xup.cc + +cms_pup.lo: src/cms/cms_pup.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_pup.lo -MD -MP -MF $(DEPDIR)/cms_pup.Tpo -c -o cms_pup.lo `test -f 'src/cms/cms_pup.cc' || echo '$(srcdir)/'`src/cms/cms_pup.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_pup.Tpo $(DEPDIR)/cms_pup.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_pup.cc' object='cms_pup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_pup.lo `test -f 'src/cms/cms_pup.cc' || echo '$(srcdir)/'`src/cms/cms_pup.cc + +cms_dup.lo: src/cms/cms_dup.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cms_dup.lo -MD -MP -MF $(DEPDIR)/cms_dup.Tpo -c -o cms_dup.lo `test -f 'src/cms/cms_dup.cc' || echo '$(srcdir)/'`src/cms/cms_dup.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cms_dup.Tpo $(DEPDIR)/cms_dup.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_dup.cc' object='cms_dup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cms_dup.lo `test -f 'src/cms/cms_dup.cc' || echo '$(srcdir)/'`src/cms/cms_dup.cc + +cmsdiag.lo: src/cms/cmsdiag.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cmsdiag.lo -MD -MP -MF $(DEPDIR)/cmsdiag.Tpo -c -o cmsdiag.lo `test -f 'src/cms/cmsdiag.cc' || echo '$(srcdir)/'`src/cms/cmsdiag.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/cmsdiag.Tpo $(DEPDIR)/cmsdiag.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cmsdiag.cc' object='cmsdiag.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o cmsdiag.lo `test -f 'src/cms/cmsdiag.cc' || echo '$(srcdir)/'`src/cms/cmsdiag.cc + +nmldiag.lo: src/cms/nmldiag.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmldiag.lo -MD -MP -MF $(DEPDIR)/nmldiag.Tpo -c -o nmldiag.lo `test -f 'src/cms/nmldiag.cc' || echo '$(srcdir)/'`src/cms/nmldiag.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmldiag.Tpo $(DEPDIR)/nmldiag.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmldiag.cc' object='nmldiag.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmldiag.lo `test -f 'src/cms/nmldiag.cc' || echo '$(srcdir)/'`src/cms/nmldiag.cc + +nmlqr.lo: src/cms/nmlqr.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlqr.lo -MD -MP -MF $(DEPDIR)/nmlqr.Tpo -c -o nmlqr.lo `test -f 'src/cms/nmlqr.cc' || echo '$(srcdir)/'`src/cms/nmlqr.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlqr.Tpo $(DEPDIR)/nmlqr.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlqr.cc' object='nmlqr.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlqr.lo `test -f 'src/cms/nmlqr.cc' || echo '$(srcdir)/'`src/cms/nmlqr.cc + +rcs_prnt.lo: src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT rcs_prnt.lo -MD -MP -MF $(DEPDIR)/rcs_prnt.Tpo -c -o rcs_prnt.lo `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/rcs_prnt.Tpo $(DEPDIR)/rcs_prnt.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/rcs_prnt.cc' object='rcs_prnt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o rcs_prnt.lo `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc + +etime_print-etime_print.o: src/test/etime_print.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(etime_print_CXXFLAGS) $(CXXFLAGS) -MT etime_print-etime_print.o -MD -MP -MF $(DEPDIR)/etime_print-etime_print.Tpo -c -o etime_print-etime_print.o `test -f 'src/test/etime_print.cc' || echo '$(srcdir)/'`src/test/etime_print.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/etime_print-etime_print.Tpo $(DEPDIR)/etime_print-etime_print.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/etime_print.cc' object='etime_print-etime_print.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(etime_print_CXXFLAGS) $(CXXFLAGS) -c -o etime_print-etime_print.o `test -f 'src/test/etime_print.cc' || echo '$(srcdir)/'`src/test/etime_print.cc + +etime_print-etime_print.obj: src/test/etime_print.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(etime_print_CXXFLAGS) $(CXXFLAGS) -MT etime_print-etime_print.obj -MD -MP -MF $(DEPDIR)/etime_print-etime_print.Tpo -c -o etime_print-etime_print.obj `if test -f 'src/test/etime_print.cc'; then $(CYGPATH_W) 'src/test/etime_print.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/etime_print.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/etime_print-etime_print.Tpo $(DEPDIR)/etime_print-etime_print.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/etime_print.cc' object='etime_print-etime_print.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(etime_print_CXXFLAGS) $(CXXFLAGS) -c -o etime_print-etime_print.obj `if test -f 'src/test/etime_print.cc'; then $(CYGPATH_W) 'src/test/etime_print.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/etime_print.cc'; fi` + +nmlGetRemoteTcpServerBufferInfo.o: src/cms/nmlGetRemoteTcpServerBufferInfo.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlGetRemoteTcpServerBufferInfo.o -MD -MP -MF $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Tpo -c -o nmlGetRemoteTcpServerBufferInfo.o `test -f 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc' || echo '$(srcdir)/'`src/cms/nmlGetRemoteTcpServerBufferInfo.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Tpo $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlGetRemoteTcpServerBufferInfo.cc' object='nmlGetRemoteTcpServerBufferInfo.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlGetRemoteTcpServerBufferInfo.o `test -f 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc' || echo '$(srcdir)/'`src/cms/nmlGetRemoteTcpServerBufferInfo.cc + +nmlGetRemoteTcpServerBufferInfo.obj: src/cms/nmlGetRemoteTcpServerBufferInfo.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlGetRemoteTcpServerBufferInfo.obj -MD -MP -MF $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Tpo -c -o nmlGetRemoteTcpServerBufferInfo.obj `if test -f 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; then $(CYGPATH_W) 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Tpo $(DEPDIR)/nmlGetRemoteTcpServerBufferInfo.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlGetRemoteTcpServerBufferInfo.cc' object='nmlGetRemoteTcpServerBufferInfo.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlGetRemoteTcpServerBufferInfo.obj `if test -f 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; then $(CYGPATH_W) 'src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlGetRemoteTcpServerBufferInfo.cc'; fi` + +nmlGetRemoteTcpServerBufferList.o: src/cms/nmlGetRemoteTcpServerBufferList.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlGetRemoteTcpServerBufferList.o -MD -MP -MF $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Tpo -c -o nmlGetRemoteTcpServerBufferList.o `test -f 'src/cms/nmlGetRemoteTcpServerBufferList.cc' || echo '$(srcdir)/'`src/cms/nmlGetRemoteTcpServerBufferList.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Tpo $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlGetRemoteTcpServerBufferList.cc' object='nmlGetRemoteTcpServerBufferList.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlGetRemoteTcpServerBufferList.o `test -f 'src/cms/nmlGetRemoteTcpServerBufferList.cc' || echo '$(srcdir)/'`src/cms/nmlGetRemoteTcpServerBufferList.cc + +nmlGetRemoteTcpServerBufferList.obj: src/cms/nmlGetRemoteTcpServerBufferList.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlGetRemoteTcpServerBufferList.obj -MD -MP -MF $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Tpo -c -o nmlGetRemoteTcpServerBufferList.obj `if test -f 'src/cms/nmlGetRemoteTcpServerBufferList.cc'; then $(CYGPATH_W) 'src/cms/nmlGetRemoteTcpServerBufferList.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlGetRemoteTcpServerBufferList.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Tpo $(DEPDIR)/nmlGetRemoteTcpServerBufferList.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlGetRemoteTcpServerBufferList.cc' object='nmlGetRemoteTcpServerBufferList.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlGetRemoteTcpServerBufferList.obj `if test -f 'src/cms/nmlGetRemoteTcpServerBufferList.cc'; then $(CYGPATH_W) 'src/cms/nmlGetRemoteTcpServerBufferList.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlGetRemoteTcpServerBufferList.cc'; fi` + +nml_packed_file_to_csv.o: src/cms/nml_packed_file_to_csv.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml_packed_file_to_csv.o -MD -MP -MF $(DEPDIR)/nml_packed_file_to_csv.Tpo -c -o nml_packed_file_to_csv.o `test -f 'src/cms/nml_packed_file_to_csv.cc' || echo '$(srcdir)/'`src/cms/nml_packed_file_to_csv.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_packed_file_to_csv.Tpo $(DEPDIR)/nml_packed_file_to_csv.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nml_packed_file_to_csv.cc' object='nml_packed_file_to_csv.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml_packed_file_to_csv.o `test -f 'src/cms/nml_packed_file_to_csv.cc' || echo '$(srcdir)/'`src/cms/nml_packed_file_to_csv.cc + +nml_packed_file_to_csv.obj: src/cms/nml_packed_file_to_csv.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nml_packed_file_to_csv.obj -MD -MP -MF $(DEPDIR)/nml_packed_file_to_csv.Tpo -c -o nml_packed_file_to_csv.obj `if test -f 'src/cms/nml_packed_file_to_csv.cc'; then $(CYGPATH_W) 'src/cms/nml_packed_file_to_csv.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nml_packed_file_to_csv.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_packed_file_to_csv.Tpo $(DEPDIR)/nml_packed_file_to_csv.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nml_packed_file_to_csv.cc' object='nml_packed_file_to_csv.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nml_packed_file_to_csv.obj `if test -f 'src/cms/nml_packed_file_to_csv.cc'; then $(CYGPATH_W) 'src/cms/nml_packed_file_to_csv.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nml_packed_file_to_csv.cc'; fi` + +nml_test_blocking_read-nmltestblockingread.o: src/test/nmltestblockingread.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-nmltestblockingread.o -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Tpo -c -o nml_test_blocking_read-nmltestblockingread.o `test -f 'src/test/nmltestblockingread.cc' || echo '$(srcdir)/'`src/test/nmltestblockingread.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Tpo $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nmltestblockingread.cc' object='nml_test_blocking_read-nmltestblockingread.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-nmltestblockingread.o `test -f 'src/test/nmltestblockingread.cc' || echo '$(srcdir)/'`src/test/nmltestblockingread.cc + +nml_test_blocking_read-nmltestblockingread.obj: src/test/nmltestblockingread.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-nmltestblockingread.obj -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Tpo -c -o nml_test_blocking_read-nmltestblockingread.obj `if test -f 'src/test/nmltestblockingread.cc'; then $(CYGPATH_W) 'src/test/nmltestblockingread.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nmltestblockingread.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Tpo $(DEPDIR)/nml_test_blocking_read-nmltestblockingread.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nmltestblockingread.cc' object='nml_test_blocking_read-nmltestblockingread.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-nmltestblockingread.obj `if test -f 'src/test/nmltestblockingread.cc'; then $(CYGPATH_W) 'src/test/nmltestblockingread.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nmltestblockingread.cc'; fi` + +nml_test_blocking_read-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-otherheader_n.Tpo -c -o nml_test_blocking_read-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-otherheader_n.Tpo $(DEPDIR)/nml_test_blocking_read-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_blocking_read-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_blocking_read-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-otherheader_n.Tpo -c -o nml_test_blocking_read-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-otherheader_n.Tpo $(DEPDIR)/nml_test_blocking_read-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_blocking_read-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_blocking_read-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Tpo -c -o nml_test_blocking_read-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Tpo $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_blocking_read-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_blocking_read-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_blocking_read-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Tpo -c -o nml_test_blocking_read-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Tpo $(DEPDIR)/nml_test_blocking_read-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_blocking_read-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_blocking_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_blocking_read-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_get_queue_length-nml_test_get_queue_length.o: src/test/nml_test_get_queue_length.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-nml_test_get_queue_length.o -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Tpo -c -o nml_test_get_queue_length-nml_test_get_queue_length.o `test -f 'src/test/nml_test_get_queue_length.cc' || echo '$(srcdir)/'`src/test/nml_test_get_queue_length.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Tpo $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_get_queue_length.cc' object='nml_test_get_queue_length-nml_test_get_queue_length.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-nml_test_get_queue_length.o `test -f 'src/test/nml_test_get_queue_length.cc' || echo '$(srcdir)/'`src/test/nml_test_get_queue_length.cc + +nml_test_get_queue_length-nml_test_get_queue_length.obj: src/test/nml_test_get_queue_length.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-nml_test_get_queue_length.obj -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Tpo -c -o nml_test_get_queue_length-nml_test_get_queue_length.obj `if test -f 'src/test/nml_test_get_queue_length.cc'; then $(CYGPATH_W) 'src/test/nml_test_get_queue_length.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_get_queue_length.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Tpo $(DEPDIR)/nml_test_get_queue_length-nml_test_get_queue_length.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_get_queue_length.cc' object='nml_test_get_queue_length-nml_test_get_queue_length.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-nml_test_get_queue_length.obj `if test -f 'src/test/nml_test_get_queue_length.cc'; then $(CYGPATH_W) 'src/test/nml_test_get_queue_length.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_get_queue_length.cc'; fi` + +nml_test_get_queue_length-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Tpo -c -o nml_test_get_queue_length-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Tpo $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_get_queue_length-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_get_queue_length-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Tpo -c -o nml_test_get_queue_length-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Tpo $(DEPDIR)/nml_test_get_queue_length-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_get_queue_length-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_get_queue_length-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Tpo -c -o nml_test_get_queue_length-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Tpo $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_get_queue_length-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_get_queue_length-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_queue_length-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Tpo -c -o nml_test_get_queue_length-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Tpo $(DEPDIR)/nml_test_get_queue_length-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_get_queue_length-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_queue_length_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_queue_length-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_get_space_available-nml_test_get_space_available.o: src/test/nml_test_get_space_available.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-nml_test_get_space_available.o -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Tpo -c -o nml_test_get_space_available-nml_test_get_space_available.o `test -f 'src/test/nml_test_get_space_available.cc' || echo '$(srcdir)/'`src/test/nml_test_get_space_available.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Tpo $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_get_space_available.cc' object='nml_test_get_space_available-nml_test_get_space_available.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-nml_test_get_space_available.o `test -f 'src/test/nml_test_get_space_available.cc' || echo '$(srcdir)/'`src/test/nml_test_get_space_available.cc + +nml_test_get_space_available-nml_test_get_space_available.obj: src/test/nml_test_get_space_available.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-nml_test_get_space_available.obj -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Tpo -c -o nml_test_get_space_available-nml_test_get_space_available.obj `if test -f 'src/test/nml_test_get_space_available.cc'; then $(CYGPATH_W) 'src/test/nml_test_get_space_available.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_get_space_available.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Tpo $(DEPDIR)/nml_test_get_space_available-nml_test_get_space_available.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_get_space_available.cc' object='nml_test_get_space_available-nml_test_get_space_available.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-nml_test_get_space_available.obj `if test -f 'src/test/nml_test_get_space_available.cc'; then $(CYGPATH_W) 'src/test/nml_test_get_space_available.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_get_space_available.cc'; fi` + +nml_test_get_space_available-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-otherheader_n.Tpo -c -o nml_test_get_space_available-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-otherheader_n.Tpo $(DEPDIR)/nml_test_get_space_available-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_get_space_available-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_get_space_available-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-otherheader_n.Tpo -c -o nml_test_get_space_available-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-otherheader_n.Tpo $(DEPDIR)/nml_test_get_space_available-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_get_space_available-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_get_space_available-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Tpo -c -o nml_test_get_space_available-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Tpo $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_get_space_available-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_get_space_available-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -MT nml_test_get_space_available-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Tpo -c -o nml_test_get_space_available-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Tpo $(DEPDIR)/nml_test_get_space_available-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_get_space_available-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_get_space_available_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_get_space_available-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_nmlset-nml_test_nmlset.o: src/test/nml_test_nmlset.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-nml_test_nmlset.o -MD -MP -MF $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Tpo -c -o nml_test_nmlset-nml_test_nmlset.o `test -f 'src/test/nml_test_nmlset.cc' || echo '$(srcdir)/'`src/test/nml_test_nmlset.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Tpo $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_nmlset.cc' object='nml_test_nmlset-nml_test_nmlset.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-nml_test_nmlset.o `test -f 'src/test/nml_test_nmlset.cc' || echo '$(srcdir)/'`src/test/nml_test_nmlset.cc + +nml_test_nmlset-nml_test_nmlset.obj: src/test/nml_test_nmlset.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-nml_test_nmlset.obj -MD -MP -MF $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Tpo -c -o nml_test_nmlset-nml_test_nmlset.obj `if test -f 'src/test/nml_test_nmlset.cc'; then $(CYGPATH_W) 'src/test/nml_test_nmlset.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_nmlset.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Tpo $(DEPDIR)/nml_test_nmlset-nml_test_nmlset.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_nmlset.cc' object='nml_test_nmlset-nml_test_nmlset.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-nml_test_nmlset.obj `if test -f 'src/test/nml_test_nmlset.cc'; then $(CYGPATH_W) 'src/test/nml_test_nmlset.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_nmlset.cc'; fi` + +nml_test_nmlset-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_nmlset-otherheader_n.Tpo -c -o nml_test_nmlset-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-otherheader_n.Tpo $(DEPDIR)/nml_test_nmlset-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_nmlset-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_nmlset-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_nmlset-otherheader_n.Tpo -c -o nml_test_nmlset-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-otherheader_n.Tpo $(DEPDIR)/nml_test_nmlset-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_nmlset-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_nmlset-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Tpo -c -o nml_test_nmlset-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Tpo $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_nmlset-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_nmlset-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -MT nml_test_nmlset-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Tpo -c -o nml_test_nmlset-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Tpo $(DEPDIR)/nml_test_nmlset-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_nmlset-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_nmlset_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_nmlset-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_read-nml_test_read.o: src/test/nml_test_read.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-nml_test_read.o -MD -MP -MF $(DEPDIR)/nml_test_read-nml_test_read.Tpo -c -o nml_test_read-nml_test_read.o `test -f 'src/test/nml_test_read.cc' || echo '$(srcdir)/'`src/test/nml_test_read.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-nml_test_read.Tpo $(DEPDIR)/nml_test_read-nml_test_read.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_read.cc' object='nml_test_read-nml_test_read.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-nml_test_read.o `test -f 'src/test/nml_test_read.cc' || echo '$(srcdir)/'`src/test/nml_test_read.cc + +nml_test_read-nml_test_read.obj: src/test/nml_test_read.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-nml_test_read.obj -MD -MP -MF $(DEPDIR)/nml_test_read-nml_test_read.Tpo -c -o nml_test_read-nml_test_read.obj `if test -f 'src/test/nml_test_read.cc'; then $(CYGPATH_W) 'src/test/nml_test_read.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_read.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-nml_test_read.Tpo $(DEPDIR)/nml_test_read-nml_test_read.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_read.cc' object='nml_test_read-nml_test_read.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-nml_test_read.obj `if test -f 'src/test/nml_test_read.cc'; then $(CYGPATH_W) 'src/test/nml_test_read.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_read.cc'; fi` + +nml_test_read-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_read-otherheader_n.Tpo -c -o nml_test_read-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-otherheader_n.Tpo $(DEPDIR)/nml_test_read-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_read-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_read-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_read-otherheader_n.Tpo -c -o nml_test_read-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-otherheader_n.Tpo $(DEPDIR)/nml_test_read-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_read-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_read-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_read-nml_test_format_n.Tpo -c -o nml_test_read-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-nml_test_format_n.Tpo $(DEPDIR)/nml_test_read-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_read-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_read-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -MT nml_test_read-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_read-nml_test_format_n.Tpo -c -o nml_test_read-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_read-nml_test_format_n.Tpo $(DEPDIR)/nml_test_read-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_read-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_read_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_read-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_server-nml_test_server.o: src/test/nml_test_server.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-nml_test_server.o -MD -MP -MF $(DEPDIR)/nml_test_server-nml_test_server.Tpo -c -o nml_test_server-nml_test_server.o `test -f 'src/test/nml_test_server.cc' || echo '$(srcdir)/'`src/test/nml_test_server.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-nml_test_server.Tpo $(DEPDIR)/nml_test_server-nml_test_server.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_server.cc' object='nml_test_server-nml_test_server.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-nml_test_server.o `test -f 'src/test/nml_test_server.cc' || echo '$(srcdir)/'`src/test/nml_test_server.cc + +nml_test_server-nml_test_server.obj: src/test/nml_test_server.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-nml_test_server.obj -MD -MP -MF $(DEPDIR)/nml_test_server-nml_test_server.Tpo -c -o nml_test_server-nml_test_server.obj `if test -f 'src/test/nml_test_server.cc'; then $(CYGPATH_W) 'src/test/nml_test_server.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_server.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-nml_test_server.Tpo $(DEPDIR)/nml_test_server-nml_test_server.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_server.cc' object='nml_test_server-nml_test_server.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-nml_test_server.obj `if test -f 'src/test/nml_test_server.cc'; then $(CYGPATH_W) 'src/test/nml_test_server.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_server.cc'; fi` + +nml_test_server-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_server-otherheader_n.Tpo -c -o nml_test_server-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-otherheader_n.Tpo $(DEPDIR)/nml_test_server-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_server-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_server-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_server-otherheader_n.Tpo -c -o nml_test_server-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-otherheader_n.Tpo $(DEPDIR)/nml_test_server-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_server-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_server-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_server-nml_test_format_n.Tpo -c -o nml_test_server-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-nml_test_format_n.Tpo $(DEPDIR)/nml_test_server-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_server-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_server-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -MT nml_test_server-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_server-nml_test_format_n.Tpo -c -o nml_test_server-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_server-nml_test_format_n.Tpo $(DEPDIR)/nml_test_server-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_server-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_server_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_server-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_single_process_queue_test-nml_test_single_process_queue_test.o: src/test/nml_test_single_process_queue_test.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-nml_test_single_process_queue_test.o -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Tpo -c -o nml_test_single_process_queue_test-nml_test_single_process_queue_test.o `test -f 'src/test/nml_test_single_process_queue_test.cc' || echo '$(srcdir)/'`src/test/nml_test_single_process_queue_test.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Tpo $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_single_process_queue_test.cc' object='nml_test_single_process_queue_test-nml_test_single_process_queue_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-nml_test_single_process_queue_test.o `test -f 'src/test/nml_test_single_process_queue_test.cc' || echo '$(srcdir)/'`src/test/nml_test_single_process_queue_test.cc + +nml_test_single_process_queue_test-nml_test_single_process_queue_test.obj: src/test/nml_test_single_process_queue_test.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-nml_test_single_process_queue_test.obj -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Tpo -c -o nml_test_single_process_queue_test-nml_test_single_process_queue_test.obj `if test -f 'src/test/nml_test_single_process_queue_test.cc'; then $(CYGPATH_W) 'src/test/nml_test_single_process_queue_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_single_process_queue_test.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Tpo $(DEPDIR)/nml_test_single_process_queue_test-nml_test_single_process_queue_test.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_single_process_queue_test.cc' object='nml_test_single_process_queue_test-nml_test_single_process_queue_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-nml_test_single_process_queue_test.obj `if test -f 'src/test/nml_test_single_process_queue_test.cc'; then $(CYGPATH_W) 'src/test/nml_test_single_process_queue_test.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_single_process_queue_test.cc'; fi` + +nml_test_single_process_queue_test-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Tpo -c -o nml_test_single_process_queue_test-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Tpo $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_single_process_queue_test-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_single_process_queue_test-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Tpo -c -o nml_test_single_process_queue_test-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Tpo $(DEPDIR)/nml_test_single_process_queue_test-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_single_process_queue_test-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_single_process_queue_test-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Tpo -c -o nml_test_single_process_queue_test-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Tpo $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_single_process_queue_test-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_single_process_queue_test-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -MT nml_test_single_process_queue_test-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Tpo -c -o nml_test_single_process_queue_test-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Tpo $(DEPDIR)/nml_test_single_process_queue_test-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_single_process_queue_test-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_single_process_queue_test_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_single_process_queue_test-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nml_test_write-nml_test_write.o: src/test/nml_test_write.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-nml_test_write.o -MD -MP -MF $(DEPDIR)/nml_test_write-nml_test_write.Tpo -c -o nml_test_write-nml_test_write.o `test -f 'src/test/nml_test_write.cc' || echo '$(srcdir)/'`src/test/nml_test_write.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-nml_test_write.Tpo $(DEPDIR)/nml_test_write-nml_test_write.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_write.cc' object='nml_test_write-nml_test_write.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-nml_test_write.o `test -f 'src/test/nml_test_write.cc' || echo '$(srcdir)/'`src/test/nml_test_write.cc + +nml_test_write-nml_test_write.obj: src/test/nml_test_write.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-nml_test_write.obj -MD -MP -MF $(DEPDIR)/nml_test_write-nml_test_write.Tpo -c -o nml_test_write-nml_test_write.obj `if test -f 'src/test/nml_test_write.cc'; then $(CYGPATH_W) 'src/test/nml_test_write.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_write.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-nml_test_write.Tpo $(DEPDIR)/nml_test_write-nml_test_write.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_write.cc' object='nml_test_write-nml_test_write.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-nml_test_write.obj `if test -f 'src/test/nml_test_write.cc'; then $(CYGPATH_W) 'src/test/nml_test_write.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_write.cc'; fi` + +nml_test_write-otherheader_n.o: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-otherheader_n.o -MD -MP -MF $(DEPDIR)/nml_test_write-otherheader_n.Tpo -c -o nml_test_write-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-otherheader_n.Tpo $(DEPDIR)/nml_test_write-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_write-otherheader_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-otherheader_n.o `test -f 'src/test/otherheader_n.cc' || echo '$(srcdir)/'`src/test/otherheader_n.cc + +nml_test_write-otherheader_n.obj: src/test/otherheader_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-otherheader_n.obj -MD -MP -MF $(DEPDIR)/nml_test_write-otherheader_n.Tpo -c -o nml_test_write-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-otherheader_n.Tpo $(DEPDIR)/nml_test_write-otherheader_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/otherheader_n.cc' object='nml_test_write-otherheader_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-otherheader_n.obj `if test -f 'src/test/otherheader_n.cc'; then $(CYGPATH_W) 'src/test/otherheader_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/otherheader_n.cc'; fi` + +nml_test_write-nml_test_format_n.o: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-nml_test_format_n.o -MD -MP -MF $(DEPDIR)/nml_test_write-nml_test_format_n.Tpo -c -o nml_test_write-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-nml_test_format_n.Tpo $(DEPDIR)/nml_test_write-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_write-nml_test_format_n.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-nml_test_format_n.o `test -f 'src/test/nml_test_format_n.cc' || echo '$(srcdir)/'`src/test/nml_test_format_n.cc + +nml_test_write-nml_test_format_n.obj: src/test/nml_test_format_n.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -MT nml_test_write-nml_test_format_n.obj -MD -MP -MF $(DEPDIR)/nml_test_write-nml_test_format_n.Tpo -c -o nml_test_write-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nml_test_write-nml_test_format_n.Tpo $(DEPDIR)/nml_test_write-nml_test_format_n.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/test/nml_test_format_n.cc' object='nml_test_write-nml_test_format_n.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nml_test_write_CXXFLAGS) $(CXXFLAGS) -c -o nml_test_write-nml_test_format_n.obj `if test -f 'src/test/nml_test_format_n.cc'; then $(CYGPATH_W) 'src/test/nml_test_format_n.cc'; else $(CYGPATH_W) '$(srcdir)/src/test/nml_test_format_n.cc'; fi` + +nmlcfg.o: src/cms/nmlcfg.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcfg.o -MD -MP -MF $(DEPDIR)/nmlcfg.Tpo -c -o nmlcfg.o `test -f 'src/cms/nmlcfg.cc' || echo '$(srcdir)/'`src/cms/nmlcfg.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcfg.Tpo $(DEPDIR)/nmlcfg.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcfg.cc' object='nmlcfg.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcfg.o `test -f 'src/cms/nmlcfg.cc' || echo '$(srcdir)/'`src/cms/nmlcfg.cc + +nmlcfg.obj: src/cms/nmlcfg.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcfg.obj -MD -MP -MF $(DEPDIR)/nmlcfg.Tpo -c -o nmlcfg.obj `if test -f 'src/cms/nmlcfg.cc'; then $(CYGPATH_W) 'src/cms/nmlcfg.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlcfg.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcfg.Tpo $(DEPDIR)/nmlcfg.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcfg.cc' object='nmlcfg.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcfg.obj `if test -f 'src/cms/nmlcfg.cc'; then $(CYGPATH_W) 'src/cms/nmlcfg.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlcfg.cc'; fi` + +nmlcfgsvr.o: src/cms/nmlcfgsvr.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcfgsvr.o -MD -MP -MF $(DEPDIR)/nmlcfgsvr.Tpo -c -o nmlcfgsvr.o `test -f 'src/cms/nmlcfgsvr.cc' || echo '$(srcdir)/'`src/cms/nmlcfgsvr.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcfgsvr.Tpo $(DEPDIR)/nmlcfgsvr.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcfgsvr.cc' object='nmlcfgsvr.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcfgsvr.o `test -f 'src/cms/nmlcfgsvr.cc' || echo '$(srcdir)/'`src/cms/nmlcfgsvr.cc + +nmlcfgsvr.obj: src/cms/nmlcfgsvr.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlcfgsvr.obj -MD -MP -MF $(DEPDIR)/nmlcfgsvr.Tpo -c -o nmlcfgsvr.obj `if test -f 'src/cms/nmlcfgsvr.cc'; then $(CYGPATH_W) 'src/cms/nmlcfgsvr.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlcfgsvr.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlcfgsvr.Tpo $(DEPDIR)/nmlcfgsvr.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlcfgsvr.cc' object='nmlcfgsvr.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlcfgsvr.obj `if test -f 'src/cms/nmlcfgsvr.cc'; then $(CYGPATH_W) 'src/cms/nmlcfgsvr.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlcfgsvr.cc'; fi` + +nmlclean.o: src/cms/nmlclean.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlclean.o -MD -MP -MF $(DEPDIR)/nmlclean.Tpo -c -o nmlclean.o `test -f 'src/cms/nmlclean.cc' || echo '$(srcdir)/'`src/cms/nmlclean.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlclean.Tpo $(DEPDIR)/nmlclean.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlclean.cc' object='nmlclean.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlclean.o `test -f 'src/cms/nmlclean.cc' || echo '$(srcdir)/'`src/cms/nmlclean.cc + +nmlclean.obj: src/cms/nmlclean.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmlclean.obj -MD -MP -MF $(DEPDIR)/nmlclean.Tpo -c -o nmlclean.obj `if test -f 'src/cms/nmlclean.cc'; then $(CYGPATH_W) 'src/cms/nmlclean.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlclean.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmlclean.Tpo $(DEPDIR)/nmlclean.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmlclean.cc' object='nmlclean.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmlclean.obj `if test -f 'src/cms/nmlclean.cc'; then $(CYGPATH_W) 'src/cms/nmlclean.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmlclean.cc'; fi` + +nmltest.o: src/cms/nmltest.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmltest.o -MD -MP -MF $(DEPDIR)/nmltest.Tpo -c -o nmltest.o `test -f 'src/cms/nmltest.cc' || echo '$(srcdir)/'`src/cms/nmltest.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmltest.Tpo $(DEPDIR)/nmltest.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmltest.cc' object='nmltest.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmltest.o `test -f 'src/cms/nmltest.cc' || echo '$(srcdir)/'`src/cms/nmltest.cc + +nmltest.obj: src/cms/nmltest.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT nmltest.obj -MD -MP -MF $(DEPDIR)/nmltest.Tpo -c -o nmltest.obj `if test -f 'src/cms/nmltest.cc'; then $(CYGPATH_W) 'src/cms/nmltest.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmltest.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/nmltest.Tpo $(DEPDIR)/nmltest.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/nmltest.cc' object='nmltest.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o nmltest.obj `if test -f 'src/cms/nmltest.cc'; then $(CYGPATH_W) 'src/cms/nmltest.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/nmltest.cc'; fi` + +oedm_xml2nmlh-rcs_prnt.o: src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-rcs_prnt.o -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Tpo -c -o oedm_xml2nmlh-rcs_prnt.o `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Tpo $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/rcs_prnt.cc' object='oedm_xml2nmlh-rcs_prnt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-rcs_prnt.o `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc + +oedm_xml2nmlh-rcs_prnt.obj: src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-rcs_prnt.obj -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Tpo -c -o oedm_xml2nmlh-rcs_prnt.obj `if test -f 'src/print/rcs_prnt.cc'; then $(CYGPATH_W) 'src/print/rcs_prnt.cc'; else $(CYGPATH_W) '$(srcdir)/src/print/rcs_prnt.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Tpo $(DEPDIR)/oedm_xml2nmlh-rcs_prnt.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/rcs_prnt.cc' object='oedm_xml2nmlh-rcs_prnt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-rcs_prnt.obj `if test -f 'src/print/rcs_prnt.cc'; then $(CYGPATH_W) 'src/print/rcs_prnt.cc'; else $(CYGPATH_W) '$(srcdir)/src/print/rcs_prnt.cc'; fi` + +oedm_xml2nmlh-cms_xml_up.o: src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-cms_xml_up.o -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Tpo -c -o oedm_xml2nmlh-cms_xml_up.o `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Tpo $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xml_up.cc' object='oedm_xml2nmlh-cms_xml_up.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-cms_xml_up.o `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc + +oedm_xml2nmlh-cms_xml_up.obj: src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-cms_xml_up.obj -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Tpo -c -o oedm_xml2nmlh-cms_xml_up.obj `if test -f 'src/cms/cms_xml_up.cc'; then $(CYGPATH_W) 'src/cms/cms_xml_up.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/cms_xml_up.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Tpo $(DEPDIR)/oedm_xml2nmlh-cms_xml_up.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xml_up.cc' object='oedm_xml2nmlh-cms_xml_up.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-cms_xml_up.obj `if test -f 'src/cms/cms_xml_up.cc'; then $(CYGPATH_W) 'src/cms/cms_xml_up.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/cms_xml_up.cc'; fi` + +oedm_xml2nmlh-linklist.o: src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-linklist.o -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-linklist.Tpo -c -o oedm_xml2nmlh-linklist.o `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-linklist.Tpo $(DEPDIR)/oedm_xml2nmlh-linklist.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/stg_clss/linklist.cc' object='oedm_xml2nmlh-linklist.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-linklist.o `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc + +oedm_xml2nmlh-linklist.obj: src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -MT oedm_xml2nmlh-linklist.obj -MD -MP -MF $(DEPDIR)/oedm_xml2nmlh-linklist.Tpo -c -o oedm_xml2nmlh-linklist.obj `if test -f 'src/stg_clss/linklist.cc'; then $(CYGPATH_W) 'src/stg_clss/linklist.cc'; else $(CYGPATH_W) '$(srcdir)/src/stg_clss/linklist.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/oedm_xml2nmlh-linklist.Tpo $(DEPDIR)/oedm_xml2nmlh-linklist.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/stg_clss/linklist.cc' object='oedm_xml2nmlh-linklist.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(oedm_xml2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o oedm_xml2nmlh-linklist.obj `if test -f 'src/stg_clss/linklist.cc'; then $(CYGPATH_W) 'src/stg_clss/linklist.cc'; else $(CYGPATH_W) '$(srcdir)/src/stg_clss/linklist.cc'; fi` + +testpmcpp-testpmcpp.o: src/posemath/testpmcpp.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmcpp_CXXFLAGS) $(CXXFLAGS) -MT testpmcpp-testpmcpp.o -MD -MP -MF $(DEPDIR)/testpmcpp-testpmcpp.Tpo -c -o testpmcpp-testpmcpp.o `test -f 'src/posemath/testpmcpp.cc' || echo '$(srcdir)/'`src/posemath/testpmcpp.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testpmcpp-testpmcpp.Tpo $(DEPDIR)/testpmcpp-testpmcpp.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/testpmcpp.cc' object='testpmcpp-testpmcpp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmcpp_CXXFLAGS) $(CXXFLAGS) -c -o testpmcpp-testpmcpp.o `test -f 'src/posemath/testpmcpp.cc' || echo '$(srcdir)/'`src/posemath/testpmcpp.cc + +testpmcpp-testpmcpp.obj: src/posemath/testpmcpp.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmcpp_CXXFLAGS) $(CXXFLAGS) -MT testpmcpp-testpmcpp.obj -MD -MP -MF $(DEPDIR)/testpmcpp-testpmcpp.Tpo -c -o testpmcpp-testpmcpp.obj `if test -f 'src/posemath/testpmcpp.cc'; then $(CYGPATH_W) 'src/posemath/testpmcpp.cc'; else $(CYGPATH_W) '$(srcdir)/src/posemath/testpmcpp.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/testpmcpp-testpmcpp.Tpo $(DEPDIR)/testpmcpp-testpmcpp.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/posemath/testpmcpp.cc' object='testpmcpp-testpmcpp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testpmcpp_CXXFLAGS) $(CXXFLAGS) -c -o testpmcpp-testpmcpp.obj `if test -f 'src/posemath/testpmcpp.cc'; then $(CYGPATH_W) 'src/posemath/testpmcpp.cc'; else $(CYGPATH_W) '$(srcdir)/src/posemath/testpmcpp.cc'; fi` + +xsd2nmlh-rcs_prnt.o: src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-rcs_prnt.o -MD -MP -MF $(DEPDIR)/xsd2nmlh-rcs_prnt.Tpo -c -o xsd2nmlh-rcs_prnt.o `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-rcs_prnt.Tpo $(DEPDIR)/xsd2nmlh-rcs_prnt.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/rcs_prnt.cc' object='xsd2nmlh-rcs_prnt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-rcs_prnt.o `test -f 'src/print/rcs_prnt.cc' || echo '$(srcdir)/'`src/print/rcs_prnt.cc + +xsd2nmlh-rcs_prnt.obj: src/print/rcs_prnt.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-rcs_prnt.obj -MD -MP -MF $(DEPDIR)/xsd2nmlh-rcs_prnt.Tpo -c -o xsd2nmlh-rcs_prnt.obj `if test -f 'src/print/rcs_prnt.cc'; then $(CYGPATH_W) 'src/print/rcs_prnt.cc'; else $(CYGPATH_W) '$(srcdir)/src/print/rcs_prnt.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-rcs_prnt.Tpo $(DEPDIR)/xsd2nmlh-rcs_prnt.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/print/rcs_prnt.cc' object='xsd2nmlh-rcs_prnt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-rcs_prnt.obj `if test -f 'src/print/rcs_prnt.cc'; then $(CYGPATH_W) 'src/print/rcs_prnt.cc'; else $(CYGPATH_W) '$(srcdir)/src/print/rcs_prnt.cc'; fi` + +xsd2nmlh-cms_xml_up.o: src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-cms_xml_up.o -MD -MP -MF $(DEPDIR)/xsd2nmlh-cms_xml_up.Tpo -c -o xsd2nmlh-cms_xml_up.o `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-cms_xml_up.Tpo $(DEPDIR)/xsd2nmlh-cms_xml_up.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xml_up.cc' object='xsd2nmlh-cms_xml_up.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-cms_xml_up.o `test -f 'src/cms/cms_xml_up.cc' || echo '$(srcdir)/'`src/cms/cms_xml_up.cc + +xsd2nmlh-cms_xml_up.obj: src/cms/cms_xml_up.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-cms_xml_up.obj -MD -MP -MF $(DEPDIR)/xsd2nmlh-cms_xml_up.Tpo -c -o xsd2nmlh-cms_xml_up.obj `if test -f 'src/cms/cms_xml_up.cc'; then $(CYGPATH_W) 'src/cms/cms_xml_up.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/cms_xml_up.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-cms_xml_up.Tpo $(DEPDIR)/xsd2nmlh-cms_xml_up.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/cms/cms_xml_up.cc' object='xsd2nmlh-cms_xml_up.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-cms_xml_up.obj `if test -f 'src/cms/cms_xml_up.cc'; then $(CYGPATH_W) 'src/cms/cms_xml_up.cc'; else $(CYGPATH_W) '$(srcdir)/src/cms/cms_xml_up.cc'; fi` + +xsd2nmlh-linklist.o: src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-linklist.o -MD -MP -MF $(DEPDIR)/xsd2nmlh-linklist.Tpo -c -o xsd2nmlh-linklist.o `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-linklist.Tpo $(DEPDIR)/xsd2nmlh-linklist.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/stg_clss/linklist.cc' object='xsd2nmlh-linklist.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-linklist.o `test -f 'src/stg_clss/linklist.cc' || echo '$(srcdir)/'`src/stg_clss/linklist.cc + +xsd2nmlh-linklist.obj: src/stg_clss/linklist.cc +@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -MT xsd2nmlh-linklist.obj -MD -MP -MF $(DEPDIR)/xsd2nmlh-linklist.Tpo -c -o xsd2nmlh-linklist.obj `if test -f 'src/stg_clss/linklist.cc'; then $(CYGPATH_W) 'src/stg_clss/linklist.cc'; else $(CYGPATH_W) '$(srcdir)/src/stg_clss/linklist.cc'; fi` +@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/xsd2nmlh-linklist.Tpo $(DEPDIR)/xsd2nmlh-linklist.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/stg_clss/linklist.cc' object='xsd2nmlh-linklist.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xsd2nmlh_CXXFLAGS) $(CXXFLAGS) -c -o xsd2nmlh-linklist.obj `if test -f 'src/stg_clss/linklist.cc'; then $(CYGPATH_W) 'src/stg_clss/linklist.cc'; else $(CYGPATH_W) '$(srcdir)/src/stg_clss/linklist.cc'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) rcs_config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) rcs_config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) rcs_config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) rcs_config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list=' $(TESTS) '; \ + $(am__tty_colors); \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + col=$$red; res=XPASS; \ + ;; \ + *) \ + col=$$grn; res=PASS; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$tst[\ \ ]*) \ + xfail=`expr $$xfail + 1`; \ + col=$$lgn; res=XFAIL; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + col=$$red; res=FAIL; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + col=$$blu; res=SKIP; \ + fi; \ + echo "$${col}$$res$${std}: $$tst"; \ + done; \ + if test "$$all" -eq 1; then \ + tests="test"; \ + All=""; \ + else \ + tests="tests"; \ + All="All "; \ + fi; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="$$All$$all $$tests passed"; \ + else \ + if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ + banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all $$tests failed"; \ + else \ + if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ + banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + skipped="($$skip test was not run)"; \ + else \ + skipped="($$skip tests were not run)"; \ + fi; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + if test "$$failed" -eq 0; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$${col}$$dashes$${std}"; \ + echo "$${col}$$banner$${std}"; \ + test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ + test -z "$$report" || echo "$${col}$$report$${std}"; \ + echo "$${col}$$dashes$${std}"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-recursive +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \ + $(HEADERS) rcs_config.h +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ + clean-libLTLIBRARIES clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-includeHEADERS install-pkgconfigDATA + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS install-binSCRIPTS \ + install-libLTLIBRARIES + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ + uninstall-includeHEADERS uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-TESTS check-am clean \ + clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags ctags-recursive dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-lzma dist-shar \ + dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-libtool distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-binSCRIPTS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-includeHEADERS install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-binSCRIPTS \ + uninstall-includeHEADERS uninstall-libLTLIBRARIES \ + uninstall-pkgconfigDATA + + +#Disable distcleancheck -- It is particularly painful to keep the +# java build scripts able to delete all the files they create +# and I see no particular value in forcing them too. +distcleancheck: + @- + +# 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: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/Licenses/README.TXT b/NetBeans/Licenses/README.TXT new file mode 100644 index 0000000..6a65303 --- /dev/null +++ b/NetBeans/Licenses/README.TXT @@ -0,0 +1,12 @@ +To have NetBeans automatically add the license to each new Java Class file. +paste the text from +license-public_domain_nist_rcs.txt +to replace the text of a new license file with the same name +created from the Template Manager from the menu Tools->Templates. + +Unfortunately this has to be done from within NetBeans for each +user directory. Then name corresponds with + +project.license=public_domain_nist_rcs + +set in rcslib/NetBeans/rcsjava/nbproject/project.properties diff --git a/NetBeans/Licenses/license-public_domain_nist_rcs.txt b/NetBeans/Licenses/license-public_domain_nist_rcs.txt new file mode 100644 index 0000000..92206d4 --- /dev/null +++ b/NetBeans/Licenses/license-public_domain_nist_rcs.txt @@ -0,0 +1,25 @@ +<#if licenseFirst??> +${licenseFirst} + +${licensePrefix}The NIST RCS (Real-time Control Systems) +${licensePrefix} library is public domain software, however it is preferred +${licensePrefix} that the following disclaimers be attached. +${licensePrefix} +${licensePrefix}Software Copywrite/Warranty Disclaimer +${licensePrefix} +${licensePrefix} This software was developed at the National Institute of Standards and +${licensePrefix}Technology by employees of the Federal Government in the course of their +${licensePrefix}official duties. Pursuant to title 17 Section 105 of the United States +${licensePrefix}Code this software is not subject to copyright protection and is in the +${licensePrefix}public domain. NIST Real-Time Control System software is an experimental +${licensePrefix}system. NIST assumes no responsibility whatsoever for its use by other +${licensePrefix}parties, and makes no guarantees, expressed or implied, about its +${licensePrefix}quality, reliability, or any other characteristic. We would appreciate +${licensePrefix}acknowledgement if the software is used. This software can be +${licensePrefix}redistributed and/or modified freely provided that any derivative works +${licensePrefix}bear some notice that they are derived from it, and any modified +${licensePrefix}versions bear some notice that they have been modified. +${licensePrefix} +<#if licenseLast??> +${licenseLast} + diff --git a/NetBeans/librcs_cxx/librcs_cxx-Makefile.mk b/NetBeans/librcs_cxx/librcs_cxx-Makefile.mk new file mode 100644 index 0000000..acd23c3 --- /dev/null +++ b/NetBeans/librcs_cxx/librcs_cxx-Makefile.mk @@ -0,0 +1,92 @@ +# +# There exist several targets which are by default empty and which can be +# used for execution of your targets. These targets are usually executed +# before and after some main targets. They are: +# +# .build-pre: called before 'build' target +# .build-post: called after 'build' target +# .clean-pre: called before 'clean' target +# .clean-post: called after 'clean' target +# .clobber-pre: called before 'clobber' target +# .clobber-post: called after 'clobber' target +# .all-pre: called before 'all' target +# .all-post: called after 'all' target +# .help-pre: called before 'help' target +# .help-post: called after 'help' target +# +# Targets beginning with '.' are not intended to be called on their own. +# +# Main targets can be executed directly, and they are: +# +# build build a specific configuration +# clean remove built files from a configuration +# clobber remove all built files +# all build all configurations +# help print help mesage +# +# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and +# .help-impl are implemented in nbproject/makefile-impl.mk. +# +# NOCDDL + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin +RANLIB=ranlib + + +# build +build: .build-pre .build-impl .build-post + +.build-pre: +# Add your pre 'build' code here... + +.build-post: +# Add your post 'build' code here... + + +# clean +clean: .clean-pre .clean-impl .clean-post + +.clean-pre: +# Add your pre 'clean' code here... + +.clean-post: +# Add your post 'clean' code here... + + +# clobber +clobber: .clobber-pre .clobber-impl .clobber-post + +.clobber-pre: +# Add your pre 'clobber' code here... + +.clobber-post: +# Add your post 'clobber' code here... + + +# all +all: .all-pre .all-impl .all-post + +.all-pre: +# Add your pre 'all' code here... + +.all-post: +# Add your post 'all' code here... + + +# help +help: .help-pre .help-impl .help-post + +.help-pre: +# Add your pre 'help' code here... + +.help-post: +# Add your post 'help' code here... + + + +# include project implementation makefile +include nbproject/Makefile-impl.mk diff --git a/NetBeans/librcs_cxx/nbproject/Makefile-Default.mk b/NetBeans/librcs_cxx/nbproject/Makefile-Default.mk new file mode 100644 index 0000000..1b8d284 --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/Makefile-Default.mk @@ -0,0 +1,63 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS= + +# Macros +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Default +CND_DISTDIR=dist + +# Include project Makefile +include librcs_cxx-Makefile.mk + +# Object Directory +OBJECTDIR=build/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + cd ../../src && make -f Makefile CXXFLAGS="-g3 -gdwarf-2" CFLAGS="-g3 -gdwarf-2" LDFLAGS="-Wl,--build-id" + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: + cd ../../src && make -f Makefile clean + +# Subprojects +.clean-subprojects: diff --git a/NetBeans/librcs_cxx/nbproject/Makefile-impl.mk b/NetBeans/librcs_cxx/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..9c08318 --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/Makefile-impl.mk @@ -0,0 +1,123 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=librcs_cxx + +# Active Configuration +DEFAULTCONF=Default +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=Default + + +# build +.build-impl: .build-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf + + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + ${MAKE} -f nbproject/Makefile-$${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ + done + +# all +.all-impl: .all-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + ${MAKE} -f nbproject/Makefile-$${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf; \ + done + +# dependency checking support +.depcheck-impl: + @echo "# This code depends on make tool being used" >.dep.inc + @if [ -n "${MAKE_VERSION}" ]; then \ + echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ + echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ + echo "include \$${DEPFILES}" >>.dep.inc; \ + echo "endif" >>.dep.inc; \ + else \ + echo ".KEEP_STATE:" >>.dep.inc; \ + echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ + fi + +# configuration validation +.validate-impl: + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + echo ""; \ + echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ + echo "See 'make help' for details."; \ + echo "Current directory: " `pwd`; \ + echo ""; \ + fi + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + exit 1; \ + fi + + +# help +.help-impl: .help-pre + @echo "This makefile supports the following configurations:" + @echo " ${ALLCONFS}" + @echo "" + @echo "and the following targets:" + @echo " build (default target)" + @echo " clean" + @echo " clobber" + @echo " all" + @echo " help" + @echo "" + @echo "Makefile Usage:" + @echo " make [CONF=] [SUB=no] build" + @echo " make [CONF=] [SUB=no] clean" + @echo " make [SUB=no] clobber" + @echo " make [SUB=no] all" + @echo " make help" + @echo "" + @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," + @echo " also clean subprojects." + @echo "Target 'clobber' will remove all built files from all configurations and," + @echo " unless 'SUB=no', also from subprojects." + @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'help' prints this message." + @echo "" + diff --git a/NetBeans/librcs_cxx/nbproject/Makefile-variables.mk b/NetBeans/librcs_cxx/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..c7307cd --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/Makefile-variables.mk @@ -0,0 +1,16 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +CND_BUILDDIR=build +CND_DISTDIR=dist +# Default configuration +CND_PLATFORM_Default=GNU-Linux-x86 +CND_ARTIFACT_DIR_Default= +CND_ARTIFACT_NAME_Default= +CND_ARTIFACT_PATH_Default= +CND_PACKAGE_DIR_Default=dist/Default/GNU-Linux-x86/package +CND_PACKAGE_NAME_Default=librcscxx.tar +CND_PACKAGE_PATH_Default=dist/Default/GNU-Linux-x86/package/librcscxx.tar diff --git a/NetBeans/librcs_cxx/nbproject/Package-Default.bash b/NetBeans/librcs_cxx/nbproject/Package-Default.bash new file mode 100644 index 0000000..94d88ac --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/Package-Default.bash @@ -0,0 +1,74 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux-x86 +CND_CONF=Default +CND_DISTDIR=dist +TMPDIR=build/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=MissingOutputInProject +OUTPUT_BASENAME=MissingOutputInProject +PACKAGE_TOP_DIR=librcscxx/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${TMPDIR} +mkdir -p ${TMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory ${TMPDIR}/librcscxx/bin +copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/librcscxx.tar +cd ${TMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/librcscxx.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${TMPDIR} diff --git a/NetBeans/librcs_cxx/nbproject/configurations.xml b/NetBeans/librcs_cxx/nbproject/configurations.xml new file mode 100644 index 0000000..723e081 --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/configurations.xml @@ -0,0 +1,4229 @@ + + + + + + ../../src/ada/nml_test_write_cpp.cc + + + ../../src/ce_miss/rcs_ce.h + + + ../../src/cms/_physmem.c + ../../src/cms/_physmem.h + ../../src/cms/addressislocal.c + ../../src/cms/autokey.c + ../../../../rcslib/src/cms/autokey.c + ../../src/cms/autokey.h + ../../../../rcslib/src/cms/autokey.h + ../../src/cms/bbd.c + ../../src/cms/bbd.h + ../../src/cms/bbdmem.cc + ../../src/cms/bd_types.h + ../../src/cms/bus_lock.c + ../../src/cms/bus_lock.h + ../../src/cms/cms.cc + ../../../../rcslib/src/cms/cms.cc + ../../src/cms/cms.hh + ../../../../rcslib/src/cms/cms.hh + ../../src/cms/cms_aup.cc + ../../src/cms/cms_cfg.cc + ../../../../rcslib/src/cms/cms_cfg.cc + ../../src/cms/cms_cfg.hh + ../../../../rcslib/src/cms/cms_cfg.hh + ../../src/cms/cms_cfg_no_config.h + ../../src/cms/cms_clnt_info.hh + ../../../../rcslib/src/cms/cms_clnt_info.hh + ../../src/cms/cms_datetime.cc + ../../../../rcslib/src/cms/cms_datetime.cc + ../../src/cms/cms_datetime.hh + ../../../../rcslib/src/cms/cms_datetime.hh + ../../src/cms/cms_dup.cc + ../../../../rcslib/src/cms/cms_dup.cc + ../../src/cms/cms_dup.hh + ../../../../rcslib/src/cms/cms_dup.hh + ../../src/cms/cms_dup_no_config.h + ../../src/cms/cms_enum_info.h + ../../../../rcslib/src/cms/cms_enum_info.h + ../../src/cms/cms_in.cc + ../../../../rcslib/src/cms/cms_in.cc + ../../src/cms/cms_mrpq.cc + ../../../../rcslib/src/cms/cms_mrpq.cc + ../../src/cms/cms_mrpq.hh + ../../../../rcslib/src/cms/cms_mrpq.hh + ../../src/cms/cms_no_config.h + ../../src/cms/cms_pm.cc + ../../../../rcslib/src/cms/cms_pm.cc + ../../src/cms/cms_pup.cc + ../../../../rcslib/src/cms/cms_pup.cc + ../../src/cms/cms_pup.hh + ../../../../rcslib/src/cms/cms_pup.hh + ../../src/cms/cms_srv.cc + ../../../../rcslib/src/cms/cms_srv.cc + ../../src/cms/cms_srv.hh + ../../../../rcslib/src/cms/cms_srv.hh + ../../src/cms/cms_srv_no_config.h + ../../src/cms/cms_types.hh + ../../../../rcslib/src/cms/cms_types.hh + ../../src/cms/cms_up.cc + ../../../../rcslib/src/cms/cms_up.cc + ../../src/cms/cms_up.hh + ../../../../rcslib/src/cms/cms_up.hh + ../../src/cms/cms_user.hh + ../../../../rcslib/src/cms/cms_user.hh + ../../src/cms/cms_xml_up.cc + ../../../../rcslib/src/cms/cms_xml_up.cc + ../../src/cms/cms_xml_up.hh + ../../../../rcslib/src/cms/cms_xml_up.hh + ../../src/cms/cms_xup.cc + ../../../../rcslib/src/cms/cms_xup.cc + ../../src/cms/cms_xup.hh + ../../../../rcslib/src/cms/cms_xup.hh + ../../src/cms/cms_xup_no_config.h + ../../src/cms/cmsdiag.cc + ../../src/cms/cmsdiag.hh + ../../../../rcslib/src/cms/cmsdiag.hh + ../../src/cms/cmsdiag_no_config.h + ../../src/cms/cmssvrp.cc + ../../../../rcslib/src/cms/cmssvrp.cc + ../../src/cms/crypt2.cc + ../../src/cms/ctest.c + ../../src/cms/dlgproc.h + ../../src/cms/dma.c + ../../src/cms/dma.h + ../../src/cms/extxdrintf.c + ../../../../rcslib/src/cms/extxdrintf.c + ../../src/cms/extxdrintf.h + ../../../../rcslib/src/cms/extxdrintf.h + ../../src/cms/filemem.cc + ../../src/cms/filemem_no_config.h + ../../src/cms/gdrs_im_clnt.cc + ../../src/cms/gdrs_im_clnt_no_config.h + ../../src/cms/gdrs_im_srv.cc + ../../src/cms/gdrs_im_srv_no_config.h + ../../src/cms/globmem.cc + ../../src/cms/http_srv.cc + ../../src/cms/http_srv_no_config.h + ../../src/cms/httpnml.cc + ../../src/cms/httpnml_no_config.h + ../../src/cms/l64.h + ../../../../rcslib/src/cms/l64.h + ../../src/cms/locmem.cc + ../../src/cms/memsem.cc + ../../../../rcslib/src/cms/memsem.cc + ../../src/cms/memsem.hh + ../../../../rcslib/src/cms/memsem.hh + ../../src/cms/msg2xdr.cc + ../../src/cms/msg_to_encoded_data.cc + ../../../../rcslib/src/cms/msg_to_encoded_data.cc + ../../src/cms/msg_to_encoded_data.hh + ../../../../rcslib/src/cms/msg_to_encoded_data.hh + ../../src/cms/msghdr.h + ../../../../rcslib/src/cms/msghdr.h + ../../src/cms/msghdr_no_config.h + ../../src/cms/nml.cc + ../../../../rcslib/src/cms/nml.cc + ../../src/cms/nml.hh + ../../../../rcslib/src/cms/nml.hh + ../../src/cms/nmlGetRemoteTcpServerBufferInfo.cc + ../../src/cms/nmlGetRemoteTcpServerBufferList.cc + ../../src/cms/nml_c_data.hh + ../../../../rcslib/src/cms/nml_c_data.hh + ../../src/cms/nml_no_config.h + ../../src/cms/nml_packed_file_to_csv.cc + ../../src/cms/nml_srv.cc + ../../../../rcslib/src/cms/nml_srv.cc + ../../src/cms/nml_srv.hh + ../../../../rcslib/src/cms/nml_srv.hh + ../../src/cms/nml_srv_no_config.h + ../../src/cms/nmlbbdtest.cc + ../../src/cms/nmlcfg.cc + ../../src/cms/nmlcfgsvr.cc + ../../src/cms/nmlcfgsvr_clntcalls.cc + ../../../../rcslib/src/cms/nmlcfgsvr_clntcalls.cc + ../../src/cms/nmlcfgsvr_clntcalls.hh + ../../../../rcslib/src/cms/nmlcfgsvr_clntcalls.hh + ../../src/cms/nmlcfgsvr_clntcalls_no_config.h + ../../src/cms/nmlcfgsvr_no_config.h + ../../src/cms/nmlclean.cc + ../../src/cms/nmlcms_c.cc + ../../../../rcslib/src/cms/nmlcms_c.cc + ../../src/cms/nmlcms_c.h + ../../../../rcslib/src/cms/nmlcms_c.h + ../../src/cms/nmldiag.cc + ../../src/cms/nmlmacros.h + ../../../../rcslib/src/cms/nmlmacros.h + ../../src/cms/nmlmsg.cc + ../../../../rcslib/src/cms/nmlmsg.cc + ../../src/cms/nmlmsg.hh + ../../../../rcslib/src/cms/nmlmsg.hh + ../../src/cms/nmlperf.cc + ../../src/cms/nmlpwd.cc + ../../src/cms/nmlqr.cc + ../../../../rcslib/src/cms/nmlqr.cc + ../../src/cms/nmlqr.hh + ../../../../rcslib/src/cms/nmlqr.hh + ../../src/cms/nmlset.cc + ../../../../rcslib/src/cms/nmlset.cc + ../../src/cms/nmlset.hh + ../../../../rcslib/src/cms/nmlset.hh + ../../src/cms/nmlsizes.cc + ../../src/cms/nmltest.cc + ../../../../rcslib/src/cms/nmltest.cc + ../../src/cms/nmlwatch.cc + ../../src/cms/nmlwatch.h + ../../src/cms/ntohhton.hh + ../../../../rcslib/src/cms/ntohhton.hh + ../../src/cms/oedsto.cc + ../../src/cms/oemem.cc + ../../src/cms/oemque.cc + ../../src/cms/perfsvr.cc + ../../src/cms/perftype.cc + ../../src/cms/phantom.cc + ../../src/cms/physmem.cc + ../../../../rcslib/src/cms/physmem.cc + ../../src/cms/physmem.hh + ../../../../rcslib/src/cms/physmem.hh + ../../src/cms/physmem_no_config.h + ../../src/cms/posemath_c_n.c + ../../../../rcslib/src/cms/posemath_c_n.c + ../../src/cms/posemath_c_n.h + ../../../../rcslib/src/cms/posemath_c_n.h + ../../src/cms/readn.h + ../../src/cms/recvline.c + ../../../../rcslib/src/cms/recvline.c + ../../src/cms/recvline.h + ../../../../rcslib/src/cms/recvline.h + ../../src/cms/recvline_no_config.h + ../../src/cms/recvmsgt.c + ../../../../rcslib/src/cms/recvmsgt.c + ../../src/cms/recvmsgt.h + ../../../../rcslib/src/cms/recvmsgt.h + ../../src/cms/recvmsgt_no_config.h + ../../src/cms/recvn.c + ../../../../rcslib/src/cms/recvn.c + ../../src/cms/recvn.h + ../../../../rcslib/src/cms/recvn.h + ../../src/cms/recvn_no_config.h + ../../src/cms/rem_msg.hh + ../../../../rcslib/src/cms/rem_msg.hh + ../../src/cms/rtai_kernel_api_implement.c + ../../src/cms/rtai_user_api_implement.c + ../../src/cms/rtl_rtai_common_api.h + ../../src/cms/rtlinux_kernel_api_implement.c + ../../src/cms/rtlinux_user_api_implement.c + ../../src/cms/rtlmb.c + ../../src/cms/rtlmem.cc + ../../src/cms/rtlnml.c + ../../src/cms/rtlnml.h + ../../src/cms/rtlrtai_shm.h + ../../src/cms/sendline.c + ../../../../rcslib/src/cms/sendline.c + ../../src/cms/sendline.h + ../../../../rcslib/src/cms/sendline.h + ../../src/cms/sendmsgt.c + ../../../../rcslib/src/cms/sendmsgt.c + ../../src/cms/sendmsgt.h + ../../../../rcslib/src/cms/sendmsgt.h + ../../src/cms/sendmsgt_no_config.h + ../../src/cms/sendn.c + ../../../../rcslib/src/cms/sendn.c + ../../src/cms/sendn.h + ../../../../rcslib/src/cms/sendn.h + ../../src/cms/sendn_no_config.h + ../../src/cms/shmem.cc + ../../../../rcslib/src/cms/shmem.cc + ../../src/cms/shmem.hh + ../../../../rcslib/src/cms/shmem.hh + ../../src/cms/shmem_no_config.h + ../../src/cms/sockdefs.h + ../../src/cms/sokintrf.c + ../../../../rcslib/src/cms/sokintrf.c + ../../src/cms/sokintrf.h + ../../../../rcslib/src/cms/sokintrf.h + ../../src/cms/sokintrf_no_config.h + ../../src/cms/spinlock.c + ../../src/cms/spinlock.h + ../../src/cms/stcpmem.cc + ../../../../rcslib/src/cms/stcpmem.cc + ../../src/cms/stcpmem.hh + ../../../../rcslib/src/cms/stcpmem.hh + ../../src/cms/stcpmem_no_config.h + ../../src/cms/stcpopts.cc + ../../../../rcslib/src/cms/stcpopts.cc + ../../src/cms/stcpopts.hh + ../../../../rcslib/src/cms/stcpopts.hh + ../../src/cms/stcpopts_no_config.h + ../../src/cms/stcpsvr.cc + ../../../../rcslib/src/cms/stcpsvr.cc + ../../src/cms/stcpsvr.hh + ../../../../rcslib/src/cms/stcpsvr.hh + ../../src/cms/stcpsvr_no_config.h + ../../src/cms/tcp_opts.cc + ../../../../rcslib/src/cms/tcp_opts.cc + ../../src/cms/tcp_opts.hh + ../../../../rcslib/src/cms/tcp_opts.hh + ../../src/cms/tcp_srv.cc + ../../../../rcslib/src/cms/tcp_srv.cc + ../../src/cms/tcp_srv.hh + ../../../../rcslib/src/cms/tcp_srv.hh + ../../src/cms/tcp_srv_no_config.h + ../../src/cms/tcpmem.cc + ../../../../rcslib/src/cms/tcpmem.cc + ../../src/cms/tcpmem.hh + ../../../../rcslib/src/cms/tcpmem.hh + ../../src/cms/tcpmem_no_config.h + ../../src/cms/tcpopts_no_config.h + ../../src/cms/tcpproxy.cc + ../../src/cms/tcpproxy_no_config.h + ../../src/cms/tty_srv.cc + ../../../../rcslib/src/cms/tty_srv.cc + ../../src/cms/tty_srv.hh + ../../../../rcslib/src/cms/tty_srv.hh + ../../src/cms/tty_srv_no_config.h + ../../src/cms/ttyintf.c + ../../../../rcslib/src/cms/ttyintf.c + ../../src/cms/ttyintf.h + ../../../../rcslib/src/cms/ttyintf.h + ../../src/cms/ttyintf_no_config.h + ../../src/cms/ttymem.cc + ../../../../rcslib/src/cms/ttymem.cc + ../../src/cms/ttymem.hh + ../../../../rcslib/src/cms/ttymem.hh + ../../src/cms/ttytest.c + ../../src/cms/udp_opts.cc + ../../../../rcslib/src/cms/udp_opts.cc + ../../src/cms/udp_opts.hh + ../../../../rcslib/src/cms/udp_opts.hh + ../../src/cms/udp_opts_no_config.h + ../../src/cms/udp_srv.cc + ../../../../rcslib/src/cms/udp_srv.cc + ../../src/cms/udp_srv.hh + ../../../../rcslib/src/cms/udp_srv.hh + ../../src/cms/udp_srv_no_config.h + ../../src/cms/udpmem.cc + ../../../../rcslib/src/cms/udpmem.cc + ../../src/cms/udpmem.hh + ../../../../rcslib/src/cms/udpmem.hh + ../../src/cms/udpmem_no_config.h + ../../src/cms/xml_up_internal_types.h + + + ../../src/node/cmd_msg.cc + ../../../../rcslib/src/node/cmd_msg.cc + ../../src/node/cmd_msg.hh + ../../../../rcslib/src/node/cmd_msg.hh + ../../src/node/nml_mod.cc + ../../../../rcslib/src/node/nml_mod.cc + ../../src/node/nml_mod.hh + ../../../../rcslib/src/node/nml_mod.hh + ../../src/node/nml_mod_no_config.h + ../../src/node/nml_oi.cc + ../../../../rcslib/src/node/nml_oi.cc + ../../src/node/nml_oi.hh + ../../../../rcslib/src/node/nml_oi.hh + ../../src/node/stat_msg.cc + ../../../../rcslib/src/node/stat_msg.cc + ../../src/node/stat_msg.hh + ../../../../rcslib/src/node/stat_msg.hh + ../../src/node/stat_msg_v2.hh + ../../../../rcslib/src/node/stat_msg_v2.hh + ../../src/node/stat_msg_v2_c_n.c + ../../src/node/stat_msg_v2_c_n.h + ../../src/node/stat_msg_v2_n.cc + ../../../../rcslib/src/node/stat_msg_v2_n.cc + ../../../../rcslib/src/node/stat_msg_v2_n_codegen_protos.hh + ../../src/node/timetracker.cc + ../../../../rcslib/src/node/timetracker.cc + ../../src/node/timetracker.hh + ../../../../rcslib/src/node/timetracker.hh + ../../src/node/timetracker_c_n.c + ../../../../rcslib/src/node/timetracker_c_n.c + ../../src/node/timetracker_c_n.h + ../../../../rcslib/src/node/timetracker_c_n.h + ../../src/node/timetracker_n.cc + ../../../../rcslib/src/node/timetracker_n.cc + ../../src/node/wm_msg.cc + + + ../../src/nt_xdr/bcopy.c + ../../src/nt_xdr/bcopy.h + ../../src/nt_xdr/xdr.c + ../../src/nt_xdr/xdr.h + ../../src/nt_xdr/xdr_arra.c + ../../src/nt_xdr/xdr_floa.c + ../../src/nt_xdr/xdr_mem.c + ../../src/nt_xdr/xdr_mem_no_config.h + ../../src/nt_xdr/xdr_rec.c + ../../src/nt_xdr/xdr_rec_no_config.h + ../../src/nt_xdr/xdr_refe.c + ../../src/nt_xdr/xdr_stdi.c + ../../src/nt_xdr/xdrtypes.h + + + ../../src/os_intf/_inifile.c + ../../../../rcslib/src/os_intf/_inifile.c + ../../src/os_intf/_sem.c + ../../src/os_intf/_sem.h + ../../../../rcslib/src/os_intf/_sem.h + ../../src/os_intf/_shm.c + ../../../../rcslib/src/os_intf/_shm.c + ../../src/os_intf/_shm.h + ../../../../rcslib/src/os_intf/_shm.h + ../../src/os_intf/_shm_no_config.h + ../../src/os_intf/_table.c + ../../src/os_intf/_table.h + ../../src/os_intf/_timer.c + ../../../../rcslib/src/os_intf/_timer.c + ../../src/os_intf/_timer.h + ../../../../rcslib/src/os_intf/_timer.h + ../../src/os_intf/_timer_no_config.h + ../../src/os_intf/dbg_mem.cc + ../../src/os_intf/dbg_mem.h + ../../../../rcslib/src/os_intf/dbg_mem.h + ../../src/os_intf/fileops.c + ../../src/os_intf/fileops.h + ../../src/os_intf/gtimer.cc + ../../src/os_intf/inetfile.cc + ../../src/os_intf/inetfile.hh + ../../../../rcslib/src/os_intf/inetfile.hh + ../../src/os_intf/inetfile_no_config.h + ../../src/os_intf/inetnull.cc + ../../../../rcslib/src/os_intf/inetnull.cc + ../../src/os_intf/inettest.c + ../../src/os_intf/inifile.cc + ../../../../rcslib/src/os_intf/inifile.cc + ../../src/os_intf/inifile.h + ../../../../rcslib/src/os_intf/inifile.h + ../../src/os_intf/inifile_test.cc + ../../src/os_intf/posix_sem_unlink.c + ../../src/os_intf/posix_shm_unlink.c + ../../src/os_intf/rcs_exit.cc + ../../src/os_intf/rcs_mnmxtotal.hh + ../../../../rcslib/src/os_intf/rcs_mnmxtotal.hh + ../../src/os_intf/sem.cc + ../../../../rcslib/src/os_intf/sem.cc + ../../src/os_intf/sem.hh + ../../../../rcslib/src/os_intf/sem.hh + ../../src/os_intf/shm.cc + ../../../../rcslib/src/os_intf/shm.cc + ../../src/os_intf/shm.hh + ../../../../rcslib/src/os_intf/shm.hh + ../../src/os_intf/shm_no_config.h + ../../src/os_intf/table.cc + ../../src/os_intf/tesleep.cc + ../../src/os_intf/testsem.cc + ../../src/os_intf/testshm.cc + ../../src/os_intf/timer.cc + ../../../../rcslib/src/os_intf/timer.cc + ../../src/os_intf/timer.hh + ../../../../rcslib/src/os_intf/timer.hh + ../../src/os_intf/timer_no_config.h + ../../src/os_intf/timetest.cc + ../../src/os_intf/ttytest.cc + ../../src/os_intf/unix_sem.c + ../../../../rcslib/src/os_intf/unix_sem.c + ../../src/os_intf/unix_sem_no_config.h + ../../src/os_intf/vxnewdel.cc + ../../src/os_intf/vxworks_sem.c + ../../src/os_intf/win32_sem.c + ../../src/os_intf/winver.cc + + + ../../src/posemath/_mathprnt.c + ../../../../rcslib/src/posemath/_mathprnt.c + ../../src/posemath/_posemath.c + ../../../../rcslib/src/posemath/_posemath.c + ../../src/posemath/circutil.c + ../../src/posemath/mathprnt.cc + ../../../../rcslib/src/posemath/mathprnt.cc + ../../src/posemath/mathprnt.h + ../../../../rcslib/src/posemath/mathprnt.h + ../../src/posemath/matrpy_test.cc + ../../src/posemath/posemath.cc + ../../../../rcslib/src/posemath/posemath.cc + ../../src/posemath/posemath.h + ../../../../rcslib/src/posemath/posemath.h + ../../src/posemath/sincos.c + ../../../../rcslib/src/posemath/sincos.c + ../../src/posemath/sincos.h + ../../../../rcslib/src/posemath/sincos.h + ../../src/posemath/testcirc.c + ../../src/posemath/testpmc.c + ../../src/posemath/testpmcpp.cc + + + ../../src/print/printest.cc + ../../src/print/rcs_prnt.cc + ../../../../rcslib/src/print/rcs_prnt.cc + ../../src/print/rcs_prnt.hh + ../../../../rcslib/src/print/rcs_prnt.hh + ../../src/print/rcs_prnt_no_config.h + ../../src/print/sepwords.cc + ../../../../rcslib/src/print/sepwords.cc + ../../src/print/win_prnt.cc + + + ../../src/stg_clss/linklist.cc + ../../../../rcslib/src/stg_clss/linklist.cc + ../../src/stg_clss/linklist.hh + ../../../../rcslib/src/stg_clss/linklist.hh + ../../src/stg_clss/linklist_no_config.h + + + + ../../src/test/NML_XML_TEST/myconf.h + ../../src/test/NML_XML_TEST/myconf_n.cc + ../../src/test/NML_XML_TEST/readconf.cc + ../../src/test/NML_XML_TEST/writeconf.cc + + + ../../src/test/NML_XML_TEST_2/clock_n.cc + ../../src/test/NML_XML_TEST_2/readserver.cc + ../../src/test/NML_XML_TEST_2/server.cc + + + ../../src/test/uba_tests/nml_unbounded_array_test_msg.hh + ../../src/test/uba_tests/nml_unbounded_array_test_msg_n.cc + ../../src/test/uba_tests/nml_unbounded_array_test_read.cc + ../../src/test/uba_tests/nml_unbounded_array_test_svr.cc + ../../src/test/uba_tests/nml_unbounded_array_test_write.cc + + ../../src/test/cgtester_n.cc + ../../src/test/clock.hh + ../../src/test/clock_n.cc + ../../src/test/echo_types.hh + ../../src/test/echo_types_c_n.c + ../../src/test/echo_types_c_n.h + ../../src/test/echo_types_n.cc + ../../src/test/httpnml_test.cc + ../../src/test/myconf.h + ../../src/test/myconf_n.cc + ../../src/test/nml_ex1.cc + ../../src/test/nml_get_diag.cc + ../../src/test/nml_get_type.cc + ../../src/test/nml_test_bitwise_op_read.cc + ../../src/test/nml_test_bitwise_op_write.cc + ../../src/test/nml_test_blocking_read.cc + ../../src/test/nml_test_clear.cc + ../../src/test/nml_test_dl_read.cc + ../../src/test/nml_test_dl_read_packed_file.cc + ../../src/test/nml_test_dl_write.cc + ../../src/test/nml_test_dl_write_packed_file.cc + ../../src/test/nml_test_format.hh + ../../src/test/nml_test_format_c_n.c + ../../src/test/nml_test_format_c_n.h + ../../src/test/nml_test_format_n.cc + ../../src/test/nml_test_get_is_clear.cc + ../../src/test/nml_test_get_msg_count.cc + ../../src/test/nml_test_get_queue_length.cc + ../../src/test/nml_test_get_read_count.cc + ../../src/test/nml_test_getvar.cc + ../../src/test/nml_test_nmlset.cc + ../../src/test/nml_test_qr_client.cc + ../../src/test/nml_test_qr_server.cc + ../../src/test/nml_test_read.cc + ../../src/test/nml_test_read_c.c + ../../src/test/nml_test_server.cc + ../../src/test/nml_test_server_c.c + ../../src/test/nml_test_sizes.cc + ../../src/test/nml_test_wait_for_clear.cc + ../../src/test/nml_test_wait_for_queue_length_over.cc + ../../src/test/nml_test_wait_for_queue_length_under.cc + ../../src/test/nml_test_wait_for_read.cc + ../../src/test/nml_test_wait_for_write.cc + ../../src/test/nml_test_write.cc + ../../src/test/nml_test_write_c.c + ../../src/test/nmltestblockingread.cc + ../../src/test/otherheader.hh + ../../src/test/otherheader_c_n.c + ../../src/test/otherheader_c_n.h + ../../src/test/otherheader_n.cc + ../../src/test/print_test_sizes.cc + ../../src/test/readconf.cc + ../../src/test/testcommon.cc + ../../src/test/testcommon.h + ../../src/test/testrcslib.cc + ../../src/test/vx_nml_test_read.cc + ../../src/test/vx_nml_test_write.cc + ../../src/test/vx_test_cycle_high_priority.c + ../../src/test/writeconf.cc + ../../src/test/xml_timeserver.cc + + ../../src/_sem.h + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/_timer.h + ../../src/_timer.h + ../../src/cmd_msg.hh + ../../src/cms.hh + ../../src/cms_cfg.hh + ../../src/cms_datetime.hh + ../../src/cms_enum_info.h + ../../src/cms_srv.hh + ../../src/cms_types.hh + ../../src/cms_user.hh + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/dbg_mem.h + ../../src/dbg_mem.h + ../../src/inifile.h + ../../src/linklist.hh + ../../src/nml.hh + ../../src/nml_mod.hh + ../../src/nml_oi.hh + ../../src/nml_srv.hh + ../../src/nmlcms_c.h + ../../src/nmlmacros.h + ../../src/nmlmsg.hh + ../../src/nmlqr.hh + ../../src/posemath.h + ../../src/posemath_c_n.h + ../../src/rcs.hh + ../../../../rcslib/src/rcs.hh + ../../src/rcs_config_include.h + ../../../../rcslib/src/rcs_config_include.h + ../../src/rcs_config_win.h + ../../src/rcs_defs.hh + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/rcs_defs.hh + ../../../../rcslib/src/rcs_defs.hh + ../../src/rcs_mnmxtotal.hh + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/rcs_prnt.hh + ../../src/rcs_prnt.hh + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/rcs_svn_vers.hh + ../../src/rcs_svn_vers.hh + ../../../../rcslib/src/rcs_svn_vers.hh + ../../src/rcsvers.c + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/rcsvers.c + ../../../../rcslib/src/rcsvers.c + ../../src/rcsvers.hh + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_/src/rcsvers.hh + ../../../../rcslib/src/rcsvers.hh + ../../src/sem.hh + ../../src/shm.hh + ../../src/stat_msg.hh + ../../src/stat_msg_v2.hh + ../../src/timer.hh + ../../src/timetracker.hh + ../../src/timetracker_c_n.h + + + ../../../../rcslib/src/test/check_test_unbounded_msg.cc + ../../../../rcslib/src/test/check_test_unbounded_msg.hh + ../../../../rcslib/src/test/echo_types.hh + ../../../../rcslib/src/test/echo_types_n.cc + ../../../../rcslib/src/test/echo_types_n_codegen_protos.hh + ../../../../rcslib/src/test/nml_check_if_read.cc + ../../../../rcslib/src/test/nml_get_type.cc + ../../../../rcslib/src/test/nml_peek_errlog.cc + ../../../../rcslib/src/test/nml_read_errlog.cc + ../../../../rcslib/src/test/nml_test_blocking_read.cc + ../../../../rcslib/src/test/nml_test_clear.cc + ../../../../rcslib/src/test/nml_test_dl_read.cc + ../../../../rcslib/src/test/nml_test_dl_read_packed_file.cc + ../../../../rcslib/src/test/nml_test_dl_write.cc + ../../../../rcslib/src/test/nml_test_dl_write_packed_file.cc + ../../../../rcslib/src/test/nml_test_format.hh + ../../../../rcslib/src/test/nml_test_format_c_n.c + ../../../../rcslib/src/test/nml_test_format_c_n.h + ../../../../rcslib/src/test/nml_test_format_n.cc + ../../../../rcslib/src/test/nml_test_format_n_codegen_protos.hh + ../../../../rcslib/src/test/nml_test_get_is_clear.cc + ../../../../rcslib/src/test/nml_test_get_msg_count.cc + ../../../../rcslib/src/test/nml_test_get_msg_type.cc + ../../../../rcslib/src/test/nml_test_get_queue_length.cc + ../../../../rcslib/src/test/nml_test_get_read_count.cc + ../../../../rcslib/src/test/nml_test_getvar.cc + ../../../../rcslib/src/test/nml_test_nmlset.cc + ../../../../rcslib/src/test/nml_test_qr_client.cc + ../../../../rcslib/src/test/nml_test_qr_nml_svr.cc + ../../../../rcslib/src/test/nml_test_qr_server.cc + ../../../../rcslib/src/test/nml_test_read.cc + ../../../../rcslib/src/test/nml_test_read_c.c + ../../../../rcslib/src/test/nml_test_server.cc + ../../../../rcslib/src/test/nml_test_server_c.c + ../../../../rcslib/src/test/nml_test_single_process_queue_test.cc + ../../../../rcslib/src/test/nml_test_sizes.cc + ../../../../rcslib/src/test/nml_test_unbounded_format.hh + ../../../../rcslib/src/test/nml_test_unbounded_format_n.cc + ../../../../rcslib/src/test/nml_test_unbounded_format_n_codegen_protos.hh + ../../../../rcslib/src/test/nml_test_unbounded_read.cc + ../../../../rcslib/src/test/nml_test_unbounded_server.cc + ../../../../rcslib/src/test/nml_test_unbounded_write.cc + ../../../../rcslib/src/test/nml_test_wait_for_clear.cc + ../../../../rcslib/src/test/nml_test_wait_for_queue_length_over.cc + ../../../../rcslib/src/test/nml_test_wait_for_queue_length_under.cc + ../../../../rcslib/src/test/nml_test_wait_for_read.cc + ../../../../rcslib/src/test/nml_test_wait_for_write.cc + ../../../../rcslib/src/test/nml_test_write.cc + ../../../../rcslib/src/test/nml_test_write_c.c + ../../../../rcslib/src/test/otherheader.hh + ../../../../rcslib/src/test/otherheader_c_n.c + ../../../../rcslib/src/test/otherheader_c_n.h + ../../../../rcslib/src/test/otherheader_n.cc + ../../../../rcslib/src/test/otherheader_n_codegen_protos.hh + ../../../../rcslib/src/test/print_test_sizes.cc + + + ../../src/Makefile + librcs_cxx-Makefile.mk + + + + ../../src + + librcs_cxx-Makefile.mk + + + + GNU|GNU + false + false + + + + + + + + + ../../src + make -f Makefile CXXFLAGS="-g3 -gdwarf-2" CFLAGS="-g3 -gdwarf-2" LDFLAGS="-Wl,--build-id" + make -f Makefile clean + + + + HAVE_CONFIG_H + + + + + HAVE_CONFIG_H + + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../lastconfig + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/cms + ../../src/node + ../../src/posemath + + + HAVE_CONFIG_H=1 + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../src/print + ../../src/cms + ../../src + ../../src/posemath + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_ + + false + false + + DISABLE_RCS_DEBUG_PRINT=1 + HAVE_CONFIG_H=1 + + false + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + XML_SCHEMA_TO_HEADER + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../src/print + ../../src/cms + ../../src + ../../src/stg_clss + ../../src/posemath + ../../.multiplatbuilds/Linux/2_6_23_1_42_fc8/i686/GLIBC_2_7/gcc_version_4_1_2_20070925__Red_Hat_4_1_2_33_ + ../../src/os_intf + + false + false + + DISABLE_RCS_DEBUG_PRINT=1 + HAVE_CONFIG_H=1 + + false + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + XML_SCHEMA_TO_HEADER + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + XML_SCHEMA_TO_HEADER + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + PIC + + + + + + + ../../../shackle_home/rcslib/.multiplatbuilds/Linux/3_2_0_53_generic/x86_64/GLIBC_2_15/gcc_version_4_6_3__Ubuntu_Linaro_4_6_3_1ubuntu5_ + ../.. + ../../src + ../../src/os_intf + ../../src/print + ../../src/stg_clss + ../../src/posemath + ../../src/cms + ../../src/node + ../../last_config + + + DISABLE_RCS_DEBUG_PRINT + XML_SCHEMA_TO_HEADER + + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + + ../../include + ../../src/test/uba_tests + + false + false + false + + + + + + ../../include + ../../src/test/uba_tests + + false + false + false + + + + + + ../../include + ../../src/test/uba_tests + + false + false + false + + + + + + ../../include + ../../src/test + + false + false + false + + + + + diff --git a/NetBeans/librcs_cxx/nbproject/project.properties b/NetBeans/librcs_cxx/nbproject/project.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/librcs_cxx/nbproject/project.xml b/NetBeans/librcs_cxx/nbproject/project.xml new file mode 100644 index 0000000..2af9256 --- /dev/null +++ b/NetBeans/librcs_cxx/nbproject/project.xml @@ -0,0 +1,27 @@ + + + org.netbeans.modules.cnd.makeproject + + + librcs_cxx + 0 + c + cc + h,hh + UTF-8 + + + ../../src + + + + Default + 0 + + + + false + + + + diff --git a/NetBeans/rcsjava/SickNav200_NavPlot.csv b/NetBeans/rcsjava/SickNav200_NavPlot.csv new file mode 100644 index 0000000..e0cef60 --- /dev/null +++ b/NetBeans/rcsjava/SickNav200_NavPlot.csv @@ -0,0 +1,7288 @@ +timeStamp,x,y,yaw +0.000240,-3.551000,2.649000,-3.121171 +0.260360,-3.552000,2.647000,-3.121171 +0.260360,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.399282,-3.552000,2.647000,-3.121171 +0.659287,-3.551000,2.648000,-3.121363 +0.659287,-3.551000,2.648000,-3.121363 +0.789241,-3.552000,2.649000,-3.121267 +0.789241,-3.552000,2.649000,-3.121267 +0.789241,-3.552000,2.649000,-3.121267 +0.789241,-3.552000,2.649000,-3.121267 +0.789241,-3.552000,2.649000,-3.121267 +0.789241,-3.552000,2.649000,-3.121267 +1.060221,-3.551000,2.649000,-3.121171 +1.060221,-3.551000,2.649000,-3.121171 +1.190375,-3.552000,2.649000,-3.121267 +1.190375,-3.552000,2.649000,-3.121267 +1.190375,-3.552000,2.649000,-3.121267 +1.190375,-3.552000,2.649000,-3.121267 +1.190375,-3.552000,2.649000,-3.121267 +1.190375,-3.552000,2.649000,-3.121267 +1.450196,-3.552000,2.647000,-3.121555 +1.450196,-3.552000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.580151,-3.553000,2.647000,-3.121555 +1.849353,-3.553000,2.649000,-3.121171 +1.849353,-3.553000,2.649000,-3.121171 +1.980160,-3.553000,2.650000,-3.121267 +1.980160,-3.553000,2.650000,-3.121267 +1.980160,-3.553000,2.650000,-3.121267 +1.980160,-3.553000,2.650000,-3.121267 +1.980160,-3.553000,2.650000,-3.121267 +1.980160,-3.553000,2.650000,-3.121267 +2.240244,-3.550000,2.650000,-3.121363 +2.240244,-3.550000,2.650000,-3.121363 +2.369123,-3.550000,2.648000,-3.121459 +2.369123,-3.550000,2.648000,-3.121459 +2.509575,-3.550000,2.648000,-3.121363 +2.509575,-3.550000,2.648000,-3.121363 +2.509575,-3.550000,2.648000,-3.121363 +2.509575,-3.550000,2.648000,-3.121363 +2.641182,-3.552000,2.647000,-3.121171 +2.641182,-3.552000,2.647000,-3.121171 +2.769093,-3.552000,2.647000,-3.121267 +2.769093,-3.552000,2.647000,-3.121267 +2.899095,-3.552000,2.648000,-3.121363 +2.899095,-3.552000,2.648000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.029094,-3.551000,2.650000,-3.121363 +3.300070,-3.551000,2.650000,-3.121363 +3.300070,-3.551000,2.650000,-3.121363 +3.430047,-3.551000,2.650000,-3.121171 +3.430047,-3.551000,2.650000,-3.121171 +3.430047,-3.551000,2.650000,-3.121171 +3.430047,-3.551000,2.650000,-3.121171 +3.560053,-3.552000,2.647000,-3.121171 +3.560053,-3.552000,2.647000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.690010,-3.552000,2.648000,-3.121171 +3.959031,-3.553000,2.648000,-3.121171 +3.959031,-3.553000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.090069,-3.552000,2.648000,-3.121171 +4.349960,-3.552000,2.648000,-3.121075 +4.349960,-3.552000,2.648000,-3.121075 +4.489965,-3.552000,2.647000,-3.121171 +4.489965,-3.552000,2.647000,-3.121171 +4.489965,-3.552000,2.647000,-3.121171 +4.489965,-3.552000,2.647000,-3.121171 +4.489965,-3.552000,2.647000,-3.121171 +4.489965,-3.552000,2.647000,-3.121171 +4.748978,-3.553000,2.650000,-3.121459 +4.748978,-3.553000,2.650000,-3.121459 +4.748978,-3.553000,2.650000,-3.121459 +4.748978,-3.553000,2.650000,-3.121459 +4.748978,-3.553000,2.650000,-3.121459 +5.010306,-3.554000,2.652000,-3.121267 +5.010306,-3.554000,2.652000,-3.121267 +5.010306,-3.554000,2.652000,-3.121267 +5.010306,-3.554000,2.652000,-3.121267 +5.148913,-3.551000,2.652000,-3.121075 +5.148913,-3.551000,2.652000,-3.121075 +5.148913,-3.551000,2.652000,-3.121075 +5.280140,-3.551000,2.651000,-3.120980 +5.280140,-3.551000,2.651000,-3.120980 +5.280140,-3.551000,2.651000,-3.120980 +5.409917,-3.551000,2.650000,-3.121267 +5.409917,-3.551000,2.650000,-3.121267 +5.409917,-3.551000,2.650000,-3.121267 +5.409917,-3.551000,2.650000,-3.121267 +5.539902,-3.553000,2.650000,-3.121363 +5.539902,-3.553000,2.650000,-3.121363 +5.669923,-3.553000,2.649000,-3.121363 +5.669923,-3.553000,2.649000,-3.121363 +5.669923,-3.553000,2.649000,-3.121363 +5.799911,-3.554000,2.649000,-3.121267 +5.799911,-3.554000,2.649000,-3.121267 +5.799911,-3.554000,2.649000,-3.121267 +5.799911,-3.554000,2.649000,-3.121267 +5.939887,-3.554000,2.650000,-3.121171 +5.939887,-3.554000,2.650000,-3.121171 +6.069892,-3.552000,2.649000,-3.121171 +6.069892,-3.552000,2.649000,-3.121171 +6.069892,-3.552000,2.649000,-3.121171 +6.199826,-3.552000,2.649000,-3.121267 +6.199826,-3.552000,2.649000,-3.121267 +6.329822,-3.552000,2.649000,-3.121363 +6.329822,-3.552000,2.649000,-3.121363 +6.329822,-3.552000,2.649000,-3.121363 +6.329822,-3.552000,2.649000,-3.121363 +6.459881,-3.552000,2.648000,-3.121363 +6.459881,-3.552000,2.648000,-3.121363 +6.459881,-3.552000,2.648000,-3.121363 +6.599832,-3.555000,2.648000,-3.121267 +6.599832,-3.555000,2.648000,-3.121267 +6.729862,-3.555000,2.649000,-3.121075 +6.729862,-3.555000,2.649000,-3.121075 +6.729862,-3.555000,2.649000,-3.121075 +6.729862,-3.555000,2.649000,-3.121075 +6.858850,-3.555000,2.650000,-3.121267 +6.858850,-3.555000,2.650000,-3.121267 +6.990113,-3.555000,2.651000,-3.121363 +6.990113,-3.555000,2.651000,-3.121363 +7.118765,-3.552000,2.651000,-3.121459 +7.118765,-3.552000,2.651000,-3.121459 +7.118765,-3.552000,2.651000,-3.121459 +7.118765,-3.552000,2.651000,-3.121459 +7.249781,-3.552000,2.650000,-3.121555 +7.249781,-3.552000,2.650000,-3.121555 +7.388812,-3.551000,2.650000,-3.121459 +7.388812,-3.551000,2.650000,-3.121459 +7.519761,-3.552000,2.649000,-3.121267 +7.519761,-3.552000,2.649000,-3.121267 +7.519761,-3.552000,2.649000,-3.121267 +7.519761,-3.552000,2.649000,-3.121267 +7.649722,-3.553000,2.648000,-3.121171 +7.649722,-3.553000,2.648000,-3.121171 +7.649722,-3.553000,2.648000,-3.121171 +7.649722,-3.553000,2.648000,-3.121171 +7.919766,-3.552000,2.649000,-3.121267 +7.919766,-3.552000,2.649000,-3.121267 +7.919766,-3.552000,2.649000,-3.121267 +7.919766,-3.552000,2.649000,-3.121267 +8.049756,-3.552000,2.650000,-3.121363 +8.049756,-3.552000,2.650000,-3.121363 +8.049756,-3.552000,2.650000,-3.121363 +8.049756,-3.552000,2.650000,-3.121363 +8.309733,-3.552000,2.649000,-3.121267 +8.309733,-3.552000,2.649000,-3.121267 +8.309733,-3.552000,2.649000,-3.121267 +8.309733,-3.552000,2.649000,-3.121267 +8.438732,-3.553000,2.647000,-3.121075 +8.438732,-3.553000,2.647000,-3.121075 +8.438732,-3.553000,2.647000,-3.121075 +8.438732,-3.553000,2.647000,-3.121075 +8.708795,-3.552000,2.647000,-3.121075 +8.708795,-3.552000,2.647000,-3.121075 +8.708795,-3.552000,2.647000,-3.121075 +8.708795,-3.552000,2.647000,-3.121075 +8.838699,-3.552000,2.646000,-3.121171 +8.838699,-3.552000,2.646000,-3.121171 +8.968700,-3.552000,2.647000,-3.121267 +8.968700,-3.552000,2.647000,-3.121267 +9.099701,-3.553000,2.647000,-3.121363 +9.099701,-3.553000,2.647000,-3.121363 +9.230250,-3.555000,2.647000,-3.121267 +9.230250,-3.555000,2.647000,-3.121267 +9.230250,-3.555000,2.647000,-3.121267 +9.230250,-3.555000,2.647000,-3.121267 +9.359660,-3.553000,2.649000,-3.121171 +9.359660,-3.553000,2.649000,-3.121171 +9.498606,-3.553000,2.649000,-3.121171 +9.498606,-3.553000,2.649000,-3.121171 +9.628616,-3.552000,2.649000,-3.121171 +9.628616,-3.552000,2.649000,-3.121171 +9.628616,-3.552000,2.649000,-3.121171 +9.628616,-3.552000,2.649000,-3.121171 +9.758644,-3.551000,2.650000,-3.121267 +9.758644,-3.551000,2.650000,-3.121267 +9.888637,-3.553000,2.650000,-3.121363 +9.888637,-3.553000,2.650000,-3.121363 +10.018642,-3.553000,2.651000,-3.121363 +10.018642,-3.553000,2.651000,-3.121363 +10.018642,-3.553000,2.651000,-3.121363 +10.018642,-3.553000,2.651000,-3.121363 +10.158617,-3.553000,2.652000,-3.121363 +10.158617,-3.553000,2.652000,-3.121363 +10.288609,-3.553000,2.652000,-3.121267 +10.288609,-3.553000,2.652000,-3.121267 +10.418766,-3.552000,2.650000,-3.121267 +10.418766,-3.552000,2.650000,-3.121267 +10.418766,-3.552000,2.650000,-3.121267 +10.418766,-3.552000,2.650000,-3.121267 +10.549589,-3.552000,2.649000,-3.121267 +10.549589,-3.552000,2.649000,-3.121267 +10.549589,-3.552000,2.649000,-3.121267 +10.679582,-3.552000,2.649000,-3.121267 +10.679582,-3.552000,2.649000,-3.121267 +10.819572,-3.552000,2.649000,-3.121171 +10.819572,-3.552000,2.649000,-3.121171 +10.819572,-3.552000,2.649000,-3.121171 +10.819572,-3.552000,2.649000,-3.121171 +10.949574,-3.552000,2.651000,-3.121171 +10.949574,-3.552000,2.651000,-3.121171 +11.079612,-3.551000,2.652000,-3.121171 +11.079612,-3.551000,2.652000,-3.121171 +11.208549,-3.551000,2.651000,-3.121171 +11.208549,-3.551000,2.651000,-3.121171 +11.208549,-3.551000,2.651000,-3.121171 +11.208549,-3.551000,2.651000,-3.121171 +11.338538,-3.552000,2.650000,-3.121267 +11.338538,-3.552000,2.650000,-3.121267 +11.478532,-3.552000,2.649000,-3.121267 +11.478532,-3.552000,2.649000,-3.121267 +11.609522,-3.553000,2.649000,-3.121363 +11.609522,-3.553000,2.649000,-3.121363 +11.609522,-3.553000,2.649000,-3.121363 +11.609522,-3.553000,2.649000,-3.121363 +11.739525,-3.553000,2.649000,-3.121171 +11.739525,-3.553000,2.649000,-3.121171 +11.739525,-3.553000,2.649000,-3.121171 +11.739525,-3.553000,2.649000,-3.121171 +11.999500,-3.553000,2.648000,-3.121171 +11.999500,-3.553000,2.648000,-3.121171 +11.999500,-3.553000,2.648000,-3.121171 +11.999500,-3.553000,2.648000,-3.121171 +12.139484,-3.554000,2.648000,-3.121075 +12.139484,-3.554000,2.648000,-3.121075 +12.139484,-3.554000,2.648000,-3.121075 +12.139484,-3.554000,2.648000,-3.121075 +12.398562,-3.554000,2.650000,-3.121363 +12.398562,-3.554000,2.650000,-3.121363 +12.529490,-3.555000,2.650000,-3.121363 +12.529490,-3.555000,2.650000,-3.121363 +12.529490,-3.555000,2.650000,-3.121363 +12.529490,-3.555000,2.650000,-3.121363 +12.658465,-3.555000,2.650000,-3.121459 +12.658465,-3.555000,2.650000,-3.121459 +12.798443,-3.553000,2.650000,-3.121555 +12.798443,-3.553000,2.650000,-3.121555 +12.929476,-3.553000,2.650000,-3.121555 +12.929476,-3.553000,2.650000,-3.121555 +12.929476,-3.553000,2.650000,-3.121555 +12.929476,-3.553000,2.650000,-3.121555 +13.058614,-3.553000,2.650000,-3.121555 +13.058614,-3.553000,2.650000,-3.121555 +13.189429,-3.552000,2.651000,-3.121459 +13.189429,-3.552000,2.651000,-3.121459 +13.319414,-3.552000,2.650000,-3.121267 +13.319414,-3.552000,2.650000,-3.121267 +13.319414,-3.552000,2.650000,-3.121267 +13.319414,-3.552000,2.650000,-3.121267 +13.448408,-3.553000,2.650000,-3.121171 +13.448408,-3.553000,2.650000,-3.121171 +13.448408,-3.553000,2.650000,-3.121171 +13.589355,-3.552000,2.649000,-3.121171 +13.589355,-3.552000,2.649000,-3.121171 +13.719396,-3.552000,2.650000,-3.121267 +13.719396,-3.552000,2.650000,-3.121267 +13.719396,-3.552000,2.650000,-3.121267 +13.719396,-3.552000,2.650000,-3.121267 +13.848392,-3.552000,2.651000,-3.121363 +13.848392,-3.552000,2.651000,-3.121363 +13.979634,-3.551000,2.651000,-3.121459 +13.979634,-3.551000,2.651000,-3.121459 +14.108359,-3.550000,2.651000,-3.121267 +14.108359,-3.550000,2.651000,-3.121267 +14.108359,-3.550000,2.651000,-3.121267 +14.108359,-3.550000,2.651000,-3.121267 +14.248368,-3.552000,2.649000,-3.121075 +14.248368,-3.552000,2.649000,-3.121075 +14.379338,-3.552000,2.648000,-3.120980 +14.379338,-3.552000,2.648000,-3.120980 +14.509369,-3.551000,2.647000,-3.121075 +14.509369,-3.551000,2.647000,-3.121075 +14.638539,-3.550000,2.648000,-3.121171 +14.638539,-3.550000,2.648000,-3.121171 +14.638539,-3.550000,2.648000,-3.121171 +14.638539,-3.550000,2.648000,-3.121171 +14.768766,-3.550000,2.648000,-3.121267 +14.768766,-3.550000,2.648000,-3.121267 +14.768766,-3.550000,2.648000,-3.121267 +14.768766,-3.550000,2.648000,-3.121267 +15.038380,-3.551000,2.649000,-3.121267 +15.038380,-3.551000,2.649000,-3.121267 +15.038380,-3.551000,2.649000,-3.121267 +15.038380,-3.551000,2.649000,-3.121267 +15.169297,-3.552000,2.648000,-3.121075 +15.169297,-3.552000,2.648000,-3.121075 +15.299283,-3.552000,2.648000,-3.121075 +15.299283,-3.552000,2.648000,-3.121075 +15.428307,-3.550000,2.650000,-3.121171 +15.428307,-3.550000,2.650000,-3.121171 +15.428307,-3.550000,2.650000,-3.121171 +15.428307,-3.550000,2.650000,-3.121171 +15.560270,-3.551000,2.650000,-3.121267 +15.560270,-3.551000,2.650000,-3.121267 +15.699260,-3.552000,2.650000,-3.121363 +15.699260,-3.552000,2.650000,-3.121363 +15.829254,-3.553000,2.650000,-3.121363 +15.829254,-3.553000,2.650000,-3.121363 +15.829254,-3.553000,2.650000,-3.121363 +15.829254,-3.553000,2.650000,-3.121363 +15.959245,-3.553000,2.649000,-3.121267 +15.959245,-3.553000,2.649000,-3.121267 +16.089242,-3.553000,2.648000,-3.121171 +16.089242,-3.553000,2.648000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.218224,-3.551000,2.647000,-3.121171 +16.489214,-3.553000,2.648000,-3.121363 +16.489214,-3.553000,2.648000,-3.121363 +16.618188,-3.554000,2.649000,-3.121171 +16.618188,-3.554000,2.649000,-3.121171 +16.618188,-3.554000,2.649000,-3.121171 +16.748200,-3.554000,2.650000,-3.121267 +16.748200,-3.554000,2.650000,-3.121267 +16.748200,-3.554000,2.650000,-3.121267 +16.748200,-3.554000,2.650000,-3.121267 +16.748200,-3.554000,2.650000,-3.121267 +16.878176,-3.552000,2.649000,-3.121171 +16.878176,-3.552000,2.649000,-3.121171 +17.019175,-3.552000,2.649000,-3.121075 +17.019175,-3.552000,2.649000,-3.121075 +17.148190,-3.552000,2.650000,-3.121267 +17.148190,-3.552000,2.650000,-3.121267 +17.148190,-3.552000,2.650000,-3.121267 +17.148190,-3.552000,2.650000,-3.121267 +17.279173,-3.553000,2.649000,-3.121267 +17.279173,-3.553000,2.649000,-3.121267 +17.409106,-3.554000,2.649000,-3.121267 +17.409106,-3.554000,2.649000,-3.121267 +17.538267,-3.556000,2.650000,-3.121267 +17.538267,-3.556000,2.650000,-3.121267 +17.538267,-3.556000,2.650000,-3.121267 +17.538267,-3.556000,2.650000,-3.121267 +17.669133,-3.555000,2.648000,-3.121075 +17.669133,-3.555000,2.648000,-3.121075 +17.809199,-3.556000,2.648000,-3.121171 +17.809199,-3.556000,2.648000,-3.121171 +17.809199,-3.556000,2.648000,-3.121171 +17.940116,-3.555000,2.649000,-3.121171 +17.940116,-3.555000,2.649000,-3.121171 +17.940116,-3.555000,2.649000,-3.121171 +17.940116,-3.555000,2.649000,-3.121171 +17.940116,-3.555000,2.649000,-3.121171 +18.068095,-3.552000,2.650000,-3.121171 +18.068095,-3.552000,2.650000,-3.121171 +18.198096,-3.551000,2.652000,-3.121267 +18.198096,-3.551000,2.652000,-3.121267 +18.329206,-3.551000,2.650000,-3.121075 +18.329206,-3.551000,2.650000,-3.121075 +18.329206,-3.551000,2.650000,-3.121075 +18.329206,-3.551000,2.650000,-3.121075 +18.329206,-3.551000,2.650000,-3.121075 +18.468161,-3.552000,2.650000,-3.121075 +18.468161,-3.552000,2.650000,-3.121075 +18.599269,-3.553000,2.649000,-3.121075 +18.599269,-3.553000,2.649000,-3.121075 +18.728060,-3.553000,2.648000,-3.121171 +18.728060,-3.553000,2.648000,-3.121171 +18.728060,-3.553000,2.648000,-3.121171 +18.728060,-3.553000,2.648000,-3.121171 +18.728060,-3.553000,2.648000,-3.121171 +18.728060,-3.553000,2.648000,-3.121171 +18.858994,-3.552000,2.650000,-3.121267 +18.858994,-3.552000,2.650000,-3.121267 +18.989157,-3.552000,2.649000,-3.121363 +18.989157,-3.552000,2.649000,-3.121363 +19.128030,-3.553000,2.648000,-3.121267 +19.128030,-3.553000,2.648000,-3.121267 +19.128030,-3.553000,2.648000,-3.121267 +19.128030,-3.553000,2.648000,-3.121267 +19.128030,-3.553000,2.648000,-3.121267 +19.259030,-3.553000,2.649000,-3.121171 +19.259030,-3.553000,2.649000,-3.121171 +19.388014,-3.553000,2.648000,-3.120980 +19.388014,-3.553000,2.648000,-3.120980 +19.388014,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.519007,-3.553000,2.648000,-3.120980 +19.788018,-3.554000,2.647000,-3.121267 +19.788018,-3.554000,2.647000,-3.121267 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +19.917981,-3.554000,2.647000,-3.121363 +20.177943,-3.553000,2.649000,-3.121075 +20.310901,-3.552000,2.649000,-3.120980 +20.310901,-3.552000,2.649000,-3.120980 +20.310901,-3.552000,2.649000,-3.120980 +20.310901,-3.552000,2.649000,-3.120980 +20.310901,-3.552000,2.649000,-3.120980 +20.310901,-3.552000,2.649000,-3.120980 +20.579024,-3.552000,2.649000,-3.121171 +20.579024,-3.552000,2.649000,-3.121171 +20.708877,-3.552000,2.651000,-3.121363 +20.708877,-3.552000,2.651000,-3.121363 +20.837916,-3.552000,2.652000,-3.121459 +20.837916,-3.552000,2.652000,-3.121459 +20.837916,-3.552000,2.652000,-3.121459 +20.837916,-3.552000,2.652000,-3.121459 +20.967892,-3.551000,2.652000,-3.121267 +20.967892,-3.551000,2.652000,-3.121267 +21.098907,-3.552000,2.649000,-3.121075 +21.098907,-3.552000,2.649000,-3.121075 +21.098907,-3.552000,2.649000,-3.121075 +21.098907,-3.552000,2.649000,-3.121075 +21.098907,-3.552000,2.649000,-3.121075 +21.098907,-3.552000,2.649000,-3.121075 +21.368885,-3.552000,2.649000,-3.121075 +21.368885,-3.552000,2.649000,-3.121075 +21.497901,-3.552000,2.649000,-3.121171 +21.497901,-3.552000,2.649000,-3.121171 +21.497901,-3.552000,2.649000,-3.121171 +21.497901,-3.552000,2.649000,-3.121171 +21.497901,-3.552000,2.649000,-3.121171 +21.497901,-3.552000,2.649000,-3.121171 +21.757868,-3.554000,2.648000,-3.121171 +21.757868,-3.554000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +21.898831,-3.553000,2.648000,-3.121171 +22.157846,-3.551000,2.649000,-3.121171 +22.157846,-3.551000,2.649000,-3.121171 +22.287878,-3.551000,2.650000,-3.121267 +22.287878,-3.551000,2.650000,-3.121267 +22.287878,-3.551000,2.650000,-3.121267 +22.287878,-3.551000,2.650000,-3.121267 +22.547810,-3.552000,2.647000,-3.120980 +22.547810,-3.552000,2.647000,-3.120980 +22.547810,-3.552000,2.647000,-3.120980 +22.547810,-3.552000,2.647000,-3.120980 +22.688933,-3.553000,2.647000,-3.120980 +22.688933,-3.553000,2.647000,-3.120980 +22.688933,-3.553000,2.647000,-3.120980 +22.688933,-3.553000,2.647000,-3.120980 +22.947791,-3.553000,2.648000,-3.121075 +22.947791,-3.553000,2.648000,-3.121075 +22.947791,-3.553000,2.648000,-3.121075 +22.947791,-3.553000,2.648000,-3.121075 +23.077867,-3.553000,2.649000,-3.121267 +23.077867,-3.553000,2.649000,-3.121267 +23.208741,-3.553000,2.649000,-3.121267 +23.208741,-3.553000,2.649000,-3.121267 +23.347753,-3.554000,2.649000,-3.121075 +23.347753,-3.554000,2.649000,-3.121075 +23.347753,-3.554000,2.649000,-3.121075 +23.347753,-3.554000,2.649000,-3.121075 +23.477845,-3.555000,2.649000,-3.121075 +23.477845,-3.555000,2.649000,-3.121075 +23.607743,-3.554000,2.648000,-3.121171 +23.607743,-3.554000,2.648000,-3.121171 +23.738729,-3.553000,2.649000,-3.121171 +23.738729,-3.553000,2.649000,-3.121171 +23.738729,-3.553000,2.649000,-3.121171 +23.738729,-3.553000,2.649000,-3.121171 +23.867837,-3.552000,2.649000,-3.121363 +23.867837,-3.552000,2.649000,-3.121363 +24.008672,-3.553000,2.648000,-3.121363 +24.008672,-3.553000,2.648000,-3.121363 +24.137697,-3.554000,2.648000,-3.121171 +24.137697,-3.554000,2.648000,-3.121171 +24.137697,-3.554000,2.648000,-3.121171 +24.137697,-3.554000,2.648000,-3.121171 +24.267774,-3.555000,2.647000,-3.120980 +24.267774,-3.555000,2.647000,-3.120980 +24.397684,-3.555000,2.648000,-3.121075 +24.397684,-3.555000,2.648000,-3.121075 +24.529688,-3.553000,2.649000,-3.121171 +24.529688,-3.553000,2.649000,-3.121171 +24.529688,-3.553000,2.649000,-3.121171 +24.529688,-3.553000,2.649000,-3.121171 +24.667765,-3.554000,2.650000,-3.121267 +24.667765,-3.554000,2.650000,-3.121267 +24.797634,-3.553000,2.651000,-3.121555 +24.797634,-3.553000,2.651000,-3.121555 +24.797634,-3.553000,2.651000,-3.121555 +24.797634,-3.553000,2.651000,-3.121555 +24.797634,-3.553000,2.651000,-3.121555 +24.797634,-3.553000,2.651000,-3.121555 +25.058743,-3.553000,2.650000,-3.121171 +25.058743,-3.553000,2.650000,-3.121171 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.187636,-3.552000,2.648000,-3.120980 +25.458580,-3.553000,2.648000,-3.121171 +25.458580,-3.553000,2.648000,-3.121171 +25.588624,-3.554000,2.649000,-3.121363 +25.588624,-3.554000,2.649000,-3.121363 +25.588624,-3.554000,2.649000,-3.121363 +25.588624,-3.554000,2.649000,-3.121363 +25.850017,-3.553000,2.648000,-3.121363 +25.850017,-3.553000,2.648000,-3.121363 +25.850017,-3.553000,2.648000,-3.121363 +25.850017,-3.553000,2.648000,-3.121363 +25.977585,-3.552000,2.647000,-3.121075 +25.977585,-3.552000,2.647000,-3.121075 +25.977585,-3.552000,2.647000,-3.121075 +25.977585,-3.552000,2.647000,-3.121075 +26.249606,-3.554000,2.649000,-3.121171 +26.249606,-3.554000,2.649000,-3.121171 +26.249606,-3.554000,2.649000,-3.121171 +26.249606,-3.554000,2.649000,-3.121171 +26.377559,-3.553000,2.648000,-3.121267 +26.377559,-3.553000,2.648000,-3.121267 +26.377559,-3.553000,2.648000,-3.121267 +26.377559,-3.553000,2.648000,-3.121267 +26.637584,-3.552000,2.650000,-3.121267 +26.637584,-3.552000,2.650000,-3.121267 +26.637584,-3.552000,2.650000,-3.121267 +26.637584,-3.552000,2.650000,-3.121267 +26.777525,-3.550000,2.649000,-3.121075 +26.777525,-3.550000,2.649000,-3.121075 +26.777525,-3.550000,2.649000,-3.121075 +26.777525,-3.550000,2.649000,-3.121075 +27.037592,-3.550000,2.649000,-3.120980 +27.037592,-3.550000,2.649000,-3.120980 +27.037592,-3.550000,2.649000,-3.120980 +27.037592,-3.550000,2.649000,-3.120980 +27.167502,-3.551000,2.648000,-3.121075 +27.167502,-3.551000,2.648000,-3.121075 +27.297495,-3.551000,2.648000,-3.121171 +27.297495,-3.551000,2.648000,-3.121171 +27.437517,-3.552000,2.649000,-3.121171 +27.437517,-3.552000,2.649000,-3.121171 +27.437517,-3.552000,2.649000,-3.121171 +27.437517,-3.552000,2.649000,-3.121171 +27.568473,-3.552000,2.649000,-3.121267 +27.568473,-3.552000,2.649000,-3.121267 +27.697503,-3.553000,2.648000,-3.121267 +27.697503,-3.553000,2.648000,-3.121267 +27.828465,-3.552000,2.649000,-3.121075 +27.828465,-3.552000,2.649000,-3.121075 +27.828465,-3.552000,2.649000,-3.121075 +27.828465,-3.552000,2.649000,-3.121075 +27.958449,-3.552000,2.647000,-3.121075 +27.958449,-3.552000,2.647000,-3.121075 +28.099345,-3.551000,2.648000,-3.121075 +28.099345,-3.551000,2.648000,-3.121075 +28.227459,-3.550000,2.649000,-3.121075 +28.227459,-3.550000,2.649000,-3.121075 +28.227459,-3.550000,2.649000,-3.121075 +28.227459,-3.550000,2.649000,-3.121075 +28.357417,-3.551000,2.650000,-3.121075 +28.357417,-3.551000,2.650000,-3.121075 +28.488410,-3.551000,2.651000,-3.121075 +28.488410,-3.551000,2.651000,-3.121075 +28.618435,-3.552000,2.651000,-3.121075 +28.618435,-3.552000,2.651000,-3.121075 +28.748413,-3.552000,2.649000,-3.120980 +28.748413,-3.552000,2.649000,-3.120980 +28.748413,-3.552000,2.649000,-3.120980 +28.748413,-3.552000,2.649000,-3.120980 +28.887498,-3.552000,2.647000,-3.121075 +28.887498,-3.552000,2.647000,-3.121075 +29.017376,-3.552000,2.647000,-3.121171 +29.017376,-3.552000,2.647000,-3.121171 +29.148361,-3.553000,2.647000,-3.121171 +29.148361,-3.553000,2.647000,-3.121171 +29.148361,-3.553000,2.647000,-3.121171 +29.148361,-3.553000,2.647000,-3.121171 +29.277331,-3.553000,2.648000,-3.121075 +29.277331,-3.553000,2.648000,-3.121075 +29.277331,-3.553000,2.648000,-3.121075 +29.277331,-3.553000,2.648000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.547350,-3.553000,2.650000,-3.121075 +29.678348,-3.552000,2.649000,-3.121075 +29.678348,-3.552000,2.649000,-3.121075 +29.937329,-3.552000,2.651000,-3.121363 +29.937329,-3.552000,2.651000,-3.121363 +29.937329,-3.552000,2.651000,-3.121363 +29.937329,-3.552000,2.651000,-3.121363 +30.067271,-3.552000,2.651000,-3.121267 +30.067271,-3.552000,2.651000,-3.121267 +30.067271,-3.552000,2.651000,-3.121267 +30.067271,-3.552000,2.651000,-3.121267 +30.338312,-3.553000,2.651000,-3.121267 +30.338312,-3.553000,2.651000,-3.121267 +30.338312,-3.553000,2.651000,-3.121267 +30.467255,-3.553000,2.650000,-3.121267 +30.467255,-3.553000,2.650000,-3.121267 +30.467255,-3.553000,2.650000,-3.121267 +30.467255,-3.553000,2.650000,-3.121267 +30.467255,-3.553000,2.650000,-3.121267 +30.727274,-3.551000,2.648000,-3.121363 +30.727274,-3.551000,2.648000,-3.121363 +30.727274,-3.551000,2.648000,-3.121363 +30.727274,-3.551000,2.648000,-3.121363 +30.867268,-3.552000,2.648000,-3.121363 +30.867268,-3.552000,2.648000,-3.121363 +30.998308,-3.553000,2.650000,-3.121267 +30.998308,-3.553000,2.650000,-3.121267 +31.128334,-3.553000,2.649000,-3.121075 +31.128334,-3.553000,2.649000,-3.121075 +31.258190,-3.554000,2.650000,-3.121171 +31.258190,-3.554000,2.650000,-3.121171 +31.258190,-3.554000,2.650000,-3.121171 +31.258190,-3.554000,2.650000,-3.121171 +31.387229,-3.553000,2.649000,-3.121267 +31.387229,-3.553000,2.649000,-3.121267 +31.524223,-3.552000,2.648000,-3.121171 +31.524223,-3.552000,2.648000,-3.121171 +31.657213,-3.551000,2.649000,-3.121363 +31.657213,-3.551000,2.649000,-3.121363 +31.657213,-3.551000,2.649000,-3.121363 +31.657213,-3.551000,2.649000,-3.121363 +31.657213,-3.551000,2.649000,-3.121363 +31.787234,-3.551000,2.648000,-3.121171 +31.787234,-3.551000,2.648000,-3.121171 +31.917285,-3.552000,2.648000,-3.121075 +31.917285,-3.552000,2.648000,-3.121075 +32.047148,-3.552000,2.648000,-3.121075 +32.047148,-3.552000,2.648000,-3.121075 +32.047148,-3.552000,2.648000,-3.121075 +32.047148,-3.552000,2.648000,-3.121075 +32.179326,-3.552000,2.648000,-3.121171 +32.179326,-3.552000,2.648000,-3.121171 +32.317208,-3.553000,2.649000,-3.121267 +32.317208,-3.553000,2.649000,-3.121267 +32.447456,-3.552000,2.650000,-3.121267 +32.447456,-3.552000,2.650000,-3.121267 +32.447456,-3.552000,2.650000,-3.121267 +32.447456,-3.552000,2.650000,-3.121267 +32.447456,-3.552000,2.650000,-3.121267 +32.577120,-3.552000,2.649000,-3.121171 +32.577120,-3.552000,2.649000,-3.121171 +32.707144,-3.552000,2.649000,-3.120980 +32.707144,-3.552000,2.649000,-3.120980 +32.707144,-3.552000,2.649000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.838153,-3.552000,2.648000,-3.120980 +32.977248,-3.551000,2.649000,-3.121075 +32.977248,-3.551000,2.649000,-3.121075 +33.107190,-3.550000,2.649000,-3.121171 +33.107190,-3.550000,2.649000,-3.121171 +33.107190,-3.550000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.238097,-3.551000,2.649000,-3.121171 +33.498129,-3.552000,2.648000,-3.121075 +33.498129,-3.552000,2.648000,-3.121075 +33.498129,-3.552000,2.648000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.627115,-3.553000,2.649000,-3.121075 +33.898082,-3.553000,2.649000,-3.121267 +33.898082,-3.553000,2.649000,-3.121267 +34.028078,-3.554000,2.649000,-3.121363 +34.028078,-3.554000,2.649000,-3.121363 +34.158666,-3.555000,2.648000,-3.121171 +34.158666,-3.555000,2.648000,-3.121171 +34.158666,-3.555000,2.648000,-3.121171 +34.158666,-3.555000,2.648000,-3.121171 +34.287054,-3.555000,2.648000,-3.121075 +34.287054,-3.555000,2.648000,-3.121075 +34.427038,-3.554000,2.648000,-3.121075 +34.427038,-3.554000,2.648000,-3.121075 +34.558089,-3.553000,2.647000,-3.120980 +34.558089,-3.553000,2.647000,-3.120980 +34.558089,-3.553000,2.647000,-3.120980 +34.558089,-3.553000,2.647000,-3.120980 +34.688031,-3.551000,2.647000,-3.121075 +34.688031,-3.551000,2.647000,-3.121075 +34.817234,-3.551000,2.647000,-3.121075 +34.817234,-3.551000,2.647000,-3.121075 +34.947068,-3.551000,2.649000,-3.121171 +34.947068,-3.551000,2.649000,-3.121171 +34.947068,-3.551000,2.649000,-3.121171 +34.947068,-3.551000,2.649000,-3.121171 +35.077013,-3.553000,2.650000,-3.121075 +35.077013,-3.553000,2.650000,-3.121075 +35.217080,-3.554000,2.650000,-3.121075 +35.217080,-3.554000,2.650000,-3.121075 +35.346935,-3.553000,2.650000,-3.121171 +35.346935,-3.553000,2.650000,-3.121171 +35.346935,-3.553000,2.650000,-3.121171 +35.346935,-3.553000,2.650000,-3.121171 +35.477035,-3.552000,2.651000,-3.121171 +35.477035,-3.552000,2.651000,-3.121171 +35.607112,-3.551000,2.652000,-3.121363 +35.607112,-3.551000,2.652000,-3.121363 +35.736960,-3.551000,2.652000,-3.121363 +35.736960,-3.551000,2.652000,-3.121363 +35.736960,-3.551000,2.652000,-3.121363 +35.736960,-3.551000,2.652000,-3.121363 +35.877941,-3.552000,2.652000,-3.121171 +35.877941,-3.552000,2.652000,-3.121171 +36.007910,-3.553000,2.650000,-3.121075 +36.007910,-3.553000,2.650000,-3.121075 +36.137905,-3.553000,2.648000,-3.120980 +36.137905,-3.553000,2.648000,-3.120980 +36.137905,-3.553000,2.648000,-3.120980 +36.137905,-3.553000,2.648000,-3.120980 +36.266930,-3.552000,2.649000,-3.121075 +36.266930,-3.552000,2.649000,-3.121075 +36.397926,-3.551000,2.651000,-3.121363 +36.397926,-3.551000,2.651000,-3.121363 +36.537937,-3.551000,2.651000,-3.121363 +36.537937,-3.551000,2.651000,-3.121363 +36.537937,-3.551000,2.651000,-3.121363 +36.537937,-3.551000,2.651000,-3.121363 +36.666844,-3.551000,2.651000,-3.121363 +36.666844,-3.551000,2.651000,-3.121363 +36.796888,-3.552000,2.649000,-3.121075 +36.796888,-3.552000,2.649000,-3.121075 +36.926874,-3.552000,2.646000,-3.120788 +36.926874,-3.552000,2.646000,-3.120788 +36.926874,-3.552000,2.646000,-3.120788 +36.926874,-3.552000,2.646000,-3.120788 +36.926874,-3.552000,2.646000,-3.120788 +36.926874,-3.552000,2.646000,-3.120788 +37.196850,-3.552000,2.646000,-3.120980 +37.196850,-3.552000,2.646000,-3.120980 +37.326848,-3.552000,2.648000,-3.121171 +37.326848,-3.552000,2.648000,-3.121171 +37.326848,-3.552000,2.648000,-3.121171 +37.326848,-3.552000,2.648000,-3.121171 +37.326848,-3.552000,2.648000,-3.121171 +37.326848,-3.552000,2.648000,-3.121171 +37.587823,-3.553000,2.648000,-3.121171 +37.587823,-3.553000,2.648000,-3.121171 +37.717807,-3.552000,2.648000,-3.120980 +37.717807,-3.552000,2.648000,-3.120980 +37.847789,-3.553000,2.647000,-3.120980 +37.847789,-3.553000,2.647000,-3.120980 +37.847789,-3.553000,2.647000,-3.120980 +37.847789,-3.553000,2.647000,-3.120980 +37.988509,-3.552000,2.649000,-3.121075 +37.988509,-3.552000,2.649000,-3.121075 +38.117797,-3.552000,2.651000,-3.121363 +38.117797,-3.552000,2.651000,-3.121363 +38.247798,-3.553000,2.652000,-3.121459 +38.247798,-3.553000,2.652000,-3.121459 +38.247798,-3.553000,2.652000,-3.121459 +38.247798,-3.553000,2.652000,-3.121459 +38.377769,-3.553000,2.652000,-3.121459 +38.377769,-3.553000,2.652000,-3.121459 +38.507773,-3.553000,2.651000,-3.121267 +38.507773,-3.553000,2.651000,-3.121267 +38.647562,-3.552000,2.650000,-3.121075 +38.647562,-3.552000,2.650000,-3.121075 +38.647562,-3.552000,2.650000,-3.121075 +38.647562,-3.552000,2.650000,-3.121075 +38.776748,-3.551000,2.650000,-3.121075 +38.776748,-3.551000,2.650000,-3.121075 +38.906855,-3.550000,2.649000,-3.121075 +38.906855,-3.550000,2.649000,-3.121075 +39.036731,-3.550000,2.649000,-3.121171 +39.036731,-3.550000,2.649000,-3.121171 +39.036731,-3.550000,2.649000,-3.121171 +39.036731,-3.550000,2.649000,-3.121171 +39.036731,-3.550000,2.649000,-3.121171 +39.166759,-3.551000,2.648000,-3.121171 +39.166759,-3.551000,2.648000,-3.121171 +39.308674,-3.551000,2.649000,-3.121171 +39.308674,-3.551000,2.649000,-3.121171 +39.436702,-3.553000,2.650000,-3.121171 +39.436702,-3.553000,2.650000,-3.121171 +39.436702,-3.553000,2.650000,-3.121171 +39.436702,-3.553000,2.650000,-3.121171 +39.436702,-3.553000,2.650000,-3.121171 +39.566697,-3.553000,2.650000,-3.121075 +39.566697,-3.553000,2.650000,-3.121075 +39.697671,-3.553000,2.650000,-3.121075 +39.697671,-3.553000,2.650000,-3.121075 +39.827675,-3.553000,2.649000,-3.121267 +39.827675,-3.553000,2.649000,-3.121267 +39.827675,-3.553000,2.649000,-3.121267 +39.827675,-3.553000,2.649000,-3.121267 +39.967681,-3.552000,2.649000,-3.121267 +39.967681,-3.552000,2.649000,-3.121267 +40.097783,-3.553000,2.650000,-3.121171 +40.097783,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.227744,-3.553000,2.650000,-3.121171 +40.487680,-3.552000,2.649000,-3.120980 +40.487680,-3.552000,2.649000,-3.120980 +40.616695,-3.552000,2.648000,-3.121075 +40.616695,-3.552000,2.648000,-3.121075 +40.616695,-3.552000,2.648000,-3.121075 +40.616695,-3.552000,2.648000,-3.121075 +40.616695,-3.552000,2.648000,-3.121075 +40.616695,-3.552000,2.648000,-3.121075 +40.886616,-3.551000,2.650000,-3.121171 +40.886616,-3.551000,2.650000,-3.121171 +41.016708,-3.552000,2.649000,-3.121075 +41.016708,-3.552000,2.649000,-3.121075 +41.016708,-3.552000,2.649000,-3.121075 +41.016708,-3.552000,2.649000,-3.121075 +41.016708,-3.552000,2.649000,-3.121075 +41.016708,-3.552000,2.649000,-3.121075 +41.276543,-3.553000,2.649000,-3.121171 +41.276543,-3.553000,2.649000,-3.121171 +41.417580,-3.553000,2.648000,-3.121171 +41.417580,-3.553000,2.648000,-3.121171 +41.547766,-3.552000,2.647000,-3.121267 +41.547766,-3.552000,2.647000,-3.121267 +41.547766,-3.552000,2.647000,-3.121267 +41.547766,-3.552000,2.647000,-3.121267 +41.677766,-3.553000,2.647000,-3.121075 +41.677766,-3.553000,2.647000,-3.121075 +41.807754,-3.553000,2.647000,-3.120980 +41.807754,-3.553000,2.647000,-3.120980 +41.937540,-3.553000,2.647000,-3.120980 +41.937540,-3.553000,2.647000,-3.120980 +41.937540,-3.553000,2.647000,-3.120980 +41.937540,-3.553000,2.647000,-3.120980 +42.076547,-3.552000,2.648000,-3.121075 +42.076547,-3.552000,2.648000,-3.121075 +42.207748,-3.552000,2.649000,-3.121267 +42.207748,-3.552000,2.649000,-3.121267 +42.337703,-3.552000,2.648000,-3.121363 +42.337703,-3.552000,2.648000,-3.121363 +42.466734,-3.552000,2.648000,-3.121363 +42.466734,-3.552000,2.648000,-3.121363 +42.466734,-3.552000,2.648000,-3.121363 +42.466734,-3.552000,2.648000,-3.121363 +42.596511,-3.552000,2.649000,-3.121075 +42.596511,-3.552000,2.649000,-3.121075 +42.737489,-3.552000,2.648000,-3.120884 +42.737489,-3.552000,2.648000,-3.120884 +42.737489,-3.552000,2.648000,-3.120884 +42.737489,-3.552000,2.648000,-3.120884 +42.737489,-3.552000,2.648000,-3.120884 +42.737489,-3.552000,2.648000,-3.120884 +42.997473,-3.553000,2.649000,-3.121171 +42.997473,-3.553000,2.649000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.127420,-3.553000,2.648000,-3.121171 +43.396476,-3.554000,2.648000,-3.121267 +43.396476,-3.554000,2.648000,-3.121267 +43.527434,-3.554000,2.648000,-3.121075 +43.527434,-3.554000,2.648000,-3.121075 +43.527434,-3.554000,2.648000,-3.121075 +43.527434,-3.554000,2.648000,-3.121075 +43.527434,-3.554000,2.648000,-3.121075 +43.527434,-3.554000,2.648000,-3.121075 +43.786379,-3.553000,2.650000,-3.121267 +43.786379,-3.553000,2.650000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +43.917415,-3.551000,2.649000,-3.121267 +44.186381,-3.551000,2.649000,-3.121363 +44.186381,-3.551000,2.649000,-3.121363 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.316382,-3.552000,2.649000,-3.121267 +44.576370,-3.553000,2.651000,-3.121171 +44.576370,-3.553000,2.651000,-3.121171 +44.706360,-3.554000,2.650000,-3.121267 +44.706360,-3.554000,2.650000,-3.121267 +44.706360,-3.554000,2.650000,-3.121267 +44.706360,-3.554000,2.650000,-3.121267 +44.706360,-3.554000,2.650000,-3.121267 +44.706360,-3.554000,2.650000,-3.121267 +44.977370,-3.552000,2.650000,-3.121267 +44.977370,-3.552000,2.650000,-3.121267 +45.106337,-3.555000,2.649000,-3.121363 +45.106337,-3.555000,2.649000,-3.121363 +45.237281,-3.554000,2.648000,-3.121171 +45.237281,-3.554000,2.648000,-3.121171 +45.366323,-3.554000,2.649000,-3.121075 +45.366323,-3.554000,2.649000,-3.121075 +45.366323,-3.554000,2.649000,-3.121075 +45.366323,-3.554000,2.649000,-3.121075 +45.496331,-3.554000,2.648000,-3.121171 +45.496331,-3.554000,2.648000,-3.121171 +45.636287,-3.552000,2.649000,-3.121171 +45.636287,-3.552000,2.649000,-3.121171 +45.766364,-3.551000,2.650000,-3.121171 +45.766364,-3.551000,2.650000,-3.121171 +45.766364,-3.551000,2.650000,-3.121171 +45.766364,-3.551000,2.650000,-3.121171 +45.897279,-3.551000,2.649000,-3.121075 +45.897279,-3.551000,2.649000,-3.121075 +46.026529,-3.552000,2.649000,-3.120980 +46.026529,-3.552000,2.649000,-3.120980 +46.026529,-3.552000,2.649000,-3.120980 +46.026529,-3.552000,2.649000,-3.120980 +46.026529,-3.552000,2.649000,-3.120980 +46.168243,-3.553000,2.648000,-3.120980 +46.168243,-3.553000,2.648000,-3.120980 +46.296251,-3.553000,2.648000,-3.120884 +46.296251,-3.553000,2.648000,-3.120884 +46.426246,-3.552000,2.648000,-3.121075 +46.426246,-3.552000,2.648000,-3.121075 +46.426246,-3.552000,2.648000,-3.121075 +46.426246,-3.552000,2.648000,-3.121075 +46.426246,-3.552000,2.648000,-3.121075 +46.426246,-3.552000,2.648000,-3.121075 +46.686222,-3.553000,2.648000,-3.121267 +46.686222,-3.553000,2.648000,-3.121267 +46.817231,-3.554000,2.647000,-3.121075 +46.817231,-3.554000,2.647000,-3.121075 +46.817231,-3.554000,2.647000,-3.121075 +46.817231,-3.554000,2.647000,-3.121075 +46.817231,-3.554000,2.647000,-3.121075 +46.817231,-3.554000,2.647000,-3.121075 +47.087194,-3.554000,2.650000,-3.121171 +47.087194,-3.554000,2.650000,-3.121171 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.217322,-3.552000,2.651000,-3.121075 +47.477134,-3.550000,2.652000,-3.121363 +47.477134,-3.550000,2.652000,-3.121363 +47.477134,-3.550000,2.652000,-3.121363 +47.477134,-3.550000,2.652000,-3.121363 +47.747147,-3.553000,2.648000,-3.121075 +47.747147,-3.553000,2.648000,-3.121075 +47.747147,-3.553000,2.648000,-3.121075 +47.747147,-3.553000,2.648000,-3.121075 +47.877116,-3.553000,2.650000,-3.121171 +47.877116,-3.553000,2.650000,-3.121171 +48.006125,-3.553000,2.650000,-3.121267 +48.006125,-3.553000,2.650000,-3.121267 +48.136126,-3.553000,2.650000,-3.121267 +48.136126,-3.553000,2.650000,-3.121267 +48.268120,-3.552000,2.651000,-3.121555 +48.268120,-3.552000,2.651000,-3.121555 +48.268120,-3.552000,2.651000,-3.121555 +48.268120,-3.552000,2.651000,-3.121555 +48.407093,-3.552000,2.650000,-3.121459 +48.407093,-3.552000,2.650000,-3.121459 +48.536074,-3.553000,2.649000,-3.121171 +48.536074,-3.553000,2.649000,-3.121171 +48.668109,-3.553000,2.648000,-3.120980 +48.668109,-3.553000,2.648000,-3.120980 +48.668109,-3.553000,2.648000,-3.120980 +48.668109,-3.553000,2.648000,-3.120980 +48.796363,-3.553000,2.647000,-3.120980 +48.796363,-3.553000,2.647000,-3.120980 +48.926044,-3.552000,2.648000,-3.121075 +48.926044,-3.552000,2.648000,-3.121075 +49.066063,-3.552000,2.648000,-3.121171 +49.066063,-3.552000,2.648000,-3.121171 +49.066063,-3.552000,2.648000,-3.121171 +49.066063,-3.552000,2.648000,-3.121171 +49.197053,-3.552000,2.650000,-3.121363 +49.197053,-3.552000,2.650000,-3.121363 +49.327053,-3.552000,2.650000,-3.121267 +49.327053,-3.552000,2.650000,-3.121267 +49.456042,-3.553000,2.649000,-3.121075 +49.456042,-3.553000,2.649000,-3.121075 +49.456042,-3.553000,2.649000,-3.121075 +49.456042,-3.553000,2.649000,-3.121075 +49.587035,-3.553000,2.649000,-3.121075 +49.587035,-3.553000,2.649000,-3.121075 +49.725999,-3.552000,2.647000,-3.120980 +49.725999,-3.552000,2.647000,-3.120980 +49.857002,-3.552000,2.648000,-3.121171 +49.857002,-3.552000,2.648000,-3.121171 +49.857002,-3.552000,2.648000,-3.121171 +49.857002,-3.552000,2.648000,-3.121171 +49.985990,-3.553000,2.649000,-3.121267 +49.985990,-3.553000,2.649000,-3.121267 +50.115999,-3.553000,2.650000,-3.121267 +50.115999,-3.553000,2.650000,-3.121267 +50.246964,-3.554000,2.649000,-3.121171 +50.246964,-3.554000,2.649000,-3.121171 +50.246964,-3.554000,2.649000,-3.121171 +50.246964,-3.554000,2.649000,-3.121171 +50.386971,-3.554000,2.649000,-3.121075 +50.386971,-3.554000,2.649000,-3.121075 +50.517026,-3.553000,2.649000,-3.121075 +50.517026,-3.553000,2.649000,-3.121075 +50.646952,-3.551000,2.650000,-3.121171 +50.646952,-3.551000,2.650000,-3.121171 +50.646952,-3.551000,2.650000,-3.121171 +50.646952,-3.551000,2.650000,-3.121171 +50.776974,-3.552000,2.651000,-3.121363 +50.776974,-3.552000,2.651000,-3.121363 +50.905944,-3.553000,2.653000,-3.121363 +50.905944,-3.553000,2.653000,-3.121363 +51.035911,-3.552000,2.653000,-3.121363 +51.035911,-3.552000,2.653000,-3.121363 +51.035911,-3.552000,2.653000,-3.121363 +51.035911,-3.552000,2.653000,-3.121363 +51.175925,-3.553000,2.652000,-3.121363 +51.175925,-3.553000,2.652000,-3.121363 +51.175925,-3.553000,2.652000,-3.121363 +51.175925,-3.553000,2.652000,-3.121363 +51.437904,-3.552000,2.652000,-3.121363 +51.437904,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.570612,-3.552000,2.652000,-3.121363 +51.829984,-3.552000,2.650000,-3.121075 +51.829984,-3.552000,2.650000,-3.121075 +51.958884,-3.551000,2.649000,-3.120980 +51.958884,-3.551000,2.649000,-3.120980 +51.958884,-3.551000,2.649000,-3.120980 +51.958884,-3.551000,2.649000,-3.120980 +52.099873,-3.552000,2.650000,-3.120980 +52.099873,-3.552000,2.650000,-3.120980 +52.099873,-3.552000,2.650000,-3.120980 +52.228932,-3.552000,2.650000,-3.121171 +52.228932,-3.552000,2.650000,-3.121171 +52.360854,-3.551000,2.650000,-3.121171 +52.360854,-3.551000,2.650000,-3.121171 +52.360854,-3.551000,2.650000,-3.121171 +52.360854,-3.551000,2.650000,-3.121171 +52.490868,-3.552000,2.649000,-3.121171 +52.490868,-3.552000,2.649000,-3.121171 +52.490868,-3.552000,2.649000,-3.121171 +52.622849,-3.552000,2.647000,-3.120884 +52.622849,-3.552000,2.647000,-3.120884 +52.753831,-3.552000,2.647000,-3.120980 +52.753831,-3.552000,2.647000,-3.120980 +52.753831,-3.552000,2.647000,-3.120980 +52.753831,-3.552000,2.647000,-3.120980 +52.883821,-3.553000,2.647000,-3.120980 +52.883821,-3.553000,2.647000,-3.120980 +52.883821,-3.553000,2.647000,-3.120980 +53.023812,-3.553000,2.649000,-3.121075 +53.023812,-3.553000,2.649000,-3.121075 +53.152855,-3.551000,2.650000,-3.121267 +53.152855,-3.551000,2.650000,-3.121267 +53.152855,-3.551000,2.650000,-3.121267 +53.152855,-3.551000,2.650000,-3.121267 +53.282793,-3.551000,2.649000,-3.121267 +53.282793,-3.551000,2.649000,-3.121267 +53.413779,-3.552000,2.649000,-3.121171 +53.413779,-3.552000,2.649000,-3.121171 +53.543786,-3.554000,2.649000,-3.121075 +53.543786,-3.554000,2.649000,-3.121075 +53.682737,-3.555000,2.648000,-3.121075 +53.682737,-3.555000,2.648000,-3.121075 +53.682737,-3.555000,2.648000,-3.121075 +53.682737,-3.555000,2.648000,-3.121075 +53.812766,-3.555000,2.649000,-3.121267 +53.812766,-3.555000,2.649000,-3.121267 +53.942775,-3.554000,2.649000,-3.121363 +53.942775,-3.554000,2.649000,-3.121363 +54.074123,-3.553000,2.649000,-3.121459 +54.074123,-3.553000,2.649000,-3.121459 +54.074123,-3.553000,2.649000,-3.121459 +54.074123,-3.553000,2.649000,-3.121459 +54.202739,-3.552000,2.648000,-3.121363 +54.202739,-3.552000,2.648000,-3.121363 +54.333700,-3.553000,2.647000,-3.121171 +54.333700,-3.553000,2.647000,-3.121171 +54.473783,-3.553000,2.647000,-3.120980 +54.473783,-3.553000,2.647000,-3.120980 +54.473783,-3.553000,2.647000,-3.120980 +54.473783,-3.553000,2.647000,-3.120980 +54.603711,-3.553000,2.648000,-3.121075 +54.603711,-3.553000,2.648000,-3.121075 +54.732743,-3.554000,2.649000,-3.121267 +54.732743,-3.554000,2.649000,-3.121267 +54.863732,-3.553000,2.651000,-3.121459 +54.863732,-3.553000,2.651000,-3.121459 +54.863732,-3.553000,2.651000,-3.121459 +54.863732,-3.553000,2.651000,-3.121459 +54.992723,-3.553000,2.651000,-3.121459 +54.992723,-3.553000,2.651000,-3.121459 +55.132681,-3.554000,2.649000,-3.121267 +55.132681,-3.554000,2.649000,-3.121267 +55.262681,-3.552000,2.649000,-3.121075 +55.262681,-3.552000,2.649000,-3.121075 +55.262681,-3.552000,2.649000,-3.121075 +55.262681,-3.552000,2.649000,-3.121075 +55.262681,-3.552000,2.649000,-3.121075 +55.523746,-3.552000,2.648000,-3.121075 +55.523746,-3.552000,2.648000,-3.121075 +55.652592,-3.552000,2.649000,-3.121267 +55.652592,-3.552000,2.649000,-3.121267 +55.652592,-3.552000,2.649000,-3.121267 +55.652592,-3.552000,2.649000,-3.121267 +55.652592,-3.552000,2.649000,-3.121267 +55.652592,-3.552000,2.649000,-3.121267 +55.922629,-3.553000,2.649000,-3.121363 +55.922629,-3.553000,2.649000,-3.121363 +56.052590,-3.553000,2.648000,-3.121171 +56.052590,-3.553000,2.648000,-3.121171 +56.183569,-3.553000,2.648000,-3.120980 +56.183569,-3.553000,2.648000,-3.120980 +56.183569,-3.553000,2.648000,-3.120980 +56.183569,-3.553000,2.648000,-3.120980 +56.312601,-3.552000,2.648000,-3.121075 +56.312601,-3.552000,2.648000,-3.121075 +56.457600,-3.551000,2.649000,-3.121075 +56.457600,-3.551000,2.649000,-3.121075 +56.583584,-3.549000,2.653000,-3.121171 +56.583584,-3.549000,2.653000,-3.121171 +56.583584,-3.549000,2.653000,-3.121171 +56.583584,-3.549000,2.653000,-3.121171 +56.583584,-3.549000,2.653000,-3.121171 +56.713581,-3.550000,2.653000,-3.121267 +56.713581,-3.550000,2.653000,-3.121267 +56.843563,-3.550000,2.654000,-3.121267 +56.843563,-3.550000,2.654000,-3.121267 +56.973558,-3.551000,2.654000,-3.121267 +56.973558,-3.551000,2.654000,-3.121267 +56.973558,-3.551000,2.654000,-3.121267 +56.973558,-3.551000,2.654000,-3.121267 +57.102551,-3.552000,2.653000,-3.121171 +57.102551,-3.552000,2.653000,-3.121171 +57.242544,-3.552000,2.653000,-3.121267 +57.242544,-3.552000,2.653000,-3.121267 +57.242544,-3.552000,2.653000,-3.121267 +57.242544,-3.552000,2.653000,-3.121267 +57.242544,-3.552000,2.653000,-3.121267 +57.242544,-3.552000,2.653000,-3.121267 +57.503520,-3.552000,2.652000,-3.121267 +57.503520,-3.552000,2.652000,-3.121267 +57.633516,-3.553000,2.651000,-3.121171 +57.633516,-3.553000,2.651000,-3.121171 +57.633516,-3.553000,2.651000,-3.121171 +57.633516,-3.553000,2.651000,-3.121171 +57.633516,-3.553000,2.651000,-3.121171 +57.633516,-3.553000,2.651000,-3.121171 +57.903500,-3.552000,2.650000,-3.121075 +57.903500,-3.552000,2.650000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.033461,-3.552000,2.649000,-3.121075 +58.293471,-3.552000,2.648000,-3.121171 +58.293471,-3.552000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.423511,-3.553000,2.648000,-3.121171 +58.693450,-3.554000,2.647000,-3.120980 +58.693450,-3.554000,2.647000,-3.120980 +58.823442,-3.553000,2.648000,-3.121075 +58.823442,-3.553000,2.648000,-3.121075 +58.953427,-3.552000,2.648000,-3.121075 +58.953427,-3.552000,2.648000,-3.121075 +58.953427,-3.552000,2.648000,-3.121075 +58.953427,-3.552000,2.648000,-3.121075 +59.083487,-3.552000,2.648000,-3.121171 +59.083487,-3.552000,2.648000,-3.121171 +59.223404,-3.553000,2.648000,-3.121171 +59.223404,-3.553000,2.648000,-3.121171 +59.352412,-3.554000,2.648000,-3.121171 +59.352412,-3.554000,2.648000,-3.121171 +59.352412,-3.554000,2.648000,-3.121171 +59.352412,-3.554000,2.648000,-3.121171 +59.482480,-3.555000,2.648000,-3.120980 +59.482480,-3.555000,2.648000,-3.120980 +59.613386,-3.555000,2.648000,-3.121075 +59.613386,-3.555000,2.648000,-3.121075 +59.743509,-3.554000,2.649000,-3.121267 +59.743509,-3.554000,2.649000,-3.121267 +59.743509,-3.554000,2.649000,-3.121267 +59.743509,-3.554000,2.649000,-3.121267 +59.743509,-3.554000,2.649000,-3.121267 +59.743509,-3.554000,2.649000,-3.121267 +60.013362,-3.552000,2.649000,-3.121363 +60.013362,-3.552000,2.649000,-3.121363 +60.142324,-3.553000,2.649000,-3.121459 +60.142324,-3.553000,2.649000,-3.121459 +60.142324,-3.553000,2.649000,-3.121459 +60.142324,-3.553000,2.649000,-3.121459 +60.142324,-3.553000,2.649000,-3.121459 +60.142324,-3.553000,2.649000,-3.121459 +60.405353,-3.553000,2.648000,-3.120884 +60.405353,-3.553000,2.648000,-3.120884 +60.532403,-3.553000,2.648000,-3.121075 +60.532403,-3.553000,2.648000,-3.121075 +60.532403,-3.553000,2.648000,-3.121075 +60.532403,-3.553000,2.648000,-3.121075 +60.532403,-3.553000,2.648000,-3.121075 +60.532403,-3.553000,2.648000,-3.121075 +60.803264,-3.553000,2.650000,-3.121267 +60.803264,-3.553000,2.650000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +60.933255,-3.553000,2.649000,-3.121267 +61.192252,-3.551000,2.647000,-3.120884 +61.192252,-3.551000,2.647000,-3.120884 +61.332304,-3.552000,2.647000,-3.121075 +61.332304,-3.552000,2.647000,-3.121075 +61.332304,-3.552000,2.647000,-3.121075 +61.332304,-3.552000,2.647000,-3.121075 +61.332304,-3.552000,2.647000,-3.121075 +61.332304,-3.552000,2.647000,-3.121075 +61.592263,-3.552000,2.648000,-3.121267 +61.592263,-3.552000,2.648000,-3.121267 +61.722230,-3.552000,2.648000,-3.121267 +61.722230,-3.552000,2.648000,-3.121267 +61.722230,-3.552000,2.648000,-3.121267 +61.722230,-3.552000,2.648000,-3.121267 +61.982235,-3.552000,2.648000,-3.120980 +61.982235,-3.552000,2.648000,-3.120980 +61.982235,-3.552000,2.648000,-3.120980 +61.982235,-3.552000,2.648000,-3.120980 +62.123211,-3.552000,2.647000,-3.120884 +62.123211,-3.552000,2.647000,-3.120884 +62.123211,-3.552000,2.647000,-3.120884 +62.123211,-3.552000,2.647000,-3.120884 +62.383203,-3.552000,2.647000,-3.121171 +62.383203,-3.552000,2.647000,-3.121171 +62.383203,-3.552000,2.647000,-3.121171 +62.383203,-3.552000,2.647000,-3.121171 +62.513199,-3.554000,2.649000,-3.121267 +62.513199,-3.554000,2.649000,-3.121267 +62.642230,-3.555000,2.649000,-3.121267 +62.642230,-3.555000,2.649000,-3.121267 +62.642230,-3.555000,2.649000,-3.121267 +62.642230,-3.555000,2.649000,-3.121267 +62.783229,-3.554000,2.649000,-3.121267 +62.783229,-3.554000,2.649000,-3.121267 +62.783229,-3.554000,2.649000,-3.121267 +62.783229,-3.554000,2.649000,-3.121267 +62.913170,-3.554000,2.650000,-3.121171 +62.913170,-3.554000,2.650000,-3.121171 +63.043163,-3.552000,2.649000,-3.121171 +63.043163,-3.552000,2.649000,-3.121171 +63.043163,-3.552000,2.649000,-3.121171 +63.173164,-3.551000,2.649000,-3.121171 +63.173164,-3.551000,2.649000,-3.121171 +63.173164,-3.551000,2.649000,-3.121171 +63.173164,-3.551000,2.649000,-3.121171 +63.303338,-3.552000,2.648000,-3.121267 +63.303338,-3.552000,2.648000,-3.121267 +63.443120,-3.553000,2.647000,-3.121075 +63.443120,-3.553000,2.647000,-3.121075 +63.443120,-3.553000,2.647000,-3.121075 +63.573120,-3.553000,2.646000,-3.120980 +63.573120,-3.553000,2.646000,-3.120980 +63.573120,-3.553000,2.646000,-3.120980 +63.573120,-3.553000,2.646000,-3.120980 +63.702120,-3.553000,2.647000,-3.121075 +63.702120,-3.553000,2.647000,-3.121075 +63.833450,-3.553000,2.648000,-3.120980 +63.833450,-3.553000,2.648000,-3.120980 +63.833450,-3.553000,2.648000,-3.120980 +63.963074,-3.551000,2.649000,-3.121171 +63.963074,-3.551000,2.649000,-3.121171 +63.963074,-3.551000,2.649000,-3.121171 +63.963074,-3.551000,2.649000,-3.121171 +64.102102,-3.551000,2.649000,-3.121267 +64.102102,-3.551000,2.649000,-3.121267 +64.232038,-3.552000,2.649000,-3.121171 +64.232038,-3.552000,2.649000,-3.121171 +64.232038,-3.552000,2.649000,-3.121171 +64.232038,-3.552000,2.649000,-3.121171 +64.232038,-3.552000,2.649000,-3.121171 +64.232038,-3.552000,2.649000,-3.121171 +64.493106,-3.554000,2.648000,-3.120980 +64.493106,-3.554000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.623289,-3.553000,2.648000,-3.120980 +64.893376,-3.553000,2.649000,-3.121171 +64.893376,-3.553000,2.649000,-3.121171 +65.023064,-3.552000,2.649000,-3.121267 +65.023064,-3.552000,2.649000,-3.121267 +65.023064,-3.552000,2.649000,-3.121267 +65.023064,-3.552000,2.649000,-3.121267 +65.023064,-3.552000,2.649000,-3.121267 +65.282017,-3.553000,2.647000,-3.120980 +65.282017,-3.553000,2.647000,-3.120980 +65.282017,-3.553000,2.647000,-3.120980 +65.282017,-3.553000,2.647000,-3.120980 +65.413057,-3.554000,2.647000,-3.121075 +65.413057,-3.554000,2.647000,-3.121075 +65.413057,-3.554000,2.647000,-3.121075 +65.681993,-3.554000,2.649000,-3.121363 +65.681993,-3.554000,2.649000,-3.121363 +65.681993,-3.554000,2.649000,-3.121363 +65.681993,-3.554000,2.649000,-3.121363 +65.681993,-3.554000,2.649000,-3.121363 +65.811987,-3.553000,2.649000,-3.121555 +65.811987,-3.553000,2.649000,-3.121555 +65.811987,-3.553000,2.649000,-3.121555 +65.811987,-3.553000,2.649000,-3.121555 +65.811987,-3.553000,2.649000,-3.121555 +66.071982,-3.553000,2.648000,-3.121171 +66.071982,-3.553000,2.648000,-3.121171 +66.071982,-3.553000,2.648000,-3.121171 +66.071982,-3.553000,2.648000,-3.121171 +66.212960,-3.553000,2.647000,-3.121075 +66.212960,-3.553000,2.647000,-3.121075 +66.343027,-3.552000,2.648000,-3.121075 +66.343027,-3.552000,2.648000,-3.121075 +66.343027,-3.552000,2.648000,-3.121075 +66.473059,-3.553000,2.650000,-3.121267 +66.473059,-3.553000,2.650000,-3.121267 +66.473059,-3.553000,2.650000,-3.121267 +66.473059,-3.553000,2.650000,-3.121267 +66.603061,-3.553000,2.651000,-3.121363 +66.603061,-3.553000,2.651000,-3.121363 +66.731902,-3.554000,2.650000,-3.121459 +66.731902,-3.554000,2.650000,-3.121459 +66.872927,-3.554000,2.649000,-3.121363 +66.872927,-3.554000,2.649000,-3.121363 +66.872927,-3.554000,2.649000,-3.121363 +66.872927,-3.554000,2.649000,-3.121363 +67.003923,-3.554000,2.648000,-3.121171 +67.003923,-3.554000,2.648000,-3.121171 +67.131889,-3.553000,2.648000,-3.121075 +67.131889,-3.553000,2.648000,-3.121075 +67.131889,-3.553000,2.648000,-3.121075 +67.261895,-3.553000,2.649000,-3.121171 +67.261895,-3.553000,2.649000,-3.121171 +67.261895,-3.553000,2.649000,-3.121171 +67.261895,-3.553000,2.649000,-3.121171 +67.392884,-3.553000,2.649000,-3.121363 +67.392884,-3.553000,2.649000,-3.121363 +67.522891,-3.553000,2.651000,-3.121363 +67.522891,-3.553000,2.651000,-3.121363 +67.661871,-3.554000,2.650000,-3.121363 +67.661871,-3.554000,2.650000,-3.121363 +67.661871,-3.554000,2.650000,-3.121363 +67.661871,-3.554000,2.650000,-3.121363 +67.791873,-3.554000,2.649000,-3.121267 +67.791873,-3.554000,2.649000,-3.121267 +67.922839,-3.553000,2.648000,-3.121075 +67.922839,-3.553000,2.648000,-3.121075 +67.922839,-3.553000,2.648000,-3.121075 +67.922839,-3.553000,2.648000,-3.121075 +67.922839,-3.553000,2.648000,-3.121075 +67.922839,-3.553000,2.648000,-3.121075 +68.182773,-3.552000,2.647000,-3.121171 +68.182773,-3.552000,2.647000,-3.121171 +68.322799,-3.552000,2.648000,-3.121267 +68.322799,-3.552000,2.648000,-3.121267 +68.322799,-3.552000,2.648000,-3.121267 +68.322799,-3.552000,2.648000,-3.121267 +68.322799,-3.552000,2.648000,-3.121267 +68.322799,-3.552000,2.648000,-3.121267 +68.581905,-3.553000,2.648000,-3.121171 +68.581905,-3.553000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.711835,-3.554000,2.648000,-3.121171 +68.982785,-3.553000,2.650000,-3.121267 +68.982785,-3.553000,2.650000,-3.121267 +69.112764,-3.552000,2.652000,-3.121267 +69.112764,-3.552000,2.652000,-3.121267 +69.112764,-3.552000,2.652000,-3.121267 +69.112764,-3.552000,2.652000,-3.121267 +69.371821,-3.552000,2.650000,-3.121075 +69.371821,-3.552000,2.650000,-3.121075 +69.371821,-3.552000,2.650000,-3.121075 +69.371821,-3.552000,2.650000,-3.121075 +69.502711,-3.553000,2.650000,-3.121075 +69.502711,-3.553000,2.650000,-3.121075 +69.502711,-3.553000,2.650000,-3.121075 +69.502711,-3.553000,2.650000,-3.121075 +69.771741,-3.552000,2.648000,-3.120980 +69.771741,-3.552000,2.648000,-3.120980 +69.771741,-3.552000,2.648000,-3.120980 +69.771741,-3.552000,2.648000,-3.120980 +69.902759,-3.552000,2.647000,-3.121171 +69.902759,-3.552000,2.647000,-3.121171 +70.032696,-3.552000,2.647000,-3.121171 +70.032696,-3.552000,2.647000,-3.121171 +70.162689,-3.553000,2.648000,-3.121171 +70.162689,-3.553000,2.648000,-3.121171 +70.162689,-3.553000,2.648000,-3.121171 +70.162689,-3.553000,2.648000,-3.121171 +70.291887,-3.553000,2.648000,-3.121075 +70.291887,-3.553000,2.648000,-3.121075 +70.432661,-3.553000,2.649000,-3.121267 +70.432661,-3.553000,2.649000,-3.121267 +70.562671,-3.552000,2.651000,-3.121363 +70.562671,-3.552000,2.651000,-3.121363 +70.562671,-3.552000,2.651000,-3.121363 +70.562671,-3.552000,2.651000,-3.121363 +70.692665,-3.552000,2.649000,-3.121267 +70.692665,-3.552000,2.649000,-3.121267 +70.822644,-3.552000,2.649000,-3.121267 +70.822644,-3.552000,2.649000,-3.121267 +70.953676,-3.552000,2.650000,-3.121267 +70.953676,-3.552000,2.650000,-3.121267 +70.953676,-3.552000,2.650000,-3.121267 +70.953676,-3.552000,2.650000,-3.121267 +71.091639,-3.553000,2.648000,-3.121075 +71.091639,-3.553000,2.648000,-3.121075 +71.221632,-3.554000,2.650000,-3.121171 +71.221632,-3.554000,2.650000,-3.121171 +71.351565,-3.553000,2.651000,-3.121267 +71.351565,-3.553000,2.651000,-3.121267 +71.482585,-3.554000,2.649000,-3.121363 +71.482585,-3.554000,2.649000,-3.121363 +71.482585,-3.554000,2.649000,-3.121363 +71.482585,-3.554000,2.649000,-3.121363 +71.611618,-3.553000,2.649000,-3.121459 +71.611618,-3.553000,2.649000,-3.121459 +71.752622,-3.552000,2.648000,-3.121363 +71.752622,-3.552000,2.648000,-3.121363 +71.881579,-3.553000,2.646000,-3.121075 +71.881579,-3.553000,2.646000,-3.121075 +71.881579,-3.553000,2.646000,-3.121075 +71.881579,-3.553000,2.646000,-3.121075 +72.012723,-3.553000,2.646000,-3.120884 +72.012723,-3.553000,2.646000,-3.120884 +72.142589,-3.553000,2.647000,-3.120980 +72.142589,-3.553000,2.647000,-3.120980 +72.271693,-3.553000,2.648000,-3.121075 +72.271693,-3.553000,2.648000,-3.121075 +72.271693,-3.553000,2.648000,-3.121075 +72.271693,-3.553000,2.648000,-3.121075 +72.402552,-3.552000,2.650000,-3.121171 +72.402552,-3.552000,2.650000,-3.121171 +72.402552,-3.552000,2.650000,-3.121171 +72.402552,-3.552000,2.650000,-3.121171 +72.671561,-3.552000,2.648000,-3.121171 +72.671561,-3.552000,2.648000,-3.121171 +72.671561,-3.552000,2.648000,-3.121171 +72.671561,-3.552000,2.648000,-3.121171 +72.801489,-3.553000,2.648000,-3.121075 +72.801489,-3.553000,2.648000,-3.121075 +72.801489,-3.553000,2.648000,-3.121075 +72.801489,-3.553000,2.648000,-3.121075 +73.062491,-3.553000,2.647000,-3.121075 +73.062491,-3.553000,2.647000,-3.121075 +73.062491,-3.553000,2.647000,-3.121075 +73.062491,-3.553000,2.647000,-3.121075 +73.202483,-3.553000,2.649000,-3.121267 +73.202483,-3.553000,2.649000,-3.121267 +73.202483,-3.553000,2.649000,-3.121267 +73.202483,-3.553000,2.649000,-3.121267 +73.461481,-3.553000,2.651000,-3.121459 +73.461481,-3.553000,2.651000,-3.121459 +73.461481,-3.553000,2.651000,-3.121459 +73.461481,-3.553000,2.651000,-3.121459 +73.591472,-3.555000,2.652000,-3.121363 +73.591472,-3.555000,2.652000,-3.121363 +73.722451,-3.556000,2.650000,-3.121171 +73.722451,-3.556000,2.650000,-3.121171 +73.861422,-3.555000,2.649000,-3.121171 +73.861422,-3.555000,2.649000,-3.121171 +73.861422,-3.555000,2.649000,-3.121171 +73.861422,-3.555000,2.649000,-3.121171 +73.991419,-3.555000,2.650000,-3.121267 +73.991419,-3.555000,2.650000,-3.121267 +74.121420,-3.553000,2.650000,-3.121267 +74.121420,-3.553000,2.650000,-3.121267 +74.251481,-3.555000,2.652000,-3.121459 +74.251481,-3.555000,2.652000,-3.121459 +74.381468,-3.556000,2.652000,-3.121459 +74.381468,-3.556000,2.652000,-3.121459 +74.381468,-3.556000,2.652000,-3.121459 +74.381468,-3.556000,2.652000,-3.121459 +74.521413,-3.556000,2.651000,-3.121267 +74.521413,-3.556000,2.651000,-3.121267 +74.652406,-3.555000,2.651000,-3.121267 +74.652406,-3.555000,2.651000,-3.121267 +74.782443,-3.553000,2.649000,-3.121171 +74.782443,-3.553000,2.649000,-3.121171 +74.782443,-3.553000,2.649000,-3.121171 +74.782443,-3.553000,2.649000,-3.121171 +74.782443,-3.553000,2.649000,-3.121171 +74.912390,-3.553000,2.651000,-3.121267 +74.912390,-3.553000,2.651000,-3.121267 +75.042446,-3.552000,2.650000,-3.121363 +75.042446,-3.552000,2.650000,-3.121363 +75.182357,-3.553000,2.651000,-3.121171 +75.182357,-3.553000,2.651000,-3.121171 +75.182357,-3.553000,2.651000,-3.121171 +75.182357,-3.553000,2.651000,-3.121171 +75.312361,-3.553000,2.650000,-3.121171 +75.312361,-3.553000,2.650000,-3.121171 +75.442317,-3.552000,2.648000,-3.121075 +75.442317,-3.552000,2.648000,-3.121075 +75.572342,-3.553000,2.648000,-3.121075 +75.572342,-3.553000,2.648000,-3.121075 +75.572342,-3.553000,2.648000,-3.121075 +75.572342,-3.553000,2.648000,-3.121075 +75.704357,-3.553000,2.646000,-3.121075 +75.704357,-3.553000,2.646000,-3.121075 +75.832364,-3.553000,2.645000,-3.121075 +75.832364,-3.553000,2.645000,-3.121075 +75.971329,-3.554000,2.647000,-3.121267 +75.971329,-3.554000,2.647000,-3.121267 +75.971329,-3.554000,2.647000,-3.121267 +75.971329,-3.554000,2.647000,-3.121267 +76.102306,-3.555000,2.644000,-3.120980 +76.102306,-3.555000,2.644000,-3.120980 +76.232311,-3.554000,2.645000,-3.121075 +76.232311,-3.554000,2.645000,-3.121075 +76.362294,-3.554000,2.646000,-3.121075 +76.362294,-3.554000,2.646000,-3.121075 +76.362294,-3.554000,2.646000,-3.121075 +76.362294,-3.554000,2.646000,-3.121075 +76.492277,-3.552000,2.646000,-3.120980 +76.492277,-3.552000,2.646000,-3.120980 +76.632243,-3.551000,2.649000,-3.121267 +76.632243,-3.551000,2.649000,-3.121267 +76.762259,-3.552000,2.649000,-3.121267 +76.762259,-3.552000,2.649000,-3.121267 +76.762259,-3.552000,2.649000,-3.121267 +76.762259,-3.552000,2.649000,-3.121267 +76.892454,-3.553000,2.649000,-3.121171 +76.892454,-3.553000,2.649000,-3.121171 +77.022344,-3.554000,2.647000,-3.121075 +77.022344,-3.554000,2.647000,-3.121075 +77.152252,-3.554000,2.647000,-3.121075 +77.152252,-3.554000,2.647000,-3.121075 +77.152252,-3.554000,2.647000,-3.121075 +77.152252,-3.554000,2.647000,-3.121075 +77.292211,-3.553000,2.647000,-3.121075 +77.292211,-3.553000,2.647000,-3.121075 +77.422306,-3.553000,2.648000,-3.121267 +77.422306,-3.553000,2.648000,-3.121267 +77.552232,-3.552000,2.649000,-3.121363 +77.552232,-3.552000,2.649000,-3.121363 +77.682199,-3.552000,2.651000,-3.121363 +77.682199,-3.552000,2.651000,-3.121363 +77.682199,-3.552000,2.651000,-3.121363 +77.682199,-3.552000,2.651000,-3.121363 +77.812199,-3.553000,2.650000,-3.121171 +77.812199,-3.553000,2.650000,-3.121171 +77.942164,-3.553000,2.649000,-3.120980 +77.942164,-3.553000,2.649000,-3.120980 +78.082789,-3.553000,2.649000,-3.121075 +78.082789,-3.553000,2.649000,-3.121075 +78.082789,-3.553000,2.649000,-3.121075 +78.082789,-3.553000,2.649000,-3.121075 +78.215161,-3.553000,2.648000,-3.121171 +78.215161,-3.553000,2.648000,-3.121171 +78.342159,-3.552000,2.648000,-3.121267 +78.342159,-3.552000,2.648000,-3.121267 +78.471137,-3.552000,2.649000,-3.121363 +78.471137,-3.552000,2.649000,-3.121363 +78.471137,-3.552000,2.649000,-3.121363 +78.471137,-3.552000,2.649000,-3.121363 +78.601137,-3.552000,2.650000,-3.121267 +78.601137,-3.552000,2.650000,-3.121267 +78.743179,-3.553000,2.649000,-3.121171 +78.743179,-3.553000,2.649000,-3.121171 +78.874138,-3.553000,2.649000,-3.121075 +78.874138,-3.553000,2.649000,-3.121075 +78.874138,-3.553000,2.649000,-3.121075 +78.874138,-3.553000,2.649000,-3.121075 +79.002337,-3.553000,2.649000,-3.121171 +79.002337,-3.553000,2.649000,-3.121171 +79.132204,-3.554000,2.649000,-3.121363 +79.132204,-3.554000,2.649000,-3.121363 +79.261191,-3.554000,2.650000,-3.121363 +79.261191,-3.554000,2.650000,-3.121363 +79.261191,-3.554000,2.650000,-3.121363 +79.261191,-3.554000,2.650000,-3.121363 +79.402068,-3.553000,2.650000,-3.121459 +79.402068,-3.553000,2.650000,-3.121459 +79.532093,-3.553000,2.650000,-3.121267 +79.532093,-3.553000,2.650000,-3.121267 +79.661080,-3.552000,2.648000,-3.121075 +79.661080,-3.552000,2.648000,-3.121075 +79.661080,-3.552000,2.648000,-3.121075 +79.661080,-3.552000,2.648000,-3.121075 +79.792054,-3.551000,2.648000,-3.121075 +79.792054,-3.551000,2.648000,-3.121075 +79.921151,-3.551000,2.648000,-3.121171 +79.921151,-3.551000,2.648000,-3.121171 +80.051051,-3.551000,2.649000,-3.121171 +80.051051,-3.551000,2.649000,-3.121171 +80.051051,-3.551000,2.649000,-3.121171 +80.051051,-3.551000,2.649000,-3.121171 +80.191043,-3.552000,2.649000,-3.121267 +80.191043,-3.552000,2.649000,-3.121267 +80.322027,-3.553000,2.649000,-3.121171 +80.322027,-3.553000,2.649000,-3.121171 +80.452041,-3.554000,2.649000,-3.121075 +80.452041,-3.554000,2.649000,-3.121075 +80.582027,-3.553000,2.648000,-3.121171 +80.582027,-3.553000,2.648000,-3.121171 +80.582027,-3.553000,2.648000,-3.121171 +80.582027,-3.553000,2.648000,-3.121171 +80.711051,-3.553000,2.647000,-3.121267 +80.711051,-3.553000,2.647000,-3.121267 +80.851027,-3.552000,2.649000,-3.121267 +80.851027,-3.552000,2.649000,-3.121267 +80.981971,-3.552000,2.648000,-3.121075 +80.981971,-3.552000,2.648000,-3.121075 +80.981971,-3.552000,2.648000,-3.121075 +80.981971,-3.552000,2.648000,-3.121075 +81.112099,-3.553000,2.649000,-3.121075 +81.112099,-3.553000,2.649000,-3.121075 +81.240974,-3.551000,2.649000,-3.120980 +81.240974,-3.551000,2.649000,-3.120980 +81.370959,-3.552000,2.649000,-3.120980 +81.370959,-3.552000,2.649000,-3.120980 +81.370959,-3.552000,2.649000,-3.120980 +81.370959,-3.552000,2.649000,-3.120980 +81.510958,-3.552000,2.649000,-3.121171 +81.510958,-3.552000,2.649000,-3.121171 +81.640948,-3.553000,2.648000,-3.121171 +81.640948,-3.553000,2.648000,-3.121171 +81.770939,-3.553000,2.650000,-3.121267 +81.770939,-3.553000,2.650000,-3.121267 +81.770939,-3.553000,2.650000,-3.121267 +81.770939,-3.553000,2.650000,-3.121267 +81.901905,-3.554000,2.649000,-3.121171 +81.901905,-3.554000,2.649000,-3.121171 +82.031883,-3.554000,2.649000,-3.121075 +82.031883,-3.554000,2.649000,-3.121075 +82.171914,-3.553000,2.649000,-3.121075 +82.171914,-3.553000,2.649000,-3.121075 +82.171914,-3.553000,2.649000,-3.121075 +82.171914,-3.553000,2.649000,-3.121075 +82.302945,-3.553000,2.648000,-3.121171 +82.302945,-3.553000,2.648000,-3.121171 +82.432023,-3.553000,2.648000,-3.121267 +82.432023,-3.553000,2.648000,-3.121267 +82.560931,-3.552000,2.647000,-3.121267 +82.560931,-3.552000,2.647000,-3.121267 +82.560931,-3.552000,2.647000,-3.121267 +82.560931,-3.552000,2.647000,-3.121267 +82.690833,-3.554000,2.648000,-3.121171 +82.690833,-3.554000,2.648000,-3.121171 +82.820860,-3.555000,2.648000,-3.121075 +82.820860,-3.555000,2.648000,-3.121075 +82.960839,-3.556000,2.648000,-3.121075 +82.960839,-3.556000,2.648000,-3.121075 +82.960839,-3.556000,2.648000,-3.121075 +82.960839,-3.556000,2.648000,-3.121075 +83.090821,-3.554000,2.650000,-3.121267 +83.090821,-3.554000,2.650000,-3.121267 +83.220885,-3.555000,2.651000,-3.121363 +83.220885,-3.555000,2.651000,-3.121363 +83.350840,-3.553000,2.650000,-3.121459 +83.350840,-3.553000,2.650000,-3.121459 +83.350840,-3.553000,2.650000,-3.121459 +83.350840,-3.553000,2.650000,-3.121459 +83.350840,-3.553000,2.650000,-3.121459 +83.350840,-3.553000,2.650000,-3.121459 +83.621836,-3.554000,2.647000,-3.121075 +83.621836,-3.554000,2.647000,-3.121075 +83.751748,-3.553000,2.646000,-3.120884 +83.751748,-3.553000,2.646000,-3.120884 +83.881806,-3.552000,2.645000,-3.120980 +83.881806,-3.552000,2.645000,-3.120980 +83.881806,-3.552000,2.645000,-3.120980 +83.881806,-3.552000,2.645000,-3.120980 +84.010775,-3.553000,2.648000,-3.121171 +84.010775,-3.553000,2.648000,-3.121171 +84.141770,-3.553000,2.648000,-3.121267 +84.141770,-3.553000,2.648000,-3.121267 +84.281770,-3.554000,2.648000,-3.121363 +84.281770,-3.554000,2.648000,-3.121363 +84.281770,-3.554000,2.648000,-3.121363 +84.281770,-3.554000,2.648000,-3.121363 +84.411756,-3.554000,2.649000,-3.121363 +84.411756,-3.554000,2.649000,-3.121363 +84.540714,-3.553000,2.648000,-3.121075 +84.540714,-3.553000,2.648000,-3.121075 +84.671719,-3.554000,2.647000,-3.121075 +84.671719,-3.554000,2.647000,-3.121075 +84.671719,-3.554000,2.647000,-3.121075 +84.671719,-3.554000,2.647000,-3.121075 +84.802749,-3.553000,2.648000,-3.121267 +84.802749,-3.553000,2.648000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +84.940848,-3.552000,2.649000,-3.121267 +85.200697,-3.551000,2.650000,-3.121363 +85.200697,-3.551000,2.650000,-3.121363 +85.330699,-3.551000,2.648000,-3.121171 +85.330699,-3.551000,2.648000,-3.121171 +85.330699,-3.551000,2.648000,-3.121171 +85.330699,-3.551000,2.648000,-3.121171 +85.330699,-3.551000,2.648000,-3.121171 +85.330699,-3.551000,2.648000,-3.121171 +85.590744,-3.553000,2.647000,-3.120980 +85.590744,-3.553000,2.647000,-3.120980 +85.730674,-3.554000,2.649000,-3.121075 +85.730674,-3.554000,2.649000,-3.121075 +85.730674,-3.554000,2.649000,-3.121075 +85.730674,-3.554000,2.649000,-3.121075 +85.730674,-3.554000,2.649000,-3.121075 +85.730674,-3.554000,2.649000,-3.121075 +85.990645,-3.554000,2.650000,-3.121267 +85.990645,-3.554000,2.650000,-3.121267 +86.121648,-3.556000,2.650000,-3.121363 +86.121648,-3.556000,2.650000,-3.121363 +86.121648,-3.556000,2.650000,-3.121363 +86.121648,-3.556000,2.650000,-3.121363 +86.391630,-3.554000,2.648000,-3.121171 +86.391630,-3.554000,2.648000,-3.121171 +86.391630,-3.554000,2.648000,-3.121171 +86.391630,-3.554000,2.648000,-3.121171 +86.520619,-3.554000,2.648000,-3.121267 +86.520619,-3.554000,2.648000,-3.121267 +86.520619,-3.554000,2.648000,-3.121267 +86.520619,-3.554000,2.648000,-3.121267 +86.780603,-3.552000,2.651000,-3.121363 +86.780603,-3.552000,2.651000,-3.121363 +86.780603,-3.552000,2.651000,-3.121363 +86.780603,-3.552000,2.651000,-3.121363 +86.911622,-3.553000,2.651000,-3.121171 +86.911622,-3.553000,2.651000,-3.121171 +86.911622,-3.553000,2.651000,-3.121171 +86.911622,-3.553000,2.651000,-3.121171 +87.181596,-3.553000,2.651000,-3.121171 +87.181596,-3.553000,2.651000,-3.121171 +87.181596,-3.553000,2.651000,-3.121171 +87.181596,-3.553000,2.651000,-3.121171 +87.310653,-3.553000,2.649000,-3.121075 +87.310653,-3.553000,2.649000,-3.121075 +87.441564,-3.553000,2.648000,-3.121267 +87.441564,-3.553000,2.648000,-3.121267 +87.571612,-3.553000,2.647000,-3.121267 +87.571612,-3.553000,2.647000,-3.121267 +87.571612,-3.553000,2.647000,-3.121267 +87.571612,-3.553000,2.647000,-3.121267 +87.711540,-3.554000,2.647000,-3.121267 +87.711540,-3.554000,2.647000,-3.121267 +87.841480,-3.554000,2.647000,-3.121075 +87.841480,-3.554000,2.647000,-3.121075 +87.971506,-3.554000,2.648000,-3.121075 +87.971506,-3.554000,2.648000,-3.121075 +87.971506,-3.554000,2.648000,-3.121075 +87.971506,-3.554000,2.648000,-3.121075 +88.100520,-3.553000,2.649000,-3.121075 +88.100520,-3.553000,2.649000,-3.121075 +88.231557,-3.554000,2.649000,-3.121171 +88.231557,-3.554000,2.649000,-3.121171 +88.360502,-3.553000,2.650000,-3.121267 +88.360502,-3.553000,2.650000,-3.121267 +88.360502,-3.553000,2.650000,-3.121267 +88.360502,-3.553000,2.650000,-3.121267 +88.502460,-3.553000,2.649000,-3.121363 +88.502460,-3.553000,2.649000,-3.121363 +88.631512,-3.555000,2.650000,-3.121267 +88.631512,-3.555000,2.650000,-3.121267 +88.761500,-3.553000,2.650000,-3.121075 +88.761500,-3.553000,2.650000,-3.121075 +88.891473,-3.554000,2.650000,-3.121171 +88.891473,-3.554000,2.650000,-3.121171 +88.891473,-3.554000,2.650000,-3.121171 +88.891473,-3.554000,2.650000,-3.121171 +89.021468,-3.553000,2.651000,-3.121267 +89.021468,-3.553000,2.651000,-3.121267 +89.161520,-3.552000,2.649000,-3.121267 +89.161520,-3.552000,2.649000,-3.121267 +89.290467,-3.552000,2.649000,-3.121459 +89.290467,-3.552000,2.649000,-3.121459 +89.290467,-3.552000,2.649000,-3.121459 +89.290467,-3.552000,2.649000,-3.121459 +89.421451,-3.553000,2.649000,-3.121459 +89.421451,-3.553000,2.649000,-3.121459 +89.551439,-3.554000,2.647000,-3.121171 +89.551439,-3.554000,2.647000,-3.121171 +89.681501,-3.554000,2.647000,-3.121267 +89.681501,-3.554000,2.647000,-3.121267 +89.681501,-3.554000,2.647000,-3.121267 +89.681501,-3.554000,2.647000,-3.121267 +89.821455,-3.554000,2.648000,-3.121267 +89.821455,-3.554000,2.648000,-3.121267 +89.821455,-3.554000,2.648000,-3.121267 +89.821455,-3.554000,2.648000,-3.121267 +90.081397,-3.552000,2.650000,-3.121459 +90.081397,-3.552000,2.650000,-3.121459 +90.081397,-3.552000,2.650000,-3.121459 +90.081397,-3.552000,2.650000,-3.121459 +90.211456,-3.552000,2.650000,-3.121267 +90.211456,-3.552000,2.650000,-3.121267 +90.211456,-3.552000,2.650000,-3.121267 +90.211456,-3.552000,2.650000,-3.121267 +90.470373,-3.553000,2.648000,-3.121075 +90.470373,-3.553000,2.648000,-3.121075 +90.470373,-3.553000,2.648000,-3.121075 +90.470373,-3.553000,2.648000,-3.121075 +90.611331,-3.554000,2.647000,-3.120884 +90.611331,-3.554000,2.647000,-3.120884 +90.611331,-3.554000,2.647000,-3.120884 +90.611331,-3.554000,2.647000,-3.120884 +90.871320,-3.557000,2.636000,-3.114652 +90.871320,-3.557000,2.636000,-3.114652 +90.871320,-3.557000,2.636000,-3.114652 +90.871320,-3.557000,2.636000,-3.114652 +91.001426,-3.559000,2.611000,-3.108420 +91.001426,-3.559000,2.611000,-3.108420 +91.131458,-3.557000,2.574000,-3.102380 +91.131458,-3.557000,2.574000,-3.102380 +91.276318,-3.554000,2.531000,-3.098641 +91.276318,-3.554000,2.531000,-3.098641 +91.276318,-3.554000,2.531000,-3.098641 +91.276318,-3.554000,2.531000,-3.098641 +91.402594,-3.550000,2.478000,-3.095573 +91.402594,-3.550000,2.478000,-3.095573 +91.531266,-3.546000,2.424000,-3.092217 +91.531266,-3.546000,2.424000,-3.092217 +91.660267,-3.545000,2.374000,-3.085027 +91.660267,-3.545000,2.374000,-3.085027 +91.790271,-3.545000,2.334000,-3.074289 +91.790271,-3.545000,2.334000,-3.074289 +91.790271,-3.545000,2.334000,-3.074289 +91.790271,-3.545000,2.334000,-3.074289 +91.930299,-3.546000,2.315000,-3.060483 +91.930299,-3.546000,2.315000,-3.060483 +92.060250,-3.545000,2.313000,-3.045431 +92.060250,-3.545000,2.313000,-3.045431 +92.190242,-3.547000,2.315000,-3.029516 +92.190242,-3.547000,2.315000,-3.029516 +92.190242,-3.547000,2.315000,-3.029516 +92.190242,-3.547000,2.315000,-3.029516 +92.321251,-3.545000,2.323000,-3.013697 +92.321251,-3.545000,2.323000,-3.013697 +92.451222,-3.538000,2.327000,-3.001617 +92.451222,-3.538000,2.327000,-3.001617 +92.590231,-3.534000,2.322000,-2.993084 +92.590231,-3.534000,2.322000,-2.993084 +92.590231,-3.534000,2.322000,-2.993084 +92.590231,-3.534000,2.322000,-2.993084 +92.721389,-3.528000,2.299000,-2.988002 +92.721389,-3.528000,2.299000,-2.988002 +92.850213,-3.520000,2.261000,-2.986181 +92.850213,-3.520000,2.261000,-2.986181 +92.980194,-3.515000,2.200000,-2.984263 +92.980194,-3.515000,2.200000,-2.984263 +92.980194,-3.515000,2.200000,-2.984263 +92.980194,-3.515000,2.200000,-2.984263 +93.110169,-3.506000,2.131000,-2.981291 +93.110169,-3.506000,2.131000,-2.981291 +93.240189,-3.498000,2.067000,-2.975060 +93.240189,-3.498000,2.067000,-2.975060 +93.381548,-3.495000,2.008000,-2.965568 +93.381548,-3.495000,2.008000,-2.965568 +93.381548,-3.495000,2.008000,-2.965568 +93.381548,-3.495000,2.008000,-2.965568 +93.510173,-3.492000,1.963000,-2.952050 +93.510173,-3.492000,1.963000,-2.952050 +93.510173,-3.492000,1.963000,-2.952050 +93.510173,-3.492000,1.963000,-2.952050 +93.771160,-3.492000,1.923000,-2.916864 +93.771160,-3.492000,1.923000,-2.916864 +93.771160,-3.492000,1.923000,-2.916864 +93.771160,-3.492000,1.923000,-2.916864 +93.910138,-3.493000,1.920000,-2.896347 +93.910138,-3.493000,1.920000,-2.896347 +93.910138,-3.493000,1.920000,-2.896347 +93.910138,-3.493000,1.920000,-2.896347 +94.170124,-3.497000,1.942000,-2.855984 +94.170124,-3.497000,1.942000,-2.855984 +94.170124,-3.497000,1.942000,-2.855984 +94.170124,-3.497000,1.942000,-2.855984 +94.301062,-3.493000,1.956000,-2.836618 +94.301062,-3.493000,1.956000,-2.836618 +94.301062,-3.493000,1.956000,-2.836618 +94.301062,-3.493000,1.956000,-2.836618 +94.561648,-3.486000,1.971000,-2.799035 +94.561648,-3.486000,1.971000,-2.799035 +94.561648,-3.486000,1.971000,-2.799035 +94.561648,-3.486000,1.971000,-2.799035 +94.700100,-3.482000,1.976000,-2.779285 +94.700100,-3.482000,1.976000,-2.779285 +94.700100,-3.482000,1.976000,-2.779285 +94.700100,-3.482000,1.976000,-2.779285 +94.960087,-3.486000,1.985000,-2.740744 +94.960087,-3.486000,1.985000,-2.740744 +95.091060,-3.485000,1.988000,-2.722720 +95.091060,-3.485000,1.988000,-2.722720 +95.091060,-3.485000,1.988000,-2.722720 +95.091060,-3.485000,1.988000,-2.722720 +95.220038,-3.484000,1.987000,-2.705175 +95.220038,-3.484000,1.987000,-2.705175 +95.360042,-3.483000,1.988000,-2.687630 +95.360042,-3.483000,1.988000,-2.687630 +95.490014,-3.481000,1.988000,-2.669701 +95.490014,-3.481000,1.988000,-2.669701 +95.490014,-3.481000,1.988000,-2.669701 +95.490014,-3.481000,1.988000,-2.669701 +95.619977,-3.481000,1.987000,-2.651198 +95.619977,-3.481000,1.987000,-2.651198 +95.749980,-3.482000,1.989000,-2.632502 +95.749980,-3.482000,1.989000,-2.632502 +95.881011,-3.482000,1.987000,-2.613807 +95.881011,-3.482000,1.987000,-2.613807 +95.881011,-3.482000,1.987000,-2.613807 +95.881011,-3.482000,1.987000,-2.613807 +96.020009,-3.478000,1.990000,-2.595016 +96.020009,-3.478000,1.990000,-2.595016 +96.150003,-3.472000,1.994000,-2.576033 +96.150003,-3.472000,1.994000,-2.576033 +96.280979,-3.467000,1.995000,-2.556954 +96.280979,-3.467000,1.995000,-2.556954 +96.280979,-3.467000,1.995000,-2.556954 +96.280979,-3.467000,1.995000,-2.556954 +96.410971,-3.460000,1.999000,-2.538258 +96.410971,-3.460000,1.999000,-2.538258 +96.541068,-3.459000,1.999000,-2.519467 +96.541068,-3.459000,1.999000,-2.519467 +96.681508,-3.460000,1.999000,-2.500772 +96.681508,-3.460000,1.999000,-2.500772 +96.681508,-3.460000,1.999000,-2.500772 +96.681508,-3.460000,1.999000,-2.500772 +96.811070,-3.460000,1.999000,-2.481885 +96.811070,-3.460000,1.999000,-2.481885 +96.940988,-3.463000,2.006000,-2.463285 +96.940988,-3.463000,2.006000,-2.463285 +97.069937,-3.467000,2.011000,-2.444973 +97.069937,-3.467000,2.011000,-2.444973 +97.069937,-3.467000,2.011000,-2.444973 +97.069937,-3.467000,2.011000,-2.444973 +97.069937,-3.467000,2.011000,-2.444973 +97.200922,-3.469000,2.018000,-2.426565 +97.200922,-3.469000,2.018000,-2.426565 +97.340095,-3.473000,2.024000,-2.408062 +97.340095,-3.473000,2.024000,-2.408062 +97.470882,-3.478000,2.029000,-2.389079 +97.470882,-3.478000,2.029000,-2.389079 +97.470882,-3.478000,2.029000,-2.389079 +97.470882,-3.478000,2.029000,-2.389079 +97.601935,-3.484000,2.031000,-2.369712 +97.601935,-3.484000,2.031000,-2.369712 +97.601935,-3.484000,2.031000,-2.369712 +97.601935,-3.484000,2.031000,-2.369712 +97.860892,-3.493000,2.040000,-2.331075 +97.860892,-3.493000,2.040000,-2.331075 +97.860892,-3.493000,2.040000,-2.331075 +97.860892,-3.493000,2.040000,-2.331075 +97.989886,-3.495000,2.042000,-2.311421 +97.989886,-3.495000,2.042000,-2.311421 +97.989886,-3.495000,2.042000,-2.311421 +97.989886,-3.495000,2.042000,-2.311421 +98.259871,-3.501000,1.976000,-2.228107 +98.259871,-3.501000,1.976000,-2.228107 +98.389813,-3.502000,1.978000,-2.218328 +98.389813,-3.502000,1.978000,-2.218328 +98.389813,-3.502000,1.978000,-2.218328 +98.389813,-3.502000,1.978000,-2.218328 +98.389813,-3.502000,1.978000,-2.218328 +98.389813,-3.502000,1.978000,-2.218328 +98.650890,-3.503000,1.979000,-2.198865 +98.650890,-3.503000,1.979000,-2.198865 +98.790822,-3.504000,1.980000,-2.179690 +98.790822,-3.504000,1.980000,-2.179690 +98.790822,-3.504000,1.980000,-2.179690 +98.790822,-3.504000,1.980000,-2.179690 +98.920829,-3.505000,1.979000,-2.160324 +98.920829,-3.505000,1.979000,-2.160324 +99.050832,-3.506000,1.976000,-2.140670 +99.050832,-3.506000,1.976000,-2.140670 +99.180808,-3.507000,1.975000,-2.121207 +99.180808,-3.507000,1.975000,-2.121207 +99.180808,-3.507000,1.975000,-2.121207 +99.180808,-3.507000,1.975000,-2.121207 +99.309807,-3.508000,1.972000,-2.101170 +99.309807,-3.508000,1.972000,-2.101170 +99.449787,-3.509000,1.971000,-2.081228 +99.449787,-3.509000,1.971000,-2.081228 +99.579790,-3.509000,1.972000,-2.061382 +99.579790,-3.509000,1.972000,-2.061382 +99.579790,-3.509000,1.972000,-2.061382 +99.579790,-3.509000,1.972000,-2.061382 +99.709782,-3.509000,1.971000,-2.041345 +99.709782,-3.509000,1.971000,-2.041345 +99.839784,-3.510000,1.971000,-2.021307 +99.839784,-3.510000,1.971000,-2.021307 +99.970759,-3.509000,1.969000,-2.001365 +99.970759,-3.509000,1.969000,-2.001365 +99.970759,-3.509000,1.969000,-2.001365 +99.970759,-3.509000,1.969000,-2.001365 +100.110805,-3.510000,1.967000,-1.981423 +100.110805,-3.510000,1.967000,-1.981423 +100.240710,-3.511000,1.965000,-1.961961 +100.240710,-3.511000,1.965000,-1.961961 +100.371561,-3.512000,1.963000,-1.942115 +100.371561,-3.512000,1.963000,-1.942115 +100.371561,-3.512000,1.963000,-1.942115 +100.371561,-3.512000,1.963000,-1.942115 +100.499716,-3.516000,1.960000,-1.921790 +100.499716,-3.516000,1.960000,-1.921790 +100.630721,-3.517000,1.959000,-1.901177 +100.630721,-3.517000,1.959000,-1.901177 +100.769693,-3.518000,1.958000,-1.880948 +100.769693,-3.518000,1.958000,-1.880948 +100.769693,-3.518000,1.958000,-1.880948 +100.769693,-3.518000,1.958000,-1.880948 +100.769693,-3.518000,1.958000,-1.880948 +100.900078,-3.519000,1.957000,-1.862061 +100.900078,-3.519000,1.957000,-1.862061 +101.029650,-3.517000,1.958000,-1.843557 +101.029650,-3.517000,1.958000,-1.843557 +101.162665,-3.517000,1.957000,-1.825053 +101.162665,-3.517000,1.957000,-1.825053 +101.290645,-3.517000,1.956000,-1.805974 +101.290645,-3.517000,1.956000,-1.805974 +101.290645,-3.517000,1.956000,-1.805974 +101.290645,-3.517000,1.956000,-1.805974 +101.420661,-3.517000,1.954000,-1.786416 +101.420661,-3.517000,1.954000,-1.786416 +101.560733,-3.518000,1.954000,-1.767241 +101.560733,-3.518000,1.954000,-1.767241 +101.690638,-3.518000,1.952000,-1.748258 +101.690638,-3.518000,1.952000,-1.748258 +101.690638,-3.518000,1.952000,-1.748258 +101.690638,-3.518000,1.952000,-1.748258 +101.821627,-3.519000,1.952000,-1.729467 +101.821627,-3.519000,1.952000,-1.729467 +101.949619,-3.519000,1.952000,-1.710676 +101.949619,-3.519000,1.952000,-1.710676 +102.079611,-3.516000,1.949000,-1.691309 +102.079611,-3.516000,1.949000,-1.691309 +102.079611,-3.516000,1.949000,-1.691309 +102.079611,-3.516000,1.949000,-1.691309 +102.079611,-3.516000,1.949000,-1.691309 +102.079611,-3.516000,1.949000,-1.691309 +102.350599,-3.507000,1.944000,-1.652289 +102.350599,-3.507000,1.944000,-1.652289 +102.480698,-3.502000,1.942000,-1.633018 +102.480698,-3.502000,1.942000,-1.633018 +102.480698,-3.502000,1.942000,-1.633018 +102.480698,-3.502000,1.942000,-1.633018 +102.610730,-3.499000,1.941000,-1.614227 +102.610730,-3.499000,1.941000,-1.614227 +102.740715,-3.498000,1.941000,-1.595627 +102.740715,-3.498000,1.941000,-1.595627 +102.880556,-3.498000,1.941000,-1.576932 +102.880556,-3.498000,1.941000,-1.576932 +102.880556,-3.498000,1.941000,-1.576932 +102.880556,-3.498000,1.941000,-1.576932 +103.009514,-3.498000,1.940000,-1.557853 +103.009514,-3.498000,1.940000,-1.557853 +103.139560,-3.497000,1.940000,-1.539445 +103.139560,-3.497000,1.940000,-1.539445 +103.269702,-3.496000,1.939000,-1.520750 +103.269702,-3.496000,1.939000,-1.520750 +103.269702,-3.496000,1.939000,-1.520750 +103.269702,-3.496000,1.939000,-1.520750 +103.399710,-3.495000,1.941000,-1.503013 +103.399710,-3.495000,1.941000,-1.503013 +103.529665,-3.489000,1.943000,-1.489591 +103.529665,-3.489000,1.943000,-1.489591 +103.669505,-3.474000,1.946000,-1.480771 +103.669505,-3.474000,1.946000,-1.480771 +103.669505,-3.474000,1.946000,-1.480771 +103.669505,-3.474000,1.946000,-1.480771 +103.800528,-3.447000,1.953000,-1.476360 +103.800528,-3.447000,1.953000,-1.476360 +103.930676,-3.401000,1.956000,-1.475018 +103.930676,-3.401000,1.956000,-1.475018 +104.060420,-3.346000,1.962000,-1.474059 +104.060420,-3.346000,1.962000,-1.474059 +104.190493,-3.280000,1.968000,-1.472238 +104.190493,-3.280000,1.968000,-1.472238 +104.190493,-3.280000,1.968000,-1.472238 +104.190493,-3.280000,1.968000,-1.472238 +104.330519,-3.205000,1.971000,-1.470320 +104.330519,-3.205000,1.971000,-1.470320 +104.459440,-3.122000,1.976000,-1.468690 +104.459440,-3.122000,1.976000,-1.468690 +104.459440,-3.122000,1.976000,-1.468690 +104.459440,-3.122000,1.976000,-1.468690 +104.589442,-3.038000,1.981000,-1.466965 +104.589442,-3.038000,1.981000,-1.466965 +104.719429,-2.959000,1.987000,-1.465431 +104.719429,-2.959000,1.987000,-1.465431 +104.719429,-2.959000,1.987000,-1.465431 +104.849389,-2.886000,1.993000,-1.463897 +104.849389,-2.886000,1.993000,-1.463897 +104.980381,-2.819000,1.997000,-1.462650 +104.980381,-2.819000,1.997000,-1.462650 +104.980381,-2.819000,1.997000,-1.462650 +104.980381,-2.819000,1.997000,-1.462650 +105.120431,-2.750000,2.005000,-1.461787 +105.120431,-2.750000,2.005000,-1.461787 +105.250393,-2.679000,2.013000,-1.460925 +105.250393,-2.679000,2.013000,-1.460925 +105.380379,-2.610000,2.020000,-1.460254 +105.380379,-2.610000,2.020000,-1.460254 +105.380379,-2.610000,2.020000,-1.460254 +105.380379,-2.610000,2.020000,-1.460254 +105.510388,-2.546000,2.029000,-1.459487 +105.510388,-2.546000,2.029000,-1.459487 +105.639375,-2.483000,2.035000,-1.458432 +105.639375,-2.483000,2.035000,-1.458432 +105.780353,-2.424000,2.040000,-1.457569 +105.780353,-2.424000,2.040000,-1.457569 +105.780353,-2.424000,2.040000,-1.457569 +105.780353,-2.424000,2.040000,-1.457569 +105.780353,-2.424000,2.040000,-1.457569 +105.780353,-2.424000,2.040000,-1.457569 +106.039365,-2.296000,2.057000,-1.456706 +106.039365,-2.296000,2.057000,-1.456706 +106.169365,-2.233000,2.064000,-1.456802 +106.169365,-2.233000,2.064000,-1.456802 +106.169365,-2.233000,2.064000,-1.456802 +106.169365,-2.233000,2.064000,-1.456802 +106.299343,-2.169000,2.069000,-1.457953 +106.299343,-2.169000,2.069000,-1.457953 +106.439326,-2.115000,2.075000,-1.461500 +106.439326,-2.115000,2.075000,-1.461500 +106.569362,-2.072000,2.077000,-1.467444 +106.569362,-2.072000,2.077000,-1.467444 +106.569362,-2.072000,2.077000,-1.467444 +106.569362,-2.072000,2.077000,-1.467444 +106.700277,-2.044000,2.079000,-1.476552 +106.700277,-2.044000,2.079000,-1.476552 +106.830299,-2.031000,2.088000,-1.490070 +106.830299,-2.031000,2.088000,-1.490070 +106.959304,-2.030000,2.094000,-1.505698 +106.959304,-2.030000,2.094000,-1.505698 +106.959304,-2.030000,2.094000,-1.505698 +106.959304,-2.030000,2.094000,-1.505698 +107.100258,-2.037000,2.099000,-1.520558 +107.100258,-2.037000,2.099000,-1.520558 +107.229265,-2.036000,2.103000,-1.532063 +107.229265,-2.036000,2.103000,-1.532063 +107.360420,-2.023000,2.105000,-1.538774 +107.360420,-2.023000,2.105000,-1.538774 +107.489260,-1.991000,2.106000,-1.541363 +107.489260,-1.991000,2.106000,-1.541363 +107.489260,-1.991000,2.106000,-1.541363 +107.489260,-1.991000,2.106000,-1.541363 +107.621501,-1.941000,2.108000,-1.542513 +107.621501,-1.941000,2.108000,-1.542513 +107.621501,-1.941000,2.108000,-1.542513 +107.621501,-1.941000,2.108000,-1.542513 +107.760227,-1.876000,2.111000,-1.544527 +107.760227,-1.876000,2.111000,-1.544527 +107.889214,-1.802000,2.112000,-1.546061 +107.889214,-1.802000,2.112000,-1.546061 +107.889214,-1.802000,2.112000,-1.546061 +107.889214,-1.802000,2.112000,-1.546061 +108.149178,-1.635000,2.112000,-1.548553 +108.149178,-1.635000,2.112000,-1.548553 +108.280215,-1.556000,2.112000,-1.549416 +108.280215,-1.556000,2.112000,-1.549416 +108.280215,-1.556000,2.112000,-1.549416 +108.280215,-1.556000,2.112000,-1.549416 +108.410194,-1.485000,2.110000,-1.550471 +108.410194,-1.485000,2.110000,-1.550471 +108.550153,-1.417000,2.110000,-1.551621 +108.550153,-1.417000,2.110000,-1.551621 +108.550153,-1.417000,2.110000,-1.551621 +108.679171,-1.350000,2.110000,-1.552772 +108.679171,-1.350000,2.110000,-1.552772 +108.679171,-1.350000,2.110000,-1.552772 +108.679171,-1.350000,2.110000,-1.552772 +108.679171,-1.350000,2.110000,-1.552772 +108.679171,-1.350000,2.110000,-1.552772 +108.809163,-1.287000,2.111000,-1.553635 +108.809163,-1.287000,2.111000,-1.553635 +108.939204,-1.227000,2.112000,-1.554210 +108.939204,-1.227000,2.112000,-1.554210 +109.070146,-1.167000,2.112000,-1.554977 +109.070146,-1.167000,2.112000,-1.554977 +109.070146,-1.167000,2.112000,-1.554977 +109.070146,-1.167000,2.112000,-1.554977 +109.210321,-1.108000,2.112000,-1.555360 +109.210321,-1.108000,2.112000,-1.555360 +109.339099,-1.046000,2.111000,-1.556223 +109.339099,-1.046000,2.111000,-1.556223 +109.469081,-0.982000,2.114000,-1.557374 +109.469081,-0.982000,2.114000,-1.557374 +109.469081,-0.982000,2.114000,-1.557374 +109.469081,-0.982000,2.114000,-1.557374 +109.600117,-0.922000,2.119000,-1.557757 +109.600117,-0.922000,2.119000,-1.557757 +109.729209,-0.863000,2.123000,-1.558716 +109.729209,-0.863000,2.123000,-1.558716 +109.860182,-0.803000,2.127000,-1.559195 +109.860182,-0.803000,2.127000,-1.559195 +109.860182,-0.803000,2.127000,-1.559195 +109.860182,-0.803000,2.127000,-1.559195 +110.000078,-0.741000,2.128000,-1.559579 +110.000078,-0.741000,2.128000,-1.559579 +110.130083,-0.680000,2.129000,-1.560442 +110.130083,-0.680000,2.129000,-1.560442 +110.260063,-0.618000,2.129000,-1.561209 +110.260063,-0.618000,2.129000,-1.561209 +110.260063,-0.618000,2.129000,-1.561209 +110.260063,-0.618000,2.129000,-1.561209 +110.260063,-0.618000,2.129000,-1.561209 +110.389045,-0.557000,2.132000,-1.561976 +110.389045,-0.557000,2.132000,-1.561976 +110.530044,-0.496000,2.135000,-1.562647 +110.530044,-0.496000,2.135000,-1.562647 +110.660037,-0.433000,2.136000,-1.562838 +110.660037,-0.433000,2.136000,-1.562838 +110.660037,-0.433000,2.136000,-1.562838 +110.660037,-0.433000,2.136000,-1.562838 +110.660037,-0.433000,2.136000,-1.562838 +110.660037,-0.433000,2.136000,-1.562838 +110.919145,-0.293000,2.135000,-1.563222 +110.919145,-0.293000,2.135000,-1.563222 +111.050009,-0.221000,2.134000,-1.563510 +111.050009,-0.221000,2.134000,-1.563510 +111.050009,-0.221000,2.134000,-1.563510 +111.050009,-0.221000,2.134000,-1.563510 +111.050009,-0.221000,2.134000,-1.563510 +111.050009,-0.221000,2.134000,-1.563510 +111.321084,-0.087000,2.135000,-1.564852 +111.321084,-0.087000,2.135000,-1.564852 +111.448980,-0.024000,2.137000,-1.565523 +111.448980,-0.024000,2.137000,-1.565523 +111.448980,-0.024000,2.137000,-1.565523 +111.448980,-0.024000,2.137000,-1.565523 +111.448980,-0.024000,2.137000,-1.565523 +111.448980,-0.024000,2.137000,-1.565523 +111.709065,0.099000,2.137000,-1.566865 +111.709065,0.099000,2.137000,-1.566865 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +111.848922,0.160000,2.138000,-1.567536 +112.110036,0.282000,2.140000,-1.568879 +112.110036,0.282000,2.140000,-1.568879 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.238994,0.343000,2.142000,-1.569166 +112.498903,0.467000,2.145000,-1.569646 +112.498903,0.467000,2.145000,-1.569646 +112.498903,0.467000,2.145000,-1.569646 +112.640018,0.528000,2.144000,-1.570125 +112.640018,0.528000,2.144000,-1.570125 +112.640018,0.528000,2.144000,-1.570125 +112.640018,0.528000,2.144000,-1.570125 +112.640018,0.528000,2.144000,-1.570125 +112.640018,0.528000,2.144000,-1.570125 +112.898881,0.652000,2.142000,-1.571371 +112.898881,0.652000,2.142000,-1.571371 +113.030001,0.715000,2.143000,-1.572042 +113.030001,0.715000,2.143000,-1.572042 +113.030001,0.715000,2.143000,-1.572042 +113.030001,0.715000,2.143000,-1.572042 +113.030001,0.715000,2.143000,-1.572042 +113.030001,0.715000,2.143000,-1.572042 +113.298862,0.844000,2.144000,-1.572138 +113.298862,0.844000,2.144000,-1.572138 +113.429839,0.907000,2.143000,-1.572234 +113.429839,0.907000,2.143000,-1.572234 +113.558849,0.971000,2.140000,-1.572522 +113.558849,0.971000,2.140000,-1.572522 +113.688837,1.035000,2.138000,-1.572713 +113.688837,1.035000,2.138000,-1.572713 +113.688837,1.035000,2.138000,-1.572713 +113.688837,1.035000,2.138000,-1.572713 +113.818819,1.098000,2.138000,-1.573289 +113.818819,1.098000,2.138000,-1.573289 +113.958821,1.160000,2.139000,-1.573768 +113.958821,1.160000,2.139000,-1.573768 +114.088800,1.222000,2.139000,-1.573864 +114.088800,1.222000,2.139000,-1.573864 +114.088800,1.222000,2.139000,-1.573864 +114.088800,1.222000,2.139000,-1.573864 +114.218797,1.285000,2.140000,-1.574247 +114.218797,1.285000,2.140000,-1.574247 +114.349800,1.346000,2.139000,-1.574919 +114.349800,1.346000,2.139000,-1.574919 +114.478866,1.410000,2.139000,-1.575206 +114.478866,1.410000,2.139000,-1.575206 +114.478866,1.410000,2.139000,-1.575206 +114.478866,1.410000,2.139000,-1.575206 +114.618773,1.474000,2.140000,-1.575590 +114.618773,1.474000,2.140000,-1.575590 +114.749773,1.539000,2.139000,-1.575686 +114.749773,1.539000,2.139000,-1.575686 +114.749773,1.539000,2.139000,-1.575686 +114.749773,1.539000,2.139000,-1.575686 +114.749773,1.539000,2.139000,-1.575686 +114.749773,1.539000,2.139000,-1.575686 +115.008767,1.667000,2.138000,-1.575973 +115.008767,1.667000,2.138000,-1.575973 +115.138764,1.730000,2.137000,-1.576357 +115.138764,1.730000,2.137000,-1.576357 +115.138764,1.730000,2.137000,-1.576357 +115.138764,1.730000,2.137000,-1.576357 +115.138764,1.730000,2.137000,-1.576357 +115.138764,1.730000,2.137000,-1.576357 +115.408724,1.855000,2.133000,-1.577124 +115.408724,1.855000,2.133000,-1.577124 +115.538714,1.920000,2.131000,-1.577411 +115.538714,1.920000,2.131000,-1.577411 +115.538714,1.920000,2.131000,-1.577411 +115.538714,1.920000,2.131000,-1.577411 +115.538714,1.920000,2.131000,-1.577411 +115.538714,1.920000,2.131000,-1.577411 +115.798684,2.052000,2.131000,-1.577699 +115.798684,2.052000,2.131000,-1.577699 +115.938652,2.118000,2.129000,-1.577891 +115.938652,2.118000,2.129000,-1.577891 +115.938652,2.118000,2.129000,-1.577891 +115.938652,2.118000,2.129000,-1.577891 +115.938652,2.118000,2.129000,-1.577891 +115.938652,2.118000,2.129000,-1.577891 +116.199687,2.248000,2.127000,-1.578754 +116.199687,2.248000,2.127000,-1.578754 +116.329642,2.315000,2.126000,-1.579041 +116.329642,2.315000,2.126000,-1.579041 +116.329642,2.315000,2.126000,-1.579041 +116.329642,2.315000,2.126000,-1.579041 +116.589658,2.452000,2.126000,-1.579808 +116.589658,2.452000,2.126000,-1.579808 +116.589658,2.452000,2.126000,-1.579808 +116.589658,2.452000,2.126000,-1.579808 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.728838,2.520000,2.125000,-1.580096 +116.988635,2.633000,2.131000,-1.575014 +116.988635,2.633000,2.131000,-1.575014 +117.119634,2.674000,2.134000,-1.568591 +117.119634,2.674000,2.134000,-1.568591 +117.249562,2.700000,2.136000,-1.559771 +117.249562,2.700000,2.136000,-1.559771 +117.249562,2.700000,2.136000,-1.559771 +117.249562,2.700000,2.136000,-1.559771 +117.389616,2.711000,2.135000,-1.549416 +117.389616,2.711000,2.135000,-1.549416 +117.518582,2.711000,2.136000,-1.536186 +117.518582,2.711000,2.136000,-1.536186 +117.648595,2.702000,2.134000,-1.521421 +117.648595,2.702000,2.134000,-1.521421 +117.778620,2.687000,2.134000,-1.504451 +117.778620,2.687000,2.134000,-1.504451 +117.778620,2.687000,2.134000,-1.504451 +117.778620,2.687000,2.134000,-1.504451 +117.908574,2.670000,2.132000,-1.486331 +117.908574,2.670000,2.132000,-1.486331 +118.053570,2.653000,2.132000,-1.468882 +118.053570,2.653000,2.132000,-1.468882 +118.178575,2.640000,2.133000,-1.450666 +118.178575,2.640000,2.133000,-1.450666 +118.178575,2.640000,2.133000,-1.450666 +118.178575,2.640000,2.133000,-1.450666 +118.309546,2.629000,2.134000,-1.432354 +118.309546,2.629000,2.134000,-1.432354 +118.439571,2.623000,2.134000,-1.414042 +118.439571,2.623000,2.134000,-1.414042 +118.439571,2.623000,2.134000,-1.414042 +118.439571,2.623000,2.134000,-1.414042 +118.439571,2.623000,2.134000,-1.414042 +118.439571,2.623000,2.134000,-1.414042 +118.710673,2.618000,2.129000,-1.376747 +118.710673,2.618000,2.129000,-1.376747 +118.838552,2.617000,2.127000,-1.358244 +118.838552,2.617000,2.127000,-1.358244 +118.838552,2.617000,2.127000,-1.358244 +118.838552,2.617000,2.127000,-1.358244 +118.838552,2.617000,2.127000,-1.358244 +118.838552,2.617000,2.127000,-1.358244 +119.099454,2.618000,2.124000,-1.320757 +119.099454,2.618000,2.124000,-1.320757 +119.228483,2.619000,2.123000,-1.301391 +119.228483,2.619000,2.123000,-1.301391 +119.228483,2.619000,2.123000,-1.301391 +119.228483,2.619000,2.123000,-1.301391 +119.228483,2.619000,2.123000,-1.301391 +119.228483,2.619000,2.123000,-1.301391 +119.499441,2.626000,2.113000,-1.260357 +119.499441,2.626000,2.113000,-1.260357 +119.629463,2.632000,2.106000,-1.238881 +119.629463,2.632000,2.106000,-1.238881 +119.629463,2.632000,2.106000,-1.238881 +119.629463,2.632000,2.106000,-1.238881 +119.629463,2.632000,2.106000,-1.238881 +119.629463,2.632000,2.106000,-1.238881 +119.889493,2.646000,2.092000,-1.196792 +119.889493,2.646000,2.092000,-1.196792 +120.019522,2.646000,2.092000,-1.177138 +120.019522,2.646000,2.092000,-1.177138 +120.019522,2.646000,2.092000,-1.177138 +120.019522,2.646000,2.092000,-1.177138 +120.019522,2.646000,2.092000,-1.177138 +120.019522,2.646000,2.092000,-1.177138 +120.289469,2.645000,2.092000,-1.138885 +120.289469,2.645000,2.092000,-1.138885 +120.418408,2.645000,2.093000,-1.119422 +120.418408,2.645000,2.093000,-1.119422 +120.418408,2.645000,2.093000,-1.119422 +120.418408,2.645000,2.093000,-1.119422 +120.678393,2.648000,2.092000,-1.079347 +120.678393,2.648000,2.092000,-1.079347 +120.678393,2.648000,2.092000,-1.079347 +120.678393,2.648000,2.092000,-1.079347 +120.819370,2.649000,2.090000,-1.059693 +120.819370,2.649000,2.090000,-1.059693 +120.950430,2.649000,2.088000,-1.040518 +120.950430,2.649000,2.088000,-1.040518 +121.082406,2.649000,2.087000,-1.021727 +121.082406,2.649000,2.087000,-1.021727 +121.082406,2.649000,2.087000,-1.021727 +121.082406,2.649000,2.087000,-1.021727 +121.208368,2.649000,2.085000,-1.002648 +121.208368,2.649000,2.085000,-1.002648 +121.338383,2.650000,2.086000,-0.983281 +121.338383,2.650000,2.086000,-0.983281 +121.338383,2.650000,2.086000,-0.983281 +121.479363,2.654000,2.085000,-0.963340 +121.479363,2.654000,2.085000,-0.963340 +121.479363,2.654000,2.085000,-0.963340 +121.479363,2.654000,2.085000,-0.963340 +121.608346,2.659000,2.086000,-0.943973 +121.608346,2.659000,2.086000,-0.943973 +121.739273,2.663000,2.087000,-0.924990 +121.739273,2.663000,2.087000,-0.924990 +121.739273,2.663000,2.087000,-0.924990 +121.869321,2.667000,2.087000,-0.906103 +121.869321,2.667000,2.087000,-0.906103 +121.869321,2.667000,2.087000,-0.906103 +121.869321,2.667000,2.087000,-0.906103 +121.999326,2.667000,2.088000,-0.887503 +121.999326,2.667000,2.088000,-0.887503 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.129462,2.668000,2.087000,-0.868616 +122.398244,2.671000,2.088000,-0.829979 +122.398244,2.671000,2.088000,-0.829979 +122.528284,2.671000,2.086000,-0.811380 +122.528284,2.671000,2.086000,-0.811380 +122.528284,2.671000,2.086000,-0.811380 +122.528284,2.671000,2.086000,-0.811380 +122.528284,2.671000,2.086000,-0.811380 +122.528284,2.671000,2.086000,-0.811380 +122.789265,2.673000,2.097000,-0.786069 +122.789265,2.673000,2.097000,-0.786069 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +122.929474,2.688000,2.115000,-0.779933 +123.188174,2.748000,2.180000,-0.775906 +123.188174,2.748000,2.180000,-0.775906 +123.319263,2.790000,2.223000,-0.774181 +123.319263,2.790000,2.223000,-0.774181 +123.319263,2.790000,2.223000,-0.774181 +123.319263,2.790000,2.223000,-0.774181 +123.319263,2.790000,2.223000,-0.774181 +123.319263,2.790000,2.223000,-0.774181 +123.589195,2.897000,2.330000,-0.771017 +123.589195,2.897000,2.330000,-0.771017 +123.589195,2.897000,2.330000,-0.771017 +123.718146,2.955000,2.391000,-0.769195 +123.718146,2.955000,2.391000,-0.769195 +123.718146,2.955000,2.391000,-0.769195 +123.718146,2.955000,2.391000,-0.769195 +123.718146,2.955000,2.391000,-0.769195 +123.978179,3.061000,2.493000,-0.759512 +123.978179,3.061000,2.493000,-0.759512 +123.978179,3.061000,2.493000,-0.759512 +123.978179,3.061000,2.493000,-0.759512 +124.109140,3.099000,2.524000,-0.750212 +124.109140,3.099000,2.524000,-0.750212 +124.109140,3.099000,2.524000,-0.750212 +124.109140,3.099000,2.524000,-0.750212 +124.109140,3.099000,2.524000,-0.750212 +124.109140,3.099000,2.524000,-0.750212 +124.238160,3.125000,2.548000,-0.736502 +124.238160,3.125000,2.548000,-0.736502 +124.238160,3.125000,2.548000,-0.736502 +124.238160,3.125000,2.548000,-0.736502 +124.509129,3.145000,2.575000,-0.701029 +124.509129,3.145000,2.575000,-0.701029 +124.639132,3.137000,2.573000,-0.681375 +124.639132,3.137000,2.573000,-0.681375 +124.639132,3.137000,2.573000,-0.681375 +124.769111,3.121000,2.565000,-0.662104 +124.769111,3.121000,2.565000,-0.662104 +124.769111,3.121000,2.565000,-0.662104 +124.769111,3.121000,2.565000,-0.662104 +124.769111,3.121000,2.565000,-0.662104 +124.898111,3.074000,2.516000,-0.662104 +124.898111,3.074000,2.516000,-0.662104 +125.039077,3.066000,2.528000,-0.584542 +125.039077,3.066000,2.528000,-0.584542 +125.039077,3.066000,2.528000,-0.584542 +125.168101,3.067000,2.529000,-0.574763 +125.168101,3.067000,2.529000,-0.574763 +125.168101,3.067000,2.529000,-0.574763 +125.168101,3.067000,2.529000,-0.574763 +125.168101,3.067000,2.529000,-0.574763 +125.298114,3.067000,2.530000,-0.564600 +125.298114,3.067000,2.530000,-0.564600 +125.429085,3.062000,2.526000,-0.554726 +125.429085,3.062000,2.526000,-0.554726 +125.558079,3.060000,2.525000,-0.535455 +125.558079,3.060000,2.525000,-0.535455 +125.558079,3.060000,2.525000,-0.535455 +125.558079,3.060000,2.525000,-0.535455 +125.698064,3.057000,2.522000,-0.516664 +125.698064,3.057000,2.522000,-0.516664 +125.828079,3.055000,2.519000,-0.498352 +125.828079,3.055000,2.519000,-0.498352 +125.828079,3.055000,2.519000,-0.498352 +125.959114,3.057000,2.521000,-0.480232 +125.959114,3.057000,2.521000,-0.480232 +125.959114,3.057000,2.521000,-0.480232 +125.959114,3.057000,2.521000,-0.480232 +125.959114,3.057000,2.521000,-0.480232 +126.088124,3.056000,2.520000,-0.461728 +126.088124,3.056000,2.520000,-0.461728 +126.088124,3.056000,2.520000,-0.461728 +126.219019,3.056000,2.520000,-0.443033 +126.219019,3.056000,2.520000,-0.443033 +126.359001,3.056000,2.521000,-0.424145 +126.359001,3.056000,2.521000,-0.424145 +126.359001,3.056000,2.521000,-0.424145 +126.359001,3.056000,2.521000,-0.424145 +126.488026,3.057000,2.521000,-0.405258 +126.488026,3.057000,2.521000,-0.405258 +126.488026,3.057000,2.521000,-0.405258 +126.619015,3.058000,2.520000,-0.386371 +126.619015,3.058000,2.520000,-0.386371 +126.749111,3.058000,2.518000,-0.367292 +126.749111,3.058000,2.518000,-0.367292 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +126.878970,3.059000,2.516000,-0.348213 +127.148978,3.061000,2.513000,-0.310056 +127.148978,3.061000,2.513000,-0.310056 +127.148978,3.061000,2.513000,-0.310056 +127.278963,3.061000,2.513000,-0.291168 +127.278963,3.061000,2.513000,-0.291168 +127.278963,3.061000,2.513000,-0.291168 +127.278963,3.061000,2.513000,-0.291168 +127.278963,3.061000,2.513000,-0.291168 +127.278963,3.061000,2.513000,-0.291168 +127.538947,3.068000,2.511000,-0.253682 +127.538947,3.068000,2.511000,-0.253682 +127.538947,3.068000,2.511000,-0.253682 +127.668946,3.074000,2.508000,-0.234219 +127.668946,3.074000,2.508000,-0.234219 +127.668946,3.074000,2.508000,-0.234219 +127.668946,3.074000,2.508000,-0.234219 +127.808963,3.081000,2.505000,-0.214661 +127.808963,3.081000,2.505000,-0.214661 +127.808963,3.081000,2.505000,-0.214661 +127.939003,3.089000,2.502000,-0.195199 +127.939003,3.089000,2.502000,-0.195199 +128.068905,3.089000,2.503000,-0.175832 +128.068905,3.089000,2.503000,-0.175832 +128.068905,3.089000,2.503000,-0.175832 +128.068905,3.089000,2.503000,-0.175832 +128.198869,3.091000,2.502000,-0.156466 +128.198869,3.091000,2.502000,-0.156466 +128.198869,3.091000,2.502000,-0.156466 +128.328959,3.093000,2.501000,-0.137003 +128.328959,3.093000,2.501000,-0.137003 +128.467883,3.094000,2.501000,-0.117253 +128.467883,3.094000,2.501000,-0.117253 +128.467883,3.094000,2.501000,-0.117253 +128.467883,3.094000,2.501000,-0.117253 +128.597875,3.095000,2.499000,-0.097791 +128.597875,3.095000,2.499000,-0.097791 +128.597875,3.095000,2.499000,-0.097791 +128.597875,3.095000,2.499000,-0.097791 +128.727896,3.095000,2.499000,-0.078712 +128.727896,3.095000,2.499000,-0.078712 +128.858849,3.096000,2.500000,-0.059729 +128.858849,3.096000,2.500000,-0.059729 +128.858849,3.096000,2.500000,-0.059729 +128.858849,3.096000,2.500000,-0.059729 +128.987816,3.096000,2.500000,-0.040554 +128.987816,3.096000,2.500000,-0.040554 +128.987816,3.096000,2.500000,-0.040554 +129.128845,3.098000,2.502000,-0.021380 +129.128845,3.098000,2.502000,-0.021380 +129.257842,3.098000,2.500000,-0.001725 +129.257842,3.098000,2.500000,-0.001725 +129.257842,3.098000,2.500000,-0.001725 +129.257842,3.098000,2.500000,-0.001725 +129.387843,3.103000,2.500000,0.018216 +129.387843,3.103000,2.500000,0.018216 +129.518834,3.110000,2.503000,0.038158 +129.518834,3.110000,2.503000,0.038158 +129.648873,3.117000,2.503000,0.057908 +129.648873,3.117000,2.503000,0.057908 +129.778039,3.122000,2.506000,0.077754 +129.778039,3.122000,2.506000,0.077754 +129.778039,3.122000,2.506000,0.077754 +129.778039,3.122000,2.506000,0.077754 +129.917915,3.119000,2.513000,0.094053 +129.917915,3.119000,2.513000,0.094053 +130.047779,3.115000,2.521000,0.105366 +130.047779,3.115000,2.521000,0.105366 +130.177771,3.107000,2.548000,0.112556 +130.177771,3.107000,2.548000,0.112556 +130.177771,3.107000,2.548000,0.112556 +130.177771,3.107000,2.548000,0.112556 +130.307762,3.099000,2.582000,0.112940 +130.307762,3.099000,2.582000,0.112940 +130.438892,3.095000,2.607000,0.110351 +130.438892,3.095000,2.607000,0.110351 +130.577768,3.090000,2.619000,0.105749 +130.577768,3.090000,2.619000,0.105749 +130.577768,3.090000,2.619000,0.105749 +130.577768,3.090000,2.619000,0.105749 +130.708736,3.090000,2.621000,0.099038 +130.708736,3.090000,2.621000,0.099038 +130.838696,3.089000,2.617000,0.092710 +130.838696,3.089000,2.617000,0.092710 +130.967733,3.089000,2.615000,0.084945 +130.967733,3.089000,2.615000,0.084945 +130.967733,3.089000,2.615000,0.084945 +130.967733,3.089000,2.615000,0.084945 +130.967733,3.089000,2.615000,0.084945 +130.967733,3.089000,2.615000,0.084945 +131.237700,3.082000,2.609000,0.064907 +131.237700,3.082000,2.609000,0.064907 +131.368713,3.080000,2.600000,0.050813 +131.368713,3.080000,2.600000,0.050813 +131.368713,3.080000,2.600000,0.050813 +131.368713,3.080000,2.600000,0.050813 +131.498654,3.080000,2.594000,0.035857 +131.498654,3.080000,2.594000,0.035857 +131.627699,3.081000,2.601000,0.023585 +131.627699,3.081000,2.601000,0.023585 +131.757680,3.084000,2.619000,0.015148 +131.757680,3.084000,2.619000,0.015148 +131.757680,3.084000,2.619000,0.015148 +131.757680,3.084000,2.619000,0.015148 +131.897902,3.087000,2.652000,0.010546 +131.897902,3.087000,2.652000,0.010546 +132.028693,3.086000,2.696000,0.009013 +132.028693,3.086000,2.696000,0.009013 +132.158659,3.084000,2.750000,0.007287 +132.158659,3.084000,2.750000,0.007287 +132.158659,3.084000,2.750000,0.007287 +132.158659,3.084000,2.750000,0.007287 +132.287645,3.083000,2.811000,0.005465 +132.287645,3.083000,2.811000,0.005465 +132.417620,3.083000,2.885000,0.003739 +132.417620,3.083000,2.885000,0.003739 +132.548624,3.084000,2.970000,0.002110 +132.548624,3.084000,2.970000,0.002110 +132.548624,3.084000,2.970000,0.002110 +132.548624,3.084000,2.970000,0.002110 +132.688609,3.085000,3.060000,0.000767 +132.688609,3.085000,3.060000,0.000767 +132.817602,3.085000,3.144000,-0.000767 +132.817602,3.085000,3.144000,-0.000767 +132.948600,3.086000,3.221000,-0.002109 +132.948600,3.086000,3.221000,-0.002109 +133.078590,3.085000,3.291000,-0.003451 +133.078590,3.085000,3.291000,-0.003451 +133.078590,3.085000,3.291000,-0.003451 +133.078590,3.085000,3.291000,-0.003451 +133.208575,3.089000,3.362000,-0.004793 +133.208575,3.089000,3.362000,-0.004793 +133.337566,3.093000,3.436000,-0.006040 +133.337566,3.093000,3.436000,-0.006040 +133.337566,3.093000,3.436000,-0.006040 +133.337566,3.093000,3.436000,-0.006040 +133.477564,3.098000,3.508000,-0.007094 +133.477564,3.098000,3.508000,-0.007094 +133.607559,3.103000,3.578000,-0.008053 +133.607559,3.103000,3.578000,-0.008053 +133.738526,3.104000,3.645000,-0.009395 +133.738526,3.104000,3.645000,-0.009395 +133.868561,3.106000,3.711000,-0.010354 +133.868561,3.106000,3.711000,-0.010354 +133.868561,3.106000,3.711000,-0.010354 +133.868561,3.106000,3.711000,-0.010354 +133.868561,3.106000,3.711000,-0.010354 +133.997511,3.105000,3.775000,-0.011121 +133.997511,3.105000,3.775000,-0.011121 +134.140486,3.105000,3.837000,-0.011888 +134.140486,3.105000,3.837000,-0.011888 +134.267509,3.104000,3.895000,-0.012463 +134.267509,3.104000,3.895000,-0.012463 +134.267509,3.104000,3.895000,-0.012463 +134.267509,3.104000,3.895000,-0.012463 +134.267509,3.104000,3.895000,-0.012463 +134.398510,3.104000,3.953000,-0.013039 +134.398510,3.104000,3.953000,-0.013039 +134.528498,3.104000,4.013000,-0.013806 +134.528498,3.104000,4.013000,-0.013806 +134.658466,3.104000,4.073000,-0.014668 +134.658466,3.104000,4.073000,-0.014668 +134.658466,3.104000,4.073000,-0.014668 +134.658466,3.104000,4.073000,-0.014668 +134.658466,3.104000,4.073000,-0.014668 +134.797435,3.105000,4.139000,-0.015339 +134.797435,3.105000,4.139000,-0.015339 +134.929021,3.106000,4.204000,-0.016202 +134.929021,3.106000,4.204000,-0.016202 +135.057449,3.107000,4.269000,-0.016969 +135.057449,3.107000,4.269000,-0.016969 +135.057449,3.107000,4.269000,-0.016969 +135.057449,3.107000,4.269000,-0.016969 +135.187453,3.109000,4.335000,-0.017449 +135.187453,3.109000,4.335000,-0.017449 +135.318605,3.111000,4.397000,-0.017928 +135.318605,3.111000,4.397000,-0.017928 +135.447373,3.113000,4.459000,-0.018503 +135.447373,3.113000,4.459000,-0.018503 +135.447373,3.113000,4.459000,-0.018503 +135.447373,3.113000,4.459000,-0.018503 +135.589808,3.115000,4.518000,-0.019079 +135.589808,3.115000,4.518000,-0.019079 +135.589808,3.115000,4.518000,-0.019079 +135.718396,3.116000,4.578000,-0.019654 +135.718396,3.116000,4.578000,-0.019654 +135.848409,3.120000,4.638000,-0.020229 +135.848409,3.120000,4.638000,-0.020229 +135.848409,3.120000,4.638000,-0.020229 +135.848409,3.120000,4.638000,-0.020229 +135.848409,3.120000,4.638000,-0.020229 +135.848409,3.120000,4.638000,-0.020229 +136.108478,3.125000,4.763000,-0.020996 +136.108478,3.125000,4.763000,-0.020996 +136.249362,3.128000,4.823000,-0.021667 +136.249362,3.128000,4.823000,-0.021667 +136.249362,3.128000,4.823000,-0.021667 +136.249362,3.128000,4.823000,-0.021667 +136.249362,3.128000,4.823000,-0.021667 +136.249362,3.128000,4.823000,-0.021667 +136.508338,3.131000,4.948000,-0.023585 +136.508338,3.131000,4.948000,-0.023585 +136.637360,3.134000,5.013000,-0.024448 +136.637360,3.134000,5.013000,-0.024448 +136.637360,3.134000,5.013000,-0.024448 +136.637360,3.134000,5.013000,-0.024448 +136.637360,3.134000,5.013000,-0.024448 +136.637360,3.134000,5.013000,-0.024448 +136.911352,3.140000,5.143000,-0.025310 +136.911352,3.140000,5.143000,-0.025310 +137.037380,3.142000,5.205000,-0.025598 +137.037380,3.142000,5.205000,-0.025598 +137.037380,3.142000,5.205000,-0.025598 +137.037380,3.142000,5.205000,-0.025598 +137.037380,3.142000,5.205000,-0.025598 +137.037380,3.142000,5.205000,-0.025598 +137.298460,3.145000,5.336000,-0.026653 +137.298460,3.145000,5.336000,-0.026653 +137.428333,3.146000,5.405000,-0.027036 +137.428333,3.146000,5.405000,-0.027036 +137.428333,3.146000,5.405000,-0.027036 +137.428333,3.146000,5.405000,-0.027036 +137.428333,3.146000,5.405000,-0.027036 +137.428333,3.146000,5.405000,-0.027036 +137.698558,3.151000,5.537000,-0.027132 +137.698558,3.151000,5.537000,-0.027132 +137.827259,3.154000,5.602000,-0.027324 +137.827259,3.154000,5.602000,-0.027324 +137.958284,3.156000,5.668000,-0.027707 +137.958284,3.156000,5.668000,-0.027707 +137.958284,3.156000,5.668000,-0.027707 +137.958284,3.156000,5.668000,-0.027707 +138.088461,3.158000,5.731000,-0.028187 +138.088461,3.158000,5.731000,-0.028187 +138.227246,3.160000,5.794000,-0.028570 +138.227246,3.160000,5.794000,-0.028570 +138.357225,3.161000,5.852000,-0.028858 +138.357225,3.161000,5.852000,-0.028858 +138.357225,3.161000,5.852000,-0.028858 +138.357225,3.161000,5.852000,-0.028858 +138.487221,3.162000,5.910000,-0.029049 +138.487221,3.162000,5.910000,-0.029049 +138.618459,3.164000,5.968000,-0.029337 +138.618459,3.164000,5.968000,-0.029337 +138.748222,3.165000,6.029000,-0.029912 +138.748222,3.165000,6.029000,-0.029912 +138.748222,3.165000,6.029000,-0.029912 +138.877161,3.166000,6.093000,-0.030488 +138.877161,3.166000,6.093000,-0.030488 +138.877161,3.166000,6.093000,-0.030488 +138.877161,3.166000,6.093000,-0.030488 +139.018200,3.168000,6.156000,-0.031159 +139.018200,3.168000,6.156000,-0.031159 +139.148199,3.168000,6.220000,-0.031830 +139.148199,3.168000,6.220000,-0.031830 +139.148199,3.168000,6.220000,-0.031830 +139.148199,3.168000,6.220000,-0.031830 +139.148199,3.168000,6.220000,-0.031830 +139.148199,3.168000,6.220000,-0.031830 +139.408177,3.170000,6.352000,-0.032309 +139.408177,3.170000,6.352000,-0.032309 +139.538167,3.171000,6.414000,-0.032501 +139.538167,3.171000,6.414000,-0.032501 +139.538167,3.171000,6.414000,-0.032501 +139.538167,3.171000,6.414000,-0.032501 +139.538167,3.171000,6.414000,-0.032501 +139.538167,3.171000,6.414000,-0.032501 +139.808136,3.174000,6.540000,-0.033076 +139.808136,3.174000,6.540000,-0.033076 +139.938081,3.177000,6.604000,-0.033364 +139.938081,3.177000,6.604000,-0.033364 +139.938081,3.177000,6.604000,-0.033364 +139.938081,3.177000,6.604000,-0.033364 +139.938081,3.177000,6.604000,-0.033364 +139.938081,3.177000,6.604000,-0.033364 +140.197115,3.181000,6.738000,-0.033747 +140.197115,3.181000,6.738000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.338095,3.183000,6.804000,-0.033747 +140.597108,3.190000,6.930000,-0.034706 +140.597108,3.190000,6.930000,-0.034706 +140.728090,3.193000,6.995000,-0.034994 +140.728090,3.193000,6.995000,-0.034994 +140.728090,3.193000,6.995000,-0.034994 +140.728090,3.193000,6.995000,-0.034994 +140.728090,3.193000,6.995000,-0.034994 +140.728090,3.193000,6.995000,-0.034994 +140.997197,3.205000,7.108000,-0.029816 +140.997197,3.205000,7.108000,-0.029816 +141.127056,3.210000,7.147000,-0.023585 +141.127056,3.210000,7.147000,-0.023585 +141.127056,3.210000,7.147000,-0.023585 +141.127056,3.210000,7.147000,-0.023585 +141.387019,3.220000,7.187000,-0.004698 +141.387019,3.220000,7.187000,-0.004698 +141.387019,3.220000,7.187000,-0.004698 +141.387019,3.220000,7.187000,-0.004698 +141.517008,3.224000,7.194000,0.007958 +141.517008,3.224000,7.194000,0.007958 +141.517008,3.224000,7.194000,0.007958 +141.517008,3.224000,7.194000,0.007958 +141.787039,3.206000,7.205000,0.031830 +141.787039,3.206000,7.205000,0.031830 +141.787039,3.206000,7.205000,0.031830 +141.787039,3.206000,7.205000,0.031830 +141.917000,3.197000,7.223000,0.039788 +141.917000,3.197000,7.223000,0.039788 +142.047990,3.187000,7.258000,0.043527 +142.047990,3.187000,7.258000,0.043527 +142.177068,3.185000,7.308000,0.044773 +142.177068,3.185000,7.308000,0.044773 +142.177068,3.185000,7.308000,0.044773 +142.177068,3.185000,7.308000,0.044773 +142.306981,3.184000,7.373000,0.046307 +142.306981,3.184000,7.373000,0.046307 +142.446961,3.179000,7.447000,0.047745 +142.446961,3.179000,7.447000,0.047745 +142.576992,3.175000,7.527000,0.049184 +142.576992,3.175000,7.527000,0.049184 +142.576992,3.175000,7.527000,0.049184 +142.576992,3.175000,7.527000,0.049184 +142.707945,3.171000,7.607000,0.050622 +142.707945,3.171000,7.607000,0.050622 +142.836935,3.170000,7.683000,0.051964 +142.836935,3.170000,7.683000,0.051964 +142.966936,3.166000,7.757000,0.053210 +142.966936,3.166000,7.757000,0.053210 +142.966936,3.166000,7.757000,0.053210 +142.966936,3.166000,7.757000,0.053210 +143.106866,3.162000,7.828000,0.054265 +143.106866,3.162000,7.828000,0.054265 +143.237859,3.160000,7.899000,0.055128 +143.237859,3.160000,7.899000,0.055128 +143.366913,3.154000,7.969000,0.055895 +143.366913,3.154000,7.969000,0.055895 +143.366913,3.154000,7.969000,0.055895 +143.366913,3.154000,7.969000,0.055895 +143.496881,3.148000,8.031000,0.056470 +143.496881,3.148000,8.031000,0.056470 +143.627904,3.141000,8.092000,0.056853 +143.627904,3.141000,8.092000,0.056853 +143.756878,3.133000,8.153000,0.057237 +143.756878,3.133000,8.153000,0.057237 +143.756878,3.133000,8.153000,0.057237 +143.756878,3.133000,8.153000,0.057237 +143.897860,3.127000,8.219000,0.057716 +143.897860,3.127000,8.219000,0.057716 +144.027895,3.124000,8.280000,0.058196 +144.027895,3.124000,8.280000,0.058196 +144.027895,3.124000,8.280000,0.058196 +144.027895,3.124000,8.280000,0.058196 +144.027895,3.124000,8.280000,0.058196 +144.287876,3.115000,8.392000,0.059442 +144.287876,3.115000,8.392000,0.059442 +144.287876,3.115000,8.392000,0.059442 +144.287876,3.115000,8.392000,0.059442 +144.417832,3.111000,8.445000,0.059922 +144.417832,3.111000,8.445000,0.059922 +144.417832,3.111000,8.445000,0.059922 +144.417832,3.111000,8.445000,0.059922 +144.686772,3.101000,8.563000,0.059922 +144.686772,3.101000,8.563000,0.059922 +144.686772,3.101000,8.563000,0.059922 +144.686772,3.101000,8.563000,0.059922 +144.820815,3.098000,8.620000,0.059730 +144.820815,3.098000,8.620000,0.059730 +144.820815,3.098000,8.620000,0.059730 +144.820815,3.098000,8.620000,0.059730 +145.076806,3.092000,8.730000,0.059826 +145.076806,3.092000,8.730000,0.059826 +145.076806,3.092000,8.730000,0.059826 +145.076806,3.092000,8.730000,0.059826 +145.076806,3.092000,8.730000,0.059826 +145.216778,3.088000,8.790000,0.060209 +145.216778,3.088000,8.790000,0.060209 +145.216778,3.088000,8.790000,0.060209 +145.216778,3.088000,8.790000,0.060209 +145.477770,3.080000,8.923000,0.060017 +145.477770,3.080000,8.923000,0.060017 +145.477770,3.080000,8.923000,0.060017 +145.477770,3.080000,8.923000,0.060017 +145.607759,3.075000,8.985000,0.060113 +145.607759,3.075000,8.985000,0.060113 +145.736745,3.073000,9.048000,0.059922 +145.736745,3.073000,9.048000,0.059922 +145.867776,3.072000,9.110000,0.060113 +145.867776,3.072000,9.110000,0.060113 +145.867776,3.072000,9.110000,0.060113 +145.867776,3.072000,9.110000,0.060113 +146.006817,3.072000,9.177000,0.060784 +146.006817,3.072000,9.177000,0.060784 +146.137797,3.071000,9.246000,0.061168 +146.137797,3.071000,9.246000,0.061168 +146.267712,3.072000,9.316000,0.061647 +146.267712,3.072000,9.316000,0.061647 +146.267712,3.072000,9.316000,0.061647 +146.267712,3.072000,9.316000,0.061647 +146.397833,3.072000,9.383000,0.061839 +146.397833,3.072000,9.383000,0.061839 +146.537656,3.068000,9.448000,0.061839 +146.537656,3.068000,9.448000,0.061839 +146.667737,3.067000,9.518000,0.061743 +146.667737,3.067000,9.518000,0.061743 +146.667737,3.067000,9.518000,0.061743 +146.667737,3.067000,9.518000,0.061743 +146.797700,3.063000,9.586000,0.061839 +146.797700,3.063000,9.586000,0.061839 +146.927675,3.057000,9.654000,0.061935 +146.927675,3.057000,9.654000,0.061935 +147.057649,3.053000,9.722000,0.061935 +147.057649,3.053000,9.722000,0.061935 +147.057649,3.053000,9.722000,0.061935 +147.057649,3.053000,9.722000,0.061935 +147.196663,3.049000,9.786000,0.061743 +147.196663,3.049000,9.786000,0.061743 +147.327660,3.045000,9.853000,0.061455 +147.327660,3.045000,9.853000,0.061455 +147.456637,3.040000,9.918000,0.061264 +147.456637,3.040000,9.918000,0.061264 +147.586630,3.036000,9.984000,0.061168 +147.586630,3.036000,9.984000,0.061168 +147.586630,3.036000,9.984000,0.061168 +147.586630,3.036000,9.984000,0.061168 +147.717730,3.030000,10.049000,0.061264 +147.717730,3.030000,10.049000,0.061264 +147.717730,3.030000,10.049000,0.061264 +147.717730,3.030000,10.049000,0.061264 +147.717730,3.030000,10.049000,0.061264 +147.717730,3.030000,10.049000,0.061264 +147.987585,3.020000,10.179000,0.061551 +147.987585,3.020000,10.179000,0.061551 +148.117676,3.017000,10.243000,0.061551 +148.117676,3.017000,10.243000,0.061551 +148.117676,3.017000,10.243000,0.061551 +148.117676,3.017000,10.243000,0.061551 +148.376679,3.010000,10.377000,0.061072 +148.376679,3.010000,10.377000,0.061072 +148.376679,3.010000,10.377000,0.061072 +148.376679,3.010000,10.377000,0.061072 +148.507706,3.008000,10.445000,0.060688 +148.507706,3.008000,10.445000,0.060688 +148.507706,3.008000,10.445000,0.060688 +148.507706,3.008000,10.445000,0.060688 +148.777552,2.997000,10.575000,0.060209 +148.777552,2.997000,10.575000,0.060209 +148.777552,2.997000,10.575000,0.060209 +148.777552,2.997000,10.575000,0.060209 +148.906512,2.994000,10.635000,0.060017 +148.906512,2.994000,10.635000,0.060017 +148.906512,2.994000,10.635000,0.060017 +148.906512,2.994000,10.635000,0.060017 +149.167573,2.988000,10.749000,0.059442 +149.167573,2.988000,10.749000,0.059442 +149.167573,2.988000,10.749000,0.059442 +149.167573,2.988000,10.749000,0.059442 +149.307517,2.985000,10.807000,0.059059 +149.307517,2.985000,10.807000,0.059059 +149.307517,2.985000,10.807000,0.059059 +149.307517,2.985000,10.807000,0.059059 +149.566488,2.978000,10.924000,0.058387 +149.566488,2.978000,10.924000,0.058387 +149.566488,2.978000,10.924000,0.058387 +149.566488,2.978000,10.924000,0.058387 +149.696435,2.973000,10.982000,0.058004 +149.696435,2.973000,10.982000,0.058004 +149.826495,2.971000,11.044000,0.057812 +149.826495,2.971000,11.044000,0.057812 +149.966469,2.968000,11.107000,0.057525 +149.966469,2.968000,11.107000,0.057525 +149.966469,2.968000,11.107000,0.057525 +149.966469,2.968000,11.107000,0.057525 +150.096489,2.963000,11.171000,0.057237 +150.096489,2.963000,11.171000,0.057237 +150.226443,2.959000,11.235000,0.057237 +150.226443,2.959000,11.235000,0.057237 +150.357553,2.956000,11.302000,0.057045 +150.357553,2.956000,11.302000,0.057045 +150.357553,2.956000,11.302000,0.057045 +150.357553,2.956000,11.302000,0.057045 +150.486406,2.952000,11.369000,0.056758 +150.486406,2.952000,11.369000,0.056758 +150.617442,2.948000,11.436000,0.056662 +150.617442,2.948000,11.436000,0.056662 +150.757426,2.947000,11.503000,0.056662 +150.757426,2.947000,11.503000,0.056662 +150.757426,2.947000,11.503000,0.056662 +150.757426,2.947000,11.503000,0.056662 +150.887410,2.944000,11.570000,0.056470 +150.887410,2.944000,11.570000,0.056470 +151.017413,2.942000,11.635000,0.056470 +151.017413,2.942000,11.635000,0.056470 +151.146413,2.938000,11.699000,0.056470 +151.276493,2.934000,11.761000,0.056278 +151.276493,2.934000,11.761000,0.056278 +151.276493,2.934000,11.761000,0.056278 +151.276493,2.934000,11.761000,0.056278 +151.406388,2.929000,11.820000,0.055895 +151.406388,2.929000,11.820000,0.055895 +151.546360,2.926000,11.883000,0.055607 +151.546360,2.926000,11.883000,0.055607 +151.546360,2.926000,11.883000,0.055607 +151.676362,2.924000,11.948000,0.055128 +151.676362,2.924000,11.948000,0.055128 +151.676362,2.924000,11.948000,0.055128 +151.676362,2.924000,11.948000,0.055128 +151.807575,2.920000,12.011000,0.054744 +151.807575,2.920000,12.011000,0.054744 +151.807575,2.920000,12.011000,0.054744 +151.807575,2.920000,12.011000,0.054744 +151.807575,2.920000,12.011000,0.054744 +152.077350,2.911000,12.133000,0.054457 +152.077350,2.911000,12.133000,0.054457 +152.077350,2.911000,12.133000,0.054457 +152.077350,2.911000,12.133000,0.054457 +152.077350,2.911000,12.133000,0.054457 +152.206338,2.908000,12.196000,0.054265 +152.206338,2.908000,12.196000,0.054265 +152.206338,2.908000,12.196000,0.054265 +152.337390,2.905000,12.264000,0.053977 +152.337390,2.905000,12.264000,0.053977 +152.467455,2.901000,12.331000,0.053594 +152.467455,2.901000,12.331000,0.053594 +152.467455,2.901000,12.331000,0.053594 +152.467455,2.901000,12.331000,0.053594 +152.596751,2.896000,12.399000,0.053306 +152.596751,2.896000,12.399000,0.053306 +152.727295,2.890000,12.467000,0.053114 +152.727295,2.890000,12.467000,0.053114 +152.866344,2.884000,12.532000,0.053019 +152.866344,2.884000,12.532000,0.053019 +152.866344,2.884000,12.532000,0.053019 +152.866344,2.884000,12.532000,0.053019 +152.997789,2.883000,12.598000,0.053114 +152.997789,2.883000,12.598000,0.053114 +152.997789,2.883000,12.598000,0.053114 +153.126495,2.879000,12.662000,0.052827 +153.126495,2.879000,12.662000,0.052827 +153.256270,2.875000,12.726000,0.052443 +153.256270,2.875000,12.726000,0.052443 +153.256270,2.875000,12.726000,0.052443 +153.386262,2.872000,12.788000,0.052060 +153.386262,2.872000,12.788000,0.052060 +153.386262,2.872000,12.788000,0.052060 +153.386262,2.872000,12.788000,0.052060 +153.526249,2.867000,12.850000,0.051485 +153.526249,2.867000,12.850000,0.051485 +153.526249,2.867000,12.850000,0.051485 +153.656331,2.864000,12.911000,0.051485 +153.656331,2.864000,12.911000,0.051485 +153.786181,2.863000,12.969000,0.051485 +153.786181,2.863000,12.969000,0.051485 +153.786181,2.863000,12.969000,0.051485 +153.786181,2.863000,12.969000,0.051485 +153.786181,2.863000,12.969000,0.051485 +153.917265,2.862000,13.029000,0.051197 +153.917265,2.862000,13.029000,0.051197 +153.917265,2.862000,13.029000,0.051197 +154.046212,2.861000,13.088000,0.051197 +154.046212,2.861000,13.088000,0.051197 +154.187195,2.860000,13.150000,0.050718 +154.187195,2.860000,13.150000,0.050718 +154.187195,2.860000,13.150000,0.050718 +154.187195,2.860000,13.150000,0.050718 +154.187195,2.860000,13.150000,0.050718 +154.317293,2.857000,13.215000,0.050142 +154.317293,2.857000,13.215000,0.050142 +154.447184,2.853000,13.278000,0.049855 +154.447184,2.853000,13.278000,0.049855 +154.577184,2.849000,13.345000,0.049471 +154.577184,2.849000,13.345000,0.049471 +154.577184,2.849000,13.345000,0.049471 +154.577184,2.849000,13.345000,0.049471 +154.577184,2.849000,13.345000,0.049471 +154.706212,2.846000,13.406000,0.049280 +154.706212,2.846000,13.406000,0.049280 +154.836296,2.842000,13.466000,0.048800 +154.836296,2.842000,13.466000,0.048800 +154.836296,2.842000,13.466000,0.048800 +154.976152,2.839000,13.525000,0.048321 +154.976152,2.839000,13.525000,0.048321 +154.976152,2.839000,13.525000,0.048321 +154.976152,2.839000,13.525000,0.048321 +155.106145,2.832000,13.581000,0.047745 +155.106145,2.832000,13.581000,0.047745 +155.236153,2.827000,13.639000,0.047362 +155.236153,2.827000,13.639000,0.047362 +155.367131,2.824000,13.696000,0.047362 +155.367131,2.824000,13.696000,0.047362 +155.367131,2.824000,13.696000,0.047362 +155.367131,2.824000,13.696000,0.047362 +155.496109,2.821000,13.756000,0.047362 +155.496109,2.821000,13.756000,0.047362 +155.636100,2.819000,13.815000,0.047362 +155.636100,2.819000,13.815000,0.047362 +155.767069,2.817000,13.877000,0.047362 +155.767069,2.817000,13.877000,0.047362 +155.767069,2.817000,13.877000,0.047362 +155.767069,2.817000,13.877000,0.047362 +155.767069,2.817000,13.877000,0.047362 +155.767069,2.817000,13.877000,0.047362 +156.026067,2.812000,14.006000,0.046979 +156.026067,2.812000,14.006000,0.046979 +156.157080,2.810000,14.071000,0.046595 +156.157080,2.810000,14.071000,0.046595 +156.157080,2.810000,14.071000,0.046595 +156.157080,2.810000,14.071000,0.046595 +156.157080,2.810000,14.071000,0.046595 +156.157080,2.810000,14.071000,0.046595 +156.427684,2.804000,14.199000,0.045636 +156.427684,2.804000,14.199000,0.045636 +156.557059,2.804000,14.263000,0.045349 +156.557059,2.804000,14.263000,0.045349 +156.557059,2.804000,14.263000,0.045349 +156.557059,2.804000,14.263000,0.045349 +156.686022,2.803000,14.332000,0.045157 +156.686022,2.803000,14.332000,0.045157 +156.816053,2.799000,14.399000,0.044678 +156.816053,2.799000,14.399000,0.044678 +156.945975,2.793000,14.464000,0.044294 +156.945975,2.793000,14.464000,0.044294 +156.945975,2.793000,14.464000,0.044294 +156.945975,2.793000,14.464000,0.044294 +157.089070,2.789000,14.527000,0.043719 +157.089070,2.789000,14.527000,0.043719 +157.217005,2.784000,14.590000,0.043239 +157.217005,2.784000,14.590000,0.043239 +157.346979,2.781000,14.658000,0.042760 +157.346979,2.781000,14.658000,0.042760 +157.476989,2.781000,14.723000,0.042472 +157.476989,2.781000,14.723000,0.042472 +157.476989,2.781000,14.723000,0.042472 +157.476989,2.781000,14.723000,0.042472 +157.606916,2.779000,14.790000,0.042185 +157.606916,2.779000,14.790000,0.042185 +157.747011,2.775000,14.853000,0.041897 +157.747011,2.775000,14.853000,0.041897 +157.877020,2.770000,14.918000,0.041610 +157.877020,2.770000,14.918000,0.041610 +157.877020,2.770000,14.918000,0.041610 +157.877020,2.770000,14.918000,0.041610 +158.005980,2.766000,14.988000,0.041418 +158.005980,2.766000,14.988000,0.041418 +158.136947,2.761000,15.058000,0.041130 +158.136947,2.761000,15.058000,0.041130 +158.266949,2.759000,15.130000,0.041034 +158.266949,2.759000,15.130000,0.041034 +158.266949,2.759000,15.130000,0.041034 +158.266949,2.759000,15.130000,0.041034 +158.406910,2.761000,15.202000,0.041130 +158.406910,2.761000,15.202000,0.041130 +158.536894,2.761000,15.271000,0.041226 +158.536894,2.761000,15.271000,0.041226 +158.665915,2.762000,15.336000,0.041322 +158.665915,2.762000,15.336000,0.041322 +158.665915,2.762000,15.336000,0.041322 +158.665915,2.762000,15.336000,0.041322 +158.796947,2.759000,15.398000,0.041034 +158.796947,2.759000,15.398000,0.041034 +158.926944,2.755000,15.456000,0.040459 +158.926944,2.755000,15.456000,0.040459 +159.065879,2.753000,15.518000,0.040171 +159.065879,2.753000,15.518000,0.040171 +159.065879,2.753000,15.518000,0.040171 +159.065879,2.753000,15.518000,0.040171 +159.195873,2.748000,15.583000,0.039692 +159.195873,2.748000,15.583000,0.039692 +159.326857,2.747000,15.647000,0.039404 +159.326857,2.747000,15.647000,0.039404 +159.458175,2.743000,15.709000,0.039021 +159.458175,2.743000,15.709000,0.039021 +159.458175,2.743000,15.709000,0.039021 +159.458175,2.743000,15.709000,0.039021 +159.458175,2.743000,15.709000,0.039021 +159.458175,2.743000,15.709000,0.039021 +159.726835,2.736000,15.826000,0.038254 +159.726835,2.736000,15.826000,0.038254 +159.856823,2.734000,15.890000,0.037966 +159.856823,2.734000,15.890000,0.037966 +159.986818,2.731000,15.956000,0.037775 +159.986818,2.731000,15.956000,0.037775 +159.986818,2.731000,15.956000,0.037775 +159.986818,2.731000,15.956000,0.037775 +160.116828,2.728000,16.018999,0.037583 +160.116828,2.728000,16.018999,0.037583 +160.245774,2.723000,16.079000,0.037487 +160.245774,2.723000,16.079000,0.037487 +160.375795,2.718000,16.136999,0.037391 +160.375795,2.718000,16.136999,0.037391 +160.375795,2.718000,16.136999,0.037391 +160.375795,2.718000,16.136999,0.037391 +160.515781,2.714000,16.197001,0.037295 +160.515781,2.714000,16.197001,0.037295 +160.645775,2.712000,16.257000,0.037199 +160.645775,2.712000,16.257000,0.037199 +160.776787,2.709000,16.320999,0.037103 +160.776787,2.709000,16.320999,0.037103 +160.776787,2.709000,16.320999,0.037103 +160.776787,2.709000,16.320999,0.037103 +160.776787,2.709000,16.320999,0.037103 +160.776787,2.709000,16.320999,0.037103 +160.906858,2.707000,16.382999,0.036624 +160.906858,2.707000,16.382999,0.036624 +160.906858,2.707000,16.382999,0.036624 +161.035756,2.703000,16.444000,0.036145 +161.035756,2.703000,16.444000,0.036145 +161.176744,2.700000,16.511000,0.035665 +161.176744,2.700000,16.511000,0.035665 +161.176744,2.700000,16.511000,0.035665 +161.176744,2.700000,16.511000,0.035665 +161.306849,2.699000,16.576000,0.035186 +161.306849,2.699000,16.576000,0.035186 +161.435722,2.696000,16.642000,0.034707 +161.435722,2.696000,16.642000,0.034707 +161.566728,2.697000,16.708000,0.034515 +161.566728,2.697000,16.708000,0.034515 +161.566728,2.697000,16.708000,0.034515 +161.566728,2.697000,16.708000,0.034515 +161.695657,2.697000,16.768999,0.034227 +161.695657,2.697000,16.768999,0.034227 +161.835708,2.695000,16.830000,0.033748 +161.835708,2.695000,16.830000,0.033748 +161.966716,2.693000,16.888000,0.033173 +161.966716,2.693000,16.888000,0.033173 +161.966716,2.693000,16.888000,0.033173 +161.966716,2.693000,16.888000,0.033173 +162.096631,2.692000,16.950001,0.032693 +162.096631,2.692000,16.950001,0.032693 +162.226615,2.690000,17.011000,0.032118 +162.226615,2.690000,17.011000,0.032118 +162.226615,2.690000,17.011000,0.032118 +162.226615,2.690000,17.011000,0.032118 +162.226615,2.690000,17.011000,0.032118 +162.226615,2.690000,17.011000,0.032118 +162.485655,2.688000,17.139000,0.031447 +162.485655,2.688000,17.139000,0.031447 +162.626634,2.686000,17.202000,0.031159 +162.626634,2.686000,17.202000,0.031159 +162.626634,2.686000,17.202000,0.031159 +162.626634,2.686000,17.202000,0.031159 +162.626634,2.686000,17.202000,0.031159 +162.626634,2.686000,17.202000,0.031159 +162.885662,2.684000,17.330999,0.030488 +162.885662,2.684000,17.330999,0.030488 +163.016652,2.684000,17.396999,0.030488 +163.016652,2.684000,17.396999,0.030488 +163.146720,2.682000,17.464001,0.030201 +163.146720,2.682000,17.464001,0.030201 +163.146720,2.682000,17.464001,0.030201 +163.146720,2.682000,17.464001,0.030201 +163.286610,2.682000,17.530001,0.030297 +163.286610,2.682000,17.530001,0.030297 +163.416612,2.682000,17.594000,0.030201 +163.416612,2.682000,17.594000,0.030201 +163.545542,2.681000,17.660999,0.029913 +163.545542,2.681000,17.660999,0.029913 +163.676596,2.681000,17.723000,0.029529 +163.676596,2.681000,17.723000,0.029529 +163.676596,2.681000,17.723000,0.029529 +163.676596,2.681000,17.723000,0.029529 +163.805580,2.680000,17.785999,0.029146 +163.805580,2.680000,17.785999,0.029146 +163.945575,2.679000,17.847000,0.028762 +163.945575,2.679000,17.847000,0.028762 +164.075529,2.678000,17.910000,0.028379 +164.075529,2.678000,17.910000,0.028379 +164.075529,2.678000,17.910000,0.028379 +164.075529,2.678000,17.910000,0.028379 +164.206510,2.677000,17.971001,0.028091 +164.206510,2.677000,17.971001,0.028091 +164.336556,2.676000,18.034000,0.027804 +164.336556,2.676000,18.034000,0.027804 +164.336556,2.676000,18.034000,0.027804 +164.336556,2.676000,18.034000,0.027804 +164.336556,2.676000,18.034000,0.027804 +164.336556,2.676000,18.034000,0.027804 +164.606519,2.671000,18.153999,0.027516 +164.606519,2.671000,18.153999,0.027516 +164.735605,2.669000,18.216999,0.027133 +164.735605,2.669000,18.216999,0.027133 +164.735605,2.669000,18.216999,0.027133 +164.735605,2.669000,18.216999,0.027133 +164.735605,2.669000,18.216999,0.027133 +164.735605,2.669000,18.216999,0.027133 +164.995531,2.665000,18.341000,0.026749 +164.995531,2.665000,18.341000,0.026749 +165.126493,2.664000,18.403999,0.026174 +165.126493,2.664000,18.403999,0.026174 +165.126493,2.664000,18.403999,0.026174 +165.126493,2.664000,18.403999,0.026174 +165.126493,2.664000,18.403999,0.026174 +165.126493,2.664000,18.403999,0.026174 +165.386458,2.657000,18.535000,0.025215 +165.386458,2.657000,18.535000,0.025215 +165.526479,2.656000,18.603001,0.024927 +165.526479,2.656000,18.603001,0.024927 +165.526479,2.656000,18.603001,0.024927 +165.526479,2.656000,18.603001,0.024927 +165.785473,2.653000,18.730000,0.024927 +165.785473,2.653000,18.730000,0.024927 +165.785473,2.653000,18.730000,0.024927 +165.785473,2.653000,18.730000,0.024927 +165.915451,2.651000,18.792999,0.024927 +165.915451,2.651000,18.792999,0.024927 +165.915451,2.651000,18.792999,0.024927 +165.915451,2.651000,18.792999,0.024927 +166.185434,2.650000,18.913000,0.024640 +166.185434,2.650000,18.913000,0.024640 +166.185434,2.650000,18.913000,0.024640 +166.316429,2.648000,18.975000,0.024160 +166.316429,2.648000,18.975000,0.024160 +166.316429,2.648000,18.975000,0.024160 +166.316429,2.648000,18.975000,0.024160 +166.316429,2.648000,18.975000,0.024160 +166.576413,2.649000,19.099001,0.023394 +166.576413,2.649000,19.099001,0.023394 +166.576413,2.649000,19.099001,0.023394 +166.576413,2.649000,19.099001,0.023394 +166.706398,2.648000,19.160000,0.023298 +166.706398,2.648000,19.160000,0.023298 +166.706398,2.648000,19.160000,0.023298 +166.845335,2.648000,19.226000,0.022818 +166.845335,2.648000,19.226000,0.022818 +166.975365,2.648000,19.289000,0.022051 +166.975365,2.648000,19.289000,0.022051 +166.975365,2.648000,19.289000,0.022051 +166.975365,2.648000,19.289000,0.022051 +167.106350,2.645000,19.355000,0.021476 +167.106350,2.645000,19.355000,0.021476 +167.235342,2.644000,19.419001,0.020709 +167.235342,2.644000,19.419001,0.020709 +167.366346,2.643000,19.482000,0.020421 +167.366346,2.643000,19.482000,0.020421 +167.366346,2.643000,19.482000,0.020421 +167.366346,2.643000,19.482000,0.020421 +167.507096,2.641000,19.556000,0.020421 +167.507096,2.641000,19.556000,0.020421 +167.636324,2.639000,19.618000,0.020230 +167.636324,2.639000,19.618000,0.020230 +167.766314,2.635000,19.681000,0.020038 +167.766314,2.635000,19.681000,0.020038 +167.766314,2.635000,19.681000,0.020038 +167.766314,2.635000,19.681000,0.020038 +167.895305,2.632000,19.743000,0.020134 +167.895305,2.632000,19.743000,0.020134 +168.025268,2.629000,19.808001,0.019942 +168.025268,2.629000,19.808001,0.019942 +168.025268,2.629000,19.808001,0.019942 +168.166660,2.628000,19.870001,0.020134 +168.166660,2.628000,19.870001,0.020134 +168.166660,2.628000,19.870001,0.020134 +168.166660,2.628000,19.870001,0.020134 +168.296238,2.628000,19.931999,0.020230 +168.296238,2.628000,19.931999,0.020230 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.425286,2.627000,19.996000,0.019942 +168.686264,2.623000,20.146999,0.018887 +168.686264,2.623000,20.146999,0.018887 +168.826248,2.622000,20.212000,0.018408 +168.826248,2.622000,20.212000,0.018408 +168.826248,2.622000,20.212000,0.018408 +168.826248,2.622000,20.212000,0.018408 +169.086389,2.619000,20.334999,0.017833 +169.086389,2.619000,20.334999,0.017833 +169.086389,2.619000,20.334999,0.017833 +169.086389,2.619000,20.334999,0.017833 +169.215211,2.620000,20.395000,0.017737 +169.215211,2.620000,20.395000,0.017737 +169.215211,2.620000,20.395000,0.017737 +169.215211,2.620000,20.395000,0.017737 +169.215211,2.620000,20.395000,0.017737 +169.476187,2.618000,20.521999,0.016778 +169.476187,2.618000,20.521999,0.016778 +169.476187,2.618000,20.521999,0.016778 +169.476187,2.618000,20.521999,0.016778 +169.616190,2.617000,20.584999,0.016107 +169.616190,2.617000,20.584999,0.016107 +169.616190,2.617000,20.584999,0.016107 +169.616190,2.617000,20.584999,0.016107 +169.876384,2.618000,20.714001,0.015436 +169.876384,2.618000,20.714001,0.015436 +169.876384,2.618000,20.714001,0.015436 +169.876384,2.618000,20.714001,0.015436 +170.005305,2.618000,20.777000,0.015244 +170.005305,2.618000,20.777000,0.015244 +170.005305,2.618000,20.777000,0.015244 +170.005305,2.618000,20.777000,0.015244 +170.275158,2.619000,20.908001,0.014765 +170.275158,2.619000,20.908001,0.014765 +170.275158,2.619000,20.908001,0.014765 +170.275158,2.619000,20.908001,0.014765 +170.406269,2.618000,20.971001,0.014573 +170.406269,2.618000,20.971001,0.014573 +170.536126,2.618000,21.042000,0.014861 +170.536126,2.618000,21.042000,0.014861 +170.536126,2.618000,21.042000,0.014861 +170.666191,2.619000,21.107000,0.015053 +170.666191,2.619000,21.107000,0.015053 +170.666191,2.619000,21.107000,0.015053 +170.666191,2.619000,21.107000,0.015053 +170.806124,2.619000,21.176001,0.015148 +170.806124,2.619000,21.176001,0.015148 +170.936113,2.618000,21.239000,0.015244 +170.936113,2.618000,21.239000,0.015244 +170.936113,2.618000,21.239000,0.015244 +171.066150,2.618000,21.299000,0.014861 +171.066150,2.618000,21.299000,0.014861 +171.066150,2.618000,21.299000,0.014861 +171.066150,2.618000,21.299000,0.014861 +171.066150,2.618000,21.299000,0.014861 +171.196105,2.616000,21.358999,0.014477 +171.326097,2.615000,21.423000,0.014286 +171.326097,2.615000,21.423000,0.014286 +171.326097,2.615000,21.423000,0.014286 +171.456071,2.613000,21.483999,0.013998 +171.456071,2.613000,21.483999,0.013998 +171.456071,2.613000,21.483999,0.013998 +171.456071,2.613000,21.483999,0.013998 +171.595349,2.611000,21.545000,0.013806 +171.595349,2.611000,21.545000,0.013806 +171.595349,2.611000,21.545000,0.013806 +171.725086,2.610000,21.605000,0.013518 +171.725086,2.610000,21.605000,0.013518 +171.725086,2.610000,21.605000,0.013518 +171.856027,2.609000,21.660999,0.013039 +171.856027,2.609000,21.660999,0.013039 +171.856027,2.609000,21.660999,0.013039 +171.856027,2.609000,21.660999,0.013039 +171.985098,2.609000,21.721001,0.012368 +171.985098,2.609000,21.721001,0.012368 +172.116042,2.607000,21.780001,0.011793 +172.116042,2.607000,21.780001,0.011793 +172.116042,2.607000,21.780001,0.011793 +172.256068,2.605000,21.840000,0.011122 +172.256068,2.605000,21.840000,0.011122 +172.256068,2.605000,21.840000,0.011122 +172.256068,2.605000,21.840000,0.011122 +172.256068,2.605000,21.840000,0.011122 +172.386029,2.603000,21.902000,0.010834 +172.386029,2.603000,21.902000,0.010834 +172.515000,2.601000,21.964001,0.010546 +172.515000,2.601000,21.964001,0.010546 +172.515000,2.601000,21.964001,0.010546 +172.515000,2.601000,21.964001,0.010546 +172.515000,2.601000,21.964001,0.010546 +172.774977,2.598000,22.090000,0.009684 +172.774977,2.598000,22.090000,0.009684 +172.774977,2.598000,22.090000,0.009684 +172.774977,2.598000,22.090000,0.009684 +172.915966,2.597000,22.153000,0.009492 +172.915966,2.597000,22.153000,0.009492 +172.915966,2.597000,22.153000,0.009492 +172.915966,2.597000,22.153000,0.009492 +172.915966,2.597000,22.153000,0.009492 +173.175099,2.594000,22.285000,0.009108 +173.175099,2.594000,22.285000,0.009108 +173.175099,2.594000,22.285000,0.009108 +173.175099,2.594000,22.285000,0.009108 +173.305938,2.593000,22.349001,0.009108 +173.305938,2.593000,22.349001,0.009108 +173.305938,2.593000,22.349001,0.009108 +173.305938,2.593000,22.349001,0.009108 +173.305938,2.593000,22.349001,0.009108 +173.564927,2.592000,22.475000,0.008341 +173.564927,2.592000,22.475000,0.008341 +173.564927,2.592000,22.475000,0.008341 +173.564927,2.592000,22.475000,0.008341 +173.564927,2.592000,22.475000,0.008341 +173.704918,2.591000,22.540001,0.007766 +173.704918,2.591000,22.540001,0.007766 +173.704918,2.591000,22.540001,0.007766 +173.704918,2.591000,22.540001,0.007766 +173.964884,2.588000,22.663000,0.006712 +173.964884,2.588000,22.663000,0.006712 +173.964884,2.588000,22.663000,0.006712 +173.964884,2.588000,22.663000,0.006712 +174.095904,2.588000,22.724001,0.006616 +174.095904,2.588000,22.724001,0.006616 +174.095904,2.588000,22.724001,0.006616 +174.224876,2.590000,22.783001,0.006712 +174.224876,2.590000,22.783001,0.006712 +174.224876,2.590000,22.783001,0.006712 +174.364853,2.592000,22.844000,0.006520 +174.364853,2.592000,22.844000,0.006520 +174.364853,2.592000,22.844000,0.006520 +174.364853,2.592000,22.844000,0.006520 +174.495818,2.594000,22.907000,0.005944 +174.495818,2.594000,22.907000,0.005944 +174.624849,2.594000,22.968000,0.005177 +174.624849,2.594000,22.968000,0.005177 +174.624849,2.594000,22.968000,0.005177 +174.755916,2.593000,23.033001,0.004411 +174.755916,2.593000,23.033001,0.004411 +174.755916,2.593000,23.033001,0.004411 +174.755916,2.593000,23.033001,0.004411 +174.885832,2.592000,23.097000,0.003931 +174.885832,2.592000,23.097000,0.003931 +174.885832,2.592000,23.097000,0.003931 +175.016029,2.592000,23.158001,0.003644 +175.016029,2.592000,23.158001,0.003644 +175.016029,2.592000,23.158001,0.003644 +175.156017,2.593000,23.219999,0.003644 +175.156017,2.593000,23.219999,0.003644 +175.156017,2.593000,23.219999,0.003644 +175.156017,2.593000,23.219999,0.003644 +175.285759,2.595000,23.282000,0.003452 +175.285759,2.595000,23.282000,0.003452 +175.285759,2.595000,23.282000,0.003452 +175.415968,2.595000,23.346001,0.003164 +175.415968,2.595000,23.346001,0.003164 +175.545765,2.595000,23.410999,0.002973 +175.545765,2.595000,23.410999,0.002973 +175.675847,2.595000,23.475000,0.002781 +175.675847,2.595000,23.475000,0.002781 +175.675847,2.595000,23.475000,0.002781 +175.675847,2.595000,23.475000,0.002781 +175.675847,2.595000,23.475000,0.002781 +175.814759,2.594000,23.539000,0.002685 +175.814759,2.594000,23.539000,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +175.944765,2.593000,23.603001,0.002685 +176.204741,2.596000,23.732000,0.002589 +176.204741,2.596000,23.732000,0.002589 +176.204741,2.596000,23.732000,0.002589 +176.204741,2.596000,23.732000,0.002589 +176.475746,2.598000,23.864000,0.001918 +176.475746,2.598000,23.864000,0.001918 +176.475746,2.598000,23.864000,0.001918 +176.475746,2.598000,23.864000,0.001918 +176.604717,2.597000,23.936001,0.001726 +176.604717,2.597000,23.936001,0.001726 +176.604717,2.597000,23.936001,0.001726 +176.604717,2.597000,23.936001,0.001726 +176.865694,2.601000,24.083000,0.000959 +176.865694,2.601000,24.083000,0.000959 +176.865694,2.601000,24.083000,0.000959 +176.865694,2.601000,24.083000,0.000959 +176.995692,2.601000,24.152000,0.000959 +176.995692,2.601000,24.152000,0.000959 +176.995692,2.601000,24.152000,0.000959 +176.995692,2.601000,24.152000,0.000959 +177.264643,2.602000,24.289000,-0.000287 +177.264643,2.602000,24.289000,-0.000287 +177.264643,2.602000,24.289000,-0.000287 +177.264643,2.602000,24.289000,-0.000287 +177.394671,2.600000,24.353001,0.000480 +177.394671,2.600000,24.353001,0.000480 +177.394671,2.600000,24.353001,0.000480 +177.394671,2.600000,24.353001,0.000480 +177.656282,2.600000,24.459000,0.008054 +177.656282,2.600000,24.459000,0.008054 +177.656282,2.600000,24.459000,0.008054 +177.656282,2.600000,24.459000,0.008054 +177.785650,2.601000,24.490000,0.015244 +177.785650,2.601000,24.490000,0.015244 +177.785650,2.601000,24.490000,0.015244 +177.785650,2.601000,24.490000,0.015244 +178.055630,2.598000,24.514000,0.021380 +178.055630,2.598000,24.514000,0.021380 +178.055630,2.598000,24.514000,0.021380 +178.055630,2.598000,24.514000,0.021380 +178.184616,2.597000,24.534000,0.019175 +178.184616,2.597000,24.534000,0.019175 +178.314610,2.596000,24.525000,0.013902 +178.314610,2.596000,24.525000,0.013902 +178.444576,2.596000,24.510000,0.006712 +178.444576,2.596000,24.510000,0.006712 +178.444576,2.596000,24.510000,0.006712 +178.444576,2.596000,24.510000,0.006712 +178.444576,2.596000,24.510000,0.006712 +178.585598,2.595000,24.490999,-0.001150 +178.585598,2.595000,24.490999,-0.001150 +178.714633,2.592000,24.474001,-0.010929 +178.714633,2.592000,24.474001,-0.010929 +178.844592,2.588000,24.462000,-0.024256 +178.844592,2.588000,24.462000,-0.024256 +178.844592,2.588000,24.462000,-0.024256 +178.974579,2.585000,24.455999,-0.040171 +178.974579,2.585000,24.455999,-0.040171 +178.974579,2.585000,24.455999,-0.040171 +178.974579,2.585000,24.455999,-0.040171 +178.974579,2.585000,24.455999,-0.040171 +179.104565,2.581000,24.448999,-0.058387 +179.104565,2.581000,24.448999,-0.058387 +179.247529,2.577000,24.444000,-0.078137 +179.247529,2.577000,24.444000,-0.078137 +179.374549,2.576000,24.444000,-0.098846 +179.374549,2.576000,24.444000,-0.098846 +179.374549,2.576000,24.444000,-0.098846 +179.374549,2.576000,24.444000,-0.098846 +179.504540,2.572000,24.443001,-0.118979 +179.504540,2.572000,24.443001,-0.118979 +179.634536,2.570000,24.441999,-0.139017 +179.634536,2.570000,24.441999,-0.139017 +179.765528,2.567000,24.441999,-0.158958 +179.765528,2.567000,24.441999,-0.158958 +179.765528,2.567000,24.441999,-0.158958 +179.765528,2.567000,24.441999,-0.158958 +179.905516,2.564000,24.440001,-0.178037 +179.905516,2.564000,24.440001,-0.178037 +180.035513,2.565000,24.438000,-0.196733 +180.035513,2.565000,24.438000,-0.196733 +180.164504,2.564000,24.438000,-0.214853 +180.164504,2.564000,24.438000,-0.214853 +180.164504,2.564000,24.438000,-0.214853 +180.164504,2.564000,24.438000,-0.214853 +180.294497,2.564000,24.437000,-0.233261 +180.294497,2.564000,24.437000,-0.233261 +180.425517,2.563000,24.438000,-0.251764 +180.425517,2.563000,24.438000,-0.251764 +180.554473,2.563000,24.438999,-0.270460 +180.554473,2.563000,24.438999,-0.270460 +180.554473,2.563000,24.438999,-0.270460 +180.554473,2.563000,24.438999,-0.270460 +180.694467,2.563000,24.438999,-0.289539 +180.694467,2.563000,24.438999,-0.289539 +180.825444,2.563000,24.438999,-0.308234 +180.825444,2.563000,24.438999,-0.308234 +180.954476,2.563000,24.440001,-0.326738 +180.954476,2.563000,24.440001,-0.326738 +180.954476,2.563000,24.440001,-0.326738 +180.954476,2.563000,24.440001,-0.326738 +181.084406,2.562000,24.441000,-0.345241 +181.084406,2.562000,24.441000,-0.345241 +181.214435,2.563000,24.441000,-0.364128 +181.214435,2.563000,24.441000,-0.364128 +181.355502,2.563000,24.441000,-0.382920 +181.355502,2.563000,24.441000,-0.382920 +181.355502,2.563000,24.441000,-0.382920 +181.355502,2.563000,24.441000,-0.382920 +181.485393,2.564000,24.441000,-0.401807 +181.485393,2.564000,24.441000,-0.401807 +181.615411,2.563000,24.440001,-0.420119 +181.615411,2.563000,24.440001,-0.420119 +181.744382,2.562000,24.440001,-0.437855 +181.744382,2.562000,24.440001,-0.437855 +181.744382,2.562000,24.440001,-0.437855 +181.744382,2.562000,24.440001,-0.437855 +181.878444,2.562000,24.438999,-0.455209 +181.878444,2.562000,24.438999,-0.455209 +182.015426,2.561000,24.438999,-0.472657 +182.015426,2.561000,24.438999,-0.472657 +182.145386,2.562000,24.438999,-0.490586 +182.145386,2.562000,24.438999,-0.490586 +182.275399,2.561000,24.438999,-0.508514 +182.275399,2.561000,24.438999,-0.508514 +182.275399,2.561000,24.438999,-0.508514 +182.275399,2.561000,24.438999,-0.508514 +182.404474,2.561000,24.438000,-0.526730 +182.404474,2.561000,24.438000,-0.526730 +182.534411,2.560000,24.434999,-0.544946 +182.534411,2.560000,24.434999,-0.544946 +182.676354,2.560000,24.434000,-0.563067 +182.676354,2.560000,24.434000,-0.563067 +182.676354,2.560000,24.434000,-0.563067 +182.676354,2.560000,24.434000,-0.563067 +182.805337,2.561000,24.431999,-0.581187 +182.805337,2.561000,24.431999,-0.581187 +182.934638,2.561000,24.431000,-0.599307 +182.934638,2.561000,24.431000,-0.599307 +183.065316,2.562000,24.433001,-0.617810 +183.065316,2.562000,24.433001,-0.617810 +183.065316,2.562000,24.433001,-0.617810 +183.065316,2.562000,24.433001,-0.617810 +183.194619,2.562000,24.431000,-0.636122 +183.194619,2.562000,24.431000,-0.636122 +183.325341,2.563000,24.431000,-0.654626 +183.325341,2.563000,24.431000,-0.654626 +183.465296,2.562000,24.431999,-0.673130 +183.465296,2.562000,24.431999,-0.673130 +183.465296,2.562000,24.431999,-0.673130 +183.465296,2.562000,24.431999,-0.673130 +183.594267,2.562000,24.430000,-0.691442 +183.594267,2.562000,24.430000,-0.691442 +183.725256,2.563000,24.430000,-0.709753 +183.725256,2.563000,24.430000,-0.709753 +183.854343,2.565000,24.429001,-0.728161 +183.854343,2.565000,24.429001,-0.728161 +183.854343,2.565000,24.429001,-0.728161 +183.854343,2.565000,24.429001,-0.728161 +183.985253,2.567000,24.427000,-0.746761 +183.985253,2.567000,24.427000,-0.746761 +184.124245,2.573000,24.424999,-0.765744 +184.124245,2.573000,24.424999,-0.765744 +184.255179,2.579000,24.426001,-0.784343 +184.255179,2.579000,24.426001,-0.784343 +184.255179,2.579000,24.426001,-0.784343 +184.255179,2.579000,24.426001,-0.784343 +184.385221,2.584000,24.426001,-0.803039 +184.385221,2.584000,24.426001,-0.803039 +184.516444,2.591000,24.424999,-0.821446 +184.516444,2.591000,24.424999,-0.821446 +184.645209,2.591000,24.426001,-0.839471 +184.645209,2.591000,24.426001,-0.839471 +184.645209,2.591000,24.426001,-0.839471 +184.645209,2.591000,24.426001,-0.839471 +184.784213,2.594000,24.424000,-0.857878 +184.784213,2.594000,24.424000,-0.857878 +184.915261,2.595000,24.423000,-0.876382 +184.915261,2.595000,24.423000,-0.876382 +185.045129,2.595000,24.421000,-0.894982 +185.045129,2.595000,24.421000,-0.894982 +185.175587,2.596000,24.417999,-0.913581 +185.175587,2.596000,24.417999,-0.913581 +185.175587,2.596000,24.417999,-0.913581 +185.175587,2.596000,24.417999,-0.913581 +185.304156,2.595000,24.416000,-0.932085 +185.304156,2.595000,24.416000,-0.932085 +185.445097,2.596000,24.414000,-0.950588 +185.445097,2.596000,24.414000,-0.950588 +185.574147,2.595000,24.412001,-0.968996 +185.574147,2.595000,24.412001,-0.968996 +185.574147,2.595000,24.412001,-0.968996 +185.574147,2.595000,24.412001,-0.968996 +185.704151,2.594000,24.410000,-0.987500 +185.704151,2.594000,24.410000,-0.987500 +185.834093,2.593000,24.409000,-1.005908 +185.834093,2.593000,24.409000,-1.005908 +185.964122,2.592000,24.407000,-1.024411 +185.964122,2.592000,24.407000,-1.024411 +185.964122,2.592000,24.407000,-1.024411 +185.964122,2.592000,24.407000,-1.024411 +186.094190,2.593000,24.403999,-1.042627 +186.094190,2.593000,24.403999,-1.042627 +186.234149,2.593000,24.400999,-1.061227 +186.234149,2.593000,24.400999,-1.061227 +186.364071,2.595000,24.399000,-1.080018 +186.364071,2.595000,24.399000,-1.080018 +186.364071,2.595000,24.399000,-1.080018 +186.494048,2.595000,24.396000,-1.098905 +186.494048,2.595000,24.396000,-1.098905 +186.625080,2.596000,24.393999,-1.118655 +186.625080,2.596000,24.393999,-1.118655 +186.754066,2.596000,24.391001,-1.138213 +186.754066,2.596000,24.391001,-1.138213 +186.754066,2.596000,24.391001,-1.138213 +186.754066,2.596000,24.391001,-1.138213 +186.894031,2.595000,24.388000,-1.157868 +186.894031,2.595000,24.388000,-1.157868 +187.025008,2.595000,24.386999,-1.177330 +187.025008,2.595000,24.386999,-1.177330 +187.155063,2.594000,24.385000,-1.196409 +187.155063,2.594000,24.385000,-1.196409 +187.155063,2.594000,24.385000,-1.196409 +187.155063,2.594000,24.385000,-1.196409 +187.155063,2.594000,24.385000,-1.196409 +187.155063,2.594000,24.385000,-1.196409 +187.415056,2.591000,24.379999,-1.235142 +187.415056,2.591000,24.379999,-1.235142 +187.554084,2.591000,24.375000,-1.255371 +187.554084,2.591000,24.375000,-1.255371 +187.554084,2.591000,24.375000,-1.255371 +187.554084,2.591000,24.375000,-1.255371 +187.554084,2.591000,24.375000,-1.255371 +187.554084,2.591000,24.375000,-1.255371 +187.815025,2.590000,24.365000,-1.297364 +187.815025,2.590000,24.365000,-1.297364 +187.944989,2.592000,24.361000,-1.318264 +187.944989,2.592000,24.361000,-1.318264 +187.944989,2.592000,24.361000,-1.318264 +187.944989,2.592000,24.361000,-1.318264 +187.944989,2.592000,24.361000,-1.318264 +187.944989,2.592000,24.361000,-1.318264 +188.214016,2.594000,24.357000,-1.359107 +188.214016,2.594000,24.357000,-1.359107 +188.343967,2.595000,24.356001,-1.378953 +188.343967,2.595000,24.356001,-1.378953 +188.474054,2.589000,24.357000,-1.399182 +188.474054,2.589000,24.357000,-1.399182 +188.474054,2.589000,24.357000,-1.399182 +188.474054,2.589000,24.357000,-1.399182 +188.604969,2.584000,24.357000,-1.419028 +188.604969,2.584000,24.357000,-1.419028 +188.734022,2.579000,24.356001,-1.438970 +188.734022,2.579000,24.356001,-1.438970 +188.734022,2.579000,24.356001,-1.438970 +188.734022,2.579000,24.356001,-1.438970 +188.866061,2.573000,24.356001,-1.458815 +188.866061,2.573000,24.356001,-1.458815 +189.003997,2.577000,24.356001,-1.478853 +189.003997,2.577000,24.356001,-1.478853 +189.133974,2.580000,24.354000,-1.497836 +189.133974,2.580000,24.354000,-1.497836 +189.264899,2.580000,24.351000,-1.512601 +189.264899,2.580000,24.351000,-1.512601 +189.264899,2.580000,24.351000,-1.512601 +189.264899,2.580000,24.351000,-1.512601 +189.394897,2.585000,24.349001,-1.519024 +189.394897,2.585000,24.349001,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.523908,2.587000,24.344000,-1.519024 +189.794880,2.627000,24.344000,-1.510396 +189.794880,2.627000,24.344000,-1.510396 +189.923861,2.662000,24.344000,-1.509820 +189.923861,2.662000,24.344000,-1.509820 +189.923861,2.662000,24.344000,-1.509820 +189.923861,2.662000,24.344000,-1.509820 +190.185960,2.766000,24.348000,-1.510012 +190.185960,2.766000,24.348000,-1.510012 +190.185960,2.766000,24.348000,-1.510012 +190.185960,2.766000,24.348000,-1.510012 +190.314833,2.829000,24.350000,-1.510108 +190.314833,2.829000,24.350000,-1.510108 +190.314833,2.829000,24.350000,-1.510108 +190.314833,2.829000,24.350000,-1.510108 +190.584808,2.981000,24.358999,-1.510204 +190.584808,2.981000,24.358999,-1.510204 +190.584808,2.981000,24.358999,-1.510204 +190.584808,2.981000,24.358999,-1.510204 +190.714896,3.062000,24.364000,-1.510683 +190.714896,3.062000,24.364000,-1.510683 +190.714896,3.062000,24.364000,-1.510683 +190.714896,3.062000,24.364000,-1.510683 +190.984808,3.199000,24.379000,-1.511929 +190.984808,3.199000,24.379000,-1.511929 +190.984808,3.199000,24.379000,-1.511929 +190.984808,3.199000,24.379000,-1.511929 +191.113794,3.244000,24.384001,-1.512601 +191.113794,3.244000,24.384001,-1.512601 +191.113794,3.244000,24.384001,-1.512601 +191.113794,3.244000,24.384001,-1.512601 +191.373932,3.289000,24.385000,-1.520462 +191.373932,3.289000,24.385000,-1.520462 +191.373932,3.289000,24.385000,-1.520462 +191.373932,3.289000,24.385000,-1.520462 +191.503842,3.296000,24.385000,-1.528228 +191.503842,3.296000,24.385000,-1.528228 +191.634754,3.288000,24.385000,-1.539349 +191.634754,3.288000,24.385000,-1.539349 +191.774740,3.271000,24.382999,-1.552676 +191.774740,3.271000,24.382999,-1.552676 +191.774740,3.271000,24.382999,-1.552676 +191.774740,3.271000,24.382999,-1.552676 +191.904734,3.251000,24.379000,-1.569166 +191.904734,3.251000,24.379000,-1.569166 +192.033708,3.232000,24.375999,-1.587957 +192.033708,3.232000,24.375999,-1.587957 +192.163700,3.218000,24.371000,-1.607899 +192.163700,3.218000,24.371000,-1.607899 +192.294709,3.209000,24.368000,-1.627457 +192.294709,3.209000,24.368000,-1.627457 +192.294709,3.209000,24.368000,-1.627457 +192.294709,3.209000,24.368000,-1.627457 +192.434693,3.202000,24.365999,-1.646824 +192.434693,3.202000,24.365999,-1.646824 +192.564690,3.198000,24.365000,-1.666478 +192.564690,3.198000,24.365000,-1.666478 +192.694687,3.198000,24.364000,-1.686132 +192.694687,3.198000,24.364000,-1.686132 +192.694687,3.198000,24.364000,-1.686132 +192.694687,3.198000,24.364000,-1.686132 +192.694687,3.198000,24.364000,-1.686132 +192.823701,3.198000,24.362000,-1.705786 +192.823701,3.198000,24.362000,-1.705786 +192.954644,3.197000,24.360001,-1.725440 +192.954644,3.197000,24.360001,-1.725440 +193.094644,3.196000,24.358999,-1.744423 +193.094644,3.196000,24.358999,-1.744423 +193.094644,3.196000,24.358999,-1.744423 +193.094644,3.196000,24.358999,-1.744423 +193.224638,3.195000,24.357000,-1.763598 +193.224638,3.195000,24.357000,-1.763598 +193.224638,3.195000,24.357000,-1.763598 +193.354602,3.195000,24.357000,-1.782965 +193.354602,3.195000,24.357000,-1.782965 +193.485169,3.194000,24.356001,-1.802331 +193.485169,3.194000,24.356001,-1.802331 +193.485169,3.194000,24.356001,-1.802331 +193.485169,3.194000,24.356001,-1.802331 +193.613621,3.194000,24.354000,-1.821698 +193.613621,3.194000,24.354000,-1.821698 +193.613621,3.194000,24.354000,-1.821698 +193.753600,3.193000,24.354000,-1.841064 +193.753600,3.193000,24.354000,-1.841064 +193.884819,3.193000,24.351999,-1.860431 +193.884819,3.193000,24.351999,-1.860431 +193.884819,3.193000,24.351999,-1.860431 +193.884819,3.193000,24.351999,-1.860431 +194.013587,3.193000,24.350000,-1.879701 +194.013587,3.193000,24.350000,-1.879701 +194.143557,3.192000,24.347000,-1.898780 +194.143557,3.192000,24.347000,-1.898780 +194.143557,3.192000,24.347000,-1.898780 +194.274755,3.193000,24.346001,-1.917955 +194.274755,3.193000,24.346001,-1.917955 +194.274755,3.193000,24.346001,-1.917955 +194.274755,3.193000,24.346001,-1.917955 +194.274755,3.193000,24.346001,-1.917955 +194.403512,3.192000,24.347000,-1.937034 +194.403512,3.192000,24.347000,-1.937034 +194.403512,3.192000,24.347000,-1.937034 +194.403512,3.192000,24.347000,-1.937034 +194.403512,3.192000,24.347000,-1.937034 +194.673551,3.192000,24.348000,-1.975000 +194.673551,3.192000,24.348000,-1.975000 +194.673551,3.192000,24.348000,-1.975000 +194.673551,3.192000,24.348000,-1.975000 +194.804524,3.191000,24.347000,-1.993695 +194.804524,3.191000,24.347000,-1.993695 +194.804524,3.191000,24.347000,-1.993695 +194.804524,3.191000,24.347000,-1.993695 +194.804524,3.191000,24.347000,-1.993695 +195.063483,3.192000,24.346001,-2.030894 +195.063483,3.192000,24.346001,-2.030894 +195.063483,3.192000,24.346001,-2.030894 +195.063483,3.192000,24.346001,-2.030894 +195.203508,3.191000,24.348000,-2.049302 +195.203508,3.191000,24.348000,-2.049302 +195.203508,3.191000,24.348000,-2.049302 +195.203508,3.191000,24.348000,-2.049302 +195.203508,3.191000,24.348000,-2.049302 +195.464510,3.190000,24.350000,-2.086501 +195.464510,3.190000,24.350000,-2.086501 +195.594499,3.191000,24.354000,-2.105292 +195.594499,3.191000,24.354000,-2.105292 +195.594499,3.191000,24.354000,-2.105292 +195.594499,3.191000,24.354000,-2.105292 +195.724445,3.191000,24.354000,-2.123892 +195.724445,3.191000,24.354000,-2.123892 +195.864549,3.191000,24.353001,-2.142300 +195.864549,3.191000,24.353001,-2.142300 +195.993462,3.196000,24.353001,-2.160899 +195.993462,3.196000,24.353001,-2.160899 +195.993462,3.196000,24.353001,-2.160899 +195.993462,3.196000,24.353001,-2.160899 +196.124461,3.200000,24.354000,-2.179978 +196.124461,3.200000,24.354000,-2.179978 +196.254465,3.206000,24.357000,-2.199345 +196.254465,3.206000,24.357000,-2.199345 +196.384433,3.212000,24.358999,-2.219286 +196.384433,3.212000,24.358999,-2.219286 +196.384433,3.212000,24.358999,-2.219286 +196.384433,3.212000,24.358999,-2.219286 +196.523499,3.215000,24.365000,-2.239324 +196.523499,3.215000,24.365000,-2.239324 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.655506,3.215000,24.365999,-2.259362 +196.913415,3.218000,24.370001,-2.299629 +196.913415,3.218000,24.370001,-2.299629 +196.913415,3.218000,24.370001,-2.299629 +197.043565,3.220000,24.372000,-2.319666 +197.043565,3.220000,24.372000,-2.319666 +197.173437,3.219000,24.374001,-2.339896 +197.173437,3.219000,24.374001,-2.339896 +197.173437,3.219000,24.374001,-2.339896 +197.173437,3.219000,24.374001,-2.339896 +197.313382,3.216000,24.378000,-2.360509 +197.313382,3.216000,24.378000,-2.360509 +197.444401,3.212000,24.378000,-2.378341 +197.444401,3.212000,24.378000,-2.378341 +197.574360,3.213000,24.374001,-2.390900 +197.574360,3.213000,24.374001,-2.390900 +197.574360,3.213000,24.374001,-2.390900 +197.574360,3.213000,24.374001,-2.390900 +197.703369,3.216000,24.361000,-2.398762 +197.703369,3.216000,24.361000,-2.398762 +197.834345,3.233000,24.339001,-2.402214 +197.834345,3.233000,24.339001,-2.402214 +197.973353,3.258000,24.311001,-2.403843 +197.973353,3.258000,24.311001,-2.403843 +197.973353,3.258000,24.311001,-2.403843 +197.973353,3.258000,24.311001,-2.403843 +198.104273,3.287000,24.277000,-2.406049 +198.104273,3.287000,24.277000,-2.406049 +198.104273,3.287000,24.277000,-2.406049 +198.104273,3.287000,24.277000,-2.406049 +198.104273,3.287000,24.277000,-2.406049 +198.364352,3.353000,24.209999,-2.417074 +198.364352,3.353000,24.209999,-2.417074 +198.364352,3.353000,24.209999,-2.417074 +198.364352,3.353000,24.209999,-2.417074 +198.494531,3.379000,24.188000,-2.428962 +198.494531,3.379000,24.188000,-2.428962 +198.494531,3.379000,24.188000,-2.428962 +198.494531,3.379000,24.188000,-2.428962 +198.763491,3.404000,24.176001,-2.465394 +198.763491,3.404000,24.176001,-2.465394 +198.763491,3.404000,24.176001,-2.465394 +198.763491,3.404000,24.176001,-2.465394 +198.894321,3.404000,24.177999,-2.485624 +198.894321,3.404000,24.177999,-2.485624 +198.894321,3.404000,24.177999,-2.485624 +198.894321,3.404000,24.177999,-2.485624 +199.153306,3.394000,24.198000,-2.526754 +199.153306,3.394000,24.198000,-2.526754 +199.283240,3.386000,24.211000,-2.548038 +199.283240,3.386000,24.211000,-2.548038 +199.283240,3.386000,24.211000,-2.548038 +199.283240,3.386000,24.211000,-2.548038 +199.283240,3.386000,24.211000,-2.548038 +199.283240,3.386000,24.211000,-2.548038 +199.554242,3.382000,24.226000,-2.593386 +199.554242,3.382000,24.226000,-2.593386 +199.684249,3.386000,24.229000,-2.616108 +199.684249,3.386000,24.229000,-2.616108 +199.684249,3.386000,24.229000,-2.616108 +199.684249,3.386000,24.229000,-2.616108 +199.813285,3.392000,24.226999,-2.639981 +199.813285,3.392000,24.226999,-2.639981 +199.944576,3.399000,24.230000,-2.664524 +199.944576,3.399000,24.230000,-2.664524 +200.086477,3.407000,24.233000,-2.690698 +200.086477,3.407000,24.233000,-2.690698 +200.086477,3.407000,24.233000,-2.690698 +200.086477,3.407000,24.233000,-2.690698 +200.214188,3.429000,24.237000,-2.718597 +200.214188,3.429000,24.237000,-2.718597 +200.343185,3.449000,24.240999,-2.745538 +200.343185,3.449000,24.240999,-2.745538 +200.474234,3.496000,24.240999,-2.745538 +200.474234,3.496000,24.240999,-2.745538 +200.474234,3.496000,24.240999,-2.745538 +200.474234,3.496000,24.240999,-2.745538 +200.604147,3.513000,24.240999,-2.745538 +200.604147,3.513000,24.240999,-2.745538 +200.743114,3.441000,24.239000,-2.854738 +200.743114,3.441000,24.239000,-2.854738 +200.874218,3.408000,24.237000,-2.865859 +200.874218,3.408000,24.237000,-2.865859 +200.874218,3.408000,24.237000,-2.865859 +200.874218,3.408000,24.237000,-2.865859 +201.003137,3.394000,24.239000,-2.876789 +201.003137,3.394000,24.239000,-2.876789 +201.134101,3.393000,24.238001,-2.888390 +201.134101,3.393000,24.238001,-2.888390 +201.263111,3.390000,24.238001,-2.911303 +201.263111,3.390000,24.238001,-2.911303 +201.263111,3.390000,24.238001,-2.911303 +201.263111,3.390000,24.238001,-2.911303 +201.403066,3.396000,24.240000,-2.934697 +201.403066,3.396000,24.240000,-2.934697 +201.534101,3.402000,24.240000,-2.958569 +201.534101,3.402000,24.240000,-2.958569 +201.663481,3.398000,24.240999,-2.982634 +201.663481,3.398000,24.240999,-2.982634 +201.794072,3.403000,24.243000,-3.006890 +201.794072,3.403000,24.243000,-3.006890 +201.794072,3.403000,24.243000,-3.006890 +201.794072,3.403000,24.243000,-3.006890 +201.923066,3.417000,24.240999,-3.031337 +201.923066,3.417000,24.240999,-3.031337 +202.063060,3.427000,24.240999,-3.055306 +202.063060,3.427000,24.240999,-3.055306 +202.194071,3.436000,24.242001,-3.078603 +202.194071,3.436000,24.242001,-3.078603 +202.194071,3.436000,24.242001,-3.078603 +202.194071,3.436000,24.242001,-3.078603 +202.324059,3.444000,24.240999,-3.096148 +202.324059,3.444000,24.240999,-3.096148 +202.453165,3.448000,24.243000,-3.107365 +202.453165,3.448000,24.243000,-3.107365 +202.583029,3.455000,24.243000,-3.113693 +202.583029,3.455000,24.243000,-3.113693 +202.583029,3.455000,24.243000,-3.113693 +202.583029,3.455000,24.243000,-3.113693 +202.583029,3.455000,24.243000,-3.113693 +202.583029,3.455000,24.243000,-3.113693 +202.853039,3.455000,24.237000,-3.115802 +202.853039,3.455000,24.237000,-3.115802 +202.982991,3.455000,24.215000,-3.117911 +202.982991,3.455000,24.215000,-3.117911 +202.982991,3.455000,24.215000,-3.117911 +202.982991,3.455000,24.215000,-3.117911 +203.113003,3.456000,24.177999,-3.120021 +203.113003,3.456000,24.177999,-3.120021 +203.242935,3.456000,24.127001,-3.121842 +203.242935,3.456000,24.127001,-3.121842 +203.372976,3.453000,24.070999,-3.122993 +203.372976,3.453000,24.070999,-3.122993 +203.372976,3.453000,24.070999,-3.122993 +203.372976,3.453000,24.070999,-3.122993 +203.512980,3.455000,24.004999,-3.124910 +203.512980,3.455000,24.004999,-3.124910 +203.644017,3.456000,23.878000,-3.125965 +203.644017,3.456000,23.878000,-3.125965 +203.773945,3.461000,23.813999,-3.127786 +203.773945,3.461000,23.813999,-3.127786 +203.773945,3.461000,23.813999,-3.127786 +203.773945,3.461000,23.813999,-3.127786 +203.902919,3.467000,23.746000,-3.129608 +203.902919,3.467000,23.746000,-3.129608 +204.032936,3.473000,23.688000,-3.130759 +204.032936,3.473000,23.688000,-3.130759 +204.164010,3.482000,23.624001,-3.132868 +204.164010,3.482000,23.624001,-3.132868 +204.164010,3.482000,23.624001,-3.132868 +204.164010,3.482000,23.624001,-3.132868 +204.303922,3.485000,23.542999,-3.134114 +204.303922,3.485000,23.542999,-3.134114 +204.433883,3.489000,23.480000,-3.135744 +204.433883,3.489000,23.480000,-3.135744 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.563870,3.491000,23.423000,-3.137086 +204.822926,3.492000,23.295000,-3.138716 +204.822926,3.492000,23.295000,-3.138716 +204.963880,3.491000,23.205000,-3.139579 +204.963880,3.491000,23.205000,-3.139579 +204.963880,3.491000,23.205000,-3.139579 +204.963880,3.491000,23.205000,-3.139579 +205.093919,3.488000,23.146000,-3.140154 +205.093919,3.488000,23.146000,-3.140154 +205.222890,3.486000,23.084999,-3.141113 +205.222890,3.486000,23.084999,-3.141113 +205.353833,3.484000,23.010000,-3.141784 +205.353833,3.484000,23.010000,-3.141784 +205.353833,3.484000,23.010000,-3.141784 +205.353833,3.484000,23.010000,-3.141784 +205.353833,3.484000,23.010000,-3.141784 +205.353833,3.484000,23.010000,-3.141784 +205.623883,3.484000,22.884001,-3.142551 +205.623883,3.484000,22.884001,-3.142551 +205.752817,3.483000,22.820000,-3.143318 +205.752817,3.483000,22.820000,-3.143318 +205.883034,3.482000,22.754999,-3.143989 +205.883034,3.482000,22.754999,-3.143989 +205.883034,3.482000,22.754999,-3.143989 +205.883034,3.482000,22.754999,-3.143989 +206.012825,3.482000,22.674000,-3.144565 +206.012825,3.482000,22.674000,-3.144565 +206.142898,3.482000,22.612000,-3.145236 +206.142898,3.482000,22.612000,-3.145236 +206.282792,3.483000,22.552999,-3.145427 +206.282792,3.483000,22.552999,-3.145427 +206.282792,3.483000,22.552999,-3.145427 +206.282792,3.483000,22.552999,-3.145427 +206.413765,3.484000,22.492001,-3.145619 +206.413765,3.484000,22.492001,-3.145619 +206.543783,3.485000,22.431000,-3.146003 +206.543783,3.485000,22.431000,-3.146003 +206.673848,3.484000,22.368000,-3.146386 +206.673848,3.484000,22.368000,-3.146386 +206.673848,3.484000,22.368000,-3.146386 +206.673848,3.484000,22.368000,-3.146386 +206.802783,3.483000,22.299999,-3.146769 +206.802783,3.483000,22.299999,-3.146769 +206.932719,3.482000,22.231001,-3.146961 +206.932719,3.482000,22.231001,-3.146961 +207.073726,3.480000,22.160999,-3.147153 +207.073726,3.480000,22.160999,-3.147153 +207.073726,3.480000,22.160999,-3.147153 +207.073726,3.480000,22.160999,-3.147153 +207.073726,3.480000,22.160999,-3.147153 +207.202752,3.478000,22.096001,-3.147249 +207.202752,3.478000,22.096001,-3.147249 +207.333704,3.478000,22.032000,-3.147632 +207.333704,3.478000,22.032000,-3.147632 +207.462716,3.475000,21.969000,-3.148208 +207.462716,3.475000,21.969000,-3.148208 +207.462716,3.475000,21.969000,-3.148208 +207.462716,3.475000,21.969000,-3.148208 +207.462716,3.475000,21.969000,-3.148208 +207.462716,3.475000,21.969000,-3.148208 +207.733694,3.471000,21.841000,-3.149454 +207.733694,3.471000,21.841000,-3.149454 +207.863690,3.466000,21.777000,-3.149550 +207.863690,3.466000,21.777000,-3.149550 +207.863690,3.466000,21.777000,-3.149550 +207.863690,3.466000,21.777000,-3.149550 +207.863690,3.466000,21.777000,-3.149550 +207.863690,3.466000,21.777000,-3.149550 +208.123769,3.459000,21.671000,-3.143510 +208.123769,3.459000,21.671000,-3.143510 +208.252660,3.454000,21.636999,-3.136894 +208.252660,3.454000,21.636999,-3.136894 +208.252660,3.454000,21.636999,-3.136894 +208.252660,3.454000,21.636999,-3.136894 +208.252660,3.454000,21.636999,-3.136894 +208.252660,3.454000,21.636999,-3.136894 +208.522647,3.445000,21.599001,-3.116473 +208.522647,3.445000,21.599001,-3.116473 +208.653653,3.441000,21.593000,-3.102476 +208.653653,3.441000,21.593000,-3.102476 +208.653653,3.441000,21.593000,-3.102476 +208.653653,3.441000,21.593000,-3.102476 +208.653653,3.441000,21.593000,-3.102476 +208.653653,3.441000,21.593000,-3.102476 +208.913629,3.446000,21.580999,-3.078124 +208.913629,3.446000,21.580999,-3.078124 +209.052565,3.453000,21.562000,-3.071125 +209.052565,3.453000,21.562000,-3.071125 +209.052565,3.453000,21.562000,-3.071125 +209.052565,3.453000,21.562000,-3.071125 +209.052565,3.453000,21.562000,-3.071125 +209.052565,3.453000,21.562000,-3.071125 +209.312586,3.464000,21.473000,-3.067194 +209.312586,3.464000,21.473000,-3.067194 +209.443587,3.467000,21.409000,-3.065660 +209.443587,3.467000,21.409000,-3.065660 +209.572671,3.472000,21.334000,-3.064318 +209.572671,3.472000,21.334000,-3.064318 +209.572671,3.472000,21.334000,-3.064318 +209.572671,3.472000,21.334000,-3.064318 +209.713573,3.480000,21.261999,-3.062976 +209.713573,3.480000,21.261999,-3.062976 +209.843042,3.485000,21.191000,-3.061921 +209.843042,3.485000,21.191000,-3.061921 +209.973558,3.490000,21.125000,-3.061154 +209.973558,3.490000,21.125000,-3.061154 +209.973558,3.490000,21.125000,-3.061154 +209.973558,3.490000,21.125000,-3.061154 +210.102534,3.495000,21.062000,-3.060387 +210.102534,3.495000,21.062000,-3.060387 +210.233553,3.498000,20.996000,-3.059524 +210.233553,3.498000,20.996000,-3.059524 +210.363475,3.502000,20.934000,-3.058757 +210.363475,3.502000,20.934000,-3.058757 +210.495522,3.508000,20.874001,-3.057607 +210.495522,3.508000,20.874001,-3.057607 +210.495522,3.508000,20.874001,-3.057607 +210.495522,3.508000,20.874001,-3.057607 +210.632501,3.513000,20.815001,-3.056744 +210.632501,3.513000,20.815001,-3.056744 +210.762506,3.519000,20.750000,-3.056073 +210.762506,3.519000,20.750000,-3.056073 +210.894721,3.524000,20.681999,-3.055594 +210.894721,3.524000,20.681999,-3.055594 +210.894721,3.524000,20.681999,-3.055594 +210.894721,3.524000,20.681999,-3.055594 +211.023489,3.528000,20.610001,-3.055018 +211.023489,3.528000,20.610001,-3.055018 +211.162501,3.533000,20.537001,-3.055114 +211.162501,3.533000,20.537001,-3.055114 +211.292467,3.538000,20.468000,-3.054731 +211.292467,3.538000,20.468000,-3.054731 +211.292467,3.538000,20.468000,-3.054731 +211.292467,3.538000,20.468000,-3.054731 +211.423730,3.545000,20.399000,-3.054539 +211.423730,3.545000,20.399000,-3.054539 +211.553652,3.550000,20.334000,-3.054922 +211.553652,3.550000,20.334000,-3.054922 +211.553652,3.550000,20.334000,-3.054922 +211.553652,3.550000,20.334000,-3.054922 +211.553652,3.550000,20.334000,-3.054922 +211.553652,3.550000,20.334000,-3.054922 +211.827420,3.565000,20.202999,-3.054060 +211.827420,3.565000,20.202999,-3.054060 +211.952434,3.573000,20.139999,-3.053484 +211.952434,3.573000,20.139999,-3.053484 +211.952434,3.573000,20.139999,-3.053484 +211.952434,3.573000,20.139999,-3.053484 +212.082512,3.581000,20.075001,-3.052621 +212.082512,3.581000,20.075001,-3.052621 +212.214415,3.587000,20.010000,-3.052142 +212.214415,3.587000,20.010000,-3.052142 +212.343405,3.594000,19.947001,-3.051567 +212.343405,3.594000,19.947001,-3.051567 +212.343405,3.594000,19.947001,-3.051567 +212.343405,3.594000,19.947001,-3.051567 +212.343405,3.594000,19.947001,-3.051567 +212.343405,3.594000,19.947001,-3.051567 +212.612419,3.605000,19.816000,-3.051279 +212.612419,3.605000,19.816000,-3.051279 +212.742497,3.612000,19.750000,-3.051087 +212.742497,3.612000,19.750000,-3.051087 +212.742497,3.612000,19.750000,-3.051087 +212.742497,3.612000,19.750000,-3.051087 +212.742497,3.612000,19.750000,-3.051087 +212.742497,3.612000,19.750000,-3.051087 +213.003295,3.626000,19.620001,-3.050704 +213.003295,3.626000,19.620001,-3.050704 +213.132348,3.632000,19.561001,-3.050800 +213.132348,3.632000,19.561001,-3.050800 +213.132348,3.632000,19.561001,-3.050800 +213.132348,3.632000,19.561001,-3.050800 +213.132348,3.632000,19.561001,-3.050800 +213.132348,3.632000,19.561001,-3.050800 +213.402437,3.642000,19.452000,-3.051567 +213.402437,3.642000,19.452000,-3.051567 +213.532322,3.647000,19.393000,-3.051567 +213.532322,3.647000,19.393000,-3.051567 +213.662312,3.655000,19.334999,-3.051471 +213.662312,3.655000,19.334999,-3.051471 +213.662312,3.655000,19.334999,-3.051471 +213.794076,3.661000,19.275000,-3.051471 +213.794076,3.661000,19.275000,-3.051471 +213.794076,3.661000,19.275000,-3.051471 +213.794076,3.661000,19.275000,-3.051471 +213.933300,3.667000,19.216000,-3.051854 +213.933300,3.667000,19.216000,-3.051854 +214.062360,3.673000,19.138000,-3.052238 +214.062360,3.673000,19.138000,-3.052238 +214.193343,3.678000,19.079000,-3.052526 +214.193343,3.678000,19.079000,-3.052526 +214.193343,3.678000,19.079000,-3.052526 +214.193343,3.678000,19.079000,-3.052526 +214.322288,3.683000,19.018000,-3.052717 +214.322288,3.683000,19.018000,-3.052717 +214.466507,3.688000,18.955999,-3.053197 +214.466507,3.688000,18.955999,-3.053197 +214.592277,3.695000,18.898001,-3.053293 +214.592277,3.695000,18.898001,-3.053293 +214.592277,3.695000,18.898001,-3.053293 +214.592277,3.695000,18.898001,-3.053293 +214.723244,3.701000,18.836000,-3.054155 +214.723244,3.701000,18.836000,-3.054155 +214.852244,3.706000,18.774000,-3.054922 +214.852244,3.706000,18.774000,-3.054922 +214.982181,3.713000,18.712000,-3.055210 +214.982181,3.713000,18.712000,-3.055210 +214.982181,3.713000,18.712000,-3.055210 +214.982181,3.713000,18.712000,-3.055210 +215.128207,3.716000,18.650000,-3.055881 +215.128207,3.716000,18.650000,-3.055881 +215.128207,3.716000,18.650000,-3.055881 +215.128207,3.716000,18.650000,-3.055881 +215.382213,3.727000,18.524000,-3.055594 +215.382213,3.727000,18.524000,-3.055594 +215.382213,3.727000,18.524000,-3.055594 +215.382213,3.727000,18.524000,-3.055594 +215.513190,3.735000,18.459999,-3.055114 +215.513190,3.735000,18.459999,-3.055114 +215.513190,3.735000,18.459999,-3.055114 +215.513190,3.735000,18.459999,-3.055114 +215.782279,3.743000,18.326000,-3.055210 +215.782279,3.743000,18.326000,-3.055210 +215.782279,3.743000,18.326000,-3.055210 +215.782279,3.743000,18.326000,-3.055210 +215.912193,3.746000,18.257000,-3.055498 +215.912193,3.746000,18.257000,-3.055498 +215.912193,3.746000,18.257000,-3.055498 +215.912193,3.746000,18.257000,-3.055498 +216.172119,3.752000,18.114000,-3.056648 +216.172119,3.752000,18.114000,-3.056648 +216.302140,3.759000,18.049999,-3.056744 +216.302140,3.759000,18.049999,-3.056744 +216.302140,3.759000,18.049999,-3.056744 +216.302140,3.759000,18.049999,-3.056744 +216.432151,3.766000,17.986000,-3.056552 +216.432151,3.766000,17.986000,-3.056552 +216.573133,3.773000,17.921000,-3.056744 +216.573133,3.773000,17.921000,-3.056744 +216.703129,3.778000,17.853001,-3.056936 +216.703129,3.778000,17.853001,-3.056936 +216.703129,3.778000,17.853001,-3.056936 +216.703129,3.778000,17.853001,-3.056936 +216.833089,3.783000,17.787001,-3.057032 +216.833089,3.783000,17.787001,-3.057032 +216.963166,3.789000,17.724001,-3.057128 +216.963166,3.789000,17.724001,-3.057128 +217.093094,3.796000,17.663000,-3.057511 +217.093094,3.796000,17.663000,-3.057511 +217.093094,3.796000,17.663000,-3.057511 +217.093094,3.796000,17.663000,-3.057511 +217.232074,3.805000,17.601000,-3.057607 +217.232074,3.805000,17.601000,-3.057607 +217.363025,3.811000,17.537001,-3.057990 +217.363025,3.811000,17.537001,-3.057990 +217.492136,3.815000,17.475000,-3.058374 +217.492136,3.815000,17.475000,-3.058374 +217.492136,3.815000,17.475000,-3.058374 +217.492136,3.815000,17.475000,-3.058374 +217.623004,3.819000,17.415001,-3.058566 +217.623004,3.819000,17.415001,-3.058566 +217.753026,3.824000,17.356001,-3.058566 +217.753026,3.824000,17.356001,-3.058566 +217.883060,3.829000,17.295000,-3.058757 +217.883060,3.829000,17.295000,-3.058757 +217.883060,3.829000,17.295000,-3.058757 +217.883060,3.829000,17.295000,-3.058757 +218.023021,3.835000,17.232000,-3.058757 +218.023021,3.835000,17.232000,-3.058757 +218.152980,3.841000,17.171000,-3.058757 +218.152980,3.841000,17.171000,-3.058757 +218.281991,3.848000,17.112000,-3.058757 +218.281991,3.848000,17.112000,-3.058757 +218.281991,3.848000,17.112000,-3.058757 +218.281991,3.848000,17.112000,-3.058757 +218.411977,3.853000,17.049999,-3.058470 +218.411977,3.853000,17.049999,-3.058470 +218.543091,3.858000,16.990000,-3.058470 +218.543091,3.858000,16.990000,-3.058470 +218.672950,3.863000,16.929001,-3.058757 +218.672950,3.863000,16.929001,-3.058757 +218.672950,3.863000,16.929001,-3.058757 +218.672950,3.863000,16.929001,-3.058757 +218.811920,3.864000,16.868999,-3.059429 +218.811920,3.864000,16.868999,-3.059429 +218.941965,3.867000,16.812000,-3.060100 +218.941965,3.867000,16.812000,-3.060100 +219.071934,3.872000,16.753000,-3.060483 +219.071934,3.872000,16.753000,-3.060483 +219.204007,3.875000,16.691000,-3.060962 +219.204007,3.875000,16.691000,-3.060962 +219.204007,3.875000,16.691000,-3.060962 +219.204007,3.875000,16.691000,-3.060962 +219.341938,3.879000,16.628000,-3.061154 +219.341938,3.879000,16.628000,-3.061154 +219.472950,3.884000,16.559000,-3.061442 +219.472950,3.884000,16.559000,-3.061442 +219.603438,3.888000,16.490000,-3.061729 +219.603438,3.888000,16.490000,-3.061729 +219.603438,3.888000,16.490000,-3.061729 +219.603438,3.888000,16.490000,-3.061729 +219.732914,3.893000,16.423000,-3.061729 +219.732914,3.893000,16.423000,-3.061729 +219.862900,3.898000,16.357000,-3.061825 +219.862900,3.898000,16.357000,-3.061825 +220.002981,3.902000,16.292000,-3.062017 +220.002981,3.902000,16.292000,-3.062017 +220.002981,3.902000,16.292000,-3.062017 +220.002981,3.902000,16.292000,-3.062017 +220.002981,3.902000,16.292000,-3.062017 +220.002981,3.902000,16.292000,-3.062017 +220.261855,3.909000,16.160000,-3.062113 +220.261855,3.909000,16.160000,-3.062113 +220.397862,3.915000,16.091999,-3.062305 +220.397862,3.915000,16.091999,-3.062305 +220.397862,3.915000,16.091999,-3.062305 +220.397862,3.915000,16.091999,-3.062305 +220.522016,3.920000,16.023001,-3.062496 +220.522016,3.920000,16.023001,-3.062496 +220.522016,3.920000,16.023001,-3.062496 +220.661855,3.925000,15.955000,-3.062880 +220.661855,3.925000,15.955000,-3.062880 +220.791794,3.928000,15.889000,-3.063455 +220.791794,3.928000,15.889000,-3.063455 +220.791794,3.928000,15.889000,-3.063455 +220.791794,3.928000,15.889000,-3.063455 +220.922798,3.930000,15.824000,-3.063935 +220.922798,3.930000,15.824000,-3.063935 +221.052868,3.933000,15.762000,-3.064318 +221.052868,3.933000,15.762000,-3.064318 +221.181819,3.938000,15.706000,-3.064222 +221.181819,3.938000,15.706000,-3.064222 +221.181819,3.938000,15.706000,-3.064222 +221.181819,3.938000,15.706000,-3.064222 +221.311814,3.946000,15.652000,-3.064126 +221.311814,3.946000,15.652000,-3.064126 +221.451798,3.949000,15.593000,-3.064606 +221.451798,3.949000,15.593000,-3.064606 +221.583794,3.952000,15.533000,-3.065085 +221.583794,3.952000,15.533000,-3.065085 +221.583794,3.952000,15.533000,-3.065085 +221.583794,3.952000,15.533000,-3.065085 +221.711783,3.954000,15.470000,-3.066044 +221.711783,3.954000,15.470000,-3.066044 +221.842780,3.957000,15.406000,-3.066715 +221.842780,3.957000,15.406000,-3.066715 +221.971729,3.963000,15.344000,-3.066811 +221.971729,3.963000,15.344000,-3.066811 +221.971729,3.963000,15.344000,-3.066811 +221.971729,3.963000,15.344000,-3.066811 +222.113756,3.969000,15.281000,-3.066811 +222.113756,3.969000,15.281000,-3.066811 +222.113756,3.969000,15.281000,-3.066811 +222.241770,3.975000,15.215000,-3.066907 +222.241770,3.975000,15.215000,-3.066907 +222.371748,3.980000,15.153000,-3.067098 +222.371748,3.980000,15.153000,-3.067098 +222.502836,3.985000,15.091000,-3.067290 +222.502836,3.985000,15.091000,-3.067290 +222.502836,3.985000,15.091000,-3.067290 +222.502836,3.985000,15.091000,-3.067290 +222.632752,3.991000,15.029000,-3.067770 +222.632752,3.991000,15.029000,-3.067770 +222.761685,3.994000,14.964000,-3.068153 +222.761685,3.994000,14.964000,-3.068153 +222.901707,3.998000,14.895000,-3.068441 +222.901707,3.998000,14.895000,-3.068441 +222.901707,3.998000,14.895000,-3.068441 +222.901707,3.998000,14.895000,-3.068441 +223.032708,4.005000,14.827000,-3.068632 +223.032708,4.005000,14.827000,-3.068632 +223.162681,4.011000,14.761000,-3.068728 +223.162681,4.011000,14.761000,-3.068728 +223.291741,4.017000,14.696000,-3.068824 +223.291741,4.017000,14.696000,-3.068824 +223.291741,4.017000,14.696000,-3.068824 +223.291741,4.017000,14.696000,-3.068824 +223.421639,4.021000,14.632000,-3.069112 +223.421639,4.021000,14.632000,-3.069112 +223.551767,4.024000,14.567000,-3.069591 +223.551767,4.024000,14.567000,-3.069591 +223.691690,4.028000,14.502000,-3.069975 +223.691690,4.028000,14.502000,-3.069975 +223.691690,4.028000,14.502000,-3.069975 +223.691690,4.028000,14.502000,-3.069975 +223.691690,4.028000,14.502000,-3.069975 +223.691690,4.028000,14.502000,-3.069975 +223.952639,4.042000,14.378000,-3.070070 +223.952639,4.042000,14.378000,-3.070070 +224.081656,4.048000,14.316000,-3.070070 +224.081656,4.048000,14.316000,-3.070070 +224.081656,4.048000,14.316000,-3.070070 +224.081656,4.048000,14.316000,-3.070070 +224.221609,4.055000,14.252000,-3.070166 +224.221609,4.055000,14.252000,-3.070166 +224.351618,4.058000,14.184000,-3.070262 +224.351618,4.058000,14.184000,-3.070262 +224.482630,4.064000,14.113000,-3.070262 +224.482630,4.064000,14.113000,-3.070262 +224.612667,4.070000,14.046000,-3.070358 +224.612667,4.070000,14.046000,-3.070358 +224.612667,4.070000,14.046000,-3.070358 +224.612667,4.070000,14.046000,-3.070358 +224.741618,4.075000,13.985000,-3.070454 +224.741618,4.075000,13.985000,-3.070454 +224.883567,4.081000,13.923000,-3.070837 +224.883567,4.081000,13.923000,-3.070837 +225.011565,4.087000,13.858000,-3.072276 +225.011565,4.087000,13.858000,-3.072276 +225.011565,4.087000,13.858000,-3.072276 +225.011565,4.087000,13.858000,-3.072276 +225.141635,4.091000,13.798000,-3.076398 +225.141635,4.091000,13.798000,-3.076398 +225.271609,4.097000,13.748000,-3.082822 +225.271609,4.097000,13.748000,-3.082822 +225.401531,4.101000,13.716000,-3.092313 +225.401531,4.101000,13.716000,-3.092313 +225.401531,4.101000,13.716000,-3.092313 +225.401531,4.101000,13.716000,-3.092313 +225.543519,4.117000,13.697000,-3.106598 +225.543519,4.117000,13.697000,-3.106598 +225.672544,4.138000,13.688000,-3.123664 +225.672544,4.138000,13.688000,-3.123664 +225.802525,4.155000,13.687000,-3.143222 +225.802525,4.155000,13.687000,-3.143222 +225.802525,4.155000,13.687000,-3.143222 +225.802525,4.155000,13.687000,-3.143222 +225.931510,4.167000,13.694000,-3.163739 +225.931510,4.167000,13.694000,-3.163739 +226.061556,4.169000,13.706000,-3.183777 +226.061556,4.169000,13.706000,-3.183777 +226.202451,4.163000,13.717000,-3.202472 +226.202451,4.163000,13.717000,-3.202472 +226.202451,4.163000,13.717000,-3.202472 +226.202451,4.163000,13.717000,-3.202472 +226.332496,4.148000,13.714000,-3.217333 +226.332496,4.148000,13.714000,-3.217333 +226.462447,4.131000,13.698000,-3.227975 +226.462447,4.131000,13.698000,-3.227975 +226.591459,4.112000,13.666000,-3.233631 +226.591459,4.112000,13.666000,-3.233631 +226.591459,4.112000,13.666000,-3.233631 +226.591459,4.112000,13.666000,-3.233631 +226.722395,4.097000,13.621000,-3.235453 +226.722395,4.097000,13.621000,-3.235453 +226.862465,4.087000,13.563000,-3.236699 +226.862465,4.087000,13.563000,-3.236699 +226.991496,4.081000,13.492000,-3.238329 +226.991496,4.081000,13.492000,-3.238329 +226.991496,4.081000,13.492000,-3.238329 +226.991496,4.081000,13.492000,-3.238329 +227.121570,4.074000,13.412000,-3.240055 +227.121570,4.074000,13.412000,-3.240055 +227.252420,4.067000,13.329000,-3.241876 +227.252420,4.067000,13.329000,-3.241876 +227.382376,4.066000,13.252000,-3.243698 +227.382376,4.066000,13.252000,-3.243698 +227.382376,4.066000,13.252000,-3.243698 +227.382376,4.066000,13.252000,-3.243698 +227.382376,4.066000,13.252000,-3.243698 +227.382376,4.066000,13.252000,-3.243698 +227.651380,4.053000,13.114000,-3.247341 +227.651380,4.053000,13.114000,-3.247341 +227.781367,4.043000,13.048000,-3.248875 +227.781367,4.043000,13.048000,-3.248875 +227.781367,4.043000,13.048000,-3.248875 +227.781367,4.043000,13.048000,-3.248875 +227.781367,4.043000,13.048000,-3.248875 +227.781367,4.043000,13.048000,-3.248875 +228.042369,4.028000,12.920000,-3.250984 +228.042369,4.028000,12.920000,-3.250984 +228.172358,4.021000,12.860000,-3.252039 +228.172358,4.021000,12.860000,-3.252039 +228.312615,4.015000,12.800000,-3.252998 +228.312615,4.015000,12.800000,-3.252998 +228.312615,4.015000,12.800000,-3.252998 +228.312615,4.015000,12.800000,-3.252998 +228.442433,4.007000,12.739000,-3.253956 +228.442433,4.007000,12.739000,-3.253956 +228.571615,3.999000,12.679000,-3.254532 +228.571615,3.999000,12.679000,-3.254532 +228.701414,3.990000,12.615000,-3.255203 +228.701414,3.990000,12.615000,-3.255203 +228.701414,3.990000,12.615000,-3.255203 +228.701414,3.990000,12.615000,-3.255203 +228.701414,3.990000,12.615000,-3.255203 +228.831298,3.981000,12.552000,-3.255682 +228.831298,3.981000,12.552000,-3.255682 +228.971451,3.975000,12.489000,-3.256257 +228.971451,3.975000,12.489000,-3.256257 +229.102302,3.966000,12.427000,-3.256449 +229.102302,3.966000,12.427000,-3.256449 +229.102302,3.966000,12.427000,-3.256449 +229.102302,3.966000,12.427000,-3.256449 +229.231239,3.955000,12.377000,-3.254340 +229.231239,3.955000,12.377000,-3.254340 +229.362347,3.951000,12.326000,-3.249450 +229.362347,3.951000,12.326000,-3.249450 +229.491312,3.944000,12.286000,-3.240822 +229.491312,3.944000,12.286000,-3.240822 +229.491312,3.944000,12.286000,-3.240822 +229.491312,3.944000,12.286000,-3.240822 +229.491312,3.944000,12.286000,-3.240822 +229.491312,3.944000,12.286000,-3.240822 +229.761245,3.940000,12.239000,-3.213498 +229.761245,3.940000,12.239000,-3.213498 +229.891257,3.933000,12.237000,-3.197583 +229.891257,3.933000,12.237000,-3.197583 +229.891257,3.933000,12.237000,-3.197583 +229.891257,3.933000,12.237000,-3.197583 +229.891257,3.933000,12.237000,-3.197583 +229.891257,3.933000,12.237000,-3.197583 +230.152361,3.928000,12.235000,-3.174381 +230.152361,3.928000,12.235000,-3.174381 +230.282233,3.931000,12.209000,-3.169300 +230.282233,3.931000,12.209000,-3.169300 +230.282233,3.931000,12.209000,-3.169300 +230.282233,3.931000,12.209000,-3.169300 +230.282233,3.931000,12.209000,-3.169300 +230.282233,3.931000,12.209000,-3.169300 +230.552206,3.934000,12.108000,-3.167191 +230.552206,3.934000,12.108000,-3.167191 +230.682217,3.937000,12.041000,-3.166519 +230.682217,3.937000,12.041000,-3.166519 +230.682217,3.937000,12.041000,-3.166519 +230.682217,3.937000,12.041000,-3.166519 +230.682217,3.937000,12.041000,-3.166519 +230.682217,3.937000,12.041000,-3.166519 +230.942430,3.936000,11.880000,-3.165369 +230.942430,3.936000,11.880000,-3.165369 +231.081135,3.934000,11.793000,-3.164698 +231.081135,3.934000,11.793000,-3.164698 +231.081135,3.934000,11.793000,-3.164698 +231.211174,3.934000,11.712000,-3.163835 +231.211174,3.934000,11.712000,-3.163835 +231.211174,3.934000,11.712000,-3.163835 +231.211174,3.934000,11.712000,-3.163835 +231.342956,3.934000,11.643000,-3.163643 +231.342956,3.934000,11.643000,-3.163643 +231.472263,3.934000,11.578000,-3.163068 +231.472263,3.934000,11.578000,-3.163068 +231.472263,3.934000,11.578000,-3.163068 +231.602147,3.933000,11.515000,-3.162685 +231.602147,3.933000,11.515000,-3.162685 +231.602147,3.933000,11.515000,-3.162685 +231.602147,3.933000,11.515000,-3.162685 +231.732141,3.933000,11.456000,-3.162397 +231.871079,3.931000,11.394000,-3.161822 +231.871079,3.931000,11.394000,-3.161822 +232.001901,3.928000,11.334000,-3.161438 +232.001901,3.928000,11.334000,-3.161438 +232.131049,3.929000,11.269000,-3.161342 +232.131049,3.929000,11.269000,-3.161342 +232.131049,3.929000,11.269000,-3.161342 +232.131049,3.929000,11.269000,-3.161342 +232.261108,3.929000,11.204000,-3.161342 +232.261108,3.929000,11.204000,-3.161342 +232.391100,3.927000,11.143000,-3.161055 +232.391100,3.927000,11.143000,-3.161055 +232.532039,3.925000,11.084000,-3.161055 +232.532039,3.925000,11.084000,-3.161055 +232.532039,3.925000,11.084000,-3.161055 +232.532039,3.925000,11.084000,-3.161055 +232.662214,3.920000,11.019000,-3.161151 +232.662214,3.920000,11.019000,-3.161151 +232.792145,3.916000,10.956000,-3.160863 +232.792145,3.916000,10.956000,-3.160863 +232.921354,3.912000,10.886000,-3.161055 +232.921354,3.912000,10.886000,-3.161055 +232.921354,3.912000,10.886000,-3.161055 +232.921354,3.912000,10.886000,-3.161055 +233.051105,3.912000,10.819000,-3.161151 +233.051105,3.912000,10.819000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.191067,3.912000,10.757000,-3.161151 +233.452074,3.909000,10.630000,-3.161342 +233.452074,3.909000,10.630000,-3.161342 +233.582373,3.907000,10.566000,-3.160863 +233.582373,3.907000,10.566000,-3.160863 +233.582373,3.907000,10.566000,-3.160863 +233.582373,3.907000,10.566000,-3.160863 +233.582373,3.907000,10.566000,-3.160863 +233.582373,3.907000,10.566000,-3.160863 +233.852002,3.913000,10.456000,-3.153481 +233.852002,3.913000,10.456000,-3.153481 +233.980932,3.918000,10.426000,-3.146674 +233.980932,3.918000,10.426000,-3.146674 +233.980932,3.918000,10.426000,-3.146674 +233.980932,3.918000,10.426000,-3.146674 +233.980932,3.918000,10.426000,-3.146674 +233.980932,3.918000,10.426000,-3.146674 +234.241432,3.910000,10.395000,-3.134210 +234.241432,3.910000,10.395000,-3.134210 +234.371155,3.905000,10.389000,-3.130950 +234.371155,3.905000,10.389000,-3.130950 +234.371155,3.905000,10.389000,-3.130950 +234.371155,3.905000,10.389000,-3.130950 +234.371155,3.905000,10.389000,-3.130950 +234.371155,3.905000,10.389000,-3.130950 +234.641927,3.899000,10.409000,-3.129416 +234.641927,3.899000,10.409000,-3.129416 +234.771947,3.899000,10.426000,-3.129512 +234.771947,3.899000,10.426000,-3.129512 +234.771947,3.899000,10.426000,-3.129512 +234.771947,3.899000,10.426000,-3.129512 +235.031918,3.899000,10.452000,-3.129800 +235.031918,3.899000,10.452000,-3.129800 +235.031918,3.899000,10.452000,-3.129800 +235.031918,3.899000,10.452000,-3.129800 +235.161886,3.899000,10.459000,-3.129896 +235.161886,3.899000,10.459000,-3.129896 +235.161886,3.899000,10.459000,-3.129896 +235.161886,3.899000,10.459000,-3.129896 +235.431904,3.899000,10.471000,-3.129896 +235.431904,3.899000,10.471000,-3.129896 +235.431904,3.899000,10.471000,-3.129896 +235.431904,3.899000,10.471000,-3.129896 +235.560876,3.900000,10.471000,-3.129896 +235.560876,3.900000,10.471000,-3.129896 +235.691828,3.901000,10.472000,-3.129800 +235.691828,3.901000,10.472000,-3.129800 +235.821859,3.900000,10.471000,-3.129896 +235.821859,3.900000,10.471000,-3.129896 +235.821859,3.900000,10.471000,-3.129896 +235.821859,3.900000,10.471000,-3.129896 +235.961836,3.899000,10.470000,-3.129896 +235.961836,3.899000,10.470000,-3.129896 +236.091895,3.898000,10.470000,-3.129896 +236.091895,3.898000,10.470000,-3.129896 +236.222580,3.898000,10.470000,-3.129896 +236.222580,3.898000,10.470000,-3.129896 +236.222580,3.898000,10.470000,-3.129896 +236.222580,3.898000,10.470000,-3.129896 +236.351833,3.898000,10.471000,-3.129992 +236.351833,3.898000,10.471000,-3.129992 +236.481772,3.899000,10.473000,-3.129992 +236.481772,3.899000,10.473000,-3.129992 +236.623835,3.900000,10.473000,-3.130087 +236.623835,3.900000,10.473000,-3.130087 +236.623835,3.900000,10.473000,-3.130087 +236.623835,3.900000,10.473000,-3.130087 +236.751797,3.899000,10.474000,-3.130087 +236.881774,3.898000,10.472000,-3.130087 +236.881774,3.898000,10.472000,-3.130087 +236.881774,3.898000,10.472000,-3.130087 +237.010774,3.898000,10.471000,-3.130183 +237.010774,3.898000,10.471000,-3.130183 +237.010774,3.898000,10.471000,-3.130183 +237.010774,3.898000,10.471000,-3.130183 +237.140723,3.899000,10.472000,-3.130183 +237.140723,3.899000,10.472000,-3.130183 +237.280760,3.899000,10.471000,-3.130279 +237.280760,3.899000,10.471000,-3.130279 +237.280760,3.899000,10.471000,-3.130279 +237.411755,3.900000,10.473000,-3.130471 +237.411755,3.900000,10.473000,-3.130471 +237.411755,3.900000,10.473000,-3.130471 +237.411755,3.900000,10.473000,-3.130471 +237.540740,3.900000,10.473000,-3.130567 +237.540740,3.900000,10.473000,-3.130567 +237.670775,3.899000,10.474000,-3.130471 +237.670775,3.899000,10.474000,-3.130471 +237.670775,3.899000,10.474000,-3.130471 +237.670775,3.899000,10.474000,-3.130471 +237.670775,3.899000,10.474000,-3.130471 +237.932713,3.899000,10.473000,-3.130471 +237.932713,3.899000,10.473000,-3.130471 +237.932713,3.899000,10.473000,-3.130471 +237.932713,3.899000,10.473000,-3.130471 +238.070708,3.901000,10.473000,-3.130471 +238.070708,3.901000,10.473000,-3.130471 +238.070708,3.901000,10.473000,-3.130471 +238.070708,3.901000,10.473000,-3.130471 +238.070708,3.901000,10.473000,-3.130471 +238.331722,3.901000,10.475000,-3.130759 +238.331722,3.901000,10.475000,-3.130759 +238.331722,3.901000,10.475000,-3.130759 +238.331722,3.901000,10.475000,-3.130759 +238.461679,3.901000,10.476000,-3.130663 +238.461679,3.901000,10.476000,-3.130663 +238.461679,3.901000,10.476000,-3.130663 +238.461679,3.901000,10.476000,-3.130663 +238.731669,3.899000,10.474000,-3.130663 +238.731669,3.899000,10.474000,-3.130663 +238.731669,3.899000,10.474000,-3.130663 +238.731669,3.899000,10.474000,-3.130663 +238.861633,3.899000,10.473000,-3.130759 +238.861633,3.899000,10.473000,-3.130759 +238.861633,3.899000,10.473000,-3.130759 +238.861633,3.899000,10.473000,-3.130759 +239.120635,3.901000,10.473000,-3.131142 +239.120635,3.901000,10.473000,-3.131142 +239.120635,3.901000,10.473000,-3.131142 +239.120635,3.901000,10.473000,-3.131142 +239.251646,3.901000,10.473000,-3.131238 +239.251646,3.901000,10.473000,-3.131238 +239.251646,3.901000,10.473000,-3.131238 +239.251646,3.901000,10.473000,-3.131238 +239.251646,3.901000,10.473000,-3.131238 +239.251646,3.901000,10.473000,-3.131238 +239.521590,3.897000,10.475000,-3.131238 +239.521590,3.897000,10.475000,-3.131238 +239.521590,3.897000,10.475000,-3.131238 +239.521590,3.897000,10.475000,-3.131238 +239.651552,3.898000,10.475000,-3.131238 +239.651552,3.898000,10.475000,-3.131238 +239.651552,3.898000,10.475000,-3.131238 +239.781546,3.899000,10.475000,-3.131334 +239.781546,3.899000,10.475000,-3.131334 +239.781546,3.899000,10.475000,-3.131334 +239.911601,3.900000,10.473000,-3.131430 +239.911601,3.900000,10.473000,-3.131430 +239.911601,3.900000,10.473000,-3.131430 +239.911601,3.900000,10.473000,-3.131430 +240.050558,3.899000,10.473000,-3.131526 +240.050558,3.899000,10.473000,-3.131526 +240.181550,3.899000,10.473000,-3.131622 +240.181550,3.899000,10.473000,-3.131622 +240.311545,3.898000,10.474000,-3.131622 +240.311545,3.898000,10.474000,-3.131622 +240.311545,3.898000,10.474000,-3.131622 +240.311545,3.898000,10.474000,-3.131622 +240.441519,3.897000,10.474000,-3.131526 +240.441519,3.897000,10.474000,-3.131526 +240.441519,3.897000,10.474000,-3.131526 +240.570713,3.900000,10.474000,-3.131622 +240.570713,3.900000,10.474000,-3.131622 +240.710529,3.901000,10.475000,-3.131717 +240.710529,3.901000,10.475000,-3.131717 +240.710529,3.901000,10.475000,-3.131717 +240.710529,3.901000,10.475000,-3.131717 +240.841496,3.901000,10.475000,-3.131813 +240.841496,3.901000,10.475000,-3.131813 +240.971515,3.899000,10.475000,-3.131909 +240.971515,3.899000,10.475000,-3.131909 +241.100488,3.899000,10.475000,-3.131813 +241.100488,3.899000,10.475000,-3.131813 +241.231521,3.899000,10.474000,-3.131909 +241.231521,3.899000,10.474000,-3.131909 +241.231521,3.899000,10.474000,-3.131909 +241.231521,3.899000,10.474000,-3.131909 +241.231521,3.899000,10.474000,-3.131909 +241.231521,3.899000,10.474000,-3.131909 +241.501539,3.901000,10.472000,-3.132101 +241.501539,3.901000,10.472000,-3.132101 +241.501539,3.901000,10.472000,-3.132101 +241.501539,3.901000,10.472000,-3.132101 +241.633467,3.901000,10.472000,-3.132197 +241.633467,3.901000,10.472000,-3.132197 +241.633467,3.901000,10.472000,-3.132197 +241.760457,3.901000,10.473000,-3.132388 +241.760457,3.901000,10.473000,-3.132388 +241.891449,3.898000,10.474000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.020446,3.899000,10.475000,-3.132293 +242.290427,3.900000,10.475000,-3.132388 +242.290427,3.900000,10.475000,-3.132388 +242.420414,3.902000,10.474000,-3.132580 +242.420414,3.902000,10.474000,-3.132580 +242.420414,3.902000,10.474000,-3.132580 +242.420414,3.902000,10.474000,-3.132580 +242.550533,3.901000,10.474000,-3.132676 +242.550533,3.901000,10.474000,-3.132676 +242.680441,3.899000,10.473000,-3.132676 +242.680441,3.899000,10.473000,-3.132676 +242.820408,3.898000,10.472000,-3.132676 +242.820408,3.898000,10.472000,-3.132676 +242.820408,3.898000,10.472000,-3.132676 +242.820408,3.898000,10.472000,-3.132676 +242.951341,3.899000,10.471000,-3.132676 +242.951341,3.899000,10.471000,-3.132676 +243.080827,3.900000,10.470000,-3.132772 +243.080827,3.900000,10.470000,-3.132772 +243.210396,3.901000,10.472000,-3.132868 +243.210396,3.901000,10.472000,-3.132868 +243.210396,3.901000,10.472000,-3.132868 +243.210396,3.901000,10.472000,-3.132868 +243.341359,3.902000,10.473000,-3.132964 +243.341359,3.902000,10.473000,-3.132964 +243.481357,3.901000,10.473000,-3.133060 +243.481357,3.901000,10.473000,-3.133060 +243.610345,3.900000,10.472000,-3.132964 +243.610345,3.900000,10.472000,-3.132964 +243.610345,3.900000,10.472000,-3.132964 +243.610345,3.900000,10.472000,-3.132964 +243.741338,3.900000,10.470000,-3.132868 +243.741338,3.900000,10.470000,-3.132868 +243.870323,3.901000,10.471000,-3.132868 +243.870323,3.901000,10.471000,-3.132868 +244.001337,3.901000,10.471000,-3.132964 +244.001337,3.901000,10.471000,-3.132964 +244.132351,3.900000,10.472000,-3.133155 +244.132351,3.900000,10.472000,-3.133155 +244.132351,3.900000,10.472000,-3.133155 +244.132351,3.900000,10.472000,-3.133155 +244.271312,3.900000,10.471000,-3.133347 +244.271312,3.900000,10.471000,-3.133347 +244.401306,3.898000,10.473000,-3.133347 +244.401306,3.898000,10.473000,-3.133347 +244.531338,3.898000,10.473000,-3.133251 +244.531338,3.898000,10.473000,-3.133251 +244.531338,3.898000,10.473000,-3.133251 +244.531338,3.898000,10.473000,-3.133251 +244.661305,3.900000,10.473000,-3.133155 +244.661305,3.900000,10.473000,-3.133155 +244.791265,3.902000,10.474000,-3.133155 +244.791265,3.902000,10.474000,-3.133155 +244.932269,3.902000,10.471000,-3.133251 +244.932269,3.902000,10.471000,-3.133251 +244.932269,3.902000,10.471000,-3.133251 +244.932269,3.902000,10.471000,-3.133251 +245.060247,3.901000,10.471000,-3.133443 +245.060247,3.901000,10.471000,-3.133443 +245.190247,3.900000,10.471000,-3.133539 +245.190247,3.900000,10.471000,-3.133539 +245.321213,3.899000,10.471000,-3.133539 +245.321213,3.899000,10.471000,-3.133539 +245.321213,3.899000,10.471000,-3.133539 +245.321213,3.899000,10.471000,-3.133539 +245.451221,3.898000,10.473000,-3.133635 +245.451221,3.898000,10.473000,-3.133635 +245.591243,3.900000,10.474000,-3.133635 +245.591243,3.900000,10.474000,-3.133635 +245.721355,3.901000,10.473000,-3.133731 +245.721355,3.901000,10.473000,-3.133731 +245.721355,3.901000,10.473000,-3.133731 +245.721355,3.901000,10.473000,-3.133731 +245.850369,3.900000,10.473000,-3.133827 +245.850369,3.900000,10.473000,-3.133827 +245.981285,3.899000,10.472000,-3.133923 +245.981285,3.899000,10.472000,-3.133923 +246.111295,3.899000,10.471000,-3.133923 +246.111295,3.899000,10.471000,-3.133923 +246.111295,3.899000,10.471000,-3.133923 +246.111295,3.899000,10.471000,-3.133923 +246.241159,3.898000,10.471000,-3.134018 +246.241159,3.898000,10.471000,-3.134018 +246.380123,3.899000,10.470000,-3.134018 +246.380123,3.899000,10.470000,-3.134018 +246.511174,3.901000,10.471000,-3.134018 +246.511174,3.901000,10.471000,-3.134018 +246.511174,3.901000,10.471000,-3.134018 +246.511174,3.901000,10.471000,-3.134018 +246.640149,3.901000,10.471000,-3.134210 +246.640149,3.901000,10.471000,-3.134210 +246.770121,3.899000,10.472000,-3.134114 +246.770121,3.899000,10.472000,-3.134114 +246.901248,3.899000,10.471000,-3.134210 +246.901248,3.899000,10.471000,-3.134210 +246.901248,3.899000,10.471000,-3.134210 +246.901248,3.899000,10.471000,-3.134210 +247.041098,3.899000,10.471000,-3.134114 +247.041098,3.899000,10.471000,-3.134114 +247.171123,3.898000,10.470000,-3.134114 +247.171123,3.898000,10.470000,-3.134114 +247.301098,3.899000,10.471000,-3.134210 +247.301098,3.899000,10.471000,-3.134210 +247.431381,3.900000,10.471000,-3.134210 +247.431381,3.900000,10.471000,-3.134210 +247.431381,3.900000,10.471000,-3.134210 +247.431381,3.900000,10.471000,-3.134210 +247.561035,3.899000,10.470000,-3.134402 +247.561035,3.899000,10.470000,-3.134402 +247.701089,3.898000,10.472000,-3.134402 +247.701089,3.898000,10.472000,-3.134402 +247.831078,3.898000,10.471000,-3.134498 +247.831078,3.898000,10.471000,-3.134498 +247.831078,3.898000,10.471000,-3.134498 +247.831078,3.898000,10.471000,-3.134498 +247.961066,3.898000,10.472000,-3.134498 +247.961066,3.898000,10.472000,-3.134498 +248.091049,3.899000,10.472000,-3.134498 +248.091049,3.899000,10.472000,-3.134498 +248.220039,3.900000,10.472000,-3.134689 +248.220039,3.900000,10.472000,-3.134689 +248.220039,3.900000,10.472000,-3.134689 +248.220039,3.900000,10.472000,-3.134689 +248.365147,3.900000,10.472000,-3.134689 +248.365147,3.900000,10.472000,-3.134689 +248.491007,3.900000,10.471000,-3.134785 +248.491007,3.900000,10.471000,-3.134785 +248.621011,3.898000,10.471000,-3.134689 +248.621011,3.898000,10.471000,-3.134689 +248.621011,3.898000,10.471000,-3.134689 +248.621011,3.898000,10.471000,-3.134689 +248.751040,3.898000,10.470000,-3.134689 +248.751040,3.898000,10.470000,-3.134689 +248.880001,3.899000,10.470000,-3.134785 +248.880001,3.899000,10.470000,-3.134785 +249.012082,3.899000,10.471000,-3.134881 +249.012082,3.899000,10.471000,-3.134881 +249.012082,3.899000,10.471000,-3.134881 +249.012082,3.899000,10.471000,-3.134881 +249.149985,3.900000,10.471000,-3.135073 +249.149985,3.900000,10.471000,-3.135073 +249.279983,3.901000,10.471000,-3.135169 +249.279983,3.901000,10.471000,-3.135169 +249.409940,3.899000,10.471000,-3.135073 +249.409940,3.899000,10.471000,-3.135073 +249.409940,3.899000,10.471000,-3.135073 +249.409940,3.899000,10.471000,-3.135073 +249.540946,3.899000,10.471000,-3.134977 +249.540946,3.899000,10.471000,-3.134977 +249.670963,3.900000,10.474000,-3.134881 +249.670963,3.900000,10.474000,-3.134881 +249.810949,3.901000,10.475000,-3.134977 +249.810949,3.901000,10.475000,-3.134977 +249.810949,3.901000,10.475000,-3.134977 +249.810949,3.901000,10.475000,-3.134977 +249.941077,3.901000,10.475000,-3.135169 +249.941077,3.901000,10.475000,-3.135169 +250.071026,3.901000,10.473000,-3.135265 +250.071026,3.901000,10.473000,-3.135265 +250.200924,3.900000,10.473000,-3.135361 +250.200924,3.900000,10.473000,-3.135361 +250.330885,3.898000,10.474000,-3.135265 +250.330885,3.898000,10.474000,-3.135265 +250.330885,3.898000,10.474000,-3.135265 +250.330885,3.898000,10.474000,-3.135265 +250.469907,3.899000,10.474000,-3.135169 +250.469907,3.899000,10.474000,-3.135169 +250.600899,3.900000,10.475000,-3.135265 +250.600899,3.900000,10.475000,-3.135265 +250.729975,3.901000,10.475000,-3.135361 +250.729975,3.901000,10.475000,-3.135361 +250.729975,3.901000,10.475000,-3.135361 +250.729975,3.901000,10.475000,-3.135361 +250.859836,3.901000,10.474000,-3.135552 +250.859836,3.901000,10.474000,-3.135552 +250.990838,3.901000,10.474000,-3.135552 +250.990838,3.901000,10.474000,-3.135552 +251.130866,3.900000,10.474000,-3.135552 +251.130866,3.900000,10.474000,-3.135552 +251.130866,3.900000,10.474000,-3.135552 +251.130866,3.900000,10.474000,-3.135552 +251.259805,3.899000,10.473000,-3.135456 +251.259805,3.899000,10.473000,-3.135456 +251.390863,3.899000,10.471000,-3.135456 +251.390863,3.899000,10.471000,-3.135456 +251.519875,3.900000,10.472000,-3.135456 +251.519875,3.900000,10.472000,-3.135456 +251.519875,3.900000,10.472000,-3.135456 +251.519875,3.900000,10.472000,-3.135456 +251.650851,3.901000,10.472000,-3.135648 +251.650851,3.901000,10.472000,-3.135648 +251.789834,3.900000,10.472000,-3.135648 +251.789834,3.900000,10.472000,-3.135648 +251.919824,3.900000,10.472000,-3.135744 +251.919824,3.900000,10.472000,-3.135744 +251.919824,3.900000,10.472000,-3.135744 +251.919824,3.900000,10.472000,-3.135744 +252.050809,3.899000,10.472000,-3.135744 +252.050809,3.899000,10.472000,-3.135744 +252.179806,3.898000,10.471000,-3.135744 +252.179806,3.898000,10.471000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.310807,3.899000,10.470000,-3.135744 +252.579793,3.899000,10.470000,-3.135936 +252.579793,3.899000,10.470000,-3.135936 +252.710764,3.898000,10.472000,-3.135840 +252.710764,3.898000,10.472000,-3.135840 +252.710764,3.898000,10.472000,-3.135840 +252.710764,3.898000,10.472000,-3.135840 +252.710764,3.898000,10.472000,-3.135840 +252.710764,3.898000,10.472000,-3.135840 +252.970736,3.898000,10.472000,-3.135744 +252.970736,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.100707,3.898000,10.472000,-3.135744 +253.370886,3.900000,10.472000,-3.135936 +253.370886,3.900000,10.472000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.499734,3.900000,10.473000,-3.135936 +253.759691,3.899000,10.472000,-3.135840 +253.759691,3.899000,10.472000,-3.135840 +253.899689,3.898000,10.472000,-3.135936 +253.899689,3.898000,10.472000,-3.135936 +254.030679,3.899000,10.471000,-3.135936 +254.030679,3.899000,10.471000,-3.135936 +254.030679,3.899000,10.471000,-3.135936 +254.030679,3.899000,10.471000,-3.135936 +254.030679,3.899000,10.471000,-3.135936 +254.159780,3.900000,10.472000,-3.136032 +254.159780,3.900000,10.472000,-3.136032 +254.290649,3.900000,10.474000,-3.136127 +254.290649,3.900000,10.474000,-3.136127 +254.420650,3.899000,10.474000,-3.136032 +254.420650,3.899000,10.474000,-3.136032 +254.420650,3.899000,10.474000,-3.136032 +254.420650,3.899000,10.474000,-3.136032 +254.549659,3.899000,10.473000,-3.136032 +254.549659,3.899000,10.473000,-3.136032 +254.690579,3.900000,10.474000,-3.136032 +254.690579,3.900000,10.474000,-3.136032 +254.820617,3.901000,10.473000,-3.136127 +254.820617,3.901000,10.473000,-3.136127 +254.820617,3.901000,10.473000,-3.136127 +254.820617,3.901000,10.473000,-3.136127 +254.950608,3.902000,10.474000,-3.136223 +254.950608,3.902000,10.474000,-3.136223 +255.079759,3.901000,10.473000,-3.136319 +255.079759,3.901000,10.473000,-3.136319 +255.209550,3.899000,10.472000,-3.136319 +255.209550,3.899000,10.472000,-3.136319 +255.209550,3.899000,10.472000,-3.136319 +255.209550,3.899000,10.472000,-3.136319 +255.209550,3.899000,10.472000,-3.136319 +255.349591,3.899000,10.472000,-3.136223 +255.349591,3.899000,10.472000,-3.136223 +255.480634,3.899000,10.471000,-3.136223 +255.480634,3.899000,10.471000,-3.136223 +255.609634,3.900000,10.472000,-3.136319 +255.609634,3.900000,10.472000,-3.136319 +255.609634,3.900000,10.472000,-3.136319 +255.609634,3.900000,10.472000,-3.136319 +255.741135,3.900000,10.472000,-3.136415 +255.741135,3.900000,10.472000,-3.136415 +255.870521,3.901000,10.473000,-3.136607 +255.870521,3.901000,10.473000,-3.136607 +256.009540,3.900000,10.473000,-3.136511 +256.009540,3.900000,10.473000,-3.136511 +256.009540,3.900000,10.473000,-3.136511 +256.009540,3.900000,10.473000,-3.136511 +256.009540,3.900000,10.473000,-3.136511 +256.009540,3.900000,10.473000,-3.136511 +256.269547,3.898000,10.473000,-3.136415 +256.269547,3.898000,10.473000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.399508,3.898000,10.471000,-3.136415 +256.670504,3.900000,10.470000,-3.136607 +256.670504,3.900000,10.470000,-3.136607 +256.800466,3.900000,10.471000,-3.136703 +256.800466,3.900000,10.471000,-3.136703 +256.800466,3.900000,10.471000,-3.136703 +256.800466,3.900000,10.471000,-3.136703 +256.800466,3.900000,10.471000,-3.136703 +256.800466,3.900000,10.471000,-3.136703 +257.059513,3.897000,10.473000,-3.136511 +257.059513,3.897000,10.473000,-3.136511 +257.189531,3.897000,10.473000,-3.136511 +257.189531,3.897000,10.473000,-3.136511 +257.320466,3.898000,10.473000,-3.136511 +257.320466,3.898000,10.473000,-3.136511 +257.320466,3.898000,10.473000,-3.136511 +257.320466,3.898000,10.473000,-3.136511 +257.459442,3.899000,10.472000,-3.136607 +257.459442,3.899000,10.472000,-3.136607 +257.589439,3.900000,10.474000,-3.136703 +257.589439,3.900000,10.474000,-3.136703 +257.720443,3.899000,10.474000,-3.136799 +257.720443,3.899000,10.474000,-3.136799 +257.720443,3.899000,10.474000,-3.136799 +257.720443,3.899000,10.474000,-3.136799 +257.849412,3.898000,10.472000,-3.136799 +257.849412,3.898000,10.472000,-3.136799 +257.980433,3.898000,10.474000,-3.136799 +257.980433,3.898000,10.474000,-3.136799 +258.119410,3.898000,10.473000,-3.136799 +258.119410,3.898000,10.473000,-3.136799 +258.119410,3.898000,10.473000,-3.136799 +258.119410,3.898000,10.473000,-3.136799 +258.250510,3.899000,10.473000,-3.136799 +258.250510,3.899000,10.473000,-3.136799 +258.379370,3.900000,10.473000,-3.136894 +258.379370,3.900000,10.473000,-3.136894 +258.510371,3.899000,10.473000,-3.136894 +258.510371,3.899000,10.473000,-3.136894 +258.639548,3.898000,10.474000,-3.136894 +258.639548,3.898000,10.474000,-3.136894 +258.639548,3.898000,10.474000,-3.136894 +258.639548,3.898000,10.474000,-3.136894 +258.780375,3.898000,10.474000,-3.136894 +258.780375,3.898000,10.474000,-3.136894 +258.909375,3.897000,10.475000,-3.136894 +258.909375,3.897000,10.475000,-3.136894 +259.041771,3.898000,10.476000,-3.136894 +259.041771,3.898000,10.476000,-3.136894 +259.041771,3.898000,10.476000,-3.136894 +259.041771,3.898000,10.476000,-3.136894 +259.170342,3.899000,10.475000,-3.136894 +259.170342,3.899000,10.475000,-3.136894 +259.170342,3.899000,10.475000,-3.136894 +259.170342,3.899000,10.475000,-3.136894 +259.441643,3.897000,10.474000,-3.136894 +259.441643,3.897000,10.474000,-3.136894 +259.441643,3.897000,10.474000,-3.136894 +259.441643,3.897000,10.474000,-3.136894 +259.569537,3.897000,10.472000,-3.136894 +259.569537,3.897000,10.472000,-3.136894 +259.569537,3.897000,10.472000,-3.136894 +259.569537,3.897000,10.472000,-3.136894 +259.830296,3.898000,10.472000,-3.136894 +259.830296,3.898000,10.472000,-3.136894 +259.830296,3.898000,10.472000,-3.136894 +259.830296,3.898000,10.472000,-3.136894 +259.959227,3.900000,10.471000,-3.137086 +259.959227,3.900000,10.471000,-3.137086 +259.959227,3.900000,10.471000,-3.137086 +259.959227,3.900000,10.471000,-3.137086 +260.230258,3.899000,10.473000,-3.137182 +260.230258,3.899000,10.473000,-3.137182 +260.230258,3.899000,10.473000,-3.137182 +260.230258,3.899000,10.473000,-3.137182 +260.359257,3.898000,10.472000,-3.137086 +260.359257,3.898000,10.472000,-3.137086 +260.490237,3.898000,10.473000,-3.136990 +260.490237,3.898000,10.473000,-3.136990 +260.620239,3.898000,10.473000,-3.137086 +260.620239,3.898000,10.473000,-3.137086 +260.620239,3.898000,10.473000,-3.137086 +260.620239,3.898000,10.473000,-3.137086 +260.749225,3.899000,10.474000,-3.137086 +260.749225,3.899000,10.474000,-3.137086 +260.889571,3.900000,10.474000,-3.137182 +260.889571,3.900000,10.474000,-3.137182 +261.019212,3.898000,10.474000,-3.137278 +261.019212,3.898000,10.474000,-3.137278 +261.019212,3.898000,10.474000,-3.137278 +261.019212,3.898000,10.474000,-3.137278 +261.150184,3.897000,10.474000,-3.137182 +261.150184,3.897000,10.474000,-3.137182 +261.279195,3.898000,10.473000,-3.137086 +261.279195,3.898000,10.473000,-3.137086 +261.409245,3.899000,10.473000,-3.137086 +261.409245,3.899000,10.473000,-3.137086 +261.409245,3.899000,10.473000,-3.137086 +261.409245,3.899000,10.473000,-3.137086 +261.550155,3.900000,10.473000,-3.137182 +261.550155,3.900000,10.473000,-3.137182 +261.680167,3.901000,10.474000,-3.137278 +261.680167,3.901000,10.474000,-3.137278 +261.809129,3.900000,10.473000,-3.137374 +261.809129,3.900000,10.473000,-3.137374 +261.940157,3.898000,10.473000,-3.137470 +261.940157,3.898000,10.473000,-3.137470 +261.940157,3.898000,10.473000,-3.137470 +262.073148,3.897000,10.474000,-3.137182 +262.073148,3.897000,10.474000,-3.137182 +262.209123,3.897000,10.473000,-3.137182 +262.209123,3.897000,10.473000,-3.137182 +262.339133,3.899000,10.473000,-3.137182 +262.339133,3.899000,10.473000,-3.137182 +262.339133,3.899000,10.473000,-3.137182 +262.339133,3.899000,10.473000,-3.137182 +262.469123,3.900000,10.474000,-3.137278 +262.469123,3.900000,10.474000,-3.137278 +262.600070,3.899000,10.475000,-3.137374 +262.600070,3.899000,10.475000,-3.137374 +262.730107,3.900000,10.476000,-3.137470 +262.730107,3.900000,10.476000,-3.137470 +262.730107,3.900000,10.476000,-3.137470 +262.730107,3.900000,10.476000,-3.137470 +262.869113,3.898000,10.476000,-3.137374 +262.869113,3.898000,10.476000,-3.137374 +262.869113,3.898000,10.476000,-3.137374 +262.869113,3.898000,10.476000,-3.137374 +263.129053,3.898000,10.477000,-3.137278 +263.129053,3.898000,10.477000,-3.137278 +263.129053,3.898000,10.477000,-3.137278 +263.129053,3.898000,10.477000,-3.137278 +263.260081,3.899000,10.475000,-3.137278 +263.260081,3.899000,10.475000,-3.137278 +263.260081,3.899000,10.475000,-3.137278 +263.260081,3.899000,10.475000,-3.137278 +263.520052,3.898000,10.474000,-3.137566 +263.520052,3.898000,10.474000,-3.137566 +263.520052,3.898000,10.474000,-3.137566 +263.520052,3.898000,10.474000,-3.137566 +263.659057,3.898000,10.473000,-3.137566 +263.659057,3.898000,10.473000,-3.137566 +263.659057,3.898000,10.473000,-3.137566 +263.659057,3.898000,10.473000,-3.137566 +263.920092,3.896000,10.471000,-3.137470 +263.920092,3.896000,10.471000,-3.137470 +263.920092,3.896000,10.471000,-3.137470 +263.920092,3.896000,10.471000,-3.137470 +264.050014,3.898000,10.471000,-3.137470 +264.050014,3.898000,10.471000,-3.137470 +264.050014,3.898000,10.471000,-3.137470 +264.050014,3.898000,10.471000,-3.137470 +264.318988,3.898000,10.473000,-3.137470 +264.318988,3.898000,10.473000,-3.137470 +264.318988,3.898000,10.473000,-3.137470 +264.318988,3.898000,10.473000,-3.137470 +264.449984,3.898000,10.475000,-3.137470 +264.449984,3.898000,10.475000,-3.137470 +264.579085,3.898000,10.473000,-3.137470 +264.579085,3.898000,10.473000,-3.137470 +264.709992,3.897000,10.474000,-3.137470 +264.709992,3.897000,10.474000,-3.137470 +264.838975,3.898000,10.474000,-3.137566 +264.838975,3.898000,10.474000,-3.137566 +264.838975,3.898000,10.474000,-3.137566 +264.838975,3.898000,10.474000,-3.137566 +264.979945,3.900000,10.474000,-3.137566 +264.979945,3.900000,10.474000,-3.137566 +265.109902,3.900000,10.477000,-3.137566 +265.109902,3.900000,10.477000,-3.137566 +265.238943,3.899000,10.476000,-3.137566 +265.238943,3.899000,10.476000,-3.137566 +265.238943,3.899000,10.476000,-3.137566 +265.238943,3.899000,10.476000,-3.137566 +265.369962,3.898000,10.476000,-3.137566 +265.369962,3.898000,10.476000,-3.137566 +265.499935,3.899000,10.474000,-3.137470 +265.499935,3.899000,10.474000,-3.137470 +265.638866,3.898000,10.473000,-3.137566 +265.638866,3.898000,10.473000,-3.137566 +265.638866,3.898000,10.473000,-3.137566 +265.638866,3.898000,10.473000,-3.137566 +265.769917,3.899000,10.473000,-3.137662 +265.769917,3.899000,10.473000,-3.137662 +265.899902,3.900000,10.473000,-3.137662 +265.899902,3.900000,10.473000,-3.137662 +266.029878,3.899000,10.474000,-3.137662 +266.029878,3.899000,10.474000,-3.137662 +266.029878,3.899000,10.474000,-3.137662 +266.029878,3.899000,10.474000,-3.137662 +266.159966,3.897000,10.474000,-3.137662 +266.159966,3.897000,10.474000,-3.137662 +266.289958,3.897000,10.474000,-3.137566 +266.289958,3.897000,10.474000,-3.137566 +266.428856,3.899000,10.474000,-3.137662 +266.428856,3.899000,10.474000,-3.137662 +266.428856,3.899000,10.474000,-3.137662 +266.428856,3.899000,10.474000,-3.137662 +266.558852,3.899000,10.475000,-3.137757 +266.558852,3.899000,10.475000,-3.137757 +266.689846,3.901000,10.475000,-3.137853 +266.689846,3.901000,10.475000,-3.137853 +266.819806,3.901000,10.474000,-3.137949 +266.819806,3.901000,10.474000,-3.137949 +266.949938,3.898000,10.474000,-3.137853 +266.949938,3.898000,10.474000,-3.137853 +266.949938,3.898000,10.474000,-3.137853 +266.949938,3.898000,10.474000,-3.137853 +267.089822,3.897000,10.473000,-3.137662 +267.089822,3.897000,10.473000,-3.137662 +267.218813,3.898000,10.473000,-3.137757 +267.218813,3.898000,10.473000,-3.137757 +267.348792,3.900000,10.473000,-3.137757 +267.348792,3.900000,10.473000,-3.137757 +267.348792,3.900000,10.473000,-3.137757 +267.348792,3.900000,10.473000,-3.137757 +267.478779,3.901000,10.473000,-3.137853 +267.478779,3.901000,10.473000,-3.137853 +267.609764,3.902000,10.472000,-3.137949 +267.609764,3.902000,10.472000,-3.137949 +267.751169,3.901000,10.471000,-3.137949 +267.751169,3.901000,10.471000,-3.137949 +267.751169,3.901000,10.471000,-3.137949 +267.751169,3.901000,10.471000,-3.137949 +267.878753,3.898000,10.472000,-3.137853 +267.878753,3.898000,10.472000,-3.137853 +268.008790,3.898000,10.471000,-3.137853 +268.008790,3.898000,10.471000,-3.137853 +268.139757,3.898000,10.473000,-3.137853 +268.139757,3.898000,10.473000,-3.137853 +268.139757,3.898000,10.473000,-3.137853 +268.139757,3.898000,10.473000,-3.137853 +268.269753,3.900000,10.475000,-3.137853 +268.269753,3.900000,10.475000,-3.137853 +268.408690,3.901000,10.475000,-3.138045 +268.408690,3.901000,10.475000,-3.138045 +268.538721,3.901000,10.475000,-3.138141 +268.538721,3.901000,10.475000,-3.138141 +268.538721,3.901000,10.475000,-3.138141 +268.538721,3.901000,10.475000,-3.138141 +268.669765,3.900000,10.474000,-3.138045 +268.669765,3.900000,10.474000,-3.138045 +268.798708,3.898000,10.474000,-3.138045 +268.798708,3.898000,10.474000,-3.138045 +268.928697,3.899000,10.475000,-3.137949 +268.928697,3.899000,10.475000,-3.137949 +268.928697,3.899000,10.475000,-3.137949 +268.928697,3.899000,10.475000,-3.137949 +269.059646,3.899000,10.475000,-3.138045 +269.059646,3.899000,10.475000,-3.138045 +269.198738,3.900000,10.472000,-3.138237 +269.198738,3.900000,10.472000,-3.138237 +269.328751,3.899000,10.472000,-3.138237 +269.328751,3.899000,10.472000,-3.138237 +269.328751,3.899000,10.472000,-3.138237 +269.328751,3.899000,10.472000,-3.138237 +269.459653,3.899000,10.471000,-3.138237 +269.459653,3.899000,10.471000,-3.138237 +269.588658,3.898000,10.470000,-3.138237 +269.588658,3.898000,10.470000,-3.138237 +269.718610,3.898000,10.473000,-3.138141 +269.718610,3.898000,10.473000,-3.138141 +269.718610,3.898000,10.473000,-3.138141 +269.718610,3.898000,10.473000,-3.138141 +269.858630,3.899000,10.473000,-3.138141 +269.858630,3.899000,10.473000,-3.138141 +269.989633,3.900000,10.473000,-3.138237 +269.989633,3.900000,10.473000,-3.138237 +270.118620,3.900000,10.474000,-3.138333 +270.118620,3.900000,10.474000,-3.138333 +270.118620,3.900000,10.474000,-3.138333 +270.118620,3.900000,10.474000,-3.138333 +270.118620,3.900000,10.474000,-3.138333 +270.118620,3.900000,10.474000,-3.138333 +270.379627,3.899000,10.472000,-3.138237 +270.379627,3.899000,10.472000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.519631,3.899000,10.473000,-3.138237 +270.778679,3.901000,10.474000,-3.138237 +270.778679,3.901000,10.474000,-3.138237 +270.909526,3.901000,10.473000,-3.138333 +270.909526,3.901000,10.473000,-3.138333 +271.038606,3.901000,10.473000,-3.138333 +271.038606,3.901000,10.473000,-3.138333 +271.038606,3.901000,10.473000,-3.138333 +271.038606,3.901000,10.473000,-3.138333 +271.179581,3.899000,10.473000,-3.138237 +271.179581,3.899000,10.473000,-3.138237 +271.309617,3.898000,10.472000,-3.138237 +271.309617,3.898000,10.472000,-3.138237 +271.439525,3.899000,10.473000,-3.138237 +271.439525,3.899000,10.473000,-3.138237 +271.439525,3.899000,10.473000,-3.138237 +271.439525,3.899000,10.473000,-3.138237 +271.439525,3.899000,10.473000,-3.138237 +271.568637,3.899000,10.473000,-3.138237 +271.568637,3.899000,10.473000,-3.138237 +271.698597,3.902000,10.473000,-3.138428 +271.698597,3.902000,10.473000,-3.138428 +271.828507,3.902000,10.474000,-3.138524 +271.828507,3.902000,10.474000,-3.138524 +271.828507,3.902000,10.474000,-3.138524 +271.828507,3.902000,10.474000,-3.138524 +271.969481,3.901000,10.473000,-3.138524 +271.969481,3.901000,10.473000,-3.138524 +272.098606,3.900000,10.473000,-3.138333 +272.098606,3.900000,10.473000,-3.138333 +272.230485,3.899000,10.473000,-3.138333 +272.230485,3.899000,10.473000,-3.138333 +272.230485,3.899000,10.473000,-3.138333 +272.230485,3.899000,10.473000,-3.138333 +272.230485,3.899000,10.473000,-3.138333 +272.358485,3.900000,10.473000,-3.138428 +272.358485,3.900000,10.473000,-3.138428 +272.488465,3.900000,10.474000,-3.138524 +272.488465,3.900000,10.474000,-3.138524 +272.629457,3.901000,10.473000,-3.138716 +272.629457,3.901000,10.473000,-3.138716 +272.629457,3.901000,10.473000,-3.138716 +272.629457,3.901000,10.473000,-3.138716 +272.758410,3.901000,10.474000,-3.138812 +272.758410,3.901000,10.474000,-3.138812 +272.888435,3.900000,10.474000,-3.138620 +272.888435,3.900000,10.474000,-3.138620 +273.019414,3.900000,10.474000,-3.138524 +273.019414,3.900000,10.474000,-3.138524 +273.019414,3.900000,10.474000,-3.138524 +273.019414,3.900000,10.474000,-3.138524 +273.019414,3.900000,10.474000,-3.138524 +273.019414,3.900000,10.474000,-3.138524 +273.288430,3.901000,10.474000,-3.138524 +273.288430,3.901000,10.474000,-3.138524 +273.418405,3.900000,10.473000,-3.138716 +273.418405,3.900000,10.473000,-3.138716 +273.418405,3.900000,10.473000,-3.138716 +273.418405,3.900000,10.473000,-3.138716 +273.418405,3.900000,10.473000,-3.138716 +273.418405,3.900000,10.473000,-3.138716 +273.678386,3.899000,10.472000,-3.138812 +273.678386,3.899000,10.472000,-3.138812 +273.809627,3.899000,10.471000,-3.138716 +273.809627,3.899000,10.471000,-3.138716 +273.809627,3.899000,10.471000,-3.138716 +273.809627,3.899000,10.471000,-3.138716 +273.809627,3.899000,10.471000,-3.138716 +273.809627,3.899000,10.471000,-3.138716 +274.078463,3.901000,10.471000,-3.138812 +274.078463,3.901000,10.471000,-3.138812 +274.209302,3.901000,10.469000,-3.138908 +274.209302,3.901000,10.469000,-3.138908 +274.209302,3.901000,10.469000,-3.138908 +274.209302,3.901000,10.469000,-3.138908 +274.209302,3.901000,10.469000,-3.138908 +274.209302,3.901000,10.469000,-3.138908 +274.469348,3.901000,10.471000,-3.139004 +274.469348,3.901000,10.471000,-3.139004 +274.599481,3.899000,10.471000,-3.138908 +274.599481,3.899000,10.471000,-3.138908 +274.599481,3.899000,10.471000,-3.138908 +274.599481,3.899000,10.471000,-3.138908 +274.599481,3.899000,10.471000,-3.138908 +274.599481,3.899000,10.471000,-3.138908 +274.868256,3.900000,10.472000,-3.138908 +274.868256,3.900000,10.472000,-3.138908 +274.999727,3.902000,10.473000,-3.138908 +274.999727,3.902000,10.473000,-3.138908 +275.129278,3.901000,10.472000,-3.139004 +275.129278,3.901000,10.472000,-3.139004 +275.129278,3.901000,10.472000,-3.139004 +275.129278,3.901000,10.472000,-3.139004 +275.258283,3.901000,10.471000,-3.139100 +275.258283,3.901000,10.471000,-3.139100 +275.398235,3.900000,10.471000,-3.139100 +275.398235,3.900000,10.471000,-3.139100 +275.529268,3.899000,10.470000,-3.139004 +275.529268,3.899000,10.470000,-3.139004 +275.529268,3.899000,10.470000,-3.139004 +275.529268,3.899000,10.470000,-3.139004 +275.658730,3.900000,10.471000,-3.139100 +275.658730,3.900000,10.471000,-3.139100 +275.789242,3.901000,10.472000,-3.139004 +275.789242,3.901000,10.472000,-3.139004 +275.919266,3.901000,10.472000,-3.139004 +275.919266,3.901000,10.472000,-3.139004 +275.919266,3.901000,10.472000,-3.139004 +275.919266,3.901000,10.472000,-3.139004 +276.059279,3.900000,10.473000,-3.139004 +276.059279,3.900000,10.473000,-3.139004 +276.189225,3.899000,10.472000,-3.139004 +276.189225,3.899000,10.472000,-3.139004 +276.318223,3.899000,10.472000,-3.138908 +276.318223,3.899000,10.472000,-3.138908 +276.318223,3.899000,10.472000,-3.138908 +276.318223,3.899000,10.472000,-3.138908 +276.318223,3.899000,10.472000,-3.138908 +276.318223,3.899000,10.472000,-3.138908 +276.579222,3.899000,10.473000,-3.139100 +276.579222,3.899000,10.473000,-3.139100 +276.719189,3.901000,10.475000,-3.139004 +276.719189,3.901000,10.475000,-3.139004 +276.719189,3.901000,10.475000,-3.139004 +276.719189,3.901000,10.475000,-3.139004 +276.719189,3.901000,10.475000,-3.139004 +276.719189,3.901000,10.475000,-3.139004 +276.979135,3.899000,10.474000,-3.138908 +276.979135,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.108184,3.899000,10.474000,-3.138908 +277.368152,3.899000,10.473000,-3.139004 +277.368152,3.899000,10.473000,-3.139004 +277.509089,3.901000,10.472000,-3.139100 +277.509089,3.901000,10.472000,-3.139100 +277.509089,3.901000,10.472000,-3.139100 +277.509089,3.901000,10.472000,-3.139100 +277.509089,3.901000,10.472000,-3.139100 +277.509089,3.901000,10.472000,-3.139100 +277.768139,3.900000,10.473000,-3.139100 +277.768139,3.900000,10.473000,-3.139100 +277.899112,3.900000,10.473000,-3.138908 +277.899112,3.900000,10.473000,-3.138908 +277.899112,3.900000,10.473000,-3.138908 +277.899112,3.900000,10.473000,-3.138908 +277.899112,3.900000,10.473000,-3.138908 +277.899112,3.900000,10.473000,-3.138908 +278.168068,3.901000,10.473000,-3.139004 +278.168068,3.901000,10.473000,-3.139004 +278.299202,3.901000,10.474000,-3.139100 +278.299202,3.901000,10.474000,-3.139100 +278.299202,3.901000,10.474000,-3.139100 +278.299202,3.901000,10.474000,-3.139100 +278.559084,3.901000,10.473000,-3.139195 +278.559084,3.901000,10.473000,-3.139195 +278.559084,3.901000,10.473000,-3.139195 +278.559084,3.901000,10.473000,-3.139195 +278.688063,3.899000,10.473000,-3.139100 +278.688063,3.899000,10.473000,-3.139100 +278.829026,3.899000,10.474000,-3.138908 +278.829026,3.899000,10.474000,-3.138908 +278.959117,3.900000,10.475000,-3.138908 +278.959117,3.900000,10.475000,-3.138908 +278.959117,3.900000,10.475000,-3.138908 +278.959117,3.900000,10.475000,-3.138908 +279.088048,3.900000,10.473000,-3.139100 +279.088048,3.900000,10.473000,-3.139100 +279.219029,3.895000,10.473000,-3.140538 +279.219029,3.895000,10.473000,-3.140538 +279.349031,3.891000,10.468000,-3.143797 +279.349031,3.891000,10.468000,-3.143797 +279.349031,3.891000,10.468000,-3.143797 +279.349031,3.891000,10.468000,-3.143797 +279.489148,3.884000,10.465000,-3.149166 +279.489148,3.884000,10.465000,-3.149166 +279.619002,3.877000,10.464000,-3.156932 +279.619002,3.877000,10.464000,-3.156932 +279.749009,3.873000,10.462000,-3.166999 +279.749009,3.873000,10.462000,-3.166999 +279.749009,3.873000,10.462000,-3.166999 +279.749009,3.873000,10.462000,-3.166999 +279.879007,3.868000,10.465000,-3.179750 +279.879007,3.868000,10.465000,-3.179750 +280.008976,3.867000,10.467000,-3.195186 +280.008976,3.867000,10.467000,-3.195186 +280.138974,3.864000,10.469000,-3.212827 +280.138974,3.864000,10.469000,-3.212827 +280.138974,3.864000,10.469000,-3.212827 +280.138974,3.864000,10.469000,-3.212827 +280.278970,3.866000,10.468000,-3.232097 +280.278970,3.866000,10.468000,-3.232097 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.408963,3.866000,10.467000,-3.251943 +280.668885,3.867000,10.468000,-3.293360 +280.668885,3.867000,10.468000,-3.293360 +280.798935,3.870000,10.469000,-3.315316 +280.798935,3.870000,10.469000,-3.315316 +280.798935,3.870000,10.469000,-3.315316 +280.798935,3.870000,10.469000,-3.315316 +280.798935,3.870000,10.469000,-3.315316 +280.798935,3.870000,10.469000,-3.315316 +281.067929,3.877000,10.470000,-3.361527 +281.067929,3.877000,10.470000,-3.361527 +281.198911,3.882000,10.470000,-3.384345 +281.198911,3.882000,10.470000,-3.384345 +281.198911,3.882000,10.470000,-3.384345 +281.198911,3.882000,10.470000,-3.384345 +281.458901,3.893000,10.475000,-3.428830 +281.458901,3.893000,10.475000,-3.428830 +281.458901,3.893000,10.475000,-3.428830 +281.458901,3.893000,10.475000,-3.428830 +281.598877,3.897000,10.480000,-3.448868 +281.598877,3.897000,10.480000,-3.448868 +281.598877,3.897000,10.480000,-3.448868 +281.598877,3.897000,10.480000,-3.448868 +281.858884,3.905000,10.484000,-3.483095 +281.858884,3.905000,10.484000,-3.483095 +281.858884,3.905000,10.484000,-3.483095 +281.858884,3.905000,10.484000,-3.483095 +281.987990,3.897000,10.483000,-3.498818 +281.987990,3.897000,10.483000,-3.498818 +281.987990,3.897000,10.483000,-3.498818 +281.987990,3.897000,10.483000,-3.498818 +282.257837,3.890000,10.483000,-3.533237 +282.257837,3.890000,10.483000,-3.533237 +282.257837,3.890000,10.483000,-3.533237 +282.257837,3.890000,10.483000,-3.533237 +282.389004,3.889000,10.485000,-3.551165 +282.389004,3.889000,10.485000,-3.551165 +282.517825,3.888000,10.485000,-3.568998 +282.517825,3.888000,10.485000,-3.568998 +282.647814,3.888000,10.485000,-3.586926 +282.647814,3.888000,10.485000,-3.586926 +282.647814,3.888000,10.485000,-3.586926 +282.647814,3.888000,10.485000,-3.586926 +282.778814,3.889000,10.485000,-3.604950 +282.778814,3.889000,10.485000,-3.604950 +282.908775,3.887000,10.483000,-3.623262 +282.908775,3.887000,10.483000,-3.623262 +283.047762,3.887000,10.484000,-3.641191 +283.047762,3.887000,10.484000,-3.641191 +283.047762,3.887000,10.484000,-3.641191 +283.047762,3.887000,10.484000,-3.641191 +283.178829,3.886000,10.484000,-3.659215 +283.178829,3.886000,10.484000,-3.659215 +283.308736,3.886000,10.485000,-3.677047 +283.308736,3.886000,10.485000,-3.677047 +283.438779,3.887000,10.485000,-3.695264 +283.438779,3.887000,10.485000,-3.695264 +283.568823,3.889000,10.487000,-3.713863 +283.568823,3.889000,10.487000,-3.713863 +283.568823,3.889000,10.487000,-3.713863 +283.568823,3.889000,10.487000,-3.713863 +283.707754,3.891000,10.488000,-3.732463 +283.707754,3.891000,10.488000,-3.732463 +283.837730,3.892000,10.485000,-3.751158 +283.837730,3.892000,10.485000,-3.751158 +283.837730,3.892000,10.485000,-3.751158 +283.837730,3.892000,10.485000,-3.751158 +283.968718,3.911000,10.484000,-3.770620 +283.968718,3.911000,10.484000,-3.770620 +284.098729,3.930000,10.478000,-3.790083 +284.098729,3.930000,10.478000,-3.790083 +284.230717,3.950000,10.475000,-3.809641 +284.230717,3.950000,10.475000,-3.809641 +284.230717,3.950000,10.475000,-3.809641 +284.230717,3.950000,10.475000,-3.809641 +284.368712,3.965000,10.477000,-3.829295 +284.368712,3.965000,10.477000,-3.829295 +284.498700,3.981000,10.476000,-3.849620 +284.498700,3.981000,10.476000,-3.849620 +284.628626,3.995000,10.477000,-3.869946 +284.628626,3.995000,10.477000,-3.869946 +284.760918,4.010000,10.476000,-3.890654 +284.760918,4.010000,10.476000,-3.890654 +284.760918,4.010000,10.476000,-3.890654 +284.760918,4.010000,10.476000,-3.890654 +284.760918,4.010000,10.476000,-3.890654 +284.760918,4.010000,10.476000,-3.890654 +285.028651,4.016000,10.475000,-3.930154 +285.028651,4.016000,10.475000,-3.930154 +285.159726,4.014000,10.475000,-3.949233 +285.159726,4.014000,10.475000,-3.949233 +285.159726,4.014000,10.475000,-3.949233 +285.159726,4.014000,10.475000,-3.949233 +285.159726,4.014000,10.475000,-3.949233 +285.159726,4.014000,10.475000,-3.949233 +285.419583,4.011000,10.475000,-3.986912 +285.419583,4.011000,10.475000,-3.986912 +285.552637,4.008000,10.474000,-4.005415 +285.552637,4.008000,10.474000,-4.005415 +285.552637,4.008000,10.474000,-4.005415 +285.552637,4.008000,10.474000,-4.005415 +285.677663,4.002000,10.474000,-4.024015 +285.677663,4.002000,10.474000,-4.024015 +285.818608,3.998000,10.474000,-4.042327 +285.818608,3.998000,10.474000,-4.042327 +285.947754,3.998000,10.471000,-4.060926 +285.947754,3.998000,10.471000,-4.060926 +285.947754,3.998000,10.471000,-4.060926 +285.947754,3.998000,10.471000,-4.060926 +286.078383,3.987000,10.470000,-4.077992 +286.078383,3.987000,10.470000,-4.077992 +286.207740,3.965000,10.469000,-4.089976 +286.207740,3.965000,10.469000,-4.089976 +286.338572,3.935000,10.467000,-4.098125 +286.338572,3.935000,10.467000,-4.098125 +286.338572,3.935000,10.467000,-4.098125 +286.338572,3.935000,10.467000,-4.098125 +286.477549,3.895000,10.459000,-4.101768 +286.477549,3.895000,10.459000,-4.101768 +286.608568,3.858000,10.438000,-4.103111 +286.608568,3.858000,10.438000,-4.103111 +286.737680,3.816000,10.409000,-4.104836 +286.737680,3.816000,10.409000,-4.104836 +286.737680,3.816000,10.409000,-4.104836 +286.737680,3.816000,10.409000,-4.104836 +286.869536,3.764000,10.371000,-4.106466 +286.869536,3.764000,10.371000,-4.106466 +286.997537,3.704000,10.330000,-4.108192 +286.997537,3.704000,10.330000,-4.108192 +287.137500,3.634000,10.284000,-4.110014 +287.137500,3.634000,10.284000,-4.110014 +287.137500,3.634000,10.284000,-4.110014 +287.268553,3.560000,10.234000,-4.111260 +287.268553,3.560000,10.234000,-4.111260 +287.398544,3.491000,10.191000,-4.110014 +287.398544,3.491000,10.191000,-4.110014 +287.527518,3.437000,10.151000,-4.107425 +287.527518,3.437000,10.151000,-4.107425 +287.657501,3.400000,10.126000,-4.102631 +287.657501,3.400000,10.126000,-4.102631 +287.657501,3.400000,10.126000,-4.102631 +287.657501,3.400000,10.126000,-4.102631 +287.797481,3.393000,10.110000,-4.099084 +287.797481,3.393000,10.110000,-4.099084 +287.927471,3.386000,10.103000,-4.099372 +287.927471,3.386000,10.103000,-4.099372 +288.057583,3.392000,10.101000,-4.101960 +288.057583,3.392000,10.101000,-4.101960 +288.057583,3.392000,10.101000,-4.101960 +288.057583,3.392000,10.101000,-4.101960 +288.188515,3.405000,10.108000,-4.107329 +288.188515,3.405000,10.108000,-4.107329 +288.317527,3.420000,10.118000,-4.113848 +288.317527,3.420000,10.118000,-4.113848 +288.447410,3.438000,10.131000,-4.122286 +288.447410,3.438000,10.131000,-4.122286 +288.447410,3.438000,10.131000,-4.122286 +288.447410,3.438000,10.131000,-4.122286 +288.588454,3.450000,10.146000,-4.133311 +288.588454,3.450000,10.146000,-4.133311 +288.717435,3.459000,10.154000,-4.148075 +288.717435,3.459000,10.154000,-4.148075 +288.847614,3.457000,10.163000,-4.165524 +288.847614,3.457000,10.163000,-4.165524 +288.847614,3.457000,10.163000,-4.165524 +288.847614,3.457000,10.163000,-4.165524 +288.847614,3.457000,10.163000,-4.165524 +288.847614,3.457000,10.163000,-4.165524 +289.107490,3.463000,10.162000,-4.202819 +289.107490,3.463000,10.162000,-4.202819 +289.247614,3.463000,10.162000,-4.221131 +289.247614,3.463000,10.162000,-4.221131 +289.247614,3.463000,10.162000,-4.221131 +289.247614,3.463000,10.162000,-4.221131 +289.378396,3.463000,10.163000,-4.239539 +289.378396,3.463000,10.163000,-4.239539 +289.507375,3.462000,10.163000,-4.258139 +289.507375,3.462000,10.163000,-4.258139 +289.638529,3.463000,10.163000,-4.276834 +289.638529,3.463000,10.163000,-4.276834 +289.767353,3.464000,10.164000,-4.295721 +289.767353,3.464000,10.164000,-4.295721 +289.767353,3.464000,10.164000,-4.295721 +289.767353,3.464000,10.164000,-4.295721 +289.767353,3.464000,10.164000,-4.295721 +289.907355,3.456000,10.162000,-4.314992 +289.907355,3.456000,10.162000,-4.314992 +290.040347,3.448000,10.161000,-4.334071 +290.040347,3.448000,10.161000,-4.334071 +290.168523,3.432000,10.159000,-4.353341 +290.168523,3.432000,10.159000,-4.353341 +290.168523,3.432000,10.159000,-4.353341 +290.168523,3.432000,10.159000,-4.353341 +290.168523,3.432000,10.159000,-4.353341 +290.298339,3.422000,10.156000,-4.372804 +290.298339,3.422000,10.156000,-4.372804 +290.427547,3.420000,10.157000,-4.391499 +290.427547,3.420000,10.157000,-4.391499 +290.569091,3.417000,10.157000,-4.410099 +290.569091,3.417000,10.157000,-4.410099 +290.569091,3.417000,10.157000,-4.410099 +290.569091,3.417000,10.157000,-4.410099 +290.699273,3.417000,10.156000,-4.428794 +290.699273,3.417000,10.156000,-4.428794 +290.828289,3.417000,10.156000,-4.447393 +290.828289,3.417000,10.156000,-4.447393 +290.958272,3.416000,10.155000,-4.465897 +290.958272,3.416000,10.155000,-4.465897 +290.958272,3.416000,10.155000,-4.465897 +290.958272,3.416000,10.155000,-4.465897 +291.087211,3.416000,10.155000,-4.484401 +291.087211,3.416000,10.155000,-4.484401 +291.217212,3.423000,10.156000,-4.503096 +291.217212,3.423000,10.156000,-4.503096 +291.357256,3.427000,10.156000,-4.521312 +291.357256,3.427000,10.156000,-4.521312 +291.357256,3.427000,10.156000,-4.521312 +291.357256,3.427000,10.156000,-4.521312 +291.488268,3.433000,10.155000,-4.535981 +291.488268,3.433000,10.155000,-4.535981 +291.618229,3.431000,10.153000,-4.546239 +291.618229,3.431000,10.153000,-4.546239 +291.748241,3.413000,10.150000,-4.552471 +291.748241,3.413000,10.150000,-4.552471 +291.748241,3.413000,10.150000,-4.552471 +291.748241,3.413000,10.150000,-4.552471 +291.877200,3.377000,10.147000,-4.554676 +291.877200,3.377000,10.147000,-4.554676 +292.017208,3.325000,10.142000,-4.556498 +292.017208,3.325000,10.142000,-4.556498 +292.148195,3.270000,10.136000,-4.558895 +292.148195,3.270000,10.136000,-4.558895 +292.148195,3.270000,10.136000,-4.558895 +292.148195,3.270000,10.136000,-4.558895 +292.278195,3.203000,10.127000,-4.561004 +292.278195,3.203000,10.127000,-4.561004 +292.408476,3.126000,10.118000,-4.563209 +292.408476,3.126000,10.118000,-4.563209 +292.538159,3.042000,10.108000,-4.565414 +292.538159,3.042000,10.108000,-4.565414 +292.538159,3.042000,10.108000,-4.565414 +292.538159,3.042000,10.108000,-4.565414 +292.677291,2.948000,10.101000,-4.569441 +292.677291,2.948000,10.101000,-4.569441 +292.808394,2.864000,10.093000,-4.576535 +292.808394,2.864000,10.093000,-4.576535 +292.938219,2.783000,10.086000,-4.587849 +292.938219,2.783000,10.086000,-4.587849 +293.067260,2.710000,10.080000,-4.603955 +293.067260,2.710000,10.080000,-4.603955 +293.067260,2.710000,10.080000,-4.603955 +293.067260,2.710000,10.080000,-4.603955 +293.197133,2.650000,10.071000,-4.622842 +293.197133,2.650000,10.071000,-4.622842 +293.327129,2.603000,10.063000,-4.643072 +293.327129,2.603000,10.063000,-4.643072 +293.327129,2.603000,10.063000,-4.643072 +293.327129,2.603000,10.063000,-4.643072 +293.468097,2.573000,10.057000,-4.663493 +293.468097,2.573000,10.057000,-4.663493 +293.598095,2.556000,10.051000,-4.683626 +293.598095,2.556000,10.051000,-4.683626 +293.728059,2.555000,10.049000,-4.702610 +293.728059,2.555000,10.049000,-4.702610 +293.728059,2.555000,10.049000,-4.702610 +293.728059,2.555000,10.049000,-4.702610 +293.728059,2.555000,10.049000,-4.702610 +293.728059,2.555000,10.049000,-4.702610 +293.988088,2.559000,10.051000,1.554690 +293.988088,2.559000,10.051000,1.554690 +294.127138,2.536000,10.053000,1.548362 +294.127138,2.536000,10.053000,1.548362 +294.127138,2.536000,10.053000,1.548362 +294.127138,2.536000,10.053000,1.548362 +294.127138,2.536000,10.053000,1.548362 +294.127138,2.536000,10.053000,1.548362 +294.387061,2.424000,10.054000,1.543664 +294.387061,2.424000,10.054000,1.543664 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.518009,2.351000,10.054000,1.541651 +294.778033,2.192000,10.058000,1.538583 +294.778033,2.192000,10.058000,1.538583 +294.917032,2.103000,10.059000,1.537912 +294.917032,2.103000,10.059000,1.537912 +294.917032,2.103000,10.059000,1.537912 +294.917032,2.103000,10.059000,1.537912 +294.917032,2.103000,10.059000,1.537912 +294.917032,2.103000,10.059000,1.537912 +295.177127,1.948000,10.061000,1.536090 +295.177127,1.948000,10.061000,1.536090 +295.307974,1.882000,10.063000,1.535323 +295.307974,1.882000,10.063000,1.535323 +295.307974,1.882000,10.063000,1.535323 +295.307974,1.882000,10.063000,1.535323 +295.307974,1.882000,10.063000,1.535323 +295.307974,1.882000,10.063000,1.535323 +295.577025,1.762000,10.066000,1.532639 +295.577025,1.762000,10.066000,1.532639 +295.708048,1.700000,10.071000,1.532063 +295.708048,1.700000,10.071000,1.532063 +295.708048,1.700000,10.071000,1.532063 +295.708048,1.700000,10.071000,1.532063 +295.708048,1.700000,10.071000,1.532063 +295.966970,1.576000,10.077000,1.530625 +295.966970,1.576000,10.077000,1.530625 +295.966970,1.576000,10.077000,1.530625 +295.966970,1.576000,10.077000,1.530625 +296.097952,1.514000,10.080000,1.529859 +296.097952,1.514000,10.080000,1.529859 +296.236931,1.453000,10.083000,1.528900 +296.236931,1.453000,10.083000,1.528900 +296.367007,1.392000,10.088000,1.528037 +296.367007,1.392000,10.088000,1.528037 +296.367007,1.392000,10.088000,1.528037 +296.367007,1.392000,10.088000,1.528037 +296.498930,1.333000,10.091000,1.527078 +296.498930,1.333000,10.091000,1.527078 +296.626935,1.272000,10.093000,1.526503 +296.626935,1.272000,10.093000,1.526503 +296.757923,1.210000,10.096000,1.526023 +296.757923,1.210000,10.096000,1.526023 +296.757923,1.210000,10.096000,1.526023 +296.757923,1.210000,10.096000,1.526023 +296.897912,1.147000,10.099000,1.525544 +296.897912,1.147000,10.099000,1.525544 +297.026914,1.088000,10.101000,1.524969 +297.026914,1.088000,10.101000,1.524969 +297.157072,1.030000,10.106000,1.524394 +297.157072,1.030000,10.106000,1.524394 +297.157072,1.030000,10.106000,1.524394 +297.157072,1.030000,10.106000,1.524394 +297.287888,0.971000,10.110000,1.523531 +297.287888,0.971000,10.110000,1.523531 +297.417872,0.908000,10.110000,1.522860 +297.417872,0.908000,10.110000,1.522860 +297.417872,0.908000,10.110000,1.522860 +297.546862,0.844000,10.113000,1.522285 +297.546862,0.844000,10.113000,1.522285 +297.546862,0.844000,10.113000,1.522285 +297.546862,0.844000,10.113000,1.522285 +297.686803,0.778000,10.113000,1.521613 +297.686803,0.778000,10.113000,1.521613 +297.816894,0.712000,10.112000,1.521134 +297.816894,0.712000,10.112000,1.521134 +297.946842,0.652000,10.111000,1.520175 +297.946842,0.652000,10.111000,1.520175 +298.076872,0.591000,10.111000,1.520079 +298.076872,0.591000,10.111000,1.520079 +298.076872,0.591000,10.111000,1.520079 +298.076872,0.591000,10.111000,1.520079 +298.207196,0.532000,10.112000,1.519696 +298.207196,0.532000,10.112000,1.519696 +298.207196,0.532000,10.112000,1.519696 +298.207196,0.532000,10.112000,1.519696 +298.476816,0.404000,10.118000,1.519696 +298.476816,0.404000,10.118000,1.519696 +298.476816,0.404000,10.118000,1.519696 +298.476816,0.404000,10.118000,1.519696 +298.607158,0.334000,10.121000,1.519408 +298.607158,0.334000,10.121000,1.519408 +298.607158,0.334000,10.121000,1.519408 +298.607158,0.334000,10.121000,1.519408 +298.867804,0.200000,10.130000,1.518641 +298.867804,0.200000,10.130000,1.518641 +298.867804,0.200000,10.130000,1.518641 +298.867804,0.200000,10.130000,1.518641 +299.007767,0.137000,10.138000,1.518162 +299.007767,0.137000,10.138000,1.518162 +299.007767,0.137000,10.138000,1.518162 +299.007767,0.137000,10.138000,1.518162 +299.267748,0.012000,10.150000,1.517107 +299.267748,0.012000,10.150000,1.517107 +299.267748,0.012000,10.150000,1.517107 +299.267748,0.012000,10.150000,1.517107 +299.396743,-0.057000,10.155000,1.516628 +299.396743,-0.057000,10.155000,1.516628 +299.396743,-0.057000,10.155000,1.516628 +299.396743,-0.057000,10.155000,1.516628 +299.396743,-0.057000,10.155000,1.516628 +299.656729,-0.183000,10.166000,1.514998 +299.656729,-0.183000,10.166000,1.514998 +299.656729,-0.183000,10.166000,1.514998 +299.656729,-0.183000,10.166000,1.514998 +299.797721,-0.245000,10.171000,1.514423 +299.797721,-0.245000,10.171000,1.514423 +299.926705,-0.304000,10.176000,1.513943 +299.926705,-0.304000,10.176000,1.513943 +299.926705,-0.304000,10.176000,1.513943 +300.056692,-0.367000,10.179000,1.513656 +300.056692,-0.367000,10.179000,1.513656 +300.056692,-0.367000,10.179000,1.513656 +300.056692,-0.367000,10.179000,1.513656 +300.186629,-0.431000,10.178000,1.513464 +300.186629,-0.431000,10.178000,1.513464 +300.326626,-0.491000,10.181000,1.512985 +300.326626,-0.491000,10.181000,1.512985 +300.326626,-0.491000,10.181000,1.512985 +300.457682,-0.550000,10.183000,1.512505 +300.457682,-0.550000,10.183000,1.512505 +300.457682,-0.550000,10.183000,1.512505 +300.457682,-0.550000,10.183000,1.512505 +300.587647,-0.610000,10.188000,1.511834 +300.587647,-0.610000,10.188000,1.511834 +300.717647,-0.676000,10.194000,1.511163 +300.717647,-0.676000,10.194000,1.511163 +300.847592,-0.747000,10.201000,1.510396 +300.847592,-0.747000,10.201000,1.510396 +300.847592,-0.747000,10.201000,1.510396 +300.847592,-0.747000,10.201000,1.510396 +300.986737,-0.820000,10.208000,1.509917 +300.986737,-0.820000,10.208000,1.509917 +301.117632,-0.883000,10.212000,1.509629 +301.117632,-0.883000,10.212000,1.509629 +301.247584,-0.949000,10.217000,1.509341 +301.247584,-0.949000,10.217000,1.509341 +301.378854,-1.013000,10.220000,1.509150 +301.378854,-1.013000,10.220000,1.509150 +301.378854,-1.013000,10.220000,1.509150 +301.378854,-1.013000,10.220000,1.509150 +301.507630,-1.071000,10.223000,1.509246 +301.507630,-1.071000,10.223000,1.509246 +301.637595,-1.128000,10.222000,1.511643 +301.637595,-1.128000,10.222000,1.511643 +301.776584,-1.168000,10.222000,1.516340 +301.776584,-1.168000,10.222000,1.516340 +301.776584,-1.168000,10.222000,1.516340 +301.776584,-1.168000,10.222000,1.516340 +301.906557,-1.194000,10.220000,1.523435 +301.906557,-1.194000,10.220000,1.523435 +301.906557,-1.194000,10.220000,1.523435 +302.037602,-1.205000,10.219000,1.532927 +302.037602,-1.205000,10.219000,1.532927 +302.166517,-1.202000,10.221000,1.544431 +302.166517,-1.202000,10.221000,1.544431 +302.166517,-1.202000,10.221000,1.544431 +302.166517,-1.202000,10.221000,1.544431 +302.296502,-1.195000,10.220000,1.559292 +302.296502,-1.195000,10.220000,1.559292 +302.296502,-1.195000,10.220000,1.559292 +302.567521,-1.170000,10.229000,-4.689763 +302.567521,-1.170000,10.229000,-4.689763 +302.567521,-1.170000,10.229000,-4.689763 +302.567521,-1.170000,10.229000,-4.689763 +302.697728,-1.158000,10.233000,-4.672026 +302.697728,-1.158000,10.233000,-4.672026 +302.697728,-1.158000,10.233000,-4.672026 +302.697728,-1.158000,10.233000,-4.672026 +302.956549,-1.141000,10.234000,-4.637415 +302.956549,-1.141000,10.234000,-4.637415 +302.956549,-1.141000,10.234000,-4.637415 +302.956549,-1.141000,10.234000,-4.637415 +303.096509,-1.157000,10.231000,-4.622842 +303.096509,-1.157000,10.231000,-4.622842 +303.096509,-1.157000,10.231000,-4.622842 +303.096509,-1.157000,10.231000,-4.622842 +303.356450,-1.222000,10.232000,-4.607503 +303.356450,-1.222000,10.232000,-4.607503 +303.487453,-1.268000,10.225000,-4.605489 +303.487453,-1.268000,10.225000,-4.605489 +303.487453,-1.268000,10.225000,-4.605489 +303.487453,-1.268000,10.225000,-4.605489 +303.617460,-1.318000,10.212000,-4.604051 +303.617460,-1.318000,10.212000,-4.604051 +303.747436,-1.375000,10.197000,-4.602134 +303.747436,-1.375000,10.197000,-4.602134 +303.877439,-1.437000,10.183000,-4.600504 +303.877439,-1.437000,10.183000,-4.600504 +303.877439,-1.437000,10.183000,-4.600504 +303.877439,-1.437000,10.183000,-4.600504 +304.017849,-1.564000,10.177000,-4.598682 +304.017849,-1.564000,10.177000,-4.598682 +304.146499,-1.621000,10.170000,-4.597244 +304.146499,-1.621000,10.170000,-4.597244 +304.276380,-1.684000,10.160000,-4.595135 +304.276380,-1.684000,10.160000,-4.595135 +304.276380,-1.684000,10.160000,-4.595135 +304.276380,-1.684000,10.160000,-4.595135 +304.408696,-1.748000,10.154000,-4.591108 +304.408696,-1.748000,10.154000,-4.591108 +304.546392,-1.819000,10.144000,-4.584110 +304.546392,-1.819000,10.144000,-4.584110 +304.677390,-1.877000,10.141000,-4.573468 +304.677390,-1.877000,10.141000,-4.573468 +304.677390,-1.877000,10.141000,-4.573468 +304.677390,-1.877000,10.141000,-4.573468 +304.807333,-1.920000,10.143000,-4.558895 +304.807333,-1.920000,10.143000,-4.558895 +304.937549,-1.952000,10.142000,-4.541254 +304.937549,-1.952000,10.142000,-4.541254 +305.066365,-1.984000,10.143000,-4.522079 +305.066365,-1.984000,10.143000,-4.522079 +305.066365,-1.984000,10.143000,-4.522079 +305.066365,-1.984000,10.143000,-4.522079 +305.066365,-1.984000,10.143000,-4.522079 +305.197354,-1.978000,10.144000,-4.502521 +305.197354,-1.978000,10.144000,-4.502521 +305.337345,-1.965000,10.145000,-4.483634 +305.337345,-1.965000,10.145000,-4.483634 +305.337345,-1.965000,10.145000,-4.483634 +305.466340,-1.946000,10.146000,-4.464651 +305.466340,-1.946000,10.146000,-4.464651 +305.466340,-1.946000,10.146000,-4.464651 +305.466340,-1.946000,10.146000,-4.464651 +305.597334,-1.925000,10.146000,-4.446243 +305.597334,-1.925000,10.146000,-4.446243 +305.726762,-1.910000,10.146000,-4.427931 +305.726762,-1.910000,10.146000,-4.427931 +305.856611,-1.900000,10.146000,-4.408948 +305.856611,-1.900000,10.146000,-4.408948 +305.856611,-1.900000,10.146000,-4.408948 +305.856611,-1.900000,10.146000,-4.408948 +305.997294,-1.890000,10.149000,-4.390349 +305.997294,-1.890000,10.149000,-4.390349 +306.127297,-1.885000,10.150000,-4.371845 +306.127297,-1.885000,10.150000,-4.371845 +306.256299,-1.886000,10.151000,-4.352766 +306.256299,-1.886000,10.151000,-4.352766 +306.256299,-1.886000,10.151000,-4.352766 +306.256299,-1.886000,10.151000,-4.352766 +306.388275,-1.884000,10.152000,-4.333783 +306.388275,-1.884000,10.152000,-4.333783 +306.517259,-1.885000,10.150000,-4.314800 +306.517259,-1.885000,10.150000,-4.314800 +306.657244,-1.886000,10.151000,-4.295625 +306.657244,-1.886000,10.151000,-4.295625 +306.657244,-1.886000,10.151000,-4.295625 +306.657244,-1.886000,10.151000,-4.295625 +306.787287,-1.888000,10.153000,-4.276546 +306.787287,-1.888000,10.153000,-4.276546 +306.918317,-1.889000,10.154000,-4.257563 +306.918317,-1.889000,10.154000,-4.257563 +307.047240,-1.889000,10.156000,-4.238485 +307.047240,-1.889000,10.156000,-4.238485 +307.047240,-1.889000,10.156000,-4.238485 +307.047240,-1.889000,10.156000,-4.238485 +307.047240,-1.889000,10.156000,-4.238485 +307.047240,-1.889000,10.156000,-4.238485 +307.317227,-1.890000,10.158000,-4.199943 +307.317227,-1.890000,10.158000,-4.199943 +307.447267,-1.890000,10.159000,-4.180864 +307.447267,-1.890000,10.159000,-4.180864 +307.447267,-1.890000,10.159000,-4.180864 +307.447267,-1.890000,10.159000,-4.180864 +307.447267,-1.890000,10.159000,-4.180864 +307.447267,-1.890000,10.159000,-4.180864 +307.707214,-1.884000,10.155000,-4.155745 +307.707214,-1.884000,10.155000,-4.155745 +307.837209,-1.889000,10.141000,-4.149705 +307.837209,-1.889000,10.141000,-4.149705 +307.837209,-1.889000,10.141000,-4.149705 +307.837209,-1.889000,10.141000,-4.149705 +307.837209,-1.889000,10.141000,-4.149705 +307.837209,-1.889000,10.141000,-4.149705 +308.107137,-1.953000,10.093000,-4.146158 +308.107137,-1.953000,10.093000,-4.146158 +308.237567,-1.999000,10.063000,-4.144240 +308.237567,-1.999000,10.063000,-4.144240 +308.237567,-1.999000,10.063000,-4.144240 +308.237567,-1.999000,10.063000,-4.144240 +308.237567,-1.999000,10.063000,-4.144240 +308.237567,-1.999000,10.063000,-4.144240 +308.497310,-2.122000,9.983000,-4.140310 +308.497310,-2.122000,9.983000,-4.140310 +308.627125,-2.193000,9.934000,-4.138488 +308.627125,-2.193000,9.934000,-4.138488 +308.627125,-2.193000,9.934000,-4.138488 +308.627125,-2.193000,9.934000,-4.138488 +308.627125,-2.193000,9.934000,-4.138488 +308.627125,-2.193000,9.934000,-4.138488 +308.896107,-2.332000,9.837000,-4.135804 +308.896107,-2.332000,9.837000,-4.135804 +309.026121,-2.389000,9.795000,-4.135228 +309.026121,-2.389000,9.795000,-4.135228 +309.026121,-2.389000,9.795000,-4.135228 +309.026121,-2.389000,9.795000,-4.135228 +309.288133,-2.498000,9.720000,-4.133982 +309.288133,-2.498000,9.720000,-4.133982 +309.288133,-2.498000,9.720000,-4.133982 +309.288133,-2.498000,9.720000,-4.133982 +309.426122,-2.551000,9.684000,-4.133215 +309.426122,-2.551000,9.684000,-4.133215 +309.556055,-2.605000,9.651000,-4.132544 +309.556055,-2.605000,9.651000,-4.132544 +309.687078,-2.656000,9.620000,-4.132065 +309.687078,-2.656000,9.620000,-4.132065 +309.687078,-2.656000,9.620000,-4.132065 +309.687078,-2.656000,9.620000,-4.132065 +309.817084,-2.709000,9.589000,-4.131585 +309.817084,-2.709000,9.589000,-4.131585 +309.947051,-2.764000,9.557000,-4.131298 +309.947051,-2.764000,9.557000,-4.131298 +310.086053,-2.817000,9.524000,-4.130722 +310.086053,-2.817000,9.524000,-4.130722 +310.086053,-2.817000,9.524000,-4.130722 +310.086053,-2.817000,9.524000,-4.130722 +310.216065,-2.873000,9.488000,-4.130531 +310.216065,-2.873000,9.488000,-4.130531 +310.346044,-2.930000,9.452000,-4.130339 +310.346044,-2.930000,9.452000,-4.130339 +310.476032,-2.987000,9.415000,-4.130243 +310.476032,-2.987000,9.415000,-4.130243 +310.476032,-2.987000,9.415000,-4.130243 +310.476032,-2.987000,9.415000,-4.130243 +310.605992,-3.036000,9.381000,-4.129668 +310.605992,-3.036000,9.381000,-4.129668 +310.745985,-3.079000,9.348000,-4.126120 +310.745985,-3.079000,9.348000,-4.126120 +310.878993,-3.113000,9.321000,-4.120368 +310.878993,-3.113000,9.321000,-4.120368 +310.878993,-3.113000,9.321000,-4.120368 +310.878993,-3.113000,9.321000,-4.120368 +311.006032,-3.135000,9.301000,-4.111739 +311.006032,-3.135000,9.301000,-4.111739 +311.006032,-3.135000,9.301000,-4.111739 +311.006032,-3.135000,9.301000,-4.111739 +311.266992,-3.158000,9.287000,-4.086524 +311.266992,-3.158000,9.287000,-4.086524 +311.266992,-3.158000,9.287000,-4.086524 +311.266992,-3.158000,9.287000,-4.086524 +311.395961,-3.158000,9.289000,-4.070705 +311.395961,-3.158000,9.289000,-4.070705 +311.395961,-3.158000,9.289000,-4.070705 +311.395961,-3.158000,9.289000,-4.070705 +311.666963,-3.143000,9.300000,-4.036670 +311.666963,-3.143000,9.300000,-4.036670 +311.666963,-3.143000,9.300000,-4.036670 +311.666963,-3.143000,9.300000,-4.036670 +311.795940,-3.130000,9.308000,-4.019413 +311.795940,-3.130000,9.308000,-4.019413 +311.795940,-3.130000,9.308000,-4.019413 +311.795940,-3.130000,9.308000,-4.019413 +312.056912,-3.108000,9.326000,-3.983844 +312.056912,-3.108000,9.326000,-3.983844 +312.056912,-3.108000,9.326000,-3.983844 +312.056912,-3.108000,9.326000,-3.983844 +312.195929,-3.106000,9.330000,-3.964861 +312.195929,-3.106000,9.330000,-3.964861 +312.325908,-3.108000,9.332000,-3.945878 +312.325908,-3.108000,9.332000,-3.945878 +312.456902,-3.111000,9.335000,-3.926703 +312.456902,-3.111000,9.335000,-3.926703 +312.587947,-3.114000,9.333000,-3.908008 +312.587947,-3.114000,9.333000,-3.908008 +312.587947,-3.114000,9.333000,-3.908008 +312.587947,-3.114000,9.333000,-3.908008 +312.716971,-3.128000,9.326000,-3.887299 +312.716971,-3.128000,9.326000,-3.887299 +312.846894,-3.138000,9.320000,-3.866494 +312.846894,-3.138000,9.320000,-3.866494 +312.989986,-3.147000,9.312000,-3.845594 +312.989986,-3.147000,9.312000,-3.845594 +312.989986,-3.147000,9.312000,-3.845594 +312.989986,-3.147000,9.312000,-3.845594 +313.116944,-3.157000,9.303000,-3.824885 +313.116944,-3.157000,9.303000,-3.824885 +313.246847,-3.157000,9.302000,-3.806285 +313.246847,-3.157000,9.302000,-3.806285 +313.375856,-3.157000,9.302000,-3.787686 +313.375856,-3.157000,9.302000,-3.787686 +313.375856,-3.157000,9.302000,-3.787686 +313.375856,-3.157000,9.302000,-3.787686 +313.506849,-3.157000,9.302000,-3.769182 +313.506849,-3.157000,9.302000,-3.769182 +313.646797,-3.157000,9.303000,-3.750103 +313.646797,-3.157000,9.303000,-3.750103 +313.775783,-3.153000,9.304000,-3.730737 +313.775783,-3.153000,9.304000,-3.730737 +313.775783,-3.153000,9.304000,-3.730737 +313.775783,-3.153000,9.304000,-3.730737 +313.906780,-3.153000,9.303000,-3.711274 +313.906780,-3.153000,9.303000,-3.711274 +314.036788,-3.154000,9.304000,-3.692100 +314.036788,-3.154000,9.304000,-3.692100 +314.165795,-3.152000,9.304000,-3.673308 +314.165795,-3.152000,9.304000,-3.673308 +314.165795,-3.152000,9.304000,-3.673308 +314.165795,-3.152000,9.304000,-3.673308 +314.306787,-3.151000,9.303000,-3.654709 +314.306787,-3.151000,9.303000,-3.654709 +314.435774,-3.151000,9.303000,-3.636205 +314.435774,-3.151000,9.303000,-3.636205 +314.566724,-3.151000,9.302000,-3.617414 +314.566724,-3.151000,9.302000,-3.617414 +314.566724,-3.151000,9.302000,-3.617414 +314.566724,-3.151000,9.302000,-3.617414 +314.695711,-3.154000,9.301000,-3.598143 +314.695711,-3.154000,9.301000,-3.598143 +314.826754,-3.156000,9.299000,-3.578873 +314.826754,-3.156000,9.299000,-3.578873 +314.965747,-3.158000,9.295000,-3.559698 +314.965747,-3.158000,9.295000,-3.559698 +314.965747,-3.158000,9.295000,-3.559698 +314.965747,-3.158000,9.295000,-3.559698 +315.095707,-3.161000,9.292000,-3.540331 +315.095707,-3.161000,9.292000,-3.540331 +315.095707,-3.161000,9.292000,-3.540331 +315.095707,-3.161000,9.292000,-3.540331 +315.356711,-3.159000,9.277000,-3.511377 +315.356711,-3.159000,9.277000,-3.511377 +315.486671,-3.165000,9.255000,-3.503324 +315.486671,-3.165000,9.255000,-3.503324 +315.486671,-3.165000,9.255000,-3.503324 +315.486671,-3.165000,9.255000,-3.503324 +315.486671,-3.165000,9.255000,-3.503324 +315.486671,-3.165000,9.255000,-3.503324 +315.756636,-3.176000,9.198000,-3.504571 +315.756636,-3.176000,9.198000,-3.504571 +315.886696,-3.180000,9.187000,-3.508693 +315.886696,-3.180000,9.187000,-3.508693 +315.886696,-3.180000,9.187000,-3.508693 +315.886696,-3.180000,9.187000,-3.508693 +316.015665,-3.179000,9.181000,-3.515308 +316.015665,-3.179000,9.181000,-3.515308 +316.146664,-3.181000,9.176000,-3.522403 +316.146664,-3.181000,9.176000,-3.522403 +316.276649,-3.181000,9.159000,-3.531223 +316.276649,-3.181000,9.159000,-3.531223 +316.276649,-3.181000,9.159000,-3.531223 +316.276649,-3.181000,9.159000,-3.531223 +316.415595,-3.195000,9.133000,-3.540427 +316.415595,-3.195000,9.133000,-3.540427 +316.546712,-3.211000,9.108000,-3.547618 +316.546712,-3.211000,9.108000,-3.547618 +316.683642,-3.237000,9.080000,-3.553370 +316.683642,-3.237000,9.080000,-3.553370 +316.683642,-3.237000,9.080000,-3.553370 +316.683642,-3.237000,9.080000,-3.553370 +316.805617,-3.267000,9.044000,-3.555575 +316.805617,-3.267000,9.044000,-3.555575 +316.946623,-3.291000,8.999000,-3.554041 +316.946623,-3.291000,8.999000,-3.554041 +317.076614,-3.316000,8.959000,-3.550686 +317.076614,-3.316000,8.959000,-3.550686 +317.076614,-3.316000,8.959000,-3.550686 +317.076614,-3.316000,8.959000,-3.550686 +317.205555,-3.324000,8.928000,-3.545029 +317.205555,-3.324000,8.928000,-3.545029 +317.335906,-3.325000,8.919000,-3.538222 +317.335906,-3.325000,8.919000,-3.538222 +317.465579,-3.322000,8.918000,-3.529977 +317.465579,-3.322000,8.918000,-3.529977 +317.595591,-3.317000,8.919000,-3.519143 +317.595591,-3.317000,8.919000,-3.519143 +317.595591,-3.317000,8.919000,-3.519143 +317.595591,-3.317000,8.919000,-3.519143 +317.736556,-3.312000,8.923000,-3.505146 +317.736556,-3.312000,8.923000,-3.505146 +317.865554,-3.306000,8.932000,-3.487505 +317.865554,-3.306000,8.932000,-3.487505 +317.996546,-3.301000,8.945000,-3.468043 +317.996546,-3.301000,8.945000,-3.468043 +317.996546,-3.301000,8.945000,-3.468043 +317.996546,-3.301000,8.945000,-3.468043 +318.127539,-3.294000,8.956000,-3.447717 +318.127539,-3.294000,8.956000,-3.447717 +318.255540,-3.286000,8.966000,-3.426242 +318.255540,-3.286000,8.966000,-3.426242 +318.396515,-3.281000,8.970000,-3.404862 +318.396515,-3.281000,8.970000,-3.404862 +318.396515,-3.281000,8.970000,-3.404862 +318.396515,-3.281000,8.970000,-3.404862 +318.526522,-3.274000,8.972000,-3.383386 +318.526522,-3.274000,8.972000,-3.383386 +318.656505,-3.270000,8.974000,-3.361719 +318.656505,-3.270000,8.974000,-3.361719 +318.786510,-3.275000,8.977000,-3.340914 +318.786510,-3.275000,8.977000,-3.340914 +318.786510,-3.275000,8.977000,-3.340914 +318.786510,-3.275000,8.977000,-3.340914 +318.915481,-3.295000,8.980000,-3.323753 +318.915481,-3.295000,8.980000,-3.323753 +319.045462,-3.313000,8.983000,-3.311768 +319.045462,-3.313000,8.983000,-3.311768 +319.186414,-3.324000,8.986000,-3.305057 +319.186414,-3.324000,8.986000,-3.305057 +319.186414,-3.324000,8.986000,-3.305057 +319.186414,-3.324000,8.986000,-3.305057 +319.316656,-3.334000,8.986000,-3.303331 +319.316656,-3.334000,8.986000,-3.303331 +319.446467,-3.331000,8.987000,-3.303427 +319.446467,-3.331000,8.987000,-3.303427 +319.576445,-3.332000,8.986000,-3.303331 +319.576445,-3.332000,8.986000,-3.303331 +319.576445,-3.332000,8.986000,-3.303331 +319.576445,-3.332000,8.986000,-3.303331 +319.705442,-3.334000,8.986000,-3.303140 +319.705442,-3.334000,8.986000,-3.303140 +319.846388,-3.336000,8.987000,-3.303236 +319.846388,-3.336000,8.987000,-3.303236 +319.975428,-3.329000,8.985000,-3.303236 +319.975428,-3.329000,8.985000,-3.303236 +319.975428,-3.329000,8.985000,-3.303236 +319.975428,-3.329000,8.985000,-3.303236 +320.105439,-3.323000,8.986000,-3.303427 +320.105439,-3.323000,8.986000,-3.303427 +320.236468,-3.324000,8.985000,-3.303427 +320.236468,-3.324000,8.985000,-3.303427 +320.365448,-3.322000,8.984000,-3.303331 +320.365448,-3.322000,8.984000,-3.303331 +320.365448,-3.322000,8.984000,-3.303331 +320.505388,-3.323000,8.985000,-3.303331 +320.505388,-3.323000,8.985000,-3.303331 +320.505388,-3.323000,8.985000,-3.303331 +320.635385,-3.324000,8.985000,-3.303236 +320.635385,-3.324000,8.985000,-3.303236 +320.766377,-3.323000,8.986000,-3.303427 +320.766377,-3.323000,8.986000,-3.303427 +320.766377,-3.323000,8.986000,-3.303427 +320.766377,-3.323000,8.986000,-3.303427 +320.766377,-3.323000,8.986000,-3.303427 +320.766377,-3.323000,8.986000,-3.303427 +321.025362,-3.323000,8.986000,-3.303715 +321.025362,-3.323000,8.986000,-3.303715 +321.166525,-3.323000,8.987000,-3.303811 +321.166525,-3.323000,8.987000,-3.303811 +321.166525,-3.323000,8.987000,-3.303811 +321.166525,-3.323000,8.987000,-3.303811 +321.166525,-3.323000,8.987000,-3.303811 +321.166525,-3.323000,8.987000,-3.303811 +321.426652,-3.324000,8.986000,-3.304002 +321.426652,-3.324000,8.986000,-3.304002 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.556444,-3.327000,8.985000,-3.303619 +321.816423,-3.347000,8.977000,-3.291539 +321.816423,-3.347000,8.977000,-3.291539 +321.956309,-3.359000,8.971000,-3.276774 +321.956309,-3.359000,8.971000,-3.276774 +321.956309,-3.359000,8.971000,-3.276774 +321.956309,-3.359000,8.971000,-3.276774 +321.956309,-3.359000,8.971000,-3.276774 +321.956309,-3.359000,8.971000,-3.276774 +322.215279,-3.377000,8.961000,-3.234015 +322.215279,-3.377000,8.961000,-3.234015 +322.345277,-3.380000,8.958000,-3.211388 +322.345277,-3.380000,8.958000,-3.211388 +322.345277,-3.380000,8.958000,-3.211388 +322.345277,-3.380000,8.958000,-3.211388 +322.345277,-3.380000,8.958000,-3.211388 +322.345277,-3.380000,8.958000,-3.211388 +322.615298,-3.369000,8.959000,-3.181284 +322.615298,-3.369000,8.959000,-3.181284 +322.745386,-3.361000,8.962000,-3.174765 +322.745386,-3.361000,8.962000,-3.174765 +322.875235,-3.353000,8.961000,-3.172847 +322.875235,-3.353000,8.961000,-3.172847 +322.875235,-3.353000,8.961000,-3.172847 +322.875235,-3.353000,8.961000,-3.172847 +323.006188,-3.354000,8.952000,-3.171984 +323.006188,-3.354000,8.952000,-3.171984 +323.136217,-3.355000,8.931000,-3.170738 +323.136217,-3.355000,8.931000,-3.170738 +323.276173,-3.357000,8.898000,-3.169300 +323.276173,-3.357000,8.898000,-3.169300 +323.276173,-3.357000,8.898000,-3.169300 +323.276173,-3.357000,8.898000,-3.169300 +323.406179,-3.356000,8.851000,-3.167862 +323.406179,-3.356000,8.851000,-3.167862 +323.536167,-3.357000,8.798000,-3.166424 +323.536167,-3.357000,8.798000,-3.166424 +323.666163,-3.358000,8.733000,-3.165273 +323.666163,-3.358000,8.733000,-3.165273 +323.795122,-3.362000,8.663000,-3.163835 +323.795122,-3.362000,8.663000,-3.163835 +323.795122,-3.362000,8.663000,-3.163835 +323.795122,-3.362000,8.663000,-3.163835 +323.935182,-3.363000,8.585000,-3.162589 +323.935182,-3.363000,8.585000,-3.162589 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.066155,-3.364000,8.501000,-3.161247 +324.326146,-3.362000,8.357000,-3.159425 +324.326146,-3.362000,8.357000,-3.159425 +324.456137,-3.363000,8.290000,-3.158083 +324.456137,-3.363000,8.290000,-3.158083 +324.456137,-3.363000,8.290000,-3.158083 +324.456137,-3.363000,8.290000,-3.158083 +324.456137,-3.363000,8.290000,-3.158083 +324.456137,-3.363000,8.290000,-3.158083 +324.726117,-3.361000,8.175000,-3.155686 +324.726117,-3.361000,8.175000,-3.155686 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +324.856091,-3.362000,8.136000,-3.154919 +325.116064,-3.360000,8.102000,-3.154344 +325.116064,-3.360000,8.102000,-3.154344 +325.246086,-3.361000,8.095000,-3.154152 +325.246086,-3.361000,8.095000,-3.154152 +325.246086,-3.361000,8.095000,-3.154152 +325.246086,-3.361000,8.095000,-3.154152 +325.246086,-3.361000,8.095000,-3.154152 +325.246086,-3.361000,8.095000,-3.154152 +325.516121,-3.359000,8.115000,-3.153768 +325.516121,-3.359000,8.115000,-3.153768 +325.645094,-3.359000,8.132000,-3.153864 +325.645094,-3.359000,8.132000,-3.153864 +325.645094,-3.359000,8.132000,-3.153864 +325.645094,-3.359000,8.132000,-3.153864 +325.645094,-3.359000,8.132000,-3.153864 +325.645094,-3.359000,8.132000,-3.153864 +325.905062,-3.358000,8.164000,-3.154344 +325.905062,-3.358000,8.164000,-3.154344 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.045036,-3.358000,8.173000,-3.154439 +326.306007,-3.358000,8.184000,-3.154248 +326.306007,-3.358000,8.184000,-3.154248 +326.436256,-3.358000,8.182000,-3.154056 +326.436256,-3.358000,8.182000,-3.154056 +326.565996,-3.358000,8.177000,-3.152618 +326.565996,-3.358000,8.177000,-3.152618 +326.565996,-3.358000,8.177000,-3.152618 +326.565996,-3.358000,8.177000,-3.152618 +326.707003,-3.357000,8.175000,-3.149358 +326.707003,-3.357000,8.175000,-3.149358 +326.835979,-3.356000,8.167000,-3.143318 +326.835979,-3.356000,8.167000,-3.143318 +326.964982,-3.359000,8.161000,-3.135265 +326.964982,-3.359000,8.161000,-3.135265 +327.095964,-3.357000,8.145000,-3.128649 +327.095964,-3.357000,8.145000,-3.128649 +327.095964,-3.357000,8.145000,-3.128649 +327.095964,-3.357000,8.145000,-3.128649 +327.224957,-3.356000,8.120000,-3.123376 +327.224957,-3.356000,8.120000,-3.123376 +327.355956,-3.355000,8.086000,-3.120500 +327.355956,-3.355000,8.086000,-3.120500 +327.495889,-3.351000,8.030000,-3.119637 +327.495889,-3.351000,8.030000,-3.119637 +327.495889,-3.351000,8.030000,-3.119637 +327.495889,-3.351000,8.030000,-3.119637 +327.625930,-3.349000,7.964000,-3.118391 +327.625930,-3.349000,7.964000,-3.118391 +327.754905,-3.347000,7.887000,-3.117144 +327.754905,-3.347000,7.887000,-3.117144 +327.884921,-3.343000,7.802000,-3.115802 +327.884921,-3.343000,7.802000,-3.115802 +327.884921,-3.343000,7.802000,-3.115802 +327.884921,-3.343000,7.802000,-3.115802 +328.014932,-3.341000,7.713000,-3.114364 +328.014932,-3.341000,7.713000,-3.114364 +328.154856,-3.340000,7.630000,-3.113118 +328.154856,-3.340000,7.630000,-3.113118 +328.284896,-3.338000,7.552000,-3.112255 +328.284896,-3.338000,7.552000,-3.112255 +328.284896,-3.338000,7.552000,-3.112255 +328.284896,-3.338000,7.552000,-3.112255 +328.415872,-3.338000,7.478000,-3.111200 +328.415872,-3.338000,7.478000,-3.111200 +328.545984,-3.338000,7.410000,-3.110338 +328.545984,-3.338000,7.410000,-3.110338 +328.545984,-3.338000,7.410000,-3.110338 +328.545984,-3.338000,7.410000,-3.110338 +328.545984,-3.338000,7.410000,-3.110338 +328.545984,-3.338000,7.410000,-3.110338 +328.814852,-3.337000,7.280000,-3.108516 +328.814852,-3.337000,7.280000,-3.108516 +328.945888,-3.335000,7.221000,-3.108132 +328.945888,-3.335000,7.221000,-3.108132 +328.945888,-3.335000,7.221000,-3.108132 +328.945888,-3.335000,7.221000,-3.108132 +329.204862,-3.332000,7.103000,-3.107174 +329.204862,-3.332000,7.103000,-3.107174 +329.204862,-3.332000,7.103000,-3.107174 +329.204862,-3.332000,7.103000,-3.107174 +329.335817,-3.330000,7.041000,-3.106790 +329.335817,-3.330000,7.041000,-3.106790 +329.335817,-3.330000,7.041000,-3.106790 +329.335817,-3.330000,7.041000,-3.106790 +329.335817,-3.330000,7.041000,-3.106790 +329.606831,-3.326000,6.910000,-3.105448 +329.606831,-3.326000,6.910000,-3.105448 +329.606831,-3.326000,6.910000,-3.105448 +329.606831,-3.326000,6.910000,-3.105448 +329.737809,-3.323000,6.848000,-3.105160 +329.737809,-3.323000,6.848000,-3.105160 +329.737809,-3.323000,6.848000,-3.105160 +329.737809,-3.323000,6.848000,-3.105160 +329.994776,-3.318000,6.722000,-3.104777 +329.994776,-3.318000,6.722000,-3.104777 +329.994776,-3.318000,6.722000,-3.104777 +329.994776,-3.318000,6.722000,-3.104777 +330.124773,-3.315000,6.663000,-3.104681 +330.124773,-3.315000,6.663000,-3.104681 +330.124773,-3.315000,6.663000,-3.104681 +330.124773,-3.315000,6.663000,-3.104681 +330.394826,-3.310000,6.536000,-3.104297 +330.394826,-3.310000,6.536000,-3.104297 +330.394826,-3.310000,6.536000,-3.104297 +330.394826,-3.310000,6.536000,-3.104297 +330.525740,-3.309000,6.468000,-3.103818 +330.525740,-3.309000,6.468000,-3.103818 +330.654761,-3.308000,6.400000,-3.103722 +330.654761,-3.308000,6.400000,-3.103722 +330.785665,-3.307000,6.333000,-3.103722 +330.785665,-3.307000,6.333000,-3.103722 +330.785665,-3.307000,6.333000,-3.103722 +330.785665,-3.307000,6.333000,-3.103722 +330.924679,-3.307000,6.267000,-3.103626 +330.924679,-3.307000,6.267000,-3.103626 +331.055718,-3.305000,6.202000,-3.103818 +331.055718,-3.305000,6.202000,-3.103818 +331.184704,-3.303000,6.136000,-3.103626 +331.184704,-3.303000,6.136000,-3.103626 +331.184704,-3.303000,6.136000,-3.103626 +331.184704,-3.303000,6.136000,-3.103626 +331.314735,-3.301000,6.070000,-3.103530 +331.314735,-3.301000,6.070000,-3.103530 +331.445667,-3.300000,6.006000,-3.103626 +331.445667,-3.300000,6.006000,-3.103626 +331.586330,-3.295000,5.943000,-3.103530 +331.586330,-3.295000,5.943000,-3.103530 +331.586330,-3.295000,5.943000,-3.103530 +331.586330,-3.295000,5.943000,-3.103530 +331.714738,-3.289000,5.878000,-3.103435 +331.714738,-3.289000,5.878000,-3.103435 +331.845654,-3.283000,5.817000,-3.103435 +331.845654,-3.283000,5.817000,-3.103435 +331.975648,-3.277000,5.753000,-3.103243 +331.975648,-3.277000,5.753000,-3.103243 +332.104646,-3.273000,5.694000,-3.103243 +332.104646,-3.273000,5.694000,-3.103243 +332.104646,-3.273000,5.694000,-3.103243 +332.104646,-3.273000,5.694000,-3.103243 +332.237644,-3.271000,5.634000,-3.103051 +332.237644,-3.271000,5.634000,-3.103051 +332.375625,-3.270000,5.575000,-3.102955 +332.375625,-3.270000,5.575000,-3.102955 +332.504625,-3.268000,5.516000,-3.103051 +332.504625,-3.268000,5.516000,-3.103051 +332.504625,-3.268000,5.516000,-3.103051 +332.504625,-3.268000,5.516000,-3.103051 +332.504625,-3.268000,5.516000,-3.103051 +332.504625,-3.268000,5.516000,-3.103051 +332.765709,-3.267000,5.401000,-3.103339 +332.765709,-3.267000,5.401000,-3.103339 +332.765709,-3.267000,5.401000,-3.103339 +332.765709,-3.267000,5.401000,-3.103339 +332.894552,-3.267000,5.347000,-3.103530 +332.894552,-3.267000,5.347000,-3.103530 +333.038671,-3.261000,5.291000,-3.105256 +333.038671,-3.261000,5.291000,-3.105256 +333.165610,-3.254000,5.237000,-3.109762 +333.165610,-3.254000,5.237000,-3.109762 +333.294572,-3.248000,5.194000,-3.117144 +333.294572,-3.248000,5.194000,-3.117144 +333.294572,-3.248000,5.194000,-3.117144 +333.294572,-3.248000,5.194000,-3.117144 +333.425552,-3.240000,5.159000,-3.128074 +333.425552,-3.240000,5.159000,-3.128074 +333.555510,-3.237000,5.142000,-3.141976 +333.555510,-3.237000,5.142000,-3.141976 +333.684603,-3.235000,5.130000,-3.158083 +333.684603,-3.235000,5.130000,-3.158083 +333.684603,-3.235000,5.130000,-3.158083 +333.684603,-3.235000,5.130000,-3.158083 +333.824672,-3.233000,5.132000,-3.176107 +333.824672,-3.233000,5.132000,-3.176107 +333.954622,-3.230000,5.138000,-3.194611 +333.954622,-3.230000,5.138000,-3.194611 +334.084615,-3.231000,5.153000,-3.212635 +334.084615,-3.231000,5.153000,-3.212635 +334.084615,-3.231000,5.153000,-3.212635 +334.084615,-3.231000,5.153000,-3.212635 +334.214505,-3.233000,5.168000,-3.227016 +334.214505,-3.233000,5.168000,-3.227016 +334.344495,-3.235000,5.174000,-3.237274 +334.344495,-3.235000,5.174000,-3.237274 +334.484459,-3.243000,5.164000,-3.243698 +334.484459,-3.243000,5.164000,-3.243698 +334.484459,-3.243000,5.164000,-3.243698 +334.484459,-3.243000,5.164000,-3.243698 +334.614500,-3.251000,5.137000,-3.246286 +334.614500,-3.251000,5.137000,-3.246286 +334.745470,-3.258000,5.098000,-3.248300 +334.745470,-3.258000,5.098000,-3.248300 +334.875461,-3.264000,5.043000,-3.250409 +334.875461,-3.264000,5.043000,-3.250409 +334.875461,-3.264000,5.043000,-3.250409 +334.875461,-3.264000,5.043000,-3.250409 +334.875461,-3.264000,5.043000,-3.250409 +334.875461,-3.264000,5.043000,-3.250409 +335.145448,-3.276000,4.833000,-3.254436 +335.145448,-3.276000,4.833000,-3.254436 +335.275439,-3.288000,4.773000,-3.255874 +335.275439,-3.288000,4.773000,-3.255874 +335.275439,-3.288000,4.773000,-3.255874 +335.275439,-3.288000,4.773000,-3.255874 +335.275439,-3.288000,4.773000,-3.255874 +335.275439,-3.288000,4.773000,-3.255874 +335.535421,-3.310000,4.658000,-3.251943 +335.535421,-3.310000,4.658000,-3.251943 +335.674409,-3.317000,4.605000,-3.247245 +335.674409,-3.317000,4.605000,-3.247245 +335.674409,-3.317000,4.605000,-3.247245 +335.674409,-3.317000,4.605000,-3.247245 +335.674409,-3.317000,4.605000,-3.247245 +335.674409,-3.317000,4.605000,-3.247245 +335.935403,-3.321000,4.543000,-3.230467 +335.935403,-3.321000,4.543000,-3.230467 +336.064372,-3.322000,4.527000,-3.218962 +336.064372,-3.322000,4.527000,-3.218962 +336.195729,-3.322000,4.506000,-3.205061 +336.195729,-3.322000,4.506000,-3.205061 +336.195729,-3.322000,4.506000,-3.205061 +336.195729,-3.322000,4.506000,-3.205061 +336.324379,-3.317000,4.518000,-3.189817 +336.324379,-3.317000,4.518000,-3.189817 +336.465377,-3.321000,4.537000,-3.173902 +336.465377,-3.321000,4.537000,-3.173902 +336.594352,-3.324000,4.548000,-3.161055 +336.594352,-3.324000,4.548000,-3.161055 +336.594352,-3.324000,4.548000,-3.161055 +336.594352,-3.324000,4.548000,-3.161055 +336.724288,-3.324000,4.546000,-3.152234 +336.724288,-3.324000,4.546000,-3.152234 +336.855765,-3.326000,4.526000,-3.146961 +336.855765,-3.326000,4.526000,-3.146961 +336.855765,-3.326000,4.526000,-3.146961 +336.855765,-3.326000,4.526000,-3.146961 +336.855765,-3.326000,4.526000,-3.146961 +336.855765,-3.326000,4.526000,-3.146961 +337.125339,-3.327000,4.445000,-3.143989 +337.125339,-3.327000,4.445000,-3.143989 +337.255307,-3.329000,4.387000,-3.142359 +337.255307,-3.329000,4.387000,-3.142359 +337.255307,-3.329000,4.387000,-3.142359 +337.255307,-3.329000,4.387000,-3.142359 +337.255307,-3.329000,4.387000,-3.142359 +337.255307,-3.329000,4.387000,-3.142359 +337.517380,-3.330000,4.227000,-3.139291 +337.517380,-3.330000,4.227000,-3.139291 +337.646287,-3.330000,4.143000,-3.137757 +337.646287,-3.330000,4.143000,-3.137757 +337.646287,-3.330000,4.143000,-3.137757 +337.646287,-3.330000,4.143000,-3.137757 +337.915400,-3.331000,3.991000,-3.135169 +337.915400,-3.331000,3.991000,-3.135169 +337.915400,-3.331000,3.991000,-3.135169 +337.915400,-3.331000,3.991000,-3.135169 +338.045264,-3.331000,3.915000,-3.133923 +338.045264,-3.331000,3.915000,-3.133923 +338.045264,-3.331000,3.915000,-3.133923 +338.045264,-3.331000,3.915000,-3.133923 +338.305256,-3.329000,3.771000,-3.132293 +338.305256,-3.329000,3.771000,-3.132293 +338.305256,-3.329000,3.771000,-3.132293 +338.305256,-3.329000,3.771000,-3.132293 +338.445264,-3.330000,3.709000,-3.131526 +338.445264,-3.330000,3.709000,-3.131526 +338.445264,-3.330000,3.709000,-3.131526 +338.445264,-3.330000,3.709000,-3.131526 +338.704220,-3.330000,3.588000,-3.130279 +338.704220,-3.330000,3.588000,-3.130279 +338.704220,-3.330000,3.588000,-3.130279 +338.704220,-3.330000,3.588000,-3.130279 +338.835182,-3.329000,3.522000,-3.129704 +338.835182,-3.329000,3.522000,-3.129704 +338.965238,-3.326000,3.456000,-3.129225 +338.965238,-3.326000,3.456000,-3.129225 +339.104201,-3.324000,3.392000,-3.128841 +339.104201,-3.324000,3.392000,-3.128841 +339.104201,-3.324000,3.392000,-3.128841 +339.104201,-3.324000,3.392000,-3.128841 +339.235132,-3.322000,3.333000,-3.128649 +339.235132,-3.322000,3.333000,-3.128649 +339.365126,-3.320000,3.272000,-3.128362 +339.365126,-3.320000,3.272000,-3.128362 +339.495165,-3.320000,3.209000,-3.128170 +339.495165,-3.320000,3.209000,-3.128170 +339.495165,-3.320000,3.209000,-3.128170 +339.495165,-3.320000,3.209000,-3.128170 +339.625155,-3.320000,3.144000,-3.127691 +339.625155,-3.320000,3.144000,-3.127691 +339.764117,-3.318000,3.080000,-3.127499 +339.764117,-3.318000,3.080000,-3.127499 +339.894109,-3.317000,3.019000,-3.127211 +339.894109,-3.317000,3.019000,-3.127211 +339.894109,-3.317000,3.019000,-3.127211 +339.894109,-3.317000,3.019000,-3.127211 +340.025084,-3.315000,2.956000,-3.126828 +340.025084,-3.315000,2.956000,-3.126828 +340.154120,-3.313000,2.894000,-3.126924 +340.154120,-3.313000,2.894000,-3.126924 +340.284124,-3.313000,2.825000,-3.126732 +340.284124,-3.313000,2.825000,-3.126732 +340.415673,-3.313000,2.756000,-3.126732 +340.415673,-3.313000,2.756000,-3.126732 +340.415673,-3.313000,2.756000,-3.126732 +340.415673,-3.313000,2.756000,-3.126732 +340.555103,-3.313000,2.686000,-3.126732 +340.555103,-3.313000,2.686000,-3.126732 +340.685099,-3.312000,2.614000,-3.126540 +340.685099,-3.312000,2.614000,-3.126540 +340.815811,-3.311000,2.545000,-3.126348 +340.815811,-3.311000,2.545000,-3.126348 +340.815811,-3.311000,2.545000,-3.126348 +340.815811,-3.311000,2.545000,-3.126348 +340.944085,-3.309000,2.477000,-3.126348 +340.944085,-3.309000,2.477000,-3.126348 +341.074061,-3.306000,2.410000,-3.126444 +341.074061,-3.306000,2.410000,-3.126444 +341.216871,-3.304000,2.348000,-3.126540 +341.216871,-3.304000,2.348000,-3.126540 +341.216871,-3.304000,2.348000,-3.126540 +341.216871,-3.304000,2.348000,-3.126540 +341.345040,-3.303000,2.287000,-3.126540 +341.345040,-3.303000,2.287000,-3.126540 +341.345040,-3.303000,2.287000,-3.126540 +341.475064,-3.300000,2.228000,-3.126636 +341.475064,-3.300000,2.228000,-3.126636 +341.604047,-3.299000,2.169000,-3.126732 +341.604047,-3.299000,2.169000,-3.126732 +341.604047,-3.299000,2.169000,-3.126732 +341.604047,-3.299000,2.169000,-3.126732 +341.734174,-3.297000,2.112000,-3.126540 +341.734174,-3.297000,2.112000,-3.126540 +341.874968,-3.294000,2.064000,-3.126636 +341.874968,-3.294000,2.064000,-3.126636 +342.005467,-3.294000,2.023000,-3.126348 +342.005467,-3.294000,2.023000,-3.126348 +342.005467,-3.294000,2.023000,-3.126348 +342.005467,-3.294000,2.023000,-3.126348 +342.134008,-3.293000,1.999000,-3.125965 +342.134008,-3.293000,1.999000,-3.125965 +342.264014,-3.293000,1.983000,-3.126061 +342.264014,-3.293000,1.983000,-3.126061 +342.393978,-3.292000,1.978000,-3.126061 +342.393978,-3.292000,1.978000,-3.126061 +342.393978,-3.292000,1.978000,-3.126061 +342.393978,-3.292000,1.978000,-3.126061 +342.393978,-3.292000,1.978000,-3.126061 +342.533926,-3.291000,1.984000,-3.126157 +342.533926,-3.291000,1.984000,-3.126157 +342.664463,-3.291000,1.997000,-3.126253 +342.664463,-3.291000,1.997000,-3.126253 +342.793951,-3.291000,2.016000,-3.126253 +342.793951,-3.291000,2.016000,-3.126253 +342.793951,-3.291000,2.016000,-3.126253 +342.793951,-3.291000,2.016000,-3.126253 +342.923939,-3.290000,2.032000,-3.126061 +342.923939,-3.290000,2.032000,-3.126061 +343.054935,-3.290000,2.045000,-3.125965 +343.054935,-3.290000,2.045000,-3.125965 +343.195159,-3.291000,2.055000,-3.126061 +343.195159,-3.291000,2.055000,-3.126061 +343.195159,-3.291000,2.055000,-3.126061 +343.195159,-3.291000,2.055000,-3.126061 +343.195159,-3.291000,2.055000,-3.126061 +343.195159,-3.291000,2.055000,-3.126061 +343.453911,-3.290000,2.066000,-3.126157 +343.453911,-3.290000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.584924,-3.291000,2.066000,-3.126157 +343.844838,-3.292000,2.066000,-3.126061 +343.844838,-3.292000,2.066000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +343.984894,-3.291000,2.067000,-3.126061 +344.244918,-3.291000,2.066000,-3.126061 +344.244918,-3.291000,2.066000,-3.126061 +344.373857,-3.291000,2.067000,-3.126157 +344.373857,-3.291000,2.067000,-3.126157 +344.373857,-3.291000,2.067000,-3.126157 +344.373857,-3.291000,2.067000,-3.126157 +344.373857,-3.291000,2.067000,-3.126157 +344.373857,-3.291000,2.067000,-3.126157 +344.647844,-3.291000,2.066000,-3.126061 +344.647844,-3.291000,2.066000,-3.126061 +344.774853,-3.290000,2.066000,-3.126061 +344.774853,-3.290000,2.066000,-3.126061 +344.904861,-3.289000,2.067000,-3.126061 +344.904861,-3.289000,2.067000,-3.126061 +344.904861,-3.289000,2.067000,-3.126061 +344.904861,-3.289000,2.067000,-3.126061 +345.033865,-3.290000,2.068000,-3.126253 +345.033865,-3.290000,2.068000,-3.126253 +345.164807,-3.290000,2.068000,-3.126253 +345.164807,-3.290000,2.068000,-3.126253 +345.303809,-3.291000,2.068000,-3.126157 +345.303809,-3.291000,2.068000,-3.126157 +345.303809,-3.291000,2.068000,-3.126157 +345.303809,-3.291000,2.068000,-3.126157 +345.434774,-3.290000,2.067000,-3.125965 +345.434774,-3.290000,2.067000,-3.125965 +345.564769,-3.290000,2.067000,-3.125869 +345.564769,-3.290000,2.067000,-3.125869 +345.693768,-3.289000,2.068000,-3.125965 +345.693768,-3.289000,2.068000,-3.125965 +345.693768,-3.289000,2.068000,-3.125965 +345.693768,-3.289000,2.068000,-3.125965 +345.693768,-3.289000,2.068000,-3.125965 +345.824702,-3.289000,2.069000,-3.125965 +345.824702,-3.289000,2.069000,-3.125965 +345.963843,-3.290000,2.067000,-3.126157 +345.963843,-3.290000,2.067000,-3.126157 +345.963843,-3.290000,2.067000,-3.126157 +345.963843,-3.290000,2.067000,-3.126157 +345.963843,-3.290000,2.067000,-3.126157 +345.963843,-3.290000,2.067000,-3.126157 +346.224696,-3.291000,2.067000,-3.126157 +346.224696,-3.291000,2.067000,-3.126157 +346.353719,-3.291000,2.064000,-3.125965 +346.353719,-3.291000,2.064000,-3.125965 +346.353719,-3.291000,2.064000,-3.125965 +346.353719,-3.291000,2.064000,-3.125965 +346.613713,-3.291000,2.066000,-3.126061 +346.613713,-3.291000,2.066000,-3.126061 +346.613713,-3.291000,2.066000,-3.126061 +346.613713,-3.291000,2.066000,-3.126061 +346.753798,-3.291000,2.067000,-3.126157 +346.753798,-3.291000,2.067000,-3.126157 +346.753798,-3.291000,2.067000,-3.126157 +346.753798,-3.291000,2.067000,-3.126157 +347.014638,-3.291000,2.068000,-3.126253 +347.014638,-3.291000,2.068000,-3.126253 +347.014638,-3.291000,2.068000,-3.126253 +347.014638,-3.291000,2.068000,-3.126253 +347.144670,-3.291000,2.068000,-3.126061 +347.144670,-3.291000,2.068000,-3.126061 +347.144670,-3.291000,2.068000,-3.126061 +347.144670,-3.291000,2.068000,-3.126061 +347.414702,-3.290000,2.067000,-3.125965 +347.414702,-3.290000,2.067000,-3.125965 +347.414702,-3.290000,2.067000,-3.125965 +347.414702,-3.290000,2.067000,-3.125965 +347.544690,-3.290000,2.067000,-3.126061 +347.544690,-3.290000,2.067000,-3.126061 +347.674604,-3.290000,2.068000,-3.126253 +347.674604,-3.290000,2.068000,-3.126253 +347.804589,-3.289000,2.068000,-3.126253 +347.804589,-3.289000,2.068000,-3.126253 +347.804589,-3.289000,2.068000,-3.126253 +347.804589,-3.289000,2.068000,-3.126253 +347.934695,-3.289000,2.068000,-3.126253 +347.934695,-3.289000,2.068000,-3.126253 +348.074582,-3.290000,2.068000,-3.126157 +348.074582,-3.290000,2.068000,-3.126157 +348.204721,-3.290000,2.067000,-3.125965 +348.204721,-3.290000,2.067000,-3.125965 +348.204721,-3.290000,2.067000,-3.125965 +348.204721,-3.290000,2.067000,-3.125965 +348.334547,-3.290000,2.068000,-3.126061 +348.334547,-3.290000,2.068000,-3.126061 +348.464589,-3.290000,2.068000,-3.126061 +348.464589,-3.290000,2.068000,-3.126061 +348.593553,-3.290000,2.068000,-3.126157 +348.593553,-3.290000,2.068000,-3.126157 +348.593553,-3.290000,2.068000,-3.126157 +348.593553,-3.290000,2.068000,-3.126157 +348.734575,-3.291000,2.066000,-3.126157 +348.734575,-3.291000,2.066000,-3.126157 +348.863847,-3.290000,2.067000,-3.126061 +348.863847,-3.290000,2.067000,-3.126061 +348.994747,-3.290000,2.067000,-3.125965 +348.994747,-3.290000,2.067000,-3.125965 +348.994747,-3.290000,2.067000,-3.125965 +348.994747,-3.290000,2.067000,-3.125965 +349.124558,-3.289000,2.067000,-3.125869 +349.124558,-3.289000,2.067000,-3.125869 +349.254542,-3.289000,2.069000,-3.126061 +349.254542,-3.289000,2.069000,-3.126061 +349.254542,-3.289000,2.069000,-3.126061 +349.393533,-3.291000,2.068000,-3.126157 +349.393533,-3.291000,2.068000,-3.126157 +349.393533,-3.291000,2.068000,-3.126157 +349.393533,-3.291000,2.068000,-3.126157 +349.523520,-3.292000,2.067000,-3.126061 +349.523520,-3.292000,2.067000,-3.126061 +349.654515,-3.292000,2.068000,-3.126253 +349.654515,-3.292000,2.068000,-3.126253 +349.654515,-3.292000,2.068000,-3.126253 +349.654515,-3.292000,2.068000,-3.126253 +349.913501,-3.291000,2.064000,-3.125965 +349.913501,-3.291000,2.064000,-3.125965 +349.913501,-3.291000,2.064000,-3.125965 +349.913501,-3.291000,2.064000,-3.125965 +350.043494,-3.291000,2.066000,-3.126061 +350.043494,-3.291000,2.066000,-3.126061 +350.043494,-3.291000,2.066000,-3.126061 +350.043494,-3.291000,2.066000,-3.126061 +350.313497,-3.292000,2.065000,-3.125965 +350.313497,-3.292000,2.065000,-3.125965 +350.313497,-3.292000,2.065000,-3.125965 +350.313497,-3.292000,2.065000,-3.125965 +350.443468,-3.292000,2.066000,-3.126061 +350.443468,-3.292000,2.066000,-3.126061 +350.443468,-3.292000,2.066000,-3.126061 +350.443468,-3.292000,2.066000,-3.126061 +350.704456,-3.289000,2.068000,-3.125965 +350.704456,-3.289000,2.068000,-3.125965 +350.704456,-3.289000,2.068000,-3.125965 +350.704456,-3.289000,2.068000,-3.125965 +350.843441,-3.290000,2.068000,-3.126157 +350.843441,-3.290000,2.068000,-3.126157 +350.843441,-3.290000,2.068000,-3.126157 +350.843441,-3.290000,2.068000,-3.126157 +351.103429,-3.290000,2.067000,-3.126061 +351.103429,-3.290000,2.067000,-3.126061 +351.103429,-3.290000,2.067000,-3.126061 +351.103429,-3.290000,2.067000,-3.126061 +351.234466,-3.291000,2.067000,-3.125965 +351.234466,-3.291000,2.067000,-3.125965 +351.364461,-3.291000,2.067000,-3.125965 +351.364461,-3.291000,2.067000,-3.125965 +351.504401,-3.290000,2.067000,-3.125965 +351.504401,-3.290000,2.067000,-3.125965 +351.504401,-3.290000,2.067000,-3.125965 +351.504401,-3.290000,2.067000,-3.125965 +351.633416,-3.291000,2.068000,-3.126061 +351.633416,-3.291000,2.068000,-3.126061 +351.764362,-3.291000,2.068000,-3.126253 +351.764362,-3.291000,2.068000,-3.126253 +351.894398,-3.290000,2.068000,-3.126253 +351.894398,-3.290000,2.068000,-3.126253 +352.024538,-3.290000,2.068000,-3.126157 +352.024538,-3.290000,2.068000,-3.126157 +352.024538,-3.290000,2.068000,-3.126157 +352.024538,-3.290000,2.068000,-3.126157 +352.164333,-3.290000,2.066000,-3.125965 +352.164333,-3.290000,2.066000,-3.125965 +352.294347,-3.290000,2.067000,-3.125965 +352.294347,-3.290000,2.067000,-3.125965 +352.423328,-3.290000,2.066000,-3.125965 +352.423328,-3.290000,2.066000,-3.125965 +352.423328,-3.290000,2.066000,-3.125965 +352.423328,-3.290000,2.066000,-3.125965 +352.556344,-3.290000,2.066000,-3.126061 +352.556344,-3.290000,2.066000,-3.126061 +352.684335,-3.291000,2.066000,-3.126253 +352.684335,-3.291000,2.066000,-3.126253 +352.814300,-3.291000,2.064000,-3.126157 +352.814300,-3.291000,2.064000,-3.126157 +352.814300,-3.291000,2.064000,-3.126157 +352.814300,-3.291000,2.064000,-3.126157 +352.954301,-3.291000,2.065000,-3.125965 +352.954301,-3.291000,2.065000,-3.125965 +353.083991,-3.291000,2.065000,-3.125869 +353.083991,-3.291000,2.065000,-3.125869 +353.083991,-3.291000,2.065000,-3.125869 +353.083991,-3.291000,2.065000,-3.125869 +353.083991,-3.291000,2.065000,-3.125869 +353.083991,-3.291000,2.065000,-3.125869 +353.345282,-3.290000,2.068000,-3.126061 +353.345282,-3.290000,2.068000,-3.126061 +353.474447,-3.290000,2.067000,-3.126157 +353.474447,-3.290000,2.067000,-3.126157 +353.615273,-3.289000,2.068000,-3.126253 +353.615273,-3.289000,2.068000,-3.126253 +353.615273,-3.289000,2.068000,-3.126253 +353.615273,-3.289000,2.068000,-3.126253 +353.746288,-3.290000,2.068000,-3.126253 +353.746288,-3.290000,2.068000,-3.126253 +353.874367,-3.290000,2.067000,-3.126061 +353.874367,-3.290000,2.067000,-3.126061 +354.008238,-3.289000,2.066000,-3.125869 +354.008238,-3.289000,2.066000,-3.125869 +354.008238,-3.289000,2.066000,-3.125869 +354.008238,-3.289000,2.066000,-3.125869 +354.140436,-3.290000,2.066000,-3.125965 +354.140436,-3.290000,2.066000,-3.125965 +354.270212,-3.290000,2.065000,-3.125965 +354.270212,-3.290000,2.065000,-3.125965 +354.402009,-3.290000,2.066000,-3.126061 +354.402009,-3.290000,2.066000,-3.126061 +354.531199,-3.291000,2.067000,-3.126253 +354.531199,-3.291000,2.067000,-3.126253 +354.531199,-3.291000,2.067000,-3.126253 +354.531199,-3.291000,2.067000,-3.126253 +354.661184,-3.290000,2.067000,-3.126061 +354.661184,-3.290000,2.067000,-3.126061 +354.661184,-3.290000,2.067000,-3.126061 +354.661184,-3.290000,2.067000,-3.126061 +354.661184,-3.290000,2.067000,-3.126061 +354.932357,-3.290000,2.067000,-3.126061 +354.932357,-3.290000,2.067000,-3.126061 +354.932357,-3.290000,2.067000,-3.126061 +354.932357,-3.290000,2.067000,-3.126061 +355.062195,-3.290000,2.066000,-3.125965 +355.062195,-3.290000,2.066000,-3.125965 +355.062195,-3.290000,2.066000,-3.125965 +355.062195,-3.290000,2.066000,-3.125965 +355.327992,-3.292000,2.065000,-3.126157 +355.327992,-3.292000,2.065000,-3.126157 +355.327992,-3.292000,2.065000,-3.126157 +355.327992,-3.292000,2.065000,-3.126157 +355.327992,-3.292000,2.065000,-3.126157 +355.455122,-3.292000,2.065000,-3.126157 +355.455122,-3.292000,2.065000,-3.126157 +355.455122,-3.292000,2.065000,-3.126157 +355.455122,-3.292000,2.065000,-3.126157 diff --git a/NetBeans/rcsjava/SickNav200_NavPlot_yaw.csv b/NetBeans/rcsjava/SickNav200_NavPlot_yaw.csv new file mode 100644 index 0000000..10e1afd --- /dev/null +++ b/NetBeans/rcsjava/SickNav200_NavPlot_yaw.csv @@ -0,0 +1,7288 @@ +time,yaw +0.000240,-1.550375 +0.260360,-1.550375 +0.260360,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.659287,-1.550567 +0.659287,-1.550567 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +1.060221,-1.550375 +1.060221,-1.550375 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.450196,-1.550759 +1.450196,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.849353,-1.550375 +1.849353,-1.550375 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +2.240244,-1.550567 +2.240244,-1.550567 +2.369123,-1.550663 +2.369123,-1.550663 +2.509575,-1.550567 +2.509575,-1.550567 +2.509575,-1.550567 +2.509575,-1.550567 +2.641182,-1.550375 +2.641182,-1.550375 +2.769093,-1.550471 +2.769093,-1.550471 +2.899095,-1.550567 +2.899095,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.300070,-1.550567 +3.300070,-1.550567 +3.430047,-1.550375 +3.430047,-1.550375 +3.430047,-1.550375 +3.430047,-1.550375 +3.560053,-1.550375 +3.560053,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.959031,-1.550375 +3.959031,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.349960,-1.550279 +4.349960,-1.550279 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +5.010306,-1.550471 +5.010306,-1.550471 +5.010306,-1.550471 +5.010306,-1.550471 +5.148913,-1.550279 +5.148913,-1.550279 +5.148913,-1.550279 +5.280140,-1.550184 +5.280140,-1.550184 +5.280140,-1.550184 +5.409917,-1.550471 +5.409917,-1.550471 +5.409917,-1.550471 +5.409917,-1.550471 +5.539902,-1.550567 +5.539902,-1.550567 +5.669923,-1.550567 +5.669923,-1.550567 +5.669923,-1.550567 +5.799911,-1.550471 +5.799911,-1.550471 +5.799911,-1.550471 +5.799911,-1.550471 +5.939887,-1.550375 +5.939887,-1.550375 +6.069892,-1.550375 +6.069892,-1.550375 +6.069892,-1.550375 +6.199826,-1.550471 +6.199826,-1.550471 +6.329822,-1.550567 +6.329822,-1.550567 +6.329822,-1.550567 +6.329822,-1.550567 +6.459881,-1.550567 +6.459881,-1.550567 +6.459881,-1.550567 +6.599832,-1.550471 +6.599832,-1.550471 +6.729862,-1.550279 +6.729862,-1.550279 +6.729862,-1.550279 +6.729862,-1.550279 +6.858850,-1.550471 +6.858850,-1.550471 +6.990113,-1.550567 +6.990113,-1.550567 +7.118765,-1.550663 +7.118765,-1.550663 +7.118765,-1.550663 +7.118765,-1.550663 +7.249781,-1.550759 +7.249781,-1.550759 +7.388812,-1.550663 +7.388812,-1.550663 +7.519761,-1.550471 +7.519761,-1.550471 +7.519761,-1.550471 +7.519761,-1.550471 +7.649722,-1.550375 +7.649722,-1.550375 +7.649722,-1.550375 +7.649722,-1.550375 +7.919766,-1.550471 +7.919766,-1.550471 +7.919766,-1.550471 +7.919766,-1.550471 +8.049756,-1.550567 +8.049756,-1.550567 +8.049756,-1.550567 +8.049756,-1.550567 +8.309733,-1.550471 +8.309733,-1.550471 +8.309733,-1.550471 +8.309733,-1.550471 +8.438732,-1.550279 +8.438732,-1.550279 +8.438732,-1.550279 +8.438732,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.838699,-1.550375 +8.838699,-1.550375 +8.968700,-1.550471 +8.968700,-1.550471 +9.099701,-1.550567 +9.099701,-1.550567 +9.230250,-1.550471 +9.230250,-1.550471 +9.230250,-1.550471 +9.230250,-1.550471 +9.359660,-1.550375 +9.359660,-1.550375 +9.498606,-1.550375 +9.498606,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.758644,-1.550471 +9.758644,-1.550471 +9.888637,-1.550567 +9.888637,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.158617,-1.550567 +10.158617,-1.550567 +10.288609,-1.550471 +10.288609,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.549589,-1.550471 +10.549589,-1.550471 +10.549589,-1.550471 +10.679582,-1.550471 +10.679582,-1.550471 +10.819572,-1.550375 +10.819572,-1.550375 +10.819572,-1.550375 +10.819572,-1.550375 +10.949574,-1.550375 +10.949574,-1.550375 +11.079612,-1.550375 +11.079612,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.338538,-1.550471 +11.338538,-1.550471 +11.478532,-1.550471 +11.478532,-1.550471 +11.609522,-1.550567 +11.609522,-1.550567 +11.609522,-1.550567 +11.609522,-1.550567 +11.739525,-1.550375 +11.739525,-1.550375 +11.739525,-1.550375 +11.739525,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +12.139484,-1.550279 +12.139484,-1.550279 +12.139484,-1.550279 +12.139484,-1.550279 +12.398562,-1.550567 +12.398562,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.658465,-1.550663 +12.658465,-1.550663 +12.798443,-1.550759 +12.798443,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +13.058614,-1.550759 +13.058614,-1.550759 +13.189429,-1.550663 +13.189429,-1.550663 +13.319414,-1.550471 +13.319414,-1.550471 +13.319414,-1.550471 +13.319414,-1.550471 +13.448408,-1.550375 +13.448408,-1.550375 +13.448408,-1.550375 +13.589355,-1.550375 +13.589355,-1.550375 +13.719396,-1.550471 +13.719396,-1.550471 +13.719396,-1.550471 +13.719396,-1.550471 +13.848392,-1.550567 +13.848392,-1.550567 +13.979634,-1.550663 +13.979634,-1.550663 +14.108359,-1.550471 +14.108359,-1.550471 +14.108359,-1.550471 +14.108359,-1.550471 +14.248368,-1.550279 +14.248368,-1.550279 +14.379338,-1.550184 +14.379338,-1.550184 +14.509369,-1.550279 +14.509369,-1.550279 +14.638539,-1.550375 +14.638539,-1.550375 +14.638539,-1.550375 +14.638539,-1.550375 +14.768766,-1.550471 +14.768766,-1.550471 +14.768766,-1.550471 +14.768766,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.169297,-1.550279 +15.169297,-1.550279 +15.299283,-1.550279 +15.299283,-1.550279 +15.428307,-1.550375 +15.428307,-1.550375 +15.428307,-1.550375 +15.428307,-1.550375 +15.560270,-1.550471 +15.560270,-1.550471 +15.699260,-1.550567 +15.699260,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.959245,-1.550471 +15.959245,-1.550471 +16.089242,-1.550375 +16.089242,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.489214,-1.550567 +16.489214,-1.550567 +16.618188,-1.550375 +16.618188,-1.550375 +16.618188,-1.550375 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.878176,-1.550375 +16.878176,-1.550375 +17.019175,-1.550279 +17.019175,-1.550279 +17.148190,-1.550471 +17.148190,-1.550471 +17.148190,-1.550471 +17.148190,-1.550471 +17.279173,-1.550471 +17.279173,-1.550471 +17.409106,-1.550471 +17.409106,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.669133,-1.550279 +17.669133,-1.550279 +17.809199,-1.550375 +17.809199,-1.550375 +17.809199,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +18.068095,-1.550375 +18.068095,-1.550375 +18.198096,-1.550471 +18.198096,-1.550471 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.468161,-1.550279 +18.468161,-1.550279 +18.599269,-1.550279 +18.599269,-1.550279 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.858994,-1.550471 +18.858994,-1.550471 +18.989157,-1.550567 +18.989157,-1.550567 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.259030,-1.550375 +19.259030,-1.550375 +19.388014,-1.550184 +19.388014,-1.550184 +19.388014,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.788018,-1.550471 +19.788018,-1.550471 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +20.177943,-1.550279 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.579024,-1.550375 +20.579024,-1.550375 +20.708877,-1.550567 +20.708877,-1.550567 +20.837916,-1.550663 +20.837916,-1.550663 +20.837916,-1.550663 +20.837916,-1.550663 +20.967892,-1.550471 +20.967892,-1.550471 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.368885,-1.550279 +21.368885,-1.550279 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.757868,-1.550375 +21.757868,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +22.157846,-1.550375 +22.157846,-1.550375 +22.287878,-1.550471 +22.287878,-1.550471 +22.287878,-1.550471 +22.287878,-1.550471 +22.547810,-1.550184 +22.547810,-1.550184 +22.547810,-1.550184 +22.547810,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.947791,-1.550279 +22.947791,-1.550279 +22.947791,-1.550279 +22.947791,-1.550279 +23.077867,-1.550471 +23.077867,-1.550471 +23.208741,-1.550471 +23.208741,-1.550471 +23.347753,-1.550279 +23.347753,-1.550279 +23.347753,-1.550279 +23.347753,-1.550279 +23.477845,-1.550279 +23.477845,-1.550279 +23.607743,-1.550375 +23.607743,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.867837,-1.550567 +23.867837,-1.550567 +24.008672,-1.550567 +24.008672,-1.550567 +24.137697,-1.550375 +24.137697,-1.550375 +24.137697,-1.550375 +24.137697,-1.550375 +24.267774,-1.550184 +24.267774,-1.550184 +24.397684,-1.550279 +24.397684,-1.550279 +24.529688,-1.550375 +24.529688,-1.550375 +24.529688,-1.550375 +24.529688,-1.550375 +24.667765,-1.550471 +24.667765,-1.550471 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +25.058743,-1.550375 +25.058743,-1.550375 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.458580,-1.550375 +25.458580,-1.550375 +25.588624,-1.550567 +25.588624,-1.550567 +25.588624,-1.550567 +25.588624,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.977585,-1.550279 +25.977585,-1.550279 +25.977585,-1.550279 +25.977585,-1.550279 +26.249606,-1.550375 +26.249606,-1.550375 +26.249606,-1.550375 +26.249606,-1.550375 +26.377559,-1.550471 +26.377559,-1.550471 +26.377559,-1.550471 +26.377559,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.777525,-1.550279 +26.777525,-1.550279 +26.777525,-1.550279 +26.777525,-1.550279 +27.037592,-1.550184 +27.037592,-1.550184 +27.037592,-1.550184 +27.037592,-1.550184 +27.167502,-1.550279 +27.167502,-1.550279 +27.297495,-1.550375 +27.297495,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.568473,-1.550471 +27.568473,-1.550471 +27.697503,-1.550471 +27.697503,-1.550471 +27.828465,-1.550279 +27.828465,-1.550279 +27.828465,-1.550279 +27.828465,-1.550279 +27.958449,-1.550279 +27.958449,-1.550279 +28.099345,-1.550279 +28.099345,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.357417,-1.550279 +28.357417,-1.550279 +28.488410,-1.550279 +28.488410,-1.550279 +28.618435,-1.550279 +28.618435,-1.550279 +28.748413,-1.550184 +28.748413,-1.550184 +28.748413,-1.550184 +28.748413,-1.550184 +28.887498,-1.550279 +28.887498,-1.550279 +29.017376,-1.550375 +29.017376,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.277331,-1.550279 +29.277331,-1.550279 +29.277331,-1.550279 +29.277331,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.678348,-1.550279 +29.678348,-1.550279 +29.937329,-1.550567 +29.937329,-1.550567 +29.937329,-1.550567 +29.937329,-1.550567 +30.067271,-1.550471 +30.067271,-1.550471 +30.067271,-1.550471 +30.067271,-1.550471 +30.338312,-1.550471 +30.338312,-1.550471 +30.338312,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.727274,-1.550567 +30.727274,-1.550567 +30.727274,-1.550567 +30.727274,-1.550567 +30.867268,-1.550567 +30.867268,-1.550567 +30.998308,-1.550471 +30.998308,-1.550471 +31.128334,-1.550279 +31.128334,-1.550279 +31.258190,-1.550375 +31.258190,-1.550375 +31.258190,-1.550375 +31.258190,-1.550375 +31.387229,-1.550471 +31.387229,-1.550471 +31.524223,-1.550375 +31.524223,-1.550375 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.787234,-1.550375 +31.787234,-1.550375 +31.917285,-1.550279 +31.917285,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.179326,-1.550375 +32.179326,-1.550375 +32.317208,-1.550471 +32.317208,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.577120,-1.550375 +32.577120,-1.550375 +32.707144,-1.550184 +32.707144,-1.550184 +32.707144,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.977248,-1.550279 +32.977248,-1.550279 +33.107190,-1.550375 +33.107190,-1.550375 +33.107190,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.498129,-1.550279 +33.498129,-1.550279 +33.498129,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.898082,-1.550471 +33.898082,-1.550471 +34.028078,-1.550567 +34.028078,-1.550567 +34.158666,-1.550375 +34.158666,-1.550375 +34.158666,-1.550375 +34.158666,-1.550375 +34.287054,-1.550279 +34.287054,-1.550279 +34.427038,-1.550279 +34.427038,-1.550279 +34.558089,-1.550184 +34.558089,-1.550184 +34.558089,-1.550184 +34.558089,-1.550184 +34.688031,-1.550279 +34.688031,-1.550279 +34.817234,-1.550279 +34.817234,-1.550279 +34.947068,-1.550375 +34.947068,-1.550375 +34.947068,-1.550375 +34.947068,-1.550375 +35.077013,-1.550279 +35.077013,-1.550279 +35.217080,-1.550279 +35.217080,-1.550279 +35.346935,-1.550375 +35.346935,-1.550375 +35.346935,-1.550375 +35.346935,-1.550375 +35.477035,-1.550375 +35.477035,-1.550375 +35.607112,-1.550567 +35.607112,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.877941,-1.550375 +35.877941,-1.550375 +36.007910,-1.550279 +36.007910,-1.550279 +36.137905,-1.550184 +36.137905,-1.550184 +36.137905,-1.550184 +36.137905,-1.550184 +36.266930,-1.550279 +36.266930,-1.550279 +36.397926,-1.550567 +36.397926,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.666844,-1.550567 +36.666844,-1.550567 +36.796888,-1.550279 +36.796888,-1.550279 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +37.196850,-1.550184 +37.196850,-1.550184 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.587823,-1.550375 +37.587823,-1.550375 +37.717807,-1.550184 +37.717807,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.988509,-1.550279 +37.988509,-1.550279 +38.117797,-1.550567 +38.117797,-1.550567 +38.247798,-1.550663 +38.247798,-1.550663 +38.247798,-1.550663 +38.247798,-1.550663 +38.377769,-1.550663 +38.377769,-1.550663 +38.507773,-1.550471 +38.507773,-1.550471 +38.647562,-1.550279 +38.647562,-1.550279 +38.647562,-1.550279 +38.647562,-1.550279 +38.776748,-1.550279 +38.776748,-1.550279 +38.906855,-1.550279 +38.906855,-1.550279 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.166759,-1.550375 +39.166759,-1.550375 +39.308674,-1.550375 +39.308674,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.566697,-1.550279 +39.566697,-1.550279 +39.697671,-1.550279 +39.697671,-1.550279 +39.827675,-1.550471 +39.827675,-1.550471 +39.827675,-1.550471 +39.827675,-1.550471 +39.967681,-1.550471 +39.967681,-1.550471 +40.097783,-1.550375 +40.097783,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.487680,-1.550184 +40.487680,-1.550184 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.886616,-1.550375 +40.886616,-1.550375 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.276543,-1.550375 +41.276543,-1.550375 +41.417580,-1.550375 +41.417580,-1.550375 +41.547766,-1.550471 +41.547766,-1.550471 +41.547766,-1.550471 +41.547766,-1.550471 +41.677766,-1.550279 +41.677766,-1.550279 +41.807754,-1.550184 +41.807754,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +42.076547,-1.550279 +42.076547,-1.550279 +42.207748,-1.550471 +42.207748,-1.550471 +42.337703,-1.550567 +42.337703,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.596511,-1.550279 +42.596511,-1.550279 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.997473,-1.550375 +42.997473,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.396476,-1.550471 +43.396476,-1.550471 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.786379,-1.550471 +43.786379,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +44.186381,-1.550567 +44.186381,-1.550567 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.576370,-1.550375 +44.576370,-1.550375 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.977370,-1.550471 +44.977370,-1.550471 +45.106337,-1.550567 +45.106337,-1.550567 +45.237281,-1.550375 +45.237281,-1.550375 +45.366323,-1.550279 +45.366323,-1.550279 +45.366323,-1.550279 +45.366323,-1.550279 +45.496331,-1.550375 +45.496331,-1.550375 +45.636287,-1.550375 +45.636287,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.897279,-1.550279 +45.897279,-1.550279 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.168243,-1.550184 +46.168243,-1.550184 +46.296251,-1.550088 +46.296251,-1.550088 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.686222,-1.550471 +46.686222,-1.550471 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +47.087194,-1.550375 +47.087194,-1.550375 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.477134,-1.550567 +47.477134,-1.550567 +47.477134,-1.550567 +47.477134,-1.550567 +47.747147,-1.550279 +47.747147,-1.550279 +47.747147,-1.550279 +47.747147,-1.550279 +47.877116,-1.550375 +47.877116,-1.550375 +48.006125,-1.550471 +48.006125,-1.550471 +48.136126,-1.550471 +48.136126,-1.550471 +48.268120,-1.550759 +48.268120,-1.550759 +48.268120,-1.550759 +48.268120,-1.550759 +48.407093,-1.550663 +48.407093,-1.550663 +48.536074,-1.550375 +48.536074,-1.550375 +48.668109,-1.550184 +48.668109,-1.550184 +48.668109,-1.550184 +48.668109,-1.550184 +48.796363,-1.550184 +48.796363,-1.550184 +48.926044,-1.550279 +48.926044,-1.550279 +49.066063,-1.550375 +49.066063,-1.550375 +49.066063,-1.550375 +49.066063,-1.550375 +49.197053,-1.550567 +49.197053,-1.550567 +49.327053,-1.550471 +49.327053,-1.550471 +49.456042,-1.550279 +49.456042,-1.550279 +49.456042,-1.550279 +49.456042,-1.550279 +49.587035,-1.550279 +49.587035,-1.550279 +49.725999,-1.550184 +49.725999,-1.550184 +49.857002,-1.550375 +49.857002,-1.550375 +49.857002,-1.550375 +49.857002,-1.550375 +49.985990,-1.550471 +49.985990,-1.550471 +50.115999,-1.550471 +50.115999,-1.550471 +50.246964,-1.550375 +50.246964,-1.550375 +50.246964,-1.550375 +50.246964,-1.550375 +50.386971,-1.550279 +50.386971,-1.550279 +50.517026,-1.550279 +50.517026,-1.550279 +50.646952,-1.550375 +50.646952,-1.550375 +50.646952,-1.550375 +50.646952,-1.550375 +50.776974,-1.550567 +50.776974,-1.550567 +50.905944,-1.550567 +50.905944,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.437904,-1.550567 +51.437904,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.829984,-1.550279 +51.829984,-1.550279 +51.958884,-1.550184 +51.958884,-1.550184 +51.958884,-1.550184 +51.958884,-1.550184 +52.099873,-1.550184 +52.099873,-1.550184 +52.099873,-1.550184 +52.228932,-1.550375 +52.228932,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.490868,-1.550375 +52.490868,-1.550375 +52.490868,-1.550375 +52.622849,-1.550088 +52.622849,-1.550088 +52.753831,-1.550184 +52.753831,-1.550184 +52.753831,-1.550184 +52.753831,-1.550184 +52.883821,-1.550184 +52.883821,-1.550184 +52.883821,-1.550184 +53.023812,-1.550279 +53.023812,-1.550279 +53.152855,-1.550471 +53.152855,-1.550471 +53.152855,-1.550471 +53.152855,-1.550471 +53.282793,-1.550471 +53.282793,-1.550471 +53.413779,-1.550375 +53.413779,-1.550375 +53.543786,-1.550279 +53.543786,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.812766,-1.550471 +53.812766,-1.550471 +53.942775,-1.550567 +53.942775,-1.550567 +54.074123,-1.550663 +54.074123,-1.550663 +54.074123,-1.550663 +54.074123,-1.550663 +54.202739,-1.550567 +54.202739,-1.550567 +54.333700,-1.550375 +54.333700,-1.550375 +54.473783,-1.550184 +54.473783,-1.550184 +54.473783,-1.550184 +54.473783,-1.550184 +54.603711,-1.550279 +54.603711,-1.550279 +54.732743,-1.550471 +54.732743,-1.550471 +54.863732,-1.550663 +54.863732,-1.550663 +54.863732,-1.550663 +54.863732,-1.550663 +54.992723,-1.550663 +54.992723,-1.550663 +55.132681,-1.550471 +55.132681,-1.550471 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.523746,-1.550279 +55.523746,-1.550279 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.922629,-1.550567 +55.922629,-1.550567 +56.052590,-1.550375 +56.052590,-1.550375 +56.183569,-1.550184 +56.183569,-1.550184 +56.183569,-1.550184 +56.183569,-1.550184 +56.312601,-1.550279 +56.312601,-1.550279 +56.457600,-1.550279 +56.457600,-1.550279 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.713581,-1.550471 +56.713581,-1.550471 +56.843563,-1.550471 +56.843563,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +57.102551,-1.550375 +57.102551,-1.550375 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.503520,-1.550471 +57.503520,-1.550471 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.903500,-1.550279 +57.903500,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.293471,-1.550375 +58.293471,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.693450,-1.550184 +58.693450,-1.550184 +58.823442,-1.550279 +58.823442,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +59.083487,-1.550375 +59.083487,-1.550375 +59.223404,-1.550375 +59.223404,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.482480,-1.550184 +59.482480,-1.550184 +59.613386,-1.550279 +59.613386,-1.550279 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +60.013362,-1.550567 +60.013362,-1.550567 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.405353,-1.550088 +60.405353,-1.550088 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.803264,-1.550471 +60.803264,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +61.192252,-1.550088 +61.192252,-1.550088 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.592263,-1.550471 +61.592263,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.982235,-1.550184 +61.982235,-1.550184 +61.982235,-1.550184 +61.982235,-1.550184 +62.123211,-1.550088 +62.123211,-1.550088 +62.123211,-1.550088 +62.123211,-1.550088 +62.383203,-1.550375 +62.383203,-1.550375 +62.383203,-1.550375 +62.383203,-1.550375 +62.513199,-1.550471 +62.513199,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.913170,-1.550375 +62.913170,-1.550375 +63.043163,-1.550375 +63.043163,-1.550375 +63.043163,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.303338,-1.550471 +63.303338,-1.550471 +63.443120,-1.550279 +63.443120,-1.550279 +63.443120,-1.550279 +63.573120,-1.550184 +63.573120,-1.550184 +63.573120,-1.550184 +63.573120,-1.550184 +63.702120,-1.550279 +63.702120,-1.550279 +63.833450,-1.550184 +63.833450,-1.550184 +63.833450,-1.550184 +63.963074,-1.550375 +63.963074,-1.550375 +63.963074,-1.550375 +63.963074,-1.550375 +64.102102,-1.550471 +64.102102,-1.550471 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.493106,-1.550184 +64.493106,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.893376,-1.550375 +64.893376,-1.550375 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.282017,-1.550184 +65.282017,-1.550184 +65.282017,-1.550184 +65.282017,-1.550184 +65.413057,-1.550279 +65.413057,-1.550279 +65.413057,-1.550279 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +66.071982,-1.550375 +66.071982,-1.550375 +66.071982,-1.550375 +66.071982,-1.550375 +66.212960,-1.550279 +66.212960,-1.550279 +66.343027,-1.550279 +66.343027,-1.550279 +66.343027,-1.550279 +66.473059,-1.550471 +66.473059,-1.550471 +66.473059,-1.550471 +66.473059,-1.550471 +66.603061,-1.550567 +66.603061,-1.550567 +66.731902,-1.550663 +66.731902,-1.550663 +66.872927,-1.550567 +66.872927,-1.550567 +66.872927,-1.550567 +66.872927,-1.550567 +67.003923,-1.550375 +67.003923,-1.550375 +67.131889,-1.550279 +67.131889,-1.550279 +67.131889,-1.550279 +67.261895,-1.550375 +67.261895,-1.550375 +67.261895,-1.550375 +67.261895,-1.550375 +67.392884,-1.550567 +67.392884,-1.550567 +67.522891,-1.550567 +67.522891,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.791873,-1.550471 +67.791873,-1.550471 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +68.182773,-1.550375 +68.182773,-1.550375 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.581905,-1.550375 +68.581905,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.982785,-1.550471 +68.982785,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.371821,-1.550279 +69.371821,-1.550279 +69.371821,-1.550279 +69.371821,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.771741,-1.550184 +69.771741,-1.550184 +69.771741,-1.550184 +69.771741,-1.550184 +69.902759,-1.550375 +69.902759,-1.550375 +70.032696,-1.550375 +70.032696,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.291887,-1.550279 +70.291887,-1.550279 +70.432661,-1.550471 +70.432661,-1.550471 +70.562671,-1.550567 +70.562671,-1.550567 +70.562671,-1.550567 +70.562671,-1.550567 +70.692665,-1.550471 +70.692665,-1.550471 +70.822644,-1.550471 +70.822644,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +71.091639,-1.550279 +71.091639,-1.550279 +71.221632,-1.550375 +71.221632,-1.550375 +71.351565,-1.550471 +71.351565,-1.550471 +71.482585,-1.550567 +71.482585,-1.550567 +71.482585,-1.550567 +71.482585,-1.550567 +71.611618,-1.550663 +71.611618,-1.550663 +71.752622,-1.550567 +71.752622,-1.550567 +71.881579,-1.550279 +71.881579,-1.550279 +71.881579,-1.550279 +71.881579,-1.550279 +72.012723,-1.550088 +72.012723,-1.550088 +72.142589,-1.550184 +72.142589,-1.550184 +72.271693,-1.550279 +72.271693,-1.550279 +72.271693,-1.550279 +72.271693,-1.550279 +72.402552,-1.550375 +72.402552,-1.550375 +72.402552,-1.550375 +72.402552,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.801489,-1.550279 +72.801489,-1.550279 +72.801489,-1.550279 +72.801489,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.202483,-1.550471 +73.202483,-1.550471 +73.202483,-1.550471 +73.202483,-1.550471 +73.461481,-1.550663 +73.461481,-1.550663 +73.461481,-1.550663 +73.461481,-1.550663 +73.591472,-1.550567 +73.591472,-1.550567 +73.722451,-1.550375 +73.722451,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.991419,-1.550471 +73.991419,-1.550471 +74.121420,-1.550471 +74.121420,-1.550471 +74.251481,-1.550663 +74.251481,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.521413,-1.550471 +74.521413,-1.550471 +74.652406,-1.550471 +74.652406,-1.550471 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.912390,-1.550471 +74.912390,-1.550471 +75.042446,-1.550567 +75.042446,-1.550567 +75.182357,-1.550375 +75.182357,-1.550375 +75.182357,-1.550375 +75.182357,-1.550375 +75.312361,-1.550375 +75.312361,-1.550375 +75.442317,-1.550279 +75.442317,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.704357,-1.550279 +75.704357,-1.550279 +75.832364,-1.550279 +75.832364,-1.550279 +75.971329,-1.550471 +75.971329,-1.550471 +75.971329,-1.550471 +75.971329,-1.550471 +76.102306,-1.550184 +76.102306,-1.550184 +76.232311,-1.550279 +76.232311,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.492277,-1.550184 +76.492277,-1.550184 +76.632243,-1.550471 +76.632243,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.892454,-1.550375 +76.892454,-1.550375 +77.022344,-1.550279 +77.022344,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.292211,-1.550279 +77.292211,-1.550279 +77.422306,-1.550471 +77.422306,-1.550471 +77.552232,-1.550567 +77.552232,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.812199,-1.550375 +77.812199,-1.550375 +77.942164,-1.550184 +77.942164,-1.550184 +78.082789,-1.550279 +78.082789,-1.550279 +78.082789,-1.550279 +78.082789,-1.550279 +78.215161,-1.550375 +78.215161,-1.550375 +78.342159,-1.550471 +78.342159,-1.550471 +78.471137,-1.550567 +78.471137,-1.550567 +78.471137,-1.550567 +78.471137,-1.550567 +78.601137,-1.550471 +78.601137,-1.550471 +78.743179,-1.550375 +78.743179,-1.550375 +78.874138,-1.550279 +78.874138,-1.550279 +78.874138,-1.550279 +78.874138,-1.550279 +79.002337,-1.550375 +79.002337,-1.550375 +79.132204,-1.550567 +79.132204,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.402068,-1.550663 +79.402068,-1.550663 +79.532093,-1.550471 +79.532093,-1.550471 +79.661080,-1.550279 +79.661080,-1.550279 +79.661080,-1.550279 +79.661080,-1.550279 +79.792054,-1.550279 +79.792054,-1.550279 +79.921151,-1.550375 +79.921151,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.191043,-1.550471 +80.191043,-1.550471 +80.322027,-1.550375 +80.322027,-1.550375 +80.452041,-1.550279 +80.452041,-1.550279 +80.582027,-1.550375 +80.582027,-1.550375 +80.582027,-1.550375 +80.582027,-1.550375 +80.711051,-1.550471 +80.711051,-1.550471 +80.851027,-1.550471 +80.851027,-1.550471 +80.981971,-1.550279 +80.981971,-1.550279 +80.981971,-1.550279 +80.981971,-1.550279 +81.112099,-1.550279 +81.112099,-1.550279 +81.240974,-1.550184 +81.240974,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.510958,-1.550375 +81.510958,-1.550375 +81.640948,-1.550375 +81.640948,-1.550375 +81.770939,-1.550471 +81.770939,-1.550471 +81.770939,-1.550471 +81.770939,-1.550471 +81.901905,-1.550375 +81.901905,-1.550375 +82.031883,-1.550279 +82.031883,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.302945,-1.550375 +82.302945,-1.550375 +82.432023,-1.550471 +82.432023,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.690833,-1.550375 +82.690833,-1.550375 +82.820860,-1.550279 +82.820860,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +83.090821,-1.550471 +83.090821,-1.550471 +83.220885,-1.550567 +83.220885,-1.550567 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.621836,-1.550279 +83.621836,-1.550279 +83.751748,-1.550088 +83.751748,-1.550088 +83.881806,-1.550184 +83.881806,-1.550184 +83.881806,-1.550184 +83.881806,-1.550184 +84.010775,-1.550375 +84.010775,-1.550375 +84.141770,-1.550471 +84.141770,-1.550471 +84.281770,-1.550567 +84.281770,-1.550567 +84.281770,-1.550567 +84.281770,-1.550567 +84.411756,-1.550567 +84.411756,-1.550567 +84.540714,-1.550279 +84.540714,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.802749,-1.550471 +84.802749,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +85.200697,-1.550567 +85.200697,-1.550567 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.590744,-1.550184 +85.590744,-1.550184 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.990645,-1.550471 +85.990645,-1.550471 +86.121648,-1.550567 +86.121648,-1.550567 +86.121648,-1.550567 +86.121648,-1.550567 +86.391630,-1.550375 +86.391630,-1.550375 +86.391630,-1.550375 +86.391630,-1.550375 +86.520619,-1.550471 +86.520619,-1.550471 +86.520619,-1.550471 +86.520619,-1.550471 +86.780603,-1.550567 +86.780603,-1.550567 +86.780603,-1.550567 +86.780603,-1.550567 +86.911622,-1.550375 +86.911622,-1.550375 +86.911622,-1.550375 +86.911622,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.310653,-1.550279 +87.310653,-1.550279 +87.441564,-1.550471 +87.441564,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.711540,-1.550471 +87.711540,-1.550471 +87.841480,-1.550279 +87.841480,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +88.100520,-1.550279 +88.100520,-1.550279 +88.231557,-1.550375 +88.231557,-1.550375 +88.360502,-1.550471 +88.360502,-1.550471 +88.360502,-1.550471 +88.360502,-1.550471 +88.502460,-1.550567 +88.502460,-1.550567 +88.631512,-1.550471 +88.631512,-1.550471 +88.761500,-1.550279 +88.761500,-1.550279 +88.891473,-1.550375 +88.891473,-1.550375 +88.891473,-1.550375 +88.891473,-1.550375 +89.021468,-1.550471 +89.021468,-1.550471 +89.161520,-1.550471 +89.161520,-1.550471 +89.290467,-1.550663 +89.290467,-1.550663 +89.290467,-1.550663 +89.290467,-1.550663 +89.421451,-1.550663 +89.421451,-1.550663 +89.551439,-1.550375 +89.551439,-1.550375 +89.681501,-1.550471 +89.681501,-1.550471 +89.681501,-1.550471 +89.681501,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +90.081397,-1.550663 +90.081397,-1.550663 +90.081397,-1.550663 +90.081397,-1.550663 +90.211456,-1.550471 +90.211456,-1.550471 +90.211456,-1.550471 +90.211456,-1.550471 +90.470373,-1.550279 +90.470373,-1.550279 +90.470373,-1.550279 +90.470373,-1.550279 +90.611331,-1.550088 +90.611331,-1.550088 +90.611331,-1.550088 +90.611331,-1.550088 +90.871320,-1.543856 +90.871320,-1.543856 +90.871320,-1.543856 +90.871320,-1.543856 +91.001426,-1.537624 +91.001426,-1.537624 +91.131458,-1.531584 +91.131458,-1.531584 +91.276318,-1.527845 +91.276318,-1.527845 +91.276318,-1.527845 +91.276318,-1.527845 +91.402594,-1.524777 +91.402594,-1.524777 +91.531266,-1.521421 +91.531266,-1.521421 +91.660267,-1.514231 +91.660267,-1.514231 +91.790271,-1.503493 +91.790271,-1.503493 +91.790271,-1.503493 +91.790271,-1.503493 +91.930299,-1.489687 +91.930299,-1.489687 +92.060250,-1.474635 +92.060250,-1.474635 +92.190242,-1.458720 +92.190242,-1.458720 +92.190242,-1.458720 +92.190242,-1.458720 +92.321251,-1.442901 +92.321251,-1.442901 +92.451222,-1.430821 +92.451222,-1.430821 +92.590231,-1.422288 +92.590231,-1.422288 +92.590231,-1.422288 +92.590231,-1.422288 +92.721389,-1.417206 +92.721389,-1.417206 +92.850213,-1.415385 +92.850213,-1.415385 +92.980194,-1.413467 +92.980194,-1.413467 +92.980194,-1.413467 +92.980194,-1.413467 +93.110169,-1.410495 +93.110169,-1.410495 +93.240189,-1.404264 +93.240189,-1.404264 +93.381548,-1.394772 +93.381548,-1.394772 +93.381548,-1.394772 +93.381548,-1.394772 +93.510173,-1.381254 +93.510173,-1.381254 +93.510173,-1.381254 +93.510173,-1.381254 +93.771160,-1.346068 +93.771160,-1.346068 +93.771160,-1.346068 +93.771160,-1.346068 +93.910138,-1.325551 +93.910138,-1.325551 +93.910138,-1.325551 +93.910138,-1.325551 +94.170124,-1.285188 +94.170124,-1.285188 +94.170124,-1.285188 +94.170124,-1.285188 +94.301062,-1.265822 +94.301062,-1.265822 +94.301062,-1.265822 +94.301062,-1.265822 +94.561648,-1.228239 +94.561648,-1.228239 +94.561648,-1.228239 +94.561648,-1.228239 +94.700100,-1.208489 +94.700100,-1.208489 +94.700100,-1.208489 +94.700100,-1.208489 +94.960087,-1.169948 +94.960087,-1.169948 +95.091060,-1.151924 +95.091060,-1.151924 +95.091060,-1.151924 +95.091060,-1.151924 +95.220038,-1.134379 +95.220038,-1.134379 +95.360042,-1.116834 +95.360042,-1.116834 +95.490014,-1.098905 +95.490014,-1.098905 +95.490014,-1.098905 +95.490014,-1.098905 +95.619977,-1.080402 +95.619977,-1.080402 +95.749980,-1.061706 +95.749980,-1.061706 +95.881011,-1.043011 +95.881011,-1.043011 +95.881011,-1.043011 +95.881011,-1.043011 +96.020009,-1.024220 +96.020009,-1.024220 +96.150003,-1.005237 +96.150003,-1.005237 +96.280979,-0.986158 +96.280979,-0.986158 +96.280979,-0.986158 +96.280979,-0.986158 +96.410971,-0.967462 +96.410971,-0.967462 +96.541068,-0.948671 +96.541068,-0.948671 +96.681508,-0.929976 +96.681508,-0.929976 +96.681508,-0.929976 +96.681508,-0.929976 +96.811070,-0.911089 +96.811070,-0.911089 +96.940988,-0.892489 +96.940988,-0.892489 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.200922,-0.855769 +97.200922,-0.855769 +97.340095,-0.837266 +97.340095,-0.837266 +97.470882,-0.818283 +97.470882,-0.818283 +97.470882,-0.818283 +97.470882,-0.818283 +97.601935,-0.798916 +97.601935,-0.798916 +97.601935,-0.798916 +97.601935,-0.798916 +97.860892,-0.760279 +97.860892,-0.760279 +97.860892,-0.760279 +97.860892,-0.760279 +97.989886,-0.740625 +97.989886,-0.740625 +97.989886,-0.740625 +97.989886,-0.740625 +98.259871,-0.657311 +98.259871,-0.657311 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.650890,-0.628069 +98.650890,-0.628069 +98.790822,-0.608894 +98.790822,-0.608894 +98.790822,-0.608894 +98.790822,-0.608894 +98.920829,-0.589528 +98.920829,-0.589528 +99.050832,-0.569874 +99.050832,-0.569874 +99.180808,-0.550411 +99.180808,-0.550411 +99.180808,-0.550411 +99.180808,-0.550411 +99.309807,-0.530374 +99.309807,-0.530374 +99.449787,-0.510432 +99.449787,-0.510432 +99.579790,-0.490586 +99.579790,-0.490586 +99.579790,-0.490586 +99.579790,-0.490586 +99.709782,-0.470549 +99.709782,-0.470549 +99.839784,-0.450511 +99.839784,-0.450511 +99.970759,-0.430569 +99.970759,-0.430569 +99.970759,-0.430569 +99.970759,-0.430569 +100.110805,-0.410627 +100.110805,-0.410627 +100.240710,-0.391165 +100.240710,-0.391165 +100.371561,-0.371319 +100.371561,-0.371319 +100.371561,-0.371319 +100.371561,-0.371319 +100.499716,-0.350994 +100.499716,-0.350994 +100.630721,-0.330381 +100.630721,-0.330381 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.900078,-0.291265 +100.900078,-0.291265 +101.029650,-0.272761 +101.029650,-0.272761 +101.162665,-0.254257 +101.162665,-0.254257 +101.290645,-0.235178 +101.290645,-0.235178 +101.290645,-0.235178 +101.290645,-0.235178 +101.420661,-0.215620 +101.420661,-0.215620 +101.560733,-0.196445 +101.560733,-0.196445 +101.690638,-0.177462 +101.690638,-0.177462 +101.690638,-0.177462 +101.690638,-0.177462 +101.821627,-0.158671 +101.821627,-0.158671 +101.949619,-0.139880 +101.949619,-0.139880 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.350599,-0.081493 +102.350599,-0.081493 +102.480698,-0.062222 +102.480698,-0.062222 +102.480698,-0.062222 +102.480698,-0.062222 +102.610730,-0.043431 +102.610730,-0.043431 +102.740715,-0.024831 +102.740715,-0.024831 +102.880556,-0.006136 +102.880556,-0.006136 +102.880556,-0.006136 +102.880556,-0.006136 +103.009514,0.012943 +103.009514,0.012943 +103.139560,0.031351 +103.139560,0.031351 +103.269702,0.050046 +103.269702,0.050046 +103.269702,0.050046 +103.269702,0.050046 +103.399710,0.067783 +103.399710,0.067783 +103.529665,0.081205 +103.529665,0.081205 +103.669505,0.090025 +103.669505,0.090025 +103.669505,0.090025 +103.669505,0.090025 +103.800528,0.094436 +103.800528,0.094436 +103.930676,0.095778 +103.930676,0.095778 +104.060420,0.096737 +104.060420,0.096737 +104.190493,0.098558 +104.190493,0.098558 +104.190493,0.098558 +104.190493,0.098558 +104.330519,0.100476 +104.330519,0.100476 +104.459440,0.102106 +104.459440,0.102106 +104.459440,0.102106 +104.459440,0.102106 +104.589442,0.103831 +104.589442,0.103831 +104.719429,0.105365 +104.719429,0.105365 +104.719429,0.105365 +104.849389,0.106899 +104.849389,0.106899 +104.980381,0.108146 +104.980381,0.108146 +104.980381,0.108146 +104.980381,0.108146 +105.120431,0.109009 +105.120431,0.109009 +105.250393,0.109871 +105.250393,0.109871 +105.380379,0.110542 +105.380379,0.110542 +105.380379,0.110542 +105.380379,0.110542 +105.510388,0.111309 +105.510388,0.111309 +105.639375,0.112364 +105.639375,0.112364 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +106.039365,0.114090 +106.039365,0.114090 +106.169365,0.113994 +106.169365,0.113994 +106.169365,0.113994 +106.169365,0.113994 +106.299343,0.112843 +106.299343,0.112843 +106.439326,0.109296 +106.439326,0.109296 +106.569362,0.103352 +106.569362,0.103352 +106.569362,0.103352 +106.569362,0.103352 +106.700277,0.094244 +106.700277,0.094244 +106.830299,0.080726 +106.830299,0.080726 +106.959304,0.065098 +106.959304,0.065098 +106.959304,0.065098 +106.959304,0.065098 +107.100258,0.050238 +107.100258,0.050238 +107.229265,0.038733 +107.229265,0.038733 +107.360420,0.032022 +107.360420,0.032022 +107.489260,0.029433 +107.489260,0.029433 +107.489260,0.029433 +107.489260,0.029433 +107.621501,0.028283 +107.621501,0.028283 +107.621501,0.028283 +107.621501,0.028283 +107.760227,0.026269 +107.760227,0.026269 +107.889214,0.024735 +107.889214,0.024735 +107.889214,0.024735 +107.889214,0.024735 +108.149178,0.022243 +108.149178,0.022243 +108.280215,0.021380 +108.280215,0.021380 +108.280215,0.021380 +108.280215,0.021380 +108.410194,0.020325 +108.410194,0.020325 +108.550153,0.019175 +108.550153,0.019175 +108.550153,0.019175 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.809163,0.017161 +108.809163,0.017161 +108.939204,0.016586 +108.939204,0.016586 +109.070146,0.015819 +109.070146,0.015819 +109.070146,0.015819 +109.070146,0.015819 +109.210321,0.015436 +109.210321,0.015436 +109.339099,0.014573 +109.339099,0.014573 +109.469081,0.013422 +109.469081,0.013422 +109.469081,0.013422 +109.469081,0.013422 +109.600117,0.013039 +109.600117,0.013039 +109.729209,0.012080 +109.729209,0.012080 +109.860182,0.011601 +109.860182,0.011601 +109.860182,0.011601 +109.860182,0.011601 +110.000078,0.011217 +110.000078,0.011217 +110.130083,0.010354 +110.130083,0.010354 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.389045,0.008820 +110.389045,0.008820 +110.530044,0.008149 +110.530044,0.008149 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.919145,0.007574 +110.919145,0.007574 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.321084,0.005944 +111.321084,0.005944 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.709065,0.003931 +111.709065,0.003931 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +112.110036,0.001917 +112.110036,0.001917 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.498903,0.001150 +112.498903,0.001150 +112.498903,0.001150 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.898881,-0.000575 +112.898881,-0.000575 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.298862,-0.001342 +113.298862,-0.001342 +113.429839,-0.001438 +113.429839,-0.001438 +113.558849,-0.001726 +113.558849,-0.001726 +113.688837,-0.001917 +113.688837,-0.001917 +113.688837,-0.001917 +113.688837,-0.001917 +113.818819,-0.002493 +113.818819,-0.002493 +113.958821,-0.002972 +113.958821,-0.002972 +114.088800,-0.003068 +114.088800,-0.003068 +114.088800,-0.003068 +114.088800,-0.003068 +114.218797,-0.003451 +114.218797,-0.003451 +114.349800,-0.004123 +114.349800,-0.004123 +114.478866,-0.004410 +114.478866,-0.004410 +114.478866,-0.004410 +114.478866,-0.004410 +114.618773,-0.004794 +114.618773,-0.004794 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +115.008767,-0.005177 +115.008767,-0.005177 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.408724,-0.006328 +115.408724,-0.006328 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.798684,-0.006903 +115.798684,-0.006903 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +116.199687,-0.007958 +116.199687,-0.007958 +116.329642,-0.008245 +116.329642,-0.008245 +116.329642,-0.008245 +116.329642,-0.008245 +116.589658,-0.009012 +116.589658,-0.009012 +116.589658,-0.009012 +116.589658,-0.009012 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.988635,-0.004218 +116.988635,-0.004218 +117.119634,0.002205 +117.119634,0.002205 +117.249562,0.011025 +117.249562,0.011025 +117.249562,0.011025 +117.249562,0.011025 +117.389616,0.021380 +117.389616,0.021380 +117.518582,0.034610 +117.518582,0.034610 +117.648595,0.049375 +117.648595,0.049375 +117.778620,0.066345 +117.778620,0.066345 +117.778620,0.066345 +117.778620,0.066345 +117.908574,0.084465 +117.908574,0.084465 +118.053570,0.101914 +118.053570,0.101914 +118.178575,0.120130 +118.178575,0.120130 +118.178575,0.120130 +118.178575,0.120130 +118.309546,0.138442 +118.309546,0.138442 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.710673,0.194049 +118.710673,0.194049 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +119.099454,0.250039 +119.099454,0.250039 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.499441,0.310439 +119.499441,0.310439 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.889493,0.374004 +119.889493,0.374004 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.289469,0.431911 +120.289469,0.431911 +120.418408,0.451374 +120.418408,0.451374 +120.418408,0.451374 +120.418408,0.451374 +120.678393,0.491449 +120.678393,0.491449 +120.678393,0.491449 +120.678393,0.491449 +120.819370,0.511103 +120.819370,0.511103 +120.950430,0.530278 +120.950430,0.530278 +121.082406,0.549069 +121.082406,0.549069 +121.082406,0.549069 +121.082406,0.549069 +121.208368,0.568148 +121.208368,0.568148 +121.338383,0.587515 +121.338383,0.587515 +121.338383,0.587515 +121.479363,0.607456 +121.479363,0.607456 +121.479363,0.607456 +121.479363,0.607456 +121.608346,0.626823 +121.608346,0.626823 +121.739273,0.645806 +121.739273,0.645806 +121.739273,0.645806 +121.869321,0.664693 +121.869321,0.664693 +121.869321,0.664693 +121.869321,0.664693 +121.999326,0.683293 +121.999326,0.683293 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.398244,0.740817 +122.398244,0.740817 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.789265,0.784727 +122.789265,0.784727 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +123.188174,0.794890 +123.188174,0.794890 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.589195,0.799779 +123.589195,0.799779 +123.589195,0.799779 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.978179,0.811284 +123.978179,0.811284 +123.978179,0.811284 +123.978179,0.811284 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.238160,0.834294 +124.238160,0.834294 +124.238160,0.834294 +124.238160,0.834294 +124.509129,0.869767 +124.509129,0.869767 +124.639132,0.889421 +124.639132,0.889421 +124.639132,0.889421 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.898111,0.908692 +124.898111,0.908692 +125.039077,0.986254 +125.039077,0.986254 +125.039077,0.986254 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.298114,1.006196 +125.298114,1.006196 +125.429085,1.016070 +125.429085,1.016070 +125.558079,1.035341 +125.558079,1.035341 +125.558079,1.035341 +125.558079,1.035341 +125.698064,1.054132 +125.698064,1.054132 +125.828079,1.072444 +125.828079,1.072444 +125.828079,1.072444 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +126.088124,1.109068 +126.088124,1.109068 +126.088124,1.109068 +126.219019,1.127763 +126.219019,1.127763 +126.359001,1.146651 +126.359001,1.146651 +126.359001,1.146651 +126.359001,1.146651 +126.488026,1.165538 +126.488026,1.165538 +126.488026,1.165538 +126.619015,1.184425 +126.619015,1.184425 +126.749111,1.203504 +126.749111,1.203504 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +127.148978,1.260740 +127.148978,1.260740 +127.148978,1.260740 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.538947,1.317114 +127.538947,1.317114 +127.538947,1.317114 +127.668946,1.336577 +127.668946,1.336577 +127.668946,1.336577 +127.668946,1.336577 +127.808963,1.356135 +127.808963,1.356135 +127.808963,1.356135 +127.939003,1.375597 +127.939003,1.375597 +128.068905,1.394964 +128.068905,1.394964 +128.068905,1.394964 +128.068905,1.394964 +128.198869,1.414330 +128.198869,1.414330 +128.198869,1.414330 +128.328959,1.433793 +128.328959,1.433793 +128.467883,1.453543 +128.467883,1.453543 +128.467883,1.453543 +128.467883,1.453543 +128.597875,1.473005 +128.597875,1.473005 +128.597875,1.473005 +128.597875,1.473005 +128.727896,1.492084 +128.727896,1.492084 +128.858849,1.511067 +128.858849,1.511067 +128.858849,1.511067 +128.858849,1.511067 +128.987816,1.530242 +128.987816,1.530242 +128.987816,1.530242 +129.128845,1.549416 +129.128845,1.549416 +129.257842,1.569071 +129.257842,1.569071 +129.257842,1.569071 +129.257842,1.569071 +129.387843,1.589012 +129.387843,1.589012 +129.518834,1.608954 +129.518834,1.608954 +129.648873,1.628704 +129.648873,1.628704 +129.778039,1.648550 +129.778039,1.648550 +129.778039,1.648550 +129.778039,1.648550 +129.917915,1.664849 +129.917915,1.664849 +130.047779,1.676162 +130.047779,1.676162 +130.177771,1.683352 +130.177771,1.683352 +130.177771,1.683352 +130.177771,1.683352 +130.307762,1.683736 +130.307762,1.683736 +130.438892,1.681147 +130.438892,1.681147 +130.577768,1.676545 +130.577768,1.676545 +130.577768,1.676545 +130.577768,1.676545 +130.708736,1.669834 +130.708736,1.669834 +130.838696,1.663506 +130.838696,1.663506 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +131.237700,1.635703 +131.237700,1.635703 +131.368713,1.621609 +131.368713,1.621609 +131.368713,1.621609 +131.368713,1.621609 +131.498654,1.606653 +131.498654,1.606653 +131.627699,1.594381 +131.627699,1.594381 +131.757680,1.585944 +131.757680,1.585944 +131.757680,1.585944 +131.757680,1.585944 +131.897902,1.581342 +131.897902,1.581342 +132.028693,1.579809 +132.028693,1.579809 +132.158659,1.578083 +132.158659,1.578083 +132.158659,1.578083 +132.158659,1.578083 +132.287645,1.576261 +132.287645,1.576261 +132.417620,1.574535 +132.417620,1.574535 +132.548624,1.572906 +132.548624,1.572906 +132.548624,1.572906 +132.548624,1.572906 +132.688609,1.571563 +132.688609,1.571563 +132.817602,1.570029 +132.817602,1.570029 +132.948600,1.568687 +132.948600,1.568687 +133.078590,1.567345 +133.078590,1.567345 +133.078590,1.567345 +133.078590,1.567345 +133.208575,1.566003 +133.208575,1.566003 +133.337566,1.564756 +133.337566,1.564756 +133.337566,1.564756 +133.337566,1.564756 +133.477564,1.563702 +133.477564,1.563702 +133.607559,1.562743 +133.607559,1.562743 +133.738526,1.561401 +133.738526,1.561401 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.997511,1.559675 +133.997511,1.559675 +134.140486,1.558908 +134.140486,1.558908 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.398510,1.557757 +134.398510,1.557757 +134.528498,1.556990 +134.528498,1.556990 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.797435,1.555457 +134.797435,1.555457 +134.929021,1.554594 +134.929021,1.554594 +135.057449,1.553827 +135.057449,1.553827 +135.057449,1.553827 +135.057449,1.553827 +135.187453,1.553347 +135.187453,1.553347 +135.318605,1.552868 +135.318605,1.552868 +135.447373,1.552293 +135.447373,1.552293 +135.447373,1.552293 +135.447373,1.552293 +135.589808,1.551717 +135.589808,1.551717 +135.589808,1.551717 +135.718396,1.551142 +135.718396,1.551142 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +136.108478,1.549800 +136.108478,1.549800 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.508338,1.547211 +136.508338,1.547211 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.911352,1.545486 +136.911352,1.545486 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.298460,1.544143 +137.298460,1.544143 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.698558,1.543664 +137.698558,1.543664 +137.827259,1.543472 +137.827259,1.543472 +137.958284,1.543089 +137.958284,1.543089 +137.958284,1.543089 +137.958284,1.543089 +138.088461,1.542609 +138.088461,1.542609 +138.227246,1.542226 +138.227246,1.542226 +138.357225,1.541938 +138.357225,1.541938 +138.357225,1.541938 +138.357225,1.541938 +138.487221,1.541747 +138.487221,1.541747 +138.618459,1.541459 +138.618459,1.541459 +138.748222,1.540884 +138.748222,1.540884 +138.748222,1.540884 +138.877161,1.540308 +138.877161,1.540308 +138.877161,1.540308 +138.877161,1.540308 +139.018200,1.539637 +139.018200,1.539637 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.408177,1.538487 +139.408177,1.538487 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.808136,1.537720 +139.808136,1.537720 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +140.197115,1.537049 +140.197115,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.597108,1.536090 +140.597108,1.536090 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.997197,1.540980 +140.997197,1.540980 +141.127056,1.547211 +141.127056,1.547211 +141.127056,1.547211 +141.127056,1.547211 +141.387019,1.566098 +141.387019,1.566098 +141.387019,1.566098 +141.387019,1.566098 +141.517008,1.578754 +141.517008,1.578754 +141.517008,1.578754 +141.517008,1.578754 +141.787039,1.602626 +141.787039,1.602626 +141.787039,1.602626 +141.787039,1.602626 +141.917000,1.610584 +141.917000,1.610584 +142.047990,1.614323 +142.047990,1.614323 +142.177068,1.615569 +142.177068,1.615569 +142.177068,1.615569 +142.177068,1.615569 +142.306981,1.617103 +142.306981,1.617103 +142.446961,1.618541 +142.446961,1.618541 +142.576992,1.619980 +142.576992,1.619980 +142.576992,1.619980 +142.576992,1.619980 +142.707945,1.621418 +142.707945,1.621418 +142.836935,1.622760 +142.836935,1.622760 +142.966936,1.624006 +142.966936,1.624006 +142.966936,1.624006 +142.966936,1.624006 +143.106866,1.625061 +143.106866,1.625061 +143.237859,1.625924 +143.237859,1.625924 +143.366913,1.626691 +143.366913,1.626691 +143.366913,1.626691 +143.366913,1.626691 +143.496881,1.627266 +143.496881,1.627266 +143.627904,1.627649 +143.627904,1.627649 +143.756878,1.628033 +143.756878,1.628033 +143.756878,1.628033 +143.756878,1.628033 +143.897860,1.628512 +143.897860,1.628512 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.287876,1.630238 +144.287876,1.630238 +144.287876,1.630238 +144.287876,1.630238 +144.417832,1.630718 +144.417832,1.630718 +144.417832,1.630718 +144.417832,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.820815,1.630526 +144.820815,1.630526 +144.820815,1.630526 +144.820815,1.630526 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.216778,1.631005 +145.216778,1.631005 +145.216778,1.631005 +145.216778,1.631005 +145.477770,1.630813 +145.477770,1.630813 +145.477770,1.630813 +145.477770,1.630813 +145.607759,1.630909 +145.607759,1.630909 +145.736745,1.630718 +145.736745,1.630718 +145.867776,1.630909 +145.867776,1.630909 +145.867776,1.630909 +145.867776,1.630909 +146.006817,1.631580 +146.006817,1.631580 +146.137797,1.631964 +146.137797,1.631964 +146.267712,1.632443 +146.267712,1.632443 +146.267712,1.632443 +146.267712,1.632443 +146.397833,1.632635 +146.397833,1.632635 +146.537656,1.632635 +146.537656,1.632635 +146.667737,1.632539 +146.667737,1.632539 +146.667737,1.632539 +146.667737,1.632539 +146.797700,1.632635 +146.797700,1.632635 +146.927675,1.632731 +146.927675,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.196663,1.632539 +147.196663,1.632539 +147.327660,1.632251 +147.327660,1.632251 +147.456637,1.632060 +147.456637,1.632060 +147.586630,1.631964 +147.586630,1.631964 +147.586630,1.631964 +147.586630,1.631964 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.987585,1.632347 +147.987585,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.376679,1.631868 +148.376679,1.631868 +148.376679,1.631868 +148.376679,1.631868 +148.507706,1.631484 +148.507706,1.631484 +148.507706,1.631484 +148.507706,1.631484 +148.777552,1.631005 +148.777552,1.631005 +148.777552,1.631005 +148.777552,1.631005 +148.906512,1.630813 +148.906512,1.630813 +148.906512,1.630813 +148.906512,1.630813 +149.167573,1.630238 +149.167573,1.630238 +149.167573,1.630238 +149.167573,1.630238 +149.307517,1.629855 +149.307517,1.629855 +149.307517,1.629855 +149.307517,1.629855 +149.566488,1.629183 +149.566488,1.629183 +149.566488,1.629183 +149.566488,1.629183 +149.696435,1.628800 +149.696435,1.628800 +149.826495,1.628608 +149.826495,1.628608 +149.966469,1.628321 +149.966469,1.628321 +149.966469,1.628321 +149.966469,1.628321 +150.096489,1.628033 +150.096489,1.628033 +150.226443,1.628033 +150.226443,1.628033 +150.357553,1.627841 +150.357553,1.627841 +150.357553,1.627841 +150.357553,1.627841 +150.486406,1.627554 +150.486406,1.627554 +150.617442,1.627458 +150.617442,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.887410,1.627266 +150.887410,1.627266 +151.017413,1.627266 +151.017413,1.627266 +151.146413,1.627266 +151.276493,1.627074 +151.276493,1.627074 +151.276493,1.627074 +151.276493,1.627074 +151.406388,1.626691 +151.406388,1.626691 +151.546360,1.626403 +151.546360,1.626403 +151.546360,1.626403 +151.676362,1.625924 +151.676362,1.625924 +151.676362,1.625924 +151.676362,1.625924 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.206338,1.625061 +152.206338,1.625061 +152.206338,1.625061 +152.337390,1.624773 +152.337390,1.624773 +152.467455,1.624390 +152.467455,1.624390 +152.467455,1.624390 +152.467455,1.624390 +152.596751,1.624102 +152.596751,1.624102 +152.727295,1.623910 +152.727295,1.623910 +152.866344,1.623815 +152.866344,1.623815 +152.866344,1.623815 +152.866344,1.623815 +152.997789,1.623910 +152.997789,1.623910 +152.997789,1.623910 +153.126495,1.623623 +153.126495,1.623623 +153.256270,1.623239 +153.256270,1.623239 +153.256270,1.623239 +153.386262,1.622856 +153.386262,1.622856 +153.386262,1.622856 +153.386262,1.622856 +153.526249,1.622281 +153.526249,1.622281 +153.526249,1.622281 +153.656331,1.622281 +153.656331,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.917265,1.621993 +153.917265,1.621993 +153.917265,1.621993 +154.046212,1.621993 +154.046212,1.621993 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.317293,1.620938 +154.317293,1.620938 +154.447184,1.620651 +154.447184,1.620651 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.706212,1.620076 +154.706212,1.620076 +154.836296,1.619596 +154.836296,1.619596 +154.836296,1.619596 +154.976152,1.619117 +154.976152,1.619117 +154.976152,1.619117 +154.976152,1.619117 +155.106145,1.618541 +155.106145,1.618541 +155.236153,1.618158 +155.236153,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.496109,1.618158 +155.496109,1.618158 +155.636100,1.618158 +155.636100,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +156.026067,1.617775 +156.026067,1.617775 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.427684,1.616432 +156.427684,1.616432 +156.557059,1.616145 +156.557059,1.616145 +156.557059,1.616145 +156.557059,1.616145 +156.686022,1.615953 +156.686022,1.615953 +156.816053,1.615474 +156.816053,1.615474 +156.945975,1.615090 +156.945975,1.615090 +156.945975,1.615090 +156.945975,1.615090 +157.089070,1.614515 +157.089070,1.614515 +157.217005,1.614035 +157.217005,1.614035 +157.346979,1.613556 +157.346979,1.613556 +157.476989,1.613268 +157.476989,1.613268 +157.476989,1.613268 +157.476989,1.613268 +157.606916,1.612981 +157.606916,1.612981 +157.747011,1.612693 +157.747011,1.612693 +157.877020,1.612406 +157.877020,1.612406 +157.877020,1.612406 +157.877020,1.612406 +158.005980,1.612214 +158.005980,1.612214 +158.136947,1.611926 +158.136947,1.611926 +158.266949,1.611830 +158.266949,1.611830 +158.266949,1.611830 +158.266949,1.611830 +158.406910,1.611926 +158.406910,1.611926 +158.536894,1.612022 +158.536894,1.612022 +158.665915,1.612118 +158.665915,1.612118 +158.665915,1.612118 +158.665915,1.612118 +158.796947,1.611830 +158.796947,1.611830 +158.926944,1.611255 +158.926944,1.611255 +159.065879,1.610967 +159.065879,1.610967 +159.065879,1.610967 +159.065879,1.610967 +159.195873,1.610488 +159.195873,1.610488 +159.326857,1.610200 +159.326857,1.610200 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.726835,1.609050 +159.726835,1.609050 +159.856823,1.608762 +159.856823,1.608762 +159.986818,1.608571 +159.986818,1.608571 +159.986818,1.608571 +159.986818,1.608571 +160.116828,1.608379 +160.116828,1.608379 +160.245774,1.608283 +160.245774,1.608283 +160.375795,1.608187 +160.375795,1.608187 +160.375795,1.608187 +160.375795,1.608187 +160.515781,1.608091 +160.515781,1.608091 +160.645775,1.607995 +160.645775,1.607995 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.906858,1.607420 +160.906858,1.607420 +160.906858,1.607420 +161.035756,1.606941 +161.035756,1.606941 +161.176744,1.606461 +161.176744,1.606461 +161.176744,1.606461 +161.176744,1.606461 +161.306849,1.605982 +161.306849,1.605982 +161.435722,1.605503 +161.435722,1.605503 +161.566728,1.605311 +161.566728,1.605311 +161.566728,1.605311 +161.566728,1.605311 +161.695657,1.605023 +161.695657,1.605023 +161.835708,1.604544 +161.835708,1.604544 +161.966716,1.603969 +161.966716,1.603969 +161.966716,1.603969 +161.966716,1.603969 +162.096631,1.603489 +162.096631,1.603489 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.485655,1.602243 +162.485655,1.602243 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.885662,1.601284 +162.885662,1.601284 +163.016652,1.601284 +163.016652,1.601284 +163.146720,1.600997 +163.146720,1.600997 +163.146720,1.600997 +163.146720,1.600997 +163.286610,1.601093 +163.286610,1.601093 +163.416612,1.600997 +163.416612,1.600997 +163.545542,1.600709 +163.545542,1.600709 +163.676596,1.600325 +163.676596,1.600325 +163.676596,1.600325 +163.676596,1.600325 +163.805580,1.599942 +163.805580,1.599942 +163.945575,1.599558 +163.945575,1.599558 +164.075529,1.599175 +164.075529,1.599175 +164.075529,1.599175 +164.075529,1.599175 +164.206510,1.598887 +164.206510,1.598887 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.606519,1.598312 +164.606519,1.598312 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.995531,1.597545 +164.995531,1.597545 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.386458,1.596011 +165.386458,1.596011 +165.526479,1.595723 +165.526479,1.595723 +165.526479,1.595723 +165.526479,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.915451,1.595723 +165.915451,1.595723 +165.915451,1.595723 +165.915451,1.595723 +166.185434,1.595436 +166.185434,1.595436 +166.185434,1.595436 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.576413,1.594190 +166.576413,1.594190 +166.576413,1.594190 +166.576413,1.594190 +166.706398,1.594094 +166.706398,1.594094 +166.706398,1.594094 +166.845335,1.593614 +166.845335,1.593614 +166.975365,1.592847 +166.975365,1.592847 +166.975365,1.592847 +166.975365,1.592847 +167.106350,1.592272 +167.106350,1.592272 +167.235342,1.591505 +167.235342,1.591505 +167.366346,1.591217 +167.366346,1.591217 +167.366346,1.591217 +167.366346,1.591217 +167.507096,1.591217 +167.507096,1.591217 +167.636324,1.591026 +167.636324,1.591026 +167.766314,1.590834 +167.766314,1.590834 +167.766314,1.590834 +167.766314,1.590834 +167.895305,1.590930 +167.895305,1.590930 +168.025268,1.590738 +168.025268,1.590738 +168.025268,1.590738 +168.166660,1.590930 +168.166660,1.590930 +168.166660,1.590930 +168.166660,1.590930 +168.296238,1.591026 +168.296238,1.591026 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.686264,1.589683 +168.686264,1.589683 +168.826248,1.589204 +168.826248,1.589204 +168.826248,1.589204 +168.826248,1.589204 +169.086389,1.588629 +169.086389,1.588629 +169.086389,1.588629 +169.086389,1.588629 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.476187,1.587574 +169.476187,1.587574 +169.476187,1.587574 +169.476187,1.587574 +169.616190,1.586903 +169.616190,1.586903 +169.616190,1.586903 +169.616190,1.586903 +169.876384,1.586232 +169.876384,1.586232 +169.876384,1.586232 +169.876384,1.586232 +170.005305,1.586040 +170.005305,1.586040 +170.005305,1.586040 +170.005305,1.586040 +170.275158,1.585561 +170.275158,1.585561 +170.275158,1.585561 +170.275158,1.585561 +170.406269,1.585369 +170.406269,1.585369 +170.536126,1.585657 +170.536126,1.585657 +170.536126,1.585657 +170.666191,1.585849 +170.666191,1.585849 +170.666191,1.585849 +170.666191,1.585849 +170.806124,1.585944 +170.806124,1.585944 +170.936113,1.586040 +170.936113,1.586040 +170.936113,1.586040 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.196105,1.585273 +171.326097,1.585082 +171.326097,1.585082 +171.326097,1.585082 +171.456071,1.584794 +171.456071,1.584794 +171.456071,1.584794 +171.456071,1.584794 +171.595349,1.584602 +171.595349,1.584602 +171.595349,1.584602 +171.725086,1.584314 +171.725086,1.584314 +171.725086,1.584314 +171.856027,1.583835 +171.856027,1.583835 +171.856027,1.583835 +171.856027,1.583835 +171.985098,1.583164 +171.985098,1.583164 +172.116042,1.582589 +172.116042,1.582589 +172.116042,1.582589 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.386029,1.581630 +172.386029,1.581630 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.774977,1.580480 +172.774977,1.580480 +172.774977,1.580480 +172.774977,1.580480 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +173.175099,1.579904 +173.175099,1.579904 +173.175099,1.579904 +173.175099,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.704918,1.578562 +173.704918,1.578562 +173.704918,1.578562 +173.704918,1.578562 +173.964884,1.577508 +173.964884,1.577508 +173.964884,1.577508 +173.964884,1.577508 +174.095904,1.577412 +174.095904,1.577412 +174.095904,1.577412 +174.224876,1.577508 +174.224876,1.577508 +174.224876,1.577508 +174.364853,1.577316 +174.364853,1.577316 +174.364853,1.577316 +174.364853,1.577316 +174.495818,1.576740 +174.495818,1.576740 +174.624849,1.575973 +174.624849,1.575973 +174.624849,1.575973 +174.755916,1.575207 +174.755916,1.575207 +174.755916,1.575207 +174.755916,1.575207 +174.885832,1.574727 +174.885832,1.574727 +174.885832,1.574727 +175.016029,1.574440 +175.016029,1.574440 +175.016029,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.285759,1.574248 +175.285759,1.574248 +175.285759,1.574248 +175.415968,1.573960 +175.415968,1.573960 +175.545765,1.573769 +175.545765,1.573769 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.814759,1.573481 +175.814759,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +176.204741,1.573385 +176.204741,1.573385 +176.204741,1.573385 +176.204741,1.573385 +176.475746,1.572714 +176.475746,1.572714 +176.475746,1.572714 +176.475746,1.572714 +176.604717,1.572522 +176.604717,1.572522 +176.604717,1.572522 +176.604717,1.572522 +176.865694,1.571755 +176.865694,1.571755 +176.865694,1.571755 +176.865694,1.571755 +176.995692,1.571755 +176.995692,1.571755 +176.995692,1.571755 +176.995692,1.571755 +177.264643,1.570509 +177.264643,1.570509 +177.264643,1.570509 +177.264643,1.570509 +177.394671,1.571276 +177.394671,1.571276 +177.394671,1.571276 +177.394671,1.571276 +177.656282,1.578850 +177.656282,1.578850 +177.656282,1.578850 +177.656282,1.578850 +177.785650,1.586040 +177.785650,1.586040 +177.785650,1.586040 +177.785650,1.586040 +178.055630,1.592176 +178.055630,1.592176 +178.055630,1.592176 +178.055630,1.592176 +178.184616,1.589971 +178.184616,1.589971 +178.314610,1.584698 +178.314610,1.584698 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.585598,1.569646 +178.585598,1.569646 +178.714633,1.559867 +178.714633,1.559867 +178.844592,1.546540 +178.844592,1.546540 +178.844592,1.546540 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +179.104565,1.512409 +179.104565,1.512409 +179.247529,1.492659 +179.247529,1.492659 +179.374549,1.471950 +179.374549,1.471950 +179.374549,1.471950 +179.374549,1.471950 +179.504540,1.451817 +179.504540,1.451817 +179.634536,1.431779 +179.634536,1.431779 +179.765528,1.411838 +179.765528,1.411838 +179.765528,1.411838 +179.765528,1.411838 +179.905516,1.392759 +179.905516,1.392759 +180.035513,1.374063 +180.035513,1.374063 +180.164504,1.355943 +180.164504,1.355943 +180.164504,1.355943 +180.164504,1.355943 +180.294497,1.337535 +180.294497,1.337535 +180.425517,1.319032 +180.425517,1.319032 +180.554473,1.300336 +180.554473,1.300336 +180.554473,1.300336 +180.554473,1.300336 +180.694467,1.281257 +180.694467,1.281257 +180.825444,1.262562 +180.825444,1.262562 +180.954476,1.244058 +180.954476,1.244058 +180.954476,1.244058 +180.954476,1.244058 +181.084406,1.225555 +181.084406,1.225555 +181.214435,1.206668 +181.214435,1.206668 +181.355502,1.187876 +181.355502,1.187876 +181.355502,1.187876 +181.355502,1.187876 +181.485393,1.168989 +181.485393,1.168989 +181.615411,1.150677 +181.615411,1.150677 +181.744382,1.132941 +181.744382,1.132941 +181.744382,1.132941 +181.744382,1.132941 +181.878444,1.115587 +181.878444,1.115587 +182.015426,1.098139 +182.015426,1.098139 +182.145386,1.080210 +182.145386,1.080210 +182.275399,1.062282 +182.275399,1.062282 +182.275399,1.062282 +182.275399,1.062282 +182.404474,1.044066 +182.404474,1.044066 +182.534411,1.025850 +182.534411,1.025850 +182.676354,1.007729 +182.676354,1.007729 +182.676354,1.007729 +182.676354,1.007729 +182.805337,0.989609 +182.805337,0.989609 +182.934638,0.971489 +182.934638,0.971489 +183.065316,0.952986 +183.065316,0.952986 +183.065316,0.952986 +183.065316,0.952986 +183.194619,0.934674 +183.194619,0.934674 +183.325341,0.916170 +183.325341,0.916170 +183.465296,0.897666 +183.465296,0.897666 +183.465296,0.897666 +183.465296,0.897666 +183.594267,0.879354 +183.594267,0.879354 +183.725256,0.861043 +183.725256,0.861043 +183.854343,0.842635 +183.854343,0.842635 +183.854343,0.842635 +183.854343,0.842635 +183.985253,0.824035 +183.985253,0.824035 +184.124245,0.805052 +184.124245,0.805052 +184.255179,0.786453 +184.255179,0.786453 +184.255179,0.786453 +184.255179,0.786453 +184.385221,0.767757 +184.385221,0.767757 +184.516444,0.749350 +184.516444,0.749350 +184.645209,0.731325 +184.645209,0.731325 +184.645209,0.731325 +184.645209,0.731325 +184.784213,0.712918 +184.784213,0.712918 +184.915261,0.694414 +184.915261,0.694414 +185.045129,0.675814 +185.045129,0.675814 +185.175587,0.657215 +185.175587,0.657215 +185.175587,0.657215 +185.175587,0.657215 +185.304156,0.638711 +185.304156,0.638711 +185.445097,0.620208 +185.445097,0.620208 +185.574147,0.601800 +185.574147,0.601800 +185.574147,0.601800 +185.574147,0.601800 +185.704151,0.583296 +185.704151,0.583296 +185.834093,0.564888 +185.834093,0.564888 +185.964122,0.546385 +185.964122,0.546385 +185.964122,0.546385 +185.964122,0.546385 +186.094190,0.528169 +186.094190,0.528169 +186.234149,0.509569 +186.234149,0.509569 +186.364071,0.490778 +186.364071,0.490778 +186.364071,0.490778 +186.494048,0.471891 +186.494048,0.471891 +186.625080,0.452141 +186.625080,0.452141 +186.754066,0.432583 +186.754066,0.432583 +186.754066,0.432583 +186.754066,0.432583 +186.894031,0.412928 +186.894031,0.412928 +187.025008,0.393466 +187.025008,0.393466 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.415056,0.335654 +187.415056,0.335654 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.815025,0.273432 +187.815025,0.273432 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +188.214016,0.211689 +188.214016,0.211689 +188.343967,0.191843 +188.343967,0.191843 +188.474054,0.171614 +188.474054,0.171614 +188.474054,0.171614 +188.474054,0.171614 +188.604969,0.151768 +188.604969,0.151768 +188.734022,0.131826 +188.734022,0.131826 +188.734022,0.131826 +188.734022,0.131826 +188.866061,0.111981 +188.866061,0.111981 +189.003997,0.091943 +189.003997,0.091943 +189.133974,0.072960 +189.133974,0.072960 +189.264899,0.058195 +189.264899,0.058195 +189.264899,0.058195 +189.264899,0.058195 +189.394897,0.051772 +189.394897,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.794880,0.060400 +189.794880,0.060400 +189.923861,0.060976 +189.923861,0.060976 +189.923861,0.060976 +189.923861,0.060976 +190.185960,0.060784 +190.185960,0.060784 +190.185960,0.060784 +190.185960,0.060784 +190.314833,0.060688 +190.314833,0.060688 +190.314833,0.060688 +190.314833,0.060688 +190.584808,0.060592 +190.584808,0.060592 +190.584808,0.060592 +190.584808,0.060592 +190.714896,0.060113 +190.714896,0.060113 +190.714896,0.060113 +190.714896,0.060113 +190.984808,0.058867 +190.984808,0.058867 +190.984808,0.058867 +190.984808,0.058867 +191.113794,0.058195 +191.113794,0.058195 +191.113794,0.058195 +191.113794,0.058195 +191.373932,0.050334 +191.373932,0.050334 +191.373932,0.050334 +191.373932,0.050334 +191.503842,0.042568 +191.503842,0.042568 +191.634754,0.031447 +191.634754,0.031447 +191.774740,0.018120 +191.774740,0.018120 +191.774740,0.018120 +191.774740,0.018120 +191.904734,0.001630 +191.904734,0.001630 +192.033708,-0.017161 +192.033708,-0.017161 +192.163700,-0.037103 +192.163700,-0.037103 +192.294709,-0.056661 +192.294709,-0.056661 +192.294709,-0.056661 +192.294709,-0.056661 +192.434693,-0.076028 +192.434693,-0.076028 +192.564690,-0.095682 +192.564690,-0.095682 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.823701,-0.134990 +192.823701,-0.134990 +192.954644,-0.154644 +192.954644,-0.154644 +193.094644,-0.173627 +193.094644,-0.173627 +193.094644,-0.173627 +193.094644,-0.173627 +193.224638,-0.192802 +193.224638,-0.192802 +193.224638,-0.192802 +193.354602,-0.212169 +193.354602,-0.212169 +193.485169,-0.231535 +193.485169,-0.231535 +193.485169,-0.231535 +193.485169,-0.231535 +193.613621,-0.250902 +193.613621,-0.250902 +193.613621,-0.250902 +193.753600,-0.270268 +193.753600,-0.270268 +193.884819,-0.289635 +193.884819,-0.289635 +193.884819,-0.289635 +193.884819,-0.289635 +194.013587,-0.308905 +194.013587,-0.308905 +194.143557,-0.327984 +194.143557,-0.327984 +194.143557,-0.327984 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.673551,-0.404204 +194.673551,-0.404204 +194.673551,-0.404204 +194.673551,-0.404204 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +195.063483,-0.460098 +195.063483,-0.460098 +195.063483,-0.460098 +195.063483,-0.460098 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.464510,-0.515705 +195.464510,-0.515705 +195.594499,-0.534496 +195.594499,-0.534496 +195.594499,-0.534496 +195.594499,-0.534496 +195.724445,-0.553096 +195.724445,-0.553096 +195.864549,-0.571504 +195.864549,-0.571504 +195.993462,-0.590103 +195.993462,-0.590103 +195.993462,-0.590103 +195.993462,-0.590103 +196.124461,-0.609182 +196.124461,-0.609182 +196.254465,-0.628549 +196.254465,-0.628549 +196.384433,-0.648490 +196.384433,-0.648490 +196.384433,-0.648490 +196.384433,-0.648490 +196.523499,-0.668528 +196.523499,-0.668528 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.913415,-0.728833 +196.913415,-0.728833 +196.913415,-0.728833 +197.043565,-0.748870 +197.043565,-0.748870 +197.173437,-0.769100 +197.173437,-0.769100 +197.173437,-0.769100 +197.173437,-0.769100 +197.313382,-0.789713 +197.313382,-0.789713 +197.444401,-0.807545 +197.444401,-0.807545 +197.574360,-0.820104 +197.574360,-0.820104 +197.574360,-0.820104 +197.574360,-0.820104 +197.703369,-0.827966 +197.703369,-0.827966 +197.834345,-0.831418 +197.834345,-0.831418 +197.973353,-0.833047 +197.973353,-0.833047 +197.973353,-0.833047 +197.973353,-0.833047 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.364352,-0.846278 +198.364352,-0.846278 +198.364352,-0.846278 +198.364352,-0.846278 +198.494531,-0.858166 +198.494531,-0.858166 +198.494531,-0.858166 +198.494531,-0.858166 +198.763491,-0.894598 +198.763491,-0.894598 +198.763491,-0.894598 +198.763491,-0.894598 +198.894321,-0.914828 +198.894321,-0.914828 +198.894321,-0.914828 +198.894321,-0.914828 +199.153306,-0.955958 +199.153306,-0.955958 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.554242,-1.022590 +199.554242,-1.022590 +199.684249,-1.045312 +199.684249,-1.045312 +199.684249,-1.045312 +199.684249,-1.045312 +199.813285,-1.069185 +199.813285,-1.069185 +199.944576,-1.093728 +199.944576,-1.093728 +200.086477,-1.119902 +200.086477,-1.119902 +200.086477,-1.119902 +200.086477,-1.119902 +200.214188,-1.147801 +200.214188,-1.147801 +200.343185,-1.174742 +200.343185,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.604147,-1.174742 +200.604147,-1.174742 +200.743114,-1.283942 +200.743114,-1.283942 +200.874218,-1.295063 +200.874218,-1.295063 +200.874218,-1.295063 +200.874218,-1.295063 +201.003137,-1.305993 +201.003137,-1.305993 +201.134101,-1.317594 +201.134101,-1.317594 +201.263111,-1.340507 +201.263111,-1.340507 +201.263111,-1.340507 +201.263111,-1.340507 +201.403066,-1.363901 +201.403066,-1.363901 +201.534101,-1.387773 +201.534101,-1.387773 +201.663481,-1.411838 +201.663481,-1.411838 +201.794072,-1.436094 +201.794072,-1.436094 +201.794072,-1.436094 +201.794072,-1.436094 +201.923066,-1.460541 +201.923066,-1.460541 +202.063060,-1.484510 +202.063060,-1.484510 +202.194071,-1.507807 +202.194071,-1.507807 +202.194071,-1.507807 +202.194071,-1.507807 +202.324059,-1.525352 +202.324059,-1.525352 +202.453165,-1.536569 +202.453165,-1.536569 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.853039,-1.545006 +202.853039,-1.545006 +202.982991,-1.547115 +202.982991,-1.547115 +202.982991,-1.547115 +202.982991,-1.547115 +203.113003,-1.549225 +203.113003,-1.549225 +203.242935,-1.551046 +203.242935,-1.551046 +203.372976,-1.552197 +203.372976,-1.552197 +203.372976,-1.552197 +203.372976,-1.552197 +203.512980,-1.554114 +203.512980,-1.554114 +203.644017,-1.555169 +203.644017,-1.555169 +203.773945,-1.556990 +203.773945,-1.556990 +203.773945,-1.556990 +203.773945,-1.556990 +203.902919,-1.558812 +203.902919,-1.558812 +204.032936,-1.559963 +204.032936,-1.559963 +204.164010,-1.562072 +204.164010,-1.562072 +204.164010,-1.562072 +204.164010,-1.562072 +204.303922,-1.563318 +204.303922,-1.563318 +204.433883,-1.564948 +204.433883,-1.564948 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.822926,-1.567920 +204.822926,-1.567920 +204.963880,-1.568783 +204.963880,-1.568783 +204.963880,-1.568783 +204.963880,-1.568783 +205.093919,-1.569358 +205.093919,-1.569358 +205.222890,-1.570317 +205.222890,-1.570317 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.623883,-1.571755 +205.623883,-1.571755 +205.752817,-1.572522 +205.752817,-1.572522 +205.883034,-1.573193 +205.883034,-1.573193 +205.883034,-1.573193 +205.883034,-1.573193 +206.012825,-1.573769 +206.012825,-1.573769 +206.142898,-1.574440 +206.142898,-1.574440 +206.282792,-1.574631 +206.282792,-1.574631 +206.282792,-1.574631 +206.282792,-1.574631 +206.413765,-1.574823 +206.413765,-1.574823 +206.543783,-1.575207 +206.543783,-1.575207 +206.673848,-1.575590 +206.673848,-1.575590 +206.673848,-1.575590 +206.673848,-1.575590 +206.802783,-1.575973 +206.802783,-1.575973 +206.932719,-1.576165 +206.932719,-1.576165 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.202752,-1.576453 +207.202752,-1.576453 +207.333704,-1.576836 +207.333704,-1.576836 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.733694,-1.578658 +207.733694,-1.578658 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +208.123769,-1.572714 +208.123769,-1.572714 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.522647,-1.545677 +208.522647,-1.545677 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.913629,-1.507328 +208.913629,-1.507328 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.312586,-1.496398 +209.312586,-1.496398 +209.443587,-1.494864 +209.443587,-1.494864 +209.572671,-1.493522 +209.572671,-1.493522 +209.572671,-1.493522 +209.572671,-1.493522 +209.713573,-1.492180 +209.713573,-1.492180 +209.843042,-1.491125 +209.843042,-1.491125 +209.973558,-1.490358 +209.973558,-1.490358 +209.973558,-1.490358 +209.973558,-1.490358 +210.102534,-1.489591 +210.102534,-1.489591 +210.233553,-1.488728 +210.233553,-1.488728 +210.363475,-1.487961 +210.363475,-1.487961 +210.495522,-1.486811 +210.495522,-1.486811 +210.495522,-1.486811 +210.495522,-1.486811 +210.632501,-1.485948 +210.632501,-1.485948 +210.762506,-1.485277 +210.762506,-1.485277 +210.894721,-1.484798 +210.894721,-1.484798 +210.894721,-1.484798 +210.894721,-1.484798 +211.023489,-1.484222 +211.023489,-1.484222 +211.162501,-1.484318 +211.162501,-1.484318 +211.292467,-1.483935 +211.292467,-1.483935 +211.292467,-1.483935 +211.292467,-1.483935 +211.423730,-1.483743 +211.423730,-1.483743 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.827420,-1.483264 +211.827420,-1.483264 +211.952434,-1.482688 +211.952434,-1.482688 +211.952434,-1.482688 +211.952434,-1.482688 +212.082512,-1.481825 +212.082512,-1.481825 +212.214415,-1.481346 +212.214415,-1.481346 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.612419,-1.480483 +212.612419,-1.480483 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +213.003295,-1.479908 +213.003295,-1.479908 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.402437,-1.480771 +213.402437,-1.480771 +213.532322,-1.480771 +213.532322,-1.480771 +213.662312,-1.480675 +213.662312,-1.480675 +213.662312,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.933300,-1.481058 +213.933300,-1.481058 +214.062360,-1.481442 +214.062360,-1.481442 +214.193343,-1.481730 +214.193343,-1.481730 +214.193343,-1.481730 +214.193343,-1.481730 +214.322288,-1.481921 +214.322288,-1.481921 +214.466507,-1.482401 +214.466507,-1.482401 +214.592277,-1.482497 +214.592277,-1.482497 +214.592277,-1.482497 +214.592277,-1.482497 +214.723244,-1.483359 +214.723244,-1.483359 +214.852244,-1.484126 +214.852244,-1.484126 +214.982181,-1.484414 +214.982181,-1.484414 +214.982181,-1.484414 +214.982181,-1.484414 +215.128207,-1.485085 +215.128207,-1.485085 +215.128207,-1.485085 +215.128207,-1.485085 +215.382213,-1.484798 +215.382213,-1.484798 +215.382213,-1.484798 +215.382213,-1.484798 +215.513190,-1.484318 +215.513190,-1.484318 +215.513190,-1.484318 +215.513190,-1.484318 +215.782279,-1.484414 +215.782279,-1.484414 +215.782279,-1.484414 +215.782279,-1.484414 +215.912193,-1.484702 +215.912193,-1.484702 +215.912193,-1.484702 +215.912193,-1.484702 +216.172119,-1.485852 +216.172119,-1.485852 +216.302140,-1.485948 +216.302140,-1.485948 +216.302140,-1.485948 +216.302140,-1.485948 +216.432151,-1.485756 +216.432151,-1.485756 +216.573133,-1.485948 +216.573133,-1.485948 +216.703129,-1.486140 +216.703129,-1.486140 +216.703129,-1.486140 +216.703129,-1.486140 +216.833089,-1.486236 +216.833089,-1.486236 +216.963166,-1.486332 +216.963166,-1.486332 +217.093094,-1.486715 +217.093094,-1.486715 +217.093094,-1.486715 +217.093094,-1.486715 +217.232074,-1.486811 +217.232074,-1.486811 +217.363025,-1.487194 +217.363025,-1.487194 +217.492136,-1.487578 +217.492136,-1.487578 +217.492136,-1.487578 +217.492136,-1.487578 +217.623004,-1.487770 +217.623004,-1.487770 +217.753026,-1.487770 +217.753026,-1.487770 +217.883060,-1.487961 +217.883060,-1.487961 +217.883060,-1.487961 +217.883060,-1.487961 +218.023021,-1.487961 +218.023021,-1.487961 +218.152980,-1.487961 +218.152980,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.411977,-1.487674 +218.411977,-1.487674 +218.543091,-1.487674 +218.543091,-1.487674 +218.672950,-1.487961 +218.672950,-1.487961 +218.672950,-1.487961 +218.672950,-1.487961 +218.811920,-1.488633 +218.811920,-1.488633 +218.941965,-1.489304 +218.941965,-1.489304 +219.071934,-1.489687 +219.071934,-1.489687 +219.204007,-1.490166 +219.204007,-1.490166 +219.204007,-1.490166 +219.204007,-1.490166 +219.341938,-1.490358 +219.341938,-1.490358 +219.472950,-1.490646 +219.472950,-1.490646 +219.603438,-1.490933 +219.603438,-1.490933 +219.603438,-1.490933 +219.603438,-1.490933 +219.732914,-1.490933 +219.732914,-1.490933 +219.862900,-1.491029 +219.862900,-1.491029 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.261855,-1.491317 +220.261855,-1.491317 +220.397862,-1.491509 +220.397862,-1.491509 +220.397862,-1.491509 +220.397862,-1.491509 +220.522016,-1.491700 +220.522016,-1.491700 +220.522016,-1.491700 +220.661855,-1.492084 +220.661855,-1.492084 +220.791794,-1.492659 +220.791794,-1.492659 +220.791794,-1.492659 +220.791794,-1.492659 +220.922798,-1.493139 +220.922798,-1.493139 +221.052868,-1.493522 +221.052868,-1.493522 +221.181819,-1.493426 +221.181819,-1.493426 +221.181819,-1.493426 +221.181819,-1.493426 +221.311814,-1.493330 +221.311814,-1.493330 +221.451798,-1.493810 +221.451798,-1.493810 +221.583794,-1.494289 +221.583794,-1.494289 +221.583794,-1.494289 +221.583794,-1.494289 +221.711783,-1.495248 +221.711783,-1.495248 +221.842780,-1.495919 +221.842780,-1.495919 +221.971729,-1.496015 +221.971729,-1.496015 +221.971729,-1.496015 +221.971729,-1.496015 +222.113756,-1.496015 +222.113756,-1.496015 +222.113756,-1.496015 +222.241770,-1.496111 +222.241770,-1.496111 +222.371748,-1.496302 +222.371748,-1.496302 +222.502836,-1.496494 +222.502836,-1.496494 +222.502836,-1.496494 +222.502836,-1.496494 +222.632752,-1.496974 +222.632752,-1.496974 +222.761685,-1.497357 +222.761685,-1.497357 +222.901707,-1.497645 +222.901707,-1.497645 +222.901707,-1.497645 +222.901707,-1.497645 +223.032708,-1.497836 +223.032708,-1.497836 +223.162681,-1.497932 +223.162681,-1.497932 +223.291741,-1.498028 +223.291741,-1.498028 +223.291741,-1.498028 +223.291741,-1.498028 +223.421639,-1.498316 +223.421639,-1.498316 +223.551767,-1.498795 +223.551767,-1.498795 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.952639,-1.499274 +223.952639,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.221609,-1.499370 +224.221609,-1.499370 +224.351618,-1.499466 +224.351618,-1.499466 +224.482630,-1.499466 +224.482630,-1.499466 +224.612667,-1.499562 +224.612667,-1.499562 +224.612667,-1.499562 +224.612667,-1.499562 +224.741618,-1.499658 +224.741618,-1.499658 +224.883567,-1.500041 +224.883567,-1.500041 +225.011565,-1.501480 +225.011565,-1.501480 +225.011565,-1.501480 +225.011565,-1.501480 +225.141635,-1.505602 +225.141635,-1.505602 +225.271609,-1.512026 +225.271609,-1.512026 +225.401531,-1.521517 +225.401531,-1.521517 +225.401531,-1.521517 +225.401531,-1.521517 +225.543519,-1.535802 +225.543519,-1.535802 +225.672544,-1.552868 +225.672544,-1.552868 +225.802525,-1.572426 +225.802525,-1.572426 +225.802525,-1.572426 +225.802525,-1.572426 +225.931510,-1.592943 +225.931510,-1.592943 +226.061556,-1.612981 +226.061556,-1.612981 +226.202451,-1.631676 +226.202451,-1.631676 +226.202451,-1.631676 +226.202451,-1.631676 +226.332496,-1.646537 +226.332496,-1.646537 +226.462447,-1.657179 +226.462447,-1.657179 +226.591459,-1.662835 +226.591459,-1.662835 +226.591459,-1.662835 +226.591459,-1.662835 +226.722395,-1.664657 +226.722395,-1.664657 +226.862465,-1.665903 +226.862465,-1.665903 +226.991496,-1.667533 +226.991496,-1.667533 +226.991496,-1.667533 +226.991496,-1.667533 +227.121570,-1.669259 +227.121570,-1.669259 +227.252420,-1.671080 +227.252420,-1.671080 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.651380,-1.676545 +227.651380,-1.676545 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +228.042369,-1.680188 +228.042369,-1.680188 +228.172358,-1.681243 +228.172358,-1.681243 +228.312615,-1.682202 +228.312615,-1.682202 +228.312615,-1.682202 +228.312615,-1.682202 +228.442433,-1.683160 +228.442433,-1.683160 +228.571615,-1.683736 +228.571615,-1.683736 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.831298,-1.684886 +228.831298,-1.684886 +228.971451,-1.685461 +228.971451,-1.685461 +229.102302,-1.685653 +229.102302,-1.685653 +229.102302,-1.685653 +229.102302,-1.685653 +229.231239,-1.683544 +229.231239,-1.683544 +229.362347,-1.678654 +229.362347,-1.678654 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.761245,-1.642702 +229.761245,-1.642702 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +230.152361,-1.603585 +230.152361,-1.603585 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.552206,-1.596395 +230.552206,-1.596395 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.942430,-1.594573 +230.942430,-1.594573 +231.081135,-1.593902 +231.081135,-1.593902 +231.081135,-1.593902 +231.211174,-1.593039 +231.211174,-1.593039 +231.211174,-1.593039 +231.211174,-1.593039 +231.342956,-1.592847 +231.342956,-1.592847 +231.472263,-1.592272 +231.472263,-1.592272 +231.472263,-1.592272 +231.602147,-1.591889 +231.602147,-1.591889 +231.602147,-1.591889 +231.602147,-1.591889 +231.732141,-1.591601 +231.871079,-1.591026 +231.871079,-1.591026 +232.001901,-1.590642 +232.001901,-1.590642 +232.131049,-1.590546 +232.131049,-1.590546 +232.131049,-1.590546 +232.131049,-1.590546 +232.261108,-1.590546 +232.261108,-1.590546 +232.391100,-1.590259 +232.391100,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.662214,-1.590355 +232.662214,-1.590355 +232.792145,-1.590067 +232.792145,-1.590067 +232.921354,-1.590259 +232.921354,-1.590259 +232.921354,-1.590259 +232.921354,-1.590259 +233.051105,-1.590355 +233.051105,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.452074,-1.590546 +233.452074,-1.590546 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.852002,-1.582685 +233.852002,-1.582685 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +234.241432,-1.563414 +234.241432,-1.563414 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.641927,-1.558620 +234.641927,-1.558620 +234.771947,-1.558716 +234.771947,-1.558716 +234.771947,-1.558716 +234.771947,-1.558716 +235.031918,-1.559004 +235.031918,-1.559004 +235.031918,-1.559004 +235.031918,-1.559004 +235.161886,-1.559100 +235.161886,-1.559100 +235.161886,-1.559100 +235.161886,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.560876,-1.559100 +235.560876,-1.559100 +235.691828,-1.559004 +235.691828,-1.559004 +235.821859,-1.559100 +235.821859,-1.559100 +235.821859,-1.559100 +235.821859,-1.559100 +235.961836,-1.559100 +235.961836,-1.559100 +236.091895,-1.559100 +236.091895,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.351833,-1.559196 +236.351833,-1.559196 +236.481772,-1.559196 +236.481772,-1.559196 +236.623835,-1.559291 +236.623835,-1.559291 +236.623835,-1.559291 +236.623835,-1.559291 +236.751797,-1.559291 +236.881774,-1.559291 +236.881774,-1.559291 +236.881774,-1.559291 +237.010774,-1.559387 +237.010774,-1.559387 +237.010774,-1.559387 +237.010774,-1.559387 +237.140723,-1.559387 +237.140723,-1.559387 +237.280760,-1.559483 +237.280760,-1.559483 +237.280760,-1.559483 +237.411755,-1.559675 +237.411755,-1.559675 +237.411755,-1.559675 +237.411755,-1.559675 +237.540740,-1.559771 +237.540740,-1.559771 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.331722,-1.559963 +238.331722,-1.559963 +238.331722,-1.559963 +238.331722,-1.559963 +238.461679,-1.559867 +238.461679,-1.559867 +238.461679,-1.559867 +238.461679,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.861633,-1.559963 +238.861633,-1.559963 +238.861633,-1.559963 +238.861633,-1.559963 +239.120635,-1.560346 +239.120635,-1.560346 +239.120635,-1.560346 +239.120635,-1.560346 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.651552,-1.560442 +239.651552,-1.560442 +239.651552,-1.560442 +239.781546,-1.560538 +239.781546,-1.560538 +239.781546,-1.560538 +239.911601,-1.560634 +239.911601,-1.560634 +239.911601,-1.560634 +239.911601,-1.560634 +240.050558,-1.560730 +240.050558,-1.560730 +240.181550,-1.560826 +240.181550,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.441519,-1.560730 +240.441519,-1.560730 +240.441519,-1.560730 +240.570713,-1.560826 +240.570713,-1.560826 +240.710529,-1.560921 +240.710529,-1.560921 +240.710529,-1.560921 +240.710529,-1.560921 +240.841496,-1.561017 +240.841496,-1.561017 +240.971515,-1.561113 +240.971515,-1.561113 +241.100488,-1.561017 +241.100488,-1.561017 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.501539,-1.561305 +241.501539,-1.561305 +241.501539,-1.561305 +241.501539,-1.561305 +241.633467,-1.561401 +241.633467,-1.561401 +241.633467,-1.561401 +241.760457,-1.561592 +241.760457,-1.561592 +241.891449,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.290427,-1.561592 +242.290427,-1.561592 +242.420414,-1.561784 +242.420414,-1.561784 +242.420414,-1.561784 +242.420414,-1.561784 +242.550533,-1.561880 +242.550533,-1.561880 +242.680441,-1.561880 +242.680441,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.951341,-1.561880 +242.951341,-1.561880 +243.080827,-1.561976 +243.080827,-1.561976 +243.210396,-1.562072 +243.210396,-1.562072 +243.210396,-1.562072 +243.210396,-1.562072 +243.341359,-1.562168 +243.341359,-1.562168 +243.481357,-1.562264 +243.481357,-1.562264 +243.610345,-1.562168 +243.610345,-1.562168 +243.610345,-1.562168 +243.610345,-1.562168 +243.741338,-1.562072 +243.741338,-1.562072 +243.870323,-1.562072 +243.870323,-1.562072 +244.001337,-1.562168 +244.001337,-1.562168 +244.132351,-1.562359 +244.132351,-1.562359 +244.132351,-1.562359 +244.132351,-1.562359 +244.271312,-1.562551 +244.271312,-1.562551 +244.401306,-1.562551 +244.401306,-1.562551 +244.531338,-1.562455 +244.531338,-1.562455 +244.531338,-1.562455 +244.531338,-1.562455 +244.661305,-1.562359 +244.661305,-1.562359 +244.791265,-1.562359 +244.791265,-1.562359 +244.932269,-1.562455 +244.932269,-1.562455 +244.932269,-1.562455 +244.932269,-1.562455 +245.060247,-1.562647 +245.060247,-1.562647 +245.190247,-1.562743 +245.190247,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.451221,-1.562839 +245.451221,-1.562839 +245.591243,-1.562839 +245.591243,-1.562839 +245.721355,-1.562935 +245.721355,-1.562935 +245.721355,-1.562935 +245.721355,-1.562935 +245.850369,-1.563031 +245.850369,-1.563031 +245.981285,-1.563127 +245.981285,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.241159,-1.563222 +246.241159,-1.563222 +246.380123,-1.563222 +246.380123,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.640149,-1.563414 +246.640149,-1.563414 +246.770121,-1.563318 +246.770121,-1.563318 +246.901248,-1.563414 +246.901248,-1.563414 +246.901248,-1.563414 +246.901248,-1.563414 +247.041098,-1.563318 +247.041098,-1.563318 +247.171123,-1.563318 +247.171123,-1.563318 +247.301098,-1.563414 +247.301098,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.561035,-1.563606 +247.561035,-1.563606 +247.701089,-1.563606 +247.701089,-1.563606 +247.831078,-1.563702 +247.831078,-1.563702 +247.831078,-1.563702 +247.831078,-1.563702 +247.961066,-1.563702 +247.961066,-1.563702 +248.091049,-1.563702 +248.091049,-1.563702 +248.220039,-1.563893 +248.220039,-1.563893 +248.220039,-1.563893 +248.220039,-1.563893 +248.365147,-1.563893 +248.365147,-1.563893 +248.491007,-1.563989 +248.491007,-1.563989 +248.621011,-1.563893 +248.621011,-1.563893 +248.621011,-1.563893 +248.621011,-1.563893 +248.751040,-1.563893 +248.751040,-1.563893 +248.880001,-1.563989 +248.880001,-1.563989 +249.012082,-1.564085 +249.012082,-1.564085 +249.012082,-1.564085 +249.012082,-1.564085 +249.149985,-1.564277 +249.149985,-1.564277 +249.279983,-1.564373 +249.279983,-1.564373 +249.409940,-1.564277 +249.409940,-1.564277 +249.409940,-1.564277 +249.409940,-1.564277 +249.540946,-1.564181 +249.540946,-1.564181 +249.670963,-1.564085 +249.670963,-1.564085 +249.810949,-1.564181 +249.810949,-1.564181 +249.810949,-1.564181 +249.810949,-1.564181 +249.941077,-1.564373 +249.941077,-1.564373 +250.071026,-1.564469 +250.071026,-1.564469 +250.200924,-1.564565 +250.200924,-1.564565 +250.330885,-1.564469 +250.330885,-1.564469 +250.330885,-1.564469 +250.330885,-1.564469 +250.469907,-1.564373 +250.469907,-1.564373 +250.600899,-1.564469 +250.600899,-1.564469 +250.729975,-1.564565 +250.729975,-1.564565 +250.729975,-1.564565 +250.729975,-1.564565 +250.859836,-1.564756 +250.859836,-1.564756 +250.990838,-1.564756 +250.990838,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.259805,-1.564660 +251.259805,-1.564660 +251.390863,-1.564660 +251.390863,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.650851,-1.564852 +251.650851,-1.564852 +251.789834,-1.564852 +251.789834,-1.564852 +251.919824,-1.564948 +251.919824,-1.564948 +251.919824,-1.564948 +251.919824,-1.564948 +252.050809,-1.564948 +252.050809,-1.564948 +252.179806,-1.564948 +252.179806,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.579793,-1.565140 +252.579793,-1.565140 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.970736,-1.564948 +252.970736,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.370886,-1.565140 +253.370886,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.759691,-1.565044 +253.759691,-1.565044 +253.899689,-1.565140 +253.899689,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.159780,-1.565236 +254.159780,-1.565236 +254.290649,-1.565331 +254.290649,-1.565331 +254.420650,-1.565236 +254.420650,-1.565236 +254.420650,-1.565236 +254.420650,-1.565236 +254.549659,-1.565236 +254.549659,-1.565236 +254.690579,-1.565236 +254.690579,-1.565236 +254.820617,-1.565331 +254.820617,-1.565331 +254.820617,-1.565331 +254.820617,-1.565331 +254.950608,-1.565427 +254.950608,-1.565427 +255.079759,-1.565523 +255.079759,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.349591,-1.565427 +255.349591,-1.565427 +255.480634,-1.565427 +255.480634,-1.565427 +255.609634,-1.565523 +255.609634,-1.565523 +255.609634,-1.565523 +255.609634,-1.565523 +255.741135,-1.565619 +255.741135,-1.565619 +255.870521,-1.565811 +255.870521,-1.565811 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.269547,-1.565619 +256.269547,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.670504,-1.565811 +256.670504,-1.565811 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +257.059513,-1.565715 +257.059513,-1.565715 +257.189531,-1.565715 +257.189531,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.459442,-1.565811 +257.459442,-1.565811 +257.589439,-1.565907 +257.589439,-1.565907 +257.720443,-1.566003 +257.720443,-1.566003 +257.720443,-1.566003 +257.720443,-1.566003 +257.849412,-1.566003 +257.849412,-1.566003 +257.980433,-1.566003 +257.980433,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.250510,-1.566003 +258.250510,-1.566003 +258.379370,-1.566098 +258.379370,-1.566098 +258.510371,-1.566098 +258.510371,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.780375,-1.566098 +258.780375,-1.566098 +258.909375,-1.566098 +258.909375,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.959227,-1.566290 +259.959227,-1.566290 +259.959227,-1.566290 +259.959227,-1.566290 +260.230258,-1.566386 +260.230258,-1.566386 +260.230258,-1.566386 +260.230258,-1.566386 +260.359257,-1.566290 +260.359257,-1.566290 +260.490237,-1.566194 +260.490237,-1.566194 +260.620239,-1.566290 +260.620239,-1.566290 +260.620239,-1.566290 +260.620239,-1.566290 +260.749225,-1.566290 +260.749225,-1.566290 +260.889571,-1.566386 +260.889571,-1.566386 +261.019212,-1.566482 +261.019212,-1.566482 +261.019212,-1.566482 +261.019212,-1.566482 +261.150184,-1.566386 +261.150184,-1.566386 +261.279195,-1.566290 +261.279195,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.550155,-1.566386 +261.550155,-1.566386 +261.680167,-1.566482 +261.680167,-1.566482 +261.809129,-1.566578 +261.809129,-1.566578 +261.940157,-1.566674 +261.940157,-1.566674 +261.940157,-1.566674 +262.073148,-1.566386 +262.073148,-1.566386 +262.209123,-1.566386 +262.209123,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.469123,-1.566482 +262.469123,-1.566482 +262.600070,-1.566578 +262.600070,-1.566578 +262.730107,-1.566674 +262.730107,-1.566674 +262.730107,-1.566674 +262.730107,-1.566674 +262.869113,-1.566578 +262.869113,-1.566578 +262.869113,-1.566578 +262.869113,-1.566578 +263.129053,-1.566482 +263.129053,-1.566482 +263.129053,-1.566482 +263.129053,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.520052,-1.566770 +263.520052,-1.566770 +263.520052,-1.566770 +263.520052,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.920092,-1.566674 +263.920092,-1.566674 +263.920092,-1.566674 +263.920092,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.449984,-1.566674 +264.449984,-1.566674 +264.579085,-1.566674 +264.579085,-1.566674 +264.709992,-1.566674 +264.709992,-1.566674 +264.838975,-1.566770 +264.838975,-1.566770 +264.838975,-1.566770 +264.838975,-1.566770 +264.979945,-1.566770 +264.979945,-1.566770 +265.109902,-1.566770 +265.109902,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.369962,-1.566770 +265.369962,-1.566770 +265.499935,-1.566674 +265.499935,-1.566674 +265.638866,-1.566770 +265.638866,-1.566770 +265.638866,-1.566770 +265.638866,-1.566770 +265.769917,-1.566866 +265.769917,-1.566866 +265.899902,-1.566866 +265.899902,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.159966,-1.566866 +266.159966,-1.566866 +266.289958,-1.566770 +266.289958,-1.566770 +266.428856,-1.566866 +266.428856,-1.566866 +266.428856,-1.566866 +266.428856,-1.566866 +266.558852,-1.566961 +266.558852,-1.566961 +266.689846,-1.567057 +266.689846,-1.567057 +266.819806,-1.567153 +266.819806,-1.567153 +266.949938,-1.567057 +266.949938,-1.567057 +266.949938,-1.567057 +266.949938,-1.567057 +267.089822,-1.566866 +267.089822,-1.566866 +267.218813,-1.566961 +267.218813,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.478779,-1.567057 +267.478779,-1.567057 +267.609764,-1.567153 +267.609764,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.878753,-1.567057 +267.878753,-1.567057 +268.008790,-1.567057 +268.008790,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.269753,-1.567057 +268.269753,-1.567057 +268.408690,-1.567249 +268.408690,-1.567249 +268.538721,-1.567345 +268.538721,-1.567345 +268.538721,-1.567345 +268.538721,-1.567345 +268.669765,-1.567249 +268.669765,-1.567249 +268.798708,-1.567249 +268.798708,-1.567249 +268.928697,-1.567153 +268.928697,-1.567153 +268.928697,-1.567153 +268.928697,-1.567153 +269.059646,-1.567249 +269.059646,-1.567249 +269.198738,-1.567441 +269.198738,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.459653,-1.567441 +269.459653,-1.567441 +269.588658,-1.567441 +269.588658,-1.567441 +269.718610,-1.567345 +269.718610,-1.567345 +269.718610,-1.567345 +269.718610,-1.567345 +269.858630,-1.567345 +269.858630,-1.567345 +269.989633,-1.567441 +269.989633,-1.567441 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.379627,-1.567441 +270.379627,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.778679,-1.567441 +270.778679,-1.567441 +270.909526,-1.567537 +270.909526,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.179581,-1.567441 +271.179581,-1.567441 +271.309617,-1.567441 +271.309617,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.568637,-1.567441 +271.568637,-1.567441 +271.698597,-1.567632 +271.698597,-1.567632 +271.828507,-1.567728 +271.828507,-1.567728 +271.828507,-1.567728 +271.828507,-1.567728 +271.969481,-1.567728 +271.969481,-1.567728 +272.098606,-1.567537 +272.098606,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.358485,-1.567632 +272.358485,-1.567632 +272.488465,-1.567728 +272.488465,-1.567728 +272.629457,-1.567920 +272.629457,-1.567920 +272.629457,-1.567920 +272.629457,-1.567920 +272.758410,-1.568016 +272.758410,-1.568016 +272.888435,-1.567824 +272.888435,-1.567824 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.288430,-1.567728 +273.288430,-1.567728 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.678386,-1.568016 +273.678386,-1.568016 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +274.078463,-1.568016 +274.078463,-1.568016 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.469348,-1.568208 +274.469348,-1.568208 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.868256,-1.568112 +274.868256,-1.568112 +274.999727,-1.568112 +274.999727,-1.568112 +275.129278,-1.568208 +275.129278,-1.568208 +275.129278,-1.568208 +275.129278,-1.568208 +275.258283,-1.568304 +275.258283,-1.568304 +275.398235,-1.568304 +275.398235,-1.568304 +275.529268,-1.568208 +275.529268,-1.568208 +275.529268,-1.568208 +275.529268,-1.568208 +275.658730,-1.568304 +275.658730,-1.568304 +275.789242,-1.568208 +275.789242,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +276.059279,-1.568208 +276.059279,-1.568208 +276.189225,-1.568208 +276.189225,-1.568208 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.579222,-1.568304 +276.579222,-1.568304 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.979135,-1.568112 +276.979135,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.368152,-1.568208 +277.368152,-1.568208 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.768139,-1.568304 +277.768139,-1.568304 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +278.168068,-1.568208 +278.168068,-1.568208 +278.299202,-1.568304 +278.299202,-1.568304 +278.299202,-1.568304 +278.299202,-1.568304 +278.559084,-1.568399 +278.559084,-1.568399 +278.559084,-1.568399 +278.559084,-1.568399 +278.688063,-1.568304 +278.688063,-1.568304 +278.829026,-1.568112 +278.829026,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +279.088048,-1.568304 +279.088048,-1.568304 +279.219029,-1.569742 +279.219029,-1.569742 +279.349031,-1.573001 +279.349031,-1.573001 +279.349031,-1.573001 +279.349031,-1.573001 +279.489148,-1.578370 +279.489148,-1.578370 +279.619002,-1.586136 +279.619002,-1.586136 +279.749009,-1.596203 +279.749009,-1.596203 +279.749009,-1.596203 +279.749009,-1.596203 +279.879007,-1.608954 +279.879007,-1.608954 +280.008976,-1.624390 +280.008976,-1.624390 +280.138974,-1.642031 +280.138974,-1.642031 +280.138974,-1.642031 +280.138974,-1.642031 +280.278970,-1.661301 +280.278970,-1.661301 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.668885,-1.722564 +280.668885,-1.722564 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +281.067929,-1.790731 +281.067929,-1.790731 +281.198911,-1.813549 +281.198911,-1.813549 +281.198911,-1.813549 +281.198911,-1.813549 +281.458901,-1.858034 +281.458901,-1.858034 +281.458901,-1.858034 +281.458901,-1.858034 +281.598877,-1.878072 +281.598877,-1.878072 +281.598877,-1.878072 +281.598877,-1.878072 +281.858884,-1.912299 +281.858884,-1.912299 +281.858884,-1.912299 +281.858884,-1.912299 +281.987990,-1.928022 +281.987990,-1.928022 +281.987990,-1.928022 +281.987990,-1.928022 +282.257837,-1.962441 +282.257837,-1.962441 +282.257837,-1.962441 +282.257837,-1.962441 +282.389004,-1.980369 +282.389004,-1.980369 +282.517825,-1.998202 +282.517825,-1.998202 +282.647814,-2.016130 +282.647814,-2.016130 +282.647814,-2.016130 +282.647814,-2.016130 +282.778814,-2.034154 +282.778814,-2.034154 +282.908775,-2.052466 +282.908775,-2.052466 +283.047762,-2.070395 +283.047762,-2.070395 +283.047762,-2.070395 +283.047762,-2.070395 +283.178829,-2.088419 +283.178829,-2.088419 +283.308736,-2.106251 +283.308736,-2.106251 +283.438779,-2.124468 +283.438779,-2.124468 +283.568823,-2.143067 +283.568823,-2.143067 +283.568823,-2.143067 +283.568823,-2.143067 +283.707754,-2.161667 +283.707754,-2.161667 +283.837730,-2.180362 +283.837730,-2.180362 +283.837730,-2.180362 +283.837730,-2.180362 +283.968718,-2.199824 +283.968718,-2.199824 +284.098729,-2.219287 +284.098729,-2.219287 +284.230717,-2.238845 +284.230717,-2.238845 +284.230717,-2.238845 +284.230717,-2.238845 +284.368712,-2.258499 +284.368712,-2.258499 +284.498700,-2.278824 +284.498700,-2.278824 +284.628626,-2.299150 +284.628626,-2.299150 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +285.028651,-2.359358 +285.028651,-2.359358 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.419583,-2.416116 +285.419583,-2.416116 +285.552637,-2.434619 +285.552637,-2.434619 +285.552637,-2.434619 +285.552637,-2.434619 +285.677663,-2.453219 +285.677663,-2.453219 +285.818608,-2.471531 +285.818608,-2.471531 +285.947754,-2.490130 +285.947754,-2.490130 +285.947754,-2.490130 +285.947754,-2.490130 +286.078383,-2.507196 +286.078383,-2.507196 +286.207740,-2.519180 +286.207740,-2.519180 +286.338572,-2.527329 +286.338572,-2.527329 +286.338572,-2.527329 +286.338572,-2.527329 +286.477549,-2.530972 +286.477549,-2.530972 +286.608568,-2.532315 +286.608568,-2.532315 +286.737680,-2.534040 +286.737680,-2.534040 +286.737680,-2.534040 +286.737680,-2.534040 +286.869536,-2.535670 +286.869536,-2.535670 +286.997537,-2.537396 +286.997537,-2.537396 +287.137500,-2.539218 +287.137500,-2.539218 +287.137500,-2.539218 +287.268553,-2.540464 +287.268553,-2.540464 +287.398544,-2.539218 +287.398544,-2.539218 +287.527518,-2.536629 +287.527518,-2.536629 +287.657501,-2.531835 +287.657501,-2.531835 +287.657501,-2.531835 +287.657501,-2.531835 +287.797481,-2.528288 +287.797481,-2.528288 +287.927471,-2.528576 +287.927471,-2.528576 +288.057583,-2.531164 +288.057583,-2.531164 +288.057583,-2.531164 +288.057583,-2.531164 +288.188515,-2.536533 +288.188515,-2.536533 +288.317527,-2.543052 +288.317527,-2.543052 +288.447410,-2.551490 +288.447410,-2.551490 +288.447410,-2.551490 +288.447410,-2.551490 +288.588454,-2.562515 +288.588454,-2.562515 +288.717435,-2.577279 +288.717435,-2.577279 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +289.107490,-2.632023 +289.107490,-2.632023 +289.247614,-2.650335 +289.247614,-2.650335 +289.247614,-2.650335 +289.247614,-2.650335 +289.378396,-2.668743 +289.378396,-2.668743 +289.507375,-2.687343 +289.507375,-2.687343 +289.638529,-2.706038 +289.638529,-2.706038 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.907355,-2.744196 +289.907355,-2.744196 +290.040347,-2.763275 +290.040347,-2.763275 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.298339,-2.802008 +290.298339,-2.802008 +290.427547,-2.820703 +290.427547,-2.820703 +290.569091,-2.839303 +290.569091,-2.839303 +290.569091,-2.839303 +290.569091,-2.839303 +290.699273,-2.857998 +290.699273,-2.857998 +290.828289,-2.876597 +290.828289,-2.876597 +290.958272,-2.895101 +290.958272,-2.895101 +290.958272,-2.895101 +290.958272,-2.895101 +291.087211,-2.913605 +291.087211,-2.913605 +291.217212,-2.932300 +291.217212,-2.932300 +291.357256,-2.950516 +291.357256,-2.950516 +291.357256,-2.950516 +291.357256,-2.950516 +291.488268,-2.965185 +291.488268,-2.965185 +291.618229,-2.975443 +291.618229,-2.975443 +291.748241,-2.981675 +291.748241,-2.981675 +291.748241,-2.981675 +291.748241,-2.981675 +291.877200,-2.983880 +291.877200,-2.983880 +292.017208,-2.985702 +292.017208,-2.985702 +292.148195,-2.988099 +292.148195,-2.988099 +292.148195,-2.988099 +292.148195,-2.988099 +292.278195,-2.990208 +292.278195,-2.990208 +292.408476,-2.992413 +292.408476,-2.992413 +292.538159,-2.994618 +292.538159,-2.994618 +292.538159,-2.994618 +292.538159,-2.994618 +292.677291,-2.998645 +292.677291,-2.998645 +292.808394,-3.005739 +292.808394,-3.005739 +292.938219,-3.017053 +292.938219,-3.017053 +293.067260,-3.033159 +293.067260,-3.033159 +293.067260,-3.033159 +293.067260,-3.033159 +293.197133,-3.052046 +293.197133,-3.052046 +293.327129,-3.072276 +293.327129,-3.072276 +293.327129,-3.072276 +293.327129,-3.072276 +293.468097,-3.092697 +293.468097,-3.092697 +293.598095,-3.112830 +293.598095,-3.112830 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.988088,3.125486 +293.988088,3.125486 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.387061,3.114460 +294.387061,3.114460 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.778033,3.109379 +294.778033,3.109379 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +295.177127,3.106886 +295.177127,3.106886 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.577025,3.103435 +295.577025,3.103435 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.966970,3.101421 +295.966970,3.101421 +295.966970,3.101421 +295.966970,3.101421 +296.097952,3.100655 +296.097952,3.100655 +296.236931,3.099696 +296.236931,3.099696 +296.367007,3.098833 +296.367007,3.098833 +296.367007,3.098833 +296.367007,3.098833 +296.498930,3.097874 +296.498930,3.097874 +296.626935,3.097299 +296.626935,3.097299 +296.757923,3.096819 +296.757923,3.096819 +296.757923,3.096819 +296.757923,3.096819 +296.897912,3.096340 +296.897912,3.096340 +297.026914,3.095765 +297.026914,3.095765 +297.157072,3.095190 +297.157072,3.095190 +297.157072,3.095190 +297.157072,3.095190 +297.287888,3.094327 +297.287888,3.094327 +297.417872,3.093656 +297.417872,3.093656 +297.417872,3.093656 +297.546862,3.093081 +297.546862,3.093081 +297.546862,3.093081 +297.546862,3.093081 +297.686803,3.092409 +297.686803,3.092409 +297.816894,3.091930 +297.816894,3.091930 +297.946842,3.090971 +297.946842,3.090971 +298.076872,3.090875 +298.076872,3.090875 +298.076872,3.090875 +298.076872,3.090875 +298.207196,3.090492 +298.207196,3.090492 +298.207196,3.090492 +298.207196,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.607158,3.090204 +298.607158,3.090204 +298.607158,3.090204 +298.607158,3.090204 +298.867804,3.089437 +298.867804,3.089437 +298.867804,3.089437 +298.867804,3.089437 +299.007767,3.088958 +299.007767,3.088958 +299.007767,3.088958 +299.007767,3.088958 +299.267748,3.087903 +299.267748,3.087903 +299.267748,3.087903 +299.267748,3.087903 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.656729,3.085794 +299.656729,3.085794 +299.656729,3.085794 +299.656729,3.085794 +299.797721,3.085219 +299.797721,3.085219 +299.926705,3.084739 +299.926705,3.084739 +299.926705,3.084739 +300.056692,3.084452 +300.056692,3.084452 +300.056692,3.084452 +300.056692,3.084452 +300.186629,3.084260 +300.186629,3.084260 +300.326626,3.083781 +300.326626,3.083781 +300.326626,3.083781 +300.457682,3.083301 +300.457682,3.083301 +300.457682,3.083301 +300.457682,3.083301 +300.587647,3.082630 +300.587647,3.082630 +300.717647,3.081959 +300.717647,3.081959 +300.847592,3.081192 +300.847592,3.081192 +300.847592,3.081192 +300.847592,3.081192 +300.986737,3.080713 +300.986737,3.080713 +301.117632,3.080425 +301.117632,3.080425 +301.247584,3.080137 +301.247584,3.080137 +301.378854,3.079946 +301.378854,3.079946 +301.378854,3.079946 +301.378854,3.079946 +301.507630,3.080042 +301.507630,3.080042 +301.637595,3.082439 +301.637595,3.082439 +301.776584,3.087136 +301.776584,3.087136 +301.776584,3.087136 +301.776584,3.087136 +301.906557,3.094231 +301.906557,3.094231 +301.906557,3.094231 +302.037602,3.103723 +302.037602,3.103723 +302.166517,3.115227 +302.166517,3.115227 +302.166517,3.115227 +302.166517,3.115227 +302.296502,3.130088 +302.296502,3.130088 +302.296502,3.130088 +302.567521,-3.118967 +302.567521,-3.118967 +302.567521,-3.118967 +302.567521,-3.118967 +302.697728,-3.101230 +302.697728,-3.101230 +302.697728,-3.101230 +302.697728,-3.101230 +302.956549,-3.066619 +302.956549,-3.066619 +302.956549,-3.066619 +302.956549,-3.066619 +303.096509,-3.052046 +303.096509,-3.052046 +303.096509,-3.052046 +303.096509,-3.052046 +303.356450,-3.036707 +303.356450,-3.036707 +303.487453,-3.034693 +303.487453,-3.034693 +303.487453,-3.034693 +303.487453,-3.034693 +303.617460,-3.033255 +303.617460,-3.033255 +303.747436,-3.031338 +303.747436,-3.031338 +303.877439,-3.029708 +303.877439,-3.029708 +303.877439,-3.029708 +303.877439,-3.029708 +304.017849,-3.027886 +304.017849,-3.027886 +304.146499,-3.026448 +304.146499,-3.026448 +304.276380,-3.024339 +304.276380,-3.024339 +304.276380,-3.024339 +304.276380,-3.024339 +304.408696,-3.020312 +304.408696,-3.020312 +304.546392,-3.013314 +304.546392,-3.013314 +304.677390,-3.002672 +304.677390,-3.002672 +304.677390,-3.002672 +304.677390,-3.002672 +304.807333,-2.988099 +304.807333,-2.988099 +304.937549,-2.970458 +304.937549,-2.970458 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.197354,-2.931725 +305.197354,-2.931725 +305.337345,-2.912838 +305.337345,-2.912838 +305.337345,-2.912838 +305.466340,-2.893855 +305.466340,-2.893855 +305.466340,-2.893855 +305.466340,-2.893855 +305.597334,-2.875447 +305.597334,-2.875447 +305.726762,-2.857135 +305.726762,-2.857135 +305.856611,-2.838152 +305.856611,-2.838152 +305.856611,-2.838152 +305.856611,-2.838152 +305.997294,-2.819553 +305.997294,-2.819553 +306.127297,-2.801049 +306.127297,-2.801049 +306.256299,-2.781970 +306.256299,-2.781970 +306.256299,-2.781970 +306.256299,-2.781970 +306.388275,-2.762987 +306.388275,-2.762987 +306.517259,-2.744004 +306.517259,-2.744004 +306.657244,-2.724829 +306.657244,-2.724829 +306.657244,-2.724829 +306.657244,-2.724829 +306.787287,-2.705750 +306.787287,-2.705750 +306.918317,-2.686767 +306.918317,-2.686767 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.317227,-2.629147 +307.317227,-2.629147 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.707214,-2.584949 +307.707214,-2.584949 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +308.107137,-2.575362 +308.107137,-2.575362 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.497310,-2.569514 +308.497310,-2.569514 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.896107,-2.565008 +308.896107,-2.565008 +309.026121,-2.564432 +309.026121,-2.564432 +309.026121,-2.564432 +309.026121,-2.564432 +309.288133,-2.563186 +309.288133,-2.563186 +309.288133,-2.563186 +309.288133,-2.563186 +309.426122,-2.562419 +309.426122,-2.562419 +309.556055,-2.561748 +309.556055,-2.561748 +309.687078,-2.561269 +309.687078,-2.561269 +309.687078,-2.561269 +309.687078,-2.561269 +309.817084,-2.560789 +309.817084,-2.560789 +309.947051,-2.560502 +309.947051,-2.560502 +310.086053,-2.559926 +310.086053,-2.559926 +310.086053,-2.559926 +310.086053,-2.559926 +310.216065,-2.559735 +310.216065,-2.559735 +310.346044,-2.559543 +310.346044,-2.559543 +310.476032,-2.559447 +310.476032,-2.559447 +310.476032,-2.559447 +310.476032,-2.559447 +310.605992,-2.558872 +310.605992,-2.558872 +310.745985,-2.555324 +310.745985,-2.555324 +310.878993,-2.549572 +310.878993,-2.549572 +310.878993,-2.549572 +310.878993,-2.549572 +311.006032,-2.540943 +311.006032,-2.540943 +311.006032,-2.540943 +311.006032,-2.540943 +311.266992,-2.515728 +311.266992,-2.515728 +311.266992,-2.515728 +311.266992,-2.515728 +311.395961,-2.499909 +311.395961,-2.499909 +311.395961,-2.499909 +311.395961,-2.499909 +311.666963,-2.465874 +311.666963,-2.465874 +311.666963,-2.465874 +311.666963,-2.465874 +311.795940,-2.448617 +311.795940,-2.448617 +311.795940,-2.448617 +311.795940,-2.448617 +312.056912,-2.413048 +312.056912,-2.413048 +312.056912,-2.413048 +312.056912,-2.413048 +312.195929,-2.394065 +312.195929,-2.394065 +312.325908,-2.375082 +312.325908,-2.375082 +312.456902,-2.355907 +312.456902,-2.355907 +312.587947,-2.337212 +312.587947,-2.337212 +312.587947,-2.337212 +312.587947,-2.337212 +312.716971,-2.316503 +312.716971,-2.316503 +312.846894,-2.295698 +312.846894,-2.295698 +312.989986,-2.274798 +312.989986,-2.274798 +312.989986,-2.274798 +312.989986,-2.274798 +313.116944,-2.254089 +313.116944,-2.254089 +313.246847,-2.235489 +313.246847,-2.235489 +313.375856,-2.216890 +313.375856,-2.216890 +313.375856,-2.216890 +313.375856,-2.216890 +313.506849,-2.198386 +313.506849,-2.198386 +313.646797,-2.179307 +313.646797,-2.179307 +313.775783,-2.159941 +313.775783,-2.159941 +313.775783,-2.159941 +313.775783,-2.159941 +313.906780,-2.140478 +313.906780,-2.140478 +314.036788,-2.121304 +314.036788,-2.121304 +314.165795,-2.102512 +314.165795,-2.102512 +314.165795,-2.102512 +314.165795,-2.102512 +314.306787,-2.083913 +314.306787,-2.083913 +314.435774,-2.065409 +314.435774,-2.065409 +314.566724,-2.046618 +314.566724,-2.046618 +314.566724,-2.046618 +314.566724,-2.046618 +314.695711,-2.027347 +314.695711,-2.027347 +314.826754,-2.008077 +314.826754,-2.008077 +314.965747,-1.988902 +314.965747,-1.988902 +314.965747,-1.988902 +314.965747,-1.988902 +315.095707,-1.969535 +315.095707,-1.969535 +315.095707,-1.969535 +315.095707,-1.969535 +315.356711,-1.940581 +315.356711,-1.940581 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.756636,-1.933775 +315.756636,-1.933775 +315.886696,-1.937897 +315.886696,-1.937897 +315.886696,-1.937897 +315.886696,-1.937897 +316.015665,-1.944512 +316.015665,-1.944512 +316.146664,-1.951607 +316.146664,-1.951607 +316.276649,-1.960427 +316.276649,-1.960427 +316.276649,-1.960427 +316.276649,-1.960427 +316.415595,-1.969631 +316.415595,-1.969631 +316.546712,-1.976822 +316.546712,-1.976822 +316.683642,-1.982574 +316.683642,-1.982574 +316.683642,-1.982574 +316.683642,-1.982574 +316.805617,-1.984779 +316.805617,-1.984779 +316.946623,-1.983245 +316.946623,-1.983245 +317.076614,-1.979890 +317.076614,-1.979890 +317.076614,-1.979890 +317.076614,-1.979890 +317.205555,-1.974233 +317.205555,-1.974233 +317.335906,-1.967426 +317.335906,-1.967426 +317.465579,-1.959181 +317.465579,-1.959181 +317.595591,-1.948347 +317.595591,-1.948347 +317.595591,-1.948347 +317.595591,-1.948347 +317.736556,-1.934350 +317.736556,-1.934350 +317.865554,-1.916709 +317.865554,-1.916709 +317.996546,-1.897247 +317.996546,-1.897247 +317.996546,-1.897247 +317.996546,-1.897247 +318.127539,-1.876921 +318.127539,-1.876921 +318.255540,-1.855446 +318.255540,-1.855446 +318.396515,-1.834066 +318.396515,-1.834066 +318.396515,-1.834066 +318.396515,-1.834066 +318.526522,-1.812590 +318.526522,-1.812590 +318.656505,-1.790923 +318.656505,-1.790923 +318.786510,-1.770118 +318.786510,-1.770118 +318.786510,-1.770118 +318.786510,-1.770118 +318.915481,-1.752957 +318.915481,-1.752957 +319.045462,-1.740972 +319.045462,-1.740972 +319.186414,-1.734261 +319.186414,-1.734261 +319.186414,-1.734261 +319.186414,-1.734261 +319.316656,-1.732535 +319.316656,-1.732535 +319.446467,-1.732631 +319.446467,-1.732631 +319.576445,-1.732535 +319.576445,-1.732535 +319.576445,-1.732535 +319.576445,-1.732535 +319.705442,-1.732344 +319.705442,-1.732344 +319.846388,-1.732440 +319.846388,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +320.105439,-1.732631 +320.105439,-1.732631 +320.236468,-1.732631 +320.236468,-1.732631 +320.365448,-1.732535 +320.365448,-1.732535 +320.365448,-1.732535 +320.505388,-1.732535 +320.505388,-1.732535 +320.505388,-1.732535 +320.635385,-1.732440 +320.635385,-1.732440 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +321.025362,-1.732919 +321.025362,-1.732919 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.426652,-1.733206 +321.426652,-1.733206 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.816423,-1.720743 +321.816423,-1.720743 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +322.215279,-1.663219 +322.215279,-1.663219 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.615298,-1.610488 +322.615298,-1.610488 +322.745386,-1.603969 +322.745386,-1.603969 +322.875235,-1.602051 +322.875235,-1.602051 +322.875235,-1.602051 +322.875235,-1.602051 +323.006188,-1.601188 +323.006188,-1.601188 +323.136217,-1.599942 +323.136217,-1.599942 +323.276173,-1.598504 +323.276173,-1.598504 +323.276173,-1.598504 +323.276173,-1.598504 +323.406179,-1.597066 +323.406179,-1.597066 +323.536167,-1.595628 +323.536167,-1.595628 +323.666163,-1.594477 +323.666163,-1.594477 +323.795122,-1.593039 +323.795122,-1.593039 +323.795122,-1.593039 +323.795122,-1.593039 +323.935182,-1.591793 +323.935182,-1.591793 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.326146,-1.588629 +324.326146,-1.588629 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.726117,-1.584890 +324.726117,-1.584890 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +325.116064,-1.583548 +325.116064,-1.583548 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.516121,-1.582972 +325.516121,-1.582972 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.905062,-1.583548 +325.905062,-1.583548 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.306007,-1.583452 +326.306007,-1.583452 +326.436256,-1.583260 +326.436256,-1.583260 +326.565996,-1.581822 +326.565996,-1.581822 +326.565996,-1.581822 +326.565996,-1.581822 +326.707003,-1.578562 +326.707003,-1.578562 +326.835979,-1.572522 +326.835979,-1.572522 +326.964982,-1.564469 +326.964982,-1.564469 +327.095964,-1.557853 +327.095964,-1.557853 +327.095964,-1.557853 +327.095964,-1.557853 +327.224957,-1.552580 +327.224957,-1.552580 +327.355956,-1.549704 +327.355956,-1.549704 +327.495889,-1.548841 +327.495889,-1.548841 +327.495889,-1.548841 +327.495889,-1.548841 +327.625930,-1.547595 +327.625930,-1.547595 +327.754905,-1.546348 +327.754905,-1.546348 +327.884921,-1.545006 +327.884921,-1.545006 +327.884921,-1.545006 +327.884921,-1.545006 +328.014932,-1.543568 +328.014932,-1.543568 +328.154856,-1.542322 +328.154856,-1.542322 +328.284896,-1.541459 +328.284896,-1.541459 +328.284896,-1.541459 +328.284896,-1.541459 +328.415872,-1.540404 +328.415872,-1.540404 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.814852,-1.537720 +328.814852,-1.537720 +328.945888,-1.537336 +328.945888,-1.537336 +328.945888,-1.537336 +328.945888,-1.537336 +329.204862,-1.536378 +329.204862,-1.536378 +329.204862,-1.536378 +329.204862,-1.536378 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.606831,-1.534652 +329.606831,-1.534652 +329.606831,-1.534652 +329.606831,-1.534652 +329.737809,-1.534364 +329.737809,-1.534364 +329.737809,-1.534364 +329.737809,-1.534364 +329.994776,-1.533981 +329.994776,-1.533981 +329.994776,-1.533981 +329.994776,-1.533981 +330.124773,-1.533885 +330.124773,-1.533885 +330.124773,-1.533885 +330.124773,-1.533885 +330.394826,-1.533501 +330.394826,-1.533501 +330.394826,-1.533501 +330.394826,-1.533501 +330.525740,-1.533022 +330.525740,-1.533022 +330.654761,-1.532926 +330.654761,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.924679,-1.532830 +330.924679,-1.532830 +331.055718,-1.533022 +331.055718,-1.533022 +331.184704,-1.532830 +331.184704,-1.532830 +331.184704,-1.532830 +331.184704,-1.532830 +331.314735,-1.532734 +331.314735,-1.532734 +331.445667,-1.532830 +331.445667,-1.532830 +331.586330,-1.532734 +331.586330,-1.532734 +331.586330,-1.532734 +331.586330,-1.532734 +331.714738,-1.532639 +331.714738,-1.532639 +331.845654,-1.532639 +331.845654,-1.532639 +331.975648,-1.532447 +331.975648,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.237644,-1.532255 +332.237644,-1.532255 +332.375625,-1.532159 +332.375625,-1.532159 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.765709,-1.532543 +332.765709,-1.532543 +332.765709,-1.532543 +332.765709,-1.532543 +332.894552,-1.532734 +332.894552,-1.532734 +333.038671,-1.534460 +333.038671,-1.534460 +333.165610,-1.538966 +333.165610,-1.538966 +333.294572,-1.546348 +333.294572,-1.546348 +333.294572,-1.546348 +333.294572,-1.546348 +333.425552,-1.557278 +333.425552,-1.557278 +333.555510,-1.571180 +333.555510,-1.571180 +333.684603,-1.587287 +333.684603,-1.587287 +333.684603,-1.587287 +333.684603,-1.587287 +333.824672,-1.605311 +333.824672,-1.605311 +333.954622,-1.623815 +333.954622,-1.623815 +334.084615,-1.641839 +334.084615,-1.641839 +334.084615,-1.641839 +334.084615,-1.641839 +334.214505,-1.656220 +334.214505,-1.656220 +334.344495,-1.666478 +334.344495,-1.666478 +334.484459,-1.672902 +334.484459,-1.672902 +334.484459,-1.672902 +334.484459,-1.672902 +334.614500,-1.675490 +334.614500,-1.675490 +334.745470,-1.677504 +334.745470,-1.677504 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +335.145448,-1.683640 +335.145448,-1.683640 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.535421,-1.681147 +335.535421,-1.681147 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.935403,-1.659671 +335.935403,-1.659671 +336.064372,-1.648166 +336.064372,-1.648166 +336.195729,-1.634265 +336.195729,-1.634265 +336.195729,-1.634265 +336.195729,-1.634265 +336.324379,-1.619021 +336.324379,-1.619021 +336.465377,-1.603106 +336.465377,-1.603106 +336.594352,-1.590259 +336.594352,-1.590259 +336.594352,-1.590259 +336.594352,-1.590259 +336.724288,-1.581438 +336.724288,-1.581438 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +337.125339,-1.573193 +337.125339,-1.573193 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.517380,-1.568495 +337.517380,-1.568495 +337.646287,-1.566961 +337.646287,-1.566961 +337.646287,-1.566961 +337.646287,-1.566961 +337.915400,-1.564373 +337.915400,-1.564373 +337.915400,-1.564373 +337.915400,-1.564373 +338.045264,-1.563127 +338.045264,-1.563127 +338.045264,-1.563127 +338.045264,-1.563127 +338.305256,-1.561497 +338.305256,-1.561497 +338.305256,-1.561497 +338.305256,-1.561497 +338.445264,-1.560730 +338.445264,-1.560730 +338.445264,-1.560730 +338.445264,-1.560730 +338.704220,-1.559483 +338.704220,-1.559483 +338.704220,-1.559483 +338.704220,-1.559483 +338.835182,-1.558908 +338.835182,-1.558908 +338.965238,-1.558429 +338.965238,-1.558429 +339.104201,-1.558045 +339.104201,-1.558045 +339.104201,-1.558045 +339.104201,-1.558045 +339.235132,-1.557853 +339.235132,-1.557853 +339.365126,-1.557566 +339.365126,-1.557566 +339.495165,-1.557374 +339.495165,-1.557374 +339.495165,-1.557374 +339.495165,-1.557374 +339.625155,-1.556895 +339.625155,-1.556895 +339.764117,-1.556703 +339.764117,-1.556703 +339.894109,-1.556415 +339.894109,-1.556415 +339.894109,-1.556415 +339.894109,-1.556415 +340.025084,-1.556032 +340.025084,-1.556032 +340.154120,-1.556128 +340.154120,-1.556128 +340.284124,-1.555936 +340.284124,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.555103,-1.555936 +340.555103,-1.555936 +340.685099,-1.555744 +340.685099,-1.555744 +340.815811,-1.555552 +340.815811,-1.555552 +340.815811,-1.555552 +340.815811,-1.555552 +340.944085,-1.555552 +340.944085,-1.555552 +341.074061,-1.555648 +341.074061,-1.555648 +341.216871,-1.555744 +341.216871,-1.555744 +341.216871,-1.555744 +341.216871,-1.555744 +341.345040,-1.555744 +341.345040,-1.555744 +341.345040,-1.555744 +341.475064,-1.555840 +341.475064,-1.555840 +341.604047,-1.555936 +341.604047,-1.555936 +341.604047,-1.555936 +341.604047,-1.555936 +341.734174,-1.555744 +341.734174,-1.555744 +341.874968,-1.555840 +341.874968,-1.555840 +342.005467,-1.555552 +342.005467,-1.555552 +342.005467,-1.555552 +342.005467,-1.555552 +342.134008,-1.555169 +342.134008,-1.555169 +342.264014,-1.555265 +342.264014,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.533926,-1.555361 +342.533926,-1.555361 +342.664463,-1.555457 +342.664463,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.923939,-1.555265 +342.923939,-1.555265 +343.054935,-1.555169 +343.054935,-1.555169 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.453911,-1.555361 +343.453911,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.844838,-1.555265 +343.844838,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +344.244918,-1.555265 +344.244918,-1.555265 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.647844,-1.555265 +344.647844,-1.555265 +344.774853,-1.555265 +344.774853,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +345.033865,-1.555457 +345.033865,-1.555457 +345.164807,-1.555457 +345.164807,-1.555457 +345.303809,-1.555361 +345.303809,-1.555361 +345.303809,-1.555361 +345.303809,-1.555361 +345.434774,-1.555169 +345.434774,-1.555169 +345.564769,-1.555073 +345.564769,-1.555073 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.824702,-1.555169 +345.824702,-1.555169 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +346.224696,-1.555361 +346.224696,-1.555361 +346.353719,-1.555169 +346.353719,-1.555169 +346.353719,-1.555169 +346.353719,-1.555169 +346.613713,-1.555265 +346.613713,-1.555265 +346.613713,-1.555265 +346.613713,-1.555265 +346.753798,-1.555361 +346.753798,-1.555361 +346.753798,-1.555361 +346.753798,-1.555361 +347.014638,-1.555457 +347.014638,-1.555457 +347.014638,-1.555457 +347.014638,-1.555457 +347.144670,-1.555265 +347.144670,-1.555265 +347.144670,-1.555265 +347.144670,-1.555265 +347.414702,-1.555169 +347.414702,-1.555169 +347.414702,-1.555169 +347.414702,-1.555169 +347.544690,-1.555265 +347.544690,-1.555265 +347.674604,-1.555457 +347.674604,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.934695,-1.555457 +347.934695,-1.555457 +348.074582,-1.555361 +348.074582,-1.555361 +348.204721,-1.555169 +348.204721,-1.555169 +348.204721,-1.555169 +348.204721,-1.555169 +348.334547,-1.555265 +348.334547,-1.555265 +348.464589,-1.555265 +348.464589,-1.555265 +348.593553,-1.555361 +348.593553,-1.555361 +348.593553,-1.555361 +348.593553,-1.555361 +348.734575,-1.555361 +348.734575,-1.555361 +348.863847,-1.555265 +348.863847,-1.555265 +348.994747,-1.555169 +348.994747,-1.555169 +348.994747,-1.555169 +348.994747,-1.555169 +349.124558,-1.555073 +349.124558,-1.555073 +349.254542,-1.555265 +349.254542,-1.555265 +349.254542,-1.555265 +349.393533,-1.555361 +349.393533,-1.555361 +349.393533,-1.555361 +349.393533,-1.555361 +349.523520,-1.555265 +349.523520,-1.555265 +349.654515,-1.555457 +349.654515,-1.555457 +349.654515,-1.555457 +349.654515,-1.555457 +349.913501,-1.555169 +349.913501,-1.555169 +349.913501,-1.555169 +349.913501,-1.555169 +350.043494,-1.555265 +350.043494,-1.555265 +350.043494,-1.555265 +350.043494,-1.555265 +350.313497,-1.555169 +350.313497,-1.555169 +350.313497,-1.555169 +350.313497,-1.555169 +350.443468,-1.555265 +350.443468,-1.555265 +350.443468,-1.555265 +350.443468,-1.555265 +350.704456,-1.555169 +350.704456,-1.555169 +350.704456,-1.555169 +350.704456,-1.555169 +350.843441,-1.555361 +350.843441,-1.555361 +350.843441,-1.555361 +350.843441,-1.555361 +351.103429,-1.555265 +351.103429,-1.555265 +351.103429,-1.555265 +351.103429,-1.555265 +351.234466,-1.555169 +351.234466,-1.555169 +351.364461,-1.555169 +351.364461,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.633416,-1.555265 +351.633416,-1.555265 +351.764362,-1.555457 +351.764362,-1.555457 +351.894398,-1.555457 +351.894398,-1.555457 +352.024538,-1.555361 +352.024538,-1.555361 +352.024538,-1.555361 +352.024538,-1.555361 +352.164333,-1.555169 +352.164333,-1.555169 +352.294347,-1.555169 +352.294347,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.556344,-1.555265 +352.556344,-1.555265 +352.684335,-1.555457 +352.684335,-1.555457 +352.814300,-1.555361 +352.814300,-1.555361 +352.814300,-1.555361 +352.814300,-1.555361 +352.954301,-1.555169 +352.954301,-1.555169 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.345282,-1.555265 +353.345282,-1.555265 +353.474447,-1.555361 +353.474447,-1.555361 +353.615273,-1.555457 +353.615273,-1.555457 +353.615273,-1.555457 +353.615273,-1.555457 +353.746288,-1.555457 +353.746288,-1.555457 +353.874367,-1.555265 +353.874367,-1.555265 +354.008238,-1.555073 +354.008238,-1.555073 +354.008238,-1.555073 +354.008238,-1.555073 +354.140436,-1.555169 +354.140436,-1.555169 +354.270212,-1.555169 +354.270212,-1.555169 +354.402009,-1.555265 +354.402009,-1.555265 +354.531199,-1.555457 +354.531199,-1.555457 +354.531199,-1.555457 +354.531199,-1.555457 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +355.062195,-1.555169 +355.062195,-1.555169 +355.062195,-1.555169 +355.062195,-1.555169 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 diff --git a/NetBeans/rcsjava/SickNav200_NavPlot_yaw.xy b/NetBeans/rcsjava/SickNav200_NavPlot_yaw.xy new file mode 100644 index 0000000..aa4db7e --- /dev/null +++ b/NetBeans/rcsjava/SickNav200_NavPlot_yaw.xy @@ -0,0 +1,7287 @@ +0.000240,-1.550375 +0.260360,-1.550375 +0.260360,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.399282,-1.550375 +0.659287,-1.550567 +0.659287,-1.550567 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +0.789241,-1.550471 +1.060221,-1.550375 +1.060221,-1.550375 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.190375,-1.550471 +1.450196,-1.550759 +1.450196,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.580151,-1.550759 +1.849353,-1.550375 +1.849353,-1.550375 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +1.980160,-1.550471 +2.240244,-1.550567 +2.240244,-1.550567 +2.369123,-1.550663 +2.369123,-1.550663 +2.509575,-1.550567 +2.509575,-1.550567 +2.509575,-1.550567 +2.509575,-1.550567 +2.641182,-1.550375 +2.641182,-1.550375 +2.769093,-1.550471 +2.769093,-1.550471 +2.899095,-1.550567 +2.899095,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.029094,-1.550567 +3.300070,-1.550567 +3.300070,-1.550567 +3.430047,-1.550375 +3.430047,-1.550375 +3.430047,-1.550375 +3.430047,-1.550375 +3.560053,-1.550375 +3.560053,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.690010,-1.550375 +3.959031,-1.550375 +3.959031,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.090069,-1.550375 +4.349960,-1.550279 +4.349960,-1.550279 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.489965,-1.550375 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +4.748978,-1.550663 +5.010306,-1.550471 +5.010306,-1.550471 +5.010306,-1.550471 +5.010306,-1.550471 +5.148913,-1.550279 +5.148913,-1.550279 +5.148913,-1.550279 +5.280140,-1.550184 +5.280140,-1.550184 +5.280140,-1.550184 +5.409917,-1.550471 +5.409917,-1.550471 +5.409917,-1.550471 +5.409917,-1.550471 +5.539902,-1.550567 +5.539902,-1.550567 +5.669923,-1.550567 +5.669923,-1.550567 +5.669923,-1.550567 +5.799911,-1.550471 +5.799911,-1.550471 +5.799911,-1.550471 +5.799911,-1.550471 +5.939887,-1.550375 +5.939887,-1.550375 +6.069892,-1.550375 +6.069892,-1.550375 +6.069892,-1.550375 +6.199826,-1.550471 +6.199826,-1.550471 +6.329822,-1.550567 +6.329822,-1.550567 +6.329822,-1.550567 +6.329822,-1.550567 +6.459881,-1.550567 +6.459881,-1.550567 +6.459881,-1.550567 +6.599832,-1.550471 +6.599832,-1.550471 +6.729862,-1.550279 +6.729862,-1.550279 +6.729862,-1.550279 +6.729862,-1.550279 +6.858850,-1.550471 +6.858850,-1.550471 +6.990113,-1.550567 +6.990113,-1.550567 +7.118765,-1.550663 +7.118765,-1.550663 +7.118765,-1.550663 +7.118765,-1.550663 +7.249781,-1.550759 +7.249781,-1.550759 +7.388812,-1.550663 +7.388812,-1.550663 +7.519761,-1.550471 +7.519761,-1.550471 +7.519761,-1.550471 +7.519761,-1.550471 +7.649722,-1.550375 +7.649722,-1.550375 +7.649722,-1.550375 +7.649722,-1.550375 +7.919766,-1.550471 +7.919766,-1.550471 +7.919766,-1.550471 +7.919766,-1.550471 +8.049756,-1.550567 +8.049756,-1.550567 +8.049756,-1.550567 +8.049756,-1.550567 +8.309733,-1.550471 +8.309733,-1.550471 +8.309733,-1.550471 +8.309733,-1.550471 +8.438732,-1.550279 +8.438732,-1.550279 +8.438732,-1.550279 +8.438732,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.708795,-1.550279 +8.838699,-1.550375 +8.838699,-1.550375 +8.968700,-1.550471 +8.968700,-1.550471 +9.099701,-1.550567 +9.099701,-1.550567 +9.230250,-1.550471 +9.230250,-1.550471 +9.230250,-1.550471 +9.230250,-1.550471 +9.359660,-1.550375 +9.359660,-1.550375 +9.498606,-1.550375 +9.498606,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.628616,-1.550375 +9.758644,-1.550471 +9.758644,-1.550471 +9.888637,-1.550567 +9.888637,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.018642,-1.550567 +10.158617,-1.550567 +10.158617,-1.550567 +10.288609,-1.550471 +10.288609,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.418766,-1.550471 +10.549589,-1.550471 +10.549589,-1.550471 +10.549589,-1.550471 +10.679582,-1.550471 +10.679582,-1.550471 +10.819572,-1.550375 +10.819572,-1.550375 +10.819572,-1.550375 +10.819572,-1.550375 +10.949574,-1.550375 +10.949574,-1.550375 +11.079612,-1.550375 +11.079612,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.208549,-1.550375 +11.338538,-1.550471 +11.338538,-1.550471 +11.478532,-1.550471 +11.478532,-1.550471 +11.609522,-1.550567 +11.609522,-1.550567 +11.609522,-1.550567 +11.609522,-1.550567 +11.739525,-1.550375 +11.739525,-1.550375 +11.739525,-1.550375 +11.739525,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +11.999500,-1.550375 +12.139484,-1.550279 +12.139484,-1.550279 +12.139484,-1.550279 +12.139484,-1.550279 +12.398562,-1.550567 +12.398562,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.529490,-1.550567 +12.658465,-1.550663 +12.658465,-1.550663 +12.798443,-1.550759 +12.798443,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +12.929476,-1.550759 +13.058614,-1.550759 +13.058614,-1.550759 +13.189429,-1.550663 +13.189429,-1.550663 +13.319414,-1.550471 +13.319414,-1.550471 +13.319414,-1.550471 +13.319414,-1.550471 +13.448408,-1.550375 +13.448408,-1.550375 +13.448408,-1.550375 +13.589355,-1.550375 +13.589355,-1.550375 +13.719396,-1.550471 +13.719396,-1.550471 +13.719396,-1.550471 +13.719396,-1.550471 +13.848392,-1.550567 +13.848392,-1.550567 +13.979634,-1.550663 +13.979634,-1.550663 +14.108359,-1.550471 +14.108359,-1.550471 +14.108359,-1.550471 +14.108359,-1.550471 +14.248368,-1.550279 +14.248368,-1.550279 +14.379338,-1.550184 +14.379338,-1.550184 +14.509369,-1.550279 +14.509369,-1.550279 +14.638539,-1.550375 +14.638539,-1.550375 +14.638539,-1.550375 +14.638539,-1.550375 +14.768766,-1.550471 +14.768766,-1.550471 +14.768766,-1.550471 +14.768766,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.038380,-1.550471 +15.169297,-1.550279 +15.169297,-1.550279 +15.299283,-1.550279 +15.299283,-1.550279 +15.428307,-1.550375 +15.428307,-1.550375 +15.428307,-1.550375 +15.428307,-1.550375 +15.560270,-1.550471 +15.560270,-1.550471 +15.699260,-1.550567 +15.699260,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.829254,-1.550567 +15.959245,-1.550471 +15.959245,-1.550471 +16.089242,-1.550375 +16.089242,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.218224,-1.550375 +16.489214,-1.550567 +16.489214,-1.550567 +16.618188,-1.550375 +16.618188,-1.550375 +16.618188,-1.550375 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.748200,-1.550471 +16.878176,-1.550375 +16.878176,-1.550375 +17.019175,-1.550279 +17.019175,-1.550279 +17.148190,-1.550471 +17.148190,-1.550471 +17.148190,-1.550471 +17.148190,-1.550471 +17.279173,-1.550471 +17.279173,-1.550471 +17.409106,-1.550471 +17.409106,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.538267,-1.550471 +17.669133,-1.550279 +17.669133,-1.550279 +17.809199,-1.550375 +17.809199,-1.550375 +17.809199,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +17.940116,-1.550375 +18.068095,-1.550375 +18.068095,-1.550375 +18.198096,-1.550471 +18.198096,-1.550471 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.329206,-1.550279 +18.468161,-1.550279 +18.468161,-1.550279 +18.599269,-1.550279 +18.599269,-1.550279 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.728060,-1.550375 +18.858994,-1.550471 +18.858994,-1.550471 +18.989157,-1.550567 +18.989157,-1.550567 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.128030,-1.550471 +19.259030,-1.550375 +19.259030,-1.550375 +19.388014,-1.550184 +19.388014,-1.550184 +19.388014,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.519007,-1.550184 +19.788018,-1.550471 +19.788018,-1.550471 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +19.917981,-1.550567 +20.177943,-1.550279 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.310901,-1.550184 +20.579024,-1.550375 +20.579024,-1.550375 +20.708877,-1.550567 +20.708877,-1.550567 +20.837916,-1.550663 +20.837916,-1.550663 +20.837916,-1.550663 +20.837916,-1.550663 +20.967892,-1.550471 +20.967892,-1.550471 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.098907,-1.550279 +21.368885,-1.550279 +21.368885,-1.550279 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.497901,-1.550375 +21.757868,-1.550375 +21.757868,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +21.898831,-1.550375 +22.157846,-1.550375 +22.157846,-1.550375 +22.287878,-1.550471 +22.287878,-1.550471 +22.287878,-1.550471 +22.287878,-1.550471 +22.547810,-1.550184 +22.547810,-1.550184 +22.547810,-1.550184 +22.547810,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.688933,-1.550184 +22.947791,-1.550279 +22.947791,-1.550279 +22.947791,-1.550279 +22.947791,-1.550279 +23.077867,-1.550471 +23.077867,-1.550471 +23.208741,-1.550471 +23.208741,-1.550471 +23.347753,-1.550279 +23.347753,-1.550279 +23.347753,-1.550279 +23.347753,-1.550279 +23.477845,-1.550279 +23.477845,-1.550279 +23.607743,-1.550375 +23.607743,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.738729,-1.550375 +23.867837,-1.550567 +23.867837,-1.550567 +24.008672,-1.550567 +24.008672,-1.550567 +24.137697,-1.550375 +24.137697,-1.550375 +24.137697,-1.550375 +24.137697,-1.550375 +24.267774,-1.550184 +24.267774,-1.550184 +24.397684,-1.550279 +24.397684,-1.550279 +24.529688,-1.550375 +24.529688,-1.550375 +24.529688,-1.550375 +24.529688,-1.550375 +24.667765,-1.550471 +24.667765,-1.550471 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +24.797634,-1.550759 +25.058743,-1.550375 +25.058743,-1.550375 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.187636,-1.550184 +25.458580,-1.550375 +25.458580,-1.550375 +25.588624,-1.550567 +25.588624,-1.550567 +25.588624,-1.550567 +25.588624,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.850017,-1.550567 +25.977585,-1.550279 +25.977585,-1.550279 +25.977585,-1.550279 +25.977585,-1.550279 +26.249606,-1.550375 +26.249606,-1.550375 +26.249606,-1.550375 +26.249606,-1.550375 +26.377559,-1.550471 +26.377559,-1.550471 +26.377559,-1.550471 +26.377559,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.637584,-1.550471 +26.777525,-1.550279 +26.777525,-1.550279 +26.777525,-1.550279 +26.777525,-1.550279 +27.037592,-1.550184 +27.037592,-1.550184 +27.037592,-1.550184 +27.037592,-1.550184 +27.167502,-1.550279 +27.167502,-1.550279 +27.297495,-1.550375 +27.297495,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.437517,-1.550375 +27.568473,-1.550471 +27.568473,-1.550471 +27.697503,-1.550471 +27.697503,-1.550471 +27.828465,-1.550279 +27.828465,-1.550279 +27.828465,-1.550279 +27.828465,-1.550279 +27.958449,-1.550279 +27.958449,-1.550279 +28.099345,-1.550279 +28.099345,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.227459,-1.550279 +28.357417,-1.550279 +28.357417,-1.550279 +28.488410,-1.550279 +28.488410,-1.550279 +28.618435,-1.550279 +28.618435,-1.550279 +28.748413,-1.550184 +28.748413,-1.550184 +28.748413,-1.550184 +28.748413,-1.550184 +28.887498,-1.550279 +28.887498,-1.550279 +29.017376,-1.550375 +29.017376,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.148361,-1.550375 +29.277331,-1.550279 +29.277331,-1.550279 +29.277331,-1.550279 +29.277331,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.547350,-1.550279 +29.678348,-1.550279 +29.678348,-1.550279 +29.937329,-1.550567 +29.937329,-1.550567 +29.937329,-1.550567 +29.937329,-1.550567 +30.067271,-1.550471 +30.067271,-1.550471 +30.067271,-1.550471 +30.067271,-1.550471 +30.338312,-1.550471 +30.338312,-1.550471 +30.338312,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.467255,-1.550471 +30.727274,-1.550567 +30.727274,-1.550567 +30.727274,-1.550567 +30.727274,-1.550567 +30.867268,-1.550567 +30.867268,-1.550567 +30.998308,-1.550471 +30.998308,-1.550471 +31.128334,-1.550279 +31.128334,-1.550279 +31.258190,-1.550375 +31.258190,-1.550375 +31.258190,-1.550375 +31.258190,-1.550375 +31.387229,-1.550471 +31.387229,-1.550471 +31.524223,-1.550375 +31.524223,-1.550375 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.657213,-1.550567 +31.787234,-1.550375 +31.787234,-1.550375 +31.917285,-1.550279 +31.917285,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.047148,-1.550279 +32.179326,-1.550375 +32.179326,-1.550375 +32.317208,-1.550471 +32.317208,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.447456,-1.550471 +32.577120,-1.550375 +32.577120,-1.550375 +32.707144,-1.550184 +32.707144,-1.550184 +32.707144,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.838153,-1.550184 +32.977248,-1.550279 +32.977248,-1.550279 +33.107190,-1.550375 +33.107190,-1.550375 +33.107190,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.238097,-1.550375 +33.498129,-1.550279 +33.498129,-1.550279 +33.498129,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.627115,-1.550279 +33.898082,-1.550471 +33.898082,-1.550471 +34.028078,-1.550567 +34.028078,-1.550567 +34.158666,-1.550375 +34.158666,-1.550375 +34.158666,-1.550375 +34.158666,-1.550375 +34.287054,-1.550279 +34.287054,-1.550279 +34.427038,-1.550279 +34.427038,-1.550279 +34.558089,-1.550184 +34.558089,-1.550184 +34.558089,-1.550184 +34.558089,-1.550184 +34.688031,-1.550279 +34.688031,-1.550279 +34.817234,-1.550279 +34.817234,-1.550279 +34.947068,-1.550375 +34.947068,-1.550375 +34.947068,-1.550375 +34.947068,-1.550375 +35.077013,-1.550279 +35.077013,-1.550279 +35.217080,-1.550279 +35.217080,-1.550279 +35.346935,-1.550375 +35.346935,-1.550375 +35.346935,-1.550375 +35.346935,-1.550375 +35.477035,-1.550375 +35.477035,-1.550375 +35.607112,-1.550567 +35.607112,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.736960,-1.550567 +35.877941,-1.550375 +35.877941,-1.550375 +36.007910,-1.550279 +36.007910,-1.550279 +36.137905,-1.550184 +36.137905,-1.550184 +36.137905,-1.550184 +36.137905,-1.550184 +36.266930,-1.550279 +36.266930,-1.550279 +36.397926,-1.550567 +36.397926,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.537937,-1.550567 +36.666844,-1.550567 +36.666844,-1.550567 +36.796888,-1.550279 +36.796888,-1.550279 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +36.926874,-1.549992 +37.196850,-1.550184 +37.196850,-1.550184 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.326848,-1.550375 +37.587823,-1.550375 +37.587823,-1.550375 +37.717807,-1.550184 +37.717807,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.847789,-1.550184 +37.988509,-1.550279 +37.988509,-1.550279 +38.117797,-1.550567 +38.117797,-1.550567 +38.247798,-1.550663 +38.247798,-1.550663 +38.247798,-1.550663 +38.247798,-1.550663 +38.377769,-1.550663 +38.377769,-1.550663 +38.507773,-1.550471 +38.507773,-1.550471 +38.647562,-1.550279 +38.647562,-1.550279 +38.647562,-1.550279 +38.647562,-1.550279 +38.776748,-1.550279 +38.776748,-1.550279 +38.906855,-1.550279 +38.906855,-1.550279 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.036731,-1.550375 +39.166759,-1.550375 +39.166759,-1.550375 +39.308674,-1.550375 +39.308674,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.436702,-1.550375 +39.566697,-1.550279 +39.566697,-1.550279 +39.697671,-1.550279 +39.697671,-1.550279 +39.827675,-1.550471 +39.827675,-1.550471 +39.827675,-1.550471 +39.827675,-1.550471 +39.967681,-1.550471 +39.967681,-1.550471 +40.097783,-1.550375 +40.097783,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.227744,-1.550375 +40.487680,-1.550184 +40.487680,-1.550184 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.616695,-1.550279 +40.886616,-1.550375 +40.886616,-1.550375 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.016708,-1.550279 +41.276543,-1.550375 +41.276543,-1.550375 +41.417580,-1.550375 +41.417580,-1.550375 +41.547766,-1.550471 +41.547766,-1.550471 +41.547766,-1.550471 +41.547766,-1.550471 +41.677766,-1.550279 +41.677766,-1.550279 +41.807754,-1.550184 +41.807754,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +41.937540,-1.550184 +42.076547,-1.550279 +42.076547,-1.550279 +42.207748,-1.550471 +42.207748,-1.550471 +42.337703,-1.550567 +42.337703,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.466734,-1.550567 +42.596511,-1.550279 +42.596511,-1.550279 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.737489,-1.550088 +42.997473,-1.550375 +42.997473,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.127420,-1.550375 +43.396476,-1.550471 +43.396476,-1.550471 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.527434,-1.550279 +43.786379,-1.550471 +43.786379,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +43.917415,-1.550471 +44.186381,-1.550567 +44.186381,-1.550567 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.316382,-1.550471 +44.576370,-1.550375 +44.576370,-1.550375 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.706360,-1.550471 +44.977370,-1.550471 +44.977370,-1.550471 +45.106337,-1.550567 +45.106337,-1.550567 +45.237281,-1.550375 +45.237281,-1.550375 +45.366323,-1.550279 +45.366323,-1.550279 +45.366323,-1.550279 +45.366323,-1.550279 +45.496331,-1.550375 +45.496331,-1.550375 +45.636287,-1.550375 +45.636287,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.766364,-1.550375 +45.897279,-1.550279 +45.897279,-1.550279 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.026529,-1.550184 +46.168243,-1.550184 +46.168243,-1.550184 +46.296251,-1.550088 +46.296251,-1.550088 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.426246,-1.550279 +46.686222,-1.550471 +46.686222,-1.550471 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +46.817231,-1.550279 +47.087194,-1.550375 +47.087194,-1.550375 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.217322,-1.550279 +47.477134,-1.550567 +47.477134,-1.550567 +47.477134,-1.550567 +47.477134,-1.550567 +47.747147,-1.550279 +47.747147,-1.550279 +47.747147,-1.550279 +47.747147,-1.550279 +47.877116,-1.550375 +47.877116,-1.550375 +48.006125,-1.550471 +48.006125,-1.550471 +48.136126,-1.550471 +48.136126,-1.550471 +48.268120,-1.550759 +48.268120,-1.550759 +48.268120,-1.550759 +48.268120,-1.550759 +48.407093,-1.550663 +48.407093,-1.550663 +48.536074,-1.550375 +48.536074,-1.550375 +48.668109,-1.550184 +48.668109,-1.550184 +48.668109,-1.550184 +48.668109,-1.550184 +48.796363,-1.550184 +48.796363,-1.550184 +48.926044,-1.550279 +48.926044,-1.550279 +49.066063,-1.550375 +49.066063,-1.550375 +49.066063,-1.550375 +49.066063,-1.550375 +49.197053,-1.550567 +49.197053,-1.550567 +49.327053,-1.550471 +49.327053,-1.550471 +49.456042,-1.550279 +49.456042,-1.550279 +49.456042,-1.550279 +49.456042,-1.550279 +49.587035,-1.550279 +49.587035,-1.550279 +49.725999,-1.550184 +49.725999,-1.550184 +49.857002,-1.550375 +49.857002,-1.550375 +49.857002,-1.550375 +49.857002,-1.550375 +49.985990,-1.550471 +49.985990,-1.550471 +50.115999,-1.550471 +50.115999,-1.550471 +50.246964,-1.550375 +50.246964,-1.550375 +50.246964,-1.550375 +50.246964,-1.550375 +50.386971,-1.550279 +50.386971,-1.550279 +50.517026,-1.550279 +50.517026,-1.550279 +50.646952,-1.550375 +50.646952,-1.550375 +50.646952,-1.550375 +50.646952,-1.550375 +50.776974,-1.550567 +50.776974,-1.550567 +50.905944,-1.550567 +50.905944,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.035911,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.175925,-1.550567 +51.437904,-1.550567 +51.437904,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.570612,-1.550567 +51.829984,-1.550279 +51.829984,-1.550279 +51.958884,-1.550184 +51.958884,-1.550184 +51.958884,-1.550184 +51.958884,-1.550184 +52.099873,-1.550184 +52.099873,-1.550184 +52.099873,-1.550184 +52.228932,-1.550375 +52.228932,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.360854,-1.550375 +52.490868,-1.550375 +52.490868,-1.550375 +52.490868,-1.550375 +52.622849,-1.550088 +52.622849,-1.550088 +52.753831,-1.550184 +52.753831,-1.550184 +52.753831,-1.550184 +52.753831,-1.550184 +52.883821,-1.550184 +52.883821,-1.550184 +52.883821,-1.550184 +53.023812,-1.550279 +53.023812,-1.550279 +53.152855,-1.550471 +53.152855,-1.550471 +53.152855,-1.550471 +53.152855,-1.550471 +53.282793,-1.550471 +53.282793,-1.550471 +53.413779,-1.550375 +53.413779,-1.550375 +53.543786,-1.550279 +53.543786,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.682737,-1.550279 +53.812766,-1.550471 +53.812766,-1.550471 +53.942775,-1.550567 +53.942775,-1.550567 +54.074123,-1.550663 +54.074123,-1.550663 +54.074123,-1.550663 +54.074123,-1.550663 +54.202739,-1.550567 +54.202739,-1.550567 +54.333700,-1.550375 +54.333700,-1.550375 +54.473783,-1.550184 +54.473783,-1.550184 +54.473783,-1.550184 +54.473783,-1.550184 +54.603711,-1.550279 +54.603711,-1.550279 +54.732743,-1.550471 +54.732743,-1.550471 +54.863732,-1.550663 +54.863732,-1.550663 +54.863732,-1.550663 +54.863732,-1.550663 +54.992723,-1.550663 +54.992723,-1.550663 +55.132681,-1.550471 +55.132681,-1.550471 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.262681,-1.550279 +55.523746,-1.550279 +55.523746,-1.550279 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.652592,-1.550471 +55.922629,-1.550567 +55.922629,-1.550567 +56.052590,-1.550375 +56.052590,-1.550375 +56.183569,-1.550184 +56.183569,-1.550184 +56.183569,-1.550184 +56.183569,-1.550184 +56.312601,-1.550279 +56.312601,-1.550279 +56.457600,-1.550279 +56.457600,-1.550279 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.583584,-1.550375 +56.713581,-1.550471 +56.713581,-1.550471 +56.843563,-1.550471 +56.843563,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +56.973558,-1.550471 +57.102551,-1.550375 +57.102551,-1.550375 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.242544,-1.550471 +57.503520,-1.550471 +57.503520,-1.550471 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.633516,-1.550375 +57.903500,-1.550279 +57.903500,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.033461,-1.550279 +58.293471,-1.550375 +58.293471,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.423511,-1.550375 +58.693450,-1.550184 +58.693450,-1.550184 +58.823442,-1.550279 +58.823442,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +58.953427,-1.550279 +59.083487,-1.550375 +59.083487,-1.550375 +59.223404,-1.550375 +59.223404,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.352412,-1.550375 +59.482480,-1.550184 +59.482480,-1.550184 +59.613386,-1.550279 +59.613386,-1.550279 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +59.743509,-1.550471 +60.013362,-1.550567 +60.013362,-1.550567 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.142324,-1.550663 +60.405353,-1.550088 +60.405353,-1.550088 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.532403,-1.550279 +60.803264,-1.550471 +60.803264,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +60.933255,-1.550471 +61.192252,-1.550088 +61.192252,-1.550088 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.332304,-1.550279 +61.592263,-1.550471 +61.592263,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.722230,-1.550471 +61.982235,-1.550184 +61.982235,-1.550184 +61.982235,-1.550184 +61.982235,-1.550184 +62.123211,-1.550088 +62.123211,-1.550088 +62.123211,-1.550088 +62.123211,-1.550088 +62.383203,-1.550375 +62.383203,-1.550375 +62.383203,-1.550375 +62.383203,-1.550375 +62.513199,-1.550471 +62.513199,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.642230,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.783229,-1.550471 +62.913170,-1.550375 +62.913170,-1.550375 +63.043163,-1.550375 +63.043163,-1.550375 +63.043163,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.173164,-1.550375 +63.303338,-1.550471 +63.303338,-1.550471 +63.443120,-1.550279 +63.443120,-1.550279 +63.443120,-1.550279 +63.573120,-1.550184 +63.573120,-1.550184 +63.573120,-1.550184 +63.573120,-1.550184 +63.702120,-1.550279 +63.702120,-1.550279 +63.833450,-1.550184 +63.833450,-1.550184 +63.833450,-1.550184 +63.963074,-1.550375 +63.963074,-1.550375 +63.963074,-1.550375 +63.963074,-1.550375 +64.102102,-1.550471 +64.102102,-1.550471 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.232038,-1.550375 +64.493106,-1.550184 +64.493106,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.623289,-1.550184 +64.893376,-1.550375 +64.893376,-1.550375 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.023064,-1.550471 +65.282017,-1.550184 +65.282017,-1.550184 +65.282017,-1.550184 +65.282017,-1.550184 +65.413057,-1.550279 +65.413057,-1.550279 +65.413057,-1.550279 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.681993,-1.550567 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +65.811987,-1.550759 +66.071982,-1.550375 +66.071982,-1.550375 +66.071982,-1.550375 +66.071982,-1.550375 +66.212960,-1.550279 +66.212960,-1.550279 +66.343027,-1.550279 +66.343027,-1.550279 +66.343027,-1.550279 +66.473059,-1.550471 +66.473059,-1.550471 +66.473059,-1.550471 +66.473059,-1.550471 +66.603061,-1.550567 +66.603061,-1.550567 +66.731902,-1.550663 +66.731902,-1.550663 +66.872927,-1.550567 +66.872927,-1.550567 +66.872927,-1.550567 +66.872927,-1.550567 +67.003923,-1.550375 +67.003923,-1.550375 +67.131889,-1.550279 +67.131889,-1.550279 +67.131889,-1.550279 +67.261895,-1.550375 +67.261895,-1.550375 +67.261895,-1.550375 +67.261895,-1.550375 +67.392884,-1.550567 +67.392884,-1.550567 +67.522891,-1.550567 +67.522891,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.661871,-1.550567 +67.791873,-1.550471 +67.791873,-1.550471 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +67.922839,-1.550279 +68.182773,-1.550375 +68.182773,-1.550375 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.322799,-1.550471 +68.581905,-1.550375 +68.581905,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.711835,-1.550375 +68.982785,-1.550471 +68.982785,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.112764,-1.550471 +69.371821,-1.550279 +69.371821,-1.550279 +69.371821,-1.550279 +69.371821,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.502711,-1.550279 +69.771741,-1.550184 +69.771741,-1.550184 +69.771741,-1.550184 +69.771741,-1.550184 +69.902759,-1.550375 +69.902759,-1.550375 +70.032696,-1.550375 +70.032696,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.162689,-1.550375 +70.291887,-1.550279 +70.291887,-1.550279 +70.432661,-1.550471 +70.432661,-1.550471 +70.562671,-1.550567 +70.562671,-1.550567 +70.562671,-1.550567 +70.562671,-1.550567 +70.692665,-1.550471 +70.692665,-1.550471 +70.822644,-1.550471 +70.822644,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +70.953676,-1.550471 +71.091639,-1.550279 +71.091639,-1.550279 +71.221632,-1.550375 +71.221632,-1.550375 +71.351565,-1.550471 +71.351565,-1.550471 +71.482585,-1.550567 +71.482585,-1.550567 +71.482585,-1.550567 +71.482585,-1.550567 +71.611618,-1.550663 +71.611618,-1.550663 +71.752622,-1.550567 +71.752622,-1.550567 +71.881579,-1.550279 +71.881579,-1.550279 +71.881579,-1.550279 +71.881579,-1.550279 +72.012723,-1.550088 +72.012723,-1.550088 +72.142589,-1.550184 +72.142589,-1.550184 +72.271693,-1.550279 +72.271693,-1.550279 +72.271693,-1.550279 +72.271693,-1.550279 +72.402552,-1.550375 +72.402552,-1.550375 +72.402552,-1.550375 +72.402552,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.671561,-1.550375 +72.801489,-1.550279 +72.801489,-1.550279 +72.801489,-1.550279 +72.801489,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.062491,-1.550279 +73.202483,-1.550471 +73.202483,-1.550471 +73.202483,-1.550471 +73.202483,-1.550471 +73.461481,-1.550663 +73.461481,-1.550663 +73.461481,-1.550663 +73.461481,-1.550663 +73.591472,-1.550567 +73.591472,-1.550567 +73.722451,-1.550375 +73.722451,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.861422,-1.550375 +73.991419,-1.550471 +73.991419,-1.550471 +74.121420,-1.550471 +74.121420,-1.550471 +74.251481,-1.550663 +74.251481,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.381468,-1.550663 +74.521413,-1.550471 +74.521413,-1.550471 +74.652406,-1.550471 +74.652406,-1.550471 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.782443,-1.550375 +74.912390,-1.550471 +74.912390,-1.550471 +75.042446,-1.550567 +75.042446,-1.550567 +75.182357,-1.550375 +75.182357,-1.550375 +75.182357,-1.550375 +75.182357,-1.550375 +75.312361,-1.550375 +75.312361,-1.550375 +75.442317,-1.550279 +75.442317,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.572342,-1.550279 +75.704357,-1.550279 +75.704357,-1.550279 +75.832364,-1.550279 +75.832364,-1.550279 +75.971329,-1.550471 +75.971329,-1.550471 +75.971329,-1.550471 +75.971329,-1.550471 +76.102306,-1.550184 +76.102306,-1.550184 +76.232311,-1.550279 +76.232311,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.362294,-1.550279 +76.492277,-1.550184 +76.492277,-1.550184 +76.632243,-1.550471 +76.632243,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.762259,-1.550471 +76.892454,-1.550375 +76.892454,-1.550375 +77.022344,-1.550279 +77.022344,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.152252,-1.550279 +77.292211,-1.550279 +77.292211,-1.550279 +77.422306,-1.550471 +77.422306,-1.550471 +77.552232,-1.550567 +77.552232,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.682199,-1.550567 +77.812199,-1.550375 +77.812199,-1.550375 +77.942164,-1.550184 +77.942164,-1.550184 +78.082789,-1.550279 +78.082789,-1.550279 +78.082789,-1.550279 +78.082789,-1.550279 +78.215161,-1.550375 +78.215161,-1.550375 +78.342159,-1.550471 +78.342159,-1.550471 +78.471137,-1.550567 +78.471137,-1.550567 +78.471137,-1.550567 +78.471137,-1.550567 +78.601137,-1.550471 +78.601137,-1.550471 +78.743179,-1.550375 +78.743179,-1.550375 +78.874138,-1.550279 +78.874138,-1.550279 +78.874138,-1.550279 +78.874138,-1.550279 +79.002337,-1.550375 +79.002337,-1.550375 +79.132204,-1.550567 +79.132204,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.261191,-1.550567 +79.402068,-1.550663 +79.402068,-1.550663 +79.532093,-1.550471 +79.532093,-1.550471 +79.661080,-1.550279 +79.661080,-1.550279 +79.661080,-1.550279 +79.661080,-1.550279 +79.792054,-1.550279 +79.792054,-1.550279 +79.921151,-1.550375 +79.921151,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.051051,-1.550375 +80.191043,-1.550471 +80.191043,-1.550471 +80.322027,-1.550375 +80.322027,-1.550375 +80.452041,-1.550279 +80.452041,-1.550279 +80.582027,-1.550375 +80.582027,-1.550375 +80.582027,-1.550375 +80.582027,-1.550375 +80.711051,-1.550471 +80.711051,-1.550471 +80.851027,-1.550471 +80.851027,-1.550471 +80.981971,-1.550279 +80.981971,-1.550279 +80.981971,-1.550279 +80.981971,-1.550279 +81.112099,-1.550279 +81.112099,-1.550279 +81.240974,-1.550184 +81.240974,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.370959,-1.550184 +81.510958,-1.550375 +81.510958,-1.550375 +81.640948,-1.550375 +81.640948,-1.550375 +81.770939,-1.550471 +81.770939,-1.550471 +81.770939,-1.550471 +81.770939,-1.550471 +81.901905,-1.550375 +81.901905,-1.550375 +82.031883,-1.550279 +82.031883,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.171914,-1.550279 +82.302945,-1.550375 +82.302945,-1.550375 +82.432023,-1.550471 +82.432023,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.560931,-1.550471 +82.690833,-1.550375 +82.690833,-1.550375 +82.820860,-1.550279 +82.820860,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +82.960839,-1.550279 +83.090821,-1.550471 +83.090821,-1.550471 +83.220885,-1.550567 +83.220885,-1.550567 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.350840,-1.550663 +83.621836,-1.550279 +83.621836,-1.550279 +83.751748,-1.550088 +83.751748,-1.550088 +83.881806,-1.550184 +83.881806,-1.550184 +83.881806,-1.550184 +83.881806,-1.550184 +84.010775,-1.550375 +84.010775,-1.550375 +84.141770,-1.550471 +84.141770,-1.550471 +84.281770,-1.550567 +84.281770,-1.550567 +84.281770,-1.550567 +84.281770,-1.550567 +84.411756,-1.550567 +84.411756,-1.550567 +84.540714,-1.550279 +84.540714,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.671719,-1.550279 +84.802749,-1.550471 +84.802749,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +84.940848,-1.550471 +85.200697,-1.550567 +85.200697,-1.550567 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.330699,-1.550375 +85.590744,-1.550184 +85.590744,-1.550184 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.730674,-1.550279 +85.990645,-1.550471 +85.990645,-1.550471 +86.121648,-1.550567 +86.121648,-1.550567 +86.121648,-1.550567 +86.121648,-1.550567 +86.391630,-1.550375 +86.391630,-1.550375 +86.391630,-1.550375 +86.391630,-1.550375 +86.520619,-1.550471 +86.520619,-1.550471 +86.520619,-1.550471 +86.520619,-1.550471 +86.780603,-1.550567 +86.780603,-1.550567 +86.780603,-1.550567 +86.780603,-1.550567 +86.911622,-1.550375 +86.911622,-1.550375 +86.911622,-1.550375 +86.911622,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.181596,-1.550375 +87.310653,-1.550279 +87.310653,-1.550279 +87.441564,-1.550471 +87.441564,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.571612,-1.550471 +87.711540,-1.550471 +87.711540,-1.550471 +87.841480,-1.550279 +87.841480,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +87.971506,-1.550279 +88.100520,-1.550279 +88.100520,-1.550279 +88.231557,-1.550375 +88.231557,-1.550375 +88.360502,-1.550471 +88.360502,-1.550471 +88.360502,-1.550471 +88.360502,-1.550471 +88.502460,-1.550567 +88.502460,-1.550567 +88.631512,-1.550471 +88.631512,-1.550471 +88.761500,-1.550279 +88.761500,-1.550279 +88.891473,-1.550375 +88.891473,-1.550375 +88.891473,-1.550375 +88.891473,-1.550375 +89.021468,-1.550471 +89.021468,-1.550471 +89.161520,-1.550471 +89.161520,-1.550471 +89.290467,-1.550663 +89.290467,-1.550663 +89.290467,-1.550663 +89.290467,-1.550663 +89.421451,-1.550663 +89.421451,-1.550663 +89.551439,-1.550375 +89.551439,-1.550375 +89.681501,-1.550471 +89.681501,-1.550471 +89.681501,-1.550471 +89.681501,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +89.821455,-1.550471 +90.081397,-1.550663 +90.081397,-1.550663 +90.081397,-1.550663 +90.081397,-1.550663 +90.211456,-1.550471 +90.211456,-1.550471 +90.211456,-1.550471 +90.211456,-1.550471 +90.470373,-1.550279 +90.470373,-1.550279 +90.470373,-1.550279 +90.470373,-1.550279 +90.611331,-1.550088 +90.611331,-1.550088 +90.611331,-1.550088 +90.611331,-1.550088 +90.871320,-1.543856 +90.871320,-1.543856 +90.871320,-1.543856 +90.871320,-1.543856 +91.001426,-1.537624 +91.001426,-1.537624 +91.131458,-1.531584 +91.131458,-1.531584 +91.276318,-1.527845 +91.276318,-1.527845 +91.276318,-1.527845 +91.276318,-1.527845 +91.402594,-1.524777 +91.402594,-1.524777 +91.531266,-1.521421 +91.531266,-1.521421 +91.660267,-1.514231 +91.660267,-1.514231 +91.790271,-1.503493 +91.790271,-1.503493 +91.790271,-1.503493 +91.790271,-1.503493 +91.930299,-1.489687 +91.930299,-1.489687 +92.060250,-1.474635 +92.060250,-1.474635 +92.190242,-1.458720 +92.190242,-1.458720 +92.190242,-1.458720 +92.190242,-1.458720 +92.321251,-1.442901 +92.321251,-1.442901 +92.451222,-1.430821 +92.451222,-1.430821 +92.590231,-1.422288 +92.590231,-1.422288 +92.590231,-1.422288 +92.590231,-1.422288 +92.721389,-1.417206 +92.721389,-1.417206 +92.850213,-1.415385 +92.850213,-1.415385 +92.980194,-1.413467 +92.980194,-1.413467 +92.980194,-1.413467 +92.980194,-1.413467 +93.110169,-1.410495 +93.110169,-1.410495 +93.240189,-1.404264 +93.240189,-1.404264 +93.381548,-1.394772 +93.381548,-1.394772 +93.381548,-1.394772 +93.381548,-1.394772 +93.510173,-1.381254 +93.510173,-1.381254 +93.510173,-1.381254 +93.510173,-1.381254 +93.771160,-1.346068 +93.771160,-1.346068 +93.771160,-1.346068 +93.771160,-1.346068 +93.910138,-1.325551 +93.910138,-1.325551 +93.910138,-1.325551 +93.910138,-1.325551 +94.170124,-1.285188 +94.170124,-1.285188 +94.170124,-1.285188 +94.170124,-1.285188 +94.301062,-1.265822 +94.301062,-1.265822 +94.301062,-1.265822 +94.301062,-1.265822 +94.561648,-1.228239 +94.561648,-1.228239 +94.561648,-1.228239 +94.561648,-1.228239 +94.700100,-1.208489 +94.700100,-1.208489 +94.700100,-1.208489 +94.700100,-1.208489 +94.960087,-1.169948 +94.960087,-1.169948 +95.091060,-1.151924 +95.091060,-1.151924 +95.091060,-1.151924 +95.091060,-1.151924 +95.220038,-1.134379 +95.220038,-1.134379 +95.360042,-1.116834 +95.360042,-1.116834 +95.490014,-1.098905 +95.490014,-1.098905 +95.490014,-1.098905 +95.490014,-1.098905 +95.619977,-1.080402 +95.619977,-1.080402 +95.749980,-1.061706 +95.749980,-1.061706 +95.881011,-1.043011 +95.881011,-1.043011 +95.881011,-1.043011 +95.881011,-1.043011 +96.020009,-1.024220 +96.020009,-1.024220 +96.150003,-1.005237 +96.150003,-1.005237 +96.280979,-0.986158 +96.280979,-0.986158 +96.280979,-0.986158 +96.280979,-0.986158 +96.410971,-0.967462 +96.410971,-0.967462 +96.541068,-0.948671 +96.541068,-0.948671 +96.681508,-0.929976 +96.681508,-0.929976 +96.681508,-0.929976 +96.681508,-0.929976 +96.811070,-0.911089 +96.811070,-0.911089 +96.940988,-0.892489 +96.940988,-0.892489 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.069937,-0.874177 +97.200922,-0.855769 +97.200922,-0.855769 +97.340095,-0.837266 +97.340095,-0.837266 +97.470882,-0.818283 +97.470882,-0.818283 +97.470882,-0.818283 +97.470882,-0.818283 +97.601935,-0.798916 +97.601935,-0.798916 +97.601935,-0.798916 +97.601935,-0.798916 +97.860892,-0.760279 +97.860892,-0.760279 +97.860892,-0.760279 +97.860892,-0.760279 +97.989886,-0.740625 +97.989886,-0.740625 +97.989886,-0.740625 +97.989886,-0.740625 +98.259871,-0.657311 +98.259871,-0.657311 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.389813,-0.647532 +98.650890,-0.628069 +98.650890,-0.628069 +98.790822,-0.608894 +98.790822,-0.608894 +98.790822,-0.608894 +98.790822,-0.608894 +98.920829,-0.589528 +98.920829,-0.589528 +99.050832,-0.569874 +99.050832,-0.569874 +99.180808,-0.550411 +99.180808,-0.550411 +99.180808,-0.550411 +99.180808,-0.550411 +99.309807,-0.530374 +99.309807,-0.530374 +99.449787,-0.510432 +99.449787,-0.510432 +99.579790,-0.490586 +99.579790,-0.490586 +99.579790,-0.490586 +99.579790,-0.490586 +99.709782,-0.470549 +99.709782,-0.470549 +99.839784,-0.450511 +99.839784,-0.450511 +99.970759,-0.430569 +99.970759,-0.430569 +99.970759,-0.430569 +99.970759,-0.430569 +100.110805,-0.410627 +100.110805,-0.410627 +100.240710,-0.391165 +100.240710,-0.391165 +100.371561,-0.371319 +100.371561,-0.371319 +100.371561,-0.371319 +100.371561,-0.371319 +100.499716,-0.350994 +100.499716,-0.350994 +100.630721,-0.330381 +100.630721,-0.330381 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.769693,-0.310152 +100.900078,-0.291265 +100.900078,-0.291265 +101.029650,-0.272761 +101.029650,-0.272761 +101.162665,-0.254257 +101.162665,-0.254257 +101.290645,-0.235178 +101.290645,-0.235178 +101.290645,-0.235178 +101.290645,-0.235178 +101.420661,-0.215620 +101.420661,-0.215620 +101.560733,-0.196445 +101.560733,-0.196445 +101.690638,-0.177462 +101.690638,-0.177462 +101.690638,-0.177462 +101.690638,-0.177462 +101.821627,-0.158671 +101.821627,-0.158671 +101.949619,-0.139880 +101.949619,-0.139880 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.079611,-0.120513 +102.350599,-0.081493 +102.350599,-0.081493 +102.480698,-0.062222 +102.480698,-0.062222 +102.480698,-0.062222 +102.480698,-0.062222 +102.610730,-0.043431 +102.610730,-0.043431 +102.740715,-0.024831 +102.740715,-0.024831 +102.880556,-0.006136 +102.880556,-0.006136 +102.880556,-0.006136 +102.880556,-0.006136 +103.009514,0.012943 +103.009514,0.012943 +103.139560,0.031351 +103.139560,0.031351 +103.269702,0.050046 +103.269702,0.050046 +103.269702,0.050046 +103.269702,0.050046 +103.399710,0.067783 +103.399710,0.067783 +103.529665,0.081205 +103.529665,0.081205 +103.669505,0.090025 +103.669505,0.090025 +103.669505,0.090025 +103.669505,0.090025 +103.800528,0.094436 +103.800528,0.094436 +103.930676,0.095778 +103.930676,0.095778 +104.060420,0.096737 +104.060420,0.096737 +104.190493,0.098558 +104.190493,0.098558 +104.190493,0.098558 +104.190493,0.098558 +104.330519,0.100476 +104.330519,0.100476 +104.459440,0.102106 +104.459440,0.102106 +104.459440,0.102106 +104.459440,0.102106 +104.589442,0.103831 +104.589442,0.103831 +104.719429,0.105365 +104.719429,0.105365 +104.719429,0.105365 +104.849389,0.106899 +104.849389,0.106899 +104.980381,0.108146 +104.980381,0.108146 +104.980381,0.108146 +104.980381,0.108146 +105.120431,0.109009 +105.120431,0.109009 +105.250393,0.109871 +105.250393,0.109871 +105.380379,0.110542 +105.380379,0.110542 +105.380379,0.110542 +105.380379,0.110542 +105.510388,0.111309 +105.510388,0.111309 +105.639375,0.112364 +105.639375,0.112364 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +105.780353,0.113227 +106.039365,0.114090 +106.039365,0.114090 +106.169365,0.113994 +106.169365,0.113994 +106.169365,0.113994 +106.169365,0.113994 +106.299343,0.112843 +106.299343,0.112843 +106.439326,0.109296 +106.439326,0.109296 +106.569362,0.103352 +106.569362,0.103352 +106.569362,0.103352 +106.569362,0.103352 +106.700277,0.094244 +106.700277,0.094244 +106.830299,0.080726 +106.830299,0.080726 +106.959304,0.065098 +106.959304,0.065098 +106.959304,0.065098 +106.959304,0.065098 +107.100258,0.050238 +107.100258,0.050238 +107.229265,0.038733 +107.229265,0.038733 +107.360420,0.032022 +107.360420,0.032022 +107.489260,0.029433 +107.489260,0.029433 +107.489260,0.029433 +107.489260,0.029433 +107.621501,0.028283 +107.621501,0.028283 +107.621501,0.028283 +107.621501,0.028283 +107.760227,0.026269 +107.760227,0.026269 +107.889214,0.024735 +107.889214,0.024735 +107.889214,0.024735 +107.889214,0.024735 +108.149178,0.022243 +108.149178,0.022243 +108.280215,0.021380 +108.280215,0.021380 +108.280215,0.021380 +108.280215,0.021380 +108.410194,0.020325 +108.410194,0.020325 +108.550153,0.019175 +108.550153,0.019175 +108.550153,0.019175 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.679171,0.018024 +108.809163,0.017161 +108.809163,0.017161 +108.939204,0.016586 +108.939204,0.016586 +109.070146,0.015819 +109.070146,0.015819 +109.070146,0.015819 +109.070146,0.015819 +109.210321,0.015436 +109.210321,0.015436 +109.339099,0.014573 +109.339099,0.014573 +109.469081,0.013422 +109.469081,0.013422 +109.469081,0.013422 +109.469081,0.013422 +109.600117,0.013039 +109.600117,0.013039 +109.729209,0.012080 +109.729209,0.012080 +109.860182,0.011601 +109.860182,0.011601 +109.860182,0.011601 +109.860182,0.011601 +110.000078,0.011217 +110.000078,0.011217 +110.130083,0.010354 +110.130083,0.010354 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.260063,0.009587 +110.389045,0.008820 +110.389045,0.008820 +110.530044,0.008149 +110.530044,0.008149 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.660037,0.007958 +110.919145,0.007574 +110.919145,0.007574 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.050009,0.007286 +111.321084,0.005944 +111.321084,0.005944 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.448980,0.005273 +111.709065,0.003931 +111.709065,0.003931 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +111.848922,0.003260 +112.110036,0.001917 +112.110036,0.001917 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.238994,0.001630 +112.498903,0.001150 +112.498903,0.001150 +112.498903,0.001150 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.640018,0.000671 +112.898881,-0.000575 +112.898881,-0.000575 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.030001,-0.001246 +113.298862,-0.001342 +113.298862,-0.001342 +113.429839,-0.001438 +113.429839,-0.001438 +113.558849,-0.001726 +113.558849,-0.001726 +113.688837,-0.001917 +113.688837,-0.001917 +113.688837,-0.001917 +113.688837,-0.001917 +113.818819,-0.002493 +113.818819,-0.002493 +113.958821,-0.002972 +113.958821,-0.002972 +114.088800,-0.003068 +114.088800,-0.003068 +114.088800,-0.003068 +114.088800,-0.003068 +114.218797,-0.003451 +114.218797,-0.003451 +114.349800,-0.004123 +114.349800,-0.004123 +114.478866,-0.004410 +114.478866,-0.004410 +114.478866,-0.004410 +114.478866,-0.004410 +114.618773,-0.004794 +114.618773,-0.004794 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +114.749773,-0.004890 +115.008767,-0.005177 +115.008767,-0.005177 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.138764,-0.005561 +115.408724,-0.006328 +115.408724,-0.006328 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.538714,-0.006615 +115.798684,-0.006903 +115.798684,-0.006903 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +115.938652,-0.007095 +116.199687,-0.007958 +116.199687,-0.007958 +116.329642,-0.008245 +116.329642,-0.008245 +116.329642,-0.008245 +116.329642,-0.008245 +116.589658,-0.009012 +116.589658,-0.009012 +116.589658,-0.009012 +116.589658,-0.009012 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.728838,-0.009300 +116.988635,-0.004218 +116.988635,-0.004218 +117.119634,0.002205 +117.119634,0.002205 +117.249562,0.011025 +117.249562,0.011025 +117.249562,0.011025 +117.249562,0.011025 +117.389616,0.021380 +117.389616,0.021380 +117.518582,0.034610 +117.518582,0.034610 +117.648595,0.049375 +117.648595,0.049375 +117.778620,0.066345 +117.778620,0.066345 +117.778620,0.066345 +117.778620,0.066345 +117.908574,0.084465 +117.908574,0.084465 +118.053570,0.101914 +118.053570,0.101914 +118.178575,0.120130 +118.178575,0.120130 +118.178575,0.120130 +118.178575,0.120130 +118.309546,0.138442 +118.309546,0.138442 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.439571,0.156754 +118.710673,0.194049 +118.710673,0.194049 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +118.838552,0.212552 +119.099454,0.250039 +119.099454,0.250039 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.228483,0.269405 +119.499441,0.310439 +119.499441,0.310439 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.629463,0.331915 +119.889493,0.374004 +119.889493,0.374004 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.019522,0.393658 +120.289469,0.431911 +120.289469,0.431911 +120.418408,0.451374 +120.418408,0.451374 +120.418408,0.451374 +120.418408,0.451374 +120.678393,0.491449 +120.678393,0.491449 +120.678393,0.491449 +120.678393,0.491449 +120.819370,0.511103 +120.819370,0.511103 +120.950430,0.530278 +120.950430,0.530278 +121.082406,0.549069 +121.082406,0.549069 +121.082406,0.549069 +121.082406,0.549069 +121.208368,0.568148 +121.208368,0.568148 +121.338383,0.587515 +121.338383,0.587515 +121.338383,0.587515 +121.479363,0.607456 +121.479363,0.607456 +121.479363,0.607456 +121.479363,0.607456 +121.608346,0.626823 +121.608346,0.626823 +121.739273,0.645806 +121.739273,0.645806 +121.739273,0.645806 +121.869321,0.664693 +121.869321,0.664693 +121.869321,0.664693 +121.869321,0.664693 +121.999326,0.683293 +121.999326,0.683293 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.129462,0.702180 +122.398244,0.740817 +122.398244,0.740817 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.528284,0.759416 +122.789265,0.784727 +122.789265,0.784727 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +122.929474,0.790863 +123.188174,0.794890 +123.188174,0.794890 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.319263,0.796615 +123.589195,0.799779 +123.589195,0.799779 +123.589195,0.799779 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.718146,0.801601 +123.978179,0.811284 +123.978179,0.811284 +123.978179,0.811284 +123.978179,0.811284 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.109140,0.820584 +124.238160,0.834294 +124.238160,0.834294 +124.238160,0.834294 +124.238160,0.834294 +124.509129,0.869767 +124.509129,0.869767 +124.639132,0.889421 +124.639132,0.889421 +124.639132,0.889421 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.769111,0.908692 +124.898111,0.908692 +124.898111,0.908692 +125.039077,0.986254 +125.039077,0.986254 +125.039077,0.986254 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.168101,0.996033 +125.298114,1.006196 +125.298114,1.006196 +125.429085,1.016070 +125.429085,1.016070 +125.558079,1.035341 +125.558079,1.035341 +125.558079,1.035341 +125.558079,1.035341 +125.698064,1.054132 +125.698064,1.054132 +125.828079,1.072444 +125.828079,1.072444 +125.828079,1.072444 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +125.959114,1.090564 +126.088124,1.109068 +126.088124,1.109068 +126.088124,1.109068 +126.219019,1.127763 +126.219019,1.127763 +126.359001,1.146651 +126.359001,1.146651 +126.359001,1.146651 +126.359001,1.146651 +126.488026,1.165538 +126.488026,1.165538 +126.488026,1.165538 +126.619015,1.184425 +126.619015,1.184425 +126.749111,1.203504 +126.749111,1.203504 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +126.878970,1.222583 +127.148978,1.260740 +127.148978,1.260740 +127.148978,1.260740 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.278963,1.279628 +127.538947,1.317114 +127.538947,1.317114 +127.538947,1.317114 +127.668946,1.336577 +127.668946,1.336577 +127.668946,1.336577 +127.668946,1.336577 +127.808963,1.356135 +127.808963,1.356135 +127.808963,1.356135 +127.939003,1.375597 +127.939003,1.375597 +128.068905,1.394964 +128.068905,1.394964 +128.068905,1.394964 +128.068905,1.394964 +128.198869,1.414330 +128.198869,1.414330 +128.198869,1.414330 +128.328959,1.433793 +128.328959,1.433793 +128.467883,1.453543 +128.467883,1.453543 +128.467883,1.453543 +128.467883,1.453543 +128.597875,1.473005 +128.597875,1.473005 +128.597875,1.473005 +128.597875,1.473005 +128.727896,1.492084 +128.727896,1.492084 +128.858849,1.511067 +128.858849,1.511067 +128.858849,1.511067 +128.858849,1.511067 +128.987816,1.530242 +128.987816,1.530242 +128.987816,1.530242 +129.128845,1.549416 +129.128845,1.549416 +129.257842,1.569071 +129.257842,1.569071 +129.257842,1.569071 +129.257842,1.569071 +129.387843,1.589012 +129.387843,1.589012 +129.518834,1.608954 +129.518834,1.608954 +129.648873,1.628704 +129.648873,1.628704 +129.778039,1.648550 +129.778039,1.648550 +129.778039,1.648550 +129.778039,1.648550 +129.917915,1.664849 +129.917915,1.664849 +130.047779,1.676162 +130.047779,1.676162 +130.177771,1.683352 +130.177771,1.683352 +130.177771,1.683352 +130.177771,1.683352 +130.307762,1.683736 +130.307762,1.683736 +130.438892,1.681147 +130.438892,1.681147 +130.577768,1.676545 +130.577768,1.676545 +130.577768,1.676545 +130.577768,1.676545 +130.708736,1.669834 +130.708736,1.669834 +130.838696,1.663506 +130.838696,1.663506 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +130.967733,1.655741 +131.237700,1.635703 +131.237700,1.635703 +131.368713,1.621609 +131.368713,1.621609 +131.368713,1.621609 +131.368713,1.621609 +131.498654,1.606653 +131.498654,1.606653 +131.627699,1.594381 +131.627699,1.594381 +131.757680,1.585944 +131.757680,1.585944 +131.757680,1.585944 +131.757680,1.585944 +131.897902,1.581342 +131.897902,1.581342 +132.028693,1.579809 +132.028693,1.579809 +132.158659,1.578083 +132.158659,1.578083 +132.158659,1.578083 +132.158659,1.578083 +132.287645,1.576261 +132.287645,1.576261 +132.417620,1.574535 +132.417620,1.574535 +132.548624,1.572906 +132.548624,1.572906 +132.548624,1.572906 +132.548624,1.572906 +132.688609,1.571563 +132.688609,1.571563 +132.817602,1.570029 +132.817602,1.570029 +132.948600,1.568687 +132.948600,1.568687 +133.078590,1.567345 +133.078590,1.567345 +133.078590,1.567345 +133.078590,1.567345 +133.208575,1.566003 +133.208575,1.566003 +133.337566,1.564756 +133.337566,1.564756 +133.337566,1.564756 +133.337566,1.564756 +133.477564,1.563702 +133.477564,1.563702 +133.607559,1.562743 +133.607559,1.562743 +133.738526,1.561401 +133.738526,1.561401 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.868561,1.560442 +133.997511,1.559675 +133.997511,1.559675 +134.140486,1.558908 +134.140486,1.558908 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.267509,1.558333 +134.398510,1.557757 +134.398510,1.557757 +134.528498,1.556990 +134.528498,1.556990 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.658466,1.556128 +134.797435,1.555457 +134.797435,1.555457 +134.929021,1.554594 +134.929021,1.554594 +135.057449,1.553827 +135.057449,1.553827 +135.057449,1.553827 +135.057449,1.553827 +135.187453,1.553347 +135.187453,1.553347 +135.318605,1.552868 +135.318605,1.552868 +135.447373,1.552293 +135.447373,1.552293 +135.447373,1.552293 +135.447373,1.552293 +135.589808,1.551717 +135.589808,1.551717 +135.589808,1.551717 +135.718396,1.551142 +135.718396,1.551142 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +135.848409,1.550567 +136.108478,1.549800 +136.108478,1.549800 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.249362,1.549129 +136.508338,1.547211 +136.508338,1.547211 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.637360,1.546348 +136.911352,1.545486 +136.911352,1.545486 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.037380,1.545198 +137.298460,1.544143 +137.298460,1.544143 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.428333,1.543760 +137.698558,1.543664 +137.698558,1.543664 +137.827259,1.543472 +137.827259,1.543472 +137.958284,1.543089 +137.958284,1.543089 +137.958284,1.543089 +137.958284,1.543089 +138.088461,1.542609 +138.088461,1.542609 +138.227246,1.542226 +138.227246,1.542226 +138.357225,1.541938 +138.357225,1.541938 +138.357225,1.541938 +138.357225,1.541938 +138.487221,1.541747 +138.487221,1.541747 +138.618459,1.541459 +138.618459,1.541459 +138.748222,1.540884 +138.748222,1.540884 +138.748222,1.540884 +138.877161,1.540308 +138.877161,1.540308 +138.877161,1.540308 +138.877161,1.540308 +139.018200,1.539637 +139.018200,1.539637 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.148199,1.538966 +139.408177,1.538487 +139.408177,1.538487 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.538167,1.538295 +139.808136,1.537720 +139.808136,1.537720 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +139.938081,1.537432 +140.197115,1.537049 +140.197115,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.338095,1.537049 +140.597108,1.536090 +140.597108,1.536090 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.728090,1.535802 +140.997197,1.540980 +140.997197,1.540980 +141.127056,1.547211 +141.127056,1.547211 +141.127056,1.547211 +141.127056,1.547211 +141.387019,1.566098 +141.387019,1.566098 +141.387019,1.566098 +141.387019,1.566098 +141.517008,1.578754 +141.517008,1.578754 +141.517008,1.578754 +141.517008,1.578754 +141.787039,1.602626 +141.787039,1.602626 +141.787039,1.602626 +141.787039,1.602626 +141.917000,1.610584 +141.917000,1.610584 +142.047990,1.614323 +142.047990,1.614323 +142.177068,1.615569 +142.177068,1.615569 +142.177068,1.615569 +142.177068,1.615569 +142.306981,1.617103 +142.306981,1.617103 +142.446961,1.618541 +142.446961,1.618541 +142.576992,1.619980 +142.576992,1.619980 +142.576992,1.619980 +142.576992,1.619980 +142.707945,1.621418 +142.707945,1.621418 +142.836935,1.622760 +142.836935,1.622760 +142.966936,1.624006 +142.966936,1.624006 +142.966936,1.624006 +142.966936,1.624006 +143.106866,1.625061 +143.106866,1.625061 +143.237859,1.625924 +143.237859,1.625924 +143.366913,1.626691 +143.366913,1.626691 +143.366913,1.626691 +143.366913,1.626691 +143.496881,1.627266 +143.496881,1.627266 +143.627904,1.627649 +143.627904,1.627649 +143.756878,1.628033 +143.756878,1.628033 +143.756878,1.628033 +143.756878,1.628033 +143.897860,1.628512 +143.897860,1.628512 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.027895,1.628992 +144.287876,1.630238 +144.287876,1.630238 +144.287876,1.630238 +144.287876,1.630238 +144.417832,1.630718 +144.417832,1.630718 +144.417832,1.630718 +144.417832,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.686772,1.630718 +144.820815,1.630526 +144.820815,1.630526 +144.820815,1.630526 +144.820815,1.630526 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.076806,1.630622 +145.216778,1.631005 +145.216778,1.631005 +145.216778,1.631005 +145.216778,1.631005 +145.477770,1.630813 +145.477770,1.630813 +145.477770,1.630813 +145.477770,1.630813 +145.607759,1.630909 +145.607759,1.630909 +145.736745,1.630718 +145.736745,1.630718 +145.867776,1.630909 +145.867776,1.630909 +145.867776,1.630909 +145.867776,1.630909 +146.006817,1.631580 +146.006817,1.631580 +146.137797,1.631964 +146.137797,1.631964 +146.267712,1.632443 +146.267712,1.632443 +146.267712,1.632443 +146.267712,1.632443 +146.397833,1.632635 +146.397833,1.632635 +146.537656,1.632635 +146.537656,1.632635 +146.667737,1.632539 +146.667737,1.632539 +146.667737,1.632539 +146.667737,1.632539 +146.797700,1.632635 +146.797700,1.632635 +146.927675,1.632731 +146.927675,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.057649,1.632731 +147.196663,1.632539 +147.196663,1.632539 +147.327660,1.632251 +147.327660,1.632251 +147.456637,1.632060 +147.456637,1.632060 +147.586630,1.631964 +147.586630,1.631964 +147.586630,1.631964 +147.586630,1.631964 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.717730,1.632060 +147.987585,1.632347 +147.987585,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.117676,1.632347 +148.376679,1.631868 +148.376679,1.631868 +148.376679,1.631868 +148.376679,1.631868 +148.507706,1.631484 +148.507706,1.631484 +148.507706,1.631484 +148.507706,1.631484 +148.777552,1.631005 +148.777552,1.631005 +148.777552,1.631005 +148.777552,1.631005 +148.906512,1.630813 +148.906512,1.630813 +148.906512,1.630813 +148.906512,1.630813 +149.167573,1.630238 +149.167573,1.630238 +149.167573,1.630238 +149.167573,1.630238 +149.307517,1.629855 +149.307517,1.629855 +149.307517,1.629855 +149.307517,1.629855 +149.566488,1.629183 +149.566488,1.629183 +149.566488,1.629183 +149.566488,1.629183 +149.696435,1.628800 +149.696435,1.628800 +149.826495,1.628608 +149.826495,1.628608 +149.966469,1.628321 +149.966469,1.628321 +149.966469,1.628321 +149.966469,1.628321 +150.096489,1.628033 +150.096489,1.628033 +150.226443,1.628033 +150.226443,1.628033 +150.357553,1.627841 +150.357553,1.627841 +150.357553,1.627841 +150.357553,1.627841 +150.486406,1.627554 +150.486406,1.627554 +150.617442,1.627458 +150.617442,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.757426,1.627458 +150.887410,1.627266 +150.887410,1.627266 +151.017413,1.627266 +151.017413,1.627266 +151.146413,1.627266 +151.276493,1.627074 +151.276493,1.627074 +151.276493,1.627074 +151.276493,1.627074 +151.406388,1.626691 +151.406388,1.626691 +151.546360,1.626403 +151.546360,1.626403 +151.546360,1.626403 +151.676362,1.625924 +151.676362,1.625924 +151.676362,1.625924 +151.676362,1.625924 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +151.807575,1.625540 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.077350,1.625253 +152.206338,1.625061 +152.206338,1.625061 +152.206338,1.625061 +152.337390,1.624773 +152.337390,1.624773 +152.467455,1.624390 +152.467455,1.624390 +152.467455,1.624390 +152.467455,1.624390 +152.596751,1.624102 +152.596751,1.624102 +152.727295,1.623910 +152.727295,1.623910 +152.866344,1.623815 +152.866344,1.623815 +152.866344,1.623815 +152.866344,1.623815 +152.997789,1.623910 +152.997789,1.623910 +152.997789,1.623910 +153.126495,1.623623 +153.126495,1.623623 +153.256270,1.623239 +153.256270,1.623239 +153.256270,1.623239 +153.386262,1.622856 +153.386262,1.622856 +153.386262,1.622856 +153.386262,1.622856 +153.526249,1.622281 +153.526249,1.622281 +153.526249,1.622281 +153.656331,1.622281 +153.656331,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.786181,1.622281 +153.917265,1.621993 +153.917265,1.621993 +153.917265,1.621993 +154.046212,1.621993 +154.046212,1.621993 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.187195,1.621514 +154.317293,1.620938 +154.317293,1.620938 +154.447184,1.620651 +154.447184,1.620651 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.577184,1.620267 +154.706212,1.620076 +154.706212,1.620076 +154.836296,1.619596 +154.836296,1.619596 +154.836296,1.619596 +154.976152,1.619117 +154.976152,1.619117 +154.976152,1.619117 +154.976152,1.619117 +155.106145,1.618541 +155.106145,1.618541 +155.236153,1.618158 +155.236153,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.367131,1.618158 +155.496109,1.618158 +155.496109,1.618158 +155.636100,1.618158 +155.636100,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +155.767069,1.618158 +156.026067,1.617775 +156.026067,1.617775 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.157080,1.617391 +156.427684,1.616432 +156.427684,1.616432 +156.557059,1.616145 +156.557059,1.616145 +156.557059,1.616145 +156.557059,1.616145 +156.686022,1.615953 +156.686022,1.615953 +156.816053,1.615474 +156.816053,1.615474 +156.945975,1.615090 +156.945975,1.615090 +156.945975,1.615090 +156.945975,1.615090 +157.089070,1.614515 +157.089070,1.614515 +157.217005,1.614035 +157.217005,1.614035 +157.346979,1.613556 +157.346979,1.613556 +157.476989,1.613268 +157.476989,1.613268 +157.476989,1.613268 +157.476989,1.613268 +157.606916,1.612981 +157.606916,1.612981 +157.747011,1.612693 +157.747011,1.612693 +157.877020,1.612406 +157.877020,1.612406 +157.877020,1.612406 +157.877020,1.612406 +158.005980,1.612214 +158.005980,1.612214 +158.136947,1.611926 +158.136947,1.611926 +158.266949,1.611830 +158.266949,1.611830 +158.266949,1.611830 +158.266949,1.611830 +158.406910,1.611926 +158.406910,1.611926 +158.536894,1.612022 +158.536894,1.612022 +158.665915,1.612118 +158.665915,1.612118 +158.665915,1.612118 +158.665915,1.612118 +158.796947,1.611830 +158.796947,1.611830 +158.926944,1.611255 +158.926944,1.611255 +159.065879,1.610967 +159.065879,1.610967 +159.065879,1.610967 +159.065879,1.610967 +159.195873,1.610488 +159.195873,1.610488 +159.326857,1.610200 +159.326857,1.610200 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.458175,1.609817 +159.726835,1.609050 +159.726835,1.609050 +159.856823,1.608762 +159.856823,1.608762 +159.986818,1.608571 +159.986818,1.608571 +159.986818,1.608571 +159.986818,1.608571 +160.116828,1.608379 +160.116828,1.608379 +160.245774,1.608283 +160.245774,1.608283 +160.375795,1.608187 +160.375795,1.608187 +160.375795,1.608187 +160.375795,1.608187 +160.515781,1.608091 +160.515781,1.608091 +160.645775,1.607995 +160.645775,1.607995 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.776787,1.607899 +160.906858,1.607420 +160.906858,1.607420 +160.906858,1.607420 +161.035756,1.606941 +161.035756,1.606941 +161.176744,1.606461 +161.176744,1.606461 +161.176744,1.606461 +161.176744,1.606461 +161.306849,1.605982 +161.306849,1.605982 +161.435722,1.605503 +161.435722,1.605503 +161.566728,1.605311 +161.566728,1.605311 +161.566728,1.605311 +161.566728,1.605311 +161.695657,1.605023 +161.695657,1.605023 +161.835708,1.604544 +161.835708,1.604544 +161.966716,1.603969 +161.966716,1.603969 +161.966716,1.603969 +161.966716,1.603969 +162.096631,1.603489 +162.096631,1.603489 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.226615,1.602914 +162.485655,1.602243 +162.485655,1.602243 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.626634,1.601955 +162.885662,1.601284 +162.885662,1.601284 +163.016652,1.601284 +163.016652,1.601284 +163.146720,1.600997 +163.146720,1.600997 +163.146720,1.600997 +163.146720,1.600997 +163.286610,1.601093 +163.286610,1.601093 +163.416612,1.600997 +163.416612,1.600997 +163.545542,1.600709 +163.545542,1.600709 +163.676596,1.600325 +163.676596,1.600325 +163.676596,1.600325 +163.676596,1.600325 +163.805580,1.599942 +163.805580,1.599942 +163.945575,1.599558 +163.945575,1.599558 +164.075529,1.599175 +164.075529,1.599175 +164.075529,1.599175 +164.075529,1.599175 +164.206510,1.598887 +164.206510,1.598887 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.336556,1.598600 +164.606519,1.598312 +164.606519,1.598312 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.735605,1.597929 +164.995531,1.597545 +164.995531,1.597545 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.126493,1.596970 +165.386458,1.596011 +165.386458,1.596011 +165.526479,1.595723 +165.526479,1.595723 +165.526479,1.595723 +165.526479,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.785473,1.595723 +165.915451,1.595723 +165.915451,1.595723 +165.915451,1.595723 +165.915451,1.595723 +166.185434,1.595436 +166.185434,1.595436 +166.185434,1.595436 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.316429,1.594956 +166.576413,1.594190 +166.576413,1.594190 +166.576413,1.594190 +166.576413,1.594190 +166.706398,1.594094 +166.706398,1.594094 +166.706398,1.594094 +166.845335,1.593614 +166.845335,1.593614 +166.975365,1.592847 +166.975365,1.592847 +166.975365,1.592847 +166.975365,1.592847 +167.106350,1.592272 +167.106350,1.592272 +167.235342,1.591505 +167.235342,1.591505 +167.366346,1.591217 +167.366346,1.591217 +167.366346,1.591217 +167.366346,1.591217 +167.507096,1.591217 +167.507096,1.591217 +167.636324,1.591026 +167.636324,1.591026 +167.766314,1.590834 +167.766314,1.590834 +167.766314,1.590834 +167.766314,1.590834 +167.895305,1.590930 +167.895305,1.590930 +168.025268,1.590738 +168.025268,1.590738 +168.025268,1.590738 +168.166660,1.590930 +168.166660,1.590930 +168.166660,1.590930 +168.166660,1.590930 +168.296238,1.591026 +168.296238,1.591026 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.425286,1.590738 +168.686264,1.589683 +168.686264,1.589683 +168.826248,1.589204 +168.826248,1.589204 +168.826248,1.589204 +168.826248,1.589204 +169.086389,1.588629 +169.086389,1.588629 +169.086389,1.588629 +169.086389,1.588629 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.215211,1.588533 +169.476187,1.587574 +169.476187,1.587574 +169.476187,1.587574 +169.476187,1.587574 +169.616190,1.586903 +169.616190,1.586903 +169.616190,1.586903 +169.616190,1.586903 +169.876384,1.586232 +169.876384,1.586232 +169.876384,1.586232 +169.876384,1.586232 +170.005305,1.586040 +170.005305,1.586040 +170.005305,1.586040 +170.005305,1.586040 +170.275158,1.585561 +170.275158,1.585561 +170.275158,1.585561 +170.275158,1.585561 +170.406269,1.585369 +170.406269,1.585369 +170.536126,1.585657 +170.536126,1.585657 +170.536126,1.585657 +170.666191,1.585849 +170.666191,1.585849 +170.666191,1.585849 +170.666191,1.585849 +170.806124,1.585944 +170.806124,1.585944 +170.936113,1.586040 +170.936113,1.586040 +170.936113,1.586040 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.066150,1.585657 +171.196105,1.585273 +171.326097,1.585082 +171.326097,1.585082 +171.326097,1.585082 +171.456071,1.584794 +171.456071,1.584794 +171.456071,1.584794 +171.456071,1.584794 +171.595349,1.584602 +171.595349,1.584602 +171.595349,1.584602 +171.725086,1.584314 +171.725086,1.584314 +171.725086,1.584314 +171.856027,1.583835 +171.856027,1.583835 +171.856027,1.583835 +171.856027,1.583835 +171.985098,1.583164 +171.985098,1.583164 +172.116042,1.582589 +172.116042,1.582589 +172.116042,1.582589 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.256068,1.581918 +172.386029,1.581630 +172.386029,1.581630 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.515000,1.581342 +172.774977,1.580480 +172.774977,1.580480 +172.774977,1.580480 +172.774977,1.580480 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +172.915966,1.580288 +173.175099,1.579904 +173.175099,1.579904 +173.175099,1.579904 +173.175099,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.305938,1.579904 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.564927,1.579137 +173.704918,1.578562 +173.704918,1.578562 +173.704918,1.578562 +173.704918,1.578562 +173.964884,1.577508 +173.964884,1.577508 +173.964884,1.577508 +173.964884,1.577508 +174.095904,1.577412 +174.095904,1.577412 +174.095904,1.577412 +174.224876,1.577508 +174.224876,1.577508 +174.224876,1.577508 +174.364853,1.577316 +174.364853,1.577316 +174.364853,1.577316 +174.364853,1.577316 +174.495818,1.576740 +174.495818,1.576740 +174.624849,1.575973 +174.624849,1.575973 +174.624849,1.575973 +174.755916,1.575207 +174.755916,1.575207 +174.755916,1.575207 +174.755916,1.575207 +174.885832,1.574727 +174.885832,1.574727 +174.885832,1.574727 +175.016029,1.574440 +175.016029,1.574440 +175.016029,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.156017,1.574440 +175.285759,1.574248 +175.285759,1.574248 +175.285759,1.574248 +175.415968,1.573960 +175.415968,1.573960 +175.545765,1.573769 +175.545765,1.573769 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.675847,1.573577 +175.814759,1.573481 +175.814759,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +175.944765,1.573481 +176.204741,1.573385 +176.204741,1.573385 +176.204741,1.573385 +176.204741,1.573385 +176.475746,1.572714 +176.475746,1.572714 +176.475746,1.572714 +176.475746,1.572714 +176.604717,1.572522 +176.604717,1.572522 +176.604717,1.572522 +176.604717,1.572522 +176.865694,1.571755 +176.865694,1.571755 +176.865694,1.571755 +176.865694,1.571755 +176.995692,1.571755 +176.995692,1.571755 +176.995692,1.571755 +176.995692,1.571755 +177.264643,1.570509 +177.264643,1.570509 +177.264643,1.570509 +177.264643,1.570509 +177.394671,1.571276 +177.394671,1.571276 +177.394671,1.571276 +177.394671,1.571276 +177.656282,1.578850 +177.656282,1.578850 +177.656282,1.578850 +177.656282,1.578850 +177.785650,1.586040 +177.785650,1.586040 +177.785650,1.586040 +177.785650,1.586040 +178.055630,1.592176 +178.055630,1.592176 +178.055630,1.592176 +178.055630,1.592176 +178.184616,1.589971 +178.184616,1.589971 +178.314610,1.584698 +178.314610,1.584698 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.444576,1.577508 +178.585598,1.569646 +178.585598,1.569646 +178.714633,1.559867 +178.714633,1.559867 +178.844592,1.546540 +178.844592,1.546540 +178.844592,1.546540 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +178.974579,1.530625 +179.104565,1.512409 +179.104565,1.512409 +179.247529,1.492659 +179.247529,1.492659 +179.374549,1.471950 +179.374549,1.471950 +179.374549,1.471950 +179.374549,1.471950 +179.504540,1.451817 +179.504540,1.451817 +179.634536,1.431779 +179.634536,1.431779 +179.765528,1.411838 +179.765528,1.411838 +179.765528,1.411838 +179.765528,1.411838 +179.905516,1.392759 +179.905516,1.392759 +180.035513,1.374063 +180.035513,1.374063 +180.164504,1.355943 +180.164504,1.355943 +180.164504,1.355943 +180.164504,1.355943 +180.294497,1.337535 +180.294497,1.337535 +180.425517,1.319032 +180.425517,1.319032 +180.554473,1.300336 +180.554473,1.300336 +180.554473,1.300336 +180.554473,1.300336 +180.694467,1.281257 +180.694467,1.281257 +180.825444,1.262562 +180.825444,1.262562 +180.954476,1.244058 +180.954476,1.244058 +180.954476,1.244058 +180.954476,1.244058 +181.084406,1.225555 +181.084406,1.225555 +181.214435,1.206668 +181.214435,1.206668 +181.355502,1.187876 +181.355502,1.187876 +181.355502,1.187876 +181.355502,1.187876 +181.485393,1.168989 +181.485393,1.168989 +181.615411,1.150677 +181.615411,1.150677 +181.744382,1.132941 +181.744382,1.132941 +181.744382,1.132941 +181.744382,1.132941 +181.878444,1.115587 +181.878444,1.115587 +182.015426,1.098139 +182.015426,1.098139 +182.145386,1.080210 +182.145386,1.080210 +182.275399,1.062282 +182.275399,1.062282 +182.275399,1.062282 +182.275399,1.062282 +182.404474,1.044066 +182.404474,1.044066 +182.534411,1.025850 +182.534411,1.025850 +182.676354,1.007729 +182.676354,1.007729 +182.676354,1.007729 +182.676354,1.007729 +182.805337,0.989609 +182.805337,0.989609 +182.934638,0.971489 +182.934638,0.971489 +183.065316,0.952986 +183.065316,0.952986 +183.065316,0.952986 +183.065316,0.952986 +183.194619,0.934674 +183.194619,0.934674 +183.325341,0.916170 +183.325341,0.916170 +183.465296,0.897666 +183.465296,0.897666 +183.465296,0.897666 +183.465296,0.897666 +183.594267,0.879354 +183.594267,0.879354 +183.725256,0.861043 +183.725256,0.861043 +183.854343,0.842635 +183.854343,0.842635 +183.854343,0.842635 +183.854343,0.842635 +183.985253,0.824035 +183.985253,0.824035 +184.124245,0.805052 +184.124245,0.805052 +184.255179,0.786453 +184.255179,0.786453 +184.255179,0.786453 +184.255179,0.786453 +184.385221,0.767757 +184.385221,0.767757 +184.516444,0.749350 +184.516444,0.749350 +184.645209,0.731325 +184.645209,0.731325 +184.645209,0.731325 +184.645209,0.731325 +184.784213,0.712918 +184.784213,0.712918 +184.915261,0.694414 +184.915261,0.694414 +185.045129,0.675814 +185.045129,0.675814 +185.175587,0.657215 +185.175587,0.657215 +185.175587,0.657215 +185.175587,0.657215 +185.304156,0.638711 +185.304156,0.638711 +185.445097,0.620208 +185.445097,0.620208 +185.574147,0.601800 +185.574147,0.601800 +185.574147,0.601800 +185.574147,0.601800 +185.704151,0.583296 +185.704151,0.583296 +185.834093,0.564888 +185.834093,0.564888 +185.964122,0.546385 +185.964122,0.546385 +185.964122,0.546385 +185.964122,0.546385 +186.094190,0.528169 +186.094190,0.528169 +186.234149,0.509569 +186.234149,0.509569 +186.364071,0.490778 +186.364071,0.490778 +186.364071,0.490778 +186.494048,0.471891 +186.494048,0.471891 +186.625080,0.452141 +186.625080,0.452141 +186.754066,0.432583 +186.754066,0.432583 +186.754066,0.432583 +186.754066,0.432583 +186.894031,0.412928 +186.894031,0.412928 +187.025008,0.393466 +187.025008,0.393466 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.155063,0.374387 +187.415056,0.335654 +187.415056,0.335654 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.554084,0.315425 +187.815025,0.273432 +187.815025,0.273432 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +187.944989,0.252532 +188.214016,0.211689 +188.214016,0.211689 +188.343967,0.191843 +188.343967,0.191843 +188.474054,0.171614 +188.474054,0.171614 +188.474054,0.171614 +188.474054,0.171614 +188.604969,0.151768 +188.604969,0.151768 +188.734022,0.131826 +188.734022,0.131826 +188.734022,0.131826 +188.734022,0.131826 +188.866061,0.111981 +188.866061,0.111981 +189.003997,0.091943 +189.003997,0.091943 +189.133974,0.072960 +189.133974,0.072960 +189.264899,0.058195 +189.264899,0.058195 +189.264899,0.058195 +189.264899,0.058195 +189.394897,0.051772 +189.394897,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.523908,0.051772 +189.794880,0.060400 +189.794880,0.060400 +189.923861,0.060976 +189.923861,0.060976 +189.923861,0.060976 +189.923861,0.060976 +190.185960,0.060784 +190.185960,0.060784 +190.185960,0.060784 +190.185960,0.060784 +190.314833,0.060688 +190.314833,0.060688 +190.314833,0.060688 +190.314833,0.060688 +190.584808,0.060592 +190.584808,0.060592 +190.584808,0.060592 +190.584808,0.060592 +190.714896,0.060113 +190.714896,0.060113 +190.714896,0.060113 +190.714896,0.060113 +190.984808,0.058867 +190.984808,0.058867 +190.984808,0.058867 +190.984808,0.058867 +191.113794,0.058195 +191.113794,0.058195 +191.113794,0.058195 +191.113794,0.058195 +191.373932,0.050334 +191.373932,0.050334 +191.373932,0.050334 +191.373932,0.050334 +191.503842,0.042568 +191.503842,0.042568 +191.634754,0.031447 +191.634754,0.031447 +191.774740,0.018120 +191.774740,0.018120 +191.774740,0.018120 +191.774740,0.018120 +191.904734,0.001630 +191.904734,0.001630 +192.033708,-0.017161 +192.033708,-0.017161 +192.163700,-0.037103 +192.163700,-0.037103 +192.294709,-0.056661 +192.294709,-0.056661 +192.294709,-0.056661 +192.294709,-0.056661 +192.434693,-0.076028 +192.434693,-0.076028 +192.564690,-0.095682 +192.564690,-0.095682 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.694687,-0.115336 +192.823701,-0.134990 +192.823701,-0.134990 +192.954644,-0.154644 +192.954644,-0.154644 +193.094644,-0.173627 +193.094644,-0.173627 +193.094644,-0.173627 +193.094644,-0.173627 +193.224638,-0.192802 +193.224638,-0.192802 +193.224638,-0.192802 +193.354602,-0.212169 +193.354602,-0.212169 +193.485169,-0.231535 +193.485169,-0.231535 +193.485169,-0.231535 +193.485169,-0.231535 +193.613621,-0.250902 +193.613621,-0.250902 +193.613621,-0.250902 +193.753600,-0.270268 +193.753600,-0.270268 +193.884819,-0.289635 +193.884819,-0.289635 +193.884819,-0.289635 +193.884819,-0.289635 +194.013587,-0.308905 +194.013587,-0.308905 +194.143557,-0.327984 +194.143557,-0.327984 +194.143557,-0.327984 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.274755,-0.347159 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.403512,-0.366238 +194.673551,-0.404204 +194.673551,-0.404204 +194.673551,-0.404204 +194.673551,-0.404204 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +194.804524,-0.422899 +195.063483,-0.460098 +195.063483,-0.460098 +195.063483,-0.460098 +195.063483,-0.460098 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.203508,-0.478506 +195.464510,-0.515705 +195.464510,-0.515705 +195.594499,-0.534496 +195.594499,-0.534496 +195.594499,-0.534496 +195.594499,-0.534496 +195.724445,-0.553096 +195.724445,-0.553096 +195.864549,-0.571504 +195.864549,-0.571504 +195.993462,-0.590103 +195.993462,-0.590103 +195.993462,-0.590103 +195.993462,-0.590103 +196.124461,-0.609182 +196.124461,-0.609182 +196.254465,-0.628549 +196.254465,-0.628549 +196.384433,-0.648490 +196.384433,-0.648490 +196.384433,-0.648490 +196.384433,-0.648490 +196.523499,-0.668528 +196.523499,-0.668528 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.655506,-0.688566 +196.913415,-0.728833 +196.913415,-0.728833 +196.913415,-0.728833 +197.043565,-0.748870 +197.043565,-0.748870 +197.173437,-0.769100 +197.173437,-0.769100 +197.173437,-0.769100 +197.173437,-0.769100 +197.313382,-0.789713 +197.313382,-0.789713 +197.444401,-0.807545 +197.444401,-0.807545 +197.574360,-0.820104 +197.574360,-0.820104 +197.574360,-0.820104 +197.574360,-0.820104 +197.703369,-0.827966 +197.703369,-0.827966 +197.834345,-0.831418 +197.834345,-0.831418 +197.973353,-0.833047 +197.973353,-0.833047 +197.973353,-0.833047 +197.973353,-0.833047 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.104273,-0.835253 +198.364352,-0.846278 +198.364352,-0.846278 +198.364352,-0.846278 +198.364352,-0.846278 +198.494531,-0.858166 +198.494531,-0.858166 +198.494531,-0.858166 +198.494531,-0.858166 +198.763491,-0.894598 +198.763491,-0.894598 +198.763491,-0.894598 +198.763491,-0.894598 +198.894321,-0.914828 +198.894321,-0.914828 +198.894321,-0.914828 +198.894321,-0.914828 +199.153306,-0.955958 +199.153306,-0.955958 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.283240,-0.977242 +199.554242,-1.022590 +199.554242,-1.022590 +199.684249,-1.045312 +199.684249,-1.045312 +199.684249,-1.045312 +199.684249,-1.045312 +199.813285,-1.069185 +199.813285,-1.069185 +199.944576,-1.093728 +199.944576,-1.093728 +200.086477,-1.119902 +200.086477,-1.119902 +200.086477,-1.119902 +200.086477,-1.119902 +200.214188,-1.147801 +200.214188,-1.147801 +200.343185,-1.174742 +200.343185,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.474234,-1.174742 +200.604147,-1.174742 +200.604147,-1.174742 +200.743114,-1.283942 +200.743114,-1.283942 +200.874218,-1.295063 +200.874218,-1.295063 +200.874218,-1.295063 +200.874218,-1.295063 +201.003137,-1.305993 +201.003137,-1.305993 +201.134101,-1.317594 +201.134101,-1.317594 +201.263111,-1.340507 +201.263111,-1.340507 +201.263111,-1.340507 +201.263111,-1.340507 +201.403066,-1.363901 +201.403066,-1.363901 +201.534101,-1.387773 +201.534101,-1.387773 +201.663481,-1.411838 +201.663481,-1.411838 +201.794072,-1.436094 +201.794072,-1.436094 +201.794072,-1.436094 +201.794072,-1.436094 +201.923066,-1.460541 +201.923066,-1.460541 +202.063060,-1.484510 +202.063060,-1.484510 +202.194071,-1.507807 +202.194071,-1.507807 +202.194071,-1.507807 +202.194071,-1.507807 +202.324059,-1.525352 +202.324059,-1.525352 +202.453165,-1.536569 +202.453165,-1.536569 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.583029,-1.542897 +202.853039,-1.545006 +202.853039,-1.545006 +202.982991,-1.547115 +202.982991,-1.547115 +202.982991,-1.547115 +202.982991,-1.547115 +203.113003,-1.549225 +203.113003,-1.549225 +203.242935,-1.551046 +203.242935,-1.551046 +203.372976,-1.552197 +203.372976,-1.552197 +203.372976,-1.552197 +203.372976,-1.552197 +203.512980,-1.554114 +203.512980,-1.554114 +203.644017,-1.555169 +203.644017,-1.555169 +203.773945,-1.556990 +203.773945,-1.556990 +203.773945,-1.556990 +203.773945,-1.556990 +203.902919,-1.558812 +203.902919,-1.558812 +204.032936,-1.559963 +204.032936,-1.559963 +204.164010,-1.562072 +204.164010,-1.562072 +204.164010,-1.562072 +204.164010,-1.562072 +204.303922,-1.563318 +204.303922,-1.563318 +204.433883,-1.564948 +204.433883,-1.564948 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.563870,-1.566290 +204.822926,-1.567920 +204.822926,-1.567920 +204.963880,-1.568783 +204.963880,-1.568783 +204.963880,-1.568783 +204.963880,-1.568783 +205.093919,-1.569358 +205.093919,-1.569358 +205.222890,-1.570317 +205.222890,-1.570317 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.353833,-1.570988 +205.623883,-1.571755 +205.623883,-1.571755 +205.752817,-1.572522 +205.752817,-1.572522 +205.883034,-1.573193 +205.883034,-1.573193 +205.883034,-1.573193 +205.883034,-1.573193 +206.012825,-1.573769 +206.012825,-1.573769 +206.142898,-1.574440 +206.142898,-1.574440 +206.282792,-1.574631 +206.282792,-1.574631 +206.282792,-1.574631 +206.282792,-1.574631 +206.413765,-1.574823 +206.413765,-1.574823 +206.543783,-1.575207 +206.543783,-1.575207 +206.673848,-1.575590 +206.673848,-1.575590 +206.673848,-1.575590 +206.673848,-1.575590 +206.802783,-1.575973 +206.802783,-1.575973 +206.932719,-1.576165 +206.932719,-1.576165 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.073726,-1.576357 +207.202752,-1.576453 +207.202752,-1.576453 +207.333704,-1.576836 +207.333704,-1.576836 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.462716,-1.577412 +207.733694,-1.578658 +207.733694,-1.578658 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +207.863690,-1.578754 +208.123769,-1.572714 +208.123769,-1.572714 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.252660,-1.566098 +208.522647,-1.545677 +208.522647,-1.545677 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.653653,-1.531680 +208.913629,-1.507328 +208.913629,-1.507328 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.052565,-1.500329 +209.312586,-1.496398 +209.312586,-1.496398 +209.443587,-1.494864 +209.443587,-1.494864 +209.572671,-1.493522 +209.572671,-1.493522 +209.572671,-1.493522 +209.572671,-1.493522 +209.713573,-1.492180 +209.713573,-1.492180 +209.843042,-1.491125 +209.843042,-1.491125 +209.973558,-1.490358 +209.973558,-1.490358 +209.973558,-1.490358 +209.973558,-1.490358 +210.102534,-1.489591 +210.102534,-1.489591 +210.233553,-1.488728 +210.233553,-1.488728 +210.363475,-1.487961 +210.363475,-1.487961 +210.495522,-1.486811 +210.495522,-1.486811 +210.495522,-1.486811 +210.495522,-1.486811 +210.632501,-1.485948 +210.632501,-1.485948 +210.762506,-1.485277 +210.762506,-1.485277 +210.894721,-1.484798 +210.894721,-1.484798 +210.894721,-1.484798 +210.894721,-1.484798 +211.023489,-1.484222 +211.023489,-1.484222 +211.162501,-1.484318 +211.162501,-1.484318 +211.292467,-1.483935 +211.292467,-1.483935 +211.292467,-1.483935 +211.292467,-1.483935 +211.423730,-1.483743 +211.423730,-1.483743 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.553652,-1.484126 +211.827420,-1.483264 +211.827420,-1.483264 +211.952434,-1.482688 +211.952434,-1.482688 +211.952434,-1.482688 +211.952434,-1.482688 +212.082512,-1.481825 +212.082512,-1.481825 +212.214415,-1.481346 +212.214415,-1.481346 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.343405,-1.480771 +212.612419,-1.480483 +212.612419,-1.480483 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +212.742497,-1.480291 +213.003295,-1.479908 +213.003295,-1.479908 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.132348,-1.480004 +213.402437,-1.480771 +213.402437,-1.480771 +213.532322,-1.480771 +213.532322,-1.480771 +213.662312,-1.480675 +213.662312,-1.480675 +213.662312,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.794076,-1.480675 +213.933300,-1.481058 +213.933300,-1.481058 +214.062360,-1.481442 +214.062360,-1.481442 +214.193343,-1.481730 +214.193343,-1.481730 +214.193343,-1.481730 +214.193343,-1.481730 +214.322288,-1.481921 +214.322288,-1.481921 +214.466507,-1.482401 +214.466507,-1.482401 +214.592277,-1.482497 +214.592277,-1.482497 +214.592277,-1.482497 +214.592277,-1.482497 +214.723244,-1.483359 +214.723244,-1.483359 +214.852244,-1.484126 +214.852244,-1.484126 +214.982181,-1.484414 +214.982181,-1.484414 +214.982181,-1.484414 +214.982181,-1.484414 +215.128207,-1.485085 +215.128207,-1.485085 +215.128207,-1.485085 +215.128207,-1.485085 +215.382213,-1.484798 +215.382213,-1.484798 +215.382213,-1.484798 +215.382213,-1.484798 +215.513190,-1.484318 +215.513190,-1.484318 +215.513190,-1.484318 +215.513190,-1.484318 +215.782279,-1.484414 +215.782279,-1.484414 +215.782279,-1.484414 +215.782279,-1.484414 +215.912193,-1.484702 +215.912193,-1.484702 +215.912193,-1.484702 +215.912193,-1.484702 +216.172119,-1.485852 +216.172119,-1.485852 +216.302140,-1.485948 +216.302140,-1.485948 +216.302140,-1.485948 +216.302140,-1.485948 +216.432151,-1.485756 +216.432151,-1.485756 +216.573133,-1.485948 +216.573133,-1.485948 +216.703129,-1.486140 +216.703129,-1.486140 +216.703129,-1.486140 +216.703129,-1.486140 +216.833089,-1.486236 +216.833089,-1.486236 +216.963166,-1.486332 +216.963166,-1.486332 +217.093094,-1.486715 +217.093094,-1.486715 +217.093094,-1.486715 +217.093094,-1.486715 +217.232074,-1.486811 +217.232074,-1.486811 +217.363025,-1.487194 +217.363025,-1.487194 +217.492136,-1.487578 +217.492136,-1.487578 +217.492136,-1.487578 +217.492136,-1.487578 +217.623004,-1.487770 +217.623004,-1.487770 +217.753026,-1.487770 +217.753026,-1.487770 +217.883060,-1.487961 +217.883060,-1.487961 +217.883060,-1.487961 +217.883060,-1.487961 +218.023021,-1.487961 +218.023021,-1.487961 +218.152980,-1.487961 +218.152980,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.281991,-1.487961 +218.411977,-1.487674 +218.411977,-1.487674 +218.543091,-1.487674 +218.543091,-1.487674 +218.672950,-1.487961 +218.672950,-1.487961 +218.672950,-1.487961 +218.672950,-1.487961 +218.811920,-1.488633 +218.811920,-1.488633 +218.941965,-1.489304 +218.941965,-1.489304 +219.071934,-1.489687 +219.071934,-1.489687 +219.204007,-1.490166 +219.204007,-1.490166 +219.204007,-1.490166 +219.204007,-1.490166 +219.341938,-1.490358 +219.341938,-1.490358 +219.472950,-1.490646 +219.472950,-1.490646 +219.603438,-1.490933 +219.603438,-1.490933 +219.603438,-1.490933 +219.603438,-1.490933 +219.732914,-1.490933 +219.732914,-1.490933 +219.862900,-1.491029 +219.862900,-1.491029 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.002981,-1.491221 +220.261855,-1.491317 +220.261855,-1.491317 +220.397862,-1.491509 +220.397862,-1.491509 +220.397862,-1.491509 +220.397862,-1.491509 +220.522016,-1.491700 +220.522016,-1.491700 +220.522016,-1.491700 +220.661855,-1.492084 +220.661855,-1.492084 +220.791794,-1.492659 +220.791794,-1.492659 +220.791794,-1.492659 +220.791794,-1.492659 +220.922798,-1.493139 +220.922798,-1.493139 +221.052868,-1.493522 +221.052868,-1.493522 +221.181819,-1.493426 +221.181819,-1.493426 +221.181819,-1.493426 +221.181819,-1.493426 +221.311814,-1.493330 +221.311814,-1.493330 +221.451798,-1.493810 +221.451798,-1.493810 +221.583794,-1.494289 +221.583794,-1.494289 +221.583794,-1.494289 +221.583794,-1.494289 +221.711783,-1.495248 +221.711783,-1.495248 +221.842780,-1.495919 +221.842780,-1.495919 +221.971729,-1.496015 +221.971729,-1.496015 +221.971729,-1.496015 +221.971729,-1.496015 +222.113756,-1.496015 +222.113756,-1.496015 +222.113756,-1.496015 +222.241770,-1.496111 +222.241770,-1.496111 +222.371748,-1.496302 +222.371748,-1.496302 +222.502836,-1.496494 +222.502836,-1.496494 +222.502836,-1.496494 +222.502836,-1.496494 +222.632752,-1.496974 +222.632752,-1.496974 +222.761685,-1.497357 +222.761685,-1.497357 +222.901707,-1.497645 +222.901707,-1.497645 +222.901707,-1.497645 +222.901707,-1.497645 +223.032708,-1.497836 +223.032708,-1.497836 +223.162681,-1.497932 +223.162681,-1.497932 +223.291741,-1.498028 +223.291741,-1.498028 +223.291741,-1.498028 +223.291741,-1.498028 +223.421639,-1.498316 +223.421639,-1.498316 +223.551767,-1.498795 +223.551767,-1.498795 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.691690,-1.499179 +223.952639,-1.499274 +223.952639,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.081656,-1.499274 +224.221609,-1.499370 +224.221609,-1.499370 +224.351618,-1.499466 +224.351618,-1.499466 +224.482630,-1.499466 +224.482630,-1.499466 +224.612667,-1.499562 +224.612667,-1.499562 +224.612667,-1.499562 +224.612667,-1.499562 +224.741618,-1.499658 +224.741618,-1.499658 +224.883567,-1.500041 +224.883567,-1.500041 +225.011565,-1.501480 +225.011565,-1.501480 +225.011565,-1.501480 +225.011565,-1.501480 +225.141635,-1.505602 +225.141635,-1.505602 +225.271609,-1.512026 +225.271609,-1.512026 +225.401531,-1.521517 +225.401531,-1.521517 +225.401531,-1.521517 +225.401531,-1.521517 +225.543519,-1.535802 +225.543519,-1.535802 +225.672544,-1.552868 +225.672544,-1.552868 +225.802525,-1.572426 +225.802525,-1.572426 +225.802525,-1.572426 +225.802525,-1.572426 +225.931510,-1.592943 +225.931510,-1.592943 +226.061556,-1.612981 +226.061556,-1.612981 +226.202451,-1.631676 +226.202451,-1.631676 +226.202451,-1.631676 +226.202451,-1.631676 +226.332496,-1.646537 +226.332496,-1.646537 +226.462447,-1.657179 +226.462447,-1.657179 +226.591459,-1.662835 +226.591459,-1.662835 +226.591459,-1.662835 +226.591459,-1.662835 +226.722395,-1.664657 +226.722395,-1.664657 +226.862465,-1.665903 +226.862465,-1.665903 +226.991496,-1.667533 +226.991496,-1.667533 +226.991496,-1.667533 +226.991496,-1.667533 +227.121570,-1.669259 +227.121570,-1.669259 +227.252420,-1.671080 +227.252420,-1.671080 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.382376,-1.672902 +227.651380,-1.676545 +227.651380,-1.676545 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +227.781367,-1.678079 +228.042369,-1.680188 +228.042369,-1.680188 +228.172358,-1.681243 +228.172358,-1.681243 +228.312615,-1.682202 +228.312615,-1.682202 +228.312615,-1.682202 +228.312615,-1.682202 +228.442433,-1.683160 +228.442433,-1.683160 +228.571615,-1.683736 +228.571615,-1.683736 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.701414,-1.684407 +228.831298,-1.684886 +228.831298,-1.684886 +228.971451,-1.685461 +228.971451,-1.685461 +229.102302,-1.685653 +229.102302,-1.685653 +229.102302,-1.685653 +229.102302,-1.685653 +229.231239,-1.683544 +229.231239,-1.683544 +229.362347,-1.678654 +229.362347,-1.678654 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.491312,-1.670026 +229.761245,-1.642702 +229.761245,-1.642702 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +229.891257,-1.626787 +230.152361,-1.603585 +230.152361,-1.603585 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.282233,-1.598504 +230.552206,-1.596395 +230.552206,-1.596395 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.682217,-1.595723 +230.942430,-1.594573 +230.942430,-1.594573 +231.081135,-1.593902 +231.081135,-1.593902 +231.081135,-1.593902 +231.211174,-1.593039 +231.211174,-1.593039 +231.211174,-1.593039 +231.211174,-1.593039 +231.342956,-1.592847 +231.342956,-1.592847 +231.472263,-1.592272 +231.472263,-1.592272 +231.472263,-1.592272 +231.602147,-1.591889 +231.602147,-1.591889 +231.602147,-1.591889 +231.602147,-1.591889 +231.732141,-1.591601 +231.871079,-1.591026 +231.871079,-1.591026 +232.001901,-1.590642 +232.001901,-1.590642 +232.131049,-1.590546 +232.131049,-1.590546 +232.131049,-1.590546 +232.131049,-1.590546 +232.261108,-1.590546 +232.261108,-1.590546 +232.391100,-1.590259 +232.391100,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.532039,-1.590259 +232.662214,-1.590355 +232.662214,-1.590355 +232.792145,-1.590067 +232.792145,-1.590067 +232.921354,-1.590259 +232.921354,-1.590259 +232.921354,-1.590259 +232.921354,-1.590259 +233.051105,-1.590355 +233.051105,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.191067,-1.590355 +233.452074,-1.590546 +233.452074,-1.590546 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.582373,-1.590067 +233.852002,-1.582685 +233.852002,-1.582685 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +233.980932,-1.575878 +234.241432,-1.563414 +234.241432,-1.563414 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.371155,-1.560154 +234.641927,-1.558620 +234.641927,-1.558620 +234.771947,-1.558716 +234.771947,-1.558716 +234.771947,-1.558716 +234.771947,-1.558716 +235.031918,-1.559004 +235.031918,-1.559004 +235.031918,-1.559004 +235.031918,-1.559004 +235.161886,-1.559100 +235.161886,-1.559100 +235.161886,-1.559100 +235.161886,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.431904,-1.559100 +235.560876,-1.559100 +235.560876,-1.559100 +235.691828,-1.559004 +235.691828,-1.559004 +235.821859,-1.559100 +235.821859,-1.559100 +235.821859,-1.559100 +235.821859,-1.559100 +235.961836,-1.559100 +235.961836,-1.559100 +236.091895,-1.559100 +236.091895,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.222580,-1.559100 +236.351833,-1.559196 +236.351833,-1.559196 +236.481772,-1.559196 +236.481772,-1.559196 +236.623835,-1.559291 +236.623835,-1.559291 +236.623835,-1.559291 +236.623835,-1.559291 +236.751797,-1.559291 +236.881774,-1.559291 +236.881774,-1.559291 +236.881774,-1.559291 +237.010774,-1.559387 +237.010774,-1.559387 +237.010774,-1.559387 +237.010774,-1.559387 +237.140723,-1.559387 +237.140723,-1.559387 +237.280760,-1.559483 +237.280760,-1.559483 +237.280760,-1.559483 +237.411755,-1.559675 +237.411755,-1.559675 +237.411755,-1.559675 +237.411755,-1.559675 +237.540740,-1.559771 +237.540740,-1.559771 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.670775,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +237.932713,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.070708,-1.559675 +238.331722,-1.559963 +238.331722,-1.559963 +238.331722,-1.559963 +238.331722,-1.559963 +238.461679,-1.559867 +238.461679,-1.559867 +238.461679,-1.559867 +238.461679,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.731669,-1.559867 +238.861633,-1.559963 +238.861633,-1.559963 +238.861633,-1.559963 +238.861633,-1.559963 +239.120635,-1.560346 +239.120635,-1.560346 +239.120635,-1.560346 +239.120635,-1.560346 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.251646,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.521590,-1.560442 +239.651552,-1.560442 +239.651552,-1.560442 +239.651552,-1.560442 +239.781546,-1.560538 +239.781546,-1.560538 +239.781546,-1.560538 +239.911601,-1.560634 +239.911601,-1.560634 +239.911601,-1.560634 +239.911601,-1.560634 +240.050558,-1.560730 +240.050558,-1.560730 +240.181550,-1.560826 +240.181550,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.311545,-1.560826 +240.441519,-1.560730 +240.441519,-1.560730 +240.441519,-1.560730 +240.570713,-1.560826 +240.570713,-1.560826 +240.710529,-1.560921 +240.710529,-1.560921 +240.710529,-1.560921 +240.710529,-1.560921 +240.841496,-1.561017 +240.841496,-1.561017 +240.971515,-1.561113 +240.971515,-1.561113 +241.100488,-1.561017 +241.100488,-1.561017 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.231521,-1.561113 +241.501539,-1.561305 +241.501539,-1.561305 +241.501539,-1.561305 +241.501539,-1.561305 +241.633467,-1.561401 +241.633467,-1.561401 +241.633467,-1.561401 +241.760457,-1.561592 +241.760457,-1.561592 +241.891449,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.020446,-1.561497 +242.290427,-1.561592 +242.290427,-1.561592 +242.420414,-1.561784 +242.420414,-1.561784 +242.420414,-1.561784 +242.420414,-1.561784 +242.550533,-1.561880 +242.550533,-1.561880 +242.680441,-1.561880 +242.680441,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.820408,-1.561880 +242.951341,-1.561880 +242.951341,-1.561880 +243.080827,-1.561976 +243.080827,-1.561976 +243.210396,-1.562072 +243.210396,-1.562072 +243.210396,-1.562072 +243.210396,-1.562072 +243.341359,-1.562168 +243.341359,-1.562168 +243.481357,-1.562264 +243.481357,-1.562264 +243.610345,-1.562168 +243.610345,-1.562168 +243.610345,-1.562168 +243.610345,-1.562168 +243.741338,-1.562072 +243.741338,-1.562072 +243.870323,-1.562072 +243.870323,-1.562072 +244.001337,-1.562168 +244.001337,-1.562168 +244.132351,-1.562359 +244.132351,-1.562359 +244.132351,-1.562359 +244.132351,-1.562359 +244.271312,-1.562551 +244.271312,-1.562551 +244.401306,-1.562551 +244.401306,-1.562551 +244.531338,-1.562455 +244.531338,-1.562455 +244.531338,-1.562455 +244.531338,-1.562455 +244.661305,-1.562359 +244.661305,-1.562359 +244.791265,-1.562359 +244.791265,-1.562359 +244.932269,-1.562455 +244.932269,-1.562455 +244.932269,-1.562455 +244.932269,-1.562455 +245.060247,-1.562647 +245.060247,-1.562647 +245.190247,-1.562743 +245.190247,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.321213,-1.562743 +245.451221,-1.562839 +245.451221,-1.562839 +245.591243,-1.562839 +245.591243,-1.562839 +245.721355,-1.562935 +245.721355,-1.562935 +245.721355,-1.562935 +245.721355,-1.562935 +245.850369,-1.563031 +245.850369,-1.563031 +245.981285,-1.563127 +245.981285,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.111295,-1.563127 +246.241159,-1.563222 +246.241159,-1.563222 +246.380123,-1.563222 +246.380123,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.511174,-1.563222 +246.640149,-1.563414 +246.640149,-1.563414 +246.770121,-1.563318 +246.770121,-1.563318 +246.901248,-1.563414 +246.901248,-1.563414 +246.901248,-1.563414 +246.901248,-1.563414 +247.041098,-1.563318 +247.041098,-1.563318 +247.171123,-1.563318 +247.171123,-1.563318 +247.301098,-1.563414 +247.301098,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.431381,-1.563414 +247.561035,-1.563606 +247.561035,-1.563606 +247.701089,-1.563606 +247.701089,-1.563606 +247.831078,-1.563702 +247.831078,-1.563702 +247.831078,-1.563702 +247.831078,-1.563702 +247.961066,-1.563702 +247.961066,-1.563702 +248.091049,-1.563702 +248.091049,-1.563702 +248.220039,-1.563893 +248.220039,-1.563893 +248.220039,-1.563893 +248.220039,-1.563893 +248.365147,-1.563893 +248.365147,-1.563893 +248.491007,-1.563989 +248.491007,-1.563989 +248.621011,-1.563893 +248.621011,-1.563893 +248.621011,-1.563893 +248.621011,-1.563893 +248.751040,-1.563893 +248.751040,-1.563893 +248.880001,-1.563989 +248.880001,-1.563989 +249.012082,-1.564085 +249.012082,-1.564085 +249.012082,-1.564085 +249.012082,-1.564085 +249.149985,-1.564277 +249.149985,-1.564277 +249.279983,-1.564373 +249.279983,-1.564373 +249.409940,-1.564277 +249.409940,-1.564277 +249.409940,-1.564277 +249.409940,-1.564277 +249.540946,-1.564181 +249.540946,-1.564181 +249.670963,-1.564085 +249.670963,-1.564085 +249.810949,-1.564181 +249.810949,-1.564181 +249.810949,-1.564181 +249.810949,-1.564181 +249.941077,-1.564373 +249.941077,-1.564373 +250.071026,-1.564469 +250.071026,-1.564469 +250.200924,-1.564565 +250.200924,-1.564565 +250.330885,-1.564469 +250.330885,-1.564469 +250.330885,-1.564469 +250.330885,-1.564469 +250.469907,-1.564373 +250.469907,-1.564373 +250.600899,-1.564469 +250.600899,-1.564469 +250.729975,-1.564565 +250.729975,-1.564565 +250.729975,-1.564565 +250.729975,-1.564565 +250.859836,-1.564756 +250.859836,-1.564756 +250.990838,-1.564756 +250.990838,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.130866,-1.564756 +251.259805,-1.564660 +251.259805,-1.564660 +251.390863,-1.564660 +251.390863,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.519875,-1.564660 +251.650851,-1.564852 +251.650851,-1.564852 +251.789834,-1.564852 +251.789834,-1.564852 +251.919824,-1.564948 +251.919824,-1.564948 +251.919824,-1.564948 +251.919824,-1.564948 +252.050809,-1.564948 +252.050809,-1.564948 +252.179806,-1.564948 +252.179806,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.310807,-1.564948 +252.579793,-1.565140 +252.579793,-1.565140 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.710764,-1.565044 +252.970736,-1.564948 +252.970736,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.100707,-1.564948 +253.370886,-1.565140 +253.370886,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.499734,-1.565140 +253.759691,-1.565044 +253.759691,-1.565044 +253.899689,-1.565140 +253.899689,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.030679,-1.565140 +254.159780,-1.565236 +254.159780,-1.565236 +254.290649,-1.565331 +254.290649,-1.565331 +254.420650,-1.565236 +254.420650,-1.565236 +254.420650,-1.565236 +254.420650,-1.565236 +254.549659,-1.565236 +254.549659,-1.565236 +254.690579,-1.565236 +254.690579,-1.565236 +254.820617,-1.565331 +254.820617,-1.565331 +254.820617,-1.565331 +254.820617,-1.565331 +254.950608,-1.565427 +254.950608,-1.565427 +255.079759,-1.565523 +255.079759,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.209550,-1.565523 +255.349591,-1.565427 +255.349591,-1.565427 +255.480634,-1.565427 +255.480634,-1.565427 +255.609634,-1.565523 +255.609634,-1.565523 +255.609634,-1.565523 +255.609634,-1.565523 +255.741135,-1.565619 +255.741135,-1.565619 +255.870521,-1.565811 +255.870521,-1.565811 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.009540,-1.565715 +256.269547,-1.565619 +256.269547,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.399508,-1.565619 +256.670504,-1.565811 +256.670504,-1.565811 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +256.800466,-1.565907 +257.059513,-1.565715 +257.059513,-1.565715 +257.189531,-1.565715 +257.189531,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.320466,-1.565715 +257.459442,-1.565811 +257.459442,-1.565811 +257.589439,-1.565907 +257.589439,-1.565907 +257.720443,-1.566003 +257.720443,-1.566003 +257.720443,-1.566003 +257.720443,-1.566003 +257.849412,-1.566003 +257.849412,-1.566003 +257.980433,-1.566003 +257.980433,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.119410,-1.566003 +258.250510,-1.566003 +258.250510,-1.566003 +258.379370,-1.566098 +258.379370,-1.566098 +258.510371,-1.566098 +258.510371,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.639548,-1.566098 +258.780375,-1.566098 +258.780375,-1.566098 +258.909375,-1.566098 +258.909375,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.041771,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.170342,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.441643,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.569537,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.830296,-1.566098 +259.959227,-1.566290 +259.959227,-1.566290 +259.959227,-1.566290 +259.959227,-1.566290 +260.230258,-1.566386 +260.230258,-1.566386 +260.230258,-1.566386 +260.230258,-1.566386 +260.359257,-1.566290 +260.359257,-1.566290 +260.490237,-1.566194 +260.490237,-1.566194 +260.620239,-1.566290 +260.620239,-1.566290 +260.620239,-1.566290 +260.620239,-1.566290 +260.749225,-1.566290 +260.749225,-1.566290 +260.889571,-1.566386 +260.889571,-1.566386 +261.019212,-1.566482 +261.019212,-1.566482 +261.019212,-1.566482 +261.019212,-1.566482 +261.150184,-1.566386 +261.150184,-1.566386 +261.279195,-1.566290 +261.279195,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.409245,-1.566290 +261.550155,-1.566386 +261.550155,-1.566386 +261.680167,-1.566482 +261.680167,-1.566482 +261.809129,-1.566578 +261.809129,-1.566578 +261.940157,-1.566674 +261.940157,-1.566674 +261.940157,-1.566674 +262.073148,-1.566386 +262.073148,-1.566386 +262.209123,-1.566386 +262.209123,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.339133,-1.566386 +262.469123,-1.566482 +262.469123,-1.566482 +262.600070,-1.566578 +262.600070,-1.566578 +262.730107,-1.566674 +262.730107,-1.566674 +262.730107,-1.566674 +262.730107,-1.566674 +262.869113,-1.566578 +262.869113,-1.566578 +262.869113,-1.566578 +262.869113,-1.566578 +263.129053,-1.566482 +263.129053,-1.566482 +263.129053,-1.566482 +263.129053,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.260081,-1.566482 +263.520052,-1.566770 +263.520052,-1.566770 +263.520052,-1.566770 +263.520052,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.659057,-1.566770 +263.920092,-1.566674 +263.920092,-1.566674 +263.920092,-1.566674 +263.920092,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.050014,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.318988,-1.566674 +264.449984,-1.566674 +264.449984,-1.566674 +264.579085,-1.566674 +264.579085,-1.566674 +264.709992,-1.566674 +264.709992,-1.566674 +264.838975,-1.566770 +264.838975,-1.566770 +264.838975,-1.566770 +264.838975,-1.566770 +264.979945,-1.566770 +264.979945,-1.566770 +265.109902,-1.566770 +265.109902,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.238943,-1.566770 +265.369962,-1.566770 +265.369962,-1.566770 +265.499935,-1.566674 +265.499935,-1.566674 +265.638866,-1.566770 +265.638866,-1.566770 +265.638866,-1.566770 +265.638866,-1.566770 +265.769917,-1.566866 +265.769917,-1.566866 +265.899902,-1.566866 +265.899902,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.029878,-1.566866 +266.159966,-1.566866 +266.159966,-1.566866 +266.289958,-1.566770 +266.289958,-1.566770 +266.428856,-1.566866 +266.428856,-1.566866 +266.428856,-1.566866 +266.428856,-1.566866 +266.558852,-1.566961 +266.558852,-1.566961 +266.689846,-1.567057 +266.689846,-1.567057 +266.819806,-1.567153 +266.819806,-1.567153 +266.949938,-1.567057 +266.949938,-1.567057 +266.949938,-1.567057 +266.949938,-1.567057 +267.089822,-1.566866 +267.089822,-1.566866 +267.218813,-1.566961 +267.218813,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.348792,-1.566961 +267.478779,-1.567057 +267.478779,-1.567057 +267.609764,-1.567153 +267.609764,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.751169,-1.567153 +267.878753,-1.567057 +267.878753,-1.567057 +268.008790,-1.567057 +268.008790,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.139757,-1.567057 +268.269753,-1.567057 +268.269753,-1.567057 +268.408690,-1.567249 +268.408690,-1.567249 +268.538721,-1.567345 +268.538721,-1.567345 +268.538721,-1.567345 +268.538721,-1.567345 +268.669765,-1.567249 +268.669765,-1.567249 +268.798708,-1.567249 +268.798708,-1.567249 +268.928697,-1.567153 +268.928697,-1.567153 +268.928697,-1.567153 +268.928697,-1.567153 +269.059646,-1.567249 +269.059646,-1.567249 +269.198738,-1.567441 +269.198738,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.328751,-1.567441 +269.459653,-1.567441 +269.459653,-1.567441 +269.588658,-1.567441 +269.588658,-1.567441 +269.718610,-1.567345 +269.718610,-1.567345 +269.718610,-1.567345 +269.718610,-1.567345 +269.858630,-1.567345 +269.858630,-1.567345 +269.989633,-1.567441 +269.989633,-1.567441 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.118620,-1.567537 +270.379627,-1.567441 +270.379627,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.519631,-1.567441 +270.778679,-1.567441 +270.778679,-1.567441 +270.909526,-1.567537 +270.909526,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.038606,-1.567537 +271.179581,-1.567441 +271.179581,-1.567441 +271.309617,-1.567441 +271.309617,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.439525,-1.567441 +271.568637,-1.567441 +271.568637,-1.567441 +271.698597,-1.567632 +271.698597,-1.567632 +271.828507,-1.567728 +271.828507,-1.567728 +271.828507,-1.567728 +271.828507,-1.567728 +271.969481,-1.567728 +271.969481,-1.567728 +272.098606,-1.567537 +272.098606,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.230485,-1.567537 +272.358485,-1.567632 +272.358485,-1.567632 +272.488465,-1.567728 +272.488465,-1.567728 +272.629457,-1.567920 +272.629457,-1.567920 +272.629457,-1.567920 +272.629457,-1.567920 +272.758410,-1.568016 +272.758410,-1.568016 +272.888435,-1.567824 +272.888435,-1.567824 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.019414,-1.567728 +273.288430,-1.567728 +273.288430,-1.567728 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.418405,-1.567920 +273.678386,-1.568016 +273.678386,-1.568016 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +273.809627,-1.567920 +274.078463,-1.568016 +274.078463,-1.568016 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.209302,-1.568112 +274.469348,-1.568208 +274.469348,-1.568208 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.599481,-1.568112 +274.868256,-1.568112 +274.868256,-1.568112 +274.999727,-1.568112 +274.999727,-1.568112 +275.129278,-1.568208 +275.129278,-1.568208 +275.129278,-1.568208 +275.129278,-1.568208 +275.258283,-1.568304 +275.258283,-1.568304 +275.398235,-1.568304 +275.398235,-1.568304 +275.529268,-1.568208 +275.529268,-1.568208 +275.529268,-1.568208 +275.529268,-1.568208 +275.658730,-1.568304 +275.658730,-1.568304 +275.789242,-1.568208 +275.789242,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +275.919266,-1.568208 +276.059279,-1.568208 +276.059279,-1.568208 +276.189225,-1.568208 +276.189225,-1.568208 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.318223,-1.568112 +276.579222,-1.568304 +276.579222,-1.568304 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.719189,-1.568208 +276.979135,-1.568112 +276.979135,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.108184,-1.568112 +277.368152,-1.568208 +277.368152,-1.568208 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.509089,-1.568304 +277.768139,-1.568304 +277.768139,-1.568304 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +277.899112,-1.568112 +278.168068,-1.568208 +278.168068,-1.568208 +278.299202,-1.568304 +278.299202,-1.568304 +278.299202,-1.568304 +278.299202,-1.568304 +278.559084,-1.568399 +278.559084,-1.568399 +278.559084,-1.568399 +278.559084,-1.568399 +278.688063,-1.568304 +278.688063,-1.568304 +278.829026,-1.568112 +278.829026,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +278.959117,-1.568112 +279.088048,-1.568304 +279.088048,-1.568304 +279.219029,-1.569742 +279.219029,-1.569742 +279.349031,-1.573001 +279.349031,-1.573001 +279.349031,-1.573001 +279.349031,-1.573001 +279.489148,-1.578370 +279.489148,-1.578370 +279.619002,-1.586136 +279.619002,-1.586136 +279.749009,-1.596203 +279.749009,-1.596203 +279.749009,-1.596203 +279.749009,-1.596203 +279.879007,-1.608954 +279.879007,-1.608954 +280.008976,-1.624390 +280.008976,-1.624390 +280.138974,-1.642031 +280.138974,-1.642031 +280.138974,-1.642031 +280.138974,-1.642031 +280.278970,-1.661301 +280.278970,-1.661301 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.408963,-1.681147 +280.668885,-1.722564 +280.668885,-1.722564 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +280.798935,-1.744520 +281.067929,-1.790731 +281.067929,-1.790731 +281.198911,-1.813549 +281.198911,-1.813549 +281.198911,-1.813549 +281.198911,-1.813549 +281.458901,-1.858034 +281.458901,-1.858034 +281.458901,-1.858034 +281.458901,-1.858034 +281.598877,-1.878072 +281.598877,-1.878072 +281.598877,-1.878072 +281.598877,-1.878072 +281.858884,-1.912299 +281.858884,-1.912299 +281.858884,-1.912299 +281.858884,-1.912299 +281.987990,-1.928022 +281.987990,-1.928022 +281.987990,-1.928022 +281.987990,-1.928022 +282.257837,-1.962441 +282.257837,-1.962441 +282.257837,-1.962441 +282.257837,-1.962441 +282.389004,-1.980369 +282.389004,-1.980369 +282.517825,-1.998202 +282.517825,-1.998202 +282.647814,-2.016130 +282.647814,-2.016130 +282.647814,-2.016130 +282.647814,-2.016130 +282.778814,-2.034154 +282.778814,-2.034154 +282.908775,-2.052466 +282.908775,-2.052466 +283.047762,-2.070395 +283.047762,-2.070395 +283.047762,-2.070395 +283.047762,-2.070395 +283.178829,-2.088419 +283.178829,-2.088419 +283.308736,-2.106251 +283.308736,-2.106251 +283.438779,-2.124468 +283.438779,-2.124468 +283.568823,-2.143067 +283.568823,-2.143067 +283.568823,-2.143067 +283.568823,-2.143067 +283.707754,-2.161667 +283.707754,-2.161667 +283.837730,-2.180362 +283.837730,-2.180362 +283.837730,-2.180362 +283.837730,-2.180362 +283.968718,-2.199824 +283.968718,-2.199824 +284.098729,-2.219287 +284.098729,-2.219287 +284.230717,-2.238845 +284.230717,-2.238845 +284.230717,-2.238845 +284.230717,-2.238845 +284.368712,-2.258499 +284.368712,-2.258499 +284.498700,-2.278824 +284.498700,-2.278824 +284.628626,-2.299150 +284.628626,-2.299150 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +284.760918,-2.319858 +285.028651,-2.359358 +285.028651,-2.359358 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.159726,-2.378437 +285.419583,-2.416116 +285.419583,-2.416116 +285.552637,-2.434619 +285.552637,-2.434619 +285.552637,-2.434619 +285.552637,-2.434619 +285.677663,-2.453219 +285.677663,-2.453219 +285.818608,-2.471531 +285.818608,-2.471531 +285.947754,-2.490130 +285.947754,-2.490130 +285.947754,-2.490130 +285.947754,-2.490130 +286.078383,-2.507196 +286.078383,-2.507196 +286.207740,-2.519180 +286.207740,-2.519180 +286.338572,-2.527329 +286.338572,-2.527329 +286.338572,-2.527329 +286.338572,-2.527329 +286.477549,-2.530972 +286.477549,-2.530972 +286.608568,-2.532315 +286.608568,-2.532315 +286.737680,-2.534040 +286.737680,-2.534040 +286.737680,-2.534040 +286.737680,-2.534040 +286.869536,-2.535670 +286.869536,-2.535670 +286.997537,-2.537396 +286.997537,-2.537396 +287.137500,-2.539218 +287.137500,-2.539218 +287.137500,-2.539218 +287.268553,-2.540464 +287.268553,-2.540464 +287.398544,-2.539218 +287.398544,-2.539218 +287.527518,-2.536629 +287.527518,-2.536629 +287.657501,-2.531835 +287.657501,-2.531835 +287.657501,-2.531835 +287.657501,-2.531835 +287.797481,-2.528288 +287.797481,-2.528288 +287.927471,-2.528576 +287.927471,-2.528576 +288.057583,-2.531164 +288.057583,-2.531164 +288.057583,-2.531164 +288.057583,-2.531164 +288.188515,-2.536533 +288.188515,-2.536533 +288.317527,-2.543052 +288.317527,-2.543052 +288.447410,-2.551490 +288.447410,-2.551490 +288.447410,-2.551490 +288.447410,-2.551490 +288.588454,-2.562515 +288.588454,-2.562515 +288.717435,-2.577279 +288.717435,-2.577279 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +288.847614,-2.594728 +289.107490,-2.632023 +289.107490,-2.632023 +289.247614,-2.650335 +289.247614,-2.650335 +289.247614,-2.650335 +289.247614,-2.650335 +289.378396,-2.668743 +289.378396,-2.668743 +289.507375,-2.687343 +289.507375,-2.687343 +289.638529,-2.706038 +289.638529,-2.706038 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.767353,-2.724925 +289.907355,-2.744196 +289.907355,-2.744196 +290.040347,-2.763275 +290.040347,-2.763275 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.168523,-2.782545 +290.298339,-2.802008 +290.298339,-2.802008 +290.427547,-2.820703 +290.427547,-2.820703 +290.569091,-2.839303 +290.569091,-2.839303 +290.569091,-2.839303 +290.569091,-2.839303 +290.699273,-2.857998 +290.699273,-2.857998 +290.828289,-2.876597 +290.828289,-2.876597 +290.958272,-2.895101 +290.958272,-2.895101 +290.958272,-2.895101 +290.958272,-2.895101 +291.087211,-2.913605 +291.087211,-2.913605 +291.217212,-2.932300 +291.217212,-2.932300 +291.357256,-2.950516 +291.357256,-2.950516 +291.357256,-2.950516 +291.357256,-2.950516 +291.488268,-2.965185 +291.488268,-2.965185 +291.618229,-2.975443 +291.618229,-2.975443 +291.748241,-2.981675 +291.748241,-2.981675 +291.748241,-2.981675 +291.748241,-2.981675 +291.877200,-2.983880 +291.877200,-2.983880 +292.017208,-2.985702 +292.017208,-2.985702 +292.148195,-2.988099 +292.148195,-2.988099 +292.148195,-2.988099 +292.148195,-2.988099 +292.278195,-2.990208 +292.278195,-2.990208 +292.408476,-2.992413 +292.408476,-2.992413 +292.538159,-2.994618 +292.538159,-2.994618 +292.538159,-2.994618 +292.538159,-2.994618 +292.677291,-2.998645 +292.677291,-2.998645 +292.808394,-3.005739 +292.808394,-3.005739 +292.938219,-3.017053 +292.938219,-3.017053 +293.067260,-3.033159 +293.067260,-3.033159 +293.067260,-3.033159 +293.067260,-3.033159 +293.197133,-3.052046 +293.197133,-3.052046 +293.327129,-3.072276 +293.327129,-3.072276 +293.327129,-3.072276 +293.327129,-3.072276 +293.468097,-3.092697 +293.468097,-3.092697 +293.598095,-3.112830 +293.598095,-3.112830 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.728059,-3.131814 +293.988088,3.125486 +293.988088,3.125486 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.127138,3.119158 +294.387061,3.114460 +294.387061,3.114460 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.518009,3.112447 +294.778033,3.109379 +294.778033,3.109379 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +294.917032,3.108708 +295.177127,3.106886 +295.177127,3.106886 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.307974,3.106119 +295.577025,3.103435 +295.577025,3.103435 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.708048,3.102859 +295.966970,3.101421 +295.966970,3.101421 +295.966970,3.101421 +295.966970,3.101421 +296.097952,3.100655 +296.097952,3.100655 +296.236931,3.099696 +296.236931,3.099696 +296.367007,3.098833 +296.367007,3.098833 +296.367007,3.098833 +296.367007,3.098833 +296.498930,3.097874 +296.498930,3.097874 +296.626935,3.097299 +296.626935,3.097299 +296.757923,3.096819 +296.757923,3.096819 +296.757923,3.096819 +296.757923,3.096819 +296.897912,3.096340 +296.897912,3.096340 +297.026914,3.095765 +297.026914,3.095765 +297.157072,3.095190 +297.157072,3.095190 +297.157072,3.095190 +297.157072,3.095190 +297.287888,3.094327 +297.287888,3.094327 +297.417872,3.093656 +297.417872,3.093656 +297.417872,3.093656 +297.546862,3.093081 +297.546862,3.093081 +297.546862,3.093081 +297.546862,3.093081 +297.686803,3.092409 +297.686803,3.092409 +297.816894,3.091930 +297.816894,3.091930 +297.946842,3.090971 +297.946842,3.090971 +298.076872,3.090875 +298.076872,3.090875 +298.076872,3.090875 +298.076872,3.090875 +298.207196,3.090492 +298.207196,3.090492 +298.207196,3.090492 +298.207196,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.476816,3.090492 +298.607158,3.090204 +298.607158,3.090204 +298.607158,3.090204 +298.607158,3.090204 +298.867804,3.089437 +298.867804,3.089437 +298.867804,3.089437 +298.867804,3.089437 +299.007767,3.088958 +299.007767,3.088958 +299.007767,3.088958 +299.007767,3.088958 +299.267748,3.087903 +299.267748,3.087903 +299.267748,3.087903 +299.267748,3.087903 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.396743,3.087424 +299.656729,3.085794 +299.656729,3.085794 +299.656729,3.085794 +299.656729,3.085794 +299.797721,3.085219 +299.797721,3.085219 +299.926705,3.084739 +299.926705,3.084739 +299.926705,3.084739 +300.056692,3.084452 +300.056692,3.084452 +300.056692,3.084452 +300.056692,3.084452 +300.186629,3.084260 +300.186629,3.084260 +300.326626,3.083781 +300.326626,3.083781 +300.326626,3.083781 +300.457682,3.083301 +300.457682,3.083301 +300.457682,3.083301 +300.457682,3.083301 +300.587647,3.082630 +300.587647,3.082630 +300.717647,3.081959 +300.717647,3.081959 +300.847592,3.081192 +300.847592,3.081192 +300.847592,3.081192 +300.847592,3.081192 +300.986737,3.080713 +300.986737,3.080713 +301.117632,3.080425 +301.117632,3.080425 +301.247584,3.080137 +301.247584,3.080137 +301.378854,3.079946 +301.378854,3.079946 +301.378854,3.079946 +301.378854,3.079946 +301.507630,3.080042 +301.507630,3.080042 +301.637595,3.082439 +301.637595,3.082439 +301.776584,3.087136 +301.776584,3.087136 +301.776584,3.087136 +301.776584,3.087136 +301.906557,3.094231 +301.906557,3.094231 +301.906557,3.094231 +302.037602,3.103723 +302.037602,3.103723 +302.166517,3.115227 +302.166517,3.115227 +302.166517,3.115227 +302.166517,3.115227 +302.296502,3.130088 +302.296502,3.130088 +302.296502,3.130088 +302.567521,-3.118967 +302.567521,-3.118967 +302.567521,-3.118967 +302.567521,-3.118967 +302.697728,-3.101230 +302.697728,-3.101230 +302.697728,-3.101230 +302.697728,-3.101230 +302.956549,-3.066619 +302.956549,-3.066619 +302.956549,-3.066619 +302.956549,-3.066619 +303.096509,-3.052046 +303.096509,-3.052046 +303.096509,-3.052046 +303.096509,-3.052046 +303.356450,-3.036707 +303.356450,-3.036707 +303.487453,-3.034693 +303.487453,-3.034693 +303.487453,-3.034693 +303.487453,-3.034693 +303.617460,-3.033255 +303.617460,-3.033255 +303.747436,-3.031338 +303.747436,-3.031338 +303.877439,-3.029708 +303.877439,-3.029708 +303.877439,-3.029708 +303.877439,-3.029708 +304.017849,-3.027886 +304.017849,-3.027886 +304.146499,-3.026448 +304.146499,-3.026448 +304.276380,-3.024339 +304.276380,-3.024339 +304.276380,-3.024339 +304.276380,-3.024339 +304.408696,-3.020312 +304.408696,-3.020312 +304.546392,-3.013314 +304.546392,-3.013314 +304.677390,-3.002672 +304.677390,-3.002672 +304.677390,-3.002672 +304.677390,-3.002672 +304.807333,-2.988099 +304.807333,-2.988099 +304.937549,-2.970458 +304.937549,-2.970458 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.066365,-2.951283 +305.197354,-2.931725 +305.197354,-2.931725 +305.337345,-2.912838 +305.337345,-2.912838 +305.337345,-2.912838 +305.466340,-2.893855 +305.466340,-2.893855 +305.466340,-2.893855 +305.466340,-2.893855 +305.597334,-2.875447 +305.597334,-2.875447 +305.726762,-2.857135 +305.726762,-2.857135 +305.856611,-2.838152 +305.856611,-2.838152 +305.856611,-2.838152 +305.856611,-2.838152 +305.997294,-2.819553 +305.997294,-2.819553 +306.127297,-2.801049 +306.127297,-2.801049 +306.256299,-2.781970 +306.256299,-2.781970 +306.256299,-2.781970 +306.256299,-2.781970 +306.388275,-2.762987 +306.388275,-2.762987 +306.517259,-2.744004 +306.517259,-2.744004 +306.657244,-2.724829 +306.657244,-2.724829 +306.657244,-2.724829 +306.657244,-2.724829 +306.787287,-2.705750 +306.787287,-2.705750 +306.918317,-2.686767 +306.918317,-2.686767 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.047240,-2.667689 +307.317227,-2.629147 +307.317227,-2.629147 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.447267,-2.610068 +307.707214,-2.584949 +307.707214,-2.584949 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +307.837209,-2.578909 +308.107137,-2.575362 +308.107137,-2.575362 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.237567,-2.573444 +308.497310,-2.569514 +308.497310,-2.569514 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.627125,-2.567692 +308.896107,-2.565008 +308.896107,-2.565008 +309.026121,-2.564432 +309.026121,-2.564432 +309.026121,-2.564432 +309.026121,-2.564432 +309.288133,-2.563186 +309.288133,-2.563186 +309.288133,-2.563186 +309.288133,-2.563186 +309.426122,-2.562419 +309.426122,-2.562419 +309.556055,-2.561748 +309.556055,-2.561748 +309.687078,-2.561269 +309.687078,-2.561269 +309.687078,-2.561269 +309.687078,-2.561269 +309.817084,-2.560789 +309.817084,-2.560789 +309.947051,-2.560502 +309.947051,-2.560502 +310.086053,-2.559926 +310.086053,-2.559926 +310.086053,-2.559926 +310.086053,-2.559926 +310.216065,-2.559735 +310.216065,-2.559735 +310.346044,-2.559543 +310.346044,-2.559543 +310.476032,-2.559447 +310.476032,-2.559447 +310.476032,-2.559447 +310.476032,-2.559447 +310.605992,-2.558872 +310.605992,-2.558872 +310.745985,-2.555324 +310.745985,-2.555324 +310.878993,-2.549572 +310.878993,-2.549572 +310.878993,-2.549572 +310.878993,-2.549572 +311.006032,-2.540943 +311.006032,-2.540943 +311.006032,-2.540943 +311.006032,-2.540943 +311.266992,-2.515728 +311.266992,-2.515728 +311.266992,-2.515728 +311.266992,-2.515728 +311.395961,-2.499909 +311.395961,-2.499909 +311.395961,-2.499909 +311.395961,-2.499909 +311.666963,-2.465874 +311.666963,-2.465874 +311.666963,-2.465874 +311.666963,-2.465874 +311.795940,-2.448617 +311.795940,-2.448617 +311.795940,-2.448617 +311.795940,-2.448617 +312.056912,-2.413048 +312.056912,-2.413048 +312.056912,-2.413048 +312.056912,-2.413048 +312.195929,-2.394065 +312.195929,-2.394065 +312.325908,-2.375082 +312.325908,-2.375082 +312.456902,-2.355907 +312.456902,-2.355907 +312.587947,-2.337212 +312.587947,-2.337212 +312.587947,-2.337212 +312.587947,-2.337212 +312.716971,-2.316503 +312.716971,-2.316503 +312.846894,-2.295698 +312.846894,-2.295698 +312.989986,-2.274798 +312.989986,-2.274798 +312.989986,-2.274798 +312.989986,-2.274798 +313.116944,-2.254089 +313.116944,-2.254089 +313.246847,-2.235489 +313.246847,-2.235489 +313.375856,-2.216890 +313.375856,-2.216890 +313.375856,-2.216890 +313.375856,-2.216890 +313.506849,-2.198386 +313.506849,-2.198386 +313.646797,-2.179307 +313.646797,-2.179307 +313.775783,-2.159941 +313.775783,-2.159941 +313.775783,-2.159941 +313.775783,-2.159941 +313.906780,-2.140478 +313.906780,-2.140478 +314.036788,-2.121304 +314.036788,-2.121304 +314.165795,-2.102512 +314.165795,-2.102512 +314.165795,-2.102512 +314.165795,-2.102512 +314.306787,-2.083913 +314.306787,-2.083913 +314.435774,-2.065409 +314.435774,-2.065409 +314.566724,-2.046618 +314.566724,-2.046618 +314.566724,-2.046618 +314.566724,-2.046618 +314.695711,-2.027347 +314.695711,-2.027347 +314.826754,-2.008077 +314.826754,-2.008077 +314.965747,-1.988902 +314.965747,-1.988902 +314.965747,-1.988902 +314.965747,-1.988902 +315.095707,-1.969535 +315.095707,-1.969535 +315.095707,-1.969535 +315.095707,-1.969535 +315.356711,-1.940581 +315.356711,-1.940581 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.486671,-1.932528 +315.756636,-1.933775 +315.756636,-1.933775 +315.886696,-1.937897 +315.886696,-1.937897 +315.886696,-1.937897 +315.886696,-1.937897 +316.015665,-1.944512 +316.015665,-1.944512 +316.146664,-1.951607 +316.146664,-1.951607 +316.276649,-1.960427 +316.276649,-1.960427 +316.276649,-1.960427 +316.276649,-1.960427 +316.415595,-1.969631 +316.415595,-1.969631 +316.546712,-1.976822 +316.546712,-1.976822 +316.683642,-1.982574 +316.683642,-1.982574 +316.683642,-1.982574 +316.683642,-1.982574 +316.805617,-1.984779 +316.805617,-1.984779 +316.946623,-1.983245 +316.946623,-1.983245 +317.076614,-1.979890 +317.076614,-1.979890 +317.076614,-1.979890 +317.076614,-1.979890 +317.205555,-1.974233 +317.205555,-1.974233 +317.335906,-1.967426 +317.335906,-1.967426 +317.465579,-1.959181 +317.465579,-1.959181 +317.595591,-1.948347 +317.595591,-1.948347 +317.595591,-1.948347 +317.595591,-1.948347 +317.736556,-1.934350 +317.736556,-1.934350 +317.865554,-1.916709 +317.865554,-1.916709 +317.996546,-1.897247 +317.996546,-1.897247 +317.996546,-1.897247 +317.996546,-1.897247 +318.127539,-1.876921 +318.127539,-1.876921 +318.255540,-1.855446 +318.255540,-1.855446 +318.396515,-1.834066 +318.396515,-1.834066 +318.396515,-1.834066 +318.396515,-1.834066 +318.526522,-1.812590 +318.526522,-1.812590 +318.656505,-1.790923 +318.656505,-1.790923 +318.786510,-1.770118 +318.786510,-1.770118 +318.786510,-1.770118 +318.786510,-1.770118 +318.915481,-1.752957 +318.915481,-1.752957 +319.045462,-1.740972 +319.045462,-1.740972 +319.186414,-1.734261 +319.186414,-1.734261 +319.186414,-1.734261 +319.186414,-1.734261 +319.316656,-1.732535 +319.316656,-1.732535 +319.446467,-1.732631 +319.446467,-1.732631 +319.576445,-1.732535 +319.576445,-1.732535 +319.576445,-1.732535 +319.576445,-1.732535 +319.705442,-1.732344 +319.705442,-1.732344 +319.846388,-1.732440 +319.846388,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +319.975428,-1.732440 +320.105439,-1.732631 +320.105439,-1.732631 +320.236468,-1.732631 +320.236468,-1.732631 +320.365448,-1.732535 +320.365448,-1.732535 +320.365448,-1.732535 +320.505388,-1.732535 +320.505388,-1.732535 +320.505388,-1.732535 +320.635385,-1.732440 +320.635385,-1.732440 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +320.766377,-1.732631 +321.025362,-1.732919 +321.025362,-1.732919 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.166525,-1.733015 +321.426652,-1.733206 +321.426652,-1.733206 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.556444,-1.732823 +321.816423,-1.720743 +321.816423,-1.720743 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +321.956309,-1.705978 +322.215279,-1.663219 +322.215279,-1.663219 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.345277,-1.640592 +322.615298,-1.610488 +322.615298,-1.610488 +322.745386,-1.603969 +322.745386,-1.603969 +322.875235,-1.602051 +322.875235,-1.602051 +322.875235,-1.602051 +322.875235,-1.602051 +323.006188,-1.601188 +323.006188,-1.601188 +323.136217,-1.599942 +323.136217,-1.599942 +323.276173,-1.598504 +323.276173,-1.598504 +323.276173,-1.598504 +323.276173,-1.598504 +323.406179,-1.597066 +323.406179,-1.597066 +323.536167,-1.595628 +323.536167,-1.595628 +323.666163,-1.594477 +323.666163,-1.594477 +323.795122,-1.593039 +323.795122,-1.593039 +323.795122,-1.593039 +323.795122,-1.593039 +323.935182,-1.591793 +323.935182,-1.591793 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.066155,-1.590451 +324.326146,-1.588629 +324.326146,-1.588629 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.456137,-1.587287 +324.726117,-1.584890 +324.726117,-1.584890 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +324.856091,-1.584123 +325.116064,-1.583548 +325.116064,-1.583548 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.246086,-1.583356 +325.516121,-1.582972 +325.516121,-1.582972 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.645094,-1.583068 +325.905062,-1.583548 +325.905062,-1.583548 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.045036,-1.583643 +326.306007,-1.583452 +326.306007,-1.583452 +326.436256,-1.583260 +326.436256,-1.583260 +326.565996,-1.581822 +326.565996,-1.581822 +326.565996,-1.581822 +326.565996,-1.581822 +326.707003,-1.578562 +326.707003,-1.578562 +326.835979,-1.572522 +326.835979,-1.572522 +326.964982,-1.564469 +326.964982,-1.564469 +327.095964,-1.557853 +327.095964,-1.557853 +327.095964,-1.557853 +327.095964,-1.557853 +327.224957,-1.552580 +327.224957,-1.552580 +327.355956,-1.549704 +327.355956,-1.549704 +327.495889,-1.548841 +327.495889,-1.548841 +327.495889,-1.548841 +327.495889,-1.548841 +327.625930,-1.547595 +327.625930,-1.547595 +327.754905,-1.546348 +327.754905,-1.546348 +327.884921,-1.545006 +327.884921,-1.545006 +327.884921,-1.545006 +327.884921,-1.545006 +328.014932,-1.543568 +328.014932,-1.543568 +328.154856,-1.542322 +328.154856,-1.542322 +328.284896,-1.541459 +328.284896,-1.541459 +328.284896,-1.541459 +328.284896,-1.541459 +328.415872,-1.540404 +328.415872,-1.540404 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.545984,-1.539542 +328.814852,-1.537720 +328.814852,-1.537720 +328.945888,-1.537336 +328.945888,-1.537336 +328.945888,-1.537336 +328.945888,-1.537336 +329.204862,-1.536378 +329.204862,-1.536378 +329.204862,-1.536378 +329.204862,-1.536378 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.335817,-1.535994 +329.606831,-1.534652 +329.606831,-1.534652 +329.606831,-1.534652 +329.606831,-1.534652 +329.737809,-1.534364 +329.737809,-1.534364 +329.737809,-1.534364 +329.737809,-1.534364 +329.994776,-1.533981 +329.994776,-1.533981 +329.994776,-1.533981 +329.994776,-1.533981 +330.124773,-1.533885 +330.124773,-1.533885 +330.124773,-1.533885 +330.124773,-1.533885 +330.394826,-1.533501 +330.394826,-1.533501 +330.394826,-1.533501 +330.394826,-1.533501 +330.525740,-1.533022 +330.525740,-1.533022 +330.654761,-1.532926 +330.654761,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.785665,-1.532926 +330.924679,-1.532830 +330.924679,-1.532830 +331.055718,-1.533022 +331.055718,-1.533022 +331.184704,-1.532830 +331.184704,-1.532830 +331.184704,-1.532830 +331.184704,-1.532830 +331.314735,-1.532734 +331.314735,-1.532734 +331.445667,-1.532830 +331.445667,-1.532830 +331.586330,-1.532734 +331.586330,-1.532734 +331.586330,-1.532734 +331.586330,-1.532734 +331.714738,-1.532639 +331.714738,-1.532639 +331.845654,-1.532639 +331.845654,-1.532639 +331.975648,-1.532447 +331.975648,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.104646,-1.532447 +332.237644,-1.532255 +332.237644,-1.532255 +332.375625,-1.532159 +332.375625,-1.532159 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.504625,-1.532255 +332.765709,-1.532543 +332.765709,-1.532543 +332.765709,-1.532543 +332.765709,-1.532543 +332.894552,-1.532734 +332.894552,-1.532734 +333.038671,-1.534460 +333.038671,-1.534460 +333.165610,-1.538966 +333.165610,-1.538966 +333.294572,-1.546348 +333.294572,-1.546348 +333.294572,-1.546348 +333.294572,-1.546348 +333.425552,-1.557278 +333.425552,-1.557278 +333.555510,-1.571180 +333.555510,-1.571180 +333.684603,-1.587287 +333.684603,-1.587287 +333.684603,-1.587287 +333.684603,-1.587287 +333.824672,-1.605311 +333.824672,-1.605311 +333.954622,-1.623815 +333.954622,-1.623815 +334.084615,-1.641839 +334.084615,-1.641839 +334.084615,-1.641839 +334.084615,-1.641839 +334.214505,-1.656220 +334.214505,-1.656220 +334.344495,-1.666478 +334.344495,-1.666478 +334.484459,-1.672902 +334.484459,-1.672902 +334.484459,-1.672902 +334.484459,-1.672902 +334.614500,-1.675490 +334.614500,-1.675490 +334.745470,-1.677504 +334.745470,-1.677504 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +334.875461,-1.679613 +335.145448,-1.683640 +335.145448,-1.683640 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.275439,-1.685078 +335.535421,-1.681147 +335.535421,-1.681147 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.674409,-1.676449 +335.935403,-1.659671 +335.935403,-1.659671 +336.064372,-1.648166 +336.064372,-1.648166 +336.195729,-1.634265 +336.195729,-1.634265 +336.195729,-1.634265 +336.195729,-1.634265 +336.324379,-1.619021 +336.324379,-1.619021 +336.465377,-1.603106 +336.465377,-1.603106 +336.594352,-1.590259 +336.594352,-1.590259 +336.594352,-1.590259 +336.594352,-1.590259 +336.724288,-1.581438 +336.724288,-1.581438 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +336.855765,-1.576165 +337.125339,-1.573193 +337.125339,-1.573193 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.255307,-1.571563 +337.517380,-1.568495 +337.517380,-1.568495 +337.646287,-1.566961 +337.646287,-1.566961 +337.646287,-1.566961 +337.646287,-1.566961 +337.915400,-1.564373 +337.915400,-1.564373 +337.915400,-1.564373 +337.915400,-1.564373 +338.045264,-1.563127 +338.045264,-1.563127 +338.045264,-1.563127 +338.045264,-1.563127 +338.305256,-1.561497 +338.305256,-1.561497 +338.305256,-1.561497 +338.305256,-1.561497 +338.445264,-1.560730 +338.445264,-1.560730 +338.445264,-1.560730 +338.445264,-1.560730 +338.704220,-1.559483 +338.704220,-1.559483 +338.704220,-1.559483 +338.704220,-1.559483 +338.835182,-1.558908 +338.835182,-1.558908 +338.965238,-1.558429 +338.965238,-1.558429 +339.104201,-1.558045 +339.104201,-1.558045 +339.104201,-1.558045 +339.104201,-1.558045 +339.235132,-1.557853 +339.235132,-1.557853 +339.365126,-1.557566 +339.365126,-1.557566 +339.495165,-1.557374 +339.495165,-1.557374 +339.495165,-1.557374 +339.495165,-1.557374 +339.625155,-1.556895 +339.625155,-1.556895 +339.764117,-1.556703 +339.764117,-1.556703 +339.894109,-1.556415 +339.894109,-1.556415 +339.894109,-1.556415 +339.894109,-1.556415 +340.025084,-1.556032 +340.025084,-1.556032 +340.154120,-1.556128 +340.154120,-1.556128 +340.284124,-1.555936 +340.284124,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.415673,-1.555936 +340.555103,-1.555936 +340.555103,-1.555936 +340.685099,-1.555744 +340.685099,-1.555744 +340.815811,-1.555552 +340.815811,-1.555552 +340.815811,-1.555552 +340.815811,-1.555552 +340.944085,-1.555552 +340.944085,-1.555552 +341.074061,-1.555648 +341.074061,-1.555648 +341.216871,-1.555744 +341.216871,-1.555744 +341.216871,-1.555744 +341.216871,-1.555744 +341.345040,-1.555744 +341.345040,-1.555744 +341.345040,-1.555744 +341.475064,-1.555840 +341.475064,-1.555840 +341.604047,-1.555936 +341.604047,-1.555936 +341.604047,-1.555936 +341.604047,-1.555936 +341.734174,-1.555744 +341.734174,-1.555744 +341.874968,-1.555840 +341.874968,-1.555840 +342.005467,-1.555552 +342.005467,-1.555552 +342.005467,-1.555552 +342.005467,-1.555552 +342.134008,-1.555169 +342.134008,-1.555169 +342.264014,-1.555265 +342.264014,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.393978,-1.555265 +342.533926,-1.555361 +342.533926,-1.555361 +342.664463,-1.555457 +342.664463,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.793951,-1.555457 +342.923939,-1.555265 +342.923939,-1.555265 +343.054935,-1.555169 +343.054935,-1.555169 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.195159,-1.555265 +343.453911,-1.555361 +343.453911,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.584924,-1.555361 +343.844838,-1.555265 +343.844838,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +343.984894,-1.555265 +344.244918,-1.555265 +344.244918,-1.555265 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.373857,-1.555361 +344.647844,-1.555265 +344.647844,-1.555265 +344.774853,-1.555265 +344.774853,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +344.904861,-1.555265 +345.033865,-1.555457 +345.033865,-1.555457 +345.164807,-1.555457 +345.164807,-1.555457 +345.303809,-1.555361 +345.303809,-1.555361 +345.303809,-1.555361 +345.303809,-1.555361 +345.434774,-1.555169 +345.434774,-1.555169 +345.564769,-1.555073 +345.564769,-1.555073 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.693768,-1.555169 +345.824702,-1.555169 +345.824702,-1.555169 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +345.963843,-1.555361 +346.224696,-1.555361 +346.224696,-1.555361 +346.353719,-1.555169 +346.353719,-1.555169 +346.353719,-1.555169 +346.353719,-1.555169 +346.613713,-1.555265 +346.613713,-1.555265 +346.613713,-1.555265 +346.613713,-1.555265 +346.753798,-1.555361 +346.753798,-1.555361 +346.753798,-1.555361 +346.753798,-1.555361 +347.014638,-1.555457 +347.014638,-1.555457 +347.014638,-1.555457 +347.014638,-1.555457 +347.144670,-1.555265 +347.144670,-1.555265 +347.144670,-1.555265 +347.144670,-1.555265 +347.414702,-1.555169 +347.414702,-1.555169 +347.414702,-1.555169 +347.414702,-1.555169 +347.544690,-1.555265 +347.544690,-1.555265 +347.674604,-1.555457 +347.674604,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.804589,-1.555457 +347.934695,-1.555457 +347.934695,-1.555457 +348.074582,-1.555361 +348.074582,-1.555361 +348.204721,-1.555169 +348.204721,-1.555169 +348.204721,-1.555169 +348.204721,-1.555169 +348.334547,-1.555265 +348.334547,-1.555265 +348.464589,-1.555265 +348.464589,-1.555265 +348.593553,-1.555361 +348.593553,-1.555361 +348.593553,-1.555361 +348.593553,-1.555361 +348.734575,-1.555361 +348.734575,-1.555361 +348.863847,-1.555265 +348.863847,-1.555265 +348.994747,-1.555169 +348.994747,-1.555169 +348.994747,-1.555169 +348.994747,-1.555169 +349.124558,-1.555073 +349.124558,-1.555073 +349.254542,-1.555265 +349.254542,-1.555265 +349.254542,-1.555265 +349.393533,-1.555361 +349.393533,-1.555361 +349.393533,-1.555361 +349.393533,-1.555361 +349.523520,-1.555265 +349.523520,-1.555265 +349.654515,-1.555457 +349.654515,-1.555457 +349.654515,-1.555457 +349.654515,-1.555457 +349.913501,-1.555169 +349.913501,-1.555169 +349.913501,-1.555169 +349.913501,-1.555169 +350.043494,-1.555265 +350.043494,-1.555265 +350.043494,-1.555265 +350.043494,-1.555265 +350.313497,-1.555169 +350.313497,-1.555169 +350.313497,-1.555169 +350.313497,-1.555169 +350.443468,-1.555265 +350.443468,-1.555265 +350.443468,-1.555265 +350.443468,-1.555265 +350.704456,-1.555169 +350.704456,-1.555169 +350.704456,-1.555169 +350.704456,-1.555169 +350.843441,-1.555361 +350.843441,-1.555361 +350.843441,-1.555361 +350.843441,-1.555361 +351.103429,-1.555265 +351.103429,-1.555265 +351.103429,-1.555265 +351.103429,-1.555265 +351.234466,-1.555169 +351.234466,-1.555169 +351.364461,-1.555169 +351.364461,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.504401,-1.555169 +351.633416,-1.555265 +351.633416,-1.555265 +351.764362,-1.555457 +351.764362,-1.555457 +351.894398,-1.555457 +351.894398,-1.555457 +352.024538,-1.555361 +352.024538,-1.555361 +352.024538,-1.555361 +352.024538,-1.555361 +352.164333,-1.555169 +352.164333,-1.555169 +352.294347,-1.555169 +352.294347,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.423328,-1.555169 +352.556344,-1.555265 +352.556344,-1.555265 +352.684335,-1.555457 +352.684335,-1.555457 +352.814300,-1.555361 +352.814300,-1.555361 +352.814300,-1.555361 +352.814300,-1.555361 +352.954301,-1.555169 +352.954301,-1.555169 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.083991,-1.555073 +353.345282,-1.555265 +353.345282,-1.555265 +353.474447,-1.555361 +353.474447,-1.555361 +353.615273,-1.555457 +353.615273,-1.555457 +353.615273,-1.555457 +353.615273,-1.555457 +353.746288,-1.555457 +353.746288,-1.555457 +353.874367,-1.555265 +353.874367,-1.555265 +354.008238,-1.555073 +354.008238,-1.555073 +354.008238,-1.555073 +354.008238,-1.555073 +354.140436,-1.555169 +354.140436,-1.555169 +354.270212,-1.555169 +354.270212,-1.555169 +354.402009,-1.555265 +354.402009,-1.555265 +354.531199,-1.555457 +354.531199,-1.555457 +354.531199,-1.555457 +354.531199,-1.555457 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.661184,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +354.932357,-1.555265 +355.062195,-1.555169 +355.062195,-1.555169 +355.062195,-1.555169 +355.062195,-1.555169 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.327992,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 +355.455122,-1.555361 diff --git a/NetBeans/rcsjava/SkyTrax_NavPlot.csv b/NetBeans/rcsjava/SkyTrax_NavPlot.csv new file mode 100644 index 0000000..2deaa77 --- /dev/null +++ b/NetBeans/rcsjava/SkyTrax_NavPlot.csv @@ -0,0 +1,355 @@ +timeStamp,x,y,yaw +1.862060,-3.857046,2.506910,-1.543343 +2.863747,-3.859911,2.488593,-1.560797 +3.866279,-3.881429,2.506667,-1.543343 +5.068350,-3.856863,2.488623,-1.560797 +5.870744,-3.884507,2.509684,-1.543343 +6.872700,-3.872316,2.509806,-1.543343 +7.874681,-3.869268,2.509836,-1.543343 +8.879734,-3.869268,2.509836,-1.543343 +9.882033,-3.857077,2.509958,-1.543343 +10.883791,-3.856863,2.488623,-1.560797 +11.887030,-3.857107,2.513006,-1.543343 +12.888700,-3.869268,2.509836,-1.543343 +13.891638,-3.869055,2.488501,-1.560797 +14.893411,-3.860125,2.509928,-1.543343 +15.894288,-3.881459,2.509714,-1.543343 +16.893878,-3.872316,2.509806,-1.543343 +17.894330,-3.859911,2.488593,-1.560797 +18.894253,-3.856863,2.488623,-1.560797 +19.894279,-3.872316,2.509806,-1.543343 +20.894564,-3.859911,2.488593,-1.560797 +21.894801,-3.884507,2.509684,-1.543343 +22.895393,-3.860125,2.509928,-1.543343 +23.895511,-3.884294,2.488349,-1.560797 +24.896469,-3.869268,2.509836,-1.543343 +25.896609,-3.860125,2.509928,-1.543343 +26.897262,-3.859911,2.488593,-1.560797 +27.897009,-3.872316,2.509806,-1.543343 +28.897007,-3.859911,2.488593,-1.560797 +29.897354,-3.881246,2.488379,-1.560797 +30.897273,-3.859911,2.488593,-1.560797 +31.897458,-3.859911,2.488593,-1.560797 +32.898929,-3.859911,2.488593,-1.560797 +33.900913,-3.860125,2.509928,-1.543343 +34.902966,-3.860125,2.509928,-1.543343 +35.905007,-3.859911,2.488593,-1.560797 +36.906906,-3.872316,2.509806,-1.543343 +37.908682,-3.884294,2.488349,-1.560797 +38.910921,-3.884294,2.488349,-1.560797 +39.912962,-3.860125,2.509928,-1.543343 +40.921466,-3.872316,2.509806,-1.543343 +41.923954,-3.856863,2.488623,-1.560797 +42.925697,-3.872316,2.509806,-1.543343 +43.928164,-3.872316,2.509806,-1.543343 +44.929695,-3.859911,2.488593,-1.560797 +45.933028,-3.872316,2.509806,-1.543343 +46.834933,-3.859911,2.488593,-1.560797 +47.836765,-3.859911,2.488593,-1.560797 +48.839120,-3.859911,2.488593,-1.560797 +49.840802,-3.872316,2.509806,-1.543343 +50.842734,-3.859911,2.488593,-1.560797 +51.844700,-3.872316,2.509806,-1.543343 +52.846973,-3.872316,2.509806,-1.543343 +53.848910,-3.860125,2.509928,-1.543343 +54.850911,-3.859911,2.488593,-1.560797 +55.853261,-3.859911,2.488593,-1.560797 +56.854780,-3.859911,2.488593,-1.560797 +57.856820,-3.859911,2.488593,-1.560797 +58.858808,-3.872316,2.509806,-1.543343 +59.860801,-3.872316,2.509806,-1.543343 +60.863016,-3.859911,2.488593,-1.560797 +62.064897,-3.859911,2.488593,-1.560797 +62.867914,-3.859911,2.488593,-1.560797 +63.869713,-3.859911,2.488593,-1.560797 +64.871667,-3.859911,2.488593,-1.560797 +65.873772,-3.859911,2.488593,-1.560797 +66.876070,-3.859911,2.488593,-1.560797 +67.878404,-3.859911,2.488593,-1.560797 +68.879983,-3.884294,2.488349,-1.560797 +69.882126,-3.884294,2.488349,-1.560797 +70.882548,-3.872316,2.509806,-1.543343 +71.883729,-3.860094,2.506880,-1.543343 +72.886159,-3.859911,2.488593,-1.560797 +73.888042,-3.859911,2.488593,-1.560797 +74.890019,-3.860125,2.509928,-1.543343 +75.891948,-3.859911,2.488593,-1.560797 +76.891944,-3.860125,2.509928,-1.543343 +77.893835,-3.859911,2.488593,-1.560797 +78.895900,-3.860125,2.509928,-1.543343 +79.897820,-3.860125,2.509928,-1.543343 +80.899769,-3.881246,2.488379,-1.560797 +81.901865,-3.860125,2.509928,-1.543343 +82.908830,-3.859911,2.488593,-1.560797 +83.911838,-3.884294,2.488349,-1.560797 +84.914098,-3.872316,2.509806,-1.543343 +85.915821,-3.859911,2.488593,-1.560797 +86.917821,-3.860125,2.509928,-1.543343 +88.119848,-3.869268,2.509836,-1.543343 +88.921867,-3.884477,2.506636,-1.543343 +90.126362,-3.860125,2.509928,-1.543343 +90.927185,-3.856863,2.488623,-1.560797 +91.927441,-3.867592,2.342205,-1.525890 +92.928387,-3.579722,2.207917,-1.438624 +93.929210,-3.503922,1.943485,-1.403717 +94.929206,-3.479143,1.904107,-1.264091 +95.929389,-3.442752,1.922760,-1.124464 +96.930420,-3.412548,1.950495,-0.984838 +97.931564,-3.364361,1.704077,-0.845212 +98.932391,-3.334523,1.768387,-0.635772 +99.933203,-3.310079,1.762535,-0.513599 +100.933188,-3.295267,1.805357,-0.373973 +101.933361,-3.304349,2.103985,-0.216893 +102.934178,-3.305416,1.905845,-0.024907 +104.134188,-3.302673,1.936354,0.079813 +104.935203,-3.122576,2.215536,0.097267 +105.935193,-2.427941,2.249916,0.114720 +106.935404,-2.077804,2.289996,0.114720 +107.936177,-1.861346,2.286064,0.044907 +108.936208,-1.275763,2.252294,-0.007454 +109.938207,-0.831112,1.985455,0.044907 +110.938187,-0.502219,2.016178,0.027454 +111.938428,0.513080,1.989753,0.010000 +112.939416,0.848221,2.005297,0.010000 +113.940205,1.172177,2.224956,-0.007454 +114.940193,1.684886,2.163024,-0.024907 +115.940191,2.037979,1.907462,-0.007454 +116.941125,2.541971,2.107584,-0.024907 +117.941487,3.282263,2.148516,0.010000 +118.942418,3.287993,2.185152,0.201987 +119.943259,3.293692,2.224834,0.324160 +120.943182,3.269065,2.248973,0.446333 +121.943204,3.232125,2.285182,0.620866 +122.943400,3.222769,2.306425,0.743039 +123.944390,3.409571,2.524712,0.795398 +124.945522,3.554313,2.681616,0.865212 +125.945411,3.511430,2.702524,1.039745 +126.947428,3.468455,2.732575,1.196824 +127.947364,3.443981,2.741475,1.301544 +128.948397,3.389029,2.750070,1.476077 +129.949394,3.361628,2.746748,1.598250 +130.950396,3.342793,2.801426,1.650610 +132.352402,3.348827,2.807583,1.580797 +132.953279,3.370223,3.411331,1.563343 +133.953189,3.369918,3.746625,1.545890 +134.953389,3.365529,4.185515,1.545890 +135.954402,3.395825,4.508922,1.528437 +136.955461,3.431332,5.225593,1.545890 +137.956352,3.464431,5.573413,1.545890 +138.957410,3.480981,6.052139,1.545890 +139.958392,3.469460,6.594595,1.528437 +140.959409,3.504022,7.100934,1.528437 +141.960396,3.492654,7.323335,1.580797 +142.861574,3.446479,7.673411,1.615703 +143.862469,3.430630,8.343846,1.633157 +144.863195,3.386558,8.788435,1.633157 +145.863390,3.387015,9.047533,1.615703 +146.868049,3.390642,9.599285,1.615703 +147.869776,3.353702,9.940308,1.633157 +148.871889,3.329959,10.790505,1.615703 +149.873886,3.312372,11.025037,1.615703 +150.875866,3.281132,11.710559,1.633157 +151.877828,2.733890,13.701626,1.615703 +152.879855,2.743247,14.290013,1.615703 +154.181858,2.720296,14.756151,1.615703 +154.883724,2.705270,15.039479,1.615703 +155.886089,2.670372,15.481112,1.615703 +156.887967,3.203045,14.642101,1.615703 +157.889864,3.184758,14.946733,1.615703 +158.891873,3.185916,15.440546,1.615703 +159.893875,3.148366,16.147341,1.615703 +160.895960,3.096613,16.445543,1.615703 +161.897842,3.092102,16.896624,1.615703 +162.899972,3.108043,17.436307,1.598250 +163.901960,3.118131,17.951545,1.598250 +164.903772,3.118100,18.259408,1.598250 +165.905946,3.113924,18.981779,1.598250 +166.907992,3.125780,19.320242,1.598250 +167.909696,3.121026,19.795706,1.580797 +168.912441,3.118404,20.362637,1.580797 +169.914790,3.150071,20.853706,1.580797 +170.916896,3.164884,21.201343,1.580797 +171.918850,3.162597,22.039562,1.580797 +172.920854,3.147541,22.325938,1.563343 +173.922862,3.127852,22.770771,1.580797 +174.924819,3.142055,23.484181,1.563343 +175.926883,3.169333,23.804510,1.545890 +176.928978,3.188595,24.316792,1.545890 +177.930832,2.714167,24.818041,1.563343 +178.932925,3.219988,24.835292,1.563343 +179.934862,3.226144,24.829257,1.406264 +180.936845,3.268875,24.823588,1.284091 +181.938726,3.308649,24.808745,1.161918 +182.940692,2.836416,24.785734,0.952478 +183.942830,2.836416,24.785734,0.952478 +184.944829,2.836416,24.785734,0.952478 +185.946693,2.836416,24.785734,0.952478 +186.948881,2.836416,24.785734,0.952478 +187.950883,3.459762,24.633464,0.236893 +188.952900,3.478476,24.590977,0.079813 +189.954815,3.506028,24.579060,0.027454 +190.956881,3.719316,24.587289,0.027454 +191.958689,4.025046,24.495853,0.027454 +192.960833,4.000359,24.526088,-0.164533 +193.962709,4.004808,24.385918,-0.286706 +194.966869,3.985973,24.440596,-0.426333 +195.968907,3.975122,24.306369,-0.548506 +196.970679,3.963297,24.269673,-0.723039 +197.972867,3.954489,24.236055,-0.845212 +198.974723,4.044309,24.093690,-0.932478 +199.976954,4.026143,24.081316,-1.107011 +200.979021,4.007978,24.068941,-1.281544 +201.980886,3.989722,24.065711,-1.438624 +202.882854,3.971435,24.065528,-1.560797 +203.883534,4.014318,23.739804,-1.578250 +204.885701,3.965248,23.464980,-1.578250 +205.887951,3.951228,22.733283,-1.578250 +207.189751,3.952234,22.327889,-1.578250 +207.892070,3.914898,21.489274,-1.595703 +209.194012,3.908711,21.193541,-1.525890 +209.896679,3.936050,20.898144,-1.490984 +210.897193,3.945621,20.550750,-1.508437 +211.897222,3.945316,20.276413,-1.508437 +212.897432,4.010540,19.545509,-1.473530 +213.898440,4.066925,19.088850,-1.473530 +214.899234,4.104109,18.723443,-1.473530 +215.899216,4.104719,18.052856,-1.490984 +216.900874,4.135441,17.723963,-1.490984 +217.901446,4.194722,17.282574,-1.490984 +218.903318,4.194997,16.645512,-1.473530 +219.904767,4.226847,16.203849,-1.490984 +220.905335,4.231266,15.761911,-1.490984 +221.906250,4.242422,15.256029,-1.490984 +222.906925,4.279849,14.866240,-1.473530 +223.907186,4.315448,14.354506,-1.508437 +224.907425,4.371712,13.910039,-1.490984 +225.908359,4.381038,13.587028,-1.560797 +226.909415,4.365738,13.592971,-1.648063 +227.910364,4.365738,13.592971,-1.648063 +228.911354,4.365738,13.592971,-1.648063 +229.912399,4.174303,12.009066,-1.648063 +230.913362,4.164063,11.813882,-1.578250 +231.914225,4.214169,11.375449,-1.578250 +232.914194,4.187166,10.722874,-1.613157 +233.914782,4.136937,10.259053,-1.595703 +234.915734,4.198382,9.906081,-1.595703 +235.916414,4.155529,9.923942,-1.560797 +236.917503,4.158394,9.942259,-1.560797 +237.918387,4.152451,9.926959,-1.560797 +238.919410,4.146508,9.911659,-1.560797 +239.920410,4.152451,9.926959,-1.560797 +240.921204,4.152481,9.923911,-1.560797 +241.921255,4.152481,9.923911,-1.560797 +242.922198,4.149403,9.926929,-1.560797 +243.922920,4.149403,9.926929,-1.560797 +244.923602,4.192225,9.912116,-1.595703 +245.924659,4.149434,9.923881,-1.560797 +246.925206,4.149403,9.926929,-1.560797 +247.925417,4.189178,9.912086,-1.595703 +248.926269,4.189178,9.912086,-1.595703 +249.926425,4.146355,9.926898,-1.560797 +250.927214,4.167751,9.921016,-1.578250 +251.927401,4.167782,9.917968,-1.578250 +252.928389,4.167751,9.921016,-1.578250 +253.929398,4.146355,9.926898,-1.560797 +255.230364,4.189178,9.912086,-1.595703 +255.931270,4.143307,9.926868,-1.560797 +256.931185,4.143307,9.926868,-1.560797 +257.931407,4.143307,9.926868,-1.560797 +258.932329,4.170616,9.939333,-1.578250 +259.933460,4.143307,9.926868,-1.560797 +260.935023,4.149220,9.945216,-1.560797 +261.936413,4.143307,9.926868,-1.560797 +262.936409,4.155712,9.905655,-1.578250 +263.937192,4.161655,9.920955,-1.578250 +264.937411,4.143307,9.926868,-1.560797 +265.938216,4.161655,9.920955,-1.578250 +266.938399,4.146172,9.945185,-1.560797 +267.939460,4.134316,9.911537,-1.560797 +268.940419,4.140260,9.926837,-1.560797 +269.941423,4.140260,9.926837,-1.560797 +270.942364,4.161655,9.920955,-1.578250 +271.944291,4.161655,9.920955,-1.578250 +272.944532,4.161655,9.920955,-1.578250 +273.945190,4.146172,9.945185,-1.560797 +274.945267,4.140260,9.926837,-1.560797 +275.945169,4.140260,9.926837,-1.560797 +276.945391,4.140260,9.926837,-1.560797 +277.946394,4.167568,9.939303,-1.578250 +278.947388,4.161655,9.920955,-1.578250 +279.948387,4.146477,9.914707,-1.595703 +280.949189,4.125112,9.917541,-1.735330 +281.949647,4.127581,9.975481,-1.909863 +282.950352,4.039284,9.965453,-2.049489 +284.251021,3.977870,10.010561,-2.171662 +284.951408,3.986831,10.028940,-2.346195 +285.952385,3.965283,10.050062,-2.450915 +286.953884,3.840351,10.045764,-2.520728 +287.954165,3.534652,9.829336,-2.538181 +288.954398,3.513622,9.798644,-2.607994 +289.956018,3.452360,9.828513,-2.712714 +290.956232,3.457572,9.916962,-2.887247 +291.957173,3.353732,9.937261,-2.957060 +292.958309,3.140870,9.886361,-2.991967 +293.958410,2.283846,11.459782,-3.131593 +294.959409,1.913136,11.952924,3.081780 +295.960412,1.494301,11.467127,3.099233 +296.962624,1.176106,10.061795,3.081780 +297.963204,0.898477,10.086452,3.081780 +298.963450,0.575345,10.089317,3.099233 +299.964425,-0.525843,10.169749,3.064327 +300.965425,-0.943489,10.174717,3.081780 +301.966590,-1.083721,10.176363,3.081780 +302.967476,-1.083721,10.176363,3.081780 +303.969349,-1.766378,10.163440,-3.044327 +304.969192,-2.146566,10.080386,-3.026873 +305.969412,-2.234771,10.061215,-2.887247 +306.970408,-2.240531,10.027627,-2.730167 +307.971389,-2.179087,9.979471,-2.607994 +308.972360,-2.418221,9.812480,-2.573088 +309.974024,-2.729802,9.574656,-2.573088 +310.974243,-3.370185,9.296966,-2.555634 +312.074200,-3.442663,9.229182,-2.503274 +312.974410,-3.405754,9.196022,-2.328742 +313.975427,-3.381066,9.165787,-2.224022 +314.977400,-3.338152,9.141831,-2.049489 +315.978399,-3.325656,9.111474,-1.962222 +316.979191,-3.403102,9.235674,-1.997129 +317.979245,-3.471892,9.103916,-1.979676 +318.979860,-3.634190,8.873681,-1.805143 +319.980405,-3.426296,9.116564,-1.752783 +320.981277,-3.426296,9.116564,-1.752783 +321.981226,-3.426296,9.116564,-1.752783 +322.981404,-3.419957,9.092242,-1.630610 +323.982413,-3.620505,8.724459,-1.613157 +324.983503,-3.421663,8.043661,-1.578250 +325.984403,-3.414226,8.214432,-1.613157 +326.985405,-3.414135,8.205288,-1.613157 +327.986363,-3.401212,8.132262,-1.560797 +328.987212,-3.453482,7.567831,-1.595703 +329.987407,-3.379816,6.602303,-1.543343 +330.989262,-3.360645,6.514099,-1.543343 +331.989206,-3.385667,5.968229,-1.560797 +332.989197,-3.172744,5.403402,-1.525890 +333.989229,-3.380211,5.117849,-1.560797 +334.989200,-3.445953,4.986121,-1.682970 +335.989414,-3.464210,4.373260,-1.682970 +336.990187,-3.469513,4.293955,-1.613157 +337.991405,-3.701088,3.980728,-1.560797 +338.992678,-3.490177,3.617059,-1.560797 +340.293251,-3.431445,2.925715,-1.560797 +340.993436,-3.653877,2.612579,-1.560797 +341.994414,-3.424800,1.956469,-1.560797 +342.995192,-3.388104,1.944644,-1.560797 +343.995200,-3.391030,1.932422,-1.560797 +344.995437,-3.400174,1.932330,-1.578250 +345.996215,-3.394108,1.935439,-1.560797 +347.196436,-3.391030,1.932422,-1.560797 +347.997029,-3.403222,1.932300,-1.578250 +348.997193,-3.400174,1.932330,-1.578250 +349.997417,-3.403222,1.932300,-1.578250 +350.998405,-3.394078,1.932391,-1.560797 +351.999412,-3.394078,1.932391,-1.560797 +353.000192,-3.391030,1.932422,-1.560797 +354.000212,-3.391030,1.932422,-1.560797 +355.000193,-3.394139,1.938487,-1.560797 diff --git a/NetBeans/rcsjava/SkyTrax_NavPlot_yaw.xy b/NetBeans/rcsjava/SkyTrax_NavPlot_yaw.xy new file mode 100644 index 0000000..4aaffa8 --- /dev/null +++ b/NetBeans/rcsjava/SkyTrax_NavPlot_yaw.xy @@ -0,0 +1,354 @@ +1.862060,-1.543343 +2.863747,-1.560797 +3.866279,-1.543343 +5.068350,-1.560797 +5.870744,-1.543343 +6.872700,-1.543343 +7.874681,-1.543343 +8.879734,-1.543343 +9.882033,-1.543343 +10.883791,-1.560797 +11.887030,-1.543343 +12.888700,-1.543343 +13.891638,-1.560797 +14.893411,-1.543343 +15.894288,-1.543343 +16.893878,-1.543343 +17.894330,-1.560797 +18.894253,-1.560797 +19.894279,-1.543343 +20.894564,-1.560797 +21.894801,-1.543343 +22.895393,-1.543343 +23.895511,-1.560797 +24.896469,-1.543343 +25.896609,-1.543343 +26.897262,-1.560797 +27.897009,-1.543343 +28.897007,-1.560797 +29.897354,-1.560797 +30.897273,-1.560797 +31.897458,-1.560797 +32.898929,-1.560797 +33.900913,-1.543343 +34.902966,-1.543343 +35.905007,-1.560797 +36.906906,-1.543343 +37.908682,-1.560797 +38.910921,-1.560797 +39.912962,-1.543343 +40.921466,-1.543343 +41.923954,-1.560797 +42.925697,-1.543343 +43.928164,-1.543343 +44.929695,-1.560797 +45.933028,-1.543343 +46.834933,-1.560797 +47.836765,-1.560797 +48.839120,-1.560797 +49.840802,-1.543343 +50.842734,-1.560797 +51.844700,-1.543343 +52.846973,-1.543343 +53.848910,-1.543343 +54.850911,-1.560797 +55.853261,-1.560797 +56.854780,-1.560797 +57.856820,-1.560797 +58.858808,-1.543343 +59.860801,-1.543343 +60.863016,-1.560797 +62.064897,-1.560797 +62.867914,-1.560797 +63.869713,-1.560797 +64.871667,-1.560797 +65.873772,-1.560797 +66.876070,-1.560797 +67.878404,-1.560797 +68.879983,-1.560797 +69.882126,-1.560797 +70.882548,-1.543343 +71.883729,-1.543343 +72.886159,-1.560797 +73.888042,-1.560797 +74.890019,-1.543343 +75.891948,-1.560797 +76.891944,-1.543343 +77.893835,-1.560797 +78.895900,-1.543343 +79.897820,-1.543343 +80.899769,-1.560797 +81.901865,-1.543343 +82.908830,-1.560797 +83.911838,-1.560797 +84.914098,-1.543343 +85.915821,-1.560797 +86.917821,-1.543343 +88.119848,-1.543343 +88.921867,-1.543343 +90.126362,-1.543343 +90.927185,-1.560797 +91.927441,-1.525890 +92.928387,-1.438624 +93.929210,-1.403717 +94.929206,-1.264091 +95.929389,-1.124464 +96.930420,-0.984838 +97.931564,-0.845212 +98.932391,-0.635772 +99.933203,-0.513599 +100.933188,-0.373973 +101.933361,-0.216893 +102.934178,-0.024907 +104.134188,0.079813 +104.935203,0.097267 +105.935193,0.114720 +106.935404,0.114720 +107.936177,0.044907 +108.936208,-0.007454 +109.938207,0.044907 +110.938187,0.027454 +111.938428,0.010000 +112.939416,0.010000 +113.940205,-0.007454 +114.940193,-0.024907 +115.940191,-0.007454 +116.941125,-0.024907 +117.941487,0.010000 +118.942418,0.201987 +119.943259,0.324160 +120.943182,0.446333 +121.943204,0.620866 +122.943400,0.743039 +123.944390,0.795398 +124.945522,0.865212 +125.945411,1.039745 +126.947428,1.196824 +127.947364,1.301544 +128.948397,1.476077 +129.949394,1.598250 +130.950396,1.650610 +132.352402,1.580797 +132.953279,1.563343 +133.953189,1.545890 +134.953389,1.545890 +135.954402,1.528437 +136.955461,1.545890 +137.956352,1.545890 +138.957410,1.545890 +139.958392,1.528437 +140.959409,1.528437 +141.960396,1.580797 +142.861574,1.615703 +143.862469,1.633157 +144.863195,1.633157 +145.863390,1.615703 +146.868049,1.615703 +147.869776,1.633157 +148.871889,1.615703 +149.873886,1.615703 +150.875866,1.633157 +151.877828,1.615703 +152.879855,1.615703 +154.181858,1.615703 +154.883724,1.615703 +155.886089,1.615703 +156.887967,1.615703 +157.889864,1.615703 +158.891873,1.615703 +159.893875,1.615703 +160.895960,1.615703 +161.897842,1.615703 +162.899972,1.598250 +163.901960,1.598250 +164.903772,1.598250 +165.905946,1.598250 +166.907992,1.598250 +167.909696,1.580797 +168.912441,1.580797 +169.914790,1.580797 +170.916896,1.580797 +171.918850,1.580797 +172.920854,1.563343 +173.922862,1.580797 +174.924819,1.563343 +175.926883,1.545890 +176.928978,1.545890 +177.930832,1.563343 +178.932925,1.563343 +179.934862,1.406264 +180.936845,1.284091 +181.938726,1.161918 +182.940692,0.952478 +183.942830,0.952478 +184.944829,0.952478 +185.946693,0.952478 +186.948881,0.952478 +187.950883,0.236893 +188.952900,0.079813 +189.954815,0.027454 +190.956881,0.027454 +191.958689,0.027454 +192.960833,-0.164533 +193.962709,-0.286706 +194.966869,-0.426333 +195.968907,-0.548506 +196.970679,-0.723039 +197.972867,-0.845212 +198.974723,-0.932478 +199.976954,-1.107011 +200.979021,-1.281544 +201.980886,-1.438624 +202.882854,-1.560797 +203.883534,-1.578250 +204.885701,-1.578250 +205.887951,-1.578250 +207.189751,-1.578250 +207.892070,-1.595703 +209.194012,-1.525890 +209.896679,-1.490984 +210.897193,-1.508437 +211.897222,-1.508437 +212.897432,-1.473530 +213.898440,-1.473530 +214.899234,-1.473530 +215.899216,-1.490984 +216.900874,-1.490984 +217.901446,-1.490984 +218.903318,-1.473530 +219.904767,-1.490984 +220.905335,-1.490984 +221.906250,-1.490984 +222.906925,-1.473530 +223.907186,-1.508437 +224.907425,-1.490984 +225.908359,-1.560797 +226.909415,-1.648063 +227.910364,-1.648063 +228.911354,-1.648063 +229.912399,-1.648063 +230.913362,-1.578250 +231.914225,-1.578250 +232.914194,-1.613157 +233.914782,-1.595703 +234.915734,-1.595703 +235.916414,-1.560797 +236.917503,-1.560797 +237.918387,-1.560797 +238.919410,-1.560797 +239.920410,-1.560797 +240.921204,-1.560797 +241.921255,-1.560797 +242.922198,-1.560797 +243.922920,-1.560797 +244.923602,-1.595703 +245.924659,-1.560797 +246.925206,-1.560797 +247.925417,-1.595703 +248.926269,-1.595703 +249.926425,-1.560797 +250.927214,-1.578250 +251.927401,-1.578250 +252.928389,-1.578250 +253.929398,-1.560797 +255.230364,-1.595703 +255.931270,-1.560797 +256.931185,-1.560797 +257.931407,-1.560797 +258.932329,-1.578250 +259.933460,-1.560797 +260.935023,-1.560797 +261.936413,-1.560797 +262.936409,-1.578250 +263.937192,-1.578250 +264.937411,-1.560797 +265.938216,-1.578250 +266.938399,-1.560797 +267.939460,-1.560797 +268.940419,-1.560797 +269.941423,-1.560797 +270.942364,-1.578250 +271.944291,-1.578250 +272.944532,-1.578250 +273.945190,-1.560797 +274.945267,-1.560797 +275.945169,-1.560797 +276.945391,-1.560797 +277.946394,-1.578250 +278.947388,-1.578250 +279.948387,-1.595703 +280.949189,-1.735330 +281.949647,-1.909863 +282.950352,-2.049489 +284.251021,-2.171662 +284.951408,-2.346195 +285.952385,-2.450915 +286.953884,-2.520728 +287.954165,-2.538181 +288.954398,-2.607994 +289.956018,-2.712714 +290.956232,-2.887247 +291.957173,-2.957060 +292.958309,-2.991967 +293.958410,-3.131593 +294.959409,3.081780 +295.960412,3.099233 +296.962624,3.081780 +297.963204,3.081780 +298.963450,3.099233 +299.964425,3.064327 +300.965425,3.081780 +301.966590,3.081780 +302.967476,3.081780 +303.969349,-3.044327 +304.969192,-3.026873 +305.969412,-2.887247 +306.970408,-2.730167 +307.971389,-2.607994 +308.972360,-2.573088 +309.974024,-2.573088 +310.974243,-2.555634 +312.074200,-2.503274 +312.974410,-2.328742 +313.975427,-2.224022 +314.977400,-2.049489 +315.978399,-1.962222 +316.979191,-1.997129 +317.979245,-1.979676 +318.979860,-1.805143 +319.980405,-1.752783 +320.981277,-1.752783 +321.981226,-1.752783 +322.981404,-1.630610 +323.982413,-1.613157 +324.983503,-1.578250 +325.984403,-1.613157 +326.985405,-1.613157 +327.986363,-1.560797 +328.987212,-1.595703 +329.987407,-1.543343 +330.989262,-1.543343 +331.989206,-1.560797 +332.989197,-1.525890 +333.989229,-1.560797 +334.989200,-1.682970 +335.989414,-1.682970 +336.990187,-1.613157 +337.991405,-1.560797 +338.992678,-1.560797 +340.293251,-1.560797 +340.993436,-1.560797 +341.994414,-1.560797 +342.995192,-1.560797 +343.995200,-1.560797 +344.995437,-1.578250 +345.996215,-1.560797 +347.196436,-1.560797 +347.997029,-1.578250 +348.997193,-1.578250 +349.997417,-1.578250 +350.998405,-1.560797 +351.999412,-1.560797 +353.000192,-1.560797 +354.000212,-1.560797 +355.000193,-1.560797 diff --git a/NetBeans/rcsjava/brain_tech_cmd_go_through_pos2.txt b/NetBeans/rcsjava/brain_tech_cmd_go_through_pos2.txt new file mode 100644 index 0000000..b6cf2a3 --- /dev/null +++ b/NetBeans/rcsjava/brain_tech_cmd_go_through_pos2.txt @@ -0,0 +1,12 @@ +# Friday, May 8, 2009 4:40:19 PM EDT +# Name=MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_WP +# Id=54304 +# RCS_CMD_MSG -- int serial_number; +# MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_WP -- struct WaypointList waypoint_list;char label[64]; +# WaypointList -- int waypoints_length;NML_DYNAMIC_LENGTH_ARRAY Waypoint waypoints[25]; +#[WaypointList :Id=-2:HiddenInfo=int waypoints_length;NML_DYNAMIC_LENGTH_ARRAY double waypoints[25].p.x;NML_DYNAMIC_LENGTH_ARRAY double waypoints[25].p.y;NML_DYNAMIC_LENGTH_ARRAY double waypoints[25].p.z;NML_DYNAMIC_LENGTH_ARRAY double waypoints[25].neighborhood;NML_DYNAMIC_LENGTH_ARRAY double waypoints[25].speed;NML_DYNAMIC_LENGTH_ARRAY unsigned char waypoints[25].quality; +# Waypoint -- PM_CARTESIAN p;double neighborhood;double speed;unsigned char quality; +#[Waypoint :Id=-2:HiddenInfo=double p.x;double p.y;double p.z;double neighborhood;double speed;unsigned char quality; +# PM_CARTESIAN -- double x;double y;double z; +#[PM_CARTESIAN :Id=-2:HiddenInfo=double x;double y;double z; +,72,4,3.25,13.0,0,0.5,0.5,0,3.25,10.5,0,0.5,0.5,0,0.5,10.5,0,0.5,0.5,0,-1.5,5.5,0,0.5,0.5,0,-2.55,10.1,0,0.5,0.4,0,-3.2,10.05,0,0.1,0.25,0,-3.4,9.1,0,0.1,0.25,0,-3.4,3.8,0,0.4,0.5,0,-3.4,1.5,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,vj_demo,0 diff --git a/NetBeans/rcsjava/build.xml b/NetBeans/rcsjava/build.xml new file mode 100644 index 0000000..798e895 --- /dev/null +++ b/NetBeans/rcsjava/build.xml @@ -0,0 +1,122 @@ + + + + + + Builds, tests, and runs the project rcsjava. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + os.name = ${os.name} + + + + + diff --git a/NetBeans/rcsjava/cmd.xy b/NetBeans/rcsjava/cmd.xy new file mode 100644 index 0000000..c085d47 --- /dev/null +++ b/NetBeans/rcsjava/cmd.xy @@ -0,0 +1,9 @@ +3.2,18.4 +3.2,12.5 +3.2,10.2 +2.2,10.15 +-2.55,10.1 +-3.2,10.05 +-3.2,9.1 +-3.4,3.8 +-3.4,1.5 diff --git a/NetBeans/rcsjava/install.bat b/NetBeans/rcsjava/install.bat new file mode 100644 index 0000000..311d73a --- /dev/null +++ b/NetBeans/rcsjava/install.bat @@ -0,0 +1,3 @@ +cd /d %~dp0 +echo "put " java -jar %CD%\dist\rcsjava.jar --subclass Plotter %%* " in " %1\Desktop\plotter.bat +echo java -jar %CD%\dist\rcsjava.jar --subclass Plotter %%* > %1\Desktop\plotter.bat \ No newline at end of file diff --git a/NetBeans/rcsjava/license-NIST.txt b/NetBeans/rcsjava/license-NIST.txt new file mode 100644 index 0000000..631ae7c --- /dev/null +++ b/NetBeans/rcsjava/license-NIST.txt @@ -0,0 +1,24 @@ +<#if licenseFirst??> +${licenseFirst} + +${licensePrefix}This is public domain software, however it is preferred +${licensePrefix}that the following disclaimers be attached. +${licensePrefix} +${licensePrefix}Software Copywrite/Warranty Disclaimer +${licensePrefix} +${licensePrefix}This software was developed at the National Institute of Standards and +${licensePrefix}Technology by employees of the Federal Government in the course of their +${licensePrefix}official duties. Pursuant to title 17 Section 105 of the United States +${licensePrefix}Code this software is not subject to copyright protection and is in the +${licensePrefix}public domain. NIST Real-Time Control System software is an experimental +${licensePrefix}system. NIST assumes no responsibility whatsoever for its use by other +${licensePrefix}parties, and makes no guarantees, expressed or implied, about its +${licensePrefix}quality, reliability, or any other characteristic. We would appreciate +${licensePrefix}acknowledgement if the software is used. This software can be +${licensePrefix}redistributed and/or modified freely provided that any derivative works +${licensePrefix}bear some notice that they are derived from it, and any modified +${licensePrefix}versions bear some notice that they have been modified. +${licensePrefix} +<#if licenseLast??> +${licenseLast} + diff --git a/NetBeans/rcsjava/manifest.mf b/NetBeans/rcsjava/manifest.mf new file mode 100644 index 0000000..753f76c --- /dev/null +++ b/NetBeans/rcsjava/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +SplashScreen-Image: diagapplet/diag_splash.gif +X-COMMENT: Main-Class will be added automatically by build diff --git a/NetBeans/rcsjava/nav_110.xy b/NetBeans/rcsjava/nav_110.xy new file mode 100644 index 0000000..312d31c --- /dev/null +++ b/NetBeans/rcsjava/nav_110.xy @@ -0,0 +1,1022 @@ +X,Y +3.010000,26.252001 +3.010000,26.252001 +3.010000,26.253000 +3.010000,26.253000 +3.009000,26.254000 +3.009000,26.257000 +3.009000,26.257000 +3.009000,26.254000 +3.009000,26.254000 +3.009000,26.240000 +3.012000,26.211000 +3.014000,26.169001 +3.014000,26.169001 +3.019000,26.115000 +3.019000,26.115000 +3.023000,26.052999 +3.023000,26.052999 +3.026000,25.981001 +3.030000,25.900000 +3.030000,25.900000 +3.033000,25.809999 +3.033000,25.809999 +3.038000,25.718000 +3.038000,25.718000 +3.045000,25.587000 +3.045000,25.587000 +3.054000,25.493999 +3.054000,25.493999 +3.063000,25.389999 +3.072000,25.268999 +3.072000,25.268999 +3.083000,25.150999 +3.083000,25.150999 +3.099000,25.025000 +3.099000,25.025000 +3.108000,24.886000 +3.115000,24.735001 +3.115000,24.735001 +3.122000,24.580999 +3.122000,24.580999 +3.126000,24.417000 +3.126000,24.417000 +3.131000,24.273001 +3.140000,24.103001 +3.140000,24.103001 +3.147000,23.924000 +3.147000,23.924000 +3.149000,23.722000 +3.149000,23.722000 +3.154000,23.487000 +3.154000,23.487000 +3.156000,23.236000 +3.157000,22.995001 +3.157000,22.995001 +3.161000,22.788000 +3.161000,22.788000 +3.163000,22.533001 +3.163000,22.533001 +3.169000,22.278999 +3.173000,22.065001 +3.173000,22.065001 +3.173000,22.065001 +3.175000,21.823999 +3.182000,21.596001 +3.185000,21.357000 +3.193000,21.129999 +3.193000,21.129999 +3.197000,20.899000 +3.197000,20.899000 +3.201000,20.671000 +3.207000,20.443001 +3.207000,20.443001 +3.212000,20.188000 +3.212000,20.188000 +3.220000,19.969000 +3.220000,19.969000 +3.227000,19.723000 +3.227000,19.723000 +3.236000,19.490999 +3.236000,19.490999 +3.248000,19.254999 +3.255000,19.020000 +3.255000,19.020000 +3.263000,18.784000 +3.263000,18.784000 +3.267000,18.540001 +3.267000,18.540001 +3.272000,18.320000 +3.277000,18.082001 +3.284000,17.886000 +3.284000,17.886000 +3.282000,17.634001 +3.282000,17.634001 +3.268000,17.451000 +3.268000,17.451000 +3.249000,17.278999 +3.249000,17.278999 +3.233000,17.107000 +3.221000,16.917999 +3.211000,16.729000 +3.211000,16.729000 +3.203000,16.533001 +3.203000,16.533001 +3.193000,16.336000 +3.184000,16.136999 +3.184000,16.136999 +3.181000,15.962000 +3.181000,15.962000 +3.177000,15.788000 +3.177000,15.788000 +3.167000,15.615000 +3.162000,15.442000 +3.162000,15.442000 +3.155000,15.286000 +3.155000,15.286000 +3.147000,15.113000 +3.147000,15.113000 +3.138000,14.939000 +3.138000,14.939000 +3.128000,14.767000 +3.117000,14.591000 +3.117000,14.591000 +3.111000,14.420000 +3.111000,14.420000 +3.105000,14.244000 +3.102000,14.071000 +3.102000,14.071000 +3.098000,13.905000 +3.098000,13.905000 +3.091000,13.741000 +3.087000,13.580000 +3.087000,13.580000 +3.082000,13.420000 +3.079000,13.267000 +3.079000,13.267000 +3.080000,13.130000 +3.080000,13.130000 +3.080000,13.130000 +3.079000,12.978000 +3.076000,12.832000 +3.073000,12.692000 +3.073000,12.692000 +3.071000,12.571000 +3.071000,12.571000 +3.067000,12.451000 +3.067000,12.451000 +3.066000,12.338000 +3.065000,12.231000 +3.065000,12.231000 +3.065000,12.231000 +3.064000,12.125000 +3.064000,12.036000 +3.064000,12.036000 +3.064000,11.943000 +3.064000,11.894000 +3.064000,11.894000 +3.066000,11.835000 +3.068000,11.772000 +3.068000,11.772000 +3.068000,11.685000 +3.068000,11.685000 +3.070000,11.607000 +3.070000,11.607000 +3.068000,11.539000 +3.068000,11.484000 +3.068000,11.484000 +3.071000,11.442000 +3.071000,11.442000 +3.071000,11.432000 +3.072000,11.427000 +3.072000,11.427000 +3.071000,11.418000 +3.071000,11.418000 +3.069000,11.406000 +3.069000,11.406000 +3.068000,11.392000 +3.068000,11.392000 +3.069000,11.378000 +3.069000,11.378000 +3.070000,11.362000 +3.071000,11.345000 +3.071000,11.345000 +3.072000,11.322000 +3.072000,11.322000 +3.072000,11.296000 +3.072000,11.296000 +3.071000,11.271000 +3.071000,11.271000 +3.073000,11.248000 +3.075000,11.227000 +3.075000,11.227000 +3.078000,11.205000 +3.078000,11.205000 +3.078000,11.182000 +3.078000,11.182000 +3.080000,11.158000 +3.081000,11.134000 +3.081000,11.111000 +3.081000,11.111000 +3.084000,11.088000 +3.084000,11.088000 +3.087000,11.065000 +3.087000,11.065000 +3.089000,11.042000 +3.089000,11.019000 +3.089000,11.019000 +3.091000,10.998000 +3.091000,10.998000 +3.093000,10.975000 +3.093000,10.975000 +3.094000,10.952000 +3.099000,10.928000 +3.099000,10.928000 +3.103000,10.902000 +3.103000,10.902000 +3.105000,10.877000 +3.105000,10.877000 +3.108000,10.851000 +3.108000,10.851000 +3.111000,10.829000 +3.111000,10.829000 +3.113000,10.808000 +3.115000,10.785000 +3.115000,10.785000 +3.119000,10.764000 +3.119000,10.764000 +3.122000,10.741000 +3.122000,10.741000 +3.125000,10.719000 +3.130000,10.695000 +3.130000,10.695000 +3.134000,10.671000 +3.138000,10.648000 +3.138000,10.648000 +3.141000,10.625000 +3.141000,10.625000 +3.144000,10.605000 +3.144000,10.605000 +3.147000,10.581000 +3.149000,10.558000 +3.149000,10.558000 +3.153000,10.534000 +3.153000,10.534000 +3.157000,10.510000 +3.157000,10.510000 +3.161000,10.489000 +3.164000,10.468000 +3.164000,10.468000 +3.167000,10.445000 +3.167000,10.445000 +3.170000,10.424000 +3.174000,10.402000 +3.174000,10.402000 +3.178000,10.379000 +3.178000,10.379000 +3.184000,10.361000 +3.184000,10.361000 +3.189000,10.339000 +3.189000,10.339000 +3.184000,10.320000 +3.178000,10.304000 +3.178000,10.304000 +3.174000,10.298000 +3.162000,10.299000 +3.162000,10.299000 +3.158000,10.306000 +3.158000,10.306000 +3.146000,10.314000 +3.146000,10.314000 +3.134000,10.323000 +3.134000,10.323000 +3.130000,10.331000 +3.128000,10.337000 +3.128000,10.337000 +3.130000,10.343000 +3.130000,10.343000 +3.132000,10.344000 +3.133000,10.345000 +3.132000,10.346000 +3.132000,10.346000 +3.136000,10.346000 +3.136000,10.346000 +3.133000,10.346000 +3.133000,10.346000 +3.133000,10.346000 +3.133000,10.346000 +3.132000,10.347000 +3.133000,10.347000 +3.133000,10.347000 +3.134000,10.347000 +3.134000,10.347000 +3.136000,10.347000 +3.136000,10.347000 +3.145000,10.344000 +3.164000,10.341000 +3.164000,10.341000 +3.218000,10.341000 +3.218000,10.341000 +3.285000,10.330000 +3.286000,10.326000 +3.286000,10.326000 +3.285000,10.328000 +3.285000,10.328000 +3.285000,10.328000 +3.286000,10.328000 +3.287000,10.329000 +3.289000,10.334000 +3.289000,10.334000 +3.291000,10.336000 +3.288000,10.338000 +3.288000,10.338000 +3.289000,10.339000 +3.289000,10.339000 +3.290000,10.338000 +3.290000,10.338000 +3.291000,10.340000 +3.291000,10.340000 +3.292000,10.341000 +3.293000,10.342000 +3.293000,10.342000 +3.293000,10.340000 +3.293000,10.340000 +3.287000,10.340000 +3.282000,10.340000 +3.282000,10.340000 +3.275000,10.341000 +3.275000,10.341000 +3.266000,10.344000 +3.266000,10.344000 +3.258000,10.343000 +3.258000,10.343000 +3.249000,10.340000 +3.238000,10.338000 +3.238000,10.338000 +3.227000,10.333000 +3.217000,10.328000 +3.217000,10.328000 +3.206000,10.324000 +3.206000,10.324000 +3.190000,10.319000 +3.190000,10.319000 +3.170000,10.313000 +3.151000,10.308000 +3.151000,10.308000 +3.132000,10.302000 +3.132000,10.302000 +3.112000,10.296000 +3.092000,10.292000 +3.092000,10.292000 +3.069000,10.289000 +3.069000,10.289000 +3.047000,10.287000 +3.047000,10.287000 +3.025000,10.285000 +3.025000,10.285000 +3.003000,10.283000 +3.003000,10.283000 +2.982000,10.280000 +2.961000,10.277000 +2.961000,10.277000 +2.941000,10.274000 +2.921000,10.270000 +2.921000,10.270000 +2.921000,10.270000 +2.900000,10.264000 +2.900000,10.264000 +2.877000,10.259000 +2.857000,10.252000 +2.857000,10.252000 +2.828000,10.248000 +2.800000,10.245000 +2.800000,10.245000 +2.800000,10.245000 +2.773000,10.244000 +2.747000,10.244000 +2.747000,10.244000 +2.726000,10.243000 +2.726000,10.243000 +2.704000,10.242000 +2.683000,10.241000 +2.683000,10.241000 +2.661000,10.240000 +2.661000,10.240000 +2.642000,10.238000 +2.642000,10.238000 +2.622000,10.237000 +2.594000,10.235000 +2.563000,10.234000 +2.563000,10.234000 +2.563000,10.234000 +2.531000,10.235000 +2.502000,10.234000 +2.502000,10.234000 +2.478000,10.236000 +2.453000,10.236000 +2.453000,10.236000 +2.453000,10.236000 +2.431000,10.235000 +2.409000,10.237000 +2.409000,10.237000 +2.388000,10.238000 +2.388000,10.238000 +2.368000,10.239000 +2.346000,10.240000 +2.325000,10.242000 +2.325000,10.242000 +2.305000,10.245000 +2.305000,10.245000 +2.287000,10.250000 +2.287000,10.250000 +2.269000,10.255000 +2.269000,10.255000 +2.248000,10.259000 +2.248000,10.259000 +2.231000,10.261000 +2.233000,10.264000 +2.233000,10.264000 +2.234000,10.267000 +2.230000,10.272000 +2.230000,10.272000 +2.230000,10.272000 +2.206000,10.277000 +2.157000,10.282000 +2.157000,10.282000 +2.094000,10.290000 +2.033000,10.297000 +2.033000,10.297000 +1.974000,10.307000 +1.974000,10.307000 +1.913000,10.315000 +1.913000,10.315000 +1.855000,10.323000 +1.793000,10.328000 +1.793000,10.328000 +1.741000,10.333000 +1.741000,10.333000 +1.692000,10.338000 +1.648000,10.343000 +1.648000,10.343000 +1.648000,10.343000 +1.605000,10.350000 +1.605000,10.350000 +1.557000,10.359000 +1.504000,10.365000 +1.504000,10.365000 +1.450000,10.372000 +1.395000,10.378000 +1.395000,10.378000 +1.342000,10.382000 +1.342000,10.382000 +1.289000,10.387000 +1.237000,10.390000 +1.237000,10.390000 +1.195000,10.396000 +1.142000,10.402000 +1.142000,10.402000 +1.096000,10.410000 +1.096000,10.410000 +1.046000,10.416000 +1.046000,10.416000 +0.991000,10.420000 +0.991000,10.420000 +0.941000,10.422000 +0.893000,10.424000 +0.842000,10.428000 +0.842000,10.428000 +0.793000,10.430000 +0.793000,10.430000 +0.793000,10.430000 +0.741000,10.432000 +0.690000,10.435000 +0.636000,10.437000 +0.636000,10.437000 +0.580000,10.440000 +0.580000,10.440000 +0.524000,10.442000 +0.467000,10.441000 +0.467000,10.441000 +0.412000,10.438000 +0.412000,10.438000 +0.356000,10.437000 +0.301000,10.435000 +0.301000,10.435000 +0.246000,10.435000 +0.246000,10.435000 +0.192000,10.437000 +0.192000,10.437000 +0.136000,10.437000 +0.079000,10.436000 +0.079000,10.436000 +0.022000,10.434000 +-0.034000,10.431000 +-0.034000,10.431000 +-0.034000,10.431000 +-0.092000,10.427000 +-0.150000,10.426000 +-0.150000,10.426000 +-0.210000,10.424000 +-0.210000,10.424000 +-0.274000,10.422000 +-0.274000,10.422000 +-0.336000,10.424000 +-0.396000,10.422000 +-0.455000,10.422000 +-0.455000,10.422000 +-0.455000,10.422000 +-0.512000,10.421000 +-0.567000,10.416000 +-0.567000,10.416000 +-0.623000,10.414000 +-0.623000,10.414000 +-0.680000,10.412000 +-0.733000,10.408000 +-0.733000,10.408000 +-0.733000,10.408000 +-0.790000,10.405000 +-0.849000,10.402000 +-0.912000,10.399000 +-0.912000,10.399000 +-0.912000,10.399000 +-0.968000,10.392000 +-1.025000,10.385000 +-1.025000,10.385000 +-1.081000,10.376000 +-1.081000,10.376000 +-1.138000,10.367000 +-1.202000,10.362000 +-1.202000,10.362000 +-1.202000,10.362000 +-1.264000,10.358000 +-1.328000,10.353000 +-1.387000,10.349000 +-1.387000,10.349000 +-1.445000,10.343000 +-1.445000,10.343000 +-1.506000,10.337000 +-1.564000,10.333000 +-1.564000,10.333000 +-1.620000,10.327000 +-1.620000,10.327000 +-1.683000,10.324000 +-1.683000,10.324000 +-1.745000,10.320000 +-1.807000,10.316000 +-1.807000,10.316000 +-1.868000,10.312000 +-1.868000,10.312000 +-1.925000,10.305000 +-1.979000,10.298000 +-1.979000,10.298000 +-2.036000,10.288000 +-2.036000,10.288000 +-2.092000,10.282000 +-2.092000,10.282000 +-2.151000,10.276000 +-2.209000,10.269000 +-2.209000,10.269000 +-2.266000,10.265000 +-2.266000,10.265000 +-2.329000,10.251000 +-2.385000,10.241000 +-2.385000,10.241000 +-2.430000,10.234000 +-2.430000,10.234000 +-2.463000,10.228000 +-2.485000,10.226000 +-2.485000,10.226000 +-2.485000,10.226000 +-2.514000,10.223000 +-2.514000,10.223000 +-2.529000,10.221000 +-2.529000,10.221000 +-2.542000,10.223000 +-2.560000,10.222000 +-2.560000,10.222000 +-2.581000,10.217000 +-2.581000,10.217000 +-2.606000,10.215000 +-2.606000,10.215000 +-2.633000,10.213000 +-2.661000,10.209000 +-2.661000,10.209000 +-2.688000,10.209000 +-2.714000,10.206000 +-2.714000,10.206000 +-2.741000,10.201000 +-2.741000,10.201000 +-2.767000,10.196000 +-2.767000,10.196000 +-2.796000,10.191000 +-2.796000,10.191000 +-2.823000,10.186000 +-2.850000,10.184000 +-2.850000,10.184000 +-2.850000,10.184000 +-2.899000,10.183000 +-2.899000,10.183000 +-2.924000,10.182000 +-2.924000,10.182000 +-2.924000,10.182000 +-2.972000,10.177000 +-2.972000,10.177000 +-2.996000,10.176000 +-2.996000,10.176000 +-3.022000,10.173000 +-3.022000,10.173000 +-3.047000,10.173000 +-3.071000,10.172000 +-3.071000,10.172000 +-3.096000,10.170000 +-3.096000,10.170000 +-3.120000,10.170000 +-3.142000,10.168000 +-3.142000,10.168000 +-3.165000,10.169000 +-3.165000,10.169000 +-3.187000,10.169000 +-3.207000,10.169000 +-3.207000,10.169000 +-3.227000,10.170000 +-3.227000,10.170000 +-3.245000,10.173000 +-3.245000,10.173000 +-3.268000,10.173000 +-3.289000,10.174000 +-3.289000,10.174000 +-3.303000,10.174000 +-3.303000,10.174000 +-3.313000,10.169000 +-3.313000,10.169000 +-3.310000,10.163000 +-3.302000,10.147000 +-3.302000,10.147000 +-3.311000,10.140000 +-3.311000,10.140000 +-3.317000,10.136000 +-3.317000,10.136000 +-3.305000,10.132000 +-3.274000,10.128000 +-3.274000,10.128000 +-3.230000,10.124000 +-3.198000,10.121000 +-3.198000,10.121000 +-3.188000,10.121000 +-3.188000,10.121000 +-3.181000,10.137000 +-3.181000,10.137000 +-3.177000,10.142000 +-3.168000,10.146000 +-3.161000,10.154000 +-3.161000,10.154000 +-3.161000,10.154000 +-3.168000,10.156000 +-3.168000,10.156000 +-3.178000,10.159000 +-3.185000,10.170000 +-3.185000,10.170000 +-3.190000,10.177000 +-3.194000,10.186000 +-3.194000,10.186000 +-3.195000,10.191000 +-3.195000,10.191000 +-3.195000,10.191000 +-3.193000,10.187000 +-3.193000,10.187000 +-3.197000,10.183000 +-3.197000,10.183000 +-3.203000,10.179000 +-3.203000,10.179000 +-3.208000,10.177000 +-3.217000,10.172000 +-3.217000,10.172000 +-3.224000,10.166000 +-3.224000,10.166000 +-3.250000,10.150000 +-3.292000,10.124000 +-3.292000,10.124000 +-3.334000,10.100000 +-3.334000,10.100000 +-3.370000,10.078000 +-3.370000,10.078000 +-3.390000,10.065000 +-3.399000,10.057000 +-3.408000,10.050000 +-3.408000,10.050000 +-3.408000,10.050000 +-3.416000,10.042000 +-3.415000,10.040000 +-3.415000,10.040000 +-3.410000,10.040000 +-3.410000,10.040000 +-3.406000,10.038000 +-3.408000,10.035000 +-3.408000,10.035000 +-3.416000,10.025000 +-3.416000,10.025000 +-3.422000,10.013000 +-3.427000,10.003000 +-3.427000,10.003000 +-3.432000,9.992000 +-3.432000,9.992000 +-3.439000,9.973000 +-3.439000,9.973000 +-3.446000,9.956000 +-3.446000,9.956000 +-3.454000,9.933000 +-3.462000,9.917000 +-3.462000,9.917000 +-3.468000,9.899000 +-3.468000,9.899000 +-3.475000,9.877000 +-3.475000,9.877000 +-3.479000,9.857000 +-3.485000,9.832000 +-3.491000,9.811000 +-3.491000,9.811000 +-3.497000,9.790000 +-3.497000,9.790000 +-3.504000,9.770000 +-3.504000,9.770000 +-3.508000,9.746000 +-3.514000,9.726000 +-3.514000,9.726000 +-3.518000,9.705000 +-3.522000,9.681000 +-3.522000,9.681000 +-3.524000,9.658000 +-3.522000,9.632000 +-3.522000,9.632000 +-3.522000,9.608000 +-3.522000,9.608000 +-3.520000,9.585000 +-3.520000,9.585000 +-3.522000,9.561000 +-3.526000,9.540000 +-3.526000,9.540000 +-3.528000,9.517000 +-3.529000,9.497000 +-3.529000,9.497000 +-3.527000,9.474000 +-3.527000,9.474000 +-3.526000,9.452000 +-3.523000,9.429000 +-3.523000,9.429000 +-3.521000,9.404000 +-3.521000,9.404000 +-3.523000,9.380000 +-3.524000,9.359000 +-3.524000,9.359000 +-3.524000,9.337000 +-3.524000,9.337000 +-3.524000,9.314000 +-3.524000,9.314000 +-3.524000,9.289000 +-3.524000,9.289000 +-3.523000,9.263000 +-3.525000,9.242000 +-3.525000,9.242000 +-3.534000,9.223000 +-3.534000,9.223000 +-3.542000,9.202000 +-3.549000,9.174000 +-3.549000,9.174000 +-3.554000,9.134000 +-3.554000,9.134000 +-3.552000,9.082000 +-3.552000,9.082000 +-3.550000,9.019000 +-3.550000,9.019000 +-3.552000,8.949000 +-3.554000,8.877000 +-3.554000,8.877000 +-3.555000,8.801000 +-3.555000,8.725000 +-3.555000,8.725000 +-3.555000,8.654000 +-3.555000,8.654000 +-3.552000,8.586000 +-3.550000,8.520000 +-3.550000,8.520000 +-3.550000,8.460000 +-3.550000,8.460000 +-3.549000,8.394000 +-3.549000,8.394000 +-3.548000,8.327000 +-3.548000,8.327000 +-3.545000,8.264000 +-3.543000,8.201000 +-3.541000,8.141000 +-3.541000,8.141000 +-3.538000,8.081000 +-3.538000,8.081000 +-3.537000,8.020000 +-3.535000,7.959000 +-3.535000,7.959000 +-3.533000,7.895000 +-3.533000,7.895000 +-3.530000,7.832000 +-3.530000,7.832000 +-3.527000,7.767000 +-3.522000,7.703000 +-3.522000,7.703000 +-3.519000,7.641000 +-3.519000,7.641000 +-3.517000,7.578000 +-3.514000,7.520000 +-3.514000,7.520000 +-3.511000,7.460000 +-3.509000,7.401000 +-3.509000,7.401000 +-3.508000,7.344000 +-3.508000,7.344000 +-3.507000,7.291000 +-3.507000,7.291000 +-3.507000,7.233000 +-3.507000,7.233000 +-3.506000,7.179000 +-3.503000,7.120000 +-3.503000,7.120000 +-3.499000,7.061000 +-3.497000,7.003000 +-3.497000,7.003000 +-3.495000,6.944000 +-3.495000,6.944000 +-3.493000,6.882000 +-3.493000,6.882000 +-3.492000,6.822000 +-3.493000,6.761000 +-3.493000,6.761000 +-3.490000,6.700000 +-3.490000,6.643000 +-3.490000,6.643000 +-3.489000,6.582000 +-3.489000,6.582000 +-3.486000,6.525000 +-3.486000,6.525000 +-3.486000,6.525000 +-3.485000,6.468000 +-3.485000,6.468000 +-3.481000,6.412000 +-3.481000,6.412000 +-3.482000,6.291000 +-3.482000,6.291000 +-3.482000,6.230000 +-3.482000,6.166000 +-3.482000,6.166000 +-3.479000,6.098000 +-3.479000,6.098000 +-3.475000,6.034000 +-3.471000,5.969000 +-3.471000,5.969000 +-3.470000,5.907000 +-3.470000,5.907000 +-3.467000,5.848000 +-3.467000,5.786000 +-3.467000,5.786000 +-3.467000,5.728000 +-3.465000,5.669000 +-3.465000,5.669000 +-3.465000,5.613000 +-3.467000,5.557000 +-3.467000,5.557000 +-3.470000,5.503000 +-3.470000,5.503000 +-3.474000,5.445000 +-3.474000,5.445000 +-3.476000,5.386000 +-3.478000,5.333000 +-3.478000,5.333000 +-3.477000,5.277000 +-3.477000,5.277000 +-3.479000,5.201000 +-3.479000,5.201000 +-3.483000,5.146000 +-3.483000,5.146000 +-3.483000,5.092000 +-3.486000,5.037000 +-3.487000,4.978000 +-3.487000,4.978000 +-3.488000,4.914000 +-3.488000,4.914000 +-3.491000,4.847000 +-3.491000,4.847000 +-3.493000,4.778000 +-3.493000,4.778000 +-3.494000,4.693000 +-3.495000,4.626000 +-3.495000,4.626000 +-3.495000,4.561000 +-3.495000,4.561000 +-3.498000,4.496000 +-3.498000,4.496000 +-3.500000,4.429000 +-3.504000,4.364000 +-3.504000,4.364000 +-3.504000,4.364000 +-3.508000,4.300000 +-3.510000,4.238000 +-3.510000,4.238000 +-3.512000,4.177000 +-3.512000,4.177000 +-3.512000,4.123000 +-3.512000,4.066000 +-3.512000,4.066000 +-3.514000,4.008000 +-3.514000,4.008000 +-3.513000,3.945000 +-3.515000,3.877000 +-3.515000,3.877000 +-3.517000,3.811000 +-3.517000,3.811000 +-3.517000,3.748000 +-3.518000,3.686000 +-3.518000,3.686000 +-3.520000,3.624000 +-3.520000,3.624000 +-3.520000,3.563000 +-3.520000,3.563000 +-3.521000,3.501000 +-3.521000,3.446000 +-3.521000,3.446000 +-3.521000,3.391000 +-3.522000,3.335000 +-3.522000,3.335000 +-3.523000,3.276000 +-3.523000,3.276000 +-3.526000,3.216000 +-3.526000,3.216000 +-3.528000,3.157000 +-3.529000,3.097000 +-3.529000,3.097000 +-3.532000,3.038000 +-3.532000,3.038000 +-3.533000,2.980000 +-3.534000,2.924000 +-3.534000,2.924000 +-3.536000,2.868000 +-3.536000,2.868000 +-3.536000,2.812000 +-3.536000,2.812000 +-3.536000,2.753000 +-3.536000,2.753000 +-3.535000,2.695000 +-3.534000,2.636000 +-3.534000,2.636000 +-3.531000,2.581000 +-3.531000,2.581000 +-3.531000,2.524000 +-3.531000,2.466000 +-3.531000,2.466000 +-3.531000,2.404000 +-3.531000,2.404000 +-3.531000,2.344000 +-3.531000,2.344000 +-3.531000,2.344000 +-3.529000,2.286000 +-3.527000,2.233000 +-3.525000,2.189000 +-3.525000,2.189000 +-3.525000,2.189000 +-3.524000,2.154000 +-3.523000,2.129000 +-3.523000,2.129000 +-3.523000,2.115000 +-3.523000,2.115000 +-3.523000,2.115000 +-3.524000,2.117000 +-3.524000,2.127000 +-3.523000,2.140000 +-3.523000,2.140000 +-3.523000,2.140000 +-3.524000,2.156000 +-3.522000,2.172000 +-3.522000,2.172000 +-3.523000,2.183000 +-3.523000,2.183000 +-3.523000,2.183000 +-3.523000,2.191000 +-3.520000,2.198000 +-3.520000,2.198000 +-3.520000,2.196000 +-3.520000,2.196000 +-3.520000,2.196000 +-3.519000,2.196000 +-3.521000,2.197000 +-3.521000,2.197000 +-3.522000,2.197000 +-3.523000,2.197000 +-3.523000,2.197000 +-3.523000,2.197000 +-3.523000,2.196000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.521000,2.197000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.522000,2.195000 +-3.523000,2.195000 +-3.523000,2.195000 +-3.523000,2.195000 +-3.521000,2.197000 +-3.522000,2.197000 +-3.522000,2.197000 +-3.523000,2.198000 +-3.523000,2.198000 +-3.522000,2.197000 +-3.522000,2.197000 +-3.523000,2.199000 +-3.521000,2.198000 +-3.519000,2.198000 +-3.519000,2.198000 +-3.519000,2.198000 +-3.520000,2.198000 +-3.520000,2.198000 diff --git a/NetBeans/rcsjava/nav_114.xy b/NetBeans/rcsjava/nav_114.xy new file mode 100644 index 0000000..f682079 --- /dev/null +++ b/NetBeans/rcsjava/nav_114.xy @@ -0,0 +1,1025 @@ +X,Y +2.821000,26.511999 +2.819000,26.511999 +2.818000,26.511999 +2.818000,26.511999 +2.818000,26.511000 +2.820000,26.507999 +2.820000,26.507999 +2.822000,26.500000 +2.822000,26.500000 +2.824000,26.479000 +2.825000,26.447001 +2.825000,26.447001 +2.825000,26.403999 +2.828000,26.351999 +2.828000,26.351999 +2.832000,26.287001 +2.840000,26.209999 +2.840000,26.209999 +2.849000,26.125000 +2.849000,26.125000 +2.856000,25.993999 +2.856000,25.993999 +2.864000,25.902000 +2.864000,25.902000 +2.867000,25.792999 +2.872000,25.686001 +2.872000,25.686001 +2.878000,25.580999 +2.878000,25.580999 +2.884000,25.461000 +2.892000,25.337999 +2.892000,25.337999 +2.902000,25.207001 +2.902000,25.207001 +2.912000,25.070000 +2.912000,25.070000 +2.912000,25.070000 +2.936000,24.738001 +2.936000,24.738001 +2.945000,24.566000 +2.945000,24.566000 +2.955000,24.372000 +2.955000,24.372000 +2.964000,24.235001 +2.964000,24.235001 +2.969000,24.049000 +2.969000,24.049000 +2.977000,23.868999 +2.983000,23.669001 +2.983000,23.669001 +2.989000,23.414000 +2.998000,23.184000 +2.998000,23.184000 +3.005000,22.961000 +3.005000,22.961000 +3.010000,22.718000 +3.018000,22.493000 +3.018000,22.493000 +3.025000,22.243000 +3.032000,22.006001 +3.032000,22.006001 +3.039000,21.723000 +3.039000,21.723000 +3.044000,21.493000 +3.044000,21.493000 +3.052000,21.268999 +3.061000,21.035999 +3.061000,21.035999 +3.071000,20.806000 +3.071000,20.806000 +3.080000,20.584000 +3.088000,20.339001 +3.088000,20.339001 +3.094000,20.096001 +3.100000,19.846001 +3.100000,19.846001 +3.109000,19.610001 +3.118000,19.370001 +3.118000,19.370001 +3.118000,19.370001 +3.136000,19.156000 +3.147000,18.923000 +3.156000,18.688999 +3.156000,18.688999 +3.163000,18.441999 +3.166000,18.205999 +3.166000,18.205999 +3.174000,17.951000 +3.181000,17.712000 +3.181000,17.712000 +3.181000,17.712000 +3.189000,17.525000 +3.189000,17.525000 +3.190000,17.337000 +3.193000,17.156000 +3.195000,16.972000 +3.195000,16.972000 +3.194000,16.790001 +3.194000,16.790001 +3.200000,16.613001 +3.200000,16.613001 +3.201000,16.430000 +3.201000,16.430000 +3.200000,16.252001 +3.203000,16.065001 +3.203000,16.065001 +3.200000,15.851000 +3.200000,15.851000 +3.196000,15.668000 +3.196000,15.668000 +3.199000,15.500000 +3.199000,15.326000 +3.199000,15.326000 +3.200000,15.147000 +3.203000,14.963000 +3.203000,14.963000 +3.201000,14.719000 +3.201000,14.719000 +3.197000,14.518000 +3.197000,14.336000 +3.197000,14.336000 +3.197000,14.149000 +3.199000,13.936000 +3.199000,13.936000 +3.199000,13.936000 +3.204000,13.749000 +3.206000,13.564000 +3.206000,13.564000 +3.204000,13.366000 +3.204000,13.366000 +3.201000,13.201000 +3.196000,13.025000 +3.196000,13.025000 +3.195000,12.838000 +3.195000,12.838000 +3.192000,12.653000 +3.191000,12.487000 +3.191000,12.487000 +3.189000,12.310000 +3.189000,12.310000 +3.184000,12.140000 +3.180000,11.987000 +3.176000,11.835000 +3.176000,11.835000 +3.176000,11.835000 +3.174000,11.702000 +3.173000,11.557000 +3.173000,11.557000 +3.172000,11.429000 +3.170000,11.297000 +3.170000,11.297000 +3.170000,11.297000 +3.166000,11.184000 +3.164000,11.083000 +3.164000,11.083000 +3.162000,10.988000 +3.161000,10.894000 +3.161000,10.894000 +3.159000,10.842000 +3.154000,10.782000 +3.154000,10.782000 +3.154000,10.782000 +3.152000,10.716000 +3.152000,10.627000 +3.152000,10.627000 +3.152000,10.627000 +3.151000,10.550000 +3.152000,10.485000 +3.152000,10.430000 +3.152000,10.430000 +3.150000,10.384000 +3.150000,10.384000 +3.151000,10.368000 +3.152000,10.363000 +3.152000,10.363000 +3.150000,10.361000 +3.149000,10.368000 +3.149000,10.368000 +3.143000,10.365000 +3.143000,10.365000 +3.143000,10.365000 +3.135000,10.358000 +3.127000,10.349000 +3.120000,10.343000 +3.116000,10.339000 +3.116000,10.339000 +3.111000,10.326000 +3.111000,10.326000 +3.105000,10.320000 +3.105000,10.320000 +3.105000,10.320000 +3.098000,10.308000 +3.092000,10.303000 +3.089000,10.301000 +3.082000,10.299000 +3.082000,10.299000 +3.077000,10.293000 +3.077000,10.293000 +3.069000,10.289000 +3.062000,10.288000 +3.062000,10.288000 +3.058000,10.285000 +3.058000,10.285000 +3.052000,10.279000 +3.048000,10.274000 +3.048000,10.274000 +3.047000,10.269000 +3.047000,10.269000 +3.046000,10.265000 +3.046000,10.265000 +3.046000,10.264000 +3.046000,10.262000 +3.046000,10.262000 +3.047000,10.260000 +3.047000,10.260000 +3.050000,10.253000 +3.070000,10.245000 +3.070000,10.245000 +3.088000,10.236000 +3.088000,10.236000 +3.099000,10.226000 +3.099000,10.226000 +3.107000,10.220000 +3.108000,10.215000 +3.108000,10.215000 +3.125000,10.214000 +3.125000,10.214000 +3.129000,10.216000 +3.127000,10.219000 +3.127000,10.219000 +3.110000,10.224000 +3.110000,10.224000 +3.090000,10.226000 +3.090000,10.226000 +3.090000,10.226000 +3.083000,10.227000 +3.081000,10.227000 +3.073000,10.226000 +3.073000,10.226000 +3.058000,10.229000 +3.051000,10.231000 +3.051000,10.231000 +3.046000,10.236000 +3.046000,10.236000 +3.054000,10.239000 +3.054000,10.239000 +3.056000,10.242000 +3.056000,10.246000 +3.056000,10.246000 +3.056000,10.249000 +3.055000,10.254000 +3.055000,10.254000 +3.059000,10.258000 +3.059000,10.258000 +3.063000,10.261000 +3.070000,10.264000 +3.070000,10.264000 +3.077000,10.266000 +3.077000,10.266000 +3.077000,10.266000 +3.082000,10.269000 +3.087000,10.272000 +3.087000,10.272000 +3.090000,10.274000 +3.093000,10.274000 +3.093000,10.274000 +3.096000,10.274000 +3.096000,10.274000 +3.100000,10.274000 +3.100000,10.274000 +3.104000,10.275000 +3.104000,10.275000 +3.110000,10.277000 +3.115000,10.279000 +3.115000,10.279000 +3.118000,10.282000 +3.118000,10.282000 +3.123000,10.281000 +3.124000,10.282000 +3.124000,10.282000 +3.127000,10.283000 +3.127000,10.283000 +3.129000,10.281000 +3.131000,10.280000 +3.131000,10.280000 +3.134000,10.279000 +3.134000,10.279000 +3.136000,10.277000 +3.141000,10.276000 +3.141000,10.276000 +3.141000,10.276000 +3.143000,10.277000 +3.145000,10.276000 +3.146000,10.276000 +3.146000,10.276000 +3.147000,10.274000 +3.148000,10.275000 +3.148000,10.275000 +3.150000,10.275000 +3.150000,10.275000 +3.150000,10.275000 +3.151000,10.275000 +3.150000,10.276000 +3.150000,10.276000 +3.150000,10.275000 +3.150000,10.275000 +3.151000,10.275000 +3.151000,10.275000 +3.153000,10.274000 +3.157000,10.274000 +3.166000,10.272000 +3.166000,10.272000 +3.176000,10.272000 +3.176000,10.272000 +3.186000,10.271000 +3.186000,10.271000 +3.201000,10.270000 +3.201000,10.270000 +3.226000,10.270000 +3.248000,10.268000 +3.248000,10.268000 +3.262000,10.266000 +3.262000,10.266000 +3.269000,10.263000 +3.265000,10.261000 +3.265000,10.261000 +3.258000,10.258000 +3.258000,10.258000 +3.249000,10.256000 +3.249000,10.256000 +3.241000,10.253000 +3.225000,10.250000 +3.225000,10.250000 +3.210000,10.245000 +3.210000,10.245000 +3.194000,10.239000 +3.173000,10.233000 +3.173000,10.233000 +3.173000,10.233000 +3.153000,10.225000 +3.133000,10.218000 +3.133000,10.218000 +3.112000,10.212000 +3.112000,10.212000 +3.092000,10.207000 +3.071000,10.204000 +3.071000,10.204000 +3.048000,10.200000 +3.048000,10.200000 +3.029000,10.195000 +3.010000,10.189000 +3.010000,10.189000 +2.990000,10.181000 +2.990000,10.181000 +2.971000,10.176000 +2.951000,10.170000 +2.951000,10.170000 +2.929000,10.165000 +2.929000,10.165000 +2.907000,10.162000 +2.886000,10.158000 +2.886000,10.158000 +2.886000,10.158000 +2.866000,10.153000 +2.846000,10.150000 +2.846000,10.150000 +2.826000,10.146000 +2.805000,10.142000 +2.805000,10.142000 +2.782000,10.141000 +2.782000,10.141000 +2.759000,10.136000 +2.759000,10.136000 +2.735000,10.132000 +2.735000,10.132000 +2.711000,10.128000 +2.690000,10.123000 +2.690000,10.123000 +2.669000,10.121000 +2.669000,10.121000 +2.641000,10.118000 +2.610000,10.115000 +2.610000,10.115000 +2.580000,10.113000 +2.551000,10.112000 +2.551000,10.112000 +2.528000,10.110000 +2.507000,10.108000 +2.507000,10.108000 +2.484000,10.106000 +2.484000,10.106000 +2.460000,10.104000 +2.460000,10.104000 +2.437000,10.102000 +2.415000,10.098000 +2.415000,10.098000 +2.415000,10.098000 +2.389000,10.094000 +2.361000,10.089000 +2.361000,10.089000 +2.334000,10.087000 +2.306000,10.088000 +2.306000,10.088000 +2.280000,10.090000 +2.280000,10.090000 +2.252000,10.092000 +2.252000,10.092000 +2.235000,10.092000 +2.235000,10.093000 +2.235000,10.093000 +2.239000,10.095000 +2.239000,10.095000 +2.235000,10.097000 +2.213000,10.099000 +2.166000,10.104000 +2.166000,10.104000 +2.110000,10.109000 +2.110000,10.109000 +2.059000,10.113000 +2.059000,10.113000 +2.004000,10.116000 +1.950000,10.118000 +1.950000,10.118000 +1.950000,10.118000 +1.894000,10.122000 +1.894000,10.122000 +1.841000,10.126000 +1.792000,10.129000 +1.792000,10.129000 +1.748000,10.131000 +1.707000,10.135000 +1.707000,10.135000 +1.664000,10.139000 +1.664000,10.139000 +1.620000,10.143000 +1.620000,10.143000 +1.575000,10.148000 +1.530000,10.152000 +1.530000,10.152000 +1.487000,10.155000 +1.445000,10.157000 +1.445000,10.157000 +1.404000,10.157000 +1.404000,10.157000 +1.363000,10.159000 +1.363000,10.159000 +1.319000,10.160000 +1.273000,10.163000 +1.273000,10.163000 +1.224000,10.166000 +1.224000,10.166000 +1.179000,10.168000 +1.135000,10.171000 +1.135000,10.171000 +1.092000,10.174000 +1.092000,10.174000 +1.045000,10.178000 +1.045000,10.178000 +0.998000,10.180000 +0.998000,10.180000 +0.951000,10.183000 +0.906000,10.186000 +0.906000,10.186000 +0.865000,10.188000 +0.865000,10.188000 +0.820000,10.190000 +0.775000,10.194000 +0.775000,10.194000 +0.726000,10.194000 +0.726000,10.194000 +0.683000,10.197000 +0.637000,10.197000 +0.637000,10.197000 +0.637000,10.197000 +0.596000,10.196000 +0.596000,10.196000 +0.553000,10.200000 +0.504000,10.200000 +0.456000,10.203000 +0.456000,10.203000 +0.404000,10.203000 +0.404000,10.203000 +0.357000,10.201000 +0.357000,10.201000 +0.312000,10.199000 +0.265000,10.198000 +0.265000,10.198000 +0.217000,10.197000 +0.217000,10.197000 +0.170000,10.196000 +0.122000,10.197000 +0.122000,10.197000 +0.076000,10.198000 +0.076000,10.198000 +0.028000,10.201000 +0.028000,10.201000 +-0.019000,10.202000 +-0.064000,10.202000 +-0.064000,10.202000 +-0.109000,10.203000 +-0.109000,10.203000 +-0.155000,10.202000 +-0.155000,10.202000 +-0.204000,10.203000 +-0.204000,10.203000 +-0.254000,10.201000 +-0.304000,10.201000 +-0.304000,10.201000 +-0.352000,10.199000 +-0.405000,10.198000 +-0.405000,10.198000 +-0.455000,10.201000 +-0.455000,10.201000 +-0.505000,10.200000 +-0.554000,10.203000 +-0.554000,10.203000 +-0.601000,10.202000 +-0.647000,10.201000 +-0.647000,10.201000 +-0.692000,10.203000 +-0.741000,10.199000 +-0.741000,10.199000 +-0.741000,10.199000 +-0.786000,10.198000 +-0.832000,10.197000 +-0.832000,10.197000 +-0.877000,10.191000 +-0.921000,10.187000 +-0.921000,10.187000 +-0.967000,10.182000 +-0.967000,10.182000 +-1.015000,10.174000 +-1.067000,10.172000 +-1.067000,10.172000 +-1.067000,10.172000 +-1.120000,10.167000 +-1.172000,10.164000 +-1.172000,10.164000 +-1.224000,10.161000 +-1.224000,10.161000 +-1.274000,10.155000 +-1.274000,10.155000 +-1.322000,10.154000 +-1.370000,10.152000 +-1.370000,10.152000 +-1.417000,10.151000 +-1.417000,10.151000 +-1.465000,10.150000 +-1.512000,10.147000 +-1.512000,10.147000 +-1.565000,10.145000 +-1.565000,10.145000 +-1.617000,10.142000 +-1.617000,10.142000 +-1.674000,10.142000 +-1.730000,10.141000 +-1.730000,10.141000 +-1.785000,10.140000 +-1.785000,10.140000 +-1.837000,10.139000 +-1.887000,10.137000 +-1.887000,10.137000 +-1.887000,10.137000 +-1.935000,10.136000 +-1.981000,10.135000 +-1.981000,10.135000 +-2.031000,10.133000 +-2.081000,10.129000 +-2.081000,10.129000 +-2.128000,10.124000 +-2.128000,10.124000 +-2.173000,10.120000 +-2.173000,10.120000 +-2.216000,10.116000 +-2.216000,10.116000 +-2.255000,10.114000 +-2.290000,10.111000 +-2.290000,10.111000 +-2.317000,10.109000 +-2.335000,10.107000 +-2.335000,10.107000 +-2.357000,10.105000 +-2.357000,10.105000 +-2.383000,10.103000 +-2.411000,10.101000 +-2.411000,10.101000 +-2.437000,10.102000 +-2.463000,10.098000 +-2.463000,10.098000 +-2.490000,10.099000 +-2.490000,10.099000 +-2.522000,10.097000 +-2.554000,10.094000 +-2.554000,10.094000 +-2.554000,10.094000 +-2.583000,10.094000 +-2.614000,10.092000 +-2.614000,10.092000 +-2.642000,10.089000 +-2.642000,10.089000 +-2.672000,10.089000 +-2.672000,10.089000 +-2.703000,10.090000 +-2.732000,10.089000 +-2.732000,10.089000 +-2.762000,10.088000 +-2.791000,10.086000 +-2.791000,10.086000 +-2.821000,10.082000 +-2.821000,10.082000 +-2.852000,10.081000 +-2.880000,10.080000 +-2.880000,10.080000 +-2.880000,10.080000 +-2.909000,10.079000 +-2.938000,10.076000 +-2.967000,10.073000 +-2.967000,10.073000 +-2.997000,10.072000 +-2.997000,10.072000 +-3.028000,10.070000 +-3.028000,10.070000 +-3.058000,10.070000 +-3.086000,10.068000 +-3.086000,10.068000 +-3.117000,10.069000 +-3.117000,10.069000 +-3.147000,10.067000 +-3.176000,10.063000 +-3.176000,10.063000 +-3.211000,10.058000 +-3.211000,10.058000 +-3.246000,10.054000 +-3.275000,10.051000 +-3.275000,10.051000 +-3.298000,10.051000 +-3.298000,10.051000 +-3.300000,10.049000 +-3.300000,10.049000 +-3.286000,10.042000 +-3.263000,10.026000 +-3.263000,10.026000 +-3.242000,10.016000 +-3.242000,10.016000 +-3.216000,10.010000 +-3.216000,10.010000 +-3.199000,10.009000 +-3.166000,10.011000 +-3.166000,10.011000 +-3.139000,10.011000 +-3.124000,10.010000 +-3.124000,10.010000 +-3.111000,10.013000 +-3.111000,10.013000 +-3.113000,10.022000 +-3.113000,10.022000 +-3.109000,10.027000 +-3.103000,10.036000 +-3.103000,10.036000 +-3.103000,10.038000 +-3.103000,10.038000 +-3.108000,10.041000 +-3.108000,10.041000 +-3.115000,10.047000 +-3.123000,10.049000 +-3.123000,10.049000 +-3.129000,10.054000 +-3.136000,10.054000 +-3.136000,10.054000 +-3.141000,10.049000 +-3.141000,10.049000 +-3.150000,10.044000 +-3.170000,10.037000 +-3.170000,10.037000 +-3.189000,10.034000 +-3.189000,10.034000 +-3.210000,10.029000 +-3.210000,10.029000 +-3.225000,10.024000 +-3.225000,10.024000 +-3.232000,10.016000 +-3.232000,10.016000 +-3.262000,9.991000 +-3.288000,9.963000 +-3.288000,9.963000 +-3.314000,9.935000 +-3.314000,9.935000 +-3.327000,9.916000 +-3.327000,9.916000 +-3.328000,9.902000 +-3.331000,9.894000 +-3.331000,9.894000 +-3.336000,9.884000 +-3.336000,9.884000 +-3.344000,9.875000 +-3.341000,9.873000 +-3.341000,9.873000 +-3.339000,9.867000 +-3.339000,9.867000 +-3.338000,9.854000 +-3.344000,9.834000 +-3.344000,9.834000 +-3.344000,9.834000 +-3.351000,9.815000 +-3.357000,9.796000 +-3.364000,9.776000 +-3.364000,9.776000 +-3.370000,9.752000 +-3.374000,9.729000 +-3.374000,9.729000 +-3.378000,9.709000 +-3.378000,9.709000 +-3.378000,9.709000 +-3.381000,9.692000 +-3.386000,9.676000 +-3.386000,9.676000 +-3.393000,9.657000 +-3.401000,9.638000 +-3.401000,9.638000 +-3.408000,9.621000 +-3.408000,9.621000 +-3.414000,9.600000 +-3.414000,9.600000 +-3.419000,9.583000 +-3.419000,9.583000 +-3.424000,9.563000 +-3.428000,9.545000 +-3.428000,9.545000 +-3.432000,9.524000 +-3.432000,9.524000 +-3.437000,9.504000 +-3.442000,9.483000 +-3.442000,9.483000 +-3.446000,9.462000 +-3.446000,9.462000 +-3.450000,9.443000 +-3.453000,9.421000 +-3.453000,9.421000 +-3.453000,9.398000 +-3.453000,9.376000 +-3.453000,9.376000 +-3.452000,9.353000 +-3.452000,9.353000 +-3.450000,9.330000 +-3.450000,9.330000 +-3.452000,9.309000 +-3.451000,9.289000 +-3.451000,9.289000 +-3.450000,9.271000 +-3.450000,9.271000 +-3.444000,9.256000 +-3.438000,9.240000 +-3.438000,9.240000 +-3.434000,9.222000 +-3.434000,9.222000 +-3.431000,9.207000 +-3.431000,9.207000 +-3.434000,9.191000 +-3.435000,9.182000 +-3.435000,9.182000 +-3.437000,9.169000 +-3.437000,9.169000 +-3.445000,9.151000 +-3.445000,9.151000 +-3.449000,9.125000 +-3.456000,9.089000 +-3.456000,9.089000 +-3.460000,9.045000 +-3.460000,9.045000 +-3.457000,8.990000 +-3.455000,8.925000 +-3.451000,8.847000 +-3.451000,8.847000 +-3.448000,8.771000 +-3.448000,8.771000 +-3.444000,8.698000 +-3.442000,8.633000 +-3.442000,8.633000 +-3.439000,8.573000 +-3.439000,8.573000 +-3.436000,8.517000 +-3.434000,8.462000 +-3.434000,8.462000 +-3.429000,8.405000 +-3.429000,8.405000 +-3.426000,8.350000 +-3.426000,8.350000 +-3.421000,8.291000 +-3.416000,8.230000 +-3.416000,8.230000 +-3.410000,8.167000 +-3.410000,8.167000 +-3.405000,8.105000 +-3.400000,8.040000 +-3.400000,8.040000 +-3.395000,7.978000 +-3.395000,7.978000 +-3.392000,7.917000 +-3.392000,7.917000 +-3.386000,7.854000 +-3.381000,7.794000 +-3.381000,7.794000 +-3.376000,7.731000 +-3.376000,7.731000 +-3.371000,7.666000 +-3.369000,7.604000 +-3.369000,7.604000 +-3.369000,7.604000 +-3.368000,7.544000 +-3.368000,7.487000 +-3.366000,7.432000 +-3.366000,7.432000 +-3.363000,7.377000 +-3.363000,7.377000 +-3.361000,7.322000 +-3.361000,7.322000 +-3.359000,7.267000 +-3.358000,7.214000 +-3.358000,7.214000 +-3.356000,7.161000 +-3.354000,7.107000 +-3.354000,7.107000 +-3.351000,7.053000 +-3.351000,7.053000 +-3.350000,7.001000 +-3.350000,7.001000 +-3.349000,6.946000 +-3.347000,6.886000 +-3.347000,6.886000 +-3.345000,6.825000 +-3.345000,6.825000 +-3.344000,6.763000 +-3.344000,6.763000 +-3.342000,6.704000 +-3.341000,6.646000 +-3.341000,6.646000 +-3.339000,6.584000 +-3.339000,6.584000 +-3.337000,6.521000 +-3.337000,6.521000 +-3.337000,6.457000 +-3.337000,6.400000 +-3.337000,6.400000 +-3.338000,6.343000 +-3.338000,6.285000 +-3.338000,6.285000 +-3.338000,6.227000 +-3.338000,6.227000 +-3.339000,6.168000 +-3.339000,6.168000 +-3.340000,6.108000 +-3.340000,6.045000 +-3.340000,6.045000 +-3.339000,5.982000 +-3.339000,5.982000 +-3.336000,5.918000 +-3.336000,5.918000 +-3.334000,5.856000 +-3.334000,5.793000 +-3.334000,5.793000 +-3.334000,5.731000 +-3.334000,5.731000 +-3.335000,5.671000 +-3.334000,5.610000 +-3.334000,5.610000 +-3.335000,5.556000 +-3.335000,5.556000 +-3.337000,5.501000 +-3.337000,5.501000 +-3.340000,5.444000 +-3.340000,5.444000 +-3.344000,5.390000 +-3.345000,5.330000 +-3.345000,5.330000 +-3.347000,5.268000 +-3.347000,5.268000 +-3.349000,5.206000 +-3.349000,5.146000 +-3.349000,5.146000 +-3.356000,5.082000 +-3.356000,5.082000 +-3.364000,5.015000 +-3.364000,5.015000 +-3.370000,4.947000 +-3.376000,4.879000 +-3.376000,4.879000 +-3.380000,4.816000 +-3.380000,4.816000 +-3.380000,4.753000 +-3.382000,4.690000 +-3.382000,4.690000 +-3.385000,4.623000 +-3.387000,4.558000 +-3.387000,4.558000 +-3.390000,4.495000 +-3.390000,4.495000 +-3.393000,4.434000 +-3.393000,4.434000 +-3.396000,4.372000 +-3.396000,4.372000 +-3.400000,4.307000 +-3.403000,4.248000 +-3.403000,4.248000 +-3.407000,4.189000 +-3.410000,4.131000 +-3.410000,4.131000 +-3.410000,4.131000 +-3.411000,4.073000 +-3.413000,4.014000 +-3.413000,4.014000 +-3.415000,3.956000 +-3.415000,3.956000 +-3.418000,3.898000 +-3.422000,3.839000 +-3.422000,3.839000 +-3.425000,3.778000 +-3.425000,3.778000 +-3.427000,3.716000 +-3.429000,3.655000 +-3.429000,3.655000 +-3.431000,3.593000 +-3.431000,3.593000 +-3.433000,3.532000 +-3.435000,3.469000 +-3.435000,3.469000 +-3.437000,3.410000 +-3.437000,3.410000 +-3.439000,3.351000 +-3.439000,3.351000 +-3.440000,3.297000 +-3.441000,3.243000 +-3.441000,3.243000 +-3.442000,3.184000 +-3.442000,3.184000 +-3.442000,3.130000 +-3.443000,3.076000 +-3.443000,3.076000 +-3.445000,3.025000 +-3.445000,3.025000 +-3.448000,2.974000 +-3.448000,2.974000 +-3.451000,2.917000 +-3.451000,2.917000 +-3.452000,2.856000 +-3.452000,2.856000 +-3.453000,2.793000 +-3.453000,2.733000 +-3.453000,2.733000 +-3.452000,2.674000 +-3.452000,2.674000 +-3.450000,2.618000 +-3.448000,2.560000 +-3.448000,2.560000 +-3.448000,2.503000 +-3.448000,2.503000 +-3.449000,2.446000 +-3.449000,2.446000 +-3.452000,2.392000 +-3.452000,2.392000 +-3.453000,2.341000 +-3.453000,2.341000 +-3.451000,2.290000 +-3.451000,2.290000 +-3.449000,2.243000 +-3.447000,2.203000 +-3.447000,2.203000 +-3.443000,2.172000 +-3.443000,2.172000 +-3.441000,2.159000 +-3.439000,2.151000 +-3.439000,2.151000 +-3.439000,2.151000 +-3.437000,2.154000 +-3.437000,2.154000 +-3.436000,2.167000 +-3.435000,2.180000 +-3.434000,2.194000 +-3.434000,2.194000 +-3.434000,2.194000 +-3.435000,2.208000 +-3.435000,2.208000 +-3.436000,2.217000 +-3.437000,2.222000 +-3.437000,2.222000 +-3.437000,2.222000 +-3.437000,2.229000 +-3.435000,2.230000 +-3.435000,2.230000 +-3.435000,2.230000 +-3.436000,2.230000 +-3.436000,2.230000 +-3.435000,2.231000 +-3.435000,2.230000 +-3.435000,2.229000 +-3.435000,2.229000 +-3.435000,2.229000 +-3.436000,2.226000 +-3.435000,2.226000 +-3.435000,2.226000 +-3.436000,2.225000 +-3.436000,2.225000 +-3.437000,2.227000 +-3.437000,2.227000 +-3.435000,2.230000 +-3.436000,2.229000 +-3.436000,2.229000 +-3.436000,2.229000 +-3.436000,2.230000 +-3.436000,2.228000 +-3.436000,2.227000 +-3.436000,2.227000 +-3.436000,2.227000 +-3.436000,2.227000 +-3.436000,2.227000 +-3.436000,2.227000 +-3.435000,2.228000 +-3.436000,2.228000 +-3.436000,2.228000 +-3.436000,2.228000 +-3.437000,2.228000 +-3.437000,2.228000 +-3.437000,2.228000 +-3.437000,2.228000 +-3.437000,2.228000 diff --git a/NetBeans/rcsjava/nbproject/build-impl.xml b/NetBeans/rcsjava/nbproject/build-impl.xml new file mode 100644 index 0000000..49fc037 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/build-impl.xml @@ -0,0 +1,1396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.java.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans/rcsjava/nbproject/build-impl.xml~ b/NetBeans/rcsjava/nbproject/build-impl.xml~ new file mode 100644 index 0000000..2c482e4 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/build-impl.xml~ @@ -0,0 +1,631 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.java.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans/rcsjava/nbproject/configs/LADAR_DATA.properties b/NetBeans/rcsjava/nbproject/configs/LADAR_DATA.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/configs/LineFitTester.properties b/NetBeans/rcsjava/nbproject/configs/LineFitTester.properties new file mode 100644 index 0000000..dbf801e --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/LineFitTester.properties @@ -0,0 +1 @@ +main.class=rcs.posemath.LineFitTester diff --git a/NetBeans/rcsjava/nbproject/configs/c_crada_repos.properties b/NetBeans/rcsjava/nbproject/configs/c_crada_repos.properties new file mode 100644 index 0000000..6dac329 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/c_crada_repos.properties @@ -0,0 +1 @@ +run.jvmargs=-DCONFIG_NML=atrv.nml diff --git a/NetBeans/rcsjava/nbproject/configs/codegen_cgtester.properties b/NetBeans/rcsjava/nbproject/configs/codegen_cgtester.properties new file mode 100644 index 0000000..f815cb4 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/codegen_cgtester.properties @@ -0,0 +1 @@ +main.class=diagapplet.CodeGen.CodeGenCmdLine diff --git a/NetBeans/rcsjava/nbproject/configs/codegen_emc2.properties b/NetBeans/rcsjava/nbproject/configs/codegen_emc2.properties new file mode 100644 index 0000000..f815cb4 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/codegen_emc2.properties @@ -0,0 +1 @@ +main.class=diagapplet.CodeGen.CodeGenCmdLine diff --git a/NetBeans/rcsjava/nbproject/configs/codegen_emc_nml.properties b/NetBeans/rcsjava/nbproject/configs/codegen_emc_nml.properties new file mode 100644 index 0000000..f815cb4 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/codegen_emc_nml.properties @@ -0,0 +1 @@ +main.class=diagapplet.CodeGen.CodeGenCmdLine diff --git a/NetBeans/rcsjava/nbproject/configs/codegenposemath.properties b/NetBeans/rcsjava/nbproject/configs/codegenposemath.properties new file mode 100644 index 0000000..f815cb4 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/codegenposemath.properties @@ -0,0 +1 @@ +main.class=diagapplet.CodeGen.CodeGenCmdLine diff --git a/NetBeans/rcsjava/nbproject/configs/design_rcs_single_dir.properties b/NetBeans/rcsjava/nbproject/configs/design_rcs_single_dir.properties new file mode 100644 index 0000000..e618147 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/design_rcs_single_dir.properties @@ -0,0 +1 @@ +main.class=rcsdesign.rcsDesign diff --git a/NetBeans/rcsjava/nbproject/configs/diag_ccrada.properties b/NetBeans/rcsjava/nbproject/configs/diag_ccrada.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/configs/diag_emc2.properties b/NetBeans/rcsjava/nbproject/configs/diag_emc2.properties new file mode 100644 index 0000000..f5ccac0 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/diag_emc2.properties @@ -0,0 +1 @@ +main.class=diagapplet.diag_NB_UI diff --git a/NetBeans/rcsjava/nbproject/configs/diag_linuxcnc.properties b/NetBeans/rcsjava/nbproject/configs/diag_linuxcnc.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/configs/diag_moast.properties b/NetBeans/rcsjava/nbproject/configs/diag_moast.properties new file mode 100644 index 0000000..581d59b --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/diag_moast.properties @@ -0,0 +1 @@ +run.jvmargs=-DCONFIG_NML=/home/shackle/moast/etc/moast_wps_1.nml -DPRIM=1 -DSERVO=1 -DTWO_SICK=1 -DATRV_TUNE=1 -DHAVE_MOAST_LOG_RECORDER=1 diff --git a/NetBeans/rcsjava/nbproject/configs/diag_rcs_single_dir.properties b/NetBeans/rcsjava/nbproject/configs/diag_rcs_single_dir.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/configs/diag_sicks.properties b/NetBeans/rcsjava/nbproject/configs/diag_sicks.properties new file mode 100644 index 0000000..2125a0f --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/diag_sicks.properties @@ -0,0 +1 @@ +run.jvmargs=-DCONFIG_NML=nmlcfgsvr: -DHAVE_MOAST_LOG_RECORDER=1 -DTWO_SICK=1 -DHUMAN_TRACKING=1 diff --git a/NetBeans/rcsjava/nbproject/configs/diagcradamoast_wireless.properties b/NetBeans/rcsjava/nbproject/configs/diagcradamoast_wireless.properties new file mode 100644 index 0000000..3a704f9 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/diagcradamoast_wireless.properties @@ -0,0 +1 @@ +run.jvmargs=-DDATA_COLLECT_DIAG=/home/shackle/c-crada_repos/bin/c_crada.diag -DCONFIG_NML=/home/shackle/c-crada_repos/bin/moast_wps_1_wireless.nml -DSERVO=1 -DPRIM=1 -DCCRADA_BASE=/home/shackle/c-crada_repos/ diff --git a/NetBeans/rcsjava/nbproject/configs/imageframe.properties b/NetBeans/rcsjava/nbproject/configs/imageframe.properties new file mode 100644 index 0000000..05910b2 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/imageframe.properties @@ -0,0 +1 @@ +main.class=diagapplet.utils.ImageJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/load_msg_string.properties b/NetBeans/rcsjava/nbproject/configs/load_msg_string.properties new file mode 100644 index 0000000..3d27fc6 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/load_msg_string.properties @@ -0,0 +1 @@ +main.class=diagapplet.MessageFileJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/plotskytrax.properties b/NetBeans/rcsjava/nbproject/configs/plotskytrax.properties new file mode 100644 index 0000000..1c6ee6a --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/plotskytrax.properties @@ -0,0 +1 @@ +main.class=diagapplet.plotter.plotterJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/plotter.properties b/NetBeans/rcsjava/nbproject/configs/plotter.properties new file mode 100644 index 0000000..1c6ee6a --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/plotter.properties @@ -0,0 +1 @@ +main.class=diagapplet.plotter.plotterJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/plottest.properties b/NetBeans/rcsjava/nbproject/configs/plottest.properties new file mode 100644 index 0000000..1c6ee6a --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/plottest.properties @@ -0,0 +1 @@ +main.class=diagapplet.plotter.plotterJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/plotxy.properties b/NetBeans/rcsjava/nbproject/configs/plotxy.properties new file mode 100644 index 0000000..1c6ee6a --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/plotxy.properties @@ -0,0 +1 @@ +main.class=diagapplet.plotter.plotterJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/posemath.properties b/NetBeans/rcsjava/nbproject/configs/posemath.properties new file mode 100644 index 0000000..c0c8c38 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/posemath.properties @@ -0,0 +1 @@ +main.class=rcs.posemath.Posemath diff --git a/NetBeans/rcsjava/nbproject/configs/pvjscript.properties b/NetBeans/rcsjava/nbproject/configs/pvjscript.properties new file mode 100644 index 0000000..d1ea2a5 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/pvjscript.properties @@ -0,0 +1 @@ +main.class=pvjscript.Main diff --git a/NetBeans/rcsjava/nbproject/configs/rfid.properties b/NetBeans/rcsjava/nbproject/configs/rfid.properties new file mode 100644 index 0000000..8885aa0 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/rfid.properties @@ -0,0 +1 @@ +run.jvmargs=-DCONFIG_NML=nmlcfgsvr: -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n diff --git a/NetBeans/rcsjava/nbproject/configs/sr3000_file.properties b/NetBeans/rcsjava/nbproject/configs/sr3000_file.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/configs/test_plotter.properties b/NetBeans/rcsjava/nbproject/configs/test_plotter.properties new file mode 100644 index 0000000..1c6ee6a --- /dev/null +++ b/NetBeans/rcsjava/nbproject/configs/test_plotter.properties @@ -0,0 +1 @@ +main.class=diagapplet.plotter.plotterJFrame diff --git a/NetBeans/rcsjava/nbproject/configs/tmpemc.properties b/NetBeans/rcsjava/nbproject/configs/tmpemc.properties new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/rcsjava/nbproject/genfiles.properties b/NetBeans/rcsjava/nbproject/genfiles.properties new file mode 100644 index 0000000..22277a6 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/genfiles.properties @@ -0,0 +1,11 @@ +build.xml.data.CRC32=429b29b5 +build.xml.script.CRC32=7e083264 +build.xml.stylesheet.CRC32=240b97a2 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=b8b495a0 +nbproject/build-impl.xml.script.CRC32=9bb45b47 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 +nbproject/profiler-build-impl.xml.data.CRC32=b8b495a0 +nbproject/profiler-build-impl.xml.script.CRC32=abda56ed +nbproject/profiler-build-impl.xml.stylesheet.CRC32=42cb6bcf diff --git a/NetBeans/rcsjava/nbproject/profiler-build-impl.xml b/NetBeans/rcsjava/nbproject/profiler-build-impl.xml new file mode 100644 index 0000000..7c8995d --- /dev/null +++ b/NetBeans/rcsjava/nbproject/profiler-build-impl.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + Must select one file in the IDE or set profile.class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans/rcsjava/nbproject/project.properties b/NetBeans/rcsjava/nbproject/project.properties new file mode 100644 index 0000000..90512c0 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/project.properties @@ -0,0 +1,70 @@ +project.license=NIST +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +application.splash=/home/shackle/rcslib/src/java/diagapplet/diag_splash.gif +build.generated.sources.dir=${build.dir}/generated-sources +endorsed.classpath= +javac.processorpath=\ + ${javac.classpath} +jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" +mkdist.disabled=false +application.args= +application.title=rcsjava +application.vendor=shackle +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/rcsjava.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +file.reference.src-java=../../src/java +file.reference.src-java-1=../../src/java +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs=-Xlint:-unchecked +javac.deprecation=true +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=true +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=false +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=rcs.ClassChooser +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +project.licensePath=license-NIST.txt +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +src.java.dir=${file.reference.src-java} diff --git a/NetBeans/rcsjava/nbproject/project.xml b/NetBeans/rcsjava/nbproject/project.xml new file mode 100644 index 0000000..9c66821 --- /dev/null +++ b/NetBeans/rcsjava/nbproject/project.xml @@ -0,0 +1,14 @@ + + + org.netbeans.modules.java.j2seproject + + + rcsjava + 1.6.5 + + + + + + + diff --git a/NetBeans/rcsjava/plot.xy b/NetBeans/rcsjava/plot.xy new file mode 100644 index 0000000..e46d3b8 --- /dev/null +++ b/NetBeans/rcsjava/plot.xy @@ -0,0 +1,788 @@ +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.240000,3.540000 +10.230000,3.540000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.220000,3.530000 +10.200000,3.520000 +10.190000,3.510000 +10.170000,3.500000 +10.140000,3.480000 +10.130000,3.480000 +10.090000,3.460000 +10.070000,3.450000 +10.040000,3.430000 +10.010000,3.420000 +-0.209300,0.170100 +9.980000,3.400000 +9.950000,3.390000 +9.950000,3.380000 +9.920000,3.370000 +9.890000,3.360000 +9.850000,3.340000 +9.830000,3.330000 +9.790000,3.310000 +9.770000,3.300000 +9.730000,3.280000 +9.710000,3.270000 +9.670000,3.250000 +9.650000,3.240000 +9.610000,3.230000 +9.610000,3.230000 +9.590000,3.220000 +9.600000,3.220000 +9.550000,3.200000 +9.560000,3.210000 +9.540000,3.190000 +9.540000,3.190000 +9.500000,3.180000 +9.480000,3.170000 +9.440000,3.150000 +9.460000,3.150000 +9.420000,3.140000 +9.380000,3.120000 +9.400000,3.130000 +9.370000,3.110000 +9.320000,3.100000 +9.330000,3.090000 +9.270000,3.080000 +9.250000,3.070000 +9.260000,3.070000 +9.210000,3.050000 +9.190000,3.040000 +9.150000,3.030000 +9.140000,3.020000 +9.100000,3.000000 +9.070000,2.990000 +9.050000,2.980000 +9.010000,2.970000 +8.980000,2.960000 +8.950000,2.940000 +8.910000,2.930000 +8.890000,2.920000 +8.850000,2.900000 +8.830000,2.890000 +8.790000,2.880000 +8.790000,2.880000 +8.750000,2.860000 +8.760000,2.860000 +8.730000,2.850000 +8.730000,2.850000 +8.690000,2.840000 +8.670000,2.830000 +8.630000,2.810000 +8.600000,2.810000 +8.560000,2.790000 +8.520000,2.770000 +8.500000,2.770000 +8.470000,2.750000 +8.430000,2.740000 +8.400000,2.730000 +-1.465100,1.387700 +8.360000,2.710000 +8.320000,2.700000 +8.300000,2.690000 +8.260000,2.680000 +8.240000,2.670000 +8.200000,2.660000 +8.170000,2.640000 +8.140000,2.630000 +8.090000,2.620000 +8.070000,2.610000 +8.030000,2.600000 +8.000000,2.590000 +7.960000,2.570000 +7.920000,2.560000 +7.890000,2.550000 +7.860000,2.540000 +7.810000,2.520000 +7.790000,2.520000 +7.750000,2.500000 +7.710000,2.490000 +7.690000,2.480000 +7.640000,2.470000 +7.640000,2.460000 +7.610000,2.460000 +7.610000,2.450000 +7.580000,2.450000 +7.560000,2.440000 +7.520000,2.430000 +7.500000,2.420000 +7.460000,2.410000 +7.450000,2.410000 +7.410000,2.400000 +7.380000,2.390000 +7.360000,2.380000 +7.320000,2.370000 +7.300000,2.370000 +7.260000,2.360000 +7.230000,2.350000 +7.210000,2.340000 +7.170000,2.330000 +7.150000,2.320000 +7.110000,2.310000 +7.070000,2.300000 +7.050000,2.300000 +7.060000,2.300000 +7.000000,2.280000 +7.020000,2.290000 +6.980000,2.280000 +6.940000,2.270000 +6.910000,2.260000 +6.870000,2.250000 +6.820000,2.240000 +6.800000,2.230000 +6.760000,2.220000 +6.710000,2.210000 +6.670000,2.190000 +6.620000,2.180000 +6.580000,2.170000 +6.530000,2.160000 +6.530000,2.150000 +6.490000,2.150000 +6.450000,2.140000 +6.410000,2.130000 +6.380000,2.120000 +6.370000,2.110000 +6.360000,2.110000 +6.340000,2.100000 +6.330000,2.110000 +6.320000,2.100000 +6.320000,2.100000 +6.300000,2.090000 +6.300000,2.100000 +6.290000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +-2.858100,3.086700 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.280000,2.090000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +-2.858100,3.086700 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 +6.290000,2.100000 diff --git a/NetBeans/rcsjava/plotter.bat b/NetBeans/rcsjava/plotter.bat new file mode 100644 index 0000000..2a6238c --- /dev/null +++ b/NetBeans/rcsjava/plotter.bat @@ -0,0 +1,2 @@ +cd /d %~dp0 +java -jar "rcsjava.jar" --subclass Plotter %* diff --git a/NetBeans/rcsjava/skytrax_v_nav_3.csv b/NetBeans/rcsjava/skytrax_v_nav_3.csv new file mode 100644 index 0000000..b3d0cc8 --- /dev/null +++ b/NetBeans/rcsjava/skytrax_v_nav_3.csv @@ -0,0 +1,15569 @@ +X-Axis,navDataExt1.tranAbs.x,skytrax_simplepos.y,skytrax_simplepos.x,navDataExt1.tranAbs.y +0.0,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +0.010035037994384766,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +0.06997084617614746,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.11004900932312012,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.16996288299560547,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.2099599838256836,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.26991891860961914,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.30994701385498047,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.3698859214782715,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.4099559783935547,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.4698789119720459,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.509861946105957,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.5718019008636475,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.6118569374084473,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.6717729568481445,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.7218279838562012,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.7727358341217041,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.8207528591156006,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +0.8689799308776855,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.9097459316253662,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +0.972707986831665,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +1.0216670036315918,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +1.070678949356079,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.108691930770874,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.1656248569488525,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.204653024673462,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.268812894821167,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.3077030181884766,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.3645520210266113,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +1.4045939445495605,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +1.465533971786499,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.5055749416351318,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.5654840469360352,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.605543851852417,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.665457010269165,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.7055079936981201,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.7664079666137695,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.8064448833465576,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +1.8674509525299072,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.907500982284546,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +1.9653558731079102,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.0114259719848633,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.0683138370513916,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.108350992202759,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.167341947555542,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.207411050796509,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.267313003540039,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.307426929473877,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +2.3689939975738525,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.409463882446289,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.4682769775390625,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.5083348751068115,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.569308042526245,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.6093099117279053,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.669250965118408,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.709275960922241,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.773197889328003,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.795161008834839,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.8141229152679443,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.8142428398132324,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.864248037338257,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.864331007003784,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.9041059017181396,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.904296875,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +2.9640378952026367,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +2.9640989303588867,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.004067897796631,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.0041849613189697,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.063992977142334,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.0640718936920166,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +3.1040420532226562,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +3.104161024093628,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +3.163969039916992,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +3.1640419960021973,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.2045748233795166,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.204702854156494,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.264565944671631,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.2646780014038086,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.3099558353424072,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.310075044631958,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.370913028717041,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.3709869384765625,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.403303861618042,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.4034149646759033,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +3.4640119075775146,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.46419095993042,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.535822868347168,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.5359368324279785,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.586918830871582,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.587026834487915,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.606997013092041,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.6071128845214844,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.6689159870147705,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.669006824493408,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.7109029293060303,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.711092948913574,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +3.7647759914398193,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +3.764863967895508,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +3.8188178539276123,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +3.818915843963623,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +3.887791872024536,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +3.88789701461792,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +3.9078619480133057,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +3.9079768657684326,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +3.9767539501190186,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +3.9768409729003906,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.018749952316284,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.018854856491089,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.076796054840088,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.076889991760254,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.118732929229736,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.118844032287598,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.177655935287476,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.177777051925659,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.207855939865112,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.208051919937134,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.279064893722534,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.2791688442230225,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.308815956115723,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.309001922607422,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.379540920257568,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.379629850387573,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.409692049026489,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.409893989562988,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.479491949081421,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.479606866836548,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.509637832641602,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.5098278522491455,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.582726955413818,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +4.58282995223999,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.602773904800415,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.602892875671387,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +4.662693977355957,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.662785053253174,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.70349383354187,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.703613042831421,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.766471862792969,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.766576051712036,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.803462982177734,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.80358099937439,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.8643958568573,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.864483833312988,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.904429912567139,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.904544830322266,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +4.966363906860352,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +4.966450929641724,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +5.003396987915039,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +5.003512859344482,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +5.065428972244263,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +5.065534830093384,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +5.105356931686401,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +5.105471849441528,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +5.171284914016724,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +5.171380996704102,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.205306053161621,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.205418825149536,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.265378952026367,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.265496015548706,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.311389923095703,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.311486005783081,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.364465951919556,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.364579916000366,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.404446840286255,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.4045610427856445,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +5.470253944396973,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +5.4703710079193115,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +5.511184930801392,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +5.511268854141235,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +5.573202848434448,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +5.573328018188477,-4.267000198364258,15.64,3.2309999465942383,3.2330000400543213 +5.611138820648193,-4.267000198364258,15.64,3.2309999465942383,3.2330000400543213 +5.611227035522461,-4.267000198364258,15.64,3.2309999465942383,3.2330000400543213 +5.6731648445129395,-4.265999794006348,15.64,3.2309999465942383,3.2330000400543213 +5.673295021057129,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.702739953994751,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.70285701751709,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.774389982223511,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.7745139598846436,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.8111350536346436,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.811226844787598,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +5.875111818313599,-4.264999866485596,15.64,3.2309999465942383,3.2320001125335693 +5.875234842300415,-4.264999866485596,15.64,3.2309999465942383,3.2330000400543213 +5.911053895950317,-4.264999866485596,15.64,3.2309999465942383,3.2330000400543213 +5.911151885986328,-4.264999866485596,15.64,3.2309999465942383,3.2330000400543213 +5.973021984100342,-4.263999938964844,15.64,3.2309999465942383,3.2330000400543213 +5.973116874694824,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.011035919189453,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.01115083694458,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.073003053665161,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.07311487197876,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.102869987487793,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.103034973144531,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.174104928970337,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.1741859912872314,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.202998876571655,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.203114986419678,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +6.262136936187744,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +6.262212038040161,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +6.302947998046875,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +6.303074836730957,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +6.362079858779907,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +6.362153053283691,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +6.403939962387085,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +6.404052972793579,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +6.462056875228882,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +6.4621288776397705,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.50290584564209,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.503026962280273,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.562132835388184,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.5622148513793945,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.603888034820557,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.604007959365845,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.662782907485962,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.66286301612854,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.70387601852417,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.703994989395142,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +6.762753963470459,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +6.762832880020142,-4.264999866485596,15.64,3.2309999465942383,3.2279999256134033 +6.803802967071533,-4.264999866485596,15.64,3.2309999465942383,3.2279999256134033 +6.803927898406982,-4.264999866485596,15.64,3.2309999465942383,3.2279999256134033 +6.875838994979858,-4.263999938964844,15.64,3.2309999465942383,3.2279999256134033 +6.875921964645386,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +6.907896041870117,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +6.908013820648193,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +6.968716859817505,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +6.968830823898315,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +7.008721828460693,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +7.00884485244751,-4.263999938964844,15.64,3.2309999465942383,3.2290000915527344 +7.0626609325408936,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +7.062743902206421,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +7.104696989059448,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +7.104820966720581,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +7.164624929428101,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +7.164705991744995,-4.264999866485596,15.64,3.2309999465942383,3.2320001125335693 +7.2067999839782715,-4.264999866485596,15.64,3.2309999465942383,3.2320001125335693 +7.206923961639404,-4.264999866485596,15.64,3.2309999465942383,3.2320001125335693 +7.265789031982422,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.265919923782349,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.30675482749939,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.3068718910217285,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.3657660484313965,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.365890026092529,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.407716989517212,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.407837867736816,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +7.465644836425781,-4.263999938964844,15.64,3.2309999465942383,3.2320001125335693 +7.465723991394043,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +7.506714820861816,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +7.506836891174316,-4.263999938964844,15.64,3.2309999465942383,3.2309999465942383 +7.565744876861572,-4.26200008392334,15.64,3.2309999465942383,3.2309999465942383 +7.565842866897583,-4.26200008392334,15.64,3.2309999465942383,3.2300000190734863 +7.606643915176392,-4.26200008392334,15.64,3.2309999465942383,3.2300000190734863 +7.6067588329315186,-4.26200008392334,15.64,3.2309999465942383,3.2300000190734863 +7.665567874908447,-4.263000011444092,15.64,3.2309999465942383,3.2300000190734863 +7.665642023086548,-4.263000011444092,15.64,3.2309999465942383,3.2300000190734863 +7.706605911254883,-4.263000011444092,15.64,3.2309999465942383,3.2300000190734863 +7.706722021102905,-4.263000011444092,15.64,3.2309999465942383,3.2300000190734863 +7.7656028270721436,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.765682935714722,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.8077168464660645,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.807843923568726,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.865569829940796,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.865665912628174,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.906543016433716,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.90665602684021,-4.263999938964844,15.64,3.2309999465942383,3.2300000190734863 +7.966440916061401,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +7.966522932052612,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.007524967193604,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.007638931274414,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.0674409866333,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.067518949508667,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +8.108392000198364,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +8.10853385925293,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +8.167714834213257,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.167840957641602,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.209342956542969,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.209465980529785,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.267375946044922,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.267454862594604,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.309303998947144,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.30942988395691,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +8.36823296546936,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +8.368311882019043,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.409301996231079,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.409438848495483,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.46826982498169,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.468406915664673,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.510226011276245,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.510442018508911,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.569231986999512,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.569318056106567,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.610191822052002,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.61031985282898,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.670131921768188,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.670214891433716,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.70151686668396,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.701653003692627,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.769214868545532,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +8.769338846206665,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.801599025726318,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.801713943481445,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.869207859039307,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.869293928146362,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.91008996963501,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.910222053527832,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.969045877456665,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +8.96913194656372,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.01009202003479,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.010226011276245,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.06510305404663,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.065206050872803,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.106148958206177,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.106262922286987,-4.264999866485596,15.64,3.2309999465942383,3.2290000915527344 +9.16604495048523,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.166137933731079,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.207156896591187,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.207270860671997,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.266029834747314,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.26612901687622,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.307095050811768,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.307209968566895,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.366983890533447,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +9.36708688735962,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.40792989730835,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.40805196762085,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.466059923171997,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.466164827346802,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.507025957107544,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.507139921188354,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +9.566036939620972,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +9.566143989562988,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +9.607005834579468,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +9.60712194442749,-4.267000198364258,15.64,3.2309999465942383,3.2320001125335693 +9.665961980819702,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +9.666069984436035,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +9.706967830657959,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +9.707114934921265,-4.26800012588501,15.64,3.2309999465942383,3.2309999465942383 +9.766849040985107,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.766962051391602,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.806932926177979,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.807050943374634,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.865993976593018,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.8661048412323,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.906904935836792,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.907022953033447,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +9.966872930526733,-4.264999866485596,15.64,3.2309999465942383,3.2309999465942383 +9.966989040374756,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +10.007860898971558,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +10.008080959320068,-4.264999866485596,15.64,3.2309999465942383,3.2300000190734863 +10.065974950790405,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.066092014312744,-4.265999794006348,15.64,3.2309999465942383,3.2279999256134033 +10.1076979637146,-4.265999794006348,15.64,3.2309999465942383,3.2279999256134033 +10.107820987701416,-4.265999794006348,15.64,3.2309999465942383,3.2279999256134033 +10.166826009750366,-4.267000198364258,15.64,3.2309999465942383,3.2279999256134033 +10.166929960250854,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.207666873931885,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.207789897918701,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.267643928527832,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.267756938934326,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.308709859848022,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.308841943740845,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.368697881698608,-4.267000198364258,15.64,3.2309999465942383,3.2269999980926514 +10.36884593963623,-4.267000198364258,15.64,3.2309999465942383,3.2279999256134033 +10.409770011901855,-4.267000198364258,15.64,3.2309999465942383,3.2279999256134033 +10.409992933273315,-4.267000198364258,15.64,3.2309999465942383,3.2279999256134033 +10.469920873641968,-4.26800012588501,15.64,3.2309999465942383,3.2279999256134033 +10.47007703781128,-4.26800012588501,15.64,3.2309999465942383,3.2279999256134033 +10.510967016220093,-4.26800012588501,15.64,3.2309999465942383,3.2279999256134033 +10.51110291481018,-4.26800012588501,15.64,3.2309999465942383,3.2279999256134033 +10.56850004196167,-4.26800012588501,15.64,3.2309999465942383,3.2279999256134033 +10.56858491897583,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.610538005828857,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.610659837722778,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.668499946594238,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.668606996536255,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.709498882293701,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.709622859954834,-4.26800012588501,15.64,3.2309999465942383,3.2300000190734863 +10.76945185661316,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.769538879394531,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.809465885162354,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.809594869613647,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.869511842727661,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.869607925415039,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.91056489944458,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.910701036453247,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +10.968401908874512,-4.267000198364258,15.64,3.2309999465942383,3.2300000190734863 +10.96850299835205,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.009397029876709,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.009520053863525,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.069334030151367,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.069418907165527,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.113441944122314,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.113560914993286,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.16833782196045,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.168423891067505,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.21038293838501,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.21052098274231,-4.267000198364258,15.64,3.2309999465942383,3.2290000915527344 +11.269317865371704,-4.265999794006348,15.64,3.2309999465942383,3.2290000915527344 +11.269448041915894,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +11.310308933258057,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +11.31043004989624,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +11.370239973068237,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.370331048965454,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.413343906402588,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.413465023040771,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.470201969146729,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.470294952392578,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.518192052841187,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.518309831619263,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.570371866226196,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.570518016815186,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.61415696144104,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.614264965057373,-4.26800012588501,15.64,3.2309999465942383,3.2320001125335693 +11.670135974884033,-4.265999794006348,15.64,3.2309999465942383,3.2320001125335693 +11.6702299118042,-4.265999794006348,15.64,3.2309999465942383,3.234999895095825 +11.714126825332642,-4.265999794006348,15.64,3.2309999465942383,3.234999895095825 +11.71423888206482,-4.265999794006348,15.64,3.2309999465942383,3.234999895095825 +11.771091938018799,-4.267000198364258,15.64,3.2309999465942383,3.234999895095825 +11.771183967590332,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.818131923675537,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.818251848220825,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.870131015777588,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.870268821716309,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.91404390335083,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.914155006408691,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.970047950744629,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +11.970140933990479,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +12.01406192779541,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +12.014174938201904,-4.267000198364258,15.64,3.2309999465942383,3.2309999465942383 +12.062072038650513,-4.265999794006348,15.64,3.2309999465942383,3.2309999465942383 +12.062165975570679,-4.265999794006348,15.64,3.2309999465942383,3.2300000190734863 +12.067083835601807,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.108644962310791,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.10876202583313,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.168766021728516,-4.264999866485596,15.64,15.64,3.2300000190734863 +12.169118881225586,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.20906400680542,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.209198951721191,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.268945932388306,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.269016981124878,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.308995008468628,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.309111833572388,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.368912935256958,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.368993043899536,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.409003973007202,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.409147024154663,-4.264999866485596,15.64,15.64,3.2309999465942383 +12.46900200843811,-4.265999794006348,15.64,15.64,3.2309999465942383 +12.469146966934204,-4.265999794006348,15.64,15.64,3.2320001125335693 +12.508904933929443,-4.265999794006348,15.64,15.64,3.2320001125335693 +12.509016036987305,-4.265999794006348,15.64,15.64,3.2320001125335693 +12.570912837982178,-4.265999794006348,15.64,15.64,3.2320001125335693 +12.570998907089233,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.612939834594727,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.613191843032837,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.663810968399048,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.663893938064575,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.703850030899048,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.703969955444336,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.771862983703613,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.771960020065308,-4.265999794006348,15.64,15.64,3.2300000190734863 +12.78874683380127,-4.265999794006348,15.64,15.6,3.2300000190734863 +12.812827825546265,-4.265999794006348,15.64,15.6,3.2300000190734863 +12.81302785873413,-4.265999794006348,15.64,15.6,3.2300000190734863 +12.864886045455933,-4.263999938964844,15.64,15.6,3.2300000190734863 +12.864965915679932,-4.263999938964844,15.64,15.6,3.2290000915527344 +12.904913902282715,-4.263999938964844,15.64,15.6,3.2290000915527344 +12.90504002571106,-4.263999938964844,15.64,15.6,3.2290000915527344 +12.972708940505981,-4.263000011444092,15.64,15.6,3.2290000915527344 +12.972801923751831,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.01272201538086,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.01285696029663,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.064815044403076,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.064889907836914,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.104950904846191,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.10507082939148,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.172302961349487,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.172392845153809,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.212630987167358,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.21273398399353,-4.263000011444092,15.64,15.6,3.2279999256134033 +13.264814853668213,-4.263999938964844,15.64,15.6,3.2279999256134033 +13.26498293876648,-4.263999938964844,15.64,15.6,3.2309999465942383 +13.304807901382446,-4.263999938964844,15.64,15.6,3.2309999465942383 +13.304931879043579,-4.263999938964844,15.64,15.6,3.2309999465942383 +13.373569011688232,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.37365198135376,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.403697967529297,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.403818845748901,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.466624975204468,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.466691017150879,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.506702899932861,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.506824970245361,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.57352590560913,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.573617935180664,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.613574028015137,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.613683938980103,-4.265999794006348,15.64,15.6,3.2309999465942383 +13.665685892105103,-4.267000198364258,15.64,15.6,3.2309999465942383 +13.665781021118164,-4.267000198364258,15.64,15.6,3.2290000915527344 +13.705777883529663,-4.267000198364258,15.64,15.6,3.2290000915527344 +13.70589303970337,-4.267000198364258,15.64,15.6,3.2290000915527344 +13.772462844848633,-4.26800012588501,15.64,15.6,3.2290000915527344 +13.772572994232178,-4.26800012588501,15.64,15.6,3.2279999256134033 +13.791406869888306,-4.26800012588501,15.64,15.67,3.2279999256134033 +13.814600944519043,-4.26800012588501,15.64,15.67,3.2279999256134033 +13.81472897529602,-4.26800012588501,15.64,15.67,3.2279999256134033 +13.865612030029297,-4.264999866485596,15.64,15.67,3.2279999256134033 +13.865701913833618,-4.264999866485596,15.64,15.67,3.2279999256134033 +13.905706882476807,-4.264999866485596,15.64,15.67,3.2279999256134033 +13.905823945999146,-4.264999866485596,15.64,15.67,3.2279999256134033 +13.973373889923096,-4.264999866485596,15.64,15.67,3.2279999256134033 +13.973449945449829,-4.264999866485596,15.64,15.67,3.2279999256134033 +14.003573894500732,-4.264999866485596,15.64,15.67,3.2279999256134033 +14.003793001174927,-4.264999866485596,15.64,15.67,3.2279999256134033 +14.066534042358398,-4.267000198364258,15.64,15.67,3.2279999256134033 +14.06667184829712,-4.267000198364258,15.64,15.67,3.2290000915527344 +14.105646848678589,-4.267000198364258,15.64,15.67,3.2290000915527344 +14.105763912200928,-4.267000198364258,15.64,15.67,3.2290000915527344 +14.16551685333252,-4.264999866485596,15.64,15.67,3.2290000915527344 +14.165604829788208,-4.264999866485596,15.64,15.67,3.2309999465942383 +14.215524911880493,-4.264999866485596,15.64,15.67,3.2309999465942383 +14.215636014938354,-4.264999866485596,15.64,15.67,3.2309999465942383 +14.268292903900146,-4.264999866485596,15.64,15.67,3.2309999465942383 +14.268364906311035,-4.264999866485596,15.64,15.67,3.2300000190734863 +14.308387041091919,-4.264999866485596,15.64,15.67,3.2300000190734863 +14.308507919311523,-4.264999866485596,15.64,15.67,3.2300000190734863 +14.376291990280151,-4.265999794006348,15.64,15.67,3.2300000190734863 +14.376420021057129,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.406370878219604,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.406491041183472,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.469391822814941,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.46948504447937,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.509565830230713,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.509687900543213,-4.265999794006348,15.64,15.67,3.2309999465942383 +14.57533597946167,-4.267000198364258,15.64,15.67,3.2309999465942383 +14.575430870056152,-4.267000198364258,15.64,15.67,3.2320001125335693 +14.615525960922241,-4.267000198364258,15.64,15.67,3.2320001125335693 +14.615653991699219,-4.267000198364258,15.64,15.67,3.2320001125335693 +14.668197870254517,-4.26800012588501,15.64,15.67,3.2320001125335693 +14.668308019638062,-4.26800012588501,15.64,15.67,3.2300000190734863 +14.708379983901978,-4.26800012588501,15.64,15.67,3.2300000190734863 +14.70851182937622,-4.26800012588501,15.64,15.67,3.2300000190734863 +14.777173042297363,-4.267000198364258,15.64,15.67,3.2300000190734863 +14.777273893356323,-4.267000198364258,15.64,15.67,3.2309999465942383 +14.793081998825073,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.816099882125854,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.816206932067871,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.869367837905884,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.869493007659912,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.909121990203857,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.909245014190674,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.978101968765259,-4.267000198364258,15.64,15.64,3.2309999465942383 +14.978219032287598,-4.267000198364258,15.64,15.64,3.2309999465942383 +15.01607084274292,-4.267000198364258,15.64,15.64,3.2309999465942383 +15.016181945800781,-4.267000198364258,15.64,15.64,3.2309999465942383 +15.070255994796753,-4.267000198364258,15.64,15.64,3.2309999465942383 +15.07042384147644,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.109041929244995,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.109161853790283,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.176023006439209,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.176203966140747,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.206114053726196,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.20632004737854,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.269062042236328,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.26918888092041,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.308981895446777,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.309100866317749,-4.267000198364258,15.64,15.64,3.2300000190734863 +15.377110004425049,-4.265999794006348,15.64,15.64,3.2300000190734863 +15.377240896224976,-4.265999794006348,15.64,15.64,3.2309999465942383 +15.407172918319702,-4.265999794006348,15.64,15.64,3.2309999465942383 +15.40735387802124,-4.265999794006348,15.64,15.64,3.2309999465942383 +15.468876838684082,-4.264999866485596,15.64,15.64,3.2309999465942383 +15.468952894210815,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.508924007415771,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.50904393196106,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.580067873001099,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.580232858657837,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.617825984954834,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.617931842803955,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.669811964035034,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.669879913330078,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.709839820861816,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.709962844848633,-4.264999866485596,15.64,15.64,3.2300000190734863 +15.7777738571167,-4.263999938964844,15.64,15.64,3.2300000190734863 +15.7778639793396,-4.263999938964844,15.64,15.64,3.2290000915527344 +15.794742822647095,-4.263999938964844,15.64,15.64,3.2290000915527344 +15.807941913604736,-4.263999938964844,15.64,15.64,3.2290000915527344 +15.808152914047241,-4.263999938964844,15.64,15.64,3.2290000915527344 +15.861990928649902,-4.264999866485596,15.64,15.64,3.2290000915527344 +15.86208987236023,-4.264999866485596,15.64,15.64,3.2269999980926514 +15.90201997756958,-4.264999866485596,15.64,15.64,3.2269999980926514 +15.90211296081543,-4.264999866485596,15.64,15.64,3.2269999980926514 +15.961974859237671,-4.264999866485596,15.64,15.64,3.2269999980926514 +15.962052822113037,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.003774881362915,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.003906965255737,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.066840887069702,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.06693196296692,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.10770893096924,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.107821941375732,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.16765594482422,-4.264999866485596,15.64,15.64,3.2269999980926514 +16.167739868164062,-4.264999866485596,15.64,15.64,3.2290000915527344 +16.190753936767578,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +16.20769500732422,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +16.207818031311035,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +16.26763391494751,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +16.267712831497192,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.307687044143677,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.30780792236328,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.367599964141846,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.367677927017212,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.40762495994568,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.407742977142334,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.467555046081543,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.467630863189697,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.507585048675537,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.507704973220825,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +16.567522048950195,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +16.567595958709717,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +16.607699871063232,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +16.607830047607422,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +16.667577981948853,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.667659997940063,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.703572988510132,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.703747034072876,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.763460874557495,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.763543844223022,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.80042004585266,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +16.800477027893066,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.803446054458618,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.803517818450928,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.86551594734192,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.865587949752808,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.90156888961792,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.901641845703125,-4.264999866485596,31.22,15.64,3.2309999465942383 +16.970396995544434,-4.26800012588501,31.22,15.64,3.2309999465942383 +16.9704749584198,-4.26800012588501,31.22,15.64,3.2300000190734863 +17.00590491294861,-4.26800012588501,31.22,15.64,3.2300000190734863 +17.006000995635986,-4.26800012588501,31.22,15.64,3.2300000190734863 +17.06336283683777,-4.267000198364258,31.22,15.64,3.2300000190734863 +17.063442945480347,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.101517915725708,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.101600885391235,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.16233491897583,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.162423849105835,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.20599889755249,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.2060968875885,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.26538896560669,-4.26800012588501,31.22,15.64,3.2320001125335693 +17.265470027923584,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.301444053649902,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.30151391029358,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.370261907577515,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.370348930358887,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.405520915985107,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.405653953552246,-4.26800012588501,31.22,15.64,3.2330000400543213 +17.46421790122986,-4.267000198364258,31.22,15.64,3.2330000400543213 +17.464293003082275,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.501359939575195,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.501435041427612,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.56137990951538,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.56146788597107,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.60545587539673,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.6056170463562,-4.267000198364258,31.22,15.64,3.2320001125335693 +17.66524386405945,-4.26800012588501,31.22,15.64,3.2320001125335693 +17.665318965911865,-4.26800012588501,31.22,15.64,3.2279999256134033 +17.702214002609253,-4.26800012588501,31.22,15.64,3.2279999256134033 +17.702289819717407,-4.26800012588501,31.22,15.64,3.2279999256134033 +17.76215100288391,-4.26800012588501,31.22,15.64,3.2279999256134033 +17.762238025665283,-4.26800012588501,31.22,15.64,3.2279999256134033 +17.80528688430786,-4.26800012588501,31.22,15.67,3.2279999256134033 +17.805384874343872,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +17.80646800994873,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +17.80657386779785,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +17.866264820098877,-4.269999980926514,31.189999999999998,15.67,3.2279999256134033 +17.866336822509766,-4.269999980926514,31.189999999999998,15.67,3.2279999256134033 +17.903077840805054,-4.269999980926514,31.189999999999998,15.67,3.2279999256134033 +17.903146982192993,-4.269999980926514,31.189999999999998,15.67,3.2279999256134033 +17.962076902389526,-4.267000198364258,31.189999999999998,15.67,3.2279999256134033 +17.962167024612427,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +18.008075952529907,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +18.008198022842407,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +18.067018032073975,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +18.067121028900146,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.103008031845093,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.10307788848877,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.16300082206726,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.163091897964478,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.207032918930054,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.207146883010864,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +18.266965866088867,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +18.267045974731445,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +18.30294895172119,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +18.303020000457764,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +18.36293888092041,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +18.363025903701782,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.40292191505432,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.403015851974487,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.466893911361694,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.466972827911377,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.50388193130493,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.50394892692566,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.564889907836914,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.564981937408447,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.608283042907715,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.608391046524048,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.667841911315918,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.667945861816406,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.70379900932312,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.703869819641113,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +18.763808965682983,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.763906002044678,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +18.807796001434326,-4.264999866485596,31.189999999999998,15.64,3.2300000190734863 +18.80789089202881,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +18.80807590484619,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +18.80816888809204,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +18.86675500869751,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +18.866842031478882,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +18.90741205215454,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +18.907529830932617,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +18.96479082107544,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +18.964906930923462,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +19.008044004440308,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +19.008162021636963,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +19.067689895629883,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +19.06777000427246,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +19.107274055480957,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +19.107393980026245,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +19.16490888595581,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +19.165024995803833,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +19.20771884918213,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +19.207813024520874,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +19.267704010009766,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.267833948135376,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.307700872421265,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.307826042175293,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.367652893066406,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.36777400970459,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.411627054214478,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.41172504425049,-4.26200008392334,31.210000000000008,15.64,3.2279999256134033 +19.462739944458008,-4.263000011444092,31.210000000000008,15.64,3.2279999256134033 +19.46283483505249,-4.263000011444092,31.210000000000008,15.64,3.2269999980926514 +19.507611989974976,-4.263000011444092,31.210000000000008,15.64,3.2269999980926514 +19.50773596763611,-4.263000011444092,31.210000000000008,15.64,3.2269999980926514 +19.56760597229004,-4.263000011444092,31.210000000000008,15.64,3.2269999980926514 +19.56773090362549,-4.263000011444092,31.210000000000008,15.64,3.2290000915527344 +19.611541032791138,-4.263000011444092,31.210000000000008,15.64,3.2290000915527344 +19.611634016036987,-4.263000011444092,31.210000000000008,15.64,3.2290000915527344 +19.661624908447266,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.661706924438477,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.709513902664185,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.709635972976685,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.76947283744812,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.769548892974854,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.812443017959595,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.812554836273193,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.813504934310913,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.813611030578613,-4.26200008392334,31.210000000000008,15.64,3.2290000915527344 +19.86345601081848,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +19.863549947738647,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +19.900717973709106,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +19.900792837142944,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +19.96079993247986,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +19.96089005470276,-4.264999866485596,31.210000000000008,15.64,3.2330000400543213 +20.00070881843567,-4.264999866485596,31.210000000000008,15.64,3.2330000400543213 +20.000787019729614,-4.264999866485596,31.210000000000008,15.64,3.2330000400543213 +20.06336283683777,-4.263999938964844,31.210000000000008,15.64,3.2330000400543213 +20.063447952270508,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.10053300857544,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.10062289237976,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.160522937774658,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.16061496734619,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.200474977493286,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.200552940368652,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +20.264291048049927,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +20.264370918273926,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +20.300456047058105,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +20.30052900314331,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +20.360472917556763,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +20.36055302619934,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +20.400455951690674,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +20.40055203437805,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +20.46324896812439,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +20.4633469581604,-4.263999938964844,31.210000000000008,15.64,3.2279999256134033 +20.500385999679565,-4.263999938964844,31.210000000000008,15.64,3.2279999256134033 +20.500465869903564,-4.263999938964844,31.210000000000008,15.64,3.2279999256134033 +20.560395002365112,-4.264999866485596,31.210000000000008,15.64,3.2279999256134033 +20.560475826263428,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.6003520488739,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.60043501853943,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.666263818740845,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.666414976119995,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.700361967086792,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.70044994354248,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +20.76036787033081,-4.26200008392334,31.210000000000008,15.64,3.2309999465942383 +20.76045799255371,-4.26200008392334,31.210000000000008,15.64,3.2320001125335693 +20.800328016281128,-4.26200008392334,31.210000000000008,15.64,3.2320001125335693 +20.801018953323364,-4.26200008392334,31.210000000000008,15.64,3.2320001125335693 +20.81298303604126,-4.26200008392334,31.210000000000008,15.67,3.2320001125335693 +20.813148021697998,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +20.864107847213745,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +20.864184856414795,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +20.900296926498413,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +20.90038800239563,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +20.96025586128235,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +20.960335969924927,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.000274896621704,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.000391006469727,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.064039945602417,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.06412982940674,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.101061820983887,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.101168870925903,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +21.16100287437439,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.16108202934265,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.201024055480957,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.20114302635193,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.26500391960144,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.26508903503418,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.30105996131897,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.301180839538574,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.36095404624939,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.36103391647339,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.400933980941772,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.40101194381714,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.464958906173706,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.4650399684906,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.502043962478638,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.50212287902832,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.562052011489868,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +21.56213688850403,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.60192894935608,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.602017879486084,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.665819883346558,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.66588592529297,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.701809883117676,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.701881885528564,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +21.761790990829468,-4.267000198364258,31.189999999999998,15.67,3.2269999980926514 +21.76186203956604,-4.267000198364258,31.189999999999998,15.67,3.2260000705718994 +21.80181097984314,-4.267000198364258,31.189999999999998,15.67,3.2260000705718994 +21.801903009414673,-4.267000198364258,31.189999999999998,15.67,3.2260000705718994 +21.8137948513031,-4.267000198364258,31.189999999999998,15.64,3.2260000705718994 +21.81394600868225,-4.267000198364258,31.210000000000008,15.64,3.2260000705718994 +21.86478590965271,-4.267000198364258,31.210000000000008,15.64,3.2260000705718994 +21.864876985549927,-4.267000198364258,31.210000000000008,15.64,3.2260000705718994 +21.90174889564514,-4.267000198364258,31.210000000000008,15.64,3.2260000705718994 +21.901821851730347,-4.267000198364258,31.210000000000008,15.64,3.2260000705718994 +21.961833000183105,-4.26800012588501,31.210000000000008,15.64,3.2260000705718994 +21.961899995803833,-4.26800012588501,31.210000000000008,15.64,3.2269999980926514 +22.001718044281006,-4.26800012588501,31.210000000000008,15.64,3.2269999980926514 +22.001796007156372,-4.26800012588501,31.210000000000008,15.64,3.2269999980926514 +22.063704013824463,-4.267000198364258,31.210000000000008,15.64,3.2269999980926514 +22.063792943954468,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +22.101703882217407,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +22.10179591178894,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +22.161666870117188,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +22.16174602508545,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.201640844345093,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.201714038848877,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.265625953674316,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.265707969665527,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.302610874176025,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.302685976028442,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.362597942352295,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +22.362676858901978,-4.267000198364258,31.210000000000008,15.64,3.234999895095825 +22.402580976486206,-4.267000198364258,31.210000000000008,15.64,3.234999895095825 +22.40265989303589,-4.267000198364258,31.210000000000008,15.64,3.234999895095825 +22.466569900512695,-4.26800012588501,31.210000000000008,15.64,3.234999895095825 +22.46674084663391,-4.26800012588501,31.210000000000008,15.64,3.2360000610351562 +22.504606008529663,-4.26800012588501,31.210000000000008,15.64,3.2360000610351562 +22.50469183921814,-4.26800012588501,31.210000000000008,15.64,3.2360000610351562 +22.56355905532837,-4.267000198364258,31.210000000000008,15.64,3.2360000610351562 +22.563654899597168,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.603556871414185,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.603664875030518,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.66652202606201,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.66662883758545,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.699676990509033,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.699761867523193,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.759937047958374,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +22.76000189781189,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +22.81146502494812,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +22.811540842056274,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +22.823449850082397,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +22.823529958724976,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +22.86343789100647,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +22.863525867462158,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +22.921427011489868,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +22.92150902748108,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +22.96122097969055,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +22.961302995681763,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.001401901245117,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.00148105621338,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.065382957458496,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.06547784805298,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.121356964111328,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.12143588066101,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.161344051361084,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +23.16141700744629,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +23.224419832229614,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +23.224506855010986,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +23.264336824417114,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +23.264456033706665,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +23.301388025283813,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +23.301487922668457,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +23.36129903793335,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +23.361379861831665,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +23.40187692642212,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +23.402145862579346,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +23.465245008468628,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +23.46533989906311,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.50128984451294,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.50139594078064,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.561266899108887,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.56137204170227,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.601397037506104,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.60147500038147,-4.263999938964844,31.210000000000008,15.64,3.2300000190734863 +23.664175033569336,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +23.664278984069824,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +23.702173948287964,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +23.702273845672607,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +23.76217794418335,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +23.762281894683838,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +23.81212091445923,-4.263999938964844,31.210000000000008,15.61,3.2309999465942383 +23.812222003936768,-4.263999938964844,31.25,15.61,3.2309999465942383 +23.826213836669922,-4.263999938964844,31.25,15.61,3.2309999465942383 +23.82629084587097,-4.263999938964844,31.25,15.61,3.2309999465942383 +23.865159034729004,-4.265999794006348,31.25,15.61,3.2309999465942383 +23.86526584625244,-4.265999794006348,31.25,15.61,3.2309999465942383 +23.902101039886475,-4.265999794006348,31.25,15.61,3.2309999465942383 +23.902194023132324,-4.265999794006348,31.25,15.61,3.2309999465942383 +23.962126970291138,-4.265999794006348,31.25,15.61,3.2309999465942383 +23.962272882461548,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.026923894882202,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.027079820632935,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.066073894500732,-4.26800012588501,31.25,15.61,3.2309999465942383 +24.066195011138916,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.12201690673828,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.12209987640381,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.16201901435852,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.162113904953003,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.225981950759888,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.2260639667511,-4.26800012588501,31.25,15.61,3.2320001125335693 +24.264994859695435,-4.265999794006348,31.25,15.61,3.2320001125335693 +24.265097856521606,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.32195782661438,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.322043895721436,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.36193585395813,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.36201500892639,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.425911903381348,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.42598795890808,-4.265999794006348,31.25,15.61,3.2309999465942383 +24.46594500541687,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.466080904006958,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.522905826568604,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.523002862930298,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.561858892440796,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.561938047409058,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.60285782814026,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.602933883666992,-4.264999866485596,31.25,15.61,3.2309999465942383 +24.666010856628418,-4.263999938964844,31.25,15.61,3.2309999465942383 +24.666106939315796,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.722803831100464,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.72288703918457,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.762821912765503,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.762908935546875,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.80298900604248,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.803082942962646,-4.263999938964844,31.25,15.61,3.2300000190734863 +24.812825918197632,-4.263999938964844,31.25,15.64,3.2300000190734863 +24.812926054000854,-4.263999938964844,31.22,15.64,3.2300000190734863 +24.866776943206787,-4.263999938964844,31.22,15.64,3.2300000190734863 +24.86686086654663,-4.263999938964844,31.22,15.64,3.2309999465942383 +24.90278387069702,-4.263999938964844,31.22,15.64,3.2309999465942383 +24.902878046035767,-4.263999938964844,31.22,15.64,3.2309999465942383 +24.962743043899536,-4.263999938964844,31.22,15.64,3.2309999465942383 +24.96282196044922,-4.263999938964844,31.22,15.64,3.2309999465942383 +25.002728939056396,-4.263999938964844,31.22,15.64,3.2309999465942383 +25.00280499458313,-4.263999938964844,31.22,15.64,3.2309999465942383 +25.066710948944092,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.066795825958252,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.103696823120117,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.103790998458862,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.16372299194336,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.163800954818726,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.203691005706787,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.20377802848816,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.266674995422363,-4.265999794006348,31.22,15.64,3.2320001125335693 +25.266772031784058,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.304692029953003,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.30479884147644,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.36367893218994,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.363756895065308,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.40363883972168,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.403719902038574,-4.265999794006348,31.22,15.64,3.2309999465942383 +25.46869683265686,-4.267000198364258,31.22,15.64,3.2309999465942383 +25.468809843063354,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.503605842590332,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.503708839416504,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.563549995422363,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.563626050949097,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.603559970855713,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.603664875030518,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.667491912841797,-4.265999794006348,31.22,15.64,3.2269999980926514 +25.667585849761963,-4.265999794006348,31.22,15.64,3.2269999980926514 +25.7045259475708,-4.265999794006348,31.22,15.64,3.2269999980926514 +25.704627990722656,-4.265999794006348,31.22,15.64,3.2269999980926514 +25.764468908309937,-4.267000198364258,31.22,15.64,3.2269999980926514 +25.76454496383667,-4.267000198364258,31.22,15.64,3.2290000915527344 +25.80452299118042,-4.267000198364258,31.22,15.64,3.2290000915527344 +25.804625034332275,-4.267000198364258,31.22,15.64,3.2290000915527344 +25.81346893310547,-4.267000198364258,31.22,15.64,3.2290000915527344 +25.813568830490112,-4.267000198364258,31.22,15.64,3.2290000915527344 +25.871701955795288,-4.26800012588501,31.22,15.64,3.2290000915527344 +25.871800899505615,-4.26800012588501,31.22,15.64,3.2290000915527344 +25.906457901000977,-4.26800012588501,31.22,15.64,3.2290000915527344 +25.906558990478516,-4.26800012588501,31.22,15.64,3.2290000915527344 +25.96639585494995,-4.26800012588501,31.22,15.64,3.2290000915527344 +25.966472864151,-4.26800012588501,31.22,15.64,3.2290000915527344 +26.006691932678223,-4.26800012588501,31.22,15.64,3.2290000915527344 +26.0068199634552,-4.26800012588501,31.22,15.64,3.2290000915527344 +26.060444831848145,-4.267000198364258,31.22,15.64,3.2290000915527344 +26.060516834259033,-4.267000198364258,31.22,15.64,3.2279999256134033 +26.10644292831421,-4.267000198364258,31.22,15.64,3.2279999256134033 +26.106567859649658,-4.267000198364258,31.22,15.64,3.2279999256134033 +26.16633701324463,-4.265999794006348,31.22,15.64,3.2279999256134033 +26.166419982910156,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.206444025039673,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.206533908843994,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.269290924072266,-4.264999866485596,31.22,15.64,3.2290000915527344 +26.269404888153076,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.307320833206177,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.307440042495728,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.367334842681885,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.36749792098999,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.407317876815796,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.40740203857422,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.46130084991455,-4.264999866485596,31.22,15.64,3.2279999256134033 +26.461375951766968,-4.264999866485596,31.22,15.64,3.2300000190734863 +26.5082528591156,-4.264999866485596,31.22,15.64,3.2300000190734863 +26.508347988128662,-4.264999866485596,31.22,15.64,3.2300000190734863 +26.56822395324707,-4.263999938964844,31.22,15.64,3.2300000190734863 +26.568306922912598,-4.263999938964844,31.22,15.64,3.2300000190734863 +26.608232975006104,-4.263999938964844,31.22,15.64,3.2300000190734863 +26.60833191871643,-4.263999938964844,31.22,15.64,3.2300000190734863 +26.67232084274292,-4.264999866485596,31.22,15.64,3.2300000190734863 +26.672420024871826,-4.264999866485596,31.22,15.64,3.2290000915527344 +26.70818781852722,-4.264999866485596,31.22,15.64,3.2290000915527344 +26.70829200744629,-4.264999866485596,31.22,15.64,3.2290000915527344 +26.768146991729736,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.76822805404663,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.808162927627563,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.808250904083252,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.814077854156494,-4.265999794006348,31.22,15.64,3.2290000915527344 +26.814337015151978,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +26.863131999969482,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +26.863198041915894,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +26.909210920333862,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +26.90934991836548,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +26.960134983062744,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +26.960227966308594,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +27.000049829483032,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +27.00012493133545,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +27.073036909103394,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.0731258392334,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.109025955200195,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.109117031097412,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.16017198562622,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.160245895385742,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.200196027755737,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.200289964675903,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.263131856918335,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.26330304145813,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.30994486808777,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.310034036636353,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.360119819641113,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +27.36019802093506,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.400085926055908,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.40016794204712,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.463978052139282,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.464054822921753,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.511186838150024,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.51131582260132,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.56188201904297,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.56197690963745,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.601850032806396,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.60192894935608,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.665904998779297,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.665987014770508,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.710968017578125,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.711055040359497,-4.269000053405762,31.210000000000008,15.64,3.2279999256134033 +27.760953903198242,-4.269999980926514,31.210000000000008,15.64,3.2279999256134033 +27.761032819747925,-4.269999980926514,31.210000000000008,15.64,3.2290000915527344 +27.800946950912476,-4.269999980926514,31.210000000000008,15.64,3.2290000915527344 +27.801045894622803,-4.269999980926514,31.210000000000008,15.64,3.2290000915527344 +27.81774401664734,-4.269999980926514,31.210000000000008,15.64,3.2290000915527344 +27.817792892456055,-4.269999980926514,31.22,15.64,3.2290000915527344 +27.876757860183716,-4.267000198364258,31.22,15.64,3.2290000915527344 +27.876871824264526,-4.267000198364258,31.22,15.64,3.2290000915527344 +27.911824941635132,-4.267000198364258,31.22,15.64,3.2290000915527344 +27.91191792488098,-4.267000198364258,31.22,15.64,3.2290000915527344 +27.9618079662323,-4.267000198364258,31.22,15.64,3.2290000915527344 +27.961885929107666,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.00179386138916,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.001874923706055,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.07567286491394,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.07576298713684,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.111783981323242,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.111878871917725,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.16178297996521,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.16187596321106,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.201761960983276,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.201844930648804,-4.267000198364258,31.22,15.64,3.2300000190734863 +28.26470685005188,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.264782905578613,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.313633918762207,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.313750982284546,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.363613843917847,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.363701820373535,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.40359902381897,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.403681993484497,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.476551055908203,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.476650953292847,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.51358985900879,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.513700008392334,-4.263999938964844,31.22,15.64,3.2300000190734863 +28.563586950302124,-4.265999794006348,31.22,15.64,3.2300000190734863 +28.56370496749878,-4.265999794006348,31.22,15.64,3.2309999465942383 +28.60352087020874,-4.265999794006348,31.22,15.64,3.2309999465942383 +28.603605031967163,-4.265999794006348,31.22,15.64,3.2309999465942383 +28.667659044265747,-4.267000198364258,31.22,15.64,3.2309999465942383 +28.667744874954224,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.706467866897583,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.706528902053833,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.76180601119995,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.76191782951355,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.801687955856323,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.80177092552185,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.820417881011963,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.820464849472046,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.868546962738037,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.86864995956421,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.9074969291687,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.907567024230957,-4.267000198364258,31.22,15.64,3.2290000915527344 +28.96039891242981,-4.269000053405762,31.22,15.64,3.2290000915527344 +28.960487842559814,-4.269000053405762,31.22,15.64,3.2300000190734863 +29.00039005279541,-4.269000053405762,31.22,15.64,3.2300000190734863 +29.000480890274048,-4.269000053405762,31.22,15.64,3.2300000190734863 +29.064357042312622,-4.269000053405762,31.22,15.64,3.2300000190734863 +29.06442403793335,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.10433793067932,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.10440182685852,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.162364959716797,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.16246199607849,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.202332973480225,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.20242404937744,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.268301963806152,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.268368005752563,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.305280923843384,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.305346965789795,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.361454010009766,-4.269000053405762,31.22,15.64,3.2290000915527344 +29.36155104637146,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.401427030563354,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.401515007019043,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.465227842330933,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.465287923812866,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.505218029022217,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.50529384613037,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.56226682662964,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.562357902526855,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.60221290588379,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.60230588912964,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.668258905410767,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.668324947357178,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.70624303817749,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.706349849700928,-4.269000053405762,31.22,15.64,3.2269999980926514 +29.76217794418335,-4.267000198364258,31.22,15.64,3.2269999980926514 +29.76226782798767,-4.267000198364258,31.22,15.64,3.2300000190734863 +29.802139043807983,-4.267000198364258,31.22,15.64,3.2300000190734863 +29.80222988128662,-4.267000198364258,31.22,15.64,3.2300000190734863 +29.820122003555298,-4.267000198364258,31.22,15.65,3.2300000190734863 +29.820173978805542,-4.267000198364258,31.22,15.65,3.2300000190734863 +29.868440866470337,-4.265999794006348,31.22,15.65,3.2300000190734863 +29.868512868881226,-4.265999794006348,31.22,15.65,3.2309999465942383 +29.906126022338867,-4.265999794006348,31.22,15.65,3.2309999465942383 +29.90620493888855,-4.265999794006348,31.22,15.65,3.2309999465942383 +29.964097023010254,-4.265999794006348,31.22,15.65,3.2309999465942383 +29.96419596672058,-4.265999794006348,31.22,15.65,3.2309999465942383 +30.00417399406433,-4.265999794006348,31.22,15.65,3.2309999465942383 +30.004288911819458,-4.265999794006348,31.22,15.65,3.2309999465942383 +30.06006693840027,-4.263999938964844,31.22,15.65,3.2309999465942383 +30.060147047042847,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.125088930130005,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.125200986862183,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.164000988006592,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.16409397125244,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.203994035720825,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.204082012176514,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.267966985702515,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.26803493499756,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.308018922805786,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.30815291404724,-4.263999938964844,31.22,15.65,3.2279999256134033 +30.364979028701782,-4.264999866485596,31.22,15.65,3.2279999256134033 +30.36516284942627,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.40592885017395,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.406110048294067,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.459099054336548,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.45917296409607,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.49915885925293,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.499274969100952,-4.264999866485596,31.22,15.65,3.2290000915527344 +30.565213918685913,-4.263999938964844,31.22,15.65,3.2290000915527344 +30.565302848815918,-4.263999938964844,31.22,15.65,3.2309999465942383 +30.624857902526855,-4.263999938964844,31.22,15.65,3.2309999465942383 +30.624940872192383,-4.263999938964844,31.22,15.65,3.2309999465942383 +30.659857988357544,-4.263999938964844,31.22,15.65,3.2309999465942383 +30.660737991333008,-4.263999938964844,31.22,15.65,3.2339999675750732 +30.726891040802002,-4.263999938964844,31.22,15.65,3.2339999675750732 +30.727022886276245,-4.263999938964844,31.22,15.65,3.2339999675750732 +30.766808032989502,-4.267000198364258,31.22,15.65,3.2339999675750732 +30.76689600944519,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.806818962097168,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.80693793296814,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.820766925811768,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.82080888748169,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.86085295677185,-4.267000198364258,31.22,15.65,3.2330000400543213 +30.860919952392578,-4.267000198364258,31.22,15.65,3.2309999465942383 +30.89978790283203,-4.267000198364258,31.22,15.65,3.2309999465942383 +30.89991593360901,-4.267000198364258,31.22,15.65,3.2309999465942383 +30.967758893966675,-4.267000198364258,31.22,15.65,3.2309999465942383 +30.967856884002686,-4.267000198364258,31.22,15.65,3.2309999465942383 +31.007750988006592,-4.267000198364258,31.22,15.65,3.2309999465942383 +31.00787091255188,-4.267000198364258,31.22,15.65,3.2309999465942383 +31.06192398071289,-4.26800012588501,31.22,15.65,3.2309999465942383 +31.062011003494263,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.100783824920654,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.1008780002594,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.1686909198761,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.168781042099,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.198950052261353,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.19904589653015,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.26267695426941,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.26276397705078,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.302652835845947,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.30272889137268,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.37062382698059,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.370702981948853,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.400858879089355,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.40092897415161,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.46356701850891,-4.267000198364258,31.22,15.65,3.2300000190734863 +31.46363091468811,-4.267000198364258,31.22,15.65,3.2279999256134033 +31.50357484817505,-4.267000198364258,31.22,15.65,3.2279999256134033 +31.50366997718811,-4.267000198364258,31.22,15.65,3.2279999256134033 +31.56065082550049,-4.26800012588501,31.22,15.65,3.2279999256134033 +31.560751914978027,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.600621938705444,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.600695848464966,-4.26800012588501,31.22,15.65,3.2300000190734863 +31.664506912231445,-4.269000053405762,31.22,15.65,3.2300000190734863 +31.664566040039062,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.70449686050415,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.704565048217773,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.761639833450317,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.761793851852417,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.801584005355835,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.80168390274048,-4.269000053405762,31.22,15.65,3.2290000915527344 +31.82262897491455,-4.269000053405762,31.22,15.68,3.2290000915527344 +31.822706937789917,-4.269000053405762,31.25999999999999,15.68,3.2290000915527344 +31.865432024002075,-4.267000198364258,31.25999999999999,15.68,3.2290000915527344 +31.865485906600952,-4.267000198364258,31.25999999999999,15.68,3.2279999256134033 +31.930577039718628,-4.267000198364258,31.25999999999999,15.68,3.2279999256134033 +31.930660009384155,-4.267000198364258,31.25999999999999,15.68,3.2279999256134033 +31.96058988571167,-4.267000198364258,31.25999999999999,15.68,3.2279999256134033 +31.960731029510498,-4.267000198364258,31.25999999999999,15.68,3.2290000915527344 +32.000499963760376,-4.267000198364258,31.25999999999999,15.68,3.2290000915527344 +32.00057601928711,-4.267000198364258,31.25999999999999,15.68,3.2290000915527344 +32.06536602973938,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +32.065423011779785,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.131523847579956,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.131640911102295,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.161540031433105,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.1617169380188,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.222347021102905,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.22243785858154,-4.265999794006348,31.25999999999999,15.68,3.2279999256134033 +32.265296936035156,-4.264999866485596,31.25999999999999,15.68,3.2279999256134033 +32.265352964401245,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.33239197731018,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.332509994506836,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.371410846710205,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.37151002883911,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.40234303474426,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.4024338722229,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.46523404121399,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.465291023254395,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.505213022232056,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.50527501106262,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.56230092048645,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.56239199638367,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.602208852767944,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.602306842803955,-4.264999866485596,31.25999999999999,15.68,3.2269999980926514 +32.66517186164856,-4.26800012588501,31.25999999999999,15.68,3.2269999980926514 +32.665228843688965,-4.26800012588501,31.25999999999999,15.68,3.2300000190734863 +32.70515203475952,-4.26800012588501,31.25999999999999,15.68,3.2300000190734863 +32.70521283149719,-4.26800012588501,31.25999999999999,15.68,3.2300000190734863 +32.76224493980408,-4.269000053405762,31.25999999999999,15.68,3.2300000190734863 +32.76233386993408,-4.269000053405762,31.25999999999999,15.68,3.2320001125335693 +32.802181005477905,-4.269000053405762,31.25999999999999,15.68,3.2320001125335693 +32.802258014678955,-4.269000053405762,31.25999999999999,15.68,3.2320001125335693 +32.82214093208313,-4.269000053405762,31.25999999999999,15.64,3.2320001125335693 +32.82219099998474,-4.269000053405762,31.22,15.64,3.2320001125335693 +32.86613202095032,-4.269000053405762,31.22,15.64,3.2320001125335693 +32.866188049316406,-4.269000053405762,31.22,15.64,3.2320001125335693 +32.90612196922302,-4.269000053405762,31.22,15.64,3.2320001125335693 +32.90627098083496,-4.269000053405762,31.22,15.64,3.2320001125335693 +32.96330499649048,-4.267000198364258,31.22,15.64,3.2320001125335693 +32.963464975357056,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.00316095352173,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.00322985649109,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.068068981170654,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.06813597679138,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.10708498954773,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.10802984237671,-4.267000198364258,31.22,15.64,3.2300000190734863 +33.173120975494385,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.17322897911072,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.22306489944458,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.223142862319946,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.26598000526428,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.26604604721069,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.30694794654846,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.307008028030396,-4.265999794006348,31.22,15.64,3.2300000190734863 +33.3730149269104,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.373103857040405,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.40298295021057,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.4030499458313,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.46694993972778,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.467052936553955,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.53390192985535,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.53398394584656,-4.263999938964844,31.22,15.64,3.2300000190734863 +33.56399393081665,-4.264999866485596,31.22,15.64,3.2300000190734863 +33.56418299674988,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.62385582923889,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.6239218711853,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.66789793968201,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.66823601722717,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.70783996582031,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.70792484283447,-4.264999866485596,31.22,15.64,3.2279999256134033 +33.77485203742981,-4.265999794006348,31.22,15.64,3.2279999256134033 +33.77497386932373,-4.265999794006348,31.22,15.64,3.2309999465942383 +33.824836015701294,-4.265999794006348,31.22,15.64,3.2309999465942383 +33.82496500015259,-4.265999794006348,31.22,15.64,3.2309999465942383 +33.82577586174011,-4.265999794006348,31.22,15.67,3.2309999465942383 +33.82583498954773,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.86681604385376,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.8670608997345,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.934751987457275,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.934820890426636,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.97376799583435,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +33.97387504577637,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.02371096611023,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.02377486228943,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.06771898269653,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.067790031433105,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.10670185089111,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.106770038604736,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +34.16475582122803,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +34.16491103172302,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.224663972854614,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.22472596168518,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.26763892173767,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.26770091056824,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.33466196060181,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.33490991592407,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.36473298072815,-4.263999938964844,31.189999999999998,15.67,3.2320001125335693 +34.364847898483276,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +34.404642820358276,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +34.40487790107727,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +34.46756982803345,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.46763205528259,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.50755786895752,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.50762701034546,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.575536012649536,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.57562184333801,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.60555291175842,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.60565400123596,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.65981698036194,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.65990686416626,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.71955585479736,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.719679832458496,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +34.76654100418091,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.766618967056274,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.80652403831482,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.80660605430603,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +34.8234429359436,-4.265999794006348,31.189999999999998,15.61,3.2300000190734863 +34.82350182533264,-4.265999794006348,31.25,15.61,3.2300000190734863 +34.86060190200806,-4.265999794006348,31.25,15.61,3.2300000190734863 +34.860682010650635,-4.265999794006348,31.25,15.61,3.2309999465942383 +34.900691986083984,-4.265999794006348,31.25,15.61,3.2309999465942383 +34.900805950164795,-4.265999794006348,31.25,15.61,3.2309999465942383 +34.96649885177612,-4.264999866485596,31.25,15.61,3.2309999465942383 +34.966601848602295,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.006407022476196,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.0064799785614,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.0608069896698,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.06089496612549,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.10094499588013,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.10105895996094,-4.264999866485596,31.25,15.61,3.2320001125335693 +35.17634296417236,-4.263999938964844,31.25,15.61,3.2320001125335693 +35.17642593383789,-4.263999938964844,31.25,15.61,3.2300000190734863 +35.20639991760254,-4.263999938964844,31.25,15.61,3.2300000190734863 +35.20652985572815,-4.263999938964844,31.25,15.61,3.2300000190734863 +35.260424852371216,-4.263999938964844,31.25,15.61,3.2300000190734863 +35.26051187515259,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.30053997039795,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.30065083503723,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.376314878463745,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.37644290924072,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.406306982040405,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.40641188621521,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.46043086051941,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.46051383018494,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.500478982925415,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.500584840774536,-4.263999938964844,31.25,15.61,3.2290000915527344 +35.567293882369995,-4.263000011444092,31.25,15.61,3.2290000915527344 +35.56743788719177,-4.263000011444092,31.25,15.61,3.2279999256134033 +35.607271909713745,-4.263000011444092,31.25,15.61,3.2279999256134033 +35.607383012771606,-4.263000011444092,31.25,15.61,3.2279999256134033 +35.66118288040161,-4.263999938964844,31.25,15.61,3.2279999256134033 +35.661255836486816,-4.263999938964844,31.25,15.61,3.2309999465942383 +35.70118594169617,-4.263999938964844,31.25,15.61,3.2309999465942383 +35.701261043548584,-4.263999938964844,31.25,15.61,3.2309999465942383 +35.76825284957886,-4.264999866485596,31.25,15.61,3.2309999465942383 +35.76833486557007,-4.264999866485596,31.25,15.61,3.2309999465942383 +35.81839394569397,-4.264999866485596,31.25,15.61,3.2309999465942383 +35.81849193572998,-4.264999866485596,31.25,15.61,3.2309999465942383 +35.82509684562683,-4.264999866485596,31.25,15.64,3.2309999465942383 +35.82516002655029,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.86311984062195,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.863196849823,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.902199029922485,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.90229392051697,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.959100008010864,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +35.95917296409607,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +35.999074935913086,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +35.99914503097534,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +36.06313991546631,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +36.063222885131836,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +36.10313892364502,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +36.10323190689087,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +36.15904784202576,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +36.15912199020386,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +36.19900989532471,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +36.199084997177124,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +36.263062953948975,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +36.26313495635986,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.303061962127686,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.30315184593201,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.36113500595093,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.36121201515198,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.401164054870605,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.40123105049133,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.46392798423767,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.46399784088135,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.50398802757263,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.50407695770264,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +36.561046838760376,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +36.561123847961426,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.601001024246216,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.6010799407959,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.6648428440094,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.664917945861816,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.70384502410889,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.70393490791321,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.76193284988403,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.76202201843262,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.80180788040161,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.80187797546387,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.833853006362915,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.83392882347107,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.861796855926514,-4.263999938964844,31.210000000000008,15.64,3.2320001125335693 +36.86187291145325,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +36.905855894088745,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +36.90596890449524,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +36.96178102493286,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +36.961853981018066,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.00175094604492,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.00182390213013,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.06670594215393,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.0667839050293,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.105764865875244,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.10669994354248,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.161805868148804,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.16189002990723,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.20167684555054,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.201748847961426,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +37.26475787162781,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +37.26482892036438,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +37.30475401878357,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +37.30484485626221,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +37.361618995666504,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.36169505119324,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.40160584449768,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.40167188644409,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.46867799758911,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.468852043151855,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.506574869155884,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.50666403770447,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.56356596946716,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.563640832901,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.60354804992676,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.60362005233765,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +37.667547941207886,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +37.66762900352478,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +37.706531047821045,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +37.706624031066895,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +37.7645218372345,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +37.76463484764099,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +37.80348205566406,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +37.80355882644653,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +37.82643699645996,-4.265999794006348,31.210000000000008,15.67,3.2290000915527344 +37.82650589942932,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.867526054382324,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.86760687828064,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.907459020614624,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.90754985809326,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.96445298194885,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +37.96455502510071,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +38.00443482398987,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +38.00453305244446,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +38.069522857666016,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.06963896751404,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +38.10835599899292,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +38.108453035354614,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +38.164469957351685,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.16483187675476,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.20434594154358,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.204428911209106,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.26944398880005,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.269598960876465,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.308347940444946,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.308465003967285,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.36540699005127,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.36553883552551,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.40427088737488,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.404364824295044,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.46824598312378,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +38.46833896636963,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +38.508227825164795,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +38.50832796096802,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +38.56525683403015,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +38.56534385681152,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.60525298118591,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.60533404350281,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +38.66524004936218,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +38.66533803939819,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.7002489566803,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.70031499862671,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.72812485694885,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.72819185256958,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.76618003845215,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.76626896858215,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.79733991622925,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.79742884635925,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +38.858585834503174,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +38.85870695114136,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +38.90024495124817,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +38.90033197402954,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +38.959553956985474,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +38.95967197418213,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +39.006072998046875,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +39.00617003440857,-4.265999794006348,31.189999999999998,15.67,3.2279999256134033 +39.07012391090393,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.07019591331482,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.10023283958435,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.10038685798645,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.1670298576355,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.16712689399719,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.20705199241638,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.20717191696167,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.271119832992554,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.27121901512146,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +39.31105399131775,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +39.311135053634644,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +39.3583710193634,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +39.35848903656006,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.39820694923401,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.39832091331482,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.458300828933716,-4.263999938964844,31.189999999999998,15.67,3.2279999256134033 +39.458417892456055,-4.263999938964844,31.189999999999998,15.67,3.2269999980926514 +39.51098895072937,-4.263999938964844,31.189999999999998,15.67,3.2269999980926514 +39.51107382774353,-4.263999938964844,31.189999999999998,15.67,3.2269999980926514 +39.55825591087341,-4.264999866485596,31.189999999999998,15.67,3.2269999980926514 +39.558372020721436,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.59815192222595,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.59826588630676,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.65821886062622,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.658336877822876,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.70195984840393,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.70204496383667,-4.264999866485596,31.189999999999998,15.67,3.2279999256134033 +39.72781205177307,-4.264999866485596,31.189999999999998,15.6,3.2279999256134033 +39.72786283493042,-4.264999866485596,31.169999999999987,15.6,3.2279999256134033 +39.75890898704529,-4.265999794006348,31.169999999999987,15.6,3.2279999256134033 +39.75900888442993,-4.265999794006348,31.169999999999987,15.6,3.2290000915527344 +39.79886484146118,-4.265999794006348,31.169999999999987,15.6,3.2290000915527344 +39.79894995689392,-4.265999794006348,31.169999999999987,15.6,3.2290000915527344 +39.85887384414673,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +39.85897397994995,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +39.904969930648804,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +39.90509796142578,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +39.959882974624634,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +39.95998787879944,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +39.99980187416077,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +39.999871015548706,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.059929847717285,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.06004285812378,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.10379886627197,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.103862047195435,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.16072082519531,-4.264999866485596,31.169999999999987,15.6,3.2300000190734863 +40.16082501411438,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +40.200669050216675,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +40.20075583457947,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +40.260687828063965,-4.263999938964844,31.169999999999987,15.6,3.2290000915527344 +40.26079988479614,-4.263999938964844,31.169999999999987,15.6,3.2269999980926514 +40.305712938308716,-4.263999938964844,31.169999999999987,15.6,3.2269999980926514 +40.30578088760376,-4.263999938964844,31.169999999999987,15.6,3.2269999980926514 +40.36064600944519,-4.263999938964844,31.169999999999987,15.6,3.2269999980926514 +40.360743045806885,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.40059494972229,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.40067195892334,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.460633993148804,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.46074390411377,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.50468397140503,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.50474405288696,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.56059694290161,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.56069302558899,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.60062599182129,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.60070204734802,-4.263999938964844,31.169999999999987,15.6,3.2260000705718994 +40.66065692901611,-4.263000011444092,31.169999999999987,15.6,3.2260000705718994 +40.66100883483887,-4.263000011444092,31.169999999999987,15.6,3.2300000190734863 +40.70461297035217,-4.263000011444092,31.169999999999987,15.6,3.2300000190734863 +40.70467686653137,-4.263000011444092,31.169999999999987,15.6,3.2300000190734863 +40.72747588157654,-4.263000011444092,31.169999999999987,15.64,3.2300000190734863 +40.72755193710327,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.76162004470825,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.76170587539673,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.80151891708374,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.801591873168945,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.861594915390015,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.86169981956482,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.915457010269165,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.9155809879303,-4.263000011444092,31.22,15.64,3.2300000190734863 +40.9624879360199,-4.263999938964844,31.22,15.64,3.2300000190734863 +40.9625940322876,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.00248193740845,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.00255084037781,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.0625479221344,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.06264686584473,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.10647988319397,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.106552839279175,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.16250681877136,-4.263999938964844,31.22,15.64,3.2320001125335693 +41.16260099411011,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.20243787765503,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.202499866485596,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.262552976608276,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.262665033340454,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.306406021118164,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.30647587776184,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.36330604553223,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.363412857055664,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.4034469127655,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.40357804298401,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.46350288391113,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.463623046875,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.507354974746704,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.50747895240784,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.56424593925476,-4.263999938964844,31.22,15.64,3.2290000915527344 +41.564350843429565,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.60418391227722,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.604254961013794,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.66420292854309,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.664320945739746,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.698323011398315,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.69837498664856,-4.263999938964844,31.22,15.64,3.2300000190734863 +41.72817897796631,-4.263999938964844,31.22,15.67,3.2300000190734863 +41.72825384140015,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +41.76522088050842,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +41.765341997146606,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +41.805135011672974,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +41.805208921432495,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +41.86515402793884,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +41.86526703834534,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +41.899107933044434,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +41.899169921875,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +41.96610498428345,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +41.9662139415741,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.00511598587036,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.00523090362549,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.065099000930786,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.06521987915039,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.1001079082489,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.10017704963684,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +42.165050983428955,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +42.16515493392944,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +42.20500183105469,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +42.20508003234863,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +42.26501703262329,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +42.26512598991394,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.29923892021179,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.299322843551636,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.36599683761597,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.366140842437744,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.40592384338379,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.40600085258484,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.465970039367676,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.466102838516235,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.50007605552673,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.50031495094299,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.566975831985474,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.56709885597229,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.607053995132446,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.60722994804382,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.666971921920776,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +42.667096853256226,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.70094895362854,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.70102787017822,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.767940044403076,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.76804995536804,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.80781292915344,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.80788803100586,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +42.82885003089905,-4.265999794006348,31.189999999999998,15.71,3.2330000400543213 +42.82890200614929,-4.265999794006348,31.22999999999999,15.71,3.2330000400543213 +42.867910861968994,-4.267000198364258,31.22999999999999,15.71,3.2330000400543213 +42.86827802658081,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +42.90207886695862,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +42.90216302871704,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +42.96787095069885,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +42.967970848083496,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +43.00777792930603,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +43.007853984832764,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +43.06780290603638,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +43.06792092323303,-4.26800012588501,31.22999999999999,15.71,3.2290000915527344 +43.101945877075195,-4.26800012588501,31.22999999999999,15.71,3.2290000915527344 +43.10202193260193,-4.26800012588501,31.22999999999999,15.71,3.2290000915527344 +43.16780400276184,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +43.16793990135193,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.20771789550781,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.2077898979187,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.26774191856384,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +43.26785492897034,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.30181097984314,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.301870822906494,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.35879182815552,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.35885787010193,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.3987820148468,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.39886689186096,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.45878481864929,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.45886301994324,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.50276184082031,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.502832889556885,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +43.55964994430542,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +43.55974102020264,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.59998798370361,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.600077867507935,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +43.65958595275879,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +43.65965986251831,-4.269000053405762,31.22999999999999,15.71,3.2290000915527344 +43.70357584953308,-4.269000053405762,31.22999999999999,15.71,3.2290000915527344 +43.7036919593811,-4.269000053405762,31.22999999999999,15.71,3.2290000915527344 +43.73260998725891,-4.269000053405762,31.22999999999999,15.64,3.2290000915527344 +43.73268103599548,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.75958299636841,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.75967597961426,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.80051398277283,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.800631046295166,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.86045289039612,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.86052989959717,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.903594970703125,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.90367889404297,-4.269000053405762,31.22,15.64,3.2290000915527344 +43.96042990684509,-4.26800012588501,31.22,15.64,3.2290000915527344 +43.96051788330078,-4.26800012588501,31.22,15.64,3.2309999465942383 +44.00045585632324,-4.26800012588501,31.22,15.64,3.2309999465942383 +44.0005738735199,-4.26800012588501,31.22,15.64,3.2309999465942383 +44.06038498878479,-4.267000198364258,31.22,15.64,3.2309999465942383 +44.06045889854431,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.10440802574158,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.104503870010376,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.16135501861572,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.16144585609436,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.200429916381836,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.200549840927124,-4.267000198364258,31.22,15.64,3.2320001125335693 +44.26032304763794,-4.265999794006348,31.22,15.64,3.2320001125335693 +44.260392904281616,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.30533194541931,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.30542993545532,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.36240291595459,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.36249089241028,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.40126895904541,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.401368856430054,-4.265999794006348,31.22,15.64,3.2330000400543213 +44.461238861083984,-4.264999866485596,31.22,15.64,3.2330000400543213 +44.461313009262085,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.507351875305176,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.50747299194336,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.56233191490173,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.56242084503174,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.60231804847717,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.602407932281494,-4.264999866485596,31.22,15.64,3.2300000190734863 +44.662272930145264,-4.265999794006348,31.22,15.64,3.2300000190734863 +44.662346839904785,-4.265999794006348,31.22,15.64,3.2309999465942383 +44.706159830093384,-4.265999794006348,31.22,15.64,3.2309999465942383 +44.706220865249634,-4.265999794006348,31.22,15.64,3.2309999465942383 +44.73322582244873,-4.265999794006348,31.22,15.67,3.2309999465942383 +44.7332808971405,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +44.76416993141174,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +44.76426386833191,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +44.804352045059204,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +44.80449390411377,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +44.86427903175354,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +44.86441493034363,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +44.89828300476074,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +44.898345947265625,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +44.96409893035889,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +44.96418786048889,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +45.00407886505127,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +45.00416588783264,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +45.06404495239258,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +45.06411695480347,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +45.09818887710571,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +45.09825682640076,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +45.16316890716553,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +45.16326189041138,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.203131914138794,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.203227043151855,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.26306104660034,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.263136863708496,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.30698585510254,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.30705690383911,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.36396789550781,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.36404895782471,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.40398097038269,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.40408992767334,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.46396589279175,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.464072942733765,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +45.49809789657593,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +45.498162031173706,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +45.56313490867615,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +45.563446044921875,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.60308289527893,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.60339283943176,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.66304087638855,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.66310095787048,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.70692300796509,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.70702886581421,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +45.737921953201294,-4.267000198364258,31.189999999999998,15.64,3.2300000190734863 +45.73799705505371,-4.267000198364258,31.22,15.64,3.2300000190734863 +45.763854026794434,-4.26800012588501,31.22,15.64,3.2300000190734863 +45.76396203041077,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.80381202697754,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.80389904975891,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.86377501487732,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.86385989189148,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.89882493019104,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.8988938331604,-4.26800012588501,31.22,15.64,3.2330000400543213 +45.96475386619568,-4.269000053405762,31.22,15.64,3.2330000400543213 +45.96484184265137,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.00484490394592,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.004995822906494,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.06481599807739,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.06502604484558,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.09787201881409,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.09793782234192,-4.269000053405762,31.22,15.64,3.2330000400543213 +46.16469192504883,-4.26800012588501,31.22,15.64,3.2330000400543213 +46.16478490829468,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.2046639919281,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.20475482940674,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.26469302177429,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.26478290557861,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.298744916915894,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.29882788658142,-4.26800012588501,31.22,15.64,3.2290000915527344 +46.36563587188721,-4.267000198364258,31.22,15.64,3.2290000915527344 +46.3657329082489,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.40560698509216,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.40569996833801,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.46558403968811,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.46566200256348,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.499584913253784,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.499654054641724,-4.267000198364258,31.22,15.64,3.2279999256134033 +46.566725969314575,-4.264999866485596,31.22,15.64,3.2279999256134033 +46.5668568611145,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.60664200782776,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.60677194595337,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.666685819625854,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.666810035705566,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.700490951538086,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.700562953948975,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.737597942352295,-4.264999866485596,31.22,15.64,3.2320001125335693 +46.73766899108887,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +46.76758599281311,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +46.76771092414856,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +46.79781103134155,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +46.79789686203003,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +46.857709884643555,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +46.85781693458557,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +46.9024498462677,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +46.90254092216492,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +46.967522859573364,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +46.967649936676025,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +46.99774503707886,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +46.997828006744385,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +47.05756592750549,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +47.05763792991638,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +47.10038185119629,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +47.10044884681702,-4.264999866485596,31.210000000000008,15.64,3.2269999980926514 +47.16743588447571,-4.265999794006348,31.210000000000008,15.64,3.2269999980926514 +47.167587995529175,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +47.20737385749817,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +47.20747900009155,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +47.257545948028564,-4.264999866485596,31.210000000000008,15.64,3.2279999256134033 +47.25763487815857,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +47.30139899253845,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +47.30146503448486,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +47.36836886405945,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.36845898628235,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.398470878601074,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.398640871047974,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.45834684371948,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.458431005477905,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.502251863479614,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.502321004867554,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +47.568289041519165,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +47.56837582588196,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.607194900512695,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.60729789733887,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.657378911972046,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.65744590759277,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.70139503479004,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.701452016830444,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +47.7421338558197,-4.26800012588501,31.210000000000008,15.6,3.2320001125335693 +47.74218201637268,-4.26800012588501,31.169999999999987,15.6,3.2320001125335693 +47.76916790008545,-4.269999980926514,31.169999999999987,15.6,3.2320001125335693 +47.76925992965698,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.79925203323364,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.799335956573486,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.859123945236206,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.85919690132141,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.90309691429138,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.90316605567932,-4.269999980926514,31.169999999999987,15.6,3.2309999465942383 +47.97010397911072,-4.26800012588501,31.169999999999987,15.6,3.2309999465942383 +47.97021698951721,-4.26800012588501,31.169999999999987,15.6,3.2320001125335693 +48.009068965911865,-4.26800012588501,31.169999999999987,15.6,3.2320001125335693 +48.00916790962219,-4.26800012588501,31.169999999999987,15.6,3.2320001125335693 +48.05905890464783,-4.267000198364258,31.169999999999987,15.6,3.2320001125335693 +48.059125900268555,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.10303783416748,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.10310196876526,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.17101001739502,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.17110204696655,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.201103925704956,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.20120191574097,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.260972023010254,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.26104402542114,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.30506491661072,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.30514192581177,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.371949911117554,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.37205696105957,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.41092896461487,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.41102600097656,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.46092700958252,-4.267000198364258,31.169999999999987,15.6,3.2330000400543213 +48.46101188659668,-4.267000198364258,31.169999999999987,15.6,3.2309999465942383 +48.5059769153595,-4.267000198364258,31.169999999999987,15.6,3.2309999465942383 +48.5060818195343,-4.267000198364258,31.169999999999987,15.6,3.2309999465942383 +48.57187795639038,-4.264999866485596,31.169999999999987,15.6,3.2309999465942383 +48.57197189331055,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.601999044418335,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.60221886634827,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.6618390083313,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.661916971206665,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.70604991912842,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.70641088485718,-4.264999866485596,31.169999999999987,15.6,3.2290000915527344 +48.74588203430176,-4.264999866485596,31.169999999999987,15.67,3.2290000915527344 +48.74594783782959,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +48.77533483505249,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +48.77555990219116,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +48.81182599067688,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +48.81194591522217,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +48.861984968185425,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +48.862074851989746,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +48.906853914260864,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +48.906980991363525,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +48.945902824401855,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +48.94597601890564,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +49.01376295089722,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +49.013906955718994,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +49.04375195503235,-4.26200008392334,31.189999999999998,15.67,3.2290000915527344 +49.043866872787476,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.09689688682556,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.09697103500366,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.13691782951355,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.13699698448181,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.213714838027954,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.21384000778198,-4.26200008392334,31.189999999999998,15.67,3.2320001125335693 +49.24368500709534,-4.263000011444092,31.189999999999998,15.67,3.2320001125335693 +49.243780851364136,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.29769492149353,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.29777193069458,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.33815598487854,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.33833193778992,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.41364002227783,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.41378092765808,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +49.444730043411255,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.444823026657104,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.49764704704285,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.49772596359253,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.537935972213745,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.53803586959839,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.60472583770752,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.60480093955994,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +49.64470195770264,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +49.64480495452881,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +49.698549032211304,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +49.69863796234131,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +49.749446868896484,-4.267000198364258,31.189999999999998,15.6,3.2290000915527344 +49.74949502944946,-4.267000198364258,31.180000000000007,15.6,3.2290000915527344 +49.75850796699524,-4.267000198364258,31.180000000000007,15.6,3.2290000915527344 +49.758599042892456,-4.267000198364258,31.180000000000007,15.6,3.2290000915527344 +49.81444787979126,-4.267000198364258,31.180000000000007,15.6,3.2290000915527344 +49.81454300880432,-4.267000198364258,31.180000000000007,15.6,3.2290000915527344 +49.86445093154907,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +49.86454486846924,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +49.89841985702515,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +49.8984899520874,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +49.93763303756714,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +49.93773603439331,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +50.014381885528564,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +50.0144898891449,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +50.06443691253662,-4.265999794006348,31.180000000000007,15.6,3.2279999256134033 +50.06457495689392,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.09841299057007,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.09854984283447,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.158347845077515,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.15842795372009,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.215476989746094,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.21557402610779,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.256600856781006,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.256669998168945,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.299322843551636,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.29940700531006,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.33938789367676,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.339563846588135,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.39681792259216,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.396896839141846,-4.265999794006348,31.180000000000007,15.6,3.2290000915527344 +50.437065839767456,-4.264999866485596,31.180000000000007,15.6,3.2290000915527344 +50.4371600151062,-4.264999866485596,31.180000000000007,15.6,3.2300000190734863 +50.50022101402283,-4.264999866485596,31.180000000000007,15.6,3.2300000190734863 +50.500300884246826,-4.264999866485596,31.180000000000007,15.6,3.2300000190734863 +50.55921792984009,-4.264999866485596,31.180000000000007,15.6,3.2300000190734863 +50.5592999458313,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +50.59649586677551,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +50.59657287597656,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +50.636533975601196,-4.26800012588501,31.180000000000007,15.6,3.2309999465942383 +50.63663983345032,-4.26800012588501,31.180000000000007,15.6,3.2320001125335693 +50.7001588344574,-4.26800012588501,31.180000000000007,15.6,3.2320001125335693 +50.70023584365845,-4.26800012588501,31.180000000000007,15.6,3.2320001125335693 +50.750144958496094,-4.26800012588501,31.180000000000007,15.61,3.2320001125335693 +50.750247955322266,-4.26800012588501,31.25,15.61,3.2320001125335693 +50.76025700569153,-4.26800012588501,31.25,15.61,3.2320001125335693 +50.760324001312256,-4.26800012588501,31.25,15.61,3.2320001125335693 +50.79721689224243,-4.26800012588501,31.25,15.61,3.2320001125335693 +50.797292947769165,-4.26800012588501,31.25,15.61,3.2320001125335693 +50.85725283622742,-4.269000053405762,31.25,15.61,3.2320001125335693 +50.857364892959595,-4.269000053405762,31.25,15.61,3.2320001125335693 +50.901124000549316,-4.269000053405762,31.25,15.61,3.2320001125335693 +50.90121388435364,-4.269000053405762,31.25,15.61,3.2320001125335693 +50.960108041763306,-4.269000053405762,31.25,15.61,3.2320001125335693 +50.96021795272827,-4.269000053405762,31.25,15.61,3.2300000190734863 +50.99715805053711,-4.269000053405762,31.25,15.61,3.2300000190734863 +50.99723792076111,-4.269000053405762,31.25,15.61,3.2300000190734863 +51.05718803405762,-4.269000053405762,31.25,15.61,3.2300000190734863 +51.05730199813843,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.101035833358765,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.10110282897949,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.161056995391846,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.161173820495605,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.199095010757446,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.1991708278656,-4.269000053405762,31.25,15.61,3.2269999980926514 +51.25850296020508,-4.267000198364258,31.25,15.61,3.2269999980926514 +51.258625984191895,-4.267000198364258,31.25,15.61,3.2260000705718994 +51.301044940948486,-4.267000198364258,31.25,15.61,3.2260000705718994 +51.30115795135498,-4.267000198364258,31.25,15.61,3.2260000705718994 +51.36100101470947,-4.265999794006348,31.25,15.61,3.2260000705718994 +51.36111903190613,-4.265999794006348,31.25,15.61,3.2279999256134033 +51.39993095397949,-4.265999794006348,31.25,15.61,3.2279999256134033 +51.40000796318054,-4.265999794006348,31.25,15.61,3.2279999256134033 +51.458998918533325,-4.267000198364258,31.25,15.61,3.2279999256134033 +51.4590859413147,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.50288987159729,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.50296688079834,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.56396985054016,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.564093828201294,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.599863052368164,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.599939823150635,-4.267000198364258,31.25,15.61,3.2300000190734863 +51.659865856170654,-4.269000053405762,31.25,15.61,3.2300000190734863 +51.65995788574219,-4.269000053405762,31.25,15.61,3.2320001125335693 +51.7038369178772,-4.269000053405762,31.25,15.61,3.2320001125335693 +51.7039098739624,-4.269000053405762,31.25,15.61,3.2320001125335693 +51.750778913497925,-4.269000053405762,31.25,15.71,3.2320001125335693 +51.75084185600281,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.76381492614746,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.76388502120972,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.80082297325134,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.800901889801025,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.86078691482544,-4.269000053405762,31.22999999999999,15.71,3.2320001125335693 +51.86088299751282,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.902880907058716,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.90295600891113,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.962738037109375,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.96281599998474,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.997071981430054,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +51.99714684486389,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +52.06172490119934,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +52.06181788444519,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +52.10571503639221,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +52.105798959732056,-4.269000053405762,31.22999999999999,15.71,3.2300000190734863 +52.1558940410614,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.15597486495972,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +52.202735900878906,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +52.20287299156189,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +52.262908935546875,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +52.26300096511841,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.30696082115173,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.30704188346863,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.355939865112305,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.356189012527466,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.395779848098755,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.395856857299805,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +52.46259093284607,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +52.462687969207764,-4.26800012588501,31.22999999999999,15.71,3.2330000400543213 +52.50678586959839,-4.26800012588501,31.22999999999999,15.71,3.2330000400543213 +52.50687384605408,-4.26800012588501,31.22999999999999,15.71,3.2330000400543213 +52.556532859802246,-4.26800012588501,31.22999999999999,15.71,3.2330000400543213 +52.5566029548645,-4.26800012588501,31.22999999999999,15.71,3.2339999675750732 +52.603529930114746,-4.26800012588501,31.22999999999999,15.71,3.2339999675750732 +52.60360503196716,-4.26800012588501,31.22999999999999,15.71,3.2339999675750732 +52.66251802444458,-4.267000198364258,31.22999999999999,15.71,3.2339999675750732 +52.66260600090027,-4.267000198364258,31.22999999999999,15.71,3.2339999675750732 +52.70648384094238,-4.267000198364258,31.22999999999999,15.71,3.2339999675750732 +52.70656394958496,-4.267000198364258,31.22999999999999,15.71,3.2339999675750732 +52.75144982337952,-4.267000198364258,31.22999999999999,15.64,3.2339999675750732 +52.75150489807129,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.75647592544556,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.75654697418213,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.80348587036133,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.80357503890991,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.86346983909607,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.86358284950256,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.907421827316284,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.90750288963318,-4.267000198364258,31.22,15.64,3.2339999675750732 +52.9574089050293,-4.26800012588501,31.22,15.64,3.2339999675750732 +52.95748496055603,-4.26800012588501,31.22,15.64,3.2320001125335693 +52.99692988395691,-4.26800012588501,31.22,15.64,3.2320001125335693 +52.99706792831421,-4.26800012588501,31.22,15.64,3.2320001125335693 +53.06450891494751,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.064597845077515,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.10468888282776,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.104804039001465,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.15885901451111,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.1589629650116,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.196351051330566,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.19643998146057,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.25742197036743,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.25748896598816,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.2973108291626,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.29738998413086,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.3592848777771,-4.267000198364258,31.22,15.64,3.2320001125335693 +53.35938096046448,-4.267000198364258,31.22,15.64,3.2330000400543213 +53.396584033966064,-4.267000198364258,31.22,15.64,3.2330000400543213 +53.396723985672,-4.267000198364258,31.22,15.64,3.2330000400543213 +53.45656895637512,-4.267000198364258,31.22,15.64,3.2330000400543213 +53.45669603347778,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.49623894691467,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.49631094932556,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.5592360496521,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.55930805206299,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.59721088409424,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.597301959991455,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.65723896026611,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.65732192993164,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.69718790054321,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.697288036346436,-4.267000198364258,31.22,15.64,3.2300000190734863 +53.75537085533142,-4.267000198364258,31.22,15.67,3.2300000190734863 +53.75544786453247,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +53.7611608505249,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +53.7612509727478,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +53.79829382896423,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +53.79836988449097,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +53.858351945877075,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +53.858433961868286,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.89826703071594,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.898345947265625,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.96107792854309,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.96115493774414,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.998289823532104,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +53.9983868598938,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +54.05833101272583,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +54.05841588973999,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +54.098203897476196,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +54.09828495979309,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +54.16200399398804,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +54.16208291053772,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +54.200052976608276,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +54.20013403892517,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +54.259979009628296,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +54.26006102561951,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.29997682571411,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.30007600784302,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.36294603347778,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.36301803588867,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.3999228477478,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.39999294281006,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.459908962249756,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.459988832473755,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.49988794326782,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.49996900558472,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +54.56402802467346,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +54.564103841781616,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +54.600860834121704,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +54.60093283653259,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +54.66085195541382,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +54.66093587875366,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +54.70083785057068,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +54.70091700553894,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +54.7550208568573,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +54.75511598587036,-4.26800012588501,31.189999999999998,15.67,3.2300000190734863 +54.75678491592407,-4.26800012588501,31.189999999999998,15.71,3.2300000190734863 +54.75683903694153,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.801841020584106,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.80196404457092,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.86078190803528,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.86086082458496,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.90175485610962,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.9018349647522,-4.26800012588501,31.22999999999999,15.71,3.2300000190734863 +54.955008029937744,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +54.95510387420654,-4.267000198364258,31.22999999999999,15.71,3.2330000400543213 +55.002840995788574,-4.267000198364258,31.22999999999999,15.71,3.2330000400543213 +55.00290584564209,-4.267000198364258,31.22999999999999,15.71,3.2330000400543213 +55.06390690803528,-4.267000198364258,31.22999999999999,15.71,3.2330000400543213 +55.06399202346802,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.10395383834839,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.104032039642334,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.155680894851685,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.15577292442322,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.201663970947266,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.201760053634644,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +55.26174187660217,-4.264999866485596,31.22999999999999,15.71,3.2320001125335693 +55.26180982589722,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.301620960235596,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.30169987678528,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.363868951797485,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.363966941833496,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.4095778465271,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.40966796875,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +55.45862698554993,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +55.45874094963074,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +55.49856781959534,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +55.49865102767944,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +55.572540044784546,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +55.57264184951782,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +55.60151791572571,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +55.601595878601074,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +55.661547899246216,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +55.6616690158844,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +55.70149803161621,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +55.701573848724365,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +55.757477045059204,-4.265999794006348,31.22999999999999,15.67,3.2320001125335693 +55.757609844207764,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +55.758864879608154,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +55.758962869644165,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +55.796489000320435,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +55.796586990356445,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +55.86258888244629,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +55.86271595954895,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +55.89479088783264,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +55.894853830337524,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +55.955421924591064,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +55.95551085472107,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +56.00138592720032,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +56.001457929611206,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +56.0613899230957,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +56.06147599220276,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.10135197639465,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.10142993927002,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.15533185005188,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.15541887283325,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.20164704322815,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.20173501968384,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +56.261324882507324,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +56.26142597198486,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +56.30128788948059,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +56.30136489868164,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +56.35527586936951,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +56.355350971221924,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +56.40136504173279,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +56.40142297744751,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +56.46135997772217,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +56.46142888069153,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.49460482597351,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.4946768283844,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.555217027664185,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.555306911468506,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.602195024490356,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.60226798057556,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.66217803955078,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +56.6622588634491,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +56.70215892791748,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +56.702242851257324,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +56.7561559677124,-4.265999794006348,31.189999999999998,15.67,3.2309999465942383 +56.756242990493774,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +56.758116006851196,-4.265999794006348,31.189999999999998,15.68,3.2339999675750732 +56.75816798210144,-4.265999794006348,31.25999999999999,15.68,3.2339999675750732 +56.80349588394165,-4.265999794006348,31.25999999999999,15.68,3.2339999675750732 +56.803608894348145,-4.265999794006348,31.25999999999999,15.68,3.2339999675750732 +56.86335897445679,-4.265999794006348,31.25999999999999,15.68,3.2339999675750732 +56.8634819984436,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.903260946273804,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.90333795547485,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.957237005233765,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.95733284950256,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.995089054107666,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +56.99518704414368,-4.265999794006348,31.25999999999999,15.68,3.2320001125335693 +57.063177824020386,-4.264999866485596,31.25999999999999,15.68,3.2320001125335693 +57.0632529258728,-4.264999866485596,31.25999999999999,15.68,3.2300000190734863 +57.103349924087524,-4.264999866485596,31.25999999999999,15.68,3.2300000190734863 +57.103461027145386,-4.264999866485596,31.25999999999999,15.68,3.2300000190734863 +57.15723490715027,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.15738582611084,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.203157901763916,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.20323991775513,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.26307201385498,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.26314187049866,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.30318284034729,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.3032808303833,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.357089042663574,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.3571720123291,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.39561605453491,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.395745038986206,-4.263999938964844,31.25999999999999,15.68,3.2300000190734863 +57.46320104598999,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.46332097053528,-4.263000011444092,31.25999999999999,15.68,3.2290000915527344 +57.50320887565613,-4.263000011444092,31.25999999999999,15.68,3.2290000915527344 +57.50331783294678,-4.263000011444092,31.25999999999999,15.68,3.2290000915527344 +57.55705285072327,-4.263000011444092,31.25999999999999,15.68,3.2290000915527344 +57.55714988708496,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.59407687187195,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.59416484832764,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.65400981903076,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.65408682823181,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.69403696060181,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.69412899017334,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.7578399181366,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.75794696807861,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.75878596305847,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.75884985923767,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.79397797584534,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.794065952301025,-4.263000011444092,31.25999999999999,15.68,3.2300000190734863 +57.85402703285217,-4.264999866485596,31.25999999999999,15.68,3.2300000190734863 +57.85410189628601,-4.264999866485596,31.25999999999999,15.68,3.2290000915527344 +57.89390993118286,-4.264999866485596,31.25999999999999,15.68,3.2290000915527344 +57.893980979919434,-4.264999866485596,31.25999999999999,15.68,3.2290000915527344 +57.96573996543884,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +57.965839862823486,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +57.99473786354065,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +57.99482989311218,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.054725885391235,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.0548198223114,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.09471392631531,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.09481191635132,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.157686948776245,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.157788038253784,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.19466996192932,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.19475984573364,-4.265999794006348,31.25999999999999,15.68,3.2309999465942383 +58.254637002944946,-4.263000011444092,31.25999999999999,15.68,3.2309999465942383 +58.254703998565674,-4.263000011444092,31.25999999999999,15.68,3.2320001125335693 +58.29463601112366,-4.263000011444092,31.25999999999999,15.68,3.2320001125335693 +58.294721841812134,-4.263000011444092,31.25999999999999,15.68,3.2320001125335693 +58.35861086845398,-4.263000011444092,31.25999999999999,15.68,3.2320001125335693 +58.35871195793152,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.395731925964355,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.395833015441895,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.455580949783325,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.455660820007324,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.495558977127075,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.49563384056091,-4.263000011444092,31.25999999999999,15.68,3.2330000400543213 +58.559552907943726,-4.267000198364258,31.25999999999999,15.68,3.2330000400543213 +58.55964994430542,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.59755182266235,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.59764885902405,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.65673494338989,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.656829833984375,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.69663596153259,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.69671082496643,-4.267000198364258,31.25999999999999,15.68,3.2300000190734863 +58.761476039886475,-4.269000053405762,31.25999999999999,15.68,3.2300000190734863 +58.76157283782959,-4.269000053405762,31.25999999999999,15.68,3.2309999465942383 +58.763453006744385,-4.269000053405762,31.25999999999999,15.67,3.2309999465942383 +58.76354098320007,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.796639919281006,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.79673504829407,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.85754704475403,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.85761094093323,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.89742302894592,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.897493839263916,-4.269000053405762,31.189999999999998,15.67,3.2309999465942383 +58.96039795875549,-4.270999908447266,31.189999999999998,15.67,3.2309999465942383 +58.96049499511719,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +58.99740982055664,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +58.99749994277954,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +59.0573890209198,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +59.05747389793396,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +59.09738898277283,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +59.09748196601868,-4.270999908447266,31.189999999999998,15.67,3.2320001125335693 +59.16134595870972,-4.269999980926514,31.189999999999998,15.67,3.2320001125335693 +59.16144895553589,-4.269999980926514,31.189999999999998,15.67,3.2330000400543213 +59.20133686065674,-4.269999980926514,31.189999999999998,15.67,3.2330000400543213 +59.20143103599548,-4.269999980926514,31.189999999999998,15.67,3.2330000400543213 +59.25530791282654,-4.269000053405762,31.189999999999998,15.67,3.2330000400543213 +59.255378007888794,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +59.29529905319214,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +59.29538297653198,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +59.35828685760498,-4.26800012588501,31.189999999999998,15.67,3.2320001125335693 +59.35837388038635,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.39832091331482,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.39839696884155,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.46024298667908,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.46031594276428,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.49639391899109,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.496487855911255,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.556354999542236,-4.269000053405762,31.189999999999998,15.67,3.2279999256134033 +59.55643582344055,-4.269000053405762,31.189999999999998,15.67,3.2279999256134033 +59.59639596939087,-4.269000053405762,31.189999999999998,15.67,3.2279999256134033 +59.59646987915039,-4.269000053405762,31.189999999999998,15.67,3.2279999256134033 +59.662358045578,-4.26800012588501,31.189999999999998,15.67,3.2279999256134033 +59.66245698928833,-4.26800012588501,31.189999999999998,15.67,3.2269999980926514 +59.70236682891846,-4.26800012588501,31.189999999999998,15.67,3.2269999980926514 +59.7024450302124,-4.26800012588501,31.189999999999998,15.67,3.2269999980926514 +59.75637197494507,-4.267000198364258,31.189999999999998,15.67,3.2269999980926514 +59.75648498535156,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +59.757158041000366,-4.267000198364258,31.189999999999998,15.71,3.2290000915527344 +59.75722694396973,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.79634690284729,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.79642581939697,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.86221694946289,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.86234092712402,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.902326822280884,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.90242385864258,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +59.95712089538574,-4.26800012588501,31.22999999999999,15.71,3.2290000915527344 +59.95724296569824,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +59.99706292152405,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +59.997140884399414,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +60.06307601928711,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +60.0631799697876,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +60.102428913116455,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +60.102498054504395,-4.26800012588501,31.22999999999999,15.71,3.2320001125335693 +60.15831398963928,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +60.158416986465454,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.19838094711304,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.19847297668457,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.26400589942932,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.26414203643799,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.302095890045166,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.302212953567505,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +60.35791897773743,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +60.357998847961426,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +60.39790487289429,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +60.39797782897949,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +60.463894844055176,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +60.46398186683655,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +60.5051748752594,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +60.50530695915222,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +60.55888891220093,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +60.5589919090271,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.598851919174194,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.598928928375244,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.66383504867554,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.66391587257385,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.70415782928467,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.704237937927246,-4.263999938964844,31.22999999999999,15.71,3.2290000915527344 +60.75676393508911,-4.263999938964844,31.22999999999999,15.64,3.2290000915527344 +60.756824016571045,-4.263999938964844,31.22,15.64,3.2290000915527344 +60.75880789756775,-4.264999866485596,31.22,15.64,3.2290000915527344 +60.75888204574585,-4.264999866485596,31.22,15.64,3.2290000915527344 +60.798807859420776,-4.264999866485596,31.22,15.64,3.2290000915527344 +60.79890489578247,-4.264999866485596,31.22,15.64,3.2290000915527344 +60.864760875701904,-4.265999794006348,31.22,15.64,3.2290000915527344 +60.86484885215759,-4.265999794006348,31.22,15.64,3.2309999465942383 +60.9050178527832,-4.265999794006348,31.22,15.64,3.2309999465942383 +60.90510296821594,-4.265999794006348,31.22,15.64,3.2309999465942383 +60.95773005485535,-4.26800012588501,31.22,15.64,3.2309999465942383 +60.95781683921814,-4.26800012588501,31.22,15.64,3.2290000915527344 +60.9977240562439,-4.26800012588501,31.22,15.64,3.2290000915527344 +60.99780201911926,-4.26800012588501,31.22,15.64,3.2290000915527344 +61.06269884109497,-4.26800012588501,31.22,15.64,3.2290000915527344 +61.06276988983154,-4.26800012588501,31.22,15.64,3.2290000915527344 +61.104825019836426,-4.26800012588501,31.22,15.64,3.2290000915527344 +61.10496497154236,-4.26800012588501,31.22,15.64,3.2290000915527344 +61.15984082221985,-4.267000198364258,31.22,15.64,3.2290000915527344 +61.15992093086243,-4.267000198364258,31.22,15.64,3.2320001125335693 +61.200762033462524,-4.267000198364258,31.22,15.64,3.2320001125335693 +61.200825929641724,-4.267000198364258,31.22,15.64,3.2320001125335693 +61.264628887176514,-4.26800012588501,31.22,15.64,3.2320001125335693 +61.26471304893494,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.30463004112244,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.304709911346436,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.35297083854675,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.353034019470215,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.39581799507141,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.395910024642944,-4.26800012588501,31.22,15.64,3.2330000400543213 +61.454593896865845,-4.265999794006348,31.22,15.64,3.2330000400543213 +61.45467782020569,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.50155282020569,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.50163793563843,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.561540842056274,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.56161689758301,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.601523876190186,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.60160303115845,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.666496992111206,-4.265999794006348,31.22,15.64,3.2320001125335693 +61.66658282279968,-4.265999794006348,31.22,15.64,3.2309999465942383 +61.7074830532074,-4.265999794006348,31.22,15.64,3.2309999465942383 +61.70756983757019,-4.265999794006348,31.22,15.64,3.2309999465942383 +61.75749182701111,-4.265999794006348,31.22,15.64,3.2309999465942383 +61.757603883743286,-4.265999794006348,31.22,15.64,3.2309999465942383 +61.76050782203674,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.76060891151428,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.80049204826355,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.80060887336731,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.85451889038086,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.85460186004639,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.907402992248535,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.907485008239746,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.9604058265686,-4.263999938964844,31.22,15.64,3.2309999465942383 +61.96048402786255,-4.263999938964844,31.22,15.64,3.2309999465942383 +62.00044393539429,-4.263999938964844,31.22,15.64,3.2309999465942383 +62.00057291984558,-4.263999938964844,31.22,15.64,3.2309999465942383 +62.05448389053345,-4.264999866485596,31.22,15.64,3.2309999465942383 +62.054571866989136,-4.264999866485596,31.22,15.64,3.2300000190734863 +62.106382846832275,-4.264999866485596,31.22,15.64,3.2300000190734863 +62.106544971466064,-4.264999866485596,31.22,15.64,3.2300000190734863 +62.16140389442444,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.16147804260254,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.20135688781738,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.201448917388916,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.267277002334595,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.26735591888428,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.30832386016846,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.308433055877686,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.36036491394043,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.360503911972046,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.40024399757385,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.40031290054321,-4.267000198364258,31.22,15.64,3.2300000190734863 +62.45432496070862,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.45439887046814,-4.265999794006348,31.22,15.64,3.2290000915527344 +62.50622200965881,-4.265999794006348,31.22,15.64,3.2290000915527344 +62.50629687309265,-4.265999794006348,31.22,15.64,3.2290000915527344 +62.56119704246521,-4.265999794006348,31.22,15.64,3.2290000915527344 +62.56127190589905,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.60120701789856,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.601276874542236,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.667171001434326,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.667266845703125,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.7071578502655,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.70724701881409,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.75250792503357,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.752596855163574,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.75810694694519,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.75816798210144,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.792397022247314,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.79246783256531,-4.265999794006348,31.22,15.64,3.2300000190734863 +62.858181953430176,-4.26800012588501,31.22,15.64,3.2300000190734863 +62.858261823654175,-4.26800012588501,31.22,15.64,3.2290000915527344 +62.91007089614868,-4.26800012588501,31.22,15.64,3.2290000915527344 +62.9101459980011,-4.26800012588501,31.22,15.64,3.2290000915527344 +62.95245599746704,-4.269000053405762,31.22,15.64,3.2290000915527344 +62.952548027038574,-4.269000053405762,31.22,15.64,3.2290000915527344 +62.99233794212341,-4.269000053405762,31.22,15.64,3.2290000915527344 +62.992408990859985,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.055340051651,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.055418968200684,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.1080219745636,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.10811495780945,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.1522958278656,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.15237498283386,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.19226884841919,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.192347049713135,-4.269000053405762,31.22,15.64,3.2290000915527344 +63.25618004798889,-4.267000198364258,31.22,15.64,3.2290000915527344 +63.25632405281067,-4.267000198364258,31.22,15.64,3.2290000915527344 +63.307965993881226,-4.267000198364258,31.22,15.64,3.2290000915527344 +63.30804491043091,-4.267000198364258,31.22,15.64,3.2290000915527344 +63.35293102264404,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.3530068397522,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.392926931381226,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.39300584793091,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.46888494491577,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.468968868255615,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.508868932724,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.508944034576416,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.55501198768616,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.55507802963257,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.59512901306152,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.59519982337952,-4.264999866485596,31.22,15.64,3.2290000915527344 +63.65782690048218,-4.263999938964844,31.22,15.64,3.2290000915527344 +63.657886028289795,-4.263999938964844,31.22,15.64,3.2279999256134033 +63.70381188392639,-4.263999938964844,31.22,15.64,3.2279999256134033 +63.70389986038208,-4.263999938964844,31.22,15.64,3.2279999256134033 +63.753840923309326,-4.263999938964844,31.22,15.64,3.2279999256134033 +63.75392985343933,-4.263999938964844,31.22,15.64,3.2290000915527344 +63.76276683807373,-4.263999938964844,31.22,15.64,3.2290000915527344 +63.76282787322998,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.7937970161438,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.79385995864868,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.85784983634949,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.857924938201904,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.90978288650513,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.90988492965698,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.9537398815155,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.95382499694824,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.993736028671265,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +63.993825912475586,-4.263999938964844,31.210000000000008,15.64,3.2290000915527344 +64.05769801139832,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +64.05777192115784,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +64.10370588302612,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +64.10381197929382,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +64.15370392799377,-4.264999866485596,31.210000000000008,15.64,3.2290000915527344 +64.15380501747131,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.19365501403809,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.19372701644897,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.27066802978516,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.27077198028564,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.30960893630981,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.30967903137207,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.35364603996277,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.35376381874084,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.39358901977539,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.39366602897644,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +64.45666790008545,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +64.45675992965698,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +64.50954794883728,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +64.50963187217712,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +64.55624985694885,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +64.5563600063324,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +64.59551787376404,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +64.59559988975525,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +64.65879797935486,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +64.65891790390015,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +64.6917769908905,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +64.69184494018555,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +64.75456404685974,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +64.7546489238739,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +64.76245403289795,-4.267000198364258,31.210000000000008,15.67,3.2309999465942383 +64.76260185241699,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.79456782341003,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.79465985298157,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.85853004455566,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.85861682891846,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.89241600036621,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.8924880027771,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.95540404319763,-4.267000198364258,31.189999999999998,15.67,3.2309999465942383 +64.95548582077026,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +64.99540495872498,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +64.99549102783203,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +65.05945992469788,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +65.0595350265503,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +65.09206104278564,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +65.09215188026428,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +65.15633583068848,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.15643191337585,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.19845986366272,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.19853401184082,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.26038098335266,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.26045799255371,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.29235792160034,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.2924268245697,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.35233783721924,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +65.35240483283997,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +65.40241599082947,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +65.4025239944458,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +65.4523549079895,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +65.45244693756104,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.49245500564575,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.49259495735168,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.5552818775177,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.55535292625427,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.59726786613464,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.59733700752258,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.6572380065918,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.65732097625732,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.70024800300598,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.70031189918518,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.75139284133911,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +65.75147700309753,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +65.76609301567078,-4.264999866485596,31.189999999999998,15.71,3.2309999465942383 +65.7661600112915,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.79132604598999,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.79140996932983,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.8580858707428,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.85816287994385,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.89807987213135,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.89815783500671,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.95216202735901,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.95223498344421,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.99136185646057,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +65.99145793914795,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.05806303024292,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.0581579208374,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.09802389144897,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.09810900688171,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.15199494361877,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +66.1520688533783,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.19202399253845,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.19212102890015,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.25897002220154,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.25905990600586,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.29899787902832,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.29912805557251,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.35308599472046,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.35317087173462,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.39315795898438,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.39326500892639,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.45992302894592,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.46000289916992,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.49991488456726,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.50003600120544,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +66.55396389961243,-4.267000198364258,31.22999999999999,15.71,3.2290000915527344 +66.55403804779053,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +66.59294891357422,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +66.59301900863647,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +66.65292882919312,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +66.65301585197449,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.69305396080017,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.69312500953674,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.754802942276,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.75487399101257,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +66.76980686187744,-4.264999866485596,31.22999999999999,15.64,3.2309999465942383 +66.7698769569397,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.79484701156616,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.79498600959778,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.85214495658875,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.85223984718323,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.89175987243652,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.89184784889221,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.95473289489746,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.95480298995972,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.99470901489258,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +66.99477291107178,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +67.05193305015564,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.05203104019165,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.09168601036072,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.0917739868164,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.15470886230469,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.15477895736694,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.19464588165283,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.19471383094788,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.25162601470947,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.25171399116516,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.29162096977234,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.29170894622803,-4.263999938964844,31.210000000000008,15.64,3.2309999465942383 +67.35557389259338,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +67.35563802719116,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +67.39458084106445,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +67.39464783668518,-4.264999866485596,31.210000000000008,15.64,3.2300000190734863 +67.45157289505005,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +67.45166182518005,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.49155592918396,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.49164700508118,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.55551886558533,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.55558586120605,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.59549903869629,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.59556102752686,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.65259385108948,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.6526780128479,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.69260597229004,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.69269800186157,-4.265999794006348,31.210000000000008,15.64,3.2309999465942383 +67.75845289230347,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +67.75852298736572,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.77253198623657,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.7725989818573,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.79651188850403,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.79657983779907,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.85347986221313,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.85356497764587,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.89354395866394,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.89363098144531,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +67.95841002464294,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +67.95849704742432,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +67.99736404418945,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +67.99743485450745,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +68.05343890190125,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +68.05352187156677,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.09349799156189,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.09362483024597,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.15934491157532,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.15947484970093,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.19644784927368,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.19653081893921,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +68.25389003753662,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.25404405593872,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +68.2933759689331,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +68.29346895217896,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +68.35826683044434,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +68.35834193229675,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.39635491371155,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.3964250087738,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.45330882072449,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.45339798927307,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.49333500862122,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.4934389591217,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.55824303627014,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.5583348274231,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.59627389907837,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.59634494781494,-4.265999794006348,31.210000000000008,15.64,3.2300000190734863 +68.65529704093933,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +68.65538001060486,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +68.69514298439026,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +68.69523286819458,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +68.7581398487091,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +68.75821900367737,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +68.77609992027283,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +68.77617383003235,-4.267000198364258,31.22,15.64,3.2279999256134033 +68.79715895652771,-4.267000198364258,31.22,15.64,3.2279999256134033 +68.79726386070251,-4.267000198364258,31.22,15.64,3.2279999256134033 +68.85415983200073,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.85427594184875,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.89411091804504,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.89419794082642,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.95807385444641,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.95815086364746,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.99908995628357,-4.26800012588501,31.22,15.64,3.2279999256134033 +68.99915885925293,-4.26800012588501,31.22,15.64,3.2279999256134033 +69.05616283416748,-4.26800012588501,31.22,15.64,3.2279999256134033 +69.0562698841095,-4.26800012588501,31.22,15.64,3.2290000915527344 +69.09613990783691,-4.26800012588501,31.22,15.64,3.2290000915527344 +69.09624290466309,-4.26800012588501,31.22,15.64,3.2290000915527344 +69.15903401374817,-4.267000198364258,31.22,15.64,3.2290000915527344 +69.15913701057434,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.1990258693695,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.19909191131592,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.2569968700409,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.25711584091187,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.29695391654968,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.29704403877258,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.35093283653259,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.35101294517517,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.39092493057251,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.39100694656372,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.45798897743225,-4.267000198364258,31.22,15.64,3.2300000190734863 +69.4581069946289,-4.267000198364258,31.22,15.64,3.2290000915527344 +69.49789500236511,-4.267000198364258,31.22,15.64,3.2290000915527344 +69.49798202514648,-4.267000198364258,31.22,15.64,3.2290000915527344 +69.5508599281311,-4.267000198364258,31.22,15.64,3.2290000915527344 +69.55092883110046,-4.267000198364258,31.22,15.64,3.2260000705718994 +69.59084486961365,-4.267000198364258,31.22,15.64,3.2260000705718994 +69.59091401100159,-4.267000198364258,31.22,15.64,3.2260000705718994 +69.6588408946991,-4.265999794006348,31.22,15.64,3.2260000705718994 +69.65894293785095,-4.265999794006348,31.22,15.64,3.2279999256134033 +69.69885301589966,-4.265999794006348,31.22,15.64,3.2279999256134033 +69.69898295402527,-4.265999794006348,31.22,15.64,3.2279999256134033 +69.75290703773499,-4.265999794006348,31.22,15.64,3.2279999256134033 +69.75299882888794,-4.265999794006348,31.22,15.64,3.2279999256134033 +69.77980184555054,-4.265999794006348,31.22,15.61,3.2279999256134033 +69.77988791465759,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.79187488555908,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.79194283485413,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.85884284973145,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.85893201828003,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.89875292778015,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.89884305000305,-4.265999794006348,31.25,15.61,3.2279999256134033 +69.95677399635315,-4.263999938964844,31.25,15.61,3.2279999256134033 +69.95689702033997,-4.263999938964844,31.25,15.61,3.2320001125335693 +69.99580788612366,-4.263999938964844,31.25,15.61,3.2320001125335693 +69.99587798118591,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.05868601799011,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.05878591537476,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.0986819267273,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.0987720489502,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.15274286270142,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.15281391143799,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.19277381896973,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.19285488128662,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.25865602493286,-4.263999938964844,31.25,15.61,3.2320001125335693 +70.25875186920166,-4.263999938964844,31.25,15.61,3.2330000400543213 +70.2986159324646,-4.263999938964844,31.25,15.61,3.2330000400543213 +70.29870700836182,-4.263999938964844,31.25,15.61,3.2330000400543213 +70.3526680469513,-4.264999866485596,31.25,15.61,3.2330000400543213 +70.35274696350098,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.39266395568848,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.39274001121521,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.45858597755432,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.45872282981873,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.49855494499207,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.49865388870239,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.55267691612244,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.55275201797485,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.59259486198425,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.59267091751099,-4.264999866485596,31.25,15.61,3.2309999465942383 +70.65853095054626,-4.265999794006348,31.25,15.61,3.2309999465942383 +70.65861701965332,-4.265999794006348,31.25,15.61,3.2269999980926514 +70.6985809803009,-4.265999794006348,31.25,15.61,3.2269999980926514 +70.69876289367676,-4.265999794006348,31.25,15.61,3.2269999980926514 +70.75343990325928,-4.264999866485596,31.25,15.61,3.2269999980926514 +70.75358605384827,-4.264999866485596,31.25,15.61,3.2290000915527344 +70.78040885925293,-4.264999866485596,31.25,15.64,3.2290000915527344 +70.78048801422119,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.79258394241333,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.79268383979797,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.85945391654968,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.85954403877258,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.88979387283325,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.88991284370422,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.9533920288086,-4.264999866485596,31.22,15.64,3.2290000915527344 +70.95345783233643,-4.264999866485596,31.22,15.64,3.2309999465942383 +70.99252891540527,-4.264999866485596,31.22,15.64,3.2309999465942383 +70.99262499809265,-4.264999866485596,31.22,15.64,3.2309999465942383 +71.05940389633179,-4.264999866485596,31.22,15.64,3.2309999465942383 +71.0595190525055,-4.264999866485596,31.22,15.64,3.2309999465942383 +71.08951783180237,-4.264999866485596,31.22,15.64,3.2309999465942383 +71.08959484100342,-4.264999866485596,31.22,15.64,3.2309999465942383 +71.15154695510864,-4.265999794006348,31.22,15.64,3.2309999465942383 +71.151615858078,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.1916389465332,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.19170594215393,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.25636291503906,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.25651502609253,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.29712891578674,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.29726886749268,-4.265999794006348,31.22,15.64,3.2320001125335693 +71.35744190216064,-4.267000198364258,31.22,15.64,3.2320001125335693 +71.35752701759338,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.39735698699951,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.3974289894104,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.46621203422546,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.46631193161011,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.4961929321289,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.49627184867859,-4.267000198364258,31.22,15.64,3.2279999256134033 +71.55016994476318,-4.26800012588501,31.22,15.64,3.2279999256134033 +71.55025100708008,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.5901689529419,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.5902488231659,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.65625405311584,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.65643286705017,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.69613099098206,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.69621586799622,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.75919985771179,-4.26800012588501,31.22,15.64,3.2290000915527344 +71.75928092002869,-4.26800012588501,31.22,15.64,3.2330000400543213 +71.78413486480713,-4.26800012588501,31.22,15.68,3.2330000400543213 +71.78420186042786,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.79918003082275,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.79927182197571,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.85717701911926,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.85725903511047,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.8971619606018,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.8972909450531,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.96011590957642,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.96022582054138,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.9901168346405,-4.26800012588501,31.25,15.68,3.2330000400543213 +71.99018597602844,-4.26800012588501,31.25,15.68,3.2330000400543213 +72.05110383033752,-4.269000053405762,31.25,15.68,3.2330000400543213 +72.05117297172546,-4.269000053405762,31.25,15.68,3.234999895095825 +72.09109091758728,-4.269000053405762,31.25,15.68,3.234999895095825 +72.09116983413696,-4.269000053405762,31.25,15.68,3.234999895095825 +72.15196990966797,-4.267000198364258,31.25,15.68,3.234999895095825 +72.15204787254333,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.19513201713562,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.19529390335083,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.26599097251892,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.26612091064453,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.29593801498413,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.2960250377655,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.35101890563965,-4.267000198364258,31.25,15.68,3.2339999675750732 +72.35109901428223,-4.267000198364258,31.25,15.68,3.2309999465942383 +72.39297103881836,-4.267000198364258,31.25,15.68,3.2309999465942383 +72.39312386512756,-4.267000198364258,31.25,15.68,3.2309999465942383 +72.4530668258667,-4.265999794006348,31.25,15.68,3.2309999465942383 +72.45318794250488,-4.265999794006348,31.25,15.68,3.234999895095825 +72.49588203430176,-4.265999794006348,31.25,15.68,3.234999895095825 +72.49598503112793,-4.265999794006348,31.25,15.68,3.234999895095825 +72.54994702339172,-4.265999794006348,31.25,15.68,3.234999895095825 +72.55002689361572,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.59292888641357,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.59301400184631,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.65185403823853,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.65194082260132,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.69679999351501,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.69688105583191,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.75088691711426,-4.265999794006348,31.25,15.68,3.2330000400543213 +72.75095701217651,-4.265999794006348,31.25,15.68,3.2309999465942383 +72.7857358455658,-4.265999794006348,31.25,15.64,3.2309999465942383 +72.78580594062805,-4.265999794006348,31.22,15.64,3.2309999465942383 +72.7929208278656,-4.265999794006348,31.22,15.64,3.2309999465942383 +72.7930200099945,-4.265999794006348,31.22,15.64,3.2309999465942383 +72.85290503501892,-4.267000198364258,31.22,15.64,3.2309999465942383 +72.85300183296204,-4.267000198364258,31.22,15.64,3.2309999465942383 +72.89777684211731,-4.267000198364258,31.22,15.64,3.2309999465942383 +72.8978579044342,-4.267000198364258,31.22,15.64,3.2309999465942383 +72.95282292366028,-4.267000198364258,31.22,15.64,3.2309999465942383 +72.95290994644165,-4.267000198364258,31.22,15.64,3.2279999256134033 +72.99470090866089,-4.267000198364258,31.22,15.64,3.2279999256134033 +72.99479103088379,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.05468487739563,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.05476498603821,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.0977840423584,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.09791493415833,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.15169286727905,-4.26800012588501,31.22,15.64,3.2279999256134033 +73.15178894996643,-4.26800012588501,31.22,15.64,3.2269999980926514 +73.19363403320312,-4.26800012588501,31.22,15.64,3.2269999980926514 +73.19371891021729,-4.26800012588501,31.22,15.64,3.2269999980926514 +73.25365090370178,-4.267000198364258,31.22,15.64,3.2269999980926514 +73.25375294685364,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.2888069152832,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.28888583183289,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.35162782669067,-4.267000198364258,31.22,15.64,3.2279999256134033 +73.3517279624939,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.3945779800415,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.39468884468079,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.4536018371582,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.45371389389038,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.48965787887573,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.48972392082214,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.55268287658691,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.55277991294861,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.59448790550232,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.59456586837769,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.65451693534851,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.65465998649597,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.68950200080872,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.6896059513092,-4.265999794006348,31.22,15.64,3.2300000190734863 +73.7536268234253,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.75371098518372,-4.267000198364258,31.22,15.64,3.2300000190734863 +73.78940987586975,-4.267000198364258,31.22,15.61,3.2300000190734863 +73.789479970932,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.8154079914093,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.8154878616333,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.85539102554321,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.85545897483826,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.89139103889465,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.8914680480957,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.9544529914856,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.95460796356201,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.99635004997253,-4.267000198364258,31.25,15.61,3.2300000190734863 +73.99641394615173,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.04946994781494,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.049556016922,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.09133791923523,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.09142994880676,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.15529084205627,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.15537095069885,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.19729399681091,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.19737195968628,-4.267000198364258,31.25,15.61,3.2300000190734863 +74.25725889205933,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.25731992721558,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.29125690460205,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.29133296012878,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.35523200035095,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.35531187057495,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.39721298217773,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.39728593826294,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.45724987983704,-4.263999938964844,31.25,15.61,3.2300000190734863 +74.45737290382385,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.49228882789612,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.49238300323486,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.55617785453796,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.55625486373901,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.59817099571228,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.59824991226196,-4.263999938964844,31.25,15.61,3.2279999256134033 +74.64924001693726,-4.265999794006348,31.25,15.61,3.2279999256134033 +74.64932489395142,-4.265999794006348,31.25,15.61,3.2290000915527344 +74.69312405586243,-4.265999794006348,31.25,15.61,3.2290000915527344 +74.69320487976074,-4.265999794006348,31.25,15.61,3.2290000915527344 +74.75674700737,-4.265999794006348,31.25,15.61,3.2290000915527344 +74.75686383247375,-4.265999794006348,31.25,15.61,3.2290000915527344 +74.79025983810425,-4.265999794006348,31.25,15.71,3.2290000915527344 +74.7903368473053,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.79916095733643,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.7992799282074,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.8502779006958,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.85034990310669,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.89306402206421,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.89314889907837,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.95702791213989,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.95709300041199,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.99916481971741,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +74.99928498268127,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.04924392700195,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.04931783676147,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.09402203559875,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.0941469669342,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.15801501274109,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.15811204910278,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.20004796981812,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.20014500617981,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +75.25005292892456,-4.263999938964844,31.22999999999999,15.71,3.2309999465942383 +75.2501368522644,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.29597592353821,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.29610896110535,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.36009097099304,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.36019396781921,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.39009404182434,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.39024496078491,-4.263999938964844,31.22999999999999,15.71,3.2300000190734863 +75.45187091827393,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +75.45194983482361,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.4949278831482,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.4950578212738,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.55928087234497,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.55936098098755,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.58898997306824,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.58905386924744,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +75.65148591995239,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +75.65163087844849,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +75.69579792022705,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +75.69587397575378,-4.264999866485596,31.22999999999999,15.71,3.2300000190734863 +75.75987982749939,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +75.75996899604797,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +75.78994297981262,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +75.7900938987732,-4.267000198364258,31.22999999999999,15.71,3.2320001125335693 +75.79075598716736,-4.267000198364258,31.22999999999999,15.68,3.2320001125335693 +75.7908239364624,-4.267000198364258,31.25,15.68,3.2320001125335693 +75.85272097587585,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.85278797149658,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.88793087005615,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.88800883293152,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.94895195960999,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.94909286499023,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.99079585075378,-4.26800012588501,31.25,15.68,3.2320001125335693 +75.99086689949036,-4.26800012588501,31.25,15.68,3.2320001125335693 +76.05270385742188,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.0527868270874,-4.267000198364258,31.25,15.68,3.2330000400543213 +76.08994388580322,-4.267000198364258,31.25,15.68,3.2330000400543213 +76.0900309085846,-4.267000198364258,31.25,15.68,3.2330000400543213 +76.14982390403748,-4.265999794006348,31.25,15.68,3.2330000400543213 +76.14989900588989,-4.265999794006348,31.25,15.68,3.2330000400543213 +76.19277596473694,-4.265999794006348,31.25,15.68,3.2330000400543213 +76.19285893440247,-4.265999794006348,31.25,15.68,3.2330000400543213 +76.25461792945862,-4.267000198364258,31.25,15.68,3.2330000400543213 +76.25471091270447,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.29181289672852,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.29188203811646,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.35164499282837,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.35172200202942,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.39462304115295,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.39469289779663,-4.267000198364258,31.25,15.68,3.2320001125335693 +76.45655393600464,-4.264999866485596,31.25,15.68,3.2320001125335693 +76.45662093162537,-4.264999866485596,31.25,15.68,3.2339999675750732 +76.49062585830688,-4.264999866485596,31.25,15.68,3.2339999675750732 +76.49072790145874,-4.264999866485596,31.25,15.68,3.2339999675750732 +76.55052399635315,-4.263999938964844,31.25,15.68,3.2339999675750732 +76.55061888694763,-4.263999938964844,31.25,15.68,3.2339999675750732 +76.59455394744873,-4.263999938964844,31.25,15.68,3.2339999675750732 +76.5946319103241,-4.263999938964844,31.25,15.68,3.2339999675750732 +76.65645694732666,-4.264999866485596,31.25,15.68,3.2339999675750732 +76.65652585029602,-4.264999866485596,31.25,15.68,3.2330000400543213 +76.6904468536377,-4.264999866485596,31.25,15.68,3.2330000400543213 +76.69052386283875,-4.264999866485596,31.25,15.68,3.2330000400543213 +76.75043487548828,-4.264999866485596,31.25,15.68,3.2330000400543213 +76.75050282478333,-4.264999866485596,31.25,15.68,3.2330000400543213 +76.79543685913086,-4.264999866485596,31.25,15.67,3.2330000400543213 +76.79554891586304,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +76.80644202232361,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +76.80653285980225,-4.264999866485596,31.189999999999998,15.67,3.2330000400543213 +76.8564178943634,-4.263000011444092,31.189999999999998,15.67,3.2330000400543213 +76.85648584365845,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +76.89146089553833,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +76.89153599739075,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +76.95149803161621,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +76.95158696174622,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +77.00739097595215,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +77.00747799873352,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +77.05738091468811,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +77.057452917099,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.09141397476196,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.09150290489197,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.15139389038086,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.15149402618408,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.19543600082397,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.19552302360535,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.25727796554565,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.25734686851501,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.29124903678894,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.2913269996643,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.33140301704407,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.33152985572815,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.40819787979126,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.40828490257263,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +77.45818996429443,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +77.45826697349548,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +77.49218797683716,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +77.49226498603821,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +77.55221891403198,-4.263999938964844,31.189999999999998,15.67,3.2300000190734863 +77.5523190498352,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.59627294540405,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.59634304046631,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.65813302993774,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.65821886062622,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.69312000274658,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.69319796562195,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +77.75314283370972,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +77.75325894355774,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +77.79616785049438,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +77.79633092880249,-4.263000011444092,31.189999999999998,15.67,3.2309999465942383 +77.79910182952881,-4.263000011444092,31.189999999999998,15.6,3.2309999465942383 +77.79918503761292,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +77.85878586769104,-4.263999938964844,31.180000000000007,15.6,3.2309999465942383 +77.8589379787445,-4.263999938964844,31.180000000000007,15.6,3.2320001125335693 +77.8930459022522,-4.263999938964844,31.180000000000007,15.6,3.2320001125335693 +77.8931188583374,-4.263999938964844,31.180000000000007,15.6,3.2320001125335693 +77.9530918598175,-4.263000011444092,31.180000000000007,15.6,3.2320001125335693 +77.95321297645569,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.00900602340698,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.00909090042114,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.05902600288391,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.05913090705872,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.09396696090698,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.09403896331787,-4.263000011444092,31.180000000000007,15.6,3.2309999465942383 +78.153972864151,-4.263999938964844,31.180000000000007,15.6,3.2309999465942383 +78.15404987335205,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.19803595542908,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.19809985160828,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.25027298927307,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.25034999847412,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.2929060459137,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.29298305511475,-4.263999938964844,31.180000000000007,15.6,3.2300000190734863 +78.3528938293457,-4.264999866485596,31.180000000000007,15.6,3.2300000190734863 +78.35297894477844,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.3970320224762,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.39720296859741,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.45887494087219,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.4589569568634,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.4948558807373,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.49492692947388,-4.264999866485596,31.180000000000007,15.6,3.2309999465942383 +78.55481886863708,-4.265999794006348,31.180000000000007,15.6,3.2309999465942383 +78.55488801002502,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.59479784965515,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.59486293792725,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.65580081939697,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.65587496757507,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.69584584236145,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.6959638595581,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.75582385063171,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.75593900680542,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.79881191253662,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.79897594451904,-4.265999794006348,31.180000000000007,15.6,3.2300000190734863 +78.80173301696777,-4.265999794006348,31.180000000000007,15.68,3.2300000190734863 +78.80180382728577,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.85093283653259,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.85102701187134,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.89673686027527,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.89682793617249,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.95671701431274,-4.265999794006348,31.25999999999999,15.68,3.2300000190734863 +78.95679903030396,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +78.98997902870178,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +78.99005103111267,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.05268383026123,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.05278897285461,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.09568500518799,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.09577703475952,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.15563297271729,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.1557068824768,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.19160795211792,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.19167995452881,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.25258994102478,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.25267386436462,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.29660892486572,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.29672193527222,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.35661602020264,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.35671782493591,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.39856004714966,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.39865303039551,-4.265999794006348,31.25999999999999,15.68,3.2290000915527344 +79.45853805541992,-4.26800012588501,31.25999999999999,15.68,3.2290000915527344 +79.45862698554993,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.49751687049866,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.49760484695435,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.55769991874695,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.55778694152832,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.59154796600342,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.5916440486908,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.65346193313599,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.65354490280151,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.69749283790588,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.6976158618927,-4.26800012588501,31.25999999999999,15.68,3.2279999256134033 +79.75855588912964,-4.267000198364258,31.25999999999999,15.68,3.2279999256134033 +79.75864481925964,-4.267000198364258,31.25999999999999,15.68,3.2260000705718994 +79.79141497612,-4.267000198364258,31.25999999999999,15.68,3.2260000705718994 +79.79148197174072,-4.267000198364258,31.25999999999999,15.68,3.2260000705718994 +79.80641794204712,-4.267000198364258,31.25999999999999,15.61,3.2260000705718994 +79.80648589134216,-4.267000198364258,31.25,15.61,3.2260000705718994 +79.85240387916565,-4.269000053405762,31.25,15.61,3.2260000705718994 +79.85249185562134,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.89957904815674,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.89971089363098,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.95959782600403,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.95973300933838,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.99232983589172,-4.269000053405762,31.25,15.61,3.2300000190734863 +79.9923939704895,-4.269000053405762,31.25,15.61,3.2300000190734863 +80.03437089920044,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.03449201583862,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.09939098358154,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.09946703910828,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.15939283370972,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.15947198867798,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.19230699539185,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.19238901138306,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.25525689125061,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.25533390045166,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.29061198234558,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.29070496559143,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.350576877594,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.3506498336792,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.39419484138489,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.39425992965698,-4.26800012588501,31.25,15.61,3.2300000190734863 +80.45519804954529,-4.265999794006348,31.25,15.61,3.2300000190734863 +80.45527386665344,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.49038004875183,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.49049091339111,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.5504720211029,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.55056095123291,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.59413886070251,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.5942029953003,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.65613889694214,-4.265999794006348,31.25,15.61,3.2279999256134033 +80.65621304512024,-4.265999794006348,31.25,15.61,3.2290000915527344 +80.69119501113892,-4.265999794006348,31.25,15.61,3.2290000915527344 +80.69129586219788,-4.265999794006348,31.25,15.61,3.2290000915527344 +80.75208687782288,-4.264999866485596,31.25,15.61,3.2290000915527344 +80.75216484069824,-4.264999866485596,31.25,15.61,3.2290000915527344 +80.79410195350647,-4.264999866485596,31.25,15.61,3.2290000915527344 +80.79417085647583,-4.264999866485596,31.25,15.61,3.2290000915527344 +80.80708384513855,-4.264999866485596,31.25,15.67,3.2290000915527344 +80.80716490745544,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +80.8561098575592,-4.264999866485596,31.189999999999998,15.67,3.2290000915527344 +80.85620188713074,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.8911669254303,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.89126205444336,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.9511489868164,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.95122694969177,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.99505305290222,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +80.99512100219727,-4.264999866485596,31.189999999999998,15.67,3.2300000190734863 +81.05702495574951,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +81.05710196495056,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +81.09111189842224,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +81.09121203422546,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +81.15105700492859,-4.267000198364258,31.189999999999998,15.67,3.2300000190734863 +81.1511390209198,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +81.193932056427,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +81.19399189949036,-4.267000198364258,31.189999999999998,15.67,3.2290000915527344 +81.2559449672699,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.25601983070374,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.29202389717102,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.29211592674255,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.35289287567139,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.35297989845276,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.39588189125061,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.39594888687134,-4.26800012588501,31.189999999999998,15.67,3.2290000915527344 +81.4578378200531,-4.269000053405762,31.189999999999998,15.67,3.2290000915527344 +81.45791101455688,-4.269000053405762,31.189999999999998,15.67,3.2290000915527344 +81.49183583259583,-4.269000053405762,31.189999999999998,15.67,3.2290000915527344 +81.4919319152832,-4.269000053405762,31.189999999999998,15.67,3.2290000915527344 +81.55188798904419,-4.269000053405762,31.189999999999998,15.67,3.2290000915527344 +81.55197381973267,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +81.59586596488953,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +81.59593796730042,-4.269000053405762,31.189999999999998,15.67,3.2320001125335693 +81.63789391517639,-4.267000198364258,31.189999999999998,15.67,3.2320001125335693 +81.63801383972168,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.69277787208557,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.69286894798279,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.75374984741211,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.75383591651917,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.79786491394043,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.79796385765076,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +81.8078179359436,-4.267000198364258,31.189999999999998,15.64,3.2330000400543213 +81.80799794197083,-4.267000198364258,31.22,15.64,3.2330000400543213 +81.86575102806091,-4.264999866485596,31.22,15.64,3.2330000400543213 +81.86584401130676,-4.264999866485596,31.22,15.64,3.234999895095825 +81.89579486846924,-4.264999866485596,31.22,15.64,3.234999895095825 +81.89588189125061,-4.264999866485596,31.22,15.64,3.234999895095825 +81.95571804046631,-4.264999866485596,31.22,15.64,3.234999895095825 +81.95580387115479,-4.264999866485596,31.22,15.64,3.2339999675750732 +81.99876499176025,-4.264999866485596,31.22,15.64,3.2339999675750732 +81.99885988235474,-4.264999866485596,31.22,15.64,3.2339999675750732 +82.05965399742126,-4.267000198364258,31.22,15.64,3.2339999675750732 +82.05973887443542,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.09777188301086,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.09794402122498,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.15774488449097,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.15791082382202,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.19175791740417,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.19183683395386,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.25763082504272,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.25775694847107,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.29757905006409,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.29767799377441,-4.267000198364258,31.22,15.64,3.2309999465942383 +82.3575918674469,-4.269000053405762,31.22,15.64,3.2309999465942383 +82.3577070236206,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.40157103538513,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.40167188644409,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.46455883979797,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.46466898918152,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.49850583076477,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.49859499931335,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.55848383903503,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.55856084823608,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.5936369895935,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.59371495246887,-4.269000053405762,31.22,15.64,3.2300000190734863 +82.66560292243958,-4.267000198364258,31.22,15.64,3.2300000190734863 +82.66574192047119,-4.267000198364258,31.22,15.64,3.2320001125335693 +82.70048403739929,-4.267000198364258,31.22,15.64,3.2320001125335693 +82.7006139755249,-4.267000198364258,31.22,15.64,3.2320001125335693 +82.7604730129242,-4.265999794006348,31.22,15.64,3.2320001125335693 +82.76060485839844,-4.265999794006348,31.22,15.64,3.2320001125335693 +82.79341387748718,-4.265999794006348,31.22,15.64,3.2320001125335693 +82.79348587989807,-4.265999794006348,31.22,15.64,3.2320001125335693 +82.80910181999207,-4.265999794006348,31.22,15.71,3.2320001125335693 +82.80917382240295,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.86539483070374,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.86547899246216,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.90036702156067,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.9004590511322,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.95260691642761,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.95268893241882,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.9943618774414,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +82.99444198608398,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +83.06634402275085,-4.265999794006348,31.22999999999999,15.71,3.2320001125335693 +83.06643605232239,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.1003110408783,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.1004068851471,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.16027188301086,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.16033792495728,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.19431400299072,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.19437503814697,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.26623702049255,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.26631188392639,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.30126786231995,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.30139899253845,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.36125588417053,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.36138391494751,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.39421582221985,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.39428687095642,-4.265999794006348,31.22999999999999,15.71,3.2290000915527344 +83.46719002723694,-4.264999866485596,31.22999999999999,15.71,3.2290000915527344 +83.46728801727295,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +83.50116300582886,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +83.5012538433075,-4.264999866485596,31.22999999999999,15.71,3.2309999465942383 +83.56113791465759,-4.265999794006348,31.22999999999999,15.71,3.2309999465942383 +83.56122303009033,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.59544491767883,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.59554100036621,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.6672739982605,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.66735887527466,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.70231699943542,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.70252394676208,-4.265999794006348,31.22999999999999,15.71,3.2300000190734863 +83.75235891342163,-4.267000198364258,31.22999999999999,15.71,3.2300000190734863 +83.75244092941284,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +83.79512286186218,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +83.79521489143372,-4.267000198364258,31.22999999999999,15.71,3.2309999465942383 +83.80913591384888,-4.267000198364258,31.22999999999999,15.64,3.2309999465942383 +83.80919194221497,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.86703395843506,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.8671178817749,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.90311002731323,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.9032130241394,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.95309901237488,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +83.95317792892456,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +83.99703693389893,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +83.99713802337646,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.06800293922424,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.06809282302856,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.1031219959259,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.10323882102966,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.15330982208252,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.15339684486389,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.19699382781982,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.19711303710938,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.26900005340576,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.2690749168396,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.30319404602051,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.3033230304718,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.35328793525696,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.35336089134216,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.39686799049377,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.39693593978882,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +84.43999600410461,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +84.44008898735046,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +84.50395798683167,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +84.504065990448,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +84.55382084846497,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.55389785766602,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.59686183929443,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.59698104858398,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.66875791549683,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.66883492469788,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.70376205444336,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.70384788513184,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.75374388694763,-4.265999794006348,31.210000000000008,15.64,3.2279999256134033 +84.753821849823,-4.265999794006348,31.210000000000008,15.64,3.2269999980926514 +84.79871487617493,-4.265999794006348,31.210000000000008,15.64,3.2269999980926514 +84.79878187179565,-4.265999794006348,31.210000000000008,15.64,3.2269999980926514 +84.80991101264954,-4.265999794006348,31.210000000000008,15.64,3.2269999980926514 +84.8100118637085,-4.265999794006348,31.22,15.64,3.2269999980926514 +84.87071204185486,-4.267000198364258,31.22,15.64,3.2269999980926514 +84.87078905105591,-4.267000198364258,31.22,15.64,3.2279999256134033 +84.9047338962555,-4.267000198364258,31.22,15.64,3.2279999256134033 +84.90484189987183,-4.267000198364258,31.22,15.64,3.2279999256134033 +84.95473885536194,-4.265999794006348,31.22,15.64,3.2279999256134033 +84.95495390892029,-4.265999794006348,31.22,15.64,3.2290000915527344 +84.99886298179626,-4.265999794006348,31.22,15.64,3.2290000915527344 +84.99894189834595,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.07062792778015,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.07070302963257,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.10662198066711,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.10671591758728,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.15660786628723,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.15667796134949,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.20063900947571,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.20077300071716,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.25292801856995,-4.26800012588501,31.22,15.64,3.2300000190734863 +85.25299501419067,-4.26800012588501,31.22,15.64,3.2300000190734863 +85.3065619468689,-4.26800012588501,31.22,15.64,3.2300000190734863 +85.30665802955627,-4.26800012588501,31.22,15.64,3.2300000190734863 +85.35666799545288,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.35675096511841,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.40052795410156,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.40059804916382,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.45359897613525,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.45367383956909,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.49373888969421,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.49383187294006,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.55751395225525,-4.265999794006348,31.22,15.64,3.2300000190734863 +85.55761694908142,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.60045003890991,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.60051703453064,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.65264081954956,-4.265999794006348,31.22,15.64,3.2290000915527344 +85.65271496772766,-4.265999794006348,31.22,15.64,3.2309999465942383 +85.69258093833923,-4.265999794006348,31.22,15.64,3.2309999465942383 +85.69265294075012,-4.265999794006348,31.22,15.64,3.2309999465942383 +85.75740790367126,-4.264999866485596,31.22,15.64,3.2309999465942383 +85.75748896598816,-4.264999866485596,31.22,15.64,3.2309999465942383 +85.8015809059143,-4.264999866485596,31.22,15.64,3.2309999465942383 +85.80168795585632,-4.264999866485596,31.22,15.64,3.2309999465942383 +85.81036305427551,-4.264999866485596,31.22,15.64,3.2309999465942383 +85.81042885780334,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +85.85440182685852,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +85.85449600219727,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +85.89375591278076,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +85.89384293556213,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +85.95833802223206,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +85.95841884613037,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +85.99247598648071,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +85.99258685112,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +86.05432200431824,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +86.05440592765808,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +86.09432482719421,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +86.09441304206848,-4.267000198364258,31.210000000000008,15.64,3.2320001125335693 +86.15931582450867,-4.26800012588501,31.210000000000008,15.64,3.2320001125335693 +86.15945792198181,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +86.19259786605835,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +86.19267392158508,-4.26800012588501,31.210000000000008,15.64,3.2290000915527344 +86.25426483154297,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.25436282157898,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.29421591758728,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.29428291320801,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.35927987098694,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.35937285423279,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.39420986175537,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.39429998397827,-4.269000053405762,31.210000000000008,15.64,3.2290000915527344 +86.45719599723816,-4.267000198364258,31.210000000000008,15.64,3.2290000915527344 +86.4572958946228,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +86.49520087242126,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +86.49527382850647,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +86.55916786193848,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +86.55927896499634,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +86.59329891204834,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +86.59337997436523,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +86.66014099121094,-4.267000198364258,31.210000000000008,15.64,3.2330000400543213 +86.66031885147095,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.70016694068909,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.70024704933167,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.76010990142822,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.76022481918335,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.79408097267151,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.79416394233704,-4.267000198364258,31.210000000000008,15.64,3.2339999675750732 +86.81120085716248,-4.267000198364258,31.210000000000008,15.67,3.2339999675750732 +86.81126999855042,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +86.85603594779968,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +86.85610795021057,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +86.89601683616638,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +86.89609098434448,-4.265999794006348,31.189999999999998,15.67,3.2339999675750732 +86.9600989818573,-4.267000198364258,31.189999999999998,15.67,3.2339999675750732 +86.9602358341217,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +86.99219489097595,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +86.99227905273438,-4.267000198364258,31.189999999999998,15.67,3.2330000400543213 +87.0550389289856,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.05511999130249,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.09404397010803,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.09411287307739,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.15993285179138,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.16000199317932,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.19399905204773,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.19408297538757,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.25607395172119,-4.265999794006348,31.189999999999998,15.67,3.2300000190734863 +87.25614285469055,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +87.29588294029236,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +87.29594588279724,-4.265999794006348,31.189999999999998,15.67,3.2290000915527344 +87.35986304283142,-4.263999938964844,31.189999999999998,15.67,3.2290000915527344 +87.35992693901062,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +87.39395904541016,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +87.39404082298279,-4.263999938964844,31.189999999999998,15.67,3.2309999465942383 +87.45582604408264,-4.264999866485596,31.189999999999998,15.67,3.2309999465942383 +87.45589184761047,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.49582004547119,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.4959409236908,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.55980086326599,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.55987596511841,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.5938949584961,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.59397792816162,-4.264999866485596,31.189999999999998,15.67,3.2320001125335693 +87.65576195716858,-4.265999794006348,31.189999999999998,15.67,3.2320001125335693 +87.65582990646362,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.6957540512085,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.69582605361938,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.75401401519775,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.75408387184143,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.79477095603943,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.79489588737488,-4.265999794006348,31.189999999999998,15.67,3.2330000400543213 +87.81167793273926,-4.265999794006348,31.189999999999998,15.64,3.2330000400543213 +87.8117299079895,-4.265999794006348,31.210000000000008,15.64,3.2330000400543213 +87.85669994354248,-4.26800012588501,31.210000000000008,15.64,3.2330000400543213 +87.85677695274353,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.89668583869934,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.89676094055176,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.95313000679016,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.95320796966553,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.99382781982422,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +87.99390387535095,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +88.0598418712616,-4.26800012588501,31.210000000000008,15.64,3.2300000190734863 +88.05999088287354,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.09476494789124,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.09537887573242,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.15761804580688,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.1577079296112,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.19516897201538,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.19533395767212,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.25654482841492,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.25661492347717,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.29642987251282,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.29661083221436,-4.26800012588501,31.210000000000008,15.64,3.2279999256134033 +88.32154488563538,-4.267000198364258,31.210000000000008,15.64,3.2279999256134033 +88.32162594795227,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +88.37280702590942,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +88.37287998199463,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +88.41559290885925,-4.267000198364258,31.210000000000008,15.64,3.2300000190734863 +88.41569805145264,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +88.4775128364563,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +88.47761487960815,-4.267000198364258,31.210000000000008,15.64,3.2309999465942383 +88.51380395889282,-4.264999866485596,31.210000000000008,15.64,3.2309999465942383 +88.51388597488403,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.57445502281189,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.57453203201294,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.6164379119873,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.61651301383972,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.67350697517395,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.67358994483948,-4.264999866485596,31.210000000000008,15.64,3.2320001125335693 +88.71399688720703,-4.265999794006348,31.210000000000008,15.64,3.2320001125335693 +88.71411085128784,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +88.75376105308533,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +88.75385284423828,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +88.81237196922302,-4.265999794006348,31.210000000000008,15.64,3.2290000915527344 +88.8124749660492,-4.265999794006348,31.22,15.64,3.2290000915527344 +88.81664490699768,-4.264999866485596,31.22,15.64,3.2290000915527344 +88.81675887107849,-4.264999866485596,31.22,15.64,3.2269999980926514 +88.85835385322571,-4.264999866485596,31.22,15.64,3.2269999980926514 +88.85843586921692,-4.264999866485596,31.22,15.64,3.2269999980926514 +88.91383385658264,-4.263999938964844,31.22,15.64,3.2269999980926514 +88.91395592689514,-4.263999938964844,31.22,15.64,3.2200000286102295 +88.95378303527832,-4.263999938964844,31.22,15.64,3.2200000286102295 +88.95389485359192,-4.263999938964844,31.22,15.64,3.2200000286102295 +89.01634097099304,-4.263999938964844,31.22,15.64,3.2200000286102295 +89.01643705368042,-4.263999938964844,31.22,15.64,3.2200000286102295 +89.0784318447113,-4.263999938964844,31.22,15.64,3.2200000286102295 +89.0785698890686,-4.263999938964844,31.22,15.64,3.2200000286102295 +89.11650085449219,-4.26200008392334,31.22,15.64,3.2200000286102295 +89.11665296554565,-4.26200008392334,31.22,15.64,3.2170000076293945 +89.15625286102295,-4.26200008392334,31.22,15.64,3.2170000076293945 +89.15631985664368,-4.26200008392334,31.22,15.64,3.2170000076293945 +89.21832489967346,-4.26200008392334,31.22,15.64,3.2170000076293945 +89.21848487854004,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.26023697853088,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.26032495498657,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.31365084648132,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.3137538433075,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.35378503799438,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.35387897491455,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.41615796089172,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.41621994972229,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.47919702529907,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.47927403450012,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.51426005363464,-4.26200008392334,31.22,15.64,3.2160000801086426 +89.51434993743896,-4.26200008392334,31.22,15.64,3.2179999351501465 +89.57421088218689,-4.26200008392334,31.22,15.64,3.2179999351501465 +89.5742859840393,-4.26200008392334,31.22,15.64,3.2179999351501465 +89.61810183525085,-4.26200008392334,31.22,15.64,3.2179999351501465 +89.6181869506836,-4.26200008392334,31.22,15.64,3.2200000286102295 +89.67911386489868,-4.26200008392334,31.22,15.64,3.2200000286102295 +89.67919087409973,-4.26200008392334,31.22,15.64,3.2200000286102295 +89.71417498588562,-4.26200008392334,31.22,15.64,3.2200000286102295 +89.71426486968994,-4.26200008392334,31.22,15.64,3.2209999561309814 +89.75418782234192,-4.26200008392334,31.22,15.64,3.2209999561309814 +89.75427794456482,-4.26200008392334,31.22,15.64,3.2209999561309814 +89.81341004371643,-4.26200008392334,31.22,15.66,3.2209999561309814 +89.81347393989563,-4.26200008392334,31.24000000000001,15.66,3.2209999561309814 +89.81801986694336,-4.261000156402588,31.24000000000001,15.66,3.2209999561309814 +89.81809186935425,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.86007905006409,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.86021304130554,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.91403603553772,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.91414189338684,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.95402193069458,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +89.95411491394043,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +90.01796698570251,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +90.01803803443909,-4.261000156402588,31.24000000000001,15.66,3.2219998836517334 +90.05995202064514,-4.261000156402588,31.24000000000001,15.66,3.2219998836517334 +90.06002902984619,-4.261000156402588,31.24000000000001,15.66,3.2219998836517334 +90.11394882202148,-4.261000156402588,31.24000000000001,15.66,3.2219998836517334 +90.11404490470886,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +90.15601682662964,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +90.15610599517822,-4.261000156402588,31.24000000000001,15.66,3.2200000286102295 +90.21796584129333,-4.26200008392334,31.24000000000001,15.66,3.2200000286102295 +90.2180449962616,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.25986886024475,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.2599790096283,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.31497693061829,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.31507682800293,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.35486793518066,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.35495090484619,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.41782593727112,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.41789984703064,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.45980381965637,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.4598798751831,-4.26200008392334,31.24000000000001,15.66,3.2179999351501465 +90.51420283317566,-4.263000011444092,31.24000000000001,15.66,3.2179999351501465 +90.51430296897888,-4.263000011444092,31.24000000000001,15.66,3.2170000076293945 +90.55395793914795,-4.263000011444092,31.24000000000001,15.66,3.2170000076293945 +90.55406785011292,-4.263000011444092,31.24000000000001,15.66,3.2170000076293945 +90.6177430152893,-4.263000011444092,31.24000000000001,15.66,3.2170000076293945 +90.61781001091003,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.65974593162537,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.65982604026794,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.71498489379883,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.71508884429932,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.75479793548584,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.7549159526825,-4.263000011444092,31.24000000000001,15.66,3.2190001010894775 +90.81401205062866,-4.263000011444092,31.24000000000001,15.62,3.2190001010894775 +90.8140709400177,-4.263000011444092,31.210000000000008,15.62,3.2190001010894775 +90.81768703460693,-4.263999938964844,31.210000000000008,15.62,3.2190001010894775 +90.81775283813477,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.86056399345398,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.86075091362,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.9146499633789,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.91473603248596,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.95614504814148,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +90.9562759399414,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +91.01762795448303,-4.263000011444092,31.210000000000008,15.62,3.2200000286102295 +91.0176990032196,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.05965185165405,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.05974984169006,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.11458086967468,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.11466884613037,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.15458583831787,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.15469098091125,-4.263000011444092,31.210000000000008,15.62,3.2219998836517334 +91.21859097480774,-4.263999938964844,31.210000000000008,15.62,3.2219998836517334 +91.21869397163391,-4.263999938964844,31.210000000000008,15.62,3.2190001010894775 +91.26339197158813,-4.263999938964844,31.210000000000008,15.62,3.2190001010894775 +91.26360988616943,-4.263999938964844,31.210000000000008,15.62,3.2190001010894775 +91.31451797485352,-4.263000011444092,31.210000000000008,15.62,3.2190001010894775 +91.31459999084473,-4.263000011444092,31.210000000000008,15.62,3.2170000076293945 +91.35450983047485,-4.263000011444092,31.210000000000008,15.62,3.2170000076293945 +91.35459589958191,-4.263000011444092,31.210000000000008,15.62,3.2170000076293945 +91.4184639453888,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.41851687431335,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.46047687530518,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.4605610370636,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.51625895500183,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.5163688659668,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.55653405189514,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.5566189289093,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +91.61840796470642,-4.264999866485596,31.210000000000008,15.62,3.2170000076293945 +91.61845898628235,-4.264999866485596,31.210000000000008,15.62,3.2170000076293945 +91.66039991378784,-4.264999866485596,31.210000000000008,15.62,3.2170000076293945 +91.66047692298889,-4.264999866485596,31.210000000000008,15.62,3.2170000076293945 +91.71437096595764,-4.263000011444092,31.210000000000008,15.62,3.2170000076293945 +91.71445298194885,-4.263000011444092,31.210000000000008,15.62,3.2160000801086426 +91.755126953125,-4.263000011444092,31.210000000000008,15.62,3.2160000801086426 +91.75524091720581,-4.263000011444092,31.210000000000008,15.62,3.2160000801086426 +91.81437587738037,-4.263000011444092,31.210000000000008,15.66,3.2160000801086426 +91.81445693969727,-4.263000011444092,31.25,15.66,3.2160000801086426 +91.818354845047,-4.263000011444092,31.25,15.66,3.2160000801086426 +91.81843185424805,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.86033296585083,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.86041903495789,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.91532301902771,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.91540098190308,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.95535397529602,-4.263000011444092,31.25,15.66,3.2190001010894775 +91.95544505119324,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.0182728767395,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.01833200454712,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.06028604507446,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.06038498878479,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.11527585983276,-4.263999938964844,31.25,15.66,3.2190001010894775 +92.11538290977478,-4.263999938964844,31.25,15.66,3.2170000076293945 +92.1554799079895,-4.263999938964844,31.25,15.66,3.2170000076293945 +92.15558886528015,-4.263999938964844,31.25,15.66,3.2170000076293945 +92.21820998191833,-4.263000011444092,31.25,15.66,3.2170000076293945 +92.21826887130737,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.26120495796204,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.26127696037292,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.31516885757446,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.31545090675354,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.35522699356079,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.35533905029297,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.41917586326599,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.41927099227905,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.46115899085999,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.4612329006195,-4.263000011444092,31.25,15.66,3.2190001010894775 +92.5162148475647,-4.26200008392334,31.25,15.66,3.2190001010894775 +92.51630592346191,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.55622005462646,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.55631494522095,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.62006998062134,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.62013483047485,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.66215205192566,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.66222286224365,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.71619486808777,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.71630191802979,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.75614905357361,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.75624203681946,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.80004000663757,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.80013394355774,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.85709691047668,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.8571720123291,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.89804100990295,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.89815497398376,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.91611504554749,-4.26200008392334,31.25,15.66,3.2179999351501465 +92.91621899604797,-4.26200008392334,31.25,15.66,3.2200000286102295 +92.95597290992737,-4.26200008392334,31.25,15.66,3.2200000286102295 +92.95607686042786,-4.26200008392334,31.25,15.66,3.2200000286102295 +93.01494193077087,-4.26200008392334,31.25,15.63,3.2200000286102295 +93.01501488685608,-4.26200008392334,31.210000000000008,15.63,3.2200000286102295 +93.0199408531189,-4.26200008392334,31.210000000000008,15.63,3.2200000286102295 +93.020015001297,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.06295204162598,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.06302285194397,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.1170289516449,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.11712789535522,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.15710592269897,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.15720891952515,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.2209119796753,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.22099184989929,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.26292991638184,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.26303887367249,-4.26200008392334,31.210000000000008,15.63,3.2219998836517334 +93.31894302368164,-4.263999938964844,31.210000000000008,15.63,3.2219998836517334 +93.31907987594604,-4.263999938964844,31.210000000000008,15.63,3.2209999561309814 +93.35884690284729,-4.263999938964844,31.210000000000008,15.63,3.2209999561309814 +93.35894203186035,-4.263999938964844,31.210000000000008,15.63,3.2209999561309814 +93.42291498184204,-4.263999938964844,31.210000000000008,15.63,3.2209999561309814 +93.42300581932068,-4.263999938964844,31.210000000000008,15.63,3.2200000286102295 +93.4548008441925,-4.263999938964844,31.210000000000008,15.63,3.2200000286102295 +93.4548749923706,-4.263999938964844,31.210000000000008,15.63,3.2200000286102295 +93.51803588867188,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.51814198493958,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.55777502059937,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.55786395072937,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.62187600135803,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.6219699382782,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.65391087532043,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.653981924057,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.71873593330383,-4.264999866485596,31.210000000000008,15.63,3.2200000286102295 +93.71886396408081,-4.264999866485596,31.210000000000008,15.63,3.2190001010894775 +93.71970987319946,-4.264999866485596,31.210000000000008,15.62,3.2190001010894775 +93.7197778224945,-4.264999866485596,31.210000000000008,15.62,3.2190001010894775 +93.75870203971863,-4.264999866485596,31.210000000000008,15.62,3.2190001010894775 +93.75879383087158,-4.264999866485596,31.210000000000008,15.62,3.2190001010894775 +93.8227219581604,-4.263000011444092,31.210000000000008,15.62,3.2190001010894775 +93.82282495498657,-4.263000011444092,31.210000000000008,15.62,3.2209999561309814 +93.85465884208679,-4.263000011444092,31.210000000000008,15.62,3.2209999561309814 +93.85472583770752,-4.263000011444092,31.210000000000008,15.62,3.2209999561309814 +93.91863584518433,-4.263999938964844,31.210000000000008,15.62,3.2209999561309814 +93.91871905326843,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +93.95863199234009,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +93.95871686935425,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +94.02181601524353,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +94.02190089225769,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +94.05396795272827,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +94.05404686927795,-4.263999938964844,31.210000000000008,15.62,3.2200000286102295 +94.11958003044128,-4.26200008392334,31.210000000000008,15.62,3.2200000286102295 +94.11966705322266,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.16057896614075,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.1606810092926,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.22256088256836,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.22262191772461,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.2545268535614,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.25459098815918,-4.26200008392334,31.210000000000008,15.62,3.2190001010894775 +94.31957983970642,-4.263000011444092,31.210000000000008,15.62,3.2190001010894775 +94.31969285011292,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.35950803756714,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.3596019744873,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.42248582839966,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.42255187034607,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.4544620513916,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.45452690124512,-4.263000011444092,31.210000000000008,15.62,3.2179999351501465 +94.51944184303284,-4.26200008392334,31.210000000000008,15.62,3.2179999351501465 +94.51951694488525,-4.26200008392334,31.210000000000008,15.62,3.2160000801086426 +94.55945491790771,-4.26200008392334,31.210000000000008,15.62,3.2160000801086426 +94.55958294868469,-4.26200008392334,31.210000000000008,15.62,3.2160000801086426 +94.62243485450745,-4.263999938964844,31.210000000000008,15.62,3.2160000801086426 +94.62251782417297,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +94.65453886985779,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +94.65461301803589,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +94.71937990188599,-4.263999938964844,31.210000000000008,15.62,3.2170000076293945 +94.71946287155151,-4.263999938964844,31.210000000000008,15.62,3.2179999351501465 +94.72039484977722,-4.263999938964844,31.210000000000008,15.65,3.2179999351501465 +94.72065591812134,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.75966286659241,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.75976705551147,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.82237792015076,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.82244682312012,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.85451889038086,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.85464000701904,-4.263999938964844,31.180000000000007,15.65,3.2179999351501465 +94.91945505142212,-4.263000011444092,31.180000000000007,15.65,3.2179999351501465 +94.91962599754333,-4.263000011444092,31.180000000000007,15.65,3.2190001010894775 +94.95934987068176,-4.263000011444092,31.180000000000007,15.65,3.2190001010894775 +94.95945382118225,-4.263000011444092,31.180000000000007,15.65,3.2190001010894775 +95.01350688934326,-4.263000011444092,31.180000000000007,15.65,3.2190001010894775 +95.01358294487,-4.263000011444092,31.180000000000007,15.65,3.2219998836517334 +95.0552818775177,-4.263000011444092,31.180000000000007,15.65,3.2219998836517334 +95.05536794662476,-4.263000011444092,31.180000000000007,15.65,3.2219998836517334 +95.11924600601196,-4.263000011444092,31.180000000000007,15.65,3.2219998836517334 +95.11933898925781,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.1593279838562,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.15947794914246,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.22263693809509,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.2227418422699,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.25421905517578,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.25431084632874,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.31817388534546,-4.263000011444092,31.180000000000007,15.65,3.2209999561309814 +95.31825494766235,-4.263000011444092,31.180000000000007,15.65,3.2200000286102295 +95.35817790031433,-4.263000011444092,31.180000000000007,15.65,3.2200000286102295 +95.35828685760498,-4.263000011444092,31.180000000000007,15.65,3.2200000286102295 +95.41331696510315,-4.263000011444092,31.180000000000007,15.65,3.2200000286102295 +95.41338396072388,-4.263000011444092,31.180000000000007,15.65,3.2179999351501465 +95.45419597625732,-4.263000011444092,31.180000000000007,15.65,3.2179999351501465 +95.45429992675781,-4.263000011444092,31.180000000000007,15.65,3.2179999351501465 +95.51812100410461,-4.263000011444092,31.180000000000007,15.65,3.2179999351501465 +95.51822185516357,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.55813598632812,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.5582549571991,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.62208485603333,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.62214183807373,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.65407490730286,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.65434193611145,-4.263000011444092,31.180000000000007,15.65,3.2170000076293945 +95.71906900405884,-4.26200008392334,31.180000000000007,15.65,3.2170000076293945 +95.71916604042053,-4.26200008392334,31.180000000000007,15.65,3.2179999351501465 +95.7200379371643,-4.26200008392334,31.180000000000007,15.63,3.2179999351501465 +95.72008395195007,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.75905704498291,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.75916600227356,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.81322598457336,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.81330895423889,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.85500693321228,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.85509204864502,-4.26200008392334,31.210000000000008,15.63,3.2179999351501465 +95.91897892951965,-4.261000156402588,31.210000000000008,15.63,3.2179999351501465 +95.9190628528595,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +95.95897793769836,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +95.95906686782837,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.01309990882874,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.01317596435547,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.0549418926239,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.05501985549927,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.11892294883728,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.11902093887329,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.15894293785095,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.15904998779297,-4.261000156402588,31.210000000000008,15.63,3.2200000286102295 +96.21305704116821,-4.263000011444092,31.210000000000008,15.63,3.2200000286102295 +96.2131290435791,-4.263000011444092,31.210000000000008,15.63,3.2200000286102295 +96.25487804412842,-4.263000011444092,31.210000000000008,15.63,3.2200000286102295 +96.25495600700378,-4.263000011444092,31.210000000000008,15.63,3.2200000286102295 +96.31985688209534,-4.26200008392334,31.210000000000008,15.63,3.2200000286102295 +96.32014298439026,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.35984802246094,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.35993790626526,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.41304302215576,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.41315293312073,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.45481586456299,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.45490002632141,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.49480199813843,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.49487805366516,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.55977296829224,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.55986094474792,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.60376501083374,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.60385704040527,-4.26200008392334,31.210000000000008,15.63,3.2190001010894775 +96.61374282836914,-4.258999824523926,31.210000000000008,15.63,3.2190001010894775 +96.61380290985107,-4.258999824523926,31.210000000000008,15.63,3.203000068664551 +96.65588688850403,-4.258999824523926,31.210000000000008,15.63,3.203000068664551 +96.65599393844604,-4.258999824523926,31.210000000000008,15.63,3.203000068664551 +96.71974086761475,-4.250999927520752,31.210000000000008,15.63,3.203000068664551 +96.7198588848114,-4.250999927520752,31.210000000000008,15.63,3.178999900817871 +96.72081089019775,-4.250999927520752,31.210000000000008,15.64,3.178999900817871 +96.72086882591248,-4.250999927520752,31.22,15.64,3.178999900817871 +96.75973701477051,-4.250999927520752,31.22,15.64,3.178999900817871 +96.75982689857483,-4.250999927520752,31.22,15.64,3.178999900817871 +96.81366991996765,-4.250999927520752,31.22,15.64,3.178999900817871 +96.81373000144958,-4.250999927520752,31.22,15.64,3.178999900817871 +96.85577702522278,-4.250999927520752,31.22,15.64,3.178999900817871 +96.85586905479431,-4.250999927520752,31.22,15.64,3.178999900817871 +96.91965794563293,-4.250999927520752,31.22,15.64,3.178999900817871 +96.91973686218262,-4.250999927520752,31.22,15.64,3.178999900817871 +96.95967698097229,-4.250999927520752,31.22,15.64,3.178999900817871 +96.95976400375366,-4.250999927520752,31.22,15.64,3.178999900817871 +97.01361203193665,-4.234000205993652,31.22,15.64,3.178999900817871 +97.01367282867432,-4.234000205993652,31.22,15.64,3.0850000381469727 +97.0557119846344,-4.234000205993652,31.22,15.64,3.0850000381469727 +97.0558009147644,-4.234000205993652,31.22,15.64,3.0850000381469727 +97.12161087989807,-4.2220001220703125,31.22,15.64,3.0850000381469727 +97.122722864151,-4.2220001220703125,31.22,15.64,3.0190000534057617 +97.15325903892517,-4.2220001220703125,31.22,15.64,3.0190000534057617 +97.15335083007812,-4.2220001220703125,31.22,15.64,3.0190000534057617 +97.21563601493835,-4.202000141143799,31.22,15.64,3.0190000534057617 +97.21571493148804,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.2575159072876,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.25757598876953,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.3215160369873,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.32159304618835,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.36152982711792,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.36164402961731,-4.202000141143799,31.22,15.64,2.9489998817443848 +97.4155478477478,-4.178999900817871,31.22,15.64,2.9489998817443848 +97.41561603546143,-4.178999900817871,31.22,15.64,2.86899995803833 +97.45746493339539,-4.178999900817871,31.22,15.64,2.86899995803833 +97.45752596855164,-4.178999900817871,31.22,15.64,2.86899995803833 +97.52247500419617,-4.15500020980835,31.22,15.64,2.86899995803833 +97.52270793914795,-4.15500020980835,31.22,15.64,2.7899999618530273 +97.5526168346405,-4.15500020980835,31.22,15.64,2.7899999618530273 +97.55273485183716,-4.15500020980835,31.22,15.64,2.7899999618530273 +97.61546802520752,-4.139999866485596,31.22,15.64,2.7899999618530273 +97.61554789543152,-4.139999866485596,31.22,15.64,2.7109999656677246 +97.65745902061462,-4.139999866485596,31.22,15.64,2.7109999656677246 +97.65854287147522,-4.139999866485596,31.22,15.64,2.7109999656677246 +97.72246193885803,-4.139999866485596,31.22,15.64,2.7109999656677246 +97.72257494926453,-4.139999866485596,31.22,15.64,2.7109999656677246 +97.72335004806519,-4.139999866485596,31.22,14.41,2.7109999656677246 +97.72340488433838,-4.139999866485596,30.930000000000007,14.41,2.7109999656677246 +97.75257587432861,-4.139999866485596,30.930000000000007,14.41,2.7109999656677246 +97.75268602371216,-4.139999866485596,30.930000000000007,14.41,2.7109999656677246 +97.81643390655518,-4.11899995803833,30.930000000000007,14.41,2.7109999656677246 +97.81650900840759,-4.11899995803833,30.930000000000007,14.41,2.6410000324249268 +97.85731291770935,-4.11899995803833,30.930000000000007,14.41,2.6410000324249268 +97.8573739528656,-4.11899995803833,30.930000000000007,14.41,2.6410000324249268 +97.92230105400085,-4.104000091552734,30.930000000000007,14.41,2.6410000324249268 +97.92238998413086,-4.104000091552734,30.930000000000007,14.41,2.5869998931884766 +97.9524998664856,-4.104000091552734,30.930000000000007,14.41,2.5869998931884766 +97.95261597633362,-4.104000091552734,30.930000000000007,14.41,2.5869998931884766 +98.01656985282898,-4.086999893188477,30.930000000000007,14.41,2.5869998931884766 +98.01668190956116,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.05824398994446,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.05830883979797,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.12224793434143,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.12234091758728,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.1524338722229,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.15254998207092,-4.086999893188477,30.930000000000007,14.41,2.5429999828338623 +98.21634602546692,-4.073999881744385,30.930000000000007,14.41,2.5429999828338623 +98.21643686294556,-4.073999881744385,30.930000000000007,14.41,2.5160000324249268 +98.25820803642273,-4.073999881744385,30.930000000000007,14.41,2.5160000324249268 +98.25828385353088,-4.073999881744385,30.930000000000007,14.41,2.5160000324249268 +98.32222890853882,-4.072000026702881,30.930000000000007,14.41,2.5160000324249268 +98.32235598564148,-4.072000026702881,30.930000000000007,14.41,2.502000093460083 +98.35237789154053,-4.072000026702881,30.930000000000007,14.41,2.502000093460083 +98.35249090194702,-4.072000026702881,30.930000000000007,14.41,2.502000093460083 +98.41622591018677,-4.072000026702881,30.930000000000007,14.41,2.502000093460083 +98.41628694534302,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.45812797546387,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.45819592475891,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.52313089370728,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.52323985099792,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.5532238483429,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.55335283279419,-4.072000026702881,30.930000000000007,14.41,2.503000020980835 +98.61619305610657,-4.077000141143799,30.930000000000007,14.41,2.503000020980835 +98.61627101898193,-4.077000141143799,30.930000000000007,14.41,2.509999990463257 +98.65805387496948,-4.077000141143799,30.930000000000007,14.41,2.509999990463257 +98.6581199169159,-4.077000141143799,30.930000000000007,14.41,2.509999990463257 +98.72310090065002,-4.076000213623047,30.930000000000007,14.41,2.509999990463257 +98.72321796417236,-4.076000213623047,30.930000000000007,14.41,2.5250000953674316 +98.7530620098114,-4.076000213623047,30.930000000000007,14.41,2.5250000953674316 +98.75316405296326,-4.076000213623047,30.930000000000007,14.41,2.5250000953674316 +98.81700396537781,-4.081999778747559,30.930000000000007,14.41,2.5250000953674316 +98.81706690788269,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.88811993598938,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.88820099830627,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.92302989959717,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.92315602302551,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.97296786308289,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +98.97305798530579,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +99.01700687408447,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +99.01714897155762,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +99.08895087242126,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +99.08989596366882,-4.081999778747559,30.930000000000007,14.41,2.5399999618530273 +99.12293100357056,-4.085000038146973,30.930000000000007,14.41,2.5399999618530273 +99.12320590019226,-4.085000038146973,30.930000000000007,14.41,2.568000078201294 +99.17288899421692,-4.085000038146973,30.930000000000007,14.41,2.568000078201294 +99.17296195030212,-4.085000038146973,30.930000000000007,14.41,2.568000078201294 +99.21698999404907,-4.080999851226807,30.930000000000007,14.41,2.568000078201294 +99.21707797050476,-4.080999851226807,30.930000000000007,14.41,2.5820000171661377 +99.28888082504272,-4.080999851226807,30.930000000000007,14.41,2.5820000171661377 +99.28896999359131,-4.080999851226807,30.930000000000007,14.41,2.5820000171661377 +99.3228189945221,-4.080999851226807,30.930000000000007,14.41,2.5820000171661377 +99.32290482521057,-4.080999851226807,30.930000000000007,14.41,2.5820000171661377 +99.32478594779968,-4.080999851226807,30.930000000000007,13.97,2.5820000171661377 +99.32484292984009,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.35285997390747,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.35295486450195,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.4182460308075,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.41834783554077,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.45978999137878,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.45985698699951,-4.080999851226807,30.74000000000001,13.97,2.5820000171661377 +99.52375888824463,-4.070000171661377,30.74000000000001,13.97,2.5820000171661377 +99.52384090423584,-4.070000171661377,30.74000000000001,13.97,2.5940001010894775 +99.57378387451172,-4.070000171661377,30.74000000000001,13.97,2.5940001010894775 +99.57386994361877,-4.070000171661377,30.74000000000001,13.97,2.5940001010894775 +99.6167209148407,-4.066999912261963,30.74000000000001,13.97,2.5940001010894775 +99.6167860031128,-4.066999912261963,30.74000000000001,13.97,2.5969998836517334 +99.6587119102478,-4.066999912261963,30.74000000000001,13.97,2.5969998836517334 +99.65878391265869,-4.066999912261963,30.74000000000001,13.97,2.5969998836517334 +99.72369384765625,-4.066999912261963,30.74000000000001,13.97,2.5969998836517334 +99.72377800941467,-4.066999912261963,30.74000000000001,13.97,2.5969998836517334 +99.72465491294861,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.72470903396606,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.75672197341919,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.75684189796448,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.81783986091614,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.81791591644287,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.85967302322388,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.85975885391235,-4.066999912261963,30.74000000000001,14.08,2.5969998836517334 +99.92366790771484,-4.072000026702881,30.74000000000001,14.08,2.5969998836517334 +99.92477703094482,-4.072000026702881,30.74000000000001,14.08,2.5880000591278076 +99.97469091415405,-4.072000026702881,30.74000000000001,14.08,2.5880000591278076 +99.97477102279663,-4.072000026702881,30.74000000000001,14.08,2.5880000591278076 +100.01659202575684,-4.067999839782715,30.74000000000001,14.08,2.5880000591278076 +100.016676902771,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.08861684799194,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.08869004249573,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.12354588508606,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.12363195419312,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.1735589504242,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.17364287376404,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.2165379524231,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.2166018486023,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.2885479927063,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.28862595558167,-4.067999839782715,30.74000000000001,14.08,2.566999912261963 +100.32348203659058,-4.015999794006348,30.74000000000001,14.08,2.566999912261963 +100.32356595993042,-4.015999794006348,30.74000000000001,14.08,2.492000102996826 +100.37347483634949,-4.015999794006348,30.74000000000001,14.08,2.492000102996826 +100.37355089187622,-4.015999794006348,30.74000000000001,14.08,2.492000102996826 +100.41645789146423,-3.9790000915527344,30.74000000000001,14.08,2.492000102996826 +100.41652393341064,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.4884660243988,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.48853802680969,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.52445197105408,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.5245418548584,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.5744378566742,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.5745198726654,-3.9790000915527344,30.74000000000001,14.08,2.440999984741211 +100.61839985847473,-3.8959999084472656,30.74000000000001,14.08,2.440999984741211 +100.61846399307251,-3.8959999084472656,30.74000000000001,14.08,2.322000026702881 +100.69037389755249,-3.8959999084472656,30.74000000000001,14.08,2.322000026702881 +100.69044995307922,-3.8959999084472656,30.74000000000001,14.08,2.322000026702881 +100.7243549823761,-3.8959999084472656,30.74000000000001,14.08,2.322000026702881 +100.7244439125061,-3.8959999084472656,30.74000000000001,14.08,2.322000026702881 +100.72532391548157,-3.8959999084472656,30.74000000000001,13.38,2.322000026702881 +100.72537899017334,-3.8959999084472656,29.610000000000014,13.38,2.322000026702881 +100.7743809223175,-3.8959999084472656,29.610000000000014,13.38,2.322000026702881 +100.77448081970215,-3.8959999084472656,29.610000000000014,13.38,2.322000026702881 +100.81839489936829,-3.8510000705718994,29.610000000000014,13.38,2.322000026702881 +100.81929183006287,-3.8510000705718994,29.610000000000014,13.38,2.250999927520752 +100.87180304527283,-3.8510000705718994,29.610000000000014,13.38,2.250999927520752 +100.87191987037659,-3.8510000705718994,29.610000000000014,13.38,2.250999927520752 +100.91235995292664,-3.808000087738037,29.610000000000014,13.38,2.250999927520752 +100.91242098808289,-3.808000087738037,29.610000000000014,13.38,2.1760001182556152 +100.97531390190125,-3.808000087738037,29.610000000000014,13.38,2.1760001182556152 +100.97541284561157,-3.808000087738037,29.610000000000014,13.38,2.1760001182556152 +101.01930284500122,-3.763000011444092,29.610000000000014,13.38,2.1760001182556152 +101.01936602592468,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.0714180469513,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.07149291038513,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.1113829612732,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.11145091056824,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.17631196975708,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.17751789093018,-3.763000011444092,29.610000000000014,13.38,2.1059999465942383 +101.21926784515381,-3.7279999256134033,29.610000000000014,13.38,2.1059999465942383 +101.21953296661377,-3.7279999256134033,29.610000000000014,13.38,2.0409998893737793 +101.27136397361755,-3.7279999256134033,29.610000000000014,13.38,2.0409998893737793 +101.27143383026123,-3.7279999256134033,29.610000000000014,13.38,2.0409998893737793 +101.31134796142578,-3.690000057220459,29.610000000000014,13.38,2.0409998893737793 +101.31141185760498,-3.690000057220459,29.610000000000014,13.38,1.9780000448226929 +101.37613701820374,-3.690000057220459,29.610000000000014,13.38,1.9780000448226929 +101.37621998786926,-3.690000057220459,29.610000000000014,13.38,1.9780000448226929 +101.41917896270752,-3.6540000438690186,29.610000000000014,13.38,1.9780000448226929 +101.41925597190857,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.47130298614502,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.47137689590454,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.5112669467926,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.51134490966797,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.57607388496399,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.57615399360657,-3.6540000438690186,29.610000000000014,13.38,1.9160000085830688 +101.61908483505249,-3.621999979019165,29.610000000000014,13.38,1.9160000085830688 +101.61914587020874,-3.621999979019165,29.610000000000014,13.38,1.8539999723434448 +101.67212796211243,-3.621999979019165,29.610000000000014,13.38,1.8539999723434448 +101.67228603363037,-3.621999979019165,29.610000000000014,13.38,1.8539999723434448 +101.71370196342468,-3.5889999866485596,29.610000000000014,13.38,1.8539999723434448 +101.7138078212738,-3.5889999866485596,29.610000000000014,13.38,1.7960000038146973 +101.72699785232544,-3.5889999866485596,29.610000000000014,12.29,1.7960000038146973 +101.72706198692322,-3.5889999866485596,28.99000000000001,12.29,1.7960000038146973 +101.77502799034119,-3.5889999866485596,28.99000000000001,12.29,1.7960000038146973 +101.77512192726135,-3.5889999866485596,28.99000000000001,12.29,1.7960000038146973 +101.81902194023132,-3.558000087738037,28.99000000000001,12.29,1.7960000038146973 +101.81909394264221,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.87117099761963,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.87123894691467,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.91203188896179,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.91208982467651,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.9769458770752,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +101.97702598571777,-3.558000087738037,28.99000000000001,12.29,1.7419999837875366 +102.01215982437134,-3.5250000953674316,28.99000000000001,12.29,1.7419999837875366 +102.01226902008057,-3.5250000953674316,28.99000000000001,12.29,1.690000057220459 +102.07294201850891,-3.5250000953674316,28.99000000000001,12.29,1.690000057220459 +102.0730209350586,-3.5250000953674316,28.99000000000001,12.29,1.690000057220459 +102.11291193962097,-3.49399995803833,28.99000000000001,12.29,1.690000057220459 +102.1129879951477,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.17588186264038,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.17596983909607,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.21985793113708,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.2199318408966,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.27192783355713,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.27198696136475,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.31195282936096,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.31204295158386,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.37896299362183,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.37908792495728,-3.49399995803833,28.99000000000001,12.29,1.6399999856948853 +102.41105699539185,-3.447999954223633,28.99000000000001,12.29,1.6399999856948853 +102.41114687919617,-3.447999954223633,28.99000000000001,12.29,1.5609999895095825 +102.47279405593872,-3.447999954223633,28.99000000000001,12.29,1.5609999895095825 +102.47287082672119,-3.447999954223633,28.99000000000001,12.29,1.5609999895095825 +102.51280689239502,-3.433000087738037,28.99000000000001,12.29,1.5609999895095825 +102.51289105415344,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.5778489112854,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.57792592048645,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.61976099014282,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.61985182762146,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.65272402763367,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.6528069972992,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.71192598342896,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.71203994750977,-3.433000087738037,28.99000000000001,12.29,1.5379999876022339 +102.72878694534302,-3.433000087738037,28.99000000000001,11.55,1.5379999876022339 +102.72885203361511,-3.433000087738037,28.409999999999997,11.55,1.5379999876022339 +102.75667786598206,-3.433000087738037,28.409999999999997,11.55,1.5379999876022339 +102.75675296783447,-3.433000087738037,28.409999999999997,11.55,1.5379999876022339 +102.82073092460632,-3.427999973297119,28.409999999999997,11.55,1.5379999876022339 +102.82081198692322,-3.427999973297119,28.409999999999997,11.55,1.5110000371932983 +102.87265300750732,-3.427999973297119,28.409999999999997,11.55,1.5110000371932983 +102.87272882461548,-3.427999973297119,28.409999999999997,11.55,1.5110000371932983 +102.91264486312866,-3.430999994277954,28.409999999999997,11.55,1.5110000371932983 +102.91272497177124,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +102.97770190238953,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +102.97776293754578,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.01077795028687,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.01085996627808,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.07356595993042,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.07363700866699,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.11255884170532,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.1126320362091,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.17964887619019,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.17973184585571,-3.430999994277954,28.409999999999997,11.55,1.5130000114440918 +103.22175788879395,-3.450000047683716,28.409999999999997,11.55,1.5130000114440918 +103.22185683250427,-3.450000047683716,28.409999999999997,11.55,1.531999945640564 +103.27352094650269,-3.450000047683716,28.409999999999997,11.55,1.531999945640564 +103.27360391616821,-3.450000047683716,28.409999999999997,11.55,1.531999945640564 +103.31349301338196,-3.4600000381469727,28.409999999999997,11.55,1.531999945640564 +103.31356692314148,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.37162494659424,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.37171983718872,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.42156505584717,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.42164301872253,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.47343587875366,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.47351098060608,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.51251888275146,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.5125789642334,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.57840704917908,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.57848381996155,-3.4600000381469727,28.409999999999997,11.55,1.5470000505447388 +103.61247992515564,-3.4739999771118164,28.409999999999997,11.55,1.5470000505447388 +103.61254692077637,-3.4739999771118164,28.409999999999997,11.55,1.562000036239624 +103.67436504364014,-3.4739999771118164,28.409999999999997,11.55,1.562000036239624 +103.67443895339966,-3.4739999771118164,28.409999999999997,11.55,1.562000036239624 +103.71435785293579,-3.4749999046325684,28.409999999999997,11.55,1.562000036239624 +103.71442985534668,-3.4749999046325684,28.409999999999997,11.55,1.5670000314712524 +103.73133587837219,-3.4749999046325684,28.409999999999997,11.32,1.5670000314712524 +103.73139595985413,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.77137804031372,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.7714638710022,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.8133020401001,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.81338882446289,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.87530493736267,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.87538385391235,-3.4749999046325684,28.289999999999992,11.32,1.5670000314712524 +103.91526794433594,-3.4769999980926514,28.289999999999992,11.32,1.5670000314712524 +103.9153368473053,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +103.97235202789307,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +103.97242903709412,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.01523685455322,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.01531791687012,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.07731699943542,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.07737898826599,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.11820602416992,-3.4769999980926514,28.289999999999992,11.32,1.5740000009536743 +104.11827397346497,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.17148900032043,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.17161703109741,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.21516990661621,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.21525001525879,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.2774670124054,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.27756905555725,-3.4769999980926514,28.289999999999992,11.32,1.5750000476837158 +104.31723189353943,-3.4749999046325684,28.289999999999992,11.32,1.5750000476837158 +104.31729102134705,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.37223482131958,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.37231087684631,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.41509890556335,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.41516900062561,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.4780900478363,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.47816300392151,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.51814198493958,-3.4749999046325684,28.289999999999992,11.32,1.5789999961853027 +104.51823091506958,-3.4749999046325684,28.289999999999992,11.32,1.5779999494552612 +104.57216191291809,-3.4749999046325684,28.289999999999992,11.32,1.5779999494552612 +104.57223796844482,-3.4749999046325684,28.289999999999992,11.32,1.5779999494552612 +104.6160478591919,-3.4730000495910645,28.289999999999992,11.32,1.5779999494552612 +104.61612796783447,-3.4730000495910645,28.289999999999992,11.32,1.5800000429153442 +104.67812299728394,-3.4730000495910645,28.289999999999992,11.32,1.5800000429153442 +104.67818999290466,-3.4730000495910645,28.289999999999992,11.32,1.5800000429153442 +104.71810793876648,-3.4719998836517334,28.289999999999992,11.32,1.5800000429153442 +104.71817898750305,-3.4719998836517334,28.289999999999992,11.32,1.5809999704360962 +104.7339780330658,-3.4719998836517334,28.289999999999992,11.47,1.5809999704360962 +104.73404598236084,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.77209687232971,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.77217197418213,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.81600189208984,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.81608891487122,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.87799096107483,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.87807989120483,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.91794300079346,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.91801595687866,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.97292304039001,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +104.97301983833313,-3.4719998836517334,28.30000000000001,11.47,1.5809999704360962 +105.01597905158997,-3.4730000495910645,28.30000000000001,11.47,1.5809999704360962 +105.01606583595276,-3.4730000495910645,28.30000000000001,11.47,1.5820000171661377 +105.07790398597717,-3.4730000495910645,28.30000000000001,11.47,1.5820000171661377 +105.07798600196838,-3.4730000495910645,28.30000000000001,11.47,1.5820000171661377 +105.11801385879517,-3.4739999771118164,28.30000000000001,11.47,1.5820000171661377 +105.11814188957214,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.17312288284302,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.17326998710632,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.21597385406494,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.21605396270752,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.27788305282593,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.27796983718872,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.31780791282654,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.31788396835327,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.37206387519836,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.37218594551086,-3.4739999771118164,28.30000000000001,11.47,1.5789999961853027 +105.41641092300415,-3.4749999046325684,28.30000000000001,11.47,1.5789999961853027 +105.41656684875488,-3.4749999046325684,28.30000000000001,11.47,1.5800000429153442 +105.47783184051514,-3.4749999046325684,28.30000000000001,11.47,1.5800000429153442 +105.47793483734131,-3.4749999046325684,28.30000000000001,11.47,1.5800000429153442 +105.51775598526001,-3.4760000705718994,28.30000000000001,11.47,1.5800000429153442 +105.51783299446106,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.57415795326233,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.57431387901306,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.61571192741394,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.61579394340515,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.67885398864746,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.67908191680908,-3.4760000705718994,28.30000000000001,11.47,1.5789999961853027 +105.71767783164978,-3.4779999256134033,28.30000000000001,11.47,1.5789999961853027 +105.71775889396667,-3.4779999256134033,28.30000000000001,11.47,1.5789999961853027 +105.73364090919495,-3.4779999256134033,28.30000000000001,11.58,1.5789999961853027 +105.7337019443512,-3.4779999256134033,28.30000000000001,11.58,1.5789999961853027 +105.77266883850098,-3.4779999256134033,28.30000000000001,11.58,1.5789999961853027 +105.7727780342102,-3.4779999256134033,28.30000000000001,11.58,1.5789999961853027 +105.81564688682556,-3.4769999980926514,28.30000000000001,11.58,1.5789999961853027 +105.81573486328125,-3.4769999980926514,28.30000000000001,11.58,1.5770000219345093 +105.87262797355652,-3.4769999980926514,28.30000000000001,11.58,1.5770000219345093 +105.87273097038269,-3.4769999980926514,28.30000000000001,11.58,1.5770000219345093 +105.91261696815491,-3.4709999561309814,28.30000000000001,11.58,1.5770000219345093 +105.91270685195923,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +105.97258687019348,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +105.97267699241638,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +106.0146758556366,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +106.01475191116333,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +106.07671594619751,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +106.07679486274719,-3.4709999561309814,28.30000000000001,11.58,1.5750000476837158 +106.11662793159485,-3.4660000801086426,28.30000000000001,11.58,1.5750000476837158 +106.11669492721558,-3.4660000801086426,28.30000000000001,11.58,1.5750000476837158 +106.1743700504303,-3.4660000801086426,28.30000000000001,11.58,1.5750000476837158 +106.17455005645752,-3.4660000801086426,28.30000000000001,11.58,1.5750000476837158 +106.21750402450562,-3.4570000171661377,28.30000000000001,11.58,1.5750000476837158 +106.21761202812195,-3.4570000171661377,28.30000000000001,11.58,1.5759999752044678 +106.26965594291687,-3.4570000171661377,28.30000000000001,11.58,1.5759999752044678 +106.26971888542175,-3.4570000171661377,28.30000000000001,11.58,1.5759999752044678 +106.30967497825623,-3.4519999027252197,28.30000000000001,11.58,1.5759999752044678 +106.30975890159607,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.3734610080719,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.37357187271118,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.41742897033691,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.41751384735107,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.46962785720825,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.46969485282898,-3.4519999027252197,28.30000000000001,11.58,1.5770000219345093 +106.509596824646,-3.447999954223633,28.30000000000001,11.58,1.5770000219345093 +106.50966787338257,-3.447999954223633,28.30000000000001,11.58,1.5759999752044678 +106.57338190078735,-3.447999954223633,28.30000000000001,11.58,1.5759999752044678 +106.57348394393921,-3.447999954223633,28.30000000000001,11.58,1.5759999752044678 +106.61845302581787,-3.443000078201294,28.30000000000001,11.58,1.5759999752044678 +106.61853003501892,-3.443000078201294,28.30000000000001,11.58,1.5789999961853027 +106.67039704322815,-3.443000078201294,28.30000000000001,11.58,1.5789999961853027 +106.67049384117126,-3.443000078201294,28.30000000000001,11.58,1.5789999961853027 +106.7104320526123,-3.431999921798706,28.30000000000001,11.58,1.5789999961853027 +106.71050596237183,-3.431999921798706,28.30000000000001,11.58,1.5750000476837158 +106.7352888584137,-3.431999921798706,28.30000000000001,11.71,1.5750000476837158 +106.73535084724426,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.77431988716125,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.77441692352295,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.8183970451355,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.81847286224365,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.87039399147034,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.87046694755554,-3.431999921798706,28.310000000000002,11.71,1.5750000476837158 +106.911386013031,-3.4070000648498535,28.310000000000002,11.71,1.5750000476837158 +106.91146993637085,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +106.97524499893188,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +106.9753258228302,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +107.01834487915039,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +107.0184178352356,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +107.07024788856506,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +107.07032704353333,-3.4070000648498535,28.310000000000002,11.71,1.5700000524520874 +107.11027789115906,-3.319999933242798,28.310000000000002,11.71,1.5700000524520874 +107.11037993431091,-3.319999933242798,28.310000000000002,11.71,1.5449999570846558 +107.17602491378784,-3.319999933242798,28.310000000000002,11.71,1.5449999570846558 +107.17636799812317,-3.319999933242798,28.310000000000002,11.71,1.5449999570846558 +107.21918797492981,-3.2639999389648438,28.310000000000002,11.71,1.5449999570846558 +107.21929502487183,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.2712140083313,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.27129793167114,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.3113260269165,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.31142902374268,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.37510991096497,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.37519788742065,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.41911292076111,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.41920495033264,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.47112798690796,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.47120690345764,-3.2639999389648438,28.310000000000002,11.71,1.5240000486373901 +107.51113200187683,-3.124000072479248,28.310000000000002,11.71,1.5240000486373901 +107.51121282577515,-3.124000072479248,28.310000000000002,11.71,1.468999981880188 +107.5770308971405,-3.124000072479248,28.310000000000002,11.71,1.468999981880188 +107.57711601257324,-3.124000072479248,28.310000000000002,11.71,1.468999981880188 +107.62011885643005,-3.0439999103546143,28.310000000000002,11.71,1.468999981880188 +107.62022686004639,-3.0439999103546143,28.310000000000002,11.71,1.4390000104904175 +107.67199683189392,-3.0439999103546143,28.310000000000002,11.71,1.4390000104904175 +107.67206501960754,-3.0439999103546143,28.310000000000002,11.71,1.4390000104904175 +107.71199488639832,-3.0439999103546143,28.310000000000002,11.71,1.4390000104904175 +107.7120749950409,-3.0439999103546143,28.310000000000002,11.71,1.4390000104904175 +107.73809385299683,-3.0439999103546143,28.310000000000002,11.53,1.4390000104904175 +107.73816585540771,-3.0439999103546143,27.5,11.53,1.4390000104904175 +107.77609086036682,-3.0439999103546143,27.5,11.53,1.4390000104904175 +107.77616786956787,-3.0439999103546143,27.5,11.53,1.4390000104904175 +107.81999087333679,-2.9630000591278076,27.5,11.53,1.4390000104904175 +107.82005596160889,-2.9630000591278076,27.5,11.53,1.406000018119812 +107.87194490432739,-2.9630000591278076,27.5,11.53,1.406000018119812 +107.87202501296997,-2.9630000591278076,27.5,11.53,1.406000018119812 +107.91192102432251,-2.8929998874664307,27.5,11.53,1.406000018119812 +107.91199398040771,-2.8929998874664307,27.5,11.53,1.378999948501587 +107.9769389629364,-2.8929998874664307,27.5,11.53,1.378999948501587 +107.97705483436584,-2.8929998874664307,27.5,11.53,1.378999948501587 +108.01992082595825,-2.8369998931884766,27.5,11.53,1.378999948501587 +108.01999998092651,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.07187104225159,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.07193803787231,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.11284804344177,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.11291694641113,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.17769885063171,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.17803001403809,-2.8369998931884766,27.5,11.53,1.3559999465942383 +108.21987199783325,-2.796999931335449,27.5,11.53,1.3559999465942383 +108.2199649810791,-2.796999931335449,27.5,11.53,1.3459999561309814 +108.2719898223877,-2.796999931335449,27.5,11.53,1.3459999561309814 +108.27211785316467,-2.796999931335449,27.5,11.53,1.3459999561309814 +108.31180095672607,-2.7679998874664307,27.5,11.53,1.3459999561309814 +108.31188988685608,-2.7679998874664307,27.5,11.53,1.340999960899353 +108.37679696083069,-2.7679998874664307,27.5,11.53,1.340999960899353 +108.37688899040222,-2.7679998874664307,27.5,11.53,1.340999960899353 +108.42080998420715,-2.755000114440918,27.5,11.53,1.340999960899353 +108.42089605331421,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.4727189540863,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.47279286384583,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.51175594329834,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.51185584068298,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.57802391052246,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.5781478881836,-2.755000114440918,27.5,11.53,1.3380000591278076 +108.62073588371277,-2.759000062942505,27.5,11.53,1.3380000591278076 +108.62082099914551,-2.759000062942505,27.5,11.53,1.340000033378601 +108.67270588874817,-2.759000062942505,27.5,11.53,1.340000033378601 +108.67282891273499,-2.759000062942505,27.5,11.53,1.340000033378601 +108.71264791488647,-2.7699999809265137,27.5,11.53,1.340000033378601 +108.71272492408752,-2.7699999809265137,27.5,11.53,1.343000054359436 +108.73861885070801,-2.7699999809265137,27.5,11.13,1.343000054359436 +108.73867702484131,-2.7699999809265137,26.090000000000003,11.13,1.343000054359436 +108.76922702789307,-2.7699999809265137,26.090000000000003,11.13,1.343000054359436 +108.76930904388428,-2.7699999809265137,26.090000000000003,11.13,1.343000054359436 +108.80910682678223,-2.7880001068115234,26.090000000000003,11.13,1.343000054359436 +108.80920886993408,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.8736219406128,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.87370705604553,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.93771982192993,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.937814950943,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.97768783569336,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +108.97777986526489,-2.7880001068115234,26.090000000000003,11.13,1.3489999771118164 +109.03155398368835,-2.809000015258789,26.090000000000003,11.13,1.3489999771118164 +109.03162598609924,-2.809000015258789,26.090000000000003,11.13,1.3600000143051147 +109.07353091239929,-2.809000015258789,26.090000000000003,11.13,1.3600000143051147 +109.07360196113586,-2.809000015258789,26.090000000000003,11.13,1.3600000143051147 +109.11362290382385,-2.809000015258789,26.090000000000003,11.13,1.3600000143051147 +109.11375689506531,-2.809000015258789,26.090000000000003,11.13,1.3600000143051147 +109.13850903511047,-2.8299999237060547,26.090000000000003,11.13,1.3600000143051147 +109.13860583305359,-2.8299999237060547,26.090000000000003,11.13,1.371000051498413 +109.17154097557068,-2.8299999237060547,26.090000000000003,11.13,1.371000051498413 +109.17164182662964,-2.8299999237060547,26.090000000000003,11.13,1.371000051498413 +109.21151995658875,-2.8440001010894775,26.090000000000003,11.13,1.371000051498413 +109.21161603927612,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.27346181869507,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.27353382110596,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.3134548664093,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.31353092193604,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.3785309791565,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.37865900993347,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.42144894599915,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.4215338230133,-2.8440001010894775,26.090000000000003,11.13,1.3799999952316284 +109.43144297599792,-2.8550000190734863,26.090000000000003,11.13,1.3799999952316284 +109.43151187896729,-2.8550000190734863,26.090000000000003,11.13,1.3860000371932983 +109.45151495933533,-2.8550000190734863,26.090000000000003,11.13,1.3860000371932983 +109.45159983634949,-2.8550000190734863,26.090000000000003,11.13,1.3860000371932983 +109.51337790489197,-2.867000102996826,26.090000000000003,11.13,1.3860000371932983 +109.51344585418701,-2.867000102996826,26.090000000000003,11.13,1.3910000324249268 +109.57941198348999,-2.867000102996826,26.090000000000003,11.13,1.3910000324249268 +109.57950901985168,-2.867000102996826,26.090000000000003,11.13,1.3910000324249268 +109.62234091758728,-2.869999885559082,26.090000000000003,11.13,1.3910000324249268 +109.62241697311401,-2.869999885559082,26.090000000000003,11.13,1.3940000534057617 +109.67432498931885,-2.869999885559082,26.090000000000003,11.13,1.3940000534057617 +109.67439889907837,-2.869999885559082,26.090000000000003,11.13,1.3940000534057617 +109.71432685852051,-2.869999885559082,26.090000000000003,11.13,1.3940000534057617 +109.71441793441772,-2.869999885559082,26.090000000000003,11.13,1.3940000534057617 +109.73132801055908,-2.869999885559082,26.090000000000003,11.19,1.3940000534057617 +109.7314100265503,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.77080202102661,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.77091598510742,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.81134295463562,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.81143283843994,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.87736892700195,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.877445936203,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.91624093055725,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.91631603240967,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.97179698944092,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +109.97189593315125,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +110.01243495941162,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +110.01273488998413,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +110.07534503936768,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +110.07551288604736,-2.869999885559082,26.129999999999995,11.19,1.3940000534057617 +110.1151819229126,-2.8550000190734863,26.129999999999995,11.19,1.3940000534057617 +110.11524987220764,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.17342782020569,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.17363405227661,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.21389389038086,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.21398782730103,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.27622985839844,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.27635097503662,-2.8550000190734863,26.129999999999995,11.19,1.3550000190734863 +110.3161108493805,-2.828000068664551,26.129999999999995,11.19,1.3550000190734863 +110.31618189811707,-2.828000068664551,26.129999999999995,11.19,1.3600000143051147 +110.37027883529663,-2.828000068664551,26.129999999999995,11.19,1.3600000143051147 +110.37035202980042,-2.828000068664551,26.129999999999995,11.19,1.3600000143051147 +110.41028690338135,-2.803999900817871,26.129999999999995,11.19,1.3600000143051147 +110.41035604476929,-2.803999900817871,26.129999999999995,11.19,1.3580000400543213 +110.47606587409973,-2.803999900817871,26.129999999999995,11.19,1.3580000400543213 +110.47613596916199,-2.803999900817871,26.129999999999995,11.19,1.3580000400543213 +110.51604795455933,-2.7739999294281006,26.129999999999995,11.19,1.3580000400543213 +110.51611590385437,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.57018399238586,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.57025790214539,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.61019682884216,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.61027789115906,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.67706084251404,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.67712688446045,-2.7739999294281006,26.129999999999995,11.19,1.3569999933242798 +110.71602296829224,-2.7309999465942383,26.129999999999995,11.19,1.3569999933242798 +110.71613883972168,-2.7309999465942383,26.129999999999995,11.19,1.3550000190734863 +110.73200488090515,-2.7309999465942383,26.129999999999995,11.25,1.3550000190734863 +110.73206686973572,-2.7309999465942383,26.19999999999999,11.25,1.3550000190734863 +110.77201986312866,-2.7309999465942383,26.19999999999999,11.25,1.3550000190734863 +110.77209091186523,-2.7309999465942383,26.19999999999999,11.25,1.3550000190734863 +110.8120379447937,-2.681999921798706,26.19999999999999,11.25,1.3550000190734863 +110.81211400032043,-2.681999921798706,26.19999999999999,11.25,1.3509999513626099 +110.87896585464478,-2.681999921798706,26.19999999999999,11.25,1.3509999513626099 +110.87907981872559,-2.681999921798706,26.19999999999999,11.25,1.3509999513626099 +110.91897892951965,-2.622999906539917,26.19999999999999,11.25,1.3509999513626099 +110.91910982131958,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +110.97197198867798,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +110.97204685211182,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +111.01195883750916,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +111.01203393936157,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +111.07799887657166,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +111.07808995246887,-2.622999906539917,26.19999999999999,11.25,1.3480000495910645 +111.11795997619629,-2.5490000247955322,26.19999999999999,11.25,1.3480000495910645 +111.11803793907166,-2.5490000247955322,26.19999999999999,11.25,1.3480000495910645 +111.17385792732239,-2.5490000247955322,26.19999999999999,11.25,1.3480000495910645 +111.1739649772644,-2.5490000247955322,26.19999999999999,11.25,1.3480000495910645 +111.21393299102783,-2.4719998836517334,26.19999999999999,11.25,1.3480000495910645 +111.21402287483215,-2.4719998836517334,26.19999999999999,11.25,1.350000023841858 +111.25679802894592,-2.4719998836517334,26.19999999999999,11.25,1.350000023841858 +111.25687885284424,-2.4719998836517334,26.19999999999999,11.25,1.350000023841858 +111.3188009262085,-2.4000000953674316,26.19999999999999,11.25,1.350000023841858 +111.31888794898987,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.35175704956055,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.35183787345886,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.41175198554993,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.4118299484253,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.45580983161926,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.45589184761047,-2.4000000953674316,26.19999999999999,11.25,1.3489999771118164 +111.51782083511353,-2.328000068664551,26.19999999999999,11.25,1.3489999771118164 +111.51789903640747,-2.328000068664551,26.19999999999999,11.25,1.350000023841858 +111.55377697944641,-2.328000068664551,26.19999999999999,11.25,1.350000023841858 +111.55388402938843,-2.328000068664551,26.19999999999999,11.25,1.350000023841858 +111.59372901916504,-2.328000068664551,26.19999999999999,11.25,1.350000023841858 +111.59383988380432,-2.328000068664551,26.19999999999999,11.25,1.350000023841858 +111.61370086669922,-2.257999897003174,26.19999999999999,11.25,1.350000023841858 +111.61380386352539,-2.257999897003174,26.19999999999999,11.25,1.3459999561309814 +111.66863799095154,-2.257999897003174,26.19999999999999,11.25,1.3459999561309814 +111.66872191429138,-2.257999897003174,26.19999999999999,11.25,1.3459999561309814 +111.71863102912903,-2.188999891281128,26.19999999999999,11.25,1.3459999561309814 +111.71870589256287,-2.188999891281128,26.19999999999999,11.25,1.3459999561309814 +111.73271703720093,-2.188999891281128,26.19999999999999,11.22,1.3459999561309814 +111.73278903961182,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.77160692214966,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.77167892456055,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.81164693832397,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.811763048172,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.87858986854553,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.87866592407227,-2.188999891281128,24.99000000000001,11.22,1.3459999561309814 +111.91181993484497,-2.121999979019165,24.99000000000001,11.22,1.3459999561309814 +111.91195297241211,-2.121999979019165,24.99000000000001,11.22,1.347000002861023 +111.97859597206116,-2.121999979019165,24.99000000000001,11.22,1.347000002861023 +111.97869801521301,-2.121999979019165,24.99000000000001,11.22,1.347000002861023 +112.01786684989929,-2.055000066757202,24.99000000000001,11.22,1.347000002861023 +112.01795601844788,-2.055000066757202,24.99000000000001,11.22,1.347000002861023 +112.07773900032043,-2.055000066757202,24.99000000000001,11.22,1.347000002861023 +112.07781291007996,-2.055000066757202,24.99000000000001,11.22,1.347000002861023 +112.11060094833374,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.11066699028015,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.17256593704224,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.17264604568481,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.21258282661438,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.21266794204712,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.27755784988403,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.27763795852661,-1.9900000095367432,24.99000000000001,11.22,1.347000002861023 +112.31951904296875,-1.9229999780654907,24.99000000000001,11.22,1.347000002861023 +112.31970000267029,-1.9229999780654907,24.99000000000001,11.22,1.343999981880188 +112.37342596054077,-1.9229999780654907,24.99000000000001,11.22,1.343999981880188 +112.37350702285767,-1.9229999780654907,24.99000000000001,11.22,1.343999981880188 +112.41340804100037,-1.8550000190734863,24.99000000000001,11.22,1.343999981880188 +112.41348695755005,-1.8550000190734863,24.99000000000001,11.22,1.340000033378601 +112.46956896781921,-1.8550000190734863,24.99000000000001,11.22,1.340000033378601 +112.46964883804321,-1.8550000190734863,24.99000000000001,11.22,1.340000033378601 +112.50963592529297,-1.7860000133514404,24.99000000000001,11.22,1.340000033378601 +112.50972890853882,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.57536888122559,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.57545685768127,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.61435985565186,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.61444091796875,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.6694848537445,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.66956090927124,-1.7860000133514404,24.99000000000001,11.22,1.340999960899353 +112.70950603485107,-1.7170000076293945,24.99000000000001,11.22,1.340999960899353 +112.70959091186523,-1.7170000076293945,24.99000000000001,11.22,1.3420000076293945 +112.73329186439514,-1.7170000076293945,24.99000000000001,11.19,1.3420000076293945 +112.73336482048035,-1.7170000076293945,23.840000000000003,11.19,1.3420000076293945 +112.75241088867188,-1.7170000076293945,23.840000000000003,11.19,1.3420000076293945 +112.75250482559204,-1.7170000076293945,23.840000000000003,11.19,1.3420000076293945 +112.81429100036621,-1.6510000228881836,23.840000000000003,11.19,1.3420000076293945 +112.81436896324158,-1.6510000228881836,23.840000000000003,11.19,1.3420000076293945 +112.86954998970032,-1.6510000228881836,23.840000000000003,11.19,1.3420000076293945 +112.86964702606201,-1.6510000228881836,23.840000000000003,11.19,1.3420000076293945 +112.90943193435669,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +112.9095139503479,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +112.9751968383789,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +112.97528386116028,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +113.01620388031006,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +113.01628994941711,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +113.06938290596008,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +113.06945896148682,-1.5859999656677246,23.840000000000003,11.19,1.3420000076293945 +113.10939002037048,-1.5230000019073486,23.840000000000003,11.19,1.3420000076293945 +113.10947895050049,-1.5230000019073486,23.840000000000003,11.19,1.3420000076293945 +113.1742730140686,-1.5230000019073486,23.840000000000003,11.19,1.3420000076293945 +113.17436790466309,-1.5230000019073486,23.840000000000003,11.19,1.3420000076293945 +113.21414589881897,-1.4570000171661377,23.840000000000003,11.19,1.3420000076293945 +113.21423196792603,-1.4570000171661377,23.840000000000003,11.19,1.3420000076293945 +113.27035188674927,-1.4570000171661377,23.840000000000003,11.19,1.3420000076293945 +113.27041697502136,-1.4570000171661377,23.840000000000003,11.19,1.3420000076293945 +113.31217193603516,-1.3919999599456787,23.840000000000003,11.19,1.3420000076293945 +113.3122398853302,-1.3919999599456787,23.840000000000003,11.19,1.3420000076293945 +113.37515783309937,-1.3919999599456787,23.840000000000003,11.19,1.3420000076293945 +113.37525200843811,-1.3919999599456787,23.840000000000003,11.19,1.3420000076293945 +113.41414594650269,-1.3279999494552612,23.840000000000003,11.19,1.3420000076293945 +113.41424584388733,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.47016787528992,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.47025299072266,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.51006603240967,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.51014304161072,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.57607698440552,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.57615995407104,-1.3279999494552612,23.840000000000003,11.19,1.3450000286102295 +113.6159999370575,-1.2680000066757202,23.840000000000003,11.19,1.3450000286102295 +113.61607599258423,-1.2680000066757202,23.840000000000003,11.19,1.3450000286102295 +113.6700189113617,-1.2680000066757202,23.840000000000003,11.19,1.3450000286102295 +113.67010188102722,-1.2680000066757202,23.840000000000003,11.19,1.3450000286102295 +113.70999598503113,-1.2100000381469727,23.840000000000003,11.19,1.3450000286102295 +113.71007204055786,-1.2100000381469727,23.840000000000003,11.19,1.3450000286102295 +113.74106693267822,-1.2100000381469727,23.840000000000003,11.11,1.3450000286102295 +113.741201877594,-1.2100000381469727,21.330000000000013,11.11,1.3450000286102295 +113.78206586837769,-1.2100000381469727,21.330000000000013,11.11,1.3450000286102295 +113.78215289115906,-1.2100000381469727,21.330000000000013,11.11,1.3450000286102295 +113.80998182296753,-1.1510000228881836,21.330000000000013,11.11,1.3450000286102295 +113.81007695198059,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.8729088306427,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.87298703193665,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.91288590431213,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.91295504570007,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.97486901283264,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +113.97494888305664,-1.1510000228881836,21.330000000000013,11.11,1.3459999561309814 +114.01386785507202,-1.0889999866485596,21.330000000000013,11.11,1.3459999561309814 +114.01394200325012,-1.0889999866485596,21.330000000000013,11.11,1.3459999561309814 +114.07090282440186,-1.0889999866485596,21.330000000000013,11.11,1.3459999561309814 +114.07097601890564,-1.0889999866485596,21.330000000000013,11.11,1.3459999561309814 +114.11089897155762,-1.0230000019073486,21.330000000000013,11.11,1.3459999561309814 +114.1109709739685,-1.0230000019073486,21.330000000000013,11.11,1.343000054359436 +114.1768159866333,-1.0230000019073486,21.330000000000013,11.11,1.343000054359436 +114.17691493034363,-1.0230000019073486,21.330000000000013,11.11,1.343000054359436 +114.21679091453552,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.2168698310852,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.2727689743042,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.27285504341125,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.31275391578674,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.31283187866211,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.37784695625305,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.37791800498962,-0.9580000042915344,21.330000000000013,11.11,1.343000054359436 +114.41787099838257,-0.8949999809265137,21.330000000000013,11.11,1.343000054359436 +114.41795682907104,-0.8949999809265137,21.330000000000013,11.11,1.343000054359436 +114.47410082817078,-0.8949999809265137,21.330000000000013,11.11,1.343000054359436 +114.47421503067017,-0.8949999809265137,21.330000000000013,11.11,1.343000054359436 +114.51371383666992,-0.8370000123977661,21.330000000000013,11.11,1.343000054359436 +114.51379799842834,-0.8370000123977661,21.330000000000013,11.11,1.3420000076293945 +114.57968592643738,-0.8370000123977661,21.330000000000013,11.11,1.3420000076293945 +114.57977390289307,-0.8370000123977661,21.330000000000013,11.11,1.3420000076293945 +114.61970686912537,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.61979484558105,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.67576003074646,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.67588090896606,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.71575689315796,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.71586799621582,-0.7770000100135803,21.330000000000013,11.11,1.3420000076293945 +114.73760890960693,-0.7770000100135803,21.330000000000013,11.1,1.3420000076293945 +114.73768782615662,-0.7770000100135803,20.379999999999995,11.1,1.3420000076293945 +114.76883292198181,-0.7770000100135803,20.379999999999995,11.1,1.3420000076293945 +114.76896095275879,-0.7770000100135803,20.379999999999995,11.1,1.3420000076293945 +114.82067084312439,-0.7170000076293945,20.379999999999995,11.1,1.3420000076293945 +114.82075095176697,-0.7170000076293945,20.379999999999995,11.1,1.3380000591278076 +114.87656688690186,-0.7170000076293945,20.379999999999995,11.1,1.3380000591278076 +114.87665295600891,-0.7170000076293945,20.379999999999995,11.1,1.3380000591278076 +114.91654992103577,-0.6539999842643738,20.379999999999995,11.1,1.3380000591278076 +114.91663599014282,-0.6539999842643738,20.379999999999995,11.1,1.3329999446868896 +114.96964883804321,-0.6539999842643738,20.379999999999995,11.1,1.3329999446868896 +114.9697208404541,-0.6539999842643738,20.379999999999995,11.1,1.3329999446868896 +115.02167081832886,-0.5920000076293945,20.379999999999995,11.1,1.3329999446868896 +115.02177405357361,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.07658290863037,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.07676291465759,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.11648893356323,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.1165759563446,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.17060399055481,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.17067503929138,-0.5920000076293945,20.379999999999995,11.1,1.3289999961853027 +115.22245383262634,-0.5299999713897705,20.379999999999995,11.1,1.3289999961853027 +115.22253704071045,-0.5299999713897705,20.379999999999995,11.1,1.3250000476837158 +115.27641582489014,-0.5299999713897705,20.379999999999995,11.1,1.3250000476837158 +115.27649593353271,-0.5299999713897705,20.379999999999995,11.1,1.3250000476837158 +115.31651592254639,-0.46799999475479126,20.379999999999995,11.1,1.3250000476837158 +115.31668901443481,-0.46799999475479126,20.379999999999995,11.1,1.3229999542236328 +115.37058401107788,-0.46799999475479126,20.379999999999995,11.1,1.3229999542236328 +115.37072587013245,-0.46799999475479126,20.379999999999995,11.1,1.3229999542236328 +115.4223940372467,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.42247986793518,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.47635388374329,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.47643089294434,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.51634097099304,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.51641488075256,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.57051086425781,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.57063603401184,-0.40400001406669617,20.379999999999995,11.1,1.3229999542236328 +115.62229990959167,-0.33799999952316284,20.379999999999995,11.1,1.3229999542236328 +115.62237596511841,-0.33799999952316284,20.379999999999995,11.1,1.3240000009536743 +115.67628502845764,-0.33799999952316284,20.379999999999995,11.1,1.3240000009536743 +115.6763608455658,-0.33799999952316284,20.379999999999995,11.1,1.3240000009536743 +115.71626782417297,-0.2720000147819519,20.379999999999995,11.1,1.3240000009536743 +115.71634483337402,-0.2720000147819519,20.379999999999995,11.1,1.3220000267028809 +115.73933100700378,-0.2720000147819519,20.379999999999995,10.98,1.3220000267028809 +115.73940682411194,-0.2720000147819519,18.789999999999992,10.98,1.3220000267028809 +115.7704210281372,-0.2720000147819519,18.789999999999992,10.98,1.3220000267028809 +115.7704930305481,-0.2720000147819519,18.789999999999992,10.98,1.3220000267028809 +115.82224202156067,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.82232284545898,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.87621188163757,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.87628984451294,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.91629695892334,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.91645193099976,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.95020890235901,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +115.95027685165405,-0.20399999618530273,18.789999999999992,10.98,1.3220000267028809 +116.02222800254822,-0.1379999965429306,18.789999999999992,10.98,1.3220000267028809 +116.02237105369568,-0.1379999965429306,18.789999999999992,10.98,1.319000005722046 +116.0761399269104,-0.1379999965429306,18.789999999999992,10.98,1.319000005722046 +116.07620882987976,-0.1379999965429306,18.789999999999992,10.98,1.319000005722046 +116.11628603935242,-0.07400000095367432,18.789999999999992,10.98,1.319000005722046 +116.11645793914795,-0.07400000095367432,18.789999999999992,10.98,1.3179999589920044 +116.17029285430908,-0.07400000095367432,18.789999999999992,10.98,1.3179999589920044 +116.17043685913086,-0.07400000095367432,18.789999999999992,10.98,1.3179999589920044 +116.2220950126648,-0.013000000268220901,18.789999999999992,10.98,1.3179999589920044 +116.22216987609863,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.27606797218323,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.27613401412964,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.31611490249634,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.31623601913452,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.37013697624207,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.37021088600159,-0.013000000268220901,18.789999999999992,10.98,1.3200000524520874 +116.42207884788513,0.05000000074505806,18.789999999999992,10.98,1.3200000524520874 +116.42217302322388,0.05000000074505806,18.789999999999992,10.98,1.3220000267028809 +116.47002100944519,0.05000000074505806,18.789999999999992,10.98,1.3220000267028809 +116.47009897232056,0.05000000074505806,18.789999999999992,10.98,1.3220000267028809 +116.51004886627197,0.11100000143051147,18.789999999999992,10.98,1.3220000267028809 +116.51016283035278,0.11100000143051147,18.789999999999992,10.98,1.3240000009536743 +116.573086977005,0.11100000143051147,18.789999999999992,10.98,1.3240000009536743 +116.573166847229,0.11100000143051147,18.789999999999992,10.98,1.3240000009536743 +116.62524890899658,0.17299999296665192,18.789999999999992,10.98,1.3240000009536743 +116.62534689903259,0.17299999296665192,18.789999999999992,10.98,1.3259999752044678 +116.67593884468079,0.17299999296665192,18.789999999999992,10.98,1.3259999752044678 +116.67601299285889,0.17299999296665192,18.789999999999992,10.98,1.3259999752044678 +116.71596503257751,0.17299999296665192,18.789999999999992,10.98,1.3259999752044678 +116.71606802940369,0.17299999296665192,18.789999999999992,10.98,1.3259999752044678 +116.73790884017944,0.17299999296665192,18.789999999999992,10.85,1.3259999752044678 +116.7380518913269,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.7810640335083,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.78114604949951,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.82107305526733,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.82114601135254,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.8758819103241,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.87596201896667,0.17299999296665192,16.849999999999994,10.85,1.3259999752044678 +116.91589403152466,0.3019999861717224,16.849999999999994,10.85,1.3259999752044678 +116.91599082946777,0.3019999861717224,16.849999999999994,10.85,1.3240000009536743 +116.98107194900513,0.3019999861717224,16.849999999999994,10.85,1.3240000009536743 +116.9811658859253,0.3019999861717224,16.849999999999994,10.85,1.3240000009536743 +117.02183485031128,0.36500000953674316,16.849999999999994,10.85,1.3240000009536743 +117.02191686630249,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.07581496238708,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.07589793205261,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.11581683158875,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.11590886116028,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.14901304244995,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.1490888595581,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.22121286392212,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.22134184837341,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.25575399398804,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.2558479309082,0.36500000953674316,16.849999999999994,10.85,1.3229999542236328 +117.31575202941895,0.4880000054836273,16.849999999999994,10.85,1.3229999542236328 +117.31584286689758,0.4880000054836273,16.849999999999994,10.85,1.319000005722046 +117.38172888755798,0.4880000054836273,16.849999999999994,10.85,1.319000005722046 +117.38182401657104,0.4880000054836273,16.849999999999994,10.85,1.319000005722046 +117.42271089553833,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.42279696464539,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.47580289840698,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.47587990760803,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.52035284042358,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.52048587799072,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.56973099708557,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.5698070526123,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.62162685394287,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.62170696258545,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.67761301994324,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.67769193649292,0.550000011920929,16.849999999999994,10.85,1.319000005722046 +117.71760201454163,0.6690000295639038,16.849999999999994,10.85,1.319000005722046 +117.71768498420715,0.6690000295639038,16.849999999999994,10.85,1.3179999589920044 +117.73955798149109,0.6690000295639038,16.849999999999994,10.78,1.3179999589920044 +117.73963189125061,0.6690000295639038,15.490000000000009,10.78,1.3179999589920044 +117.77090883255005,0.6690000295639038,15.490000000000009,10.78,1.3179999589920044 +117.77097582817078,0.6690000295639038,15.490000000000009,10.78,1.3179999589920044 +117.8226158618927,0.7260000109672546,15.490000000000009,10.78,1.3179999589920044 +117.82272696495056,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.87756299972534,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.87766599655151,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.9175329208374,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.91761183738708,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.95155191421509,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +117.95164799690247,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +118.02150201797485,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +118.0215859413147,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +118.05667304992676,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +118.05678701400757,0.7260000109672546,15.490000000000009,10.78,1.3140000104904175 +118.11663103103638,0.847000002861023,15.490000000000009,10.78,1.3140000104904175 +118.11673188209534,0.847000002861023,15.490000000000009,10.78,1.315000057220459 +118.16971683502197,0.847000002861023,15.490000000000009,10.78,1.315000057220459 +118.17093300819397,0.847000002861023,15.490000000000009,10.78,1.315000057220459 +118.21744394302368,0.9129999876022339,15.490000000000009,10.78,1.315000057220459 +118.21753787994385,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.27742099761963,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.2775068283081,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.31741499900818,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.31749391555786,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.37061405181885,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.37075304985046,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.42243003845215,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.42256093025208,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.4773678779602,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.47745895385742,0.9129999876022339,15.490000000000009,10.78,1.3140000104904175 +118.51734495162964,1.0390000343322754,15.490000000000009,10.78,1.3140000104904175 +118.51742482185364,1.0390000343322754,15.490000000000009,10.78,1.3140000104904175 +118.57052087783813,1.0390000343322754,15.490000000000009,10.78,1.3140000104904175 +118.57091498374939,1.0390000343322754,15.490000000000009,10.78,1.3140000104904175 +118.62228584289551,1.100000023841858,15.490000000000009,10.78,1.3140000104904175 +118.62237095832825,1.100000023841858,15.490000000000009,10.78,1.3109999895095825 +118.67728590965271,1.100000023841858,15.490000000000009,10.78,1.3109999895095825 +118.67736601829529,1.100000023841858,15.490000000000009,10.78,1.3109999895095825 +118.71732497215271,1.1660000085830688,15.490000000000009,10.78,1.3109999895095825 +118.71745705604553,1.1660000085830688,15.490000000000009,10.78,1.3109999895095825 +118.74223399162292,1.1660000085830688,15.490000000000009,10.78,1.3109999895095825 +118.74229192733765,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.75039100646973,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.75046801567078,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.822340965271,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.82241296768188,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.85630202293396,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.85639190673828,1.1660000085830688,14.469999999999999,10.78,1.3109999895095825 +118.91630387306213,1.2330000400543213,14.469999999999999,10.78,1.3109999895095825 +118.91638588905334,1.2330000400543213,14.469999999999999,10.78,1.312000036239624 +118.97048282623291,1.2330000400543213,14.469999999999999,10.78,1.312000036239624 +118.97056484222412,1.2330000400543213,14.469999999999999,10.78,1.312000036239624 +119.02215099334717,1.3020000457763672,14.469999999999999,10.78,1.312000036239624 +119.02223300933838,1.3020000457763672,14.469999999999999,10.78,1.312000036239624 +119.06893301010132,1.3020000457763672,14.469999999999999,10.78,1.312000036239624 +119.06902194023132,1.3020000457763672,14.469999999999999,10.78,1.312000036239624 +119.10935282707214,1.371000051498413,14.469999999999999,10.78,1.312000036239624 +119.10944104194641,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.15022087097168,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.15029001235962,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.21608781814575,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.21618986129761,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.256178855896,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.25631594657898,1.371000051498413,14.469999999999999,10.78,1.3109999895095825 +119.31622791290283,1.434000015258789,14.469999999999999,10.78,1.3109999895095825 +119.31640386581421,1.434000015258789,14.469999999999999,10.78,1.309999942779541 +119.36914396286011,1.434000015258789,14.469999999999999,10.78,1.309999942779541 +119.36923599243164,1.434000015258789,14.469999999999999,10.78,1.309999942779541 +119.4212019443512,1.5010000467300415,14.469999999999999,10.78,1.309999942779541 +119.42136287689209,1.5010000467300415,14.469999999999999,10.78,1.3070000410079956 +119.47705292701721,1.5010000467300415,14.469999999999999,10.78,1.3070000410079956 +119.4771740436554,1.5010000467300415,14.469999999999999,10.78,1.3070000410079956 +119.51699900627136,1.5679999589920044,14.469999999999999,10.78,1.3070000410079956 +119.51707100868225,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.57016086578369,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.57030200958252,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.6220178604126,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.62211489677429,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.65693593025208,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.65703082084656,1.5679999589920044,14.469999999999999,10.78,1.305999994277954 +119.7169120311737,1.6360000371932983,14.469999999999999,10.78,1.305999994277954 +119.71699500083923,1.6360000371932983,14.469999999999999,10.78,1.3049999475479126 +119.7428789138794,1.6360000371932983,14.469999999999999,10.68,1.3049999475479126 +119.74293684959412,1.6360000371932983,12.080000000000013,10.68,1.3049999475479126 +119.78315901756287,1.6360000371932983,12.080000000000013,10.68,1.3049999475479126 +119.78325891494751,1.6360000371932983,12.080000000000013,10.68,1.3049999475479126 +119.82194685935974,1.7029999494552612,12.080000000000013,10.68,1.3049999475479126 +119.82203483581543,1.7029999494552612,12.080000000000013,10.68,1.3049999475479126 +119.87587094306946,1.7029999494552612,12.080000000000013,10.68,1.3049999475479126 +119.87594985961914,1.7029999494552612,12.080000000000013,10.68,1.3049999475479126 +119.91597604751587,1.7669999599456787,12.080000000000013,10.68,1.3049999475479126 +119.91607093811035,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +119.98203587532043,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +119.98221492767334,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.02184987068176,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.02194094657898,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.07578587532043,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.07585191726685,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.10900902748108,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.10909795761108,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.1699800491333,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.17012190818787,1.7669999599456787,12.080000000000013,10.68,1.3040000200271606 +120.22178101539612,1.8890000581741333,12.080000000000013,10.68,1.3040000200271606 +120.22186994552612,1.8890000581741333,12.080000000000013,10.68,1.3009999990463257 +120.27671194076538,1.8890000581741333,12.080000000000013,10.68,1.3009999990463257 +120.27677893638611,1.8890000581741333,12.080000000000013,10.68,1.3009999990463257 +120.3170838356018,1.9509999752044678,12.080000000000013,10.68,1.3009999990463257 +120.31720495223999,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.36980485916138,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.369873046875,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.42182302474976,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.42190384864807,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.47665095329285,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.47672200202942,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.51666903495789,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.51677584648132,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.56975102424622,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.56982898712158,1.9509999752044678,12.080000000000013,10.68,1.2960000038146973 +120.62170600891113,2.0789999961853027,12.080000000000013,10.68,1.2960000038146973 +120.62179684638977,2.0789999961853027,12.080000000000013,10.68,1.2940000295639038 +120.67660999298096,2.0789999961853027,12.080000000000013,10.68,1.2940000295639038 +120.6767098903656,2.0789999961853027,12.080000000000013,10.68,1.2940000295639038 +120.71660590171814,2.1419999599456787,12.080000000000013,10.68,1.2940000295639038 +120.71670794487,2.1419999599456787,12.080000000000013,10.68,1.2929999828338623 +120.74355101585388,2.1419999599456787,12.080000000000013,10.56,1.2929999828338623 +120.74361896514893,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.76967191696167,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.76974987983704,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.82160902023315,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.82169198989868,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.87658882141113,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.87672090530396,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.91662502288818,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.91673588752747,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.98252987861633,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +120.98265600204468,2.1419999599456787,10.889999999999986,10.56,1.2929999828338623 +121.02247405052185,2.2679998874664307,10.889999999999986,10.56,1.2929999828338623 +121.02255988121033,2.2679998874664307,10.889999999999986,10.56,1.2920000553131104 +121.07645082473755,2.2679998874664307,10.889999999999986,10.56,1.2920000553131104 +121.07653403282166,2.2679998874664307,10.889999999999986,10.56,1.2920000553131104 +121.11648082733154,2.3299999237060547,10.889999999999986,10.56,1.2920000553131104 +121.11660885810852,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.18241596221924,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.18249893188477,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.22247004508972,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.22259402275085,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.27642583847046,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.27652192115784,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.31643486022949,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.31661200523376,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.38234400749207,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.38242793083191,2.3299999237060547,10.889999999999986,10.56,1.2929999828338623 +121.4223940372467,2.437000036239624,10.889999999999986,10.56,1.2929999828338623 +121.42251801490784,2.437000036239624,10.889999999999986,10.56,1.2990000247955322 +121.47632384300232,2.437000036239624,10.889999999999986,10.56,1.2990000247955322 +121.47640991210938,2.437000036239624,10.889999999999986,10.56,1.2990000247955322 +121.51631784439087,2.4719998836517334,10.889999999999986,10.56,1.2990000247955322 +121.51641798019409,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.57039093971252,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.57048988342285,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.62236189842224,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.62248992919922,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.67624688148499,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.6763219833374,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.71623992919922,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.71631789207458,2.4719998836517334,10.889999999999986,10.56,1.3040000200271606 +121.74931693077087,2.4719998836517334,10.889999999999986,10.59,1.3040000200271606 +121.74940299987793,2.4719998836517334,9.360000000000014,10.59,1.3040000200271606 +121.77028584480286,2.4719998836517334,9.360000000000014,10.59,1.3040000200271606 +121.77035284042358,2.4719998836517334,9.360000000000014,10.59,1.3040000200271606 +121.81820797920227,2.506999969482422,9.360000000000014,10.59,1.3040000200271606 +121.81830286979675,2.506999969482422,9.360000000000014,10.59,1.3020000457763672 +121.8772349357605,2.506999969482422,9.360000000000014,10.59,1.3020000457763672 +121.87736487388611,2.506999969482422,9.360000000000014,10.59,1.3020000457763672 +121.91717600822449,2.51200008392334,9.360000000000014,10.59,1.3020000457763672 +121.91724395751953,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +121.98321485519409,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +121.98329901695251,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.02323293685913,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.02330803871155,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.06819486618042,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.06828188896179,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.10813784599304,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.10823798179626,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.17121982574463,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.1713080406189,2.51200008392334,9.360000000000014,10.59,1.3009999990463257 +122.22321701049805,2.492000102996826,9.360000000000014,10.59,1.3009999990463257 +122.22335982322693,2.492000102996826,9.360000000000014,10.59,1.2979999780654907 +122.26804399490356,2.492000102996826,9.360000000000014,10.59,1.2979999780654907 +122.26812291145325,2.492000102996826,9.360000000000014,10.59,1.2979999780654907 +122.30806589126587,2.4790000915527344,9.360000000000014,10.59,1.2979999780654907 +122.30815386772156,2.4790000915527344,9.360000000000014,10.59,1.2970000505447388 +122.3721079826355,2.4790000915527344,9.360000000000014,10.59,1.2970000505447388 +122.37218189239502,2.4790000915527344,9.360000000000014,10.59,1.2970000505447388 +122.42399001121521,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.42406988143921,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.46800494194031,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.46810102462769,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.5080029964447,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.50809597969055,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.57204294204712,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.57211995124817,2.4670000076293945,9.360000000000014,10.59,1.2970000505447388 +122.62393593788147,2.4579999446868896,9.360000000000014,10.59,1.2970000505447388 +122.624018907547,2.4579999446868896,9.360000000000014,10.59,1.2979999780654907 +122.66894483566284,2.4579999446868896,9.360000000000014,10.59,1.2979999780654907 +122.66901898384094,2.4579999446868896,9.360000000000014,10.59,1.2979999780654907 +122.70897102355957,2.4570000171661377,9.360000000000014,10.59,1.2979999780654907 +122.70907402038574,2.4570000171661377,9.360000000000014,10.59,1.2929999828338623 +122.74487400054932,2.4570000171661377,9.360000000000014,10.63,1.2929999828338623 +122.74493384361267,2.4570000171661377,9.22999999999999,10.63,1.2929999828338623 +122.77204990386963,2.4570000171661377,9.22999999999999,10.63,1.2929999828338623 +122.77225804328918,2.4570000171661377,9.22999999999999,10.63,1.2929999828338623 +122.82388997077942,2.4570000171661377,9.22999999999999,10.63,1.2929999828338623 +122.82398796081543,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.86900186538696,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.86909103393555,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.90887904167175,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.90895891189575,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.9758939743042,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +122.97597289085388,2.4570000171661377,9.22999999999999,10.63,1.2899999618530273 +123.0078239440918,2.4590001106262207,9.22999999999999,10.63,1.2899999618530273 +123.00791001319885,2.4590001106262207,9.22999999999999,10.63,1.2860000133514404 +123.0688169002533,2.4590001106262207,9.22999999999999,10.63,1.2860000133514404 +123.06890296936035,2.4590001106262207,9.22999999999999,10.63,1.2860000133514404 +123.10879683494568,2.4670000076293945,9.22999999999999,10.63,1.2860000133514404 +123.10887694358826,2.4670000076293945,9.22999999999999,10.63,1.281999945640564 +123.17183184623718,2.4670000076293945,9.22999999999999,10.63,1.281999945640564 +123.17191290855408,2.4670000076293945,9.22999999999999,10.63,1.281999945640564 +123.22372794151306,2.4690001010894775,9.22999999999999,10.63,1.281999945640564 +123.22380685806274,2.4690001010894775,9.22999999999999,10.63,1.2829999923706055 +123.2687439918518,2.4690001010894775,9.22999999999999,10.63,1.2829999923706055 +123.26882696151733,2.4690001010894775,9.22999999999999,10.63,1.2829999923706055 +123.30873703956604,2.4739999771118164,9.22999999999999,10.63,1.2829999923706055 +123.30882000923157,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.37286496162415,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.37301301956177,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.41874289512634,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.41886186599731,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.46871995925903,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.46883893013,2.4739999771118164,9.22999999999999,10.63,1.284999966621399 +123.5086829662323,2.4779999256134033,9.22999999999999,10.63,1.284999966621399 +123.50876688957214,2.4779999256134033,9.22999999999999,10.63,1.2860000133514404 +123.57173299789429,2.4779999256134033,9.22999999999999,10.63,1.2860000133514404 +123.57182598114014,2.4779999256134033,9.22999999999999,10.63,1.2860000133514404 +123.62359189987183,2.4820001125335693,9.22999999999999,10.63,1.2860000133514404 +123.62366890907288,2.4820001125335693,9.22999999999999,10.63,1.2910000085830688 +123.66866898536682,2.4820001125335693,9.22999999999999,10.63,1.2910000085830688 +123.66878890991211,2.4820001125335693,9.22999999999999,10.63,1.2910000085830688 +123.70962285995483,2.4820001125335693,9.22999999999999,10.63,1.2910000085830688 +123.70969700813293,2.4820001125335693,9.22999999999999,10.63,1.2910000085830688 +123.74661493301392,2.4820001125335693,9.22999999999999,10.68,1.2910000085830688 +123.74666285514832,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.77166199684143,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.77178192138672,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.82353186607361,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.8236198425293,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.86860489845276,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.86871290206909,2.4820001125335693,9.25,10.68,1.2910000085830688 +123.90853095054626,2.510999917984009,9.25,10.68,1.2910000085830688 +123.90861701965332,2.510999917984009,9.25,10.68,1.3040000200271606 +123.97162103652954,2.510999917984009,9.25,10.68,1.3040000200271606 +123.97172689437866,2.510999917984009,9.25,10.68,1.3040000200271606 +124.02348399162292,2.5460000038146973,9.25,10.68,1.3040000200271606 +124.02358484268188,2.5460000038146973,9.25,10.68,1.315000057220459 +124.0684609413147,2.5460000038146973,9.25,10.68,1.315000057220459 +124.0685248374939,2.5460000038146973,9.25,10.68,1.315000057220459 +124.10846400260925,2.5460000038146973,9.25,10.68,1.315000057220459 +124.10854697227478,2.5460000038146973,9.25,10.68,1.315000057220459 +124.18343591690063,2.5460000038146973,9.25,10.68,1.315000057220459 +124.18353199958801,2.5460000038146973,9.25,10.68,1.315000057220459 +124.22342801094055,2.5460000038146973,9.25,10.68,1.315000057220459 +124.2235119342804,2.5460000038146973,9.25,10.68,1.315000057220459 +124.2684018611908,2.5460000038146973,9.25,10.68,1.315000057220459 +124.26847290992737,2.5460000038146973,9.25,10.68,1.315000057220459 +124.3084008693695,2.6459999084472656,9.25,10.68,1.315000057220459 +124.30847501754761,2.6459999084472656,9.25,10.68,1.3350000381469727 +124.37267589569092,2.6459999084472656,9.25,10.68,1.3350000381469727 +124.3727719783783,2.6459999084472656,9.25,10.68,1.3350000381469727 +124.42441987991333,2.7109999656677246,9.25,10.68,1.3350000381469727 +124.42450094223022,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.46833300590515,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.46839499473572,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.50838589668274,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.50846695899963,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.57245993614197,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.5725998878479,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.62425994873047,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.62433791160583,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.66968083381653,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.66980385780334,2.7109999656677246,9.25,10.68,1.3530000448226929 +124.70929598808289,2.867000102996826,9.25,10.68,1.3530000448226929 +124.70937204360962,2.867000102996826,9.25,10.68,1.3990000486373901 +124.74718189239502,2.867000102996826,9.25,10.86,1.3990000486373901 +124.74723601341248,2.867000102996826,8.669999999999987,10.86,1.3990000486373901 +124.77237892150879,2.867000102996826,8.669999999999987,10.86,1.3990000486373901 +124.7725248336792,2.867000102996826,8.669999999999987,10.86,1.3990000486373901 +124.8241879940033,2.947999954223633,8.669999999999987,10.86,1.3990000486373901 +124.8242700099945,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.86935591697693,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.86943483352661,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.91263389587402,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.9128429889679,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.97327589988708,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +124.97338700294495,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +125.02510786056519,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +125.02518105506897,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +125.06917190551758,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +125.06924796104431,2.947999954223633,8.669999999999987,10.86,1.4249999523162842 +125.10915398597717,3.0880000591278076,8.669999999999987,10.86,1.4249999523162842 +125.10922694206238,3.0880000591278076,8.669999999999987,10.86,1.4739999771118164 +125.18505096435547,3.0880000591278076,8.669999999999987,10.86,1.4739999771118164 +125.18512988090515,3.0880000591278076,8.669999999999987,10.86,1.4739999771118164 +125.22504091262817,3.1540000438690186,8.669999999999987,10.86,1.4739999771118164 +125.22511887550354,3.1540000438690186,8.669999999999987,10.86,1.5 +125.27022194862366,3.1540000438690186,8.669999999999987,10.86,1.5 +125.27032494544983,3.1540000438690186,8.669999999999987,10.86,1.5 +125.31019902229309,3.1540000438690186,8.669999999999987,10.86,1.5 +125.3102970123291,3.1540000438690186,8.669999999999987,10.86,1.5 +125.35301089286804,3.1540000438690186,8.669999999999987,10.86,1.5 +125.35308289527893,3.1540000438690186,8.669999999999987,10.86,1.5 +125.424978017807,3.1540000438690186,8.669999999999987,10.86,1.5 +125.42506003379822,3.1540000438690186,8.669999999999987,10.86,1.5 +125.46019196510315,3.1540000438690186,8.669999999999987,10.86,1.5 +125.46031498908997,3.1540000438690186,8.669999999999987,10.86,1.5 +125.51014494895935,3.2730000019073486,8.669999999999987,10.86,1.5 +125.51025795936584,3.2730000019073486,8.669999999999987,10.86,1.5360000133514404 +125.586012840271,3.2730000019073486,8.669999999999987,10.86,1.5360000133514404 +125.58610486984253,3.2730000019073486,8.669999999999987,10.86,1.5360000133514404 +125.62493205070496,3.313999891281128,8.669999999999987,10.86,1.5360000133514404 +125.6250319480896,3.313999891281128,8.669999999999987,10.86,1.5399999618530273 +125.67012286186218,3.313999891281128,8.669999999999987,10.86,1.5399999618530273 +125.67020297050476,3.313999891281128,8.669999999999987,10.86,1.5399999618530273 +125.71012997627258,3.313999891281128,8.669999999999987,10.86,1.5399999618530273 +125.71025085449219,3.313999891281128,8.669999999999987,10.86,1.5399999618530273 +125.7479510307312,3.313999891281128,8.669999999999987,11.16,1.5399999618530273 +125.74801993370056,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.7739429473877,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.7740318775177,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.80605602264404,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.806156873703,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.86904788017273,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.86914587020874,3.313999891281128,7.590000000000003,11.16,1.5399999618530273 +125.90888404846191,3.3519999980926514,7.590000000000003,11.16,1.5399999618530273 +125.90895986557007,3.3519999980926514,7.590000000000003,11.16,1.5440000295639038 +125.97288084030151,3.3519999980926514,7.590000000000003,11.16,1.5440000295639038 +125.97295689582825,3.3519999980926514,7.590000000000003,11.16,1.5440000295639038 +126.02480888366699,3.3559999465942383,7.590000000000003,11.16,1.5440000295639038 +126.02491092681885,3.3559999465942383,7.590000000000003,11.16,1.5429999828338623 +126.06991505622864,3.3559999465942383,7.590000000000003,11.16,1.5429999828338623 +126.06999897956848,3.3559999465942383,7.590000000000003,11.16,1.5429999828338623 +126.1099009513855,3.3499999046325684,7.590000000000003,11.16,1.5429999828338623 +126.10999703407288,3.3499999046325684,7.590000000000003,11.16,1.5399999618530273 +126.17391586303711,3.3499999046325684,7.590000000000003,11.16,1.5399999618530273 +126.1741099357605,3.3499999046325684,7.590000000000003,11.16,1.5399999618530273 +126.20593404769897,3.3369998931884766,7.590000000000003,11.16,1.5399999618530273 +126.2060170173645,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.26979804039001,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.26987099647522,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.30978202819824,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.30985403060913,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.37375783920288,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.37383985519409,3.3369998931884766,7.590000000000003,11.16,1.5329999923706055 +126.40587401390076,3.321000099182129,7.590000000000003,11.16,1.5329999923706055 +126.4059669971466,3.321000099182129,7.590000000000003,11.16,1.5230000019073486 +126.46974182128906,3.321000099182129,7.590000000000003,11.16,1.5230000019073486 +126.46981382369995,3.321000099182129,7.590000000000003,11.16,1.5230000019073486 +126.5097930431366,3.305999994277954,7.590000000000003,11.16,1.5230000019073486 +126.50987482070923,3.305999994277954,7.590000000000003,11.16,1.5199999809265137 +126.55359983444214,3.305999994277954,7.590000000000003,11.16,1.5199999809265137 +126.55366802215576,3.305999994277954,7.590000000000003,11.16,1.5199999809265137 +126.60659384727478,3.2950000762939453,7.590000000000003,11.16,1.5199999809265137 +126.60667490959167,3.2950000762939453,7.590000000000003,11.16,1.5149999856948853 +126.67056584358215,3.2950000762939453,7.590000000000003,11.16,1.5149999856948853 +126.67063403129578,3.2950000762939453,7.590000000000003,11.16,1.5149999856948853 +126.71056485176086,3.2950000762939453,7.590000000000003,11.16,1.5149999856948853 +126.71064186096191,3.2950000762939453,7.590000000000003,11.16,1.5149999856948853 +126.7496109008789,3.2950000762939453,7.590000000000003,11.41,1.5149999856948853 +126.74966883659363,3.2950000762939453,7.180000000000007,11.41,1.5149999856948853 +126.77460384368896,3.2950000762939453,7.180000000000007,11.41,1.5149999856948853 +126.77468299865723,3.2950000762939453,7.180000000000007,11.41,1.5149999856948853 +126.80652689933777,3.2869999408721924,7.180000000000007,11.41,1.5149999856948853 +126.80661201477051,3.2869999408721924,7.180000000000007,11.41,1.5130000114440918 +126.87051582336426,3.2869999408721924,7.180000000000007,11.41,1.5130000114440918 +126.87059497833252,3.2869999408721924,7.180000000000007,11.41,1.5130000114440918 +126.91048383712769,3.2820000648498535,7.180000000000007,11.41,1.5130000114440918 +126.91056394577026,3.2820000648498535,7.180000000000007,11.41,1.5099999904632568 +126.96961784362793,3.2820000648498535,7.180000000000007,11.41,1.5099999904632568 +126.9696888923645,3.2820000648498535,7.180000000000007,11.41,1.5099999904632568 +127.00646495819092,3.2760000228881836,7.180000000000007,11.41,1.5099999904632568 +127.0065529346466,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.07172703742981,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.07180190086365,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.1115038394928,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.11158084869385,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.17450094223022,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.17459297180176,3.2760000228881836,7.180000000000007,11.41,1.5089999437332153 +127.20650100708008,3.2780001163482666,7.180000000000007,11.41,1.5089999437332153 +127.20666193962097,3.2780001163482666,7.180000000000007,11.41,1.5080000162124634 +127.2714478969574,3.2780001163482666,7.180000000000007,11.41,1.5080000162124634 +127.27152585983276,3.2780001163482666,7.180000000000007,11.41,1.5080000162124634 +127.31142783164978,3.2780001163482666,7.180000000000007,11.41,1.5080000162124634 +127.31150484085083,3.2780001163482666,7.180000000000007,11.41,1.50600004196167 +127.36549401283264,3.2780001163482666,7.180000000000007,11.41,1.50600004196167 +127.36555886268616,3.2780001163482666,7.180000000000007,11.41,1.50600004196167 +127.40896081924438,3.2780001163482666,7.180000000000007,11.41,1.50600004196167 +127.40908885002136,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.47232794761658,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.47242593765259,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.51240491867065,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.51249289512634,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.56544184684753,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.56551504135132,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.6072518825531,3.2780001163482666,7.180000000000007,11.41,1.5049999952316284 +127.60732793807983,3.2780001163482666,7.180000000000007,11.41,1.503000020980835 +127.67221188545227,3.2780001163482666,7.180000000000007,11.41,1.503000020980835 +127.67227792739868,3.2780001163482666,7.180000000000007,11.41,1.503000020980835 +127.7122368812561,3.2780001163482666,7.180000000000007,11.41,1.503000020980835 +127.71233582496643,3.2780001163482666,7.180000000000007,11.41,1.5010000467300415 +127.75017499923706,3.2780001163482666,7.180000000000007,11.41,1.5010000467300415 +127.75023293495178,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.76618504524231,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.7662558555603,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.80721187591553,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.80729699134827,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.8653609752655,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.86544895172119,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.9053258895874,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.90540385246277,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.96718096733093,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +127.96725702285767,3.2780001163482666,6.389999999999986,11.41,1.5010000467300415 +128.00720500946045,3.2750000953674316,6.389999999999986,11.41,1.5010000467300415 +128.00731897354126,3.2750000953674316,6.389999999999986,11.41,1.503000020980835 +128.07211303710938,3.2750000953674316,6.389999999999986,11.41,1.503000020980835 +128.07222604751587,3.2750000953674316,6.389999999999986,11.41,1.503000020980835 +128.11205983161926,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.11213994026184,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.16607284545898,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.1661639213562,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.2082269191742,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.20829582214355,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.27311491966248,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.2731969356537,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.3131399154663,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.31323504447937,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.36710691452026,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.3672239780426,3.2739999294281006,6.389999999999986,11.41,1.503000020980835 +128.4080469608307,3.260999917984009,6.389999999999986,11.41,1.503000020980835 +128.40812492370605,3.260999917984009,6.389999999999986,11.41,1.5089999437332153 +128.47311186790466,3.260999917984009,6.389999999999986,11.41,1.5089999437332153 +128.47322797775269,3.260999917984009,6.389999999999986,11.41,1.5089999437332153 +128.51305103302002,3.259999990463257,6.389999999999986,11.41,1.5089999437332153 +128.51313185691833,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.5669310092926,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.56699585914612,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.60910201072693,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.6091868877411,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.67312002182007,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.67323803901672,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.7129590511322,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.71303296089172,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.75082993507385,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.75089287757874,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.7668788433075,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.76695084571838,3.259999990463257,6.389999999999986,11.41,1.5140000581741333 +128.80899500846863,3.2639999389648438,6.389999999999986,11.41,1.5140000581741333 +128.80907583236694,3.2639999389648438,6.389999999999986,11.41,1.524999976158142 +128.8728928565979,3.2639999389648438,6.389999999999986,11.41,1.524999976158142 +128.87297797203064,3.2639999389648438,6.389999999999986,11.41,1.524999976158142 +128.91300797462463,3.2660000324249268,6.389999999999986,11.41,1.524999976158142 +128.9131360054016,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +128.96685791015625,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +128.96694588661194,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.0088849067688,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.00896286964417,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.0728199481964,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.07288694381714,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.11281895637512,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.11288595199585,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.16674089431763,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.16681098937988,3.2660000324249268,6.389999999999986,11.41,1.5240000486373901 +129.20893383026123,3.257999897003174,6.389999999999986,11.41,1.5240000486373901 +129.2090220451355,3.257999897003174,6.389999999999986,11.41,1.5219999551773071 +129.273668050766,3.257999897003174,6.389999999999986,11.41,1.5219999551773071 +129.2737419605255,3.257999897003174,6.389999999999986,11.41,1.5219999551773071 +129.31365394592285,3.255000114440918,6.389999999999986,11.41,1.5219999551773071 +129.3137228488922,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.36771988868713,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.3677899837494,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.40964889526367,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.40975093841553,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.4648048877716,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.46489882469177,3.255000114440918,6.389999999999986,11.41,1.5199999809265137 +129.50679397583008,3.257999897003174,6.389999999999986,11.41,1.5199999809265137 +129.50687384605408,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.56765484809875,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.56772804260254,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.6095688343048,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.6096420288086,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.6647229194641,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.66481804847717,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.70475387573242,3.257999897003174,6.389999999999986,11.41,1.5169999599456787 +129.70485186576843,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.7515389919281,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.7515959739685,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.76952290534973,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.76968598365784,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.80949687957764,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.809583902359,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.86560702323914,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.86568999290466,3.257999897003174,6.389999999999986,11.41,1.5160000324249268 +129.90562105178833,3.256999969482422,6.389999999999986,11.41,1.5160000324249268 +129.90570092201233,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +129.966490983963,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +129.9665629863739,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +130.00946283340454,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +130.00954389572144,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +130.06460285186768,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +130.0646939277649,3.256999969482422,6.389999999999986,11.41,1.5099999904632568 +130.10464787483215,3.255000114440918,6.389999999999986,11.41,1.5099999904632568 +130.10476183891296,3.255000114440918,6.389999999999986,11.41,1.5089999437332153 +130.1703770160675,3.255000114440918,6.389999999999986,11.41,1.5089999437332153 +130.1704559326172,3.255000114440918,6.389999999999986,11.41,1.5089999437332153 +130.21136903762817,3.253999948501587,6.389999999999986,11.41,1.5089999437332153 +130.21145296096802,3.253999948501587,6.389999999999986,11.41,1.5069999694824219 +130.2645218372345,3.253999948501587,6.389999999999986,11.41,1.5069999694824219 +130.26461696624756,3.253999948501587,6.389999999999986,11.41,1.5069999694824219 +130.3045859336853,3.253000020980835,6.389999999999986,11.41,1.5069999694824219 +130.3046998977661,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.36948990821838,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.36957097053528,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.41032195091248,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.41041803359985,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.4644479751587,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.46454691886902,3.253000020980835,6.389999999999986,11.41,1.5099999904632568 +130.5044538974762,3.252000093460083,6.389999999999986,11.41,1.5099999904632568 +130.50454902648926,3.252000093460083,6.389999999999986,11.41,1.5110000371932983 +130.57021689414978,3.252000093460083,6.389999999999986,11.41,1.5110000371932983 +130.57027888298035,3.252000093460083,6.389999999999986,11.41,1.5110000371932983 +130.61028695106506,3.250999927520752,6.389999999999986,11.41,1.5110000371932983 +130.61040496826172,3.250999927520752,6.389999999999986,11.41,1.5119999647140503 +130.66526985168457,3.250999927520752,6.389999999999986,11.41,1.5119999647140503 +130.6653709411621,3.250999927520752,6.389999999999986,11.41,1.5119999647140503 +130.7052140235901,3.25,6.389999999999986,11.41,1.5119999647140503 +130.7053098678589,3.25,6.389999999999986,11.41,1.5140000581741333 +130.75232696533203,3.25,6.389999999999986,10.97,1.5140000581741333 +130.75239205360413,3.25,7.590000000000003,10.97,1.5140000581741333 +130.7702648639679,3.25,7.590000000000003,10.97,1.5140000581741333 +130.7703309059143,3.25,7.590000000000003,10.97,1.5140000581741333 +130.81319785118103,3.25,7.590000000000003,10.97,1.5140000581741333 +130.81328701972961,3.25,7.590000000000003,10.97,1.5140000581741333 +130.865140914917,3.25,7.590000000000003,10.97,1.5140000581741333 +130.86523485183716,3.25,7.590000000000003,10.97,1.5140000581741333 +130.9051468372345,3.25600004196167,7.590000000000003,10.97,1.5140000581741333 +130.90524697303772,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +130.97043800354004,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +130.97050786018372,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +131.01007604599,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +131.01014804840088,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +131.06608295440674,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +131.06617498397827,3.25600004196167,7.590000000000003,10.97,1.5110000371932983 +131.10608196258545,3.2690000534057617,7.590000000000003,10.97,1.5110000371932983 +131.10617184638977,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.1710479259491,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.17113590240479,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.21114492416382,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.21123695373535,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.26702284812927,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.26711583137512,3.2690000534057617,7.590000000000003,10.97,1.5199999809265137 +131.30701088905334,3.2790000438690186,7.590000000000003,10.97,1.5199999809265137 +131.30709981918335,3.2790000438690186,7.590000000000003,10.97,1.5390000343322754 +131.37096786499023,3.2790000438690186,7.590000000000003,10.97,1.5390000343322754 +131.3710458278656,3.2790000438690186,7.590000000000003,10.97,1.5390000343322754 +131.4120969772339,3.2869999408721924,7.590000000000003,10.97,1.5390000343322754 +131.41218900680542,3.2869999408721924,7.590000000000003,10.97,1.5750000476837158 +131.4669759273529,3.2869999408721924,7.590000000000003,10.97,1.5750000476837158 +131.46708583831787,3.2869999408721924,7.590000000000003,10.97,1.5750000476837158 +131.5069818496704,3.303999900817871,7.590000000000003,10.97,1.5750000476837158 +131.50708198547363,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.57089686393738,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.57096886634827,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.61198592185974,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.61206102371216,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.6679458618164,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.66812992095947,3.303999900817871,7.590000000000003,10.97,1.61899995803833 +131.70790696144104,3.3259999752044678,7.590000000000003,10.97,1.61899995803833 +131.7080159187317,3.3259999752044678,7.590000000000003,10.97,1.6690000295639038 +131.75280094146729,3.3259999752044678,7.590000000000003,11.06,1.6690000295639038 +131.7528669834137,3.3259999752044678,7.610000000000014,11.06,1.6690000295639038 +131.77300000190735,3.3259999752044678,7.610000000000014,11.06,1.6690000295639038 +131.77308082580566,3.3259999752044678,7.610000000000014,11.06,1.6690000295639038 +131.80403804779053,3.3510000705718994,7.610000000000014,11.06,1.6690000295639038 +131.8041169643402,3.3510000705718994,7.610000000000014,11.06,1.7300000190734863 +131.86783385276794,3.3510000705718994,7.610000000000014,11.06,1.7300000190734863 +131.86794185638428,3.3510000705718994,7.610000000000014,11.06,1.7300000190734863 +131.9078278541565,3.38100004196167,7.610000000000014,11.06,1.7300000190734863 +131.90792798995972,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +131.97277903556824,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +131.97285103797913,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +132.00400805473328,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +132.00411200523376,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +132.06775903701782,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +132.06786394119263,3.38100004196167,7.610000000000014,11.06,1.8020000457763672 +132.10773491859436,3.4149999618530273,7.610000000000014,11.06,1.8020000457763672 +132.1078360080719,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.17178392410278,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.17185282707214,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.20469498634338,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.20478582382202,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.24469900131226,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.24479484558105,3.4149999618530273,7.610000000000014,11.06,1.878999948501587 +132.30767393112183,3.4739999771118164,7.610000000000014,11.06,1.878999948501587 +132.30777597427368,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.37171387672424,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.37177991867065,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.40380597114563,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.40389394760132,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.46760201454163,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.4677119255066,3.4739999771118164,7.610000000000014,11.06,2.013000011444092 +132.50767588615417,3.497999906539917,7.610000000000014,11.06,2.013000011444092 +132.50776886940002,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.57165598869324,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.57172894477844,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.6037459373474,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.60383987426758,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.66855096817017,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.6686499118805,3.497999906539917,7.610000000000014,11.06,2.052000045776367 +132.70853686332703,3.510999917984009,7.610000000000014,11.06,2.052000045776367 +132.7086169719696,3.510999917984009,7.610000000000014,11.06,2.1010000705718994 +132.76063084602356,3.510999917984009,7.610000000000014,12.25,2.1010000705718994 +132.7607548236847,3.510999917984009,7.0800000000000125,12.25,2.1010000705718994 +132.77176189422607,3.510999917984009,7.0800000000000125,12.25,2.1010000705718994 +132.77185797691345,3.510999917984009,7.0800000000000125,12.25,2.1010000705718994 +132.8036699295044,3.51200008392334,7.0800000000000125,12.25,2.1010000705718994 +132.80375599861145,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.87078285217285,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.87090396881104,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.9106469154358,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.91073894500732,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.96444487571716,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +132.9645290374756,3.51200008392334,7.0800000000000125,12.25,2.1110000610351562 +133.00541996955872,3.510999917984009,7.0800000000000125,12.25,2.1110000610351562 +133.00549292564392,3.510999917984009,7.0800000000000125,12.25,2.109999895095825 +133.067400932312,3.510999917984009,7.0800000000000125,12.25,2.109999895095825 +133.06749987602234,3.510999917984009,7.0800000000000125,12.25,2.109999895095825 +133.10738396644592,3.509999990463257,7.0800000000000125,12.25,2.109999895095825 +133.10747694969177,3.509999990463257,7.0800000000000125,12.25,2.0980000495910645 +133.17154693603516,3.509999990463257,7.0800000000000125,12.25,2.0980000495910645 +133.1716480255127,3.509999990463257,7.0800000000000125,12.25,2.0980000495910645 +133.2035529613495,3.50600004196167,7.0800000000000125,12.25,2.0980000495910645 +133.2036509513855,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.26732301712036,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.26741886138916,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.3073399066925,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.30743503570557,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.37238788604736,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.3724479675293,3.50600004196167,7.0800000000000125,12.25,2.0820000171661377 +133.40347290039062,3.500999927520752,7.0800000000000125,12.25,2.0820000171661377 +133.40356397628784,3.500999927520752,7.0800000000000125,12.25,2.071000099182129 +133.46825790405273,3.500999927520752,7.0800000000000125,12.25,2.071000099182129 +133.46835494041443,3.500999927520752,7.0800000000000125,12.25,2.071000099182129 +133.50838899612427,3.496999979019165,7.0800000000000125,12.25,2.071000099182129 +133.5084888935089,3.496999979019165,7.0800000000000125,12.25,2.059999942779541 +133.5633819103241,3.496999979019165,7.0800000000000125,12.25,2.059999942779541 +133.56345391273499,3.496999979019165,7.0800000000000125,12.25,2.059999942779541 +133.60340189933777,3.496000051498413,7.0800000000000125,12.25,2.059999942779541 +133.60348796844482,3.496000051498413,7.0800000000000125,12.25,2.053999900817871 +133.66818189620972,3.496000051498413,7.0800000000000125,12.25,2.053999900817871 +133.66828203201294,3.496000051498413,7.0800000000000125,12.25,2.053999900817871 +133.7082040309906,3.496000051498413,7.0800000000000125,12.25,2.053999900817871 +133.70828986167908,3.496000051498413,7.0800000000000125,12.25,2.053999900817871 +133.7541229724884,3.496000051498413,7.0800000000000125,12.41,2.053999900817871 +133.7541790008545,3.496000051498413,7.1299999999999955,12.41,2.053999900817871 +133.77215003967285,3.496000051498413,7.1299999999999955,12.41,2.053999900817871 +133.7722270488739,3.496000051498413,7.1299999999999955,12.41,2.053999900817871 +133.80430698394775,3.496999979019165,7.1299999999999955,12.41,2.053999900817871 +133.80438899993896,3.496999979019165,7.1299999999999955,12.41,2.0490000247955322 +133.869215965271,3.496999979019165,7.1299999999999955,12.41,2.0490000247955322 +133.86931991577148,3.496999979019165,7.1299999999999955,12.41,2.0490000247955322 +133.90918493270874,3.497999906539917,7.1299999999999955,12.41,2.0490000247955322 +133.90935897827148,3.497999906539917,7.1299999999999955,12.41,2.0420000553131104 +133.9632430076599,3.497999906539917,7.1299999999999955,12.41,2.0420000553131104 +133.96331191062927,3.497999906539917,7.1299999999999955,12.41,2.0420000553131104 +134.007071018219,3.497999906539917,7.1299999999999955,12.41,2.0420000553131104 +134.00714993476868,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.07023882865906,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.0703330039978,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.11115789413452,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.11124300956726,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.16333603858948,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.16341090202332,3.497999906539917,7.1299999999999955,12.41,2.0429999828338623 +134.20612287521362,3.499000072479248,7.1299999999999955,12.41,2.0429999828338623 +134.20620703697205,3.499000072479248,7.1299999999999955,12.41,2.0420000553131104 +134.27012491226196,3.499000072479248,7.1299999999999955,12.41,2.0420000553131104 +134.2702338695526,3.499000072479248,7.1299999999999955,12.41,2.0420000553131104 +134.3100869655609,3.499000072479248,7.1299999999999955,12.41,2.0420000553131104 +134.31017804145813,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.36313700675964,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.36321187019348,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.40593194961548,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.40600204467773,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.47013092041016,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.47030901908875,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.51008200645447,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.51019096374512,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.5638768672943,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.56394505500793,3.499000072479248,7.1299999999999955,12.41,2.0409998893737793 +134.6058919429779,3.5,7.1299999999999955,12.41,2.0409998893737793 +134.6059868335724,3.5,7.1299999999999955,12.41,2.0409998893737793 +134.67106986045837,3.5,7.1299999999999955,12.41,2.0409998893737793 +134.67116689682007,3.5,7.1299999999999955,12.41,2.0409998893737793 +134.7111439704895,3.502000093460083,7.1299999999999955,12.41,2.0409998893737793 +134.71124005317688,3.502000093460083,7.1299999999999955,12.41,2.0420000553131104 +134.75578093528748,3.502000093460083,7.1299999999999955,12.26,2.0420000553131104 +134.7558469772339,3.502000093460083,7.159999999999997,12.26,2.0420000553131104 +134.7659149169922,3.502000093460083,7.159999999999997,12.26,2.0420000553131104 +134.76598286628723,3.502000093460083,7.159999999999997,12.26,2.0420000553131104 +134.80692982673645,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.807030916214,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.87114787101746,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.87125301361084,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.9111189842224,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.9112298488617,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.96477484703064,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +134.9648540019989,3.503000020980835,7.159999999999997,12.26,2.0420000553131104 +135.00678992271423,3.503999948501587,7.159999999999997,12.26,2.0420000553131104 +135.0069019794464,3.503999948501587,7.159999999999997,12.26,2.0420000553131104 +135.07097792625427,3.503999948501587,7.159999999999997,12.26,2.0420000553131104 +135.07107305526733,3.503999948501587,7.159999999999997,12.26,2.0420000553131104 +135.11110281944275,3.505000114440918,7.159999999999997,12.26,2.0420000553131104 +135.1112208366394,3.505000114440918,7.159999999999997,12.26,2.0420000553131104 +135.1647229194641,3.505000114440918,7.159999999999997,12.26,2.0420000553131104 +135.16480493545532,3.505000114440918,7.159999999999997,12.26,2.0420000553131104 +135.20667099952698,3.506999969482422,7.159999999999997,12.26,2.0420000553131104 +135.20676398277283,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.27167081832886,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.2717649936676,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.31209588050842,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.31222891807556,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.3646399974823,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.36471700668335,3.506999969482422,7.159999999999997,12.26,2.0429999828338623 +135.40720200538635,3.507999897003174,7.159999999999997,12.26,2.0429999828338623 +135.40733003616333,3.507999897003174,7.159999999999997,12.26,2.0429999828338623 +135.4716248512268,3.507999897003174,7.159999999999997,12.26,2.0429999828338623 +135.4717538356781,3.507999897003174,7.159999999999997,12.26,2.0429999828338623 +135.51157784461975,3.507999897003174,7.159999999999997,12.26,2.0429999828338623 +135.51167488098145,3.507999897003174,7.159999999999997,12.26,2.0450000762939453 +135.56553888320923,3.507999897003174,7.159999999999997,12.26,2.0450000762939453 +135.56561183929443,3.507999897003174,7.159999999999997,12.26,2.0450000762939453 +135.6075189113617,3.507999897003174,7.159999999999997,12.26,2.0450000762939453 +135.60759592056274,3.507999897003174,7.159999999999997,12.26,2.0480000972747803 +135.6734938621521,3.507999897003174,7.159999999999997,12.26,2.0480000972747803 +135.6735918521881,3.507999897003174,7.159999999999997,12.26,2.0480000972747803 +135.7037229537964,3.509000062942505,7.159999999999997,12.26,2.0480000972747803 +135.70382285118103,3.509000062942505,7.159999999999997,12.26,2.0510001182556152 +135.7554440498352,3.509000062942505,7.159999999999997,12.24,2.0510001182556152 +135.7555170059204,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.76746201515198,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.76753187179565,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.8084659576416,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.8085458278656,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.87342596054077,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.87352085113525,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.9036159515381,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.9037048816681,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.9664008617401,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +135.966472864151,3.509000062942505,7.240000000000009,12.24,2.0510001182556152 +136.00845289230347,3.502000093460083,7.240000000000009,12.24,2.0510001182556152 +136.0085849761963,3.502000093460083,7.240000000000009,12.24,2.078000068664551 +136.07341194152832,3.502000093460083,7.240000000000009,12.24,2.078000068664551 +136.0735490322113,3.502000093460083,7.240000000000009,12.24,2.078000068664551 +136.10357093811035,3.496999979019165,7.240000000000009,12.24,2.078000068664551 +136.1036639213562,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.16734504699707,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.16740894317627,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.20933389663696,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.209410905838,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.27432203292847,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.27441096305847,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.3064968585968,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.30681991577148,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.36825489997864,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.36832404136658,3.496999979019165,7.240000000000009,12.24,2.1059999465942383 +136.41046500205994,3.4800000190734863,7.240000000000009,12.24,2.1059999465942383 +136.4105339050293,3.4800000190734863,7.240000000000009,12.24,2.196000099182129 +136.47483801841736,3.4800000190734863,7.240000000000009,12.24,2.196000099182129 +136.47496390342712,3.4800000190734863,7.240000000000009,12.24,2.196000099182129 +136.50424695014954,3.4739999771118164,7.240000000000009,12.24,2.196000099182129 +136.50432586669922,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.5672149658203,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.56732296943665,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.60924792289734,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.6093189716339,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.6741659641266,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.67425990104675,3.4739999771118164,7.240000000000009,12.24,2.263000011444092 +136.70418000221252,3.4670000076293945,7.240000000000009,12.24,2.263000011444092 +136.70425701141357,3.4670000076293945,7.240000000000009,12.24,2.3420000076293945 +136.7561159133911,3.4670000076293945,7.240000000000009,12.75,2.3420000076293945 +136.75619983673096,3.4670000076293945,7.3700000000000045,12.75,2.3420000076293945 +136.767098903656,3.4670000076293945,7.3700000000000045,12.75,2.3420000076293945 +136.76716899871826,3.4670000076293945,7.3700000000000045,12.75,2.3420000076293945 +136.80910301208496,3.4590001106262207,7.3700000000000045,12.75,2.3420000076293945 +136.80918192863464,3.4590001106262207,7.3700000000000045,12.75,2.430000066757202 +136.87411093711853,3.4590001106262207,7.3700000000000045,12.75,2.430000066757202 +136.8742070198059,3.4590001106262207,7.3700000000000045,12.75,2.430000066757202 +136.90412592887878,3.4519999027252197,7.3700000000000045,12.75,2.430000066757202 +136.90421295166016,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +136.9680359363556,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +136.96810603141785,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +137.0110900402069,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +137.01119089126587,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +137.07505893707275,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +137.07516598701477,3.4519999027252197,7.3700000000000045,12.75,2.5179998874664307 +137.10502696037292,3.443000078201294,7.3700000000000045,12.75,2.5179998874664307 +137.10510301589966,3.443000078201294,7.3700000000000045,12.75,2.5929999351501465 +137.16898202896118,3.443000078201294,7.3700000000000045,12.75,2.5929999351501465 +137.1690549850464,3.443000078201294,7.3700000000000045,12.75,2.5929999351501465 +137.21099305152893,3.434000015258789,7.3700000000000045,12.75,2.5929999351501465 +137.21106886863708,3.434000015258789,7.3700000000000045,12.75,2.6649999618530273 +137.27597904205322,3.434000015258789,7.3700000000000045,12.75,2.6649999618530273 +137.2760729789734,3.434000015258789,7.3700000000000045,12.75,2.6649999618530273 +137.30594182014465,3.424999952316284,7.3700000000000045,12.75,2.6649999618530273 +137.30602192878723,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.37025904655457,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.37034392356873,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.41192984580994,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.4120318889618,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.47587895393372,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.47598505020142,3.424999952316284,7.3700000000000045,12.75,2.7360000610351562 +137.50588083267212,3.4159998893737793,7.3700000000000045,12.75,2.7360000610351562 +137.50596499443054,3.4159998893737793,7.3700000000000045,12.75,2.805999994277954 +137.56797790527344,3.4159998893737793,7.3700000000000045,12.75,2.805999994277954 +137.5680480003357,3.4159998893737793,7.3700000000000045,12.75,2.805999994277954 +137.60888981819153,3.4070000648498535,7.3700000000000045,12.75,2.805999994277954 +137.60897588729858,3.4070000648498535,7.3700000000000045,12.75,2.875 +137.67785692214966,3.4070000648498535,7.3700000000000045,12.75,2.875 +137.6779968738556,3.4070000648498535,7.3700000000000045,12.75,2.875 +137.70781087875366,3.3970000743865967,7.3700000000000045,12.75,2.875 +137.70789790153503,3.3970000743865967,7.3700000000000045,12.75,2.940000057220459 +137.760027885437,3.3970000743865967,7.3700000000000045,14.0,2.940000057220459 +137.76009893417358,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.77086186408997,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.77095699310303,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.8029589653015,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.8030400276184,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.87875485420227,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.87886786460876,3.3970000743865967,7.469999999999999,14.0,2.940000057220459 +137.9087610244751,3.3910000324249268,7.469999999999999,14.0,2.940000057220459 +137.90887093544006,3.3910000324249268,7.469999999999999,14.0,2.996999979019165 +137.97279286384583,3.3910000324249268,7.469999999999999,14.0,2.996999979019165 +137.97291684150696,3.3910000324249268,7.469999999999999,14.0,2.996999979019165 +138.00470995903015,3.385999917984009,7.469999999999999,14.0,2.996999979019165 +138.00480198860168,3.385999917984009,7.469999999999999,14.0,3.0490000247955322 +138.0646948814392,3.385999917984009,7.469999999999999,14.0,3.0490000247955322 +138.06477904319763,3.385999917984009,7.469999999999999,14.0,3.0490000247955322 +138.1106870174408,3.380000114440918,7.469999999999999,14.0,3.0490000247955322 +138.1107759475708,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.1636769771576,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.16376399993896,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.20568203926086,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.2057900428772,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.2656500339508,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.26574397087097,3.380000114440918,7.469999999999999,14.0,3.0929999351501465 +138.3106288909912,3.377000093460083,7.469999999999999,14.0,3.0929999351501465 +138.3107190132141,3.377000093460083,7.469999999999999,14.0,3.122999906539917 +138.3637900352478,3.377000093460083,7.469999999999999,14.0,3.122999906539917 +138.36386489868164,3.377000093460083,7.469999999999999,14.0,3.122999906539917 +138.40559697151184,3.374000072479248,7.469999999999999,14.0,3.122999906539917 +138.40569496154785,3.374000072479248,7.469999999999999,14.0,3.1419999599456787 +138.46562099456787,3.374000072479248,7.469999999999999,14.0,3.1419999599456787 +138.46570801734924,3.374000072479248,7.469999999999999,14.0,3.1419999599456787 +138.51060485839844,3.371000051498413,7.469999999999999,14.0,3.1419999599456787 +138.51069498062134,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.56454396247864,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.56464004516602,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.60650300979614,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.60659885406494,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.66649198532104,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.66657900810242,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.71048188209534,3.371000051498413,7.469999999999999,14.0,3.1489999294281006 +138.71056389808655,3.371000051498413,7.469999999999999,14.0,3.1419999599456787 +138.76341605186462,3.371000051498413,7.469999999999999,14.78,3.1419999599456787 +138.76349401474,3.371000051498413,7.659999999999997,14.78,3.1419999599456787 +138.76446294784546,3.371000051498413,7.659999999999997,14.78,3.1419999599456787 +138.76454997062683,3.371000051498413,7.659999999999997,14.78,3.1419999599456787 +138.8075339794159,3.367000102996826,7.659999999999997,14.78,3.1419999599456787 +138.8077688217163,3.367000102996826,7.659999999999997,14.78,3.1470000743865967 +138.86743998527527,3.367000102996826,7.659999999999997,14.78,3.1470000743865967 +138.8675320148468,3.367000102996826,7.659999999999997,14.78,3.1470000743865967 +138.91139101982117,3.364000082015991,7.659999999999997,14.78,3.1470000743865967 +138.911474943161,3.364000082015991,7.659999999999997,14.78,3.1640000343322754 +138.9653730392456,3.364000082015991,7.659999999999997,14.78,3.1640000343322754 +138.9654619693756,3.364000082015991,7.659999999999997,14.78,3.1640000343322754 +139.0073640346527,3.3610000610351562,7.659999999999997,14.78,3.1640000343322754 +139.00744891166687,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.06833600997925,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.06839394569397,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.11342000961304,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.11355185508728,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.16748189926147,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.1675729751587,3.3610000610351562,7.659999999999997,14.78,3.1989998817443848 +139.2083020210266,3.3529999256134033,7.659999999999997,14.78,3.1989998817443848 +139.20839500427246,3.3529999256134033,7.659999999999997,14.78,3.253999948501587 +139.26827001571655,3.3529999256134033,7.659999999999997,14.78,3.253999948501587 +139.26834082603455,3.3529999256134033,7.659999999999997,14.78,3.253999948501587 +139.30428791046143,3.3519999980926514,7.659999999999997,14.78,3.253999948501587 +139.30438995361328,3.3519999980926514,7.659999999999997,14.78,3.318000078201294 +139.36824584007263,3.3519999980926514,7.659999999999997,14.78,3.318000078201294 +139.368332862854,3.3519999980926514,7.659999999999997,14.78,3.318000078201294 +139.41035890579224,3.3469998836517334,7.659999999999997,14.78,3.318000078201294 +139.41044783592224,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.47029495239258,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.47035789489746,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.50525999069214,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.50538301467896,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.5681710243225,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.56824588775635,3.3469998836517334,7.659999999999997,14.78,3.3889999389648438 +139.61033082008362,3.3399999141693115,7.659999999999997,14.78,3.3889999389648438 +139.61042094230652,3.3399999141693115,7.659999999999997,14.78,3.4649999141693115 +139.6702299118042,3.3399999141693115,7.659999999999997,14.78,3.4649999141693115 +139.67030501365662,3.3399999141693115,7.659999999999997,14.78,3.4649999141693115 +139.70516705513,3.3380000591278076,7.659999999999997,14.78,3.4649999141693115 +139.70529198646545,3.3380000591278076,7.659999999999997,14.78,3.5460000038146973 +139.76706504821777,3.3380000591278076,7.659999999999997,15.86,3.5460000038146973 +139.7671389579773,3.3380000591278076,7.719999999999999,15.86,3.5460000038146973 +139.77108097076416,3.3380000591278076,7.719999999999999,15.86,3.5460000038146973 +139.7711639404297,3.3380000591278076,7.719999999999999,15.86,3.5460000038146973 +139.8132448196411,3.3320000171661377,7.719999999999999,15.86,3.5460000038146973 +139.81342887878418,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.86327385902405,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.86334800720215,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.90508604049683,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.90516591072083,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.96913385391235,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +139.96921300888062,3.3320000171661377,7.719999999999999,15.86,3.621000051498413 +140.01105999946594,3.328000068664551,7.719999999999999,15.86,3.621000051498413 +140.01118803024292,3.328000068664551,7.719999999999999,15.86,3.691999912261963 +140.07100200653076,3.328000068664551,7.719999999999999,15.86,3.691999912261963 +140.0710699558258,3.328000068664551,7.719999999999999,15.86,3.691999912261963 +140.1050419807434,3.322000026702881,7.719999999999999,15.86,3.691999912261963 +140.1051390171051,3.322000026702881,7.719999999999999,15.86,3.763000011444092 +140.1692168712616,3.322000026702881,7.719999999999999,15.86,3.763000011444092 +140.16930389404297,3.322000026702881,7.719999999999999,15.86,3.763000011444092 +140.21096682548523,3.313999891281128,7.719999999999999,15.86,3.763000011444092 +140.2110629081726,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.27093696594238,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.27101302146912,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.3049659729004,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.3050549030304,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.368971824646,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.36905789375305,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.41094088554382,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.41104984283447,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.4709038734436,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.47101402282715,3.313999891281128,7.719999999999999,15.86,3.8299999237060547 +140.50698590278625,3.2990000247955322,7.719999999999999,15.86,3.8299999237060547 +140.507061958313,3.2990000247955322,7.719999999999999,15.86,3.9600000381469727 +140.56996202468872,3.2990000247955322,7.719999999999999,15.86,3.9600000381469727 +140.57004404067993,3.2990000247955322,7.719999999999999,15.86,3.9600000381469727 +140.611811876297,3.2960000038146973,7.719999999999999,15.86,3.9600000381469727 +140.61189699172974,3.2960000038146973,7.719999999999999,15.86,4.020999908447266 +140.67178988456726,3.2960000038146973,7.719999999999999,15.86,4.020999908447266 +140.6718578338623,3.2960000038146973,7.719999999999999,15.86,4.020999908447266 +140.70691299438477,3.2960000038146973,7.719999999999999,15.86,4.020999908447266 +140.70698595046997,3.2960000038146973,7.719999999999999,15.86,4.020999908447266 +140.76949286460876,3.2960000038146973,7.719999999999999,16.92,4.020999908447266 +140.7696089744568,3.2960000038146973,6.949999999999989,16.92,4.020999908447266 +140.7699990272522,3.2960000038146973,6.949999999999989,16.92,4.020999908447266 +140.77008295059204,3.2960000038146973,6.949999999999989,16.92,4.020999908447266 +140.8127679824829,3.2950000762939453,6.949999999999989,16.92,4.020999908447266 +140.81285881996155,3.2950000762939453,6.949999999999989,16.92,4.084000110626221 +140.8717658519745,3.2950000762939453,6.949999999999989,16.92,4.084000110626221 +140.87185287475586,3.2950000762939453,6.949999999999989,16.92,4.084000110626221 +140.90711998939514,3.2920000553131104,6.949999999999989,16.92,4.084000110626221 +140.9071888923645,3.2920000553131104,6.949999999999989,16.92,4.145999908447266 +140.9707269668579,3.2920000553131104,6.949999999999989,16.92,4.145999908447266 +140.97089290618896,3.2920000553131104,6.949999999999989,16.92,4.145999908447266 +141.0128149986267,3.2899999618530273,6.949999999999989,16.92,4.145999908447266 +141.0129430294037,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.06300282478333,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.06309294700623,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.10698890686035,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.10707688331604,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.17067289352417,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.1707739830017,3.2899999618530273,6.949999999999989,16.92,4.205999851226807 +141.21264386177063,3.2869999408721924,6.949999999999989,16.92,4.205999851226807 +141.21272897720337,3.2869999408721924,6.949999999999989,16.92,4.26800012588501 +141.26279497146606,3.2869999408721924,6.949999999999989,16.92,4.26800012588501 +141.26286101341248,3.2869999408721924,6.949999999999989,16.92,4.26800012588501 +141.30767703056335,3.2839999198913574,6.949999999999989,16.92,4.26800012588501 +141.30778789520264,3.2839999198913574,6.949999999999989,16.92,4.328000068664551 +141.37172484397888,3.2839999198913574,6.949999999999989,16.92,4.328000068664551 +141.37181496620178,3.2839999198913574,6.949999999999989,16.92,4.328000068664551 +141.41356801986694,3.2829999923706055,6.949999999999989,16.92,4.328000068664551 +141.41365694999695,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.46353483200073,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.46360898017883,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.50960993766785,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.50969195365906,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.54969382286072,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.54981184005737,3.2829999923706055,6.949999999999989,16.92,4.392000198364258 +141.61461782455444,3.2809998989105225,6.949999999999989,16.92,4.392000198364258 +141.6147539615631,3.2809998989105225,6.949999999999989,16.92,4.454999923706055 +141.66448783874512,3.2809998989105225,6.949999999999989,16.92,4.454999923706055 +141.66458988189697,3.2809998989105225,6.949999999999989,16.92,4.454999923706055 +141.70952892303467,3.2790000438690186,6.949999999999989,16.92,4.454999923706055 +141.70960903167725,3.2790000438690186,6.949999999999989,16.92,4.51800012588501 +141.77240705490112,3.2790000438690186,6.949999999999989,18.12,4.51800012588501 +141.77248191833496,3.2790000438690186,7.800000000000011,18.12,4.51800012588501 +141.77341389656067,3.2790000438690186,7.800000000000011,18.12,4.51800012588501 +141.77349090576172,3.2790000438690186,7.800000000000011,18.12,4.51800012588501 +141.80349898338318,3.2769999504089355,7.800000000000011,18.12,4.51800012588501 +141.8035750389099,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.8653838634491,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.8654968738556,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.91040182113647,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.9105019569397,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.97038388252258,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +141.9704749584198,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +142.01244187355042,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +142.0125880241394,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +142.0653760433197,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +142.0654649734497,3.2769999504089355,7.800000000000011,18.12,4.579999923706055 +142.1035828590393,3.2709999084472656,7.800000000000011,18.12,4.579999923706055 +142.10364603996277,3.2709999084472656,7.800000000000011,18.12,4.709000110626221 +142.1635308265686,3.2709999084472656,7.800000000000011,18.12,4.709000110626221 +142.16363501548767,3.2709999084472656,7.800000000000011,18.12,4.709000110626221 +142.20530486106873,3.2669999599456787,7.800000000000011,18.12,4.709000110626221 +142.2053849697113,3.2669999599456787,7.800000000000011,18.12,4.771999835968018 +142.27728295326233,3.2669999599456787,7.800000000000011,18.12,4.771999835968018 +142.27737498283386,3.2669999599456787,7.800000000000011,18.12,4.771999835968018 +142.31122589111328,3.2660000324249268,7.800000000000011,18.12,4.771999835968018 +142.31130003929138,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.37519192695618,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.37527203559875,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.41618585586548,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.41627097129822,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.4662070274353,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.46629190444946,3.2660000324249268,7.800000000000011,18.12,4.836999893188477 +142.51117300987244,3.2639999389648438,7.800000000000011,18.12,4.836999893188477 +142.5112500190735,3.2639999389648438,7.800000000000011,18.12,4.900000095367432 +142.5751519203186,3.2639999389648438,7.800000000000011,18.12,4.900000095367432 +142.57523703575134,3.2639999389648438,7.800000000000011,18.12,4.900000095367432 +142.6161069869995,3.263000011444092,7.800000000000011,18.12,4.900000095367432 +142.61618995666504,3.263000011444092,7.800000000000011,18.12,4.961999893188477 +142.66714692115784,3.263000011444092,7.800000000000011,18.12,4.961999893188477 +142.66726303100586,3.263000011444092,7.800000000000011,18.12,4.961999893188477 +142.71109294891357,3.263000011444092,7.800000000000011,18.12,4.961999893188477 +142.711168050766,3.263000011444092,7.800000000000011,18.12,4.961999893188477 +142.7740819454193,3.263000011444092,7.800000000000011,19.44,4.961999893188477 +142.774178981781,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.77510499954224,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.77519488334656,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.80518102645874,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.80534386634827,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.86704993247986,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.86712098121643,3.263000011444092,7.72999999999999,19.44,4.961999893188477 +142.91102504730225,3.259000062942505,7.72999999999999,19.44,4.961999893188477 +142.91109490394592,3.259000062942505,7.72999999999999,19.44,5.085999965667725 +142.97507500648499,3.259000062942505,7.72999999999999,19.44,5.085999965667725 +142.975172996521,3.259000062942505,7.72999999999999,19.44,5.085999965667725 +143.0051028728485,3.25600004196167,7.72999999999999,19.44,5.085999965667725 +143.00517892837524,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.06696701049805,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.0670349597931,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.1120548248291,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.11212301254272,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.1750419139862,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.1751708984375,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.20505094528198,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.20512986183167,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.26690888404846,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.26697897911072,3.25600004196167,7.72999999999999,19.44,5.150000095367432 +143.31089687347412,3.253000020980835,7.72999999999999,19.44,5.150000095367432 +143.31097602844238,3.253000020980835,7.72999999999999,19.44,5.2789998054504395 +143.37487387657166,3.253000020980835,7.72999999999999,19.44,5.2789998054504395 +143.37495398521423,3.253000020980835,7.72999999999999,19.44,5.2789998054504395 +143.40501284599304,3.252000093460083,7.72999999999999,19.44,5.2789998054504395 +143.40520095825195,3.252000093460083,7.72999999999999,19.44,5.3429999351501465 +143.4679410457611,3.252000093460083,7.72999999999999,19.44,5.3429999351501465 +143.46801495552063,3.252000093460083,7.72999999999999,19.44,5.3429999351501465 +143.51191687583923,3.25,7.72999999999999,19.44,5.3429999351501465 +143.51198387145996,3.25,7.72999999999999,19.44,5.40500020980835 +143.5719130039215,3.25,7.72999999999999,19.44,5.40500020980835 +143.57198286056519,3.25,7.72999999999999,19.44,5.40500020980835 +143.6048228740692,3.25,7.72999999999999,19.44,5.40500020980835 +143.60489201545715,3.25,7.72999999999999,19.44,5.40500020980835 +143.66686582565308,3.25,7.72999999999999,19.44,5.40500020980835 +143.66695284843445,3.25,7.72999999999999,19.44,5.40500020980835 +143.70415782928467,3.249000072479248,7.72999999999999,19.44,5.40500020980835 +143.70422983169556,3.249000072479248,7.72999999999999,19.44,5.4720001220703125 +143.76453399658203,3.249000072479248,7.72999999999999,19.44,5.4720001220703125 +143.76479983329773,3.249000072479248,7.72999999999999,19.44,5.4720001220703125 +143.81673192977905,3.246999979019165,7.72999999999999,19.44,5.4720001220703125 +143.8168249130249,3.246999979019165,7.72999999999999,19.44,5.538000106811523 +143.86878490447998,3.246999979019165,7.72999999999999,19.44,5.538000106811523 +143.86885786056519,3.246999979019165,7.72999999999999,19.44,5.538000106811523 +143.9126799106598,3.246000051498413,7.72999999999999,19.44,5.538000106811523 +143.91275596618652,3.246000051498413,7.72999999999999,19.44,5.605999946594238 +143.97606801986694,3.246000051498413,7.72999999999999,19.44,5.605999946594238 +143.9761519432068,3.246000051498413,7.72999999999999,19.44,5.605999946594238 +144.0177240371704,3.246000051498413,7.72999999999999,19.44,5.605999946594238 +144.01780891418457,3.246000051498413,7.72999999999999,19.44,5.605999946594238 +144.06870102882385,3.246000051498413,7.72999999999999,20.52,5.605999946594238 +144.06875896453857,3.246000051498413,7.699999999999989,20.52,5.605999946594238 +144.06962394714355,3.246000051498413,7.699999999999989,20.52,5.605999946594238 +144.0696840286255,3.246000051498413,7.699999999999989,20.52,5.605999946594238 +144.1126458644867,3.243000030517578,7.699999999999989,20.52,5.605999946594238 +144.1127529144287,3.243000030517578,7.699999999999989,20.52,5.670000076293945 +144.1766140460968,3.243000030517578,7.699999999999989,20.52,5.670000076293945 +144.1767020225525,3.243000030517578,7.699999999999989,20.52,5.670000076293945 +144.21765899658203,3.242000102996826,7.699999999999989,20.52,5.670000076293945 +144.21774697303772,3.242000102996826,7.699999999999989,20.52,5.735000133514404 +144.26856589317322,3.242000102996826,7.699999999999989,20.52,5.735000133514404 +144.26864004135132,3.242000102996826,7.699999999999989,20.52,5.735000133514404 +144.31254601478577,3.23799991607666,7.699999999999989,20.52,5.735000133514404 +144.3126199245453,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.3765149116516,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.37659192085266,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.41856503486633,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.41869401931763,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.4692509174347,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.4693820476532,3.23799991607666,7.699999999999989,20.52,5.796000003814697 +144.51265287399292,3.2330000400543213,7.699999999999989,20.52,5.796000003814697 +144.5127718448639,3.2330000400543213,7.699999999999989,20.52,5.85699987411499 +144.5764570236206,3.2330000400543213,7.699999999999989,20.52,5.85699987411499 +144.5765368938446,3.2330000400543213,7.699999999999989,20.52,5.85699987411499 +144.60663890838623,3.2300000190734863,7.699999999999989,20.52,5.85699987411499 +144.60685682296753,3.2300000190734863,7.699999999999989,20.52,5.915999889373779 +144.66842794418335,3.2300000190734863,7.699999999999989,20.52,5.915999889373779 +144.66850304603577,3.2300000190734863,7.699999999999989,20.52,5.915999889373779 +144.7124538421631,3.2260000705718994,7.699999999999989,20.52,5.915999889373779 +144.71257996559143,3.2260000705718994,7.699999999999989,20.52,5.974999904632568 +144.77544403076172,3.2260000705718994,7.699999999999989,22.03,5.974999904632568 +144.775554895401,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.776428937912,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.77653002738953,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.8064670562744,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.80654382705688,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.86842584609985,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.86848902702332,3.2260000705718994,7.77000000000001,22.03,5.974999904632568 +144.91245198249817,3.2230000495910645,7.77000000000001,22.03,5.974999904632568 +144.91256499290466,3.2230000495910645,7.77000000000001,22.03,6.035999774932861 +144.97632789611816,3.2230000495910645,7.77000000000001,22.03,6.035999774932861 +144.9764049053192,3.2230000495910645,7.77000000000001,22.03,6.035999774932861 +145.00644183158875,3.2200000286102295,7.77000000000001,22.03,6.035999774932861 +145.0065360069275,3.2200000286102295,7.77000000000001,22.03,6.0980000495910645 +145.0673189163208,3.2200000286102295,7.77000000000001,22.03,6.0980000495910645 +145.0674078464508,3.2200000286102295,7.77000000000001,22.03,6.0980000495910645 +145.10360598564148,3.2160000801086426,7.77000000000001,22.03,6.0980000495910645 +145.10368299484253,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.1635639667511,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.1636459827423,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.20733094215393,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.20740795135498,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.25926303863525,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.25937485694885,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.30522298812866,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.30532598495483,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.34519791603088,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.3452799320221,3.2160000801086426,7.77000000000001,22.03,6.159999847412109 +145.40839791297913,3.2070000171661377,7.77000000000001,22.03,6.159999847412109 +145.40856099128723,3.2070000171661377,7.77000000000001,22.03,6.283999919891357 +145.46016001701355,3.2070000171661377,7.77000000000001,22.03,6.283999919891357 +145.46024084091187,3.2070000171661377,7.77000000000001,22.03,6.283999919891357 +145.5061309337616,3.203000068664551,7.77000000000001,22.03,6.283999919891357 +145.50620794296265,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.54614400863647,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.54623699188232,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.60921692848206,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.60930800437927,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.66108202934265,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.66119289398193,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.69621801376343,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.69632291793823,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.74621891975403,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.7462978363037,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.79006600379944,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.79014682769775,3.203000068664551,7.77000000000001,22.03,6.3480000495910645 +145.81013894081116,3.2009999752044678,7.77000000000001,22.03,6.3480000495910645 +145.81022095680237,3.2009999752044678,7.77000000000001,22.03,6.479000091552734 +145.86201786994934,3.2009999752044678,7.77000000000001,22.03,6.479000091552734 +145.86209082603455,3.2009999752044678,7.77000000000001,22.03,6.479000091552734 +145.9081108570099,3.197999954223633,7.77000000000001,22.03,6.479000091552734 +145.90820598602295,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +145.9480938911438,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +145.94818496704102,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +146.01105093955994,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +146.0111219882965,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +146.04498386383057,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +146.04506993293762,3.197999954223633,7.77000000000001,22.03,6.543000221252441 +146.07303500175476,3.197999954223633,7.77000000000001,23.3,6.543000221252441 +146.07309293746948,3.197999954223633,7.860000000000014,23.3,6.543000221252441 +146.10801792144775,3.197999954223633,7.860000000000014,23.3,6.543000221252441 +146.10809302330017,3.197999954223633,7.860000000000014,23.3,6.543000221252441 +146.1480758190155,3.197999954223633,7.860000000000014,23.3,6.543000221252441 +146.14817190170288,3.197999954223633,7.860000000000014,23.3,6.543000221252441 +146.21112895011902,3.197000026702881,7.860000000000014,23.3,6.543000221252441 +146.21137285232544,3.197000026702881,7.860000000000014,23.3,6.675000190734863 +146.2442548274994,3.197000026702881,7.860000000000014,23.3,6.675000190734863 +146.24435997009277,3.197000026702881,7.860000000000014,23.3,6.675000190734863 +146.3079400062561,3.194000005722046,7.860000000000014,23.3,6.675000190734863 +146.30800795555115,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.3479769229889,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.34805583953857,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.40883493423462,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.4089069366455,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.45884490013123,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.45894384384155,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.50880694389343,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.50892090797424,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.54883193969727,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.54895186424255,3.194000005722046,7.860000000000014,23.3,6.745999813079834 +146.61183404922485,3.191999912261963,7.860000000000014,23.3,6.745999813079834 +146.6119029521942,3.191999912261963,7.860000000000014,23.3,6.885000228881836 +146.64402294158936,3.191999912261963,7.860000000000014,23.3,6.885000228881836 +146.64410781860352,3.191999912261963,7.860000000000014,23.3,6.885000228881836 +146.70972299575806,3.190000057220459,7.860000000000014,23.3,6.885000228881836 +146.7097990512848,3.190000057220459,7.860000000000014,23.3,6.954999923706055 +146.74977087974548,3.190000057220459,7.860000000000014,23.3,6.954999923706055 +146.74988985061646,3.190000057220459,7.860000000000014,23.3,6.954999923706055 +146.78168892860413,3.190000057220459,7.860000000000014,24.29,6.954999923706055 +146.7817668914795,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.812894821167,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.81304383277893,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.8450469970703,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.84512495994568,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.9106638431549,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.91074085235596,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.95066285133362,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +146.95075488090515,3.190000057220459,7.819999999999993,24.29,6.954999923706055 +147.00394582748413,3.184000015258789,7.819999999999993,24.29,6.954999923706055 +147.0040168762207,3.184000015258789,7.819999999999993,24.29,7.086999893188477 +147.04561591148376,3.184000015258789,7.819999999999993,24.29,7.086999893188477 +147.04569697380066,3.184000015258789,7.819999999999993,24.29,7.086999893188477 +147.10417795181274,3.178999900817871,7.819999999999993,24.29,7.086999893188477 +147.10426783561707,3.178999900817871,7.819999999999993,24.29,7.14900016784668 +147.1640748977661,3.178999900817871,7.819999999999993,24.29,7.14900016784668 +147.16419196128845,3.178999900817871,7.819999999999993,24.29,7.14900016784668 +147.2055790424347,3.174999952316284,7.819999999999993,24.29,7.14900016784668 +147.20564889907837,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.27764797210693,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.2777349948883,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.31158685684204,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.31165289878845,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.3715479373932,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.37165188789368,3.174999952316284,7.819999999999993,24.29,7.211999893188477 +147.40564703941345,3.1740000247955322,7.819999999999993,24.29,7.211999893188477 +147.40572905540466,3.1740000247955322,7.819999999999993,24.29,7.275000095367432 +147.4676079750061,3.1740000247955322,7.819999999999993,24.29,7.275000095367432 +147.46771097183228,3.1740000247955322,7.819999999999993,24.29,7.275000095367432 +147.5114848613739,3.1730000972747803,7.819999999999993,24.29,7.275000095367432 +147.5116138458252,3.1730000972747803,7.819999999999993,24.29,7.3379998207092285 +147.5724859237671,3.1730000972747803,7.819999999999993,24.29,7.3379998207092285 +147.57263088226318,3.1730000972747803,7.819999999999993,24.29,7.3379998207092285 +147.60443782806396,3.1700000762939453,7.819999999999993,24.29,7.3379998207092285 +147.60450792312622,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.6676459312439,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.66777086257935,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.71239590644836,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.71247005462646,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.77251601219177,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.77265286445618,3.1700000762939453,7.819999999999993,24.29,7.39900016784668 +147.7844259738922,3.1700000762939453,7.819999999999993,25.92,7.39900016784668 +147.78451490402222,3.1700000762939453,7.949999999999989,25.92,7.39900016784668 +147.80635786056519,3.1659998893737793,7.949999999999989,25.92,7.39900016784668 +147.8064239025116,3.1659998893737793,7.949999999999989,25.92,7.466000080108643 +147.86741089820862,3.1659998893737793,7.949999999999989,25.92,7.466000080108643 +147.86748695373535,3.1659998893737793,7.949999999999989,25.92,7.466000080108643 +147.91249203681946,3.1630001068115234,7.949999999999989,25.92,7.466000080108643 +147.9125669002533,3.1630001068115234,7.949999999999989,25.92,7.5279998779296875 +147.97235703468323,3.1630001068115234,7.949999999999989,25.92,7.5279998779296875 +147.97243785858154,3.1630001068115234,7.949999999999989,25.92,7.5279998779296875 +148.00539588928223,3.1579999923706055,7.949999999999989,25.92,7.5279998779296875 +148.0054588317871,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.063649892807,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.06372785568237,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.10353589057922,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.10364294052124,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.16346096992493,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.16352200508118,3.1579999923706055,7.949999999999989,25.92,7.5960001945495605 +148.20729994773865,3.1559998989105225,7.949999999999989,25.92,7.5960001945495605 +148.20737195014954,3.1559998989105225,7.949999999999989,25.92,7.664000034332275 +148.2691969871521,3.1559998989105225,7.949999999999989,25.92,7.664000034332275 +148.26927590370178,3.1559998989105225,7.949999999999989,25.92,7.664000034332275 +148.30351901054382,3.1549999713897705,7.949999999999989,25.92,7.664000034332275 +148.30362701416016,3.1549999713897705,7.949999999999989,25.92,7.723999977111816 +148.36341905593872,3.1549999713897705,7.949999999999989,25.92,7.723999977111816 +148.36349391937256,3.1549999713897705,7.949999999999989,25.92,7.723999977111816 +148.40816402435303,3.1540000438690186,7.949999999999989,25.92,7.723999977111816 +148.40825700759888,3.1540000438690186,7.949999999999989,25.92,7.785999774932861 +148.46919083595276,3.1540000438690186,7.949999999999989,25.92,7.785999774932861 +148.46928882598877,3.1540000438690186,7.949999999999989,25.92,7.785999774932861 +148.50354194641113,3.1519999504089355,7.949999999999989,25.92,7.785999774932861 +148.50364184379578,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.5633659362793,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.56343984603882,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.60715699195862,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.60722994804382,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.66905999183655,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.66913390159607,3.1519999504089355,7.949999999999989,25.92,7.843999862670898 +148.70550203323364,3.1500000953674316,7.949999999999989,25.92,7.843999862670898 +148.70564889907837,3.1500000953674316,7.949999999999989,25.92,7.9019999504089355 +148.7658770084381,3.1500000953674316,7.949999999999989,25.92,7.9019999504089355 +148.7660689353943,3.1500000953674316,7.949999999999989,25.92,7.9019999504089355 +148.77713584899902,3.1500000953674316,7.949999999999989,27.0,7.9019999504089355 +148.77721095085144,3.1500000953674316,8.009999999999991,27.0,7.9019999504089355 +148.80921387672424,3.1470000743865967,8.009999999999991,27.0,7.9019999504089355 +148.8093240261078,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.86399292945862,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.86406993865967,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.90403199195862,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.90414690971375,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.94401788711548,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +148.94417595863342,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +149.00706696510315,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +149.007159948349,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +149.04892802238464,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +149.04900193214417,3.1470000743865967,8.009999999999991,27.0,7.959000110626221 +149.10413599014282,3.13700008392334,8.009999999999991,27.0,7.959000110626221 +149.10425305366516,3.13700008392334,8.009999999999991,27.0,8.081000328063965 +149.16496801376343,3.13700008392334,8.009999999999991,27.0,8.081000328063965 +149.16504192352295,3.13700008392334,8.009999999999991,27.0,8.081000328063965 +149.2079050540924,3.132999897003174,8.009999999999991,27.0,8.081000328063965 +149.20800495147705,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.26986289024353,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.26993203163147,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.30416989326477,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.30428004264832,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.34411096572876,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.34419703483582,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.4079029560089,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.4080069065094,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.44979691505432,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.44986391067505,3.132999897003174,8.009999999999991,27.0,8.145000457763672 +149.50487995147705,3.125999927520752,8.009999999999991,27.0,8.145000457763672 +149.50497794151306,3.125999927520752,8.009999999999991,27.0,8.270000457763672 +149.56491589546204,3.125999927520752,8.009999999999991,27.0,8.270000457763672 +149.56503701210022,3.125999927520752,8.009999999999991,27.0,8.270000457763672 +149.60775899887085,3.121999979019165,8.009999999999991,27.0,8.270000457763672 +149.60783982276917,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.6718249320984,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.67195582389832,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.70498991012573,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.7050919532776,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.76478004455566,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.7648549079895,3.121999979019165,8.009999999999991,27.0,8.329000473022461 +149.77777004241943,3.121999979019165,8.009999999999991,28.38,8.329000473022461 +149.7778480052948,3.121999979019165,8.090000000000003,28.38,8.329000473022461 +149.80867099761963,3.121999979019165,8.090000000000003,28.38,8.329000473022461 +149.808739900589,3.121999979019165,8.090000000000003,28.38,8.329000473022461 +149.87181186676025,3.121999979019165,8.090000000000003,28.38,8.329000473022461 +149.87195491790771,3.121999979019165,8.090000000000003,28.38,8.329000473022461 +149.9056739807129,3.115000009536743,8.090000000000003,28.38,8.329000473022461 +149.90578198432922,3.115000009536743,8.090000000000003,28.38,8.444999694824219 +149.965637922287,3.115000009536743,8.090000000000003,28.38,8.444999694824219 +149.96573901176453,3.115000009536743,8.090000000000003,28.38,8.444999694824219 +150.009596824646,3.114000082015991,8.090000000000003,28.38,8.444999694824219 +150.00966382026672,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.0716848373413,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.0718138217926,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.10556983947754,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.1056740283966,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.1655879020691,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.16569089889526,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.20955395698547,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.20963096618652,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.2716269493103,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.27175998687744,3.114000082015991,8.090000000000003,28.38,8.505999565124512 +150.30552291870117,3.1110000610351562,8.090000000000003,28.38,8.505999565124512 +150.30562090873718,3.1110000610351562,8.090000000000003,28.38,8.623000144958496 +150.36547899246216,3.1110000610351562,8.090000000000003,28.38,8.623000144958496 +150.36555695533752,3.1110000610351562,8.090000000000003,28.38,8.623000144958496 +150.40946102142334,3.1070001125335693,8.090000000000003,28.38,8.623000144958496 +150.40952801704407,3.1070001125335693,8.090000000000003,28.38,8.680000305175781 +150.4714629650116,3.1070001125335693,8.090000000000003,28.38,8.680000305175781 +150.47154593467712,3.1070001125335693,8.090000000000003,28.38,8.680000305175781 +150.50546503067017,3.1050000190734863,8.090000000000003,28.38,8.680000305175781 +150.5055708885193,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.56546592712402,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.56555485725403,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.60939693450928,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.60946202278137,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.6713650226593,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.67143201828003,3.1050000190734863,8.090000000000003,28.38,8.734999656677246 +150.70537495613098,3.1040000915527344,8.090000000000003,28.38,8.734999656677246 +150.7054738998413,3.1040000915527344,8.090000000000003,28.38,8.793999671936035 +150.7653579711914,3.1040000915527344,8.090000000000003,28.38,8.793999671936035 +150.7654368877411,3.1040000915527344,8.090000000000003,28.38,8.793999671936035 +150.778568983078,3.1040000915527344,8.090000000000003,29.43,8.793999671936035 +150.77873396873474,3.1040000915527344,8.090000000000003,29.43,8.793999671936035 +150.80931401252747,3.1040000915527344,8.090000000000003,29.43,8.793999671936035 +150.80938291549683,3.1040000915527344,8.090000000000003,29.43,8.855999946594238 +150.871328830719,3.1040000915527344,8.090000000000003,29.43,8.855999946594238 +150.87141299247742,3.1040000915527344,8.090000000000003,29.43,8.855999946594238 +150.90638089179993,3.1050000190734863,8.090000000000003,29.43,8.855999946594238 +150.90647983551025,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +150.9663589000702,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +150.9664340019226,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.00926995277405,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.0093400478363,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.0712490081787,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.07132983207703,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.10523986816406,3.1050000190734863,8.090000000000003,29.43,8.918000221252441 +151.10534691810608,3.1050000190734863,8.090000000000003,29.43,8.97599983215332 +151.16523003578186,3.1050000190734863,8.090000000000003,29.43,8.97599983215332 +151.16531085968018,3.1050000190734863,8.090000000000003,29.43,8.97599983215332 +151.20919704437256,3.1059999465942383,8.090000000000003,29.43,8.97599983215332 +151.2092719078064,3.1059999465942383,8.090000000000003,29.43,9.03600025177002 +151.27123284339905,3.1059999465942383,8.090000000000003,29.43,9.03600025177002 +151.27139401435852,3.1059999465942383,8.090000000000003,29.43,9.03600025177002 +151.3064408302307,3.1059999465942383,8.090000000000003,29.43,9.03600025177002 +151.30654382705688,3.1059999465942383,8.090000000000003,29.43,9.098999977111816 +151.36637592315674,3.1059999465942383,8.090000000000003,29.43,9.098999977111816 +151.36645889282227,3.1059999465942383,8.090000000000003,29.43,9.098999977111816 +151.40916395187378,3.1089999675750732,8.090000000000003,29.43,9.098999977111816 +151.40924787521362,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.47112488746643,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.47120594978333,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.50615692138672,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.5062539577484,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.56617188453674,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.5662648677826,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.60907196998596,3.1089999675750732,8.090000000000003,29.43,9.163000106811523 +151.60914182662964,3.1089999675750732,8.090000000000003,29.43,9.220000267028809 +151.6710319519043,3.1089999675750732,8.090000000000003,29.43,9.220000267028809 +151.67110395431519,3.1089999675750732,8.090000000000003,29.43,9.220000267028809 +151.70610189437866,3.1059999465942383,8.090000000000003,29.43,9.220000267028809 +151.70620393753052,3.1059999465942383,8.090000000000003,29.43,9.258000373840332 +151.7661349773407,3.1059999465942383,8.090000000000003,29.43,9.258000373840332 +151.76624989509583,3.1059999465942383,8.090000000000003,29.43,9.258000373840332 +151.77806091308594,3.1059999465942383,8.090000000000003,29.81,9.258000373840332 +151.77813982963562,3.1059999465942383,8.030000000000001,29.81,9.258000373840332 +151.81004095077515,3.1080000400543213,8.030000000000001,29.81,9.258000373840332 +151.81013894081116,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.8720989227295,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.87222003936768,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.90602684020996,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.90611696243286,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.96619296073914,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +151.96631503105164,3.1080000400543213,8.030000000000001,29.81,9.298999786376953 +152.00990796089172,3.1089999675750732,8.030000000000001,29.81,9.298999786376953 +152.00997805595398,3.1089999675750732,8.030000000000001,29.81,9.37399959564209 +152.07469201087952,3.1089999675750732,8.030000000000001,29.81,9.37399959564209 +152.07480096817017,3.1089999675750732,8.030000000000001,29.81,9.37399959564209 +152.1059548854828,3.117000102996826,8.030000000000001,29.81,9.37399959564209 +152.10604596138,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.14595293998718,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.14604496955872,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.20886182785034,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.2089319229126,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.27112698554993,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.2712390422821,3.117000102996826,8.030000000000001,29.81,9.4399995803833 +152.30589699745178,3.128000020980835,8.030000000000001,29.81,9.4399995803833 +152.30604100227356,3.128000020980835,8.030000000000001,29.81,9.496999740600586 +152.36678290367126,3.128000020980835,8.030000000000001,29.81,9.496999740600586 +152.36683797836304,3.128000020980835,8.030000000000001,29.81,9.496999740600586 +152.40980696678162,3.128000020980835,8.030000000000001,29.81,9.496999740600586 +152.40991401672363,3.128000020980835,8.030000000000001,29.81,9.53499984741211 +152.4744369983673,3.128000020980835,8.030000000000001,29.81,9.53499984741211 +152.47455596923828,3.128000020980835,8.030000000000001,29.81,9.53499984741211 +152.50675892829895,3.134000062942505,8.030000000000001,29.81,9.53499984741211 +152.50685691833496,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.56671595573425,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.56679391860962,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.60972499847412,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.60979795455933,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.65172004699707,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.6518030166626,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.7067198753357,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.70683097839355,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.7666778564453,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.7667670249939,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.78863787651062,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.78874397277832,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.80966186523438,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.80973291397095,3.134000062942505,8.030000000000001,29.81,9.565999984741211 +152.83174085617065,3.127000093460083,8.030000000000001,29.81,9.565999984741211 +152.8318748474121,3.127000093460083,8.030000000000001,29.81,9.619000434875488 +152.87169003486633,3.127000093460083,8.030000000000001,29.81,9.619000434875488 +152.87177681922913,3.127000093460083,8.030000000000001,29.81,9.619000434875488 +152.90670084953308,3.118000030517578,8.030000000000001,29.81,9.619000434875488 +152.9068009853363,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +152.96673393249512,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +152.96681594848633,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.01062893867493,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.0107159614563,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.07475900650024,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.07487797737122,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.10674500465393,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.1068470478058,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.1665120124817,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.16658902168274,3.118000030517578,8.030000000000001,29.81,9.64799976348877 +153.2095239162445,3.1110000610351562,8.030000000000001,29.81,9.64799976348877 +153.20959401130676,3.1110000610351562,8.030000000000001,29.81,9.664999961853027 +153.2714970111847,3.1110000610351562,8.030000000000001,29.81,9.664999961853027 +153.27157497406006,3.1110000610351562,8.030000000000001,29.81,9.664999961853027 +153.30750584602356,3.1050000190734863,8.030000000000001,29.81,9.664999961853027 +153.30761098861694,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.36748099327087,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.36757802963257,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.40963983535767,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.4097249507904,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.46641302108765,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.46649599075317,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.50645685195923,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.50657296180725,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.56638503074646,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.56646299362183,3.1050000190734863,8.030000000000001,29.81,9.645999908447266 +153.6029088497162,3.1019999980926514,8.030000000000001,29.81,9.645999908447266 +153.60302782058716,3.1019999980926514,8.030000000000001,29.81,9.618000030517578 +153.67475199699402,3.1019999980926514,8.030000000000001,29.81,9.618000030517578 +153.67488384246826,3.1019999980926514,8.030000000000001,29.81,9.618000030517578 +153.70737195014954,3.0969998836517334,8.030000000000001,29.81,9.618000030517578 +153.70749282836914,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.7473340034485,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.74742698669434,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.79028582572937,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.79036498069763,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.8113570213318,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.81145000457764,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.8746109008789,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.8747320175171,3.0969998836517334,8.030000000000001,29.81,9.611000061035156 +153.90872883796692,3.0910000801086426,8.030000000000001,29.81,9.611000061035156 +153.90889191627502,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +153.9682469367981,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +153.968327999115,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.01061987876892,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.0107479095459,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.05222296714783,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.05229592323303,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.10719203948975,3.0910000801086426,8.030000000000001,29.81,9.592000007629395 +154.1072838306427,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.16717791557312,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.16725897789001,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.2111840248108,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.21126103401184,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.2531340122223,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.25320196151733,3.0910000801086426,8.030000000000001,29.81,9.583999633789062 +154.30913305282593,3.0980000495910645,8.030000000000001,29.81,9.583999633789062 +154.30922484397888,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.3690948486328,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.36916399002075,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.41308188438416,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.4131510257721,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.47532105445862,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.47544384002686,3.0980000495910645,8.030000000000001,29.81,9.586999893188477 +154.50906085968018,3.0969998836517334,8.030000000000001,29.81,9.586999893188477 +154.50915598869324,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.57113599777222,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.57120203971863,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.61202597618103,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.6120958328247,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.66899490356445,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.66907501220703,3.0969998836517334,8.030000000000001,29.81,9.592000007629395 +154.70900893211365,3.121000051498413,8.030000000000001,29.81,9.592000007629395 +154.70909905433655,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.7689709663391,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.76904392242432,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.79093503952026,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.79101490974426,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.81395888328552,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.8140139579773,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.8751838207245,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.8753080368042,3.121000051498413,8.030000000000001,29.81,9.612000465393066 +154.9110288619995,3.135999917984009,8.030000000000001,29.81,9.612000465393066 +154.91110181808472,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +154.97089385986328,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +154.97095704078674,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +155.01388502120972,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +155.01394391059875,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +155.07088494300842,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +155.07096982002258,3.135999917984009,8.030000000000001,29.81,9.638999938964844 +155.1108570098877,3.1670000553131104,8.030000000000001,29.81,9.638999938964844 +155.1109390258789,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.17182993888855,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.17191004753113,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.20507287979126,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.205148935318,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.2760829925537,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.276202917099,3.1670000553131104,8.030000000000001,29.81,9.739999771118164 +155.31178784370422,3.1740000247955322,8.030000000000001,29.81,9.739999771118164 +155.31188201904297,3.1740000247955322,8.030000000000001,29.81,9.803999900817871 +155.37175703048706,3.1740000247955322,8.030000000000001,29.81,9.803999900817871 +155.37183785438538,3.1740000247955322,8.030000000000001,29.81,9.803999900817871 +155.4059660434723,3.184000015258789,8.030000000000001,29.81,9.803999900817871 +155.4060549736023,3.184000015258789,8.030000000000001,29.81,9.876999855041504 +155.4779918193817,3.184000015258789,8.030000000000001,29.81,9.876999855041504 +155.4781038761139,3.184000015258789,8.030000000000001,29.81,9.876999855041504 +155.51378893852234,3.190999984741211,8.030000000000001,29.81,9.876999855041504 +155.51390504837036,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.5751838684082,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.5753140449524,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.60677099227905,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.6068470478058,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.67869591712952,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.67879486083984,3.190999984741211,8.030000000000001,29.81,9.958000183105469 +155.71265697479248,3.197999954223633,8.030000000000001,29.81,9.958000183105469 +155.71275091171265,3.197999954223633,8.030000000000001,29.81,10.043000221252441 +155.7758710384369,3.197999954223633,8.030000000000001,29.81,10.043000221252441 +155.77597784996033,3.197999954223633,8.030000000000001,29.81,10.043000221252441 +155.78478002548218,3.197999954223633,8.030000000000001,29.81,10.043000221252441 +155.78485298156738,3.197999954223633,8.030000000000001,29.81,10.043000221252441 +155.80661988258362,3.2139999866485596,8.030000000000001,29.81,10.043000221252441 +155.8066840171814,3.2139999866485596,8.030000000000001,29.81,10.130000114440918 +155.8787989616394,3.2139999866485596,8.030000000000001,29.81,10.130000114440918 +155.87895584106445,3.2139999866485596,8.030000000000001,29.81,10.130000114440918 +155.91359996795654,3.2300000190734863,8.030000000000001,29.81,10.130000114440918 +155.91369605064392,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +155.97369694709778,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +155.97383284568787,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +156.00753498077393,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +156.00761103630066,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +156.07855582237244,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +156.0786578655243,3.2300000190734863,8.030000000000001,29.81,10.197999954223633 +156.11354684829712,3.243000030517578,8.030000000000001,29.81,10.197999954223633 +156.1136598587036,3.243000030517578,8.030000000000001,29.81,10.25100040435791 +156.17514896392822,3.243000030517578,8.030000000000001,29.81,10.25100040435791 +156.17526984214783,3.243000030517578,8.030000000000001,29.81,10.25100040435791 +156.20568895339966,3.253999948501587,8.030000000000001,29.81,10.25100040435791 +156.2057569026947,3.253999948501587,8.030000000000001,29.81,10.291000366210938 +156.27483701705933,3.253999948501587,8.030000000000001,29.81,10.291000366210938 +156.2749629020691,3.253999948501587,8.030000000000001,29.81,10.291000366210938 +156.31244802474976,3.25600004196167,8.030000000000001,29.81,10.291000366210938 +156.31254601478577,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.37480783462524,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.374902009964,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.40562295913696,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.4057219028473,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.4747610092163,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.47485494613647,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.51337003707886,3.25600004196167,8.030000000000001,29.81,10.315999984741211 +156.5134618282318,3.25600004196167,8.030000000000001,29.81,10.331999778747559 +156.56475496292114,3.25600004196167,8.030000000000001,29.81,10.331999778747559 +156.56487584114075,3.25600004196167,8.030000000000001,29.81,10.331999778747559 +156.60733485221863,3.252000093460083,8.030000000000001,29.81,10.331999778747559 +156.60764503479004,3.252000093460083,8.030000000000001,29.81,10.32800006866455 +156.64943599700928,3.252000093460083,8.030000000000001,29.81,10.32800006866455 +156.6495749950409,3.252000093460083,8.030000000000001,29.81,10.32800006866455 +156.7143988609314,3.243000030517578,8.030000000000001,29.81,10.32800006866455 +156.71453189849854,3.243000030517578,8.030000000000001,29.81,10.315999984741211 +156.77444195747375,3.243000030517578,8.030000000000001,29.81,10.315999984741211 +156.77456998825073,3.243000030517578,8.030000000000001,29.81,10.315999984741211 +156.78539204597473,3.243000030517578,8.030000000000001,29.81,10.315999984741211 +156.7854619026184,3.243000030517578,8.030000000000001,29.81,10.315999984741211 +156.80926489830017,3.2300000190734863,8.030000000000001,29.81,10.315999984741211 +156.80933594703674,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.88249802589417,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.8826138973236,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.9154989719391,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.91559386253357,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.96539998054504,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +156.9654779434204,3.2300000190734863,8.030000000000001,29.81,10.303000450134277 +157.00824403762817,3.2179999351501465,8.030000000000001,29.81,10.303000450134277 +157.00832796096802,3.2179999351501465,8.030000000000001,29.81,10.291000366210938 +157.08119201660156,3.2179999351501465,8.030000000000001,29.81,10.291000366210938 +157.0813000202179,3.2179999351501465,8.030000000000001,29.81,10.291000366210938 +157.11416387557983,3.2230000495910645,8.030000000000001,29.81,10.291000366210938 +157.11425805091858,3.2230000495910645,8.030000000000001,29.81,10.28499984741211 +157.17420101165771,3.2230000495910645,8.030000000000001,29.81,10.28499984741211 +157.17426896095276,3.2230000495910645,8.030000000000001,29.81,10.28499984741211 +157.20814204216003,3.2330000400543213,8.030000000000001,29.81,10.28499984741211 +157.20821285247803,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.28119587898254,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.2813630104065,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.31619381904602,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.31628489494324,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.3663148880005,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.36641001701355,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.41008496284485,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.41016387939453,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.48110485076904,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.48127794265747,3.2330000400543213,8.030000000000001,29.81,10.293999671936035 +157.51622200012207,3.253999948501587,8.030000000000001,29.81,10.293999671936035 +157.51631903648376,3.253999948501587,8.030000000000001,29.81,10.354000091552734 +157.56626892089844,3.253999948501587,8.030000000000001,29.81,10.354000091552734 +157.5663459300995,3.253999948501587,8.030000000000001,29.81,10.354000091552734 +157.61000800132751,3.256999969482422,8.030000000000001,29.81,10.354000091552734 +157.61008381843567,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.681382894516,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.6815140247345,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.7161259651184,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.71621990203857,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.76609992980957,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.766175031662,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.78593683242798,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.78603100776672,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.80991888046265,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.80998182296753,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.8819499015808,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.882071018219,3.256999969482422,8.030000000000001,29.81,10.40999984741211 +157.91597700119019,3.26200008392334,8.030000000000001,29.81,10.40999984741211 +157.91606903076172,3.26200008392334,8.030000000000001,29.81,10.550000190734863 +157.96687984466553,3.26200008392334,8.030000000000001,29.81,10.550000190734863 +157.96695494651794,3.26200008392334,8.030000000000001,29.81,10.550000190734863 +158.0089168548584,3.2660000324249268,8.030000000000001,29.81,10.550000190734863 +158.00899291038513,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.08100605010986,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.08113503456116,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.11691284179688,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.11700701713562,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.16687893867493,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.16694688796997,3.2660000324249268,8.030000000000001,29.81,10.630999565124512 +158.20980191230774,3.2709999084472656,8.030000000000001,29.81,10.630999565124512 +158.20986700057983,3.2709999084472656,8.030000000000001,29.81,10.710000038146973 +158.25189805030823,3.2709999084472656,8.030000000000001,29.81,10.710000038146973 +158.2519760131836,3.2709999084472656,8.030000000000001,29.81,10.710000038146973 +158.31686782836914,3.2769999504089355,8.030000000000001,29.81,10.710000038146973 +158.31697797775269,3.2769999504089355,8.030000000000001,29.81,10.78600025177002 +158.36680698394775,3.2769999504089355,8.030000000000001,29.81,10.78600025177002 +158.36687898635864,3.2769999504089355,8.030000000000001,29.81,10.78600025177002 +158.4108428955078,3.2809998989105225,8.030000000000001,29.81,10.78600025177002 +158.41093492507935,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.4818148612976,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.4819438457489,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.5169379711151,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.51704788208008,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.56673383712769,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.56680297851562,3.2809998989105225,8.030000000000001,29.81,10.854000091552734 +158.61067700386047,3.2839999198913574,8.030000000000001,29.81,10.854000091552734 +158.61077284812927,3.2839999198913574,8.030000000000001,29.81,10.920000076293945 +158.68399000167847,3.2839999198913574,8.030000000000001,29.81,10.920000076293945 +158.68411302566528,3.2839999198913574,8.030000000000001,29.81,10.920000076293945 +158.70382690429688,3.2890000343322754,8.030000000000001,29.81,10.920000076293945 +158.70389890670776,3.2890000343322754,8.030000000000001,29.81,10.98799991607666 +158.76862287521362,3.2890000343322754,8.030000000000001,29.81,10.98799991607666 +158.7686870098114,3.2890000343322754,8.030000000000001,29.81,10.98799991607666 +158.78659796714783,3.2890000343322754,8.030000000000001,35.37,10.98799991607666 +158.78668785095215,3.2890000343322754,6.439999999999998,35.37,10.98799991607666 +158.81261086463928,3.2920000553131104,6.439999999999998,35.37,10.98799991607666 +158.81270289421082,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.86375093460083,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.86381697654724,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.9037380218506,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.90380787849426,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.9685308933258,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +158.9685938358307,3.2920000553131104,6.439999999999998,35.37,11.052000045776367 +159.01152396202087,3.2960000038146973,6.439999999999998,35.37,11.052000045776367 +159.01158785820007,3.2960000038146973,6.439999999999998,35.37,11.11299991607666 +159.08482384681702,3.2960000038146973,6.439999999999998,35.37,11.11299991607666 +159.0849449634552,3.2960000038146973,6.439999999999998,35.37,11.11299991607666 +159.10473489761353,3.302000045776367,6.439999999999998,35.37,11.11299991607666 +159.10480904579163,3.302000045776367,6.439999999999998,35.37,11.173999786376953 +159.17045497894287,3.302000045776367,6.439999999999998,35.37,11.173999786376953 +159.1705129146576,3.302000045776367,6.439999999999998,35.37,11.173999786376953 +159.21355199813843,3.305999994277954,6.439999999999998,35.37,11.173999786376953 +159.21364498138428,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.26659202575684,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.2666928768158,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.30551600456238,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.30558896064758,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.37138891220093,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.37145400047302,3.305999994277954,6.439999999999998,35.37,11.236000061035156 +159.41338801383972,3.309000015258789,6.439999999999998,35.37,11.236000061035156 +159.4134500026703,3.309000015258789,6.439999999999998,35.37,11.303000450134277 +159.4654438495636,3.309000015258789,6.439999999999998,35.37,11.303000450134277 +159.4655158519745,3.309000015258789,6.439999999999998,35.37,11.303000450134277 +159.50542998313904,3.312999963760376,6.439999999999998,35.37,11.303000450134277 +159.5055010318756,3.312999963760376,6.439999999999998,35.37,11.371999740600586 +159.57047700881958,3.312999963760376,6.439999999999998,35.37,11.371999740600586 +159.5705919265747,3.312999963760376,6.439999999999998,35.37,11.371999740600586 +159.61331987380981,3.316999912261963,6.439999999999998,35.37,11.371999740600586 +159.61346101760864,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.66564989089966,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.66572499275208,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.70565390586853,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.7057318687439,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.7712860107422,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.77143001556396,3.316999912261963,6.439999999999998,35.37,11.437999725341797 +159.7873649597168,3.316999912261963,6.439999999999998,36.68,11.437999725341797 +159.78746485710144,3.316999912261963,6.310000000000002,36.68,11.437999725341797 +159.81431889533997,3.319999933242798,6.310000000000002,36.68,11.437999725341797 +159.81445288658142,3.319999933242798,6.310000000000002,36.68,11.503000259399414 +159.84732604026794,3.319999933242798,6.310000000000002,36.68,11.503000259399414 +159.8474109172821,3.319999933242798,6.310000000000002,36.68,11.503000259399414 +159.90731382369995,3.325000047683716,6.310000000000002,36.68,11.503000259399414 +159.9073929786682,3.325000047683716,6.310000000000002,36.68,11.567000389099121 +159.9523160457611,3.325000047683716,6.310000000000002,36.68,11.567000389099121 +159.9523890018463,3.325000047683716,6.310000000000002,36.68,11.567000389099121 +160.01517701148987,3.3310000896453857,6.310000000000002,36.68,11.567000389099121 +160.01524305343628,3.3310000896453857,6.310000000000002,36.68,11.631999969482422 +160.0573229789734,3.3310000896453857,6.310000000000002,36.68,11.631999969482422 +160.05743098258972,3.3310000896453857,6.310000000000002,36.68,11.631999969482422 +160.1064100265503,3.3369998931884766,6.310000000000002,36.68,11.631999969482422 +160.10649991035461,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.17226004600525,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.17237997055054,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.20630884170532,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.20638990402222,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.2475278377533,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.247633934021,3.3369998931884766,6.310000000000002,36.68,11.696999549865723 +160.30742192268372,3.3410000801086426,6.310000000000002,36.68,11.696999549865723 +160.30750703811646,3.3410000801086426,6.310000000000002,36.68,11.762999534606934 +160.3520848751068,3.3410000801086426,6.310000000000002,36.68,11.762999534606934 +160.3521740436554,3.3410000801086426,6.310000000000002,36.68,11.762999534606934 +160.40617990493774,3.3450000286102295,6.310000000000002,36.68,11.762999534606934 +160.40626883506775,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.44807195663452,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.44817090034485,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.5080168247223,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.50807690620422,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.5520248413086,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.5521399974823,3.3450000286102295,6.310000000000002,36.68,11.82800006866455 +160.60609102249146,3.3480000495910645,6.310000000000002,36.68,11.82800006866455 +160.60617089271545,3.3480000495910645,6.310000000000002,36.68,11.890000343322754 +160.66801285743713,3.3480000495910645,6.310000000000002,36.68,11.890000343322754 +160.66808795928955,3.3480000495910645,6.310000000000002,36.68,11.890000343322754 +160.70797204971313,3.3489999771118164,6.310000000000002,36.68,11.890000343322754 +160.7080500125885,3.3489999771118164,6.310000000000002,36.68,11.954999923706055 +160.77196097373962,3.3489999771118164,6.310000000000002,36.68,11.954999923706055 +160.77207589149475,3.3489999771118164,6.310000000000002,36.68,11.954999923706055 +160.78792190551758,3.3489999771118164,6.310000000000002,38.17,11.954999923706055 +160.78799390792847,3.3489999771118164,6.180000000000007,38.17,11.954999923706055 +160.80601382255554,3.3510000705718994,6.180000000000007,38.17,11.954999923706055 +160.80609893798828,3.3510000705718994,6.180000000000007,38.17,12.015000343322754 +160.8489010334015,3.3510000705718994,6.180000000000007,38.17,12.015000343322754 +160.84896993637085,3.3510000705718994,6.180000000000007,38.17,12.015000343322754 +160.9078869819641,3.3529999256134033,6.180000000000007,38.17,12.015000343322754 +160.90794682502747,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +160.95191097259521,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +160.95204401016235,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.00512790679932,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.00521397590637,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.0478389263153,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.04790997505188,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.0870988368988,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.0871980190277,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.13186597824097,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.13203287124634,3.3529999256134033,6.180000000000007,38.17,12.07699966430664 +161.19180488586426,3.3589999675750732,6.180000000000007,38.17,12.07699966430664 +161.1919059753418,3.3589999675750732,6.180000000000007,38.17,12.208000183105469 +161.24877882003784,3.3589999675750732,6.180000000000007,38.17,12.208000183105469 +161.24885988235474,3.3589999675750732,6.180000000000007,38.17,12.208000183105469 +161.2878110408783,3.3589999675750732,6.180000000000007,38.17,12.208000183105469 +161.2879250049591,3.3589999675750732,6.180000000000007,38.17,12.208000183105469 +161.30875492095947,3.36299991607666,6.180000000000007,38.17,12.208000183105469 +161.30882501602173,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.3517189025879,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.3517780303955,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.40584993362427,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.40593695640564,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.44776582717896,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.44785404205322,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.50776505470276,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.50783896446228,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.55270385742188,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.55283093452454,3.36299991607666,6.180000000000007,38.17,12.279000282287598 +161.60486483573914,3.371999979019165,6.180000000000007,38.17,12.279000282287598 +161.604966878891,3.371999979019165,6.180000000000007,38.17,12.416000366210938 +161.6586458683014,3.371999979019165,6.180000000000007,38.17,12.416000366210938 +161.65873384475708,3.371999979019165,6.180000000000007,38.17,12.416000366210938 +161.70861792564392,3.377000093460083,6.180000000000007,38.17,12.416000366210938 +161.70867586135864,3.377000093460083,6.180000000000007,38.17,12.482000350952148 +161.75358891487122,3.377000093460083,6.180000000000007,38.17,12.482000350952148 +161.753653049469,3.377000093460083,6.180000000000007,38.17,12.482000350952148 +161.78859305381775,3.377000093460083,6.180000000000007,38.73,12.482000350952148 +161.78866291046143,3.377000093460083,7.159999999999997,38.73,12.482000350952148 +161.80770802497864,3.377000093460083,7.159999999999997,38.73,12.482000350952148 +161.80779099464417,3.377000093460083,7.159999999999997,38.73,12.482000350952148 +161.84956693649292,3.377000093460083,7.159999999999997,38.73,12.482000350952148 +161.84963488578796,3.377000093460083,7.159999999999997,38.73,12.482000350952148 +161.90970587730408,3.38100004196167,7.159999999999997,38.73,12.482000350952148 +161.90983605384827,3.38100004196167,7.159999999999997,38.73,12.545000076293945 +161.95351195335388,3.38100004196167,7.159999999999997,38.73,12.545000076293945 +161.95357394218445,3.38100004196167,7.159999999999997,38.73,12.545000076293945 +162.0168309211731,3.384000062942505,7.159999999999997,38.73,12.545000076293945 +162.01692700386047,3.384000062942505,7.159999999999997,38.73,12.609999656677246 +162.05849885940552,3.384000062942505,7.159999999999997,38.73,12.609999656677246 +162.05857396125793,3.384000062942505,7.159999999999997,38.73,12.609999656677246 +162.10849499702454,3.388000011444092,7.159999999999997,38.73,12.609999656677246 +162.10855197906494,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.14460682868958,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.14468502998352,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.2084560394287,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.20852494239807,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.25041604042053,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.25047993659973,3.388000011444092,7.159999999999997,38.73,12.675999641418457 +162.31040000915527,3.3940000534057617,7.159999999999997,38.73,12.675999641418457 +162.31046199798584,3.3940000534057617,7.159999999999997,38.73,12.737000465393066 +162.34455394744873,3.3940000534057617,7.159999999999997,38.73,12.737000465393066 +162.3446388244629,3.3940000534057617,7.159999999999997,38.73,12.737000465393066 +162.38567805290222,3.3940000534057617,7.159999999999997,38.73,12.737000465393066 +162.38579893112183,3.3940000534057617,7.159999999999997,38.73,12.737000465393066 +162.40844297409058,3.3980000019073486,7.159999999999997,38.73,12.737000465393066 +162.40853190422058,3.3980000019073486,7.159999999999997,38.73,12.795999526977539 +162.45033884048462,3.3980000019073486,7.159999999999997,38.73,12.795999526977539 +162.4504029750824,3.3980000019073486,7.159999999999997,38.73,12.795999526977539 +162.5103268623352,3.4040000438690186,7.159999999999997,38.73,12.795999526977539 +162.51040983200073,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.5453200340271,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.54538297653198,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.60832285881042,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.6083869934082,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.65033984184265,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.65041303634644,3.4040000438690186,7.159999999999997,38.73,12.855999946594238 +162.71125483512878,3.4089999198913574,7.159999999999997,38.73,12.855999946594238 +162.71131682395935,3.4089999198913574,7.159999999999997,38.73,12.913000106811523 +162.7443950176239,3.4089999198913574,7.159999999999997,38.73,12.913000106811523 +162.74447393417358,3.4089999198913574,7.159999999999997,38.73,12.913000106811523 +162.78927993774414,3.4089999198913574,7.159999999999997,40.2,12.913000106811523 +162.7895359992981,3.4089999198913574,6.900000000000006,40.2,12.913000106811523 +162.81042504310608,3.4100000858306885,6.900000000000006,40.2,12.913000106811523 +162.81051087379456,3.4100000858306885,6.900000000000006,40.2,12.975000381469727 +162.8522379398346,3.4100000858306885,6.900000000000006,40.2,12.975000381469727 +162.85232400894165,3.4100000858306885,6.900000000000006,40.2,12.975000381469727 +162.9112389087677,3.4149999618530273,6.900000000000006,40.2,12.975000381469727 +162.91134405136108,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +162.94519186019897,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +162.94526195526123,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +163.0081889629364,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +163.0082528591156,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +163.050390958786,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +163.05047702789307,3.4149999618530273,6.900000000000006,40.2,13.032999992370605 +163.11032390594482,3.4179999828338623,6.900000000000006,40.2,13.032999992370605 +163.1103858947754,3.4179999828338623,6.900000000000006,40.2,13.090999603271484 +163.1461079120636,3.4179999828338623,6.900000000000006,40.2,13.090999603271484 +163.1461808681488,3.4179999828338623,6.900000000000006,40.2,13.090999603271484 +163.1861310005188,3.4179999828338623,6.900000000000006,40.2,13.090999603271484 +163.18623399734497,3.4179999828338623,6.900000000000006,40.2,13.090999603271484 +163.2104480266571,3.421999931335449,6.900000000000006,40.2,13.090999603271484 +163.2105429172516,3.421999931335449,6.900000000000006,40.2,13.14799976348877 +163.25033402442932,3.421999931335449,6.900000000000006,40.2,13.14799976348877 +163.2504198551178,3.421999931335449,6.900000000000006,40.2,13.14799976348877 +163.312077999115,3.427999973297119,6.900000000000006,40.2,13.14799976348877 +163.31216597557068,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.34604382514954,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.3461148738861,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.4106469154358,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.41074299812317,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.45201587677002,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.4521038532257,3.427999973297119,6.900000000000006,40.2,13.206000328063965 +163.51202392578125,3.430999994277954,6.900000000000006,40.2,13.206000328063965 +163.51212096214294,3.430999994277954,6.900000000000006,40.2,13.269000053405762 +163.54596996307373,3.430999994277954,6.900000000000006,40.2,13.269000053405762 +163.5460410118103,3.430999994277954,6.900000000000006,40.2,13.269000053405762 +163.61021494865417,3.433000087738037,6.900000000000006,40.2,13.269000053405762 +163.61033391952515,3.433000087738037,6.900000000000006,40.2,13.333000183105469 +163.65195488929749,3.433000087738037,6.900000000000006,40.2,13.333000183105469 +163.65203189849854,3.433000087738037,6.900000000000006,40.2,13.333000183105469 +163.71092104911804,3.434999942779541,6.900000000000006,40.2,13.333000183105469 +163.71098804473877,3.434999942779541,6.900000000000006,40.2,13.395999908447266 +163.74596095085144,3.434999942779541,6.900000000000006,40.2,13.395999908447266 +163.7460789680481,3.434999942779541,6.900000000000006,40.2,13.395999908447266 +163.78888583183289,3.434999942779541,6.900000000000006,41.64,13.395999908447266 +163.78897905349731,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.8101089000702,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.81021904945374,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.85187602043152,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.85195183753967,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.91184186935425,3.434999942779541,6.77000000000001,41.64,13.395999908447266 +163.91191482543945,3.434999942779541,6.77000000000001,41.64,13.458000183105469 +163.9458339214325,3.434999942779541,6.77000000000001,41.64,13.458000183105469 +163.94589495658875,3.434999942779541,6.77000000000001,41.64,13.458000183105469 +164.0098910331726,3.437000036239624,6.77000000000001,41.64,13.458000183105469 +164.00996088981628,3.437000036239624,6.77000000000001,41.64,13.517999649047852 +164.05182194709778,3.437000036239624,6.77000000000001,41.64,13.517999649047852 +164.05191087722778,3.437000036239624,6.77000000000001,41.64,13.517999649047852 +164.111820936203,3.441999912261963,6.77000000000001,41.64,13.517999649047852 +164.11190390586853,3.441999912261963,6.77000000000001,41.64,13.581999778747559 +164.1478090286255,3.441999912261963,6.77000000000001,41.64,13.581999778747559 +164.147873878479,3.441999912261963,6.77000000000001,41.64,13.581999778747559 +164.21176099777222,3.446000099182129,6.77000000000001,41.64,13.581999778747559 +164.21183395385742,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.253741979599,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.25381588935852,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.314710855484,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.31478095054626,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.36775493621826,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.367830991745,3.446000099182129,6.77000000000001,41.64,13.644000053405762 +164.40776300430298,3.4509999752044678,6.77000000000001,41.64,13.644000053405762 +164.40785384178162,3.4509999752044678,6.77000000000001,41.64,13.704000473022461 +164.47370791435242,3.4509999752044678,6.77000000000001,41.64,13.704000473022461 +164.47379803657532,3.4509999752044678,6.77000000000001,41.64,13.704000473022461 +164.51369404792786,3.4560000896453857,6.77000000000001,41.64,13.704000473022461 +164.51375102996826,3.4560000896453857,6.77000000000001,41.64,13.767999649047852 +164.56972885131836,3.4560000896453857,6.77000000000001,41.64,13.767999649047852 +164.56981587409973,3.4560000896453857,6.77000000000001,41.64,13.767999649047852 +164.61260199546814,3.4570000171661377,6.77000000000001,41.64,13.767999649047852 +164.61268091201782,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.67471194267273,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.67478585243225,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.70576405525208,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.70584893226624,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.7496519088745,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.7497169971466,3.4570000171661377,6.77000000000001,41.64,13.826000213623047 +164.79014682769775,3.4570000171661377,6.77000000000001,42.36,13.826000213623047 +164.7902488708496,3.4570000171661377,5.75,42.36,13.826000213623047 +164.81253099441528,3.4590001106262207,5.75,42.36,13.826000213623047 +164.81260585784912,3.4590001106262207,5.75,42.36,13.885000228881836 +164.87462997436523,3.4590001106262207,5.75,42.36,13.885000228881836 +164.87469291687012,3.4590001106262207,5.75,42.36,13.885000228881836 +164.91449785232544,3.4619998931884766,5.75,42.36,13.885000228881836 +164.914568901062,3.4619998931884766,5.75,42.36,13.949000358581543 +164.9705069065094,3.4619998931884766,5.75,42.36,13.949000358581543 +164.97059082984924,3.4619998931884766,5.75,42.36,13.949000358581543 +165.01347303390503,3.4660000801086426,5.75,42.36,13.949000358581543 +165.01354384422302,3.4660000801086426,5.75,42.36,14.008999824523926 +165.06563687324524,3.4660000801086426,5.75,42.36,14.008999824523926 +165.0657160282135,3.4660000801086426,5.75,42.36,14.008999824523926 +165.10561394691467,3.4660000801086426,5.75,42.36,14.008999824523926 +165.10568594932556,3.4660000801086426,5.75,42.36,14.008999824523926 +165.1704559326172,3.4660000801086426,5.75,42.36,14.008999824523926 +165.17053699493408,3.4660000801086426,5.75,42.36,14.008999824523926 +165.21341395378113,3.4660000801086426,5.75,42.36,14.008999824523926 +165.21349000930786,3.4660000801086426,5.75,42.36,14.008999824523926 +165.26554083824158,3.4660000801086426,5.75,42.36,14.008999824523926 +165.265606880188,3.4660000801086426,5.75,42.36,14.008999824523926 +165.30738401412964,3.4749999046325684,5.75,42.36,14.008999824523926 +165.30745482444763,3.4749999046325684,5.75,42.36,14.133000373840332 +165.37136888504028,3.4749999046325684,5.75,42.36,14.133000373840332 +165.37145495414734,3.4749999046325684,5.75,42.36,14.133000373840332 +165.41538286209106,3.4790000915527344,5.75,42.36,14.133000373840332 +165.41545295715332,3.4790000915527344,5.75,42.36,14.20300006866455 +165.46740794181824,3.4790000915527344,5.75,42.36,14.20300006866455 +165.46746683120728,3.4790000915527344,5.75,42.36,14.20300006866455 +165.5074110031128,3.4790000915527344,5.75,42.36,14.20300006866455 +165.507474899292,3.4790000915527344,5.75,42.36,14.20300006866455 +165.57129502296448,3.4790000915527344,5.75,42.36,14.20300006866455 +165.57137799263,3.4790000915527344,5.75,42.36,14.20300006866455 +165.6152539253235,3.4830000400543213,5.75,42.36,14.20300006866455 +165.61533093452454,3.4830000400543213,5.75,42.36,14.26099967956543 +165.66733598709106,3.4830000400543213,5.75,42.36,14.26099967956543 +165.66739583015442,3.4830000400543213,5.75,42.36,14.26099967956543 +165.70824599266052,3.4860000610351562,5.75,42.36,14.26099967956543 +165.7083158493042,3.4860000610351562,5.75,42.36,14.324999809265137 +165.7712378501892,3.4860000610351562,5.75,42.36,14.324999809265137 +165.77132296562195,3.4860000610351562,5.75,42.36,14.324999809265137 +165.79021000862122,3.4860000610351562,5.75,43.71,14.324999809265137 +165.79031586647034,3.4860000610351562,5.659999999999997,43.71,14.324999809265137 +165.81520795822144,3.490000009536743,5.659999999999997,43.71,14.324999809265137 +165.81528496742249,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.86938500404358,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.86948585510254,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.91030192375183,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.91037487983704,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.97213792800903,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +165.97222089767456,3.490000009536743,5.659999999999997,43.71,14.38599967956543 +166.0151538848877,3.49399995803833,5.659999999999997,43.71,14.38599967956543 +166.01523685455322,3.49399995803833,5.659999999999997,43.71,14.451000213623047 +166.05727887153625,3.49399995803833,5.659999999999997,43.71,14.451000213623047 +166.05736303329468,3.49399995803833,5.659999999999997,43.71,14.451000213623047 +166.1081109046936,3.496000051498413,5.659999999999997,43.71,14.451000213623047 +166.1081919670105,3.496000051498413,5.659999999999997,43.71,14.517000198364258 +166.17308282852173,3.496000051498413,5.659999999999997,43.71,14.517000198364258 +166.17316794395447,3.496000051498413,5.659999999999997,43.71,14.517000198364258 +166.21514892578125,3.496000051498413,5.659999999999997,43.71,14.517000198364258 +166.21544003486633,3.496000051498413,5.659999999999997,43.71,14.581999778747559 +166.26808786392212,3.496000051498413,5.659999999999997,43.71,14.581999778747559 +166.26818704605103,3.496000051498413,5.659999999999997,43.71,14.581999778747559 +166.30840682983398,3.496999979019165,5.659999999999997,43.71,14.581999778747559 +166.30848002433777,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.37110090255737,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.37125897407532,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.41501092910767,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.41509199142456,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.4694938659668,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.4696388244629,3.496999979019165,5.659999999999997,43.71,14.649999618530273 +166.5100200176239,3.497999906539917,5.659999999999997,43.71,14.649999618530273 +166.51008105278015,3.497999906539917,5.659999999999997,43.71,14.73799991607666 +166.57198786735535,3.497999906539917,5.659999999999997,43.71,14.73799991607666 +166.57209396362305,3.497999906539917,5.659999999999997,43.71,14.73799991607666 +166.61504101753235,3.500999927520752,5.659999999999997,43.71,14.73799991607666 +166.6151819229126,3.500999927520752,5.659999999999997,43.71,14.803000450134277 +166.6671290397644,3.500999927520752,5.659999999999997,43.71,14.803000450134277 +166.66719698905945,3.500999927520752,5.659999999999997,43.71,14.803000450134277 +166.70892596244812,3.50600004196167,5.659999999999997,43.71,14.803000450134277 +166.70900297164917,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.77191495895386,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.77200984954834,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.81592893600464,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.81599497795105,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.86902403831482,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.86912989616394,3.50600004196167,5.659999999999997,43.71,14.866000175476074 +166.90894198417664,3.509999990463257,5.659999999999997,43.71,14.866000175476074 +166.90907883644104,3.509999990463257,5.659999999999997,43.71,14.928999900817871 +166.97294783592224,3.509999990463257,5.659999999999997,43.71,14.928999900817871 +166.97311401367188,3.509999990463257,5.659999999999997,43.71,14.928999900817871 +167.01585292816162,3.510999917984009,5.659999999999997,43.71,14.928999900817871 +167.01591992378235,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.06784582138062,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.0679030418396,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.11081886291504,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.11088585853577,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.17386388778687,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.17395401000977,3.510999917984009,5.659999999999997,43.71,14.996000289916992 +167.19074201583862,3.510999917984009,5.659999999999997,44.91,14.996000289916992 +167.1908359527588,3.510999917984009,5.639999999999986,44.91,14.996000289916992 +167.2178988456726,3.510999917984009,5.639999999999986,44.91,14.996000289916992 +167.21800088882446,3.510999917984009,5.639999999999986,44.91,14.996000289916992 +167.26979398727417,3.510999917984009,5.639999999999986,44.91,14.996000289916992 +167.2698609828949,3.510999917984009,5.639999999999986,44.91,14.996000289916992 +167.31069087982178,3.5169999599456787,5.639999999999986,44.91,14.996000289916992 +167.31076502799988,3.5169999599456787,5.639999999999986,44.91,15.130000114440918 +167.37380290031433,3.5169999599456787,5.639999999999986,44.91,15.130000114440918 +167.37389397621155,3.5169999599456787,5.639999999999986,44.91,15.130000114440918 +167.41781282424927,3.5199999809265137,5.639999999999986,44.91,15.130000114440918 +167.41788482666016,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.46974396705627,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.46980595588684,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.51164388656616,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.51173090934753,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.55460691452026,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.55468583106995,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.61856985092163,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.6186490058899,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.65966296195984,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.65973591804504,3.5199999809265137,5.639999999999986,44.91,15.194999694824219 +167.71055483818054,3.5299999713897705,5.639999999999986,44.91,15.194999694824219 +167.7106339931488,3.5299999713897705,5.639999999999986,44.91,15.322999954223633 +167.775554895401,3.5299999713897705,5.639999999999986,44.91,15.322999954223633 +167.77564692497253,3.5299999713897705,5.639999999999986,44.91,15.322999954223633 +167.7915358543396,3.5299999713897705,5.639999999999986,46.72,15.322999954223633 +167.7916238307953,3.5299999713897705,5.590000000000003,46.72,15.322999954223633 +167.80858182907104,3.5339999198913574,5.590000000000003,46.72,15.322999954223633 +167.80867385864258,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.8486099243164,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.8486738204956,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.91049194335938,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.91056990623474,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.9554889202118,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +167.95557498931885,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +168.00854086875916,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +168.00864100456238,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +168.0614309310913,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +168.06151485443115,3.5339999198913574,5.590000000000003,46.72,15.387999534606934 +168.11443781852722,3.5460000038146973,5.590000000000003,46.72,15.387999534606934 +168.11453104019165,3.5460000038146973,5.590000000000003,46.72,15.515000343322754 +168.17551589012146,3.5460000038146973,5.590000000000003,46.72,15.515000343322754 +168.17560386657715,3.5460000038146973,5.590000000000003,46.72,15.515000343322754 +168.20841789245605,3.552999973297119,5.590000000000003,46.72,15.515000343322754 +168.2085258960724,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.2713658809662,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.2714409828186,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.31139087677002,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.3114938735962,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.34801983833313,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.3481149673462,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.40788102149963,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.40797686576843,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.4723060131073,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.47237586975098,3.552999973297119,5.590000000000003,46.72,15.57800006866455 +168.51246404647827,3.561000108718872,5.590000000000003,46.72,15.57800006866455 +168.5126178264618,3.561000108718872,5.590000000000003,46.72,15.706000328063965 +168.5676510334015,3.561000108718872,5.590000000000003,46.72,15.706000328063965 +168.56772899627686,3.561000108718872,5.590000000000003,46.72,15.706000328063965 +168.60825204849243,3.563999891281128,5.590000000000003,46.72,15.706000328063965 +168.6083300113678,3.563999891281128,5.590000000000003,46.72,15.765999794006348 +168.66322493553162,3.563999891281128,5.590000000000003,46.72,15.765999794006348 +168.6633129119873,3.563999891281128,5.590000000000003,46.72,15.765999794006348 +168.71321392059326,3.562000036239624,5.590000000000003,46.72,15.765999794006348 +168.71328687667847,3.562000036239624,5.590000000000003,46.72,15.826000213623047 +168.74753093719482,3.562000036239624,5.590000000000003,46.72,15.826000213623047 +168.7476098537445,3.562000036239624,5.590000000000003,46.72,15.826000213623047 +168.79217195510864,3.562000036239624,5.590000000000003,47.98,15.826000213623047 +168.7922489643097,3.562000036239624,5.47999999999999,47.98,15.826000213623047 +168.80827593803406,3.562000036239624,5.47999999999999,47.98,15.826000213623047 +168.80833983421326,3.562000036239624,5.47999999999999,47.98,15.826000213623047 +168.85149002075195,3.562000036239624,5.47999999999999,47.98,15.826000213623047 +168.85165190696716,3.562000036239624,5.47999999999999,47.98,15.826000213623047 +168.9131429195404,3.559999942779541,5.47999999999999,47.98,15.826000213623047 +168.91321682929993,3.559999942779541,5.47999999999999,47.98,15.880000114440918 +168.96916699409485,3.559999942779541,5.47999999999999,47.98,15.880000114440918 +168.9692440032959,3.559999942779541,5.47999999999999,47.98,15.880000114440918 +169.0091359615326,3.559000015258789,5.47999999999999,47.98,15.880000114440918 +169.0092089176178,3.559000015258789,5.47999999999999,47.98,15.92300033569336 +169.05317997932434,3.559000015258789,5.47999999999999,47.98,15.92300033569336 +169.05324387550354,3.559000015258789,5.47999999999999,47.98,15.92300033569336 +169.115131855011,3.556999921798706,5.47999999999999,47.98,15.92300033569336 +169.11521697044373,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.17011189460754,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.17018604278564,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.21011304855347,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.21018600463867,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.27507305145264,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.27514505386353,3.556999921798706,5.47999999999999,47.98,15.954000473022461 +169.31502985954285,3.555000066757202,5.47999999999999,47.98,15.954000473022461 +169.31510496139526,3.555000066757202,5.47999999999999,47.98,15.972000122070312 +169.37007904052734,3.555000066757202,5.47999999999999,47.98,15.972000122070312 +169.3701479434967,3.555000066757202,5.47999999999999,47.98,15.972000122070312 +169.41002702713013,3.5510001182556152,5.47999999999999,47.98,15.972000122070312 +169.41009783744812,3.5510001182556152,5.47999999999999,47.98,15.982000350952148 +169.4751009941101,3.5510001182556152,5.47999999999999,47.98,15.982000350952148 +169.4752299785614,3.5510001182556152,5.47999999999999,47.98,15.982000350952148 +169.51493382453918,3.555000066757202,5.47999999999999,47.98,15.982000350952148 +169.51500391960144,3.555000066757202,5.47999999999999,47.98,15.984999656677246 +169.56998991966248,3.555000066757202,5.47999999999999,47.98,15.984999656677246 +169.57006001472473,3.555000066757202,5.47999999999999,47.98,15.984999656677246 +169.60996389389038,3.568000078201294,5.47999999999999,47.98,15.984999656677246 +169.61003494262695,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.67492198944092,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.67498397827148,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.71491885185242,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.71501398086548,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.76989889144897,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.76997184753418,3.568000078201294,5.47999999999999,47.98,15.991999626159668 +169.79282903671265,3.568000078201294,5.47999999999999,48.64,15.991999626159668 +169.79290986061096,3.568000078201294,5.349999999999994,48.64,15.991999626159668 +169.80990600585938,3.5829999446868896,5.349999999999994,48.64,15.991999626159668 +169.8099808692932,3.5829999446868896,5.349999999999994,48.64,16.003999710083008 +169.87589502334595,3.5829999446868896,5.349999999999994,48.64,16.003999710083008 +169.87598299980164,3.5829999446868896,5.349999999999994,48.64,16.003999710083008 +169.91581392288208,3.5959999561309814,5.349999999999994,48.64,16.003999710083008 +169.9158959388733,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +169.96880388259888,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +169.96888089179993,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.0098090171814,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.00988292694092,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.06473803520203,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.06482887268066,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.11479783058167,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.11487102508545,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.1507649421692,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.15087604522705,3.5959999561309814,5.349999999999994,48.64,16.030000686645508 +170.21070885658264,3.6010000705718994,5.349999999999994,48.64,16.030000686645508 +170.2107880115509,3.6010000705718994,5.349999999999994,48.64,16.13599967956543 +170.27566289901733,3.6010000705718994,5.349999999999994,48.64,16.13599967956543 +170.27575087547302,3.6010000705718994,5.349999999999994,48.64,16.13599967956543 +170.31569504737854,3.6040000915527344,5.349999999999994,48.64,16.13599967956543 +170.31578302383423,3.6040000915527344,5.349999999999994,48.64,16.20800018310547 +170.3706648349762,3.6040000915527344,5.349999999999994,48.64,16.20800018310547 +170.37076687812805,3.6040000915527344,5.349999999999994,48.64,16.20800018310547 +170.41062903404236,3.6019999980926514,5.349999999999994,48.64,16.20800018310547 +170.41071796417236,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.47560286521912,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.47567987442017,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.51560997962952,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.51568484306335,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.57056498527527,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.5706489086151,3.6019999980926514,5.349999999999994,48.64,16.281999588012695 +170.6105718612671,3.5989999771118164,5.349999999999994,48.64,16.281999588012695 +170.6106719970703,3.5989999771118164,5.349999999999994,48.64,16.36199951171875 +170.67766404151917,3.5989999771118164,5.349999999999994,48.64,16.36199951171875 +170.67774105072021,3.5989999771118164,5.349999999999994,48.64,16.36199951171875 +170.71655702590942,3.5920000076293945,5.349999999999994,48.64,16.36199951171875 +170.71663904190063,3.5920000076293945,5.349999999999994,48.64,16.44499969482422 +170.75056290626526,3.5920000076293945,5.349999999999994,48.64,16.44499969482422 +170.75067400932312,3.5920000076293945,5.349999999999994,48.64,16.44499969482422 +170.80057787895203,3.5920000076293945,5.349999999999994,49.34,16.44499969482422 +170.80063605308533,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.8115029335022,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.81158089637756,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.85569787025452,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.85595083236694,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.9174988269806,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.91762900352478,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.9524438381195,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +170.95252299308777,3.5920000076293945,5.340000000000003,49.34,16.44499969482422 +171.01243686676025,3.5859999656677246,5.340000000000003,49.34,16.44499969482422 +171.01252102851868,3.5859999656677246,5.340000000000003,49.34,16.607999801635742 +171.05648493766785,3.5859999656677246,5.340000000000003,49.34,16.607999801635742 +171.05655694007874,3.5859999656677246,5.340000000000003,49.34,16.607999801635742 +171.11843705177307,3.5840001106262207,5.340000000000003,49.34,16.607999801635742 +171.11855387687683,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.15239691734314,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.15250182151794,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.19240593910217,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.19251990318298,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.256432056427,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.25655698776245,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.31931900978088,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.31939387321472,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.35328698158264,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.35335898399353,3.5840001106262207,5.340000000000003,49.34,16.683000564575195 +171.4132740497589,3.5799999237060547,5.340000000000003,49.34,16.683000564575195 +171.4133620262146,3.5799999237060547,5.340000000000003,49.34,16.80900001525879 +171.46825695037842,3.5799999237060547,5.340000000000003,49.34,16.80900001525879 +171.46835899353027,3.5799999237060547,5.340000000000003,49.34,16.80900001525879 +171.51828289031982,3.5759999752044678,5.340000000000003,49.34,16.80900001525879 +171.51839900016785,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.55425190925598,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.55433082580566,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.61421394348145,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.61429286003113,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.6572790145874,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.65735983848572,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.7091929912567,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.7092800140381,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.75516390800476,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.75525283813477,3.5759999752044678,5.340000000000003,49.34,16.871000289916992 +171.80117201805115,3.5759999752044678,5.340000000000003,50.75,16.871000289916992 +171.80133199691772,3.5759999752044678,5.349999999999994,50.75,16.871000289916992 +171.81522583961487,3.5759999752044678,5.349999999999994,50.75,16.871000289916992 +171.81535005569458,3.5759999752044678,5.349999999999994,50.75,16.996999740600586 +171.85113883018494,3.5759999752044678,5.349999999999994,50.75,16.996999740600586 +171.85122299194336,3.5759999752044678,5.349999999999994,50.75,16.996999740600586 +171.91212487220764,3.575000047683716,5.349999999999994,50.75,16.996999740600586 +171.91221404075623,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +171.9550919532776,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +171.95519304275513,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.01506686210632,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.01515197753906,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.05816888809204,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.05824184417725,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.11116099357605,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.11123704910278,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.1550178527832,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.15510296821594,3.575000047683716,5.349999999999994,50.75,17.05900001525879 +172.21499800682068,3.571000099182129,5.349999999999994,50.75,17.05900001525879 +172.215078830719,3.571000099182129,5.349999999999994,50.75,17.174999237060547 +172.25031685829163,3.571000099182129,5.349999999999994,50.75,17.174999237060547 +172.25039291381836,3.571000099182129,5.349999999999994,50.75,17.174999237060547 +172.3110899925232,3.568000078201294,5.349999999999994,50.75,17.174999237060547 +172.3111698627472,3.568000078201294,5.349999999999994,50.75,17.236000061035156 +172.35695385932922,3.568000078201294,5.349999999999994,50.75,17.236000061035156 +172.35707592964172,3.568000078201294,5.349999999999994,50.75,17.236000061035156 +172.41691994667053,3.566999912261963,5.349999999999994,50.75,17.236000061035156 +172.41698598861694,3.566999912261963,5.349999999999994,50.75,17.299999237060547 +172.45102882385254,3.566999912261963,5.349999999999994,50.75,17.299999237060547 +172.45109295845032,3.566999912261963,5.349999999999994,50.75,17.299999237060547 +172.49293303489685,3.566999912261963,5.349999999999994,50.75,17.299999237060547 +172.49303793907166,3.566999912261963,5.349999999999994,50.75,17.299999237060547 +172.5129270553589,3.565999984741211,5.349999999999994,50.75,17.299999237060547 +172.51301288604736,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.556893825531,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.55698084831238,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.61889791488647,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.61896800994873,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.65095496177673,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.65101885795593,3.565999984741211,5.349999999999994,50.75,17.361000061035156 +172.7018518447876,3.565999984741211,5.349999999999994,51.99,17.361000061035156 +172.70195388793945,3.565999984741211,5.300000000000011,51.99,17.361000061035156 +172.7128279209137,3.565000057220459,5.300000000000011,51.99,17.361000061035156 +172.71290493011475,3.565000057220459,5.300000000000011,51.99,17.423999786376953 +172.75723385810852,3.565000057220459,5.300000000000011,51.99,17.423999786376953 +172.7573459148407,3.565000057220459,5.300000000000011,51.99,17.423999786376953 +172.81693387031555,3.562000036239624,5.300000000000011,51.99,17.423999786376953 +172.8170199394226,3.562000036239624,5.300000000000011,51.99,17.486000061035156 +172.8508858680725,3.562000036239624,5.300000000000011,51.99,17.486000061035156 +172.85094904899597,3.562000036239624,5.300000000000011,51.99,17.486000061035156 +172.91278100013733,3.561000108718872,5.300000000000011,51.99,17.486000061035156 +172.91287302970886,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +172.95774793624878,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +172.95783305168152,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +173.01012992858887,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +173.0102469921112,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +173.0517349243164,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +173.05179286003113,3.561000108718872,5.300000000000011,51.99,17.54599952697754 +173.11386585235596,3.559999942779541,5.300000000000011,51.99,17.54599952697754 +173.11412286758423,3.559999942779541,5.300000000000011,51.99,17.608999252319336 +173.15778803825378,3.559999942779541,5.300000000000011,51.99,17.608999252319336 +173.15789198875427,3.559999942779541,5.300000000000011,51.99,17.608999252319336 +173.21780705451965,3.558000087738037,5.300000000000011,51.99,17.608999252319336 +173.2179079055786,3.558000087738037,5.300000000000011,51.99,17.67099952697754 +173.25165486335754,3.558000087738037,5.300000000000011,51.99,17.67099952697754 +173.25171494483948,3.558000087738037,5.300000000000011,51.99,17.67099952697754 +173.2939260005951,3.558000087738037,5.300000000000011,51.99,17.67099952697754 +173.29403495788574,3.558000087738037,5.300000000000011,51.99,17.67099952697754 +173.3127019405365,3.556999921798706,5.300000000000011,51.99,17.67099952697754 +173.31280088424683,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.35763382911682,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.35774493217468,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.41764497756958,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.41780495643616,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.4498028755188,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.44986581802368,3.556999921798706,5.300000000000011,51.99,17.735000610351562 +173.51165795326233,3.553999900817871,5.300000000000011,51.99,17.735000610351562 +173.51173901557922,3.553999900817871,5.300000000000011,51.99,17.79800033569336 +173.5575430393219,3.553999900817871,5.300000000000011,51.99,17.79800033569336 +173.5576159954071,3.553999900817871,5.300000000000011,51.99,17.79800033569336 +173.61752486228943,3.5510001182556152,5.300000000000011,51.99,17.79800033569336 +173.617604970932,3.5510001182556152,5.300000000000011,51.99,17.86199951171875 +173.65254592895508,3.5510001182556152,5.300000000000011,51.99,17.86199951171875 +173.65265583992004,3.5510001182556152,5.300000000000011,51.99,17.86199951171875 +173.70247292518616,3.5510001182556152,5.300000000000011,53.39,17.86199951171875 +173.70253896713257,3.5510001182556152,5.259999999999991,53.39,17.86199951171875 +173.71356296539307,3.5490000247955322,5.259999999999991,53.39,17.86199951171875 +173.71366000175476,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.7584810256958,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.7585608959198,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.81847405433655,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.81855988502502,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.8524248600006,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.8524889945984,3.5490000247955322,5.259999999999991,53.39,17.926000595092773 +173.91441798210144,3.5450000762939453,5.259999999999991,53.39,17.926000595092773 +173.9144949913025,3.5450000762939453,5.259999999999991,53.39,17.98900032043457 +173.95845293998718,3.5450000762939453,5.259999999999991,53.39,17.98900032043457 +173.958557844162,3.5450000762939453,5.259999999999991,53.39,17.98900032043457 +174.01843094825745,3.5420000553131104,5.259999999999991,53.39,17.98900032043457 +174.01853394508362,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.05148482322693,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.05156087875366,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.1133749485016,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.11346101760864,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.14957284927368,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.14966082572937,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.20959186553955,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.20967197418213,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.25334787368774,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.25343298912048,3.5420000553131104,5.259999999999991,53.39,18.052000045776367 +174.31532287597656,3.5369999408721924,5.259999999999991,53.39,18.052000045776367 +174.31540989875793,3.5369999408721924,5.259999999999991,53.39,18.176000595092773 +174.34952402114868,3.5369999408721924,5.259999999999991,53.39,18.176000595092773 +174.34961104393005,3.5369999408721924,5.259999999999991,53.39,18.176000595092773 +174.40963792800903,3.5360000133514404,5.259999999999991,53.39,18.176000595092773 +174.40975093841553,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.45325303077698,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.45332789421082,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.5152268409729,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.515310049057,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.55137300491333,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.55147004127502,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.61337995529175,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.61344695091248,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.65417098999023,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.6542398929596,3.5360000133514404,5.259999999999991,53.39,18.23900032043457 +174.70224785804749,3.5360000133514404,5.259999999999991,54.73,18.23900032043457 +174.70232582092285,3.5360000133514404,5.3300000000000125,54.73,18.23900032043457 +174.71614384651184,3.5280001163482666,5.3300000000000125,54.73,18.23900032043457 +174.71622395515442,3.5280001163482666,5.3300000000000125,54.73,18.36400032043457 +174.751296043396,3.5280001163482666,5.3300000000000125,54.73,18.36400032043457 +174.75139594078064,3.5280001163482666,5.3300000000000125,54.73,18.36400032043457 +174.8121919631958,3.5239999294281006,5.3300000000000125,54.73,18.36400032043457 +174.8122808933258,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.85514187812805,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.85523986816406,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.91612696647644,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.91620683670044,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.95123887062073,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +174.95133686065674,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +175.0121259689331,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +175.0122048854828,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +175.05506992340088,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +175.05516600608826,3.5239999294281006,5.3300000000000125,54.73,18.42799949645996 +175.11708688735962,3.5190000534057617,5.3300000000000125,54.73,18.42799949645996 +175.1172399520874,3.5190000534057617,5.3300000000000125,54.73,18.56100082397461 +175.15243792533875,3.5190000534057617,5.3300000000000125,54.73,18.56100082397461 +175.1525640487671,3.5190000534057617,5.3300000000000125,54.73,18.56100082397461 +175.213045835495,3.5199999809265137,5.3300000000000125,54.73,18.56100082397461 +175.213143825531,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.2560248374939,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.25611782073975,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.31797003746033,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.31804704666138,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.35212683677673,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.35220289230347,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.3944969177246,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.3946418762207,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.45589685440063,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.4559588432312,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.49795293807983,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.49805688858032,3.5199999809265137,5.3300000000000125,54.73,18.631000518798828 +175.51686692237854,3.5169999599456787,5.3300000000000125,54.73,18.631000518798828 +175.5169448852539,3.5169999599456787,5.3300000000000125,54.73,18.764999389648438 +175.55286598205566,3.5169999599456787,5.3300000000000125,54.73,18.764999389648438 +175.55296087265015,3.5169999599456787,5.3300000000000125,54.73,18.764999389648438 +175.61283898353577,3.515000104904175,5.3300000000000125,54.73,18.764999389648438 +175.6129150390625,3.515000104904175,5.3300000000000125,54.73,18.827999114990234 +175.6559498310089,3.515000104904175,5.3300000000000125,54.73,18.827999114990234 +175.65603184700012,3.515000104904175,5.3300000000000125,54.73,18.827999114990234 +175.70278787612915,3.515000104904175,5.3300000000000125,56.04,18.827999114990234 +175.7028570175171,3.515000104904175,5.259999999999991,56.04,18.827999114990234 +175.71783685684204,3.515000104904175,5.259999999999991,56.04,18.827999114990234 +175.71791982650757,3.515000104904175,5.259999999999991,56.04,18.827999114990234 +175.75280499458313,3.515000104904175,5.259999999999991,56.04,18.827999114990234 +175.75290393829346,3.515000104904175,5.259999999999991,56.04,18.827999114990234 +175.8127679824829,3.509999990463257,5.259999999999991,56.04,18.827999114990234 +175.81284403800964,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.8567340373993,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.85679388046265,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.91888189315796,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.91898703575134,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.95286202430725,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +175.95299005508423,3.509999990463257,5.259999999999991,56.04,18.958999633789062 +176.01270389556885,3.509000062942505,5.259999999999991,56.04,18.958999633789062 +176.0127890110016,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.05667781829834,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.0567889213562,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.1187229156494,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.11879587173462,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.1526918411255,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.15278697013855,3.509000062942505,5.259999999999991,56.04,19.025999069213867 +176.21262192726135,3.506999969482422,5.259999999999991,56.04,19.025999069213867 +176.21269488334656,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.25666999816895,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.2567389011383,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.31867504119873,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.31875205039978,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.3525788784027,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.3526749610901,3.506999969482422,5.259999999999991,56.04,19.15999984741211 +176.41255903244019,3.505000114440918,5.259999999999991,56.04,19.15999984741211 +176.41263699531555,3.505000114440918,5.259999999999991,56.04,19.218000411987305 +176.45686388015747,3.505000114440918,5.259999999999991,56.04,19.218000411987305 +176.45696091651917,3.505000114440918,5.259999999999991,56.04,19.218000411987305 +176.51865482330322,3.500999927520752,5.259999999999991,56.04,19.218000411987305 +176.51875686645508,3.500999927520752,5.259999999999991,56.04,19.27199935913086 +176.5545208454132,3.500999927520752,5.259999999999991,56.04,19.27199935913086 +176.55462098121643,3.500999927520752,5.259999999999991,56.04,19.27199935913086 +176.6144859790802,3.497999906539917,5.259999999999991,56.04,19.27199935913086 +176.6145679950714,3.497999906539917,5.259999999999991,56.04,19.329999923706055 +176.64871287345886,3.497999906539917,5.259999999999991,56.04,19.329999923706055 +176.64877104759216,3.497999906539917,5.259999999999991,56.04,19.329999923706055 +176.70346593856812,3.497999906539917,5.259999999999991,57.03,19.329999923706055 +176.70353198051453,3.497999906539917,5.25,57.03,19.329999923706055 +176.72045803070068,3.497999906539917,5.25,57.03,19.329999923706055 +176.72053384780884,3.497999906539917,5.25,57.03,19.329999923706055 +176.75496888160706,3.497999906539917,5.25,57.03,19.329999923706055 +176.7550768852234,3.497999906539917,5.25,57.03,19.329999923706055 +176.81464505195618,3.494999885559082,5.25,57.03,19.329999923706055 +176.8147280216217,3.494999885559082,5.25,57.03,19.388999938964844 +176.84866404533386,3.494999885559082,5.25,57.03,19.388999938964844 +176.84872484207153,3.494999885559082,5.25,57.03,19.388999938964844 +176.92037796974182,3.492000102996826,5.25,57.03,19.388999938964844 +176.9204568862915,3.492000102996826,5.25,57.03,19.45199966430664 +176.95473289489746,3.492000102996826,5.25,57.03,19.45199966430664 +176.95482802391052,3.492000102996826,5.25,57.03,19.45199966430664 +177.01434803009033,3.490000009536743,5.25,57.03,19.45199966430664 +177.01442098617554,3.490000009536743,5.25,57.03,19.514999389648438 +177.05852103233337,3.490000009536743,5.25,57.03,19.514999389648438 +177.05864095687866,3.490000009536743,5.25,57.03,19.514999389648438 +177.11946082115173,3.490000009536743,5.25,57.03,19.514999389648438 +177.11959385871887,3.490000009536743,5.25,57.03,19.514999389648438 +177.15439987182617,3.490000009536743,5.25,57.03,19.514999389648438 +177.1544840335846,3.490000009536743,5.25,57.03,19.514999389648438 +177.2142858505249,3.486999988555908,5.25,57.03,19.514999389648438 +177.21436500549316,3.486999988555908,5.25,57.03,19.573999404907227 +177.25730395317078,3.486999988555908,5.25,57.03,19.573999404907227 +177.25737500190735,3.486999988555908,5.25,57.03,19.573999404907227 +177.32024383544922,3.4830000400543213,5.25,57.03,19.573999404907227 +177.32032203674316,3.4830000400543213,5.25,57.03,19.634000778198242 +177.35425305366516,3.4830000400543213,5.25,57.03,19.634000778198242 +177.35436582565308,3.4830000400543213,5.25,57.03,19.634000778198242 +177.4143328666687,3.4800000190734863,5.25,57.03,19.634000778198242 +177.41443991661072,3.4800000190734863,5.25,57.03,19.694000244140625 +177.44848203659058,3.4800000190734863,5.25,57.03,19.694000244140625 +177.44854187965393,3.4800000190734863,5.25,57.03,19.694000244140625 +177.52018785476685,3.4800000190734863,5.25,57.03,19.694000244140625 +177.52026391029358,3.4800000190734863,5.25,57.03,19.694000244140625 +177.55517888069153,3.4800000190734863,5.25,57.03,19.694000244140625 +177.5552740097046,3.4800000190734863,5.25,57.03,19.694000244140625 +177.61516284942627,3.4790000915527344,5.25,57.03,19.694000244140625 +177.61524200439453,3.4790000915527344,5.25,57.03,19.757999420166016 +177.6483929157257,3.4790000915527344,5.25,57.03,19.757999420166016 +177.64845085144043,3.4790000915527344,5.25,57.03,19.757999420166016 +177.70414996147156,3.4790000915527344,5.25,58.3,19.757999420166016 +177.70425581932068,3.4790000915527344,5.319999999999993,58.3,19.757999420166016 +177.72015595436096,3.4779999256134033,5.319999999999993,58.3,19.757999420166016 +177.72035789489746,3.4779999256134033,5.319999999999993,58.3,19.820999145507812 +177.75609493255615,3.4779999256134033,5.319999999999993,58.3,19.820999145507812 +177.75618982315063,3.4779999256134033,5.319999999999993,58.3,19.820999145507812 +177.81608295440674,3.4760000705718994,5.319999999999993,58.3,19.820999145507812 +177.81616592407227,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.84920692443848,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.84927892684937,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.918133020401,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.91823601722717,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.95607089996338,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +177.95620489120483,3.4760000705718994,5.319999999999993,58.3,19.882999420166016 +178.0160779953003,3.4730000495910645,5.319999999999993,58.3,19.882999420166016 +178.01621198654175,3.4730000495910645,5.319999999999993,58.3,19.94300079345703 +178.04998683929443,3.4730000495910645,5.319999999999993,58.3,19.94300079345703 +178.050057888031,3.4730000495910645,5.319999999999993,58.3,19.94300079345703 +178.12324285507202,3.4700000286102295,5.319999999999993,58.3,19.94300079345703 +178.12331104278564,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.15595889091492,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.15604782104492,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.2159779071808,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.21609687805176,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.24897599220276,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.2490599155426,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.32594203948975,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.3260748386383,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.3569040298462,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.35699200630188,3.4700000286102295,5.319999999999993,58.3,20.00200080871582 +178.41817593574524,3.4630000591278076,5.319999999999993,58.3,20.00200080871582 +178.41829204559326,3.4630000591278076,5.319999999999993,58.3,20.125999450683594 +178.45086693763733,3.4630000591278076,5.319999999999993,58.3,20.125999450683594 +178.450945854187,3.4630000591278076,5.319999999999993,58.3,20.125999450683594 +178.52302289009094,3.4619998931884766,5.319999999999993,58.3,20.125999450683594 +178.52313899993896,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.55887293815613,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.55900382995605,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.60885787010193,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.60896182060242,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.65179586410522,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.65186095237732,3.4619998931884766,5.319999999999993,58.3,20.18899917602539 +178.70477199554443,3.4619998931884766,5.319999999999993,59.35,20.18899917602539 +178.70481896400452,3.4619998931884766,5.389999999999986,59.35,20.18899917602539 +178.72546100616455,3.4619998931884766,5.389999999999986,59.35,20.18899917602539 +178.72555494308472,3.4619998931884766,5.389999999999986,59.35,20.18899917602539 +178.7587549686432,3.4619998931884766,5.389999999999986,59.35,20.18899917602539 +178.7588529586792,3.4619998931884766,5.389999999999986,59.35,20.18899917602539 +178.80875182151794,3.4590001106262207,5.389999999999986,59.35,20.18899917602539 +178.808837890625,3.4590001106262207,5.389999999999986,59.35,20.323999404907227 +178.8518500328064,3.4590001106262207,5.389999999999986,59.35,20.323999404907227 +178.85199093818665,3.4590001106262207,5.389999999999986,59.35,20.323999404907227 +178.92379999160767,3.4560000896453857,5.389999999999986,59.35,20.323999404907227 +178.92388105392456,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +178.95969200134277,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +178.95978784561157,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +179.00967383384705,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +179.00975489616394,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +179.05364990234375,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +179.053719997406,3.4560000896453857,5.389999999999986,59.35,20.388999938964844 +179.1266360282898,3.447000026702881,5.389999999999986,59.35,20.388999938964844 +179.12672185897827,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.1596109867096,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.15970396995544,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.20961594581604,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.20970702171326,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.25358605384827,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.25365805625916,3.447000026702881,5.389999999999986,59.35,20.518999099731445 +179.32571697235107,3.441999912261963,5.389999999999986,59.35,20.518999099731445 +179.32582187652588,3.441999912261963,5.389999999999986,59.35,20.589000701904297 +179.35954999923706,3.441999912261963,5.389999999999986,59.35,20.589000701904297 +179.3596489429474,3.441999912261963,5.389999999999986,59.35,20.589000701904297 +179.40953493118286,3.440000057220459,5.389999999999986,59.35,20.589000701904297 +179.40962100028992,3.440000057220459,5.389999999999986,59.35,20.658000946044922 +179.4535129070282,3.440000057220459,5.389999999999986,59.35,20.658000946044922 +179.45358085632324,3.440000057220459,5.389999999999986,59.35,20.658000946044922 +179.52553391456604,3.437999963760376,5.389999999999986,59.35,20.658000946044922 +179.5256209373474,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.56052088737488,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.56063890457153,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.61046981811523,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.61055493354797,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.65346693992615,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.653559923172,3.437999963760376,5.389999999999986,59.35,20.72599983215332 +179.70547199249268,3.437999963760376,5.389999999999986,60.98,20.72599983215332 +179.70554304122925,3.437999963760376,5.3700000000000045,60.98,20.72599983215332 +179.7255630493164,3.434999942779541,5.3700000000000045,60.98,20.72599983215332 +179.72563886642456,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.7603988647461,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.76049995422363,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.81039595603943,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.8104748725891,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.8534128665924,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.85350799560547,3.434999942779541,5.3700000000000045,60.98,20.790000915527344 +179.92637395858765,3.431999921798706,5.3700000000000045,60.98,20.790000915527344 +179.92646884918213,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +179.96037101745605,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +179.96047186851501,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +180.01033091545105,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +180.01048803329468,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +180.054682970047,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +180.05479383468628,3.431999921798706,5.3700000000000045,60.98,20.920000076293945 +180.1076648235321,3.430000066757202,5.3700000000000045,60.98,20.920000076293945 +180.107754945755,3.430000066757202,5.3700000000000045,60.98,20.983999252319336 +180.16131591796875,3.430000066757202,5.3700000000000045,60.98,20.983999252319336 +180.16145205497742,3.430000066757202,5.3700000000000045,60.98,20.983999252319336 +180.21124696731567,3.430999994277954,5.3700000000000045,60.98,20.983999252319336 +180.21131896972656,3.430999994277954,5.3700000000000045,60.98,21.055999755859375 +180.2552318572998,3.430999994277954,5.3700000000000045,60.98,21.055999755859375 +180.25529789924622,3.430999994277954,5.3700000000000045,60.98,21.055999755859375 +180.30826497077942,3.428999900817871,5.3700000000000045,60.98,21.055999755859375 +180.30835485458374,3.428999900817871,5.3700000000000045,60.98,21.125 +180.34822297096252,3.428999900817871,5.3700000000000045,60.98,21.125 +180.34836983680725,3.428999900817871,5.3700000000000045,60.98,21.125 +180.41120886802673,3.428999900817871,5.3700000000000045,60.98,21.125 +180.41128492355347,3.428999900817871,5.3700000000000045,60.98,21.125 +180.45567297935486,3.428999900817871,5.3700000000000045,60.98,21.125 +180.4557728767395,3.428999900817871,5.3700000000000045,60.98,21.125 +180.50814986228943,3.4260001182556152,5.3700000000000045,60.98,21.125 +180.50822591781616,3.4260001182556152,5.3700000000000045,60.98,21.187000274658203 +180.54739594459534,3.4260001182556152,5.3700000000000045,60.98,21.187000274658203 +180.5474898815155,3.4260001182556152,5.3700000000000045,60.98,21.187000274658203 +180.61211800575256,3.424999952316284,5.3700000000000045,60.98,21.187000274658203 +180.61219596862793,3.424999952316284,5.3700000000000045,60.98,21.250999450683594 +180.65536999702454,3.424999952316284,5.3700000000000045,60.98,21.250999450683594 +180.65544199943542,3.424999952316284,5.3700000000000045,60.98,21.250999450683594 +180.70606589317322,3.424999952316284,5.3700000000000045,62.45,21.250999450683594 +180.70613598823547,3.424999952316284,5.340000000000003,62.45,21.250999450683594 +180.70808601379395,3.4230000972747803,5.340000000000003,62.45,21.250999450683594 +180.70815801620483,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.74806904792786,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.74813890457153,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.81329989433289,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.8134000301361,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.85613703727722,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.85626792907715,3.4230000972747803,5.340000000000003,62.45,21.312999725341797 +180.9080228805542,3.421999931335449,5.340000000000003,62.45,21.312999725341797 +180.90810799598694,3.421999931335449,5.340000000000003,62.45,21.37299919128418 +180.94800305366516,3.421999931335449,5.340000000000003,62.45,21.37299919128418 +180.94808101654053,3.421999931335449,5.340000000000003,62.45,21.37299919128418 +181.01299786567688,3.4200000762939453,5.340000000000003,62.45,21.37299919128418 +181.01309084892273,3.4200000762939453,5.340000000000003,62.45,21.434999465942383 +181.05598902702332,3.4200000762939453,5.340000000000003,62.45,21.434999465942383 +181.05607891082764,3.4200000762939453,5.340000000000003,62.45,21.434999465942383 +181.0880069732666,3.4200000762939453,5.340000000000003,62.45,21.434999465942383 +181.08811402320862,3.4200000762939453,5.340000000000003,62.45,21.434999465942383 +181.10795187950134,3.4179999828338623,5.340000000000003,62.45,21.434999465942383 +181.1080288887024,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.14792704582214,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.14800095558167,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.20733904838562,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.20740795135498,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.2479019165039,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.24797201156616,3.4179999828338623,5.340000000000003,62.45,21.49799919128418 +181.31290984153748,3.4159998893737793,5.340000000000003,62.45,21.49799919128418 +181.31299686431885,3.4159998893737793,5.340000000000003,62.45,21.554000854492188 +181.3530080318451,3.4159998893737793,5.340000000000003,62.45,21.554000854492188 +181.35311698913574,3.4159998893737793,5.340000000000003,62.45,21.554000854492188 +181.41610288619995,3.4159998893737793,5.340000000000003,62.45,21.554000854492188 +181.41619992256165,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.45693182945251,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.45700788497925,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.49984097480774,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.4999430179596,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.50981402397156,3.4159998893737793,5.340000000000003,62.45,21.608999252319336 +181.50989890098572,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.54978203773499,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.54985284805298,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.61699390411377,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.61706399917603,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.6480839252472,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.64814400672913,3.4159998893737793,5.340000000000003,62.45,21.659000396728516 +181.70683789253235,3.4159998893737793,5.340000000000003,63.34,21.659000396728516 +181.70693397521973,3.4159998893737793,5.360000000000014,63.34,21.659000396728516 +181.70975589752197,3.4179999828338623,5.360000000000014,63.34,21.659000396728516 +181.70985794067383,3.4179999828338623,5.360000000000014,63.34,21.69700050354004 +181.74971795082092,3.4179999828338623,5.360000000000014,63.34,21.69700050354004 +181.74978685379028,3.4179999828338623,5.360000000000014,63.34,21.69700050354004 +181.81489396095276,3.4200000762939453,5.360000000000014,63.34,21.69700050354004 +181.8149709701538,3.4200000762939453,5.360000000000014,63.34,21.725000381469727 +181.84870195388794,3.4200000762939453,5.360000000000014,63.34,21.725000381469727 +181.84878492355347,3.4200000762939453,5.360000000000014,63.34,21.725000381469727 +181.89074802398682,3.4200000762939453,5.360000000000014,63.34,21.725000381469727 +181.89085984230042,3.4200000762939453,5.360000000000014,63.34,21.725000381469727 +181.91069197654724,3.4210000038146973,5.360000000000014,63.34,21.725000381469727 +181.91077184677124,3.4210000038146973,5.360000000000014,63.34,21.743999481201172 +181.95069885253906,3.4210000038146973,5.360000000000014,63.34,21.743999481201172 +181.95078086853027,3.4210000038146973,5.360000000000014,63.34,21.743999481201172 +181.99968886375427,3.424999952316284,5.360000000000014,63.34,21.743999481201172 +181.99981594085693,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.04973602294922,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.04992485046387,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.1126320362091,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.11271691322327,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.15258598327637,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.1526529788971,3.424999952316284,5.360000000000014,63.34,21.757999420166016 +182.2155728340149,3.427000045776367,5.360000000000014,63.34,21.757999420166016 +182.21564292907715,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.24956703186035,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.24964904785156,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.31157302856445,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.31169390678406,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.35151886940002,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.35158896446228,3.427000045776367,5.360000000000014,63.34,21.76099967956543 +182.41184401512146,3.434000015258789,5.360000000000014,63.34,21.76099967956543 +182.41193795204163,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.45049500465393,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.4505639076233,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.51373291015625,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.51386094093323,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.5525779724121,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.552659034729,3.434000015258789,5.360000000000014,63.34,21.73900032043457 +182.607843875885,3.434999942779541,5.360000000000014,63.34,21.73900032043457 +182.60794687271118,3.434999942779541,5.360000000000014,63.34,21.724000930786133 +182.6504349708557,3.434999942779541,5.360000000000014,63.34,21.724000930786133 +182.65051293373108,3.434999942779541,5.360000000000014,63.34,21.724000930786133 +182.70772290229797,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.70777702331543,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.7125599384308,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.7126820087433,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.75338697433472,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.7534568309784,3.434999942779541,5.360000000000014,63.58,21.724000930786133 +182.81639790534973,3.437000036239624,5.360000000000014,63.58,21.724000930786133 +182.8165159225464,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.85037803649902,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.8504638671875,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.91249704360962,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.9126100540161,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.9524028301239,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.9524688720703,3.437000036239624,5.360000000000014,63.58,21.704999923706055 +182.98830604553223,3.437999963760376,5.360000000000014,63.58,21.704999923706055 +182.98838591575623,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.05236387252808,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.0524468421936,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.0942578315735,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.09433698654175,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.15623092651367,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.15630292892456,3.437999963760376,5.360000000000014,63.58,21.70199966430664 +183.18823385238647,3.427000045776367,5.360000000000014,63.58,21.70199966430664 +183.18831205368042,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.2523069381714,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.25238585472107,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.29419589042664,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.29428696632385,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.3541660308838,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.35424399375916,3.427000045776367,5.360000000000014,63.58,21.711999893188477 +183.38925194740295,3.4140000343322754,5.360000000000014,63.58,21.711999893188477 +183.389328956604,3.4140000343322754,5.360000000000014,63.58,21.738000869750977 +183.45223093032837,3.4140000343322754,5.360000000000014,63.58,21.738000869750977 +183.45230197906494,3.4140000343322754,5.360000000000014,63.58,21.738000869750977 +183.4941120147705,3.4019999504089355,5.360000000000014,63.58,21.738000869750977 +183.49418783187866,3.4019999504089355,5.360000000000014,63.58,21.777000427246094 +183.55409693717957,3.4019999504089355,5.360000000000014,63.58,21.777000427246094 +183.5541648864746,3.4019999504089355,5.360000000000014,63.58,21.777000427246094 +183.59009504318237,3.3929998874664307,5.360000000000014,63.58,21.777000427246094 +183.5901699066162,3.3929998874664307,5.360000000000014,63.58,21.826000213623047 +183.65406584739685,3.3929998874664307,5.360000000000014,63.58,21.826000213623047 +183.65414690971375,3.3929998874664307,5.360000000000014,63.58,21.826000213623047 +183.69604897499084,3.3929998874664307,5.360000000000014,63.58,21.826000213623047 +183.6961269378662,3.3929998874664307,5.360000000000014,63.58,21.826000213623047 +183.7080488204956,3.3929998874664307,5.360000000000014,63.65,21.826000213623047 +183.70810389518738,3.3929998874664307,5.439999999999998,63.65,21.826000213623047 +183.74818992614746,3.3929998874664307,5.439999999999998,63.65,21.826000213623047 +183.74825882911682,3.3929998874664307,5.439999999999998,63.65,21.826000213623047 +183.79002690315247,3.380000114440918,5.439999999999998,63.65,21.826000213623047 +183.79009699821472,3.380000114440918,5.439999999999998,63.65,21.888999938964844 +183.8540358543396,3.380000114440918,5.439999999999998,63.65,21.888999938964844 +183.8541169166565,3.380000114440918,5.439999999999998,63.65,21.888999938964844 +183.89498782157898,3.36899995803833,5.439999999999998,63.65,21.888999938964844 +183.89506793022156,3.36899995803833,5.439999999999998,63.65,21.957000732421875 +183.95497298240662,3.36899995803833,5.439999999999998,63.65,21.957000732421875 +183.9550428390503,3.36899995803833,5.439999999999998,63.65,21.957000732421875 +183.98995685577393,3.3499999046325684,5.439999999999998,63.65,21.957000732421875 +183.99003100395203,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.05506587028503,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.0551519393921,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.09595799446106,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.09606003761292,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.15592193603516,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.15602588653564,3.3499999046325684,5.439999999999998,63.65,22.082000732421875 +184.19001603126526,3.3299999237060547,5.439999999999998,63.65,22.082000732421875 +184.19008493423462,3.3299999237060547,5.439999999999998,63.65,22.134000778198242 +184.252014875412,3.3299999237060547,5.439999999999998,63.65,22.134000778198242 +184.2521059513092,3.3299999237060547,5.439999999999998,63.65,22.134000778198242 +184.29384589195251,3.312000036239624,5.439999999999998,63.65,22.134000778198242 +184.29392290115356,3.312000036239624,5.439999999999998,63.65,22.18899917602539 +184.35386085510254,3.312000036239624,5.439999999999998,63.65,22.18899917602539 +184.35394883155823,3.312000036239624,5.439999999999998,63.65,22.18899917602539 +184.3908998966217,3.296999931335449,5.439999999999998,63.65,22.18899917602539 +184.3909718990326,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.45485591888428,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.45496487617493,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.498783826828,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.4988739490509,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.54782605171204,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.54789686203003,3.296999931335449,5.439999999999998,63.65,22.250999450683594 +184.59082794189453,3.2790000438690186,5.439999999999998,63.65,22.250999450683594 +184.5908968448639,3.2790000438690186,5.439999999999998,63.65,22.31599998474121 +184.6557629108429,3.2790000438690186,5.439999999999998,63.65,22.31599998474121 +184.65586805343628,3.2790000438690186,5.439999999999998,63.65,22.31599998474121 +184.69676804542542,3.256999969482422,5.439999999999998,63.65,22.31599998474121 +184.69686889648438,3.256999969482422,5.439999999999998,63.65,22.386999130249023 +184.71183586120605,3.256999969482422,5.439999999999998,64.82,22.386999130249023 +184.71193289756775,3.256999969482422,5.6200000000000045,64.82,22.386999130249023 +184.74690198898315,3.256999969482422,5.6200000000000045,64.82,22.386999130249023 +184.74697184562683,3.256999969482422,5.6200000000000045,64.82,22.386999130249023 +184.79077982902527,3.23799991607666,5.6200000000000045,64.82,22.386999130249023 +184.79086089134216,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.85466504096985,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.85474801063538,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.8966748714447,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.89676094055176,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.9468379020691,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.94690799713135,3.23799991607666,5.6200000000000045,64.82,22.452999114990234 +184.99174690246582,3.2179999351501465,5.6200000000000045,64.82,22.452999114990234 +184.99184584617615,3.2179999351501465,5.6200000000000045,64.82,22.518999099731445 +185.05665683746338,3.2179999351501465,5.6200000000000045,64.82,22.518999099731445 +185.05675292015076,3.2179999351501465,5.6200000000000045,64.82,22.518999099731445 +185.09856486320496,3.2070000171661377,5.6200000000000045,64.82,22.518999099731445 +185.09864282608032,3.2070000171661377,5.6200000000000045,64.82,22.600000381469727 +185.14857387542725,3.2070000171661377,5.6200000000000045,64.82,22.600000381469727 +185.1486518383026,3.2070000171661377,5.6200000000000045,64.82,22.600000381469727 +185.1906328201294,3.193000078201294,5.6200000000000045,64.82,22.600000381469727 +185.19070982933044,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.2545280456543,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.25460505485535,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.29659485816956,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.29671502113342,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.34677696228027,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.34687995910645,3.193000078201294,5.6200000000000045,64.82,22.658000946044922 +185.39172792434692,3.1760001182556152,5.6200000000000045,64.82,22.658000946044922 +185.39182996749878,3.1760001182556152,5.6200000000000045,64.82,22.722999572753906 +185.43156099319458,3.1760001182556152,5.6200000000000045,64.82,22.722999572753906 +185.43164086341858,3.1760001182556152,5.6200000000000045,64.82,22.722999572753906 +185.49742484092712,3.1579999923706055,5.6200000000000045,64.82,22.722999572753906 +185.49750089645386,3.1579999923706055,5.6200000000000045,64.82,22.784000396728516 +185.54741382598877,3.1579999923706055,5.6200000000000045,64.82,22.784000396728516 +185.5474820137024,3.1579999923706055,5.6200000000000045,64.82,22.784000396728516 +185.5915310382843,3.138000011444092,5.6200000000000045,64.82,22.784000396728516 +185.59162187576294,3.138000011444092,5.6200000000000045,64.82,22.860000610351562 +185.65539503097534,3.138000011444092,5.6200000000000045,64.82,22.860000610351562 +185.65547800064087,3.138000011444092,5.6200000000000045,64.82,22.860000610351562 +185.6973578929901,3.138000011444092,5.6200000000000045,64.82,22.860000610351562 +185.69744396209717,3.138000011444092,5.6200000000000045,64.82,22.860000610351562 +185.7133548259735,3.138000011444092,5.6200000000000045,66.31,22.860000610351562 +185.7134530544281,3.138000011444092,5.930000000000007,66.31,22.860000610351562 +185.74653792381287,3.138000011444092,5.930000000000007,66.31,22.860000610351562 +185.74660801887512,3.138000011444092,5.930000000000007,66.31,22.860000610351562 +185.79333901405334,3.122999906539917,5.930000000000007,66.31,22.860000610351562 +185.79342198371887,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.85730504989624,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.8573830127716,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.8874409198761,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.8875379562378,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.94940304756165,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.94948291778564,3.122999906539917,5.930000000000007,66.31,22.91900062561035 +185.99427890777588,3.0889999866485596,5.930000000000007,66.31,22.91900062561035 +185.99436283111572,3.0889999866485596,5.930000000000007,66.31,23.030000686645508 +186.0582399368286,3.0889999866485596,5.930000000000007,66.31,23.030000686645508 +186.05831789970398,3.0889999866485596,5.930000000000007,66.31,23.030000686645508 +186.09930300712585,3.069999933242798,5.930000000000007,66.31,23.030000686645508 +186.09938597679138,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.14927792549133,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.14934992790222,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.19336795806885,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.19350290298462,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.25721287727356,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.2573118209839,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.29929399490356,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.29938793182373,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.3492579460144,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.3493368625641,3.069999933242798,5.930000000000007,66.31,23.09000015258789 +186.39324593544006,3.0390000343322754,5.930000000000007,66.31,23.09000015258789 +186.39336705207825,3.0390000343322754,5.930000000000007,66.31,23.209999084472656 +186.45710802078247,3.0390000343322754,5.930000000000007,66.31,23.209999084472656 +186.45718789100647,3.0390000343322754,5.930000000000007,66.31,23.209999084472656 +186.48722290992737,3.0250000953674316,5.930000000000007,66.31,23.209999084472656 +186.4873080253601,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.54925203323364,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.54933190345764,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.59548091888428,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.5955948829651,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.65909504890442,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.65917301177979,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.68923497200012,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.68943786621094,3.0250000953674316,5.930000000000007,66.31,23.273000717163086 +186.71703505516052,3.0250000953674316,5.930000000000007,67.1,23.273000717163086 +186.71711683273315,3.0250000953674316,6.180000000000007,67.1,23.273000717163086 +186.74114203453064,3.0250000953674316,6.180000000000007,67.1,23.273000717163086 +186.74123191833496,3.0250000953674316,6.180000000000007,67.1,23.273000717163086 +186.79516792297363,2.994999885559082,6.180000000000007,67.1,23.273000717163086 +186.79529404640198,2.994999885559082,6.180000000000007,67.1,23.40999984741211 +186.859050989151,2.994999885559082,6.180000000000007,67.1,23.40999984741211 +186.8591229915619,2.994999885559082,6.180000000000007,67.1,23.40999984741211 +186.88925886154175,2.9790000915527344,6.180000000000007,67.1,23.40999984741211 +186.88934087753296,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +186.95094299316406,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +186.95101690292358,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +186.98611283302307,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +186.98619103431702,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +187.04610085487366,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +187.04618000984192,2.9790000915527344,6.180000000000007,67.1,23.472999572753906 +187.09007501602173,2.9649999141693115,6.180000000000007,67.1,23.472999572753906 +187.09022188186646,2.9649999141693115,6.180000000000007,67.1,23.533000946044922 +187.15190982818604,2.9649999141693115,6.180000000000007,67.1,23.533000946044922 +187.15204501152039,2.9649999141693115,6.180000000000007,67.1,23.533000946044922 +187.18688797950745,2.950000047683716,6.180000000000007,67.1,23.533000946044922 +187.18697094917297,2.950000047683716,6.180000000000007,67.1,23.597000122070312 +187.24803805351257,2.950000047683716,6.180000000000007,67.1,23.597000122070312 +187.24812197685242,2.950000047683716,6.180000000000007,67.1,23.597000122070312 +187.29103994369507,2.933000087738037,6.180000000000007,67.1,23.597000122070312 +187.29126501083374,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.3518078327179,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.35188794136047,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.39680695533752,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.39690589904785,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.46075296401978,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.46083188056946,2.933000087738037,6.180000000000007,67.1,23.656999588012695 +187.4908230304718,2.9189999103546143,6.180000000000007,67.1,23.656999588012695 +187.49090099334717,2.9189999103546143,6.180000000000007,67.1,23.719999313354492 +187.55172991752625,2.9189999103546143,6.180000000000007,67.1,23.719999313354492 +187.5517988204956,2.9189999103546143,6.180000000000007,67.1,23.719999313354492 +187.58879399299622,2.9040000438690186,6.180000000000007,67.1,23.719999313354492 +187.58886098861694,2.9040000438690186,6.180000000000007,67.1,23.784000396728516 +187.6489839553833,2.9040000438690186,6.180000000000007,67.1,23.784000396728516 +187.6491219997406,2.9040000438690186,6.180000000000007,67.1,23.784000396728516 +187.69175791740417,2.8940000534057617,6.180000000000007,67.1,23.784000396728516 +187.69182586669922,2.8940000534057617,6.180000000000007,67.1,23.847000122070312 +187.71564602851868,2.8940000534057617,6.180000000000007,68.55,23.847000122070312 +187.71569991111755,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.7558469772339,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.75590896606445,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.7886848449707,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.7887680530548,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.8486189842224,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.84868502616882,2.8940000534057617,6.490000000000009,68.55,23.847000122070312 +187.89270305633545,2.880000114440918,6.490000000000009,68.55,23.847000122070312 +187.89278101921082,2.880000114440918,6.490000000000009,68.55,23.905000686645508 +187.95458793640137,2.880000114440918,6.490000000000009,68.55,23.905000686645508 +187.95465397834778,2.880000114440918,6.490000000000009,68.55,23.905000686645508 +187.990571975708,2.864000082015991,6.490000000000009,68.55,23.905000686645508 +187.99064683914185,2.864000082015991,6.490000000000009,68.55,23.96500015258789 +188.05054998397827,2.864000082015991,6.490000000000009,68.55,23.96500015258789 +188.0506248474121,2.864000082015991,6.490000000000009,68.55,23.96500015258789 +188.09464287757874,2.8489999771118164,6.490000000000009,68.55,23.96500015258789 +188.09473705291748,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.1555459499359,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.15562891960144,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.19050788879395,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.19058203697205,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.2504918575287,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.25057697296143,2.8489999771118164,6.490000000000009,68.55,24.0310001373291 +188.29454898834229,2.8399999141693115,6.490000000000009,68.55,24.0310001373291 +188.29461789131165,2.8399999141693115,6.490000000000009,68.55,24.097000122070312 +188.35643696784973,2.8399999141693115,6.490000000000009,68.55,24.097000122070312 +188.35651087760925,2.8399999141693115,6.490000000000009,68.55,24.097000122070312 +188.3904869556427,2.8259999752044678,6.490000000000009,68.55,24.097000122070312 +188.39062190055847,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.45049405097961,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.45063591003418,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.49357795715332,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.49371099472046,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.55550003051758,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.55557990074158,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.59038090705872,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.59045886993408,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.65137004852295,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.6514549255371,2.8259999752044678,6.490000000000009,68.55,24.166000366210938 +188.69452285766602,2.7909998893737793,6.490000000000009,68.55,24.166000366210938 +188.694739818573,2.7909998893737793,6.490000000000009,68.55,24.290000915527344 +188.716481924057,2.7909998893737793,6.490000000000009,69.12,24.290000915527344 +188.71653294563293,2.7909998893737793,6.569999999999993,69.12,24.290000915527344 +188.75644302368164,2.7909998893737793,6.569999999999993,69.12,24.290000915527344 +188.7566020488739,2.7909998893737793,6.569999999999993,69.12,24.290000915527344 +188.7913179397583,2.7699999809265137,6.569999999999993,69.12,24.290000915527344 +188.79139804840088,2.7699999809265137,6.569999999999993,69.12,24.350000381469727 +188.851459980011,2.7699999809265137,6.569999999999993,69.12,24.350000381469727 +188.85158395767212,2.7699999809265137,6.569999999999993,69.12,24.350000381469727 +188.89432501792908,2.755000114440918,6.569999999999993,69.12,24.350000381469727 +188.89439988136292,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +188.95627284049988,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +188.95636987686157,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +188.99127292633057,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +188.99138283729553,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +189.05132389068604,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +189.0514588356018,2.755000114440918,6.569999999999993,69.12,24.41200065612793 +189.1076159477234,2.743000030517578,6.569999999999993,69.12,24.41200065612793 +189.10773491859436,2.743000030517578,6.569999999999993,69.12,24.474000930786133 +189.14740705490112,2.743000030517578,6.569999999999993,69.12,24.474000930786133 +189.14748692512512,2.743000030517578,6.569999999999993,69.12,24.474000930786133 +189.1911919116974,2.7269999980926514,6.569999999999993,69.12,24.474000930786133 +189.19127893447876,2.7269999980926514,6.569999999999993,69.12,24.535999298095703 +189.25220203399658,2.7269999980926514,6.569999999999993,69.12,24.535999298095703 +189.25235295295715,2.7269999980926514,6.569999999999993,69.12,24.535999298095703 +189.29535102844238,2.7060000896453857,6.569999999999993,69.12,24.535999298095703 +189.2955060005188,2.7060000896453857,6.569999999999993,69.12,24.594999313354492 +189.34735703468323,2.7060000896453857,6.569999999999993,69.12,24.594999313354492 +189.34745383262634,2.7060000896453857,6.569999999999993,69.12,24.594999313354492 +189.39212203025818,2.688999891281128,6.569999999999993,69.12,24.594999313354492 +189.39226388931274,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.45207500457764,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.45215892791748,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.4961268901825,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.49620294570923,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.5280740261078,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.528156042099,2.688999891281128,6.569999999999993,69.12,24.645999908447266 +189.59406805038452,2.674999952316284,6.569999999999993,69.12,24.645999908447266 +189.594172000885,2.674999952316284,6.569999999999993,69.12,24.697999954223633 +189.65405082702637,2.674999952316284,6.569999999999993,69.12,24.697999954223633 +189.65415692329407,2.674999952316284,6.569999999999993,69.12,24.697999954223633 +189.68910884857178,2.6610000133514404,6.569999999999993,69.12,24.697999954223633 +189.6891839504242,2.6610000133514404,6.569999999999993,69.12,24.767000198364258 +189.71595287322998,2.6610000133514404,6.569999999999993,71.18,24.767000198364258 +189.71600985527039,2.6610000133514404,6.930000000000007,71.18,24.767000198364258 +189.7499749660492,2.6610000133514404,6.930000000000007,71.18,24.767000198364258 +189.7500569820404,2.6610000133514404,6.930000000000007,71.18,24.767000198364258 +189.79395389556885,2.6449999809265137,6.930000000000007,71.18,24.767000198364258 +189.79402899742126,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.8539319038391,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.85400104522705,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.8879828453064,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.88806796073914,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.95892190933228,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.958997964859,2.6449999809265137,6.930000000000007,71.18,24.825000762939453 +189.99498796463013,2.628999948501587,6.930000000000007,71.18,24.825000762939453 +189.9950659275055,2.628999948501587,6.930000000000007,71.18,24.884000778198242 +190.05496382713318,2.628999948501587,6.930000000000007,71.18,24.884000778198242 +190.05503487586975,2.628999948501587,6.930000000000007,71.18,24.884000778198242 +190.08790397644043,2.6080000400543213,6.930000000000007,71.18,24.884000778198242 +190.08798384666443,2.6080000400543213,6.930000000000007,71.18,24.94300079345703 +190.14991188049316,2.6080000400543213,6.930000000000007,71.18,24.94300079345703 +190.1499788761139,2.6080000400543213,6.930000000000007,71.18,24.94300079345703 +190.19383001327515,2.5869998931884766,6.930000000000007,71.18,24.94300079345703 +190.19390988349915,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.25378489494324,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.25384902954102,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.28785705566406,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.28793787956238,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.3497669696808,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.34984302520752,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.39484095573425,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.3949179649353,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.45481991767883,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.4548888206482,2.5869998931884766,6.930000000000007,71.18,25.006999969482422 +190.48973202705383,2.552000045776367,6.930000000000007,71.18,25.006999969482422 +190.48982787132263,2.552000045776367,6.930000000000007,71.18,25.13599967956543 +190.55187487602234,2.552000045776367,6.930000000000007,71.18,25.13599967956543 +190.55202889442444,2.552000045776367,6.930000000000007,71.18,25.13599967956543 +190.59477591514587,2.5350000858306885,6.930000000000007,71.18,25.13599967956543 +190.59485292434692,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.65473794937134,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.65480089187622,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.688738822937,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.68883991241455,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.71560096740723,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.71565103530884,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.7507200241089,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.7507929801941,2.5350000858306885,6.930000000000007,71.18,25.197999954223633 +190.79561185836792,2.5190000534057617,6.930000000000007,71.18,25.197999954223633 +190.7956919670105,2.5190000534057617,6.930000000000007,71.18,25.27899932861328 +190.85557985305786,2.5190000534057617,6.930000000000007,71.18,25.27899932861328 +190.8556468486786,2.5190000534057617,6.930000000000007,71.18,25.27899932861328 +190.88990092277527,2.503000020980835,6.930000000000007,71.18,25.27899932861328 +190.88999199867249,2.503000020980835,6.930000000000007,71.18,25.341999053955078 +190.95155501365662,2.503000020980835,6.930000000000007,71.18,25.341999053955078 +190.95163083076477,2.503000020980835,6.930000000000007,71.18,25.341999053955078 +190.98767805099487,2.4860000610351562,6.930000000000007,71.18,25.341999053955078 +190.98779392242432,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.0475308895111,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.04760193824768,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.0915789604187,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.09170484542847,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.1534879207611,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.15356588363647,2.4860000610351562,6.930000000000007,71.18,25.413000106811523 +191.18766283988953,2.4719998836517334,6.930000000000007,71.18,25.413000106811523 +191.18777298927307,2.4719998836517334,6.930000000000007,71.18,25.479999542236328 +191.2474648952484,2.4719998836517334,6.930000000000007,71.18,25.479999542236328 +191.2475368976593,2.4719998836517334,6.930000000000007,71.18,25.479999542236328 +191.2914478778839,2.4539999961853027,6.930000000000007,71.18,25.479999542236328 +191.291522026062,2.4539999961853027,6.930000000000007,71.18,25.547000885009766 +191.35342502593994,2.4539999961853027,6.930000000000007,71.18,25.547000885009766 +191.35349798202515,2.4539999961853027,6.930000000000007,71.18,25.547000885009766 +191.38745784759521,2.437000036239624,6.930000000000007,71.18,25.547000885009766 +191.38756585121155,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.44740104675293,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.4474709033966,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.49137902259827,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.4914448261261,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.55344700813293,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.5535888671875,2.437000036239624,6.930000000000007,71.18,25.60700035095215 +191.58935499191284,2.421999931335449,6.930000000000007,71.18,25.60700035095215 +191.589457988739,2.421999931335449,6.930000000000007,71.18,25.663000106811523 +191.64931893348694,2.421999931335449,6.930000000000007,71.18,25.663000106811523 +191.64939188957214,2.421999931335449,6.930000000000007,71.18,25.663000106811523 +191.6923840045929,2.4059998989105225,6.930000000000007,71.18,25.663000106811523 +191.6924500465393,2.4059998989105225,6.930000000000007,71.18,25.722999572753906 +191.71626996994019,2.4059998989105225,6.930000000000007,71.18,25.722999572753906 +191.71632504463196,2.4059998989105225,6.930000000000007,71.18,25.722999572753906 +191.75530195236206,2.4059998989105225,6.930000000000007,71.18,25.722999572753906 +191.75538897514343,2.4059998989105225,6.930000000000007,71.18,25.722999572753906 +191.79035091400146,2.3929998874664307,6.930000000000007,71.18,25.722999572753906 +191.79045486450195,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.85031294822693,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.85038685798645,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.89432096481323,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.89438390731812,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.9562108516693,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.9562909603119,2.3929998874664307,6.930000000000007,71.18,25.783000946044922 +191.99027585983276,2.375999927520752,6.930000000000007,71.18,25.783000946044922 +191.99037504196167,2.375999927520752,6.930000000000007,71.18,25.840999603271484 +192.05023884773254,2.375999927520752,6.930000000000007,71.18,25.840999603271484 +192.05030393600464,2.375999927520752,6.930000000000007,71.18,25.840999603271484 +192.09429788589478,2.361999988555908,6.930000000000007,71.18,25.840999603271484 +192.09437799453735,2.361999988555908,6.930000000000007,71.18,25.889999389648438 +192.15615892410278,2.361999988555908,6.930000000000007,71.18,25.889999389648438 +192.15624904632568,2.361999988555908,6.930000000000007,71.18,25.889999389648438 +192.19115090370178,2.3540000915527344,6.930000000000007,71.18,25.889999389648438 +192.191251039505,2.3540000915527344,6.930000000000007,71.18,25.927000045776367 +192.25112986564636,2.3540000915527344,6.930000000000007,71.18,25.927000045776367 +192.25119996070862,2.3540000915527344,6.930000000000007,71.18,25.927000045776367 +192.29420495033264,2.3489999771118164,6.930000000000007,71.18,25.927000045776367 +192.294273853302,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.35606598854065,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.3561429977417,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.39110898971558,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.39122200012207,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.4510898590088,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.45119285583496,2.3489999771118164,6.930000000000007,71.18,25.94700050354004 +192.49503087997437,2.3440001010894775,6.930000000000007,71.18,25.94700050354004 +192.49510097503662,2.3440001010894775,6.930000000000007,71.18,25.961999893188477 +192.55701899528503,2.3440001010894775,6.930000000000007,71.18,25.961999893188477 +192.55709791183472,2.3440001010894775,6.930000000000007,71.18,25.961999893188477 +192.59222388267517,2.3399999141693115,6.930000000000007,71.18,25.961999893188477 +192.59238982200623,2.3399999141693115,6.930000000000007,71.18,25.969999313354492 +192.6521279811859,2.3399999141693115,6.930000000000007,71.18,25.969999313354492 +192.65223503112793,2.3399999141693115,6.930000000000007,71.18,25.969999313354492 +192.695063829422,2.3380000591278076,6.930000000000007,71.18,25.969999313354492 +192.6951789855957,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.71693587303162,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.71700191497803,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.75801396369934,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.75811982154846,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.7920310497284,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.79213094711304,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.85198998451233,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.85206198692322,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.88610982894897,2.3380000591278076,6.930000000000007,71.18,25.972000122070312 +192.8861939907074,2.3380000591278076,6.930000000000007,71.18,25.961999893188477 +192.9578938484192,2.3380000591278076,6.930000000000007,71.18,25.961999893188477 +192.9579679965973,2.3380000591278076,6.930000000000007,71.18,25.961999893188477 +192.99290084838867,2.3420000076293945,6.930000000000007,71.18,25.961999893188477 +192.9930169582367,2.3420000076293945,6.930000000000007,71.18,25.945999145507812 +193.05288887023926,2.3420000076293945,6.930000000000007,71.18,25.945999145507812 +193.05299186706543,2.3420000076293945,6.930000000000007,71.18,25.945999145507812 +193.08604192733765,2.3440001010894775,6.930000000000007,71.18,25.945999145507812 +193.08612298965454,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.15783095359802,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.1579089164734,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.19281601905823,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.19291400909424,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.25278091430664,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.25286293029785,2.3440001010894775,6.930000000000007,71.18,25.926000595092773 +193.2868058681488,2.3429999351501465,6.930000000000007,71.18,25.926000595092773 +193.2868959903717,2.3429999351501465,6.930000000000007,71.18,25.91200065612793 +193.35875988006592,2.3429999351501465,6.930000000000007,71.18,25.91200065612793 +193.35886597633362,2.3429999351501465,6.930000000000007,71.18,25.91200065612793 +193.39275288581848,2.3410000801086426,6.930000000000007,71.18,25.91200065612793 +193.39285588264465,2.3410000801086426,6.930000000000007,71.18,25.920000076293945 +193.45271682739258,2.3410000801086426,6.930000000000007,71.18,25.920000076293945 +193.45280504226685,2.3410000801086426,6.930000000000007,71.18,25.920000076293945 +193.4867148399353,2.3399999141693115,6.930000000000007,71.18,25.920000076293945 +193.48682188987732,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.55867099761963,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.55875897407532,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.59394788742065,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.59407496452332,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.6538848876953,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.65400886535645,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.6866638660431,2.3399999141693115,6.930000000000007,71.18,25.941999435424805 +193.68675088882446,2.3399999141693115,6.930000000000007,71.18,25.979999542236328 +193.7166178226471,2.3399999141693115,6.930000000000007,71.18,25.979999542236328 +193.7166829109192,2.3399999141693115,6.930000000000007,71.18,25.979999542236328 +193.7587490081787,2.3399999141693115,6.930000000000007,71.18,25.979999542236328 +193.7588288784027,2.3399999141693115,6.930000000000007,71.18,25.979999542236328 +193.7945909500122,2.3369998931884766,6.930000000000007,71.18,25.979999542236328 +193.79468894004822,2.3369998931884766,6.930000000000007,71.18,26.030000686645508 +193.8546118736267,2.3369998931884766,6.930000000000007,71.18,26.030000686645508 +193.8547239303589,2.3369998931884766,6.930000000000007,71.18,26.030000686645508 +193.888573884964,2.3340001106262207,6.930000000000007,71.18,26.030000686645508 +193.88865303993225,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +193.96057391166687,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +193.96068596839905,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +193.99452686309814,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +193.9946219921112,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +194.05449295043945,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +194.0545690059662,2.3340001106262207,6.930000000000007,71.18,26.091999053955078 +194.08847403526306,2.3289999961853027,6.930000000000007,71.18,26.091999053955078 +194.08854484558105,2.3289999961853027,6.930000000000007,71.18,26.160999298095703 +194.16052889823914,2.3289999961853027,6.930000000000007,71.18,26.160999298095703 +194.1606409549713,2.3289999961853027,6.930000000000007,71.18,26.160999298095703 +194.19541692733765,2.3239998817443848,6.930000000000007,71.18,26.160999298095703 +194.1955108642578,2.3239998817443848,6.930000000000007,71.18,26.238000869750977 +194.24562001228333,2.3239998817443848,6.930000000000007,71.18,26.238000869750977 +194.2457139492035,2.3239998817443848,6.930000000000007,71.18,26.238000869750977 +194.28843188285828,2.315999984741211,6.930000000000007,71.18,26.238000869750977 +194.28850483894348,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.36041498184204,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.36050391197205,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.39537286758423,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.39546704292297,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.44552183151245,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.4455988407135,2.315999984741211,6.930000000000007,71.18,26.320999145507812 +194.48836398124695,2.308000087738037,6.930000000000007,71.18,26.320999145507812 +194.48845386505127,2.308000087738037,6.930000000000007,71.18,26.398000717163086 +194.56032490730286,2.308000087738037,6.930000000000007,71.18,26.398000717163086 +194.56039786338806,2.308000087738037,6.930000000000007,71.18,26.398000717163086 +194.59530591964722,2.299999952316284,6.930000000000007,71.18,26.398000717163086 +194.5954020023346,2.299999952316284,6.930000000000007,71.18,26.469999313354492 +194.64544486999512,2.299999952316284,6.930000000000007,71.18,26.469999313354492 +194.64552092552185,2.299999952316284,6.930000000000007,71.18,26.469999313354492 +194.68828797340393,2.2909998893737793,6.930000000000007,71.18,26.469999313354492 +194.68836188316345,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.71630787849426,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.71645188331604,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.7613308429718,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.76141786575317,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.7952299118042,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.79532098770142,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.8453938961029,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.8454828262329,2.2909998893737793,6.930000000000007,71.18,26.538000106811523 +194.88928198814392,2.2850000858306885,6.930000000000007,71.18,26.538000106811523 +194.88935685157776,2.2850000858306885,6.930000000000007,71.18,26.60700035095215 +194.96129083633423,2.2850000858306885,6.930000000000007,71.18,26.60700035095215 +194.96137690544128,2.2850000858306885,6.930000000000007,71.18,26.60700035095215 +194.99516201019287,2.2780001163482666,6.930000000000007,71.18,26.60700035095215 +194.99525904655457,2.2780001163482666,6.930000000000007,71.18,26.66699981689453 +195.0453109741211,2.2780001163482666,6.930000000000007,71.18,26.66699981689453 +195.04538893699646,2.2780001163482666,6.930000000000007,71.18,26.66699981689453 +195.089262008667,2.2720000743865967,6.930000000000007,71.18,26.66699981689453 +195.08934783935547,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.1611988544464,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.1612799167633,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.19715094566345,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.1972680091858,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.2271158695221,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.22720003128052,2.2720000743865967,6.930000000000007,71.18,26.72800064086914 +195.29121088981628,2.2699999809265137,6.930000000000007,71.18,26.72800064086914 +195.29130601882935,2.2699999809265137,6.930000000000007,71.18,26.78700065612793 +195.36312890052795,2.2699999809265137,6.930000000000007,71.18,26.78700065612793 +195.36320686340332,2.2699999809265137,6.930000000000007,71.18,26.78700065612793 +195.39910697937012,2.263000011444092,6.930000000000007,71.18,26.78700065612793 +195.39920687675476,2.263000011444092,6.930000000000007,71.18,26.847000122070312 +195.44907188415527,2.263000011444092,6.930000000000007,71.18,26.847000122070312 +195.44914603233337,2.263000011444092,6.930000000000007,71.18,26.847000122070312 +195.49379587173462,2.256999969482422,6.930000000000007,71.18,26.847000122070312 +195.49396800994873,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.56410694122314,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.5641918182373,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.59907793998718,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.59918999671936,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.62900805473328,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.6290819644928,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.69312691688538,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.6932270526886,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.7159309387207,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.7159879207611,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.73393893241882,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.73403882980347,2.256999969482422,6.930000000000007,71.18,26.90999984741211 +195.78515696525574,2.24399995803833,6.930000000000007,71.18,26.90999984741211 +195.7852749824524,2.24399995803833,6.930000000000007,71.18,27.035999298095703 +195.84892892837524,2.24399995803833,6.930000000000007,71.18,27.035999298095703 +195.8489968776703,2.24399995803833,6.930000000000007,71.18,27.035999298095703 +195.8929579257965,2.240000009536743,6.930000000000007,71.18,27.035999298095703 +195.89303302764893,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +195.96292304992676,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +195.96299505233765,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +195.99788999557495,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +195.99801182746887,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.0477910041809,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.04786086082458,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.09320783615112,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.09329104423523,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.16389799118042,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.1639769077301,2.240000009536743,6.930000000000007,71.18,27.094999313354492 +196.1988229751587,2.2320001125335693,6.930000000000007,71.18,27.094999313354492 +196.19892191886902,2.2320001125335693,6.930000000000007,71.18,27.19700050354004 +196.24972486495972,2.2320001125335693,6.930000000000007,71.18,27.19700050354004 +196.2497968673706,2.2320001125335693,6.930000000000007,71.18,27.19700050354004 +196.29304099082947,2.2290000915527344,6.930000000000007,71.18,27.19700050354004 +196.29311203956604,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.3638219833374,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.3639030456543,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.39875602722168,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.398854970932,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.44881200790405,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.44890904426575,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.49378490447998,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.49385690689087,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.56388401985168,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.56395888328552,2.2290000915527344,6.930000000000007,71.18,27.231000900268555 +196.59867596626282,2.2269999980926514,6.930000000000007,71.18,27.231000900268555 +196.5987720489502,2.2269999980926514,6.930000000000007,71.18,27.280000686645508 +196.64865899085999,2.2269999980926514,6.930000000000007,71.18,27.280000686645508 +196.64872694015503,2.2269999980926514,6.930000000000007,71.18,27.280000686645508 +196.69287705421448,2.2290000915527344,6.930000000000007,71.18,27.280000686645508 +196.69296789169312,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.71572399139404,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.71585702896118,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.74473786354065,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.74481296539307,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.79964184761047,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.79972100257874,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.84953093528748,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.849613904953,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.89351987838745,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.8936049938202,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.944659948349,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.94472885131836,2.2290000915527344,6.930000000000007,71.18,27.298999786376953 +196.98535084724426,2.2309999465942383,6.930000000000007,71.18,27.298999786376953 +196.98551988601685,2.2309999465942383,6.930000000000007,71.18,27.28499984741211 +197.05047988891602,2.2309999465942383,6.930000000000007,71.18,27.28499984741211 +197.0505759716034,2.2309999465942383,6.930000000000007,71.18,27.28499984741211 +197.09345483779907,2.2309999465942383,6.930000000000007,71.18,27.28499984741211 +197.09352684020996,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.14545702934265,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.14552998542786,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.1854429244995,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.185564994812,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.250394821167,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.25047302246094,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.28558993339539,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.28570795059204,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.34661602973938,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.3466989994049,2.2309999465942383,6.930000000000007,71.18,27.267000198364258 +197.40033102035522,2.2330000400543213,6.930000000000007,71.18,27.267000198364258 +197.40043592453003,2.2330000400543213,6.930000000000007,71.18,27.242000579833984 +197.45033192634583,2.2330000400543213,6.930000000000007,71.18,27.242000579833984 +197.45041489601135,2.2330000400543213,6.930000000000007,71.18,27.242000579833984 +197.49331402778625,2.2360000610351562,6.930000000000007,71.18,27.242000579833984 +197.49338698387146,2.2360000610351562,6.930000000000007,71.18,27.23200035095215 +197.5653178691864,2.2360000610351562,6.930000000000007,71.18,27.23200035095215 +197.56541299819946,2.2360000610351562,6.930000000000007,71.18,27.23200035095215 +197.60130786895752,2.23799991607666,6.930000000000007,71.18,27.23200035095215 +197.60143089294434,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.65336990356445,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.6534378528595,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.69523000717163,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.6952998638153,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.71521592140198,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.71529698371887,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.74757504463196,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.74765300750732,2.23799991607666,6.930000000000007,71.18,27.224000930786133 +197.78724789619446,2.2360000610351562,6.930000000000007,71.18,27.224000930786133 +197.78735089302063,2.2360000610351562,6.930000000000007,71.18,27.215999603271484 +197.8511838912964,2.2360000610351562,6.930000000000007,71.18,27.215999603271484 +197.85126996040344,2.2360000610351562,6.930000000000007,71.18,27.215999603271484 +197.89519500732422,2.2339999675750732,6.930000000000007,71.18,27.215999603271484 +197.8952980041504,2.2339999675750732,6.930000000000007,71.18,27.21500015258789 +197.94916987419128,2.2339999675750732,6.930000000000007,71.18,27.21500015258789 +197.94926500320435,2.2339999675750732,6.930000000000007,71.18,27.21500015258789 +197.98717498779297,2.2300000190734863,6.930000000000007,71.18,27.21500015258789 +197.98728394508362,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.05311393737793,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.0531928539276,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.09510803222656,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.09518003463745,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.1482150554657,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.1483130455017,2.2300000190734863,6.930000000000007,71.18,27.218000411987305 +198.1871259212494,2.2290000915527344,6.930000000000007,71.18,27.218000411987305 +198.18722486495972,2.2290000915527344,6.930000000000007,71.18,27.21299934387207 +198.2541790008545,2.2290000915527344,6.930000000000007,71.18,27.21299934387207 +198.25425791740417,2.2290000915527344,6.930000000000007,71.18,27.21299934387207 +198.2867670059204,2.2279999256134033,6.930000000000007,71.18,27.21299934387207 +198.28687286376953,2.2279999256134033,6.930000000000007,71.18,27.208999633789062 +198.34815883636475,2.2279999256134033,6.930000000000007,71.18,27.208999633789062 +198.34827089309692,2.2279999256134033,6.930000000000007,71.18,27.208999633789062 +198.38813304901123,2.2260000705718994,6.930000000000007,71.18,27.208999633789062 +198.38824105262756,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.4540090560913,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.4541299343109,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.4882709980011,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.48836088180542,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.55045700073242,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.55056285858154,2.2260000705718994,6.930000000000007,71.18,27.20400047302246 +198.5901198387146,2.2279999256134033,6.930000000000007,71.18,27.20400047302246 +198.59021592140198,2.2279999256134033,6.930000000000007,71.18,27.204999923706055 +198.65394401550293,2.2279999256134033,6.930000000000007,71.18,27.204999923706055 +198.65406489372253,2.2279999256134033,6.930000000000007,71.18,27.204999923706055 +198.6960108280182,2.2279999256134033,6.930000000000007,71.18,27.204999923706055 +198.69609904289246,2.2279999256134033,6.930000000000007,71.18,27.207000732421875 +198.715430021286,2.2279999256134033,6.930000000000007,71.18,27.207000732421875 +198.71549892425537,2.2279999256134033,6.930000000000007,71.18,27.207000732421875 +198.77637696266174,2.2279999256134033,6.930000000000007,71.18,27.207000732421875 +198.77648782730103,2.2279999256134033,6.930000000000007,71.18,27.207000732421875 +198.79113292694092,2.2249999046325684,6.930000000000007,71.18,27.207000732421875 +198.79126596450806,2.2249999046325684,6.930000000000007,71.18,27.211999893188477 +198.85621786117554,2.2249999046325684,6.930000000000007,71.18,27.211999893188477 +198.85634803771973,2.2249999046325684,6.930000000000007,71.18,27.211999893188477 +198.88668298721313,2.2239999771118164,6.930000000000007,71.18,27.211999893188477 +198.88702702522278,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +198.94692492485046,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +198.9469928741455,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +198.98982691764832,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +198.9899389743805,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +199.04977202415466,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +199.04984283447266,2.2239999771118164,6.930000000000007,71.18,27.216999053955078 +199.0899510383606,2.2209999561309814,6.930000000000007,71.18,27.216999053955078 +199.0900650024414,2.2209999561309814,6.930000000000007,71.18,27.215999603271484 +199.15471696853638,2.2209999561309814,6.930000000000007,71.18,27.215999603271484 +199.15478682518005,2.2209999561309814,6.930000000000007,71.18,27.215999603271484 +199.18636083602905,2.2170000076293945,6.930000000000007,71.18,27.215999603271484 +199.1864709854126,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.24969005584717,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.24975895881653,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.28972792625427,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.28984594345093,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.345773935318,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.34585094451904,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.38820791244507,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.38831305503845,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.42963790893555,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.42971181869507,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.48966193199158,2.2170000076293945,6.930000000000007,71.18,27.216999053955078 +199.4897768497467,2.2170000076293945,6.930000000000007,71.18,27.20800018310547 +199.54578495025635,2.2170000076293945,6.930000000000007,71.18,27.20800018310547 +199.5458629131317,2.2170000076293945,6.930000000000007,71.18,27.20800018310547 +199.58694195747375,2.2170000076293945,6.930000000000007,71.18,27.20800018310547 +199.58705401420593,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.65075397491455,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.6510510444641,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.70365190505981,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.70373702049255,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.718505859375,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.7185640335083,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.7457299232483,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.7458200454712,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.78657698631287,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.78669500350952,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.84952092170715,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.84962391853333,2.2170000076293945,6.930000000000007,71.18,27.202999114990234 +199.8895299434662,2.2179999351501465,6.930000000000007,71.18,27.202999114990234 +199.88964796066284,2.2179999351501465,6.930000000000007,71.18,27.19700050354004 +199.94565391540527,2.2179999351501465,6.930000000000007,71.18,27.19700050354004 +199.94573092460632,2.2179999351501465,6.930000000000007,71.18,27.19700050354004 +199.9860179424286,2.2160000801086426,6.930000000000007,71.18,27.19700050354004 +199.98611998558044,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.0504150390625,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.0504789352417,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.09299087524414,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.09308385849,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.14558005332947,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.14565896987915,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.18619394302368,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.18637084960938,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.25036096572876,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.25043392181396,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.29039192199707,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.2905149459839,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.34562587738037,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.34572100639343,2.2160000801086426,6.930000000000007,71.18,27.198999404907227 +200.38618183135986,2.2149999141693115,6.930000000000007,71.18,27.198999404907227 +200.38864994049072,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.45146894454956,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.4515769481659,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.4915668964386,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.4916868209839,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.54625487327576,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.54633498191833,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.58631300926208,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.5864279270172,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.65221500396729,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.6522889137268,2.2149999141693115,6.930000000000007,71.18,27.201000213623047 +200.69495296478271,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.6950809955597,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.71917390823364,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.71923995018005,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.74733686447144,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.7474398612976,2.2219998836517334,6.930000000000007,71.18,27.201000213623047 +200.7873659133911,2.2249999046325684,6.930000000000007,71.18,27.201000213623047 +200.78747987747192,2.2249999046325684,6.930000000000007,71.18,27.20199966430664 +200.8521568775177,2.2249999046325684,6.930000000000007,71.18,27.20199966430664 +200.85223293304443,2.2249999046325684,6.930000000000007,71.18,27.20199966430664 +200.8921730518341,2.2260000705718994,6.930000000000007,71.18,27.20199966430664 +200.89228105545044,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +200.9472119808197,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +200.9472930431366,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +200.98725390434265,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +200.9873650074005,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +201.05311584472656,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +201.05321192741394,2.2260000705718994,6.930000000000007,71.18,27.204999923706055 +201.0863959789276,2.2249999046325684,6.930000000000007,71.18,27.204999923706055 +201.0864839553833,2.2249999046325684,6.930000000000007,71.18,27.208999633789062 +201.1490499973297,2.2249999046325684,6.930000000000007,71.18,27.208999633789062 +201.14912605285645,2.2249999046325684,6.930000000000007,71.18,27.208999633789062 +201.1880669593811,2.2239999771118164,6.930000000000007,71.18,27.208999633789062 +201.1882519721985,2.2239999771118164,6.930000000000007,71.18,27.20800018310547 +201.25302982330322,2.2239999771118164,6.930000000000007,71.18,27.20800018310547 +201.25311183929443,2.2239999771118164,6.930000000000007,71.18,27.20800018310547 +201.28574395179749,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.28583192825317,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.3490068912506,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.3491129875183,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.38900995254517,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.3891110420227,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.45294785499573,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.45302391052246,2.2230000495910645,6.930000000000007,71.18,27.20800018310547 +201.48628783226013,2.2209999561309814,6.930000000000007,71.18,27.20800018310547 +201.4863908290863,2.2209999561309814,6.930000000000007,71.18,27.20199966430664 +201.54891085624695,2.2209999561309814,6.930000000000007,71.18,27.20199966430664 +201.5489900112152,2.2209999561309814,6.930000000000007,71.18,27.20199966430664 +201.58893585205078,2.2170000076293945,6.930000000000007,71.18,27.20199966430664 +201.58903694152832,2.2170000076293945,6.930000000000007,71.18,27.19499969482422 +201.6539499759674,2.2170000076293945,6.930000000000007,71.18,27.19499969482422 +201.65401887893677,2.2170000076293945,6.930000000000007,71.18,27.19499969482422 +201.68554782867432,2.2109999656677246,6.930000000000007,71.18,27.19499969482422 +201.68563604354858,2.2109999656677246,6.930000000000007,71.18,27.194000244140625 +201.71785283088684,2.2109999656677246,6.930000000000007,71.18,27.194000244140625 +201.71792697906494,2.2109999656677246,6.930000000000007,71.18,27.194000244140625 +201.74796986579895,2.2109999656677246,6.930000000000007,71.18,27.194000244140625 +201.74804496765137,2.2109999656677246,6.930000000000007,71.18,27.194000244140625 +201.7880380153656,2.2039999961853027,6.930000000000007,71.18,27.194000244140625 +201.78812384605408,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.84881401062012,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.8488838672638,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.88883304595947,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.88892793655396,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.95875000953674,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.9588270187378,2.2039999961853027,6.930000000000007,71.18,27.190000534057617 +201.9854018688202,2.2019999027252197,6.930000000000007,71.18,27.190000534057617 +201.98549890518188,2.2019999027252197,6.930000000000007,71.18,27.187999725341797 +202.04503989219666,2.2019999027252197,6.930000000000007,71.18,27.187999725341797 +202.04512786865234,2.2019999027252197,6.930000000000007,71.18,27.187999725341797 +202.08523201942444,2.203000068664551,6.930000000000007,71.18,27.187999725341797 +202.08534693717957,2.203000068664551,6.930000000000007,71.18,27.191999435424805 +202.14879202842712,2.203000068664551,6.930000000000007,71.18,27.191999435424805 +202.14886689186096,2.203000068664551,6.930000000000007,71.18,27.191999435424805 +202.1903109550476,2.203000068664551,6.930000000000007,71.18,27.191999435424805 +202.19042086601257,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.24675393104553,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.24683094024658,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.2868309020996,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.2869439125061,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.35162901878357,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.3517119884491,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.39167499542236,2.203000068664551,6.930000000000007,71.18,27.194000244140625 +202.39179301261902,2.203000068664551,6.930000000000007,71.18,27.200000762939453 +202.44667601585388,2.203000068664551,6.930000000000007,71.18,27.200000762939453 +202.44675302505493,2.203000068664551,6.930000000000007,71.18,27.200000762939453 +202.48673486709595,2.2019999027252197,6.930000000000007,71.18,27.200000762939453 +202.48684787750244,2.2019999027252197,6.930000000000007,71.18,27.20400047302246 +202.55257391929626,2.2019999027252197,6.930000000000007,71.18,27.20400047302246 +202.55266094207764,2.2019999027252197,6.930000000000007,71.18,27.20400047302246 +202.59174489974976,2.1989998817443848,6.930000000000007,71.18,27.20400047302246 +202.59183502197266,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.6476309299469,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.647696018219,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.68856191635132,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.68867897987366,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.71849393844604,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.71857690811157,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.75358891487122,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.75367093086243,2.1989998817443848,6.930000000000007,71.18,27.204999923706055 +202.79590797424316,2.197000026702881,6.930000000000007,71.18,27.204999923706055 +202.79606103897095,2.197000026702881,6.930000000000007,71.18,27.20599937438965 +202.84770798683167,2.197000026702881,6.930000000000007,71.18,27.20599937438965 +202.84777402877808,2.197000026702881,6.930000000000007,71.18,27.20599937438965 +202.88775992393494,2.196000099182129,6.930000000000007,71.18,27.20599937438965 +202.88787293434143,2.196000099182129,6.930000000000007,71.18,27.20599937438965 +202.952064037323,2.196000099182129,6.930000000000007,71.18,27.20599937438965 +202.95219802856445,2.196000099182129,6.930000000000007,71.18,27.20599937438965 +202.99144291877747,2.194000005722046,6.930000000000007,71.18,27.20599937438965 +202.991534948349,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.04743099212646,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.04754495620728,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.08745694160461,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.08756589889526,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.16400694847107,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.16447401046753,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.18740797042847,2.194000005722046,6.930000000000007,71.18,27.204999923706055 +203.18752598762512,2.194000005722046,6.930000000000007,71.18,27.200000762939453 +203.24736404418945,2.194000005722046,6.930000000000007,71.18,27.200000762939453 +203.24748396873474,2.194000005722046,6.930000000000007,71.18,27.200000762939453 +203.28735089302063,2.193000078201294,6.930000000000007,71.18,27.200000762939453 +203.28746485710144,2.193000078201294,6.930000000000007,71.18,27.195999145507812 +203.35243391990662,2.193000078201294,6.930000000000007,71.18,27.195999145507812 +203.35262203216553,2.193000078201294,6.930000000000007,71.18,27.195999145507812 +203.38743495941162,2.194999933242798,6.930000000000007,71.18,27.195999145507812 +203.38753986358643,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.4496989250183,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.44980001449585,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.48928689956665,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.4894139766693,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.55343103408813,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.55353999137878,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.5951988697052,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.5952968597412,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.64730095863342,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.6473789215088,2.194999933242798,6.930000000000007,71.18,27.197999954223633 +203.68822598457336,2.193000078201294,6.930000000000007,71.18,27.197999954223633 +203.6883418560028,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.71813583374023,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.7181978225708,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.75538897514343,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.75554585456848,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.79533982276917,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.7954740524292,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.85180282592773,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.85192584991455,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.89115285873413,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.89124703407288,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.9531888961792,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.95326495170593,2.193000078201294,6.930000000000007,71.18,27.204999923706055 +203.99542784690857,2.187999963760376,6.930000000000007,71.18,27.204999923706055 +203.99551582336426,2.187999963760376,6.930000000000007,71.18,27.20400047302246 +204.0471580028534,2.187999963760376,6.930000000000007,71.18,27.20400047302246 +204.0472218990326,2.187999963760376,6.930000000000007,71.18,27.20400047302246 +204.1110270023346,2.190000057220459,6.930000000000007,71.18,27.20400047302246 +204.1111159324646,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.15307593345642,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.1532130241394,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.19523000717163,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.19532585144043,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.24897003173828,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.2490599155426,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.2889928817749,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.28911685943604,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.35396599769592,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.35405802726746,2.190000057220459,6.930000000000007,71.18,27.20599937438965 +204.39008903503418,2.187999963760376,6.930000000000007,71.18,27.20599937438965 +204.3902039527893,2.187999963760376,6.930000000000007,71.18,27.20800018310547 +204.44894194602966,2.187999963760376,6.930000000000007,71.18,27.20800018310547 +204.4490430355072,2.187999963760376,6.930000000000007,71.18,27.20800018310547 +204.49005603790283,2.187999963760376,6.930000000000007,71.18,27.20800018310547 +204.49017095565796,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.5529568195343,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.5530288219452,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.58889484405518,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.58903098106384,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.64882802963257,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.64891600608826,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.68891787528992,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.68905901908875,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.7177770137787,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.71784090995789,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.75498604774475,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.75511193275452,2.187999963760376,6.930000000000007,71.18,27.21500015258789 +204.79585599899292,2.183000087738037,6.930000000000007,71.18,27.21500015258789 +204.7959339618683,2.183000087738037,6.930000000000007,71.18,27.20599937438965 +204.8487629890442,2.183000087738037,6.930000000000007,71.18,27.20599937438965 +204.8488368988037,2.183000087738037,6.930000000000007,71.18,27.20599937438965 +204.88878393173218,2.181999921798706,6.930000000000007,71.18,27.20599937438965 +204.88890385627747,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +204.9548408985138,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +204.95492386817932,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +204.99584102630615,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +204.9959478378296,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +205.04871582984924,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +205.0488178730011,2.181999921798706,6.930000000000007,71.18,27.200000762939453 +205.08873796463013,2.180999994277954,6.930000000000007,71.18,27.200000762939453 +205.08886694908142,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.15477299690247,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.15485382080078,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.19496393203735,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.19506788253784,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.2497148513794,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.2497889995575,2.180999994277954,6.930000000000007,71.18,27.207000732421875 +205.29095602035522,2.180000066757202,6.930000000000007,71.18,27.207000732421875 +205.29109287261963,2.180000066757202,6.930000000000007,71.18,27.211999893188477 +205.36469793319702,2.180000066757202,6.930000000000007,71.18,27.211999893188477 +205.36478400230408,2.180000066757202,6.930000000000007,71.18,27.211999893188477 +205.38862991333008,2.177999973297119,6.930000000000007,71.18,27.211999893188477 +205.38874197006226,2.177999973297119,6.930000000000007,71.18,27.219999313354492 +205.44856786727905,2.177999973297119,6.930000000000007,71.18,27.219999313354492 +205.44864583015442,2.177999973297119,6.930000000000007,71.18,27.219999313354492 +205.4885950088501,2.174999952316284,6.930000000000007,71.18,27.219999313354492 +205.48871684074402,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.55356097221375,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.55365085601807,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.5971429347992,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.5972499847412,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.64849400520325,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.6485619544983,2.174999952316284,6.930000000000007,71.18,27.218000411987305 +205.68852496147156,2.1740000247955322,6.930000000000007,71.18,27.218000411987305 +205.688649892807,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.71742987632751,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.71748185157776,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.75447392463684,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.75456285476685,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.79652190208435,2.1740000247955322,6.930000000000007,71.18,27.2189998626709 +205.79661798477173,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.82842803001404,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.828528881073,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.88844394683838,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.88856196403503,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.91241598129272,2.1740000247955322,6.930000000000007,71.18,27.21500015258789 +205.91257190704346,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +205.95439386367798,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +205.9544699192047,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +205.99650597572327,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +205.99660301208496,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +206.04835987091064,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +206.04843401908875,2.1740000247955322,6.930000000000007,71.18,27.209999084472656 +206.08839797973633,2.174999952316284,6.930000000000007,71.18,27.209999084472656 +206.08852005004883,2.174999952316284,6.930000000000007,71.18,27.20800018310547 +206.15433287620544,2.174999952316284,6.930000000000007,71.18,27.20800018310547 +206.1544108390808,2.174999952316284,6.930000000000007,71.18,27.20800018310547 +206.19637894630432,2.174999952316284,6.930000000000007,71.18,27.20800018310547 +206.19646286964417,2.174999952316284,6.930000000000007,71.18,27.204999923706055 +206.25027990341187,2.174999952316284,6.930000000000007,71.18,27.204999923706055 +206.25035500526428,2.174999952316284,6.930000000000007,71.18,27.204999923706055 +206.29030394554138,2.177000045776367,6.930000000000007,71.18,27.204999923706055 +206.29042291641235,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.3554048538208,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.35549902915955,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.39638590812683,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.3964660167694,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.45120096206665,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.451269865036,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.49122786521912,2.177000045776367,6.930000000000007,71.18,27.209999084472656 +206.49134802818298,2.177000045776367,6.930000000000007,71.18,27.214000701904297 +206.55624198913574,2.177000045776367,6.930000000000007,71.18,27.214000701904297 +206.5563359260559,2.177000045776367,6.930000000000007,71.18,27.214000701904297 +206.59625887870789,2.1760001182556152,6.930000000000007,71.18,27.214000701904297 +206.59635496139526,2.1760001182556152,6.930000000000007,71.18,27.218000411987305 +206.65222597122192,2.1760001182556152,6.930000000000007,71.18,27.218000411987305 +206.65234088897705,2.1760001182556152,6.930000000000007,71.18,27.218000411987305 +206.69217491149902,2.177000045776367,6.930000000000007,71.18,27.218000411987305 +206.69229388237,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.71811294555664,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.71817588806152,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.74529695510864,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.74544882774353,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.79724502563477,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.79733204841614,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.85312485694885,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.85327696800232,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.88574385643005,2.177000045776367,6.930000000000007,71.18,27.22100067138672 +206.88582491874695,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +206.9462640285492,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +206.94634294509888,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +206.99801802635193,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +206.99809288978577,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.05300498008728,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.0530869960785,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.08560299873352,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.0856969356537,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.1341209411621,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.13426089286804,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.2040729522705,2.177000045776367,6.930000000000007,71.18,27.2189998626709 +207.20416283607483,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.24504399299622,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.24512887001038,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.28519082069397,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.28530192375183,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.3491199016571,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.34922194480896,2.177000045776367,6.930000000000007,71.18,27.216999053955078 +207.39598393440247,2.1760001182556152,6.930000000000007,71.18,27.216999053955078 +207.39609098434448,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.44513201713562,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.4452199935913,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.48528599739075,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.4855020046234,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.54796385765076,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.54805898666382,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.59982204437256,2.1760001182556152,6.930000000000007,71.18,27.2189998626709 +207.5999038219452,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.64693093299866,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.64703702926636,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.68692803382874,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.68705201148987,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.7188379764557,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.71890687942505,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.74987697601318,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.74997901916504,2.1760001182556152,6.930000000000007,71.18,27.215999603271484 +207.80181789398193,2.177999973297119,6.930000000000007,71.18,27.215999603271484 +207.80192399024963,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.83774590492249,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.83783388137817,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.88789892196655,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.88802099227905,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.90775084495544,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.90785002708435,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.94974303245544,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.94983196258545,2.177999973297119,6.930000000000007,71.18,27.218000411987305 +207.99887490272522,2.184999942779541,6.930000000000007,71.18,27.218000411987305 +207.9989619255066,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.04884600639343,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.0489640235901,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.08883500099182,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.08894896507263,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.15175604820251,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.1518678665161,2.184999942779541,6.930000000000007,71.18,27.209999084472656 +208.2036349773407,2.190000057220459,6.930000000000007,71.18,27.209999084472656 +208.20373702049255,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.2511010169983,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.2511968612671,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.29090404510498,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.29099798202515,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.36356401443481,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.3636519908905,2.190000057220459,6.930000000000007,71.18,27.20800018310547 +208.3995349407196,2.2130000591278076,6.930000000000007,71.18,27.20800018310547 +208.39963102340698,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.44958996772766,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.44973802566528,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.4895420074463,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.48966598510742,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.55249094963074,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.552561044693,2.2130000591278076,6.930000000000007,71.18,27.195999145507812 +208.58480286598206,2.240000009536743,6.930000000000007,71.18,27.195999145507812 +208.58488297462463,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.64844489097595,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.648521900177,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.68847489356995,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.68860292434692,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.7214870452881,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.72155904769897,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.7525179386139,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.75259399414062,2.240000009536743,6.930000000000007,71.18,27.194000244140625 +208.7847499847412,2.3359999656677246,6.930000000000007,71.18,27.194000244140625 +208.78482699394226,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.84838485717773,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.84846091270447,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.88841891288757,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.88854503631592,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.95243191719055,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.9525089263916,2.3359999656677246,6.930000000000007,71.18,27.18199920654297 +208.9847128391266,2.3949999809265137,6.930000000000007,71.18,27.18199920654297 +208.98479795455933,2.3949999809265137,6.930000000000007,71.18,27.176000595092773 +209.05037784576416,2.3949999809265137,6.930000000000007,71.18,27.176000595092773 +209.05052089691162,2.3949999809265137,6.930000000000007,71.18,27.176000595092773 +209.0903618335724,2.4600000381469727,6.930000000000007,71.18,27.176000595092773 +209.09048104286194,2.4600000381469727,6.930000000000007,71.18,27.170000076293945 +209.15334582328796,2.4600000381469727,6.930000000000007,71.18,27.170000076293945 +209.1534140110016,2.4600000381469727,6.930000000000007,71.18,27.170000076293945 +209.18533992767334,2.5199999809265137,6.930000000000007,71.18,27.170000076293945 +209.18543982505798,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.25133800506592,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.2514169216156,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.29140305519104,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.29152584075928,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.3444468975067,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.34452605247498,2.5199999809265137,6.930000000000007,71.18,27.163000106811523 +209.38729691505432,2.5739998817443848,6.930000000000007,71.18,27.163000106811523 +209.3874340057373,2.5739998817443848,6.930000000000007,71.18,27.163999557495117 +209.45127201080322,2.5739998817443848,6.930000000000007,71.18,27.163999557495117 +209.45133590698242,2.5739998817443848,6.930000000000007,71.18,27.163999557495117 +209.49133396148682,2.615000009536743,6.930000000000007,71.18,27.163999557495117 +209.49145984649658,2.615000009536743,6.930000000000007,71.18,27.166000366210938 +209.5453269481659,2.615000009536743,6.930000000000007,71.18,27.166000366210938 +209.54540491104126,2.615000009536743,6.930000000000007,71.18,27.166000366210938 +209.5872118473053,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.58733081817627,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.65121603012085,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.65128803253174,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.6912829875946,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.69140887260437,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.72405004501343,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.72412300109863,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.75521802902222,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.75538086891174,2.6389999389648438,6.930000000000007,71.18,27.166000366210938 +209.7873318195343,2.6449999809265137,6.930000000000007,71.18,27.166000366210938 +209.7874310016632,2.6449999809265137,6.930000000000007,71.18,27.17300033569336 +209.8520429134369,2.6449999809265137,6.930000000000007,71.18,27.17300033569336 +209.85212397575378,2.6449999809265137,6.930000000000007,71.18,27.17300033569336 +209.89207291603088,2.6389999389648438,6.930000000000007,71.18,27.17300033569336 +209.89219284057617,2.6389999389648438,6.930000000000007,71.18,27.172000885009766 +209.94521403312683,2.6389999389648438,6.930000000000007,71.18,27.172000885009766 +209.9452929496765,2.6389999389648438,6.930000000000007,71.18,27.172000885009766 +209.987056016922,2.625,6.930000000000007,71.18,27.172000885009766 +209.98718404769897,2.625,6.930000000000007,71.18,27.17099952697754 +210.05299186706543,2.625,6.930000000000007,71.18,27.17099952697754 +210.05308985710144,2.625,6.930000000000007,71.18,27.17099952697754 +210.09299993515015,2.625,6.930000000000007,71.18,27.17099952697754 +210.09311890602112,2.625,6.930000000000007,71.18,27.17099952697754 +210.14696884155273,2.625,6.930000000000007,71.18,27.17099952697754 +210.14706087112427,2.625,6.930000000000007,71.18,27.17099952697754 +210.18900203704834,2.6080000400543213,6.930000000000007,71.18,27.17099952697754 +210.1891279220581,2.6080000400543213,6.930000000000007,71.18,27.172000885009766 +210.22890496253967,2.6080000400543213,6.930000000000007,71.18,27.172000885009766 +210.2289798259735,2.6080000400543213,6.930000000000007,71.18,27.172000885009766 +210.28508591651917,2.5929999351501465,6.930000000000007,71.18,27.172000885009766 +210.28516387939453,2.5929999351501465,6.930000000000007,71.18,27.167999267578125 +210.3478720188141,2.5929999351501465,6.930000000000007,71.18,27.167999267578125 +210.34794092178345,2.5929999351501465,6.930000000000007,71.18,27.167999267578125 +210.3898570537567,2.5799999237060547,6.930000000000007,71.18,27.167999267578125 +210.38992285728455,2.5799999237060547,6.930000000000007,71.18,27.170000076293945 +210.4450080394745,2.5799999237060547,6.930000000000007,71.18,27.170000076293945 +210.44510793685913,2.5799999237060547,6.930000000000007,71.18,27.170000076293945 +210.48504185676575,2.572000026702881,6.930000000000007,71.18,27.170000076293945 +210.4851438999176,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.5477819442749,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.5478479862213,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.59095191955566,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.5910520553589,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.64494395256042,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.64504384994507,2.572000026702881,6.930000000000007,71.18,27.17099952697754 +210.68494987487793,2.565999984741211,6.930000000000007,71.18,27.17099952697754 +210.68513202667236,2.565999984741211,6.930000000000007,71.18,27.17300033569336 +210.72669196128845,2.565999984741211,6.930000000000007,71.18,27.17300033569336 +210.72676587104797,2.565999984741211,6.930000000000007,71.18,27.17300033569336 +210.74774384498596,2.565999984741211,6.930000000000007,71.18,27.17300033569336 +210.747820854187,2.565999984741211,6.930000000000007,71.18,27.17300033569336 +210.78971195220947,2.565000057220459,6.930000000000007,71.18,27.17300033569336 +210.78978896141052,2.565000057220459,6.930000000000007,71.18,27.174999237060547 +210.8458058834076,2.565000057220459,6.930000000000007,71.18,27.174999237060547 +210.84589791297913,2.565000057220459,6.930000000000007,71.18,27.174999237060547 +210.88593196868896,2.563999891281128,6.930000000000007,71.18,27.174999237060547 +210.8860960006714,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +210.94869899749756,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +210.94878888130188,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +210.99077105522156,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +210.99084281921387,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.03074288368225,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.0308198928833,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.08661198616028,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.08670282363892,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.14973902702332,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.14981484413147,2.563999891281128,6.930000000000007,71.18,27.173999786376953 +211.19158601760864,2.562999963760376,6.930000000000007,71.18,27.173999786376953 +211.19166803359985,2.562999963760376,6.930000000000007,71.18,27.176000595092773 +211.2475700378418,2.562999963760376,6.930000000000007,71.18,27.176000595092773 +211.2476749420166,2.562999963760376,6.930000000000007,71.18,27.176000595092773 +211.2875418663025,2.563999891281128,6.930000000000007,71.18,27.176000595092773 +211.2876889705658,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.35061502456665,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.35068082809448,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.39252495765686,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.39261102676392,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.45149302482605,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.45158982276917,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.49150586128235,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.4916069507599,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.54468703269958,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.54477286338806,2.563999891281128,6.930000000000007,71.18,27.177000045776367 +211.58658599853516,2.571000099182129,6.930000000000007,71.18,27.177000045776367 +211.58666586875916,2.571000099182129,6.930000000000007,71.18,27.170000076293945 +211.6514129638672,2.571000099182129,6.930000000000007,71.18,27.170000076293945 +211.65150904655457,2.571000099182129,6.930000000000007,71.18,27.170000076293945 +211.6914038658142,2.5880000591278076,6.930000000000007,71.18,27.170000076293945 +211.6914930343628,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.73337483406067,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.73347282409668,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.74456095695496,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.7446310520172,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.7863838672638,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.78647089004517,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.85234785079956,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.85244488716125,2.5880000591278076,6.930000000000007,71.18,27.160999298095703 +211.8923568725586,2.615999937057495,6.930000000000007,71.18,27.160999298095703 +211.89245200157166,2.615999937057495,6.930000000000007,71.18,27.142000198364258 +211.94632697105408,2.615999937057495,6.930000000000007,71.18,27.142000198364258 +211.94639682769775,2.615999937057495,6.930000000000007,71.18,27.142000198364258 +211.9883270263672,2.6549999713897705,6.930000000000007,71.18,27.142000198364258 +211.98840594291687,2.6549999713897705,6.930000000000007,71.18,27.121000289916992 +212.05329298973083,2.6549999713897705,6.930000000000007,71.18,27.121000289916992 +212.053475856781,2.6549999713897705,6.930000000000007,71.18,27.121000289916992 +212.09329104423523,2.7049999237060547,6.930000000000007,71.18,27.121000289916992 +212.09338688850403,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.14628195762634,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.1463749408722,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.188236951828,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.18831300735474,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.25321793556213,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.25332403182983,2.7049999237060547,6.930000000000007,71.18,27.09600067138672 +212.29319882392883,2.7699999809265137,6.930000000000007,71.18,27.09600067138672 +212.29327988624573,2.7699999809265137,6.930000000000007,71.18,27.06800079345703 +212.34731698036194,2.7699999809265137,6.930000000000007,71.18,27.06800079345703 +212.34741401672363,2.7699999809265137,6.930000000000007,71.18,27.06800079345703 +212.3892388343811,2.8429999351501465,6.930000000000007,71.18,27.06800079345703 +212.38937091827393,2.8429999351501465,6.930000000000007,71.18,27.033000946044922 +212.4531798362732,2.8429999351501465,6.930000000000007,71.18,27.033000946044922 +212.45331692695618,2.8429999351501465,6.930000000000007,71.18,27.033000946044922 +212.4932098388672,2.9189999103546143,6.930000000000007,71.18,27.033000946044922 +212.49330592155457,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.54717183113098,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.54727482795715,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.58914995193481,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.58922791481018,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.6541030406952,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.65421986579895,2.9189999103546143,6.930000000000007,71.18,26.990999221801758 +212.68428587913513,2.990999937057495,6.930000000000007,71.18,26.990999221801758 +212.68439483642578,2.990999937057495,6.930000000000007,71.18,26.951000213623047 +212.72423481941223,2.990999937057495,6.930000000000007,71.18,26.951000213623047 +212.72432899475098,2.990999937057495,6.930000000000007,71.18,26.951000213623047 +212.72514986991882,2.990999937057495,6.930000000000007,71.18,26.951000213623047 +212.72520899772644,2.990999937057495,6.930000000000007,71.18,26.951000213623047 +212.79003286361694,3.0460000038146973,6.930000000000007,71.18,26.951000213623047 +212.79010391235352,3.0460000038146973,6.930000000000007,71.18,26.913000106811523 +212.830148935318,3.0460000038146973,6.930000000000007,71.18,26.913000106811523 +212.83022093772888,3.0460000038146973,6.930000000000007,71.18,26.913000106811523 +212.89300203323364,3.0889999866485596,6.930000000000007,71.18,26.913000106811523 +212.89310002326965,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +212.9359998703003,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +212.93606901168823,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +212.9880449771881,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +212.98812198638916,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +213.02894401550293,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +213.0290138721466,3.0889999866485596,6.930000000000007,71.18,26.889999389648438 +213.0841770172119,3.115000009536743,6.930000000000007,71.18,26.889999389648438 +213.08427596092224,3.115000009536743,6.930000000000007,71.18,26.871000289916992 +213.12411999702454,3.115000009536743,6.930000000000007,71.18,26.871000289916992 +213.1242070198059,3.115000009536743,6.930000000000007,71.18,26.871000289916992 +213.188894033432,3.125999927520752,6.930000000000007,71.18,26.871000289916992 +213.1889729499817,3.125999927520752,6.930000000000007,71.18,26.856000900268555 +213.25493788719177,3.125999927520752,6.930000000000007,71.18,26.856000900268555 +213.25502490997314,3.125999927520752,6.930000000000007,71.18,26.856000900268555 +213.2849669456482,3.122999906539917,6.930000000000007,71.18,26.856000900268555 +213.28504300117493,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.34792685508728,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.34800004959106,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.3898458480835,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.38993883132935,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.45680284500122,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.45690989494324,3.122999906539917,6.930000000000007,71.18,26.85099983215332 +213.48677587509155,3.1089999675750732,6.930000000000007,71.18,26.85099983215332 +213.48686003684998,3.1089999675750732,6.930000000000007,71.18,26.849000930786133 +213.54976201057434,3.1089999675750732,6.930000000000007,71.18,26.849000930786133 +213.5498309135437,3.1089999675750732,6.930000000000007,71.18,26.849000930786133 +213.59272694587708,3.0920000076293945,6.930000000000007,71.18,26.849000930786133 +213.59279704093933,3.0920000076293945,6.930000000000007,71.18,26.854999542236328 +213.65672087669373,3.0920000076293945,6.930000000000007,71.18,26.854999542236328 +213.65681505203247,3.0920000076293945,6.930000000000007,71.18,26.854999542236328 +213.68671202659607,3.0739998817443848,6.930000000000007,71.18,26.854999542236328 +213.6867868900299,3.0739998817443848,6.930000000000007,71.18,26.86199951171875 +213.725035905838,3.0739998817443848,6.930000000000007,71.18,26.86199951171875 +213.72509789466858,3.0739998817443848,6.930000000000007,71.18,26.86199951171875 +213.75161695480347,3.0739998817443848,6.930000000000007,71.18,26.86199951171875 +213.75171089172363,3.0739998817443848,6.930000000000007,71.18,26.86199951171875 +213.79267001152039,3.058000087738037,6.930000000000007,71.18,26.86199951171875 +213.79273986816406,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.85778403282166,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.85787200927734,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.88771605491638,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.88778495788574,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.94965291023254,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.9497299194336,3.058000087738037,6.930000000000007,71.18,26.867000579833984 +213.99161791801453,3.0429999828338623,6.930000000000007,71.18,26.867000579833984 +213.99170994758606,3.0429999828338623,6.930000000000007,71.18,26.871000289916992 +214.05660104751587,3.0429999828338623,6.930000000000007,71.18,26.871000289916992 +214.05670499801636,3.0429999828338623,6.930000000000007,71.18,26.871000289916992 +214.08661699295044,3.0360000133514404,6.930000000000007,71.18,26.871000289916992 +214.08673286437988,3.0360000133514404,6.930000000000007,71.18,26.87700080871582 +214.1506450176239,3.0360000133514404,6.930000000000007,71.18,26.87700080871582 +214.1507089138031,3.0360000133514404,6.930000000000007,71.18,26.87700080871582 +214.19275999069214,3.0299999713897705,6.930000000000007,71.18,26.87700080871582 +214.19284105300903,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.25650596618652,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.25660395622253,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.2865400314331,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.2867569923401,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.35060596466064,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.3506920337677,3.0299999713897705,6.930000000000007,71.18,26.881000518798828 +214.39250087738037,3.0280001163482666,6.930000000000007,71.18,26.881000518798828 +214.39259791374207,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.45644783973694,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.45653986930847,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.48654294013977,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.48672199249268,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.55070090293884,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.5507619380951,3.0280001163482666,6.930000000000007,71.18,26.8799991607666 +214.59242296218872,3.0260000228881836,6.930000000000007,71.18,26.8799991607666 +214.59252095222473,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.65737390518188,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.6574728488922,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.68736791610718,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.68743085861206,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.72736501693726,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.72745490074158,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.72752904891968,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.7275779247284,3.0260000228881836,6.930000000000007,71.18,26.878000259399414 +214.79242300987244,3.0269999504089355,6.930000000000007,71.18,26.878000259399414 +214.79254603385925,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.85865902900696,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.85876202583313,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.88842582702637,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.8885190486908,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.951514005661,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.95159792900085,3.0269999504089355,6.930000000000007,71.18,26.875999450683594 +214.98348593711853,3.0250000953674316,6.930000000000007,71.18,26.875999450683594 +214.9835720062256,3.0250000953674316,6.930000000000007,71.18,26.875 +215.0434010028839,3.0250000953674316,6.930000000000007,71.18,26.875 +215.04346990585327,3.0250000953674316,6.930000000000007,71.18,26.875 +215.08834195137024,3.0250000953674316,6.930000000000007,71.18,26.875 +215.0884189605713,3.0250000953674316,6.930000000000007,71.18,26.875 +215.15222096443176,3.0250000953674316,6.930000000000007,71.18,26.875 +215.1523039340973,3.0250000953674316,6.930000000000007,71.18,26.875 +215.18427085876465,3.0239999294281006,6.930000000000007,71.18,26.875 +215.1843729019165,3.0239999294281006,6.930000000000007,71.18,26.875 +215.24422883987427,3.0239999294281006,6.930000000000007,71.18,26.875 +215.24432182312012,3.0239999294281006,6.930000000000007,71.18,26.875 +215.28823900222778,3.0199999809265137,6.930000000000007,71.18,26.875 +215.28831386566162,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.3521318435669,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.3522138595581,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.38443088531494,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.38453793525696,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.44425988197327,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.44432091712952,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.4883749485016,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.48851084709167,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.5521059036255,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.55220794677734,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.58445596694946,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.58454084396362,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.64437699317932,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.64445400238037,3.0199999809265137,6.930000000000007,71.18,26.87700080871582 +215.6890709400177,3.0160000324249268,6.930000000000007,71.18,26.87700080871582 +215.68915605545044,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.72898292541504,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.72905588150024,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.7531590461731,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.75324082374573,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.7851438522339,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.78523993492126,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.84508395195007,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.84517002105713,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.88898396492004,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.88906598091125,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.95292901992798,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.95299100875854,3.0160000324249268,6.930000000000007,71.18,26.878000259399414 +215.98501896858215,3.0139999389648438,6.930000000000007,71.18,26.878000259399414 +215.98509788513184,3.0139999389648438,6.930000000000007,71.18,26.878000259399414 +216.0449800491333,3.0139999389648438,6.930000000000007,71.18,26.878000259399414 +216.04504990577698,3.0139999389648438,6.930000000000007,71.18,26.878000259399414 +216.08988094329834,3.01200008392334,6.930000000000007,71.18,26.878000259399414 +216.0899679660797,3.01200008392334,6.930000000000007,71.18,26.87700080871582 +216.15289688110352,3.01200008392334,6.930000000000007,71.18,26.87700080871582 +216.1529619693756,3.01200008392334,6.930000000000007,71.18,26.87700080871582 +216.1849558353424,3.009999990463257,6.930000000000007,71.18,26.87700080871582 +216.18504190444946,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.24490189552307,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.24497604370117,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.2899308204651,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.29002499580383,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.35278797149658,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.35285091400146,3.009999990463257,6.930000000000007,71.18,26.875999450683594 +216.38576197624207,3.010999917984009,6.930000000000007,71.18,26.875999450683594 +216.38584995269775,3.010999917984009,6.930000000000007,71.18,26.874000549316406 +216.4448709487915,3.010999917984009,6.930000000000007,71.18,26.874000549316406 +216.44495701789856,3.010999917984009,6.930000000000007,71.18,26.874000549316406 +216.4897220134735,3.007999897003174,6.930000000000007,71.18,26.874000549316406 +216.4897940158844,3.007999897003174,6.930000000000007,71.18,26.874000549316406 +216.54393100738525,3.007999897003174,6.930000000000007,71.18,26.874000549316406 +216.5440149307251,3.007999897003174,6.930000000000007,71.18,26.874000549316406 +216.58569288253784,3.006999969482422,6.930000000000007,71.18,26.874000549316406 +216.5857789516449,3.006999969482422,6.930000000000007,71.18,26.87299919128418 +216.64569091796875,3.006999969482422,6.930000000000007,71.18,26.87299919128418 +216.6457679271698,3.006999969482422,6.930000000000007,71.18,26.87299919128418 +216.68966794013977,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.68973088264465,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.72866082191467,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.72872304916382,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.74478888511658,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.7448809146881,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.78562593460083,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.78571391105652,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.84564185142517,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.84573793411255,3.005000114440918,6.930000000000007,71.18,26.87299919128418 +216.89160799980164,3.0,6.930000000000007,71.18,26.87299919128418 +216.89168691635132,3.0,6.930000000000007,71.18,26.87299919128418 +216.94560194015503,3.0,6.930000000000007,71.18,26.87299919128418 +216.94569182395935,3.0,6.930000000000007,71.18,26.87299919128418 +216.9876639842987,2.999000072479248,6.930000000000007,71.18,26.87299919128418 +216.98775005340576,2.999000072479248,6.930000000000007,71.18,26.871999740600586 +217.0476930141449,2.999000072479248,6.930000000000007,71.18,26.871999740600586 +217.04778790473938,2.999000072479248,6.930000000000007,71.18,26.871999740600586 +217.09260892868042,2.997999906539917,6.930000000000007,71.18,26.871999740600586 +217.09271883964539,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.15552186965942,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.15561604499817,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.185693025589,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.18577790260315,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.24767184257507,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.2477889060974,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.29145693778992,2.997999906539917,6.930000000000007,71.18,26.874000549316406 +217.29151892662048,2.997999906539917,6.930000000000007,71.18,26.875 +217.34542894363403,2.997999906539917,6.930000000000007,71.18,26.875 +217.34548997879028,2.997999906539917,6.930000000000007,71.18,26.875 +217.38774490356445,2.997999906539917,6.930000000000007,71.18,26.875 +217.3878378868103,2.997999906539917,6.930000000000007,71.18,26.875 +217.44747591018677,2.997999906539917,6.930000000000007,71.18,26.875 +217.44754099845886,2.997999906539917,6.930000000000007,71.18,26.875 +217.49139404296875,2.996000051498413,6.930000000000007,71.18,26.875 +217.49147486686707,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.54535603523254,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.54541993141174,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.58745503425598,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.58753991127014,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.64740991592407,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.64747500419617,2.996000051498413,6.930000000000007,71.18,26.875999450683594 +217.69135189056396,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.69144892692566,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.7292890548706,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.72935104370117,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.7452850341797,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.74535989761353,2.992000102996826,6.930000000000007,71.18,26.875999450683594 +217.7873740196228,2.98799991607666,6.930000000000007,71.18,26.875999450683594 +217.78744983673096,2.98799991607666,6.930000000000007,71.18,26.878000259399414 +217.8473310470581,2.98799991607666,6.930000000000007,71.18,26.878000259399414 +217.84739685058594,2.98799991607666,6.930000000000007,71.18,26.878000259399414 +217.88343596458435,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +217.88350987434387,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +217.9463608264923,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +217.94644403457642,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +217.98829197883606,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +217.98839497566223,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +218.04826998710632,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +218.04836201667786,2.9860000610351562,6.930000000000007,71.18,26.878999710083008 +218.08338499069214,2.984999895095825,6.930000000000007,71.18,26.878999710083008 +218.0834629535675,2.984999895095825,6.930000000000007,71.18,26.878999710083008 +218.1473250389099,2.984999895095825,6.930000000000007,71.18,26.878999710083008 +218.1474108695984,2.984999895095825,6.930000000000007,71.18,26.878999710083008 +218.18936491012573,2.984999895095825,6.930000000000007,71.18,26.878999710083008 +218.1894588470459,2.984999895095825,6.930000000000007,71.18,26.878000259399414 +218.24927186965942,2.984999895095825,6.930000000000007,71.18,26.878000259399414 +218.24935102462769,2.984999895095825,6.930000000000007,71.18,26.878000259399414 +218.28331804275513,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.28339004516602,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.34721684455872,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.3473038673401,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.3890779018402,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.3891658782959,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.4490430355072,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.4491138458252,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.48327088356018,2.9860000610351562,6.930000000000007,71.18,26.878000259399414 +218.4833550453186,2.9860000610351562,6.930000000000007,71.18,26.875 +218.5473189353943,2.9860000610351562,6.930000000000007,71.18,26.875 +218.54739999771118,2.9860000610351562,6.930000000000007,71.18,26.875 +218.58902502059937,2.986999988555908,6.930000000000007,71.18,26.875 +218.5891330242157,2.986999988555908,6.930000000000007,71.18,26.867000579833984 +218.64898991584778,2.986999988555908,6.930000000000007,71.18,26.867000579833984 +218.64908599853516,2.986999988555908,6.930000000000007,71.18,26.867000579833984 +218.6841208934784,2.990000009536743,6.930000000000007,71.18,26.867000579833984 +218.68423104286194,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.7289378643036,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.72899293899536,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.75019788742065,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.75027704238892,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.79194688796997,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.79203486442566,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.84309697151184,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.84316992759705,2.990000009536743,6.930000000000007,71.18,26.84000015258789 +218.88497185707092,2.996999979019165,6.930000000000007,71.18,26.84000015258789 +218.8850998878479,2.996999979019165,6.930000000000007,71.18,26.798999786376953 +218.94488501548767,2.996999979019165,6.930000000000007,71.18,26.798999786376953 +218.94498085975647,2.996999979019165,6.930000000000007,71.18,26.798999786376953 +218.9880108833313,3.00600004196167,6.930000000000007,71.18,26.798999786376953 +218.98818492889404,3.00600004196167,6.930000000000007,71.18,26.749000549316406 +219.05043482780457,3.00600004196167,6.930000000000007,71.18,26.749000549316406 +219.05051183700562,3.00600004196167,6.930000000000007,71.18,26.749000549316406 +219.08504986763,3.0179998874664307,6.930000000000007,71.18,26.749000549316406 +219.08513593673706,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.14787602424622,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.14795804023743,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.19084095954895,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.19096899032593,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.25076389312744,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.25083804130554,3.0179998874664307,6.930000000000007,71.18,26.687000274658203 +219.28576803207397,3.0290000438690186,6.930000000000007,71.18,26.687000274658203 +219.28585386276245,3.0290000438690186,6.930000000000007,71.18,26.618000030517578 +219.34983682632446,3.0290000438690186,6.930000000000007,71.18,26.618000030517578 +219.34991693496704,3.0290000438690186,6.930000000000007,71.18,26.618000030517578 +219.39174699783325,3.046999931335449,6.930000000000007,71.18,26.618000030517578 +219.39183688163757,3.046999931335449,6.930000000000007,71.18,26.54199981689453 +219.45170903205872,3.046999931335449,6.930000000000007,71.18,26.54199981689453 +219.45178294181824,3.046999931335449,6.930000000000007,71.18,26.54199981689453 +219.48871088027954,3.065999984741211,6.930000000000007,71.18,26.54199981689453 +219.48880791664124,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.54906702041626,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.5491659641266,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.58974599838257,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.58982300758362,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.65162992477417,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.6516969203949,3.065999984741211,6.930000000000007,71.18,26.458999633789062 +219.68670296669006,3.0840001106262207,6.930000000000007,71.18,26.458999633789062 +219.6867790222168,3.0840001106262207,6.930000000000007,71.18,26.375999450683594 +219.72858500480652,3.0840001106262207,6.930000000000007,71.18,26.375999450683594 +219.72862792015076,3.0840001106262207,6.930000000000007,71.18,26.375999450683594 +219.74761390686035,3.0840001106262207,6.930000000000007,71.18,26.375999450683594 +219.74769401550293,3.0840001106262207,6.930000000000007,71.18,26.375999450683594 +219.8015878200531,3.0989999771118164,6.930000000000007,71.18,26.375999450683594 +219.80167984962463,3.0989999771118164,6.930000000000007,71.18,26.304000854492188 +219.85169291496277,3.0989999771118164,6.930000000000007,71.18,26.304000854492188 +219.8518099784851,3.0989999771118164,6.930000000000007,71.18,26.304000854492188 +219.8885519504547,3.111999988555908,6.930000000000007,71.18,26.304000854492188 +219.8886158466339,3.111999988555908,6.930000000000007,71.18,26.23699951171875 +219.94871282577515,3.111999988555908,6.930000000000007,71.18,26.23699951171875 +219.9490098953247,3.111999988555908,6.930000000000007,71.18,26.23699951171875 +220.00161504745483,3.128000020980835,6.930000000000007,71.18,26.23699951171875 +220.00175189971924,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.05149483680725,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.05156588554382,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.08748698234558,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.08756399154663,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.15056204795837,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.1506428718567,3.128000020980835,6.930000000000007,71.18,26.17300033569336 +220.19243788719177,3.140000104904175,6.930000000000007,71.18,26.17300033569336 +220.19250583648682,3.140000104904175,6.930000000000007,71.18,26.106000900268555 +220.24261689186096,3.140000104904175,6.930000000000007,71.18,26.106000900268555 +220.24274897575378,3.140000104904175,6.930000000000007,71.18,26.106000900268555 +220.28840398788452,3.1589999198913574,6.930000000000007,71.18,26.106000900268555 +220.28847098350525,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.3523828983307,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.3524489402771,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.39436602592468,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.39445185661316,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.44435095787048,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.44442486763,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.48833298683167,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.48839402198792,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.55232000350952,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.55315399169922,3.1589999198913574,6.930000000000007,71.18,26.03700065612793 +220.59429502487183,3.190000057220459,6.930000000000007,71.18,26.03700065612793 +220.59436988830566,3.190000057220459,6.930000000000007,71.18,25.906999588012695 +220.64428091049194,3.190000057220459,6.930000000000007,71.18,25.906999588012695 +220.64434599876404,3.190000057220459,6.930000000000007,71.18,25.906999588012695 +220.6896469593048,3.1989998817443848,6.930000000000007,71.18,25.906999588012695 +220.6897268295288,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.7292559146881,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.72935700416565,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.75330090522766,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.75337600708008,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.78341698646545,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.78355598449707,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.8354790210724,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.8355748653412,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.89028596878052,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.8903670310974,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.9312379360199,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.93135690689087,3.1989998817443848,6.930000000000007,71.18,25.84600067138672 +220.98335790634155,3.2260000705718994,6.930000000000007,71.18,25.84600067138672 +220.9835319519043,3.2260000705718994,6.930000000000007,71.18,25.72800064086914 +221.04515099525452,3.2260000705718994,6.930000000000007,71.18,25.72800064086914 +221.04521489143372,3.2260000705718994,6.930000000000007,71.18,25.72800064086914 +221.09031105041504,3.240000009536743,6.930000000000007,71.18,25.72800064086914 +221.09040904045105,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.15321803092957,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.15330505371094,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.19510197639465,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.19518899917603,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.24510288238525,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.24518990516663,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.29017186164856,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.29025197029114,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.3531789779663,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.35326194763184,3.240000009536743,6.930000000000007,71.18,25.66900062561035 +221.39505982398987,3.2679998874664307,6.930000000000007,71.18,25.66900062561035 +221.39515590667725,3.2679998874664307,6.930000000000007,71.18,25.56999969482422 +221.44505095481873,3.2679998874664307,6.930000000000007,71.18,25.56999969482422 +221.4451458454132,3.2679998874664307,6.930000000000007,71.18,25.56999969482422 +221.49009895324707,3.2750000953674316,6.930000000000007,71.18,25.56999969482422 +221.49018383026123,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.553053855896,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.55314183235168,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.58314085006714,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.5833179950714,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.64498782157898,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.64509201049805,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.69006991386414,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.69016790390015,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.73013496398926,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.73020195960999,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.75415182113647,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.75425100326538,3.2750000953674316,6.930000000000007,71.18,25.53499984741211 +221.7841019630432,3.2920000553131104,6.930000000000007,71.18,25.53499984741211 +221.78423285484314,3.2920000553131104,6.930000000000007,71.18,25.496999740600586 +221.84594988822937,3.2920000553131104,6.930000000000007,71.18,25.496999740600586 +221.84602403640747,3.2920000553131104,6.930000000000007,71.18,25.496999740600586 +221.88994789123535,3.2990000247955322,6.930000000000007,71.18,25.496999740600586 +221.89003086090088,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +221.95404696464539,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +221.95414185523987,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +221.98404788970947,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +221.9842929840088,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.04594492912292,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.04603600502014,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.0907919406891,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.09085893630981,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.15382385253906,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.15392684936523,3.2990000247955322,6.930000000000007,71.18,25.489999771118164 +222.19582605361938,3.3010001182556152,6.930000000000007,71.18,25.489999771118164 +222.19590592384338,3.3010001182556152,6.930000000000007,71.18,25.507999420166016 +222.2458038330078,3.3010001182556152,6.930000000000007,71.18,25.507999420166016 +222.24586701393127,3.3010001182556152,6.930000000000007,71.18,25.507999420166016 +222.2907738685608,3.2990000247955322,6.930000000000007,71.18,25.507999420166016 +222.29090404510498,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.35073685646057,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.3508608341217,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.38393092155457,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.38400888442993,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.44612097740173,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.4461989402771,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.49064302444458,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.4907088279724,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.5546259880066,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.55469489097595,3.2990000247955322,6.930000000000007,71.18,25.523000717163086 +222.58471202850342,3.3010001182556152,6.930000000000007,71.18,25.523000717163086 +222.58479499816895,3.3010001182556152,6.930000000000007,71.18,25.545000076293945 +222.64861392974854,3.3010001182556152,6.930000000000007,71.18,25.545000076293945 +222.64870691299438,3.3010001182556152,6.930000000000007,71.18,25.545000076293945 +222.6915979385376,3.299999952316284,6.930000000000007,71.18,25.545000076293945 +222.6916708946228,3.299999952316284,6.930000000000007,71.18,25.533000946044922 +222.7296450138092,3.299999952316284,6.930000000000007,71.18,25.533000946044922 +222.72970986366272,3.299999952316284,6.930000000000007,71.18,25.533000946044922 +222.75455904006958,3.299999952316284,6.930000000000007,71.18,25.533000946044922 +222.75462698936462,3.299999952316284,6.930000000000007,71.18,25.533000946044922 +222.7846338748932,3.2990000247955322,6.930000000000007,71.18,25.533000946044922 +222.78471183776855,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.84654188156128,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.84660696983337,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.88273787498474,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.88284182548523,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.94268584251404,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.94277787208557,3.2990000247955322,6.930000000000007,71.18,25.506000518798828 +222.9856698513031,3.299999952316284,6.930000000000007,71.18,25.506000518798828 +222.98581790924072,3.299999952316284,6.930000000000007,71.18,25.469999313354492 +223.0474660396576,3.299999952316284,6.930000000000007,71.18,25.469999313354492 +223.0475208759308,3.299999952316284,6.930000000000007,71.18,25.469999313354492 +223.0830569267273,3.2990000247955322,6.930000000000007,71.18,25.469999313354492 +223.0831949710846,3.2990000247955322,6.930000000000007,71.18,25.417999267578125 +223.14280700683594,3.2990000247955322,6.930000000000007,71.18,25.417999267578125 +223.14288902282715,3.2990000247955322,6.930000000000007,71.18,25.417999267578125 +223.18573999404907,3.2990000247955322,6.930000000000007,71.18,25.417999267578125 +223.18583798408508,3.2990000247955322,6.930000000000007,71.18,25.351999282836914 +223.24875497817993,3.2990000247955322,6.930000000000007,71.18,25.351999282836914 +223.2488489151001,3.2990000247955322,6.930000000000007,71.18,25.351999282836914 +223.28268003463745,3.299999952316284,6.930000000000007,71.18,25.351999282836914 +223.28279399871826,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.34250903129578,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.34258699417114,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.38559103012085,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.38576292991638,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.4473159313202,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.44737482070923,3.299999952316284,6.930000000000007,71.18,25.275999069213867 +223.48253893852234,3.302999973297119,6.930000000000007,71.18,25.275999069213867 +223.4826319217682,3.302999973297119,6.930000000000007,71.18,25.191999435424805 +223.5424928665161,3.302999973297119,6.930000000000007,71.18,25.191999435424805 +223.5425899028778,3.302999973297119,6.930000000000007,71.18,25.191999435424805 +223.58543992042542,3.308000087738037,6.930000000000007,71.18,25.191999435424805 +223.58557796478271,3.308000087738037,6.930000000000007,71.18,25.106000900268555 +223.6372480392456,3.308000087738037,6.930000000000007,71.18,25.106000900268555 +223.63730883598328,3.308000087738037,6.930000000000007,71.18,25.106000900268555 +223.68330597877502,3.313999891281128,6.930000000000007,71.18,25.106000900268555 +223.68338298797607,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.73028302192688,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.73033785820007,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.74327993392944,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.7433478832245,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.7863450050354,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.78642201423645,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.84818696975708,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.84824299812317,3.313999891281128,6.930000000000007,71.18,25.023000717163086 +223.8832459449768,3.316999912261963,6.930000000000007,71.18,25.023000717163086 +223.88332295417786,3.316999912261963,6.930000000000007,71.18,24.94300079345703 +223.94321489334106,3.316999912261963,6.930000000000007,71.18,24.94300079345703 +223.943284034729,3.316999912261963,6.930000000000007,71.18,24.94300079345703 +223.9991738796234,3.319000005722046,6.930000000000007,71.18,24.94300079345703 +223.99930596351624,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.04911494255066,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.0491759777069,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.0841109752655,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.08417892456055,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.14409184455872,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.14415884017944,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.1872730255127,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.18740582466125,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.2490358352661,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.24908995628357,3.319000005722046,6.930000000000007,71.18,24.867000579833984 +224.28403782844543,3.312000036239624,6.930000000000007,71.18,24.867000579833984 +224.28410291671753,3.312000036239624,6.930000000000007,71.18,24.731000900268555 +224.34402799606323,3.312000036239624,6.930000000000007,71.18,24.731000900268555 +224.34409999847412,3.312000036239624,6.930000000000007,71.18,24.731000900268555 +224.38724184036255,3.308000087738037,6.930000000000007,71.18,24.731000900268555 +224.38739800453186,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.44897294044495,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.44902896881104,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.48502683639526,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.48509883880615,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.5449948310852,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.5450599193573,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.6009340286255,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.60100197792053,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.65100383758545,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.65107083320618,3.308000087738037,6.930000000000007,71.18,24.67099952697754 +224.6849548816681,3.2960000038146973,6.930000000000007,71.18,24.67099952697754 +224.68503093719482,3.2960000038146973,6.930000000000007,71.18,24.54800033569336 +224.73003792762756,3.2960000038146973,6.930000000000007,71.52,24.54800033569336 +224.73012685775757,3.2960000038146973,4.069999999999993,71.52,24.54800033569336 +224.7449300289154,3.2960000038146973,4.069999999999993,71.52,24.54800033569336 +224.74499988555908,3.2960000038146973,4.069999999999993,71.52,24.54800033569336 +224.7999758720398,3.2960000038146973,4.069999999999993,71.52,24.54800033569336 +224.80006790161133,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.85104894638062,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.8511438369751,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.88493704795837,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.88501596450806,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.94490599632263,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.94497799873352,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.9888939857483,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +224.98895692825317,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +225.05087804794312,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +225.05094194412231,3.2960000038146973,4.069999999999993,71.52,24.488000869750977 +225.0858190059662,3.2939999103546143,4.069999999999993,71.52,24.488000869750977 +225.08589792251587,3.2939999103546143,4.069999999999993,71.52,24.36400032043457 +225.14575386047363,3.2939999103546143,4.069999999999993,71.52,24.36400032043457 +225.14582991600037,3.2939999103546143,4.069999999999993,71.52,24.36400032043457 +225.1819429397583,3.2939999103546143,4.069999999999993,71.52,24.36400032043457 +225.1820240020752,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.25101685523987,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.2510929107666,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.28569889068604,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.2857608795166,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.34665989875793,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.34671998023987,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.40080904960632,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.40090584754944,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.45080590248108,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.45090103149414,3.2939999103546143,4.069999999999993,71.52,24.30699920654297 +225.48563885688782,3.2960000038146973,4.069999999999993,71.52,24.30699920654297 +225.48571300506592,3.2960000038146973,4.069999999999993,71.52,24.19300079345703 +225.5456199645996,3.2960000038146973,4.069999999999993,71.52,24.19300079345703 +225.54569292068481,3.2960000038146973,4.069999999999993,71.52,24.19300079345703 +225.60164499282837,3.296999931335449,4.069999999999993,71.52,24.19300079345703 +225.60172700881958,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.6506748199463,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.6507568359375,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.6865680217743,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.68675184249878,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.74655985832214,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.7466700077057,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.79069805145264,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.79084300994873,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.84262084960938,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.84273600578308,3.296999931335449,4.069999999999993,71.52,24.135000228881836 +225.8864848613739,3.299999952316284,4.069999999999993,71.52,24.135000228881836 +225.88655495643616,3.299999952316284,4.069999999999993,71.52,24.01099967956543 +225.94652605056763,3.299999952316284,4.069999999999993,71.52,24.01099967956543 +225.94689297676086,3.299999952316284,4.069999999999993,71.52,24.01099967956543 +225.98946905136108,3.303999900817871,4.069999999999993,71.52,24.01099967956543 +225.9895360469818,3.303999900817871,4.069999999999993,71.52,23.952999114990234 +226.03342199325562,3.303999900817871,4.069999999999993,69.75,23.952999114990234 +226.03348088264465,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.05365204811096,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.05374383926392,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.0864839553833,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.0865659713745,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.1264009475708,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.12646889686584,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.19054102897644,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.19067883491516,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.22253704071045,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.22264289855957,3.303999900817871,4.189999999999998,69.75,23.952999114990234 +226.28637194633484,3.315999984741211,4.189999999999998,69.75,23.952999114990234 +226.2864589691162,3.315999984741211,4.189999999999998,69.75,23.833999633789062 +226.34635090827942,3.315999984741211,4.189999999999998,69.75,23.833999633789062 +226.34644293785095,3.315999984741211,4.189999999999998,69.75,23.833999633789062 +226.39051699638367,3.322000026702881,4.189999999999998,69.75,23.833999633789062 +226.3906729221344,3.322000026702881,4.189999999999998,69.75,23.77199935913086 +226.44252705574036,3.322000026702881,4.189999999999998,69.75,23.77199935913086 +226.44261193275452,3.322000026702881,4.189999999999998,69.75,23.77199935913086 +226.48727989196777,3.3259999752044678,4.189999999999998,69.75,23.77199935913086 +226.48734498023987,3.3259999752044678,4.189999999999998,69.75,23.70599937438965 +226.5472538471222,3.3259999752044678,4.189999999999998,69.75,23.70599937438965 +226.54732084274292,3.3259999752044678,4.189999999999998,69.75,23.70599937438965 +226.59041905403137,3.3259999752044678,4.189999999999998,69.75,23.70599937438965 +226.59057092666626,3.3259999752044678,4.189999999999998,69.75,23.645000457763672 +226.64249992370605,3.3259999752044678,4.189999999999998,69.75,23.645000457763672 +226.64258885383606,3.3259999752044678,4.189999999999998,69.75,23.645000457763672 +226.68720984458923,3.3259999752044678,4.189999999999998,69.75,23.645000457763672 +226.68727684020996,3.3259999752044678,4.189999999999998,69.75,23.645000457763672 +226.73415398597717,3.3259999752044678,4.189999999999998,68.52,23.645000457763672 +226.73421096801758,3.3259999752044678,4.27000000000001,68.52,23.645000457763672 +226.74718284606934,3.3259999752044678,4.27000000000001,68.52,23.645000457763672 +226.74724292755127,3.3259999752044678,4.27000000000001,68.52,23.645000457763672 +226.79123783111572,3.325000047683716,4.27000000000001,68.52,23.645000457763672 +226.7913110256195,3.325000047683716,4.27000000000001,68.52,23.58300018310547 +226.8431658744812,3.325000047683716,4.27000000000001,68.52,23.58300018310547 +226.84323692321777,3.325000047683716,4.27000000000001,68.52,23.58300018310547 +226.88822484016418,3.3239998817443848,4.27000000000001,68.52,23.58300018310547 +226.88840103149414,3.3239998817443848,4.27000000000001,68.52,23.517000198364258 +226.94820404052734,3.3239998817443848,4.27000000000001,68.52,23.517000198364258 +226.9483790397644,3.3239998817443848,4.27000000000001,68.52,23.517000198364258 +226.98237204551697,3.325000047683716,4.27000000000001,68.52,23.517000198364258 +226.9824469089508,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.04415893554688,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.04423689842224,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.08806490898132,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.08813190460205,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.1480429172516,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.14811301231384,3.325000047683716,4.27000000000001,68.52,23.447999954223633 +227.18234586715698,3.3239998817443848,4.27000000000001,68.52,23.447999954223633 +227.1824369430542,3.3239998817443848,4.27000000000001,68.52,23.37299919128418 +227.24410796165466,3.3239998817443848,4.27000000000001,68.52,23.37299919128418 +227.24419903755188,3.3239998817443848,4.27000000000001,68.52,23.37299919128418 +227.28799605369568,3.322999954223633,4.27000000000001,68.52,23.37299919128418 +227.28806900978088,3.322999954223633,4.27000000000001,68.52,23.299999237060547 +227.3479700088501,3.322999954223633,4.27000000000001,68.52,23.299999237060547 +227.348042011261,3.322999954223633,4.27000000000001,68.52,23.299999237060547 +227.38224983215332,3.3239998817443848,4.27000000000001,68.52,23.299999237060547 +227.38239693641663,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.44402599334717,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.444100856781,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.4879379272461,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.48801183700562,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.54790782928467,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.54797792434692,3.3239998817443848,4.27000000000001,68.52,23.225000381469727 +227.5822238922119,3.322000026702881,4.27000000000001,68.52,23.225000381469727 +227.58231687545776,3.322000026702881,4.27000000000001,68.52,23.152999877929688 +227.6439528465271,3.322000026702881,4.27000000000001,68.52,23.152999877929688 +227.6440269947052,3.322000026702881,4.27000000000001,68.52,23.152999877929688 +227.68889999389648,3.319999933242798,4.27000000000001,68.52,23.152999877929688 +227.68900394439697,3.319999933242798,4.27000000000001,68.52,23.08099937438965 +227.7338888645172,3.319999933242798,4.27000000000001,67.19,23.08099937438965 +227.73392701148987,3.319999933242798,4.310000000000002,67.19,23.08099937438965 +227.74883699417114,3.319999933242798,4.310000000000002,67.19,23.08099937438965 +227.74891901016235,3.319999933242798,4.310000000000002,67.19,23.08099937438965 +227.78220105171204,3.319000005722046,4.310000000000002,67.19,23.08099937438965 +227.78229999542236,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.84380793571472,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.84388303756714,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.88882994651794,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.8889389038086,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.94877004623413,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.94884395599365,3.319000005722046,4.310000000000002,67.19,23.011999130249023 +227.98276901245117,3.318000078201294,4.310000000000002,67.19,23.011999130249023 +227.98283290863037,3.318000078201294,4.310000000000002,67.19,22.945999145507812 +228.04381799697876,3.318000078201294,4.310000000000002,67.19,22.945999145507812 +228.0438940525055,3.318000078201294,4.310000000000002,67.19,22.945999145507812 +228.08881092071533,3.316999912261963,4.310000000000002,67.19,22.945999145507812 +228.08898997306824,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.14874792099,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.14883184432983,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.20371294021606,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.20380091667175,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.22374391555786,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.2239649295807,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.28973484039307,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.28980994224548,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.33063101768494,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.3306930065155,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.38369584083557,3.316999912261963,4.310000000000002,67.19,22.881999969482422 +228.38376188278198,3.316999912261963,4.310000000000002,67.19,22.7549991607666 +228.44559502601624,3.316999912261963,4.310000000000002,67.19,22.7549991607666 +228.44566893577576,3.316999912261963,4.310000000000002,67.19,22.7549991607666 +228.49069595336914,3.315000057220459,4.310000000000002,67.19,22.7549991607666 +228.49081301689148,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.55060291290283,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.5506980419159,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.5845639705658,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.58463096618652,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.6455249786377,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.64559888839722,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.69050884246826,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.69057703018188,3.315000057220459,4.310000000000002,67.19,22.69499969482422 +228.73356986045837,3.315000057220459,4.310000000000002,65.65,22.69499969482422 +228.73361897468567,3.315000057220459,4.3700000000000045,65.65,22.69499969482422 +228.75048303604126,3.315000057220459,4.3700000000000045,65.65,22.69499969482422 +228.7505488395691,3.315000057220459,4.3700000000000045,65.65,22.69499969482422 +228.78452396392822,3.313999891281128,4.3700000000000045,65.65,22.69499969482422 +228.78458189964294,3.313999891281128,4.3700000000000045,65.65,22.577999114990234 +228.84750986099243,3.313999891281128,4.3700000000000045,65.65,22.577999114990234 +228.8476278781891,3.313999891281128,4.3700000000000045,65.65,22.577999114990234 +228.89049792289734,3.312999963760376,4.3700000000000045,65.65,22.577999114990234 +228.89055585861206,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +228.9504919052124,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +228.95082592964172,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +228.9844570159912,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +228.98451399803162,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.04638195037842,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.0464539527893,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.08237600326538,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.08246397972107,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.14234900474548,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.14242386817932,3.312999963760376,4.3700000000000045,65.65,22.51799964904785 +229.18543791770935,3.313999891281128,4.3700000000000045,65.65,22.51799964904785 +229.1855058670044,3.313999891281128,4.3700000000000045,65.65,22.392000198364258 +229.24231886863708,3.313999891281128,4.3700000000000045,65.65,22.392000198364258 +229.2424008846283,3.313999891281128,4.3700000000000045,65.65,22.392000198364258 +229.28155994415283,3.312000036239624,4.3700000000000045,65.65,22.392000198364258 +229.28165483474731,3.312000036239624,4.3700000000000045,65.65,22.326000213623047 +229.34151196479797,3.312000036239624,4.3700000000000045,65.65,22.326000213623047 +229.3415858745575,3.312000036239624,4.3700000000000045,65.65,22.326000213623047 +229.3855700492859,3.311000108718872,4.3700000000000045,65.65,22.326000213623047 +229.38567996025085,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.44626998901367,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.44635701179504,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.48148703575134,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.48158884048462,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.54144287109375,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.54151797294617,3.311000108718872,4.3700000000000045,65.65,22.260000228881836 +229.58529782295227,3.309000015258789,4.3700000000000045,65.65,22.260000228881836 +229.585364818573,3.309000015258789,4.3700000000000045,65.65,22.195999145507812 +229.6461968421936,3.309000015258789,4.3700000000000045,65.65,22.195999145507812 +229.64628791809082,3.309000015258789,4.3700000000000045,65.65,22.195999145507812 +229.6814398765564,3.306999921798706,4.3700000000000045,65.65,22.195999145507812 +229.68153882026672,3.306999921798706,4.3700000000000045,65.65,22.135000228881836 +229.73613786697388,3.306999921798706,4.3700000000000045,64.26,22.135000228881836 +229.73621702194214,3.306999921798706,4.3700000000000045,64.26,22.135000228881836 +229.74138689041138,3.306999921798706,4.3700000000000045,64.26,22.135000228881836 +229.74146795272827,3.306999921798706,4.3700000000000045,64.26,22.135000228881836 +229.78523087501526,3.305999994277954,4.3700000000000045,64.26,22.135000228881836 +229.7852909564972,3.305999994277954,4.3700000000000045,64.26,22.066999435424805 +229.84621596336365,3.305999994277954,4.3700000000000045,64.26,22.066999435424805 +229.8462929725647,3.305999994277954,4.3700000000000045,64.26,22.066999435424805 +229.88210201263428,3.305000066757202,4.3700000000000045,64.26,22.066999435424805 +229.88218998908997,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +229.94207191467285,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +229.94214582443237,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +229.9851770401001,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +229.9853069782257,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +230.0471489429474,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +230.047287940979,3.305000066757202,4.3700000000000045,64.26,22.01099967956543 +230.08304405212402,3.303999900817871,4.3700000000000045,64.26,22.01099967956543 +230.08313298225403,3.303999900817871,4.3700000000000045,64.26,21.95199966430664 +230.14612102508545,3.303999900817871,4.3700000000000045,64.26,21.95199966430664 +230.1461958885193,3.303999900817871,4.3700000000000045,64.26,21.95199966430664 +230.1870059967041,3.2990000247955322,4.3700000000000045,64.26,21.95199966430664 +230.18707585334778,3.2990000247955322,4.3700000000000045,64.26,21.895999908447266 +230.2479748725891,3.2990000247955322,4.3700000000000045,64.26,21.895999908447266 +230.24805402755737,3.2990000247955322,4.3700000000000045,64.26,21.895999908447266 +230.28298687934875,3.2960000038146973,4.3700000000000045,64.26,21.895999908447266 +230.28308486938477,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.34513902664185,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.34522485733032,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.38693690299988,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.38700604438782,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.44895887374878,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.44904494285583,3.2960000038146973,4.3700000000000045,64.26,21.839000701904297 +230.48290300369263,3.2899999618530273,4.3700000000000045,64.26,21.839000701904297 +230.48299384117126,3.2899999618530273,4.3700000000000045,64.26,21.797000885009766 +230.54497003555298,3.2899999618530273,4.3700000000000045,64.26,21.797000885009766 +230.54513382911682,3.2899999618530273,4.3700000000000045,64.26,21.797000885009766 +230.58786582946777,3.2869999408721924,4.3700000000000045,64.26,21.797000885009766 +230.5879590511322,3.2869999408721924,4.3700000000000045,64.26,21.768999099731445 +230.6489338874817,3.2869999408721924,4.3700000000000045,64.26,21.768999099731445 +230.6490499973297,3.2869999408721924,4.3700000000000045,64.26,21.768999099731445 +230.68282890319824,3.2829999923706055,4.3700000000000045,64.26,21.768999099731445 +230.6829228401184,3.2829999923706055,4.3700000000000045,64.26,21.750999450683594 +230.73278093338013,3.2829999923706055,4.3700000000000045,63.18,21.750999450683594 +230.7328429222107,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.74300503730774,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.74309396743774,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.7869029045105,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.78697800636292,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.84778594970703,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.8478639125824,3.2829999923706055,4.449999999999989,63.18,21.750999450683594 +230.8827919960022,3.2780001163482666,4.449999999999989,63.18,21.750999450683594 +230.88289093971252,3.2780001163482666,4.449999999999989,63.18,21.725000381469727 +230.94279599189758,3.2780001163482666,4.449999999999989,63.18,21.725000381469727 +230.94288897514343,3.2780001163482666,4.449999999999989,63.18,21.725000381469727 +230.98672485351562,3.2739999294281006,4.449999999999989,63.18,21.725000381469727 +230.98679089546204,3.2739999294281006,4.449999999999989,63.18,21.72599983215332 +231.02879095077515,3.2739999294281006,4.449999999999989,63.18,21.72599983215332 +231.02884602546692,3.2739999294281006,4.449999999999989,63.18,21.72599983215332 +231.0826940536499,3.2679998874664307,4.449999999999989,63.18,21.72599983215332 +231.0827820301056,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.12269401550293,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.12278985977173,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.1816680431366,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.18175387382507,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.22864699363708,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.22871589660645,3.2679998874664307,4.449999999999989,63.18,21.733999252319336 +231.2826268672943,3.2639999389648438,4.449999999999989,63.18,21.733999252319336 +231.28271889686584,3.2639999389648438,4.449999999999989,63.18,21.746000289916992 +231.32262301445007,3.2639999389648438,4.449999999999989,63.18,21.746000289916992 +231.32271695137024,3.2639999389648438,4.449999999999989,63.18,21.746000289916992 +231.38757300376892,3.2660000324249268,4.449999999999989,63.18,21.746000289916992 +231.3876509666443,3.2660000324249268,4.449999999999989,63.18,21.757999420166016 +231.4286708831787,3.2660000324249268,4.449999999999989,63.18,21.757999420166016 +231.42877888679504,3.2660000324249268,4.449999999999989,63.18,21.757999420166016 +231.4936318397522,3.2720000743865967,4.449999999999989,63.18,21.757999420166016 +231.4936888217926,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.53359484672546,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.53373503684998,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.587504863739,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.58758783340454,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.62749004364014,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.62756896018982,3.2720000743865967,4.449999999999989,63.18,21.76099967956543 +231.69347596168518,3.2780001163482666,4.449999999999989,63.18,21.76099967956543 +231.6935520172119,3.2780001163482666,4.449999999999989,63.18,21.753000259399414 +231.73352789878845,3.2780001163482666,4.449999999999989,63.18,21.753000259399414 +231.73364186286926,3.2780001163482666,4.449999999999989,63.18,21.753000259399414 +231.7364640235901,3.2780001163482666,4.449999999999989,63.07,21.753000259399414 +231.73655796051025,3.2780001163482666,4.449999999999989,63.07,21.753000259399414 +231.78645300865173,3.2869999408721924,4.449999999999989,63.07,21.753000259399414 +231.78652596473694,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.83047103881836,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.83055901527405,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.89342093467712,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.89352083206177,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.9333848953247,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.93346095085144,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.98641085624695,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +231.98649501800537,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +232.02837491035461,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +232.02844405174255,3.2869999408721924,4.449999999999989,63.07,21.731000900268555 +232.0934488773346,3.296999931335449,4.449999999999989,63.07,21.731000900268555 +232.09375,3.296999931335449,4.449999999999989,63.07,21.639999389648438 +232.133446931839,3.296999931335449,4.449999999999989,63.07,21.639999389648438 +232.13361382484436,3.296999931335449,4.449999999999989,63.07,21.639999389648438 +232.18635392189026,3.302999973297119,4.449999999999989,63.07,21.639999389648438 +232.186439037323,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.22830986976624,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.2283809185028,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.2847559452057,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.2848699092865,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.32458996772766,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.32467699050903,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.38830494880676,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.38839101791382,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.42922592163086,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.4293258190155,3.302999973297119,4.449999999999989,63.07,21.576000213623047 +232.48528385162354,3.318000078201294,4.449999999999989,63.07,21.576000213623047 +232.4853539466858,3.318000078201294,4.449999999999989,63.07,21.416000366210938 +232.52528285980225,3.318000078201294,4.449999999999989,63.07,21.416000366210938 +232.52535486221313,3.318000078201294,4.449999999999989,63.07,21.416000366210938 +232.58930802345276,3.3259999752044678,4.449999999999989,63.07,21.416000366210938 +232.58941292762756,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.63113594055176,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.63121390342712,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.68520784378052,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.68528699874878,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.72528290748596,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.72683882713318,3.3259999752044678,4.449999999999989,63.07,21.329999923706055 +232.7361969947815,3.3259999752044678,4.449999999999989,62.22,21.329999923706055 +232.73630094528198,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.76917004585266,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.76925897598267,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.83105182647705,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.83112287521362,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.8710629940033,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.87115788459778,3.3259999752044678,4.400000000000006,62.22,21.329999923706055 +232.88705587387085,3.3420000076293945,4.400000000000006,62.22,21.329999923706055 +232.88714003562927,3.3420000076293945,4.400000000000006,62.22,21.18600082397461 +232.92704486846924,3.3420000076293945,4.400000000000006,62.22,21.18600082397461 +232.9271318912506,3.3420000076293945,4.400000000000006,62.22,21.18600082397461 +232.99101495742798,3.3510000705718994,4.400000000000006,62.22,21.18600082397461 +232.99108290672302,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.03308582305908,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.03320503234863,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.08699488639832,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.08710289001465,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.12697982788086,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.1270649433136,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.19095993041992,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.19102501869202,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.23294496536255,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.23301482200623,3.3510000705718994,4.400000000000006,62.22,21.121999740600586 +233.2869849205017,3.371999979019165,4.400000000000006,62.22,21.121999740600586 +233.2870898246765,3.371999979019165,4.400000000000006,62.22,20.982999801635742 +233.32694482803345,3.371999979019165,4.400000000000006,62.22,20.982999801635742 +233.327045917511,3.371999979019165,4.400000000000006,62.22,20.982999801635742 +233.3909878730774,3.382999897003174,4.400000000000006,62.22,20.982999801635742 +233.39111304283142,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.43287992477417,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.43295097351074,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.48787784576416,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.48797488212585,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.52788305282593,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.52798104286194,3.382999897003174,4.400000000000006,62.22,20.91699981689453 +233.5918128490448,3.4000000953674316,4.400000000000006,62.22,20.91699981689453 +233.59188103675842,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.63281798362732,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.63289284706116,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.68879985809326,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.6889100074768,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.72878503799438,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.72887992858887,3.4000000953674316,4.400000000000006,62.22,20.801000595092773 +233.73575091362,3.4000000953674316,4.400000000000006,61.05,20.801000595092773 +233.73580384254456,3.4000000953674316,4.219999999999999,61.05,20.801000595092773 +233.79175186157227,3.4089999198913574,4.219999999999999,61.05,20.801000595092773 +233.7918210029602,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.82426285743713,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.82435488700867,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.88871002197266,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.88880801200867,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.9287338256836,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.92884302139282,3.4089999198913574,4.219999999999999,61.05,20.739999771118164 +233.99172687530518,3.424999952316284,4.219999999999999,61.05,20.739999771118164 +233.99183201789856,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.02393293380737,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.02403092384338,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.08865404129028,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.0887520313263,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.12866497039795,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.12877988815308,3.424999952316284,4.219999999999999,61.05,20.6200008392334 +234.19260382652283,3.434000015258789,4.219999999999999,61.05,20.6200008392334 +234.1926748752594,3.434000015258789,4.219999999999999,61.05,20.559999465942383 +234.2249779701233,3.434000015258789,4.219999999999999,61.05,20.559999465942383 +234.22509598731995,3.434000015258789,4.219999999999999,61.05,20.559999465942383 +234.2885880470276,3.440999984741211,4.219999999999999,61.05,20.559999465942383 +234.28870487213135,3.440999984741211,4.219999999999999,61.05,20.500999450683594 +234.32858800888062,3.440999984741211,4.219999999999999,61.05,20.500999450683594 +234.32870292663574,3.440999984741211,4.219999999999999,61.05,20.500999450683594 +234.3925278186798,3.447000026702881,4.219999999999999,61.05,20.500999450683594 +234.39259696006775,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.42451882362366,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.42459201812744,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.49071383476257,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.49079298973083,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.53053283691406,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.53067588806152,3.447000026702881,4.219999999999999,61.05,20.437000274658203 +234.59347581863403,3.4570000171661377,4.219999999999999,61.05,20.437000274658203 +234.59354782104492,3.4570000171661377,4.219999999999999,61.05,20.371999740600586 +234.6256308555603,3.4570000171661377,4.219999999999999,61.05,20.371999740600586 +234.62571001052856,3.4570000171661377,4.219999999999999,61.05,20.371999740600586 +234.6914370059967,3.4670000076293945,4.219999999999999,61.05,20.371999740600586 +234.6915259361267,3.4670000076293945,4.219999999999999,61.05,20.30900001525879 +234.73144793510437,3.4670000076293945,4.219999999999999,61.05,20.30900001525879 +234.73153686523438,3.4670000076293945,4.219999999999999,61.05,20.30900001525879 +234.7357189655304,3.4670000076293945,4.219999999999999,59.77,20.30900001525879 +234.73580694198608,3.4670000076293945,4.180000000000007,59.77,20.30900001525879 +234.787437915802,3.4769999980926514,4.180000000000007,59.77,20.30900001525879 +234.78751587867737,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.8293788433075,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.82944798469543,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.89137601852417,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.8914680480957,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.93137192726135,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.93145990371704,3.4769999980926514,4.180000000000007,59.77,20.242000579833984 +234.98549604415894,3.48799991607666,4.180000000000007,59.77,20.242000579833984 +234.98555183410645,3.48799991607666,4.180000000000007,59.77,20.176000595092773 +235.02741289138794,3.48799991607666,4.180000000000007,59.77,20.176000595092773 +235.0274999141693,3.48799991607666,4.180000000000007,59.77,20.176000595092773 +235.0913028717041,3.496999979019165,4.180000000000007,59.77,20.176000595092773 +235.091383934021,3.496999979019165,4.180000000000007,59.77,20.10700035095215 +235.1313660144806,3.496999979019165,4.180000000000007,59.77,20.10700035095215 +235.13145399093628,3.496999979019165,4.180000000000007,59.77,20.10700035095215 +235.17550897598267,3.496999979019165,4.180000000000007,59.77,20.10700035095215 +235.17560005187988,3.496999979019165,4.180000000000007,59.77,20.10700035095215 +235.18543195724487,3.506999969482422,4.180000000000007,59.77,20.10700035095215 +235.1854908466339,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.2272629737854,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.22733092308044,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.29131698608398,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.291424036026,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.332270860672,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.33235597610474,3.506999969482422,4.180000000000007,59.77,20.041000366210938 +235.38722491264343,3.5169999599456787,4.180000000000007,59.77,20.041000366210938 +235.38729882240295,3.5169999599456787,4.180000000000007,59.77,19.97599983215332 +235.42718696594238,3.5169999599456787,4.180000000000007,59.77,19.97599983215332 +235.4272608757019,3.5169999599456787,4.180000000000007,59.77,19.97599983215332 +235.49216294288635,3.5280001163482666,4.180000000000007,59.77,19.97599983215332 +235.49225497245789,3.5280001163482666,4.180000000000007,59.77,19.913000106811523 +235.53221702575684,3.5280001163482666,4.180000000000007,59.77,19.913000106811523 +235.53232097625732,3.5280001163482666,4.180000000000007,59.77,19.913000106811523 +235.58528900146484,3.5390000343322754,4.180000000000007,59.77,19.913000106811523 +235.58534288406372,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.62712788581848,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.62719893455505,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.69209098815918,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.69218182563782,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.7320899963379,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.73217797279358,3.5390000343322754,4.180000000000007,59.77,19.847999572753906 +235.73504304885864,3.5390000343322754,4.180000000000007,58.41,19.847999572753906 +235.73511004447937,3.5390000343322754,3.960000000000008,58.41,19.847999572753906 +235.7861409187317,3.549999952316284,3.960000000000008,58.41,19.847999572753906 +235.78621292114258,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.82802295684814,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.828106880188,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.89470386505127,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.89483499526978,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.92404198646545,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.9241328239441,3.549999952316284,3.960000000000008,58.41,19.783000946044922 +235.98606395721436,3.571000099182129,3.960000000000008,58.41,19.783000946044922 +235.98613286018372,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.02795505523682,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.02803492546082,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.09294605255127,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.09304785728455,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.12308502197266,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.12314701080322,3.571000099182129,3.960000000000008,58.41,19.655000686645508 +236.18702387809753,3.5799999237060547,3.960000000000008,58.41,19.655000686645508 +236.18710899353027,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.22888588905334,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.22896194458008,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.2928659915924,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.29297399520874,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.32303285598755,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.3230938911438,3.5799999237060547,3.960000000000008,58.41,19.593000411987305 +236.386971950531,3.5999999046325684,3.960000000000008,58.41,19.593000411987305 +236.38704085350037,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.42883491516113,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.4289309978485,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.49428296089172,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.49438500404358,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.52398490905762,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.52429795265198,3.5999999046325684,3.960000000000008,58.41,19.464000701904297 +236.58597803115845,3.6089999675750732,3.960000000000008,58.41,19.464000701904297 +236.58605003356934,3.6089999675750732,3.960000000000008,58.41,19.398000717163086 +236.6277458667755,3.6089999675750732,3.960000000000008,58.41,19.398000717163086 +236.6278178691864,3.6089999675750732,3.960000000000008,58.41,19.398000717163086 +236.6927468776703,3.61299991607666,3.960000000000008,58.41,19.398000717163086 +236.6928379535675,3.61299991607666,3.960000000000008,58.41,19.33300018310547 +236.72289490699768,3.61299991607666,3.960000000000008,58.41,19.33300018310547 +236.7229528427124,3.61299991607666,3.960000000000008,58.41,19.33300018310547 +236.74573183059692,3.61299991607666,3.960000000000008,57.36,19.33300018310547 +236.74581289291382,3.61299991607666,3.8000000000000114,57.36,19.33300018310547 +236.7867569923401,3.618000030517578,3.8000000000000114,57.36,19.33300018310547 +236.7868628501892,3.618000030517578,3.8000000000000114,57.36,19.281999588012695 +236.82867693901062,3.618000030517578,3.8000000000000114,57.36,19.281999588012695 +236.82876801490784,3.618000030517578,3.8000000000000114,57.36,19.281999588012695 +236.89267492294312,3.61899995803833,3.8000000000000114,57.36,19.281999588012695 +236.89279294013977,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +236.9237539768219,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +236.92383790016174,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +236.98682188987732,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +236.9870798587799,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +237.02862000465393,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +237.02870988845825,3.61899995803833,3.8000000000000114,57.36,19.243999481201172 +237.09264087677002,3.618000030517578,3.8000000000000114,57.36,19.243999481201172 +237.0927619934082,3.618000030517578,3.8000000000000114,57.36,19.219999313354492 +237.12275099754333,3.618000030517578,3.8000000000000114,57.36,19.219999313354492 +237.12281489372253,3.618000030517578,3.8000000000000114,57.36,19.219999313354492 +237.18664503097534,3.621000051498413,3.8000000000000114,57.36,19.219999313354492 +237.1867320537567,3.621000051498413,3.8000000000000114,57.36,19.20599937438965 +237.22853803634644,3.621000051498413,3.8000000000000114,57.36,19.20599937438965 +237.22862482070923,3.621000051498413,3.8000000000000114,57.36,19.20599937438965 +237.2947518825531,3.624000072479248,3.8000000000000114,57.36,19.20599937438965 +237.2950439453125,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.32463598251343,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.32472491264343,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.3886890411377,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.3887689113617,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.4304599761963,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.4305338859558,3.624000072479248,3.8000000000000114,57.36,19.202999114990234 +237.4965250492096,3.63100004196167,3.8000000000000114,57.36,19.202999114990234 +237.4966459274292,3.63100004196167,3.8000000000000114,57.36,19.209999084472656 +237.52646589279175,3.63100004196167,3.8000000000000114,57.36,19.209999084472656 +237.52655386924744,3.63100004196167,3.8000000000000114,57.36,19.209999084472656 +237.5894320011139,3.6410000324249268,3.8000000000000114,57.36,19.209999084472656 +237.58950901031494,3.6410000324249268,3.8000000000000114,57.36,19.20800018310547 +237.6314299106598,3.6410000324249268,3.8000000000000114,57.36,19.20800018310547 +237.63150095939636,3.6410000324249268,3.8000000000000114,57.36,19.20800018310547 +237.6964030265808,3.6510000228881836,3.8000000000000114,57.36,19.20800018310547 +237.69650101661682,3.6510000228881836,3.8000000000000114,57.36,19.190000534057617 +237.7263958454132,3.6510000228881836,3.8000000000000114,57.36,19.190000534057617 +237.7264769077301,3.6510000228881836,3.8000000000000114,57.36,19.190000534057617 +237.74245500564575,3.6510000228881836,3.8000000000000114,56.48,19.190000534057617 +237.7425549030304,3.6510000228881836,3.680000000000007,56.48,19.190000534057617 +237.78936100006104,3.6510000228881836,3.680000000000007,56.48,19.190000534057617 +237.78944492340088,3.6510000228881836,3.680000000000007,56.48,19.190000534057617 +237.82636904716492,3.6510000228881836,3.680000000000007,56.48,19.190000534057617 +237.82646703720093,3.6510000228881836,3.680000000000007,56.48,19.190000534057617 +237.8974359035492,3.6579999923706055,3.680000000000007,56.48,19.190000534057617 +237.8975088596344,3.6579999923706055,3.680000000000007,56.48,19.15399932861328 +237.92833399772644,3.6579999923706055,3.680000000000007,56.48,19.15399932861328 +237.9284999370575,3.6579999923706055,3.680000000000007,56.48,19.15399932861328 +237.99040603637695,3.6640000343322754,3.680000000000007,56.48,19.15399932861328 +237.99047088623047,3.6640000343322754,3.680000000000007,56.48,19.106000900268555 +238.022469997406,3.6640000343322754,3.680000000000007,56.48,19.106000900268555 +238.02254605293274,3.6640000343322754,3.680000000000007,56.48,19.106000900268555 +238.09825682640076,3.6670000553131104,3.680000000000007,56.48,19.106000900268555 +238.09837102890015,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.1282320022583,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.12832188606262,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.19122505187988,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.19130492210388,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.22328186035156,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.2233738899231,3.6670000553131104,3.680000000000007,56.48,19.04800033569336 +238.2832100391388,3.6710000038146973,3.680000000000007,56.48,19.04800033569336 +238.2833068370819,3.6710000038146973,3.680000000000007,56.48,18.98200035095215 +238.32817196846008,3.6710000038146973,3.680000000000007,56.48,18.98200035095215 +238.32826495170593,3.6710000038146973,3.680000000000007,56.48,18.98200035095215 +238.39115691184998,3.6740000247955322,3.680000000000007,56.48,18.98200035095215 +238.39122986793518,3.6740000247955322,3.680000000000007,56.48,18.910999298095703 +238.4242298603058,3.6740000247955322,3.680000000000007,56.48,18.910999298095703 +238.4243438243866,3.6740000247955322,3.680000000000007,56.48,18.910999298095703 +238.48313188552856,3.6760001182556152,3.680000000000007,56.48,18.910999298095703 +238.48321795463562,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.52908992767334,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.52917385101318,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.58317804336548,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.5832679271698,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.6253159046173,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.62540793418884,3.6760001182556152,3.680000000000007,56.48,18.823999404907227 +238.68512201309204,3.680999994277954,3.680000000000007,56.48,18.823999404907227 +238.6851990222931,3.680999994277954,3.680000000000007,56.48,18.749000549316406 +238.7302279472351,3.680999994277954,3.680000000000007,56.48,18.749000549316406 +238.73030805587769,3.680999994277954,3.680000000000007,56.48,18.749000549316406 +238.7421009540558,3.680999994277954,3.680000000000007,55.76,18.749000549316406 +238.74217987060547,3.680999994277954,3.6599999999999966,55.76,18.749000549316406 +238.7840919494629,3.683000087738037,3.6599999999999966,55.76,18.749000549316406 +238.78417301177979,3.683000087738037,3.6599999999999966,55.76,18.677000045776367 +238.82617902755737,3.683000087738037,3.6599999999999966,55.76,18.677000045776367 +238.82627391815186,3.683000087738037,3.6599999999999966,55.76,18.677000045776367 +238.88697385787964,3.687000036239624,3.6599999999999966,55.76,18.677000045776367 +238.88704705238342,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +238.92900395393372,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +238.92912983894348,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +238.98294687271118,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +238.98310494422913,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +239.02797102928162,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +239.02812600135803,3.687000036239624,3.6599999999999966,55.76,18.61199951171875 +239.0878939628601,3.690000057220459,3.6599999999999966,55.76,18.61199951171875 +239.08797001838684,3.690000057220459,3.6599999999999966,55.76,18.54800033569336 +239.13016390800476,3.690000057220459,3.6599999999999966,55.76,18.54800033569336 +239.1302719116211,3.690000057220459,3.6599999999999966,55.76,18.54800033569336 +239.18395495414734,3.693000078201294,3.6599999999999966,55.76,18.54800033569336 +239.18404388427734,3.693000078201294,3.6599999999999966,55.76,18.479999542236328 +239.2259600162506,3.693000078201294,3.6599999999999966,55.76,18.479999542236328 +239.22604393959045,3.693000078201294,3.6599999999999966,55.76,18.479999542236328 +239.2868230342865,3.694999933242798,3.6599999999999966,55.76,18.479999542236328 +239.28688788414001,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.33087682724,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.33095002174377,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.38405394554138,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.38436603546143,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.42587399482727,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.42596197128296,3.694999933242798,3.6599999999999966,55.76,18.415000915527344 +239.4867570400238,3.696000099182129,3.6599999999999966,55.76,18.415000915527344 +239.48682594299316,3.696000099182129,3.6599999999999966,55.76,18.349000930786133 +239.53530502319336,3.696000099182129,3.6599999999999966,55.76,18.349000930786133 +239.53543090820312,3.696000099182129,3.6599999999999966,55.76,18.349000930786133 +239.58389592170715,3.696000099182129,3.6599999999999966,55.76,18.349000930786133 +239.58397388458252,3.696000099182129,3.6599999999999966,55.76,18.284000396728516 +239.62583994865417,3.696000099182129,3.6599999999999966,55.76,18.284000396728516 +239.62591981887817,3.696000099182129,3.6599999999999966,55.76,18.284000396728516 +239.68668484687805,3.697000026702881,3.6599999999999966,55.76,18.284000396728516 +239.68675994873047,3.697000026702881,3.6599999999999966,55.76,18.218000411987305 +239.73069882392883,3.697000026702881,3.6599999999999966,55.76,18.218000411987305 +239.73077082633972,3.697000026702881,3.6599999999999966,55.76,18.218000411987305 +239.74386286735535,3.697000026702881,3.6599999999999966,54.38,18.218000411987305 +239.74394392967224,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.7847249507904,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.78479385375977,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.8266909122467,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.82684683799744,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.88668394088745,3.697000026702881,3.710000000000008,54.38,18.218000411987305 +239.88681483268738,3.697000026702881,3.710000000000008,54.38,18.152000427246094 +239.92383790016174,3.697000026702881,3.710000000000008,54.38,18.152000427246094 +239.92389297485352,3.697000026702881,3.710000000000008,54.38,18.152000427246094 +239.98366498947144,3.700000047683716,3.710000000000008,54.38,18.152000427246094 +239.98374795913696,3.700000047683716,3.710000000000008,54.38,18.083999633789062 +240.03756403923035,3.700000047683716,3.710000000000008,54.38,18.083999633789062 +240.03764605522156,3.700000047683716,3.710000000000008,54.38,18.083999633789062 +240.08754301071167,3.7019999027252197,3.710000000000008,54.38,18.083999633789062 +240.0876109600067,3.7019999027252197,3.710000000000008,54.38,18.014999389648438 +240.12253189086914,3.7019999027252197,3.710000000000008,54.38,18.014999389648438 +240.1226029396057,3.7019999027252197,3.710000000000008,54.38,18.014999389648438 +240.18653988838196,3.700000047683716,3.710000000000008,54.38,18.014999389648438 +240.1866409778595,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.2284939289093,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.2285668849945,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.28853487968445,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.2886688709259,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.32354998588562,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.32362294197083,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.38744592666626,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.38752102851868,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.42945790290833,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.4295518398285,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.46945691108704,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.46956491470337,3.700000047683716,3.710000000000008,54.38,17.947999954223633 +240.4894299507141,3.7070000171661377,3.710000000000008,54.38,17.947999954223633 +240.48951601982117,3.7070000171661377,3.710000000000008,54.38,17.820999145507812 +240.52439785003662,3.7070000171661377,3.710000000000008,54.38,17.820999145507812 +240.52446389198303,3.7070000171661377,3.710000000000008,54.38,17.820999145507812 +240.5873908996582,3.7079999446868896,3.710000000000008,54.38,17.820999145507812 +240.58747601509094,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.62936282157898,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.6294460296631,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.68935203552246,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.6894268989563,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.72435402870178,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.72445392608643,3.7079999446868896,3.710000000000008,54.38,17.756999969482422 +240.746435880661,3.7079999446868896,3.710000000000008,52.81,17.756999969482422 +240.74658298492432,3.7079999446868896,3.6500000000000057,52.81,17.756999969482422 +240.78831696510315,3.7079999446868896,3.6500000000000057,52.81,17.756999969482422 +240.788409948349,3.7079999446868896,3.6500000000000057,52.81,17.756999969482422 +240.83029103279114,3.7079999446868896,3.6500000000000057,52.81,17.756999969482422 +240.83037185668945,3.7079999446868896,3.6500000000000057,52.81,17.756999969482422 +240.8903088569641,3.7170000076293945,3.6500000000000057,52.81,17.756999969482422 +240.89037990570068,3.7170000076293945,3.6500000000000057,52.81,17.6299991607666 +240.92556881904602,3.7170000076293945,3.6500000000000057,52.81,17.6299991607666 +240.9258279800415,3.7170000076293945,3.6500000000000057,52.81,17.6299991607666 +240.98647284507751,3.7179999351501465,3.6500000000000057,52.81,17.6299991607666 +240.98660898208618,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.02732801437378,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.02741599082947,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.0892310142517,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.08931684494019,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.1261830329895,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.12626004219055,3.7179999351501465,3.6500000000000057,52.81,17.56999969482422 +241.1942298412323,3.7219998836517334,3.6500000000000057,52.81,17.56999969482422 +241.19431805610657,3.7219998836517334,3.6500000000000057,52.81,17.51300048828125 +241.23535084724426,3.7219998836517334,3.6500000000000057,52.81,17.51300048828125 +241.23543190956116,3.7219998836517334,3.6500000000000057,52.81,17.51300048828125 +241.2853298187256,3.7260000705718994,3.6500000000000057,52.81,17.51300048828125 +241.28541588783264,3.7260000705718994,3.6500000000000057,52.81,17.452999114990234 +241.32727599143982,3.7260000705718994,3.6500000000000057,52.81,17.452999114990234 +241.32735586166382,3.7260000705718994,3.6500000000000057,52.81,17.452999114990234 +241.38732886314392,3.7300000190734863,3.6500000000000057,52.81,17.452999114990234 +241.3874068260193,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.42806792259216,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.42813301086426,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.48729586601257,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.48737597465515,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.52604293823242,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.52611899375916,3.7300000190734863,3.6500000000000057,52.81,17.391000747680664 +241.59005999565125,3.7320001125335693,3.6500000000000057,52.81,17.391000747680664 +241.59015488624573,3.7320001125335693,3.6500000000000057,52.81,17.327999114990234 +241.63199591636658,3.7320001125335693,3.6500000000000057,52.81,17.327999114990234 +241.6320719718933,3.7320001125335693,3.6500000000000057,52.81,17.327999114990234 +241.68223404884338,3.7330000400543213,3.6500000000000057,52.81,17.327999114990234 +241.68230891227722,3.7330000400543213,3.6500000000000057,52.81,17.268999099731445 +241.72698092460632,3.7330000400543213,3.6500000000000057,52.81,17.268999099731445 +241.72705483436584,3.7330000400543213,3.6500000000000057,52.81,17.268999099731445 +241.74914288520813,3.7330000400543213,3.6500000000000057,51.6,17.268999099731445 +241.74923396110535,3.7330000400543213,3.6100000000000136,51.6,17.268999099731445 +241.7900698184967,3.7330000400543213,3.6100000000000136,51.6,17.268999099731445 +241.79019403457642,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.83192491531372,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.83200597763062,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.88192892074585,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.88200688362122,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.927973985672,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.92811489105225,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.99094486236572,3.7330000400543213,3.6100000000000136,51.6,17.211999893188477 +241.99105095863342,3.7330000400543213,3.6100000000000136,51.6,17.152000427246094 +242.03292798995972,3.7330000400543213,3.6100000000000136,51.6,17.152000427246094 +242.03300595283508,3.7330000400543213,3.6100000000000136,51.6,17.152000427246094 +242.08294796943665,3.7320001125335693,3.6100000000000136,51.6,17.152000427246094 +242.08301901817322,3.7320001125335693,3.6100000000000136,51.6,17.0939998626709 +242.1278359889984,3.7320001125335693,3.6100000000000136,51.6,17.0939998626709 +242.12791991233826,3.7320001125335693,3.6100000000000136,51.6,17.0939998626709 +242.19082593917847,3.7320001125335693,3.6100000000000136,51.6,17.0939998626709 +242.19090485572815,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.23287105560303,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.2329559326172,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.28290796279907,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.2829978466034,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.32876586914062,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.32884097099304,3.7320001125335693,3.6100000000000136,51.6,17.0310001373291 +242.39173889160156,3.734999895095825,3.6100000000000136,51.6,17.0310001373291 +242.3918159008026,3.734999895095825,3.6100000000000136,51.6,16.965999603271484 +242.4218168258667,3.734999895095825,3.6100000000000136,51.6,16.965999603271484 +242.42196893692017,3.734999895095825,3.6100000000000136,51.6,16.965999603271484 +242.4837989807129,3.7330000400543213,3.6100000000000136,51.6,16.965999603271484 +242.48385787010193,3.7330000400543213,3.6100000000000136,51.6,16.900999069213867 +242.52091884613037,3.7330000400543213,3.6100000000000136,51.6,16.900999069213867 +242.5210108757019,3.7330000400543213,3.6100000000000136,51.6,16.900999069213867 +242.58096504211426,3.7330000400543213,3.6100000000000136,51.6,16.900999069213867 +242.5810420513153,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.63668704032898,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.63678002357483,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.6867048740387,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.68677592277527,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.72163796424866,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.72172594070435,3.7330000400543213,3.6100000000000136,51.6,16.834999084472656 +242.7551770210266,3.7330000400543213,3.6100000000000136,50.69,16.834999084472656 +242.75528502464294,3.7330000400543213,3.719999999999999,50.69,16.834999084472656 +242.78162002563477,3.7330000400543213,3.719999999999999,50.69,16.834999084472656 +242.78169798851013,3.7330000400543213,3.719999999999999,50.69,16.770000457763672 +242.83758187294006,3.7330000400543213,3.719999999999999,50.69,16.770000457763672 +242.83766388893127,3.7330000400543213,3.719999999999999,50.69,16.770000457763672 +242.88756489753723,3.7309999465942383,3.719999999999999,50.69,16.770000457763672 +242.88763403892517,3.7309999465942383,3.719999999999999,50.69,16.691999435424805 +242.92285990715027,3.7309999465942383,3.719999999999999,50.69,16.691999435424805 +242.92296290397644,3.7309999465942383,3.719999999999999,50.69,16.691999435424805 +242.98263502120972,3.7320001125335693,3.719999999999999,50.69,16.691999435424805 +242.98271083831787,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.03751397132874,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.0376009941101,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.08749794960022,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.08756589889526,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.12267088890076,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.1227889060974,3.7320001125335693,3.719999999999999,50.69,16.62299919128418 +243.18262696266174,3.7339999675750732,3.719999999999999,50.69,16.62299919128418 +243.18271589279175,3.7339999675750732,3.719999999999999,50.69,16.55699920654297 +243.23954105377197,3.7339999675750732,3.719999999999999,50.69,16.55699920654297 +243.23963689804077,3.7339999675750732,3.719999999999999,50.69,16.55699920654297 +243.2896089553833,3.734999895095825,3.719999999999999,50.69,16.55699920654297 +243.28971791267395,3.734999895095825,3.719999999999999,50.69,16.4950008392334 +243.32297897338867,3.734999895095825,3.719999999999999,50.69,16.4950008392334 +243.3230550289154,3.734999895095825,3.719999999999999,50.69,16.4950008392334 +243.38253498077393,3.734999895095825,3.719999999999999,50.69,16.4950008392334 +243.3826289176941,3.734999895095825,3.719999999999999,50.69,16.42799949645996 +243.42658400535583,3.734999895095825,3.719999999999999,50.69,16.42799949645996 +243.42681288719177,3.734999895095825,3.719999999999999,50.69,16.42799949645996 +243.48835587501526,3.7360000610351562,3.719999999999999,50.69,16.42799949645996 +243.48841094970703,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.5244288444519,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.52449584007263,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.56542682647705,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.5655059814453,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.62741088867188,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.62747287750244,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.66052889823914,3.7360000610351562,3.719999999999999,50.69,16.363000869750977 +243.66061687469482,3.7360000610351562,3.719999999999999,50.69,16.299999237060547 +243.7243938446045,3.7360000610351562,3.719999999999999,50.69,16.299999237060547 +243.72447204589844,3.7360000610351562,3.719999999999999,50.69,16.299999237060547 +243.74326086044312,3.7360000610351562,3.719999999999999,49.26,16.299999237060547 +243.74336004257202,3.7360000610351562,3.740000000000009,49.26,16.299999237060547 +243.76438999176025,3.7360000610351562,3.740000000000009,49.26,16.299999237060547 +243.76447105407715,3.7360000610351562,3.740000000000009,49.26,16.238000869750977 +243.82735300064087,3.7360000610351562,3.740000000000009,49.26,16.238000869750977 +243.82752203941345,3.7360000610351562,3.740000000000009,49.26,16.238000869750977 +243.8632538318634,3.739000082015991,3.740000000000009,49.26,16.238000869750977 +243.86343002319336,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +243.92321300506592,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +243.92329001426697,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +243.96321988105774,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +243.96329998970032,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +244.02618288993835,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +244.02624893188477,3.739000082015991,3.740000000000009,49.26,16.155000686645508 +244.07551097869873,3.740999937057495,3.740000000000009,49.26,16.155000686645508 +244.0756058692932,3.740999937057495,3.740000000000009,49.26,16.09600067138672 +244.12452697753906,3.740999937057495,3.740000000000009,49.26,16.09600067138672 +244.12462997436523,3.740999937057495,3.740000000000009,49.26,16.09600067138672 +244.1652410030365,3.740000009536743,3.740000000000009,49.26,16.09600067138672 +244.1653299331665,3.740000009536743,3.740000000000009,49.26,16.035999298095703 +244.22732496261597,3.740000009536743,3.740000000000009,49.26,16.035999298095703 +244.22769784927368,3.740000009536743,3.740000000000009,49.26,16.035999298095703 +244.27907800674438,3.740000009536743,3.740000000000009,49.26,16.035999298095703 +244.2791588306427,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.32416987419128,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.32424187660217,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.36546087265015,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.36564183235168,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.4271318912506,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.42729902267456,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.47801804542542,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.4780900478363,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.4880359172821,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.488116979599,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.52509593963623,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.5251748561859,3.740000009536743,3.740000000000009,49.26,15.97599983215332 +244.5652198791504,3.736999988555908,3.740000000000009,49.26,15.97599983215332 +244.56535601615906,3.736999988555908,3.740000000000009,49.26,15.854000091552734 +244.62906789779663,3.736999988555908,3.740000000000009,49.26,15.854000091552734 +244.629145860672,3.736999988555908,3.740000000000009,49.26,15.854000091552734 +244.6602020263672,3.73799991607666,3.740000000000009,49.26,15.854000091552734 +244.66029405593872,3.73799991607666,3.740000000000009,49.26,15.788000106811523 +244.72506284713745,3.73799991607666,3.740000000000009,49.26,15.788000106811523 +244.72515892982483,3.73799991607666,3.740000000000009,49.26,15.788000106811523 +244.74499893188477,3.73799991607666,3.740000000000009,47.87,15.788000106811523 +244.74506497383118,3.73799991607666,3.8000000000000114,47.87,15.788000106811523 +244.7650818824768,3.73799991607666,3.8000000000000114,47.87,15.788000106811523 +244.76518392562866,3.73799991607666,3.8000000000000114,47.87,15.788000106811523 +244.82896995544434,3.73799991607666,3.8000000000000114,47.87,15.788000106811523 +244.8290400505066,3.73799991607666,3.8000000000000114,47.87,15.788000106811523 +244.86124801635742,3.739000082015991,3.8000000000000114,47.87,15.788000106811523 +244.8613419532776,3.739000082015991,3.8000000000000114,47.87,15.72700023651123 +244.9258749485016,3.739000082015991,3.8000000000000114,47.87,15.72700023651123 +244.9259548187256,3.739000082015991,3.8000000000000114,47.87,15.72700023651123 +244.96587991714478,3.73799991607666,3.8000000000000114,47.87,15.72700023651123 +244.96597695350647,3.73799991607666,3.8000000000000114,47.87,15.666000366210938 +245.0203139781952,3.73799991607666,3.8000000000000114,47.87,15.666000366210938 +245.02040195465088,3.73799991607666,3.8000000000000114,47.87,15.666000366210938 +245.0819869041443,3.7360000610351562,3.8000000000000114,47.87,15.666000366210938 +245.08216285705566,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.12581300735474,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.12589383125305,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.16579484939575,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.16587591171265,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.21994400024414,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.22001099586487,3.7360000610351562,3.8000000000000114,47.87,15.602999687194824 +245.26078391075134,3.7330000400543213,3.8000000000000114,47.87,15.602999687194824 +245.2608859539032,3.7330000400543213,3.8000000000000114,47.87,15.541999816894531 +245.3267378807068,3.7330000400543213,3.8000000000000114,47.87,15.541999816894531 +245.32683086395264,3.7330000400543213,3.8000000000000114,47.87,15.541999816894531 +245.3667130470276,3.7320001125335693,3.8000000000000114,47.87,15.541999816894531 +245.3667938709259,3.7320001125335693,3.8000000000000114,47.87,15.479000091552734 +245.42079901695251,3.7320001125335693,3.8000000000000114,47.87,15.479000091552734 +245.42095685005188,3.7320001125335693,3.8000000000000114,47.87,15.479000091552734 +245.46268391609192,3.7309999465942383,3.8000000000000114,47.87,15.479000091552734 +245.46277284622192,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.528648853302,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.52872395515442,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.56866097450256,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.56873893737793,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.62263298034668,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.62270998954773,3.7309999465942383,3.8000000000000114,47.87,15.416999816894531 +245.66471004486084,3.7330000400543213,3.8000000000000114,47.87,15.416999816894531 +245.6647870540619,3.7330000400543213,3.8000000000000114,47.87,15.357000350952148 +245.71979689598083,3.7330000400543213,3.8000000000000114,47.87,15.357000350952148 +245.71989798545837,3.7330000400543213,3.8000000000000114,47.87,15.357000350952148 +245.74556303024292,3.7330000400543213,3.8000000000000114,46.69,15.357000350952148 +245.74562287330627,3.7330000400543213,3.8799999999999955,46.69,15.357000350952148 +245.75981783866882,3.7360000610351562,3.8799999999999955,46.69,15.357000350952148 +245.75992488861084,3.7360000610351562,3.8799999999999955,46.69,15.29800033569336 +245.8225498199463,3.7360000610351562,3.8799999999999955,46.69,15.29800033569336 +245.8226180076599,3.7360000610351562,3.8799999999999955,46.69,15.29800033569336 +245.86567902565002,3.73799991607666,3.8799999999999955,46.69,15.29800033569336 +245.86576795578003,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +245.91973495483398,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +245.91984486579895,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +245.95972990989685,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +245.95984292030334,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +246.02248287200928,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +246.0225489139557,3.73799991607666,3.8799999999999955,46.69,15.234999656677246 +246.06457805633545,3.740000009536743,3.8799999999999955,46.69,15.234999656677246 +246.06464886665344,3.740000009536743,3.8799999999999955,46.69,15.17300033569336 +246.11962890625,3.740000009536743,3.8799999999999955,46.69,15.17300033569336 +246.11972093582153,3.740000009536743,3.8799999999999955,46.69,15.17300033569336 +246.1596758365631,3.739000082015991,3.8799999999999955,46.69,15.17300033569336 +246.15979194641113,3.739000082015991,3.8799999999999955,46.69,15.112000465393066 +246.22254490852356,3.739000082015991,3.8799999999999955,46.69,15.112000465393066 +246.22262501716614,3.739000082015991,3.8799999999999955,46.69,15.112000465393066 +246.26451086997986,3.740999937057495,3.8799999999999955,46.69,15.112000465393066 +246.26458501815796,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.31956696510315,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.31966185569763,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.35957193374634,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.35967993736267,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.42245984077454,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.42254304885864,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.4644238948822,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.4644958972931,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.52251386642456,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.52260494232178,3.740999937057495,3.8799999999999955,46.69,15.053000450134277 +246.5654170513153,3.746000051498413,3.8799999999999955,46.69,15.053000450134277 +246.5655038356781,3.746000051498413,3.8799999999999955,46.69,14.928999900817871 +246.62438988685608,3.746000051498413,3.8799999999999955,46.69,14.928999900817871 +246.62446689605713,3.746000051498413,3.8799999999999955,46.69,14.928999900817871 +246.66627597808838,3.75,3.8799999999999955,46.69,14.928999900817871 +246.6663498878479,3.75,3.8799999999999955,46.69,14.861000061035156 +246.72124886512756,3.75,3.8799999999999955,46.69,14.861000061035156 +246.7213590145111,3.75,3.8799999999999955,46.69,14.861000061035156 +246.7612659931183,3.75,3.8799999999999955,46.69,14.861000061035156 +246.7613799571991,3.75,3.8799999999999955,46.69,14.861000061035156 +246.82529401779175,3.75,3.8799999999999955,46.69,14.861000061035156 +246.8253629207611,3.75,3.8799999999999955,46.69,14.861000061035156 +246.86718201637268,3.75,3.8799999999999955,46.69,14.861000061035156 +246.86725902557373,3.75,3.8799999999999955,46.69,14.861000061035156 +246.92120599746704,3.75,3.8799999999999955,46.69,14.861000061035156 +246.9213240146637,3.75,3.8799999999999955,46.69,14.861000061035156 +246.96119499206543,3.753999948501587,3.8799999999999955,46.69,14.861000061035156 +246.96131205558777,3.753999948501587,3.8799999999999955,46.69,14.72599983215332 +247.02527284622192,3.753999948501587,3.8799999999999955,46.69,14.72599983215332 +247.0253608226776,3.753999948501587,3.8799999999999955,46.69,14.72599983215332 +247.0441129207611,3.753999948501587,3.8799999999999955,45.29,14.72599983215332 +247.04418182373047,3.753999948501587,3.819999999999993,45.29,14.72599983215332 +247.06613302230835,3.753999948501587,3.819999999999993,45.29,14.72599983215332 +247.06621098518372,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.12316489219666,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.1232829093933,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.16314888000488,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.1632649898529,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.2261118888855,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.22620391845703,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.2680938243866,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.26816487312317,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.3242108821869,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.32433485984802,3.753999948501587,3.819999999999993,45.29,14.657999992370605 +247.36417388916016,3.75600004196167,3.819999999999993,45.29,14.657999992370605 +247.3642919063568,3.75600004196167,3.819999999999993,45.29,14.515000343322754 +247.42702293395996,3.75600004196167,3.819999999999993,45.29,14.515000343322754 +247.42711091041565,3.75600004196167,3.819999999999993,45.29,14.515000343322754 +247.46004104614258,3.75600004196167,3.819999999999993,45.29,14.515000343322754 +247.4601628780365,3.75600004196167,3.819999999999993,45.29,14.4399995803833 +247.52405285835266,3.75600004196167,3.819999999999993,45.29,14.4399995803833 +247.52414298057556,3.75600004196167,3.819999999999993,45.29,14.4399995803833 +247.56417393684387,3.75600004196167,3.819999999999993,45.29,14.4399995803833 +247.56428599357605,3.75600004196167,3.819999999999993,45.29,14.4399995803833 +247.58408093452454,3.756999969482422,3.819999999999993,45.29,14.4399995803833 +247.58415985107422,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.62808394432068,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.6282069683075,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.65998101234436,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.66010093688965,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.72397994995117,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.72406697273254,3.756999969482422,3.819999999999993,45.29,14.36299991607666 +247.74497485160828,3.756999969482422,3.819999999999993,43.69,14.36299991607666 +247.74503183364868,3.756999969482422,3.8300000000000125,43.69,14.36299991607666 +247.7640929222107,3.756999969482422,3.8300000000000125,43.69,14.36299991607666 +247.76428389549255,3.756999969482422,3.8300000000000125,43.69,14.36299991607666 +247.7839639186859,3.757999897003174,3.8300000000000125,43.69,14.36299991607666 +247.78404903411865,3.757999897003174,3.8300000000000125,43.69,14.293999671936035 +247.82794094085693,3.757999897003174,3.8300000000000125,43.69,14.293999671936035 +247.8280189037323,3.757999897003174,3.8300000000000125,43.69,14.293999671936035 +247.8898730278015,3.757999897003174,3.8300000000000125,43.69,14.293999671936035 +247.88997197151184,3.757999897003174,3.8300000000000125,43.69,14.229000091552734 +247.92584204673767,3.757999897003174,3.8300000000000125,43.69,14.229000091552734 +247.92593502998352,3.757999897003174,3.8300000000000125,43.69,14.229000091552734 +247.98580384254456,3.757999897003174,3.8300000000000125,43.69,14.229000091552734 +247.98587894439697,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.01894092559814,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.01900482177734,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.09076189994812,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.09083604812622,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.12582898139954,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.12593603134155,3.757999897003174,3.8300000000000125,43.69,14.164999961853027 +248.18576002120972,3.760999917984009,3.8300000000000125,43.69,14.164999961853027 +248.18585586547852,3.760999917984009,3.8300000000000125,43.69,14.104000091552734 +248.21888995170593,3.760999917984009,3.8300000000000125,43.69,14.104000091552734 +248.21894788742065,3.760999917984009,3.8300000000000125,43.69,14.104000091552734 +248.29068398475647,3.76200008392334,3.8300000000000125,43.69,14.104000091552734 +248.2907588481903,3.76200008392334,3.8300000000000125,43.69,14.041000366210938 +248.32668685913086,3.76200008392334,3.8300000000000125,43.69,14.041000366210938 +248.3267798423767,3.76200008392334,3.8300000000000125,43.69,14.041000366210938 +248.38665890693665,3.7639999389648438,3.8300000000000125,43.69,14.041000366210938 +248.38673901557922,3.7639999389648438,3.8300000000000125,43.69,13.977999687194824 +248.42101192474365,3.7639999389648438,3.8300000000000125,43.69,13.977999687194824 +248.421138048172,3.7639999389648438,3.8300000000000125,43.69,13.977999687194824 +248.49263787269592,3.7639999389648438,3.8300000000000125,43.69,13.977999687194824 +248.49271702766418,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.52661085128784,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.5267050266266,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.586590051651,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.58666801452637,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.62057089805603,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.62064504623413,3.7639999389648438,3.8300000000000125,43.69,13.916999816894531 +248.68755984306335,3.763000011444092,3.8300000000000125,43.69,13.916999816894531 +248.68763089179993,3.763000011444092,3.8300000000000125,43.69,13.855999946594238 +248.72770500183105,3.763000011444092,3.8300000000000125,43.69,13.855999946594238 +248.72785592079163,3.763000011444092,3.8300000000000125,43.69,13.855999946594238 +248.7466299533844,3.763000011444092,3.8300000000000125,42.29,13.855999946594238 +248.7466959953308,3.763000011444092,3.8000000000000114,42.29,13.855999946594238 +248.7875828742981,3.765000104904175,3.8000000000000114,42.29,13.855999946594238 +248.787682056427,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.82151985168457,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.8215889930725,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.89365100860596,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.89372301101685,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.92748594284058,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.9275689125061,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.98748803138733,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +248.9875659942627,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +249.02146792411804,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +249.02155089378357,3.765000104904175,3.8000000000000114,42.29,13.793999671936035 +249.09065985679626,3.7739999294281006,3.8000000000000114,42.29,13.793999671936035 +249.0907609462738,3.7739999294281006,3.8000000000000114,42.29,13.670000076293945 +249.1296238899231,3.7739999294281006,3.8000000000000114,42.29,13.670000076293945 +249.12972593307495,3.7739999294281006,3.8000000000000114,42.29,13.670000076293945 +249.17961597442627,3.7739999294281006,3.8000000000000114,42.29,13.670000076293945 +249.17970085144043,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.22344994544983,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.2235128879547,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.29535484313965,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.29543495178223,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.3303198814392,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.33040499687195,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.38035202026367,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.38046288490295,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.4235179424286,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.42360496520996,3.7739999294281006,3.8000000000000114,42.29,13.607999801635742 +249.49561500549316,3.7720000743865967,3.8000000000000114,42.29,13.607999801635742 +249.4957149028778,3.7720000743865967,3.8000000000000114,42.29,13.482000350952148 +249.52926802635193,3.7720000743865967,3.8000000000000114,42.29,13.482000350952148 +249.52936482429504,3.7720000743865967,3.8000000000000114,42.29,13.482000350952148 +249.5796730518341,3.7699999809265137,3.8000000000000114,42.29,13.482000350952148 +249.57978296279907,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.62344098091125,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.62352204322815,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.6952109336853,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.69528985023499,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.73118901252747,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.73127102851868,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.78122782707214,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.78134894371033,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.82814288139343,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.82821083068848,3.7699999809265137,3.8000000000000114,42.29,13.418999671936035 +249.88050484657288,3.7690000534057617,3.8000000000000114,42.29,13.418999671936035 +249.88062405586243,3.7690000534057617,3.8000000000000114,42.29,13.298999786376953 +249.9194610118866,3.7690000534057617,3.8000000000000114,42.29,13.298999786376953 +249.91953897476196,3.7690000534057617,3.8000000000000114,42.29,13.298999786376953 +249.98342204093933,3.7699999809265137,3.8000000000000114,42.29,13.298999786376953 +249.98353004455566,3.7699999809265137,3.8000000000000114,42.29,13.23900032043457 +250.02607798576355,3.7699999809265137,3.8000000000000114,42.29,13.23900032043457 +250.02613997459412,3.7699999809265137,3.8000000000000114,42.29,13.23900032043457 +250.04712796211243,3.7699999809265137,3.8000000000000114,41.42,13.23900032043457 +250.04719495773315,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.07934403419495,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.07941794395447,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.1192238330841,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.11929392814636,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.18642282485962,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.18656492233276,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.22802305221558,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.22809100151062,3.7699999809265137,3.8300000000000125,41.42,13.23900032043457 +250.28001499176025,3.7669999599456787,3.8300000000000125,41.42,13.23900032043457 +250.28009796142578,3.7669999599456787,3.8300000000000125,41.42,13.116999626159668 +250.32000398635864,3.7669999599456787,3.8300000000000125,41.42,13.116999626159668 +250.32007384300232,3.7669999599456787,3.8300000000000125,41.42,13.116999626159668 +250.38595986366272,3.7660000324249268,3.8300000000000125,41.42,13.116999626159668 +250.38603496551514,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.41997504234314,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.42005491256714,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.48196291923523,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.48202991485596,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.52401399612427,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.524090051651,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.56696701049805,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.5671148300171,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.6199049949646,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.61998200416565,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.66321301460266,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.66330885887146,3.7660000324249268,3.8300000000000125,41.42,13.055999755859375 +250.6829969882965,3.7639999389648438,3.8300000000000125,41.42,13.055999755859375 +250.68306303024292,3.7639999389648438,3.8300000000000125,41.42,12.932999610900879 +250.72197794914246,3.7639999389648438,3.8300000000000125,41.42,12.932999610900879 +250.7221028804779,3.7639999389648438,3.8300000000000125,41.42,12.932999610900879 +250.75081205368042,3.7639999389648438,3.8300000000000125,41.42,12.932999610900879 +250.7508828639984,3.7639999389648438,3.8300000000000125,41.42,12.932999610900879 +250.78783583641052,3.765000104904175,3.8300000000000125,41.42,12.932999610900879 +250.78791689872742,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.82091784477234,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.8210039138794,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.882915019989,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.88301587104797,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.92292404174805,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.9229919910431,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.9789960384369,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +250.97909283638,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +251.0217878818512,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +251.0218689441681,3.765000104904175,3.8300000000000125,41.42,12.873000144958496 +251.08383083343506,3.76200008392334,3.8300000000000125,41.42,12.873000144958496 +251.08390283584595,3.76200008392334,3.8300000000000125,41.42,12.746999740600586 +251.12470698356628,3.76200008392334,3.8300000000000125,41.42,12.746999740600586 +251.12477898597717,3.76200008392334,3.8300000000000125,41.42,12.746999740600586 +251.17971801757812,3.760999917984009,3.8300000000000125,41.42,12.746999740600586 +251.17981100082397,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.22284197807312,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.22292399406433,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.28470993041992,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.2848310470581,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.3246409893036,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.32471895217896,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.35974383354187,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.3598759174347,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.42380094528198,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.4238998889923,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.4650399684906,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.465185880661,3.760999917984009,3.8300000000000125,41.42,12.682999610900879 +251.4845998287201,3.757999897003174,3.8300000000000125,41.42,12.682999610900879 +251.48467302322388,3.757999897003174,3.8300000000000125,41.42,12.557000160217285 +251.5251660346985,3.757999897003174,3.8300000000000125,41.42,12.557000160217285 +251.52526187896729,3.757999897003174,3.8300000000000125,41.42,12.557000160217285 +251.57956099510193,3.76200008392334,3.8300000000000125,41.42,12.557000160217285 +251.57964897155762,3.76200008392334,3.8300000000000125,41.42,12.501999855041504 +251.62262296676636,3.76200008392334,3.8300000000000125,41.42,12.501999855041504 +251.6227159500122,3.76200008392334,3.8300000000000125,41.42,12.501999855041504 +251.6845259666443,3.7639999389648438,3.8300000000000125,41.42,12.501999855041504 +251.68459701538086,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.72454500198364,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.72464203834534,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.75446796417236,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.75452589988708,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.78050088882446,3.7639999389648438,3.8300000000000125,41.42,12.442000389099121 +251.78059196472168,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.82364797592163,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.8237428665161,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.8854570388794,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.88554692268372,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.92557787895203,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.92576098442078,3.7639999389648438,3.8300000000000125,41.42,12.378000259399414 +251.98042798042297,3.7660000324249268,3.8300000000000125,41.42,12.378000259399414 +251.98052096366882,3.7660000324249268,3.8300000000000125,41.42,12.312000274658203 +252.02545595169067,3.7660000324249268,3.8300000000000125,41.42,12.312000274658203 +252.0255570411682,3.7660000324249268,3.8300000000000125,41.42,12.312000274658203 +252.08640003204346,3.7669999599456787,3.8300000000000125,41.42,12.312000274658203 +252.08646893501282,3.7669999599456787,3.8300000000000125,41.42,12.246000289916992 +252.12651205062866,3.7669999599456787,3.8300000000000125,41.42,12.246000289916992 +252.12661385536194,3.7669999599456787,3.8300000000000125,41.42,12.246000289916992 +252.1833610534668,3.7660000324249268,3.8300000000000125,41.42,12.246000289916992 +252.1834728717804,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.2264289855957,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.22653698921204,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.27849984169006,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.27857184410095,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.31847095489502,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.31854391098022,3.7660000324249268,3.8300000000000125,41.42,12.182000160217285 +252.3832700252533,3.7669999599456787,3.8300000000000125,41.42,12.182000160217285 +252.38334798812866,3.7669999599456787,3.8300000000000125,41.42,12.119999885559082 +252.42335104942322,3.7669999599456787,3.8300000000000125,41.42,12.119999885559082 +252.4235029220581,3.7669999599456787,3.8300000000000125,41.42,12.119999885559082 +252.47866082191467,3.7690000534057617,3.8300000000000125,41.42,12.119999885559082 +252.47872400283813,3.7690000534057617,3.8300000000000125,41.42,12.059000015258789 +252.52822089195251,3.7690000534057617,3.8300000000000125,41.42,12.059000015258789 +252.52828884124756,3.7690000534057617,3.8300000000000125,41.42,12.059000015258789 +252.56325483322144,3.7690000534057617,3.8300000000000125,41.42,12.059000015258789 +252.5633828639984,3.7690000534057617,3.8300000000000125,41.42,12.059000015258789 +252.58321905136108,3.7709999084472656,3.8300000000000125,41.42,12.059000015258789 +252.58330988883972,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.62729597091675,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.62737703323364,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.67918395996094,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.6792550086975,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.71922302246094,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.71931982040405,3.7709999084472656,3.8300000000000125,41.42,11.986000061035156 +252.75514197349548,3.7709999084472656,3.8300000000000125,37.86,11.986000061035156 +252.75519704818726,3.7709999084472656,3.9499999999999886,37.86,11.986000061035156 +252.78415393829346,3.7720000743865967,3.9499999999999886,37.86,11.986000061035156 +252.78425788879395,3.7720000743865967,3.9499999999999886,37.86,11.923999786376953 +252.82812190055847,3.7720000743865967,3.9499999999999886,37.86,11.923999786376953 +252.82820796966553,3.7720000743865967,3.9499999999999886,37.86,11.923999786376953 +252.8801670074463,3.7739999294281006,3.9499999999999886,37.86,11.923999786376953 +252.8802969455719,3.7739999294281006,3.9499999999999886,37.86,11.86299991607666 +252.92014288902283,3.7739999294281006,3.9499999999999886,37.86,11.86299991607666 +252.92026090621948,3.7739999294281006,3.9499999999999886,37.86,11.86299991607666 +252.98508095741272,3.7760000228881836,3.9499999999999886,37.86,11.86299991607666 +252.98517203330994,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.04807090759277,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.04816484451294,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.08008098602295,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.0801739692688,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.1461808681488,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.14630603790283,3.7760000228881836,3.9499999999999886,37.86,11.803000450134277 +253.18600702285767,3.7780001163482666,3.9499999999999886,37.86,11.803000450134277 +253.18609595298767,3.7780001163482666,3.9499999999999886,37.86,11.73799991607666 +253.2399709224701,3.7780001163482666,3.9499999999999886,37.86,11.73799991607666 +253.24003791809082,3.7780001163482666,3.9499999999999886,37.86,11.73799991607666 +253.2819528579712,3.7790000438690186,3.9499999999999886,37.86,11.73799991607666 +253.2820279598236,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.3469638824463,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.34705591201782,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.38697600364685,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.38710284233093,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.44107484817505,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.44116592407227,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.48289704322815,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.4829728603363,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.54786205291748,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.54795384407043,3.7790000438690186,3.9499999999999886,37.86,11.670000076293945 +253.58790183067322,3.7769999504089355,3.9499999999999886,37.86,11.670000076293945 +253.58800888061523,3.7769999504089355,3.9499999999999886,37.86,11.538000106811523 +253.640949010849,3.7769999504089355,3.9499999999999886,37.86,11.538000106811523 +253.64101886749268,3.7769999504089355,3.9499999999999886,37.86,11.538000106811523 +253.6839280128479,3.7699999809265137,3.9499999999999886,37.86,11.538000106811523 +253.68400597572327,3.7699999809265137,3.9499999999999886,37.86,11.456000328063965 +253.7488148212433,3.7699999809265137,3.9499999999999886,37.86,11.456000328063965 +253.74889302253723,3.7699999809265137,3.9499999999999886,37.86,11.456000328063965 +253.75577187538147,3.7699999809265137,3.9499999999999886,36.36,11.456000328063965 +253.7558319568634,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.77897596359253,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.77905201911926,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.84384298324585,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.8439118862152,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.88576197624207,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.8858449459076,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.94872999191284,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.9488308429718,3.7699999809265137,3.819999999999993,36.36,11.456000328063965 +253.97894883155823,3.756999969482422,3.819999999999993,36.36,11.456000328063965 +253.97903990745544,3.756999969482422,3.819999999999993,36.36,11.359000205993652 +254.0426800251007,3.756999969482422,3.819999999999993,36.36,11.359000205993652 +254.04274582862854,3.756999969482422,3.819999999999993,36.36,11.359000205993652 +254.0848309993744,3.747999906539917,3.819999999999993,36.36,11.359000205993652 +254.0849130153656,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.15002703666687,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.15013694763184,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.1796588897705,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.1797468662262,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.21963000297546,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.2197070121765,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.27590990066528,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.27601194381714,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.32576704025269,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.32584285736084,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.35959601402283,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.35969185829163,3.747999906539917,3.819999999999993,36.36,11.32800006866455 +254.37959599494934,3.73799991607666,3.819999999999993,36.36,11.32800006866455 +254.37969183921814,3.73799991607666,3.819999999999993,36.36,11.303000450134277 +254.41956186294556,3.73799991607666,3.819999999999993,36.36,11.303000450134277 +254.41963386535645,3.73799991607666,3.819999999999993,36.36,11.303000450134277 +254.48559594154358,3.7339999675750732,3.819999999999993,36.36,11.303000450134277 +254.48566889762878,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.5255479812622,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.52561688423157,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.5818269252777,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.58191800117493,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.62155604362488,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.62162494659424,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.68703198432922,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.68715405464172,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.72545790672302,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.72553205490112,3.7339999675750732,3.819999999999993,36.36,11.307999610900879 +254.75544595718384,3.7339999675750732,3.819999999999993,35.8,11.307999610900879 +254.755539894104,3.7339999675750732,3.8899999999999864,35.8,11.307999610900879 +254.78161692619324,3.736999988555908,3.8899999999999864,35.8,11.307999610900879 +254.7817349433899,3.736999988555908,3.8899999999999864,35.8,11.335000038146973 +254.82150292396545,3.736999988555908,3.8899999999999864,35.8,11.335000038146973 +254.82157588005066,3.736999988555908,3.8899999999999864,35.8,11.335000038146973 +254.87995982170105,3.740999937057495,3.8899999999999864,35.8,11.335000038146973 +254.88010501861572,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +254.92653584480286,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +254.92662286758423,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +254.98246383666992,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +254.9825839996338,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.02240800857544,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.0224859714508,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.07858085632324,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.07868099212646,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.1185028553009,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.11857986450195,3.740999937057495,3.8899999999999864,35.8,11.350000381469727 +255.18234395980835,3.742000102996826,3.8899999999999864,35.8,11.350000381469727 +255.18252801895142,3.742000102996826,3.8899999999999864,35.8,11.371999740600586 +255.22228503227234,3.742000102996826,3.8899999999999864,35.8,11.371999740600586 +255.22236394882202,3.742000102996826,3.8899999999999864,35.8,11.371999740600586 +255.2877299785614,3.744999885559082,3.8899999999999864,35.8,11.371999740600586 +255.2878339290619,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.32733798027039,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.32741498947144,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.38341903686523,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.3835039138794,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.42319583892822,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.4232678413391,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.4873080253601,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.48739886283875,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.52264189720154,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.522766828537,3.744999885559082,3.8899999999999864,35.8,11.37600040435791 +255.58267498016357,3.763000011444092,3.8899999999999864,35.8,11.37600040435791 +255.5828468799591,3.763000011444092,3.8899999999999864,35.8,11.364999771118164 +255.62313604354858,3.763000011444092,3.8899999999999864,35.8,11.364999771118164 +255.62320804595947,3.763000011444092,3.8899999999999864,35.8,11.364999771118164 +255.67839789390564,3.7699999809265137,3.8899999999999864,35.8,11.364999771118164 +255.67851305007935,3.7699999809265137,3.8899999999999864,35.8,11.33899974822998 +255.727196931839,3.7699999809265137,3.8899999999999864,35.8,11.33899974822998 +255.72727298736572,3.7699999809265137,3.8899999999999864,35.8,11.33899974822998 +255.75633788108826,3.7699999809265137,3.8899999999999864,35.68,11.33899974822998 +255.75639390945435,3.7699999809265137,3.9000000000000057,35.68,11.33899974822998 +255.78213691711426,3.7780001163482666,3.9000000000000057,35.68,11.33899974822998 +255.7822389602661,3.7780001163482666,3.9000000000000057,35.68,11.300000190734863 +255.82211184501648,3.7780001163482666,3.9000000000000057,35.68,11.300000190734863 +255.82220697402954,3.7780001163482666,3.9000000000000057,35.68,11.300000190734863 +255.88629984855652,3.7750000953674316,3.9000000000000057,35.68,11.300000190734863 +255.88639187812805,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +255.9250738620758,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +255.92514395713806,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +255.98206996917725,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +255.98218488693237,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +256.0219898223877,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +256.0220618247986,3.7750000953674316,3.9000000000000057,35.68,11.24899959564209 +256.08706283569336,3.765000104904175,3.9000000000000057,35.68,11.24899959564209 +256.08713603019714,3.765000104904175,3.9000000000000057,35.68,11.189000129699707 +256.12747597694397,3.765000104904175,3.9000000000000057,35.68,11.189000129699707 +256.127564907074,3.765000104904175,3.9000000000000057,35.68,11.189000129699707 +256.1829798221588,3.747999906539917,3.9000000000000057,35.68,11.189000129699707 +256.18309903144836,3.747999906539917,3.9000000000000057,35.68,11.118000030517578 +256.22292494773865,3.747999906539917,3.9000000000000057,35.68,11.118000030517578 +256.22300696372986,3.747999906539917,3.9000000000000057,35.68,11.118000030517578 +256.27819085121155,3.7260000705718994,3.9000000000000057,35.68,11.118000030517578 +256.2782988548279,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.3181040287018,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.3181848526001,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.3839199542999,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.38403391838074,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.4238998889923,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.4240200519562,3.7260000705718994,3.9000000000000057,35.68,11.041999816894531 +256.47988295555115,3.7049999237060547,3.9000000000000057,35.68,11.041999816894531 +256.4799859523773,3.7049999237060547,3.9000000000000057,35.68,10.961999893188477 +256.52098393440247,3.7049999237060547,3.9000000000000057,35.68,10.961999893188477 +256.52108001708984,3.7049999237060547,3.9000000000000057,35.68,10.961999893188477 +256.58591294288635,3.678999900817871,3.9000000000000057,35.68,10.961999893188477 +256.58599185943604,3.678999900817871,3.9000000000000057,35.68,10.880999565124512 +256.6258900165558,3.678999900817871,3.9000000000000057,35.68,10.880999565124512 +256.6259648799896,3.678999900817871,3.9000000000000057,35.68,10.880999565124512 +256.68093395233154,3.6589999198913574,3.9000000000000057,35.68,10.880999565124512 +256.68103289604187,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.7209429740906,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.7210500240326,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.7567410469055,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.7568008899689,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.78595495224,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.78608083724976,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.8258819580078,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.8260028362274,3.6589999198913574,3.9000000000000057,35.68,10.809000015258789 +256.8827269077301,3.63700008392334,3.9000000000000057,35.68,10.809000015258789 +256.88282084465027,3.63700008392334,3.9000000000000057,35.68,10.734999656677246 +256.9217870235443,3.63700008392334,3.9000000000000057,35.68,10.734999656677246 +256.92192482948303,3.63700008392334,3.9000000000000057,35.68,10.734999656677246 +256.9668610095978,3.609999895095825,3.9000000000000057,35.68,10.734999656677246 +256.96698784828186,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.02682399749756,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.0269408226013,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.0606348514557,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.0607159137726,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.1216368675232,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.12171697616577,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.1666100025177,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.1666958332062,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.2267470359802,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.2268488407135,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.26076793670654,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.2608599662781,3.609999895095825,3.9000000000000057,35.68,10.664999961853027 +257.28160190582275,3.558000087738037,3.9000000000000057,35.68,10.664999961853027 +257.2816848754883,3.558000087738037,3.9000000000000057,35.68,10.553000450134277 +257.3226330280304,3.558000087738037,3.9000000000000057,35.68,10.553000450134277 +257.3227729797363,3.558000087738037,3.9000000000000057,35.68,10.553000450134277 +257.3866238594055,3.5409998893737793,3.9000000000000057,35.68,10.553000450134277 +257.3867039680481,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.4266309738159,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.42670488357544,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.48053193092346,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.48065400123596,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.5184760093689,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.51856088638306,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.57855582237244,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.5786728858948,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.61845898628235,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.6185529232025,3.5409998893737793,3.9000000000000057,35.68,10.520999908447266 +257.6844758987427,3.5380001068115234,3.9000000000000057,35.68,10.520999908447266 +257.68457102775574,3.5380001068115234,3.9000000000000057,35.68,10.48799991607666 +257.7244038581848,3.5380001068115234,3.9000000000000057,35.68,10.48799991607666 +257.7244818210602,3.5380001068115234,3.9000000000000057,35.68,10.48799991607666 +257.759397983551,3.5380001068115234,3.9000000000000057,35.68,10.48799991607666 +257.7594618797302,3.5380001068115234,3.9000000000000057,35.68,10.48799991607666 +257.77853894233704,3.5450000762939453,3.9000000000000057,35.68,10.48799991607666 +257.77865386009216,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.81837487220764,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.81845688819885,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.8843729496002,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.8844590187073,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.9243199825287,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.9244029521942,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.9583549499512,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +257.9584560394287,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +258.0183129310608,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +258.0183868408203,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +258.0643320083618,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +258.0644178390503,3.5450000762939453,3.9000000000000057,35.68,10.480999946594238 +258.0853888988495,3.572000026702881,3.9000000000000057,35.68,10.480999946594238 +258.08548188209534,3.572000026702881,3.9000000000000057,35.68,10.501999855041504 +258.1242778301239,3.572000026702881,3.9000000000000057,35.68,10.501999855041504 +258.12434101104736,3.572000026702881,3.9000000000000057,35.68,10.501999855041504 +258.1792879104614,3.5899999141693115,3.9000000000000057,35.68,10.501999855041504 +258.17940187454224,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.2192280292511,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.219300031662,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.2853379249573,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.28543305397034,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.32527589797974,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.32535099983215,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.3823399543762,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.38245487213135,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.4222469329834,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.42231798171997,3.5899999141693115,3.9000000000000057,35.68,10.520999908447266 +258.48726892471313,3.615999937057495,3.9000000000000057,35.68,10.520999908447266 +258.4873640537262,3.615999937057495,3.9000000000000057,35.68,10.553000450134277 +258.5271248817444,3.615999937057495,3.9000000000000057,35.68,10.553000450134277 +258.52720284461975,3.615999937057495,3.9000000000000057,35.68,10.553000450134277 +258.58014488220215,3.621999979019165,3.9000000000000057,35.68,10.553000450134277 +258.58025789260864,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.620090007782,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.620169878006,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.68709802627563,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.6872010231018,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.72624683380127,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.7263250350952,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.7620208263397,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.7620949745178,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.78108286857605,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.7811989784241,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.8210289478302,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.8211019039154,3.621999979019165,3.9000000000000057,35.68,10.564000129699707 +258.88713788986206,3.622999906539917,3.9000000000000057,35.68,10.564000129699707 +258.887305021286,3.622999906539917,3.9000000000000057,35.68,10.57699966430664 +258.9270188808441,3.622999906539917,3.9000000000000057,35.68,10.57699966430664 +258.9271080493927,3.622999906539917,3.9000000000000057,35.68,10.57699966430664 +258.98099994659424,3.622999906539917,3.9000000000000057,35.68,10.57699966430664 +258.9811120033264,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.0209560394287,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.02103996276855,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.0870759487152,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.0871648788452,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.1270968914032,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.12717485427856,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.18193793296814,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.1820569038391,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.22196197509766,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.22207593917847,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.28788685798645,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.2879819869995,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.3270149230957,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.3270938396454,3.622999906539917,3.9000000000000057,35.68,10.576000213623047 +259.3828558921814,3.625,3.9000000000000057,35.68,10.576000213623047 +259.38295888900757,3.625,3.9000000000000057,35.68,10.57800006866455 +259.4228129386902,3.625,3.9000000000000057,35.68,10.57800006866455 +259.42289686203003,3.625,3.9000000000000057,35.68,10.57800006866455 +259.4668998718262,3.618000030517578,3.9000000000000057,35.68,10.57800006866455 +259.46704387664795,3.618000030517578,3.9000000000000057,35.68,10.576000213623047 +259.52805495262146,3.618000030517578,3.9000000000000057,35.68,10.576000213623047 +259.5281460285187,3.618000030517578,3.9000000000000057,35.68,10.576000213623047 +259.56379199028015,3.5989999771118164,3.9000000000000057,35.68,10.576000213623047 +259.5639009475708,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.6237528324127,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.6238360404968,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.6667289733887,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.6667959690094,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.7297089099884,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.72978687286377,3.5989999771118164,3.9000000000000057,35.68,10.572999954223633 +259.7637598514557,3.5759999752044678,3.9000000000000057,35.68,10.572999954223633 +259.76388001441956,3.5759999752044678,3.9000000000000057,35.68,10.557999610900879 +259.7659158706665,3.5759999752044678,3.9000000000000057,35.68,10.557999610900879 +259.76601099967957,3.5759999752044678,3.9000000000000057,35.68,10.557999610900879 +259.8259139060974,3.5759999752044678,3.9000000000000057,35.68,10.557999610900879 +259.82602190971375,3.5759999752044678,3.9000000000000057,35.68,10.557999610900879 +259.88972997665405,3.5480000972747803,3.9000000000000057,35.68,10.557999610900879 +259.8898458480835,3.5480000972747803,3.9000000000000057,35.68,10.531999588012695 +259.92964482307434,3.5480000972747803,3.9000000000000057,35.68,10.531999588012695 +259.9297208786011,3.5480000972747803,3.9000000000000057,35.68,10.531999588012695 +259.98668789863586,3.5220000743865967,3.9000000000000057,35.68,10.531999588012695 +259.98682284355164,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.01783084869385,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.0179090499878,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.0789108276367,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.0790169239044,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.13059282302856,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.13072085380554,3.5220000743865967,3.9000000000000057,35.68,10.498000144958496 +260.18459391593933,3.493000030517578,3.9000000000000057,35.68,10.498000144958496 +260.1847348213196,3.493000030517578,3.9000000000000057,35.68,10.454000473022461 +260.2245600223541,3.493000030517578,3.9000000000000057,35.68,10.454000473022461 +260.224632024765,3.493000030517578,3.9000000000000057,35.68,10.454000473022461 +260.29049587249756,3.4670000076293945,3.9000000000000057,35.68,10.454000473022461 +260.2905819416046,3.4670000076293945,3.9000000000000057,35.68,10.406000137329102 +260.33048582077026,3.4670000076293945,3.9000000000000057,35.68,10.406000137329102 +260.3305628299713,3.4670000076293945,3.9000000000000057,35.68,10.406000137329102 +260.3845088481903,3.441999912261963,3.9000000000000057,35.68,10.406000137329102 +260.38461685180664,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.42446184158325,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.4245319366455,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.4904680252075,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.4905698299408,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.53040885925293,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.53047704696655,3.441999912261963,3.9000000000000057,35.68,10.359999656677246 +260.58641600608826,3.427999973297119,3.9000000000000057,35.68,10.359999656677246 +260.58650183677673,3.427999973297119,3.9000000000000057,35.68,10.321999549865723 +260.626384973526,3.427999973297119,3.9000000000000057,35.68,10.321999549865723 +260.6264548301697,3.427999973297119,3.9000000000000057,35.68,10.321999549865723 +260.65942192077637,3.427999973297119,3.9000000000000057,35.68,10.321999549865723 +260.65950989723206,3.427999973297119,3.9000000000000057,35.68,10.321999549865723 +260.67951583862305,3.424999952316284,3.9000000000000057,35.68,10.321999549865723 +260.6796109676361,3.424999952316284,3.9000000000000057,35.68,10.29699993133545 +260.73139691352844,3.424999952316284,3.9000000000000057,35.68,10.29699993133545 +260.731498003006,3.424999952316284,3.9000000000000057,35.68,10.29699993133545 +260.76840591430664,3.424999952316284,3.9000000000000057,35.68,10.29699993133545 +260.7684669494629,3.424999952316284,3.9000000000000057,35.68,10.29699993133545 +260.777704000473,3.421999931335449,3.9000000000000057,35.68,10.29699993133545 +260.77781796455383,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.8175709247589,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.8176498413086,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.8613238334656,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.86140990257263,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.9333019256592,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.9333770275116,3.421999931335449,3.9000000000000057,35.68,10.288000106811523 +260.96734595298767,3.4230000972747803,3.9000000000000057,35.68,10.288000106811523 +260.9674439430237,3.4230000972747803,3.9000000000000057,35.68,10.28499984741211 +261.0175828933716,3.4230000972747803,3.9000000000000057,35.68,10.28499984741211 +261.0177140235901,3.4230000972747803,3.9000000000000057,35.68,10.28499984741211 +261.0612578392029,3.427999973297119,3.9000000000000057,35.68,10.28499984741211 +261.0613420009613,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.13324904441833,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.13334798812866,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.1672749519348,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.1673719882965,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.2174959182739,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.2176079750061,3.427999973297119,3.9000000000000057,35.68,10.291999816894531 +261.26119089126587,3.443000078201294,3.9000000000000057,35.68,10.291999816894531 +261.2612760066986,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.333144903183,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.33322501182556,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.36836290359497,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.36852502822876,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.41829895973206,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.41841197013855,3.443000078201294,3.9000000000000057,35.68,10.317000389099121 +261.482225894928,3.447999954223633,3.9000000000000057,35.68,10.317000389099121 +261.48231983184814,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.53408193588257,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.5341658592224,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.57827401161194,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.57838892936707,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.6182599067688,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.61836099624634,3.447999954223633,3.9000000000000057,35.68,10.331000328063965 +261.66205382347107,3.4489998817443848,3.9000000000000057,35.68,10.331000328063965 +261.66213393211365,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.73004698753357,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.7301619052887,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.7609899044037,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.7610869407654,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.7700688838959,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.7702260017395,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.82004404067993,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.8201768398285,3.4489998817443848,3.9000000000000057,35.68,10.345000267028809 +261.86534690856934,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +261.8654308319092,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +261.91719102859497,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +261.9172658920288,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +261.9572160243988,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +261.9573109149933,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +262.00092792510986,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +262.0010299682617,3.4509999752044678,3.9000000000000057,35.68,10.345000267028809 +262.06392884254456,3.4549999237060547,3.9000000000000057,35.68,10.345000267028809 +262.06401085853577,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.1360640525818,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.1361629962921,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.17186188697815,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.1719608306885,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.2218370437622,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.22191190719604,3.4549999237060547,3.9000000000000057,35.68,10.342000007629395 +262.2660789489746,3.4560000896453857,3.9000000000000057,35.68,10.342000007629395 +262.266165971756,3.4560000896453857,3.9000000000000057,35.68,10.340999603271484 +262.31789684295654,3.4560000896453857,3.9000000000000057,35.68,10.340999603271484 +262.3179700374603,3.4560000896453857,3.9000000000000057,35.68,10.340999603271484 +262.38181591033936,3.4560000896453857,3.9000000000000057,35.68,10.340999603271484 +262.3819329738617,3.4560000896453857,3.9000000000000057,35.68,10.34000015258789 +262.421767950058,3.4560000896453857,3.9000000000000057,35.68,10.34000015258789 +262.4218499660492,3.4560000896453857,3.9000000000000057,35.68,10.34000015258789 +262.49772787094116,3.4570000171661377,3.9000000000000057,35.68,10.34000015258789 +262.4978139400482,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.537801027298,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.537957906723,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.5830240249634,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.5831398963928,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.6229360103607,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.6230318546295,3.4570000171661377,3.9000000000000057,35.68,10.33899974822998 +262.66666984558105,3.4579999446868896,3.9000000000000057,35.68,10.33899974822998 +262.6667449474335,3.4579999446868896,3.9000000000000057,35.68,10.33899974822998 +262.7347228527069,3.4579999446868896,3.9000000000000057,35.68,10.33899974822998 +262.7347939014435,3.4579999446868896,3.9000000000000057,35.68,10.33899974822998 +262.7596709728241,3.4609999656677246,3.9000000000000057,35.68,10.33899974822998 +262.75977182388306,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.7606430053711,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.76070404052734,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.82362604141235,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.82369804382324,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.8676438331604,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.8677349090576,3.4609999656677246,3.9000000000000057,35.68,10.338000297546387 +262.8876910209656,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +262.8877718448639,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +262.9217710494995,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +262.92186999320984,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +262.98483300209045,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +262.9849498271942,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +263.02479887008667,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +263.0248749256134,3.4630000591278076,3.9000000000000057,35.68,10.338000297546387 +263.0675480365753,3.4649999141693115,3.9000000000000057,35.68,10.338000297546387 +263.0676188468933,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.13951992988586,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.1395859718323,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.1745238304138,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.17463994026184,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.2246220111847,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.2247838973999,3.4649999141693115,3.9000000000000057,35.68,10.33899974822998 +263.2674949169159,3.4639999866485596,3.9000000000000057,35.68,10.33899974822998 +263.26757884025574,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.3208088874817,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.3208749294281,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.3746099472046,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.37469482421875,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.4245140552521,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.42459201812744,3.4639999866485596,3.9000000000000057,35.68,10.336999893188477 +263.4674189090729,3.4649999141693115,3.9000000000000057,35.68,10.336999893188477 +263.46749901771545,3.4649999141693115,3.9000000000000057,35.68,10.336000442504883 +263.53936982154846,3.4649999141693115,3.9000000000000057,35.68,10.336000442504883 +263.5394399166107,3.4649999141693115,3.9000000000000057,35.68,10.336000442504883 +263.5733768939972,3.4660000801086426,3.9000000000000057,35.68,10.336000442504883 +263.57348585128784,3.4660000801086426,3.9000000000000057,35.68,10.336000442504883 +263.6235740184784,3.4660000801086426,3.9000000000000057,35.68,10.336000442504883 +263.62365889549255,3.4660000801086426,3.9000000000000057,35.68,10.336000442504883 +263.66736602783203,3.4679999351501465,3.9000000000000057,35.68,10.336000442504883 +263.6674540042877,3.4679999351501465,3.9000000000000057,35.68,10.333999633789062 +263.7353048324585,3.4679999351501465,3.9000000000000057,35.68,10.333999633789062 +263.73538184165955,3.4679999351501465,3.9000000000000057,35.68,10.333999633789062 +263.7605860233307,3.4679999351501465,3.9000000000000057,32.81,10.333999633789062 +263.76064896583557,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.7753629684448,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.7754809856415,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.8253769874573,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.82546401023865,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.9002408981323,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.90032291412354,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.94025897979736,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.9403488636017,3.4679999351501465,5.639999999999986,32.81,10.333999633789062 +263.9789390563965,3.4519999027252197,5.639999999999986,32.81,10.333999633789062 +263.9790279865265,3.4519999027252197,5.639999999999986,32.81,10.329999923706055 +264.02849793434143,3.4519999027252197,5.639999999999986,32.81,10.329999923706055 +264.028568983078,3.4519999027252197,5.639999999999986,32.81,10.329999923706055 +264.0692479610443,3.424999952316284,5.639999999999986,32.81,10.329999923706055 +264.0693509578705,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.14157485961914,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.1416509151459,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.1762099266052,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.1763389110565,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.226135969162,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.2262079715729,3.424999952316284,5.639999999999986,32.81,10.324999809265137 +264.27011489868164,3.385999917984009,5.639999999999986,32.81,10.324999809265137 +264.27017998695374,3.385999917984009,5.639999999999986,32.81,10.310999870300293 +264.31212091445923,3.385999917984009,5.639999999999986,32.81,10.310999870300293 +264.3121838569641,3.385999917984009,5.639999999999986,32.81,10.310999870300293 +264.3662779331207,3.3440001010894775,5.639999999999986,32.81,10.310999870300293 +264.3664209842682,3.3440001010894775,5.639999999999986,32.81,10.289999961853027 +264.42918491363525,3.3440001010894775,5.639999999999986,32.81,10.289999961853027 +264.4292550086975,3.3440001010894775,5.639999999999986,32.81,10.289999961853027 +264.47005105018616,3.296999931335449,5.639999999999986,32.81,10.289999961853027 +264.4701180458069,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.54204201698303,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.5421259403229,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.57602190971375,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.5761208534241,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.6359930038452,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.6360640525818,3.296999931335449,5.639999999999986,32.81,10.269000053405762 +264.66998505592346,3.2360000610351562,5.639999999999986,32.81,10.269000053405762 +264.6700508594513,3.2360000610351562,5.639999999999986,32.81,10.239999771118164 +264.71198892593384,3.2360000610351562,5.639999999999986,32.81,10.239999771118164 +264.71209192276,3.2360000610351562,5.639999999999986,32.81,10.239999771118164 +264.7609238624573,3.2360000610351562,5.639999999999986,32.77,10.239999771118164 +264.7609980106354,3.2360000610351562,5.800000000000011,32.77,10.239999771118164 +264.778333902359,3.174999952316284,5.800000000000011,32.77,10.239999771118164 +264.77846598625183,3.174999952316284,5.800000000000011,32.77,10.215999603271484 +264.83027386665344,3.174999952316284,5.800000000000011,32.77,10.215999603271484 +264.8303499221802,3.174999952316284,5.800000000000011,32.77,10.215999603271484 +264.8709018230438,3.11899995803833,5.800000000000011,32.77,10.215999603271484 +264.8709719181061,3.11899995803833,5.800000000000011,32.77,10.196999549865723 +264.9379389286041,3.11899995803833,5.800000000000011,32.77,10.196999549865723 +264.93801498413086,3.11899995803833,5.800000000000011,32.77,10.196999549865723 +264.97788190841675,3.0789999961853027,5.800000000000011,32.77,10.196999549865723 +264.97797203063965,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.03885102272034,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.0389258861542,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.0708668231964,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.070946931839,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.11282992362976,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.1129069328308,3.0789999961853027,5.800000000000011,32.77,10.1850004196167 +265.1788170337677,3.062000036239624,5.800000000000011,32.77,10.1850004196167 +265.1789150238037,3.062000036239624,5.800000000000011,32.77,10.180999755859375 +265.2110028266907,3.062000036239624,5.800000000000011,32.77,10.180999755859375 +265.21112084388733,3.062000036239624,5.800000000000011,32.77,10.180999755859375 +265.27194690704346,3.062999963760376,5.800000000000011,32.77,10.180999755859375 +265.2720148563385,3.062999963760376,5.800000000000011,32.77,10.182000160217285 +265.31280398368835,3.062999963760376,5.800000000000011,32.77,10.182000160217285 +265.31289887428284,3.062999963760376,5.800000000000011,32.77,10.182000160217285 +265.3799378871918,3.065000057220459,5.800000000000011,32.77,10.182000160217285 +265.38006591796875,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.43003582954407,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.43013095855713,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.4727249145508,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.472797870636,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.54528999328613,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.54539799690247,3.065000057220459,5.800000000000011,32.77,10.187999725341797 +265.57974195480347,3.075000047683716,5.800000000000011,32.77,10.187999725341797 +265.5798349380493,3.075000047683716,5.800000000000011,32.77,10.192999839782715 +265.6299178600311,3.075000047683716,5.800000000000011,32.77,10.192999839782715 +265.6299958229065,3.075000047683716,5.800000000000011,32.77,10.192999839782715 +265.6726598739624,3.0899999141693115,5.800000000000011,32.77,10.192999839782715 +265.6727440357208,3.0899999141693115,5.800000000000011,32.77,10.199999809265137 +265.7445969581604,3.0899999141693115,5.800000000000011,32.77,10.199999809265137 +265.7446639537811,3.0899999141693115,5.800000000000011,32.77,10.199999809265137 +265.7615988254547,3.0899999141693115,5.800000000000011,32.77,10.199999809265137 +265.76168298721313,3.0899999141693115,5.800000000000011,32.77,10.199999809265137 +265.7785978317261,3.1050000190734863,5.800000000000011,32.77,10.199999809265137 +265.77868700027466,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.83856892585754,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.8386390209198,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.87366104125977,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.8737440109253,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.94654083251953,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.9466269016266,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +265.9796209335327,3.122999906539917,5.800000000000011,32.77,10.204999923706055 +265.97971200942993,3.122999906539917,5.800000000000011,32.77,10.210000038146973 +266.0298500061035,3.122999906539917,5.800000000000011,32.77,10.210000038146973 +266.0299508571625,3.122999906539917,5.800000000000011,32.77,10.210000038146973 +266.0725009441376,3.132999897003174,5.800000000000011,32.77,10.210000038146973 +266.0725769996643,3.132999897003174,5.800000000000011,32.77,10.210000038146973 +266.14449191093445,3.132999897003174,5.800000000000011,32.77,10.210000038146973 +266.144583940506,3.132999897003174,5.800000000000011,32.77,10.210000038146973 +266.1804618835449,3.13100004196167,5.800000000000011,32.77,10.210000038146973 +266.18055295944214,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.210471868515,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.21056294441223,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.27341985702515,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.27349305152893,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.3154079914093,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.3154709339142,3.13100004196167,5.800000000000011,32.77,10.204999923706055 +266.38100385665894,3.1050000190734863,5.800000000000011,32.77,10.204999923706055 +266.3811299800873,3.1050000190734863,5.800000000000011,32.77,10.199000358581543 +266.4304268360138,3.1050000190734863,5.800000000000011,32.77,10.199000358581543 +266.430538892746,3.1050000190734863,5.800000000000011,32.77,10.199000358581543 +266.4733610153198,3.062000036239624,5.800000000000011,32.77,10.199000358581543 +266.4734389781952,3.062000036239624,5.800000000000011,32.77,10.189000129699707 +266.54532504081726,3.062000036239624,5.800000000000011,32.77,10.189000129699707 +266.5454080104828,3.062000036239624,5.800000000000011,32.77,10.189000129699707 +266.5814018249512,3.009999990463257,5.800000000000011,32.77,10.189000129699707 +266.5814878940582,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.63136196136475,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.63148188591003,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.67529582977295,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.6753649711609,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.74827098846436,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.74835991859436,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.7613890171051,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.7614588737488,3.009999990463257,5.800000000000011,32.77,10.177000045776367 +266.78127789497375,2.943000078201294,5.800000000000011,32.77,10.177000045776367 +266.78135991096497,2.943000078201294,5.800000000000011,32.77,10.166000366210938 +266.8318018913269,2.943000078201294,5.800000000000011,32.77,10.166000366210938 +266.8319318294525,2.943000078201294,5.800000000000011,32.77,10.166000366210938 +266.8752188682556,2.88100004196167,5.800000000000011,32.77,10.166000366210938 +266.8752820491791,2.88100004196167,5.800000000000011,32.77,10.154999732971191 +266.94720792770386,2.88100004196167,5.800000000000011,32.77,10.154999732971191 +266.94731998443604,2.88100004196167,5.800000000000011,32.77,10.154999732971191 +266.9821939468384,2.8259999752044678,5.800000000000011,32.77,10.154999732971191 +266.9823000431061,2.8259999752044678,5.800000000000011,32.77,10.147000312805176 +267.0322289466858,2.8259999752044678,5.800000000000011,32.77,10.147000312805176 +267.03229784965515,2.8259999752044678,5.800000000000011,32.77,10.147000312805176 +267.07516288757324,2.7860000133514404,5.800000000000011,32.77,10.147000312805176 +267.0752308368683,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.1471529006958,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.1472568511963,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.18221282958984,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.1823048591614,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.2321820259094,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.2322578430176,2.7860000133514404,5.800000000000011,32.77,10.142999649047852 +267.27571082115173,2.7709999084472656,5.800000000000011,32.77,10.142999649047852 +267.27578997612,2.7709999084472656,5.800000000000011,32.77,10.138999938964844 +267.3470890522003,2.7709999084472656,5.800000000000011,32.77,10.138999938964844 +267.34719586372375,2.7709999084472656,5.800000000000011,32.77,10.138999938964844 +267.3830409049988,2.7699999809265137,5.800000000000011,32.77,10.138999938964844 +267.383131980896,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.43301582336426,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.43308782577515,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.47600984573364,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.4760718345642,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.54811787605286,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.5482759475708,2.7699999809265137,5.800000000000011,32.77,10.135000228881836 +267.58401894569397,2.7760000228881836,5.800000000000011,32.77,10.135000228881836 +267.5841488838196,2.7760000228881836,5.800000000000011,32.77,10.131999969482422 +267.6339819431305,2.7760000228881836,5.800000000000011,32.77,10.131999969482422 +267.6340880393982,2.7760000228881836,5.800000000000011,32.77,10.131999969482422 +267.67693185806274,2.7880001068115234,5.800000000000011,32.77,10.131999969482422 +267.6770169734955,2.7880001068115234,5.800000000000011,32.77,10.128000259399414 +267.7429130077362,2.7880001068115234,5.800000000000011,32.77,10.128000259399414 +267.7429950237274,2.7880001068115234,5.800000000000011,32.77,10.128000259399414 +267.7620379924774,2.7880001068115234,5.800000000000011,32.77,10.128000259399414 +267.7621178627014,2.7880001068115234,5.800000000000011,32.77,10.128000259399414 +267.7828938961029,2.805999994277954,5.800000000000011,32.77,10.128000259399414 +267.78298592567444,2.805999994277954,5.800000000000011,32.77,10.125 +267.8328709602356,2.805999994277954,5.800000000000011,32.77,10.125 +267.8329288959503,2.805999994277954,5.800000000000011,32.77,10.125 +267.8730459213257,2.822000026702881,5.800000000000011,32.77,10.125 +267.8731298446655,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +267.94306993484497,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +267.94316482543945,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +267.9828200340271,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +267.98291397094727,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +268.03280997276306,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +268.0328769683838,2.822000026702881,5.800000000000011,32.77,10.12399959564209 +268.07581305503845,2.8429999351501465,5.800000000000011,32.77,10.12399959564209 +268.07588601112366,2.8429999351501465,5.800000000000011,32.77,10.121999740600586 +268.1477699279785,2.8429999351501465,5.800000000000011,32.77,10.121999740600586 +268.1478478908539,2.8429999351501465,5.800000000000011,32.77,10.121999740600586 +268.18382382392883,2.8480000495910645,5.800000000000011,32.77,10.121999740600586 +268.183954000473,2.8480000495910645,5.800000000000011,32.77,10.116999626159668 +268.23376202583313,2.8480000495910645,5.800000000000011,32.77,10.116999626159668 +268.23385882377625,2.8480000495910645,5.800000000000011,32.77,10.116999626159668 +268.2767310142517,2.8320000171661377,5.800000000000011,32.77,10.116999626159668 +268.27680587768555,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.32886600494385,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.3289330005646,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.3689670562744,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.36906385421753,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.4336700439453,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.4337799549103,2.8320000171661377,5.800000000000011,32.77,10.112000465393066 +268.47780895233154,2.799999952316284,5.800000000000011,32.77,10.112000465393066 +268.4779200553894,2.799999952316284,5.800000000000011,32.77,10.107000350952148 +268.5300648212433,2.799999952316284,5.800000000000011,32.77,10.107000350952148 +268.5301558971405,2.799999952316284,5.800000000000011,32.77,10.107000350952148 +268.5698199272156,2.747999906539917,5.800000000000011,32.77,10.107000350952148 +268.5698809623718,2.747999906539917,5.800000000000011,32.77,10.10099983215332 +268.6336009502411,2.747999906539917,5.800000000000011,32.77,10.10099983215332 +268.63367795944214,2.747999906539917,5.800000000000011,32.77,10.10099983215332 +268.67762994766235,2.687999963760376,5.800000000000011,32.77,10.10099983215332 +268.6777238845825,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.7298090457916,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.72987484931946,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.7615439891815,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.76161003112793,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.76987504959106,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.7699680328369,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.83454394340515,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.83463191986084,2.687999963760376,5.800000000000011,32.77,10.097999572753906 +268.8775269985199,2.617000102996826,5.800000000000011,32.77,10.097999572753906 +268.8775990009308,2.617000102996826,5.800000000000011,32.77,10.092000007629395 +268.93056988716125,2.617000102996826,5.800000000000011,32.77,10.092000007629395 +268.9306409358978,2.617000102996826,5.800000000000011,32.77,10.092000007629395 +268.96979999542236,2.5369999408721924,5.800000000000011,32.77,10.092000007629395 +268.9698748588562,2.5369999408721924,5.800000000000011,32.77,10.086999893188477 +269.035493850708,2.5369999408721924,5.800000000000011,32.77,10.086999893188477 +269.0355808734894,2.5369999408721924,5.800000000000011,32.77,10.086999893188477 +269.0784628391266,2.450000047683716,5.800000000000011,32.77,10.086999893188477 +269.0785319805145,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.13155698776245,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.1316418647766,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.1705060005188,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.1705858707428,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.2364408969879,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.23651599884033,2.450000047683716,5.800000000000011,32.77,10.081000328063965 +269.26966190338135,2.359999895095825,5.800000000000011,32.77,10.081000328063965 +269.26974391937256,2.359999895095825,5.800000000000011,32.77,10.072999954223633 +269.33143401145935,2.359999895095825,5.800000000000011,32.77,10.072999954223633 +269.331503868103,2.359999895095825,5.800000000000011,32.77,10.072999954223633 +269.3714790344238,2.2780001163482666,5.800000000000011,32.77,10.072999954223633 +269.37156796455383,2.2780001163482666,5.800000000000011,32.77,10.067000389099121 +269.4363708496094,2.2780001163482666,5.800000000000011,32.77,10.067000389099121 +269.4364478588104,2.2780001163482666,5.800000000000011,32.77,10.067000389099121 +269.4695990085602,2.2039999961853027,5.800000000000011,32.77,10.067000389099121 +269.4696819782257,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.5313789844513,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.531445980072,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.5713839530945,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.57146692276,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.6372368335724,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.6373178958893,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.6713650226593,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.671452999115,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.7332339286804,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.7333309650421,2.2039999961853027,5.800000000000011,32.77,10.062000274658203 +269.76218485832214,2.2039999961853027,5.800000000000011,32.68,10.062000274658203 +269.76226902008057,2.2039999961853027,9.949999999999989,32.68,10.062000274658203 +269.77320098876953,2.062000036239624,9.949999999999989,32.68,10.062000274658203 +269.7732729911804,2.062000036239624,9.949999999999989,32.68,10.050999641418457 +269.8371708393097,2.062000036239624,9.949999999999989,32.68,10.050999641418457 +269.8372440338135,2.062000036239624,9.949999999999989,32.68,10.050999641418457 +269.8712799549103,1.996000051498413,9.949999999999989,32.68,10.050999641418457 +269.8713610172272,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +269.93313097953796,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +269.93320298194885,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +269.97312092781067,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +269.97320795059204,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +270.0370948314667,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +270.0371708869934,1.996000051498413,9.949999999999989,32.68,10.04699993133545 +270.0702369213104,1.9420000314712524,9.949999999999989,32.68,10.04699993133545 +270.0703179836273,1.9420000314712524,9.949999999999989,32.68,10.043000221252441 +270.13208198547363,1.9420000314712524,9.949999999999989,32.68,10.043000221252441 +270.1321699619293,1.9420000314712524,9.949999999999989,32.68,10.043000221252441 +270.17205691337585,1.899999976158142,9.949999999999989,32.68,10.043000221252441 +270.17213797569275,1.899999976158142,9.949999999999989,32.68,10.03600025177002 +270.23704290390015,1.899999976158142,9.949999999999989,32.68,10.03600025177002 +270.23713088035583,1.899999976158142,9.949999999999989,32.68,10.03600025177002 +270.27012300491333,1.871999979019165,9.949999999999989,32.68,10.03600025177002 +270.27020597457886,1.871999979019165,9.949999999999989,32.68,10.029999732971191 +270.3319969177246,1.871999979019165,9.949999999999989,32.68,10.029999732971191 +270.33207082748413,1.871999979019165,9.949999999999989,32.68,10.029999732971191 +270.37198781967163,1.8559999465942383,9.949999999999989,32.68,10.029999732971191 +270.37206196784973,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.4370310306549,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.43716192245483,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.470116853714,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.4701998233795,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.5319378376007,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.53202390670776,1.8559999465942383,9.949999999999989,32.68,10.026000022888184 +270.5719168186188,1.8350000381469727,9.949999999999989,32.68,10.026000022888184 +270.5719950199127,1.8350000381469727,9.949999999999989,32.68,10.022000312805176 +270.6300220489502,1.8350000381469727,9.949999999999989,32.68,10.022000312805176 +270.6300950050354,1.8350000381469727,9.949999999999989,32.68,10.022000312805176 +270.6699860095978,1.8279999494552612,9.949999999999989,32.68,10.022000312805176 +270.6700508594513,1.8279999494552612,9.949999999999989,32.68,10.022000312805176 +270.7318739891052,1.8279999494552612,9.949999999999989,32.68,10.022000312805176 +270.7319550514221,1.8279999494552612,9.949999999999989,32.68,10.022000312805176 +270.76283502578735,1.8279999494552612,9.949999999999989,32.61,10.022000312805176 +270.7628970146179,1.8279999494552612,11.280000000000001,32.61,10.022000312805176 +270.7718548774719,1.8279999494552612,11.280000000000001,32.61,10.022000312805176 +270.77193903923035,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.8378629684448,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.8379499912262,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.87091994285583,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.8709888458252,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.93480491638184,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.9348919391632,1.8279999494552612,11.280000000000001,32.61,10.02400016784668 +270.97277188301086,1.8350000381469727,11.280000000000001,32.61,10.02400016784668 +270.97283697128296,1.8350000381469727,11.280000000000001,32.61,10.02400016784668 +271.0378649234772,1.8350000381469727,11.280000000000001,32.61,10.02400016784668 +271.0379710197449,1.8350000381469727,11.280000000000001,32.61,10.02400016784668 +271.070839881897,1.850000023841858,11.280000000000001,32.61,10.02400016784668 +271.0709159374237,1.850000023841858,11.280000000000001,32.61,10.022000312805176 +271.1327488422394,1.850000023841858,11.280000000000001,32.61,10.022000312805176 +271.1328458786011,1.850000023841858,11.280000000000001,32.61,10.022000312805176 +271.1726930141449,1.8609999418258667,11.280000000000001,32.61,10.022000312805176 +271.17276096343994,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.23775005340576,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.23786187171936,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.2707738876343,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.2708489894867,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.3336238861084,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.33377504348755,1.8609999418258667,11.280000000000001,32.61,10.02299976348877 +271.3726649284363,1.8639999628067017,11.280000000000001,32.61,10.02299976348877 +271.3727550506592,1.8639999628067017,11.280000000000001,32.61,10.024999618530273 +271.4288718700409,1.8639999628067017,11.280000000000001,32.61,10.024999618530273 +271.42895793914795,1.8639999628067017,11.280000000000001,32.61,10.024999618530273 +271.47161197662354,1.8519999980926514,11.280000000000001,32.61,10.024999618530273 +271.4716980457306,1.8519999980926514,11.280000000000001,32.61,10.027000427246094 +271.53357100486755,1.8519999980926514,11.280000000000001,32.61,10.027000427246094 +271.53363585472107,1.8519999980926514,11.280000000000001,32.61,10.027000427246094 +271.5735869407654,1.8300000429153442,11.280000000000001,32.61,10.027000427246094 +271.5736880302429,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.6288208961487,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.6289029121399,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.6715438365936,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.6716299057007,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.7335579395294,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.73367500305176,1.8300000429153442,11.280000000000001,32.61,10.03499984741211 +271.76371002197266,1.8300000429153442,11.280000000000001,32.77,10.03499984741211 +271.76376605033875,1.8300000429153442,11.569999999999993,32.77,10.03499984741211 +271.77362990379333,1.7929999828338623,11.569999999999993,32.77,10.03499984741211 +271.77371191978455,1.7929999828338623,11.569999999999993,32.77,10.038999557495117 +271.8305809497833,1.7929999828338623,11.569999999999993,32.77,10.038999557495117 +271.8306658267975,1.7929999828338623,11.569999999999993,32.77,10.038999557495117 +271.873498916626,1.746000051498413,11.569999999999993,32.77,10.038999557495117 +271.87359595298767,1.746000051498413,11.569999999999993,32.77,10.041999816894531 +271.9344549179077,1.746000051498413,11.569999999999993,32.77,10.041999816894531 +271.9345488548279,1.746000051498413,11.569999999999993,32.77,10.041999816894531 +271.9744279384613,1.687000036239624,11.569999999999993,32.77,10.041999816894531 +271.9745030403137,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.029513835907,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.02959990501404,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.0725169181824,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.0726020336151,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.1343719959259,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.1344430446625,1.687000036239624,11.569999999999993,32.77,10.04699993133545 +272.1744759082794,1.6180000305175781,11.569999999999993,32.77,10.04699993133545 +272.1746129989624,1.6180000305175781,11.569999999999993,32.77,10.052000045776367 +272.22967290878296,1.6180000305175781,11.569999999999993,32.77,10.052000045776367 +272.2297718524933,1.6180000305175781,11.569999999999993,32.77,10.052000045776367 +272.27232694625854,1.5399999618530273,11.569999999999993,32.77,10.052000045776367 +272.2724070549011,1.5399999618530273,11.569999999999993,32.77,10.055999755859375 +272.33430004119873,1.5399999618530273,11.569999999999993,32.77,10.055999755859375 +272.33437299728394,1.5399999618530273,11.569999999999993,32.77,10.055999755859375 +272.3742940425873,1.4570000171661377,11.569999999999993,32.77,10.055999755859375 +272.3743669986725,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.4096169471741,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.4097158908844,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.47227597236633,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.4723620414734,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.5142459869385,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.5143280029297,1.4570000171661377,11.569999999999993,32.77,10.0600004196167 +272.57421803474426,1.375,11.569999999999993,32.77,10.0600004196167 +272.5742938518524,1.375,11.569999999999993,32.77,10.0649995803833 +272.6096169948578,1.375,11.569999999999993,32.77,10.0649995803833 +272.609699010849,1.375,11.569999999999993,32.77,10.0649995803833 +272.672180891037,1.3029999732971191,11.569999999999993,32.77,10.0649995803833 +272.6722660064697,1.3029999732971191,11.569999999999993,32.77,10.067000389099121 +272.71417784690857,1.3029999732971191,11.569999999999993,32.77,10.067000389099121 +272.7142629623413,1.3029999732971191,11.569999999999993,32.77,10.067000389099121 +272.7652928829193,1.3029999732971191,11.569999999999993,32.84,10.067000389099121 +272.7653658390045,1.3029999732971191,12.060000000000002,32.84,10.067000389099121 +272.7751488685608,1.2289999723434448,12.060000000000002,32.84,10.067000389099121 +272.77523398399353,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.8302888870239,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.83038902282715,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.8741338253021,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.8742208480835,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.936087846756,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.9361538887024,1.2289999723434448,12.060000000000002,32.84,10.071000099182129 +272.9760859012604,1.1610000133514404,12.060000000000002,32.84,10.071000099182129 +272.9761619567871,1.1610000133514404,12.060000000000002,32.84,10.076000213623047 +273.03007102012634,1.1610000133514404,12.060000000000002,32.84,10.076000213623047 +273.0301659107208,1.1610000133514404,12.060000000000002,32.84,10.076000213623047 +273.0740668773651,1.0980000495910645,12.060000000000002,32.84,10.076000213623047 +273.07416582107544,1.0980000495910645,12.060000000000002,32.84,10.081999778747559 +273.1350610256195,1.0980000495910645,12.060000000000002,32.84,10.081999778747559 +273.1351399421692,1.0980000495910645,12.060000000000002,32.84,10.081999778747559 +273.17503905296326,1.0360000133514404,12.060000000000002,32.84,10.081999778747559 +273.17513394355774,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.2129900455475,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.21307492256165,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.27303194999695,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.2731988430023,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.3373260498047,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.33740186691284,1.0360000133514404,12.060000000000002,32.84,10.088000297546387 +273.37797498703003,0.9779999852180481,12.060000000000002,32.84,10.088000297546387 +273.3780839443207,0.9779999852180481,12.060000000000002,32.84,10.093999862670898 +273.4319279193878,0.9779999852180481,12.060000000000002,32.84,10.093999862670898 +273.4320168495178,0.9779999852180481,12.060000000000002,32.84,10.093999862670898 +273.4759578704834,0.9200000166893005,12.060000000000002,32.84,10.093999862670898 +273.4760808944702,0.9200000166893005,12.060000000000002,32.84,10.098999977111816 +273.53794598579407,0.9200000166893005,12.060000000000002,32.84,10.098999977111816 +273.5380539894104,0.9200000166893005,12.060000000000002,32.84,10.098999977111816 +273.57815194129944,0.8579999804496765,12.060000000000002,32.84,10.098999977111816 +273.57827496528625,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.6128568649292,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.6129388809204,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.67282605171204,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.6729018688202,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.73786997795105,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.7379310131073,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.76482105255127,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.7649018764496,0.8579999804496765,12.060000000000002,32.84,10.104999542236328 +273.77785181999207,0.7910000085830688,12.060000000000002,32.84,10.104999542236328 +273.7779870033264,0.7910000085830688,12.060000000000002,32.84,10.111000061035156 +273.83278799057007,0.7910000085830688,12.060000000000002,32.84,10.111000061035156 +273.83287501335144,0.7910000085830688,12.060000000000002,32.84,10.111000061035156 +273.87492299079895,0.7269999980926514,12.060000000000002,32.84,10.111000061035156 +273.8749969005585,0.7269999980926514,12.060000000000002,32.84,10.116999626159668 +273.9367530345917,0.7269999980926514,12.060000000000002,32.84,10.116999626159668 +273.9368200302124,0.7269999980926514,12.060000000000002,32.84,10.116999626159668 +273.96912693977356,0.6570000052452087,12.060000000000002,32.84,10.116999626159668 +273.96921586990356,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.0337209701538,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.0338158607483,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.076721906662,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.07687401771545,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.1187598705292,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.1188499927521,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.16899394989014,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.1690728664398,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.23265194892883,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.23274302482605,0.6570000052452087,12.060000000000002,32.84,10.121999740600586 +274.27662086486816,0.527999997138977,12.060000000000002,32.84,10.121999740600586 +274.27670097351074,0.527999997138977,12.060000000000002,32.84,10.133000373840332 +274.328871011734,0.527999997138977,12.060000000000002,32.84,10.133000373840332 +274.3289499282837,0.527999997138977,12.060000000000002,32.84,10.133000373840332 +274.3777480125427,0.46700000762939453,12.060000000000002,32.84,10.133000373840332 +274.37784600257874,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.41256189346313,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.4126479625702,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.47654700279236,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.4766318798065,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.5187020301819,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.51880383491516,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.55802392959595,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.55813002586365,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.6125068664551,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.612587928772,0.46700000762939453,12.060000000000002,32.84,10.137999534606934 +274.6755118370056,0.34299999475479126,12.060000000000002,32.84,10.137999534606934 +274.6756010055542,0.34299999475479126,12.060000000000002,32.84,10.151000022888184 +274.73750591278076,0.34299999475479126,12.060000000000002,32.84,10.151000022888184 +274.7375888824463,0.34299999475479126,12.060000000000002,32.84,10.151000022888184 +274.76544189453125,0.34299999475479126,12.060000000000002,32.84,10.151000022888184 +274.76550793647766,0.34299999475479126,12.060000000000002,32.84,10.151000022888184 +274.77757501602173,0.28200000524520874,12.060000000000002,32.84,10.151000022888184 +274.77764892578125,0.28200000524520874,12.060000000000002,32.84,10.154999732971191 +274.8324420452118,0.28200000524520874,12.060000000000002,32.84,10.154999732971191 +274.8325400352478,0.28200000524520874,12.060000000000002,32.84,10.154999732971191 +274.8754229545593,0.2150000035762787,12.060000000000002,32.84,10.154999732971191 +274.87550687789917,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +274.93740701675415,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +274.9374840259552,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +274.97742891311646,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +274.97754096984863,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +275.0333969593048,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +275.033509016037,0.2150000035762787,12.060000000000002,32.84,10.15999984741211 +275.07735896110535,0.15000000596046448,12.060000000000002,32.84,10.15999984741211 +275.0774419307709,0.15000000596046448,12.060000000000002,32.84,10.166999816894531 +275.1293590068817,0.15000000596046448,12.060000000000002,32.84,10.166999816894531 +275.1294410228729,0.15000000596046448,12.060000000000002,32.84,10.166999816894531 +275.168664932251,0.0820000022649765,12.060000000000002,32.84,10.166999816894531 +275.16873383522034,0.0820000022649765,12.060000000000002,32.84,10.177000045776367 +275.21434783935547,0.0820000022649765,12.060000000000002,32.84,10.177000045776367 +275.2144739627838,0.0820000022649765,12.060000000000002,32.84,10.177000045776367 +275.2774088382721,0.017999999225139618,12.060000000000002,32.84,10.177000045776367 +275.27752685546875,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.33102798461914,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.3311460018158,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.3693850040436,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.3694829940796,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.4142849445343,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.41436982154846,0.017999999225139618,12.060000000000002,32.84,10.187000274658203 +275.4782078266144,-0.050999999046325684,12.060000000000002,32.84,10.187000274658203 +275.4782910346985,-0.050999999046325684,12.060000000000002,32.84,10.194999694824219 +275.5302588939667,-0.050999999046325684,12.060000000000002,32.84,10.194999694824219 +275.5303330421448,-0.050999999046325684,12.060000000000002,32.84,10.194999694824219 +275.56996393203735,-0.11699999868869781,12.060000000000002,32.84,10.194999694824219 +275.57024693489075,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.6342840194702,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.6344518661499,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.6771569252014,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.67723202705383,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.729140996933,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.7292368412018,-0.11699999868869781,12.060000000000002,32.84,10.199000358581543 +275.76619005203247,-0.11699999868869781,12.060000000000002,33.53,10.199000358581543 +275.76625895500183,-0.11699999868869781,18.139999999999986,33.53,10.199000358581543 +275.7691788673401,-0.11699999868869781,18.139999999999986,33.53,10.199000358581543 +275.7692470550537,-0.11699999868869781,18.139999999999986,33.53,10.199000358581543 +275.8341920375824,-0.11699999868869781,18.139999999999986,33.53,10.199000358581543 +275.83430790901184,-0.11699999868869781,18.139999999999986,33.53,10.199000358581543 +275.87835693359375,-0.24699999392032623,18.139999999999986,33.53,10.199000358581543 +275.8784818649292,-0.24699999392032623,18.139999999999986,33.53,10.21500015258789 +275.92941904067993,-0.24699999392032623,18.139999999999986,33.53,10.21500015258789 +275.92952704429626,-0.24699999392032623,18.139999999999986,33.53,10.21500015258789 +275.9693160057068,-0.3109999895095825,18.139999999999986,33.53,10.21500015258789 +275.9693968296051,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.0350499153137,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.035169839859,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.0790858268738,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.079167842865,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.1192100048065,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.11930990219116,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.1709740161896,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.1710638999939,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.21595001220703,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.2160358428955,-0.3109999895095825,18.139999999999986,33.53,10.222999572753906 +276.2790060043335,-0.4410000145435333,18.139999999999986,33.53,10.222999572753906 +276.27908301353455,-0.4410000145435333,18.139999999999986,33.53,10.23900032043457 +276.32089495658875,-0.4410000145435333,18.139999999999986,33.53,10.23900032043457 +276.3209819793701,-0.4410000145435333,18.139999999999986,33.53,10.23900032043457 +276.37089705467224,-0.5040000081062317,18.139999999999986,33.53,10.23900032043457 +276.3709750175476,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.4168908596039,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.4169728755951,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.4799339771271,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.48001289367676,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.51008701324463,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.51023387908936,-0.5040000081062317,18.139999999999986,33.53,10.244999885559082 +276.57187390327454,-0.6259999871253967,18.139999999999986,33.53,10.244999885559082 +276.5719518661499,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.6091368198395,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.60925483703613,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.66904187202454,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.6691219806671,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.72479486465454,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.72489500045776,-0.6259999871253967,18.139999999999986,33.53,10.262999534606934 +276.7667429447174,-0.6259999871253967,18.139999999999986,33.73,10.262999534606934 +276.76681685447693,-0.6259999871253967,19.50999999999999,33.73,10.262999534606934 +276.7747769355774,-0.6859999895095825,19.50999999999999,33.73,10.262999534606934 +276.7748739719391,-0.6859999895095825,19.50999999999999,33.73,10.270000457763672 +276.8187448978424,-0.6859999895095825,19.50999999999999,33.73,10.270000457763672 +276.818825006485,-0.6859999895095825,19.50999999999999,33.73,10.270000457763672 +276.8689968585968,-0.7390000224113464,19.50999999999999,33.73,10.270000457763672 +276.8690710067749,-0.7390000224113464,19.50999999999999,33.73,10.277000427246094 +276.9266839027405,-0.7390000224113464,19.50999999999999,33.73,10.277000427246094 +276.9267768859863,-0.7390000224113464,19.50999999999999,33.73,10.277000427246094 +276.9766809940338,-0.7850000262260437,19.50999999999999,33.73,10.277000427246094 +276.976753950119,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.00981998443604,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.0099220275879,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.06976985931396,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.06985998153687,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.1356098651886,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.135675907135,-0.7850000262260437,19.50999999999999,33.73,10.281000137329102 +277.1755919456482,-0.8159999847412109,19.50999999999999,33.73,10.281000137329102 +277.17565989494324,-0.8159999847412109,19.50999999999999,33.73,10.28600025177002 +277.22969484329224,-0.8159999847412109,19.50999999999999,33.73,10.28600025177002 +277.22977900505066,-0.8159999847412109,19.50999999999999,33.73,10.28600025177002 +277.27062487602234,-0.8379999995231628,19.50999999999999,33.73,10.28600025177002 +277.27069783210754,-0.8379999995231628,19.50999999999999,33.73,10.291000366210938 +277.33569383621216,-0.8379999995231628,19.50999999999999,33.73,10.291000366210938 +277.3357698917389,-0.8379999995231628,19.50999999999999,33.73,10.291000366210938 +277.3755338191986,-0.8489999771118164,19.50999999999999,33.73,10.291000366210938 +277.3756058216095,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.43151688575745,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.4315960407257,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.4715209007263,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.4716229438782,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.51458382606506,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.5146608352661,-0.8489999771118164,19.50999999999999,33.73,10.295999526977539 +277.5764558315277,-0.8420000076293945,19.50999999999999,33.73,10.295999526977539 +277.57652497291565,-0.8420000076293945,19.50999999999999,33.73,10.300000190734863 +277.6114559173584,-0.8420000076293945,19.50999999999999,33.73,10.300000190734863 +277.61153984069824,-0.8420000076293945,19.50999999999999,33.73,10.300000190734863 +277.6714508533478,-0.8349999785423279,19.50999999999999,33.73,10.300000190734863 +277.67154002189636,-0.8349999785423279,19.50999999999999,33.73,10.303000450134277 +277.7144989967346,-0.8349999785423279,19.50999999999999,33.73,10.303000450134277 +277.71457505226135,-0.8349999785423279,19.50999999999999,33.73,10.303000450134277 +277.76744294166565,-0.8349999785423279,19.50999999999999,33.73,10.303000450134277 +277.76752400398254,-0.8349999785423279,19.50999999999999,33.73,10.303000450134277 +277.7772259712219,-0.8209999799728394,19.50999999999999,33.73,10.303000450134277 +277.7774360179901,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.81136894226074,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.8114538192749,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.8714039325714,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.8715238571167,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.91443705558777,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.91451501846313,-0.8209999799728394,19.50999999999999,33.73,10.305000305175781 +277.97634291648865,-0.8029999732971191,19.50999999999999,33.73,10.305000305175781 +277.97643184661865,-0.8029999732971191,19.50999999999999,33.73,10.305999755859375 +278.0103280544281,-0.8029999732971191,19.50999999999999,33.73,10.305999755859375 +278.0104160308838,-0.8029999732971191,19.50999999999999,33.73,10.305999755859375 +278.07035994529724,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.0704770088196,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.1143548488617,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.1144359111786,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.1662709712982,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.1663558483124,-0.7950000166893005,19.50999999999999,33.73,10.305999755859375 +278.1762869358063,-0.8069999814033508,19.50999999999999,33.73,10.305999755859375 +278.1763868331909,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.21027088165283,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.2103579044342,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.27023100852966,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.27030992507935,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.3251898288727,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.32527685165405,-0.8069999814033508,19.50999999999999,33.73,10.303000450134277 +278.37625098228455,-0.8299999833106995,19.50999999999999,33.73,10.303000450134277 +278.3764078617096,-0.8299999833106995,19.50999999999999,33.73,10.302000045776367 +278.4311640262604,-0.8299999833106995,19.50999999999999,33.73,10.302000045776367 +278.43123388290405,-0.8299999833106995,19.50999999999999,33.73,10.302000045776367 +278.4712338447571,-0.8700000047683716,19.50999999999999,33.73,10.302000045776367 +278.4713349342346,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.51420283317566,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.5142810344696,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.5711019039154,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.5711898803711,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.61110401153564,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.6111960411072,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.6710798740387,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.67115092277527,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.71506690979004,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.7151470184326,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.7691259384155,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.7691948413849,-0.8700000047683716,19.50999999999999,33.73,10.29800033569336 +278.77710700035095,-0.9670000076293945,19.50999999999999,33.73,10.29800033569336 +278.77720284461975,-0.9670000076293945,19.50999999999999,33.73,10.286999702453613 +278.8291380405426,-0.9670000076293945,19.50999999999999,33.73,10.286999702453613 +278.8292169570923,-0.9670000076293945,19.50999999999999,33.73,10.286999702453613 +278.8691449165344,-1.0329999923706055,19.50999999999999,33.73,10.286999702453613 +278.8692660331726,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +278.9130358695984,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +278.9131238460541,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +278.97400093078613,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +278.97410583496094,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.0091059207916,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.0092120170593,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.0690939426422,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.0692000389099,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.1130030155182,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.11307096481323,-1.0329999923706055,19.50999999999999,33.73,10.277000427246094 +279.17391300201416,-1.1929999589920044,19.50999999999999,33.73,10.277000427246094 +279.1739869117737,-1.1929999589920044,19.50999999999999,33.73,10.26099967956543 +279.2299749851227,-1.1929999589920044,19.50999999999999,33.73,10.26099967956543 +279.23003697395325,-1.1929999589920044,19.50999999999999,33.73,10.26099967956543 +279.26992201805115,-1.2699999809265137,19.50999999999999,33.73,10.26099967956543 +279.27002596855164,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.3348858356476,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.3349928855896,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.3750858306885,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.37520384788513,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.42897486686707,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.42904686927795,-1.2699999809265137,19.50999999999999,33.73,10.258000373840332 +279.4689619541168,-1.4119999408721924,19.50999999999999,33.73,10.258000373840332 +279.46903705596924,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.53479385375977,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.53488183021545,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.5748128890991,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.5749258995056,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.63077187538147,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.6308708190918,-1.4119999408721924,19.50999999999999,33.73,10.253000259399414 +279.6708619594574,-1.4800000190734863,19.50999999999999,33.73,10.253000259399414 +279.67094683647156,-1.4800000190734863,19.50999999999999,33.73,10.25100040435791 +279.7367420196533,-1.4800000190734863,19.50999999999999,33.73,10.25100040435791 +279.736820936203,-1.4800000190734863,19.50999999999999,33.73,10.25100040435791 +279.76990604400635,-1.4800000190734863,19.50999999999999,33.73,10.25100040435791 +279.76998496055603,-1.4800000190734863,19.50999999999999,33.73,10.25100040435791 +279.77672696113586,-1.5520000457763672,19.50999999999999,33.73,10.25100040435791 +279.77680683135986,-1.5520000457763672,19.50999999999999,33.73,10.25100040435791 +279.83069586753845,-1.5520000457763672,19.50999999999999,33.73,10.25100040435791 +279.8307909965515,-1.5520000457763672,19.50999999999999,33.73,10.25100040435791 +279.870707988739,-1.621000051498413,19.50999999999999,33.73,10.25100040435791 +279.87082600593567,-1.621000051498413,19.50999999999999,33.73,10.25 +279.9478099346161,-1.621000051498413,19.50999999999999,33.73,10.25 +279.9478998184204,-1.621000051498413,19.50999999999999,33.73,10.25 +279.9726469516754,-1.621000051498413,19.50999999999999,33.73,10.25 +279.97273087501526,-1.621000051498413,19.50999999999999,33.73,10.25 +280.0326278209686,-1.621000051498413,19.50999999999999,33.73,10.25 +280.0327048301697,-1.621000051498413,19.50999999999999,33.73,10.25 +280.0726070404053,-1.687999963760376,19.50999999999999,33.73,10.25 +280.07268500328064,-1.687999963760376,19.50999999999999,33.73,10.25 +280.13776087760925,-1.687999963760376,19.50999999999999,33.73,10.25 +280.13784193992615,-1.687999963760376,19.50999999999999,33.73,10.25 +280.17770886421204,-1.7580000162124634,19.50999999999999,33.73,10.25 +280.1778349876404,-1.7580000162124634,19.50999999999999,33.73,10.24899959564209 +280.232558965683,-1.7580000162124634,19.50999999999999,33.73,10.24899959564209 +280.2326509952545,-1.7580000162124634,19.50999999999999,33.73,10.24899959564209 +280.2725248336792,-1.8109999895095825,19.50999999999999,33.73,10.24899959564209 +280.27260398864746,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.33872294425964,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.33880496025085,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.3785779476166,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.378653049469,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.43346095085144,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.4335458278656,-1.8109999895095825,19.50999999999999,33.73,10.246999740600586 +280.4735178947449,-1.8559999465942383,19.50999999999999,33.73,10.246999740600586 +280.47367691993713,-1.8559999465942383,19.50999999999999,33.73,10.244999885559082 +280.53946685791016,-1.8559999465942383,19.50999999999999,33.73,10.244999885559082 +280.5395770072937,-1.8559999465942383,19.50999999999999,33.73,10.244999885559082 +280.5793950557709,-1.8910000324249268,19.50999999999999,33.73,10.244999885559082 +280.5794680118561,-1.8910000324249268,19.50999999999999,33.73,10.244999885559082 +280.63340187072754,-1.8910000324249268,19.50999999999999,33.73,10.244999885559082 +280.6334869861603,-1.8910000324249268,19.50999999999999,33.73,10.244999885559082 +280.6733808517456,-1.9119999408721924,19.50999999999999,33.73,10.244999885559082 +280.6734619140625,-1.9119999408721924,19.50999999999999,33.73,10.244000434875488 +280.7393538951874,-1.9119999408721924,19.50999999999999,33.73,10.244000434875488 +280.73944783210754,-1.9119999408721924,19.50999999999999,33.73,10.244000434875488 +280.77132081985474,-1.9119999408721924,19.50999999999999,33.59,10.244000434875488 +280.7713990211487,-1.9119999408721924,23.44999999999999,33.59,10.244000434875488 +280.7793400287628,-1.9119999408721924,23.44999999999999,33.59,10.244000434875488 +280.77942085266113,-1.9119999408721924,23.44999999999999,33.59,10.244000434875488 +280.8343529701233,-1.9119999408721924,23.44999999999999,33.59,10.244000434875488 +280.83445382118225,-1.9119999408721924,23.44999999999999,33.59,10.244000434875488 +280.8743188381195,-1.9270000457763672,23.44999999999999,33.59,10.244000434875488 +280.8744058609009,-1.9270000457763672,23.44999999999999,33.59,10.246000289916992 +280.9403500556946,-1.9270000457763672,23.44999999999999,33.59,10.246000289916992 +280.9404640197754,-1.9270000457763672,23.44999999999999,33.59,10.246000289916992 +280.98026394844055,-1.9240000247955322,23.44999999999999,33.59,10.246000289916992 +280.9803328514099,-1.9240000247955322,23.44999999999999,33.59,10.246000289916992 +281.034304857254,-1.9240000247955322,23.44999999999999,33.59,10.246000289916992 +281.03443694114685,-1.9240000247955322,23.44999999999999,33.59,10.246000289916992 +281.0742449760437,-1.909999966621399,23.44999999999999,33.59,10.246000289916992 +281.07432293891907,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.14024782180786,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.1403489112854,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.1802439689636,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.1803448200226,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.23522305488586,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.2353799343109,-1.909999966621399,23.44999999999999,33.59,10.246999740600586 +281.27516984939575,-1.8919999599456787,23.44999999999999,33.59,10.246999740600586 +281.2752549648285,-1.8919999599456787,23.44999999999999,33.59,10.248000144958496 +281.3283460140228,-1.8919999599456787,23.44999999999999,33.59,10.248000144958496 +281.3285050392151,-1.8919999599456787,23.44999999999999,33.59,10.248000144958496 +281.3801100254059,-1.8730000257492065,23.44999999999999,33.59,10.248000144958496 +281.3801820278168,-1.8730000257492065,23.44999999999999,33.59,10.246000289916992 +281.435231924057,-1.8730000257492065,23.44999999999999,33.59,10.246000289916992 +281.4353199005127,-1.8730000257492065,23.44999999999999,33.59,10.246000289916992 +281.47515296936035,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.47527384757996,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.52827286720276,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.5284209251404,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.58012104034424,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.5802049636841,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.635048866272,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.6351330280304,-1.8589999675750732,23.44999999999999,33.59,10.246000289916992 +281.6750259399414,-1.850000023841858,23.44999999999999,33.59,10.246000289916992 +281.6750898361206,-1.850000023841858,23.44999999999999,33.59,10.244999885559082 +281.7400188446045,-1.850000023841858,23.44999999999999,33.59,10.244999885559082 +281.7401099205017,-1.850000023841858,23.44999999999999,33.59,10.244999885559082 +281.77104902267456,-1.850000023841858,23.44999999999999,33.55,10.244999885559082 +281.77111983299255,-1.850000023841858,23.659999999999997,33.55,10.244999885559082 +281.78003001213074,-1.8420000076293945,23.659999999999997,33.55,10.244999885559082 +281.7801249027252,-1.8420000076293945,23.659999999999997,33.55,10.244000434875488 +281.83533692359924,-1.8420000076293945,23.659999999999997,33.55,10.244000434875488 +281.83545684814453,-1.8420000076293945,23.659999999999997,33.55,10.244000434875488 +281.87506103515625,-1.8350000381469727,23.659999999999997,33.55,10.244000434875488 +281.8751308917999,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +281.93995094299316,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +281.9400408267975,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +281.9799349308014,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +281.9800159931183,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +282.0358910560608,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +282.03595900535583,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +282.07592391967773,-1.8350000381469727,23.659999999999997,33.55,10.243000030517578 +282.07602190971375,-1.8350000381469727,23.659999999999997,33.55,10.241999626159668 +282.12906098365784,-1.8350000381469727,23.659999999999997,33.55,10.241999626159668 +282.1292040348053,-1.8350000381469727,23.659999999999997,33.55,10.241999626159668 +282.1808478832245,-1.8339999914169312,23.659999999999997,33.55,10.241999626159668 +282.1809229850769,-1.8339999914169312,23.659999999999997,33.55,10.241999626159668 +282.2273099422455,-1.8339999914169312,23.659999999999997,33.55,10.241999626159668 +282.22739481925964,-1.8339999914169312,23.659999999999997,33.55,10.241999626159668 +282.2671048641205,-1.8270000219345093,23.659999999999997,33.55,10.241999626159668 +282.26717591285706,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.32987689971924,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.329952955246,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.3827688694,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.38284182548523,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.4288330078125,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.42890191078186,-1.8270000219345093,23.659999999999997,33.55,10.241000175476074 +282.46888399124146,-1.8309999704360962,23.659999999999997,33.55,10.241000175476074 +282.46898198127747,-1.8309999704360962,23.659999999999997,33.55,10.237000465393066 +282.5318238735199,-1.8309999704360962,23.659999999999997,33.55,10.237000465393066 +282.531888961792,-1.8309999704360962,23.659999999999997,33.55,10.237000465393066 +282.5788199901581,-1.8450000286102295,23.659999999999997,33.55,10.237000465393066 +282.5788960456848,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.6288540363312,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.628937959671,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.6689279079437,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.6690459251404,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.73176097869873,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.7318558692932,-1.8450000286102295,23.659999999999997,33.55,10.230999946594238 +282.77163100242615,-1.8450000286102295,23.659999999999997,33.53,10.230999946594238 +282.77170491218567,-1.8450000286102295,23.599999999999994,33.53,10.230999946594238 +282.7836458683014,-1.9259999990463257,23.599999999999994,33.53,10.230999946594238 +282.78372597694397,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.8286819458008,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.828763961792,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.86985182762146,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.86998105049133,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.93165588378906,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.93172693252563,-1.9259999990463257,23.599999999999994,33.53,10.196999549865723 +282.98361802101135,-1.9809999465942383,23.599999999999994,33.53,10.196999549865723 +282.9837188720703,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.028746843338,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.0288498401642,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.06861186027527,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.06868386268616,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.1317319869995,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.1318860054016,-1.9809999465942383,23.599999999999994,33.53,10.175999641418457 +283.1835310459137,-2.115999937057495,23.599999999999994,33.53,10.175999641418457 +283.183629989624,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.22948384284973,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.2295570373535,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.26949882507324,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.26959705352783,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.33258986473083,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.3327488899231,-2.115999937057495,23.599999999999994,33.53,10.131999969482422 +283.38444685935974,-2.191999912261963,23.599999999999994,33.53,10.131999969482422 +283.38454484939575,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.43040204048157,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.4304919242859,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.4703869819641,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.47046995162964,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.5334620475769,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.53354597091675,-2.191999912261963,23.599999999999994,33.53,10.102999687194824 +283.58539485931396,-2.322999954223633,23.599999999999994,33.53,10.102999687194824 +283.5855128765106,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.6303458213806,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.630450963974,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.67030596733093,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.67038893699646,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.73029589653015,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.7303788661957,-2.322999954223633,23.599999999999994,33.53,10.043999671936035 +283.772253036499,-2.322999954223633,23.599999999999994,33.14,10.043999671936035 +283.77231788635254,-2.322999954223633,24.590000000000003,33.14,10.043999671936035 +283.7802679538727,-2.3610000610351562,24.590000000000003,33.14,10.043999671936035 +283.780357837677,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.83038783073425,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.83045196533203,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.870267868042,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.87037897109985,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.93645000457764,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.9365780353546,-2.3610000610351562,24.590000000000003,33.14,10.026000022888184 +283.96830892562866,-2.4030001163482666,24.590000000000003,33.14,10.026000022888184 +283.96838998794556,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.03018498420715,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.03026604652405,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.0701699256897,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.0702450275421,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.13325095176697,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.1333348751068,-2.4030001163482666,24.590000000000003,33.14,10.015000343322754 +284.18513083457947,-2.4110000133514404,24.590000000000003,33.14,10.015000343322754 +284.1854360103607,-2.4110000133514404,24.590000000000003,33.14,10.013999938964844 +284.23014187812805,-2.4110000133514404,24.590000000000003,33.14,10.013999938964844 +284.2302498817444,-2.4110000133514404,24.590000000000003,33.14,10.013999938964844 +284.27009892463684,-2.4049999713897705,24.590000000000003,33.14,10.013999938964844 +284.27017402648926,-2.4049999713897705,24.590000000000003,33.14,10.015000343322754 +284.3331928253174,-2.4049999713897705,24.590000000000003,33.14,10.015000343322754 +284.3332710266113,-2.4049999713897705,24.590000000000003,33.14,10.015000343322754 +284.3850679397583,-2.38700008392334,24.590000000000003,33.14,10.015000343322754 +284.385146856308,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.4300448894501,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.4301300048828,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.47106289863586,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.4711899757385,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.54503202438354,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.54511189460754,-2.38700008392334,24.590000000000003,33.14,10.019000053405762 +284.5850260257721,-2.365000009536743,24.590000000000003,33.14,10.019000053405762 +284.5851140022278,-2.365000009536743,24.590000000000003,33.14,10.027000427246094 +284.6200158596039,-2.365000009536743,24.590000000000003,33.14,10.027000427246094 +284.62012696266174,-2.365000009536743,24.590000000000003,33.14,10.027000427246094 +284.6699728965759,-2.3469998836517334,24.590000000000003,33.14,10.027000427246094 +284.67005491256714,-2.3469998836517334,24.590000000000003,33.14,10.034000396728516 +284.7330298423767,-2.3469998836517334,24.590000000000003,33.14,10.034000396728516 +284.73310589790344,-2.3469998836517334,24.590000000000003,33.14,10.034000396728516 +284.77192091941833,-2.3469998836517334,24.590000000000003,32.97,10.034000396728516 +284.77199602127075,-2.3469998836517334,24.889999999999986,32.97,10.034000396728516 +284.7849168777466,-2.3380000591278076,24.889999999999986,32.97,10.034000396728516 +284.7849910259247,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.83093786239624,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.8310179710388,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.87092089653015,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.8710079193115,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.93396282196045,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.9340388774872,-2.3380000591278076,24.889999999999986,32.97,10.039999961853027 +284.967973947525,-2.3519999980926514,24.889999999999986,32.97,10.039999961853027 +284.9680509567261,-2.3519999980926514,24.889999999999986,32.97,10.043000221252441 +285.03107500076294,-2.3519999980926514,24.889999999999986,32.97,10.043000221252441 +285.0311839580536,-2.3519999980926514,24.889999999999986,32.97,10.043000221252441 +285.07082295417786,-2.371000051498413,24.889999999999986,32.97,10.043000221252441 +285.0709009170532,-2.371000051498413,24.889999999999986,32.97,10.041999816894531 +285.12727999687195,-2.371000051498413,24.889999999999986,32.97,10.041999816894531 +285.1273808479309,-2.371000051498413,24.889999999999986,32.97,10.041999816894531 +285.1870219707489,-2.3989999294281006,24.889999999999986,32.97,10.041999816894531 +285.18710494041443,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.23086190223694,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.2309670448303,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.2707738876343,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.2708649635315,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.33383083343506,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.33391284942627,-2.3989999294281006,24.889999999999986,32.97,10.036999702453613 +285.3857419490814,-2.431999921798706,24.889999999999986,32.97,10.036999702453613 +285.3858139514923,-2.431999921798706,24.889999999999986,32.97,10.02299976348877 +285.4319820404053,-2.431999921798706,24.889999999999986,32.97,10.02299976348877 +285.4320728778839,-2.431999921798706,24.889999999999986,32.97,10.02299976348877 +285.47168803215027,-2.4690001010894775,24.889999999999986,32.97,10.02299976348877 +285.47176599502563,-2.4690001010894775,24.889999999999986,32.97,9.998000144958496 +285.5446569919586,-2.4690001010894775,24.889999999999986,32.97,9.998000144958496 +285.54473996162415,-2.4690001010894775,24.889999999999986,32.97,9.998000144958496 +285.58164501190186,-2.5179998874664307,24.889999999999986,32.97,9.998000144958496 +285.58172488212585,-2.5179998874664307,24.889999999999986,32.97,9.968000411987305 +285.6316828727722,-2.5179998874664307,24.889999999999986,32.97,9.968000411987305 +285.6318039894104,-2.5179998874664307,24.889999999999986,32.97,9.968000411987305 +285.67162704467773,-2.5179998874664307,24.889999999999986,32.97,9.968000411987305 +285.6717150211334,-2.5179998874664307,24.889999999999986,32.97,9.968000411987305 +285.6756069660187,-2.5179998874664307,24.889999999999986,32.75,9.968000411987305 +285.6756498813629,-2.5179998874664307,25.159999999999997,32.75,9.968000411987305 +285.73471784591675,-2.5179998874664307,25.159999999999997,32.75,9.968000411987305 +285.7349488735199,-2.5179998874664307,25.159999999999997,32.75,9.968000411987305 +285.7669279575348,-2.578000068664551,25.159999999999997,32.75,9.968000411987305 +285.76699590682983,-2.578000068664551,25.159999999999997,32.75,9.932999610900879 +285.8318428993225,-2.578000068664551,25.159999999999997,32.75,9.932999610900879 +285.8320109844208,-2.578000068664551,25.159999999999997,32.75,9.932999610900879 +285.8715479373932,-2.6449999809265137,25.159999999999997,32.75,9.932999610900879 +285.8716359138489,-2.6449999809265137,25.159999999999997,32.75,9.894000053405762 +285.94557785987854,-2.6449999809265137,25.159999999999997,32.75,9.894000053405762 +285.9456720352173,-2.6449999809265137,25.159999999999997,32.75,9.894000053405762 +285.9857449531555,-2.7119998931884766,25.159999999999997,32.75,9.894000053405762 +285.98583602905273,-2.7119998931884766,25.159999999999997,32.75,9.852999687194824 +286.03276085853577,-2.7119998931884766,25.159999999999997,32.75,9.852999687194824 +286.0328760147095,-2.7119998931884766,25.159999999999997,32.75,9.852999687194824 +286.0725028514862,-2.7780001163482666,25.159999999999997,32.75,9.852999687194824 +286.0726499557495,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.1476159095764,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.14771795272827,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.1675388813019,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.1676139831543,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.2324478626251,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.23255491256714,-2.7780001163482666,25.159999999999997,32.75,9.810999870300293 +286.2723970413208,-2.8420000076293945,25.159999999999997,32.75,9.810999870300293 +286.27246284484863,-2.8420000076293945,25.159999999999997,32.75,9.772000312805176 +286.33551502227783,-2.8420000076293945,25.159999999999997,32.75,9.772000312805176 +286.33559584617615,-2.8420000076293945,25.159999999999997,32.75,9.772000312805176 +286.3674578666687,-2.9049999713897705,25.159999999999997,32.75,9.772000312805176 +286.3675308227539,-2.9049999713897705,25.159999999999997,32.75,9.737000465393066 +286.4323790073395,-2.9049999713897705,25.159999999999997,32.75,9.737000465393066 +286.4325158596039,-2.9049999713897705,25.159999999999997,32.75,9.737000465393066 +286.47234082221985,-2.9639999866485596,25.159999999999997,32.75,9.737000465393066 +286.47240686416626,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.53543400764465,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.53551483154297,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.5673859119415,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.56745505332947,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.6333198547363,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.6334409713745,-2.9639999866485596,25.159999999999997,32.75,9.704000473022461 +286.6732928752899,-3.0250000953674316,25.159999999999997,32.75,9.704000473022461 +286.6734039783478,-3.0250000953674316,25.159999999999997,32.75,9.668999671936035 +286.67634987831116,-3.0250000953674316,25.159999999999997,32.29,9.668999671936035 +286.6764190196991,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.72659182548523,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.7266879081726,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.76824498176575,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.7683119773865,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.83324790000916,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.8333668708801,-3.0250000953674316,26.610000000000014,32.29,9.668999671936035 +286.8732080459595,-3.138000011444092,26.610000000000014,32.29,9.668999671936035 +286.8732919692993,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +286.92734599113464,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +286.9274380207062,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +286.96832299232483,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +286.96843004226685,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +287.0331709384918,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +287.0332820415497,-3.138000011444092,26.610000000000014,32.29,9.592000007629395 +287.0731408596039,-3.193000078201294,26.610000000000014,32.29,9.592000007629395 +287.0732350349426,-3.193000078201294,26.610000000000014,32.29,9.553000450134277 +287.1161859035492,-3.193000078201294,26.610000000000014,32.29,9.553000450134277 +287.11626386642456,-3.193000078201294,26.610000000000014,32.29,9.553000450134277 +287.1682708263397,-3.247999906539917,26.610000000000014,32.29,9.553000450134277 +287.16837191581726,-3.247999906539917,26.610000000000014,32.29,9.517999649047852 +287.2082278728485,-3.247999906539917,26.610000000000014,32.29,9.517999649047852 +287.20831203460693,-3.247999906539917,26.610000000000014,32.29,9.517999649047852 +287.27632999420166,-3.305999994277954,26.610000000000014,32.29,9.517999649047852 +287.27641797065735,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.30835700035095,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.3084440231323,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.3690769672394,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.3691840171814,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.4090118408203,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.40907883644104,-3.305999994277954,26.610000000000014,32.29,9.484999656677246 +287.4750180244446,-3.372999906539917,26.610000000000014,32.29,9.484999656677246 +287.47513604164124,-3.372999906539917,26.610000000000014,32.29,9.446999549865723 +287.5089919567108,-3.372999906539917,26.610000000000014,32.29,9.446999549865723 +287.509076833725,-3.372999906539917,26.610000000000014,32.29,9.446999549865723 +287.5700240135193,-3.436000108718872,26.610000000000014,32.29,9.446999549865723 +287.57010197639465,-3.436000108718872,26.610000000000014,32.29,9.413999557495117 +287.60995292663574,-3.436000108718872,26.610000000000014,32.29,9.413999557495117 +287.6100130081177,-3.436000108718872,26.610000000000014,32.29,9.413999557495117 +287.67497181892395,-3.48799991607666,26.610000000000014,32.29,9.413999557495117 +287.6750919818878,-3.48799991607666,26.610000000000014,32.29,9.388999938964844 +287.6769218444824,-3.48799991607666,26.610000000000014,31.31,9.388999938964844 +287.67701482772827,-3.48799991607666,28.03,31.31,9.388999938964844 +287.708909034729,-3.48799991607666,28.03,31.31,9.388999938964844 +287.708979845047,-3.48799991607666,28.03,31.31,9.388999938964844 +287.7708818912506,-3.48799991607666,28.03,31.31,9.388999938964844 +287.7709438800812,-3.48799991607666,28.03,31.31,9.388999938964844 +287.8108739852905,-3.48799991607666,28.03,31.31,9.388999938964844 +287.8109529018402,-3.48799991607666,28.03,31.31,9.388999938964844 +287.875923871994,-3.5260000228881836,28.03,31.31,9.388999938964844 +287.87606287002563,-3.5260000228881836,28.03,31.31,9.369999885559082 +287.9088418483734,-3.5260000228881836,28.03,31.31,9.369999885559082 +287.90891194343567,-3.5260000228881836,28.03,31.31,9.369999885559082 +287.97080993652344,-3.5260000228881836,28.03,31.31,9.369999885559082 +287.970862865448,-3.5260000228881836,28.03,31.31,9.369999885559082 +288.0107958316803,-3.5260000228881836,28.03,31.31,9.369999885559082 +288.01084995269775,-3.5260000228881836,28.03,31.31,9.369999885559082 +288.0757999420166,-3.566999912261963,28.03,31.31,9.369999885559082 +288.0758650302887,-3.566999912261963,28.03,31.31,9.359000205993652 +288.1097979545593,-3.566999912261963,28.03,31.31,9.359000205993652 +288.1098928451538,-3.566999912261963,28.03,31.31,9.359000205993652 +288.1707570552826,-3.566999912261963,28.03,31.31,9.359000205993652 +288.1708359718323,-3.566999912261963,28.03,31.31,9.359000205993652 +288.21073293685913,-3.566999912261963,28.03,31.31,9.359000205993652 +288.21079087257385,-3.566999912261963,28.03,31.31,9.359000205993652 +288.2670919895172,-3.5769999027252197,28.03,31.31,9.359000205993652 +288.2671799659729,-3.5769999027252197,28.03,31.31,9.359000205993652 +288.3317189216614,-3.5769999027252197,28.03,31.31,9.359000205993652 +288.3318040370941,-3.5769999027252197,28.03,31.31,9.359000205993652 +288.37268590927124,-3.5739998817443848,28.03,31.31,9.359000205993652 +288.372927904129,-3.5739998817443848,28.03,31.31,9.36400032043457 +288.41266202926636,-3.5739998817443848,28.03,31.31,9.36400032043457 +288.41271781921387,-3.5739998817443848,28.03,31.31,9.36400032043457 +288.4686470031738,-3.561000108718872,28.03,31.31,9.36400032043457 +288.46872091293335,-3.561000108718872,28.03,31.31,9.373000144958496 +288.5116319656372,-3.561000108718872,28.03,31.31,9.373000144958496 +288.51169896125793,-3.561000108718872,28.03,31.31,9.373000144958496 +288.57360005378723,-3.561000108718872,28.03,31.31,9.373000144958496 +288.5736520290375,-3.561000108718872,28.03,31.31,9.373000144958496 +288.6136929988861,-3.561000108718872,28.03,31.31,9.373000144958496 +288.6137819290161,-3.561000108718872,28.03,31.31,9.373000144958496 +288.6681878566742,-3.5439999103546143,28.03,31.31,9.373000144958496 +288.6682770252228,-3.5439999103546143,28.03,31.31,9.383000373840332 +288.677551984787,-3.5439999103546143,28.03,31.17,9.383000373840332 +288.67759585380554,-3.5439999103546143,28.629999999999995,31.17,9.383000373840332 +288.71156787872314,-3.5439999103546143,28.629999999999995,31.17,9.383000373840332 +288.71164298057556,-3.5439999103546143,28.629999999999995,31.17,9.383000373840332 +288.77252888679504,-3.5280001163482666,28.629999999999995,31.17,9.383000373840332 +288.77258491516113,-3.5280001163482666,28.629999999999995,31.17,9.390000343322754 +288.8285539150238,-3.5280001163482666,28.629999999999995,31.17,9.390000343322754 +288.82866287231445,-3.5280001163482666,28.629999999999995,31.17,9.390000343322754 +288.8685178756714,-3.5199999809265137,28.629999999999995,31.17,9.390000343322754 +288.86859703063965,-3.5199999809265137,28.629999999999995,31.17,9.397000312805176 +288.93250584602356,-3.5199999809265137,28.629999999999995,31.17,9.397000312805176 +288.93258905410767,-3.5199999809265137,28.629999999999995,31.17,9.397000312805176 +288.9744598865509,-3.5139999389648438,28.629999999999995,31.17,9.397000312805176 +288.97451996803284,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.0304868221283,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.03058886528015,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.07043290138245,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.0705099105835,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.1334459781647,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.1335289478302,-3.5139999389648438,28.629999999999995,31.17,9.402000427246094 +289.1754219532013,-3.509000062942505,28.629999999999995,31.17,9.402000427246094 +289.17552185058594,-3.509000062942505,28.629999999999995,31.17,9.404000282287598 +289.22944593429565,-3.509000062942505,28.629999999999995,31.17,9.404000282287598 +289.2295639514923,-3.509000062942505,28.629999999999995,31.17,9.404000282287598 +289.26938700675964,-3.505000114440918,28.629999999999995,31.17,9.404000282287598 +289.2694659233093,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.3333749771118,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.33345794677734,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.37433099746704,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.37438583374023,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.4293439388275,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.4294500350952,-3.505000114440918,28.629999999999995,31.17,9.406999588012695 +289.46932101249695,-3.506999969482422,28.629999999999995,31.17,9.406999588012695 +289.469398021698,-3.506999969482422,28.629999999999995,31.17,9.406999588012695 +289.51229095458984,-3.506999969482422,28.629999999999995,31.17,9.406999588012695 +289.51235485076904,-3.506999969482422,28.629999999999995,31.17,9.406999588012695 +289.57426285743713,-3.506999969482422,28.629999999999995,31.17,9.406999588012695 +289.57432103157043,-3.506999969482422,28.629999999999995,31.17,9.404999732971191 +289.629273891449,-3.506999969482422,28.629999999999995,31.17,9.404999732971191 +289.6293840408325,-3.506999969482422,28.629999999999995,31.17,9.404999732971191 +289.66927099227905,-3.509999990463257,28.629999999999995,31.17,9.404999732971191 +289.6693549156189,-3.509999990463257,28.629999999999995,31.17,9.402000427246094 +289.67819690704346,-3.509999990463257,28.629999999999995,31.15,9.402000427246094 +289.6782479286194,-3.509999990463257,28.560000000000002,31.15,9.402000427246094 +289.73324704170227,-3.509999990463257,28.560000000000002,31.15,9.402000427246094 +289.73333191871643,-3.509999990463257,28.560000000000002,31.15,9.402000427246094 +289.77521300315857,-3.5139999389648438,28.560000000000002,31.15,9.402000427246094 +289.77529883384705,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.8315758705139,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.83167791366577,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.8711609840393,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.8712389469147,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.9279508590698,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.92827796936035,-3.5139999389648438,28.560000000000002,31.15,9.39900016784668 +289.96641182899475,-3.513000011444092,28.560000000000002,31.15,9.39900016784668 +289.96648693084717,-3.513000011444092,28.560000000000002,31.15,9.392999649047852 +290.0321388244629,-3.513000011444092,28.560000000000002,31.15,9.392999649047852 +290.0322530269623,-3.513000011444092,28.560000000000002,31.15,9.392999649047852 +290.07211089134216,-3.5160000324249268,28.560000000000002,31.15,9.392999649047852 +290.07221388816833,-3.5160000324249268,28.560000000000002,31.15,9.385000228881836 +290.13624596595764,-3.5160000324249268,28.560000000000002,31.15,9.385000228881836 +290.13641691207886,-3.5160000324249268,28.560000000000002,31.15,9.385000228881836 +290.1671688556671,-3.5239999294281006,28.560000000000002,31.15,9.385000228881836 +290.1672420501709,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.2352759838104,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.2354009151459,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.275013923645,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.2750759124756,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.33647298812866,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.3365969657898,-3.5239999294281006,28.560000000000002,31.15,9.36400032043457 +290.36624693870544,-3.5510001182556152,28.560000000000002,31.15,9.36400032043457 +290.3663749694824,-3.5510001182556152,28.560000000000002,31.15,9.336000442504883 +290.4320750236511,-3.5510001182556152,28.560000000000002,31.15,9.336000442504883 +290.43221497535706,-3.5510001182556152,28.560000000000002,31.15,9.336000442504883 +290.47196102142334,-3.5799999237060547,28.560000000000002,31.15,9.336000442504883 +290.4720389842987,-3.5799999237060547,28.560000000000002,31.15,9.3149995803833 +290.5149278640747,-3.5799999237060547,28.560000000000002,31.15,9.3149995803833 +290.5149929523468,-3.5799999237060547,28.560000000000002,31.15,9.3149995803833 +290.568128824234,-3.5969998836517334,28.560000000000002,31.15,9.3149995803833 +290.56818985939026,-3.5969998836517334,28.560000000000002,31.15,9.303000450134277 +290.60714197158813,-3.5969998836517334,28.560000000000002,31.15,9.303000450134277 +290.60723304748535,-3.5969998836517334,28.560000000000002,31.15,9.303000450134277 +290.6708970069885,-3.5969998836517334,28.560000000000002,31.15,9.303000450134277 +290.67097902297974,-3.5969998836517334,28.560000000000002,31.15,9.303000450134277 +290.67891097068787,-3.5969998836517334,28.560000000000002,30.87,9.303000450134277 +290.67899990081787,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.71485805511475,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.7149250507355,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.76698899269104,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.76706194877625,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.80697202682495,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.80704283714294,-3.5969998836517334,28.77000000000001,30.87,9.303000450134277 +290.87492394447327,-3.614000082015991,28.77000000000001,30.87,9.303000450134277 +290.8749940395355,-3.614000082015991,28.77000000000001,30.87,9.295999526977539 +290.9158639907837,-3.614000082015991,28.77000000000001,30.87,9.295999526977539 +290.9159688949585,-3.614000082015991,28.77000000000001,30.87,9.295999526977539 +290.96808195114136,-3.615999937057495,28.77000000000001,30.87,9.295999526977539 +290.9681668281555,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.008761882782,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.008829832077,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.0748128890991,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.0749099254608,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.11489486694336,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.11524200439453,-3.615999937057495,28.77000000000001,30.87,9.295000076293945 +291.16802501678467,-3.621999979019165,28.77000000000001,30.87,9.295000076293945 +291.16811203956604,-3.621999979019165,28.77000000000001,30.87,9.29699993133545 +291.2080090045929,-3.621999979019165,28.77000000000001,30.87,9.29699993133545 +291.2080988883972,-3.621999979019165,28.77000000000001,30.87,9.29699993133545 +291.2727589607239,-3.622999906539917,28.77000000000001,30.87,9.29699993133545 +291.2728898525238,-3.622999906539917,28.77000000000001,30.87,9.307000160217285 +291.31566882133484,-3.622999906539917,28.77000000000001,30.87,9.307000160217285 +291.31573486328125,-3.622999906539917,28.77000000000001,30.87,9.307000160217285 +291.36797189712524,-3.614000082015991,28.77000000000001,30.87,9.307000160217285 +291.3680658340454,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.40784096717834,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.4079158306122,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.4726150035858,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.47269892692566,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.51560282707214,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.51566982269287,-3.614000082015991,28.77000000000001,30.87,9.314000129699707 +291.56791591644287,-3.6059999465942383,28.77000000000001,30.87,9.314000129699707 +291.5680148601532,-3.6059999465942383,28.77000000000001,30.87,9.321000099182129 +291.60777282714844,-3.6059999465942383,28.77000000000001,30.87,9.321000099182129 +291.6078448295593,-3.6059999465942383,28.77000000000001,30.87,9.321000099182129 +291.674556016922,-3.6010000705718994,28.77000000000001,30.87,9.321000099182129 +291.6746618747711,-3.6010000705718994,28.77000000000001,30.87,9.317999839782715 +291.71451783180237,-3.6010000705718994,28.77000000000001,30.87,9.317999839782715 +291.7146010398865,-3.6010000705718994,28.77000000000001,30.87,9.317999839782715 +291.76863193511963,-3.5920000076293945,28.77000000000001,30.87,9.317999839782715 +291.76873993873596,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.80948090553284,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.8095579147339,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.87464785575867,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.87473702430725,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.91545581817627,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.91551995277405,-3.5920000076293945,28.77000000000001,30.87,9.3149995803833 +291.9676468372345,-3.5829999446868896,28.77000000000001,30.87,9.3149995803833 +291.9677200317383,-3.5829999446868896,28.77000000000001,30.87,9.312999725341797 +291.97947001457214,-3.5829999446868896,28.77000000000001,30.94,9.312999725341797 +291.979562997818,-3.5829999446868896,28.639999999999986,30.94,9.312999725341797 +292.007465839386,-3.5829999446868896,28.639999999999986,30.94,9.312999725341797 +292.0075218677521,-3.5829999446868896,28.639999999999986,30.94,9.312999725341797 +292.0744788646698,-3.5769999027252197,28.639999999999986,30.94,9.312999725341797 +292.0746238231659,-3.5769999027252197,28.639999999999986,30.94,9.307999610900879 +292.11850905418396,-3.5769999027252197,28.639999999999986,30.94,9.307999610900879 +292.1185908317566,-3.5769999027252197,28.639999999999986,30.94,9.307999610900879 +292.16934394836426,-3.575000047683716,28.639999999999986,30.94,9.307999610900879 +292.1694140434265,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.2093279361725,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.2093918323517,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.2753438949585,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.27541399002075,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.3192958831787,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.31937193870544,-3.575000047683716,28.639999999999986,30.94,9.303999900817871 +292.3712668418884,-3.572999954223633,28.639999999999986,30.94,9.303999900817871 +292.37134194374084,-3.572999954223633,28.639999999999986,30.94,9.305000305175781 +292.41125202178955,-3.572999954223633,28.639999999999986,30.94,9.305000305175781 +292.4113218784332,-3.572999954223633,28.639999999999986,30.94,9.305000305175781 +292.46643686294556,-3.571000099182129,28.639999999999986,30.94,9.305000305175781 +292.4665160179138,-3.571000099182129,28.639999999999986,30.94,9.305000305175781 +292.50640201568604,-3.571000099182129,28.639999999999986,30.94,9.305000305175781 +292.5064790248871,-3.571000099182129,28.639999999999986,30.94,9.305000305175781 +292.57220792770386,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.57227897644043,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.61219096183777,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.61226296424866,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.66724491119385,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.6673049926758,-3.569000005722046,28.639999999999986,30.94,9.305000305175781 +292.68014097213745,-3.569000005722046,28.639999999999986,31.0,9.305000305175781 +292.6801919937134,-3.569000005722046,28.539999999999992,31.0,9.305000305175781 +292.7072389125824,-3.569000005722046,28.539999999999992,31.0,9.305000305175781 +292.70730090141296,-3.569000005722046,28.539999999999992,31.0,9.305000305175781 +292.772136926651,-3.559999942779541,28.539999999999992,31.0,9.305000305175781 +292.77220487594604,-3.559999942779541,28.539999999999992,31.0,9.305999755859375 +292.8121440410614,-3.559999942779541,28.539999999999992,31.0,9.305999755859375 +292.81220602989197,-3.559999942779541,28.539999999999992,31.0,9.305999755859375 +292.86717891693115,-3.555000066757202,28.539999999999992,31.0,9.305999755859375 +292.86723589897156,-3.555000066757202,28.539999999999992,31.0,9.305999755859375 +292.9093098640442,-3.555000066757202,28.539999999999992,31.0,9.305999755859375 +292.909649848938,-3.555000066757202,28.539999999999992,31.0,9.305999755859375 +292.97206687927246,-3.5490000247955322,28.539999999999992,31.0,9.305999755859375 +292.97212982177734,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.013032913208,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.0131049156189,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.06711888313293,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.0671808719635,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.10714983940125,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.10724401474,-3.5490000247955322,28.539999999999992,31.0,9.307000160217285 +293.1720509529114,-3.5429999828338623,28.539999999999992,31.0,9.307000160217285 +293.1721758842468,-3.5429999828338623,28.539999999999992,31.0,9.3100004196167 +293.2119858264923,-3.5429999828338623,28.539999999999992,31.0,9.3100004196167 +293.2120609283447,-3.5429999828338623,28.539999999999992,31.0,9.3100004196167 +293.2670588493347,-3.5399999618530273,28.539999999999992,31.0,9.3100004196167 +293.2671320438385,-3.5399999618530273,28.539999999999992,31.0,9.314000129699707 +293.3071069717407,-3.5399999618530273,28.539999999999992,31.0,9.314000129699707 +293.3072249889374,-3.5399999618530273,28.539999999999992,31.0,9.314000129699707 +293.3719229698181,-3.5380001068115234,28.539999999999992,31.0,9.314000129699707 +293.3719890117645,-3.5380001068115234,28.539999999999992,31.0,9.317999839782715 +293.41198801994324,-3.5380001068115234,28.539999999999992,31.0,9.317999839782715 +293.4121220111847,-3.5380001068115234,28.539999999999992,31.0,9.317999839782715 +293.46697092056274,-3.5350000858306885,28.539999999999992,31.0,9.317999839782715 +293.46703004837036,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.5070450305939,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.50716400146484,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.57187390327454,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.57194805145264,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.6118860244751,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.6119740009308,-3.5350000858306885,28.539999999999992,31.0,9.321000099182129 +293.6661579608917,-3.5339999198913574,28.539999999999992,31.0,9.321000099182129 +293.66623091697693,-3.5339999198913574,28.539999999999992,31.0,9.324000358581543 +293.68078088760376,-3.5339999198913574,28.539999999999992,31.04,9.324000358581543 +293.680832862854,-3.5339999198913574,28.460000000000008,31.04,9.324000358581543 +293.70607590675354,-3.5339999198913574,28.460000000000008,31.04,9.324000358581543 +293.70614099502563,-3.5339999198913574,28.460000000000008,31.04,9.324000358581543 +293.771812915802,-3.5350000858306885,28.460000000000008,31.04,9.324000358581543 +293.7718939781189,-3.5350000858306885,28.460000000000008,31.04,9.326000213623047 +293.8118460178375,-3.5350000858306885,28.460000000000008,31.04,9.326000213623047 +293.81190395355225,-3.5350000858306885,28.460000000000008,31.04,9.326000213623047 +293.8660819530487,-3.5360000133514404,28.460000000000008,31.04,9.326000213623047 +293.86615896224976,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +293.90601086616516,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +293.9060800075531,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +293.971736907959,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +293.97181701660156,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +294.0118010044098,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +294.0119228363037,-3.5360000133514404,28.460000000000008,31.04,9.32800006866455 +294.07237005233765,-3.5369999408721924,28.460000000000008,31.04,9.32800006866455 +294.07250690460205,-3.5369999408721924,28.460000000000008,31.04,9.333000183105469 +294.1201419830322,-3.5369999408721924,28.460000000000008,31.04,9.333000183105469 +294.1202509403229,-3.5369999408721924,28.460000000000008,31.04,9.333000183105469 +294.17165303230286,-3.5360000133514404,28.460000000000008,31.04,9.333000183105469 +294.17172503471375,-3.5360000133514404,28.460000000000008,31.04,9.336999893188477 +294.211630821228,-3.5360000133514404,28.460000000000008,31.04,9.336999893188477 +294.2117018699646,-3.5360000133514404,28.460000000000008,31.04,9.336999893188477 +294.26678490638733,-3.5360000133514404,28.460000000000008,31.04,9.336999893188477 +294.2668569087982,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.3237290382385,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.3238878250122,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.3716690540314,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.37178683280945,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.41155982017517,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.4116258621216,-3.5360000133514404,28.460000000000008,31.04,9.342000007629395 +294.4678919315338,-3.5339999198913574,28.460000000000008,31.04,9.342000007629395 +294.467955827713,-3.5339999198913574,28.460000000000008,31.04,9.343999862670898 +294.50762701034546,-3.5339999198913574,28.460000000000008,31.04,9.343999862670898 +294.5079228878021,-3.5339999198913574,28.460000000000008,31.04,9.343999862670898 +294.571506023407,-3.5339999198913574,28.460000000000008,31.04,9.343999862670898 +294.5715899467468,-3.5339999198913574,28.460000000000008,31.04,9.345000267028809 +294.61400604248047,-3.5339999198913574,28.460000000000008,31.04,9.345000267028809 +294.6141378879547,-3.5339999198913574,28.460000000000008,31.04,9.345000267028809 +294.66751194000244,-3.5339999198913574,28.460000000000008,31.04,9.345000267028809 +294.6675958633423,-3.5339999198913574,28.460000000000008,31.04,9.343999862670898 +294.68146800994873,-3.5339999198913574,28.460000000000008,31.1,9.343999862670898 +294.68154883384705,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.70747590065,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.7075779438019,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.77449083328247,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.77455496788025,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.8144428730011,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.8145079612732,-3.5339999198913574,28.340000000000003,31.1,9.343999862670898 +294.8674349784851,-3.5380001068115234,28.340000000000003,31.1,9.343999862670898 +294.8675048351288,-3.5380001068115234,28.340000000000003,31.1,9.343999862670898 +294.907408952713,-3.5380001068115234,28.340000000000003,31.1,9.343999862670898 +294.90750193595886,-3.5380001068115234,28.340000000000003,31.1,9.343999862670898 +294.9725890159607,-3.5420000553131104,28.340000000000003,31.1,9.343999862670898 +294.9727189540863,-3.5420000553131104,28.340000000000003,31.1,9.347000122070312 +295.0124399662018,-3.5420000553131104,28.340000000000003,31.1,9.347000122070312 +295.01249599456787,-3.5420000553131104,28.340000000000003,31.1,9.347000122070312 +295.0664539337158,-3.555999994277954,28.340000000000003,31.1,9.347000122070312 +295.06652092933655,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.10645484924316,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.10655188560486,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.17255783081055,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.1726269721985,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.21255683898926,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.21262288093567,-3.555999994277954,28.340000000000003,31.1,9.347999572753906 +295.2672939300537,-3.566999912261963,28.340000000000003,31.1,9.347999572753906 +295.2673840522766,-3.566999912261963,28.340000000000003,31.1,9.348999977111816 +295.3302619457245,-3.566999912261963,28.340000000000003,31.1,9.348999977111816 +295.3303380012512,-3.566999912261963,28.340000000000003,31.1,9.348999977111816 +295.3723690509796,-3.572999954223633,28.340000000000003,31.1,9.348999977111816 +295.37243604660034,-3.572999954223633,28.340000000000003,31.1,9.345999717712402 +295.4125928878784,-3.572999954223633,28.340000000000003,31.1,9.345999717712402 +295.412663936615,-3.572999954223633,28.340000000000003,31.1,9.345999717712402 +295.46632194519043,-3.5880000591278076,28.340000000000003,31.1,9.345999717712402 +295.4664058685303,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.5063319206238,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.506432056427,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.5712540149689,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.5713198184967,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.6111309528351,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.61120986938477,-3.5880000591278076,28.340000000000003,31.1,9.33899974822998 +295.667160987854,-3.5950000286102295,28.340000000000003,31.1,9.33899974822998 +295.66724395751953,-3.5950000286102295,28.340000000000003,31.1,9.331999778747559 +295.6822078227997,-3.5950000286102295,28.340000000000003,31.19,9.331999778747559 +295.68226385116577,-3.5950000286102295,28.930000000000007,31.19,9.331999778747559 +295.7071030139923,-3.5950000286102295,28.930000000000007,31.19,9.331999778747559 +295.70717692375183,-3.5950000286102295,28.930000000000007,31.19,9.331999778747559 +295.76722288131714,-3.6029999256134033,28.930000000000007,31.19,9.331999778747559 +295.76735281944275,-3.6029999256134033,28.930000000000007,31.19,9.324000358581543 +295.81306982040405,-3.6029999256134033,28.930000000000007,31.19,9.324000358581543 +295.81314492225647,-3.6029999256134033,28.930000000000007,31.19,9.324000358581543 +295.87108302116394,-3.6110000610351562,28.930000000000007,31.19,9.324000358581543 +295.87118697166443,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +295.92005586624146,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +295.92016792297363,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +295.9730110168457,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +295.97308588027954,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +296.0121510028839,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +296.01221895217896,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +296.0680649280548,-3.6110000610351562,28.930000000000007,31.19,9.321000099182129 +296.06816601753235,-3.6110000610351562,28.930000000000007,31.19,9.319999694824219 +296.10797095298767,-3.6110000610351562,28.930000000000007,31.19,9.319999694824219 +296.10804986953735,-3.6110000610351562,28.930000000000007,31.19,9.319999694824219 +296.16660499572754,-3.6080000400543213,28.930000000000007,31.19,9.319999694824219 +296.1667249202728,-3.6080000400543213,28.930000000000007,31.19,9.319000244140625 +296.2129249572754,-3.6080000400543213,28.930000000000007,31.19,9.319000244140625 +296.21299600601196,-3.6080000400543213,28.930000000000007,31.19,9.319000244140625 +296.26866602897644,-3.6070001125335693,28.930000000000007,31.19,9.319000244140625 +296.2688000202179,-3.6070001125335693,28.930000000000007,31.19,9.317999839782715 +296.3088870048523,-3.6070001125335693,28.930000000000007,31.19,9.317999839782715 +296.3089609146118,-3.6070001125335693,28.930000000000007,31.19,9.317999839782715 +296.37290692329407,-3.6059999465942383,28.930000000000007,31.19,9.317999839782715 +296.37300992012024,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.41384983062744,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.41391801834106,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.4732949733734,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.4734089374542,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.52385997772217,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.5239579677582,-3.6059999465942383,28.930000000000007,31.19,9.315999984741211 +296.5760099887848,-3.6029999256134033,28.930000000000007,31.19,9.315999984741211 +296.5761339664459,-3.6029999256134033,28.930000000000007,31.19,9.312999725341797 +296.61379194259644,-3.6029999256134033,28.930000000000007,31.19,9.312999725341797 +296.6138598918915,-3.6029999256134033,28.930000000000007,31.19,9.312999725341797 +296.6687660217285,-3.6059999465942383,28.930000000000007,31.19,9.312999725341797 +296.66883993148804,-3.6059999465942383,28.930000000000007,31.19,9.3100004196167 +296.70875000953674,-3.6059999465942383,28.930000000000007,31.19,9.3100004196167 +296.70882081985474,-3.6059999465942383,28.930000000000007,31.19,9.3100004196167 +296.7649269104004,-3.6010000705718994,28.930000000000007,31.19,9.3100004196167 +296.7650029659271,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.8048858642578,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.8049650192261,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.870836019516,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.87094497680664,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.91167998313904,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.9117569923401,-3.6010000705718994,28.930000000000007,31.19,9.307000160217285 +296.9757659435272,-3.5950000286102295,28.930000000000007,31.19,9.307000160217285 +296.9758598804474,-3.5950000286102295,28.930000000000007,31.19,9.29800033569336 +296.9826898574829,-3.5950000286102295,28.930000000000007,31.2,9.29800033569336 +296.9827878475189,-3.5950000286102295,28.159999999999997,31.2,9.29800033569336 +297.01567482948303,-3.5950000286102295,28.159999999999997,31.2,9.29800033569336 +297.0157549381256,-3.5950000286102295,28.159999999999997,31.2,9.29800033569336 +297.0748178958893,-3.5889999866485596,28.159999999999997,31.2,9.29800033569336 +297.07508397102356,-3.5889999866485596,28.159999999999997,31.2,9.281000137329102 +297.10565090179443,-3.5889999866485596,28.159999999999997,31.2,9.281000137329102 +297.1057159900665,-3.5889999866485596,28.159999999999997,31.2,9.281000137329102 +297.16759395599365,-3.575000047683716,28.159999999999997,31.2,9.281000137329102 +297.16767287254333,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.20773005485535,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.2077989578247,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.27436804771423,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.27491188049316,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.3049199581146,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.30498790740967,-3.575000047683716,28.159999999999997,31.2,9.25100040435791 +297.3675260543823,-3.565000057220459,28.159999999999997,31.2,9.25100040435791 +297.3676128387451,-3.565000057220459,28.159999999999997,31.2,9.206000328063965 +297.40763998031616,-3.565000057220459,28.159999999999997,31.2,9.206000328063965 +297.40891098976135,-3.565000057220459,28.159999999999997,31.2,9.206000328063965 +297.4776039123535,-3.5480000972747803,28.159999999999997,31.2,9.206000328063965 +297.4777019023895,-3.5480000972747803,28.159999999999997,31.2,9.154999732971191 +297.5075409412384,-3.5480000972747803,28.159999999999997,31.2,9.154999732971191 +297.50762486457825,-3.5480000972747803,28.159999999999997,31.2,9.154999732971191 +297.56945300102234,-3.5339999198913574,28.159999999999997,31.2,9.154999732971191 +297.5695278644562,-3.5339999198913574,28.159999999999997,31.2,9.097999572753906 +297.6094489097595,-3.5339999198913574,28.159999999999997,31.2,9.097999572753906 +297.6095290184021,-3.5339999198913574,28.159999999999997,31.2,9.097999572753906 +297.66466093063354,-3.5339999198913574,28.159999999999997,31.2,9.097999572753906 +297.6647398471832,-3.5339999198913574,28.159999999999997,31.2,9.097999572753906 +297.6867640018463,-3.5339999198913574,28.159999999999997,30.76,9.097999572753906 +297.68683385849,-3.5339999198913574,28.060000000000002,30.76,9.097999572753906 +297.70474195480347,-3.5339999198913574,28.060000000000002,30.76,9.097999572753906 +297.7049210071564,-3.5339999198913574,28.060000000000002,30.76,9.097999572753906 +297.74742794036865,-3.5339999198913574,28.060000000000002,30.76,9.097999572753906 +297.7475118637085,-3.5339999198913574,28.060000000000002,30.76,9.097999572753906 +297.7694318294525,-3.513000011444092,28.060000000000002,30.76,9.097999572753906 +297.7695288658142,-3.513000011444092,28.060000000000002,30.76,9.031999588012695 +297.81137800216675,-3.513000011444092,28.060000000000002,30.76,9.031999588012695 +297.8114700317383,-3.513000011444092,28.060000000000002,30.76,9.031999588012695 +297.864709854126,-3.5,28.060000000000002,30.76,9.031999588012695 +297.8647780418396,-3.5,28.060000000000002,30.76,8.958000183105469 +297.9065058231354,-3.5,28.060000000000002,30.76,8.958000183105469 +297.90659403800964,-3.5,28.060000000000002,30.76,8.958000183105469 +297.9664590358734,-3.4779999256134033,28.060000000000002,30.76,8.958000183105469 +297.96651697158813,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.00620889663696,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.00652289390564,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.06481194496155,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.0649080276489,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.1045639514923,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.104642868042,-3.4779999256134033,28.060000000000002,30.76,8.87600040435791 +298.16925287246704,-3.4619998931884766,28.060000000000002,30.76,8.87600040435791 +298.1693329811096,-3.4619998931884766,28.060000000000002,30.76,8.798999786376953 +298.20936703681946,-3.4619998931884766,28.060000000000002,30.76,8.798999786376953 +298.20951294898987,-3.4619998931884766,28.060000000000002,30.76,8.798999786376953 +298.2652359008789,-3.446000099182129,28.060000000000002,30.76,8.798999786376953 +298.265310049057,-3.446000099182129,28.060000000000002,30.76,8.722999572753906 +298.3052580356598,-3.446000099182129,28.060000000000002,30.76,8.722999572753906 +298.3053469657898,-3.446000099182129,28.060000000000002,30.76,8.722999572753906 +298.37018489837646,-3.421999931335449,28.060000000000002,30.76,8.722999572753906 +298.3702828884125,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.4101529121399,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.4102318286896,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.44638204574585,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.4464809894562,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.50626492500305,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.50634503364563,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.55024886131287,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.5503628253937,-3.421999931335449,28.060000000000002,30.76,8.652999877929688 +298.5732069015503,-3.4100000858306885,28.060000000000002,30.76,8.652999877929688 +298.57331895828247,-3.4100000858306885,28.060000000000002,30.76,8.59000015258789 +298.6112518310547,-3.4100000858306885,28.060000000000002,30.76,8.59000015258789 +298.61141300201416,-3.4100000858306885,28.060000000000002,30.76,8.59000015258789 +298.66619086265564,-3.4010000228881836,28.060000000000002,30.76,8.59000015258789 +298.66627192497253,-3.4010000228881836,28.060000000000002,30.76,8.53499984741211 +298.6890389919281,-3.4010000228881836,28.060000000000002,30.07,8.53499984741211 +298.6890959739685,-3.4010000228881836,27.060000000000002,30.07,8.53499984741211 +298.7061610221863,-3.4010000228881836,27.060000000000002,30.07,8.53499984741211 +298.70622992515564,-3.4010000228881836,27.060000000000002,30.07,8.53499984741211 +298.77315187454224,-3.4019999504089355,27.060000000000002,30.07,8.53499984741211 +298.7732639312744,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.81308794021606,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.81319093704224,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.8660788536072,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.8661539554596,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.90612387657166,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.90620398521423,-3.4019999504089355,27.060000000000002,30.07,8.494999885559082 +298.97448992729187,-3.4030001163482666,27.060000000000002,30.07,8.494999885559082 +298.97461104393005,-3.4030001163482666,27.060000000000002,30.07,8.470999717712402 +299.01195192337036,-3.4030001163482666,27.060000000000002,30.07,8.470999717712402 +299.0120289325714,-3.4030001163482666,27.060000000000002,30.07,8.470999717712402 +299.0660469532013,-3.4100000858306885,27.060000000000002,30.07,8.470999717712402 +299.06611490249634,-3.4100000858306885,27.060000000000002,30.07,8.454999923706055 +299.1060400009155,-3.4100000858306885,27.060000000000002,30.07,8.454999923706055 +299.10610699653625,-3.4100000858306885,27.060000000000002,30.07,8.454999923706055 +299.1718988418579,-3.4049999713897705,27.060000000000002,30.07,8.454999923706055 +299.1719858646393,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.211877822876,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.21194887161255,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.2668900489807,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.26698303222656,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.30683493614197,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.3069109916687,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.37513184547424,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.3752520084381,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.41280698776245,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.41288685798645,-3.4049999713897705,27.060000000000002,30.07,8.444000244140625 +299.46678495407104,-3.384000062942505,27.060000000000002,30.07,8.444000244140625 +299.46686005592346,-3.384000062942505,27.060000000000002,30.07,8.42300033569336 +299.50684690475464,-3.384000062942505,27.060000000000002,30.07,8.42300033569336 +299.5069479942322,-3.384000062942505,27.060000000000002,30.07,8.42300033569336 +299.5748610496521,-3.365999937057495,27.060000000000002,30.07,8.42300033569336 +299.5749728679657,-3.365999937057495,27.060000000000002,30.07,8.392999649047852 +299.6127438545227,-3.365999937057495,27.060000000000002,30.07,8.392999649047852 +299.61282086372375,-3.365999937057495,27.060000000000002,30.07,8.392999649047852 +299.66973996162415,-3.365999937057495,27.060000000000002,30.07,8.392999649047852 +299.6698019504547,-3.365999937057495,27.060000000000002,30.07,8.392999649047852 +299.68874502182007,-3.365999937057495,27.060000000000002,29.4,8.392999649047852 +299.6888699531555,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.7098288536072,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.70989203453064,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.75170493125916,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.75179290771484,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.80767488479614,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.80776596069336,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.84768891334534,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.8478088378906,-3.365999937057495,27.569999999999993,29.4,8.392999649047852 +299.8678488731384,-3.312999963760376,27.569999999999993,29.4,8.392999649047852 +299.8679749965668,-3.312999963760376,27.569999999999993,29.4,8.28600025177002 +299.9076340198517,-3.312999963760376,27.569999999999993,29.4,8.28600025177002 +299.9077219963074,-3.312999963760376,27.569999999999993,29.4,8.28600025177002 +299.97269082069397,-3.2769999504089355,27.569999999999993,29.4,8.28600025177002 +299.9728000164032,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.0126049518585,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.0126829147339,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.0685889720917,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.0686800479889,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.10857582092285,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.1086599826813,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.152715921402,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.1528618335724,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.2145938873291,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.21470284461975,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.252779006958,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.25290393829346,-3.2769999504089355,27.569999999999993,29.4,8.211000442504883 +300.2725479602814,-3.2070000171661377,27.569999999999993,29.4,8.211000442504883 +300.27263593673706,-3.2070000171661377,27.569999999999993,29.4,8.055999755859375 +300.31261587142944,-3.2070000171661377,27.569999999999993,29.4,8.055999755859375 +300.31268191337585,-3.2070000171661377,27.569999999999993,29.4,8.055999755859375 +300.3765799999237,-3.174999952316284,27.569999999999993,29.4,8.055999755859375 +300.3766870498657,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.415727853775,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.4158079624176,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.4715359210968,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.4716010093689,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.51145195961,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.51156783103943,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.56462693214417,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.56480383872986,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.6156339645386,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.6157100200653,-3.174999952316284,27.569999999999993,29.4,7.985000133514404 +300.67038202285767,-3.127000093460083,27.569999999999993,29.4,7.985000133514404 +300.670471906662,-3.127000093460083,27.569999999999993,29.4,7.868000030517578 +300.69234704971313,-3.127000093460083,27.569999999999993,28.01,7.868000030517578 +300.6924159526825,-3.127000093460083,27.159999999999997,28.01,7.868000030517578 +300.7103579044342,-3.127000093460083,27.159999999999997,28.01,7.868000030517578 +300.71043586730957,-3.127000093460083,27.159999999999997,28.01,7.868000030517578 +300.76451301574707,-3.109999895095825,27.159999999999997,28.01,7.868000030517578 +300.76465702056885,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.81637382507324,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.8164689540863,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.87034583091736,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.8704798221588,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.9102828502655,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.91035199165344,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.9763538837433,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +300.97656297683716,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +301.01024103164673,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +301.0103180408478,-3.109999895095825,27.159999999999997,28.01,7.823999881744385 +301.0702748298645,-3.111999988555908,27.159999999999997,28.01,7.823999881744385 +301.07038593292236,-3.111999988555908,27.159999999999997,28.01,7.784999847412109 +301.1112480163574,-3.111999988555908,27.159999999999997,28.01,7.784999847412109 +301.1113529205322,-3.111999988555908,27.159999999999997,28.01,7.784999847412109 +301.1642999649048,-3.117000102996826,27.159999999999997,28.01,7.784999847412109 +301.1643719673157,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.2162139415741,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.2163028717041,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.2716519832611,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.27175402641296,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.31114387512207,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.3112258911133,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.36433386802673,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.36441802978516,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.416396856308,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.4165048599243,-3.117000102996826,27.159999999999997,28.01,7.789000034332275 +301.4711308479309,-3.1389999389648438,27.159999999999997,28.01,7.789000034332275 +301.4712669849396,-3.1389999389648438,27.159999999999997,28.01,7.808000087738037 +301.5110878944397,-3.1389999389648438,27.159999999999997,28.01,7.808000087738037 +301.5111880302429,-3.1389999389648438,27.159999999999997,28.01,7.808000087738037 +301.5763478279114,-3.1530001163482666,27.159999999999997,28.01,7.808000087738037 +301.57646894454956,-3.1530001163482666,27.159999999999997,28.01,7.823999881744385 +301.6162438392639,-3.1530001163482666,27.159999999999997,28.01,7.823999881744385 +301.6163139343262,-3.1530001163482666,27.159999999999997,28.01,7.823999881744385 +301.67100286483765,-3.1659998893737793,27.159999999999997,28.01,7.823999881744385 +301.6710820198059,-3.1659998893737793,27.159999999999997,28.01,7.8379998207092285 +301.6929659843445,-3.1659998893737793,27.159999999999997,27.44,7.8379998207092285 +301.69303798675537,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.7110118865967,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.71110582351685,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.7770438194275,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.77716588974,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.8161618709564,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.81623101234436,-3.1659998893737793,26.97,27.44,7.8379998207092285 +301.87093687057495,-3.1740000247955322,26.97,27.44,7.8379998207092285 +301.87103486061096,-3.1740000247955322,26.97,27.44,7.853000164031982 +301.9109790325165,-3.1740000247955322,26.97,27.44,7.853000164031982 +301.9110610485077,-3.1740000247955322,26.97,27.44,7.853000164031982 +301.9640188217163,-3.1760001182556152,26.97,27.44,7.853000164031982 +301.96407985687256,-3.1760001182556152,26.97,27.44,7.861000061035156 +302.01608204841614,-3.1760001182556152,26.97,27.44,7.861000061035156 +302.0161728858948,-3.1760001182556152,26.97,27.44,7.861000061035156 +302.0720388889313,-3.1760001182556152,26.97,27.44,7.861000061035156 +302.07219982147217,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.1118550300598,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.11193585395813,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.16531205177307,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.165403842926,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.21717405319214,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.21725583076477,-3.1760001182556152,26.97,27.44,7.864999771118164 +302.2629940509796,-3.177000045776367,26.97,27.44,7.864999771118164 +302.26306104660034,-3.177000045776367,26.97,27.44,7.864999771118164 +302.30595993995667,-3.177000045776367,26.97,27.44,7.864999771118164 +302.3060359954834,-3.177000045776367,26.97,27.44,7.864999771118164 +302.3789110183716,-3.180000066757202,26.97,27.44,7.864999771118164 +302.37900495529175,-3.180000066757202,26.97,27.44,7.861000061035156 +302.4177408218384,-3.180000066757202,26.97,27.44,7.861000061035156 +302.41782784461975,-3.180000066757202,26.97,27.44,7.861000061035156 +302.46321082115173,-3.180999994277954,26.97,27.44,7.861000061035156 +302.46329283714294,-3.180999994277954,26.97,27.44,7.857999801635742 +302.505010843277,-3.180999994277954,26.97,27.44,7.857999801635742 +302.50509786605835,-3.180999994277954,26.97,27.44,7.857999801635742 +302.5788450241089,-3.181999921798706,26.97,27.44,7.857999801635742 +302.5789339542389,-3.181999921798706,26.97,27.44,7.855999946594238 +302.6176698207855,-3.181999921798706,26.97,27.44,7.855999946594238 +302.6177489757538,-3.181999921798706,26.97,27.44,7.855999946594238 +302.6637330055237,-3.181999921798706,26.97,27.44,7.855999946594238 +302.66382789611816,-3.181999921798706,26.97,27.44,7.855999946594238 +302.69577383995056,-3.181999921798706,26.97,27.36,7.855999946594238 +302.6958358287811,-3.181999921798706,27.02000000000001,27.36,7.855999946594238 +302.7047939300537,-3.181999921798706,27.02000000000001,27.36,7.855999946594238 +302.7049000263214,-3.181999921798706,27.02000000000001,27.36,7.855999946594238 +302.7787959575653,-3.184999942779541,27.02000000000001,27.36,7.855999946594238 +302.77888894081116,-3.184999942779541,27.02000000000001,27.36,7.853000164031982 +302.8187289237976,-3.184999942779541,27.02000000000001,27.36,7.853000164031982 +302.81880497932434,-3.184999942779541,27.02000000000001,27.36,7.853000164031982 +302.8636438846588,-3.187000036239624,27.02000000000001,27.36,7.853000164031982 +302.8637309074402,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +302.90469694137573,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +302.90478587150574,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +302.9666519165039,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +302.96673488616943,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.0186870098114,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.0187759399414,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.05565094947815,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.05574202537537,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.1064929962158,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.1065709590912,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.1487469673157,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.14881801605225,-3.187000036239624,27.02000000000001,27.36,7.854000091552734 +303.1687099933624,-3.190000057220459,27.02000000000001,27.36,7.854000091552734 +303.1690309047699,-3.190000057220459,27.02000000000001,27.36,7.854000091552734 +303.22256088256836,-3.190000057220459,27.02000000000001,27.36,7.854000091552734 +303.2226459980011,-3.190000057220459,27.02000000000001,27.36,7.854000091552734 +303.2665469646454,-3.190999984741211,27.02000000000001,27.36,7.854000091552734 +303.2666828632355,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.30642890930176,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.30651092529297,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.3704979419708,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.3705689907074,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.40257596969604,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.40264201164246,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.46637892723083,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.4664578437805,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.5063579082489,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.50643587112427,-3.190999984741211,27.02000000000001,27.36,7.853000164031982 +303.5704300403595,-3.193000078201294,27.02000000000001,27.36,7.853000164031982 +303.57057094573975,-3.193000078201294,27.02000000000001,27.36,7.853000164031982 +303.6214249134064,-3.193000078201294,27.02000000000001,27.36,7.853000164031982 +303.6215898990631,-3.193000078201294,27.02000000000001,27.36,7.853000164031982 +303.6672959327698,-3.194000005722046,27.02000000000001,27.36,7.853000164031982 +303.667377948761,-3.194000005722046,27.02000000000001,27.36,7.854000091552734 +303.69929695129395,-3.194000005722046,27.02000000000001,27.3,7.854000091552734 +303.699364900589,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.7073049545288,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.70739793777466,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.7703528404236,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.7704288959503,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.80624890327454,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.8063290119171,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.86733388900757,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.8673939704895,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.90722393989563,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.9073050022125,-3.194000005722046,27.090000000000003,27.3,7.854000091552734 +303.97041296958923,-3.1700000762939453,27.090000000000003,27.3,7.854000091552734 +303.9704840183258,-3.1700000762939453,27.090000000000003,27.3,7.839000225067139 +304.0023720264435,-3.1700000762939453,27.090000000000003,27.3,7.839000225067139 +304.00244784355164,-3.1700000762939453,27.090000000000003,27.3,7.839000225067139 +304.0671708583832,-3.1600000858306885,27.090000000000003,27.3,7.839000225067139 +304.0672609806061,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.10714888572693,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.10723304748535,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.17121291160583,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.17128896713257,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.2052149772644,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.20529103279114,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.26826882362366,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.26836585998535,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.3090908527374,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.30917382240295,-3.1600000858306885,27.090000000000003,27.3,7.814000129699707 +304.37115383148193,-3.1570000648498535,27.090000000000003,27.3,7.814000129699707 +304.3712339401245,-3.1570000648498535,27.090000000000003,27.3,7.716000080108643 +304.4041428565979,-3.1570000648498535,27.090000000000003,27.3,7.716000080108643 +304.4042110443115,-3.1570000648498535,27.090000000000003,27.3,7.716000080108643 +304.44306898117065,-3.1579999923706055,27.090000000000003,27.3,7.716000080108643 +304.4431719779968,-3.1579999923706055,27.090000000000003,27.3,7.6579999923706055 +304.50903582572937,-3.1579999923706055,27.090000000000003,27.3,7.6579999923706055 +304.5091459751129,-3.1579999923706055,27.090000000000003,27.3,7.6579999923706055 +304.5430428981781,-3.1619999408721924,27.090000000000003,27.3,7.6579999923706055 +304.5431489944458,-3.1619999408721924,27.090000000000003,27.3,7.539000034332275 +304.60506105422974,-3.1619999408721924,27.090000000000003,27.3,7.539000034332275 +304.60514092445374,-3.1619999408721924,27.090000000000003,27.3,7.539000034332275 +304.6451439857483,-3.1619999408721924,27.090000000000003,27.3,7.539000034332275 +304.6452419757843,-3.1619999408721924,27.090000000000003,27.3,7.539000034332275 +304.7009038925171,-3.1619999408721924,27.090000000000003,26.74,7.539000034332275 +304.70096588134766,-3.1619999408721924,27.22999999999999,26.74,7.539000034332275 +304.70893001556396,-3.1619999408721924,27.22999999999999,26.74,7.539000034332275 +304.70900201797485,-3.1619999408721924,27.22999999999999,26.74,7.539000034332275 +304.74292397499084,-3.1619999408721924,27.22999999999999,26.74,7.539000034332275 +304.74300384521484,-3.1619999408721924,27.22999999999999,26.74,7.539000034332275 +304.7629179954529,-3.1659998893737793,27.22999999999999,26.74,7.539000034332275 +304.7629928588867,-3.1659998893737793,27.22999999999999,26.74,7.4770002365112305 +304.8050639629364,-3.1659998893737793,27.22999999999999,26.74,7.4770002365112305 +304.8051710128784,-3.1659998893737793,27.22999999999999,26.74,7.4770002365112305 +304.8691449165344,-3.1730000972747803,27.22999999999999,26.74,7.4770002365112305 +304.86924982070923,-3.1730000972747803,27.22999999999999,26.74,7.410999774932861 +304.9089388847351,-3.1730000972747803,27.22999999999999,26.74,7.410999774932861 +304.9090859889984,-3.1730000972747803,27.22999999999999,26.74,7.410999774932861 +304.96285104751587,-3.178999900817871,27.22999999999999,26.74,7.410999774932861 +304.9629259109497,-3.178999900817871,27.22999999999999,26.74,7.3460001945495605 +305.0068259239197,-3.178999900817871,27.22999999999999,26.74,7.3460001945495605 +305.0068919658661,-3.178999900817871,27.22999999999999,26.74,7.3460001945495605 +305.06983494758606,-3.181999921798706,27.22999999999999,26.74,7.3460001945495605 +305.0699369907379,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.109827041626,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.10993099212646,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.1628189086914,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.16291785240173,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.20595383644104,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.2060248851776,-3.181999921798706,27.22999999999999,26.74,7.27400016784668 +305.27073788642883,-3.186000108718872,27.22999999999999,26.74,7.27400016784668 +305.27082085609436,-3.186000108718872,27.22999999999999,26.74,7.208000183105469 +305.3107240200043,-3.186000108718872,27.22999999999999,26.74,7.208000183105469 +305.3108139038086,-3.186000108718872,27.22999999999999,26.74,7.208000183105469 +305.3647470474243,-3.188999891281128,27.22999999999999,26.74,7.208000183105469 +305.3648450374603,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.40671396255493,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.40679693222046,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.46314001083374,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.4632329940796,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.5026659965515,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.50275683403015,-3.188999891281128,27.22999999999999,26.74,7.139999866485596 +305.5667870044708,-3.191999912261963,27.22999999999999,26.74,7.139999866485596 +305.56688690185547,-3.191999912261963,27.22999999999999,26.74,7.067999839782715 +305.6077129840851,-3.191999912261963,27.22999999999999,26.74,7.067999839782715 +305.60779094696045,-3.191999912261963,27.22999999999999,26.74,7.067999839782715 +305.661808013916,-3.196000099182129,27.22999999999999,26.74,7.067999839782715 +305.66189098358154,-3.196000099182129,27.22999999999999,26.74,6.98199987411499 +305.7020380496979,-3.196000099182129,27.22999999999999,26.74,6.98199987411499 +305.70214104652405,-3.196000099182129,27.22999999999999,26.74,6.98199987411499 +305.7045660018921,-3.196000099182129,27.22999999999999,25.66,6.98199987411499 +305.70463585853577,-3.196000099182129,26.72,25.66,6.98199987411499 +305.766765832901,-3.197999954223633,26.72,25.66,6.98199987411499 +305.76687502861023,-3.197999954223633,26.72,25.66,6.921000003814697 +305.8105409145355,-3.197999954223633,26.72,25.66,6.921000003814697 +305.81061482429504,-3.197999954223633,26.72,25.66,6.921000003814697 +305.8625419139862,-3.2019999027252197,26.72,25.66,6.921000003814697 +305.8626329898834,-3.2019999027252197,26.72,25.66,6.861000061035156 +305.9025239944458,-3.2019999027252197,26.72,25.66,6.861000061035156 +305.90261602401733,-3.2019999027252197,26.72,25.66,6.861000061035156 +305.96658086776733,-3.2019999027252197,26.72,25.66,6.861000061035156 +305.9666509628296,-3.2019999027252197,26.72,25.66,6.861000061035156 +306.0084888935089,-3.2019999027252197,26.72,25.66,6.861000061035156 +306.00857400894165,-3.2019999027252197,26.72,25.66,6.861000061035156 +306.0624828338623,-3.2049999237060547,26.72,25.66,6.861000061035156 +306.0625858306885,-3.2049999237060547,26.72,25.66,6.802000045776367 +306.10255885124207,-3.2049999237060547,26.72,25.66,6.802000045776367 +306.1027319431305,-3.2049999237060547,26.72,25.66,6.802000045776367 +306.16650390625,-3.2079999446868896,26.72,25.66,6.802000045776367 +306.16658091545105,-3.2079999446868896,26.72,25.66,6.739999771118164 +306.2084250450134,-3.2079999446868896,26.72,25.66,6.739999771118164 +306.2084970474243,-3.2079999446868896,26.72,25.66,6.739999771118164 +306.24841594696045,-3.2079999446868896,26.72,25.66,6.739999771118164 +306.24851083755493,-3.2079999446868896,26.72,25.66,6.739999771118164 +306.26239800453186,-3.2149999141693115,26.72,25.66,6.739999771118164 +306.2624909877777,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.30240297317505,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.30250883102417,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.36648297309875,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.3665699958801,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.4083378314972,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.40840697288513,-3.2149999141693115,26.72,25.66,6.683000087738037 +306.4633469581604,-3.2200000286102295,26.72,25.66,6.683000087738037 +306.46343994140625,-3.2200000286102295,26.72,25.66,6.623000144958496 +306.5033469200134,-3.2200000286102295,26.72,25.66,6.623000144958496 +306.50344491004944,-3.2200000286102295,26.72,25.66,6.623000144958496 +306.5683739185333,-3.2239999771118164,26.72,25.66,6.623000144958496 +306.56844091415405,-3.2239999771118164,26.72,25.66,6.564000129699707 +306.60931491851807,-3.2239999771118164,26.72,25.66,6.564000129699707 +306.60942482948303,-3.2239999771118164,26.72,25.66,6.564000129699707 +306.6492669582367,-3.2279999256134033,26.72,25.66,6.564000129699707 +306.6493399143219,-3.2279999256134033,26.72,25.66,6.5 +306.70325803756714,-3.2279999256134033,26.72,25.66,6.5 +306.70334792137146,-3.2279999256134033,26.72,25.66,6.5 +306.70532989501953,-3.2279999256134033,26.72,24.52,6.5 +306.70540285110474,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.7463438510895,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.7464380264282,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.8092029094696,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.80927896499634,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.8483510017395,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.84845995903015,-3.2279999256134033,27.439999999999998,24.52,6.5 +306.8653049468994,-3.2339999675750732,27.439999999999998,24.52,6.5 +306.8654010295868,-3.2339999675750732,27.439999999999998,24.52,6.431000232696533 +306.90726685523987,-3.2339999675750732,27.439999999999998,24.52,6.431000232696533 +306.9074239730835,-3.2339999675750732,27.439999999999998,24.52,6.431000232696533 +306.96918392181396,-3.23799991607666,27.439999999999998,24.52,6.431000232696533 +306.9692950248718,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.0013518333435,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.00143790245056,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.066330909729,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.06641697883606,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.107213973999,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.10739493370056,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.17008996009827,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.170156955719,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.2021210193634,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.2022440433502,-3.23799991607666,27.439999999999998,24.52,6.361999988555908 +307.26626801490784,-3.25,27.439999999999998,24.52,6.361999988555908 +307.26635789871216,-3.25,27.439999999999998,24.52,6.232999801635742 +307.30707001686096,-3.25,27.439999999999998,24.52,6.232999801635742 +307.30719089508057,-3.25,27.439999999999998,24.52,6.232999801635742 +307.37001490592957,-3.253999948501587,27.439999999999998,24.52,6.232999801635742 +307.3700850009918,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.4325439929962,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.4326419830322,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.4680769443512,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.4681739807129,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.50821590423584,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.50840282440186,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.5611288547516,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.5612008571625,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.63291597366333,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.63299894332886,-3.253999948501587,27.439999999999998,24.52,6.171999931335449 +307.6679890155792,-3.263000011444092,27.439999999999998,24.52,6.171999931335449 +307.6680860519409,-3.263000011444092,27.439999999999998,24.52,6.048999786376953 +307.69799399375916,-3.263000011444092,27.439999999999998,22.98,6.048999786376953 +307.6980538368225,-3.263000011444092,27.620000000000005,22.98,6.048999786376953 +307.7079989910126,-3.263000011444092,27.620000000000005,22.98,6.048999786376953 +307.7080919742584,-3.263000011444092,27.620000000000005,22.98,6.048999786376953 +307.7610750198364,-3.2669999599456787,27.620000000000005,22.98,6.048999786376953 +307.76114296913147,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.8028688430786,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.80294585227966,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.8679120540619,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.8680019378662,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.90792894363403,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.9080250263214,-3.2669999599456787,27.620000000000005,22.98,5.986000061035156 +307.96099495887756,-3.2760000228881836,27.620000000000005,22.98,5.986000061035156 +307.9610710144043,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.0027868747711,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.0028660297394,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.0678470134735,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.06793904304504,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.1078679561615,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.10796189308167,-3.2760000228881836,27.620000000000005,22.98,5.875 +308.16174387931824,-3.2790000438690186,27.620000000000005,22.98,5.875 +308.16181802749634,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.20375990867615,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.2038428783417,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.2680208683014,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.26816391944885,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.3077988624573,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.3078968524933,-3.2790000438690186,27.620000000000005,22.98,5.836999893188477 +308.36167097091675,-3.2869999408721924,27.620000000000005,22.98,5.836999893188477 +308.3617389202118,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.40364599227905,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.40372490882874,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.4696969985962,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.4698820114136,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.5096490383148,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.50976300239563,-3.2869999408721924,27.620000000000005,22.98,5.800000190734863 +308.56262588500977,-3.2920000553131104,27.620000000000005,22.98,5.800000190734863 +308.5626919269562,-3.2920000553131104,27.620000000000005,22.98,5.795000076293945 +308.60469603538513,-3.2920000553131104,27.620000000000005,22.98,5.795000076293945 +308.6047739982605,-3.2920000553131104,27.620000000000005,22.98,5.795000076293945 +308.66954803466797,-3.2920000553131104,27.620000000000005,22.98,5.795000076293945 +308.66964888572693,-3.2920000553131104,27.620000000000005,22.98,5.795000076293945 +308.699511051178,-3.2920000553131104,27.620000000000005,21.9,5.795000076293945 +308.6995759010315,-3.2920000553131104,27.69999999999999,21.9,5.795000076293945 +308.7095458507538,-3.2920000553131104,27.69999999999999,21.9,5.795000076293945 +308.70965003967285,-3.2920000553131104,27.69999999999999,21.9,5.795000076293945 +308.7625148296356,-3.305000066757202,27.69999999999999,21.9,5.795000076293945 +308.76258182525635,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.8047878742218,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.8048679828644,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.8705289363861,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.8706319332123,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.9006278514862,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.9007098674774,-3.305000066757202,27.69999999999999,21.9,5.814000129699707 +308.9634380340576,-3.308000087738037,27.69999999999999,21.9,5.814000129699707 +308.963506937027,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.00550603866577,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.00559401512146,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.0704128742218,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.07050585746765,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.1005618572235,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.10064482688904,-3.308000087738037,27.69999999999999,21.9,5.828999996185303 +309.1634109020233,-3.305000066757202,27.69999999999999,21.9,5.828999996185303 +309.1635708808899,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.20538902282715,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.20551896095276,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.2703468799591,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.27044105529785,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.30049300193787,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.3005769252777,-3.305000066757202,27.69999999999999,21.9,5.839000225067139 +309.3643009662628,-3.2990000247955322,27.69999999999999,21.9,5.839000225067139 +309.3643660545349,-3.2990000247955322,27.69999999999999,21.9,5.822000026702881 +309.406436920166,-3.2990000247955322,27.69999999999999,21.9,5.822000026702881 +309.406534910202,-3.2990000247955322,27.69999999999999,21.9,5.822000026702881 +309.47126483917236,-3.2929999828338623,27.69999999999999,21.9,5.822000026702881 +309.4713668823242,-3.2929999828338623,27.69999999999999,21.9,5.789999961853027 +309.5012650489807,-3.2929999828338623,27.69999999999999,21.9,5.789999961853027 +309.5013439655304,-3.2929999828338623,27.69999999999999,21.9,5.789999961853027 +309.5642309188843,-3.2899999618530273,27.69999999999999,21.9,5.789999961853027 +309.5643119812012,-3.2899999618530273,27.69999999999999,21.9,5.743000030517578 +309.606262922287,-3.2899999618530273,27.69999999999999,21.9,5.743000030517578 +309.6063508987427,-3.2899999618530273,27.69999999999999,21.9,5.743000030517578 +309.6701829433441,-3.2899999618530273,27.69999999999999,21.9,5.743000030517578 +309.6702809333801,-3.2899999618530273,27.69999999999999,21.9,5.743000030517578 +309.7003710269928,-3.2899999618530273,27.69999999999999,21.75,5.743000030517578 +309.7004518508911,-3.2899999618530273,27.02000000000001,21.75,5.743000030517578 +309.70054602622986,-3.2899999618530273,27.02000000000001,21.75,5.743000030517578 +309.7006359100342,-3.2899999618530273,27.02000000000001,21.75,5.743000030517578 +309.76417994499207,-3.2869999408721924,27.02000000000001,21.75,5.743000030517578 +309.76427602767944,-3.2869999408721924,27.02000000000001,21.75,5.683000087738037 +309.8051509857178,-3.2869999408721924,27.02000000000001,21.75,5.683000087738037 +309.805223941803,-3.2869999408721924,27.02000000000001,21.75,5.683000087738037 +309.8701229095459,-3.2860000133514404,27.02000000000001,21.75,5.683000087738037 +309.8702230453491,-3.2860000133514404,27.02000000000001,21.75,5.614999771118164 +309.90038204193115,-3.2860000133514404,27.02000000000001,21.75,5.614999771118164 +309.9004428386688,-3.2860000133514404,27.02000000000001,21.75,5.614999771118164 +309.9621410369873,-3.2809998989105225,27.02000000000001,21.75,5.614999771118164 +309.96223998069763,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.03006291389465,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.03015184402466,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.0700948238373,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.0702269077301,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.1202619075775,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.12036085128784,-3.2809998989105225,27.02000000000001,21.75,5.538000106811523 +310.1631088256836,-3.2739999294281006,27.02000000000001,21.75,5.538000106811523 +310.16322803497314,-3.2739999294281006,27.02000000000001,21.75,5.458000183105469 +310.20500898361206,-3.2739999294281006,27.02000000000001,21.75,5.458000183105469 +310.2050838470459,-3.2739999294281006,27.02000000000001,21.75,5.458000183105469 +310.27103185653687,-3.2669999599456787,27.02000000000001,21.75,5.458000183105469 +310.27144598960876,-3.2669999599456787,27.02000000000001,21.75,5.381999969482422 +310.30114793777466,-3.2669999599456787,27.02000000000001,21.75,5.381999969482422 +310.3012249469757,-3.2669999599456787,27.02000000000001,21.75,5.381999969482422 +310.3629729747772,-3.259999990463257,27.02000000000001,21.75,5.381999969482422 +310.3630578517914,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.40493988990784,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.4050178527832,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.4699468612671,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.4700708389282,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.5000729560852,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.5001549720764,-3.259999990463257,27.02000000000001,21.75,5.306000232696533 +310.5638768672943,-3.256999969482422,27.02000000000001,21.75,5.306000232696533 +310.5639429092407,-3.256999969482422,27.02000000000001,21.75,5.23199987411499 +310.605859041214,-3.256999969482422,27.02000000000001,21.75,5.23199987411499 +310.6059329509735,-3.256999969482422,27.02000000000001,21.75,5.23199987411499 +310.67190885543823,-3.255000114440918,27.02000000000001,21.75,5.23199987411499 +310.67208886146545,-3.255000114440918,27.02000000000001,21.75,5.1620001792907715 +310.7008159160614,-3.255000114440918,27.02000000000001,21.11,5.1620001792907715 +310.7009069919586,-3.255000114440918,27.75,21.11,5.1620001792907715 +310.7018530368805,-3.255000114440918,27.75,21.11,5.1620001792907715 +310.70192193984985,-3.255000114440918,27.75,21.11,5.1620001792907715 +310.74184584617615,-3.255000114440918,27.75,21.11,5.1620001792907715 +310.74192094802856,-3.255000114440918,27.75,21.11,5.1620001792907715 +310.7648169994354,-3.253000020980835,27.75,21.11,5.1620001792907715 +310.7648890018463,-3.253000020980835,27.75,21.11,5.0970001220703125 +310.8069109916687,-3.253000020980835,27.75,21.11,5.0970001220703125 +310.8070418834686,-3.253000020980835,27.75,21.11,5.0970001220703125 +310.87283396720886,-3.25,27.75,21.11,5.0970001220703125 +310.87293791770935,-3.25,27.75,21.11,5.035999774932861 +310.9027669429779,-3.25,27.75,21.11,5.035999774932861 +310.90284991264343,-3.25,27.75,21.11,5.035999774932861 +310.9657280445099,-3.25,27.75,21.11,5.035999774932861 +310.9657950401306,-3.25,27.75,21.11,5.035999774932861 +311.0079438686371,-3.25,27.75,21.11,5.035999774932861 +311.0080199241638,-3.25,27.75,21.11,5.035999774932861 +311.0727388858795,-3.25,27.75,21.11,5.035999774932861 +311.07285499572754,-3.25,27.75,21.11,4.978000164031982 +311.10270595550537,-3.25,27.75,21.11,4.978000164031982 +311.1027889251709,-3.25,27.75,21.11,4.978000164031982 +311.1667070388794,-3.25,27.75,21.11,4.978000164031982 +311.1667890548706,-3.25,27.75,21.11,4.914999961853027 +311.20866203308105,-3.25,27.75,21.11,4.914999961853027 +311.2087309360504,-3.25,27.75,21.11,4.914999961853027 +311.27362394332886,-3.247999906539917,27.75,21.11,4.914999961853027 +311.27371191978455,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.30361890792847,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.30369997024536,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.3678319454193,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.36790800094604,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.39976382255554,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.3998589515686,-3.247999906539917,27.75,21.11,4.8520002365112305 +311.4615788459778,-3.244999885559082,27.75,21.11,4.8520002365112305 +311.46165204048157,-3.244999885559082,27.75,21.11,4.788000106811523 +311.50355792045593,-3.244999885559082,27.75,21.11,4.788000106811523 +311.5036458969116,-3.244999885559082,27.75,21.11,4.788000106811523 +311.56778287887573,-3.23799991607666,27.75,21.11,4.788000106811523 +311.5678708553314,-3.23799991607666,27.75,21.11,4.711999893188477 +311.60983991622925,-3.23799991607666,27.75,21.11,4.711999893188477 +311.609925031662,-3.23799991607666,27.75,21.11,4.711999893188477 +311.6596829891205,-3.2309999465942383,27.75,21.11,4.711999893188477 +311.65976095199585,-3.2309999465942383,27.75,21.11,4.65500020980835 +311.7064859867096,-3.2309999465942383,27.75,19.73,4.65500020980835 +311.70655584335327,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.70663690567017,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.7067060470581,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.7596209049225,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.75969791412354,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.8014769554138,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.8015739917755,-3.2309999465942383,27.75999999999999,19.73,4.65500020980835 +311.8624429702759,-3.2260000705718994,27.75999999999999,19.73,4.65500020980835 +311.8625168800354,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +311.90648102760315,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +311.90669083595276,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +311.95956087112427,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +311.95963501930237,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +312.0014228820801,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +312.00157499313354,-3.2260000705718994,27.75999999999999,19.73,4.5929999351501465 +312.0613498687744,-3.2139999866485596,27.75999999999999,19.73,4.5929999351501465 +312.06143283843994,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.10753083229065,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.1076629161835,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.1603229045868,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.16039991378784,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.2023038864136,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.2023808956146,-3.2139999866485596,27.75999999999999,19.73,4.465000152587891 +312.26227498054504,-3.2100000381469727,27.75999999999999,19.73,4.465000152587891 +312.2623360157013,-3.2100000381469727,27.75999999999999,19.73,4.400000095367432 +312.30896186828613,-3.2100000381469727,27.75999999999999,19.73,4.400000095367432 +312.3090789318085,-3.2100000381469727,27.75999999999999,19.73,4.400000095367432 +312.3612868785858,-3.2070000171661377,27.75999999999999,19.73,4.400000095367432 +312.36136388778687,-3.2070000171661377,27.75999999999999,19.73,4.336999893188477 +312.4032289981842,-3.2070000171661377,27.75999999999999,19.73,4.336999893188477 +312.4033088684082,-3.2070000171661377,27.75999999999999,19.73,4.336999893188477 +312.4634819030762,-3.2049999237060547,27.75999999999999,19.73,4.336999893188477 +312.4635560512543,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.49934792518616,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.49942898750305,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.56220388412476,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.56227803230286,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.6041669845581,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.60423398017883,-3.2049999237060547,27.75999999999999,19.73,4.2729997634887695 +312.66414189338684,-3.2019999027252197,27.75999999999999,19.73,4.2729997634887695 +312.6642110347748,-3.2019999027252197,27.75999999999999,19.73,4.184999942779541 +312.6993188858032,-3.2019999027252197,27.75999999999999,19.73,4.184999942779541 +312.6994128227234,-3.2019999027252197,27.75999999999999,19.73,4.184999942779541 +312.70610094070435,-3.2019999027252197,27.75999999999999,18.13,4.184999942779541 +312.70616602897644,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.76331782341003,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.76340103149414,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.8051059246063,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.8052158355713,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.8450708389282,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.84514689445496,-3.2019999027252197,26.930000000000007,18.13,4.184999942779541 +312.86508083343506,-3.194999933242798,26.930000000000007,18.13,4.184999942779541 +312.8651900291443,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +312.90007495880127,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +312.900151014328,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +312.96415090560913,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +312.96423292160034,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +313.00507283210754,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +313.0052149295807,-3.194999933242798,26.930000000000007,18.13,4.050000190734863 +313.0649938583374,-3.190000057220459,26.930000000000007,18.13,4.050000190734863 +313.06507086753845,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.1000008583069,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.10007786750793,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.1629829406738,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.16307497024536,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.20495104789734,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.2050449848175,-3.190000057220459,26.930000000000007,18.13,3.986999988555908 +313.2649209499359,-3.177000045776367,26.930000000000007,18.13,3.986999988555908 +313.26499605178833,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.30094599723816,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.30102491378784,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.36488604545593,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.36496591567993,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.4070918560028,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.407222032547,-3.177000045776367,26.930000000000007,18.13,3.865999937057495 +313.46714091300964,-3.1730000972747803,26.930000000000007,18.13,3.865999937057495 +313.467267036438,-3.1730000972747803,26.930000000000007,18.13,3.805000066757202 +313.50088691711426,-3.1730000972747803,26.930000000000007,18.13,3.805000066757202 +313.50097489356995,-3.1730000972747803,26.930000000000007,18.13,3.805000066757202 +313.564817905426,-3.1700000762939453,26.930000000000007,18.13,3.805000066757202 +313.5648949146271,-3.1700000762939453,26.930000000000007,18.13,3.747999906539917 +313.60689187049866,-3.1700000762939453,26.930000000000007,18.13,3.747999906539917 +313.606969833374,-3.1700000762939453,26.930000000000007,18.13,3.747999906539917 +313.6589729785919,-3.1649999618530273,26.930000000000007,18.13,3.747999906539917 +313.65904688835144,-3.1649999618530273,26.930000000000007,18.13,3.686000108718872 +313.70181488990784,-3.1649999618530273,26.930000000000007,18.13,3.686000108718872 +313.7019350528717,-3.1649999618530273,26.930000000000007,18.13,3.686000108718872 +313.705806016922,-3.1649999618530273,26.930000000000007,16.94,3.686000108718872 +313.7059178352356,-3.1649999618530273,27.650000000000006,16.94,3.686000108718872 +313.7647750377655,-3.1649999618530273,27.650000000000006,16.94,3.686000108718872 +313.7648639678955,-3.1649999618530273,27.650000000000006,16.94,3.686000108718872 +313.8068208694458,-3.1649999618530273,27.650000000000006,16.94,3.686000108718872 +313.8069019317627,-3.1649999618530273,27.650000000000006,16.94,3.686000108718872 +313.8667778968811,-3.1600000858306885,27.650000000000006,16.94,3.686000108718872 +313.86684799194336,-3.1600000858306885,27.650000000000006,16.94,3.622999906539917 +313.9017069339752,-3.1600000858306885,27.650000000000006,16.94,3.622999906539917 +313.90179085731506,-3.1600000858306885,27.650000000000006,16.94,3.622999906539917 +313.96467185020447,-3.1579999923706055,27.650000000000006,16.94,3.622999906539917 +313.9647500514984,-3.1579999923706055,27.650000000000006,16.94,3.558000087738037 +314.0067460536957,-3.1579999923706055,27.650000000000006,16.94,3.558000087738037 +314.0068299770355,-3.1579999923706055,27.650000000000006,16.94,3.558000087738037 +314.0667598247528,-3.1570000648498535,27.650000000000006,16.94,3.558000087738037 +314.0668308734894,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.10164499282837,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.10172986984253,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.164608001709,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.16468596458435,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.20666694641113,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.206748008728,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.2666380405426,-3.1570000648498535,27.650000000000006,16.94,3.496000051498413 +314.2667119503021,-3.1570000648498535,27.650000000000006,16.94,3.447999954223633 +314.30159091949463,-3.1570000648498535,27.650000000000006,16.94,3.447999954223633 +314.3016879558563,-3.1570000648498535,27.650000000000006,16.94,3.447999954223633 +314.3655848503113,-3.1549999713897705,27.650000000000006,16.94,3.447999954223633 +314.36567401885986,-3.1549999713897705,27.650000000000006,16.94,3.4119999408721924 +314.4065968990326,-3.1549999713897705,27.650000000000006,16.94,3.4119999408721924 +314.4066798686981,-3.1549999713897705,27.650000000000006,16.94,3.4119999408721924 +314.44665694236755,-3.1549999713897705,27.650000000000006,16.94,3.4119999408721924 +314.44675183296204,-3.1549999713897705,27.650000000000006,16.94,3.4119999408721924 +314.4666268825531,-3.1480000019073486,27.650000000000006,16.94,3.4119999408721924 +314.466717004776,-3.1480000019073486,27.650000000000006,16.94,3.384999990463257 +314.50363183021545,-3.1480000019073486,27.650000000000006,16.94,3.384999990463257 +314.5036988258362,-3.1480000019073486,27.650000000000006,16.94,3.384999990463257 +314.56351685523987,-3.1389999389648438,27.650000000000006,16.94,3.384999990463257 +314.56363892555237,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.6056418418884,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.60583782196045,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.6677339076996,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.66786098480225,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.70344400405884,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.70353984832764,-3.1389999389648438,27.650000000000006,16.94,3.368000030517578 +314.70542097091675,-3.1389999389648438,27.650000000000006,15.8,3.368000030517578 +314.7054738998413,-3.1389999389648438,27.590000000000003,15.8,3.368000030517578 +314.7674238681793,-3.128999948501587,27.590000000000003,15.8,3.368000030517578 +314.76751804351807,-3.128999948501587,27.590000000000003,15.8,3.369999885559082 +314.80937600135803,-3.128999948501587,27.590000000000003,15.8,3.369999885559082 +314.80946493148804,-3.128999948501587,27.590000000000003,15.8,3.369999885559082 +314.8593888282776,-3.121999979019165,27.590000000000003,15.8,3.369999885559082 +314.85946798324585,-3.121999979019165,27.590000000000003,15.8,3.3889999389648438 +314.90435004234314,-3.121999979019165,27.590000000000003,15.8,3.3889999389648438 +314.9044358730316,-3.121999979019165,27.590000000000003,15.8,3.3889999389648438 +314.96778297424316,-3.115999937057495,27.590000000000003,15.8,3.3889999389648438 +314.96787881851196,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.00931000709534,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.00939202308655,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.0593190193176,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.05939388275146,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.1042718887329,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.1043510437012,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.14437890052795,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.1444659233093,-3.115999937057495,27.590000000000003,15.8,3.421999931335449 +315.1682529449463,-3.11299991607666,27.590000000000003,15.8,3.421999931335449 +315.168329000473,-3.11299991607666,27.590000000000003,15.8,3.453000068664551 +315.2092459201813,-3.11299991607666,27.590000000000003,15.8,3.453000068664551 +315.20932602882385,-3.11299991607666,27.590000000000003,15.8,3.453000068664551 +315.25923705101013,-3.111999988555908,27.590000000000003,15.8,3.453000068664551 +315.25931000709534,-3.111999988555908,27.590000000000003,15.8,3.4760000705718994 +315.30522084236145,-3.111999988555908,27.590000000000003,15.8,3.4760000705718994 +315.30528593063354,-3.111999988555908,27.590000000000003,15.8,3.4760000705718994 +315.3692419528961,-3.1110000610351562,27.590000000000003,15.8,3.4760000705718994 +315.36933398246765,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.3992919921875,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.39936995506287,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.4611608982086,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.46122097969055,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.5261390209198,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.52623105049133,-3.1110000610351562,27.590000000000003,15.8,3.48799991607666 +315.5692148208618,-3.109999895095825,27.590000000000003,15.8,3.48799991607666 +315.56929302215576,-3.109999895095825,27.590000000000003,15.8,3.496999979019165 +315.6210980415344,-3.109999895095825,27.590000000000003,15.8,3.496999979019165 +315.62117099761963,-3.109999895095825,27.590000000000003,15.8,3.496999979019165 +315.6611080169678,-3.1080000400543213,27.590000000000003,15.8,3.496999979019165 +315.6611828804016,-3.1080000400543213,27.590000000000003,15.8,3.503000020980835 +315.70604491233826,-3.1080000400543213,27.590000000000003,15.55,3.503000020980835 +315.7061049938202,-3.1080000400543213,27.639999999999986,15.55,3.503000020980835 +315.7261550426483,-3.1080000400543213,27.639999999999986,15.55,3.503000020980835 +315.72632002830505,-3.1080000400543213,27.639999999999986,15.55,3.503000020980835 +315.770112991333,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.7702648639679,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.8220338821411,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.8221139907837,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.8620009422302,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.86207389831543,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.9259948730469,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.9260869026184,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.96912002563477,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +315.9692039489746,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +316.02094984054565,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +316.0210168361664,-3.1089999675750732,27.639999999999986,15.55,3.503000020980835 +316.06094098091125,-3.1110000610351562,27.639999999999986,15.55,3.503000020980835 +316.0610158443451,-3.1110000610351562,27.639999999999986,15.55,3.499000072479248 +316.1259319782257,-3.1110000610351562,27.639999999999986,15.55,3.499000072479248 +316.12603092193604,-3.1110000610351562,27.639999999999986,15.55,3.499000072479248 +316.1699299812317,-3.11299991607666,27.639999999999986,15.55,3.499000072479248 +316.1700088977814,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.2208788394928,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.2209470272064,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.26088285446167,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.2609510421753,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.31986904144287,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.32007789611816,-3.11299991607666,27.639999999999986,15.55,3.497999906539917 +316.3600389957428,-3.115999937057495,27.639999999999986,15.55,3.497999906539917 +316.3603358268738,-3.115999937057495,27.639999999999986,15.55,3.49399995803833 +316.42280888557434,-3.115999937057495,27.639999999999986,15.55,3.49399995803833 +316.42288184165955,-3.115999937057495,27.639999999999986,15.55,3.49399995803833 +316.4628050327301,-3.121000051498413,27.639999999999986,15.55,3.49399995803833 +316.4628758430481,-3.121000051498413,27.639999999999986,15.55,3.484999895095825 +316.51888489723206,-3.121000051498413,27.639999999999986,15.55,3.484999895095825 +316.51895904541016,-3.121000051498413,27.639999999999986,15.55,3.484999895095825 +316.5588638782501,-3.127000093460083,27.639999999999986,15.55,3.484999895095825 +316.55893898010254,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.6268470287323,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.6269428730011,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.66572284698486,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.6658010482788,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.7189269065857,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.7190098762512,-3.127000093460083,27.639999999999986,15.55,3.4630000591278076 +316.758887052536,-3.13700008392334,27.639999999999986,15.55,3.4630000591278076 +316.75896096229553,-3.13700008392334,27.639999999999986,15.55,3.427999973297119 +316.8056569099426,-3.13700008392334,27.639999999999986,15.53,3.427999973297119 +316.80574584007263,-3.13700008392334,27.669999999999987,15.53,3.427999973297119 +316.8257999420166,-3.13700008392334,27.669999999999987,15.53,3.427999973297119 +316.825865983963,-3.13700008392334,27.669999999999987,15.53,3.427999973297119 +316.8659269809723,-3.1449999809265137,27.669999999999987,15.53,3.427999973297119 +316.8660309314728,-3.1449999809265137,27.669999999999987,15.53,3.382999897003174 +316.92013001441956,-3.1449999809265137,27.669999999999987,15.53,3.382999897003174 +316.9202799797058,-3.1449999809265137,27.669999999999987,15.53,3.382999897003174 +316.9596939086914,-3.1549999713897705,27.669999999999987,15.53,3.382999897003174 +316.9597759246826,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.02559995651245,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.0256769657135,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.06459188461304,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.06466603279114,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.1196029186249,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.1197168827057,-3.1549999713897705,27.669999999999987,15.53,3.3259999752044678 +317.1595878601074,-3.1649999618530273,27.669999999999987,15.53,3.3259999752044678 +317.15968894958496,-3.1649999618530273,27.669999999999987,15.53,3.263000011444092 +317.22560381889343,-3.1649999618530273,27.669999999999987,15.53,3.263000011444092 +317.2257399559021,-3.1649999618530273,27.669999999999987,15.53,3.263000011444092 +317.2655098438263,-3.174999952316284,27.669999999999987,15.53,3.263000011444092 +317.26557898521423,-3.174999952316284,27.669999999999987,15.53,3.190999984741211 +317.3237009048462,-3.174999952316284,27.669999999999987,15.53,3.190999984741211 +317.3238470554352,-3.174999952316284,27.669999999999987,15.53,3.190999984741211 +317.3634989261627,-3.193000078201294,27.669999999999987,15.53,3.190999984741211 +317.36359095573425,-3.193000078201294,27.669999999999987,15.53,3.11299991607666 +317.42572689056396,-3.193000078201294,27.669999999999987,15.53,3.11299991607666 +317.4258849620819,-3.193000078201294,27.669999999999987,15.53,3.11299991607666 +317.4654588699341,-3.2109999656677246,27.669999999999987,15.53,3.11299991607666 +317.465548992157,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.52444887161255,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.52452993392944,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.56552290916443,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.56558895111084,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.62745785713196,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.62753796577454,-3.2109999656677246,27.669999999999987,15.53,3.0350000858306885 +317.6674449443817,-3.2309999465942383,27.669999999999987,15.53,3.0350000858306885 +317.66752099990845,-3.2309999465942383,27.669999999999987,15.53,2.9600000381469727 +317.7053380012512,-3.2309999465942383,27.669999999999987,15.25,2.9600000381469727 +317.70539593696594,-3.2309999465942383,27.77000000000001,15.25,2.9600000381469727 +317.7243649959564,-3.2309999465942383,27.77000000000001,15.25,2.9600000381469727 +317.72444200515747,-3.2309999465942383,27.77000000000001,15.25,2.9600000381469727 +317.7643849849701,-3.250999927520752,27.77000000000001,15.25,2.9600000381469727 +317.76449489593506,-3.250999927520752,27.77000000000001,15.25,2.8919999599456787 +317.81934094429016,-3.250999927520752,27.77000000000001,15.25,2.8919999599456787 +317.8194320201874,-3.250999927520752,27.77000000000001,15.25,2.8919999599456787 +317.8593199253082,-3.2730000019073486,27.77000000000001,15.25,2.8919999599456787 +317.85940885543823,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +317.92632603645325,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +317.92640495300293,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +317.96629095077515,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +317.9663689136505,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +318.0212459564209,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +318.02132987976074,-3.2730000019073486,27.77000000000001,15.25,2.8259999752044678 +318.06125497817993,-3.2939999103546143,27.77000000000001,15.25,2.8259999752044678 +318.0613489151001,-3.2939999103546143,27.77000000000001,15.25,2.7669999599456787 +318.12630581855774,-3.2939999103546143,27.77000000000001,15.25,2.7669999599456787 +318.12644386291504,-3.2939999103546143,27.77000000000001,15.25,2.7669999599456787 +318.157488822937,-3.312999963760376,27.77000000000001,15.25,2.7669999599456787 +318.1575679779053,-3.312999963760376,27.77000000000001,15.25,2.7170000076293945 +318.2211809158325,-3.312999963760376,27.77000000000001,15.25,2.7170000076293945 +318.22126293182373,-3.312999963760376,27.77000000000001,15.25,2.7170000076293945 +318.2611620426178,-3.322999954223633,27.77000000000001,15.25,2.7170000076293945 +318.2612428665161,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.32617592811584,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.3262538909912,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.36615800857544,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.3662269115448,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.40015983581543,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.4002330303192,-3.322999954223633,27.77000000000001,15.25,2.680999994277954 +318.4610929489136,-3.3269999027252197,27.77000000000001,15.25,2.680999994277954 +318.4611699581146,-3.3269999027252197,27.77000000000001,15.25,2.6589999198913574 +318.5261528491974,-3.3269999027252197,27.77000000000001,15.25,2.6589999198913574 +318.5262370109558,-3.3269999027252197,27.77000000000001,15.25,2.6589999198913574 +318.5574769973755,-3.328000068664551,27.77000000000001,15.25,2.6589999198913574 +318.5575850009918,-3.328000068664551,27.77000000000001,15.25,2.6440000534057617 +318.62204599380493,-3.328000068664551,27.77000000000001,15.25,2.6440000534057617 +318.6221239566803,-3.328000068664551,27.77000000000001,15.25,2.6440000534057617 +318.6621298789978,-3.3299999237060547,27.77000000000001,15.25,2.6440000534057617 +318.6622748374939,-3.3299999237060547,27.77000000000001,15.25,2.63700008392334 +318.70497488975525,-3.3299999237060547,27.77000000000001,14.05,2.63700008392334 +318.70504093170166,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.71728682518005,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.71736788749695,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.7573878765106,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.7574939727783,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.822988986969,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.82307291030884,-3.3299999237060547,28.909999999999997,14.05,2.63700008392334 +318.8639919757843,-3.3310000896453857,28.909999999999997,14.05,2.63700008392334 +318.8640878200531,-3.3310000896453857,28.909999999999997,14.05,2.6429998874664307 +318.91904497146606,-3.3310000896453857,28.909999999999997,14.05,2.6429998874664307 +318.9191119670868,-3.3310000896453857,28.909999999999997,14.05,2.6429998874664307 +318.95913100242615,-3.3299999237060547,28.909999999999997,14.05,2.6429998874664307 +318.95923686027527,-3.3299999237060547,28.909999999999997,14.05,2.6549999713897705 +319.02199482917786,-3.3299999237060547,28.909999999999997,14.05,2.6549999713897705 +319.02206683158875,-3.3299999237060547,28.909999999999997,14.05,2.6549999713897705 +319.0589759349823,-3.3289999961853027,28.909999999999997,14.05,2.6549999713897705 +319.05906987190247,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.11899185180664,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.1190679073334,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.1589729785919,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.15905499458313,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.2028248310089,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.20289492607117,-3.3289999961853027,28.909999999999997,14.05,2.6679999828338623 +319.26487588882446,-3.325000047683716,28.909999999999997,14.05,2.6679999828338623 +319.2649929523468,-3.325000047683716,28.909999999999997,14.05,2.684999942779541 +319.3189308643341,-3.325000047683716,28.909999999999997,14.05,2.684999942779541 +319.3190038204193,-3.325000047683716,28.909999999999997,14.05,2.684999942779541 +319.36086893081665,-3.3259999752044678,28.909999999999997,14.05,2.684999942779541 +319.36094999313354,-3.3259999752044678,28.909999999999997,14.05,2.697000026702881 +319.4247510433197,-3.3259999752044678,28.909999999999997,14.05,2.697000026702881 +319.42483282089233,-3.3259999752044678,28.909999999999997,14.05,2.697000026702881 +319.4647419452667,-3.3269999027252197,28.909999999999997,14.05,2.697000026702881 +319.4648199081421,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.5209150314331,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.5209970474243,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.56080985069275,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.5608928203583,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.6267340183258,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.62681889533997,-3.3269999027252197,28.909999999999997,14.05,2.7049999237060547 +319.6667859554291,-3.3259999752044678,28.909999999999997,14.05,2.7049999237060547 +319.66688203811646,-3.3259999752044678,28.909999999999997,14.05,2.7149999141693115 +319.7046239376068,-3.3259999752044678,28.909999999999997,14.05,2.7149999141693115 +319.704687833786,-3.3259999752044678,28.909999999999997,14.05,2.7149999141693115 +319.721647977829,-3.3259999752044678,28.909999999999997,14.05,2.7149999141693115 +319.72171902656555,-3.3259999752044678,28.909999999999997,14.05,2.7149999141693115 +319.76164197921753,-3.321000099182129,28.909999999999997,14.05,2.7149999141693115 +319.76172399520874,-3.321000099182129,28.909999999999997,14.05,2.7190001010894775 +319.828773021698,-3.321000099182129,28.909999999999997,14.05,2.7190001010894775 +319.82886385917664,-3.321000099182129,28.909999999999997,14.05,2.7190001010894775 +319.86871004104614,-3.315999984741211,28.909999999999997,14.05,2.7190001010894775 +319.8687918186188,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +319.92256784439087,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +319.92264199256897,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +319.96262884140015,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +319.9627718925476,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +320.02866888046265,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +320.0287640094757,-3.315999984741211,28.909999999999997,14.05,2.7170000076293945 +320.0675308704376,-3.309999942779541,28.909999999999997,14.05,2.7170000076293945 +320.0676038265228,-3.309999942779541,28.909999999999997,14.05,2.7130000591278076 +320.122505903244,-3.309999942779541,28.909999999999997,14.05,2.7130000591278076 +320.12258887290955,-3.309999942779541,28.909999999999997,14.05,2.7130000591278076 +320.16248297691345,-3.305999994277954,28.909999999999997,14.05,2.7130000591278076 +320.1625499725342,-3.305999994277954,28.909999999999997,14.05,2.7090001106262207 +320.21868205070496,-3.305999994277954,28.909999999999997,14.05,2.7090001106262207 +320.21881794929504,-3.305999994277954,28.909999999999997,14.05,2.7090001106262207 +320.26948285102844,-3.309000015258789,28.909999999999997,14.05,2.7090001106262207 +320.26956582069397,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.32347893714905,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.32358598709106,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.36342787742615,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.3635079860687,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.4175100326538,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.4175889492035,-3.309000015258789,28.909999999999997,14.05,2.7070000171661377 +320.4693968296051,-3.312999963760376,28.909999999999997,14.05,2.7070000171661377 +320.4694769382477,-3.312999963760376,28.909999999999997,14.05,2.7060000896453857 +320.52234983444214,-3.312999963760376,28.909999999999997,14.05,2.7060000896453857 +320.5224208831787,-3.312999963760376,28.909999999999997,14.05,2.7060000896453857 +320.56236004829407,-3.315999984741211,28.909999999999997,14.05,2.7060000896453857 +320.56246995925903,-3.315999984741211,28.909999999999997,14.05,2.7070000171661377 +320.6293430328369,-3.315999984741211,28.909999999999997,14.05,2.7070000171661377 +320.6294369697571,-3.315999984741211,28.909999999999997,14.05,2.7070000171661377 +320.668408870697,-3.316999912261963,28.909999999999997,14.05,2.7070000171661377 +320.66848492622375,-3.316999912261963,28.909999999999997,14.05,2.7079999446868896 +320.7042899131775,-3.316999912261963,28.909999999999997,14.09,2.7079999446868896 +320.70436096191406,-3.316999912261963,28.789999999999992,14.09,2.7079999446868896 +320.7233028411865,-3.316999912261963,28.789999999999992,14.09,2.7079999446868896 +320.72338485717773,-3.316999912261963,28.789999999999992,14.09,2.7079999446868896 +320.7632808685303,-3.319000005722046,28.789999999999992,14.09,2.7079999446868896 +320.76336693763733,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.83126401901245,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.8313539028168,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.8714258670807,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.87154603004456,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.92325091362,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.9233510494232,-3.319000005722046,28.789999999999992,14.09,2.7090001106262207 +320.96321392059326,-3.319999933242798,28.789999999999992,14.09,2.7090001106262207 +320.96329283714294,-3.319999933242798,28.789999999999992,14.09,2.7090001106262207 +321.0291979312897,-3.319999933242798,28.789999999999992,14.09,2.7090001106262207 +321.02928590774536,-3.319999933242798,28.789999999999992,14.09,2.7090001106262207 +321.06919288635254,-3.322000026702881,28.789999999999992,14.09,2.7090001106262207 +321.0692729949951,-3.322000026702881,28.789999999999992,14.09,2.7079999446868896 +321.1231679916382,-3.322000026702881,28.789999999999992,14.09,2.7079999446868896 +321.1232559680939,-3.322000026702881,28.789999999999992,14.09,2.7079999446868896 +321.1632390022278,-3.325000047683716,28.789999999999992,14.09,2.7079999446868896 +321.1633770465851,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.2291660308838,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.22926783561707,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.268278837204,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.2683539390564,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.3230969905853,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.3231768608093,-3.325000047683716,28.789999999999992,14.09,2.7049999237060547 +321.363077878952,-3.321000099182129,28.789999999999992,14.09,2.7049999237060547 +321.3631589412689,-3.321000099182129,28.789999999999992,14.09,2.7079999446868896 +321.417279958725,-3.321000099182129,28.789999999999992,14.09,2.7079999446868896 +321.417457818985,-3.321000099182129,28.789999999999992,14.09,2.7079999446868896 +321.4691050052643,-3.315999984741211,28.789999999999992,14.09,2.7079999446868896 +321.4692358970642,-3.315999984741211,28.789999999999992,14.09,2.7090001106262207 +321.52405881881714,-3.315999984741211,28.789999999999992,14.09,2.7090001106262207 +321.52419686317444,-3.315999984741211,28.789999999999992,14.09,2.7090001106262207 +321.56399297714233,-3.311000108718872,28.789999999999992,14.09,2.7090001106262207 +321.5640678405762,-3.311000108718872,28.789999999999992,14.09,2.7130000591278076 +321.6170918941498,-3.311000108718872,28.789999999999992,14.09,2.7130000591278076 +321.6171729564667,-3.311000108718872,28.789999999999992,14.09,2.7130000591278076 +321.66897797584534,-3.311000108718872,28.789999999999992,14.09,2.7130000591278076 +321.669056892395,-3.311000108718872,28.789999999999992,14.09,2.7130000591278076 +321.7060339450836,-3.311000108718872,28.789999999999992,14.04,2.7130000591278076 +321.7061069011688,-3.311000108718872,28.819999999999993,14.04,2.7130000591278076 +321.72503185272217,-3.311000108718872,28.819999999999993,14.04,2.7130000591278076 +321.72516083717346,-3.311000108718872,28.819999999999993,14.04,2.7130000591278076 +321.76500487327576,-3.305999994277954,28.819999999999993,14.04,2.7130000591278076 +321.76510787010193,-3.305999994277954,28.819999999999993,14.04,2.7200000286102295 +321.8309679031372,-3.305999994277954,28.819999999999993,14.04,2.7200000286102295 +321.83109283447266,-3.305999994277954,28.819999999999993,14.04,2.7200000286102295 +321.87089705467224,-3.305000066757202,28.819999999999993,14.04,2.7200000286102295 +321.8709750175476,-3.305000066757202,28.819999999999993,14.04,2.7200000286102295 +321.9163889884949,-3.305000066757202,28.819999999999993,14.04,2.7200000286102295 +321.9166328907013,-3.305000066757202,28.819999999999993,14.04,2.7200000286102295 +321.95612502098083,-3.305999994277954,28.819999999999993,14.04,2.7200000286102295 +321.9562020301819,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.0200140476227,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.0201590061188,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.07183384895325,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.0719299316406,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.117938041687,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.11802983283997,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.1600658893585,-3.305999994277954,28.819999999999993,14.04,2.7219998836517334 +322.1601278781891,-3.305999994277954,28.819999999999993,14.04,2.7239999771118164 +322.2218608856201,-3.305999994277954,28.819999999999993,14.04,2.7239999771118164 +322.22193694114685,-3.305999994277954,28.819999999999993,14.04,2.7239999771118164 +322.2727358341217,-3.308000087738037,28.819999999999993,14.04,2.7239999771118164 +322.27281188964844,-3.308000087738037,28.819999999999993,14.04,2.7260000705718994 +322.3177959918976,-3.308000087738037,28.819999999999993,14.04,2.7260000705718994 +322.3178780078888,-3.308000087738037,28.819999999999993,14.04,2.7260000705718994 +322.35775089263916,-3.309000015258789,28.819999999999993,14.04,2.7260000705718994 +322.357843875885,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.4337019920349,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.43379187583923,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.47369599342346,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.47378301620483,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.51770782470703,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.5177869796753,-3.309000015258789,28.819999999999993,14.04,2.7269999980926514 +322.557657957077,-3.308000087738037,28.819999999999993,14.04,2.7269999980926514 +322.5577359199524,-3.308000087738037,28.819999999999993,14.04,2.7290000915527344 +322.6217088699341,-3.308000087738037,28.819999999999993,14.04,2.7290000915527344 +322.62183690071106,-3.308000087738037,28.819999999999993,14.04,2.7290000915527344 +322.6736099720001,-3.308000087738037,28.819999999999993,14.04,2.7290000915527344 +322.673691034317,-3.308000087738037,28.819999999999993,14.04,2.7290000915527344 +322.7099859714508,-3.308000087738037,28.819999999999993,14.21,2.7290000915527344 +322.71006083488464,-3.308000087738037,28.00999999999999,14.21,2.7290000915527344 +322.7185969352722,-3.308000087738037,28.00999999999999,14.21,2.7290000915527344 +322.71868896484375,-3.308000087738037,28.00999999999999,14.21,2.7290000915527344 +322.75857496261597,-3.308000087738037,28.00999999999999,14.21,2.7290000915527344 +322.7586488723755,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.8158209323883,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.8158960342407,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.85757398605347,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.8576579093933,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.89766788482666,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.8978078365326,-3.308000087738037,28.00999999999999,14.21,2.7279999256134033 +322.9585049152374,-3.312999963760376,28.00999999999999,14.21,2.7279999256134033 +322.9585828781128,-3.312999963760376,28.00999999999999,14.21,2.7330000400543213 +323.0225598812103,-3.312999963760376,28.00999999999999,14.21,2.7330000400543213 +323.0226409435272,-3.312999963760376,28.00999999999999,14.21,2.7330000400543213 +323.07449889183044,-3.319000005722046,28.00999999999999,14.21,2.7330000400543213 +323.07458782196045,-3.319000005722046,28.00999999999999,14.21,2.73799991607666 +323.118448972702,-3.319000005722046,28.00999999999999,14.21,2.73799991607666 +323.1185200214386,-3.319000005722046,28.00999999999999,14.21,2.73799991607666 +323.15847086906433,-3.3239998817443848,28.00999999999999,14.21,2.73799991607666 +323.1585910320282,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.2344288825989,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.2345190048218,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.2564480304718,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.2565679550171,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.3198149204254,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.31988501548767,-3.3239998817443848,28.00999999999999,14.21,2.740999937057495 +323.3595349788666,-3.3299999237060547,28.00999999999999,14.21,2.740999937057495 +323.3596520423889,-3.3299999237060547,28.00999999999999,14.21,2.746000051498413 +323.42359805107117,-3.3299999237060547,28.00999999999999,14.21,2.746000051498413 +323.4238760471344,-3.3299999237060547,28.00999999999999,14.21,2.746000051498413 +323.45560598373413,-3.3289999961853027,28.00999999999999,14.21,2.746000051498413 +323.45567893981934,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.5197558403015,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.5198349952698,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.5608329772949,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.5609378814697,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.62336802482605,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.62344193458557,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.65558791160583,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.6556658744812,-3.3289999961853027,28.00999999999999,14.21,2.749000072479248 +323.7042648792267,-3.3289999961853027,28.00999999999999,14.28,2.749000072479248 +323.70437502861023,-3.3289999961853027,27.97999999999999,14.28,2.749000072479248 +323.72124886512756,-3.3289999961853027,27.97999999999999,14.28,2.749000072479248 +323.7213339805603,-3.3289999961853027,27.97999999999999,14.28,2.749000072479248 +323.7612519264221,-3.3510000705718994,27.97999999999999,14.28,2.749000072479248 +323.7613458633423,-3.3510000705718994,27.97999999999999,14.28,2.703000068664551 +323.8242199420929,-3.3510000705718994,27.97999999999999,14.28,2.703000068664551 +323.82428789138794,-3.3510000705718994,27.97999999999999,14.28,2.703000068664551 +323.856183052063,-3.3499999046325684,27.97999999999999,14.28,2.703000068664551 +323.8562569618225,-3.3499999046325684,27.97999999999999,14.28,2.7049999237060547 +323.9222528934479,-3.3499999046325684,27.97999999999999,14.28,2.7049999237060547 +323.92231583595276,-3.3499999046325684,27.97999999999999,14.28,2.7049999237060547 +323.96216082572937,-3.3510000705718994,27.97999999999999,14.28,2.7049999237060547 +323.96226692199707,-3.3510000705718994,27.97999999999999,14.28,2.7049999237060547 +324.0153748989105,-3.3510000705718994,27.97999999999999,14.28,2.7049999237060547 +324.0154490470886,-3.3510000705718994,27.97999999999999,14.28,2.7049999237060547 +324.0571630001068,-3.3510000705718994,27.97999999999999,14.28,2.7049999237060547 +324.057245016098,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.1220989227295,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.12216782569885,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.16208505630493,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.16215991973877,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.2160630226135,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.2161328792572,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.2580449581146,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.25811791419983,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.32329297065735,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.3233850002289,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.36323285102844,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.36330795288086,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.41701102256775,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.4170799255371,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.4589738845825,-3.3510000705718994,27.97999999999999,14.28,2.7070000171661377 +324.45904183387756,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.5231499671936,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.5232288837433,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.56323289871216,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.5633339881897,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.61748790740967,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.61760783195496,-3.3510000705718994,27.97999999999999,14.28,2.7060000896453857 +324.6589069366455,-3.3499999046325684,27.97999999999999,14.28,2.7060000896453857 +324.65897488594055,-3.3499999046325684,27.97999999999999,14.28,2.7060000896453857 +324.71511793136597,-3.3499999046325684,27.97999999999999,14.05,2.7060000896453857 +324.715185880661,-3.3499999046325684,27.28,14.05,2.7060000896453857 +324.7230658531189,-3.3499999046325684,27.28,14.05,2.7060000896453857 +324.723140001297,-3.3499999046325684,27.28,14.05,2.7060000896453857 +324.76316499710083,-3.3469998836517334,27.28,14.05,2.7060000896453857 +324.76324582099915,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.7973928451538,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.79747796058655,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.8589940071106,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.85909390449524,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.8989028930664,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.8990340232849,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.9627900123596,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.96286487579346,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.99780201911926,-3.3469998836517334,27.28,14.05,2.7070000171661377 +324.9978840351105,-3.3469998836517334,27.28,14.05,2.7070000171661377 +325.05919790267944,-3.3410000801086426,27.28,14.05,2.7070000171661377 +325.05932998657227,-3.3410000801086426,27.28,14.05,2.7130000591278076 +325.0999958515167,-3.3410000801086426,27.28,14.05,2.7130000591278076 +325.1001298427582,-3.3410000801086426,27.28,14.05,2.7130000591278076 +325.15625,-3.3410000801086426,27.28,14.05,2.7130000591278076 +325.156329870224,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.21872091293335,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.21880984306335,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.2596969604492,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.25977301597595,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.29978704452515,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.29991602897644,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.35494804382324,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.3550498485565,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.3977539539337,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.3978600502014,-3.3410000801086426,27.28,14.05,2.7149999141693115 +325.45965695381165,-3.3570001125335693,27.28,14.05,2.7149999141693115 +325.4597508907318,-3.3570001125335693,27.28,14.05,2.744999885559082 +325.4996998310089,-3.3570001125335693,27.28,14.05,2.744999885559082 +325.4998199939728,-3.3570001125335693,27.28,14.05,2.744999885559082 +325.55565905570984,-3.378999948501587,27.28,14.05,2.744999885559082 +325.55585503578186,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.59966683387756,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.59978699684143,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.66056990623474,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.6606378555298,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.70162987709045,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.7017560005188,-3.378999948501587,27.28,14.05,2.7750000953674316 +325.70462584495544,-3.378999948501587,27.28,14.34,2.7750000953674316 +325.7047188282013,-3.378999948501587,27.44999999999999,14.34,2.7750000953674316 +325.75556087493896,-3.378999948501587,27.44999999999999,14.34,2.7750000953674316 +325.75565695762634,-3.378999948501587,27.44999999999999,14.34,2.7750000953674316 +325.7985038757324,-3.378999948501587,27.44999999999999,14.34,2.7750000953674316 +325.79857897758484,-3.378999948501587,27.44999999999999,14.34,2.7750000953674316 +325.8604779243469,-3.446000099182129,27.44999999999999,14.34,2.7750000953674316 +325.86054396629333,-3.446000099182129,27.44999999999999,14.34,2.8580000400543213 +325.91651582717896,-3.446000099182129,27.44999999999999,14.34,2.8580000400543213 +325.9166350364685,-3.446000099182129,27.44999999999999,14.34,2.8580000400543213 +325.9564788341522,-3.48799991607666,27.44999999999999,14.34,2.8580000400543213 +325.9565739631653,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.01945304870605,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.0195429325104,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.0614068508148,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.06147503852844,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.11544394493103,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.1155688762665,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.15540885925293,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.155503988266,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.21938586235046,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.21948504447937,-3.48799991607666,27.44999999999999,14.34,2.9070000648498535 +326.25834488868713,-3.5829999446868896,27.44999999999999,14.34,2.9070000648498535 +326.2584140300751,-3.5829999446868896,27.44999999999999,14.34,3.0269999504089355 +326.29934000968933,-3.5829999446868896,27.44999999999999,14.34,3.0269999504089355 +326.2994270324707,-3.5829999446868896,27.44999999999999,14.34,3.0269999504089355 +326.35733795166016,-3.634999990463257,27.44999999999999,14.34,3.0269999504089355 +326.3574318885803,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.41735005378723,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.41746282577515,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.4612560272217,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.4613218307495,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.5172779560089,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.5173718929291,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.55726194381714,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.55736684799194,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.62037897109985,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.6205530166626,-3.634999990463257,27.44999999999999,14.34,3.0910000801086426 +326.66218090057373,-3.7309999465942383,27.44999999999999,14.34,3.0910000801086426 +326.6622450351715,-3.7309999465942383,27.44999999999999,14.34,3.203000068664551 +326.7044198513031,-3.7309999465942383,27.44999999999999,15.17,3.203000068664551 +326.7044668197632,-3.7309999465942383,28.569999999999993,15.17,3.203000068664551 +326.7183699607849,-3.7309999465942383,28.569999999999993,15.17,3.203000068664551 +326.71849393844604,-3.7309999465942383,28.569999999999993,15.17,3.203000068664551 +326.7581820487976,-3.7730000019073486,28.569999999999993,15.17,3.203000068664551 +326.7582709789276,-3.7730000019073486,28.569999999999993,15.17,3.256999969482422 +326.8231689929962,-3.7730000019073486,28.569999999999993,15.17,3.256999969482422 +326.82326889038086,-3.7730000019073486,28.569999999999993,15.17,3.256999969482422 +326.85514402389526,-3.811000108718872,28.569999999999993,15.17,3.256999969482422 +326.8552210330963,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +326.9182298183441,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +326.9184000492096,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +326.9602060317993,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +326.9602689743042,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +327.0211238861084,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +327.0212149620056,-3.811000108718872,28.569999999999993,15.17,3.312999963760376 +327.0630419254303,-3.8469998836517334,28.569999999999993,15.17,3.312999963760376 +327.0631048679352,-3.8469998836517334,28.569999999999993,15.17,3.361999988555908 +327.1030378341675,-3.8469998836517334,28.569999999999993,15.17,3.361999988555908 +327.10310196876526,-3.8469998836517334,28.569999999999993,15.17,3.361999988555908 +327.1590209007263,-3.871999979019165,28.569999999999993,15.17,3.361999988555908 +327.1591098308563,-3.871999979019165,28.569999999999993,15.17,3.4000000953674316 +327.20102405548096,-3.871999979019165,28.569999999999993,15.17,3.4000000953674316 +327.20110297203064,-3.871999979019165,28.569999999999993,15.17,3.4000000953674316 +327.25601291656494,-3.88700008392334,28.569999999999993,15.17,3.4000000953674316 +327.2560930252075,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.3035080432892,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.3035979270935,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.35896396636963,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.3590488433838,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.4051580429077,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.40523886680603,-3.88700008392334,28.569999999999993,15.17,3.4200000762939453 +327.4570050239563,-3.890000104904175,28.569999999999993,15.17,3.4200000762939453 +327.45709705352783,-3.890000104904175,28.569999999999993,15.17,3.434999942779541 +327.4968910217285,-3.890000104904175,28.569999999999993,15.17,3.434999942779541 +327.49696588516235,-3.890000104904175,28.569999999999993,15.17,3.434999942779541 +327.55890583992004,-3.888000011444092,28.569999999999993,15.17,3.434999942779541 +327.5590088367462,-3.888000011444092,28.569999999999993,15.17,3.434999942779541 +327.60288095474243,-3.888000011444092,28.569999999999993,15.17,3.434999942779541 +327.60297203063965,-3.888000011444092,28.569999999999993,15.17,3.434999942779541 +327.6551978588104,-3.884999990463257,28.569999999999993,15.17,3.434999942779541 +327.65528893470764,-3.884999990463257,28.569999999999993,15.17,3.430999994277954 +327.7038269042969,-3.884999990463257,28.569999999999993,16.1,3.430999994277954 +327.70388102531433,-3.884999990463257,29.25,16.1,3.430999994277954 +327.71896982192993,-3.884999990463257,29.25,16.1,3.430999994277954 +327.71909403800964,-3.884999990463257,29.25,16.1,3.430999994277954 +327.75883197784424,-3.878000020980835,29.25,16.1,3.430999994277954 +327.75892996788025,-3.878000020980835,29.25,16.1,3.421999931335449 +327.8228199481964,-3.878000020980835,29.25,16.1,3.421999931335449 +327.8229110240936,-3.878000020980835,29.25,16.1,3.421999931335449 +327.8540768623352,-3.878000020980835,29.25,16.1,3.421999931335449 +327.8541729450226,-3.878000020980835,29.25,16.1,3.421999931335449 +327.91890692710876,-3.878000020980835,29.25,16.1,3.421999931335449 +327.9190368652344,-3.878000020980835,29.25,16.1,3.421999931335449 +327.95890498161316,-3.871000051498413,29.25,16.1,3.421999931335449 +327.95912194252014,-3.871000051498413,29.25,16.1,3.4079999923706055 +328.0027458667755,-3.871000051498413,29.25,16.1,3.4079999923706055 +328.0028338432312,-3.871000051498413,29.25,16.1,3.4079999923706055 +328.05514693260193,-3.8610000610351562,29.25,16.1,3.4079999923706055 +328.05526399612427,-3.8610000610351562,29.25,16.1,3.3949999809265137 +328.0949230194092,-3.8610000610351562,29.25,16.1,3.3949999809265137 +328.09499502182007,-3.8610000610351562,29.25,16.1,3.3949999809265137 +328.15871596336365,-3.8499999046325684,29.25,16.1,3.3949999809265137 +328.1588659286499,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.2226839065552,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.22278594970703,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.25487995147705,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.2549500465393,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.3216450214386,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.32175183296204,-3.8499999046325684,29.25,16.1,3.385999917984009 +328.36186385154724,-3.8399999141693115,29.25,16.1,3.385999917984009 +328.3619530200958,-3.8399999141693115,29.25,16.1,3.380000114440918 +328.402596950531,-3.8399999141693115,29.25,16.1,3.380000114440918 +328.40266394615173,-3.8399999141693115,29.25,16.1,3.380000114440918 +328.45481300354004,-3.8389999866485596,29.25,16.1,3.380000114440918 +328.45488595962524,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.4937219619751,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.4937858581543,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.56073689460754,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.5608229637146,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.60151195526123,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.60158491134644,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.66351985931396,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.66359996795654,-3.8389999866485596,29.25,16.1,3.377000093460083 +328.7034578323364,-3.8389999866485596,29.25,16.02,3.377000093460083 +328.70352697372437,-3.8389999866485596,29.24000000000001,16.02,3.377000093460083 +328.70360589027405,-3.8389999866485596,29.24000000000001,16.02,3.377000093460083 +328.70366883277893,-3.8389999866485596,29.24000000000001,16.02,3.377000093460083 +328.76058197021484,-3.8369998931884766,29.24000000000001,16.02,3.377000093460083 +328.7606430053711,-3.8369998931884766,29.24000000000001,16.02,3.378000020980835 +328.8014678955078,-3.8369998931884766,29.24000000000001,16.02,3.378000020980835 +328.80155897140503,-3.8369998931884766,29.24000000000001,16.02,3.378000020980835 +328.8555929660797,-3.8429999351501465,29.24000000000001,16.02,3.378000020980835 +328.8556890487671,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +328.894642829895,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +328.8947138786316,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +328.9594008922577,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +328.9594979286194,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.00339102745056,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.00346994400024,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.05557084083557,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.0556478500366,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.0956189632416,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.0957188606262,-3.8429999351501465,29.24000000000001,16.02,3.38100004196167 +329.1604268550873,-3.8519999980926514,29.24000000000001,16.02,3.38100004196167 +329.16056394577026,-3.8519999980926514,29.24000000000001,16.02,3.38700008392334 +329.2234489917755,-3.8519999980926514,29.24000000000001,16.02,3.38700008392334 +329.22359895706177,-3.8519999980926514,29.24000000000001,16.02,3.38700008392334 +329.25633096694946,-3.8570001125335693,29.24000000000001,16.02,3.38700008392334 +329.2564129829407,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.3203308582306,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.32044887542725,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.3602738380432,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.36036491394043,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.40327882766724,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.403373003006,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.44540095329285,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.44548296928406,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.49541902542114,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.49549984931946,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.5413408279419,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.54141998291016,-3.8570001125335693,29.24000000000001,16.02,3.390000104904175 +329.5616898536682,-3.8580000400543213,29.24000000000001,16.02,3.390000104904175 +329.5617849826813,-3.8580000400543213,29.24000000000001,16.02,3.3929998874664307 +329.6011769771576,-3.8580000400543213,29.24000000000001,16.02,3.3929998874664307 +329.60126399993896,-3.8580000400543213,29.24000000000001,16.02,3.3929998874664307 +329.6551649570465,-3.8580000400543213,29.24000000000001,16.02,3.3929998874664307 +329.65525698661804,-3.8580000400543213,29.24000000000001,16.02,3.3929998874664307 +329.70313692092896,-3.8580000400543213,29.24000000000001,15.63,3.3929998874664307 +329.70320296287537,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.72018599510193,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.7203059196472,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.7601070404053,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.76020097732544,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.80313086509705,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.8032138347626,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.85432291030884,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.85439801216125,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.89437890052795,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.8944728374481,-3.8580000400543213,29.340000000000003,15.63,3.3929998874664307 +329.9600429534912,-3.8589999675750732,29.340000000000003,15.63,3.3929998874664307 +329.9601368904114,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.014240026474,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.0143129825592,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.05622696876526,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.0563168525696,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.120041847229,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.12018489837646,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.15997099876404,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.16006088256836,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.2142038345337,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.2142789363861,-3.8589999675750732,29.340000000000003,15.63,3.3940000534057617 +330.25611782073975,-3.8570001125335693,29.340000000000003,15.63,3.3940000534057617 +330.2562038898468,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.3200399875641,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.32017397880554,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.35991191864014,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.36000394821167,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.4229528903961,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.4230489730835,-3.8570001125335693,29.340000000000003,15.63,3.372999906539917 +330.4548578262329,-3.8529999256134033,29.340000000000003,15.63,3.372999906539917 +330.4549288749695,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.4948740005493,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.4949460029602,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.55986189842224,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.55999398231506,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.602814912796,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.60289001464844,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.6547839641571,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.654855966568,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.69485092163086,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.6949348449707,-3.8529999256134033,29.340000000000003,15.63,3.3459999561309814 +330.704372882843,-3.8529999256134033,29.340000000000003,15.72,3.3459999561309814 +330.70444083213806,-3.8529999256134033,29.340000000000003,15.72,3.3459999561309814 +330.7597689628601,-3.8369998931884766,29.340000000000003,15.72,3.3459999561309814 +330.75985884666443,-3.8369998931884766,29.340000000000003,15.72,3.265000104904175 +330.802757024765,-3.8369998931884766,29.340000000000003,15.72,3.265000104904175 +330.8028349876404,-3.8369998931884766,29.340000000000003,15.72,3.265000104904175 +330.85471987724304,-3.819999933242798,29.340000000000003,15.72,3.265000104904175 +330.85479402542114,-3.819999933242798,29.340000000000003,15.72,3.2090001106262207 +330.89479088783264,-3.819999933242798,29.340000000000003,15.72,3.2090001106262207 +330.89486503601074,-3.819999933242798,29.340000000000003,15.72,3.2090001106262207 +330.95968294143677,-3.799999952316284,29.340000000000003,15.72,3.2090001106262207 +330.959774017334,-3.799999952316284,29.340000000000003,15.72,3.1419999599456787 +331.00376987457275,-3.799999952316284,29.340000000000003,15.72,3.1419999599456787 +331.0038568973541,-3.799999952316284,29.340000000000003,15.72,3.1419999599456787 +331.0459158420563,-3.799999952316284,29.340000000000003,15.72,3.1419999599456787 +331.0460078716278,-3.799999952316284,29.340000000000003,15.72,3.1419999599456787 +331.05580592155457,-3.7809998989105225,29.340000000000003,15.72,3.1419999599456787 +331.05587697029114,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.1209568977356,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.12123799324036,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.1606240272522,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.16071581840515,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.2138328552246,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.2139039039612,-3.7809998989105225,29.340000000000003,15.72,3.065999984741211 +331.25571489334106,-3.760999917984009,29.340000000000003,15.72,3.065999984741211 +331.255784034729,-3.760999917984009,29.340000000000003,15.72,2.9820001125335693 +331.2957179546356,-3.760999917984009,29.340000000000003,15.72,2.9820001125335693 +331.29579186439514,-3.760999917984009,29.340000000000003,15.72,2.9820001125335693 +331.3615708351135,-3.742000102996826,29.340000000000003,15.72,2.9820001125335693 +331.3616759777069,-3.742000102996826,29.340000000000003,15.72,2.9030001163482666 +331.4045820236206,-3.742000102996826,29.340000000000003,15.72,2.9030001163482666 +331.404669046402,-3.742000102996826,29.340000000000003,15.72,2.9030001163482666 +331.4556739330292,-3.7249999046325684,29.340000000000003,15.72,2.9030001163482666 +331.4557509422302,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.49561882019043,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.49568796157837,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.5605139732361,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.5606439113617,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.60356092453003,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.6036479473114,-3.7249999046325684,29.340000000000003,15.72,2.8329999446868896 +331.65559101104736,-3.7049999237060547,29.340000000000003,15.72,2.8329999446868896 +331.65566396713257,-3.7049999237060547,29.340000000000003,15.72,2.7660000324249268 +331.69564604759216,-3.7049999237060547,29.340000000000003,15.72,2.7660000324249268 +331.69573283195496,-3.7049999237060547,29.340000000000003,15.72,2.7660000324249268 +331.70348501205444,-3.7049999237060547,29.340000000000003,14.73,2.7660000324249268 +331.7035448551178,-3.7049999237060547,29.139999999999986,14.73,2.7660000324249268 +331.7626938819885,-3.680999994277954,29.139999999999986,14.73,2.7660000324249268 +331.7627718448639,-3.680999994277954,29.139999999999986,14.73,2.7039999961853027 +331.80352783203125,-3.680999994277954,29.139999999999986,14.73,2.7039999961853027 +331.8036079406738,-3.680999994277954,29.139999999999986,14.73,2.7039999961853027 +331.8555238246918,-3.6630001068115234,29.139999999999986,14.73,2.7039999961853027 +331.8555979728699,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +331.89549803733826,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +331.89556789398193,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +331.9614188671112,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +331.9615390300751,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +332.0043318271637,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +332.00441002845764,-3.6630001068115234,29.139999999999986,14.73,2.6449999809265137 +332.0563099384308,-3.6470000743865967,29.139999999999986,14.73,2.6449999809265137 +332.0563910007477,-3.6470000743865967,29.139999999999986,14.73,2.5969998836517334 +332.0972640514374,-3.6470000743865967,29.139999999999986,14.73,2.5969998836517334 +332.09733605384827,-3.6470000743865967,29.139999999999986,14.73,2.5969998836517334 +332.1622989177704,-3.6389999389648438,29.139999999999986,14.73,2.5969998836517334 +332.16240191459656,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.2063510417938,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.2064368724823,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.25725388526917,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.2573518753052,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.29719495773315,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.2972638607025,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.36222887039185,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.362331867218,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.4062559604645,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.4063358306885,-3.6389999389648438,29.139999999999986,14.73,2.565000057220459 +332.45715403556824,-3.628999948501587,29.139999999999986,14.73,2.565000057220459 +332.45722699165344,-3.628999948501587,29.139999999999986,14.73,2.5399999618530273 +332.49815797805786,-3.628999948501587,29.139999999999986,14.73,2.5399999618530273 +332.4982440471649,-3.628999948501587,29.139999999999986,14.73,2.5399999618530273 +332.56224298477173,-3.627000093460083,29.139999999999986,14.73,2.5399999618530273 +332.56240487098694,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.60520005226135,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.6052780151367,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.6571960449219,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.657301902771,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.69712591171265,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.6972188949585,-3.627000093460083,29.139999999999986,14.73,2.5429999828338623 +332.70302987098694,-3.627000093460083,29.139999999999986,13.95,2.5429999828338623 +332.7030818462372,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.74416184425354,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.744295835495,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.8100278377533,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.8101258277893,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.84011483192444,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.84026885032654,-3.627000093460083,29.629999999999995,13.95,2.5429999828338623 +332.8631799221039,-3.640000104904175,29.629999999999995,13.95,2.5429999828338623 +332.8633098602295,-3.640000104904175,29.629999999999995,13.95,2.569999933242798 +332.9020140171051,-3.640000104904175,29.629999999999995,13.95,2.569999933242798 +332.9020869731903,-3.640000104904175,29.629999999999995,13.95,2.569999933242798 +332.9631290435791,-3.6489999294281006,29.629999999999995,13.95,2.569999933242798 +332.9632430076599,-3.6489999294281006,29.629999999999995,13.95,2.5920000076293945 +333.006089925766,-3.6489999294281006,29.629999999999995,13.95,2.5920000076293945 +333.006178855896,-3.6489999294281006,29.629999999999995,13.95,2.5920000076293945 +333.0589859485626,-3.6530001163482666,29.629999999999995,13.95,2.5920000076293945 +333.0591118335724,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.0979518890381,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.0980348587036,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.16317105293274,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.1632969379425,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.206866979599,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.2069480419159,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.25787591934204,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.25794982910156,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.32317996025085,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.32330083847046,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.36293482780457,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.3630299568176,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.407026052475,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.4071340560913,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.4588198661804,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.45889496803284,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.49878191947937,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.49884486198425,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.56382298469543,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.56393098831177,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.607745885849,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.6078259944916,-3.6530001163482666,29.629999999999995,13.95,2.628999948501587 +333.65972685813904,-3.678999900817871,29.629999999999995,13.95,2.628999948501587 +333.659795999527,-3.678999900817871,29.629999999999995,13.95,2.6010000705718994 +333.698725938797,-3.678999900817871,29.629999999999995,13.95,2.6010000705718994 +333.6988220214844,-3.678999900817871,29.629999999999995,13.95,2.6010000705718994 +333.70369601249695,-3.678999900817871,29.629999999999995,13.91,2.6010000705718994 +333.7037489414215,-3.678999900817871,29.599999999999994,13.91,2.6010000705718994 +333.75503396987915,-3.678999900817871,29.599999999999994,13.91,2.6010000705718994 +333.75512504577637,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.79497504234314,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.79505586624146,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.8586540222168,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.8587210178375,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.89865589141846,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.89872789382935,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.9349699020386,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.9350678920746,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.995050907135,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +333.9951448440552,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +334.0506110191345,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +334.05070185661316,-3.678999900817871,29.599999999999994,13.91,2.5999999046325684 +334.0605869293213,-3.677999973297119,29.599999999999994,13.91,2.5999999046325684 +334.06065702438354,-3.677999973297119,29.599999999999994,13.91,2.5980000495910645 +334.0995888710022,-3.677999973297119,29.599999999999994,13.91,2.5980000495910645 +334.09966683387756,-3.677999973297119,29.599999999999994,13.91,2.5980000495910645 +334.15485286712646,-3.6760001182556152,29.599999999999994,13.91,2.5980000495910645 +334.15492582321167,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.19484782218933,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.1949348449707,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.25951385498047,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.2595899105072,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.29951190948486,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.2995889186859,-3.6760001182556152,29.599999999999994,13.91,2.5969998836517334 +334.3556139469147,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.35569286346436,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.39564204216003,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.3957579135895,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.46044087409973,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.4605119228363,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.5004448890686,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.50052285194397,-3.674999952316284,29.599999999999994,13.91,2.5969998836517334 +334.55552792549133,-3.6740000247955322,29.599999999999994,13.91,2.5969998836517334 +334.555606842041,-3.6740000247955322,29.599999999999994,13.91,2.5959999561309814 +334.5955548286438,-3.6740000247955322,29.599999999999994,13.91,2.5959999561309814 +334.5957329273224,-3.6740000247955322,29.599999999999994,13.91,2.5959999561309814 +334.66037797927856,-3.671999931335449,29.599999999999994,13.91,2.5959999561309814 +334.66044998168945,-3.671999931335449,29.599999999999994,13.91,2.5950000286102295 +334.7004108428955,-3.671999931335449,29.599999999999994,13.91,2.5950000286102295 +334.7005228996277,-3.671999931335449,29.599999999999994,13.91,2.5950000286102295 +334.70349884033203,-3.671999931335449,29.599999999999994,13.96,2.5950000286102295 +334.7035799026489,-3.671999931335449,29.599999999999994,13.96,2.5950000286102295 +334.75636196136475,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.7564399242401,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.79638504981995,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.7964868545532,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.86237502098083,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.8624529838562,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.9023220539093,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.9024329185486,-3.6679999828338623,29.599999999999994,13.96,2.5950000286102295 +334.95627188682556,-3.6649999618530273,29.599999999999994,13.96,2.5950000286102295 +334.9563479423523,-3.6649999618530273,29.599999999999994,13.96,2.5910000801086426 +334.99626994132996,-3.6649999618530273,29.599999999999994,13.96,2.5910000801086426 +334.9963459968567,-3.6649999618530273,29.599999999999994,13.96,2.5910000801086426 +335.06127285957336,-3.6579999923706055,29.599999999999994,13.96,2.5910000801086426 +335.06137204170227,-3.6579999923706055,29.599999999999994,13.96,2.5880000591278076 +335.1016249656677,-3.6579999923706055,29.599999999999994,13.96,2.5880000591278076 +335.10171604156494,-3.6579999923706055,29.599999999999994,13.96,2.5880000591278076 +335.15720295906067,-3.6540000438690186,29.599999999999994,13.96,2.5880000591278076 +335.157292842865,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.19718289375305,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.1972689628601,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.2621879577637,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.2623088359833,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.30330300331116,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.30338287353516,-3.6540000438690186,29.599999999999994,13.96,2.5899999141693115 +335.3571128845215,-3.6519999504089355,29.599999999999994,13.96,2.5899999141693115 +335.3572618961334,-3.6519999504089355,29.599999999999994,13.96,2.5920000076293945 +335.3971040248871,-3.6519999504089355,29.599999999999994,13.96,2.5920000076293945 +335.3971848487854,-3.6519999504089355,29.599999999999994,13.96,2.5920000076293945 +335.46316385269165,-3.6519999504089355,29.599999999999994,13.96,2.5920000076293945 +335.4632420539856,-3.6519999504089355,29.599999999999994,13.96,2.5969998836517334 +335.50323605537415,-3.6519999504089355,29.599999999999994,13.96,2.5969998836517334 +335.50330686569214,-3.6519999504089355,29.599999999999994,13.96,2.5969998836517334 +335.5378370285034,-3.6519999504089355,29.599999999999994,13.96,2.5969998836517334 +335.538204908371,-3.6519999504089355,29.599999999999994,13.96,2.5969998836517334 +335.55827593803406,-3.6589999198913574,29.599999999999994,13.96,2.5969998836517334 +335.5586178302765,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.5980520248413,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.5981650352478,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.66312885284424,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.66320991516113,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.70314502716064,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.70323491096497,-3.6589999198913574,29.599999999999994,13.96,2.6080000400543213 +335.70410895347595,-3.6589999198913574,29.599999999999994,14.06,2.6080000400543213 +335.70415902137756,-3.6589999198913574,29.52000000000001,14.06,2.6080000400543213 +335.75799202919006,-3.6760001182556152,29.52000000000001,14.06,2.6080000400543213 +335.75806188583374,-3.6760001182556152,29.52000000000001,14.06,2.628000020980835 +335.79796385765076,-3.6760001182556152,29.52000000000001,14.06,2.628000020980835 +335.7980468273163,-3.6760001182556152,29.52000000000001,14.06,2.628000020980835 +335.8542408943176,-3.700000047683716,29.52000000000001,14.06,2.628000020980835 +335.85432600975037,-3.700000047683716,29.52000000000001,14.06,2.6630001068115234 +335.8941948413849,-3.700000047683716,29.52000000000001,14.06,2.6630001068115234 +335.89427304267883,-3.700000047683716,29.52000000000001,14.06,2.6630001068115234 +335.9589910507202,-3.7300000190734863,29.52000000000001,14.06,2.6630001068115234 +335.95911693573,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +335.9989619255066,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +335.99903893470764,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +336.0638699531555,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +336.06394696235657,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +336.094025850296,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +336.09410095214844,-3.7300000190734863,29.52000000000001,14.06,2.7039999961853027 +336.1598608493805,-3.763000011444092,29.52000000000001,14.06,2.7039999961853027 +336.1599488258362,-3.763000011444092,29.52000000000001,14.06,2.753000020980835 +336.1998689174652,-3.763000011444092,29.52000000000001,14.06,2.753000020980835 +336.19996786117554,-3.763000011444092,29.52000000000001,14.06,2.753000020980835 +336.2558479309082,-3.8010001182556152,29.52000000000001,14.06,2.753000020980835 +336.25595688819885,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.2959249019623,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.296010017395,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.36079597473145,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.36088490486145,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.400771856308,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.40084981918335,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.45673084259033,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.45682191848755,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.4967348575592,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.49682688713074,-3.8010001182556152,29.52000000000001,14.06,2.808000087738037 +336.5617940425873,-3.8929998874664307,29.52000000000001,14.06,2.808000087738037 +336.5618999004364,-3.8929998874664307,29.52000000000001,14.06,2.930999994277954 +336.6016900539398,-3.8929998874664307,29.52000000000001,14.06,2.930999994277954 +336.60177302360535,-3.8929998874664307,29.52000000000001,14.06,2.930999994277954 +336.65669298171997,-3.941999912261963,29.52000000000001,14.06,2.930999994277954 +336.65678882598877,-3.941999912261963,29.52000000000001,14.06,2.994999885559082 +336.69667887687683,-3.941999912261963,29.52000000000001,14.06,2.994999885559082 +336.69677090644836,-3.941999912261963,29.52000000000001,14.06,2.994999885559082 +336.7049059867859,-3.941999912261963,29.52000000000001,14.71,2.994999885559082 +336.70496797561646,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.76163482666016,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.7617268562317,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.80160689353943,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.8016848564148,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.85760498046875,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.8576979637146,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.897588968277,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.89767503738403,-3.941999912261963,29.289999999999992,14.71,2.994999885559082 +336.96268582344055,-4.0269999504089355,29.289999999999992,14.71,2.994999885559082 +336.9627649784088,-4.0269999504089355,29.289999999999992,14.71,3.1089999675750732 +337.00260186195374,-4.0269999504089355,29.289999999999992,14.71,3.1089999675750732 +337.0027220249176,-4.0269999504089355,29.289999999999992,14.71,3.1089999675750732 +337.0575358867645,-4.066999912261963,29.289999999999992,14.71,3.1089999675750732 +337.0576388835907,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.0975170135498,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.09760999679565,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.16270685195923,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.1628339290619,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.2024669647217,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.2025320529938,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.25848484039307,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.25858998298645,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.29744601249695,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.29752802848816,-4.066999912261963,29.289999999999992,14.71,3.1649999618530273 +337.36269092559814,-4.13100004196167,29.289999999999992,14.71,3.1649999618530273 +337.3628029823303,-4.13100004196167,29.289999999999992,14.71,3.2669999599456787 +337.40257692337036,-4.13100004196167,29.289999999999992,14.71,3.2669999599456787 +337.40270590782166,-4.13100004196167,29.289999999999992,14.71,3.2669999599456787 +337.45847392082214,-4.151000022888184,29.289999999999992,14.71,3.2669999599456787 +337.45863604545593,-4.151000022888184,29.289999999999992,14.71,3.302999973297119 +337.4983789920807,-4.151000022888184,29.289999999999992,14.71,3.302999973297119 +337.49846386909485,-4.151000022888184,29.289999999999992,14.71,3.302999973297119 +337.55480003356934,-4.163000106811523,29.289999999999992,14.71,3.302999973297119 +337.5548748970032,-4.163000106811523,29.289999999999992,14.71,3.3259999752044678 +337.5944368839264,-4.163000106811523,29.289999999999992,14.71,3.3259999752044678 +337.59451484680176,-4.163000106811523,29.289999999999992,14.71,3.3259999752044678 +337.65941190719604,-4.164000034332275,29.289999999999992,14.71,3.3259999752044678 +337.65949988365173,-4.164000034332275,29.289999999999992,14.71,3.3399999141693115 +337.69942688941956,-4.164000034332275,29.289999999999992,14.71,3.3399999141693115 +337.69956493377686,-4.164000034332275,29.289999999999992,14.71,3.3399999141693115 +337.7044098377228,-4.164000034332275,29.289999999999992,15.64,3.3399999141693115 +337.7044858932495,-4.164000034332275,29.870000000000005,15.64,3.3399999141693115 +337.75462889671326,-4.164000034332275,29.870000000000005,15.64,3.3399999141693115 +337.754714012146,-4.164000034332275,29.870000000000005,15.64,3.3399999141693115 +337.79437589645386,-4.164000034332275,29.870000000000005,15.64,3.3399999141693115 +337.7944538593292,-4.164000034332275,29.870000000000005,15.64,3.3399999141693115 +337.8612320423126,-4.1620001792907715,29.870000000000005,15.64,3.3399999141693115 +337.861310005188,-4.1620001792907715,29.870000000000005,15.64,3.3469998836517334 +337.9012188911438,-4.1620001792907715,29.870000000000005,15.64,3.3469998836517334 +337.9012999534607,-4.1620001792907715,29.870000000000005,15.64,3.3469998836517334 +337.95341205596924,-4.1620001792907715,29.870000000000005,15.64,3.3469998836517334 +337.95347905158997,-4.1620001792907715,29.870000000000005,15.64,3.3429999351501465 +337.99434900283813,-4.1620001792907715,29.870000000000005,15.64,3.3429999351501465 +337.99443197250366,-4.1620001792907715,29.870000000000005,15.64,3.3429999351501465 +338.0591540336609,-4.164999961853027,29.870000000000005,15.64,3.3429999351501465 +338.0592279434204,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.0991630554199,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.09924697875977,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.1553819179535,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.155464887619,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.1953020095825,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.1953890323639,-4.164999961853027,29.870000000000005,15.64,3.3450000286102295 +338.26012897491455,-4.179999828338623,29.870000000000005,15.64,3.3450000286102295 +338.26021790504456,-4.179999828338623,29.870000000000005,15.64,3.359999895095825 +338.30011892318726,-4.179999828338623,29.870000000000005,15.64,3.359999895095825 +338.3002059459686,-4.179999828338623,29.870000000000005,15.64,3.359999895095825 +338.3562660217285,-4.201000213623047,29.870000000000005,15.64,3.359999895095825 +338.3563199043274,-4.201000213623047,29.870000000000005,15.64,3.3940000534057617 +338.3962218761444,-4.201000213623047,29.870000000000005,15.64,3.3940000534057617 +338.3963029384613,-4.201000213623047,29.870000000000005,15.64,3.3940000534057617 +338.46178698539734,-4.228000164031982,29.870000000000005,15.64,3.3940000534057617 +338.4619059562683,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.50103402137756,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.5011188983917,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.555223941803,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.55530405044556,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.59506392478943,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.5951428413391,-4.228000164031982,29.870000000000005,15.64,3.430999994277954 +338.6609408855438,-4.254000186920166,29.870000000000005,15.64,3.430999994277954 +338.66101694107056,-4.254000186920166,29.870000000000005,15.64,3.4570000171661377 +338.7009789943695,-4.254000186920166,29.870000000000005,15.64,3.4570000171661377 +338.7010979652405,-4.254000186920166,29.870000000000005,15.64,3.4570000171661377 +338.7060468196869,-4.254000186920166,29.870000000000005,16.01,3.4570000171661377 +338.70612502098083,-4.254000186920166,30.810000000000002,16.01,3.4570000171661377 +338.75691294670105,-4.275000095367432,30.810000000000002,16.01,3.4570000171661377 +338.7569890022278,-4.275000095367432,30.810000000000002,16.01,3.4760000705718994 +338.7971019744873,-4.275000095367432,30.810000000000002,16.01,3.4760000705718994 +338.79718685150146,-4.275000095367432,30.810000000000002,16.01,3.4760000705718994 +338.8629958629608,-4.284999847412109,30.810000000000002,16.01,3.4760000705718994 +338.8630850315094,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.90307998657227,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.90316796302795,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.95700693130493,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.95708084106445,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.9971089363098,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +338.99720883369446,-4.284999847412109,30.810000000000002,16.01,3.4800000190734863 +339.06285095214844,-4.289000034332275,30.810000000000002,16.01,3.4800000190734863 +339.06294202804565,-4.289000034332275,30.810000000000002,16.01,3.484999895095825 +339.10284900665283,-4.289000034332275,30.810000000000002,16.01,3.484999895095825 +339.10293102264404,-4.289000034332275,30.810000000000002,16.01,3.484999895095825 +339.15878987312317,-4.285999774932861,30.810000000000002,16.01,3.484999895095825 +339.15886998176575,-4.285999774932861,30.810000000000002,16.01,3.486999988555908 +339.19881200790405,-4.285999774932861,30.810000000000002,16.01,3.486999988555908 +339.19893503189087,-4.285999774932861,30.810000000000002,16.01,3.486999988555908 +339.241770029068,-4.285999774932861,30.810000000000002,16.01,3.486999988555908 +339.2418529987335,-4.285999774932861,30.810000000000002,16.01,3.486999988555908 +339.26378893852234,-4.2789998054504395,30.810000000000002,16.01,3.486999988555908 +339.2638690471649,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.30778193473816,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.3079149723053,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.35872888565063,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.35882687568665,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.39876198768616,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.39894104003906,-4.2789998054504395,30.810000000000002,16.01,3.4779999256134033 +339.46375799179077,-4.271999835968018,30.810000000000002,16.01,3.4779999256134033 +339.46384501457214,-4.271999835968018,30.810000000000002,16.01,3.4639999866485596 +339.50409984588623,-4.271999835968018,30.810000000000002,16.01,3.4639999866485596 +339.50420594215393,-4.271999835968018,30.810000000000002,16.01,3.4639999866485596 +339.5588159561157,-4.263999938964844,30.810000000000002,16.01,3.4639999866485596 +339.5589008331299,-4.263999938964844,30.810000000000002,16.01,3.453000068664551 +339.5986440181732,-4.263999938964844,30.810000000000002,16.01,3.453000068664551 +339.59874200820923,-4.263999938964844,30.810000000000002,16.01,3.453000068664551 +339.6328959465027,-4.263999938964844,30.810000000000002,16.01,3.453000068664551 +339.63298201560974,-4.263999938964844,30.810000000000002,16.01,3.453000068664551 +339.6655819416046,-4.25600004196167,30.810000000000002,16.01,3.453000068664551 +339.66567301750183,-4.25600004196167,30.810000000000002,16.01,3.447999954223633 +339.70463395118713,-4.25600004196167,30.810000000000002,16.01,3.447999954223633 +339.70476388931274,-4.25600004196167,30.810000000000002,16.01,3.447999954223633 +339.7056448459625,-4.25600004196167,30.810000000000002,15.91,3.447999954223633 +339.70572686195374,-4.25600004196167,31.150000000000006,15.91,3.447999954223633 +339.7595820426941,-4.25600004196167,31.150000000000006,15.91,3.447999954223633 +339.75965785980225,-4.25600004196167,31.150000000000006,15.91,3.447999954223633 +339.79957389831543,-4.25600004196167,31.150000000000006,15.91,3.447999954223633 +339.7996530532837,-4.25600004196167,31.150000000000006,15.91,3.447999954223633 +339.8637318611145,-4.250999927520752,31.150000000000006,15.91,3.447999954223633 +339.86381483078003,-4.250999927520752,31.150000000000006,15.91,3.450000047683716 +339.90389585494995,-4.250999927520752,31.150000000000006,15.91,3.450000047683716 +339.9040050506592,-4.250999927520752,31.150000000000006,15.91,3.450000047683716 +339.9595470428467,-4.25,31.150000000000006,15.91,3.450000047683716 +339.95964097976685,-4.25,31.150000000000006,15.91,3.4509999752044678 +339.9995028972626,-4.25,31.150000000000006,15.91,3.4509999752044678 +339.9995770454407,-4.25,31.150000000000006,15.91,3.4509999752044678 +340.05381894111633,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.05388593673706,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.0998728275299,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.0999879837036,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.1594479084015,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.1595268249512,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.1994569301605,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.19954895973206,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.265419960022,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.26552295684814,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.30535888671875,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.30543303489685,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.3603558540344,-4.249000072479248,31.150000000000006,15.91,3.453000068664551 +340.36043190956116,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.40135192871094,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.40142703056335,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.4545829296112,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.4546630382538,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.5064718723297,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.5065519809723,-4.249000072479248,31.150000000000006,15.91,3.4509999752044678 +340.5623228549957,-4.260000228881836,31.150000000000006,15.91,3.4509999752044678 +340.5624680519104,-4.260000228881836,31.150000000000006,15.91,3.438999891281128 +340.60225796699524,-4.260000228881836,31.150000000000006,15.91,3.438999891281128 +340.60233187675476,-4.260000228881836,31.150000000000006,15.91,3.438999891281128 +340.65542697906494,-4.260000228881836,31.150000000000006,15.91,3.438999891281128 +340.6555800437927,-4.260000228881836,31.150000000000006,15.91,3.438999891281128 +340.70520401000977,-4.260000228881836,31.150000000000006,15.9,3.438999891281128 +340.70527601242065,-4.260000228881836,31.169999999999987,15.9,3.438999891281128 +340.7072319984436,-4.260000228881836,31.169999999999987,15.9,3.438999891281128 +340.7073109149933,-4.260000228881836,31.169999999999987,15.9,3.438999891281128 +340.7623529434204,-4.263999938964844,31.169999999999987,15.9,3.438999891281128 +340.76244282722473,-4.263999938964844,31.169999999999987,15.9,3.434000015258789 +340.80225682258606,-4.263999938964844,31.169999999999987,15.9,3.434000015258789 +340.8023979663849,-4.263999938964844,31.169999999999987,15.9,3.434000015258789 +340.85639691352844,-4.26800012588501,31.169999999999987,15.9,3.434000015258789 +340.85655999183655,-4.26800012588501,31.169999999999987,15.9,3.428999900817871 +340.90820693969727,-4.26800012588501,31.169999999999987,15.9,3.428999900817871 +340.9083089828491,-4.26800012588501,31.169999999999987,15.9,3.428999900817871 +340.9621329307556,-4.265999794006348,31.169999999999987,15.9,3.428999900817871 +340.9622149467468,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.0021209716797,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.0021970272064,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.0681140422821,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.0682039260864,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.10808992385864,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.1081738471985,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.1534638404846,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.1535608768463,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.19331097602844,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.1933879852295,-4.265999794006348,31.169999999999987,15.9,3.431999921798706 +341.2560889720917,-4.264999866485596,31.169999999999987,15.9,3.431999921798706 +341.2561709880829,-4.264999866485596,31.169999999999987,15.9,3.430999994277954 +341.3080198764801,-4.264999866485596,31.169999999999987,15.9,3.430999994277954 +341.308100938797,-4.264999866485596,31.169999999999987,15.9,3.430999994277954 +341.36201095581055,-4.264999866485596,31.169999999999987,15.9,3.430999994277954 +341.36210203170776,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.40197587013245,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.40204095840454,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.4560878276825,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.4561848640442,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.50797605514526,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.5080668926239,-4.264999866485596,31.169999999999987,15.9,3.430000066757202 +341.5620548725128,-4.267000198364258,31.169999999999987,15.9,3.430000066757202 +341.56216192245483,-4.267000198364258,31.169999999999987,15.9,3.424999952316284 +341.6019070148468,-4.267000198364258,31.169999999999987,15.9,3.424999952316284 +341.6019768714905,-4.267000198364258,31.169999999999987,15.9,3.424999952316284 +341.656014919281,-4.267000198364258,31.169999999999987,15.9,3.424999952316284 +341.656112909317,-4.267000198364258,31.169999999999987,15.9,3.424999952316284 +341.7058448791504,-4.267000198364258,31.169999999999987,15.76,3.424999952316284 +341.70590901374817,-4.267000198364258,31.210000000000008,15.76,3.424999952316284 +341.70787501335144,-4.267000198364258,31.210000000000008,15.76,3.424999952316284 +341.7079539299011,-4.267000198364258,31.210000000000008,15.76,3.424999952316284 +341.75423288345337,-4.264999866485596,31.210000000000008,15.76,3.424999952316284 +341.75432300567627,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.7939279079437,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.7940068244934,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.85600900650024,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.8562078475952,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.9078109264374,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.9078869819641,-4.264999866485596,31.210000000000008,15.76,3.421999931335449 +341.9618339538574,-4.256999969482422,31.210000000000008,15.76,3.421999931335449 +341.96195697784424,-4.256999969482422,31.210000000000008,15.76,3.4260001182556152 +342.0017569065094,-4.256999969482422,31.210000000000008,15.76,3.4260001182556152 +342.0018239021301,-4.256999969482422,31.210000000000008,15.76,3.4260001182556152 +342.0357699394226,-4.256999969482422,31.210000000000008,15.76,3.4260001182556152 +342.03585386276245,-4.256999969482422,31.210000000000008,15.76,3.4260001182556152 +342.05582189559937,-4.25,31.210000000000008,15.76,3.4260001182556152 +342.0558979511261,-4.25,31.210000000000008,15.76,3.434000015258789 +342.1077868938446,-4.25,31.210000000000008,15.76,3.434000015258789 +342.1079149246216,-4.25,31.210000000000008,15.76,3.434000015258789 +342.1538119316101,-4.241000175476074,31.210000000000008,15.76,3.434000015258789 +342.15389800071716,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.19397497177124,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.1940710544586,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.256826877594,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.25689697265625,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.3046588897705,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.30474400520325,-4.241000175476074,31.210000000000008,15.76,3.436000108718872 +342.3546528816223,-4.235000133514404,31.210000000000008,15.76,3.436000108718872 +342.3547308444977,-4.235000133514404,31.210000000000008,15.76,3.444000005722046 +342.39463996887207,-4.235000133514404,31.210000000000008,15.76,3.444000005722046 +342.3947129249573,-4.235000133514404,31.210000000000008,15.76,3.444000005722046 +342.43764781951904,-4.235000133514404,31.210000000000008,15.76,3.444000005722046 +342.43780303001404,-4.235000133514404,31.210000000000008,15.76,3.444000005722046 +342.45768094062805,-4.236000061035156,31.210000000000008,15.76,3.444000005722046 +342.4577970504761,-4.236000061035156,31.210000000000008,15.76,3.444000005722046 +342.50958704948425,-4.236000061035156,31.210000000000008,15.76,3.444000005722046 +342.5096619129181,-4.236000061035156,31.210000000000008,15.76,3.444000005722046 +342.5545778274536,-4.236999988555908,31.210000000000008,15.76,3.444000005722046 +342.55465602874756,-4.236999988555908,31.210000000000008,15.76,3.441999912261963 +342.59457087516785,-4.236999988555908,31.210000000000008,15.76,3.441999912261963 +342.5946478843689,-4.236999988555908,31.210000000000008,15.76,3.441999912261963 +342.6695318222046,-4.236999988555908,31.210000000000008,15.76,3.441999912261963 +342.6696209907532,-4.236999988555908,31.210000000000008,15.76,3.441999912261963 +342.7055079936981,-4.236999988555908,31.210000000000008,15.79,3.441999912261963 +342.7055859565735,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +342.7095139026642,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +342.7095949649811,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +342.75451493263245,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +342.754585981369,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +342.7945349216461,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +342.7946138381958,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +342.85858702659607,-4.238999843597412,31.27000000000001,15.79,3.443000078201294 +342.8586609363556,-4.238999843597412,31.27000000000001,15.79,3.443000078201294 +342.91144704818726,-4.238999843597412,31.27000000000001,15.79,3.443000078201294 +342.9115409851074,-4.238999843597412,31.27000000000001,15.79,3.443000078201294 +342.9564309120178,-4.238999843597412,31.27000000000001,15.79,3.443000078201294 +342.95651483535767,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +342.9964759349823,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +342.99658489227295,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +343.0584318637848,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +343.05851793289185,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +343.106379032135,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +343.10646986961365,-4.238999843597412,31.27000000000001,15.79,3.441999912261963 +343.1563558578491,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +343.1564450263977,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +343.1963438987732,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +343.19645500183105,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +343.2594168186188,-4.236999988555908,31.27000000000001,15.79,3.441999912261963 +343.2594938278198,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +343.31133484840393,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +343.31142687797546,-4.236999988555908,31.27000000000001,15.79,3.443000078201294 +343.3563058376312,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.35641288757324,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.396311044693,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.39642786979675,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.45934796333313,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.45942401885986,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.5112249851227,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.51130294799805,-4.236000061035156,31.27000000000001,15.79,3.441999912261963 +343.5564270019531,-4.235000133514404,31.27000000000001,15.79,3.441999912261963 +343.5565209388733,-4.235000133514404,31.27000000000001,15.79,3.443000078201294 +343.59625482559204,-4.235000133514404,31.27000000000001,15.79,3.443000078201294 +343.5964078903198,-4.235000133514404,31.27000000000001,15.79,3.443000078201294 +343.6593060493469,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.6593928337097,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.7051649093628,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.7052438259125,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.71193504333496,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.71203804016113,-4.234000205993652,31.27000000000001,15.79,3.443000078201294 +343.75615096092224,-4.235000133514404,31.27000000000001,15.79,3.443000078201294 +343.75623083114624,-4.235000133514404,31.27000000000001,15.79,3.440999984741211 +343.79612493515015,-4.235000133514404,31.27000000000001,15.79,3.440999984741211 +343.79620599746704,-4.235000133514404,31.27000000000001,15.79,3.440999984741211 +343.8591949939728,-4.236000061035156,31.27000000000001,15.79,3.440999984741211 +343.859267950058,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.91109800338745,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.9111759662628,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.9560990333557,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.9561929702759,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.99605989456177,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +343.99613785743713,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.0591368675232,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.0592119693756,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.111065864563,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.1111629009247,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.1560070514679,-4.236000061035156,31.27000000000001,15.79,3.443000078201294 +344.1560878753662,-4.236000061035156,31.27000000000001,15.79,3.444000005722046 +344.1960108280182,-4.236000061035156,31.27000000000001,15.79,3.444000005722046 +344.1961078643799,-4.236000061035156,31.27000000000001,15.79,3.444000005722046 +344.25906896591187,-4.235000133514404,31.27000000000001,15.79,3.444000005722046 +344.25915002822876,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.3110568523407,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.31123304367065,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.3559398651123,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.35602498054504,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.3959219455719,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.3960008621216,-4.235000133514404,31.27000000000001,15.79,3.444999933242798 +344.470988035202,-4.23799991607666,31.27000000000001,15.79,3.444999933242798 +344.4710729122162,-4.23799991607666,31.27000000000001,15.79,3.444999933242798 +344.5110399723053,-4.23799991607666,31.27000000000001,15.79,3.444999933242798 +344.5111210346222,-4.23799991607666,31.27000000000001,15.79,3.444999933242798 +344.5558879375458,-4.239999771118164,31.27000000000001,15.79,3.444999933242798 +344.5559878349304,-4.239999771118164,31.27000000000001,15.79,3.444000005722046 +344.59585189819336,-4.239999771118164,31.27000000000001,15.79,3.444000005722046 +344.5959289073944,-4.239999771118164,31.27000000000001,15.79,3.444000005722046 +344.6589159965515,-4.239999771118164,31.27000000000001,15.79,3.444000005722046 +344.6589958667755,-4.239999771118164,31.27000000000001,15.79,3.441999912261963 +344.70479583740234,-4.239999771118164,31.27000000000001,15.76,3.441999912261963 +344.7048649787903,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.7108018398285,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.7108860015869,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.7557919025421,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.755872964859,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.7969470024109,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.7970299720764,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.8588469028473,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.858925819397,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.91074895858765,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.91083097457886,-4.239999771118164,31.24000000000001,15.76,3.441999912261963 +344.9557240009308,-4.23799991607666,31.24000000000001,15.76,3.441999912261963 +344.9558038711548,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +344.9957058429718,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +344.9957859516144,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.05896282196045,-4.235000133514404,31.24000000000001,15.76,3.443000078201294 +345.05905294418335,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.11065793037415,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.11073303222656,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.155690908432,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.15577483177185,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.1956310272217,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.19570088386536,-4.235000133514404,31.24000000000001,15.76,3.444999933242798 +345.25882387161255,-4.236999988555908,31.24000000000001,15.76,3.444999933242798 +345.25897693634033,-4.236999988555908,31.24000000000001,15.76,3.444000005722046 +345.3105900287628,-4.236999988555908,31.24000000000001,15.76,3.444000005722046 +345.3106608390808,-4.236999988555908,31.24000000000001,15.76,3.444000005722046 +345.3555929660797,-4.236000061035156,31.24000000000001,15.76,3.444000005722046 +345.3556718826294,-4.236000061035156,31.24000000000001,15.76,3.444000005722046 +345.395712852478,-4.236000061035156,31.24000000000001,15.76,3.444000005722046 +345.3958728313446,-4.236000061035156,31.24000000000001,15.76,3.444000005722046 +345.45862102508545,-4.23799991607666,31.24000000000001,15.76,3.444000005722046 +345.4586989879608,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.5105218887329,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.5106089115143,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.5555889606476,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.55567383766174,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.59569692611694,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.5957758426666,-4.23799991607666,31.24000000000001,15.76,3.443000078201294 +345.65856194496155,-4.239999771118164,31.24000000000001,15.76,3.443000078201294 +345.65864300727844,-4.239999771118164,31.24000000000001,15.76,3.440000057220459 +345.69164299964905,-4.239999771118164,31.24000000000001,15.76,3.440000057220459 +345.6917140483856,-4.239999771118164,31.24000000000001,15.76,3.440000057220459 +345.7046549320221,-4.239999771118164,31.24000000000001,15.83,3.440000057220459 +345.7047309875488,-4.239999771118164,31.22999999999999,15.83,3.440000057220459 +345.75545597076416,-4.236999988555908,31.22999999999999,15.83,3.440000057220459 +345.75554299354553,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +345.7954239845276,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +345.795490026474,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +345.8576009273529,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.85770201683044,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.908499956131,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.90856885910034,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.9554018974304,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.9555208683014,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.9953579902649,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +345.99542784690857,-4.23799991607666,31.22999999999999,15.83,3.437999963760376 +346.07031202316284,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +346.07039284706116,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +346.1102919578552,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +346.1103620529175,-4.236999988555908,31.22999999999999,15.83,3.437999963760376 +346.15649700164795,-4.236000061035156,31.22999999999999,15.83,3.437999963760376 +346.1566119194031,-4.236000061035156,31.22999999999999,15.83,3.437999963760376 +346.1963758468628,-4.236000061035156,31.22999999999999,15.83,3.437999963760376 +346.1964519023895,-4.236000061035156,31.22999999999999,15.83,3.437999963760376 +346.2593660354614,-4.236000061035156,31.22999999999999,15.83,3.437999963760376 +346.2594919204712,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.2914249897003,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.2914979457855,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.35653591156006,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.35665488243103,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.39635396003723,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.39647603034973,-4.236000061035156,31.22999999999999,15.83,3.440999984741211 +346.46032190322876,-4.236999988555908,31.22999999999999,15.83,3.440999984741211 +346.4604289531708,-4.236999988555908,31.22999999999999,15.83,3.440999984741211 +346.49226093292236,-4.236999988555908,31.22999999999999,15.83,3.440999984741211 +346.49233984947205,-4.236999988555908,31.22999999999999,15.83,3.440999984741211 +346.5581338405609,-4.23799991607666,31.22999999999999,15.83,3.440999984741211 +346.55820083618164,-4.23799991607666,31.22999999999999,15.83,3.440999984741211 +346.59812784194946,-4.23799991607666,31.22999999999999,15.83,3.440999984741211 +346.5981938838959,-4.23799991607666,31.22999999999999,15.83,3.440999984741211 +346.63136291503906,-4.236999988555908,31.22999999999999,15.83,3.440999984741211 +346.63145089149475,-4.236999988555908,31.22999999999999,15.83,3.443000078201294 +346.6931059360504,-4.236999988555908,31.22999999999999,15.83,3.443000078201294 +346.69318199157715,-4.236999988555908,31.22999999999999,15.83,3.443000078201294 +346.70435905456543,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.7044270038605,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.73312997817993,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.73323702812195,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.7980568408966,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.7981288433075,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.83129596710205,-4.236999988555908,31.22999999999999,15.76,3.443000078201294 +346.8313829898834,-4.236999988555908,31.22999999999999,15.76,3.440999984741211 +346.8930628299713,-4.236999988555908,31.22999999999999,15.76,3.440999984741211 +346.8931338787079,-4.236999988555908,31.22999999999999,15.76,3.440999984741211 +346.9330518245697,-4.236999988555908,31.22999999999999,15.76,3.440999984741211 +346.93314599990845,-4.236999988555908,31.22999999999999,15.76,3.440000057220459 +346.99800205230713,-4.236999988555908,31.22999999999999,15.76,3.440000057220459 +346.9980969429016,-4.236999988555908,31.22999999999999,15.76,3.440000057220459 +347.0320818424225,-4.236000061035156,31.22999999999999,15.76,3.440000057220459 +347.0321719646454,-4.236000061035156,31.22999999999999,15.76,3.440000057220459 +347.09406995773315,-4.236000061035156,31.22999999999999,15.76,3.440000057220459 +347.0941410064697,-4.236000061035156,31.22999999999999,15.76,3.440000057220459 +347.1340980529785,-4.23799991607666,31.22999999999999,15.76,3.440000057220459 +347.13418793678284,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.1980149745941,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.198096036911,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.23294591903687,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.2330570220947,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.29294896125793,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.2930500507355,-4.23799991607666,31.22999999999999,15.76,3.438999891281128 +347.3328859806061,-4.239999771118164,31.22999999999999,15.76,3.438999891281128 +347.3329689502716,-4.239999771118164,31.22999999999999,15.76,3.437000036239624 +347.39795684814453,-4.239999771118164,31.22999999999999,15.76,3.437000036239624 +347.3980460166931,-4.239999771118164,31.22999999999999,15.76,3.437000036239624 +347.43106484413147,-4.238999843597412,31.22999999999999,15.76,3.437000036239624 +347.4311509132385,-4.238999843597412,31.22999999999999,15.76,3.437999963760376 +347.4928078651428,-4.238999843597412,31.22999999999999,15.76,3.437999963760376 +347.4928779602051,-4.238999843597412,31.22999999999999,15.76,3.437999963760376 +347.53287291526794,-4.238999843597412,31.22999999999999,15.76,3.437999963760376 +347.5329828262329,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.59884786605835,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.59897899627686,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.64075899124146,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.6408360004425,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.69277787208557,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.6928770542145,-4.238999843597412,31.22999999999999,15.76,3.438999891281128 +347.70371890068054,-4.238999843597412,31.22999999999999,15.79,3.438999891281128 +347.70378398895264,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +347.7327609062195,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +347.73286986351013,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +347.7987539768219,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +347.7988419532776,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +347.83207297325134,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +347.8321750164032,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.8937039375305,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.8938069343567,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.9336938858032,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.93379497528076,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.99778985977173,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +347.9979078769684,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.03210401535034,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.03227400779724,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.093603849411,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.0936658382416,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.1336238384247,-4.236000061035156,31.25999999999999,15.79,3.437999963760376 +348.1337299346924,-4.236000061035156,31.25999999999999,15.79,3.438999891281128 +348.1986699104309,-4.236000061035156,31.25999999999999,15.79,3.438999891281128 +348.19879698753357,-4.236000061035156,31.25999999999999,15.79,3.438999891281128 +348.2416079044342,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +348.24168491363525,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.29353499412537,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.2935948371887,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.3335609436035,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.3336799144745,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.3984899520874,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.3985538482666,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.43251490592957,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.4326069355011,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.49447989463806,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.49456691741943,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.5344579219818,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.5345468521118,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.599417924881,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.59949493408203,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +348.6317398548126,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +348.6318299770355,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.6933898925781,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.6940109729767,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.7034230232239,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.70349502563477,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +348.7335729598999,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +348.7336609363556,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.7983498573303,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.79842495918274,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.8316650390625,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.83175683021545,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.89331793785095,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.8933780193329,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.9343240261078,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.93440890312195,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.998281955719,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +348.9983639717102,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +349.0333089828491,-4.236999988555908,31.25999999999999,15.79,3.437000036239624 +349.0334048271179,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +349.0932500362396,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +349.0933139324188,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +349.13326501846313,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +349.1333599090576,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.1982078552246,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.19827699661255,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.23161482810974,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.2317168712616,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.2932050228119,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.29327297210693,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.3331959247589,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.3332870006561,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.3991389274597,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.3992109298706,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +349.43319296836853,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +349.43329191207886,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +349.4950969219208,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +349.4951570034027,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +349.53446793556213,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.53457498550415,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.5990788936615,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.59917092323303,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.63307905197144,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.6331739425659,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.6950409412384,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.6951198577881,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.7030348777771,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.70334696769714,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.73418283462524,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.7342789173126,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.800076007843,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.8001730442047,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.8345329761505,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +349.83465003967285,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +349.89496397972107,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +349.89503383636475,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +349.93568682670593,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +349.9358069896698,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +349.99892497062683,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +349.9989879131317,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +350.03293800354004,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.0330250263214,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.0948848724365,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.0949430465698,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.13494300842285,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.13506984710693,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.19993591308594,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.20000290870667,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +350.2349319458008,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +350.23505902290344,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +350.29381799697876,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +350.2938849925995,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +350.3349199295044,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +350.3350419998169,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +350.39979696273804,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +350.39989399909973,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +350.45597290992737,-4.241000175476074,31.25999999999999,15.79,3.440999984741211 +350.45608592033386,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.49575781822205,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.49582505226135,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.5600039958954,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.5600838661194,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.59973788261414,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.5998330116272,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.6371169090271,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +350.6372559070587,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +350.695965051651,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +350.6960668563843,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +350.70273089408875,-4.241000175476074,31.25999999999999,15.81,3.438999891281128 +350.7028658390045,-4.241000175476074,31.289999999999992,15.81,3.438999891281128 +350.73599886894226,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.7361249923706,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.79081892967224,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.7909138202667,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.83595991134644,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.8360798358917,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.89576482772827,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.895831823349,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.9362008571625,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.93632197380066,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.9996688365936,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +350.9998028278351,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +351.0362219810486,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +351.0363428592682,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +351.0959188938141,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +351.0959930419922,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +351.1363799571991,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.136677980423,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.19358682632446,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.19366693496704,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.23590898513794,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.23603987693787,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.29448890686035,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.29458498954773,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.33622694015503,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.3363468647003,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.39944100379944,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.3995180130005,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.4346868991852,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +351.4347949028015,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.49558091163635,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.49564695358276,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.53573989868164,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.53586196899414,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.60047793388367,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.60063099861145,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.6344258785248,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.63454389572144,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.65436482429504,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.6544408798218,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.6974370479584,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.6975288391113,-4.238999843597412,31.289999999999992,15.81,3.440999984741211 +351.7022910118103,-4.238999843597412,31.289999999999992,15.79,3.440999984741211 +351.70234990119934,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.76030683517456,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.7603659629822,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.8002939224243,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.8003578186035,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.853276014328,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +351.85333704948425,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +352.2825438976288,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +352.2826189994812,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +352.3397419452667,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +352.33984184265137,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +352.3798899650574,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +352.3799829483032,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +352.4424698352814,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.4425239562988,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.4857568740845,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.48582792282104,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.53959584236145,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.539696931839,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.57961201667786,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.57971692085266,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +352.6443748474121,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +352.6444308757782,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.68436193466187,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.68441796302795,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.74035000801086,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.74042987823486,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.7803418636322,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.78043699264526,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.8442988395691,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.84435296058655,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.886342048645,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.88640999794006,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +352.94127893447876,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +352.94137382507324,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +352.98127484321594,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +352.9813828468323,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.0462989807129,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.04636883735657,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.0872368812561,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.087327003479,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.0911729335785,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.0912208557129,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +353.1431849002838,-4.236000061035156,31.25999999999999,15.79,3.438999891281128 +353.14326190948486,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +353.18320298194885,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +353.18332505226135,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +353.24611592292786,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +353.2461688518524,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +353.28813886642456,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +353.2882158756256,-4.236999988555908,31.25999999999999,15.79,3.440000057220459 +353.3431010246277,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +353.34317898750305,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.3830988407135,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.38317584991455,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.4461238384247,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.4461929798126,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.488077878952,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.48823499679565,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +353.5440080165863,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.54408502578735,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +353.58399987220764,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +353.58407187461853,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +353.64700388908386,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +353.64706587791443,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.6791298389435,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.67920303344727,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.7439589500427,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.7440359592438,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.7839469909668,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.78401803970337,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.8281328678131,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.828232049942,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.8791298866272,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.87920093536377,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.91905903816223,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.9191370010376,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.9438500404358,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.94392585754395,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.98384404182434,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +353.98392486572266,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +354.02701687812805,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +354.0271158218384,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.08880591392517,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.0888819694519,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.09076595306396,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.0908188819885,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.11978697776794,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.1198658943176,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.1827609539032,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.18282890319824,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.22733783721924,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.22743487358093,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.2790729999542,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.27914905548096,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +354.3189640045166,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +354.3190538883209,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +354.382670879364,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +354.38274598121643,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +354.42718291282654,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +354.4272940158844,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.48863697052,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.4887068271637,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.5190088748932,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.51910400390625,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.58357882499695,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.58365201950073,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.6255979537964,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.62568187713623,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.6876108646393,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.6876690387726,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.7276589870453,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.72776889801025,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.7835178375244,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.7836139202118,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +354.8276128768921,-4.238999843597412,31.25999999999999,15.79,3.441999912261963 +354.82771492004395,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.87945890426636,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.87952494621277,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.919499874115,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.9195909500122,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.98344683647156,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +354.9835150241852,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.0278089046478,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.02791595458984,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.0793979167938,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.07945585250854,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.09039998054504,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.09044790267944,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +355.11940693855286,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.11948585510254,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.18340587615967,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.18364000320435,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.22771191596985,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +355.22781205177307,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.2802848815918,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.2803509235382,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.32930397987366,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.3293960094452,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.38443088531494,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.3846068382263,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.42828392982483,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.4283719062805,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.4802260398865,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.48028683662415,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +355.52021884918213,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.520290851593,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.58420991897583,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.5842938423157,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.6282000541687,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +355.6283030509949,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.68022084236145,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.6803228855133,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.7201418876648,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.72021484375,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.78412890434265,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.78420782089233,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.82834696769714,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +355.82844591140747,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.88010001182556,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.8803958892822,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.9200668334961,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.9201419353485,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.9841229915619,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +355.98429799079895,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +356.02400183677673,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +356.0240819454193,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +356.0801990032196,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +356.0802869796753,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +356.08999395370483,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +356.09004497528076,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +356.1201820373535,-4.236000061035156,31.25999999999999,15.79,3.438999891281128 +356.12026286125183,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.18493485450745,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.1850130558014,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.22909283638,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.2291898727417,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.2799029350281,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.2799789905548,-4.236000061035156,31.25999999999999,15.79,3.440999984741211 +356.31986904144287,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +356.31993889808655,-4.236999988555908,31.25999999999999,15.79,3.441999912261963 +356.36584091186523,-4.236999988555908,31.25999999999999,15.79,3.441999912261963 +356.3659188747406,-4.236999988555908,31.25999999999999,15.79,3.441999912261963 +356.4298460483551,-4.236999988555908,31.25999999999999,15.79,3.441999912261963 +356.4299340248108,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +356.45989894866943,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +356.4599950313568,-4.236999988555908,31.25999999999999,15.79,3.440999984741211 +356.5217938423157,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +356.5218689441681,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +356.5657880306244,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +356.5658829212189,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +356.6297788619995,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +356.62986397743225,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.6817078590393,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.6817820072174,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.7207028865814,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.72077798843384,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.7860360145569,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.7861330509186,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.83967304229736,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.8397378921509,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.8816509246826,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.8817389011383,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.9456539154053,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.9457788467407,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.9856719970703,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +356.9857540130615,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +357.03884387016296,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +357.03891587257385,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +357.0805468559265,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +357.08061599731445,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +357.0936119556427,-4.238999843597412,31.25999999999999,15.83,3.440000057220459 +357.09364795684814,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.1465039253235,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.14659786224365,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.18650698661804,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.18658900260925,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.2395830154419,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.2396538257599,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.2814998626709,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.28157687187195,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.34642696380615,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.3465189933777,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.3864200115204,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.38650393486023,-4.238999843597412,31.22999999999999,15.83,3.440000057220459 +357.4395010471344,-4.239999771118164,31.22999999999999,15.83,3.440000057220459 +357.4395718574524,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.48142099380493,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.48150086402893,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.5463409423828,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.546434879303,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.58642196655273,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.5875859260559,-4.239999771118164,31.22999999999999,15.83,3.438999891281128 +357.6403138637543,-4.241000175476074,31.22999999999999,15.83,3.438999891281128 +357.6403820514679,-4.241000175476074,31.22999999999999,15.83,3.438999891281128 +357.68235993385315,-4.241000175476074,31.22999999999999,15.83,3.438999891281128 +357.6824629306793,-4.241000175476074,31.22999999999999,15.83,3.438999891281128 +357.7473678588867,-4.242000102996826,31.22999999999999,15.83,3.438999891281128 +357.7474558353424,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.7874698638916,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.7875928878784,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.8412330150604,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.8413019180298,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.88320684432983,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.8832700252533,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.94829201698303,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.948401927948,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.9784200191498,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +357.97855281829834,-4.242000102996826,31.22999999999999,15.83,3.437999963760376 +358.04115200042725,-4.239999771118164,31.22999999999999,15.83,3.437999963760376 +358.0412209033966,-4.239999771118164,31.22999999999999,15.83,3.440000057220459 +358.08313393592834,-4.239999771118164,31.22999999999999,15.83,3.440000057220459 +358.08319997787476,-4.239999771118164,31.22999999999999,15.83,3.440000057220459 +358.09411096572876,-4.239999771118164,31.22999999999999,15.79,3.440000057220459 +358.09418392181396,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +358.14720392227173,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.1472909450531,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.1872329711914,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.18733191490173,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.2400619983673,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.2401280403137,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.2820348739624,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.28210496902466,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.3220160007477,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.3220829963684,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.37824392318726,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.3783149719238,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.41829085350037,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.41837882995605,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.4830219745636,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.4831018447876,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.5230178833008,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.5230848789215,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.5482819080353,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.54840898513794,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.5782790184021,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.5783519744873,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.64089488983154,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.6409659385681,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.68286895751953,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.6829390525818,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.7480499744415,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.7481429576874,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.7781138420105,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.7781808376312,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +358.8418638706207,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +358.84194588661194,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +358.8838448524475,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +358.8839199542999,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +358.9497790336609,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +358.9498689174652,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +358.98092794418335,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +358.98123693466187,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +359.0427529811859,-4.241000175476074,31.25999999999999,15.79,3.440999984741211 +359.0428328514099,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.08517503738403,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.0852689743042,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.09470105171204,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.0948009490967,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.15071988105774,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.15083384513855,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.1806650161743,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.1807289123535,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.24366784095764,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.2437379360199,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.28573083877563,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.2857940196991,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +359.3506119251251,-4.242000102996826,31.25999999999999,15.79,3.440000057220459 +359.3507719039917,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.4005708694458,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.4006450176239,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.44467401504517,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.4447588920593,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.48553490638733,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.48560190200806,-4.242000102996826,31.25999999999999,15.79,3.437999963760376 +359.55051589012146,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +359.55061197280884,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.5805950164795,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.5806589126587,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.64347791671753,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.6435458660126,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.68546891212463,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.6855490207672,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.7514760494232,-4.238999843597412,31.25999999999999,15.79,3.441999912261963 +359.75157499313354,-4.238999843597412,31.25999999999999,15.79,3.441999912261963 +359.7814269065857,-4.238999843597412,31.25999999999999,15.79,3.441999912261963 +359.78151202201843,-4.238999843597412,31.25999999999999,15.79,3.441999912261963 +359.84439992904663,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.84447383880615,-4.239999771118164,31.25999999999999,15.79,3.443000078201294 +359.8863809108734,-4.239999771118164,31.25999999999999,15.79,3.443000078201294 +359.88645195961,-4.239999771118164,31.25999999999999,15.79,3.443000078201294 +359.9523639678955,-4.239999771118164,31.25999999999999,15.79,3.443000078201294 +359.9524579048157,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.9824080467224,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +359.9824929237366,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +360.0453519821167,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +360.0454399585724,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +360.08732986450195,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +360.087415933609,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +360.0943138599396,-4.239999771118164,31.25999999999999,15.78,3.441999912261963 +360.09440088272095,-4.239999771118164,31.25999999999999,15.78,3.441999912261963 +360.1387689113617,-4.239999771118164,31.25999999999999,15.78,3.441999912261963 +360.1388838291168,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.1822910308838,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.18237590789795,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.24525904655457,-4.241000175476074,31.25999999999999,15.78,3.437999963760376 +360.2453489303589,-4.241000175476074,31.25999999999999,15.78,3.437999963760376 +360.27742290496826,-4.241000175476074,31.25999999999999,15.78,3.437999963760376 +360.2775089740753,-4.241000175476074,31.25999999999999,15.78,3.437999963760376 +360.3374629020691,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.33755803108215,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.3821840286255,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.38226103782654,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.4452018737793,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.44529604911804,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.4773259162903,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.47740483283997,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.5373649597168,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.53745889663696,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.5821039676666,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.582190990448,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.6450629234314,-4.239999771118164,31.25999999999999,15.78,3.437999963760376 +360.64513301849365,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.6772208213806,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.67729091644287,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.73736095428467,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.7374529838562,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.7820620536804,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.7821378707886,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.8449800014496,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.84504890441895,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.8771629333496,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.8772449493408,-4.239999771118164,31.25999999999999,15.78,3.438999891281128 +360.9372088909149,-4.241000175476074,31.25999999999999,15.78,3.438999891281128 +360.9373028278351,-4.241000175476074,31.25999999999999,15.78,3.438999891281128 +360.9819920063019,-4.241000175476074,31.25999999999999,15.78,3.438999891281128 +360.98206782341003,-4.241000175476074,31.25999999999999,15.78,3.438999891281128 +361.0449368953705,-4.238999843597412,31.25999999999999,15.78,3.438999891281128 +361.0450098514557,-4.238999843597412,31.25999999999999,15.78,3.440000057220459 +361.07705187797546,-4.238999843597412,31.25999999999999,15.78,3.440000057220459 +361.0771179199219,-4.238999843597412,31.25999999999999,15.78,3.440000057220459 +361.09411787986755,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +361.0941858291626,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +361.1371159553528,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +361.1372039318085,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.1818799972534,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.1819598674774,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.2447888851166,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.24485301971436,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.276978969574,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.27704787254333,-4.23799991607666,31.25999999999999,15.79,3.441999912261963 +361.3370280265808,-4.236000061035156,31.25999999999999,15.79,3.441999912261963 +361.3371169567108,-4.236000061035156,31.25999999999999,15.79,3.441999912261963 +361.38177585601807,-4.236000061035156,31.25999999999999,15.79,3.441999912261963 +361.3818609714508,-4.236000061035156,31.25999999999999,15.79,3.441999912261963 +361.4447269439697,-4.234000205993652,31.25999999999999,15.79,3.441999912261963 +361.444797039032,-4.234000205993652,31.25999999999999,15.79,3.443000078201294 +361.4779498577118,-4.234000205993652,31.25999999999999,15.79,3.443000078201294 +361.47804594039917,-4.234000205993652,31.25999999999999,15.79,3.443000078201294 +361.5369598865509,-4.235000133514404,31.25999999999999,15.79,3.443000078201294 +361.53705501556396,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.58168601989746,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.58176493644714,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.6446979045868,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.64479398727417,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.67687797546387,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.67697286605835,-4.235000133514404,31.25999999999999,15.79,3.441999912261963 +361.73685789108276,-4.236000061035156,31.25999999999999,15.79,3.441999912261963 +361.73694682121277,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +361.78277587890625,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +361.7828838825226,-4.236000061035156,31.25999999999999,15.79,3.440000057220459 +361.8368139266968,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +361.8369059562683,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +361.87785387039185,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +361.8779718875885,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +361.94153094291687,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +361.94160890579224,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +361.98156690597534,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +361.9817018508911,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +362.041601896286,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +362.04167795181274,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +362.0815598964691,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +362.08165192604065,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.0934388637543,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.09349393844604,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.1244649887085,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.1245460510254,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.18550086021423,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.1856439113617,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.222403049469,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.222482919693,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +362.2823820114136,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.2824640274048,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.3223628997803,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.32244205474854,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.378536939621,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.3786208629608,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.41850686073303,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.4185838699341,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +362.4823179244995,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +362.4824209213257,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +362.52229404449463,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +362.52237582206726,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +362.5802569389343,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +362.5803499221802,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.6202349662781,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.62031602859497,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.6833539009094,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.68342900276184,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.72343492507935,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.72354102134705,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.7764039039612,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +362.7765429019928,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +362.82841897010803,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +362.8285188674927,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +362.8841278553009,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +362.88420486450195,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +362.92411398887634,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +362.92419385910034,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +362.9772789478302,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +362.97742199897766,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.02925205230713,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.02935099601746,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.08509588241577,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.08518981933594,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.0970890522003,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.0971658229828,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.12504291534424,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.12511587142944,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.18107986450195,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +363.1811909675598,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +363.2210738658905,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +363.2212040424347,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +363.27614283561707,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +363.27620005607605,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.317263841629,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.3173680305481,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.3830280303955,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.38314986228943,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.422917842865,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.42299699783325,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.4771490097046,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.47723293304443,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.51724195480347,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.5173559188843,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +363.5818350315094,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +363.58191895484924,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +363.6218559741974,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +363.6219539642334,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +363.6858379840851,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +363.68594694137573,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +363.72581791877747,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +363.72590804100037,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +363.78683495521545,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +363.7869129180908,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.8269898891449,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.82710790634155,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.88571405410767,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.8857820034027,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.9290430545807,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.9291639328003,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.98072504997253,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +363.9808099269867,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +364.020663022995,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +364.0207419395447,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +364.08565187454224,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +364.0857319831848,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.09871101379395,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.0987780094147,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.1288368701935,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.12895488739014,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.1825909614563,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.18267488479614,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.2226810455322,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.2228219509125,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.28565287590027,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.2857758998871,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.32660484313965,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.32672786712646,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +364.3796000480652,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +364.37967586517334,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +364.43152499198914,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +364.431608915329,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +364.4854748249054,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +364.48556184768677,-4.238999843597412,31.25999999999999,15.79,3.437000036239624 +364.5254650115967,-4.238999843597412,31.25999999999999,15.79,3.437000036239624 +364.52554988861084,-4.238999843597412,31.25999999999999,15.79,3.437000036239624 +364.58044600486755,-4.238999843597412,31.25999999999999,15.79,3.437000036239624 +364.5805399417877,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +364.61658096313477,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +364.61664605140686,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +364.6853828430176,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +364.6854660511017,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.7253658771515,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.72543501853943,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.7813539505005,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.78143286705017,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.8213310241699,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.8214039802551,-4.23799991607666,31.25999999999999,15.79,3.440000057220459 +364.877543926239,-4.238999843597412,31.25999999999999,15.79,3.440000057220459 +364.87766885757446,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +364.917466878891,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +364.91752886772156,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +364.9826149940491,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +364.98269987106323,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +365.02224683761597,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +365.02232003211975,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +365.076397895813,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +365.0765109062195,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.1011998653412,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.1012668609619,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.11639499664307,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.1164610385895,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.18330001831055,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.1833870410919,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.22316098213196,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.2232348918915,-4.241000175476074,31.25999999999999,15.79,3.437999963760376 +365.27633690834045,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +365.276398897171,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.3163068294525,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.31637692451477,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.38110303878784,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.38119101524353,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.42108488082886,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.4211618900299,-4.239999771118164,31.25999999999999,15.79,3.437000036239624 +365.4762680530548,-4.238999843597412,31.25999999999999,15.79,3.437000036239624 +365.476331949234,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.51631689071655,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.5163998603821,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.5820059776306,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.58208298683167,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.62199687957764,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.62207293510437,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +365.6770918369293,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +365.67716789245605,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +365.71716594696045,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +365.7172429561615,-4.236999988555908,31.25999999999999,15.79,3.437999963760376 +365.78192591667175,-4.23799991607666,31.25999999999999,15.79,3.437999963760376 +365.7820019721985,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +365.82191801071167,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +365.82199597358704,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +365.8770158290863,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +365.87709188461304,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +365.9170980453491,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +365.9173638820648,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +365.98285603523254,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +365.98293685913086,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +366.02284002304077,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +366.02291798591614,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +366.0770058631897,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +366.0771059989929,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +366.09879088401794,-4.23799991607666,31.25999999999999,15.81,3.438999891281128 +366.0988519191742,-4.23799991607666,31.289999999999992,15.81,3.438999891281128 +366.11700201034546,-4.23799991607666,31.289999999999992,15.81,3.438999891281128 +366.1170690059662,-4.23799991607666,31.289999999999992,15.81,3.438999891281128 +366.1869158744812,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +366.18700885772705,-4.239999771118164,31.289999999999992,15.81,3.440000057220459 +366.22575783729553,-4.239999771118164,31.289999999999992,15.81,3.440000057220459 +366.2258448600769,-4.239999771118164,31.289999999999992,15.81,3.440000057220459 +366.2779848575592,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +366.2781038284302,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.31789684295654,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.31799387931824,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.38272285461426,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.3828158378601,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.422709941864,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.42281699180603,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.4781930446625,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.4783148765564,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +366.51791501045227,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +366.5179989337921,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +366.5826349258423,-4.239999771118164,31.289999999999992,15.81,3.440000057220459 +366.5827548503876,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +366.62258291244507,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +366.6226589679718,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +366.67856884002686,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +366.6786530017853,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.7186088562012,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.7187309265137,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.78360986709595,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.78373885154724,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.82276797294617,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.82310605049133,-4.238999843597412,31.289999999999992,15.81,3.437999963760376 +366.87768483161926,-4.23799991607666,31.289999999999992,15.81,3.437999963760376 +366.87774682044983,-4.23799991607666,31.289999999999992,15.81,3.437999963760376 +366.91852283477783,-4.23799991607666,31.289999999999992,15.81,3.437999963760376 +366.91859197616577,-4.23799991607666,31.289999999999992,15.81,3.437999963760376 +366.9824378490448,-4.236999988555908,31.289999999999992,15.81,3.437999963760376 +366.98252391815186,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.02244305610657,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.0225398540497,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.07755398750305,-4.23799991607666,31.289999999999992,15.81,3.438999891281128 +367.07764196395874,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.10037183761597,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.10046887397766,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.1173748970032,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.1174499988556,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.1833448410034,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.1834259033203,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.2233328819275,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.22341203689575,-4.23799991607666,31.289999999999992,15.81,3.440000057220459 +367.2785449028015,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.27860498428345,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.3186478614807,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.3187429904938,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.38330698013306,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.3834218978882,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.4232518672943,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.4233310222626,-4.238999843597412,31.289999999999992,15.81,3.440000057220459 +367.4784719944,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.4787108898163,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.5192348957062,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.51932191848755,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.58318400382996,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.5832619667053,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.629802942276,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.6299259662628,-4.241000175476074,31.289999999999992,15.81,3.440000057220459 +367.67815685272217,-4.239999771118164,31.289999999999992,15.81,3.440000057220459 +367.6782488822937,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +367.71813702583313,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +367.718220949173,-4.239999771118164,31.289999999999992,15.81,3.438999891281128 +367.7811789512634,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +367.78125500679016,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +367.82023096084595,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +367.820317029953,-4.238999843597412,31.289999999999992,15.81,3.438999891281128 +367.8793430328369,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.8794219493866,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.91944694519043,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.91954588890076,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.9831199645996,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +367.98325085639954,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +368.0211458206177,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +368.0212299823761,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +368.07927989959717,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +368.07935905456543,-4.236999988555908,31.289999999999992,15.81,3.438999891281128 +368.10193705558777,-4.236999988555908,31.289999999999992,15.79,3.438999891281128 +368.10200786590576,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.1193549633026,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.1194589138031,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.1829550266266,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.18303394317627,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.2239258289337,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.2240238189697,-4.236999988555908,31.25999999999999,15.79,3.438999891281128 +368.28003787994385,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +368.2801580429077,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +368.31994104385376,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +368.3200578689575,-4.23799991607666,31.25999999999999,15.79,3.438999891281128 +368.3838679790497,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +368.3839499950409,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.4208779335022,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.42099690437317,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.48079800605774,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.48088788986206,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.52085995674133,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.5209758281708,-4.239999771118164,31.25999999999999,15.79,3.440000057220459 +368.58376383781433,-4.241000175476074,31.25999999999999,15.79,3.440000057220459 +368.58384585380554,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +368.62190890312195,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +368.6220529079437,-4.241000175476074,31.25999999999999,15.79,3.438999891281128 +368.6817350387573,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +368.6818208694458,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +368.7239909172058,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +368.7240788936615,-4.239999771118164,31.25999999999999,15.79,3.438999891281128 +368.7846779823303,-4.238999843597412,31.25999999999999,15.79,3.438999891281128 +368.7847650051117,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.8227128982544,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.82284283638,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.8818938732147,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.88201689720154,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.9216220378876,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.9216990470886,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.9757070541382,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +368.97578501701355,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +369.02258801460266,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +369.02269196510315,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +369.08156299591064,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.0816550254822,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.10451889038086,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.10458993911743,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.1215410232544,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.12161588668823,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.18551087379456,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.1855969429016,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.2224838733673,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.2225749492645,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.2825839519501,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.28264904022217,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.3224518299103,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.3225438594818,-4.23799991607666,31.25999999999999,15.79,3.440999984741211 +369.3764269351959,-4.238999843597412,31.25999999999999,15.79,3.440999984741211 +369.376503944397,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +369.42141604423523,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +369.42150497436523,-4.238999843597412,31.25999999999999,15.79,3.437999963760376 +369.4813940525055,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.48147892951965,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.521381855011,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.5214648246765,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.5746560096741,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.57473492622375,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.62232995033264,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.6224229335785,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.68229389190674,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.68236899375916,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.7223379611969,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.7224819660187,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.77537989616394,-4.239999771118164,31.25999999999999,15.79,3.437999963760376 +369.77545285224915,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +369.82125782966614,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +369.8213448524475,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +369.88122391700745,-4.239999771118164,31.25999999999999,15.79,3.440999984741211 +369.88130283355713,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +369.9212279319763,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +369.92132687568665,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +369.97528982162476,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +369.9754309654236,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.02216482162476,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.0222678184509,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.08219504356384,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.1040999889374,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.12243485450745,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 +370.176372051239,-4.239999771118164,31.25999999999999,15.79,3.441999912261963 diff --git a/NetBeans/rcsjava/ss06hid.csv b/NetBeans/rcsjava/ss06hid.csv new file mode 100644 index 0000000..a525664 --- /dev/null +++ b/NetBeans/rcsjava/ss06hid.csv @@ -0,0 +1 @@ +RT,SERIALNO,DIVISION,PUMA,REGION,ST,ADJUST,WGTP,NP,TYPE,ACR,AGS,BDS,BLD,BUS,CONP,ELEP,FS,FULP,GASP,HFL,INSP,KIT,MHP,MRGI,MRGP,MRGT,MRGX,PLM,RMS,RNTM,RNTP,SMP,TEL,TEN,VACS,VAL,VEH,WATP,YBL,FES,FINCP,FPARC,GRNTP,GRPIP,HHL,HHT,HINCP,HUGCL,HUPAC,HUPAOC,HUPARC,LNGI,MV,NOC,NPF,NPP,NR,NRC,OCPIP,PARTNER,PSF,R18,R60,R65,RESMODE,SMOCP,SMX,SRNT,SVAL,TAXP,WIF,WKEXREL,WORKSTAT,FACRP,FAGSP,FBDSP,FBLDP,FBUSP,FCONP,FELEP,FFSP,FFULP,FGASP,FHFLP,FINSP,FKITP,FMHP,FMRGIP,FMRGP,FMRGTP,FMRGXP,FMVYP,FPLMP,FRMSP,FRNTMP,FRNTP,FSMP,FSMXHP,FSMXSP,FTAXP,FTELP,FTENP,FVACSP,FVALP,FVEHP,FWATP,FYBLP,wgtp1,wgtp2,wgtp3,wgtp4,wgtp5,wgtp6,wgtp7,wgtp8,wgtp9,wgtp10,wgtp11,wgtp12,wgtp13,wgtp14,wgtp15,wgtp16,wgtp17,wgtp18,wgtp19,wgtp20,wgtp21,wgtp22,wgtp23,wgtp24,wgtp25,wgtp26,wgtp27,wgtp28,wgtp29,wgtp30,wgtp31,wgtp32,wgtp33,wgtp34,wgtp35,wgtp36,wgtp37,wgtp38,wgtp39,wgtp40,wgtp41,wgtp42,wgtp43,wgtp44,wgtp45,wgtp46,wgtp47,wgtp48,wgtp49,wgtp50,wgtp51,wgtp52,wgtp53,wgtp54,wgtp55,wgtp56,wgtp57,wgtp58,wgtp59,wgtp60,wgtp61,wgtp62,wgtp63,wgtp64,wgtp65,wgtp66,wgtp67,wgtp68,wgtp69,wgtp70,wgtp71,wgtp72,wgtp73,wgtp74,wgtp75,wgtp76,wgtp77,wgtp78,wgtp79,wgtp80 H,186,8,700,4,16,1015675,89,4,1,1,,4,2,2,,180,0,2,3,3,600,1,,1,1300,1,1,1,9,,,,1,1,,17,3,840,5,2,105600,2,,,1,1,105600,0,2,2,2,1,4,2,4,0,0,2,18,0,0,1,0,0,1,1550,3,0,1,24,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,28,156,95,26,25,95,93,93,91,87,166,90,25,153,89,148,82,25,180,90,24,140,92,25,27,86,84,87,93,90,149,91,28,143,81,144,95,27,22,90,171,27,83,153,148,92,91,91,93,90,26,94,142,24,91,29,84,148,30,93,143,24,88,147,145,91,83,83,86,81,27,93,151,28,79,25,101,157,129 H,306,8,700,4,16,1015675,310,1,1,,,1,7,,,60,0,2,3,3,,1,,,,,,1,2,2,600,,1,3,,,1,1,3,,,,660,23,1,4,34000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,539,363,293,422,566,289,87,242,453,453,334,358,414,102,281,99,108,278,131,407,447,264,352,238,390,336,122,374,482,468,335,251,613,104,284,116,91,326,102,361,107,253,321,289,96,343,564,274,118,118,321,261,130,463,294,479,391,307,476,283,116,353,323,374,106,236,380,313,90,94,292,401,81,494,346,496,615,286,454,260 H,395,8,100,4,16,1015675,106,2,1,1,,3,2,2,,70,0,2,30,1,200,1,,,,,3,1,7,,,,1,2,,18,2,50,5,7,9400,2,,,1,3,9400,0,2,2,2,1,2,1,2,0,0,1,23,0,0,1,0,0,1,179,,0,1,16,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,35,184,178,83,95,31,32,177,118,110,114,184,107,95,115,33,118,120,37,184,35,176,176,110,103,29,30,197,127,92,118,177,99,99,109,34,100,105,33,173,36,168,175,99,103,30,35,155,102,95,107,185,120,114,113,36,115,103,29,183,35,179,169,95,110,28,34,233,97,123,119,168,107,95,101,30,124,106,31 H,506,8,700,4,16,1015675,240,4,1,1,,4,2,2,,40,0,2,80,1,200,1,,1,860,1,1,1,6,,,400,1,1,,19,3,500,2,1,66000,1,,,1,1,66000,0,1,1,1,1,3,2,4,0,0,2,26,0,0,1,0,0,2,1422,1,0,1,31,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,406,234,270,249,242,406,249,287,67,72,413,399,77,245,424,67,63,226,254,238,69,238,255,239,248,69,234,247,437,423,74,61,401,267,72,388,335,229,236,239,65,259,247,230,225,82,220,233,419,390,69,74,391,276,70,422,409,223,245,269,488,221,250,247,240,415,234,219,66,68,359,385,71,234,421,76,77,242,231 H,835,8,800,4,16,1015675,118,4,1,2,1,5,2,2,,250,0,2,3,3,700,1,,1,1900,1,1,1,7,,,650,1,1,,20,5,2,3,1,93000,2,,,1,1,93000,0,2,2,2,1,1,1,4,0,0,1,36,0,0,1,0,0,1,2800,1,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,194,129,41,156,174,47,113,101,33,115,52,113,95,135,206,100,185,135,279,116,33,105,244,38,30,230,123,123,243,120,238,98,90,107,44,122,32,127,195,116,36,135,237,33,33,249,102,84,224,119,250,119,125,126,32,112,33,131,45,101,165,125,41,191,195,49,119,92,44,127,36,119,121,116,209,97,176,144,38 H,989,8,700,4,16,1015675,115,4,1,1,,3,2,2,,130,0,2,3,3,250,1,,1,700,1,1,1,6,,,400,1,1,,15,2,1200,5,2,61000,1,,,1,1,61000,0,1,1,1,1,4,2,4,0,0,2,26,0,0,1,0,0,2,1330,2,0,1,7,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,191,197,127,115,115,107,119,34,32,30,123,199,117,33,109,117,31,115,201,190,184,198,113,109,117,111,110,33,37,36,110,183,114,35,134,119,32,121,188,33,34,32,109,115,115,112,119,192,186,213,106,34,124,179,106,107,190,112,34,35,32,34,119,123,122,121,123,196,196,207,120,34,109,199,116,110,211,120,31,189 H,1861,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,2120,8,200,4,16,1015675,35,1,1,1,,2,1,2,,40,0,480,3,4,,1,,,,,,1,4,,,,1,4,,,1,650,5,,,,,,1,6,10400,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,59,37,60,34,28,34,10,41,9,39,33,12,45,59,10,11,65,33,47,29,46,45,57,30,35,30,10,46,12,39,34,10,42,67,10,10,54,33,9,34,10,35,10,43,53,34,50,41,59,36,47,58,31,9,47,64,10,34,11,36,11,34,11,33,27,32,53,26,58,40,36,55,48,10,49,40,8,40,68 H,2278,8,400,4,16,1015675,47,2,1,1,,3,2,2,,2,0,2,3,3,770,1,,1,750,1,1,1,6,,,,1,1,,13,2,660,25,2,209000,4,,,1,1,209000,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,1,1,1,805,3,0,1,22,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,49,17,17,17,36,50,65,50,37,81,84,96,51,12,42,89,49,52,88,13,64,72,62,88,45,39,41,42,35,17,16,15,54,99,40,10,60,43,12,76,39,12,17,18,38,41,60,46,48,79,59,64,49,15,51,103,47,45,110,10,50,75,91,100,60,57,47,46,49,14,12,13,72,123,38,10,56,45,13 H,2428,8,500,4,16,1015675,51,2,1,1,,2,1,2,,20,0,2,140,1,120,1,220,,,,3,1,5,,,,1,2,,1,2,2,5,,,,,,2,5,35400,0,4,4,4,2,1,0,,0,1,0,7,0,0,0,0,0,1,196,,0,0,4,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,48,50,45,49,15,47,45,75,127,15,15,87,47,13,88,83,64,71,51,98,55,50,55,41,60,48,59,22,13,69,88,17,43,125,19,18,45,45,48,18,48,63,65,51,17,47,48,76,69,13,14,85,72,16,91,110,51,45,48,63,55,57,39,60,112,66,46,18,18,89,83,11,49,82,15,10,49,57,69 H,2677,8,400,4,16,1015675,114,2,1,1,,3,2,2,,50,0,2,50,1,400,1,,1,600,1,1,1,5,,,,1,1,,12,1,420,9,7,35000,2,,,1,3,35000,0,2,2,2,1,4,1,2,0,0,1,25,0,0,1,0,0,1,735,3,0,1,23,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,235,95,34,97,167,133,126,190,127,37,25,42,134,124,117,111,109,134,196,56,166,119,30,116,171,139,115,140,130,40,44,35,86,121,125,116,103,191,147,157,29,87,216,117,34,108,118,39,128,232,186,172,131,99,94,139,131,27,33,202,27,123,228,140,32,138,118,27,143,257,198,131,87,97,93,135,140,45,36,32 H,2928,8,800,4,16,1015675,51,2,1,1,,3,2,2,,100,0,2,3,3,500,1,,,,,3,1,5,,,,1,2,,15,1,2,5,2,23000,4,,,1,1,23000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,1,0,1,172,,0,1,9,2,5,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,61,43,12,44,52,86,81,17,14,91,49,18,99,78,54,56,15,53,52,55,50,60,96,55,47,14,14,75,98,15,43,89,19,19,53,47,69,50,55,62,49,46,13,50,52,93,92,15,14,86,54,19,93,73,56,53,15,62,51,62,62,53,78,44,55,14,13,78,73,14,48,122,17,15,50,54,78,43,46 H,3283,8,400,4,16,1015675,67,3,1,1,,2,2,2,,100,0,600,40,1,500,1,,1,550,1,1,1,5,,,400,1,1,,12,5,600,7,1,84000,4,,,1,1,84000,0,4,4,4,1,5,0,3,0,0,0,17,0,0,0,1,0,2,1190,2,0,1,14,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,67,70,61,113,70,101,64,71,93,73,25,107,107,19,80,57,22,99,21,22,71,66,74,86,55,111,62,66,131,66,14,136,129,22,61,53,20,54,135,118,101,71,52,29,76,18,110,71,18,55,87,18,15,69,57,72,112,67,105,79,81,58,58,25,90,22,80,73,16,57,133,18,20,79,56,76,170,70,22 H,3331,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,3341,8,500,4,16,1015675,92,1,1,1,,3,1,2,,60,0,2,250,1,,1,,,,,,1,6,,,,1,4,,,1,220,3,,,,,,1,6,13400,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,93,29,162,96,94,87,28,136,95,84,25,92,25,27,153,145,90,88,30,100,91,159,27,101,90,95,150,28,90,96,177,91,160,146,30,28,88,92,163,96,105,28,173,78,93,89,25,143,95,95,28,88,26,25,159,154,91,91,24,91,85,140,28,92,90,89,152,29,97,100,188,89,163,170,30,27,97,93,165 H,3827,8,300,4,16,1015675,51,2,1,1,,4,2,2,,150,0,2,3,3,600,1,,1,1200,1,1,1,8,,,,2,1,,17,1,50,3,7,75000,2,,,1,3,75000,0,2,2,2,1,2,1,2,0,0,1,22,0,0,1,0,0,1,1354,3,0,1,37,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,49,57,89,81,87,59,11,48,80,49,45,78,48,14,11,14,49,56,53,86,46,57,13,15,13,53,79,47,18,53,60,15,53,92,72,90,51,62,46,12,52,48,96,91,79,55,15,61,72,48,53,81,43,15,14,15,55,57,51,75,55,55,14,17,18,52,92,54,13,41,50,16,57,85,81,87,54,50,49,18 H,4331,8,800,4,16,1015675,71,3,1,2,1,5,2,2,,150,0,2,3,9,650,1,,2,760,2,1,1,9,,,110,1,1,,15,4,2,9,1,65800,4,,,1,1,65800,0,4,4,4,1,6,0,3,0,0,0,21,0,0,0,0,0,1,1146,2,0,1,19,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,70,106,63,103,63,20,26,65,27,139,20,125,90,104,102,62,59,63,64,62,101,75,27,114,120,101,54,23,89,57,86,77,22,76,57,106,133,27,21,81,118,91,17,127,135,79,54,18,94,73,66,71,25,61,71,124,115,31,17,23,68,113,79,84,65,21,15,56,25,141,17,155,71,133,97,58,85,70,87,26 H,4425,8,400,4,16,1015675,349,1,1,2,1,3,1,2,,20,0,1200,3,4,240,1,0,2,550,2,1,1,5,,,,1,1,,11,2,2,5,,,,,,1,4,24000,0,4,4,4,1,5,0,,0,0,0,37,0,0,0,0,0,2,736,3,0,0,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,349,333,144,111,89,124,478,196,388,107,256,384,282,298,108,97,323,325,332,301,651,618,283,333,381,374,519,280,457,379,514,513,679,688,364,291,555,616,451,515,328,300,535,627,604,410,309,691,423,479,398,403,288,336,526,560,382,282,375,390,118,106,286,363,405,407,152,385,103,341,118,111,143,123,318,311,92,117,165 H,4457,8,900,4,16,1015675,270,4,1,,,3,5,,,50,0,2,3,3,,1,,,,,,1,5,2,580,,1,3,,,1,1,3,7,21400,3,630,35,1,3,21400,0,3,3,3,1,1,3,4,0,0,3,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411,85,266,473,117,93,260,341,372,227,243,249,278,403,260,265,85,121,407,321,95,352,251,103,470,344,227,283,75,216,263,275,292,102,285,262,366,539,100,309,401,135,260,435,80,100,290,273,407,306,266,295,219,446,270,294,97,95,409,293,109,428,319,78,345,387,246,223,72,269,225,243,247,107,325,242,402,379,100,250 H,4551,8,500,4,16,1015675,83,3,1,1,,3,2,2,,80,0,2,60,1,,1,,,,,,1,5,2,750,,1,3,,,4,1,2,1,60000,4,890,18,1,1,60000,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,23,178,93,28,142,120,82,95,25,91,79,65,81,22,85,91,134,164,94,22,24,137,76,28,156,133,83,84,25,80,79,83,87,21,71,94,131,132,91,136,167,23,80,140,26,28,112,74,122,82,80,78,85,138,68,80,25,20,71,120,133,25,88,149,26,24,91,98,137,84,91,91,76,146,99,93,23,21,89 H,4609,8,600,4,16,1015675,78,1,1,1,,3,2,2,,20,0,2,70,1,,1,,,,,,1,5,2,500,,1,3,,,0,300,-1,,,,615,38,1,6,19300,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,126,76,79,25,141,83,75,156,72,82,135,80,79,68,116,24,24,73,21,21,147,78,81,20,131,83,77,147,77,84,134,73,85,72,139,21,27,90,24,25,128,82,69,20,138,70,92,115,80,75,134,83,74,75,142,19,22,86,23,25,123,78,78,23,148,75,84,128,74,83,130,84,75,81,120,23,24,72 H,4720,8,200,4,16,1015675,115,1,1,1,,1,1,2,,20,0,2,20,1,140,1,2300,,,,3,1,4,,,,1,2,,1,2,1,5,,,,,,1,4,23600,0,4,4,4,1,3,0,,0,0,0,13,0,0,0,0,0,1,250,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,40,110,195,139,129,120,178,120,224,33,98,33,122,124,107,32,32,167,117,210,113,36,98,28,31,208,103,203,119,96,220,104,171,37,34,106,115,169,184,120,31,94,162,129,156,105,223,105,184,37,90,32,141,101,93,36,28,154,75,209,153,41,94,37,44,181,124,218,139,119,172,94,191,30,37,145,114,140,197 H,5191,8,600,4,16,1015675,314,2,1,1,,3,2,2,,130,0,2,90,1,,1,,,,,,1,5,2,850,,1,3,,,2,360,5,,,,1100,26,1,5,51200,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,285,605,311,359,353,80,282,103,327,339,93,347,497,111,99,562,294,287,531,585,338,487,306,352,330,88,287,75,296,357,96,356,483,97,102,481,331,261,491,91,303,86,394,285,307,552,311,459,275,339,533,276,102,528,596,88,339,329,88,92,378,104,291,314,334,516,326,496,315,273,477,280,99,509,563,104,331,343,102,478 H,5465,8,100,4,16,1015675,22,1,1,,,2,5,,,1,900,2,3,8,,1,,,,,,1,3,2,300,,2,3,,,1,1,9,,,,300,5,1,4,76000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,29,6,27,7,22,20,7,28,5,49,34,23,18,21,7,23,37,20,22,44,37,7,25,7,23,24,7,22,7,29,34,22,18,22,6,22,37,19,22,6,7,34,22,42,22,21,42,20,33,9,7,19,20,16,34,22,7,23,20,7,7,50,27,36,22,20,37,19,40,5,7,22,22,22,38,30,5,18,24 H,5590,8,100,4,16,1015675,73,2,1,3,1,3,2,2,,130,0,2,3,6,2000,1,,,,,3,1,5,,,,1,2,,17,4,2,9,4,28100,4,,,1,1,28100,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,380,,0,0,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,132,22,131,79,69,17,19,20,74,81,104,23,101,93,62,65,72,84,124,61,68,68,74,20,115,54,60,93,21,102,73,97,22,78,27,33,134,104,74,23,15,128,22,65,73,118,135,126,77,70,22,107,63,21,71,84,59,68,19,70,79,71,90,113,20,84,97,74,124,23,64,73,124,71,128,102,24,16,70 H,5763,8,800,4,16,1015675,73,4,1,1,,4,2,2,,50,0,2,170,1,250,1,,2,190,2,1,1,9,,,,1,1,,13,6,40,3,1,78200,2,,,1,1,78200,0,2,2,2,1,1,1,4,0,0,1,8,0,0,1,0,0,1,502,3,0,1,18,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,103,134,28,70,122,29,24,73,68,129,96,83,63,73,110,61,66,20,75,106,23,23,129,77,24,131,134,77,73,22,85,83,60,64,28,77,95,137,69,117,25,26,154,96,24,110,113,73,70,21,74,78,74,68,24,86,94,110,87,20,97,137,28,63,117,29,20,66,88,115,86,77,68,61,120,74,70,26,79 H,5890,8,800,4,16,1015675,39,1,1,2,1,3,2,2,,60,0,1000,3,4,,1,,,,,,1,5,2,400,,1,3,,,1,290,9,,,,567,14,1,6,50000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,12,8,68,53,13,59,62,50,49,14,39,32,45,40,10,39,36,67,60,33,10,11,66,40,10,79,59,38,60,16,36,45,56,29,12,48,39,73,60,31,10,12,75,39,12,73,63,42,44,12,42,27,41,55,12,56,46,76,62,37,10,8,79,48,10,59,82,41,57,19,38,46,38,36,12,35,46,53,72,44 H,6517,8,800,4,16,1015675,63,1,1,2,1,2,1,2,,40,0,2,230,2,0,1,160,,,,3,1,4,,,,1,2,,8,2,2,6,,,,,,1,4,18000,0,4,4,4,1,7,0,,0,0,0,21,0,0,0,1,0,2,308,,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,18,61,102,95,102,66,59,53,56,61,22,20,16,68,105,59,17,56,25,66,101,75,22,20,17,65,55,57,81,58,106,108,100,74,22,54,80,75,23,58,106,71,22,18,19,64,46,48,58,52,110,121,88,53,24,61,92,74,108,56,19,74,104,108,132,86,56,52,63,56,23,21,19,67,121,59,19,71,102 H,6581,8,300,4,16,1015675,88,1,1,1,,3,2,2,,30,0,640,20,1,340,1,,1,840,1,1,1,5,,,,1,1,,15,2,660,3,,,,,,1,4,75000,0,4,4,4,1,5,0,,0,0,0,16,0,0,0,0,0,1,998,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,32,59,129,137,85,93,156,130,161,39,58,27,88,73,81,23,18,134,82,29,93,109,85,144,125,27,139,26,118,104,26,151,26,183,95,65,72,94,52,131,123,73,28,91,61,87,25,134,34,167,77,130,71,96,86,151,124,24,103,181,107,24,68,30,21,135,143,182,106,81,144,92,133,44,22,66,68,96,212 H,6789,8,600,4,16,1015675,321,2,1,1,,3,3,2,,60,0,2,20,1,,1,,,,,,1,5,2,850,,1,3,,,2,160,3,7,59000,4,943,19,1,3,59000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,307,330,510,103,566,302,89,100,104,352,596,104,301,323,316,314,525,479,294,352,328,333,592,98,562,317,94,88,88,365,558,104,323,299,331,289,536,489,318,327,318,281,106,551,95,319,493,501,508,334,103,463,297,366,366,328,109,98,291,314,332,381,86,520,103,311,557,467,519,287,87,564,345,337,367,326,91,99,323,291 H,7426,8,300,4,16,1015675,77,2,1,1,,2,2,2,,80,0,2000,3,4,380,1,,,,,3,1,5,,,,1,2,,8,1,520,8,8,21000,4,,,1,3,21000,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,1,1,2,323,,0,1,2,1,15,15,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,92,121,65,22,96,92,22,97,144,83,84,70,65,71,84,70,29,32,29,141,90,124,67,21,69,84,29,75,110,122,135,86,100,65,51,62,27,22,23,122,81,100,64,20,55,86,23,82,181,110,180,97,74,87,72,86,24,25,28,146,76,152,117,27,82,70,21,56,104,136,127,74,77,78,74,88,21,14,20,170 H,7706,8,600,4,16,1015675,105,1,1,1,,3,2,2,,20,0,2,110,1,0,1,,,,,3,1,5,,,,1,2,,16,0,490,4,,,,,,1,6,25400,0,4,4,4,1,4,0,,0,0,0,13,0,0,0,1,1,1,271,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,110,30,174,104,115,116,33,191,98,103,34,102,30,35,172,169,113,105,32,111,106,173,35,103,94,103,194,30,107,108,165,94,181,182,28,30,107,110,28,109,113,184,31,99,111,101,163,36,111,102,182,101,180,160,27,36,99,110,182,113,101,29,165,100,101,109,32,206,103,99,31,111,38,31,192,162,107,126,186 H,7935,8,100,4,16,1015675,15,3,1,2,1,5,2,2,,100,0,2,440,1,2600,1,,,,,3,1,9,,,,1,2,,22,2,430,3,2,263570,4,,,1,1,263570,0,4,4,4,1,3,0,3,0,0,0,6,0,0,0,1,1,1,1251,,0,1,63,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,21,6,15,3,17,13,14,15,5,3,13,15,5,15,18,5,12,15,19,19,27,18,19,17,43,24,24,30,17,17,29,27,15,27,25,15,5,5,3,5,15,5,20,3,13,14,17,15,5,5,17,17,5,13,14,5,15,21,15,13,17,15,32,15,32,25,24,34,18,19,24,31,15,30,32,15,5 H,8107,8,800,4,16,1015675,126,5,1,,,3,5,,,60,0,2,3,3,260,1,,2,580,1,1,1,4,,,,1,1,,11,3,60,7,1,42000,2,,,2,1,42000,0,2,2,2,1,3,2,5,0,0,3,19,0,0,1,0,0,1,667,3,0,0,17,3,5,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,150,197,140,109,200,141,32,140,181,49,159,136,41,128,43,99,150,135,241,38,133,30,116,173,42,102,246,38,26,202,132,128,221,146,207,116,132,131,40,203,110,262,104,99,220,134,30,242,209,39,134,115,37,148,41,200,103,100,194,30,158,41,116,149,34,123,222,51,59,219,109,128,200,117,217,115,106,121,38 H,9597,8,200,4,16,1015675,113,2,1,1,,2,2,2,,40,0,880,3,4,600,1,,1,660,1,1,1,9,,,,1,1,,14,3,900,9,2,45304,4,,,1,1,45304,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,0,0,1,848,3,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,164,229,105,180,131,93,207,113,36,207,258,25,106,110,31,122,32,100,191,139,86,31,95,26,137,114,41,104,162,25,31,166,100,135,166,146,223,107,176,108,120,37,111,37,140,93,36,118,171,40,40,131,110,115,141,130,160,94,43,144,109,172,104,171,131,125,231,99,29,133,189,33,95,145,35,124,41,101,34 H,10517,8,700,4,16,1015675,25,2,1,3,1,2,2,1,,100,0,2,110,1,1800,1,,,,,3,1,6,,,,1,2,,19,4,2,9,1,144500,4,,,1,1,144500,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,1,777,,0,0,62,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,25,23,37,42,8,41,23,24,8,9,7,25,28,44,7,23,40,6,40,41,8,6,26,24,26,22,41,8,25,23,23,42,8,29,27,39,27,25,26,26,26,27,6,8,41,8,22,24,39,43,41,25,24,7,40,24,7,42,8,8,48,43,26,30,24,24,6,47,23,25,27,8,40,25,26,7,23,25 H,10579,8,900,4,16,1015675,58,2,1,1,,3,2,2,,40,0,600,3,5,400,1,,1,520,1,1,1,5,,,,1,1,,10,2,500,8,1,54000,4,,,1,1,54000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,2,652,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,15,85,18,38,93,92,95,48,21,122,65,48,56,68,15,16,67,50,55,48,113,23,93,80,15,16,18,61,97,13,60,68,66,62,102,99,50,55,64,59,88,16,97,70,19,15,18,62,122,18,60,63,74,57,88,87,60,63,61,52,20,84,15,58,88,99,108,56,16,106,60,61,51,53,16,13,56,54,60 H,10717,8,800,4,16,1015675,87,2,1,1,,3,2,2,,80,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,2,2,9,4,11300,4,,,1,1,11300,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,76,86,91,137,106,89,27,140,22,27,72,73,132,151,25,73,79,82,18,134,78,82,104,22,103,104,149,24,140,124,92,98,29,27,159,93,120,81,159,26,97,88,81,136,88,72,23,139,29,24,77,90,143,134,24,92,95,84,27,148,101,99,72,26,82,84,154,27,153,159,69,80,25,25,144,94,80,87,144 H,11251,8,300,4,16,1015675,11,2,1,1,,3,2,2,,30,0,1200,190,2,500,1,,1,280,2,1,1,8,,,,1,1,,14,3,300,7,4,40400,4,,,1,1,40400,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,2,2,1,673,3,0,1,13,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,15,10,2,16,18,12,10,3,10,10,10,17,3,10,13,16,21,12,5,1,20,11,4,20,17,11,11,3,12,11,11,8,4,10,8,18,18,13,4,4,23,10,2,16,18,8,9,4,13,13,12,7,3,12,11,18,18,12,3,3,15,12,4,18,20,13,10,2,10,10,12,13,3,13,11,19,15,15 H,11372,8,700,4,16,1015675,111,3,1,1,,4,2,2,,120,0,2,80,1,380,1,,1,1200,1,1,1,8,,,300,1,1,,18,2,520,3,1,187001,2,,,1,1,187001,0,2,2,2,1,5,1,3,0,0,1,11,0,0,1,0,0,1,1743,1,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,174,201,114,31,111,182,113,111,208,102,31,30,33,116,110,99,106,106,183,31,32,29,107,190,105,34,107,119,33,111,191,188,191,105,108,114,127,110,30,197,209,183,106,34,110,185,104,116,195,105,35,31,32,98,103,116,108,133,190,29,29,31,111,187,107,34,111,112,31,120,201,197,175,112,102,101,119,98,32 H,11397,8,900,4,16,1015675,106,3,1,1,,4,2,2,,80,0,2,10,1,450,1,,1,370,1,1,1,6,,,,1,1,,11,2,540,9,2,28800,2,,,1,1,28800,0,2,2,2,1,4,1,3,0,0,1,21,0,0,1,0,0,1,505,3,0,1,11,1,8,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,95,93,107,108,84,191,168,196,116,25,101,211,104,110,186,111,29,41,232,191,103,63,86,113,86,30,41,33,125,191,108,41,95,114,30,94,181,163,187,157,101,101,125,83,86,38,35,26,106,167,128,30,85,134,31,100,186,170,31,38,142,87,89,90,106,172,206,276,126,37,106,145,101,113,188,80,35,33,32 H,11618,8,900,4,16,1015675,62,4,1,2,1,2,2,2,,100,0,1000,250,4,,1,,,,,,1,4,2,500,,1,3,,,2,580,9,1,42500,2,981,28,1,1,42500,0,2,2,2,1,5,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,127,124,52,13,57,111,70,48,118,85,15,12,18,57,61,67,71,60,22,90,79,103,59,22,65,115,76,62,117,56,15,16,22,62,53,75,70,58,126,15,17,22,48,98,91,13,45,74,24,64,162,110,102,54,39,71,80,58,118,17,13,16,59,80,58,18,64,60,18,69,90,98,110,53,56,88,76,61,22 H,11753,8,300,4,16,1015675,73,2,1,1,,2,3,2,,190,0,2,3,3,350,1,,1,240,1,1,1,4,,,,1,1,,8,1,290,8,7,24800,4,,,1,3,24800,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,0,0,1,454,3,0,1,8,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,65,99,87,75,112,72,28,120,125,57,76,107,58,28,23,28,74,90,113,27,65,101,90,81,137,129,27,145,126,56,74,96,63,24,20,35,87,86,111,187,67,60,34,30,25,87,138,68,33,122,85,28,113,84,107,70,71,84,44,120,54,39,45,32,24,105,122,55,23,93,91,40,112,88,109,102,98,83,55,22 H,11765,8,900,4,16,1015675,101,2,1,1,,3,2,2,,50,0,2,20,1,470,1,,,,,3,1,5,,,,1,2,,12,1,430,7,4,21140,4,,,1,1,21140,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,1,190,,0,1,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,120,202,26,82,118,114,23,123,156,93,34,29,89,105,46,192,108,175,86,35,86,29,189,111,107,105,169,91,24,112,156,160,81,108,168,28,110,33,108,34,132,31,162,78,104,97,141,104,30,93,179,162,111,87,155,33,88,35,81,189,91,180,33,116,81,93,31,111,155,99,30,47,99,119,30,124,101,173,82 H,11994,8,300,4,16,1015675,110,3,1,3,2,5,2,2,,70,0,150,30,6,1100,1,,,,,3,1,9,,,,1,2,,20,3,40,2,2,60020,2,,,1,1,60020,0,2,2,2,1,3,1,3,0,0,1,9,0,0,1,0,0,1,475,,0,0,44,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,153,131,33,32,110,109,96,103,126,196,129,33,159,107,179,118,35,120,30,41,32,94,158,183,95,100,114,92,128,36,101,165,30,146,26,132,173,114,216,160,236,116,33,41,116,123,99,138,96,176,109,39,162,137,185,102,37,84,25,35,31,111,186,157,104,134,104,122,101,28,114,165,38,106,32,105,175,104,156,144 H,12073,8,200,4,16,1015675,124,0,1,3,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,120,39,45,50,124,105,132,139,156,190,227,206,119,45,162,257,127,100,31,198,102,36,42,35,104,119,107,132,118,208,196,183,110,40,123,189,116,124,52,185,123,39,37,48,144,152,141,120,125,204,245,228,136,38,121,235,137,116,30,207,96,31,43,32,108,88,100,120,123,237,175,217,109,35,146,206,136,121,47 H,12360,8,800,4,16,1015675,63,1,1,1,,3,2,2,,20,0,2,3,1,520,1,,,,,3,1,7,,,,1,2,,8,1,2,9,,,,,,1,6,8690,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,1,1,64,,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,55,59,17,61,56,116,108,18,21,97,59,17,108,111,59,74,15,67,62,60,58,68,20,56,59,121,107,21,19,98,53,18,112,110,68,67,19,74,71,63,65,61,96,56,67,19,18,107,104,17,61,100,18,18,71,56,97,72,76,60,71,55,111,65,56,20,23,100,118,17,81,103,20,20,49,74,100,55,68 H,12669,8,300,4,16,1015675,52,4,1,1,,4,2,2,,100,0,2,3,3,560,1,,,,,3,1,7,,,,1,2,,12,4,150,5,1,70000,2,,,1,1,70000,0,2,2,2,1,4,1,4,0,0,1,4,0,0,1,0,0,2,228,,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,72,45,48,90,54,95,54,51,62,13,50,16,49,48,13,48,92,15,15,81,88,56,44,95,48,78,51,40,56,13,61,15,58,60,13,59,107,16,16,18,13,46,51,13,55,14,51,62,46,101,49,85,56,56,91,51,13,99,95,14,16,53,48,16,57,15,47,53,57,80,49,84,56,51,95,45,15,68,88,90 H,12934,8,300,4,16,1015675,23,1,1,2,1,4,2,2,,70,0,2,3,4,,1,,,,,,1,8,,,,1,4,,,1,780,8,,,,,,1,6,13100,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,23,18,9,8,36,42,4,24,38,6,8,24,16,41,28,18,18,21,19,49,24,31,6,7,46,41,6,18,41,5,5,18,21,45,26,18,19,25,26,6,23,32,45,38,9,8,36,21,5,34,33,22,18,7,28,21,25,25,28,5,20,20,35,32,7,8,35,16,7,35,35,22,23,12,26,16,19,21,24 H,13453,8,700,4,16,1015675,72,2,1,2,1,1,2,2,,90,0,2,3,3,,1,,,,,,1,3,2,400,,1,3,,,1,2,5,,,,490,24,1,7,25000,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,21,20,24,20,77,21,76,24,80,71,73,68,18,23,74,65,19,63,71,125,77,79,76,77,128,80,136,73,136,115,132,119,62,73,128,110,60,139,126,71,108,138,130,126,63,116,76,122,74,76,67,68,128,132,68,75,138,73,72,19,78,66,68,81,24,80,20,77,20,22,21,24,77,74,21,20,79,20,22 H,13553,8,100,4,16,1015675,135,1,1,3,1,3,1,2,,50,0,2,3,6,190,1,0,,,,3,1,4,,,,1,2,,6,2,420,5,,,,,,1,4,20000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,0,0,2,151,,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,42,44,122,122,253,155,122,149,137,223,127,137,39,40,229,243,40,137,134,40,192,236,125,149,36,131,141,145,148,41,149,150,279,220,41,41,224,140,117,44,243,222,126,124,46,158,118,159,123,34,136,148,249,218,44,44,226,153,155,208,38,40,142,122,196,134,160,132,129,258,146,169,44,38,226,224,41,118,121 H,13723,8,800,4,16,1015675,101,2,1,2,2,2,2,2,,200,0,2,3,3,640,1,,2,600,1,1,1,4,,,110,1,1,,15,3,2,7,1,65000,4,,,1,1,65000,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,0,0,2,963,4,0,1,11,2,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,100,71,116,144,75,26,40,28,125,192,120,37,88,103,32,76,164,144,166,113,106,117,86,84,115,32,22,39,127,136,103,28,129,109,30,109,156,294,160,23,85,140,127,79,119,234,129,157,129,29,107,144,90,130,159,101,42,50,28,35,111,76,89,116,87,115,155,200,107,39,95,196,129,84,131,82,31,27,31,185 H,14109,8,600,4,16,1015675,102,1,1,,,1,9,,,80,900,2,3,3,,1,,,,,,1,3,2,140,,1,3,,,0,1,5,,,,220,37,1,4,7200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,178,33,101,28,30,96,31,174,109,100,97,175,117,33,105,163,169,91,106,100,30,164,100,185,168,103,157,30,107,105,111,32,107,175,100,32,33,106,105,101,32,174,96,189,194,104,175,31,96,99,112,27,100,177,99,32,32,117,104,91,168,29,99,32,32,113,30,175,109,108,106,173,96,34,105,155,176,104,112 H,14465,8,600,4,16,1015675,83,2,1,1,,3,2,2,,130,0,400,3,8,1000,1,,1,850,1,1,1,6,,,240,1,1,,17,3,240,5,1,74000,4,,,1,1,74000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,1273,2,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,24,86,88,23,87,147,23,25,137,84,91,149,85,137,80,85,81,23,25,82,147,79,84,144,85,24,145,146,24,84,81,25,84,26,92,79,82,132,134,78,24,85,84,24,81,160,25,26,141,78,88,143,84,147,89,82,84,26,27,89,144,79,84,133,82,23,136,141,25,89,82,23,86,24,73,88,87,142,133 H,14631,8,500,4,16,1015675,18,1,1,1,,3,2,2,,100,0,810,3,6,430,1,,,,,3,1,5,,,,1,2,,13,2,540,7,,,,,,1,6,12800,0,4,4,4,1,7,0,,0,0,0,30,0,0,0,0,0,1,320,,0,1,19,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,18,7,18,17,15,6,18,4,32,20,28,18,20,18,31,30,5,18,18,18,7,16,5,6,28,20,29,18,18,30,21,29,5,5,20,17,18,27,35,7,18,33,19,15,18,29,20,28,5,17,5,15,16,18,7,5,31,17,18,18,28,20,31,31,5,21,5,18,18,5,21,5,31,31,19,18,18,5,5 H,14899,8,800,4,16,1015675,34,2,1,1,,3,2,2,,30,0,2,40,1,590,1,,1,890,1,1,1,6,,,,1,1,,10,4,500,9,1,59300,4,,,1,1,59300,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,2,1002,3,0,1,22,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,9,10,50,33,8,51,76,32,26,10,27,37,33,37,12,31,46,78,61,23,59,52,10,69,57,7,12,41,29,43,26,38,37,46,60,21,30,16,14,34,8,11,68,33,11,71,60,29,29,6,26,41,34,31,10,37,52,63,62,43,41,41,12,51,53,8,14,32,22,44,30,32,37,34,60,43,41,13,12,34 H,15054,8,800,4,16,1015675,66,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,17,120,68,67,68,121,64,21,64,116,99,64,77,122,19,68,17,22,67,84,19,103,75,65,66,150,70,20,70,98,97,68,60,128,21,63,22,20,70,64,106,18,65,68,72,20,61,137,66,18,19,65,62,23,114,60,96,111,63,78,132,22,81,69,75,24,90,116,61,22,20,63,65,19,124,60,109,102,72 H,15142,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,15287,8,700,4,16,1015675,75,2,1,2,3,4,2,2,,180,0,960,3,3,1300,1,,,,,3,1,8,,,,1,2,,21,2,2,5,3,113100,4,,,1,1,113100,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,2,1,685,,0,1,50,1,8,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,22,70,67,78,20,80,151,76,25,25,80,70,21,129,74,118,115,76,83,111,25,88,65,71,22,85,134,83,25,22,76,71,20,123,73,139,138,72,74,22,130,75,84,81,136,86,25,78,141,121,72,77,131,21,66,24,26,73,70,21,114,74,77,69,125,70,22,77,126,127,74,87,133,22,70,22,23,70,76 H,15425,8,700,4,16,1015675,114,4,1,1,,3,2,2,,50,0,2,50,1,250,1,,1,600,1,1,1,8,,,,1,1,,17,3,400,2,1,78000,2,,,1,1,78000,1,2,2,2,1,4,1,4,0,0,1,11,0,0,1,1,1,1,733,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,110,201,107,122,192,105,202,36,35,115,112,114,185,115,36,120,33,31,187,132,108,197,118,121,188,110,197,34,32,115,125,116,186,109,31,105,35,35,183,110,114,31,113,107,37,112,31,202,174,117,110,114,35,123,201,109,197,181,34,113,115,33,120,120,33,117,32,181,195,116,101,112,37,115,204,115,187,199,36,107 H,15537,8,900,4,16,1015675,78,6,1,1,,3,2,2,,120,0,2,30,1,800,1,,2,830,2,1,1,5,,,,1,1,,14,2,2,8,2,30000,3,,,1,1,30000,0,3,3,3,1,2,4,6,0,0,4,44,0,0,1,0,0,1,1089,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,26,80,69,22,30,23,27,85,26,72,23,76,90,85,68,21,24,72,93,98,72,113,72,78,100,57,76,142,87,142,89,180,162,147,123,63,64,127,129,25,25,64,80,39,19,22,26,75,23,85,18,83,73,75,82,28,21,76,95,77,77,163,118,80,65,88,65,126,126,183,89,123,95,113,145,77,64,137,121,28 H,15656,8,100,4,16,1015675,39,1,1,,,2,6,,,10,0,2,1,1,,1,,,,,,1,4,2,500,,1,3,,,1,1,9,,,,510,34,1,6,17800,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,52,14,35,31,44,12,33,12,62,33,48,38,34,30,70,57,12,41,37,44,78,36,59,77,15,44,12,41,35,10,43,10,79,72,38,44,37,13,57,12,37,67,34,45,49,63,33,66,12,40,12,37,42,41,12,12,67,48,37,56,12,34,8,10,70,41,53,42,39,63,35,55,12,10,35,43,33,72,10 H,16170,8,500,4,16,1015675,73,1,1,1,,4,2,2,,40,0,2,20,1,600,1,,1,850,1,1,1,7,,,180,1,1,,18,1,480,1,,,,,,1,4,26310,0,4,4,4,1,1,0,,0,0,0,52,0,0,0,0,0,1,1130,2,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,21,84,76,67,79,71,130,135,134,73,24,73,124,68,70,136,65,120,126,105,124,73,76,69,89,66,22,23,20,77,103,76,21,76,96,20,79,20,20,20,23,75,78,80,77,68,114,124,116,70,23,74,110,68,70,133,81,143,132,124,145,67,63,77,64,92,21,23,22,69,132,73,24,84,65,22,88,23 H,16173,8,300,4,16,1015675,27,2,1,1,,3,2,2,,50,0,800,100,2,200,1,,1,430,1,1,1,5,,,,1,1,,9,1,830,7,2,25000,4,,,1,1,25000,0,4,4,4,1,1,0,2,0,0,0,34,0,0,0,1,0,1,716,3,0,1,10,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,32,9,10,9,29,35,34,31,28,55,55,41,31,10,34,52,29,32,10,42,31,8,10,8,23,28,27,26,26,49,37,48,31,10,32,41,29,22,55,6,28,55,67,44,30,38,33,24,19,11,6,8,28,51,36,10,35,26,47,8,22,55,56,43,26,32,36,26,24,8,10,10,31,42,28,9,24,25,8 H,16338,8,200,4,16,1015675,49,1,1,1,,2,1,2,,2,0,700,3,4,80,1,0,,,,3,1,4,,,,1,2,,1,1,1,5,,,,,,1,4,15600,0,4,4,4,1,5,0,,0,0,0,5,0,0,0,1,1,1,65,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,22,16,62,9,54,74,75,48,66,55,54,46,50,13,64,53,19,66,84,38,48,61,82,47,17,75,49,74,44,11,35,18,83,49,17,12,65,63,66,12,97,93,47,94,60,54,16,45,17,43,8,37,48,104,40,41,83,13,15,54,50,48,14,84,119,16,46,19,46,70,45,93,17,58,58,55,41,39,52 H,16705,8,600,4,16,1015675,107,1,1,1,,2,1,2,,50,0,2,40,1,0,1,3900,,,,3,1,4,,,,1,2,,3,1,1,5,,,,,,1,4,7000,0,4,4,4,1,4,0,,0,0,0,72,0,0,0,0,0,1,422,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,115,113,186,96,111,111,102,182,99,109,34,32,184,180,32,104,178,30,101,31,105,108,189,112,114,110,97,177,121,107,32,34,190,189,37,112,175,31,111,178,111,110,34,103,113,113,108,29,101,106,186,164,33,33,188,108,31,180,106,168,109,112,31,110,122,107,106,32,115,104,189,188,30,32,191,108,31,189,110 H,16739,8,100,4,16,1015675,76,5,1,1,,3,2,2,,150,1800,2,3,6,410,1,,2,500,2,1,1,5,,,,1,1,,16,3,600,3,8,8500,2,,,1,3,159600,0,2,2,2,1,3,1,2,0,1,1,6,3,0,1,2,1,2,834,3,0,1,24,1,14,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,101,120,73,69,20,73,86,76,78,24,76,69,151,141,21,20,137,77,21,87,22,24,96,69,114,72,68,76,83,118,78,77,24,24,132,128,22,73,120,71,29,22,79,71,131,88,86,74,79,136,72,71,22,20,118,123,24,64,109,64,118,133,69,79,22,57,83,96,70,20,74,79,121,151,24,24,132,71,19,75 H,17229,8,500,4,16,1015675,100,5,1,1,,3,2,2,,40,6000,2,40,1,300,1,,2,350,2,1,1,6,,,,1,1,,15,2,680,2,7,25700,3,,,1,3,25700,0,3,3,3,1,3,3,5,0,0,3,30,0,0,1,0,0,1,637,3,0,1,27,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,84,168,119,113,27,33,189,160,32,96,184,33,30,94,87,164,97,109,94,102,90,177,104,120,34,30,146,174,37,90,189,31,28,100,95,146,108,103,113,100,100,154,93,103,29,30,194,174,27,103,182,33,29,110,120,179,94,90,106,135,102,177,94,83,31,38,176,145,28,110,169,30,27,126,93,157,85,103,102 H,17605,8,400,4,16,1015675,68,2,1,1,,4,2,2,,410,0,2,3,3,620,1,,,,,3,1,8,,,,1,2,,18,2,600,6,4,34400,4,,,1,1,34400,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,2,2,2,720,,0,1,37,0,9,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,24,20,19,64,57,59,57,50,118,94,80,48,26,122,144,65,70,144,78,152,93,88,119,59,69,66,51,62,21,20,24,60,106,107,27,59,71,26,75,111,93,103,95,62,75,69,72,72,17,19,15,60,118,98,22,60,64,22,70,19,15,24,19,57,97,69,61,78,134,150,132,89,19,89,122,49,63,140,65,27 H,17795,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,18219,8,800,4,16,1015675,44,2,1,1,,1,2,2,,100,0,2,60,8,380,1,,,,,3,1,5,,,,1,2,,8,1,2,9,8,69200,4,,,1,3,69200,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,1,1,2,193,,0,1,2,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,68,95,47,50,78,37,14,68,63,12,43,38,10,34,15,32,36,53,72,12,45,15,39,49,15,42,70,12,19,69,41,46,70,40,66,40,46,55,51,13,46,14,56,54,10,41,81,10,12,92,33,40,79,35,69,41,40,43,12,74,37,75,65,48,75,48,14,55,94,12,38,43,16,57,16,45,51,54,12 H,18407,8,800,4,16,1015675,10,3,1,1,,1,2,2,,110,2300,120,10,1,,1,,,,,,1,3,,,,2,4,,,1,220,8,8,80,1,,,1,3,1080,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,3,8,9,2,8,15,20,19,14,10,14,11,10,4,2,3,8,16,16,11,4,15,15,3,11,16,17,19,5,9,16,13,14,4,3,4,9,15,3,12,12,10,12,16,12,3,2,3,6,8,12,11,16,20,18,20,12,6,5,8,24,7,9,22,9,2,4,3,11,15,12,8,12,21,21,24,10,4,35 H,18795,8,900,4,16,1015675,70,2,1,1,,3,2,2,,30,0,2,30,1,500,1,,,,,3,1,6,,,,2,2,,14,2,500,9,5,90000,4,,,1,2,90000,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,0,0,1,227,,0,1,22,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,62,64,75,112,68,17,65,83,119,80,61,106,20,70,22,23,67,18,94,22,58,74,92,20,70,133,73,23,19,61,86,23,130,74,114,124,58,102,81,24,69,71,66,27,80,94,64,18,20,77,60,24,135,69,110,95,84,122,69,113,74,51,88,124,64,22,80,115,108,79,60,134,27,59,19,18,63,16,77 H,18947,8,400,4,16,1015675,90,2,1,2,2,4,2,2,,50,0,400,200,2,660,1,,2,750,2,1,1,6,,,,1,1,,20,3,2,2,4,35400,4,,,1,1,35400,0,4,4,4,1,4,0,2,0,0,0,42,0,0,0,2,0,1,1230,3,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,86,168,175,172,79,22,75,155,76,104,128,97,29,22,25,89,83,93,173,97,102,26,24,23,91,191,84,24,108,96,26,89,172,160,156,95,92,85,30,89,75,133,161,155,78,28,102,162,96,131,130,81,28,21,28,88,85,105,150,91,96,27,23,30,115,144,73,31,121,89,25,85,119,144,149,93,107,83,27 H,19260,8,200,4,16,1015675,82,4,1,1,,3,2,2,,120,0,300,3,3,300,1,,1,740,1,1,1,6,,,,1,1,,14,1,200,2,8,41000,2,,,1,3,41000,0,3,3,3,1,2,3,4,0,0,3,26,0,0,1,0,0,1,902,3,0,1,26,1,14,15,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,170,61,138,68,89,26,56,22,87,23,78,102,166,80,74,117,24,28,24,77,84,24,87,128,29,55,33,111,103,148,127,22,83,115,169,62,127,79,79,24,36,80,27,84,87,102,55,200,85,111,88,59,25,91,101,31,137,170,163,62,99,122,85,22,148,101,130,55,30,98,24,177,74,21,22,56,112,71,76 H,20178,8,300,4,16,1015675,33,4,1,2,1,3,1,2,,90,0,2,3,3,300,1,300,1,700,1,1,1,6,,,,1,1,,13,2,2,1,2,36450,1,,,2,1,36450,0,1,1,1,1,2,2,4,0,0,2,27,0,0,1,0,0,1,815,3,0,0,12,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,12,35,50,43,54,34,33,38,29,48,8,11,10,27,65,41,13,31,58,41,18,34,45,57,56,33,33,34,33,31,11,8,7,43,64,37,8,29,10,31,39,37,12,11,10,32,38,40,46,31,66,53,58,36,9,31,37,33,11,36,57,42,10,10,13,35,30,50,36,28,62,73,57,27,8,24,48,40,55 H,20256,8,900,4,16,1015675,63,0,1,2,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,6,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,79,19,16,21,48,108,63,23,56,68,19,53,99,101,103,66,66,75,56,119,61,16,17,16,59,112,60,22,65,62,18,53,94,99,103,67,58,60,53,17,53,103,113,103,51,21,74,132,49,56,94,58,20,25,18,72,63,57,51,17,56,113,121,100,59,20,83,107,61,61,99,55,19,22,13,64,67,61,65,108 H,20380,8,600,4,16,1015675,369,1,1,,,0,9,,,2,0,2,3,9,,2,,,,,,2,1,1,430,,2,3,,,0,2,3,,,,430,101,1,4,1900,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,654,113,339,338,683,639,632,362,348,113,635,356,110,424,369,378,394,98,110,387,371,336,652,106,345,333,352,607,119,365,370,603,378,626,632,108,116,372,328,586,114,684,352,361,113,116,102,381,395,618,112,373,617,355,371,431,364,629,650,349,352,367,99,572,364,426,384,111,630,349,350,113,390,108,113,602,624,380,418 H,20733,8,300,4,16,1015675,112,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,177,159,33,126,173,26,33,108,101,221,138,140,111,96,232,120,108,35,78,42,180,177,28,133,238,35,30,139,117,176,135,99,110,111,145,121,100,37,94,30,186,155,36,96,148,28,35,112,120,216,113,111,117,121,228,110,138,36,101,41,168,178,29,118,200,32,35,121,141,185,118,129,109,126,177,118,111,37,130 H,20816,8,600,4,16,1015675,102,1,1,1,,2,3,2,70,20,0,2,20,1,160,1,,2,490,2,1,1,4,,,,1,1,,15,1,350,3,,,,,,1,6,19500,0,4,4,4,1,4,0,,0,0,0,45,0,0,0,1,0,1,739,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,183,30,104,84,182,181,157,100,93,32,174,97,27,97,107,102,100,29,162,99,98,104,30,165,111,106,97,30,183,96,107,28,107,33,32,191,161,105,112,166,29,177,110,101,31,27,30,97,96,167,31,90,168,104,100,93,101,173,28,95,101,111,174,29,112,96,97,180,31,96,106,181,103,166,180,30,30,104,99 H,20865,8,200,4,16,1015675,34,2,1,1,,2,2,2,,40,0,700,100,4,400,1,,2,230,2,1,1,7,,,,1,1,,8,3,60,8,2,34400,4,,,1,1,34400,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,2,2,1,504,3,0,1,11,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,37,13,42,74,41,27,58,39,10,8,10,29,37,34,35,45,61,59,11,51,32,11,42,61,41,42,57,39,11,10,10,33,34,35,34,27,50,56,55,8,34,74,40,9,35,50,12,31,66,57,59,34,40,39,39,38,6,8,44,8,31,55,38,12,36,38,14,34,48,67,40,32,42,35,41,30,12,11,10 H,20983,8,800,4,16,1015675,76,1,1,1,,3,2,2,,20,0,2,130,1,230,1,,1,750,1,1,1,5,,,,1,1,,14,1,30,2,,,,,,1,6,41300,0,4,4,4,1,3,0,,0,0,0,26,0,0,0,0,0,1,903,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,111,68,23,84,75,79,149,19,124,20,112,81,69,78,22,70,151,77,117,85,87,26,70,105,153,122,82,85,87,92,72,25,22,20,98,129,71,24,21,74,78,126,77,25,24,25,74,66,65,67,62,136,120,128,68,20,82,122,79,114,24,82,150,70,77,82,26,153,19,127,26,82,74,76,139,77,29,82,69 H,21091,8,100,4,16,1015675,253,2,1,1,,4,2,2,,70,0,2,3,3,500,1,,2,1000,2,1,1,6,,,,1,1,,19,3,190,6,1,65000,4,,,1,1,65000,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,0,0,2,1220,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,258,71,374,251,233,248,83,429,246,288,88,247,100,76,429,387,229,291,457,217,225,67,345,266,249,253,72,461,263,238,93,269,81,72,421,458,244,285,85,218,252,449,83,266,257,214,430,84,261,237,419,242,418,354,76,72,251,267,76,270,237,430,76,260,253,212,395,76,278,250,453,284,452,452,82,68,254,283,420 H,21352,8,100,4,16,1015675,172,5,1,1,,4,2,2,,50,0,2,100,1,,1,,,,,,1,8,2,880,,1,3,,,2,50,2,5,20000,3,1034,26,1,2,47000,0,3,3,3,1,2,3,4,0,1,3,,2,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,294,158,299,191,198,43,218,49,178,48,165,136,317,191,180,268,44,48,47,168,204,51,157,290,52,195,48,220,316,154,303,54,166,317,249,210,173,152,168,47,60,163,52,178,161,309,174,304,180,298,220,212,45,135,152,66,246,225,306,176,180,328,161,51,313,173,309,150,51,179,52,279,165,56,49,181,170,165,177 H,21447,8,300,4,16,1015675,27,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,12,28,38,10,8,22,25,47,31,26,28,25,42,33,32,10,9,48,36,7,39,22,8,41,44,22,22,9,26,28,25,29,9,23,34,52,42,7,23,45,9,26,37,6,7,24,26,54,26,25,32,28,47,31,31,8,10,49,28,7,42,28,8,45,48,28,23,6,28,28,30,30,8,29,27,50,42,7,21 H,21570,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,21746,8,900,4,16,1015675,44,2,1,1,,3,2,2,,50,0,2,70,1,200,1,,2,230,2,1,1,5,,,,1,1,,9,1,660,5,1,45000,4,,,1,1,45000,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,1,0,2,459,3,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,41,43,80,37,10,64,65,10,40,41,14,54,11,37,36,41,71,38,52,13,51,44,13,41,61,11,12,66,46,41,73,46,71,58,48,36,14,42,13,65,50,46,80,39,12,77,69,12,51,45,12,34,10,52,38,41,82,32,86,16,36,43,12,45,93,13,13,66,36,40,78,49,75,42,41,36,10,48,17 H,21763,8,600,4,16,1015675,106,2,1,,,2,5,,,20,0,2,20,1,,1,,,,,,1,4,2,550,,1,3,,,2,1,4,,,,590,10,1,7,73200,0,4,4,4,1,3,0,,0,1,0,,3,0,0,2,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,100,28,117,33,27,34,29,111,99,35,28,114,32,30,109,110,96,112,172,110,191,120,184,113,108,122,108,198,193,97,101,179,100,115,196,221,183,168,104,180,104,176,126,179,180,187,196,110,120,178,171,106,218,195,122,104,104,105,29,112,31,111,31,101,96,94,98,33,33,109,109,33,127,121,32,32,28,34,105 H,21847,8,900,4,16,1015675,63,1,1,1,,2,2,2,,200,0,2,3,3,380,1,,,,,3,1,4,,,,2,2,,8,3,420,8,,,,,,1,4,15800,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,0,0,2,281,,0,1,5,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,55,16,89,96,26,57,48,18,51,22,70,48,83,91,50,124,68,78,105,17,45,18,134,130,24,73,68,20,65,18,71,64,71,121,47,131,56,45,131,18,80,14,80,110,21,66,55,15,55,21,68,66,63,98,77,85,49,63,104,22,43,19,111,118,23,54,70,21,63,18,63,73,66,98,60,102,60,64,100,17 H,22364,8,500,4,16,1015675,62,3,1,2,1,3,2,2,,170,0,2,3,3,600,1,,1,640,1,1,1,6,,,,1,1,,18,4,2,3,2,25000,1,,,1,1,25000,0,1,1,1,1,5,1,3,0,0,1,39,0,0,1,0,0,2,810,3,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,104,16,113,129,66,59,16,16,100,70,66,70,96,64,58,69,18,66,81,107,17,105,19,16,64,62,103,109,20,71,58,65,16,60,65,61,115,51,60,18,95,22,94,100,64,66,19,21,118,54,64,58,93,62,66,65,20,68,56,108,16,121,19,18,65,57,114,96,22,52,58,62,20,60,62,79,116,57,56,18 H,22405,8,100,4,16,1015675,129,2,1,2,1,3,1,2,,30,0,2,3,3,370,1,0,1,700,1,1,1,7,,,,1,1,,17,4,180,2,2,35000,4,,,1,1,35000,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,0,0,1,745,3,0,0,24,1,3,3,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,122,143,199,119,43,52,39,150,124,98,124,116,175,252,185,124,40,135,230,42,150,158,40,92,199,229,212,129,121,132,102,107,39,34,35,142,209,133,40,212,143,159,196,129,48,42,32,134,132,107,125,115,188,197,206,167,42,143,277,40,94,129,37,112,216,163,205,130,118,133,99,133,37,41,39,133,263,129,37 H,22808,8,600,4,16,1015675,110,1,1,1,,2,2,2,,50,0,2,4,1,210,1,,,,,3,1,4,,,,1,2,,9,1,300,9,,,,,,1,4,26000,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,0,1,187,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,105,34,110,109,31,103,186,197,182,111,104,117,112,126,36,32,29,101,175,204,104,31,113,117,31,105,182,178,174,125,110,116,124,116,31,31,33,119,198,32,113,194,108,110,194,122,34,32,30,111,106,109,109,112,202,207,216,108,32,31,112,188,103,109,181,112,37,29,30,106,104,107,110,108,197,194,178,109,32,185 H,22996,8,700,4,16,1015675,132,2,1,1,,2,2,1,,40,0,2,140,1,1000,1,,2,460,2,1,1,5,,,,1,1,,18,2,540,9,,,,,,1,5,33420,0,4,4,4,1,5,0,,0,1,0,33,2,0,0,1,1,1,911,3,0,0,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,119,116,37,113,119,232,228,40,44,248,126,34,212,243,143,138,42,128,124,137,115,122,37,130,133,236,217,45,42,234,145,38,237,230,115,134,45,151,140,148,160,131,36,133,121,228,201,39,36,220,136,48,229,209,159,140,40,136,129,129,144,149,37,130,116,214,223,33,36,202,138,40,198,200,136,138,41,129,127 H,23050,8,400,4,16,1015675,137,2,1,2,1,3,2,2,,40,0,2,3,6,400,1,,1,720,1,1,1,5,,,,1,1,,17,3,2,3,5,36600,2,,,1,2,36600,0,2,2,2,1,3,1,2,0,0,1,25,0,0,1,0,0,1,760,3,0,1,1,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,46,223,197,120,130,161,41,167,257,122,223,221,48,157,44,136,145,41,136,141,39,184,171,118,143,156,42,130,234,119,152,212,39,139,42,139,151,39,157,153,46,189,191,137,140,111,38,139,176,150,247,239,52,126,47,158,106,37,132,175,48,163,297,139,101,199,51,128,232,137,228,251,42,132,35,112,130,40,214 H,23103,8,300,4,16,1015675,62,2,1,1,,3,1,1,,60,0,300,3,3,,1,,,,,,1,6,2,200,,1,3,,,2,2,5,7,45800,4,285,7,1,3,45800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,66,76,56,18,20,18,63,114,67,21,70,75,18,58,128,111,105,77,66,87,70,62,59,20,16,14,57,95,55,18,63,60,16,63,101,95,116,72,67,123,78,76,65,23,25,17,59,104,56,15,74,64,23,70,82,106,126,60,61,86,61,58,51,21,20,18,69,107,62,18,69,59,16,49,96,109,98,57,65,86 H,23162,8,100,4,16,1015675,115,2,1,1,,2,2,2,,100,0,2,40,1,280,1,,,,,3,1,6,,,,1,2,,18,2,100,3,4,40000,4,,,1,1,40000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,2,1,365,,0,1,35,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,119,132,127,133,41,37,204,37,130,103,211,174,174,118,99,32,229,127,39,121,225,201,35,33,108,95,98,110,179,37,109,110,102,205,33,102,146,199,126,208,136,126,98,107,224,181,35,212,106,122,38,29,38,127,120,205,32,126,228,116,32,33,173,181,106,138,111,113,39,226,134,125,100,31,199,113,89,31,107 H,23309,8,100,4,16,1015675,117,1,1,1,,3,2,2,,80,0,2,2,1,400,1,,2,890,2,1,1,6,,,,1,1,,21,1,190,5,,,,,,1,6,40000,0,4,4,4,1,2,0,,0,0,0,35,0,0,0,1,1,1,1177,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,117,107,33,34,118,162,103,169,38,205,130,191,127,38,34,107,203,123,118,36,218,34,125,123,32,143,34,103,109,120,215,103,210,119,126,184,117,36,173,135,112,135,34,34,125,202,129,221,34,197,123,184,98,30,31,115,199,96,105,31,226,37,107,113,34,115,40,134,118,129,181,121,200,105,122,179,110,35,186,98 H,23935,8,900,4,16,1015675,23,4,1,2,1,3,2,2,,40,0,2,60,1,360,1,,2,600,2,1,1,9,,,,1,1,,14,4,600,4,1,81900,2,,,1,1,81900,0,2,2,2,1,5,1,4,0,0,1,12,0,0,1,0,0,2,805,3,0,1,8,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,37,45,10,9,38,26,7,42,37,18,20,7,27,26,22,23,7,28,23,20,45,38,8,8,47,23,6,51,39,26,24,7,21,20,18,22,7,18,25,21,8,9,36,40,5,21,44,7,6,25,26,38,25,22,25,30,39,21,20,31,8,10,56,35,6,20,43,7,5,25,20,40,25,20,18,24,32,22,30,16 H,24695,8,600,4,16,1015675,115,3,1,1,,3,2,2,,170,0,1700,50,1,1700,1,,1,1400,1,1,1,8,,,700,1,1,,20,2,1100,8,1,277050,1,,,1,1,277050,0,1,1,1,1,4,1,3,0,0,1,11,0,0,1,0,0,1,2554,2,0,1,49,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,122,33,36,131,196,32,193,131,120,114,114,113,116,34,190,110,119,194,117,107,33,120,119,32,124,123,117,33,200,207,195,220,37,109,114,187,31,119,194,33,119,204,192,120,33,200,33,107,125,112,111,116,116,232,37,111,106,32,120,120,208,123,118,210,116,116,108,185,34,33,32,33,190,125,111,35,219,128,32 H,24723,8,900,4,16,1015675,34,1,1,2,1,4,2,1,,60,0,2,140,1,200,1,,2,110,2,1,1,8,,,,1,1,,17,4,2,7,,,,,,1,6,25200,0,4,4,4,1,7,0,,0,0,0,20,0,0,0,1,1,1,427,3,0,0,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,9,36,40,13,42,57,55,63,42,29,24,24,33,13,10,10,42,64,53,36,10,30,28,10,40,47,54,53,26,35,30,38,45,10,10,13,38,60,15,28,44,38,48,87,38,10,10,11,47,29,27,27,38,73,50,52,32,9,10,37,63,34,33,43,33,10,10,8,32,49,36,38,45,54,53,63,35,8,70 H,25388,8,800,4,16,1015675,108,3,1,1,,2,2,2,,90,0,380,100,1,380,1,,,,,3,1,5,,,,1,2,,14,2,420,9,2,16000,2,,,1,1,16000,0,2,2,2,1,4,1,3,0,0,1,30,0,0,1,0,0,1,406,,0,1,26,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,115,200,109,97,173,93,28,38,41,94,122,109,93,116,176,139,188,99,178,227,130,40,116,119,39,97,125,151,281,113,110,111,84,82,36,30,34,134,198,157,102,34,94,125,34,93,193,209,207,109,129,114,78,101,46,29,33,131,44,33,108,191,121,102,174,79,31,50,36,95,125,114,82,92,188,176,175,94,57 H,25650,8,200,4,16,1015675,296,0,1,,,2,4,,,,,,,,,1,,,,,,1,5,2,520,,,,1,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,113,266,306,378,468,110,96,438,281,102,514,517,327,302,89,307,342,257,296,330,413,308,319,97,97,434,452,92,302,442,86,107,289,297,453,268,284,287,334,355,119,290,352,448,434,97,81,453,293,87,399,427,295,317,92,326,358,277,250,320,512,316,298,102,104,404,454,100,265,401,84,106,372,318,420,260,268,257,293 H,25906,8,200,4,16,1015675,250,1,1,,,1,4,,,60,0,2,3,3,600,1,,1,600,1,1,1,3,,,,1,1,,12,1,300,8,,,,,,1,4,28200,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,0,0,2,685,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,269,308,264,254,312,139,84,267,114,439,73,423,395,255,308,315,264,255,237,178,90,217,404,75,86,265,266,406,268,258,187,291,342,226,281,97,104,285,369,112,296,344,267,267,245,61,89,302,74,356,110,317,223,421,353,258,259,222,312,264,102,202,336,75,112,241,248,412,199,266,289,238,340,253,297,111,118,334,445,82 H,26150,8,300,4,16,1015675,80,2,1,1,,3,2,2,,40,0,2,30,1,250,1,,1,900,1,1,1,7,,,,1,1,,16,2,540,2,1,73500,4,,,1,1,73500,0,4,4,4,1,1,0,2,0,0,0,17,0,0,0,0,0,1,1015,3,0,1,20,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,148,98,69,134,91,21,18,22,71,99,74,65,73,135,130,148,77,26,85,161,30,92,67,23,71,173,115,148,88,73,88,77,79,24,23,25,82,142,68,21,127,79,96,167,73,21,20,27,66,71,79,95,61,120,142,153,115,26,70,114,28,78,95,23,80,143,145,153,59,77,82,88,83,28,26,26,74,132,78,28 H,26253,8,200,4,16,1015675,74,2,1,2,1,2,2,2,,200,0,2,3,6,670,1,,1,1100,1,1,1,5,,,,1,1,,18,2,2,3,4,42500,4,,,1,1,42500,0,4,4,4,1,1,0,2,0,0,0,37,0,0,0,2,2,2,1300,3,0,1,20,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,22,24,65,80,112,75,91,82,80,114,68,80,29,22,118,129,19,66,85,103,19,30,77,79,124,67,77,79,74,118,78,71,28,26,115,115,17,68,70,24,121,109,71,89,26,59,62,77,66,26,93,75,130,137,16,21,120,63,68,22,155,142,80,70,20,80,64,67,78,24,71,66,157,124,21,22,119,72,58 H,26611,8,300,4,16,1015675,73,1,1,1,,3,2,2,,50,0,300,30,1,600,1,,1,1100,1,1,1,6,,,,1,1,,18,1,370,3,,,,,,1,6,70000,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,0,0,1,1236,3,0,1,33,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,129,118,111,168,24,74,70,126,29,74,60,23,80,73,18,78,71,68,66,23,133,144,131,127,24,70,72,122,23,66,68,23,76,92,23,73,71,74,81,151,20,21,25,21,108,85,85,26,130,70,64,129,67,71,101,65,67,83,91,119,19,20,19,29,121,72,86,23,129,78,69,140,62,76,127,71,74,66,74 H,26656,8,900,4,16,1015675,0,1,2,,,,,,,,1800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,26840,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,26962,8,500,4,16,1015675,183,6,1,1,,3,2,2,,60,0,2,60,1,,1,,,,,,1,5,2,730,,1,3,,,2,420,3,2,42300,3,885,25,1,1,42300,0,3,3,3,1,4,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,45,202,367,72,292,170,191,187,179,186,206,57,277,181,187,312,300,193,177,180,163,330,186,224,210,279,47,62,69,49,322,179,145,49,284,160,183,291,330,265,311,156,47,300,50,182,204,203,155,194,188,323,58,179,179,55,50,167,175,202,190,58,189,169,200,63,290,313,288,341,55,207,169,331,65,206,159,51,54 H,27065,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,27085,8,600,4,16,1015675,107,3,1,1,,4,2,2,,40,0,190,20,1,430,1,,1,800,1,1,1,8,,,,1,1,,17,3,520,5,1,64000,2,,,1,1,64000,0,2,2,2,1,5,1,3,0,0,1,17,0,0,1,0,0,1,919,3,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,112,173,30,96,195,213,100,107,96,109,104,31,97,170,35,104,29,112,29,193,112,187,33,103,182,210,110,99,117,103,102,30,107,192,35,111,32,112,183,29,98,34,196,108,32,30,118,100,109,105,107,164,109,33,188,100,168,115,193,30,104,37,182,111,37,29,103,120,107,111,109,174,98,30,179,109,180,124,30 H,27268,8,800,4,16,1015675,88,2,1,1,,2,2,2,,90,0,1500,3,4,900,1,,,,,3,1,5,,,,1,2,,17,2,1000,7,4,74700,4,,,1,1,74700,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,473,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,25,92,158,89,91,96,160,97,156,28,90,20,79,98,81,24,32,178,79,24,75,139,101,156,141,25,85,27,97,90,24,83,30,152,142,105,84,96,209,94,27,102,161,78,88,69,138,89,168,24,90,28,91,73,92,26,28,146,78,27,103,166,78,130,147,23,92,28,98,98,24,87,27,130,146,84,87,82,119 H,27294,8,100,4,16,1015675,295,1,1,,,2,7,,,40,0,2,3,3,,1,,,,,,1,3,2,530,,1,3,,,1,1,2,,,,570,27,1,6,25000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,401,330,265,460,253,85,95,97,256,377,258,288,298,533,422,492,348,100,299,93,555,300,328,431,288,85,85,91,359,295,251,340,324,478,475,531,316,78,274,499,113,277,301,88,340,531,499,500,316,320,243,265,348,96,92,84,330,433,247,450,73,346,287,93,306,409,449,567,304,294,315,293,254,107,89,108,273,477,272,85 H,27348,8,700,4,16,1015675,27,4,1,1,,3,2,2,,100,0,2,50,1,300,1,,1,740,1,1,1,7,,,500,1,1,,18,3,600,3,1,33650,2,,,1,1,33650,0,2,2,2,1,4,2,4,0,0,2,51,0,0,1,0,0,1,1440,2,0,1,25,2,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,44,27,28,27,8,50,27,29,8,28,10,8,48,50,27,28,26,26,48,7,49,26,27,27,7,48,29,29,9,30,9,9,47,47,30,27,26,27,7,46,8,29,30,27,45,8,26,29,46,24,50,51,7,8,26,27,28,29,8,51,8,27,29,27,47,7,27,27,45,29,47,46,8,7,23,30,30,26,44 H,27390,8,800,4,16,1015675,42,4,1,1,,3,2,2,,70,0,2,3,3,580,1,,1,620,1,1,1,5,,,190,1,1,,12,3,50,5,1,47000,3,,,1,1,47000,0,1,1,1,1,1,2,4,0,0,2,23,0,0,1,0,0,1,884,1,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,83,14,86,46,39,51,50,44,63,10,59,39,47,65,66,53,12,14,43,10,42,37,44,12,57,78,60,103,14,39,41,69,12,36,45,12,42,53,78,38,12,61,11,36,35,39,52,55,37,57,14,34,48,14,15,39,71,128,71,76,47,48,49,55,10,15,19,12,82,40,55,12,76,42,37,91,36,41,17 H,27912,8,300,4,16,1015675,83,7,1,1,,1,2,2,,70,300,2,3,3,,1,,,,,,1,4,2,250,,2,3,,,5,400,9,8,8000,2,353,22,1,3,19300,0,2,2,2,1,4,2,5,0,1,2,,3,0,1,0,0,1,,,1,0,,3,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,149,24,144,139,87,82,27,28,137,77,88,82,120,84,78,102,21,66,96,161,66,106,73,84,25,21,85,80,101,21,122,24,80,166,137,128,72,27,25,62,149,23,157,178,90,88,25,21,133,79,76,74,122,77,100,74,23,84,87,132,73,64,82,94,23,30,76,80,81,29,127,28,90,129,141,122,118,27,25 H,27927,8,700,4,16,1015675,65,4,1,1,,4,2,2,,140,0,2,100,1,400,1,,1,1000,1,1,1,5,,,190,1,1,,17,1,40,2,8,47240,4,,,1,3,47240,0,4,4,4,1,2,0,4,0,0,0,36,0,1,0,2,1,1,1433,2,0,1,20,2,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,60,18,60,64,109,68,119,73,116,65,73,18,64,72,19,105,108,20,112,67,108,66,20,109,61,120,74,18,70,22,108,63,19,18,57,63,65,77,65,21,70,17,64,64,107,65,95,69,109,64,68,21,70,62,18,126,112,21,109,62,121,61,18,112,60,115,64,18,68,18,118,63,19,18,72,61,67,69,64 H,28426,8,200,4,16,1015675,46,3,1,1,,2,2,2,,150,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,2,5,5,9000,4,500,34,1,2,17500,0,4,4,4,1,1,0,2,0,1,0,,0,0,0,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,48,38,48,14,15,17,53,91,48,15,32,37,20,49,65,86,97,69,44,60,49,47,49,11,14,12,39,79,83,21,48,50,10,53,113,82,87,94,53,44,53,67,44,26,18,14,52,83,41,15,43,45,14,61,118,77,68,83,30,54,54,39,62,14,13,10,60,82,35,11,37,53,18,44,64,80,99,51 H,28456,8,800,4,16,1015675,125,2,1,2,1,3,2,1,,90,0,2,3,3,330,1,,2,620,2,1,1,7,,,,1,1,,18,2,2,2,1,66500,4,,,1,1,66500,0,4,4,4,1,3,0,2,0,0,0,15,0,0,0,0,0,1,838,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,129,37,140,186,124,133,197,121,39,31,34,133,136,111,110,131,236,220,38,185,148,29,126,260,97,129,193,151,46,38,43,141,124,98,132,97,246,261,36,200,122,29,114,166,91,102,246,182,43,31,44,87,133,154,138,113,201,343,47,192,132,45,121,170,116,128,262,122,40,32,39,129,121,118,127,163,239,229,42 H,28990,8,700,4,16,1015675,134,2,1,1,,4,2,2,,40,0,2,150,1,500,1,,2,1700,2,1,1,8,,,100,1,1,,21,2,490,3,1,135000,4,,,1,1,135000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,2,2340,2,0,1,44,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,37,239,123,143,47,223,135,150,222,136,127,230,118,146,131,222,47,37,130,40,38,225,145,130,41,233,143,141,232,134,122,232,140,127,133,207,38,41,114,39,46,235,137,142,36,238,133,130,271,136,138,216,128,141,141,226,34,39,141,41,36,247,134,137,37,225,142,127,233,133,122,216,138,137,135,242,42,44,139 H,29262,8,400,4,16,1015675,162,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,240,167,46,186,351,191,142,263,152,44,53,42,150,177,153,167,180,300,253,51,226,177,50,158,352,164,148,344,177,47,54,48,142,145,135,181,171,264,286,49,241,153,51,216,227,160,187,227,148,40,51,51,141,188,184,158,168,285,257,44,268,170,49,179,326,146,141,294,144,59,64,52,170,151,132,163,167,261,254,38 H,29495,8,100,4,16,1015675,34,2,1,2,1,3,2,2,,410,0,2,3,3,,1,,,,,,1,5,2,820,,1,3,,,2,2,4,8,7800,4,1230,101,1,3,7800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,15,15,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,68,9,28,56,10,11,32,34,50,28,49,32,32,64,29,37,10,7,67,29,49,9,37,50,10,9,34,33,52,28,32,35,38,54,41,33,9,12,60,48,11,52,25,8,61,64,37,36,11,31,47,38,27,8,25,31,61,45,10,35,7,69,36,8,57,54,31,34,7,28,36,37,36,11,29,28,56,68,10,44 H,29982,8,100,4,16,1015675,22,1,1,1,,2,1,2,,40,1600,600,3,6,,1,,,,,,1,4,2,150,,1,3,,,0,1,5,,,,240,96,1,6,3000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,30,29,37,19,29,27,6,20,7,26,20,7,25,32,5,7,34,22,7,21,5,19,7,28,24,18,34,21,29,19,20,39,24,5,27,39,8,22,7,26,7,18,5,22,21,18,47,20,27,21,25,39,22,7,32,39,7,22,36,25,42,22,37,19,21,20,7,22,5,21,25,9,26,41,6,7,41,20,34 H,30123,8,800,4,16,1015675,83,2,1,3,1,4,2,2,,130,0,100,3,8,510,1,,,,,3,1,7,,,,1,2,,17,3,2,3,4,35304,4,,,1,1,35304,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,0,1,232,,0,0,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,159,128,94,27,92,127,71,108,152,66,27,25,20,73,71,72,77,93,142,26,27,24,86,147,79,27,99,93,29,77,143,109,158,89,77,87,71,89,150,22,24,25,81,141,76,23,94,79,29,79,169,142,159,85,83,94,74,84,24,121,132,145,76,23,82,148,71,79,125,82,28,28,24,90,91,77,84,91,26 H,30346,8,400,4,16,1015675,120,4,1,3,6,3,2,2,,150,0,2,3,3,600,1,,1,1400,1,1,1,5,,,,1,1,,20,2,2,3,1,62600,2,,,3,1,62600,0,2,2,2,1,1,2,4,0,0,2,30,0,0,1,0,0,1,1550,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,40,137,142,226,155,115,96,130,160,151,89,46,33,185,200,31,114,303,59,167,179,160,143,25,135,95,97,95,26,100,110,254,244,33,37,239,75,26,284,98,195,121,126,42,180,130,93,152,35,128,76,231,202,41,32,166,148,46,210,142,34,225,168,126,119,100,124,150,129,116,96,29,41,202,187,51,83,158,42,112 H,30605,8,200,4,16,1015675,72,4,1,2,1,3,2,2,,90,0,2,20,2,700,1,,1,740,1,1,1,5,,,200,1,1,,16,1,2,3,1,73900,2,,,1,1,73900,0,2,2,2,1,4,1,4,0,0,1,17,0,0,1,0,0,1,1050,2,0,1,62,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,57,94,139,117,126,79,21,63,108,73,65,143,82,30,25,26,85,73,61,17,51,68,131,93,133,71,18,71,122,64,95,168,68,24,20,17,83,61,61,23,69,73,107,134,167,96,18,74,127,70,63,108,80,29,24,20,72,68,66,25,64,73,115,121,134,81,23,71,131,56,66,108,69,21,23,25,64,54,59,28 H,30679,8,500,4,16,1015675,72,2,1,1,,2,2,2,,50,0,550,3,4,410,1,,1,340,1,1,1,5,,,,1,1,,9,2,740,9,7,51000,4,,,1,3,51000,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,1,1,1,498,3,0,1,19,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,22,128,73,22,21,83,70,84,60,72,141,75,22,116,68,126,76,24,19,68,149,21,77,132,119,81,73,67,70,66,21,76,115,21,75,19,75,122,20,85,133,21,69,141,114,71,63,75,63,74,21,77,113,18,65,22,69,139,144,70,23,157,98,21,22,67,80,64,73,79,130,66,23,121,77,117,68,22,142 H,30833,8,600,4,16,1015675,100,1,1,1,,3,2,2,,40,0,2,90,1,440,1,,1,820,1,1,1,5,,,,1,1,,18,1,650,3,,,,,,1,6,58000,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,0,0,1,1004,3,0,1,47,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,30,31,177,159,30,101,161,27,29,104,98,177,105,91,98,109,174,98,107,92,28,28,169,150,30,102,169,27,28,103,114,177,103,110,104,100,165,98,114,99,174,177,29,30,172,99,29,172,183,94,109,28,92,103,96,95,28,99,96,98,180,166,32,28,161,97,29,179,182,100,96,31,112,101,106,100,30,97,100 H,30993,8,300,4,16,1015675,27,2,1,1,,4,2,2,,150,0,2,60,1,900,1,,1,850,1,1,1,7,,,850,1,1,,16,2,140,3,1,52000,4,,,1,1,52000,0,4,4,4,1,5,0,2,0,0,0,44,0,0,0,0,0,1,1922,1,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,10,36,51,29,20,25,6,26,49,29,52,45,8,25,6,31,30,10,27,24,8,48,57,25,33,33,5,26,45,28,45,56,10,28,8,22,31,11,30,38,53,8,8,29,28,24,56,31,7,26,8,9,39,31,47,28,21,38,30,29,43,8,5,27,33,27,47,25,7,32,8,10,41,32,41,26,27,44,26 H,31115,8,900,4,16,1015675,36,2,1,1,,3,2,1,,80,0,2,100,2,800,1,,2,1000,2,1,1,6,,,,1,1,,16,2,620,9,2,98000,4,,,1,1,98000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,2,1357,3,0,0,16,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,54,12,35,35,31,45,10,21,35,67,78,12,10,59,31,10,75,69,27,39,42,10,39,40,35,43,10,36,28,53,67,11,11,67,42,10,53,61,43,44,47,11,36,38,41,33,11,33,40,78,73,11,9,47,34,10,58,63,37,28,38,13,41,32,33,44,10,41,33,57,58,12,12,75,33,8,63,52,37 H,31211,8,900,4,16,1015675,86,6,1,1,,3,2,2,,50,0,300,30,1,500,1,,1,800,1,1,1,9,,,,1,1,,12,2,800,7,1,33000,3,,,1,1,33000,0,3,3,3,1,2,4,6,0,0,4,35,0,0,1,0,0,1,972,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,27,23,172,23,101,89,167,146,146,77,88,24,134,98,25,85,111,71,149,116,86,95,76,102,23,118,84,90,84,27,132,95,105,25,85,21,26,146,98,84,167,125,33,162,88,101,31,28,28,72,95,158,28,82,179,87,87,82,31,28,93,81,78,78,116,21,72,70,69,124,24,73,84,161,84,132,129,28,97 H,31461,8,100,4,16,1015675,93,4,1,1,,3,2,2,,40,0,2,250,2,500,1,,2,1300,1,1,1,7,,,,1,1,,21,3,40,3,1,98000,3,,,1,1,98000,0,3,3,3,1,4,2,4,0,0,2,20,0,0,1,0,0,1,1635,3,0,1,27,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,35,129,201,155,80,32,152,26,92,112,95,75,71,96,184,25,120,101,86,85,98,150,62,107,129,71,144,104,162,34,26,29,24,156,106,80,24,170,157,37,36,98,143,159,94,29,165,25,82,94,95,88,95,121,133,24,108,93,84,91,78,152,71,88,191,89,103,80,124,24,33,35,29,164,81,108,25,146,134 H,31825,8,200,4,16,1015675,114,2,1,1,,5,2,2,,100,0,2,150,1,,1,,,,,,1,7,,,,1,4,,,2,780,3,1,41500,4,,,1,1,41500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,29,34,121,132,237,97,94,150,96,176,97,130,31,26,200,194,37,118,89,229,39,43,120,102,166,115,128,123,121,196,105,97,32,49,165,165,42,131,122,187,38,33,129,166,227,110,144,120,102,169,135,128,33,27,164,223,30,96,109,149,33,40,133,86,210,133,87,101,139,181,94,125,31,32,189,222,51,102,161 H,31985,8,100,4,16,1015675,85,3,1,1,,3,2,2,,110,0,2,130,1,500,1,,1,520,1,1,1,6,,,,1,1,,12,3,550,9,1,60000,2,,,1,1,60000,0,2,2,2,1,4,1,3,0,0,1,16,0,0,1,0,0,1,806,3,0,1,36,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,85,90,167,89,78,29,27,120,133,24,73,136,25,24,81,88,165,82,85,92,81,86,153,82,82,23,25,133,140,28,95,149,27,25,79,85,151,91,89,76,110,89,128,83,73,26,27,123,129,25,92,142,22,25,99,84,152,94,100,80,83,82,160,85,90,28,23,158,137,26,102,150,26,24,89,75,135,83,74,76 H,32030,8,800,4,16,1015675,198,5,1,1,,3,2,2,,60,0,2,100,1,470,1,,1,620,1,1,1,5,,,,1,1,,12,2,750,7,5,49500,2,,,2,2,56000,0,2,2,2,1,4,2,4,0,1,2,18,2,0,1,0,0,2,843,3,0,1,12,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,64,184,75,284,156,233,201,276,194,81,286,294,347,215,162,349,103,229,224,338,290,183,323,73,198,165,220,53,181,334,186,57,56,211,172,59,310,236,279,60,55,270,61,302,204,173,173,358,173,58,210,326,330,199,246,479,55,170,154,323,402,232,262,54,184,177,193,78,282,337,160,63,59,177,228,60,302,191,176 H,32286,8,100,4,16,1015675,57,2,1,,,3,6,,,170,0,600,3,6,320,1,,2,580,2,1,1,7,,,,1,1,,18,2,830,6,2,17100,4,,,1,1,17100,0,4,4,4,1,5,0,2,0,0,0,72,0,0,0,0,0,1,1025,3,0,0,27,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,103,48,16,107,98,17,54,54,16,73,15,63,83,54,120,57,71,62,78,46,19,60,78,19,13,97,68,57,73,63,101,51,73,65,14,50,18,66,137,61,19,47,89,23,22,111,59,57,101,55,103,53,68,56,15,70,13,58,18,42,109,57,16,97,93,17,63,47,15,65,18,53,78,57,82,53,104,53,29 H,32709,8,200,4,16,1015675,15,2,1,1,,2,2,2,,60,0,1800,3,6,,1,,,,,,1,5,2,150,,1,3,,,1,2,9,4,12100,4,360,36,1,1,12100,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,5,26,23,5,27,28,14,15,5,15,17,16,18,5,12,16,34,30,15,25,24,5,15,26,7,3,18,17,24,17,17,15,18,26,15,13,5,6,16,31,29,5,14,26,7,5,14,21,29,16,15,16,15,20,17,15,5,5,18,5,3,28,15,3,34,28,16,17,5,15,17,19,14,4,13,12,36,29,20 H,32763,8,700,4,16,1015675,90,2,1,1,,3,2,2,,50,0,2,150,1,800,1,,1,950,1,1,1,9,,,,1,1,,20,3,410,2,,,,,,1,5,132200,0,4,4,4,1,2,0,,0,1,0,11,2,0,0,0,0,1,1184,3,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,25,140,147,87,174,82,88,31,105,25,81,23,77,111,161,81,103,138,22,78,84,91,91,27,89,163,30,94,28,92,145,91,152,29,102,141,146,105,92,27,29,176,152,97,135,90,93,24,89,24,90,27,81,90,163,81,81,162,28,91,92,103,92,29,98,151,25,84,30,84,143,93,148,25,85,149,153,87,80 H,33345,8,800,4,16,1015675,99,2,1,1,,3,2,2,,50,0,2,4,1,640,1,,2,1700,2,1,1,7,,,,1,1,,17,2,420,3,1,86200,4,,,1,1,86200,0,4,4,4,1,4,0,2,0,0,0,28,0,0,0,0,0,2,2042,3,0,1,36,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,112,161,29,121,181,161,87,87,89,97,108,33,97,182,34,76,20,96,31,164,115,150,27,100,159,181,116,110,90,101,113,29,102,188,27,103,28,96,169,31,103,29,162,91,31,30,103,102,110,107,97,191,120,28,175,115,176,90,172,22,100,32,174,121,29,29,89,104,106,99,107,162,91,29,160,81,179,110,36 H,33666,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,33943,8,800,4,16,1015675,76,3,1,1,,4,2,2,,90,0,2,3,6,400,1,,,,,3,1,6,,,,1,2,,12,2,310,5,7,28000,4,,,1,3,59500,0,4,4,4,1,6,0,2,0,1,0,4,3,0,0,0,0,2,216,,0,1,18,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,22,72,148,96,22,65,86,29,80,121,112,91,84,99,81,99,82,22,149,27,17,53,133,77,27,111,77,22,64,111,142,181,56,53,83,66,61,26,38,102,116,85,27,80,146,70,75,133,77,31,28,22,79,71,97,91,71,114,21,116,110,72,24,82,130,67,69,167,77,23,22,21,58,67,74,69,68,112,126 H,34038,8,900,4,16,1015675,21,0,1,2,,4,2,2,,,,,,,,2,,,,,,1,8,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,23,20,7,42,6,6,17,21,40,34,7,23,19,20,6,21,22,25,32,19,35,7,21,19,20,25,38,35,19,21,23,37,6,34,19,7,6,4,19,34,19,19,6,36,6,7,20,24,35,36,6,20,17,19,8,24,17,20,30,18,37,7,19,18,22,24,39,36,21,21,24,45,8,34,16,5,6,6,19,35 H,34200,8,100,4,16,1015675,130,1,1,1,,3,2,2,,30,0,2,190,1,310,1,,1,780,1,1,1,7,,,,1,1,,20,1,410,2,,,,,,1,6,27470,0,4,4,4,1,3,0,,0,0,0,45,0,0,0,1,1,1,1034,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,213,132,37,145,34,211,111,41,37,136,131,111,127,151,198,124,41,254,232,140,206,126,40,127,41,250,134,34,36,141,120,129,140,142,200,139,36,204,229,131,251,143,44,142,39,217,135,38,39,129,133,114,125,125,182,121,38,218,196,137,234,125,37,133,42,228,133,40,36,133,126,110,125,120,201,121,38,220,200 H,34894,8,900,4,16,1015675,109,1,1,,,1,5,,,80,0,2,3,3,,1,,,,,,1,3,2,330,,2,3,,,1,1,6,,,,410,20,1,6,25000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,98,122,87,173,213,52,164,108,111,36,33,49,114,116,237,26,110,192,154,30,35,161,169,104,106,102,99,34,172,112,117,132,33,186,98,119,45,95,115,130,102,105,92,26,41,204,30,132,109,186,169,201,138,129,34,132,130,41,36,216,149,33,30,103,116,106,105,224,34,106,121,103,163,29,97,107,207,123,126 H,34978,8,900,4,16,1015675,89,3,1,3,2,2,2,2,,60,0,1300,3,2,650,1,,2,550,2,1,1,5,,,,1,1,,14,4,2,6,3,97200,4,,,1,1,97200,0,4,4,4,1,4,0,3,0,0,0,12,0,0,0,2,1,1,939,3,0,0,32,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,159,92,25,30,29,99,89,89,83,81,152,151,151,87,25,91,139,89,85,159,25,90,140,161,129,90,96,94,100,79,28,21,27,89,121,99,26,86,99,154,26,110,157,162,160,86,82,83,96,80,26,24,27,100,136,120,28,79,92,29,139,79,26,25,20,83,101,92,90,82,138,158,167,80,29,95,159,95,66,30 H,34983,8,500,4,16,1015675,51,4,1,1,,3,1,2,,50,0,2,100,1,,1,,,,,,1,5,2,600,,1,3,,,2,2,4,7,17500,2,750,51,2,3,17500,0,2,2,2,1,3,1,4,0,0,1,,0,0,1,0,0,2,,,1,0,,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,21,88,98,17,22,61,16,55,57,93,76,78,48,113,56,44,14,58,58,83,70,39,49,59,53,82,42,18,74,39,82,44,12,44,19,60,47,20,15,116,53,43,42,49,49,59,62,13,64,48,66,39,17,39,17,80,62,20,18,81,18,133,80,19,13,49,18,43,47,94,60,78,56,86,46,53,16,63,91,41 H,35039,8,900,4,16,1015675,96,2,1,1,,5,2,2,,40,0,750,3,3,350,1,,1,590,1,1,1,8,,,50,1,1,,14,2,670,5,5,75000,4,,,1,2,75000,0,4,4,4,1,2,0,2,0,0,0,13,0,0,0,0,0,1,799,1,0,1,26,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,125,102,30,89,80,152,169,32,35,215,103,25,122,147,98,92,43,103,94,72,82,91,27,122,95,170,138,34,29,151,97,32,208,166,74,91,24,105,92,86,96,94,158,145,102,36,32,173,167,28,106,162,25,30,100,87,129,95,96,104,106,78,186,82,98,31,30,147,180,34,116,138,23,24,108,111,210,108,101 H,35274,8,200,4,16,1015675,152,3,1,1,,2,1,2,,2,0,2,3,3,380,1,0,2,390,1,1,1,3,,,,1,1,,3,2,2,4,5,34000,1,,,2,2,55000,0,1,1,1,1,4,1,2,0,1,1,9,2,0,1,0,0,2,422,3,0,0,6,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,308,165,130,320,144,40,59,39,150,164,132,148,152,274,273,217,165,59,182,57,251,121,147,260,142,51,42,44,188,140,134,125,130,245,252,235,121,45,201,47,285,157,162,262,145,50,44,48,187,180,128,137,145,240,207,251,182,46,170,42,234,123,201,293,126,60,41,39,203,159,138,153,169,203,288,277,113,42,142,49 H,35519,8,300,4,16,1015675,197,2,1,1,,3,2,2,,60,0,2,3,3,400,1,,1,670,1,1,1,7,,,,2,1,,14,3,40,7,,,,,,1,7,84100,0,4,4,4,1,3,0,,0,1,0,10,3,0,0,0,0,2,733,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300,196,242,302,52,252,184,352,220,203,64,206,184,336,56,59,197,59,175,243,187,344,293,216,189,301,53,180,76,63,199,52,320,232,159,245,375,206,51,51,57,184,196,59,325,223,209,75,163,196,350,231,192,78,363,306,185,318,189,187,190,61,51,210,202,62,325,211,337,292,218,306,64,217,183,181,61,188,305,293 H,36063,8,200,4,16,1015675,92,2,1,1,,2,1,2,,140,0,2,100,1,0,1,3000,,,,3,1,5,,,,1,2,,3,1,1,5,5,46900,4,,,1,2,46900,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,1,1,1,490,,0,0,1,1,11,10,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,44,28,104,57,130,150,106,89,75,169,101,102,33,25,150,156,31,80,87,27,133,171,92,97,30,77,92,92,87,23,98,115,140,162,29,24,132,105,109,34,213,153,80,80,26,89,85,92,96,26,69,81,160,139,29,35,160,95,91,151,35,44,78,112,172,77,73,112,103,133,83,99,34,27,134,133,22,98,87 H,36241,8,900,4,16,1015675,86,3,1,1,,5,2,2,,40,0,2,160,1,460,1,,1,760,1,1,1,9,,,490,1,1,,14,3,1600,6,8,95700,4,,,1,3,95700,0,4,4,4,1,7,0,3,0,0,0,20,0,0,0,1,1,1,1583,1,0,1,27,3,14,15,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,76,25,117,90,86,89,123,109,29,93,126,134,77,78,132,26,84,90,117,147,100,137,25,92,96,96,30,90,126,102,25,29,103,99,28,132,85,109,28,28,93,21,155,90,72,88,123,84,27,78,155,173,84,84,132,27,97,77,112,149,67,148,30,70,84,97,30,90,173,85,28,24,88,89,23,142,93,76 H,36328,8,500,4,16,1015675,211,3,1,1,,3,2,2,,80,0,2,150,1,,1,,,,,,1,5,2,750,,2,3,,,1,600,2,1,46720,2,1030,26,1,1,46720,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,207,220,63,63,62,203,400,219,67,238,204,66,223,372,325,312,222,178,353,216,242,199,63,57,52,198,374,223,56,219,180,69,227,410,385,313,206,240,64,234,217,228,371,349,350,216,73,211,317,250,220,393,261,66,60,57,178,190,67,180,203,210,312,376,376,223,64,183,315,217,200,353,214,75,69,60,200,193,391 H,36835,8,500,4,16,1015675,26,5,1,2,6,4,2,2,,300,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,4,2,9,4,40000,2,,,1,1,40000,0,3,3,3,1,5,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,45,8,28,8,25,41,31,41,8,24,42,46,27,30,30,30,26,8,48,27,6,43,24,47,28,7,29,9,42,24,8,9,26,25,28,26,26,42,48,28,9,45,26,39,30,7,27,6,46,29,9,8,29,24,29,29,26,45,7,27,36,7,33,8,23,49,25,52,8,26,58,49,23,28,27,24,26,8,10 H,36865,8,800,4,16,1015675,21,2,1,3,1,3,2,2,,80,0,220,3,6,0,1,,,,,3,1,5,,,,1,2,,11,0,2,6,8,25100,4,,,1,3,25100,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,169,,0,0,19,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,17,18,36,15,8,36,30,5,19,20,5,18,5,18,19,19,29,19,5,28,19,23,37,16,7,37,32,4,16,15,5,25,5,22,20,18,44,21,7,34,22,19,32,20,6,28,30,6,21,20,5,20,6,18,20,20,33,21,7,28,20,19,26,23,7,34,32,5,22,20,5,17,6,21,19,24,31,19,7 H,36886,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,37129,8,900,4,16,1015675,267,2,1,1,,1,2,2,,1,0,2,30,1,,1,,,,,,1,3,2,450,,1,3,,,2,1,7,,,,480,32,1,7,18000,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,291,86,295,232,335,330,89,106,269,329,79,305,231,81,146,72,94,240,381,258,358,243,408,411,507,373,208,333,485,395,285,356,394,220,233,291,290,451,81,73,389,95,307,261,259,366,162,75,331,203,114,302,249,84,102,69,124,257,296,243,352,287,431,400,315,326,227,255,316,391,273,392,591,323,207,259,274,634,71 H,37141,8,900,4,16,1015675,216,3,1,1,,5,2,2,,70,0,2,200,1,,1,,,,,,1,7,2,750,,1,3,,,3,720,5,,,,1080,24,2,5,53000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,221,157,194,232,214,230,191,229,333,319,108,355,292,55,251,188,128,275,276,402,176,199,233,64,222,76,207,170,112,288,313,81,72,261,208,194,382,195,291,343,239,252,170,88,224,130,195,211,109,224,321,84,103,388,211,222,212,210,84,80,154,168,156,317,236,289,188,205,252,177,88,322,407,90,204,238,74,250,65 H,37390,8,800,4,16,1015675,105,2,1,1,,3,2,2,,70,0,2,20,1,570,1,,1,1000,1,1,1,8,,,190,1,1,,17,2,2,5,1,61000,4,,,1,1,61000,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,0,0,2,1280,2,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,30,96,115,107,34,98,150,146,35,23,119,117,26,172,93,178,197,107,97,204,35,108,104,117,34,109,206,107,31,31,112,101,30,163,82,163,160,98,107,28,154,119,87,107,165,89,32,93,179,180,108,100,199,33,93,33,27,100,101,28,163,113,102,110,202,111,27,104,186,212,117,101,163,32,125,33,31,113,93 H,37392,8,600,4,16,1015675,109,2,1,1,,3,2,2,,40,0,2,30,1,600,1,,1,940,1,1,1,6,,,,1,1,,18,2,600,1,,,,,,1,7,35000,0,4,4,4,1,2,0,,0,1,0,36,4,0,0,0,0,1,1060,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,100,170,188,35,37,113,105,101,122,177,30,103,113,107,166,30,123,122,32,182,101,196,187,34,26,103,109,108,108,162,32,110,96,118,194,31,104,117,190,33,121,30,32,169,167,113,102,120,91,33,189,109,112,98,33,181,96,115,196,35,119,32,31,169,169,114,111,104,104,30,194,109,111,105,32,190,110,111,37 H,37521,8,300,4,16,1015675,75,7,1,,,5,4,,,1,0,1,1,1,,1,,,,,,1,6,2,390,,1,3,,,3,1,8,2,39000,2,390,12,1,1,39000,0,3,3,3,1,4,4,7,0,0,4,,0,0,1,0,0,1,,,1,0,,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,68,118,77,81,127,89,23,121,121,27,83,74,25,85,21,58,67,82,119,18,67,25,72,84,19,60,114,24,26,126,76,84,150,93,143,54,69,96,123,27,127,30,80,82,26,68,114,19,19,157,60,73,142,62,130,91,59,49,23,124,89,119,99,62,113,61,18,128,118,25,75,68,21,84,24,71,80,70,20 H,37610,8,100,4,16,1015675,110,1,1,1,,3,2,2,,230,0,2,2,1,790,1,,2,2200,2,1,1,8,,,,1,1,,21,2,450,5,,,,,,1,4,93000,0,4,4,4,1,1,0,,0,0,0,35,0,0,0,1,1,1,2738,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,106,187,117,142,191,101,30,170,183,30,109,95,32,127,30,121,101,106,194,35,108,32,114,126,31,110,187,28,34,217,116,101,188,117,168,122,105,113,31,183,114,202,132,129,189,102,35,194,216,29,118,100,31,107,27,116,122,110,170,38,114,32,119,121,33,109,186,30,28,193,105,99,178,92,154,125,115,111,34 H,37823,8,900,4,16,1015675,141,6,1,1,,5,2,2,,90,0,2,240,1,650,1,,2,1300,2,1,1,7,,,440,1,1,,19,2,650,3,2,90000,3,,,1,1,90000,0,3,3,3,1,1,4,6,0,0,4,34,0,0,1,0,0,1,2561,1,0,1,58,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,131,220,134,247,42,151,229,218,116,135,154,173,130,45,175,234,43,140,45,49,119,183,183,224,46,144,220,256,152,164,133,170,163,39,144,206,42,119,46,43,161,212,132,262,53,176,208,256,130,148,118,190,177,46,154,201,45,132,41,51,137,168,169,215,38,136,192,219,123,131,146,146,205,42,135,245,42,116,44 H,38163,8,100,4,16,1015675,102,4,1,1,,4,2,2,,170,0,2,2,1,,1,,,,,,1,7,2,1100,,1,3,,,2,60,3,1,101000,4,1275,15,1,1,101000,0,4,4,4,1,3,0,4,0,0,0,,0,0,0,1,0,1,,,1,0,,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,31,106,99,98,146,94,100,29,169,35,27,108,122,160,169,30,102,102,106,157,105,30,29,27,102,147,26,102,105,106,103,174,187,112,104,104,171,27,162,97,33,109,100,104,174,104,111,30,172,32,29,85,93,161,179,32,90,97,88,179,95,28,30,29,101,177,32,100,108,97,109,179,158,115,92,104,200,30,157 H,38195,8,700,4,16,1015675,87,4,1,1,,3,2,2,,60,0,2,100,1,300,1,,1,1800,1,1,1,7,,,,1,1,,20,2,480,2,1,104000,3,,,2,1,104000,0,3,3,3,1,3,2,4,0,0,2,23,0,0,1,0,0,1,2000,3,0,1,38,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,84,129,23,26,161,94,92,146,86,157,91,75,80,29,84,28,98,86,24,160,84,22,156,147,27,86,92,27,91,28,75,68,89,159,79,151,93,84,23,144,95,31,147,156,26,84,78,25,97,25,88,92,84,126,91,151,74,90,156,31,84,165,25,24,137,85,91,140,75,137,80,93,91,25,84,25,83,87,149 H,39633,8,600,4,16,1015675,337,3,1,,,2,5,,,130,0,2,3,3,,1,,,,,,1,4,2,550,,2,3,,,2,1,3,7,26000,1,680,16,1,3,52000,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,365,564,494,366,99,116,329,570,99,666,344,352,304,319,321,287,98,583,337,334,609,326,362,596,366,356,596,350,332,382,552,121,97,79,112,564,316,289,108,367,96,306,348,107,315,290,98,343,358,312,105,503,548,702,627,96,363,347,527,597,310,122,99,319,616,571,381,93,580,89,312,360,373,358,321,328,522,107,311,98 H,39660,8,900,4,16,1015675,129,2,1,1,,3,3,2,,30,0,2,60,1,600,1,,,,,3,1,5,,,,1,2,,14,1,720,2,4,23570,4,,,1,1,23570,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,2,2,1,271,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,179,134,221,40,193,157,229,142,121,30,135,120,189,42,58,121,50,121,120,117,172,217,127,117,196,36,114,36,37,132,36,221,132,134,124,204,143,48,47,40,163,139,39,195,130,133,35,130,117,179,132,128,36,212,269,150,203,122,112,154,37,38,128,142,31,194,121,193,175,126,210,46,130,170,156,33,121,258,204 H,39682,8,200,4,16,1015675,150,2,1,1,,3,2,2,,70,0,2,3,6,470,1,,2,600,2,1,1,5,,,220,1,1,,10,3,550,5,1,41880,4,,,1,1,41880,0,4,4,4,1,5,0,2,0,0,0,30,0,0,0,0,0,2,1042,2,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,255,247,205,147,47,153,267,162,154,222,140,45,46,35,120,153,186,162,173,47,268,240,232,125,38,132,278,151,141,309,141,51,54,41,182,158,176,154,153,181,41,44,50,144,220,129,53,174,144,43,153,255,272,236,163,158,155,160,155,277,42,38,58,182,228,131,47,149,136,51,160,213,218,244,175,178,169,156,147,41 H,39722,8,300,4,16,1015675,66,4,1,1,,3,2,2,,100,0,400,40,3,800,1,,1,800,1,1,1,6,,,,1,1,,15,2,1400,9,1,101000,2,,,1,1,101000,0,2,2,2,1,1,2,4,0,0,2,13,0,0,1,0,0,1,1090,3,0,1,13,2,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,19,139,59,61,25,104,69,73,115,72,68,105,66,65,65,111,21,16,80,106,115,16,72,63,100,19,61,87,22,67,60,18,76,52,81,22,118,101,59,111,105,20,69,64,126,21,85,54,20,68,75,18,88,72,59,17,105,107,62,20,21,102,71,67,22,108,70,65,96,73,60,123,72,63,60,120,17,18,58 H,39736,8,100,4,16,1015675,105,1,1,,,2,4,,,40,0,2,20,1,,1,,,,,,1,4,2,850,,1,3,,,1,1,3,,,,910,62,1,6,17500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,97,26,93,124,107,162,91,118,29,177,28,26,103,107,177,209,32,126,33,134,104,184,112,93,125,37,96,94,185,29,166,201,126,122,28,27,177,100,37,106,112,160,109,118,108,33,110,143,172,35,172,178,105,109,34,26,164,94,200,103,105,26,96,109,120,179,103,101,30,148,25,31,107,104,189,148,29,121,188 H,39930,8,600,4,16,1015675,405,3,1,,,3,5,,,100,2000,2,100,1,,1,,,,,,1,4,2,680,,1,3,,,1,1,3,8,14400,3,880,73,1,3,14400,0,3,3,3,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,670,708,394,386,412,109,423,654,429,705,628,117,370,116,420,395,119,396,137,376,139,105,423,390,430,713,396,131,427,128,123,683,409,728,429,368,623,371,704,392,698,677,394,387,408,124,415,575,415,639,679,131,467,131,418,434,140,444,128,429,122,130,433,433,375,595,378,113,365,109,117,711,421,619,361,418,775,443,604,482 H,40051,8,600,4,16,1015675,338,3,1,1,,4,2,2,,90,1000,2,4,1,350,1,,,,,3,1,6,,,,1,2,,18,2,180,9,6,46640,2,,,1,2,46640,1,2,4,2,1,7,0,3,0,0,1,8,0,1,1,1,1,2,305,,0,1,32,0,12,12,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,77,103,108,97,567,335,326,112,618,391,341,603,313,331,565,342,290,303,538,346,96,116,105,89,590,345,353,92,613,375,351,617,326,337,571,310,336,376,567,335,547,599,576,534,107,359,359,573,103,349,336,103,302,355,101,316,381,385,117,326,548,499,534,551,99,320,323,545,100,330,348,101,367,323,113,329,308,331,99,339 H,40083,8,600,4,16,1015675,129,1,1,1,,4,2,2,,90,0,2,20,3,750,1,,1,1100,1,1,1,8,,,,1,1,,20,1,240,3,,,,,,1,6,250000,0,4,4,4,1,5,0,,0,0,0,6,0,0,0,0,0,1,1230,3,0,1,40,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,39,121,127,207,227,40,34,214,122,35,199,232,127,119,39,132,135,130,124,145,41,131,129,219,221,42,39,213,138,38,225,238,137,131,37,126,142,137,132,133,35,133,142,239,216,36,44,236,141,38,225,200,134,128,41,146,122,148,118,140,33,137,114,229,239,34,35,242,123,39,203,188,114,132,36,135,116,148,110 H,40244,8,500,4,16,1015675,87,2,1,2,1,3,2,2,,150,0,2,3,3,600,1,,,,,3,1,5,,,,1,2,,16,2,2,4,1,86850,4,,,1,1,86850,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,1,0,2,333,,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,31,87,24,25,125,133,87,92,91,105,24,146,86,78,89,26,152,91,159,86,23,95,26,27,133,143,88,84,82,84,24,138,85,99,90,26,146,93,29,80,147,81,139,152,25,27,74,79,92,82,136,30,79,82,80,133,28,94,26,96,153,90,160,131,25,24,100,86,94,84,135,25,87,73,87,146,27,93,143 H,40725,8,300,4,16,1015675,67,3,1,2,2,3,2,2,,90,0,1000,50,2,2300,1,,,,,3,1,4,,,,1,2,,16,2,50,7,1,56270,4,,,1,1,56270,0,4,4,4,1,7,0,3,0,0,0,10,0,0,0,2,2,1,477,,0,1,16,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,64,66,22,65,110,21,21,131,57,61,107,57,94,57,76,80,24,75,18,20,79,56,136,81,18,122,117,22,66,72,19,78,20,60,57,57,113,71,115,108,63,74,22,61,109,20,18,107,68,66,111,74,113,61,64,74,23,68,22,21,63,58,133,82,20,115,118,22,73,57,18,75,20,65,73,71,108,63,127,98 H,40763,8,600,4,16,1015675,100,1,1,1,,1,2,2,,50,0,2,90,1,280,1,,2,190,2,1,1,4,,,,1,1,,14,1,40,9,,,,,,1,6,33200,0,4,4,4,1,3,0,,0,0,0,16,0,0,0,1,0,1,431,3,0,1,20,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,105,105,103,160,171,100,161,27,165,31,99,32,32,90,98,111,102,98,108,94,162,30,28,88,106,171,99,91,97,103,193,104,104,33,30,171,165,30,32,169,103,103,104,28,30,99,29,174,29,161,111,164,157,103,95,96,94,97,96,99,32,166,178,96,96,29,100,106,107,100,27,104,110,173,180,30,30,165,171 H,40866,8,600,4,16,1015675,105,1,1,1,,3,1,2,,140,0,2,3,3,270,1,6000,2,120,2,1,1,9,,,,1,1,,13,0,40,5,,,,,,1,6,10100,0,4,4,4,1,4,0,,0,0,0,99,0,0,0,1,1,1,834,3,0,0,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,32,31,102,31,114,114,195,112,166,103,197,102,102,35,102,100,33,179,181,111,106,101,197,103,28,175,112,177,108,33,97,27,181,106,27,30,106,110,98,31,190,184,104,170,111,101,28,117,33,103,30,99,106,160,96,118,172,32,32,114,100,97,29,100,173,33,109,36,101,168,104,186,35,108,192,160,107,126,107 H,41077,8,200,4,16,1015675,69,3,1,1,,3,2,2,,60,0,2,10,1,,1,,,,,,1,6,2,850,,1,3,,,2,520,1,2,40000,1,963,29,1,1,40000,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,66,92,52,68,99,116,78,126,24,89,23,70,91,76,19,21,98,63,23,62,112,65,101,108,29,89,18,61,60,24,65,22,143,124,54,102,73,17,65,18,73,25,71,57,79,30,64,20,118,76,115,55,72,62,101,124,15,65,118,65,23,73,22,31,109,71,146,68,69,126,65,106,24,23,47,62,91,106,72,98 H,41260,8,600,4,16,1015675,72,1,1,1,,3,2,2,,20,120,2,90,1,130,1,,1,600,1,1,1,6,,,,1,1,,14,1,380,7,,,,,,1,6,8200,0,4,4,4,1,6,0,,0,0,0,101,0,0,0,1,1,1,742,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,22,73,71,75,66,21,22,130,24,75,66,129,125,114,79,73,18,123,69,20,71,127,133,22,22,68,76,79,71,128,22,69,69,70,126,22,70,68,145,76,127,73,77,72,72,123,116,19,135,70,68,21,20,21,67,68,130,21,80,126,72,20,19,115,125,78,76,68,84,23,119,76,74,81,23,130,65,71,22,69 H,41513,8,200,4,16,1015675,157,3,1,1,,3,2,2,,170,0,2,2,1,780,1,,1,1200,1,1,1,7,,,,1,1,,16,2,70,2,1,106700,2,,,1,1,106700,0,2,2,2,1,3,1,3,0,0,1,15,0,0,1,0,0,1,1376,3,0,1,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,265,226,293,181,147,117,140,144,54,76,44,132,250,165,47,163,183,47,246,160,230,196,236,163,170,131,163,179,49,72,46,111,270,124,46,159,198,66,185,167,272,236,272,190,149,128,125,158,47,64,45,140,238,164,51,142,150,47,237,197,304,251,239,147,186,183,175,185,54,49,44,135,256,126,50,155,161,74,260 H,41586,8,100,4,16,1015675,139,1,1,2,1,2,2,2,,50,0,2,80,1,,1,,,,,,1,5,2,600,,1,3,,,1,580,8,,,,778,36,1,6,26000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,114,229,130,129,140,41,160,142,243,46,242,216,155,150,35,37,250,139,129,47,145,261,176,129,127,38,122,143,266,38,249,244,151,145,43,40,230,131,127,225,172,43,153,129,142,269,159,140,43,250,38,39,141,126,217,229,46,122,121,200,125,42,126,147,136,187,163,177,35,235,39,44,135,163,236,245,42,137,131,41 H,41887,8,400,4,16,1015675,103,2,1,1,,3,2,2,,60,0,2,3,3,630,1,,2,540,1,2,1,9,,,,1,1,,15,4,840,9,4,74700,4,,,1,1,74700,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,0,0,1,723,3,0,1,15,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,199,99,105,82,25,42,137,37,164,40,133,90,143,167,121,94,86,101,93,172,124,28,143,180,95,88,29,95,93,108,114,32,139,124,199,182,27,25,84,188,93,28,163,183,105,89,30,115,114,113,111,30,86,100,182,205,26,25,33,98,164,100,89,114,41,29,102,37,193,27,205,110,161,170,97,93,122,122,32 H,41967,8,300,4,16,1015675,39,2,1,1,,3,2,2,,30,0,2,150,3,0,1,,1,430,1,1,1,5,,,,1,1,,11,1,50,5,4,29600,4,,,1,1,29600,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,1,1,2,614,3,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,35,12,29,35,12,38,61,72,52,35,40,36,34,48,13,16,15,37,72,14,45,80,39,43,55,35,17,16,10,38,48,35,33,36,66,98,59,49,17,66,35,10,44,38,15,51,64,73,75,36,28,33,39,36,13,13,11,45,74,10,31,44,52,60,73,50,15,10,13,51,32,53,45,36,92,66,81,39,9,60 H,42327,8,100,4,16,1015675,59,2,1,1,,3,1,2,,80,0,300,3,6,,1,,,,,,1,4,2,350,,1,3,,,2,500,5,2,36000,4,497,17,1,1,36000,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,1,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,103,56,60,60,54,105,60,50,18,16,108,94,17,66,100,18,18,63,66,56,108,71,68,59,52,95,56,54,19,17,98,98,21,65,88,16,17,69,64,51,17,65,66,60,59,18,54,54,98,93,17,17,96,65,19,109,101,52,62,65,15,57,63,66,59,17,62,54,107,111,19,15,88,57,17,106,107,61,58 H,42450,8,700,4,16,1015675,80,4,1,1,,5,2,2,,90,0,2,30,1,700,1,,2,1700,2,1,1,9,,,,1,1,,22,2,2400,1,2,103600,1,,,1,1,103600,0,1,1,1,1,1,2,4,0,0,2,30,0,0,1,0,0,1,2578,3,0,1,64,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,23,21,125,87,150,83,82,119,91,132,25,21,81,78,73,143,85,27,78,87,23,25,134,87,143,80,86,136,85,131,24,22,77,90,75,145,78,25,84,78,24,25,145,81,120,83,71,149,77,146,23,25,86,78,88,134,73,23,86,87,25,26,153,78,132,85,79,131,74,137,24,23,79,80,77,138,82,20,80 H,42520,8,100,4,16,1015675,205,5,1,2,1,4,2,2,,80,0,2,50,2,980,1,,1,1300,1,1,1,8,,,250,1,1,,22,2,2,5,1,70000,1,,,1,1,70000,0,1,1,1,1,3,3,5,0,0,3,29,0,0,1,0,0,2,1680,2,0,1,42,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,317,268,233,331,255,227,52,268,65,190,50,168,190,315,206,230,362,59,62,72,220,228,61,215,316,57,181,56,180,405,200,297,62,273,338,398,208,215,210,254,366,326,246,281,234,208,77,244,63,160,66,178,180,375,291,211,314,59,63,69,192,240,56,207,377,67,232,52,176,297,196,300,60,272,352,308,158,173,226,243 H,42718,8,500,4,16,1015675,214,2,1,2,1,1,2,1,,190,0,1200,3,4,550,1,,2,960,2,1,1,4,,,,1,1,,22,2,360,5,1,43000,4,,,1,1,43000,0,4,4,4,1,1,0,2,0,0,0,42,0,0,0,0,0,2,1518,3,0,0,35,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,340,73,253,229,236,69,183,325,219,67,74,170,190,69,323,221,345,345,207,235,383,73,232,202,206,69,229,361,202,62,71,213,228,74,316,173,359,346,221,251,70,377,226,236,220,370,256,78,211,348,342,233,205,380,68,168,50,58,222,203,60,347,228,196,216,363,207,64,185,324,382,196,219,324,66,215,68,85,206,202 H,42780,8,300,4,16,1015675,132,1,1,1,,2,2,2,,150,0,650,120,2,280,1,,2,350,2,1,1,4,,,,1,1,,11,2,120,8,,,,,,1,6,27000,0,4,4,4,1,6,0,,0,0,0,35,0,0,0,1,0,1,778,3,0,1,19,,,,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,160,43,126,215,127,141,242,132,46,40,37,126,160,155,110,130,243,203,42,208,133,36,136,213,137,147,229,168,46,41,37,108,101,123,135,136,210,212,217,40,148,207,157,42,153,131,43,143,228,242,293,138,147,136,119,131,41,36,218,37,134,214,132,36,125,116,39,167,222,231,226,120,107,120,131,127,41,34,34 H,43019,8,900,4,16,1015675,116,2,1,1,,3,2,2,,90,0,2,3,3,420,1,,1,840,1,1,1,5,,,220,1,1,,14,2,650,4,3,67002,4,,,1,1,67002,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,1,1,1,1204,1,0,1,27,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,128,35,119,37,191,99,38,40,115,98,108,111,135,203,133,38,184,131,192,189,124,36,96,33,175,97,45,42,89,138,122,116,129,188,101,29,192,120,234,28,117,188,104,163,33,114,186,214,106,125,111,132,132,35,118,196,35,102,33,41,101,204,151,206,40,115,180,207,115,152,106,109,118,42,120,192,33,109,34,214 H,43080,8,300,4,16,1015675,62,1,1,1,,5,2,2,,30,0,2,80,1,1000,1,,2,460,2,1,1,9,,,,1,1,,18,1,660,4,,,,,,1,6,43020,0,4,4,4,1,1,0,,0,0,0,24,0,0,0,0,0,1,869,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,64,67,108,89,82,42,72,56,21,63,21,70,67,18,67,118,18,16,21,13,67,41,14,52,21,86,65,69,131,103,133,71,50,75,58,11,138,103,23,13,61,52,23,78,14,75,80,80,96,66,127,60,69,115,55,14,129,111,107,89,53,50,103,87,90,42,60,49,16,59,19,62,92,19,40,133,19,18,150 H,43158,8,200,4,16,1015675,111,2,1,1,,2,1,2,,100,0,650,3,4,0,1,0,,,,3,1,5,,,,1,2,,9,2,2,6,2,17000,4,,,1,1,17000,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,2,193,,0,0,11,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,26,36,131,34,102,96,185,143,231,124,197,119,103,32,163,140,30,160,158,100,109,116,197,127,28,196,121,195,92,33,108,26,197,103,32,34,97,117,135,170,30,34,109,40,147,127,188,119,155,108,185,109,124,34,108,111,34,178,154,100,91,98,201,104,28,161,107,172,122,40,118,32,154,105,45,38,107,113,121 H,43201,8,100,4,16,1015675,26,2,1,2,1,4,2,2,,100,0,2,50,3,500,1,,2,800,1,1,1,9,,,,1,1,,18,3,60,4,2,62000,4,,,1,1,62000,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,0,0,1,997,3,0,1,20,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,44,7,23,54,46,27,22,30,29,29,7,23,38,9,27,9,23,41,26,7,43,9,25,44,43,29,28,25,25,24,7,26,42,7,29,7,26,42,20,9,44,8,21,44,46,23,23,29,23,29,7,25,44,6,22,7,27,39,23,7,45,7,28,40,46,27,22,27,21,28,9,25,42,9,31,7,24,44,23,7 H,43922,8,100,4,16,1015675,27,4,1,2,1,4,2,2,,140,0,2,160,1,1500,1,,1,4800,1,1,1,9,,,580,1,1,,24,3,1000,2,2,158600,2,,,1,1,158600,0,2,2,2,1,2,2,4,0,0,2,44,0,0,1,0,0,1,5763,2,0,1,68,1,8,6,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,7,9,27,24,29,50,22,7,27,6,8,45,23,44,28,31,45,26,28,44,7,7,27,25,25,44,25,8,31,8,8,49,27,43,27,27,49,29,24,10,48,40,26,24,29,9,23,39,28,48,46,7,29,8,27,29,9,29,25,7,45,51,25,27,30,8,29,42,27,54,47,8,26,9,23,23,7,23,24 H,44040,8,100,4,16,1015675,42,2,1,2,1,3,1,2,,40,0,2,70,1,300,1,0,2,250,2,1,1,7,,,,1,1,,12,2,530,5,1,62000,4,,,1,1,62000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,0,0,2,446,3,0,0,6,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,10,36,44,15,14,12,10,38,14,43,10,40,45,56,45,12,12,44,41,31,44,73,77,37,52,36,37,71,36,94,45,55,66,66,75,42,54,63,81,73,64,41,41,74,65,67,73,46,79,44,81,44,40,41,35,66,68,30,33,38,45,13,15,49,34,39,41,14,39,14,47,12,12,11,10,45,43,17,11,16 H,44150,8,300,4,16,1015675,101,2,1,2,1,3,2,2,,100,0,300,3,8,1000,1,,1,1100,1,1,1,7,,,200,1,1,,16,3,2,3,2,56000,4,,,1,1,56000,0,4,4,4,1,5,0,2,0,0,0,31,0,0,0,0,0,2,1425,1,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,95,189,123,33,158,173,34,115,104,26,114,32,81,113,116,215,107,162,116,171,84,29,113,193,27,23,171,86,90,145,100,132,97,108,125,33,83,30,85,180,83,28,116,247,25,31,230,113,90,118,117,162,85,100,104,39,120,37,93,26,97,134,115,34,145,156,32,119,89,23,103,29,114,115,86,160,101,150,93,26 H,44223,8,300,4,16,1015675,162,1,1,,,2,6,,,30,0,2,30,3,,1,,,,,,1,3,2,550,,1,3,,,1,1,2,,,,610,37,1,4,20000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,58,48,51,293,168,179,57,266,157,146,237,137,166,306,156,186,170,251,170,47,42,48,49,239,177,165,43,286,148,160,285,177,132,331,180,156,161,265,166,271,257,289,238,65,169,130,244,44,169,157,49,154,151,52,178,175,181,48,210,226,289,275,284,54,170,158,277,57,155,146,38,160,194,51,183,127,169,46,143 H,44246,8,100,4,16,1015675,70,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,19,18,122,76,113,65,66,132,70,142,22,22,64,70,78,131,72,19,73,81,22,19,128,74,124,76,71,119,62,105,19,18,53,75,69,119,68,17,60,69,120,114,21,80,23,64,69,17,62,23,114,110,69,67,78,18,76,136,62,87,127,167,22,62,21,62,69,19,68,21,106,102,64,74,70,22,56,110,63 H,44460,8,900,4,16,1015675,116,3,1,3,1,5,2,2,,100,0,2,3,8,800,1,,1,500,1,1,1,9,,,,1,1,,19,3,2,3,1,91300,4,,,1,1,91300,0,4,4,4,1,5,0,3,0,0,0,8,0,0,0,0,0,1,600,3,0,0,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,112,106,127,172,198,184,127,32,108,218,84,106,235,103,35,35,34,112,201,107,128,129,119,32,35,33,148,182,142,43,109,112,38,101,199,206,173,100,198,113,129,128,106,30,34,33,100,236,102,34,113,139,39,106,179,186,216,113,43,118,124,108,128,168,236,208,114,33,109,153,101,110,190,121,36,39,40,100,37 H,44591,8,600,4,16,1015675,116,2,1,,,2,6,,,20,0,2,10,1,,1,,,,,,1,4,2,600,,1,3,,,1,1,5,2,26300,4,630,29,1,1,26300,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,110,106,115,190,189,122,200,36,176,38,117,32,36,121,116,121,127,118,122,121,184,33,37,120,102,206,136,115,119,128,205,122,117,33,33,185,201,35,187,34,104,104,111,216,194,110,200,29,181,35,126,40,39,121,125,124,125,130,113,119,187,36,36,124,115,182,112,108,123,114,199,119,106,36,35,193,192,39,199 H,44851,8,500,4,16,1015675,116,1,1,1,,3,2,2,,80,0,2,10,1,670,1,,,,,3,1,5,,,,1,2,,14,2,200,3,,,,,,1,4,48900,0,4,4,4,1,5,0,,0,0,0,6,0,0,0,0,0,1,258,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,119,116,38,122,106,214,32,208,208,124,119,38,32,197,111,111,127,175,189,117,96,117,195,121,109,41,174,35,36,111,118,163,212,32,119,152,112,36,181,109,115,131,199,121,130,35,183,30,33,106,105,220,203,29,105,110,124,38,37,117,114,135,31,102,122,173,43,193,195,110,110,35,34,210,136,106,120,238,38 H,45090,8,500,4,16,1015675,63,2,1,2,1,3,2,2,,100,0,700,3,6,720,1,,,,,3,1,6,,,,1,2,,19,2,2,3,2,63800,4,,,1,1,63800,0,4,4,4,1,2,0,2,0,0,0,9,0,0,0,0,0,1,485,,0,1,44,1,8,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,120,66,66,18,94,66,70,121,68,58,99,64,62,61,109,18,18,71,22,19,119,65,69,19,110,61,62,102,71,60,110,71,59,57,110,19,21,71,20,20,109,68,66,20,124,77,54,111,63,68,126,61,57,56,91,19,18,56,19,18,103,65,63,18,101,76,66,113,66,63,108,61,68,65,111,20,16,63 H,45556,8,400,4,16,1015675,89,5,1,1,,3,2,2,,50,0,2,50,1,20,1,,1,1000,1,1,1,6,,,,1,1,,14,5,600,2,1,62000,2,,,1,1,62000,0,1,1,1,1,3,1,5,0,0,1,22,0,0,1,0,0,1,1150,3,0,1,22,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,25,25,86,144,75,23,93,116,31,87,151,158,123,83,105,122,102,81,26,26,150,125,81,30,84,157,93,108,180,80,22,30,32,86,92,96,94,86,143,167,29,31,115,151,83,32,81,79,28,76,129,145,156,96,100,77,98,91,20,26,149,166,80,24,82,154,104,89,141,94,24,29,29,88,107,108,82,83,141,120 H,46056,8,100,4,16,1015675,345,5,1,1,,3,2,2,,80,0,800,3,3,460,1,,1,710,1,1,1,5,,,290,1,1,,17,3,340,8,7,18000,3,,,1,3,44000,0,3,3,3,1,3,3,4,0,1,3,32,0,0,1,0,0,2,1175,1,0,1,14,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,119,529,386,523,298,118,375,93,378,343,105,121,303,405,369,263,326,525,360,63,568,180,324,108,381,650,461,611,119,360,624,441,342,351,315,431,288,117,315,100,565,169,226,94,342,478,381,719,144,313,519,629,268,254,348,366,369,69,305,624,69,478,430,579,357,98,485,92,421,426,168,118,297,318,409,390,335,622,446,638 H,46157,8,100,4,16,1015675,122,3,1,3,1,5,2,2,,80,0,2,3,3,,1,,,,,,1,9,2,200,,1,3,,,3,1,5,4,35300,4,280,10,1,1,35300,0,4,4,4,1,4,0,3,0,0,0,,0,0,0,2,2,1,,,0,0,,1,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,29,184,207,130,114,111,39,113,207,103,257,213,45,140,32,124,101,34,118,113,205,36,32,133,131,125,178,124,39,117,43,38,199,120,182,125,133,239,150,111,193,32,40,128,115,100,223,141,43,107,36,39,190,97,196,117,118,209,133,162,37,194,197,136,116,97,32,106,226,123,210,239,34,104,34,129,125,40,131 H,46805,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,46807,8,600,4,16,1015675,107,4,1,1,,4,2,2,,90,0,930,110,1,360,1,,1,780,1,1,1,7,,,,1,1,,16,2,360,6,1,82000,2,,,1,1,82000,0,2,2,2,1,4,2,4,0,0,2,16,0,0,1,0,0,1,1088,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,30,93,95,191,30,195,180,106,104,31,36,170,107,108,97,200,104,119,32,124,30,103,107,184,33,195,206,107,108,33,30,173,111,110,93,171,106,112,29,102,31,101,102,194,30,180,150,105,110,31,33,198,117,111,132,193,106,118,30,114,31,111,114,169,27,172,174,96,107,33,32,166,98,113,106,185,105,102,32 H,46981,8,500,4,16,1015675,154,2,1,1,,4,3,2,,40,0,2,110,1,,1,,,,,,1,6,2,750,,1,3,,,2,60,2,,,,905,25,1,5,44000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,53,151,42,38,250,254,152,164,164,176,47,241,149,147,145,45,246,148,271,150,43,170,56,52,287,251,170,174,158,161,50,280,176,148,157,45,254,148,53,133,262,151,230,260,52,41,134,148,210,137,228,43,149,169,155,253,50,151,47,159,278,164,293,244,42,49,173,174,166,163,279,46,163,120,129,278,48,166,210 H,47199,8,700,4,16,1015675,124,3,1,1,,3,2,2,,100,0,2,30,1,480,1,,1,880,1,1,1,7,,,,1,1,,17,3,600,3,7,101000,4,,,1,3,101000,0,4,4,4,1,3,0,3,0,0,0,13,0,0,0,0,0,1,1060,3,0,1,25,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,36,41,120,123,129,198,138,41,121,34,33,201,120,210,132,106,215,122,121,36,225,186,134,131,116,38,114,225,138,210,229,36,127,37,123,135,40,117,126,218,37,33,112,128,131,202,122,39,128,34,38,200,117,191,119,124,206,153,120,33,189,212,129,132,127,37,125,206,131,231,234,35,118,40,121,125,35,109,124 H,47220,8,100,4,16,1015675,63,2,1,1,,4,2,2,,90,0,2,30,1,1400,1,,2,910,2,1,1,7,,,420,1,1,,18,2,720,8,2,61000,4,,,1,1,61000,0,4,4,4,1,5,0,2,0,0,0,34,0,0,0,0,0,1,1730,1,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,88,131,65,97,60,62,140,67,17,105,96,15,58,61,24,64,18,58,14,60,77,131,64,112,51,62,129,55,19,138,118,15,66,57,16,54,14,57,109,57,63,17,58,21,82,65,17,70,116,17,17,99,77,72,102,60,95,70,101,67,67,15,59,18,64,59,19,62,89,16,24,112,63,73,127,55,96,53,17 H,47337,8,100,4,16,1015675,71,4,1,3,1,2,2,2,,30,0,2,3,6,2000,1,,2,500,2,2,1,5,,,,2,1,,22,5,2,2,5,37000,2,,,1,2,66500,0,2,2,2,1,4,2,3,0,1,2,13,0,0,1,0,0,1,697,3,0,0,1,1,11,11,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,89,24,64,101,65,65,119,73,27,17,20,78,72,73,70,74,128,100,17,122,77,16,69,141,69,72,119,71,23,22,18,65,116,94,65,80,133,106,28,89,77,24,78,106,68,69,123,73,20,18,16,74,90,77,83,71,119,103,22,99,55,18,75,129,91,92,135,76,20,23,20,69,84,65,70,82,117,109,28 H,47509,8,700,4,16,1015675,72,1,1,1,,3,2,2,,50,0,2,80,1,0,1,,,,,3,1,5,,,,1,2,,16,1,460,3,,,,,,1,6,29300,0,4,4,4,1,4,0,,0,0,0,12,0,0,0,1,1,1,293,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,122,120,74,19,23,75,132,24,130,66,74,74,65,82,74,20,119,70,70,120,75,80,129,75,67,130,79,73,75,121,19,20,21,22,124,71,70,25,77,129,75,76,122,71,70,119,71,79,70,118,22,22,20,19,112,74,73,24,21,68,124,110,69,22,23,78,119,25,132,69,76,73,82,74,77,18,124,73,20 H,47635,8,300,4,16,1015675,286,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,475,461,273,269,249,97,257,412,308,456,430,90,292,108,295,260,108,282,78,283,466,467,270,277,289,91,250,497,313,406,426,87,306,81,243,298,91,315,88,269,471,469,263,276,251,82,231,395,300,416,460,93,296,100,334,285,85,368,93,334,447,398,303,272,259,85,266,477,280,481,445,94,250,86,312,249,111,333,93,387 H,47750,8,100,4,16,1015675,56,6,1,3,2,4,2,2,,90,0,250,30,6,850,1,,2,1100,2,1,1,7,,,,1,1,,20,2,2,3,1,82000,3,,,1,1,82000,0,3,3,3,1,4,4,6,0,0,4,22,0,0,1,0,0,1,1512,3,0,0,36,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,50,99,47,17,63,58,56,18,46,15,91,50,91,55,58,67,92,111,61,57,110,56,17,57,14,15,81,52,113,56,53,104,71,92,20,15,55,59,14,18,53,77,54,14,61,66,52,19,48,18,110,54,93,66,66,57,111,105,64,48,91,53,19,52,17,17,97,49,91,62,48,99,66,100,16,13,51,56,17 H,47769,8,300,4,16,1015675,197,4,1,1,,3,2,2,,60,0,550,3,6,0,1,,,,,3,1,5,,,,1,2,,4,5,2,5,1,73010,2,,,1,1,73010,0,2,2,2,1,6,2,4,0,0,2,2,0,0,1,0,0,2,119,,0,1,5,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,258,186,73,173,179,228,273,60,264,69,321,204,219,245,67,171,336,200,322,162,192,63,211,312,247,273,199,186,170,204,178,67,83,73,230,275,193,64,58,191,214,266,175,58,71,75,197,184,221,232,185,255,346,320,244,82,173,230,158,303,66,196,413,176,166,160,59,278,73,337,91,202,198,204,299,176,77,224,207 H,47872,8,800,4,16,1015675,25,2,1,1,,5,2,2,,60,0,300,10,1,500,1,,1,970,1,1,1,8,,,,2,1,,16,3,550,9,,,,,,1,7,75600,0,4,4,4,1,1,0,,0,1,0,18,3,0,0,0,0,1,1111,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,24,20,20,45,54,18,37,7,44,7,27,6,7,35,29,25,23,25,20,29,45,11,7,22,25,53,26,21,22,22,48,22,28,7,7,50,37,9,36,7,22,24,25,47,54,23,48,7,29,10,42,10,6,22,24,33,27,22,29,30,40,7,9,23,22,40,24,17,21,24,53,30,23,7,7,41,44,9,52 H,48574,8,800,4,16,1015675,124,5,1,2,1,3,2,2,,230,0,2,3,3,180,1,,1,600,1,2,1,7,,,,1,1,,11,2,2,3,2,47500,3,,,1,1,47500,0,3,3,3,1,4,3,5,0,0,3,21,0,0,1,0,0,2,830,3,0,1,12,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,176,84,35,141,81,42,172,203,262,200,113,121,70,108,87,42,35,40,33,122,37,168,289,159,110,199,126,27,31,38,175,169,163,164,172,216,199,189,183,152,149,109,39,154,136,30,139,248,179,155,139,156,162,143,105,37,37,64,44,129,59,75,185,185,97,138,164,38,36,58,115,130,117,136,217,197,162,212,305 H,48682,8,200,4,16,1015675,179,2,1,2,1,2,2,2,,50,0,10,10,6,0,1,,,,,3,1,5,,,,1,2,,13,3,2,3,2,31000,4,,,1,1,31000,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,1,145,,0,1,22,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,271,181,47,191,354,179,175,370,143,55,47,53,225,167,144,182,234,302,259,255,56,209,316,137,60,216,203,63,155,324,279,259,190,195,184,164,180,57,51,352,53,157,294,169,53,188,193,60,136,363,289,290,164,169,195,164,160,59,68,58,214,138,60,188,295,203,172,255,179,42,65,56,197,186,186,218,152,317,391,65 H,48865,8,100,4,16,1015675,147,3,1,1,,3,2,2,,60,0,300,30,4,420,1,,1,950,1,1,1,5,,,,1,1,,15,2,500,5,1,38804,1,,,1,1,38804,0,1,1,1,1,3,1,3,0,0,1,34,0,0,1,0,0,1,1107,3,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,252,263,140,308,49,142,159,137,39,113,264,111,43,54,131,135,43,285,167,164,55,45,133,45,255,127,130,167,266,139,42,185,257,262,126,148,294,41,141,153,50,47,129,40,307,145,150,174,265,154,49,156,255,221,140,163,215,40,180,150,260,232,136,226,42,155,156,136,44,160,257,134,41,41,146,153,39,246,160 H,49245,8,500,4,16,1015675,114,1,1,1,,2,1,2,,30,0,2,3,3,270,1,150,,,,3,1,5,,,,1,2,,6,1,2,5,,,,,,1,6,0,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,78,,0,0,4,,,,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,35,36,106,112,124,34,216,36,101,200,192,204,121,33,176,122,118,105,33,192,156,115,35,33,159,121,129,124,166,103,104,133,33,114,132,156,34,190,107,111,32,37,124,108,120,35,217,32,96,212,204,179,129,31,177,120,110,119,38,166,106,125,39,37,239,106,118,104,178,121,118,123,37,108,129,188,34,179,122 H,49375,8,500,4,16,1015675,87,2,1,1,,3,2,2,,80,0,2,180,1,450,1,,1,1200,1,1,1,5,,,,1,1,,16,2,40,2,2,40100,4,,,2,1,40100,0,4,4,4,1,3,0,2,0,0,0,44,0,0,0,0,0,1,1463,3,0,1,26,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,91,85,73,68,87,153,126,133,94,21,92,144,89,92,127,93,23,24,141,157,89,90,118,91,84,26,28,28,82,159,105,28,100,80,26,84,152,150,23,23,87,96,77,84,90,139,148,143,103,24,71,128,88,89,142,89,26,23,174,137,87,84,89,95,85,26,27,30,86,149,100,27,96,79,22,90,160,168,21 H,49604,8,900,4,16,1015675,65,3,1,1,,3,1,2,,50,0,2,3,3,,1,,,,,,1,5,2,450,,1,3,,,3,2,5,1,23800,1,500,25,1,1,23800,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,131,62,23,101,63,116,60,15,62,19,100,65,22,17,65,61,73,69,63,23,23,81,124,22,71,21,60,110,67,98,23,64,89,128,73,69,62,63,79,16,23,78,94,21,63,21,65,106,55,132,19,73,109,122,64,53,66,84,75,128,112,61,20,121,56,83,67,23,60,22,106,72,22,27,72,55,52,58,66,77 H,49971,8,800,4,16,1015675,18,2,1,1,,3,2,2,,50,0,400,10,1,360,1,,1,370,1,1,1,6,,,,1,1,,14,1,300,6,6,66530,4,,,1,2,66530,0,4,4,4,1,1,0,2,0,0,0,9,0,0,0,1,1,1,488,3,0,1,26,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,7,18,5,26,34,18,18,23,6,17,34,17,27,30,5,15,6,24,16,19,31,17,39,5,7,20,18,24,38,17,7,13,7,6,29,22,30,19,22,19,29,22,27,5,5,15,19,18,39,20,7,16,5,5,30,22,30,19,18,18,7,19,5,30,31,19,21,22,5,22,33,21,31,33,7,18,5,18,17 H,50388,8,800,4,16,1015675,93,1,1,1,,3,2,2,,180,0,2,3,3,400,1,,,,,3,1,6,,,,1,2,,12,1,2,6,,,,,,1,6,13100,0,4,4,4,1,7,0,,0,0,0,22,0,0,0,1,1,2,238,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,36,31,81,127,70,34,103,90,32,112,143,159,161,109,109,110,107,94,27,26,142,169,103,27,82,143,93,90,156,74,25,29,31,86,90,97,82,101,138,162,34,24,80,141,103,32,81,101,32,86,159,181,174,103,95,85,115,106,30,32,190,175,79,25,69,164,91,91,162,76,25,26,37,95,88,94,103,92,109,155 H,50481,8,500,4,16,1015675,137,5,1,1,,4,2,2,,50,0,2,4,1,,1,,,,,,1,6,2,700,,1,3,,,2,2400,5,2,12000,3,954,95,2,1,12000,0,3,3,3,2,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,227,48,118,43,146,190,139,249,55,146,195,187,127,116,125,155,152,49,259,162,45,222,148,201,111,37,156,54,185,117,37,50,130,178,161,152,134,201,230,204,42,292,172,228,149,45,157,29,176,120,40,45,194,144,113,146,130,211,31,102,210,41,122,49,197,298,153,242,53,152,259,205,121,131,137,106,140,49,57 H,50854,8,100,4,16,1015675,298,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,337,555,287,270,312,514,297,525,91,330,82,304,310,238,93,90,462,306,87,305,84,285,82,89,496,301,519,299,324,452,367,500,82,99,267,295,292,468,311,435,290,471,333,316,308,478,300,517,83,287,84,306,301,274,89,99,483,327,108,261,100,312,93,82,459,299,433,303,314,469,345,463,85,95,309,273,288,574,303,582 H,51002,8,300,4,16,1015675,22,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,9,23,23,22,22,22,40,52,40,20,6,20,43,27,26,45,24,35,30,40,39,18,26,23,23,22,5,9,5,20,37,27,8,29,24,7,25,37,40,33,36,21,24,21,20,28,8,8,7,23,36,23,8,26,28,7,21,5,5,7,6,20,25,26,22,20,38,47,37,19,7,27,43,26,26,34,22,5 H,51315,8,300,4,16,1015675,20,1,1,1,,2,1,2,,20,0,2,3,3,170,1,600,,,,3,1,4,,,,2,2,,9,1,450,4,,,,,,1,6,7700,0,4,4,4,1,4,0,,0,0,0,24,0,0,0,1,0,1,154,,0,0,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,7,8,26,31,5,18,38,7,8,22,20,32,25,25,20,18,34,16,27,20,5,3,32,30,7,21,31,8,6,18,17,28,19,15,28,25,28,16,18,21,36,34,6,6,41,20,7,28,32,19,26,4,28,20,18,21,5,17,16,19,37,35,7,3,35,18,6,34,33,20,17,5,19,18,21,20,5,19,17 H,51351,8,200,4,16,1015675,75,2,1,1,,3,2,2,,100,0,2,90,1,480,1,,,,,3,1,7,,,,1,2,,16,2,740,7,4,58700,4,,,3,1,58700,0,4,4,4,1,4,0,2,0,0,0,8,0,0,0,2,2,1,409,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,20,92,93,118,176,24,18,147,65,26,89,101,67,62,27,77,117,88,64,56,27,66,67,133,132,18,26,118,89,23,95,105,69,79,28,71,98,96,70,59,142,78,69,37,26,121,146,21,76,117,23,24,69,97,122,47,59,65,77,67,148,68,61,28,31,209,162,30,77,116,22,21,63,77,114,54,65,74,75 H,51379,8,300,4,16,1015675,104,2,1,2,1,4,2,2,,80,0,2,80,1,330,1,,2,520,2,1,1,7,,,,1,1,,15,2,180,5,7,46200,4,,,3,3,46200,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,1,0,2,806,3,0,1,21,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,37,117,28,171,96,30,32,100,129,103,105,101,220,127,26,174,112,159,187,101,31,94,33,175,107,34,30,132,121,109,97,80,132,97,31,191,91,157,172,114,33,91,36,199,120,29,33,113,105,112,134,103,194,107,28,183,107,153,163,98,32,97,30,163,94,26,32,125,108,101,109,93,150,98,30,170,111,156,153 H,51727,8,400,4,16,1015675,87,2,1,1,,2,2,2,,50,0,2,50,1,240,1,,,,,3,1,5,,,,1,2,,10,2,50,7,4,20300,4,,,1,1,20300,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,1,193,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,94,27,80,120,20,20,156,123,98,132,96,139,82,83,97,23,103,32,31,76,102,176,92,21,118,122,26,93,65,27,108,27,94,77,76,157,87,131,134,81,78,24,85,126,24,23,151,112,86,153,96,138,59,87,110,28,101,22,28,63,108,150,76,30,122,153,35,110,84,22,113,21,75,105,98,152,90,128,127 H,52109,8,300,4,16,1015675,435,2,1,,,2,6,,,40,0,2,3,3,,1,,,,,,1,5,2,740,,2,3,,,2,240,5,1,66800,4,800,14,1,1,66800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,398,453,122,666,455,565,695,401,647,161,407,509,465,142,439,574,447,135,150,401,377,403,796,201,459,151,128,368,117,740,445,440,511,777,387,137,461,663,705,525,496,508,698,147,426,138,135,434,152,713,405,477,436,688,442,131,418,638,645,383,421,424,155,630,426,762,658,399,755,157,457,448,399,127,452,620,429,121,131,475 H,52121,8,100,4,16,1015675,27,2,1,2,1,3,2,2,,90,0,2,60,2,900,1,,2,940,2,1,1,6,,,,1,1,,18,2,480,3,3,59800,4,,,1,1,59800,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,1,0,1,1252,3,0,1,13,1,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,28,24,29,42,24,35,9,10,37,43,8,27,52,9,7,31,27,46,33,22,23,36,32,40,26,31,8,7,44,37,7,29,36,7,7,27,27,41,24,29,29,28,32,9,23,25,51,48,7,11,43,28,7,40,47,26,32,9,31,28,21,27,32,9,27,25,45,39,7,7,35,30,7,45,44,28,25,6,29 H,52318,8,100,4,16,1015675,49,2,1,2,1,3,2,2,,40,0,2,50,1,350,1,,1,1200,1,1,1,6,,,,1,1,,21,3,200,3,1,98000,4,,,1,1,98000,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,1307,3,0,1,32,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,46,46,50,12,75,12,58,78,91,82,46,13,86,44,52,56,53,16,18,48,14,13,83,48,54,44,80,55,56,42,15,51,46,86,17,83,87,42,57,84,44,48,44,104,15,80,54,13,15,14,46,90,18,52,51,48,44,83,69,49,84,92,13,49,51,45,16,52,50,54,78,41,46,14,81,12,13,45,44 H,52526,8,700,4,16,1015675,120,2,1,1,,2,2,2,,40,0,2,90,1,400,1,,1,700,2,1,1,5,,,,1,1,,15,2,40,7,1,53300,4,,,1,1,53300,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,900,3,0,1,18,2,2,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,127,220,196,33,38,219,122,36,184,209,123,116,33,128,121,122,130,33,116,121,126,30,37,206,197,32,125,218,38,34,114,111,209,125,124,117,125,195,108,128,127,205,197,34,36,198,112,38,235,200,122,120,33,108,115,124,116,38,121,125,106,37,33,201,204,37,132,224,35,34,117,123,213,124,123,121,127,215,127 H,52581,8,500,4,16,1015675,130,2,1,1,,3,2,2,,40,0,200,40,1,400,1,,,,,3,1,5,,,,1,2,,12,2,370,7,4,14600,4,,,1,1,14600,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,2,0,1,253,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,39,133,128,41,120,234,221,218,137,133,122,145,128,38,36,37,137,206,209,125,34,129,128,41,134,211,201,223,112,119,145,113,130,42,41,42,132,223,38,121,216,125,140,253,135,37,35,32,111,119,116,144,149,208,223,203,127,40,42,143,228,131,130,215,132,34,45,35,137,120,130,132,124,217,238,220,132,39,225 H,52819,8,800,4,16,1015675,76,2,1,2,1,2,2,2,,100,0,2,20,1,0,1,,,,,3,1,6,,,,1,2,,18,3,900,2,2,26600,4,,,1,1,26600,0,4,4,4,1,2,0,2,0,0,0,20,0,0,0,2,2,1,445,,0,1,42,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,138,119,137,81,21,71,123,81,85,134,69,17,19,24,78,85,76,66,82,22,127,122,199,84,21,75,135,72,69,138,67,31,21,17,74,81,89,73,91,23,140,133,132,72,34,83,132,87,70,111,74,21,22,19,82,82,68,65,74,27,130,134,118,78,21,76,131,80,74,133,72,24,28,26,74,80,67,68,70,20 H,53098,8,200,4,16,1015675,34,3,1,2,6,3,2,2,,180,0,2,3,4,150,1,,1,830,1,1,1,5,,,,1,1,,22,3,2,2,2,70000,2,,,1,1,70000,0,2,2,2,1,4,1,3,0,0,1,17,0,0,1,0,0,2,1010,3,0,1,38,1,7,3,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,29,27,36,38,10,13,8,31,77,45,12,39,31,10,27,74,66,52,42,33,26,32,35,35,12,10,14,36,41,31,10,33,40,9,39,55,64,64,13,38,39,33,38,30,62,57,50,39,10,46,66,28,26,60,26,10,8,8,9,41,34,35,43,29,73,67,52,29,11,45,52,37,41,51,43,8,11,12,77 H,53167,8,600,4,16,1015675,109,2,1,1,,3,2,2,,30,0,2,140,1,2500,1,,1,1100,1,1,1,7,,,,1,1,,17,2,170,7,,,,,,1,5,62000,0,4,4,4,1,3,0,,0,1,0,25,2,0,0,0,0,1,1284,3,0,1,57,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,114,100,103,106,192,190,110,107,188,105,112,182,173,196,190,111,186,110,30,33,110,113,109,119,33,32,121,103,31,103,101,30,30,35,32,106,30,120,30,29,104,122,108,121,32,29,103,110,33,109,111,31,32,32,38,105,31,122,181,196,103,111,115,105,194,183,103,115,198,109,106,183,191,214,181,105,179,102,187 H,53292,8,300,4,16,1015675,26,3,1,3,6,2,3,2,,120,0,1000,3,6,1500,1,,2,1400,2,1,1,4,,,,1,1,,11,3,100,5,1,120000,2,,,1,1,120000,0,2,2,2,1,6,1,3,0,0,1,18,0,0,1,0,0,1,1819,3,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,32,31,8,7,9,10,29,7,24,8,31,26,32,28,8,9,24,25,32,21,48,42,26,27,21,28,42,26,51,28,50,47,45,48,30,24,49,51,45,36,24,27,50,42,56,56,35,44,23,45,26,22,25,28,52,52,32,31,22,23,6,9,26,23,30,34,10,21,6,23,8,14,8,8,24,25,8,6,8 H,53466,8,400,4,16,1015675,58,2,1,1,,2,2,2,,70,0,2,3,3,200,1,,,,,3,1,3,,,,1,2,,12,2,420,3,4,5400,4,,,1,1,5400,0,4,4,4,1,3,0,2,0,0,0,31,0,0,0,2,2,2,138,,0,1,5,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,31,87,57,58,50,19,55,55,112,91,18,18,71,54,19,95,86,71,92,59,25,77,63,48,56,28,48,65,136,61,12,16,59,54,18,89,84,70,86,78,90,49,47,54,53,87,51,51,19,21,104,114,23,54,105,24,18,59,62,121,83,44,57,60,52,110,56,49,18,16,79,127,25,60,118,15,15,71,45,53 H,53495,8,700,4,16,1015675,90,3,1,1,,3,2,2,,50,0,2,50,1,280,1,,1,800,1,1,1,6,,,,1,1,,16,3,480,5,5,82730,4,,,1,2,82730,0,4,4,4,1,4,0,3,0,0,0,14,0,0,0,1,1,1,940,3,0,1,23,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,86,25,25,24,28,87,90,23,31,84,25,25,98,95,82,87,27,86,147,84,139,91,87,96,84,140,147,85,100,145,99,96,145,161,161,158,86,165,96,157,96,147,153,145,138,97,89,155,134,88,151,151,92,89,86,91,144,87,27,85,28,91,88,88,90,30,27,85,91,26,91,92,25,23,27,26,91,25,94 H,53577,8,800,4,16,1015675,234,2,1,2,1,4,2,2,,130,0,2,180,1,1600,1,,,,,3,1,9,,,,2,2,,24,5,2,4,,,,,,1,7,98500,0,4,4,4,1,5,0,,0,1,0,12,3,0,0,0,0,2,1026,,0,1,65,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,69,71,369,228,368,198,210,387,197,381,81,77,233,228,219,349,220,70,256,223,82,72,390,276,388,252,279,350,262,432,67,76,236,225,239,363,282,64,240,254,70,62,374,184,380,236,219,458,294,374,76,65,264,266,217,336,224,74,219,220,67,70,369,236,375,232,215,385,250,337,75,73,236,218,224,433,281,82,228 H,53621,8,400,4,16,1015675,70,7,1,2,1,3,2,2,,160,0,2,3,6,1800,1,,,,,3,1,6,,,,1,2,,16,3,2,5,1,91000,3,,,1,1,91000,0,3,3,3,1,1,5,7,0,0,5,5,0,0,1,0,0,1,393,,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,106,22,22,101,54,22,152,118,63,62,21,68,69,63,79,26,61,81,83,121,99,20,23,93,55,27,160,115,62,71,24,54,56,75,81,18,68,96,75,135,117,20,19,119,58,24,154,102,73,65,19,73,59,62,84,24,59,72,75,137,120,18,17,104,60,19,117,120,67,66,29,70,55,72,78,18,73,93,58 H,53894,8,600,4,16,1015675,402,0,1,,,2,4,,,,,,,,,1,,,,,,1,3,2,650,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,125,622,347,664,483,397,681,475,652,128,117,355,404,468,769,374,111,479,131,399,113,692,406,595,406,367,537,428,656,123,130,422,468,404,659,347,122,375,123,475,796,113,407,134,414,364,141,394,135,601,690,351,427,391,137,419,616,431,667,488,631,140,453,128,390,387,123,393,108,637,648,382,428,406,107,391,636,360,564,458 H,54035,8,800,4,16,1015675,56,1,1,1,,2,2,2,,80,0,2,140,1,200,1,,,,,3,1,6,,,,1,2,,10,1,470,7,,,,,,1,6,19190,0,4,4,4,1,7,0,,0,0,0,20,0,0,0,1,1,1,318,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,64,106,81,16,17,97,55,19,84,103,54,70,18,43,63,56,54,20,54,48,51,115,82,19,17,83,53,16,86,88,55,54,17,53,48,54,55,17,49,68,63,17,13,94,86,14,64,99,15,16,63,58,116,52,51,57,55,101,59,68,52,17,15,85,101,13,53,86,16,15,50,68,113,54,47,65,55,92,57 H,54261,8,400,4,16,1015675,19,1,1,1,,1,1,2,,150,0,200,3,3,0,1,3800,,,,3,1,3,,,,1,2,,1,1,2,5,,,,,,1,4,5800,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,1,0,1,494,,0,0,4,,,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,36,34,14,17,41,15,5,7,5,20,21,15,17,19,29,29,32,25,29,47,25,7,17,17,6,15,35,32,20,12,17,14,14,18,5,5,7,24,9,5,16,24,16,18,18,15,7,5,5,22,29,26,20,26,45,35,32,18,55,28,16,3,17,14,5,17,24,35,29,17,20,21,22,17,5,5,5,14,3 H,54536,8,100,4,16,1015675,105,2,1,1,,2,3,2,,50,0,2,110,1,590,1,,,,,3,1,5,,,,1,2,,22,2,680,3,4,28329,4,,,1,1,28329,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,2,2,1,416,,0,1,30,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,31,114,40,210,154,91,85,127,37,95,170,101,117,170,39,92,34,118,180,99,30,102,23,153,135,88,132,128,38,81,162,117,139,198,43,100,36,110,99,158,41,101,32,126,166,104,98,84,25,132,195,107,175,180,23,99,44,96,86,101,28,116,34,184,246,123,121,103,32,114,173,138,178,128,24,108,32,100,106 H,54710,8,200,4,16,1015675,73,2,1,1,,4,2,2,,120,0,2,3,3,520,1,,1,770,1,1,1,7,,,,1,1,,16,1,360,5,4,50800,4,,,1,1,50800,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,2,920,3,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,108,63,82,83,21,19,75,25,134,25,114,78,115,117,76,79,78,66,77,24,73,135,25,25,80,87,143,71,68,60,61,110,57,70,22,22,127,103,18,74,108,65,77,87,21,20,79,19,108,26,116,72,132,114,69,75,75,81,68,27,70,180,28,20,75,69,114,71,71,70,65,122,63,75,22,29,105,108,20 H,54804,8,900,4,16,1015675,117,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,42,99,126,190,210,44,40,220,130,27,151,201,129,126,45,117,118,115,90,139,216,128,113,40,35,169,211,43,101,169,30,32,108,97,187,123,103,121,155,99,155,98,135,29,34,267,207,30,123,179,31,46,125,115,216,116,131,116,132,106,34,118,121,200,160,39,40,175,100,43,216,188,110,107,39,138,95,103,99 H,54841,8,300,4,16,1015675,86,2,1,1,,3,2,2,,150,0,2,3,3,400,1,,1,670,1,1,1,7,,,,1,1,,16,2,150,5,4,54500,4,,,1,1,54500,0,4,4,4,1,6,0,2,0,0,0,18,0,0,0,2,0,1,833,3,0,1,30,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,96,110,146,100,21,28,29,75,97,74,91,89,145,153,147,92,26,87,136,24,91,86,31,89,148,163,146,83,84,82,101,88,24,23,29,96,125,87,30,156,105,100,180,87,25,28,25,91,84,83,93,82,143,136,157,88,24,100,169,22,98,105,28,97,130,119,135,81,106,84,79,75,26,23,23,89,142,90,24 H,55117,8,900,4,16,1015675,23,1,1,2,1,3,2,2,,40,0,2,100,2,720,1,,2,1500,2,1,1,5,,,,1,1,,16,3,350,2,,,,,,1,4,40600,0,4,4,4,1,3,0,,0,0,0,53,0,0,0,0,0,1,1779,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,19,24,31,29,20,7,8,5,20,32,18,7,27,23,7,23,40,50,51,6,22,25,26,32,26,50,51,32,16,9,29,46,24,22,36,20,9,7,5,7,24,22,21,20,20,31,35,40,26,6,31,39,21,19,47,35,7,6,7,55,23,38,27,16,27,8,5,7,30,47,22,5,23,24,8,29,31,33,33,27 H,55139,8,700,4,16,1015675,114,2,1,1,,2,2,2,,140,0,2,60,1,400,1,,1,860,1,1,1,5,,,200,1,1,,15,2,800,5,2,90700,4,,,1,1,90700,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,1327,1,0,1,20,1,3,3,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,196,107,34,118,108,120,35,106,36,194,115,209,119,115,113,190,196,32,108,113,114,35,109,34,34,199,109,199,119,113,197,107,193,33,32,124,114,111,182,181,32,118,197,115,108,108,221,114,211,32,108,37,117,109,114,34,34,195,122,124,116,195,108,196,184,32,115,32,108,109,35,113,33,198,187,100,125,122,32,31 H,55158,8,600,4,16,1015675,379,0,1,,,2,5,,,,,,,,,1,,,,,,1,3,2,600,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,670,361,100,389,449,332,109,413,112,591,384,557,403,447,422,640,651,130,399,381,405,679,353,595,640,110,321,106,374,369,134,354,125,708,550,298,393,365,109,124,749,346,113,432,409,374,116,377,124,635,361,571,381,368,428,660,642,132,387,375,367,647,421,616,674,108,365,106,353,363,105,353,115,654,650,358,376,307,102,115 H,55197,8,500,4,16,1015675,123,2,1,,,2,9,,,1,0,1,1,3,,1,,,,,,1,3,1,540,,1,3,,,1,1,4,4,35700,4,540,18,1,1,35700,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,112,132,138,207,36,227,140,43,28,42,123,198,35,116,131,142,114,218,190,236,211,223,35,127,114,102,34,116,138,107,188,115,145,40,235,39,29,117,114,142,99,119,118,207,34,227,129,50,37,33,146,217,35,160,117,115,104,204,217,190,167,207,35,111,148,148,35,110,119,117,198,133,113,43,214,39,40,115,100,117 H,55295,8,500,4,16,1015675,23,8,1,2,1,4,2,2,,140,0,290,3,4,430,1,,1,510,1,1,1,9,,,130,1,1,,10,2,2,9,2,60400,3,,,1,1,60400,0,3,3,3,1,3,6,8,0,0,6,16,0,0,1,0,0,1,804,1,0,1,22,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,23,7,36,25,23,23,42,24,6,20,38,41,23,22,41,8,21,8,7,25,23,37,5,23,25,23,6,23,38,24,6,6,22,21,6,39,22,40,42,21,23,8,34,23,27,21,38,23,6,25,39,41,23,21,36,7,24,9,8,26,25,39,7,26,21,20,8,23,35,23,7,7,23,22,7,39,22,38,34,23 H,55420,8,800,4,16,1015675,47,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,106,45,74,83,40,57,62,46,84,42,54,49,92,59,68,85,64,49,67,15,14,43,14,11,41,52,52,38,12,62,17,48,14,11,13,14,49,41,56,63,80,43,77,77,37,50,63,46,83,46,77,54,82,68,67,71,51,48,47,16,14,43,11,15,68,52,55,53,12,57,15,42,13,11,13,11,45,51,62 H,55512,8,800,4,16,1015675,23,1,1,1,,2,2,2,,40,0,600,3,4,300,1,,,,,3,1,5,,,,1,2,,9,2,400,7,,,,,,1,6,8500,0,4,4,4,1,7,0,,0,0,0,27,0,0,0,1,1,2,191,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,25,17,22,41,18,26,8,33,7,7,22,20,33,44,7,22,23,17,7,20,7,5,7,24,35,7,28,26,21,20,32,35,23,22,28,44,5,45,26,43,21,22,21,31,22,26,6,31,7,7,20,21,37,33,7,24,23,16,5,24,7,7,7,24,42,7,25,28,24,22,44,40,19,22,21,36,7,36,17,42 H,55786,8,800,4,16,1015675,30,2,1,2,1,3,2,1,,160,0,2,100,3,2100,1,,2,1300,2,1,1,6,,,,1,1,,15,3,2,5,2,67400,4,,,1,1,67400,0,4,4,4,1,5,0,2,0,0,0,36,0,0,0,2,2,1,2002,3,0,0,44,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,7,10,34,57,39,9,22,25,10,33,38,59,77,35,31,30,31,35,7,10,38,57,31,12,42,48,27,24,50,57,10,8,10,25,25,41,28,31,50,50,9,10,39,44,27,9,33,33,12,50,48,45,48,18,25,40,26,30,11,10,48,69,34,10,40,43,22,27,64,36,10,11,9,29,32,32,30,41,45,74 H,56052,8,900,4,16,1015675,65,2,1,3,1,3,2,2,,40,0,2,50,8,110,1,,,,,3,1,6,,,,1,2,,6,2,2,9,7,18400,4,,,1,3,18400,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,0,0,2,149,,0,0,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,23,82,105,82,78,16,64,115,83,73,56,54,60,59,15,59,118,23,55,146,129,81,18,73,18,128,73,25,22,68,77,52,53,63,121,73,20,100,54,21,16,54,125,55,89,27,74,131,86,57,58,66,78,100,21,71,98,21,62,92,112,57,23,53,18,114,89,23,16,60,63,74,60,70,121,66,21,99,61,24 H,56065,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,56222,8,800,4,16,1015675,103,1,1,1,,3,2,2,,30,0,2,40,1,600,1,,1,480,1,1,1,6,,,,1,1,,15,1,760,5,,,,,,1,4,30800,0,4,4,4,1,6,0,,0,0,0,24,0,0,0,1,1,1,613,3,0,1,23,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,30,114,211,166,92,99,90,141,106,27,116,176,32,104,29,104,176,123,168,34,188,121,31,30,91,99,109,110,125,165,120,28,175,96,146,124,22,122,181,29,172,118,27,39,108,112,103,91,99,179,115,26,159,121,171,100,29,114,32,164,32,85,151,182,119,104,115,105,92,31,111,205,34,104,38,87,152,110,32 H,56287,8,600,4,16,1015675,106,3,1,1,,3,2,2,,200,0,2,3,3,,1,,,,,,1,7,2,350,,1,3,,,1,200,9,4,19700,2,567,35,1,1,19700,0,2,2,2,1,5,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,102,170,101,168,29,109,181,193,96,120,110,105,111,32,109,184,32,108,33,33,105,182,104,179,28,112,205,180,114,115,111,102,104,31,97,175,30,110,175,178,94,28,104,34,177,97,31,27,100,110,114,121,123,193,116,32,188,118,178,180,107,33,108,32,190,100,28,30,119,101,108,100,97,188,104,30,176,117,30 H,56299,8,800,4,16,1015675,97,2,1,3,6,2,2,2,,80,0,2,110,1,,1,,,,,,1,5,,,,1,4,,,2,2,9,2,23200,4,,,1,1,23200,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,0,2,,,0,0,,1,3,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,96,30,102,213,104,87,160,99,28,23,23,106,81,93,93,104,194,150,26,149,101,29,97,140,84,100,212,120,38,32,29,98,99,99,99,109,162,177,160,29,118,156,96,32,88,109,35,90,195,152,143,119,111,80,93,92,26,29,158,24,96,179,98,27,97,101,22,97,153,141,176,126,83,94,114,103,33,33,28 H,56406,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,56743,8,500,4,16,1015675,77,5,1,1,,5,2,2,,100,0,2,150,1,430,1,,1,700,1,1,1,9,,,,1,1,,16,2,60,9,1,48740,2,,,1,1,48740,0,2,2,2,1,5,2,5,0,0,2,24,0,0,1,0,0,1,955,3,0,1,37,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,134,76,73,23,71,81,75,87,24,104,81,134,139,21,19,109,71,23,79,147,123,75,86,24,74,77,85,75,21,82,63,136,135,25,22,120,71,26,94,27,23,79,72,130,78,80,62,82,139,77,78,26,21,138,127,21,75,129,80,23,22,78,79,117,70,83,80,78,127,82,75,22,22,132,129,23,78,136,81 H,56950,8,100,4,16,1015675,39,0,1,2,,0,1,2,,,,,,,,2,,,,,,2,1,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,41,38,12,65,68,65,67,12,35,39,66,13,38,40,12,37,42,11,44,42,41,40,13,81,64,62,69,12,34,40,67,10,35,42,12,33,33,12,44,38,37,40,77,15,13,12,14,61,38,35,10,59,39,37,69,48,38,71,37,38,41,37,66,11,12,12,12,72,34,39,12,65,40,35,62,34,40,69,44,38 H,57445,8,600,4,16,1015675,337,0,1,,,2,8,,,,,,,,,1,,,,,,1,4,2,720,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,642,560,537,99,413,286,555,116,337,310,106,308,358,118,347,335,347,108,656,384,539,621,559,87,294,325,461,103,303,323,122,325,387,105,315,313,324,91,560,389,112,89,107,658,361,335,119,575,364,355,543,313,348,507,398,334,293,622,94,376,89,110,104,630,333,309,93,585,320,340,585,304,366,614,329,328,316,516,78,379 H,57466,8,600,4,16,1015675,86,1,1,1,,3,2,2,,30,0,2,30,1,570,1,,,,,3,1,5,,,,1,2,,17,1,170,7,,,,,,1,6,67100,0,4,4,4,1,3,0,,0,0,0,7,0,0,0,1,1,1,372,,0,1,42,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,22,76,147,94,78,86,164,90,132,25,90,26,87,84,80,23,25,155,92,23,91,164,80,143,142,28,90,25,90,81,23,79,24,138,128,98,89,85,27,87,140,79,27,85,86,88,25,94,24,136,83,145,92,81,80,153,140,24,83,141,86,24,79,23,25,152,87,162,86,84,150,83,161,26,25,76,86,93,142 H,58220,8,900,4,16,1015675,40,3,1,2,1,4,2,2,,60,0,2,50,2,720,1,,2,670,1,1,1,8,,,,1,1,,16,4,290,3,1,36000,4,,,1,1,36000,0,4,4,4,1,5,0,3,0,0,0,29,0,0,0,0,0,2,864,3,0,1,32,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,30,33,62,58,13,12,13,40,47,37,53,55,93,75,79,42,8,38,72,11,35,35,10,34,75,66,62,43,42,42,46,58,15,10,13,43,53,41,54,10,28,32,9,40,63,65,72,38,50,56,52,44,10,12,12,31,71,50,14,82,40,27,57,53,11,11,13,36,38,50,53,46,80,83,72,36,11,45,11 H,58248,8,100,4,16,1015675,75,2,1,1,,3,2,2,,40,0,2,50,1,200,1,,1,1300,1,1,1,6,,,,1,1,,18,3,160,6,3,43300,4,,,1,1,43300,0,4,4,4,1,5,0,2,0,0,0,39,0,0,0,2,1,2,1403,3,0,1,20,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,63,66,71,22,93,21,68,79,20,74,125,27,22,160,79,67,141,61,121,23,75,70,68,124,77,148,83,65,130,78,22,145,134,22,77,71,21,77,23,154,64,77,76,27,88,20,64,78,26,82,116,22,22,114,60,69,122,72,133,26,96,82,64,128,78,135,70,71,125,75,20,131,151,22,75,73,20,73,22,138 H,58531,8,300,4,16,1015675,54,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,55,69,97,78,22,16,71,52,17,100,89,60,46,15,65,67,60,61,16,74,48,46,77,94,15,16,77,43,17,94,101,50,56,17,48,67,62,48,16,44,53,58,89,76,14,14,80,52,17,86,86,62,57,18,61,63,56,64,18,57,52,49,95,106,16,15,96,46,14,95,97,57,61,18,57,57,59,48,16,42 H,58641,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,59103,8,100,4,16,1015675,95,2,1,2,1,3,2,2,,60,0,1100,3,6,0,1,,,,,3,1,7,,,,1,2,,18,3,2,5,4,49400,4,,,1,1,49400,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,0,1,223,,0,1,19,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,26,118,107,180,94,137,172,26,29,78,89,96,83,138,26,77,105,109,28,179,28,98,89,142,87,203,181,25,25,81,96,102,109,175,23,102,83,93,29,160,24,109,105,171,107,136,140,25,30,108,93,105,96,144,32,87,89,86,32,183,31,89,85,144,101,140,167,27,25,119,78,94,78,158,28,95,124,84,34 H,59209,8,300,4,16,1015675,24,2,1,2,1,3,2,2,,60,0,1100,3,4,,1,,,,,,1,5,,,,1,4,,,2,120,7,4,27330,4,,,1,1,27330,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,1,6,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,28,6,17,45,10,6,41,26,19,27,25,44,30,28,27,8,29,8,6,26,21,42,23,6,37,39,7,24,25,5,29,8,21,23,24,47,28,51,8,30,31,34,18,8,43,38,8,21,18,8,26,7,36,26,28,43,23,51,38,26,29,8,21,39,8,11,41,19,24,44,23,45,21,20,27,8,19,7,40 H,59360,8,900,4,16,1015675,244,0,1,,,2,5,,,,,,,,,1,,,,,,1,4,2,440,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,417,291,435,91,248,535,416,282,257,247,234,221,67,210,396,85,257,97,212,75,345,216,449,62,219,396,328,230,250,243,266,235,77,257,389,67,218,80,264,75,399,313,368,81,235,402,473,293,222,214,218,240,70,218,385,101,251,80,233,81,488,250,425,68,254,364,361,236,215,219,230,228,65,253,412,72,251,64,316,68 H,59461,8,100,4,16,1015675,44,1,1,1,,2,1,2,,40,0,2,4,6,300,1,100,,,,3,1,3,,,,1,2,,12,1,340,3,,,,,,1,6,13100,0,4,4,4,1,3,0,,0,0,0,11,0,0,0,1,1,2,122,,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,36,32,14,17,12,32,76,36,14,42,37,17,66,59,50,74,41,41,66,41,56,44,15,15,10,40,88,43,12,42,61,15,46,72,85,97,49,40,17,46,41,36,83,82,73,35,12,42,87,47,41,78,48,13,11,12,52,43,12,40,44,46,88,73,60,43,14,42,61,39,57,68,45,12,12,13,44,58,82 H,59567,8,500,4,16,1015675,49,2,1,1,,4,2,2,,100,0,2,50,1,440,1,,1,720,1,1,1,7,,,,1,1,,15,2,480,5,2,70300,4,,,1,1,70300,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,2,2,1,910,3,0,1,14,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,84,54,13,44,14,75,53,14,12,48,47,55,52,47,77,48,13,68,97,55,105,49,15,44,14,88,52,15,13,44,42,61,48,45,93,40,13,76,81,49,82,47,18,42,14,89,51,11,11,52,49,45,57,51,81,45,13,81,86,44,90,53,13,50,18,86,51,13,13,49,51,52,55,47,92,48,13,67,84 H,59727,8,100,4,16,1015675,24,3,1,3,1,2,2,2,,120,0,500,3,6,,1,,,,,,1,5,,,,1,4,,,5,2,9,7,72000,2,,,3,3,72000,0,2,2,2,1,6,1,3,0,0,1,,0,0,1,0,0,1,,,0,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,29,7,25,7,23,27,31,28,11,7,24,22,8,22,23,8,7,7,22,22,45,20,36,25,40,43,52,42,28,22,37,37,26,45,39,24,23,23,7,7,25,7,27,6,24,23,23,28,8,7,25,26,6,26,29,7,7,9,30,21,37,25,47,26,40,37,47,46,27,24,42,48,25,46,51,28,24,24,9 H,59792,8,600,4,16,1015675,115,4,1,1,,3,2,2,,60,0,2,40,1,500,1,,1,1000,1,1,1,5,,,130,1,1,,17,2,500,3,2,64300,2,,,1,1,64300,0,2,2,2,1,3,2,4,0,0,2,24,0,0,1,0,0,1,1272,2,0,1,24,2,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,114,34,119,122,194,37,203,187,127,111,35,39,209,119,111,115,201,111,117,34,115,34,109,117,197,35,189,204,117,116,35,33,204,116,119,129,198,112,106,32,113,34,117,114,189,35,219,202,127,114,32,37,202,115,120,125,198,117,126,39,121,33,111,116,183,33,196,189,113,113,37,33,193,118,117,101,218,120,117,32 H,59857,8,800,4,16,1015675,67,2,1,2,1,3,2,2,,130,0,2,3,3,180,1,,2,680,2,1,1,5,,,,1,1,,11,1,2,3,,,,,,1,7,24350,0,4,4,4,1,1,0,,0,1,0,44,0,0,0,1,1,2,886,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,19,56,70,111,23,126,125,75,84,20,24,120,63,68,73,109,67,62,26,64,25,67,68,122,20,116,116,69,64,21,20,105,68,64,74,116,68,66,22,71,21,66,65,95,21,112,119,56,73,22,22,121,74,60,72,129,70,73,20,64,21,66,70,98,19,129,122,72,68,22,21,116,76,69,83,117,77,81,25 H,59877,8,100,4,16,1015675,0,1,2,,,,,,,,1800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,60051,8,500,4,16,1015675,126,2,1,2,1,5,2,2,,80,0,2,190,1,490,1,,1,1000,1,1,1,7,,,,1,1,,16,1,440,7,4,40500,4,,,1,1,40500,0,4,4,4,1,7,0,2,0,0,0,39,0,0,0,2,2,2,1307,3,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,41,209,229,41,125,143,39,114,40,131,133,123,217,129,216,137,113,213,237,123,180,36,35,194,152,117,216,138,179,120,140,131,36,133,45,112,120,38,244,109,214,37,43,221,147,122,220,126,205,129,123,121,44,121,40,110,123,39,35,141,38,208,235,40,132,116,38,116,38,113,152,126,186,126,207,136,120,216,38 H,60059,8,200,4,16,1015675,36,1,1,1,,2,2,2,,80,0,2,3,3,530,1,,2,490,2,1,1,4,,,290,1,1,,14,2,720,9,,,,,,1,4,30000,0,4,4,4,1,6,0,,0,0,0,41,0,0,0,0,0,2,1022,2,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,33,8,52,45,28,53,31,52,36,33,53,36,12,73,57,9,32,36,55,55,29,61,40,34,36,9,30,12,44,42,10,31,69,12,11,53,36,45,75,71,36,58,36,52,31,7,27,10,44,38,9,27,59,15,8,55,35,33,10,12,30,14,38,32,42,60,25,50,39,45,40,26,12,55,59,12,49,47,11 H,60578,8,200,4,16,1015675,92,2,1,1,,4,2,2,,120,0,2,30,1,1200,1,,2,200,2,1,1,9,,,,1,1,,22,2,1200,6,4,82300,4,,,1,1,82300,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,2,2,1,864,3,0,1,49,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,37,151,95,26,161,153,89,100,31,118,90,84,81,22,118,82,126,141,112,25,25,152,84,26,134,189,97,84,28,88,86,87,95,26,87,101,144,136,115,29,25,147,95,27,170,203,88,68,33,108,92,118,106,29,90,88,125,117,91,30,36,177,99,24,106,130,107,101,28,90,79,82,84,23,112,91,154,158,98 H,61199,8,400,4,16,1015675,97,1,1,1,,2,1,2,,50,290,200,50,2,140,1,250,,,,3,1,5,,,,1,2,,1,1,1,5,,,,,,1,6,6990,0,4,4,4,1,3,0,,0,0,0,28,0,0,0,0,0,1,161,,0,0,4,,,,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,42,42,78,82,108,114,86,151,140,162,123,34,105,205,85,84,134,66,99,178,215,176,71,74,128,109,117,26,25,32,120,160,110,44,84,102,33,83,63,32,39,41,90,91,120,92,57,166,194,144,72,28,87,132,108,139,155,100,182,149,140,198,84,86,122,86,95,25,29,32,89,144,66,23,121,106,21,106,26 H,61627,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,61643,8,200,4,16,1015675,153,2,1,1,,4,2,2,,40,0,2,150,1,400,1,,2,1800,2,1,1,9,,,,1,1,,21,2,250,2,1,255000,4,,,1,1,255000,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,0,0,1,2527,3,0,1,63,2,2,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,338,186,269,41,34,156,128,184,237,159,51,160,36,41,220,176,259,170,188,185,51,174,38,235,297,149,164,181,46,118,221,136,188,265,37,158,54,169,166,152,46,130,63,301,297,156,150,122,44,139,275,202,292,250,42,141,51,112,143,151,253,174,234,53,53,128,185,139,196,167,37,177,65,39,251,145,270,170,140,156 H,62096,8,800,4,16,1015675,40,0,1,1,,1,3,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,71,43,11,45,9,72,45,12,13,41,37,36,40,41,65,46,12,74,79,45,69,40,12,38,11,83,40,11,12,38,34,40,42,40,69,40,12,76,13,41,12,42,67,33,68,13,45,71,63,33,40,40,44,42,13,35,64,14,14,43,14,41,77,39,63,14,53,64,64,42,48,41,43,39,10,41,62,13,79 H,62127,8,500,4,16,1015675,93,2,1,1,,3,2,2,,50,0,2,20,1,340,2,,1,1000,1,1,1,5,,,,1,1,,15,2,500,3,5,22000,4,,,1,2,22000,0,4,4,4,1,1,0,2,0,0,0,61,0,0,0,0,0,2,1112,3,0,1,24,2,10,10,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,140,89,24,163,30,100,64,110,100,90,82,189,28,97,99,28,33,96,124,74,103,37,111,109,78,28,160,143,162,173,30,81,104,172,31,123,76,34,99,27,28,78,179,33,145,110,94,102,89,86,109,33,168,110,107,184,151,99,27,89,86,154,97,91,102,201,30,31,28,27,143,85,97,24,149,93,90,154,79,166 H,62367,8,800,4,16,1015675,120,2,1,1,,5,2,2,,50,0,2,180,1,540,1,,,,,3,1,9,,,,1,2,,18,2,280,3,1,65400,4,,,1,1,65400,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,0,1,516,,0,1,38,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,37,108,228,132,39,30,112,119,39,198,120,209,204,120,184,30,107,97,141,104,47,130,209,126,31,37,112,117,36,197,120,174,211,117,246,37,122,124,128,128,220,116,37,96,225,201,122,112,238,38,114,40,40,99,42,222,131,108,118,103,199,149,34,109,191,220,105,110,186,37,127,36,27,115,38,193,133,118,141 H,63180,8,800,4,16,1015675,28,0,1,1,,2,2,2,,,,,,,,2,,,,,,2,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,29,27,23,24,8,8,8,22,46,29,9,30,26,7,22,47,52,42,9,26,33,31,31,22,39,55,49,25,7,23,47,28,31,48,20,6,10,8,58,31,28,30,29,25,9,8,9,28,43,22,7,26,21,8,30,50,36,40,9,23,25,32,32,24,49,46,47,23,6,27,46,24,17,39,36,8,8,7,42 H,63217,8,600,4,16,1015675,120,3,1,1,,3,2,2,,100,0,2,30,1,,1,,,,,,1,5,2,1600,,1,3,,,2,600,5,1,63000,2,1780,34,1,1,63000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,36,116,39,132,108,221,119,199,121,192,110,117,35,105,126,41,187,211,35,34,114,38,119,199,37,120,32,128,218,137,189,34,117,194,224,135,108,109,125,124,33,108,39,111,112,209,111,196,120,211,107,119,33,110,118,37,201,201,42,37,120,32,116,199,40,130,37,124,229,133,202,34,124,203,229,118,117,116,116,119 H,63380,8,500,4,16,1015675,95,4,1,1,,4,2,2,,160,0,2,3,3,400,1,,2,900,2,1,1,7,,,330,1,1,,16,4,900,4,7,65300,2,,,1,3,96300,0,2,2,2,1,5,1,3,0,1,1,20,0,0,1,0,0,1,1615,1,0,1,26,3,13,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,31,84,99,89,84,26,29,131,25,109,88,153,170,176,105,85,26,132,99,25,123,155,144,33,28,78,106,99,90,150,31,93,111,102,160,28,98,97,188,79,163,107,117,99,88,149,165,25,179,88,103,26,25,28,93,87,145,25,90,178,87,28,28,148,164,107,92,85,95,26,191,88,93,106,30,187,91,104,29,101 H,63482,8,300,4,16,1015675,119,3,1,1,,4,2,2,,60,0,2,10,1,600,1,,1,300,1,1,1,7,,,,1,1,,12,3,120,7,1,81200,4,,,1,1,81200,0,4,4,4,1,6,0,3,0,0,0,6,0,0,0,0,0,2,380,3,0,1,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,34,261,97,37,35,31,128,210,44,125,125,114,131,219,183,121,126,118,146,197,32,183,145,35,31,29,112,236,40,107,108,107,126,161,275,154,99,99,113,211,39,203,150,33,41,36,125,182,35,116,143,113,157,188,190,128,102,102,109,184,35,223,122,34,36,31,120,199,45,116,112,116,132,187,185,123,108,107,104 H,63519,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,63582,8,900,4,16,1015675,102,2,1,1,,4,2,2,,70,0,1400,70,1,370,1,,2,620,2,1,1,7,,,,1,1,,15,3,50,7,4,119000,4,,,1,1,119000,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,988,3,0,1,20,1,8,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,36,153,184,27,99,115,33,92,32,94,93,97,168,112,162,97,97,165,38,82,22,139,150,30,113,110,37,110,30,103,76,79,163,104,187,92,104,195,177,86,143,31,24,152,140,107,185,99,180,98,114,121,40,131,32,98,102,25,189,86,166,33,27,176,79,113,177,83,147,102,90,125,34,74,35,124,91,25,28 H,63629,8,400,4,16,1015675,18,2,1,3,4,2,2,2,,80,0,480,3,4,250,1,,1,900,1,1,1,6,,,,1,1,,18,2,240,8,2,43040,4,,,1,1,43040,0,4,4,4,1,4,0,2,0,0,0,29,0,0,0,2,2,1,1040,3,0,0,19,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,15,24,16,7,19,19,5,17,31,31,30,15,19,16,19,25,5,25,5,5,18,38,23,5,16,19,7,18,26,29,35,18,15,17,20,19,3,6,46,40,18,6,16,31,22,17,35,20,5,5,5,21,21,21,22,22,34,4,34,24,20,6,15,27,17,15,29,15,7,5,5,15,16,14,15,16,34,27 H,64151,8,800,4,16,1015675,97,2,1,1,,4,2,2,,70,0,2,120,1,410,1,,,,,3,1,8,,,,1,2,,14,1,290,7,8,18830,4,,,1,3,18830,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,1,1,1,248,,0,1,1,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,90,162,170,27,29,104,83,109,99,172,31,81,91,109,142,31,109,104,25,152,87,192,165,28,26,89,89,88,97,165,26,110,88,97,154,31,91,114,38,162,99,190,174,27,29,74,87,90,97,157,29,103,89,83,185,27,104,93,24,146,97,165,134,28,32,88,84,102,113,183,31,91,102,92,151,31,101,83,24 H,64261,8,800,4,16,1015675,93,2,1,1,,5,2,2,,190,0,2,3,3,350,1,,,,,3,1,9,,,,1,2,,18,2,380,6,4,21900,4,,,1,1,21900,0,4,4,4,1,7,0,2,0,0,0,21,0,0,0,2,2,2,376,,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,78,102,146,151,95,84,142,89,79,156,143,144,133,92,152,83,146,94,25,93,96,83,32,39,96,104,29,96,107,28,29,29,33,90,29,100,36,89,164,105,102,94,141,120,95,73,137,111,133,143,165,144,150,95,149,85,149,90,26,86,113,102,26,26,89,84,29,94,95,25,26,30,24,86,26,101,32,88,128 H,64504,8,800,4,16,1015675,236,2,1,1,,2,2,2,,100,0,2,210,1,170,1,,1,410,1,1,1,6,,,,1,1,,8,2,350,9,2,44800,4,,,1,1,44800,0,4,4,4,1,4,0,2,0,0,0,20,0,0,0,0,0,2,749,3,0,1,10,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,239,341,215,198,273,223,278,211,235,63,88,326,377,58,236,406,72,66,224,216,354,430,191,234,259,214,332,233,228,88,101,388,269,109,316,316,104,95,247,202,246,92,256,270,233,245,87,210,252,440,380,102,103,382,251,63,323,345,174,229,250,92,258,216,236,195,74,216,188,325,354,74,89,332,196,83,347,324,263,256 H,64776,8,200,4,16,1015675,115,2,1,,,1,5,,,50,0,2,3,1,,1,,,,,,1,3,2,400,,1,3,,,2,2,8,,,,450,42,1,7,13000,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,134,33,149,37,146,113,60,111,155,36,48,184,116,99,217,60,180,112,118,33,121,167,103,158,76,158,189,92,47,207,162,37,136,118,29,164,35,132,173,181,142,50,132,35,156,154,39,132,209,24,56,312,80,97,185,84,175,83,117,30,131,217,79,220,105,125,191,76,43,179,132,27,105,106,42,160,30,186,154,205 H,65668,8,300,4,16,1015675,96,1,1,,,0,6,,,60,0,2,3,3,,1,,,,,,1,1,2,220,,2,3,,,1,250,3,,,,301,26,1,6,14000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,30,173,138,96,210,83,100,36,105,27,83,29,101,89,178,110,114,158,194,89,108,88,95,146,86,24,156,116,155,95,26,81,28,137,124,35,28,91,89,158,161,34,35,111,33,110,101,122,102,167,111,182,133,96,24,105,87,23,22,94,98,103,89,26,109,166,32,86,26,108,150,100,177,26,99,159,142,81,91 H,65894,8,300,4,16,1015675,68,5,1,1,,4,2,2,,120,0,2,60,1,400,1,,1,710,1,1,1,8,,,,1,1,,15,3,2,7,2,65000,3,,,1,1,65000,0,3,3,3,1,4,3,5,0,0,3,16,0,0,1,0,0,1,890,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,61,66,59,141,23,70,77,121,70,127,106,23,22,63,62,66,60,103,104,123,72,66,64,19,118,73,74,19,77,21,17,126,109,76,70,85,68,19,115,127,61,65,71,20,99,71,70,23,75,20,18,112,122,78,59,63,69,23,23,20,61,56,68,124,21,69,77,123,65,135,109,25,19,65,63,66,72,112,19 H,65918,8,700,4,16,1015675,80,2,1,1,,3,2,2,,30,0,2,120,1,350,1,,1,1200,1,1,1,6,,,,2,1,,18,2,150,2,1,61200,4,,,1,1,61200,0,4,4,4,1,1,0,2,0,0,0,27,0,0,0,0,0,1,1363,3,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,24,79,91,82,78,78,134,85,22,130,76,138,87,24,79,25,136,78,136,25,20,78,84,82,84,83,124,83,26,142,86,120,80,25,69,22,120,81,23,149,132,82,85,77,77,78,21,78,143,22,76,23,79,137,73,159,25,75,18,155,141,78,73,91,82,80,23,77,131,20,77,24,75,139,85,139,24,85,126 H,65977,8,800,4,16,1015675,56,2,1,1,,3,2,2,,60,0,500,3,6,360,1,,2,210,2,1,1,6,,,,1,1,,11,1,690,7,7,8500,2,,,1,3,8500,0,2,2,2,1,5,1,2,0,0,1,63,0,0,1,0,0,1,448,3,0,1,13,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,15,99,110,15,62,52,15,67,17,69,52,52,84,48,91,51,47,92,109,66,83,16,17,92,59,66,99,58,81,49,75,81,17,48,15,85,61,17,14,58,16,96,131,20,62,51,15,46,15,62,87,66,104,56,92,58,51,91,84,61,116,19,17,85,42,62,95,55,114,52,47,49,17,61,21,70,70,23,17 H,66011,8,500,4,16,1015675,190,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,3,19,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,54,320,232,183,54,333,210,173,303,172,157,273,211,218,172,346,52,44,273,49,82,326,213,212,49,317,171,212,303,172,193,256,214,212,206,349,60,48,155,359,306,48,175,205,347,56,232,233,52,209,203,64,186,191,217,58,397,324,169,302,352,49,172,223,320,62,157,164,56,193,170,66,182,191,207,47,311,329,209 H,66211,8,500,4,16,1015675,129,2,1,1,,3,2,2,,30,0,2,130,1,,1,,,,,,1,6,2,650,,1,3,,,2,1,2,1,29000,4,810,34,1,1,29000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,43,217,40,114,212,224,212,128,36,202,148,119,112,127,38,40,145,134,127,113,231,41,263,145,42,37,33,126,238,37,152,138,148,122,213,230,134,125,127,128,40,213,32,150,227,190,209,124,46,219,111,126,133,130,36,39,131,124,146,127,229,47,233,130,34,37,45,131,229,41,138,111,129,126,204,228,129,127,108 H,66250,8,300,4,16,1015675,77,2,1,2,1,5,2,2,,60,0,2,140,1,600,1,,1,4800,1,1,1,9,,,770,1,1,,18,2,2,2,1,136000,4,,,1,1,136000,0,4,4,4,1,2,0,2,0,0,0,51,0,0,0,0,0,1,5770,2,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,176,104,62,25,73,135,92,90,91,74,20,18,26,78,70,74,71,89,32,158,115,140,96,26,79,146,75,84,184,81,26,29,21,68,63,68,58,58,26,143,147,167,76,22,74,118,78,67,123,83,28,28,24,61,75,86,73,91,21,97,165,157,87,24,77,147,94,60,98,74,16,22,26,68,106,82,86,75,31 H,66606,8,600,4,16,1015675,294,2,1,1,,3,2,2,,60,0,2,30,1,350,1,,1,1300,1,1,1,6,,,,1,1,,20,2,200,3,,,,,,1,7,28200,0,4,4,4,1,3,0,,0,1,0,60,0,0,0,0,0,2,1407,3,0,1,44,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,293,486,275,295,290,85,301,88,293,267,91,279,501,86,85,503,297,300,486,527,272,476,321,273,283,90,321,89,315,292,80,317,504,84,85,487,338,299,480,539,287,513,282,325,310,91,294,90,288,301,78,301,473,84,87,488,289,297,491,471,287,491,302,298,258,84,294,86,315,290,87,290,518,93,82,515,290,301,501,539 H,66794,8,500,4,16,1015675,15,2,1,1,,3,2,2,,100,0,2,50,1,1200,1,,,,,3,1,7,,,,1,2,,17,3,420,5,1,258600,4,,,1,1,258600,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,1,1,2,335,,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,23,5,23,6,13,16,15,19,13,15,23,6,14,17,5,7,19,23,17,10,5,16,21,20,5,15,21,29,29,5,13,10,18,5,18,11,4,19,3,6,17,21,4,34,10,16,18,12,13,17,5,32,11,13,16,36,13,3,18,21,31,18,14,13,26,3,5,5,5,38,13,17,4,37,18,14,20,13,22 H,66842,8,800,4,16,1015675,41,1,1,3,1,3,2,2,,140,0,2,3,3,350,1,,,,,3,1,5,,,,1,2,,13,1,2,2,,,,,,1,4,5800,0,4,4,4,1,4,0,,0,0,0,36,0,0,0,1,1,1,173,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,61,40,10,31,77,35,40,72,46,12,15,8,45,44,37,39,30,83,90,15,51,39,17,40,67,39,41,65,53,18,8,12,34,35,47,41,40,78,85,10,65,44,10,33,62,31,37,77,46,10,13,15,57,39,36,49,32,69,68,12,69,35,12,44,91,50,29,51,46,14,10,15,42,37,45,45,39,72,83,15 H,66862,8,300,4,16,1015675,25,1,1,1,,2,2,2,,100,0,2,3,6,500,1,,2,500,2,1,1,4,,,,1,1,,12,1,2,6,,,,,,1,4,22800,0,4,4,4,1,6,0,,0,0,0,38,0,0,0,0,0,2,725,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,35,9,5,10,32,23,29,25,22,45,52,34,30,12,28,39,23,25,69,8,26,35,34,36,22,19,23,32,32,6,4,7,23,34,31,10,26,24,34,6,29,39,34,38,23,27,33,31,23,5,8,8,30,51,26,8,26,25,8,56,22,8,8,6,27,24,23,22,25,49,44,45,24,8,28,50,24,26,7 H,66873,8,500,4,16,1015675,84,2,1,1,,2,2,2,,40,0,2,30,1,420,1,,1,150,1,1,1,6,,,,1,1,,13,5,40,9,5,86000,4,,,1,2,86000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,0,0,1,223,3,0,1,31,2,11,10,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,169,96,159,168,87,91,82,86,137,90,135,84,143,131,134,126,80,81,82,23,26,84,21,24,106,87,70,78,22,85,26,85,27,26,28,24,85,75,89,23,23,84,29,27,92,92,69,73,20,79,23,83,31,31,25,21,81,86,101,135,159,90,140,150,83,81,86,73,123,89,155,78,127,134,138,161,94,86,79 H,67209,8,100,4,16,1015675,99,2,1,1,,3,2,2,,190,0,2,30,1,580,1,,1,1000,1,1,1,6,,,,1,1,,18,2,420,2,2,87000,4,,,1,1,87000,0,4,4,4,1,1,0,2,0,0,0,17,0,0,0,0,0,1,1255,3,0,1,26,1,7,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,27,164,33,27,101,94,167,146,30,90,86,90,25,96,105,117,167,94,33,97,176,30,173,144,110,98,29,28,180,115,96,106,163,99,90,97,33,89,33,121,177,28,155,195,103,96,30,23,183,106,84,88,176,111,98,92,28,106,127,94,28,194,26,33,124,97,178,155,32,104,95,94,25,97,84,87,161,91,153 H,67317,8,300,4,16,1015675,26,1,1,,,2,4,,,90,0,2,3,3,,1,,,,,,1,5,2,240,,1,3,,,1,1,5,,,,330,24,1,6,16600,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,30,32,24,22,42,41,41,26,9,17,36,28,19,60,31,7,8,8,34,57,27,22,29,33,8,8,9,19,51,33,9,28,28,7,21,39,37,34,21,65,29,22,29,23,7,7,9,23,44,25,7,30,30,8,26,41,50,43,26,8,21,36,27,27,53,44,53,28,7,20,41,23,25,53,24,12,8,7,24,11 H,67542,8,300,4,16,1015675,81,4,1,1,,5,2,2,,150,0,2,50,1,540,1,,1,780,1,1,1,9,,,90,1,1,,14,3,390,7,2,57000,2,,,1,1,57000,0,2,2,2,1,4,2,4,0,0,2,23,0,0,1,0,0,1,1103,2,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,24,94,117,77,31,23,93,88,28,148,83,142,156,81,132,23,80,71,99,81,141,70,22,82,130,135,80,101,165,27,73,21,26,73,34,196,78,67,67,84,22,78,163,90,25,25,98,69,24,139,92,135,197,91,124,24,80,75,79,87,132,77,27,72,159,129,89,84,131,27,77,30,26,76,21,146,83,78,69 H,68078,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,68114,8,600,4,16,1015675,99,2,1,1,,2,3,2,90,90,0,2,70,1,440,1,,1,590,1,1,1,6,,,,1,1,,18,2,310,6,4,90139,4,,,1,1,90139,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,2,2,1,866,3,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,181,98,174,101,26,101,31,179,107,29,33,96,97,95,97,85,143,93,30,157,33,110,29,91,189,102,162,26,112,177,173,99,93,92,85,94,29,92,29,161,26,100,26,101,169,99,165,27,99,169,158,95,105,108,97,103,31,101,162,30,170,89,155,94,26,99,26,163,97,25,28,107,96,108,94,98,173,104,158 H,68575,8,900,4,16,1015675,113,4,1,1,,5,2,2,,90,0,2,4,1,360,1,,1,740,1,1,1,9,,,,1,1,,16,2,720,5,1,62000,1,,,1,1,62000,0,1,1,1,1,3,2,4,0,0,2,17,0,0,1,0,0,1,894,3,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,114,35,121,147,161,107,195,96,161,109,111,35,89,109,36,194,191,33,235,123,162,95,41,192,126,186,104,35,128,38,177,135,38,28,98,108,108,117,112,202,111,199,120,141,35,117,35,103,33,127,94,216,113,112,200,29,39,185,34,114,35,79,196,32,113,37,114,193,99,181,35,111,276,163,105,115,109,105,137 H,68803,8,800,4,16,1015675,129,2,1,1,,2,2,2,,50,0,990,3,3,400,1,,2,550,2,1,1,5,,,,1,1,,14,3,360,5,1,44000,4,,,2,1,44000,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,0,0,1,793,3,0,1,13,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,40,41,142,45,142,104,202,154,264,114,275,127,127,48,137,127,50,183,228,162,116,101,217,98,56,232,104,284,148,31,122,59,196,94,45,44,120,132,143,217,41,43,171,30,117,104,183,125,243,133,238,162,124,30,112,158,47,201,177,111,136,172,228,92,37,210,106,317,188,34,159,45,161,105,34,38,167,152,84 H,68806,8,300,4,16,1015675,119,1,1,1,,5,2,2,,20,0,2,3,3,400,1,,1,650,1,1,1,9,,,,1,1,,14,2,350,5,,,,,,1,4,15230,0,4,4,4,1,5,0,,0,0,0,55,0,0,0,0,0,1,699,3,0,1,23,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,42,43,175,46,113,123,192,190,201,99,127,36,209,131,29,110,126,146,227,185,117,153,124,118,32,196,123,103,126,30,199,138,104,31,129,42,27,197,111,122,43,40,238,37,126,104,179,207,174,117,104,37,247,103,40,131,118,111,179,181,117,144,131,128,31,190,124,125,171,34,203,130,117,30,136,34,31,177,120 H,68957,8,400,4,16,1015675,82,3,1,1,,3,2,2,,90,2400,1200,30,3,,1,,,,,,1,5,2,650,,1,3,,,2,20,5,6,9030,2,872,56,2,2,18830,0,2,2,2,1,4,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,100,84,94,121,98,98,182,31,143,23,70,24,23,90,112,101,72,69,80,70,127,22,25,71,69,146,99,103,73,68,122,84,91,23,28,139,124,21,21,146,76,83,74,24,25,67,23,134,26,131,95,126,105,90,72,67,67,71,85,96,29,142,131,92,95,18,80,83,87,74,32,107,84,154,133,23,26,137,115 H,69072,8,400,4,16,1015675,196,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,213,274,312,65,60,318,225,63,301,372,201,181,46,168,192,202,210,60,202,196,213,57,54,332,329,64,205,325,68,56,216,249,303,195,202,208,187,293,163,183,195,386,326,53,58,383,199,58,325,313,188,177,55,231,207,170,190,62,219,229,175,60,64,311,319,59,213,315,59,65,146,167,396,196,177,214,191,338,171 H,69081,8,500,4,16,1015675,77,6,1,2,1,5,2,2,,70,0,2,270,2,380,1,,1,1200,1,1,1,9,,,750,1,1,,18,3,50,2,2,105000,3,,,1,1,105000,0,3,3,3,1,3,4,6,0,0,4,26,0,0,1,0,0,1,2294,2,0,1,34,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,142,21,76,22,81,73,26,79,21,132,117,76,75,85,26,76,135,63,79,136,142,20,73,23,65,74,24,89,23,129,120,80,81,73,24,68,131,77,73,116,129,21,82,22,80,82,29,70,23,132,139,68,88,77,21,71,133,83,81,122,125,22,78,24,81,85,23,68,21,127,128,88,76,80,23,74,134,67,76 H,70101,8,600,4,16,1015675,347,1,1,,,1,7,,,50,0,2,3,3,,1,,,,,,1,3,2,680,,1,3,,,1,2,3,,,,730,16,1,6,53600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,581,298,374,344,121,569,346,344,117,358,107,91,567,562,301,343,354,344,591,108,577,372,354,381,106,603,353,340,116,327,126,100,479,680,340,324,297,377,109,580,93,359,381,334,510,99,352,366,548,371,524,567,124,109,342,373,354,317,105,550,123,353,328,366,586,114,334,345,532,323,635,655,107,98,335,317,377,318,587 H,70196,8,700,4,16,1015675,120,2,1,1,,3,2,2,,60,0,2,60,1,480,1,,1,650,1,1,1,6,,,,1,1,,15,2,30,3,2,18000,4,,,1,1,18000,0,4,4,4,1,5,0,2,0,0,0,52,0,0,0,0,0,1,773,3,0,1,23,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,117,201,113,119,40,202,35,32,143,115,192,210,39,129,111,119,37,118,33,115,108,38,118,128,199,32,197,194,133,116,38,38,196,129,127,128,201,132,39,125,130,34,120,115,187,38,201,209,108,123,36,36,209,119,114,126,198,118,223,116,138,208,119,124,37,235,34,35,123,118,207,212,35,113,123,118,38,114,218 H,70326,8,700,4,16,1015675,69,4,1,1,,4,2,2,,60,0,2,40,1,770,1,,1,2000,1,1,1,8,,,,1,1,,20,2,360,1,1,209300,2,,,1,1,209300,0,2,2,2,1,1,2,4,0,0,2,12,0,0,1,0,0,1,2130,3,0,1,37,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,69,72,20,60,20,73,63,18,67,114,24,20,107,65,71,113,66,122,105,68,68,68,20,66,20,74,70,20,75,116,20,20,120,70,77,122,70,119,118,71,73,70,22,65,20,70,66,20,69,116,22,19,113,63,68,111,70,124,119,63,65,72,20,68,22,65,71,20,69,117,22,23,111,64,64,123,73,109,110 H,71035,8,100,4,16,1015675,72,3,1,3,1,4,2,2,,300,0,2,190,1,700,1,,,,,3,1,9,,,,1,2,,22,3,2,4,8,56000,4,,,1,3,56000,0,4,4,4,1,1,0,3,0,0,0,15,0,1,0,1,1,1,681,,0,0,28,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,72,71,20,77,20,22,118,118,68,68,77,75,23,118,68,75,82,24,123,116,70,89,25,66,19,20,115,104,73,65,75,66,22,129,63,66,81,27,21,22,68,74,142,66,127,121,19,18,66,77,73,78,122,23,79,65,68,104,22,24,71,69,115,75,116,125,25,22,79,89,74,70,104,20,73,70,67,125,131 H,71254,8,800,4,16,1015675,42,1,1,1,,3,2,2,,20,0,2,110,1,280,1,,1,400,1,1,1,5,,,,1,1,,11,1,600,5,,,,,,1,6,16520,0,4,4,4,1,5,0,,0,0,0,42,0,0,0,0,0,1,580,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,37,69,44,40,12,64,12,12,42,41,76,72,15,44,42,34,10,46,12,44,42,12,40,39,72,15,84,72,43,38,10,10,63,50,43,39,80,36,13,41,38,12,35,42,84,13,55,84,41,41,12,12,74,46,41,35,63,42,70,50,42,73,48,42,12,81,13,14,42,41,74,67,12,37,42,36,10,41,77 H,71256,8,100,4,16,1015675,69,4,1,1,,2,2,2,,80,0,2,80,1,600,1,,2,100,2,1,1,4,,,,1,1,,15,2,480,8,1,37300,3,,,2,1,37300,0,3,3,3,1,2,2,4,0,0,2,13,0,0,1,0,0,1,417,3,0,1,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,63,85,40,85,46,65,78,20,63,65,83,113,20,17,85,63,22,125,139,57,78,83,121,91,55,91,103,87,82,103,19,15,93,87,15,105,152,28,30,95,54,61,17,59,99,54,53,34,63,44,117,131,24,23,145,52,21,122,83,95,87,60,77,50,127,87,71,153,62,68,39,25,128,112,29,71,98,19,20,61 H,72300,8,300,4,16,1015675,70,1,1,,,1,9,,,10,0,2,3,3,,1,,,,,,1,2,2,340,,1,3,,,1,1,2,,,,350,28,1,4,14900,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,68,86,16,53,85,74,82,19,55,102,98,105,25,17,136,81,17,116,115,93,52,75,135,63,86,82,81,120,67,82,23,23,100,89,17,58,127,25,19,67,79,67,29,84,50,54,84,17,81,42,124,144,26,18,118,88,19,129,132,78,78,92,141,51,91,70,50,134,59,53,23,13,117,118,26,86,169,15,23,77 H,72431,8,500,4,16,1015675,73,4,1,1,,3,2,2,,40,200,2,3,2,410,1,,1,1400,1,1,1,6,,,1400,2,1,,15,2,540,9,7,65000,1,,,1,3,107900,0,1,1,1,1,3,2,3,0,1,2,32,3,0,1,0,0,1,2885,2,0,1,22,1,13,13,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,69,68,18,103,76,71,91,23,72,80,123,128,21,24,116,60,19,121,128,73,71,58,20,70,75,75,88,19,74,84,110,138,19,23,126,78,25,112,142,70,71,77,130,75,72,84,84,139,68,66,19,21,123,120,23,76,124,23,20,84,74,69,120,67,62,75,87,143,66,67,22,23,135,112,25,73,108,20,24,78 H,72539,8,200,4,16,1015675,75,2,1,1,,3,1,2,,90,0,200,3,6,,1,,,,,,1,7,2,200,,1,3,,,2,1,5,1,37400,4,307,10,1,1,37400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,0,2,,,1,0,,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,92,114,139,15,18,109,99,63,72,126,23,76,79,85,122,29,76,63,120,22,72,31,20,156,177,67,74,71,58,21,122,89,88,70,17,106,70,68,32,136,90,125,148,18,19,84,77,82,65,113,17,54,70,78,114,25,93,74,95,23,86,22,24,134,140,71,66,82,62,18,126,89,82,93,22,125,72,64,19 H,72567,8,100,4,16,1015675,81,2,1,1,,2,2,2,,40,0,2,50,1,340,1,,2,620,2,1,1,4,,,,1,1,,17,1,360,2,4,34100,4,,,1,1,34100,0,4,4,4,1,3,0,2,0,0,0,31,0,0,0,2,2,1,884,3,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,25,79,132,72,25,78,82,23,98,128,133,147,88,69,76,85,94,22,155,20,28,81,142,86,25,76,71,28,85,117,147,127,69,75,88,85,86,25,27,143,138,84,20,84,137,73,90,127,75,24,24,25,98,92,84,89,76,138,21,143,141,89,20,77,138,81,87,158,87,29,26,22,68,72,86,73,69,134,129 H,72979,8,100,4,16,1015675,143,2,1,1,,2,3,2,330,40,0,2,110,1,160,1,,,,,3,1,6,,,,1,2,,20,1,1,3,4,17600,4,,,1,1,17600,0,4,4,4,1,3,0,2,0,0,0,55,0,0,0,2,2,1,810,,0,1,50,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,46,157,180,194,124,99,221,196,53,168,114,253,148,37,152,39,227,154,54,231,247,167,146,127,108,123,40,144,321,34,121,51,126,268,194,350,54,133,204,44,41,130,162,101,150,156,231,134,43,302,149,243,156,34,125,41,246,132,37,248,268,160,184,141,164,163,56,167,279,56,126,48,132,211,141,197,59,121,252 H,73188,8,400,4,16,1015675,45,2,1,2,1,3,2,2,,50,0,2,100,6,570,1,,2,1600,1,1,1,7,,,,1,1,,20,2,2,2,4,62500,4,,,1,1,62500,0,4,4,4,1,3,0,2,0,0,0,35,0,0,0,2,2,1,1798,3,0,1,25,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,34,77,51,44,69,36,14,14,11,42,41,49,51,46,87,77,66,39,90,76,45,16,48,47,15,49,77,82,77,37,47,50,58,45,10,17,13,40,13,14,47,62,38,46,77,43,12,12,11,52,50,46,40,46,67,76,79,38,90,83,48,15,51,47,13,42,82,71,73,37,47,47,47,39,13,18,13,50,12 H,73350,8,800,4,16,1015675,254,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,251,254,76,228,394,71,99,478,274,254,440,263,394,264,286,225,70,253,79,77,284,261,383,287,80,459,393,64,279,284,79,209,83,247,225,276,474,283,425,98,263,276,413,299,68,362,439,80,309,302,78,232,84,262,221,237,430,232,367,370,234,269,82,255,395,94,81,444,287,212,487,267,366,237,281,288,73,221,60,332 H,73399,8,100,4,16,1015675,91,3,1,1,,4,2,1,,410,0,2,3,3,450,1,,1,600,1,1,1,8,,,,1,1,,12,3,300,5,1,22000,2,,,2,1,22000,0,2,2,2,1,6,1,3,0,0,1,56,0,0,1,0,0,1,1035,3,0,0,19,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,187,157,29,26,90,27,86,79,161,88,143,85,154,88,93,27,92,92,27,86,94,94,85,86,28,93,146,27,99,30,106,179,92,155,25,98,165,150,90,181,29,30,161,156,85,146,89,82,31,98,22,78,29,99,91,158,97,98,136,92,84,102,90,112,206,81,25,152,95,161,92,28,83,27,146,83,28,28,87 H,73463,8,400,4,16,1015675,91,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,157,89,27,103,112,28,93,146,173,134,118,97,76,88,91,26,24,29,30,82,30,82,143,88,101,160,86,29,27,31,78,61,88,105,87,166,179,130,155,88,125,96,31,92,92,27,91,156,155,143,83,90,80,82,107,28,23,30,30,83,27,99,198,95,92,172,99,30,31,27,66,78,87,79,97,183,168,139,161 H,73542,8,600,4,16,1015675,142,1,1,,,1,9,,,20,0,2,50,1,,1,,,,,,1,2,2,600,,1,3,,,1,1,2,,,,670,27,1,6,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,235,40,135,241,45,38,146,136,249,140,128,139,132,237,146,137,42,42,279,130,49,208,142,41,265,241,139,161,41,147,147,141,151,42,150,131,217,226,42,136,243,40,134,237,43,42,143,122,241,126,142,155,166,271,145,152,49,48,265,151,43,257,146,46,236,203,133,137,35,127,139,146,153,38,128,145,270,269,37,169 H,73624,8,400,4,16,1015675,90,1,1,,,1,6,,,20,0,2,3,3,,1,,,,,,1,3,2,130,,2,3,,,0,1,5,,,,150,23,1,4,7800,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,95,112,97,102,36,29,26,97,137,85,24,70,82,31,81,136,126,125,25,77,91,87,66,93,223,120,127,110,30,84,156,116,93,138,91,30,29,25,128,84,112,93,76,75,27,28,24,88,134,90,29,119,85,24,102,231,188,106,35,85,114,97,94,94,145,151,152,71,25,108,156,77,79,171,89,24,25,25,163 H,73665,8,600,4,16,1015675,100,4,1,1,,3,2,2,,50,0,2,50,1,0,1,,1,620,1,1,1,5,,,,1,1,,13,2,20,6,1,37000,1,,,2,1,37000,0,1,1,1,1,4,2,4,0,0,2,23,0,0,1,0,0,1,722,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,88,150,32,79,126,181,89,179,153,33,25,97,89,105,126,142,27,97,183,93,104,30,151,85,95,27,107,28,27,164,163,124,108,118,106,23,193,113,157,87,98,33,155,85,101,28,99,25,28,148,158,109,115,101,106,26,170,130,33,96,93,144,25,99,102,189,95,210,184,39,27,113,120,109,104,150,25,88,39 H,73744,8,200,4,16,1015675,94,3,1,1,,4,2,2,,70,0,400,20,6,340,1,,1,810,1,1,1,7,,,20,1,1,,15,2,560,6,1,58880,1,,,1,1,58880,0,1,1,1,1,2,1,3,0,0,1,20,0,0,1,0,0,1,1000,2,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,122,70,156,132,89,174,98,194,36,30,92,121,103,156,94,22,83,33,83,26,149,80,146,135,119,151,82,140,33,27,98,113,98,122,138,28,84,25,79,172,37,97,24,105,135,25,96,26,176,153,74,99,82,24,97,121,90,161,86,192,29,107,43,87,96,35,89,27,170,150,83,108,107,19,83,209,84,170,75 H,73767,8,100,4,16,1015675,56,2,1,3,1,3,2,2,,100,0,2,3,6,1000,1,,1,1300,1,1,1,5,,,,1,1,,17,3,2,6,2,29000,4,,,1,1,29000,0,4,4,4,1,4,0,2,0,0,0,58,0,0,0,1,0,2,1400,3,0,0,10,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,17,12,95,14,57,59,81,81,80,45,67,15,119,64,20,52,42,57,14,17,44,54,55,67,90,16,51,44,59,122,15,46,59,89,47,87,102,18,62,58,15,15,90,17,53,43,108,117,84,47,46,17,88,59,17,50,56,52,20,16,54,49,58,54,81,16,55,47,70,103,14,55,60,103,59,93,81,14,58 H,73919,8,400,4,16,1015675,128,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,145,152,205,126,32,218,232,41,124,149,39,125,46,125,119,141,217,125,38,183,124,141,225,119,35,218,220,45,135,130,37,116,39,148,126,102,201,126,42,230,123,153,259,132,49,194,171,38,114,136,41,120,42,119,100,147,215,117,33,206,132,141,253,121,32,235,202,37,150,144,39,118,43,123,119,110,186,134,36 H,74393,8,800,4,16,1015675,315,1,1,2,1,2,2,2,,120,0,2,3,3,700,1,,,,,3,1,5,,,,1,2,,20,2,2,3,,,,,,1,4,5200,0,4,4,4,1,4,0,,0,0,0,76,0,0,0,1,1,2,328,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,475,549,410,249,147,361,319,255,287,490,348,135,160,122,257,308,303,289,319,99,432,386,443,360,100,321,572,298,353,485,285,95,98,135,366,287,365,313,287,472,110,126,143,317,478,364,118,353,380,116,279,406,387,439,334,293,285,269,275,426,128,123,105,293,519,252,96,265,238,101,319,508,538,502,328,327,328,316,342,118 H,74721,8,500,4,16,1015675,113,4,1,1,,2,2,2,,50,0,2,20,1,270,1,,1,770,1,1,1,5,,,,1,1,,18,3,300,2,2,60000,3,,,1,1,60000,0,1,1,1,1,3,2,4,0,0,2,17,0,0,1,0,0,1,865,3,0,1,31,1,3,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,192,122,116,31,207,107,114,226,113,122,177,100,113,123,234,36,29,32,204,131,113,187,31,115,122,35,34,108,180,206,101,35,222,26,100,115,118,116,116,37,216,109,112,34,227,127,139,171,120,101,198,120,113,102,175,29,35,35,166,114,104,213,36,106,106,34,36,124,184,185,119,36,175,37,108,110,123,111,120 H,74808,8,400,4,16,1015675,109,1,1,3,1,3,2,2,,120,0,2,3,3,1600,1,,2,400,2,1,1,6,,,,1,1,,22,1,2,6,,,,,,1,6,25000,0,4,4,4,1,7,0,,0,0,0,35,0,0,0,1,1,1,736,3,0,0,22,,,,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,146,42,39,42,122,105,104,104,119,199,143,125,93,40,92,151,91,87,28,181,118,27,28,32,112,97,95,101,115,195,193,264,103,23,95,252,145,88,161,37,159,157,106,149,110,108,104,98,104,40,38,38,113,165,110,55,121,82,227,32,141,158,170,261,110,111,130,92,88,34,30,28,110,231,92,30,102,91,49 H,75115,8,800,4,16,1015675,73,1,1,1,,2,2,2,,30,0,2,60,1,290,1,,,,,3,1,7,,,,1,2,,9,2,490,6,,,,,,1,6,23700,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,1,1,205,,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,20,89,60,25,62,85,22,21,93,85,61,108,57,100,76,71,63,28,110,78,18,78,72,20,75,111,21,22,164,86,75,101,102,162,58,89,94,25,90,80,29,83,74,20,64,99,21,23,123,65,85,122,81,144,61,63,70,17,131,76,18,91,80,22,75,121,18,21,136,59,81,118,58,133,76,63,65,30,145 H,75322,8,800,4,16,1015675,58,1,1,2,1,2,2,2,,40,0,300,3,6,,1,,,,,,1,8,,,,1,4,,,1,2,8,,,,,,1,4,19600,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,49,46,17,64,73,94,85,19,26,73,49,16,79,108,59,58,22,59,49,61,61,53,15,57,82,109,95,15,15,106,68,19,73,109,68,46,17,57,62,46,51,63,15,65,68,97,97,21,27,78,54,14,80,121,63,61,17,60,57,48,57,54,15,58,58,99,81,19,21,72,50,18,76,137,88,53,18,59,60 H,75749,8,500,4,16,1015675,127,5,1,1,,4,2,1,,60,0,2,120,1,320,1,,1,720,1,1,1,7,,,,1,1,,15,3,400,3,1,43300,3,,,1,1,43300,0,3,3,3,1,4,3,5,0,0,3,26,0,0,1,0,0,1,933,3,0,0,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,208,134,128,31,101,40,37,187,199,140,110,137,126,39,229,111,140,114,37,208,231,131,134,51,135,36,42,241,239,121,138,155,150,43,200,131,125,132,38,202,197,129,141,34,126,40,35,220,212,150,121,104,111,37,226,125,131,127,37,257,202,130,124,40,141,37,39,240,263,127,130,148,133,41,199,114,135,140,42,184 H,75943,8,800,4,16,1015675,38,7,1,1,,3,2,2,,70,0,2,250,1,,1,,,,,,1,7,2,510,,1,3,,,3,460,5,7,63000,2,868,11,2,3,96000,0,2,2,2,1,1,3,6,0,1,3,,3,0,1,0,0,1,,,1,0,,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,59,33,36,35,15,43,13,35,31,12,44,50,9,13,59,35,40,70,8,42,9,39,39,33,77,35,61,28,24,65,53,10,63,77,10,37,48,14,48,50,65,37,31,32,16,40,12,29,24,14,56,56,10,14,51,39,45,71,11,60,8,32,36,26,77,46,68,36,30,64,47,10,54,74,12,34,39,15,62 H,76205,8,200,4,16,1015675,103,2,1,1,,3,2,2,,110,0,2,2,1,400,1,,,,,3,1,5,,,,1,2,,11,2,240,8,4,21800,4,,,1,1,21800,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,2,296,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,20,179,106,155,130,35,117,27,195,82,33,25,124,95,83,104,92,216,109,26,236,34,96,24,123,156,91,175,25,99,224,144,82,99,138,126,121,28,115,33,199,25,133,38,92,135,120,164,36,107,176,175,123,82,110,82,90,35,91,190,31,166,76,208,114,27,111,24,153,95,30,39,77,114,116,120,118,142,101,184 H,76528,8,800,4,16,1015675,34,0,1,,,1,6,,,,,,,,,1,,,,,,1,2,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,9,34,32,33,33,36,54,34,8,58,29,53,39,11,34,10,50,37,10,71,57,29,39,33,33,43,9,35,58,8,28,10,30,64,34,53,12,35,59,10,8,32,32,34,37,36,52,40,10,54,34,55,32,11,35,9,48,33,10,66,66,39,41,36,37,42,13,34,52,12,33,9,32,53,35,53,10,30,61 H,77012,8,800,4,16,1015675,104,3,1,2,1,3,2,2,,110,0,2,3,3,480,1,,,,,3,1,7,,,,1,2,,14,2,520,5,2,20000,1,,,2,1,20000,0,1,1,1,1,3,1,3,0,0,1,15,0,0,1,0,0,1,254,,0,1,16,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,50,120,90,100,140,85,123,181,183,140,24,111,157,81,122,174,105,32,40,263,146,130,132,109,91,88,26,24,27,105,216,81,29,155,96,36,119,128,124,221,191,142,97,77,86,86,27,39,66,146,157,116,29,93,124,32,72,144,158,22,30,83,105,127,97,101,208,138,100,85,31,134,204,101,101,212,168,38,47,24 H,77101,8,400,4,16,1015675,21,2,1,,,3,7,,,80,0,2500,3,4,550,1,,2,530,2,1,1,8,,,,1,1,,16,3,2,9,4,31000,4,,,1,1,31000,0,4,4,4,1,7,0,2,0,0,0,36,0,0,0,1,1,2,931,3,0,0,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,21,4,5,5,19,33,19,7,19,17,6,25,31,29,39,22,21,25,26,32,25,6,7,10,21,30,18,7,28,20,5,18,33,31,28,19,18,17,20,35,24,8,7,8,16,32,28,9,21,21,9,19,31,31,31,23,26,21,19,29,24,7,7,6,22,35,15,5,24,19,6,23,30,28,34,20,21,18,18,34 H,77124,8,200,4,16,1015675,22,3,1,1,,2,2,2,,140,0,480,3,4,380,1,,2,550,2,1,1,5,,,,1,1,,15,2,600,9,4,59400,4,,,1,1,59400,0,4,4,4,1,4,0,3,0,0,0,18,0,0,0,2,1,2,870,3,0,1,15,2,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,8,12,19,30,27,5,21,26,6,22,41,27,24,22,28,28,25,8,19,34,41,35,31,6,18,31,32,31,39,20,7,7,5,21,15,16,21,6,22,34,30,35,35,7,19,36,22,14,35,19,9,9,7,21,21,22,19,38,23,9,7,7,15,29,18,5,27,21,8,21,34,36,24,30,24,28,20,30 H,77291,8,900,4,16,1015675,124,2,1,,,3,4,,,150,0,2,3,3,,1,,,,,,1,6,2,600,,1,3,,,2,620,6,3,60200,4,802,16,1,1,60200,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,1,7,7,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,132,196,37,135,132,36,116,144,38,138,101,111,41,177,216,200,197,45,127,136,163,192,36,123,160,40,124,151,35,127,115,111,37,216,211,175,186,30,124,128,123,37,247,111,138,218,121,107,189,110,140,117,210,43,43,45,34,192,139,122,119,32,248,132,107,203,113,138,203,105,106,96,184,37,50,46,46,221,134 H,77629,8,900,4,16,1015675,131,2,1,1,,3,2,2,,40,0,2,90,1,900,1,,1,920,1,1,1,7,,,100,1,1,,15,2,800,6,2,126400,4,,,1,1,126400,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,0,0,1,1217,2,0,1,14,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,126,106,121,186,265,153,214,40,229,41,124,42,46,130,142,110,158,176,114,124,216,33,36,122,141,255,115,145,135,141,225,142,136,40,39,184,222,36,43,213,148,127,110,30,46,183,35,276,34,226,123,247,248,153,143,116,129,115,144,149,37,186,231,125,122,35,106,131,150,113,41,117,128,253,257,50,48,199,212 H,77677,8,500,4,16,1015675,94,3,1,1,,4,2,2,,90,0,600,3,4,600,1,,1,700,1,1,1,6,,,100,1,1,,10,2,480,9,1,35000,2,,,2,1,35000,0,2,2,2,1,3,1,3,0,0,1,34,0,0,1,0,0,2,980,1,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,154,80,31,107,92,27,168,95,100,29,95,108,154,110,101,26,169,127,92,28,76,146,96,30,28,100,108,31,164,87,161,148,93,131,25,106,83,110,28,91,157,99,29,93,107,27,177,94,101,26,98,91,163,82,92,29,160,184,103,29,88,162,96,24,27,97,99,25,154,84,158,200,85,167,29,88,103,91,30 H,77751,8,100,4,16,1015675,199,0,1,3,,3,2,2,,,,,,,,1,,,,,,2,4,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,226,219,214,198,295,311,291,189,57,212,317,175,173,307,181,69,69,334,319,200,193,204,196,175,78,68,60,167,296,203,62,214,223,59,205,333,333,330,364,186,219,222,204,223,51,55,52,207,398,190,58,177,187,74,178,314,328,52,70,207,186,151,196,234,326,379,314,195,71,196,369,167,190,319,215,71,57,65 H,77868,8,700,4,16,1015675,114,3,1,1,,3,2,2,,60,0,2,70,2,610,1,,2,1200,1,1,1,6,,,,1,1,,18,2,120,2,1,89500,1,,,1,1,89500,0,1,1,1,1,4,1,3,0,0,1,19,0,0,1,0,0,1,1391,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,112,36,204,111,119,196,100,109,200,106,113,121,199,32,32,35,35,196,183,210,33,110,114,35,35,116,180,204,115,35,188,35,117,109,105,117,123,114,112,122,123,195,34,116,112,31,109,121,35,112,117,111,34,175,184,220,208,37,30,34,174,116,101,205,195,112,34,34,109,192,36,202,111,113,103,123,116,116,103 H,77888,8,100,4,16,1015675,44,4,1,1,,4,2,2,,120,0,2,280,2,600,1,,1,730,1,1,1,6,,,180,1,1,,14,2,500,5,1,79000,2,,,1,1,79000,0,2,2,2,1,4,2,4,0,0,2,21,0,0,1,0,0,1,1352,2,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,77,33,83,78,34,44,39,39,79,38,65,47,95,69,62,75,37,43,37,14,12,44,13,17,43,40,52,43,15,49,16,46,14,12,15,15,60,52,47,78,90,39,73,89,39,42,45,45,88,55,70,49,60,70,79,61,49,41,46,14,14,40,13,14,42,36,36,44,14,42,15,43,15,12,12,13,48,55,48 H,78279,8,800,4,16,1015675,103,6,1,3,1,3,1,2,,60,0,2,3,3,460,1,700,2,560,2,1,1,5,,,,1,1,,14,5,2,3,1,34500,2,,,1,1,49500,1,2,4,2,1,5,0,4,0,1,1,19,0,0,1,0,0,1,774,3,0,0,16,3,5,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,93,36,195,115,27,26,86,100,99,105,103,167,90,27,160,94,193,93,24,23,115,198,31,104,199,219,135,104,108,102,113,32,105,173,23,113,29,121,191,161,100,27,175,109,28,29,86,92,104,99,91,170,112,30,141,95,167,97,33,37,121,153,26,102,186,233,108,93,111,99,92,31,111,202,39,96,33,116,187,157 H,78415,8,100,4,16,1015675,90,1,1,3,1,0,2,2,,2,0,600,3,6,0,2,,,,,3,2,1,,,,2,2,,20,1,2,7,,,,,,1,4,14000,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,0,0,2,192,,0,0,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,141,130,35,32,138,119,36,137,141,103,96,27,88,86,84,88,27,86,94,134,130,140,26,28,154,88,25,144,127,82,88,25,96,105,88,68,29,129,98,104,34,31,132,124,25,86,145,37,23,73,97,168,82,73,87,97,159,89,85,98,31,29,140,151,31,93,120,25,25,95,84,175,102,97,104,88,146,102,91,85 H,78786,8,100,4,16,1015675,123,2,1,1,,5,2,1,,30,0,2,150,1,500,1,,1,940,1,1,1,9,,,370,1,1,,18,2,410,3,1,65000,4,,,1,1,65000,0,4,4,4,1,1,0,2,0,0,0,28,0,0,0,0,0,1,1524,2,0,0,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,149,45,38,132,49,221,122,90,123,147,103,32,112,245,181,109,114,183,146,39,145,42,44,117,44,190,133,117,122,239,99,39,133,218,201,111,156,219,128,39,140,34,32,149,44,211,108,118,119,166,88,28,133,279,204,121,128,229,137,31,118,42,36,163,44,185,115,137,109,203,129,40,148,255,209,105,112,205,119 H,78932,8,800,4,16,1015675,140,2,1,1,,3,1,2,,1,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,2,1,6,2,13000,4,,,2,1,13000,0,4,4,4,2,5,0,2,0,0,0,,0,0,0,1,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,37,203,288,117,52,190,107,61,196,237,226,211,217,157,109,168,146,49,226,47,65,159,208,149,45,135,129,52,129,173,197,228,116,126,148,117,101,40,276,44,61,150,265,168,36,203,153,49,144,189,258,238,153,162,137,121,152,60,217,41,39,114,198,135,35,138,134,39,134,277,218,187,158,114,103,157,181,41,218 H,78949,8,500,4,16,1015675,104,2,1,,,2,5,,,30,0,2,60,3,,1,,,,,,1,4,2,630,,1,3,,,3,1,2,,,,720,13,1,7,66000,0,4,4,4,1,3,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,169,37,114,97,85,102,93,86,178,31,89,105,34,31,102,187,177,105,114,107,115,92,32,204,168,208,169,33,95,102,209,27,94,102,33,101,103,27,34,186,33,195,103,86,107,97,114,98,28,184,97,90,162,182,111,30,33,94,98,106,90,120,182,30,26,32,30,179,104,95,39,161,109,114,182,103,101,213,194 H,79098,8,600,4,16,1015675,79,2,1,1,,2,2,2,,40,0,2,60,1,0,1,,,,,3,1,5,,,,1,2,,3,1,370,9,4,91800,4,,,1,1,91800,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,2,1,139,,0,1,3,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,130,84,142,132,20,25,81,82,85,89,129,23,74,65,79,136,21,71,73,22,124,91,155,124,22,25,80,82,79,88,131,23,79,74,79,137,20,75,82,24,122,75,145,124,23,22,83,85,81,79,135,23,75,76,79,127,24,94,90,23,132,71,120,124,23,23,76,68,84,82,128,23,86,80,86,131,22,77,78,22 H,79162,8,300,4,16,1015675,44,2,1,1,,2,2,2,,50,0,700,3,6,0,1,,,,,3,1,5,,,,1,2,,9,2,240,3,4,21030,4,,,1,1,21030,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,2,157,,0,1,9,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,53,43,42,72,72,78,43,10,41,75,49,57,76,44,13,17,15,38,20,38,59,54,42,66,61,71,45,15,42,68,46,51,76,44,13,10,16,42,112,48,50,47,40,12,11,12,49,85,53,13,40,46,12,37,74,68,66,46,85,36,42,46,53,13,13,11,45,69,38,15,47,45,10,50,103,84,94,42,14 H,79288,8,900,4,16,1015675,81,3,1,1,,3,2,2,,70,0,2,3,3,470,1,,1,400,1,1,1,6,,,,1,1,,16,1,600,4,7,53000,1,,,1,3,53000,0,1,1,1,1,4,2,3,0,0,2,12,0,0,1,0,0,2,520,3,0,1,24,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,75,145,79,77,130,75,25,117,155,23,71,83,28,76,22,94,85,85,28,140,85,166,77,90,132,74,29,119,176,26,79,81,23,91,27,89,72,66,133,22,79,30,71,76,24,79,115,29,22,135,81,82,110,81,105,82,90,78,157,28,91,24,96,92,31,80,134,24,23,131,71,78,146,89,145,86,84,90,25 H,79509,8,600,4,16,1015675,84,1,1,1,,3,2,2,,20,0,770,60,1,330,1,,1,860,1,1,1,6,,,,1,1,,19,1,580,4,,,,,,1,6,43740,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,0,0,1,1052,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,25,85,24,76,96,25,85,139,23,25,147,75,80,158,82,146,89,76,25,86,137,80,152,81,83,132,85,25,140,141,27,77,86,28,78,25,84,84,134,81,24,88,24,88,88,24,83,145,29,24,156,74,78,135,81,152,77,90,23,85,134,91,137,76,80,149,88,25,139,136,24,88,91,24,89,25,86,92,155 H,79627,8,100,4,16,1015675,103,1,1,1,,3,2,2,,20,0,2,20,1,0,1,,,,,3,1,5,,,,1,2,,18,1,560,3,,,,,,1,6,35100,0,4,4,4,1,5,0,,0,0,0,3,0,0,0,1,1,1,87,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,26,95,27,31,152,164,98,106,107,113,34,168,120,113,95,27,165,118,33,103,148,87,155,174,36,36,96,103,105,97,181,32,107,101,95,178,29,111,242,87,32,98,32,34,176,157,106,124,106,94,27,166,90,82,103,27,164,106,32,118,187,95,174,173,30,28,101,108,119,96,168,33,100,100,119,143,26,108,156 H,79669,8,700,4,16,1015675,137,2,1,2,1,4,2,2,,70,0,50,3,4,,1,,,,,,1,8,2,450,,1,3,,,4,2,4,,,,524,17,2,5,36000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,180,261,141,184,102,194,42,219,138,53,41,43,148,210,42,142,146,156,131,144,244,206,171,147,158,269,42,211,122,43,37,43,100,203,54,122,114,136,111,146,214,213,118,130,128,208,42,190,164,40,36,44,191,227,38,134,175,180,139,186,223,158,148,115,147,312,31,287,141,35,40,46,119,236,50,143,146,128,172 H,79714,8,100,4,16,1015675,96,3,1,1,,1,2,2,,190,0,2,2,1,350,1,,2,580,2,1,1,3,,,,1,1,,17,2,620,9,7,34200,1,,,1,3,34200,1,1,4,1,1,5,0,3,0,0,1,33,0,1,1,0,0,2,937,3,0,1,22,2,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,146,88,222,105,102,83,42,102,33,108,95,22,90,162,30,29,152,94,148,95,167,90,170,90,99,95,26,100,28,105,91,26,93,187,27,29,172,76,185,91,194,89,194,123,86,103,29,97,27,93,110,29,95,149,29,33,147,88,137,91,149,116,156,107,100,97,29,81,29,95,98,29,95,183,25,26,147,86,141 H,79817,8,300,4,16,1015675,56,5,1,1,,2,1,2,,100,0,80,3,3,,1,,,,,,1,4,2,100,,1,3,,,1,560,3,8,0,2,254,20,2,3,15000,0,2,2,2,1,4,3,4,0,1,3,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,47,118,92,94,72,48,57,65,48,26,19,16,51,111,66,33,64,38,18,115,41,66,133,89,53,68,59,52,57,20,16,19,79,86,51,20,57,55,17,84,57,85,92,94,50,75,60,55,65,18,19,23,77,79,55,15,51,92,15,99,64,131,64,79,49,56,58,59,45,12,24,19,48,128,55,16,66,84,23,86 H,79959,8,500,4,16,1015675,152,2,1,1,,3,2,2,,100,0,2,2,1,250,1,,2,800,2,1,1,5,,,,1,1,,13,2,800,4,1,35000,4,,,2,1,35000,0,4,4,4,2,5,0,2,0,0,0,37,0,0,0,0,0,1,1071,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,45,235,244,302,203,38,186,120,234,48,146,145,54,173,151,56,182,143,157,136,45,249,222,239,238,66,169,143,293,41,111,157,47,152,115,59,183,239,163,161,49,234,221,212,284,55,162,173,218,39,188,152,60,198,173,50,136,135,135,129,70,251,225,202,271,52,144,167,271,54,146,176,51,142,158,37,146,122,139,143 H,80372,8,900,4,16,1015675,310,4,1,2,1,4,2,2,,120,0,2,80,2,900,1,,2,330,2,1,1,5,,,,1,1,,19,3,2,3,1,57200,1,,,1,1,57200,1,1,4,1,1,5,0,4,0,0,1,14,0,1,1,0,0,2,682,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,326,82,324,316,432,451,79,83,432,283,113,485,438,396,330,107,406,310,327,372,263,441,328,330,127,100,318,431,123,336,496,106,117,417,331,419,335,401,298,233,285,412,320,288,108,137,506,449,106,383,489,123,94,379,271,371,412,309,309,347,269,109,349,301,493,505,85,111,416,371,137,433,425,371,282,83,309,373,321,270 H,80896,8,400,4,16,1015675,66,5,1,1,,3,2,2,,200,3600,2,3,3,,1,,,,,,1,5,2,400,,1,3,,,3,450,8,3,17300,1,638,32,1,1,24050,0,1,1,1,1,1,2,4,0,1,2,,0,0,1,0,0,2,,,1,0,,2,5,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,50,18,16,13,34,85,12,83,21,79,64,92,121,26,15,80,67,19,69,108,95,58,52,124,67,122,63,88,103,85,94,127,109,100,71,71,95,95,116,18,87,23,28,16,14,58,23,88,19,83,54,50,70,18,21,62,79,21,59,70,173,82,58,90,52,112,114,91,65,136,95,86,110,55,87,102,85,95,141,22 H,81162,8,100,4,16,1015675,91,2,1,1,,3,2,2,,250,0,600,170,1,,1,,,,,,1,5,2,880,,1,3,,,1,400,7,5,5000,2,1383,101,1,2,5000,0,2,2,2,1,2,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,98,28,97,25,103,104,79,145,96,138,86,88,144,87,28,176,144,28,30,86,94,27,88,26,87,90,83,151,104,173,97,102,158,87,26,160,166,27,24,111,93,24,85,22,98,98,81,142,95,168,89,78,166,104,27,163,177,31,23,89,89,30,91,27,105,87,99,145,93,182,97,99,150,94,24,145,152,23,24 H,81167,8,800,4,16,1015675,18,3,1,2,1,3,1,2,,130,0,2,3,3,0,1,500,,,,3,1,5,,,,1,2,,8,4,2,5,1,60000,4,,,2,1,60000,0,4,4,4,1,7,0,3,0,0,0,3,0,0,0,0,0,1,172,,0,0,1,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,27,32,3,5,37,13,5,30,34,17,21,5,15,19,16,17,5,18,19,23,32,27,8,7,36,24,5,29,31,24,15,5,20,19,17,20,7,18,19,17,29,28,3,5,21,20,7,30,26,24,15,5,19,17,20,16,5,19,16,20,26,33,3,3,32,17,5,39,30,16,34,7,13,19,22,26,5,16 H,81355,8,700,4,16,1015675,111,2,1,1,,3,2,2,,50,0,2,180,1,300,1,,1,1000,1,1,1,6,,,210,1,1,,17,2,50,2,1,94000,4,,,1,1,94000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1444,2,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,105,95,97,197,104,33,112,34,32,192,117,176,107,114,177,122,183,35,112,36,109,107,114,190,114,36,124,34,34,195,100,174,113,108,165,105,188,36,102,180,113,106,108,36,103,187,92,186,201,33,117,37,119,109,40,116,33,211,105,192,114,117,119,30,95,183,108,169,190,33,109,30,100,111,34,115,33,173,112 H,81372,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,81378,8,700,4,16,1015675,116,1,1,1,,3,2,2,,100,0,2,40,1,360,1,,2,250,2,1,1,6,,,,1,1,,17,1,220,1,,,,,,1,6,13000,0,4,4,4,1,1,0,,0,0,0,50,0,0,0,1,1,1,546,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,185,33,198,99,117,125,111,119,121,33,173,120,96,202,204,114,31,30,105,33,122,122,116,37,211,216,202,198,36,101,104,186,30,121,127,36,115,122,194,109,34,222,32,116,108,108,125,115,125,199,33,119,111,30,37,106,206,215,118,178,111,115,102,203,35,34,30,34,210,113,116,35,213,118,110,201,118,115,34 H,81447,8,300,4,16,1015675,98,5,1,2,1,4,2,2,,150,0,790,3,6,880,1,,1,860,1,1,1,8,,,,1,1,,15,4,2,7,3,135600,1,,,1,1,135600,1,1,4,1,1,4,0,5,0,0,1,10,0,1,1,0,0,1,1076,3,0,1,20,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,205,167,184,82,101,99,93,111,31,27,31,96,177,105,28,101,95,24,29,85,24,31,31,91,115,94,107,109,189,171,185,77,26,114,170,86,100,148,29,87,29,25,35,98,108,107,101,121,191,183,185,94,30,92,148,97,94,164,161,84,159,134,169,96,92,96,84,104,30,34,30,82,152,97,28,113,129,25,145 H,81489,8,800,4,16,1015675,145,3,1,2,1,4,2,2,,230,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,4,250,4,4,52400,4,,,4,1,52400,0,4,4,4,1,5,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,3,5,9,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,125,187,223,131,226,42,106,204,121,40,137,311,164,49,69,133,112,47,188,188,180,80,31,229,70,209,140,113,132,228,189,51,181,204,163,178,145,289,48,138,165,55,40,153,52,172,129,113,206,314,140,44,139,209,194,150,216,161,49,111,149,195,308,115,218,52,138,219,140,67,110,232,140,54,92,140,143,55,225,128 H,81583,8,400,4,16,1015675,98,2,1,2,1,3,2,2,,130,0,2,440,2,700,1,,1,1300,1,1,1,7,,,230,1,1,,21,2,2,2,1,92800,4,,,1,1,92800,0,4,4,4,1,2,0,2,0,0,0,27,0,0,0,0,0,1,2100,2,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,88,28,43,46,95,74,84,145,104,162,130,212,109,21,82,169,100,96,34,156,107,35,25,22,110,153,93,72,95,187,130,136,92,29,95,143,109,119,31,138,81,22,29,30,91,82,97,111,115,182,147,177,100,22,86,136,116,120,28,198,135,32,25,33,104,118,124,88,117,173,160,160,122,36,87,162,88,87,46 H,81756,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,81812,8,900,4,16,1015675,34,4,1,2,6,3,1,2,,150,0,2,200,2,80,1,1200,1,650,1,2,1,5,,,,1,1,,11,4,200,6,2,8500,3,,,2,1,8500,0,3,3,3,1,2,2,4,0,0,2,101,0,0,1,0,0,1,1117,3,0,0,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,20,66,66,50,33,34,23,35,44,9,15,13,29,63,26,8,26,21,6,10,37,10,7,10,39,29,50,42,20,52,46,46,54,10,53,50,26,41,41,42,36,88,81,55,31,32,30,35,40,12,11,12,24,45,24,8,33,29,10,12,47,10,9,10,27,31,40,23,30,52,46,38,32,10,37,46,31,46,58,74 H,81998,8,200,4,16,1015675,38,2,1,1,,3,1,2,,180,0,1000,3,4,130,1,900,1,310,2,1,1,6,,,,1,1,,6,1,420,6,,,,,,1,5,24200,0,4,4,4,1,1,0,,0,1,0,37,2,0,0,2,1,2,741,3,0,0,16,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,46,36,12,11,12,38,31,34,34,37,71,100,60,44,11,42,71,38,42,52,8,29,69,47,54,38,32,32,37,45,16,19,12,31,55,38,13,29,35,48,11,34,52,61,75,41,33,43,36,42,14,12,10,38,63,40,10,35,39,10,59,37,8,8,13,41,38,41,42,30,62,66,61,33,11,48,53,31,38,8 H,82507,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,82514,8,500,4,16,1015675,139,3,1,2,1,2,2,2,,50,0,400,90,1,350,1,,,,,3,1,6,,,,1,2,,17,6,2,6,4,24500,4,,,1,1,24500,0,4,4,4,1,7,0,3,0,0,0,14,0,0,0,2,2,1,294,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,43,45,232,40,141,160,249,219,276,169,143,39,229,138,46,119,125,150,46,45,118,137,157,145,231,40,133,149,127,225,36,155,148,266,139,199,221,38,185,121,238,218,37,237,155,149,38,44,44,140,138,256,39,130,231,115,156,159,198,226,149,142,152,143,43,235,123,158,149,38,263,133,155,35,133,43,41,221,126 H,82708,8,100,4,16,1015675,36,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,42,37,40,34,38,65,59,57,36,11,37,63,33,36,65,40,11,10,68,61,40,36,38,33,41,11,10,12,36,71,38,12,35,37,10,36,67,63,12,14,40,38,36,37,36,59,64,59,39,13,30,54,39,41,66,35,13,12,55,62,39,41,33,43,47,10,11,10,39,68,39,10,32,37,10,34,64,63,10 H,82864,8,800,4,16,1015675,332,0,1,1,,1,3,2,,,,,,,,1,,,,,,1,3,2,800,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,595,291,353,579,346,106,589,503,104,312,312,75,308,108,323,341,350,469,356,582,133,338,291,116,314,573,127,108,612,325,288,458,315,488,355,350,316,110,339,97,550,305,303,502,314,101,580,523,120,325,318,107,309,94,417,309,295,494,330,486,106,380,384,110,332,598,120,125,562,314,380,539,320,544,303,354,296,96,304,103 H,82943,8,900,4,16,1015675,84,2,1,1,,3,2,2,,40,0,2,60,1,310,1,,2,400,1,1,1,6,,,,1,1,,12,2,770,6,7,62100,4,,,1,3,62100,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,1,1,1,590,3,0,1,24,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,27,78,97,155,86,160,151,26,24,77,95,79,76,118,25,75,65,93,25,128,26,88,78,144,101,140,153,25,23,86,82,76,88,164,32,88,89,87,27,139,28,88,82,136,95,145,134,22,23,81,94,90,95,148,25,90,94,102,26,122,23,70,80,140,72,148,146,31,20,94,78,76,72,139,29,94,71,94,24 H,82994,8,300,4,16,1015675,98,6,1,2,1,3,2,2,,130,5200,250,3,6,,1,,,,,,1,5,2,650,,1,3,,,2,1,5,2,12500,3,801,77,1,1,12500,0,3,3,3,1,2,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,171,106,28,103,149,92,95,129,99,23,38,37,131,92,94,127,92,161,165,25,117,86,47,122,177,96,69,143,92,27,28,21,124,128,122,153,77,134,178,26,136,113,26,86,219,121,93,159,79,33,38,23,87,76,80,117,111,153,125,29,150,109,34,130,156,92,87,150,89,28,29,40,89,107,106,94,99,218,161,22 H,83742,8,800,4,16,1015675,55,1,1,1,,2,2,2,,100,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,1,1,6,,,,450,28,1,4,19000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,95,15,14,111,49,14,91,87,47,71,14,57,67,59,51,13,64,60,50,81,87,14,15,94,62,17,77,117,75,53,17,49,37,56,73,20,54,51,59,75,88,16,12,86,46,15,109,77,48,61,19,72,71,50,54,16,67,56,43,85,80,15,15,101,60,15,64,111,56,47,22,73,42,48,69,17,52,62,59 H,83985,8,600,4,16,1015675,349,2,1,,,3,5,,80,40,0,2,60,1,180,1,,1,680,1,1,1,5,,,,2,1,,16,2,160,3,,,,,,1,7,69000,0,4,4,4,1,3,0,,0,1,0,15,0,0,0,0,0,2,873,3,0,0,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,388,608,369,378,267,106,109,334,100,643,105,557,342,519,650,375,338,353,282,333,565,335,103,562,644,371,329,111,364,330,295,377,106,372,385,616,585,94,123,375,562,350,115,594,592,325,332,104,322,364,346,371,94,301,346,598,570,106,107,98,337,587,317,320,357,116,101,324,120,624,90,574,367,684,630,366,331,351,371,106 H,84177,8,600,4,16,1015675,216,2,1,,,2,5,,,30,0,2,30,1,,1,,,,,,1,4,2,700,,1,3,,,2,1,2,,,,760,18,1,7,49800,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,354,210,58,391,367,225,232,64,226,238,190,193,67,203,212,368,339,221,69,70,358,228,61,359,368,227,217,73,212,227,189,191,64,200,198,350,360,199,348,341,71,226,347,61,62,199,229,409,232,198,205,235,380,207,261,66,60,223,338,387,61,193,365,62,71,211,224,319,205,208,232,229,370,217,193,67,61,224 H,84332,8,800,4,16,1015675,59,1,1,1,,2,2,2,,40,0,2,90,1,310,1,,1,500,1,1,1,5,,,,1,1,,13,1,30,9,,,,,,1,6,15100,0,4,4,4,1,6,0,,0,0,0,50,0,0,0,1,1,1,633,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,55,53,62,45,19,19,82,22,64,48,105,93,92,52,49,18,97,70,15,58,103,112,19,17,52,59,61,62,105,15,62,57,66,107,16,62,53,122,67,15,55,65,50,60,15,15,104,17,66,54,114,87,88,63,63,19,86,62,18,52,96,86,15,18,67,59,56,64,103,18,66,60,61,119,17,67,58,87,55 H,84874,8,500,4,16,1015675,75,2,1,1,,3,2,2,,50,0,2,20,1,510,1,,1,610,1,1,1,7,,,210,1,1,,15,4,720,5,1,33200,4,,,1,1,33200,0,4,4,4,1,3,0,2,0,0,0,34,0,0,0,0,0,1,950,2,0,1,27,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,23,121,90,81,68,138,74,23,82,138,128,86,76,126,20,73,23,19,75,79,18,129,73,76,70,153,72,23,77,124,133,62,78,133,23,97,22,25,69,71,21,146,75,80,83,136,75,21,73,117,122,83,75,111,21,72,23,23,85,79,22,145,70,64,76,115,94,21,77,120,123,81,72,134,25,69,22,26,83 H,85004,8,300,4,16,1015675,110,2,1,2,1,1,3,2,,30,0,2,1,1,,1,,,,,,1,2,,,,2,4,,,1,1,3,2,14500,4,,,1,1,14500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,3,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,133,103,27,158,245,39,26,144,124,116,210,125,187,141,114,93,42,136,34,31,102,91,190,80,32,168,204,47,79,72,38,114,41,128,116,111,240,89,188,151,99,96,32,101,194,31,36,151,117,164,154,82,232,97,96,145,37,102,39,31,173,108,174,111,44,202,182,36,94,112,37,139,27,141,183,99,184,104,208,164 H,85383,8,400,4,16,1015675,28,5,1,1,,2,1,2,,90,0,2,3,3,,1,,,,,,1,4,2,340,,1,3,,,2,420,3,1,38100,2,465,15,2,1,38100,0,3,3,3,2,5,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,3,1,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,8,29,27,53,26,36,28,18,64,45,19,7,13,58,56,9,27,61,8,33,47,23,34,10,25,43,26,27,11,34,28,46,59,11,9,46,33,10,45,31,58,29,31,13,23,32,27,21,8,34,24,37,60,8,6,40,30,13,54,20,8,36,31,47,32,29,27,33,69,47,30,12,8,42,48,8,27,58,8,34 H,85458,8,200,4,16,1015675,70,1,1,3,5,4,2,2,,140,0,2,3,3,1000,1,,,,,3,1,6,,,,1,2,,16,2,2,9,,,,,,1,4,43800,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,2,406,,0,0,34,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,70,67,30,64,117,71,96,117,19,62,22,70,80,22,53,19,153,127,67,66,65,73,108,71,32,62,21,23,103,85,125,68,69,126,66,92,22,23,69,77,76,64,21,67,138,54,104,146,22,68,21,69,65,16,70,21,109,131,81,81,67,70,128,68,26,71,19,22,139,65,136,81,61,126,58,85,27,22,79 H,85770,8,700,4,16,1015675,378,3,1,1,,4,2,2,,200,0,2,70,1,1500,1,,2,1200,2,1,1,9,,,,1,1,,23,3,720,2,3,56660,2,,,1,1,56660,0,2,2,2,1,3,1,3,0,0,1,53,0,0,1,0,0,2,2488,3,0,1,68,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,386,621,604,376,103,115,381,657,124,587,408,377,378,381,386,409,112,621,356,427,112,398,379,114,382,376,106,381,369,373,121,631,587,596,643,121,405,351,590,598,360,101,108,364,688,616,392,123,623,108,365,398,402,405,402,376,612,107,388,403,663,366,396,678,375,414,588,349,356,397,646,106,106,116,113,603,401,355,119,98 H,85871,8,600,4,16,1015675,114,1,1,1,,3,2,2,,40,0,2,130,1,320,1,,,,,3,1,6,,,,1,2,,20,1,540,3,,,,,,1,6,165100,0,4,4,4,1,5,0,,0,0,0,4,0,0,0,1,1,1,554,,0,1,49,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,32,31,197,28,115,122,184,201,199,111,105,33,168,112,33,111,106,103,171,195,113,118,114,126,34,209,120,112,121,29,180,111,101,36,125,35,31,204,113,101,189,211,32,190,110,106,36,33,35,108,110,192,34,104,210,104,116,122,34,30,107,112,101,114,191,33,106,120,126,183,34,117,122,211,104,188,190,33,114 H,85952,8,100,4,16,1015675,137,4,1,3,1,4,2,2,,70,0,2,3,6,400,1,,1,1100,1,1,1,7,,,250,1,1,,19,2,2,3,1,90000,2,,,1,1,90000,0,2,2,2,1,4,2,4,0,0,2,19,0,0,1,0,0,1,1420,2,0,0,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,150,158,130,199,222,133,230,43,238,38,141,40,44,117,138,149,143,145,144,127,243,38,40,141,134,219,126,162,158,103,238,149,137,40,50,226,248,37,206,41,133,130,139,233,242,141,214,38,211,38,149,39,46,148,133,146,131,154,140,134,243,41,42,119,143,220,153,156,124,161,240,133,138,47,42,203,229,31,211 H,86129,8,200,4,16,1015675,22,4,1,2,6,4,2,2,,250,0,140,80,8,2200,1,,1,1700,1,1,1,8,,,,1,1,,18,2,2,5,2,71000,2,,,1,1,71000,0,2,2,2,1,3,2,4,0,0,2,35,0,0,1,0,0,1,2042,3,0,1,32,1,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,27,32,5,17,27,5,6,19,28,39,25,26,24,27,42,22,23,7,17,5,27,42,7,22,34,7,7,22,26,48,25,34,31,21,40,20,20,5,19,33,5,6,31,21,6,40,43,19,29,7,20,24,22,23,7,20,23,37,16,35,5,9,29,18,7,33,39,21,29,7,24,15,17,30,7,23,19,43,16 H,86188,8,400,4,16,1015675,38,4,1,2,1,2,2,2,,80,0,2,3,6,400,1,,,,,3,1,7,,,,1,2,,22,4,100,2,3,98000,2,,,1,1,98000,0,2,2,2,1,3,1,4,0,0,1,2,0,0,1,0,0,1,204,,0,1,22,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,37,15,36,31,36,36,12,44,38,61,69,11,12,73,49,13,71,59,36,54,37,59,35,36,42,39,62,30,33,10,9,59,58,11,42,82,13,10,38,34,38,10,34,48,45,32,10,41,35,71,70,12,13,60,44,12,69,67,33,47,43,47,46,47,35,53,67,36,36,12,10,59,59,14,32,57,12,11,59 H,86240,8,700,4,16,1015675,176,4,1,1,,3,1,2,,90,0,2,10,1,600,1,3500,2,670,2,1,1,6,,,,1,1,,10,2,430,2,7,47000,2,,,1,3,47000,1,1,4,1,1,3,0,4,0,0,1,31,0,1,1,1,0,2,1198,3,0,0,14,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,178,51,170,205,80,177,55,360,231,178,161,159,59,196,261,183,251,268,169,330,192,267,171,195,395,152,297,51,49,190,147,142,237,167,65,187,43,56,149,248,184,329,151,191,304,200,285,66,57,141,155,175,292,205,71,158,66,70,150,57,220,69,141,220,70,156,58,249,236,159,153,156,79,210,247,192,275,255,203 H,86251,8,600,4,16,1015675,89,1,1,1,,3,2,2,,50,0,2,80,1,150,1,,,,,3,1,7,,,,1,2,,15,2,300,8,,,,,,1,4,32000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,0,0,1,242,,0,1,19,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,90,89,84,146,29,89,93,143,80,153,158,23,27,101,85,88,89,135,148,152,87,79,92,27,139,78,86,25,90,25,25,144,149,88,88,87,87,27,24,24,91,93,85,149,27,93,88,147,93,144,157,23,25,84,86,97,81,153,148,147,81,93,81,24,149,96,93,25,89,25,23,156,154,90,91,86,85,29,29 H,86332,8,800,4,16,1015675,44,1,1,1,,4,2,2,,30,300,400,10,1,310,1,,,,,3,1,8,,,,1,2,,14,1,360,9,,,,,,1,4,20100,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,202,,0,1,19,,,,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,40,14,69,56,15,37,45,13,49,12,56,33,48,81,43,71,31,52,99,17,32,12,102,74,12,42,44,12,57,17,34,42,36,66,51,75,45,51,89,13,41,14,63,62,12,33,40,13,49,12,48,60,62,73,42,94,36,43,76,13,44,12,84,82,17,54,32,8,50,15,38,58,45,71,50,85,43,47,89,17 H,86373,8,600,4,16,1015675,322,4,1,,,3,5,,,130,0,2,3,3,,1,,,,,,1,5,2,580,,1,3,,,2,1,4,3,25000,3,710,34,1,1,25000,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,93,108,95,559,294,346,93,550,324,334,607,352,339,524,321,312,337,611,294,535,526,576,495,95,298,307,580,95,339,295,89,347,349,109,327,293,348,89,310,97,98,93,101,571,344,335,89,543,327,306,561,327,298,508,299,328,318,556,359,572,564,549,609,91,328,335,535,95,308,342,92,332,324,91,287,329,356,90,303 H,86508,8,600,4,16,1015675,112,1,1,1,,2,2,2,,30,0,2,60,1,300,1,,1,660,1,1,1,5,,,150,2,1,,17,2,140,8,,,,,,1,4,30000,0,4,4,4,1,3,0,,0,0,0,36,0,0,0,0,0,1,912,2,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,115,199,198,98,197,203,98,113,109,110,209,114,169,100,194,178,197,201,99,111,109,32,33,111,34,34,105,117,122,109,32,118,32,113,35,33,34,33,110,110,119,34,36,109,34,32,111,107,107,108,34,102,34,107,32,31,31,33,110,112,104,206,185,108,206,178,116,111,106,109,205,115,184,110,171,198,189,178,104 H,86570,8,200,4,16,1015675,154,2,1,1,,3,2,2,,50,0,1100,3,4,280,1,,1,650,1,1,1,5,,,200,1,1,,13,3,100,4,1,48020,4,,,1,1,48020,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,0,0,2,1000,4,0,1,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,52,270,138,265,130,40,153,43,244,160,39,45,159,108,156,186,165,339,172,199,46,197,169,251,128,47,139,55,392,131,53,46,116,168,204,146,189,255,154,295,53,284,169,226,147,47,124,38,309,144,56,53,153,165,172,190,140,231,165,201,45,213,157,291,137,39,163,53,263,129,48,39,141,159,209,141,144,275,152,258 H,87082,8,300,4,16,1015675,551,6,1,,,3,8,,,1,0,2,3,3,,1,,,,,,1,6,2,1400,,1,3,,,4,1,4,,,,1400,61,1,7,27700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,616,489,186,575,636,475,539,359,443,406,822,963,233,252,684,507,319,694,808,490,640,508,617,692,745,548,574,646,508,611,202,224,693,696,293,609,872,273,278,769,666,455,536,632,816,806,624,732,314,680,173,165,700,783,354,522,713,246,212,671,479,496,208,713,628,368,657,285,631,562,521,741,302,192,537,505,382,853,667,433 H,87151,8,500,4,16,1015675,23,2,1,2,2,4,2,2,,40,0,850,3,4,270,1,,,,,3,1,7,,,,1,2,,16,2,2,8,4,16800,4,,,1,1,16800,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,2,1,209,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,27,38,27,41,6,22,40,37,24,25,26,23,27,6,27,47,4,22,59,40,23,8,23,7,40,24,6,6,23,22,26,25,21,44,31,7,38,23,9,7,26,41,26,46,6,23,47,43,26,25,26,25,23,7,21,39,9,23,33,45,27,6,26,8,39,24,6,7,27,21,24,23,24,43,22,6,40,23,8 H,87894,8,600,4,16,1015675,115,3,1,1,,3,2,2,,50,0,2,210,1,680,1,,1,610,1,1,1,4,,,,1,1,,15,0,580,2,7,45300,4,,,1,3,64300,0,4,4,4,1,3,0,2,0,1,0,17,0,0,0,1,1,1,918,3,0,1,27,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,33,203,195,31,131,121,35,112,31,119,118,102,187,128,194,119,125,178,191,119,190,32,35,189,114,105,205,115,195,113,121,107,34,125,31,120,116,33,32,112,35,206,194,35,120,111,34,118,36,112,125,103,184,109,192,123,107,210,187,116,183,37,31,179,110,119,209,121,195,109,106,121,35,113,36,117,117,37,37 H,88010,8,400,4,16,1015675,93,1,1,1,,4,2,2,,60,0,2,80,1,290,1,,,,,3,1,7,,,,1,2,,9,1,460,5,,,,,,1,6,6700,0,4,4,4,1,6,0,,0,0,0,36,0,0,0,1,1,1,202,,0,1,1,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,39,76,105,132,80,77,240,173,121,61,20,100,187,83,78,186,163,34,42,181,156,97,106,89,87,83,26,33,28,73,129,103,32,70,95,38,79,150,167,36,25,83,104,94,72,63,144,136,149,117,22,83,179,87,75,145,100,38,37,120,161,73,83,102,102,112,36,31,26,81,170,113,30,92,114,32,111,179,182,26 H,88291,8,800,4,16,1015675,137,2,1,,,1,5,,,1,0,2,3,3,,1,,,,,,1,3,2,450,,1,3,,,2,1,2,1,29800,4,450,18,1,1,29800,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,44,208,262,120,159,144,45,151,339,120,167,216,47,118,39,137,145,41,125,99,228,56,45,131,126,138,170,168,43,120,56,39,220,125,243,115,147,281,129,123,40,196,201,158,117,102,53,170,214,120,246,177,37,154,50,124,126,60,227,139,236,55,44,103,131,151,247,138,50,127,45,43,229,137,224,156,126,196,152 H,88475,8,100,4,16,1015675,35,4,1,1,,3,2,2,,50,0,150,30,1,600,1,,1,670,1,1,1,6,,,,1,1,,16,2,150,3,7,36530,2,,,1,3,36530,0,2,2,2,1,4,2,4,0,0,2,25,0,0,1,0,0,1,776,3,0,1,14,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,60,35,32,37,10,12,35,12,50,12,54,28,56,56,37,35,31,41,40,12,40,56,12,8,31,36,57,32,35,29,32,58,40,41,10,10,56,54,10,32,72,30,36,32,10,12,37,13,51,12,65,33,58,60,39,34,39,33,34,9,34,53,10,8,37,36,62,34,29,28,30,61,37,39,10,8,66,67,10 H,88676,8,900,4,16,1015675,111,2,1,,,2,5,,,20,0,2,3,3,,1,,,,,,1,4,2,620,,2,3,,,2,1,5,,,,640,79,1,7,9700,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,115,35,215,101,83,30,113,33,44,190,202,111,116,103,107,35,252,149,99,33,137,186,27,119,134,193,108,193,200,29,36,108,114,97,115,149,30,111,84,207,109,41,197,102,109,30,120,33,32,207,179,123,107,118,96,27,165,119,150,34,118,190,33,153,114,132,108,180,200,36,26,116,123,121,109,157,30,101,109,154 H,88812,8,700,4,16,1015675,233,1,1,1,,3,2,2,,130,0,2,160,1,600,1,,1,820,1,1,1,8,,,50,1,1,,19,1,400,2,,,,,,1,6,62200,0,4,4,4,1,3,0,,0,0,0,23,0,0,0,0,0,2,1193,2,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,359,358,206,64,423,79,232,247,232,243,218,238,365,67,235,235,66,68,220,74,227,237,67,217,225,262,76,405,423,391,400,72,234,215,379,59,247,254,369,240,392,364,223,74,351,67,237,211,253,233,250,237,424,73,264,247,63,80,240,65,244,245,67,230,215,226,64,369,411,428,385,58,201,227,409,73,238,254,395 H,89001,8,800,4,16,1015675,120,6,1,1,,2,2,2,,100,0,2,3,3,,1,,,,,,1,5,2,430,,1,3,,,2,1,2,8,0,3,530,37,1,3,17400,0,3,3,3,1,3,4,5,0,1,4,,4,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,134,122,226,124,36,191,146,36,159,125,41,155,44,96,117,145,171,113,34,164,115,136,180,108,40,192,180,47,81,118,64,120,47,112,93,115,165,124,57,244,132,115,205,105,41,169,154,36,137,125,39,144,36,115,108,124,208,114,34,190,135,118,156,134,49,161,131,43,94,109,54,115,37,119,122,142,225,134,57 H,89027,8,300,4,16,1015675,67,2,1,2,1,3,2,2,,80,0,2,30,2,0,1,,1,310,1,1,1,7,,,,1,1,,13,5,2,5,1,49000,4,,,1,1,49000,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,0,0,2,420,3,0,1,19,2,4,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,60,112,62,70,65,25,23,55,24,115,19,111,82,88,105,72,70,77,56,93,117,87,20,105,111,61,56,17,82,90,67,67,21,55,52,131,117,21,26,64,90,64,20,145,115,73,73,21,62,85,66,67,22,69,50,118,115,19,22,19,75,121,62,59,74,21,19,61,15,120,20,109,80,104,130,75,63,76,75,17 H,89118,8,900,4,16,1015675,105,1,1,1,,2,3,2,,30,0,2,50,1,,1,,,,,,1,4,2,650,,1,3,,,1,1,1,,,,730,18,1,6,48500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,23,30,40,116,136,100,29,107,108,33,90,200,165,165,83,106,158,112,28,80,177,178,184,129,30,109,146,94,111,197,118,25,46,38,91,89,92,97,165,130,31,33,36,92,150,115,34,125,117,27,119,153,120,167,99,129,87,103,31,100,187,220,143,94,34,85,135,89,142,218,108,27,48,31,122,125,77,110,209 H,89156,8,700,4,16,1015675,135,1,1,1,,3,1,2,,140,0,2,3,3,300,1,290,,,,3,1,6,,,,1,2,,4,1,120,3,,,,,,1,6,23100,0,4,4,4,1,1,0,,0,0,0,13,0,0,0,1,1,1,241,,0,0,12,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,125,208,145,41,128,45,37,230,128,281,137,134,197,129,232,43,39,138,127,142,125,219,134,42,153,46,35,237,134,219,117,117,200,152,244,42,41,136,121,123,135,44,133,219,128,240,256,37,156,36,124,161,42,113,40,215,217,128,139,125,147,43,124,242,122,222,249,39,152,39,133,147,47,136,37,252,236,133,142 H,89280,8,400,4,16,1015675,44,3,1,1,,3,2,2,,80,0,200,3,8,700,1,,1,690,1,1,1,6,,,,1,1,,16,3,620,1,1,69700,4,,,1,1,69700,0,4,4,4,1,1,0,3,0,0,0,14,0,0,0,0,0,2,839,3,0,1,18,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,14,12,12,36,46,48,45,41,76,68,69,49,11,42,80,51,39,68,58,12,13,11,11,52,40,45,37,39,71,70,107,62,13,36,69,63,55,67,36,57,73,77,84,51,41,44,41,35,12,15,15,46,81,51,11,44,44,12,45,85,80,89,75,52,42,43,46,43,16,11,10,37,74,48,10,44,44,12,42,10 H,89476,8,100,4,16,1015675,18,5,1,1,,4,2,2,,130,1200,2,300,1,,1,,,,,,2,8,2,580,,1,3,,,2,230,7,7,21200,2,1029,21,2,3,58000,0,2,2,2,1,3,2,3,0,1,2,,3,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,7,8,30,36,7,17,23,5,5,22,25,30,15,23,23,22,28,18,21,22,35,38,5,5,44,18,3,33,35,15,24,5,19,15,15,24,5,18,26,21,7,5,27,33,4,20,32,7,7,21,18,42,21,22,21,19,37,20,26,23,28,27,5,5,39,15,7,46,27,21,17,6,18,19,23,19,7,19,20 H,89592,8,900,4,16,1015675,98,1,1,1,,2,1,2,,40,0,2,3,3,250,1,0,,,,3,1,4,,,,1,2,,4,3,2,3,,,,,,1,6,7800,0,4,4,4,1,5,0,,0,0,0,13,0,0,0,1,1,1,82,,0,0,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,126,235,195,164,111,86,84,128,108,34,35,32,104,142,71,30,87,76,27,179,104,141,155,156,95,91,120,126,94,31,33,23,84,150,103,31,92,88,34,139,97,194,208,150,96,117,97,99,90,30,34,28,99,143,88,32,93,94,30,157,90,157,185,213,90,87,89,87,103,41,29,27,103,151,102,33,123,110,25,160 H,90198,8,500,4,16,1015675,123,3,1,1,,3,2,2,,100,0,2,3,1,350,1,,1,1200,1,1,1,6,,,,1,1,,19,4,230,5,1,67000,4,,,1,1,67000,0,4,4,4,1,6,0,3,0,0,0,24,0,0,0,0,0,1,1319,3,0,1,64,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,229,34,123,132,118,175,34,116,137,220,130,205,206,33,36,117,127,126,38,110,206,37,125,122,102,194,39,131,134,211,134,196,198,40,38,140,123,117,35,126,198,35,114,146,118,202,34,121,130,221,122,233,182,33,37,125,141,139,32,122,208,38,121,112,121,188,38,119,150,219,116,209,201,35,41,116,140,115,36 H,90339,8,100,4,16,1015675,71,5,1,1,,2,1,2,,100,0,360,3,6,0,1,0,,,,3,1,4,,,,1,2,,1,1,1,5,4,20700,2,,,1,1,20700,0,2,2,2,1,3,2,5,0,0,2,8,0,0,1,1,1,2,136,,0,0,3,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,132,78,118,92,91,72,20,70,20,74,69,22,83,127,20,23,106,62,116,53,108,71,104,67,73,63,18,80,24,73,97,24,62,99,23,28,110,64,22,76,22,69,28,92,98,65,99,84,131,70,73,139,62,19,145,112,20,60,23,80,23,68,21,65,71,66,122,74,102,77,72,111,68,19,148,110,17,57,129 H,90596,8,900,4,16,1015675,174,5,1,2,1,5,1,2,,170,0,2,50,3,,1,,,,,,1,7,2,800,,1,3,,,2,1,4,1,57000,2,1020,21,1,1,57000,0,2,2,2,1,1,2,5,0,0,2,,0,0,1,0,0,1,,,1,0,,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,166,46,42,61,180,147,173,168,210,259,271,338,171,50,162,314,227,168,38,274,148,54,75,67,156,203,214,172,207,287,259,268,161,44,212,277,152,222,47,329,184,59,52,51,151,213,186,153,165,286,273,242,156,79,158,225,190,165,65,237,173,55,59,63,181,153,155,193,191,280,304,249,202,54,200,330,146,164,53 H,91107,8,200,4,16,1015675,119,2,1,1,,3,2,2,,140,0,800,3,4,600,1,,1,620,1,1,1,7,,,,1,1,,12,4,800,7,1,41000,4,,,1,1,41000,0,4,4,4,1,2,0,2,0,0,0,26,0,0,0,0,0,1,894,3,0,1,15,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,27,117,221,147,238,92,101,160,98,204,54,20,18,124,231,112,32,163,171,74,29,100,148,225,223,239,102,116,254,132,39,74,55,69,116,116,43,136,35,104,231,153,40,34,50,246,103,92,193,87,133,223,233,68,34,170,166,125,34,109,170,135,49,28,36,132,115,131,116,98,300,170,246,162,26,69,220,170,306 H,91284,8,100,4,16,1015675,32,4,1,1,,3,2,2,,120,0,30,3,6,850,1,,1,370,2,1,1,6,,,,1,1,,9,6,480,7,1,39000,2,,,1,1,39000,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,2,566,3,0,1,10,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,39,55,54,10,9,57,30,13,44,48,37,36,10,42,30,34,29,8,33,26,39,12,10,65,64,12,35,50,10,11,38,31,39,26,27,35,38,43,28,35,37,59,64,10,9,52,36,17,61,54,31,32,10,36,41,31,40,12,36,33,37,14,10,58,74,11,34,40,8,11,32,37,51,31,29,31,30,42,45 H,91508,8,700,4,16,1015675,107,2,1,1,,3,2,2,,90,0,2,90,1,1400,1,,1,1400,1,1,1,9,,,,1,1,,21,3,1800,3,2,55400,4,,,1,1,55400,0,4,4,4,1,4,0,2,0,0,0,37,0,0,0,2,0,1,1730,3,0,1,43,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,33,193,32,28,114,112,174,185,29,107,109,112,31,110,110,101,173,101,174,105,30,189,34,31,118,111,170,184,35,108,103,112,32,107,119,113,179,114,191,107,33,183,34,30,105,110,186,164,29,105,109,96,33,113,106,106,178,105,184,96,34,186,32,33,121,110,185,179,33,103,113,111,32,107,116,113,177,106,185 H,91876,8,800,4,16,1015675,47,3,1,2,1,3,2,2,,50,0,2,100,2,350,1,,1,980,1,1,1,5,,,,1,1,,18,3,2,2,1,53000,2,,,2,1,53000,0,2,2,2,1,3,1,3,0,0,1,26,0,0,1,0,0,2,1130,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,47,14,51,87,65,47,65,53,19,14,22,55,37,51,42,41,86,64,82,14,49,86,71,12,60,49,15,60,84,67,77,52,46,49,46,50,17,12,20,99,51,19,77,74,60,41,62,59,15,10,12,53,35,35,44,58,76,73,92,14,42,97,63,13,52,42,12,49,102,75,84,50,27,37,70,49,16,17,14 H,91992,8,400,4,16,1015675,90,3,1,,,3,6,,,50,0,2,40,1,,1,,,,,,1,5,2,430,,1,3,,,1,2,2,7,8300,3,520,75,1,3,8300,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,28,159,161,25,70,100,32,84,26,77,103,76,160,89,142,137,81,160,31,101,33,130,115,40,97,65,39,89,35,110,72,106,108,65,128,60,66,177,26,100,28,111,107,36,66,71,32,104,25,103,68,83,91,108,196,91,91,123,21,99,17,109,193,25,98,120,25,88,41,96,158,74,137,109,138,105,87,162,24 H,92063,8,800,4,16,1015675,163,3,1,2,1,2,2,2,,220,0,2,50,3,450,1,,1,1300,1,1,1,7,,,,1,1,,17,3,2,3,1,62450,2,,,1,1,62450,0,2,2,2,1,5,1,3,0,0,1,30,0,0,1,0,0,1,1570,3,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,214,166,194,43,188,352,200,288,50,166,152,258,216,65,71,197,210,53,117,253,307,135,222,49,132,220,173,182,48,109,174,189,171,84,95,184,194,41,162,207,270,162,169,50,171,315,189,279,51,160,175,246,203,76,73,184,189,47,122,246,278,164,228,45,118,203,208,185,49,155,181,192,208,71,84,214,167,37,159 H,92292,8,500,4,16,1015675,80,3,1,1,,5,2,2,,160,0,2000,3,4,2400,1,,1,1600,1,1,1,9,,,250,1,1,,20,3,380,9,1,84300,4,,,1,1,84300,0,4,4,4,1,3,0,3,0,0,0,31,0,0,0,0,0,2,2209,2,0,1,37,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,118,128,21,25,148,84,21,132,136,90,94,28,82,85,79,71,19,75,84,84,23,24,131,146,21,74,128,27,25,87,89,131,84,78,93,82,139,76,87,79,28,25,146,126,25,79,130,21,26,83,92,147,94,72,82,87,147,80,81,75,120,139,24,21,123,73,22,131,132,86,91,25,78,75,94,86,22,85,74,85 H,92361,8,500,4,16,1015675,27,4,1,2,1,3,1,2,,190,0,2,3,3,670,1,1300,,,,3,1,7,,,,1,2,,15,5,2,5,3,35700,2,,,1,1,35700,1,2,4,2,1,3,0,4,1,0,1,15,0,0,1,2,1,1,459,,0,0,24,3,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,9,29,40,41,27,26,28,30,23,10,27,53,10,25,7,26,39,27,56,10,47,30,8,9,29,30,31,27,26,44,22,8,43,25,49,25,6,26,53,9,49,26,8,9,28,30,20,22,28,43,26,8,44,28,48,26,8,28,7,47,8,30,56,40,27,29,30,26,30,8,32,47,8,21,9,27,47,26,6 H,92485,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,92494,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,92534,8,100,4,16,1015675,30,4,1,2,1,3,1,1,,130,0,2,130,3,360,1,0,1,600,1,1,1,6,,,200,1,1,,17,3,2,3,1,70000,2,,,1,1,70000,0,2,2,2,1,3,2,4,0,0,2,18,0,0,1,0,0,1,1060,2,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,8,30,33,11,33,32,8,28,31,30,10,60,47,49,40,7,35,30,37,56,9,36,39,10,26,28,8,25,29,30,8,39,51,55,44,9,29,34,36,43,11,34,29,9,26,38,9,30,24,32,8,60,52,50,59,8,32,30,30,51,10,27,31,12,25,34,11,29,33,26,9,49,50,44,50,10,31,30,29 H,93088,8,900,4,16,1015675,80,1,1,1,,3,2,2,,20,0,2,10,1,900,1,,1,320,1,1,1,8,,,,1,1,,11,2,280,7,,,,,,1,4,39900,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,0,0,1,373,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,76,140,26,73,81,134,87,114,158,24,24,75,87,74,67,147,26,79,28,82,82,137,23,85,66,117,104,115,141,30,21,70,63,79,98,157,23,61,26,69,79,155,21,79,78,158,78,143,132,23,26,84,77,74,62,113,21,82,34,85,101,124,23,89,93,134,79,125,123,22,21,84,80,83,82,116,23,80,23 H,93542,8,200,4,16,1015675,142,1,1,,,2,6,,,100,0,2,3,3,,1,,,,,,1,4,2,520,,1,3,,,1,1,4,,,,620,26,1,6,29000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,275,145,128,119,268,131,274,34,139,42,140,106,152,40,42,230,118,52,210,245,171,185,205,52,113,50,139,130,51,133,44,153,242,134,113,135,49,220,242,163,200,199,184,180,244,156,192,42,116,33,159,156,126,40,45,299,94,36,123,195,172,189,284,54,110,53,115,137,57,115,56,281,200,130,160,153,39,139,217 H,93622,8,700,4,16,1015675,303,1,1,2,1,5,2,2,,150,0,2,50,1,1000,1,,2,1800,1,1,1,9,,,300,1,1,,23,1,500,1,,,,,,1,4,420000,0,4,4,4,1,2,0,,0,0,0,7,0,0,0,0,0,2,2425,2,0,1,62,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,315,271,276,87,316,96,282,322,94,286,525,83,94,535,295,271,546,387,498,107,267,293,312,535,287,511,318,311,536,297,102,490,503,87,307,326,86,279,89,455,331,290,317,85,274,91,265,318,94,341,467,87,90,564,343,327,504,341,517,87,298,308,327,531,319,410,336,326,496,300,80,514,454,93,333,272,121,297,83,476 H,94701,8,300,4,16,1015675,98,2,1,1,,4,2,2,,120,0,2,3,3,900,1,,1,640,1,1,1,8,,,,1,1,,16,1,600,5,4,96900,4,,,1,1,96900,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,2,1,2,810,3,0,1,6,1,6,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,27,39,135,102,30,126,176,97,91,27,111,104,95,107,29,119,97,135,161,104,165,205,30,118,142,21,38,120,85,155,112,85,83,100,155,114,85,30,32,91,140,125,39,125,193,38,28,92,106,141,90,84,110,107,134,88,103,28,28,76,23,20,182,159,33,151,164,97,116,38,93,110,95,88,34,117,110,124,141,76 H,94790,8,400,4,16,1015675,139,1,1,1,,3,1,2,,100,0,2,3,3,0,1,2100,,,,3,1,5,,,,2,2,,1,1,1,5,,,,,,2,4,32400,0,4,4,4,1,3,0,,0,0,0,10,0,0,0,0,0,2,275,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,164,237,44,51,195,161,153,194,158,194,120,132,190,58,130,35,160,151,171,39,176,173,36,58,196,111,147,233,148,259,166,146,143,48,165,42,155,128,34,224,144,41,234,222,50,149,160,32,106,49,122,126,158,184,130,209,123,136,66,185,154,46,269,272,41,140,223,48,130,41,111,115,147,233,161,206,163,169,224 H,94985,8,800,4,16,1015675,332,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,2,330,,,,2,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,117,130,323,377,493,313,335,315,300,540,276,309,113,108,477,436,97,335,410,516,122,113,336,382,525,364,340,288,376,521,261,305,109,118,510,469,123,334,327,122,451,493,364,308,110,335,364,318,347,129,411,296,406,502,113,103,531,374,303,123,498,443,358,335,107,338,358,304,310,125,371,321,374,532,138,89,536,367,346 H,95200,8,600,4,16,1015675,118,1,1,1,,3,2,2,,60,0,2,10,1,250,1,,2,1400,1,1,1,5,,,100,1,1,,20,1,290,3,,,,,,1,6,57000,0,4,4,4,1,3,0,,0,0,0,34,0,0,0,0,0,1,1615,2,0,1,24,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,125,125,111,34,205,35,114,192,228,189,123,37,217,122,118,120,123,32,32,129,116,130,121,200,37,200,111,33,35,37,126,193,35,117,124,129,111,182,191,111,107,111,117,207,35,182,129,36,37,35,110,208,36,124,148,130,114,215,197,122,126,123,120,37,206,35,108,194,176,190,123,34,196,126,118,106,125,34,36,115 H,95464,8,900,4,16,1015675,58,1,1,1,,2,1,2,,80,0,2,30,3,0,1,2500,,,,3,1,3,,,,1,2,,1,1,10,6,,,,,,1,6,2500,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,0,0,1,319,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,17,66,16,64,57,14,57,107,16,13,106,52,61,112,48,110,62,55,113,67,18,64,17,55,68,19,59,97,18,17,110,66,59,101,63,96,50,61,15,54,95,71,95,60,66,89,56,20,95,104,17,52,43,20,54,14,61,50,16,63,98,63,106,73,67,110,59,18,101,113,19,78,61,15,57,18,54,58,105 H,96271,8,100,4,16,1015675,49,2,1,1,,3,1,2,,150,0,310,3,3,350,1,260,,,,3,1,5,,,,1,2,,11,2,630,5,,,,,,1,7,26600,0,4,4,4,1,5,0,,0,1,0,15,0,0,0,2,2,1,334,,0,0,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,17,51,13,43,46,13,44,75,16,12,111,46,52,98,48,60,38,50,13,49,66,48,95,64,57,71,43,13,98,107,14,43,50,15,48,15,48,39,12,50,99,63,79,44,47,63,51,15,73,69,16,44,53,15,58,14,39,52,81,42,12,43,19,49,49,17,60,86,14,21,76,37,58,82,45,84,39,48,85 H,96418,8,200,4,16,1015675,23,3,1,3,2,4,2,2,,80,0,2,100,2,850,1,,2,680,2,1,1,9,,,390,1,1,,18,3,2,9,1,67500,4,,,1,1,97500,0,4,4,4,1,5,0,2,0,1,0,18,0,0,0,1,0,1,1438,1,0,0,26,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,16,31,46,21,45,8,19,28,27,9,27,52,18,9,9,21,24,7,42,25,24,37,43,27,38,8,19,23,24,5,27,43,23,7,7,21,35,9,34,15,19,5,6,19,7,47,22,30,32,54,29,7,20,38,41,20,25,42,6,25,22,5,5,31,5,48,28,20,27,44,25,7,20,36,44,26,25,34,5,16 H,96865,8,900,4,16,1015675,138,4,1,2,1,4,2,2,,300,0,2,3,3,350,1,,,,,3,1,8,,,,1,2,,11,2,2,4,7,68600,2,,,1,3,68600,1,2,4,2,1,5,0,3,0,1,1,6,0,1,1,0,0,2,350,,0,1,7,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,40,150,142,117,151,136,201,200,234,133,46,133,252,114,124,265,149,43,40,30,40,171,142,129,176,228,220,184,171,148,66,133,241,143,145,199,124,47,46,331,202,138,145,133,106,110,44,60,53,144,215,132,37,113,133,46,137,303,271,284,199,118,111,113,133,124,58,55,51,142,219,146,41,212,110,36,129,190,266,43 H,98360,8,500,4,16,1015675,118,2,1,1,,3,3,2,,20,0,2,30,1,420,1,,2,420,2,1,1,5,,,200,1,1,,14,2,280,4,1,59000,4,,,1,1,59000,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,0,0,1,820,1,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,119,126,240,34,110,100,188,124,187,211,38,31,119,126,118,117,200,39,105,220,110,154,33,215,124,100,35,112,39,32,188,194,113,125,120,133,29,192,114,40,115,107,219,39,112,116,211,156,176,175,39,33,105,130,133,121,186,35,106,221,109,115,39,188,133,117,39,121,29,32,183,210,106,123,121,126,34,188,113,33 H,98390,8,400,4,16,1015675,205,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,324,224,248,378,289,284,342,237,365,215,331,192,188,220,252,437,318,165,59,178,61,183,210,75,63,65,60,230,65,201,64,175,189,207,201,68,66,198,74,164,52,229,224,60,68,70,56,196,51,205,60,191,232,216,212,60,58,203,301,216,310,186,266,340,329,307,343,212,409,241,356,200,190,175,216,423,378,205,380 H,98599,8,800,4,16,1015675,124,3,1,1,,4,2,2,,200,0,2,3,3,480,1,,,,,3,1,6,,,,1,2,,14,2,2,4,2,49400,4,,,1,1,49400,0,4,4,4,1,6,0,3,0,0,0,7,0,0,0,0,0,2,273,,0,1,10,2,7,3,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,113,141,209,119,117,122,40,33,33,110,218,144,42,102,110,58,121,193,154,172,272,118,107,134,146,121,52,57,38,141,194,137,29,102,143,27,157,208,207,190,188,150,138,151,151,94,42,34,34,123,185,121,51,91,112,58,131,188,202,190,218,112,157,122,101,153,43,50,50,117,219,136,30,119,137,27,104,183,280 H,98919,8,800,4,16,1015675,218,5,1,,,2,6,,,40,0,2,80,1,,1,,,,,,1,4,2,660,,1,3,,,1,1,3,2,36000,3,780,26,1,1,36000,0,1,1,1,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,73,261,73,355,201,62,73,220,208,317,274,171,373,218,54,422,242,352,419,222,68,195,57,331,212,55,45,247,228,200,240,271,338,177,63,450,207,442,81,275,338,226,446,62,236,314,372,193,181,184,214,287,76,223,336,63,289,64,49,191,344,214,346,60,181,340,414,242,245,306,212,202,63,200,448,56,268,72,373 H,99386,8,900,4,16,1015675,15,1,1,2,1,2,2,2,,40,0,2,40,1,360,1,,1,230,2,1,1,4,,,,1,1,,14,1,600,7,,,,,,1,4,6900,0,4,4,4,1,7,0,,0,0,0,67,0,0,0,1,1,2,385,3,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,3,5,17,12,22,15,13,14,13,24,15,14,3,4,25,23,4,15,17,4,27,26,12,14,3,10,13,17,15,5,13,16,22,25,3,3,26,12,8,31,5,3,13,20,27,15,15,15,15,18,12,12,5,5,21,25,4,17,16,3,33,27,11,15,5,14,15,12,18,5,11,12,23,27,3,3,26,13,8 H,99454,8,800,4,16,1015675,38,5,1,3,3,3,2,2,,80,0,2,3,6,810,1,,2,790,2,1,1,6,,,,1,1,,18,3,2,8,2,46000,2,,,1,1,46000,0,2,2,2,1,5,3,5,0,0,3,26,0,0,1,0,0,1,1014,3,0,0,20,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,57,33,41,36,11,13,42,16,67,14,69,51,67,54,36,36,33,41,32,54,42,12,57,63,42,34,12,41,35,42,41,14,39,32,64,73,14,11,33,72,48,11,68,89,39,33,14,51,35,48,41,14,50,35,63,82,16,10,12,42,58,36,45,29,8,10,35,10,66,10,66,53,64,47,30,45,32,32,11 H,99772,8,100,4,16,1015675,76,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,75,66,20,79,28,68,91,91,120,84,155,85,84,111,70,26,124,127,26,19,65,65,16,69,31,74,72,76,117,69,131,95,92,131,79,20,107,132,27,24,83,82,29,72,19,82,66,67,160,76,156,93,71,107,74,25,129,141,21,20,75,87,25,57,22,80,66,79,117,86,158,74,67,116,73,27,127,127,25,25 H,99887,8,600,4,16,1015675,143,4,1,1,,4,2,2,,40,0,2,60,1,350,1,,1,910,1,1,1,7,,,,1,1,,18,2,200,4,2,45000,3,,,1,1,45000,0,3,3,3,1,1,2,4,0,0,2,27,0,0,1,0,0,1,1027,3,0,1,14,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,46,148,245,44,250,156,141,145,137,128,142,38,229,154,144,246,255,158,134,168,136,238,149,152,144,221,43,41,42,41,225,131,147,45,231,136,134,225,216,238,243,157,41,239,47,142,129,159,150,140,152,248,42,135,133,50,44,149,158,159,143,44,150,128,129,39,249,258,207,230,40,164,150,219,43,153,161,41,54 H,100059,8,300,4,16,1015675,88,5,1,2,1,4,2,2,,60,0,2,3,3,360,1,,2,880,2,1,1,9,,,,1,1,,16,5,2,5,1,116400,4,,,1,1,116400,0,4,4,4,1,6,0,5,0,0,0,11,0,0,0,0,0,1,1037,3,0,1,18,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,93,72,139,104,95,142,177,167,119,80,137,97,143,77,103,101,93,141,27,31,69,88,29,79,78,31,28,24,28,93,31,98,27,69,83,95,89,32,26,28,101,93,21,118,98,20,31,28,16,89,31,104,36,67,86,92,93,37,129,155,85,111,167,88,89,192,145,116,122,84,126,107,129,64,89,96,92,163,134 H,100073,8,200,4,16,1015675,138,5,1,1,,3,2,2,,70,0,2,40,1,770,1,,1,1100,1,1,1,7,,,400,1,1,,17,4,900,4,1,85000,3,,,1,1,85000,0,3,3,3,1,4,3,5,0,0,3,24,0,0,1,0,0,1,1685,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,263,131,128,135,132,214,113,123,56,56,248,243,38,136,266,42,30,118,146,140,194,136,146,112,147,233,136,148,39,48,258,224,41,123,231,42,48,173,131,175,233,142,146,139,147,199,101,121,59,57,193,204,38,125,218,47,36,125,149,155,234,154,152,115,147,257,122,112,49,55,184,204,49,104,239,44,46,184,157 H,100135,8,700,4,16,1015675,75,2,1,1,,3,2,2,,30,0,2,10,1,350,1,,,,,3,1,5,,,,1,2,,18,2,360,2,,,,,,1,7,32700,0,4,4,4,1,2,0,,0,1,0,9,0,0,0,2,1,1,249,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,72,135,128,120,75,20,77,131,81,75,114,73,21,24,24,74,75,65,22,74,73,125,129,126,76,22,70,134,73,75,140,73,23,22,20,86,82,80,136,74,84,22,20,25,76,118,71,22,77,75,23,68,118,122,121,80,75,87,124,67,74,22,20,22,75,132,71,22,74,81,22,75,127,129,135,69,78,71,23 H,100451,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,100776,8,900,4,16,1015675,99,5,1,2,1,4,2,2,,60,0,30,100,2,650,1,,2,900,2,1,1,9,,,,1,1,,18,3,2,2,1,75000,2,,,1,1,75000,0,2,2,2,1,3,3,5,0,0,3,20,0,0,1,0,0,1,1267,3,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,101,175,141,26,33,204,128,30,225,177,96,91,25,96,118,98,99,30,113,114,113,181,132,19,30,244,125,27,201,145,79,116,30,81,103,116,80,27,94,90,94,26,24,187,172,28,101,170,42,36,129,93,108,99,91,80,127,199,114,124,113,24,22,167,211,35,96,208,34,26,111,115,131,91,87,97,112,176,93 H,100883,8,600,4,16,1015675,84,3,1,1,,3,2,2,,70,0,2,60,1,300,1,,1,950,1,1,1,6,,,,1,1,,16,3,670,5,1,64000,1,,,1,1,64000,0,1,1,1,1,3,1,3,0,0,1,21,0,0,1,0,0,2,1136,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,26,84,100,90,83,84,139,92,25,140,80,144,95,23,85,25,147,86,143,26,21,83,89,87,88,85,132,89,26,151,96,132,85,26,73,23,127,85,149,26,22,88,92,83,86,82,129,82,26,140,81,142,85,25,80,31,150,81,123,30,25,82,77,94,87,83,142,84,23,126,81,148,83,26,90,26,144,94,133 H,101204,8,500,4,16,1015675,34,4,1,1,,4,2,2,,40,0,2,100,1,450,1,,,,,3,1,7,,,,2,2,,13,2,720,7,4,56750,2,,,1,1,56750,0,2,2,2,1,2,2,4,0,0,2,6,0,0,1,0,0,1,296,,0,1,16,2,5,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,12,12,67,41,45,10,65,39,38,59,36,38,55,32,35,34,61,10,12,37,51,54,10,33,41,70,10,32,38,12,31,39,8,33,34,39,11,55,54,36,8,11,51,39,37,12,66,35,32,48,35,31,55,44,38,34,63,10,10,39,53,64,10,39,39,65,10,36,39,9,36,43,10,33,34,42,13,53,57,38 H,101282,8,800,4,16,1015675,76,2,1,3,6,3,2,2,,70,0,850,3,4,860,1,,2,600,2,1,1,9,,,,1,1,,14,4,2,9,1,27500,4,,,1,1,27500,0,4,4,4,1,7,0,2,0,0,0,39,0,0,0,1,0,1,883,3,0,0,18,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,125,82,68,109,119,128,138,77,160,79,108,56,55,83,101,119,146,89,18,57,27,74,55,30,24,24,20,81,36,72,24,75,92,87,85,24,26,91,142,70,124,80,73,139,126,116,151,73,140,79,121,67,81,90,102,171,124,70,17,71,22,101,71,22,25,25,20,76,29,62,18,82,78,70,66,23,19,67,114 H,101368,8,300,4,16,1015675,175,2,1,2,1,1,1,2,,120,0,2,3,3,400,1,0,,,,3,1,4,,,,1,2,,15,3,2,5,4,58400,4,,,1,1,58400,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,2,2,1,158,,0,0,3,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,340,297,146,45,145,254,165,165,245,177,65,59,73,204,132,186,212,162,60,272,306,306,177,50,148,236,183,168,268,196,58,47,68,236,148,151,234,177,66,247,321,302,158,60,192,308,193,161,288,143,51,49,67,203,165,180,152,159,72,218,281,285,183,62,167,259,161,154,305,186,56,62,49,146,183,180,199,167,51 H,101581,8,300,4,16,1015675,269,4,1,1,,3,2,2,,100,0,2,3,3,250,1,,1,760,1,1,1,7,,,,1,1,,15,4,40,9,1,113000,4,,,1,1,113000,0,4,4,4,1,1,0,4,0,0,0,9,0,0,0,0,0,2,863,3,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,239,266,97,411,242,342,250,82,515,274,296,82,250,79,78,455,455,276,238,96,254,275,398,87,257,238,243,417,103,292,271,419,255,537,369,98,88,281,243,407,266,249,78,481,259,303,284,101,376,268,279,92,260,105,84,417,428,254,257,75,261,285,415,85,275,291,259,491,77,232,300,415,295,501,428,73,85,257,244,397 H,101612,8,900,4,16,1015675,93,2,1,2,1,3,2,2,,60,0,400,3,3,1400,1,,1,820,1,1,1,9,,,,1,1,,18,3,750,5,4,117500,4,,,1,1,117500,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,2,2,1,976,3,0,1,35,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,30,26,105,144,20,156,104,93,117,77,97,86,32,145,88,129,179,146,83,97,102,100,23,85,98,90,28,167,123,154,181,25,87,73,142,25,98,108,29,23,27,35,76,145,23,153,92,98,88,97,81,102,30,149,77,93,168,161,95,99,88,80,34,110,115,75,22,164,151,173,136,23,106,104,171,25,82,91,28,29 H,101676,8,200,4,16,1015675,62,1,1,3,3,3,2,2,,170,950,2500,3,8,150,1,,,,,3,1,6,,,,1,2,,22,1,2,6,,,,,,1,6,15000,0,4,4,4,1,7,0,,0,0,0,44,0,0,0,1,1,2,549,,0,0,31,,,,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,63,60,16,21,96,119,17,65,81,12,17,74,58,110,76,53,75,82,52,22,66,70,90,103,18,16,125,72,18,171,91,47,57,25,61,64,65,65,71,138,60,87,19,16,90,103,17,63,122,17,21,75,55,139,78,54,59,55,55,17,47,67,140,87,17,18,85,59,15,108,132,43,69,27,51,65,59,64,62 H,102014,8,400,4,16,1015675,194,4,1,1,,4,2,2,,50,0,2,3,3,250,1,,1,600,1,1,1,7,,,400,1,1,,15,2,1200,3,,,,,,1,5,58500,0,4,4,4,1,3,0,,0,1,0,24,0,0,0,0,0,2,1150,2,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,60,205,191,180,380,383,193,316,91,385,63,193,35,34,243,252,184,158,261,139,167,62,214,219,173,176,68,150,156,242,315,104,222,220,288,251,88,75,303,425,60,183,286,217,227,411,330,319,40,357,41,169,45,52,165,215,298,220,231,193,127,73,371,365,131,203,82,147,251,196,152,56,153,291,317,210,40,72,336,294 H,102273,8,300,4,16,1015675,289,2,1,,,2,5,,,110,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,2,1,5,1,36000,4,560,19,1,1,36000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,91,277,266,304,117,415,79,301,454,368,410,313,109,477,289,332,296,279,267,453,497,300,335,275,464,92,443,269,76,110,78,279,377,104,328,339,330,231,283,409,455,307,286,326,527,110,448,241,97,86,87,302,525,112,281,326,304,276,228,89,90,271,290,282,80,494,96,250,439,573,441,283,94,417,330,295,247,335,349 H,102445,8,700,4,16,1015675,25,5,1,1,,4,2,2,,90,0,2,20,1,500,1,,1,1000,1,1,1,7,,,340,1,1,,19,2,300,3,2,96000,3,,,1,1,96000,0,3,3,3,1,3,3,5,0,0,3,18,0,0,1,0,0,1,1475,2,0,1,30,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,43,6,43,25,22,7,7,6,27,25,46,6,24,46,24,23,24,27,7,22,25,24,25,38,8,28,25,24,44,6,25,24,41,24,40,41,8,7,24,9,8,44,9,25,26,41,40,42,25,21,6,46,25,7,23,26,23,24,44,27,24,23,25,7,42,25,24,24,6,41,25,28,8,23,7,7,48,39,23 H,102452,8,600,4,16,1015675,119,2,1,,,2,6,,,20,0,2,20,3,,1,,,,,,1,6,2,630,,1,3,,,2,1,2,7,33000,4,670,24,1,3,33000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,119,118,36,37,196,200,36,119,184,35,37,115,120,198,119,112,123,121,124,192,114,105,36,37,185,192,35,119,220,35,35,134,124,203,110,118,124,106,123,205,111,113,33,34,204,190,32,108,204,35,33,119,116,204,123,128,120,125,117,223,112,114,34,37,181,210,36,118,200,32,35,121,117,231,118,125,119,119,112 H,102570,8,900,4,16,1015675,38,7,1,2,1,5,2,2,,50,0,2,100,2,720,1,,,,,3,1,9,,,,1,2,,15,3,2,3,1,41900,3,,,1,1,41900,0,3,3,3,1,4,5,7,0,0,5,9,0,0,1,0,0,1,302,,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,50,28,8,10,17,46,35,41,39,47,62,90,91,53,12,45,71,28,36,70,12,34,61,59,60,41,38,36,43,41,13,14,16,51,58,42,13,30,39,53,10,28,52,63,67,35,36,40,36,48,17,13,12,33,63,42,8,40,48,14,79,40,6,10,15,39,39,43,36,37,87,89,76,45,15,42,63,38,43,11 H,102801,8,900,4,16,1015675,64,4,1,1,,3,2,2,,50,0,2,150,1,300,1,,1,320,1,1,1,6,,,,1,1,,12,3,600,9,1,38000,3,,,1,1,38000,0,3,3,3,1,3,2,4,0,0,2,18,0,0,1,0,0,2,570,3,0,1,18,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,65,18,70,83,92,96,20,17,96,52,19,82,128,58,50,26,67,74,69,63,65,85,60,75,22,25,116,89,15,52,110,31,29,63,63,93,66,80,91,85,74,20,66,71,94,95,15,15,127,55,20,121,107,63,81,22,56,59,60,77,72,132,58,55,26,20,85,116,20,61,136,25,17,59,74,154,67,53,59,65 H,103149,8,600,4,16,1015675,80,1,1,1,,2,2,2,,40,0,2,230,1,270,1,,,,,3,1,5,,,,1,2,,14,1,420,4,,,,,,1,6,24400,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,1,1,1,443,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,75,73,76,73,128,157,77,85,139,88,79,135,128,131,126,86,129,81,22,26,78,79,83,84,25,25,89,84,26,75,77,23,24,24,22,80,23,82,131,133,83,76,75,78,135,138,78,79,144,82,83,152,151,133,164,80,143,88,23,23,83,84,73,80,20,23,77,74,24,81,85,23,24,24,23,83,24,87,140 H,103821,8,900,4,16,1015675,97,1,1,2,1,4,2,2,,90,0,90,90,1,180,1,,,,,3,1,6,,,,1,2,,16,1,2,6,,,,,,1,4,9900,0,4,4,4,1,7,0,,0,0,0,45,0,0,0,1,1,2,370,,0,1,32,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,120,132,103,171,105,43,208,175,31,90,80,29,93,25,108,145,90,214,95,164,27,78,97,26,90,141,26,23,154,94,95,168,98,166,100,96,92,32,124,35,174,118,105,176,88,29,169,161,30,89,80,29,98,29,96,116,113,156,88,145,35,97,99,28,108,140,25,26,142,77,97,155,122,168,126,118,92,29,115,27 H,103860,8,600,4,16,1015675,90,2,1,1,,3,2,2,,50,0,2,20,1,270,1,,,,,3,1,6,,,,1,2,,15,2,700,8,3,52680,4,,,1,1,52680,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,1,1,243,,0,1,23,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,81,83,29,79,22,27,155,149,86,93,77,97,27,154,105,83,92,27,27,30,83,100,139,86,158,169,22,28,90,78,93,100,164,28,85,100,104,152,28,28,91,88,165,85,153,163,27,29,90,88,79,98,167,27,106,85,100,149,142,155,77,92,25,77,24,25,147,156,84,89,88,93,29,162,93,84,99,26,159 H,104381,8,700,4,16,1015675,101,4,1,1,,3,2,2,,40,0,2,80,1,,1,,,,,,1,6,2,850,,1,3,,,2,1,2,1,75000,2,970,16,1,1,75000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,170,87,94,28,175,110,106,168,107,101,181,106,99,98,182,27,30,33,32,100,183,95,103,32,165,94,105,186,114,101,168,95,106,97,157,29,26,30,32,95,30,115,93,159,28,92,102,24,97,96,31,110,109,106,29,193,183,170,204,99,31,108,98,169,28,84,103,33,85,110,30,102,93,98,29,187,187,173,177,119 H,104393,8,700,4,16,1015675,72,5,1,1,,4,2,2,,30,0,2,90,1,600,1,,1,1200,1,1,1,7,,,240,1,1,,17,2,50,1,2,68500,3,,,1,1,68500,0,3,3,3,1,1,3,5,0,0,3,27,0,0,1,0,0,1,1564,1,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,72,76,22,64,124,77,111,121,21,67,22,71,64,20,72,20,115,126,64,70,74,70,128,70,21,75,20,22,133,70,115,71,72,122,79,129,22,22,70,71,77,74,22,69,119,72,117,125,21,71,21,68,68,18,67,20,121,128,72,65,68,76,124,71,22,68,21,21,121,71,135,78,67,112,66,127,23,20,67 H,104463,8,700,4,16,1015675,223,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,18,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,245,68,375,321,80,265,192,59,201,66,214,194,219,399,212,331,236,256,430,65,215,53,397,376,72,214,201,64,244,64,212,240,238,368,251,371,215,204,430,69,262,74,389,378,64,198,205,66,244,55,217,197,222,422,223,401,197,203,402,83,232,65,364,359,71,212,205,57,230,61,207,255,221,454,213,328,238,227,401,72 H,105210,8,500,4,16,1015675,107,2,1,1,,3,2,1,,80,0,2,170,1,600,1,,1,1600,1,1,1,8,,,300,1,1,,18,2,420,3,1,100000,4,,,1,1,100000,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,1,2185,2,0,0,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,111,32,86,98,97,102,27,29,112,98,30,115,110,32,31,34,31,109,108,116,171,111,218,186,146,198,104,97,161,183,107,182,188,112,108,109,112,204,162,176,106,195,101,108,97,115,180,162,101,105,155,109,106,157,158,177,183,109,117,102,30,102,31,33,33,28,117,111,32,29,109,32,34,109,119,106,119,34,32 H,105241,8,900,4,16,1015675,15,2,1,3,1,3,2,2,,150,0,2,3,3,1000,1,,2,1300,2,1,1,6,,,,1,1,,22,6,2,2,3,15200,4,,,1,1,15200,0,4,4,4,1,3,0,2,0,0,0,101,0,0,0,1,0,2,1625,3,0,0,23,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,44,20,9,32,18,3,18,13,4,19,7,15,18,18,18,10,23,10,35,20,3,10,28,5,3,15,13,15,25,21,14,15,14,12,7,24,5,31,4,12,43,31,4,29,36,7,18,10,3,11,7,13,13,18,18,12,34,13,35,17,3,11,28,5,5,13,9,16,40,18,23,11,13,13,5,37,5,18,4 H,105302,8,400,4,16,1015675,290,1,1,1,,3,2,2,,60,0,2,50,1,,1,,,,,,1,5,2,450,,1,3,,,2,900,9,,,,635,26,1,4,29000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,270,310,492,318,303,343,357,466,268,277,137,105,370,445,127,324,399,94,294,467,252,244,87,285,370,267,240,127,307,285,372,396,100,105,429,301,98,405,233,87,299,307,409,324,262,266,426,405,225,250,110,106,352,469,115,271,461,102,316,474,278,302,109,254,377,414,272,105,336,310,348,401,80,94,503,319,95,430,292 H,105425,8,400,4,16,1015675,283,3,1,1,,3,2,2,,90,0,490,3,6,600,1,,1,610,1,2,1,5,,,,1,1,,14,3,480,5,1,54500,4,,,2,1,54500,0,4,4,4,1,5,0,3,0,0,0,17,0,0,0,0,0,2,781,3,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,239,495,451,475,334,275,285,316,247,101,83,73,211,455,372,110,256,296,95,422,240,581,443,491,452,275,249,326,259,85,77,96,296,467,361,102,298,300,76,94,298,90,97,90,283,410,256,259,322,363,417,389,270,107,252,406,308,276,425,107,240,94,83,88,299,286,391,451,286,409,488,456,237,84,281,518,223,261,493,372 H,105521,8,200,4,16,1015675,19,3,1,1,,3,2,2,,160,0,2,3,3,450,1,,1,700,1,1,1,8,,,100,1,1,,14,4,70,3,3,66000,2,,,1,1,66000,0,2,2,2,1,5,1,3,0,0,1,18,0,0,1,0,0,1,966,2,0,1,21,3,1,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,7,18,20,5,20,36,23,36,22,20,18,24,22,7,5,5,21,36,7,17,27,21,20,35,19,5,5,5,23,21,26,25,25,35,29,32,20,7,5,19,35,15,17,38,19,5,7,6,25,21,17,16,19,31,30,40,24,5,22,19,8,23,15,5,29,30,30,33,33,23,15,17,21,7,7,6,17,37,27 H,105531,8,400,4,16,1015675,74,1,1,,,4,4,,,80,1500,2,300,2,,1,,,,,,1,8,2,400,,1,3,,,2,1,3,,,,780,99,1,4,9500,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,57,116,82,67,15,19,130,107,23,70,161,27,24,69,69,133,64,83,100,82,67,106,82,74,20,25,108,111,30,80,155,17,19,93,83,112,66,81,69,74,84,22,68,80,90,115,30,18,136,73,23,116,137,80,91,30,59,61,102,93,85,18,62,52,81,128,27,26,146,70,24,103,98,80,77,18,66,89,60 H,105835,8,400,4,16,1015675,272,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,4,2,440,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,102,104,267,324,275,295,75,212,95,376,82,84,100,91,234,226,92,103,256,464,282,246,407,375,361,379,307,432,237,398,298,246,223,281,510,425,282,250,456,329,457,425,308,357,247,266,402,212,491,284,404,381,395,439,271,257,421,474,276,73,297,234,82,95,89,86,282,74,251,98,331,274,253,297,78,73,276,252,88,261 H,107285,8,700,4,16,1015675,97,2,1,2,1,4,2,2,,100,0,960,3,8,400,1,,1,2000,1,1,1,9,,,,1,1,,23,2,2,3,8,58000,2,,,1,3,58000,0,2,2,2,1,4,1,2,0,0,1,45,0,0,1,0,0,2,2180,3,0,1,52,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,160,145,93,28,167,32,93,97,93,93,84,97,159,29,107,101,29,29,91,31,100,89,26,93,95,115,27,162,168,168,157,28,96,97,161,29,101,104,27,100,26,29,108,174,28,141,112,98,105,87,97,93,28,152,91,103,156,179,89,179,87,112,152,100,108,88,161,29,28,29,27,152,87,95,27,171,91,106,145 H,107749,8,800,4,16,1015675,20,3,1,2,1,4,2,2,,250,0,2,3,3,1000,1,,,,,3,1,7,,,,1,2,,17,3,2,5,1,66000,2,,,1,1,66000,0,2,2,2,1,6,1,3,0,0,1,8,0,0,1,0,0,1,458,,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,7,19,7,24,24,24,30,20,35,22,20,35,21,5,36,39,6,32,20,21,32,18,32,23,19,24,7,24,7,22,24,7,24,35,7,7,41,5,23,26,7,20,6,19,22,20,29,20,30,19,26,33,20,6,29,37,7,34,18,25,39,23,32,18,20,18,7,20,5,22,24,7,19,41,7,8,50,6 H,108015,8,600,4,16,1015675,388,2,1,,,2,7,,,30,0,2,3,3,,1,,,,,,1,4,2,720,,1,3,,,2,1,4,,,,750,17,1,5,52000,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,605,397,375,117,133,570,576,103,450,677,122,119,389,421,737,390,422,363,346,396,669,386,419,129,116,681,670,114,392,622,115,108,385,368,649,409,380,354,382,371,116,342,389,694,627,112,124,714,392,105,655,625,369,421,138,405,388,410,366,406,119,432,366,686,624,119,124,571,374,105,656,592,355,393,113,366,399,414,400,351 H,108177,8,500,4,16,1015675,97,1,1,1,,2,1,2,,90,0,2,3,3,350,1,350,2,400,2,1,1,5,,,,1,1,,10,1,2,4,,,,,,1,6,27000,0,4,4,4,1,4,0,,0,0,0,27,0,0,0,0,0,1,602,3,0,0,15,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,168,169,111,94,99,100,83,28,31,32,98,151,89,28,93,90,26,94,163,30,31,30,106,101,101,98,93,158,161,150,104,26,92,201,88,85,169,88,32,177,188,174,96,116,100,102,105,32,25,28,95,170,107,26,87,87,23,92,156,26,29,28,92,96,96,99,89,190,168,171,102,27,93,161,100,97,164,98,24,162 H,108310,8,100,4,16,1015675,132,2,1,2,1,4,2,2,,130,0,2,50,3,400,1,,1,900,1,1,1,7,,,340,1,1,,20,4,2,3,1,101000,4,,,1,1,101000,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,0,0,1,1420,2,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,43,139,216,231,138,137,140,149,118,40,130,208,39,134,40,117,217,142,41,218,38,133,243,223,112,130,145,119,117,43,118,204,44,124,41,139,212,137,199,42,225,138,46,34,139,116,137,128,141,195,142,37,211,126,203,123,44,129,215,39,222,127,40,38,131,135,139,137,144,261,135,38,234,116,208,150,39,128,37 H,108389,8,200,4,16,1015675,100,3,1,1,,4,2,2,,90,0,2,3,3,630,1,,1,690,1,1,1,9,,,,1,1,,16,2,620,8,1,18000,2,,,1,1,18000,0,2,2,2,1,3,1,3,0,0,1,55,0,0,1,0,0,1,832,3,0,1,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,128,85,133,102,30,29,93,49,139,30,182,136,161,137,87,98,111,99,89,158,130,42,168,141,90,88,28,96,114,90,86,31,92,128,202,136,41,32,91,26,122,153,27,42,130,86,171,101,85,88,114,199,101,100,29,33,205,143,158,96,31,110,88,74,148,254,114,191,38,133,27,98,27,33,86,105,115,100,31 H,108843,8,800,4,16,1015675,36,2,1,1,,2,2,1,,60,0,750,3,4,500,1,,,,,3,1,6,,,,1,2,,14,2,350,5,1,57200,4,,,1,1,57200,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,1,1,277,,0,0,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,37,35,66,36,11,10,10,30,37,29,29,37,62,67,55,24,12,34,10,56,49,43,57,37,14,12,11,28,38,36,30,29,59,68,55,29,13,31,62,14,25,30,12,31,74,64,63,37,36,39,44,31,9,10,14,41,52,40,56,13,30,24,12,29,65,59,53,31,38,37,32,36,7,10,17,41,74,35,10 H,108862,8,900,4,16,1015675,70,5,1,1,,4,2,2,,60,0,2,80,1,,1,,,,,,1,8,,,,1,4,,,2,60,5,2,35000,3,,,1,1,35000,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,61,124,128,27,107,52,67,18,16,17,68,69,105,23,71,134,64,58,25,25,20,58,90,63,91,136,20,72,71,82,126,23,74,64,119,61,95,97,72,71,71,121,133,26,146,60,63,19,20,23,66,66,120,27,75,98,73,60,19,22,23,51,76,66,70,134,19,67,59,73,125,27,98,54,106,66,99,92,88 H,109312,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,109330,8,500,4,16,1015675,89,1,1,1,,5,2,2,,30,0,2,80,1,0,1,,,,,3,1,7,,,,1,2,,16,2,30,2,,,,,,1,4,17100,0,4,4,4,1,1,0,,0,0,0,14,0,0,0,1,1,1,205,,0,1,23,,,,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,91,166,131,23,25,145,83,31,134,169,91,104,27,81,83,82,75,24,106,104,89,29,30,157,163,28,96,143,24,24,74,98,143,80,93,78,80,139,97,90,90,134,183,22,25,167,61,20,160,133,82,88,25,89,91,83,92,27,88,90,107,28,29,135,156,26,98,146,28,28,95,88,174,70,81,88,90,136,89 H,109537,8,300,4,16,1015675,87,2,1,1,,5,2,2,,110,0,4,3,3,250,1,,,,,3,1,8,,,,1,2,,16,0,360,6,4,23700,4,,,1,1,23700,0,4,4,4,1,7,0,2,0,0,0,38,0,0,0,2,2,1,744,,0,1,65,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,143,157,27,83,82,146,30,84,82,31,83,79,23,97,103,112,28,114,85,168,131,162,28,81,88,141,22,79,88,25,84,98,28,98,88,82,24,119,94,128,140,140,23,95,79,146,26,82,84,26,84,82,23,90,82,89,24,140,122,130,144,158,29,97,70,146,26,92,83,23,76,83,26,108,117,86,23,161,74 H,109538,8,500,4,16,1015675,120,4,1,1,,4,2,2,,40,0,2,160,1,220,1,,1,890,1,1,1,7,,,,1,1,,15,4,180,3,1,74000,3,,,1,1,74000,0,3,3,3,1,3,2,4,0,0,2,18,0,0,1,0,0,1,1105,3,0,1,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,130,211,134,140,191,119,33,35,35,112,129,113,108,111,206,197,211,139,197,201,124,31,138,124,38,105,154,203,244,119,118,125,110,110,33,37,33,110,30,36,133,173,111,149,167,112,32,37,41,131,122,123,126,125,183,201,185,113,207,195,128,47,124,124,33,115,226,168,212,119,122,118,109,121,37,36,32,113,36 H,109645,8,600,4,16,1015675,79,2,1,1,,3,2,2,,80,0,2,120,1,500,1,,1,670,1,1,1,5,,,280,1,1,,18,2,480,1,4,51300,4,,,1,1,51300,0,4,4,4,1,2,0,2,0,0,0,28,0,0,0,2,1,2,1190,1,0,1,30,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,83,23,74,129,84,139,23,76,122,136,77,75,80,88,77,23,83,119,22,25,74,21,83,133,74,121,23,75,139,131,73,77,81,78,78,23,74,132,118,130,81,140,75,21,85,24,129,78,23,22,79,71,75,75,73,143,77,22,133,139,74,128,73,22,77,25,138,84,24,22,72,84,83,78,82,126,79,25,26 H,109966,8,100,4,16,1015675,244,3,1,1,,4,2,2,,150,0,2,150,1,400,1,,1,880,2,1,1,6,,,,1,1,,16,2,600,2,2,42000,2,,,1,1,42000,0,2,2,2,1,3,1,3,0,0,1,39,0,0,1,0,0,2,1350,3,0,1,26,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,75,75,386,287,73,417,422,304,240,79,277,245,219,244,72,263,224,406,390,209,66,72,441,233,64,394,429,234,250,71,244,244,229,241,79,222,278,407,387,252,64,82,391,267,80,348,395,238,225,74,225,294,239,226,66,216,296,366,367,270,74,64,458,260,82,434,394,224,212,72,256,265,238,232,84,231,261,402,367,211 H,110038,8,500,4,16,1015675,124,3,1,3,1,3,2,2,,130,0,2000,3,4,800,1,,1,3200,1,1,1,5,,,200,1,1,,19,2,2,6,2,185800,2,,,3,1,185800,0,2,2,2,1,3,1,3,0,0,1,24,0,0,1,0,0,1,3697,2,0,0,44,2,1,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,126,127,44,229,144,213,186,111,234,41,131,117,105,37,116,208,135,32,39,124,143,140,193,40,124,44,34,108,39,218,137,115,140,230,104,32,138,207,190,119,134,143,34,209,142,221,219,144,193,41,125,132,132,39,130,179,110,35,32,101,118,120,263,37,131,36,34,149,37,218,115,131,145,190,132,37,126,208,218,134 H,110097,8,700,4,16,1015675,69,3,1,1,,4,2,2,,20,0,2,20,1,250,1,,1,1300,1,1,1,9,,,,1,1,,19,2,400,2,2,52200,1,,,1,1,52200,0,1,1,1,1,1,1,3,0,0,1,32,0,0,1,0,0,1,1373,3,0,1,34,1,3,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,70,20,62,74,23,64,113,24,22,111,69,66,116,72,116,69,64,63,22,127,63,20,76,67,20,68,123,20,22,128,65,76,105,63,125,64,71,64,19,118,75,19,71,79,20,70,134,20,19,127,65,65,122,66,121,63,75,69,18,109,73,21,64,70,21,69,120,22,22,109,66,64,122,68,115,73,66,77,22,124 H,110933,8,300,4,16,1015675,48,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,8,,,,,,4,14,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,12,55,54,75,48,47,52,60,84,52,47,16,13,101,99,15,60,84,13,44,65,44,47,13,47,41,44,39,12,42,49,90,75,15,19,90,40,15,88,46,78,47,44,13,41,53,56,55,15,39,51,88,71,14,20,88,46,18,89,48,14,46,56,81,44,51,58,53,73,44,42,15,19,97,77,13,51,74,12,47 H,111205,8,700,4,16,1015675,119,2,1,2,1,3,2,2,,100,0,2,40,1,1000,1,,1,1400,1,1,1,6,,,290,1,1,,22,6,2,5,1,188000,4,,,1,1,188000,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,1,1,2,1830,2,0,1,31,2,1,1,0,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,0,0,0,0,0,0,117,36,119,214,95,110,124,196,113,198,36,116,34,105,113,140,34,34,201,114,38,117,207,120,205,223,36,102,35,129,108,36,119,37,212,202,137,124,131,37,121,227,126,38,111,112,117,33,125,32,205,117,205,116,117,130,188,219,32,112,182,111,38,115,37,36,184,123,198,116,108,222,121,190,34,35,128,132,116,193 H,111397,8,100,4,16,1015675,24,2,1,1,,3,2,2,,120,300,2,120,1,480,1,,1,490,1,1,1,6,,,,1,1,,14,2,420,9,7,13300,2,,,1,3,13300,0,2,2,2,1,4,1,2,0,0,1,69,0,0,1,0,0,2,765,3,0,1,16,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,43,53,7,23,45,8,9,22,29,48,22,22,25,27,43,27,17,5,28,35,9,9,35,26,8,35,35,18,30,7,38,27,26,28,7,33,23,38,25,8,43,29,7,24,39,8,10,23,20,48,18,22,28,35,42,17,30,8,32,49,5,7,38,27,10,33,45,40,24,7,20,31,27,20,6,20,24,45,30 H,111636,8,500,4,16,1015675,77,5,1,1,,3,2,2,,50,0,2,120,1,250,1,,2,770,1,1,1,8,,,,1,1,,13,1,540,2,1,47000,2,,,1,1,47000,0,2,2,2,1,2,3,5,0,0,3,26,0,0,1,0,0,1,1006,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,23,69,84,25,68,122,145,138,75,74,85,79,69,23,27,21,87,136,135,70,21,74,77,24,83,118,128,123,78,67,73,84,74,21,21,22,76,136,21,85,137,66,72,149,71,21,23,22,81,83,78,83,77,123,132,135,78,23,24,81,128,82,94,129,62,25,25,21,79,74,76,71,70,134,125,120,73,18,137 H,111689,8,300,4,16,1015675,89,2,1,1,,5,2,2,,120,0,2,3,3,400,1,,1,1100,1,1,1,9,,,,1,1,,17,2,40,5,1,80000,4,,,1,1,80000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1223,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,174,79,92,200,133,88,144,172,85,110,81,88,148,81,162,105,155,151,84,31,24,88,84,23,27,103,26,27,97,87,77,104,29,101,23,77,28,34,92,36,28,91,102,27,23,89,29,31,94,89,89,78,25,96,24,95,21,24,122,147,151,82,69,176,184,96,180,149,83,101,78,108,123,95,151,81,152,134,86 H,111807,8,800,4,16,1015675,86,2,1,1,,2,2,2,,80,0,2,60,3,,1,,,,,,1,4,2,500,,2,3,,,2,300,7,1,18500,4,665,43,1,1,18500,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,34,96,100,157,24,70,80,26,83,85,27,85,78,78,24,145,125,118,71,136,28,88,87,153,26,101,88,24,95,106,26,76,92,81,26,157,147,122,83,142,27,82,92,140,22,76,77,25,87,83,26,95,94,71,26,134,146,167,103,149,23,85,82,142,28,87,64,26,73,72,26,89,94,109,23,122,177,167,90 H,112312,8,300,4,16,1015675,75,1,1,,,1,8,,,10,620,2,3,3,,1,,,,,,1,3,2,110,,2,3,,,1,1,4,,,,120,21,1,6,6720,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,83,93,32,91,25,70,75,82,165,130,103,62,55,96,75,28,89,116,28,104,67,65,146,67,160,86,84,94,34,130,14,54,77,26,73,147,22,18,155,32,113,93,16,66,25,71,79,94,170,64,171,133,67,148,88,14,116,127,27,130,137,105,71,58,122,94,68,65,27,61,32,88,77,23,69,78,13,32,146,26 H,112529,8,600,4,16,1015675,110,3,1,1,,3,2,2,,60,0,960,130,1,270,1,,,,,3,1,6,,,,1,2,,15,5,640,4,4,48200,4,,,1,1,48200,0,4,4,4,1,6,0,3,0,0,0,11,0,0,0,2,2,1,453,,0,1,24,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,205,206,107,111,101,115,119,32,117,209,36,110,30,100,184,102,170,34,189,104,35,37,96,110,112,109,111,193,123,32,183,111,189,128,32,101,34,180,183,105,31,33,109,117,115,126,118,183,116,32,178,110,189,112,29,117,38,189,33,108,183,178,112,111,104,108,100,32,112,186,31,117,34,116,178,113,192,33,30 H,113083,8,800,4,16,1015675,132,2,1,1,,5,2,2,,100,0,2,3,3,780,1,,1,1100,1,1,1,6,,,,1,1,,16,2,550,5,7,17220,4,,,1,3,17220,0,4,4,4,1,5,0,2,0,0,0,87,0,0,0,0,0,1,1246,3,0,1,29,2,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,38,211,127,134,119,210,129,29,121,227,226,136,132,237,44,116,28,40,136,176,44,210,128,153,157,267,133,48,102,192,250,133,114,201,37,134,44,47,118,138,31,245,125,116,138,222,136,41,134,226,217,140,140,236,33,157,42,29,141,109,37,185,138,170,131,237,152,43,153,240,235,129,137,223,38,118,43,43,157 H,113607,8,600,4,16,1015675,98,2,1,1,,2,3,2,180,20,0,2,20,1,340,1,,1,610,1,1,1,6,,,,1,1,,15,2,190,3,1,53600,4,,,1,1,53600,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,1,846,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,166,28,100,108,94,101,105,102,150,30,99,102,29,26,97,161,172,105,103,90,106,103,28,172,168,177,177,32,105,95,172,28,97,98,30,107,105,25,31,169,28,155,106,98,103,106,101,100,30,156,94,98,169,168,100,29,28,102,95,98,89,102,170,27,30,30,29,187,100,106,28,166,104,105,163,98,99,165,172 H,113678,8,300,4,16,1015675,80,3,1,1,,4,2,2,,50,0,2,30,1,500,1,,1,700,1,1,1,8,,,,1,1,,15,6,460,6,1,54300,4,,,1,1,54300,0,4,4,4,1,3,0,3,0,0,0,18,0,0,0,0,0,2,818,3,0,1,22,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,119,103,123,29,92,120,137,82,78,75,79,78,18,69,144,26,99,28,77,139,24,61,23,140,71,23,28,65,69,85,78,81,143,87,24,135,66,155,93,148,28,89,23,142,90,25,18,81,80,77,72,84,112,71,26,141,89,112,71,36,128,72,148,22,96,148,134,79,88,73,75,75,25,72,163,25,65,23,77,21 H,113849,8,300,4,16,1015675,50,4,1,1,,4,2,2,,40,0,2,70,1,440,1,,1,460,1,1,1,7,,,100,1,1,,13,3,60,7,1,65800,2,,,1,1,65800,0,2,2,2,1,5,1,4,0,0,1,12,0,0,1,0,0,1,675,2,0,1,21,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,45,65,45,85,44,42,95,45,11,103,101,18,43,43,18,43,15,54,8,65,50,77,43,118,69,53,70,69,20,72,117,13,48,54,10,58,14,61,83,41,50,13,58,13,39,45,15,44,89,16,13,79,54,54,122,55,98,52,73,63,47,16,50,15,51,62,17,53,111,13,15,100,42,47,63,48,84,53,16 H,114025,8,300,4,16,1015675,96,1,1,1,,2,2,2,,50,0,2,130,2,450,1,,,,,3,1,4,,,,1,2,,21,1,800,3,,,,,,1,6,17700,0,4,4,4,1,5,0,,0,0,0,25,0,0,0,1,1,2,368,,0,1,22,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,98,28,89,90,30,127,161,147,209,90,62,99,117,84,29,32,38,114,151,37,99,178,103,91,155,96,26,21,34,107,99,92,97,70,129,159,143,95,33,34,81,134,89,101,143,113,31,30,31,102,91,94,93,115,148,140,144,98,31,174,118,37,96,99,35,82,165,133,115,105,92,89,114,83,27,36,26,72,156,156 H,114614,8,900,4,16,1015675,17,4,1,1,,3,1,2,,80,0,1500,200,2,120,1,500,2,300,2,1,1,4,,,,1,1,,2,3,360,4,2,50000,2,,,1,1,50000,0,2,2,2,1,2,1,4,0,0,1,19,0,0,1,0,0,1,787,3,0,0,1,3,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,30,19,5,17,13,5,16,20,27,29,18,17,15,15,15,3,7,5,4,20,5,15,28,17,17,27,15,5,6,9,16,11,15,19,16,24,30,29,5,17,3,13,27,18,17,26,15,5,7,7,21,19,13,15,18,29,34,35,26,15,28,18,5,17,15,3,13,26,29,26,16,20,18,15,14,5,5,5,23 H,114831,8,300,4,16,1015675,87,7,1,2,1,4,2,2,,110,0,2,130,2,470,1,,1,800,1,1,1,7,,,210,1,1,,15,2,2,3,2,57450,2,,,1,1,57450,0,2,2,2,1,4,4,7,0,0,4,26,0,0,1,0,0,1,1250,1,0,1,18,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,88,97,88,142,81,148,84,93,130,86,35,177,122,23,86,109,24,84,31,32,96,93,113,111,67,119,69,87,153,91,28,119,118,34,73,84,26,82,113,151,94,94,89,32,71,21,73,96,43,73,128,30,21,141,93,79,124,86,127,119,101,88,96,33,78,24,84,100,32,99,147,32,29,145,76,81,134,96,24 H,115014,8,300,4,16,1015675,60,4,1,1,,2,2,2,,60,0,2,50,1,250,1,,2,460,2,1,1,5,,,,1,1,,14,2,600,3,1,105500,1,,,1,1,105500,0,1,1,1,1,4,2,4,0,0,2,8,0,0,1,0,0,2,674,3,0,1,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,60,17,102,63,118,64,21,56,19,92,58,18,16,65,59,61,59,53,101,108,54,18,105,62,102,66,16,56,20,113,62,16,16,61,68,72,62,50,18,16,57,95,17,72,18,53,98,57,104,14,57,92,102,73,60,60,62,62,23,17,50,102,21,69,18,56,99,71,98,17,59,113,106,64,60,53,62,63,98 H,115327,8,600,4,16,1015675,80,3,1,1,,5,2,2,,90,0,2,40,1,450,1,,2,1800,2,1,1,9,,,,1,1,,21,3,690,3,2,101850,2,,,1,1,101850,0,2,2,2,1,4,1,3,0,0,1,28,0,0,1,0,0,1,2393,3,0,1,56,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,132,126,76,94,132,74,82,147,129,142,126,83,130,78,128,75,88,83,23,71,23,27,75,79,23,91,85,25,24,22,23,87,23,75,25,82,77,78,131,77,138,132,89,84,133,91,87,132,146,130,129,78,133,89,145,77,76,74,23,80,21,25,83,78,25,75,79,23,23,25,24,74,22,80,22,80,85,84,136 H,115568,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,115803,8,800,4,16,1015675,41,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,13,43,41,45,11,43,68,44,11,13,43,35,12,77,35,73,92,45,41,11,71,42,43,40,62,40,12,40,72,70,37,42,67,11,36,12,10,46,48,12,69,49,49,39,65,37,12,41,66,69,43,43,71,12,42,11,13,41,33,70,12,46,36,34,14,40,71,42,12,14,42,40,12,58,42,65,67,41,36 H,116165,8,300,4,16,1015675,47,5,1,1,,3,2,2,,40,0,2,30,1,300,1,,1,800,1,1,1,5,,,,1,1,,14,2,600,3,2,42000,3,,,1,1,42000,0,1,1,1,1,2,3,5,0,0,3,26,0,0,1,0,0,1,920,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,42,78,55,77,46,48,49,18,49,13,43,54,13,51,88,11,12,88,46,11,40,15,55,11,48,42,54,91,40,83,40,53,74,46,23,70,61,20,71,16,44,18,80,14,40,51,41,93,42,79,44,40,102,53,12,70,91,13,36,96,46,84,43,82,44,48,60,15,45,12,66,45,13,48,76,16,16,85,47,82 H,117469,8,900,4,16,1015675,60,3,1,1,,3,1,2,,90,0,2,3,3,350,1,250,1,550,2,1,1,6,,,,1,1,,6,2,1,3,7,13100,2,,,1,3,13100,0,2,2,2,1,5,1,3,0,0,1,65,0,0,1,0,0,2,711,3,0,0,14,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,98,65,55,62,17,82,55,63,18,50,18,15,106,111,47,64,64,55,115,21,103,63,55,55,20,105,60,55,18,56,18,20,99,101,63,56,49,61,90,15,97,70,57,61,20,89,58,65,17,62,17,15,77,119,55,53,61,50,91,18,98,62,62,72,19,109,59,61,18,66,18,23,104,89,58,62,56,57,107 H,117500,8,200,4,16,1015675,53,1,1,1,,3,2,2,,100,0,2,120,2,1000,1,,2,300,2,2,1,5,,,,1,1,,14,2,240,6,,,,,,1,6,26100,0,4,4,4,1,3,0,,0,0,0,30,0,0,0,0,0,2,644,3,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,51,76,108,19,18,105,58,14,91,87,54,64,16,46,46,56,49,14,38,51,82,87,72,15,17,100,64,13,106,109,46,59,19,57,49,39,53,14,53,62,54,71,100,17,16,83,45,16,90,98,50,51,15,47,54,47,67,18,61,36,46,77,85,17,15,80,42,15,84,90,79,64,19,67,50,41,61,17,51 H,117566,8,400,4,16,1015675,177,1,1,1,,3,1,2,,100,0,2,3,3,200,1,200,1,760,1,1,1,4,,,,1,1,,12,2,50,3,,,,,,1,4,6310,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,0,0,1,881,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,146,145,179,293,172,229,58,58,344,404,53,190,289,47,56,160,171,327,150,172,240,201,173,50,152,171,313,258,58,60,268,194,70,308,283,144,152,53,177,188,192,161,184,64,218,180,272,342,45,55,263,186,58,284,296,162,216,46,180,150,165,164,139,303,175,153,50,51,314,283,69,173,313,60,52,184,178,308,153 H,118010,8,800,4,16,1015675,24,4,1,2,1,2,2,2,,60,0,900,3,6,400,1,,1,750,1,1,1,4,,,150,1,1,,15,1,2,8,1,44800,3,,,1,1,44800,0,1,1,1,1,1,2,4,0,0,2,28,0,0,1,0,0,2,1035,1,0,1,18,2,5,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,18,23,7,25,24,37,7,46,36,22,25,6,7,45,24,25,24,37,45,29,30,22,43,34,26,8,53,5,7,27,26,49,41,6,22,20,29,6,9,26,25,24,7,20,20,37,9,46,50,24,24,6,8,45,22,22,22,39,39,22,23,27,40,25,25,9,42,7,9,26,26,38,39,5,26,30,32,9,6 H,118068,8,400,4,16,1015675,86,1,1,1,,3,1,2,,60,0,250,210,1,350,1,0,,,,3,1,6,,,,1,2,,9,1,750,3,,,,,,1,6,16000,0,4,4,4,1,4,0,,0,0,0,32,0,0,0,1,1,1,433,,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,99,91,105,27,88,68,148,149,22,28,149,75,20,151,148,87,92,20,103,105,92,74,73,27,77,64,161,162,25,27,161,103,25,121,131,91,98,27,106,83,140,96,71,103,85,83,28,29,133,139,27,95,156,28,21,87,124,116,91,91,115,101,64,133,85,65,27,32,131,124,27,106,120,20,33,84,69,161,101,100 H,118138,8,100,4,16,1015675,103,3,1,1,,3,2,2,,60,0,250,3,6,350,1,,1,850,1,1,1,4,,,180,1,1,,16,2,120,9,2,50000,1,,,1,1,50000,0,1,1,1,1,2,1,3,0,0,1,27,0,0,1,0,0,2,1121,2,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,28,88,152,39,32,139,86,167,108,115,94,71,206,165,88,33,36,214,95,254,41,104,150,32,42,91,92,154,101,112,103,102,170,130,119,22,28,200,78,180,31,101,163,47,22,98,125,166,153,127,116,109,139,115,108,32,27,149,120,154,36,115,188,29,26,113,87,160,117,128,184,104,177,114,93,23,24,162,71 H,118257,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,118384,8,100,4,16,1015675,26,2,1,1,,2,2,2,,130,0,2,3,4,900,1,,,,,3,1,4,,,,1,2,,21,0,2,8,4,41700,4,,,1,1,41700,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,2,288,,0,1,22,0,9,9,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,48,26,42,7,28,47,44,27,29,30,22,23,9,19,44,7,23,8,24,9,36,28,45,8,25,48,42,24,29,23,33,25,6,27,35,7,24,7,29,40,8,23,8,40,26,7,7,29,23,22,23,30,44,23,9,47,27,49,30,37,9,29,8,37,21,7,6,25,28,27,34,25,46,26,7,42,22,39,25,9 H,118386,8,300,4,16,1015675,109,1,1,2,2,3,2,2,,180,0,2,170,2,650,1,,,,,3,1,5,,,,1,2,,14,1,2,7,,,,,,1,6,9710,0,4,4,4,1,7,0,,0,0,0,55,0,0,0,1,1,2,446,,0,1,12,,,,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,150,109,173,129,102,150,111,143,28,30,121,139,97,159,141,31,95,40,104,212,32,137,30,148,163,41,124,34,167,184,130,94,107,33,73,166,83,187,106,163,32,108,36,107,90,29,118,29,201,162,106,106,105,32,123,168,107,192,98,41,161,115,178,123,97,171,119,182,38,32,123,137,94,195,128,30,94,39,134 H,118427,8,800,4,16,1015675,73,2,1,3,1,5,2,2,,50,0,2,3,3,500,1,,1,1000,1,1,1,9,,,350,1,1,,15,2,100,3,4,60000,4,,,1,1,60000,0,4,4,4,1,5,0,2,0,0,0,28,0,0,0,2,2,1,1408,2,0,0,29,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,23,102,93,23,71,95,21,20,53,60,139,69,87,76,83,162,71,71,24,46,175,28,23,121,91,25,128,123,92,85,22,106,64,65,70,14,70,54,115,53,21,118,118,28,69,109,19,22,75,80,123,73,73,69,60,124,91,84,22,81,138,20,15,95,63,18,129,129,88,92,18,82,91,71,78,21,69,67,117,87 H,118477,8,600,4,16,1015675,65,4,1,1,,4,2,2,,100,0,2,50,1,350,1,,,,,3,1,7,,,,1,2,,19,4,50,1,1,119500,2,,,1,1,119500,0,2,2,2,1,1,1,4,0,0,1,4,0,0,1,0,0,1,439,,0,1,42,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,64,66,117,108,114,65,18,62,111,69,69,108,63,18,18,21,69,18,63,66,70,61,109,111,116,71,21,67,105,67,69,109,62,19,20,19,60,106,66,70,63,72,20,20,20,67,117,68,18,68,63,18,63,109,115,115,67,108,65,60,64,64,16,18,18,67,120,62,20,69,71,20,63,101,110,119,63,20 H,118524,8,100,4,16,1015675,77,1,1,1,,2,3,2,,120,0,2,170,3,200,1,,2,650,1,1,1,4,,,,1,1,,17,1,900,5,,,,,,1,6,19000,0,4,4,4,1,4,0,,0,0,0,65,0,0,0,1,1,1,1032,3,0,1,32,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,137,75,25,75,72,76,105,20,144,22,125,74,71,83,21,84,140,79,25,86,77,138,84,20,30,25,71,71,83,88,76,159,126,137,63,23,83,125,95,151,25,77,133,80,72,78,21,123,25,141,19,68,76,82,125,73,23,79,113,84,84,23,70,160,173,133,78,78,85,76,77,20,19,23,71,113,74,22,67 H,118527,8,300,4,16,1015675,183,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,179,61,196,184,288,293,79,74,263,203,45,275,307,161,168,50,221,176,180,166,171,53,154,200,314,275,81,68,263,159,55,294,258,169,158,57,244,222,262,211,148,252,150,157,59,73,429,287,62,206,234,52,70,153,175,338,214,204,250,206,130,247,182,214,55,48,322,346,62,183,272,52,55,143,134,295,209,217 H,118629,8,300,4,16,1015675,37,7,1,2,1,4,2,2,,90,0,2,230,1,650,1,,1,780,1,1,1,7,,,150,1,1,,15,4,360,8,1,87150,2,,,2,1,87150,0,2,2,2,1,4,5,7,0,0,5,18,0,0,1,0,0,2,1280,1,0,1,12,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,9,9,35,35,84,39,32,42,49,55,38,49,8,12,68,69,13,29,42,11,70,67,43,34,12,26,27,50,43,10,38,38,52,56,12,12,71,44,38,47,11,11,44,38,64,36,39,46,44,68,36,37,12,11,54,48,11,31,44,15,67,56,31,40,10,32,40,35,45,13,32,40,57,69,13,11,63,37,28 H,119014,8,700,4,16,1015675,75,4,1,1,,5,2,2,,60,0,2,30,1,400,1,,1,1400,1,1,1,9,,,230,1,1,,20,2,420,1,2,130000,3,,,1,1,130000,0,1,1,1,1,2,2,4,0,0,2,16,0,0,1,0,0,1,1755,1,0,1,33,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,18,71,79,25,81,123,136,141,88,78,70,66,78,27,24,21,83,128,127,73,22,67,78,22,68,135,118,150,74,77,71,66,70,24,22,22,88,137,128,82,26,79,68,22,74,127,120,127,70,70,88,78,72,18,22,24,66,159,133,80,23,78,74,22,72,134,136,114,69,76,78,83,74,22,23,20,72,127,144 H,119026,8,100,4,16,1015675,44,9,1,2,1,5,1,2,,80,11400,490,2,6,0,1,120,,,,3,1,7,,,,1,2,,9,2,2,5,2,6800,3,,,1,1,6800,0,3,3,3,1,4,7,9,0,0,7,28,0,0,1,0,0,1,159,,0,0,8,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,52,14,49,14,46,41,37,35,12,12,46,40,13,41,45,12,15,16,38,39,68,46,76,44,64,97,92,73,40,41,77,75,46,82,76,46,50,49,81,87,43,74,44,80,45,34,44,40,82,89,43,51,59,35,55,66,68,70,46,61,16,34,10,42,14,13,14,14,48,55,10,16,42,13,14,50,49,36,15 H,119087,8,100,4,16,1015675,84,2,1,1,,3,2,2,,20,0,2,100,1,400,1,,1,690,1,1,1,5,,,,1,1,,14,1,510,4,7,22400,2,,,1,3,22400,0,2,2,2,1,3,1,2,0,0,1,46,0,0,1,0,0,1,853,3,0,1,14,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,28,156,123,26,100,70,20,76,28,82,101,96,120,82,140,102,108,137,153,102,150,22,22,136,105,81,153,99,115,78,94,76,25,72,19,85,78,20,24,89,24,120,139,26,91,90,25,91,25,74,91,95,183,87,162,82,88,176,144,93,116,27,22,146,79,64,181,76,115,88,74,85,22,87,32,83,79,25,26 H,119198,8,500,4,16,1015675,30,5,1,1,,3,1,1,,90,0,2,3,3,,1,,,,,,1,6,2,750,,1,3,,,3,640,3,1,35610,2,893,30,1,1,35610,0,2,2,2,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,24,36,33,27,30,56,30,10,51,32,55,27,10,28,8,50,24,8,50,40,26,28,30,31,31,8,32,50,8,27,9,30,44,28,55,8,29,6,48,48,31,30,29,35,30,8,27,53,8,28,9,31,46,31,50,8,30,55,10,8,30,31,26,26,29,56,29,9,44,30,56,25,10,29,8,48,29,54 H,119240,8,300,4,16,1015675,126,0,1,1,,1,1,2,,,,,,,,2,,,,,,2,2,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,151,110,119,236,211,237,158,38,131,186,106,135,244,99,30,44,50,119,50,128,122,102,114,175,193,214,134,28,103,302,157,122,189,109,35,37,37,117,239,107,119,110,112,34,30,38,138,202,117,36,134,159,40,124,176,194,263,133,233,153,135,106,105,43,50,39,141,223,118,44,129,109,34,124,207,194,204,149,49 H,119381,8,400,4,16,1015675,227,4,1,2,1,3,2,2,,280,0,2,3,3,600,1,,1,720,1,1,1,7,,,,1,1,,13,3,180,8,1,42200,2,,,1,1,42200,0,2,2,2,1,4,1,4,0,0,1,29,0,0,1,0,0,2,1015,3,0,1,14,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,206,500,393,236,67,195,78,239,75,184,63,195,417,353,243,71,175,398,86,61,350,336,209,358,274,324,292,216,272,78,166,77,177,253,91,212,299,233,235,213,232,439,370,277,88,212,66,310,79,295,58,243,311,319,280,107,295,458,49,86,322,178,245,293,193,355,175,277,208,58,240,68,341,216,62,200,199,268 H,119466,8,300,4,16,1015675,84,5,1,3,1,5,2,2,,220,0,2,50,2,2300,1,,1,4800,1,1,1,9,,,,1,1,,23,6,2,5,4,64300,4,,,3,1,64800,0,4,4,4,1,5,0,4,0,1,0,94,0,0,0,0,0,1,5070,3,0,0,37,2,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,86,24,86,102,25,104,32,153,124,59,91,76,18,106,116,96,167,153,85,39,80,20,90,80,25,96,26,101,135,91,90,102,24,89,107,106,168,150,62,152,99,130,71,69,113,76,128,34,38,119,101,92,115,83,35,88,26,25,89,137,123,142,83,104,123,71,130,26,34,97,73,77,145,92,26,84,22,23,86 H,119476,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,119574,8,900,4,16,1015675,92,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,94,28,117,163,89,117,23,101,187,180,133,97,79,103,101,28,116,152,24,22,79,25,73,152,75,129,26,88,134,163,82,96,103,82,100,32,91,155,151,164,95,149,108,25,113,25,140,78,28,22,82,83,68,84,92,114,91,24,142,152,117,207,89,26,95,37,197,75,30,28,89,97,109,92,89,175,90,28,26 H,119669,8,500,4,16,1015675,340,5,1,1,,3,2,2,,70,0,2,50,1,330,1,,1,770,1,1,1,5,,,,1,1,,16,2,380,3,1,48900,3,,,2,1,48900,0,3,3,3,1,3,3,5,0,0,3,23,0,0,1,0,0,2,922,3,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,375,374,322,343,328,106,94,116,355,561,343,89,335,327,110,408,578,603,474,604,358,369,302,320,324,86,94,106,393,577,336,93,354,361,94,374,513,582,588,552,302,336,319,362,324,103,107,128,313,606,345,106,305,394,102,324,543,594,624,617,314,324,338,347,352,106,111,98,305,519,331,98,387,341,105,355,561,592,512,578 H,119685,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,120351,8,800,4,16,1015675,51,5,1,3,6,5,2,2,,80,0,2,10,2,0,1,,,,,3,1,9,,,,1,2,,24,2,2,1,2,41500,3,,,1,1,41500,0,1,1,1,1,1,3,5,0,0,3,7,0,0,1,0,0,1,257,,0,0,32,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,21,65,110,42,12,47,52,16,49,120,98,74,47,43,54,56,47,12,13,89,93,46,13,48,104,50,38,95,55,17,17,15,51,43,53,54,49,74,13,97,77,44,15,46,93,43,42,84,44,13,15,19,54,50,43,48,63,94,88,15,17,43,84,52,13,51,49,17,44,96,93,86,55,61,55,45,73,17,95 H,120733,8,500,4,16,1015675,85,5,1,1,,3,2,2,,60,0,2,20,1,350,1,,1,570,1,1,1,4,,,,1,1,,11,2,490,6,5,55700,4,,,1,2,61600,0,2,4,4,1,5,0,2,0,1,0,13,0,0,1,0,0,1,691,3,0,1,22,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,86,154,83,80,140,78,21,145,138,26,78,95,27,86,28,85,82,77,30,138,89,161,92,88,127,87,23,143,138,22,91,73,23,89,33,96,85,81,23,145,88,146,88,103,131,85,26,126,144,25,86,101,24,74,23,86,96,86,22,159,89,142,80,91,140,81,24,127,165,23,75,88,29,89,25,82,91,84,27 H,120801,8,100,4,16,1015675,64,4,1,,,2,4,,,160,0,2,3,1,,1,,,,,,1,3,2,600,,2,3,,,2,2,6,,,,760,16,1,7,57600,0,4,4,4,1,2,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,98,15,22,65,54,123,59,56,62,68,120,82,66,19,21,88,94,21,60,75,104,21,22,69,60,97,71,53,59,81,127,82,64,20,15,119,129,20,72,69,20,109,94,81,63,19,68,76,76,70,15,60,62,97,102,25,17,123,70,64,18,119,102,58,66,17,70,69,64,63,19,55,75,112,104,29,20,96,70,80 H,120950,8,200,4,16,1015675,22,2,1,2,1,3,2,2,,200,0,2,3,3,1000,1,,2,850,2,1,1,5,,,,1,1,,18,4,2,3,5,76500,4,,,1,2,76500,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,2,1283,3,0,1,30,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,23,5,7,23,24,24,24,19,43,17,5,38,21,42,23,7,21,5,26,38,20,8,6,27,24,21,26,22,26,25,6,31,25,41,18,7,22,5,47,37,20,8,7,21,21,24,25,28,39,21,7,31,19,37,15,7,17,7,35,37,20,5,7,19,22,19,15,19,33,27,5,34,20,44,29,7,34,5,45 H,121228,8,300,4,16,1015675,76,4,1,1,,5,2,2,,200,0,2,3,3,,1,,,,,,1,8,2,590,,1,3,,,3,1,5,3,64000,3,790,15,1,1,64000,0,3,3,3,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,25,145,75,23,25,24,90,116,23,64,77,83,73,119,134,72,69,68,67,122,24,122,70,22,23,27,75,127,23,83,84,74,76,133,145,87,73,76,72,22,129,25,85,145,111,129,83,21,129,71,77,70,76,24,22,70,78,93,91,22,131,21,87,126,121,109,72,21,115,80,65,82,72,20,21,78,80,81,73 H,121548,8,200,4,16,1015675,65,4,1,1,,3,3,2,,110,0,2,2,1,,1,,,,,,1,5,2,1000,,1,3,,,2,840,2,1,85200,2,1180,17,1,1,85200,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,109,103,60,22,67,102,68,71,122,72,20,20,20,61,66,70,53,61,19,103,102,145,65,15,73,99,63,71,94,67,17,20,22,63,67,73,80,68,19,122,125,137,71,19,69,86,52,76,161,88,21,19,21,69,75,70,49,47,22,106,107,129,73,15,64,137,68,50,121,62,19,24,24,49,56,75,68,71,23 H,121743,8,300,4,16,1015675,137,1,1,2,2,4,2,2,,80,0,1600,3,4,,1,,,,,,1,5,,,,1,4,,,1,2,9,,,,,,1,6,32000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,133,226,226,43,43,205,120,52,298,182,214,143,31,179,155,164,95,34,183,147,156,44,51,216,188,36,171,277,41,38,86,130,246,136,147,151,164,210,140,164,192,47,46,219,153,41,143,214,54,36,121,123,248,179,134,180,104,185,137,134,147,201,175,39,48,172,148,50,222,222,139,167,37,111,172,136,182,59,105 H,121750,8,700,4,16,1015675,117,1,1,1,,2,2,2,,60,0,2,100,1,300,1,,1,600,1,1,1,5,,,40,1,1,,16,3,50,2,,,,,,2,6,21000,0,4,4,4,2,3,0,,0,0,0,46,0,0,0,1,0,1,804,2,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,113,207,37,103,127,35,106,121,34,112,107,123,35,193,198,207,214,32,117,122,109,34,211,115,137,210,107,128,197,119,124,121,204,34,31,36,36,205,131,121,126,187,35,118,109,31,122,119,36,110,125,104,35,194,195,217,199,37,99,119,115,36,184,120,118,204,115,113,209,111,114,112,211,35,37,37,33,204,108 H,121837,8,700,4,16,1015675,107,6,1,3,1,5,2,2,,300,0,2,120,2,,1,,,,,,1,9,2,700,,1,3,,,1,1,8,2,65200,3,1120,21,1,1,65200,0,3,3,3,1,3,4,6,0,0,4,,0,0,1,0,0,1,,,0,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,105,179,107,32,110,188,182,97,131,146,30,102,31,31,99,28,187,126,93,115,94,204,102,35,108,168,195,109,116,176,33,109,30,36,104,33,166,109,118,112,110,183,113,30,99,197,162,121,93,187,32,117,31,31,99,35,179,106,128,111,122,189,121,29,102,187,178,104,89,175,32,114,28,25,107,36,204,87,122 H,122271,8,500,4,16,1015675,190,1,1,2,1,3,2,2,,100,0,2,3,3,1200,1,,1,1300,1,1,1,6,,,,1,1,,19,2,2,7,,,,,,1,6,72000,0,4,4,4,1,1,0,,0,0,0,23,0,0,0,0,0,2,1400,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,352,194,349,57,211,197,208,58,189,320,189,55,61,174,198,53,293,191,299,190,325,176,328,55,207,215,178,49,191,300,186,60,48,201,184,64,334,176,333,195,302,193,303,70,204,203,197,46,156,297,180,52,61,216,184,58,292,184,335,206,319,218,302,57,193,192,177,59,180,329,193,60,54,184,180,59,348,188,304,183 H,122368,8,300,4,16,1015675,85,1,1,,,1,4,,,20,0,2,1,2,,1,,,,,,1,2,2,400,,1,3,,,1,1,3,,,,420,11,1,4,44000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,126,116,87,29,77,88,94,70,41,95,99,153,135,28,36,142,52,21,108,23,21,91,114,141,71,74,72,71,170,81,84,26,28,149,185,30,72,135,79,130,169,68,79,23,105,83,68,104,22,88,101,152,126,27,21,138,136,21,78,30,28,69,72,131,94,79,100,83,106,113,88,23,26,132,116,26,159,164,72 H,122487,8,800,4,16,1015675,74,3,1,,,2,5,,,50,1800,2,20,1,,1,,,,,,1,4,2,550,,1,3,,,1,1,3,7,2900,3,620,101,1,3,2900,0,3,3,3,1,3,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,21,18,115,92,80,22,135,70,72,157,93,101,110,78,96,58,108,19,146,80,82,55,72,149,22,63,96,26,19,94,137,144,72,22,108,20,75,57,64,23,20,27,113,64,79,23,108,68,84,114,81,68,134,81,63,93,120,24,106,59,81,76,77,126,25,79,64,25,22,72,127,104,86,23,146,21,88,110,102 H,122720,8,300,4,16,1015675,93,4,1,1,,3,2,2,,100,0,2,120,1,,1,,,,,,1,7,2,600,,1,3,,,4,2,7,1,109400,2,820,9,1,1,109400,0,2,2,2,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,32,170,92,124,23,99,28,28,163,172,86,115,99,93,33,157,76,86,24,101,165,26,93,96,161,90,156,138,23,25,79,89,81,113,154,25,77,98,193,95,26,181,93,86,25,110,29,26,174,142,98,94,81,97,28,138,89,109,33,80,170,28,70,94,133,105,166,134,30,25,101,97,77,101,165,24,92,96,169 H,122802,8,800,4,16,1015675,63,5,1,3,6,3,2,2,,150,0,2,3,3,4800,1,,2,1100,2,1,1,6,,,,1,1,,24,3,2,5,1,5200,2,,,2,1,5200,0,2,2,2,1,5,3,5,0,0,3,101,0,0,1,0,0,1,2233,3,0,0,65,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,72,17,58,57,108,62,107,66,93,61,77,18,65,51,16,129,98,22,123,63,110,53,15,102,74,105,72,19,69,18,104,69,17,24,63,51,66,72,76,26,79,17,64,62,98,58,101,72,113,50,61,19,54,65,23,117,101,19,99,55,118,68,24,92,49,109,51,17,63,16,103,65,19,15,76,66,66,70,55 H,122818,8,200,4,16,1015675,118,2,1,1,,3,2,2,,150,0,2,150,1,600,1,,,,,3,1,6,,,,1,2,,20,2,1500,5,4,144000,4,,,1,1,144000,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,1,783,,0,1,49,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,222,133,30,142,33,271,96,39,35,128,105,155,122,107,170,120,36,190,23,139,37,109,167,114,219,30,122,185,150,152,90,105,111,109,46,106,218,39,246,127,188,122,33,110,30,224,115,33,37,120,141,122,74,127,150,115,33,158,33,121,35,96,285,97,225,36,80,176,186,120,157,98,137,117,40,110,231,39,252 H,123698,8,400,4,16,1015675,25,3,1,2,4,3,2,2,,40,0,300,3,4,1200,1,,2,400,2,1,1,6,,,200,1,1,,10,3,2,5,2,53100,4,,,1,1,53100,0,4,4,4,1,5,0,3,0,0,0,18,0,0,0,0,0,2,815,2,0,1,14,3,4,3,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,20,20,22,25,23,6,7,7,26,41,25,8,27,36,8,23,32,39,45,68,27,27,27,27,21,7,7,6,32,46,28,10,23,24,7,29,43,33,38,33,22,23,25,24,24,9,10,7,25,53,25,6,26,29,9,23,41,41,36,47,25,26,25,26,24,8,5,4,32,48,24,6,21,22,6,25,46,46,44,42 H,123721,8,600,4,16,1015675,114,2,1,,,2,9,,,80,50,2,20,3,,1,,,,,,1,4,2,250,,1,3,,,0,1,2,8,7880,4,350,53,1,3,7880,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,34,119,203,34,204,114,107,131,102,123,119,33,198,112,115,194,190,110,112,113,125,181,117,119,115,179,34,35,34,33,187,113,118,36,224,114,109,175,34,31,32,111,197,31,187,123,109,122,111,104,118,33,197,125,127,185,190,123,121,120,112,198,116,113,119,191,33,34,34,35,189,100,120,37,179,127,110,196,30 H,124234,8,400,4,16,1015675,73,2,1,1,,3,1,2,,130,0,2,3,3,300,1,400,,,,3,1,5,,,,1,2,,4,2,40,5,4,15300,4,,,1,1,15300,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,2,2,1,273,,0,0,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,68,26,27,163,121,20,68,116,26,21,90,58,93,63,73,72,64,137,66,69,74,20,20,98,108,17,91,181,17,18,91,73,150,88,71,57,76,129,71,85,82,22,18,102,110,25,63,100,28,21,81,87,156,69,64,61,76,136,72,82,78,24,20,106,159,28,82,137,15,16,81,76,136,100,91,54,64,116,58,122 H,124352,8,800,4,16,1015675,61,2,1,1,,3,1,2,,50,0,2,3,3,,1,,,,,,1,7,2,190,,1,3,,,1,2,3,4,19600,4,240,15,1,1,19600,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,18,56,20,65,64,66,63,20,17,61,69,17,41,53,20,15,18,20,69,57,54,96,53,118,107,89,109,49,66,112,101,59,105,107,57,63,79,62,121,26,18,68,22,65,54,56,48,17,19,63,61,17,72,64,15,19,17,20,60,52,60,111,67,96,93,106,89,68,70,122,125,57,101,107,56,58,55,60,97,13 H,124462,8,600,4,16,1015675,194,2,1,1,,3,2,2,,40,0,2,30,1,,1,,,,,,1,5,,,,1,4,,,1,550,3,4,28200,4,,,2,1,28200,0,4,4,4,2,1,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,60,290,52,60,214,168,275,317,55,233,213,176,73,191,172,206,268,189,71,157,345,71,255,257,179,241,74,60,371,209,189,195,296,143,174,249,72,150,219,209,68,284,70,62,190,204,317,366,53,204,194,230,83,168,159,199,290,180,55,177,319,67,283,259,186,185,74,107,275,198,216,205,309,144,186,227,64,155,379 H,125124,8,700,4,16,1015675,120,4,1,1,,4,2,2,,90,0,2,110,1,330,1,,2,710,2,1,1,7,,,,1,1,,15,3,600,5,2,62430,4,,,1,1,62430,0,4,4,4,1,5,0,4,0,0,0,20,0,0,0,0,0,1,1061,3,0,1,19,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,35,119,37,223,125,31,39,112,118,116,113,137,219,104,30,225,156,219,264,108,31,132,37,177,126,37,37,114,116,141,122,129,201,122,37,190,113,205,34,135,200,129,199,32,120,182,214,122,151,114,123,115,37,132,207,34,130,36,34,108,212,121,211,39,87,236,239,127,129,111,128,116,37,137,207,46,123,33,198 H,125198,8,300,4,16,1015675,101,5,1,1,,3,2,2,,80,0,2,30,1,600,1,,1,2000,1,1,1,7,,,,1,1,,19,2,350,2,1,62000,2,,,1,1,62000,0,2,2,2,1,4,3,5,0,0,3,41,0,0,1,0,0,2,2139,3,0,1,37,2,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,1,0,176,159,165,134,33,115,161,71,129,153,127,31,33,27,84,108,120,102,108,30,161,156,181,77,32,94,143,142,99,149,118,26,37,40,101,104,122,76,88,120,30,37,29,107,208,102,29,57,139,54,99,135,213,137,68,124,115,94,105,172,42,34,29,106,184,98,30,124,65,26,123,221,136,211,185,79,85,92,101,29 H,125301,8,100,4,16,1015675,95,2,1,1,,2,2,2,,100,0,400,80,2,500,1,,1,540,1,1,1,5,,,,1,1,,18,2,440,3,1,35500,4,,,1,1,35500,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,1,0,1,790,3,0,1,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,81,38,26,105,193,22,150,90,106,81,106,101,74,32,194,98,102,166,108,137,160,92,104,147,128,98,84,156,24,26,29,26,161,84,66,31,136,91,201,28,91,157,149,109,29,165,22,91,114,89,97,127,116,159,28,97,101,32,123,89,31,90,97,24,87,77,108,27,131,184,114,155,28,96,119,145,31,83,29 H,125463,8,400,4,16,1015675,68,2,1,1,,2,2,2,,40,0,2,30,1,700,1,,1,510,1,1,1,4,,,,1,1,,12,3,500,9,1,32000,4,,,1,1,32000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,622,3,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,81,61,15,30,135,109,24,62,128,22,20,46,55,156,99,77,75,74,71,19,82,68,102,167,27,18,114,64,23,113,115,61,55,27,79,88,72,62,82,110,97,94,21,27,160,97,19,66,81,13,16,65,82,130,50,83,93,55,88,15,87,86,112,122,26,30,147,58,19,98,105,57,70,25,65,64,110,72,63 H,125649,8,200,4,16,1015675,29,5,1,1,,4,2,2,,50,0,330,3,6,430,1,,2,380,2,1,1,7,,,,1,1,,11,5,670,7,1,71600,2,,,1,1,71600,0,2,2,2,1,5,2,5,0,0,2,11,0,0,1,0,0,1,627,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,8,39,51,36,30,25,7,22,66,43,57,40,7,32,8,31,34,11,34,30,9,58,60,28,31,27,9,25,41,37,40,37,8,24,7,26,38,11,24,41,8,40,41,29,32,24,5,26,73,52,52,39,7,29,8,31,34,11,38,38,10,60,51,25,34,27,5,22,41,32,37,48,12,23,7,27,33,12,26 H,125677,8,200,4,16,1015675,9,1,1,1,,2,2,2,,160,0,2,2,1,400,1,,,,,3,1,4,,,,1,2,,9,2,910,9,,,,,,1,6,16000,0,4,4,4,1,6,0,,0,0,0,22,0,0,0,1,1,2,290,,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,22,7,4,7,2,4,12,9,11,8,5,16,13,13,4,1,7,7,10,9,4,7,17,10,16,14,0,8,4,7,7,2,10,2,12,10,5,8,5,5,4,7,18,10,10,14,3,9,1,11,5,2,12,1,14,15,8,8,5,8,10,16,2,10,4,1,12,14,13,9,8,9,7,21,3,4,12,10 H,126136,8,400,4,16,1015675,121,2,1,2,1,3,1,2,,160,0,2,3,3,600,1,0,2,400,2,1,1,5,,,,1,1,,16,3,2,2,1,36300,4,,,1,1,36300,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,1,0,1,685,3,0,0,20,1,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,226,120,108,197,173,259,278,118,177,99,208,126,160,154,91,176,222,123,26,132,35,90,108,37,39,31,34,139,33,129,43,141,127,121,139,45,37,103,164,128,240,123,118,173,192,218,214,88,174,141,225,111,148,143,105,233,227,103,44,113,32,112,107,37,35,34,38,124,40,122,30,106,122,143,154,35,42,160,242 H,126588,8,300,4,16,1015675,55,3,1,2,1,3,1,2,,50,0,40,150,2,240,1,90,,,,3,1,6,,,,1,2,,11,4,2,5,4,27190,4,,,1,1,27190,0,4,4,4,1,7,0,3,0,0,0,11,0,0,0,2,2,1,242,,0,0,4,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,16,12,94,87,13,52,96,13,15,49,46,102,71,51,70,75,68,47,64,56,103,95,18,14,82,69,24,84,82,74,52,14,49,49,70,44,19,85,46,42,11,21,86,107,23,50,96,21,15,46,51,90,48,51,49,47,96,69,52,42,61,111,24,19,97,57,17,103,137,45,66,22,53,64,58,78,12,39,46 H,126692,8,100,4,16,1015675,81,2,1,1,,3,2,2,,50,0,2,60,1,600,1,,,,,3,1,7,,,,1,2,,21,3,600,9,3,282100,4,,,1,1,282100,0,4,4,4,1,6,0,2,0,0,0,1,0,0,0,2,0,2,343,,0,1,28,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,127,93,132,72,81,126,105,160,28,20,78,82,73,131,102,22,74,24,91,170,26,85,24,68,82,27,72,21,134,145,94,77,99,24,67,132,59,135,90,21,130,87,144,86,93,130,73,159,26,22,73,83,100,128,77,26,79,23,100,134,31,71,30,82,74,22,76,25,124,124,79,73,74,24,104,116,81,114,92 H,126938,8,100,4,16,1015675,25,3,1,1,,4,2,2,,40,0,2,60,1,450,1,,,,,3,1,7,,,,1,2,,22,3,50,2,4,80600,2,,,2,1,80600,0,2,2,2,1,4,1,3,0,0,1,5,0,0,1,2,0,1,334,,0,1,35,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,47,24,28,43,24,42,8,9,27,30,25,37,25,7,26,7,7,44,19,24,40,24,23,39,25,44,6,8,25,25,28,39,23,9,22,7,8,37,23,21,48,23,31,46,20,41,7,8,24,24,27,41,23,7,24,9,5,40,25,24,36,28,27,50,27,37,7,5,23,24,27,45,25,10,26,6,7,41,22 H,127308,8,100,4,16,1015675,178,1,1,2,1,2,2,2,,40,0,2,3,6,0,1,,,,,3,1,4,,,,2,2,,15,1,2,3,,,,,,1,4,9100,0,4,4,4,1,4,0,,0,0,0,14,0,0,0,1,1,2,107,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,154,175,192,63,57,46,153,235,220,65,162,165,53,117,275,376,271,205,197,85,165,184,182,227,251,222,144,68,231,373,139,169,334,137,54,75,51,208,183,51,272,214,162,312,215,297,174,48,144,248,215,194,316,188,57,42,48,246,166,240,174,159,193,58,56,70,204,359,181,51,191,178,67,166,205,230,310,187,174,320 H,127499,8,400,4,16,1015675,20,1,1,1,,3,2,2,,60,0,450,3,8,650,1,,,,,3,1,5,,,,1,2,,16,2,600,6,,,,,,1,6,24700,0,4,4,4,1,7,0,,0,0,0,13,0,0,0,1,1,2,269,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,6,18,42,20,6,19,19,5,16,30,41,35,25,24,17,20,26,7,44,7,5,20,34,22,8,18,18,5,17,34,39,31,19,23,18,18,26,7,6,34,34,18,5,21,35,17,21,33,22,7,6,7,21,19,22,23,18,33,7,36,34,22,6,20,48,20,18,44,21,5,6,6,18,22,20,19,27,32,37 H,127759,8,600,4,16,1015675,70,3,1,1,,4,2,2,,100,0,2,50,1,350,1,,1,1900,1,1,1,7,,,,1,1,,20,3,2,5,1,75300,4,,,1,1,75300,0,4,4,4,1,3,0,3,0,0,0,33,0,0,0,0,0,1,2050,3,0,1,36,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,76,21,22,62,121,72,111,21,109,70,122,70,22,22,71,116,66,68,20,119,19,71,72,20,72,20,66,65,80,118,69,122,72,73,138,77,18,124,75,67,69,125,128,67,22,72,21,112,19,68,20,63,123,125,69,18,71,70,116,18,118,73,68,122,82,119,69,73,75,20,73,23,70,69,21,71,114,20,72 H,128307,8,200,4,16,1015675,24,1,1,2,1,2,2,2,,40,0,2,20,1,570,1,,1,1100,1,1,1,6,,,,1,1,,17,1,2,5,,,,,,1,6,32100,0,4,4,4,1,3,0,,0,0,0,43,0,0,0,0,0,1,1160,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,24,8,27,19,27,9,24,9,38,18,31,29,22,29,40,32,7,18,29,35,36,21,47,59,8,25,9,20,20,5,30,8,36,33,34,31,19,11,48,9,25,43,28,19,14,37,24,38,5,24,7,22,26,31,5,7,58,21,23,29,6,21,9,10,53,26,47,20,26,53,19,36,8,7,22,30,27,49,6 H,128380,8,900,4,16,1015675,178,4,1,,,4,5,,,20,0,2,1,1,,1,,,,,,1,6,2,860,,2,3,,,4,1,3,,,,880,34,1,5,31050,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,66,193,60,264,250,146,174,171,63,197,306,158,285,300,44,177,87,180,154,161,261,162,337,55,48,227,202,216,307,155,59,198,66,61,236,147,251,167,180,156,306,162,259,69,58,200,164,173,319,170,67,176,60,64,282,145,203,185,214,205,58,179,70,250,282,186,194,180,65,194,354,161,279,272,48,171,57,186,164 H,129265,8,100,4,16,1015675,68,2,1,2,1,4,2,2,,130,0,250,3,6,600,1,,2,360,2,1,1,6,,,,1,1,,24,2,2,6,1,104200,4,,,1,1,104200,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,2,686,3,0,1,27,2,2,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,19,23,125,127,73,116,108,71,25,63,21,83,18,76,81,113,77,69,111,17,69,65,97,66,20,69,100,22,69,18,66,86,58,89,19,73,101,97,65,64,19,28,137,131,72,85,61,69,20,58,25,65,26,72,58,107,73,73,89,20,73,71,79,85,19,59,103,23,57,21,68,99,90,125,21,64,111,110,60,65 H,129546,8,100,4,16,1015675,105,2,1,1,,3,2,2,,110,0,450,3,3,1100,1,,,,,3,1,6,,,,1,2,,14,2,120,5,4,15900,4,,,1,1,15900,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,2,2,1,342,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,105,27,90,213,135,180,30,113,182,170,92,94,106,98,98,32,100,182,35,32,124,30,112,176,95,179,27,105,171,166,103,97,107,114,108,29,110,193,32,32,115,29,95,181,110,182,32,128,158,223,112,104,115,117,119,30,106,169,30,29,94,29,93,173,107,199,32,95,184,172,97,104,97,101,111,27,92,202,34 H,129762,8,600,4,16,1015675,85,2,1,1,,4,2,2,,60,0,2,70,1,500,1,,1,860,1,1,1,8,,,300,1,1,,18,2,300,5,1,102000,4,,,1,1,102000,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,1,1315,2,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,85,149,89,83,145,86,26,158,147,26,81,82,25,90,26,80,86,85,28,150,89,141,84,91,136,89,25,150,143,29,93,79,25,87,25,93,94,83,24,144,81,144,80,100,155,79,26,139,143,24,96,82,27,88,24,91,85,100,25,140,77,155,91,91,162,79,23,154,151,25,88,89,23,98,24,77,82,92,25 H,129819,8,600,4,16,1015675,110,3,1,2,1,5,2,2,,60,0,2,90,1,240,1,,,,,3,1,9,,,,1,2,,23,2,380,8,8,77300,2,,,1,3,77300,0,2,2,2,1,5,2,3,0,0,2,10,0,0,1,0,0,1,619,,0,1,62,2,14,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,132,30,103,30,101,102,105,173,107,176,125,108,184,115,34,181,175,33,32,120,115,32,119,33,114,111,94,178,122,192,103,99,186,117,37,200,158,30,184,95,106,206,111,174,105,108,109,31,108,31,111,113,32,121,181,29,36,188,191,105,101,208,110,199,130,98,109,32,100,33,111,124,29,98,181,34,32,190,30 H,129835,8,400,4,16,1015675,95,5,1,1,,4,2,2,,210,3600,2,3,3,1200,1,,1,970,1,1,1,7,,,,1,1,,14,2,420,5,1,26800,2,,,1,1,26800,0,2,2,2,1,1,3,5,0,0,3,54,0,0,1,0,0,1,1215,3,0,1,24,2,4,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,176,110,31,120,82,22,84,141,154,164,79,94,133,85,78,32,30,29,176,90,171,114,28,70,83,40,104,153,209,165,73,93,96,87,99,26,31,31,33,94,21,76,167,119,95,146,97,30,29,35,76,80,102,84,87,150,160,193,29,108,32,108,173,109,103,143,82,27,36,25,94,103,94,100,91,160,160,145,165 H,129880,8,300,4,16,1015675,382,5,1,1,,2,1,2,,30,1800,2,150,1,,1,,,,,,1,3,2,170,,1,3,,,3,2,4,7,20000,3,350,21,2,3,20000,0,3,2,3,1,3,1,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,386,175,447,539,368,308,377,128,391,631,396,615,461,169,536,144,386,357,146,414,376,473,145,113,418,498,332,508,503,147,377,133,165,506,342,529,347,413,576,454,415,585,150,125,354,356,371,541,355,160,468,157,156,492,345,563,353,376,522,379,286,157,466,532,400,387,414,155,337,509,395,545,494,186,446,193,402,356,140,433 H,129976,8,100,4,16,1015675,93,1,1,1,,4,2,2,,100,0,2,30,1,1300,1,,,,,3,1,9,,,,1,2,,18,1,690,5,,,,,,1,6,34300,0,4,4,4,1,6,0,,0,0,0,17,0,0,0,1,1,1,478,,0,1,33,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,106,91,142,175,99,27,91,28,168,25,89,32,87,154,162,84,30,93,155,23,26,175,97,87,163,91,156,98,85,104,31,87,29,80,97,29,93,183,81,101,82,96,27,27,86,144,93,136,27,169,110,170,91,30,29,80,153,108,25,202,178,28,84,77,27,80,31,113,95,128,149,91,164,104,95,148,100,25,117 H,130183,8,900,4,16,1015675,78,5,1,1,,3,2,2,,100,0,2,100,1,300,1,,1,860,1,1,1,5,,,,1,1,,14,2,40,6,1,51300,3,,,2,1,51300,0,3,3,3,1,3,3,5,0,0,3,25,0,0,1,0,0,1,1063,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,93,149,22,65,24,96,121,83,106,22,57,107,148,111,59,59,92,75,23,139,85,27,140,100,132,71,15,65,29,128,70,17,28,100,76,81,76,95,147,149,60,25,130,87,191,80,23,73,25,144,91,29,34,75,79,83,64,78,117,21,105,102,20,46,25,129,122,75,153,19,56,129,122,80,101,87,67,68,32,32 H,130208,8,800,4,16,1015675,23,5,1,1,,2,2,2,,70,0,650,3,4,,1,,,,,,1,4,2,450,,1,3,,,2,2,5,2,19000,2,574,36,1,1,19000,0,2,2,2,1,4,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,23,23,27,28,7,20,19,44,42,9,5,36,30,7,37,43,20,29,18,7,28,27,22,25,7,27,24,49,34,4,9,34,21,8,41,35,17,28,24,12,36,28,26,25,7,23,21,36,48,5,5,35,28,7,31,37,18,28,20,8,31,20,15,27,8,24,22,55,36,6,7,26,19,5,33,43,29,31,23 H,130485,8,600,4,16,1015675,113,5,1,1,,4,2,2,,100,0,2,60,1,600,1,,1,1100,1,1,1,7,,,90,1,1,,18,3,530,3,1,83400,2,,,1,1,83400,0,2,2,2,1,4,3,5,0,0,3,20,0,0,1,0,0,1,1394,2,0,1,29,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,188,118,205,187,120,117,103,124,186,117,210,118,199,187,187,196,109,112,112,33,35,109,33,33,116,110,115,116,33,116,32,115,33,33,36,33,112,105,106,31,35,115,32,32,111,128,112,126,33,107,35,114,34,36,35,32,113,122,124,204,195,108,193,181,110,112,108,112,185,120,191,108,201,192,171,208,121,114,107 H,130544,8,100,4,16,1015675,23,1,1,1,,2,2,2,,100,840,2,100,1,,1,,,,,,1,3,2,240,,1,3,,,0,460,6,,,,478,52,1,6,11100,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,22,43,8,26,36,34,20,27,24,26,27,7,22,38,7,24,6,18,7,44,25,37,6,25,43,44,20,20,21,18,23,5,19,40,5,23,7,15,7,32,23,37,9,22,35,43,26,18,24,27,24,5,23,40,8,22,6,22,5,46,25,52,9,20,37,36,28,24,21,25,19,5,26,43,6,23,7,21,5 H,131246,8,300,4,16,1015675,75,5,1,1,,5,3,2,,50,0,2,3,3,580,1,,1,860,1,1,1,9,,,250,1,1,,15,2,600,4,2,32500,1,,,1,1,32500,0,1,1,1,1,2,3,5,0,0,3,45,0,0,1,0,0,2,1210,1,0,1,16,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,79,59,110,102,143,69,70,85,93,26,127,112,28,68,76,16,69,16,54,28,80,56,129,70,100,126,90,183,82,16,114,102,34,69,54,20,85,29,101,17,94,80,104,106,167,90,71,90,49,28,116,142,23,84,89,26,97,20,64,21,68,90,102,72,132,62,62,110,71,24,115,100,22,70,69,36,73,30,96,29 H,131603,8,700,4,16,1015675,97,4,1,1,,3,2,2,,80,0,2,30,1,2400,1,,1,750,1,1,1,7,,,400,1,1,,16,4,180,5,1,95040,3,,,1,1,95040,0,1,1,1,1,5,2,4,0,0,2,16,0,0,1,0,0,1,1275,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,29,26,27,95,100,94,99,102,162,161,159,97,30,92,161,90,93,161,99,29,26,28,30,91,94,95,103,102,179,166,155,96,28,93,153,96,103,181,90,155,168,173,156,106,99,98,105,101,29,29,28,99,164,92,25,92,97,28,99,161,160,149,162,95,85,94,97,102,28,26,31,101,175,98,28,85,95,31,88,29 H,131606,8,900,4,16,1015675,113,2,1,1,,3,2,2,,140,0,2,3,3,500,1,,1,600,1,1,1,5,,,,1,1,,12,2,600,8,6,24000,2,,,1,2,24000,0,2,2,2,1,1,1,2,0,0,1,40,0,0,1,0,0,1,790,3,0,1,24,0,12,12,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,109,179,134,114,177,31,111,96,184,105,92,30,145,106,162,29,38,146,103,117,30,104,190,172,109,143,220,35,109,33,38,113,32,203,98,96,98,194,31,190,105,34,96,93,36,189,106,118,32,121,122,172,113,128,29,160,166,105,145,108,205,124,31,33,109,105,34,228,147,160,182,101,203,30,110,123,115,30,195 H,132398,8,300,4,16,1015675,16,1,1,2,1,2,2,2,,50,0,770,3,6,0,1,,,,,3,1,3,,,,1,2,,9,1,950,5,,,,,,1,6,9600,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,1,1,2,203,,0,1,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,21,4,11,25,15,17,28,14,4,5,5,8,20,21,17,17,27,37,30,7,18,26,17,5,15,13,4,15,32,25,25,15,12,18,16,15,5,3,7,29,20,5,17,25,11,17,21,12,5,5,5,16,11,18,18,16,28,20,24,4,14,24,16,7,20,16,5,13,19,26,24,12,18,21,16,15,6,4,6 H,132542,8,100,4,16,1015675,100,4,1,2,1,5,2,2,,60,0,2,190,1,740,1,,,,,3,1,9,,,,1,2,,21,3,520,3,2,151526,4,,,1,1,151526,0,4,4,4,1,4,0,4,0,0,0,5,0,0,0,2,0,1,577,,0,1,38,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,105,169,100,29,87,29,32,160,101,163,108,90,191,105,156,27,29,118,98,92,101,34,114,167,91,159,164,27,108,25,104,102,32,116,25,146,179,101,100,89,97,36,122,161,93,174,160,28,97,27,97,105,28,97,32,170,166,92,95,108,84,168,98,36,105,23,27,145,107,183,103,106,151,101,165,30,34,118,100 H,132721,8,500,4,16,1015675,102,1,1,2,3,2,2,2,,40,0,1200,3,4,650,1,,2,630,2,1,1,6,,,,1,1,,22,2,2,2,,,,,,1,4,30604,0,4,4,4,1,4,0,,0,0,0,39,0,0,0,0,0,1,1007,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,156,112,31,100,105,31,92,162,184,184,97,108,113,109,93,25,27,29,167,116,172,92,31,104,96,32,101,182,160,189,102,109,105,101,98,30,28,33,179,124,214,110,30,87,99,26,94,183,156,182,102,104,101,95,103,31,26,29,167,94,152,105,28,97,95,30,95,184,163,188,115,98,102,129,111,29,28,33,209 H,132980,8,700,4,16,1015675,87,3,1,,,2,5,,,70,500,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,1,4,7,27200,2,570,25,1,3,27200,0,3,3,3,1,3,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,25,94,142,147,80,88,89,86,82,28,87,152,24,83,27,81,155,90,24,139,25,86,136,148,81,82,85,94,94,23,81,148,27,101,25,83,156,81,146,27,143,82,26,27,86,87,80,79,93,136,84,27,132,80,137,84,23,88,157,25,146,91,27,26,91,94,86,85,88,153,84,25,147,84,140,94,27,78,25 H,133128,8,300,4,16,1015675,15,2,1,3,6,1,2,2,,100,0,770,3,4,2000,1,,2,870,2,1,1,5,,,,1,1,,22,4,2,9,2,32200,4,,,1,1,32200,0,4,4,4,1,7,0,2,0,0,0,53,0,0,0,2,2,2,1409,3,0,0,37,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,25,14,12,15,13,11,5,4,5,13,16,13,5,13,16,5,10,19,21,22,22,11,13,20,15,15,4,3,5,16,27,13,3,18,14,4,13,29,5,5,3,13,13,20,20,13,27,26,33,19,5,13,23,17,11,19,13,3,5,6,3,13,18,15,11,11,23,23,34,15,5,17,23,18,13,24,10,3,23 H,133286,8,400,4,16,1015675,114,0,1,3,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,191,117,97,207,127,32,37,36,107,120,132,106,108,180,180,173,106,37,121,29,171,156,112,185,117,32,33,33,105,151,147,109,122,223,221,190,94,32,106,35,183,114,108,224,127,41,34,28,124,108,122,105,112,227,190,182,109,38,102,33,187,109,110,187,114,32,31,32,114,124,107,135,110,215,224,169,106,34,117,30 H,133600,8,600,4,16,1015675,73,1,1,,,1,7,,,20,50,2,3,3,,1,,,,,,1,3,2,460,,1,3,,,1,1,5,,,,480,57,1,6,10100,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,70,66,21,23,116,25,79,75,117,133,117,76,65,20,116,75,22,76,128,22,129,135,69,76,81,90,22,131,76,66,69,20,110,72,73,25,79,20,74,65,72,73,24,21,135,24,85,76,139,117,119,72,78,20,133,72,21,69,122,20,120,131,66,68,70,68,22,133,74,74,78,21,137,75,66,22,76,23,78 H,133672,8,300,4,16,1015675,19,1,1,1,,5,2,2,,70,0,2,3,4,0,1,,,,,3,1,9,,,,1,2,,14,2,480,8,,,,,,1,6,20000,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,1,2,160,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,39,29,8,22,29,7,5,16,22,29,24,23,16,22,36,18,23,5,20,34,8,4,28,19,5,28,34,16,19,6,19,20,19,20,6,15,19,34,23,34,5,7,33,18,7,28,27,20,22,7,15,27,20,14,8,20,21,31,25,3,24,31,7,24,37,8,7,21,20,31,18,19,21,24,40,13,17,7,21 H,133850,8,700,4,16,1015675,95,4,1,1,,4,2,2,,50,0,2,50,1,320,1,,1,1200,1,1,1,9,,,,1,1,,20,3,30,2,2,75500,2,,,1,1,75500,0,2,2,2,1,3,2,4,0,0,2,21,0,0,1,0,0,1,1303,3,0,1,35,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,84,23,95,152,38,30,163,93,98,184,89,150,91,86,101,26,104,31,31,88,101,175,88,26,145,146,30,90,103,26,114,33,94,117,89,155,104,176,163,85,109,31,93,140,28,30,175,100,81,151,89,178,111,88,96,25,91,34,36,90,108,152,94,30,148,193,31,103,99,37,100,30,106,93,93,166,86,139,215 H,134090,8,100,4,16,1015675,68,2,1,1,,4,2,2,,100,0,2,60,3,2400,1,,1,580,1,1,1,8,,,330,1,1,,20,3,600,5,2,83000,4,,,1,1,83000,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,1,1120,2,0,1,40,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,58,18,106,17,21,67,67,132,110,20,71,83,63,25,68,63,62,103,75,116,59,18,102,17,20,64,69,108,121,19,65,83,70,20,63,66,71,112,72,126,59,21,123,24,21,66,57,115,125,21,62,62,61,18,55,71,63,113,71,125,68,19,107,18,21,69,60,104,116,23,63,75,75,20,69,69,67,118,72,119 H,134299,8,100,4,16,1015675,210,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,337,62,190,178,244,68,206,371,221,53,64,210,186,60,357,214,402,346,230,225,424,67,196,224,194,59,223,334,195,60,57,196,219,70,393,212,336,361,212,202,370,63,200,215,222,66,222,364,271,58,74,195,206,64,376,259,331,395,214,221,326,56,202,196,220,68,214,368,180,57,56,180,195,61,353,201,318,360,247,223 H,134705,8,800,4,16,1015675,129,3,1,2,1,3,2,2,,100,0,2,3,3,400,1,,,,,3,1,8,,,,1,2,,15,3,40,5,1,95200,4,,,1,1,95200,0,4,4,4,1,5,0,3,0,0,0,3,0,0,0,0,0,1,228,,0,1,23,3,5,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,129,264,129,173,146,39,39,149,39,239,35,214,128,156,175,138,104,104,125,98,201,166,41,195,226,178,123,34,166,223,122,123,52,95,119,261,190,46,37,95,37,129,203,52,59,122,109,264,94,132,167,82,226,148,98,42,44,256,200,214,118,34,113,208,125,189,319,124,208,59,195,37,152,30,42,156,118,138,134,38 H,134910,8,900,4,16,1015675,102,1,1,1,,3,2,2,,40,0,2,140,1,500,1,,,,,3,1,9,,,,1,2,,19,2,1100,3,,,,,,1,6,44700,0,4,4,4,1,4,0,,0,0,0,15,0,0,0,1,1,1,564,,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,86,30,85,80,101,178,136,250,139,84,136,88,28,179,169,36,97,105,165,147,81,173,78,79,108,28,125,41,117,82,25,106,168,38,45,184,100,92,190,163,74,148,93,136,95,23,75,22,97,144,41,115,196,28,35,159,89,148,29,37,101,41,123,105,81,135,91,146,104,115,166,98,29,113,151,29,93,159,22 H,135374,8,200,4,16,1015675,29,3,1,1,,3,2,2,,140,0,630,3,4,200,1,,1,1200,1,1,1,7,,,,1,1,,15,3,790,9,1,54000,2,,,1,1,54000,0,2,2,2,1,1,1,3,0,0,1,32,0,0,1,0,0,2,1459,3,0,1,18,2,2,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,8,31,9,38,28,24,54,31,46,21,37,45,24,8,49,54,7,8,41,28,7,33,8,28,32,40,55,24,36,42,33,47,28,9,49,59,12,43,42,32,50,43,40,25,27,24,9,25,10,29,27,7,26,55,7,9,52,61,25,31,36,30,72,30,31,34,8,32,9,39,28,10,35,38,10,11,47,7 H,135522,8,100,4,16,1015675,95,1,1,1,,2,3,2,110,40,0,2,30,3,300,1,,1,550,1,1,1,5,,,,1,1,,14,1,400,3,,,,,,1,6,27000,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,1,1,1,763,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,181,154,140,103,99,93,91,100,29,25,25,105,146,92,27,83,100,26,155,83,150,177,163,87,95,89,92,98,25,30,29,87,175,82,28,99,95,32,138,101,140,164,164,94,86,84,91,80,27,28,32,100,157,102,27,80,90,31,149,118,178,163,144,78,90,82,103,113,27,39,26,90,165,106,28,87,98,25,199 H,135827,8,900,4,16,1015675,104,4,1,1,,4,2,2,,150,0,2,2,1,2400,1,,1,800,1,1,1,7,,,100,1,1,,14,3,960,6,2,50000,2,,,1,1,50000,0,2,2,2,1,6,1,4,0,0,1,27,0,0,1,0,0,2,1130,2,0,1,25,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,191,96,186,111,102,32,106,32,108,33,91,103,186,90,104,155,33,41,174,92,99,173,91,31,197,113,156,112,33,112,30,191,106,29,26,99,100,126,99,168,175,118,168,94,107,35,117,32,99,34,97,95,158,111,108,171,31,28,207,96,107,151,91,32,182,113,185,116,34,93,34,154,101,29,34,135,127,107,118 H,136066,8,300,4,16,1015675,26,4,1,1,,5,2,2,,170,0,50,3,3,200,1,,1,1200,1,1,1,9,,,,1,1,,15,2,360,5,2,61700,2,,,1,1,61700,0,2,2,2,1,6,1,4,0,0,1,27,0,0,1,0,0,1,1404,3,0,1,25,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,9,21,23,10,33,47,41,57,26,21,21,31,18,7,8,9,27,36,10,28,48,26,25,39,25,7,8,8,30,25,26,29,23,35,43,41,24,8,42,21,8,28,28,9,30,39,51,44,26,28,27,27,33,5,6,6,23,52,6,27,50,29,27,50,22,6,6,5,23,27,20,29,23,39,48,44,26,8,40 H,136451,8,400,4,16,1015675,70,1,1,3,1,2,2,2,,50,0,150,3,6,380,1,,2,980,2,1,1,6,,,,2,1,,21,1,2,4,,,,,,1,4,57000,0,4,4,4,1,4,0,,0,0,0,24,0,0,0,1,1,1,1138,3,0,0,17,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,60,66,117,64,20,21,24,69,56,72,84,63,100,138,127,77,26,84,113,26,68,73,33,72,106,111,127,98,68,61,67,73,17,17,19,61,106,70,20,139,89,79,142,57,17,26,27,75,69,95,67,63,110,107,137,84,22,64,97,26,61,62,24,68,121,94,94,82,67,74,81,59,15,18,21,77,106,63,19 H,136453,8,400,4,16,1015675,110,2,1,2,1,3,2,2,,20,0,20,3,5,300,1,,1,720,1,1,1,6,,,,1,1,,14,3,2,8,1,44001,4,,,1,1,44001,0,4,4,4,1,2,0,2,0,0,0,20,0,0,0,0,0,1,742,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,96,110,90,98,38,34,31,112,220,92,40,123,121,32,109,176,128,192,54,92,120,105,108,95,210,189,149,123,37,146,193,81,115,210,111,29,32,25,162,96,79,114,112,113,32,32,37,128,226,106,28,126,93,26,133,220,150,189,35,93,121,130,138,114,220,195,155,130,41,108,130,84,101,164,123,40,44,35,187 H,136642,8,200,4,16,1015675,198,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,182,179,54,61,67,205,320,203,77,203,219,67,197,335,362,280,199,228,321,226,152,193,67,62,55,180,311,175,80,182,198,75,185,327,383,349,181,194,285,235,202,196,51,59,64,205,373,190,73,201,207,75,181,320,328,297,208,200,326,197,183,200,60,60,61,177,307,207,65,186,170,78,234,280,338,343,196,187,268 H,136847,8,700,4,16,1015675,133,1,1,1,,3,2,2,,30,0,2,80,1,700,1,,,,,3,1,5,,,,1,2,,16,1,30,3,,,,,,1,6,7000,0,4,4,4,1,3,0,,0,0,0,56,0,0,0,0,0,1,329,,0,1,31,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,132,40,115,127,38,134,215,208,239,140,128,126,131,131,43,39,41,143,211,37,129,220,123,134,232,138,40,34,43,145,155,125,122,128,234,210,219,137,39,40,139,237,138,140,234,117,36,39,37,130,116,136,142,136,215,222,241,132,39,203,148,39,152,121,42,144,205,227,188,121,121,136,151,131,37,37,38,115,224,197 H,137203,8,500,4,16,1015675,257,4,1,1,,4,2,2,,100,0,2,110,1,300,1,,1,890,1,1,1,7,,,200,1,1,,15,3,240,2,1,88800,2,,,2,1,88800,0,2,2,2,1,4,2,4,0,0,2,18,0,0,1,0,0,2,1320,2,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,396,477,282,340,82,233,282,242,248,58,254,285,380,406,76,74,470,330,90,226,421,402,239,251,96,241,241,259,246,73,233,306,399,436,75,59,449,279,108,334,98,77,236,273,425,250,272,223,238,491,284,226,78,68,422,431,69,235,383,278,93,78,254,215,446,262,229,267,216,500,313,258,83,70,491,435,74,258,374,240 H,137494,8,600,4,16,1015675,235,2,1,,,2,5,,,50,500,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,0,2,7,7,4890,1,600,101,1,3,4890,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,71,71,427,577,66,178,372,80,64,228,250,426,349,234,271,192,350,279,204,298,346,347,68,71,429,210,59,509,348,199,215,69,283,314,237,258,74,275,236,191,69,66,403,480,75,194,392,78,54,290,246,449,332,182,292,178,332,317,208,306,359,346,64,70,509,253,62,499,393,213,195,74,228,305,214,221,88,315,273 H,137592,8,200,4,16,1015675,44,1,1,1,,2,2,2,,70,0,1500,3,4,,1,,,,,,1,3,2,600,,1,3,,,2,1200,9,,,,895,28,1,4,38000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,13,12,40,53,53,41,37,116,96,80,40,7,23,91,59,43,64,65,52,59,79,45,28,41,39,52,33,11,17,23,83,81,45,10,38,62,17,44,16,14,11,18,50,30,57,72,42,50,83,52,40,10,41,64,47,70,86,52,67,46,97,79,49,28,43,67,33,17,14,10,43,60,65,12,31,30,16,46,10 H,137858,8,900,4,16,1015675,56,5,1,1,,4,2,2,,90,0,2,60,3,470,1,,2,490,2,1,1,8,,,120,1,1,,17,2,900,3,1,84800,3,,,1,1,84800,0,3,3,3,1,4,3,5,0,0,3,14,0,0,1,0,0,1,974,2,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,92,56,52,69,16,52,16,51,52,15,54,86,15,15,82,58,47,102,16,68,19,66,62,53,95,51,93,52,51,92,56,15,101,107,18,52,58,21,17,52,17,50,52,59,117,54,88,46,62,98,68,15,110,101,15,63,72,20,101,57,85,55,58,44,15,67,18,54,53,17,51,89,15,17,92,49,48,88,81 H,137965,8,200,4,16,1015675,114,2,1,1,,2,2,1,,80,0,2,20,1,530,1,,1,460,1,1,1,4,,,420,1,1,,10,2,650,7,,,,,,1,7,15320,0,4,4,4,1,3,0,,0,1,0,81,3,0,0,0,0,1,1034,1,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,197,124,223,87,108,226,72,148,39,35,98,140,154,196,103,26,121,41,122,39,225,130,210,119,136,139,125,226,29,43,122,97,134,215,90,28,127,33,89,41,196,127,210,98,122,148,96,198,29,42,131,113,85,158,139,38,119,35,106,37,171,101,216,115,141,228,110,158,47,39,130,161,108,201,114,31,112,34,109 H,138750,8,500,4,16,1015675,64,3,1,,,3,4,,,80,2800,2,100,1,,1,,,,,,1,6,2,700,,1,3,,,3,2,3,5,10000,1,880,81,2,2,13100,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,19,16,68,68,70,59,73,92,50,18,98,58,104,66,17,55,26,88,72,99,32,18,48,68,56,49,66,132,60,21,109,65,138,52,27,54,16,130,75,18,128,92,75,64,69,55,77,25,56,115,14,48,20,62,122,47,134,21,65,21,99,116,43,64,83,71,71,17,65,94,20,82,22,41,100,56,124,20,67,98 H,138799,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,138943,8,600,4,16,1015675,109,2,1,1,,3,2,2,,140,0,2,3,3,320,1,,1,500,1,1,1,6,,,,1,1,,18,3,800,4,1,74000,4,,,1,1,74000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,1,0,1,707,3,0,1,44,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,31,110,194,29,33,114,102,206,101,118,111,111,190,110,108,34,32,166,112,31,184,108,33,180,202,108,111,32,105,110,112,103,31,118,116,196,170,32,117,30,184,110,33,181,182,116,111,34,106,103,114,106,33,121,112,180,187,32,113,190,35,104,189,32,32,109,100,185,109,111,101,100,208,109,109,35,32,197,107 H,138973,8,500,4,16,1015675,78,2,1,1,,2,2,2,,50,0,2,140,1,380,1,,1,500,1,1,1,4,,,,1,1,,9,2,20,8,4,16600,4,,,2,1,16600,0,4,4,4,1,5,0,2,0,0,0,50,0,0,0,2,2,1,692,3,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,134,95,139,135,89,159,25,57,94,76,22,73,140,86,25,22,74,77,90,25,126,69,139,137,77,145,21,89,70,77,26,91,145,79,23,23,78,71,96,21,154,78,127,119,86,129,26,84,74,82,25,73,142,66,24,21,80,86,63,21,123,78,132,147,83,134,20,93,83,76,32,73,151,87,23,26,78,81,85 H,139099,8,300,4,16,1015675,108,5,1,,,3,7,,,1,0,2,3,3,,1,,,,,,1,5,2,1100,,1,3,,,1,1,6,,,,1100,72,2,7,18324,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,39,128,106,157,146,39,36,160,100,31,169,136,95,144,35,105,103,119,109,152,176,104,117,26,37,169,186,33,126,167,20,35,113,125,205,127,99,102,88,100,185,105,124,44,34,138,171,42,93,214,43,28,121,142,128,87,141,104,80,102,32,97,91,167,188,35,59,165,87,38,155,183,130,118,35,113,83,73,81 H,139138,8,600,4,16,1015675,104,4,1,1,,5,2,2,,60,0,2,100,1,400,1,,1,1100,1,1,1,9,,,,1,1,,19,2,1300,5,2,100000,2,,,1,1,100000,0,2,2,2,1,3,2,4,0,0,2,16,0,0,1,0,0,1,1368,3,0,1,24,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,33,115,106,105,101,30,97,29,94,32,32,32,32,88,101,33,32,114,185,95,107,169,175,163,181,99,179,100,183,110,106,109,106,194,199,97,102,165,113,179,166,103,105,98,105,184,100,183,114,164,182,175,165,104,99,169,165,105,29,104,101,29,31,31,30,101,31,112,33,108,106,102,106,32,30,108,105,29,99 H,139272,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,139502,8,900,4,16,1015675,123,2,1,3,1,3,2,2,,110,0,2,3,3,1200,1,,2,930,1,1,1,5,,,,1,1,,15,1,2,3,4,38800,4,,,1,1,38800,0,4,4,4,1,5,0,2,0,0,0,35,0,0,0,1,1,2,1140,3,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,56,40,185,184,119,200,136,132,39,141,30,119,43,127,107,258,111,102,280,45,100,110,101,113,53,95,217,37,110,42,157,219,107,189,38,115,173,177,129,108,42,38,189,248,121,174,150,149,31,144,59,130,32,123,122,183,103,128,212,39,134,180,113,130,28,99,191,36,144,38,109,184,123,163,38,162,189,268,112,172 H,139648,8,300,4,16,1015675,34,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,58,35,11,62,60,36,35,11,32,34,30,30,12,35,41,67,51,32,10,8,57,36,10,58,56,30,34,10,34,36,33,32,10,36,33,59,56,35,56,58,10,29,57,9,8,29,33,55,31,35,32,31,73,35,35,11,11,44,53,54,10,38,69,8,10,32,37,59,30,33,32,37,70,37,31,11,11,33 H,139990,8,300,4,16,1015675,77,5,1,3,1,5,2,2,,110,0,2,80,1,340,1,,2,450,2,1,1,9,,,50,1,1,,20,4,2,2,4,34300,2,,,1,1,34300,0,1,1,1,1,2,1,5,0,0,1,31,0,0,1,2,2,1,881,2,0,0,31,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,81,64,23,75,113,73,136,106,21,68,19,86,104,22,96,32,93,113,93,78,82,78,136,75,21,95,35,20,114,103,127,67,71,124,96,106,24,35,66,61,55,98,127,85,33,72,23,30,128,63,120,75,65,123,72,110,24,28,75,58,51,92,35,84,134,81,132,145,33,64,26,106,73,25,87,31,108,94,67 H,140021,8,100,4,16,1015675,316,1,1,2,1,3,2,2,,80,0,2,10,1,,1,,,,,,1,6,2,450,,1,3,,,1,1,9,,,,540,22,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,80,272,416,338,103,351,361,95,301,507,535,494,353,346,273,345,294,95,499,115,161,319,462,375,103,370,304,116,344,588,471,432,262,310,393,211,351,111,88,479,432,234,90,434,408,305,362,602,318,93,102,90,231,452,314,390,379,444,122,423,524,320,88,304,527,391,252,416,338,177,156,90,256,337,307,233,316,618,461 H,140092,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,140153,8,200,4,16,1015675,132,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,143,232,112,44,113,124,39,109,201,242,213,140,133,142,150,121,33,46,44,237,138,188,133,40,134,156,35,126,252,204,199,133,120,121,145,131,31,41,49,225,148,274,132,39,128,134,38,121,244,256,214,118,130,129,119,140,39,36,37,226,128,198,125,37,117,165,37,109,261,234,199,141,143,125,159,125,29,49,38,247 H,140896,8,400,4,16,1015675,72,2,1,3,6,4,2,2,,130,0,2,3,2,800,1,,,,,3,1,9,,,,1,2,,17,2,2,8,2,32000,4,,,1,1,32000,0,4,4,4,1,6,0,2,0,0,0,11,0,0,0,0,0,1,289,,0,0,23,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,17,57,88,23,56,102,113,113,70,80,99,83,99,27,19,15,80,135,24,91,129,71,74,110,68,18,20,26,80,74,69,64,71,120,125,142,64,18,106,64,26,72,67,23,67,112,112,111,90,81,74,60,84,29,20,21,77,110,31,83,137,70,72,113,55,17,25,28,85,61,73,73,74,128,110,129,55,18,117 H,141061,8,900,4,16,1015675,86,2,1,1,,3,2,2,,50,0,2,120,1,450,1,,2,500,2,1,1,6,,,,1,1,,10,2,450,7,4,94800,4,,,1,1,94800,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,1,1,2,813,3,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,82,24,84,108,83,89,25,67,76,138,202,39,30,143,93,28,132,134,76,82,86,24,90,89,81,75,25,90,75,149,151,28,35,164,93,27,141,146,80,75,81,132,79,94,92,74,149,85,86,26,32,171,142,24,94,131,26,27,80,78,76,124,89,107,83,73,157,83,80,35,28,149,217,35,89,140,26,23,83 H,141092,8,500,4,16,1015675,72,3,1,1,,4,2,2,,70,0,2,200,1,,1,,,,,,1,7,2,950,,1,3,,,2,360,2,8,159200,2,1250,9,1,3,159200,1,2,4,2,1,2,0,3,1,0,2,,0,0,1,1,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,123,72,78,66,127,66,112,19,84,21,79,76,76,19,23,104,81,24,73,22,75,26,22,119,70,126,66,77,127,76,125,18,23,71,73,73,108,74,131,71,127,75,82,80,132,72,116,21,77,21,72,78,67,21,24,118,81,22,71,21,88,20,20,121,65,120,70,80,114,68,110,20,21,77,79,71,121,66,108 H,141113,8,700,4,16,1015675,107,2,1,2,1,5,2,2,,120,0,2,50,1,600,1,,1,1200,2,1,1,9,,,650,1,1,,23,2,300,2,1,146000,4,,,1,1,146000,0,4,4,4,1,4,0,2,0,0,0,20,0,0,0,0,0,1,2378,2,0,1,52,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,33,102,109,110,30,180,31,107,192,177,182,107,35,207,106,105,98,96,113,30,31,108,110,103,32,176,28,99,191,193,177,112,32,168,104,111,108,108,105,32,31,109,96,108,31,178,31,97,183,174,176,105,32,191,104,114,105,104,108,31,33,102,102,108,30,206,31,100,185,174,173,113,32,187,112,105,115,108,109 H,141309,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,141421,8,700,4,16,1015675,79,2,1,1,,5,2,2,,70,0,2,140,3,500,1,,2,1100,2,1,1,7,,,400,1,1,,20,2,40,1,1,87000,4,,,1,1,87000,0,4,4,4,1,1,0,2,0,0,0,26,0,0,0,0,0,1,1863,1,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,25,82,25,151,124,78,86,83,21,89,132,79,146,133,24,75,21,82,81,78,22,87,24,137,131,77,77,82,24,80,139,73,139,172,21,75,22,80,78,85,22,85,24,145,135,87,70,67,26,78,126,87,123,139,22,86,23,72,80,85,28,78,25,149,138,84,78,72,23,76,120,81,136,130,25,84,27,77,81 H,141740,8,900,4,16,1015675,66,1,1,1,,1,2,2,,20,0,2,200,2,450,1,,,,,3,1,3,,,,1,2,,17,1,310,9,,,,,,1,4,9800,0,4,4,4,1,5,0,,0,0,0,45,0,0,0,0,0,2,367,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,83,53,21,18,16,70,57,62,69,107,160,84,69,77,27,69,124,76,58,23,94,45,18,19,27,85,45,59,72,73,146,123,118,104,22,50,161,91,59,140,17,45,116,107,149,102,53,57,114,124,19,20,18,107,130,55,24,61,60,107,23,65,108,112,75,52,63,71,51,71,37,15,17,113,98,60,27,68,61,28 H,141957,8,300,4,16,1015675,36,2,1,1,,3,2,2,,50,0,2,3,3,550,1,,1,750,1,1,1,6,,,,1,1,,13,3,900,5,1,18000,4,,,1,1,18000,0,4,4,4,1,7,0,2,0,0,0,58,0,0,0,0,0,2,875,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,40,43,11,49,8,65,62,31,57,44,11,31,56,40,77,56,8,38,38,8,37,39,10,41,10,72,65,29,40,33,10,36,63,38,71,53,7,27,34,11,36,34,13,28,12,79,60,35,31,40,13,44,56,32,59,77,17,28,34,15,41,26,13,35,9,51,53,30,31,52,9,28,52,32,52,65,16,41,41 H,142060,8,100,4,16,1015675,24,2,1,1,,3,2,2,,40,0,2,160,1,330,1,,,,,3,1,6,,,,1,2,,10,3,680,9,4,43000,4,,,1,1,43000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,2,2,1,333,,0,1,13,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,32,23,29,40,20,23,40,36,65,52,22,48,18,46,21,16,35,7,22,7,7,17,20,7,22,25,6,6,9,9,22,7,28,6,22,24,30,41,26,38,32,19,27,44,28,26,39,47,54,51,20,37,18,40,27,20,27,5,18,8,5,19,27,7,20,28,6,6,7,10,22,9,23,7,20,27,28,42 H,142225,8,700,4,16,1015675,119,3,1,1,,4,2,2,,50,0,2,220,1,1000,1,,1,1900,1,1,1,8,,,,1,1,,21,3,610,2,1,201000,2,,,1,1,201000,0,2,2,2,1,3,1,3,0,0,1,13,0,0,1,0,0,1,2221,3,0,1,48,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,33,130,115,33,137,129,35,120,116,117,37,202,184,214,195,34,131,117,114,36,195,108,124,195,116,111,216,126,121,118,191,32,35,34,33,188,130,114,99,209,40,119,118,35,118,119,33,122,137,118,38,192,194,178,197,37,113,133,123,37,185,113,114,182,107,124,222,122,115,116,202,37,37,35,33,211,127,121,127 H,142476,8,600,4,16,1015675,110,1,1,1,,3,2,2,,50,0,2,50,1,400,1,,1,900,1,1,1,5,,,170,2,1,,17,1,1500,9,,,,,,1,4,48000,0,4,4,4,1,3,0,,0,0,0,32,0,0,0,0,0,1,1295,2,0,1,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,190,33,193,96,119,109,105,114,117,30,192,112,102,198,194,101,32,30,101,31,109,112,107,34,178,184,205,184,32,101,113,202,30,115,120,28,111,118,31,107,194,34,181,114,110,104,109,113,109,31,200,107,104,174,193,109,33,38,108,32,99,108,106,30,194,192,182,201,34,107,115,202,32,116,99,30,115,102,32 H,142526,8,600,4,16,1015675,121,3,1,1,,3,2,2,,60,0,2,20,1,210,1,,1,690,1,1,1,5,,,220,1,1,,15,3,570,3,1,127000,4,,,1,1,127000,0,4,4,4,1,5,0,3,0,0,0,10,0,0,0,0,0,1,1038,2,0,1,28,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,218,37,37,169,114,41,197,196,111,133,37,113,105,116,130,35,118,113,122,207,213,33,35,222,128,34,207,210,119,119,36,112,126,124,130,39,116,125,121,192,183,39,39,202,118,36,216,171,119,125,36,117,125,126,115,32,117,112,120,202,189,39,35,234,157,28,195,234,119,104,39,128,127,123,118,35,112,141,113 H,142649,8,500,4,16,1015675,121,4,1,1,,3,2,2,,100,0,2,160,1,150,1,,1,490,1,1,1,6,,,60,1,1,,12,1,600,3,7,21000,2,,,1,3,21000,0,2,2,2,1,4,3,4,0,0,3,49,0,0,1,0,0,1,860,1,0,1,24,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,218,33,221,227,110,114,38,38,194,117,134,123,179,124,140,114,40,126,120,184,115,114,123,134,37,31,114,115,121,30,199,39,118,191,195,199,122,35,196,134,38,178,36,41,113,115,203,192,38,131,120,126,36,111,123,128,206,122,135,38,120,130,146,118,168,208,131,109,124,205,35,190,115,37,34,32,115,170,38 H,143225,8,300,4,16,1015675,163,2,1,1,,3,2,2,,90,70,2,3,3,300,1,,,,,3,1,8,,,,1,2,,14,2,80,6,4,10500,4,,,1,1,10500,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,2,2,1,205,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,49,347,122,55,64,50,246,299,47,195,164,135,125,257,252,167,185,138,183,46,236,55,164,258,293,240,143,57,234,181,126,177,211,46,63,159,135,198,137,77,308,37,259,281,232,210,133,42,269,153,212,145,251,65,56,180,120,145,131,240,71,238,178,53,43,50,196,248,68,141,198,155,181,214,254,224,151,137,164 H,143642,8,300,4,16,1015675,101,2,1,1,,3,2,2,,170,0,2,3,3,0,1,,,,,3,1,9,,,,1,2,,12,1,2,7,8,54600,4,,,1,3,54600,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,1,1,1,253,,0,1,22,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,158,95,32,112,102,31,194,101,118,29,96,87,156,114,104,31,154,170,124,37,91,199,93,32,32,85,123,28,205,94,143,212,92,160,21,91,101,95,27,92,204,96,29,110,90,30,176,96,97,34,111,110,136,98,128,27,184,204,111,34,107,165,85,36,33,114,104,29,149,111,156,187,90,158,28,108,102,104,32 H,143821,8,300,4,16,1015675,31,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,8,26,30,36,39,9,28,31,60,41,8,11,48,25,10,61,49,29,28,25,12,31,43,28,26,10,32,33,49,54,7,7,45,27,10,62,51,26,35,29,9,32,33,29,31,10,39,32,51,48,9,10,50,24,9,53,51,33,33,32,10,30,31,27,33,8,31,28,38,58,8,10,54,35,13,50,46,31,32,31 H,144174,8,400,4,16,1015675,77,3,1,1,,2,1,2,,50,0,20,3,6,0,1,2900,,,,3,1,3,,,,1,2,,1,1,1,3,7,28800,4,,,1,3,28800,0,4,4,4,1,3,0,3,0,0,0,13,0,0,0,0,0,2,308,,0,0,5,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,23,147,76,23,111,148,96,93,20,77,90,95,100,23,76,83,108,105,69,21,25,156,67,19,135,138,90,79,22,68,60,77,103,21,62,64,121,119,81,155,131,20,85,127,23,18,60,75,120,84,90,73,71,113,72,74,25,29,86,98,122,23,88,136,21,20,55,73,127,94,91,82,95,113,67,55,23,29,77 H,144268,8,300,4,16,1015675,238,0,1,,,2,7,,,,,,,,,1,,,,,,1,4,2,480,,,,2,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,368,234,224,262,73,258,80,236,260,72,291,368,84,84,324,218,252,416,64,207,59,208,223,251,337,230,358,258,266,386,275,66,404,485,70,179,261,105,427,293,509,303,235,205,72,216,74,195,188,67,214,431,87,69,421,277,214,327,73,254,79,203,256,223,385,203,317,242,219,472,221,63,424,466,81,274,258,70,369 H,144569,8,800,4,16,1015675,83,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,2,1500,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,25,82,88,74,85,83,153,139,162,86,21,79,154,69,87,182,89,140,144,140,141,86,79,73,81,76,23,23,24,73,146,78,21,71,85,22,92,167,136,139,164,100,77,75,74,87,24,23,22,88,151,82,21,83,76,27,82,20,23,24,27,72,69,90,81,85,145,140,161,81,23,85,118,83,75,133,80,22 H,144890,8,500,4,16,1015675,88,2,1,1,,3,2,2,,30,0,2,110,1,330,1,,1,800,1,1,1,5,,,130,1,1,,14,2,2,3,1,38900,4,,,1,1,38900,0,4,4,4,1,3,0,2,0,0,0,33,0,0,0,0,0,1,1070,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,84,91,88,21,67,91,156,127,24,27,130,94,24,155,156,76,96,22,83,83,91,91,92,202,93,84,28,27,163,142,28,109,174,30,22,90,84,156,90,81,80,88,96,23,86,94,142,151,24,30,138,71,23,154,154,86,92,25,81,103,79,88,83,155,98,85,26,28,179,150,27,102,154,28,23,78,90,163,101,76 H,145101,8,800,4,16,1015675,63,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,2,400,,,,1,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,27,20,19,67,113,61,17,60,64,18,61,87,79,95,73,48,57,67,19,66,136,104,114,63,21,67,90,65,97,106,57,24,17,15,60,56,65,62,78,62,18,16,24,78,90,68,20,48,65,24,48,110,101,88,67,58,60,62,17,62,109,95,150,68,19,82,118,48,64,116,56,21,19,21,82,55,69,61,94 H,145268,8,100,4,16,1015675,76,1,1,,,1,4,,,30,0,2000,3,4,300,1,,,,,3,1,3,,,,1,2,,10,2,1300,9,,,,,,1,6,34200,0,4,4,4,1,5,0,,0,0,0,14,0,0,0,1,0,1,397,,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,128,145,99,123,75,26,101,97,85,61,123,67,20,20,20,75,90,72,153,77,117,19,24,27,79,186,72,18,77,87,17,56,108,120,156,83,63,42,25,87,68,122,112,100,64,18,70,146,80,83,116,104,25,25,21,56,67,79,111,108,66,21,37,31,94,120,53,29,46,67,19,83,138,136,136,78,64,73,20 H,145331,8,200,4,16,1015675,43,0,1,1,,1,1,2,,,,,,,,2,,,,,,1,3,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,46,9,39,83,48,41,84,45,12,14,14,42,36,42,46,39,81,82,13,80,40,14,45,70,41,48,72,42,15,12,13,60,39,46,45,42,72,70,10,79,49,14,41,71,38,49,80,43,14,11,13,45,41,52,47,38,75,80,15,82,37,12,46,73,45,40,70,39,12,13,10,40,53,50,43,44,82,75,10 H,145616,8,300,4,16,1015675,366,3,1,2,2,4,2,2,,60,0,2,150,2,300,1,,1,580,1,1,1,6,,,,1,1,,14,5,2,2,2,57000,1,,,1,1,57000,0,1,1,1,1,2,1,3,0,0,1,17,0,0,1,0,0,2,790,3,0,1,17,2,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,424,108,305,112,769,552,241,329,276,108,444,625,519,535,471,166,432,92,315,277,460,503,405,551,158,129,390,419,331,504,298,172,423,120,159,493,409,444,329,275,317,135,311,118,619,523,303,347,253,128,444,452,364,556,639,170,368,151,356,338,439,437,293,556,178,127,301,369,343,498,369,162,438,116,161,716,378,494,452,379 H,145633,8,200,4,16,1015675,14,1,1,1,,2,1,2,,100,0,700,3,4,,1,,,,,,1,8,2,200,,1,3,,,3,200,5,,,,375,19,1,6,23800,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,28,13,4,16,13,14,5,15,5,23,12,24,14,14,19,25,21,5,14,11,10,23,16,22,26,3,15,3,14,13,4,14,3,24,21,17,13,16,4,3,24,16,5,15,18,16,3,14,4,21,12,24,14,13,16,24,24,4,11,18,17,28,10,19,19,3,15,5,17,12,3,17,3,17,28,16,13,15,5,3 H,145668,8,500,4,16,1015675,84,2,1,3,3,3,2,2,,110,0,800,250,2,1800,1,,2,690,2,1,1,4,,,,1,1,,18,1,2,5,7,46700,4,,,1,3,46700,0,4,4,4,1,4,0,2,0,0,0,38,0,0,0,1,0,2,1467,3,0,0,36,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,141,24,81,24,28,81,23,134,78,83,74,167,88,28,96,128,138,71,112,84,155,30,101,28,22,82,25,154,85,85,91,114,81,23,105,146,122,92,86,84,25,145,105,164,124,87,150,24,91,84,97,27,75,123,73,24,25,90,79,86,30,120,75,158,145,86,124,19,93,87,75,26,97,152,89,26,30,70,84 H,145808,8,100,4,16,1015675,53,1,1,1,,2,2,2,,70,0,2,3,3,,1,,,,,,1,4,2,540,,2,3,,,1,1,6,,,,610,28,1,4,26300,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,54,14,75,62,55,45,12,70,81,48,15,38,17,27,94,67,46,55,10,49,36,82,22,77,54,66,88,8,72,56,75,47,106,155,21,14,59,60,80,74,56,12,74,45,52,76,22,93,48,59,14,53,18,15,83,84,41,57,16,47,60,107,15,36,52,58,73,20,58,60,90,60,146,68,15,20,40,43,114 H,145822,8,100,4,16,1015675,308,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,281,285,84,451,298,303,311,100,538,284,320,120,330,112,96,509,509,295,328,94,283,287,458,79,310,296,330,485,95,287,312,574,311,551,490,91,90,294,367,101,291,305,528,101,310,325,264,542,106,304,294,472,296,502,448,104,81,324,336,569,307,316,93,465,315,299,283,88,509,340,316,98,324,91,81,500,515,289,344,512 H,145890,8,800,4,16,1015675,107,3,1,2,1,2,2,2,,130,400,2,3,4,,1,,,,,,1,4,,,,1,4,,,1,2,2,7,10400,2,,,1,3,10400,0,2,2,2,1,2,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,98,108,91,30,104,36,107,98,46,124,150,37,33,138,91,102,178,113,198,31,112,120,101,174,111,187,100,128,204,111,33,179,159,32,107,82,32,98,31,35,100,90,123,161,113,157,95,114,150,121,28,230,161,29,119,91,36,88,36,179,96,99,90,29,98,32,109,97,35,104,189,31,33,219,117,138,184,108,233,190 H,146120,8,400,4,16,1015675,90,3,1,1,,4,2,2,,250,0,2,3,3,380,1,,2,550,1,1,1,8,,,,1,1,,14,3,650,5,2,44000,4,,,1,1,44000,0,4,4,4,1,6,0,3,0,0,0,24,0,0,0,2,2,1,886,3,0,1,22,3,5,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,74,86,102,115,145,166,93,32,79,159,99,95,111,78,30,28,37,99,25,96,90,90,96,138,133,201,111,24,73,149,91,96,179,89,20,23,24,87,31,89,98,96,112,133,138,142,83,33,87,146,101,116,143,94,28,28,35,72,26,87,68,101,82,146,220,173,76,24,64,192,111,84,171,95,19,22,23,83,36 H,146514,8,800,4,16,1015675,202,0,1,1,,3,2,2,,,,,,,,2,,,,,,1,6,,,,,,4,10,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,237,351,225,308,202,221,270,233,71,334,318,67,188,181,57,202,62,192,376,202,217,72,220,57,231,170,50,235,296,61,59,344,224,177,277,184,325,201,75,202,218,297,201,282,201,193,298,224,65,268,382,66,144,207,64,162,63,193,339,213,248,64,186,64,252,163,50,228,322,56,71,346,233,196,323,214,366,219,69 H,146819,8,200,4,16,1015675,17,6,1,1,,4,1,2,,130,0,2,3,3,720,1,4,1,1100,1,1,1,6,,,,1,1,,16,2,600,2,1,81000,2,,,1,1,81000,0,2,2,2,1,4,4,6,0,0,4,19,0,0,1,0,0,2,1280,3,0,0,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,14,22,6,21,28,42,26,7,7,26,19,9,19,24,17,19,4,16,10,18,14,16,30,16,22,6,5,33,26,4,19,28,4,3,26,20,24,16,29,19,15,15,22,16,15,5,6,24,26,7,16,24,3,5,18,19,24,19,16,27,17,13,7,20,20,28,25,5,6,37,17,4,31,34,27,24,5,21,25 H,146875,8,900,4,16,1015675,96,4,1,1,,2,1,2,,1,170,2,180,1,80,1,1800,2,100,2,2,1,4,,,,1,1,,1,1,1,5,7,9600,1,,,1,3,21800,0,1,1,1,1,3,2,3,0,1,2,24,3,0,1,0,0,1,443,3,0,0,3,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,171,101,214,125,84,189,105,224,28,32,88,110,89,130,109,30,168,30,82,151,27,101,26,79,88,30,82,28,162,168,93,93,68,29,116,172,100,148,113,153,19,74,26,107,95,27,109,25,130,145,114,102,127,30,99,206,73,145,120,36,201,111,242,85,109,184,97,132,33,36,92,90,108,153,89,23,103,27,139 H,147196,8,800,4,16,1015675,22,2,1,1,,3,2,2,,80,0,2,3,3,500,1,,,,,3,1,5,,,,1,2,,14,2,420,9,4,34100,4,,,1,1,34100,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,2,240,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,5,6,8,17,26,17,15,22,36,26,42,17,6,16,29,22,21,34,28,32,41,31,41,22,22,22,20,22,5,8,8,22,27,30,8,15,27,7,27,5,6,9,7,22,20,19,19,20,39,34,33,25,5,24,39,17,19,33,17,39,40,34,48,24,21,21,22,18,7,6,5,25,35,17,6,23,19,6,29,7 H,147219,8,100,4,16,1015675,69,3,1,1,,3,2,2,,40,0,350,60,1,420,1,,1,1400,1,1,1,6,,,500,1,1,,20,3,300,2,2,100050,2,,,1,1,100050,0,2,2,2,1,3,1,3,0,0,1,25,0,0,1,0,0,1,2054,2,0,1,31,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,108,29,134,57,21,17,14,69,123,23,67,77,62,63,94,107,85,58,136,19,85,96,83,17,64,64,53,103,87,83,21,111,22,19,76,76,125,102,63,75,126,16,130,70,20,27,27,67,121,19,65,56,57,69,142,128,68,68,92,18,76,61,64,19,59,92,85,113,63,70,19,127,18,23,82,77,120,106,75 H,147742,8,800,4,16,1015675,48,2,1,1,,1,2,2,,20,0,2,3,3,,1,,,,,,1,3,2,250,,1,3,,,1,1,4,,,,270,8,2,5,41600,0,4,4,4,2,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,54,45,65,70,37,91,51,39,87,71,22,74,89,15,41,46,25,55,90,85,44,44,47,19,50,10,52,44,12,52,81,14,13,83,43,49,74,54,19,14,46,70,50,74,54,74,40,55,74,51,16,81,79,13,61,72,13,41,64,78,62,55,37,12,43,11,47,66,21,50,68,16,13,69,55,47,72,48,12 H,148176,8,100,4,16,1015675,90,1,1,,,1,10,,,1,1100,60,80,2,,1,,,,,,2,2,2,300,,1,3,,,1,2,5,,,,385,39,1,4,11800,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,160,106,86,58,25,101,152,115,154,170,22,83,30,74,77,17,76,29,74,157,155,81,78,107,29,93,151,67,151,129,32,100,28,98,80,42,93,23,105,106,185,121,61,94,37,83,145,92,150,166,22,90,25,66,97,34,107,25,83,166,128,75,119,106,19,79,147,84,146,120,28,109,31,99,85,25,85,27,114 H,148346,8,600,4,16,1015675,112,2,1,1,,4,2,2,,250,0,2,440,1,1500,1,,,,,3,1,9,,,,1,2,,24,4,2400,3,2,285000,4,,,1,1,285000,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,1,1848,,0,1,68,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,110,108,100,174,103,111,31,32,192,190,34,111,202,36,29,110,106,181,112,114,108,114,114,191,107,111,35,32,210,194,36,126,205,33,32,103,114,211,111,118,114,103,106,193,118,121,29,32,185,197,33,114,201,34,37,128,117,206,106,105,114,104,109,183,107,120,29,31,200,194,30,105,171,31,35,108,107,188,117 H,148476,8,300,4,16,1015675,85,2,1,1,,2,3,2,,50,0,2,80,1,360,1,,1,800,1,1,1,5,,,,1,1,,14,2,280,2,1,80000,4,,,1,1,80000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,1,0,1,953,3,0,1,20,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,145,76,80,99,63,137,90,80,34,29,154,138,24,76,130,28,26,108,100,79,148,91,102,94,82,134,86,77,23,22,135,138,27,81,161,30,23,82,90,100,156,80,94,84,93,172,78,83,26,27,140,146,26,81,144,24,21,77,87,81,137,86,83,98,81,128,89,92,35,23,141,135,26,88,126,24,20,77,82 H,148501,8,800,4,16,1015675,51,4,1,1,,3,2,2,,100,0,2,50,1,560,1,,1,740,1,1,1,8,,,60,1,1,,15,2,600,2,2,54000,1,,,1,1,54000,0,1,1,1,1,3,2,4,0,0,2,22,0,0,1,0,0,1,1000,2,0,1,18,1,8,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,78,83,17,46,46,99,13,55,61,18,58,47,14,45,37,49,15,71,84,19,44,52,84,19,67,59,53,75,84,55,15,19,54,83,15,90,43,66,57,43,14,15,79,40,70,13,73,80,49,78,39,44,80,45,51,49,82,13,17,116,64,43,47,96,14,52,60,15,18,53,88,77,65,13,100,18,51,61,54,54 H,148518,8,700,4,16,1015675,75,3,1,1,,3,2,2,,90,0,2,230,1,500,1,,1,1700,1,1,1,7,,,500,1,1,,20,3,600,2,1,113030,2,,,1,1,113030,0,2,2,2,1,2,1,3,0,0,1,27,0,0,1,0,0,1,2570,2,0,1,42,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,128,25,22,133,72,24,128,125,78,80,23,80,75,75,76,23,76,80,73,23,20,135,119,24,74,127,22,22,78,75,119,79,78,87,77,127,85,76,71,24,24,133,133,23,75,137,21,20,83,74,130,83,71,67,71,132,77,80,83,125,132,24,24,132,76,22,129,124,76,81,23,80,77,73,68,25,89,71,74 H,148832,8,700,4,16,1015675,25,3,1,1,,4,2,2,,150,0,2,50,1,250,1,,2,580,2,1,1,5,,,,1,1,,18,2,500,2,1,51400,2,,,1,1,51400,0,1,1,1,1,3,1,3,0,0,1,23,0,0,1,0,0,1,985,3,0,1,29,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,25,8,24,23,39,25,38,22,42,23,25,7,25,23,7,44,40,7,7,23,7,22,39,6,23,6,25,40,24,45,7,25,42,42,27,24,25,25,24,44,26,44,26,23,8,26,7,26,9,23,27,44,21,21,37,6,6,41,40,23,40,23,6,40,23,39,25,8,25,6,42,25,6,7,22,24,27,21,24 H,148889,8,300,4,16,1015675,101,2,1,1,,5,2,2,,120,0,2,3,3,480,1,,2,940,2,1,1,9,,,160,1,1,,18,3,610,4,1,140800,4,,,1,1,140800,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,0,0,2,1486,2,0,1,33,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,165,108,113,100,120,87,30,116,144,36,87,31,93,175,124,163,33,109,174,28,191,85,102,138,108,100,28,90,151,31,97,31,98,152,93,198,35,88,138,36,173,116,97,110,109,110,28,82,175,30,89,32,87,161,106,184,34,90,158,37,146,99,120,112,129,89,26,91,193,39,84,31,88,186,114,175,26,94,177,27 H,148985,8,500,4,16,1015675,21,4,1,1,,3,2,2,,150,0,300,3,3,570,1,,1,640,1,1,1,6,,,120,1,1,,15,2,40,4,1,43130,2,,,1,1,43130,0,2,2,2,1,4,2,4,0,0,2,26,0,0,1,1,0,1,938,4,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,40,26,37,23,20,31,21,41,7,9,20,20,24,35,23,8,23,7,23,6,37,23,38,23,21,38,21,35,6,7,23,22,24,37,20,8,23,6,25,6,40,22,36,25,24,42,27,34,5,6,21,27,21,33,17,5,23,7,19,8,35,23,38,21,23,32,28,39,6,7,20,22,20,42,24,5,24,7,24 H,149402,8,100,4,16,1015675,81,3,1,3,1,5,2,2,,410,0,2,3,8,1000,1,,2,1400,2,1,1,9,,,700,1,1,,22,6,2,5,1,76000,2,,,1,1,76000,1,1,4,1,1,5,0,3,1,0,1,47,0,0,1,0,0,1,2993,2,0,0,60,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,73,88,142,77,26,79,144,135,75,78,141,23,73,24,27,78,22,138,84,91,71,83,149,76,24,69,132,143,79,77,144,26,76,27,25,83,29,120,83,74,83,88,27,87,149,85,22,25,76,88,24,159,70,139,146,66,144,26,81,78,82,79,23,88,138,84,23,23,81,75,26,144,63,134,130,73,147,24,75,76 H,149425,8,900,4,16,1015675,73,4,1,1,,5,2,2,,130,0,1400,350,1,590,1,,1,600,1,1,1,9,,,,1,1,,14,5,530,9,7,88200,4,,,1,3,88200,0,4,4,4,1,7,0,4,0,0,0,17,0,0,0,2,2,1,1241,3,0,1,19,2,13,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,90,84,20,18,109,146,28,70,117,23,21,59,53,115,73,67,85,77,81,18,84,80,120,103,20,30,188,67,22,115,80,61,76,23,70,74,88,62,79,128,83,69,19,23,128,100,21,98,145,19,27,68,50,116,71,66,81,77,72,20,68,74,114,111,26,23,112,93,25,99,106,73,67,22,60,76,89,61,67 H,149469,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,149493,8,600,4,16,1015675,89,1,1,1,,2,1,2,,20,0,2,70,1,0,1,4400,,,,3,1,4,,,,1,2,,3,1,1,5,,,,,,1,6,9600,0,4,4,4,1,3,0,,0,0,0,58,0,0,0,1,1,1,464,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,24,147,81,26,97,84,92,172,29,142,27,161,92,89,87,23,80,152,95,28,86,90,173,87,25,25,28,95,93,91,88,86,144,142,146,80,28,94,153,92,156,26,83,165,88,93,95,27,166,25,139,26,87,93,86,144,97,25,87,149,88,87,25,84,141,151,154,91,99,85,91,92,26,31,28,91,134,88,27,89 H,149655,8,500,4,16,1015675,112,4,1,1,,4,2,2,,80,80,2,3,3,560,1,,,,,3,1,6,,,,1,2,,16,5,2,5,4,26080,4,,,1,1,26080,0,4,4,4,1,1,0,4,0,0,0,10,0,0,0,2,2,1,227,,0,1,24,2,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,32,138,112,112,36,122,192,100,41,36,104,95,34,193,124,185,169,116,126,208,32,105,113,111,34,117,177,111,26,30,104,126,38,185,93,180,186,102,140,188,37,106,102,118,38,122,258,110,31,32,117,118,34,161,94,149,193,116,83,171,31,117,106,121,34,100,191,124,35,29,122,105,35,205,109,204,190,101,112 H,149738,8,900,4,16,1015675,69,1,1,1,,3,2,2,,100,0,2,150,1,320,1,,,,,3,1,7,,,,1,2,,13,2,420,7,,,,,,1,6,36000,0,4,4,4,1,6,0,,0,0,0,13,0,0,0,0,0,1,375,,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,68,87,81,70,100,106,141,93,21,68,131,73,59,89,67,22,18,24,75,25,62,84,78,70,104,117,167,109,20,78,112,46,60,128,79,20,20,27,61,23,73,79,67,63,136,127,98,71,29,84,112,89,65,84,65,20,20,25,73,21,67,66,73,65,110,151,130,64,28,85,97,61,73,111,72,17,21,25,62,19 H,150547,8,900,4,16,1015675,98,3,1,2,1,5,2,2,,130,0,2,230,1,1000,1,,1,4800,1,1,1,9,,,,1,1,,22,3,200,3,1,180000,4,,,1,1,180000,0,4,4,4,1,3,0,3,0,0,0,35,0,0,0,0,0,1,5177,3,0,1,1,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,159,86,85,92,28,122,32,114,94,32,111,197,24,28,172,90,109,182,149,92,151,89,93,95,29,104,25,95,100,26,96,159,34,28,163,95,100,174,159,93,159,101,91,88,34,115,30,122,95,28,87,195,36,27,163,90,103,159,139,115,136,98,101,92,24,83,24,85,107,28,110,164,29,31,172,114,109,145,167 H,150665,8,700,4,16,1015675,102,4,1,1,,4,2,2,,60,0,2,20,1,540,1,,1,1200,1,1,1,7,,,,1,1,,18,2,410,3,1,127800,2,,,1,1,127800,0,2,2,2,1,3,2,4,0,0,2,12,0,0,1,0,0,1,1314,3,0,1,28,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,93,169,98,180,32,30,112,107,96,168,99,32,99,29,28,160,104,190,105,96,104,184,101,170,28,31,102,107,108,165,106,32,97,29,30,195,108,155,96,104,108,167,106,180,32,32,112,110,106,164,100,30,97,26,28,170,107,189,101,101,93,170,107,155,28,31,103,101,99,184,111,31,103,30,26,177,107,155,104 H,150772,8,100,4,16,1015675,78,3,1,1,,3,2,2,,110,0,2,3,3,4800,1,,1,1400,1,1,1,7,,,850,1,1,,21,2,80,3,2,95500,2,,,1,1,95500,0,2,2,2,1,3,1,3,0,0,1,30,0,0,1,0,0,1,2367,4,0,1,33,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,77,113,68,174,27,21,72,83,70,119,68,18,85,24,25,144,68,146,80,95,89,126,78,139,22,22,68,68,80,118,77,24,90,26,20,126,72,128,81,79,85,107,69,139,27,23,85,93,78,165,67,22,85,23,27,111,80,121,81,74,71,121,76,131,25,22,90,73,72,119,64,19,80,24,25,109,82,145,82 H,150973,8,800,4,16,1015675,68,2,1,1,,3,2,2,,100,0,2,3,3,200,1,,1,100,1,1,1,5,,,,1,1,,11,2,460,3,4,28800,4,,,1,1,28800,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,2,2,2,238,3,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,109,74,70,62,27,25,61,16,91,17,113,63,150,128,66,79,76,84,59,98,54,24,148,99,61,90,26,72,52,52,60,19,58,55,137,129,27,31,79,21,66,105,19,21,79,41,74,109,94,67,78,114,73,66,22,19,110,118,175,49,21,83,63,72,115,103,66,131,23,93,26,60,22,32,58,74,68,52,24 H,151452,8,400,4,16,1015675,88,2,1,1,,3,2,2,,30,0,2,40,1,440,1,,,,,3,1,5,,,,1,2,,17,2,340,5,4,68300,4,,,1,1,68300,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,2,1,1,243,,0,1,25,1,8,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,94,154,80,120,65,71,154,123,29,133,164,25,81,83,29,82,30,110,181,75,103,32,91,23,69,73,26,93,108,25,33,158,95,77,132,93,146,76,25,81,78,136,85,126,80,81,150,111,24,153,164,23,60,88,32,93,31,74,162,63,109,26,76,30,73,91,37,112,145,22,33,124,76,105,165,89,154,76,22 H,151602,8,300,4,16,1015675,34,3,1,2,1,5,2,2,,170,0,2,3,3,410,1,,,,,3,1,9,,,,1,2,,12,5,2,4,2,64380,4,,,1,1,64380,0,4,4,4,1,6,0,3,0,0,0,5,0,0,0,1,0,1,258,,0,1,14,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,57,29,11,35,37,34,62,9,51,11,59,29,29,35,12,34,67,39,8,39,30,59,36,11,8,8,36,32,31,33,25,56,57,50,33,12,36,59,40,10,67,38,13,40,30,33,63,10,43,11,57,40,36,26,11,41,63,31,9,39,31,51,37,10,10,11,38,31,31,35,28,53,49,48,34,10,30,61,26 H,152325,8,100,4,16,1015675,55,1,1,1,,3,2,2,,30,0,2,170,1,360,1,,,,,3,1,5,,,,1,2,,19,2,280,2,,,,,,1,6,34100,0,4,4,4,1,2,0,,0,0,0,13,0,0,0,0,0,1,374,,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,19,58,50,79,16,54,50,18,64,53,12,53,56,54,15,99,92,82,48,19,89,56,50,17,93,58,68,107,57,52,90,54,77,51,83,16,17,16,55,86,17,51,55,88,17,56,52,20,56,46,14,63,55,50,20,100,94,90,62,14,84,49,59,15,86,57,57,105,59,54,96,64,54,48,103,17,15,14,47 H,152420,8,900,4,16,1015675,85,2,1,2,1,3,2,2,,60,0,2,180,1,130,1,,2,630,2,1,1,9,,,,1,1,,11,2,2,3,2,66500,4,,,1,1,66500,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,975,3,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,137,86,112,152,115,133,132,82,118,83,144,104,81,66,82,142,149,80,20,96,33,103,86,19,25,33,28,79,30,84,26,92,73,93,82,23,26,75,173,61,125,81,86,145,129,140,157,70,134,86,169,88,93,101,86,157,145,71,26,112,28,81,68,22,26,31,28,66,24,87,28,71,82,112,79,23,25,85,181 H,152896,8,800,4,16,1015675,19,8,1,2,1,4,2,2,,120,0,1200,3,6,500,1,,2,870,2,1,1,7,,,300,1,1,,17,3,2,9,2,30510,3,,,1,1,30510,0,3,3,3,1,4,6,8,0,0,6,59,0,0,1,0,0,1,1489,2,0,1,15,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,21,17,19,19,15,45,37,23,20,5,17,29,17,23,37,20,5,6,5,5,20,20,17,20,24,34,36,31,19,5,18,27,14,19,24,19,6,5,5,7,15,18,14,17,24,30,36,31,19,5,22,31,16,19,25,17,6,4,5,7,17,18,20,20,16,31,33,35,20,6,17,30,24,22,34,21,5 H,152950,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,152967,8,100,4,16,1015675,106,3,1,1,,4,2,2,,50,0,2,80,1,30,1,,1,1200,1,1,1,9,,,,1,1,,17,2,360,1,2,25000,2,,,2,1,25000,0,2,2,2,1,2,1,3,0,0,1,65,0,0,1,1,0,1,1360,3,0,1,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,117,57,132,144,31,41,135,98,108,145,91,152,100,105,97,37,144,45,151,135,110,36,145,118,49,36,127,98,147,173,103,173,89,101,154,44,122,42,38,91,111,183,83,49,145,131,52,87,94,37,125,41,147,114,84,153,82,137,35,154,106,137,92,57,185,167,47,106,114,44,151,34,114,150,96,153,78,145,138 H,153020,8,500,4,16,1015675,167,5,1,1,,3,2,2,,70,0,2,40,1,,1,,,,,,1,5,2,600,,1,3,,,1,840,1,2,7300,3,780,101,2,1,7300,0,3,3,3,2,1,2,5,0,0,2,,0,0,1,0,0,2,,,1,0,,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,338,46,174,198,273,64,165,324,167,57,61,172,144,60,305,137,279,325,189,159,60,228,159,187,154,250,123,60,153,249,287,173,149,235,62,116,49,67,158,174,56,225,143,158,181,185,179,45,128,258,238,137,186,195,54,171,63,66,220,236,313,68,147,220,157,46,180,216,142,57,58,162,192,43,294,176,299,374,265,135 H,153597,8,200,4,16,1015675,245,1,1,,,1,5,,,60,0,2,3,3,,1,,,,,,1,3,2,550,,1,3,,,1,1,6,,,,610,31,1,6,23500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,223,75,288,274,83,243,77,401,495,241,247,217,85,288,345,258,367,365,235,402,235,392,197,214,312,264,342,93,104,210,335,177,335,303,63,260,86,113,214,79,225,74,227,300,99,235,84,409,342,251,236,245,85,253,394,255,335,313,183,365,328,400,238,271,330,287,417,104,87,200,274,200,331,212,95,277,76,91,216 H,153608,8,700,4,16,1015675,122,4,1,1,,4,2,2,,100,700,2,110,1,,1,,,,,,1,8,2,850,,1,3,,,2,540,3,1,13800,2,1105,96,1,1,13800,0,2,2,2,1,4,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,115,34,192,36,119,133,124,117,117,137,192,39,118,117,38,36,118,216,117,125,207,128,109,115,192,37,37,34,36,193,107,120,37,232,128,119,224,124,33,35,110,214,36,234,115,121,137,110,135,116,35,212,111,118,195,205,114,38,138,121,36,130,129,128,37,207,197,205,207,39,107,111,198,33,114,127,38,130,194 H,153661,8,500,4,16,1015675,68,2,1,1,,3,2,2,,150,0,2,2,1,,1,,,,,,1,6,2,600,,1,3,,,2,500,7,,,,792,18,1,7,54000,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,16,20,68,20,64,20,74,57,71,54,18,18,63,77,23,88,62,18,67,77,63,69,120,67,128,77,113,120,112,114,66,74,135,110,72,120,122,74,22,21,22,24,65,15,78,22,70,66,68,70,19,18,68,62,21,73,67,23,61,63,62,64,111,73,119,71,106,125,111,118,77,71,102,115,72,120,120,69,23 H,153712,8,500,4,16,1015675,136,1,1,1,,2,2,2,,90,0,2,50,3,780,1,,,,,3,1,4,,,,1,2,,16,0,2,3,,,,,,1,6,164200,0,4,4,4,1,5,0,,0,0,0,3,0,0,0,1,1,1,343,,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,154,127,41,145,143,206,38,205,259,141,167,33,38,216,149,137,124,254,50,123,126,139,38,116,133,205,46,260,237,141,142,44,37,248,150,126,129,221,234,130,130,134,231,145,146,36,224,41,47,156,139,222,212,37,145,135,154,43,175,130,136,137,241,141,137,35,211,39,45,140,154,220,202,40,137,137,146,35,38 H,153863,8,100,4,16,1015675,34,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,60,54,52,68,12,35,36,62,8,35,35,10,33,34,10,39,34,39,38,12,65,56,62,56,10,38,33,56,9,33,33,10,38,39,10,33,35,36,33,62,10,9,11,11,65,38,34,13,56,42,32,58,37,37,74,32,38,35,38,53,10,10,10,11,65,37,37,8,56,30,29,55,35,33,57,32,36,43,38 H,153908,8,600,4,16,1015675,100,1,1,1,,4,2,2,,70,0,2,10,1,410,1,,,,,3,1,8,,,,1,2,,15,1,330,5,,,,,,1,6,12000,0,4,4,4,1,6,0,,0,0,0,34,0,0,0,1,1,1,338,,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,27,91,29,173,155,111,105,102,27,109,163,107,160,154,28,104,28,101,100,99,30,110,28,182,184,118,104,107,32,88,162,98,154,170,30,122,31,91,100,92,171,100,189,28,30,108,116,104,189,96,28,101,30,28,184,97,175,96,98,95,161,102,157,28,28,95,101,106,168,104,31,102,32,31,155,100,175,105,105 H,153966,8,700,4,16,1015675,72,1,1,,,2,7,,,20,0,2,20,1,,1,,,,,,1,4,2,730,,1,3,,,1,1,3,,,,770,26,1,4,35000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,119,21,20,118,74,22,119,117,71,72,24,77,73,61,70,23,70,78,76,112,120,21,20,112,75,21,126,119,70,73,21,73,72,73,79,20,74,71,71,22,22,126,126,21,73,129,20,22,82,65,134,71,63,66,70,117,66,74,72,21,22,115,117,22,66,120,24,21,71,74,125,76,73,68,66,124,82,62,67 H,154176,8,300,4,16,1015675,44,2,1,2,1,5,2,2,,60,0,2,150,1,490,1,,1,1200,1,1,1,9,,,,1,1,,21,2,730,2,1,124100,4,,,1,1,124100,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,0,0,1,1471,3,0,1,49,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,74,38,45,44,39,40,13,13,13,53,78,40,10,37,42,13,43,82,13,10,14,44,46,44,41,42,72,76,64,41,11,44,85,41,43,78,49,15,74,81,66,40,40,41,46,53,15,11,15,48,69,43,13,48,42,9,40,72,15,13,11,36,43,52,43,44,81,81,73,49,13,45,71,47,37,76,40,11,69 H,154497,8,500,4,16,1015675,120,2,1,1,,3,2,2,,180,0,2,40,1,600,1,,2,670,1,1,1,7,,,130,1,1,,15,2,350,5,4,67000,4,,,1,1,67000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,2,1,1,1099,2,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,187,216,119,29,36,115,171,35,211,122,139,146,145,113,122,33,200,131,129,41,136,139,38,102,129,42,125,119,113,32,191,224,204,187,35,112,108,188,207,129,37,36,149,203,223,114,30,178,33,114,111,118,115,118,142,204,37,121,114,206,154,144,203,114,114,207,120,128,113,182,37,37,37,35,217,117,113,31,34 H,155042,8,200,4,16,1015675,123,3,1,2,1,4,2,2,,410,0,2,3,3,2200,1,,2,3000,2,1,1,9,,,1000,1,1,,22,4,100,4,1,197000,4,,,1,1,197000,0,4,4,4,1,6,0,3,0,0,0,30,0,0,0,0,0,1,4893,1,0,1,47,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,204,34,136,37,148,168,32,111,39,234,188,132,118,113,30,151,176,102,94,254,208,40,146,34,129,114,50,127,28,244,189,125,124,91,42,91,192,125,158,43,37,168,120,194,135,151,189,110,199,34,38,111,115,122,164,163,30,110,98,54,43,196,142,241,140,129,216,105,181,42,32,144,138,97,208,101,36,128,151 H,155181,8,600,4,16,1015675,161,1,1,,,1,5,,,30,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,1,3,,,,530,27,1,6,23300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,259,164,48,49,48,149,156,148,174,153,244,277,264,160,45,157,265,148,172,45,314,165,51,48,50,176,142,166,164,164,280,262,261,169,53,167,269,144,148,267,44,149,291,289,272,165,184,151,188,148,45,50,49,172,299,170,55,165,161,312,50,172,267,301,254,145,145,141,152,134,47,44,44,160,240,151,56,164,138,49 H,155341,8,700,4,16,1015675,69,1,1,1,,3,2,2,,40,0,2,20,1,350,1,,1,1400,1,1,1,7,,,,1,1,,18,1,160,2,,,,,,1,4,92000,0,4,4,4,1,3,0,,0,0,0,19,0,0,0,0,0,1,1473,3,0,1,50,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,116,71,74,69,70,73,21,22,22,66,131,70,21,74,67,19,65,118,122,116,117,68,74,65,70,70,20,20,22,70,120,74,22,64,67,22,76,117,20,21,24,68,68,71,70,68,110,118,129,65,20,73,117,66,71,126,67,22,20,21,20,70,68,66,65,77,122,113,112,67,22,76,116,72,65,117,81,19,114 H,155936,8,500,4,16,1015675,80,2,1,2,1,3,2,1,,90,0,2,3,3,1600,1,,1,600,2,1,1,6,,,360,1,1,,20,2,2,4,1,117900,4,,,1,1,117900,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,0,0,1,1212,2,0,0,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,93,130,26,91,83,19,80,78,25,86,82,70,26,110,129,113,126,26,89,73,90,25,123,72,82,133,83,80,165,87,83,88,135,24,25,24,24,118,78,81,74,141,23,88,80,25,70,83,25,85,82,78,21,166,142,130,153,25,79,69,82,25,130,78,73,135,74,69,139,93,83,74,119,21,22,24,30,126,69 H,156085,8,100,4,16,1015675,116,1,1,,,2,7,,,40,0,2,3,3,,1,,,,,,1,3,2,390,,1,3,,,1,2,2,,,,430,31,1,4,16500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,40,111,132,121,34,189,47,115,225,232,201,96,37,179,123,119,121,129,94,199,180,109,103,111,205,36,199,116,35,37,36,102,203,36,109,131,114,102,109,33,38,110,139,137,27,184,35,114,206,196,212,109,33,178,114,146,99,110,118,196,173,129,119,132,207,30,172,99,38,33,35,133,205,43,118,126,120,119,104 H,156477,8,900,4,16,1015675,36,2,1,2,1,3,2,2,,50,0,2,90,2,1200,1,,2,80,2,1,1,4,,,,1,1,,16,3,240,5,4,26520,4,,,1,1,26520,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,2,0,2,419,3,0,1,21,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,10,10,41,68,32,8,40,37,10,36,69,55,58,28,28,33,41,47,11,53,10,14,44,76,39,9,50,49,10,31,52,61,53,40,43,30,43,56,13,55,12,12,37,76,43,8,33,45,10,37,61,59,45,34,41,51,40,35,12,50,10,10,39,85,41,11,35,34,13,33,50,67,57,37,42,33,34,49,12,55 H,156674,8,100,4,16,1015675,41,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,13,42,67,12,10,38,40,72,37,44,40,46,78,38,39,12,13,67,43,67,13,41,73,12,12,38,36,67,39,44,38,39,71,42,42,12,12,64,38,72,13,44,66,12,12,42,45,72,38,44,37,34,63,39,43,12,11,69,34,70,12,41,65,11,10,46,47,65,42,40,44,40,61,41,33,12,12,66,37 H,157068,8,600,4,16,1015675,103,1,1,,,1,6,,,30,0,2,3,3,,1,,,,,,1,3,2,450,,1,3,,,1,1,4,,,,480,20,1,4,28460,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,103,32,185,91,186,176,98,182,32,94,102,107,27,109,181,96,30,29,95,98,101,31,169,108,175,174,110,177,31,94,106,112,30,105,189,95,31,33,96,100,106,34,178,106,176,174,106,182,30,99,111,102,29,96,179,102,32,34,105,102,94,29,170,98,182,181,98,192,31,101,108,110,30,110,162,100,32,29,102 H,157073,8,300,4,16,1015675,86,2,1,1,,4,2,2,,200,0,2,3,3,680,1,,,,,3,1,8,,,,1,2,,20,4,780,5,2,10800,4,,,1,1,10800,0,4,4,4,1,6,0,2,0,0,0,60,0,0,0,0,0,2,539,,0,1,38,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,22,81,175,98,31,106,103,31,67,139,130,106,65,92,93,79,104,35,25,208,164,75,23,84,145,92,99,111,74,23,18,32,84,64,70,111,95,125,23,141,136,91,31,62,130,87,76,137,76,45,32,25,84,67,118,108,99,135,143,26,24,101,178,82,21,72,85,25,82,153,120,118,91,89,95,81,71,25,148 H,157317,8,800,4,16,1015675,41,5,1,1,,5,2,2,,100,0,2,50,1,430,1,,1,1000,1,1,1,9,,,,1,1,,16,6,600,5,1,143000,4,,,1,1,143000,0,4,4,4,1,5,0,5,0,0,0,10,0,0,0,0,0,1,1200,3,0,1,20,3,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,10,12,12,69,35,47,14,65,46,43,66,51,40,74,34,35,44,70,15,67,47,47,37,35,72,14,41,49,14,14,36,75,67,48,15,58,12,36,50,50,77,67,78,12,40,33,60,12,40,47,10,46,42,10,48,46,40,10,76,12,33,42,45,46,10,63,41,37,67,66,45,14,14,45,69,15,68,43,53,38 H,157784,8,200,4,16,1015675,50,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,2,600,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,80,71,85,56,64,56,50,49,14,17,14,54,70,45,16,50,61,16,13,59,12,14,15,57,45,46,47,49,86,84,79,43,16,65,105,50,43,96,16,62,16,17,19,48,42,56,42,61,81,93,75,54,15,49,76,47,57,80,82,58,76,61,80,61,53,46,47,47,14,16,13,46,100,55,18,54,45,15,97 H,157930,8,200,4,16,1015675,51,2,1,1,,2,2,2,,300,0,2,2,1,980,1,,,,,3,1,6,,,,1,2,,18,1,440,7,4,27100,4,,,1,1,27100,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,2,2,1,596,,0,1,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,49,12,50,74,16,65,83,15,13,113,46,58,97,45,95,39,58,61,11,84,66,22,58,44,13,43,70,16,19,86,53,57,80,39,107,70,54,57,17,15,41,71,47,48,80,59,17,129,79,17,47,48,19,59,18,52,55,47,58,13,57,87,72,43,79,51,14,94,102,14,48,54,15,61,12,53,60,56,128,97 H,158047,8,100,4,16,1015675,155,3,1,2,1,3,2,2,,70,0,2,3,6,,1,,,,,,1,5,2,4,,1,3,,,2,1,9,5,177000,2,74,1,1,2,197400,0,2,2,2,1,2,1,2,0,1,1,,2,0,1,0,0,2,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,293,253,131,135,220,188,145,52,38,56,170,335,168,63,186,108,43,148,230,316,200,321,149,164,200,123,121,37,48,66,130,176,180,48,186,176,91,193,219,320,223,362,135,234,144,118,217,52,62,75,139,222,147,47,124,140,45,135,201,233,298,218,160,141,151,173,156,81,44,51,192,312,150,44,174,161,55,130,188,229 H,158070,8,700,4,16,1015675,75,3,1,1,,4,2,2,30,60,0,2,40,1,300,1,,1,2500,1,1,1,5,,,,1,1,,20,2,30,1,1,60000,2,,,3,1,60000,0,2,2,2,1,1,1,3,0,0,1,53,0,0,1,0,0,1,2633,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,21,121,70,26,128,115,77,80,22,79,68,77,70,22,72,73,141,128,76,116,127,25,70,127,22,26,78,80,129,73,69,81,77,119,77,80,23,23,72,22,22,126,84,25,120,144,80,71,26,76,70,74,73,23,78,72,126,121,74,124,121,23,77,130,22,21,76,72,128,83,71,69,72,126,70,77,24,23,76 H,158157,8,300,4,16,1015675,11,6,1,2,1,4,2,1,,60,3500,2500,300,2,600,1,,2,400,2,1,1,6,,,,1,1,,17,3,960,3,2,6101,3,,,1,1,6101,0,3,3,3,1,4,4,6,0,0,4,101,0,0,1,0,0,1,1206,3,0,0,25,2,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,3,12,12,21,20,3,3,19,13,4,18,20,10,13,3,12,10,13,13,9,5,10,10,20,15,3,3,23,11,3,23,16,13,14,3,11,13,11,10,11,19,14,10,3,5,18,23,1,10,21,3,3,11,10,23,13,11,13,13,9,21,14,13,1,3,21,18,3,11,21,3,4,10,11,16,12,13 H,158427,8,700,4,16,1015675,87,3,1,2,1,5,2,2,,100,0,2,200,1,1200,1,,1,1500,1,1,1,9,,,300,1,1,,18,5,2,4,1,108000,4,,,1,1,108000,0,4,4,4,1,4,0,3,0,0,0,23,0,0,0,0,0,1,2100,2,0,1,40,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,26,145,92,82,25,91,24,26,141,146,81,89,89,89,27,155,93,86,27,95,151,25,92,90,152,90,139,151,24,29,88,81,86,82,136,27,90,85,25,89,139,23,90,96,146,77,162,146,26,25,90,88,96,85,138,29,89,92,135,95,23,166,82,98,28,78,25,26,156,137,89,90,89,91,25,154,78,98,133 H,158458,8,700,4,16,1015675,72,4,1,1,,3,2,2,,90,0,2,200,1,70,1,,1,1300,1,1,1,6,,,,1,1,,18,3,150,1,2,54000,1,,,1,1,54000,0,1,1,1,1,1,2,4,0,0,2,36,0,0,1,0,0,1,1603,3,0,1,13,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,67,106,63,74,117,76,22,21,22,74,78,67,70,76,114,135,120,78,22,25,69,120,73,72,132,79,23,21,22,75,66,66,75,73,106,118,121,76,20,20,74,116,70,77,117,71,17,20,23,75,77,80,78,72,145,127,122,82,20,23,73,129,79,68,110,69,21,18,21,76,72,66,65,72,124,126,123,66,20 H,158527,8,400,4,16,1015675,47,4,1,1,,3,2,2,,150,0,2,150,2,1200,1,,1,780,1,1,1,5,,,,1,1,,13,4,400,6,1,58000,3,,,2,1,58000,0,3,3,3,1,4,2,4,0,0,2,23,0,0,1,0,0,1,1113,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,66,71,73,75,13,12,55,81,28,42,93,20,19,52,46,82,72,52,36,52,62,14,28,34,49,93,17,8,70,78,11,57,91,72,52,16,42,39,60,64,37,81,69,37,15,15,68,86,13,37,61,13,10,31,40,72,52,74,65,44,39,15,53,62,94,89,19,12,65,64,17,75,107,38,41,13,46,59,41 H,158610,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,158732,8,100,4,16,1015675,51,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,54,47,89,44,49,71,53,102,40,50,19,15,99,103,15,56,95,16,57,12,47,60,93,46,46,54,48,76,45,47,14,15,72,77,12,48,84,12,43,16,63,58,99,53,46,51,52,94,44,62,14,15,87,86,18,45,103,16,54,15,47,51,89,50,52,48,51,75,47,43,12,15,81,86,14,43,84,14,48 H,158883,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,159384,8,700,4,16,1015675,90,1,1,1,,2,1,2,,60,0,2,40,1,,1,,,,,,1,3,2,400,,1,3,,,3,1,5,,,,500,46,1,4,13000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,86,27,90,86,91,25,88,29,148,94,152,94,100,100,155,156,24,78,92,87,27,86,27,27,151,84,140,89,92,152,84,152,26,26,102,93,81,150,25,143,91,27,91,86,86,29,91,27,146,84,161,87,88,98,157,150,25,90,96,88,28,86,27,27,155,93,147,82,93,157,83,141,26,25,86,95,88,152,26 H,159439,8,400,4,16,1015675,13,2,1,1,,3,1,2,,110,0,2,3,3,360,1,2900,,,,3,1,6,,,,1,2,,4,3,240,2,4,15000,4,,,1,1,15000,0,4,4,4,1,4,0,2,0,0,0,34,0,0,0,2,2,1,419,,0,0,6,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,5,28,15,3,15,17,14,25,6,21,5,31,15,15,15,4,11,24,13,28,15,13,5,18,25,25,22,15,12,12,14,17,3,3,3,14,26,15,3,3,15,13,20,14,5,3,3,20,15,14,17,17,25,26,31,19,5,13,19,13,25,3,13,20,12,14,13,3,28,4,24,5,10,15,12,20,18,5,13,11 H,159560,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,159760,8,300,4,16,1015675,91,2,1,1,,4,2,2,,30,0,2,20,1,230,1,,2,370,2,1,1,9,,,,1,1,,15,2,360,6,1,308670,4,,,1,1,308670,0,4,4,4,1,6,0,2,0,0,0,2,0,0,0,0,0,1,594,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,27,121,70,145,30,88,102,26,105,105,28,83,112,118,26,143,153,130,124,158,27,70,92,142,26,96,81,35,96,89,23,77,92,66,36,192,125,127,79,157,30,85,108,154,33,96,111,21,83,88,36,89,123,99,25,151,153,133,80,155,29,88,91,132,24,79,97,30,95,94,24,95,89,84,27,159,134,148,82 H,159792,8,400,4,16,1015675,70,5,1,2,1,3,2,2,,90,1900,2,200,2,450,1,,,,,3,1,6,,,,1,2,,18,5,2,2,4,25400,2,,,1,1,25400,1,2,4,2,1,3,0,5,0,0,1,24,0,1,1,0,0,1,503,,0,1,33,2,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,52,83,25,71,62,109,124,28,24,142,76,24,115,127,109,91,18,59,61,65,70,73,129,77,62,22,22,128,103,21,70,104,23,18,70,76,104,74,88,64,67,79,116,84,90,23,20,128,97,20,66,120,23,21,72,74,124,71,60,66,62,62,22,69,64,97,116,21,22,152,77,20,100,110,93,85,20,73,83 H,160269,8,300,4,16,1015675,58,2,1,1,,3,2,2,,410,0,2,3,3,600,1,,2,1200,1,1,1,7,,,,1,1,,19,3,500,9,,,,,,1,5,126000,0,4,4,4,1,6,0,,0,1,0,16,2,0,0,0,0,2,1702,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,123,66,62,55,97,17,105,53,16,14,20,60,98,18,73,59,50,50,92,52,55,101,104,16,71,69,59,17,55,58,76,90,62,65,20,92,16,16,62,89,107,61,67,56,95,19,98,62,18,16,18,55,97,18,61,55,57,72,105,53,65,96,106,16,49,53,46,13,63,69,53,86,57,57,18,120,19,18,57 H,160515,8,900,4,16,1015675,194,3,1,,,3,5,,,1,500,2,3,3,,1,,,,,,1,5,2,420,,1,3,,,2,1,3,2,19000,1,420,27,1,1,19000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,214,404,65,202,167,181,238,56,242,240,391,205,254,266,57,49,209,297,165,311,176,53,331,204,205,236,70,304,250,190,55,213,66,73,363,282,165,141,164,63,158,350,54,194,296,246,365,58,209,200,312,251,300,318,76,58,165,146,176,288,233,58,260,246,164,182,63,319,178,193,72,239,66,49,263,346,197,225,182,58 H,160868,8,800,4,16,1015675,41,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,37,48,51,15,36,39,11,40,56,61,66,43,39,48,38,38,20,14,12,70,38,89,38,13,42,38,12,56,85,65,82,34,39,42,32,38,9,14,12,13,37,10,49,76,40,44,65,46,12,11,12,46,39,47,34,36,88,61,69,10,42,14,39,77,45,41,78,55,13,11,14,36,47,40,40,48,53,59,55,80 H,161507,8,900,4,16,1015675,100,1,1,1,,2,1,2,,30,0,2,100,1,,1,,,,,,1,4,2,350,,1,3,,,1,1,4,,,,480,6,1,6,102000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,154,25,29,116,130,125,89,100,72,87,135,96,120,32,31,149,180,42,105,103,201,23,24,119,117,136,117,151,79,89,151,100,117,32,30,157,150,28,109,84,165,36,38,67,75,200,92,75,96,112,166,105,81,27,32,148,169,23,95,118,177,33,43,93,98,204,103,95,136,134,161,103,88,35,30,149,153,22,121,93 H,161591,8,300,4,16,1015675,65,8,1,1,,3,2,2,,90,0,1000,3,4,750,1,,2,440,2,1,1,9,,,300,1,1,,22,2,600,3,2,52000,3,,,2,1,52000,0,3,3,3,1,4,6,8,0,0,6,26,0,0,1,0,0,2,1143,2,0,1,26,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,22,88,70,20,90,104,68,49,20,67,73,71,69,21,81,74,79,84,84,22,22,118,95,16,82,119,66,58,20,87,64,54,66,19,76,64,115,139,56,92,102,21,70,157,26,15,57,90,97,49,63,72,60,110,56,54,20,18,61,90,95,22,78,133,20,19,73,72,154,59,70,73,59,120,70,74,19,16,49 H,161596,8,900,4,16,1015675,113,3,1,2,1,4,2,2,,50,0,2,60,1,380,1,,2,590,2,1,1,7,,,,1,1,,12,4,540,7,2,82500,4,,,1,1,82500,0,4,4,4,1,5,0,3,0,0,0,13,0,0,0,0,0,1,881,3,0,1,24,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,113,164,103,162,31,35,138,85,133,195,108,32,104,35,32,170,140,215,137,127,105,173,112,172,38,35,129,109,96,179,102,27,101,37,36,214,105,146,103,106,106,182,104,192,50,43,151,97,90,178,109,42,147,31,35,175,79,148,101,92,120,225,93,160,35,44,103,99,114,163,90,42,155,28,41,202,119,185,117 H,162038,8,600,4,16,1015675,100,1,1,1,,3,2,2,,40,0,2,180,2,340,1,,,,,3,1,5,,,,1,2,,17,0,300,2,,,,,,1,6,23600,0,4,4,4,1,2,0,,0,0,0,20,0,0,0,1,1,1,391,,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,100,30,168,32,27,108,106,181,164,30,111,105,105,28,93,88,103,186,95,164,28,112,93,99,87,170,176,98,103,93,150,28,176,116,27,28,31,105,30,101,101,164,31,167,176,101,90,29,29,155,95,100,99,158,87,105,94,29,108,29,186,94,102,101,104,30,28,104,97,97,27,161,34,100,171,155,176,106,157 H,162151,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,162167,8,800,4,16,1015675,190,0,1,1,,2,2,1,,,,,,,,2,,,,,,1,5,,,,,,6,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,207,206,301,277,276,187,56,137,286,214,142,216,249,72,64,60,182,213,192,70,177,176,376,335,308,187,61,187,331,195,193,256,179,72,60,45,200,233,209,324,194,171,49,61,56,207,350,191,55,187,151,50,211,303,332,339,167,200,189,247,197,214,59,49,69,210,317,235,64,203,216,66,172,314,339,283,175,185,189,69 H,162233,8,900,4,16,1015675,232,2,1,1,,2,2,2,,40,0,2,40,1,,1,,,,,,1,4,2,400,,1,3,,,2,2,5,7,14400,2,480,40,1,3,14400,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,216,84,276,223,340,372,87,89,362,212,67,341,362,215,213,78,216,257,254,255,243,91,250,187,313,419,98,96,375,265,71,275,345,248,215,63,229,205,195,238,206,385,238,217,73,64,373,382,75,294,335,79,77,170,239,331,212,302,234,287,261,413,214,169,66,93,420,379,95,265,294,68,93,197,200,329,246,247,207,238 H,162501,8,100,4,16,1015675,88,2,1,,,2,4,,,130,0,2,3,3,,1,,,,,,1,3,2,480,,1,3,,,1,1,4,,,,610,42,1,7,17400,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,89,97,95,158,108,84,27,23,146,138,25,99,164,30,22,73,95,132,85,111,88,92,76,139,101,90,27,28,146,143,24,95,196,24,22,93,99,159,86,91,92,81,72,25,91,91,143,182,24,24,130,95,28,137,162,109,93,28,101,85,86,87,91,25,91,84,192,148,26,32,161,85,27,178,164,71,89,25,84 H,162534,8,200,4,16,1015675,39,1,1,,,2,6,,,80,1000,2,3,3,,1,,,,,,1,4,2,250,,1,3,,,0,2,5,,,,330,32,1,6,12500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,14,13,11,38,56,42,12,42,43,12,40,75,74,69,39,38,38,40,66,38,10,14,12,35,56,37,12,40,34,11,46,60,83,79,33,32,36,39,9,38,76,67,67,47,13,32,56,45,35,70,47,12,11,12,31,38,43,39,10,40,67,78,65,39,10,45,66,32,42,66,40,12,14,11,34,34,37,46,62 H,162553,8,100,4,16,1015675,50,1,1,1,,2,2,2,,30,0,80,60,1,,1,,,,,,1,4,2,550,,1,3,,,1,1,9,,,,647,44,1,6,17700,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,58,53,55,50,15,54,46,81,84,13,14,95,53,15,88,94,58,48,54,80,56,58,52,45,95,54,44,15,16,88,102,17,46,88,13,17,61,57,54,121,53,47,47,50,88,45,51,14,17,105,80,14,55,104,13,14,52,55,46,16,55,55,44,55,19,51,55,95,100,19,17,84,42,15,84,75,47,48,51 H,162703,8,700,4,16,1015675,66,6,1,1,,5,2,2,,100,0,2,80,1,600,1,,1,1500,1,1,1,9,,,450,1,1,,21,2,600,1,2,89000,3,,,1,1,89000,0,3,3,3,1,1,4,6,0,0,4,29,0,0,1,0,0,1,2180,1,0,1,37,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,64,97,107,23,19,117,74,16,104,117,68,67,20,67,62,70,67,21,73,69,71,20,18,115,125,20,72,121,19,20,61,61,110,65,62,78,68,109,65,63,67,112,128,22,19,122,65,20,126,114,67,68,20,67,72,65,65,20,64,70,61,20,21,101,110,18,69,113,18,22,66,65,118,70,63,67,67,103,70 H,163236,8,700,4,16,1015675,75,1,1,1,,3,2,2,,40,0,2,60,1,300,1,,2,690,2,1,1,6,,,,1,1,,20,3,270,1,,,,,,1,6,33000,0,4,4,4,1,2,0,,0,0,0,36,0,0,0,0,0,2,988,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,74,133,142,75,65,137,79,71,133,116,130,134,74,110,70,137,70,76,75,20,74,23,22,78,76,23,78,72,23,24,22,21,76,23,76,23,78,74,73,135,76,130,125,81,71,126,75,71,122,132,123,129,71,126,75,131,71,71,78,20,70,21,23,75,80,25,75,80,23,23,22,24,73,20,76,21,83,74,70,120 H,163530,8,200,4,16,1015675,119,3,1,1,,3,2,2,,160,0,2,3,6,720,1,,2,740,2,1,1,5,,,,1,1,,13,4,2,9,1,65900,2,,,1,1,65900,0,2,2,2,1,5,1,3,0,0,1,18,0,0,1,0,0,2,1010,3,0,1,14,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,34,119,193,38,35,142,99,191,132,135,96,124,186,104,121,33,37,250,124,217,33,110,213,40,35,104,118,203,105,129,98,104,296,154,119,33,28,234,133,46,178,120,45,171,177,120,96,38,105,146,98,130,26,91,112,213,199,36,98,44,171,86,33,257,220,115,150,37,122,162,117,123,39,122,158,233,168,37,138 H,163755,8,800,4,16,1015675,91,2,1,3,5,2,2,2,,70,0,2,100,2,500,1,,2,1000,2,1,1,8,,,,1,1,,22,3,2,8,1,53050,4,,,1,1,53050,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,0,0,1,1337,3,0,0,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,85,35,108,87,83,94,22,99,82,197,123,25,38,160,81,28,142,176,80,86,91,175,107,94,114,101,137,90,100,24,27,139,107,29,114,159,22,26,114,84,111,34,96,105,79,99,34,71,101,131,171,26,36,148,73,31,155,163,88,79,88,139,77,80,75,104,142,102,106,28,37,171,134,22,83,176,31,28,85 H,163879,8,500,4,16,1015675,102,7,1,1,,3,2,2,,120,2700,190,250,4,,1,,,,,,1,5,2,700,,1,3,,,2,840,8,2,30000,3,1156,46,1,1,30000,0,3,3,3,1,1,5,7,0,0,5,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,108,153,108,101,169,109,31,181,155,28,104,100,26,106,36,96,108,106,177,28,96,26,100,106,29,100,163,27,32,166,99,96,162,94,169,99,100,107,154,32,111,26,94,113,27,102,174,32,31,171,102,99,161,94,163,101,103,113,32,179,103,196,112,92,150,110,31,155,170,31,99,98,27,108,28,95,99,88,31 H,163937,8,800,4,16,1015675,117,3,1,,,2,4,,,130,0,2,90,1,,1,,,,,,1,3,2,480,,1,3,,,2,2,3,1,52000,2,700,16,1,1,52000,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,101,31,184,139,207,203,122,162,31,108,94,130,28,117,198,117,39,33,102,128,134,234,32,98,44,30,124,38,224,143,111,151,184,110,45,118,198,205,98,109,123,199,34,141,40,35,112,31,169,95,99,123,179,121,31,107,217,188,113,103,120,40,228,113,214,203,127,230,32,114,131,131,32,120,206,127,45,36,99 H,163955,8,100,4,16,1015675,80,2,1,3,1,3,1,2,,90,0,700,3,6,1300,1,0,,,,3,1,6,,,,1,2,,16,2,2,5,4,24904,4,,,1,1,24904,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,2,2,1,356,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,91,81,20,20,154,189,20,73,121,27,22,73,77,130,62,81,85,86,90,111,92,92,28,20,122,116,22,114,113,20,22,76,81,130,96,97,88,75,93,25,74,98,115,134,29,25,118,73,25,109,154,62,51,28,80,124,86,91,73,26,52,69,123,133,27,23,151,81,24,130,114,88,93,24,76,82,81,88,69 H,164367,8,900,4,16,1015675,131,2,1,1,,3,2,2,,100,0,2,100,1,800,1,,1,1200,1,1,1,8,,,280,1,1,,17,2,50,3,1,60500,4,,,1,1,60500,0,4,4,4,1,1,0,2,0,0,0,33,0,0,0,0,0,1,1684,2,0,1,22,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,49,147,33,187,229,117,125,170,51,140,273,126,249,162,27,115,44,148,119,188,33,102,60,295,178,138,143,156,47,90,167,150,218,226,38,112,40,146,109,130,54,158,34,181,192,165,192,161,36,157,205,97,196,224,38,128,37,113,156,184,35,129,57,235,186,126,110,116,52,109,202,151,257,266,43,136,38,141,244 H,164759,8,900,4,16,1015675,70,4,1,2,1,5,2,2,,70,0,2,200,2,600,1,,,,,3,1,9,,,,1,2,,19,2,2,3,1,73300,2,,,1,1,73300,0,2,2,2,1,2,2,4,0,0,2,8,0,0,1,0,0,1,487,,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,117,72,79,81,16,20,79,21,110,20,119,73,110,113,58,72,81,74,65,126,60,19,127,108,63,84,24,66,73,59,77,18,82,72,98,120,18,22,60,122,57,23,113,114,74,61,22,73,79,72,73,20,83,66,99,106,19,21,21,69,112,89,70,70,20,18,83,23,150,21,126,68,136,111,65,65,63,63,22 H,164767,8,700,4,16,1015675,74,9,1,1,,5,2,2,,50,0,2,50,1,350,1,,2,1100,2,1,1,7,,,,1,1,,20,2,720,1,2,28900,3,,,3,1,28900,1,3,3,3,2,2,6,9,0,0,6,65,0,0,1,1,1,1,1556,3,0,1,44,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,79,117,86,24,68,21,26,140,74,122,76,70,138,77,128,20,20,73,80,69,67,129,78,20,76,21,20,124,82,134,82,67,120,78,113,19,20,73,74,81,71,137,72,20,73,21,18,110,78,120,68,80,121,80,119,24,20,66,71,82,88,116,77,23,70,24,20,118,70,110,68,78,121,76,141,22,26,76,72 H,164885,8,800,4,16,1015675,80,2,1,2,1,3,2,2,,120,0,2,3,3,300,1,,,,,3,1,8,,,,1,2,,20,2,2,3,2,100000,4,,,1,1,100000,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,0,0,1,395,,0,1,42,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,90,68,17,77,27,88,106,26,77,147,24,20,106,85,81,112,69,124,20,78,84,70,156,95,128,68,65,169,105,21,138,140,26,85,80,25,90,23,19,79,94,99,129,73,109,79,87,115,75,21,119,127,27,89,101,25,63,20,135,78,109,87,22,76,22,89,86,23,97,117,19,23,126,63,61,139,92,136,121 H,165243,8,300,4,16,1015675,50,4,1,2,1,5,2,2,,40,0,2,120,1,600,1,,1,930,1,1,1,7,,,320,1,1,,17,1,2,2,1,58000,2,,,1,1,58000,0,2,2,2,1,3,2,4,0,0,2,29,0,0,1,0,0,2,1410,1,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,49,51,18,17,13,47,70,49,13,43,73,18,38,94,65,79,50,50,101,52,46,49,18,13,15,52,87,45,15,56,45,13,65,124,98,88,41,49,79,44,64,50,11,18,12,44,95,49,19,39,36,16,51,77,115,95,39,59,74,52,69,35,18,21,14,45,83,58,20,67,58,15,40,84,71,87,69,44,61 H,165727,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,165991,8,600,4,16,1015675,110,2,1,1,,3,2,2,,20,0,2,20,1,300,1,,2,300,2,1,1,5,,,,1,1,,17,2,600,3,7,33000,4,,,1,3,33000,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,1,427,3,0,1,4,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,111,120,115,154,121,34,100,181,171,108,110,177,28,102,34,32,112,32,105,32,104,111,114,32,122,189,107,33,35,108,111,32,187,122,195,195,99,191,121,30,109,111,121,32,115,177,107,31,31,101,116,27,186,115,199,179,107,198,108,177,110,118,109,193,119,30,111,192,198,105,106,190,32,115,35,33,104,32,106 H,166021,8,800,4,16,1015675,91,2,1,1,,2,2,2,,100,0,2,130,1,400,1,,,,,3,1,5,,,,1,2,,14,2,40,4,4,33000,4,,,1,1,33000,0,4,4,4,1,1,0,2,0,0,0,13,0,0,0,2,2,1,349,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,147,95,162,157,93,171,30,101,93,103,27,68,134,106,24,27,114,108,80,153,21,85,30,27,85,29,153,98,99,91,147,84,29,93,146,193,88,100,126,29,161,106,166,139,89,122,26,90,99,89,28,99,156,78,27,25,104,90,81,162,32,101,24,23,87,23,164,102,99,100,155,89,27,82,149,153,93,86,74 H,166262,8,900,4,16,1015675,65,2,1,1,,3,1,2,,50,120,2,3,3,0,1,0,,,,3,1,5,,,,1,2,,4,1,500,5,8,15640,4,,,1,3,15640,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,0,0,2,96,,0,0,2,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,76,56,16,64,59,103,113,16,22,113,51,27,97,79,82,63,23,72,66,54,75,96,147,89,73,18,15,109,89,20,66,108,23,19,66,56,90,73,48,95,62,48,16,84,73,117,131,17,22,234,71,20,123,99,44,54,19,65,82,52,86,65,116,67,47,23,20,80,91,17,70,151,14,20,72,64,141,53,80 H,166416,8,300,4,16,1015675,15,2,1,1,,2,2,1,,50,0,750,3,5,0,1,,,,,3,1,4,,,,1,2,,11,4,240,9,3,16100,4,,,1,1,16100,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,2,1,1,183,,0,0,14,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,3,12,15,25,20,5,3,18,12,5,22,29,15,18,7,17,14,17,8,22,30,16,14,5,7,27,24,5,17,26,7,5,13,15,17,13,11,13,10,14,25,14,19,5,3,25,25,4,15,25,5,4,14,12,24,18,18,15,16,16,3,11,11,24,22,4,5,29,19,5,27,31,14,15,3,13,12,13,16 H,166597,8,500,4,16,1015675,114,6,1,1,,5,2,2,,60,0,2,150,1,600,1,,1,1700,1,1,1,9,,,400,1,1,,20,2,360,3,2,80050,3,,,1,1,80050,0,3,3,3,1,1,4,6,0,0,4,35,0,0,1,0,0,1,2340,1,0,1,46,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,116,31,169,30,120,217,184,193,111,31,203,117,116,133,132,34,29,113,35,42,183,107,133,115,172,127,126,112,32,121,109,207,34,174,203,105,118,38,97,111,120,34,196,32,115,219,203,190,124,31,179,105,113,107,108,34,35,126,37,31,194,108,128,119,192,126,113,126,29,109,131,219,33,202,190,116,128,35,115 H,166700,8,200,4,16,1015675,56,3,1,,,2,6,,,40,0,2,2,3,,1,,,,,,1,4,2,510,,1,3,,,2,1,5,2,16600,1,550,40,1,1,16600,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,54,78,53,58,119,47,14,97,108,16,63,60,15,52,14,53,71,71,16,86,61,111,65,64,83,49,19,81,87,19,49,42,14,52,12,51,68,60,14,92,59,88,51,56,99,62,17,84,106,30,95,54,15,56,16,57,68,68,23,104,62,110,46,38,87,54,14,73,76,12,48,67,21,57,15,47,38,57,13 H,167190,8,100,4,16,1015675,100,1,1,1,,2,2,2,,20,0,2,140,1,340,1,,1,610,1,1,1,4,,,,1,1,,12,2,210,3,,,,,,1,4,45004,0,4,4,4,1,4,0,,0,0,0,21,0,0,0,0,0,1,788,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,106,101,100,129,33,29,159,32,101,93,164,146,188,111,100,30,164,112,32,105,176,160,28,35,100,100,101,93,158,32,106,90,110,183,28,109,84,162,93,30,115,101,100,105,33,28,197,28,108,106,160,149,191,101,92,25,197,102,26,98,168,180,30,27,110,99,124,108,158,34,96,78,100,161,27,97,106,164,97 H,167277,8,500,4,16,1015675,375,2,1,1,,3,2,2,,60,0,2,150,1,370,1,,1,690,1,1,1,5,,,,1,1,,14,1,200,3,7,25700,2,,,1,3,25700,0,2,2,2,1,3,1,2,0,0,1,43,0,0,1,0,0,2,917,3,0,1,24,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,379,353,620,136,338,375,112,337,337,138,377,398,384,132,567,620,545,698,146,347,356,346,680,117,371,357,114,356,386,121,338,432,362,127,687,627,624,558,117,385,400,385,107,674,411,398,633,411,391,584,376,369,353,581,128,135,113,120,568,389,417,393,112,594,350,345,745,345,408,574,346,343,406,609,130,109,91,100,590,343 H,167357,8,300,4,16,1015675,28,2,1,2,1,4,2,2,,90,0,2,20,2,800,1,,,,,3,1,9,,,,1,2,,17,2,2,8,4,31000,4,,,1,1,31000,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,227,,0,1,14,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,43,35,38,24,35,26,8,28,8,32,24,7,26,48,8,8,53,24,60,31,45,28,56,28,28,25,9,37,10,27,28,8,31,36,10,10,45,29,36,28,49,32,53,25,30,28,8,24,8,30,36,9,36,42,8,10,46,28,39,29,47,30,53,24,33,27,10,25,6,30,31,10,30,43,8,9,45,28,37 H,167615,8,200,4,16,1015675,36,2,1,2,1,3,2,2,,150,0,500,3,6,500,1,,,,,3,1,7,,,,1,2,,16,3,480,5,2,40000,4,,,1,1,40000,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,2,274,,0,1,1,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,36,33,61,38,39,41,36,58,36,43,11,12,63,54,10,29,60,13,33,62,39,40,12,36,38,32,36,10,47,54,68,74,12,13,67,29,9,59,31,11,37,32,64,44,45,34,31,68,41,44,10,14,84,53,10,31,65,12,37,57,33,36,13,38,36,40,39,10,42,35,68,67,12,12,63,33,9,61,33 H,167893,8,100,4,16,1015675,100,2,1,1,,3,2,2,,60,0,2,50,1,400,1,,2,600,2,1,1,6,,,,1,1,,16,3,960,3,3,19400,4,,,1,1,19400,0,4,4,4,1,5,0,2,0,0,0,59,0,0,0,0,0,1,948,3,0,1,27,1,6,7,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,177,28,103,98,91,176,31,85,106,173,103,159,178,32,30,95,99,109,33,93,179,34,112,102,91,159,28,91,113,156,101,165,186,31,25,102,98,118,33,82,179,32,108,102,105,182,27,94,97,151,104,180,161,30,30,111,99,86,31,114,156,28,111,110,96,157,30,89,105,189,100,161,152,28,31,105,105,103,29 H,167907,8,100,4,16,1015675,157,2,1,2,1,3,1,2,,30,0,2,10,1,0,1,500,,,,3,1,7,,,,1,2,,4,2,320,4,4,37200,4,,,1,1,37200,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,151,,0,0,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,277,52,47,152,182,181,275,161,53,202,44,42,270,129,253,143,136,270,145,168,229,49,45,172,150,167,286,153,56,134,52,48,227,162,245,164,144,262,158,142,248,46,55,159,167,130,261,161,45,138,46,56,265,153,288,162,159,271,190,132,312,50,47,142,124,162,277,161,56,156,53,46,295,155,296,163,133,264,143,187 H,167989,8,100,4,16,1015675,511,4,1,1,,3,2,2,,60,0,2,3,3,400,1,,1,980,1,1,1,5,,,,1,1,,17,3,600,3,1,19500,1,,,1,1,19500,0,1,1,1,1,1,2,4,0,0,2,67,0,0,1,0,0,2,1090,3,0,1,25,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,460,868,139,515,169,176,464,189,843,532,478,490,694,547,166,532,804,789,497,455,501,174,879,455,843,904,587,857,192,549,463,532,162,494,921,421,179,151,451,485,485,174,835,548,882,805,533,866,155,531,520,649,187,455,686,454,194,123,390,546,523,893,171,492,149,161,511,156,763,501,537,513,832,492,168,493,908,855,493,543 H,168144,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,168211,8,100,4,16,1015675,75,3,1,2,1,4,2,2,,90,0,2,60,1,600,1,,1,950,1,1,1,8,,,,1,1,,18,2,300,4,1,55800,1,,,1,1,55800,0,1,1,1,1,2,1,3,0,0,1,24,0,0,1,0,0,1,1125,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,69,160,66,111,179,75,30,21,20,68,70,60,98,93,73,97,110,68,119,135,99,24,82,76,24,77,96,113,117,80,72,47,83,76,18,21,27,101,19,27,97,115,43,99,158,78,32,20,20,71,66,63,85,81,76,103,154,88,77,173,86,28,55,68,32,69,126,126,117,69,66,65,89,94,20,16,23,80,17 H,168421,8,400,4,16,1015675,200,4,1,1,,3,2,2,,90,0,2,4,1,750,1,,1,750,1,1,1,7,,,,1,1,,15,2,340,4,2,54000,3,,,1,1,54000,1,3,4,3,1,5,0,4,1,0,2,19,0,0,1,0,0,2,872,3,0,1,28,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,189,212,188,208,87,191,276,227,259,292,90,197,75,260,257,45,183,112,225,64,76,191,197,129,260,207,65,220,52,61,232,270,454,213,226,336,210,280,240,74,86,216,183,207,299,200,107,186,83,89,234,218,233,173,189,227,183,222,214,251,328,165,193,188,68,245,337,231,231,314,66,224,62,150,198,79,285,82,214 H,168527,8,600,4,16,1015675,65,4,1,1,,3,2,2,,40,4800,2,20,1,,1,,,,,,1,5,2,850,,1,3,,,2,1,4,8,2400,3,910,101,1,3,2400,0,1,1,1,1,2,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,106,94,66,69,106,64,74,119,108,116,116,62,100,61,100,62,62,63,21,63,20,21,60,64,20,76,70,20,20,17,20,64,15,64,19,63,61,61,20,61,17,19,76,68,20,69,67,18,19,20,17,58,22,69,19,72,69,58,107,61,119,108,61,63,117,66,62,115,99,113,115,67,113,67,101,58,70,61,113 H,169153,8,900,4,16,1015675,25,5,1,2,1,3,2,1,,60,0,80,3,6,600,1,,2,1200,2,1,1,6,,,,1,1,,15,2,150,3,1,45300,2,,,1,1,45300,0,2,2,2,1,5,3,5,0,0,3,38,0,0,1,0,0,1,1430,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,46,40,7,28,42,7,7,25,37,43,26,25,23,24,43,21,17,7,27,7,35,39,7,19,40,10,7,26,28,38,23,28,27,23,42,25,20,9,20,5,40,43,7,28,45,6,6,23,30,52,24,27,17,22,48,19,24,8,26,8,45,34,7,24,39,8,6,24,27,42,28,25,18,27,44,25,24,6,22 H,169263,8,800,4,16,1015675,80,0,1,1,,4,3,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,24,79,73,23,85,132,26,26,155,77,62,126,79,128,79,78,76,25,137,75,24,107,99,24,85,157,20,23,132,69,97,135,76,142,80,80,94,25,128,83,23,82,81,30,77,124,29,24,132,79,75,136,69,141,85,72,72,21,160,86,26,83,94,22,83,154,24,23,142,85,84,151,74,136,80,73,82,22,126 H,169413,8,600,4,16,1015675,102,2,1,1,,3,2,2,,50,0,2,150,1,1500,1,,,,,3,1,4,,,,1,2,,14,1,2,5,4,130500,4,,,1,1,130500,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,567,,0,1,41,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,32,174,28,97,169,186,182,111,34,186,116,95,96,100,28,27,92,101,102,103,189,34,165,99,32,30,31,108,201,32,106,106,103,101,158,153,104,103,99,100,176,27,158,107,29,34,28,102,178,31,105,106,113,109,183,199,125,115,97,104,29,164,28,98,153,165,160,94,31,172,104,109,95,106,30,30,102,107,102 H,169773,8,300,4,16,1015675,132,1,1,1,,2,1,2,,40,0,2,90,1,260,1,2400,,,,3,1,5,,,,1,2,,1,1,290,6,,,,,,1,6,6200,0,4,4,4,1,5,0,,0,0,0,75,0,0,0,1,1,1,386,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,194,128,48,193,117,227,107,41,140,40,285,136,39,43,137,145,158,139,103,267,243,126,34,248,127,209,112,35,166,41,209,116,35,48,131,173,155,114,106,189,225,116,39,259,146,225,141,47,109,38,256,146,38,49,122,116,147,109,105,213,210,149,41,231,114,212,124,44,112,36,213,119,42,47,140,156,149,125,125,168 H,169806,8,800,4,16,1015675,62,1,1,3,6,4,2,2,,100,0,2,3,3,1500,1,,,,,3,1,8,,,,1,2,,24,2,2,6,,,,,,1,4,30700,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,1,725,,0,0,64,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,60,19,104,65,15,20,61,60,77,71,56,108,53,15,96,56,86,69,23,91,62,18,97,74,20,19,68,64,79,72,57,113,48,25,114,57,124,58,18,119,62,17,124,53,17,17,53,61,63,77,62,115,57,17,106,59,121,57,19,110,60,21,99,59,17,18,62,64,70,59,68,110,67,17,107,69,97,59,19,95 H,170055,8,900,4,16,1015675,67,4,1,,,1,6,,,50,3300,2,3,3,,1,,,,,,1,2,2,200,,1,3,,,3,1,8,2,13000,3,250,23,1,1,13000,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,106,104,126,76,57,61,76,57,16,19,18,79,114,64,27,65,57,13,134,60,79,88,85,81,90,55,66,71,17,23,26,86,133,61,16,64,74,27,106,71,90,91,131,62,59,52,45,85,16,17,24,80,118,66,19,62,68,20,106,67,98,91,106,100,64,47,69,49,18,27,25,67,153,82,24,79,60,20,144 H,170340,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,170829,8,600,4,16,1015675,95,2,1,1,,2,3,2,70,30,0,2,100,1,190,1,,1,590,1,1,1,4,,,,1,1,,15,2,580,5,5,71000,4,,,1,2,71000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,2,838,3,0,1,40,2,11,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,46,32,90,34,154,93,138,133,137,83,23,80,122,127,100,63,167,25,80,73,155,185,111,215,42,104,93,77,38,66,245,109,30,27,72,164,27,101,66,104,181,134,71,201,34,92,119,75,42,105,119,87,33,29,77,81,46,176,125,153,43,21,91,21,154,172,100,92,168,72,32,90,132,154,106,102,103,16,85,90 H,170831,8,200,4,16,1015675,14,2,1,1,,2,2,2,,40,0,1900,3,4,560,1,,,,,3,1,5,,,,1,2,,12,2,660,9,4,31800,4,,,1,1,31800,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,1,353,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,18,4,5,17,12,19,31,10,5,12,3,3,24,12,20,18,12,31,12,16,21,4,5,17,14,17,28,19,3,12,2,5,24,12,24,21,13,32,21,15,24,5,5,13,16,16,24,15,4,14,5,4,20,14,31,11,10,18,13,20,22,5,4,16,27,19,36,17,5,16,5,5,21,19,28,9,13,27,14,12 H,170927,8,300,4,16,1015675,153,1,1,2,1,3,2,2,,100,0,20,3,6,300,1,,1,30,1,1,1,6,,,,1,1,,14,2,2,4,,,,,,1,6,14700,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,0,0,2,132,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,196,139,36,64,53,104,244,146,47,211,228,47,135,215,235,184,105,167,62,140,125,135,239,249,250,146,43,190,237,125,162,295,233,53,38,70,180,135,51,165,174,164,248,328,281,158,45,145,235,126,151,270,165,58,46,45,160,166,200,185,187,186,43,40,41,177,241,132,46,150,122,50,144,208,254,220,130,171,222 H,171025,8,900,4,16,1015675,64,2,1,1,,4,2,2,,60,0,2,100,1,270,1,,2,900,2,1,1,7,,,,1,1,,14,3,600,5,2,52000,4,,,1,1,52000,0,4,4,4,1,6,0,2,0,0,0,29,0,0,0,0,0,1,1250,3,0,1,26,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,20,67,117,25,107,69,74,63,62,70,78,20,94,60,59,113,107,64,70,67,60,108,72,60,63,121,18,21,18,16,103,56,64,18,120,74,64,119,110,99,110,78,24,134,20,59,68,72,68,60,65,98,20,58,72,20,18,70,57,70,53,23,65,58,57,18,123,115,112,121,20,73,65,116,19,62,62,15,22 H,171340,8,100,4,16,1015675,95,1,1,1,,2,2,2,,20,0,2,150,1,370,1,,1,620,1,1,1,5,,,,1,1,,18,1,600,9,,,,,,1,6,69000,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,1,1,1,840,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,92,98,90,183,150,91,139,29,160,30,98,25,27,110,85,90,103,108,99,103,150,26,30,96,100,183,100,86,90,103,153,96,102,31,24,175,152,27,29,164,109,105,110,31,29,92,29,167,29,159,97,143,156,92,80,89,99,93,84,102,29,158,159,97,104,29,98,102,92,98,27,78,92,151,148,27,27,161,148 H,171379,8,700,4,16,1015675,120,4,1,1,,4,2,2,,100,0,2,80,1,500,1,,1,890,1,1,1,6,,,,1,1,,18,3,100,5,1,85250,2,,,1,1,85250,0,2,2,2,1,5,1,4,0,0,1,15,0,0,1,0,0,1,1078,3,0,1,29,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,113,210,205,34,219,120,115,40,34,38,122,131,216,36,116,204,112,103,213,200,204,119,125,123,128,32,192,121,122,123,33,208,116,117,39,120,33,36,118,114,122,33,34,195,33,140,125,201,198,192,122,115,36,230,122,37,117,119,37,36,38,108,121,120,121,220,34,109,124,125,188,31,131,123,207,130,197,208,121 H,171492,8,200,4,16,1015675,23,1,1,1,,2,1,2,,40,0,200,3,3,150,1,0,,,,3,1,4,,,,1,2,,9,1,650,6,,,,,,1,6,8900,0,4,4,4,1,7,0,,0,0,0,17,0,0,0,1,1,2,124,,0,0,2,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,23,20,37,46,7,9,45,22,9,37,31,30,31,7,22,22,26,29,7,26,27,19,55,59,7,9,35,19,5,60,48,20,30,7,21,34,23,19,9,25,24,25,5,7,53,50,6,37,44,8,5,25,28,31,25,23,23,30,36,23,29,29,7,7,44,43,7,22,50,10,8,20,36,45,15,21,23,24,34,17 H,171648,8,800,4,16,1015675,62,1,1,3,2,3,2,2,,100,0,2,3,3,440,1,,,,,3,1,5,,,,1,2,,12,3,2,3,,,,,,1,6,19700,0,4,4,4,1,5,0,,0,0,0,12,0,0,0,0,0,1,200,,0,0,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,15,68,120,88,112,69,47,63,77,80,22,16,24,80,91,68,17,55,87,97,22,43,85,146,97,41,72,67,53,65,15,17,22,77,99,62,25,65,102,53,22,86,81,94,144,78,47,62,67,58,20,23,18,55,117,71,19,60,115,73,21,52,82,104,77,57,76,52,61,67,19,26,19,49,107,67,19,60,107 H,171975,8,800,4,16,1015675,66,2,1,3,5,2,2,2,,70,0,2,3,7,620,1,,,,,3,1,5,,,,1,2,,21,3,2,2,,,,,,1,7,80000,0,4,4,4,1,4,0,,0,1,0,4,3,0,0,0,0,1,254,,0,0,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,72,64,67,111,71,60,20,18,107,119,21,71,118,21,18,53,64,107,56,57,72,75,68,97,81,74,22,15,109,99,19,81,114,21,21,60,90,101,69,72,70,63,68,20,69,71,108,101,20,19,105,72,22,117,112,66,77,21,72,66,63,72,55,20,63,69,97,105,21,18,101,65,20,116,109,75,60,24,72 H,172108,8,800,4,16,1015675,82,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,24,142,131,91,67,85,27,80,152,81,126,124,24,82,24,94,78,26,92,88,138,24,25,74,77,97,137,89,25,75,20,24,147,79,139,79,84,152,86,84,136,25,24,70,79,90,159,83,21,68,24,24,149,84,143,70,73,155,94,87,28,140,156,77,74,100,33,74,128,85,162,141,25,77,22,82,74,23,92 H,172113,8,100,4,16,1015675,123,2,1,2,1,4,2,2,,50,0,2,3,6,900,1,,,,,3,1,8,,,,1,2,,18,4,2,4,4,40000,4,,,2,1,40000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,292,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,119,193,203,136,160,204,123,151,193,229,208,209,115,225,134,200,153,106,106,35,115,35,32,122,130,38,129,118,30,40,34,36,120,29,134,32,121,120,123,40,121,38,30,139,130,32,112,121,36,40,32,41,122,29,124,34,119,113,118,243,154,215,203,130,138,197,107,130,185,201,205,186,139,223,120,195,143,126,128,243 H,172211,8,100,4,16,1015675,39,1,1,1,,3,2,2,,110,0,2,3,3,550,1,,,,,3,1,6,,,,1,2,,16,1,720,5,,,,,,1,4,35000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,1,1,2,274,,0,1,16,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,14,12,76,63,43,63,27,44,13,41,8,32,11,36,32,69,37,31,65,14,38,50,49,42,10,35,85,12,45,14,34,60,43,52,10,56,66,95,42,40,10,12,52,73,32,69,35,30,10,29,11,49,10,37,40,62,47,50,65,10,37,38,36,42,14,52,90,10,40,14,63,69,43,58,10,30,45,90,44,41 H,172284,8,400,4,16,1015675,98,0,1,2,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,6,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,106,23,26,32,100,92,112,107,89,187,171,151,78,24,96,172,105,101,172,29,105,166,155,166,96,108,102,94,115,28,31,37,89,167,101,30,94,86,139,27,97,191,162,153,99,111,99,102,94,28,27,25,94,198,104,25,94,106,33,195,88,32,32,27,93,103,106,93,104,187,125,143,116,30,89,182,95,98,27 H,172443,8,200,4,16,1015675,65,3,1,1,,5,2,2,,150,0,2,150,1,1000,1,,,,,3,1,9,,,,1,2,,19,2,700,5,1,15500,2,,,1,1,15500,0,2,2,2,1,1,1,3,0,0,1,60,0,0,1,0,0,1,774,,0,1,52,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,46,85,135,73,118,105,74,55,79,63,120,65,115,69,86,120,126,94,50,63,59,19,17,62,15,20,69,72,59,49,24,56,16,68,19,22,19,21,55,64,58,115,110,56,151,103,73,59,63,84,112,59,131,68,90,87,100,80,58,67,67,28,18,58,19,20,66,69,62,67,18,59,16,53,19,19,19,24,65 H,172622,8,400,4,16,1015675,38,2,1,1,,3,2,2,,40,0,2,80,2,300,1,,,,,3,1,5,,,,1,2,,14,2,420,3,,,,,,1,7,68600,0,4,4,4,1,4,0,,0,1,0,5,3,0,0,1,1,2,280,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,38,39,14,34,33,70,63,11,9,58,43,13,76,63,35,42,10,36,37,42,42,38,9,41,55,75,83,12,10,55,35,10,72,61,36,35,11,43,42,49,45,37,68,33,38,12,10,68,70,12,31,56,10,8,44,38,67,56,49,31,34,36,67,39,48,11,8,83,64,12,54,78,12,12,36,24,78,43,51 H,172673,8,600,4,16,1015675,95,1,1,,,1,6,,,60,0,2,1,3,,1,,,,,,1,2,2,450,,1,3,,,1,1,3,,,,510,21,1,6,29000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,95,147,27,154,159,94,98,31,29,174,104,87,92,164,89,96,89,27,164,104,96,29,164,28,28,105,107,168,189,28,104,98,89,30,85,82,84,175,29,99,86,159,29,161,159,92,83,27,27,177,91,94,114,183,103,109,106,28,160,90,109,29,155,30,27,99,87,150,158,29,97,93,88,29,96,88,102,156,27 H,172867,8,600,4,16,1015675,86,3,1,1,,3,2,2,,30,0,2,220,1,260,1,,2,770,1,1,1,7,,,160,1,1,,16,1,380,6,1,57000,2,,,1,1,57000,0,2,2,2,1,3,1,3,0,0,1,26,0,0,1,0,0,1,1234,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,86,25,140,80,26,25,82,82,97,88,91,142,83,25,156,80,147,92,26,140,86,23,150,88,24,25,94,98,91,90,89,145,96,29,143,87,127,81,27,25,87,154,24,85,154,138,91,80,83,89,88,27,93,151,30,104,26,86,156,25,87,152,28,88,153,141,82,82,75,93,92,26,77,128,26,86,26,92,157,146 H,172915,8,700,4,16,1015675,114,3,1,1,,3,2,2,,90,0,100,100,1,150,1,,1,750,1,1,1,9,,,250,1,1,,16,3,30,3,1,97000,4,,,1,1,97000,0,4,4,4,1,5,0,3,0,0,0,15,0,0,0,0,0,1,1201,2,0,1,10,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,34,36,211,112,197,117,103,193,117,177,33,35,117,113,111,203,121,33,109,120,33,32,203,116,201,120,109,214,116,198,33,35,118,107,106,200,119,33,113,119,213,193,36,113,31,107,113,39,120,33,199,192,115,101,108,39,120,215,104,118,176,198,30,120,31,115,117,34,111,32,209,203,112,112,103,35,115,197,102 H,173013,8,500,4,16,1015675,77,2,1,3,6,3,2,2,,50,0,2,70,3,200,1,,1,900,2,1,1,6,,,,1,1,,20,5,2,2,2,120000,4,,,1,1,120000,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,2,0,1,1120,3,0,0,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,27,136,75,77,21,108,82,76,139,80,67,136,76,73,81,138,27,20,81,123,144,22,75,75,104,21,73,81,21,72,76,21,82,86,84,21,134,134,78,118,123,23,78,77,125,22,96,65,20,85,76,23,90,74,68,20,131,134,82,21,21,133,70,83,26,121,85,66,129,74,67,133,80,80,93,126,23,21,76 H,173296,8,400,4,16,1015675,94,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,74,100,184,176,26,34,187,71,24,188,176,97,109,26,84,101,90,81,22,129,87,93,28,27,137,136,34,93,143,36,31,105,102,139,99,103,95,76,122,86,108,89,28,37,173,188,31,104,215,26,23,79,82,137,85,88,100,100,162,78,121,93,137,170,32,23,148,108,32,135,132,89,76,23,100,111,110,108,31,110 H,173626,8,400,4,16,1015675,39,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,63,41,38,76,47,38,63,69,74,95,40,58,40,70,35,41,46,33,61,13,12,34,37,12,50,44,9,10,16,22,47,11,34,10,38,39,39,29,11,77,61,42,44,79,46,40,74,64,63,81,44,85,44,57,40,39,37,37,63,13,15,42,34,13,38,34,14,12,11,15,41,12,47,11,37,36,37,34,10,93 H,173688,8,600,4,16,1015675,181,2,1,1,,4,2,2,,110,0,30,3,3,530,1,,,,,3,1,8,,,,1,2,,20,2,510,4,8,35100,4,,,4,3,35100,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,467,,0,1,44,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,165,209,210,194,53,155,146,359,316,53,50,396,173,49,290,387,276,183,224,321,140,205,144,162,294,174,200,51,51,406,255,40,201,291,51,55,160,220,165,276,177,162,192,127,297,182,210,75,46,305,319,46,233,365,55,56,165,146,141,60,167,185,242,197,55,144,185,381,322,44,54,313,179,83,334,353,199,184,157 H,174215,8,200,4,16,1015675,97,2,1,1,,3,2,2,,410,0,2,180,1,980,1,,,,,3,1,9,,,,1,2,,18,2,440,8,2,270000,4,,,1,1,270000,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,886,,0,1,33,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,162,108,35,130,197,31,68,74,29,109,27,106,123,102,128,79,160,99,30,105,167,99,23,163,147,22,92,111,41,120,40,67,87,121,126,96,232,129,127,105,31,117,179,31,32,131,86,136,117,101,193,86,84,97,36,106,30,96,151,74,34,71,188,30,28,235,73,87,259,84,196,106,80,100,36,79,26,99,21 H,174531,8,900,4,16,1015675,34,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,41,11,33,41,56,61,11,9,60,34,11,60,53,39,37,10,31,30,36,33,41,9,38,33,54,79,10,9,57,38,12,50,42,33,34,8,42,36,39,48,34,11,27,29,67,63,9,11,64,31,10,60,64,43,32,10,30,46,43,41,40,9,32,32,65,70,9,10,66,41,11,40,42,39,29,11,49,28 H,175093,8,700,4,16,1015675,87,4,1,1,,3,3,2,,90,0,2,50,1,330,1,,1,1100,1,1,1,5,,,300,1,1,,20,2,400,2,1,80000,3,,,1,1,80000,0,1,1,1,1,4,2,4,0,0,2,24,0,0,1,0,0,2,1573,2,0,1,31,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,89,94,25,85,162,92,26,25,77,87,26,141,79,160,151,86,160,25,85,88,92,76,160,85,26,80,154,159,92,84,139,23,89,27,25,83,26,137,77,90,89,86,23,82,150,83,23,27,99,85,25,145,80,132,141,89,142,28,87,93,77,90,142,83,25,92,163,161,88,85,143,27,91,26,25,89,26,152,92 H,175322,8,100,4,16,1015675,101,2,1,1,,3,2,2,,60,0,2,80,1,650,1,,1,660,1,1,1,8,,,,1,1,,18,2,600,9,1,84400,4,,,1,1,84400,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,0,0,1,850,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,123,163,202,31,34,180,149,35,190,193,115,92,30,91,119,96,102,30,80,105,90,29,33,145,154,30,94,166,26,30,84,92,170,99,96,97,100,160,95,99,100,144,215,27,23,148,93,28,169,144,107,107,27,87,105,107,84,26,120,101,99,31,29,197,179,31,101,153,40,30,119,128,180,111,99,123,99,157,92 H,175512,8,300,4,16,1015675,37,1,1,1,,3,2,2,,70,0,2,70,1,100,1,,2,390,2,1,1,5,,,,1,1,,9,0,840,5,,,,,,1,6,48600,0,4,4,4,1,3,0,,0,0,0,17,0,0,0,0,0,2,691,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,10,39,11,32,32,14,31,8,65,51,31,46,44,15,41,54,44,59,53,38,12,44,12,38,40,11,35,13,69,57,35,46,34,10,38,68,47,72,65,36,10,43,10,40,35,11,34,8,73,73,36,46,35,13,47,66,41,78,61,40,11,31,13,34,33,10,33,10,62,46,41,46,32,11,41,52,49,79,68,46 H,175599,8,400,4,16,1015675,144,3,1,,,2,7,,,30,60,2,40,1,,1,,,,,,1,4,2,350,,1,3,,,1,2,9,8,7400,1,420,68,5,3,7400,0,1,1,1,1,4,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,127,130,168,39,124,62,184,52,52,46,43,123,148,48,47,143,53,74,194,254,318,230,222,153,225,102,178,149,114,156,148,311,294,134,131,202,131,151,214,152,118,129,159,205,148,205,144,196,169,303,254,162,151,214,217,160,238,184,35,45,101,47,41,203,69,191,43,175,174,106,116,37,50,125,144,46,145,154,143 H,175638,8,800,4,16,1015675,90,3,1,2,1,2,2,2,,110,0,1100,3,6,,1,,,,,,1,5,2,300,,1,3,,,2,680,6,2,27300,2,559,25,1,1,27300,0,2,4,2,1,3,0,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,147,124,88,30,96,151,84,89,152,66,22,21,30,124,99,116,109,99,19,149,131,154,182,28,71,196,111,85,133,70,25,29,33,78,80,103,101,124,21,112,154,170,92,29,110,146,84,76,113,88,44,33,25,73,87,141,122,93,28,122,128,166,143,27,79,194,89,59,104,79,27,33,38,92,92,99,125,113,27 H,175786,8,100,4,16,1015675,25,2,1,1,,4,2,2,,200,0,2,150,1,500,1,,,,,3,1,6,,,,1,2,,18,2,100,2,4,107500,4,,,3,1,107500,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,2,2,1,483,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,26,25,26,7,9,27,37,23,50,7,35,25,39,22,7,9,26,37,9,7,47,44,7,24,24,8,22,8,24,29,26,41,21,40,23,24,44,27,26,30,27,26,20,7,7,23,43,22,42,9,39,20,44,29,7,6,27,44,6,7,42,48,7,27,29,8,25,7,29,28,27,43,20,38,22,22,36,23,22 H,175951,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,176115,8,400,4,16,1015675,126,1,1,1,,4,2,2,,110,0,2,3,3,200,1,,1,650,1,1,1,7,,,,1,1,,14,2,30,6,,,,,,1,6,75000,0,4,4,4,1,4,0,,0,0,0,12,0,0,0,0,0,1,763,3,0,1,27,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,132,241,126,129,235,131,38,42,41,108,110,133,131,137,204,213,160,93,57,29,142,205,127,123,278,126,26,41,51,144,153,160,120,109,226,230,233,101,178,177,146,44,106,108,38,143,279,217,238,145,132,154,130,115,40,60,37,79,223,198,157,43,124,139,49,119,167,214,227,146,115,93,112,131,39,40,43,135,41 H,176475,8,300,4,16,1015675,88,3,1,1,,5,2,2,,50,0,2,60,1,300,1,,1,860,1,1,1,9,,,,1,1,,17,2,600,2,1,40250,1,,,1,1,40250,0,1,1,1,1,3,1,3,0,0,1,30,0,0,1,0,0,1,1020,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,25,105,73,73,100,97,125,131,147,98,24,75,157,87,83,148,87,29,26,21,34,95,80,85,75,102,131,189,168,102,32,95,156,91,79,146,85,24,22,118,128,84,97,91,97,95,26,29,18,80,171,89,25,80,86,27,112,181,131,127,166,95,93,84,89,94,26,28,19,81,155,83,28,89,86,36,100,156,153,36 H,176532,8,100,4,16,1015675,59,4,1,1,,3,2,2,,100,0,2,3,6,260,1,,2,300,2,1,1,4,,,,1,1,,15,2,720,5,1,15030,3,,,1,1,15030,0,3,3,3,1,4,2,4,0,0,2,42,0,0,1,0,0,2,524,3,0,1,12,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,22,46,46,31,63,81,22,15,113,44,46,95,50,120,93,71,57,19,26,54,121,65,53,97,56,12,85,106,22,64,63,18,31,17,85,83,82,85,22,66,70,61,80,68,44,17,101,119,21,49,71,18,59,20,61,51,59,115,137,53,13,63,52,16,42,103,28,25,129,56,42,82,62,91,79,58,65,30,92 H,176884,8,900,4,16,1015675,88,1,1,3,6,4,2,2,,30,0,3500,3,4,300,1,,,,,3,1,9,,,,1,2,,10,2,2,8,,,,,,1,6,17280,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,2,397,,0,0,14,,,,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,173,23,94,119,158,152,91,23,197,102,98,76,79,23,24,80,92,87,27,72,92,105,140,91,96,98,29,100,89,126,31,146,166,102,101,26,23,147,111,162,28,163,73,28,27,23,90,126,25,99,82,94,103,149,148,80,97,100,137,68,91,66,26,101,74,86,173,99,89,30,144,29,24,87,92,141,145,29,77 H,177146,8,400,4,16,1015675,81,4,1,2,1,3,2,2,,60,0,350,3,6,,1,,,,,,1,5,2,500,,1,3,,,3,600,5,1,61154,2,639,13,1,1,61154,0,2,2,2,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,3,4,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,69,93,92,147,71,110,77,102,136,85,29,149,137,26,98,80,20,74,26,23,63,82,104,135,83,135,79,83,131,89,24,125,123,22,86,89,22,78,26,17,67,81,75,152,90,141,74,83,132,89,28,173,179,23,86,76,20,90,21,27,67,79,123,131,78,133,82,75,160,97,20,134,122,18,97,94,21,84,27 H,177811,8,200,4,16,1015675,53,2,1,,,2,6,,,80,0,2,3,3,,1,,,,,,1,4,2,440,,1,3,,,2,1,5,1,26040,4,520,24,1,1,26040,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,56,45,63,47,19,48,43,111,86,15,17,137,57,14,89,83,61,49,55,71,55,45,59,59,79,49,59,16,19,111,112,15,45,89,18,17,62,50,38,89,55,59,53,59,96,65,65,17,15,115,128,13,52,118,15,16,55,50,51,17,57,43,38,40,16,72,61,87,84,12,17,94,53,21,103,94,44,54,46 H,178028,8,400,4,16,1015675,55,3,1,1,,3,2,2,,40,0,2,3,3,410,1,,1,820,1,1,1,5,,,260,1,1,,14,4,960,9,2,53000,1,,,1,1,53000,0,1,1,1,1,1,1,3,0,0,1,27,0,0,1,0,0,1,1200,1,0,1,12,2,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,20,63,66,18,54,112,16,12,103,68,46,101,66,95,62,59,59,13,17,65,79,61,64,71,42,17,116,101,18,78,57,14,47,15,56,59,44,92,20,66,118,59,47,77,62,21,115,70,14,71,49,16,45,11,59,50,44,105,97,66,17,56,59,20,44,66,25,25,100,57,76,87,47,92,59,66,42,15,86 H,178336,8,500,4,16,1015675,69,1,1,,,2,4,,,40,0,2,3,3,,1,,,,,,1,4,2,470,,1,3,,,0,300,5,,,,535,43,1,6,15000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,22,72,72,68,66,68,127,65,23,120,60,118,69,21,66,19,118,61,116,22,24,64,67,64,56,69,120,75,21,126,65,138,79,23,74,21,118,76,115,20,21,81,79,64,67,74,139,70,18,139,71,106,85,23,64,18,106,66,130,18,20,71,55,75,88,71,111,55,20,140,60,113,76,23,86,21,118,62,131 H,178534,8,600,4,16,1015675,134,2,1,1,,1,3,2,,100,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,3,130,6,5,37010,4,611,20,1,2,37010,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,230,40,39,44,38,206,131,140,38,263,126,139,221,122,131,217,145,135,129,124,206,40,36,39,39,232,131,135,38,216,125,142,248,149,140,209,128,140,123,130,227,41,41,43,37,242,139,119,42,220,127,139,208,140,140,211,123,124,143,129,228,42,41,41,39,218,124,121,41,235,122,120,218,134,121,244,144,134,126 H,178577,8,500,4,16,1015675,130,2,1,1,,4,2,2,,30,0,2,140,1,280,1,,1,720,1,1,1,6,,,220,1,1,,16,2,640,3,,,,,,1,5,76000,0,4,4,4,1,1,0,,0,1,0,18,0,0,0,0,0,2,1163,1,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,132,52,172,131,128,43,123,38,50,226,176,118,125,113,146,63,204,146,136,48,109,233,37,136,142,236,109,142,190,63,45,120,141,144,117,263,41,125,114,170,176,41,187,126,230,39,150,36,35,194,227,108,113,113,156,37,245,125,142,46,139,182,53,153,165,202,123,217,172,31,50,145,113,106,172,243,45,113,98,208 H,178697,8,900,4,16,1015675,33,2,1,1,,2,2,2,,30,0,2,90,1,,1,,,,,,1,4,2,300,,1,3,,,1,50,7,4,17300,4,424,29,1,1,17300,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,7,31,12,27,37,10,40,51,10,12,58,32,46,75,25,52,38,25,10,39,66,39,55,36,27,40,25,9,53,53,8,27,32,8,30,10,47,46,67,29,12,28,9,31,32,13,29,52,11,10,48,25,22,68,38,49,34,30,10,48,45,38,59,45,44,33,23,8,66,68,12,36,34,7,31,8,31,65,60 H,178871,8,200,4,16,1015675,71,2,1,1,,3,2,2,,120,0,2,40,1,500,1,,,,,3,1,6,,,,1,2,,17,3,380,6,3,82130,4,,,1,1,82130,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,1,1,2,434,,0,1,36,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,73,80,80,80,68,21,70,117,22,61,23,77,120,63,131,21,57,139,21,139,65,71,93,81,64,22,68,84,29,63,20,102,98,65,134,24,65,110,114,23,61,62,52,66,89,128,76,23,134,66,119,88,21,70,20,106,70,24,121,20,72,75,62,72,80,125,78,24,127,88,96,96,22,51,21,104,63,20,16 H,178959,8,100,4,16,1015675,78,1,1,1,,2,1,2,,160,300,2,3,3,570,1,0,2,290,2,2,1,4,,,,1,1,,8,2,560,3,,,,,,1,6,13900,0,4,4,4,1,4,0,,0,0,0,48,0,0,0,0,0,1,559,3,0,0,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,60,91,24,22,27,91,135,66,24,93,85,23,86,130,105,126,71,73,151,69,79,75,25,26,27,92,112,58,19,68,72,24,81,128,112,139,80,71,152,109,75,67,19,24,24,76,180,61,19,114,77,22,81,123,107,115,64,75,118,80,78,76,26,23,29,83,120,74,20,78,71,26,82,115,117,128,90,80,135 H,179023,8,300,4,16,1015675,69,1,1,1,,3,2,2,,90,0,2,3,3,220,1,,1,490,1,1,1,7,,,,1,1,,10,2,350,5,,,,,,1,6,24000,0,4,4,4,1,4,0,,0,0,0,30,0,0,0,0,0,1,609,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,103,71,111,103,152,125,67,64,115,157,66,95,120,76,66,61,72,112,63,60,19,72,23,22,21,21,65,67,19,22,62,18,20,71,82,72,68,18,69,75,139,65,109,133,117,102,77,78,139,120,63,101,118,62,64,55,61,106,74,86,18,61,18,19,27,19,67,76,19,19,71,19,22,57,70,68,66,20,64,66 H,179292,8,700,4,16,1015675,105,2,1,1,,3,2,2,,80,0,2,3,3,600,1,,2,1600,2,1,1,5,,,250,1,1,,21,2,70,5,1,97000,4,,,1,1,97000,0,4,4,4,1,2,0,2,0,0,0,28,0,0,0,0,0,2,2236,2,0,1,42,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,0,0,1,0,0,0,31,35,32,120,103,105,108,107,197,172,181,109,29,105,180,115,97,165,108,31,32,28,32,114,103,112,111,102,183,214,183,114,28,107,208,109,106,153,109,34,34,29,34,119,103,106,112,94,161,185,181,104,30,101,193,100,108,181,97,28,33,33,32,110,115,118,104,110,177,177,162,106,33,101,170,115,109,199,106,30 H,179336,8,800,4,16,1015675,177,7,1,2,1,4,2,2,,130,0,2,3,3,240,1,,1,560,1,1,1,5,,,,1,1,,11,3,2,2,1,53400,3,,,1,1,53400,0,3,3,3,1,3,5,7,0,0,5,16,0,0,1,0,0,1,690,3,0,1,16,2,5,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,105,314,502,40,46,344,178,49,281,237,234,164,52,180,173,275,194,57,197,192,191,40,65,302,258,56,273,385,50,62,173,152,255,144,190,151,182,260,181,147,148,338,270,45,57,304,186,46,345,276,200,154,70,154,139,221,156,59,220,152,184,55,63,284,237,63,260,309,73,73,153,203,329,181,207,128,130,253,222 H,179718,8,500,4,16,1015675,62,1,1,1,,3,2,2,,30,0,2,10,1,380,1,,1,900,1,1,1,7,,,,1,1,,16,1,40,2,,,,,,1,6,37800,0,4,4,4,1,1,0,,0,0,0,30,0,0,0,1,0,1,943,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,19,123,63,18,112,93,61,68,18,65,57,55,65,16,59,60,101,107,68,114,113,19,64,116,18,18,59,60,98,67,58,59,71,94,58,65,17,20,67,20,20,106,71,19,114,120,72,53,18,61,65,69,59,16,55,52,106,101,55,105,106,18,62,106,18,16,73,66,112,66,60,60,63,112,62,61,18,16,62 H,179891,8,900,4,16,1015675,60,4,1,2,1,5,2,2,,120,0,2,50,1,550,1,,1,1300,1,1,1,8,,,600,1,1,,18,2,2,3,1,82892,2,,,1,1,82892,0,2,2,2,1,4,2,4,0,0,2,30,0,0,1,0,0,1,2070,2,0,1,37,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,89,18,107,104,65,65,18,17,84,62,55,75,110,61,62,53,16,60,56,18,106,18,93,101,61,55,17,16,106,52,54,56,112,51,58,75,18,65,65,112,15,110,18,18,67,54,87,93,18,56,62,54,13,50,56,62,108,53,58,91,20,99,18,18,55,64,108,110,18,56,76,66,20,57,63,60,102,61,58,18 H,180326,8,300,4,16,1015675,94,2,1,1,,2,2,2,,40,0,2,130,1,600,1,,,,,3,1,5,,,,1,2,,17,2,500,7,1,39000,4,,,1,1,39000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,0,0,1,420,,0,1,31,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,29,180,27,31,82,101,186,141,33,84,95,86,26,111,89,107,175,95,160,99,24,173,36,30,94,92,148,140,30,92,101,97,26,88,104,107,145,80,193,92,31,159,28,28,104,88,136,163,28,84,97,85,26,98,100,101,150,90,206,80,26,193,30,36,87,85,145,188,34,82,93,83,29,103,96,83,150,97,158 H,180454,8,800,4,16,1015675,141,4,1,2,1,5,2,2,,160,0,2,3,2,800,1,,2,830,1,1,1,7,,,330,1,1,,18,3,2,2,1,51300,2,,,1,1,51300,0,2,2,2,1,4,1,4,0,0,1,32,0,0,1,0,0,2,1387,2,0,1,26,3,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,164,153,237,148,120,48,41,210,230,56,195,226,31,48,157,124,200,125,147,156,154,122,41,120,112,226,252,49,74,269,107,33,184,252,129,113,59,161,171,172,147,157,41,126,163,238,210,42,62,207,121,52,285,227,130,157,38,116,157,167,127,184,217,133,136,44,42,219,252,43,135,253,42,46,163,130,221,119,101,132 H,180508,8,300,4,16,1015675,91,2,1,3,2,5,2,2,,20,0,500,20,6,800,1,,1,1000,1,1,1,7,,,,1,1,,18,2,300,2,5,30000,2,,,1,2,30000,0,2,2,2,1,3,1,2,0,0,1,44,0,0,1,0,0,1,1107,3,0,0,30,1,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,146,140,27,29,34,87,93,77,95,76,146,161,146,84,27,93,156,103,109,31,153,83,33,23,23,86,109,84,81,96,135,149,185,100,28,90,136,93,124,132,33,108,185,187,174,93,69,98,93,77,26,25,25,105,144,103,32,79,78,168,26,87,173,143,160,97,94,105,91,94,29,26,37,78,153,110,26,83,73,24 H,180942,8,300,4,16,1015675,64,4,1,1,,3,2,2,,90,0,2,3,3,430,1,,2,650,2,1,1,9,,,100,1,1,,15,2,350,5,1,95000,2,,,1,1,95000,0,2,2,2,1,5,2,4,0,0,2,13,0,0,1,0,0,1,1063,2,0,1,30,3,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,17,71,106,64,72,120,65,18,16,24,53,53,53,61,75,103,117,114,54,106,111,59,21,73,63,20,61,88,90,107,56,68,62,66,69,20,17,18,54,21,17,64,95,66,68,108,62,20,20,18,53,58,59,53,62,96,95,99,62,155,102,53,19,68,86,15,56,107,122,111,55,62,62,57,74,22,16,18,61,18 H,181070,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,181418,8,900,4,16,1015675,27,0,1,3,,5,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,62,29,10,27,24,6,29,46,53,55,30,27,24,25,31,6,8,7,47,26,39,27,9,24,28,9,30,55,53,52,23,27,25,28,30,7,9,8,43,25,52,32,8,29,34,6,28,43,43,46,25,29,26,23,34,8,8,8,46,27,46,31,9,27,27,10,26,48,56,52,29,27,23,27,28,9,8,7,45 H,182154,8,900,4,16,1015675,131,3,1,1,,1,2,2,,40,0,2,250,1,370,1,,2,650,2,1,1,5,,,,1,1,,11,4,360,6,1,64000,4,,,1,1,64000,0,4,4,4,1,7,0,3,0,0,0,21,0,0,0,2,0,1,1097,3,0,1,23,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,226,31,119,32,145,244,123,228,41,134,220,242,169,142,139,108,154,51,191,127,37,186,130,222,142,45,108,43,227,141,40,38,137,132,143,114,121,200,243,133,43,201,114,180,156,52,113,48,194,134,36,38,142,151,149,123,121,184,39,150,218,31,135,37,113,193,103,209,46,106,252,203,137,156,149,167,167,35,35 H,182388,8,600,4,16,1015675,95,4,1,1,,3,2,2,,50,0,2,50,1,500,1,,1,1100,1,1,1,6,,,170,1,1,,17,2,1000,6,1,95000,1,,,1,1,95000,0,1,1,1,1,4,2,4,0,0,2,18,0,0,1,0,0,1,1453,1,0,1,26,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,95,91,102,159,101,29,87,27,26,163,98,154,91,91,165,90,165,30,92,28,96,98,103,162,92,29,89,29,28,150,88,156,90,98,184,94,153,28,94,26,100,98,99,150,96,29,91,28,25,161,99,154,94,89,164,89,152,29,92,28,92,101,93,156,98,27,99,29,28,157,101,168,94,96,165,100,161,29,105 H,182813,8,800,4,16,1015675,81,2,1,2,1,4,2,2,,110,0,2,3,3,1100,1,,,,,3,1,9,,,,1,2,,22,3,2,7,4,30800,4,,,1,1,30800,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,0,1,288,,0,1,22,0,9,9,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,81,85,22,25,159,112,23,85,143,24,24,70,73,157,113,71,76,86,77,21,95,115,138,152,20,26,186,75,21,142,166,76,73,22,97,75,61,83,97,20,78,80,144,141,26,23,133,80,24,140,167,101,81,20,98,86,75,67,89,116,79,96,27,33,131,123,29,69,108,24,28,89,90,126,81,79,77,93,97 H,183080,8,500,4,16,1015675,18,6,1,2,1,4,2,2,,140,0,2,3,3,670,1,,2,1500,2,1,1,7,,,,1,1,,20,6,160,9,1,177300,1,,,1,1,177300,1,1,4,1,1,5,0,6,0,0,2,12,0,1,1,0,0,1,1842,3,0,1,28,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,18,5,17,18,30,21,29,16,38,18,18,5,20,20,5,34,26,5,31,25,30,17,5,31,16,36,21,5,18,5,31,22,5,5,19,20,18,23,16,31,22,38,20,19,5,20,6,22,5,21,18,29,18,18,29,5,5,31,6,18,5,19,30,5,21,5,18,30,16,36,5,19,36,35,22,19,22,21,21 H,183434,8,500,4,16,1015675,54,2,1,3,6,3,2,2,,200,0,500,3,6,500,1,,,,,3,1,5,,,,1,2,,14,3,2,9,4,12000,4,,,3,1,12000,0,4,4,4,1,6,0,2,0,0,0,37,0,0,0,2,2,1,367,,0,0,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,83,104,82,98,18,54,49,94,13,63,56,20,46,56,13,58,57,48,18,20,50,49,54,49,46,14,81,65,61,95,95,58,17,14,60,102,15,88,53,56,88,86,91,90,17,57,51,95,17,62,63,16,51,48,14,58,52,59,18,11,54,54,52,57,57,17,85,49,50,105,93,62,15,13,54,93,16,100,49,53 H,183467,8,600,4,16,1015675,123,1,1,,,2,5,,,30,0,2,30,1,,1,,,,,,1,4,2,540,,1,3,,,1,1,7,,,,600,19,1,4,37300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,120,222,123,135,32,228,39,36,133,120,190,214,38,137,123,123,34,121,117,119,35,128,202,36,132,149,123,105,216,211,130,122,142,204,36,209,128,38,35,219,117,215,120,135,33,238,37,41,134,123,185,228,33,129,117,125,39,122,129,105,33,129,220,30,128,149,128,123,221,216,118,125,131,196,41,225,127,33,37,211 H,183479,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,183578,8,700,4,16,1015675,84,1,1,1,,2,1,2,,60,0,2,40,1,200,1,320,,,,3,1,3,,,,1,2,,2,2,2,5,,,,,,1,4,15000,0,4,4,4,1,6,0,,0,0,0,12,0,0,0,0,0,1,151,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,82,69,154,87,29,145,142,26,78,88,28,76,23,97,85,86,128,78,165,25,72,70,27,78,157,28,22,136,85,92,140,81,122,73,82,88,25,86,134,24,84,84,22,77,145,25,25,132,86,69,142,88,149,80,86,90,23,85,22,142,90,82,126,82,22,170,166,25,98,74,24,98,25,88,87,79,143,82,27 H,183602,8,700,4,16,1015675,114,2,1,1,,3,2,2,,80,0,2,240,1,560,1,,,,,3,1,8,,,,1,2,,18,2,450,3,4,37000,4,,,1,1,37000,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,2,2,1,569,,0,1,31,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,120,36,105,116,178,35,210,192,123,129,34,32,183,108,113,108,176,113,117,183,214,137,28,191,118,111,110,116,38,34,105,110,114,39,185,33,124,188,32,111,115,36,112,127,193,38,203,183,123,115,32,35,189,113,100,121,229,114,118,188,191,109,33,201,107,112,105,105,33,34,106,121,116,33,184,35,120,188,31 H,183720,8,900,4,16,1015675,177,3,1,1,,5,2,2,,160,0,2,3,3,280,1,,,,,3,1,9,,,,1,2,,15,4,20,5,1,96700,4,,,1,1,96700,0,4,4,4,1,6,0,3,0,0,0,3,0,0,0,0,0,1,266,,0,1,21,3,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,52,183,139,193,204,159,280,253,303,182,54,232,308,215,215,341,152,58,72,57,58,171,204,156,171,233,283,212,279,143,52,205,265,193,184,287,203,45,54,254,315,186,153,185,205,209,59,66,48,148,340,210,64,152,137,55,141,274,327,293,250,158,170,136,143,220,73,41,50,197,308,181,62,198,229,58,150,320,296,42 H,184012,8,900,4,16,1015675,91,2,1,2,1,3,2,2,,40,0,2,30,1,600,1,,,,,3,1,9,,,,1,2,,18,2,1100,5,1,74000,4,,,1,1,74000,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,0,0,1,404,,0,1,35,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,95,152,27,151,141,92,83,29,25,160,73,83,112,158,86,79,92,33,24,78,90,153,24,163,176,106,69,28,31,168,100,87,92,172,81,74,84,24,30,93,91,142,24,124,150,99,96,32,25,164,109,87,75,163,101,100,73,24,29,92,83,147,28,165,171,88,75,27,30,160,86,87,86,152,112,113,101,25,35 H,184469,8,300,4,16,1015675,21,2,1,2,1,3,2,2,,40,0,20,40,2,580,1,,,,,3,1,6,,,,1,2,,12,3,2,5,4,37700,4,,,1,1,37700,0,4,4,4,1,2,0,2,0,0,0,6,0,0,0,2,1,1,180,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,24,7,19,19,20,22,6,18,25,39,47,6,5,36,23,6,38,36,22,20,27,8,21,23,18,23,8,17,18,38,46,5,6,40,18,5,37,37,33,22,25,39,23,22,25,23,32,21,24,5,6,36,33,6,28,37,4,5,26,16,16,41,24,30,22,18,43,19,18,7,7,32,28,5,27,36,7,9,24 H,184941,8,100,4,16,1015675,110,2,1,,,2,6,,190,130,0,2,3,3,200,1,,2,300,1,1,1,6,,,,1,1,,15,2,1,5,4,12800,4,,,1,1,12800,0,4,4,4,1,2,0,2,0,0,0,60,0,0,0,2,2,1,637,3,0,0,14,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,189,103,96,197,140,104,169,197,148,207,100,194,101,183,125,103,139,107,178,31,34,103,137,42,103,110,32,30,28,36,112,31,104,32,115,86,92,117,38,206,170,106,119,249,114,95,199,176,189,184,94,180,124,173,113,118,109,107,172,35,42,112,99,32,138,120,31,34,27,32,109,30,120,25,93,99,120,120,35,199 H,185580,8,600,4,16,1015675,115,2,1,1,,2,2,2,,40,0,2,120,1,0,1,,,,,3,1,4,,,,1,2,,3,1,200,4,4,28200,4,,,1,1,28200,0,4,4,4,1,3,0,2,0,0,0,8,0,0,0,2,2,1,185,,0,1,3,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,103,217,36,105,111,121,210,36,116,117,203,127,177,174,34,33,109,111,106,196,114,37,199,112,111,113,31,201,113,126,33,111,32,33,195,179,106,118,105,169,106,35,207,105,115,121,35,194,118,128,34,113,30,33,190,178,128,130,124,34,124,166,31,104,102,102,187,33,121,109,181,107,218,206,36,33,110,113,129,33 H,185680,8,400,4,16,1015675,327,4,1,1,,5,2,2,,120,0,2,30,1,600,1,,1,1500,1,1,1,9,,,,1,1,,20,2,800,3,1,100960,2,,,1,1,100960,0,2,2,2,1,4,2,4,0,0,2,20,0,0,1,0,0,2,1717,3,0,1,55,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,340,83,333,374,292,512,449,445,283,380,487,290,106,418,452,144,350,339,115,102,328,106,352,317,255,529,335,408,357,269,515,370,105,493,450,109,334,364,129,86,399,128,278,416,293,372,358,406,297,296,518,301,141,421,482,121,291,335,108,108,423,110,317,330,341,482,334,475,291,370,469,372,134,396,566,109,298,245,143 H,185718,8,700,4,16,1015675,104,3,1,2,1,3,2,2,,210,0,2,40,1,910,1,,1,1900,1,1,1,6,,,,1,1,,22,3,2,3,1,287400,2,,,1,1,287400,0,2,2,2,1,5,1,3,0,0,1,9,0,0,1,0,0,1,2150,3,0,1,47,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,103,102,193,103,173,110,102,106,32,97,33,104,105,33,101,166,30,31,178,173,99,101,181,99,181,105,106,104,31,109,31,112,106,29,100,174,33,31,170,186,113,106,170,105,179,102,97,103,33,101,32,106,101,29,103,182,29,32,177,183,106,100,176,100,166,112,105,102,30,100,32,114,102,32,98,179,34,29,171 H,185752,8,900,4,16,1015675,99,1,1,1,,3,1,2,,20,0,2,3,3,150,1,2300,,,,3,1,6,,,,1,2,,3,1,1,4,,,,,,2,6,50000,0,4,4,4,1,5,0,,0,0,0,6,0,0,0,0,0,2,236,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,72,145,28,32,101,77,83,196,91,33,91,25,34,240,114,131,136,138,102,26,128,28,133,246,124,126,98,33,115,129,115,146,127,27,96,38,113,115,82,42,81,27,155,167,100,67,85,51,85,170,108,162,225,37,108,28,129,174,120,129,114,139,25,35,106,156,90,197,94,21,119,23,30,176,102,138,92,96,77 H,185860,8,500,4,16,1015675,44,5,1,3,3,3,2,2,,170,0,250,3,4,850,1,,2,1000,2,2,1,6,,,,1,1,,18,3,2,9,1,75000,2,,,2,1,75000,0,3,3,3,1,3,3,5,0,0,3,22,0,0,1,0,0,1,1387,3,0,0,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,81,13,48,46,75,83,81,47,42,12,80,46,12,47,55,42,47,13,13,45,42,42,77,14,44,45,42,74,14,45,43,72,42,73,75,13,12,48,41,81,14,66,42,50,12,14,14,48,50,75,15,45,72,41,43,46,46,86,85,47,47,51,17,71,39,48,46,11,76,46,45,11,43,14,12,72,75,40,48 H,186020,8,900,4,16,1015675,61,6,1,1,,5,2,2,,50,0,2,90,1,260,1,,1,840,1,1,1,9,,,,1,1,,16,3,720,2,1,41300,3,,,1,1,41300,0,3,3,3,1,3,4,6,0,0,4,30,0,0,1,0,0,1,1040,3,0,1,34,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,61,112,64,20,65,58,18,62,96,109,100,68,55,55,59,50,18,18,102,118,67,16,67,103,54,63,90,54,17,19,20,60,66,69,62,70,127,101,17,16,64,103,56,19,54,55,17,57,108,112,98,57,59,54,64,70,18,17,109,106,63,18,60,116,69,70,115,54,23,15,15,53,56,69,74,54,115,102 H,186211,8,600,4,16,1015675,127,4,1,1,,5,2,2,,250,0,2,30,1,900,1,,2,1200,2,1,1,9,,,,1,1,,20,3,1000,3,1,279600,4,,,1,1,279600,0,4,4,4,1,4,0,4,0,0,0,9,0,0,0,0,0,1,2055,3,0,1,62,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,117,123,132,211,141,42,120,230,195,131,122,218,36,122,41,39,120,37,131,230,138,124,127,220,123,39,139,207,225,125,116,211,35,135,42,37,117,35,120,189,107,138,132,217,120,41,147,212,224,114,129,200,37,145,41,36,118,42,148,230,130,129,126,224,131,33,121,228,216,138,108,179,36,130,35,37,121,45,117 H,186487,8,900,4,16,1015675,27,1,1,1,,1,2,2,,20,40,2,30,1,300,1,,,,,3,1,4,,,,1,2,,14,1,520,9,,,,,,1,6,9640,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,1,1,193,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,32,8,31,25,56,50,9,9,39,25,9,48,53,26,27,8,24,26,28,31,27,41,23,23,7,6,50,38,7,24,46,6,8,22,23,60,28,29,34,31,26,8,28,31,58,45,7,6,38,27,8,44,38,25,25,8,31,24,27,24,29,38,28,25,9,8,48,52,8,27,45,10,10,27,30,51,25,26,25,35 H,186524,8,500,4,16,1015675,92,7,1,1,,3,2,2,,100,0,2,3,3,590,1,,2,560,2,1,1,7,,,,1,1,,17,5,2,5,1,222880,2,,,1,1,222880,0,2,2,2,1,6,2,7,0,0,2,4,0,0,1,0,0,1,801,3,0,1,23,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,99,85,124,177,89,29,92,162,161,100,89,158,28,80,21,23,85,24,93,162,88,90,78,142,101,34,82,154,179,94,91,152,28,89,27,29,86,27,89,146,87,107,95,150,105,32,85,151,152,84,89,155,27,106,26,24,93,28,109,143,92,100,83,144,88,26,98,133,131,95,93,153,22,88,27,28,102,33,88 H,186636,8,800,4,16,1015675,110,4,1,2,1,3,1,2,,160,0,2,3,3,250,1,300,2,850,2,1,1,6,,,200,1,1,,15,2,240,3,1,195000,2,,,1,1,195000,0,2,2,2,1,5,2,4,0,0,2,8,0,0,1,0,0,1,1368,2,0,0,23,2,1,1,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,110,150,32,23,188,149,107,250,123,158,132,123,101,29,117,34,113,135,211,35,99,164,40,28,151,106,107,191,103,175,115,108,93,30,115,32,99,86,31,191,109,29,149,169,31,122,122,32,126,31,130,114,141,191,98,190,113,133,45,197,106,32,184,141,29,116,113,28,136,38,96,153,129,168,97,183,85,86,202 H,186827,8,100,4,16,1015675,76,5,1,1,,5,2,2,,160,0,640,80,1,700,1,,,,,3,1,9,,,,1,2,,11,3,700,9,4,84200,2,,,1,1,84200,1,2,4,2,1,6,0,5,0,0,1,7,0,1,1,0,0,2,460,,0,1,14,3,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,83,127,69,82,65,21,25,78,22,137,20,148,91,115,133,75,63,74,70,87,20,71,129,25,27,55,81,140,75,72,71,95,160,105,74,21,20,109,129,22,91,121,74,83,65,20,23,72,25,138,26,116,68,151,137,68,60,67,84,98,19,87,146,25,33,78,84,129,66,68,69,83,116,70,68,20,28,153,138,25 H,186938,8,600,4,16,1015675,107,2,1,1,,4,2,2,,120,0,2,280,1,690,1,,2,1300,1,1,1,9,,,640,1,1,,21,2,530,3,4,86890,4,,,1,1,86890,0,4,4,4,1,4,0,2,0,0,0,34,0,0,0,2,0,1,2442,2,0,1,60,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,108,32,112,30,183,95,32,31,100,98,118,105,115,206,106,31,173,103,175,30,103,171,110,165,32,103,179,169,102,112,98,101,107,31,123,182,30,108,34,31,103,172,105,190,31,108,190,188,97,102,101,104,109,31,106,172,30,106,28,191,99,34,103,32,182,112,35,30,105,114,106,99,102,185,106,31,184,108,181,189 H,186965,8,700,4,16,1015675,67,2,1,1,,4,2,2,,60,0,2,40,1,340,1,,,,,3,1,9,,,,1,2,,20,2,470,1,4,119400,4,,,1,1,119400,0,4,4,4,1,2,0,2,0,0,0,5,0,0,0,2,0,1,500,,0,1,52,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,20,20,115,93,20,70,104,20,19,66,66,109,59,67,71,65,110,62,62,66,111,118,22,18,127,72,19,116,122,65,67,20,68,71,72,74,18,70,74,66,118,115,20,18,112,63,18,108,112,64,71,19,63,65,63,60,20,69,64,60,18,22,116,115,21,65,112,19,20,63,70,122,67,61,72,69,116,66,65 H,187087,8,700,4,16,1015675,102,2,1,1,,3,2,2,,70,0,200,30,1,1700,1,,1,1100,1,1,1,6,,,200,1,1,,18,3,650,5,1,93700,4,,,1,1,93700,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,0,0,1,1471,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,97,92,101,105,29,30,34,105,161,109,30,104,99,31,106,171,178,176,203,99,109,115,99,103,29,33,31,107,176,103,30,96,94,29,101,201,186,160,28,102,94,97,111,118,178,182,202,95,31,100,179,107,109,175,94,30,30,29,30,101,93,110,109,98,190,161,176,106,31,103,177,107,107,177,99,29,29,31,174 H,187210,8,100,4,16,1015675,31,5,1,1,,1,2,2,,410,0,2,3,3,,1,,,,,,1,4,2,820,,1,3,,,2,480,4,2,57400,2,1270,27,1,1,57400,0,3,3,3,1,5,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,5,3,1,0,1,0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,1,1,1,31,31,50,34,23,8,11,44,49,9,25,51,8,7,28,33,42,28,30,42,25,24,46,31,30,5,8,59,54,8,29,60,10,14,27,23,44,34,34,30,30,33,8,33,24,41,46,8,10,53,23,8,42,45,30,34,9,30,32,44,28,37,10,29,46,41,39,9,9,49,24,10,44,49,36,28,10,30,30,30 H,187257,8,300,4,16,1015675,62,4,1,1,,3,3,2,50,100,0,2,60,1,340,1,,1,830,1,1,1,5,,,170,1,1,,16,3,40,2,4,74700,2,,,1,1,74700,1,2,4,2,1,3,0,4,0,0,1,19,0,1,1,2,1,1,1213,2,0,1,30,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,108,68,14,57,72,14,61,93,95,104,47,55,56,57,76,20,21,19,18,70,20,61,114,52,74,97,70,21,20,22,68,63,65,50,53,104,119,104,13,63,18,75,119,50,62,100,72,16,16,19,65,57,59,48,65,131,121,115,81,68,106,71,19,59,65,20,77,87,85,104,74,67,57,58,66,21,17,17,113 H,187378,8,600,4,16,1015675,97,2,1,,,3,4,,,50,0,2,80,1,720,1,,1,650,1,1,1,7,,,,1,1,,20,2,300,8,2,117800,4,,,1,1,117800,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,0,1,805,3,0,0,41,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,28,89,161,30,152,96,104,93,90,98,93,30,176,98,92,163,156,93,102,90,95,31,91,97,95,29,163,167,169,156,28,100,94,157,28,107,99,27,28,27,29,91,176,30,177,107,104,93,94,91,96,27,167,99,94,173,168,93,93,91,94,26,96,88,100,30,164,175,165,171,27,100,102,167,28,90,97,29,31 H,188073,8,500,4,16,1015675,108,5,1,1,,3,2,2,,70,0,2,70,1,1600,1,,1,860,1,1,1,6,,,350,1,1,,16,2,320,2,2,70600,3,,,1,1,70600,0,3,3,3,1,4,3,5,0,0,3,23,0,0,1,0,0,2,1377,1,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,32,173,93,95,33,119,30,30,182,167,109,111,113,123,36,184,93,105,183,131,31,167,125,107,28,119,36,31,175,193,106,113,108,98,35,169,109,120,27,103,192,31,106,103,177,120,194,187,35,29,102,96,103,102,176,32,110,119,37,103,183,28,120,110,179,120,181,202,28,30,120,123,111,109,175,32,118,111,191 H,188386,8,100,4,16,1015675,101,2,1,2,1,3,2,2,,80,0,2,30,1,430,1,,1,910,1,1,1,7,,,,1,1,,17,6,130,2,,,,,,1,5,59900,0,4,4,4,1,3,0,,0,1,0,21,2,0,0,0,0,1,1031,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,37,202,190,105,98,99,32,106,166,92,187,137,31,100,27,83,103,35,97,97,33,179,153,95,94,79,25,106,166,102,176,196,32,122,28,83,126,25,95,104,176,33,28,97,104,87,179,107,32,99,31,26,175,102,173,97,93,201,118,101,146,27,29,107,101,92,145,83,30,107,32,36,166,101,159,108,104,178,96 H,188400,8,100,4,16,1015675,53,1,1,2,1,5,2,2,,50,0,2,3,2,500,1,,2,300,2,1,1,9,,,,1,1,,9,1,2,9,,,,,,1,6,12300,0,4,4,4,1,7,0,,0,0,0,39,0,0,0,1,1,1,403,3,0,1,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,17,87,107,17,10,49,12,45,47,94,50,92,49,71,48,43,15,74,48,17,49,68,62,61,50,15,51,67,15,75,17,58,90,53,76,16,56,89,81,50,17,78,81,17,17,46,16,71,50,89,39,75,53,88,58,64,17,61,56,14,40,61,51,45,52,15,56,94,17,46,20,44,82,50,75,22,52,80,83,58 H,188474,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,188493,8,800,4,16,1015675,54,1,1,2,1,2,2,2,,1,0,160,3,3,,1,,,,,,1,4,,,,1,4,,,1,1,3,,,,,,2,6,33000,0,4,4,4,2,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,88,26,55,60,77,54,15,68,61,72,89,15,15,132,54,11,71,54,35,50,80,96,42,59,67,41,67,53,95,22,19,99,76,17,62,114,18,15,98,45,70,114,42,53,60,46,50,67,94,15,15,97,79,15,68,93,19,21,61,43,47,15,55,61,65,37,16,72,68,88,73,14,13,82,68,16,76,96,57 H,188583,8,600,4,16,1015675,90,1,1,1,,2,2,2,,30,0,2,110,1,600,1,,1,950,1,1,1,5,,,,1,1,,16,1,570,8,,,,,,1,6,47300,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,0,0,1,1138,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,89,143,91,88,28,29,141,155,25,85,137,27,26,82,96,160,93,91,84,101,94,25,90,90,153,171,25,25,156,88,26,157,157,90,86,27,92,91,87,87,81,27,96,93,145,138,31,27,165,84,27,137,160,90,92,27,84,102,84,95,80,170,79,93,29,25,146,167,26,92,146,23,23,94,86,159,84,107,80 H,188770,8,100,4,16,1015675,54,1,1,1,,3,2,2,,60,0,250,100,6,400,1,,,,,3,1,4,,,,1,2,,13,1,680,9,,,,,,1,4,10800,0,4,4,4,1,7,0,,0,0,0,36,0,0,0,1,1,1,321,,0,1,14,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,41,61,102,64,24,22,15,50,60,65,45,55,95,79,68,50,15,50,17,83,52,45,97,65,19,21,13,48,47,45,48,51,91,79,76,59,17,57,100,19,58,49,15,63,111,104,99,48,51,65,59,59,13,15,15,44,76,47,74,19,56,53,17,45,98,95,79,52,55,63,57,49,17,13,15,48,91,50,13 H,188801,8,400,4,16,1015675,74,4,1,,,2,4,,,50,1200,2,20,1,,1,,,,,,1,4,2,430,,1,3,,,2,450,3,2,34200,3,538,19,1,1,34200,0,3,3,3,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,73,83,91,67,18,24,26,83,95,100,25,79,50,17,108,139,136,111,115,72,66,74,66,74,25,26,26,68,116,78,19,76,100,28,57,109,119,128,131,64,78,84,69,72,22,17,23,85,100,60,33,114,56,21,77,107,146,117,129,75,62,82,71,67,36,31,17,77,105,86,24,77,95,26,54,113,111,111,163 H,189089,8,300,4,16,1015675,189,1,1,3,1,3,2,2,,90,0,2,3,6,,1,,,,,,1,6,,,,1,4,,,3,2,5,,,,,,1,4,13900,0,4,4,4,1,7,0,,0,0,0,,0,0,0,0,0,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,193,310,342,313,238,83,144,276,250,153,260,196,60,59,59,220,195,197,309,193,133,52,110,55,132,416,217,45,186,182,62,226,364,332,266,210,193,210,237,189,187,57,70,73,256,367,175,64,160,143,63,184,259,294,327,253,248,235,47,180,150,273,379,338,156,66,201,271,124,139,291,175,62,72,73,251,285,251,59 H,189459,8,400,4,16,1015675,53,2,1,1,,2,1,2,,20,0,20,20,2,200,1,900,,,,3,1,4,,,,1,2,,4,2,20,5,4,22500,4,,,1,1,22500,0,4,4,4,1,1,0,2,0,0,0,8,0,0,0,2,2,2,153,,0,0,6,0,9,9,0,0,1,0,0,0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,1,1,1,45,54,62,51,58,17,17,18,66,79,55,20,55,72,20,52,91,89,87,19,52,52,68,61,49,85,74,85,56,15,57,98,52,65,102,45,13,17,14,99,52,49,51,60,64,18,14,13,55,85,64,20,57,54,14,49,104,94,80,16,52,58,63,63,57,91,82,80,50,18,59,96,47,62,81,48,18,16,17,81 H,189482,8,500,4,16,1015675,82,3,1,1,,3,2,2,,80,0,2,130,1,100,1,,1,710,1,1,1,6,,,,2,1,,14,3,60,3,1,33300,1,,,1,1,33300,0,1,1,1,1,1,1,3,0,0,1,33,0,0,1,0,0,1,925,3,0,1,6,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,137,74,128,127,70,136,28,86,83,84,25,73,120,85,27,29,74,80,84,25,121,90,153,140,91,146,25,78,82,80,19,84,163,84,26,23,83,96,101,140,23,91,23,22,93,30,123,81,94,77,137,80,22,86,138,136,90,99,83,135,28,75,23,22,83,26,141,83,78,82,127,83,21,60,129,148,85,76,81 H,190179,8,700,4,16,1015675,123,2,1,,,2,5,,,40,0,2,50,1,,1,,,,,,1,4,2,630,,1,3,,,1,2,2,4,27100,4,720,32,1,1,27100,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,129,209,115,112,42,37,205,190,34,124,195,33,36,135,116,205,125,106,123,122,125,184,134,122,34,32,202,209,40,127,201,35,39,123,122,203,129,127,104,110,137,218,113,113,37,37,196,196,40,119,206,35,33,106,109,224,117,124,127,117,114,208,115,120,37,44,222,216,38,123,190,40,37,118,132,202,119,132,134 H,190282,8,700,4,16,1015675,100,2,1,2,1,4,2,2,,40,0,310,3,4,440,1,,2,120,2,1,1,8,,,,1,1,,15,2,2,5,4,16100,4,,,1,1,16100,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,2,2,1,273,3,0,1,13,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,31,109,96,98,28,170,31,99,189,176,189,102,28,151,96,100,88,103,112,157,197,113,94,89,188,29,171,96,31,32,29,100,167,31,104,93,100,96,106,168,173,104,101,103,168,34,178,105,33,29,30,96,166,29,88,101,113,100,97,28,28,90,101,100,26,160,28,100,182,171,169,109,30,177,98,99,103,93,97 H,190300,8,900,4,16,1015675,75,3,1,1,,3,2,2,,40,0,2,10,1,270,1,,1,450,1,1,1,6,,,,1,1,,9,3,530,9,1,46900,1,,,1,1,46900,0,1,1,1,1,4,1,3,0,0,1,14,0,0,1,0,0,1,544,3,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,150,61,22,67,67,98,146,25,126,20,74,78,80,80,33,72,121,64,20,92,65,124,66,31,27,17,79,100,60,64,89,130,120,113,62,21,77,192,114,23,97,61,29,66,76,87,97,25,129,16,138,110,84,78,21,78,136,72,22,69,74,129,81,25,17,23,86,54,61,99,91,108,132,126,91,31,59,105,84 H,190738,8,100,4,16,1015675,109,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,112,121,34,119,31,189,194,112,103,103,37,93,169,110,168,172,33,126,115,36,118,104,33,104,32,164,168,99,99,114,31,118,182,121,176,165,41,101,111,33,125,117,30,109,39,177,192,123,109,113,32,91,201,111,198,176,33,125,126,33,99,103,29,105,30,194,175,97,104,111,32,112,169,103,169,188,29,109,95 H,191197,8,100,4,16,1015675,99,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,95,34,149,102,197,127,81,146,29,98,121,98,24,110,185,115,31,28,105,118,96,146,33,97,35,31,87,28,145,86,102,89,149,86,21,102,151,156,108,108,92,26,156,109,165,172,93,158,33,95,97,114,30,101,185,96,29,33,101,96,94,158,24,88,28,25,116,27,142,104,80,99,158,95,32,90,158,165,91 H,191213,8,200,4,16,1015675,67,2,1,1,,2,2,2,,100,0,2,3,3,400,1,,,,,3,1,4,,,,1,2,,14,3,900,9,1,119000,4,,,1,1,119000,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,1,0,1,333,,0,1,27,2,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,75,133,23,80,59,85,17,63,128,67,19,21,60,61,18,151,55,104,47,20,60,17,143,62,68,71,115,57,16,65,90,123,61,56,150,15,69,19,99,122,70,90,17,63,69,75,18,71,105,68,19,17,57,69,17,123,62,105,61,24,72,17,109,62,89,72,113,69,18,100,98,115,71,57,130,15,76,22,92 H,191311,8,300,4,16,1015675,16,1,1,1,,1,1,2,,20,0,2,50,1,0,1,1400,,,,3,1,3,,,,1,2,,1,1,2,4,,,,,,1,6,9300,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,1,1,189,,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,35,14,5,15,15,15,29,5,18,3,27,11,23,20,4,20,28,21,7,18,14,31,22,7,5,5,13,19,21,16,18,31,23,23,14,3,13,23,25,29,3,16,26,14,17,20,3,27,3,27,5,18,16,16,26,18,5,16,27,13,22,7,18,34,27,32,19,13,14,16,14,3,5,5,24,27,13,3,24 H,191861,8,500,4,16,1015675,66,4,1,1,,3,3,2,,20,0,2,70,1,230,1,,1,220,1,1,1,5,,,,1,1,,3,4,310,2,5,28100,4,,,4,2,28100,0,4,4,4,2,3,0,4,0,0,0,14,0,0,0,0,0,1,336,3,0,1,1,3,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,51,25,94,97,68,67,55,20,72,78,64,102,89,23,63,25,76,64,21,68,56,28,100,90,80,90,64,24,54,93,66,132,96,22,62,29,102,71,25,57,103,20,91,99,69,59,69,24,57,106,74,86,118,23,66,24,58,66,22,86,74,26,90,101,71,55,73,20,71,115,61,88,108,27,70,25,56,73,18,64 H,192022,8,400,4,16,1015675,159,3,1,1,,4,2,2,,40,0,2,30,1,300,1,,1,530,1,1,1,7,,,60,1,1,,15,5,480,5,2,39700,4,,,2,1,39700,0,4,4,4,1,3,0,3,0,0,0,21,0,0,0,1,0,1,700,2,0,1,24,3,2,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,52,291,165,49,290,296,164,163,44,158,121,155,128,46,166,141,224,229,155,43,57,238,127,47,321,254,127,146,50,170,187,188,165,44,157,199,323,226,148,259,290,46,138,223,45,54,189,153,267,202,160,169,143,235,191,251,52,37,177,219,281,47,133,338,64,45,142,152,253,181,160,130,127,261,156,157,49,45,185 H,192193,8,700,4,16,1015675,72,2,1,1,,3,2,2,,20,0,2,120,1,400,1,,,,,3,1,5,,,,1,2,,15,1,230,3,4,16200,4,,,1,1,16200,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,2,2,1,224,,0,1,9,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,71,117,74,66,126,74,22,136,128,18,71,72,18,81,20,60,68,68,117,20,73,22,76,71,20,75,134,20,23,120,65,66,112,69,121,71,68,85,129,22,72,22,68,68,20,66,119,22,19,116,71,69,116,64,109,72,71,78,22,114,71,105,67,74,131,76,19,138,129,19,74,73,24,71,22,63,71,73,20 H,192344,8,900,4,16,1015675,61,1,1,,,1,5,,,2,360,2,3,1,,1,,,,,,1,2,2,260,,1,3,,,0,1,9,,,,260,32,1,4,9760,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,18,19,100,20,46,67,108,119,99,65,60,19,101,64,15,58,55,66,16,15,58,62,64,69,105,20,44,57,68,91,21,51,68,108,57,103,102,17,56,62,84,102,20,101,54,58,20,22,18,64,68,105,15,53,100,69,52,56,82,112,51,71,63,65,20,88,54,49,64,21,106,63,64,17,68,21,18,100,85 H,192634,8,300,4,16,1015675,223,0,1,1,,2,1,2,,,,,,,,2,,,,,,2,3,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,357,230,64,68,71,237,229,245,223,239,359,383,338,199,74,237,462,253,200,369,68,186,375,401,359,225,210,199,216,225,66,70,63,203,362,233,65,227,213,391,63,224,372,327,374,212,192,191,220,208,60,67,61,209,473,227,65,239,230,83,352,203,69,73,78,214,215,202,242,227,346,369,353,241,79,237,344,228,241,61 H,193216,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,193273,8,800,4,16,1015675,93,2,1,2,6,4,2,2,,60,0,2700,300,4,2000,1,,2,610,1,1,1,8,,,,1,1,,15,2,220,7,8,82800,4,,,1,3,82800,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,1,1,1,1380,3,0,1,28,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,179,118,22,136,97,73,147,22,182,23,147,82,77,111,34,89,165,123,50,80,89,193,101,28,33,30,92,83,92,111,80,164,182,132,94,25,73,153,93,150,34,109,134,87,90,89,30,186,24,109,34,98,86,98,187,91,25,95,158,84,86,35,116,158,144,168,91,69,87,93,121,35,26,29,132,164,78,29,81 H,193380,8,800,4,16,1015675,59,2,1,1,,5,2,2,,100,0,2,100,1,0,1,,,,,3,1,8,,,,1,2,,12,2,200,7,,,,,,2,5,28000,0,4,4,4,1,4,0,,0,1,0,11,2,0,0,0,0,2,250,,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,55,17,82,45,50,88,65,63,139,74,51,46,116,32,16,17,20,82,56,49,53,15,192,71,51,91,53,62,82,62,49,58,96,17,29,27,17,94,70,79,58,81,18,72,80,21,49,75,13,61,59,51,14,70,98,110,85,16,50,93,77,110,12,63,63,18,74,51,19,54,65,83,19,95,78,73,92,22,55,42 H,193413,8,300,4,16,1015675,18,2,1,1,,3,1,2,,240,600,2,3,3,300,1,0,,,,3,1,5,,,,1,2,,11,1,2,5,4,6750,4,,,1,1,6750,0,4,4,4,1,1,0,2,0,0,0,60,0,0,0,0,0,1,340,,0,0,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,15,4,16,17,5,15,5,26,38,24,23,19,6,13,24,21,24,29,18,28,19,34,21,17,28,16,24,6,5,15,16,16,34,23,4,16,6,5,20,3,22,6,25,19,5,23,5,36,35,13,16,20,3,24,29,16,40,23,19,31,16,29,15,18,34,14,31,5,5,20,13,19,25,13,7,24,7,5,20 H,193973,8,900,4,16,1015675,84,3,1,1,,3,2,2,,50,2300,2,200,1,,1,,,,,,1,5,2,500,,1,3,,,1,720,2,2,8000,1,810,101,1,1,8000,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,105,34,99,172,132,99,62,92,83,108,117,25,20,19,75,120,87,47,89,22,70,111,83,27,30,23,103,92,102,84,84,163,149,206,90,18,83,111,95,147,81,28,79,117,211,148,92,78,85,101,91,29,23,27,89,126,72,16,95,31,94,149,87,32,20,22,83,85,87,97,97,178,112,138,68,22,91,155,105,127 H,194378,8,400,4,16,1015675,90,2,1,1,,2,1,2,,30,0,2,3,3,0,1,2800,,,,3,1,4,,,,1,2,,1,1,1,4,7,10400,1,,,2,3,10400,0,1,1,1,2,3,1,2,0,0,1,31,0,0,1,0,0,2,266,,0,0,2,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,32,132,88,92,133,105,139,120,174,129,27,94,165,95,96,155,104,35,27,29,27,99,87,65,85,93,166,126,113,86,32,75,104,80,107,155,108,27,24,34,23,101,112,113,116,86,119,134,132,78,19,66,121,75,90,129,74,34,31,36,24,94,128,104,114,145,179,150,130,100,27,84,142,92,80,123,98,44,33,25 H,194390,8,800,4,16,1015675,17,1,1,1,,3,2,2,,90,0,600,3,4,750,1,,,,,3,1,6,,,,1,2,,22,0,640,9,,,,,,1,6,15700,0,4,4,4,1,7,0,,0,0,0,37,0,0,0,1,1,2,481,,0,1,39,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,5,17,16,31,14,21,19,15,41,21,15,5,5,29,27,5,17,30,7,17,29,18,19,5,17,17,18,19,5,19,16,32,31,7,5,27,20,5,38,21,27,15,20,3,19,15,16,18,5,21,16,34,27,5,6,32,21,5,33,19,3,17,15,25,20,22,18,17,33,18,20,7,5,31,37,7,21,31,5,17 H,194519,8,100,4,16,1015675,19,2,1,1,,2,2,2,,50,0,2,40,1,580,1,,2,360,2,1,1,7,,,,1,1,,19,2,710,9,1,56700,4,,,1,1,56700,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,1,1,1,696,3,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,5,17,7,20,5,24,20,21,22,7,5,17,19,8,21,21,7,19,20,26,20,28,17,29,24,30,33,42,44,17,15,30,36,25,32,27,17,5,5,5,3,17,7,19,5,18,22,28,22,5,7,17,17,7,20,18,5,12,20,20,16,37,28,38,18,37,42,29,31,23,19,34,36,21,28,34,22,5 H,194748,8,900,4,16,1015675,65,4,1,1,,3,2,2,,40,0,2,110,1,1100,1,,1,780,1,1,1,8,,,120,1,1,,14,2,80,6,1,73350,2,,,1,1,73350,0,2,2,2,1,3,2,4,0,0,2,17,0,0,1,0,0,1,1057,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,21,118,65,70,67,109,63,16,71,95,146,71,69,124,17,58,19,18,67,70,116,16,68,71,60,19,59,113,57,16,18,68,56,20,149,71,113,114,71,62,21,111,74,76,60,95,56,18,60,117,105,48,55,103,22,72,16,16,54,75,114,19,68,60,65,20,69,108,64,22,23,76,67,22,110,66,116,108,60 H,195315,8,500,4,16,1015675,46,2,1,2,1,3,2,2,,80,0,2,100,6,,1,,,,,,1,5,2,280,,1,3,,,3,2,8,,,,460,62,1,5,8900,0,4,4,4,1,3,0,,0,1,0,,1,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,48,13,65,74,71,78,12,41,50,73,13,51,49,15,46,49,15,47,44,52,45,14,94,85,62,87,15,44,41,78,14,46,46,15,48,47,14,53,41,45,47,15,75,79,74,82,12,45,43,81,11,46,47,13,40,45,13,48,53,46,45,13,79,83,83,72,17,50,48,75,13,47,49,13,52,45,15,51,46 H,195532,8,700,4,16,1015675,82,2,1,2,1,3,2,1,,130,0,1600,50,1,780,1,,,,,3,1,6,,,,1,2,,17,3,280,6,4,36490,4,,,1,1,36490,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,501,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,23,74,84,78,20,138,27,80,139,143,129,82,22,135,91,81,85,82,88,25,25,90,75,83,25,154,22,90,139,121,150,86,24,133,72,98,93,81,84,25,27,79,89,83,25,153,25,92,142,137,133,84,23,135,88,82,91,78,76,23,24,87,79,76,22,134,25,82,129,138,144,81,24,135,80,84,92,80,86 H,195565,8,400,4,16,1015675,97,4,1,3,3,2,2,2,,70,0,2,50,2,,1,,,,,,1,5,2,800,,1,3,,,2,2,8,1,45700,2,920,24,1,1,45700,0,2,2,2,1,5,1,4,0,0,1,,0,0,1,0,0,2,,,0,0,,3,2,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,106,105,93,174,147,136,96,23,91,164,102,103,160,90,34,40,30,85,158,125,96,90,91,34,32,25,88,140,92,25,88,94,26,118,181,203,195,91,30,65,79,96,84,180,186,182,102,23,122,163,101,100,183,117,29,28,36,108,154,95,77,105,104,29,33,33,88,142,79,32,86,80,22,108,203,173,175,114,36 H,195971,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,195989,8,800,4,16,1015675,46,5,1,3,3,4,2,2,,200,0,2,3,3,400,1,,2,450,2,1,1,7,,,,1,1,,13,3,2,3,1,50200,2,,,1,1,50200,0,2,2,2,1,5,3,5,0,0,3,17,0,0,1,0,0,1,725,3,0,0,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,51,15,39,67,33,36,82,48,9,15,18,47,68,61,44,48,96,72,94,17,45,53,40,19,77,60,15,59,81,59,75,56,30,35,73,47,10,19,19,79,48,14,49,67,40,42,77,39,14,21,18,45,43,45,59,63,85,76,69,14,46,102,50,9,31,38,12,62,87,65,69,63,49,35,42,53,21,15,8 H,196097,8,100,4,16,1015675,37,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,64,12,65,42,37,43,46,39,39,12,70,36,39,66,62,41,11,12,38,55,36,30,36,62,10,13,12,10,61,35,38,10,56,42,37,58,35,36,63,42,12,62,11,36,36,34,36,38,34,65,11,34,32,10,12,33,65,67,41,10,35,42,36,12,59,57,73,59,12,38,35,70,12,40,37,12,38,40,11 H,196405,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,196589,8,200,4,16,1015675,312,1,1,1,,2,1,2,,50,0,2,3,3,,1,,,,,,1,3,2,500,,1,3,,,2,480,5,,,,590,46,3,6,15550,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,466,404,113,419,428,88,113,268,264,392,359,328,313,340,428,378,406,144,327,378,104,155,325,265,114,303,481,475,381,166,292,298,379,307,109,237,364,501,233,426,88,112,470,308,109,422,384,389,418,131,293,298,369,353,110,304,321,449,342,118,465,496,111,331,476,103,93,246,373,442,327,348,336,288,422,322,359,132,260 H,196672,8,700,4,16,1015675,222,4,1,1,,4,2,2,,80,0,2,100,1,420,1,,1,1600,1,1,1,6,,,,1,1,,19,2,420,1,1,101900,2,,,1,1,101900,0,2,2,2,1,2,2,4,0,0,2,21,0,0,1,0,0,2,1815,3,0,1,32,2,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,222,227,204,68,218,357,232,405,404,66,222,67,213,225,72,235,62,364,369,256,221,222,230,69,215,376,226,380,365,66,248,68,214,210,61,210,68,390,361,217,226,207,222,59,250,380,205,395,335,69,219,67,237,241,69,213,65,358,379,221,231,224,234,68,228,398,218,357,374,66,199,64,239,227,69,224,62,388,412,207 H,196721,8,800,4,16,1015675,118,1,1,,,2,4,,,30,0,2,50,1,,1,,,,,,1,3,2,520,,1,3,,,1,1,2,,,,600,16,1,4,45000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,189,170,115,127,125,104,116,28,119,273,36,133,37,131,238,87,158,31,197,141,35,32,111,126,135,126,120,204,100,36,212,117,219,109,31,119,34,187,166,128,31,34,117,114,136,126,115,215,118,40,181,109,210,126,32,134,38,179,35,104,191,203,133,135,131,116,118,35,132,214,32,105,38,111,171,108,226,38,46 H,197436,8,100,4,16,1015675,463,2,1,,,3,4,,,150,0,2,2,1,,1,,,,,,1,5,2,750,,1,3,,,2,1,2,7,30000,1,900,36,1,3,30000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,867,467,887,158,456,557,429,148,411,779,406,145,149,550,522,121,598,439,705,431,194,530,126,690,478,531,466,710,456,129,419,733,772,564,451,626,172,502,133,507,138,492,127,588,473,503,463,713,539,126,471,662,791,485,391,835,184,505,148,458,804,427,783,154,482,421,420,179,409,754,486,161,145,537,575,151,640,433,746,443 H,197479,8,600,4,16,1015675,95,1,1,,,1,5,,,30,0,1,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,2,3,,,,580,44,1,6,16000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,160,29,25,104,97,95,158,105,31,103,29,33,150,97,165,93,91,149,91,107,170,28,28,97,97,93,174,98,27,114,28,31,169,89,166,84,90,145,93,102,167,25,32,101,95,99,155,92,26,99,31,25,145,109,186,97,110,176,89,98,172,33,26,88,106,92,176,87,29,88,26,29,176,97,183,96,91,172,95,92 H,197513,8,100,4,16,1015675,47,4,1,1,,4,2,2,,90,0,2,3,3,530,1,,2,600,2,1,1,9,,,50,1,1,,14,3,360,5,1,58600,2,,,1,1,58600,0,2,2,2,1,5,2,4,0,0,2,19,0,0,1,0,0,1,929,2,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,13,44,65,13,43,89,85,79,50,40,42,42,39,13,20,15,47,103,20,42,74,48,48,79,36,10,14,16,56,46,45,52,37,81,83,83,61,13,17,47,78,47,50,69,43,13,14,13,47,40,47,41,33,73,105,87,56,17,120,44,15,44,39,15,35,54,107,94,56,50,48,46,34,15,19,17,57,85,78 H,197632,8,500,4,16,1015675,21,1,1,2,1,3,2,2,,220,0,2,3,3,700,1,,2,1300,2,1,1,7,,,,1,1,,20,2,2,2,,,,,,1,6,29000,0,4,4,4,1,3,0,,0,0,0,71,0,0,0,0,0,2,1724,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,7,23,38,38,23,20,24,22,22,5,21,37,6,21,6,21,42,20,6,36,6,21,38,37,19,20,21,24,21,6,22,38,7,22,7,19,36,23,40,7,36,21,8,5,20,23,25,17,21,42,24,6,44,21,35,20,6,22,40,5,39,20,6,8,25,21,25,19,21,41,20,7,40,22,43,22,7,18,5 H,198069,8,700,4,16,1015675,25,1,1,1,,3,2,2,,30,0,2,10,1,360,1,,,,,3,1,5,,,,1,2,,16,1,560,3,,,,,,1,6,14630,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,1,1,1,192,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,23,24,44,41,22,31,44,27,27,46,44,42,42,27,42,26,38,25,7,25,25,24,8,7,25,29,7,25,28,6,6,7,7,25,9,30,9,27,41,26,28,27,46,42,26,23,44,25,29,39,42,49,45,24,45,24,41,24,7,26,25,27,7,8,25,25,6,24,25,7,7,9,9,25,7,27,9,26,42 H,198458,8,700,4,16,1015675,97,1,1,,,2,4,,,130,0,2,110,1,,1,,,,,,1,4,2,700,,1,3,,,1,1,7,,,,940,24,1,4,48000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,170,98,27,155,175,28,101,93,29,99,28,94,100,123,166,98,177,86,28,105,169,86,32,165,155,25,93,97,31,97,28,91,102,97,168,102,186,103,147,97,32,105,160,29,29,185,95,101,180,97,175,106,93,89,27,114,26,99,174,96,26,96,158,27,29,199,103,96,160,91,151,103,100,91,30,95,28,100,32 H,198734,8,300,4,16,1015675,13,1,1,1,,3,2,2,,20,0,2,40,1,800,1,,,,,3,1,7,,,,1,2,,9,1,30,7,,,,,,1,6,7500,0,4,4,4,1,7,0,,0,0,0,33,0,0,0,1,1,1,208,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,13,14,10,15,3,4,20,21,14,26,3,25,13,20,15,4,3,11,20,4,4,21,16,3,12,14,3,11,3,11,13,8,19,11,18,15,14,24,11,20,13,13,13,15,3,5,12,19,13,24,5,13,15,25,8,3,4,13,21,4,2,17,19,4,10,13,5,10,3,13,13,13,17,12,27,15,11,16,10,9 H,199107,8,100,4,16,1015675,73,1,1,1,,2,1,2,,80,0,2,3,3,280,1,550,,,,3,1,4,,,,1,2,,11,1,1,5,,,,,,1,6,14900,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,1,1,1,203,,0,0,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,69,133,85,26,84,17,20,118,72,120,65,88,197,57,103,22,23,78,66,66,77,118,70,22,59,19,20,133,65,103,82,94,137,79,140,31,20,64,79,84,57,115,93,18,73,17,24,125,78,127,66,68,137,64,123,20,18,65,85,70,82,135,86,18,62,23,32,138,66,119,73,83,115,76,149,21,22,60,80 H,199191,8,600,4,16,1015675,82,2,1,1,,2,3,2,,40,0,2,30,1,700,1,,1,1000,1,1,1,5,,,200,1,1,,18,2,1200,3,5,104000,4,,,2,2,104000,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,1370,2,0,1,28,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,88,23,81,130,93,66,103,85,23,30,28,77,119,82,73,86,106,122,28,122,95,29,69,111,75,86,176,85,28,27,24,82,87,69,80,95,168,117,91,26,101,125,102,26,74,91,19,100,124,158,147,99,126,83,80,87,20,24,144,24,82,154,70,22,77,78,28,141,111,138,135,72,78,63,77,105,27,18,24 H,199236,8,200,4,16,1015675,133,1,1,3,1,4,2,2,,410,0,300,3,3,2700,1,,,,,3,1,9,,,,1,2,,21,2,320,6,,,,,,1,6,29800,0,4,4,4,1,7,0,,0,0,0,34,0,0,0,1,1,1,854,,0,0,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,29,31,142,155,146,137,145,212,229,216,136,36,122,235,118,125,326,196,213,206,219,258,147,119,115,127,130,50,48,46,118,223,157,42,136,162,36,105,199,222,255,228,148,160,148,142,146,43,42,35,131,236,144,36,107,147,44,121,48,56,43,35,128,155,137,120,134,193,200,250,147,41,159,217,110,87,204,177,36 H,199248,8,200,4,16,1015675,150,1,1,,,1,6,,,60,0,2,3,3,,1,,,,,,1,4,2,190,,1,3,,,0,1,6,,,,250,32,1,4,9500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,397,43,54,180,123,59,251,191,139,171,40,189,162,136,160,48,219,108,141,46,44,295,251,53,157,216,44,48,169,142,264,180,138,141,127,227,159,157,173,264,277,45,49,205,115,52,269,256,115,188,38,110,176,173,159,56,149,154,139,52,37,263,246,49,162,223,46,48,141,136,248,190,188,165,151,217,105,151,148 H,199341,8,200,4,16,1015675,58,2,1,1,,3,2,2,,100,0,100,3,6,490,1,,,,,3,1,6,,,,1,2,,12,2,660,4,2,80900,4,,,1,1,80900,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,2,2,2,248,,0,1,12,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,64,23,63,53,17,72,93,19,15,89,53,77,106,66,101,47,58,59,17,19,61,97,70,70,123,63,15,105,79,15,56,69,18,49,17,58,66,65,91,17,62,93,51,65,111,50,15,137,99,17,70,71,17,67,22,68,64,54,79,84,58,21,55,53,13,60,102,14,20,113,58,60,82,61,88,52,68,63,17,83 H,199864,8,600,4,16,1015675,139,2,1,1,,3,2,2,,50,0,2,50,1,,1,,,,,,1,6,2,600,,1,3,,,2,410,9,7,35000,4,734,25,1,3,35000,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,235,206,149,132,140,271,45,257,135,41,40,40,139,231,45,129,122,135,132,132,45,41,138,135,137,43,223,37,136,238,235,266,137,41,236,144,147,130,131,135,218,250,138,144,135,226,44,224,153,38,40,38,143,251,44,138,117,147,133,144,44,41,132,143,141,38,205,42,123,226,229,235,126,47,252,150,141,155,124 H,200264,8,100,4,16,1015675,63,2,1,1,,4,2,2,,30,0,1800,3,4,680,1,,1,970,1,1,1,7,,,,1,1,,15,2,560,9,1,54800,4,,,1,1,54800,0,4,4,4,1,1,0,2,0,0,0,26,0,0,0,0,0,1,1197,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,17,102,73,21,97,160,51,68,24,78,74,54,51,25,69,65,146,125,77,132,133,15,37,142,18,15,68,81,112,61,58,54,56,139,78,41,17,24,50,27,20,104,62,22,73,123,91,68,22,88,60,62,45,25,58,59,137,83,83,89,99,22,57,92,20,20,54,53,92,72,97,76,64,101,62,72,13,16,51 H,200419,8,700,4,16,1015675,89,2,1,2,3,3,2,2,,200,0,2,3,3,500,1,,2,610,2,1,1,7,,,600,1,1,,19,3,1200,3,1,68520,4,,,1,1,68520,0,4,4,4,1,4,0,2,0,0,0,29,0,0,0,0,0,2,1658,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,90,87,82,168,85,24,84,157,154,94,85,156,26,88,25,28,95,28,95,132,87,89,84,135,91,30,92,143,148,97,88,157,29,93,32,23,80,29,91,29,93,96,103,27,86,161,91,27,29,83,90,27,134,93,146,133,80,134,91,26,91,98,99,29,90,136,91,24,30,92,83,25,150,85,140,157,100,139,84 H,200518,8,100,4,16,1015675,74,2,1,2,1,2,1,2,,110,0,500,3,6,370,1,0,,,,3,1,4,,,,1,2,,17,2,2,6,,,,,,1,7,72500,0,4,4,4,1,4,0,,0,1,0,5,3,0,0,0,0,2,283,,0,0,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,82,86,74,17,21,123,19,88,64,123,113,133,81,76,17,103,76,20,70,19,124,26,17,61,72,77,91,147,25,64,76,69,121,21,67,81,102,81,123,64,68,75,64,130,111,22,111,86,76,15,17,27,64,68,129,23,86,143,73,125,21,110,145,74,85,74,76,21,103,78,95,79,18,100,84,74,18,85,23,83 H,200725,8,500,4,16,1015675,110,4,1,1,,3,2,2,,140,0,2,100,1,1200,1,,1,840,1,1,1,5,,,,1,1,,14,0,50,8,1,49000,2,,,1,1,49000,0,2,2,2,1,3,2,4,0,0,2,27,0,0,1,0,0,1,1084,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,124,32,31,121,169,31,174,119,117,127,114,99,106,28,183,106,97,209,111,121,182,100,126,194,120,94,99,203,35,34,29,35,181,103,109,32,171,100,33,171,117,29,31,116,182,32,148,105,141,109,108,111,111,38,176,104,111,181,101,107,203,127,119,185,109,116,119,177,33,31,33,35,175,90,107,34,183,115,32 H,200865,8,400,4,16,1015675,65,1,1,1,,2,2,2,,40,0,1000,3,4,700,1,,,,,3,1,4,,,,1,2,,5,4,2,8,,,,,,1,4,9600,0,4,4,4,1,7,0,,0,0,0,26,0,0,0,0,0,1,205,,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,25,77,59,74,66,15,62,72,118,120,21,21,113,64,24,117,110,60,55,67,16,67,58,64,64,18,63,54,118,136,17,18,113,77,23,118,104,60,52,54,17,71,65,54,77,18,44,72,126,129,19,25,96,64,24,105,122,54,48,83,24,86,71,62,60,18,59,71,135,144,15,18,122,74,23,103,111,61,60,56 H,200972,8,200,4,16,1015675,29,1,1,1,,4,2,2,,50,0,10,3,4,600,1,,1,500,1,1,1,7,,,,1,1,,11,2,660,6,,,,,,1,4,61000,0,4,4,4,1,1,0,,0,0,0,12,0,0,0,0,0,2,606,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,8,12,7,42,69,23,11,31,24,6,25,35,54,63,24,31,32,33,39,32,11,10,10,28,57,27,7,32,31,11,31,38,52,56,32,20,30,41,8,29,59,59,38,24,11,38,55,33,29,38,28,6,10,9,24,24,31,39,5,37,55,55,45,30,11,29,51,25,23,45,22,8,10,12,39,24,32,32,43 H,201403,8,100,4,16,1015675,26,2,1,3,1,2,1,2,,70,0,1300,3,4,650,1,0,1,830,1,1,1,5,,,,1,1,,18,3,2,4,1,59000,4,,,1,1,59000,0,4,4,4,1,3,0,2,0,0,0,21,0,0,0,0,0,1,1008,3,0,0,15,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,44,8,7,47,23,7,44,43,24,24,8,25,30,27,25,8,21,21,25,32,36,8,7,36,26,7,38,41,26,28,8,31,22,19,26,9,24,20,25,43,37,7,7,51,29,5,47,46,22,25,7,26,25,22,23,8,27,25,30,44,40,6,6,49,27,5,45,43,20,23,9,27,22,24,28,8,20,20,28 H,201461,8,300,4,16,1015675,130,4,1,1,,4,2,2,,90,0,2,80,1,700,1,,2,1200,2,1,1,9,,,,1,1,,18,4,30,2,3,131700,2,,,1,1,131700,0,2,2,2,1,4,1,4,0,0,1,15,0,0,1,1,0,1,1666,3,0,1,40,3,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,140,147,194,145,36,33,38,114,153,121,116,128,227,210,214,131,42,148,218,37,138,112,44,116,244,189,209,132,140,136,131,131,39,33,41,147,209,108,204,41,143,136,50,116,243,216,229,117,117,133,127,108,38,32,37,154,230,117,32,225,142,152,221,147,36,36,41,113,155,116,136,130,216,209,230,135,34,123,45 H,201571,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,201708,8,300,4,16,1015675,63,2,1,1,,3,2,2,,80,0,2,90,1,500,1,,1,580,1,1,1,7,,,,1,1,,11,3,180,9,2,56000,4,,,1,1,56000,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,2,765,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,22,109,18,59,121,88,100,61,18,97,64,63,65,64,23,18,63,63,63,61,19,97,20,50,150,99,105,68,18,120,73,57,71,62,22,19,65,52,59,59,18,106,23,57,116,115,114,61,20,112,60,51,62,58,18,21,70,64,51,62,19,104,19,65,100,119,102,50,20,123,67,64,62,64,23,23,70,63,76 H,201985,8,300,4,16,1015675,18,4,1,3,3,5,2,2,,70,0,3500,300,2,1400,1,,1,1500,1,1,1,9,,,,1,1,,17,3,360,3,1,76110,2,,,1,1,76110,0,2,2,2,1,4,2,4,0,0,2,35,0,0,1,0,0,1,2192,3,0,0,32,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,17,7,16,20,20,16,5,21,18,41,27,7,5,18,16,7,26,33,25,18,18,4,21,17,20,24,6,19,21,28,30,6,6,35,15,5,30,30,18,14,20,7,22,20,20,25,8,19,16,24,32,7,7,35,16,7,42,38,18,17,16,6,20,18,21,19,5,15,15,34,24,7,5,21,18,8,35,33,22 H,202036,8,100,4,16,1015675,59,2,1,1,,3,2,2,,90,0,2,130,2,400,1,,,,,3,1,7,,,,1,2,,12,1,120,7,4,24800,4,,,1,1,24800,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,2,2,1,340,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,62,17,17,22,72,56,61,69,74,97,76,94,51,14,45,99,57,49,16,104,58,14,19,21,61,66,57,68,76,88,92,97,73,22,65,116,59,56,107,14,66,118,137,93,63,68,51,70,70,19,14,19,55,87,74,15,50,43,84,15,51,99,106,94,74,74,61,59,62,21,18,17,64,81,57,20,58,51,15 H,202091,8,900,4,16,1015675,78,2,1,1,,3,2,2,,60,0,2,3,3,250,1,,1,500,1,2,1,4,,,,1,1,,12,1,60,5,8,15000,2,,,1,3,15000,0,2,2,2,1,3,1,2,0,0,1,45,0,0,1,0,0,1,565,3,0,1,26,1,14,15,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,21,72,83,75,140,23,62,74,133,81,108,136,21,25,87,66,85,81,129,27,25,85,80,71,135,27,81,81,122,77,128,145,25,21,79,84,76,67,135,114,132,72,92,71,22,146,67,73,23,77,22,24,114,102,99,76,72,79,20,115,136,82,82,76,27,158,88,75,23,81,27,23,161,134,70,77,83,68,23,23 H,202178,8,700,4,16,1015675,80,2,1,3,3,4,2,2,,150,0,400,3,3,550,1,,2,800,2,1,1,9,,,120,1,1,,23,3,2,3,,,,,,1,7,45700,0,4,4,4,1,5,0,,0,1,0,35,3,0,0,0,0,2,1349,2,0,0,36,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,23,132,132,67,143,83,81,24,86,25,75,22,74,96,153,78,80,123,134,74,77,85,81,139,79,28,149,80,140,77,25,77,24,154,88,26,22,95,87,143,142,27,24,84,23,70,84,137,82,127,87,140,71,75,22,76,82,25,24,79,81,81,84,24,89,141,22,87,26,74,132,90,148,23,83,132,142,73,82 H,202737,8,100,4,16,1015675,75,2,1,3,1,3,2,2,,180,0,2,150,2,750,1,,1,1100,1,1,1,6,,,250,1,1,,22,2,2,3,4,79700,4,,,1,1,79700,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,1,1,1,1680,2,0,0,42,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,129,67,123,21,77,112,120,73,70,70,62,64,21,68,144,20,87,23,66,20,135,68,138,21,80,158,127,68,73,83,83,80,24,78,115,18,72,22,76,24,133,73,126,22,84,118,128,83,90,75,55,68,23,67,117,22,88,22,73,23,138,84,108,22,80,120,121,69,67,72,74,68,25,76,96,19,70,20,75,20 H,202856,8,400,4,16,1015675,191,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,368,229,53,324,287,56,204,214,54,224,57,187,238,187,303,213,326,186,56,160,319,209,58,304,305,55,193,233,59,192,56,177,200,219,319,155,302,188,63,202,318,227,66,339,426,50,150,196,51,203,61,180,222,175,260,223,322,176,47,182,335,210,67,307,280,61,178,182,65,217,59,177,217,185,304,163,282,201,56 H,202915,8,300,4,16,1015675,62,4,1,1,,3,2,2,,30,3200,2,90,1,,1,,,,,,1,5,2,400,,1,3,,,2,940,6,1,28400,3,598,25,1,1,28400,0,3,3,3,1,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,49,57,66,91,53,19,46,23,24,82,82,106,53,78,117,79,82,21,80,23,62,58,61,103,71,16,77,19,18,116,40,113,62,57,117,66,124,16,101,21,85,65,81,86,45,20,62,16,22,106,49,113,68,63,98,75,91,14,55,16,47,58,56,96,94,13,56,27,14,96,66,103,56,61,160,60,112,26,45 H,203111,8,500,4,16,1015675,48,1,1,2,1,4,2,2,,80,0,2,40,3,1100,1,,,,,3,1,9,,,,1,2,,15,1,2,5,,,,,,1,6,15400,0,4,4,4,1,6,0,,0,0,0,24,0,0,0,1,1,1,305,,0,1,23,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,51,73,18,51,46,17,47,46,15,51,53,48,15,82,78,81,75,14,54,49,37,78,11,41,51,15,49,57,13,46,50,46,13,80,90,86,75,17,48,43,47,91,15,44,58,15,50,50,15,49,47,45,14,72,77,75,85,15,47,51,47,86,15,47,50,13,52,43,14,43,53,48,13,86,85,79,78,16,53 H,203323,8,400,4,16,1015675,30,2,1,1,,2,2,2,,300,0,2,3,3,300,1,,,,,3,1,7,,,,1,2,,13,3,440,5,4,51000,4,,,2,1,51000,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,1,1,2,412,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,36,7,32,10,34,28,10,41,52,7,6,43,34,29,38,29,64,27,33,81,24,13,28,9,37,30,7,21,54,9,8,54,30,25,56,29,37,37,24,48,34,8,28,8,21,20,9,42,53,10,9,39,26,28,42,27,45,29,33,57,24,11,30,10,30,28,8,30,51,9,10,42,25,38,88,35,49,44,25,54 H,203341,8,700,4,16,1015675,28,2,1,3,2,2,2,2,,110,0,400,90,1,,1,,,,,,1,7,2,1000,,1,3,,,4,560,9,1,132000,4,1280,12,2,1,132000,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,0,0,1,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,26,27,27,46,6,29,25,44,29,48,48,7,9,32,28,27,23,45,6,7,25,26,29,45,9,28,25,44,28,49,44,8,8,26,28,29,27,48,45,49,27,28,27,9,49,25,26,8,28,8,7,49,46,26,27,27,26,9,45,47,28,25,30,9,47,29,25,8,28,7,7,52,49,28,26,28,27,8,8 H,203436,8,100,4,16,1015675,37,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,10,69,35,38,38,10,55,37,35,11,37,10,12,64,71,37,37,12,36,40,61,12,33,40,42,58,10,35,42,67,39,58,63,9,12,39,38,10,45,40,65,11,35,37,35,64,10,40,40,50,33,65,70,11,10,44,43,53,36,38,12,57,43,47,36,10,58,39,38,12,36,10,11,54,56,38,37,58 H,203542,8,800,4,16,1015675,126,2,1,1,,3,2,2,,40,0,900,10,1,600,1,,2,3100,1,1,1,8,,,,1,1,,22,3,700,3,1,101000,4,,,1,1,101000,0,4,4,4,1,4,0,2,0,0,0,40,0,0,0,0,0,1,3333,3,0,1,40,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,37,202,122,36,201,200,115,99,32,125,123,129,120,38,134,109,155,203,131,250,246,34,128,236,44,43,149,148,162,115,138,135,121,190,130,121,41,43,115,38,31,222,113,32,215,205,123,122,38,120,121,132,135,37,110,146,218,197,126,184,202,34,128,276,40,37,130,137,254,129,126,121,123,210,114,125,37,39,135 H,203578,8,800,4,16,1015675,70,2,1,3,6,3,2,2,,50,0,600,3,5,200,1,,,,,3,1,5,,,,1,2,,15,2,2,9,2,24430,4,,,1,1,24430,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,159,,0,0,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,59,73,72,77,20,22,23,70,134,70,17,50,61,21,69,122,98,130,19,69,56,63,83,69,123,143,120,83,22,64,99,59,81,124,77,23,22,21,22,74,74,72,57,54,123,114,110,71,23,58,117,70,74,113,67,18,20,23,135,74,93,68,75,63,15,21,29,69,119,69,24,72,73,20,54,122,110,109,123 H,203799,8,700,4,16,1015675,114,4,1,1,,4,2,2,,120,0,2,30,1,400,1,,1,820,1,1,1,9,,,,1,1,,19,3,550,3,2,86000,2,,,1,1,86000,0,2,2,2,1,4,2,4,0,0,2,14,0,0,1,0,0,1,1016,3,0,1,30,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,117,114,34,115,195,117,203,217,32,109,33,111,108,35,114,31,189,199,116,106,116,108,37,110,193,111,182,192,37,118,35,116,113,33,112,34,195,174,116,120,111,111,29,110,200,107,186,195,35,105,32,117,111,32,115,32,188,211,113,117,115,111,35,118,186,124,185,187,35,108,33,114,112,36,116,35,197,182,107 H,204203,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,204262,8,200,4,16,1015675,24,2,1,3,6,3,2,2,,80,0,500,3,3,600,1,,,,,3,1,6,,,,1,2,,13,2,2,9,4,46000,4,,,1,1,46000,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,347,,0,0,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,32,28,21,22,11,8,26,7,24,20,33,46,32,20,28,7,36,16,45,16,7,7,41,28,24,25,18,20,7,44,23,23,30,9,48,20,28,9,38,20,5,7,38,63,31,24,34,23,7,35,16,22,24,8,30,17,20,5,26,6,19,15,24,47,8,9,46,7,21,23,25,33,37,23,17,5,45,20,30 H,204288,8,100,4,16,1015675,83,2,1,1,,3,2,2,,80,0,2,280,1,2400,1,,2,1800,2,1,1,9,,,1100,1,1,,24,3,720,2,1,89100,4,,,1,1,89100,0,4,4,4,1,3,0,2,0,0,0,54,0,0,0,1,1,1,4045,2,0,1,64,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,147,89,122,97,31,59,22,142,77,22,29,88,71,83,92,85,135,94,170,32,123,78,170,84,33,82,20,136,82,22,24,76,82,81,58,92,120,83,178,24,127,83,120,94,24,94,18,109,98,23,28,114,78,82,88,89,144,88,139,26,156,75,142,78,24,74,32,126,69,24,15,82,80,89,101,78,150,70,144 H,204739,8,900,4,16,1015675,76,2,1,1,,4,1,2,,50,0,2,30,1,520,1,0,2,730,2,1,1,9,,,,1,1,,14,2,410,5,1,63600,4,,,1,1,63600,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,0,0,2,929,3,0,0,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,149,134,84,27,69,114,75,77,146,95,31,25,22,75,72,64,62,66,26,98,111,134,85,20,68,121,81,89,119,74,25,20,27,82,73,70,68,69,20,108,163,197,76,21,93,128,75,80,144,88,24,25,20,61,75,59,70,68,22,117,144,169,91,17,66,128,62,87,159,77,24,20,18,81,71,75,73,63,21 H,204990,8,800,4,16,1015675,95,1,1,1,,3,2,2,,20,0,2,70,1,420,1,,,,,3,1,7,,,,1,2,,15,1,550,7,,,,,,1,4,20680,0,4,4,4,1,3,0,,0,0,0,16,0,0,0,1,1,2,280,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,81,33,87,134,62,102,107,155,194,205,81,96,103,84,28,21,25,103,127,135,88,33,86,87,38,69,99,198,171,119,98,85,67,84,37,48,55,102,148,33,88,188,87,136,223,104,23,17,25,136,103,132,142,82,138,149,97,84,27,75,88,179,97,97,135,66,22,33,31,90,89,107,91,87,184,193,159,79,26,100 H,205050,8,100,4,16,1015675,80,2,1,1,,2,2,2,,200,0,2,2,1,490,1,,1,520,1,1,1,4,,,,1,1,,14,3,50,9,4,17800,4,,,1,1,17800,0,4,4,4,1,4,0,2,0,0,0,49,0,0,0,2,1,1,724,3,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,28,76,144,139,128,79,66,71,90,72,23,23,20,87,131,89,26,84,129,91,21,82,146,112,162,86,66,75,80,86,20,28,23,82,112,80,23,72,26,96,147,74,23,24,20,73,71,73,82,84,103,112,134,84,22,72,125,81,22,91,156,81,21,29,32,82,81,79,97,77,143,125,119,80,22,70,137,76,122 H,205094,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,205189,8,500,4,16,1015675,27,4,1,1,,3,2,2,,90,0,2,20,1,250,1,,1,260,1,1,1,6,,,,1,1,,13,3,420,6,1,36200,2,,,1,1,36200,0,2,2,2,1,3,2,4,0,0,2,13,0,0,1,0,0,1,405,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,29,6,24,46,25,27,27,45,29,40,8,26,8,27,30,33,8,6,40,33,49,26,8,26,8,6,45,28,46,28,26,45,24,43,6,11,26,25,26,41,25,8,26,47,31,26,27,48,25,49,7,29,8,23,25,26,8,10,50,24,47,27,7,27,8,8,52,25,42,28,24,46,30,50,8,6,24,28,24,50 H,205255,8,400,4,16,1015675,63,2,1,1,,3,2,2,,130,0,2,3,3,130,1,,,,,3,1,5,,,,1,2,,10,3,600,5,3,48100,4,,,5,1,48100,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,1,1,1,243,,0,1,14,1,3,7,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,74,75,73,109,95,88,58,24,92,87,57,68,97,61,18,19,24,50,91,55,74,72,61,26,16,15,60,101,88,22,76,63,15,61,116,103,104,62,27,52,59,50,62,128,106,85,45,21,101,99,52,66,85,61,34,17,22,65,141,47,59,67,86,32,19,15,78,132,61,17,69,59,20,66,102,88,99,55,22 H,205610,8,800,4,16,1015675,126,3,1,1,,3,2,2,,90,0,2,3,3,360,1,,1,610,1,1,1,6,,,,1,1,,15,2,600,4,1,88050,1,,,1,1,88050,0,1,1,1,1,4,1,3,0,0,1,10,0,0,1,0,0,1,750,3,0,1,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,243,179,118,125,137,120,125,49,119,180,44,133,28,109,199,140,205,36,262,115,37,35,116,118,146,124,149,221,135,38,191,130,193,141,35,114,41,205,42,152,241,185,122,133,117,118,125,37,126,187,43,109,33,128,205,162,191,39,198,124,36,33,146,113,117,128,103,229,128,35,197,124,253,122,45,145,39,241,40 H,205736,8,600,4,16,1015675,115,3,1,1,,3,2,2,,260,0,2,3,3,1000,1,,1,800,1,1,1,6,,,200,1,1,,17,3,1200,3,1,96000,4,,,1,1,96000,0,4,4,4,1,3,0,3,0,0,0,17,0,0,0,0,0,2,1360,2,0,1,39,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,208,203,129,36,176,34,123,123,107,125,115,114,214,31,117,106,32,36,116,192,102,123,187,113,111,110,191,34,36,32,36,181,117,149,31,176,104,114,33,118,31,37,123,200,36,214,104,100,121,109,107,123,31,205,106,122,197,173,115,37,137,111,38,121,116,119,32,187,190,181,175,34,115,115,205,35,129,114,197 H,205829,8,600,4,16,1015675,105,1,1,,,5,8,,,1,0,1,1,1,,1,,,,,,1,9,1,1400,,1,3,,,6,1,3,,,,1400,101,1,6,12600,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,102,28,32,104,38,188,105,104,115,169,110,30,104,177,153,96,115,196,104,180,99,190,183,111,172,30,109,105,112,31,114,173,93,35,30,110,101,37,116,32,110,31,32,96,29,185,100,122,94,174,99,32,116,169,171,113,96,178,112,174,119,176,168,104,176,35,105,113,106,29,112,181,122,31,31,95,103,32,104 H,205845,8,300,4,16,1015675,63,6,1,1,,3,1,2,,70,0,2,3,3,560,1,450,2,510,2,1,1,9,,,,1,1,,9,2,240,3,2,62000,3,,,1,1,62000,0,3,3,3,1,4,4,6,0,0,4,14,0,0,1,0,0,1,723,3,0,0,11,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,94,19,78,22,67,85,68,106,21,61,106,112,65,61,63,71,53,16,18,78,82,17,62,21,71,100,60,101,21,69,87,108,56,58,52,64,62,18,17,56,103,16,73,19,59,115,58,106,15,69,95,105,50,58,81,76,75,18,21,63,100,16,51,20,66,116,56,99,20,65,107,116,60,67,59,64,69,21,20 H,205931,8,300,4,16,1015675,27,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,41,28,6,24,43,26,28,44,23,9,9,12,33,29,27,24,32,54,41,44,8,31,52,28,6,26,28,10,26,38,42,52,26,30,30,23,24,9,9,10,54,29,9,27,44,30,28,42,27,8,7,7,28,24,29,31,31,42,45,57,7,23,51,30,9,30,27,9,23,44,45,46,27,19,25,34,30,8,9,7 H,206269,8,500,4,16,1015675,85,4,1,2,1,3,2,2,,30,0,2,440,2,350,1,,1,1300,1,1,1,9,,,,1,1,,19,2,2,2,1,81520,1,,,1,1,81520,0,1,1,1,1,3,2,4,0,0,2,26,0,0,1,0,0,2,1770,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,149,91,76,89,24,26,69,24,160,23,153,86,152,147,79,90,73,92,81,174,89,23,195,142,81,83,23,90,89,93,84,29,84,76,145,146,25,23,66,23,92,143,25,27,73,87,141,84,95,90,81,134,92,92,23,24,130,134,150,75,26,90,87,99,155,145,90,145,25,136,30,98,24,23,89,87,85,91,26 H,207325,8,300,4,16,1015675,106,1,1,,,2,5,,,20,0,2,30,1,,1,,,,,,1,4,2,440,,1,3,,,1,200,6,,,,507,49,1,6,12500,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,116,201,90,113,174,30,102,93,222,111,97,30,115,132,191,29,35,109,119,100,33,78,172,147,115,121,153,37,115,38,32,102,25,155,125,119,98,151,151,30,107,187,129,102,187,32,114,86,172,124,129,28,99,116,180,34,37,95,86,109,34,121,181,175,90,106,183,28,119,34,35,116,26,182,126,112,95,179,220 H,207426,8,300,4,16,1015675,33,2,1,2,5,3,2,2,,150,0,900,3,3,0,1,,,,,3,1,6,,,,1,2,,17,2,1000,4,2,91206,4,,,1,1,91206,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,387,,0,1,21,1,6,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,35,38,43,30,7,44,37,47,35,9,13,63,33,10,56,77,42,44,33,10,31,31,29,31,8,31,35,53,44,8,13,67,29,10,63,47,34,38,33,40,25,36,43,35,41,29,31,8,10,42,47,8,33,59,10,13,46,41,29,55,23,26,38,43,74,40,34,8,9,57,53,11,37,50,8,10,37,49,21 H,207789,8,500,4,16,1015675,56,1,1,2,1,3,2,2,,50,0,2,3,3,600,1,,1,480,1,1,1,5,,,,1,1,,11,1,2,3,,,,,,1,6,12200,0,4,4,4,1,4,0,,0,0,0,52,0,0,0,1,0,1,530,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,18,100,62,56,63,18,106,60,57,17,56,18,16,90,101,51,51,58,51,96,17,91,57,57,62,19,90,50,56,14,56,16,15,102,94,65,60,51,59,17,90,17,54,72,60,103,17,47,46,90,55,91,106,20,17,60,52,55,57,18,96,19,52,55,59,100,14,61,53,97,58,101,94,16,17,58,61,56,52,94 H,207867,8,100,4,16,1015675,78,3,1,1,,3,1,2,,100,2400,2,3,3,350,1,0,2,630,2,1,1,4,,,,1,1,,14,2,480,5,,,,,,1,5,31100,0,4,4,4,1,4,0,,0,1,0,31,0,0,0,1,0,2,799,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,64,67,65,80,23,74,82,139,105,24,21,99,76,30,131,205,82,84,104,152,86,85,63,63,143,67,73,28,25,147,120,19,98,151,26,22,76,79,79,104,114,74,73,69,139,93,64,28,24,191,124,24,132,123,31,21,66,73,76,23,79,76,93,90,24,87,93,108,104,18,18,162,73,24,140,91,69,100,78 H,208130,8,600,4,16,1015675,92,4,1,1,,3,2,2,,60,0,2,120,1,320,1,,1,620,1,1,1,5,,,,1,1,,12,4,40,6,1,77000,4,,,1,1,77000,0,4,4,4,1,5,0,4,0,0,0,13,0,0,0,0,0,1,803,3,0,1,21,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,159,161,152,103,88,149,152,97,150,173,87,95,90,88,152,86,172,95,89,25,24,29,25,91,90,29,27,94,28,25,84,99,101,104,28,83,26,95,86,26,26,27,29,99,89,29,28,85,28,26,88,94,85,99,29,85,25,84,100,153,162,171,171,99,96,153,145,84,165,165,83,82,89,94,144,98,171,96,87 H,208144,8,100,4,16,1015675,69,1,1,1,,3,2,2,,20,0,2,10,1,310,1,,1,740,1,1,1,5,,,,1,1,,20,1,500,2,,,,,,1,6,30000,0,4,4,4,1,3,0,,0,0,0,32,0,0,0,0,0,1,812,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,19,17,115,79,130,62,84,123,65,121,17,16,66,66,73,134,61,24,83,80,133,115,20,63,20,64,67,18,73,20,110,117,84,80,66,19,71,106,78,65,120,106,19,86,24,80,78,25,65,24,115,119,73,73,81,17,73,116,61,60,19,21,118,71,123,72,76,96,68,102,17,19,73,72,69,100,67,23,73 H,208672,8,500,4,16,1015675,277,2,1,1,,3,2,2,,40,0,2,120,1,240,1,,1,940,1,1,1,7,,,,1,1,,14,1,300,2,5,56200,4,,,2,2,56200,0,4,4,4,1,3,0,2,0,0,0,24,0,0,0,1,1,2,1125,3,0,1,22,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,258,520,315,362,302,76,91,253,80,354,80,519,239,433,481,269,290,362,330,238,444,258,73,463,608,261,264,78,265,268,249,337,72,281,271,377,494,90,115,359,107,289,427,91,79,268,294,393,248,312,307,238,488,261,265,79,74,428,409,516,329,85,277,227,280,484,409,291,403,93,588,80,301,80,92,277,269,279,236,78 H,208754,8,800,4,16,1015675,56,2,1,1,,3,2,2,,170,0,2,3,3,320,1,,2,510,2,1,1,6,,,,1,1,,10,2,60,5,4,24700,4,,,1,1,24700,0,4,4,4,1,7,0,2,0,0,0,37,0,0,0,2,1,1,756,3,0,1,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,50,46,46,76,57,75,20,17,91,105,19,49,87,19,17,45,54,100,50,60,58,46,51,20,71,46,72,120,22,17,94,61,15,90,100,67,69,17,81,55,63,58,59,87,45,53,15,17,102,99,14,60,111,15,17,64,52,88,46,50,56,65,62,15,68,73,95,107,15,16,91,47,16,93,89,56,52,14,42 H,209411,8,600,4,16,1015675,134,1,1,1,,1,3,2,200,20,0,450,20,1,200,1,,2,1100,1,1,1,4,,,,1,1,,17,1,250,4,,,,,,1,4,102000,0,4,4,4,1,2,0,,0,0,0,17,0,0,0,0,0,1,1416,3,0,1,46,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,132,38,130,121,133,131,39,145,117,241,232,38,40,226,134,38,228,211,152,136,149,236,136,140,130,125,236,130,136,40,40,218,229,41,143,234,40,37,128,125,118,38,138,148,135,145,42,136,128,231,240,41,43,254,143,39,223,232,140,143,124,231,139,129,146,119,198,131,131,37,35,202,232,39,123,238,35,43,119 H,209575,8,800,4,16,1015675,73,1,1,3,5,3,2,2,,100,0,650,2,4,1800,1,,,,,3,1,5,,,,1,2,,15,1,2,7,,,,,,1,4,165000,0,4,4,4,1,4,0,,0,0,0,4,0,0,0,0,0,1,512,,0,0,37,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,98,24,101,100,18,76,69,18,86,21,74,69,93,137,65,130,78,67,129,23,73,21,142,130,24,69,63,19,66,24,73,63,80,148,80,126,67,58,120,128,83,125,18,21,129,72,73,126,74,113,69,79,89,24,61,25,75,72,25,123,84,140,21,17,112,75,69,112,67,102,65,73,101,23,67,21,79,65,17,19 H,210441,8,800,4,16,1015675,73,2,1,1,,3,2,2,,60,0,2,130,1,1200,1,,,,,3,1,8,,,,1,2,,13,2,600,7,1,86200,4,,,1,1,86200,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,1,2,398,,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,61,53,74,119,95,69,115,16,100,24,71,25,24,81,95,72,71,84,47,103,28,142,121,90,89,23,74,92,85,77,31,64,65,121,80,20,17,116,92,22,70,70,98,117,108,67,124,22,135,22,74,22,20,58,74,90,84,78,82,81,20,96,96,65,62,22,77,89,92,63,24,90,71,133,127,19,21,119,147 H,210768,8,100,4,16,1015675,66,1,1,1,,3,2,2,,120,0,930,120,1,1000,1,,,,,3,1,7,,,,1,2,,20,1,720,9,,,,,,1,6,32400,0,4,4,4,1,1,0,,0,0,0,23,0,0,0,1,0,1,628,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,69,22,53,71,22,47,17,112,105,60,77,69,15,61,120,69,108,123,77,146,59,111,77,63,153,65,93,20,19,56,72,63,114,60,13,76,17,18,82,20,56,18,60,75,20,72,17,89,131,62,73,88,20,66,120,69,111,123,63,124,69,99,64,65,109,58,144,18,16,66,45,65,104,70,22,59,21,16,68 H,210815,8,800,4,16,1015675,78,2,1,1,,3,2,2,,120,0,2,3,3,1000,1,,2,400,2,1,1,5,,,,1,1,,14,3,2,2,4,35900,4,,,2,1,35900,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,2,2,1,640,3,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,110,74,122,101,18,17,84,68,97,73,125,22,105,141,77,120,28,67,72,126,22,91,31,24,151,110,70,99,62,98,24,109,88,80,102,36,114,75,91,191,24,67,24,29,117,148,69,85,77,105,23,134,56,63,85,24,110,73,76,28,151,87,99,119,27,25,94,78,85,66,135,31,80,77,55,100,24,113,91,18 H,211222,8,600,4,16,1015675,110,3,1,1,,4,2,2,,130,0,2,30,1,400,1,,1,1100,1,1,1,9,,,,1,1,,20,4,40,3,1,160000,4,,,2,1,160000,0,4,4,4,1,4,0,3,0,0,0,9,0,0,0,0,0,1,1263,3,0,1,39,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,34,175,202,109,103,116,33,118,180,111,193,179,34,115,33,106,108,32,126,109,185,34,33,108,107,109,187,104,31,123,33,32,177,104,175,113,113,176,106,108,28,187,174,121,114,101,33,96,186,105,188,195,36,119,31,112,102,32,108,117,188,33,35,111,116,106,171,113,32,99,34,35,193,121,187,105,109,211,104 H,211298,8,800,4,16,1015675,22,2,1,1,,3,2,2,,150,0,400,3,3,340,1,,2,810,2,1,1,5,,,,1,1,,13,2,360,5,1,27060,4,,,1,1,27060,0,4,4,4,1,6,0,2,0,0,0,51,0,0,0,2,1,1,1142,3,0,1,22,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,22,28,25,19,46,23,4,7,8,16,20,27,19,19,38,35,41,19,33,39,24,7,22,18,10,21,30,37,31,24,22,20,20,18,5,7,7,19,9,5,21,31,22,18,40,23,5,9,7,15,24,25,15,24,41,34,35,21,35,36,27,5,20,20,8,17,25,42,40,17,21,23,27,22,7,7,9,21,7 H,211372,8,500,4,16,1015675,104,4,1,2,1,3,2,2,,90,0,2,150,1,300,1,,1,1200,1,1,1,5,,,370,1,1,,21,2,200,2,2,91000,1,,,1,1,91000,0,1,1,1,1,4,2,4,0,0,2,24,0,0,1,0,0,1,1827,2,0,1,32,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,189,25,28,113,117,176,108,117,101,100,174,111,121,28,35,200,167,27,92,96,38,157,178,102,116,36,103,98,116,124,31,97,100,142,160,28,26,193,107,102,168,30,27,91,101,177,101,105,117,106,162,115,116,30,28,192,177,30,113,102,40,183,194,109,85,30,125,100,92,94,31,104,121,173,191,27,29,171,102,110 H,211562,8,800,4,16,1015675,87,4,1,2,1,4,2,2,,270,0,1200,300,4,600,1,,1,230,1,1,1,7,,,,1,1,,9,2,2,8,1,53200,2,,,1,1,53200,0,2,2,2,1,4,2,4,0,0,2,20,0,0,1,0,0,1,900,3,0,1,8,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,27,35,144,128,24,74,130,26,35,75,86,131,97,88,89,84,141,90,82,63,166,159,24,28,126,101,28,127,210,104,84,26,101,82,103,86,22,81,88,82,26,22,151,156,24,79,151,29,29,80,94,127,98,116,95,95,168,91,61,90,125,166,23,25,151,75,24,138,163,114,79,28,92,85,94,91,22,73,78 H,211590,8,200,4,16,1015675,60,2,1,2,1,3,2,2,,130,0,2,80,1,2000,1,,,,,3,1,9,,,,1,2,,20,3,800,3,2,87600,4,,,1,1,87600,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,1,1,1,861,,0,1,62,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,63,57,111,76,19,101,112,20,58,61,18,61,23,62,62,57,125,66,19,109,68,68,95,56,14,109,85,20,49,50,19,43,13,73,58,54,99,61,16,95,54,65,105,72,20,98,125,16,71,65,16,74,21,61,52,52,126,52,16,99,61,92,97,55,17,114,93,21,56,51,20,47,16,62,50,66,100,64,23 H,211663,8,300,4,16,1015675,52,5,1,1,,5,2,2,,100,0,2,130,1,1000,1,,1,1200,1,1,1,9,,,,1,1,,19,3,60,2,2,92900,2,,,1,1,92900,0,2,2,2,1,3,3,5,0,0,3,19,0,0,1,0,0,1,1435,3,0,1,38,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,12,46,78,52,15,54,58,17,54,146,81,93,60,47,57,59,41,14,15,93,98,56,15,52,103,39,44,99,48,15,16,18,56,59,52,52,49,66,78,15,21,52,78,67,18,61,43,13,54,113,85,103,41,43,61,48,40,15,21,82,91,54,21,45,69,39,40,102,53,12,16,15,48,50,48,54,64,91,74 H,211802,8,800,4,16,1015675,15,1,1,1,,3,1,2,,50,0,2,3,3,470,1,0,,,,3,1,5,,,,1,2,,10,1,490,3,,,,,,1,6,24000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,1,0,2,178,,0,0,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,17,13,24,15,24,14,13,12,5,15,5,18,15,5,17,17,3,5,27,24,17,14,23,14,24,14,16,14,4,14,5,14,13,4,14,24,3,4,25,26,13,14,20,13,26,14,13,15,4,15,3,17,17,5,14,25,5,4,23,22,15,14,24,17,22,13,12,16,5,13,6,14,15,3,12,19,3,4,30 H,211820,8,400,4,16,1015675,74,5,1,2,1,3,2,2,,100,0,400,3,6,630,1,,1,590,1,1,1,7,,,300,1,1,,15,3,2,9,1,50100,3,,,1,1,50100,0,3,3,3,1,4,3,5,0,0,3,25,0,0,1,0,0,1,1023,1,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,70,81,99,97,59,76,25,33,108,123,19,76,105,18,28,79,81,110,71,68,69,71,67,101,60,109,35,17,105,140,21,79,151,23,20,66,69,131,89,62,66,83,85,19,71,62,121,142,21,22,138,88,17,119,122,57,85,21,87,75,72,83,61,24,112,75,112,108,17,25,159,97,25,118,105,68,67,19,85 H,212054,8,900,4,16,1015675,98,2,1,,,3,4,,,90,0,2,3,3,,1,,,,,,1,5,2,650,,1,3,,,2,2,5,8,14000,4,740,63,1,3,14000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,225,162,102,105,81,109,106,28,109,152,34,105,23,89,159,77,168,32,157,84,29,24,89,116,115,96,87,176,109,31,153,94,183,93,32,103,29,183,174,103,32,29,97,101,90,106,106,150,100,33,147,88,166,96,33,103,29,159,25,80,178,125,82,108,88,93,93,31,100,156,37,99,30,102,170,112,178,37,26 H,212241,8,200,4,16,1015675,134,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,4,15,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,143,195,239,36,43,320,139,45,204,206,160,142,48,173,136,136,156,41,145,119,109,51,43,212,206,37,123,209,41,35,130,138,182,128,117,119,132,216,119,154,185,42,46,238,191,42,138,238,39,50,143,146,242,138,151,125,156,215,149,144,122,204,249,40,41,204,117,34,216,186,100,148,40,148,128,112,140,35,129 H,212326,8,300,4,16,1015675,89,2,1,2,1,3,2,2,,90,0,2,40,6,600,1,,,,,3,1,6,,,,1,2,,21,1,2,5,4,30000,4,,,1,1,30000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,1,2,263,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,68,125,81,100,83,77,197,81,57,22,22,143,138,26,126,162,28,33,101,87,103,43,98,82,93,85,20,86,94,159,212,39,29,135,89,28,121,118,74,74,90,136,90,98,101,99,124,83,100,28,24,167,207,25,59,136,34,24,78,128,66,22,70,85,119,97,30,96,111,139,119,26,27,187,101,30,125,129,89,88 H,212455,8,600,4,16,1015675,97,2,1,1,,3,2,2,,80,0,2,100,1,1100,1,,1,1500,1,1,1,7,,,,1,1,,19,2,1500,3,2,66000,4,,,1,1,66000,0,4,4,4,1,5,0,2,0,0,0,33,0,0,0,2,1,1,1805,3,0,1,32,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,104,166,97,144,28,30,100,93,93,172,94,27,90,29,31,175,110,158,97,111,94,27,98,28,160,159,89,98,97,25,101,162,104,170,145,30,106,30,88,95,111,30,94,29,166,162,91,110,101,30,96,167,94,155,181,29,104,29,93,100,86,170,88,151,25,28,101,101,90,149,96,29,100,27,28,168,109,184,106 H,213136,8,300,4,16,1015675,36,2,1,1,,2,2,2,,110,0,120,100,2,600,1,,2,500,2,1,1,4,,,,1,1,,20,2,740,3,,,,,,1,5,54800,0,4,4,4,1,4,0,,0,1,0,20,2,0,0,0,0,1,932,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,37,57,54,70,40,10,38,74,28,39,63,43,9,7,11,39,35,31,15,44,43,60,62,47,30,9,34,66,42,32,71,33,8,9,8,32,34,32,50,35,33,11,12,13,39,48,36,10,36,36,11,36,71,45,49,33,31,46,50,26,32,16,13,12,35,67,35,10,33,32,10,49,63,46,56,34,30,38,11 H,213192,8,300,4,16,1015675,74,4,1,1,,4,2,2,,160,0,2,3,3,700,1,,1,760,1,1,1,7,,,,1,1,,14,4,300,5,1,222000,4,,,1,1,222000,0,4,4,4,1,5,0,4,0,0,0,5,0,0,0,0,0,2,945,3,0,1,24,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,24,109,166,87,69,20,21,134,76,76,75,108,69,66,72,27,72,72,148,24,93,22,18,73,76,130,116,19,85,64,67,26,86,72,59,94,85,92,111,23,147,21,26,79,72,119,136,21,66,72,79,19,64,69,86,137,64,73,31,126,21,128,88,86,89,26,22,112,63,76,59,154,62,75,76,19,77,78,21 H,213714,8,100,4,16,1015675,122,1,1,,,1,5,,,20,0,2,3,3,,1,,,,,,1,2,2,330,,1,3,,,1,1,2,,,,350,12,1,4,34500,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,180,196,101,122,167,136,107,34,33,34,109,195,102,37,123,125,47,105,207,38,45,39,129,128,123,136,127,181,184,227,122,37,123,227,132,110,196,122,37,229,198,203,106,129,145,125,126,41,49,39,129,207,127,36,127,128,34,117,191,41,39,35,104,122,136,133,117,199,177,187,100,30,132,208,110,117,207,127,42,251 H,213737,8,100,4,16,1015675,47,2,1,2,1,3,2,2,,120,0,250,3,6,500,1,,2,800,1,1,1,5,,,,1,1,,18,3,2,3,1,74000,4,,,1,1,74000,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,983,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,56,48,52,48,84,76,39,35,72,42,47,70,78,73,79,46,84,56,14,14,42,48,48,47,11,17,57,45,12,42,48,13,15,16,15,47,17,51,83,94,44,47,46,50,83,64,45,42,87,54,44,92,60,65,98,43,69,43,16,19,55,38,37,46,14,11,54,45,14,58,40,17,13,13,13,52,17,37,100 H,214667,8,800,4,16,1015675,47,5,1,2,1,3,1,2,,230,0,2,3,2,0,1,160,,,,3,1,4,,,,1,2,,2,2,2,5,5,21000,2,,,1,2,22200,0,2,2,2,1,4,1,4,0,1,1,14,0,0,1,0,0,1,268,,0,0,8,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,12,9,37,52,38,38,50,91,76,102,42,15,55,87,42,39,97,48,17,13,14,15,54,55,46,48,40,98,138,72,41,12,48,103,54,48,70,53,88,71,75,70,44,42,44,50,45,14,12,16,55,110,47,13,61,38,15,59,62,88,89,99,46,54,63,45,34,15,14,11,62,84,44,15,57,50,14,55,14 H,214801,8,100,4,16,1015675,25,3,1,1,,3,2,2,,130,0,2,230,1,700,1,,1,1100,1,1,1,7,,,550,1,1,,18,3,720,5,1,69000,2,,,1,1,69000,0,2,2,2,1,4,1,3,0,0,1,36,0,0,1,0,0,1,2070,2,0,1,32,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,31,30,23,46,7,42,25,10,9,7,25,40,8,28,25,27,26,45,24,46,30,27,23,45,7,48,31,9,8,7,24,37,10,26,24,29,27,45,24,42,28,25,32,44,8,42,25,9,8,7,27,40,8,26,27,26,31,45,27,38,23,27,30,46,8,48,24,8,8,9,27,39,6,26,27,27,24,40,26 H,214846,8,600,4,16,1015675,76,1,1,1,,3,2,2,,30,0,2,180,1,300,1,,1,690,1,1,1,5,,,,1,1,,16,1,320,4,,,,,,1,6,24400,0,4,4,4,1,5,0,,0,0,0,46,0,0,0,1,1,1,927,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,137,74,74,129,71,123,89,74,82,24,85,22,78,73,21,73,143,21,23,124,144,76,78,134,81,142,90,85,82,25,74,22,77,75,24,75,133,23,24,130,128,79,74,129,77,131,79,77,78,25,80,23,84,87,23,92,135,25,25,130,124,81,82,119,77,115,73,73,72,25,79,25,75,76,23,77,140,23,24,139 H,214895,8,100,4,16,1015675,112,3,1,2,1,2,1,2,,120,0,4,3,6,600,1,120,2,590,2,1,1,4,,,,1,1,,17,3,2,5,5,60000,2,,,1,2,75000,0,2,2,2,1,3,1,2,0,1,1,13,2,0,1,0,0,2,783,3,0,0,5,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,43,123,167,173,174,98,109,118,140,92,31,34,36,114,177,113,33,88,154,107,37,92,182,219,182,115,113,118,118,111,29,29,53,143,168,124,36,96,38,80,211,123,36,30,32,109,113,114,116,99,143,200,250,117,37,114,184,92,33,89,143,104,33,36,44,140,126,125,107,121,178,181,222,97,30,124,183,101,240 H,215064,8,400,4,16,1015675,40,1,1,1,,3,2,2,,50,0,400,3,6,330,1,,1,200,1,1,1,6,,,,1,1,,22,1,840,6,,,,,,1,6,16200,0,4,4,4,1,7,0,,0,0,0,26,0,0,0,1,1,2,353,3,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,64,59,77,49,46,45,43,37,12,12,14,38,73,44,10,38,42,12,12,37,17,12,11,42,40,35,36,32,82,93,76,46,14,51,64,32,46,56,11,37,11,10,12,51,43,32,36,35,68,79,68,45,11,37,69,43,46,57,71,36,70,63,64,44,43,34,36,44,12,10,16,39,74,48,12,46,51,12,59 H,215753,8,400,4,16,1015675,83,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,81,85,76,93,27,86,88,138,132,21,23,126,78,26,148,147,81,91,71,23,94,86,84,88,24,76,84,134,135,31,32,130,77,24,166,179,79,69,81,25,88,106,112,81,29,88,70,121,134,26,23,121,92,26,128,154,82,70,90,29,105,83,85,77,24,75,85,158,116,19,21,129,101,23,119,152,80,75,68 H,215983,8,300,4,16,1015675,29,2,1,3,1,3,2,2,,130,0,1300,3,8,400,1,,1,330,1,1,1,6,,,,1,1,,14,3,2,4,1,66000,4,,,1,1,66000,0,4,4,4,1,3,0,2,0,0,0,10,0,0,0,0,0,1,568,3,0,0,8,2,5,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,32,31,43,48,10,8,74,43,8,52,41,25,29,8,30,29,39,31,11,27,27,32,8,18,82,45,9,30,45,7,10,31,28,59,33,22,27,46,63,19,30,29,52,52,10,8,58,33,10,45,45,30,28,10,27,30,44,34,10,36,22,29,9,11,51,45,11,30,36,7,7,25,30,91,49,28,29,49,57,28 H,216014,8,200,4,16,1015675,53,5,1,1,,4,2,2,,70,0,2,3,6,,1,,,,,,1,8,2,400,,1,3,,,3,1,9,1,45520,1,470,12,1,1,45520,0,1,1,1,1,2,2,5,0,0,2,,0,0,1,0,0,2,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,56,18,44,42,51,105,72,116,67,58,98,38,11,112,94,12,61,58,13,17,57,17,45,47,51,104,50,68,56,67,75,55,18,59,78,19,53,61,119,107,49,87,55,56,138,19,61,19,44,44,15,48,92,14,19,141,42,42,71,65,54,88,50,79,41,18,45,17,64,46,17,43,97,21,12,57,42,71,18 H,216356,8,800,4,16,1015675,36,4,1,1,,2,2,2,,80,0,2,3,3,400,1,,2,330,2,1,1,5,,,,1,1,,9,2,1300,3,2,24000,3,,,2,1,24000,0,1,1,1,2,3,2,4,0,0,2,29,0,0,1,0,0,2,584,3,0,1,9,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,30,30,46,67,54,61,38,8,42,47,44,34,49,37,8,10,14,49,67,34,63,46,31,8,8,9,34,55,33,14,40,39,13,38,71,54,45,27,16,40,42,30,29,59,57,44,44,22,57,61,37,40,52,35,10,8,6,25,51,30,27,32,43,13,12,14,36,48,26,8,42,35,10,39,73,88,80,68,11 H,216358,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,216373,8,400,4,16,1015675,53,3,1,2,1,3,2,2,,70,0,2,20,2,800,1,,1,3500,1,1,1,5,,,,1,1,,21,2,2,3,4,94200,2,,,4,1,94200,0,2,2,2,1,1,1,3,0,0,1,46,0,0,1,0,0,1,3590,3,0,1,52,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,36,50,81,56,120,53,55,64,16,48,18,56,53,16,66,75,19,20,84,98,69,60,78,30,73,60,62,65,22,60,11,62,53,16,54,77,17,13,20,17,86,59,12,57,15,51,111,53,91,47,53,54,34,63,52,14,93,73,12,11,42,43,17,55,27,67,51,78,74,51,101,54,55,53,46,22,127,121,98 H,216619,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,216840,8,100,4,16,1015675,139,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,5,2,450,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,161,47,129,262,142,127,225,129,39,41,55,140,162,163,149,164,232,218,38,185,124,43,118,205,143,125,206,139,41,51,58,157,127,126,139,170,213,202,236,43,139,234,154,51,167,110,44,152,214,227,219,138,137,136,154,139,45,43,270,42,150,227,122,45,149,121,44,143,201,229,232,149,128,137,159,128,33,35,43 H,217882,8,300,4,16,1015675,56,5,1,1,,4,2,2,,100,0,150,3,3,350,1,,1,490,1,1,1,7,,,210,1,1,,16,1,2,5,1,104000,2,,,1,1,104000,0,2,2,2,1,3,3,5,0,0,3,9,0,0,1,0,0,2,813,1,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,19,71,19,64,67,50,111,65,88,59,51,91,58,15,110,124,16,53,50,92,101,51,97,61,57,58,17,50,13,48,51,16,51,82,18,17,79,49,53,21,14,56,19,50,55,57,93,56,83,57,46,110,54,13,103,106,15,60,61,131,84,55,129,51,59,45,18,51,16,57,47,18,53,86,19,18,74,55,63,16 H,218273,8,500,4,16,1015675,86,2,1,1,,3,1,2,,130,0,2,3,3,200,1,2400,,,,3,1,6,,,,1,2,,6,2,2,5,3,37700,4,,,1,1,37700,0,4,4,4,1,1,0,2,0,0,0,12,0,0,0,1,1,1,369,,0,0,7,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,25,91,91,89,141,71,84,28,150,26,22,79,85,136,143,25,74,87,101,165,89,26,25,28,88,151,24,79,79,88,76,143,162,73,73,87,132,26,26,92,162,83,90,84,26,92,105,126,28,143,157,96,84,21,21,115,87,80,67,24,83,140,148,135,76,21,175,95,94,89,84,25,26,94,88,79,25,137,142 H,218350,8,200,4,16,1015675,580,1,1,1,,2,2,2,,260,0,2,2,1,530,1,,1,540,1,1,1,3,,,,1,1,,11,1,1500,6,,,,,,1,4,26000,0,4,4,4,1,5,0,,0,0,0,43,0,0,0,0,0,2,925,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,466,244,547,176,948,908,574,690,648,252,716,898,583,863,699,187,641,251,535,615,497,806,537,761,215,183,629,713,751,962,575,176,492,219,173,806,644,809,445,549,513,860,598,969,208,213,477,436,620,659,754,216,561,243,195,878,575,935,582,596,567,185,587,231,729,731,598,570,531,186,617,806,725,1023,775,257,507,237,637,509 H,218373,8,400,4,16,1015675,70,2,1,3,1,3,2,2,,120,0,2,3,3,700,1,,1,750,1,1,1,8,,,300,1,1,,20,3,2,4,1,64800,4,,,1,1,64800,0,4,4,4,1,6,0,2,0,0,0,22,0,0,0,0,0,1,1170,2,0,0,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,66,69,29,18,88,105,19,87,134,22,21,92,64,99,77,72,81,61,74,19,72,68,103,110,18,27,132,57,25,127,105,72,88,23,67,71,68,65,82,103,71,78,22,21,113,89,22,81,121,23,26,66,64,147,63,64,75,58,100,23,78,90,104,107,26,23,123,65,18,138,123,65,92,24,49,61,56,57,85 H,218546,8,100,4,16,1015675,24,4,1,1,,4,2,2,,70,0,900,130,4,400,1,,,,,3,1,6,,,,1,2,,16,2,90,4,7,70200,1,,,1,3,70200,1,1,4,1,1,6,0,4,0,0,1,5,0,1,1,0,0,1,316,,0,1,1,2,13,13,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,20,19,5,7,45,44,5,14,29,10,7,18,22,35,20,20,23,34,19,7,21,22,38,30,5,5,28,19,7,51,29,22,51,10,25,21,27,27,48,12,27,20,22,34,10,8,37,19,5,51,42,15,21,6,26,24,28,37,27,32,20,16,6,5,27,37,7,11,41,9,6,23,46,50,17,22,24,20,50 H,218722,8,200,4,16,1015675,155,4,1,1,,3,2,2,,150,0,2,2,1,520,1,,2,1100,1,1,1,8,,,200,1,1,,17,4,240,8,1,111700,1,,,5,1,111700,0,1,1,1,1,3,2,4,0,0,2,16,0,0,1,0,0,1,1513,2,0,1,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,235,169,272,164,189,245,135,249,33,38,193,189,120,212,169,59,199,61,121,221,62,159,43,163,158,57,165,60,244,247,173,146,228,45,105,264,168,318,147,53,245,127,319,218,186,264,131,252,52,36,185,163,166,226,189,54,108,50,121,200,54,184,69,170,150,36,161,47,199,212,196,110,163,81,165,322,171,246,150 H,219459,8,800,4,16,1015675,17,3,1,1,,4,2,2,,120,0,800,3,4,260,1,,,,,3,1,8,,,,1,2,,12,6,720,7,1,174600,4,,,1,1,174600,0,4,4,4,1,5,0,3,0,0,0,2,0,0,0,0,0,1,311,,0,1,12,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,26,13,4,21,17,15,28,5,29,6,27,20,23,19,3,13,38,15,34,21,20,3,17,36,26,27,17,19,22,17,16,4,5,5,17,38,19,5,5,15,15,28,17,5,5,7,17,15,15,21,26,52,29,25,17,5,16,26,12,33,6,18,26,19,19,15,4,24,5,28,5,21,17,13,35,18,5,19,19 H,219818,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,220400,8,500,4,16,1015675,501,3,1,,,2,5,,,70,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,1,1,2,2,23000,1,470,25,2,1,23000,0,1,1,1,2,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,482,195,157,114,392,1072,404,146,929,515,175,721,680,834,728,570,476,365,532,230,409,624,790,723,583,191,426,744,523,435,851,633,182,187,185,521,467,445,480,155,528,660,739,954,581,132,755,924,344,514,818,401,209,131,184,485,488,727,477,639,628,205,180,194,458,710,633,180,463,623,176,401,713,666,545,454,498,530,631,882 H,220520,8,300,4,16,1015675,101,2,1,,,1,5,,,1,0,1,1,3,,1,,,,,,1,3,2,250,,1,3,,,2,630,7,,,,303,25,1,5,14600,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,199,223,28,32,144,102,27,170,190,113,92,33,99,110,106,94,30,103,89,95,148,149,33,31,165,117,27,190,198,119,103,32,73,89,116,105,27,101,91,106,162,175,26,33,183,115,32,173,209,110,103,31,100,112,92,91,31,98,99,91,151,167,24,31,168,101,29,148,172,104,114,30,87,94,96,97,34,133,87,86 H,220593,8,300,4,16,1015675,73,2,1,1,,5,2,2,,130,0,2,200,1,440,1,,1,920,1,2,1,8,,,,1,1,,17,3,360,6,1,93000,4,,,2,1,93000,0,4,4,4,2,1,0,2,0,0,0,17,0,0,0,1,0,2,1280,3,0,1,43,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,19,115,22,89,54,167,142,85,66,56,14,135,79,28,81,85,65,61,21,29,75,75,72,129,28,79,92,77,98,28,97,67,110,86,114,140,25,35,72,64,26,111,25,80,69,120,121,103,70,91,22,105,75,25,83,70,70,72,22,42,96,75,60,93,42,58,53,78,100,33,120,53,113,97,95,90,25,26,87,53 H,220607,8,600,4,16,1015675,132,3,1,,,2,5,,,2,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,1,2,6,5,11000,1,530,16,1,2,39000,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,36,123,293,40,247,101,99,155,98,142,189,52,224,113,114,184,255,149,126,127,116,45,147,142,155,32,181,233,226,200,47,186,130,268,40,111,118,40,244,182,222,132,37,237,39,202,154,127,166,114,106,175,46,126,146,60,30,127,182,101,143,183,117,141,104,206,60,33,36,52,241,128,164,39,225,147,162,194,42 H,220730,8,900,4,16,1015675,51,2,1,1,,2,2,2,,30,0,2,90,1,260,1,,2,630,2,1,1,4,,,170,1,1,,10,5,740,8,1,66004,4,,,1,1,66004,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,1078,2,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,101,92,54,17,65,90,53,50,99,40,12,15,14,48,51,56,66,49,101,15,13,16,46,77,47,14,52,51,16,51,82,86,92,56,48,48,53,59,95,15,16,13,50,86,53,15,51,50,12,42,94,95,71,46,61,54,56,49,19,95,80,89,53,16,46,80,48,46,73,49,14,13,17,61,55,55,43,66,13 H,220852,8,700,4,16,1015675,78,5,1,1,,5,2,2,,190,0,2,90,1,600,1,,1,1500,1,1,1,8,,,300,1,1,,20,2,250,2,2,122000,3,,,1,1,122000,0,3,3,3,1,3,3,5,0,0,3,21,0,0,1,0,0,1,2101,2,0,1,46,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,154,131,80,138,69,85,23,76,23,84,20,77,79,118,84,80,124,21,22,122,74,80,135,77,24,131,81,144,80,23,73,23,138,77,22,23,75,79,85,76,134,142,84,130,79,74,22,81,24,82,22,82,78,120,70,76,131,23,26,138,75,73,125,77,22,141,84,131,85,23,77,25,145,79,23,21,76,84,70,79 H,220953,8,700,4,16,1015675,107,1,1,1,,3,2,2,,30,0,500,10,1,400,1,,1,650,1,1,1,5,,,,2,1,,16,1,360,2,,,,,,1,4,27000,0,4,4,4,1,2,0,,0,0,0,34,0,0,0,0,0,1,762,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,31,109,194,182,105,112,109,112,112,30,118,181,32,111,30,102,173,107,188,30,180,103,34,30,103,108,105,111,113,180,107,33,184,98,175,110,33,103,31,183,36,104,182,190,106,103,98,108,115,28,109,190,31,99,31,114,179,114,184,33,177,106,32,29,98,119,108,105,101,174,113,33,178,107,167,106,36,103,31 H,221056,8,100,4,16,1015675,31,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,35,37,44,22,31,31,28,52,26,26,6,8,44,43,9,28,51,8,28,58,38,32,9,28,32,34,30,10,27,26,55,51,12,11,50,32,8,64,25,9,37,32,48,39,34,28,30,52,28,30,6,7,52,52,9,33,56,11,28,52,32,30,8,31,34,30,28,8,29,23,47,45,8,8,38,30,9,62,25 H,221213,8,100,4,16,1015675,358,2,1,,,2,7,,,40,0,2,3,3,,1,,,,,,1,3,2,590,,1,3,,,1,1,4,,,,630,24,1,5,31000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,574,426,138,101,129,475,375,378,300,334,473,562,473,347,128,292,496,340,353,122,630,383,119,125,114,369,330,443,333,300,661,489,534,443,118,385,566,380,361,98,565,402,113,104,138,465,361,344,384,324,443,560,485,382,132,290,587,374,367,131,495,352,117,113,117,355,334,344,418,292,613,631,621,440,116,355,590,336,351,106 H,221676,8,600,4,16,1015675,99,1,1,,,2,7,,120,60,0,2,4,3,210,1,,,,,3,1,6,,,,1,2,,13,1,1,5,,,,,,1,6,29800,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,1,1,1,275,,0,0,19,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,106,172,164,99,27,172,31,103,110,103,86,101,102,155,31,97,83,29,27,95,28,98,108,29,100,94,101,32,167,175,165,159,28,95,102,165,28,96,117,31,100,28,30,95,161,29,161,96,107,91,94,98,94,29,155,92,103,170,188,100,165,99,84,159,101,107,103,155,34,31,28,30,166,110,106,29,148,96,104,157 H,221867,8,800,4,16,1015675,129,3,1,2,1,4,2,2,,150,0,30,3,3,2000,1,,2,1100,1,1,1,9,,,,1,1,,21,2,2,5,7,30000,2,,,1,3,30000,0,2,2,2,1,2,2,3,0,0,2,57,0,0,1,0,0,1,1420,3,0,1,22,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,145,122,111,37,126,242,122,38,29,117,139,36,246,131,216,248,117,217,36,103,144,154,142,210,117,57,136,231,195,122,120,209,51,119,35,49,114,48,201,128,143,124,129,244,139,45,115,197,199,116,118,179,40,121,39,35,143,44,188,143,106,125,171,36,130,219,142,43,41,125,142,32,202,141,208,223,143,238,39,131 H,222392,8,800,4,16,1015675,64,2,1,1,,2,2,2,,60,0,2,100,1,50,1,,,,,3,1,4,,,,1,2,,10,3,480,9,4,100,4,,,1,1,100,0,4,4,4,1,7,0,2,0,0,0,101,0,0,0,2,2,1,269,,0,1,17,0,9,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,96,18,17,17,24,110,75,72,21,105,49,50,99,63,70,97,56,71,56,57,15,137,146,112,125,22,58,70,110,15,84,56,22,75,70,23,78,69,66,73,114,19,17,22,21,88,71,68,22,110,61,65,94,60,68,105,56,58,79,69,24,114,132,105,100,19,64,69,127,20,65,71,18,65,61,17,66,54,54 H,222729,8,100,4,16,1015675,110,4,1,1,,3,2,2,,140,0,2,2,1,,1,,,,,,1,5,2,750,,1,3,,,3,600,9,2,33200,2,940,34,1,1,33200,0,2,2,2,1,1,1,4,0,0,1,,0,0,1,0,0,1,,,1,0,,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,112,108,37,122,182,36,35,221,123,119,202,117,172,109,102,120,33,104,33,157,105,104,33,105,180,28,32,180,113,120,190,108,175,113,113,111,36,119,30,164,109,123,27,126,181,30,35,160,110,99,185,144,185,103,105,105,40,105,34,206,110,97,36,118,183,32,33,192,96,111,216,118,219,118,135,107,34,100,27,163 H,223144,8,400,4,16,1015675,96,4,1,1,,2,1,2,,160,0,2,3,3,190,1,0,,,,3,1,4,,,,1,2,,4,3,840,5,1,30000,2,,,2,1,30000,0,3,3,3,1,4,2,4,0,0,2,11,0,0,1,0,0,2,267,,0,0,7,2,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,111,125,119,105,36,25,22,151,266,70,33,105,76,31,88,127,207,121,27,90,104,102,147,104,192,120,106,119,52,92,155,125,71,120,124,33,29,25,33,88,103,102,124,88,167,125,117,141,42,86,150,127,69,119,99,25,38,29,181,81,111,103,123,102,29,20,23,153,240,77,30,114,73,25,99,142,223,172,159 H,223184,8,100,4,16,1015675,22,5,1,3,6,3,2,2,,160,0,2,3,6,870,1,,1,1700,1,1,1,6,,,340,1,1,,23,4,2,3,2,88700,2,,,1,1,88700,1,2,2,2,1,3,2,5,0,0,2,30,0,0,1,1,1,1,2200,2,0,0,39,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,36,5,23,26,41,35,42,23,21,7,32,19,7,21,23,27,20,6,7,26,22,24,40,6,23,20,23,37,7,21,20,39,27,45,40,5,6,20,25,38,7,33,22,27,8,9,7,27,20,47,7,24,43,23,25,21,24,38,35,21,18,23,7,42,26,22,25,5,37,19,18,6,22,7,7,33,39,25,23 H,223416,8,100,4,16,1015675,128,2,1,1,,3,2,2,,50,0,2,140,1,,1,,,,,,1,6,2,650,,1,3,,,3,760,2,,,,903,14,1,5,78700,0,4,4,4,1,4,0,,0,1,0,,2,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,192,202,42,43,121,34,127,105,228,115,229,120,222,139,122,45,118,131,221,146,128,151,158,135,225,127,33,182,152,220,125,35,123,39,167,117,42,45,251,109,124,133,161,137,210,137,35,214,128,193,124,42,113,39,228,134,37,34,130,50,215,196,39,46,128,36,129,108,214,124,200,133,190,113,114,42,135,143,136 H,223475,8,500,4,16,1015675,272,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,8,,,,,,3,19,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,450,252,406,287,254,547,318,260,79,76,416,393,81,305,346,77,81,216,306,254,538,245,277,302,262,545,245,325,81,74,464,345,96,286,410,99,85,255,214,282,72,264,245,251,353,84,312,340,437,474,77,88,479,268,92,450,531,289,286,239,81,291,234,254,285,81,280,260,411,452,74,99,382,271,95,368,428,342,304 H,223829,8,300,4,16,1015675,66,3,1,2,1,3,2,1,,230,0,200,3,6,200,1,,1,690,1,1,1,6,,,,1,1,,15,6,2,2,,,,,,1,5,43000,0,4,4,4,1,4,0,,0,1,0,26,2,0,0,0,0,1,937,3,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,100,76,79,24,59,114,85,66,98,61,18,23,23,71,80,74,60,55,20,114,106,121,77,16,52,132,93,50,90,93,23,16,22,74,82,77,68,73,18,93,84,108,72,25,104,120,61,71,84,48,17,21,21,53,60,65,77,79,15,71,86,142,86,25,67,122,72,67,101,52,26,25,26,82,76,81,55,64,18 H,223947,8,100,4,16,1015675,73,1,1,1,,2,2,2,,60,0,2,30,1,,1,,,,,,1,5,2,600,,1,3,,,1,1,6,,,,690,22,1,6,38200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,91,91,105,79,109,82,69,55,22,83,16,58,85,26,78,129,23,21,21,26,68,73,19,62,30,79,87,53,122,86,119,89,76,135,85,24,130,133,18,25,61,72,22,85,20,52,82,62,158,67,175,85,88,132,70,25,104,118,122,117,74,71,124,83,125,68,69,115,29,60,26,79,109,20,51,103,20,21,99 H,224527,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,224636,8,600,4,16,1015675,90,4,1,1,,3,2,2,,130,0,2,50,3,1000,1,,1,860,1,1,1,7,,,,1,1,,16,2,300,5,7,31580,2,,,1,3,31580,0,2,2,2,1,3,2,4,0,0,2,40,0,0,1,0,0,1,1065,3,0,1,1,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,157,27,148,152,107,105,28,27,138,96,90,84,145,97,97,91,27,91,85,172,98,85,92,88,25,25,101,85,93,26,151,26,91,159,158,151,97,27,22,85,149,31,154,168,89,90,29,27,184,89,94,81,151,88,93,98,22,105,97,162,81,104,86,88,27,27,96,101,85,27,141,25,88,154,155,154,92,34,28 H,224744,8,200,4,16,1015675,26,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,41,24,22,28,10,27,8,23,25,5,27,40,7,9,48,23,25,51,35,25,42,26,28,26,6,22,6,23,25,9,33,42,6,7,50,28,23,38,7,31,9,30,30,25,42,27,38,21,27,46,25,7,46,45,6,27,25,5,7,27,9,24,24,23,48,21,39,27,20,34,23,8,54,45,6,26,27,7,33 H,224917,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,225228,8,900,4,16,1015675,61,2,1,1,,2,2,2,,50,0,2,80,1,200,1,,1,500,1,1,1,4,,,,2,1,,12,2,400,8,1,25000,4,,,1,1,25000,0,4,4,4,1,1,0,2,0,0,0,32,0,0,0,0,0,1,663,3,0,1,3,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,16,53,112,11,101,57,60,51,74,73,66,15,106,71,54,103,121,54,60,50,70,142,58,83,56,111,21,18,18,14,111,71,68,20,108,61,54,100,115,109,95,61,18,125,19,54,68,65,75,61,63,116,24,60,54,15,18,69,65,54,68,15,57,61,53,18,111,99,104,115,18,63,52,101,19,48,61,17,19 H,225238,8,100,4,16,1015675,321,1,1,2,1,2,1,2,,80,0,2,3,6,0,1,0,,,,3,1,4,,,,1,2,,16,2,2,5,,,,,,1,4,25000,0,4,4,4,1,3,0,,0,0,0,7,0,0,0,0,0,2,138,,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,427,308,276,426,381,106,501,613,85,304,288,106,280,122,382,295,300,438,337,112,503,349,294,436,353,100,614,523,124,349,282,106,374,101,295,312,355,504,367,104,499,330,340,549,311,101,510,576,115,362,316,92,382,86,230,327,349,498,294,105,560,367,317,508,292,95,513,621,93,347,323,99,316,92,289,344,319,533,336,112 H,225309,8,100,4,16,1015675,23,3,1,2,1,3,1,2,,110,0,2,3,3,1200,1,0,2,850,2,1,1,5,,,,1,1,,14,2,2,4,5,36000,2,,,1,2,36000,0,2,2,2,1,1,2,3,0,0,2,36,0,0,1,0,0,1,1093,3,0,0,10,1,10,10,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,35,26,20,36,42,27,44,7,43,6,21,8,7,23,30,27,26,21,22,24,11,36,38,25,20,8,22,22,23,27,6,19,29,43,43,7,5,31,8,36,24,22,24,8,7,21,6,46,9,30,20,56,43,23,24,24,24,20,20,26,40,7,11,29,26,40,21,26,19,21,40,22,29,9,7,40,37,7,51 H,225585,8,400,4,16,1015675,110,1,1,,,2,4,,,120,330,140,3,6,,1,,,,,,1,4,2,50,,1,3,,,0,400,5,,,,215,20,1,6,12900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,186,42,108,160,32,26,102,114,155,121,102,98,123,156,93,112,33,32,184,109,44,216,131,31,184,206,116,109,35,111,91,122,114,35,128,95,195,186,31,114,156,32,119,162,35,35,115,136,159,120,92,104,109,165,130,96,28,34,182,114,34,164,136,30,163,209,122,132,29,94,120,104,113,34,107,126,200,196,40,131 H,225659,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,225887,8,900,4,16,1015675,78,7,1,1,,4,2,1,,130,0,80,60,1,500,1,,2,920,2,1,1,9,,,300,1,1,,15,4,90,9,1,79000,3,,,1,1,79800,0,3,3,3,1,4,2,4,0,1,2,23,0,0,1,0,0,1,1559,2,0,0,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,129,83,75,67,23,77,83,110,24,134,124,79,95,20,20,138,80,75,132,77,25,85,75,88,120,68,91,20,163,25,23,84,75,142,151,24,75,67,25,72,128,89,73,73,22,67,66,143,20,149,128,70,66,22,16,127,84,72,128,99,26,75,91,80,176,76,78,23,129,24,22,78,79,135,135,25,88,87,22 H,226041,8,300,4,16,1015675,63,0,1,,,1,5,,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,66,120,64,113,18,18,66,61,63,99,64,18,55,17,20,118,65,94,56,59,62,98,60,98,19,20,58,65,57,107,75,18,62,18,19,102,61,122,59,64,63,21,63,17,88,106,62,62,60,18,72,105,60,120,110,16,68,23,71,61,67,20,64,20,96,93,56,57,62,18,56,98,62,106,99,19,66,21,60 H,226065,8,700,4,16,1015675,140,5,1,1,,5,2,2,,130,0,2,150,1,480,1,,1,1700,1,1,1,9,,,150,1,1,,21,2,610,2,1,116000,3,,,1,1,116000,0,3,3,3,1,3,3,5,0,0,3,23,0,0,1,0,0,1,2181,2,0,1,43,2,4,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,144,43,42,45,122,145,140,137,140,224,232,235,135,40,143,229,131,163,223,44,127,262,221,254,145,133,140,144,141,40,38,38,144,291,137,39,137,134,40,240,135,42,43,42,144,149,133,140,141,225,245,272,136,39,122,262,147,134,277,40,160,247,280,237,132,139,136,131,126,40,41,44,141,204,137,46,159,113,47 H,226144,8,400,4,16,1015675,105,2,1,2,1,3,1,2,,130,0,2,3,3,400,1,0,,,,3,1,6,,,,1,2,,18,3,2,6,5,70000,4,,,1,2,70000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,0,0,2,196,,0,0,10,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,159,111,95,141,103,226,34,43,132,118,105,196,96,33,147,32,32,190,93,119,32,108,92,27,100,35,186,160,98,93,74,30,110,158,104,202,171,31,113,125,206,105,98,221,144,161,28,35,81,106,100,173,112,27,107,38,31,165,90,107,36,83,101,34,93,34,198,190,104,109,125,31,107,187,102,170,160,31,148 H,226253,8,800,4,16,1015675,30,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,39,37,38,54,33,8,8,8,35,39,25,29,31,45,54,47,26,10,27,55,9,35,35,12,36,46,45,38,30,47,30,29,31,6,8,9,30,57,33,9,42,28,31,50,33,10,8,9,36,41,29,31,34,38,49,70,24,10,32,55,8,31,33,10,34,52,42,55,40,30,28,31,31,8,9,8,24,57,26,10 H,226488,8,500,4,16,1015675,47,2,1,2,1,3,2,2,,80,0,800,3,4,600,1,,1,1200,1,1,1,8,,,300,1,1,,18,3,2,9,2,49000,4,,,1,1,49000,0,4,4,4,1,3,0,2,0,0,0,40,0,0,0,1,1,1,1647,1,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,53,48,87,15,46,51,78,48,95,83,15,13,43,51,52,56,85,12,47,86,55,48,13,77,49,50,13,50,13,13,87,74,48,53,40,43,14,83,49,83,51,54,13,82,49,55,15,61,13,15,72,85,50,46,43,43,13,87,50,13,49,42,89,16,44,45,86,52,88,81,13,13,55,44,54,43,79,15,45,15 H,226637,8,100,4,16,1015675,75,1,1,,,0,7,,,1,0,2,3,3,,1,,,,,,1,1,2,400,,2,3,,,1,1,4,,,,400,48,1,4,10000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,81,72,22,93,77,96,86,16,28,108,84,17,96,182,70,47,25,95,47,69,57,73,178,125,71,34,26,86,137,15,54,129,32,33,102,65,141,94,73,96,75,74,132,57,72,26,23,113,141,25,69,141,22,15,82,79,81,60,69,82,84,69,17,55,74,133,115,25,22,165,89,26,158,111,67,123,22,63,88 H,226896,8,100,4,16,1015675,15,2,1,3,2,3,2,2,,210,0,600,3,3,200,1,,2,700,1,1,1,7,,,,1,1,,20,4,2,3,3,26000,4,,,1,1,26000,0,4,4,4,1,4,0,2,0,0,0,45,0,0,0,2,0,2,977,3,0,0,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,3,13,13,18,16,4,12,14,18,22,5,3,33,13,3,19,22,14,14,12,3,13,15,12,13,7,17,14,27,34,7,5,20,10,3,22,23,12,17,17,24,14,10,13,13,23,16,14,3,5,21,21,5,15,24,5,5,15,10,15,21,15,17,15,23,24,12,16,6,5,29,27,3,12,22,5,3,19 H,227071,8,500,4,16,1015675,95,1,1,1,,3,2,2,,30,0,700,70,1,350,1,,1,1000,1,1,1,6,,,,1,1,,16,3,250,2,,,,,,1,4,30000,0,4,4,4,1,3,0,,0,0,0,47,0,0,0,0,0,1,1179,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,73,101,171,109,27,176,154,28,97,107,31,121,29,101,79,76,154,87,142,31,92,96,31,106,184,28,25,166,105,99,144,96,142,96,83,80,30,106,29,184,98,95,142,96,25,150,151,32,86,100,31,124,30,92,101,94,133,89,170,34,101,110,25,76,161,30,26,140,84,104,145,92,161,123,96,91,25,98,32 H,227267,8,600,4,16,1015675,99,2,1,1,,4,2,2,,40,0,2,40,1,400,1,,,,,3,1,9,,,,1,2,,16,2,240,7,4,59000,4,,,1,1,59000,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,250,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,32,179,166,89,164,101,97,29,97,30,112,26,86,87,171,85,84,165,159,94,115,110,92,163,112,32,161,97,204,98,29,92,27,173,99,28,28,95,101,27,26,172,178,96,167,101,100,27,93,29,96,26,106,104,161,95,112,173,161,93,90,99,91,169,103,24,161,100,173,91,30,107,27,170,93,30,28,102,90 H,227922,8,500,4,16,1015675,56,2,1,,,2,8,,,50,0,2,60,1,,1,,,,,,1,5,2,520,,1,3,,,1,2,2,7,20000,1,630,38,1,3,20000,0,1,1,1,1,2,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,89,52,118,51,17,61,14,84,69,16,16,58,67,49,56,49,101,75,92,15,93,57,97,57,17,64,16,94,58,15,20,52,60,60,54,58,87,59,101,17,106,53,94,59,18,53,19,101,53,17,16,50,52,64,67,60,106,48,98,18,102,57,88,50,14,67,15,105,51,16,15,58,56,66,56,47,85,52,90 H,228046,8,800,4,16,1015675,57,2,1,2,1,2,2,2,,80,0,2,100,2,1800,1,,2,710,2,1,1,5,,,500,1,1,,19,2,2,3,2,39600,4,,,1,1,39600,0,4,4,4,1,5,0,2,0,0,0,51,0,0,0,0,0,2,1673,2,0,1,28,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,119,49,64,49,52,55,13,20,18,58,93,70,17,53,57,16,57,84,108,108,94,80,69,64,67,46,16,18,18,64,91,54,22,65,51,15,46,107,24,17,16,48,55,48,62,55,77,97,99,43,17,67,68,52,66,78,57,17,17,18,22,74,52,63,73,47,78,105,94,49,22,59,122,61,57,113,60,20,107 H,228110,8,500,4,16,1015675,72,2,1,1,,3,2,2,,50,0,2,150,1,1200,1,,1,850,1,1,1,5,,,,1,1,,15,2,400,3,1,96900,4,,,1,1,96900,0,4,4,4,1,3,0,2,0,0,0,13,0,0,0,2,1,1,1083,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,20,129,121,69,70,73,20,76,105,65,136,143,20,66,22,68,71,23,83,78,136,22,25,72,78,78,116,62,21,61,19,24,111,67,124,67,68,115,66,84,132,18,25,74,64,72,100,61,20,73,19,22,117,66,118,69,67,124,77,71,24,152,140,68,70,71,25,61,133,76,135,109,22,70,22,71,66,16,76 H,228252,8,100,4,16,1015675,105,2,1,1,,3,2,2,,80,0,2,40,1,700,1,,2,470,2,1,1,5,,,,1,1,,18,2,120,5,,,,,,1,5,72500,0,4,4,4,1,6,0,,0,1,0,12,1,0,0,0,0,1,741,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,30,168,130,37,36,91,129,113,118,101,178,87,31,184,117,171,93,31,146,109,33,165,105,33,33,106,97,106,104,106,185,100,31,197,89,193,100,27,186,103,39,145,113,34,27,110,111,107,105,109,181,107,32,161,104,194,98,27,176,109,28,195,101,32,32,97,114,96,102,109,176,100,31,207,102,168,100,27,153 H,228424,8,100,4,16,1015675,118,2,1,1,,1,2,2,,130,0,2,130,1,500,1,,2,280,2,1,1,3,,,,1,1,,12,1,500,8,8,11000,2,,,1,3,11000,0,2,2,2,1,5,1,2,0,0,1,90,0,0,1,0,0,1,824,3,0,1,36,0,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,36,39,192,194,34,127,180,38,31,123,125,182,115,128,117,109,207,137,134,117,33,36,206,204,30,117,219,33,33,129,120,172,126,123,119,129,168,119,103,126,43,35,221,173,35,114,219,30,33,119,140,177,123,117,107,126,244,121,103,114,34,34,199,181,36,112,216,39,30,137,127,179,122,106,101,126,220,127,114 H,228531,8,100,4,16,1015675,208,2,1,2,1,3,2,2,,110,0,2,3,3,670,1,,1,750,1,1,1,7,,,,1,1,,18,3,360,7,1,100000,4,,,1,1,100000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,2,890,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,56,352,174,196,188,326,231,71,219,337,414,208,254,361,55,228,58,61,198,191,64,329,175,199,217,368,210,68,233,361,345,199,284,298,58,196,61,74,240,182,53,308,239,190,203,300,215,76,209,309,322,210,181,318,76,204,72,62,248,176,59,328,219,209,219,337,186,71,272,377,382,237,222,332,70,193,51,58,204 H,228725,8,800,4,16,1015675,60,2,1,1,,3,2,2,,130,0,2,3,3,640,1,,1,810,1,1,1,6,,,,1,1,,12,1,360,7,7,20000,2,,,1,3,20000,0,2,2,2,1,3,1,2,0,0,1,58,0,0,1,0,0,2,970,3,0,1,18,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,61,17,106,119,15,56,64,23,55,12,100,66,44,87,59,90,57,54,84,98,51,90,22,22,97,58,46,91,58,96,79,98,52,17,55,11,59,76,19,14,63,15,94,101,20,60,53,22,56,12,59,66,62,118,63,76,64,78,114,85,71,77,15,18,93,73,86,139,69,71,53,62,52,17,64,17,55,58,18,23 H,228749,8,300,4,16,1015675,76,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,89,22,61,149,88,81,161,88,23,25,23,70,72,82,75,83,117,112,21,130,75,21,97,138,65,61,120,86,23,22,19,77,80,79,85,84,133,114,96,24,85,142,72,19,61,75,24,73,129,130,125,78,87,85,83,76,21,22,137,23,99,122,66,23,70,65,24,78,155,130,118,80,81,71,70,84,25,22,20 H,229060,8,500,4,16,1015675,113,4,1,1,,4,2,2,,90,0,2,60,3,650,1,,1,800,1,1,1,8,,,,1,1,,15,4,120,5,1,62780,2,,,1,1,62780,0,2,2,2,1,3,1,4,0,0,1,18,0,0,1,0,0,1,960,3,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,190,134,101,99,162,36,162,99,35,33,32,123,226,35,105,114,103,121,204,122,128,187,251,37,94,134,117,31,103,113,118,187,113,112,34,173,32,35,116,204,189,130,119,108,179,35,214,110,30,36,28,99,176,34,117,119,114,103,225,106,116,195,199,38,104,129,116,34,107,100,135,174,123,112,32,196,35,38,114 H,229247,8,900,4,16,1015675,88,3,1,1,,4,2,2,,40,0,2,110,1,400,1,,2,500,2,1,1,7,,,,1,1,,13,2,250,4,5,41500,4,,,1,2,56500,0,4,4,4,1,4,0,2,0,1,0,19,1,0,0,0,0,1,912,3,0,1,37,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,82,83,161,25,94,68,27,93,86,25,75,76,103,25,134,145,155,170,25,88,29,144,82,81,193,187,83,28,26,96,173,27,146,88,87,78,72,83,89,23,87,97,149,24,102,82,26,98,85,28,94,70,79,36,162,130,142,120,24,86,28,135,83,91,152,161,85,27,29,85,162,28,141,75,95,105,91,73,100 H,229271,8,400,4,16,1015675,150,3,1,1,,1,3,2,,2,0,2,3,3,,1,,,,,,1,4,2,300,,2,3,,,1,1,5,2,30000,1,300,12,2,1,30000,0,1,1,1,2,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,107,42,163,177,170,217,72,132,129,212,188,36,44,241,112,42,232,292,107,167,126,59,168,137,183,143,42,175,117,232,226,41,73,334,285,45,222,289,160,133,122,32,134,215,167,264,53,111,172,269,318,53,34,252,134,41,257,300,112,157,130,58,116,120,176,104,35,227,143,316,189,23,52,386,249,41,307,299,207 H,229286,8,700,4,16,1015675,79,2,1,2,4,3,2,2,,60,0,2,70,1,1200,1,,,,,3,1,5,,,,1,2,,20,4,480,1,4,66000,4,,,3,1,66000,0,4,4,4,1,1,0,2,0,0,0,8,0,0,0,2,2,1,420,,0,1,30,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,141,80,21,118,142,25,85,84,27,75,25,76,65,82,140,69,118,70,128,73,27,91,126,24,24,137,83,82,151,77,135,78,74,80,23,73,23,83,135,75,24,86,123,23,21,143,86,79,141,79,132,76,76,78,20,80,28,88,22,75,121,71,22,132,135,24,72,83,25,74,24,88,80,81,132,75,133,76,22 H,229622,8,800,4,16,1015675,65,1,1,2,1,2,2,2,,20,0,2,3,3,310,1,,,,,3,1,5,,,,1,2,,12,3,2,9,,,,,,1,4,31300,0,4,4,4,1,6,0,,0,0,0,4,0,0,0,1,1,1,96,,0,1,14,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,19,64,20,67,67,15,66,17,89,94,68,68,67,22,75,142,53,81,119,66,21,70,19,60,64,16,60,17,115,106,60,75,65,15,58,104,76,90,118,59,19,61,19,57,72,20,76,16,114,97,71,63,66,18,73,101,64,116,88,66,13,71,16,58,81,17,60,23,123,111,67,67,66,24,57,117,46,99,117,83 H,229628,8,700,4,16,1015675,89,4,1,1,,4,2,2,,40,0,2,50,1,470,1,,1,1100,1,1,1,9,,,,1,1,,19,2,560,1,1,64700,3,,,1,1,64700,0,3,3,3,1,2,2,4,0,0,2,23,0,0,1,0,0,1,1237,3,0,1,37,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,144,85,80,87,95,157,87,82,28,26,147,140,25,89,141,24,28,95,79,77,146,84,83,92,83,147,90,94,29,25,163,147,25,100,161,27,25,91,95,97,26,84,92,80,82,26,82,95,141,143,24,28,148,80,25,142,137,87,92,91,27,97,94,88,93,29,88,92,149,141,29,26,146,79,23,153,154,77,85 H,229733,8,400,4,16,1015675,134,1,1,1,,3,2,2,,4,0,2,70,1,210,1,,1,430,2,1,1,5,,,,2,1,,12,0,380,7,,,,,,4,6,20010,0,4,4,4,2,1,0,,0,0,0,37,0,0,0,0,0,1,614,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,166,118,153,136,39,65,112,50,204,46,164,135,221,299,137,92,151,170,100,57,119,169,52,45,148,141,163,167,131,163,164,178,187,127,44,53,244,219,70,138,192,133,148,85,47,41,117,25,200,42,329,156,286,179,99,129,159,143,133,39,296,253,31,46,152,146,218,107,171,108,101,240,156,187,42,38,256,202,46 H,230520,8,100,4,16,1015675,59,2,1,2,1,2,2,2,,40,0,2,230,2,500,1,,2,750,2,1,1,7,,,,1,1,,20,2,2,4,,,,,,1,7,37600,0,4,4,4,1,5,0,,0,1,0,41,0,0,0,2,2,1,1270,3,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,62,16,118,65,111,95,74,111,18,63,62,56,19,56,104,55,20,17,47,54,61,17,103,53,100,103,54,102,16,56,65,56,15,63,97,68,20,18,61,66,68,86,22,63,15,16,57,18,100,65,75,61,100,57,17,63,88,88,61,65,59,112,15,61,17,18,60,17,107,72,64,61,92,71,18,56,86,88,55 H,230695,8,500,4,16,1015675,77,4,1,1,,3,2,2,,80,0,2,30,1,600,1,,1,680,1,1,1,6,,,670,1,1,,16,3,360,3,1,86000,2,,,2,1,86000,0,2,2,2,1,5,1,4,0,0,1,21,0,0,1,0,0,1,1490,1,0,1,29,3,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,69,66,105,80,68,167,131,119,70,28,79,141,78,83,115,91,22,19,21,25,74,67,69,74,68,148,160,150,76,23,92,114,77,69,125,96,24,26,23,27,77,103,70,67,97,146,152,119,84,24,76,141,77,78,107,73,22,22,26,28,89,74,67,78,95,139,144,124,71,25,68,155,72,79,121,64,20,23,23 H,230906,8,100,4,16,1015675,69,2,1,2,3,3,2,2,,220,0,100,220,1,900,1,,1,1800,1,1,1,8,,,,1,1,,21,2,900,3,1,111400,4,,,1,1,111400,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,0,0,1,2323,3,0,1,28,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,26,64,19,108,120,68,81,74,22,67,128,78,111,106,22,77,21,67,73,71,127,65,104,18,19,76,71,76,101,72,23,63,25,21,106,56,97,59,57,70,120,66,122,20,24,67,79,86,115,62,21,63,25,18,127,69,109,76,66,77,20,71,25,134,110,59,74,68,19,57,135,65,104,127,27,66,17,60,81 H,230954,8,500,4,16,1015675,30,4,1,1,,2,2,2,,130,0,600,3,3,600,1,,1,560,1,1,1,5,,,,1,1,,11,3,2,9,1,59300,4,,,1,1,59300,0,4,4,4,1,3,0,4,0,0,0,15,0,0,0,0,0,2,740,3,0,1,5,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,50,46,33,28,46,24,29,48,62,54,57,33,54,30,61,27,32,32,8,30,10,10,29,28,9,28,33,10,8,8,9,30,8,27,8,27,28,29,8,30,9,8,29,32,10,27,32,8,10,10,8,30,8,29,11,31,33,30,52,32,54,52,32,29,40,33,29,57,48,41,47,33,46,30,49,27,29,25,50 H,231004,8,600,4,16,1015675,80,4,1,1,,5,2,2,,60,0,2,20,1,350,1,,1,1500,1,1,1,9,,,,1,1,,20,2,290,4,1,78000,2,,,1,1,78000,0,3,3,3,1,3,2,4,0,0,2,25,0,0,1,0,0,2,1604,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,25,132,75,130,94,23,72,25,146,75,24,22,84,75,78,75,75,149,81,24,123,23,90,23,78,140,89,146,25,79,130,131,86,82,76,82,81,23,79,131,23,138,78,154,85,22,91,25,134,85,21,22,78,79,89,83,75,130,75,24,135,23,87,23,78,139,74,136,24,78,146,129,74,77,82,73,80,25,84,136 H,231062,8,900,4,16,1015675,77,3,1,,,2,5,,,30,0,2,90,1,,1,,,,,,1,4,2,580,,1,3,,,2,1,3,,,,700,16,1,7,52500,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,72,31,80,25,68,102,65,134,83,115,73,89,110,76,22,119,118,23,116,57,102,128,60,115,80,80,52,23,82,29,90,73,33,98,120,23,23,99,119,106,54,111,97,136,65,64,85,26,79,21,92,82,17,75,104,23,25,166,27,69,70,23,63,22,96,82,70,129,70,180,75,70,154,69,26,124,115,25,30 H,231139,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,231318,8,900,4,16,1015675,133,2,1,1,,2,3,2,,50,2500,2,60,1,,1,,,,,,1,4,2,600,,1,3,,,1,780,8,7,900,2,775,101,1,3,900,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,206,37,128,214,255,141,105,112,139,130,46,120,229,37,115,45,148,184,124,31,222,48,158,236,284,240,126,112,94,109,60,147,210,42,169,40,130,266,139,55,202,43,135,224,160,123,140,162,179,147,31,152,214,35,135,43,141,311,176,50,194,30,118,216,191,117,201,177,181,113,41,115,207,52,105,36,131,146,151,42 H,231572,8,400,4,16,1015675,112,2,1,2,1,2,2,2,,120,0,1000,3,6,800,1,,2,80,2,1,1,5,,,,1,1,,22,4,2,4,2,36000,4,,,1,1,36000,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,1,450,3,0,1,24,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,154,111,25,100,177,117,186,177,34,109,36,118,151,34,100,31,179,196,124,104,102,116,183,129,35,116,39,32,173,91,177,115,96,178,126,197,32,33,118,126,132,92,29,95,130,103,250,210,27,138,38,110,151,44,151,31,158,185,112,125,126,88,191,87,25,149,31,34,226,127,171,97,115,157,96,171,32,33,114 H,231710,8,500,4,16,1015675,28,3,1,,,3,5,,,2,0,2,3,1,,1,,,,,,1,5,2,700,,1,3,,,2,1,2,8,9000,1,700,15,1,3,55100,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,8,23,26,8,26,24,8,25,28,23,10,40,39,48,50,9,26,26,27,45,6,29,28,8,29,25,8,28,33,29,8,50,51,49,50,8,29,30,26,51,6,31,26,9,29,31,8,28,29,29,8,45,39,45,50,8,30,35,25,42,9,25,26,8,28,27,7,25,29,28,7,48,38,40,45,8,31,21,28 H,231799,8,900,4,16,1015675,84,1,1,1,,3,2,2,,40,0,2,90,1,200,1,,,,,3,1,5,,,,1,2,,9,1,760,7,,,,,,1,6,28004,0,4,4,4,1,7,0,,0,0,0,13,0,0,0,1,1,1,293,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,76,32,87,26,142,72,28,25,88,86,77,93,84,132,86,23,118,78,150,123,68,27,78,22,158,98,26,20,90,101,92,87,80,155,95,26,127,86,125,173,90,28,75,25,126,77,24,28,82,85,92,95,87,134,84,28,162,70,142,127,77,23,72,24,160,85,24,19,84,76,97,86,93,141,86,28,157,80,166,165 H,232252,8,800,4,16,1015675,117,4,1,1,,3,2,2,,30,0,2,20,1,870,1,,1,1300,1,1,1,6,,,370,1,1,,20,2,840,3,1,43400,2,,,2,1,43400,0,2,2,2,2,3,2,4,0,0,2,49,0,0,1,0,0,2,1790,1,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,206,96,120,29,91,154,103,123,46,129,98,226,196,29,32,210,108,36,118,194,214,127,99,37,130,138,145,126,31,104,130,154,199,38,34,210,111,39,124,32,31,119,109,187,103,93,140,121,150,90,137,30,38,204,214,37,103,228,148,34,37,88,143,175,85,142,132,109,238,115,117,59,47,149,174,40,124,192,114 H,232498,8,100,4,16,1015675,24,2,1,1,,3,2,2,,60,0,2,100,2,330,1,,1,430,1,1,1,5,,,,1,1,,10,2,720,8,1,69900,4,,,1,1,69900,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,0,0,2,650,3,0,1,6,2,2,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,25,43,22,9,28,26,5,45,27,28,8,22,22,44,22,27,7,39,43,21,8,24,40,23,7,9,25,21,8,40,23,43,38,22,46,5,26,22,22,7,24,51,18,9,28,22,6,42,23,26,8,24,23,41,22,24,6,37,36,27,7,20,47,25,9,8,22,27,7,43,25,41,37,22,51,7,24,23,22,5 H,232506,8,600,4,16,1015675,123,3,1,1,,3,2,2,,60,2900,2,40,1,430,1,,1,780,1,1,1,6,,,,1,1,,17,2,670,6,2,29000,2,,,1,1,29000,0,1,1,1,1,4,1,3,0,0,1,39,0,0,1,0,0,1,936,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,121,123,37,126,111,221,223,34,39,219,122,34,204,212,122,120,35,120,127,136,125,105,33,139,137,214,206,40,33,201,117,32,231,217,109,131,38,135,118,111,123,135,217,128,120,35,33,203,233,37,131,198,35,37,133,128,198,134,119,125,114,116,211,133,129,33,35,226,185,37,125,199,37,41,119,113,202,123,128 H,232546,8,100,4,16,1015675,114,2,1,1,,4,2,2,120,70,0,120,300,1,850,1,,2,820,2,1,1,7,,,,1,1,,20,2,400,3,4,50500,4,,,1,1,50500,0,4,4,4,1,5,0,2,0,0,0,40,0,0,0,2,1,1,1691,3,0,1,44,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,105,97,32,45,125,99,113,31,176,30,104,172,201,204,114,40,165,109,35,44,214,206,123,120,37,34,173,101,129,112,192,120,121,129,30,114,124,208,125,107,118,98,36,39,119,119,122,43,212,37,115,206,191,198,121,32,197,107,37,39,188,168,118,132,38,33,190,95,100,95,156,113,115,111,32,111,122,226,132 H,232600,8,900,4,16,1015675,71,2,1,1,,3,3,2,,120,0,2,3,3,,1,,,,,,1,8,2,650,,1,3,,,1,1,5,,,,770,14,1,5,67000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,154,131,25,65,101,17,20,69,86,137,71,65,63,72,112,73,128,20,63,20,102,113,24,79,116,28,26,87,75,115,78,82,93,85,94,59,57,20,73,20,125,107,18,95,146,24,20,68,75,114,96,73,83,82,118,60,47,23,87,25,137,116,27,55,114,21,23,75,89,138,82,62,69,64,123,64,74,23,63 H,232818,8,100,4,16,1015675,79,4,1,2,1,3,2,2,,70,0,2,100,1,650,1,,2,2400,2,1,1,9,,,,1,1,,22,4,2,2,1,423200,4,,,1,1,423200,0,4,4,4,1,3,0,4,0,0,0,9,0,0,0,0,0,1,3024,3,0,1,60,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,26,83,27,124,79,72,95,165,100,27,76,121,140,71,82,142,21,74,59,25,25,78,22,117,77,88,92,148,83,22,68,116,157,83,67,141,26,74,81,112,144,62,166,24,71,78,78,25,84,122,85,25,22,72,91,28,129,68,89,118,110,86,156,25,86,84,71,24,90,137,80,26,22,92,87,25,122,66,70 H,232874,8,200,4,16,1015675,35,3,1,1,,2,2,2,,80,0,120,3,6,560,1,,2,330,2,2,1,3,,,,1,1,,6,3,100,5,3,24000,2,,,1,1,24000,0,2,2,2,1,4,1,3,0,0,1,25,0,0,1,0,0,1,508,3,0,1,10,1,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,10,10,72,57,10,34,48,12,12,34,31,58,29,32,44,36,60,33,44,32,56,59,10,11,49,32,11,59,54,30,32,10,30,36,32,35,14,30,32,33,12,8,62,61,9,30,58,9,8,37,36,49,29,33,44,38,60,34,38,46,70,76,13,10,49,25,8,59,61,28,32,9,33,44,38,37,8,29,28 H,233128,8,600,4,16,1015675,235,1,1,,,1,6,,,50,0,2,3,3,,1,,,,,,1,3,2,430,,1,3,,,1,1,3,,,,480,23,1,4,25000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,381,225,235,222,222,237,72,221,418,70,237,73,229,398,236,379,70,242,421,383,73,220,226,228,232,224,405,260,74,432,236,417,259,74,232,65,356,242,72,370,72,253,222,225,239,238,409,206,69,398,235,441,256,72,227,77,433,246,81,68,402,229,240,228,216,211,68,230,374,71,243,74,235,358,234,379,70,253,392,69 H,233169,8,800,4,16,1015675,69,2,1,2,1,3,2,2,,50,0,2,10,1,600,1,,2,320,2,1,1,5,,,,1,1,,12,2,2,7,4,19900,4,,,1,1,19900,0,4,4,4,1,5,0,2,0,0,0,28,0,0,0,2,2,1,468,3,0,1,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,79,78,55,135,118,71,112,22,151,20,52,19,17,71,68,64,84,87,77,59,97,26,18,74,73,114,77,63,68,63,134,68,58,29,23,94,126,26,127,19,68,77,53,131,115,56,127,23,174,18,72,15,15,76,70,64,63,69,82,60,108,24,22,91,70,96,65,71,97,57,135,71,58,32,28,91,114,25,140 H,233576,8,700,4,16,1015675,84,3,1,,,2,5,,,30,0,2,50,1,,1,,,,,,1,4,2,630,,1,3,,,2,1,2,5,27000,1,710,14,1,2,60200,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,90,142,81,82,152,69,129,23,27,101,77,80,146,77,30,89,24,23,120,82,80,23,93,92,24,91,25,154,142,77,78,81,25,76,135,86,129,139,29,84,90,123,95,84,143,80,143,28,23,84,84,77,142,80,26,80,25,26,142,82,85,26,75,84,24,95,29,124,149,81,78,79,25,80,141,87,128,161,23,80 H,233747,8,600,4,16,1015675,80,2,1,1,,3,2,2,,30,0,2,60,1,60,1,,1,670,1,1,1,5,,,,1,1,,15,1,800,8,,,,,,1,5,60000,0,4,4,4,1,4,0,,0,1,0,17,0,0,0,0,0,1,827,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,83,23,85,25,77,81,85,90,23,24,82,75,26,80,81,22,22,24,82,84,124,81,140,79,136,137,146,143,92,85,163,134,85,150,122,68,71,85,24,25,76,24,81,24,81,86,65,75,24,25,82,89,24,89,88,27,23,24,75,88,161,78,138,80,129,139,133,123,80,75,132,137,73,139,152,82,92,82,25 H,233853,8,500,4,16,1015675,49,2,1,2,1,3,2,2,,150,550,300,3,3,4800,1,,1,1300,1,1,1,6,,,,1,1,,18,2,120,2,3,70400,4,,,1,1,70400,0,4,4,4,1,1,0,2,0,0,0,25,0,0,0,1,1,1,1485,3,0,1,35,2,4,7,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,46,99,24,63,43,69,42,45,42,43,18,89,45,72,70,64,50,10,13,46,60,76,50,58,80,12,15,13,25,85,75,61,15,71,37,64,76,50,67,86,64,13,55,17,42,43,83,44,43,65,54,10,69,52,19,17,46,111,92,48,22,36,39,48,19,91,110,87,59,14,39,42,96,19,65,44,15,57,44,15 H,233887,8,900,4,16,1015675,61,3,1,2,2,5,2,2,,210,0,2,60,1,30,1,,2,530,2,1,1,9,,,,1,1,,17,3,30,6,2,80000,4,,,1,1,80000,0,4,4,4,1,4,0,3,0,0,0,14,0,0,0,0,0,1,923,3,0,1,26,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,59,109,24,20,48,57,58,102,50,19,63,22,17,85,61,104,64,60,48,120,82,129,18,13,60,86,68,99,73,18,64,19,15,116,60,97,63,56,76,12,55,18,108,106,56,61,68,15,57,109,73,112,117,22,63,19,63,51,68,24,69,18,87,91,67,80,70,14,57,109,73,88,102,25,57,16,63,62,77 H,234002,8,800,4,16,1015675,42,1,1,2,1,2,2,2,,2,0,2,3,3,,1,,,,,,1,3,,,,1,4,,,2,2,8,,,,,,1,4,32000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,125,71,43,18,47,52,42,36,77,44,13,10,10,34,52,34,32,48,10,76,96,65,34,11,49,84,41,53,93,39,14,15,12,36,43,41,39,48,53,21,16,12,54,92,42,12,41,30,15,52,41,67,77,35,42,42,38,47,60,13,16,11,45,98,54,15,43,41,12,37,64,70,61,49,58,43,51,53,10 H,234473,8,400,4,16,1015675,101,6,1,3,1,3,2,2,,40,0,2,230,2,580,1,,2,300,2,1,1,8,,,,1,1,,22,3,1,2,2,70800,2,,,1,1,70800,0,2,2,2,1,4,4,6,0,0,4,13,0,0,1,0,0,1,753,3,0,0,28,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,145,174,164,30,93,171,112,206,177,94,21,38,23,64,106,97,116,91,174,25,31,35,73,146,105,46,120,59,21,134,152,145,199,118,86,79,94,126,33,126,141,160,116,27,102,131,86,135,191,82,34,40,23,86,86,79,143,95,189,29,29,35,73,178,148,42,129,81,20,134,190,174,279,112,75,87,78,95,63 H,234517,8,100,4,16,1015675,88,1,1,1,,2,2,2,,110,0,1200,3,3,390,1,,2,1100,2,1,1,6,,,1200,1,1,,18,2,700,7,,,,,,1,4,27700,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,0,0,1,2751,1,0,1,30,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,80,31,80,72,25,80,33,173,164,77,81,93,23,76,181,87,140,142,96,33,98,29,83,72,26,97,22,144,145,90,104,84,32,84,123,87,113,145,97,26,79,27,95,92,30,81,22,173,161,80,78,88,33,83,143,87,145,151,107,24,109,21,112,92,23,76,25,167,129,77,88,80,23,84,188,71,150,128,98 H,234924,8,800,4,16,1015675,112,3,1,1,,3,2,2,,50,0,100,10,1,500,1,,1,800,1,1,1,5,,,,1,1,,15,2,480,4,1,61000,2,,,1,1,61000,0,1,1,1,1,3,1,3,0,0,1,18,0,0,1,0,0,1,908,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,97,29,196,137,169,110,37,127,39,174,112,31,32,123,109,135,100,106,35,37,110,187,32,110,36,133,227,113,176,34,99,189,186,99,104,100,112,110,209,183,108,32,166,95,193,118,35,104,29,174,99,34,43,112,104,97,103,117,38,34,116,200,39,111,29,138,231,100,214,37,141,169,193,104,103,127,105,125,207 H,234945,8,700,4,16,1015675,111,2,1,1,,3,2,2,,200,0,2,150,1,2200,1,,1,1700,1,1,1,9,,,200,1,1,,19,2,300,5,2,235000,4,,,1,1,235000,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,1,0,2,2275,1,0,1,32,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,181,35,111,102,109,117,111,112,185,36,108,117,33,31,111,187,192,105,111,108,98,123,30,178,199,193,189,34,111,103,190,33,114,129,32,110,116,34,34,192,35,179,115,119,107,110,113,103,33,178,114,110,178,186,104,32,33,111,116,106,124,108,206,34,32,34,30,182,115,112,30,184,125,108,202,119,117,181,191 H,234991,8,800,4,16,1015675,61,3,1,1,,3,2,2,,40,0,2,130,1,2800,1,,1,1600,1,1,1,7,,,,2,1,,18,3,800,2,1,85600,4,,,1,1,85600,0,4,4,4,1,2,0,3,0,0,0,26,0,0,0,0,0,1,1837,3,0,1,32,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,18,14,18,59,61,71,68,56,94,99,110,64,17,75,102,59,65,81,72,17,22,17,15,52,62,72,69,74,106,105,88,55,19,53,137,63,54,117,65,119,119,106,97,55,62,66,55,49,21,18,13,56,119,56,21,71,51,15,57,94,101,119,136,83,60,55,64,67,15,17,20,60,108,64,15,68,58,19,68,16 H,235123,8,800,4,16,1015675,83,2,1,1,,2,2,2,,80,0,800,160,1,0,1,,,,,3,1,5,,,,1,2,,14,2,300,9,4,26000,4,,,1,1,26000,0,4,4,4,1,6,0,2,0,0,0,19,0,0,0,2,2,1,407,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,127,24,88,71,94,148,25,80,92,153,71,111,136,24,24,69,78,80,27,73,160,23,101,86,72,157,20,87,84,129,83,119,174,24,30,94,83,88,27,85,152,22,74,58,87,128,22,82,103,146,77,145,142,20,27,87,92,79,24,81,173,27,78,71,73,145,27,86,80,157,81,134,120,22,25,82,83,70,25 H,236239,8,300,4,16,1015675,22,1,1,3,1,3,2,2,,40,0,900,3,6,0,1,,,,,3,1,4,,,,1,2,,14,2,2,4,,,,,,1,4,18000,0,4,4,4,1,5,0,,0,0,0,8,0,0,0,1,1,1,115,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,10,63,58,32,8,20,18,12,29,37,37,29,17,21,27,14,21,7,5,40,58,26,4,16,35,15,19,65,26,15,14,6,20,16,28,30,16,37,5,75,28,16,7,18,38,37,25,25,28,8,7,21,23,21,19,26,25,31,55,6,7,19,51,39,6,27,24,5,24,26,20,35,25,60,21,13,33,9,43 H,236242,8,500,4,16,1015675,15,2,1,2,1,3,2,2,,60,0,600,3,6,350,1,,,,,3,1,6,,,,1,2,,11,3,600,9,4,9900,4,,,1,1,9900,0,4,4,4,1,7,0,2,0,0,0,32,0,0,0,1,1,2,264,,0,1,20,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,25,5,15,4,15,23,13,23,5,14,26,26,16,15,15,13,16,5,5,17,26,5,15,3,15,25,14,27,5,15,25,22,16,15,15,15,12,5,27,15,3,26,16,27,15,3,14,5,27,16,5,5,13,15,18,13,15,25,25,16,5,23,13,24,13,5,15,5,23,14,3,5,15,15,17,15,15,23,5 H,236374,8,500,4,16,1015675,398,4,1,2,1,3,2,1,,100,0,2,40,1,,1,,,,,,1,7,2,1100,,1,3,,,4,1200,7,1,102400,1,1340,16,1,1,102400,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,664,387,514,471,114,130,365,119,741,119,725,405,652,670,345,374,367,379,367,129,356,566,125,113,442,422,566,469,477,408,393,652,392,342,116,145,614,654,557,365,124,407,400,431,731,667,365,662,134,658,118,400,127,122,365,390,378,386,403,618,407,147,622,651,415,385,138,357,384,364,432,141,349,406,737,655,105,137,126 H,237023,8,900,4,16,1015675,69,1,1,,,1,5,,,10,0,2,3,3,,1,,,,,,1,3,2,390,,1,3,,,1,1,6,,,,400,101,1,6,1500,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,74,121,81,58,96,75,20,121,109,23,79,74,22,77,29,62,71,75,139,25,63,16,67,67,20,79,113,21,23,96,77,59,105,61,111,71,65,64,97,17,79,28,58,64,18,77,207,18,28,103,104,67,127,89,106,55,84,68,22,92,64,139,65,60,93,56,18,131,114,18,84,68,29,80,15,57,72,78,15 H,237219,8,400,4,16,1015675,60,3,1,1,,2,2,2,,90,0,2,10,1,700,1,,2,150,2,1,1,4,,,,1,1,,8,2,670,9,1,43200,1,,,1,1,43200,0,1,1,1,1,3,1,3,0,0,1,11,0,0,1,0,0,2,406,3,0,1,12,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,63,20,67,18,67,82,25,47,71,24,17,117,78,68,102,68,104,54,61,20,64,89,55,92,41,58,108,58,19,100,166,18,39,60,20,56,23,58,48,118,67,17,61,14,58,65,18,59,75,16,15,91,77,46,77,79,100,47,79,25,51,106,74,131,70,52,100,101,29,119,105,19,54,53,16,67,22,57,58,109 H,237769,8,300,4,16,1015675,75,4,1,1,,5,2,2,,100,0,2,220,1,1000,1,,1,2000,1,1,1,9,,,,1,1,,19,2,360,3,2,82000,1,,,1,1,82000,0,1,1,1,1,1,2,4,0,0,2,34,0,0,1,0,0,1,2350,3,0,1,63,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,27,67,83,25,54,132,136,126,87,90,75,83,71,18,27,23,66,144,25,70,139,76,73,136,74,21,21,17,54,61,67,64,77,146,131,114,65,24,24,76,119,84,71,117,78,26,25,18,82,74,80,82,67,130,136,102,71,22,145,74,21,85,61,21,62,137,135,119,86,72,80,73,65,25,21,19,67,125,130 H,237924,8,100,4,16,1015675,40,5,1,1,,4,2,2,,100,0,500,3,6,500,1,,1,950,1,1,1,8,,,,1,1,,16,2,720,9,1,90300,2,,,1,1,90300,0,2,2,2,1,3,3,5,0,0,3,15,0,0,1,0,0,2,1152,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,14,12,35,10,36,39,66,48,72,35,55,40,39,12,38,44,14,61,60,41,40,41,64,39,13,69,45,80,45,12,38,12,98,35,12,10,39,41,42,12,65,62,41,64,42,39,12,49,12,31,9,44,37,67,49,44,75,12,13,31,39,36,12,39,67,11,39,14,46,74,40,79,14,35,78,62,36,35,36 H,237934,8,700,4,16,1015675,73,5,1,1,,4,2,2,,60,0,2,160,1,800,1,,1,1500,1,1,1,9,,,,1,1,,19,2,200,1,2,95000,3,,,1,1,95000,0,3,3,3,1,1,3,5,0,0,3,22,0,0,1,0,0,1,1737,3,0,1,30,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,74,23,80,21,77,23,20,20,23,69,74,23,21,76,20,22,79,77,118,137,125,71,131,77,135,79,71,80,77,130,126,78,78,120,71,76,135,127,72,80,81,22,79,22,72,22,22,23,24,70,78,22,22,67,20,25,77,84,115,134,113,76,116,78,127,75,76,76,71,124,138,78,72,126,67,79,127,129,67 H,238149,8,400,4,16,1015675,93,6,1,2,1,3,2,2,,90,0,600,40,6,1000,1,,1,1300,1,1,1,5,,,300,1,1,,20,2,40,2,1,68000,2,,,2,1,68200,0,2,2,2,1,3,3,5,0,1,3,31,0,0,1,0,0,1,1783,1,0,1,26,2,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,120,158,170,26,21,181,127,33,153,169,84,78,25,109,119,106,84,24,87,83,90,27,26,128,132,30,127,182,23,23,86,94,182,95,103,86,90,152,90,94,83,27,25,172,172,23,90,170,29,26,101,92,122,96,85,86,79,143,97,104,111,169,156,32,30,133,89,27,173,131,121,129,30,105,93,91,100,29,81 H,238422,8,900,4,16,1015675,100,2,1,2,1,3,2,2,,70,0,600,3,4,200,1,,1,650,1,1,1,8,,,,1,1,,16,2,2,6,,,,,,1,7,87000,0,4,4,4,1,1,0,,0,1,0,11,0,0,0,0,0,1,770,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,102,67,33,35,33,32,85,37,99,35,94,96,112,103,32,33,111,105,103,89,181,200,79,103,118,77,143,111,176,109,208,166,194,167,82,84,130,203,155,165,82,90,160,163,185,153,96,163,110,172,132,123,96,85,138,170,112,105,108,77,26,32,91,95,127,144,26,99,36,102,33,30,31,36,89,99,28,27,28 H,238536,8,100,4,16,1015675,132,5,1,1,,5,2,2,,70,0,2,170,1,700,1,,2,1200,2,1,1,9,,,440,1,1,,21,4,810,3,1,73500,2,,,1,1,73500,0,2,2,2,1,5,2,5,0,0,2,36,0,0,1,0,0,1,2223,2,0,1,38,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,42,237,214,136,137,136,41,150,202,135,220,208,40,133,40,118,126,42,144,127,39,225,243,131,110,130,42,119,202,141,200,202,43,124,42,140,123,39,118,144,226,40,46,119,141,114,234,129,43,114,42,37,209,124,202,123,150,221,125,127,223,36,41,125,132,135,236,138,42,153,38,37,234,115,210,148,130,219,124 H,238601,8,300,4,16,1015675,60,4,1,1,,4,2,2,,80,0,2,140,1,1300,1,,1,1100,1,1,1,9,,,,1,1,,15,2,600,6,1,90000,3,,,1,1,90000,0,3,3,3,1,1,2,4,0,0,2,18,0,0,1,0,0,1,1370,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,105,100,102,66,69,109,124,55,108,91,58,58,59,65,101,62,103,53,59,19,16,18,18,61,61,20,18,55,20,20,64,59,57,61,20,72,18,50,64,95,98,98,97,71,61,90,98,57,104,92,59,54,59,73,101,58,106,62,79,18,16,18,20,68,59,16,17,71,16,17,59,65,62,66,18,54,20,64,58 H,238733,8,100,4,16,1015675,71,2,1,1,,4,2,2,,130,0,2,50,1,700,1,,2,2500,2,1,1,9,,,1000,1,1,,24,3,2,3,1,80000,4,,,1,1,80000,0,4,4,4,1,4,0,2,0,0,0,64,0,0,0,0,0,1,4238,2,0,1,64,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,20,62,60,69,22,71,142,79,19,22,86,76,25,116,71,109,102,77,74,19,110,66,69,68,110,73,20,69,116,117,70,72,134,17,74,18,21,86,78,20,111,65,80,63,118,58,21,78,132,102,68,77,106,17,76,17,20,70,81,124,20,63,64,69,19,66,123,72,27,21,79,91,23,110,73,128,112,73,70 H,238920,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,239822,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,240455,8,300,4,16,1015675,26,2,1,1,,3,1,2,,30,0,2,70,6,600,1,0,1,380,2,1,1,6,,,,1,1,,7,3,280,3,7,41100,4,,,2,3,41100,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,2,532,3,0,0,9,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,42,30,37,6,6,44,29,8,44,48,25,18,12,36,33,28,26,10,28,26,19,57,46,8,11,41,22,10,61,45,31,41,6,23,22,24,29,8,33,28,23,9,9,44,43,7,22,42,12,9,36,38,33,24,23,25,26,37,28,21,37,5,6,48,44,8,38,40,5,8,22,20,75,30,45,27,24,57,32 H,240685,8,600,4,16,1015675,162,2,1,2,1,4,2,2,,50,0,2,70,1,1500,1,,1,1300,1,1,1,8,,,,1,1,,22,2,1000,6,4,101500,4,,,4,1,101500,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,1,1,1503,3,0,1,40,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,1,0,220,149,188,54,160,163,248,229,55,48,284,169,57,229,256,160,189,66,170,192,156,129,195,227,138,154,47,57,260,277,62,131,210,52,48,183,173,231,201,150,141,159,152,299,109,157,50,54,356,226,49,169,234,60,57,167,143,243,127,140,162,158,175,71,173,182,212,285,59,51,235,171,51,267,410,182,180,55,153,149 H,240728,8,400,4,16,1015675,157,3,1,1,,2,2,2,,1,0,2,3,3,,1,,,,,,1,4,2,320,,1,3,,,1,1,7,2,9600,2,320,40,2,1,9600,0,2,2,2,2,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,131,52,49,287,269,66,143,200,67,78,152,198,274,154,190,147,111,263,129,173,181,42,42,282,185,53,154,279,89,50,115,134,286,158,127,147,186,269,171,149,185,52,50,349,267,47,119,247,65,45,130,129,295,146,126,116,148,351,162,165,146,61,47,257,253,47,122,193,60,77,127,180,337,149,159,148,170,304,147,137 H,240812,8,300,4,16,1015675,77,2,1,1,,4,2,2,,120,0,2,3,6,780,1,,1,660,1,1,1,9,,,,1,1,,14,3,260,4,,,,,,1,5,53100,0,4,4,4,1,1,0,,0,1,0,18,0,0,0,0,0,2,802,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,23,23,70,63,93,89,55,135,169,146,80,27,73,121,87,54,90,73,27,32,22,25,67,57,81,97,74,98,145,148,86,23,70,132,75,75,109,76,110,159,124,135,83,99,102,86,98,30,20,19,81,122,59,21,83,73,21,91,137,182,129,112,61,70,69,64,77,29,20,17,84,113,49,21,101,97,19,76,37 H,240826,8,900,4,16,1015675,87,5,1,1,,5,2,2,,50,0,2,110,1,550,1,,1,1200,1,1,1,6,,,,1,1,,18,2,800,2,1,78750,3,,,2,1,78750,0,3,3,3,1,3,3,5,0,0,3,22,0,0,1,0,0,1,1427,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,94,153,27,23,129,89,80,164,86,154,93,77,79,28,83,25,83,78,136,26,128,151,24,35,165,78,91,161,78,148,68,84,100,23,92,23,81,74,134,25,76,136,34,28,151,85,98,134,103,130,97,90,103,27,92,30,78,83,164,26,89,131,25,23,123,80,71,145,67,131,88,72,72,25,96,23,96,94,159 H,241310,8,600,4,16,1015675,112,2,1,1,,3,2,2,,40,0,2,150,1,350,1,,1,70,1,1,1,6,,,,1,1,,18,3,910,3,4,52700,4,,,1,1,52700,0,4,4,4,1,1,0,2,0,0,0,8,0,0,0,1,0,1,336,3,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,34,115,117,32,111,190,30,30,186,108,105,204,125,195,108,118,115,30,32,118,179,107,114,201,115,34,167,186,33,115,111,35,115,32,107,114,109,195,198,111,32,110,114,31,116,182,35,32,184,106,111,174,118,190,108,128,117,34,29,115,181,111,100,204,119,35,181,195,35,105,111,31,113,34,111,113,100,211,184 H,241352,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,241395,8,800,4,16,1015675,33,2,1,1,,2,2,2,,60,0,2,100,1,400,1,,2,400,2,1,1,4,,,,1,1,,12,2,120,2,2,41000,4,,,1,1,41000,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,2,686,3,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,54,27,30,22,39,20,32,31,16,44,39,66,57,9,10,63,27,9,28,10,7,24,25,53,30,29,41,37,57,39,39,12,16,64,61,20,37,52,26,67,68,34,36,14,31,26,37,34,12,39,29,64,72,10,7,68,31,7,30,12,10,40,32,63,28,33,39,26,65,33,24,9,10,66,78,12,27,57,26 H,241937,8,300,4,16,1015675,46,4,1,1,,5,2,2,,150,0,2,4,2,900,1,,1,1300,1,1,1,9,,,,1,1,,18,5,2,6,2,85500,2,,,1,1,85500,0,2,2,2,1,6,1,4,0,0,1,20,0,0,1,0,0,1,1454,3,0,1,28,3,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,73,15,13,70,43,13,85,80,49,52,16,51,38,37,38,18,37,45,50,76,71,15,18,71,43,14,73,72,48,44,12,43,52,74,36,12,47,43,44,9,17,90,85,13,32,103,15,15,71,29,60,51,38,63,47,81,57,40,46,11,15,60,62,15,46,73,13,13,48,57,67,47,39,36,42,109,48,42,45 H,241950,8,100,4,16,1015675,134,4,1,1,,3,2,2,,40,0,2,100,1,260,1,,1,490,1,1,1,8,,,,1,1,,16,2,140,5,1,43000,2,,,1,1,43000,0,2,2,2,1,5,2,4,0,0,2,18,0,0,1,0,0,1,642,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,43,242,127,142,143,238,147,43,123,231,227,123,139,233,40,120,38,43,148,130,40,227,143,134,114,232,147,35,120,248,210,123,153,211,41,144,37,41,118,148,39,239,159,120,140,202,137,38,143,203,250,132,127,218,36,125,44,38,128,131,39,226,141,129,135,234,142,42,150,269,233,133,141,205,37,150,39,40,131 H,242022,8,400,4,16,1015675,56,1,1,1,,2,1,2,,30,0,1200,100,2,,1,,,,,,1,3,2,250,,1,3,,,1,2,5,,,,480,40,1,6,14300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,50,57,17,20,15,16,55,18,47,15,51,53,57,61,17,18,62,67,39,47,90,98,56,51,60,51,87,65,102,79,132,92,89,98,81,88,99,83,80,101,64,64,106,113,123,100,51,101,63,104,62,53,49,50,89,112,65,56,85,61,22,13,54,55,51,47,16,61,13,49,16,16,21,17,47,47,17,18,18 H,242027,8,300,4,16,1015675,49,3,1,1,,2,1,2,,100,0,2,3,3,250,1,700,1,450,1,1,1,5,,,,1,1,,14,3,620,3,1,47000,4,,,1,1,47000,0,4,4,4,1,3,0,3,0,0,0,17,0,0,0,0,0,2,660,3,0,0,12,3,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,14,51,41,15,18,15,16,59,16,46,13,45,38,41,57,13,15,69,64,43,59,94,72,43,44,48,60,84,36,72,46,84,95,76,64,37,58,98,75,11,16,43,50,18,10,13,15,46,13,48,27,63,50,51,40,18,18,54,48,47,46,76,96,61,48,41,40,66,48,96,53,73,63,80,90,55,47,61,79,16 H,242461,8,200,4,16,1015675,205,5,1,2,1,4,2,2,,100,0,2,3,6,410,1,,1,1000,1,1,1,6,,,340,1,1,,17,4,2,3,1,81100,2,,,1,1,81100,0,2,2,2,1,4,3,5,0,0,3,21,0,0,1,0,0,2,1440,1,0,1,68,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,178,181,193,81,210,56,218,194,57,223,356,45,70,321,186,201,344,222,289,406,283,179,150,72,234,61,224,246,61,162,312,115,61,258,171,209,310,207,554,62,255,215,229,355,184,310,186,187,328,178,82,287,283,53,178,191,59,210,66,61,212,211,160,381,308,357,206,211,332,217,68,315,278,79,198,177,73,245,69,283 H,242581,8,400,4,16,1015675,36,4,1,3,1,4,2,2,,90,0,400,3,6,2000,1,,2,1200,2,1,1,6,,,,1,1,,21,3,2,9,1,47000,2,,,1,1,47000,0,2,2,2,1,3,2,4,0,0,2,41,0,0,1,0,0,2,1607,3,0,0,26,2,5,4,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,1,0,10,62,58,10,35,54,14,10,31,40,48,43,42,45,46,54,56,54,12,27,12,50,67,24,40,58,13,13,33,26,49,44,42,51,41,39,34,57,15,38,64,14,14,66,38,13,72,56,29,28,10,44,34,32,36,11,60,44,70,47,47,8,12,97,32,10,89,65,25,31,10,34,38,38,38,14,47,52,83,37 H,242585,8,900,4,16,1015675,23,8,1,1,,3,1,2,,60,0,2,70,1,300,1,700,2,200,2,1,1,8,,,,1,1,,11,6,550,2,1,29000,2,,,1,1,39700,0,3,2,2,1,4,3,5,0,1,3,15,0,0,1,0,0,1,492,3,0,0,10,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,25,24,33,39,39,16,5,24,32,21,30,30,22,7,5,8,21,28,25,6,27,18,31,31,46,27,5,24,34,26,34,52,25,5,7,7,19,32,37,46,27,20,7,8,9,24,34,17,9,27,23,10,25,35,41,38,25,28,27,32,25,19,7,6,9,21,32,19,5,22,27,10,22,40,37,38,28,23,24,8 H,242975,8,600,4,16,1015675,186,1,1,1,,1,2,2,,20,0,2,4,1,330,1,,1,600,1,1,1,2,,,,1,1,,13,4,300,7,,,,,,1,4,33000,0,4,4,4,1,4,0,,0,0,0,24,0,0,0,0,0,1,649,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,303,55,54,68,72,296,219,184,52,243,182,182,314,181,204,290,182,191,203,175,51,297,250,383,297,51,184,250,337,52,186,191,74,193,147,61,177,190,190,195,298,48,60,53,66,288,182,195,41,255,222,178,344,202,202,256,189,240,189,200,59,275,294,410,310,50,186,215,296,54,163,194,58,212,162,54,198,190,182 H,243072,8,200,4,16,1015675,26,5,1,3,4,4,2,2,,100,0,2,250,2,500,1,,2,1600,2,1,1,9,,,400,1,1,,22,6,2,3,1,134900,2,,,1,1,134900,1,2,2,2,1,4,1,5,0,0,1,24,0,1,1,2,2,2,2642,2,0,0,42,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,37,8,30,7,21,55,36,35,9,18,66,43,24,35,24,34,32,13,9,19,64,16,16,7,38,34,28,59,10,44,48,46,33,26,25,17,24,7,6,20,42,9,24,7,33,51,26,52,7,28,50,47,28,22,25,26,37,8,6,34,50,7,33,8,21,51,28,40,8,26,51,43,22,37,31,27,31,8,6 H,243093,8,800,4,16,1015675,71,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,115,75,67,84,22,23,76,22,118,20,101,70,106,126,65,68,89,71,68,120,73,21,133,103,68,73,20,80,80,78,71,24,73,70,121,123,22,23,60,109,80,22,120,129,66,83,25,64,69,66,64,22,67,68,110,108,23,21,20,74,144,72,72,70,22,23,72,21,112,20,129,82,103,123,80,71,78,75,20 H,243227,8,800,4,16,1015675,45,1,1,2,1,3,2,2,,80,0,2,90,2,650,1,,,,,3,1,6,,,,1,2,,16,3,180,5,,,,,,1,4,12400,0,4,4,4,1,7,0,,0,0,0,30,0,0,0,1,1,1,314,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,58,57,15,17,58,62,15,44,65,13,14,45,60,95,49,59,70,46,45,18,42,38,51,58,17,13,70,45,12,69,91,67,53,12,43,45,48,63,50,58,41,46,15,15,72,69,13,34,79,15,15,40,49,91,60,60,45,37,45,12,37,55,77,71,17,15,70,55,19,75,83,49,51,11,38,43,46,52,31 H,243704,8,100,4,16,1015675,39,2,1,1,,3,2,2,,150,0,2,3,3,,1,,,,,,1,5,2,600,,1,3,,,2,600,7,1,45000,4,800,21,1,1,45000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,39,13,84,48,47,37,11,59,36,34,13,37,12,14,52,52,41,38,70,51,45,12,57,34,41,29,10,63,35,35,9,39,12,12,53,57,53,37,63,39,41,11,54,34,41,36,10,75,36,42,10,32,13,11,65,71,38,48,86,38,34,12,65,39,42,38,12,59,39,45,12,32,11,13,71,58,32,35,60 H,243706,8,400,4,16,1015675,115,4,1,1,,3,2,2,,50,0,2,80,1,1200,1,,1,480,1,1,1,8,,,120,1,1,,14,5,900,7,1,122600,2,,,3,1,122600,0,2,2,2,1,5,1,4,0,0,1,8,0,0,1,0,0,1,805,1,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,165,41,123,37,105,126,95,158,106,209,67,116,207,87,27,124,212,46,39,140,127,33,107,27,142,93,129,197,116,183,112,116,196,94,23,185,251,43,34,129,125,39,125,39,90,95,93,155,103,200,113,109,179,105,34,186,154,27,36,140,125,43,148,40,121,97,140,146,129,209,113,94,287,125,26,165,165,30,38 H,244085,8,900,4,16,1015675,241,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,88,378,243,95,206,211,240,415,67,324,72,407,242,220,245,99,287,447,268,423,233,295,88,211,400,435,269,219,316,258,242,238,98,71,61,223,355,274,68,45,240,216,347,252,92,81,82,262,228,229,198,241,374,386,398,259,80,249,444,248,381,114,282,336,287,299,219,83,387,90,505,70,221,230,200,354,182,76,258,170 H,244331,8,600,4,16,1015675,122,1,1,,,1,4,,,20,0,280,3,4,,1,,,,,,1,4,2,450,,1,3,,,1,2,8,,,,493,41,1,4,14500,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,124,33,37,105,219,37,208,129,117,121,112,119,111,38,230,114,126,191,125,121,211,128,121,228,115,122,129,197,36,35,37,34,194,122,129,35,200,130,197,32,109,221,200,143,34,188,41,112,118,119,129,127,122,208,36,118,122,39,118,120,31,129,123,35,142,114,112,38,233,192,209,223,37,132,119,191,33,126,35 H,244560,8,700,4,16,1015675,106,2,1,1,,3,2,2,,70,0,2,30,1,300,1,,,,,3,1,5,,,,1,2,,15,3,720,5,2,113000,4,,,1,1,113000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,0,0,1,267,,0,1,21,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,107,29,182,100,180,112,34,122,27,202,106,34,29,105,117,111,100,90,41,33,105,173,32,109,34,98,174,104,177,32,99,155,182,108,111,107,100,106,153,163,103,32,175,113,166,119,36,106,29,187,115,34,32,111,108,106,101,100,38,33,96,180,33,108,35,92,157,98,192,31,100,163,196,113,93,108,101,121,148 H,244593,8,600,4,16,1015675,108,2,1,,,3,5,,,80,0,2,20,1,,1,,,,,,1,5,2,650,,1,3,,,2,1,1,1,50000,4,750,18,1,1,50000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,32,34,200,114,106,34,170,122,106,171,109,105,187,109,107,108,170,34,176,122,106,113,110,204,36,100,110,32,33,113,170,171,109,35,198,33,92,99,106,169,174,196,33,103,110,205,31,122,98,29,118,112,34,123,110,118,33,187,37,116,123,109,121,32,173,98,99,177,160,109,30,32,113,168,30,217,114,97,119 H,244956,8,800,4,16,1015675,49,2,1,2,1,2,2,2,,50,0,2,150,2,350,1,,2,460,2,1,1,5,,,,1,1,,17,2,300,3,4,13600,4,,,1,1,13600,0,4,4,4,1,3,0,2,0,0,0,70,0,0,0,2,2,1,797,3,0,1,22,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,47,111,57,55,52,48,72,40,53,14,15,99,85,18,60,74,14,16,46,55,54,82,46,36,32,41,87,53,71,12,12,87,87,19,41,67,14,15,69,46,40,79,46,54,67,47,65,59,53,14,14,75,64,15,55,89,15,17,50,60,39,86,44,50,61,62,76,40,52,20,13,88,95,19,61,69,13,15,46,43 H,245127,8,500,4,16,1015675,76,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,20,78,23,92,83,74,88,26,22,75,68,19,64,76,25,17,24,23,62,84,68,159,69,132,150,138,119,68,87,109,117,81,99,152,83,72,83,83,111,20,22,69,20,75,77,92,72,24,27,62,77,21,81,93,24,28,20,23,79,77,72,139,74,122,132,137,133,71,70,119,126,73,154,106,71,83,64,69,138,22 H,245225,8,300,4,16,1015675,12,5,1,1,,4,2,2,,50,1200,600,3,5,50,1,,1,500,2,1,1,8,,,,1,1,,14,1,240,9,1,33200,3,,,1,1,33200,0,3,3,3,1,3,3,5,0,0,3,24,0,0,1,0,0,2,670,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,3,5,17,10,18,13,11,17,18,21,6,10,3,3,44,24,3,13,12,15,3,5,9,18,15,11,14,12,11,20,10,13,6,5,24,20,4,14,17,4,21,18,13,15,3,13,15,11,18,3,8,10,16,17,5,4,21,10,11,3,16,24,10,15,7,13,13,13,16,3,16,13,26,23,3,4,18,10,9 H,245376,8,100,4,16,1015675,157,3,1,2,1,3,2,2,,100,0,2,200,1,720,1,,1,1500,1,1,1,8,,,300,1,1,,20,3,2,3,1,136810,4,,,1,1,136810,0,4,4,4,1,4,0,3,0,0,0,18,0,0,0,1,1,1,2100,2,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,38,46,280,148,265,157,184,293,168,210,52,51,169,183,181,219,134,44,149,206,242,274,43,172,50,149,145,36,160,60,284,255,189,149,119,46,136,278,185,147,42,49,286,159,285,131,158,333,145,220,39,46,204,182,167,262,174,43,214,137,267,285,58,149,40,160,149,39,168,55,208,223,149,168,171,42,159,256,165 H,245593,8,700,4,16,1015675,139,2,1,1,,4,2,2,,130,0,2,70,1,380,1,,2,500,2,1,1,6,,,,1,1,,13,6,140,5,2,44000,4,,,1,1,44000,0,4,4,4,1,6,0,2,0,0,0,22,0,0,0,1,0,1,816,3,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,44,160,222,150,54,142,146,44,117,195,196,235,179,151,116,137,131,38,207,48,44,135,218,157,48,125,140,42,143,231,200,211,125,132,143,147,124,44,227,39,44,139,224,157,44,132,124,50,153,205,207,203,131,154,167,138,188,58,180,44,43,181,184,189,60,124,142,38,97,204,221,206,185,164,116,145,125,37,245 H,245600,8,900,4,16,1015675,52,3,1,1,,4,2,2,,110,0,10,3,3,520,1,,1,520,1,1,1,8,,,,1,1,,15,2,370,5,1,97000,1,,,1,1,97000,0,1,1,1,1,4,1,3,0,0,1,8,0,0,1,0,0,2,662,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,54,55,13,19,55,48,51,11,86,15,63,88,78,93,45,15,94,49,15,20,95,83,60,44,13,15,84,57,44,48,75,49,50,51,18,46,52,104,57,44,59,46,15,20,54,48,46,11,96,15,55,70,92,91,56,16,90,55,15,18,76,87,52,39,13,17,93,48,49,48,98,63,56,59,12,38,50,72,45 H,245689,8,700,4,16,1015675,113,2,1,2,1,3,2,2,,250,0,2,3,3,500,1,,1,600,1,1,1,8,,,,1,1,,22,3,2,5,8,157000,2,,,1,3,157000,0,2,2,2,1,5,1,2,0,0,1,6,0,0,1,0,0,1,850,3,0,1,44,0,15,15,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,117,209,32,175,118,34,30,32,103,195,34,109,100,108,122,184,191,113,103,107,119,32,198,33,120,190,182,198,129,34,182,110,117,120,128,35,34,110,119,114,109,34,198,32,111,183,178,183,115,31,189,109,108,110,113,32,31,117,111,106,103,222,32,205,130,32,34,33,118,194,35,113,107,111,110,212,197,106,105 H,245998,8,700,4,16,1015675,104,2,1,1,,4,2,2,,80,0,2,80,1,1000,1,,,,,3,1,9,,,,1,2,,20,3,300,3,1,141000,4,,,1,1,141000,0,4,4,4,1,3,0,2,0,0,0,3,0,0,0,1,0,1,410,,0,1,29,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,184,105,32,90,105,105,168,29,168,31,177,104,100,109,31,99,161,96,168,100,102,31,109,175,184,180,95,98,115,103,99,29,32,32,118,190,97,30,30,102,104,180,109,29,29,31,106,95,98,100,104,162,174,178,98,29,104,172,103,159,29,107,176,106,118,105,30,177,33,170,30,109,100,99,182,102,29,101,103 H,246186,8,800,4,16,1015675,78,2,1,2,1,3,2,2,,130,0,2,3,3,500,1,,,,,3,1,7,,,,1,2,,16,2,2,4,2,78400,4,,,1,1,78400,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,351,,0,1,33,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,69,24,78,72,59,69,20,75,58,123,134,23,23,143,76,24,115,131,80,87,85,139,76,97,69,78,149,65,95,24,26,142,117,19,82,139,22,24,77,83,83,126,76,77,75,83,120,84,84,19,24,110,128,27,76,114,20,24,71,64,82,20,65,78,73,72,27,71,73,110,138,26,28,118,80,23,136,151,76 H,246262,8,100,4,16,1015675,42,3,1,1,,2,2,2,,180,0,2,3,3,,1,,,,,,1,5,2,430,,1,3,,,2,1,7,1,31200,2,610,23,1,1,31200,0,2,2,2,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,12,13,53,41,13,66,77,43,39,12,44,37,35,43,10,39,43,52,10,10,60,75,17,28,58,14,15,35,40,84,50,61,36,31,63,44,42,37,12,11,71,67,11,34,60,12,13,37,30,73,41,45,47,37,65,42,45,56,64,89,13,12,83,32,12,80,67,40,37,16,38,42,46,40,15,46,38,44 H,246320,8,500,4,16,1015675,82,2,1,1,,4,2,2,,70,0,2,240,1,300,1,,1,920,1,1,1,8,,,,1,1,,17,3,20,7,1,86000,4,,,1,1,86000,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,1,0,1,1232,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,88,132,153,152,77,23,87,138,80,75,148,82,22,24,23,73,92,89,154,78,81,26,26,26,81,133,70,22,89,82,22,76,135,143,141,79,77,90,138,86,87,23,25,27,72,144,78,22,85,90,24,91,128,125,129,74,79,85,27,82,90,140,148,138,75,22,90,121,87,90,133,70,24,25,26,82,80,70,22 H,246490,8,800,4,16,1015675,72,2,1,2,1,3,2,2,,120,0,2,3,3,200,1,,2,600,2,1,1,9,,,,1,1,,14,4,40,7,3,75600,4,,,1,1,75600,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,1,1,790,3,0,1,14,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,104,98,114,74,63,73,78,58,25,20,19,63,147,115,21,80,90,23,108,81,155,147,143,65,68,64,61,79,23,26,22,71,127,68,21,69,61,18,99,77,116,162,136,69,72,70,69,77,18,21,26,72,123,57,18,84,79,28,143,68,147,111,109,68,72,77,70,71,22,21,18,71,119,65,23,68,78,19,142 H,246599,8,200,4,16,1015675,420,1,1,,,1,6,,,1,0,2,3,3,,1,,,,,,1,3,2,440,,1,3,,,1,1,5,,,,440,93,1,6,5700,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,406,579,451,426,445,337,632,479,379,131,191,644,540,126,437,566,131,142,434,376,433,642,321,418,437,461,703,408,507,228,243,707,555,154,378,607,159,123,409,288,300,152,454,398,447,403,149,402,363,529,703,156,163,692,459,134,562,627,362,321,395,148,432,378,403,481,151,525,637,779,787,178,131,558,401,146,661,620,402,370 H,246603,8,900,4,16,1015675,95,2,1,1,,3,2,2,,40,0,500,30,1,600,1,,1,1100,1,1,1,6,,,,1,1,,18,2,540,7,1,75100,4,,,2,1,75100,0,4,4,4,1,2,0,2,0,0,0,20,0,0,0,0,0,1,1257,3,0,1,47,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,168,99,30,170,137,25,120,95,29,124,27,91,95,74,149,95,154,99,27,86,146,109,31,208,143,25,101,77,31,113,26,81,101,84,144,127,158,88,190,89,30,117,142,30,21,153,91,125,174,112,150,88,85,87,24,94,27,95,177,102,28,98,164,30,33,139,84,98,143,83,166,80,99,95,27,102,31,105,27 H,247149,8,100,4,16,1015675,27,1,1,,,2,4,,,20,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,1,500,6,,,,462,23,1,4,24000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,47,8,25,39,7,8,50,24,55,28,25,29,22,41,41,22,8,9,50,26,9,76,32,8,45,43,26,27,10,27,27,22,19,7,31,30,37,50,10,23,52,7,27,42,12,8,34,32,53,36,26,24,24,27,32,27,10,9,46,39,9,30,26,5,41,52,21,20,8,24,35,35,31,9,31,31,46,44,8,20 H,247491,8,800,4,16,1015675,73,1,1,1,,5,2,2,,40,0,2,4,1,640,1,,,,,3,1,8,,,,1,2,,16,1,600,6,,,,,,1,6,14600,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,1,1,2,272,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,116,20,72,20,81,144,60,111,21,73,132,131,74,82,88,64,52,24,125,69,23,122,75,124,71,22,77,22,101,70,24,25,73,80,75,77,75,138,129,68,22,124,61,114,74,20,67,22,135,75,20,21,70,75,78,82,76,119,21,56,140,21,68,28,80,121,74,146,26,80,139,109,73,77,64,71,79,19,25 H,247494,8,100,4,16,1015675,44,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,49,48,38,44,41,12,44,81,15,41,13,40,64,41,63,12,46,66,10,79,43,34,44,43,44,15,42,77,15,43,12,43,96,58,77,15,46,66,73,11,47,52,50,37,40,70,47,14,73,46,57,41,12,41,14,72,46,11,65,11,34,44,40,48,59,88,49,12,76,47,76,45,15,37,12,82,45,12,10 H,247600,8,900,4,16,1015675,63,2,1,1,,3,2,2,,40,0,2,130,1,220,1,,1,720,1,1,1,6,,,,1,1,,14,2,240,3,1,85000,4,,,1,1,85000,0,4,4,4,1,2,0,2,0,0,0,13,0,0,0,0,0,1,910,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,47,103,194,17,15,69,70,66,102,123,23,59,63,83,67,19,83,45,87,22,64,16,16,125,124,68,93,56,50,20,90,79,71,68,17,86,58,80,168,20,65,19,24,93,81,99,46,43,65,14,173,76,66,56,16,106,40,102,16,87,68,114,104,20,19,61,70,70,68,93,19,65,69,55,108,13,107,68,13 H,247623,8,100,4,16,1015675,90,2,1,3,1,4,2,2,,90,0,300,50,2,500,1,,1,1500,1,1,1,9,,,,1,1,,21,2,240,2,3,90000,4,,,1,1,90000,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,1,1,1,1685,3,0,0,27,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,29,165,166,100,84,74,24,89,157,104,130,161,37,69,21,82,90,31,88,76,147,26,27,92,84,66,126,116,26,75,28,35,160,96,190,139,99,131,95,99,111,27,27,80,92,86,170,93,29,89,29,22,134,93,152,104,74,146,78,87,29,151,190,83,84,105,36,91,154,99,138,157,26,91,27,73,102,22,87 H,247645,8,800,4,16,1015675,66,3,1,1,,3,2,2,,100,1000,700,3,4,,1,,,,,,1,5,2,200,,1,3,,,2,2,9,7,12000,2,358,19,1,3,23000,0,2,2,2,1,1,1,2,0,1,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,101,13,84,77,98,104,50,26,119,70,60,82,68,22,29,52,96,82,21,54,88,69,99,112,51,105,26,64,68,129,29,88,107,51,58,25,15,100,54,104,23,170,61,17,19,22,72,99,19,106,90,75,94,89,95,87,60,55,123,68,103,57,15,43,61,59,106,74,69,18,101,26,18,57,87,115,202,21,91 H,248566,8,500,4,16,1015675,97,2,1,2,1,4,2,2,,70,0,2,3,3,350,1,,1,1400,1,1,1,7,,,250,1,1,,16,2,2,2,1,40208,4,,,1,1,40208,0,4,4,4,1,3,0,2,0,0,0,51,0,0,0,0,0,1,1720,1,0,1,25,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,160,158,94,21,99,159,89,93,162,90,28,26,29,98,92,103,82,81,33,151,179,177,117,29,97,159,95,107,165,93,34,27,30,89,120,99,93,84,28,149,165,168,88,32,102,140,98,87,197,89,26,28,26,97,91,99,107,88,28,164,172,161,93,33,85,171,95,95,181,99,30,30,32,90,79,97,98,96,25 H,248652,8,800,4,16,1015675,68,2,1,3,5,3,1,2,,90,0,2,3,6,1200,1,300,2,420,2,1,1,6,,,400,1,1,,11,4,2,3,1,82904,4,,,1,1,82904,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,2,1093,2,0,0,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,133,17,20,109,61,18,117,113,59,58,20,73,67,58,64,21,66,73,81,23,24,116,107,19,85,121,20,20,77,67,101,77,61,70,92,102,68,72,74,24,22,92,127,22,77,109,19,23,63,56,115,59,59,74,69,150,67,60,68,101,115,22,26,103,62,22,121,128,67,67,20,63,75,63,74,23,79,60,66 H,248813,8,300,4,16,1015675,179,3,1,2,1,3,2,2,,180,0,2,3,3,500,1,,,,,3,1,4,,,,1,2,,18,3,2,3,1,55000,1,,,1,1,55000,0,1,1,1,1,5,1,3,0,0,1,7,0,0,1,0,0,2,305,,0,1,22,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,67,289,169,59,220,296,208,162,57,167,167,185,160,63,180,189,225,223,162,62,46,272,247,63,273,279,182,146,57,230,203,146,230,86,148,212,265,293,158,59,66,239,159,85,316,244,175,207,94,182,177,180,168,67,150,162,288,251,179,65,76,204,176,67,208,251,193,192,73,212,174,180,167,64,146,154,237,240,132 H,249039,8,300,4,16,1015675,111,4,1,1,,4,2,2,,100,0,2,130,1,300,1,,1,850,1,1,1,8,,,590,1,1,,14,2,350,5,1,230000,2,,,3,1,230000,0,2,2,2,1,5,2,4,0,0,2,9,0,0,1,0,0,1,1699,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,185,28,115,181,185,187,105,39,177,99,128,104,113,35,33,115,94,102,30,106,101,99,198,99,122,107,27,108,95,205,36,174,217,109,144,41,31,174,135,145,32,165,121,34,33,34,106,185,39,95,107,114,119,184,181,102,117,115,155,110,110,102,34,106,108,101,164,106,124,35,185,32,31,127,108,211,169,32,113 H,249259,8,800,4,16,1015675,27,3,1,1,,3,2,2,,100,0,100,3,6,600,1,,,,,3,1,6,,,,1,2,,18,3,2,8,2,35000,2,,,1,1,35000,0,2,2,2,1,6,1,3,0,0,1,5,0,0,1,0,0,1,158,,0,1,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,37,42,23,29,25,10,23,8,23,26,10,24,45,8,8,44,25,25,38,37,31,42,29,26,23,12,34,8,22,26,7,28,51,9,6,44,27,36,47,41,30,46,26,31,29,8,26,8,25,28,8,23,44,9,8,46,27,28,43,56,27,40,29,25,28,10,27,8,23,28,9,21,43,10,8,44,33,27,53,57 H,249517,8,800,4,16,1015675,44,2,1,1,,3,2,2,,200,0,2,3,3,250,1,,1,570,1,1,1,5,,,,1,1,,11,1,300,5,3,29700,4,,,2,1,29700,0,4,4,4,1,7,0,2,0,0,0,32,0,0,0,0,0,2,795,3,0,1,10,1,3,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,39,49,47,12,37,48,74,62,11,11,54,49,12,114,95,42,54,15,42,42,52,38,39,14,43,55,87,82,13,7,58,48,13,70,60,39,55,15,55,50,36,51,43,10,37,43,65,59,14,14,69,39,12,103,80,40,43,16,44,56,43,40,43,10,44,49,64,74,14,14,71,52,12,72,75,43,63,14,43,49 H,249630,8,800,4,16,1015675,75,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,4,21,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,96,91,132,72,21,121,122,21,76,80,21,70,21,70,76,82,134,69,113,21,81,74,24,79,124,24,18,126,83,84,132,78,135,66,74,74,22,68,21,120,75,74,137,71,19,115,122,24,71,72,22,79,20,64,73,65,126,83,144,26,81,72,21,73,163,23,20,141,64,71,129,76,140,89,72,65,26,74,20 H,249829,8,100,4,16,1015675,306,4,1,2,1,2,2,2,,70,0,2,2,1,660,1,,1,800,1,1,1,3,,,,1,1,,19,3,320,1,1,42000,1,,,1,1,42000,0,1,1,1,1,2,2,4,0,0,2,26,0,0,1,0,0,2,897,3,0,1,16,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,436,124,357,105,98,292,111,543,336,253,304,471,256,94,310,459,559,329,357,343,89,531,304,477,463,223,500,74,317,318,253,91,337,521,320,88,118,288,386,313,553,122,230,95,103,347,100,477,264,304,272,392,358,116,279,461,433,357,402,330,99,483,303,536,497,366,449,83,277,322,324,94,364,521,253,83,71,279,304 H,249946,8,100,4,16,1015675,131,4,1,1,,4,2,2,,90,0,2,150,1,560,1,,1,1300,1,1,1,7,,,500,1,1,,19,2,360,4,1,114000,2,,,1,1,114000,0,2,2,2,1,4,2,4,0,0,2,22,0,0,1,0,0,1,2070,2,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,120,155,35,212,38,135,196,246,217,133,37,258,151,118,130,141,36,38,140,122,131,144,220,38,200,108,33,38,42,139,207,39,147,132,151,131,227,219,108,140,138,118,37,199,43,157,210,221,201,141,44,189,119,130,135,143,35,40,124,136,131,127,237,32,199,145,48,37,39,146,243,43,129,145,114,133,234,183,116 H,250029,8,900,4,16,1015675,60,2,1,2,1,5,2,2,,70,0,400,260,2,690,1,,1,880,1,1,1,9,,,200,1,1,,18,5,2,4,2,68600,4,,,1,1,68600,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,0,0,1,1443,2,0,1,40,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,15,15,68,60,65,61,57,107,101,103,46,14,67,84,58,55,81,81,17,17,20,20,59,54,68,66,57,100,94,104,59,17,54,116,61,56,100,63,104,91,101,102,59,51,71,60,55,18,16,16,73,107,62,18,60,61,19,65,130,90,92,90,60,59,55,59,63,22,15,18,49,82,50,16,74,75,16,55,19 H,250426,8,300,4,16,1015675,463,2,1,,,3,4,,,160,0,2,3,3,600,1,,,,,3,1,4,,,,1,2,,12,2,410,3,1,79500,4,,,1,1,79500,0,4,4,4,1,1,0,2,0,0,0,4,0,0,0,1,1,2,286,,0,0,12,2,2,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,451,527,446,179,540,468,210,460,582,589,648,298,413,368,422,484,179,217,232,643,439,707,498,161,414,399,235,647,579,728,736,431,448,376,552,541,141,161,185,138,528,145,368,738,702,535,523,440,233,211,133,604,508,459,481,386,587,633,815,203,408,170,483,714,594,433,578,374,182,156,137,394,448,469,628,521,621,598,553,736 H,250470,8,300,4,16,1015675,70,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,64,20,71,81,70,78,28,77,69,131,131,20,19,96,67,23,104,130,76,65,94,106,66,90,75,57,106,65,58,23,22,105,113,23,69,104,26,19,53,87,65,110,70,62,59,74,139,74,69,21,20,125,131,22,74,128,19,21,85,65,79,21,72,74,72,75,18,62,67,113,101,17,26,185,65,19,132,111,65 H,250494,8,200,4,16,1015675,36,5,1,1,,4,2,2,,80,0,200,3,6,380,1,,1,570,1,1,1,6,,,710,1,1,,14,3,840,9,1,44600,3,,,1,1,44600,0,3,3,3,1,4,3,5,0,0,3,39,0,0,1,0,0,2,1447,1,0,1,12,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,59,39,35,33,30,76,36,48,10,10,61,67,12,35,52,10,11,38,44,32,54,38,39,29,31,60,36,40,12,10,49,54,12,33,54,8,10,36,33,38,50,38,38,35,39,49,25,45,10,10,75,63,11,31,45,12,10,36,32,32,61,48,44,34,36,59,31,34,12,11,56,58,10,34,69,11,8,35,30 H,250651,8,700,4,16,1015675,88,5,1,1,,3,2,2,,240,0,2,3,3,,1,,,,,,1,5,2,900,,1,3,,,3,2,3,1,50500,3,1140,27,1,1,50500,1,3,4,3,1,1,0,5,1,0,2,,0,0,1,0,0,2,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,148,85,25,76,90,27,79,149,153,152,96,94,88,86,86,29,26,27,24,102,25,76,139,82,95,153,81,29,26,30,98,99,90,76,85,155,156,153,29,87,27,93,166,93,86,143,87,29,27,23,82,76,91,89,86,153,151,165,144,86,143,98,25,95,87,24,90,154,146,134,86,81,84,95,82,27,26,26,124 H,250677,8,700,4,16,1015675,88,1,1,1,,3,2,2,,80,0,2,40,1,400,1,,2,950,1,1,1,6,,,,1,1,,17,1,300,3,,,,,,1,4,30000,0,4,4,4,1,3,0,,0,0,0,45,0,0,0,0,0,1,1128,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,25,87,88,98,155,157,85,158,32,143,27,90,27,28,89,92,85,80,83,93,87,151,26,28,87,89,141,85,91,96,90,161,79,88,29,26,142,124,24,25,149,84,92,92,25,24,102,23,147,27,144,88,158,143,103,89,91,88,84,91,100,32,141,156,90,88,28,88,79,85,82,22,81,89,151,152,28,29,151,146 H,250725,8,300,4,16,1015675,105,3,1,3,1,5,2,2,,100,0,2,3,2,900,1,,,,,3,1,9,,,,1,2,,22,5,2,5,4,58204,4,,,1,1,58204,0,4,4,4,1,6,0,3,0,0,0,8,0,0,0,2,2,2,383,,0,0,37,1,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,140,140,148,32,29,157,98,28,142,122,96,112,43,111,142,116,78,31,130,101,117,31,34,144,143,34,118,162,31,31,106,106,172,99,130,99,114,205,107,91,87,179,130,37,48,165,96,29,125,133,93,101,41,113,108,97,91,38,84,79,90,41,35,176,189,40,110,170,39,29,120,120,187,116,122,120,67,143,91 H,250885,8,500,4,16,1015675,270,2,1,,,1,6,,,30,0,2,1,3,,1,,,,,,1,3,2,430,,1,3,,,1,1,5,,,,460,18,4,5,31300,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,221,241,235,391,482,282,229,429,256,264,368,598,481,510,303,435,322,395,253,62,336,335,316,110,70,266,324,80,235,278,92,71,84,82,285,97,237,94,328,424,279,251,315,497,415,297,282,430,278,258,493,480,468,454,271,512,295,475,254,81,243,281,255,83,86,322,298,89,321,265,69,78,83,72,237,71,276,81,265,493 H,251050,8,400,4,16,1015675,72,2,1,1,,5,2,2,,50,0,2,3,6,520,1,,,,,3,1,9,,,,1,2,,15,2,540,6,4,13800,4,,,1,1,13800,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,2,1,2,221,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,137,73,24,69,58,62,84,19,111,15,90,113,110,78,22,84,165,74,136,67,59,22,54,98,120,121,72,70,61,67,66,24,32,24,56,119,86,23,21,61,56,100,85,26,20,18,70,61,71,59,54,108,115,123,82,24,89,128,64,115,21,65,113,107,99,77,28,142,26,133,25,62,88,84,88,55,22,80,86 H,251132,8,300,4,16,1015675,53,5,1,,,3,5,,,40,2400,2,40,1,,1,,,,,,1,5,2,750,,1,3,,,3,660,1,2,2950,3,885,101,1,1,2950,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,66,56,61,62,11,18,18,47,90,48,15,55,46,16,67,93,83,81,84,54,46,54,56,53,16,15,13,40,76,48,14,48,46,17,53,73,78,85,20,43,53,62,47,52,92,87,89,46,15,42,101,50,43,97,59,15,14,16,21,45,50,70,48,56,71,95,80,52,17,43,98,48,47,106,58,13,15,16,92 H,251155,8,800,4,16,1015675,93,5,1,1,,3,2,2,,250,3000,2,3,3,,1,,,,,,1,5,2,800,,1,3,,,3,950,4,1,48000,3,1129,28,2,1,48000,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,113,29,31,94,24,136,113,117,93,129,105,30,94,136,141,126,92,147,93,129,84,130,124,112,165,25,82,108,103,25,89,174,95,30,27,76,100,29,94,157,102,135,158,95,168,24,70,96,91,29,104,154,77,28,28,110,105,27,99,30,103,37,34,73,29,149,91,90,94,165,90,24,77,143,183,124,110,136,109 H,251722,8,800,4,16,1015675,252,0,1,3,,3,2,2,,,,,,,,2,,,,,,1,6,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,68,251,443,256,295,410,232,74,81,103,242,198,245,260,227,434,446,363,242,93,78,222,409,278,280,414,217,59,91,124,279,225,240,249,238,405,402,321,244,81,69,277,449,268,286,367,261,78,74,94,257,343,294,182,230,430,367,387,248,80,86,286,395,252,242,397,301,80,75,84,254,257,304,201,229,416,363,377,227,96 H,251958,8,300,4,16,1015675,41,1,1,2,1,2,1,2,,40,0,2,60,2,600,1,0,1,320,1,1,1,5,,,,1,1,,6,2,2,2,,,,,,1,4,13220,0,4,4,4,1,2,0,,0,0,0,38,0,0,0,0,0,1,420,3,0,0,1,,,,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,79,19,14,72,41,13,92,112,71,34,10,28,30,38,51,8,37,53,32,68,70,16,12,76,47,16,140,119,77,30,8,35,42,33,50,11,31,50,59,113,92,8,10,67,36,14,83,91,36,66,19,39,46,50,26,13,44,41,41,133,95,6,9,77,56,11,53,90,35,56,15,43,39,45,27,8,61,43,47 H,252312,8,100,4,16,1015675,165,5,1,2,1,4,1,2,,100,0,2,3,6,400,1,0,1,600,1,1,1,7,,,,1,1,,19,2,2,3,2,79030,2,,,1,1,79030,0,2,2,2,1,5,3,5,0,0,3,11,0,0,1,0,0,2,700,3,0,0,24,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,179,266,155,50,161,167,196,57,168,43,266,171,217,164,185,145,279,286,172,147,292,167,55,157,53,46,278,170,272,214,146,262,206,207,50,44,148,178,245,286,133,50,182,255,138,153,181,262,165,213,53,187,39,166,185,160,58,56,159,180,53,158,274,141,283,245,46,186,58,213,155,56,202,45,279,286,173,161,56 H,252433,8,800,4,16,1015675,85,2,1,1,,4,3,2,,150,0,2,130,1,400,1,,2,470,2,1,1,9,,,,1,1,,11,2,880,9,4,39100,4,,,2,1,39100,0,4,4,4,1,7,0,2,0,0,0,28,0,0,0,2,1,1,901,3,0,1,12,2,5,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,20,21,28,23,75,32,75,16,71,74,82,78,24,34,89,91,33,98,79,157,138,93,76,85,136,68,145,89,147,197,221,166,73,78,149,112,70,125,20,94,24,26,25,28,89,19,77,27,91,75,94,114,23,17,74,114,23,72,120,103,72,65,82,106,151,104,153,104,128,107,147,152,104,93,163,123,77,151,26 H,252499,8,900,4,16,1015675,61,0,1,3,,4,2,2,,,,,,,,2,,,,,,1,6,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,63,103,128,106,66,18,69,85,58,69,130,65,20,17,18,55,60,58,139,54,60,19,20,17,58,87,63,16,45,66,18,65,96,94,112,52,62,63,19,66,70,112,94,90,56,20,63,87,70,50,78,61,17,18,22,67,60,62,81,72,65,20,20,16,67,104,68,19,75,71,17,58,77,87,100,64,58,61,19 H,252687,8,200,4,16,1015675,25,3,1,3,1,2,1,2,,70,0,150,3,6,400,1,250,2,680,2,1,1,4,,,,1,1,,15,4,2,4,5,73220,1,,,1,2,73220,1,1,4,1,1,5,0,3,0,0,1,14,0,1,1,0,0,1,838,3,0,0,7,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,24,36,40,51,7,9,32,24,26,26,29,7,29,10,7,41,23,52,22,22,29,12,27,8,50,35,24,27,27,7,20,45,32,56,44,5,22,7,46,24,28,8,29,8,37,39,28,37,26,5,29,42,28,60,32,7,28,6,23,24,27,53,28,40,9,9,18,24,26,50,22,7,20,10,10,47,34,44,28 H,252702,8,900,4,16,1015675,28,4,1,2,1,3,2,2,,40,0,2,150,2,4,1,,2,580,2,1,1,6,,,,1,1,,15,2,350,3,2,58000,2,,,1,1,58000,0,2,2,2,1,4,2,4,0,0,2,18,0,0,1,0,0,2,874,3,0,1,20,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,6,8,46,47,8,27,50,11,10,28,24,39,25,24,26,30,50,32,29,27,53,54,8,7,46,43,10,43,49,24,29,9,28,25,23,33,10,34,20,27,41,41,10,10,32,28,12,46,57,36,26,5,22,32,36,26,8,32,27,31,8,7,52,56,8,30,46,8,8,20,37,50,22,29,26,24,62,41,25 H,253353,8,800,4,16,1015675,178,1,1,1,,2,2,2,,1,0,2,3,3,,1,,,,,,1,5,2,380,,1,3,,,2,1,6,,,,380,25,1,4,18000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,188,167,177,289,247,135,324,57,315,58,152,51,57,201,192,158,189,159,206,206,265,57,67,182,174,290,174,188,255,187,291,201,192,62,54,298,238,51,280,48,165,187,169,256,303,205,270,56,302,51,137,55,57,164,251,163,153,205,150,164,280,72,53,155,187,340,195,192,204,187,322,175,198,57,54,354,243,55,257 H,253756,8,700,4,16,1015675,120,2,1,1,,3,2,2,,110,0,2,3,3,380,1,,,,,3,1,6,,,,1,2,,12,2,720,5,2,45000,4,,,1,1,45000,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,1,298,,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,125,206,119,205,37,114,186,222,116,119,115,118,105,34,124,193,36,120,186,189,120,37,128,35,218,134,35,37,129,118,109,123,129,203,138,35,184,129,34,34,129,215,135,207,32,124,206,196,123,118,118,112,115,37,124,180,31,114,208,186,116,41,125,38,229,107,35,33,127,118,118,113,109,192,116,37,217,121,32 H,253936,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,254045,8,100,4,16,1015675,165,1,1,2,1,1,2,2,,30,0,2,3,6,0,2,,,,,3,2,3,,,,1,2,,9,3,2,4,,,,,,1,4,0,0,4,4,4,1,6,0,,0,0,0,,0,0,0,0,0,2,58,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,53,53,159,198,177,166,46,231,51,179,58,52,38,49,163,172,43,45,169,229,161,166,266,269,288,277,165,274,179,293,171,182,162,166,314,255,180,167,237,159,251,343,166,214,183,133,289,166,306,167,267,309,286,276,145,167,347,261,151,48,160,145,57,50,57,51,151,43,146,46,160,181,179,161,57,47,173,166,47,146 H,254102,8,200,4,16,1015675,431,1,1,,,3,4,,,50,0,2,4,3,,1,,,,,,1,5,2,770,,1,3,,,0,1,3,,,,824,46,1,4,21600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,519,534,466,145,411,360,117,417,527,749,696,645,352,409,450,403,169,183,291,165,304,179,672,471,442,504,467,496,180,195,197,559,413,493,534,435,603,604,489,562,345,519,446,120,498,535,127,410,655,788,677,454,431,410,426,576,134,150,174,118,464,157,426,681,444,337,825,547,149,176,113,524,468,446,530,328,580,757,728,583 H,254442,8,800,4,16,1015675,177,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,6,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,59,50,144,155,196,198,161,348,314,301,165,59,192,261,184,199,316,204,51,50,57,52,175,166,160,170,154,297,274,291,163,57,183,274,163,163,285,156,48,59,54,48,173,174,165,187,208,335,286,310,207,60,192,289,173,185,309,188,52,63,58,48,158,155,187,170,173,285,244,298,161,69,183,258,162,176,276,130,51 H,254457,8,500,4,16,1015675,85,2,1,2,1,4,2,2,,60,0,2,230,1,1600,1,,1,4800,1,1,1,9,,,,1,1,,22,2,2,2,1,325600,4,,,1,1,325600,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,1,5090,3,0,1,47,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,97,95,98,93,25,23,24,75,149,85,22,77,94,22,82,133,132,142,27,88,94,83,76,82,158,159,132,85,25,92,160,100,90,141,87,23,25,23,157,90,90,92,88,73,25,27,25,84,134,85,26,77,90,28,84,134,143,144,24,81,75,85,84,86,135,152,129,82,21,96,180,80,79,148,84,27,28,29,144 H,254567,8,200,4,16,1015675,161,1,1,2,1,0,2,2,,20,1800,2,3,6,,2,,,,,,2,1,,,,2,4,,,0,2,3,,,,,,1,4,2400,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,212,151,56,162,170,145,241,56,286,60,292,175,173,158,67,199,236,147,230,170,162,58,163,233,234,265,162,176,131,138,142,48,57,40,134,295,148,50,59,161,186,278,152,54,64,59,155,157,156,160,160,266,258,243,153,57,194,238,151,220,36,180,275,154,139,134,49,235,43,241,52,187,134,153,297,169,42,182,185 H,254610,8,300,4,16,1015675,81,2,1,1,,3,2,2,,150,0,2,3,3,350,1,,,,,3,1,5,,,,1,2,,15,3,20,5,4,61000,4,,,1,1,61000,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,1,1,339,,0,1,31,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,27,99,69,23,96,148,128,131,59,78,72,74,74,25,27,23,86,145,28,88,138,118,80,126,83,24,30,22,85,74,81,99,74,119,115,142,76,28,104,78,26,101,82,21,77,118,137,144,66,87,77,92,96,19,27,26,88,157,19,79,127,88,96,125,72,26,29,25,77,85,93,95,71,125,170,153,70,23,124 H,255080,8,500,4,16,1015675,100,1,1,1,,2,1,2,,160,680,2,3,3,,1,,,,,,1,4,2,470,,1,3,,,0,1,4,,,,630,65,1,6,11660,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,30,101,169,102,29,32,98,114,25,168,114,174,174,94,160,31,105,117,99,91,204,101,32,106,161,189,103,90,159,27,97,30,28,98,30,149,103,101,89,116,31,101,161,113,27,29,88,102,25,175,101,176,155,86,150,33,97,111,117,96,172,127,39,99,169,156,111,88,170,33,105,27,29,95,30,162,95,95,114 H,255374,8,100,4,16,1015675,61,2,1,1,,3,2,2,,40,0,2,130,1,320,1,,1,770,1,1,1,5,,,,1,1,,20,2,430,2,2,45000,4,,,1,1,45000,0,4,4,4,1,1,0,2,0,0,0,26,0,0,0,1,0,1,976,3,0,1,32,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,67,64,60,68,59,21,79,107,19,72,18,54,120,62,103,18,58,108,18,87,61,53,53,62,56,18,65,96,19,56,18,65,97,71,104,17,56,98,104,19,63,61,68,60,58,96,59,18,103,59,115,58,15,64,18,99,59,18,120,17,56,64,64,66,62,87,64,17,107,63,103,70,20,68,18,115,64,18,20 H,255417,8,400,4,16,1015675,136,2,1,1,,4,2,2,,60,0,2,3,6,960,1,,,,,3,1,6,,,,1,2,,14,1,2,5,4,31000,4,,,4,1,31000,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,1,1,2,230,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,117,190,120,40,134,112,44,165,240,176,228,163,146,163,165,120,25,47,48,37,168,40,134,235,132,149,213,161,49,34,45,150,126,130,117,159,319,203,210,190,140,258,140,42,133,123,42,114,187,248,237,138,124,163,196,124,38,54,39,49,151,34,108,211,144,141,202,142,48,39,44,154,149,117,111,139,246,199,240,248 H,255702,8,800,4,16,1015675,68,5,1,1,,4,2,2,,130,0,800,3,4,,1,,,,,,1,9,,,,1,4,,,5,2,6,1,64000,2,,,1,1,94000,0,2,2,2,1,4,1,4,0,1,1,,0,0,1,0,0,1,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,19,56,71,84,113,116,87,125,17,115,19,78,23,17,61,59,65,62,62,60,58,123,22,19,69,73,111,59,81,77,54,125,78,43,20,28,93,119,21,21,105,72,82,79,22,22,58,16,87,18,105,58,122,116,56,79,82,70,63,73,58,16,118,133,60,68,29,55,71,95,53,25,68,54,109,113,17,20,129,137 H,255772,8,900,4,16,1015675,17,5,1,1,,5,2,2,,80,0,1000,100,3,600,1,,1,690,1,1,1,8,,,,1,1,,14,3,120,5,1,26000,1,,,2,1,26000,0,1,1,1,1,3,3,5,0,0,3,44,0,0,1,0,0,1,963,3,0,1,18,2,2,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,27,14,17,7,3,24,25,5,19,32,5,3,12,13,33,23,16,21,14,18,29,13,13,3,7,37,17,5,18,24,7,6,20,18,27,13,19,24,23,22,29,13,13,7,7,36,23,3,25,36,3,6,15,22,37,15,18,15,15,12,35,18,17,5,5,25,23,5,12,26,7,5,15,26,24,16,21,15,13,27 H,256006,8,100,4,16,1015675,54,4,1,1,,3,2,2,,40,0,2,20,1,0,1,,,,,3,1,6,,,,1,2,,17,4,500,2,3,50650,4,,,1,1,50650,0,4,4,4,1,3,0,4,0,0,0,6,0,0,0,0,0,1,243,,0,1,28,3,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,16,49,85,119,108,49,53,60,50,52,14,15,19,56,107,59,15,62,101,66,19,49,91,102,102,52,49,48,57,48,17,17,19,61,85,54,15,54,19,53,104,43,14,17,20,57,59,68,56,67,85,95,102,58,18,47,98,50,17,54,85,51,17,15,17,50,66,51,51,51,72,80,99,60,17,44,98,60,95 H,256055,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,256155,8,100,4,16,1015675,20,4,1,1,,5,2,2,,40,0,2,200,2,800,1,,2,230,2,1,1,9,,,,1,1,,8,4,220,6,1,80700,2,,,1,1,80700,0,2,2,2,1,4,1,4,0,0,1,9,0,0,1,0,0,1,588,3,0,1,10,3,5,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,32,24,19,6,5,28,43,6,23,27,5,7,19,30,45,23,20,23,20,24,5,17,25,31,35,5,6,34,17,5,32,33,18,21,5,15,17,18,19,22,29,26,20,7,6,30,31,7,18,26,7,5,21,25,33,22,17,20,18,29,5,18,17,44,34,5,5,35,17,4,26,25,19,21,7,17,18,17,15,27 H,256487,8,500,4,16,1015675,77,2,1,1,,2,2,2,,60,0,2,80,1,,1,,,,,,1,6,2,290,,1,3,,,0,90,6,8,23900,4,438,22,1,3,23900,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,75,26,78,20,127,78,24,21,64,87,70,86,77,144,81,25,145,68,146,26,86,123,79,148,21,70,142,147,82,66,80,81,91,24,79,144,20,76,25,23,71,138,86,139,21,79,140,145,86,84,86,74,68,23,71,124,23,75,23,130,77,23,70,26,160,84,21,21,84,74,73,89,76,133,78,24,138,83,139,134 H,256710,8,100,4,16,1015675,79,6,1,1,,3,2,2,,150,0,2,40,1,1200,1,,2,690,2,1,1,5,,,,1,1,,18,3,600,3,1,268550,2,,,2,1,268550,0,2,2,2,1,5,4,6,0,0,4,5,0,0,1,0,0,1,1197,3,0,1,32,3,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,86,69,68,89,157,136,91,90,118,78,73,118,137,125,148,80,115,84,25,27,92,77,87,76,20,24,76,70,22,71,71,24,27,24,23,77,24,81,136,132,77,68,81,75,147,134,81,94,143,77,80,144,124,133,161,71,140,72,25,21,74,68,74,80,24,24,82,71,25,74,71,26,26,22,24,81,24,85,148 H,256843,8,900,4,16,1015675,98,1,1,3,1,2,2,2,,40,0,300,3,4,0,1,,,,,3,1,4,,,,1,2,,3,1,2,6,,,,,,1,6,8900,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,1,2,65,,0,0,1,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,133,181,104,72,100,38,102,35,131,173,25,91,128,36,37,172,124,85,210,116,90,168,113,55,76,30,113,37,97,109,31,88,114,28,34,201,98,91,177,31,93,26,97,82,129,136,89,165,90,106,161,106,45,188,167,38,112,108,32,32,70,20,125,138,105,112,76,185,95,104,173,96,57,141,107,32,84,131,30,115 H,256955,8,100,4,16,1015675,84,2,1,1,,4,2,2,,90,0,2,40,1,400,1,,2,540,2,1,1,9,,,380,1,1,,18,3,650,5,4,41000,4,,,1,1,41000,0,4,4,4,1,7,0,2,0,0,0,38,0,0,0,2,0,1,1304,2,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,24,93,78,74,93,24,24,149,25,72,94,125,118,156,81,88,23,130,94,153,88,26,24,134,144,79,80,80,79,26,125,89,90,101,28,136,85,85,24,26,75,150,134,25,28,92,85,83,106,140,27,83,81,88,146,27,82,84,137,84,136,70,79,90,88,154,130,21,127,77,74,20,22,25,94,93,121,28,101,87 H,257078,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,257617,8,800,4,16,1015675,52,2,1,3,4,4,2,2,,150,0,2,3,6,2400,1,,,,,3,1,9,,,,1,2,,24,3,2,5,4,29400,4,,,1,1,29400,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,2,1,458,,0,0,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,44,96,88,19,17,95,62,14,91,86,42,44,13,58,49,45,61,15,43,49,45,87,107,13,15,93,53,19,106,101,56,54,18,57,59,64,58,17,50,51,65,17,13,90,93,17,52,78,17,13,48,55,85,46,48,50,55,92,53,58,69,15,17,88,89,16,54,104,16,15,57,59,78,55,53,53,58,91,45 H,257646,8,300,4,16,1015675,57,4,1,1,,4,2,2,,120,0,2,30,1,600,1,,1,700,1,1,1,8,,,,1,1,,13,3,120,6,7,64300,2,,,1,3,120300,0,2,2,2,1,4,1,2,0,1,1,9,3,0,1,0,0,1,860,3,0,1,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,16,62,114,20,107,57,64,56,63,58,54,16,92,66,68,113,99,47,52,67,48,91,68,60,66,108,14,14,18,21,92,53,48,16,97,61,58,87,18,14,16,53,96,18,100,54,55,60,54,58,50,16,81,64,64,118,119,53,80,56,52,102,63,65,60,97,15,21,18,17,109,57,59,21,94,53,57,100,16 H,257735,8,900,4,16,1015675,49,2,1,1,,2,2,2,,60,0,2,40,1,200,1,,1,370,1,1,1,5,,,,1,1,,9,2,590,7,1,64000,4,,,1,1,64000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,2,519,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,68,99,43,45,35,14,55,16,41,59,14,41,90,14,15,98,46,55,80,16,45,12,56,48,55,83,52,97,46,47,86,44,10,87,89,15,48,41,15,66,54,89,50,41,45,19,68,20,38,47,22,44,90,21,13,68,42,40,68,15,44,17,61,49,40,72,70,82,36,43,67,35,20,86,67,21,66,57,12,127 H,258097,8,400,4,16,1015675,55,2,1,1,,2,2,2,,120,0,2,90,1,,1,,,,,,1,4,2,350,,2,3,,,1,2,8,7,19000,1,560,35,1,3,19000,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,19,95,100,22,44,79,26,19,59,65,59,42,41,60,55,71,51,33,20,56,68,19,18,91,70,18,86,108,43,41,19,52,69,89,56,19,57,70,99,51,74,13,19,88,45,20,74,71,47,34,25,62,66,89,58,25,57,84,94,45,18,106,98,17,42,109,20,13,62,73,76,60,44,48,69,78,33,40,22,49 H,258663,8,600,4,16,1015675,120,2,1,1,,3,2,2,,30,0,2,80,1,340,1,,,,,3,1,6,,,,1,2,,17,1,600,9,4,23090,4,,,1,1,23090,0,4,4,4,1,7,0,2,0,0,0,21,0,0,0,2,2,1,396,,0,1,37,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,119,203,124,109,188,131,31,34,34,115,112,129,117,110,183,215,205,118,32,40,125,206,127,130,234,139,35,37,38,115,116,119,117,127,192,232,218,121,214,205,119,38,132,115,37,116,219,230,226,123,114,117,133,111,37,39,38,125,183,207,107,34,99,131,35,111,188,214,197,112,120,115,124,123,33,38,32,133,32 H,259679,8,500,4,16,1015675,318,4,1,1,,4,2,2,,100,0,2,130,1,350,1,,1,1200,1,1,1,7,,,100,1,1,,16,3,2,5,1,92000,2,,,2,1,92000,0,2,2,2,1,3,2,4,0,0,2,20,0,0,1,0,0,2,1530,1,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,104,150,348,316,298,271,334,435,537,481,315,85,291,451,297,343,516,353,433,446,552,455,269,413,347,396,375,110,98,88,479,514,324,83,267,372,88,272,92,91,180,92,358,263,294,332,317,541,524,468,323,91,273,374,326,436,497,292,544,427,424,525,308,360,323,309,338,114,101,104,394,410,284,107,317,404,98,420,119 H,259760,8,700,4,16,1015675,110,2,1,1,,3,2,2,,250,0,2,250,1,400,1,,2,1100,2,1,1,5,,,,1,1,,17,2,70,3,,,,,,1,7,45000,0,4,4,4,1,1,0,,0,1,0,49,3,0,0,0,0,1,1847,3,0,1,37,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,106,112,172,32,183,112,30,33,30,116,189,32,102,110,107,114,188,187,181,186,189,31,109,110,110,33,117,121,120,198,111,116,34,183,31,29,115,114,112,119,108,98,171,32,178,109,28,32,34,110,193,35,111,110,120,116,195,213,179,181,187,35,107,113,107,32,108,101,120,201,113,103,29,189,33,36,120,103,111 H,259982,8,100,4,16,1015675,25,0,1,1,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,7,7,28,31,40,30,31,23,28,53,29,29,7,7,51,41,9,30,25,38,6,4,22,36,43,24,26,23,24,44,33,33,6,9,42,36,9,34,28,47,7,9,25,22,47,22,24,33,27,53,33,24,7,7,50,46,9,26,22,45,8,9,19,26,47,22,27,24,31,54,25,24,8,8,53,43,7,29,30 H,261139,8,100,4,16,1015675,91,2,1,1,,2,2,2,,30,0,2,3,6,0,1,,,,,3,1,4,,,,1,2,,16,2,510,7,4,56600,4,,,1,1,56600,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,2,2,2,173,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,169,100,133,88,30,76,30,125,81,34,25,95,113,68,79,85,134,98,30,139,31,88,29,95,172,103,150,38,87,146,164,109,83,86,122,97,32,93,206,27,123,86,151,94,27,75,25,142,75,22,36,80,68,122,95,140,177,93,26,140,27,82,30,102,173,133,169,23,105,212,159,90,90,94,80,68,29,103,155 H,261204,8,500,4,16,1015675,103,1,1,1,,3,2,2,240,40,0,2,60,1,310,1,,,,,3,1,5,,,,1,2,,14,1,280,2,,,,,,1,6,29700,0,4,4,4,1,3,0,,0,0,0,20,0,0,0,1,1,1,503,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,103,104,173,180,102,119,102,200,25,171,117,31,30,28,96,176,33,118,99,94,122,108,187,189,96,113,106,158,27,158,100,32,27,31,104,151,31,104,91,117,112,106,168,194,95,100,91,187,26,181,104,30,28,24,92,196,29,111,119,97,103,131,239,169,103,94,115,161,29,195,106,26,30,28,108,166,28,98,116 H,261220,8,100,4,16,1015675,66,1,1,1,,3,2,2,,40,0,2,3,3,200,1,,1,520,1,1,1,5,,,,1,1,,11,1,500,3,,,,,,1,6,38000,0,4,4,4,1,3,0,,0,0,0,19,0,0,0,1,1,2,602,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,20,19,109,98,15,55,106,18,22,67,69,111,68,62,63,70,130,72,69,75,19,19,117,114,25,69,103,20,22,56,64,131,62,68,63,68,115,59,82,62,21,20,113,126,20,64,122,18,18,62,56,121,71,67,66,65,101,63,61,73,22,20,103,117,22,59,119,22,20,70,66,94,61,62,69,56,112,63,58 H,261474,8,300,4,16,1015675,99,4,1,2,1,4,2,2,,290,0,2,50,2,,1,,,,,,1,8,2,700,,1,3,,,2,620,5,8,6000,2,1092,26,1,3,50000,0,2,2,2,1,1,1,2,0,1,1,,0,0,1,0,0,2,,,1,0,,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,33,43,36,95,158,93,25,90,89,29,137,215,155,151,85,77,93,101,42,114,133,167,214,97,28,112,182,78,89,151,79,29,45,43,137,94,68,112,27,85,194,158,130,117,30,89,150,83,115,130,88,28,36,29,130,110,103,135,146,78,34,27,32,128,189,85,30,116,106,37,152,165,130,140,85,101,138,83,105 H,261567,8,100,4,16,1015675,74,2,1,2,1,2,2,2,,60,0,2,3,6,,1,,,,,,1,3,2,300,,1,3,,,1,2,4,7,34800,4,360,12,1,3,34800,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,110,135,87,86,91,69,65,18,80,163,24,85,24,64,130,72,171,26,30,66,135,105,58,70,57,62,88,28,68,113,27,87,20,82,161,73,116,21,155,126,20,20,81,65,69,59,84,112,66,24,121,79,133,80,19,75,28,120,134,69,24,25,79,71,75,86,96,118,62,18,140,104,128,62,21,100,19,112,26 H,261788,8,100,4,16,1015675,165,1,1,1,,3,2,2,,90,0,900,3,6,,1,,,,,,1,6,2,380,,1,3,,,4,480,9,,,,585,39,1,4,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,268,73,123,213,173,122,57,143,135,205,227,46,51,242,157,57,207,282,198,159,203,360,190,148,146,164,235,136,201,56,65,395,221,45,216,238,49,66,250,148,164,310,133,142,160,176,221,138,141,36,67,440,247,57,174,228,44,46,171,204,201,53,134,183,194,150,62,128,149,230,211,79,68,257,207,50,285,349,159 H,262010,8,900,4,16,1015675,158,4,1,1,,4,2,2,,70,0,2,3,6,700,1,,1,700,1,1,1,8,,,,1,1,,17,3,360,9,1,39600,1,,,1,1,39600,0,1,1,1,1,4,2,4,0,0,2,24,0,0,1,0,0,2,800,3,0,1,16,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,292,230,46,152,323,79,65,218,156,234,106,163,164,148,263,152,129,40,169,53,264,288,37,143,278,40,52,194,121,189,161,155,143,171,211,133,175,63,213,55,201,194,72,170,245,61,42,165,158,187,151,223,175,149,297,191,156,41,151,45,278,269,60,154,156,46,61,126,142,227,158,161,183,174,337,218,132,38,214 H,262198,8,300,4,16,1015675,121,3,1,1,,4,2,2,,130,0,2,100,1,700,1,,2,1000,2,1,1,8,,,,1,1,,16,6,2,5,1,100000,2,,,2,1,100000,0,2,2,2,1,5,1,3,0,0,1,17,0,0,1,0,0,1,1438,3,0,1,30,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,219,123,212,203,128,204,40,141,119,114,39,121,180,123,34,42,104,98,140,41,164,157,186,214,125,189,37,119,150,106,29,120,202,144,33,32,106,136,118,154,37,114,40,46,135,37,219,111,115,118,190,110,31,115,249,186,118,125,129,195,32,94,33,40,115,45,191,117,119,146,185,149,39,111,209,178,174,137,128 H,262587,8,600,4,16,1015675,117,5,1,1,,4,2,2,,200,0,2,40,1,0,1,,,,,3,1,8,,,,1,2,,17,3,240,5,1,78000,1,,,1,1,78000,0,1,1,1,1,3,3,5,0,0,3,12,0,0,1,0,0,1,793,,0,1,64,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,107,117,106,33,37,116,122,113,34,180,37,127,199,206,190,112,38,190,120,36,38,209,190,118,122,38,34,203,115,111,120,178,101,118,123,35,120,109,188,110,100,110,123,205,201,113,126,108,210,33,193,118,34,36,37,137,193,31,120,208,221,35,33,126,110,194,185,33,112,111,126,32,99,121,127,182,126,112,34,111 H,262598,8,600,4,16,1015675,72,4,1,1,,3,3,2,,100,5000,70,100,1,,1,,,,,,1,4,2,650,,2,3,,,1,70,5,7,2200,1,862,101,1,3,2200,0,1,1,1,1,1,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,14,13,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,119,69,17,18,68,116,20,125,80,75,77,78,67,69,21,110,72,64,115,72,79,21,75,72,20,70,78,79,22,140,121,134,122,20,69,64,103,19,75,122,21,62,116,125,73,20,116,18,67,70,76,66,69,83,136,22,80,77,22,68,65,138,71,68,127,69,73,64,110,21,20,22,20,110,74,70,20,133,68,20 H,262689,8,400,4,16,1015675,24,2,1,1,,3,1,2,,80,0,600,3,3,,1,,,,,,1,5,2,550,,1,3,,,1,420,4,1,11600,4,715,74,1,1,11600,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,39,21,5,31,28,16,36,7,42,6,51,25,18,19,8,19,35,25,7,20,17,41,21,8,6,6,21,25,17,21,31,37,48,44,19,6,21,38,26,37,9,27,43,25,23,22,7,39,8,37,7,16,23,27,40,19,7,19,36,26,22,9,24,48,32,45,28,20,20,20,20,6,7,6,24,36,21,8,29 H,263137,8,200,4,16,1015675,114,1,1,3,1,2,2,2,,300,0,2,20,3,250,1,,,,,3,1,7,,,,1,2,,16,3,2,5,,,,,,1,4,33800,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,1,1,1,424,,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,94,93,39,47,49,135,178,99,29,178,87,35,125,147,199,183,85,134,159,100,104,99,28,36,32,122,219,114,30,120,110,33,114,219,182,155,111,147,245,141,111,93,36,41,46,164,175,127,35,147,140,31,96,155,184,181,79,104,171,91,139,124,33,29,29,116,173,74,31,143,138,31,152,178,173,175,117,100,210 H,263612,8,900,4,16,1015675,116,3,1,2,1,3,2,2,,80,0,2,30,6,540,1,,2,730,2,1,1,9,,,,1,1,,13,3,360,4,1,34600,4,,,5,1,34600,0,4,4,4,1,5,0,3,0,0,0,34,0,0,0,2,1,1,982,3,0,1,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,48,40,111,137,140,106,97,161,129,40,202,179,214,103,43,110,32,206,117,33,137,140,98,93,121,106,102,35,123,188,36,94,31,143,189,131,228,39,153,198,36,32,120,123,122,173,103,161,126,40,182,128,185,87,41,116,23,220,113,38,177,222,145,109,132,86,148,43,81,182,35,116,41,127,196,130,252,32,100,186 H,263661,8,500,4,16,1015675,101,3,1,1,,4,2,2,,110,0,2,80,3,520,1,,1,1300,1,1,1,7,,,500,1,1,,18,2,2,3,1,112000,2,,,1,1,112000,0,2,2,2,1,3,1,3,0,0,1,21,0,0,1,0,0,1,1990,1,0,1,40,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,25,95,124,108,28,123,166,109,32,34,110,118,32,181,78,135,165,89,94,33,148,91,104,98,169,122,30,105,175,180,90,93,176,31,100,34,26,125,98,194,33,121,97,100,34,102,159,108,28,29,102,119,31,166,97,168,156,99,117,27,171,112,88,85,166,98,33,95,153,173,101,103,160,35,110,27,28,117,119 H,263677,8,900,4,16,1015675,27,1,1,1,,3,2,2,,40,0,2,50,2,400,1,,,,,3,1,6,,,,1,2,,9,1,360,7,,,,,,1,6,16200,0,4,4,4,1,6,0,,0,0,0,16,0,0,0,1,1,2,211,,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,34,28,45,8,37,32,8,8,8,25,51,8,23,27,24,22,43,47,40,36,48,6,24,29,32,8,22,28,31,50,26,25,8,52,8,8,27,24,33,27,30,23,8,40,7,26,50,43,45,29,8,47,23,25,30,29,6,8,6,9,7,38,25,30,27,41,21,26,23,8,28,30,45,8,50,49,25,29,30 H,263732,8,200,4,16,1015675,56,4,1,3,1,4,2,2,,70,0,1400,3,6,420,1,,,,,3,1,6,,,,1,2,,15,4,360,9,1,65000,2,,,1,1,65000,0,2,2,2,1,5,2,4,0,0,2,18,0,0,1,0,0,1,960,,0,0,66,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,69,49,70,81,84,67,99,23,93,17,67,19,16,54,49,47,55,52,52,48,90,18,18,48,59,95,52,51,53,55,116,57,48,18,22,103,91,17,13,103,63,67,41,15,23,56,15,94,15,91,64,94,92,53,61,67,53,60,61,56,22,105,67,54,42,18,59,69,70,52,16,50,58,114,84,15,16,99,87 H,263871,8,500,4,16,1015675,62,6,1,2,1,5,2,2,,200,0,2400,3,4,800,1,,1,720,1,1,1,9,,,,1,1,,16,6,2,9,1,180100,2,,,1,1,180100,1,2,2,2,1,4,2,6,0,0,2,7,0,0,1,2,1,2,1120,3,0,1,30,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,68,98,103,56,16,16,66,92,14,120,55,59,62,68,68,53,17,85,64,59,138,59,54,120,59,51,124,68,56,58,119,18,22,20,19,105,63,63,21,55,18,70,75,19,58,57,18,62,68,57,19,97,96,106,106,17,55,55,99,119,56,18,18,55,108,119,63,16,100,17,69,61,59,67,67,69,108,20,66,20 H,263971,8,900,4,16,1015675,78,1,1,1,,3,2,2,,60,0,2,150,1,280,1,,,,,3,1,6,,,,1,2,,13,1,50,5,,,,,,1,4,34000,0,4,4,4,1,3,0,,0,0,0,9,0,0,0,0,0,1,269,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,122,23,26,137,82,25,125,135,79,73,23,76,91,71,70,22,63,87,86,132,153,26,21,151,75,20,136,115,66,69,24,82,74,84,93,24,90,95,73,22,22,140,134,21,82,117,20,23,74,82,143,74,69,79,65,139,90,81,76,25,24,144,146,24,91,146,26,25,71,108,117,72,67,69,88,171,72,86,79 H,264045,8,800,4,16,1015675,83,2,1,1,,3,2,2,,80,0,2,2,3,0,1,,,,,3,1,5,,,,1,2,,13,2,2,5,8,11000,2,,,1,3,11000,1,2,4,2,1,7,0,2,1,0,1,9,0,0,1,1,0,1,80,,0,1,1,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,92,25,149,149,127,131,25,89,88,157,32,78,83,27,74,74,30,96,82,76,85,156,23,23,22,22,147,77,88,26,125,81,79,137,72,85,129,81,107,88,80,27,158,134,144,136,23,82,81,149,26,98,94,21,83,76,30,86,72,85,78,142,22,22,23,22,117,84,92,25,153,84,93,117,79,73,139,93,76 H,264082,8,500,4,16,1015675,54,2,1,1,,3,2,2,,60,0,2,3,3,680,1,,1,850,1,1,1,6,,,,1,1,,12,1,480,3,4,21500,4,,,1,1,21500,0,4,4,4,1,5,0,2,0,0,0,53,0,0,0,2,2,1,950,3,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,57,59,48,84,51,14,53,18,13,105,57,105,61,49,88,52,78,16,66,18,57,59,63,94,60,19,62,15,15,85,46,106,51,52,100,49,85,15,61,96,57,49,64,15,56,105,40,76,98,14,50,16,51,56,16,52,19,98,54,94,65,60,64,15,55,100,61,91,102,19,62,16,60,43,15,56,15,87,55 H,264094,8,700,4,16,1015675,123,1,1,1,,3,2,2,,50,0,2,30,1,300,1,,1,970,1,1,1,5,,,,1,1,,18,2,480,4,,,,,,1,6,58000,0,4,4,4,1,4,0,,0,0,0,23,0,0,0,0,0,2,1090,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,123,132,37,206,37,35,109,121,197,202,33,125,121,120,35,126,135,120,34,37,126,112,211,38,221,205,110,132,38,36,201,122,128,121,198,127,129,117,37,39,119,118,210,36,203,185,113,125,37,33,200,121,121,115,202,135,126,133,185,221,106,133,32,231,39,36,123,123,215,204,35,116,119,131,34,138,117,122,186 H,264726,8,800,4,16,1015675,54,4,1,2,1,3,2,2,,2,0,2,3,3,,1,,,,,,1,5,2,600,,1,3,,,3,100,3,7,17000,3,608,23,1,3,32000,0,3,3,3,1,1,2,3,0,1,2,,3,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,56,60,93,62,15,70,90,15,67,61,17,53,22,53,56,63,86,53,15,83,47,48,92,47,15,108,90,20,50,52,29,61,17,53,49,57,73,50,95,17,53,69,15,47,98,17,14,98,59,75,77,56,150,51,55,67,14,53,76,13,44,58,16,46,106,17,16,110,49,60,113,49,88,55,59,65,14,53,19 H,264796,8,600,4,16,1015675,109,2,1,1,,3,2,2,,50,0,2,120,1,630,1,,,,,3,1,7,,,,1,2,,18,2,550,8,4,57700,4,,,1,1,57700,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,457,,0,1,34,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,32,180,115,28,185,210,104,116,33,107,101,112,92,31,109,107,172,172,95,31,33,194,110,35,199,208,117,110,35,97,102,104,97,33,120,113,178,195,110,171,180,36,106,178,30,30,121,112,196,106,105,109,108,173,116,100,33,35,110,171,181,31,98,188,32,32,99,119,197,106,110,113,118,195,103,108,32,33,110 H,264885,8,900,4,16,1015675,50,4,1,2,1,3,2,2,,100,0,2,60,1,600,1,,1,1200,1,1,1,5,,,,1,1,,19,2,2,2,1,31500,2,,,1,1,31500,0,3,3,3,1,4,2,4,0,0,2,52,0,0,1,0,0,1,1360,3,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,63,47,13,57,121,47,54,95,56,12,18,15,57,49,40,41,54,95,78,75,17,49,80,57,12,47,58,15,59,84,79,97,59,60,42,40,47,17,15,104,13,33,82,63,16,56,54,13,55,78,70,96,52,58,59,61,49,13,15,15,89,55,15,43,70,60,51,81,42,17,17,15,36,44,61,48,51,93,78,21 H,264910,8,200,4,16,1015675,111,1,1,1,,2,2,2,,60,0,2,4,1,250,1,,1,440,1,1,1,4,,,,1,1,,11,1,40,7,,,,,,1,6,32500,0,4,4,4,1,3,0,,0,0,0,19,0,0,0,0,0,1,507,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,35,124,100,26,119,214,191,182,128,101,119,94,110,42,40,32,102,204,27,96,183,140,96,183,117,36,37,35,113,100,110,116,102,178,188,167,106,32,212,117,36,112,138,35,117,203,185,198,125,115,110,133,118,27,30,37,85,141,41,116,233,117,106,144,103,34,29,30,105,135,110,98,96,169,246,192,116,31,192 H,265016,8,100,4,16,1015675,443,2,1,1,,3,2,2,,30,0,2,20,1,,1,,,,,,1,4,2,850,,1,3,,,2,600,2,6,39200,4,950,29,1,2,39200,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,443,626,342,166,546,688,829,408,393,646,111,333,144,145,440,126,609,487,530,491,609,757,388,139,451,778,717,510,490,604,134,553,153,143,394,148,747,440,429,417,461,120,385,741,508,149,139,624,465,152,845,555,773,676,466,821,125,372,442,415,465,131,421,697,478,128,147,371,398,118,626,388,767,752,468,680,141,526,560 H,265207,8,300,4,16,1015675,12,4,1,2,3,4,2,2,,150,0,2,100,2,2500,1,,2,1000,2,1,1,9,,,250,1,1,,19,4,660,4,2,110600,2,,,1,1,110600,0,3,3,3,1,6,2,4,0,0,2,22,0,0,1,0,0,1,2013,2,0,1,42,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,5,3,11,13,14,12,13,9,11,19,11,11,4,3,19,20,4,9,10,23,2,3,15,13,18,12,11,10,13,23,13,9,3,6,17,21,3,11,10,22,5,1,10,18,20,10,12,13,20,19,12,12,4,5,18,18,3,10,13,26,5,2,11,14,13,8,11,12,16,25,11,10,2,4,15,16,2,10,10 H,265257,8,900,4,16,1015675,88,1,1,2,1,2,2,2,,20,0,30,80,2,440,1,,1,500,1,1,1,4,,,,1,1,,10,3,2,9,,,,,,1,4,45010,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,0,0,2,603,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,94,29,78,90,89,100,30,71,123,166,187,24,28,167,82,21,135,160,85,89,85,24,74,81,108,119,24,85,94,155,177,35,29,124,93,26,100,127,82,104,80,124,89,84,72,84,177,91,125,46,27,134,102,20,96,130,22,31,110,85,123,149,72,85,86,118,152,94,92,23,30,179,124,29,88,104,25,25,82 H,265782,8,100,4,16,1015675,102,2,1,1,,4,2,2,,80,0,2,80,1,420,1,,2,670,1,1,1,9,,,90,1,1,,15,2,600,6,1,60000,4,,,1,1,60000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,1005,1,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,31,106,99,101,25,94,173,103,29,33,94,108,35,163,99,169,175,101,106,159,31,109,97,97,29,88,158,104,31,30,103,102,32,187,103,180,172,91,94,29,188,111,102,103,171,106,32,103,168,184,99,87,160,28,107,32,27,96,91,31,163,99,108,99,172,104,31,101,180,168,109,104,160,34,94,30,34,101,95 H,266051,8,500,4,16,1015675,118,1,1,1,,3,2,2,,60,0,2,50,1,300,1,,1,770,1,1,1,7,,,,1,1,,17,1,450,2,,,,,,1,6,56000,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,0,0,1,918,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,134,121,33,204,33,33,124,130,200,233,36,116,110,113,35,105,118,121,41,37,110,134,222,40,206,190,118,116,36,37,178,111,125,118,216,114,108,129,242,189,121,112,37,196,37,39,90,103,240,194,34,132,108,117,34,107,133,124,34,34,135,109,219,32,197,207,127,123,35,38,198,111,121,100,201,125,128,112,178 H,266885,8,400,4,16,1015675,62,2,1,1,,3,1,2,,140,0,2,3,9,230,1,300,2,240,2,1,1,5,,,,1,1,,4,3,1,4,1,48500,4,,,1,1,48500,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,1,424,3,0,0,1,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,67,51,65,106,87,59,140,19,102,25,58,17,18,48,61,89,60,56,59,77,93,18,16,82,67,101,77,52,56,50,89,66,64,17,17,107,101,33,23,89,76,88,49,25,17,34,25,96,17,107,85,77,129,47,57,78,45,75,54,71,31,93,96,77,62,15,68,71,45,74,13,69,72,50,128,18,18,150,134 H,267184,8,500,4,16,1015675,53,2,1,2,1,3,1,2,,30,0,450,3,6,170,1,280,,,,3,1,6,,,,1,2,,4,2,2,5,1,31000,4,,,1,1,31000,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,0,0,1,118,,0,0,5,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,56,62,16,50,13,15,95,84,55,59,47,54,17,91,53,54,59,14,16,15,68,49,97,55,75,91,15,17,50,49,50,51,96,15,59,46,50,87,16,15,49,59,100,50,89,93,21,14,46,61,51,47,100,19,55,49,55,81,98,83,51,57,15,58,14,18,92,73,48,48,55,49,16,91,57,52,50,15,86 H,267278,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,267742,8,900,4,16,1015675,116,2,1,1,,4,2,2,,190,0,280,3,6,,1,,,,,,1,6,2,280,,1,3,,,1,2,4,7,10000,2,493,59,5,3,10000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,112,201,206,178,132,135,95,96,99,32,38,36,126,180,112,38,131,116,30,160,132,250,198,212,127,186,119,99,97,31,54,31,107,174,132,37,106,130,31,56,89,39,35,37,103,99,117,136,156,202,158,210,95,31,115,267,128,127,248,41,110,27,29,31,97,92,162,154,152,178,198,200,142,50,107,166,92,84,191,211 H,267912,8,200,4,16,1015675,15,6,1,1,,4,2,2,,180,0,2,2,1,300,1,,,,,3,1,7,,,,1,2,,10,2,720,9,2,31300,2,,,1,1,31300,0,2,2,2,1,4,4,6,0,0,4,13,0,0,1,0,0,1,345,,0,1,21,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,32,18,30,14,16,31,17,32,6,6,20,15,17,27,16,5,19,5,15,5,27,14,25,17,15,25,19,29,7,5,19,13,14,28,19,5,15,7,13,30,5,16,3,17,18,5,17,6,24,27,21,20,16,4,20,27,13,31,17,25,8,23,4,19,16,5,17,7,36,27,17,15,16,5,17,25,13,35,15 H,268010,8,100,4,16,1015675,49,2,1,2,1,4,2,2,,50,0,1600,20,1,1100,1,,,,,3,1,9,,,,1,2,,19,2,580,7,8,46500,4,,,1,3,46500,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,1,1,1,515,,0,1,32,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,53,94,52,55,88,52,13,90,73,13,53,45,14,49,11,47,59,57,82,15,51,17,48,43,13,39,72,12,14,82,50,53,80,52,80,46,64,51,84,16,51,15,45,46,17,41,83,13,14,92,53,42,91,53,81,43,42,52,18,89,49,76,44,44,75,53,16,86,95,18,52,48,12,48,15,48,41,43,14 H,268230,8,500,4,16,1015675,82,1,1,1,,2,2,2,,40,0,2,20,1,310,1,,1,340,1,1,1,5,,,,1,1,,13,2,270,9,,,,,,3,4,0,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,2,423,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,130,83,134,26,84,129,149,77,84,87,85,80,28,81,136,21,75,26,71,23,139,66,135,23,83,127,164,74,85,84,75,86,20,82,140,24,106,24,87,128,23,80,26,140,84,25,23,76,74,80,75,75,151,80,22,124,76,145,88,156,24,81,29,124,72,24,21,100,79,83,77,74,144,80,25,159,72,142,98,26 H,268574,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,268642,8,900,4,16,1015675,70,5,1,1,,4,2,2,,60,0,2,130,1,300,1,,2,1300,1,1,1,9,,,,1,1,,16,3,100,1,1,79000,3,,,1,1,79000,0,3,3,3,1,1,3,5,0,0,3,23,0,0,1,0,0,1,1523,3,0,1,36,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,72,23,75,22,62,20,20,18,20,58,74,20,23,73,16,18,86,70,106,129,118,65,118,71,104,74,85,61,69,111,131,84,71,123,67,61,120,137,66,73,65,122,61,108,66,100,112,110,120,83,69,102,117,69,93,103,62,67,22,21,23,81,21,72,23,70,80,77,84,22,21,70,77,18,63,69,20,22,61 H,268648,8,300,4,16,1015675,72,3,1,2,1,5,2,2,,40,0,1000,90,1,500,1,,,,,3,1,9,,,,1,2,,16,3,2,5,1,111100,4,,,1,1,111100,0,4,4,4,1,7,0,3,0,0,0,4,0,0,0,2,1,1,372,,0,1,26,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,86,16,53,27,77,87,73,101,92,104,67,84,97,81,25,98,121,22,154,55,75,150,62,163,89,73,67,19,86,22,76,67,17,58,107,24,24,125,22,77,67,31,81,15,69,89,58,131,51,117,72,87,106,75,29,113,127,22,143,83,89,153,59,153,73,51,84,20,53,22,50,67,19,80,145,31,16,142,21 H,269302,8,800,4,16,1015675,56,1,1,1,,3,2,2,,30,0,970,3,4,330,1,,,,,3,1,5,,,,1,2,,15,1,400,9,,,,,,1,6,10900,0,4,4,4,1,7,0,,0,0,0,30,0,0,0,1,1,1,272,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,119,110,18,14,94,63,17,93,107,49,61,15,72,67,43,61,17,52,72,53,15,14,115,83,18,59,84,15,15,50,52,94,54,60,54,48,90,54,63,48,20,19,100,87,17,49,89,19,17,50,57,109,60,68,52,49,99,55,58,59,117,86,17,16,85,58,14,88,87,56,50,15,68,66,54,47,19,56,53,59 H,269575,8,500,4,16,1015675,103,3,1,1,,3,2,2,,60,0,2,20,1,350,1,,1,710,1,1,1,6,,,610,1,1,,16,2,310,5,1,62700,4,,,1,1,62700,0,4,4,4,1,4,0,3,0,0,0,27,0,0,0,0,0,1,1426,2,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,104,28,120,186,28,32,173,105,112,187,102,199,102,101,94,29,109,27,170,104,85,31,100,179,28,35,163,108,106,169,106,147,104,107,106,39,98,33,29,97,102,197,101,31,193,182,30,96,101,27,97,34,101,90,94,163,110,193,34,108,100,198,94,25,181,157,38,97,104,28,96,33,98,107,118,161,105,214,193 H,269689,8,200,4,16,1015675,99,1,1,,,1,6,,,80,0,2,3,3,,1,,,,,,1,3,2,330,,1,3,,,0,1,1,,,,410,37,1,4,13200,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,111,139,115,93,31,105,93,123,111,35,107,125,137,185,36,30,165,107,30,105,30,29,104,113,164,100,70,94,99,159,106,98,29,34,156,155,43,116,147,73,24,22,92,81,170,101,86,118,146,269,130,114,26,30,185,141,31,97,155,115,166,160,100,135,25,122,118,78,114,31,106,101,142,152,32,34,172,92,25,76 H,269714,8,900,4,16,1015675,122,3,1,1,,3,1,2,,1,0,2,1,3,,1,,,,,,1,4,,,,1,4,,,1,1,5,2,12000,1,,,2,1,12000,0,3,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,180,211,40,98,35,166,176,129,213,34,112,184,199,142,101,84,114,116,48,42,76,205,43,200,38,88,177,96,161,38,146,199,267,163,151,151,98,188,39,84,91,189,38,157,45,124,227,98,146,40,117,202,298,101,129,126,144,145,18,28,169,235,43,111,36,196,156,98,235,41,99,139,189,163,92,135,112,120,71,45 H,269855,8,100,4,16,1015675,24,2,1,3,1,2,2,2,,90,0,2,3,2,400,1,,2,700,2,1,1,7,,,,1,1,,23,1,2,4,1,36000,4,,,1,1,36000,0,4,4,4,1,5,0,2,0,0,0,33,0,0,0,0,0,1,990,3,0,0,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,25,22,8,47,28,22,44,25,27,41,22,22,26,39,7,7,6,7,19,43,22,22,7,41,26,24,38,23,23,39,26,21,22,46,7,9,7,7,24,7,29,21,42,9,22,24,7,23,24,8,24,26,23,7,38,41,37,36,25,7,20,26,40,9,27,22,7,22,23,7,21,22,22,8,40,38,41,37,20 H,270844,8,300,4,16,1015675,67,2,1,3,6,4,2,2,,140,0,2,3,6,600,1,,,,,3,1,8,,,,1,2,,16,3,2,7,2,28060,4,,,1,1,28060,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,2,2,1,395,,0,0,36,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,78,102,86,115,97,19,50,147,72,40,104,81,18,22,23,74,84,72,24,65,82,124,97,105,62,16,53,135,76,54,120,79,14,18,20,67,77,74,24,62,72,102,103,112,76,22,68,98,69,72,116,65,28,21,19,59,54,68,19,82,81,112,94,117,64,22,61,81,76,77,101,67,19,23,25,65,51,68,19 H,270942,8,800,4,16,1015675,69,3,1,1,,4,2,1,,60,0,2,100,1,400,1,,1,600,1,1,1,7,,,,1,1,,14,2,40,7,7,40000,2,,,1,3,40000,0,2,2,2,1,3,2,3,0,0,2,23,0,0,1,0,0,1,763,3,0,0,20,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,22,69,95,161,96,21,20,126,80,25,122,119,84,66,22,80,64,75,60,74,33,75,63,120,106,20,19,97,52,15,104,86,46,80,19,57,57,69,68,63,115,85,73,23,24,124,119,19,84,98,19,21,64,55,107,66,50,65,79,71,179,71,62,22,20,106,139,21,70,146,22,13,63,57,77,84,89,71,52 H,271096,8,600,4,16,1015675,92,4,1,1,,3,2,2,,80,0,2,110,1,0,1,,1,840,1,1,1,6,,,100,1,1,,17,2,60,8,1,60000,2,,,1,1,60000,0,2,2,2,1,5,2,4,0,0,2,23,0,0,1,0,0,1,1135,2,0,1,34,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,85,23,27,95,163,25,166,94,91,92,88,96,94,27,128,98,122,164,107,91,137,100,99,148,94,101,107,165,27,30,27,30,157,90,84,24,152,97,141,29,90,151,135,85,29,133,26,88,101,91,93,94,109,177,32,100,108,31,84,85,28,97,89,29,65,106,96,25,163,146,172,145,24,104,94,198,27,95,27 H,271486,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,271537,8,700,4,16,1015675,117,3,1,1,,5,3,2,,250,0,2,40,1,340,1,,2,970,2,1,1,7,,,310,2,1,,18,4,500,2,,,,,,1,7,96000,0,4,4,4,1,3,0,,0,1,0,22,0,0,0,0,0,1,1748,2,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,110,33,115,200,122,209,39,124,210,197,104,116,115,123,131,31,111,191,193,215,126,189,116,35,110,40,204,116,35,33,121,112,120,115,116,215,134,37,191,203,116,205,111,40,113,34,222,117,38,33,130,108,115,116,114,212,104,43,37,31,111,35,116,210,123,202,36,125,192,228,118,106,105,119,117,32,120,218,35 H,271655,8,800,4,16,1015675,150,1,1,1,,1,2,2,,1,0,2,1,1,,1,,,,,,1,2,,,,1,4,,,0,1,9,,,,,,1,4,18000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,35,159,157,127,310,144,280,192,169,265,116,49,239,186,45,124,212,53,142,37,49,158,135,134,252,193,327,149,156,225,127,34,313,245,40,168,154,60,167,226,275,124,172,182,40,124,48,148,145,42,119,257,43,55,281,136,154,207,172,260,327,119,157,177,36,121,46,200,126,54,155,291,56,46,265,165,192,208,187,57 H,271805,8,100,4,16,1015675,97,2,1,1,,3,2,2,,40,0,2,80,1,400,1,,1,1800,1,1,1,6,,,,1,1,,21,2,70,2,1,55000,4,,,1,1,55000,0,4,4,4,1,3,0,2,0,0,0,42,0,0,0,2,0,1,1926,3,0,1,48,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,115,96,157,133,79,87,177,88,99,176,156,159,189,86,177,92,179,103,29,88,98,88,25,30,103,86,26,111,110,22,33,31,27,96,28,108,29,89,29,88,93,100,27,31,98,88,30,91,97,25,26,29,33,97,29,104,27,97,150,100,93,104,169,167,101,79,158,107,91,188,158,144,153,98,179,88,178,96,146 H,271871,8,900,4,16,1015675,50,3,1,1,,5,2,2,,100,0,1100,100,2,620,1,,2,1000,2,1,1,9,,,,1,1,,18,3,350,3,1,74500,4,,,1,1,74500,0,4,4,4,1,4,0,3,0,0,0,25,0,0,0,0,0,1,1527,3,0,1,30,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,79,61,15,52,50,15,52,90,101,77,45,39,46,66,52,14,23,15,80,57,88,49,15,50,55,11,49,85,88,117,41,45,55,46,45,16,15,15,15,44,10,43,84,72,63,82,51,19,22,13,44,47,60,62,57,98,80,79,14,57,19,61,78,42,42,76,44,13,16,18,42,55,87,43,39,82,76,72,99 H,272032,8,800,4,16,1015675,71,2,1,1,,4,2,2,,60,0,770,3,4,1200,1,,,,,3,1,6,,,,1,2,,11,3,2,7,4,19200,4,,,1,1,19200,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,2,1,1,274,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,79,112,96,22,68,167,70,73,85,71,15,19,15,65,73,83,91,87,127,20,30,18,53,121,67,29,80,58,26,77,120,117,102,79,61,68,87,67,108,21,21,19,62,154,90,20,75,66,24,60,128,121,116,82,60,67,82,96,22,124,131,121,68,23,73,101,65,95,108,66,19,26,17,66,83,58,58,65,23 H,272182,8,600,4,16,1015675,306,2,1,,,2,5,,,1,0,2,1,1,,1,,,,,,1,4,2,1300,,1,3,,,1,1,3,4,43500,4,1300,36,1,1,43500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,536,311,274,491,514,553,533,329,557,329,596,281,282,298,290,503,479,303,90,301,96,340,285,84,90,93,99,324,105,325,92,317,313,300,274,76,89,317,87,293,89,293,278,88,89,96,84,298,90,318,91,317,339,329,321,101,110,354,492,304,497,291,288,515,460,495,480,285,545,307,517,317,277,320,309,524,514,319,522 H,272251,8,800,4,16,1015675,24,2,1,3,6,3,2,2,,180,0,2,3,3,800,1,,,,,3,1,7,,,,1,2,,14,3,2,8,1,35700,4,,,1,1,35700,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,1,1,479,,0,0,39,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,26,25,6,8,44,39,6,24,40,7,7,24,22,44,20,21,25,23,22,7,27,26,41,35,7,7,47,27,8,48,45,25,26,8,28,25,25,26,22,7,30,25,44,46,7,6,47,19,7,39,37,28,27,7,24,23,25,24,25,40,25,26,9,7,40,42,6,24,40,5,9,28,21,44,27,24,27,29,24 H,272357,8,800,4,16,1015675,76,2,1,2,1,4,2,2,,140,0,2,3,3,650,1,,,,,3,1,9,,,,1,2,,13,3,2,5,4,11200,4,,,1,1,11200,0,4,4,4,1,6,0,2,0,0,0,35,0,0,0,2,2,1,327,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,112,52,70,81,23,79,22,80,87,22,64,148,23,22,125,63,106,140,122,74,155,77,77,71,29,92,19,85,102,21,76,102,17,20,138,76,85,120,131,65,115,68,72,63,21,88,23,85,65,21,95,169,22,20,144,68,76,130,103,81,138,70,78,73,28,69,16,88,85,19,74,141,22,20,172,93,97,120,147 H,272412,8,200,4,16,1015675,226,0,1,,,2,7,,,,,,,,,1,,,,,,1,4,2,470,,,,1,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,447,200,195,431,237,336,227,245,179,66,171,87,214,211,77,211,419,87,111,431,305,262,325,275,215,418,152,205,324,101,358,74,233,223,73,251,269,61,56,311,328,233,259,358,216,437,247,200,205,76,263,67,261,242,60,254,379,86,66,376,466,218,191,419,264,332,215,216,210,73,202,70,217,219,79,214,356,72,74,285 H,272598,8,100,4,16,1015675,29,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,11,31,30,41,26,48,52,9,10,32,33,32,34,46,10,30,35,32,11,48,8,28,28,56,33,47,48,10,8,23,32,32,26,51,8,33,32,31,52,9,49,31,28,9,32,8,10,54,54,29,29,33,37,8,52,30,33,32,46,8,55,35,27,11,29,6,8,54,49,33,28,23,26,8,49,28,30,31,8 H,272682,8,300,4,16,1015675,99,1,1,1,,3,2,2,,20,0,2,10,1,320,1,,,,,3,1,5,,,,1,2,,16,2,480,7,,,,,,1,4,11000,0,4,4,4,1,7,0,,0,0,0,21,0,0,0,1,1,1,189,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,27,93,101,29,86,150,155,142,102,96,109,107,97,28,27,28,132,200,158,96,29,114,119,33,120,169,126,162,112,97,102,133,113,28,28,29,96,170,206,93,26,107,101,36,105,155,174,187,99,126,99,95,100,37,26,22,104,152,133,97,31,110,86,28,100,170,163,182,91,97,92,93,114,34,27,32,108,181,194 H,273216,8,100,4,16,1015675,42,2,1,3,1,0,2,2,,20,0,300,3,6,320,2,,1,210,2,1,2,1,,,,1,1,,14,1,2,3,4,7300,4,,,1,1,7300,0,4,4,4,1,4,0,2,0,0,0,43,0,0,0,0,0,2,263,3,0,0,4,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,64,37,87,53,37,61,19,38,16,41,47,13,39,62,12,12,71,44,60,37,63,31,75,57,35,42,14,43,12,37,51,17,41,65,12,11,76,54,69,45,74,52,73,38,47,33,10,45,14,39,51,14,35,62,14,15,61,38,58,47,84,48,73,41,44,37,14,48,14,48,42,12,42,68,18,13,70,50,88 H,273242,8,800,4,16,1015675,66,2,1,2,1,4,2,2,,170,0,2,3,3,200,1,,,,,3,1,8,,,,1,2,,15,1,2,5,8,87100,4,,,1,3,87100,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,1,1,1,212,,0,1,8,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,74,94,163,121,58,27,59,95,73,58,140,75,15,21,20,62,76,67,20,67,86,97,94,110,62,17,71,102,59,78,106,68,20,19,24,52,68,70,24,70,61,129,109,109,83,17,52,114,72,64,85,85,20,13,24,70,70,64,25,45,49,103,147,137,75,31,66,121,69,58,107,61,22,25,25,50,56,81,22 H,273250,8,600,4,16,1015675,101,4,1,1,,3,2,1,,110,0,2,20,1,,1,,,,,,1,7,2,750,,1,3,,,1,480,6,7,20400,2,920,54,1,3,20400,0,2,2,2,1,1,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,27,32,179,27,104,100,146,196,151,108,99,30,179,103,32,95,96,95,168,180,102,92,103,100,31,157,90,109,102,30,153,103,111,33,121,29,28,154,98,101,149,166,29,151,96,104,28,32,30,91,96,182,31,116,195,90,96,109,31,33,93,101,101,93,174,28,90,100,103,180,27,95,110,197,98,180,165,28,92 H,273263,8,600,4,16,1015675,132,1,1,,,2,7,,,1,160,1,1,3,,1,,,,,,1,3,2,30,,2,3,,,0,2,4,,,,30,,1,4,0,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,126,41,131,35,201,242,137,136,134,35,141,224,119,212,246,41,134,43,127,146,144,41,123,40,223,202,122,133,128,41,138,226,114,219,222,38,133,41,122,112,120,219,141,215,43,39,129,132,128,245,133,41,142,41,37,222,147,213,134,135,131,197,147,215,37,40,129,134,136,223,120,39,140,40,40,225,127,213,144,136 H,273308,8,600,4,16,1015675,130,1,1,1,,3,2,2,,30,0,2,30,1,500,1,,1,900,1,1,1,4,,,250,1,1,,18,1,400,3,,,,,,1,4,50000,0,4,4,4,1,4,0,,0,0,0,30,0,0,0,0,0,1,1243,2,0,1,42,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,37,239,132,128,146,210,117,39,120,217,217,126,116,208,40,120,42,39,120,124,36,230,133,133,140,229,130,38,146,217,201,141,134,229,43,120,31,40,129,118,223,40,151,131,128,39,131,197,131,36,37,110,127,44,257,117,201,221,133,125,211,45,129,148,144,31,134,207,139,37,35,117,114,41,208,131,214,231,118 H,273495,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,273610,8,400,4,16,1015675,82,2,1,1,,2,1,2,,230,0,2,3,3,,1,,,,,,1,4,2,400,,2,3,,,1,1,5,,,,630,38,1,5,20000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,130,95,103,98,77,62,23,43,32,99,138,49,14,97,120,29,62,141,109,107,126,49,54,82,70,114,19,20,32,108,201,82,27,74,57,28,101,149,43,19,19,113,72,64,117,145,150,105,127,49,21,68,133,64,90,203,87,31,19,13,23,82,114,54,72,113,104,154,184,97,24,62,157,75,67,99,105,27,185 H,273776,8,900,4,16,1015675,52,1,1,1,,4,2,2,,50,0,2,200,1,0,1,,,,,3,1,7,,,,1,2,,7,3,430,9,,,,,,1,4,50100,0,4,4,4,1,5,0,,0,0,0,8,0,0,0,1,1,2,348,,0,1,16,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,40,84,58,68,92,45,15,19,22,45,36,37,44,77,85,73,106,49,85,84,53,13,47,50,17,43,80,84,87,59,57,67,58,46,15,19,18,46,23,13,43,91,53,75,97,51,18,23,24,45,33,34,65,72,81,70,73,47,89,102,60,15,44,36,15,66,95,73,85,81,48,50,66,42,14,17,13,43,22 H,274089,8,700,4,16,1015675,97,4,1,1,,3,2,2,,120,0,2,20,1,500,1,,1,530,1,1,1,6,,,,1,1,,20,2,600,1,2,45000,1,,,1,1,45000,0,1,1,1,1,1,2,4,0,0,2,19,0,0,1,0,0,1,720,3,0,1,41,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,100,97,97,102,102,29,29,26,109,165,87,28,96,94,31,98,165,151,176,162,108,97,100,99,105,31,25,28,100,166,101,26,89,97,31,103,166,144,152,28,92,90,101,97,93,163,189,158,108,28,92,176,105,99,178,94,32,29,29,34,101,109,96,107,93,155,156,156,88,24,98,157,97,100,142,93,33,33,24,184 H,274460,8,200,4,16,1015675,36,0,1,1,,3,1,2,,,,,,,,2,,,,,,2,5,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,37,12,37,66,40,60,13,30,64,56,40,31,50,51,28,11,41,54,57,75,28,53,36,11,41,9,52,33,13,13,35,35,33,36,37,71,37,11,8,9,37,11,31,67,37,60,12,45,84,74,41,29,43,52,30,11,35,50,61,66,33,38,33,9,43,12,45,36,13,14,43,32,32,41,42,57,37,11,9 H,274495,8,300,4,16,1015675,94,6,1,2,1,3,2,2,,120,0,2,140,1,250,1,,1,1100,1,1,1,5,,,,1,1,,18,2,2,2,2,80000,3,,,1,1,80000,0,3,3,3,1,2,4,6,0,0,4,20,0,0,1,0,0,1,1360,3,0,1,34,1,3,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,29,113,180,129,153,83,85,75,106,87,42,21,42,113,119,115,32,118,27,96,164,75,40,34,21,135,84,77,96,92,127,115,146,158,30,89,116,71,111,89,30,80,110,141,183,94,95,135,81,100,34,38,32,81,222,100,39,127,31,92,208,109,16,30,37,105,114,102,98,122,94,154,148,60,34,84,148,91,197 H,274569,8,900,4,16,1015675,69,2,1,1,,5,2,2,,80,0,2,80,3,1200,1,,,,,3,1,9,,,,1,2,,18,3,500,6,4,17600,4,,,1,1,17600,0,4,4,4,1,7,0,2,0,0,0,29,0,0,0,2,0,1,427,,0,1,27,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,118,20,18,97,60,23,133,108,64,71,20,60,70,75,71,20,78,83,68,20,20,123,133,19,58,113,23,22,59,70,124,63,73,73,66,109,85,80,80,22,22,112,113,19,72,124,22,20,69,64,117,68,83,74,73,99,58,75,60,125,102,22,27,116,63,19,113,145,69,67,20,71,75,69,57,18,72,65,83 H,274755,8,800,4,16,1015675,47,2,1,1,,5,2,2,,80,0,2,3,3,1200,1,,,,,3,1,9,,,,1,2,,17,3,600,7,2,90000,4,,,1,1,90000,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,1,0,2,347,,0,1,26,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,48,38,46,50,10,49,47,80,84,17,12,86,48,14,69,62,66,51,42,73,47,57,51,56,79,57,41,13,19,82,70,11,46,82,15,14,39,52,54,74,41,42,50,40,67,51,49,12,12,90,98,17,44,70,13,12,50,45,33,15,61,51,44,59,18,44,36,81,73,12,17,82,46,12,96,93,45,50,46 H,275018,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,275109,8,200,4,16,1015675,57,2,1,1,,4,2,2,,100,0,1600,3,4,730,1,,2,250,2,1,1,8,,,,1,1,,19,2,720,6,1,49900,4,,,1,1,49900,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,2,2,2,696,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,79,78,18,21,120,58,12,96,104,52,47,19,53,55,68,62,20,54,46,55,85,94,14,18,112,54,15,86,89,49,61,20,45,50,62,53,17,62,47,71,72,70,15,17,119,64,15,98,83,51,60,19,60,60,58,55,17,52,49,44,93,85,14,21,92,52,13,87,92,59,60,15,53,46,50,65,20,66,54,61 H,275138,8,600,4,16,1015675,122,2,1,1,,3,2,2,,50,0,2,30,1,640,1,,,,,3,1,6,,,,2,2,,18,1,700,3,5,69500,4,,,1,2,69500,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,0,0,1,733,,0,1,64,2,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,124,35,204,135,127,193,121,135,205,123,120,119,209,36,35,34,35,205,209,189,33,125,128,32,35,127,201,193,126,37,207,41,125,114,120,120,114,124,113,119,128,33,205,128,120,200,118,111,221,113,115,121,205,38,41,34,33,200,211,215,34,131,122,36,35,122,195,183,119,35,201,33,112,130,112,123,130,131,109 H,275294,8,100,4,16,1015675,255,2,1,3,1,3,2,2,,190,0,2,100,3,800,1,,,,,3,1,5,,,,1,2,,22,3,300,3,2,58000,4,,,1,1,58000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,1,0,2,615,,0,0,40,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,254,260,93,75,73,240,441,238,77,243,213,65,232,416,439,507,250,243,493,240,277,255,80,60,88,269,419,255,76,278,248,80,251,477,403,391,276,209,491,296,282,266,74,90,72,246,444,219,80,270,221,62,264,475,406,405,261,283,324,239,255,283,70,82,99,272,456,248,79,246,247,75,231,480,383,349,248,218,395 H,275380,8,100,4,16,1015675,51,2,1,1,,4,2,2,,20,0,2,40,1,400,1,,1,710,1,1,1,9,,,,1,1,,19,1,480,6,2,65000,4,,,1,1,65000,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,2,2,810,3,0,1,27,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,48,46,53,48,14,19,16,64,79,57,24,52,59,17,53,94,96,113,16,44,47,65,46,42,80,89,80,48,16,54,106,49,37,76,46,16,15,16,10,52,60,51,53,52,69,91,92,51,17,74,97,49,50,86,66,13,17,18,82,56,45,42,51,56,15,15,17,54,82,45,14,53,44,15,52,67,83,93,73 H,275404,8,500,4,16,1015675,177,5,1,1,,4,2,2,,120,0,2,3,3,300,1,,1,870,1,1,1,5,,,80,1,1,,14,3,60,4,5,37400,2,,,1,2,67400,0,3,4,2,1,3,0,2,0,1,1,19,2,0,1,0,0,1,1075,2,0,1,24,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,327,43,194,214,67,163,162,54,186,172,179,58,316,269,292,295,50,169,188,170,289,45,185,174,64,207,156,46,205,226,163,52,298,238,277,277,46,182,159,184,45,302,150,155,291,168,174,327,194,153,186,305,54,56,51,53,311,168,157,167,58,308,198,187,272,190,195,281,182,163,191,314,59,47,53,62,333,145,168,178 H,275574,8,100,4,16,1015675,118,0,1,3,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,122,181,119,108,194,34,122,117,181,110,151,36,131,137,216,32,30,115,107,134,33,109,210,232,116,122,183,28,117,46,37,111,36,193,99,113,113,200,35,194,112,36,127,122,36,165,133,152,30,101,99,178,141,139,39,193,216,117,132,109,170,125,35,36,112,130,34,166,137,222,177,108,193,36,117,116,103,37,188 H,275877,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,275879,8,900,4,16,1015675,101,2,1,1,,2,2,2,,70,0,2,100,1,330,1,,,,,3,1,5,,,,1,2,,13,3,2,6,2,25900,4,,,1,1,25900,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,1,281,,0,1,22,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,32,33,163,33,89,97,164,144,165,97,88,34,175,102,28,99,122,111,28,30,89,88,85,84,157,37,109,84,104,184,31,122,98,155,97,158,161,39,104,118,25,30,153,28,100,84,156,131,184,120,102,28,184,98,27,93,90,103,31,29,92,115,91,113,185,30,124,116,124,148,36,116,107,176,103,143,152,32,114 H,276006,8,800,4,16,1015675,91,5,1,3,1,4,2,2,,80,0,2,120,2,,1,,,,,,1,8,,,,1,4,,,3,2,8,1,42800,2,,,2,1,42800,0,2,2,2,1,5,3,5,0,0,3,,0,0,1,0,0,1,,,0,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,143,83,118,22,71,99,102,112,31,81,98,133,138,32,28,141,101,28,109,34,22,73,136,132,72,94,97,106,182,85,102,27,21,152,167,29,79,120,76,125,141,97,72,20,86,114,87,96,32,91,76,140,208,28,29,139,79,29,104,22,22,124,105,113,75,111,113,89,262,127,86,25,31,159,146,28,64,155,90 H,276720,8,400,4,16,1015675,86,2,1,1,,3,2,2,,40,0,2,3,8,480,1,,1,960,2,1,1,6,,,,1,1,,18,4,790,6,5,51600,2,,,1,2,51600,0,2,2,2,1,6,1,2,0,0,1,26,0,0,1,0,0,2,1098,3,0,1,9,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,85,151,84,25,152,138,26,79,76,22,97,25,88,97,86,142,101,156,78,129,102,33,78,145,29,25,126,79,66,156,98,133,89,88,113,30,73,28,79,139,67,25,74,149,33,27,135,68,81,160,94,152,94,99,81,30,81,34,93,24,80,137,67,25,157,151,27,74,82,24,85,32,80,83,118,136,83,177,87,24 H,276744,8,300,4,16,1015675,129,3,1,1,,3,2,2,,40,0,2,40,1,500,1,,,,,3,1,6,,,,1,2,,14,2,490,6,1,157600,4,,,1,1,157600,0,4,4,4,1,7,0,3,0,0,0,2,0,0,0,2,0,2,246,,0,1,22,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,229,143,127,43,196,40,44,111,150,196,219,35,123,153,120,43,138,128,128,39,111,235,49,133,126,123,120,191,239,123,137,132,193,35,243,145,34,32,46,124,43,127,134,228,41,206,186,130,126,34,39,197,120,134,134,235,121,123,164,188,122,45,244,164,119,114,115,44,49,112,128,115,39,240,37,113,205,226,214 H,276857,8,300,4,16,1015675,0,1,3,,,,,,,,300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,277164,8,900,4,16,1015675,45,3,1,2,2,4,1,2,,100,0,1000,3,6,1800,1,0,1,450,1,1,1,8,,,570,1,1,,16,4,2,5,2,59100,4,,,1,1,59100,0,4,4,4,1,5,0,3,0,0,0,24,0,0,0,1,0,2,1203,2,0,0,18,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,70,41,46,44,39,59,34,48,12,14,70,57,13,58,84,13,16,43,41,57,15,51,31,53,61,13,47,41,77,76,14,13,58,38,13,91,64,50,51,49,71,45,38,35,49,64,48,63,10,10,79,55,16,59,71,14,14,54,45,44,13,47,42,50,44,13,40,47,67,70,14,12,85,40,12,61,63,53,35 H,277281,8,100,4,16,1015675,31,1,1,1,,3,1,2,,50,0,500,70,2,100,1,700,2,800,2,1,1,5,,,,1,1,,15,2,90,3,,,,,,1,4,55750,0,4,4,4,1,3,0,,0,0,0,24,0,0,0,0,0,1,1094,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,11,8,42,28,32,38,7,29,8,35,9,10,12,9,34,36,10,10,33,59,44,33,52,55,47,74,31,46,31,49,29,36,29,31,46,37,37,27,50,40,10,9,30,29,36,34,8,25,10,37,8,9,12,12,32,32,8,10,36,67,30,33,49,53,47,51,25,60,32,42,35,23,31,27,53,65,26,34,50,32 H,277415,8,100,4,16,1015675,224,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,70,256,76,366,207,244,189,379,240,81,264,355,298,223,250,360,86,261,285,367,350,170,270,59,209,205,248,79,222,374,228,68,57,257,271,58,358,243,212,97,81,249,70,361,204,218,273,388,189,78,214,365,360,237,203,352,83,214,208,371,343,249,328,66,263,232,234,59,200,327,238,82,65,192,190,77,344,224,220 H,277842,8,900,4,16,1015675,122,1,1,1,,2,2,2,,150,0,2,3,3,500,1,,2,440,1,1,1,5,,,,1,1,,11,2,2,8,,,,,,1,4,1330,0,4,4,4,1,1,0,,0,0,0,101,0,0,0,1,0,2,632,3,0,1,11,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,122,134,36,105,105,189,220,29,42,174,105,40,162,159,125,140,36,121,93,126,121,133,160,98,128,41,47,207,243,37,129,203,33,45,146,128,197,117,122,117,102,115,176,112,105,27,35,158,207,40,128,208,47,39,131,138,203,135,130,139,110,154,40,120,101,199,245,31,35,201,121,34,170,178,134,125,33,134,117 H,277927,8,300,4,16,1015675,65,1,1,1,,3,1,2,,140,0,2,3,3,390,1,0,,,,3,1,5,,,,1,2,,1,3,200,5,,,,,,1,4,108500,0,4,4,4,1,6,0,,0,0,0,2,0,0,0,1,1,1,219,,0,0,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,53,69,78,62,107,110,117,72,16,54,95,59,61,94,61,22,23,19,60,18,67,64,72,70,105,112,130,77,20,64,112,86,63,102,58,16,19,18,80,16,65,72,90,68,102,98,110,66,20,62,108,75,68,104,53,21,21,20,88,20,63,68,78,72,98,113,103,68,16,51,114,67,62,101,53,18,21,19,71,16 H,277962,8,100,4,16,1015675,149,1,1,2,1,3,1,2,,170,0,2,2,1,180,1,0,,,,3,1,5,,,,1,2,,14,1,200,5,,,,,,1,6,36000,0,4,4,4,1,3,0,,0,0,0,7,0,0,0,1,1,2,215,,0,0,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,146,242,152,170,232,157,47,47,50,163,153,134,153,160,231,276,255,154,42,41,139,215,150,142,275,180,43,37,45,138,135,160,131,172,229,238,239,131,54,43,163,228,163,145,233,142,42,47,43,143,155,142,122,146,243,227,227,139,47,47,156,251,144,156,248,135,46,42,46,144,139,162,156,156,261,254,251,152,44 H,278148,8,700,4,16,1015675,119,3,1,1,,3,2,2,,50,0,2,50,1,380,1,,2,720,2,1,1,7,,,300,1,1,,18,3,1400,3,7,60000,2,,,1,3,100000,0,2,2,2,1,5,1,2,0,1,1,16,3,0,1,0,0,2,1352,2,0,1,22,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,116,33,114,115,205,35,208,215,120,124,33,30,196,113,126,129,189,111,113,193,127,214,113,114,35,188,40,34,114,120,200,199,33,119,113,116,37,138,126,195,119,197,125,109,38,192,32,36,117,132,200,217,32,115,117,115,37,109,145,35,107,33,123,114,218,37,198,195,124,113,39,34,183,107,117,117,185,122,129,34 H,278201,8,600,4,16,1015675,106,2,1,1,,3,2,2,,40,0,2,130,1,350,1,,,,,3,1,6,,,,1,2,,15,1,180,6,4,26300,4,,,1,1,26300,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,2,1,329,,0,1,25,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,196,105,27,172,161,30,115,106,36,105,37,95,104,110,166,99,160,104,179,117,35,106,184,32,34,187,108,110,208,113,185,101,105,104,28,100,30,98,170,97,31,105,152,29,30,200,102,105,185,109,182,116,114,111,31,113,40,127,30,104,162,98,28,171,162,30,98,105,31,113,29,111,92,103,184,103,179,112,28 H,278231,8,800,4,16,1015675,51,2,1,1,,2,2,2,,2,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,1,2,2,5,13200,4,,,2,2,13200,0,4,4,4,2,4,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,87,81,53,60,17,59,57,62,70,19,49,61,91,65,12,13,64,46,15,48,15,19,46,60,99,64,39,45,57,85,54,50,15,13,96,88,17,64,68,45,19,16,56,72,71,50,51,44,66,104,43,41,18,15,70,73,17,52,82,54,78,106,58,47,11,52,52,37,53,21,42,50,91,92,19,15,80,60,15,38 H,278331,8,300,4,16,1015675,163,3,1,3,6,5,2,2,,70,0,740,3,5,450,1,,,,,3,1,9,,,,1,2,,14,3,2,9,1,44000,4,,,2,1,44000,0,4,4,4,1,7,0,3,0,0,0,8,0,0,0,1,1,1,290,,0,0,26,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,301,130,47,198,184,217,61,149,39,219,175,244,152,150,169,312,294,48,191,176,145,198,207,364,220,45,266,62,162,109,32,136,44,254,249,176,221,210,76,292,54,159,278,195,256,227,206,111,390,69,162,49,150,163,161,51,40,209,145,205,127,61,155,42,56,210,161,272,159,222,264,170,239,50,72,199,166,154,205,43 H,278648,8,700,4,16,1015675,132,3,1,1,,3,2,2,,30,0,2,120,1,,1,,,,,,1,6,2,850,,1,3,,,2,410,2,4,83100,4,1034,15,1,1,83100,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,2,2,1,,,1,0,,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,132,139,40,123,113,229,41,212,230,149,127,40,39,217,155,138,140,233,232,142,124,144,207,136,135,40,197,39,38,120,132,238,244,44,122,142,153,42,230,138,147,136,231,141,128,39,224,40,40,135,126,254,207,37,140,134,149,35,40,127,136,141,40,138,124,224,39,203,226,130,128,38,39,214,130,148,158,215,38 H,278954,8,500,4,16,1015675,103,2,1,1,,3,2,2,,60,0,1000,3,4,550,1,,2,330,2,1,1,8,,,,1,1,,12,3,2,9,5,53400,4,,,1,2,53400,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,1,1,1,582,3,0,1,17,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,34,181,121,99,102,159,88,29,119,193,179,103,120,146,30,81,30,36,99,102,202,34,94,88,108,33,94,175,111,32,31,103,114,32,169,99,163,160,110,101,169,32,111,108,108,32,96,187,99,29,30,95,102,38,190,94,187,173,115,99,35,196,91,104,86,173,94,31,83,169,150,96,96,172,31,103,33,29,86 H,278968,8,600,4,16,1015675,121,2,1,1,,3,2,2,,140,0,2,120,1,500,1,,,,,3,1,6,,,,1,2,,16,1,600,3,5,50000,1,,,1,2,50000,0,1,1,1,1,1,1,2,0,0,1,14,0,0,1,0,0,1,569,,0,1,38,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,210,110,111,38,192,123,128,190,107,132,214,122,125,107,204,37,37,40,205,128,111,210,32,120,124,35,35,117,206,196,109,32,210,44,109,119,122,120,107,31,199,122,126,40,218,116,113,193,130,115,202,125,120,114,223,34,33,35,214,129,117,218,40,113,114,33,33,108,208,217,117,34,203,37,108,130,118,109,113 H,279058,8,800,4,16,1015675,32,6,1,1,,4,2,2,,90,0,2,3,6,280,1,,1,560,1,1,1,6,,,100,1,1,,12,2,420,5,2,46000,2,,,1,1,46000,1,2,2,2,1,5,2,6,0,0,4,20,0,0,1,0,0,2,785,2,0,1,14,3,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,49,33,33,30,12,35,12,33,26,12,32,38,6,8,59,26,30,56,49,27,56,37,27,34,9,25,10,24,24,10,47,56,8,10,55,24,34,55,57,33,58,32,25,23,12,30,8,31,33,9,34,47,10,12,50,27,36,55,53,32,40,29,31,35,12,33,11,33,23,8,35,43,8,10,56,26,29,64,56 H,279255,8,400,4,16,1015675,62,2,1,1,,2,1,2,,80,0,270,3,6,0,1,2900,,,,3,1,5,,,,1,2,,1,1,1,5,3,13000,4,,,1,1,13000,0,4,4,4,1,4,0,2,0,0,0,32,0,0,0,0,0,2,345,,0,0,1,1,3,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,19,22,53,57,82,69,67,75,66,114,66,69,20,19,107,94,15,61,63,101,19,25,64,51,85,60,60,67,58,97,71,59,24,18,83,90,14,58,58,16,125,108,59,74,20,54,54,76,53,19,68,56,92,105,16,17,118,61,57,19,106,123,60,62,16,69,62,47,65,19,62,59,127,92,15,17,94,73,61 H,279456,8,100,4,16,1015675,107,2,1,2,1,5,2,1,,60,0,2,120,1,1000,1,,2,1100,2,1,1,9,,,250,1,1,,22,3,40,3,,,,,,1,5,89500,0,4,4,4,1,5,0,,0,1,0,31,1,0,0,2,2,1,2283,2,0,0,66,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,34,117,113,121,172,36,115,94,165,125,161,149,31,29,98,103,110,112,162,212,159,120,109,106,30,194,110,93,32,106,34,34,175,155,100,93,114,115,34,35,37,117,106,88,180,32,99,108,159,107,197,170,27,33,126,102,114,113,192,142,190,102,123,91,32,207,115,108,31,122,36,34,188,143,96,101,90,90,32,28 H,279922,8,800,4,16,1015675,86,2,1,1,,3,1,2,,30,0,2,30,1,300,1,300,1,600,2,1,1,6,,,,1,1,,8,2,30,5,8,8200,4,,,1,3,8200,0,4,4,4,1,5,0,2,0,0,0,101,0,0,0,0,0,1,713,3,0,0,8,2,14,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,24,99,114,59,79,34,67,24,108,27,28,22,27,95,73,24,27,88,97,102,96,139,138,184,148,74,162,79,129,94,68,88,107,167,155,66,87,151,88,22,27,109,69,81,96,24,71,24,95,22,24,22,26,81,85,30,29,94,148,99,98,119,112,166,129,80,176,82,147,83,93,110,83,120,146,92,82,136,81 H,279971,8,500,4,16,1015675,70,6,1,1,,4,2,2,,70,0,2,170,1,300,1,,1,950,1,1,1,7,,,,1,1,,18,2,40,2,2,102000,4,,,2,1,103000,0,2,4,4,1,1,0,2,0,1,0,14,0,0,1,0,0,1,1193,3,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,78,20,72,73,20,76,122,128,111,71,65,64,67,73,23,25,20,62,110,22,81,112,61,67,124,69,21,23,24,69,72,76,73,70,106,123,118,72,20,117,73,24,68,70,17,76,113,126,119,73,64,72,61,67,18,23,22,73,133,20,73,105,70,79,110,67,23,18,23,69,71,90,79,70,133,119,116,74,22,139 H,280436,8,900,4,16,1015675,109,2,1,2,1,4,2,2,,80,0,2,3,3,450,1,,,,,3,1,9,,,,1,2,,15,2,2,5,2,62150,4,,,2,1,62150,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,1,0,1,232,,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,131,124,108,100,30,106,95,183,174,26,31,229,115,29,174,183,133,114,83,38,126,113,160,124,25,125,112,163,193,28,33,188,90,38,204,165,114,100,94,29,128,137,106,85,24,138,141,141,155,38,31,163,108,39,161,177,134,99,145,33,109,101,110,124,36,118,105,200,176,30,38,171,129,42,183,189,87,98,137 H,280703,8,100,4,16,1015675,88,3,1,2,1,4,2,2,,80,0,2,60,1,490,1,,1,1800,1,1,1,9,,,110,1,1,,21,2,60,2,1,126500,2,,,1,1,126500,0,2,2,2,1,3,1,3,0,0,1,19,0,0,1,0,0,1,2055,2,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,96,98,30,88,149,96,177,182,24,77,30,78,83,27,85,22,155,174,92,91,100,94,165,82,25,71,24,21,137,88,125,98,92,159,86,123,32,24,90,96,89,86,146,74,27,75,27,28,175,76,163,86,86,135,89,140,25,29,109,87,81,76,24,84,137,87,142,135,34,104,28,109,88,23,88,30,141,146,79 H,280935,8,100,4,16,1015675,88,4,1,2,1,3,1,2,,120,0,2,3,6,500,1,300,,,,3,1,6,,,,1,2,,11,3,2,4,1,40500,2,,,1,1,40500,0,2,2,2,1,5,2,4,0,0,2,6,0,0,1,0,0,2,187,,0,0,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,73,110,29,86,87,71,100,32,65,121,153,113,21,32,170,106,29,132,116,99,91,75,126,75,86,89,96,183,51,93,38,25,145,144,35,93,170,27,25,65,104,67,116,80,89,84,85,196,84,92,27,27,146,174,32,77,133,27,28,111,80,88,26,78,80,109,74,23,143,107,134,119,27,46,125,85,24,151,145,92 H,281080,8,900,4,16,1015675,113,2,1,1,,3,1,2,,220,0,2,3,3,240,1,50,,,,3,1,5,,,,1,2,,2,2,840,3,3,21000,4,,,1,1,21000,0,4,4,4,1,2,0,2,0,0,0,19,0,0,0,2,2,1,327,,0,0,5,1,7,7,1,0,0,0,0,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,125,129,105,142,43,98,34,113,37,28,33,36,123,110,31,28,108,29,33,177,169,168,200,176,96,218,144,213,125,141,117,84,191,176,102,111,165,123,145,137,79,81,101,103,41,129,29,109,38,35,35,44,124,118,49,38,109,37,28,245,207,204,184,149,110,155,104,199,79,102,129,121,188,168,118,125,198,116,108,117 H,281391,8,100,4,16,1015675,79,4,1,1,,5,2,2,,60,0,300,20,6,300,1,,,,,3,1,9,,,,1,2,,17,4,360,6,1,70820,2,,,1,1,70820,0,2,2,2,1,5,2,4,0,0,2,5,0,0,1,0,0,1,266,,0,1,24,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,161,86,121,117,77,135,22,93,94,78,20,79,142,79,22,25,82,72,71,153,23,82,22,22,80,25,171,93,87,76,133,82,34,76,123,143,85,84,81,131,26,72,24,22,88,25,130,104,82,69,115,93,23,73,172,147,81,78,96,19,124,75,156,140,76,141,25,93,89,81,24,94,137,76,26,23,78,71,71 H,281423,8,100,4,16,1015675,138,2,1,1,,4,2,2,,50,0,2,10,1,400,1,,1,610,1,1,1,8,,,,1,1,,15,4,580,5,1,27100,4,,,1,1,27100,0,4,4,4,1,5,0,2,0,0,0,32,0,0,0,0,0,1,718,3,0,1,25,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,257,133,168,126,241,142,326,51,144,41,143,129,144,37,45,201,129,39,113,37,143,41,45,208,133,251,139,136,220,134,209,37,39,148,129,132,263,123,39,139,41,120,165,130,34,122,42,219,158,196,167,160,120,192,222,44,126,213,145,239,124,257,224,42,138,37,130,117,51,156,46,309,237,145,134,159,39,133,207 H,281774,8,200,4,16,1015675,89,1,1,1,,1,2,2,,290,0,2,3,3,,1,,,,,,1,4,2,200,,1,3,,,1,2,8,,,,490,27,1,6,22000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,160,98,84,74,28,28,105,30,138,28,169,75,142,188,85,78,114,86,79,33,81,119,22,36,89,66,144,75,99,120,71,130,83,70,34,34,119,206,144,77,32,88,107,89,103,133,96,149,23,129,33,105,27,31,82,80,129,81,61,177,90,27,126,164,113,98,33,99,94,100,81,25,70,73,196,159,22,33,32 H,282606,8,600,4,16,1015675,83,1,1,1,,3,2,2,,40,0,220,3,6,300,1,,2,1000,2,1,1,5,,,,1,1,,15,2,660,4,,,,,,1,4,60000,0,4,4,4,1,4,0,,0,0,0,24,0,0,0,0,0,2,1221,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,23,150,144,82,83,77,25,86,148,81,134,141,27,90,25,78,79,22,85,83,139,24,23,88,79,84,126,83,26,83,27,25,148,83,142,88,88,148,85,82,147,23,24,87,91,84,139,81,23,80,26,22,143,84,137,92,83,161,84,76,23,135,141,85,85,89,23,85,146,89,143,145,23,91,24,73,82,24,91 H,282885,8,100,4,16,1015675,100,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,111,32,109,106,168,86,157,85,161,96,107,27,88,88,27,157,202,34,29,93,30,96,174,28,88,40,116,170,84,148,29,106,183,191,101,104,98,97,97,31,93,32,111,101,190,85,163,90,177,117,95,28,89,94,36,152,158,29,26,120,30,93,128,29,116,28,112,157,96,207,28,108,141,162,93,107,117,98,109 H,283019,8,700,4,16,1015675,112,5,1,2,1,5,2,2,,90,0,2,270,1,1300,1,,2,2200,2,1,1,9,,,500,1,1,,23,2,200,3,2,90410,2,,,1,1,90410,0,2,2,2,1,4,3,5,0,0,3,49,0,0,1,0,0,1,3668,2,0,1,63,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,190,119,120,108,33,33,101,32,195,30,192,119,196,192,108,115,120,113,103,36,109,179,33,33,118,116,183,119,115,115,111,200,115,105,31,33,201,190,32,119,209,110,120,109,33,30,108,35,201,31,200,110,191,172,106,123,117,124,101,34,98,192,30,36,113,112,198,113,110,109,122,201,109,111,30,35,189,193,30 H,283095,8,300,4,16,1015675,44,4,1,1,,1,1,2,,130,0,500,200,1,0,1,600,,,,3,1,3,,,,1,2,,1,1,2,4,2,19200,1,,,2,1,19200,0,1,1,1,2,4,2,4,0,0,2,27,0,0,1,0,0,2,437,,0,0,5,1,7,3,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,32,64,35,11,17,15,39,97,51,9,52,42,18,61,53,102,67,52,61,13,40,40,53,96,67,76,38,13,58,88,51,61,78,31,13,10,15,49,37,56,40,34,82,20,15,9,46,92,37,22,51,62,18,33,70,49,60,34,34,12,50,52,46,77,72,79,53,26,56,59,49,32,66,59,13,17,13,39,60,74 H,283189,8,200,4,16,1015675,86,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,28,76,144,96,32,75,80,24,98,134,124,145,83,85,97,71,92,26,20,164,126,84,33,93,141,90,92,160,84,27,27,21,84,103,79,88,84,141,25,168,159,109,29,96,144,102,100,144,90,24,28,23,83,91,80,95,66,126,150,22,22,73,162,79,29,71,63,24,78,160,125,153,92,90,90,87,124,21,192 H,283612,8,600,4,16,1015675,337,1,1,,,1,8,,,30,0,2,3,9,,1,,,,,,1,2,2,400,,1,3,,,0,1,9,,,,430,46,1,4,11200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,543,332,88,567,106,340,346,330,355,307,366,631,99,357,326,97,109,326,588,348,380,104,326,341,361,106,564,579,575,560,100,301,297,597,106,343,351,91,320,533,490,324,106,613,101,327,357,308,355,340,330,602,100,366,378,121,94,320,600,354,380,99,351,370,316,98,531,545,539,547,107,315,287,608,109,303,369,93,327,540 H,283800,8,200,4,16,1015675,26,2,1,1,,2,2,2,,180,0,2,3,3,500,1,,1,600,2,1,1,7,,,600,1,1,,13,2,720,5,1,32900,4,,,1,1,32900,0,4,4,4,1,6,0,2,0,0,0,56,0,0,0,1,1,2,1540,4,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,31,44,24,29,7,31,51,39,22,23,25,21,29,11,25,48,7,25,37,43,22,7,20,9,56,27,7,8,22,23,27,30,25,38,19,6,38,21,9,9,31,38,31,40,7,33,45,41,18,20,17,20,26,6,29,44,7,23,43,47,29,9,25,7,51,24,7,10,20,22,27,29,26,44,26,7,35,20,6 H,284021,8,900,4,16,1015675,87,3,1,1,,3,2,2,,60,0,2,210,1,1300,1,,2,1400,2,1,1,7,,,,1,1,,17,3,600,3,1,158200,2,,,1,1,158200,0,2,2,2,1,5,1,3,0,0,1,16,0,0,1,0,0,1,2111,3,0,1,46,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,144,26,97,88,135,23,88,77,27,95,74,25,95,78,67,24,213,152,22,89,75,93,29,143,79,92,173,146,96,23,28,86,168,30,111,78,80,95,83,165,140,26,77,79,146,28,98,80,27,98,88,22,92,84,81,22,122,167,29,88,84,106,25,153,65,72,172,154,133,22,28,88,190,23,127,87,75,82,85 H,284044,8,700,4,16,1015675,96,4,1,2,1,4,2,2,,200,0,600,3,3,500,1,,1,2800,1,1,1,7,,,1100,1,1,,23,4,2,3,1,110800,2,,,1,1,110800,0,2,2,2,1,5,2,4,0,0,2,45,0,0,1,0,0,1,4150,2,0,1,42,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,153,28,92,100,175,150,151,112,92,30,156,97,27,99,94,93,96,25,162,89,97,95,28,160,101,98,97,28,158,97,86,28,98,27,31,154,143,95,91,153,27,165,98,96,25,32,30,96,100,156,28,96,154,111,104,86,89,157,30,96,97,100,168,29,97,90,92,142,28,102,84,134,94,159,147,31,29,100,87 H,284740,8,900,4,16,1015675,146,2,1,3,4,4,2,2,,50,0,2,160,1,1000,1,,,,,3,1,8,,,,1,2,,12,3,2,2,2,49500,4,,,1,1,49500,0,4,4,4,1,3,0,2,0,0,0,9,0,0,0,2,2,1,372,,0,0,21,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,297,353,151,139,164,42,159,229,162,252,209,48,162,48,153,122,41,154,47,131,234,196,129,189,177,39,154,258,153,273,222,31,132,38,140,165,36,159,56,125,37,41,168,128,142,255,168,50,155,40,52,282,133,233,223,143,211,194,231,224,37,40,134,139,188,211,111,38,139,41,44,279,154,267,151,174,279,116,216,152 H,284986,8,300,4,16,1015675,15,1,1,1,,3,2,2,,150,0,2,3,3,350,1,,,,,3,1,6,,,,1,2,,14,1,400,9,,,,,,1,6,7700,0,4,4,4,1,4,0,,0,0,0,43,0,0,0,1,1,2,279,,0,1,18,,,,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,21,5,16,28,17,18,12,20,16,18,4,20,5,15,15,12,5,5,29,18,21,14,4,15,5,5,32,14,28,15,15,23,15,27,5,5,13,11,17,29,13,4,13,20,15,16,16,30,15,22,5,11,3,21,13,16,5,3,34,15,27,16,4,20,6,5,24,11,23,16,15,30,15,20,3,5,16,16,13,24 H,285070,8,600,4,16,1015675,106,2,1,1,,4,2,2,,60,0,2,180,1,2100,1,,1,2100,1,1,1,9,,,,1,1,,21,3,780,2,2,83000,4,,,1,1,83000,0,4,4,4,1,3,0,2,0,0,0,35,0,0,0,0,0,1,2405,3,0,1,43,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,101,105,102,171,104,192,98,109,185,107,34,176,178,31,96,106,30,111,29,32,98,100,104,176,104,184,119,111,190,108,30,197,186,29,102,93,31,107,29,33,114,96,101,179,106,184,91,105,177,106,33,192,184,29,115,114,32,122,30,30,102,104,103,166,94,179,105,99,183,111,32,186,164,31,101,107,33,104,31 H,285131,8,900,4,16,1015675,91,4,1,1,,3,2,2,,180,0,2,3,3,600,1,,2,500,2,1,1,5,,,,1,1,,13,1,30,5,8,21700,2,,,1,3,21700,1,2,4,2,1,7,0,4,0,0,2,45,0,1,1,1,1,1,816,3,0,1,22,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,104,192,22,28,136,100,79,159,89,163,78,98,96,28,97,25,87,103,25,132,86,25,124,156,26,100,64,23,101,28,100,99,84,146,94,140,96,104,177,32,74,138,26,24,133,80,93,136,89,182,102,92,75,25,91,31,76,83,22,162,74,28,150,190,34,88,89,23,93,29,102,115,87,160,113,162,89,96,232 H,285396,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,285612,8,800,4,16,1015675,18,1,1,3,2,2,2,2,,50,0,700,3,6,700,1,,,,,3,1,5,,,,1,2,,17,1,2,9,,,,,,1,6,8400,0,4,4,4,1,7,0,,0,0,0,42,0,0,0,1,1,1,291,,0,0,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,36,22,23,16,19,32,17,18,7,5,32,29,7,19,32,5,5,17,15,17,5,20,19,20,18,6,16,19,34,38,7,5,34,19,5,33,32,19,19,19,34,17,19,18,17,25,15,21,6,5,30,33,5,15,35,5,5,21,22,20,7,15,17,20,24,5,17,20,33,30,7,6,39,25,3,34,37,16,17 H,286006,8,700,4,16,1015675,112,1,1,1,,3,2,2,,90,0,2,20,1,520,1,,,,,3,1,9,,,,1,2,,19,1,480,3,,,,,,1,6,70900,0,4,4,4,1,5,0,,0,0,0,6,0,0,0,1,1,1,360,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,181,181,207,109,107,218,193,122,204,194,113,116,105,108,180,109,175,109,111,33,32,34,36,113,129,37,31,118,35,33,106,112,102,105,31,120,36,109,113,32,34,34,32,110,107,33,35,106,37,33,107,115,121,114,36,111,30,110,114,185,209,186,179,115,97,196,189,106,192,178,114,115,122,121,190,121,201,119,110 H,286183,8,400,4,16,1015675,107,2,1,1,,2,2,2,,190,0,2,40,1,900,1,,2,600,2,1,1,5,,,,1,1,,14,3,660,8,1,193100,4,,,1,1,193100,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,1,1043,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,36,108,115,91,110,34,89,39,133,35,29,40,36,88,98,32,34,110,181,124,106,154,137,140,150,111,150,85,146,124,118,98,135,209,172,118,98,172,123,33,27,108,132,98,95,29,95,35,118,33,24,28,28,97,114,31,32,117,179,98,83,178,182,220,267,108,144,112,229,128,116,99,93,157,185,108,120,224,105 H,286491,8,700,4,16,1015675,101,6,1,1,,5,2,1,,110,0,2,50,1,950,1,,1,2000,1,1,1,9,,,500,1,1,,21,2,500,3,1,106000,3,,,1,1,106000,0,3,3,3,1,3,4,6,0,0,4,31,0,0,1,0,0,1,2702,1,0,0,42,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,155,99,100,105,30,30,106,29,170,28,176,107,160,165,93,92,101,104,103,163,98,32,161,167,103,108,30,114,101,96,99,32,93,89,164,179,35,27,95,175,109,27,188,179,99,112,30,100,108,95,104,29,101,95,169,179,28,30,30,98,161,96,102,88,28,31,106,30,162,30,182,103,176,168,94,102,106,93,30 H,286567,8,800,4,16,1015675,19,2,1,1,,5,2,1,,250,0,2,3,3,400,1,,,,,3,1,9,,,,1,2,,19,4,300,5,3,31000,4,,,1,1,31000,0,4,4,4,1,6,0,2,0,0,0,18,0,0,0,0,0,2,466,,0,0,31,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,19,21,19,32,30,27,15,5,24,25,17,15,20,17,5,5,7,17,5,15,21,26,19,40,26,22,16,5,24,34,21,19,22,13,7,5,5,17,7,15,17,15,16,31,29,23,14,5,27,27,17,20,23,18,9,5,5,19,5,13,15,19,22,48,28,21,20,7,17,24,17,15,29,18,5,4,5,17,7 H,286591,8,900,4,16,1015675,292,3,1,,,2,6,,,50,0,2,10,3,,1,,,,,,1,4,2,500,,1,3,,,1,1,7,7,11500,1,560,38,1,3,17500,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,95,307,107,499,341,106,105,375,312,305,311,318,368,296,132,470,365,462,143,261,422,253,407,68,297,416,351,355,318,293,308,209,106,270,509,91,280,88,446,278,122,358,107,542,268,119,189,277,363,197,454,341,388,311,93,479,471,450,111,240,421,304,418,66,194,355,376,260,208,294,298,239,154,396,452,87,275,120,398 H,287091,8,900,4,16,1015675,65,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,3,2,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,103,16,22,128,62,18,117,96,57,64,22,81,73,65,73,20,58,55,62,16,15,103,96,20,71,89,18,19,63,80,110,74,73,57,69,103,58,65,54,93,87,16,19,102,62,18,107,101,57,66,20,69,64,62,72,18,68,71,67,18,18,85,99,27,65,92,21,16,60,86,135,70,83,70,66,110,61,70,61 H,287111,8,600,4,16,1015675,70,3,1,1,,3,2,2,,70,0,2,300,1,,1,,,,,,1,7,2,1600,,1,3,,,2,650,2,2,45280,4,2024,54,1,1,45280,0,4,4,4,1,2,0,3,0,0,0,,0,0,0,2,2,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,78,78,69,119,71,20,72,20,21,121,78,117,70,57,117,70,110,22,80,18,79,81,64,113,75,20,72,20,25,128,69,119,65,76,122,60,114,19,74,19,66,74,73,120,74,24,73,21,24,112,71,107,72,76,114,71,137,22,70,20,69,64,65,128,62,18,73,20,23,116,66,132,71,81,116,66,120,19,67 H,287209,8,600,4,16,1015675,95,2,1,1,,3,2,2,,120,0,2,30,1,600,1,,1,1400,1,1,1,6,,,250,1,1,,20,2,480,3,,,,,,1,7,96000,0,4,4,4,1,2,0,,0,1,0,23,3,0,0,0,0,1,1840,2,0,1,37,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,91,25,105,32,98,99,95,165,93,161,100,88,172,100,26,150,162,29,29,93,93,29,105,27,87,95,88,161,93,151,90,95,149,90,27,159,164,28,26,95,101,27,89,26,96,90,85,159,92,152,97,96,163,92,27,166,148,30,27,107,96,26,89,25,86,101,96,151,92,154,96,97,167,101,28,163,167,31,32 H,287240,8,900,4,16,1015675,43,5,1,1,,2,2,2,,50,0,2,100,1,300,1,,1,480,1,2,1,4,,,,1,1,,10,3,600,7,2,29550,3,,,1,1,29550,0,3,3,3,1,1,2,5,0,0,3,28,0,0,1,0,0,2,680,3,0,1,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,65,72,58,54,11,35,47,48,47,12,42,39,62,61,12,10,77,64,17,42,71,88,53,52,16,47,58,56,38,15,51,39,53,63,11,11,81,62,15,33,76,64,39,55,13,34,42,51,46,13,44,39,55,65,15,18,91,40,14,40,67,91,57,52,15,40,42,41,46,15,29,43,81,84,13,12,67,58,15,35 H,287324,8,600,4,16,1015675,103,4,1,1,,3,2,2,,50,0,2,170,1,270,1,,1,800,1,1,1,4,,,,1,1,,16,3,510,4,1,80900,1,,,1,1,80900,0,1,1,1,1,4,2,4,0,0,2,16,0,0,1,0,0,1,1063,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,32,98,167,113,28,30,99,92,27,180,111,183,183,88,161,34,101,120,112,109,30,102,170,94,34,32,105,91,28,186,97,162,175,112,174,30,99,100,104,93,28,112,189,108,30,30,93,107,33,172,107,174,174,106,186,29,94,100,98,109,30,102,193,98,28,28,103,103,31,186,100,165,181,111,169,29,102,92,102 H,287377,8,300,4,16,1015675,48,4,1,1,,3,2,1,,70,0,2,50,1,,1,,,,,,1,6,2,850,,1,3,,,2,600,5,1,53000,2,1020,23,1,1,53000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,87,51,88,50,17,52,14,79,46,12,15,43,41,53,51,53,88,44,83,14,77,49,95,46,14,51,13,82,51,15,16,53,47,47,50,47,96,44,17,76,13,47,13,48,85,46,86,13,50,78,81,43,46,58,49,43,13,53,18,76,13,48,16,64,79,49,79,18,43,83,80,48,49,54,51,44,14,48,78 H,287816,8,600,4,16,1015675,120,3,1,1,,4,2,2,,60,0,2,90,1,600,1,,1,1000,1,1,1,8,,,150,1,1,,18,2,190,3,1,98500,2,,,1,1,98500,0,2,2,2,1,5,1,3,0,0,1,16,0,0,1,0,0,1,1316,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,36,35,35,35,133,33,113,41,125,116,108,122,32,38,123,110,37,111,111,189,121,130,120,123,207,129,224,120,208,195,200,221,123,123,232,183,107,234,36,114,35,38,36,37,111,35,127,33,123,119,118,118,33,38,130,109,33,127,123,202,116,126,119,128,229,116,186,125,222,209,196,193,116,124,196,203,126,210,35 H,287861,8,100,4,16,1015675,44,2,1,2,1,3,2,2,,50,0,2,60,1,600,1,,,,,3,1,5,,,,1,2,,18,2,140,4,4,43300,4,,,1,1,43300,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,1,0,1,301,,0,1,27,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,81,47,44,12,64,12,12,47,43,87,71,15,54,43,43,14,46,45,47,12,45,83,12,42,46,39,42,80,79,47,44,46,81,14,80,46,14,12,12,42,15,49,46,79,14,80,83,43,44,13,13,63,42,42,48,82,40,42,41,79,42,12,78,44,45,46,46,13,13,42,48,46,12,86,12,45,88,75,70 H,288077,8,500,4,16,1015675,113,2,1,1,,3,2,2,,80,0,2,90,1,340,1,,2,630,2,2,1,7,,,,1,1,,18,3,700,9,,,,,,1,7,79069,0,4,4,4,1,4,0,,0,1,0,16,3,0,0,0,0,1,1027,3,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,27,38,124,37,91,120,192,101,198,121,202,140,120,34,102,111,33,189,31,121,121,118,36,135,213,34,97,37,126,183,114,177,28,109,185,156,120,109,135,191,29,34,106,32,107,107,209,119,167,118,187,124,106,34,136,111,33,177,35,146,121,138,33,99,179,43,113,26,107,182,117,177,33,120,183,193,98,125,112 H,288319,8,200,4,16,1015675,44,0,1,2,,2,2,2,,,,,,,,2,,,,,,2,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,59,40,74,80,44,16,46,12,103,13,40,14,43,61,80,40,17,44,83,11,11,75,38,59,75,46,75,49,54,46,15,41,13,47,37,11,35,65,43,43,40,47,15,15,47,71,33,74,9,85,47,85,59,14,14,42,78,41,13,76,75,14,54,32,11,34,11,44,46,48,65,47,79,36,62,66,59,15,42 H,288758,8,200,4,16,1015675,15,1,1,2,1,3,2,2,,60,0,1000,2,6,140,1,,,,,3,1,5,,,,1,2,,18,1,2,4,,,,,,1,6,14400,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,1,1,1,405,,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,19,32,17,26,16,17,5,19,3,12,6,17,16,27,14,16,24,4,22,12,12,20,5,14,28,5,15,3,17,26,13,29,7,16,25,26,16,18,32,23,4,7,19,5,24,17,21,20,24,15,24,16,19,3,17,10,3,21,19,19,10,19,27,12,3,23,15,26,17,4,16,3,28,17,5,7,15,18 H,289010,8,800,4,16,1015675,61,2,1,,,2,5,,210,80,0,2,3,3,130,1,,,,,3,1,5,,,,1,2,,14,2,620,5,4,54000,4,,,1,1,54000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,426,,0,0,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,60,56,104,18,64,55,22,79,61,21,61,50,45,17,108,103,111,85,20,62,62,54,17,124,56,57,135,66,74,109,56,53,53,138,20,19,22,19,115,76,67,65,102,16,47,62,20,62,64,19,51,59,59,20,99,107,94,95,20,77,68,77,17,119,55,47,121,87,62,108,60,72,61,114,18,16,17,17,103,66 H,289218,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,289440,8,400,4,16,1015675,202,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,213,359,188,174,333,225,65,72,65,196,189,194,175,203,373,366,390,199,323,355,202,56,171,183,63,229,354,312,377,187,146,188,188,190,59,67,62,190,379,360,207,59,206,228,81,180,304,356,278,201,203,182,225,183,58,72,53,179,50,72,232,284,236,209,286,235,68,63,61,200,207,199,230,198,275,304,307,202,84 H,289762,8,300,4,16,1015675,70,4,1,1,,3,2,2,,80,0,940,50,2,440,1,,2,550,2,1,1,6,,,,1,1,,12,3,470,5,1,65000,4,,,1,1,65000,0,4,4,4,1,5,0,4,0,0,0,17,0,0,0,0,0,1,908,3,0,1,19,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,100,48,81,90,60,58,26,18,18,111,104,69,28,59,91,19,53,103,163,147,111,65,72,54,76,99,23,21,19,61,108,72,23,66,65,25,79,111,125,90,121,61,98,110,69,65,24,13,14,95,100,67,33,71,94,17,62,112,99,119,131,51,62,60,51,72,18,21,27,70,102,60,22,70,97,25,78,147,133 H,289820,8,800,4,16,1015675,61,2,1,2,1,3,2,2,,80,0,2,250,2,430,1,,1,990,1,1,1,6,,,,1,1,,18,1,2,2,1,114300,4,,,1,1,114300,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,0,0,1,1320,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,55,91,61,16,67,70,20,68,90,100,108,61,58,60,60,54,18,20,21,93,60,103,59,14,52,69,16,70,115,114,115,67,75,61,70,59,17,19,22,105,67,132,64,19,65,55,18,64,85,102,84,51,74,57,61,64,14,19,19,99,55,123,65,22,55,53,19,56,104,101,102,65,75,58,56,71,19,21,24,90 H,290150,8,400,4,16,1015675,146,4,1,1,,3,1,2,,60,0,2,150,2,,1,,,,,,1,5,2,450,,1,3,,,1,1,3,1,13500,2,660,59,2,1,13500,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,119,63,189,206,80,141,162,41,69,206,216,150,133,103,200,196,129,117,57,204,109,64,148,133,98,138,227,54,50,201,129,153,219,185,229,135,153,184,71,262,162,56,156,133,35,170,257,57,71,213,119,155,194,122,117,139,224,156,70,166,138,57,135,139,42,149,273,77,57,212,146,167,191,194,185,112,104,161,104,236 H,290161,8,300,4,16,1015675,55,4,1,1,,4,2,2,,40,0,2,120,1,800,1,,1,610,1,1,1,7,,,,1,1,,15,2,400,3,1,54000,2,,,1,1,54000,0,2,2,2,1,2,2,4,0,0,2,18,0,0,1,0,0,1,803,3,0,1,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,17,18,55,16,60,16,65,49,56,49,16,17,53,51,16,52,50,15,48,52,61,54,88,55,94,69,96,94,95,102,61,54,96,98,62,111,91,55,91,97,93,104,61,107,48,95,61,54,56,54,95,89,56,58,95,52,57,117,67,60,57,56,19,54,16,47,16,16,15,17,50,60,15,15,50,16,18,58,16 H,290334,8,900,4,16,1015675,44,1,1,1,,4,2,2,,20,0,2,70,2,400,1,,1,380,1,1,1,7,,,,1,1,,10,1,50,9,,,,,,1,6,23000,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,0,0,1,474,3,0,1,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,40,12,43,40,10,38,89,85,72,40,45,43,38,45,15,14,11,45,83,14,39,79,47,47,73,40,14,15,13,42,51,45,38,45,77,65,70,51,12,78,52,12,37,43,14,41,74,83,88,45,43,39,40,50,14,15,10,36,87,12,46,71,45,51,73,40,11,12,17,46,42,42,41,45,74,63,64,44,14,83 H,290339,8,300,4,16,1015675,41,5,1,2,1,4,2,2,,200,0,1200,100,4,400,1,,2,860,2,1,1,6,,,,1,1,,13,3,540,9,1,49500,2,,,1,1,49500,0,2,2,2,1,5,2,5,0,0,2,34,0,0,1,0,0,2,1392,3,0,1,15,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,12,44,37,12,51,75,12,9,57,35,49,73,38,74,36,45,50,11,72,48,16,39,36,13,38,59,11,11,68,51,59,72,37,81,50,41,39,13,66,38,13,39,36,10,45,63,10,13,80,44,45,89,40,62,48,44,40,8,70,36,10,37,44,18,51,71,12,13,49,35,40,64,49,84,42,37,38,14,69 H,290475,8,500,4,16,1015675,114,2,1,1,,3,2,2,,150,0,2,3,3,800,1,,1,750,1,1,1,5,,,520,1,1,,15,2,150,5,4,57500,4,,,1,1,57500,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,2,2,1,1433,1,0,1,24,1,8,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,35,181,36,31,110,106,173,161,42,122,136,108,37,106,132,119,195,136,38,113,182,36,179,153,116,113,34,35,179,116,114,120,198,121,115,99,30,117,38,105,194,36,200,197,133,104,37,38,203,122,115,108,186,106,129,104,37,115,165,126,36,205,32,37,104,109,174,203,28,93,115,111,29,121,117,115,185,108,173 H,291033,8,900,4,16,1015675,56,5,1,2,2,4,2,2,,100,0,60,3,5,450,1,,2,700,2,1,1,7,,,250,1,1,,18,2,2,3,1,80040,3,,,1,1,80040,0,3,3,3,1,4,3,5,0,0,3,17,0,0,1,0,0,2,1126,2,0,1,10,2,2,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,67,19,88,50,11,20,59,61,46,68,48,86,56,21,101,53,113,60,15,149,74,20,72,60,16,20,63,59,51,65,52,61,45,20,131,64,84,51,15,15,50,85,22,59,82,130,66,61,40,42,55,18,75,132,16,53,15,71,87,17,66,88,16,57,75,113,70,52,51,49,69,21,63,116,12,50,17,63,83,107 H,291049,8,600,4,16,1015675,127,2,1,,,2,8,,,40,0,2,3,3,,1,,,,,,1,3,2,580,,1,3,,,1,140,5,1,52050,4,632,15,4,1,52050,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,114,116,130,145,119,188,235,204,113,35,111,241,132,119,197,127,49,39,245,196,117,152,132,120,122,39,37,40,124,221,125,40,122,124,37,130,208,199,34,43,118,122,133,114,128,184,226,214,146,36,118,192,152,153,234,129,40,37,186,212,121,131,134,122,91,39,38,42,119,203,133,35,137,152,38,152,198,220,35 H,291129,8,100,4,16,1015675,83,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,24,135,72,85,23,142,84,87,121,87,78,127,88,81,82,137,23,28,98,26,26,137,77,87,26,131,77,73,135,72,84,155,92,94,75,148,26,26,80,23,25,120,79,88,27,161,87,118,142,94,87,147,89,84,92,125,29,25,81,22,21,155,77,82,24,135,84,69,127,75,67,128,81,90,81,120,26,29,84 H,291440,8,800,4,16,1015675,26,1,1,1,,3,2,2,,100,0,2,3,3,320,1,,1,590,1,1,1,5,,,,1,1,,12,1,80,5,,,,,,1,6,17200,0,4,4,4,1,4,0,,0,0,0,49,0,0,0,1,1,2,697,3,0,1,11,,,,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,1,23,7,47,52,25,24,26,7,39,53,23,48,45,9,23,8,27,25,9,25,34,9,50,42,30,24,23,8,27,52,24,56,40,7,23,7,33,18,8,24,25,9,47,42,29,27,30,8,22,49,28,50,36,7,33,7,25,25,9,24,24,8,41,42,29,27,25,8,29,38,33,58,44,7,21,10,24,20,8,26 H,291460,8,900,4,16,1015675,75,1,1,1,,3,2,2,,90,0,2,100,1,600,1,,1,300,1,1,1,7,,,,1,1,,14,1,50,6,,,,,,1,6,16400,0,4,4,4,1,7,0,,0,0,0,36,0,0,0,1,0,1,494,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,82,74,25,24,18,64,111,65,22,87,61,27,64,86,143,125,80,82,24,75,96,90,154,145,153,81,22,79,119,87,82,135,73,22,23,20,63,66,25,80,65,61,122,135,150,59,21,65,127,88,81,138,77,20,17,21,92,72,142,60,91,75,22,25,19,80,150,72,18,79,98,23,75,161,105,105,73,73,117 H,291630,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,291649,8,300,4,16,1015675,31,2,1,2,1,3,2,2,,130,0,2,3,3,1000,1,,1,630,1,1,1,5,,,430,1,1,,14,2,2,4,1,55000,4,,,1,1,55000,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,0,0,1,1190,1,0,1,15,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,51,30,51,33,37,46,28,52,10,11,45,37,30,53,29,11,32,8,39,11,75,36,62,25,26,39,23,63,10,10,34,26,25,60,25,10,32,9,28,54,11,33,11,42,30,9,26,10,74,53,33,36,28,8,30,44,26,46,31,50,10,37,10,39,33,8,33,10,72,57,28,36,33,8,30,49,32,62,35 H,291672,8,300,4,16,1015675,61,7,1,1,,5,2,2,,120,0,2,20,1,610,1,,1,1100,1,1,1,9,,,,1,1,,16,2,1200,5,1,41000,3,,,1,1,41000,0,3,3,3,1,3,5,7,0,0,5,39,0,0,1,0,0,2,1340,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,16,64,60,23,64,96,18,20,110,73,52,118,63,98,67,64,53,14,82,68,16,52,63,17,69,111,20,17,116,74,47,102,52,109,54,66,58,18,18,63,88,55,63,102,52,19,103,121,18,68,49,18,53,18,57,68,70,105,21,59,98,51,55,109,65,18,107,109,20,73,62,18,54,18,52,61,60,96,110 H,291720,8,800,4,16,1015675,19,2,1,1,,3,2,2,,110,0,2,3,3,200,1,,,,,3,1,6,,,,1,2,,9,2,50,5,1,48800,4,,,1,1,48800,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,0,1,183,,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,23,5,21,19,5,15,5,39,30,17,23,20,6,17,28,18,34,34,23,3,21,5,19,16,7,20,5,33,38,19,17,21,5,21,34,18,38,30,20,39,22,26,19,19,34,20,31,6,5,18,20,18,30,20,5,22,5,5,19,35,19,31,20,18,28,20,26,5,5,17,19,19,32,19,7,20,5,5,19 H,291739,8,600,4,16,1015675,150,1,1,1,,2,2,2,,40,0,2,110,1,500,1,,2,750,2,1,1,6,,,,1,1,,17,1,500,9,,,,,,3,6,48000,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,0,0,1,1147,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,161,154,151,45,159,158,262,45,240,226,155,131,40,49,253,145,151,166,138,175,246,248,261,162,43,220,157,150,152,153,41,40,149,163,140,42,244,41,224,41,148,164,150,259,162,155,41,279,45,42,162,149,257,238,42,182,145,154,162,158,43,51,45,136,231,41,160,149,126,141,246,287,151,134,152,283,47,238,56 H,291787,8,100,4,16,1015675,109,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,190,177,32,105,174,33,35,92,128,195,102,100,126,116,185,120,95,29,113,175,29,26,191,103,31,183,186,83,113,44,124,106,103,145,32,116,106,165,93,37,182,162,31,112,199,35,38,109,94,213,93,94,117,126,191,86,121,39,119,186,33,37,167,104,38,181,192,112,110,31,95,112,121,91,33,97,105,196,126 H,291976,8,600,4,16,1015675,130,2,1,1,,4,2,2,,60,0,2,40,1,350,1,,1,1700,1,1,1,7,,,,1,1,,19,3,380,2,,,,,,1,7,122200,0,4,4,4,1,1,0,,0,1,0,18,3,0,0,0,0,1,1832,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,120,122,38,130,272,148,38,34,143,120,35,212,128,212,225,129,234,44,122,135,126,137,36,137,200,130,43,35,147,122,40,233,117,249,233,126,213,40,136,124,121,137,41,129,199,131,42,39,123,125,37,205,138,229,237,130,193,44,153,135,142,143,38,134,226,129,38,41,126,132,37,203,117,214,215,123,217,42,127 H,292070,8,100,4,16,1015675,59,2,1,1,,2,2,2,,30,0,2,60,1,290,1,,1,600,1,1,1,5,,,,1,1,,14,2,490,4,3,33200,4,,,1,1,33200,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,2,1,1,731,3,0,1,22,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,60,54,57,100,103,57,106,13,120,23,47,17,24,52,57,60,51,58,71,49,15,93,114,57,60,13,56,57,55,69,22,70,58,129,118,21,19,83,19,124,46,54,49,19,19,59,19,95,17,103,63,85,95,86,59,58,62,77,59,59,109,18,20,58,69,117,69,64,64,63,81,62,77,16,18,83,95,16,114 H,292099,8,900,4,16,1015675,137,2,1,,,2,6,,,90,0,2,3,1,,1,,,,,,1,5,2,470,,1,3,,,1,2,5,6,23000,4,560,29,1,2,23000,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,37,222,175,46,37,129,137,115,138,110,194,144,49,224,103,201,174,54,242,129,43,217,124,31,40,176,149,152,145,148,272,125,51,257,131,194,110,44,35,155,202,43,135,199,236,135,134,141,134,133,45,136,211,49,112,35,129,208,63,120,269,46,125,220,228,133,146,163,193,129,41,115,297,40,138,48,128,228,214 H,293004,8,900,4,16,1015675,71,4,1,2,1,2,3,2,,40,0,2,440,2,0,1,,,,,3,1,4,,,,1,2,,16,3,2,5,2,93600,3,,,1,1,93600,0,1,1,1,1,3,2,4,0,0,2,7,0,0,1,0,0,1,530,,0,1,14,2,2,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,22,119,130,63,57,22,21,118,72,75,86,125,60,81,67,18,83,70,107,19,138,23,18,102,74,109,118,22,76,72,57,24,82,59,68,116,71,81,112,18,103,21,23,80,70,138,151,23,91,75,71,22,77,72,70,116,71,72,24,116,23,103,91,70,72,22,20,117,68,64,90,113,68,65,67,19,76,73,26 H,293156,8,100,4,16,1015675,31,0,1,1,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,9,54,30,29,49,33,28,56,29,32,30,53,8,11,9,9,60,30,30,30,7,49,31,29,54,33,31,54,27,31,34,56,10,8,9,10,51,31,30,33,58,11,29,32,9,32,31,11,28,28,26,10,54,47,58,55,9,34,33,27,52,9,29,31,9,30,32,10,30,31,32,10,52,48,49,48,9,31,26 H,293603,8,300,4,16,1015675,73,4,1,3,6,5,2,2,,410,0,2,3,3,800,1,,1,1100,1,1,1,8,,,,1,1,,15,2,40,9,1,227400,2,,,1,1,227400,0,2,2,2,1,5,2,4,0,0,2,8,0,0,1,0,0,1,1513,3,0,0,37,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,56,28,129,148,25,60,75,21,71,20,69,75,68,107,66,147,84,76,121,117,73,118,20,19,110,73,98,110,70,121,69,81,75,26,76,22,59,78,29,126,94,146,26,27,134,67,69,146,75,120,68,82,64,19,72,21,78,62,22,30,72,24,137,107,23,75,66,21,65,18,76,61,78,108,71,118,70,72,119,19 H,294380,8,700,4,16,1015675,97,4,1,1,,3,2,2,,120,0,2,70,1,0,1,,,,,3,1,7,,,,1,2,,20,4,1200,2,2,89300,4,,,1,1,89300,0,4,4,4,1,3,0,4,0,0,0,7,0,0,0,0,0,1,490,,0,1,36,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,92,91,160,174,90,93,106,161,29,166,93,29,29,31,94,161,26,91,104,89,95,105,160,165,96,103,94,170,30,157,96,28,27,27,98,185,28,93,96,97,97,93,31,28,100,109,106,28,168,27,95,159,163,165,91,28,170,93,94,89,96,93,28,25,98,105,98,28,167,30,94,169,172,162,97,27,168,94,106 H,294576,8,700,4,16,1015675,374,3,1,1,,3,2,2,,40,0,2,70,1,360,1,,1,780,1,1,1,5,,,200,1,1,,16,3,300,3,7,66750,2,,,1,3,66750,0,2,2,2,1,3,1,3,0,0,1,20,0,0,1,0,0,2,1115,1,0,1,21,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,371,361,112,106,369,434,376,108,605,121,355,628,624,621,365,103,606,405,394,348,353,366,106,109,402,360,347,112,672,125,353,708,668,617,408,116,650,376,379,412,396,391,592,642,349,330,385,595,119,602,372,107,114,111,356,638,106,342,391,399,377,386,696,660,373,385,415,669,110,639,371,116,108,105,356,626,115,387,337,366 H,294764,8,800,4,16,1015675,73,2,1,2,1,3,1,2,,280,0,2,3,3,370,1,0,2,360,2,1,1,7,,,300,1,1,,18,1,2,5,3,41300,4,,,1,1,41300,0,4,4,4,1,6,0,2,0,0,0,31,0,0,0,0,0,1,1071,2,0,0,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,68,119,24,25,80,67,67,134,70,20,70,22,25,132,70,110,54,73,70,24,73,19,126,121,72,99,92,22,79,113,66,108,116,27,80,22,83,73,81,21,72,18,122,125,84,78,65,26,79,118,72,129,140,21,78,22,58,69,74,128,72,148,26,22,74,84,78,116,68,22,76,21,21,115,76,110,71,74,87 H,295111,8,500,4,16,1015675,95,2,1,1,,2,2,2,,170,0,2,3,3,780,1,,1,680,1,1,1,4,,,,1,1,,14,2,150,3,2,24060,4,,,1,1,24060,0,4,4,4,1,3,0,2,0,0,0,43,0,0,0,0,0,1,863,3,0,1,25,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,83,106,28,165,101,140,152,92,159,28,91,95,100,25,86,173,92,33,31,95,85,91,29,169,104,145,158,78,143,29,88,98,86,27,106,158,102,28,29,91,101,98,25,147,113,137,159,92,157,27,99,90,106,28,84,142,89,28,30,106,104,97,31,168,93,150,145,110,139,31,97,85,83,27,100,180,89,29,27,98 H,295157,8,300,4,16,1015675,56,5,1,,,3,8,,,90,0,2,80,1,,1,,,,,,1,4,2,790,,1,3,,,2,360,2,1,37600,3,990,32,1,1,37600,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,54,45,14,19,15,52,104,52,20,63,55,16,54,76,88,92,51,59,107,51,58,55,15,17,16,57,96,52,16,54,49,14,62,98,105,121,55,51,15,62,49,48,96,103,92,60,16,50,102,61,49,93,59,18,15,14,52,52,17,61,47,47,101,96,95,49,18,60,99,63,53,109,52,17,14,16,52,50,87 H,295183,8,100,4,16,1015675,80,4,1,1,,4,2,2,,50,0,2,80,1,700,1,,1,1000,1,1,1,7,,,,1,1,,15,6,30,5,1,77000,1,,,1,1,77000,1,1,4,1,1,5,0,4,0,0,1,18,0,1,1,0,0,1,1133,3,0,1,23,3,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,92,76,77,109,128,74,156,25,137,22,79,25,27,67,89,79,82,82,87,80,145,24,25,80,79,125,78,84,87,66,125,82,77,21,27,138,143,24,26,141,72,76,81,20,23,70,25,126,26,111,73,158,144,78,84,80,76,75,79,80,25,134,127,79,79,22,86,91,91,95,25,80,80,120,143,23,22,128,122 H,295219,8,800,4,16,1015675,169,1,1,2,1,2,1,2,,50,0,2,3,3,250,1,0,2,430,2,1,1,3,,,,2,1,,5,2,2,3,,,,,,1,4,18000,0,4,4,4,1,1,0,,0,0,0,35,0,0,0,0,0,1,521,3,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,258,105,168,309,164,298,100,194,281,46,148,91,179,144,54,188,308,49,43,44,61,155,251,69,161,45,170,270,180,330,123,256,178,156,323,199,57,238,234,55,48,140,148,39,199,55,180,334,196,242,233,267,116,153,324,160,68,276,223,239,254,115,162,254,183,254,138,206,126,44,202,60,141,283,71,202,354,48,70,242 H,295220,8,900,4,16,1015675,78,1,1,1,,2,2,2,,20,0,2,30,1,350,1,,1,500,1,1,1,5,,,,1,1,,13,1,600,8,,,,,,1,6,18080,0,4,4,4,1,5,0,,0,0,0,40,0,0,0,1,1,2,600,3,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,87,97,133,80,91,67,91,145,76,80,23,27,139,89,23,84,123,22,70,27,71,84,114,91,70,79,115,117,78,79,23,24,104,96,25,76,102,30,70,165,110,81,23,58,60,91,78,19,87,101,121,115,24,25,146,69,19,122,93,155,86,89,23,68,64,77,86,20,86,76,139,141,15,17,151,72,23,167,63 H,295368,8,300,4,16,1015675,102,3,1,1,,2,2,2,,80,400,2,150,1,,1,,,,,,1,4,2,550,,1,3,,,1,20,5,8,1140,1,782,101,1,3,5040,0,1,1,1,1,1,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,42,116,28,37,99,110,170,273,38,138,70,97,28,86,84,89,140,88,172,99,31,132,31,29,79,103,266,195,44,117,115,135,27,123,58,67,151,106,56,141,148,23,203,199,82,92,33,45,235,128,106,92,143,96,101,106,24,82,31,124,200,29,141,179,78,79,45,42,197,86,104,91,148,158,85,76,25,100,205 H,295606,8,600,4,16,1015675,122,4,1,1,,3,2,2,,100,0,2,190,1,700,1,,1,690,1,1,1,7,,,340,1,1,,17,2,120,5,1,62600,2,,,1,1,62600,0,2,2,2,1,5,2,4,0,0,2,25,0,0,1,0,0,1,1330,2,0,1,35,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,127,40,132,102,121,132,35,122,124,210,201,35,29,211,127,31,205,186,111,113,129,32,114,136,127,112,39,137,121,181,209,37,37,220,134,33,203,230,126,116,113,230,120,110,111,119,204,115,129,36,35,205,180,34,123,199,35,39,120,120,111,190,111,132,147,119,198,152,123,34,37,206,226,39,121,206,34,37,121 H,295654,8,900,4,16,1015675,76,4,1,1,,4,2,2,,50,0,2,40,1,510,1,,1,760,1,1,1,8,,,,1,1,,14,2,600,5,1,60700,1,,,1,1,60700,0,1,1,1,1,3,2,4,0,0,2,18,0,0,1,0,0,1,900,3,0,1,15,2,4,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,87,26,62,142,65,124,22,71,123,124,75,71,74,89,66,21,78,131,111,148,81,132,85,24,75,22,99,74,25,25,79,74,83,85,71,101,76,26,143,130,77,101,69,22,73,23,139,68,25,26,92,72,73,75,75,157,75,21,19,25,64,21,79,111,80,141,20,57,133,140,79,88,84,80,74,20,74,122,22 H,295810,8,100,4,16,1015675,34,2,1,2,1,3,2,2,,80,0,2,30,1,490,1,,1,2200,1,1,1,7,,,200,1,1,,21,3,150,3,1,106000,4,,,1,1,106000,0,4,4,4,1,1,0,2,0,0,0,29,0,0,0,0,0,1,2523,2,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,36,10,32,57,36,34,36,63,35,70,9,34,10,31,39,35,9,8,55,35,50,37,12,33,10,9,56,34,69,33,37,60,34,70,9,10,35,30,33,8,32,53,39,10,36,31,31,11,30,12,54,42,61,33,33,33,61,59,13,30,12,35,61,34,55,59,8,32,10,34,43,10,35,10,64,56,37,44,33,70 H,295851,8,400,4,16,1015675,77,2,1,2,2,3,2,2,,340,0,2,3,3,940,1,,,,,3,1,5,,,,1,2,,17,2,2,9,1,40000,4,,,1,1,40000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,1,460,,0,1,12,1,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,75,70,75,85,23,63,72,149,157,24,23,141,85,25,110,127,85,66,75,22,94,78,77,92,25,73,75,126,176,24,20,138,79,25,135,150,91,58,75,152,95,81,79,83,130,74,80,26,27,140,151,18,89,168,23,24,75,87,100,166,84,88,91,64,90,77,76,24,24,113,114,23,75,132,18,20,61,75,62 H,296224,8,400,4,16,1015675,207,3,1,3,1,2,2,2,,110,0,100,30,2,750,1,,2,1300,2,1,1,6,,,,1,1,,20,2,2,6,1,144500,1,,,1,1,144500,0,1,1,1,1,1,1,3,0,0,1,13,0,0,1,0,0,2,1611,3,0,0,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,323,335,211,202,185,216,226,75,88,65,196,289,183,57,204,203,64,212,314,279,327,391,219,209,214,199,206,83,61,56,204,316,222,60,190,226,70,238,298,60,76,69,223,221,200,218,228,329,345,387,210,67,195,309,221,223,311,217,74,70,69,55,218,240,199,192,190,306,341,315,187,65,258,308,164,175,291,183,67,297 H,296502,8,800,4,16,1015675,47,2,1,1,,3,2,2,,30,0,2,80,1,700,1,,2,620,2,1,1,6,,,,1,1,,12,2,500,6,4,27000,4,,,1,1,27000,0,4,4,4,1,5,0,2,0,0,0,40,0,0,0,2,2,1,897,3,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,59,48,60,40,88,57,43,56,14,51,12,56,49,10,53,80,14,17,93,63,44,68,76,44,75,45,46,44,14,44,14,46,51,15,42,73,16,15,76,103,55,40,69,46,64,44,59,55,13,47,17,56,51,13,47,83,12,14,104,91,47,46,82,48,80,36,44,45,16,41,14,67,54,15,44,82,13,12,91 H,297289,8,700,4,16,1015675,112,5,1,1,,4,1,2,,140,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,4,700,3,1,44000,3,,,1,1,44000,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,110,206,35,112,181,196,106,111,119,111,123,32,109,200,30,109,30,113,32,183,109,188,35,107,198,191,109,115,113,111,110,34,115,179,32,115,35,107,174,34,123,33,183,118,32,32,106,109,121,107,112,201,109,31,199,111,182,119,192,34,110,32,194,111,31,32,105,103,109,112,116,209,116,34,179,119,216,108,32 H,297392,8,500,4,16,1015675,121,1,1,1,,5,2,2,,20,0,2,30,1,500,1,,,,,3,1,9,,,,1,2,,16,1,360,7,,,,,,1,6,14500,0,4,4,4,1,7,0,,0,0,0,18,0,0,0,1,1,1,219,,0,1,23,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,114,212,207,124,34,210,34,111,113,117,123,130,115,220,35,146,133,31,34,173,198,120,130,203,104,124,117,195,37,31,34,34,210,115,122,48,188,117,116,37,111,38,36,132,221,36,202,131,114,132,128,126,125,34,181,112,117,234,202,95,38,126,112,36,148,119,118,29,178,211,194,228,35,121,129,194,37,124,113,211 H,297498,8,300,4,16,1015675,72,6,1,1,,4,2,2,,140,0,2,20,3,450,1,,1,810,1,2,1,7,,,,1,1,,15,1,2,2,1,43500,3,,,2,1,43500,1,3,3,3,2,4,3,6,0,0,3,27,0,0,1,0,0,2,970,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,96,157,124,68,24,67,136,75,103,149,73,23,20,21,85,67,65,76,69,113,21,23,21,74,100,54,22,57,76,20,78,128,121,191,62,75,75,83,76,26,85,169,137,57,25,64,113,68,80,139,64,18,25,25,83,57,63,86,64,124,19,21,24,75,127,69,21,70,86,23,62,145,125,187,93,67,60,69,78,21 H,297574,8,800,4,16,1015675,30,3,1,2,1,3,2,2,,200,0,600,3,8,1200,1,,1,1300,1,1,1,5,,,,1,1,,20,2,2,3,2,75000,1,,,1,1,75000,0,1,1,1,1,3,1,3,0,0,1,25,0,0,1,0,0,1,1550,3,0,1,31,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,39,28,35,53,39,31,10,8,10,35,44,23,6,34,32,10,25,48,40,56,42,22,23,31,32,24,14,9,9,41,63,30,8,35,40,12,34,50,41,65,47,29,26,30,33,25,10,6,10,36,59,32,11,34,23,10,30,46,51,59,40,29,29,31,37,31,12,8,7,32,39,21,11,40,39,10,24,43,38 H,297580,8,600,4,16,1015675,129,1,1,1,,2,3,2,,50,0,2,3,3,430,1,,,,,3,1,4,,,,1,2,,17,2,200,2,,,,,,1,6,14000,0,4,4,4,1,1,0,,0,0,0,32,0,0,0,0,0,1,370,,0,1,44,,,,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,155,246,144,35,250,282,40,153,145,31,113,35,118,171,143,184,119,191,124,35,136,239,130,36,235,251,32,135,120,41,123,33,123,115,124,236,135,201,134,205,114,43,130,195,43,44,215,107,151,241,107,192,116,122,160,50,124,48,172,185,143,44,166,190,47,54,215,128,113,147,112,204,117,172,161,34,123,38,121,42 H,297663,8,100,4,16,1015675,41,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,38,42,40,39,11,10,65,12,39,44,70,78,78,39,39,13,74,39,75,40,12,13,72,63,42,36,37,40,11,75,38,39,43,12,71,39,39,10,11,43,75,74,11,12,43,43,45,42,66,14,37,33,37,65,13,42,38,69,34,70,41,40,38,38,66,78,14,65,42,40,12,12,9,40,34,69,13,39,36 H,297728,8,600,4,16,1015675,105,1,1,1,,2,2,2,,60,0,2,4,1,0,1,,,,,3,1,5,,,,1,2,,15,0,480,9,,,,,,1,6,21900,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,214,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,108,30,107,30,103,102,110,201,105,168,128,109,197,111,30,170,172,30,187,116,111,174,121,191,103,103,102,30,107,34,96,90,30,106,187,33,26,174,182,97,104,187,101,156,104,114,103,35,100,27,104,111,33,109,167,30,31,195,35,108,105,27,100,30,109,112,102,197,97,190,96,95,197,101,30,171,174,34,25 H,298393,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,299640,8,200,4,16,1015675,77,2,1,1,,3,1,2,,50,0,2,3,3,0,1,2600,,,,3,1,4,,,,1,2,,4,1,360,5,8,13000,4,,,1,3,13000,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,2,2,1,297,,0,0,1,0,15,15,1,0,0,0,0,0,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,75,71,103,72,26,93,121,130,85,69,176,20,75,18,17,99,26,153,83,83,99,77,101,87,23,70,139,118,73,58,121,19,61,33,31,90,23,132,84,86,67,70,29,99,122,67,24,21,113,78,23,126,82,108,123,62,115,25,65,78,91,62,19,78,129,84,27,27,69,80,23,109,85,145,133,78,139,26,67,86 H,299689,8,900,4,16,1015675,28,4,1,1,,3,2,2,,50,0,1000,180,2,600,1,,1,380,1,1,1,4,,,,1,1,,9,4,140,5,1,46000,2,,,1,1,46000,0,2,2,2,1,5,1,4,0,0,1,18,0,0,1,0,0,1,705,3,0,1,12,3,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,7,8,50,54,9,32,43,8,10,23,28,59,29,23,35,31,47,36,25,32,9,9,62,43,8,39,36,6,7,25,41,77,32,25,28,34,41,28,30,26,8,10,42,43,5,26,53,7,10,44,31,42,23,35,35,21,45,31,43,37,10,5,35,59,10,28,53,11,8,32,35,50,22,31,38,21,40,28,22 H,299763,8,700,4,16,1015675,106,2,1,2,1,5,2,2,,200,0,2,10,3,400,1,,,,,3,1,9,,,,1,2,,22,2,1800,5,1,56104,4,,,1,1,56104,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,0,2,551,,0,1,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,170,29,110,183,164,107,103,110,109,113,30,94,171,31,115,32,101,175,95,185,31,174,101,32,30,108,114,100,114,104,180,116,30,186,106,169,119,34,112,195,32,195,103,29,34,107,98,103,108,108,172,119,27,169,101,165,108,31,123,30,162,30,104,185,184,106,110,104,108,106,32,106,186,32,107,34,96,187,102,33 H,299826,8,400,4,16,1015675,205,1,1,3,5,1,2,2,,30,0,2,210,2,600,1,,2,1500,2,1,1,2,,,,1,1,,21,2,1,8,,,,,,1,4,40000,0,4,4,4,1,3,0,,0,0,0,57,0,0,0,0,0,2,1890,3,0,0,24,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,177,209,53,46,59,76,231,83,248,69,208,224,189,212,79,59,204,206,185,244,350,383,181,166,200,228,374,176,313,178,236,331,392,294,189,235,325,360,66,72,231,197,56,75,85,56,198,69,152,62,194,199,219,182,61,70,193,181,176,222,390,291,198,221,188,220,390,205,334,203,395,347,363,344,187,199,295,347,83 H,299972,8,500,4,16,1015675,181,4,1,1,,3,2,2,,80,0,2,3,3,400,1,,1,650,1,1,1,6,,,,1,1,,12,1,60,5,1,35200,2,,,2,1,35200,0,2,2,2,2,1,2,4,0,0,2,25,0,0,1,0,0,2,735,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,190,55,202,67,351,294,217,173,173,42,186,309,164,297,335,47,195,58,183,144,183,254,157,282,64,57,163,192,194,251,158,66,157,54,51,275,188,328,242,250,201,50,170,65,280,365,188,145,145,51,173,254,182,339,314,58,157,47,155,188,219,321,154,244,54,60,155,183,162,334,200,60,232,47,54,291,188,308,167,165 H,300277,8,900,4,16,1015675,48,5,1,2,1,5,2,2,,60,0,540,3,6,530,1,,1,720,1,1,1,9,,,,1,1,,15,3,480,5,1,59800,3,,,1,1,59800,0,3,3,3,1,4,3,5,0,0,3,17,0,0,1,0,0,1,865,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,50,41,82,83,52,17,61,13,82,17,42,13,48,77,75,54,17,42,98,15,12,60,54,50,76,48,101,56,41,45,16,44,18,46,42,14,48,77,49,54,38,56,16,11,66,108,54,79,13,62,47,93,71,15,17,49,65,47,13,65,80,19,48,42,16,61,13,50,54,50,63,47,96,42,52,99,46,12,65 H,300441,8,300,4,16,1015675,19,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,6,5,5,26,42,21,6,24,20,5,22,30,34,34,17,19,16,17,32,20,6,5,7,19,24,16,4,21,20,6,16,30,32,32,26,23,20,18,22,19,5,7,5,19,27,20,7,19,18,5,19,34,40,40,18,18,16,18,35,20,8,5,5,20,28,17,7,19,25,7,17,31,32,29,18,21,22,20,27 H,300685,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,300772,8,100,4,16,1015675,306,3,1,1,,3,2,2,,60,0,2,80,1,210,1,,1,670,1,1,1,5,,,,1,1,,18,2,670,5,1,76000,1,,,1,1,76000,0,1,1,1,1,4,1,3,0,0,1,14,0,0,1,0,0,2,866,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,302,332,320,93,286,535,317,579,425,108,313,94,297,327,99,265,90,503,414,323,251,261,319,87,350,480,344,450,384,104,368,111,262,293,118,284,92,439,527,247,356,300,241,580,239,85,332,131,88,509,371,414,251,412,499,326,433,79,92,330,312,307,333,462,321,98,270,83,121,537,283,427,331,338,515,393,536,75,103,370 H,300985,8,100,4,16,1015675,53,3,1,1,,3,2,2,,60,0,2,40,1,500,1,,2,600,2,1,1,6,,,,1,1,,17,3,240,9,2,188000,2,,,1,1,188000,0,2,2,2,1,4,1,3,0,0,1,5,0,0,1,0,0,2,833,3,0,1,19,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,53,69,48,48,89,55,15,15,15,42,66,61,59,57,86,80,84,48,74,95,47,14,44,58,15,47,100,84,77,68,51,44,61,48,13,12,15,45,14,15,49,81,54,46,96,43,19,19,12,39,49,46,68,61,103,82,91,50,90,87,41,20,59,56,14,49,98,69,93,56,46,42,46,59,17,15,13,50,17 H,301054,8,100,4,16,1015675,135,2,1,1,,3,2,2,,80,0,2,80,1,300,1,,2,1100,2,1,1,6,,,,1,1,,20,2,1000,3,1,96000,4,,,1,1,96000,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,0,0,1,1426,3,0,1,16,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,251,45,123,212,243,132,137,137,129,159,37,128,234,34,147,40,114,217,126,41,205,41,147,225,229,131,127,134,150,132,45,137,218,46,120,39,149,200,143,34,205,37,152,227,246,120,131,131,121,146,36,158,235,37,141,39,138,231,155,37,279,41,135,237,209,134,105,133,145,126,46,129,210,44,146,39,138,268,125,44 H,301431,8,200,4,16,1015675,71,5,1,1,,3,2,2,,90,0,2,50,1,300,1,,1,700,1,1,1,8,,,,1,1,,15,3,360,4,1,85300,3,,,3,1,85300,1,3,3,3,1,3,2,5,0,0,2,12,0,0,1,0,0,1,870,3,0,1,30,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,111,110,21,85,56,69,19,78,117,53,15,20,79,87,24,129,72,132,77,88,63,134,25,57,71,65,24,67,104,121,19,25,76,70,28,132,73,131,79,23,113,15,111,68,80,61,95,102,27,48,111,106,84,67,149,24,68,36,84,14,104,23,116,80,56,75,171,78,21,83,108,118,82,60,112,14,105,19,75 H,301920,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,302047,8,800,4,16,1015675,117,2,1,1,,3,2,2,,30,0,2,50,1,170,1,,,,,3,1,5,,,,1,2,,8,4,480,6,1,38200,4,,,2,1,38200,0,4,4,4,2,5,0,2,0,0,0,5,0,0,0,1,0,1,171,,0,1,10,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,161,147,56,44,161,163,38,173,186,135,96,38,100,167,125,103,63,140,121,96,39,61,159,148,38,125,189,48,50,92,136,161,111,117,79,120,151,109,107,124,36,34,218,193,37,130,233,35,39,101,104,201,109,145,108,106,242,119,155,96,193,206,27,34,229,104,32,256,202,97,137,25,127,136,107,135,29,116,94,128 H,302548,8,500,4,16,1015675,70,3,1,1,,4,2,2,,70,0,300,3,3,1500,1,,1,910,1,1,1,6,,,,1,1,,15,3,770,3,1,59600,4,,,1,1,59600,0,4,4,4,1,3,0,3,0,0,0,22,0,0,0,0,0,1,1069,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,73,66,108,78,125,67,67,118,62,24,121,122,18,70,69,18,65,16,74,22,75,70,108,68,109,60,70,140,72,22,134,120,22,71,76,21,78,20,71,107,73,77,24,68,22,68,66,19,79,124,24,21,118,62,73,126,66,125,73,107,64,72,22,62,17,75,69,18,60,133,25,18,116,69,74,136,69,131,64,23 H,302599,8,100,4,16,1015675,61,2,1,3,1,2,2,2,,100,0,800,3,3,500,1,,,,,3,1,4,,,,1,2,,19,4,2,9,4,14600,4,,,1,1,14600,0,4,4,4,1,7,0,2,0,0,0,23,0,0,0,2,2,1,284,,0,0,20,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,62,60,17,98,60,62,58,18,80,70,80,13,56,26,15,99,104,51,58,21,49,54,94,18,57,59,51,95,17,58,70,132,70,97,131,20,20,63,49,19,74,47,89,15,63,63,59,111,16,53,59,105,49,95,144,17,17,64,76,99,60,66,18,112,57,69,69,22,108,65,63,13,61,22,15,104,85,54,57,115 H,302927,8,600,4,16,1015675,78,4,1,1,,4,2,2,,60,0,2,60,1,450,1,,1,1600,2,1,1,7,,,,1,1,,20,3,480,1,2,45000,2,,,3,1,45000,0,2,2,2,1,1,2,4,0,0,2,57,0,0,1,0,0,2,2120,3,0,1,55,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,139,129,23,20,81,24,77,85,127,76,124,75,120,85,86,21,79,73,135,76,79,83,76,83,125,77,25,128,78,133,81,22,73,23,144,76,21,23,22,73,69,83,75,88,22,70,148,20,75,22,81,134,80,133,20,75,133,146,76,133,20,23,134,135,93,124,70,88,25,74,24,84,23,84,78,125,72,81,75 H,303191,8,200,4,16,1015675,58,2,1,1,,3,1,2,,90,0,30,3,6,110,1,0,2,480,2,2,1,6,,,,1,1,,9,3,730,5,3,46700,4,,,1,1,46700,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,1,1,2,685,3,0,0,12,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,20,110,81,18,60,55,19,48,19,47,58,70,111,51,83,57,55,90,20,55,14,133,111,22,70,60,20,47,14,48,65,61,90,61,105,69,52,97,16,68,17,76,95,20,46,49,22,60,15,73,72,58,112,82,97,55,51,81,17,64,20,91,84,14,59,65,15,71,19,58,56,47,114,54,86,66,59,91,12 H,303408,8,700,4,16,1015675,84,2,1,1,,3,2,2,,60,0,2,70,1,330,1,,2,690,2,1,1,7,,,,1,1,,21,3,380,2,4,27701,4,,,1,1,27701,0,4,4,4,1,3,0,2,0,0,0,48,0,0,0,2,0,1,1105,3,0,1,38,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,87,86,23,80,153,88,25,26,80,85,25,141,87,168,147,86,146,22,85,86,84,76,25,81,135,79,24,24,87,83,23,137,87,142,144,85,142,26,74,83,91,88,23,83,151,87,24,25,93,82,25,135,79,134,134,91,142,24,85,84,80,81,23,78,141,93,26,26,86,81,23,154,89,142,150,80,148,26,96 H,303588,8,400,4,16,1015675,52,2,1,1,,2,2,2,,1,0,1,1,1,,1,,,,,,1,3,2,500,,1,3,,,4,1,8,,,,500,17,1,5,36000,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,47,25,63,37,45,101,55,90,79,70,110,39,17,84,59,19,33,49,94,70,64,71,46,53,58,35,49,12,31,32,23,69,129,23,14,101,47,30,55,72,64,80,43,46,33,22,52,27,36,52,18,75,128,17,22,105,60,62,13,22,70,15,29,62,47,86,43,99,62,37,133,36,8,89,66,14,76,62,17 H,303606,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,303844,8,800,4,16,1015675,78,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,22,25,119,72,121,74,70,130,64,134,21,25,75,76,70,130,76,24,86,85,161,126,25,99,21,90,83,22,87,26,129,152,82,68,79,21,96,140,75,82,135,133,24,62,21,74,83,28,96,21,147,118,78,87,73,20,72,136,70,71,26,23,128,75,136,83,86,128,74,128,23,25,73,69,77,135,93,24,75 H,304043,8,100,4,16,1015675,33,5,1,1,,3,2,2,,110,0,2,3,6,450,1,,1,290,1,1,1,7,,,,1,1,,11,4,530,4,2,45330,2,,,1,1,45330,0,2,2,2,1,5,3,5,0,0,3,12,0,0,1,0,0,2,444,3,0,1,10,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,60,47,54,35,34,36,37,30,14,10,8,34,68,36,10,39,33,9,57,32,56,48,49,30,31,32,40,28,8,13,10,31,57,41,10,32,34,7,7,39,10,7,10,31,37,36,44,37,46,57,56,29,13,38,59,27,37,73,12,37,8,13,10,33,36,28,39,34,58,59,48,32,8,31,67,32,33,55,78 H,304074,8,500,4,16,1015675,95,5,1,1,,4,2,2,,90,0,2,120,1,350,1,,1,820,1,1,1,7,,,,1,1,,17,2,160,2,2,21800,2,,,4,1,21800,0,2,2,2,1,3,3,5,0,0,3,57,0,0,1,0,0,1,1043,3,0,1,26,2,2,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,95,85,104,167,105,86,29,30,167,164,31,91,156,28,32,82,87,164,99,99,87,90,96,26,88,86,189,192,32,29,168,94,26,158,172,94,93,27,81,100,90,89,92,32,98,90,150,176,33,27,171,96,22,157,181,99,113,33,82,92,92,100,107,142,88,99,24,29,183,172,28,111,151,29,27,87,107,141,91 H,304613,8,300,4,16,1015675,109,2,1,2,1,4,2,2,,110,0,2,3,3,1600,1,,1,1000,1,1,1,9,,,,1,1,,18,3,2,5,2,235480,4,,,1,1,235480,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,1,1110,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,100,32,107,129,93,116,33,124,126,177,205,31,32,198,88,34,183,204,99,114,112,29,134,110,99,100,27,105,101,196,185,35,34,160,137,47,172,181,138,100,117,31,129,119,112,110,32,104,122,164,189,34,34,171,111,33,195,182,100,111,113,37,110,119,113,89,31,121,144,160,184,32,30,201,95,31,140,188,114 H,304920,8,100,4,16,1015675,183,2,1,3,1,2,2,2,,50,0,2,3,3,350,1,,2,350,2,1,1,7,,,,1,1,,21,1,2,2,4,34200,4,,,1,1,34200,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,0,0,1,492,3,0,0,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,193,178,67,68,44,61,209,50,213,57,175,154,166,193,65,60,178,195,165,222,307,335,175,210,191,118,292,247,328,183,210,254,201,321,261,162,260,310,358,286,166,214,318,282,273,276,187,262,177,310,162,215,167,153,253,341,192,158,211,153,57,66,175,158,144,149,85,191,63,253,54,62,44,46,218,223,61,58,51 H,305271,8,300,4,16,1015675,302,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,12,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,300,322,309,81,553,350,251,83,307,99,89,467,498,288,279,334,331,104,526,502,298,320,246,86,429,346,260,82,345,89,99,538,497,324,266,321,303,97,491,415,323,291,320,95,436,291,278,95,270,75,96,522,463,295,306,300,338,107,513,460,334,319,318,89,555,305,310,94,250,88,84,537,547,310,319,335,329,89,524,611 H,305509,8,100,4,16,1015675,127,1,1,2,1,2,2,2,,100,0,2,3,3,,1,,,,,,1,4,2,280,,1,3,,,1,2,7,,,,380,32,1,6,14400,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,40,120,162,39,250,111,116,125,118,124,124,33,288,122,115,202,187,157,123,147,115,225,122,124,176,195,34,33,32,31,245,156,160,45,206,139,117,243,44,37,38,153,219,41,191,138,118,82,132,135,153,42,167,132,135,219,199,114,106,140,153,206,154,143,125,205,44,40,45,44,215,114,110,41,179,95,113,176,30 H,305525,8,800,4,16,1015675,76,1,1,1,,2,2,2,,30,0,2,40,1,250,1,,,,,3,1,6,,,,1,2,,12,2,100,4,,,,,,1,4,65000,0,4,4,4,1,6,0,,0,0,0,3,0,0,0,0,0,1,137,,0,1,11,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,93,71,120,70,137,67,77,80,20,75,27,72,77,18,65,147,23,27,139,131,82,65,98,78,159,70,87,82,23,67,20,80,72,28,75,109,24,26,27,32,89,69,23,68,19,73,69,88,145,63,133,82,64,131,85,26,118,128,20,18,81,80,31,62,15,84,61,73,139,75,133,80,81,100,90,22,129,148,111 H,305619,8,500,4,16,1015675,81,2,1,2,1,4,2,2,,120,0,2,60,2,500,1,,,,,3,1,8,,,,1,2,,19,2,2,5,1,152000,4,,,1,1,152000,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,1,0,1,389,,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,26,94,73,140,81,116,119,24,27,90,67,81,86,138,26,89,85,76,25,142,24,88,85,150,74,141,141,24,21,84,83,73,90,126,19,91,76,90,26,155,25,81,83,153,78,151,180,24,23,75,86,86,78,112,18,68,76,89,21,152,22,89,75,130,85,119,160,22,26,76,68,89,78,157,28,79,101,78,27 H,306407,8,900,4,16,1015675,43,2,1,1,,3,2,2,,80,0,150,90,1,400,1,,1,540,1,1,1,5,,,,1,1,,8,4,410,9,1,92000,4,,,1,1,92000,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,1,757,3,0,1,12,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,73,85,50,11,36,71,45,46,64,41,8,11,11,34,38,45,54,52,65,12,17,13,46,74,42,18,55,36,12,41,72,63,75,43,34,42,57,54,12,65,69,84,58,15,31,74,51,37,77,37,10,10,13,53,46,46,43,40,78,13,12,14,52,90,46,11,41,49,11,26,83,95,69,42,34,42,54,53,12 H,306416,8,800,4,16,1015675,80,1,1,1,,4,2,2,,140,0,2,100,1,240,1,,2,160,2,1,1,9,,,,1,1,,11,1,530,5,,,,,,2,4,25000,0,4,4,4,2,7,0,,0,0,0,25,0,0,0,0,0,1,521,3,0,1,15,,,,1,0,1,0,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,0,88,138,124,82,64,93,174,55,121,32,22,135,125,35,88,117,30,22,92,102,69,154,108,65,65,87,133,76,108,27,22,125,125,19,63,130,20,16,69,73,80,156,85,110,102,73,177,73,75,26,20,175,129,27,100,127,27,32,112,90,79,118,56,73,86,56,121,89,84,22,33,146,118,22,57,92,22,31,78,64 H,306425,8,400,4,16,1015675,69,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,122,68,80,85,24,60,20,65,66,24,59,110,23,20,116,75,76,103,22,59,24,76,70,92,119,64,154,72,70,126,67,18,103,98,24,69,63,22,126,61,113,77,92,59,21,79,17,61,57,19,69,102,22,24,118,65,66,109,18,67,21,71,82,80,107,61,132,63,87,162,74,22,116,97,19,71,69,19,95 H,306700,8,200,4,16,1015675,234,3,1,1,,3,1,2,,140,0,2,3,3,,1,,,,,,1,5,2,50,,1,3,,,2,2,4,1,16500,4,190,14,1,1,16500,0,4,4,4,1,4,0,3,0,0,0,,0,0,0,0,0,2,,,1,0,,3,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,224,196,67,71,72,258,394,218,68,272,255,73,238,351,339,322,233,278,367,233,252,253,77,65,72,201,401,191,85,338,247,78,244,428,430,308,199,225,338,212,228,209,71,82,82,215,328,249,74,275,240,85,311,339,386,340,232,229,383,213,203,232,78,68,65,259,414,213,77,220,255,72,258,452,388,373,206,227,337 H,306825,8,300,4,16,1015675,44,2,1,1,,3,2,2,,100,0,1200,3,6,600,1,,,,,3,1,5,,,,1,2,,5,1,500,6,4,20400,4,,,1,1,20400,0,4,4,4,1,7,0,2,0,0,0,21,0,0,0,2,2,1,359,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,49,66,38,45,72,32,13,11,9,39,36,42,55,47,80,100,66,38,12,11,36,70,49,59,86,54,14,14,14,48,50,41,48,45,66,75,59,47,14,13,35,60,42,50,111,46,17,15,14,47,48,38,61,55,53,70,74,43,14,19,54,76,53,51,56,42,12,10,15,42,43,50,42,48,73,68,42,34,13 H,306903,8,100,4,16,1015675,116,1,1,,,2,7,,,70,1200,2,3,3,,1,,,,,,1,3,2,150,,1,3,,,0,1,3,,,,220,16,1,6,16360,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,215,124,36,99,110,118,29,143,35,168,103,199,124,129,90,171,181,25,118,123,122,35,116,35,36,236,143,181,127,134,198,116,207,34,33,125,115,119,235,42,167,104,34,115,118,116,31,108,28,163,104,246,124,93,127,206,243,40,106,108,118,39,105,35,43,215,135,210,103,122,246,106,193,31,36,108,88,146,216,39 H,307057,8,500,4,16,1015675,87,2,1,1,,3,2,2,,60,0,2,60,1,330,1,,1,870,1,1,1,4,,,,1,1,,16,1,70,2,7,36000,2,,,3,3,36000,0,2,2,2,1,1,1,2,0,0,1,33,0,0,1,0,0,1,996,3,0,1,27,1,14,13,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,26,164,84,27,91,83,72,184,27,151,25,144,87,81,95,30,90,169,70,152,82,97,25,82,147,143,130,93,96,79,77,80,28,26,24,93,135,90,25,25,83,84,141,93,25,27,25,110,70,88,98,92,140,185,160,90,26,88,146,93,139,23,80,160,92,84,92,26,139,23,139,25,93,89,90,152,83,25,72,90 H,307348,8,800,4,16,1015675,78,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,21,24,70,74,69,124,69,24,64,23,22,139,75,128,71,76,132,77,87,146,27,23,84,99,73,153,82,22,87,23,24,155,83,117,79,69,164,82,75,139,24,23,78,63,69,127,84,27,95,21,25,118,76,150,75,67,123,80,71,123,25,26,74,78,81,142,88,21,75,22,23,137,72,118,77,79,161,85,74 H,307828,8,300,4,16,1015675,84,2,1,1,,2,2,2,,50,0,300,140,1,650,1,,2,440,2,1,1,5,,,,1,1,,11,2,20,7,4,73400,4,,,1,1,73400,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,2,1,805,3,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,72,75,91,148,19,75,87,133,90,183,143,23,22,76,95,82,105,174,29,26,89,95,79,166,25,77,74,130,84,115,130,28,29,84,81,91,80,139,155,136,71,85,85,30,151,92,81,23,90,37,21,134,157,100,70,60,86,23,135,137,91,72,84,28,125,84,92,29,91,23,21,135,160,101,89,93,79,23,26 H,308147,8,700,4,16,1015675,77,2,1,1,,3,2,2,,30,0,2,100,1,240,1,,1,640,1,1,1,6,,,,1,1,,18,2,560,1,4,32700,4,,,1,1,32700,0,4,4,4,1,1,0,2,0,0,0,30,0,0,0,2,0,1,817,3,0,1,29,1,8,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,79,21,74,117,77,80,135,80,24,21,21,76,73,94,84,73,125,118,22,118,77,22,75,137,74,79,132,75,23,21,21,76,74,79,89,77,123,155,24,136,77,25,79,133,80,75,140,75,23,21,22,80,71,72,71,75,137,138,22,126,78,20,79,130,90,83,124,84,25,22,22,84,79,75,78,72,133,121,24 H,308178,8,600,4,16,1015675,79,1,1,1,,3,2,2,,70,0,2,4,1,450,1,,1,830,1,1,1,5,,,,1,1,,16,1,450,7,,,,,,1,6,49300,0,4,4,4,1,4,0,,0,0,0,23,0,0,0,0,0,1,942,3,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,90,20,137,84,126,78,23,83,23,133,85,23,24,86,80,76,75,76,27,22,81,140,23,79,23,77,125,75,144,25,79,139,132,78,75,75,78,79,132,133,77,24,129,83,132,75,23,74,25,128,78,25,26,92,86,81,81,77,24,25,85,138,23,81,24,77,131,73,126,23,82,153,138,81,78,77,84,82,134 H,308770,8,100,4,16,1015675,353,1,1,,,1,8,,,30,0,2,3,3,,1,,,,,,1,2,2,460,,1,3,,,1,1,5,,,,490,22,1,4,27000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,333,96,699,541,90,388,402,103,386,116,348,377,320,634,324,528,320,307,688,582,332,572,112,120,627,318,343,555,260,666,315,357,338,111,369,100,394,387,118,579,276,591,118,98,487,445,397,452,324,507,372,391,370,98,345,130,405,408,103,108,387,94,549,714,119,281,335,117,303,110,367,376,403,576,382,550,363,331,576,133 H,308790,8,500,4,16,1015675,85,4,1,1,,4,2,2,,30,0,2,80,1,300,1,,1,870,1,1,1,8,,,190,1,1,,19,6,20,2,2,285000,3,,,3,1,285000,0,3,3,3,1,3,2,4,0,0,2,5,0,0,1,0,0,1,1172,2,0,1,36,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,27,81,78,149,78,90,89,86,154,76,84,23,25,149,164,33,86,122,21,108,28,86,84,150,85,80,84,85,144,85,82,25,24,140,133,31,84,141,25,79,142,91,81,25,97,87,89,89,23,94,77,153,154,23,21,136,89,30,155,77,148,90,80,27,88,76,100,76,22,85,82,152,168,27,26,130,84,27,132,89 H,308856,8,500,4,16,1015675,120,3,1,1,,3,2,2,,90,0,2,130,1,,1,,,,,,1,4,2,730,,1,3,,,2,960,3,1,44400,1,1030,28,1,1,44400,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,120,41,40,41,117,110,124,111,117,195,195,175,114,35,126,220,116,134,39,188,113,31,31,41,119,116,120,135,127,193,235,209,114,34,122,225,112,103,35,186,148,32,34,28,125,119,134,116,104,217,191,166,129,35,111,231,120,110,32,174,105,33,40,36,122,129,110,151,117,219,278,215,115,37,154,234,113,123,39 H,309209,8,500,4,16,1015675,137,3,1,,,1,10,,,70,0,400,60,2,220,1,,2,420,2,2,1,2,,,,1,1,,1,4,1,3,2,73300,4,,,1,1,73300,0,4,4,4,1,3,0,3,0,0,0,10,0,0,0,0,0,1,601,3,0,0,1,3,5,3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,142,123,38,214,43,149,242,213,234,123,39,261,143,148,155,135,37,36,154,148,141,145,234,36,186,125,42,44,40,130,234,39,139,132,171,125,227,262,126,151,128,133,47,258,42,137,234,249,233,140,40,236,125,129,137,141,43,44,133,138,139,115,241,47,243,173,36,38,41,132,224,43,139,130,119,140,240,191,148 H,309419,8,300,4,16,1015675,129,2,1,2,1,2,2,2,,60,0,2,100,2,800,1,,,,,3,1,4,,,,1,2,,19,2,2,2,4,13900,4,,,1,1,13900,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,2,1,2,310,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,193,108,30,115,123,65,139,188,186,206,124,112,176,220,119,37,37,40,38,160,51,125,249,134,142,168,112,42,46,48,120,134,102,103,152,253,215,180,232,146,223,143,45,140,122,45,140,254,222,203,131,156,158,106,92,47,36,34,41,111,40,100,194,104,133,226,122,50,40,40,123,115,120,129,163,215,189,171,159 H,309799,8,700,4,16,1015675,84,3,1,1,,3,2,2,,50,0,2,3,2,320,1,,2,1300,2,1,1,5,,,,1,1,,16,2,70,1,,,,,,1,5,41100,0,4,4,4,1,1,0,,0,1,0,43,0,0,0,2,1,1,1468,3,0,1,22,,,,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,80,79,88,25,82,25,77,93,26,89,136,21,24,156,96,86,132,77,123,146,80,82,76,25,87,24,85,75,26,85,140,25,23,147,81,81,156,91,153,25,84,89,81,133,88,148,85,82,141,84,23,159,131,23,80,78,26,81,27,25,72,79,80,140,86,149,91,83,139,85,27,144,141,23,88,85,20,83,23,154 H,309963,8,200,4,16,1015675,21,3,1,2,1,3,2,2,,90,0,1600,100,2,650,1,,2,1300,2,1,1,8,,,,1,1,,18,4,1200,3,8,50900,4,,,1,3,83900,0,4,4,4,1,3,0,2,0,1,0,28,3,0,0,2,2,1,1985,3,0,1,37,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,23,17,9,22,26,24,5,7,28,20,5,34,24,35,29,17,32,7,17,32,14,19,53,19,6,35,44,24,23,25,32,6,21,9,7,22,5,40,21,26,14,16,8,26,37,27,7,5,24,21,7,39,20,45,38,24,37,6,18,27,25,16,40,25,6,20,52,39,14,16,44,7,23,7,7,19,5,33,19 H,310859,8,900,4,16,1015675,246,0,1,3,,5,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,15,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,277,75,85,245,218,257,74,428,73,273,436,430,342,231,79,396,286,257,230,214,242,429,354,266,261,221,379,69,453,266,64,83,69,196,381,72,257,304,218,229,232,76,70,243,225,273,88,387,69,261,357,389,376,238,79,409,268,243,249,229,263,380,344,270,272,258,446,73,453,255,87,69,70,204,406,75,264,286,241 H,311383,8,200,4,16,1015675,164,0,1,2,,3,2,2,,,,,,,,2,,,,,,2,6,,,,,,7,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,288,154,45,43,55,204,173,166,152,171,239,287,256,161,61,182,257,165,192,222,49,160,297,309,277,158,145,151,148,160,58,63,46,151,297,194,55,159,147,259,59,199,331,358,293,167,172,147,139,173,53,51,46,175,300,147,54,170,134,55,299,196,43,45,46,180,136,147,177,128,214,248,275,208,51,146,282,181,150,40 H,311432,8,300,4,16,1015675,80,1,1,3,1,3,2,2,,70,0,2,3,2,800,1,,,,,3,1,6,,,,1,2,,16,1,2,6,,,,,,1,4,11800,0,4,4,4,1,7,0,,0,0,0,22,0,0,0,1,1,1,214,,0,0,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,70,71,141,78,126,96,85,113,87,29,109,122,28,74,81,26,97,25,72,153,87,93,26,65,23,76,62,20,80,126,25,23,132,61,77,155,71,156,112,132,68,74,24,93,24,83,82,22,84,183,26,25,141,69,72,139,62,130,84,26,89,69,114,87,150,69,66,119,67,28,148,128,27,79,95,25,89,25,78,20 H,311448,8,400,4,16,1015675,139,2,1,1,,2,1,2,,90,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,1,2,2,7,29400,2,540,22,1,3,29400,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,275,133,158,156,38,124,308,101,177,254,38,109,41,95,115,78,163,44,182,264,240,159,150,131,27,113,280,103,277,245,30,142,38,112,108,43,127,43,196,212,265,201,117,196,37,90,259,109,192,207,36,112,54,106,115,55,129,46,168,242,233,161,145,129,45,113,223,125,229,292,38,144,58,108,141,51,111,27,197 H,311706,8,300,4,16,1015675,45,4,1,1,,2,2,2,,90,0,2,130,1,650,1,,2,400,2,1,1,4,,,,1,1,,12,3,770,6,5,39200,2,,,1,2,39200,1,2,2,2,1,5,2,4,0,0,2,25,0,0,1,1,0,1,805,3,0,1,18,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,35,46,61,72,80,36,55,11,82,14,65,16,12,50,41,34,45,43,45,41,72,15,16,39,41,75,39,47,43,43,70,48,63,15,18,99,61,12,69,11,49,43,41,97,69,40,77,15,69,11,36,13,16,40,56,45,38,49,38,49,66,13,16,47,56,63,46,51,44,56,87,38,41,11,11,71,114,15,52 H,311711,8,700,4,16,1015675,229,2,1,1,,2,3,2,,20,0,2,20,1,,1,,,,,,1,3,2,850,,1,3,,,2,20,2,1,106000,4,892,10,1,1,106000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,214,383,237,236,75,68,377,408,62,212,363,64,70,242,232,395,256,248,238,245,237,66,260,233,383,396,55,70,382,221,65,378,370,232,233,68,217,232,222,246,250,69,215,216,389,370,69,79,383,223,67,373,407,198,224,69,225,266,203,265,221,402,204,224,60,65,398,369,69,218,417,67,69,255,239,448,206,243,243 H,311888,8,600,4,16,1015675,101,1,1,1,,5,2,2,,50,0,2,10,1,,1,,,,,,1,9,2,330,,1,3,,,2,10,6,,,,391,22,1,6,21400,0,4,4,4,1,7,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,107,31,87,158,112,95,101,185,102,160,29,101,32,95,100,98,29,30,174,115,159,107,34,89,31,28,186,103,173,103,102,168,101,157,29,28,101,104,95,170,92,26,96,184,112,99,109,187,100,183,27,100,30,105,108,103,30,31,159,94,175,98,30,101,28,30,154,103,165,93,103,181,112,177,29,27,97,102,99,187 H,311960,8,800,4,16,1015675,34,0,1,,,0,5,,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,10,36,54,63,33,36,32,30,31,12,35,65,11,36,11,29,48,36,65,10,67,30,11,10,32,35,33,37,30,55,36,12,59,32,55,33,10,33,10,54,10,35,52,52,33,37,35,37,37,9,33,59,10,35,9,36,59,32,53,9,67,37,9,12,38,35,38,38,35,64,36,10,54,34,56,27,11,34,12 H,312292,8,900,4,16,1015675,71,5,1,,,3,4,,,1,2200,2,1,1,,1,,,,,,1,5,2,480,,1,3,,,1,1,3,7,16800,3,480,34,1,3,16800,0,3,3,3,1,3,4,5,0,0,4,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,126,69,25,20,63,119,18,102,77,76,67,70,78,73,18,128,90,71,126,86,87,113,77,75,148,78,64,82,110,18,21,21,20,105,81,75,22,130,70,106,24,92,130,110,58,22,124,19,75,73,70,75,68,63,106,18,71,76,23,73,79,18,84,84,25,69,68,75,23,126,114,108,138,22,77,65,111,18,83,18 H,312451,8,200,4,16,1015675,126,1,1,,,1,10,,,80,0,100,100,2,0,1,,,,,3,1,2,,,,2,2,,1,2,1,3,,,,,,2,4,8000,0,4,4,4,1,1,0,,0,0,0,28,0,0,0,0,0,1,188,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,165,48,39,130,108,200,138,108,106,164,234,132,159,33,34,259,210,37,99,114,198,39,49,124,117,200,120,132,128,140,211,131,131,31,35,208,200,43,140,137,35,194,268,134,103,32,139,121,122,127,52,147,127,253,190,38,49,165,114,146,41,204,206,118,111,31,126,126,109,149,45,111,127,239,212,47,34,163,138,143 H,312692,8,800,4,16,1015675,83,1,1,2,2,3,2,2,,60,0,750,3,6,600,1,,,,,3,1,5,,,,1,2,,13,2,2,9,,,,,,1,6,12600,0,4,4,4,1,7,0,,0,0,0,17,0,0,0,1,1,1,177,,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,26,30,72,108,85,71,81,155,159,135,73,23,80,138,81,79,161,101,127,135,110,152,72,101,97,78,93,21,22,21,96,138,70,30,85,69,24,112,24,22,22,33,69,88,89,68,82,135,204,131,75,17,76,157,71,77,142,85,140,131,118,182,87,94,89,75,78,24,31,19,88,124,70,37,101,72,24,119,26 H,312846,8,500,4,16,1015675,144,5,1,1,,3,2,2,,80,0,2,3,3,250,1,,1,800,1,1,1,5,,,,1,1,,15,3,280,3,1,61000,2,,,2,1,61000,0,2,2,2,1,4,2,5,0,0,2,18,0,0,1,0,0,2,903,3,0,1,24,3,2,2,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,132,139,145,63,46,225,52,136,141,204,259,262,133,140,45,200,149,47,138,202,45,189,211,128,167,135,162,45,274,138,132,168,34,252,131,119,48,146,61,180,161,139,156,49,34,307,47,123,122,269,231,208,146,135,40,244,126,40,127,262,48,242,229,104,130,161,125,46,221,150,158,151,54,219,156,143,40,145,46,141 H,312902,8,800,4,16,1015675,19,2,1,1,,2,2,2,,50,0,840,3,6,1000,1,,1,600,1,1,1,6,,,,1,1,,19,3,310,9,2,30100,4,,,1,1,30100,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,0,0,2,746,3,0,1,32,1,8,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,15,5,18,19,7,15,23,33,31,17,18,17,15,19,6,7,7,22,28,32,20,6,15,14,5,22,34,34,32,19,19,19,19,17,5,5,5,14,38,9,15,29,17,20,32,17,5,5,4,20,22,15,15,18,33,51,37,15,4,5,13,24,24,22,40,19,7,5,6,19,19,19,13,17,30,30,30,15,5,27 H,312945,8,300,4,16,1015675,93,1,1,1,,3,2,2,,50,0,2,60,1,240,1,,,,,3,1,9,,,,1,2,,15,1,200,7,,,,,,1,6,21100,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,1,1,255,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,106,102,154,99,84,34,175,24,28,88,87,144,131,31,116,87,88,26,92,29,32,28,93,152,30,103,106,87,92,155,162,94,87,91,140,25,146,98,28,96,108,104,26,100,77,156,29,158,159,99,109,28,23,158,105,86,96,201,99,177,199,164,96,30,149,80,96,86,81,29,24,88,83,79,23,175,26,86,150 H,313246,8,200,4,16,1015675,22,4,1,1,,2,2,2,,80,0,130,3,6,900,1,,1,510,1,1,1,4,,,,1,1,,10,3,30,9,2,30000,1,,,1,1,30000,0,1,1,1,1,3,2,4,0,0,2,24,0,0,1,0,0,1,604,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,23,44,25,26,7,5,46,39,6,30,41,5,5,27,24,35,25,23,25,19,28,45,24,29,7,7,45,36,7,37,46,7,7,13,22,45,21,30,30,22,20,7,33,19,73,60,7,9,34,20,7,32,41,26,29,8,22,19,20,15,23,9,21,39,34,35,5,7,59,28,9,34,35,24,24,5,21,29,15 H,313357,8,400,4,16,1015675,28,1,1,1,,3,1,2,,90,0,2,3,3,,1,,,,,,1,5,2,340,,1,3,,,2,1,3,,,,430,5,1,6,96000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,46,49,9,30,51,7,7,31,40,35,28,26,22,34,47,25,31,8,22,59,8,10,55,32,10,39,31,22,35,8,34,26,25,24,8,30,31,57,24,45,7,6,43,33,10,47,40,20,26,9,36,30,23,31,12,27,35,54,35,9,41,45,10,27,43,7,8,31,31,37,29,26,24,27,58,26,29,10,35 H,313856,8,400,4,16,1015675,182,5,1,1,,4,2,2,,120,0,2,4,1,510,1,,1,1200,1,1,1,5,,,200,1,1,,18,6,60,3,1,102000,2,,,1,1,102000,0,2,2,2,1,5,3,5,0,0,3,18,0,0,1,0,0,1,1529,1,0,1,36,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,242,145,67,305,277,59,223,131,48,206,49,181,192,163,272,361,318,150,71,182,312,205,59,270,247,61,191,143,63,173,48,223,189,166,249,192,279,141,381,156,65,214,273,70,53,267,202,135,238,180,244,159,273,141,52,259,56,195,375,210,65,173,314,54,59,237,158,180,322,228,288,206,223,137,59,214,45,110,97 H,314344,8,700,4,16,1015675,76,2,1,,,1,9,,,30,0,2,20,1,,1,,,,,,1,3,2,600,,1,3,,,1,1,2,1,31000,4,650,25,3,1,31000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,118,60,25,89,76,20,78,136,122,150,79,69,66,81,81,23,18,20,136,81,132,80,25,75,84,26,70,137,129,133,81,66,58,72,79,24,19,20,20,75,18,81,151,72,67,129,81,22,24,21,64,75,94,83,75,140,127,118,18,75,25,74,127,76,69,126,76,23,21,23,78,88,89,81,80,120,127,116,132 H,314375,8,700,4,16,1015675,71,2,1,1,,3,2,2,,60,0,2,40,1,570,1,,1,1400,1,2,1,7,,,310,1,1,,20,2,550,1,,,,,,1,7,89600,0,4,4,4,1,1,0,,0,1,0,25,3,0,0,2,1,1,1856,1,0,1,61,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,69,115,69,110,72,74,125,74,21,118,114,21,69,72,20,66,20,67,126,66,65,22,80,19,71,74,20,66,127,20,23,119,69,71,109,80,115,66,22,71,75,113,63,121,71,63,119,69,20,108,116,21,67,68,20,67,21,75,116,70,73,19,74,20,65,78,19,66,121,18,20,126,74,73,125,69,125,69,20 H,314528,8,600,4,16,1015675,126,1,1,1,,4,2,2,,50,0,930,80,1,200,1,,,,,3,1,9,,,,1,2,,17,2,270,6,,,,,,1,4,56600,0,4,4,4,1,1,0,,0,0,0,8,0,0,0,1,1,1,398,,0,1,30,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,132,37,229,30,124,124,129,130,137,123,200,37,117,133,45,35,135,199,122,136,212,133,123,141,215,37,36,37,38,183,141,137,36,234,123,131,225,148,226,207,139,42,209,39,121,121,128,139,122,125,216,39,123,124,43,35,143,231,120,120,198,130,119,123,216,35,36,39,39,196,131,128,38,233,126,126,238,124,217 H,314858,8,400,4,16,1015675,90,1,1,3,1,3,1,2,,90,0,2,3,3,300,1,1000,1,700,1,1,1,5,,,,1,1,,24,1,2,1,,,,,,1,6,24000,0,4,4,4,1,2,0,,0,0,0,44,0,0,0,0,0,1,873,3,0,0,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,124,86,92,112,64,21,36,35,102,132,111,26,85,80,29,104,142,145,147,24,89,91,91,102,86,117,127,132,104,27,75,151,97,115,197,96,25,30,32,27,78,93,83,74,108,151,111,147,101,33,79,152,81,70,155,101,26,23,19,176,95,110,93,79,106,31,23,35,119,176,73,32,98,103,30,75,138,154,156,144 H,314994,8,900,4,16,1015675,70,2,1,1,,2,2,2,,40,1500,800,180,2,,1,,,,,,1,4,2,350,,1,3,,,2,1,9,6,29200,4,637,26,1,2,29200,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,57,127,122,15,18,112,65,17,109,154,62,55,26,78,81,85,65,20,91,54,58,132,119,27,27,75,55,26,149,124,82,90,27,71,51,78,86,19,48,67,51,109,107,25,29,109,58,29,151,111,89,71,23,59,56,92,65,23,77,57,96,131,103,20,20,113,87,17,152,185,53,50,23,64,64,67,84,20,57 H,315384,8,300,4,16,1015675,95,1,1,1,,3,3,2,90,50,0,2,60,1,1300,1,,,,,3,1,8,,,,1,2,,15,1,380,4,,,,,,1,6,17100,0,4,4,4,1,6,0,,0,0,0,29,0,0,0,1,1,1,407,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,96,124,70,104,60,50,217,137,43,68,138,26,22,99,76,139,86,84,94,73,100,101,72,130,36,49,142,149,54,98,147,23,18,75,83,208,135,114,95,107,108,164,127,84,46,39,131,124,19,77,166,27,31,111,77,154,126,89,82,98,87,193,91,79,23,35,181,178,25,77,137,36,31,53,72,280,85,91,101 H,315430,8,900,4,16,1015675,75,3,1,,,2,5,,,40,0,2,30,1,,1,,,,,,1,3,2,580,,2,3,,,1,1,3,7,41000,2,650,19,1,3,41000,0,3,3,3,1,3,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,124,87,78,76,18,124,62,81,27,57,22,24,117,142,58,74,83,85,24,100,27,83,55,74,144,22,57,71,154,85,132,111,28,26,80,64,60,71,106,27,95,69,89,73,17,120,76,90,20,67,26,27,76,116,65,91,78,70,24,114,22,78,70,83,174,23,62,57,117,103,121,118,27,26,93,84,63,79,133 H,315595,8,500,4,16,1015675,74,4,1,1,,3,2,2,,80,0,2,20,1,,1,,,,,,1,7,2,780,,1,3,,,3,840,2,2,40000,1,950,29,1,1,40000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,68,65,101,132,120,93,137,22,139,23,76,22,22,69,60,67,72,75,73,71,100,19,21,77,73,151,70,75,82,64,137,67,80,21,23,143,113,25,122,21,79,78,75,125,146,82,140,21,115,21,70,20,21,79,76,73,77,68,85,73,116,22,19,61,76,150,84,68,69,72,135,79,65,25,22,111,113,24,132 H,315635,8,700,4,16,1015675,106,3,1,2,1,5,2,2,,300,0,2,3,3,1300,1,,,,,3,1,9,,,,1,2,,24,6,2,5,3,161600,4,,,1,1,161600,0,4,4,4,1,5,0,3,0,0,0,6,0,0,0,2,1,1,852,,0,1,62,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,100,96,104,154,93,32,104,190,177,115,101,171,30,107,35,33,103,28,108,32,105,98,99,32,108,183,92,32,30,100,107,30,180,109,180,198,108,186,106,31,113,113,108,29,99,191,104,35,29,97,102,35,174,106,194,168,112,166,105,181,105,108,104,174,100,27,102,164,167,98,101,165,32,98,29,33,115,29,99 H,315930,8,300,4,16,1015675,54,6,1,2,1,5,2,2,,90,0,2,200,1,1200,1,,2,1200,2,1,1,9,,,,1,1,,19,3,2,2,1,62400,3,,,1,1,62400,0,3,3,3,1,2,4,6,0,0,4,36,0,0,1,0,0,1,1890,3,0,1,48,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,44,40,54,69,15,13,18,54,93,58,12,54,65,18,51,92,89,72,64,52,43,52,52,68,15,15,21,45,77,64,24,48,76,25,50,136,76,76,90,59,50,36,65,84,21,16,17,51,108,61,16,54,66,16,44,84,96,81,86,62,55,46,60,62,12,14,16,45,81,52,17,55,72,21,48,80,75,93,92 H,316101,8,300,4,16,1015675,114,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,32,30,30,131,199,98,38,117,147,33,122,175,215,229,111,130,137,106,31,116,172,184,204,98,31,99,150,119,117,206,103,32,37,33,132,123,108,111,29,109,180,216,178,96,27,100,183,116,102,218,136,32,35,37,113,104,127,147,180,121,38,37,34,124,233,113,32,98,120,36,89,175,183,186,108,116,127,120,220 H,316112,8,100,4,16,1015675,148,3,1,2,1,3,2,2,,80,0,2,10,3,330,1,,1,620,1,1,1,5,,,170,1,1,,14,4,2,3,7,28110,2,,,1,3,58110,0,2,2,2,1,4,1,2,0,1,1,18,3,0,1,0,0,1,880,2,0,1,12,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,206,277,57,48,284,147,46,204,293,154,139,42,131,171,152,138,44,118,151,137,220,265,50,35,273,139,34,184,234,181,126,49,189,149,147,156,69,146,143,152,42,41,209,251,37,135,249,56,50,143,164,209,144,156,149,140,216,141,122,169,48,42,237,269,45,160,215,55,64,144,166,233,182,128,147,158,216,183,128,155 H,316202,8,100,4,16,1015675,91,2,1,1,,3,2,2,,80,0,2,100,1,530,1,,1,730,1,1,1,6,,,50,1,1,,15,2,400,4,3,35000,4,,,1,1,35000,0,4,4,4,1,5,0,2,0,0,0,34,0,0,0,1,0,1,993,2,0,1,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,31,94,90,177,26,172,203,93,98,31,27,139,105,93,90,164,87,94,26,75,27,79,81,158,25,161,163,84,97,25,29,159,86,103,91,151,83,84,154,92,162,89,102,27,145,25,25,93,88,150,172,26,78,94,93,25,85,93,177,91,141,95,96,29,155,21,26,89,92,160,149,30,101,102,96,28,97,100,31 H,316993,8,100,4,16,1015675,19,4,1,1,,3,2,2,,100,0,2,70,1,100,1,,1,1600,1,1,1,7,,,130,1,1,,20,3,200,4,1,102200,2,,,1,1,102200,0,2,2,2,1,2,1,4,0,0,1,23,0,0,1,0,0,1,1917,1,0,1,6,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,18,30,19,24,20,5,22,18,34,7,30,29,21,20,5,7,28,19,19,28,5,15,29,35,31,18,5,28,19,17,19,19,5,6,18,17,15,5,19,7,36,15,5,5,5,16,32,5,19,18,17,17,30,32,20,15,17,30,36,19,18,5,19,19,17,28,23,19,7,33,4,5,23,21,34,30,5,18,5 H,317722,8,800,4,16,1015675,80,3,1,1,,3,1,2,,70,0,2,90,1,,1,,,,,,1,6,2,350,,1,3,,,3,700,5,1,52200,4,568,13,2,1,52200,0,1,4,4,1,5,0,2,0,1,0,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,101,117,142,134,27,72,78,131,25,98,66,20,96,87,22,74,62,75,71,30,117,133,136,132,28,107,88,122,24,72,65,22,76,82,23,79,86,81,74,138,20,20,23,25,172,84,71,28,132,77,71,119,79,90,135,73,65,74,82,163,22,26,31,23,151,88,97,21,131,85,73,124,90,77,122,85,82,75,98 H,317845,8,700,4,16,1015675,124,3,1,1,,3,2,2,,60,0,2,80,1,500,1,,1,1200,1,1,1,6,,,310,1,1,,18,2,40,2,7,52000,2,,,1,3,52000,0,2,2,2,1,2,2,3,0,0,2,38,0,0,1,0,0,1,1653,1,0,1,30,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,203,38,209,122,41,35,35,139,192,40,124,127,122,122,218,214,123,115,214,34,137,116,124,39,127,113,119,224,129,127,35,208,38,37,140,126,209,193,124,121,201,35,204,121,32,38,34,129,218,34,124,127,120,132,222,203,124,133,223,37,121,126,123,38,129,124,122,198,127,132,34,184,39,36,114,141,216,201,116 H,318283,8,300,4,16,1015675,15,4,1,2,1,4,2,2,,180,0,2,3,3,350,1,,1,830,1,1,1,9,,,210,1,1,,14,3,170,5,3,64440,2,,,1,1,64440,0,2,2,2,1,5,2,4,0,0,2,23,0,0,1,0,0,1,1234,1,0,1,22,2,5,8,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,4,29,22,4,15,14,3,15,5,16,16,17,20,11,20,18,11,24,27,14,21,5,7,25,14,15,22,13,26,15,13,15,5,25,3,14,15,5,23,11,31,5,5,25,9,19,27,17,39,10,12,15,3,19,3,14,19,3,5,13,5,19,21,5,13,13,4,13,5,17,12,15,21,12,24,21,16,23,4 H,318737,8,800,4,16,1015675,120,3,1,2,1,3,2,2,,130,0,2,3,3,200,1,,1,120,1,1,1,7,,,220,1,1,,12,2,2,5,1,82000,2,,,1,1,82000,0,2,2,2,1,4,1,3,0,0,1,7,0,0,1,0,0,2,470,1,0,1,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,34,131,236,227,224,96,107,133,98,107,52,35,39,121,191,92,27,115,176,142,41,182,215,186,211,141,140,101,145,110,31,32,29,124,237,109,24,120,202,109,38,133,220,214,216,160,109,121,111,100,43,30,32,127,199,110,40,138,207,129,31,118,196,185,188,109,110,88,116,146,38,37,38,133,205,99,33,117,209 H,318914,8,300,4,16,1015675,113,3,1,1,,4,2,2,,90,0,2,440,2,200,1,,1,750,1,1,1,7,,,,1,1,,20,3,770,2,7,28300,2,,,1,3,53300,1,2,4,2,1,3,0,2,1,1,1,30,3,0,1,1,0,2,1344,3,0,1,23,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,51,118,110,191,155,130,116,133,160,66,102,37,47,287,194,21,121,183,35,119,195,132,139,52,116,107,82,134,50,90,94,146,112,44,44,203,149,39,159,102,44,69,129,126,82,131,107,123,170,133,172,34,43,174,204,47,115,163,38,117,176,56,105,66,135,141,136,124,37,157,142,131,220,28,50,188,70,32,233,57 H,319038,8,500,4,16,1015675,115,2,1,2,1,3,2,2,,60,0,2,230,1,1200,1,,,,,3,1,5,,,,1,2,,19,3,2,3,4,53300,4,,,1,1,53300,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,2,2,1,702,,0,1,49,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,41,35,196,128,128,34,144,137,112,184,112,116,212,130,106,105,192,122,39,29,30,34,197,111,118,31,230,102,109,217,136,122,200,111,102,113,173,134,194,214,196,189,30,123,104,217,38,106,121,34,109,119,28,114,103,114,38,87,182,172,197,197,37,121,109,154,40,119,111,47,113,126,37,124,121,114,34,119 H,319047,8,600,4,16,1015675,521,4,1,1,,4,2,2,,160,0,2,90,1,500,1,,1,960,1,1,1,8,,,,1,1,,16,3,1100,6,5,26000,1,,,2,2,47200,0,3,1,1,1,1,1,2,0,1,1,33,2,0,1,0,0,2,1302,3,0,1,27,1,10,10,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,769,498,544,159,1104,190,142,591,624,697,748,154,537,515,508,179,500,453,480,179,146,564,467,743,174,893,848,505,720,149,156,768,502,728,506,752,581,481,486,832,871,447,468,160,871,194,146,531,545,751,671,190,489,547,640,173,412,575,688,153,168,557,418,812,202,887,758,501,585,146,158,701,490,583,645,747,551,533,568,831 H,319181,8,900,4,16,1015675,15,2,1,2,1,5,2,2,,60,0,750,3,3,300,1,,,,,3,1,9,,,,1,2,,14,3,300,7,2,40200,4,,,1,1,40200,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,2,242,,0,1,18,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,27,26,5,16,29,7,3,14,14,24,12,14,20,18,25,15,18,7,13,32,4,5,21,14,5,25,25,14,11,3,16,17,16,15,5,15,15,34,20,27,3,5,35,16,5,32,25,10,13,5,14,15,18,19,4,11,14,28,17,5,23,30,6,15,24,5,5,15,13,28,18,18,16,15,25,13,17,3,18 H,319903,8,500,4,16,1015675,72,1,1,1,,1,2,2,,70,0,2,3,3,900,1,,,,,3,1,2,,,,1,2,,8,1,50,8,,,,,,1,6,9600,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,1,224,,0,1,20,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,25,70,78,78,19,73,120,65,21,21,83,65,20,115,79,127,129,83,84,19,113,72,69,67,127,69,18,70,118,118,74,76,115,21,74,17,19,74,74,124,22,65,70,76,20,68,129,80,23,24,73,68,21,108,66,111,121,74,70,23,125,80,80,79,116,67,21,61,125,122,75,60,113,22,72,21,18,66,74 H,319905,8,100,4,16,1015675,73,2,1,3,1,2,1,2,,2,0,1200,10,6,1800,1,0,,,,3,1,3,,,,2,2,,19,3,2,5,1,51600,4,,,1,1,51600,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,0,0,2,318,,0,0,16,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,85,58,73,116,19,84,64,102,65,143,132,22,24,71,91,86,68,134,22,20,74,69,70,117,23,59,69,125,75,153,130,22,17,82,70,61,87,121,123,126,72,71,58,27,122,74,86,25,75,23,22,143,98,70,62,67,71,24,149,131,87,63,72,20,99,72,69,22,87,24,20,128,137,79,79,85,67,18,29 H,320486,8,300,4,16,1015675,189,0,1,,,2,8,,,,,,,,,1,,,,,,1,4,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,220,176,156,199,62,181,69,212,235,73,189,308,70,54,303,241,174,304,324,206,342,163,187,177,62,166,49,206,156,54,249,309,51,62,297,202,213,274,53,180,59,186,156,197,313,216,326,169,169,325,210,66,284,327,68,171,173,61,75,192,53,185,216,182,277,152,236,222,197,252,178,54,324,321,54,226,237,62,271 H,320539,8,100,4,16,1015675,32,1,1,1,,3,1,2,,30,0,2,60,1,,1,,,,,,1,5,2,400,,1,3,,,1,20,5,,,,492,28,1,4,21000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,36,56,36,27,57,39,6,52,60,11,35,29,9,32,11,33,40,37,11,50,30,48,21,30,49,29,12,68,61,11,36,32,6,34,13,29,34,42,10,93,37,51,31,32,51,29,12,58,48,10,30,37,9,33,9,29,38,32,10,65,34,54,30,32,58,32,11,53,53,7,33,46,11,27,9,41,29,28,10 H,320637,8,900,4,16,1015675,23,1,1,2,1,4,2,2,,40,0,130,3,4,1500,1,,,,,3,1,8,,,,1,2,,13,2,30,6,,,,,,1,6,27300,0,4,4,4,1,7,0,,0,0,0,8,0,0,0,1,1,1,187,,0,1,3,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,23,6,8,7,20,50,23,7,23,30,9,27,31,43,42,19,21,6,23,20,19,34,43,39,21,6,22,37,30,21,43,24,6,8,6,20,26,7,20,20,21,37,35,37,23,7,20,40,30,28,39,23,7,7,6,22,26,39,22,19,18,7,8,4,16,43,21,9,28,25,8,30,43,43,44,25,23,38 H,320818,8,100,4,16,1015675,66,3,1,1,,5,2,2,,50,0,2,350,1,350,1,,1,1400,1,1,1,8,,,800,1,1,,20,2,220,5,1,90000,1,,,1,1,90000,0,1,1,1,1,1,1,3,0,0,1,35,0,0,1,0,0,1,2618,2,0,1,31,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,66,19,69,18,61,74,20,54,120,21,18,102,83,61,112,55,90,77,58,116,72,18,72,20,68,64,21,68,116,17,20,141,58,75,113,61,117,61,65,24,67,118,75,85,65,58,129,71,22,94,106,16,79,72,17,71,20,70,69,20,58,138,57,113,76,50,135,74,21,112,104,18,73,73,16,63,20,68,62,104 H,321125,8,300,4,16,1015675,88,3,1,1,,2,2,2,,90,0,2,3,3,,1,,,,,,1,7,2,750,,1,3,,,1,2,4,8,18500,3,840,54,1,3,18500,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,141,98,78,137,179,145,128,119,98,103,115,81,62,86,100,152,137,66,42,76,27,109,82,19,27,30,32,125,48,95,21,114,109,74,82,17,31,121,25,103,33,107,103,32,30,24,35,91,27,81,30,89,96,72,69,32,31,97,120,81,139,91,85,153,202,142,127,57,126,106,129,88,53,107,106,141,174,80,177 H,321175,8,100,4,16,1015675,130,3,1,,,2,5,,,30,0,2,20,1,,1,,,,,,1,3,2,600,,2,3,,,2,1,4,1,30000,2,650,26,1,1,30000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,112,116,131,115,178,202,238,131,43,122,209,175,140,272,142,38,32,37,151,40,110,133,131,117,218,200,225,122,42,132,204,149,132,228,127,39,38,35,148,44,131,143,112,134,174,203,187,138,36,134,215,144,134,212,106,41,38,40,136,39,138,126,126,113,204,213,168,128,41,146,253,151,150,233,118,37,39,39,163,37 H,321226,8,800,4,16,1015675,146,1,1,2,1,3,2,2,,200,0,2,3,3,300,1,,,,,3,1,5,,,,1,2,,8,0,2,4,,,,,,1,6,10200,0,4,4,4,1,5,0,,0,0,0,30,0,0,0,1,1,2,251,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,165,284,115,53,216,242,45,109,159,47,123,45,174,166,158,248,154,217,132,244,145,45,139,244,41,48,233,171,139,199,129,192,137,153,122,46,140,51,153,307,153,43,178,268,37,57,217,101,143,217,126,194,148,185,135,47,144,58,181,56,109,182,150,46,181,222,54,132,143,50,144,47,121,135,179,264,154,266,163,66 H,321265,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,321671,8,100,4,16,1015675,27,2,1,1,,3,2,2,,100,0,2,3,3,2100,1,,2,370,2,1,1,5,,,680,1,1,,21,2,200,4,2,52600,4,,,2,1,52600,0,4,4,4,1,6,0,2,0,0,0,33,0,0,0,1,0,1,1467,2,0,1,26,1,3,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,11,44,30,25,8,27,11,8,48,55,25,23,27,24,8,42,26,28,5,23,40,8,23,23,45,27,45,48,9,9,29,24,26,31,41,8,27,21,7,24,53,8,34,27,37,26,42,43,7,7,29,25,26,24,44,10,23,25,49,26,7,51,27,30,8,23,7,7,44,42,27,28,25,33,9,47,27,25,39 H,321834,8,900,4,16,1015675,70,2,1,1,,3,2,2,,40,0,2,80,1,500,1,,1,610,1,1,1,8,,,,1,1,,14,2,260,7,1,39000,4,,,4,1,39000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,752,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,74,157,19,82,63,96,18,68,116,72,18,24,67,73,22,109,59,116,56,104,77,111,22,69,68,71,15,72,129,81,23,22,81,85,16,125,88,92,75,25,66,16,111,65,70,64,130,77,22,74,145,114,65,71,115,18,63,26,77,22,57,21,110,72,80,75,111,81,19,84,118,120,66,60,125,18,68,23,107 H,321932,8,900,4,16,1015675,96,2,1,1,,5,2,2,,40,0,2,120,1,290,1,,1,590,1,1,1,9,,,,1,1,,11,2,600,5,1,24900,4,,,1,1,24900,0,4,4,4,1,5,0,2,0,0,0,39,0,0,0,0,0,1,800,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,94,86,143,90,97,122,106,197,93,110,32,33,150,163,30,90,185,30,88,156,88,90,28,93,96,103,81,28,102,85,166,157,33,27,163,96,30,175,92,160,94,101,26,87,112,115,99,35,95,92,147,195,35,27,160,88,30,159,82,33,79,96,172,91,88,83,86,145,107,98,31,28,174,181,29,112,187,25,97 H,321947,8,700,4,16,1015675,122,2,1,1,,3,1,2,,80,0,2,3,3,380,1,4500,,,,3,1,5,,,,1,2,,14,2,40,3,4,47800,4,,,1,1,47800,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,2,2,1,520,,0,0,9,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,123,110,132,190,108,122,38,210,39,35,121,117,206,210,41,120,119,121,39,221,114,123,124,34,130,127,181,36,215,205,135,134,36,34,178,137,135,127,213,38,137,124,113,207,119,117,34,220,38,34,115,134,208,209,42,125,129,121,35,206,124,121,117,36,109,124,209,33,200,189,128,128,35,36,214,128,140,125,198 H,322188,8,900,4,16,1015675,61,4,1,1,,5,2,2,,180,0,2,100,1,400,1,,1,680,1,1,1,9,,,,1,1,,11,3,780,8,1,61550,2,,,1,1,61550,0,2,2,2,1,3,1,4,0,0,1,20,0,0,1,0,0,2,1025,3,0,1,16,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,17,54,16,84,57,17,63,103,20,15,97,71,61,101,70,108,55,75,116,45,14,42,15,86,50,22,86,101,26,24,112,62,55,84,68,91,46,69,119,64,17,56,26,55,48,19,53,93,24,17,106,52,52,143,61,85,66,61,108,60,24,58,20,57,58,15,69,165,23,18,99,47,58,103,67,92,65,63,103 H,322293,8,700,4,16,1015675,109,2,1,1,,3,2,2,,40,0,2,110,1,400,1,,2,700,2,1,1,5,,,,1,1,,18,3,300,3,1,81000,4,,,1,1,81000,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,1050,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,31,33,32,151,120,111,32,198,111,102,169,109,90,199,111,101,108,158,101,173,172,199,190,32,116,112,195,34,106,101,33,108,102,34,107,106,105,34,118,183,193,188,175,32,99,100,191,30,110,105,34,100,100,31,104,106,108,36,104,29,33,28,32,180,112,115,29,193,115,105,177,110,120,185,118,108,106,175,109 H,322404,8,800,4,16,1015675,63,2,1,1,,3,2,2,,40,0,990,50,1,500,1,,,,,3,1,5,,,,1,2,,14,2,580,3,8,35500,4,,,1,3,35500,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,1,1,1,351,,0,1,22,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,22,64,18,62,69,17,51,104,21,19,96,63,69,110,63,112,64,65,25,61,120,69,82,45,52,100,70,30,102,85,16,61,63,15,58,18,65,79,123,59,19,60,16,60,53,15,67,129,20,16,99,61,60,99,56,81,60,70,19,50,123,62,95,65,65,91,53,21,129,106,22,69,74,28,66,23,67,46,120 H,322406,8,500,4,16,1015675,308,2,1,2,1,3,2,2,,60,0,1200,3,4,380,1,,1,550,1,1,1,5,,,,1,1,,16,2,2,9,3,51200,4,,,1,1,51200,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,2,2,710,3,0,1,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,100,83,110,290,285,325,275,282,609,503,543,292,95,360,486,282,327,434,299,104,111,104,97,324,297,359,352,325,475,440,496,267,108,319,427,277,293,510,278,94,111,99,86,367,294,336,343,316,396,475,477,302,95,303,484,282,264,501,294,75,89,93,105,330,287,319,292,375,524,567,519,348,93,320,533,301,301,528,276,97 H,322553,8,800,4,16,1015675,106,3,1,2,1,4,2,2,,120,0,2,3,3,600,1,,1,1600,1,1,1,8,,,,1,1,,19,2,2,3,1,56600,2,,,1,1,56600,0,2,2,2,1,4,1,3,0,0,1,36,0,0,1,0,0,1,1720,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,37,128,139,106,109,27,87,109,164,170,36,24,154,125,36,199,163,118,101,89,193,92,91,124,97,209,109,101,33,35,210,202,34,80,179,38,35,97,88,101,27,99,131,89,92,29,116,118,161,186,31,24,177,155,30,180,214,100,101,89,144,83,125,106,85,165,121,113,35,38,187,209,40,105,172,37,39,85,110,93 H,322599,8,300,4,16,1015675,30,2,1,1,,3,2,2,,50,0,2,170,1,0,1,,,,,3,1,6,,,,1,2,,9,3,750,9,8,47220,4,,,1,3,47220,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,1,1,2,361,,0,1,20,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,40,35,45,9,10,21,33,31,42,32,10,33,9,8,55,26,45,30,29,29,45,29,52,10,8,34,27,23,43,21,8,29,7,10,50,34,51,36,29,28,9,33,8,66,45,20,28,26,8,23,51,38,46,55,8,41,12,39,22,21,8,32,7,46,62,26,27,33,8,31,41,28,61,50,10,31,8,43 H,322845,8,400,4,16,1015675,128,2,1,2,1,4,2,2,,80,0,200,200,4,600,1,,1,1000,1,1,1,7,,,400,1,1,,21,2,2,3,1,69000,4,,,2,1,69000,0,4,4,4,1,3,0,2,0,0,0,30,0,0,0,0,0,1,1697,2,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,44,131,129,123,104,45,165,40,126,30,37,37,51,167,120,41,37,119,166,136,116,169,211,173,182,128,256,161,192,124,141,146,134,214,233,133,137,218,116,217,244,132,114,115,137,244,137,163,116,257,222,211,205,124,121,203,202,115,47,113,137,40,37,40,38,113,38,130,42,107,123,133,144,47,47,126,156,42,134 H,322995,8,500,4,16,1015675,73,2,1,1,,3,2,2,,80,0,2,190,1,490,1,,2,470,2,1,1,9,,,170,1,1,,16,2,390,9,1,38134,4,,,1,1,38134,0,4,4,4,1,1,0,2,0,0,0,35,0,0,0,1,0,1,1105,2,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,23,72,76,113,115,19,18,112,92,23,130,139,83,69,23,70,85,85,69,71,125,85,74,21,19,131,122,24,71,122,23,18,74,82,121,80,70,76,76,73,125,75,72,23,22,116,128,22,69,123,21,23,67,69,136,71,81,76,74,83,23,82,67,119,112,19,22,135,71,18,101,129,71,77,24,67,74,74,70 H,323534,8,200,4,16,1015675,157,5,1,1,,3,2,2,,150,0,220,10,3,280,1,,1,840,1,1,1,5,,,160,1,1,,16,2,780,5,1,107500,3,,,1,1,107500,0,3,3,3,1,4,3,5,0,0,3,14,0,0,1,0,0,1,1243,2,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,335,45,132,291,54,42,118,142,246,191,261,153,132,252,164,157,48,54,272,145,48,230,115,42,276,288,132,165,52,171,248,157,114,46,124,157,271,340,67,109,283,47,139,272,56,45,130,127,269,161,219,157,142,237,165,169,39,43,271,139,57,303,146,42,253,318,183,174,54,181,175,148,133,43,127,165,265,278,74,151 H,323700,8,700,4,16,1015675,131,2,1,1,,3,1,2,,130,0,2,3,3,0,1,2900,,,,3,1,5,,,,2,2,,4,1,100,5,2,16500,4,,,1,1,16500,0,4,4,4,1,3,0,2,0,0,0,29,0,0,0,0,0,1,396,,0,0,5,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,199,206,126,218,47,145,131,115,44,119,198,126,38,37,135,127,40,248,124,137,217,233,126,230,35,132,147,125,44,120,231,133,34,43,136,127,36,243,136,129,36,40,137,38,193,132,146,130,218,128,39,124,227,223,136,128,193,45,155,132,41,43,130,41,229,131,134,139,216,133,37,119,198,208,127,123,224,41,126 H,323720,8,100,4,16,1015675,61,2,1,1,,3,2,2,,90,0,100,3,4,650,1,,,,,3,1,7,,,,1,2,,13,3,60,6,4,48000,4,,,1,1,48000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,257,,0,1,24,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,70,73,95,77,111,59,61,61,18,56,17,45,56,18,65,144,17,17,80,107,57,72,104,58,122,52,63,83,17,61,13,55,51,19,88,80,13,19,19,15,65,79,19,50,15,59,57,56,92,54,95,76,64,90,57,22,91,80,17,18,63,61,20,60,15,53,81,54,99,74,87,79,71,101,70,19,112,115,110 H,323821,8,300,4,16,1015675,32,2,1,1,,3,1,2,,20,0,2,3,3,,1,,,,,,1,5,2,400,,1,3,,,2,1,5,2,20700,4,420,24,1,1,20700,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,29,9,42,59,66,65,37,46,35,36,24,4,8,7,35,77,31,13,37,42,36,8,31,42,82,69,43,56,28,41,27,8,14,12,28,58,47,10,36,54,36,8,30,52,45,57,31,30,40,29,68,23,12,11,30,51,32,9,35,60,50,13,32,56,55,64,26,26,39,27,37,10,12,12,34,47,27,13,34,69 H,324137,8,800,4,16,1015675,109,4,1,1,,2,2,2,,170,0,2,3,3,250,1,,1,520,2,1,1,6,,,520,1,1,,10,2,40,9,2,28000,1,,,2,1,28000,0,1,1,1,1,2,2,4,0,0,2,56,0,0,1,0,0,1,1296,2,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,25,196,245,40,116,222,36,32,70,127,191,169,105,107,127,174,138,119,29,169,248,48,31,158,136,23,155,200,96,108,27,109,149,87,95,36,92,101,217,106,143,32,50,280,96,33,224,109,89,98,31,141,137,89,107,61,129,93,192,99,43,182,174,29,107,250,38,40,117,109,177,107,124,109,114,186,94,114,35,114 H,324226,8,500,4,16,1015675,81,1,1,2,1,2,1,2,,20,0,740,3,3,800,1,1300,,,,3,1,4,,,,1,2,,17,2,2,4,,,,,,1,6,22600,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,1,1,1,257,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,128,161,22,76,85,133,23,93,79,24,78,74,28,75,69,87,21,142,76,145,170,145,23,78,78,150,26,77,63,22,73,87,27,72,72,71,23,130,80,167,144,151,26,81,90,142,26,75,63,22,81,83,21,68,68,77,22,139,74,135,120,158,29,76,87,120,26,82,79,24,84,84,22,77,81,77,24,136,91 H,324717,8,500,4,16,1015675,98,2,1,1,,3,2,2,,150,0,2,3,3,700,1,,,,,3,1,6,,,,1,2,,15,2,150,5,1,105000,4,,,1,1,105000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,2,0,1,304,,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,176,35,28,30,26,139,92,108,31,184,84,92,177,92,101,185,98,100,102,101,29,181,166,178,162,29,95,91,145,29,95,94,32,97,85,32,101,100,106,109,178,28,28,30,32,182,120,84,28,159,97,114,165,85,81,141,101,100,87,109,26,185,166,158,166,26,123,102,181,28,92,99,27,108,106,28,107,101,108 H,324914,8,100,4,16,1015675,35,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,35,55,51,11,64,34,36,12,8,10,35,30,60,9,36,67,35,37,62,71,66,33,36,33,34,11,54,33,33,34,9,63,40,39,12,33,10,11,35,37,37,58,61,12,66,36,36,14,9,13,33,33,60,10,43,55,38,35,63,53,55,33,31,36,38,12,61,31,32,31,9,57,34,35,10,31,10,10,38 H,324932,8,800,4,16,1015675,37,4,1,2,1,3,1,2,,150,0,2,3,3,500,1,600,2,600,2,1,1,6,,,,1,1,,13,4,2,4,7,44600,2,,,3,3,71600,0,2,2,2,1,3,2,3,0,1,2,15,3,0,1,0,0,1,891,3,0,0,13,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,32,33,34,44,12,40,43,71,74,10,12,58,28,10,66,74,30,38,41,65,33,34,35,35,70,40,44,10,10,66,50,10,34,62,10,12,37,36,40,12,34,35,32,31,10,37,39,53,56,8,12,62,42,12,56,56,33,45,39,63,40,31,42,33,50,41,42,11,11,61,74,12,49,63,8,12,35,46,45 H,325058,8,900,4,16,1015675,121,3,1,3,3,3,2,2,,2,0,600,150,2,500,1,,1,690,1,1,1,6,,,,1,1,,21,4,2,3,3,93700,4,,,1,1,93700,0,4,4,4,1,5,0,3,0,0,0,11,0,0,0,2,2,2,890,3,0,0,20,1,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,132,223,112,120,112,45,123,155,189,39,190,216,107,122,46,36,178,113,129,225,53,101,183,202,218,129,37,181,125,122,102,109,37,28,116,124,127,38,95,200,35,106,221,217,188,113,39,158,118,101,137,140,32,39,144,160,114,32,38,112,114,220,152,155,109,30,113,108,190,32,169,183,122,126,45,40,242,141,38 H,325230,8,600,4,16,1015675,120,2,1,1,,3,2,2,,30,0,2,50,1,370,1,,1,580,1,1,1,6,,,310,1,1,,16,3,420,7,8,61000,4,,,1,3,61000,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,1,1,1,1005,2,0,1,23,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,41,121,124,180,195,38,33,198,117,38,219,212,104,116,37,115,117,112,119,120,219,119,112,39,40,199,191,37,127,201,33,37,129,127,219,116,114,130,121,113,35,130,139,196,182,37,34,181,126,36,208,199,119,141,35,114,124,107,117,117,208,126,112,42,42,168,208,36,110,188,37,39,129,120,198,122,117,129,120 H,325318,8,800,4,16,1015675,98,2,1,1,,4,2,2,,90,0,2,3,3,500,1,,1,870,1,1,1,7,,,700,1,1,,19,3,240,5,3,50100,4,,,1,1,50100,0,4,4,4,1,6,0,2,0,0,0,40,0,0,0,2,2,1,1680,2,0,1,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,98,33,31,109,27,169,83,87,82,175,101,32,105,199,213,84,77,169,97,32,105,30,27,101,26,150,99,97,91,163,116,30,82,158,162,113,87,173,91,164,101,181,143,112,187,31,86,94,88,28,93,178,96,31,27,104,107,27,93,136,110,159,150,130,181,27,114,109,102,29,105,179,108,25,28,81,90,31,112 H,325675,8,500,4,16,1015675,105,2,1,1,,3,2,2,,40,0,2,80,1,200,1,,1,580,1,1,1,5,,,130,1,1,,15,3,400,4,3,20470,4,,,1,1,20470,0,4,4,4,1,4,0,2,0,0,0,51,0,0,0,0,0,1,863,2,0,1,28,1,7,7,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,207,184,102,180,30,88,114,102,33,108,156,109,31,30,111,111,35,151,109,98,34,31,102,30,141,98,98,111,166,100,31,102,189,198,113,103,183,31,105,94,29,31,109,30,168,108,129,89,166,114,30,106,211,172,92,93,177,32,113,102,166,180,97,189,34,97,116,91,31,102,158,106,32,31,126,100,31,168,102 H,326307,8,100,4,16,1015675,30,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,32,50,8,49,32,29,33,29,30,29,10,50,31,30,53,58,30,30,33,28,50,29,30,32,58,10,10,8,9,57,32,35,9,48,29,29,53,9,9,8,32,50,8,56,31,29,36,28,28,24,10,53,26,32,56,53,32,32,28,32,49,28,31,29,51,10,8,9,9,54,35,30,9,49,28,31,53,9 H,326367,8,500,4,16,1015675,128,5,1,1,,3,2,2,,70,0,2,30,1,250,1,,1,580,1,1,1,6,,,,1,1,,15,2,280,3,2,71120,3,,,1,1,71120,0,3,3,3,1,4,3,5,0,0,3,12,0,0,1,0,0,1,703,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,229,127,108,100,39,226,110,115,42,111,40,38,226,229,110,139,114,123,36,233,39,134,175,137,210,40,141,140,208,138,266,254,44,34,132,125,133,128,200,34,220,141,114,127,40,205,129,126,45,119,30,33,224,227,124,131,126,121,43,201,37,123,134,141,217,39,141,153,216,130,253,225,42,35,113,136,140,146,185 H,326446,8,400,4,16,1015675,30,1,1,,,1,5,,,30,910,2,3,3,,1,,,,,,1,3,2,140,,1,3,,,1,1,7,,,,170,17,2,4,11900,0,4,4,4,2,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,33,37,10,16,58,24,26,50,53,42,22,47,41,10,26,9,30,27,54,8,30,48,6,9,42,23,51,59,25,56,21,21,45,17,40,20,36,30,53,11,32,45,15,12,62,33,20,38,32,49,34,45,35,8,22,7,28,28,100,10,36,55,7,8,39,27,41,49,31,64,40,25,30,11,29,9,22,30,34 H,327201,8,300,4,16,1015675,134,2,1,1,,3,2,2,,80,0,2,30,2,250,1,,,,,3,1,5,,,,1,2,,14,1,60,5,4,68880,4,,,1,1,68880,0,4,4,4,1,3,0,2,0,0,0,4,0,0,0,2,2,1,232,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,165,38,40,46,148,204,180,101,116,178,167,220,156,33,126,261,198,171,45,205,102,39,47,27,107,194,173,105,97,268,241,215,97,36,155,237,153,172,53,204,129,35,34,47,123,104,121,189,195,242,244,267,140,32,111,180,117,127,57,232,168,37,32,56,172,126,144,155,152,253,245,190,141,51,124,173,106,112,45 H,327310,8,100,4,16,1015675,89,6,1,1,,4,2,2,,200,0,2,150,1,600,1,,1,1400,1,1,1,8,,,300,1,1,,20,2,600,3,1,41000,3,,,1,1,41000,0,3,3,3,1,2,4,6,0,0,4,61,0,0,1,0,0,1,2100,1,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,78,38,91,109,103,83,32,26,100,80,24,83,83,27,28,24,28,91,106,86,150,88,145,145,124,146,103,79,153,161,86,135,184,86,100,117,93,148,30,29,92,37,82,106,100,103,33,21,80,87,25,68,100,35,20,24,25,99,90,96,186,91,156,160,162,181,86,90,123,172,93,138,187,84,67,88,83,143,29 H,327481,8,300,4,16,1015675,98,1,1,1,,1,2,2,,60,0,2,3,3,,1,,,,,,1,2,,,,1,4,,,2,250,6,,,,,,1,6,5300,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,24,137,154,37,88,132,29,44,102,104,148,105,130,100,84,154,109,89,141,25,31,145,131,30,112,201,36,21,86,99,122,110,97,77,114,171,150,82,122,164,148,28,44,220,97,31,140,110,94,115,27,102,119,100,94,31,106,110,113,176,156,24,28,156,79,23,152,207,88,118,32,106,114,97,110,26,102,105 H,327601,8,700,4,16,1015675,308,2,1,1,,5,2,2,,20,0,2,270,1,130,1,,1,1400,1,1,1,8,,,,2,1,,19,2,620,5,1,105000,4,,,1,1,105000,0,4,4,4,1,1,0,2,0,0,0,20,0,0,0,0,0,2,1742,3,0,1,24,2,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,306,483,458,286,103,87,315,587,89,486,313,318,319,289,293,285,93,527,338,332,94,311,340,86,311,349,103,325,337,303,89,480,487,491,495,79,339,334,501,86,287,530,506,345,100,88,327,515,90,587,304,305,302,332,316,338,92,493,309,297,95,294,312,98,275,287,88,318,298,290,98,520,488,551,561,87,318,300,477,94 H,327923,8,800,4,16,1015675,92,2,1,1,,2,2,2,,90,0,600,50,1,500,1,,,,,3,1,4,,,,1,2,,12,2,960,8,3,72500,4,,,1,1,72500,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,1,0,1,404,,0,1,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,103,85,27,104,34,77,85,27,75,150,25,29,153,91,88,132,86,136,21,79,103,94,151,83,184,103,104,139,84,24,161,165,29,99,96,25,128,26,176,100,97,90,30,85,26,94,97,24,107,161,24,31,182,85,89,174,90,150,34,77,81,107,138,91,141,105,77,142,96,27,141,152,25,92,91,27,82,33,177 H,328086,8,100,4,16,1015675,22,5,1,1,,2,2,2,,70,0,2,3,6,450,1,,1,860,1,1,1,4,,,,1,1,,16,4,780,3,1,31300,3,,,1,1,31300,0,3,3,3,1,5,3,5,0,0,3,38,0,0,1,0,0,2,995,3,0,1,16,2,4,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,1,0,5,29,46,20,7,20,27,22,5,24,9,29,17,47,29,25,23,43,39,23,29,35,22,6,18,8,7,45,15,38,27,21,47,24,43,9,7,22,25,5,8,21,40,22,6,22,16,25,7,31,6,53,27,45,24,22,25,33,35,22,21,42,23,7,26,6,7,37,34,53,17,27,41,36,38,5,5,22,21,5 H,328487,8,600,4,16,1015675,69,1,1,,,1,9,,,2,0,2,3,3,,1,,,,,,1,3,2,130,,1,3,,,0,1,5,,,,130,16,1,6,9600,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,19,21,119,66,73,21,125,67,64,139,65,69,128,62,62,68,125,73,20,20,21,22,112,67,75,20,120,75,68,109,69,67,111,60,72,68,120,70,124,124,110,114,18,74,67,110,20,65,62,19,68,73,20,69,73,66,20,71,122,122,102,111,22,64,74,113,20,71,64,20,71,76,22,71,65,70,22,66 H,328916,8,500,4,16,1015675,145,7,1,1,,4,2,2,,110,0,900,3,8,200,1,,2,670,1,1,1,7,,,,1,1,,16,4,220,3,2,42700,2,,,1,1,42700,0,3,1,1,1,4,1,3,0,1,1,25,0,0,1,0,0,2,890,3,0,1,21,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,51,108,142,38,166,226,245,317,147,119,119,146,150,49,73,42,126,213,378,128,47,144,154,43,140,208,176,230,226,171,133,155,149,38,66,43,135,204,196,181,44,133,148,76,161,287,264,209,124,136,127,134,119,51,40,49,156,262,254,159,35,160,154,60,133,255,205,190,128,175,168,151,128,55,42,51,137,191,237 H,329513,8,200,4,16,1015675,19,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,3,10,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,26,18,6,20,20,4,19,29,39,30,19,19,19,22,17,6,6,5,4,20,5,20,31,15,15,31,16,8,5,4,21,17,12,20,20,30,30,35,6,19,7,17,29,19,22,31,22,5,6,5,19,22,22,19,16,30,29,23,27,20,34,21,6,19,18,5,18,36,28,26,19,16,16,18,17,6,7,6,34 H,329812,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,329868,8,200,4,16,1015675,33,0,1,1,,0,2,2,,,,,,,,1,,,,,,1,1,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,13,8,58,25,51,42,37,50,33,66,10,11,37,33,35,58,38,10,33,38,45,59,10,36,12,30,30,9,33,9,57,72,31,34,30,9,32,54,37,40,14,9,67,29,47,38,32,51,33,57,8,8,33,36,36,63,39,10,27,36,57,61,9,39,13,27,31,10,29,7,53,69,44,35,27,9,30,48,34 H,330277,8,100,4,16,1015675,34,1,1,1,,2,1,2,,200,0,2,3,3,,1,,,,,,1,3,2,150,,1,3,,,1,790,5,,,,416,48,1,4,10370,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,65,30,36,66,47,29,57,68,40,33,29,38,45,28,75,37,54,58,55,12,12,41,37,8,10,27,10,11,41,34,36,39,7,38,13,33,13,9,31,57,58,32,31,56,68,38,51,58,32,42,41,37,61,35,43,34,66,65,32,9,10,33,39,10,10,41,10,12,40,51,36,36,10,29,8,33,12,10,42 H,330553,8,600,4,16,1015675,119,1,1,,,2,4,,,150,0,2,3,3,,1,,,,,,1,3,,,,1,4,,,0,1,7,,,,,,1,4,1200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,117,123,190,129,33,186,198,36,114,132,33,126,35,113,117,109,228,122,31,186,108,128,182,114,33,204,201,35,121,108,32,128,38,135,122,108,193,122,188,34,120,120,38,129,199,37,33,177,125,112,192,118,184,126,120,109,31,109,222,35,121,132,36,123,213,33,31,185,117,125,181,106,191,116,107,126,36,117,32 H,330609,8,500,4,16,1015675,72,3,1,1,,3,2,2,,70,0,2,170,1,640,1,,1,1100,1,1,1,9,,,,1,1,,20,3,300,9,3,58000,1,,,1,1,58000,0,1,1,1,1,2,1,3,0,0,1,28,0,0,1,0,0,1,1365,3,0,1,38,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,110,21,63,20,22,80,17,115,77,72,78,137,81,23,59,106,108,73,68,87,121,19,90,21,18,79,22,115,63,79,65,135,73,23,70,112,118,91,66,82,136,24,68,21,18,75,20,133,67,75,68,131,71,21,66,124,103,66,85,63,123,20,68,21,20,73,21,125,63,72,75,119,75,25,74,120,125,77,79 H,330617,8,800,4,16,1015675,38,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,64,67,37,68,67,37,38,42,43,59,35,68,38,60,63,67,61,48,36,50,10,13,39,9,12,32,38,37,35,11,37,11,33,13,11,10,13,40,37,38,10,11,29,12,11,41,37,41,41,10,41,10,34,11,11,12,11,37,37,44,75,61,34,67,74,43,37,35,42,66,38,56,37,72,64,68,61,43 H,330824,8,300,4,16,1015675,46,6,1,1,,4,2,2,,60,0,2,100,2,300,1,,2,320,2,1,1,7,,,,1,1,,11,2,840,7,2,39500,3,,,2,1,39500,0,3,3,3,1,4,4,6,0,0,4,19,0,0,1,0,0,2,617,3,0,1,12,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,87,35,51,44,11,39,41,72,107,14,13,75,49,19,91,72,37,34,70,60,48,59,46,32,77,66,49,16,13,79,69,13,43,65,22,15,47,71,39,16,52,51,41,51,17,34,44,91,85,12,12,69,43,16,75,71,39,41,44,46,33,68,54,49,107,61,42,20,17,55,89,18,47,77,16,14,39,48,37 H,330885,8,600,4,16,1015675,323,1,1,,,1,9,,,50,0,2,3,3,,1,,,,,,1,2,2,650,,2,3,,,1,1,2,,,,700,19,1,4,45000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,102,319,109,537,326,311,340,627,328,89,302,528,549,347,348,485,92,301,316,91,88,344,94,575,321,315,329,544,353,89,366,522,540,372,318,480,81,357,321,544,503,378,565,98,319,328,304,87,322,526,316,96,85,342,320,99,584,326,306,605,602,295,552,98,343,333,306,98,331,485,299,99,95,346,346,90,591,315,330 H,330900,8,900,4,16,1015675,178,2,1,2,1,4,2,2,,50,0,2,80,1,1600,1,,1,500,1,1,1,9,,,,1,1,,19,3,2,2,3,67380,4,,,1,1,67380,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,1,1,1,630,3,0,1,28,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,139,175,205,164,220,347,418,248,166,66,203,276,278,251,248,147,56,40,99,57,188,197,181,192,147,215,236,264,117,53,215,229,153,141,243,198,64,68,56,54,224,171,131,144,148,398,280,235,215,39,126,299,153,182,423,178,45,55,41,71,159,238,238,210,193,212,247,308,251,74,181,271,128,131,267,186,54,74,49 H,331187,8,700,4,16,1015675,0,1,2,,,,,,,,1100,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,331397,8,200,4,16,1015675,87,2,1,1,,2,2,2,,90,0,2,3,3,260,1,,2,60,1,1,1,9,,,,1,1,,15,2,1000,4,,,,,,1,7,74200,0,4,4,4,1,5,0,,0,1,0,4,3,0,0,0,0,1,255,3,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,106,180,34,29,130,81,82,143,82,124,62,71,103,32,82,26,86,80,29,122,73,26,135,126,19,96,68,20,135,28,122,80,87,217,77,199,79,127,22,166,102,22,126,156,32,80,86,35,77,22,85,88,88,123,102,152,83,111,136,17,118,127,26,32,106,108,97,209,112,124,91,73,92,24,100,20,89,88,126 H,332258,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,332283,8,600,4,16,1015675,207,1,1,1,,2,3,2,,70,0,2,40,1,,1,,,,,,1,4,2,480,,1,3,,,1,90,7,,,,598,34,2,6,21000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,342,212,342,388,53,65,205,199,224,194,368,68,188,182,190,345,55,197,203,338,64,217,66,61,371,373,228,213,217,252,59,371,209,184,218,62,336,178,207,373,58,184,63,72,325,355,195,198,180,193,65,334,167,237,235,62,380,216,191,60,321,226,358,341,68,67,200,201,209,196,342,64,222,204,210,356,57,209,196,57 H,332305,8,300,4,16,1015675,52,2,1,1,,2,1,2,,100,0,20,3,6,300,1,2500,,,,3,1,4,,,,1,2,,2,2,1,4,1,70000,4,,,1,1,70000,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,2,335,,0,0,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,39,41,95,64,21,18,17,72,61,41,49,68,79,100,95,57,21,43,91,17,53,58,13,50,80,70,83,49,47,59,64,51,13,17,15,62,99,55,17,81,49,43,116,59,16,18,15,47,58,56,52,56,102,71,83,46,18,52,81,15,57,47,15,69,81,84,86,39,43,49,56,56,20,18,18,54,89,62,15 H,332381,8,500,4,16,1015675,63,3,1,1,,3,2,2,,50,3600,2,20,1,400,1,,,,,3,1,5,,,,1,2,,14,2,60,2,4,17800,4,,,1,1,17800,0,4,4,4,1,3,0,3,0,0,0,7,0,0,0,0,0,1,110,,0,1,2,1,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,71,75,71,116,107,91,60,20,63,122,55,50,115,53,18,18,17,65,114,67,74,67,54,16,21,20,55,90,61,19,57,72,23,57,92,105,112,59,22,68,66,66,64,109,122,127,70,16,58,101,61,65,115,70,16,14,18,60,98,58,58,68,62,18,18,18,67,101,55,19,65,56,16,65,101,114,130,65,16 H,332528,8,400,4,16,1015675,24,2,1,3,1,3,1,2,,60,0,2,3,6,290,1,200,,,,3,1,7,,,,1,2,,14,1,2,4,4,19800,4,,,1,1,19800,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,2,2,1,127,,0,0,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,21,39,48,8,8,40,28,9,37,40,24,22,7,22,20,23,25,9,22,23,25,7,7,37,48,8,26,39,8,9,29,37,41,23,26,22,23,32,20,25,25,42,36,6,8,37,24,9,42,40,25,24,7,22,25,19,24,8,35,32,24,8,8,47,45,7,26,36,7,8,20,23,45,23,20,22,29,47,24 H,332674,8,200,4,16,1015675,75,1,1,1,,3,2,2,,50,0,300,30,1,300,1,,1,300,1,1,1,5,,,,1,1,,13,1,760,6,,,,,,1,6,12700,0,4,4,4,1,6,0,,0,0,0,44,0,0,0,1,1,1,468,3,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,155,98,30,75,114,28,24,67,80,106,48,84,69,74,118,64,84,18,80,31,109,86,25,93,125,25,28,72,61,98,98,79,70,87,153,70,73,28,87,28,115,95,26,68,108,27,19,54,82,140,59,68,76,96,115,71,57,18,73,29,179,75,26,109,99,26,29,69,85,121,71,60,100,77,106,80,92,25,51 H,332816,8,400,4,16,1015675,215,3,1,1,,3,2,2,,40,0,2,30,1,800,1,,1,810,1,1,1,5,,,,1,1,,15,3,410,5,1,101000,1,,,1,1,101000,0,1,1,1,1,4,1,3,0,0,1,11,0,0,1,0,0,1,914,3,0,1,34,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,63,247,324,48,183,506,65,71,340,184,194,259,268,375,216,286,180,88,59,155,421,248,232,344,184,65,304,384,58,242,170,64,285,49,234,213,209,271,281,192,74,224,193,64,282,373,55,60,235,258,200,373,260,365,243,287,323,54,67,249,402,201,209,321,273,71,298,340,70,173,232,59,206,73,194,172,187,364,442 H,332871,8,100,4,16,1015675,99,2,1,1,,3,2,2,,100,0,2,80,1,500,1,,,,,3,1,6,,,,1,2,,22,2,30,3,1,84000,4,,,1,1,84000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,1,0,1,725,,0,1,64,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,201,29,92,24,84,154,106,157,31,104,170,164,114,88,102,99,107,31,174,94,29,164,92,177,104,25,93,34,193,82,32,32,95,98,103,108,98,156,29,94,162,30,102,32,97,154,106,159,31,90,152,172,115,102,103,104,91,28,160,99,28,176,96,179,108,23,96,32,164,111,28,25,94,100,103,95,107,169,27 H,332913,8,500,4,16,1015675,106,3,1,,,2,9,,,20,1200,2,50,3,,1,,,,,,1,5,2,500,,1,3,,,1,1,2,7,21500,3,570,32,1,3,21500,0,1,1,1,1,2,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,99,108,98,163,100,175,116,83,188,79,32,166,162,37,108,134,32,95,26,34,97,113,105,166,110,191,97,115,170,104,36,192,221,34,114,100,35,119,190,217,102,128,114,25,120,34,99,109,30,115,171,27,31,170,116,111,163,124,186,176,93,94,101,34,116,32,100,113,28,110,190,30,27,164,109,117,187,100,39 H,332935,8,900,4,16,1015675,53,1,1,1,,4,2,2,,30,0,2,20,1,350,1,,,,,3,1,9,,,,1,2,,13,0,410,9,,,,,,1,6,17800,0,4,4,4,1,3,0,,0,0,0,10,0,0,0,1,1,1,142,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,20,13,47,55,55,64,71,109,105,75,40,15,60,78,63,52,78,55,12,21,16,14,49,63,48,51,64,94,76,81,44,14,45,76,53,56,74,57,18,14,13,14,55,41,51,73,53,73,107,96,51,19,55,89,51,51,90,53,17,13,15,16,64,50,39,53,60,81,92,104,50,15,51,86,62,68,80,41,13 H,333008,8,800,4,16,1015675,95,1,1,2,1,3,2,2,,40,0,2,80,1,500,1,,2,1500,2,1,1,5,,,,1,1,,23,2,2,3,,,,,,1,6,40000,0,4,4,4,1,4,0,,0,0,0,56,0,0,0,1,0,2,1862,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,121,148,170,27,24,126,95,32,154,144,123,100,25,84,84,87,101,31,116,81,102,30,27,150,166,27,102,166,31,28,86,93,153,109,97,83,105,148,100,118,107,134,156,27,30,178,86,34,166,156,99,96,27,93,97,114,100,29,92,101,92,26,31,149,139,28,73,166,30,23,98,92,163,84,104,96,94,164,99 H,333108,8,200,4,16,1015675,109,4,1,1,,4,2,2,,90,0,150,4,1,460,1,,1,1300,1,1,1,9,,,,1,1,,18,3,720,5,1,104540,2,,,1,1,104540,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1467,3,0,1,34,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,178,191,48,106,152,41,35,120,83,121,118,118,132,110,157,86,112,42,98,30,191,195,36,113,164,27,28,114,154,172,125,103,105,165,202,108,72,31,145,221,39,33,167,162,30,145,191,118,115,25,116,124,112,137,30,104,95,178,118,115,38,65,154,100,36,197,143,104,128,31,81,98,104,109,31,112,121,183,115 H,333290,8,100,4,16,1015675,54,2,1,1,,3,2,2,,100,0,2,3,3,400,1,,1,700,1,1,1,6,,,,1,1,,14,2,540,3,1,48000,4,,,1,1,48000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,2,845,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,53,93,58,57,54,17,13,49,20,95,20,86,51,96,84,65,65,52,55,64,105,59,15,104,119,52,46,18,66,50,43,53,15,46,53,85,95,20,12,49,15,54,83,15,17,50,43,88,52,44,52,63,97,53,52,17,19,109,103,98,74,20,74,62,42,77,81,64,103,17,91,15,50,17,21,59,63,46,45,15 H,333435,8,500,4,16,1015675,80,1,1,,,1,8,,,20,0,2,3,3,,1,,,,,,1,3,2,480,,1,3,,,0,1,3,,,,500,45,1,6,13300,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,29,82,81,80,80,71,156,73,27,143,81,122,81,23,89,26,138,73,28,128,142,82,74,67,73,72,24,97,121,23,77,27,86,146,95,112,21,80,25,119,130,81,88,74,82,84,30,78,141,29,84,20,98,136,76,119,22,78,127,22,21,77,78,98,93,79,136,67,21,128,85,135,78,25,84,24,132,71,136 H,333493,8,900,4,16,1015675,65,1,1,1,,3,2,2,,40,0,1000,100,4,,1,,,,,,1,5,2,300,,1,3,,,4,800,6,,,,590,19,1,4,38000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,20,68,72,17,58,47,20,76,79,75,19,91,93,115,103,21,92,58,62,97,18,61,65,22,73,79,17,78,60,61,22,120,133,121,99,16,49,55,68,16,109,63,65,164,80,68,108,71,67,62,142,17,18,27,20,93,48,59,53,22,125,53,78,92,65,73,105,55,70,86,134,21,17,15,19,121,72,60,69 H,333736,8,800,4,16,1015675,75,6,1,2,1,5,2,2,,130,0,2,130,1,530,1,,2,1500,2,1,1,9,,,,1,1,,20,2,900,1,2,235000,3,,,1,1,235000,0,3,3,3,1,1,4,6,0,0,4,12,0,0,1,0,0,1,2379,3,0,1,64,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,62,64,125,77,26,22,23,92,89,64,64,73,122,131,137,76,19,72,22,129,74,98,141,78,27,26,22,67,66,71,99,74,111,126,121,67,24,74,21,128,70,73,113,92,23,18,27,70,68,79,63,77,138,123,122,69,19,65,27,129,74,84,154,73,21,24,18,71,94,87,83,73,117,124,134,75,22,74,19 H,333741,8,200,4,16,1015675,206,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,70,215,193,68,234,318,334,313,222,189,262,209,248,76,66,63,207,321,309,163,49,235,186,54,204,287,292,361,241,238,286,233,183,57,64,69,185,310,345,225,67,196,228,73,228,298,366,366,202,197,205,220,213,61,61,62,224,312,408,209,64,172,190,68,229,287,326,368,175,185,191,228,209,64,73,56,181,294,376 H,333772,8,600,4,16,1015675,128,2,1,1,,2,2,2,,50,0,2,80,1,300,1,,,,,3,1,4,,,,1,2,,13,3,290,6,4,35200,4,,,1,1,35200,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,1,1,262,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,226,38,135,33,108,133,38,123,38,244,210,132,127,117,43,129,231,132,127,40,35,231,116,225,127,128,191,132,218,33,39,134,137,152,196,135,43,135,128,217,238,39,131,38,126,135,38,134,37,211,207,141,121,124,41,127,237,121,129,36,38,226,129,221,119,125,213,123,211,35,37,122,128,127,212,139,42,126,125 H,334033,8,800,4,16,1015675,154,5,1,2,1,5,2,2,,150,0,750,3,6,900,1,,2,200,2,1,1,9,,,,1,1,,14,4,300,9,5,56000,3,,,1,2,56000,0,3,3,3,1,5,4,5,0,0,4,12,0,0,1,0,0,1,560,3,0,1,13,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,264,165,196,46,124,172,167,174,43,122,167,247,255,56,39,193,144,47,220,265,277,149,188,49,131,162,177,147,55,137,142,237,242,56,48,241,187,39,151,288,211,124,136,41,176,160,156,138,60,195,196,223,223,45,53,275,150,61,204,283,187,128,175,39,133,171,175,132,64,242,169,260,191,44,60,236,124,55,175 H,334310,8,800,4,16,1015675,20,4,1,1,,3,1,2,,150,0,2,3,3,250,1,170,,,,3,1,6,,,,1,2,,5,3,2,5,2,17100,2,,,1,1,17100,0,2,2,2,1,5,2,4,0,0,2,14,0,0,1,0,0,1,199,,0,0,5,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,17,20,23,45,7,35,21,7,6,5,20,38,6,26,20,22,25,32,20,37,21,22,20,32,7,35,26,7,6,8,22,42,5,20,20,20,22,36,19,30,24,22,19,39,5,40,24,5,7,7,17,40,7,20,17,19,21,34,20,38,22,23,22,38,7,41,20,7,7,6,24,36,7,22,25,24,26,45,21 H,334818,8,100,4,16,1015675,29,6,1,1,,3,2,2,,80,0,2,3,3,600,1,,1,700,1,1,1,4,,,,1,1,,15,4,220,3,1,108400,1,,,1,1,108400,1,1,4,1,1,5,0,6,0,0,2,9,0,1,1,0,0,1,798,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,34,34,35,55,29,54,34,37,46,28,8,42,46,9,29,27,10,33,9,10,33,28,33,46,28,44,26,27,45,29,7,54,53,9,28,22,11,25,50,51,33,31,31,9,32,9,31,33,8,25,51,7,9,45,29,27,49,32,64,49,29,25,31,9,28,9,27,28,11,28,53,12,10,50,30,30,44,25,7 H,334898,8,800,4,16,1015675,56,5,1,1,,3,2,2,,80,0,2,70,1,560,1,,1,590,1,1,1,6,,,,1,1,,10,3,360,7,1,96800,3,,,1,1,96800,0,3,3,3,1,3,3,5,0,0,3,10,0,0,1,0,0,1,770,3,0,1,16,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,80,46,18,65,70,14,25,105,46,38,88,86,100,49,56,63,18,56,25,87,79,58,19,55,84,20,20,101,47,48,80,65,98,44,54,66,13,55,22,98,55,50,22,59,87,16,17,100,51,50,73,65,95,52,53,60,21,73,25,95,78,44,15,60,83,18,18,100,55,56,93,72,103,44,47,59,22,51,22,117 H,335239,8,800,4,16,1015675,14,6,1,1,,5,2,2,,70,0,600,300,2,,1,,,,,,1,7,2,700,,1,3,,,2,1,6,1,45000,2,1120,30,1,1,45000,0,2,2,2,1,1,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,14,24,16,15,22,10,4,4,4,20,13,10,15,17,27,23,18,10,5,1,14,32,20,15,22,15,6,5,5,17,17,12,14,10,22,27,19,15,26,21,12,3,20,21,3,12,35,24,16,15,14,17,14,9,5,5,4,13,24,23,13,3,22,19,3,15,31,20,16,14,13,16,16,12,5,5,5,16,7 H,335531,8,900,4,16,1015675,70,1,1,1,,3,2,2,,30,0,200,3,6,400,1,,2,900,2,1,1,6,,,,1,1,,12,1,650,6,,,,,,1,4,55000,0,4,4,4,1,5,0,,0,0,0,26,0,0,0,0,0,1,1172,3,0,1,28,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,20,63,57,72,58,18,66,14,77,22,23,24,17,59,69,18,23,82,106,74,79,112,116,115,103,66,118,56,146,96,72,59,76,150,111,66,81,108,68,127,115,57,62,85,66,102,65,124,97,128,155,125,91,63,80,112,129,87,15,67,58,18,21,20,21,59,18,69,20,81,71,65,71,23,17,60,74,20,59 H,335793,8,500,4,16,1015675,79,1,1,1,,3,2,2,,80,0,10,180,1,600,1,,1,500,1,1,1,6,,,,1,1,,10,2,280,7,,,,,,1,4,45000,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,0,0,2,784,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,75,68,79,24,73,131,86,106,124,29,90,24,95,91,23,76,16,143,159,71,86,82,80,147,75,21,86,24,23,126,82,123,76,79,143,74,136,21,27,84,88,90,86,22,83,142,70,129,162,21,85,24,83,79,23,87,24,129,123,83,73,90,89,113,70,22,76,21,25,119,76,112,76,79,169,87,121,21,21,81 H,336017,8,500,4,16,1015675,81,2,1,1,,4,2,2,,60,0,2,150,1,500,1,,2,600,2,2,1,7,,,,1,1,,15,2,60,7,1,84500,4,,,2,1,84500,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,1,982,3,0,1,27,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,61,184,63,59,136,131,118,126,76,110,69,127,62,100,76,86,165,129,102,20,80,31,64,69,28,28,23,35,65,17,85,28,78,84,78,96,32,25,121,106,119,130,66,65,120,113,148,185,78,122,90,92,70,93,82,102,112,113,94,37,86,29,58,76,24,21,26,27,97,22,71,20,75,102,78,107,20,27,85,127 H,336172,8,900,4,16,1015675,300,1,1,1,,1,2,2,,20,0,2,3,3,,1,,,,,,1,2,2,400,,1,3,,,1,600,9,,,,470,23,1,4,25000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,375,523,543,295,120,366,417,303,293,463,450,144,98,108,245,264,259,234,279,123,483,418,377,346,110,309,562,318,209,389,294,82,131,90,348,331,280,381,315,410,111,138,121,253,424,282,92,325,300,140,275,501,454,411,251,295,323,257,312,462,126,79,119,341,423,316,118,299,319,124,296,423,515,420,312,272,333,313,274,150 H,336175,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,336182,8,200,4,16,1015675,256,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,307,249,394,299,214,89,77,307,333,80,280,440,93,86,278,246,347,314,262,236,319,256,86,279,262,448,319,74,81,444,296,87,372,368,295,257,70,305,234,218,280,313,91,289,231,442,379,71,87,401,283,92,432,408,253,281,73,310,244,285,252,229,386,281,238,92,89,319,321,95,237,441,93,72,272,218,339,272,243,224 H,336380,8,200,4,16,1015675,106,2,1,1,,3,2,2,,70,0,2,40,1,170,1,,1,790,1,1,1,5,,,,1,1,,16,2,840,3,5,60020,4,,,1,2,60020,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,2,970,3,0,1,29,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,41,45,207,163,30,133,212,29,28,88,128,164,159,144,78,102,201,89,98,122,24,28,168,162,36,91,179,25,32,132,109,174,90,103,126,127,168,121,79,91,31,32,115,189,37,93,208,43,44,125,116,145,124,122,86,111,154,99,121,105,37,28,140,180,34,111,113,32,45,138,117,141,94,116,124,96,169,131,89 H,336596,8,300,4,16,1015675,91,1,1,2,1,2,1,2,,10,0,50,100,6,,1,,,,,,1,4,2,400,,1,3,,,2,2,5,,,,514,9,1,4,68000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,104,189,89,32,74,27,31,131,99,125,96,96,151,91,152,28,27,96,82,84,93,26,106,160,86,172,155,25,89,25,112,89,25,88,30,173,132,94,98,95,108,190,111,27,89,28,25,158,89,141,98,87,151,83,169,27,24,104,100,82,100,35,94,168,87,125,137,24,109,25,82,80,26,76,24,155,151,94,89 H,336654,8,900,4,16,1015675,236,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,460,240,272,79,315,236,221,365,269,227,445,233,237,211,364,83,86,75,65,232,78,226,251,407,78,268,206,74,224,199,80,215,237,197,67,394,387,450,376,225,420,315,225,68,329,236,249,417,221,242,401,239,216,241,345,72,68,75,80,236,77,228,253,426,75,204,214,76,263,248,64,237,271,245,62,354,325,388,460,200 H,337344,8,800,4,16,1015675,22,3,1,2,1,5,2,1,,60,0,20,3,3,400,1,,2,620,2,1,1,9,,,,1,1,,17,3,540,9,1,61000,2,,,1,1,61000,0,2,2,2,1,5,1,3,0,0,1,16,0,0,1,0,0,1,814,3,0,0,15,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,25,22,8,6,5,7,25,7,21,7,24,20,15,19,7,3,17,21,19,19,47,40,21,23,32,22,39,26,55,24,38,51,34,30,24,23,56,36,6,7,26,20,9,10,7,5,27,6,22,10,15,21,24,17,5,7,31,19,22,20,31,34,39,22,17,29,39,18,47,20,35,46,36,35,25,21,39,41,7 H,337549,8,700,4,16,1015675,70,1,1,,,1,9,,,80,0,1,3,3,,1,,,,,,1,3,2,440,,1,3,,,0,2,2,,,,520,59,1,6,10600,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,74,70,69,20,72,119,72,126,125,20,70,23,76,72,18,66,20,117,133,78,66,70,73,21,65,122,72,126,114,21,76,20,64,69,22,71,20,118,134,77,75,72,69,124,65,20,71,20,22,130,64,124,69,67,111,63,122,18,20,70,72,78,59,112,74,20,72,22,21,124,69,119,73,83,118,74,109,22,20,64 H,337621,8,100,4,16,1015675,44,1,1,1,,3,2,2,,40,0,550,3,4,400,1,,,,,3,1,6,,,,1,2,,12,0,770,8,,,,,,1,6,7700,0,4,4,4,1,7,0,,0,0,0,31,0,0,0,1,1,2,196,,0,1,5,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,92,13,42,12,12,42,14,58,53,38,42,60,47,14,38,66,55,41,47,38,60,12,48,14,15,39,12,63,52,56,46,68,38,17,50,88,73,32,31,51,92,14,34,12,13,43,13,63,37,46,49,63,45,12,44,58,58,56,42,40,77,13,48,12,15,45,18,96,38,60,37,63,61,10,42,68,63,42,55 H,337721,8,300,4,16,1015675,219,5,1,1,,4,2,2,,60,0,2,80,1,450,1,,1,790,1,1,1,7,,,,1,1,,14,4,30,7,1,84200,2,,,1,1,84200,0,2,2,2,1,5,2,5,0,0,2,13,0,0,1,0,0,2,933,3,0,1,22,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,74,407,189,251,80,394,212,216,331,192,220,404,223,224,196,302,62,65,245,354,395,78,181,209,361,69,225,193,69,216,196,75,209,215,236,81,338,342,179,63,65,384,235,249,61,310,226,207,321,221,180,385,274,218,227,362,70,66,206,387,331,59,263,211,332,61,247,238,69,241,215,85,208,198,256,66,344,335,218 H,337816,8,100,4,16,1015675,110,3,1,1,,4,2,2,,130,0,2,20,1,640,1,,1,1300,1,1,1,9,,,,1,1,,19,3,50,3,1,113050,4,,,1,1,113050,0,4,4,4,1,5,0,3,0,0,0,15,0,0,0,0,0,1,1454,3,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,102,123,118,30,36,33,110,188,110,29,120,108,26,121,201,178,173,112,123,33,101,104,109,174,194,164,108,33,106,178,117,118,178,123,33,31,35,100,104,159,111,118,132,37,34,32,101,194,109,34,109,116,27,111,186,163,186,122,113,30,106,99,114,200,196,209,100,30,113,172,119,109,160,109,32,30,33,117,113,184 H,338352,8,300,4,16,1015675,61,2,1,1,,2,2,2,,50,0,2,3,5,580,1,,,,,3,1,4,,,,1,2,,13,4,200,3,,,,,,1,7,54270,0,4,4,4,1,4,0,,0,1,0,4,3,0,0,1,1,1,170,,0,1,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,50,70,53,55,21,55,51,90,96,13,16,102,68,18,101,114,53,67,80,16,62,76,66,71,25,69,77,87,73,18,19,113,64,16,98,94,55,56,66,92,62,73,61,55,116,56,51,16,13,77,104,20,73,102,18,15,65,69,70,94,50,73,64,61,92,51,60,18,20,91,120,16,53,111,23,21,59,78,92 H,338378,8,900,4,16,1015675,81,4,1,2,1,1,2,2,,170,3000,2,3,3,0,1,,,,,3,1,2,,,,1,2,,2,2,2,7,7,4470,2,,,5,3,5470,0,2,4,2,1,6,0,3,0,1,1,37,3,0,1,0,0,1,170,,0,1,1,1,14,14,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,78,85,86,22,27,28,65,117,69,22,92,90,26,73,135,152,161,87,70,106,90,103,84,26,26,40,85,119,69,22,137,71,23,73,160,144,127,92,73,41,63,101,80,150,121,121,84,28,108,145,65,87,115,75,21,34,26,89,107,29,75,63,70,127,113,104,119,31,108,125,80,86,164,122,22,21,18,58,78,145 H,338804,8,700,4,16,1015675,108,1,1,1,,3,2,2,,70,0,2,140,1,350,1,,1,700,1,1,1,7,,,,1,1,,16,2,600,3,,,,,,1,6,56000,0,4,4,4,1,1,0,,0,0,0,21,0,0,0,0,0,1,960,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,102,104,98,162,114,33,111,35,32,194,103,178,106,115,187,109,194,31,109,33,101,110,120,175,108,34,114,32,35,187,122,191,116,115,172,111,174,33,113,34,118,100,97,197,110,32,106,32,33,186,117,199,108,104,200,107,202,38,104,31,116,110,116,177,95,34,99,28,34,189,115,186,106,108,204,116,191,29,114 H,339077,8,800,4,16,1015675,98,1,1,1,,1,2,2,,60,0,2,170,1,50,1,,2,240,2,1,1,4,,,,1,1,,3,1,1400,7,,,,,,1,4,22000,0,4,4,4,1,5,0,,0,0,0,32,0,0,0,0,0,1,591,3,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,86,29,153,105,110,111,34,144,96,103,30,95,28,28,150,165,111,111,25,98,98,157,23,85,110,89,188,34,107,108,183,113,166,194,28,28,101,114,166,111,121,31,163,102,88,100,28,136,97,84,23,120,27,27,171,138,103,102,27,88,120,176,36,88,84,97,153,30,95,95,178,119,161,146,35,26,116,138,143 H,339134,8,800,4,16,1015675,82,5,1,1,,4,2,2,,90,0,2,3,3,330,1,,2,780,1,1,1,6,,,,1,1,,16,2,40,3,2,62000,3,,,1,1,62000,0,3,3,3,1,4,3,5,0,0,3,17,0,0,1,0,0,1,901,3,0,1,29,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,69,20,81,25,28,22,26,99,97,22,22,79,22,24,88,84,74,78,135,81,137,105,155,85,98,94,85,125,121,78,106,136,70,80,131,127,157,136,79,138,77,138,72,170,136,117,173,75,75,147,117,84,148,134,78,75,70,70,29,83,24,89,29,79,81,92,71,23,29,96,91,23,75,79,25,24,26,24,72 H,340199,8,700,4,16,1015675,308,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,98,327,442,370,361,279,487,303,431,93,273,85,300,315,298,102,102,548,328,551,278,83,332,92,86,469,307,576,282,309,482,298,542,92,85,285,300,323,74,342,583,338,86,317,307,268,90,324,94,494,284,502,321,293,320,496,496,101,356,94,266,498,277,557,477,80,290,99,303,286,95,321,117,559,468,326,321,363,641 H,340230,8,400,4,16,1015675,98,1,1,1,,2,2,2,,40,0,2,40,1,560,1,,2,600,2,1,1,4,,,,1,1,,14,3,20,9,,,,,,1,4,20500,0,4,4,4,1,5,0,,0,0,0,47,0,0,0,0,0,1,808,3,0,1,21,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,76,154,118,103,172,104,36,52,32,92,86,106,83,90,196,173,160,98,172,160,88,26,94,106,38,106,134,145,141,97,104,101,95,110,28,27,26,104,156,150,115,34,101,92,33,76,141,209,161,70,96,119,117,102,24,31,37,74,28,27,113,152,74,82,168,160,41,27,30,112,98,86,125,132,194,149,132,99,39 H,340246,8,600,4,16,1015675,120,2,1,1,,3,2,2,,80,0,2,120,1,2200,1,,1,800,1,1,1,7,,,,1,1,,22,2,30,6,1,140000,4,,,1,1,140000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,0,0,1,1003,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,37,33,110,120,111,107,123,205,213,190,117,35,122,219,119,106,194,113,37,35,39,36,116,126,114,125,113,208,217,217,124,35,120,213,116,119,222,127,204,209,202,203,119,132,117,121,114,36,37,35,129,197,123,39,123,132,37,134,196,193,188,195,121,130,124,113,112,34,33,37,121,214,113,34,116,107,33,111,36 H,340465,8,300,4,16,1015675,75,5,1,1,,5,2,2,,70,0,2,80,1,700,1,,1,1500,1,1,1,9,,,190,1,1,,20,4,2,2,1,94500,2,,,1,1,94500,0,2,2,2,1,4,3,5,0,0,3,23,0,0,1,0,0,2,1840,2,0,1,36,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,125,86,62,72,99,70,26,22,26,79,131,76,25,75,72,19,74,111,156,127,130,65,72,75,69,72,23,28,26,79,115,64,26,66,105,32,71,106,107,129,118,72,88,84,80,72,27,18,21,77,146,72,31,83,67,22,73,120,123,138,123,69,87,67,86,69,23,21,20,84,120,94,24,69,69,24,77,121,111 H,340685,8,500,4,16,1015675,85,2,1,1,,3,2,2,,50,0,2,4,3,280,1,,1,700,1,1,1,6,,,,2,1,,14,3,360,9,1,34100,4,,,1,1,34100,0,4,4,4,1,2,0,2,0,0,0,28,0,0,0,0,0,1,784,3,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,78,124,86,24,85,131,163,79,94,128,29,73,22,26,93,29,133,83,87,83,83,26,90,132,88,25,28,90,97,26,137,88,163,150,92,154,26,90,85,93,75,168,79,27,93,163,140,87,96,155,26,83,21,25,92,27,162,106,76,73,90,24,76,148,88,24,23,82,91,26,136,89,123,127,86,148,27,70,85 H,340940,8,700,4,16,1015675,77,2,1,1,,3,2,2,,90,0,2,330,1,330,1,,1,760,1,1,1,6,,,,1,1,,17,1,400,3,5,30000,2,,,1,2,30000,0,2,2,2,1,4,1,2,0,0,1,49,0,0,1,0,0,2,1213,3,0,1,31,1,10,10,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,24,77,116,66,25,75,82,81,22,79,23,144,75,131,78,74,88,131,141,80,89,21,76,133,77,143,144,25,80,24,82,74,22,84,22,117,125,77,85,74,76,22,75,132,88,130,132,18,76,26,82,86,25,84,23,162,140,77,87,23,23,79,143,82,22,70,75,76,20,79,24,135,69,120,81,77,83,139,121,23 H,341049,8,300,4,16,1015675,267,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,348,421,464,297,84,274,494,260,225,424,239,97,75,72,280,261,311,348,287,78,451,525,397,218,75,258,370,259,280,421,311,99,88,72,256,316,232,248,279,74,442,424,392,226,75,259,350,248,292,478,276,85,103,75,246,277,281,260,226,89,374,373,429,303,117,331,513,279,284,403,219,74,74,95,306,278,252,253,322,78 H,341175,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,341269,8,900,4,16,1015675,146,2,1,3,6,4,2,2,,180,0,2,3,3,1000,1,,2,390,2,1,1,8,,,40,1,1,,17,2,2,4,1,78870,4,,,1,1,78870,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,1,1,768,2,0,0,20,2,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,173,60,151,42,162,146,47,133,276,42,37,272,162,160,261,122,236,154,158,224,137,33,129,55,179,136,45,151,259,47,38,182,134,128,241,164,211,160,192,36,130,240,169,216,143,149,286,168,44,236,299,49,133,137,63,142,36,192,136,67,126,238,134,237,188,123,189,129,41,237,262,49,154,157,45,173,48,116,126,261 H,341282,8,100,4,16,1015675,142,1,1,1,,2,1,2,,70,0,2,3,3,240,1,2500,,,,3,1,5,,,,1,2,,1,1,2,5,,,,,,3,4,34010,0,4,4,4,1,6,0,,0,0,0,11,0,0,0,0,0,2,308,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,156,226,54,249,156,41,62,48,151,272,44,125,139,132,162,214,212,139,123,144,148,41,272,40,133,247,244,243,137,44,221,131,143,140,135,42,43,132,141,137,161,214,53,236,118,41,42,45,151,203,47,163,126,119,147,284,232,123,145,138,136,43,233,44,136,248,234,215,165,43,270,179,146,144,137,49,37,129,121 H,341712,8,800,4,16,1015675,70,2,1,2,1,2,2,2,,150,0,540,3,6,0,1,,2,670,2,1,1,4,,,,1,1,,12,1,670,7,4,23400,4,,,1,1,23400,0,4,4,4,1,5,0,2,0,0,0,47,0,0,0,2,2,1,921,3,0,1,1,0,9,9,1,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,23,48,91,24,19,114,77,54,109,63,137,54,68,68,26,81,23,66,72,23,132,89,28,130,117,23,78,82,23,55,20,84,71,69,104,57,139,68,63,15,143,68,26,176,164,29,75,60,20,62,17,73,68,76,108,61,143,66,69,146,16,79,85,17,19,76,81,70,120,83,110,69,68,66,20,101,23,78,69,130 H,341844,8,300,4,16,1015675,36,2,1,1,,1,2,2,,80,0,2,10,6,1200,1,,,,,3,1,4,,,,1,2,,19,4,300,3,1,74000,4,,,1,1,74000,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,0,0,2,298,,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,44,32,10,10,14,11,35,16,56,12,34,28,46,48,10,10,32,35,42,40,56,55,39,31,29,49,81,51,51,29,68,67,55,50,31,34,58,71,15,9,36,37,11,13,13,10,40,16,36,12,38,39,43,35,12,10,39,38,39,34,72,45,32,49,38,24,53,41,66,37,67,73,70,69,32,37,54,41,11 H,342494,8,100,4,16,1015675,176,1,1,1,,4,2,2,,50,0,2,210,1,520,1,,,,,3,1,7,,,,1,2,,14,1,30,9,,,,,,1,6,9200,0,4,4,4,1,5,0,,0,0,0,50,0,0,0,1,1,2,381,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,158,146,234,204,228,47,40,317,242,55,177,245,66,74,134,119,300,166,160,160,168,220,51,204,215,259,267,56,53,284,166,76,382,346,175,194,66,200,170,216,176,174,263,210,188,50,43,298,278,63,205,274,51,53,179,179,267,215,167,179,162,168,50,194,185,266,288,50,53,239,149,67,285,322,169,168,53,178,244,184 H,342869,8,800,4,16,1015675,89,1,1,,,1,8,,,20,0,2,3,3,,1,,,,,,1,3,2,230,,1,3,,,1,1,5,,,,250,101,1,6,2500,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,93,83,75,27,75,93,146,134,34,28,163,101,26,141,136,69,81,25,89,86,89,91,89,166,89,73,24,28,163,169,27,99,154,31,29,75,84,138,96,84,87,89,111,24,82,102,136,137,25,31,127,105,19,129,168,88,94,23,112,82,76,93,86,122,86,119,27,22,157,150,25,96,132,25,33,102,106,153,90,92 H,343356,8,600,4,16,1015675,101,2,1,1,,3,2,2,,40,0,2,180,1,500,1,,2,1000,2,1,1,6,,,,1,1,,15,2,30,5,1,81000,4,,,1,1,81000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,1365,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,100,99,166,101,109,28,31,181,174,32,100,172,29,28,103,101,182,96,107,96,96,103,31,98,105,197,183,31,30,179,111,31,170,166,91,106,30,94,107,107,95,96,176,101,104,26,31,175,174,33,111,181,30,32,111,105,201,99,101,100,101,99,27,92,103,171,166,31,30,187,104,27,172,166,103,109,29,103 H,343454,8,600,4,16,1015675,125,4,1,1,,3,2,2,,30,0,2,80,1,,1,,,,,,1,4,2,880,,1,3,,,2,600,2,1,49500,3,1040,25,1,1,49500,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,235,125,138,127,42,37,128,38,196,37,204,107,216,221,121,112,130,121,124,223,122,33,235,209,120,117,37,128,146,133,138,33,134,140,191,195,35,36,109,195,126,42,212,201,131,133,30,113,141,126,116,36,116,121,199,236,35,36,35,143,223,120,119,123,35,41,135,39,203,34,187,139,221,205,139,127,129,141,40 H,344146,8,300,4,16,1015675,32,1,1,1,,4,2,2,,70,0,1200,10,4,350,1,,,,,3,1,5,,,,1,2,,14,1,300,6,,,,,,1,6,27600,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,2,276,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,10,33,55,56,62,31,28,35,37,32,8,10,11,35,55,34,9,32,13,31,63,34,8,7,8,29,37,56,29,27,48,52,55,28,9,33,55,40,10,30,59,29,8,10,8,28,36,39,38,29,49,54,54,31,8,24,55,36,56,27,11,30,48,63,57,26,28,36,38,34,9,10,11,49,56,39,10,24,61 H,344292,8,200,4,16,1015675,104,4,1,1,,3,2,2,,100,0,2,3,3,,1,,,,,,1,8,2,1100,,1,3,,,2,60,9,2,100000,2,1205,14,1,1,100000,0,3,3,3,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,109,120,188,104,170,102,106,96,29,75,53,118,81,30,107,151,42,50,129,141,142,107,140,124,171,129,106,111,40,116,34,89,147,40,77,140,43,45,24,30,113,92,36,127,32,106,83,115,226,85,245,150,100,168,130,30,167,190,25,25,120,108,40,110,26,98,119,106,167,108,216,76,116,271,93,32,209,184,150 H,344588,8,300,4,16,1015675,87,1,1,1,,3,2,2,,80,0,2,100,1,500,1,,1,410,1,1,1,7,,,,1,1,,14,1,650,7,,,,,,1,6,23000,0,4,4,4,1,6,0,,0,0,0,34,0,0,0,1,1,1,644,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,24,73,82,93,79,106,149,101,26,153,83,123,76,29,88,25,138,91,25,175,166,78,89,81,84,81,24,80,138,28,74,26,90,129,85,184,26,89,29,130,149,81,79,100,78,77,26,80,170,26,92,30,81,147,94,136,29,92,124,32,29,84,86,91,95,75,163,93,23,143,88,158,79,26,72,26,108,78,146 H,345070,8,100,4,16,1015675,113,4,1,3,1,4,2,2,,100,0,250,160,6,400,1,,2,1100,2,1,1,9,,,,1,1,,22,4,2,3,1,133600,2,,,3,1,133600,0,2,2,2,1,4,2,4,0,0,2,14,0,0,1,0,0,1,1614,3,0,0,36,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,237,116,132,107,195,120,191,35,108,32,101,109,108,31,35,193,105,31,124,32,124,34,38,163,122,210,111,108,188,117,177,37,33,106,108,102,209,110,194,133,203,113,122,103,176,101,191,30,131,30,97,106,106,33,32,182,123,35,103,31,118,33,33,205,142,207,113,117,231,114,203,37,31,115,107,107,193,98,175 H,345113,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,345623,8,500,4,16,1015675,123,4,1,2,1,3,2,2,,200,0,2,3,3,800,1,,2,1000,2,1,1,7,,,,1,1,,22,6,2,3,1,250000,2,,,1,1,250000,0,2,2,2,1,5,2,4,0,0,2,7,0,0,1,0,0,1,1559,3,0,1,47,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,35,213,200,122,112,37,35,238,122,162,133,210,125,119,110,29,114,126,216,39,194,36,40,127,124,206,220,34,116,132,95,38,128,136,121,192,113,147,254,39,230,37,33,119,127,221,164,36,129,122,118,43,117,127,118,200,121,121,37,199,37,215,211,107,112,39,37,210,114,128,122,192,118,123,122,37,127,126,36 H,345660,8,400,4,16,1015675,91,0,1,1,,2,2,2,,,,,,,,2,,,,,,2,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,30,79,87,28,83,149,171,138,95,96,86,90,76,24,25,29,103,150,154,88,29,91,81,30,99,153,154,150,109,85,81,90,88,30,26,28,98,156,29,75,126,100,89,153,114,32,30,22,100,86,87,86,98,185,137,149,93,24,25,92,131,113,98,132,98,26,29,27,81,102,77,81,93,148,174,168,88,28,176 H,345924,8,100,4,16,1015675,110,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,113,118,29,183,103,158,201,108,171,29,135,120,112,30,106,212,125,34,32,127,118,123,166,31,103,34,27,105,33,175,133,116,117,153,126,32,91,197,162,98,104,103,200,27,132,35,35,121,38,182,119,109,108,176,119,27,102,185,202,112,102,113,32,174,110,163,198,106,180,34,129,114,100,32,109,183,122,31,34,129 H,346117,8,200,4,16,1015675,26,2,1,1,,3,2,2,,100,0,2,3,3,600,1,,,,,3,1,6,,,,1,2,,14,2,1200,9,4,19200,4,,,1,1,19200,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,2,2,2,308,,0,1,16,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,40,28,11,34,33,23,39,6,41,9,40,24,30,26,7,28,51,25,40,18,25,7,27,51,49,37,33,27,26,37,28,6,7,5,28,38,24,7,6,24,27,42,31,7,9,7,20,28,22,30,31,43,47,41,23,9,26,45,28,46,9,26,49,35,26,22,8,35,8,59,8,31,22,19,42,22,9,25,21 H,346299,8,400,4,16,1015675,100,1,1,1,,3,1,2,,40,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,4,2,5,,,,540,32,1,6,20000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,73,105,122,125,136,105,205,33,128,32,105,29,29,98,100,89,106,108,92,117,169,33,44,111,73,129,96,123,122,90,164,104,92,33,32,158,187,37,33,148,111,103,100,30,26,99,38,174,34,215,77,126,127,81,134,102,96,93,107,117,34,154,153,110,103,23,121,151,111,93,32,97,88,139,156,31,25,144,153 H,346489,8,500,4,16,1015675,238,2,1,1,,2,1,2,,200,840,2,3,3,,1,,,,,,1,4,,,,1,4,,,1,2,5,4,9800,4,,,2,1,9800,0,4,4,4,2,7,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,347,394,216,292,178,54,266,315,214,415,367,71,280,76,217,341,83,262,85,233,385,434,215,233,225,89,277,364,236,449,307,67,259,67,185,278,83,382,79,236,91,67,195,165,275,411,257,85,227,72,98,430,328,444,251,236,384,213,356,210,108,67,237,189,246,436,231,77,229,87,76,422,231,394,269,213,375,188,340,233 H,347208,8,100,4,16,1015675,29,1,1,2,1,1,2,2,,60,0,2,110,1,1500,1,,,,,3,1,4,,,,1,2,,18,1,190,8,,,,,,1,6,12300,0,4,4,4,1,7,0,,0,0,0,42,0,0,0,1,1,1,432,,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,35,31,53,51,31,30,27,46,9,47,27,10,9,9,30,56,10,27,32,27,32,36,53,44,33,30,26,46,9,53,34,9,9,8,28,54,10,34,31,42,31,27,9,9,31,26,29,7,60,10,28,46,55,60,27,7,51,31,27,33,32,33,7,10,35,29,34,11,59,12,30,48,43,51,28,9,48,29,31 H,347250,8,100,4,16,1015675,66,1,1,1,,2,2,2,,200,0,2,200,1,0,1,,,,,3,1,5,,,,1,2,,15,2,570,7,,,,,,1,4,15300,0,4,4,4,1,3,0,,0,0,0,43,0,0,0,0,0,1,552,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,19,20,107,112,18,56,119,22,18,53,57,96,57,61,67,87,122,72,68,59,18,22,130,102,21,75,110,20,19,61,58,129,60,58,81,61,103,66,69,63,94,135,19,16,105,70,22,115,97,61,62,19,66,62,72,72,18,71,68,66,93,93,26,22,106,58,20,103,100,67,54,24,63,62,80,75,22,68,78 H,347286,8,100,4,16,1015675,142,2,1,1,,3,2,2,,30,0,2,20,1,350,1,,2,450,2,1,1,5,,,,1,1,,18,2,640,4,4,24600,4,,,1,1,24600,0,4,4,4,1,4,0,2,0,0,0,33,0,0,0,2,1,1,678,3,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,38,138,56,46,238,217,173,140,155,152,39,217,143,146,156,43,222,127,200,153,40,142,42,42,282,264,131,135,155,149,44,224,124,154,111,46,271,134,278,121,46,118,51,53,213,237,148,142,157,122,49,254,124,125,122,53,213,125,253,186,39,154,46,48,246,239,128,118,136,141,40,271,135,153,132,45,239,136,223 H,347362,8,900,4,16,1015675,126,2,1,3,6,3,2,2,,80,0,2,180,2,330,1,,,,,3,1,9,,,,1,2,,11,1,2,9,4,54600,4,,,1,1,54600,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,430,,0,0,29,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,95,122,45,36,42,107,226,137,42,164,162,32,157,353,192,215,175,95,46,126,123,134,165,232,158,84,27,122,169,123,138,176,141,29,32,56,152,158,39,131,152,111,208,187,252,150,29,98,229,96,107,189,86,35,43,24,110,131,193,147,129,181,41,45,36,127,196,93,45,155,136,38,142,191,195,234,132,189,202 H,347442,8,500,4,16,1015675,88,3,1,2,1,3,2,2,,140,0,2,30,1,800,1,,1,900,1,1,1,7,,,350,1,1,,18,3,2,2,1,76300,2,,,1,1,76300,0,2,2,2,1,4,1,3,0,0,1,22,0,0,1,0,0,1,1420,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,139,143,27,95,92,142,24,87,97,30,102,89,27,86,76,68,24,155,91,27,25,24,161,85,80,25,176,93,95,166,83,91,143,100,89,89,141,28,86,183,159,159,22,100,85,142,22,100,91,29,93,104,23,88,94,94,25,152,81,23,26,27,138,78,82,25,142,84,96,168,89,84,140,102,94,83,159,23,94 H,347745,8,100,4,16,1015675,27,3,1,2,1,2,2,2,,130,0,500,3,8,0,1,,,,,3,1,4,,,,1,2,,13,2,2,5,1,53000,2,,,1,1,53000,1,2,4,2,1,6,0,3,1,0,1,5,0,0,1,0,0,2,205,,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,28,40,32,24,41,27,9,49,44,8,23,23,8,24,10,32,26,32,59,9,24,7,29,33,7,17,43,10,9,41,24,29,34,24,45,26,32,24,50,8,20,8,24,24,7,21,45,8,7,35,29,29,39,25,45,29,34,30,10,38,29,46,24,22,33,23,11,56,51,9,28,25,7,27,10,30,32,25,8 H,348091,8,600,4,16,1015675,115,3,1,1,,3,2,2,,90,0,2,130,1,540,1,,1,1400,1,1,1,6,,,,2,1,,20,2,930,9,1,100100,4,,,1,1,100100,0,4,4,4,1,3,0,3,0,0,0,20,0,0,0,0,0,1,1698,3,0,1,32,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,198,111,114,117,113,131,34,33,31,128,185,122,35,106,123,35,114,209,187,205,198,121,106,111,105,125,35,32,35,107,184,116,33,135,119,33,124,203,186,191,179,121,118,126,113,118,37,30,38,109,193,115,32,118,112,32,107,207,222,196,206,122,122,118,121,116,32,35,33,124,180,104,34,113,111,35,121,221,191 H,348238,8,100,4,16,1015675,71,2,1,1,,1,2,2,,210,0,2,3,3,240,1,,1,540,1,1,1,3,,,160,1,1,,12,3,540,9,,,,,,1,7,51000,0,4,4,4,1,1,0,,0,1,0,22,3,0,0,0,0,2,955,1,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,122,118,20,80,135,27,27,70,87,122,70,68,72,70,115,82,69,20,74,19,127,123,19,65,103,22,23,71,70,110,75,81,63,75,120,65,64,18,71,29,123,118,22,67,128,20,17,76,73,107,76,82,60,72,112,68,65,18,79,19,123,120,22,75,94,18,26,62,68,130,68,73,97,73,146,78,66,21,83 H,348277,8,400,4,16,1015675,104,2,1,2,1,1,2,2,,40,0,2,180,2,380,1,,,,,3,1,5,,,,1,2,,16,3,2,4,2,51700,4,,,1,1,51700,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,0,1,337,,0,1,22,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,96,91,35,37,38,119,170,119,32,106,70,34,117,144,159,119,118,125,27,115,122,102,120,120,200,99,39,133,185,93,107,189,103,32,25,28,140,116,36,111,123,91,172,169,147,83,31,100,163,113,93,176,79,29,34,26,99,87,154,105,102,109,41,30,45,98,176,104,31,127,101,26,152,159,143,181,98,109,150 H,348443,8,800,4,16,1015675,60,6,1,1,,3,2,2,,190,0,2,3,3,,1,,,,,,1,5,2,600,,2,3,,,2,1,4,1,40900,3,790,23,1,1,40900,0,3,3,3,1,2,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,15,59,67,18,71,97,93,111,58,59,58,68,59,17,20,22,64,87,17,63,106,56,64,97,69,20,22,15,57,55,65,78,54,87,94,88,71,16,113,62,19,56,52,19,52,95,115,96,66,62,46,68,77,17,15,18,58,94,17,51,99,77,51,107,62,20,17,15,69,70,52,54,59,94,125,139,63,21,97 H,348945,8,200,4,16,1015675,34,3,1,2,1,4,2,2,,150,0,2,60,2,300,1,,1,390,1,1,1,7,,,,1,1,,13,4,2,3,1,63880,2,,,1,1,63880,0,2,2,2,1,4,1,3,0,0,1,11,0,0,1,0,0,2,600,3,0,1,22,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,7,51,12,8,29,10,74,29,36,35,48,48,14,32,56,54,32,27,45,40,58,30,64,61,25,52,12,24,32,41,12,54,59,38,13,10,32,24,13,28,12,34,8,11,40,13,54,46,37,30,56,31,10,36,46,59,36,31,63,38,56,38,67,52,50,60,9,34,33,36,10,22,48,36,9,8,36,39,11,39 H,349140,8,300,4,16,1015675,102,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,142,167,123,97,31,96,98,98,108,42,103,90,137,148,33,38,203,115,32,93,127,177,100,81,33,94,101,96,95,38,97,89,164,206,32,35,183,102,32,95,175,152,96,97,30,95,90,117,109,32,107,103,162,174,34,34,204,109,27,78,166,162,112,84,32,118,94,91,96,37,95,80,177,204,34,31,200,87,26,88 H,349194,8,800,4,16,1015675,16,2,1,3,4,4,2,2,,80,0,100,3,6,2200,1,,,,,3,1,7,,,,1,2,,22,4,360,9,2,38300,4,,,1,1,38300,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,2,2,1,376,,0,0,20,1,3,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,13,17,5,5,5,5,17,5,14,5,12,13,15,14,5,5,16,16,11,15,23,22,20,15,15,19,29,17,28,12,27,29,30,25,15,19,35,25,5,6,17,15,3,3,4,4,15,5,21,5,14,19,17,13,3,3,17,14,17,15,30,30,12,17,15,15,27,17,28,17,20,26,27,23,18,19,25,27,6 H,349463,8,600,4,16,1015675,114,1,1,1,,3,2,2,,20,0,2,100,1,500,1,,1,740,1,1,1,5,,,180,1,1,,17,2,750,3,,,,,,1,4,40000,0,4,4,4,1,5,0,,0,0,0,33,0,0,0,0,0,1,1103,2,0,1,27,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,109,33,32,106,34,195,110,110,112,194,116,34,123,204,194,119,110,189,117,199,105,186,192,118,187,30,119,112,127,34,114,211,115,33,32,98,106,37,111,185,109,184,191,115,207,35,104,103,108,31,122,190,121,33,40,127,117,37,111,31,118,33,32,115,32,195,113,105,129,196,110,33,100,205,203,106,113,198,122 H,349639,8,400,4,16,1015675,246,3,1,,,3,5,,,40,4800,2,2,1,,1,,,,,,1,5,2,400,,1,3,,,1,1,2,7,1200,2,440,101,1,3,1200,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,290,117,263,278,390,367,88,91,400,241,92,383,327,183,309,97,240,231,182,236,252,80,218,239,376,341,77,130,473,228,74,364,409,265,253,98,221,207,228,268,257,361,222,176,87,85,333,456,90,201,306,86,76,243,293,364,294,259,210,223,246,414,261,243,91,91,353,340,82,306,329,100,111,307,255,384,248,234,262,210 H,350379,8,600,4,16,1015675,107,3,1,1,,4,2,2,,80,0,2,250,1,250,1,,1,2000,1,1,1,9,,,150,1,1,,21,5,50,5,1,72500,2,,,1,1,72500,0,2,2,2,1,3,1,3,0,0,1,41,0,0,1,0,0,1,2484,2,0,1,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,112,108,186,28,112,108,178,109,109,30,102,111,179,36,33,99,30,95,102,101,180,187,107,114,177,30,107,30,31,101,30,191,104,111,120,176,99,35,187,176,105,116,172,31,108,107,193,103,103,31,108,101,172,32,31,109,33,116,107,102,183,168,103,106,204,35,98,34,34,105,32,189,112,113,113,169,106,31,194 H,350723,8,800,4,16,1015675,75,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,141,77,116,84,76,136,67,115,20,21,74,83,74,136,89,20,66,22,85,25,150,64,136,77,70,135,72,144,20,20,79,85,74,125,69,22,78,21,68,125,21,79,21,67,71,23,77,24,132,131,73,76,79,24,66,140,75,115,69,112,26,83,23,89,86,24,83,25,133,144,76,68,70,21,75,111,79,132,84 H,350750,8,500,4,16,1015675,378,5,1,1,,2,1,2,,60,1400,2,170,1,0,1,200,2,280,1,1,1,4,,,,1,1,,1,1,1,5,1,13400,3,,,2,1,13400,0,3,3,3,2,3,3,5,0,0,3,47,0,0,1,0,0,2,527,3,0,0,3,1,6,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,517,379,479,688,507,386,445,347,479,113,578,421,162,145,117,347,558,132,418,300,331,376,360,548,625,312,394,332,726,127,567,394,103,128,127,412,560,122,395,395,378,433,387,132,111,422,338,335,125,626,126,356,610,578,515,447,157,549,316,373,448,386,413,119,113,477,351,475,148,482,133,333,568,673,623,359,129,574,347,410 H,350922,8,200,4,16,1015675,75,1,1,,,1,5,,,130,0,2,3,3,,1,,,,,,1,3,2,290,,1,3,,,1,1,5,,,,420,27,1,4,18500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,124,75,70,21,75,66,73,78,24,56,65,111,111,21,22,165,91,24,83,116,105,76,88,21,91,81,82,81,20,69,66,133,107,19,28,123,70,21,69,123,106,86,74,16,69,76,75,85,21,76,73,129,142,22,26,130,70,28,76,133,98,68,101,22,73,67,68,74,18,70,57,154,117,23,33,146,78,23,81 H,350950,8,500,4,16,1015675,100,1,1,2,2,3,2,2,,50,0,100,3,6,100,1,,1,900,1,1,1,5,,,,1,1,,20,1,2,4,,,,,,1,4,29400,0,4,4,4,1,5,0,,0,0,0,39,0,0,0,1,0,1,958,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,26,193,105,171,176,88,164,28,101,99,97,30,105,157,95,32,28,123,110,101,25,167,105,181,191,93,170,24,90,102,94,30,89,167,108,29,33,102,104,94,32,181,92,161,206,84,169,27,96,99,105,28,113,165,87,26,28,101,106,112,31,177,120,178,165,93,151,34,89,109,104,25,86,175,107,33,27,99,94,105 H,351019,8,200,4,16,1015675,90,2,1,1,,3,2,2,,130,0,2,2,6,300,1,,,,,3,1,7,,,,1,2,,14,2,1200,6,5,104000,4,,,1,2,104000,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,1,0,2,372,,0,1,26,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,152,83,102,92,32,36,84,26,170,32,142,96,149,144,83,119,82,76,70,188,89,29,188,152,99,87,38,98,63,106,80,28,97,68,189,115,24,26,122,33,96,127,26,26,105,112,143,80,88,88,95,134,89,94,20,36,126,133,126,139,29,86,109,103,179,174,95,130,24,183,23,112,32,21,88,76,93,93,31 H,351391,8,100,4,16,1015675,83,2,1,2,1,3,2,2,,40,0,690,3,6,0,1,,,,,3,1,7,,,,1,2,,22,3,400,4,4,20600,4,,,1,1,20600,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,2,1,231,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,69,22,87,100,28,71,28,100,161,87,71,85,37,79,130,90,123,128,90,124,78,121,88,81,118,80,136,18,21,95,111,88,139,108,25,92,22,20,87,173,73,112,80,77,141,73,158,21,24,87,70,73,154,91,22,70,29,28,104,23,98,26,90,71,26,86,30,152,135,74,69,94,28,72,165,81,122,123,101 H,351514,8,900,4,16,1015675,87,2,1,1,,2,2,2,,100,0,2,130,1,330,1,,1,600,1,1,1,9,,,,1,1,,13,2,480,8,1,29300,4,,,1,1,29300,0,4,4,4,1,1,0,2,0,0,0,36,0,0,0,0,0,1,870,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,93,90,25,133,74,91,138,97,86,153,92,78,79,160,25,27,26,22,80,25,128,90,139,34,97,79,27,96,79,26,67,83,100,23,154,132,138,128,80,25,77,81,197,28,88,84,29,78,103,23,99,88,103,28,157,171,134,144,96,149,89,76,26,143,71,81,122,85,68,131,90,71,74,141,29,23,28,26,91 H,352130,8,400,4,16,1015675,13,1,1,1,,2,2,2,,50,0,830,3,4,1200,1,,1,330,1,1,1,4,,,170,1,1,,11,2,600,7,,,,,,1,4,13200,0,4,4,4,1,5,0,,0,0,0,61,0,0,0,0,0,2,669,2,0,1,56,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,29,19,13,15,13,10,12,4,3,4,14,31,16,5,13,11,5,12,27,5,4,3,12,16,13,13,15,20,22,32,15,4,12,20,18,16,21,13,5,23,24,29,15,13,15,10,14,5,5,5,14,24,13,5,15,16,6,12,19,5,5,3,12,14,10,9,15,27,28,27,13,3,11,20,15,15,21,14,5,18 H,352340,8,100,4,16,1015675,89,2,1,1,,2,2,2,,130,0,2,3,3,320,1,,,,,3,1,5,,,,1,2,,17,1,2,1,4,31800,4,,,1,1,31800,0,4,4,4,1,1,0,2,0,0,0,6,0,0,0,2,2,1,157,,0,1,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,148,91,92,90,28,94,155,88,181,130,27,86,27,88,75,25,96,27,95,23,28,106,111,89,136,87,24,87,26,24,150,79,138,98,76,129,99,172,100,25,26,103,93,82,146,91,25,81,24,27,165,95,153,95,96,157,88,139,81,167,134,92,76,93,25,90,161,78,181,182,28,101,22,77,85,26,83,30,90 H,352408,8,400,4,16,1015675,52,2,1,3,6,3,2,2,,60,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,8,2,2,9,2,43300,4,,,1,1,43300,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,2,1,60,,0,0,1,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,70,49,88,65,44,50,19,47,12,46,61,23,64,70,15,17,74,54,20,42,17,43,17,76,59,43,73,46,83,60,55,89,50,18,87,65,16,41,60,76,98,67,77,38,43,74,23,55,18,50,34,10,43,76,15,17,70,54,15,49,25,55,15,51,41,50,76,42,89,54,42,70,65,23,83,92,20,42,97 H,352500,8,400,4,16,1015675,29,2,1,1,,3,2,2,,80,0,700,3,4,500,1,,1,610,1,1,1,7,,,240,1,1,,11,3,70,5,,,,,,1,7,58000,0,4,4,4,1,4,0,,0,1,0,21,3,0,0,0,0,1,994,1,0,1,11,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,10,46,26,7,59,45,24,27,9,30,35,25,34,12,29,27,49,54,29,10,7,54,26,7,52,61,29,36,7,24,29,22,34,8,24,33,49,75,25,10,8,45,27,12,56,46,35,25,5,30,32,29,28,10,28,31,53,52,34,12,8,49,29,8,46,41,25,25,11,27,37,32,32,12,26,33,50,53,33 H,352872,8,800,4,16,1015675,29,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,27,12,33,37,27,37,40,31,9,10,10,23,33,35,25,34,51,54,7,65,35,7,28,58,27,25,55,35,9,8,8,34,33,34,30,22,63,50,45,8,34,67,22,8,36,28,9,33,49,44,47,28,32,29,31,37,11,8,54,10,30,45,26,8,26,27,12,30,53,53,53,38,26,27,29,26,10,7,8 H,353198,8,300,4,16,1015675,101,1,1,,,1,6,,,1,0,2,3,3,,2,,,,,,1,2,1,480,,1,3,,,0,1,4,,,,480,,1,6,0,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,90,101,91,96,156,138,25,160,95,102,34,33,32,109,94,164,36,110,161,27,156,167,32,40,99,123,104,86,173,30,107,99,126,213,33,101,92,170,97,109,106,95,96,101,184,157,31,207,111,95,32,31,31,94,101,163,28,88,148,30,174,173,33,26,86,97,102,107,157,29,109,96,103,179,35,110,110,169,111,98 H,353563,8,300,4,16,1015675,18,4,1,1,,5,2,2,,80,0,2,3,6,410,1,,2,410,2,1,1,8,,,,1,1,,13,3,840,5,1,44600,2,,,1,1,44600,0,2,2,2,1,5,2,4,0,0,2,18,0,0,1,0,0,2,654,3,0,1,16,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,14,23,27,4,5,4,13,21,21,7,23,19,7,24,25,32,31,9,13,22,19,15,19,41,28,24,15,7,27,30,34,21,25,18,4,6,6,6,13,23,17,22,29,43,31,43,20,5,20,28,18,22,22,18,7,6,5,25,21,21,19,27,22,5,4,7,16,29,19,8,18,21,5,15,34,39,32,34 H,353827,8,800,4,16,1015675,61,1,1,1,,4,2,2,,80,0,1200,3,3,0,1,,,,,3,1,5,,,,1,2,,20,1,300,4,,,,,,3,4,24000,0,4,4,4,1,4,0,,0,0,0,17,0,0,0,0,0,1,330,,0,1,27,,,,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,16,107,60,66,15,100,49,100,92,71,64,134,58,74,95,106,14,20,14,108,69,107,77,29,80,50,17,12,62,94,151,78,19,85,11,70,67,58,59,58,19,127,58,65,23,69,54,43,139,60,69,95,69,50,37,108,27,12,24,105,82,47,106,15,51,87,18,26,71,146,80,58,18,161,48,59,50,73,55,57 H,353920,8,600,4,16,1015675,110,3,1,1,,4,2,2,,60,0,400,40,9,450,1,,1,1500,1,1,1,9,,,100,1,1,,20,2,500,7,1,80400,1,,,1,1,80400,0,1,1,1,1,2,1,3,0,0,1,26,0,0,1,0,0,1,1775,2,0,1,45,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,181,112,120,115,189,30,197,108,32,33,35,119,197,32,103,107,105,112,202,104,185,104,112,102,188,30,184,112,33,33,31,106,196,33,126,112,103,120,184,102,32,114,110,114,33,196,35,111,186,196,177,113,35,176,101,105,112,109,34,119,32,110,108,116,31,184,33,106,189,185,193,111,33,191,108,98,113,122,31,107 H,353962,8,300,4,16,1015675,64,2,1,2,1,3,2,2,,80,0,1000,3,2,2300,1,,,,,3,1,6,,,,1,2,,21,5,2,5,4,95000,4,,,1,1,95000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,2,2,1,488,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,93,47,63,20,51,60,61,47,16,71,62,131,116,22,24,111,61,21,44,26,23,73,63,137,81,67,62,79,125,69,91,16,17,109,71,19,51,99,47,20,18,62,88,107,55,61,66,67,119,66,65,18,18,90,110,22,76,115,73,122,99,48,48,17,54,66,68,76,23,59,70,137,106,19,20,102,58,18,74 H,354463,8,700,4,16,1015675,119,4,1,1,,4,2,2,,60,0,2,3,3,,1,,,,,,1,8,2,800,,1,3,,,1,480,3,7,24100,3,900,45,1,3,24100,0,1,1,1,1,1,3,4,0,0,3,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,36,119,184,113,186,37,112,220,213,123,122,130,104,107,41,114,194,35,105,201,232,132,32,131,34,196,117,35,36,141,115,125,100,108,207,111,34,203,122,183,204,116,39,125,35,191,122,31,37,132,129,110,119,125,199,111,40,208,110,37,34,120,192,110,201,35,137,205,198,97,110,112,128,122,34,121,185,36,113,35 H,354573,8,100,4,16,1015675,72,2,1,1,,3,2,2,,50,0,2,140,1,490,1,,2,1100,2,1,1,6,,,,1,1,,18,2,630,9,3,30750,4,,,1,1,30750,0,4,4,4,1,4,0,2,0,0,0,66,0,0,0,2,0,1,1683,3,0,1,47,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,80,57,19,74,19,120,129,73,63,77,24,75,119,62,135,122,18,79,92,24,70,67,21,69,23,94,106,69,75,83,22,78,113,88,107,106,20,68,71,17,62,84,17,85,22,149,118,68,75,79,24,81,100,73,100,121,21,72,71,21,86,69,24,75,17,126,126,68,74,81,18,63,121,77,132,137,22,65,91 H,354797,8,100,4,16,1015675,100,4,1,1,,3,2,2,,60,0,2,150,1,400,1,,2,850,2,1,1,6,,,300,1,1,,17,2,1000,3,2,13300,1,,,1,1,13300,0,1,1,1,1,2,2,4,0,0,2,101,0,0,1,0,0,1,1576,2,0,1,24,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,176,160,25,89,107,216,27,100,113,26,86,104,27,98,91,100,32,160,102,32,24,35,148,94,94,30,202,119,88,164,118,123,189,98,93,98,156,29,95,41,31,33,157,104,115,32,150,123,101,136,87,127,167,87,98,111,157,29,108,140,175,148,31,104,76,174,34,94,92,29,98,104,37,86,114,91,27,168,97 H,355561,8,800,4,16,1015675,151,1,1,1,,2,2,2,,20,0,2,60,1,410,1,,,,,3,1,4,,,,1,2,,7,1,350,7,,,,,,1,4,11600,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,1,1,1,147,,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,240,204,137,45,140,209,97,116,248,96,36,86,74,153,167,168,163,161,295,36,34,48,150,271,156,49,168,146,48,159,212,266,342,174,142,152,162,158,229,58,45,51,142,211,172,63,160,151,55,110,189,229,207,137,164,146,132,164,30,276,362,297,120,55,141,217,156,146,320,174,55,38,46,176,125,166,155,139,63 H,355923,8,800,4,16,1015675,59,2,1,1,,3,2,2,,190,0,2,3,3,,1,,,,,,1,6,2,450,,1,3,,,2,600,5,1,57000,4,690,15,1,1,57000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,92,13,22,164,50,15,145,88,46,95,20,50,79,58,86,15,49,58,55,26,20,133,96,14,67,141,19,16,79,53,76,54,57,71,67,92,52,64,67,75,109,17,21,131,57,21,149,72,39,80,19,57,66,52,83,16,56,58,56,18,17,93,83,15,63,105,17,18,73,49,100,64,74,78,66,93,60,69,65 H,356109,8,100,4,16,1015675,86,3,1,2,1,3,2,2,,80,0,50,250,2,450,1,,1,1300,1,1,1,6,,,,1,1,,21,3,270,2,1,129000,4,,,1,1,129000,0,4,4,4,1,3,0,3,0,0,0,15,0,0,0,0,0,1,1657,3,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,26,152,162,35,90,86,31,100,27,89,81,75,169,90,146,95,77,147,26,78,28,116,145,27,95,96,27,77,26,73,89,89,136,102,141,74,73,123,26,89,29,127,146,26,85,81,27,88,25,89,86,78,135,88,146,71,82,146,27,85,25,148,155,24,91,81,32,93,24,84,78,91,164,105,159,78,89,135,26 H,356295,8,500,4,16,1015675,105,1,1,,,2,6,,,20,0,2,30,1,,1,,,,,,1,4,2,520,,1,3,,,0,1,4,,,,570,59,1,6,11600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,31,154,98,107,31,106,24,41,155,227,95,129,101,109,28,222,106,82,213,97,29,168,89,145,36,92,39,34,182,167,112,109,88,138,37,152,100,112,172,208,49,147,98,90,27,116,34,45,195,231,103,114,95,87,26,197,93,74,183,133,29,154,101,120,26,76,46,36,218,185,111,122,92,134,32,132,93,105,209 H,357053,8,700,4,16,1015675,104,6,1,1,,4,2,2,,110,0,2,110,1,300,1,,2,650,1,1,1,5,,,170,1,1,,15,2,620,3,2,40700,2,,,1,1,40700,0,2,2,2,1,4,4,6,0,0,4,33,0,0,1,0,0,1,1117,2,0,1,23,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,31,112,31,177,100,30,28,100,105,99,107,111,181,94,29,184,102,191,186,96,30,102,30,159,103,31,30,103,103,108,104,109,179,103,33,168,105,171,178,105,33,108,33,176,99,32,29,112,117,97,113,105,159,95,26,171,99,178,176,98,29,98,32,174,92,29,32,108,106,108,106,108,180,99,29,178,115,155,173 H,357267,8,500,4,16,1015675,98,1,1,1,,3,2,2,,80,0,2,30,1,230,1,,,,,3,1,5,,,,1,2,,15,1,560,2,,,,,,1,6,16000,0,4,4,4,1,2,0,,0,0,0,21,0,0,0,1,1,1,281,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,133,100,163,183,99,109,100,106,147,99,191,117,179,165,140,173,86,93,86,29,32,106,30,31,107,108,97,103,29,90,26,103,23,28,26,21,113,91,97,169,159,102,148,165,95,90,89,105,134,93,181,113,158,141,171,181,90,104,101,34,29,120,34,24,108,97,99,86,27,103,30,104,29,28,29,27,87,103,107 H,357328,8,300,4,16,1015675,130,0,1,3,,5,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,38,166,136,32,50,37,28,125,39,138,35,139,112,115,156,46,41,142,132,174,116,183,185,132,118,123,106,177,139,223,142,197,229,238,189,157,145,197,213,182,213,137,121,178,183,190,190,124,252,121,205,146,136,133,145,259,222,153,137,134,125,33,39,145,129,133,135,33,100,39,133,41,43,40,40,134,137,32,37,31 H,357725,8,500,4,16,1015675,21,2,1,2,1,3,2,2,,90,0,100,3,4,2000,1,,1,850,1,1,1,5,,,,1,1,,20,3,2,2,1,54300,4,,,1,1,54300,0,4,4,4,1,2,0,2,0,0,0,21,0,0,0,0,0,1,948,3,0,1,62,2,2,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,20,20,41,21,6,21,7,7,33,23,38,22,23,40,23,33,7,6,20,21,25,21,33,21,7,20,7,6,36,19,39,21,23,37,23,36,7,5,24,21,28,25,40,21,5,20,5,4,40,20,38,21,22,36,20,37,6,5,20,19,20,20,37,21,7,19,7,7,39,20,37,25,20,35,29,40,5,5,23,26 H,358236,8,400,4,16,1015675,64,2,1,2,1,2,2,2,,70,0,2,20,9,800,1,,2,70,1,1,1,8,,,270,1,1,,21,3,30,3,1,37300,4,,,1,1,37300,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,1,500,2,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,17,18,53,67,66,65,62,116,100,102,74,19,61,120,73,50,100,84,98,112,95,117,79,56,65,53,58,18,17,25,88,111,55,17,86,79,18,55,86,104,113,116,76,64,63,62,50,16,21,22,70,121,74,17,63,64,17,64,20,20,23,20,76,62,65,66,65,117,100,90,50,18,72,89,61,69,93,60,15 H,358270,8,100,4,16,1015675,43,1,1,1,,1,2,2,,2,0,900,3,6,,2,,,,,,2,4,2,300,,2,3,,,2,2,4,,,,375,41,1,4,10900,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,57,86,14,43,89,17,13,40,48,85,42,43,47,39,55,42,39,12,52,12,68,73,15,47,95,17,12,35,38,66,36,44,44,34,63,47,49,13,43,94,10,12,61,49,14,68,108,34,36,15,42,44,43,39,8,41,42,78,37,79,12,13,81,46,15,74,68,40,43,14,44,51,46,39,11,48,46,75,44 H,358290,8,700,4,16,1015675,123,2,1,1,,3,2,2,,20,0,2,20,1,700,1,,1,650,1,1,1,5,,,,1,1,,16,2,320,3,2,39800,4,,,1,1,39800,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,2,2,1,717,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,109,178,123,116,184,121,41,37,38,133,114,115,115,129,229,210,232,122,210,199,115,37,114,124,38,134,190,244,221,116,131,119,121,125,32,42,45,123,225,225,145,37,132,125,36,134,219,217,201,111,116,138,120,111,38,35,36,115,36,36,122,232,119,112,194,117,37,35,31,113,126,131,123,109,202,212,223,118,33 H,358372,8,100,4,16,1015675,79,6,1,1,,3,2,2,,70,0,300,3,6,1200,1,,2,550,1,1,1,6,,,,1,1,,10,2,710,9,2,29500,3,,,1,1,29500,0,3,3,3,1,1,4,6,0,0,4,33,0,0,1,0,0,1,804,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,27,23,19,73,106,113,86,83,185,134,136,67,22,85,140,78,66,101,82,139,127,195,114,63,107,88,71,110,34,33,21,92,140,75,26,70,66,29,126,16,29,34,31,70,70,108,61,74,245,138,102,87,20,62,117,86,88,139,83,88,144,225,141,47,107,126,62,120,28,35,25,79,109,75,29,76,81,28,90,13 H,358441,8,300,4,16,1015675,204,0,1,,,2,8,,,,,,,,,1,,,,,,1,3,,,,,,7,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,339,275,273,245,175,188,208,166,68,64,68,225,313,228,75,245,201,63,78,154,64,87,59,232,257,194,189,190,295,284,334,171,50,201,406,196,203,366,281,206,314,379,283,175,203,221,158,215,50,67,65,237,299,228,84,183,241,76,76,196,76,77,60,310,209,145,212,150,324,319,268,205,57,272,414,221,168,338,342 H,358665,8,300,4,16,1015675,39,5,1,3,5,5,2,2,,310,0,2000,3,4,1200,1,,2,2200,2,1,1,9,,,,1,1,,16,5,2,4,1,116600,2,,,1,1,116600,0,2,2,2,1,6,2,5,0,0,2,30,0,0,1,1,0,1,2877,3,0,0,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,55,47,11,51,12,41,39,34,97,43,65,43,27,52,36,10,50,59,17,12,40,38,11,42,10,40,39,38,97,46,53,24,41,63,30,8,56,61,12,91,49,46,63,46,56,31,47,53,13,35,13,37,28,11,40,67,13,11,66,68,55,39,46,37,59,38,39,38,12,41,15,36,30,9,36,55,8,10,73,13 H,358973,8,300,4,16,1015675,60,2,1,2,1,4,2,2,,80,0,2,50,1,250,1,,2,790,1,1,1,8,,,,1,1,,15,4,660,5,1,118000,4,,,1,1,118000,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,1,996,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,52,99,67,18,73,94,124,60,69,95,18,61,18,15,53,18,86,53,68,66,53,111,51,20,61,99,110,59,74,104,17,71,18,17,57,20,107,55,51,54,62,94,66,20,55,103,106,54,58,100,17,59,18,17,68,16,112,71,73,65,52,96,57,19,67,112,101,60,53,110,15,75,17,16,60,17,116,72,66 H,359005,8,100,4,16,1015675,25,3,1,1,,2,2,2,,50,0,2,220,1,280,1,,2,140,2,1,1,5,,,210,1,1,,7,1,700,9,4,23900,4,,,1,1,23900,0,4,4,4,1,6,0,3,0,0,0,38,0,0,0,2,2,1,764,1,0,1,17,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,20,35,27,10,29,7,7,49,26,50,20,27,38,20,43,7,7,20,26,27,28,36,25,8,26,8,8,44,25,30,22,21,30,24,43,7,7,20,23,26,26,7,30,50,29,43,32,7,26,9,25,25,7,22,9,37,37,23,20,33,28,10,29,31,22,38,37,7,23,9,23,19,6,25,8,43,32,20,22 H,359319,8,100,4,16,1015675,39,1,1,1,,1,2,2,,40,0,2000,3,4,180,1,,,,,3,1,3,,,,1,2,,9,0,480,9,,,,,,1,6,16000,0,4,4,4,1,7,0,,0,0,0,22,0,0,0,1,1,2,291,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,42,9,31,11,82,41,10,10,41,34,57,35,39,73,32,15,57,30,81,54,34,9,36,8,67,40,12,11,40,29,40,43,34,68,48,12,58,39,81,16,45,55,32,59,12,52,75,58,40,41,47,46,35,8,28,65,15,34,12,10,36,76,35,50,11,33,61,69,27,41,51,45,36,12,34,59,12,39,10,83 H,359420,8,900,4,16,1015675,78,1,1,1,,3,3,2,,130,0,2,3,3,300,1,,1,600,1,1,1,6,,,120,1,1,,13,2,40,4,,,,,,1,6,43004,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,0,0,1,853,2,0,1,25,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,151,83,80,98,23,26,77,29,128,23,139,81,124,113,83,75,63,81,81,148,93,21,150,157,83,76,22,75,63,73,70,19,81,69,131,140,23,22,78,24,70,138,26,23,68,74,148,74,75,73,82,127,73,87,27,28,121,123,134,76,22,77,85,90,130,123,73,140,19,123,21,66,22,23,94,79,93,81,21 H,360807,8,300,4,16,1015675,364,1,1,,,2,4,,,80,0,2,3,3,200,1,,,,,3,1,5,,,,1,2,,11,1,300,5,,,,,,1,6,10200,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,1,1,2,179,,0,0,15,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,305,314,584,523,127,565,488,349,121,121,145,309,342,510,125,408,591,335,358,109,109,109,391,343,333,363,625,129,344,425,383,512,128,293,403,478,352,598,633,375,358,341,611,529,108,471,402,355,114,125,136,395,402,497,130,341,563,380,437,117,105,105,308,325,427,383,703,114,379,351,490,622,115,280,356,553,386,581,514,382 H,360908,8,200,4,16,1015675,153,4,1,1,,3,2,2,,40,0,2,80,1,300,1,,2,350,2,1,1,6,,,,1,1,,15,5,540,8,1,70000,1,,,1,1,70000,0,1,1,1,1,5,1,4,0,0,1,11,0,0,1,0,0,1,657,3,0,1,26,3,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,186,157,40,121,46,220,313,138,160,176,48,126,231,127,299,259,49,186,185,296,174,125,235,175,256,49,53,156,118,129,230,112,45,130,46,52,288,166,150,44,128,216,51,173,46,257,208,149,139,162,58,170,248,145,241,286,33,144,149,252,173,137,311,183,220,54,40,116,167,124,302,221,41,147,43,46,289,141,156 H,360931,8,200,4,16,1015675,147,2,1,1,,4,2,2,,110,0,2,2,1,400,1,,2,900,1,1,1,9,,,,1,1,,17,2,780,5,1,311000,4,,,1,1,311000,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,0,0,1,1108,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,231,43,149,50,161,140,135,249,111,213,141,118,236,144,40,242,254,50,42,125,171,45,135,43,161,180,151,224,181,243,127,167,320,135,39,199,245,69,193,140,158,205,160,327,157,153,121,48,158,49,118,137,53,117,243,57,33,246,168,142,207,240,152,290,179,114,159,43,150,46,137,118,44,156,296,51,37,276,35 H,360956,8,300,4,16,1015675,55,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,3,9,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,63,47,80,85,49,17,58,18,83,16,54,12,67,108,91,56,16,63,98,16,14,95,63,61,93,44,76,62,66,57,17,56,14,53,50,16,47,73,62,65,55,61,91,80,43,16,44,14,96,17,65,20,45,94,93,56,17,51,88,14,18,83,51,59,100,57,112,51,44,50,13,44,20,63,71,16,59,94,68 H,361072,8,600,4,16,1015675,80,2,1,1,,2,2,2,,120,0,2,30,1,600,1,,1,1300,1,1,1,5,,,,1,1,,18,2,700,4,1,88700,4,,,1,1,88700,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,1,1508,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,130,25,85,23,81,78,23,82,26,130,137,79,82,81,23,71,135,81,78,138,135,22,77,26,77,85,22,86,23,138,143,82,82,78,23,83,156,80,77,25,27,135,77,143,85,79,129,85,138,22,26,74,78,75,134,87,23,98,79,21,21,131,79,136,79,82,136,82,131,25,25,84,76,85,127,73,25,75,82 H,361090,8,900,4,16,1015675,85,1,1,,,2,6,,,30,0,2,3,3,,1,,,,,,1,4,2,440,,2,3,,,2,600,5,,,,520,31,1,4,20000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,122,145,100,62,122,84,88,120,156,138,139,88,157,99,124,80,88,78,27,65,37,31,68,115,23,78,94,24,30,31,23,76,32,84,29,93,68,66,137,92,106,153,110,94,136,87,81,185,172,132,159,97,148,96,102,77,92,80,35,89,35,24,80,75,28,75,77,22,23,22,28,71,27,84,24,87,84,86,150 H,361306,8,300,4,16,1015675,51,3,1,2,1,3,2,2,,40,0,100,220,1,440,1,,2,340,2,1,1,5,,,,1,1,,9,3,2,7,5,29000,2,,,1,2,29000,0,2,2,2,1,5,2,3,0,0,2,29,0,0,1,0,0,1,695,3,0,1,14,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,54,56,66,96,44,49,13,15,90,83,23,58,61,17,11,42,51,87,61,56,50,47,66,13,45,53,83,73,14,18,76,47,20,129,108,57,40,12,46,48,69,48,38,127,38,45,15,15,124,63,11,57,89,13,21,58,39,101,42,47,67,36,57,22,51,43,88,102,19,20,107,45,11,89,69,50,73,13,33 H,361825,8,700,4,16,1015675,79,1,1,1,,2,1,2,,30,0,2,40,1,,1,,,,,,1,4,2,500,,1,3,,,1,1,6,,,,570,57,1,6,12000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,78,71,73,143,72,23,87,23,22,139,84,142,70,86,133,81,136,22,88,21,94,84,72,146,83,25,79,24,24,136,74,133,77,72,133,78,140,24,84,126,73,81,86,25,72,150,87,130,147,20,81,25,76,90,24,85,25,119,72,132,80,81,79,23,88,128,86,128,129,26,79,26,85,69,22,74,24,132,91 H,362046,8,300,4,16,1015675,30,2,1,1,,3,1,2,,110,0,2,3,3,600,1,0,,,,3,1,7,,,,1,2,,10,3,400,5,1,53000,4,,,1,1,53000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,2,243,,0,0,14,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,69,25,52,58,28,26,29,41,53,22,46,24,40,39,40,40,24,32,35,8,6,28,10,6,30,39,28,40,12,25,6,36,8,7,7,5,27,35,35,11,10,26,7,8,30,28,46,38,7,31,10,21,10,8,6,8,28,41,29,60,55,27,44,47,31,30,25,25,47,34,45,28,43,40,37,37,27,29,37 H,362229,8,600,4,16,1015675,109,3,1,1,,3,2,2,,90,0,2,200,1,,1,,,,,,1,5,2,650,,1,3,,,2,300,6,1,38000,2,965,30,1,1,38000,0,2,2,2,1,4,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,161,88,109,110,36,36,113,30,152,38,175,102,160,165,115,102,109,115,131,156,122,33,151,164,105,111,37,108,102,105,111,37,105,113,166,176,39,30,103,25,113,200,33,30,120,126,211,98,106,91,102,187,119,103,31,31,184,210,213,97,32,97,96,110,180,200,122,224,31,257,30,112,35,31,100,102,99,100,43 H,362561,8,100,4,16,1015675,57,1,1,2,1,2,2,2,,40,0,2,80,2,,1,,,,,,1,7,2,600,,1,3,,,1,480,9,,,,760,18,1,4,50000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,65,59,62,55,54,95,79,93,56,15,55,99,81,51,96,61,16,19,14,13,51,56,52,57,52,81,86,104,62,17,55,102,59,60,107,80,19,17,17,20,51,52,60,53,56,93,126,111,60,19,52,104,52,46,99,51,15,15,19,19,66,55,59,53,52,87,119,110,59,17,49,111,54,59,108,51,19,13,18 H,362622,8,800,4,16,1015675,90,1,1,1,,3,2,2,,50,0,2,80,1,420,1,,2,310,2,1,1,5,,,,1,1,,11,2,690,6,,,,,,1,6,14700,0,4,4,4,1,3,0,,0,0,0,44,0,0,0,1,1,1,533,3,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,31,150,162,27,80,69,28,123,22,81,89,89,144,79,151,95,93,156,173,102,169,28,23,171,96,82,164,86,165,84,96,89,20,90,30,98,88,31,28,111,27,126,164,27,93,114,25,104,29,92,97,76,133,100,139,109,89,158,141,91,182,25,30,145,70,95,146,96,151,93,115,82,26,68,30,101,70,27,24 H,362707,8,300,4,16,1015675,88,1,1,1,,4,2,2,,20,0,2,30,1,480,1,,1,830,1,1,1,7,,,,1,1,,15,1,580,3,,,,,,1,4,72150,0,4,4,4,1,2,0,,0,0,0,15,0,0,0,0,0,1,928,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,27,84,140,167,84,79,88,87,85,26,92,162,30,93,28,94,128,79,24,146,22,89,157,145,107,87,93,92,92,26,91,136,24,106,30,94,134,78,28,152,24,81,168,146,82,102,73,103,104,24,80,132,26,94,25,90,134,97,26,124,26,72,139,163,87,96,79,74,101,32,89,143,26,93,26,99,176,85,26 H,362752,8,300,4,16,1015675,139,5,1,1,,3,2,2,,250,0,20,3,6,,1,,,,,,1,5,2,500,,1,3,,,3,2,4,2,41000,3,752,22,1,1,41000,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,150,216,125,210,242,109,35,39,86,154,125,130,155,179,255,250,194,123,37,52,117,182,89,110,193,127,70,58,43,153,131,126,145,124,261,384,222,164,30,53,142,188,124,208,212,104,54,41,46,144,122,159,178,129,203,260,215,126,44,36,166,240,111,169,209,93,43,38,54,131,111,131,196,179,265,371,191,91,29 H,362909,8,800,4,16,1015675,58,3,1,2,1,3,2,2,,30,0,400,10,1,250,1,,1,530,1,1,1,7,,,,1,1,,13,3,360,2,2,101400,4,,,1,1,101400,0,4,4,4,1,3,0,3,0,0,0,7,0,0,0,2,1,2,633,3,0,1,24,2,2,3,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,1,56,64,17,56,90,12,13,105,61,58,108,49,93,62,64,61,15,62,15,108,67,49,19,76,102,17,17,98,58,79,104,53,102,63,71,60,17,46,17,93,54,50,19,57,79,17,21,88,60,54,99,44,100,62,50,73,15,48,19,79,54,56,24,61,83,18,20,109,58,64,101,58,96,67,63,59,20,46,18,83 H,362945,8,700,4,16,1015675,72,1,1,1,,2,1,2,,170,0,2,3,3,0,1,140,2,250,2,2,1,4,,,,1,1,,3,1,1,5,,,,,,1,6,11000,0,4,4,4,1,3,0,,0,0,0,48,0,0,0,0,0,1,440,3,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,121,71,126,72,19,72,23,134,78,22,23,72,73,72,73,67,117,71,122,20,129,83,114,73,18,74,22,125,81,18,19,69,71,86,67,65,115,72,124,20,112,74,140,76,21,70,20,113,74,22,20,66,73,75,63,75,128,63,136,19,146,71,130,77,22,78,20,114,66,22,20,75,74,71,67,69,139,64,117 H,363098,8,400,4,16,1015675,107,2,1,2,1,3,2,2,,60,0,250,3,6,600,1,,1,1400,1,1,1,6,,,,1,1,,20,3,700,2,7,72000,1,,,2,3,72000,0,1,1,1,1,3,1,2,0,0,1,26,0,0,1,0,0,1,1539,3,0,1,37,1,13,13,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,107,119,124,34,35,31,117,214,105,32,90,84,29,105,179,164,178,100,93,158,89,117,105,30,29,33,106,150,103,36,106,97,39,103,148,188,206,136,99,28,99,127,103,154,183,183,100,31,93,175,123,107,184,97,31,34,46,126,75,38,99,111,113,176,209,224,101,32,105,172,113,108,170,102,30,30,29,90,106,218 H,363261,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,363882,8,700,4,16,1015675,136,1,1,1,,3,2,2,,40,0,2,40,1,360,1,,1,1000,1,1,1,5,,,550,1,1,,18,1,450,2,,,,,,1,6,73000,0,4,4,4,1,3,0,,0,0,0,27,0,0,0,0,0,1,1668,2,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,128,137,220,133,46,40,42,146,127,145,144,114,205,274,234,132,45,130,207,38,135,110,44,136,218,202,239,153,151,149,129,117,40,44,41,132,262,129,217,41,148,146,38,135,230,231,221,131,147,121,139,140,37,33,38,145,193,148,40,251,126,164,221,133,40,42,46,131,127,125,130,146,233,220,230,143,36,137,39 H,364171,8,700,4,16,1015675,186,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,206,198,163,69,56,156,279,176,274,56,287,195,344,166,52,62,198,365,63,51,279,320,54,177,189,51,180,56,168,198,185,336,191,349,195,170,294,195,192,215,197,205,190,323,313,173,57,193,54,290,51,181,56,192,320,274,173,56,366,328,51,48,307,211,170,266,168,337,194,184,204,55,234,57,162,203,56,190,204 H,364669,8,500,4,16,1015675,177,4,1,1,,3,2,2,,40,0,2,40,1,380,1,,1,750,1,1,1,5,,,130,1,1,,15,2,280,3,2,24800,1,,,1,1,24800,0,1,1,1,1,3,2,4,0,0,2,48,0,0,1,0,0,1,983,2,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,45,173,53,290,171,178,177,282,185,47,202,335,285,179,152,316,49,156,153,313,296,199,355,60,225,171,159,61,205,307,209,57,49,158,162,45,342,162,195,260,279,177,243,52,191,145,175,55,200,280,169,57,54,181,199,50,289,164,182,65,54,207,51,261,172,192,192,295,176,56,180,314,301,176,151,309,48,195,148 H,365208,8,900,4,16,1015675,40,2,1,1,,5,2,2,,50,0,2,140,1,700,1,,1,1000,1,1,1,9,,,,1,1,,14,2,620,5,4,22700,4,,,1,1,22700,0,4,4,4,1,7,0,2,0,0,0,66,0,0,0,0,0,2,1242,3,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,38,54,61,10,13,80,38,12,70,73,38,43,15,40,43,34,48,15,36,39,38,11,11,65,73,14,35,76,11,13,41,43,71,39,40,33,40,66,44,37,44,66,57,10,13,94,36,13,59,69,37,45,14,47,43,36,38,10,44,45,38,9,12,65,64,11,33,69,15,10,44,35,68,45,47,51,52,61,39 H,365580,8,300,4,16,1015675,90,0,1,1,,1,2,2,,,,,,,,2,,,,,,2,2,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,178,77,25,192,143,95,108,30,104,95,85,91,26,93,98,173,137,110,149,143,22,89,144,26,22,86,116,165,86,85,78,101,127,116,104,25,27,74,161,151,26,95,141,28,26,100,80,141,94,113,95,122,170,82,88,26,25,85,26,27,152,92,24,174,149,91,86,25,94,83,93,102,26,85,96,156,149,80 H,365681,8,100,4,16,1015675,73,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,15,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,25,69,76,66,71,104,133,87,18,124,94,132,86,25,74,25,143,79,26,110,116,86,77,68,69,80,20,66,114,21,74,24,61,115,60,119,22,68,18,137,157,85,86,80,67,74,23,81,112,28,72,22,76,126,92,114,27,79,139,24,19,75,78,75,75,71,127,65,20,109,59,136,71,23,68,20,122,67,121 H,365992,8,700,4,16,1015675,104,3,1,1,,3,2,2,,60,0,2,40,1,350,1,,1,1200,1,1,1,6,,,280,1,1,,17,4,360,2,7,70000,2,,,1,3,70000,0,2,2,2,1,3,2,3,0,0,2,28,0,0,1,0,0,1,1610,2,0,1,26,3,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,28,100,171,184,168,100,111,103,93,104,30,31,28,100,177,98,30,105,32,94,189,105,28,30,30,106,106,116,109,96,175,178,172,99,30,112,189,93,176,104,29,93,188,179,175,110,104,103,112,95,29,31,28,99,172,101,29,105,28,101,156,108,30,27,32,105,110,110,103,109,180,171,178,103,28,104,180,95,176 H,366541,8,300,4,16,1015675,61,4,1,1,,3,2,2,,70,70,2,170,1,400,1,,1,1200,1,1,1,7,,,,1,1,,12,2,40,7,1,76920,1,,,1,1,76920,1,1,4,1,1,4,0,4,0,0,1,23,0,1,1,0,0,1,1443,3,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,17,100,47,57,63,17,95,66,59,21,68,18,18,100,82,55,59,55,64,20,94,20,58,56,63,98,18,61,56,97,57,89,92,20,18,67,75,60,56,16,113,15,52,59,65,100,20,60,54,109,65,92,100,18,19,56,50,57,56,109,21,85,49,64,61,18,93,66,65,19,66,17,20,99,105,51,58,56,55,95 H,366789,8,500,4,16,1015675,103,1,1,1,,2,1,1,,50,0,2,3,3,330,1,0,1,510,1,1,1,4,,,280,1,1,,13,1,2,3,,,,,,1,6,18400,0,4,4,4,1,5,0,,0,0,0,55,0,0,0,1,0,1,840,2,0,0,17,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,106,172,29,104,30,31,99,31,173,98,100,97,189,106,30,107,160,158,94,137,103,32,191,113,184,160,99,160,32,104,102,107,25,99,173,136,31,27,105,102,103,182,29,119,35,29,107,28,154,110,105,111,204,92,28,93,169,196,101,97,104,34,149,98,196,164,105,167,27,115,111,99,30,119,176,100,31,30,90,104 H,366993,8,400,4,16,1015675,84,2,1,1,,3,2,2,,30,0,2,20,1,410,1,,,,,3,1,6,,,,1,2,,13,2,440,6,4,46000,4,,,1,1,46000,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,0,1,197,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,19,155,172,21,87,112,27,109,30,62,61,61,199,79,132,86,77,196,106,65,185,31,21,107,68,86,137,91,159,93,58,82,31,71,29,97,89,25,20,80,34,182,121,18,80,66,28,73,19,100,67,91,135,84,168,79,107,100,127,91,123,27,29,107,134,106,114,93,136,64,79,77,29,71,23,76,71,40,26 H,367071,8,300,4,16,1015675,33,2,1,1,,4,2,2,,130,0,2,100,3,300,1,,2,440,2,1,1,8,,,,1,1,,12,2,1300,3,1,50000,4,,,1,1,50000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,853,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,59,40,56,33,32,60,34,46,8,9,34,28,28,50,26,10,37,8,32,13,57,24,49,31,28,49,28,46,10,12,52,54,32,53,36,10,29,10,32,53,8,28,10,28,28,7,30,9,49,72,47,56,33,7,35,60,31,46,31,50,8,36,12,45,40,10,33,11,51,39,25,28,42,11,34,49,30,78,32 H,367331,8,100,4,16,1015675,23,2,1,1,,2,1,2,,10,0,2,60,1,,1,,,,,,1,3,2,300,,1,3,,,1,80,3,5,30200,2,377,15,1,2,30200,0,2,4,2,1,1,0,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,55,23,6,5,8,29,15,14,20,29,33,54,33,17,14,27,31,27,28,5,48,19,7,12,11,30,30,24,16,28,31,31,34,26,9,26,35,24,29,46,9,22,30,32,34,22,33,24,22,28,6,7,10,28,32,22,8,17,23,38,7,25,41,35,27,19,23,25,24,20,7,7,7,31,35,25,10,18,18,8 H,367478,8,800,4,16,1015675,68,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,85,67,19,68,107,61,21,25,59,61,22,109,61,102,96,76,130,22,84,66,73,66,118,64,21,75,107,124,78,58,101,20,62,20,21,58,22,127,69,80,75,60,21,66,110,70,21,24,69,61,20,108,59,116,114,83,107,19,63,73,75,70,132,63,21,77,108,121,64,70,108,20,63,18,24,74,21,104,66 H,367680,8,100,4,16,1015675,82,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,90,23,153,132,140,148,22,73,80,132,24,81,74,24,84,90,25,79,87,82,88,136,26,22,26,25,130,80,78,26,149,89,78,143,74,81,148,81,82,102,90,146,24,24,24,23,140,77,88,26,114,71,85,155,86,81,161,94,70,81,84,28,123,161,176,140,25,78,87,148,26,77,71,24,70,74,25,82,76 H,367834,8,100,4,16,1015675,44,4,1,2,1,3,2,2,,170,0,1700,3,6,400,1,,1,1100,1,1,1,5,,,,1,1,,18,3,500,5,2,47000,3,,,1,1,47000,0,3,3,3,1,5,2,4,0,0,2,37,0,0,1,0,0,1,1454,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,15,46,48,76,12,40,34,10,39,36,14,38,43,39,12,71,76,90,40,64,10,42,43,72,11,54,51,12,40,39,12,42,46,48,13,75,82,79,46,86,12,42,42,77,13,34,42,10,46,51,12,49,32,35,15,65,64,70,47,101,15,35,34,70,14,39,50,12,46,53,12,53,41,43,13,83,85,58,53 H,367872,8,400,4,16,1015675,135,4,1,3,1,2,2,1,,80,0,2,3,6,850,1,,1,560,1,1,1,4,,,,1,1,,12,2,2,8,2,2000,1,,,1,1,2000,0,1,1,1,1,3,2,4,0,0,2,101,0,0,1,0,0,1,640,3,0,0,15,1,7,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,225,209,42,139,232,64,50,104,105,237,120,146,173,138,197,124,125,40,112,222,37,35,180,116,42,211,221,153,139,36,172,162,146,211,42,154,161,222,102,212,50,42,181,116,45,254,306,93,97,49,111,152,149,104,37,122,124,214,162,45,220,210,37,125,237,52,53,163,160,191,106,106,137,225,285,141,173,48,149 H,368086,8,700,4,16,1015675,102,6,1,1,,4,2,2,,80,0,2,3,3,750,1,,2,640,1,1,1,5,,,,1,1,,14,0,800,4,2,41800,3,,,4,1,41800,0,3,3,3,1,5,4,6,0,0,4,24,0,0,1,0,0,1,850,3,0,1,20,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,110,27,95,104,31,110,159,30,30,163,100,96,190,103,166,87,107,128,28,38,94,165,108,110,164,107,29,180,180,30,113,96,30,97,29,106,98,93,165,27,107,163,106,90,150,97,27,185,179,35,95,99,29,111,35,109,101,114,178,172,96,31,101,101,32,79,201,32,29,170,94,101,148,106,193,96,136,100,32,160 H,368331,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,368342,8,900,4,16,1015675,70,4,1,2,1,5,2,2,,100,0,2,100,3,1100,1,,,,,3,1,9,,,,1,2,,16,3,2,5,,,,,,1,7,24900,0,1,4,4,1,7,0,,0,1,0,18,0,0,1,1,1,1,370,,0,1,20,,,,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,107,101,18,60,16,63,64,20,125,22,104,95,47,82,121,23,82,161,67,68,123,126,23,55,24,93,61,18,87,21,89,113,81,58,71,29,81,106,76,76,24,18,111,64,126,70,66,108,78,98,21,31,62,78,89,128,65,18,105,75,25,21,116,70,135,69,81,88,68,106,20,25,62,82,47,85,59,16,110,49 H,369221,8,300,4,16,1015675,244,1,1,,,2,5,,,30,0,2,20,1,,1,,,,,,1,3,2,500,,1,3,,,1,1,2,,,,550,28,2,4,24000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,348,332,243,244,108,206,311,291,145,418,240,111,130,63,271,374,192,209,232,183,421,362,233,150,63,308,454,326,211,355,313,156,98,68,221,363,314,273,204,76,297,385,410,291,69,171,339,328,337,253,189,119,79,85,243,257,214,262,297,83,390,449,391,336,135,269,357,300,292,345,189,91,110,77,206,189,251,177,212,71 H,369239,8,600,4,16,1015675,111,2,1,,,2,9,,,1,0,1,1,1,,1,,,,,,1,5,1,1700,,1,3,,,1,150,6,4,31800,4,1713,65,1,1,31800,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,28,33,117,208,35,192,115,108,104,114,109,121,35,179,101,100,186,202,109,111,109,117,198,114,129,127,203,32,34,34,35,188,120,112,28,164,108,121,178,190,180,183,108,36,207,34,116,113,111,116,113,108,194,34,109,100,37,43,120,95,115,91,29,100,130,104,29,189,190,187,173,32,125,111,191,30,115,107,37,28 H,369354,8,600,4,16,1015675,119,1,1,1,,3,2,2,,30,0,2,110,1,500,1,,1,900,1,1,1,5,,,110,1,1,,15,1,400,3,,,,,,1,4,61000,0,4,4,4,1,4,0,,0,0,0,23,0,0,0,0,0,1,1183,1,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,120,128,206,116,42,217,208,34,111,120,41,111,33,128,113,118,221,119,190,36,119,108,36,120,190,30,39,207,121,119,202,117,206,120,119,115,38,115,29,199,132,128,206,121,37,207,196,37,135,117,38,113,33,104,118,131,189,132,203,37,102,128,31,108,192,35,40,213,113,118,204,130,205,120,115,122,36,124,38 H,369357,8,300,4,16,1015675,136,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,118,133,273,170,45,37,40,154,107,143,178,122,188,259,272,128,38,129,195,48,140,185,36,125,269,240,241,127,142,101,113,118,35,48,47,131,195,159,37,224,139,149,231,141,45,51,41,129,125,131,158,131,188,221,235,131,43,144,251,42,130,137,33,141,250,235,216,103,148,116,130,143,46,52,37,125,227,142,40 H,369483,8,500,4,16,1015675,266,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,240,505,271,324,267,74,247,104,249,258,72,212,352,79,88,389,291,293,349,96,228,123,245,268,286,386,249,411,318,238,420,249,71,566,518,74,259,303,66,384,266,398,236,248,239,90,280,113,302,239,93,276,460,97,88,531,245,290,446,77,218,75,259,234,302,516,279,428,232,227,459,237,92,406,458,98,220,243,76,465 H,369515,8,800,4,16,1015675,24,2,1,2,1,5,2,2,,50,0,2,3,3,600,1,,,,,3,1,9,,,,1,2,,15,3,2,5,1,36000,4,,,1,1,36000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,175,,0,1,20,2,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,43,10,33,24,8,5,5,21,48,6,18,25,23,20,34,32,21,21,21,26,7,40,7,22,35,39,42,26,5,45,20,21,20,22,8,7,21,25,22,24,8,46,7,25,36,40,38,23,9,41,20,24,21,22,5,6,29,22,21,22,35,7,39,25,5,5,7,17,36,7,20,22,23,20,35,44,22,23,20,24 H,369894,8,800,4,16,1015675,47,2,1,1,,3,2,2,,50,0,50,100,1,540,1,,,,,3,1,9,,,,1,2,,13,2,600,6,2,46000,4,,,1,1,46000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,1,0,1,353,,0,1,24,2,2,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,16,13,13,20,88,43,50,14,79,40,44,85,42,50,71,39,52,43,76,42,48,52,47,40,46,84,16,54,55,16,14,49,84,87,49,15,87,16,43,14,99,84,82,87,14,53,53,66,16,46,43,17,52,41,14,46,49,49,13,44,47,49,49,48,47,14,68,48,45,72,87,55,12,15,50,77,15,98,48 H,370415,8,200,4,16,1015675,15,2,1,1,,3,1,2,,60,120,1100,3,4,230,1,0,,,,3,1,7,,,,1,2,,8,1,830,5,8,14980,4,,,1,3,14980,0,4,4,4,1,1,0,2,0,0,0,21,0,0,0,0,0,1,265,,0,0,8,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,24,12,4,5,5,10,14,14,13,15,22,30,27,15,5,15,24,14,16,21,3,14,27,31,26,14,15,14,13,15,4,5,5,14,26,13,4,16,12,23,3,15,22,20,25,16,15,17,13,19,3,4,3,14,28,13,6,16,15,3,22,16,3,2,5,15,15,14,15,18,32,18,20,12,4,14,21,13,15,3 H,370425,8,800,4,16,1015675,106,3,1,1,,3,2,2,,160,0,2,3,3,600,1,,1,410,1,1,1,4,,,170,1,1,,10,2,600,5,5,30000,2,,,1,2,30000,0,2,2,2,1,4,2,3,0,0,2,32,0,0,1,0,0,1,790,2,0,1,14,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,22,93,130,31,117,221,35,32,142,113,88,163,87,175,102,109,118,37,194,113,42,95,72,34,91,184,39,29,222,91,99,171,92,201,92,133,132,31,166,101,36,78,103,39,105,153,42,36,201,79,119,196,110,192,89,101,113,35,200,141,29,109,88,27,114,148,29,41,145,116,93,171,98,203,125,101,96,34,194 H,370565,8,500,4,16,1015675,101,7,1,1,,4,2,2,,150,1000,2,60,1,1600,1,,1,790,1,1,1,8,,,340,1,1,,16,2,120,2,1,30300,3,,,1,1,30300,0,3,3,3,1,3,5,7,0,0,5,53,0,0,1,0,0,1,1350,2,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,34,31,30,33,94,29,95,33,109,118,104,91,29,27,99,101,27,111,102,190,99,93,118,106,187,90,157,110,197,183,156,185,99,97,176,173,95,163,182,93,186,149,170,185,100,177,82,169,129,103,102,105,177,197,95,99,176,96,94,29,112,118,109,100,29,107,33,97,30,28,31,33,96,83,29,30,100,31,30 H,370595,8,300,4,16,1015675,165,2,1,1,,3,2,2,,90,0,900,150,1,300,1,,,,,3,1,5,,,,1,2,,10,2,350,7,4,13700,4,,,1,1,13700,0,4,4,4,1,7,0,2,0,0,0,38,0,0,0,2,2,1,435,,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,274,183,188,145,47,280,166,172,52,182,46,47,259,285,160,155,225,160,279,51,283,189,161,183,48,249,151,178,65,150,47,50,264,296,140,151,166,152,52,242,42,162,185,209,300,44,179,183,305,253,292,262,55,49,128,133,191,153,47,242,53,140,165,173,248,45,172,211,255,147,260,238,49,52,173,180,199,142,263 H,370758,8,700,4,16,1015675,89,2,1,1,,4,2,2,,50,0,2,140,1,500,1,,,,,3,1,9,,,,1,2,,20,2,40,1,4,68800,4,,,1,1,68800,0,4,4,4,1,1,0,2,0,0,0,7,0,0,0,2,1,1,402,,0,1,32,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,153,148,28,77,138,25,25,85,89,144,80,91,89,87,165,92,98,25,85,30,142,146,25,92,166,27,21,94,89,141,94,90,93,85,126,100,97,29,94,158,29,26,157,86,24,139,145,103,87,26,84,89,90,83,28,94,100,150,74,152,22,27,129,96,25,141,156,85,85,23,93,87,85,88,25,98,89,156,81 H,370764,8,200,4,16,1015675,18,2,1,3,5,3,2,2,,200,0,2,3,3,1000,1,,,,,3,1,5,,,,1,2,,20,2,2,5,4,33000,4,,,1,1,33000,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,2,0,1,700,,0,0,62,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,29,24,25,18,18,22,22,7,20,28,7,21,5,23,29,19,29,5,29,13,7,7,19,21,23,20,17,27,14,6,30,19,36,18,7,17,7,29,5,17,32,36,17,16,23,20,18,7,15,29,7,15,5,20,27,21,37,6,28,21,7,3,17,15,14,22,22,35,19,5,34,17,28,28,7,19,6,31,5 H,370982,8,600,4,16,1015675,118,2,1,1,,2,3,2,60,30,0,580,100,1,250,1,,2,690,2,1,1,5,,,,1,1,,15,2,640,3,7,63004,4,,,1,3,63004,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,1084,3,0,1,21,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,119,123,38,195,116,121,30,121,36,29,177,212,127,122,128,112,36,225,33,151,104,122,202,36,137,117,176,125,204,215,30,37,132,132,114,109,191,33,36,126,106,121,213,34,125,109,182,134,193,188,34,37,136,122,120,136,219,37,191,139,109,128,33,187,116,108,31,116,31,33,195,232,122,123,124,128,34,184,219 H,371153,8,600,4,16,1015675,97,1,1,3,1,3,2,2,,70,0,360,3,4,770,1,,,,,3,1,6,,,,1,2,,20,1,1200,9,,,,,,1,6,12204,0,4,4,4,1,7,0,,0,0,0,55,0,0,0,1,1,1,557,,0,0,47,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,93,88,26,96,27,178,170,109,97,97,32,94,165,101,150,155,27,103,96,30,93,99,30,94,26,176,186,98,102,105,27,93,168,94,143,154,28,110,98,32,101,88,26,93,29,164,143,101,92,95,29,104,181,94,173,189,28,107,93,28,104,91,26,96,27,169,160,94,102,96,30,94,168,96,179,151,29,107,93 H,371245,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,371433,8,400,4,16,1015675,349,1,1,1,,3,2,2,,40,0,2,120,1,120,1,,,,,3,1,5,,,,1,2,,17,0,480,9,,,,,,1,6,7700,0,4,4,4,1,7,0,,0,0,0,57,0,0,0,1,1,2,368,,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,655,462,123,109,110,312,415,385,331,368,632,510,426,477,151,255,504,340,339,421,124,337,398,519,560,285,269,319,377,337,110,119,140,383,525,322,126,402,301,445,133,488,495,382,505,385,358,316,276,315,140,118,106,421,553,305,129,317,295,131,581,395,88,103,119,305,337,461,360,348,494,473,524,416,153,387,534,413,374,159 H,371434,8,300,4,16,1015675,66,2,1,,,5,9,,,1,0,2,1,3,,1,,,,,,1,8,2,300,,1,3,,,1,1,2,,,,300,33,1,7,11000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,18,67,88,20,73,96,14,23,113,55,79,122,63,101,60,88,71,20,124,68,19,56,52,18,51,111,29,19,88,72,70,117,70,120,69,83,56,18,88,56,21,67,71,22,58,92,13,29,188,50,65,130,56,85,74,71,70,22,101,80,24,59,43,22,67,146,26,11,98,79,78,87,90,215,58,60,53,18,95 H,371482,8,800,4,16,1015675,15,3,1,1,,3,2,2,,80,0,2,3,3,30,1,,1,600,1,1,1,6,,,,1,1,,14,2,250,5,5,36000,2,,,1,2,36000,0,2,2,2,1,5,2,3,0,0,2,23,0,0,1,0,0,2,701,3,0,1,25,1,11,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,15,4,13,20,15,13,22,15,7,7,6,13,17,18,16,10,22,29,24,7,16,30,12,3,19,19,5,17,22,22,26,14,17,13,12,17,5,7,5,26,15,5,14,32,18,15,30,15,4,3,5,14,16,17,17,16,24,29,32,5,17,27,12,3,17,14,3,19,35,21,34,17,15,17,14,17,3,3,7 H,371658,8,900,4,16,1015675,68,4,1,3,1,5,1,2,,180,0,300,3,3,520,1,250,1,750,1,1,1,7,,,,1,1,,15,4,2,3,3,52600,2,,,1,1,52600,0,2,2,2,1,2,1,4,0,0,1,22,0,0,1,0,0,1,976,3,0,0,27,2,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,19,120,19,74,107,92,106,69,20,96,70,64,68,78,18,23,73,65,72,74,21,121,17,67,141,121,124,62,21,115,69,75,68,67,19,20,56,69,61,65,110,23,105,66,20,18,18,70,115,19,70,58,53,86,116,108,67,60,58,69,125,20,115,78,23,23,19,67,117,22,74,81,69,60,115,118,60,65,69 H,371932,8,600,4,16,1015675,83,3,1,1,,4,2,2,,80,0,2,10,1,330,1,,,,,3,1,7,,,,1,2,,18,4,310,5,1,44000,4,,,1,1,44000,0,4,4,4,1,6,0,3,0,0,0,7,0,0,0,0,0,1,273,,0,1,27,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,25,84,139,84,144,23,90,134,152,87,88,94,87,82,26,78,126,149,140,86,139,87,25,87,22,136,81,26,25,81,86,85,86,95,147,78,23,24,23,81,25,83,134,85,165,25,86,134,133,86,81,87,94,87,24,85,141,153,143,92,132,83,25,87,27,133,82,26,25,78,77,90,87,81,149,82,26,25 H,372432,8,700,4,16,1015675,101,2,1,1,,2,3,2,50,40,0,2,110,1,250,1,,1,850,1,1,1,4,,,,1,1,,16,2,30,2,,,,,,1,7,80000,0,4,4,4,1,1,0,,0,1,0,16,0,0,0,0,0,1,1053,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,30,31,102,186,103,28,104,92,30,101,141,159,171,100,99,102,106,100,34,161,35,28,105,174,112,33,99,94,31,104,182,163,165,103,106,92,100,95,31,30,178,175,103,32,100,175,95,97,194,96,28,32,32,108,93,91,124,109,177,29,183,167,110,28,102,169,93,100,167,93,29,30,31,96,95,102,116,103,152,184 H,372642,8,900,4,16,1015675,244,1,1,1,,4,2,2,,30,0,2,60,1,370,1,,1,530,1,1,1,7,,,,1,1,,15,2,530,2,,,,,,1,4,14100,0,4,4,4,1,2,0,,0,0,0,57,0,0,0,0,0,2,664,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,202,416,653,65,381,294,251,96,121,97,297,207,390,84,181,442,239,179,69,87,104,221,202,320,336,368,86,248,166,248,315,73,283,240,451,212,399,473,363,257,247,74,123,405,53,373,191,259,391,283,384,302,66,393,281,96,176,352,308,359,412,222,293,273,251,63,404,249,194,220,60,377,229,210,96,235,154,86,194 H,373028,8,900,4,16,1015675,28,6,1,2,1,3,2,2,,50,0,230,40,6,500,1,,1,800,1,1,1,8,,,,1,1,,17,2,2,3,1,52000,3,,,1,1,52000,0,3,3,3,1,4,4,6,0,0,4,21,0,0,1,0,0,2,909,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,23,22,9,30,24,62,52,7,8,40,37,10,63,55,25,30,7,29,33,30,26,24,44,29,27,6,10,65,56,8,34,49,10,9,23,21,33,25,24,24,22,23,8,23,25,60,45,7,5,39,29,10,63,52,30,34,11,35,24,28,27,24,50,43,24,6,8,50,42,10,34,55,10,8,29,30,45,28,36 H,373059,8,100,4,16,1015675,132,1,1,3,1,2,1,2,,50,0,400,3,3,480,1,0,,,,3,1,4,,,,1,2,,16,4,2,3,,,,,,1,4,24200,0,4,4,4,1,5,0,,0,0,0,7,0,0,0,1,0,2,146,,0,0,7,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,190,120,48,250,136,209,114,40,158,46,180,114,41,44,113,124,121,132,137,205,254,132,39,187,117,223,112,33,132,39,212,131,44,43,134,129,194,125,128,36,39,112,236,44,120,42,133,244,147,236,41,122,227,268,112,124,123,120,118,47,34,151,243,47,119,36,113,261,148,199,44,113,216,192,132,151,108,174,110,243 H,373324,8,400,4,16,1015675,64,1,1,1,,3,1,2,,60,0,1200,3,3,300,1,2800,,,,3,1,6,,,,1,2,,2,1,1,4,,,,,,1,4,31900,0,4,4,4,1,5,0,,0,0,0,16,0,0,0,1,1,1,429,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,60,19,60,16,52,60,60,99,38,104,61,92,122,85,27,84,124,15,142,72,72,101,71,101,52,48,78,20,80,30,54,59,24,49,79,24,21,89,98,72,66,104,62,92,54,54,55,25,50,14,49,67,17,60,146,17,17,134,24,52,62,17,74,19,54,55,66,134,67,135,73,69,105,69,24,114,126,18,12 H,373410,8,800,4,16,1015675,46,2,1,1,,3,2,2,,410,0,2,20,3,250,1,,,,,3,1,5,,,,1,2,,13,3,460,6,1,74400,4,,,1,1,74400,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,0,0,1,570,,0,1,21,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,71,12,11,57,52,11,70,79,39,42,14,44,52,48,44,13,44,46,40,76,82,14,12,88,54,12,72,96,48,38,15,51,44,40,43,16,58,54,48,68,80,13,12,72,44,11,62,74,36,41,13,43,55,53,52,15,53,50,49,68,68,17,14,65,46,17,80,78,47,37,14,40,39,42,33,15,55,50,60 H,373466,8,700,4,16,1015675,241,1,1,1,,3,2,2,,40,0,2,10,1,400,1,,1,700,1,1,1,5,,,,1,1,,18,1,100,1,,,,,,1,6,1000,0,4,4,4,1,1,0,,0,0,0,101,0,0,0,0,0,2,758,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,237,74,399,232,74,67,221,254,256,261,230,391,240,72,457,261,385,227,64,447,236,78,401,236,75,66,254,214,262,251,253,405,228,70,406,234,420,253,73,398,236,73,407,236,81,65,238,234,247,254,230,450,240,72,435,233,427,251,78,400,222,67,423,248,80,71,229,246,221,228,258,427,265,69,415,232,372,245,67,439 H,373694,8,600,4,16,1015675,96,1,1,1,,3,2,2,,100,0,2,60,1,320,1,,1,700,1,1,1,5,,,,1,1,,15,2,1500,5,,,,,,1,4,64004,0,4,4,4,1,5,0,,0,0,0,18,0,0,0,0,0,1,985,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,29,89,173,95,86,189,30,92,93,154,95,101,29,96,108,169,26,29,95,90,106,27,84,169,154,90,86,162,29,95,28,25,99,30,173,100,85,106,159,24,172,98,30,94,93,29,165,86,102,31,93,96,162,97,89,29,168,150,108,95,105,131,103,26,23,89,98,29,167,90,162,152,111,173,29,95,92,100,29,174 H,373720,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,374280,8,200,4,16,1015675,152,2,1,,,2,4,,,150,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,2,900,5,,,,725,14,1,7,63600,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,167,116,58,130,172,251,220,57,43,212,144,70,270,213,152,122,51,136,135,117,156,134,50,176,133,216,276,48,50,301,161,44,218,255,211,156,54,154,120,132,171,166,260,180,156,49,50,271,254,61,207,217,45,63,141,168,261,123,167,169,150,131,188,109,128,60,47,253,256,38,147,244,46,55,170,143,212,167,144 H,374434,8,300,4,16,1015675,86,4,1,1,,2,1,2,,60,0,2,120,1,200,1,3000,,,,3,1,4,,,,1,2,,2,2,1,5,2,28000,3,,,1,1,28000,0,1,1,1,1,4,2,4,0,0,2,19,0,0,1,0,0,1,447,,0,0,1,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,135,86,106,29,28,77,84,85,178,100,25,83,23,25,153,78,151,82,88,96,179,94,130,22,24,90,79,86,151,67,28,79,28,28,142,98,180,91,92,104,112,83,171,27,27,73,77,95,125,96,22,107,27,25,165,96,170,98,86,78,163,74,176,22,24,102,82,91,143,84,26,83,27,29,184,84,128,68,89,92 H,374543,8,900,4,16,1015675,104,2,1,1,,4,2,2,,30,0,2,3,3,460,1,,1,690,1,1,1,9,,,,1,1,,14,2,910,5,3,115500,4,,,1,1,115500,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,1,0,1,796,3,0,1,25,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,115,30,120,193,146,176,35,108,182,167,78,94,114,90,109,29,131,200,35,25,88,29,97,153,105,166,28,121,174,188,113,102,114,113,93,26,105,183,36,30,135,30,112,157,110,210,33,109,151,160,111,100,91,106,134,31,110,155,38,35,104,28,107,178,83,156,28,96,173,143,86,83,106,118,120,38,104,199,33 H,375101,8,800,4,16,1015675,40,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,2,300,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,69,76,46,42,41,36,38,12,13,13,45,59,37,15,44,44,12,48,70,79,78,71,39,50,38,37,43,11,14,15,41,71,46,12,40,41,13,39,63,11,11,12,46,40,34,38,50,71,82,74,44,11,42,81,42,47,68,38,11,10,12,12,53,44,35,44,47,85,79,79,47,11,40,76,42,42,77,33,13,64 H,375231,8,600,4,16,1015675,116,4,1,1,,4,2,2,,50,0,2,60,1,4800,1,,1,1600,1,1,1,9,,,,1,1,,20,2,600,3,5,38040,2,,,1,2,38040,0,2,2,2,1,2,3,4,0,0,3,56,0,0,1,0,0,1,1760,3,0,1,24,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,108,117,123,215,33,205,117,32,34,34,106,199,35,119,107,112,119,210,201,187,210,193,32,116,118,122,36,109,120,117,201,118,125,36,194,31,34,122,112,115,117,121,115,36,194,33,108,198,217,203,109,36,187,116,104,116,130,34,37,29,37,30,205,102,113,119,192,116,119,114,34,125,118,191,37,177,209,112,117,104 H,375447,8,300,4,16,1015675,184,2,1,1,,2,3,2,,40,0,1200,3,4,,1,,,,,,1,4,2,400,,1,3,,,1,2,6,7,12000,1,540,54,1,3,12000,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,192,189,206,67,55,176,347,171,346,50,288,183,290,202,62,63,189,270,47,60,249,285,61,191,199,57,161,48,204,231,182,268,148,308,180,196,317,165,197,163,167,178,179,58,54,164,274,186,293,52,276,176,260,198,59,67,216,282,72,51,271,343,58,201,194,53,156,60,203,182,203,305,186,366,168,163,316,187,179 H,375462,8,500,4,16,1015675,164,2,1,1,,3,3,2,,100,0,2,3,3,0,1,,,,,3,1,6,,,,1,2,,15,1,360,4,4,14400,4,,,1,1,14400,0,4,4,4,1,2,0,2,0,0,0,16,0,0,0,2,2,1,197,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,41,136,182,171,318,171,204,53,221,54,47,187,185,259,302,53,155,149,157,49,319,144,162,176,53,190,162,225,52,289,257,155,183,44,47,250,128,176,152,61,234,157,151,137,49,170,158,309,56,257,289,175,192,53,39,294,144,156,179,231,52,179,182,148,269,179,172,41,263,45,46,176,152,292,307,47,182,143,156,268 H,375972,8,700,4,16,1015675,119,4,1,3,3,5,2,2,,130,0,2,200,2,600,1,,2,1300,1,1,1,7,,,,1,1,,21,2,2,3,1,112000,1,,,1,1,112000,0,1,1,1,1,4,2,4,0,0,2,18,0,0,1,0,0,1,1680,3,0,0,45,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,33,209,210,114,122,122,32,133,199,117,214,210,34,118,33,120,111,32,117,114,37,191,208,118,119,114,35,127,200,116,190,200,35,115,37,119,116,32,110,112,213,35,34,115,107,132,201,130,35,111,35,35,194,116,202,116,118,214,127,117,204,34,35,113,112,119,196,116,33,124,34,33,205,113,177,128,127,193,110 H,376548,8,200,4,16,1015675,64,2,1,1,,3,2,2,,60,0,2,60,1,450,1,,,,,3,1,9,,,,1,2,,17,2,270,5,4,41750,4,,,1,1,41750,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,1,1,327,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,56,82,80,28,79,79,57,19,17,53,45,14,96,69,124,123,74,108,19,60,61,62,74,141,57,15,74,94,69,72,66,115,23,52,22,21,77,16,103,69,65,71,47,13,54,130,63,17,23,65,56,17,119,78,96,121,60,114,26,72,52,73,68,92,72,17,72,138,130,59,75,90,18,70,16,16,44,19,101,66 H,377399,8,800,4,16,1015675,105,2,1,1,,4,2,2,,150,0,2,3,3,500,1,,1,1400,1,1,1,8,,,330,1,1,,15,3,600,5,1,43900,4,,,1,1,43900,0,4,4,4,1,5,0,2,0,0,0,53,0,0,0,0,0,1,1930,2,0,1,18,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,30,106,99,104,112,124,182,97,31,217,133,151,116,32,89,36,202,132,172,34,30,93,84,105,108,94,198,102,31,178,99,194,99,33,91,30,156,129,45,217,193,117,122,99,90,82,30,98,180,26,104,38,109,166,122,152,34,106,25,149,192,128,106,83,90,96,28,98,190,35,105,33,124,139,113,166,32,133,142 H,377463,8,100,4,16,1015675,118,2,1,2,1,3,2,2,,60,0,2,150,2,800,1,,1,1300,1,1,1,8,,,,1,1,,22,3,300,3,2,70250,4,,,1,1,70250,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,2,2,1,1535,3,0,1,38,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,119,190,144,220,34,110,175,156,123,98,104,116,110,36,116,251,31,101,36,38,124,224,125,197,41,120,175,182,134,139,125,129,102,34,93,216,39,123,38,39,123,189,122,220,34,111,209,184,148,117,100,109,113,36,106,211,35,122,31,43,124,201,115,253,43,112,192,180,116,118,111,118,102,33,95,203,36,116,34 H,377733,8,800,4,16,1015675,90,4,1,1,,2,2,2,,80,0,1200,100,4,300,1,,1,540,1,1,1,6,,,,1,1,,12,2,400,9,3,29200,3,,,1,1,29200,0,3,3,3,1,4,2,4,0,0,2,35,0,0,1,0,0,1,853,3,0,1,20,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,20,84,31,29,168,154,84,105,93,83,25,154,102,104,94,26,126,90,25,113,150,78,158,162,31,36,116,86,86,84,142,27,77,94,89,132,29,83,167,80,24,82,22,26,169,155,77,97,84,90,22,152,108,100,83,24,125,82,25,101,160,110,193,163,28,32,110,88,99,114,158,21,88,83,101,161,27,93,161 H,378118,8,300,4,16,1015675,65,3,1,1,,3,2,2,,130,0,2,3,3,700,1,,2,690,2,1,1,6,,,190,1,1,,12,5,90,5,1,45000,4,,,1,1,45000,0,4,4,4,1,6,0,3,0,0,0,31,0,0,0,0,0,1,1150,1,0,1,19,3,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,107,78,79,80,21,17,49,19,109,18,94,61,108,99,52,102,63,55,65,111,56,15,87,94,63,86,30,105,53,78,73,19,76,66,103,112,18,22,52,18,59,101,21,19,63,81,92,116,117,49,72,113,51,56,31,19,100,136,87,112,28,64,53,83,103,92,61,49,18,127,24,58,28,37,51,83,66,61,20 H,378208,8,900,4,16,1015675,61,3,1,1,,3,2,2,,60,0,2,50,1,350,1,,2,900,2,1,1,7,,,,1,1,,15,3,610,4,2,87000,4,,,1,1,87000,0,4,4,4,1,5,0,3,0,0,0,16,0,0,0,0,0,1,1157,3,0,1,18,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,111,58,50,105,89,75,97,44,131,95,101,49,74,57,58,114,119,70,18,59,12,47,65,26,18,15,15,52,23,86,23,56,75,79,55,20,25,68,22,56,13,66,57,18,24,13,12,63,30,77,31,71,70,56,42,21,23,68,108,61,62,55,73,83,81,93,103,47,97,91,103,57,76,57,57,130,123,70,118 H,378266,8,500,4,16,1015675,96,3,1,1,,3,2,2,,30,0,2,100,1,350,1,,1,710,1,1,1,4,,,,1,1,,15,2,200,3,2,36700,1,,,1,1,36700,0,1,1,1,1,3,1,3,0,0,1,28,0,0,1,0,0,1,857,3,0,1,24,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,137,134,32,97,99,120,26,92,108,26,133,101,32,96,99,106,27,170,71,33,34,37,199,75,102,30,155,96,108,190,89,96,172,108,110,82,176,31,98,30,25,31,180,96,120,25,153,114,89,176,111,108,147,102,133,98,191,26,85,175,185,182,28,96,97,179,29,118,94,21,80,104,23,85,89,90,26,146,92 H,378354,8,600,4,16,1015675,351,1,1,,,1,8,,,50,0,2,3,3,,1,,,,,,1,2,2,480,,1,3,,,1,1,3,,,,530,24,3,6,27000,0,4,4,4,2,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,111,366,372,359,319,366,589,579,644,343,98,335,597,311,367,636,319,105,96,556,552,365,347,344,377,352,100,107,107,373,553,356,107,353,374,114,324,595,634,104,99,329,368,340,351,345,572,602,603,351,96,353,598,323,343,620,339,105,120,588,599,319,348,342,360,394,106,99,114,389,588,357,100,355,394,101,350,586,560,101 H,378614,8,700,4,16,1015675,76,2,1,1,,5,2,2,,40,0,2,70,1,990,1,,2,2500,2,1,1,9,,,,1,1,,23,3,110,2,3,142000,4,,,1,1,142000,0,4,4,4,1,3,0,2,0,0,0,32,0,0,0,0,0,1,3752,3,0,1,68,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,22,77,19,78,79,76,132,67,133,76,72,120,75,26,124,124,24,23,75,77,23,80,22,76,80,75,124,82,140,74,71,123,78,23,147,123,22,21,75,70,22,78,25,78,69,82,115,74,130,79,76,138,74,22,119,125,24,22,74,70,26,80,23,93,66,73,131,83,124,82,83,124,75,21,133,120,23,20 H,378852,8,500,4,16,1015675,150,6,1,2,1,4,2,2,,120,0,2,3,3,450,1,,1,980,1,1,1,6,,,,1,1,,15,4,280,7,1,41700,2,,,2,1,41700,0,2,2,2,1,4,4,6,0,0,4,32,0,0,1,0,0,1,1123,3,0,1,29,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,151,48,201,141,41,154,37,225,244,162,169,138,49,153,256,156,317,319,122,268,141,257,141,163,229,149,294,50,40,143,181,130,273,150,35,152,45,61,214,53,147,44,171,138,51,149,41,249,278,154,134,147,39,155,307,140,259,219,149,323,171,240,109,151,256,135,235,45,44,153,138,196,238,167,44,146,43,39,129 H,378855,8,500,4,16,1015675,128,2,1,1,,2,2,2,,100,0,280,3,6,250,1,,,,,3,1,4,,,,1,2,,13,2,290,8,4,10200,4,,,1,1,10200,0,4,4,4,1,5,0,2,0,0,0,30,0,0,0,1,1,1,254,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,121,129,123,211,238,34,209,130,122,38,44,41,139,116,199,34,108,216,265,40,42,229,235,117,129,132,154,38,227,119,125,145,33,205,138,123,35,108,115,143,125,120,145,224,214,37,170,109,131,37,37,37,111,125,245,39,136,233,190,34,43,240,231,112,132,126,130,33,267,138,150,131,38,199,130,124,40,102,128 H,378935,8,100,4,16,1015675,74,1,1,3,1,3,1,2,,200,0,2,3,3,340,1,430,1,480,1,1,1,4,,,280,1,1,,13,2,2,3,,,,,,1,4,21200,0,4,4,4,1,5,0,,0,0,0,56,0,0,0,1,1,1,996,2,0,0,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,125,20,125,67,77,20,22,20,70,90,134,27,104,115,77,63,66,77,21,73,69,79,80,147,22,59,65,89,118,26,89,81,145,71,123,145,22,20,100,22,15,130,22,81,81,98,137,151,67,57,24,110,78,33,88,87,78,77,121,69,64,68,87,24,123,100,81,65,24,140,63,66,24,75,20,18,108,134,71 H,378949,8,800,4,16,1015675,32,7,1,3,1,5,2,2,,150,0,2,210,1,,1,,,,,,1,9,,,,1,4,,,3,2,5,1,205000,3,,,1,1,205000,0,3,3,3,1,1,5,7,0,0,5,,0,0,1,0,0,2,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,44,28,10,29,26,30,55,12,52,8,56,27,20,31,10,35,50,41,59,44,28,8,47,47,44,54,33,36,45,40,36,7,12,11,33,71,39,9,8,31,39,54,30,10,9,10,31,34,41,28,41,53,64,72,28,7,32,56,45,51,8,40,63,30,27,38,10,54,12,58,11,36,25,32,60,24,7,38,40 H,379072,8,700,4,16,1015675,67,2,1,1,,3,2,2,,50,0,2,20,1,320,1,,2,180,1,1,1,5,,,,1,1,,16,2,30,3,1,56000,4,,,1,1,56000,0,4,4,4,1,2,0,2,0,0,0,6,0,0,0,0,0,1,280,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,70,19,107,123,18,69,68,19,71,20,69,74,62,100,65,115,64,58,108,18,69,20,123,123,18,74,75,20,68,23,67,69,63,101,71,122,68,57,119,123,68,102,22,23,107,64,65,112,63,113,73,62,59,22,72,18,67,71,19,114,59,126,20,18,130,78,66,110,67,107,66,73,73,19,65,18,64,72,19,19 H,379209,8,600,4,16,1015675,89,4,1,1,,4,2,2,,100,0,2,100,1,1100,1,,1,1300,1,1,1,9,,,200,1,1,,20,3,500,4,1,95500,3,,,1,1,95500,0,3,3,3,1,4,2,4,0,0,2,22,0,0,1,0,0,1,1742,2,0,1,38,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,89,92,27,89,30,156,146,85,96,84,25,87,147,84,138,144,28,94,81,23,84,88,27,95,25,140,157,92,100,83,29,93,146,101,160,152,26,91,100,156,89,82,152,79,138,27,23,97,82,88,148,90,28,88,26,28,139,91,94,155,93,94,154,90,161,28,26,96,87,87,164,87,25,87,26,26,154,85,87 H,379295,8,300,4,16,1015675,88,7,1,2,1,5,2,2,,120,0,2,90,1,450,1,,2,660,2,1,1,9,,,,1,1,,19,3,2,2,2,71500,2,,,1,1,71500,0,2,2,2,1,3,5,7,0,0,5,18,0,0,1,0,0,1,1071,3,0,1,31,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,98,24,98,147,92,80,140,113,36,21,31,81,84,94,70,74,132,161,25,142,77,26,108,127,95,89,121,148,34,19,23,95,86,69,75,84,158,191,33,179,111,21,78,137,79,90,212,142,25,29,26,57,82,117,68,78,163,151,31,218,94,20,64,138,103,85,150,101,29,34,24,80,78,82,73,62,141,156,28 H,379615,8,100,4,16,1015675,147,1,1,,,1,9,,,40,0,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,1,3,,,,590,75,1,6,9500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,149,39,151,157,165,167,61,42,188,155,42,129,144,41,43,43,43,142,134,167,250,155,215,221,231,255,162,167,234,271,154,255,238,151,136,154,139,227,237,310,153,234,173,165,135,149,222,262,157,131,272,166,138,214,238,338,217,131,138,126,40,157,44,48,38,43,152,110,44,44,158,42,59,166,168,155,127,43,41 H,379661,8,400,4,16,1015675,29,2,1,1,,2,2,2,,40,0,750,3,4,,1,,,,,,1,4,2,430,,1,3,,,1,480,6,7,14700,2,573,47,1,3,14700,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,8,24,29,47,53,7,9,82,30,6,39,37,31,34,8,29,27,29,22,30,47,28,36,8,7,68,61,8,21,44,9,10,24,22,54,28,23,24,38,22,8,31,32,47,65,8,7,60,26,12,75,68,31,23,9,35,27,21,29,27,49,25,28,10,9,40,43,7,23,50,8,10,28,23,46,25,22,22,29 H,379692,8,800,4,16,1015675,66,2,1,1,,2,1,2,,70,0,2,3,3,,1,,,,,,1,4,2,360,,1,3,,,2,1,4,,,,430,5,1,5,95700,0,4,4,4,1,3,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,22,15,107,67,69,24,113,59,80,115,51,59,113,71,77,70,118,15,18,57,24,21,98,65,67,22,150,79,66,103,59,58,107,52,66,67,100,23,19,68,106,102,17,54,65,128,18,59,73,16,67,56,18,79,71,57,19,90,102,63,131,120,20,78,71,122,22,76,66,23,79,62,16,61,62,74,17,116,116,66 H,379821,8,300,4,16,1015675,75,3,1,1,,2,3,2,60,40,0,2,30,1,170,1,,2,360,2,1,1,7,,,140,1,1,,16,3,350,2,4,47700,4,,,1,1,47700,0,4,4,4,1,4,0,3,0,0,0,21,0,0,0,2,2,1,840,2,0,1,32,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,74,71,67,108,70,70,21,113,19,23,75,71,127,122,21,86,82,79,123,23,69,89,108,126,95,80,22,135,23,25,81,87,134,108,18,67,80,85,123,24,82,81,75,117,75,74,23,155,21,23,88,84,115,118,24,76,72,77,98,22,67,88,68,102,83,77,23,123,19,25,88,75,119,131,19,79,74,83,124 H,380355,8,600,4,16,1015675,155,3,1,1,,3,2,2,,80,0,2,130,1,,1,,,,,,1,5,2,600,,2,3,,,2,620,4,1,53400,1,862,19,1,1,53400,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,257,278,50,51,274,128,51,262,248,160,158,46,154,145,149,157,44,148,174,144,50,42,272,227,51,170,229,49,50,147,143,240,151,174,190,150,245,148,157,151,258,243,49,50,254,158,52,250,252,158,153,46,174,141,152,141,51,163,138,182,48,51,253,294,48,156,241,44,47,130,146,255,169,168,133,151,298,174,141,175 H,380388,8,800,4,16,1015675,19,2,1,,,2,4,,,120,0,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,800,3,7,26800,2,737,33,1,3,26800,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,20,20,5,3,9,17,25,21,3,17,24,7,27,37,28,39,18,17,7,20,25,22,34,38,37,17,5,22,31,19,24,33,17,6,7,6,22,20,33,19,22,20,5,5,5,17,25,22,7,20,25,5,22,41,34,37,24,19,6,19,17,23,31,28,34,17,7,19,26,20,25,28,21,6,5,6,25,22,42 H,380656,8,600,4,16,1015675,125,1,1,1,,3,2,2,,40,0,2,40,1,300,1,,1,810,1,1,1,6,,,,1,1,,17,1,400,3,,,,,,1,6,63050,0,4,4,4,1,5,0,,0,0,0,18,0,0,0,0,0,1,923,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,38,128,36,213,245,126,120,119,39,120,212,121,210,200,34,119,41,134,114,118,206,122,207,39,33,113,127,128,241,116,42,132,35,40,223,124,213,124,138,128,38,117,36,195,196,126,114,136,33,123,205,125,220,208,38,123,33,130,132,128,219,136,216,36,39,136,127,128,209,124,38,120,35,36,207,129,215,118,122 H,380771,8,100,4,16,1015675,60,1,1,,,1,4,,,50,0,2,50,1,,1,,,,,,1,3,2,350,,1,3,,,2,1,5,,,,450,20,1,4,27000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,117,104,18,57,97,17,16,57,58,85,54,58,80,50,98,62,56,19,47,15,91,97,17,59,90,15,15,61,64,95,57,63,61,60,111,81,69,19,56,114,15,15,105,53,17,96,123,67,61,19,52,63,54,47,16,51,49,90,67,111,19,15,106,56,16,87,124,66,63,19,50,70,58,60,18,51,66,76,65 H,381099,8,200,4,16,1015675,124,4,1,,,2,7,,,60,2500,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,2,2,4,1,6800,1,510,90,1,1,6800,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,168,149,134,108,47,139,144,85,175,249,40,194,34,97,114,40,144,40,123,258,254,125,117,109,37,92,200,197,166,215,47,95,42,141,90,42,175,35,116,261,192,134,136,145,46,102,226,132,166,207,61,105,31,113,147,35,106,42,123,161,199,126,164,102,46,136,147,106,240,148,41,125,38,225,129,34,146,32,105 H,381685,8,200,4,16,1015675,51,2,1,1,,2,2,2,,60,0,1600,40,1,360,1,,,,,3,1,4,,,,1,2,,14,1,190,6,4,17300,4,,,1,1,17300,0,4,4,4,1,5,0,2,0,0,0,29,0,0,0,2,2,1,419,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,72,51,71,92,112,48,82,78,66,48,56,58,76,54,67,57,101,61,48,20,22,59,43,12,14,42,16,18,49,53,57,47,12,61,20,53,15,17,55,12,13,46,46,14,18,61,22,12,57,47,50,64,18,53,17,55,15,10,46,97,85,72,45,79,87,46,94,102,45,49,54,50,104,44,91,59,95,128,56 H,382343,8,200,4,16,1015675,62,2,1,1,,3,2,2,,40,0,600,3,4,,1,,,,,,1,8,2,750,,1,3,,,2,900,6,,,,915,35,1,5,31000,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,63,106,69,66,136,60,14,107,107,17,45,82,16,49,19,58,69,53,108,25,56,17,69,69,17,63,146,20,15,74,80,69,98,58,113,54,71,90,18,151,71,101,89,50,85,53,14,118,100,23,57,56,16,58,19,52,55,60,131,17,64,14,59,87,20,63,107,17,19,104,81,55,123,70,83,76,90,66,17 H,382375,8,800,4,16,1015675,58,2,1,1,,4,2,2,,70,0,2,140,1,560,1,,2,560,2,1,1,9,,,320,1,1,,14,4,550,5,5,53564,4,,,1,2,53564,0,4,4,4,1,6,0,2,0,0,0,28,0,0,0,0,0,1,1267,1,0,1,22,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,15,45,62,85,18,85,108,51,70,22,15,88,65,60,54,81,55,46,107,59,113,62,57,17,98,19,14,51,57,96,89,13,64,47,63,15,54,62,92,63,92,53,64,13,112,17,17,54,60,113,83,16,58,50,62,17,63,53,17,58,15,60,60,81,17,104,102,52,54,19,16,92,56,53,54,101,65,57,21 H,382436,8,500,4,16,1015675,367,0,1,1,,1,2,2,,,,,,,,1,,,,,,2,4,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,334,373,405,132,106,602,105,426,297,633,537,481,280,402,119,525,411,106,310,124,574,142,94,372,426,344,384,578,131,331,355,416,554,128,387,320,662,420,520,317,413,374,326,558,510,125,592,442,456,95,119,111,358,370,614,137,370,681,374,547,99,558,618,350,377,372,395,90,663,344,379,402,123,543,385,443,90,352,130,429 H,382515,8,600,4,16,1015675,136,1,1,1,,1,2,2,,30,0,2,150,1,,1,,,,,,1,3,2,500,,1,3,,,1,160,9,,,,693,93,1,4,8900,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,40,231,249,114,131,138,36,136,242,131,211,234,40,119,46,144,157,41,139,149,226,37,38,143,152,142,182,152,42,130,44,44,239,135,194,148,152,247,145,129,44,251,233,131,143,128,41,154,225,132,226,228,43,124,45,147,150,41,117,138,210,45,33,138,141,124,244,135,39,122,40,37,223,140,219,147,130,243,127 H,382640,8,200,4,16,1015675,24,3,1,3,1,3,2,2,,60,0,2,40,1,1000,1,,1,1400,1,1,1,6,,,,1,1,,18,4,2,2,1,87500,4,,,1,1,87500,0,4,4,4,1,3,0,3,0,0,0,21,0,0,0,0,0,1,1500,3,0,0,30,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,39,24,6,34,24,20,9,26,7,32,17,46,26,28,25,35,31,7,30,20,22,7,28,6,7,39,20,37,25,31,39,29,37,7,9,25,24,17,42,53,9,27,46,21,34,25,33,26,45,6,19,7,28,24,26,5,7,38,24,25,17,53,45,33,42,8,23,5,23,29,8,17,5,39,44,24,25,26,7,6 H,382758,8,100,4,16,1015675,57,3,1,1,,3,2,2,,130,0,240,3,6,360,1,,1,740,1,1,1,5,,,,1,1,,15,2,830,8,7,24600,2,,,1,3,24600,0,3,3,3,1,4,2,3,0,0,2,47,0,0,1,0,0,2,959,3,0,1,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,74,64,55,59,50,19,71,77,23,60,12,53,129,62,119,18,53,81,19,103,52,54,52,52,57,20,73,61,19,87,17,57,97,74,108,20,66,95,76,22,42,42,54,63,63,93,78,18,99,57,102,57,21,72,15,88,59,22,128,15,55,61,54,52,75,87,57,30,122,54,83,65,29,46,17,92,60,16,19 H,382978,8,100,4,16,1015675,53,2,1,1,,1,2,2,,100,0,100,40,1,370,1,,2,310,2,1,1,4,,,,1,1,,8,1,440,9,4,31500,4,,,1,1,31500,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,0,0,2,609,3,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,51,46,36,36,53,20,47,58,14,50,19,52,65,55,68,12,74,106,100,15,42,45,64,50,38,77,44,13,97,68,77,52,46,70,15,82,49,17,136,24,63,58,38,34,61,91,45,13,78,53,77,39,19,67,17,67,73,26,22,80,47,44,68,54,38,16,41,56,17,59,13,41,122,68,71,19,56,85,29 H,383091,8,300,4,16,1015675,34,4,1,1,,5,2,1,,410,0,2,180,3,500,1,,1,450,1,1,1,9,,,860,1,1,,18,2,300,9,1,99600,1,,,1,1,99600,0,1,1,1,1,5,1,4,0,0,1,23,0,0,1,0,0,2,1925,2,0,0,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,9,67,57,8,33,62,8,9,35,48,43,32,32,30,42,53,29,38,10,32,10,59,70,11,41,59,9,8,28,44,61,37,30,26,28,63,35,36,12,33,55,10,8,53,45,11,51,55,30,33,10,39,37,25,34,11,31,39,64,41,59,10,9,69,37,8,41,54,37,33,8,37,33,29,32,11,29,40,68,42 H,383215,8,500,4,16,1015675,87,3,1,1,,2,2,2,,60,0,2,200,1,700,1,,1,800,1,1,1,8,,,,1,1,,17,3,380,5,,,,,,1,5,40800,0,4,4,4,1,6,0,,0,1,0,32,2,0,0,0,0,1,1092,3,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,168,28,99,92,149,135,147,76,89,26,127,77,29,78,86,78,80,24,156,93,94,87,23,140,92,93,78,25,151,91,94,30,92,24,26,142,151,78,91,149,27,157,91,74,25,27,24,84,79,146,24,77,152,99,86,78,84,146,26,81,77,87,148,26,80,87,76,138,23,95,105,138,78,147,145,28,30,98,84 H,383234,8,600,4,16,1015675,110,1,1,,,0,6,,,2,0,2,3,9,,1,,,,,,1,1,2,290,,1,3,,,0,1,9,,,,290,101,1,6,2000,0,4,4,4,1,1,0,,0,0,0,,0,0,1,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,130,32,210,93,106,104,189,128,30,97,197,170,84,108,215,32,137,112,180,168,109,195,29,120,113,126,28,99,211,114,37,27,99,141,35,182,120,116,34,29,108,36,194,122,114,106,189,118,29,132,185,184,119,110,194,27,95,115,198,183,95,174,34,113,99,107,37,111,193,118,31,33,109,99,31,212,107,104 H,383406,8,700,4,16,1015675,108,2,1,1,,3,2,2,,30,0,70,160,1,300,1,,1,780,1,1,1,6,,,,1,1,,16,4,400,3,7,29400,4,,,1,3,29400,0,4,4,4,1,1,0,2,0,0,0,41,0,0,0,0,0,1,1009,3,0,1,26,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,218,120,182,172,195,175,99,102,173,184,110,187,204,114,105,111,119,181,113,127,29,115,33,30,30,32,102,100,29,33,122,31,31,107,115,118,101,31,108,111,185,108,195,195,199,167,114,108,183,211,105,194,196,103,121,104,102,190,100,104,31,114,32,33,34,31,96,113,28,33,115,32,35,113,105,103,110,35,98,110 H,383514,8,100,4,16,1015675,64,2,1,2,1,4,2,2,,130,0,2,3,3,650,1,,2,960,2,1,1,8,,,,1,1,,21,3,30,7,,,,,,1,5,59000,0,4,4,4,1,6,0,,0,1,0,27,2,0,0,0,0,1,1310,3,0,1,31,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,64,23,75,117,70,19,19,69,65,17,110,68,88,112,61,99,16,66,77,67,69,19,63,96,60,18,15,58,67,20,119,65,119,119,72,108,17,76,59,60,66,119,76,19,65,119,101,65,71,112,18,63,15,18,68,20,109,61,73,78,65,96,58,19,68,111,110,57,58,109,17,63,20,18,65,19,116,61,63,61 H,383610,8,100,4,16,1015675,285,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,457,474,381,461,305,222,437,485,268,503,447,267,322,311,245,370,280,409,281,261,83,93,83,104,331,273,84,96,288,88,95,329,314,307,299,90,339,107,291,279,83,96,78,82,333,276,82,84,293,90,101,280,287,258,280,92,241,88,299,254,459,439,506,513,301,285,456,404,274,432,507,348,231,316,284,389,270,578,405,275 H,383720,8,100,4,16,1015675,78,2,1,1,,2,3,2,,150,0,2,3,3,,1,,,,,,1,5,2,700,,2,3,,,2,1,5,1,51400,4,850,20,1,1,51400,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,4,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,153,74,86,127,131,147,125,62,144,70,120,73,71,80,80,134,129,70,24,69,26,83,74,20,25,23,21,76,25,81,26,88,77,76,68,27,24,77,143,86,149,77,68,137,130,124,132,65,164,79,122,62,77,88,69,145,143,82,20,80,22,79,74,27,29,21,22,74,24,84,25,70,68,76,67,23,26,68,122 H,384015,8,100,4,16,1015675,24,2,1,2,1,2,2,2,,80,0,300,3,3,0,1,,,,,3,1,6,,,,1,2,,16,1,2,5,2,47000,4,,,1,1,47000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,2,0,2,135,,0,1,9,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,7,27,27,24,28,7,22,25,43,41,7,9,40,31,9,42,46,22,21,24,6,21,30,23,22,8,24,23,42,45,6,9,53,22,7,45,56,24,20,26,7,23,22,27,29,8,19,27,45,39,8,7,44,25,5,41,44,28,26,31,7,23,23,25,29,7,22,25,42,34,7,7,50,22,7,48,48,20,20,29 H,384322,8,300,4,16,1015675,64,5,1,2,1,5,2,2,,80,0,2,100,1,320,1,,2,850,2,1,1,9,,,540,1,1,,16,1,600,2,7,8000,2,,,1,3,8000,0,2,2,2,1,1,4,5,0,0,4,101,0,0,1,0,0,1,1747,2,0,1,24,1,14,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,76,67,71,58,71,116,110,126,69,19,65,107,63,58,93,67,21,18,18,16,66,68,71,63,59,106,115,138,78,20,66,100,56,66,98,59,23,19,18,19,62,63,66,67,71,111,135,119,70,21,70,113,69,65,101,62,19,20,21,18,61,57,65,70,71,106,112,130,53,22,66,107,58,59,94,64,22,17,18 H,384789,8,300,4,16,1015675,84,1,1,2,1,4,2,1,,80,0,2,3,3,550,1,,,,,3,1,8,,,,1,2,,17,2,2,4,,,,,,1,4,3200,0,4,4,4,1,5,0,,0,0,0,90,0,0,0,0,0,1,239,,0,0,25,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,26,70,88,84,23,83,139,98,25,21,99,81,24,156,84,154,127,80,77,135,22,77,87,78,27,84,119,85,23,26,98,76,28,145,111,177,145,81,102,111,23,78,91,90,25,87,133,81,31,21,82,88,28,141,83,139,155,87,68,143,23,81,87,79,27,79,124,78,26,26,83,83,26,163,81,159,133,86,86 H,384856,8,300,4,16,1015675,46,7,1,1,,3,2,2,,120,0,2,3,3,260,1,,1,550,1,1,1,5,,,150,1,1,,12,2,780,9,2,30600,3,,,1,1,30600,0,3,3,3,1,5,5,7,0,0,5,35,0,0,1,0,0,1,885,1,0,1,14,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,35,13,59,72,15,12,58,43,49,84,61,97,44,48,40,12,47,13,81,41,42,15,56,71,15,13,71,53,44,74,42,80,61,48,65,17,39,14,13,35,47,80,41,15,72,70,15,49,40,13,39,11,58,43,52,80,41,89,11,54,39,75,51,14,101,66,13,54,50,16,51,13,42,43,42,78,62,76,58 H,385188,8,300,4,16,1015675,85,3,1,1,,4,2,2,,70,0,2,70,1,700,1,,1,700,1,1,1,7,,,,1,1,,13,1,2,6,7,25000,3,,,1,3,25000,0,3,3,3,1,3,2,3,0,0,2,40,0,0,1,0,0,1,840,3,0,1,32,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,105,68,25,165,84,67,139,79,101,132,68,79,80,129,26,25,27,29,101,27,96,75,130,21,104,74,29,96,79,28,84,84,82,23,151,144,161,135,76,130,85,114,30,132,78,74,164,68,78,141,103,69,76,152,28,36,27,23,73,27,76,110,138,25,101,96,27,65,76,27,89,90,96,25,160,133,144,143,103 H,385299,8,100,4,16,1015675,47,2,1,2,1,2,2,2,,90,0,2,2,6,690,1,,,,,3,1,5,,,,1,2,,20,2,190,6,1,49800,4,,,1,1,49800,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,1,0,2,344,,0,1,33,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48,42,78,14,75,47,14,12,14,46,84,13,47,51,46,47,79,86,87,76,83,16,53,45,39,12,43,43,53,76,44,44,14,84,11,14,44,54,52,40,49,54,15,78,13,48,71,74,77,43,14,81,44,52,49,50,14,12,15,14,11,74,51,55,46,74,48,42,48,14,49,43,72,12,77,86,48,49,44 H,385394,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,385595,8,200,4,16,1015675,50,5,1,3,2,5,2,2,,90,0,900,3,6,820,1,,2,520,2,1,1,9,,,,1,1,,19,5,2,9,1,59500,2,,,1,1,59500,0,3,3,3,1,4,3,5,0,0,3,17,0,0,1,0,0,1,821,3,0,0,18,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,65,49,12,44,86,62,84,81,15,49,15,57,54,14,40,13,89,97,66,51,45,56,18,55,94,53,94,82,15,42,14,52,41,12,49,15,87,98,46,62,49,52,16,44,62,46,110,103,16,54,17,51,53,17,55,17,84,86,45,49,51,60,14,42,99,52,73,113,17,51,15,44,48,14,50,15,78,83,41 H,385934,8,400,4,16,1015675,159,2,1,,,1,7,,,60,0,2,2,3,,1,,,,,,1,2,2,210,,2,3,,,1,1,7,5,6300,4,270,51,2,2,6300,0,4,4,4,2,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,11,10,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,52,174,212,46,62,175,175,258,225,124,151,152,234,173,211,56,33,234,181,235,55,164,273,55,73,171,163,378,262,206,141,116,253,163,138,36,31,208,178,232,48,138,302,54,38,210,192,240,153,168,208,194,226,165,134,45,52,222,173,283,50,126,254,66,39,170,205,229,179,148,200,261,176,128,208,54,40,226,177 H,386095,8,800,4,16,1015675,109,3,1,1,,4,2,2,,40,0,2,30,1,650,1,,1,950,1,1,1,9,,,690,1,1,,17,2,1400,6,1,54000,2,,,1,1,54000,0,2,2,2,1,3,1,3,0,0,1,41,0,0,1,0,0,1,1827,1,0,1,12,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,204,34,125,118,103,159,28,124,117,183,117,190,160,33,34,121,109,85,149,113,33,184,105,127,125,35,181,96,107,39,118,34,29,152,171,98,114,84,29,96,180,30,101,104,101,152,28,106,97,194,95,210,205,26,28,95,104,110,208,124,31,195,113,113,138,32,155,114,109,33,120,30,32,218,184,111,133,117,28 H,386206,8,100,4,16,1015675,108,2,1,1,,3,3,2,,90,0,2,370,1,2300,1,,2,70,2,1,1,7,,,,1,1,,23,2,570,3,4,75600,4,,,2,1,75600,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,2,2,1,1153,3,0,1,58,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,158,107,166,88,96,189,96,186,27,30,96,96,108,260,100,45,133,29,127,186,28,127,25,92,124,29,114,48,197,213,109,97,133,31,128,176,98,190,110,166,50,120,29,94,110,34,83,33,185,210,93,126,181,27,128,186,79,178,118,31,195,103,214,120,99,197,131,176,27,30,103,154,102,177,107,22,97,37,90 H,386401,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,386444,8,500,4,16,1015675,86,7,1,1,,3,2,2,,130,4500,2,440,1,500,1,,1,790,1,1,1,6,,,,1,1,,12,6,610,7,2,30900,2,,,2,1,30900,0,2,2,2,1,4,5,7,0,0,5,55,0,0,1,0,0,1,1411,3,0,1,22,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,151,186,91,112,26,94,82,68,26,81,169,115,34,26,76,75,31,153,68,71,26,23,72,23,127,85,75,104,180,82,28,76,185,171,95,75,161,25,91,93,167,151,104,157,27,84,76,89,23,91,135,86,21,21,104,120,21,131,87,109,27,27,93,27,179,85,111,107,103,98,22,78,145,141,83,101,130,24,96 H,386459,8,300,4,16,1015675,26,6,1,2,1,5,2,2,,130,0,2,130,1,780,1,,2,1000,2,1,1,9,,,190,1,1,,18,6,510,3,1,60400,2,,,1,1,60400,0,2,2,2,1,4,3,6,0,0,3,33,0,0,1,0,0,1,1658,2,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,19,29,43,40,6,8,38,26,8,47,50,31,28,10,30,21,19,30,26,8,26,41,37,36,9,8,48,28,8,44,43,27,24,10,28,30,33,23,19,37,31,26,10,10,37,45,11,21,34,7,7,26,26,41,23,28,27,25,23,34,36,32,8,10,45,54,10,35,40,8,10,26,29,54,31,23,23,20 H,386628,8,700,4,16,1015675,86,4,1,1,,3,2,2,,60,0,2,80,1,250,1,,2,580,1,1,1,6,,,200,1,1,,18,3,300,2,1,75000,3,,,1,1,75000,0,3,3,3,1,3,2,4,0,0,2,15,0,0,1,0,0,1,966,2,0,1,28,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,26,86,82,23,88,157,155,150,78,87,82,79,81,28,27,26,91,136,160,89,25,81,92,25,76,137,154,147,85,89,80,73,82,24,25,26,87,136,20,82,143,87,82,162,86,24,27,24,95,86,88,86,86,132,131,150,81,28,25,88,130,91,88,141,85,23,26,26,86,77,80,91,91,146,145,140,84,28,150 H,386815,8,100,4,16,1015675,81,1,1,,,1,9,,,1,0,2,3,3,,2,,,,,,1,2,2,370,,1,3,,,1,100,5,,,,378,37,1,6,12170,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,82,88,138,85,87,24,130,29,23,82,88,139,135,27,74,83,81,26,82,19,80,78,23,78,68,139,23,132,132,78,80,25,21,126,82,82,94,152,83,22,94,82,20,93,87,120,20,132,122,83,91,29,22,138,75,78,92,115,76,142,88,78,156,72,80,24,136,23,22,93,102,151,140,24,103,83,80,21,75,124 H,387827,8,100,4,16,1015675,25,2,1,1,,2,1,2,,90,0,2,3,3,500,1,0,1,410,1,1,1,5,,,,1,1,,15,1,1,4,2,26600,4,,,1,1,26600,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,2,2,2,500,3,0,0,26,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,41,23,22,27,7,19,39,23,45,45,11,21,8,27,27,8,23,7,21,33,36,28,17,19,8,20,35,23,50,55,12,26,5,21,25,10,20,7,21,39,39,20,22,27,8,20,44,23,46,47,6,24,7,22,28,7,25,9,24,40,41,18,20,27,7,22,50,30,35,40,7,24,5,24,32,7,21,7,22 H,387843,8,800,4,16,1015675,24,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,40,41,24,21,26,25,18,6,7,7,23,37,22,6,28,27,6,24,39,37,41,45,26,29,22,21,28,8,7,6,21,39,24,7,22,26,7,22,39,40,33,38,23,28,23,25,23,9,8,5,25,53,29,6,18,23,8,24,33,41,40,46,25,28,26,23,24,7,6,6,23,47,29,6,21,25,6,21,39,41 H,388258,8,100,4,16,1015675,32,2,1,1,,3,1,2,,50,0,2,80,1,0,1,0,,,,3,1,5,,,,1,2,,11,2,270,5,4,48600,4,,,1,1,48600,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,2,2,211,,0,0,16,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,10,56,66,10,29,29,10,40,10,39,32,28,53,32,53,32,36,60,46,35,52,9,10,45,41,42,55,33,54,32,29,35,10,39,7,30,36,9,11,29,12,54,71,12,25,33,8,33,9,30,35,32,49,29,49,34,27,50,57,36,56,10,9,62,39,36,51,34,56,29,33,34,9,43,8,28,30,8,7 H,389132,8,100,4,16,1015675,50,2,1,2,1,3,2,2,,40,0,100,4,3,490,1,,2,750,2,1,1,6,,,,1,1,,19,3,2,3,1,116200,4,,,1,1,116200,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,1,993,3,0,1,30,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,53,76,13,20,106,46,49,96,48,79,46,45,57,16,56,17,45,57,92,19,59,85,15,17,92,51,46,80,53,81,52,57,61,17,48,14,47,50,17,89,56,14,80,94,18,56,56,19,52,18,44,53,57,94,62,73,54,47,15,84,47,13,88,87,18,49,60,15,49,14,42,44,55,96,56,73,54,59,94 H,389269,8,400,4,16,1015675,21,2,1,3,5,4,2,2,,120,0,2,3,3,670,1,,1,870,1,1,1,6,,,600,1,1,,14,3,220,9,,,,,,1,5,30000,0,4,4,4,1,5,0,,0,1,0,64,0,0,0,0,0,1,1608,1,0,0,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,27,8,22,41,33,30,26,29,29,21,22,5,5,6,25,48,25,5,18,34,20,5,20,39,31,34,23,28,25,20,20,6,7,7,23,40,20,4,20,7,22,35,22,6,7,6,18,22,22,23,21,41,36,28,22,6,19,32,19,6,24,42,23,7,6,7,19,20,24,26,19,47,52,39,21,6,23,39,21,32 H,389297,8,400,4,16,1015675,101,1,1,1,,2,1,2,,50,0,2,3,3,500,1,400,,,,3,1,3,,,,1,2,,16,4,1,4,,,,,,1,4,35000,0,4,4,4,1,4,0,,0,0,0,6,0,0,0,0,0,1,167,,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,190,100,29,106,101,22,101,166,135,175,113,100,91,96,115,35,30,27,178,141,184,88,30,106,105,30,100,145,159,154,110,126,84,117,117,36,33,25,128,78,167,101,25,93,83,31,100,171,190,173,108,102,104,116,122,26,34,37,195,117,153,95,33,111,110,37,101,147,169,198,77,82,93,117,102,31,32,30,164 H,389299,8,800,4,16,1015675,441,1,1,1,,2,1,2,,30,0,2,60,1,,1,,,,,,1,5,2,450,,1,3,,,1,1,5,,,,540,23,1,4,28000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,303,506,545,161,487,559,654,590,196,232,545,504,136,555,790,395,316,162,354,374,449,462,476,195,504,514,552,558,158,219,708,428,154,521,565,553,538,146,408,538,401,447,480,173,427,502,608,473,184,207,634,428,172,557,582,482,390,161,451,446,353,474,495,150,426,427,553,622,200,197,576,498,162,559,650,499,392,150,450,389 H,389404,8,600,4,16,1015675,379,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,677,358,601,112,466,522,646,460,385,342,438,347,119,441,710,113,361,122,416,665,108,392,113,541,364,100,89,388,371,371,423,333,720,417,115,554,367,648,375,685,124,344,116,730,430,113,133,386,380,378,352,330,710,339,125,639,339,736,361,132,575,432,710,124,381,628,656,361,341,373,378,329,117,397,620,106,366,102,311,126 H,389522,8,800,4,16,1015675,71,1,1,,,2,6,,,100,0,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,1,1,6,,,,400,8,1,4,60900,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,111,61,82,67,79,111,70,73,28,19,101,123,20,77,144,18,25,67,67,79,24,67,79,59,92,22,67,75,143,138,22,24,102,62,20,121,126,56,58,62,20,76,71,60,71,26,69,94,129,108,19,23,137,78,27,131,102,70,64,63,105,73,73,53,72,131,70,85,28,21,99,126,24,73,141,27,23,62,65 H,389774,8,600,4,16,1015675,95,3,1,,,2,4,,,90,0,2,3,3,,1,,,,,,1,4,2,600,,1,3,,,2,2,6,2,49000,4,690,17,1,1,49000,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,93,93,89,29,32,91,157,93,192,27,149,97,162,94,25,26,112,169,26,25,147,178,28,98,92,29,104,29,104,92,102,186,99,173,100,91,149,103,101,96,101,93,104,159,142,104,26,100,25,170,26,94,28,104,176,152,84,26,182,168,30,30,171,100,100,164,90,155,94,98,92,24,89,27,90,96,29,99,90 H,390264,8,800,4,16,1015675,232,4,1,1,,3,2,2,,40,0,2,30,1,800,1,,1,880,1,1,1,6,,,140,1,1,,16,3,550,2,3,85000,3,,,1,1,85000,0,1,1,1,1,3,2,4,0,0,2,16,0,0,1,0,0,2,1136,2,0,1,24,1,3,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,220,241,62,59,76,220,425,276,78,257,211,60,198,295,375,413,185,224,494,197,228,376,81,52,78,237,338,218,73,242,300,73,220,420,406,333,296,258,57,203,247,206,315,539,376,193,108,225,348,181,201,359,203,69,65,63,221,274,89,294,192,212,426,364,405,267,71,257,400,230,205,504,222,78,83,70,273,237,401 H,390274,8,800,4,16,1015675,19,2,1,1,,3,2,2,,40,0,2,70,1,2800,1,,2,4800,2,1,1,8,,,2700,1,1,,24,2,480,3,4,92000,4,,,1,1,92000,0,4,4,4,1,5,0,2,0,0,0,101,0,0,0,2,1,2,8925,2,0,1,68,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,24,20,5,21,7,34,31,15,18,20,7,23,35,22,41,25,5,23,22,32,23,21,32,19,34,5,7,20,17,19,36,20,5,22,5,7,34,17,19,5,21,19,5,18,7,36,30,21,20,20,7,23,39,22,30,34,6,18,18,30,20,21,32,25,33,5,5,23,22,20,38,19,6,20,5,5,34,23,25 H,390283,8,800,4,16,1015675,102,3,1,1,,5,2,1,,190,0,2,250,1,,1,,,,,,1,9,2,200,,1,3,,,2,2,7,5,25400,2,640,18,1,2,42000,0,2,2,2,1,3,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,36,46,125,156,34,94,141,36,34,96,94,128,87,106,103,143,167,118,108,111,29,31,144,129,30,92,177,41,42,159,106,147,136,100,86,124,160,82,72,117,34,29,218,199,29,107,151,30,29,93,134,164,113,147,86,117,242,110,113,106,27,28,194,211,26,91,188,29,24,114,109,216,78,84,108,75,168,108,100 H,390643,8,600,4,16,1015675,82,2,1,1,,1,3,2,,1,0,2,1,1,,1,,,,,,1,4,2,500,,1,3,,,2,1,6,2,30500,4,500,20,1,1,30500,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,85,26,89,91,72,144,90,90,23,150,25,25,94,80,146,128,25,90,23,79,74,154,78,81,76,23,83,84,159,22,145,134,87,107,24,21,127,78,25,85,74,147,89,87,87,26,72,73,144,24,132,145,75,87,22,26,138,73,146,93,100,23,94,84,87,146,78,80,21,134,22,25,83,81,145,143,26,82,136 H,390837,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,391203,8,600,4,16,1015675,118,1,1,,,2,8,,,50,0,2,10,1,,1,,,,,,1,4,2,670,,1,3,,,1,1,3,,,,730,9,1,4,99000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,124,37,186,33,126,113,115,132,113,121,187,37,107,112,37,32,123,193,107,114,35,125,129,113,42,221,192,200,216,35,124,121,217,36,139,116,35,134,202,184,121,37,214,36,111,122,124,114,121,117,195,33,116,135,41,33,104,184,123,117,34,148,132,124,42,176,193,183,206,35,132,107,183,34,115,124,37,128,187 H,391284,8,800,4,16,1015675,69,1,1,1,,3,2,2,,90,120,2,150,1,240,1,,,,,3,1,6,,,,1,2,,7,2,570,8,,,,,,2,6,5900,0,4,4,4,1,7,0,,0,0,0,64,0,0,0,1,1,1,313,,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,95,98,16,49,25,88,65,76,114,94,98,69,73,103,65,12,137,89,15,17,71,52,34,135,18,80,79,61,109,38,93,81,71,182,60,32,139,111,28,83,77,54,192,99,89,79,54,47,20,48,15,74,64,48,90,141,27,23,180,165,60,86,91,53,138,58,62,134,23,84,19,100,68,19,77,81,31,23,103,43 H,391769,8,500,4,16,1015675,68,5,1,2,2,3,1,2,,170,6700,2,3,3,500,1,0,1,1300,1,1,1,6,,,,1,1,,18,2,2,2,1,104200,1,,,1,1,104200,1,1,4,1,1,4,0,5,0,0,1,17,0,1,1,2,1,1,1470,3,0,0,27,3,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,22,69,69,120,18,63,65,19,67,68,21,70,64,63,22,114,140,128,69,103,20,74,71,127,18,67,59,18,69,64,21,62,65,75,18,125,116,122,65,122,20,63,62,140,17,67,65,21,68,73,18,78,66,59,18,111,118,125,75,128,22,80,72,110,17,60,79,17,74,69,19,58,67,72,24,109,117,111,69 H,391907,8,900,4,16,1015675,14,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,13,24,13,5,11,13,5,15,26,21,19,15,19,18,16,22,5,23,5,5,17,18,18,5,14,13,4,14,22,24,27,13,12,15,15,13,4,23,5,4,13,20,12,4,13,17,6,13,20,26,18,17,18,17,14,13,5,26,5,5,13,23,17,5,17,11,5,14,22,26,23,14,10,13,11,12,6,18 H,392299,8,400,4,16,1015675,164,1,1,1,,2,2,2,,40,0,2,3,3,330,1,,,,,3,1,4,,,,1,2,,7,2,490,9,,,,,,1,4,19800,0,4,4,4,1,7,0,,0,0,0,7,0,0,0,1,1,2,111,,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,57,198,199,59,110,216,299,274,132,154,174,171,221,56,52,69,264,287,44,232,244,130,102,207,196,53,47,47,129,141,185,241,196,247,259,266,156,63,304,120,42,160,186,61,145,233,274,189,157,189,180,151,175,51,64,67,178,236,49,136,228,187,158,268,221,59,48,60,211,160,188,160,174,277,216,230,158,52,202 H,392332,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,392360,8,300,4,16,1015675,89,2,1,1,,4,2,2,,90,0,2,70,1,370,1,,,,,3,1,9,,,,1,2,,15,2,420,3,8,21000,4,,,1,3,21000,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,1,1,1,391,,0,1,31,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,86,75,26,25,20,77,161,90,28,129,88,26,86,127,168,192,91,88,30,84,93,98,155,151,149,83,27,87,132,77,78,152,110,31,27,29,86,85,143,94,77,86,25,29,25,107,164,80,27,112,80,28,89,144,138,143,74,77,29,88,85,84,149,150,134,88,31,86,159,89,79,155,91,30,29,28,78,83,127 H,392366,8,300,4,16,1015675,49,2,1,2,1,1,2,2,,80,0,2,300,2,600,1,,1,600,1,1,1,3,,,,1,1,,16,3,2,7,2,53600,4,,,1,1,53600,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,0,0,2,980,3,0,1,18,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,17,42,47,70,74,13,13,77,49,13,103,88,53,50,13,48,45,49,46,39,69,54,65,13,20,87,72,13,46,90,16,15,55,51,92,43,47,45,57,46,87,41,52,13,17,91,83,18,51,76,17,14,46,52,80,42,44,46,41,47,15,46,41,73,82,15,12,73,52,18,85,75,47,53,13,57,56,52,52 H,392624,8,700,4,16,1015675,83,4,1,1,,3,2,2,,100,0,2,100,1,1200,1,,1,700,1,1,1,5,,,,1,1,,19,2,260,6,1,75000,3,,,1,1,75000,0,3,3,3,1,2,2,4,0,0,2,15,0,0,1,0,0,1,922,3,0,1,24,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,23,87,138,23,156,90,84,82,81,82,87,23,133,91,82,144,153,81,82,88,83,129,87,82,78,133,27,25,24,25,136,81,87,23,139,80,88,135,20,24,28,87,142,24,145,83,79,90,96,84,90,23,131,72,80,148,140,91,85,88,75,140,80,74,77,149,27,26,23,23,143,91,86,24,135,83,93,145,25 H,392634,8,900,4,16,1015675,109,2,1,2,1,4,2,2,,80,0,2,80,1,850,1,,1,950,1,1,1,7,,,260,1,1,,16,2,1000,3,2,80400,4,,,1,1,80400,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,2,1453,2,0,1,27,1,7,3,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,0,1,0,32,109,189,115,207,35,105,191,162,121,132,113,113,111,29,93,185,39,107,182,185,100,34,129,31,179,103,30,36,107,97,103,101,106,205,107,33,186,114,35,31,124,204,126,218,30,121,206,181,109,109,106,83,100,29,134,188,26,123,188,206,94,34,109,30,132,94,36,31,134,105,126,126,124,191,102,32,174,93,35 H,392704,8,900,4,16,1015675,97,3,1,1,,3,2,2,,110,0,2,100,1,440,1,,1,400,1,1,1,7,,,,1,1,,14,3,600,9,1,46930,2,,,1,1,46930,0,2,2,2,1,5,1,3,0,0,1,17,0,0,1,0,0,2,660,3,0,1,20,3,4,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,29,91,80,130,33,122,88,29,103,92,34,118,105,105,28,137,197,177,83,28,173,85,86,31,155,90,89,153,98,94,166,117,100,95,189,25,32,31,102,163,30,91,81,141,30,111,88,32,85,106,24,100,98,99,26,149,166,146,82,37,160,87,106,28,180,93,85,149,103,111,186,99,100,108,171,34,33,29,80 H,392746,8,800,4,16,1015675,22,3,1,1,,2,2,2,,70,0,2,90,1,300,1,,2,600,2,1,1,4,,,,1,1,,11,2,480,9,1,55000,2,,,1,1,55000,0,2,2,2,1,5,1,3,0,0,1,19,0,0,1,0,0,2,875,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,30,6,22,8,24,21,6,24,7,33,34,23,18,24,7,20,44,18,20,35,37,7,22,7,24,22,7,22,7,43,39,25,20,20,5,20,37,21,19,5,6,37,17,39,21,23,40,15,33,6,5,21,26,20,30,19,6,22,22,6,7,37,22,36,24,23,36,23,40,7,7,21,17,22,42,24,7,27,19 H,392787,8,300,4,16,1015675,107,4,1,2,1,5,2,2,,150,0,1200,3,4,500,1,,1,430,1,1,1,9,,,340,1,1,,11,2,2,7,1,36300,2,,,3,1,36300,0,2,2,2,1,6,2,4,0,0,2,34,0,0,1,0,0,1,1020,1,0,1,14,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,28,34,92,141,94,187,115,31,122,35,30,196,115,183,94,115,174,110,96,192,31,33,126,110,107,173,116,31,118,30,28,207,94,186,108,125,159,103,120,207,34,31,123,102,100,206,96,36,114,31,30,175,105,181,98,109,166,115,122,158,32,30,98,129,110,177,114,33,139,32,28,179,100,174,98,105,174,101,113 H,392890,8,500,4,16,1015675,92,2,1,2,1,3,2,2,,80,0,450,3,4,580,1,,2,900,2,1,1,5,,,300,1,1,,18,5,2,7,1,219000,4,,,1,1,219000,0,4,4,4,1,3,0,2,0,0,0,8,0,0,0,0,0,1,1458,2,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,171,147,126,177,27,99,92,96,27,101,153,92,27,23,77,77,25,143,92,95,26,26,78,24,174,113,79,91,179,93,28,89,165,152,93,100,150,28,89,85,149,183,95,150,31,106,84,89,27,86,152,90,28,31,84,80,28,162,111,85,28,30,83,25,150,91,98,79,130,96,29,90,135,151,91,93,173,31,87 H,392909,8,400,4,16,1015675,54,2,1,1,,2,2,2,,200,0,2,200,2,1200,1,,2,1100,1,1,1,5,,,,1,1,,22,2,720,3,,,,,,1,7,46000,0,4,4,4,1,5,0,,0,1,0,43,0,0,0,0,0,2,1660,3,0,1,55,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,58,62,108,80,77,49,17,51,104,61,47,83,58,14,17,17,52,56,54,15,62,55,93,76,74,54,18,52,77,48,46,82,52,15,16,13,56,52,48,87,58,65,15,13,19,61,73,54,17,42,50,15,50,87,82,88,60,54,51,76,68,62,13,15,17,50,117,70,15,50,48,16,57,102,92,71,46,49,56,24 H,393190,8,400,4,16,1015675,58,2,1,3,1,3,2,2,,80,0,2,3,3,980,1,,1,850,1,1,1,8,,,,1,1,,17,2,2,4,4,84000,4,,,1,1,84000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,1,1,1,930,3,0,0,23,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,101,67,20,66,62,19,74,123,66,103,67,55,55,61,49,18,20,17,95,60,87,52,13,46,63,13,49,89,71,96,91,77,64,68,47,13,23,18,82,50,96,61,17,47,60,16,67,81,86,115,67,39,56,82,49,17,26,18,113,65,76,46,18,57,93,22,65,109,100,102,54,52,64,65,57,15,19,19,81 H,393292,8,100,4,16,1015675,19,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,18,5,5,5,18,21,16,15,17,37,30,23,18,7,15,34,21,21,5,36,17,5,5,5,26,18,16,15,16,35,35,34,18,5,18,28,16,19,27,6,21,38,31,35,17,13,19,15,21,6,6,5,20,29,19,5,16,18,25,5,20,35,30,38,17,18,20,18,19,4,7,5,18,29,14,5,17,20,5 H,393521,8,800,4,16,1015675,24,3,1,1,,2,2,2,,100,0,2,180,1,,1,,,,,,1,5,2,380,,1,3,,,2,660,7,1,61800,2,715,14,1,1,61800,0,2,2,2,1,4,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,23,23,46,35,23,7,28,7,49,7,22,6,27,37,37,27,6,19,40,5,7,33,18,27,32,22,29,24,22,22,7,20,9,20,24,6,19,44,24,17,22,18,5,5,22,37,18,33,7,49,22,40,22,7,9,22,48,22,7,40,44,10,23,15,7,22,8,19,23,26,39,21,29,22,24,47,27,6,31 H,393810,8,400,4,16,1015675,58,3,1,1,,3,2,2,,50,0,2,3,3,,1,,,,,,1,7,2,650,,1,3,,,3,2,5,2,27500,1,700,31,1,1,27500,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,78,90,92,65,20,47,111,70,47,69,80,26,19,19,66,72,47,64,65,17,132,85,102,61,16,65,79,67,86,90,56,15,15,17,59,52,66,52,60,78,17,23,18,47,108,59,18,64,45,15,49,116,124,98,69,64,50,69,62,107,19,15,15,65,89,67,18,56,80,19,55,106,103,99,64,55,64,51,48,17 H,394118,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,394232,8,500,4,16,1015675,59,3,1,1,,3,2,2,,80,0,2,120,1,220,1,,1,590,1,1,1,5,,,130,2,1,,16,2,40,2,7,26000,1,,,1,3,33200,0,1,1,1,1,3,1,2,0,1,1,33,3,0,1,0,0,1,923,1,0,1,26,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,104,103,73,120,53,75,74,60,15,82,91,17,56,69,14,77,22,51,15,50,51,93,50,90,78,58,98,64,18,111,99,15,51,45,21,82,18,66,15,88,47,78,56,81,60,57,121,57,20,101,105,23,73,53,18,52,17,65,27,67,51,97,55,87,52,61,102,66,16,91,93,20,65,64,21,39,15,60,15 H,394477,8,900,4,16,1015675,71,2,1,2,1,3,2,2,,80,0,2,3,3,330,1,,2,750,2,1,1,9,,,40,1,1,,17,3,600,3,1,88000,4,,,1,1,88000,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,1,0,2,1013,2,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,96,60,67,127,118,148,83,22,74,95,60,67,128,76,23,20,21,77,93,82,78,72,87,26,18,20,83,148,52,15,61,61,21,76,118,122,133,77,33,66,64,68,79,111,127,145,78,20,80,104,78,98,126,66,20,19,20,67,131,57,57,72,93,20,17,23,77,112,58,22,64,68,24,80,125,140,109,54,19 H,394583,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,395033,8,400,4,16,1015675,549,1,1,1,,3,2,2,,40,0,2,110,1,200,1,,1,720,1,1,1,5,,,120,1,1,,15,1,750,2,,,,,,1,4,24000,0,4,4,4,1,4,0,,0,0,0,53,0,0,0,0,0,2,1053,4,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,704,953,672,241,635,561,138,555,689,989,635,799,490,436,549,547,256,259,226,249,466,260,646,648,609,398,801,522,131,148,208,552,612,421,509,626,473,532,1003,726,503,799,513,200,852,688,171,697,991,823,605,464,469,602,595,470,237,269,184,220,463,220,595,629,548,513,893,522,110,201,161,538,669,513,579,815,650,609,847,875 H,395100,8,500,4,16,1015675,100,1,1,1,,3,1,2,,20,960,2,3,3,,1,,,,,,1,5,2,450,,1,3,,,2,1,4,,,,470,28,1,4,19900,0,4,4,4,1,6,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,37,122,106,32,103,143,29,32,185,107,100,147,110,151,92,88,95,29,32,106,199,113,89,158,110,28,155,156,30,111,98,34,135,28,86,96,99,170,33,126,170,109,119,176,106,35,183,159,26,101,97,28,106,34,89,77,95,169,171,99,28,101,100,31,98,173,36,29,152,109,98,156,86,167,93,108,119,28,167 H,395163,8,600,4,16,1015675,105,1,1,1,,4,2,2,,190,0,2,100,1,500,1,,2,630,2,1,1,7,,,630,1,1,,16,1,90,4,,,,,,1,6,29100,0,4,4,4,1,5,0,,0,0,0,76,0,0,0,1,1,1,1850,1,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,188,179,29,104,195,33,34,113,98,176,114,102,102,115,173,99,115,31,107,190,31,31,197,103,27,175,192,104,107,33,98,94,105,105,28,105,106,187,96,186,33,32,176,100,33,173,165,117,111,29,106,101,106,94,27,118,101,188,108,31,171,166,28,100,173,32,33,120,102,167,104,108,123,108,191,95,107,37,109 H,395375,8,500,4,16,1015675,107,5,1,2,1,4,2,2,,80,0,2,270,1,940,1,,1,120,1,1,1,9,,,,1,1,,20,4,2,4,1,78600,2,,,1,1,78600,0,2,2,2,1,4,3,5,0,0,3,7,0,0,1,0,0,1,470,3,0,1,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,106,108,189,30,192,107,32,29,32,100,161,30,108,121,125,108,163,163,183,207,168,28,99,109,103,33,114,120,107,186,116,111,31,159,33,31,109,104,104,111,122,104,31,155,33,100,190,180,185,98,32,160,101,96,110,112,31,33,29,31,27,180,119,97,99,205,98,118,104,29,136,119,177,35,182,176,112,115,122 H,395445,8,400,4,16,1015675,107,2,1,2,5,2,2,2,,60,0,580,30,2,250,1,,2,700,2,1,1,4,,,,1,1,,16,3,2,4,1,59400,4,,,4,1,59400,0,4,4,4,1,6,0,2,0,0,0,19,0,0,0,1,1,1,947,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,134,31,155,43,165,199,108,114,121,42,142,294,125,142,168,29,79,20,83,145,86,32,96,29,155,125,158,93,97,25,81,195,115,218,191,37,132,34,91,62,84,38,109,31,147,305,216,137,115,30,64,188,119,198,206,35,109,25,74,158,212,20,120,32,188,145,76,111,78,45,99,126,114,127,169,29,105,37,125,100 H,395480,8,600,4,16,1015675,89,2,1,1,,3,2,2,,50,0,2,100,1,350,2,,2,800,2,1,2,6,,,,1,1,,22,2,30,7,2,57000,4,,,1,1,57000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,1107,3,0,1,27,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,153,25,90,27,78,156,90,150,23,99,147,151,89,83,92,84,90,25,159,87,25,161,82,153,81,26,89,25,147,89,24,25,85,101,87,86,91,142,23,84,134,25,88,30,89,148,95,130,25,83,149,160,91,86,81,85,86,24,156,87,26,162,95,154,97,25,80,26,157,84,23,26,91,90,83,87,86,156,25 H,395494,8,200,4,16,1015675,20,2,1,1,,2,2,2,,150,0,680,3,6,140,1,,1,760,1,1,1,5,,,,1,1,,14,3,900,5,,,,,,1,7,49000,0,4,4,4,1,4,0,,0,1,0,26,3,0,0,0,0,2,1042,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,17,32,30,7,19,23,20,7,24,7,26,23,32,20,20,20,37,29,25,28,30,16,9,24,5,7,44,21,27,19,39,36,16,30,7,5,23,33,7,6,22,40,21,5,20,19,19,7,19,7,27,17,33,17,20,20,37,41,21,20,36,16,6,31,7,7,36,20,39,23,19,27,27,35,5,8,25,23,5 H,395701,8,300,4,16,1015675,40,2,1,3,6,3,2,2,,60,0,2,3,6,500,1,,,,,3,1,8,,,,1,2,,24,5,2,9,1,26100,4,,,3,1,26100,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,0,0,2,252,,0,0,30,1,8,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,10,14,86,41,11,86,75,31,32,13,47,44,42,35,12,43,28,41,58,84,10,11,67,34,8,49,77,41,38,17,39,46,53,41,14,48,47,57,49,40,92,64,10,38,87,12,11,50,48,59,31,38,42,33,62,39,42,13,17,30,73,86,11,40,76,12,9,41,48,58,33,32,35,33,61,47,42,14,12,37 H,395914,8,800,4,16,1015675,73,1,1,1,,4,2,2,,40,0,2,60,1,1200,1,,,,,3,1,7,,,,1,2,,15,1,490,4,,,,,,1,6,28300,0,4,4,4,1,3,0,,0,0,0,14,0,0,0,1,1,1,341,,0,1,24,,,,1,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,25,56,70,78,104,24,83,61,138,71,115,113,20,23,80,75,76,54,142,21,22,64,74,79,119,20,92,82,125,73,106,108,22,20,90,84,74,83,141,143,116,71,65,62,21,146,70,58,26,77,20,21,118,111,81,81,70,58,21,128,131,79,73,80,23,139,83,90,24,76,25,23,108,129,78,69,79,72,17,22 H,396022,8,800,4,16,1015675,82,3,1,1,,3,2,2,,90,0,2,200,1,750,1,,1,2700,1,1,1,6,,,500,1,1,,22,3,640,9,1,135500,2,,,1,1,135500,0,2,2,2,1,5,1,3,0,0,1,31,0,0,1,0,0,2,3543,2,0,1,39,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,140,73,81,82,77,153,84,73,23,27,147,131,24,87,135,26,29,94,81,98,26,85,74,77,91,22,87,77,150,157,20,27,126,70,27,139,113,93,105,85,22,87,102,85,88,20,79,80,121,125,24,25,144,79,26,138,154,76,74,67,131,102,82,68,84,138,94,90,24,27,148,131,30,72,134,24,27,83,69 H,396034,8,200,4,16,1015675,51,3,1,1,,3,2,2,,40,0,2,120,1,390,1,,1,1100,1,1,1,6,,,,1,1,,17,2,50,2,1,35580,2,,,1,1,35580,0,2,2,2,1,2,1,3,0,0,1,43,0,0,1,0,0,1,1264,3,0,1,38,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,65,36,50,56,49,45,16,24,19,62,108,54,12,46,61,12,46,98,90,63,104,65,69,47,48,44,13,16,12,42,98,56,19,47,52,19,64,72,67,84,76,55,46,45,64,53,14,15,15,54,102,53,12,43,57,19,58,94,96,87,97,57,63,46,42,62,20,20,14,40,76,48,15,62,45,15,45,60,71 H,396305,8,600,4,16,1015675,104,5,1,1,,3,2,2,,30,0,2,60,1,1400,1,,1,1000,1,1,1,6,,,,1,1,,16,3,90,7,1,152000,2,,,1,1,152000,1,2,4,2,1,3,0,5,0,0,1,9,0,1,1,0,0,1,1098,3,0,1,67,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,186,28,186,104,98,106,105,105,106,30,182,104,115,193,171,101,27,29,109,30,98,103,107,29,178,172,164,163,31,108,106,189,30,97,100,30,103,103,178,102,30,179,28,101,110,104,100,95,103,166,29,100,106,32,31,109,171,173,103,177,114,97,100,174,30,34,27,29,179,96,101,31,179,110,108,168,105,108,32 H,396360,8,500,4,16,1015675,73,4,1,1,,3,2,2,,100,0,300,3,4,350,1,,1,920,1,1,1,7,,,,1,1,,15,2,2,2,4,40880,4,,,1,1,40880,0,4,4,4,1,2,0,4,0,0,0,31,0,0,0,2,2,1,1045,3,0,1,15,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,76,24,21,22,67,63,74,62,80,121,109,126,78,22,78,132,76,70,21,129,70,22,21,23,69,76,70,77,69,121,140,121,73,23,74,138,75,74,22,136,84,23,21,18,72,68,73,70,67,125,119,125,72,18,70,127,74,76,20,138,62,22,21,21,72,69,75,79,78,129,148,130,77,23,86,120,81,82,25 H,396457,8,700,4,16,1015675,87,1,1,1,,3,2,1,,30,0,2,110,1,280,1,,2,570,1,1,1,6,,,,1,1,,18,1,1000,3,,,,,,1,6,50800,0,4,4,4,1,5,0,,0,0,0,19,0,0,0,0,0,1,816,3,0,0,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,27,93,139,25,26,147,83,81,149,88,138,85,94,89,26,91,26,88,83,28,156,92,25,153,156,27,91,77,26,91,28,83,88,87,147,82,144,85,88,149,25,85,147,27,27,135,82,92,155,92,142,91,88,91,26,88,27,94,88,22,158,83,28,136,164,27,80,90,23,86,25,91,93,86,153,82,155,82,87,142 H,396783,8,800,4,16,1015675,52,2,1,1,,3,2,2,,50,0,2,3,3,320,1,,1,510,1,1,1,4,,,640,1,1,,12,2,420,5,1,58200,4,,,1,1,58200,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,0,0,1,1235,2,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,47,49,98,50,13,109,131,16,53,69,14,41,14,39,45,46,67,61,97,15,67,46,15,71,89,12,13,94,53,57,79,39,80,61,47,61,22,43,15,106,51,50,82,48,13,94,100,21,51,49,17,63,14,43,61,53,61,53,114,13,69,51,17,48,87,19,15,83,41,51,74,44,105,72,51,38,15,40,14 H,396984,8,100,4,16,1015675,90,1,1,,,0,6,,,50,0,1,1,3,,1,,,,,,1,1,2,500,,1,3,,,1,1,6,,,,550,22,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,26,31,107,102,181,102,81,96,92,145,94,95,22,25,116,114,28,95,105,31,178,162,93,94,25,76,81,80,80,29,100,82,155,173,23,22,190,83,116,136,29,31,66,82,148,96,103,105,82,166,80,83,30,26,154,145,28,109,103,23,166,128,89,98,22,116,89,88,91,24,83,94,159,129,27,28,137,83,85 H,397106,8,800,4,16,1015675,125,1,1,1,,3,2,2,,40,0,50,3,3,200,1,,,,,3,1,5,,,,1,2,,14,3,150,6,,,,,,1,4,46200,0,4,4,4,1,7,0,,0,0,0,3,0,0,0,0,0,1,107,,0,1,10,,,,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,40,132,33,40,137,41,184,128,125,113,212,131,40,123,225,210,100,118,188,107,196,132,221,212,115,244,44,147,115,122,33,136,225,128,40,38,124,170,34,131,43,136,38,40,122,36,213,137,111,133,224,109,42,141,196,220,149,138,198,145,193,114,254,189,130,191,42,107,114,120,35,108,211,119,35,40,128,122,46,154 H,397493,8,500,4,16,1015675,41,2,1,,,2,6,,,20,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,1,60,2,5,6400,2,425,80,1,2,6400,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,11,10,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,40,94,53,38,71,13,34,44,52,14,35,67,35,12,14,68,37,11,70,54,31,76,65,40,68,11,32,34,41,22,56,70,44,13,12,50,45,11,54,32,53,69,60,39,126,13,49,39,34,12,40,60,33,9,15,46,51,13,84,42,41,56,83,46,85,11,41,37,32,11,55,85,42,9,15,43,50,13,50,40 H,397699,8,300,4,16,1015675,367,7,1,1,,5,2,2,,40,0,2,70,1,300,1,,1,720,1,1,1,7,,,,1,1,,13,3,230,6,1,112600,3,,,1,1,112600,0,3,3,3,1,4,5,7,0,0,5,9,0,0,1,0,0,2,849,3,0,1,22,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,528,619,111,539,301,411,114,139,147,379,552,544,96,426,578,375,322,423,328,641,332,376,317,331,101,584,379,407,497,163,574,349,265,165,318,132,129,514,497,354,108,113,608,126,341,430,433,502,642,371,426,152,587,461,146,394,408,355,268,117,413,411,401,420,428,139,308,370,371,633,175,372,297,510,385,513,541,160,90,337 H,397884,8,800,4,16,1015675,181,3,1,1,,2,2,2,,100,0,2,3,3,1000,1,,2,730,1,1,1,4,,,,1,1,,14,2,480,5,2,235000,1,,,1,1,235000,0,1,1,1,1,3,1,3,0,0,1,5,0,0,1,0,0,2,953,3,0,1,18,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,264,156,59,45,65,238,156,193,194,199,215,262,317,201,60,253,392,165,175,383,54,232,337,386,230,183,240,150,218,154,40,56,47,173,274,165,53,201,212,221,47,145,315,246,229,187,180,261,213,259,69,82,80,163,189,196,85,164,166,71,267,241,64,95,58,174,164,144,192,132,247,351,283,155,67,143,256,232,168,49 H,397911,8,800,4,16,1015675,59,2,1,1,,3,2,2,,50,0,2,110,1,290,1,,2,620,2,1,1,5,,,,1,1,,18,2,500,2,4,48720,4,,,1,1,48720,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,2,2,1,997,3,0,1,30,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,98,106,64,17,62,110,64,65,105,70,19,13,16,68,54,58,71,70,90,18,14,15,67,103,56,19,58,63,19,60,94,95,114,60,56,72,58,64,24,108,108,117,64,17,60,81,56,60,113,61,17,20,19,50,62,59,66,59,89,18,20,19,53,86,59,15,61,67,19,67,99,99,109,50,58,56,58,55,14 H,398708,8,800,4,16,1015675,277,1,1,1,,3,2,2,,40,0,2,70,1,450,1,,1,700,1,1,1,6,,,,1,1,,17,2,720,2,,,,,,1,6,51000,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,0,0,2,870,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,487,311,491,77,308,273,257,73,220,460,294,101,98,283,296,100,345,227,501,282,490,328,486,76,286,289,268,73,307,419,261,84,87,243,295,77,482,290,409,250,84,253,83,406,258,320,297,419,313,84,312,487,547,313,307,423,82,330,63,272,64,283,72,477,349,251,261,442,309,94,289,543,461,284,253,446,62,295,88,337 H,398821,8,800,4,16,1015675,44,2,1,1,,4,2,2,,40,0,2,120,1,300,1,,1,230,1,1,1,7,,,200,1,1,,12,1,40,8,8,0,4,,,1,3,0,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,2,1,593,2,0,1,6,0,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,41,13,63,42,47,17,48,58,67,49,43,18,54,61,54,61,51,13,47,11,12,36,37,18,60,38,56,69,59,62,19,42,59,52,15,45,66,55,21,52,41,15,55,45,46,13,42,46,66,35,46,19,80,59,37,90,35,19,41,18,17,45,51,12,74,49,64,67,42,59,13,56,40,40,20,49,56,35,12 H,398928,8,800,4,16,1015675,233,2,1,1,,2,3,2,,30,0,2,40,1,2000,1,,1,1600,2,1,1,5,,,,1,1,,22,2,480,8,1,82000,4,,,1,1,82000,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,2,1819,3,0,1,25,2,4,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,224,71,210,247,62,230,349,60,77,421,184,211,392,209,305,189,239,205,71,392,311,79,246,259,72,271,465,89,83,362,207,245,341,242,331,212,236,231,88,67,217,300,261,214,372,205,58,443,375,73,208,304,59,222,78,200,255,219,429,66,203,324,202,206,424,263,74,376,389,73,229,233,80,236,80,257,251,228,438,375 H,399028,8,800,4,16,1015675,77,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,133,125,24,69,136,22,22,76,85,140,70,71,81,75,123,75,78,22,96,126,29,21,146,77,18,142,108,75,75,21,73,73,81,68,25,74,74,143,78,22,132,126,22,58,126,23,22,77,82,138,72,81,76,68,147,77,84,23,71,126,27,25,125,67,23,151,152,74,69,25,78,76,65,74,24,74,79,119,83 H,399892,8,300,4,16,1015675,61,6,1,1,,4,2,2,,130,0,300,3,3,580,1,,1,1300,1,1,1,9,,,,1,1,,18,3,30,4,2,86400,2,,,1,1,86400,0,2,2,2,1,5,4,6,0,0,4,20,0,0,1,0,0,1,1458,3,0,1,40,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,15,57,67,18,72,56,21,59,69,57,18,105,110,93,88,19,52,53,67,113,14,65,52,20,60,58,18,60,74,61,16,121,102,102,96,20,63,53,51,15,105,57,66,115,55,61,107,54,58,60,98,18,17,20,20,100,65,71,73,18,87,55,56,113,66,66,101,60,53,65,88,22,16,16,16,104,68,71,66 H,400027,8,900,4,16,1015675,99,2,1,2,1,2,2,2,,30,0,2,100,1,600,1,,1,590,1,1,1,5,,,,1,1,,12,2,240,9,2,46720,4,,,1,1,46720,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,2,2,740,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,139,101,92,110,29,107,90,186,168,25,32,187,109,30,141,161,104,107,88,158,78,87,127,121,157,104,101,31,31,150,123,27,85,162,33,24,108,131,86,27,96,112,86,96,29,112,111,178,159,35,32,154,91,44,164,140,130,90,151,145,94,91,93,129,141,75,86,28,28,176,187,32,106,173,34,31,77,85,102 H,400113,8,400,4,16,1015675,187,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,63,277,304,56,172,178,63,162,58,205,170,185,277,157,298,211,214,287,57,187,58,343,292,64,203,186,56,177,69,170,168,189,296,206,317,195,191,321,372,157,265,64,54,326,229,213,350,142,350,163,168,175,56,223,48,166,178,51,289,190,272,70,63,266,202,186,340,188,293,214,161,172,58,183,59,203,185,56,60 H,400114,8,800,4,16,1015675,39,2,1,1,,3,2,2,,20,450,1,1,1,,1,,,,,,1,6,2,400,,1,3,,,1,1,5,7,35400,2,420,14,1,3,35400,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,66,36,33,62,42,15,69,77,16,49,36,10,40,10,37,46,39,65,41,13,62,36,50,72,40,15,70,73,12,38,41,15,39,10,43,36,40,76,36,12,76,37,41,62,52,10,56,87,11,40,40,12,39,11,41,38,39,53,40,13,68,42,38,83,37,12,72,58,12,43,42,10,44,16,42,47,41,80,45,12 H,400251,8,600,4,16,1015675,70,2,1,1,,3,2,2,,50,0,600,4,1,200,1,,1,300,1,1,1,7,,,,1,1,,16,2,810,8,8,22500,4,,,1,3,22500,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,1,1,1,472,3,0,1,27,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,21,118,71,65,21,76,21,23,109,114,78,68,65,69,20,106,67,74,18,69,120,22,76,69,118,76,118,117,22,21,66,66,68,73,122,22,66,77,128,73,20,120,77,63,20,69,20,22,109,114,70,64,75,67,19,121,67,70,20,65,119,20,68,74,134,66,118,132,22,20,75,71,74,70,124,20,69,77,109 H,400285,8,100,4,16,1015675,39,3,1,1,,3,2,2,,30,0,2,100,1,1200,1,,,,,3,1,6,,,,1,2,,14,1,620,9,8,32100,4,,,1,3,32100,0,4,4,4,1,7,0,3,0,0,0,11,0,0,0,2,1,2,282,,0,1,1,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,43,69,65,43,70,55,35,44,39,39,78,42,73,42,83,71,67,65,37,30,32,11,8,36,13,10,35,40,37,45,15,39,10,36,13,13,11,10,41,40,32,12,11,44,16,10,34,41,39,38,12,44,9,35,14,14,13,11,44,49,42,51,57,38,64,62,39,39,38,46,67,36,56,38,86,68,49,55,46 H,401254,8,500,4,16,1015675,64,2,1,1,,3,1,2,,40,0,2,60,2,400,1,0,1,700,1,1,1,5,,,,1,1,,14,2,390,2,1,52000,4,,,1,1,52000,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,0,0,1,833,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,96,99,15,55,102,19,18,55,67,86,65,61,60,73,111,82,55,18,59,128,18,19,136,60,20,128,113,58,58,19,59,69,74,61,20,60,66,135,61,18,100,134,18,59,112,23,19,64,63,108,60,56,62,61,102,66,59,21,71,92,20,15,101,74,20,114,106,64,54,19,62,66,59,57,19,68,67,107,66 H,401643,8,700,4,16,1015675,94,2,1,1,,3,2,2,,10,0,2,40,1,360,1,,2,820,2,1,1,5,,,,1,1,,17,2,370,3,1,26600,4,,,3,1,26600,0,4,4,4,1,1,0,2,0,0,0,46,0,0,0,0,0,1,1018,3,0,1,22,2,5,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,166,89,98,85,164,27,158,99,29,28,31,87,139,25,95,89,84,89,154,99,101,176,169,27,101,104,94,27,111,95,96,148,83,100,29,161,23,29,101,161,143,102,108,91,154,26,154,86,28,32,25,83,176,30,88,95,102,87,161,83,104,168,154,30,108,90,90,26,87,93,99,174,91,91,26,155,30,24,89 H,401842,8,200,4,16,1015675,193,4,1,2,1,4,2,2,,10,0,2900,10,2,600,1,,2,840,2,1,1,8,,,,1,1,,19,3,2,3,2,51500,3,,,1,1,51500,0,3,3,3,1,4,2,4,0,0,2,32,0,0,1,0,0,1,1352,3,0,1,36,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,51,162,61,232,205,50,166,262,70,85,363,162,172,353,176,352,239,243,379,216,57,213,70,195,185,47,192,289,51,74,272,151,218,291,140,278,229,243,285,280,62,146,48,218,193,46,144,287,90,99,345,158,175,377,181,331,208,246,419,239,55,255,59,153,245,54,149,248,45,62,242,186,258,244,156,315,235,293,303 H,401856,8,300,4,16,1015675,29,1,1,1,,2,2,2,,70,0,700,3,2,420,1,,1,800,1,1,1,6,,,,1,1,,16,2,600,8,,,,,,1,4,30100,0,4,4,4,1,3,0,,0,0,0,39,0,0,0,0,0,1,978,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,35,29,35,30,8,8,8,36,75,24,10,26,24,8,24,40,43,51,50,30,27,28,38,23,8,9,6,45,69,23,8,31,28,8,25,51,54,58,11,38,39,23,26,31,45,49,63,44,9,32,51,20,26,65,23,6,8,9,8,37,31,21,21,28,59,49,54,34,10,37,48,26,28,49,23,7,8,9,50 H,402072,8,500,4,16,1015675,94,3,1,2,1,2,2,2,,60,0,2,10,3,600,1,,2,1100,2,1,1,4,,,120,1,1,,18,2,2,9,1,78000,4,,,1,1,78000,0,4,4,4,1,6,0,3,0,0,0,22,0,0,0,1,1,1,1423,1,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,170,89,96,32,154,76,96,148,105,98,167,92,93,86,167,25,29,29,171,85,92,171,28,94,81,25,30,100,176,158,101,25,146,32,98,107,91,92,85,28,155,94,83,32,153,92,84,161,99,100,159,104,80,87,159,27,32,31,143,93,92,162,26,86,89,26,30,91,191,173,92,28,159,26,104,88,110,85,97 H,402467,8,200,4,16,1015675,48,4,1,1,,3,2,2,,40,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,10,1,480,6,6,21000,2,,,5,2,44000,1,2,4,2,1,7,0,3,0,1,1,2,0,1,1,1,1,2,80,,0,1,1,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,86,58,16,30,57,47,17,47,68,42,51,15,60,42,41,44,15,64,54,53,17,14,95,94,15,58,52,12,21,53,53,78,39,42,50,54,63,53,49,49,17,17,73,79,19,61,63,15,16,39,42,79,44,43,48,50,85,55,41,51,82,96,14,15,71,55,18,64,74,55,48,17,54,43,43,38,14,49,34,36 H,402619,8,200,4,16,1015675,140,1,1,1,,2,1,2,,30,0,2,3,3,,1,,,,,,1,3,2,350,,1,3,,,1,1,5,,,,380,37,1,6,12200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,236,130,173,161,192,163,67,130,285,299,204,122,257,44,101,72,79,99,39,164,46,126,148,103,45,138,213,187,42,34,106,105,46,174,103,228,200,125,227,198,93,152,117,172,52,172,223,103,54,46,188,138,46,193,108,327,275,106,220,121,190,135,137,162,191,120,53,107,185,275,157,140,199,41,103,54,52,117,37,151 H,402798,8,700,4,16,1015675,75,1,1,1,,3,2,2,,90,0,2,20,1,1000,1,,,,,3,1,5,,,,1,2,,15,2,680,2,,,,,,1,6,7010,0,4,4,4,1,3,0,,0,0,0,56,0,0,0,1,1,2,325,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,74,69,82,125,67,146,76,79,134,76,21,128,123,23,72,77,19,71,22,21,75,76,80,128,81,142,73,78,139,72,22,123,120,21,72,84,22,73,128,123,79,79,73,22,72,22,77,75,24,72,121,24,23,123,79,72,124,75,131,122,79,75,70,22,65,23,73,74,22,68,128,21,24,133,71,78,139,80,22 H,403091,8,500,4,16,1015675,111,3,1,1,,3,2,2,,90,0,2,160,1,350,1,,2,670,2,2,1,6,,,,1,1,,12,2,370,9,1,25600,2,,,4,1,25600,0,2,2,2,1,1,1,3,0,0,1,51,0,0,1,0,0,1,1088,3,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,30,116,204,181,119,33,191,32,112,105,100,110,115,125,223,30,100,100,109,132,99,170,109,112,182,111,114,130,189,34,36,36,33,165,114,105,33,183,177,37,35,110,196,164,116,30,189,34,114,103,113,101,104,101,197,32,116,123,97,119,91,195,129,102,176,120,98,129,188,31,40,38,32,210,111,103,34,201,208 H,403683,8,300,4,16,1015675,83,7,1,1,,5,2,2,,70,0,2,3,3,250,1,,1,640,1,1,1,9,,,,1,1,,14,1,360,7,2,44240,3,,,1,1,44240,0,3,3,3,1,5,5,7,0,0,5,20,0,0,1,0,0,1,740,3,0,1,22,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,83,137,81,151,161,26,29,75,87,72,79,135,23,88,80,84,140,21,136,85,74,24,83,24,23,153,131,75,93,92,84,23,130,82,92,99,24,116,26,76,78,132,77,164,138,21,24,76,84,73,79,125,25,99,80,81,144,25,185,80,69,24,101,27,23,131,135,97,78,81,80,25,141,86,82,71,26,148,22 H,403692,8,800,4,16,1015675,78,1,1,1,,3,2,2,,30,0,2,170,1,,1,,,,,,1,5,2,1100,,1,3,,,1,370,2,,,,1331,22,1,4,72000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,28,58,66,85,77,88,118,139,129,84,29,67,120,93,88,131,69,19,22,20,29,68,77,79,78,94,181,143,125,81,20,64,117,77,81,136,77,26,23,20,24,68,70,81,83,101,144,116,153,77,23,69,120,74,87,133,73,19,21,23,28,74,84,104,75,85,149,161,120,77,23,73,122,88,74,121,79,24,23,30 H,403843,8,500,4,16,1015675,43,5,1,1,,1,2,2,,90,0,2,100,2,600,1,,2,360,2,1,1,3,,,,1,1,,11,1,600,8,3,20540,2,,,2,1,20540,0,2,2,2,2,6,3,5,0,0,3,45,0,0,1,1,1,2,767,3,0,1,26,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,108,11,35,69,35,49,41,51,72,11,41,52,12,13,38,99,77,38,48,38,54,47,18,92,57,47,67,15,42,46,60,10,35,60,17,30,34,18,52,17,79,12,35,47,34,48,48,35,64,13,39,54,12,13,30,101,61,32,51,52,49,44,13,73,80,52,62,13,43,62,82,15,43,56,14,40,35,11,61 H,404102,8,400,4,16,1015675,175,2,1,2,1,2,2,2,,70,0,2,160,2,1300,1,,,,,3,1,6,,,,1,2,,22,2,2,2,4,36000,4,,,1,1,36000,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,1,0,2,745,,0,1,60,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,56,148,160,198,215,261,199,262,53,328,65,183,57,56,171,183,171,186,187,187,181,290,61,49,184,195,285,199,189,133,150,280,156,184,48,51,261,257,68,309,59,210,194,170,313,377,173,281,59,278,45,127,46,50,157,190,166,163,179,169,159,267,50,44,155,205,291,165,204,189,180,375,177,159,57,52,259,317,49,327 H,404131,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,404204,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,404232,8,400,4,16,1015675,46,2,1,3,1,4,2,2,,100,0,50,3,6,450,1,,2,510,2,1,1,5,,,,1,1,,12,3,2,7,4,23600,4,,,1,1,23600,0,4,4,4,1,5,0,2,0,0,0,36,0,0,0,2,2,1,704,3,0,0,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,44,14,15,15,46,45,50,41,45,72,76,78,42,12,41,86,54,44,66,14,42,81,71,77,58,42,45,44,55,17,13,17,47,81,45,13,46,41,83,14,42,79,65,82,59,43,50,41,52,14,14,13,43,73,38,12,49,50,15,85,41,15,15,13,54,42,47,42,43,91,71,77,44,12,47,70,53,55,15 H,404553,8,500,4,16,1015675,41,2,1,1,,2,2,2,,40,0,2,10,2,650,1,,1,400,1,1,1,3,,,,1,1,,14,3,170,4,1,92500,4,,,1,1,92500,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,2,464,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,52,8,68,41,81,32,11,50,13,56,37,11,12,44,62,36,39,40,90,57,40,12,69,39,65,31,9,40,21,87,37,12,12,37,49,42,38,31,9,15,38,62,11,69,13,45,65,37,63,12,36,58,53,50,45,47,43,46,11,12,31,82,11,47,10,39,59,34,65,15,49,68,53,50,42,48,40,29,61 H,404917,8,100,4,16,1015675,74,2,1,1,,2,1,2,,40,0,2,3,6,180,1,210,,,,3,1,4,,,,1,2,,4,2,2,4,2,19400,4,,,1,1,19400,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,0,1,91,,0,0,6,1,6,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,127,82,73,70,106,58,20,84,120,121,71,72,121,22,70,24,23,89,24,76,19,80,70,70,22,84,112,65,25,27,66,80,22,126,67,133,126,69,118,74,127,66,81,75,135,68,20,86,120,120,64,68,127,23,78,22,24,77,23,71,21,77,76,72,24,84,103,66,24,23,88,74,19,124,70,131,112,75,128,70 H,405056,8,900,4,16,1015675,50,3,1,1,,2,2,2,,100,0,2,50,2,600,1,,1,650,1,1,1,7,,,,1,1,,14,3,2,5,2,42000,1,,,1,1,42000,0,1,1,1,1,3,1,3,0,0,1,23,0,0,1,0,0,2,800,3,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,37,46,78,97,121,47,17,56,94,42,62,86,57,14,11,12,55,57,45,75,55,50,13,16,12,47,99,52,16,49,47,18,61,102,70,68,46,53,52,104,45,34,13,18,18,57,92,49,15,46,42,17,52,98,97,108,49,41,52,17,52,54,91,73,70,59,15,47,72,58,58,80,36,12,19,16,49,54,45,22 H,405064,8,600,4,16,1015675,114,1,1,,,1,9,,,70,0,2,2,1,,1,,,,,,1,4,2,500,,1,3,,,0,1,3,,,,570,17,1,4,41000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,34,31,197,35,109,114,201,219,194,121,116,30,209,115,33,112,112,117,34,36,99,113,117,111,188,34,120,118,131,201,39,110,118,212,98,167,166,35,113,120,32,32,193,35,113,120,155,173,197,114,115,37,199,126,37,130,119,114,32,37,132,113,115,113,177,35,111,101,115,178,32,110,102,197,124,197,216,35,117 H,405409,8,800,4,16,1015675,81,2,1,1,,4,2,2,,40,0,2,3,3,400,1,,,,,3,1,5,,,,1,2,,13,1,2,7,4,18200,4,,,1,1,18200,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,2,2,1,87,,0,1,5,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,41,94,75,139,141,25,23,131,75,24,116,110,54,67,27,55,69,100,97,67,150,109,79,23,25,140,128,23,128,134,21,25,75,84,126,70,95,94,61,91,24,66,94,171,96,24,27,109,79,26,118,144,70,63,27,73,65,78,93,75,121,75,122,30,22,138,139,17,108,135,22,28,88,112,181,71,92,86,78 H,405639,8,100,4,16,1015675,99,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,109,31,155,146,166,159,33,102,98,170,31,99,96,27,116,109,28,97,105,101,106,28,175,161,157,198,25,96,94,169,33,91,109,30,91,92,23,95,101,102,93,174,31,29,33,28,170,112,102,30,150,90,107,168,102,99,164,104,97,102,112,151,30,31,28,30,168,101,96,26,189,95,92,163,113,90,148,92,103 H,405917,8,700,4,16,1015675,70,4,1,1,,4,2,2,,50,0,2,210,1,530,1,,1,1300,1,1,1,9,,,,1,1,,18,3,120,2,1,86000,3,,,1,1,86000,0,1,1,1,1,3,2,4,0,0,2,22,0,0,1,0,0,1,1570,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,72,22,70,69,68,117,67,117,65,71,121,74,20,108,118,21,70,75,127,108,74,113,70,65,72,19,70,20,73,73,21,73,121,22,24,113,70,66,23,22,66,20,72,66,66,124,68,123,79,65,124,71,19,118,112,19,66,70,116,116,69,119,74,73,69,20,75,21,76,73,20,68,123,20,20,127,72,62,20 H,406206,8,300,4,16,1015675,232,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,345,60,223,352,83,71,229,234,450,242,269,218,239,389,219,229,78,68,356,205,70,375,219,63,371,404,214,241,74,237,229,205,246,62,241,217,404,388,73,223,77,364,228,62,353,318,241,214,74,234,236,224,235,66,274,203,365,413,78,261,369,65,201,356,76,72,244,243,385,235,252,210,236,375,246,224,68,72,387,240 H,406221,8,100,4,16,1015675,113,4,1,1,,3,2,2,,80,0,2,110,1,640,1,,1,1600,1,1,1,7,,,,1,1,,20,5,360,3,1,60100,2,,,1,1,60100,0,2,2,2,1,5,1,4,0,0,1,36,0,0,1,0,0,1,1820,3,0,1,27,3,2,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,36,123,127,118,34,211,39,132,182,184,214,101,30,198,115,102,117,132,122,39,37,116,125,109,31,156,32,96,183,207,159,121,36,189,111,97,143,111,118,35,36,111,114,97,38,172,36,124,208,167,199,109,34,184,122,107,109,120,147,33,32,97,110,109,32,210,32,111,243,212,211,135,34,175,116,130,100,107,102 H,406542,8,100,4,16,1015675,88,1,1,1,,4,2,2,,60,0,500,10,6,700,1,,,,,3,1,9,,,,1,2,,17,2,2,5,,,,,,1,4,0,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,212,,0,1,12,,,,1,0,1,0,0,0,1,0,1,1,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,95,29,27,117,22,121,66,106,123,140,80,112,26,170,87,32,105,84,95,141,162,83,85,97,95,31,152,88,96,75,20,161,77,86,24,66,31,29,160,114,109,26,20,135,31,78,101,150,139,153,84,82,34,116,87,29,83,93,101,191,169,93,66,77,75,25,118,112,93,91,37,104,96,85,28,109,23,22,115,83 H,406547,8,300,4,16,1015675,13,2,1,1,,2,2,2,,130,0,2,3,3,330,1,,2,380,2,1,1,5,,,,1,1,,7,2,800,9,3,17200,4,,,1,1,17200,0,4,4,4,1,5,0,2,0,0,0,42,0,0,0,1,1,2,605,3,0,1,2,1,8,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,13,3,17,21,3,12,13,3,10,3,11,12,13,32,17,21,15,13,21,3,13,4,26,23,3,14,11,3,13,3,13,14,13,20,10,20,13,11,19,18,14,20,3,5,21,15,12,18,15,18,11,14,14,3,11,3,16,14,5,31,12,17,3,3,17,11,11,22,14,22,10,14,12,4,13,4,17,15,3,5 H,407168,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,407209,8,500,4,16,1015675,272,2,1,1,,3,2,2,,90,0,2,50,1,380,1,,1,1100,1,1,1,5,,,,1,1,,15,1,230,3,1,62730,4,,,1,1,62730,0,4,4,4,1,4,0,2,0,0,0,24,0,0,0,0,0,2,1259,3,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,298,258,110,91,78,298,467,282,82,299,268,80,282,405,396,389,259,251,81,283,259,271,403,425,515,341,71,273,534,282,272,458,289,78,82,89,260,275,460,254,262,321,85,77,92,313,432,265,77,252,267,80,287,541,430,409,279,285,98,250,277,301,421,429,450,270,85,234,391,283,280,458,238,79,79,81,305,328,445 H,407297,8,300,4,16,1015675,113,5,1,1,,3,2,2,,120,0,2,40,3,300,1,,1,450,1,1,1,6,,,,1,1,,17,3,30,8,2,31100,3,,,1,1,31100,0,3,3,3,1,5,3,5,0,0,3,24,0,0,1,0,0,1,613,3,0,1,16,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,45,102,137,32,97,113,29,134,123,125,33,167,181,175,178,38,134,110,112,31,165,116,113,171,111,123,182,124,134,110,181,30,34,37,28,144,134,143,108,41,210,105,143,216,122,100,238,132,115,125,224,30,33,31,29,217,94,94,140,184,30,102,92,34,130,106,36,127,96,118,32,200,153,194,177,29,128,88,88 H,407406,8,100,4,16,1015675,110,1,1,3,1,1,2,2,,1,0,2,3,3,,1,,,,,,1,3,2,350,,1,3,,,1,1,4,,,,350,,1,6,0,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,0,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,101,124,163,179,222,112,32,120,188,100,118,167,89,34,32,32,106,95,116,37,112,135,188,185,179,110,33,103,178,108,88,187,123,39,39,34,110,107,104,34,91,120,180,176,217,108,34,113,249,114,115,204,105,34,33,32,111,113,108,34,100,104,174,205,183,123,33,108,165,97,92,170,102,33,36,35,94,117,109,32 H,407562,8,400,4,16,1015675,46,1,1,2,1,2,1,2,,20,0,40,3,6,210,1,200,,,,3,1,5,,,,1,2,,15,2,2,5,,,,,,1,4,25120,0,4,4,4,1,3,0,,0,0,0,4,0,0,0,1,1,1,92,,0,0,10,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,65,88,57,40,51,43,52,17,17,14,43,79,52,19,51,46,15,44,72,17,12,12,60,49,48,49,43,79,87,82,42,14,47,105,59,44,74,40,11,13,15,14,41,46,54,51,38,65,79,71,59,18,49,83,51,37,84,48,13,81,85,105,55,53,47,51,49,12,13,15,51,83,44,16,46,44,14,47,80,65 H,408177,8,400,4,16,1015675,57,2,1,1,,2,2,2,,50,0,2,10,1,500,1,,1,680,1,1,1,5,,,,1,1,,13,5,420,6,1,38300,4,,,1,1,38300,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,0,0,1,775,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,44,123,46,13,48,70,56,19,52,17,122,56,104,58,49,40,57,157,59,58,18,52,90,50,117,138,18,54,11,44,83,24,81,23,74,119,85,29,75,67,130,57,11,47,14,18,102,58,97,76,68,181,39,73,23,16,64,55,85,75,94,13,24,92,62,84,53,139,52,68,32,43,10,48,38,80,35,17,18 H,408642,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,408736,8,400,4,16,1015675,90,1,1,1,,2,1,2,,60,0,2,20,1,0,1,420,,,,3,1,5,,,,1,2,,8,1,260,5,,,,,,1,4,24300,0,4,4,4,1,5,0,,0,0,0,7,0,0,0,1,1,1,137,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,134,137,135,78,174,91,67,78,26,83,26,106,112,32,96,176,30,20,37,29,86,151,24,93,56,67,101,68,166,105,105,86,77,183,88,26,119,88,24,21,89,74,37,74,29,110,82,121,239,52,142,84,77,147,119,23,195,248,209,122,53,60,165,80,98,83,81,119,29,120,40,111,90,23,92,141,32,32,136 H,408770,8,900,4,16,1015675,64,4,1,,,2,4,,,40,0,2,30,1,380,1,,,,,3,1,4,,,,1,2,,13,2,580,2,2,72000,1,,,1,1,72000,0,1,1,1,1,1,2,4,0,0,2,4,0,0,1,0,0,1,233,,0,0,21,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,98,70,18,44,57,18,57,117,106,111,72,62,56,70,65,23,19,15,18,67,22,72,109,93,68,92,70,18,16,20,54,66,62,66,63,98,115,93,105,66,125,56,21,60,67,20,66,123,144,106,73,65,75,55,58,18,18,21,21,69,20,63,106,62,49,95,62,19,17,15,65,70,63,61,53,79,102,108,107 H,408826,8,900,4,16,1015675,57,2,1,1,,4,2,2,,60,0,2,10,3,350,1,,,,,3,1,8,,,,1,2,,18,2,420,4,4,39100,4,,,1,1,39100,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,292,,0,1,31,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,129,87,102,80,49,45,60,56,20,15,15,54,82,59,15,44,48,15,91,53,83,77,96,52,53,65,60,58,18,15,16,62,90,58,19,61,55,17,21,50,20,24,16,60,66,54,63,57,93,89,70,50,15,52,88,39,52,88,19,50,15,19,18,46,55,78,56,53,98,106,100,55,15,59,113,67,56,84,109 H,409169,8,700,4,16,1015675,112,2,1,1,,2,2,2,,90,0,600,110,1,400,1,,1,2200,2,1,1,7,,,,1,1,,21,3,300,2,2,392000,4,,,1,1,392000,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,0,0,1,2842,3,0,1,56,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,117,108,114,164,192,118,185,32,170,33,113,30,29,112,121,106,110,111,114,113,195,34,34,112,112,199,112,108,120,117,185,102,107,33,37,212,181,33,191,33,104,115,120,204,191,104,201,29,182,33,116,31,35,112,104,101,107,110,109,106,174,39,33,120,137,164,109,115,121,104,204,119,109,31,33,191,180,34,176 H,409372,8,900,4,16,1015675,88,3,1,1,,2,2,2,,70,0,2,90,1,330,1,,2,300,2,1,1,4,,,,1,1,,14,3,60,7,4,57400,4,,,1,1,57400,0,4,4,4,1,7,0,3,0,0,0,12,0,0,0,2,2,1,585,3,0,1,23,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,29,93,23,150,97,83,81,170,79,22,105,133,136,112,112,143,28,83,71,28,26,83,26,143,100,109,81,132,86,28,88,158,136,83,91,142,21,100,93,150,145,111,141,23,95,72,76,28,90,143,88,21,26,113,88,26,124,75,56,154,162,83,138,30,89,94,83,25,81,177,111,45,23,88,99,23,147,77,85 H,409401,8,800,4,16,1015675,22,2,1,3,6,3,2,2,,50,0,600,50,6,650,1,,2,1400,2,1,1,6,,,,1,1,,22,4,2,9,1,47200,4,,,1,1,47200,0,4,4,4,1,4,0,2,0,0,0,44,0,0,0,0,0,1,1721,3,0,0,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,21,36,38,37,20,7,23,44,32,24,37,23,6,7,7,20,16,22,45,29,21,7,7,6,28,36,18,7,38,26,7,20,38,35,37,22,17,28,7,22,25,44,35,44,20,7,27,35,25,25,61,25,5,5,7,21,20,26,52,32,26,5,5,5,19,42,24,7,28,22,9,28,27,32,37,22,19,20,14 H,409829,8,800,4,16,1015675,241,2,1,1,,2,1,2,,160,0,2,3,3,,1,,,,,,1,5,2,250,,1,3,,,2,1,6,,,,410,9,1,5,54300,0,4,4,4,1,3,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,401,371,91,80,389,248,70,351,264,283,220,115,337,237,189,227,89,236,253,204,310,336,65,73,395,182,114,395,406,202,267,119,218,228,328,304,64,178,268,312,397,328,130,84,356,260,68,310,232,193,248,72,286,310,188,241,117,196,222,214,300,343,77,75,382,275,104,307,385,243,207,105,298,214,230,318,89,274,284,318 H,409883,8,100,4,16,1015675,47,1,1,1,,2,1,2,,30,0,2,3,3,300,1,520,,,,3,1,4,,,,1,2,,5,1,1,2,,,,,,1,4,21000,0,4,4,4,1,4,0,,0,0,0,6,0,0,0,1,0,1,98,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,10,17,13,14,51,15,46,12,50,48,39,40,15,15,45,47,15,53,45,110,49,53,41,37,120,45,74,39,73,81,96,100,57,48,79,87,39,88,14,47,13,17,15,16,47,11,44,11,56,49,56,53,16,13,49,48,14,45,49,79,59,51,56,55,71,44,81,52,83,76,90,79,46,48,69,60,47,76,14 H,410030,8,900,4,16,1015675,121,2,1,1,,5,2,2,,60,0,2,60,1,350,1,,2,100,2,1,1,8,,,,1,1,,18,2,50,3,2,121000,4,,,1,1,121000,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,453,3,0,1,35,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,188,112,217,120,37,96,34,216,116,35,30,103,140,118,108,114,212,135,195,37,227,116,189,111,45,149,33,219,117,38,39,123,118,120,117,107,163,112,35,190,35,133,34,108,238,114,204,38,115,216,218,95,106,165,128,103,34,95,33,199,38,109,33,125,207,129,197,37,137,196,222,133,113,104,129,145,37,100,233 H,410082,8,300,4,16,1015675,24,2,1,1,,5,2,2,,130,300,600,3,3,,1,,,,,,1,8,,,,1,4,,,6,840,9,7,16670,2,,,2,3,16670,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,20,36,22,25,46,33,8,8,6,19,19,23,20,23,29,36,58,29,31,50,27,6,18,23,9,30,48,27,33,21,26,28,27,21,7,12,8,25,28,44,21,5,25,19,8,26,34,41,53,28,28,23,22,20,11,8,7,26,6,7,24,64,21,22,47,23,5,6,7,24,22,17,26,28,40,43,39,27,6 H,410125,8,600,4,16,1015675,270,6,1,1,,5,2,2,,50,0,2,200,1,510,1,,2,1100,2,1,1,6,,,,1,1,,19,3,520,3,1,71300,2,,,1,1,71300,0,2,2,2,1,5,4,6,0,0,4,28,0,0,1,0,0,2,1653,3,0,1,38,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,78,261,454,301,81,243,248,87,280,502,439,461,272,262,253,277,313,82,77,391,417,263,78,242,476,279,280,454,278,91,79,81,284,298,308,241,260,474,84,471,496,303,87,277,431,296,273,428,285,71,79,81,246,285,279,244,226,423,489,85,87,304,486,288,77,245,270,72,275,453,429,457,263,262,253,276,271,78,408 H,410171,8,400,4,16,1015675,100,2,1,2,1,3,2,2,,140,0,300,50,6,570,1,,,,,3,1,7,,,,1,2,,20,4,2,5,4,56800,4,,,1,1,56800,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,2,430,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,28,93,152,35,26,95,132,147,112,86,89,111,160,88,98,32,32,156,119,163,27,117,159,35,33,101,98,156,113,87,101,104,198,120,97,35,28,164,106,152,25,86,139,35,32,100,119,138,110,106,106,104,171,127,81,26,28,152,105,184,31,124,168,25,38,102,100,176,81,104,86,85,182,95,114,38,32,182,98 H,411178,8,400,4,16,1015675,48,2,1,2,1,2,2,2,,20,0,250,40,2,0,1,,,,,3,1,6,,,,1,2,,22,5,2,2,3,37400,4,,,1,1,37400,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,2,2,1,331,,0,1,42,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,15,93,42,13,79,93,65,58,18,38,43,52,47,13,53,49,89,80,54,15,12,91,45,14,97,98,50,43,15,40,39,49,54,15,49,59,78,76,49,17,16,65,41,18,100,64,48,50,11,56,53,51,53,14,43,55,72,71,47,18,21,68,54,15,86,101,55,54,14,45,50,46,60,13,41,52,83,82,61 H,411353,8,100,4,16,1015675,31,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,51,57,50,48,8,29,28,55,9,34,30,10,35,29,8,28,34,30,35,48,10,9,9,8,58,25,27,10,49,32,29,50,30,32,50,31,31,29,29,9,54,52,49,51,8,34,35,55,8,32,29,8,28,29,9,31,29,30,25,52,10,10,9,8,45,31,35,8,54,29,30,49,26,33,41,29,32,28,25 H,411471,8,900,4,16,1015675,23,6,1,1,,3,2,2,,100,0,2,3,6,300,1,,1,530,1,1,1,6,,,330,1,1,,15,3,670,3,1,65900,3,,,1,1,65900,0,3,3,3,1,5,4,6,0,0,4,19,0,0,1,0,0,1,1016,2,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,22,46,37,7,6,38,20,8,41,37,25,23,7,20,21,26,23,5,23,27,24,39,39,9,6,31,24,7,32,40,23,25,7,25,23,21,25,6,23,25,28,37,39,6,5,34,21,7,40,44,22,20,7,18,18,22,24,7,20,27,21,43,46,9,7,38,26,8,40,42,21,26,7,22,21,22,23,8,18 H,411716,8,900,4,16,1015675,52,1,1,1,,2,2,2,,70,0,2,90,3,,1,,,,,,1,4,2,500,,1,3,,,3,410,7,,,,694,15,1,4,55000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,92,47,53,65,51,105,61,38,13,17,107,99,14,47,70,14,16,43,66,49,13,41,68,55,45,13,51,53,54,89,21,16,105,43,14,78,85,56,53,64,15,57,54,48,56,18,46,50,104,57,12,15,97,54,18,90,66,60,41,50,78,68,58,44,59,86,56,57,20,16,78,71,10,48,89,18,13,38,72 H,411969,8,300,4,16,1015675,18,3,1,2,1,3,2,2,,70,0,550,80,8,360,1,,1,990,1,1,1,8,,,150,1,1,,16,2,550,3,1,41281,2,,,1,1,41281,0,2,2,2,1,5,1,3,0,0,1,40,0,0,1,0,0,2,1382,2,0,1,19,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,12,14,5,17,5,23,22,5,13,29,5,5,23,16,20,31,22,39,5,19,23,17,25,23,32,20,16,27,26,7,38,35,5,21,17,7,23,6,31,18,20,18,5,24,5,16,20,4,19,26,7,4,35,23,17,31,22,39,4,19,20,19,32,18,32,21,16,36,18,5,24,31,3,16,18,4,16,5,29 H,412154,8,100,4,16,1015675,101,5,1,1,,4,2,2,,110,0,2,2,1,800,1,,1,1000,1,1,1,7,,,,2,1,,18,3,1000,3,1,51000,2,,,4,1,51000,1,3,3,3,1,4,2,5,0,0,2,28,0,0,1,0,0,1,1193,3,0,1,26,3,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,29,222,97,38,30,29,93,185,36,75,124,94,117,202,115,90,109,136,123,161,40,141,92,35,33,34,105,127,29,130,82,91,88,163,194,104,141,89,103,167,34,176,100,30,35,30,88,184,37,75,115,88,111,189,135,90,99,118,188,153,35,140,86,41,32,38,107,121,34,134,99,84,102,147,166,144,115,76,93 H,412396,8,700,4,16,1015675,108,4,1,2,1,4,2,2,,70,0,2,160,1,310,1,,2,960,1,1,1,9,,,,1,1,,22,4,2,5,4,257000,4,,,4,1,275000,0,4,4,4,1,6,0,3,0,1,0,5,0,0,0,1,0,1,1216,3,0,1,51,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,186,183,183,94,113,105,108,110,34,28,29,111,176,125,34,101,100,26,176,102,182,187,186,112,105,106,107,102,33,30,32,111,179,109,35,104,100,36,184,105,183,197,172,108,104,109,114,105,29,30,32,103,168,104,29,107,110,34,184,98,184,169,177,107,121,121,102,113,34,30,31,113,188,109,31,102,107,30,194 H,412649,8,100,4,16,1015675,97,2,1,3,1,4,2,2,,410,0,2,80,3,1800,1,,2,1700,2,1,1,8,,,600,1,1,,23,3,2,4,2,121000,4,,,1,1,121000,0,4,4,4,1,6,0,2,0,0,0,32,0,0,0,2,0,1,3223,2,0,0,46,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,33,30,101,34,87,104,216,103,171,114,162,81,112,27,90,99,27,168,161,76,96,78,152,92,28,181,101,157,99,24,102,30,153,117,28,25,90,81,93,27,181,171,112,169,84,86,27,101,27,91,33,85,83,164,93,89,154,30,30,93,91,97,31,99,174,26,97,28,93,153,93,192,31,120,176,161,101,95,104 H,412824,8,300,4,16,1015675,44,5,1,,,3,8,,,1,0,2,3,3,,1,,,,,,1,6,2,240,,1,3,,,4,1,4,,,,240,12,3,5,23200,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,19,22,40,41,71,37,52,62,31,66,46,47,13,8,59,82,16,49,44,72,18,17,47,40,77,51,67,49,39,66,32,33,13,15,64,59,21,55,38,14,66,89,43,30,10,37,30,51,52,14,49,90,65,65,11,12,99,48,51,15,57,83,45,48,13,63,59,37,48,17,31,45,72,103,15,11,55,40,37 H,412946,8,600,4,16,1015675,113,3,1,1,,3,2,2,,100,0,2,130,1,700,1,,1,710,1,2,1,6,,,120,1,1,,16,3,1500,5,1,82000,4,,,1,1,82000,0,4,4,4,1,4,0,3,0,0,0,17,0,0,0,0,0,1,1185,2,0,1,31,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,207,213,122,35,33,116,173,34,179,112,111,119,113,108,114,34,213,117,107,203,116,105,204,122,122,197,106,125,121,201,34,33,35,35,188,116,117,31,121,202,107,110,202,107,114,177,109,124,120,184,33,33,34,32,195,125,117,35,30,125,172,205,104,37,37,114,194,37,202,111,120,108,115,126,111,36,179,122,30 H,413424,8,400,4,16,1015675,110,2,1,2,1,3,2,2,,150,0,2,30,2,500,1,,1,860,1,1,1,7,,,,1,1,,18,4,2,4,2,30000,4,,,1,1,30000,0,4,4,4,1,6,0,2,0,0,0,42,0,0,0,0,0,1,1040,3,0,1,32,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,183,34,120,35,108,100,46,142,36,174,189,98,105,100,31,124,237,118,98,30,44,273,84,109,75,90,209,133,178,36,34,118,94,102,177,122,33,111,111,225,191,42,121,29,77,97,43,124,26,253,163,105,71,107,36,114,205,82,99,24,29,196,125,198,137,121,214,175,185,29,33,91,130,90,171,145,29,93,108 H,413449,8,100,4,16,1015675,71,1,1,1,,2,2,2,,120,0,2,3,3,,1,,,,,,1,4,2,650,,1,3,,,1,500,4,,,,812,28,1,4,35000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,73,22,74,107,77,79,102,65,21,19,19,67,64,66,71,79,110,118,21,111,71,21,67,117,66,67,108,66,22,22,20,79,71,67,68,71,128,122,17,144,71,19,65,104,74,75,103,63,23,21,19,59,75,78,69,73,134,142,19,113,68,23,69,124,81,67,130,65,20,23,22,75,67,72,62,65,116,103,19 H,413501,8,800,4,16,1015675,115,2,1,2,1,4,2,2,,170,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,2,2,5,7,38560,2,,,1,3,38560,0,2,2,2,1,6,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,130,34,124,124,100,180,118,124,37,226,46,33,114,130,171,177,44,130,193,108,118,38,108,110,107,181,121,108,37,218,31,34,110,112,172,208,31,112,245,121,116,38,127,107,120,192,106,114,32,208,37,38,132,103,200,185,42,123,172,119,109,35,101,98,109,188,95,119,38,200,36,33,129,95,186,181,33,132,180 H,413515,8,600,4,16,1015675,320,2,1,,,2,4,,,170,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,2,240,3,1,78000,4,720,11,1,1,78000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,491,304,536,96,105,307,334,318,547,313,103,331,97,97,528,337,534,347,365,328,92,310,96,538,543,284,307,306,100,310,486,288,548,520,109,347,85,337,335,298,560,328,554,94,96,340,335,330,527,305,91,333,99,90,486,299,544,297,323,338,108,341,96,577,527,310,332,334,84,323,562,309,551,589,96,310,100,325,322,358 H,413778,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,413866,8,300,4,16,1015675,120,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,113,33,114,188,195,219,156,135,139,127,125,43,34,37,137,191,128,36,123,36,129,188,100,35,40,39,96,104,134,128,132,181,216,194,107,42,143,226,124,260,131,39,109,223,181,168,118,119,142,135,132,33,43,40,114,195,123,35,110,32,114,199,124,34,33,44,122,115,131,113,130,209,170,213,143,38,130,184,106,159 H,414002,8,100,4,16,1015675,91,2,1,1,,3,2,2,,50,0,2,50,1,700,1,,1,450,1,1,1,6,,,,1,1,,21,2,400,2,1,95000,4,,,1,1,95000,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,0,0,1,583,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,139,135,75,26,97,184,103,93,174,80,32,28,32,91,78,85,82,94,165,25,26,30,72,144,82,27,93,111,23,80,190,189,160,93,90,85,87,98,168,32,24,27,95,150,94,23,83,106,31,80,155,184,145,71,83,87,88,88,27,145,155,141,84,29,74,133,96,77,169,97,31,29,36,85,105,88,81,100,29 H,414188,8,400,4,16,1015675,56,2,1,2,1,3,2,2,,60,0,2,280,2,1100,1,,,,,3,1,9,,,,1,2,,22,2,2,3,1,60004,4,,,1,1,60004,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,0,2,532,,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,85,88,16,53,91,17,19,54,66,117,54,63,49,47,120,64,56,17,50,17,98,109,15,58,91,15,18,52,56,88,51,58,63,55,93,59,51,18,62,16,91,110,15,62,126,18,18,48,59,89,47,51,58,66,84,54,62,15,54,13,79,114,13,52,107,15,18,53,48,111,55,51,52,58,127,62,51,18,62 H,414469,8,100,4,16,1015675,94,2,1,1,,2,1,2,,30,0,350,3,8,0,1,3300,,,,3,1,4,,,,2,2,,1,2,1,5,1,42100,4,,,1,1,42100,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,1,359,,0,0,8,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,84,168,29,99,116,104,151,23,96,94,145,91,141,173,30,28,97,97,106,168,94,28,156,92,105,98,29,165,88,85,31,104,25,31,175,149,104,80,87,156,108,30,160,95,101,106,28,185,91,102,30,91,26,28,172,137,81,104,91,27,93,165,29,98,88,101,153,34,102,92,186,88,129,155,28,27,91,100,89,27 H,414632,8,300,4,16,1015675,54,3,1,,,2,6,,,30,0,2,80,1,,1,,,,,,1,4,2,550,,1,3,,,2,1,2,1,44000,1,660,18,1,1,44000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,100,75,16,15,46,14,58,54,103,69,83,47,94,46,50,17,50,57,111,47,54,56,49,46,97,55,14,93,43,82,47,17,53,18,96,54,15,16,15,60,45,49,48,69,15,56,88,13,58,20,56,95,53,101,16,49,95,87,56,83,16,11,80,96,51,87,62,62,16,55,15,55,16,60,54,83,50,46,47 H,415107,8,200,4,16,1015675,65,0,1,,,2,5,,,,,,,,,1,,,,,,1,5,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,89,16,66,19,62,108,59,114,23,68,140,139,76,89,72,56,82,20,17,57,90,20,75,22,58,95,58,121,22,72,143,133,71,75,66,65,68,17,101,65,24,113,67,118,63,21,80,17,164,67,22,18,62,70,60,67,84,110,96,64,19,118,60,111,70,17,55,20,147,64,17,18,65,84,69,63,72,119,15 H,415248,8,500,4,16,1015675,72,5,1,1,,4,2,2,,70,0,2,60,1,350,1,,1,1200,2,1,1,6,,,,1,1,,16,5,360,2,3,104700,2,,,1,1,104700,0,2,2,2,1,3,2,4,0,1,2,17,0,0,1,0,0,2,1477,3,0,1,26,3,4,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,106,68,89,76,21,87,21,78,76,24,81,141,22,23,98,57,69,110,20,81,18,65,74,70,125,86,119,71,75,129,63,20,130,125,21,82,66,26,20,81,24,88,71,71,140,74,112,75,69,120,72,25,127,117,19,71,66,21,140,65,123,80,62,61,21,71,23,68,63,20,73,124,20,26,138,68,68,144,140 H,415255,8,800,4,16,1015675,29,5,1,2,1,2,1,2,,80,0,900,30,3,200,1,600,1,450,1,1,1,4,,,,1,1,,14,0,40,3,4,51300,2,,,2,1,51300,0,2,2,2,1,4,3,5,0,0,3,16,0,0,1,0,0,1,688,3,0,0,3,1,8,9,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,63,10,12,37,22,8,47,36,28,39,12,25,27,26,27,9,37,27,29,45,45,7,8,67,33,7,46,43,28,31,9,27,29,26,29,8,27,26,29,44,46,8,7,41,27,7,34,56,26,28,9,27,27,27,32,10,24,27,28,53,62,6,7,48,31,7,44,67,34,25,6,31,31,33,28,8,29,27,27 H,415280,8,600,4,16,1015675,79,4,1,1,,3,2,2,,30,0,2,30,1,250,1,,2,500,1,1,1,6,,,,1,1,,18,2,360,7,1,90000,2,,,1,1,90000,0,2,2,2,1,5,2,4,0,0,2,8,0,0,1,0,0,1,611,3,0,1,37,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,79,25,83,117,84,138,22,80,140,121,79,80,72,81,79,21,79,129,20,22,77,24,76,137,75,131,24,78,136,124,79,82,77,80,85,22,78,142,128,131,79,143,77,24,77,22,134,83,23,23,82,76,71,73,79,132,81,27,134,132,72,124,76,22,84,24,126,87,25,23,82,84,80,80,72,128,81,22,23 H,415585,8,400,4,16,1015675,171,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,153,166,203,273,160,228,143,180,248,197,51,286,299,50,199,191,46,149,282,289,194,176,172,50,177,53,170,195,54,151,286,52,52,265,151,204,318,156,56,45,181,182,176,263,197,324,136,146,280,169,50,270,277,44,171,190,53,149,291,292,155,193,209,53,155,47,188,149,54,153,312,56,48,268,156,187,293,190,57 H,416175,8,800,4,16,1015675,224,1,1,,,1,4,,,20,0,2,150,1,,1,,,,,,1,4,2,350,,1,3,,,1,1,7,,,,520,45,1,4,14000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,393,282,347,437,241,239,360,360,264,403,359,226,226,248,264,406,219,328,226,214,85,62,59,67,246,254,85,82,216,62,64,204,214,187,232,65,192,69,196,234,346,346,361,314,219,249,391,316,242,361,398,190,229,261,239,348,213,310,203,214,75,69,78,84,231,231,82,82,220,71,82,234,185,218,197,73,224,67,232,239 H,416387,8,200,4,16,1015675,38,2,1,2,1,3,2,2,,70,0,650,3,4,400,1,,2,550,2,1,1,7,,,,1,1,,14,2,500,9,4,50160,4,,,1,1,50160,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,2,2,2,866,3,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,79,34,63,45,41,35,14,41,10,43,45,10,34,61,13,13,78,47,12,43,15,38,10,35,38,46,61,39,80,52,36,51,38,12,88,60,9,33,57,38,61,32,60,42,39,39,10,45,15,44,38,13,34,60,14,10,65,38,7,42,12,34,14,55,44,40,71,49,58,35,46,64,39,14,70,59,10,44,48 H,416584,8,800,4,16,1015675,31,2,1,1,,4,2,1,,90,0,1200,3,6,1000,1,,,,,3,1,5,,,,1,2,,19,3,310,5,1,117800,4,,,1,1,117800,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,1,2,466,,0,0,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,28,28,54,38,10,9,9,37,47,31,20,27,45,43,61,30,6,26,10,47,24,27,43,42,9,7,8,36,49,38,30,24,46,54,48,28,5,29,83,9,29,27,10,36,48,51,42,31,48,29,31,28,7,10,14,27,39,27,65,10,27,26,12,44,44,50,54,26,34,30,28,32,6,8,9,25,37,29,12 H,416801,8,500,4,16,1015675,223,1,1,1,,4,2,2,,100,1400,2,100,1,,1,,,,,,1,7,2,550,,1,3,,,0,60,8,,,,755,90,1,6,10100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,236,77,244,216,179,69,205,62,370,231,387,235,223,219,397,348,77,257,240,197,74,219,74,77,363,241,320,205,229,350,235,326,65,65,226,219,213,381,69,439,231,65,222,248,192,65,228,65,360,251,338,214,203,230,389,387,67,210,264,225,69,284,69,67,319,247,414,189,226,379,230,289,67,68,222,216,202,368,68 H,416868,8,900,4,16,1015675,106,2,1,1,,4,2,2,,130,0,2,30,1,300,1,,,,,3,1,9,,,,1,2,,15,2,600,7,4,46000,4,,,1,1,46000,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,335,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,125,122,213,95,29,73,33,35,224,94,222,96,103,168,116,204,26,30,110,94,85,115,167,91,36,95,33,24,141,135,206,110,97,183,85,146,35,35,132,97,106,112,149,92,31,75,30,38,189,117,192,121,120,142,90,190,41,26,95,106,95,87,225,113,40,117,25,24,136,106,208,101,103,192,101,199,41,34,133,144 H,416949,8,500,4,16,1015675,200,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,3,8,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274,64,199,441,63,52,211,236,322,187,176,185,161,328,216,178,60,67,337,240,282,82,196,373,71,56,197,166,348,201,184,203,164,390,228,169,63,64,312,162,403,57,163,288,61,59,202,231,451,192,235,201,223,344,198,229,58,62,357,213,316,64,225,339,60,57,209,197,298,192,216,178,201,295,204,236,49,53,340,216 H,417067,8,400,4,16,1015675,153,4,1,2,1,2,1,2,,70,0,2,100,1,500,1,320,2,210,2,1,1,4,,,,1,1,,8,1,2,5,4,32000,2,,,2,1,32000,0,2,2,2,1,3,2,4,0,0,2,18,0,0,1,0,0,1,469,3,0,0,6,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,269,115,155,240,323,51,57,71,80,195,86,153,168,190,259,174,128,52,229,301,44,175,264,37,143,220,204,191,157,156,179,237,158,50,82,103,98,165,200,38,204,120,121,286,270,46,51,64,116,218,109,197,166,176,344,216,134,78,169,282,44,229,266,23,139,225,236,249,151,196,178,138,131,47,55,91,84,150,219,44 H,417298,8,600,4,16,1015675,135,2,1,,,2,5,,,30,0,2,50,1,,1,,,,,,1,3,2,600,,1,3,,,2,120,3,,,,690,29,1,7,29000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,40,223,128,137,37,240,128,143,234,123,132,211,130,139,131,232,39,45,126,271,205,41,129,143,238,39,149,142,43,139,132,40,143,144,122,35,211,235,131,39,39,224,128,136,43,236,113,139,213,133,149,266,150,138,145,275,42,44,143,237,252,42,144,124,200,36,128,121,36,134,139,41,120,120,140,45,253,201,161 H,417625,8,300,4,16,1015675,96,2,1,2,1,5,2,2,,120,0,700,70,2,800,1,,,,,3,1,9,,,,1,2,,15,2,2,6,4,57500,4,,,1,1,57500,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,429,,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,86,149,92,97,87,143,85,149,25,97,29,104,102,93,28,26,149,124,32,91,28,94,33,34,183,120,162,70,89,181,92,160,39,34,89,90,88,156,92,199,90,152,97,98,115,169,90,172,31,94,35,95,90,95,35,25,120,101,26,77,28,106,30,24,156,89,160,94,105,152,96,154,27,33,114,96,107,172,101,190 H,417693,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,417828,8,100,4,16,1015675,19,2,1,1,,3,2,2,,120,0,2,40,1,600,1,,2,270,2,1,1,7,,,,1,1,,15,2,400,6,3,35100,4,,,1,1,35100,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,2,1,2,634,3,0,1,26,1,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,14,14,33,23,6,5,5,18,22,25,25,18,27,28,39,17,5,25,6,27,15,14,25,23,5,5,5,19,21,20,28,22,29,31,31,17,5,24,28,5,19,20,5,16,31,29,27,22,24,25,25,17,5,5,7,20,33,20,23,5,21,17,3,20,32,28,37,19,21,23,21,15,5,5,6,15,31,23,5 H,418158,8,800,4,16,1015675,81,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,79,77,73,77,86,23,88,150,26,77,18,73,135,76,136,23,78,141,137,22,81,108,100,79,87,159,68,24,134,70,165,80,22,84,24,135,95,27,127,26,77,82,79,97,78,123,105,24,132,79,131,79,22,82,24,125,70,21,26,143,86,83,94,75,83,27,78,134,24,87,25,90,126,80,136,21,84,118,22 H,418370,8,100,4,16,1015675,130,1,1,1,,2,2,2,,60,0,2,50,1,,1,,,,,,1,4,2,550,,2,3,,,2,500,7,,,,702,60,1,4,14000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,151,161,125,167,50,43,54,110,233,110,35,104,136,45,107,194,189,197,248,120,143,125,148,139,39,35,47,114,214,122,27,128,129,45,139,176,236,220,238,116,142,115,121,152,46,38,32,143,192,89,34,114,118,47,129,206,202,230,311,110,122,149,139,151,36,33,39,140,190,121,39,167,186,48,143,224,202,227,246 H,418575,8,300,4,16,1015675,79,0,1,,,3,4,,,,,,,,,2,,,,,,2,6,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,79,132,114,123,86,90,73,87,86,25,23,26,80,131,86,24,102,97,21,110,88,110,122,132,75,71,69,80,81,22,25,24,74,129,71,23,90,86,30,24,91,25,21,20,89,71,67,82,85,111,139,146,95,25,77,131,77,87,153,22,88,25,21,22,81,86,93,81,72,132,125,122,81,21,71,134,82,79,145,114 H,419004,8,900,4,16,1015675,95,6,1,1,,4,2,2,,110,0,2,100,1,350,1,,1,850,1,1,1,7,,,420,1,1,,14,4,700,4,1,77150,2,,,1,1,77150,0,3,3,3,1,4,4,6,0,0,4,24,0,0,1,0,0,1,1538,2,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,197,108,88,168,152,96,143,170,107,88,101,93,174,95,145,92,151,162,94,32,40,85,98,35,32,85,27,28,86,89,91,88,30,91,33,95,27,27,89,182,151,91,115,169,148,81,154,128,87,97,94,78,143,96,165,119,145,137,82,30,30,91,119,31,27,88,28,26,86,104,96,84,29,97,34,112,35,33,83 H,419074,8,100,4,16,1015675,70,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,69,19,103,139,132,117,21,74,60,123,20,61,69,20,71,78,21,76,75,82,76,18,128,111,114,127,18,64,68,113,19,74,78,23,72,67,20,69,68,72,73,20,122,125,131,126,21,91,64,147,19,67,70,21,88,66,24,71,74,64,64,21,113,126,130,123,22,60,66,104,17,65,69,20,66,61,21,82,75 H,419509,8,200,4,16,1015675,102,2,1,1,,2,2,2,,50,0,2,20,1,520,1,,,,,3,1,9,,,,1,2,,16,2,560,5,3,55600,4,,,1,1,55600,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,0,0,1,312,,0,1,30,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,36,116,40,214,95,24,36,94,72,72,118,80,172,98,30,196,98,215,136,91,38,110,37,197,97,38,31,88,130,94,81,128,165,94,29,146,101,191,26,94,191,92,190,35,112,208,146,111,111,105,98,108,43,99,184,35,85,30,28,100,207,100,177,31,100,159,200,117,76,123,98,89,25,98,168,27,100,32,156 H,419588,8,800,4,16,1015675,204,2,1,1,,3,2,2,,80,0,2,30,1,400,1,,1,670,1,1,1,6,,,,1,1,,22,2,240,4,1,71100,4,,,1,1,71100,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,2,800,3,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,348,207,353,58,72,210,194,223,350,203,56,206,62,54,364,187,291,244,209,194,51,207,72,339,271,202,194,220,61,228,399,207,391,340,64,208,61,214,198,181,320,230,338,54,62,205,248,204,288,195,58,191,68,64,337,182,294,226,222,202,64,210,54,342,352,206,203,175,66,209,299,232,405,323,62,212,60,223,255,197 H,419990,8,200,4,16,1015675,12,1,1,1,,3,2,2,,30,0,1300,3,4,110,1,,2,200,2,1,1,6,,,,1,1,,4,1,740,9,,,,,,1,4,20300,0,4,4,4,1,5,0,,0,0,0,27,0,0,0,1,1,2,451,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,5,14,19,4,3,14,16,19,14,10,11,15,25,12,10,3,4,21,15,22,4,15,25,5,5,14,16,19,11,10,13,13,20,14,14,5,4,23,11,5,22,10,4,25,16,10,17,4,11,16,17,13,5,19,14,22,20,2,12,4,29,12,3,18,26,14,10,5,14,11,12,11,3,11,12,27,22,3,10 H,420327,8,700,4,16,1015675,352,2,1,1,,3,2,2,,70,0,2,4,1,50,1,,2,1100,2,1,1,5,,,,1,1,,16,3,420,3,2,60000,4,,,1,1,60000,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,2,1321,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,353,328,366,611,342,372,103,552,110,103,360,371,624,601,103,345,361,341,100,352,102,107,100,352,610,106,334,351,361,350,622,561,350,353,347,660,103,606,331,559,342,365,363,591,344,330,116,589,110,105,340,367,618,582,102,356,349,358,111,381,104,104,99,345,580,101,346,337,329,339,644,580,336,360,337,528,113,657,337,563 H,420558,8,500,4,16,1015675,139,3,1,1,,4,2,2,,100,0,2,20,1,400,1,,1,650,1,1,1,6,,,,1,1,,14,2,300,3,7,20000,3,,,2,3,20000,0,3,3,3,1,4,2,3,0,0,2,48,0,0,1,0,0,1,795,3,0,1,28,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,144,52,246,44,144,205,200,254,162,43,222,121,147,132,132,42,39,149,38,45,264,128,156,139,266,125,119,152,41,153,136,257,49,198,202,154,132,37,130,157,155,222,45,270,141,42,43,37,149,241,42,143,152,145,123,213,209,123,198,227,39,175,137,147,44,129,165,137,246,134,144,46,217,42,42,138,132,232,150 H,420928,8,300,4,16,1015675,88,5,1,1,,3,2,2,,80,2400,2,50,1,,1,,,,,,1,4,2,1000,,1,3,,,3,40,1,2,138000,1,1133,10,1,1,138000,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,31,22,73,102,97,75,79,147,170,149,74,26,88,144,86,87,174,88,21,34,28,24,85,75,102,78,110,168,171,192,96,26,92,138,87,86,145,80,118,129,144,166,91,96,95,94,103,20,24,29,91,146,81,26,91,112,33,79,130,166,160,158,83,88,93,90,94,18,23,27,83,163,90,26,126,101,27,90,36 H,421031,8,800,4,16,1015675,34,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,10,8,10,33,37,30,39,46,57,52,61,32,9,31,46,31,30,51,39,12,10,15,10,35,42,34,31,29,51,52,67,33,10,32,66,30,28,73,32,8,12,10,10,36,32,28,36,44,61,60,54,29,10,33,55,36,35,52,34,11,10,12,12,36,34,35,40,32,54,50,55,30,9,40,83,33,29,61,30,10 H,421261,8,400,4,16,1015675,131,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,39,50,50,137,211,119,38,138,210,52,165,200,165,208,109,132,118,111,40,94,253,204,204,123,34,208,214,148,107,158,134,39,42,54,146,120,109,107,28,87,244,207,246,132,40,216,255,189,98,173,111,39,57,49,141,151,122,108,200,229,29,40,46,144,194,111,41,125,167,34,124,202,153,223,106,123,150,132,248 H,421640,8,200,4,16,1015675,101,1,1,,,5,9,,,1,0,1,1,3,,1,,,,,,1,9,1,1700,,1,3,,,0,1,3,,,,1700,76,1,6,27000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,25,23,154,95,160,93,80,220,106,165,30,45,133,117,120,139,143,31,72,96,32,32,145,133,157,84,111,159,103,264,36,30,105,114,87,197,112,24,92,91,27,30,167,96,161,108,124,148,178,136,33,31,79,119,87,170,144,24,91,83,31,34,201,98,171,112,75,166,130,168,40,19,97,121,88,184,100,28,83 H,421683,8,200,4,16,1015675,59,0,1,,,0,4,,,,,,,,,2,,,,,,2,2,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,69,100,74,74,80,50,48,61,16,65,71,18,57,19,81,95,46,91,17,16,47,81,128,68,55,63,57,49,19,69,93,17,57,19,70,103,52,96,18,125,55,19,20,68,67,57,62,58,103,53,15,106,62,104,67,15,50,20,101,99,55,20,19,57,66,56,46,45,92,69,16,78,57,95,76,17,55,19,82,20 H,421710,8,400,4,16,1015675,133,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,147,35,160,196,32,40,191,126,130,233,134,222,137,134,115,39,159,42,254,127,131,39,125,249,50,38,240,155,118,208,130,192,122,139,132,35,143,47,241,132,142,42,145,206,45,38,197,147,138,209,109,196,136,124,143,38,122,39,221,142,123,40,142,193,45,40,216,159,148,217,146,232,125,143,119,32,145,37,257 H,421735,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,422098,8,600,4,16,1015675,120,1,1,1,,4,2,2,,100,0,2,30,1,1200,1,,1,1300,1,1,1,8,,,,1,1,,20,1,500,3,,,,,,1,4,65000,0,4,4,4,1,5,0,,0,0,0,27,0,0,0,0,0,1,1472,3,0,1,37,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,215,121,137,33,111,138,129,121,36,135,126,197,205,37,36,199,118,33,141,203,210,117,121,37,122,112,120,121,34,122,126,203,215,34,34,221,127,35,116,33,33,125,123,219,120,116,122,100,219,119,122,38,38,224,212,37,115,196,122,38,34,122,119,221,139,113,114,129,194,103,122,38,39,233,204,33,121,253,112 H,422318,8,200,4,16,1015675,48,8,1,1,,5,2,2,,170,2000,2,3,6,800,1,,,,,3,1,7,,,,1,2,,16,4,420,4,7,43600,3,,,5,3,43600,1,3,4,3,1,5,0,8,0,0,4,7,0,1,1,0,0,2,272,,0,1,1,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,60,46,58,80,45,56,14,15,77,62,15,58,74,10,14,60,73,85,61,44,41,64,52,17,51,47,71,92,17,18,71,42,16,75,88,38,32,17,58,40,46,46,52,115,55,42,15,16,54,63,14,49,86,19,14,49,60,69,50,61,61,48,54,12,38,40,69,92,19,22,68,60,13,49,101,40,60,14,37 H,422442,8,100,4,16,1015675,19,1,1,1,,3,2,2,,30,0,2,40,1,0,1,,,,,3,1,6,,,,1,2,,16,0,180,4,,,,,,1,6,9100,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,1,1,1,85,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,38,19,19,28,17,30,7,7,19,17,19,38,23,5,18,5,7,35,19,15,7,22,18,5,20,5,30,38,19,13,22,7,17,34,22,36,39,5,21,22,3,18,16,6,20,5,35,28,22,20,20,7,23,36,17,31,29,5,18,23,36,22,15,31,18,28,5,5,22,29,20,29,16,6,20,5,5,30,21 H,422468,8,300,4,16,1015675,17,2,1,2,1,2,2,2,,60,0,2000,10,4,250,1,,,,,3,1,5,,,,1,2,,12,2,70,9,4,42300,4,,,1,1,42300,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,285,,0,1,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,17,13,14,14,28,31,27,18,5,15,19,11,15,26,17,5,5,5,18,27,19,16,11,11,5,5,6,20,19,13,5,16,18,4,11,21,31,34,21,5,16,13,16,13,18,28,25,13,6,16,50,23,13,22,14,5,4,5,16,31,15,13,19,17,5,4,5,13,26,18,5,15,17,5,17,27,31,23,13,5 H,422651,8,100,4,16,1015675,328,0,1,3,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,3,22,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,108,333,107,299,518,319,520,111,284,478,554,350,327,345,302,296,98,288,545,549,561,380,510,330,97,361,129,542,359,99,103,314,328,283,304,389,520,353,105,102,90,333,88,341,560,321,468,100,326,446,514,366,300,283,361,360,112,393,546,554,510,337,553,295,108,364,117,547,282,103,125,347,324,293,337,287,441,389,117,97 H,422974,8,600,4,16,1015675,103,1,1,1,,3,2,2,,60,0,2,70,1,310,1,,,,,3,1,6,,,,1,2,,19,1,80,6,,,,,,1,6,16800,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,1,1,1,351,,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,172,101,32,105,111,107,180,36,166,32,197,108,107,103,28,98,172,102,32,103,111,184,111,31,30,31,107,105,106,109,98,165,174,180,105,32,99,183,106,30,177,100,31,96,101,113,170,36,166,29,178,103,110,109,29,109,174,107,33,107,112,160,99,30,30,32,98,106,103,102,101,158,208,185,103,30,102,200,94 H,423044,8,200,4,16,1015675,58,3,1,3,1,3,1,2,,150,0,200,3,6,350,1,2800,1,380,2,1,1,7,,,200,1,1,,17,2,600,3,2,35630,2,,,1,1,35630,0,2,2,2,1,3,1,3,0,0,1,37,0,0,1,0,0,1,1111,2,0,0,21,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,15,80,108,20,64,116,22,21,52,60,88,63,66,65,52,67,57,60,14,55,15,91,94,20,60,98,22,16,53,53,88,49,51,59,49,80,60,60,17,46,21,91,88,15,68,114,16,23,42,54,92,56,60,62,52,73,64,42,15,43,18,96,107,21,56,116,16,16,69,63,88,59,63,62,51,103,58,65,20,55 H,423444,8,900,4,16,1015675,67,3,1,1,,3,2,2,,50,0,2,20,1,300,1,,,,,3,1,4,,,,1,2,,14,5,50,7,3,60800,4,,,2,1,60800,0,4,4,4,1,5,0,3,0,0,0,4,0,0,0,1,1,1,199,,0,1,24,2,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,74,100,30,57,50,109,58,93,96,44,22,69,63,70,86,79,28,82,24,48,59,88,16,90,68,121,63,113,117,19,24,63,63,72,70,119,23,88,105,76,44,24,87,56,54,18,65,32,17,108,124,62,67,99,85,25,108,78,79,45,77,19,92,83,70,57,69,20,43,112,101,58,65,55,75,18,109,77,20 H,423657,8,400,4,16,1015675,173,3,1,1,,3,2,2,,110,0,2,20,1,350,1,,,,,3,1,5,,,,1,2,,17,3,2,2,3,20500,4,,,1,1,20500,0,4,4,4,1,3,0,3,0,0,0,15,0,0,0,0,0,2,251,,0,1,23,1,8,7,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,271,161,51,245,265,138,148,287,210,51,55,56,206,161,154,178,166,339,254,55,287,178,50,150,270,165,230,323,130,58,57,49,173,218,218,155,158,278,276,61,234,179,55,186,301,155,128,303,215,55,55,62,176,160,204,167,167,328,235,70,323,188,63,146,267,200,200,295,171,47,54,49,174,229,192,130,159,234,246,63 H,423714,8,500,4,16,1015675,28,2,1,2,1,3,1,2,,80,0,2,150,2,450,1,1000,,,,3,1,5,,,,1,2,,9,2,2,5,3,33500,4,,,1,1,33500,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,1,0,1,426,,0,0,20,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,31,10,28,56,26,52,9,29,52,52,28,33,28,30,28,9,31,47,9,9,26,8,28,54,29,48,6,30,44,45,32,25,28,31,33,9,30,50,52,46,28,49,31,11,30,8,44,26,8,8,26,31,34,28,29,45,28,10,55,55,30,50,29,8,29,7,58,28,10,8,30,30,28,29,31,50,28,8,8 H,423741,8,900,4,16,1015675,60,1,1,1,,1,2,2,,60,0,2,10,1,50,1,,2,600,2,1,1,5,,,350,2,1,,11,1,60,8,,,,,,1,6,16000,0,4,4,4,1,1,0,,0,0,0,85,0,0,0,0,0,1,1129,1,0,1,24,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,95,20,20,57,22,81,57,118,52,101,52,94,56,56,17,56,61,21,95,20,65,57,64,20,54,85,14,55,19,57,101,64,100,22,66,103,87,67,78,67,17,130,82,65,113,65,62,20,52,16,58,19,57,60,104,68,66,133,16,111,77,56,61,108,51,14,96,57,76,56,15,54,17,123,71,17,16,53,66,52 H,424270,8,100,4,16,1015675,158,5,1,1,,3,2,2,,120,0,2,80,1,350,1,,1,990,1,1,1,7,,,,1,1,,17,3,900,3,1,67000,2,,,1,1,67000,0,3,3,3,1,5,3,5,0,0,3,23,0,0,1,0,0,1,1265,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,288,48,177,140,263,168,283,249,50,51,145,148,162,129,267,50,142,144,163,49,239,44,153,146,288,146,247,270,51,48,178,161,150,192,225,49,165,151,168,210,44,239,146,158,43,164,51,39,252,245,144,207,160,148,49,282,162,166,204,248,56,272,169,171,36,142,39,52,287,246,207,141,170,189,53,273,148,172,138,51 H,424581,8,700,4,16,1015675,352,2,1,1,,3,2,2,,80,0,2,50,1,,1,,,,,,1,5,2,800,,1,3,,,1,520,3,8,11300,4,973,101,2,3,11300,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,330,337,373,358,94,100,334,627,372,649,100,523,343,629,382,113,98,339,515,105,101,595,578,109,337,354,109,319,114,346,343,384,568,379,616,328,393,645,373,376,350,386,343,334,672,580,328,100,383,107,566,114,332,96,341,568,605,346,121,577,535,101,101,627,354,353,633,323,616,352,358,349,103,356,106,377,319,109,345,369 H,424672,8,600,4,16,1015675,106,1,1,1,,3,2,2,,80,0,2,110,1,440,1,,,,,3,1,9,,,,1,2,,20,1,420,7,,,,,,1,6,32200,0,4,4,4,1,7,0,,0,0,0,20,0,0,0,1,1,1,535,,0,1,44,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,188,105,101,31,194,34,33,112,97,176,198,30,102,115,100,29,113,105,107,33,107,173,35,104,95,103,114,177,185,108,95,92,181,31,161,104,30,32,29,108,33,108,105,171,32,173,165,117,111,29,31,172,106,94,98,203,101,110,106,192,102,28,165,100,102,111,112,35,29,99,104,110,37,185,32,93,183,216,184 H,424736,8,300,4,16,1015675,157,2,1,,,2,4,,,1,0,2,3,3,,1,,,,,,1,4,2,550,,2,3,,,2,1,2,1,22000,4,550,30,1,1,22000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,147,143,255,145,64,57,60,137,141,140,189,160,250,226,233,156,41,152,48,244,162,126,242,154,43,53,45,178,196,153,168,177,196,246,351,183,50,162,65,221,198,165,286,206,74,45,52,158,155,145,167,106,234,330,206,129,56,131,50,192,161,161,207,132,44,70,71,194,151,131,139,207,286,161,268,204,46,119,40 H,425068,8,900,4,16,1015675,67,2,1,1,,3,2,2,,70,0,2,140,1,350,1,,2,1300,1,1,1,8,,,,1,1,,16,5,720,2,2,66070,4,,,2,1,66070,0,4,4,4,1,3,0,2,0,0,0,29,0,0,0,1,0,1,1599,3,0,1,36,2,5,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,114,51,88,45,102,72,93,16,56,41,86,76,74,25,26,75,97,25,70,92,59,82,99,26,68,22,64,69,20,68,24,105,111,80,82,63,23,71,120,78,89,74,47,49,108,74,91,35,52,16,74,73,84,32,26,136,62,22,45,97,69,107,108,22,64,50,53,64,43,66,16,103,114,69,78,64,19,69,97 H,425069,8,100,4,16,1015675,35,2,1,1,,3,2,2,,130,0,2,150,1,650,1,,2,700,1,2,1,5,,,,1,1,,13,2,360,5,5,70000,2,,,1,2,70000,0,2,2,2,1,5,1,2,0,0,1,18,0,0,1,0,0,2,1064,3,0,1,16,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,34,64,12,9,58,46,30,60,42,51,39,40,27,10,43,10,37,36,87,9,30,54,10,10,36,30,42,60,34,63,43,46,54,10,30,11,41,43,65,12,37,55,10,7,47,35,36,68,35,50,35,31,32,10,43,10,36,38,96,11,44,60,12,14,48,29,35,53,35,50,48,34,34,14,35,12,39,35,68 H,425259,8,800,4,16,1015675,255,1,1,1,,3,2,2,,80,0,2,60,1,420,1,,,,,3,1,6,,,,1,2,,16,1,40,5,,,,,,1,6,18500,0,4,4,4,1,4,0,,0,0,0,18,0,0,0,1,1,2,282,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,80,241,237,267,206,83,77,340,99,281,207,462,425,384,230,215,74,438,294,382,244,76,87,462,441,239,250,256,266,78,384,258,257,278,78,392,273,240,86,472,226,68,85,374,450,251,209,251,245,83,392,287,227,214,80,463,273,228,78,258,63,247,227,218,276,87,72,398,81,258,275,496,452,426,305,266,84,440,216,232 H,425279,8,100,4,16,1015675,98,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,111,113,31,183,97,87,26,85,28,28,182,157,88,88,90,91,35,200,167,93,100,95,29,168,88,131,33,99,24,26,175,181,107,111,99,102,29,166,165,107,94,108,34,175,112,85,28,90,30,35,163,168,90,94,125,89,27,164,154,120,103,93,22,167,118,97,32,92,29,36,167,185,84,95,93,106,34,168,189 H,425427,8,900,4,16,1015675,28,1,1,1,,3,2,2,,10,0,2,20,3,330,1,,2,390,2,1,1,8,,,,1,1,,12,1,720,5,,,,,,1,6,19100,0,4,4,4,1,1,0,,0,0,0,35,0,0,0,0,0,1,554,3,0,1,13,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,59,23,42,45,24,32,30,26,56,22,45,35,45,39,58,43,25,37,31,7,8,23,8,11,21,28,28,25,10,36,9,25,9,9,7,7,22,29,23,52,48,25,52,45,24,32,33,22,55,42,48,25,50,47,42,41,27,27,29,10,12,25,8,5,21,25,28,32,8,25,6,28,7,8,10,8,35,23,40 H,425896,8,100,4,16,1015675,30,2,1,1,,4,2,2,,90,0,2,3,6,350,1,,2,390,2,1,1,6,,,,1,1,,14,2,480,8,1,29500,4,,,1,1,29500,0,4,4,4,1,7,0,2,0,0,0,31,0,0,0,0,0,2,762,3,0,1,37,2,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,38,49,28,10,31,8,10,57,29,47,24,27,44,27,52,10,8,27,35,30,38,8,34,47,28,68,52,7,33,10,21,25,9,29,12,49,42,23,33,30,25,47,28,11,31,8,9,58,32,50,24,40,46,23,43,8,9,28,24,33,29,9,44,73,37,46,47,8,25,7,32,34,10,31,8,60,54,27,28 H,426003,8,700,4,16,1015675,102,4,1,2,1,3,2,2,,70,0,2,90,1,300,1,,1,2100,1,1,1,6,,,,1,1,,18,2,300,3,3,81700,3,,,1,1,81700,1,3,4,3,1,4,0,4,1,0,2,34,0,0,1,0,0,1,2285,3,0,1,34,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,98,27,30,107,95,105,116,105,160,109,28,176,100,180,106,29,105,32,36,30,108,197,169,103,99,112,107,108,29,103,177,28,96,29,101,200,110,158,29,29,94,164,188,118,104,107,119,97,31,100,181,30,110,30,94,175,102,174,171,175,93,33,32,96,112,95,102,106,179,105,30,184,108,177,99,29,99,32,175 H,426076,8,800,4,16,1015675,44,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,34,46,57,12,43,55,88,55,12,17,83,44,14,73,70,48,41,12,39,61,45,45,47,14,35,33,97,69,12,17,79,49,16,71,76,46,42,10,36,38,51,42,43,17,48,46,79,94,19,13,61,40,11,56,65,44,45,15,48,37,53,48,40,13,50,42,75,90,15,9,63,42,12,57,83,58,49,14,46,53 H,426221,8,100,4,16,1015675,87,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,168,96,133,88,25,75,26,159,101,23,24,83,76,85,75,86,154,76,23,157,26,69,28,84,152,94,138,27,103,149,140,82,113,117,90,94,25,80,27,123,26,104,29,75,134,82,159,28,85,156,115,82,88,79,102,84,25,78,128,20,118,84,134,97,34,102,30,146,90,30,25,90,95,73,78,97,153,88,130 H,426403,8,700,4,16,1015675,121,4,1,2,1,4,2,2,,60,0,2,170,1,500,1,,2,290,2,1,1,9,,,,1,1,,21,2,2,5,7,76900,3,,,1,3,76900,1,3,4,3,1,7,0,4,0,0,2,11,0,1,1,1,1,1,695,3,0,1,27,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,196,117,39,189,199,40,109,121,34,117,31,127,113,112,198,128,201,116,190,132,35,116,215,37,40,237,112,128,219,115,188,117,114,118,33,136,36,117,37,117,215,122,38,194,195,33,134,129,38,115,35,117,126,106,209,119,215,126,179,117,31,127,169,37,35,193,122,120,215,117,210,119,126,127,32,133,32,128,33 H,426410,8,800,4,16,1015675,82,1,1,,,1,5,,,30,0,1,1,1,,1,,,,,,1,4,2,370,,1,3,,,1,1,9,,,,400,23,1,6,20600,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,91,71,91,139,125,18,138,95,91,27,33,29,75,73,109,19,93,140,144,23,28,137,141,82,69,75,94,25,163,90,89,72,28,143,65,72,22,68,72,87,75,97,73,127,163,27,122,80,92,23,29,20,83,93,126,24,77,177,123,23,21,137,121,73,95,89,58,22,132,73,90,76,23,152,98,80,23,107,90 H,426660,8,100,4,16,1015675,112,4,1,2,1,5,2,1,,1,0,2,1,2,,1,,,,,,1,8,,,,1,4,,,1,2,3,7,23500,2,,,1,3,23500,0,2,2,2,1,2,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,115,125,31,102,207,126,29,37,105,108,41,181,117,227,209,102,131,29,102,113,115,139,174,132,33,100,146,157,136,129,253,36,127,27,25,131,31,184,138,99,108,89,185,111,32,87,229,249,87,94,145,32,146,45,37,97,39,175,145,121,84,97,34,131,211,107,32,40,127,128,29,213,102,197,186,99,179,35,111 H,426731,8,900,4,16,1015675,50,2,1,2,1,5,2,2,,70,0,1500,80,4,490,1,,,,,3,1,8,,,,1,2,,13,1,580,6,2,24200,4,,,1,1,24200,0,4,4,4,1,7,0,2,0,0,0,25,0,0,0,2,2,1,505,,0,1,28,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,54,53,95,62,16,13,15,49,50,48,63,62,91,75,74,46,14,43,13,72,38,41,76,55,15,12,16,46,42,59,50,51,90,93,100,45,13,47,74,13,43,46,13,52,90,74,83,43,45,44,52,47,17,16,13,44,68,55,106,14,37,38,15,66,81,70,87,37,46,61,53,53,20,20,17,51,83,48,13 H,426996,8,100,4,16,1015675,59,2,1,3,1,3,1,2,,190,0,2,3,3,0,1,200,,,,3,1,5,,,,1,2,,2,2,2,4,1,54200,4,,,1,1,54200,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,1,224,,0,0,6,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,67,110,52,67,20,83,13,15,68,57,130,116,14,62,60,72,22,58,19,71,59,15,57,57,127,19,108,115,47,54,17,16,104,54,45,60,93,48,95,66,62,88,54,61,18,110,19,18,63,53,114,119,22,59,69,59,18,73,17,63,52,20,56,59,94,13,131,89,49,64,15,18,92,65,79,61,100,56,111 H,427379,8,800,4,16,1015675,114,2,1,1,,3,2,2,,40,0,2,40,1,1200,1,,,,,3,1,5,,,,1,2,,21,2,1600,2,4,40801,4,,,1,1,40801,0,4,4,4,1,1,0,2,0,0,0,19,0,0,0,2,1,2,646,,0,1,52,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,104,38,227,116,195,184,105,186,28,119,106,115,35,124,203,107,32,30,90,112,108,39,199,98,214,196,111,154,33,95,128,141,27,104,196,118,39,35,112,118,126,204,33,141,36,35,100,29,175,110,99,119,178,116,32,112,210,193,119,103,116,194,24,130,35,32,124,33,184,110,94,124,222,109,36,118,160,220,124 H,427889,8,400,4,16,1015675,72,2,1,2,1,3,2,2,,40,0,2,50,1,540,1,,1,1200,1,1,1,6,,,,1,1,,18,3,420,2,3,85000,4,,,1,1,85000,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,1,1,1,1325,3,0,1,26,1,7,7,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,135,66,71,108,105,129,84,83,126,70,94,86,83,65,74,67,130,101,26,77,20,65,69,19,26,20,26,87,16,63,26,71,77,69,55,21,31,63,121,59,136,51,70,110,126,109,96,78,139,62,150,68,52,69,92,110,124,70,25,67,24,72,74,22,20,17,26,61,21,90,29,61,75,95,72,18,22,70,102 H,428084,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,428179,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,428192,8,300,4,16,1015675,106,2,1,1,,4,2,2,,80,0,2,3,3,1200,1,,1,770,1,1,1,9,,,,1,1,,16,3,20,5,1,41800,4,,,1,1,41800,0,4,4,4,1,5,0,2,0,0,0,24,0,0,0,1,0,1,852,3,0,1,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,32,102,96,31,138,97,97,28,132,100,211,114,117,32,140,185,111,211,97,155,98,34,47,109,125,31,153,98,181,185,107,212,33,94,113,112,29,101,36,120,36,101,120,30,195,110,106,36,102,98,198,107,98,32,186,171,91,157,93,176,103,37,25,104,110,28,167,108,224,190,107,165,30,110,89,103,30,111,34 H,428224,8,400,4,16,1015675,39,1,1,1,,1,2,2,,30,0,2,90,1,300,1,,,,,3,1,5,,,,1,2,,13,2,500,9,,,,,,2,4,33000,0,4,4,4,2,7,0,,0,0,0,10,0,0,0,0,0,2,270,,0,1,22,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,45,14,70,87,13,40,39,8,42,18,39,37,45,83,42,64,37,50,74,10,36,13,58,56,13,29,40,12,29,10,45,39,33,74,47,71,39,40,65,14,37,8,71,85,12,40,33,10,40,12,37,30,33,64,31,67,29,37,82,15,37,12,74,84,15,50,42,15,41,12,51,40,38,67,28,61,34,38,79,8 H,428289,8,300,4,16,1015675,82,2,1,1,,4,2,2,,80,0,2,4,1,970,1,,1,550,1,1,1,7,,,,1,1,,13,1,960,9,,,,,,1,5,41000,0,4,4,4,1,6,0,,0,1,0,21,0,0,0,0,0,2,714,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,117,116,30,112,24,89,79,88,103,111,86,150,23,88,94,25,20,93,129,97,71,136,83,86,68,102,21,22,30,28,130,84,66,34,114,92,77,145,75,128,112,117,27,120,25,87,76,81,83,81,78,145,23,117,96,18,23,81,107,82,63,143,97,86,77,147,25,23,26,23,138,91,83,41,150,76,71,166,80,112 H,428322,8,500,4,16,1015675,238,2,1,1,,4,2,2,,10,0,2,10,1,,1,,,,,,1,8,2,1200,,2,3,,,1,900,1,7,19200,2,1295,81,2,3,19200,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,80,70,76,234,417,237,82,227,257,65,216,388,427,378,220,234,260,231,71,213,442,380,409,237,60,226,387,248,246,349,258,76,80,76,261,213,225,253,418,232,68,66,76,232,399,274,93,205,208,76,239,356,470,495,241,230,226,209,78,228,372,363,369,253,82,293,416,201,215,425,232,71,70,82,246,219,214,206,403 H,428325,8,100,4,16,1015675,392,1,1,1,,3,2,2,,90,0,2,2,1,600,1,,1,720,1,1,1,4,,,,1,1,,17,1,750,3,,,,,,1,6,26000,0,4,4,4,1,5,0,,0,0,0,40,0,0,0,0,0,2,873,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,365,106,386,595,613,636,415,393,431,376,419,145,116,130,406,662,370,105,459,773,369,107,366,610,666,627,409,385,415,403,388,126,109,119,363,714,389,104,466,751,370,131,360,715,572,619,349,420,402,384,377,114,111,108,319,745,405,125,426,726,397,112,371,646,605,655,337,412,436,425,408,129,131,121,361,690,383,115,447,666 H,428392,8,700,4,16,1015675,82,6,1,1,,5,2,2,,30,0,300,3,8,350,1,,2,1200,2,1,1,9,,,300,1,1,,21,2,2,2,1,235480,3,,,1,1,235480,0,3,3,3,1,4,4,6,0,0,4,10,0,0,1,0,0,2,1918,2,0,1,52,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,24,83,78,79,156,22,89,89,130,79,155,150,25,24,79,82,90,81,154,144,153,80,85,79,25,149,86,84,26,80,23,22,125,147,98,77,83,86,23,131,133,82,86,88,27,140,85,78,24,91,23,24,154,140,80,86,81,79,24,25,24,85,88,95,141,25,85,82,132,81,150,135,22,25,86,78,88,84,125,25 H,428460,8,800,4,16,1015675,66,0,1,1,,3,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,22,19,64,21,68,69,104,58,103,73,117,75,68,22,80,57,18,117,22,73,77,59,21,72,110,21,67,23,59,110,71,132,20,66,107,111,68,65,60,109,18,20,61,17,64,72,116,76,122,70,116,72,72,21,64,72,21,108,18,59,77,73,20,79,133,21,74,22,69,130,71,104,18,65,110,97,73,67,80 H,428472,8,500,4,16,1015675,86,6,1,2,1,5,2,2,,100,0,2,50,2,550,1,,1,1800,1,1,1,9,,,,1,1,,22,2,2,1,2,54000,1,,,1,1,54000,1,1,1,1,1,1,3,6,1,0,4,43,0,0,1,0,0,1,1950,3,0,1,39,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,82,85,196,102,80,93,90,160,85,89,26,23,132,141,23,83,143,25,90,132,70,77,21,95,88,94,83,27,102,78,153,124,24,23,149,107,22,143,79,119,94,83,23,79,98,96,93,24,76,81,132,131,26,24,128,91,27,138,95,21,86,90,145,83,91,91,95,160,79,85,28,28,134,143,32,94,128,27,95 H,428545,8,600,4,16,1015675,68,1,1,1,,4,2,2,,60,0,2,200,1,400,1,,,,,3,1,6,,,,1,2,,18,1,40,7,,,,,,2,6,38900,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,1,1,1,463,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,118,70,69,20,118,69,70,110,67,75,126,74,62,63,113,21,22,75,111,117,20,69,62,112,22,71,61,19,76,67,20,66,71,67,20,114,123,76,122,116,21,74,65,118,20,64,75,20,63,69,20,68,66,62,22,107,112,67,19,21,104,67,70,18,116,71,76,123,68,70,117,78,70,72,107,20,20,65 H,428894,8,500,4,16,1015675,104,2,1,2,1,4,2,2,,90,0,2,30,1,500,1,,,,,3,1,9,,,,1,2,,21,2,40,1,,,,,,1,5,37030,0,4,4,4,1,1,0,,0,1,0,13,1,0,0,0,0,1,415,,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,29,97,124,186,94,191,173,31,33,110,102,118,103,172,27,99,111,94,171,30,146,103,101,31,95,36,30,187,184,98,107,88,104,31,182,130,99,114,167,28,175,115,103,32,113,31,31,167,173,94,97,116,101,26,160,96,109,113,34,185,29,115,95,152,107,160,219,29,30,97,98,111,101,185,35,93,107,125,33 H,428997,8,700,4,16,1015675,106,1,1,1,,3,2,2,,60,0,2,20,1,400,1,,,,,3,1,5,,,,1,2,,17,1,300,3,,,,,,1,6,30000,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,1,1,1,246,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,92,30,30,107,170,33,190,110,101,110,97,116,94,29,166,104,100,179,105,104,184,120,102,189,118,125,109,204,33,26,28,31,157,100,104,37,199,98,176,29,111,172,200,106,31,195,35,104,120,100,102,105,113,171,33,101,106,31,104,98,30,105,99,29,95,102,110,30,177,185,185,180,35,107,99,190,31,107,32 H,429108,8,100,4,16,1015675,105,2,1,1,,2,2,2,,150,0,2,2,1,500,1,,1,630,1,1,1,4,,,,1,1,,17,2,540,9,1,110020,4,,,1,1,110020,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,0,0,2,825,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,31,38,160,191,34,114,164,33,29,103,110,165,108,112,104,107,179,120,115,98,30,31,171,194,24,100,188,29,32,113,106,168,123,105,119,118,173,109,81,121,188,179,35,29,209,110,28,179,167,107,134,28,109,114,91,107,35,120,103,103,173,191,34,28,178,105,35,182,164,135,108,29,114,108,98,108,31,93,101 H,429126,8,700,4,16,1015675,114,2,1,1,,3,2,2,,120,0,2,3,3,500,1,,,,,3,1,5,,,,1,2,,15,3,360,5,3,78400,4,,,1,1,78400,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,2,2,1,284,,0,1,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,36,35,192,185,34,117,194,34,37,110,118,196,110,106,107,110,183,107,111,115,37,35,188,195,37,119,179,34,36,120,114,186,112,110,101,112,199,112,116,116,34,32,195,197,32,116,203,36,36,113,108,185,123,111,99,135,234,121,99,119,27,32,168,211,32,107,187,32,35,105,116,204,111,122,110,118,180,122,100 H,429156,8,100,4,16,1015675,84,1,1,1,,3,2,2,,60,0,2,180,1,550,1,,2,670,2,1,1,5,,,,1,1,,18,1,50,2,,,,,,1,4,8000,0,4,4,4,1,1,0,,0,0,0,101,0,0,0,0,0,1,1077,3,0,1,26,,,,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,117,59,135,212,33,60,131,67,170,166,23,84,40,98,61,40,73,22,70,19,26,153,85,58,178,75,35,206,45,53,130,71,143,72,65,97,103,144,50,210,193,66,100,199,20,66,153,70,146,125,30,80,29,117,103,59,71,26,155,14,37,130,44,68,188,112,48,96,29,49,126,94,161,49,52,83,100,153,38 H,429296,8,100,4,16,1015675,108,4,1,,,3,4,,,30,0,2,20,1,,1,,,,,,1,5,2,730,,1,3,,,2,1,4,5,31000,3,780,20,1,2,46000,0,1,1,1,1,4,2,3,0,1,2,,2,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,145,104,95,147,125,36,31,34,108,94,85,95,86,218,218,180,99,26,120,35,188,155,119,166,114,33,32,30,129,118,79,111,147,217,223,167,119,33,105,31,185,109,99,158,105,37,34,34,142,124,128,134,138,183,160,182,117,31,95,32,183,112,108,164,100,33,30,35,85,101,109,90,97,185,185,189,98,37,133,39 H,429360,8,400,4,16,1015675,199,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,59,196,228,74,235,297,55,53,317,221,176,314,215,321,204,220,216,53,361,163,64,203,194,73,201,308,72,63,332,221,198,297,177,280,220,209,189,61,62,172,321,211,264,277,193,66,276,310,47,211,210,50,228,67,193,207,204,314,53,189,354,205,222,398,178,51,360,300,72,264,217,60,186,48,200,203,186,310,276 H,429554,8,800,4,16,1015675,109,2,1,1,,3,2,2,,90,0,850,70,1,300,1,,1,750,1,1,1,8,,,280,1,1,,13,2,50,7,1,58000,4,,,1,1,58000,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,0,0,1,1265,2,0,1,18,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,108,153,107,158,183,32,30,109,110,90,108,196,30,92,101,108,188,40,32,133,139,195,102,176,205,32,36,115,122,107,102,180,34,98,117,106,147,34,197,101,87,33,108,33,33,162,189,107,104,91,116,27,170,129,101,117,29,181,190,85,96,34,112,30,34,198,214,119,95,117,121,33,204,118,118,111,34,184,29 H,429599,8,100,4,16,1015675,188,1,1,,,2,6,,,60,0,2,3,3,,1,,,,,,1,4,2,630,,1,3,,,1,1,3,,,,690,51,1,6,16200,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,58,175,242,187,186,185,67,166,80,53,340,180,330,200,160,291,124,281,63,176,60,201,182,185,369,205,59,189,41,55,269,216,330,178,201,292,308,315,52,230,249,262,212,119,46,258,309,185,293,296,62,187,58,176,139,61,264,72,296,173,360,165,151,233,56,129,288,206,337,299,48,218,68,232,194,49,183,54,354,238 H,429760,8,200,4,16,1015675,121,1,1,1,,3,2,2,,30,0,2,100,1,300,1,,2,750,2,1,1,6,,,,1,1,,18,1,1000,2,,,,,,1,4,58000,0,4,4,4,1,4,0,,0,0,0,25,0,0,0,0,0,1,1196,3,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,117,103,208,120,244,119,130,135,41,178,34,120,88,27,134,240,52,33,30,39,90,103,32,124,34,115,137,138,167,109,179,90,154,261,143,49,183,201,41,38,123,125,43,126,35,115,103,158,182,150,209,111,127,201,91,34,213,198,192,227,115,84,217,145,191,152,134,102,34,123,30,127,136,37,150,217,32,30,214 H,429887,8,200,4,16,1015675,72,1,1,1,,4,2,2,,20,0,150,10,1,500,1,,,,,3,1,9,,,,1,2,,14,1,320,6,,,,,,1,6,30600,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,0,1,250,,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,75,131,104,19,72,124,96,57,69,118,21,80,26,18,70,21,125,75,67,90,80,25,88,130,71,18,23,66,74,25,125,67,95,131,68,110,26,59,67,74,80,134,70,19,85,107,108,87,59,122,25,66,23,24,82,23,137,71,80,69,68,21,69,116,92,29,17,55,87,25,113,93,109,114,61,86,21,66,66 H,430115,8,800,4,16,1015675,55,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,13,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,15,17,49,61,46,16,105,14,60,95,83,83,54,14,87,63,52,55,19,102,55,54,18,15,86,65,53,60,93,49,46,55,17,52,54,91,17,100,58,57,16,17,54,47,54,16,106,17,50,77,93,92,58,16,94,46,49,61,18,99,63,55,18,16,82,65,73,51,85,55,64,56,15,51,47,94,15,91,62 H,430409,8,100,4,16,1015675,94,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,2,460,,,,1,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,31,32,24,97,155,80,29,100,109,25,92,151,140,156,79,95,99,83,148,101,27,22,29,90,165,103,26,99,113,28,90,156,212,220,99,101,98,85,162,78,30,32,32,83,146,91,29,104,94,30,73,151,164,147,111,92,97,83,138,79,22,28,25,107,219,109,32,95,98,32,98,169,178,138,84,107,100,94,144 H,430616,8,400,4,16,1015675,119,2,1,1,,3,1,2,,80,0,250,3,3,320,1,0,,,,3,1,5,,,,1,2,,16,2,30,5,4,24900,4,,,1,1,24900,0,4,4,4,1,1,0,2,0,0,0,13,0,0,0,2,2,1,273,,0,0,29,1,6,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,111,201,139,119,116,38,36,127,36,169,37,178,88,206,220,129,122,109,121,121,194,114,42,200,204,115,91,44,186,134,108,95,37,119,101,228,179,33,41,106,43,118,202,37,28,129,149,214,134,103,160,117,182,100,89,36,32,192,214,211,153,45,120,142,118,172,165,110,184,34,233,39,102,30,40,124,122,117,103,30 H,430763,8,300,4,16,1015675,102,1,1,1,,1,2,2,,120,0,200,3,6,330,1,,2,450,1,1,1,5,,,,1,1,,9,1,290,9,,,,,,1,4,24020,0,4,4,4,1,4,0,,0,0,0,32,0,0,0,1,0,1,639,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,168,32,152,138,87,102,111,100,116,32,168,112,115,169,151,113,29,32,91,29,100,107,118,33,173,165,190,176,35,100,94,188,25,106,108,37,91,99,33,116,188,31,201,97,99,112,88,116,112,29,167,98,106,178,165,111,27,33,114,26,100,106,94,37,192,173,179,179,38,104,99,170,28,98,94,30,99,98,30 H,431202,8,800,4,16,1015675,127,1,1,,,2,5,,,100,0,2,3,3,,1,,,,,,1,4,2,480,,1,3,,,1,1,4,,,,580,50,1,6,14000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,124,175,122,214,38,144,162,184,131,147,98,131,104,48,132,237,46,99,42,63,169,192,160,196,45,157,237,231,112,126,135,103,141,34,150,229,34,165,241,213,133,33,159,37,170,114,45,48,162,120,131,141,168,173,153,38,261,171,197,189,131,46,112,31,207,107,39,29,111,142,105,163,95,240,144,42,206,107,38 H,431806,8,600,4,16,1015675,106,1,1,1,,3,2,2,,40,0,50,140,1,600,1,,1,1000,1,1,1,5,,,,1,1,,16,1,300,5,,,,,,1,4,42340,0,4,4,4,1,1,0,,0,0,0,34,0,0,0,0,0,1,1209,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,193,102,174,118,29,107,31,164,99,32,33,108,112,92,100,122,184,121,200,33,183,103,174,99,36,106,32,164,102,32,32,102,109,116,105,103,177,106,32,165,30,116,34,113,182,107,163,33,119,180,190,109,108,109,115,102,28,103,29,199,30,109,35,103,168,97,185,30,108,193,178,100,110,118,103,109,30,95,178 H,431987,8,800,4,16,1015675,371,2,1,1,,2,2,2,,30,0,2,30,1,,1,,,,,,1,5,2,650,,1,3,,,2,1,7,1,47000,4,710,18,1,1,47000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,363,94,357,112,141,585,586,382,418,434,342,109,648,330,405,369,130,586,330,109,410,621,379,617,661,123,121,420,368,340,379,563,115,340,328,345,566,118,336,111,347,602,398,548,559,114,107,375,346,323,333,550,117,469,365,351,554,103,378,697,381,112,413,126,111,569,746,420,324,412,404,135,588,357,345,337,128,617,392,651 H,432286,8,200,4,16,1015675,13,2,1,1,,3,1,2,,190,0,2,3,3,300,1,0,,,,3,1,7,,,,1,2,,10,3,240,4,3,66700,4,,,1,1,66700,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,2,277,,0,0,12,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,14,11,3,12,21,14,24,29,4,12,5,12,14,5,14,4,25,24,10,10,13,16,3,14,29,13,22,23,4,15,3,13,12,4,15,5,24,21,10,13,15,13,5,16,30,15,24,23,3,12,4,12,12,4,13,5,23,21,16,15,17,11,3,10,20,16,29,27,3,13,3,12,11,5,13,4,24,20,12 H,432599,8,800,4,16,1015675,67,3,1,1,,4,2,2,,50,0,2,70,1,330,1,,1,910,1,1,1,6,,,,1,1,,16,3,600,2,6,38000,4,,,2,2,38000,0,4,4,4,1,3,0,3,0,0,0,34,0,0,0,1,1,1,1080,3,0,1,24,1,12,12,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,78,68,77,112,88,97,65,24,57,103,75,66,119,66,17,21,21,72,132,66,67,74,64,21,19,19,68,111,82,19,68,64,17,69,119,119,105,76,21,82,80,59,67,141,125,134,61,23,60,106,68,61,94,68,20,24,20,69,112,67,71,56,68,20,18,20,68,119,64,18,66,74,22,57,143,113,101,67,21 H,432765,8,400,4,16,1015675,106,2,1,2,1,2,2,2,,60,0,150,3,6,600,1,,,,,3,1,4,,,,2,2,,16,2,230,6,6,15430,4,,,3,2,15430,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,2,180,,0,1,11,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,89,172,107,90,197,122,40,36,25,129,120,97,83,107,176,149,170,125,133,253,104,35,87,87,45,106,191,135,121,110,136,109,101,129,27,29,41,131,162,202,106,38,85,93,42,112,184,160,132,109,155,106,97,133,28,33,39,125,38,49,85,174,84,74,282,137,36,39,26,107,150,95,78,117,174,164,127,95,48 H,432803,8,300,4,16,1015675,58,5,1,1,,3,2,2,150,100,0,2,260,1,450,1,,1,580,1,2,1,5,,,,1,1,,11,3,500,7,1,54004,2,,,2,1,54004,0,2,2,2,1,4,3,5,0,0,3,25,0,0,1,0,0,1,1132,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,89,75,96,62,90,65,64,62,20,51,18,58,55,18,64,85,16,15,89,87,63,65,98,47,80,69,56,58,18,54,21,54,79,16,51,77,18,18,107,79,89,74,81,64,82,58,55,68,16,54,17,55,59,19,49,85,18,18,123,76,66,70,106,62,81,55,49,60,17,57,17,52,84,18,53,87,21,19,89 H,432962,8,400,4,16,1015675,152,4,1,2,1,4,2,2,,80,0,2,170,2,2400,1,,1,1500,1,1,1,8,,,,1,1,,21,2,240,6,1,105900,2,,,1,1,105900,0,2,2,2,1,2,2,4,0,0,2,20,0,0,1,0,0,2,1770,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,47,143,163,127,203,146,283,163,189,264,152,51,286,245,43,166,129,43,170,44,53,117,156,159,200,174,264,151,133,267,156,36,272,233,38,155,169,41,140,225,257,154,138,133,47,186,36,132,163,40,172,272,51,58,200,157,163,205,149,226,318,168,135,205,49,140,57,185,146,49,152,239,46,51,226,131,133,195,150,61 H,433013,8,100,4,16,1015675,80,1,1,3,1,4,2,2,,50,0,300,3,6,420,1,,,,,3,1,7,,,,1,2,,18,1,50,5,,,,,,1,6,25300,0,4,4,4,1,6,0,,0,0,0,11,0,0,0,1,1,1,239,,0,0,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,165,71,25,84,60,65,118,21,147,18,123,75,90,72,15,61,112,77,22,74,77,137,100,27,24,20,85,83,105,88,87,148,123,140,103,33,93,113,66,128,34,95,125,87,72,71,22,124,25,156,29,76,75,68,143,67,20,83,106,73,70,22,92,136,138,133,78,87,62,105,104,17,29,21,62,130,76,35,81 H,433299,8,800,4,16,1015675,56,6,1,1,,3,1,2,,150,0,2,3,3,600,1,0,2,640,2,2,1,5,,,,1,1,,11,3,2,3,2,24300,2,,,2,1,24300,0,2,2,2,2,5,3,6,0,0,3,46,0,0,1,0,0,2,940,3,0,0,24,3,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,60,91,56,19,67,95,16,40,53,15,45,15,53,80,55,89,76,99,65,107,52,16,55,96,19,17,69,53,74,89,50,93,65,59,48,14,49,15,50,19,46,87,58,13,83,126,13,38,70,19,44,23,50,59,63,89,51,92,64,95,57,17,56,105,13,11,113,69,49,80,49,108,54,53,52,16,78,22,68,22 H,433506,8,200,4,16,1015675,219,2,1,1,,2,2,2,,70,0,2,4,1,600,1,,1,330,1,2,1,4,,,,1,1,,8,2,600,9,3,12000,4,,,1,1,12000,0,4,4,4,1,4,0,2,0,0,0,45,0,0,0,0,0,2,454,3,0,1,20,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,278,262,358,248,381,243,64,343,81,176,248,113,160,293,76,55,299,230,272,263,308,225,408,254,246,221,58,205,94,158,291,78,166,310,79,97,262,171,391,247,269,206,257,218,230,245,98,179,69,313,192,70,194,290,75,59,316,313,397,263,333,237,405,285,210,197,61,203,80,223,205,72,220,347,86,96,314,236,297 H,433869,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,433954,8,200,4,16,1015675,22,3,1,2,1,5,2,2,,300,0,3500,2,4,0,1,,,,,3,1,9,,,,1,2,,16,3,2,9,2,123000,4,,,1,1,123000,0,4,4,4,1,3,0,3,0,0,0,7,0,0,0,2,2,1,692,,0,1,24,2,6,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,17,6,25,24,57,47,7,8,33,24,5,32,41,27,22,6,26,25,21,27,19,37,26,23,11,9,37,50,6,20,40,8,6,24,21,44,25,19,24,21,23,7,18,26,40,35,6,5,35,19,9,46,36,26,29,7,23,23,21,22,22,49,24,23,8,7,36,41,7,26,48,8,7,22,20,45,29,23,20,17 H,434228,8,200,4,16,1015675,37,3,1,2,1,5,2,2,,300,0,2,3,3,500,1,,,,,3,1,9,,,,1,2,,16,6,2,5,4,91000,4,,,1,1,91000,0,4,4,4,1,7,0,3,0,0,0,5,0,0,0,0,0,1,342,,0,1,1,2,6,9,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,55,46,11,12,64,33,8,62,80,44,42,11,39,34,37,54,13,31,30,30,58,62,12,12,71,30,10,68,64,30,37,10,30,38,33,36,11,32,39,42,8,10,67,61,12,47,71,10,12,29,35,61,36,41,37,35,62,37,34,28,8,8,55,66,10,33,54,10,9,40,45,66,35,31,33,49,76,35,37,41 H,434294,8,600,4,16,1015675,107,2,1,1,,2,3,2,,90,0,2,3,3,300,1,,1,700,1,1,1,4,,,,1,1,,15,2,420,5,,,,,,1,7,48000,0,4,4,4,1,4,0,,0,1,0,21,3,0,0,0,0,1,825,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,106,188,121,94,30,35,181,177,32,115,184,30,31,112,103,181,101,93,112,99,99,28,107,101,199,175,32,34,173,99,34,187,198,107,97,34,107,115,115,104,109,186,107,101,30,30,172,163,33,102,184,30,29,114,110,188,104,102,103,110,112,29,101,109,188,187,30,34,163,92,31,193,208,111,113,30,113,123,106 H,434368,8,400,4,16,1015675,167,3,1,1,,3,2,2,,40,0,2,70,1,200,1,,2,800,2,1,1,5,,,,1,1,,15,3,340,1,5,45000,2,,,1,2,83000,0,2,2,2,1,2,1,2,0,1,1,15,2,0,1,0,0,2,1022,3,0,1,18,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,77,319,180,66,156,139,148,366,55,232,54,335,137,150,159,50,251,335,178,308,147,218,60,168,222,212,242,152,189,129,178,184,56,48,39,143,245,135,40,43,183,147,290,186,57,49,54,177,206,110,214,150,244,247,267,167,73,214,264,177,224,63,141,271,220,174,166,54,349,55,248,52,146,167,174,258,173,44,95,176 H,434400,8,800,4,16,1015675,23,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,39,20,43,8,6,21,20,21,40,22,8,23,7,8,34,21,41,26,25,28,33,23,39,6,7,21,26,21,37,23,6,22,6,6,37,23,40,21,23,21,42,20,33,6,8,23,24,23,41,22,6,25,8,7,42,22,37,21,20,28,42,23,46,7,7,26,27,24,45,23,7,22,5,7,33,24,40,26 H,434781,8,200,4,16,1015675,64,2,1,1,,2,2,2,,40,0,2,30,1,,1,,,,,,1,3,2,600,,1,3,,,1,540,9,4,32900,4,715,26,1,1,32900,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,73,17,18,71,59,69,62,64,84,50,18,113,63,117,85,18,81,27,19,18,61,132,112,61,62,62,64,79,15,79,98,11,66,30,56,94,60,108,21,23,70,139,115,69,57,58,55,73,20,68,107,22,66,22,87,92,76,123,94,105,45,26,19,52,63,67,59,72,92,70,19,80,64,168,48,17,55,17,138 H,434863,8,200,4,16,1015675,26,1,1,1,,3,2,2,,30,0,520,3,4,470,1,,,,,3,1,7,,,,1,2,,8,1,660,6,,,,,,1,6,27260,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,1,2,221,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,24,28,33,29,7,7,7,29,46,30,8,25,24,7,27,43,41,36,43,29,25,24,29,29,9,8,7,21,41,23,8,19,21,7,23,37,39,32,7,20,24,22,27,24,41,53,49,19,8,31,43,23,26,44,23,7,5,8,5,27,27,36,33,22,44,45,49,23,7,27,34,21,29,48,26,7,7,7,34 H,435153,8,900,4,16,1015675,44,2,1,1,,3,2,2,,30,0,2,170,1,430,1,,1,880,1,1,1,5,,,170,1,1,,18,3,640,2,1,86220,4,,,1,1,86220,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1303,1,0,1,22,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,40,48,15,20,14,33,70,64,12,72,62,13,56,55,70,76,38,44,71,50,38,39,13,13,15,68,87,36,16,41,35,21,45,85,77,78,62,44,75,40,53,51,13,15,14,42,86,51,15,52,69,12,39,72,73,80,42,40,91,67,50,50,12,12,15,63,68,37,16,42,39,12,50,101,68,71,55,50,137 H,435330,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,435379,8,700,4,16,1015675,119,7,1,1,,3,2,2,,140,0,2,3,3,380,1,,1,700,1,1,1,8,,,,1,1,,15,2,2,2,2,52004,3,,,2,1,52004,0,3,3,3,1,3,5,7,0,0,5,19,0,0,1,0,0,1,840,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,38,193,185,128,123,130,37,115,188,120,213,189,33,127,36,133,128,37,124,137,212,32,38,120,121,120,217,123,33,118,31,30,210,120,183,122,121,200,101,110,217,39,36,128,119,117,181,127,43,121,35,36,204,110,216,124,114,217,119,132,31,214,215,112,108,121,37,126,192,120,190,204,37,124,35,121,121,35,131 H,435418,8,100,4,16,1015675,29,2,1,1,,3,2,2,,40,0,2,190,1,4,1,,1,350,1,1,1,9,,,,1,1,,13,1,460,9,4,21500,4,,,1,1,21500,0,4,4,4,1,7,0,2,0,0,0,34,0,0,0,2,2,2,618,3,0,1,22,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,41,22,37,8,35,41,51,34,26,34,36,39,8,26,43,10,23,8,38,41,7,22,6,37,37,9,7,26,27,31,29,41,56,25,8,47,24,45,37,43,8,29,8,43,24,8,6,25,33,36,39,38,42,22,8,55,28,49,32,6,47,32,45,6,28,49,45,34,30,30,35,30,7,24,46,11,25,8,36,9 H,435973,8,500,4,16,1015675,98,1,1,1,,2,2,2,,60,0,2,30,1,250,1,,,,,3,1,3,,,,1,2,,17,1,150,2,,,,,,1,4,50000,0,4,4,4,1,3,0,,0,0,0,5,0,0,0,0,0,1,224,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,112,33,95,27,157,166,100,100,115,26,115,169,95,156,177,35,90,27,97,105,108,26,95,30,182,169,96,106,98,29,100,144,94,174,152,29,92,28,103,106,91,29,85,29,162,183,109,81,92,35,83,163,98,154,166,29,96,33,114,98,100,31,102,32,147,156,111,99,107,28,99,169,106,167,145,25,98,32,95,95 H,436151,8,600,4,16,1015675,148,2,1,,,2,9,,,60,0,2,3,3,,1,,,,,,1,5,2,610,,1,3,,,2,2,5,2,38000,4,670,21,1,1,38000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,143,47,45,276,159,212,150,133,259,156,224,42,38,137,153,148,243,137,50,139,154,230,260,44,152,47,140,139,43,150,45,240,250,146,152,142,43,139,236,142,146,41,47,239,153,275,142,135,246,137,235,43,46,164,157,145,280,141,43,156,165,272,257,46,143,40,137,131,39,123,40,251,283,156,140,144,50,162,221,165 H,436286,8,800,4,16,1015675,68,3,1,3,4,3,2,2,,200,0,50,3,3,600,1,,1,1000,1,1,1,7,,,,1,1,,17,5,2,4,3,101400,2,,,1,1,101400,0,2,2,2,1,5,1,3,0,0,1,14,0,0,1,0,0,1,1204,3,0,0,28,1,7,7,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,70,17,18,124,74,126,62,61,123,63,104,18,19,75,72,64,102,49,21,63,72,19,18,117,63,113,88,85,120,73,104,17,17,63,82,74,113,75,19,74,70,113,102,19,67,22,72,59,22,70,18,109,118,74,72,71,19,53,107,68,68,112,137,24,68,18,77,71,19,60,20,117,110,64,64,69,17,65,113,80 H,436329,8,900,4,16,1015675,43,4,1,2,1,3,2,2,,100,0,2,30,2,350,1,,1,470,1,1,1,5,,,,1,1,,11,3,2,3,1,62000,2,,,1,1,62000,0,2,2,2,1,5,2,4,0,0,2,12,0,0,1,0,0,2,600,3,0,1,7,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,42,47,42,75,70,61,40,12,46,61,41,39,71,48,11,13,14,42,14,48,50,47,40,71,88,81,46,12,46,74,43,45,70,44,14,12,10,45,68,41,40,47,39,13,14,10,40,78,40,13,46,39,10,52,73,69,73,37,67,40,43,42,41,15,14,14,43,74,43,14,48,53,13,39,73,76,64,42,11 H,436475,8,700,4,16,1015675,123,1,1,2,1,2,2,2,,30,0,2,100,1,300,1,,,,,3,1,6,,,,1,2,,18,1,2,8,,,,,,1,4,35200,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,2,322,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,120,126,206,219,166,115,37,121,200,119,125,203,117,33,35,44,120,123,120,198,133,122,38,37,37,133,221,102,35,133,110,38,124,220,218,207,141,128,134,38,121,139,222,224,202,119,36,117,220,117,124,206,124,35,36,40,114,132,117,198,111,114,40,34,35,125,187,129,35,119,111,40,125,195,197,209,133,135,118,35 H,436619,8,400,4,16,1015675,80,1,1,,,2,5,,,2,0,2,3,3,,1,,,,,,1,5,2,600,,1,3,,,1,1,2,,,,600,24,1,6,30030,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,77,120,98,135,22,34,104,69,93,114,93,23,92,27,22,144,63,143,96,86,103,123,63,231,27,19,112,62,90,172,109,37,60,23,25,104,80,149,84,80,68,115,70,162,22,19,73,85,87,269,83,25,86,25,37,143,90,134,62,82,63,118,87,119,28,25,66,97,119,146,121,20,69,30,23,121,80,159,53 H,436636,8,800,4,16,1015675,67,2,1,2,1,4,2,1,,130,0,2,190,1,1500,1,,1,850,1,1,1,8,,,,1,1,,24,3,2,2,4,91400,4,,,3,1,91400,0,4,4,4,1,3,0,2,0,0,0,15,0,0,0,1,1,2,1170,3,0,0,65,1,8,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,70,76,104,124,109,70,19,68,112,77,72,125,68,22,20,19,56,65,65,25,57,91,131,118,109,57,20,62,104,67,65,109,63,18,20,24,66,65,66,23,67,67,102,107,87,70,22,64,111,74,72,114,75,23,18,22,64,79,69,20,67,67,125,106,105,62,20,64,114,68,65,127,66,19,18,19,67,70,70,23 H,436725,8,100,4,16,1015675,66,0,1,1,,3,2,1,,,,,,,,1,,,,,,1,6,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,76,17,57,19,79,64,19,65,106,15,29,112,63,76,99,75,113,52,80,19,58,111,67,98,56,58,114,73,19,94,121,19,65,66,23,64,16,74,80,24,77,110,58,102,79,79,122,72,21,107,128,21,54,59,15,66,22,62,69,112,49,23,74,15,63,61,16,72,85,18,21,132,65,82,108,53,106,77,68,139 H,437022,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,437171,8,300,4,16,1015675,64,5,1,1,,3,1,2,,120,320,2,3,3,300,1,0,,,,3,1,5,,,,1,2,,9,2,2,3,2,22000,3,,,2,1,22000,0,3,3,3,2,3,3,5,0,0,3,9,0,0,1,0,0,2,173,,0,0,8,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,25,14,118,84,123,54,69,111,54,115,20,24,84,55,71,73,69,28,64,46,77,126,24,68,23,75,81,21,67,24,130,128,76,66,77,22,55,100,56,50,16,33,129,68,77,69,96,83,84,111,23,23,63,56,56,105,49,18,56,92,143,81,20,62,21,66,120,23,51,25,90,73,65,59,84,23,90,129,45 H,437191,8,100,4,16,1015675,115,3,1,1,,3,2,2,,120,0,2,2,1,,1,,,,,,1,8,2,800,,1,3,,,2,580,7,7,28000,1,968,34,1,3,34000,0,1,1,1,1,1,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,35,101,125,203,229,41,44,204,145,35,195,174,109,105,33,114,112,109,101,126,201,129,104,30,30,211,218,38,105,200,36,36,109,125,171,119,113,99,113,133,217,114,132,38,32,208,179,36,119,173,38,39,106,100,177,145,104,97,115,100,32,120,122,223,170,36,36,158,108,33,206,198,143,125,37,118,98,110,108 H,437719,8,600,4,16,1015675,108,1,1,1,,3,2,2,,30,0,2,10,1,400,1,,1,900,1,1,1,5,,,,1,1,,16,1,250,3,,,,,,1,6,50300,0,4,4,4,1,4,0,,0,0,0,23,0,0,0,0,0,1,961,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,114,113,34,31,187,194,32,116,173,32,34,106,109,188,107,101,106,110,110,30,110,101,196,181,32,32,179,110,35,186,190,114,112,31,109,112,114,102,113,31,108,101,177,183,33,28,165,105,31,167,179,109,109,34,116,112,102,115,106,198,102,111,31,30,189,204,31,110,185,31,33,110,108,204,108,112,112,111,104 H,438009,8,200,4,16,1015675,22,2,1,2,1,3,1,2,,60,0,2,3,3,430,1,0,,,,3,1,5,,,,1,2,,15,2,300,3,4,20600,4,,,1,1,20600,0,4,4,4,1,1,0,2,0,0,0,11,0,0,0,2,1,2,196,,0,0,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,24,23,23,48,24,20,7,7,36,39,7,22,50,7,7,20,27,41,23,24,25,24,20,33,19,23,7,9,32,30,9,16,29,7,5,20,20,39,20,19,20,23,24,7,25,21,47,33,9,7,37,25,7,39,35,19,28,6,22,21,23,32,21,6,22,23,35,47,7,5,40,17,6,36,31,24,20,6,30 H,438593,8,600,4,16,1015675,78,1,1,1,,3,2,2,,40,0,2200,190,1,350,1,,,,,3,1,6,,,,1,2,,19,1,160,9,,,,,,1,6,48900,0,4,4,4,1,7,0,,0,0,0,17,0,0,0,1,1,1,712,,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,80,132,75,132,144,25,25,81,71,76,85,129,21,85,74,73,143,22,21,83,78,127,85,129,118,22,25,75,78,80,72,116,23,78,69,76,134,23,20,81,83,137,75,125,140,22,20,87,81,75,80,127,22,69,70,87,125,24,23,83,74,121,71,125,128,23,25,89,75,73,78,138,27,81,81,70,134,27,23 H,439062,8,700,4,16,1015675,107,2,1,2,1,3,2,2,,140,0,560,3,6,300,1,,,,,3,1,7,,,,1,2,,16,3,2,3,4,35700,4,,,1,1,35700,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,2,2,2,462,,0,1,42,0,9,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,34,107,107,108,98,112,200,116,37,176,119,171,100,31,105,27,152,100,34,165,205,120,106,100,115,107,30,109,207,33,107,32,102,164,96,178,31,100,179,30,31,109,98,113,104,112,181,105,34,179,98,178,111,32,100,35,203,110,30,181,181,98,104,107,93,108,29,103,177,28,103,35,105,192,106,180,32,110,170 H,439237,8,400,4,16,1015675,49,3,1,1,,3,2,2,,70,0,2,50,2,,1,,,,,,1,5,,,,1,4,,,2,620,2,1,34000,1,,,1,1,34000,0,1,1,1,1,4,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,14,51,89,45,41,68,66,15,19,12,50,49,48,59,53,78,82,83,52,20,12,40,90,53,38,75,47,13,16,16,43,41,49,56,46,71,69,72,51,77,91,46,17,50,42,15,41,66,95,76,49,55,49,44,40,12,15,15,52,81,75,47,20,59,47,16,46,71,85,97,53,48,48,48,44,14,14,13,51,12 H,439401,8,400,4,16,1015675,39,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,2,300,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,76,40,39,46,10,31,15,35,34,12,40,60,12,13,73,51,53,63,12,47,11,33,31,37,87,45,62,39,38,57,38,15,60,58,13,40,34,13,75,35,69,46,44,36,11,39,12,29,32,12,43,63,13,12,74,47,39,57,10,38,12,49,41,30,65,41,65,47,47,66,41,10,61,60,10,39,40,12,54 H,439982,8,600,4,16,1015675,208,3,1,,,2,5,,,50,200,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,2,3,5,16600,1,600,42,1,2,17000,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,2,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,236,356,66,233,214,79,200,251,65,201,196,180,58,365,312,339,373,66,214,167,185,69,335,206,204,383,205,206,354,261,230,201,352,52,59,60,61,332,209,192,174,63,357,201,266,434,200,169,363,222,188,213,363,65,66,68,71,345,197,221,228,297,53,227,194,66,156,239,74,198,210,199,57,359,344,393,307,66,200 H,439991,8,100,4,16,1015675,73,3,1,3,3,5,2,2,,130,0,2,3,6,900,1,,2,330,2,1,1,9,,,,1,1,,20,4,2,5,2,96500,2,,,1,1,96500,0,2,2,2,1,5,1,3,0,0,1,10,0,0,1,0,0,1,785,3,0,0,42,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,94,24,118,69,21,22,74,86,89,76,65,118,76,17,125,83,109,72,20,130,66,22,126,82,22,23,70,73,75,70,95,109,68,28,93,74,113,66,23,18,76,101,22,80,112,104,70,79,68,73,56,24,84,102,22,83,21,86,144,22,81,141,21,71,107,126,64,71,82,85,94,20,85,153,20,72,22,76,121,144 H,440010,8,400,4,16,1015675,68,2,1,1,,3,2,2,,30,0,50,70,1,250,1,,1,540,1,1,1,6,,,,1,1,,13,2,600,7,4,62100,4,,,1,1,62100,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,1,694,3,0,1,10,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,0,0,0,1,1,50,61,102,61,105,67,61,85,106,17,108,87,22,66,74,20,47,23,62,22,87,60,100,109,129,72,85,106,83,18,135,151,15,93,54,24,104,21,65,20,61,66,106,66,80,83,74,110,71,24,108,174,18,61,60,21,62,28,85,24,47,92,113,49,126,45,64,132,52,21,107,123,23,65,112,23,57,21,58,19 H,440018,8,100,4,16,1015675,62,3,1,1,,4,2,2,,100,0,2,120,1,480,1,,1,580,1,1,1,9,,,310,1,1,,14,2,40,3,7,63900,2,,,1,3,63900,0,2,2,2,1,3,2,3,0,0,2,21,0,0,1,0,0,1,1113,2,0,1,20,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,56,115,47,66,67,48,104,66,61,24,17,96,141,21,51,73,19,20,54,55,64,129,60,59,74,60,97,83,74,18,21,135,121,22,61,116,22,22,59,55,60,128,57,69,67,66,111,76,72,21,20,112,102,20,64,118,13,22,67,56,66,80,73,66,75,59,82,55,61,15,19,142,89,17,67,104,19,20,96,70 H,440469,8,600,4,16,1015675,299,5,1,1,,3,2,2,,70,0,2,40,3,,1,,,,,,1,6,2,900,,1,3,,,4,400,3,2,76000,1,1043,16,1,1,76000,0,1,1,1,1,1,2,5,0,0,2,,0,0,1,0,0,2,,,1,0,,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300,91,499,337,303,80,289,89,96,550,540,339,277,284,307,80,497,261,281,92,303,531,94,327,293,548,318,508,505,95,86,321,301,271,300,483,85,264,289,86,298,458,91,307,302,507,274,481,478,90,91,258,281,346,350,528,94,305,276,510,297,101,467,294,331,88,312,74,83,462,495,302,322,321,334,86,496,333,302,480 H,440789,8,300,4,16,1015675,80,2,1,1,,3,2,2,,140,0,2,140,1,500,1,,1,900,1,1,1,9,,,90,1,1,,14,1,480,7,4,34370,4,,,1,1,34370,0,4,4,4,1,7,0,2,0,0,0,46,0,0,0,2,2,1,1310,2,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,19,22,99,26,135,76,80,87,111,70,21,78,137,114,81,98,124,28,77,74,147,148,83,126,26,83,87,66,21,85,119,90,28,24,79,76,21,122,79,87,19,23,98,25,164,72,77,82,130,79,29,78,118,138,88,70,102,26,94,81,121,175,81,141,25,64,69,76,22,73,121,63,20,25,80,85,28,143,83,82 H,440811,8,500,4,16,1015675,148,2,1,1,,3,2,2,,70,0,2,3,3,,1,,,,,,1,6,2,750,,1,3,,,2,60,6,3,12100,4,825,82,1,1,12100,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,145,133,154,260,161,131,46,267,44,43,164,141,233,260,50,127,135,147,256,44,135,144,147,241,135,130,49,300,51,46,160,150,234,238,44,140,143,142,209,44,137,137,152,280,148,139,40,270,51,43,152,149,209,235,48,151,173,175,217,44,141,152,174,225,132,156,37,256,48,44,159,173,224,248,42,135,173,126,242 H,440850,8,500,4,16,1015675,251,5,1,2,1,4,2,2,,130,0,2000,3,8,450,1,,1,2000,1,1,1,9,,,500,1,1,,21,3,2,2,1,100000,2,,,1,1,100000,0,2,2,2,1,3,3,5,0,0,3,34,0,0,1,0,0,2,2797,2,0,1,62,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,418,388,459,215,257,251,233,242,80,76,79,259,453,270,94,230,257,79,70,276,71,75,70,226,241,262,264,271,444,437,415,233,77,235,417,243,232,435,420,243,440,412,430,267,286,239,256,267,79,68,73,240,395,242,85,256,291,79,73,260,82,82,75,232,211,275,229,285,366,366,401,282,69,269,425,235,251,400,397 H,441081,8,100,4,16,1015675,71,3,1,3,1,2,2,2,,70,0,2,3,6,500,1,,,,,3,1,4,,,,1,2,,19,3,2,3,1,30600,2,,,1,1,30600,0,2,2,2,1,3,1,3,0,0,1,7,0,0,1,0,0,2,170,,0,0,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,135,22,71,69,102,116,115,75,68,25,111,78,25,64,67,69,74,20,134,66,70,78,20,117,72,59,67,22,125,73,72,20,75,22,23,126,119,66,64,118,24,132,73,73,20,24,22,70,70,133,20,62,115,65,72,75,62,116,19,73,65,70,125,22,73,72,78,121,20,65,77,121,63,141,111,21,24,69,63 H,441197,8,700,4,16,1015675,120,5,1,1,,3,2,2,,300,0,2,3,3,350,1,,,,,3,1,5,,,,1,2,,9,2,840,9,2,162700,2,,,1,1,162700,0,2,2,2,1,5,3,5,0,0,3,4,0,0,1,0,0,2,532,,0,1,28,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,115,104,108,37,132,123,210,31,231,194,122,116,36,34,184,124,126,134,117,128,192,209,200,127,37,206,125,117,125,115,37,31,112,132,113,38,198,37,210,34,125,121,126,204,106,124,31,223,33,36,119,126,217,199,38,116,105,121,127,129,38,38,40,115,199,36,119,114,111,120,211,194,117,116,114,207,36,181,36 H,441420,8,800,4,16,1015675,108,3,1,3,1,4,2,2,,80,0,120,3,6,,1,,,,,,1,7,2,600,,1,3,,,3,2,6,1,34900,2,690,24,1,1,34900,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,109,92,103,106,134,33,96,266,37,89,37,116,139,92,174,32,110,200,181,32,120,103,105,107,111,174,131,35,191,111,179,98,32,109,26,189,100,31,34,169,92,121,95,114,91,29,119,150,34,94,41,93,181,126,159,36,87,217,179,28,98,94,104,100,116,187,97,35,178,112,184,115,38,124,40,198,106,40,33 H,442344,8,400,4,16,1015675,70,2,1,2,1,3,2,2,,90,0,2,3,3,350,1,,,,,3,1,6,,,,1,2,,15,2,2,2,4,18600,4,,,1,1,18600,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,0,0,2,211,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,66,79,68,62,18,76,67,102,129,22,28,133,62,20,127,120,76,73,70,20,79,101,70,73,20,71,88,103,93,21,29,121,73,23,94,86,72,72,104,131,81,79,72,64,130,77,64,19,21,102,101,19,62,126,29,22,58,64,86,95,60,84,83,89,115,66,84,19,19,119,119,16,54,107,29,21,65,84,82 H,442553,8,300,4,16,1015675,269,0,1,,,0,9,,,,,,,,,1,,,,,,1,1,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,315,506,410,93,92,276,238,290,242,432,83,265,253,289,448,75,291,279,86,433,261,541,393,71,77,254,262,250,261,406,74,308,252,247,459,82,240,286,370,80,288,84,77,436,418,221,252,268,215,82,413,294,321,274,83,450,305,275,417,76,258,77,84,466,398,267,285,271,308,80,446,302,271,274,98,487,247,245,80 H,442562,8,400,4,16,1015675,87,0,1,,,3,7,,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,76,83,173,81,136,67,71,92,20,98,24,83,88,25,99,161,22,22,24,24,96,90,25,84,24,90,84,98,159,76,145,89,92,131,77,30,158,135,162,135,91,92,151,76,167,95,68,74,25,85,24,79,81,22,85,161,26,23,25,25,78,98,32,90,22,76,94,74,151,77,155,96,82,134,77,28,147,161,168 H,442700,8,300,4,16,1015675,41,4,1,1,,4,2,2,,80,0,2,120,1,400,1,,1,1100,1,1,1,7,,,,1,1,,16,2,60,2,1,68400,3,,,1,1,68400,0,3,3,3,1,2,2,4,0,0,2,23,0,0,1,0,0,1,1305,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,76,48,75,68,43,44,44,37,61,37,72,42,61,66,77,70,39,37,37,11,12,39,13,11,40,47,39,42,11,43,15,42,12,12,13,12,42,43,43,69,68,47,70,67,38,45,49,38,70,40,74,40,68,72,71,60,42,53,48,11,13,42,13,13,38,36,40,39,10,43,10,38,12,11,11,13,40,42,40 H,443220,8,200,4,16,1015675,17,2,1,1,,3,2,2,,60,0,2,3,3,410,1,,2,670,2,1,1,5,,,,1,1,,16,3,260,3,1,68300,4,,,1,1,68300,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,1,0,2,886,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,3,36,32,19,16,21,7,15,33,14,35,24,6,27,4,20,18,4,16,20,26,7,3,19,25,15,27,13,3,23,5,5,33,16,27,18,19,27,16,12,5,32,24,16,17,17,7,28,35,19,34,21,5,22,4,18,18,5,15,18,31,3,5,15,19,20,22,15,6,22,5,5,21,23,41,19,18,29,15 H,443248,8,900,4,16,1015675,85,5,1,2,1,5,2,2,,150,0,2,3,2,800,1,,1,1800,1,1,1,9,,,330,1,1,,14,3,720,5,2,239500,2,,,1,1,239500,0,2,2,2,1,5,3,5,0,0,3,12,0,0,1,0,0,1,2340,4,0,1,24,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,153,84,86,27,24,150,139,27,72,168,24,24,80,89,135,71,93,101,80,99,147,87,85,24,26,125,126,32,72,155,33,23,76,70,142,99,96,84,66,100,125,87,94,21,25,142,171,23,85,140,25,26,90,83,131,68,70,78,90,125,152,104,74,25,27,161,149,25,78,128,22,23,89,87,151,87,69,86,85,82 H,443319,8,900,4,16,1015675,26,2,1,2,1,4,2,2,,70,0,2,30,2,10,1,,,,,3,1,7,,,,1,2,,17,2,2,6,4,59500,4,,,1,1,59500,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,2,2,1,168,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,29,34,38,30,27,10,6,8,30,48,26,8,29,27,7,23,43,47,42,39,27,24,26,25,32,6,8,12,26,40,24,8,28,22,7,28,43,40,50,9,37,41,30,26,24,41,51,47,20,8,26,40,23,33,50,27,7,5,7,14,32,24,32,25,24,39,48,50,22,7,27,48,28,20,45,36,8,7,10,39 H,443580,8,500,4,16,1015675,95,2,1,1,,4,2,2,,70,0,2,40,1,0,1,,,,,3,1,5,,,,1,2,,14,2,50,5,4,30500,4,,,1,1,30500,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,250,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,178,169,102,99,95,154,29,129,107,28,26,25,105,163,30,111,83,94,113,99,146,155,86,85,98,163,30,188,85,29,31,32,94,165,29,82,94,96,111,94,180,170,100,78,106,147,32,175,96,31,27,25,95,142,29,91,93,96,74,104,139,157,104,102,96,160,25,169,97,27,39,28,86,182,30,100,97,107,106 H,443630,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,443782,8,300,4,16,1015675,57,1,1,,,2,5,,,150,0,2,3,3,,1,,,,,,1,4,2,320,,1,3,,,1,1,7,,,,470,51,2,4,11000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,80,97,145,47,64,107,78,54,90,76,65,57,55,57,111,58,81,60,93,19,18,18,13,76,63,18,21,47,23,17,52,59,75,43,15,59,24,69,48,21,18,19,21,55,49,17,12,52,19,17,49,63,56,50,18,52,15,62,133,117,84,91,54,117,49,86,92,45,156,141,40,59,65,50,70,61,130,62,41 H,443893,8,600,4,16,1015675,122,2,1,,,2,9,,,80,0,2,3,3,,1,,,,,,1,5,2,640,,1,3,,,1,1,5,7,39150,4,720,22,1,3,39150,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,130,111,207,126,35,201,194,41,114,129,38,129,37,126,125,127,194,113,38,212,135,123,210,130,36,194,194,35,123,129,33,114,35,128,134,116,183,115,193,31,114,125,36,123,186,38,35,215,120,114,218,129,223,150,135,118,38,119,214,38,131,124,36,125,211,31,35,184,118,125,203,122,227,121,109,128,35,126,36 H,443943,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,444144,8,100,4,16,1015675,32,2,1,1,,3,1,2,,120,0,400,2,6,500,1,0,,,,3,1,5,,,,1,2,,14,1,360,5,4,26300,4,,,1,1,26300,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,2,2,2,300,,0,0,20,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,34,39,35,36,31,39,53,61,29,7,30,43,31,30,53,38,8,8,9,7,30,36,37,28,34,59,47,58,33,8,32,53,31,30,56,25,9,8,50,42,31,40,33,24,31,11,10,8,34,47,29,9,32,33,12,36,44,46,44,48,29,26,32,34,31,8,12,10,26,58,22,8,37,31,10,25,62,63,8 H,444149,8,200,4,16,1015675,78,2,1,1,,3,2,2,,110,0,2,3,3,350,1,,1,310,1,1,1,5,,,,1,1,,8,1,980,9,4,14900,4,,,1,1,14900,0,4,4,4,1,5,0,2,0,0,0,40,0,0,0,1,0,2,502,3,0,1,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,71,65,77,26,28,30,76,129,79,25,100,74,25,85,123,171,147,78,79,22,68,86,94,136,164,117,71,31,80,111,88,78,117,83,18,25,25,66,91,133,77,84,84,28,23,25,94,120,84,18,86,76,19,90,156,129,133,83,71,20,64,78,79,121,166,123,69,24,64,162,105,96,146,65,21,28,25,70,74,105 H,444160,8,800,4,16,1015675,371,2,1,3,6,4,2,2,,410,0,2,3,3,4800,1,,1,4800,1,1,1,8,,,,1,1,,23,3,2,5,1,26400,4,,,1,1,26400,0,4,4,4,1,7,0,2,0,0,0,101,0,0,0,0,0,2,5210,3,0,0,48,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,367,357,589,353,560,376,365,446,314,127,455,447,132,402,392,143,336,113,432,718,299,347,159,320,119,352,362,133,346,586,120,108,590,430,413,560,332,643,413,128,377,343,530,382,638,400,383,518,350,124,466,495,111,362,387,136,338,110,396,495,323,368,121,325,178,377,318,159,419,652,113,136,506,402,422,560,350,607,436,157 H,444537,8,800,4,16,1015675,42,3,1,1,,3,2,2,,40,0,2,70,1,250,1,,1,570,1,1,1,8,,,,1,1,,13,2,50,8,1,67000,4,,,1,1,67000,0,4,4,4,1,3,0,3,0,0,0,12,0,0,0,0,0,1,684,3,0,1,15,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,56,44,55,44,51,20,43,12,37,16,38,60,55,42,70,50,12,14,70,47,40,53,35,18,52,34,58,39,12,36,22,77,61,13,14,49,34,52,62,72,58,56,47,40,41,13,40,10,38,10,42,67,93,37,34,75,10,17,67,48,58,80,44,17,78,44,74,40,12,37,14,86,37,12,16,41,33,37,47 H,444638,8,500,4,16,1015675,82,1,1,1,,3,2,2,,20,0,2,40,1,360,1,,2,500,1,1,1,6,,,,1,1,,13,0,40,2,,,,,,1,6,16600,0,4,4,4,1,4,0,,0,0,0,43,0,0,0,0,0,1,593,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,23,100,73,21,69,152,20,20,145,80,78,151,95,146,78,78,76,26,145,85,27,76,105,28,69,165,25,24,124,78,87,131,84,135,87,76,80,25,25,83,137,92,86,132,75,25,148,130,21,85,66,20,75,25,84,86,82,126,27,73,144,84,81,153,75,28,144,143,23,74,91,22,90,24,82,79,83,158,142 H,444720,8,100,4,16,1015675,69,2,1,3,1,2,2,2,,190,0,2,3,3,600,1,,,,,3,1,5,,,,1,2,,18,2,580,3,4,47400,4,,,1,1,47400,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,605,,0,0,50,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,76,113,63,60,20,17,125,113,21,87,101,18,24,54,73,117,66,70,82,63,72,121,75,65,18,19,98,142,19,61,149,23,22,67,73,122,58,60,85,74,51,20,66,72,131,102,17,21,126,57,20,98,111,84,70,25,62,71,59,71,79,16,84,73,117,137,21,20,114,59,22,113,122,63,78,17,56,61,68 H,444787,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,444843,8,100,4,16,1015675,134,5,1,1,,3,2,2,,120,0,2,250,1,1100,1,,1,1100,1,1,1,7,,,,1,1,,14,2,120,2,1,67700,1,,,1,1,67700,0,1,1,1,1,3,2,5,0,0,2,26,0,0,1,0,0,2,1480,3,0,1,23,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,207,142,214,37,139,260,218,118,107,129,104,115,35,137,258,40,137,36,125,262,38,168,43,210,130,42,43,125,163,153,132,144,291,131,38,190,156,227,133,39,274,149,237,34,123,240,230,135,124,160,150,128,40,129,215,35,153,39,120,199,40,153,43,198,141,49,38,149,126,134,146,134,196,117,38,198,128,239,130,43 H,444908,8,300,4,16,1015675,119,2,1,,,2,5,,,40,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,2,1,2,1,29500,4,540,22,1,1,29500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,226,30,39,211,120,27,174,190,114,142,51,142,158,142,124,36,141,119,97,26,29,324,236,35,112,184,31,24,86,115,165,159,134,160,186,166,100,150,134,25,26,178,156,41,151,223,46,21,120,127,152,107,104,125,156,240,112,106,120,211,191,38,45,242,118,27,166,243,131,114,49,117,136,117,128,43,164,127,88 H,445065,8,600,4,16,1015675,87,3,1,1,,3,2,2,,50,0,2,180,1,200,1,,1,560,1,1,1,9,,,,1,1,,14,4,700,5,1,57100,4,,,1,1,57100,0,4,4,4,1,6,0,3,0,0,0,18,0,0,0,0,0,1,848,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,85,25,154,78,83,87,23,144,79,92,25,96,29,25,161,145,88,91,176,89,82,27,146,76,85,86,25,134,83,98,25,89,26,28,172,136,84,81,26,91,73,150,27,90,87,84,149,24,93,85,149,92,164,163,24,22,80,86,25,92,79,153,28,81,91,77,136,27,97,86,138,97,164,169,27,23,84,89,142 H,445236,8,200,4,16,1015675,105,2,1,1,,3,1,2,,50,0,440,3,6,510,1,0,2,450,2,1,1,7,,,,1,1,,10,3,730,5,2,19600,4,,,1,1,19600,0,4,4,4,1,4,0,2,0,0,0,43,0,0,0,0,0,2,708,3,0,0,18,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,29,93,127,211,188,36,34,155,109,30,181,217,108,93,29,116,99,97,77,99,46,107,85,197,190,35,37,143,125,39,158,206,135,111,29,79,99,96,107,124,193,87,117,34,32,168,154,30,105,191,28,31,105,94,178,92,133,131,121,70,159,89,99,34,31,163,142,32,99,188,46,36,123,133,169,78,119,123,105 H,445574,8,100,4,16,1015675,18,1,1,1,,3,2,2,,70,0,2,3,3,600,1,,1,490,1,1,1,6,,,200,1,1,,14,2,710,7,,,,,,1,4,36000,0,4,4,4,1,5,0,,0,0,0,27,0,0,0,0,0,2,819,2,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,27,24,42,15,26,39,14,7,32,31,5,22,15,8,27,5,19,16,17,4,31,24,41,17,15,34,13,5,31,35,7,29,15,5,19,4,22,20,22,35,5,24,5,15,24,7,14,36,7,6,25,17,15,33,20,25,15,27,25,28,7,24,5,16,18,7,16,35,7,4,28,17,17,36,27,40,15,16,17,7 H,445778,8,700,4,16,1015675,110,3,1,1,,5,2,2,,80,0,2,50,1,380,1,,1,840,1,1,1,9,,,,1,1,,18,3,240,5,4,69500,4,,,1,1,69500,0,4,4,4,1,5,0,3,0,0,0,17,0,0,0,0,0,1,990,3,0,1,37,2,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,181,35,34,108,108,177,200,33,119,107,103,32,122,126,115,174,103,98,114,108,109,101,111,196,181,114,99,114,193,34,191,109,32,32,32,119,201,34,32,194,34,185,177,115,114,32,32,186,110,105,120,171,108,110,101,35,109,124,110,96,108,103,109,34,33,122,109,109,33,201,32,114,182,199,196,98,32,180,206 H,445963,8,100,4,16,1015675,20,2,1,1,,3,2,2,,70,0,2,270,1,650,1,,2,1300,2,1,1,9,,,,1,1,,20,2,720,7,1,71100,4,,,1,1,71100,0,4,4,4,1,7,0,2,0,0,0,32,0,0,0,2,2,1,1896,3,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,38,22,8,27,5,22,17,7,7,13,17,18,14,15,35,17,6,40,47,17,35,24,5,17,5,43,25,6,5,14,17,22,18,22,42,20,9,30,31,20,34,20,7,16,7,30,14,5,7,26,20,20,18,17,35,19,6,32,27,24,37,19,5,19,8,36,23,7,7,30,19,24,15,17,30,20,8,30,38 H,446028,8,500,4,16,1015675,115,1,1,,,3,4,,,30,140,2,4,1,,1,,,,,,1,6,2,400,,1,3,,,1,50,8,,,,438,67,1,4,7800,0,4,4,4,1,6,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,97,121,35,188,117,119,27,122,30,39,192,224,129,123,112,96,29,173,231,118,125,108,38,201,107,118,31,108,33,34,179,187,113,116,136,117,30,213,33,133,135,125,191,39,103,109,186,116,195,195,37,42,113,111,102,120,196,32,32,105,124,115,171,32,99,110,176,100,191,207,32,33,129,147,115,108,198,32,220 H,447162,8,100,4,16,1015675,301,3,1,1,,1,1,2,,50,740,2,100,2,0,1,3000,,,,3,1,2,,,,1,2,,1,1,1,3,7,7100,2,,,1,3,7100,0,2,2,2,1,1,2,3,0,0,2,68,0,0,1,0,0,2,400,,0,0,1,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,75,115,336,265,335,293,346,573,581,441,244,96,290,463,321,256,508,288,92,95,77,94,287,306,287,295,335,445,521,475,297,87,366,492,307,396,548,294,119,87,95,132,192,362,340,363,351,482,422,502,224,83,339,576,265,291,446,310,99,95,102,81,339,315,246,325,298,490,430,468,309,121,377,485,256,268,453,287,96 H,447340,8,700,4,16,1015675,238,3,1,1,,3,2,2,,20,0,2,60,1,330,1,,1,860,1,1,1,6,,,,1,1,,19,2,580,4,4,70500,4,,,1,1,70500,0,4,4,4,1,4,0,3,0,0,0,17,0,0,0,1,1,2,988,3,0,1,34,1,6,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,86,238,237,237,354,249,402,239,242,426,220,65,417,388,81,252,223,65,203,388,381,234,242,239,72,231,69,236,228,72,223,398,73,67,406,265,232,377,268,70,68,237,254,223,408,231,407,250,230,395,229,70,391,372,68,225,235,73,255,404,372,237,218,230,69,264,78,224,252,76,235,397,73,70,407,245,222,403,226,74 H,447672,8,200,4,16,1015675,70,3,1,1,,4,2,2,,20,0,600,3,4,350,1,,,,,3,1,9,,,,1,2,,9,4,720,9,3,30130,2,,,1,1,30130,1,2,4,2,1,7,0,3,1,0,1,9,0,0,1,2,2,2,214,,0,1,15,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,61,18,83,92,86,72,19,86,73,146,95,23,18,108,72,23,127,106,72,75,75,106,75,86,76,77,133,79,68,16,19,99,90,21,74,125,19,20,61,70,76,109,90,87,87,76,95,70,73,26,22,126,109,20,84,107,20,20,62,94,80,30,90,50,63,72,17,68,71,133,112,17,19,125,76,22,93,98,61 H,447921,8,300,4,16,1015675,199,4,1,2,2,3,2,2,,110,0,2,3,3,110,1,,2,500,1,1,1,6,,,,1,1,,14,3,2,3,1,55800,2,,,1,1,55800,0,2,4,2,1,5,0,4,0,0,2,13,0,0,1,0,0,2,619,3,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,58,153,282,231,158,197,312,160,325,79,213,70,168,205,300,63,50,379,262,250,226,106,213,71,77,282,180,322,191,168,278,201,341,59,75,176,167,181,255,208,69,224,294,214,226,227,219,207,337,81,193,65,156,182,266,53,58,360,267,306,265,81,248,78,54,225,221,248,182,191,283,204,291,75,68,188,161,178,335 H,447936,8,100,4,16,1015675,31,4,1,1,,3,2,2,,100,0,2,60,3,300,1,,1,1400,1,1,1,7,,,,1,1,,19,2,650,1,1,106000,2,,,1,1,106000,0,2,2,2,1,1,2,4,0,0,2,18,0,0,1,0,0,2,1614,3,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,56,40,7,10,8,40,49,34,21,22,43,53,44,36,18,35,28,26,25,33,13,35,48,68,57,23,41,30,15,56,19,5,7,43,37,36,11,29,41,9,54,29,11,12,10,42,45,39,33,34,35,61,42,32,10,32,40,14,26,49,10,25,48,51,47,22,28,26,25,46,11,9,14,31,39,32,13,30,38,8 H,447941,8,700,4,16,1015675,87,3,1,1,,4,2,2,,50,0,2,180,1,200,1,,1,1400,1,1,1,5,,,,1,1,,18,2,40,1,7,55000,1,,,1,3,77000,0,1,1,1,1,1,1,2,0,1,1,25,3,0,1,0,0,1,1633,3,0,1,27,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,28,147,137,26,34,63,106,87,85,82,144,81,36,107,81,126,83,27,155,84,25,115,92,28,27,75,125,65,70,113,109,128,41,127,97,164,116,20,37,100,119,20,136,148,169,75,127,75,82,72,21,112,189,26,81,18,104,123,25,72,189,25,90,164,152,61,107,92,73,115,25,86,230,18,87,32,101,119,154 H,448330,8,500,4,16,1015675,141,2,1,1,,3,2,2,,30,0,2,100,1,600,1,,,,,3,1,7,,,,1,2,,14,2,1,3,4,68500,4,,,1,1,68500,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,286,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,246,149,129,40,269,52,42,100,169,222,245,46,149,148,153,39,132,136,175,43,145,255,46,128,112,131,131,263,214,125,144,155,265,47,289,121,38,42,46,145,38,139,160,276,43,242,266,163,126,48,42,253,144,123,137,224,145,156,119,213,149,35,215,200,165,155,112,40,44,131,147,124,48,228,39,162,229,187,247 H,448384,8,600,4,16,1015675,95,2,1,,,2,7,,,110,0,2,1,3,,1,,,,,,1,3,2,710,,1,3,,,2,1,4,1,43000,4,820,23,3,1,43000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,7,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,95,93,26,171,103,97,29,91,92,150,102,99,28,171,141,92,176,101,32,107,27,28,96,98,27,158,89,161,158,87,156,27,94,87,99,32,85,157,99,29,96,96,29,160,91,97,30,92,97,171,90,104,28,150,152,94,153,85,29,93,32,30,87,88,29,145,93,175,164,98,163,28,95,104,97,28,98,170,94,30 H,448438,8,900,4,16,1015675,23,4,1,1,,3,2,2,,50,0,50,100,6,580,1,,1,700,1,1,1,6,,,,1,1,,15,4,700,9,1,50000,2,,,1,1,50000,0,2,2,2,1,4,2,4,0,0,2,22,0,0,1,0,0,2,912,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,24,5,28,22,18,27,7,23,32,49,28,5,5,58,17,5,52,30,18,34,17,7,30,18,26,26,12,20,29,35,41,8,5,46,24,11,40,51,23,29,28,7,21,20,40,16,8,22,42,55,51,7,8,27,39,7,34,43,24,15,26,6,20,20,17,22,5,30,26,50,33,6,9,40,23,5,38,25,17 H,448538,8,600,4,16,1015675,140,2,1,1,,2,2,2,,40,0,2,100,1,1000,1,,,,,3,1,5,,,,1,2,,17,2,440,9,1,92000,4,,,1,1,92000,0,4,4,4,1,2,0,2,0,0,0,5,0,0,0,0,0,1,373,,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,149,146,147,151,36,146,138,239,232,39,40,234,139,39,238,228,133,166,129,45,125,154,127,151,42,130,141,243,240,39,39,230,144,52,230,227,134,134,137,231,130,146,144,144,257,148,133,41,38,223,241,45,139,234,38,46,147,134,160,240,158,144,160,136,224,135,131,39,36,237,230,43,142,211,40,46,157,119,161 H,448618,8,300,4,16,1015675,48,2,1,1,,5,2,2,,80,0,2,20,1,300,1,,,,,3,1,9,,,,1,2,,16,2,2,4,1,55880,4,,,1,1,55880,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,185,,0,1,16,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,45,18,42,92,67,53,108,38,15,13,11,44,44,40,36,61,67,61,86,11,45,55,44,11,49,84,15,99,113,94,97,49,41,42,54,41,19,19,112,14,47,75,58,15,71,66,20,60,81,78,114,31,41,64,49,36,15,15,13,81,58,16,40,77,43,45,80,38,15,11,12,75,56,34,41,89,93,58,14 H,448675,8,100,4,16,1015675,269,2,1,,,3,4,,,100,0,2,1,1,,1,,,,,,1,5,2,710,,1,3,,,1,1,4,,,,810,21,1,5,47300,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,489,295,92,76,88,313,260,286,248,248,406,395,462,309,85,218,396,250,233,96,491,324,96,92,75,304,209,291,274,256,506,339,448,320,86,291,384,321,266,476,63,299,463,399,583,358,308,285,291,240,56,61,57,265,534,270,82,233,269,511,68,262,506,503,484,256,284,288,306,235,70,84,90,311,575,265,70,268,256,65 H,449175,8,200,4,16,1015675,29,3,1,1,,3,2,2,,60,0,800,3,6,1200,1,,1,500,1,1,1,5,,,1000,1,1,,12,2,840,5,2,148000,1,,,1,1,148000,0,1,1,1,1,2,1,3,0,0,1,14,0,0,1,0,0,1,1697,1,0,1,18,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,23,30,10,30,26,59,50,13,9,59,22,8,49,48,35,33,10,33,30,33,31,42,47,22,29,7,7,49,51,11,29,65,8,10,29,23,51,44,38,28,22,28,11,44,41,61,51,5,8,42,29,8,48,66,31,26,9,31,21,30,29,39,50,23,31,9,10,50,47,9,30,53,12,9,33,35,44,27,31 H,449339,8,800,4,16,1015675,63,1,1,1,,3,2,2,,50,0,2,150,1,,1,,,,,,1,7,,,,1,4,,,1,600,6,,,,,,1,6,23500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,20,15,84,81,24,69,100,22,22,56,63,108,72,71,72,71,107,65,60,56,20,19,105,94,17,61,105,18,13,60,68,118,58,61,65,55,114,54,64,81,94,91,17,20,121,53,20,127,96,61,70,20,69,64,56,78,20,68,72,75,116,90,17,14,108,60,17,109,89,57,62,26,63,59,63,70,17,42,60 H,449878,8,400,4,16,1015675,138,5,1,2,1,3,2,2,,50,0,2,250,1,,1,,,,,,1,6,2,630,,1,3,,,2,50,6,1,34020,3,934,33,1,1,34020,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,226,234,37,44,254,136,67,286,191,123,129,35,159,179,134,120,40,130,147,113,218,211,35,31,198,138,38,215,282,150,124,49,168,151,201,164,53,170,137,105,41,52,239,183,36,170,268,55,27,97,178,208,147,150,110,124,210,130,133,171,48,38,232,235,37,151,323,52,46,150,120,194,101,144,241,165,236,179,175,158 H,450093,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,450134,8,200,4,16,1015675,22,3,1,3,1,3,1,1,,50,0,2,3,6,270,1,410,2,770,2,1,1,6,,,,1,1,,17,3,960,5,1,110000,1,,,1,1,110000,0,1,1,1,1,4,1,3,0,0,1,11,0,0,1,0,0,1,1039,3,0,0,21,2,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,24,6,20,34,24,21,19,37,24,40,7,21,7,20,20,22,7,4,33,20,5,19,47,20,28,41,6,21,7,17,21,7,21,7,35,35,24,26,21,35,23,7,27,40,19,23,17,28,26,52,9,22,5,23,21,25,7,4,26,23,5,21,39,23,30,36,7,20,4,25,18,5,26,7,28,31,24,22,22,42 H,450456,8,400,4,16,1015675,89,2,1,1,,3,2,2,,60,0,650,120,1,390,1,,,,,3,1,7,,,,1,2,,16,3,590,8,2,79600,4,,,1,1,79600,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,1,1,383,,0,1,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,87,73,85,102,114,85,96,28,32,134,159,29,93,110,24,31,93,128,170,84,97,90,90,94,138,78,117,33,24,123,149,26,95,179,26,20,81,78,147,107,87,96,97,113,133,81,84,25,33,146,148,29,116,144,27,26,98,117,123,88,86,66,101,83,146,130,103,21,22,107,193,34,83,169,28,18,72,78,144,124 H,450784,8,800,4,16,1015675,32,1,1,1,,3,2,2,,150,0,2,3,3,400,1,,2,540,2,1,1,8,,,,1,1,,15,3,120,4,,,,,,1,4,40600,0,4,4,4,1,2,0,,0,0,0,24,0,0,0,0,0,1,804,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,14,45,50,10,27,61,10,12,35,24,64,35,27,23,31,49,23,27,10,23,13,56,57,6,25,72,8,8,24,22,57,40,30,29,35,46,28,40,12,25,58,9,10,40,24,14,58,56,28,24,10,48,28,28,39,8,29,35,61,37,79,6,8,43,22,12,63,55,36,28,9,38,28,22,32,10,30,22,50,41 H,450952,8,800,4,16,1015675,82,2,1,2,1,3,2,2,,290,0,2,270,3,340,1,,2,800,1,1,1,6,,,,1,1,,14,3,2,9,1,108000,4,,,1,1,108000,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,1,0,1,1388,3,0,1,13,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,72,89,144,89,22,165,195,24,82,87,23,75,18,65,95,69,113,103,27,115,127,99,126,122,22,109,149,19,66,106,29,71,20,94,78,57,151,74,24,159,79,76,140,79,23,146,150,25,99,72,17,77,25,83,100,83,113,80,31,106,88,95,148,110,23,134,156,22,70,76,22,64,32,121,80,71,150,82,24 H,451237,8,700,4,16,1015675,259,3,1,1,,4,2,2,,50,0,2,50,1,320,1,,1,1200,1,1,1,9,,,,2,1,,21,3,30,2,1,137600,2,,,1,1,137600,0,2,2,2,1,4,1,3,0,0,1,11,0,0,1,0,0,2,1303,3,0,1,24,2,2,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,529,438,74,244,73,299,242,75,309,77,416,376,262,223,278,79,225,487,248,239,402,442,81,275,77,255,279,78,252,80,420,439,275,264,266,86,244,379,287,252,435,457,84,248,81,241,262,84,266,78,436,422,256,228,261,79,223,442,284,267,425,426,79,271,83,275,257,67,249,88,450,434,246,248,274,74,268,452,243,249 H,451273,8,600,4,16,1015675,98,4,1,1,,3,2,2,,40,0,2,150,1,,1,,,,,,1,6,2,730,,1,3,,,1,540,3,4,59600,4,965,19,3,1,59600,0,4,4,4,1,1,0,4,0,0,0,,0,0,0,0,0,1,,,1,0,,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,106,102,98,97,27,28,162,29,92,101,170,182,194,90,94,31,164,101,32,88,163,172,28,27,98,94,94,88,169,30,99,104,98,180,31,93,96,172,106,30,98,101,101,94,30,30,171,29,101,91,177,157,162,105,94,29,165,95,28,94,184,156,28,30,95,103,100,105,187,29,94,101,107,177,30,94,104,161,101 H,451381,8,700,4,16,1015675,129,2,1,1,,3,2,2,,50,0,2,60,1,380,1,,1,870,1,1,1,6,,,100,1,1,,16,3,100,2,1,31800,4,,,1,1,31800,0,4,4,4,1,1,0,2,0,0,0,41,0,0,0,0,0,1,1088,2,0,1,10,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,123,223,209,125,156,204,113,126,216,283,206,216,125,229,145,205,136,133,128,38,124,34,44,145,133,37,135,135,39,38,35,41,137,34,130,37,130,126,144,237,147,217,213,137,120,199,138,137,237,197,235,197,129,238,137,205,134,131,119,40,126,47,37,138,128,40,160,118,39,33,34,39,133,37,113,38,124,147,123,215 H,451535,8,700,4,16,1015675,103,2,1,1,,3,2,2,,70,0,2,50,1,280,1,,1,600,1,1,1,5,,,,1,1,,16,2,1000,3,,,,,,1,5,127000,0,4,4,4,1,4,0,,0,1,0,8,0,0,0,0,0,1,803,3,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,30,107,102,101,119,110,183,97,34,169,108,184,102,29,96,31,188,103,32,182,152,99,99,108,103,94,30,104,194,28,112,31,106,192,103,173,32,115,161,32,38,104,106,101,90,115,181,119,28,192,111,188,101,26,106,32,161,100,39,184,171,104,108,98,102,109,29,97,172,28,112,31,103,167,92,173,34,98,154 H,451796,8,100,4,16,1015675,106,3,1,1,,3,2,2,,50,0,2,120,1,360,1,,1,960,1,1,1,6,,,,1,1,,19,3,490,2,3,65900,4,,,1,1,65900,0,4,4,4,1,3,0,3,0,0,0,21,0,0,0,1,0,1,1171,3,0,1,30,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,34,204,101,112,29,106,32,31,167,205,101,89,117,114,32,161,109,122,33,95,176,29,95,114,165,103,194,177,30,32,120,101,121,113,176,36,96,101,27,104,195,35,122,116,196,97,187,181,33,30,115,90,109,107,154,33,118,109,159,108,27,193,121,107,33,97,30,32,166,203,102,92,106,107,30,176,116,109,172 H,451894,8,200,4,16,1015675,75,1,1,1,,2,1,2,,50,0,2,3,3,160,1,1600,,,,3,1,4,,,,1,2,,1,1,1,5,,,,,,1,6,8100,0,4,4,4,1,3,0,,0,0,0,31,0,0,0,1,1,2,207,,0,0,4,,,,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,109,103,100,79,26,84,23,76,82,25,86,132,26,21,96,72,67,108,144,68,125,77,87,84,29,92,19,57,66,21,71,110,24,20,101,76,82,119,124,79,128,70,66,79,23,90,35,56,73,28,78,122,22,22,109,75,65,105,91,69,128,79,78,76,27,85,25,78,70,24,69,124,27,21,113,66,85,145,112 H,451927,8,100,4,16,1015675,45,4,1,2,2,5,2,2,,80,0,2,140,1,1900,1,,1,800,1,1,1,8,,,,1,1,,18,3,250,5,2,43100,4,,,1,1,43100,0,4,4,4,1,4,0,4,0,0,0,29,0,0,0,1,1,1,1041,3,0,1,42,2,3,3,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,1,0,48,46,42,92,86,49,40,50,85,14,77,42,11,14,13,52,75,13,44,34,47,46,41,13,14,49,48,41,13,75,14,45,69,73,84,38,14,71,37,47,44,53,36,14,14,42,44,48,14,78,13,43,74,75,70,43,14,69,38,48,45,41,50,78,78,47,42,50,71,13,78,44,12,12,15,43,72,14,41,39 H,451965,8,500,4,16,1015675,66,2,1,1,,4,2,2,,70,0,2,270,1,660,1,,1,1200,1,1,1,9,,,350,1,1,,18,3,420,2,1,74000,4,,,1,1,74000,0,4,4,4,1,2,0,2,0,0,0,31,0,0,0,1,1,1,1925,4,0,1,26,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,64,117,18,20,64,66,62,117,56,16,73,23,20,104,63,106,66,69,75,121,73,118,22,19,72,72,62,97,65,16,61,21,17,102,65,104,61,63,62,131,70,99,23,21,59,66,56,96,61,19,61,20,18,103,65,110,62,68,70,112,77,139,23,19,64,65,73,95,71,22,72,16,20,111,67,109,60,56,70 H,452022,8,700,4,16,1015675,119,2,1,1,,3,2,2,,40,0,2,60,1,500,1,,1,1300,1,1,1,6,,,,1,1,,18,1,360,2,1,205000,4,,,1,1,205000,0,4,4,4,1,3,0,2,0,0,0,8,0,0,0,0,0,1,1430,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,127,113,102,113,116,37,35,37,125,222,118,35,109,107,41,123,209,215,203,32,118,117,115,119,125,218,214,221,126,36,125,187,101,117,226,119,34,37,39,35,117,124,143,120,132,194,194,193,115,35,114,208,131,115,185,130,33,33,39,215,134,122,130,127,117,39,36,34,116,195,115,36,126,120,35,117,201,188,180,192 H,452360,8,600,4,16,1015675,314,3,1,1,,3,2,2,,60,0,2,3,3,210,1,,1,850,1,1,1,7,,,,1,1,,16,3,360,5,5,10400,1,,,3,2,52400,0,1,1,1,1,3,1,2,0,1,1,22,2,0,1,0,0,2,940,3,0,1,24,1,11,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,292,542,490,306,117,420,82,323,329,319,326,315,316,545,102,314,332,90,91,335,86,298,371,96,309,324,366,96,569,504,521,530,96,272,283,515,98,327,307,536,346,474,517,354,92,586,97,360,302,314,307,278,299,576,101,301,333,99,81,303,90,327,306,96,281,332,350,84,576,483,537,517,94,311,298,527,85,350,313,546 H,452620,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,453602,8,900,4,16,1015675,84,2,1,3,1,4,2,1,,100,0,2,30,1,300,1,,,,,3,1,9,,,,1,2,,22,3,2,3,1,299000,4,,,1,1,299000,0,4,4,4,1,3,0,2,0,0,0,2,0,0,0,0,0,2,388,,0,0,40,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,82,77,27,92,94,141,25,124,146,86,84,23,28,135,79,75,85,170,149,84,83,79,145,74,90,27,135,30,21,82,76,137,128,23,92,79,78,24,161,72,95,91,152,86,87,24,128,25,23,83,87,118,126,27,101,85,72,23,28,87,80,79,25,75,75,143,25,165,144,77,84,25,23,151,90,87,91,119,27 H,453963,8,800,4,16,1015675,127,1,1,1,,1,2,2,,30,0,2,40,1,700,1,,1,310,1,1,1,4,,,,2,1,,8,3,30,8,,,,,,1,4,30000,0,4,4,4,1,2,0,,0,0,0,15,0,0,0,0,0,1,383,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,46,35,41,37,146,42,122,30,145,121,114,140,43,36,150,109,37,142,119,203,155,101,114,134,180,116,151,190,208,193,256,216,111,114,212,186,124,252,209,108,175,187,186,179,100,202,143,301,130,130,150,102,238,265,124,138,226,150,190,30,133,127,137,114,30,140,49,147,49,40,44,35,132,117,36,35,116,37,52 H,454119,8,300,4,16,1015675,51,4,1,1,,4,2,2,,50,0,2,40,1,300,1,,1,660,1,1,1,9,,,,1,1,,15,2,150,2,2,42000,1,,,1,1,42000,0,1,1,1,1,3,2,4,0,0,2,22,0,0,1,0,0,1,763,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,17,19,97,59,18,76,102,59,48,15,47,48,53,47,17,67,54,84,81,49,91,80,17,56,89,15,15,46,40,76,48,52,47,45,97,53,43,13,15,68,13,14,104,44,15,90,85,53,44,15,42,59,51,43,16,57,47,93,96,71,77,85,20,48,94,11,16,46,52,90,43,56,48,46,106,58,40,15,17,53 H,454156,8,800,4,16,1015675,85,2,1,1,,3,2,2,,50,0,2,130,1,450,1,,2,480,2,1,1,9,,,,1,1,,17,2,50,2,1,62060,4,,,1,1,62060,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,1,802,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,128,118,154,80,99,74,87,75,29,32,20,78,156,87,24,74,81,21,25,88,30,29,23,87,87,92,69,72,145,138,132,76,27,70,162,85,85,155,132,91,138,133,159,73,100,85,87,80,26,28,22,82,146,74,28,85,95,23,26,83,22,27,26,74,87,84,85,75,136,155,137,82,24,86,133,92,95,136,177 H,454269,8,500,4,16,1015675,195,5,1,,,3,5,,,50,4000,2,120,1,,1,,,,,,1,5,2,550,,1,3,,,1,270,2,2,23500,3,743,38,1,1,23500,0,3,3,3,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,53,59,401,332,56,199,342,48,60,181,170,303,222,179,177,207,320,216,205,193,296,286,56,63,330,216,56,335,337,175,246,59,193,201,203,191,56,191,202,199,399,320,53,49,344,196,67,309,303,193,199,48,182,209,205,199,57,170,184,207,46,53,343,300,54,215,311,58,56,201,243,342,188,245,191,175,319,214,215 H,454291,8,100,4,16,1015675,140,6,1,2,1,4,2,2,,150,0,2,2,1,,1,,,,,,1,8,2,800,,1,3,,,3,210,3,1,48880,2,968,24,2,1,48880,0,2,2,2,1,4,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,186,226,133,37,206,41,135,125,127,135,151,114,244,56,130,211,48,45,179,239,139,179,230,115,144,121,233,52,47,46,36,187,159,151,42,201,139,164,45,106,60,47,163,194,39,276,100,124,131,173,129,158,61,221,181,133,190,204,136,47,138,135,49,176,143,148,49,207,214,226,216,53,117,143,238,31,123,177,221 H,454324,8,300,4,16,1015675,150,2,1,1,,2,2,2,,50,0,2,3,3,230,1,,1,510,1,1,1,4,,,,1,1,,9,2,40,7,,,,,,1,7,12000,0,4,4,4,1,4,0,,0,1,0,56,0,0,0,0,0,2,563,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,238,150,180,160,51,41,168,45,257,40,271,144,249,225,134,169,140,145,170,264,132,49,244,282,145,135,45,163,173,146,147,54,148,141,221,233,52,45,135,228,154,45,253,258,149,163,46,132,148,153,149,43,142,153,303,242,48,52,50,146,239,146,134,186,50,52,141,42,210,47,218,170,249,240,148,154,164,172,48 H,454519,8,100,4,16,1015675,249,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,439,280,79,462,422,74,259,257,69,236,84,217,226,254,384,231,452,287,453,286,77,235,434,69,71,372,227,230,384,262,400,272,241,278,70,221,91,231,435,260,84,268,407,74,88,403,256,281,425,262,418,207,269,253,80,236,72,290,84,249,384,235,67,411,399,77,236,223,71,254,74,253,228,234,389,250,384,249,65 H,454809,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,454955,8,400,4,16,1015675,122,2,1,1,,1,2,2,,1,0,2,1,1,,1,,,,,,1,3,2,330,,1,3,,,3,1,9,7,58000,4,330,7,1,3,58000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,28,30,125,113,135,181,161,205,161,243,123,35,107,205,149,121,184,125,215,191,156,202,122,127,169,119,106,39,38,30,172,264,125,59,143,140,36,111,33,33,54,48,113,118,150,112,149,214,146,178,99,45,153,202,109,130,222,92,202,257,193,162,106,90,126,216,156,42,42,34,111,178,105,53,158,127,36,125,31 H,454965,8,500,4,16,1015675,75,1,1,1,,3,2,2,,30,0,2,70,1,200,1,,,,,3,1,6,,,,1,2,,9,0,600,7,,,,,,1,6,7904,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,1,184,,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,83,85,23,78,128,67,21,22,85,82,21,105,81,120,135,85,112,23,89,76,72,77,116,67,25,75,131,131,61,79,125,25,82,21,20,68,21,130,88,78,82,75,22,72,149,80,29,22,79,77,22,126,75,114,113,59,129,22,56,81,68,78,135,81,23,66,140,129,76,69,137,22,67,23,22,76,21,124,81 H,455323,8,800,4,16,1015675,49,5,1,1,,4,2,2,,100,0,900,3,8,450,1,,2,690,2,1,1,8,,,,1,1,,14,2,360,9,1,40000,3,,,1,1,40000,0,3,3,3,1,4,3,5,0,0,3,29,0,0,1,0,0,2,975,3,0,1,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,13,47,51,14,42,89,13,16,115,46,55,69,39,100,50,46,55,17,90,51,12,39,50,17,49,90,19,14,89,54,63,76,39,97,65,49,48,16,14,45,77,54,43,92,54,15,87,75,26,54,52,10,52,19,38,44,55,95,17,42,71,56,57,91,42,15,89,81,21,46,52,16,39,21,62,36,39,111,92 H,455490,8,100,4,16,1015675,47,3,1,1,,4,2,2,,90,0,80,3,4,600,1,,1,950,1,1,1,9,,,270,1,1,,14,2,60,6,1,52100,2,,,1,1,52100,0,2,2,2,1,5,1,3,0,0,1,30,0,0,1,0,0,1,1322,1,0,1,20,3,5,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,46,44,18,13,12,54,83,46,14,42,42,13,40,78,120,89,47,60,122,42,43,46,15,14,11,32,75,56,17,46,43,15,36,80,83,83,61,45,15,47,46,49,85,66,76,45,15,48,84,42,47,70,33,11,18,15,56,53,21,44,52,46,67,88,62,33,18,55,93,50,49,78,36,16,18,15,58,50,78 H,456356,8,100,4,16,1015675,27,1,1,,,1,6,,,30,0,2,20,1,,1,,,,,,1,4,2,330,,1,3,,,1,2,8,,,,380,38,1,4,12000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,23,27,6,24,8,26,6,11,9,11,30,22,9,8,22,8,8,47,48,39,40,44,28,34,27,44,26,30,30,39,51,58,24,25,42,22,32,22,27,24,24,26,6,22,8,27,9,10,9,6,22,28,10,8,23,9,11,49,42,49,43,43,37,41,29,53,25,26,26,35,39,39,28,29,52,28,33,28 H,456373,8,600,4,16,1015675,74,2,1,1,,3,2,2,,70,0,2,10,1,1100,1,,1,1200,1,1,1,6,,,,1,1,,17,1,260,5,4,38200,4,,,1,1,38200,0,4,4,4,1,3,0,2,0,0,0,41,0,0,0,2,0,1,1302,3,0,1,26,0,9,9,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,22,20,134,68,121,76,70,129,75,124,20,20,75,75,70,124,69,21,76,70,115,128,24,66,23,74,70,20,71,22,134,129,74,73,67,21,73,124,79,74,126,125,19,73,21,65,68,20,75,20,126,118,71,78,71,21,70,125,70,74,23,22,124,70,117,77,65,127,71,114,20,23,78,76,78,121,77,22,72 H,456674,8,600,4,16,1015675,118,2,1,,,2,4,,,70,0,1100,3,3,,1,,,,,,1,4,2,800,,1,3,,,3,1,5,1,64300,4,962,18,1,1,64300,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,108,34,35,201,34,109,135,191,214,214,126,121,36,207,124,32,111,219,37,225,204,123,125,122,113,32,202,119,128,109,33,196,123,131,33,104,33,111,107,111,119,34,33,179,37,120,124,199,189,210,124,128,43,219,115,36,115,208,37,221,201,122,123,121,106,33,182,115,122,114,34,219,118,108,35,116,37,117 H,456744,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,456836,8,700,4,16,1015675,129,1,1,,,1,5,,,20,0,2,3,3,,1,,,,,,1,3,2,140,,1,3,,,0,1,5,,,,160,27,1,6,7200,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,126,201,127,129,39,42,229,226,39,138,205,39,38,130,142,223,118,123,133,130,131,39,129,123,202,228,37,34,237,128,38,223,227,128,126,39,135,136,123,133,125,247,120,141,35,36,231,198,43,128,207,39,38,131,134,233,117,134,135,137,133,39,125,135,209,212,34,38,215,125,37,205,210,137,132,38,132,150,117 H,457101,8,500,4,16,1015675,82,2,1,1,,3,2,2,,80,0,1000,3,4,400,1,,1,650,1,2,1,5,,,,1,1,,20,1,2,7,1,38800,4,,,1,1,38800,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,2,2,2,813,3,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,91,74,150,80,124,27,25,75,87,70,136,83,31,99,24,25,142,66,124,116,95,97,154,95,133,24,27,85,78,77,124,78,27,74,23,32,131,75,124,77,91,87,23,104,25,134,147,73,65,79,23,84,154,76,135,136,24,88,25,76,84,98,25,86,24,142,152,80,71,94,24,94,153,102,137,131,25,83,19,91 H,457165,8,900,4,16,1015675,83,4,1,1,,3,2,2,,90,0,2,30,1,350,1,,2,650,2,1,1,6,,,,1,1,,15,2,860,4,1,63900,2,,,1,1,63900,0,2,2,2,1,5,2,4,0,0,2,19,0,0,1,0,0,2,988,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,24,25,82,98,146,80,80,67,91,121,97,89,23,25,128,144,26,82,96,27,134,140,85,79,24,81,86,87,79,22,69,85,125,148,28,25,138,89,82,134,28,28,84,93,146,79,70,83,79,128,81,75,20,23,163,155,21,88,85,25,128,150,85,82,25,93,85,90,78,27,86,89,138,163,24,23,129,81,82 H,457231,8,800,4,16,1015675,391,1,1,,,3,4,,,160,0,2,3,3,,1,,,,,,1,5,2,600,,1,3,,,1,1,4,,,,760,30,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,394,610,629,442,140,648,105,382,483,435,430,486,385,611,140,354,415,150,111,361,127,389,399,108,450,417,368,123,611,623,766,656,124,332,328,535,112,356,361,136,373,111,141,409,636,115,555,370,356,355,434,362,463,137,555,368,386,751,603,328,658,384,468,621,356,409,395,602,116,143,145,124,602,391,312,122,682,416,437,555 H,457292,8,800,4,16,1015675,164,2,1,2,1,3,2,2,,40,0,2,70,1,500,1,,1,1500,1,1,1,5,,,,1,1,,20,3,600,9,,,,,,1,5,80000,0,4,4,4,1,5,0,,0,1,0,25,2,0,0,0,0,1,1660,3,0,1,52,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,194,57,168,243,149,171,258,136,41,65,54,171,171,137,225,180,222,267,328,60,188,217,146,43,164,147,39,226,273,231,341,195,152,145,150,185,43,49,275,58,131,237,144,45,177,160,52,181,297,240,256,200,204,196,125,177,58,34,40,183,173,41,164,341,119,158,313,186,51,62,48,157,158,142,209,141,370,304,61 H,457345,8,900,4,16,1015675,83,2,1,2,1,5,2,2,,40,0,2,70,2,500,1,,1,930,1,1,1,9,,,130,1,1,,16,2,2,3,2,61000,4,,,1,1,61000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,1170,2,0,1,22,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,25,127,100,25,126,207,88,66,18,80,59,76,78,28,105,92,156,150,81,27,25,157,79,24,122,96,86,125,21,58,97,127,89,25,61,76,168,167,61,109,123,30,87,234,39,28,80,83,136,52,98,111,92,154,58,85,33,25,84,134,183,30,88,125,24,26,91,76,126,102,63,72,97,132,79,74,26,23,78 H,458001,8,700,4,16,1015675,79,4,1,1,,4,2,2,,50,0,2,110,1,200,1,,2,1100,1,1,1,8,,,230,1,1,,19,2,40,2,1,69000,1,,,1,1,69000,0,1,1,1,1,2,2,4,0,0,2,26,0,0,1,0,0,1,1510,2,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,135,76,73,149,120,137,138,72,128,87,140,79,79,76,77,145,135,86,22,84,23,81,72,23,26,24,22,78,23,76,20,71,82,93,73,23,23,80,22,73,24,84,82,27,23,22,22,73,25,78,22,85,76,75,81,22,22,78,140,80,140,83,89,135,131,132,127,72,132,84,123,73,79,81,74,145,141,70,132 H,458147,8,200,4,16,1015675,29,2,1,1,,2,2,2,,60,0,400,3,6,,1,,,,,,1,3,2,500,,1,3,,,2,1,9,1,15100,4,593,47,1,1,15100,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,36,29,44,38,26,27,33,70,36,30,12,6,45,63,7,25,32,11,29,10,25,24,43,28,42,35,22,35,22,25,6,6,30,52,8,35,65,9,29,51,34,30,9,37,42,24,32,7,22,32,38,34,7,9,37,33,7,31,45,69,24,35,14,22,39,35,34,8,24,16,57,41,8,9,52,45,9,45,39 H,458277,8,300,4,16,1015675,90,1,1,1,,5,2,2,,30,0,2,60,1,20,1,,,,,3,1,7,,,,1,2,,14,1,350,7,,,,,,1,6,32000,0,4,4,4,1,7,0,,0,0,0,8,0,0,0,1,1,1,221,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,110,29,131,30,96,111,81,90,82,87,142,24,79,116,27,21,89,174,111,96,30,118,80,82,26,146,180,127,162,23,75,110,136,25,75,92,23,87,133,151,105,28,142,28,82,74,93,88,77,103,144,31,94,84,31,26,97,160,75,97,29,86,96,96,23,151,179,160,159,28,93,103,137,25,100,100,22,70,148 H,458527,8,300,4,16,1015675,88,2,1,2,2,3,2,2,,90,0,3500,50,8,470,1,,,,,3,1,7,,,,1,2,,20,3,2,2,1,85000,4,,,1,1,85000,0,4,4,4,1,4,0,2,0,0,0,8,0,0,0,0,0,1,554,,0,1,21,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,141,75,70,122,157,204,187,93,139,95,170,79,83,101,87,124,141,91,23,94,25,70,81,32,34,21,19,108,36,87,25,98,82,84,93,32,33,96,218,83,171,90,96,144,120,148,151,91,159,94,126,97,104,81,96,170,140,80,20,81,26,100,95,25,33,34,24,97,23,88,24,74,76,87,77,25,24,76,111 H,459118,8,200,4,16,1015675,285,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,387,319,260,539,363,437,291,261,507,264,113,395,515,96,261,274,69,288,89,109,231,285,284,427,321,498,292,233,496,219,77,473,374,105,260,274,93,295,82,94,339,335,316,535,310,470,312,272,482,297,85,379,462,86,236,333,75,218,110,114,249,269,241,436,391,424,288,265,440,208,86,440,439,114,282,316,101,267,93 H,459869,8,500,4,16,1015675,62,3,1,1,,4,2,2,,90,0,2,80,1,350,1,,1,1000,1,1,1,8,,,100,1,1,,17,2,350,2,1,63601,1,,,1,1,63601,0,1,1,1,1,3,1,3,0,0,1,25,0,0,1,0,0,1,1299,2,0,1,30,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,55,17,15,62,18,86,58,57,61,82,79,18,70,113,94,77,49,95,50,130,75,122,145,50,101,22,62,53,63,21,54,115,63,20,23,52,73,21,55,106,55,118,111,56,112,18,59,63,56,19,64,106,57,18,21,65,61,18,61,18,62,17,19,66,21,120,67,70,61,89,64,20,55,90,94,64,63,103,66 H,459883,8,900,4,16,1015675,216,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,57,72,87,178,309,202,64,247,210,74,172,284,279,304,207,239,287,231,336,185,69,74,65,227,379,266,80,192,212,64,208,332,319,334,179,223,322,270,301,210,62,60,84,221,276,208,76,197,192,61,177,239,339,434,310,243,214,225,335,202,61,65,74,264,388,209,63,224,213,52,257,353,332,342,188,211,288,297,318 H,459910,8,200,4,16,1015675,79,1,1,1,,2,2,2,,40,0,400,3,4,,1,,,,,,1,4,,,,1,4,,,1,240,8,,,,,,1,6,5500,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,114,105,30,83,95,86,133,22,144,25,152,79,88,73,17,74,121,65,27,70,75,134,88,26,31,29,64,59,68,76,71,113,144,126,59,22,86,122,74,139,22,75,114,80,78,92,35,97,22,162,25,73,80,82,109,75,20,65,93,70,77,24,80,134,159,152,89,80,69,81,69,23,29,21,71,113,85,25,67 H,459926,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,460039,8,800,4,16,1015675,41,2,1,1,,3,2,2,,90,0,2,3,3,200,1,,,,,3,1,5,,,,1,2,,12,2,350,5,4,28700,4,,,1,1,28700,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,2,2,194,,0,1,16,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,40,43,41,39,39,11,8,10,45,69,41,14,35,58,15,32,58,71,70,14,37,35,36,32,32,58,54,72,60,10,37,70,32,53,74,35,12,11,16,66,31,42,36,33,51,11,10,15,41,60,34,12,35,60,13,31,58,71,72,15,29,47,34,36,50,65,54,56,44,16,37,80,52,58,75,33,14,12,9,74 H,460413,8,300,4,16,1015675,18,2,1,2,1,4,2,2,,90,0,2,10,3,4800,1,,,,,3,1,7,,,,1,2,,24,2,2,3,3,75750,4,,,1,1,75750,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,2,1,2,800,,0,1,48,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,18,37,24,18,20,18,34,22,16,5,6,33,31,6,22,34,7,5,16,21,20,36,15,18,18,20,42,18,19,5,6,34,31,5,15,37,7,5,17,18,19,6,19,22,18,18,6,22,18,30,29,6,5,33,19,5,29,35,21,19,19,6,19,19,18,15,4,16,19,33,32,5,5,28,16,6,32,28,19,18 H,460575,8,800,4,16,1015675,62,1,1,1,,2,2,2,,20,0,2,110,1,,1,,,,,,1,4,,,,1,4,,,1,410,9,,,,,,1,6,52000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,57,57,19,86,73,71,98,65,72,108,59,56,67,113,17,20,17,17,73,93,77,72,21,107,54,65,95,58,59,103,63,64,68,107,23,18,19,22,73,19,69,60,99,15,67,60,18,63,73,18,60,65,61,17,136,114,116,112,64,16,69,65,95,16,63,68,18,65,64,20,69,58,57,20,107,125,116,90,69 H,460989,8,200,4,16,1015675,25,2,1,1,,3,2,2,,80,0,610,3,4,460,1,,,,,3,1,5,,,,1,2,,8,0,840,9,8,32100,4,,,1,3,32100,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,1,1,1,259,,0,1,6,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,20,28,10,29,7,19,24,9,22,41,7,7,44,25,29,54,27,35,5,22,20,24,42,28,45,25,24,54,26,7,45,35,7,28,29,9,28,7,9,20,22,25,38,33,60,29,26,49,25,7,52,45,7,22,24,9,25,6,46,27,22,21,8,23,7,22,26,6,25,54,6,7,45,23,27,39,24,47,63 H,461134,8,100,4,16,1015675,49,2,1,2,1,2,2,2,,100,0,2,180,2,650,1,,1,1400,1,1,1,7,,,,1,1,,20,2,2,6,1,100500,4,,,1,1,100500,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,1680,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,58,86,11,45,46,52,14,51,86,53,11,14,53,51,15,81,54,88,47,85,42,88,13,50,49,49,15,55,87,49,17,16,58,52,15,88,48,82,49,15,55,17,83,53,50,49,84,58,13,44,73,90,50,43,91,15,46,15,55,14,45,13,88,51,47,44,84,51,14,49,87,97,51,48,86,13,56,15,44 H,461197,8,700,4,16,1015675,98,2,1,1,,4,2,2,,40,0,2,40,1,1100,1,,1,740,1,1,1,8,,,,1,1,,17,2,490,3,2,69000,4,,,1,1,69000,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,1,0,1,861,3,0,1,25,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,163,93,97,102,28,29,107,29,161,28,162,105,179,179,95,97,93,91,107,153,97,32,161,170,98,105,29,102,105,94,97,30,94,95,174,186,29,29,99,29,103,159,30,29,102,112,183,94,102,94,99,165,100,96,27,30,173,160,163,90,29,95,98,91,172,182,101,172,30,175,29,101,28,28,100,93,102,98,31 H,461460,8,800,4,16,1015675,139,5,1,2,1,4,2,2,,120,0,2,3,4,,1,,,,,,1,7,2,500,,1,3,,,2,2,7,2,49700,3,620,15,1,1,49700,0,3,3,3,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,2,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,46,51,121,48,144,121,217,133,276,141,188,116,138,47,136,145,51,250,174,142,118,115,232,152,52,244,138,211,129,46,173,42,161,176,58,38,129,141,173,193,36,51,103,48,156,119,272,109,364,131,206,99,149,45,113,163,46,241,218,106,125,153,218,150,38,254,127,253,163,32,170,56,166,179,65,34,126,170,142 H,462263,8,600,4,16,1015675,150,3,1,,,2,4,,,70,0,20,2,3,,1,,,,,,1,4,2,600,,1,3,,,2,1,5,1,38000,4,672,21,2,1,38000,0,4,4,4,1,2,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,3,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,245,283,45,149,153,275,47,141,143,42,133,141,38,137,154,145,42,265,281,40,175,149,143,46,270,156,138,269,267,163,46,40,142,277,47,234,143,150,142,128,224,262,49,143,141,280,46,129,156,46,146,152,47,150,135,138,51,256,264,50,162,149,160,44,237,139,158,262,268,129,43,42,176,269,37,263,167,156,142,182 H,462288,8,700,4,16,1015675,107,2,1,1,,3,2,2,,50,0,1400,70,1,610,1,,,,,3,1,7,,,,1,2,,20,1,530,4,4,76300,4,,,1,1,76300,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,547,,0,1,37,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,33,117,101,27,113,115,32,112,112,109,35,177,150,166,182,28,95,105,102,30,206,125,105,177,127,113,178,112,129,111,180,31,30,30,32,181,110,105,111,29,189,110,111,184,105,116,188,103,110,110,179,27,33,34,30,188,121,111,104,171,28,107,103,33,108,97,30,103,110,100,34,199,180,187,185,33,103,108,101 H,462869,8,100,4,16,1015675,38,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,66,10,62,41,37,12,14,11,39,41,70,10,40,65,37,42,37,37,12,31,38,30,36,63,10,42,38,35,61,11,38,38,56,41,63,58,8,10,36,13,12,62,11,35,36,59,61,67,34,38,12,59,32,12,39,35,38,38,70,36,36,42,36,10,61,34,42,34,10,68,36,42,11,38,11,11,62,67,40 H,463326,8,100,4,16,1015675,87,5,1,1,,4,2,2,,100,0,2,100,1,200,1,,2,1100,1,1,1,7,,,,1,1,,18,2,50,5,1,36000,2,,,1,1,36000,0,2,2,2,1,4,3,5,0,0,3,44,0,0,1,0,0,1,1321,3,0,1,27,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,142,25,20,29,31,157,84,92,22,138,83,76,149,83,90,169,76,98,94,95,28,144,142,150,122,26,80,81,167,23,85,94,30,88,96,26,93,89,76,87,26,118,146,138,177,29,78,105,134,29,102,83,27,95,98,26,89,91,99,79,136,23,26,24,25,150,95,74,24,148,77,90,166,95,89,138,88,85,93 H,463580,8,300,4,16,1015675,12,5,1,1,,4,2,2,,140,0,2,3,3,400,1,,1,370,1,1,1,7,,,,1,1,,8,2,1300,7,1,7800,2,,,1,1,7800,0,2,2,2,1,5,3,5,0,0,3,95,0,0,1,0,0,1,618,3,0,1,14,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,18,11,3,14,11,10,11,2,10,10,16,28,3,3,22,8,2,19,18,14,13,11,18,14,9,10,13,18,10,11,5,3,16,23,5,14,18,4,4,10,10,14,3,8,15,10,10,3,11,15,16,13,3,4,17,14,3,15,23,10,12,15,13,13,15,12,10,19,13,13,5,5,17,16,3,8,19,4,2,8 H,463750,8,400,4,16,1015675,114,2,1,1,,3,2,2,,50,0,2,40,1,530,1,,2,530,2,1,1,5,,,,1,1,,18,2,2,3,4,43000,4,,,1,1,43000,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,2,2,1,772,3,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,117,109,110,131,41,114,113,170,195,30,36,181,86,39,196,195,126,113,110,192,129,106,124,111,212,111,99,39,31,158,200,42,100,152,27,38,137,96,116,207,161,112,102,90,173,129,124,29,32,210,206,40,120,198,41,60,148,78,114,30,113,117,116,132,36,113,105,161,151,38,37,149,101,41,159,167,106,104,137 H,463794,8,200,4,16,1015675,221,3,1,2,1,3,2,2,,90,0,600,3,4,700,1,,,,,3,1,6,,,,1,2,,17,2,2,3,1,140000,2,,,1,1,140000,0,2,2,2,1,5,1,3,0,0,1,3,0,0,1,0,0,2,298,,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,63,249,209,74,235,336,325,332,208,183,233,213,217,76,86,81,228,396,289,253,70,199,233,78,220,303,344,328,179,270,289,189,178,77,94,91,255,314,328,183,67,229,271,74,223,376,295,356,266,258,249,210,243,72,69,73,277,387,381,228,79,182,232,68,222,435,331,386,179,183,201,195,203,72,65,67,239,385,330 H,464369,8,300,4,16,1015675,124,1,1,1,,1,1,2,,90,750,2,3,3,0,1,2400,,,,3,1,3,,,,1,2,,1,1,20,6,,,,,,1,4,7000,0,4,4,4,1,4,0,,0,0,0,52,0,0,0,0,0,1,302,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,180,190,151,39,101,119,113,41,142,37,217,112,208,114,114,146,257,216,121,125,181,124,37,118,35,41,196,143,259,122,125,176,126,236,33,29,143,158,35,49,134,206,167,43,136,108,143,42,133,39,247,110,217,117,119,153,171,166,146,120,207,121,30,126,42,34,228,130,188,125,126,225,106,217,33,31,146,96,28 H,465225,8,900,4,16,1015675,163,0,1,3,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,167,168,185,70,43,48,183,237,146,44,150,158,54,149,220,335,317,202,196,225,159,156,176,61,48,53,189,227,125,41,163,206,65,152,246,271,299,172,158,54,154,182,183,263,232,238,149,51,141,247,194,156,245,151,57,62,40,157,162,66,178,198,149,221,338,307,144,52,206,273,196,184,263,144,50,59,40,135,159,219 H,465637,8,400,4,16,1015675,103,3,1,2,1,4,2,2,,100,0,2,60,3,450,1,,2,700,2,1,1,7,,,250,1,1,,18,3,40,2,1,9200,2,,,1,1,9200,0,2,2,2,1,4,1,3,0,0,1,101,0,0,1,0,0,1,1318,2,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,86,169,127,136,233,104,30,47,39,79,110,138,88,83,174,159,155,116,34,27,112,183,82,87,220,126,27,25,22,137,83,62,103,125,159,154,212,109,28,25,74,149,106,105,172,89,30,35,37,83,93,124,79,79,199,167,198,133,33,27,120,199,106,112,184,145,43,31,31,112,79,90,130,107,185,194,173,97,51 H,465760,8,200,4,16,1015675,24,4,1,3,6,4,2,2,,80,0,2,250,2,,1,,,,,,1,7,,,,1,4,,,4,2,9,1,27340,2,,,1,1,27340,0,2,2,2,1,5,1,4,0,0,1,,0,0,1,0,0,1,,,0,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,19,8,37,28,42,36,29,48,8,25,30,18,6,27,38,24,7,7,25,26,24,42,9,22,7,5,24,7,37,26,27,23,50,21,6,36,46,34,16,19,18,40,5,23,7,7,31,10,58,29,30,21,39,26,7,24,41,40,27,22,24,7,58,22,48,51,21,49,7,24,26,23,7,26,46,25,7,5,18 H,465830,8,100,4,16,1015675,165,2,1,1,,3,2,2,,40,0,2,50,1,240,1,,,,,3,1,7,,,,1,2,,17,2,670,6,2,15000,4,,,1,1,15000,0,4,4,4,1,6,0,2,0,0,0,21,0,0,0,2,2,1,260,,0,1,23,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,163,150,167,343,279,250,164,45,193,242,155,167,230,177,48,49,43,144,272,175,155,174,174,52,54,48,157,289,170,60,168,153,51,146,247,292,277,177,45,146,148,170,185,324,245,277,172,44,184,247,182,177,246,162,47,50,47,186,260,246,182,157,167,46,48,40,158,286,146,51,139,169,51,165,249,298,333,164,60 H,465840,8,900,4,16,1015675,65,2,1,1,,4,2,2,,50,0,500,90,1,1300,1,,2,650,2,1,1,7,,,,1,1,,14,3,500,9,,,,,,1,5,48500,0,4,4,4,1,4,0,,0,1,0,27,2,0,0,0,0,1,1082,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,18,114,67,73,16,96,75,75,101,65,67,103,56,65,56,120,19,17,64,20,19,113,64,62,22,131,60,64,111,60,75,102,74,61,61,119,15,19,58,105,93,23,71,68,124,16,73,75,20,65,66,17,65,74,63,16,112,99,46,114,107,20,62,68,109,20,69,60,21,72,76,24,65,53,63,21,103,90,78 H,466046,8,800,4,16,1015675,203,2,1,1,,2,2,2,,130,0,2,90,1,450,1,,1,300,1,1,1,5,,,,1,1,,5,2,300,9,,,,,,1,7,26000,0,4,4,4,1,1,0,,0,1,0,25,3,0,0,0,0,1,545,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,189,218,67,237,176,248,227,38,72,302,206,96,357,307,201,160,61,224,244,216,256,217,302,328,213,70,91,221,388,65,232,393,102,63,177,182,395,253,253,217,142,168,315,235,325,81,61,230,329,105,269,323,50,58,236,235,262,198,194,313,175,143,52,208,209,341,341,46,54,365,233,90,307,248,274,189,44,268,228 H,466079,8,800,4,16,1015675,29,1,1,1,,4,2,2,,60,0,2,3,3,500,1,,,,,3,1,6,,,,1,2,,14,1,480,6,,,,,,1,6,22600,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,2,234,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,29,32,52,57,10,7,43,32,7,42,47,27,30,8,33,34,45,40,10,40,32,31,46,37,6,10,49,24,11,50,43,29,41,9,22,34,29,27,10,36,26,31,8,7,42,41,7,30,41,10,10,34,34,49,27,30,27,28,48,25,21,27,12,9,40,50,8,27,67,11,10,35,30,46,36,30,30,36,46,26 H,466133,8,400,4,16,1015675,104,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,95,34,37,33,85,84,100,119,107,183,166,164,94,32,128,219,94,82,174,26,105,157,177,218,110,111,104,113,107,31,31,26,95,177,100,33,112,100,37,140,86,32,31,30,114,117,96,99,89,176,172,162,116,31,107,177,98,101,152,32,92,160,227,169,97,90,101,107,120,35,31,28,94,150,108,35,110,102,34 H,466309,8,100,4,16,1015675,75,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,82,74,81,120,126,132,67,20,73,117,73,73,115,74,20,25,23,72,135,74,79,72,75,20,22,23,67,120,72,25,78,80,19,76,113,125,134,75,21,92,81,77,73,125,127,119,74,19,79,142,60,64,130,80,22,20,25,85,105,72,75,82,65,24,27,22,76,121,78,22,76,72,19,73,107,115,127,73,20 H,466547,8,100,4,16,1015675,88,2,1,1,,4,2,2,,100,0,2,200,1,800,1,,2,1400,2,1,1,9,,,,1,1,,22,2,480,3,4,53000,4,,,1,1,53000,0,4,4,4,1,1,0,2,0,0,0,52,0,0,0,1,0,1,2282,3,0,1,63,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,100,27,89,28,83,98,117,92,28,32,86,78,28,89,90,25,24,27,91,69,148,73,128,92,145,156,158,140,95,78,169,154,83,171,144,90,82,81,158,148,92,144,95,154,87,81,82,91,148,138,101,81,132,90,88,148,143,155,96,91,23,96,28,92,25,22,27,25,91,92,23,29,98,29,28,93,93,97,27 H,466577,8,500,4,16,1015675,75,1,1,,,1,6,,,60,30,2,3,3,,1,,,,,,1,3,2,760,,1,3,,,1,1,5,,,,820,80,1,6,12340,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,76,94,77,73,127,76,68,24,20,140,128,21,69,127,21,25,81,77,113,87,70,81,73,69,104,65,66,23,27,112,124,21,87,130,24,27,60,69,132,83,66,71,75,83,18,79,77,166,125,22,26,134,63,26,126,120,63,72,22,69,73,70,71,71,27,88,72,123,108,19,21,129,73,20,132,135,78,72,18,74 H,466598,8,400,4,16,1015675,164,2,1,1,,2,1,2,,50,1300,500,3,3,0,1,0,,,,3,1,4,,,,1,2,,11,2,600,5,6,28000,4,,,1,2,28000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,1,1,2,145,,0,0,2,1,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,184,382,166,179,54,93,244,234,58,189,275,60,56,234,169,233,164,187,150,189,145,373,108,184,110,29,238,226,45,156,225,52,51,250,167,265,145,101,345,145,128,207,242,113,48,59,212,193,58,119,288,75,61,148,165,234,146,180,176,220,190,233,177,138,49,60,221,353,74,167,269,60,52,133,137,292,251,187,158 H,467133,8,200,4,16,1015675,35,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,14,68,31,11,77,54,36,31,12,33,48,28,38,11,33,33,51,60,38,77,48,9,35,52,11,10,36,29,62,27,31,34,27,75,32,34,12,11,35,12,12,71,39,12,66,59,38,34,11,37,36,27,33,11,28,42,54,45,46,82,52,10,30,54,15,8,35,33,53,26,36,31,30,79,35,38,12,9,40 H,467246,8,400,4,16,1015675,43,2,1,1,,3,2,2,,30,0,2,30,2,370,1,,,,,3,1,5,,,,1,2,,16,2,760,5,4,30000,4,,,1,1,30000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,2,2,2,221,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,15,15,46,40,80,45,43,45,42,74,50,48,15,12,54,74,13,40,40,12,66,98,50,48,17,42,48,35,41,15,47,56,61,64,15,12,65,42,43,16,83,71,42,46,12,34,54,52,42,15,52,43,74,72,15,13,71,46,45,88,13,11,40,40,74,42,38,49,53,88,46,38,14,12,52,64,15,45,41 H,467307,8,600,4,16,1015675,134,1,1,,,1,6,,,50,0,2,3,3,,1,,,,,,1,2,2,420,,1,3,,,1,2,3,,,,470,35,1,4,16000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,39,236,130,142,40,197,136,150,244,131,115,228,139,141,140,201,40,36,129,220,226,39,136,131,229,43,124,138,40,133,134,41,149,131,134,38,233,243,128,38,41,228,131,149,39,230,130,139,241,128,138,218,128,147,143,220,36,42,134,217,208,42,139,143,243,37,121,126,39,144,132,34,120,148,128,37,244,240,131 H,467522,8,500,4,16,1015675,53,2,1,1,,3,2,2,,40,0,2,90,1,150,1,,1,630,1,1,1,5,,,290,1,1,,14,2,600,2,3,29800,4,,,1,1,29800,0,4,4,4,1,3,0,2,0,0,0,44,0,0,0,2,2,1,1100,2,0,1,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,30,58,76,96,80,63,35,48,47,39,15,15,15,67,78,78,18,52,13,46,94,51,14,14,17,52,59,48,47,63,89,96,77,42,19,64,105,63,76,82,12,37,83,74,77,55,70,51,63,58,16,18,19,48,89,52,13,56,25,55,83,41,16,16,15,58,49,63,48,50,88,93,116,54,17,39,87,49,73 H,467597,8,800,4,16,1015675,339,1,1,1,,2,2,2,,70,0,2,250,1,,1,,,,,,1,5,2,400,,1,3,,,1,1,8,,,,720,48,1,6,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,507,499,325,346,97,290,344,324,399,138,310,373,478,427,117,99,521,361,119,373,567,497,256,338,114,340,345,403,365,108,367,443,554,439,110,130,561,324,104,317,494,552,363,294,112,361,350,335,310,181,359,360,415,591,134,84,512,394,115,406,464,450,372,370,108,271,363,353,330,138,319,358,551,443,134,123,408,262,131,365 H,467681,8,800,4,16,1015675,27,1,1,3,5,2,2,2,,60,0,1500,3,4,600,1,,1,500,1,1,1,4,,,50,1,1,,11,1,2,9,,,,,,1,4,30000,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,0,0,2,735,2,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,27,24,8,48,34,24,44,30,31,56,26,28,27,44,8,9,8,8,44,51,52,7,26,26,8,8,32,53,48,26,9,41,8,26,25,25,25,27,24,29,27,26,8,40,21,29,50,28,25,41,26,24,27,59,7,7,7,6,47,54,48,8,29,33,8,7,33,56,42,32,8,59,7,28,23,26,29,27,31,31 H,467705,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,467891,8,900,4,16,1015675,68,2,1,1,,3,2,2,,90,0,2,250,1,600,1,,1,760,1,1,1,9,,,,1,1,,18,3,600,6,2,41000,4,,,1,1,41000,0,4,4,4,1,5,0,2,0,0,0,34,0,0,0,0,0,1,1150,3,0,1,37,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,63,72,24,130,70,62,119,68,59,121,59,73,74,136,22,14,20,24,122,106,131,21,66,70,21,17,73,144,105,70,18,133,25,71,71,67,61,68,79,67,74,64,20,102,63,68,101,66,63,121,83,69,60,116,20,16,18,18,115,124,127,23,81,73,22,23,69,138,133,83,23,125,21,78,65,63,69,67,76,62 H,468608,8,600,4,16,1015675,121,3,1,1,,2,2,2,,50,0,2,10,1,,1,,,,,,1,4,2,640,,1,3,,,2,150,7,1,26000,2,713,33,1,1,26000,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,126,121,137,231,111,33,130,43,36,206,111,186,131,122,217,103,194,34,125,205,113,111,120,34,113,211,107,215,223,36,143,30,117,133,32,120,35,216,123,36,114,127,114,220,126,35,108,32,36,203,119,197,121,127,183,138,198,35,112,227,125,111,126,38,127,204,123,197,187,34,119,36,113,127,37,108,39,203,129 H,468791,8,300,4,16,1015675,167,5,1,1,,5,2,2,,50,0,2,160,1,510,1,,,,,3,1,8,,,,1,2,,16,2,1000,6,2,61000,2,,,3,1,61000,0,2,2,2,1,5,3,5,0,0,3,8,0,0,1,0,0,2,402,,0,1,17,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,265,160,210,249,181,180,242,249,321,233,172,192,168,227,136,157,230,138,188,72,47,154,177,49,110,184,77,69,108,73,191,49,185,60,146,157,106,190,80,57,54,147,190,61,154,201,62,76,60,53,136,74,152,51,176,169,156,171,69,247,290,178,181,274,208,199,220,211,153,237,187,211,181,220,183,190,222,194,248,339 H,469139,8,600,4,16,1015675,106,1,1,1,,4,2,2,,80,0,2,4,1,800,1,,2,1500,2,1,1,6,,,600,1,1,,21,2,600,5,,,,,,1,6,132300,0,4,4,4,1,5,0,,0,0,0,25,0,0,0,0,0,1,2759,1,0,1,63,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,36,96,108,114,30,107,185,112,33,32,117,111,33,198,108,180,171,105,120,179,33,112,109,108,31,107,171,102,33,35,108,110,32,180,102,173,180,105,105,32,177,108,104,115,177,106,31,100,193,174,106,114,196,37,115,33,33,104,104,33,198,110,108,109,183,105,31,96,170,177,110,122,187,32,107,30,31,112,107 H,469290,8,800,4,16,1015675,24,2,1,1,,3,2,2,,40,0,2,220,1,400,1,,,,,3,1,7,,,,1,2,,11,2,610,9,1,30500,4,,,1,1,30500,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,2,2,2,402,,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,9,25,23,7,23,7,33,40,30,21,20,6,23,38,20,38,44,7,23,28,8,24,26,7,23,7,39,43,22,28,23,6,25,31,23,48,44,7,30,24,49,27,19,41,25,43,8,6,28,23,23,43,18,7,27,7,7,42,24,20,41,28,22,44,23,33,6,6,24,21,23,47,23,7,18,9,8,32,24,22 H,469423,8,800,4,16,1015675,24,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,7,24,38,28,25,24,43,27,38,7,20,6,19,25,22,6,9,42,24,7,24,42,25,33,38,8,21,8,26,25,7,27,6,40,40,24,26,27,35,21,7,25,38,24,22,26,47,20,38,6,20,8,21,23,22,6,6,42,22,7,29,40,25,39,45,7,24,7,21,24,7,28,7,38,46,24,26,26,36 H,469981,8,700,4,16,1015675,124,4,1,1,,3,2,2,,30,0,2,30,1,250,1,,1,820,1,1,1,6,,,300,1,1,,17,4,300,3,1,95200,1,,,1,1,95200,1,1,4,1,1,4,0,4,0,0,1,15,0,1,1,0,0,2,1205,2,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,200,127,120,39,219,32,37,139,137,206,187,36,121,136,127,32,131,116,122,35,123,206,37,123,125,140,122,226,213,127,122,127,226,33,214,126,38,41,36,127,40,123,123,232,34,217,207,123,134,35,38,200,118,131,126,206,116,138,126,194,115,39,219,140,128,121,124,34,38,136,119,115,32,225,35,116,227,208,211 H,470080,8,400,4,16,1015675,91,4,1,1,,3,2,2,,90,0,2,120,1,500,1,,1,870,1,1,1,5,,,220,1,1,,17,2,70,2,6,28000,2,,,2,2,28000,0,2,4,2,1,3,0,4,0,0,1,56,0,1,1,0,0,1,1306,2,0,1,25,3,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,24,87,156,102,24,93,102,24,104,148,139,120,85,119,120,82,94,30,134,22,30,80,165,147,27,79,93,25,95,140,183,165,86,112,111,94,92,23,162,27,31,113,169,90,35,80,87,30,67,133,127,146,115,83,77,95,89,21,196,22,29,90,160,87,27,123,137,27,79,160,141,129,87,83,100,73,81,28,114 H,470365,8,300,4,16,1015675,65,1,1,1,,3,2,2,,40,0,2,30,1,1000,1,,,,,3,1,6,,,,1,2,,14,1,600,5,,,,,,1,6,26320,0,4,4,4,1,7,0,,0,0,0,13,0,0,0,1,1,2,282,,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,27,73,90,120,176,78,98,64,79,48,16,18,16,49,76,61,18,55,19,57,87,49,21,19,22,89,56,69,95,77,133,143,106,46,16,72,127,63,33,65,115,68,26,22,23,72,100,64,57,68,116,76,99,85,17,57,107,51,112,62,16,83,81,97,123,78,89,77,56,45,13,23,23,44,123,92,14,65,99 H,470446,8,400,4,16,1015675,78,3,1,1,,3,1,2,,300,1300,2,3,3,190,1,0,2,310,2,2,1,4,,,,1,1,,5,2,1,3,7,36800,4,,,2,3,36800,0,4,4,4,2,4,0,3,0,0,0,21,0,0,0,0,0,2,650,3,0,0,7,3,14,14,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,92,23,25,46,80,57,61,74,75,132,125,119,79,24,78,149,91,81,27,132,100,28,19,26,105,100,72,65,113,144,107,97,64,25,86,155,88,75,28,108,86,23,24,32,75,68,85,67,64,126,103,113,78,20,62,110,99,97,32,128,109,33,24,28,114,86,76,73,94,107,114,128,71,23,61,148,137,73,22 H,470570,8,800,4,16,1015675,41,3,1,1,,3,2,2,,80,0,2,3,3,1000,1,,1,1300,2,1,1,5,,,400,1,1,,19,3,510,5,1,40600,2,,,2,1,40600,0,2,2,2,2,1,1,3,0,0,1,56,0,0,1,2,0,2,1906,4,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,75,36,35,30,33,47,8,18,14,32,66,53,20,32,37,16,42,73,10,12,12,53,44,34,27,34,88,69,95,32,11,35,73,52,50,65,25,14,109,60,48,42,45,45,40,35,15,10,15,38,70,31,9,40,41,12,32,65,13,12,11,27,34,42,47,49,58,79,52,43,16,46,69,30,35,71,47,12,47 H,470617,8,900,4,16,1015675,375,2,1,1,,2,2,2,,50,0,2,3,3,0,1,,,,,3,1,4,,,,1,2,,1,2,1,5,,,,,,1,7,13200,0,4,4,4,1,1,0,,0,1,0,6,3,0,0,0,0,2,61,,0,1,4,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,561,376,127,285,302,412,616,134,549,155,695,454,336,392,243,432,637,370,152,483,309,469,435,169,121,113,374,354,297,367,382,475,482,550,353,137,415,532,340,594,222,548,530,284,400,478,162,618,180,519,163,321,406,410,658,354,135,420,581,308,340,139,357,530,446,503,321,484,337,324,429,104,158,131,270,486,359,143,304 H,470625,8,600,4,16,1015675,82,4,1,1,,3,2,2,,150,0,2,20,1,300,1,,2,900,2,1,1,6,,,,1,1,,20,3,600,2,2,23200,2,,,1,1,23200,0,2,2,2,1,2,2,4,0,0,2,72,0,0,1,0,0,1,1395,3,0,1,42,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,83,25,90,26,85,23,25,26,24,80,81,23,24,87,25,25,86,84,149,132,136,86,147,79,151,87,87,80,88,149,134,92,84,137,82,75,129,145,83,78,80,151,84,147,82,143,139,127,151,78,79,135,141,96,164,138,76,83,27,25,27,89,25,91,23,78,82,78,85,23,22,78,76,27,79,81,25,27,77 H,470999,8,800,4,16,1015675,139,2,1,1,,3,2,2,,110,0,2,3,3,500,1,,1,500,1,1,1,9,,,,1,1,,18,3,30,3,2,71050,4,,,1,1,71050,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,2,613,3,0,1,20,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,234,105,192,252,109,119,144,152,213,174,206,157,275,249,212,199,173,140,163,42,38,163,47,49,127,145,123,156,65,120,36,112,39,52,44,40,115,155,154,212,204,120,223,197,130,144,135,130,191,151,270,179,229,191,273,185,146,158,102,45,48,176,41,47,188,133,103,147,38,119,54,143,38,41,49,42,131,155,142 H,471226,8,900,4,16,1015675,181,2,1,2,1,3,2,2,,70,0,870,3,4,,1,,,,,,1,7,,,,1,4,,,1,2,9,7,20700,2,,,1,3,20700,0,2,2,2,1,4,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,272,307,149,214,193,52,186,260,222,355,317,53,177,53,167,188,59,215,59,190,343,269,201,199,200,56,139,245,177,282,380,58,150,65,181,169,52,140,61,196,279,299,152,203,186,49,161,328,154,289,260,62,200,54,183,182,46,202,55,183,267,283,197,154,136,60,288,299,200,296,289,56,171,63,228,166,47,160,57,163 H,471439,8,200,4,16,1015675,19,2,1,2,1,4,2,2,,40,0,2,40,1,800,1,,,,,3,1,6,,,,1,2,,18,6,840,8,2,41400,4,,,1,1,41400,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,2,334,,0,1,26,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,28,5,21,23,21,5,17,6,33,20,22,17,15,15,39,26,6,17,19,20,6,16,5,7,27,24,37,18,17,37,19,23,5,5,16,22,17,28,7,35,17,7,20,19,21,8,23,5,30,19,37,19,21,24,29,31,5,14,18,18,5,17,6,5,27,12,31,20,16,33,16,29,5,5,23,20,26,30,6 H,472017,8,600,4,16,1015675,76,2,1,1,,3,2,2,,80,0,2,150,1,620,1,,1,600,1,1,1,5,,,140,1,1,,14,1,300,4,7,38000,2,,,1,3,38000,0,2,2,2,1,3,1,2,0,0,1,31,0,0,1,0,0,1,995,1,0,1,65,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,121,125,22,138,86,78,21,23,22,71,85,131,23,84,124,77,73,82,84,136,76,74,83,74,24,117,74,73,80,22,115,69,77,22,92,23,22,138,137,71,128,139,22,132,81,81,23,22,22,75,73,139,24,71,116,76,76,74,80,138,83,80,78,79,22,121,80,79,71,25,134,75,77,24,82,22,23,136,133,87 H,472108,8,300,4,16,1015675,24,2,1,1,,4,2,2,,150,0,20,3,3,490,1,,2,1000,2,1,1,6,,,,1,1,,18,4,480,3,,,,,,1,5,60000,0,4,4,4,1,3,0,,0,1,0,27,0,0,0,0,0,2,1333,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,29,24,8,6,41,57,10,28,36,8,5,21,20,46,27,25,39,24,21,12,35,22,31,47,9,10,51,16,6,43,50,30,26,8,27,39,26,23,23,46,19,23,7,6,46,38,9,34,51,9,12,22,25,48,27,26,20,27,33,8,28,31,38,40,10,6,38,36,8,39,43,23,25,8,23,19,22,27,24 H,472233,8,200,4,16,1015675,41,2,1,,,2,6,,,40,0,2,3,3,,1,,,,,,1,4,2,520,,1,3,,,1,1,5,1,39814,4,560,17,3,1,39814,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,46,41,10,33,14,36,32,14,49,63,13,17,66,32,45,62,35,62,66,36,39,40,12,40,12,40,47,13,43,76,14,12,57,40,43,76,46,70,66,36,43,49,16,38,13,46,43,10,46,103,16,12,71,38,41,81,38,55,79,37,43,44,10,29,8,51,41,10,44,68,10,12,79,38,48,67,27,64,73 H,472593,8,600,4,16,1015675,119,3,1,1,,3,2,2,,60,0,2,30,1,270,1,,2,350,2,1,1,6,,,,1,1,,17,3,1000,5,2,78800,4,,,1,1,78800,0,4,4,4,1,6,0,3,0,0,0,10,0,0,0,2,1,1,629,3,0,1,22,2,6,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,37,202,217,96,189,124,113,32,114,37,117,34,107,108,233,117,120,205,189,129,116,122,119,209,127,37,175,118,217,108,37,122,36,217,117,40,36,129,128,33,36,214,217,111,200,118,114,37,110,34,116,35,119,120,229,111,129,193,191,109,110,133,114,206,124,31,203,119,195,107,39,121,32,196,119,37,39,121,112 H,472636,8,700,4,16,1015675,102,1,1,1,,3,2,2,,50,0,2,50,1,600,1,,1,570,2,1,1,4,,,,1,1,,19,1,40,2,,,,,,2,4,34000,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,1,0,1,831,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,110,97,165,97,109,97,29,111,98,168,32,164,185,108,110,31,29,169,97,111,162,30,111,161,179,173,105,29,174,106,97,99,105,28,28,105,115,108,29,101,174,31,99,182,185,184,114,32,164,105,97,100,98,30,31,98,108,108,28,28,96,99,174,99,94,105,30,103,101,178,32,169,180,104,99,30,28,181,98,33 H,472686,8,800,4,16,1015675,17,1,1,2,1,4,2,2,,240,0,2,3,3,1000,1,,1,300,2,1,1,8,,,,1,1,,18,1,540,9,,,,,,1,6,14000,0,4,4,4,1,6,0,,0,0,0,54,0,0,0,0,0,2,635,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,23,17,37,15,15,18,3,19,5,17,14,5,20,25,3,5,27,19,4,15,6,22,5,17,18,19,24,13,31,14,14,22,16,5,29,23,3,17,5,15,7,17,6,18,14,19,28,14,34,13,18,29,15,5,24,26,5,17,25,17,34,14,21,17,15,16,4,16,4,16,17,3,15,21,4,5,29,15,23 H,472798,8,100,4,16,1015675,132,4,1,1,,3,2,2,,50,0,2,110,1,430,1,,2,350,2,1,1,5,,,,1,1,,18,3,560,3,1,48800,2,,,1,1,48800,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,692,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,36,161,215,129,40,41,120,146,40,230,129,260,260,121,225,42,130,134,144,125,40,145,222,134,35,32,117,134,44,241,126,224,256,134,262,41,137,130,110,144,241,120,37,117,255,271,127,134,203,42,153,32,35,134,40,252,122,140,127,140,225,133,43,114,202,248,166,128,236,44,145,44,39,152,35,228,137,113,121 H,473118,8,100,4,16,1015675,56,2,1,1,,3,2,2,,30,0,2,50,1,,1,,,,,,1,5,2,500,,1,3,,,1,60,7,,,,585,18,1,5,38000,0,4,4,4,1,4,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,64,98,58,54,91,54,14,91,93,13,52,56,22,50,15,59,52,60,77,13,49,16,50,55,14,48,86,18,17,92,55,59,101,58,106,78,67,59,91,19,50,15,56,50,17,53,122,19,17,104,51,59,83,42,95,50,46,50,18,106,62,89,59,53,86,49,21,108,99,19,47,66,15,57,18,50,64,42,19 H,473376,8,800,4,16,1015675,85,6,1,1,,3,1,2,,2,0,2,3,2,,1,,,,,,1,5,,,,1,4,,,2,2,3,2,40000,2,,,2,1,40000,0,2,2,2,2,5,2,6,0,0,2,,0,0,1,0,0,2,,,1,0,,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,68,168,131,84,72,36,125,22,84,106,21,111,130,29,31,126,98,96,152,27,103,36,80,72,89,143,82,131,96,74,124,82,26,114,119,29,71,66,25,28,93,29,94,88,87,148,112,121,79,77,119,85,27,131,156,30,80,87,35,136,78,128,80,78,90,27,99,22,66,73,25,74,147,29,23,153,86,99,153,146 H,473377,8,500,4,16,1015675,23,2,1,2,1,3,3,2,,110,0,2,3,3,500,1,,1,990,1,1,1,6,,,180,2,1,,16,3,2,7,2,32000,4,,,1,1,32000,0,4,4,4,1,5,0,2,0,0,0,48,0,0,0,0,0,1,1280,2,0,1,20,1,3,3,0,0,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,7,20,36,29,7,23,28,21,6,25,9,43,26,41,25,17,17,37,34,21,26,32,21,7,21,6,9,37,24,40,24,21,35,23,40,7,8,20,28,7,7,25,47,23,6,25,23,21,6,22,8,39,26,40,21,21,23,34,38,26,21,39,25,6,20,6,7,44,23,34,23,23,39,21,47,8,6,21,26,8 H,473539,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,473894,8,300,4,16,1015675,83,1,1,1,,4,2,2,,90,0,2,3,3,400,1,,1,670,1,1,1,7,,,,1,1,,14,1,360,4,,,,,,1,6,28000,0,4,4,4,1,4,0,,0,0,0,34,0,0,0,0,0,1,790,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,24,173,94,23,93,99,86,128,23,111,21,148,83,75,81,23,72,145,90,158,74,88,31,77,130,128,144,82,81,84,79,81,29,22,21,83,148,83,26,21,79,86,161,79,25,24,21,88,77,72,86,70,149,174,139,90,23,90,148,74,132,23,81,160,91,77,85,26,147,25,153,24,100,80,75,162,86,21,72,82 H,474036,8,700,4,16,1015675,117,5,1,2,1,3,2,2,,80,0,2,3,3,350,1,,,,,3,1,7,,,,1,2,,22,4,2,3,4,59000,2,,,1,1,59000,1,2,2,2,1,4,2,5,0,0,2,6,0,0,1,1,1,1,284,,0,1,33,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,204,117,113,115,211,32,180,124,32,35,33,114,174,35,119,109,120,115,180,111,115,208,208,33,125,130,115,34,125,117,107,205,125,116,39,200,30,37,118,32,36,121,130,116,32,206,33,108,204,199,196,110,34,214,121,101,109,111,35,107,111,41,35,221,132,105,117,187,122,117,117,31,106,111,189,35,209,201,107 H,474049,8,400,4,16,1015675,240,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,385,411,69,226,354,77,83,196,225,405,249,239,221,200,410,288,228,83,295,70,401,387,75,242,370,83,75,228,270,453,289,175,184,285,474,227,228,91,242,80,409,443,77,236,373,83,87,215,229,369,226,241,254,224,469,328,209,67,242,87,386,355,68,196,330,75,80,260,243,436,290,194,195,251,421,208,243,97,223 H,474516,8,200,4,16,1015675,105,4,1,1,,3,2,2,,100,0,2,2,1,620,1,,1,860,1,1,1,8,,,200,1,1,,18,2,480,7,1,68000,1,,,3,1,68000,0,1,1,1,1,3,2,4,0,0,2,21,0,0,1,0,0,1,1200,2,0,1,35,2,5,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,179,101,170,96,33,100,30,205,146,37,33,118,93,90,111,100,205,110,157,34,128,98,178,109,33,97,35,182,121,27,30,122,114,98,114,148,170,95,24,183,27,97,22,111,231,93,194,32,120,214,216,118,100,96,91,92,32,117,28,170,33,102,35,109,165,122,197,32,122,159,150,158,119,84,115,105,31,96,133 H,474535,8,700,4,16,1015675,95,3,1,1,,4,2,2,,10,0,200,40,1,400,1,,1,950,1,1,1,8,,,,1,1,,19,3,20,1,2,64500,2,,,1,1,64500,0,2,2,2,1,4,1,3,0,0,1,19,0,0,1,0,0,1,1019,3,0,1,43,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,90,149,145,103,183,159,94,93,114,94,149,90,156,102,152,152,188,174,90,84,87,29,27,97,27,29,102,96,102,94,30,99,26,102,31,28,25,32,99,102,106,165,183,93,140,172,94,101,92,95,159,103,159,98,164,148,143,148,106,99,102,34,32,101,30,27,93,90,96,92,27,91,27,84,25,27,30,28,90 H,474746,8,700,4,16,1015675,84,3,1,1,,4,2,2,,80,0,2,50,1,1000,1,,1,1300,1,1,1,8,,,750,1,1,,19,3,30,1,1,288500,4,,,4,1,288500,0,4,4,4,1,2,0,3,0,0,0,9,0,0,0,0,0,1,2183,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,149,142,92,150,74,86,28,90,23,74,23,82,94,147,75,91,135,25,81,82,81,84,25,84,162,25,90,25,86,142,87,153,24,86,146,146,91,82,148,159,25,25,92,22,87,84,144,89,142,90,136,81,90,25,80,78,28,146,78,79,89,87,164,87,24,145,78,148,93,24,80,22,152,82,24,27,84,85 H,474797,8,300,4,16,1015675,108,2,1,1,,3,2,2,,140,0,2,20,1,800,1,,2,850,2,1,1,8,,,,1,1,,19,2,20,3,1,144000,4,,,1,1,144000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,1,1320,3,0,1,40,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,28,33,27,42,161,110,115,31,207,119,100,196,117,107,159,115,101,108,164,113,106,111,126,109,107,172,33,105,118,30,28,119,162,187,108,37,159,31,120,206,33,31,36,30,171,120,98,36,194,105,103,175,107,107,167,107,96,115,207,94,108,106,98,129,110,175,33,112,138,32,29,105,170,174,100,30,174,30,114 H,474821,8,100,4,16,1015675,100,3,1,1,,5,2,2,,50,0,2,2,1,440,1,,,,,3,1,9,,,,1,2,,17,4,420,5,1,148400,4,,,1,1,148400,0,4,4,4,1,6,0,3,0,0,0,2,0,0,0,0,0,2,230,,0,1,25,3,4,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,97,105,104,32,112,99,167,201,30,29,115,103,28,161,161,93,135,34,103,88,86,89,102,35,86,89,196,176,35,31,156,97,32,157,152,117,88,27,102,86,91,90,121,30,82,103,177,174,25,30,119,95,31,178,157,111,130,22,96,91,110,91,89,39,104,95,148,185,35,29,160,79,34,175,159,141,98,36,119,114 H,475160,8,300,4,16,1015675,64,2,1,2,1,3,2,2,,40,0,2,3,6,400,1,,1,640,1,1,1,5,,,,1,1,,12,2,2,9,5,20000,2,,,1,2,20000,0,1,1,1,1,4,1,2,0,0,1,41,0,0,1,0,0,1,680,3,0,1,12,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,77,82,108,195,60,61,60,43,90,21,21,11,67,90,53,32,79,59,21,20,60,16,25,18,73,68,65,88,71,61,81,115,67,29,86,92,62,57,124,22,68,22,18,26,91,94,82,63,63,128,101,84,52,17,59,128,67,55,79,135,46,105,106,86,72,56,66,69,55,25,18,27,62,102,56,21,85,75,21,105 H,475376,8,500,4,16,1015675,178,1,1,,,1,10,,,1,0,380,3,8,250,1,,2,340,1,1,1,3,,,,1,1,,2,1,1,3,,,,,,1,6,26000,0,4,4,4,1,4,0,,0,0,0,18,0,0,0,0,0,2,393,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,168,194,273,182,65,47,47,157,224,202,162,174,306,267,320,164,45,200,61,264,230,173,317,213,65,60,57,198,163,183,176,168,347,264,229,151,50,191,61,348,196,190,323,182,60,52,64,125,221,153,177,184,310,276,260,180,50,163,39,252,215,200,311,236,47,48,57,190,218,196,202,160,244,341,337,143,52,192,57 H,475788,8,800,4,16,1015675,65,6,1,2,1,3,2,2,,50,0,600,3,4,530,1,,2,400,2,2,1,6,,,,2,1,,11,4,600,7,8,17600,3,,,1,3,48200,1,3,2,3,1,1,1,3,0,1,2,18,3,1,1,0,0,1,719,3,0,1,27,1,14,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,19,54,101,110,86,20,111,21,61,66,67,67,57,63,118,18,59,56,57,60,65,107,64,57,147,67,76,54,97,19,19,24,18,110,61,59,26,98,21,116,114,65,18,20,58,99,20,82,63,61,64,63,69,64,17,119,65,69,67,60,60,20,58,65,19,66,61,64,19,116,87,105,136,20,71,75,106,26,128 H,475898,8,800,4,16,1015675,20,5,1,3,5,5,2,2,,130,0,2400,250,4,2000,1,,2,400,2,1,1,9,,,,1,1,,18,3,300,9,1,71800,2,,,1,1,71800,1,3,3,3,1,5,2,5,0,0,2,21,0,0,1,1,1,1,1272,3,0,0,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,15,5,17,30,17,22,43,21,5,5,5,18,17,17,18,15,23,39,7,39,30,5,17,35,23,18,25,13,5,7,7,17,19,20,17,15,42,34,24,7,19,34,17,5,17,19,8,19,28,31,33,18,19,18,20,20,5,5,49,5,22,36,19,5,18,19,5,21,31,30,33,16,21,23,19,17,5,5,8 H,476133,8,300,4,16,1015675,56,3,1,1,,2,1,2,,100,4700,2,3,3,,1,,,,,,1,4,,,,1,4,,,1,2,5,8,540,2,,,1,3,540,0,3,3,3,1,5,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,99,94,102,56,16,57,81,52,54,106,73,24,18,15,53,57,61,54,50,117,22,24,18,67,73,40,10,35,56,18,56,104,76,74,63,46,61,57,49,15,101,111,93,73,26,51,73,40,58,128,53,18,18,15,52,49,44,46,47,86,15,17,19,58,115,56,14,59,61,19,59,91,107,100,51,47,48,57,64,17 H,476198,8,700,4,16,1015675,114,1,1,1,,3,2,2,,30,0,2,60,3,300,1,,1,470,1,1,1,4,,,170,1,1,,16,2,400,3,,,,,,1,6,52000,0,4,4,4,1,5,0,,0,0,0,18,0,0,0,0,0,2,763,2,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,34,33,112,32,115,36,113,111,111,115,32,36,113,103,36,122,110,35,119,110,121,114,186,99,183,124,202,176,194,193,114,116,195,198,126,188,197,113,196,189,185,212,120,207,102,199,127,113,134,107,203,190,106,114,183,107,99,201,121,109,114,119,33,119,30,106,35,36,33,36,105,106,34,32,110,34,34,118,30 H,476490,8,600,4,16,1015675,123,1,1,1,,3,2,2,,50,0,2,3,3,300,1,,1,730,1,1,1,6,,,320,1,1,,17,1,140,7,,,,,,1,6,43000,0,4,4,4,1,3,0,,0,0,0,31,0,0,0,0,0,2,1112,1,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,117,198,124,210,34,37,128,130,127,206,107,35,119,36,39,192,119,206,116,127,130,191,119,208,31,40,120,122,124,198,129,35,122,34,37,220,142,225,116,120,118,37,116,41,212,199,139,118,129,34,134,185,126,211,205,37,107,42,128,120,114,39,117,37,224,203,120,130,113,40,121,186,111,216,198,32,119,39,120 H,476855,8,600,4,16,1015675,87,1,1,1,,3,3,2,60,50,0,2,20,1,240,1,,,,,3,1,5,,,,1,2,,18,1,330,3,,,,,,1,6,13750,0,4,4,4,1,3,0,,0,0,0,33,0,0,0,1,1,1,377,,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,140,143,93,81,86,97,82,29,83,164,25,92,25,80,143,95,136,24,146,91,28,25,93,94,97,93,87,154,90,23,134,82,139,94,29,96,23,138,25,76,145,157,89,79,84,98,94,27,90,143,25,91,27,91,169,81,151,27,161,87,26,27,81,86,82,81,81,144,87,27,144,79,168,91,23,98,26,163,23 H,476864,8,800,4,16,1015675,65,3,1,2,1,4,2,2,,50,0,600,3,4,800,1,,2,220,2,1,1,9,,,,1,1,,16,3,2,7,2,56000,4,,,1,1,56000,0,4,4,4,1,1,0,3,0,0,0,11,0,0,0,0,0,1,495,3,0,1,25,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,43,70,65,19,24,13,57,168,56,25,93,52,13,87,113,182,112,66,70,116,61,73,61,17,18,17,88,120,60,29,74,53,18,83,127,135,110,71,64,131,50,63,55,22,25,15,54,176,49,17,103,57,17,96,112,170,121,63,61,76,66,64,67,17,18,24,62,92,81,28,60,50,21,84,118,130,130,60,67,111 H,477182,8,900,4,16,1015675,35,2,1,1,,2,2,2,,30,0,2,80,2,330,1,,,,,3,1,4,,,,1,2,,9,2,300,9,4,28200,4,,,1,1,28200,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,2,188,,0,1,8,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,10,34,63,13,11,28,33,57,35,28,28,39,63,33,29,8,10,54,28,12,57,33,10,67,55,37,42,12,33,28,47,48,8,25,39,66,50,14,50,12,85,43,10,46,49,41,38,9,37,37,25,27,10,40,30,41,50,9,51,69,12,38,51,9,10,55,44,48,26,38,40,36,37,25,41,9,8,73,35 H,477395,8,300,4,16,1015675,86,2,1,2,1,4,2,2,,220,0,2,3,3,600,1,,1,890,1,1,1,5,,,350,1,1,,20,2,2,3,3,107700,4,,,1,1,107700,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,1,1460,2,0,1,26,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,24,142,109,27,158,117,67,75,30,92,127,102,74,28,73,75,141,134,106,150,165,26,101,142,23,24,70,80,160,94,78,77,105,167,107,96,21,27,89,22,31,143,81,32,131,120,88,82,24,80,78,85,99,22,94,86,124,157,81,165,153,21,95,183,30,21,84,90,181,102,96,77,68,137,71,86,37,22,68 H,477749,8,600,4,16,1015675,113,2,1,1,,3,2,2,,90,0,2,80,1,700,1,,1,1000,1,2,1,6,,,760,1,1,,16,2,420,3,1,110000,4,,,1,1,110000,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,0,0,2,1965,1,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,136,155,125,212,128,104,180,107,32,178,179,35,124,92,38,111,27,105,225,132,98,42,101,32,110,137,52,103,190,33,32,193,102,123,224,138,199,110,142,108,127,37,161,52,104,108,31,105,183,36,27,181,131,87,157,104,153,130,49,132,94,264,96,152,138,119,171,195,33,152,189,37,111,154,40,125,37,92,33 H,477938,8,900,4,16,1015675,141,2,1,,,2,4,,,40,0,2,3,3,,1,,,,,,1,4,2,330,,1,3,,,2,1,9,,,,370,10,5,5,45000,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,226,147,151,203,130,209,41,45,134,132,172,207,140,53,115,41,45,203,134,145,50,155,132,50,160,43,241,251,136,141,143,51,155,224,157,209,211,37,137,123,209,146,172,288,163,227,49,52,179,146,158,217,148,54,133,38,42,202,133,158,45,129,127,42,140,41,208,233,130,141,174,55,135,201,126,217,243,36,174 H,477940,8,800,4,16,1015675,28,2,1,3,1,2,2,2,,70,0,800,3,4,300,1,,,,,3,1,6,,,,1,2,,13,3,2,7,,,,,,1,7,33800,0,4,4,4,1,7,0,,0,1,0,7,0,0,0,2,1,1,204,,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,46,27,11,45,46,7,32,32,10,32,9,27,32,29,50,28,45,28,10,32,66,33,9,59,41,8,26,26,8,29,11,25,25,23,67,35,41,37,9,29,49,25,10,41,55,12,29,28,10,35,6,28,30,28,53,31,58,31,7,26,66,32,8,48,42,8,34,31,7,35,12,26,27,23,56,29,44,33,10 H,478111,8,200,4,16,1015675,16,3,1,2,1,3,2,2,,120,0,2,3,3,270,1,,2,590,2,1,1,7,,,100,1,1,,14,5,690,4,1,59400,4,,,1,1,59400,0,4,4,4,1,5,0,3,0,0,0,20,0,0,0,0,0,1,972,4,0,1,21,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,19,14,26,25,25,12,5,14,24,20,18,25,17,5,5,4,20,14,16,18,14,12,6,4,4,17,30,17,5,12,18,3,22,38,19,39,12,13,17,5,17,13,22,22,26,14,5,14,26,14,15,24,17,6,5,5,15,14,13,20,18,15,6,6,3,19,22,15,3,16,20,5,12,26,30,36,15,15,18,5 H,478206,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,478448,8,900,4,16,1015675,56,2,1,2,1,3,2,2,,70,0,2,50,1,440,1,,1,870,1,1,1,9,,,170,1,1,,14,2,990,7,1,60000,4,,,1,1,60000,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,2,0,1,1243,1,0,1,14,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,17,15,63,42,50,97,59,13,56,15,15,101,53,88,57,56,106,50,58,100,18,17,54,50,51,109,70,16,56,15,17,79,50,121,58,54,92,42,57,13,95,108,52,40,60,20,68,66,52,88,93,19,79,17,53,61,16,43,53,17,95,102,53,50,59,27,62,89,48,86,89,16,69,15,53,62,15,50,64 H,478635,8,700,4,16,1015675,82,2,1,1,,4,2,2,,80,0,2,10,1,390,1,,1,1100,1,1,1,9,,,460,1,1,,20,2,280,2,2,-14299,4,,,1,1,-14299,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,1673,2,0,1,39,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,23,23,80,79,80,132,87,24,84,25,22,129,83,152,89,76,140,77,91,141,25,24,80,87,76,145,77,24,80,27,24,125,79,136,78,91,156,81,79,141,24,24,75,98,81,125,83,22,82,24,25,137,87,135,73,86,137,93,80,130,21,25,84,88,90,129,78,23,84,24,24,144,79,152,82,74,138,84,81 H,478691,8,600,4,16,1015675,104,2,1,1,,3,2,2,,80,0,2,100,3,2600,1,,2,770,2,1,1,6,,,140,1,1,,18,2,1300,8,2,34000,4,,,1,1,34000,0,4,4,4,1,5,0,2,0,0,0,54,0,0,0,0,0,2,1523,2,0,1,25,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,29,99,161,150,170,107,100,104,105,107,30,29,30,110,163,106,30,100,30,107,170,110,32,28,32,109,121,109,111,104,200,193,198,112,29,100,182,116,192,112,31,95,173,188,183,104,95,105,105,109,33,31,31,107,203,115,31,119,29,101,183,100,31,28,28,106,92,100,106,106,170,171,169,97,33,105,178,104,179 H,478744,8,400,4,16,1015675,50,8,1,1,,4,2,2,,230,2000,2,3,3,140,1,,,,,3,1,7,,,,1,2,,12,3,670,5,2,145500,2,,,2,1,145500,1,2,4,2,1,7,0,8,0,0,2,2,0,1,1,2,2,1,300,,0,1,2,3,5,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,79,88,46,70,103,66,43,12,14,29,55,86,73,16,44,46,13,41,64,110,80,87,39,40,43,32,46,25,15,13,53,83,42,15,91,88,27,38,56,13,20,17,45,91,76,52,44,73,91,89,51,14,65,74,36,31,64,51,14,31,18,17,41,44,43,33,47,129,87,57,46,17,37,70,70,70,103,49,15,59 H,478764,8,300,4,16,1015675,101,4,1,1,,3,2,2,,70,0,2,30,1,1100,1,,1,400,1,1,1,7,,,380,1,1,,11,3,2,5,1,61000,4,,,1,1,61000,0,4,4,4,1,5,0,4,0,0,0,17,0,0,0,0,0,1,880,2,0,1,15,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,102,157,97,40,112,115,28,71,222,154,216,108,110,93,86,108,35,30,32,30,95,25,106,135,109,94,143,142,29,25,36,89,128,136,101,103,208,131,152,21,105,39,101,184,122,100,169,56,41,56,29,79,124,80,69,125,195,161,179,172,139,205,101,33,108,100,31,123,111,156,209,129,80,123,183,79,26,25,31,161 H,478879,8,600,4,16,1015675,101,4,1,1,,2,2,2,,100,0,2,60,1,600,1,,2,400,2,1,1,5,,,,2,1,,15,3,400,7,1,52000,2,,,1,1,52000,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,753,3,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,166,30,98,30,96,176,97,186,28,108,179,169,98,102,100,98,103,30,166,101,30,160,100,173,104,31,111,33,194,102,30,32,102,103,97,95,104,171,173,107,28,152,96,166,98,29,88,28,171,100,30,34,107,104,115,104,102,199,29,100,177,30,97,30,101,179,99,168,33,103,179,160,91,105,101,109,102,30,30 H,479103,8,900,4,16,1015675,333,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,3,20,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,333,676,350,125,337,125,568,382,102,99,318,299,316,289,315,664,351,132,494,595,275,502,359,87,298,92,444,312,101,96,360,320,355,351,310,538,295,109,611,105,319,124,294,640,319,548,110,399,516,499,296,326,324,299,308,136,339,637,92,108,388,101,340,545,344,493,82,321,498,509,313,314,298,345,330,100,340,506,127,545 H,479119,8,100,4,16,1015675,347,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,580,344,342,103,567,103,104,320,345,583,685,97,346,364,333,108,373,393,366,105,343,626,124,332,322,354,330,523,596,344,329,324,608,108,499,297,106,115,604,327,595,403,419,97,607,110,95,340,300,576,532,106,330,360,421,99,370,330,341,105,324,599,95,392,350,341,376,520,607,365,343,345,521,95,540,350,105,116,575 H,479479,8,500,4,16,1015675,169,2,1,1,,3,2,2,,50,0,2,130,1,580,1,,1,890,1,1,1,5,,,,1,1,,16,2,200,1,3,52000,4,,,1,1,52000,0,4,4,4,1,1,0,2,0,0,0,25,0,0,0,0,0,2,1087,3,0,1,24,2,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,228,149,40,141,296,175,141,276,155,49,39,63,170,189,182,152,211,237,265,230,61,206,337,233,42,163,200,50,145,294,338,254,185,171,180,205,143,58,59,45,290,152,55,176,262,182,177,277,174,44,53,52,172,160,171,189,176,294,272,294,46,173,262,178,55,194,191,55,190,287,245,293,174,145,144,150,176,50,47,53 H,480017,8,500,4,16,1015675,231,5,1,1,,3,2,2,,50,0,2,40,1,260,1,,1,870,1,1,1,6,,,,1,1,,14,4,600,2,1,69000,1,,,2,1,69000,0,1,1,1,1,3,2,5,0,0,2,18,0,0,1,0,0,2,1010,3,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,237,103,230,193,74,230,69,371,364,220,228,251,83,242,337,232,409,361,200,59,233,61,191,235,66,221,55,393,427,221,214,234,94,230,383,206,470,394,247,81,277,66,273,233,73,257,69,322,357,233,207,254,62,167,360,277,310,332,193,77,190,71,262,248,90,210,105,466,297,288,233,200,64,229,357,283,380,388,277 H,480329,8,400,4,16,1015675,75,3,1,1,,3,2,2,,180,0,2,280,1,50,1,,2,580,1,1,1,8,,,,1,1,,15,2,70,9,7,24000,2,,,1,3,24000,0,2,2,2,1,4,2,3,0,0,2,53,0,0,1,0,0,1,1050,3,0,1,14,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,124,79,22,103,98,28,87,66,24,70,23,62,80,78,120,118,113,76,161,82,25,60,96,36,25,93,101,71,174,91,112,101,55,58,17,52,16,83,126,78,22,53,85,35,17,92,90,92,119,89,99,68,46,92,30,76,22,62,14,90,87,53,27,124,147,29,74,80,34,81,39,58,66,86,120,86,127,82,21 H,480524,8,800,4,16,1015675,41,2,1,1,,2,1,2,,250,0,2,3,3,300,1,5100,2,410,2,1,1,5,,,,1,1,,3,3,400,4,1,79100,4,,,1,1,79100,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,0,0,1,1166,3,0,0,7,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,55,82,64,15,12,62,40,12,63,74,42,35,10,51,52,43,45,12,58,36,42,59,61,10,12,77,38,14,83,77,34,40,12,35,42,43,39,12,34,39,43,12,8,62,81,14,40,70,12,10,43,38,66,45,49,44,48,81,44,38,41,14,14,74,77,14,35,64,12,10,48,56,71,39,41,41,34,62,34 H,480806,8,600,4,16,1015675,110,1,1,,,1,7,,,1,0,1,1,3,,1,,,,,,1,2,2,600,,1,3,,,0,1,5,,,,600,101,1,6,1760,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,87,115,171,49,190,164,25,41,31,123,167,30,97,157,82,97,140,199,115,99,111,103,27,198,42,109,159,284,144,95,36,155,169,169,97,114,35,42,95,160,125,90,134,53,182,120,27,45,29,81,161,26,142,155,109,112,148,218,94,109,94,144,34,192,33,115,147,223,198,82,40,197,109,160,81,106,40,35,92,114 H,480995,8,100,4,16,1015675,99,1,1,1,,2,2,2,,40,0,2,270,1,350,1,,,,,3,1,4,,,,1,2,,14,2,710,9,,,,,,1,4,23300,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,1,1,2,480,,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,143,142,34,40,130,34,95,97,158,150,134,101,186,78,103,26,71,115,151,88,96,92,85,100,159,103,32,174,89,161,101,29,99,33,171,90,30,35,41,118,102,87,107,119,39,131,146,34,107,35,122,158,80,134,32,101,131,157,98,148,37,30,166,141,82,154,98,72,27,126,37,94,37,90,91,156,107,86,122 H,481081,8,800,4,16,1015675,76,2,1,1,,2,2,2,,30,0,2,110,1,300,1,,,,,3,1,5,,,,1,2,,5,2,480,5,5,40330,2,,,1,2,40330,0,2,2,2,1,4,1,2,0,0,1,7,0,0,1,0,0,1,251,,0,1,13,1,10,10,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,115,17,23,96,75,130,97,83,78,71,134,101,92,19,24,115,105,18,74,80,19,140,140,76,77,25,77,82,84,78,23,93,93,104,112,27,24,167,82,69,118,29,25,92,104,143,66,67,81,77,135,76,85,23,21,160,155,30,69,93,20,97,136,95,66,20,97,68,70,92,20,89,78,113,106,21,23,124,93,83 H,481340,8,500,4,16,1015675,95,2,1,1,,3,2,2,,50,0,2,120,1,70,1,,1,60,1,1,1,5,,,,1,1,,11,2,40,3,,,,,,1,7,53800,0,4,4,4,1,3,0,,0,1,0,5,0,0,0,0,0,1,233,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,89,27,153,29,90,150,171,174,95,27,134,102,88,76,103,31,32,103,99,90,91,155,30,177,97,31,30,23,85,173,26,89,94,110,94,166,169,100,110,96,110,161,29,156,103,26,32,27,97,170,30,96,91,93,90,150,170,93,113,106,87,31,173,26,102,158,163,172,84,26,174,83,86,86,90,29,27,90,81,104 H,481432,8,500,4,16,1015675,64,2,1,1,,3,2,2,,80,0,2,10,1,430,1,,,,,3,1,7,,,,1,2,,17,3,220,8,1,65100,4,,,1,1,65100,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,1,0,2,194,,0,1,14,2,5,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,65,21,20,67,18,94,66,69,70,115,58,17,65,105,104,63,59,110,71,20,66,21,18,68,19,109,62,62,59,119,60,19,72,99,98,65,61,117,69,20,68,17,19,66,20,123,75,54,65,108,66,21,61,98,97,52,63,104,56,18,63,19,18,63,18,102,75,66,67,112,64,18,61,115,111,65,68,103,62 H,481683,8,200,4,16,1015675,17,2,1,1,,2,2,2,,90,0,2,110,1,460,1,,,,,3,1,4,,,,1,2,,15,3,840,5,,,,,,1,5,84240,0,4,4,4,1,5,0,,0,1,0,6,2,0,0,2,1,1,407,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,23,19,7,17,16,28,17,39,29,4,4,17,15,16,16,24,5,16,33,13,17,5,28,19,15,5,16,5,5,30,27,15,17,16,21,7,29,14,5,17,15,28,5,16,23,41,17,23,27,5,6,18,19,24,17,26,5,13,28,23,24,4,26,15,10,5,25,8,5,24,28,14,14,20,17,5,31,16,5 H,481858,8,400,4,16,1015675,105,3,1,1,,3,2,2,,60,0,2,80,1,750,1,,1,1200,1,1,1,6,,,300,1,1,,16,2,340,4,7,18860,3,,,1,3,18860,0,1,1,1,1,3,2,3,0,0,2,101,0,0,1,0,0,2,1668,1,0,1,35,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,133,140,148,122,102,152,115,130,126,113,29,112,226,27,107,144,43,132,26,34,123,108,109,191,113,169,118,89,133,93,19,168,199,21,95,101,27,127,26,33,112,121,113,226,120,226,117,112,150,94,29,159,217,22,85,151,27,133,28,27,91,98,107,174,127,131,108,105,124,107,23,131,229,34,128,123,45,100,41 H,482031,8,500,4,16,1015675,110,3,1,2,1,3,2,2,,120,0,2,3,6,780,1,,1,730,1,1,1,4,,,,1,1,,14,2,2,5,1,59800,2,,,1,1,59800,0,2,2,2,1,6,1,3,0,0,1,17,0,0,1,0,0,1,850,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,115,107,111,170,168,97,159,29,232,35,113,35,36,101,120,106,127,124,103,108,186,38,31,102,94,194,106,115,107,108,198,96,112,36,31,201,174,33,196,31,108,112,108,212,192,100,191,33,177,32,105,34,29,102,118,105,123,112,113,123,207,35,29,105,99,170,113,117,107,94,151,111,107,33,37,172,189,33,178 H,482123,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,482528,8,700,4,16,1015675,114,2,1,1,,3,2,2,,140,0,2,230,1,400,1,,1,1600,1,1,1,6,,,,1,1,,19,3,570,2,2,68600,4,,,1,1,68600,0,4,4,4,1,3,0,2,0,0,0,35,0,0,0,0,0,1,2018,3,0,1,50,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,115,115,110,124,113,173,182,199,115,35,106,208,111,106,187,118,34,35,35,30,112,120,113,102,120,204,199,182,111,35,111,210,119,115,220,104,30,35,34,34,118,118,123,118,105,215,198,192,132,33,117,191,101,124,194,100,30,31,35,30,114,120,121,124,110,180,200,183,126,36,106,177,111,112,184,117,38,31,30 H,482785,8,100,4,16,1015675,22,2,1,2,1,3,2,2,,90,0,2,200,2,1200,1,,,,,3,1,9,,,,1,2,,22,4,240,1,4,59500,4,,,1,1,59500,0,4,4,4,1,1,0,2,0,0,0,11,0,0,0,1,0,1,543,,0,1,28,1,8,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,26,36,6,19,20,7,19,18,5,21,19,20,7,33,36,36,36,7,23,20,21,7,34,20,23,33,20,22,38,22,24,24,36,5,5,7,7,35,19,24,24,37,7,21,20,5,21,18,8,24,17,18,7,36,35,36,39,7,18,21,19,7,35,26,27,31,21,21,37,22,22,21,32,6,5,5,7,37,19 H,482986,8,300,4,16,1015675,63,3,1,2,1,4,2,2,,190,3400,2,100,2,1200,1,,1,1500,1,1,1,8,,,,1,1,,16,4,500,9,5,93000,4,,,5,2,145000,0,4,4,4,1,1,0,2,0,1,0,15,2,0,0,0,0,1,1832,3,0,1,22,1,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,144,16,21,57,58,62,108,69,20,70,21,23,121,54,88,50,84,89,64,69,18,96,116,85,59,62,18,61,103,66,105,101,18,75,32,50,58,20,62,61,14,136,125,72,63,45,25,73,128,104,71,83,21,51,26,69,65,25,56,64,98,23,15,53,78,63,101,65,20,71,23,15,113,54,83,61,89,118,62,64 H,483009,8,200,4,16,1015675,67,2,1,3,1,5,2,2,,50,0,600,210,2,2100,1,,2,1300,2,1,1,9,,,700,1,1,,23,2,2,4,1,131800,4,,,1,1,131800,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,1,2902,2,0,0,62,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,114,60,68,97,62,121,22,29,64,59,75,125,61,22,56,15,20,88,66,70,99,63,72,131,76,102,16,15,60,72,64,121,66,16,97,27,16,124,59,61,123,80,70,96,62,116,18,17,56,51,76,106,65,26,60,21,33,105,52,81,99,55,57,112,67,124,26,20,64,71,56,113,60,19,68,22,15,109,80 H,483171,8,800,4,16,1015675,85,3,1,1,,3,2,2,,70,0,1000,180,1,350,1,,1,640,1,1,1,5,,,,1,1,,12,3,740,9,1,64460,1,,,1,1,64460,1,1,4,1,1,4,0,3,1,0,1,19,0,0,1,0,0,1,1035,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,24,21,75,26,93,87,156,72,127,80,113,90,75,24,86,82,30,147,125,95,103,94,128,72,31,131,92,160,91,29,77,30,138,81,34,25,83,92,79,22,145,137,89,159,86,93,26,72,23,71,22,85,79,149,72,78,143,24,27,73,83,92,29,74,142,29,97,28,82,143,101,155,24,87,143,154,101,92,71 H,483801,8,400,4,16,1015675,32,1,1,1,,2,2,2,,60,1800,2,3,3,,1,,,,,,1,4,,,,1,4,,,1,460,8,,,,,,1,4,2100,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,26,10,39,35,27,48,25,59,26,33,46,36,10,45,49,9,29,33,10,10,33,10,29,29,35,63,28,45,40,34,58,34,10,54,56,10,29,28,9,11,27,9,32,31,25,53,37,55,32,45,47,30,9,43,55,9,30,35,9,10,34,8,27,35,41,49,26,65,43,33,51,31,7,46,53,9,38,30,9 H,483978,8,500,4,16,1015675,36,2,1,1,,3,2,2,,100,0,70,3,6,480,1,,,,,3,1,6,,,,1,2,,13,2,40,5,1,52000,4,,,1,1,52000,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,0,0,1,241,,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,38,43,41,34,35,63,38,10,64,38,61,38,8,38,10,67,42,12,58,72,40,34,36,41,38,10,32,72,11,37,12,38,68,36,60,11,37,65,12,12,36,37,41,33,40,59,38,11,66,37,64,38,13,34,10,63,39,14,61,68,43,38,38,33,37,11,29,57,13,36,8,34,64,35,66,11,36,57 H,484476,8,600,4,16,1015675,110,3,1,1,,3,3,2,,80,0,2,120,1,,1,,,,,,1,6,2,800,,1,3,,,2,80,7,1,53400,2,1007,23,1,1,53400,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,174,28,131,174,204,200,117,36,186,98,112,111,104,36,35,94,112,108,29,101,122,117,189,113,112,110,32,114,100,164,31,195,160,118,130,30,32,198,106,31,199,34,106,173,187,188,112,35,179,101,124,108,104,30,34,101,99,130,31,110,109,99,177,109,115,114,32,113,106,182,33,211,189,125,121,33,34,181,129 H,485099,8,300,4,16,1015675,66,1,1,1,,3,2,2,,1,0,2,40,1,,1,,,,,,1,5,2,530,,1,3,,,1,1,9,,,,570,30,1,6,22750,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,87,91,127,58,49,98,59,154,25,21,64,66,84,98,64,23,66,19,52,14,104,45,108,49,44,147,91,142,15,25,80,48,71,130,74,15,73,19,82,19,96,46,126,59,52,188,64,127,19,22,85,53,68,166,75,21,58,18,71,14,100,55,93,69,54,77,64,88,26,18,82,69,87,118,52,19,76,21,96 H,485370,8,800,4,16,1015675,122,1,1,1,,1,1,2,,60,400,200,3,3,,1,,,,,,1,3,2,320,,1,3,,,4,2,6,,,,397,59,1,4,8100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,108,140,130,116,27,31,185,36,96,120,221,221,221,135,121,33,192,123,214,137,40,38,198,268,111,121,136,105,43,228,134,130,110,30,215,131,124,39,35,135,224,216,34,37,124,132,109,132,228,33,129,108,115,241,35,109,114,224,115,182,131,112,106,126,199,209,44,204,118,104,37,41,41,104,128,202,39,147,124 H,485527,8,300,4,16,1015675,98,4,1,2,1,4,2,2,,50,0,2,70,1,400,1,,1,560,1,1,1,8,,,250,1,1,,15,3,300,5,1,67400,1,,,1,1,67400,1,1,4,1,1,6,0,4,0,0,1,17,0,1,1,2,1,1,955,1,0,1,20,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,93,126,78,25,34,88,178,96,170,30,155,84,170,104,32,33,107,148,35,34,157,161,35,99,96,26,106,39,112,96,97,143,106,127,107,116,154,95,74,103,100,107,114,157,181,97,31,88,28,177,38,100,36,85,167,198,90,28,129,166,29,31,186,80,107,161,119,149,86,101,110,32,104,28,94,108,27,96,72 H,485857,8,500,4,16,1015675,135,5,1,2,1,4,2,2,,60,0,2,40,1,800,1,,2,1200,2,1,1,7,,,,1,1,,20,2,2,2,1,50000,3,,,1,1,50000,0,3,3,3,1,3,3,5,0,0,3,37,0,0,1,0,0,1,1534,3,0,1,32,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,139,129,141,145,220,180,160,143,238,136,130,236,214,242,261,135,254,108,40,38,138,127,133,130,37,34,141,158,36,120,120,49,42,37,43,111,40,131,223,222,122,130,148,128,241,224,167,117,228,153,141,226,281,238,236,126,230,133,40,39,116,127,150,146,39,41,131,124,36,127,132,47,39,40,41,123,38,108,219 H,485865,8,900,4,16,1015675,16,2,1,1,,4,2,2,,40,0,2,100,1,190,1,,1,550,1,1,1,6,,,,1,1,,14,2,600,2,4,39900,4,,,1,1,39900,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,2,2,2,740,3,0,1,8,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,27,21,23,5,4,28,34,7,15,21,5,3,25,15,26,23,18,14,18,17,24,16,15,5,5,29,29,5,19,33,8,5,15,18,37,22,18,30,15,16,33,18,24,7,5,35,39,8,15,19,5,6,24,14,23,14,15,19,21,18,30,16,14,5,7,31,25,5,27,28,5,7,13,15,33,14,15,27 H,486001,8,400,4,16,1015675,36,1,1,1,,2,2,2,,50,0,2,3,3,720,1,,2,800,1,1,1,4,,,,1,1,,15,2,600,8,,,,,,1,4,60000,0,4,4,4,1,1,0,,0,0,0,19,0,0,0,0,0,2,960,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,47,38,10,10,12,46,60,38,9,35,39,11,41,59,50,62,37,40,13,38,33,38,76,64,68,40,10,36,68,29,32,69,29,8,10,11,38,42,10,43,35,39,63,51,42,31,14,39,63,39,41,64,38,12,12,14,37,40,61,35,39,44,10,10,13,35,53,53,14,37,37,10,35,54,58,64,36,35,53 H,486098,8,600,4,16,1015675,349,2,1,,,2,5,,,80,0,2,40,1,,1,,,,,,1,4,2,880,,1,3,,,2,240,3,,,,1020,14,1,5,88000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,497,363,621,100,405,290,294,105,368,689,334,99,97,376,401,104,583,334,550,356,103,336,106,644,349,352,397,584,364,97,362,622,600,326,329,540,105,376,107,355,115,328,100,570,365,387,345,629,361,95,359,580,525,359,378,552,112,374,110,344,548,354,546,101,354,383,406,87,359,547,354,101,102,314,368,103,519,390,599,350 H,486854,8,100,4,16,1015675,29,2,1,1,,5,2,2,,60,0,3500,3,4,,1,,,,,,1,8,2,300,,1,3,,,3,520,9,8,14200,4,695,59,1,3,14200,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,1,15,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,50,27,10,26,8,56,29,10,10,29,30,38,24,27,58,25,10,50,56,29,42,26,9,39,7,50,34,10,9,31,37,31,40,29,45,29,7,57,50,33,41,30,8,24,9,51,23,9,10,28,29,32,30,32,51,27,9,60,59,31,55,28,8,36,9,57,29,8,10,35,38,22,25,29,51,40,9,53,60 H,486901,8,100,4,16,1015675,116,6,1,2,1,5,2,2,,90,0,2,3,3,750,1,,2,790,2,1,1,7,,,,1,1,,19,4,450,2,2,44800,2,,,1,1,44800,0,3,3,3,1,4,4,6,0,0,4,29,0,0,1,0,0,1,1064,3,0,1,22,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,197,135,138,38,131,130,108,125,34,107,133,207,165,35,26,159,138,36,133,241,224,121,123,35,108,98,100,101,31,128,121,177,204,38,30,179,140,32,145,34,36,128,90,179,110,124,128,133,176,126,99,30,38,201,207,33,121,233,138,31,38,99,116,226,96,146,117,118,212,112,115,35,36,175,196,38,100,179,109 H,487131,8,200,4,16,1015675,70,1,1,3,4,5,2,2,,200,0,3500,3,4,4800,1,,2,3000,2,1,1,9,,,,1,1,,24,3,2,6,,,,,,1,4,15000,0,4,4,4,1,6,0,,0,0,0,101,0,0,0,0,0,2,4225,3,0,0,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,24,106,100,81,79,74,21,66,113,58,116,109,26,86,20,70,71,23,60,62,24,104,99,76,72,66,22,69,102,83,142,104,20,76,26,84,77,17,69,80,23,119,133,63,60,68,19,65,114,84,129,116,28,82,22,73,58,20,84,80,26,101,134,64,61,87,24,69,101,58,107,125,24,69,19,69,72,18,59 H,487227,8,200,4,16,1015675,127,3,1,1,,2,2,2,,180,0,2,2,1,300,1,,1,800,1,2,1,3,,,,1,1,,14,3,500,7,1,58000,1,,,1,1,58000,0,1,1,1,1,1,1,3,0,0,1,21,0,0,1,0,0,1,1022,3,0,1,34,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,97,142,100,135,54,102,43,150,43,51,42,28,152,133,30,37,121,41,38,223,161,232,190,151,221,277,137,207,138,128,141,142,194,261,103,139,180,98,106,123,115,158,147,135,269,173,181,91,223,137,231,183,120,162,225,238,104,205,208,37,47,42,43,69,85,31,134,31,116,123,143,114,35,37,90,158,42,156,167,125 H,487302,8,100,4,16,1015675,91,7,1,1,,3,2,2,,100,0,2,50,1,300,1,,1,640,1,1,1,5,,,,1,1,,15,2,540,8,2,40000,3,,,1,1,40000,0,3,3,3,1,5,5,7,0,0,5,25,0,0,1,0,0,2,835,3,0,1,21,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,35,32,77,115,94,61,74,170,154,130,109,28,103,192,90,98,122,63,129,105,171,174,74,99,115,93,85,25,33,41,146,163,74,20,91,131,29,66,152,156,141,140,98,108,92,63,97,45,28,19,82,151,90,30,101,89,30,101,29,25,32,30,79,101,133,92,92,137,138,181,102,31,79,142,99,91,122,67,41 H,487328,8,900,4,16,1015675,60,2,1,2,1,1,2,2,,40,0,2,20,1,180,1,,2,80,2,1,1,4,,,,1,1,,16,2,2,2,1,62000,4,,,1,1,62000,0,4,4,4,1,3,0,2,0,0,0,4,0,0,0,0,0,1,205,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,90,62,18,60,111,67,62,100,49,19,17,23,64,61,60,53,55,105,97,106,18,63,93,60,19,53,56,17,61,89,94,95,64,54,59,75,61,20,20,19,94,65,20,64,114,56,51,93,56,17,18,16,46,52,56,61,64,90,99,91,20,60,106,61,16,62,64,19,62,96,127,113,69,57,63,60,59,19,17,19 H,487919,8,200,4,16,1015675,64,2,1,1,,3,2,2,,40,0,2,150,1,420,1,,,,,3,1,7,,,,1,2,,18,2,960,3,4,32940,4,,,1,1,32940,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,2,2,1,594,,0,1,46,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,27,75,133,14,21,94,59,112,51,73,45,61,113,58,82,22,25,94,67,86,19,78,113,19,25,63,64,101,58,49,53,80,114,68,71,17,25,134,84,101,22,75,109,21,24,78,72,96,70,57,41,51,107,80,60,16,20,105,64,113,21,63,112,32,27,78,68,146,61,51,62,78,138,77,43,13,15,79,69 H,487987,8,500,4,16,1015675,65,2,1,1,,3,2,2,,70,0,2,160,1,600,1,,,,,3,1,9,,,,1,2,,22,2,520,2,2,74100,4,,,2,1,74100,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,2,1,1,698,,0,1,57,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,73,67,20,69,20,99,136,65,65,65,18,65,105,67,115,110,21,55,74,111,76,69,115,65,101,17,18,70,64,69,103,67,21,68,21,18,108,70,68,103,64,68,132,62,115,22,22,54,66,74,117,68,23,66,19,18,112,64,67,16,67,60,18,73,21,113,118,57,62,71,18,64,113,68,132,119,20,56,58 H,488015,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,488166,8,200,4,16,1015675,101,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,98,138,102,113,30,36,181,155,33,108,172,30,30,106,95,142,110,116,85,96,119,173,106,98,27,28,159,150,40,127,172,34,33,121,101,128,98,102,98,109,119,152,109,119,32,30,156,185,33,112,175,34,34,97,96,166,124,87,104,91,93,150,90,105,29,25,148,166,30,86,201,30,33,132,93,154,119,105,89 H,488557,8,400,4,16,1015675,25,2,1,,,1,5,,,80,10,2,3,3,,1,,,,,,1,3,2,330,,2,3,,,1,1,3,6,13780,4,410,36,1,2,13780,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,12,12,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,38,24,39,29,36,28,26,35,31,9,44,59,10,27,26,7,28,12,30,45,33,24,7,28,7,22,29,7,27,34,9,8,44,27,25,35,27,38,21,8,28,29,47,34,37,20,21,37,28,8,39,37,8,26,27,8,29,9,25,40,27,19,7,28,9,29,26,7,25,49,10,8,39,24,27,39,23,41,28,6 H,488627,8,600,4,16,1015675,142,1,1,,,1,8,,,30,0,2,3,3,,1,,,,,,1,3,2,480,,1,3,,,0,1,5,,,,510,29,1,6,21000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,151,254,136,40,147,253,236,144,138,218,42,125,39,46,142,41,258,157,136,170,138,235,143,44,144,216,249,143,154,247,39,126,42,45,132,40,244,133,127,131,146,272,138,42,152,256,213,162,150,236,45,158,43,39,138,51,249,144,158,145,142,259,142,37,126,243,253,144,118,225,40,161,42,36,145,45,263,124,177 H,488736,8,300,4,16,1015675,101,2,1,1,,3,2,2,,140,0,2,30,1,700,1,,1,580,1,1,1,6,,,,1,1,,14,2,360,6,7,22850,4,,,1,3,22850,0,4,4,4,1,5,0,2,0,0,0,41,0,0,0,1,1,1,780,3,0,1,23,2,14,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,94,165,32,189,102,31,33,29,117,176,28,86,92,113,104,177,154,102,126,127,93,198,26,185,110,25,35,27,120,158,26,124,93,95,75,156,172,95,91,92,118,28,162,32,90,170,175,163,97,34,190,110,79,97,128,30,30,120,109,113,105,29,144,36,113,196,176,164,87,32,155,110,90,93,97,31,30,104,108 H,488759,8,400,4,16,1015675,29,2,1,1,,3,2,2,,50,0,2,200,2,520,1,,,,,3,1,6,,,,1,2,,21,1,800,8,4,53550,4,,,1,1,53550,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,2,2,2,610,,0,1,42,0,9,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,25,42,30,9,31,27,8,29,50,42,46,27,27,29,31,34,8,10,10,7,24,9,29,48,26,30,43,26,10,10,14,39,29,27,30,44,73,45,41,7,29,10,32,54,34,38,51,27,10,9,10,31,26,23,25,25,55,57,47,75,30,68,24,8,28,24,6,28,51,38,45,25,26,38,28,24,7,8,10,54 H,489316,8,500,4,16,1015675,19,2,1,2,1,3,2,2,,50,0,150,3,3,500,1,,1,850,1,1,1,8,,,,1,1,,18,3,2,1,1,71800,4,,,1,1,71800,0,4,4,4,1,2,0,2,0,0,0,15,0,0,0,0,0,1,913,3,0,1,36,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,22,7,6,21,35,16,32,6,35,23,29,16,7,5,18,31,17,19,7,35,7,21,18,5,23,7,18,17,19,35,18,38,23,18,29,20,7,32,21,20,22,7,6,20,36,23,38,6,30,18,34,20,7,6,18,25,20,19,5,33,5,20,19,5,18,5,21,18,17,34,20,29,18,20,30,19,6,34,19 H,489463,8,900,4,16,1015675,109,1,1,1,,2,3,2,,20,0,2,80,1,280,1,,,,,3,1,4,,,,1,2,,12,0,1,3,,,,,,1,6,16100,0,4,4,4,1,4,0,,0,0,0,17,0,0,0,1,1,1,223,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,30,131,109,220,115,95,112,119,161,110,91,36,33,174,178,26,95,213,33,96,184,104,96,31,103,116,127,139,35,117,114,194,188,37,35,192,99,30,184,117,34,118,113,159,98,112,105,106,160,119,123,35,30,224,195,31,98,165,35,119,161,118,105,30,115,96,101,111,41,122,102,199,195,36,32,169,102,28,210,96 H,489488,8,200,4,16,1015675,103,1,1,,,0,4,,,100,0,2,3,1,,1,,,,,,1,1,2,280,,2,3,,,1,1,7,,,,380,68,1,4,6700,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,109,34,105,34,151,119,122,264,137,143,94,160,125,66,37,172,178,28,25,96,96,31,87,41,118,122,104,209,128,141,140,92,161,93,28,204,108,19,37,98,71,32,87,33,105,105,108,142,64,271,94,95,232,100,37,178,140,39,35,128,95,35,133,29,78,81,85,148,122,209,95,96,161,93,57,233,205,37,28 H,489635,8,300,4,16,1015675,97,2,1,1,,3,3,2,50,130,0,2,130,3,400,1,,1,500,1,1,1,7,,,,1,1,,15,2,960,3,2,75000,4,,,1,1,75000,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,0,0,1,890,3,0,1,36,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,184,29,27,27,36,147,90,85,26,121,106,103,221,112,98,164,80,85,90,84,128,29,35,29,33,174,91,91,28,208,104,83,140,126,123,173,104,71,96,75,26,144,157,154,179,31,88,98,183,28,98,87,31,115,98,29,106,100,81,94,31,138,191,163,153,29,86,81,163,37,90,86,33,84,107,36,107,123,108 H,489850,8,800,4,16,1015675,91,1,1,,,2,5,,,120,1800,2,2,3,,1,,,,,,1,5,2,550,,1,3,,,1,120,4,,,,680,17,1,6,48000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,141,155,33,26,166,89,85,137,102,158,91,78,61,22,104,20,84,96,130,26,113,174,27,28,195,104,79,127,146,192,79,98,96,22,93,24,80,98,129,29,83,131,40,37,120,99,95,109,104,187,73,95,78,21,92,25,86,92,135,27,106,131,31,31,152,115,95,110,91,157,82,108,98,26,126,29,98,90,121 H,489883,8,700,4,16,1015675,78,2,1,1,,3,2,2,,50,0,2,80,1,600,1,,2,670,2,1,1,6,,,,1,1,,14,1,450,5,7,23000,2,,,1,3,23000,0,2,2,2,1,4,1,2,0,0,1,50,0,0,1,0,0,1,955,3,0,1,18,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,133,138,73,74,79,82,77,23,77,141,25,77,23,80,135,80,135,23,22,79,137,125,81,78,79,80,87,25,89,138,24,84,25,77,136,71,139,24,136,85,24,20,76,81,77,78,67,134,82,23,144,88,136,79,25,84,23,154,131,75,21,25,78,79,77,82,79,126,88,26,142,73,123,80,23,84,24,126,24 H,490408,8,100,4,16,1015675,103,1,1,1,,3,3,2,,80,0,2,80,1,1400,1,,2,250,2,1,1,5,,,250,1,1,,22,1,350,3,,,,,,1,6,66000,0,4,4,4,1,3,0,,0,0,0,20,0,0,0,0,0,1,1098,2,0,1,47,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,113,163,107,35,101,33,40,165,114,195,104,93,190,112,171,32,28,94,110,83,108,27,93,183,90,174,178,26,108,29,106,102,27,115,30,179,147,100,108,100,110,165,101,29,94,26,29,172,111,160,119,97,157,110,165,31,28,102,120,101,99,31,110,185,96,150,192,27,106,32,106,106,34,106,30,203,178,100,108 H,490686,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,490696,8,300,4,16,1015675,126,2,1,1,,2,2,2,,40,0,2,90,1,380,1,,,,,3,1,5,,,,1,2,,12,2,2,3,4,15860,4,,,1,1,15860,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,195,,0,1,9,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,164,198,116,208,48,42,106,131,141,177,140,50,112,38,36,151,138,201,107,93,101,40,125,42,195,184,108,109,145,45,118,255,123,208,228,37,132,45,165,105,116,244,145,199,40,39,149,101,107,189,105,35,109,33,46,251,117,156,109,147,131,38,111,32,215,206,120,141,100,42,144,180,149,197,207,57,153,46,103 H,490746,8,800,4,16,1015675,131,4,1,1,,3,2,2,,70,0,300,3,4,600,1,,1,600,1,1,1,9,,,160,1,1,,15,1,300,7,2,44300,1,,,1,1,44300,0,1,1,1,1,2,2,4,0,0,2,24,0,0,1,0,0,1,880,2,0,1,10,2,4,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,182,124,247,122,132,121,23,73,49,112,186,67,109,182,44,38,237,147,268,152,234,125,222,182,128,155,48,91,38,134,196,47,161,188,41,35,180,181,292,105,199,148,213,151,179,187,32,73,33,148,149,42,129,230,42,41,158,113,237,148,221,126,184,129,150,169,34,95,35,105,140,61,164,166,38,34,175,162,248 H,491055,8,200,4,16,1015675,258,2,1,2,1,3,2,2,,50,0,500,3,6,1000,1,,,,,3,1,5,,,,1,2,,17,2,2,4,4,183300,4,,,1,1,183300,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,2,2,2,292,,0,1,26,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274,102,445,359,267,272,231,87,256,341,276,440,367,95,227,98,219,288,123,406,287,109,397,421,326,236,297,73,216,323,224,357,284,73,248,71,210,268,81,259,255,370,122,106,330,214,275,369,243,85,232,81,99,394,256,453,260,259,436,287,232,425,91,85,275,245,306,324,216,84,215,99,88,381,281,328,267,229,368,339 H,491059,8,800,4,16,1015675,186,4,1,2,1,2,3,2,,290,0,2,3,3,340,1,,,,,3,1,4,,,,1,2,,15,1,2,8,2,15000,3,,,1,1,15000,0,3,3,3,1,3,2,4,0,0,2,30,0,0,1,0,0,1,376,,0,1,16,1,3,3,1,0,1,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,147,282,202,354,273,217,191,42,155,106,204,163,63,176,322,65,59,241,152,336,211,276,154,241,143,131,198,75,155,76,264,224,65,173,320,76,85,248,143,220,270,298,151,358,251,184,152,70,223,72,192,166,64,186,243,45,68,280,175,274,199,335,174,276,221,142,138,69,195,52,148,136,41,185,401,91,92,336,167,254 H,491070,8,700,4,16,1015675,24,2,1,1,,2,2,2,,40,0,2,30,1,200,1,,,,,3,1,5,,,,1,2,,18,2,380,1,4,34000,4,,,1,1,34000,0,4,4,4,1,1,0,2,0,0,0,9,0,0,0,2,2,2,261,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,7,23,23,44,22,37,45,6,8,25,24,24,24,43,9,22,20,23,8,40,9,31,24,40,24,41,38,8,7,23,25,23,23,41,6,25,25,22,5,43,7,23,28,42,22,46,42,7,7,25,22,22,29,47,6,25,25,23,6,44,5,22,25,36,20,38,37,7,6,25,23,27,26,46,7,23,22,23,7 H,491132,8,100,4,16,1015675,137,2,1,1,,2,2,2,,40,0,2,4,1,,1,,,,,,1,4,2,350,,1,3,,,1,1,9,7,22000,2,394,21,1,3,22000,1,2,4,2,1,2,0,2,1,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,210,147,158,217,141,237,122,130,120,42,139,50,135,156,47,147,261,38,37,221,180,125,155,200,129,237,123,111,117,40,152,57,172,126,36,144,295,32,30,49,46,128,122,41,149,46,111,143,139,201,166,219,129,136,212,136,35,221,232,51,42,155,124,42,156,44,127,136,135,175,124,210,156,127,217,166,40,202,198,270 H,491329,8,600,4,16,1015675,106,1,1,1,,3,2,2,,20,0,2,140,1,650,1,,,,,3,1,5,,,,1,2,,20,2,900,6,,,,,,1,6,13900,0,4,4,4,1,7,0,,0,0,0,43,0,0,0,1,1,2,497,,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,108,169,98,103,98,28,37,102,34,185,35,181,106,171,175,99,115,101,108,99,199,104,30,188,193,113,122,33,113,117,102,102,32,104,111,177,185,33,32,105,31,111,174,29,29,106,109,179,107,113,107,111,202,119,105,38,33,192,200,178,102,33,111,98,106,159,173,102,168,34,185,32,105,32,33,102,112,108,114,32 H,492670,8,800,4,16,1015675,60,2,1,1,,1,2,2,,70,0,2,3,3,,1,,,,,,1,3,2,300,,1,3,,,2,1200,5,,,,470,8,1,5,67500,0,4,4,4,1,2,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,55,91,66,70,84,50,15,18,31,53,57,66,66,72,76,95,104,45,16,18,47,97,60,42,140,58,21,19,19,70,44,93,60,47,114,94,116,70,85,118,62,17,62,52,16,50,75,73,132,64,80,67,59,64,22,21,16,68,95,103,77,18,63,67,22,47,85,98,104,57,41,61,57,52,21,14,26,76,25 H,493625,8,100,4,16,1015675,279,3,1,2,1,3,2,2,,100,0,500,3,4,550,1,,1,720,1,1,1,6,,,310,1,1,,16,3,2,5,2,65000,2,,,1,1,65000,0,2,2,2,1,5,1,3,0,0,1,22,0,0,1,0,0,2,1172,1,0,1,16,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,435,313,112,87,317,306,274,222,260,455,281,86,389,230,461,263,74,247,92,492,408,303,103,77,290,246,324,270,258,488,218,101,573,307,493,261,98,266,78,94,81,276,424,458,268,279,227,278,250,80,322,416,87,261,85,332,400,274,421,88,115,269,379,379,298,362,238,316,369,79,355,451,106,227,81,265,490,353,448,564 H,494107,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,494281,8,800,4,16,1015675,42,4,1,1,,3,2,2,,130,0,50,3,8,,1,,,,,,1,5,,,,1,4,,,2,2,6,2,23000,1,,,2,1,23000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,39,35,13,56,13,57,55,83,85,49,11,88,51,43,45,40,12,14,41,49,48,43,67,15,89,58,17,13,12,36,86,10,38,58,46,45,77,81,44,38,39,41,12,82,12,33,71,89,61,37,15,65,46,51,46,51,10,14,46,46,47,39,97,14,68,54,15,12,14,48,64,19,58,32,45,48,86,65,42 H,494288,8,100,4,16,1015675,129,1,1,3,3,1,2,2,,120,0,200,3,3,590,1,,2,2000,2,1,1,3,,,,1,1,,21,2,2,3,,,,,,1,4,240000,0,4,4,4,1,2,0,,0,0,0,12,0,0,0,0,0,1,2369,3,0,0,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,39,136,206,186,132,127,127,120,140,38,136,226,41,109,40,147,227,140,236,38,216,121,35,42,118,113,119,139,162,188,135,40,222,114,252,139,38,132,201,37,208,118,37,36,142,139,123,127,117,200,133,39,257,142,230,138,37,138,38,215,40,137,232,199,123,118,146,143,120,46,133,212,39,130,38,118,220,105,34 H,494656,8,100,4,16,1015675,134,2,1,3,2,2,2,2,,70,0,2,3,6,800,1,,2,100,2,1,1,4,,,,1,1,,18,2,2,7,2,8001,4,,,1,1,8001,0,4,4,4,1,7,0,2,0,0,0,54,0,0,0,2,0,1,362,3,0,0,27,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,42,36,44,118,124,159,189,133,270,220,172,129,36,110,274,115,128,246,142,40,44,47,50,145,97,118,141,136,235,218,245,107,31,134,209,129,150,218,141,43,39,42,47,117,133,175,147,110,237,236,187,132,38,121,216,125,176,266,148,47,43,30,41,133,115,128,100,132,232,209,240,102,39,129,244,141,141,276,136,41 H,494901,8,600,4,16,1015675,75,1,1,1,,1,2,2,,130,0,2,70,1,1200,1,,1,780,1,1,1,3,,,,1,1,,15,1,1200,7,,,,,,1,6,6000,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,0,0,2,1080,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,19,113,76,81,22,75,23,22,119,135,71,80,82,79,23,118,81,81,141,76,21,138,73,72,21,80,20,25,123,113,68,79,73,77,23,123,79,74,22,80,126,22,80,73,135,79,122,133,21,21,75,81,80,73,136,21,71,80,20,85,116,21,75,58,119,74,129,128,21,23,72,81,85,83,136,20,76,76,157 H,494944,8,100,4,16,1015675,29,3,1,3,1,4,2,2,,90,0,900,3,6,1200,1,,2,760,2,1,1,8,,,,1,1,,16,4,2,4,1,100000,2,,,1,1,100000,0,2,2,2,1,5,1,3,0,0,1,13,0,0,1,0,0,1,1084,3,0,0,16,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,32,8,50,7,26,28,29,35,27,33,44,10,34,23,8,6,26,46,33,27,7,32,31,27,9,41,45,46,47,8,23,27,53,9,32,29,7,29,7,8,29,45,7,45,30,30,30,28,29,27,8,47,25,23,52,47,27,8,27,30,48,26,27,25,44,8,11,8,11,47,32,33,8,50,25,34,53,27,41 H,494968,8,400,4,16,1015675,152,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,167,209,50,131,39,151,158,148,249,149,272,169,160,268,133,38,271,249,41,47,147,138,49,167,53,164,157,172,232,146,227,151,157,194,135,46,289,252,43,250,158,154,267,164,234,134,151,180,48,140,49,170,131,51,195,302,47,44,236,226,159,170,240,141,207,136,157,137,54,182,50,141,128,50,131,208,44,43,244,40 H,495061,8,200,4,16,1015675,200,2,1,,,2,6,,,60,0,2,3,3,,1,,,,,,1,4,2,80,,1,3,,,1,1,7,7,8400,1,140,20,1,3,8400,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,229,72,229,347,185,70,65,156,171,67,331,203,330,356,227,246,46,214,210,220,246,53,251,260,176,81,62,229,165,60,296,322,323,258,218,275,76,201,238,185,249,79,217,396,227,92,52,211,217,53,376,218,264,320,171,318,61,183,186,242,252,63,210,309,240,68,54,221,218,43,203,233,233,244,276,325,71,248,197,227 H,495081,8,600,4,16,1015675,82,1,1,1,,2,3,2,70,40,0,2,3,3,100,1,,1,640,1,1,1,4,,,,1,1,,14,1,250,4,,,,,,1,4,31000,0,4,4,4,1,3,0,,0,0,0,30,0,0,0,0,0,1,771,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,86,80,24,30,116,126,24,89,149,24,26,78,87,161,81,83,76,78,87,24,76,90,164,130,25,27,134,77,25,141,141,87,75,21,76,82,85,83,80,27,77,79,138,137,27,23,142,74,23,135,124,80,88,28,84,90,84,76,78,146,89,77,23,23,144,171,21,79,122,23,22,85,78,143,82,75,95,85,76 H,495247,8,600,4,16,1015675,102,1,1,1,,1,1,2,,30,820,2,100,1,,1,,,,,,1,2,2,380,,1,3,,,1,1,5,,,,510,68,1,6,9000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,181,105,103,28,176,102,97,168,93,111,176,103,105,88,172,34,29,30,189,93,96,175,29,91,111,30,31,97,166,176,111,30,176,32,107,102,98,106,116,30,174,103,104,30,182,101,101,170,111,94,188,94,90,103,171,27,28,31,168,105,109,162,28,100,95,30,30,108,180,171,96,31,194,29,106,103,110,97,101 H,495276,8,300,4,16,1015675,52,5,1,1,,5,2,2,,80,0,2,10,1,320,1,,1,1200,1,1,1,9,,,,1,1,,22,4,30,2,1,66600,3,,,1,1,66600,0,3,3,3,1,3,3,5,0,0,3,23,0,0,1,0,0,1,1293,3,0,1,44,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,110,96,59,19,45,103,60,48,90,47,14,14,13,58,67,54,48,46,84,14,14,16,54,89,53,15,46,38,13,48,89,80,76,58,53,44,46,48,20,75,90,104,46,13,55,87,53,44,89,42,16,15,13,56,57,47,54,56,121,13,15,19,48,96,41,16,48,50,16,43,98,83,79,63,58,41,50,57,16 H,495402,8,600,4,16,1015675,95,2,1,1,,4,2,2,,30,0,1000,30,1,1000,1,,2,780,1,1,1,7,,,,1,1,,17,2,500,6,2,63000,4,,,4,1,63000,0,4,4,4,1,4,0,2,0,0,0,20,0,0,0,0,0,1,1048,3,0,1,29,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,91,90,29,91,183,87,170,163,28,84,25,102,89,28,85,27,213,154,102,86,88,108,170,93,29,102,30,28,159,99,161,100,89,165,97,144,25,30,88,100,88,106,142,88,27,76,30,27,180,91,154,88,99,173,102,164,33,31,88,87,92,94,26,100,135,111,166,185,30,84,30,92,97,33,95,34,155,160,94 H,495415,8,100,4,16,1015675,266,4,1,2,1,4,2,2,,60,0,2,60,1,1500,1,,1,1500,1,1,1,6,,,180,1,1,,22,3,240,2,1,90000,3,,,1,1,90000,0,3,3,3,1,3,2,4,0,0,2,24,0,0,1,0,0,2,1820,2,0,1,34,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,279,296,239,369,262,444,260,264,473,248,81,476,490,69,280,300,80,285,82,74,263,257,248,493,249,403,241,299,560,217,78,488,454,72,314,283,81,266,69,82,246,238,254,424,296,475,242,249,426,252,83,475,530,86,275,283,75,291,79,79,270,286,267,413,255,393,305,295,432,344,80,422,455,78,271,253,76,226,72 H,495539,8,200,4,16,1015675,126,1,1,1,,4,2,2,,80,0,550,3,6,500,1,,2,410,2,1,1,7,,,,1,1,,15,2,720,6,,,,,,1,4,53200,0,4,4,4,1,7,0,,0,0,0,16,0,0,0,1,0,1,707,3,0,1,18,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,94,35,147,184,126,107,178,148,36,48,38,140,136,122,176,137,178,202,34,240,143,43,132,204,118,133,238,138,35,32,36,131,152,108,107,150,218,227,224,40,144,224,120,36,152,139,33,120,200,220,202,126,119,115,122,136,40,33,219,30,111,243,128,40,121,116,41,107,217,189,265,151,111,126,140,147,36,42,39 H,495681,8,300,4,16,1015675,54,5,1,1,,4,1,2,,40,0,2,110,1,250,1,2700,2,300,2,1,1,8,,,,1,1,,6,5,160,4,7,38560,2,,,1,3,41660,0,2,2,2,1,5,1,4,0,1,1,21,4,0,1,0,0,1,743,3,0,0,10,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,50,16,54,13,62,52,15,54,69,18,22,75,45,57,91,44,112,47,42,16,73,88,50,103,46,61,84,54,30,72,83,26,43,67,18,55,21,52,52,19,53,93,61,74,48,59,108,63,27,92,99,23,54,59,14,64,14,46,71,79,53,25,51,18,54,36,11,36,78,20,14,98,55,51,95,47,99,55,44,58 H,495960,8,800,4,16,1015675,222,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,18,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,354,85,272,398,63,58,215,212,391,231,240,214,210,366,211,226,71,67,347,198,387,73,219,413,67,64,265,192,380,248,252,233,234,402,198,219,64,66,342,209,63,382,219,69,362,335,204,215,73,213,222,227,234,62,195,220,333,377,75,251,78,413,218,66,366,486,237,213,71,190,215,224,230,72,269,214,338,435,65,210 H,496130,8,600,4,16,1015675,89,1,1,2,1,3,2,2,,40,0,2,20,1,470,1,,,,,3,1,6,,,,1,2,,20,2,130,7,,,,,,1,6,60800,0,4,4,4,1,7,0,,0,0,0,5,0,0,0,1,1,1,264,,0,1,30,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,84,140,150,167,144,91,100,164,143,86,161,157,89,88,82,80,152,95,96,25,91,31,26,27,25,98,94,28,26,89,25,25,83,83,80,98,28,90,92,26,87,24,29,25,27,94,90,29,25,83,25,27,94,86,83,97,27,88,88,150,87,142,147,141,152,91,90,170,146,89,158,153,102,90,89,79,153,97,87 H,496188,8,800,4,16,1015675,90,2,1,1,,4,2,2,,70,0,250,90,1,530,1,,2,620,2,1,1,8,,,,1,1,,11,2,840,9,1,52210,4,,,1,1,52210,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,1,0,1,993,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,104,22,96,97,107,133,87,160,93,88,145,88,27,152,140,22,84,79,176,133,130,159,86,95,80,27,89,25,88,86,25,73,164,25,32,158,92,98,31,28,92,24,101,67,89,167,97,145,109,98,155,101,32,126,173,31,90,86,167,131,82,181,90,75,77,32,83,24,87,92,30,89,131,25,28,142,92,92,31 H,496558,8,100,4,16,1015675,117,2,1,1,,3,2,2,,90,0,2,30,1,390,1,,,,,3,1,6,,,,1,2,,18,2,750,7,1,70800,4,,,1,1,70800,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,367,,0,1,30,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,251,45,145,34,101,236,111,196,32,140,202,161,90,118,133,106,151,36,32,107,210,32,80,39,95,150,181,220,35,139,193,206,101,115,131,101,100,37,34,156,260,35,104,34,120,209,122,183,31,115,202,190,118,151,98,99,134,33,32,114,165,33,88,33,140,190,126,168,27,105,242,256,122,120,103,134,109,31,29 H,497322,8,500,4,16,1015675,137,2,1,1,,4,2,2,,30,0,2,30,1,610,1,,,,,3,1,7,,,,1,2,,17,2,120,3,3,69200,4,,,1,1,69200,0,4,4,4,1,4,0,2,0,0,0,6,0,0,0,2,2,1,327,,0,1,36,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,107,137,140,264,42,264,148,43,37,41,159,280,44,134,114,151,118,228,122,45,154,151,142,44,257,43,143,250,242,219,130,46,186,132,135,97,161,40,142,41,130,146,126,40,239,38,129,258,186,227,152,48,224,117,143,151,128,43,140,289,139,167,169,199,44,245,142,33,38,43,147,258,38,137,137,135,126,258,152 H,497442,8,100,4,16,1015675,144,4,1,1,,3,2,2,,100,4800,2,130,1,,1,,,,,,1,6,2,400,,1,3,,,2,1,7,2,13200,3,630,57,1,1,13200,0,3,3,3,1,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,205,286,30,106,86,168,135,53,119,53,212,209,154,105,150,62,137,218,144,172,30,44,202,112,313,139,122,244,108,265,48,58,185,116,147,277,167,56,168,182,49,37,284,168,157,106,116,212,199,269,45,64,141,145,169,248,129,37,135,132,256,238,46,120,37,126,145,50,177,58,235,179,113,177,139,58,122,224,249,143 H,497874,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,498139,8,600,4,16,1015675,106,1,1,1,,2,3,2,,190,0,2,3,3,,1,,,,,,1,4,2,600,,1,3,,,1,1,5,,,,790,36,1,6,26100,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,109,30,34,106,186,34,177,116,103,96,112,107,111,33,172,106,109,188,107,114,184,108,113,187,110,113,98,190,32,35,30,29,183,104,95,31,181,117,195,35,109,179,187,98,30,168,30,127,106,99,104,98,121,175,31,128,102,32,95,117,30,102,91,34,111,105,105,34,181,168,192,174,36,118,113,176,28,127,27 H,498172,8,500,4,16,1015675,116,5,1,1,,4,2,2,,130,0,2,3,3,250,1,,1,480,1,1,1,9,,,380,1,1,,13,4,240,5,1,89100,2,,,1,1,89100,0,2,2,2,1,6,2,5,0,0,2,14,0,0,1,0,0,2,1010,2,0,1,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,116,187,34,179,119,113,130,119,153,122,36,207,112,101,161,181,118,119,129,107,193,127,121,113,195,38,31,32,37,158,119,115,38,197,105,106,236,41,36,37,116,182,34,199,122,94,122,123,115,115,40,184,122,113,185,191,112,120,112,123,201,119,101,104,212,36,34,33,36,190,107,113,33,192,114,116,203,35 H,498675,8,600,4,16,1015675,95,1,1,1,,5,2,2,,90,0,2,3,3,290,1,,,,,3,1,9,,,,1,2,,20,2,40,5,,,,,,1,6,74000,0,4,4,4,1,7,0,,0,0,0,4,0,0,0,1,1,1,267,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,100,84,161,96,146,143,30,25,92,92,106,85,183,28,88,97,91,150,29,149,103,84,29,89,27,29,174,148,97,99,83,79,27,168,119,102,94,30,157,153,95,88,27,98,26,29,165,165,91,105,91,83,32,173,91,101,82,27,158,29,92,91,165,91,155,151,26,24,92,97,94,86,170,32,103,91,93,165,29,28 H,499460,8,500,4,16,1015675,47,1,1,1,,2,2,2,,40,0,2,10,1,1400,1,,1,670,1,1,1,6,,,120,1,1,,10,1,270,9,,,,,,1,6,33300,0,4,4,4,1,4,0,,0,0,0,31,0,0,0,0,0,2,863,2,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,76,42,51,87,98,58,82,65,57,51,50,54,72,43,75,39,78,83,50,12,15,44,48,15,17,62,13,16,51,45,52,39,13,45,13,43,11,17,49,76,82,56,48,78,100,47,80,62,59,39,43,48,83,42,80,56,81,81,48,11,18,53,44,16,13,48,14,14,54,51,55,43,9,51,16,39,13,17,55 H,499660,8,900,4,16,1015675,80,4,1,1,,3,2,2,,80,0,2,100,1,500,1,,1,800,1,1,1,7,,,350,1,1,,17,5,530,3,1,140000,2,,,1,1,140000,0,2,2,2,1,3,2,4,0,0,2,12,0,0,1,0,0,2,1374,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,92,132,159,164,75,67,89,83,71,16,20,27,85,139,86,28,89,97,30,23,86,30,29,23,85,85,55,72,98,165,155,123,86,23,73,122,70,83,124,81,81,107,108,132,106,93,90,86,86,25,19,26,82,120,75,27,98,78,27,24,70,47,35,20,95,90,71,85,77,193,133,115,81,27,75,111,56,86,128,87 H,499889,8,900,4,16,1015675,17,1,1,3,1,2,2,2,,40,0,2,3,4,1500,1,,,,,3,1,5,,,,1,2,,19,2,2,8,,,,,,1,6,35000,0,4,4,4,1,7,0,,0,0,0,14,0,0,0,1,1,2,415,,0,0,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,25,25,15,3,15,27,17,24,29,15,3,3,5,15,16,18,18,19,33,4,5,7,21,29,17,3,13,22,3,13,26,35,30,18,23,13,15,14,5,32,23,21,18,6,15,23,12,12,27,25,7,5,5,15,13,13,16,22,31,5,5,3,16,33,14,5,14,13,5,16,38,30,28,15,10,13,15,20,3 H,500038,8,700,4,16,1015675,37,4,1,1,,4,2,2,,70,0,2,40,1,440,1,,1,1300,1,1,1,8,,,,1,1,,18,2,50,3,2,46000,2,,,1,1,46000,0,3,2,2,1,4,1,3,0,1,1,37,0,0,1,0,0,1,1414,3,0,1,22,2,2,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,64,11,39,49,70,38,47,12,34,31,68,11,12,43,13,35,55,39,48,60,38,34,54,12,37,12,10,51,11,70,33,37,53,58,29,12,39,66,62,43,58,10,41,38,90,31,38,10,35,28,78,10,12,41,11,31,68,47,36,74,41,32,62,16,37,8,10,43,12,61,32,43,40,77,34,10,43,67,62 H,500384,8,100,4,16,1015675,27,1,1,1,,1,2,2,,110,0,2,3,3,,1,,,,,,1,3,2,680,,1,3,,,1,1,4,,,,790,20,1,4,48000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,8,47,26,38,25,27,50,27,50,7,9,32,26,23,42,27,7,28,24,9,10,43,25,48,24,25,48,26,46,9,8,29,31,27,45,27,7,26,25,48,50,7,27,6,26,30,8,29,7,46,39,25,23,27,9,24,45,22,26,44,46,8,25,8,24,28,7,29,9,50,50,24,28,23,9,34,47,24 H,500402,8,500,4,16,1015675,157,1,1,1,,3,2,2,,10,0,2,30,1,350,1,,1,620,1,1,1,5,,,,1,1,,14,1,180,3,,,,,,1,6,38150,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,0,0,1,675,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,48,42,164,176,159,128,170,272,291,276,184,44,147,272,177,143,269,155,50,42,43,44,156,158,156,134,193,305,287,258,161,51,153,256,161,160,266,143,43,48,43,42,153,177,165,149,148,255,314,295,165,48,145,266,186,178,312,170,42,44,44,45,179,147,139,160,152,274,312,275,161,50,145,259,150,143,291,126,48 H,500904,8,200,4,16,1015675,114,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,4,9,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,97,110,139,199,111,37,88,31,41,211,98,194,127,124,186,92,176,41,90,38,78,136,175,160,110,49,130,26,41,218,104,192,95,132,205,109,204,38,106,228,100,103,133,39,93,190,133,178,199,40,119,36,106,123,37,133,39,184,126,206,102,101,116,37,138,149,119,215,128,27,125,37,129,132,36,101,33,180,120 H,501105,8,400,4,16,1015675,41,2,1,1,,3,1,2,,90,0,60,3,6,610,1,600,2,400,2,1,1,6,,,,1,1,,19,3,2,3,1,62000,4,,,1,1,62000,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,2,1,2,629,3,0,0,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,42,12,37,47,37,38,15,35,47,58,61,12,12,61,39,15,72,64,48,38,38,14,36,50,49,40,12,37,45,62,73,12,14,85,40,15,67,65,43,37,34,62,32,46,45,39,82,30,45,12,13,73,71,15,32,63,12,10,43,43,43,83,41,37,52,41,70,42,35,14,12,61,74,11,49,87,12,12,41 H,501156,8,100,4,16,1015675,147,2,1,,,2,8,,,100,0,2,3,3,,1,,,,,,1,4,2,650,,1,3,,,2,1,4,,,,750,37,1,7,24500,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,42,279,50,43,185,142,268,234,41,135,146,163,47,158,125,109,239,130,233,197,49,246,36,41,166,147,237,250,40,131,137,152,52,141,111,174,284,150,45,133,268,43,178,246,161,146,41,50,226,149,121,154,265,122,152,189,49,166,44,148,228,43,281,256,140,140,57,38,222,162,161,152,270,172,161,120,40,140,253 H,501183,8,400,4,16,1015675,22,1,1,1,,1,3,2,,40,800,800,3,6,,1,,,,,,1,2,2,200,,1,3,,,1,540,3,,,,352,101,1,4,900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,27,6,37,36,5,22,33,9,31,8,20,21,21,35,24,41,22,25,44,8,26,7,33,35,4,25,26,6,20,8,19,15,21,38,18,36,27,26,39,7,27,7,37,36,5,23,18,6,25,7,22,24,23,38,18,36,30,20,39,7,26,9,40,47,6,26,23,8,27,7,20,24,23,37,21,36,21,21,38,9 H,501372,8,500,4,16,1015675,108,4,1,1,,3,2,2,,60,0,2,3,3,120,1,,1,800,1,1,1,5,,,,1,1,,16,2,4,5,1,32200,3,,,1,1,32200,0,1,1,1,1,1,2,4,0,0,2,32,0,0,1,0,0,1,860,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,28,27,43,194,104,135,34,180,119,107,187,108,115,171,86,100,105,188,107,178,144,165,178,33,109,129,174,32,124,93,34,99,116,31,112,122,97,37,103,30,34,32,33,183,123,122,35,170,99,100,174,106,103,199,110,109,112,172,123,187,170,177,171,26,112,128,207,29,101,105,33,116,96,37,104,93,96,36,112 H,501405,8,500,4,16,1015675,134,2,1,1,,3,2,2,,20,0,2,90,1,370,1,,1,720,1,1,1,6,,,,1,1,,14,2,20,3,1,27000,4,,,1,1,27000,0,4,4,4,1,3,0,2,0,0,0,37,0,0,0,0,0,1,832,3,0,1,24,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,272,41,128,132,220,38,135,140,46,132,160,39,131,130,139,47,208,206,232,140,45,194,134,140,42,226,128,148,248,139,137,202,135,134,130,243,34,38,41,144,37,230,121,136,38,249,143,115,235,166,119,228,139,119,136,234,36,47,47,130,250,41,142,168,197,36,152,133,42,135,135,40,154,132,116,35,222,252,227,127 H,501451,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,502104,8,600,4,16,1015675,117,3,1,1,,4,2,2,,50,0,2,30,1,300,1,,2,1400,2,1,1,9,,,,1,1,,20,2,570,2,1,123660,2,,,1,1,123660,0,2,2,2,1,4,1,3,0,0,1,18,0,0,1,0,0,1,1864,3,0,1,49,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,126,118,200,118,126,112,105,213,109,120,34,34,180,194,34,109,212,33,103,33,114,123,209,114,125,130,119,198,126,118,32,37,214,204,41,116,176,35,117,189,121,124,40,116,113,121,116,32,117,117,197,183,34,39,213,104,33,189,119,192,112,137,35,130,134,103,115,34,123,116,202,193,32,32,193,125,35,213,108 H,502254,8,300,4,16,1015675,71,2,1,,,1,7,,,50,0,2,50,1,,1,,,,,,1,3,2,580,,1,3,,,2,1,2,3,7800,4,680,101,1,1,7800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,22,55,104,31,22,98,62,60,122,74,154,80,79,107,23,74,22,82,76,18,96,59,21,134,115,14,77,78,15,45,23,76,82,109,163,87,102,60,82,132,21,53,88,16,15,128,108,74,83,64,162,64,68,87,24,88,23,58,66,21,105,66,21,165,146,17,50,75,26,97,19,94,75,81,104,78,128,82,88,116 H,502643,8,100,4,16,1015675,128,1,1,1,,3,2,2,,60,0,2,120,1,700,1,,,,,3,1,8,,,,1,2,,18,2,450,9,,,,,,1,6,37600,0,4,4,4,1,7,0,,0,0,0,13,0,0,0,1,1,1,396,,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,37,132,210,249,120,37,189,42,128,135,131,111,129,149,196,37,140,149,135,141,120,216,135,128,233,147,135,117,211,42,35,38,41,244,118,140,35,203,40,223,251,142,44,41,132,217,38,228,131,129,132,114,125,126,32,206,137,127,115,136,138,36,128,134,42,133,133,138,36,228,215,184,214,36,118,122,216,38,201 H,502880,8,900,4,16,1015675,63,8,1,2,1,5,2,1,,190,0,2,100,2,800,1,,,,,3,1,9,,,,1,2,,22,4,2,4,2,41700,2,,,1,1,41700,0,2,2,2,1,5,5,8,0,0,5,17,0,0,1,0,0,1,607,,0,0,42,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,114,114,76,20,18,61,106,16,121,52,67,65,61,68,48,20,155,65,67,22,56,55,19,58,53,20,88,55,57,21,105,109,95,102,19,61,65,113,111,63,18,19,50,105,112,71,20,93,20,65,70,65,71,58,56,84,13,72,101,95,76,68,95,70,60,114,72,66,70,104,22,20,21,19,99,46,55,19,17 H,502884,8,900,4,16,1015675,21,2,1,1,,3,1,2,,70,0,350,3,6,30,1,0,2,520,2,1,1,6,,,,1,1,,12,2,600,3,7,35000,4,,,1,3,35000,0,4,4,4,1,4,0,2,0,0,0,24,0,0,0,0,0,2,697,3,0,0,8,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,35,25,27,20,19,38,18,19,6,5,39,38,5,17,37,6,7,27,18,19,6,21,32,21,22,8,19,15,30,33,8,6,39,23,7,39,47,17,26,22,41,23,20,20,17,29,23,25,7,6,37,32,5,23,46,5,5,21,27,20,7,18,18,24,23,5,21,27,36,37,5,5,33,26,7,29,33,17,15 H,503127,8,300,4,16,1015675,27,2,1,3,2,3,2,1,,190,0,2,50,2,700,1,,2,1200,2,1,1,9,,,,1,1,,19,3,2,4,1,118000,4,,,1,1,118000,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,0,0,1,1623,3,0,0,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,22,27,35,46,52,24,33,6,36,9,34,8,6,23,22,23,28,26,36,23,8,41,44,26,26,9,30,29,31,27,8,30,34,41,64,10,6,51,8,35,26,27,24,8,8,26,10,36,8,39,21,46,54,17,36,36,25,38,21,26,44,7,10,29,32,42,23,23,28,30,56,29,21,6,7,45,69,8,35 H,503241,8,500,4,16,1015675,148,7,1,1,,3,2,2,,60,0,600,90,1,1000,1,,1,600,1,1,1,5,,,,1,1,,15,3,560,3,2,25700,3,,,2,1,25700,0,3,3,3,1,4,5,7,0,0,5,40,0,0,1,0,0,1,847,3,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,131,191,153,242,152,292,165,119,227,131,50,372,297,46,117,137,45,124,193,228,135,134,128,49,153,40,111,173,60,135,252,42,45,272,154,107,331,148,273,255,157,143,159,42,139,42,125,151,38,157,245,51,41,192,170,197,184,129,42,68,139,163,161,239,205,268,201,145,185,195,40,229,247,43,131,184,37,150,51 H,503295,8,400,4,16,1015675,27,1,1,2,1,2,2,2,,50,0,2,230,2,,1,,,,,,1,5,2,500,,1,3,,,1,1,9,,,,780,54,1,6,17400,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,54,34,8,28,25,7,30,51,44,53,23,16,27,30,22,7,9,8,39,34,47,25,10,29,20,6,31,47,48,51,26,31,22,21,27,8,8,7,7,36,10,24,36,23,28,51,30,9,8,11,26,23,25,21,26,60,43,46,8,36,8,20,46,32,22,37,31,10,7,6,26,26,26,26,26,49,42,38,58 H,503490,8,800,4,16,1015675,69,2,1,1,,3,2,2,,60,0,2,3,3,670,1,,2,650,2,1,1,8,,,,1,1,,15,3,730,5,4,24600,4,,,1,1,24600,0,4,4,4,1,7,0,2,0,0,0,45,0,0,0,2,2,1,922,3,0,1,23,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,48,55,141,65,66,133,90,109,108,80,89,68,116,92,81,75,66,123,24,22,89,89,22,70,80,22,24,24,15,65,24,71,20,62,56,81,67,19,92,143,68,83,174,95,98,127,105,115,106,57,122,69,128,63,59,83,67,119,25,16,80,49,17,58,43,23,20,20,26,63,20,68,19,72,100,80,79,19,129 H,504200,8,600,4,16,1015675,113,2,1,1,,3,2,2,,50,0,100,3,7,440,1,,,,,3,1,7,,,,1,2,,14,2,360,6,1,155500,4,,,1,1,155500,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,1,1,283,,0,1,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,116,106,37,104,163,114,34,33,116,116,34,192,117,192,218,109,192,32,120,121,111,114,186,112,37,120,167,190,118,107,215,35,114,31,29,125,38,200,118,115,119,117,31,113,185,106,31,36,110,114,29,210,118,205,229,113,201,32,109,113,120,113,178,112,30,116,190,187,108,97,197,31,108,34,33,120,38,202,110 H,504215,8,200,4,16,1015675,39,2,1,1,,4,2,2,,40,0,2,60,1,740,1,,1,700,1,1,1,7,,,350,1,1,,14,2,250,9,,,,,,1,5,56700,0,4,4,4,1,5,0,,0,1,0,25,2,0,0,0,0,1,1171,2,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,41,44,49,57,56,15,53,42,42,10,11,12,47,39,55,9,34,82,10,78,48,14,17,30,37,62,48,49,12,42,44,38,50,14,43,40,58,47,35,48,32,36,36,79,69,10,81,36,39,12,12,12,37,34,79,16,42,75,13,58,80,14,10,44,41,31,39,77,10,34,40,41,79,12,41,35,61,41,38 H,504219,8,100,4,16,1015675,53,3,1,1,,3,2,2,,50,0,2,140,1,500,1,,1,790,1,1,1,6,,,,1,1,,16,3,430,3,1,62000,2,,,1,1,62000,0,2,2,2,1,4,1,3,0,0,1,20,0,0,1,0,0,1,1016,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,55,102,94,49,58,60,74,15,93,46,14,17,15,51,95,18,51,53,97,15,16,56,51,87,86,15,48,51,61,17,55,60,54,84,53,55,17,95,46,67,56,14,15,46,56,56,13,81,17,59,89,78,95,62,15,94,57,61,13,90,89,58,52,17,18,87,58,49,57,107,53,55,51,17,49,48,88,14,48 H,504228,8,300,4,16,1015675,238,0,1,,,2,5,,,,,,,,,1,,,,,,1,4,2,550,,,,2,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,63,70,226,263,254,258,273,406,446,421,293,64,283,493,191,217,426,242,373,352,346,359,223,251,199,231,210,76,78,66,273,387,237,83,246,179,76,368,75,87,87,89,236,206,247,214,251,335,319,383,211,75,293,413,245,277,364,193,424,433,459,346,256,222,226,205,187,72,63,79,219,366,247,81,277,273,75,241,63 H,504477,8,900,4,16,1015675,131,2,1,2,1,3,2,2,,70,80,400,3,3,890,1,,,,,3,1,7,,,,1,2,,16,0,2,5,8,11600,2,,,2,3,11600,1,2,4,2,1,6,0,2,1,0,1,18,0,0,1,1,1,2,177,,0,1,1,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,221,155,109,191,254,176,167,148,212,154,208,141,120,115,164,322,227,117,30,164,49,149,143,51,69,35,36,98,34,240,39,116,116,169,120,35,46,112,58,124,53,122,131,24,36,41,48,181,42,112,44,119,128,114,143,40,50,180,276,127,168,126,139,222,161,286,321,180,221,112,199,163,217,114,103,166,161,143,207 H,504712,8,500,4,16,1015675,117,5,1,1,,4,2,2,,190,0,280,290,1,,1,,,,,,1,5,2,880,,1,3,,,0,900,1,2,31500,3,1458,56,2,1,31500,0,3,3,3,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,159,125,89,153,254,162,113,60,120,238,165,97,193,101,40,32,26,119,53,96,84,106,102,231,247,168,106,36,100,198,152,143,253,144,34,32,30,117,212,124,91,100,136,39,30,52,130,145,122,32,95,159,31,143,187,193,281,115,151,146,165,142,149,32,31,44,141,179,147,43,90,100,27,75,184,200,215,143,34 H,504933,8,100,4,16,1015675,86,3,1,3,1,3,2,2,,160,0,2,150,2,1700,1,,2,1400,2,1,1,9,,,1600,1,1,,23,1,2,3,7,121600,2,,,1,3,121600,0,2,2,2,1,4,1,3,0,0,2,35,0,0,1,1,0,2,3569,1,0,0,26,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,26,72,82,136,27,81,93,30,77,72,30,97,101,85,27,120,114,154,85,30,122,90,90,30,158,79,75,126,96,103,161,82,108,86,114,25,22,27,105,135,21,94,92,150,28,80,87,27,78,74,24,89,92,104,27,145,151,134,89,26,139,85,103,29,138,94,95,127,94,92,112,75,80,95,157,24,24,23,88 H,505008,8,100,4,16,1015675,12,4,1,1,,3,2,2,,110,3000,2,290,1,,1,,,,,,1,6,2,550,,1,3,,,3,1,5,2,47130,2,950,24,1,1,47130,1,2,4,2,1,2,0,4,0,0,1,,0,1,1,1,0,1,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,3,3,3,3,17,5,12,2,12,13,14,11,4,5,9,12,5,16,13,22,12,12,16,13,25,14,15,9,23,27,14,18,30,15,18,22,15,23,5,23,5,3,4,4,19,3,15,1,10,17,12,10,5,3,12,11,5,18,12,24,10,10,15,10,22,13,18,10,26,28,15,21,20,16,17,20,12,20,7 H,505283,8,100,4,16,1015675,95,3,1,2,1,4,2,1,,70,0,2,160,1,400,1,,2,300,2,1,1,7,,,,1,1,,15,3,160,5,1,20700,4,,,1,1,20700,0,4,4,4,1,6,0,3,0,0,0,36,0,0,0,0,0,1,626,3,0,0,14,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,127,97,90,105,104,89,23,25,25,86,148,80,34,136,90,28,104,168,23,35,29,111,90,106,120,92,171,120,186,115,24,94,155,98,96,152,77,32,175,147,191,106,88,105,81,78,26,22,33,104,218,104,27,90,96,29,72,140,22,32,37,106,105,95,82,100,160,148,194,91,35,97,173,84,75,149,94,30,176 H,506418,8,500,4,16,1015675,42,1,1,1,,3,2,2,,120,0,2,3,3,500,1,,1,790,1,1,1,6,,,,1,1,,15,1,720,5,,,,,,1,6,20000,0,4,4,4,1,4,0,,0,0,0,58,0,0,0,0,0,2,970,3,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,64,75,47,41,71,46,39,71,75,76,66,46,83,48,76,43,35,42,15,50,13,11,45,42,12,48,42,13,13,13,13,44,14,44,17,49,43,45,69,45,88,86,48,47,70,44,43,76,73,79,77,46,72,45,69,40,45,40,13,44,15,11,38,45,13,45,36,9,13,15,11,45,14,50,13,44,46,41,87 H,506572,8,100,4,16,1015675,81,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,89,113,138,74,88,25,24,170,144,23,80,132,22,20,78,87,153,90,80,89,86,110,127,80,76,22,31,129,122,22,98,105,19,25,94,102,129,71,63,85,79,81,141,82,88,26,23,130,166,27,74,123,31,22,72,84,138,91,74,65,95,86,133,98,109,27,21,138,149,20,73,144,25,27,90,73,130,81,78,69 H,506898,8,300,4,16,1015675,83,4,1,1,,5,2,2,,110,0,2,30,1,600,1,,1,940,1,1,1,9,,,,1,1,,18,2,240,6,1,87250,3,,,1,1,87250,0,3,3,3,1,1,2,4,0,0,2,15,0,0,1,0,0,1,1100,3,0,1,35,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,79,93,117,132,107,76,161,89,97,148,141,142,156,80,132,77,136,69,28,81,82,70,23,24,76,79,23,102,98,26,22,21,27,73,33,116,23,68,20,83,75,78,28,27,87,80,28,68,81,24,27,23,34,89,21,81,23,75,136,88,80,75,159,126,94,76,154,84,76,156,131,171,153,74,128,86,143,78,121 H,506940,8,300,4,16,1015675,105,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,99,100,99,92,122,162,151,194,99,28,113,183,138,108,163,134,30,29,178,173,100,99,103,106,117,27,31,35,87,157,108,33,100,91,32,116,196,190,168,173,102,98,102,92,104,26,25,33,90,170,117,32,126,121,30,105,230,202,36,27,86,113,99,95,107,166,176,176,102,29,119,157,109,115,157,137,36,33,41 H,507424,8,700,4,16,1015675,133,2,1,1,,3,2,2,,30,0,2,30,1,390,1,,1,1100,1,1,1,5,,,,1,1,,18,2,240,3,1,88700,4,,,1,1,88700,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,1,1180,3,0,1,26,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,202,107,119,141,148,137,38,35,47,131,230,119,38,139,118,41,149,249,204,229,197,125,130,139,136,130,42,41,44,138,228,114,37,154,124,41,136,239,42,39,43,143,139,133,115,136,202,228,205,131,38,150,239,119,143,220,109,37,44,44,45,152,146,127,128,137,224,201,193,123,40,136,222,121,125,225,125,34,209 H,507477,8,900,4,16,1015675,126,3,1,1,,4,2,2,,200,0,2,3,3,510,1,,1,770,1,1,1,7,,,,2,1,,14,2,900,5,1,55000,1,,,1,1,55000,0,1,1,1,1,3,1,3,0,0,1,23,0,0,1,0,0,1,1045,3,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,122,233,102,125,42,59,200,209,37,133,227,51,35,128,151,186,126,128,103,119,135,31,119,114,199,209,32,38,206,143,37,266,258,138,118,40,165,105,132,141,133,198,103,111,46,43,201,252,35,125,203,40,45,139,120,163,141,161,142,147,104,34,116,116,205,217,33,44,222,126,42,206,208,128,123,34,142,135,139 H,507866,8,800,4,16,1015675,51,2,1,2,1,5,2,2,,60,0,2,3,2,500,1,,,,,3,1,9,,,,1,2,,16,3,70,4,,,,,,1,5,29600,0,4,4,4,1,6,0,,0,1,0,8,1,0,0,1,0,1,200,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,39,51,69,17,53,82,107,56,54,19,43,60,65,14,18,46,13,53,50,56,72,72,44,67,64,13,41,13,17,41,19,82,77,54,60,99,42,19,24,16,43,68,10,77,55,53,15,44,40,59,51,78,20,72,73,43,68,88,57,68,21,15,56,51,13,102,59,67,80,40,105,21,51,49,59,16,34,74,96 H,508054,8,300,4,16,1015675,57,2,1,1,,3,2,2,,110,0,1200,3,4,410,1,,1,800,1,1,1,5,,,,1,1,,14,1,350,9,7,42800,2,,,1,3,42800,0,2,2,2,1,4,1,2,0,0,1,29,0,0,1,0,0,2,1039,3,0,1,24,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,96,20,107,89,63,66,18,15,94,44,49,59,96,51,57,52,15,58,61,106,15,101,19,14,51,50,99,92,15,56,54,55,19,52,53,55,99,55,58,15,92,16,107,91,55,56,13,18,90,47,57,47,100,69,56,61,16,60,59,87,16,92,16,18,60,52,99,104,16,55,60,54,19,54,50,64,100,49,48,16 H,508069,8,200,4,16,1015675,23,1,1,2,1,1,1,2,,30,0,2,3,3,100,1,100,2,300,2,2,1,2,,,,1,1,,8,2,840,3,,,,,,1,4,28000,0,4,4,4,1,5,0,,0,0,0,19,0,0,0,0,0,2,441,3,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,23,21,21,21,21,9,5,7,29,54,30,7,24,20,5,25,38,46,40,6,25,17,21,23,25,43,37,45,23,8,20,37,27,26,35,26,9,7,5,5,22,22,21,17,25,52,34,41,22,7,26,48,24,23,36,20,5,6,8,35,22,24,22,26,23,6,7,8,22,47,20,5,34,25,5,24,41,41,34,30 H,508080,8,800,4,16,1015675,24,6,1,1,,3,2,1,,190,0,2,3,3,520,1,,1,640,1,1,1,5,,,200,1,1,,13,5,450,4,1,43900,2,,,1,1,43900,0,2,2,2,1,5,4,6,0,0,4,29,0,0,1,0,0,1,1068,2,0,0,12,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,20,20,45,7,26,24,7,25,28,7,22,23,24,6,39,40,39,34,8,24,9,39,24,25,37,44,22,5,5,24,41,7,37,18,26,20,22,22,26,36,24,22,5,30,22,23,41,21,24,44,20,25,30,34,6,6,6,5,39,22,40,7,24,22,6,8,24,38,42,29,7,34,6,21,26,24,26,24,26 H,508233,8,200,4,16,1015675,47,2,1,1,,3,2,2,,110,0,2,20,1,360,1,,1,680,1,1,1,9,,,,1,1,,16,2,610,9,4,54230,4,,,1,1,54230,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,2,1,861,3,0,1,25,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,51,78,51,60,90,48,15,94,78,15,50,47,21,51,14,46,58,52,15,88,54,94,45,45,70,51,12,96,69,11,51,35,10,59,13,44,46,51,75,12,44,15,50,56,16,45,101,12,17,90,46,58,97,49,72,41,60,41,80,13,50,22,45,45,14,54,75,16,12,70,52,38,68,49,68,52,46,48,18 H,508576,8,900,4,16,1015675,49,5,1,1,,3,2,2,,50,0,2,150,2,600,1,,1,590,1,1,1,5,,,,1,1,,13,3,300,3,2,43200,3,,,1,1,43200,0,3,3,3,1,4,3,5,0,0,3,23,0,0,1,0,0,2,815,3,0,1,24,1,8,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,12,47,80,11,17,77,63,95,42,55,38,45,80,45,43,13,14,78,64,79,14,52,62,10,13,43,50,86,41,48,59,48,73,50,37,10,17,118,48,20,70,35,20,95,71,54,44,15,42,34,41,46,18,52,57,88,71,15,36,19,86,48,19,84,57,35,54,16,52,35,50,53,15,46,48,88,78,15,86 H,508719,8,600,4,16,1015675,106,3,1,1,,3,2,2,,180,0,2,3,3,350,1,,1,1100,1,1,1,6,,,,1,1,,18,2,1000,4,2,119000,1,,,5,1,119000,0,1,1,1,1,3,1,3,0,0,1,14,0,0,1,0,0,1,1363,3,0,1,34,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,29,183,115,30,163,198,108,99,31,109,108,109,96,29,97,99,180,179,107,28,31,179,93,32,187,178,114,122,30,93,108,112,109,30,102,109,198,177,101,175,184,32,121,171,30,36,109,103,200,103,106,102,99,172,102,107,31,30,103,178,164,28,99,168,31,30,108,123,157,106,111,110,115,178,96,102,34,32,107 H,508968,8,800,4,16,1015675,72,2,1,1,,3,3,2,180,70,0,2,130,1,330,1,,1,550,1,1,1,5,,,,1,1,,18,1,1,3,4,31300,4,,,1,1,31300,0,4,4,4,1,3,0,2,0,0,0,36,0,0,0,2,2,1,930,3,0,1,22,0,9,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,96,22,75,18,81,133,71,130,21,73,100,98,74,78,76,64,57,25,107,79,19,101,87,124,74,29,79,24,131,62,19,19,79,88,82,80,85,120,24,72,121,19,60,20,86,116,54,148,24,67,116,120,69,77,73,68,62,19,120,87,27,138,86,123,72,22,98,23,122,82,19,20,71,67,73,69,68,103,21 H,509268,8,100,4,16,1015675,102,2,1,1,,3,2,2,,40,0,2,20,1,500,1,,,,,3,1,9,,,,1,2,,16,2,650,7,,,,,,1,7,28300,0,4,4,4,1,5,0,,0,1,0,10,0,0,0,1,0,1,239,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,103,146,155,183,97,30,113,155,105,105,202,97,35,32,28,93,88,102,193,88,96,27,25,30,96,174,94,31,101,97,32,102,186,162,181,109,90,119,35,86,103,180,175,181,97,25,103,192,114,91,161,95,26,25,30,104,99,107,199,103,99,30,31,29,97,149,98,29,114,102,33,103,168,161,186,99,95,98,28 H,509507,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,509899,8,900,4,16,1015675,101,4,1,1,,5,2,2,,80,0,2,60,1,400,1,,2,910,2,1,1,9,,,,1,1,,18,4,100,2,1,76260,4,,,1,1,76260,0,4,4,4,1,2,0,4,0,0,0,20,0,0,0,0,0,1,1299,3,0,1,37,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,164,104,100,84,110,159,90,114,30,32,141,165,34,83,186,33,30,122,101,110,26,105,106,109,121,32,104,110,148,199,31,27,148,114,26,159,171,91,104,110,39,99,98,76,113,33,96,110,171,176,33,27,169,94,30,161,174,106,117,106,157,103,115,108,80,158,108,121,33,25,154,178,30,102,172,30,32,97,98 H,510063,8,500,4,16,1015675,113,5,1,1,,3,2,2,,80,0,900,3,3,30,1,,2,1200,1,1,1,5,,,,1,1,,16,2,40,1,2,56000,3,,,1,1,56000,0,1,1,1,1,1,3,5,0,0,3,29,0,0,1,0,0,1,1361,3,0,1,10,2,2,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,118,115,33,103,34,127,111,33,121,184,34,32,182,118,98,195,108,170,172,105,107,114,38,124,40,107,109,39,103,188,44,34,222,105,125,204,113,173,34,97,110,114,191,123,235,96,102,171,119,29,162,183,41,123,125,32,109,32,37,115,118,116,198,115,187,108,128,208,116,33,223,200,34,102,97,34,110,36,160 H,510757,8,400,4,16,1015675,24,3,1,3,6,3,2,2,,120,0,380,3,4,1400,1,,,,,3,1,8,,,,1,2,,14,5,2,6,4,41600,4,,,1,1,41600,0,4,4,4,1,3,0,3,0,0,0,14,0,0,0,0,0,1,479,,0,0,37,2,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,18,44,46,30,20,9,26,34,20,25,46,25,9,7,7,25,22,32,9,26,20,44,52,36,16,7,23,42,27,22,52,20,6,8,8,20,28,43,56,23,24,7,7,8,22,42,30,6,27,20,7,23,36,34,56,29,20,25,45,27,28,6,5,6,21,45,31,6,24,22,10,19,37,46,39,19,23,30,7 H,510800,8,800,4,16,1015675,27,4,1,1,,3,2,2,,110,0,2,3,3,,1,,,,,,1,5,2,480,,1,3,,,2,1,8,1,38600,2,590,18,1,1,38600,0,2,2,2,1,4,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,42,5,26,40,46,47,26,5,47,27,22,25,28,7,8,26,24,26,10,29,39,28,43,27,29,27,7,24,27,48,6,45,45,23,39,6,7,48,28,7,43,7,27,39,50,43,25,7,45,25,24,25,27,8,8,29,28,25,8,21,25,34,48,21,26,30,11,28,25,50,9,42,44,25,28,7,9,42,27 H,511165,8,500,4,16,1015675,133,1,1,1,,3,2,2,,20,0,300,10,1,150,1,,1,690,1,1,1,5,,,,1,1,,13,1,40,3,,,,,,1,6,30000,0,4,4,4,1,4,0,,0,0,0,30,0,0,0,0,0,1,748,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,132,37,116,166,43,214,140,145,43,140,136,250,150,125,44,227,207,135,194,129,233,106,34,38,135,144,44,240,149,233,204,130,224,39,115,135,151,37,140,212,130,228,137,139,222,47,137,132,208,144,127,38,136,139,213,40,40,143,41,148,39,126,232,241,119,122,231,45,134,38,35,138,45,209,137,130,119,221,139,45 H,511294,8,900,4,16,1015675,20,2,1,1,,3,2,2,,50,0,2,3,3,0,1,,,,,3,1,6,,,,1,2,,8,1,520,7,8,14600,4,,,1,3,14600,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,1,1,2,151,,0,1,16,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,35,38,33,25,19,20,25,16,6,3,5,22,38,23,5,21,17,6,57,16,32,22,28,22,13,20,19,18,6,6,8,21,34,20,5,16,18,8,43,26,32,32,43,15,17,21,24,20,5,4,7,20,26,17,7,17,18,7,30,23,43,25,35,24,18,13,17,26,8,9,5,18,27,19,7,19,23,5,27 H,511580,8,500,4,16,1015675,136,4,1,1,,3,2,2,,40,0,50,50,1,390,1,,1,530,1,1,1,6,,,,1,1,,15,2,480,3,7,40350,2,,,2,3,40350,0,2,2,2,1,2,2,4,0,0,2,20,0,0,1,0,0,1,664,3,0,1,25,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,235,230,202,40,129,130,221,40,139,125,44,142,133,46,155,138,128,39,41,148,130,127,161,145,38,235,155,131,202,219,129,49,43,118,235,39,240,148,126,38,42,39,41,224,140,145,41,202,142,139,212,131,145,220,137,150,139,232,257,127,131,120,160,145,213,42,139,156,38,38,146,245,233,137,39,224,44,130,140 H,512192,8,100,4,16,1015675,96,2,1,2,1,3,2,2,,120,0,2,50,2,540,1,,1,800,1,1,1,6,,,530,1,1,,17,2,130,3,4,37000,4,,,1,1,37000,0,4,4,4,1,5,0,2,0,0,0,49,0,0,0,2,0,1,1511,1,0,1,16,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,229,166,104,24,48,172,97,33,182,62,91,68,75,125,90,49,152,115,97,120,98,128,196,77,94,189,90,89,105,167,19,27,30,24,173,97,122,37,90,27,94,136,29,82,137,57,93,92,85,30,153,148,135,122,29,117,112,186,115,127,28,38,79,119,196,101,25,139,40,79,79,83,110,141,99,241,25,125,22 H,512400,8,100,4,16,1015675,19,4,1,1,,4,2,2,,30,0,2,30,1,210,1,,1,1500,2,1,1,9,,,,1,1,,21,3,750,3,1,107200,2,,,2,1,107200,0,2,2,2,1,5,2,4,0,0,2,21,0,0,1,0,0,1,1856,3,0,1,40,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,27,15,7,19,5,5,31,19,26,20,18,39,18,30,5,5,19,18,17,17,27,17,5,18,7,5,30,18,29,20,18,32,18,29,5,5,20,21,16,19,5,17,29,19,26,32,6,19,5,15,17,5,13,5,26,30,18,19,19,17,5,17,28,19,25,35,5,20,5,19,17,6,19,7,27,29,18,17 H,512963,8,300,4,16,1015675,93,3,1,1,,4,2,2,,120,0,2,3,3,370,1,,1,800,1,1,1,7,,,150,1,1,,15,2,200,3,1,53500,2,,,1,1,53500,0,2,2,2,1,4,1,3,0,0,1,24,0,0,1,1,0,2,1087,2,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,27,93,84,90,107,69,149,167,150,122,32,98,151,94,84,144,102,27,34,186,145,94,99,111,100,91,26,27,24,84,133,86,26,97,88,30,113,140,154,30,30,98,87,104,92,102,191,146,156,97,29,90,157,94,91,159,88,23,23,165,153,87,93,90,108,88,24,28,29,136,157,90,26,91,97,24,91,135,143,26 H,513405,8,700,4,16,1015675,78,3,1,1,,3,2,2,,60,0,2,70,1,320,1,,1,1300,1,1,1,4,,,270,1,1,,18,2,370,2,1,52508,1,,,1,1,52508,0,1,1,1,1,2,1,3,0,0,1,40,0,0,1,0,0,1,1731,1,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,133,86,23,133,123,24,79,78,20,84,23,79,74,74,136,74,131,80,22,73,132,78,22,134,128,22,77,85,25,74,19,78,80,91,136,74,141,75,23,79,128,74,22,133,130,24,76,75,26,72,22,83,71,72,124,75,129,78,25,73,133,80,23,139,139,24,78,77,24,81,22,73,79,78,127,84,139,72,22 H,513505,8,600,4,16,1015675,91,1,1,1,,3,2,2,,40,0,2,70,3,350,1,,1,510,1,1,1,5,,,,1,1,,17,1,260,4,,,,,,2,6,23300,0,4,4,4,1,4,0,,0,0,0,33,0,0,0,1,1,1,642,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,105,73,102,187,103,82,23,27,145,161,27,100,197,19,29,98,71,145,117,111,80,108,83,25,92,103,225,145,26,28,146,87,25,167,183,116,93,22,64,83,105,96,135,40,84,101,143,153,24,28,129,89,33,134,136,83,71,29,142,113,80,127,79,120,102,93,25,40,151,129,25,93,157,36,30,113,100,133,86 H,513566,8,700,4,16,1015675,79,3,1,1,,4,2,2,,150,0,2,40,1,500,1,,2,1100,2,1,1,7,,,310,1,1,,20,3,60,1,1,85000,1,,,1,1,85000,0,1,1,1,1,2,1,3,0,0,1,25,0,0,1,0,0,1,1747,1,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,21,22,20,85,129,75,24,74,83,23,76,124,135,139,77,80,76,79,24,86,136,125,128,82,24,86,127,80,75,138,73,20,22,23,69,87,86,80,22,75,138,139,129,89,23,73,115,79,84,135,82,22,23,23,81,81,74,92,131,78,22,24,25,79,129,75,22,73,73,25,77,126,126,149,77,73,78,69,137 H,514274,8,700,4,16,1015675,92,5,1,1,,3,2,2,,60,3000,2,90,1,,1,,,,,,1,6,2,800,,2,3,,,1,560,3,1,34000,3,997,35,1,1,34000,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,97,87,84,177,143,25,152,88,96,30,27,22,87,115,158,27,94,146,27,155,159,26,32,88,88,101,97,163,28,100,87,87,155,27,87,89,167,98,77,97,90,100,94,147,172,27,157,88,102,26,25,27,89,85,136,29,92,145,27,165,156,29,27,86,101,114,90,166,24,88,81,107,158,23,92,91,169,94,94 H,514320,8,300,4,16,1015675,85,5,1,3,1,4,2,2,,150,0,600,3,5,4,1,,,,,3,1,7,,,,1,2,,12,3,2,8,3,74600,2,,,2,1,74600,1,2,4,2,1,7,0,5,0,0,1,7,0,1,1,2,2,1,450,,0,0,42,3,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,27,24,83,87,104,63,58,153,130,101,99,29,92,147,80,74,148,101,30,21,26,24,77,80,86,88,80,140,147,122,80,28,98,158,108,90,127,82,31,24,26,22,52,92,87,82,92,99,114,136,76,22,140,148,108,99,106,114,21,26,26,24,91,87,103,97,79,128,155,172,100,23,79,137,78,84,142,75,22 H,514346,8,900,4,16,1015675,58,5,1,2,1,5,2,2,,110,0,2,70,1,960,1,,2,700,2,1,1,8,,,,1,1,,14,4,480,9,7,111490,1,,,1,3,111490,1,1,4,1,1,4,0,5,0,0,1,11,0,1,1,0,0,2,1063,3,0,1,17,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,80,119,62,53,78,61,19,13,15,64,74,50,49,58,79,78,112,62,84,86,57,15,62,64,18,71,109,88,86,57,58,60,60,67,18,15,17,53,19,20,67,97,60,58,91,46,20,20,20,71,63,53,43,42,99,94,81,60,108,72,59,19,64,50,15,70,92,108,98,45,52,65,60,68,15,13,18,46,15 H,514551,8,900,4,16,1015675,56,2,1,3,3,4,2,2,,120,0,2,30,6,600,1,,2,830,2,1,1,9,,,,1,1,,19,4,2,3,1,72000,4,,,1,1,72000,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,0,0,1,1163,3,0,0,28,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,97,56,18,58,49,14,48,87,86,100,46,76,54,41,63,16,17,18,17,54,23,67,120,63,59,100,54,15,14,15,66,69,59,64,61,84,92,84,15,66,16,51,97,55,52,89,56,13,17,21,67,63,53,54,45,96,110,95,115,52,112,49,15,67,54,23,66,90,81,96,75,65,54,69,41,15,17,15,90 H,514615,8,100,4,16,1015675,213,4,1,2,1,3,2,2,,60,0,2,3,3,420,1,,2,880,1,1,1,4,,,,1,1,,18,3,420,3,1,36900,2,,,1,1,36900,0,2,2,2,1,4,2,4,0,0,2,33,0,0,1,0,0,2,1010,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,75,194,194,311,434,98,50,355,171,53,370,292,210,257,53,245,220,232,202,191,64,259,242,296,307,66,65,379,219,68,297,282,197,200,70,229,251,256,223,240,439,225,179,65,71,384,359,68,218,317,60,56,136,184,362,264,238,239,250,286,275,185,173,56,62,279,364,64,236,362,52,80,243,240,383,249,218,207,211 H,514716,8,300,4,16,1015675,96,6,1,1,,3,2,2,,50,3500,2,120,1,300,1,,2,800,2,2,1,5,,,,1,1,,13,2,190,5,7,15900,2,,,2,3,15900,0,2,2,2,1,1,4,5,0,1,4,76,3,0,1,0,0,1,1011,3,0,1,1,1,14,14,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,135,67,164,31,162,182,93,157,36,40,113,93,93,85,136,86,78,81,98,98,29,124,103,92,79,97,43,31,140,110,104,39,159,33,57,106,143,166,53,38,83,72,193,32,133,150,113,153,38,36,171,87,79,91,162,95,83,77,105,120,34,152,77,104,71,73,43,40,110,82,98,25,139,45,83,126,142,159,35 H,514823,8,500,4,16,1015675,67,3,1,2,1,4,2,2,,410,0,400,3,3,2000,1,,,,,3,1,9,,,,1,2,,20,3,50,3,1,30300,4,,,1,1,30300,0,4,4,4,1,5,0,3,0,0,0,35,0,0,0,0,0,1,881,,0,1,44,3,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,97,110,116,22,71,65,125,18,70,65,21,74,72,18,68,62,55,21,126,66,20,19,18,126,71,67,20,105,60,68,118,60,68,112,75,64,65,108,23,67,25,21,19,105,76,56,18,107,76,64,129,69,81,113,64,63,66,100,20,79,110,120,132,19,64,58,114,21,58,66,21,63,57,19,83,71,64,18,107,76 H,515159,8,500,4,16,1015675,65,2,1,1,,4,2,2,,60,0,2,30,1,450,1,,,,,3,1,9,,,,1,2,,17,2,40,9,4,34600,4,,,1,1,34600,0,4,4,4,1,4,0,2,0,0,0,7,0,0,0,2,0,1,214,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,70,20,115,66,55,66,117,70,20,59,98,111,61,61,109,18,65,71,22,20,70,20,115,68,65,62,106,60,19,60,110,124,59,57,112,18,68,72,21,20,63,20,113,70,72,74,94,65,20,68,126,103,57,56,89,18,62,54,18,18,60,20,107,64,60,76,113,68,18,63,107,103,66,66,110,20,59,63 H,515227,8,100,4,16,1015675,120,4,1,1,,5,2,2,,50,0,2,150,1,1300,1,,1,850,2,1,1,9,,,,1,1,,21,2,240,9,1,113000,2,,,2,1,113000,0,2,2,2,1,4,2,4,0,0,2,13,0,0,1,0,0,2,1212,3,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,124,124,131,104,206,132,127,32,38,232,182,36,124,168,34,36,112,110,211,122,108,110,121,114,37,106,109,203,224,35,41,200,112,43,169,226,120,115,39,90,117,106,116,122,31,117,132,175,188,31,32,260,120,32,219,221,119,124,45,115,139,121,123,123,164,111,98,37,37,187,264,34,128,244,41,33,117,131,176,137 H,515312,8,700,4,16,1015675,87,4,1,1,,4,2,2,,150,0,2,80,3,50,1,,2,1200,2,1,1,7,,,300,1,1,,18,2,50,1,1,93000,2,,,1,1,93000,0,2,2,2,1,3,2,4,0,0,2,24,0,0,1,0,0,1,1863,1,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,89,88,80,158,167,84,148,28,145,26,81,25,23,98,87,86,102,80,85,86,146,24,27,84,84,149,94,89,87,87,135,85,94,23,27,137,139,25,125,25,96,91,89,154,141,88,147,25,175,26,87,25,23,88,88,84,80,87,91,90,136,28,25,88,85,144,92,85,88,86,133,83,87,25,25,150,163,28,154 H,515367,8,300,4,16,1015675,18,4,1,3,1,4,2,2,,50,0,2,300,2,0,1,,,,,3,1,6,,,,1,2,,18,6,2,3,4,180900,2,,,1,1,180900,0,2,2,2,1,4,2,4,0,0,2,3,0,0,1,0,0,1,500,,0,0,30,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,7,20,27,5,3,20,23,28,18,13,21,16,30,22,17,6,5,24,19,5,27,18,7,27,21,16,14,5,17,20,18,16,5,30,16,23,32,5,17,27,6,16,26,5,5,20,20,36,20,16,15,14,23,22,20,4,5,28,16,5,38,16,5,32,26,19,20,5,18,19,18,23,5,16,13,29,26,5,16 H,515371,8,800,4,16,1015675,115,3,1,2,1,4,1,2,,30,0,2,50,1,,1,,,,,,1,8,2,450,,1,3,,,2,370,2,1,22200,1,561,30,1,1,22200,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,201,287,132,40,101,149,107,85,219,105,39,44,38,95,96,115,108,117,28,135,190,199,104,37,93,310,134,104,179,132,44,29,42,201,120,104,119,117,41,255,121,264,129,28,145,173,108,77,169,184,37,34,37,85,117,206,100,121,27,192,142,155,131,32,117,219,97,115,195,129,54,38,21,106,202,150,123,145,44 H,516395,8,800,4,16,1015675,58,2,1,1,,4,2,2,,100,0,420,100,1,250,1,,2,50,2,1,1,7,,,,1,1,,14,0,100,5,1,97000,4,,,1,1,97000,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,0,0,1,372,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,21,86,63,14,90,93,45,65,19,59,54,69,55,16,57,56,99,84,63,19,16,139,67,20,118,78,49,60,17,64,53,52,73,18,49,50,76,106,87,103,97,14,57,80,19,16,44,56,99,43,59,65,41,88,66,44,17,19,54,104,128,21,53,105,22,13,46,61,95,48,72,61,73,104,57,66,17,19,62 H,516844,8,800,4,16,1015675,36,4,1,1,,3,2,2,,110,0,2,3,3,,1,,,,,,1,6,2,550,,1,3,,,2,550,3,7,28000,2,706,24,1,3,35200,0,2,2,2,1,3,2,3,0,1,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,37,10,36,33,30,27,10,34,31,88,66,8,11,70,37,10,54,49,35,30,37,91,49,35,30,38,61,39,41,12,14,49,63,6,33,72,11,13,33,29,30,9,44,54,34,29,13,36,24,64,71,13,11,43,34,14,65,54,32,33,34,64,48,40,30,42,78,33,26,10,10,70,73,6,33,62,10,12,52 H,516931,8,700,4,16,1015675,119,5,1,1,,4,2,2,,60,0,2,70,1,320,1,,1,730,1,1,1,8,,,,1,1,,18,3,40,3,1,97000,2,,,1,1,97000,0,2,2,2,1,4,3,5,0,0,3,11,0,0,1,0,0,1,863,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,113,202,201,33,40,211,116,31,242,186,121,123,37,117,106,116,126,36,109,114,109,206,198,37,32,195,125,36,223,191,132,126,32,128,125,117,121,37,122,129,138,34,36,189,181,36,113,228,32,36,123,125,204,106,112,121,113,210,129,119,123,36,35,196,197,38,122,204,33,35,131,124,194,107,111,116,132,186,116 H,517045,8,800,4,16,1015675,239,0,1,,,2,5,,,,,,,,,1,,,,,,1,4,2,300,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,63,278,308,213,406,206,373,228,261,570,252,50,323,331,74,336,231,71,241,434,294,288,281,200,92,207,75,240,233,90,232,351,74,86,432,283,219,377,224,78,71,235,248,240,462,225,332,298,271,533,266,69,354,359,75,277,258,64,195,320,391,281,287,188,72,285,65,225,235,81,249,340,69,76,455,292,229,323,188,65 H,517265,8,800,4,16,1015675,32,4,1,1,,3,2,2,,100,0,300,3,6,600,1,,,,,3,1,6,,,,1,2,,15,2,240,5,1,25000,1,,,1,1,25000,0,1,1,1,1,2,2,4,0,0,2,11,0,0,1,0,0,1,220,,0,1,8,2,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,45,28,20,65,35,30,31,16,43,39,38,34,8,33,35,47,55,27,58,40,7,27,52,9,9,39,36,54,36,37,36,46,62,34,64,11,9,26,11,10,56,36,11,55,45,36,33,12,38,29,35,39,9,27,39,51,41,29,70,59,11,31,58,8,10,37,26,61,31,24,28,37,62,44,43,7,10,26 H,517275,8,600,4,16,1015675,134,2,1,1,,5,2,2,,100,0,2,440,1,630,1,,1,1900,1,1,1,8,,,700,1,1,,21,2,100,3,1,183000,4,,,1,1,183000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,3148,2,0,1,55,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,127,127,135,219,152,40,134,204,245,126,127,210,41,131,39,37,147,43,142,40,125,141,131,43,124,206,144,38,43,134,145,38,196,151,229,226,123,229,140,215,121,132,140,234,126,37,139,218,197,134,135,226,44,134,40,39,122,41,147,40,137,146,139,42,146,210,131,40,40,121,133,41,219,137,221,208,122,240,126 H,517427,8,300,4,16,1015675,63,2,1,1,,5,2,2,,80,0,2,10,3,350,1,,1,1100,1,1,1,9,,,,1,1,,14,2,590,5,,,,,,1,5,83000,0,4,4,4,1,3,0,,0,1,0,18,2,0,0,0,0,1,1239,3,0,1,19,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,70,123,21,65,25,15,71,19,113,62,71,57,135,65,18,77,111,90,60,55,65,113,19,62,20,19,61,20,94,56,61,53,110,57,23,62,94,93,67,78,63,101,21,61,17,17,76,21,108,69,57,67,113,56,20,62,96,111,77,78,56,113,21,48,19,17,74,19,98,64,64,69,112,52,21,67,95,107,66,71 H,517612,8,100,4,16,1015675,104,4,1,1,,3,1,2,,80,0,550,3,3,360,1,0,2,290,2,1,1,5,,,,1,1,,16,3,680,5,1,40000,2,,,1,1,40000,0,2,2,2,1,3,2,4,0,0,2,17,0,0,1,0,0,2,566,3,0,0,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,31,177,133,106,34,193,110,116,202,120,106,202,97,93,93,139,33,27,97,188,175,30,110,98,170,33,101,101,28,109,119,22,97,117,91,32,181,160,122,159,198,29,100,104,123,35,109,104,27,112,99,34,105,92,99,34,177,175,112,28,34,188,107,134,29,207,106,98,185,91,102,183,107,115,102,196,27,27,92 H,517978,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,518244,8,200,4,16,1015675,80,2,1,1,,3,2,2,,20,0,2,150,1,410,1,,,,,3,1,9,,,,1,2,,16,2,830,5,4,58100,4,,,1,1,58100,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,456,,0,1,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,95,121,100,68,144,71,62,128,173,136,172,102,123,97,118,77,105,66,20,78,27,24,75,85,22,55,78,25,24,31,28,96,26,98,29,84,91,73,135,58,134,122,76,73,123,97,115,130,210,113,147,73,119,87,140,92,95,68,20,77,21,29,64,67,25,75,73,23,29,23,20,74,29,93,25,79,79,101,108 H,518422,8,100,4,16,1015675,132,2,1,1,,2,2,2,,40,0,900,3,4,,1,,,,,,1,4,2,200,,1,3,,,3,1,5,1,153000,4,315,2,1,1,153000,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,97,170,52,125,176,143,140,37,120,148,248,283,35,46,272,137,47,194,190,99,124,122,49,105,125,154,97,37,155,136,278,235,38,33,205,173,43,173,205,135,122,147,40,142,164,130,93,40,128,118,218,204,49,40,190,110,46,230,167,151,139,161,44,137,136,128,112,50,128,119,257,235,51,43,225,155,40,179,201,138 H,518992,8,600,4,16,1015675,95,3,1,1,,4,2,2,,80,0,2,180,1,,1,,,,,,1,7,2,900,,1,3,,,3,30,6,1,61680,2,1163,23,3,1,61680,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,168,168,29,30,102,27,83,104,159,92,147,96,162,100,94,29,106,95,155,98,94,96,99,98,182,103,25,172,94,171,92,30,103,28,165,92,25,31,27,97,99,98,102,95,25,93,170,31,105,27,91,150,100,182,31,98,153,161,86,179,26,32,147,177,100,146,92,94,29,94,27,84,27,104,91,179,92,109,84 H,519365,8,700,4,16,1015675,252,3,1,,,2,5,,,100,0,2,3,3,,1,,,,,,1,4,2,480,,1,3,,,1,1,4,2,25000,2,580,28,1,1,25000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,419,242,384,79,291,430,447,239,212,232,239,258,82,249,416,66,284,85,268,430,84,241,67,474,297,86,82,244,253,244,263,221,417,259,64,358,264,454,249,72,408,245,425,89,289,414,401,225,252,279,254,255,81,262,395,74,272,80,271,369,80,217,76,439,291,70,72,265,243,238,246,246,425,247,73,396,270,415,249,65 H,519477,8,400,4,16,1015675,167,3,1,,,2,4,,,90,0,2,3,3,,1,,,,,,1,4,2,250,,1,3,,,2,320,3,2,24000,1,367,18,1,1,24000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,321,173,46,149,234,159,146,233,191,63,55,56,173,190,191,170,127,240,301,290,75,166,297,122,34,215,209,58,214,235,230,256,143,180,154,135,157,47,74,262,55,172,296,149,66,173,140,64,179,200,259,285,154,153,165,172,163,54,61,68,334,193,49,136,253,180,144,271,216,60,44,65,178,157,181,143,185,217,211,86 H,519567,8,800,4,16,1015675,139,2,1,1,,2,2,2,,60,0,2,60,1,250,1,,1,470,1,1,1,5,,,,1,1,,10,3,500,9,7,13400,2,,,2,3,13400,0,2,2,2,1,4,1,2,0,0,1,57,0,0,1,0,0,1,632,3,0,1,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,39,138,149,203,45,158,105,34,102,183,44,147,137,118,40,234,248,234,144,38,251,153,103,64,262,117,156,232,145,123,255,188,149,171,208,39,51,52,147,237,37,160,139,177,37,141,134,52,157,146,43,129,122,150,51,311,224,186,118,41,306,138,134,45,218,117,173,228,165,134,174,155,121,119,252,40,58,47,124 H,519755,8,200,4,16,1015675,25,1,1,1,,3,1,2,,40,0,2,70,2,360,1,780,1,550,1,1,1,7,,,390,2,1,,14,2,70,3,,,,,,1,6,42000,0,4,4,4,1,5,0,,0,0,0,32,0,0,0,0,0,1,1121,1,0,0,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,26,38,24,7,26,20,7,36,42,40,47,29,22,27,21,21,10,9,44,37,22,8,28,48,22,26,38,29,7,7,9,33,23,22,23,23,40,5,57,36,22,5,25,51,22,26,34,29,9,7,9,19,19,25,26,21,46,35,8,6,25,45,27,9,24,31,8,33,48,40,67,29,20,28,29,24,7,34 H,519849,8,700,4,16,1015675,77,5,1,1,,5,2,2,,70,0,2,290,1,2700,1,,1,1300,1,1,1,9,,,,1,1,,20,2,300,2,1,72000,3,,,1,1,72000,0,3,3,3,1,3,3,5,0,0,3,28,0,0,1,0,0,2,1685,3,0,1,41,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,75,24,80,75,80,21,67,20,134,73,129,83,78,77,126,137,23,78,71,82,23,73,22,23,138,79,120,82,78,137,75,135,24,20,72,80,83,131,21,139,82,22,81,77,76,21,75,25,139,75,133,76,77,68,124,148,25,85,70,82,20,79,20,24,132,75,131,77,75,130,81,136,22,23,70,82,77,133,20 H,519912,8,800,4,16,1015675,42,2,1,3,6,2,2,2,,40,0,2,3,3,240,1,,,,,3,1,7,,,,1,2,,11,3,2,9,4,25300,4,,,1,1,25300,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,2,1,125,,0,0,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,45,11,33,46,37,46,13,48,40,93,54,13,13,68,39,8,91,95,55,32,40,101,43,44,40,44,70,51,59,8,12,56,63,15,41,72,13,16,41,41,44,10,37,35,33,39,15,46,36,79,95,16,12,65,47,10,69,72,42,43,39,82,48,55,52,30,52,47,52,10,17,75,72,13,49,71,14,15,52 H,520403,8,300,4,16,1015675,153,0,1,1,,3,2,2,,,,,,,,2,,,,,,1,5,,,,,,4,12,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,167,50,156,165,155,272,165,150,47,240,47,45,136,149,294,294,47,137,40,146,155,239,149,143,156,48,147,160,238,42,306,249,154,148,48,44,252,177,248,161,160,50,154,144,130,261,152,153,42,257,49,45,149,167,271,242,47,191,51,150,167,278,158,157,142,40,143,137,254,46,229,240,157,149,42,48,278,166,254 H,520426,8,800,4,16,1015675,73,2,1,2,1,2,2,2,,90,0,1800,3,4,,1,,,,,,1,5,2,600,,1,3,,,4,2,7,4,13300,4,840,76,1,1,13300,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,78,137,84,71,19,20,107,166,21,65,132,21,22,72,67,126,76,86,68,84,82,24,74,73,108,118,22,22,153,68,24,111,122,67,65,25,56,90,76,70,68,25,67,92,122,138,20,19,127,66,26,110,114,90,73,22,63,84,74,68,73,107,61,75,23,22,139,131,19,68,136,26,25,79,90,124,61,81,74 H,520471,8,100,4,16,1015675,164,2,1,2,1,2,2,2,,70,0,2,3,3,,1,,,,,,1,8,2,900,,1,3,,,1,2,8,4,48200,4,970,24,1,1,48200,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,264,51,57,66,58,202,157,120,45,274,161,172,318,129,135,253,187,192,165,142,49,264,301,285,210,60,192,161,210,37,194,194,55,188,163,52,148,143,192,190,233,49,56,44,51,197,147,125,52,302,153,167,252,147,192,270,158,151,172,185,56,261,250,258,280,50,219,152,258,51,161,196,43,160,174,56,177,138,197 H,520791,8,300,4,16,1015675,99,1,1,1,,2,2,1,,40,0,200,3,6,400,1,,1,310,1,1,1,4,,,,1,1,,9,1,180,9,,,,,,1,6,8000,0,4,4,4,1,1,0,,0,0,0,57,0,0,0,0,0,1,382,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,189,97,97,112,93,91,35,24,33,82,220,91,41,154,104,35,135,174,29,34,25,92,121,86,114,110,136,189,143,91,28,87,168,93,106,220,99,32,189,135,190,108,83,90,82,92,26,38,40,110,179,85,35,100,87,24,103,195,29,34,36,99,90,132,132,88,168,151,179,129,24,96,155,87,98,196,92,26,144 H,520872,8,500,4,16,1015675,90,3,1,1,,3,2,2,,100,0,2,30,1,300,1,,1,1000,1,1,1,7,,,,1,1,,18,2,330,2,1,92000,2,,,1,1,92000,0,2,2,2,1,3,1,3,0,0,1,15,0,0,1,0,0,2,1158,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,149,138,77,116,102,82,90,27,29,28,94,166,100,25,97,87,23,90,130,142,160,116,82,88,90,94,93,26,30,25,81,144,91,27,79,89,28,84,163,23,26,25,97,93,88,107,87,151,144,160,87,25,96,155,84,94,151,97,26,27,28,23,92,99,77,79,89,165,155,146,81,28,108,133,90,87,132,86,27,162 H,521125,8,700,4,16,1015675,114,2,1,1,,4,2,2,,410,0,2,3,3,1400,1,,1,2000,1,1,1,8,,,,1,1,,24,3,2,3,2,166200,4,,,1,1,166200,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,2,2410,3,0,1,62,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,109,30,31,105,182,120,200,37,190,120,190,107,31,36,116,197,114,113,35,200,33,115,117,33,104,34,127,121,116,208,113,188,112,108,182,110,34,197,108,115,109,176,181,128,31,109,33,178,32,114,37,128,214,195,118,36,115,124,186,33,192,125,119,197,114,178,107,109,124,32,114,33,106,112,35,111,192,36,112 H,521135,8,300,4,16,1015675,80,6,1,1,,3,2,2,,140,5600,1200,3,6,,1,,,,,,1,6,2,550,,2,3,,,2,420,6,,,,825,91,1,5,10900,0,3,4,4,1,2,0,,0,1,0,,2,0,1,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,22,20,92,27,59,65,106,80,152,77,150,121,78,20,73,71,20,114,104,109,62,72,114,83,43,150,97,177,93,23,76,33,115,64,17,22,81,108,63,145,24,16,104,21,61,65,109,55,211,88,154,90,79,25,115,105,26,127,126,98,81,69,120,87,26,102,72,156,93,20,72,30,134,81,25,19,91,99,112 H,521199,8,100,4,16,1015675,85,4,1,1,,3,2,2,,100,0,2,3,3,,1,,,,,,1,7,2,880,,1,3,,,2,40,6,1,24600,3,983,48,3,1,24600,0,1,1,1,1,4,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,91,24,25,81,27,186,81,75,102,122,74,25,76,135,141,94,86,133,96,152,96,175,132,73,145,25,89,92,82,27,99,184,81,24,21,86,88,23,83,39,90,25,24,84,27,148,74,85,99,148,72,27,84,158,134,89,91,143,70,127,85,148,148,104,151,24,92,77,83,26,84,132,99,24,26,75,76,24,87 H,521418,8,200,4,16,1015675,193,2,1,1,,3,2,2,,90,0,2,2,1,530,1,,2,1200,2,1,1,8,,,,1,1,,15,3,2400,7,1,30800,4,,,1,1,30800,0,4,4,4,1,4,0,2,0,0,0,66,0,0,0,0,0,1,1693,3,0,1,31,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,63,208,228,211,212,171,352,176,42,277,213,243,201,59,159,57,310,224,294,43,65,176,165,203,164,238,304,210,96,321,203,297,223,59,150,52,374,321,232,55,62,191,234,267,209,208,275,236,51,338,183,315,228,51,211,71,245,180,245,44,79,143,234,227,140,189,332,250,55,281,228,254,157,58,262,57,308,224,233 H,521643,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,521893,8,100,4,16,1015675,39,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,66,12,40,41,64,67,69,37,38,10,78,37,11,41,38,42,41,14,12,41,37,40,79,11,36,40,36,58,12,38,37,62,41,71,57,10,12,44,38,10,68,13,46,37,70,72,62,38,34,11,60,40,12,40,49,37,41,10,11,40,36,39,63,14,40,38,43,58,12,40,37,67,34,61,62,11,10,45,38 H,522052,8,300,4,16,1015675,122,0,1,1,,2,2,2,,,,,,,,2,,,,,,2,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,144,136,109,247,248,125,187,38,190,33,128,35,34,132,121,119,134,129,136,116,204,43,30,112,120,199,119,114,119,110,197,141,114,33,37,219,189,39,169,37,132,131,119,198,191,102,198,36,167,38,111,39,44,125,131,121,140,126,112,119,203,36,39,124,107,210,130,125,141,125,204,138,124,36,44,222,194,31,211 H,522492,8,300,4,16,1015675,137,1,1,1,,3,1,2,,40,0,2,70,1,560,1,0,1,570,1,1,1,5,,,,1,1,,11,1,430,3,,,,,,1,6,21000,0,4,4,4,1,4,0,,0,0,0,41,0,0,0,1,1,1,716,3,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,253,143,248,118,35,127,41,254,152,46,39,136,143,133,129,168,262,108,37,235,40,148,44,136,227,120,235,46,158,228,219,123,135,167,127,129,39,120,217,39,211,122,265,159,38,143,46,256,143,51,43,137,142,117,118,150,208,117,42,208,42,130,40,127,204,125,262,41,125,218,227,125,134,145,154,146,45,121,173 H,522544,8,100,4,16,1015675,359,4,1,1,,3,1,2,,110,0,2,3,3,,1,,,,,,1,4,2,700,,1,3,,,2,1,3,1,73000,2,810,13,1,1,73000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,588,347,372,93,642,110,111,362,328,657,575,113,338,349,368,103,410,358,401,110,97,328,426,714,97,479,573,340,337,118,101,568,344,428,358,597,296,375,436,532,619,336,362,127,505,101,126,277,349,489,565,115,382,354,401,123,351,362,384,119,106,339,357,629,107,615,595,417,318,107,126,616,403,311,346,609,354,366,344,592 H,522682,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,522689,8,600,4,16,1015675,122,5,1,1,,3,2,2,,50,0,2,130,1,280,1,,1,830,1,1,1,5,,,120,2,1,,16,4,300,4,1,39360,1,,,2,1,39360,0,1,1,1,1,1,2,5,0,0,2,35,0,0,1,0,0,1,1155,1,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,116,134,122,117,243,187,33,205,126,124,36,37,34,120,146,209,39,128,190,209,38,33,209,246,118,118,123,129,35,197,122,116,119,33,199,114,115,34,123,106,133,112,128,121,199,229,36,218,122,130,38,34,33,125,126,197,39,127,200,205,38,36,196,204,110,122,141,115,39,185,112,111,128,37,202,126,114,41,135,128 H,522801,8,300,4,16,1015675,19,4,1,1,,4,1,2,,100,0,2,10,1,,1,,,,,,1,6,2,400,,1,3,,,4,160,5,1,39400,2,523,16,1,1,39400,0,2,2,2,1,4,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,37,19,17,20,7,20,7,20,23,6,24,41,6,5,29,20,19,35,32,18,35,21,24,23,7,23,6,21,22,6,21,41,6,5,38,24,21,32,7,22,5,19,21,21,35,19,40,22,22,34,21,7,34,43,7,19,20,5,5,24,5,22,19,17,39,17,37,21,18,42,20,7,34,36,5,21,22,7,38 H,522809,8,100,4,16,1015675,82,2,1,1,,3,2,2,,30,0,2,110,1,460,1,,2,630,2,1,1,7,,,,1,1,,21,2,200,3,7,16000,4,,,1,3,16000,0,4,4,4,1,5,0,2,0,0,0,69,0,0,0,1,0,1,920,3,0,1,23,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,164,76,80,78,139,27,137,79,26,23,22,82,144,25,80,77,86,75,144,81,75,157,133,25,80,80,86,27,82,82,94,153,97,83,23,157,20,25,87,138,157,93,73,89,144,25,140,94,26,20,23,90,148,23,83,94,78,81,160,77,83,134,145,25,74,79,87,22,83,84,92,149,83,72,21,141,26,22,73 H,522859,8,200,4,16,1015675,106,4,1,1,,4,2,2,,90,0,350,3,6,300,1,,1,980,1,1,1,8,,,,1,1,,16,2,1200,7,1,92500,3,,,1,1,92500,0,3,3,3,1,1,2,4,0,0,2,16,0,0,1,0,0,2,1199,3,0,1,18,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,70,39,48,39,110,99,116,196,127,167,143,190,96,30,124,223,97,76,194,37,116,174,162,162,93,95,92,103,91,30,34,31,88,148,85,29,125,138,41,166,98,30,33,51,134,120,96,95,81,179,232,154,92,38,136,155,86,115,109,28,90,156,196,146,85,100,108,102,139,33,30,32,126,172,122,50,107,86,42 H,522860,8,200,4,16,1015675,109,1,1,,,1,5,,,20,0,2,4,1,,1,,,,,,1,3,2,390,,1,3,,,1,40,9,,,,417,26,1,4,19000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,92,101,144,138,86,141,172,156,125,29,123,160,120,135,177,103,32,47,33,23,109,159,118,113,131,168,195,194,130,29,124,171,135,150,177,116,27,30,226,163,84,125,130,156,119,30,34,34,95,125,119,29,104,142,33,101,210,258,177,158,147,138,97,111,95,31,34,39,162,168,99,36,112,151,26,90,188,138,39 H,522941,8,100,4,16,1015675,123,0,1,2,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,38,135,40,224,111,112,114,225,124,32,124,214,249,113,113,210,37,132,106,197,204,110,193,36,113,111,107,37,121,197,113,39,37,133,135,48,215,118,107,222,189,124,237,31,125,125,149,40,125,234,112,33,37,106,124,32,183,111,119,36,37,137,38,193,118,118,150,216,120,40,113,213,187,122,129,188,41,108,121 H,523203,8,300,4,16,1015675,46,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,59,44,55,82,46,18,15,10,44,57,51,51,54,74,74,89,45,10,37,17,75,40,44,81,37,12,16,11,41,55,51,54,52,73,79,86,48,12,40,67,17,43,44,14,48,81,77,89,62,41,39,42,47,12,13,14,46,91,54,68,15,46,38,14,55,71,70,86,50,39,36,44,37,13,16,17,56,95,53,17 H,523216,8,200,4,16,1015675,51,1,1,,,2,4,,,50,0,2,3,3,,1,,,,,,1,4,2,700,,1,3,,,0,1,5,,,,750,51,1,6,17700,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,65,120,63,16,14,86,58,16,99,94,51,46,12,55,67,57,47,15,47,51,60,23,13,95,81,20,62,55,14,17,50,44,83,71,37,34,40,66,72,41,40,142,93,17,17,73,41,14,88,60,59,43,13,46,54,62,46,13,63,30,58,22,28,86,98,19,27,64,23,12,40,57,75,37,69,55,56,125,72 H,523372,8,200,4,16,1015675,95,3,1,1,,2,2,2,,120,0,2,110,1,,1,,,,,,1,4,2,800,,1,3,,,3,600,9,5,29400,2,1080,7,1,2,194400,0,2,2,2,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,129,98,26,24,28,98,166,95,26,114,98,33,103,126,158,201,106,80,27,127,78,98,164,169,161,82,29,99,144,74,95,203,105,27,20,25,100,99,157,129,129,90,46,21,29,102,131,96,25,91,76,22,86,137,191,153,117,102,23,89,95,97,150,200,191,81,27,107,143,73,138,212,101,32,21,29,86,74,174 H,523943,8,800,4,16,1015675,88,5,1,1,,3,2,2,,40,0,2,80,1,300,1,,1,770,1,1,1,5,,,,1,1,,14,3,960,2,1,50000,3,,,2,1,50000,0,3,3,3,2,3,3,5,0,0,3,23,0,0,1,0,0,2,970,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,231,129,86,69,34,35,60,36,222,22,166,90,164,155,86,117,94,84,106,142,96,36,119,120,111,69,23,129,81,117,93,23,91,63,116,142,18,22,103,29,85,128,29,24,93,98,111,86,91,69,108,152,71,110,26,27,221,181,166,95,27,77,89,109,144,99,86,162,23,183,30,102,33,21,76,94,109,94,26 H,523949,8,800,4,16,1015675,547,2,1,1,,2,3,2,,200,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,2,600,8,,,,,,1,5,91000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,428,837,397,577,771,134,453,169,665,615,194,515,974,137,220,855,416,744,834,820,630,893,699,535,506,222,487,274,538,531,224,570,894,216,194,756,542,453,709,144,442,237,524,531,569,832,675,773,521,659,768,461,191,773,727,205,559,701,279,160,620,189,662,558,489,1044,631,777,459,421,720,644,203,867,880,153,576,522,179,895 H,524399,8,800,4,16,1015675,27,2,1,1,,2,1,2,,100,0,2,3,3,0,1,120,,,,3,1,4,,,,1,2,,2,1,2,4,7,22000,4,,,1,3,22000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,110,,0,0,1,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,32,45,9,40,24,7,7,9,23,35,8,25,24,18,20,49,38,28,29,27,28,8,50,9,31,58,46,55,29,7,41,24,22,27,32,8,10,37,30,34,22,39,8,45,29,7,9,9,26,43,7,25,25,25,21,56,40,19,27,24,27,5,54,7,23,52,41,48,31,6,45,28,24,23,32,10,9,24,24 H,524483,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,524514,8,600,4,16,1015675,98,1,1,1,,3,2,2,,70,0,2,80,1,30,1,,2,180,1,1,1,8,,,,1,1,,16,1,700,3,,,,,,5,6,90000,0,4,4,4,1,4,0,,0,0,0,5,0,0,0,0,0,1,391,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,192,35,155,98,38,31,31,109,132,25,90,93,112,98,146,155,90,97,139,31,109,101,90,32,120,88,102,166,109,93,25,155,27,29,118,102,146,180,94,87,185,30,164,109,32,28,25,114,173,26,87,79,94,119,220,147,125,130,139,28,114,136,83,36,155,84,102,152,72,86,27,146,37,35,85,100,156,151,106 H,524636,8,600,4,16,1015675,125,3,1,1,,3,2,2,,100,0,2,60,1,120,1,,1,1100,1,1,1,6,,,100,1,1,,16,2,50,5,2,32500,2,,,1,1,32500,0,2,2,2,1,3,1,3,0,0,1,50,0,0,1,0,0,1,1364,2,0,1,29,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,131,231,224,38,35,205,115,36,216,231,117,134,35,113,116,125,135,37,131,112,120,208,194,33,42,206,130,37,193,210,123,138,41,128,139,110,112,40,128,118,124,41,41,200,189,42,126,198,43,38,125,120,184,141,127,111,112,183,125,123,127,37,37,246,219,31,124,224,38,37,114,113,224,128,118,128,134,228,119 H,525189,8,300,4,16,1015675,23,5,1,2,1,4,2,2,,160,1400,2,3,3,390,1,,2,250,2,1,1,8,,,,1,1,,18,3,2,1,4,46220,2,,,1,1,46220,1,2,4,2,1,1,0,5,0,0,1,13,0,1,1,0,0,1,503,3,0,1,16,3,8,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,21,22,21,45,33,24,41,6,44,7,25,6,7,25,20,26,23,24,22,24,38,5,8,22,21,36,19,21,21,25,38,23,25,4,8,57,36,6,9,34,25,23,26,7,6,23,7,37,8,34,23,43,41,21,23,23,24,21,20,23,6,45,39,25,23,5,23,24,30,19,6,24,23,42,34,7,4,39,42 H,525600,8,800,4,16,1015675,68,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,72,69,20,61,117,69,97,139,21,63,21,66,61,16,53,17,127,129,69,75,76,66,21,63,102,73,111,122,24,62,20,61,77,19,54,19,101,127,65,61,60,74,18,69,108,61,131,109,20,65,23,56,64,23,63,19,102,121,62,64,71,66,18,68,143,71,116,116,16,78,21,69,64,21,79,18,111,115,65 H,525686,8,100,4,16,1015675,85,2,1,2,1,4,2,2,,90,0,2,4,6,250,1,,1,460,1,1,1,6,,,400,1,1,,14,2,2,5,7,26300,2,,,1,3,26300,0,2,2,2,1,4,1,2,0,0,1,44,0,0,1,0,0,2,954,1,0,1,12,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,77,128,25,80,130,140,87,82,75,89,87,27,87,147,29,97,26,77,145,29,103,25,135,97,26,20,85,83,105,116,77,136,70,27,128,70,138,86,148,19,82,25,124,106,23,27,86,99,85,94,99,148,79,25,118,81,118,83,25,153,96,140,26,80,126,152,73,79,92,104,94,23,91,127,25,101,26,97,36 H,525884,8,900,4,16,1015675,69,1,1,,,2,4,,,40,0,2,20,1,,1,,,,,,1,4,2,450,,1,3,,,1,1,8,,,,510,31,1,6,20000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,68,73,74,25,59,15,76,24,18,21,21,63,62,18,17,64,17,21,112,112,112,116,123,86,121,71,102,59,57,69,79,107,120,54,62,137,65,78,71,66,66,81,63,22,56,18,74,25,21,25,17,54,58,23,20,64,19,16,96,108,114,128,101,77,128,63,101,67,65,72,86,125,119,57,62,131,70,66,69 H,525952,8,600,4,16,1015675,99,4,1,1,,4,2,2,,100,0,2,200,1,750,1,,2,950,2,1,1,8,,,,1,1,,22,3,2400,5,3,80750,2,,,1,1,80750,0,2,2,2,1,4,1,4,0,0,1,25,0,0,1,0,0,1,1680,3,0,1,32,2,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,144,158,111,152,95,104,29,91,28,99,31,97,100,164,98,95,169,188,93,105,110,93,172,97,31,166,102,173,98,29,98,25,166,97,30,28,92,94,161,157,27,31,105,29,106,105,166,103,158,96,170,102,111,29,99,106,27,26,100,95,100,101,26,100,154,30,94,28,104,171,109,177,27,93,158,170,97,105 H,525978,8,100,4,16,1015675,91,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,2,300,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,168,30,98,145,29,28,76,91,165,84,78,92,79,144,95,105,39,31,178,94,24,147,89,28,143,164,98,89,31,88,94,96,99,25,92,106,135,145,29,90,27,158,119,28,130,160,101,92,31,85,81,89,90,27,94,118,177,156,28,87,153,25,81,151,29,26,82,100,154,86,97,74,97,149,93,111,24,31,182,101 H,526203,8,700,4,16,1015675,63,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,5,2,1100,,,,1,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,113,62,51,21,113,17,17,66,58,114,100,18,65,67,59,22,68,70,68,19,54,108,20,66,62,63,69,128,106,67,63,68,118,19,101,57,18,22,17,78,19,62,60,115,17,99,104,64,59,18,17,117,73,67,76,105,66,77,72,112,61,18,102,71,56,56,54,18,21,65,72,63,20,111,17,72,113,120,124 H,526469,8,300,4,16,1015675,67,2,1,2,1,5,2,2,,150,0,2,3,3,420,1,,,,,3,1,9,,,,1,2,,16,2,2,5,2,176000,4,,,1,1,176000,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,0,1,281,,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,62,16,56,15,76,60,61,113,54,103,66,65,131,66,18,115,106,20,102,65,67,104,59,129,80,61,58,24,69,16,78,72,19,61,108,24,25,127,20,56,69,19,66,19,66,54,54,104,54,104,67,64,142,76,23,127,130,21,124,60,57,137,68,97,66,79,68,18,67,16,67,57,18,59,77,25,24,120,24 H,526597,8,200,4,16,1015675,17,4,1,2,1,2,1,2,,50,4800,2,3,3,,1,,,,,,1,4,2,380,,1,3,,,3,2,3,1,23400,2,430,22,1,1,23400,0,2,2,2,1,4,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,7,23,11,12,4,16,28,18,5,5,21,17,5,32,13,22,27,19,16,27,4,19,16,16,8,15,26,15,5,5,22,15,5,27,22,39,21,15,17,31,7,15,17,14,4,16,29,16,3,3,14,20,7,24,15,25,39,19,15,34,5,15,15,22,6,16,32,15,3,4,12,17,3,19,28,34,24,17,18 H,527423,8,900,4,16,1015675,78,2,1,1,,4,2,2,,300,0,2,3,3,600,1,,1,840,1,1,1,7,,,,1,1,,15,1,650,4,5,25000,1,,,1,2,25000,0,1,1,1,1,1,1,2,0,0,1,57,0,0,1,0,0,2,1194,3,0,1,24,1,11,11,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,74,76,109,90,24,26,30,70,94,81,68,85,107,97,117,103,24,74,20,133,62,65,117,69,23,21,27,97,75,72,92,80,166,129,127,81,24,88,133,29,51,72,23,84,145,120,118,79,77,75,78,79,31,23,30,83,105,107,140,20,71,107,27,75,122,99,129,76,96,86,63,69,17,17,27,83,139,78,26 H,527619,8,800,4,16,1015675,113,2,1,2,1,3,2,2,,40,0,200,100,1,960,1,,2,390,2,1,1,6,,,100,1,1,,23,2,2,3,4,64300,4,,,1,1,64300,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,2,1,928,2,0,1,36,0,9,9,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,35,105,117,201,109,106,107,120,216,117,103,27,30,211,201,37,110,165,36,107,32,106,173,213,107,113,115,105,171,119,99,45,30,155,189,34,132,186,39,110,35,116,115,183,176,122,114,127,181,95,110,30,33,163,204,35,101,167,31,137,33,116,101,199,114,110,114,121,190,116,107,36,42,220,186,35,99,174,31,108 H,528261,8,900,4,16,1015675,94,2,1,1,,3,2,2,,40,0,2,120,1,420,1,,,,,3,1,7,,,,1,2,,11,2,40,9,8,35720,4,,,1,3,35720,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,278,,0,1,21,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,30,33,27,187,86,94,26,134,91,92,142,107,100,163,93,90,111,185,95,167,142,144,134,24,82,115,172,23,93,97,30,114,90,24,94,89,90,35,96,32,23,28,26,159,94,77,25,126,100,114,163,91,99,163,78,88,87,162,97,160,152,195,150,32,106,93,199,31,119,84,31,111,102,27,94,84,87,28,109 H,528373,8,300,4,16,1015675,33,1,1,2,1,5,2,2,,270,0,2,3,3,400,1,,1,800,2,1,1,9,,,,1,1,,18,2,430,5,,,,,,1,4,42400,0,4,4,4,1,3,0,,0,0,0,31,0,0,0,0,0,2,1106,3,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,40,8,9,10,28,36,32,36,25,70,56,32,33,12,34,42,32,50,12,68,35,11,13,11,28,26,28,32,39,56,42,61,30,9,30,55,24,18,11,57,36,11,13,10,25,36,25,21,33,61,56,68,28,6,41,71,31,25,9,42,34,8,10,8,30,30,48,31,23,62,42,38,39,10,43,50,35,34,9 H,528473,8,300,4,16,1015675,291,2,1,,,2,7,,,20,0,2,3,3,,1,,,,,,1,3,2,470,,1,3,,,1,1,2,1,7200,4,490,82,1,1,7200,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,270,251,295,345,123,287,404,437,470,96,98,433,328,81,402,529,300,277,277,376,264,238,243,302,513,431,281,73,98,557,506,108,249,446,103,85,330,346,384,86,279,270,277,328,127,369,358,354,405,96,75,411,293,115,415,399,318,284,328,447,236,321,311,292,477,301,351,139,95,399,436,120,284,285,90,130,306,247,273 H,528485,8,800,4,16,1015675,90,2,1,1,,3,2,2,,140,0,2,120,1,350,1,,1,530,1,1,1,6,,,150,1,1,,16,1,720,7,,,,,,1,5,29300,0,4,4,4,1,2,0,,0,1,0,41,1,0,0,2,1,1,1000,1,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,99,29,100,29,81,89,86,179,80,171,94,76,166,109,25,163,193,31,24,96,91,31,81,26,81,77,90,136,99,158,86,90,127,78,24,184,122,32,36,92,89,30,108,29,87,94,85,135,80,151,100,96,158,84,27,142,157,27,24,84,86,25,73,22,89,89,100,155,95,159,99,100,204,75,28,140,124,29,24 H,528646,8,600,4,16,1015675,129,4,1,1,,3,2,2,,140,0,2,60,1,1400,1,,1,790,1,1,1,5,,,210,1,1,,15,2,410,4,1,39100,3,,,1,1,39100,0,1,1,1,1,3,2,4,0,0,2,38,0,0,1,0,0,2,1234,4,0,1,25,2,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,130,211,126,225,202,40,36,136,134,116,129,200,37,136,124,129,210,45,204,151,117,41,127,38,40,218,248,135,136,138,126,39,228,137,118,116,36,220,216,133,125,36,123,37,41,227,187,134,121,129,142,43,242,133,137,155,43,238,40,134,143,229,139,206,191,35,36,118,118,129,133,235,34,113,132,141,242,34,45 H,529189,8,400,4,16,1015675,86,1,1,2,1,2,2,2,,150,0,2,440,2,1200,1,,1,1400,1,1,1,5,,,,1,1,,21,1,2,2,,,,,,1,6,46000,0,4,4,4,1,3,0,,0,0,0,52,0,0,0,0,0,1,1990,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,75,25,95,129,81,68,111,100,21,30,30,98,98,86,105,80,119,157,27,176,79,26,109,127,97,85,140,100,26,26,27,102,84,72,84,103,157,139,22,129,91,24,79,126,84,85,111,77,29,29,27,104,94,68,92,87,148,154,28,146,77,30,125,160,88,89,174,76,29,24,26,108,79,73,89,95,134,169,29 H,529394,8,300,4,16,1015675,75,4,1,1,,5,2,2,,70,0,2,110,1,2400,1,,1,1700,1,1,1,9,,,,1,1,,21,4,280,2,2,134000,4,,,1,1,134000,0,4,4,4,1,3,0,4,0,0,0,17,0,0,0,0,0,1,1903,3,0,1,27,3,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,126,110,22,72,126,22,21,88,70,113,86,70,76,82,127,77,64,21,67,124,19,19,133,66,23,124,105,72,64,24,82,69,86,72,28,89,75,117,91,16,120,112,23,77,125,23,21,74,89,110,72,77,81,72,121,69,80,23,62,126,22,21,130,72,21,117,111,72,85,24,74,73,73,87,23,82,67,130,77 H,529416,8,600,4,16,1015675,117,1,1,1,,4,2,2,,40,0,2,3,3,430,1,,,,,3,1,9,,,,1,2,,18,1,350,5,,,,,,1,4,32001,0,4,4,4,1,6,0,,0,0,0,10,0,0,0,0,0,1,272,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,117,118,201,112,207,113,112,128,31,123,35,124,130,36,115,204,32,29,35,31,119,113,35,120,34,106,108,111,204,116,194,119,119,203,132,33,184,194,34,31,114,115,34,113,33,133,120,120,186,109,205,110,118,225,123,34,201,198,209,198,124,111,195,113,204,122,110,109,36,120,32,105,123,36,113,206,31,36,201 H,529901,8,800,4,16,1015675,127,3,1,1,,3,2,2,,70,0,2,3,3,,1,,,,,,1,5,2,900,,1,3,,,3,690,5,7,32500,2,1028,38,1,3,32500,0,2,2,2,1,6,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,199,172,38,41,199,115,32,197,209,128,115,31,115,135,123,131,45,108,130,123,294,217,34,41,238,140,55,294,269,133,101,31,118,107,117,141,35,146,151,133,226,172,34,33,214,132,36,198,264,145,110,32,135,124,125,112,37,95,115,118,228,205,39,45,222,141,45,256,212,132,130,34,137,132,110,145,43,131,120,121 H,530085,8,300,4,16,1015675,347,2,1,2,1,3,2,2,,80,0,2,3,3,700,1,,1,920,1,1,1,5,,,,1,1,,16,3,2,3,1,60000,4,,,1,1,60000,0,4,4,4,1,2,0,2,0,0,0,20,0,0,0,0,0,2,1000,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,571,132,92,284,129,387,361,491,363,546,322,584,369,341,112,301,307,106,611,592,436,343,454,516,319,102,580,467,542,384,104,336,126,544,337,93,103,275,350,277,477,108,113,322,124,358,330,606,290,508,381,535,412,391,100,394,389,118,543,519,336,337,348,608,334,92,585,370,532,382,114,305,117,596,328,162,113,332,319,399 H,530224,8,300,4,16,1015675,40,3,1,1,,3,2,2,,40,0,2,140,1,260,1,,1,650,1,1,1,7,,,,1,1,,13,2,740,6,1,76000,1,,,1,1,76000,0,1,1,1,1,3,1,3,0,0,1,14,0,0,1,0,0,1,892,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,71,37,45,57,25,11,66,67,11,39,64,8,40,12,25,41,49,76,40,60,11,50,46,10,43,81,15,12,63,37,34,69,37,83,63,47,41,12,36,77,8,28,51,15,36,66,16,17,85,44,28,70,38,72,60,34,40,11,37,15,79,36,41,51,33,18,64,57,14,33,39,12,41,9,25,34,44,72,49,9 H,530317,8,800,4,16,1015675,117,2,1,2,1,5,3,2,,110,0,2,60,1,610,1,,1,390,1,1,1,9,,,,1,1,,17,2,470,9,4,69400,4,,,1,1,69400,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,599,3,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,135,146,137,196,163,31,195,133,122,35,32,32,112,109,220,38,106,174,31,230,218,38,32,130,114,122,111,170,39,143,149,120,168,27,134,140,177,120,105,113,118,106,122,35,34,209,29,119,113,209,196,192,113,111,32,168,122,42,211,40,42,186,199,126,128,106,116,40,162,116,152,114,39,206,113,120,33,134,109 H,530377,8,700,4,16,1015675,95,2,1,2,1,4,2,2,,100,0,2,200,1,1200,1,,1,1100,1,1,1,6,,,500,1,1,,22,2,2,3,2,58000,4,,,1,1,58000,0,4,4,4,1,5,0,2,0,0,0,39,0,0,0,0,0,2,1900,2,0,1,57,2,4,3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1,0,0,31,29,28,97,91,94,95,91,156,162,168,93,30,100,154,96,106,163,95,32,27,27,29,97,83,103,97,97,157,158,171,104,28,98,179,100,98,156,98,32,29,29,28,101,98,94,97,96,169,184,156,106,27,86,164,86,89,157,95,27,28,32,25,102,95,90,97,98,169,176,167,92,28,106,159,101,96,177,90,28 H,530393,8,300,4,16,1015675,65,1,1,1,,2,1,2,,40,0,2,3,3,130,1,2900,,,,3,1,4,,,,1,2,,2,1,10,5,,,,,,2,6,31200,0,4,4,4,1,4,0,,0,0,0,12,0,0,0,0,0,1,305,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,113,63,75,134,75,99,20,18,98,55,60,105,70,18,54,22,18,105,74,70,18,81,63,21,71,16,107,104,73,53,64,21,73,124,62,98,112,18,63,65,123,60,79,120,62,126,21,19,59,60,62,119,55,16,71,18,18,125,83,66,16,69,55,25,64,21,110,102,65,64,57,21,57,115,71,112,120,22,70 H,530543,8,900,4,16,1015675,114,4,1,1,,5,2,2,,50,0,2,60,1,1000,1,,2,390,2,1,1,9,,,,1,1,,16,5,900,5,1,116100,2,,,1,1,116100,0,2,4,2,1,6,0,4,0,0,1,8,0,0,1,0,0,2,813,3,0,1,30,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,99,159,96,213,102,95,177,117,35,195,197,27,119,178,37,112,50,130,194,149,131,39,91,40,183,109,28,105,166,28,35,198,94,103,222,148,173,129,170,144,105,31,96,35,144,127,44,176,143,31,37,177,134,127,211,107,150,135,36,100,124,192,91,201,120,136,149,113,35,160,192,36,129,93,36,88,34,133,25 H,530929,8,300,4,16,1015675,131,6,1,2,1,5,2,2,,60,0,2,110,1,410,1,,2,660,2,1,1,9,,,200,1,1,,19,2,2,3,2,61900,3,,,1,1,61900,0,3,3,3,1,4,4,6,0,0,4,25,0,0,1,0,0,1,1294,2,0,1,39,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,52,147,35,146,129,39,117,36,286,309,110,153,120,37,140,180,112,198,238,126,212,116,215,160,110,242,130,180,64,53,102,117,141,215,105,34,123,41,50,168,267,164,180,114,119,197,133,316,62,36,149,134,83,208,171,31,115,41,39,153,55,139,28,94,119,46,127,37,254,266,163,120,120,34,121,186,90,205,232,145 H,530965,8,600,4,16,1015675,110,4,1,1,,3,2,2,,80,0,2,30,1,250,1,,2,240,2,1,1,5,,,,1,1,,19,2,700,4,1,76000,2,,,1,1,76000,0,3,3,3,1,5,2,4,0,0,2,10,0,0,1,0,0,1,654,3,0,1,39,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,30,35,116,108,189,108,110,112,117,176,110,107,33,33,186,170,32,109,106,189,32,29,106,113,179,115,105,118,109,189,114,111,34,31,182,189,36,108,104,32,202,184,105,114,34,106,103,116,112,31,123,102,183,174,31,34,183,132,110,30,168,178,107,109,32,111,108,113,105,34,118,114,178,199,30,28,197,104,112 H,530972,8,100,4,16,1015675,69,2,1,1,,3,2,2,,140,0,2,2,1,600,1,,1,600,1,1,1,5,,,,1,1,,16,2,660,3,1,34700,4,,,1,1,34700,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,2,795,3,0,1,15,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,143,64,118,67,62,135,80,18,90,133,22,87,60,20,85,20,68,67,71,14,115,106,114,78,74,110,80,18,118,116,22,59,63,25,70,20,57,58,54,107,22,116,15,60,70,17,85,138,33,24,112,59,54,108,58,122,61,39,65,118,16,69,23,81,66,17,82,112,17,22,129,81,57,123,79,176,79,56,67,22 H,531022,8,900,4,16,1015675,108,3,1,1,,4,2,2,,60,0,2,90,1,400,1,,1,1300,1,1,1,7,,,,1,1,,16,2,900,3,2,72400,1,,,1,1,72400,0,1,1,1,1,3,1,3,0,0,1,25,0,0,1,0,0,1,1525,3,0,1,32,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,34,111,110,167,159,32,30,203,107,32,199,165,97,117,31,108,106,99,101,107,47,113,101,246,205,28,34,200,98,31,144,178,126,97,33,95,101,94,98,108,163,101,146,36,32,181,207,28,128,165,36,33,127,118,195,125,97,105,120,110,190,96,110,30,28,170,152,31,84,165,33,27,91,104,204,97,121,114,115 H,531033,8,100,4,16,1015675,32,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,4,2,480,,1,3,,,2,540,4,,,,585,48,1,5,14700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,22,38,30,8,48,30,71,24,49,60,35,47,8,9,42,28,51,33,58,8,30,35,38,8,26,23,66,8,60,69,34,27,8,14,81,46,22,24,51,10,37,24,29,10,26,34,45,7,68,46,42,38,10,10,58,42,24,27,57,12,29,51,30,12,51,29,49,12,59,57,32,39,9,7,55,25,45,34,52,9 H,531134,8,600,4,16,1015675,70,2,1,1,,4,2,2,,50,0,2,90,1,290,1,,2,650,2,1,1,7,,,,1,1,,20,3,610,6,4,94200,4,,,1,1,94200,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,1,1015,3,0,1,30,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,107,65,69,71,18,126,74,75,20,68,20,23,125,126,69,59,69,74,22,121,19,81,69,65,116,23,72,75,121,70,106,121,20,20,67,73,74,70,22,133,20,64,75,64,125,22,67,76,118,63,106,122,24,22,68,72,69,72,116,22,113,64,68,61,20,122,66,78,19,72,20,22,145,129,76,57,70,76,119 H,531156,8,300,4,16,1015675,63,0,1,,,1,4,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,91,53,19,71,131,69,59,107,69,14,20,23,55,51,68,72,58,99,99,88,21,63,144,56,17,71,63,19,58,109,77,87,53,54,75,74,58,15,22,96,18,62,117,61,19,67,79,20,58,96,102,122,59,49,60,62,59,18,19,20,107,61,18,54,110,65,62,96,46,20,17,18,65,72,79,59,56,101,110,18 H,531304,8,700,4,16,1015675,69,3,1,1,,3,2,2,,50,0,600,40,6,900,1,,1,1100,1,1,1,6,,,,1,1,,19,2,200,2,1,51900,2,,,4,1,51900,0,2,2,2,1,4,1,3,0,0,1,29,0,0,1,0,0,1,1257,3,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,69,117,76,118,20,72,118,122,76,64,74,69,69,21,67,112,19,69,20,20,67,115,71,110,22,70,119,119,72,73,69,74,71,18,65,117,22,68,112,124,73,20,67,21,117,68,18,19,74,65,71,71,68,113,68,21,114,73,120,120,69,19,68,19,110,74,20,20,66,68,72,75,67,120,65,20,133,67,18 H,531505,8,100,4,16,1015675,62,2,1,1,,2,2,2,,190,0,2,2,1,560,1,,,,,3,1,5,,,,1,2,,19,2,650,8,4,35100,4,,,1,1,35100,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,2,2,433,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,72,71,95,76,21,20,17,67,57,58,69,63,128,113,102,64,23,69,99,17,56,66,19,57,89,98,98,58,53,61,63,58,18,19,20,71,101,67,89,23,61,63,20,61,109,83,96,58,58,70,69,54,20,20,15,53,101,61,19,116,71,63,103,59,18,19,21,69,68,84,67,51,98,111,102,61,17,56,19 H,531698,8,800,4,16,1015675,81,3,1,1,,3,2,2,,80,0,2,3,3,0,1,,1,900,1,1,1,5,,,,1,1,,19,2,140,5,1,63000,2,,,4,1,63000,0,1,1,1,1,4,1,3,0,0,1,19,0,0,1,0,0,2,992,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,25,129,90,25,132,120,73,111,22,66,89,89,72,22,83,112,151,135,101,24,24,125,81,23,142,158,104,85,28,79,77,88,70,23,75,70,140,134,93,28,27,110,71,25,122,133,92,100,28,79,71,82,89,22,74,98,121,126,72,22,24,152,94,22,133,158,66,80,28,85,79,76,77,20,110,108,151,137,71 H,531927,8,700,4,16,1015675,126,4,1,1,,3,2,2,,70,1200,2,40,1,380,1,,1,1200,1,1,1,5,,,,1,1,,16,2,290,5,2,28400,3,,,2,1,28400,0,1,1,1,1,2,2,4,0,0,2,56,0,0,1,0,0,1,1334,3,0,1,19,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,125,163,48,117,152,172,150,34,37,178,123,46,192,182,101,122,50,125,118,92,119,188,225,132,159,38,40,192,224,43,139,180,34,45,151,138,178,131,141,182,118,163,54,108,137,167,178,46,42,198,116,56,248,160,103,94,28,109,143,159,124,137,211,103,112,39,40,277,215,36,136,269,40,35,117,136,202,102,121 H,532018,8,400,4,16,1015675,180,2,1,1,,2,2,2,,110,0,2,3,3,350,1,,2,160,2,2,1,4,,,,1,1,,12,1,770,4,4,18100,4,,,1,1,18100,0,4,4,4,1,5,0,2,0,0,0,29,0,0,0,2,2,1,430,3,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,184,203,375,318,63,75,327,173,52,279,309,153,129,48,217,169,157,146,43,183,150,188,314,217,52,71,247,170,67,339,288,172,227,56,163,175,192,209,52,160,180,209,50,42,244,311,59,159,316,47,53,193,233,294,151,199,278,214,228,228,166,240,58,56,334,274,52,183,227,49,60,182,152,289,225,174,166,184,277,194 H,532316,8,800,4,16,1015675,128,0,1,,,1,5,,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,32,113,205,130,34,124,125,50,129,250,175,201,153,158,127,120,126,39,206,52,38,130,246,134,42,152,155,38,125,191,173,215,133,143,121,108,131,35,213,33,43,126,194,124,44,148,101,48,127,174,203,194,107,137,144,125,111,57,190,51,49,151,242,119,55,173,166,35,103,228,211,194,130,115,127,128,113,33,221 H,533091,8,300,4,16,1015675,127,4,1,1,,4,2,2,,190,0,2,110,2,500,1,,2,680,2,1,1,6,,,,1,1,,13,2,250,5,1,99204,3,,,1,1,99204,0,3,3,3,1,5,2,4,0,0,2,13,0,0,1,0,0,2,1114,3,0,1,18,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,40,139,132,62,120,166,204,226,266,106,109,127,113,45,39,43,133,173,185,135,37,113,116,47,104,152,234,200,222,179,136,139,98,29,56,61,130,204,194,125,35,100,116,52,115,160,217,226,226,144,124,179,125,30,46,41,123,198,252,101,38,133,138,50,107,137,264,250,148,120,98,116,145,39,46,47,124,159,176 H,533296,8,300,4,16,1015675,69,6,1,2,1,3,2,2,,130,0,2,3,3,340,1,,2,510,2,1,1,6,,,390,1,1,,12,4,310,5,4,70400,3,,,2,1,70400,1,1,4,1,1,6,0,6,1,0,2,20,0,1,1,2,2,1,1145,4,0,1,16,2,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,69,127,59,107,23,57,111,102,60,66,52,62,61,18,83,128,23,69,117,131,72,19,73,17,137,62,22,24,73,77,74,67,70,92,58,19,127,68,86,119,69,23,76,15,116,64,22,18,59,75,72,62,64,90,71,24,130,74,14,22,69,129,73,109,20,73,143,94,55,66,81,73,60,18,73,130,18,69,21 H,533502,8,100,4,16,1015675,95,1,1,1,,3,2,2,,190,0,2,2,1,300,1,,1,820,1,1,1,9,,,230,1,1,,20,2,650,4,,,,,,1,6,49100,0,4,4,4,1,1,0,,0,0,0,32,0,0,0,0,0,1,1294,2,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,28,191,77,145,90,82,182,96,150,29,33,103,113,88,135,95,34,105,27,106,169,31,82,21,84,100,20,101,35,134,193,106,99,90,29,88,126,104,123,73,151,27,95,25,104,110,32,120,37,145,156,104,90,102,28,85,146,90,185,97,27,139,106,164,107,78,145,95,155,28,32,102,85,83,173,106,33,91,28,126 H,533653,8,300,4,16,1015675,160,3,1,1,,4,2,2,,50,0,2,40,1,,1,,,,,,1,9,,,,1,4,,,2,300,2,2,44400,1,,,1,1,44400,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,149,274,144,247,174,64,279,54,60,237,117,225,180,178,405,165,238,42,122,36,152,228,144,357,158,62,308,52,59,240,128,205,172,200,362,139,215,51,187,284,161,150,183,38,183,318,168,290,208,79,265,47,175,190,36,161,64,250,143,376,186,131,149,47,199,291,137,298,204,45,184,80,176,151,37,149,64,207,160 H,533904,8,900,4,16,1015675,48,2,1,2,1,4,2,2,,50,0,2,100,1,1000,1,,,,,3,1,9,,,,1,2,,14,4,360,7,4,38400,4,,,1,1,38400,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,2,305,,0,1,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,45,19,46,48,92,75,15,17,76,52,13,67,71,38,48,13,41,58,50,46,46,17,44,43,72,78,18,18,76,50,12,69,92,43,43,17,54,48,46,75,42,15,58,43,83,90,14,15,86,54,13,75,64,37,52,10,34,56,46,58,47,13,48,40,70,106,21,15,90,47,13,84,93,39,41,14,56,50,45,55 H,534128,8,900,4,16,1015675,43,3,1,1,,3,3,2,,40,0,2,50,1,1200,1,,2,380,2,1,1,6,,,,1,1,,10,4,2,4,1,70000,1,,,1,1,70000,0,1,1,1,1,3,1,3,0,0,1,10,0,0,1,0,0,1,612,3,0,1,12,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,42,32,70,40,10,15,13,29,51,47,46,42,73,75,63,44,17,60,13,97,49,38,67,45,11,11,13,46,63,61,57,37,66,85,60,32,11,44,79,14,35,38,14,43,69,99,64,28,44,37,51,52,15,15,11,57,122,61,60,13,34,44,17,51,63,60,71,45,38,45,51,50,12,10,10,43,78,49,17 H,534214,8,400,4,16,1015675,13,2,1,1,,2,2,2,,60,0,140,3,8,500,1,,1,580,1,1,1,4,,,,1,1,,12,1,580,5,1,178000,4,,,1,1,178000,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,0,0,2,700,3,0,1,19,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,20,14,19,13,10,12,5,4,3,13,25,15,3,10,14,3,13,19,24,22,24,13,12,11,14,19,5,4,5,15,22,13,5,16,12,3,13,21,24,18,24,15,13,15,12,10,5,5,5,15,26,13,3,14,14,5,15,18,31,23,24,15,11,12,15,15,5,4,4,15,20,13,5,15,10,4,10,18,28 H,534291,8,200,4,16,1015675,29,2,1,2,1,3,2,2,,70,0,2,3,4,350,1,,,,,3,1,6,,,,1,2,,19,3,720,3,1,80900,4,,,1,1,80900,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,0,0,2,359,,0,1,36,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,7,48,32,7,7,29,32,23,26,18,60,22,8,73,27,57,39,15,6,20,64,14,17,50,61,21,29,42,41,47,10,26,46,9,28,5,25,38,38,23,7,52,30,9,11,36,28,29,25,30,47,34,8,40,32,45,32,8,10,35,53,8,31,47,41,30,30,28,28,29,10,26,36,11,33,9,29,49,33 H,534650,8,300,4,16,1015675,91,6,1,1,,3,2,2,,40,0,2,100,2,0,1,,,,,3,1,5,,,,1,2,,17,2,2,3,2,32200,2,,,1,1,32200,0,3,3,3,1,5,4,6,0,0,4,9,0,0,1,0,0,2,232,,0,1,23,3,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,121,97,56,107,41,31,33,96,130,82,29,84,98,32,75,146,122,112,27,109,113,83,124,94,116,130,143,86,32,98,139,82,84,167,121,35,27,23,107,91,109,112,84,82,24,34,30,78,151,87,28,87,115,33,99,151,125,127,26,102,134,80,77,89,136,112,161,99,30,99,133,85,85,137,89,28,30,27,131 H,534848,8,600,4,16,1015675,69,2,1,,,2,5,,,120,880,2,3,3,,1,,,,,,1,4,2,580,,2,3,,,1,1,6,7,11000,1,700,76,1,3,11000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,126,73,114,22,20,66,65,69,121,72,20,73,22,22,101,64,121,62,70,77,20,72,22,114,109,72,71,70,18,73,121,79,121,105,21,72,18,60,67,74,20,62,22,135,112,67,69,67,20,74,122,64,106,126,22,63,21,69,61,68,110,79,108,20,22,67,68,66,120,65,20,70,22,22,125,66,108,74,63,65 H,535068,8,800,4,16,1015675,61,1,1,1,,2,2,2,,30,0,2,30,1,400,1,,2,310,2,1,1,4,,,,1,1,,10,0,360,8,,,,,,1,6,10800,0,4,4,4,1,4,0,,0,0,0,48,0,0,0,1,1,1,436,3,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,50,60,21,49,17,67,51,26,75,105,15,15,145,80,59,111,57,109,117,56,67,82,22,60,17,70,62,18,59,79,17,17,80,69,66,85,56,105,121,65,65,63,20,73,19,60,62,19,67,83,21,18,108,65,53,112,63,116,118,62,66,53,17,48,17,71,61,21,66,109,21,14,93,57,51,109,71,91,95 H,535084,8,100,4,16,1015675,61,2,1,1,,3,2,2,,10,0,450,3,3,,1,,,,,,1,6,2,450,,1,3,,,2,1,8,2,23800,4,498,25,1,1,23800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,76,100,99,21,19,100,79,18,103,95,47,54,15,52,58,62,61,17,68,61,77,19,20,95,102,25,60,86,17,19,39,51,104,60,78,58,51,76,62,59,51,17,16,112,106,16,59,118,19,16,50,78,95,47,51,60,62,95,47,70,55,99,151,26,22,92,56,17,87,93,63,66,19,63,56,68,59,15,55 H,535105,8,700,4,16,1015675,97,3,1,3,1,3,2,2,,150,0,2,3,3,500,1,,1,1500,1,1,1,5,,,,1,1,,20,3,2,2,3,47800,2,,,1,1,47800,0,2,2,2,1,4,1,3,0,0,1,41,0,0,1,1,1,1,1650,3,0,0,25,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,28,166,84,163,174,102,158,29,100,91,92,24,103,190,103,33,26,98,109,93,27,169,97,162,161,88,170,28,87,99,94,30,98,147,103,32,28,88,100,112,30,160,95,161,163,92,188,31,98,97,99,26,88,175,99,30,29,94,98,87,28,153,91,146,163,106,169,27,88,94,100,29,95,168,101,33,31,103 H,535179,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,535353,8,100,4,16,1015675,78,2,1,1,,3,2,2,,40,0,2,20,1,500,1,,1,1100,1,1,1,9,,,,1,1,,21,2,350,2,3,100900,4,,,1,1,100900,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,0,0,1,1189,3,0,1,42,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,73,69,20,91,147,71,135,139,24,74,27,78,103,26,78,23,116,149,81,78,73,70,20,85,144,79,118,134,22,76,27,82,86,22,74,24,117,148,93,76,82,69,129,77,25,68,26,25,141,82,114,76,80,112,84,111,24,23,84,84,78,74,125,75,23,67,27,24,148,79,137,78,83,135,84,118,22,23,78 H,535456,8,900,4,16,1015675,18,7,1,2,1,4,2,2,,90,0,2,40,1,450,1,,2,470,2,1,1,9,,,550,1,1,,15,5,500,5,1,110800,2,,,1,1,110800,0,2,2,2,1,5,2,7,0,0,2,14,0,1,1,0,0,1,1336,1,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,36,7,6,40,23,5,34,29,23,18,6,20,17,20,16,5,24,18,25,35,31,5,7,31,17,5,37,34,17,21,5,18,15,18,25,7,22,18,23,28,40,7,5,40,21,6,35,32,20,19,7,18,20,17,23,5,16,22,27,31,35,7,4,33,16,7,36,33,17,21,6,24,21,21,20,4,18,17,20 H,535467,8,400,4,16,1015675,74,2,1,3,4,4,2,2,,120,0,2,3,8,4800,1,,,,,3,1,7,,,,1,2,,22,2,2,8,7,48100,4,,,1,3,48100,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,1,1,2,870,,0,0,54,1,13,13,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,71,99,74,58,66,30,24,87,25,111,22,123,75,108,127,76,87,81,71,70,128,92,20,112,170,80,62,24,84,78,69,64,25,67,63,130,149,24,20,72,168,76,26,173,108,64,84,22,81,71,66,71,27,109,72,127,128,20,24,23,80,90,72,111,62,18,22,65,24,129,24,131,72,100,125,68,57,69,87,18 H,536087,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,536260,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,536350,8,300,4,16,1015675,88,1,1,1,,2,3,2,50,130,0,2,60,3,410,1,,2,400,2,1,1,4,,,,1,1,,14,1,270,6,,,,,,1,6,41000,0,4,4,4,1,4,0,,0,0,0,23,0,0,0,1,1,1,769,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,86,127,88,87,20,130,28,26,94,127,151,147,25,75,98,111,27,88,30,86,93,28,90,89,149,25,153,148,77,77,23,26,186,104,92,92,148,86,142,94,77,145,85,95,24,184,28,22,94,111,136,162,27,84,80,83,23,77,29,88,84,24,86,89,134,25,181,146,94,89,22,27,156,103,99,96,134,83,127 H,536453,8,200,4,16,1015675,24,5,1,1,,3,2,2,,100,0,2,3,1,400,1,,1,980,1,1,1,6,,,,1,1,,15,1,80,9,2,48000,3,,,4,1,48000,0,3,3,3,1,1,3,5,0,0,3,27,0,0,1,0,0,1,1087,3,0,1,22,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,22,6,26,9,24,21,24,22,7,7,31,26,6,22,22,11,9,10,25,24,48,37,26,22,41,27,45,57,31,35,48,42,27,44,41,17,24,23,5,7,26,8,31,7,33,25,19,24,9,8,26,29,7,17,30,5,10,8,23,25,41,19,42,29,32,42,42,38,28,20,66,43,21,52,36,27,28,26,6 H,536721,8,900,4,16,1015675,21,1,1,1,,3,2,2,,20,0,2,60,1,400,1,,,,,3,1,5,,,,1,2,,9,1,640,9,,,,,,1,6,10000,0,4,4,4,1,5,0,,0,0,0,25,0,0,0,1,0,2,208,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,24,25,23,20,6,19,21,37,34,7,6,39,21,5,35,36,21,20,22,33,20,25,25,24,35,22,32,7,7,33,37,7,21,34,6,7,21,22,23,7,32,21,22,18,5,22,23,40,41,8,6,35,22,7,45,33,18,19,27,40,22,23,20,18,32,25,22,4,5,36,35,5,15,32,7,5,22,25,17 H,536988,8,100,4,16,1015675,17,4,1,1,,5,2,2,,80,0,2,200,1,500,1,,1,950,1,1,1,9,,,,1,1,,16,5,240,7,1,81000,2,,,1,1,81000,0,2,2,2,1,7,1,4,0,0,1,19,0,0,1,0,0,2,1250,3,0,1,24,3,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,17,33,15,5,17,13,7,17,32,27,29,13,16,24,17,18,5,7,27,29,17,5,17,23,17,18,28,17,5,4,5,15,18,15,17,20,24,26,4,7,14,31,17,3,15,19,5,15,30,29,25,13,17,22,17,18,5,7,41,35,22,5,17,23,12,18,29,17,5,5,4,15,23,18,18,14,25,26 H,537286,8,500,4,16,1015675,460,4,1,,,1,5,,,80,0,2,3,3,,1,,,,,,1,3,2,270,,1,3,,,1,1,4,1,17000,1,350,25,2,1,17000,0,1,1,1,2,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,769,449,145,184,442,424,494,369,401,732,492,143,738,507,793,474,140,556,173,649,845,432,136,128,520,413,470,532,501,698,423,162,694,457,765,366,141,465,188,190,154,463,799,866,418,561,436,422,460,152,474,708,129,420,138,541,739,477,646,128,162,516,752,573,437,459,408,411,493,140,481,730,174,443,152,466,747,464,693,673 H,537538,8,900,4,16,1015675,58,1,1,,,1,8,,,50,0,2,3,3,,1,,,,,,1,3,2,240,,1,3,,,0,1,5,,,,290,24,1,6,14400,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,58,68,18,17,16,16,77,16,50,16,58,59,51,45,21,22,55,69,66,64,127,110,47,60,58,48,104,62,106,63,95,127,97,86,55,55,109,100,58,111,60,56,97,112,102,122,60,98,60,104,61,50,53,57,96,110,57,64,60,52,24,21,58,66,71,46,19,57,27,63,13,18,17,17,59,46,19,18,11 H,537842,8,700,4,16,1015675,110,5,1,1,,4,2,2,,40,0,200,130,1,200,1,,2,1100,1,1,1,6,,,180,1,1,,18,2,280,2,1,53200,3,,,1,1,53200,0,3,3,3,1,3,3,5,0,0,3,34,0,0,1,0,0,1,1507,1,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,33,117,202,181,195,114,101,107,112,102,31,35,32,110,181,114,35,112,177,119,30,104,195,191,199,114,105,118,111,114,32,33,33,105,176,112,33,111,186,118,35,109,200,187,186,103,109,122,117,106,34,32,33,99,179,123,35,122,173,118,29,112,171,196,191,110,113,111,108,108,35,33,32,110,170,118,32,111,169 H,537967,8,300,4,16,1015675,83,3,1,3,6,3,2,2,,100,0,2,3,3,500,1,,1,580,1,1,1,9,,,,1,1,,18,3,2,5,1,102400,4,,,1,1,102400,0,4,4,4,1,5,0,3,0,0,0,8,0,0,0,0,0,1,680,3,0,0,23,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,113,19,65,152,73,83,164,97,18,23,21,67,95,79,77,77,128,163,35,167,74,24,103,157,81,90,134,88,36,25,29,104,81,71,70,74,112,106,165,27,90,179,79,27,80,75,24,72,128,151,183,96,89,69,79,90,23,28,127,17,98,166,88,27,85,93,30,65,100,135,103,77,99,75,110,89,25,23,36 H,538437,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,538522,8,600,4,16,1015675,114,2,1,1,,2,1,2,,100,0,300,3,3,240,1,50,,,,3,1,5,,,,1,2,,10,2,800,4,,,,,,1,7,16000,0,4,4,4,1,3,0,,0,1,0,20,3,0,0,1,1,1,270,,0,0,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,112,192,37,31,189,129,101,200,110,191,105,122,109,31,109,37,111,115,30,216,116,32,209,210,40,133,107,35,121,33,106,112,107,199,108,216,117,110,206,33,114,201,38,30,192,106,127,212,123,188,113,109,124,30,120,34,120,118,30,196,107,33,162,211,33,106,112,35,117,32,118,112,122,218,108,210,105,129,182 H,538531,8,700,4,16,1015675,82,6,1,1,,5,2,2,,70,0,2,170,1,450,1,,1,1900,1,1,1,9,,,,1,1,,20,4,540,1,2,116160,3,,,2,1,116160,0,3,3,3,1,1,4,6,0,0,4,23,0,0,1,0,0,1,2185,3,0,1,40,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,75,140,83,139,23,85,140,145,87,91,86,80,82,26,81,135,25,84,125,127,74,24,77,23,132,79,25,27,87,84,78,77,86,167,84,22,164,82,134,153,93,25,86,26,138,88,24,22,83,72,85,93,74,116,76,23,130,85,27,25,90,149,87,139,23,87,141,128,76,78,82,91,82,21,73,145,24,73,22 H,538739,8,900,4,16,1015675,98,4,1,3,1,3,2,2,,180,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,14,3,2,6,5,18000,1,,,1,2,44000,0,3,1,1,1,6,1,2,0,1,1,5,2,0,1,0,0,2,180,,0,0,1,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,123,23,30,95,96,82,68,85,153,73,28,148,148,198,94,32,88,30,58,27,99,146,160,96,130,96,79,89,24,134,151,31,138,30,98,122,126,193,119,175,89,33,30,100,104,105,112,94,157,117,43,194,96,161,95,23,129,35,26,35,81,144,161,90,124,112,65,80,28,116,192,28,84,37,79,126,83,135,138 H,538817,8,100,4,16,1015675,59,2,1,1,,3,2,2,,130,0,2,3,6,500,1,,1,340,1,1,1,6,,,,1,1,,22,3,750,9,1,38600,4,,,1,1,38600,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,1,1,2,533,3,0,1,37,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,55,19,59,17,19,98,106,56,55,58,62,17,91,62,64,55,15,100,60,117,52,17,65,17,17,86,93,62,58,54,58,17,90,65,61,62,22,87,60,87,59,19,66,18,19,102,94,58,56,63,59,18,89,61,58,46,17,108,58,99,59,17,61,18,18,106,92,60,59,54,65,18,77,54,57,54,18,104,54,91 H,538901,8,100,4,16,1015675,128,2,1,1,,3,2,2,,150,0,2,20,3,170,1,,1,1100,1,1,1,8,,,,1,1,,16,2,560,4,4,40000,4,,,1,1,40000,0,4,4,4,1,4,0,2,0,0,0,40,0,0,0,2,2,1,1317,3,0,1,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,36,37,150,177,119,217,162,39,139,38,37,195,139,233,116,157,189,111,125,35,227,188,133,132,141,43,125,193,137,198,222,39,106,45,120,115,37,118,142,206,40,36,155,145,113,200,128,40,134,33,44,214,103,219,111,125,200,128,149,45,233,204,140,138,128,36,135,205,119,197,197,45,137,41,124,139,39,123,150 H,539055,8,500,4,16,1015675,51,4,1,1,,2,2,2,,70,0,400,3,6,200,1,,2,380,2,1,1,5,,,,1,1,,9,1,180,9,2,17600,2,,,2,1,17600,0,2,2,2,1,4,1,4,0,0,1,37,0,0,1,0,0,2,548,3,0,1,10,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,13,14,12,92,56,41,14,82,54,72,104,45,48,85,58,52,53,109,61,16,21,16,20,75,52,52,18,66,47,65,65,51,44,86,41,53,77,89,43,102,71,89,66,17,43,55,97,12,56,69,15,51,34,16,61,56,90,23,69,75,101,88,85,13,70,43,66,15,48,74,13,51,51,15,41,50,57,14,61 H,539130,8,400,4,16,1015675,154,6,1,1,,3,2,2,,100,0,2,3,3,600,1,,1,550,1,1,1,7,,,,1,1,,16,3,2400,4,2,65000,3,,,2,1,65000,0,3,3,3,2,3,3,6,0,0,3,16,0,0,1,0,0,2,850,3,0,1,18,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,145,135,54,62,221,256,42,128,277,45,44,141,194,351,162,99,199,201,142,268,208,163,43,58,210,222,64,155,234,51,46,119,146,268,188,174,150,157,145,250,149,145,49,47,328,288,40,135,263,47,36,136,168,240,146,116,165,188,251,241,158,160,56,55,274,242,66,198,212,44,49,153,148,192,137,144,134,149,139 H,539182,8,800,4,16,1015675,75,1,1,1,,2,2,2,,30,350,2,70,1,300,1,,1,300,1,1,1,5,,,380,1,1,,10,0,540,6,,,,,,1,4,10100,0,4,4,4,1,3,0,,0,0,0,98,0,0,0,0,0,2,825,2,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,58,74,129,118,21,21,92,78,22,164,109,105,79,33,84,59,71,75,22,71,69,73,24,25,113,114,22,65,140,26,27,77,76,124,63,85,76,60,105,72,67,75,134,127,20,19,113,63,27,137,119,105,60,25,97,66,66,85,31,66,86,74,24,25,123,131,20,74,98,19,38,69,71,114,60,70,70,83,119,80 H,539548,8,200,4,16,1015675,49,3,1,3,1,4,2,2,,410,0,2,3,3,800,1,,1,930,1,1,1,9,,,,1,1,,17,4,2,4,3,54800,4,,,1,1,54800,0,4,4,4,1,6,0,3,0,0,0,29,0,0,0,0,0,1,1340,3,0,0,24,3,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,71,46,20,49,63,15,56,73,82,71,47,46,55,51,44,14,12,12,11,65,17,66,94,45,39,81,62,17,14,14,61,47,35,44,48,76,75,91,76,55,75,43,12,45,69,17,57,60,82,82,46,54,70,51,44,17,12,11,11,67,21,67,80,63,42,82,57,15,12,13,47,50,41,36,41,88,77,96,85 H,540170,8,900,4,16,1015675,129,3,1,1,,3,1,2,,50,0,2,150,2,800,1,0,,,,3,1,6,,,,1,2,,4,3,150,5,5,49800,2,,,1,2,49800,0,2,2,2,1,4,1,3,0,0,1,7,0,0,1,0,0,2,289,,0,0,4,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,38,170,135,52,201,181,111,125,42,130,138,145,141,42,167,138,251,231,112,185,181,49,111,261,45,41,121,128,232,167,156,111,154,174,129,132,27,56,126,42,36,189,142,39,212,212,133,111,44,120,138,125,117,46,127,102,233,239,138,174,180,40,135,201,42,53,123,142,237,143,134,116,128,256,145,132,39,37,107 H,541008,8,200,4,16,1015675,123,2,1,,,1,8,,,80,0,2,3,3,,1,,,,,,1,3,2,380,,1,3,,,2,1,9,1,448000,4,460,1,1,1,448000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,98,120,219,115,112,200,179,201,229,137,241,122,250,177,104,104,116,220,34,25,97,105,32,122,93,32,30,42,72,134,54,121,40,168,101,133,164,51,160,198,128,125,195,151,128,205,251,228,224,124,234,92,182,139,115,132,130,215,25,27,145,96,33,122,101,41,31,49,66,105,36,91,29,165,185,114,131,45,131 H,541175,8,100,4,16,1015675,39,1,1,1,,2,1,2,,170,0,2,170,1,210,2,2400,,,,3,2,6,,,,2,2,,3,1,2,5,,,,,,1,6,12200,0,4,4,4,1,6,0,,0,0,0,55,0,0,0,1,1,2,558,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,10,36,42,12,38,57,59,88,44,48,37,43,34,10,15,12,42,64,68,46,10,34,36,14,46,68,68,71,35,33,41,30,31,12,11,14,34,56,64,38,10,34,40,12,46,63,56,57,39,49,41,42,35,10,14,12,39,74,59,60,13,45,41,8,35,65,63,64,43,50,37,30,33,12,13,13,29,58,65 H,541903,8,700,4,16,1015675,80,1,1,,,2,4,,,60,0,2,3,3,,1,,,,,,1,5,2,650,,1,3,,,1,30,5,,,,713,45,1,6,18900,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,23,79,78,79,157,87,86,24,134,23,25,76,76,151,130,21,85,79,81,146,87,22,27,24,76,139,25,85,89,88,75,127,145,78,71,81,149,27,123,78,28,82,78,74,139,81,71,24,153,23,23,85,78,114,122,27,74,85,88,140,77,24,22,24,80,163,26,90,81,81,79,149,161,78,87,76,135,26,137 H,542170,8,100,4,16,1015675,71,2,1,1,,2,1,2,,70,0,2,3,3,250,1,3000,,,,3,1,4,,,,1,2,,4,1,1,5,4,14340,4,,,1,1,14340,0,4,4,4,1,2,0,2,0,0,0,29,0,0,0,2,2,1,345,,0,0,2,0,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,65,119,22,65,72,70,120,19,69,65,111,76,128,137,20,20,74,83,78,21,68,117,26,87,62,64,115,19,59,73,105,74,114,121,22,19,67,81,89,126,76,20,122,83,65,72,20,107,60,63,22,73,22,20,135,128,62,64,62,128,82,20,113,66,73,67,20,139,71,78,26,71,19,19,123,126,66,64,71,21 H,542626,8,300,4,16,1015675,65,2,1,2,1,5,2,2,,60,0,2,70,1,670,1,,2,750,2,1,1,9,,,,1,1,,22,2,2,2,2,110000,4,,,1,1,110000,0,4,4,4,1,3,0,2,0,0,0,13,0,0,0,0,0,1,1219,3,0,1,46,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,75,106,115,19,19,111,67,16,107,92,68,57,19,80,75,68,61,16,62,64,50,20,21,98,130,18,60,97,18,19,77,58,101,70,75,61,62,89,75,51,66,97,106,18,19,108,53,20,117,96,64,56,18,71,64,63,61,19,75,53,59,19,21,126,95,19,50,111,22,20,64,57,110,74,71,65,72,114,61 H,542669,8,900,4,16,1015675,231,4,1,1,,3,2,2,,20,3200,600,10,4,,1,,,,,,1,5,2,450,,1,3,,,1,530,2,5,4970,2,574,101,1,2,4970,0,2,2,2,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,260,289,195,82,172,189,104,247,340,343,351,237,229,244,281,243,77,76,83,99,249,96,281,342,234,234,270,223,112,102,71,290,289,224,209,153,292,333,303,238,247,306,168,74,279,224,102,244,342,309,255,206,240,271,252,269,105,86,95,58,209,124,285,344,312,259,335,284,78,82,77,215,209,208,195,200,308,422,384,355 H,542793,8,400,4,16,1015675,63,3,1,1,,4,2,1,,170,0,2,3,3,950,1,,1,1000,1,1,1,9,,,,1,1,,16,3,600,5,1,49600,4,,,4,1,57400,0,4,4,4,1,4,0,2,0,1,0,26,0,0,0,1,0,2,1220,3,0,0,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,118,115,88,86,70,101,65,77,72,21,18,21,40,78,74,18,54,86,38,20,90,29,20,18,53,65,53,64,82,84,90,85,44,21,64,87,59,65,103,142,53,90,88,121,60,43,59,58,51,19,18,23,93,120,74,20,71,69,16,36,71,15,17,17,70,65,54,52,57,88,94,133,90,20,59,92,58,65,102,64 H,542825,8,300,4,16,1015675,118,1,1,,,2,5,,,120,50,2,3,3,,1,,,,,,1,4,2,370,,1,3,,,1,1,5,,,,490,81,1,6,7250,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,108,145,189,133,36,34,33,87,113,90,124,112,161,222,235,110,35,137,50,168,149,148,162,144,41,33,41,111,95,150,157,146,185,186,216,75,23,96,240,32,131,131,30,144,210,146,184,124,125,98,133,151,31,31,32,102,143,89,244,29,113,125,37,190,208,189,204,115,113,106,113,117,37,39,51,95,155,151,38 H,543184,8,200,4,16,1015675,63,2,1,,,1,10,,,4,0,840,60,2,260,1,,,,,3,1,2,,,,1,2,,3,2,1,3,1,43300,4,,,2,1,43300,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,0,0,1,162,,0,0,3,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,109,54,110,67,68,64,20,54,23,49,57,17,58,119,19,17,100,60,78,66,109,87,115,76,72,69,23,61,12,69,62,16,72,117,14,17,105,56,21,64,17,80,20,61,67,71,129,75,100,56,76,87,57,17,84,123,15,57,16,59,17,51,22,54,63,58,79,52,92,75,56,107,57,23,134,118,27,54,130 H,543196,8,900,4,16,1015675,121,1,1,,,3,4,,,110,0,2,3,3,560,1,,,,,3,1,7,,,,1,2,,17,1,840,5,,,,,,1,6,21600,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,1,1,1,369,,0,0,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,112,143,247,158,208,115,154,99,32,104,38,133,124,40,122,239,38,27,237,214,128,142,201,96,181,144,105,118,39,120,40,122,134,33,103,191,36,58,50,39,94,103,35,131,37,128,166,127,174,115,215,135,118,198,151,33,152,199,34,42,137,109,32,140,36,103,103,88,276,158,171,112,103,199,132,42,263,212,184 H,544004,8,700,4,16,1015675,132,5,1,1,,3,2,2,,90,0,2,100,1,610,1,,1,980,1,1,1,6,,,270,1,1,,17,1,600,3,2,40000,2,,,3,1,40000,0,2,2,2,1,3,3,5,0,0,3,45,0,0,1,0,0,2,1490,2,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,1,0,1,1,0,1,144,36,216,222,127,149,123,40,132,202,122,203,233,36,117,35,126,173,40,144,122,206,42,45,124,135,145,219,127,42,147,38,39,219,136,238,137,118,221,126,145,36,242,211,115,140,107,41,130,241,128,207,202,41,135,40,121,152,41,122,115,219,44,40,149,108,144,242,131,41,115,46,38,215,149,225,177,124,212,120 H,544321,8,400,4,16,1015675,92,3,1,1,,3,2,2,,50,0,950,120,6,300,1,,1,660,1,1,1,6,,,,1,1,,13,4,890,9,1,43000,2,,,1,1,43000,0,2,2,2,1,3,1,3,0,0,1,27,0,0,1,0,0,1,983,3,0,1,21,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,174,148,98,85,27,105,105,103,87,29,75,102,157,164,26,25,147,81,32,88,136,169,90,86,21,87,97,90,91,25,110,71,113,172,30,27,154,112,25,85,158,116,81,96,33,92,82,84,93,29,87,78,151,122,22,32,174,84,32,114,133,147,103,115,30,102,94,94,108,31,84,70,151,154,23,29,162,95,26,104 H,544463,8,400,4,16,1015675,63,2,1,1,,5,2,2,,100,0,2,3,3,400,1,,1,250,1,1,1,7,,,,1,1,,20,1,390,4,4,182200,4,,,1,1,182200,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,2,2,2,383,3,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,15,51,19,71,62,59,85,62,116,58,63,97,68,22,107,117,20,56,51,22,18,63,24,67,69,71,119,64,115,65,51,117,70,23,107,103,23,59,58,19,18,68,17,53,67,65,99,55,88,60,67,114,67,16,104,97,18,62,56,20,20,71,20,71,66,69,103,71,105,60,54,121,68,20,103,99,24,73,67,17 H,544761,8,900,4,16,1015675,99,2,1,3,5,3,1,2,,60,0,300,50,6,500,1,0,,,,3,1,5,,,,1,2,,14,3,2,4,1,30400,4,,,1,1,30400,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,1,1,1,277,,0,0,24,1,6,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,35,141,172,94,110,169,107,26,32,28,82,108,110,107,103,141,158,179,109,149,157,77,25,127,120,26,105,175,176,185,89,72,91,86,96,31,23,31,131,146,152,95,33,86,94,29,113,191,180,159,119,111,88,92,149,28,25,37,91,45,25,94,155,95,128,142,75,25,28,26,104,111,105,105,102,201,189,134,85,30 H,544795,8,800,4,16,1015675,57,3,1,1,,3,2,2,,70,0,2,3,3,340,1,,2,560,2,1,1,6,,,,1,1,,12,2,290,5,7,22000,2,,,1,3,22000,0,2,2,2,1,3,2,3,0,0,2,41,0,0,1,0,0,2,745,3,0,1,17,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,43,74,48,15,29,13,57,130,55,19,83,62,18,62,102,111,97,74,62,15,61,91,51,81,103,83,63,17,60,93,50,57,68,39,19,17,16,59,60,90,51,45,58,15,17,21,56,99,54,18,67,52,22,54,76,107,87,53,52,15,66,86,73,102,131,147,45,17,60,89,61,73,88,53,15,17,20,66,65,88 H,544808,8,600,4,16,1015675,331,4,1,1,,2,2,2,,190,0,2,120,1,,1,,,,,,1,6,2,630,,1,3,,,3,200,9,1,52000,3,957,22,1,1,52000,0,3,3,3,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,96,306,102,579,528,335,330,380,96,350,585,307,589,575,98,326,96,352,327,339,495,322,582,93,90,334,353,354,657,351,109,321,99,104,502,279,500,362,330,355,528,339,562,96,98,345,274,284,553,330,96,362,102,107,595,376,589,327,309,374,114,325,100,584,536,335,329,292,95,309,528,322,512,565,104,330,105,335,342 H,544837,8,500,4,16,1015675,92,3,1,1,,3,2,2,,30,0,2,180,1,730,1,,1,900,1,1,1,5,,,,1,1,,14,2,80,9,1,43000,1,,,1,1,43000,0,1,1,1,1,1,1,3,0,0,1,31,0,0,1,0,0,1,1117,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,159,94,30,26,77,94,86,88,79,171,82,26,143,93,161,85,30,85,24,152,155,92,26,30,99,99,93,94,110,153,96,36,180,106,138,92,28,95,23,28,27,100,167,141,81,104,74,92,88,32,85,139,22,95,26,97,162,93,146,26,26,80,164,164,91,86,93,93,111,28,97,206,28,94,27,86,162,95,185,145 H,544877,8,400,4,16,1015675,135,2,1,1,,2,1,2,,90,0,2,2,3,360,1,3100,2,310,2,2,1,4,,,,1,1,,10,2,250,2,4,3220,4,,,1,1,3220,0,4,4,4,1,2,0,2,0,0,0,101,0,0,0,0,0,1,742,3,0,0,10,1,6,9,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,228,207,147,264,263,125,116,108,152,202,147,194,151,246,190,203,223,125,137,148,42,44,141,37,37,147,157,117,122,48,139,42,137,45,42,39,43,138,124,147,229,181,116,244,244,127,134,146,152,246,188,207,129,232,182,228,224,128,159,134,41,40,136,35,49,181,121,104,156,54,127,40,129,30,38,35,41,154,129,135 H,544928,8,900,4,16,1015675,16,2,1,1,,3,2,2,,30,0,500,30,6,200,1,,,,,3,1,8,,,,1,2,,16,3,600,7,2,35820,4,,,1,1,35820,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,232,,0,1,17,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,23,13,5,17,14,17,30,5,28,5,22,15,18,20,5,15,30,19,5,17,17,26,15,5,5,5,16,16,15,16,23,31,25,23,17,7,17,30,23,5,28,17,5,15,17,20,33,5,27,4,18,11,22,20,3,12,23,17,5,18,15,28,17,3,5,7,19,18,15,19,18,30,25,24,17,3,15,27,24 H,545109,8,700,4,16,1015675,104,3,1,1,,4,2,2,,120,700,2,20,1,700,1,,2,120,2,1,1,9,,,50,1,1,,20,3,1000,5,2,69200,4,,,1,1,69200,0,4,4,4,1,6,0,3,0,0,0,11,0,0,0,0,0,1,659,2,0,1,37,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,99,92,100,181,165,177,116,31,95,183,97,104,171,106,32,29,30,103,34,99,109,115,99,176,169,189,107,32,103,177,103,96,161,96,29,34,31,93,30,102,94,96,109,203,178,182,119,27,109,171,106,106,186,103,28,31,30,102,31,101,92,112,109,165,192,161,101,31,104,177,104,108,183,103,30,29,29,106,30 H,545209,8,700,4,16,1015675,184,4,1,1,,3,2,2,,90,0,1400,120,1,1200,1,,1,890,1,1,1,9,,,,1,1,,19,3,370,3,1,66500,2,,,2,1,66500,0,2,2,2,1,5,2,4,0,0,2,23,0,0,1,0,0,1,1248,3,0,1,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,166,56,327,385,404,295,62,226,148,264,54,195,172,53,218,172,48,166,218,176,194,286,45,62,58,53,302,269,181,55,266,177,249,289,153,201,302,175,171,185,165,47,330,309,371,307,56,185,158,238,67,176,196,66,205,150,58,243,186,197,204,245,51,73,52,48,310,198,178,56,248,172,206,382,161,205,321,194,173 H,545294,8,100,4,16,1015675,75,2,1,2,1,2,2,2,,180,0,200,20,1,500,1,,,,,3,1,6,,,,1,2,,18,2,600,5,,,,,,1,5,70000,0,4,4,4,1,5,0,,0,1,0,8,1,0,0,0,0,1,484,,0,1,33,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,81,20,70,90,24,66,20,137,152,62,67,74,19,77,140,67,116,128,73,22,75,20,75,80,24,73,22,132,120,88,77,69,25,67,118,74,107,125,68,22,74,21,69,78,21,76,23,115,133,74,71,76,21,75,144,63,131,144,66,26,77,24,73,63,24,60,25,147,118,86,63,67,23,84,126,68,151,121,87 H,545329,8,300,4,16,1015675,98,1,1,1,,2,2,2,,30,0,2,130,2,330,1,,1,400,1,1,1,3,,,,1,1,,14,1,400,2,,,,,,1,4,15300,0,4,4,4,1,4,0,,0,0,0,47,0,0,0,1,1,1,593,3,0,1,10,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,167,187,93,148,192,79,86,87,78,157,93,160,86,174,285,229,177,109,111,134,28,34,109,32,30,98,77,81,119,36,126,32,97,26,27,32,30,75,79,76,28,30,106,30,30,95,87,101,135,31,77,36,100,28,26,26,37,107,106,125,143,156,88,156,149,87,111,87,84,162,106,192,125,190,171,181,166,82,80,70 H,545541,8,500,4,16,1015675,98,1,1,1,,2,1,2,,40,0,2,70,1,300,1,210,,,,3,1,4,,,,1,2,,9,1,1,3,,,,,,1,6,17500,0,4,4,4,1,3,0,,0,0,0,12,0,0,0,1,1,1,168,,0,0,5,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,118,28,31,107,92,103,27,152,30,97,195,162,157,93,33,174,104,115,115,90,92,31,30,94,103,95,28,165,28,95,177,180,158,105,32,151,95,107,102,98,105,25,29,105,94,95,30,196,33,116,171,159,168,88,26,156,97,100,94,106,102,32,33,106,96,89,29,150,32,98,175,139,158,106,28,169,93,88,100 H,545568,8,700,4,16,1015675,129,2,1,2,3,5,2,1,,310,0,2,3,3,1500,1,,1,1200,1,1,1,9,,,400,1,1,,24,4,2,3,1,119400,4,,,1,1,119400,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,2,1,2,1910,2,0,0,57,2,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,38,123,123,125,117,39,42,209,42,126,141,218,213,220,138,135,39,211,116,228,120,37,36,223,212,135,135,129,135,37,229,130,117,130,42,240,141,118,37,39,131,224,227,40,37,127,131,134,137,220,35,137,134,123,229,36,121,129,218,134,228,139,128,138,124,229,217,35,214,130,128,35,37,42,119,127,239,38,126,125 H,545808,8,600,4,16,1015675,110,6,1,1,,5,2,2,,100,0,2,40,1,700,1,,2,900,2,1,1,9,,,,1,1,,21,3,1200,3,2,174550,2,,,1,1,174550,0,2,2,2,1,4,4,6,0,0,4,10,0,0,1,0,0,1,1523,3,0,1,51,3,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,183,103,106,131,108,171,113,119,29,33,172,192,30,108,175,30,35,111,110,99,183,125,105,108,114,213,119,117,33,32,184,205,34,104,194,33,32,107,107,106,33,107,125,118,108,37,118,109,200,180,30,32,184,123,34,176,180,103,109,110,32,121,111,106,112,30,110,109,188,201,32,31,184,109,31,190,197,116,111 H,546039,8,900,4,16,1015675,52,1,1,1,,2,1,2,,20,0,2,80,1,0,1,720,,,,3,1,3,,,,1,2,,1,1,640,5,,,,,,1,4,9000,0,4,4,4,1,2,0,,0,0,0,28,0,0,0,1,1,2,213,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,88,97,38,85,113,52,62,58,60,109,35,58,49,99,112,88,72,47,50,42,17,17,47,15,17,55,51,50,59,15,41,16,54,13,12,15,18,43,44,89,76,69,49,99,75,48,69,58,56,103,46,59,52,92,96,81,66,45,50,67,14,15,51,13,13,45,83,68,42,13,67,15,47,14,15,19,18,39,40,50 H,546055,8,800,4,16,1015675,95,3,1,2,1,3,2,2,,60,0,2,200,1,,1,,,,,,1,9,2,500,,1,3,,,2,2,6,1,61800,2,760,15,1,1,61800,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,152,157,35,75,150,40,28,92,96,131,145,91,77,109,159,91,97,31,132,32,145,147,40,90,128,31,27,95,103,139,112,86,63,96,201,87,82,28,102,23,161,185,27,81,160,32,24,69,113,136,104,92,96,94,168,92,83,33,135,22,141,192,31,80,163,42,29,73,141,197,96,101,101,97,170,82,81,29,108 H,546130,8,500,4,16,1015675,126,1,1,2,1,3,2,2,,50,0,2,3,2,500,1,,1,1200,1,1,1,6,,,300,1,1,,18,2,10,3,,,,,,1,4,247000,0,4,4,4,1,4,0,,0,0,0,8,0,0,0,0,0,1,1551,2,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,233,204,121,128,194,237,133,208,229,110,127,120,134,225,144,276,118,183,188,155,40,38,123,131,37,34,128,37,38,129,122,126,111,35,114,47,128,36,35,114,35,40,118,134,40,36,129,39,34,140,114,136,131,32,116,36,133,43,40,117,221,229,121,132,225,194,144,191,198,130,123,126,146,243,133,192,122,230,198,138 H,546403,8,200,4,16,1015675,27,2,1,3,6,3,2,2,,200,0,50,3,6,200,1,,,,,3,1,9,,,,1,2,,14,3,2,6,2,28100,4,,,1,1,28100,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,2,1,1,404,,0,0,34,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,10,40,54,35,31,25,8,29,53,40,52,35,7,28,9,28,34,10,38,29,54,9,10,34,24,30,52,20,7,30,5,6,56,26,34,25,27,45,31,33,51,7,7,26,32,37,46,21,10,42,10,10,51,34,49,24,30,55,33,37,14,57,48,25,20,18,9,29,36,23,40,49,9,24,9,26,29,8,25 H,546419,8,100,4,16,1015675,51,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,4,2,590,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,15,15,49,45,86,55,48,55,50,87,50,53,13,15,83,89,17,49,50,91,14,15,50,49,91,55,51,55,46,87,55,54,17,16,84,86,13,51,50,93,18,17,48,53,94,53,52,61,48,80,44,53,15,13,97,93,14,53,54,79,15,14,48,52,81,50,55,50,49,87,50,57,14,14,81,81,16,52,45 H,547294,8,100,4,16,1015675,294,1,1,,,3,4,,,120,0,2,2,1,,1,,,,,,1,5,2,770,,1,3,,,1,1,6,,,,890,36,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,271,299,106,313,554,96,100,510,315,293,447,334,423,266,297,270,85,295,102,91,319,305,492,275,88,418,382,75,274,309,92,271,92,317,302,309,436,356,483,439,312,307,81,268,427,105,90,455,326,269,495,337,418,316,320,305,87,288,106,108,279,269,466,307,76,455,535,89,261,302,101,321,99,307,290,284,524,256,425,456 H,547335,8,200,4,16,1015675,40,4,1,1,,3,2,2,,70,0,2,250,2,700,1,,1,1000,1,1,1,6,,,,1,1,,14,2,600,9,1,83400,2,,,1,1,83400,0,2,2,2,1,4,2,4,0,0,2,20,0,0,1,0,0,2,1370,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,54,43,13,38,74,43,10,13,42,35,11,75,41,61,71,35,73,13,33,46,36,40,15,42,68,44,14,14,37,44,15,57,36,87,68,46,59,13,40,50,42,53,10,45,83,44,14,12,42,36,13,66,38,60,69,50,47,13,46,31,48,52,12,36,72,38,8,12,45,45,11,67,44,66,70,44,88,12,48 H,547688,8,800,4,16,1015675,111,3,1,3,1,2,2,2,,60,0,2,3,3,350,1,,1,850,1,1,1,5,,,,2,1,,18,4,2,9,1,61200,2,,,1,1,61200,0,2,2,2,1,1,1,3,0,0,1,18,0,0,1,0,0,1,910,3,0,0,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,135,114,34,172,97,109,32,92,32,34,182,188,109,100,123,126,32,176,157,125,140,116,31,189,135,127,30,106,37,42,185,208,109,92,144,107,31,169,184,107,102,100,35,198,115,92,27,121,27,29,177,196,104,105,109,102,31,198,231,109,106,119,36,178,134,116,35,131,28,32,208,185,139,134,101,110,42,188,170 H,547879,8,100,4,16,1015675,56,1,1,1,,5,2,2,,1,0,2,1,1,700,1,,,,,3,1,7,,,,1,2,,15,0,50,9,,,,,,1,6,20600,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,1,2,154,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,51,63,54,15,66,60,98,99,15,17,87,67,17,108,93,51,60,19,63,50,54,50,67,20,49,46,84,80,13,15,85,55,15,94,99,50,49,17,68,53,59,50,55,19,50,54,86,78,15,13,99,53,17,97,106,63,46,14,48,62,63,59,54,15,61,54,101,114,15,21,114,62,17,82,96,55,59,17,55,61 H,548349,8,600,4,16,1015675,115,3,1,1,,5,2,2,,80,0,2,170,1,600,1,,1,1400,1,1,1,9,,,,1,1,,21,4,1000,9,1,127000,4,,,1,1,136500,0,4,4,4,1,6,0,2,0,1,0,15,0,0,0,0,0,1,1733,3,0,1,52,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,120,196,36,192,197,110,105,32,33,187,108,123,130,196,111,119,117,33,191,120,107,32,201,33,35,115,101,188,204,34,116,120,116,32,110,122,109,201,34,117,114,189,34,189,207,110,119,34,33,186,114,106,119,192,113,131,120,36,175,118,106,32,172,35,35,119,110,197,206,32,117,117,115,34,114,118,100,216,32 H,548542,8,200,4,16,1015675,36,2,1,,,1,10,,,120,0,600,3,6,350,1,,,,,3,1,2,,,,2,2,,1,2,2,2,1,7000,4,,,1,1,7000,0,4,4,4,1,2,0,2,0,0,0,34,0,0,0,1,0,1,199,,0,0,1,0,9,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,39,34,8,36,63,43,62,53,14,27,13,44,30,12,35,11,44,43,39,33,37,55,58,29,11,39,7,10,59,47,77,38,54,62,31,49,9,11,38,39,33,32,71,37,11,38,13,14,51,33,57,36,38,55,28,61,12,10,31,41,33,28,12,47,65,35,66,52,8,40,8,29,30,12,43,11,81,64,41 H,548596,8,300,4,16,1015675,60,1,1,1,,3,2,2,,80,0,2,3,8,400,1,,,,,3,1,5,,,,1,2,,14,0,860,3,,,,,,1,6,12200,0,4,4,4,1,5,0,,0,0,0,23,0,0,0,1,1,1,232,,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,21,12,65,57,51,93,60,115,122,100,68,19,54,121,62,50,86,55,104,110,98,81,58,66,69,50,54,16,18,18,36,94,60,15,70,62,21,58,28,19,19,19,71,53,62,61,51,108,114,104,37,20,70,74,62,57,111,61,96,78,80,94,66,47,66,78,53,20,16,22,56,78,54,22,77,51,12,51,15 H,548677,8,900,4,16,1015675,0,1,2,,,,,,,,200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,549247,8,600,4,16,1015675,122,4,1,1,,3,2,2,,30,1200,2,40,1,290,1,,1,760,1,1,1,6,,,,1,1,,16,4,550,7,8,34900,2,,,3,3,42100,1,2,2,2,1,3,1,3,0,1,1,25,0,0,1,2,1,1,876,3,0,1,26,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,200,33,120,118,231,132,117,40,109,130,197,38,35,115,38,125,197,117,120,217,133,120,202,35,115,35,37,115,36,201,116,121,122,213,136,36,119,202,193,110,187,35,121,127,193,130,137,37,126,114,211,34,35,140,39,117,191,132,138,218,123,128,205,35,124,33,33,123,35,223,109,99,120,209,111,37,120,242,192 H,549405,8,800,4,16,1015675,70,3,1,1,,4,2,2,,50,0,2,3,3,400,1,,2,580,2,1,1,9,,,,1,1,,14,3,600,4,3,72700,4,,,3,1,72700,0,4,4,4,1,3,0,3,0,0,0,15,0,0,0,1,1,1,880,3,0,1,32,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,73,93,87,97,86,81,87,77,28,95,108,25,60,59,22,67,22,64,19,72,84,144,70,104,111,64,101,72,17,141,125,19,68,58,17,62,20,61,28,69,70,101,70,99,76,73,101,83,22,79,134,23,49,73,22,61,20,63,22,72,86,111,64,111,86,54,81,81,23,94,114,23,88,69,22,93,29,67,24 H,549559,8,200,4,16,1015675,21,5,1,,,1,10,,,30,0,30,250,6,400,1,,2,370,2,1,2,2,,,,1,1,,14,2,2,2,1,38200,3,,,1,1,38200,0,3,3,3,1,3,3,5,0,0,3,27,0,0,1,0,0,1,869,3,0,0,34,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,17,7,5,49,22,31,22,21,32,24,37,5,7,20,21,20,36,23,5,23,29,5,4,41,23,38,22,24,37,16,32,12,5,16,18,22,30,21,10,22,25,38,40,7,20,6,19,19,5,19,9,30,29,19,19,20,7,22,41,22,21,38,27,7,32,7,20,21,6,23,7,32,28,28,20,19,7,25,40,17 H,549653,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,550022,8,400,4,16,1015675,84,2,1,2,1,3,2,2,,60,0,2,100,2,380,1,,2,920,1,1,1,7,,,,1,1,,20,2,350,3,1,78000,4,,,1,1,78000,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,2,2,1,1141,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,85,80,24,28,29,26,82,21,83,24,89,76,62,97,25,25,93,84,80,82,163,133,92,82,92,82,125,101,137,68,146,177,123,112,69,98,173,121,25,25,116,83,23,19,21,28,92,23,79,26,87,101,89,84,30,44,109,57,85,77,141,146,86,97,91,82,132,70,113,93,158,110,125,173,68,72,134,129,29 H,550413,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,550480,8,300,4,16,1015675,85,5,1,2,1,4,2,1,,110,0,400,3,6,560,1,,2,650,1,1,1,7,,,,1,1,,14,4,2,5,2,38500,2,,,1,1,38500,0,2,2,2,1,6,3,5,0,0,3,26,0,0,1,0,0,1,840,3,0,0,18,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,91,84,26,79,28,90,92,28,103,145,25,26,153,78,69,138,87,127,24,78,85,88,144,85,141,87,92,166,107,28,138,125,21,93,83,26,91,24,23,86,81,75,169,99,147,79,100,161,93,28,154,145,28,86,75,24,88,24,157,87,76,72,28,82,26,76,89,31,75,156,25,26,131,76,75,144,104,125,127 H,550587,8,100,4,16,1015675,61,3,1,1,,2,2,2,,80,0,2,3,6,350,1,,2,330,2,1,1,7,,,,1,1,,9,3,560,9,2,45000,2,,,1,1,45000,0,2,2,2,1,4,1,3,0,0,1,14,0,0,1,0,0,2,519,3,0,1,10,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,107,59,94,103,65,118,13,43,53,62,15,45,123,75,18,20,59,72,52,18,91,60,101,92,79,96,17,50,58,64,19,67,106,64,20,17,63,69,61,20,120,62,90,113,52,79,19,50,70,63,20,70,87,51,20,18,51,58,59,20,133,56,106,116,50,100,19,64,75,55,18,68,114,65,15,15,52,48,54 H,550643,8,800,4,16,1015675,46,4,1,,,2,5,,,1,0,2,1,1,,1,,,,,,1,4,2,450,,1,3,,,2,1,7,2,16000,1,450,34,2,1,16000,0,1,1,1,2,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,77,48,43,43,49,47,17,12,14,39,117,45,14,57,61,15,49,75,15,14,16,44,49,35,71,65,73,98,78,39,14,45,83,52,48,61,35,13,13,12,14,46,75,40,37,52,92,66,67,48,15,48,94,51,40,77,51,12,59,70,69,51,43,36,44,54,17,17,16,43,117,57,10,41,58,13,45,79,52 H,550738,8,300,4,16,1015675,19,4,1,2,1,3,2,2,,70,0,2,100,2,600,1,,1,800,1,1,1,4,,,,1,1,,16,2,2,2,1,32200,3,,,1,1,32200,0,3,3,3,1,3,2,4,0,0,2,36,0,0,1,0,0,2,970,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,22,15,22,28,9,22,8,23,16,5,16,31,5,6,28,20,29,37,27,25,30,16,14,19,6,22,8,15,14,5,28,44,7,6,29,32,22,31,5,21,5,16,21,15,35,21,30,23,18,55,26,5,36,27,6,21,24,7,7,18,5,25,21,24,32,17,30,17,17,32,21,5,50,39,7,19,17,7,45 H,550813,8,300,4,16,1015675,24,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,3,17,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,25,20,20,8,7,7,23,34,27,7,28,22,7,22,38,42,43,22,21,49,23,20,24,7,6,6,25,41,27,5,19,23,8,27,36,35,53,28,25,36,24,23,25,8,8,8,23,31,22,6,23,23,8,26,46,41,37,24,24,37,23,27,21,7,7,5,27,42,20,9,25,23,7,23,45,54,49,27,27,43 H,550914,8,300,4,16,1015675,27,0,1,1,,3,1,2,,,,,,,,2,,,,,,2,5,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,8,23,42,50,53,25,29,29,29,26,9,8,7,29,50,34,9,25,7,30,37,25,9,6,7,24,27,26,24,28,48,42,44,23,7,30,50,36,46,32,8,23,40,51,42,23,28,30,23,27,7,9,7,26,45,26,9,31,9,29,47,25,7,9,8,32,28,25,27,26,43,47,40,25,7,27,46,30,37 H,551505,8,400,4,16,1015675,75,0,1,1,,1,2,2,,,,,,,,2,,,,,,2,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,104,85,113,69,22,22,21,72,75,80,82,80,133,112,109,81,20,71,23,126,69,83,141,91,25,23,24,67,72,66,76,77,96,114,135,85,22,76,125,23,77,79,25,68,112,128,153,82,72,82,86,66,26,28,25,79,127,70,114,23,83,71,20,60,117,134,115,91,90,83,71,63,25,20,17,75,125,71,20 H,551572,8,500,4,16,1015675,22,1,1,1,,3,2,2,,30,0,2,130,1,450,1,,2,260,2,1,1,5,,,,1,1,,11,2,420,9,,,,,,1,4,43000,0,4,4,4,1,5,0,,0,0,0,16,0,0,0,0,0,2,576,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,28,6,34,23,25,25,5,35,24,23,7,24,7,7,42,34,23,23,7,25,26,39,6,23,21,27,40,6,22,26,43,25,44,36,7,6,21,26,40,21,23,6,46,24,20,27,8,41,23,22,7,20,8,7,34,37,20,27,8,20,25,39,7,26,24,25,36,6,20,24,39,23,42,40,7,8,32,25,38 H,551587,8,300,4,16,1015675,240,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,79,262,210,73,281,427,69,79,329,251,252,467,293,338,203,241,277,84,384,238,72,267,282,72,221,323,90,102,350,214,197,330,213,361,249,233,275,90,58,313,339,250,219,314,205,62,301,459,67,248,268,100,208,78,283,241,276,450,75,276,325,227,284,423,259,80,379,359,90,268,166,70,259,102,257,188,195,412,293 H,551593,8,100,4,16,1015675,20,1,1,1,,3,2,2,,270,0,2,3,3,650,1,,,,,3,1,9,,,,1,2,,22,1,50,4,,,,,,1,6,30200,0,4,4,4,1,5,0,,0,0,0,20,0,0,0,1,0,2,495,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,7,19,20,31,19,38,32,5,6,20,17,20,20,36,5,19,20,19,36,5,30,22,19,7,19,5,7,37,34,19,22,20,22,5,33,22,17,21,5,33,6,22,17,36,20,35,32,6,7,17,18,22,22,30,5,22,19,20,41,6,31,20,21,7,18,5,7,32,34,19,22,21,19,5,33,19,22,19,5 H,552295,8,600,4,16,1015675,107,2,1,,,1,7,,,10,0,1100,40,1,,1,,,,,,1,5,2,610,,1,3,,,2,1,3,1,35000,4,752,26,1,1,35000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,32,32,36,114,176,104,31,114,98,33,110,181,200,155,106,113,101,119,35,99,169,185,184,98,32,101,184,100,113,196,120,28,30,37,109,95,91,108,34,110,164,202,195,103,32,116,165,98,121,171,104,32,27,35,103,111,99,97,175,124,38,27,31,112,174,105,33,110,105,28,98,193,189,184,114,106,122,100,179 H,552359,8,100,4,16,1015675,119,1,1,2,1,2,1,2,,30,1800,2,80,1,180,1,1300,,,,3,1,4,,,,1,2,,1,1,30,4,,,,,,1,6,8100,0,4,4,4,1,5,0,,0,0,0,36,0,0,0,0,0,1,244,,0,0,3,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,125,213,37,32,189,121,105,232,119,223,129,120,98,29,120,30,133,138,271,35,97,169,23,33,201,96,126,240,127,183,130,131,120,38,130,34,102,145,225,47,128,239,36,32,188,126,127,167,107,228,123,126,98,38,103,32,145,103,175,36,116,207,34,37,234,117,129,177,101,165,110,140,112,31,107,40,114,111,210 H,552655,8,300,4,16,1015675,103,2,1,2,1,3,3,2,,70,0,1400,60,8,,1,,,,,,1,5,2,700,,1,3,,,2,1,2,1,70000,4,947,16,3,1,70000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,92,90,105,120,34,31,36,95,175,86,31,91,84,36,91,185,198,173,31,151,117,87,105,95,163,174,149,75,30,106,189,116,95,142,79,40,36,32,141,109,110,91,102,85,29,24,24,136,183,169,45,106,92,30,114,159,179,154,32,109,111,121,94,110,174,144,158,99,35,104,144,88,103,180,103,27,31,29,195 H,552658,8,100,4,16,1015675,219,0,1,,,3,8,,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,68,248,235,238,219,223,391,226,61,357,256,325,200,65,199,60,399,254,68,430,402,207,223,210,214,191,58,202,341,68,207,70,214,417,208,333,81,204,383,69,75,236,210,219,266,208,385,246,64,393,216,311,238,65,234,60,371,255,74,373,339,207,203,213,206,230,60,195,364,66,220,65,202,351,199,378,57,219,333 H,552717,8,300,4,16,1015675,396,2,1,,,2,5,,,100,0,2,3,3,,1,,,,,,1,3,2,520,,1,3,,,2,10,5,1,58000,4,621,13,1,1,58000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,615,436,560,568,129,145,359,352,364,398,540,111,445,519,424,551,118,383,357,555,143,332,122,136,712,660,407,485,396,447,165,678,397,316,479,122,708,391,323,98,491,364,669,548,135,126,443,396,311,415,696,121,430,395,505,747,138,477,365,589,122,414,107,124,646,716,380,399,312,338,140,548,388,473,322,156,779,417,521,147 H,553320,8,400,4,16,1015675,170,3,1,1,,3,3,2,,2,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,2,2,2,2,25000,1,,,1,1,25000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,219,143,287,148,43,133,67,79,236,174,298,140,141,402,144,176,67,30,192,168,178,193,286,170,66,203,70,64,211,118,193,295,232,381,178,201,88,72,129,239,172,198,66,129,200,98,226,204,36,176,71,238,313,63,149,70,282,306,177,190,213,308,53,76,229,158,355,218,54,189,44,217,160,47,153,45,395,327,147,238 H,553464,8,800,4,16,1015675,75,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,76,22,80,71,80,22,75,23,144,83,118,71,81,78,121,127,23,71,97,75,29,77,25,24,110,83,108,75,75,118,72,125,25,20,87,74,74,143,135,20,76,124,78,60,74,135,82,130,25,81,22,81,76,67,26,23,142,75,71,74,151,88,123,114,21,87,25,75,67,25,77,22,109,125,84,72,79,21,25 H,553752,8,400,4,16,1015675,124,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,50,136,186,111,125,129,209,118,208,37,136,38,127,109,104,37,35,201,134,205,112,41,137,44,40,219,142,189,118,109,211,128,160,32,37,137,120,122,35,129,215,128,40,112,108,124,42,131,34,230,139,183,142,160,144,221,209,33,108,38,138,198,114,169,190,36,112,43,148,137,33,104,41,181,171,124,120,117,192 H,554043,8,700,4,16,1015675,30,3,1,1,,3,2,2,,2,0,2,3,1,,1,,,,,,1,5,2,830,,1,3,,,1,560,3,7,20500,2,877,51,1,3,20500,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,8,50,30,30,8,9,10,26,33,53,8,29,53,32,30,30,30,9,28,34,27,28,54,10,29,28,32,53,8,29,27,52,32,61,51,8,8,29,51,48,8,51,28,28,10,8,9,31,28,54,10,30,52,30,29,28,31,8,33,30,32,32,50,8,29,29,30,53,10,28,28,54,30,46,58,9,8,27 H,554299,8,900,4,16,1015675,148,1,1,1,,3,2,2,,50,0,350,3,6,550,1,,,,,3,1,5,,,,1,2,,14,1,2,9,,,,,,1,6,4200,0,4,4,4,1,5,0,,0,0,0,55,0,0,0,1,1,1,192,,0,1,18,,,,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,326,228,140,157,132,131,124,41,71,52,142,310,133,41,211,140,48,177,247,238,191,212,135,132,136,121,117,42,54,39,125,216,166,50,169,204,55,143,214,48,42,43,140,180,177,187,140,173,175,256,149,53,145,180,136,141,157,129,50,38,50,53,198,158,146,135,216,278,180,238,163,45,149,345,137,117,295,122,55,232 H,554425,8,100,4,16,1015675,19,1,1,1,,3,2,2,,40,0,2,160,1,300,1,,2,350,2,1,1,5,,,,1,1,,19,1,360,7,,,,,,1,6,14200,0,4,4,4,1,7,0,,0,0,0,62,0,0,0,1,1,2,732,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,19,26,18,19,19,7,5,13,5,33,5,27,17,30,41,20,15,16,17,15,32,18,6,28,30,20,19,6,18,16,17,18,5,17,17,26,36,6,4,16,36,21,5,26,27,17,15,5,16,13,18,29,5,13,22,36,34,7,6,5,20,30,18,22,14,5,6,16,5,32,5,22,22,36,34,17,15,17,15,7 H,554714,8,100,4,16,1015675,68,3,1,2,1,4,2,2,,90,0,1400,120,2,880,1,,2,950,2,1,1,9,,,,1,1,,20,3,320,5,7,61000,2,,,1,3,81000,0,2,2,2,1,5,1,2,0,1,1,23,0,0,1,0,0,1,1519,3,0,1,29,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,18,103,67,74,70,106,84,19,70,123,130,60,80,119,20,72,18,22,78,62,19,104,60,66,70,118,67,22,70,122,120,64,72,115,22,65,18,20,84,64,113,20,71,82,73,18,74,124,69,19,17,68,67,17,127,61,111,128,66,66,113,19,66,68,65,19,72,109,80,20,19,75,67,18,121,62,104,116,66 H,554821,8,400,4,16,1015675,50,3,1,1,,3,2,2,,60,0,2,40,1,400,1,,2,800,2,1,1,5,,,,1,1,,15,3,100,2,1,51400,4,,,1,1,51400,0,4,4,4,1,2,0,3,0,0,0,25,0,0,0,0,0,1,1066,3,0,1,27,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,17,68,71,56,14,47,45,14,45,77,87,86,41,44,56,37,52,23,111,17,17,56,93,37,11,41,58,16,62,100,58,94,53,48,44,43,54,14,21,100,106,64,12,64,76,53,72,64,52,12,11,18,36,37,45,46,41,63,17,74,72,55,17,52,103,60,61,91,53,12,17,15,50,41,37,61,65,85,104 H,555264,8,800,4,16,1015675,246,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,2,780,,,,2,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,243,72,432,390,81,202,255,81,246,78,247,219,218,408,246,393,281,233,437,468,264,417,70,78,382,228,291,411,267,422,224,203,240,76,234,71,238,253,77,436,248,405,74,71,351,238,273,477,252,378,205,240,244,76,248,73,208,223,80,83,259,84,413,468,68,221,300,95,224,67,250,285,248,429,228,367,247,220,408,82 H,555341,8,900,4,16,1015675,106,1,1,3,1,4,2,2,,150,0,2,3,3,580,1,,1,450,1,1,1,6,,,390,1,1,,16,2,2,3,,,,,,1,6,35000,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,0,0,2,990,2,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,115,107,139,217,32,23,170,78,32,180,163,112,116,33,126,122,111,126,34,103,127,103,197,145,27,36,148,94,31,155,176,120,123,37,107,94,114,96,36,94,94,105,28,28,159,179,36,132,154,29,31,133,115,155,123,98,92,108,181,101,103,90,30,23,147,214,50,104,187,31,39,114,101,175,131,114,96,107,176,93 H,556114,8,500,4,16,1015675,131,3,1,1,,3,2,2,,1,0,2,120,1,,1,,,,,,1,5,2,600,,1,3,,,2,1,7,1,37000,2,720,23,1,1,37000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,116,39,42,171,123,131,125,122,239,128,43,257,123,226,125,39,117,37,35,45,133,214,264,140,165,118,104,153,50,137,217,41,106,33,115,201,137,204,38,35,131,198,204,145,115,119,129,143,41,139,256,43,149,39,132,220,111,210,205,266,144,50,35,120,144,147,136,105,214,128,38,262,118,242,134,40,115,39,231 H,556220,8,300,4,16,1015675,72,2,1,2,1,3,2,2,,50,0,2,40,1,750,1,,2,1400,1,1,1,4,,,,1,1,,18,3,2,2,1,45900,4,,,1,1,45900,0,4,4,4,1,3,0,2,0,0,0,41,0,0,0,0,0,1,1553,3,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,25,79,62,143,156,23,21,122,65,18,126,135,74,74,18,59,69,74,82,69,22,87,60,117,120,23,21,109,79,21,112,145,70,71,23,93,65,67,61,71,22,74,78,141,116,17,21,119,62,21,101,129,90,72,23,71,80,74,68,76,20,67,88,119,111,19,25,136,78,24,123,165,68,66,25,75,67,65,73 H,556490,8,500,4,16,1015675,101,2,1,1,,4,2,2,,60,0,2,3,8,300,1,,2,480,2,1,1,9,,,,1,1,,16,2,270,5,1,97000,4,,,1,1,97000,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,1,1,838,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,94,36,164,28,108,90,94,117,99,105,166,31,120,94,28,31,85,170,119,126,34,110,108,99,34,199,186,158,145,29,89,123,181,25,91,97,28,92,31,36,112,167,36,166,110,113,105,77,93,93,30,184,101,94,160,151,98,28,87,101,180,118,109,95,181,29,36,29,33,173,115,106,32,177,99,100,177,91,191 H,556632,8,600,4,16,1015675,119,2,1,1,,4,2,2,,30,0,2,30,1,250,1,,1,600,1,1,1,7,,,,1,1,,14,4,100,5,2,59100,4,,,1,1,59100,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,2,1,2,668,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,215,118,127,96,31,37,113,34,193,35,199,115,182,184,136,119,122,120,112,219,115,36,203,207,129,127,28,120,128,109,126,35,124,127,200,229,36,39,128,33,128,216,38,33,118,117,195,127,109,118,116,199,119,121,40,33,219,194,191,108,33,132,114,121,211,177,117,204,33,183,38,118,32,33,117,127,128,121,32 H,556704,8,100,4,16,1015675,272,2,1,2,1,4,2,2,,160,0,2,2,1,400,1,,1,1100,1,1,1,9,,,,1,1,,21,3,540,2,1,41200,4,,,1,1,41200,0,4,4,4,1,1,0,2,0,0,0,38,0,0,0,0,0,2,1305,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,393,263,526,270,254,430,313,448,83,74,282,235,278,495,263,85,276,91,295,439,84,323,100,251,261,74,267,75,500,451,248,264,283,96,234,377,300,443,321,442,77,303,90,299,287,86,270,70,444,439,277,306,266,80,299,435,263,431,228,84,408,287,437,312,276,427,300,377,90,87,263,289,248,447,248,80,283,88,268 H,556946,8,500,4,16,1015675,93,2,1,1,,3,2,2,,50,0,2,10,1,1600,1,,1,1200,1,1,1,6,,,,1,1,,16,2,2,4,1,60000,4,,,1,1,60000,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,0,0,2,1260,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,35,167,31,100,165,136,179,93,27,172,80,89,96,80,26,24,97,83,100,88,34,162,25,84,153,158,145,95,27,166,89,110,105,101,31,24,97,88,101,86,147,29,181,87,27,32,34,84,147,29,95,85,119,120,143,135,89,89,108,80,157,27,144,107,28,27,28,72,130,29,91,89,89,92,167,169,107,89,81 H,557011,8,700,4,16,1015675,119,4,1,1,,4,2,2,,1,0,200,1,6,,1,,,,,,1,6,,,,1,4,,,2,1,5,2,29900,2,,,1,1,29900,0,2,2,2,1,5,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,114,206,117,34,130,37,34,184,145,177,119,121,203,117,181,33,36,125,106,112,111,37,114,208,108,195,217,37,130,31,128,129,35,122,36,205,208,122,124,126,135,35,127,194,104,216,188,41,110,36,121,122,33,106,34,204,190,125,132,119,124,201,124,32,115,37,34,207,109,201,127,121,195,106,187,35,38,107,114 H,557417,8,500,4,16,1015675,111,5,1,1,,4,2,2,,140,0,2,3,3,240,1,,1,1300,2,1,1,7,,,,1,1,,16,2,290,2,1,58000,2,,,1,1,58000,0,2,2,2,1,1,3,5,0,0,3,32,0,0,1,0,0,2,1564,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,42,78,187,112,38,90,115,40,128,158,177,169,103,118,173,101,104,31,43,156,196,106,33,107,182,86,92,189,195,42,31,37,116,104,138,115,103,152,143,40,30,99,178,191,37,124,105,30,101,191,164,161,85,137,123,129,119,38,31,186,147,133,36,131,179,106,94,158,104,41,40,33,84,133,117,130,108,139,167 H,557721,8,100,4,16,1015675,95,1,1,,,1,8,,,40,0,1,2,3,,1,,,,,,1,3,2,470,,1,3,,,1,2,4,,,,510,23,1,4,26300,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,96,105,95,129,143,97,160,35,161,35,88,29,37,78,84,76,85,98,93,89,29,160,147,97,109,26,87,78,98,95,31,99,96,175,156,39,29,138,29,116,106,120,76,29,38,95,31,152,31,180,88,127,144,79,103,115,98,85,77,105,146,25,34,106,79,164,97,94,104,79,170,99,92,34,23,162,173,28,176 H,557926,8,100,4,16,1015675,60,1,1,2,1,3,1,2,,50,0,1400,3,4,,1,,,,,,1,6,2,400,,1,3,,,2,200,5,,,,584,23,1,4,29980,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,17,69,59,61,104,64,55,18,105,20,16,70,70,95,103,20,57,60,68,98,62,18,19,18,55,86,17,61,68,64,56,100,116,62,69,61,106,17,16,62,107,57,58,55,20,74,59,104,17,111,117,51,58,18,18,117,57,64,56,17,61,102,110,88,54,22,131,59,63,67,69,21,18,67,53,63,18,87,94 H,558046,8,600,4,16,1015675,78,5,1,1,,4,2,2,,70,0,2,80,1,250,1,,1,950,1,1,1,9,,,50,1,1,,19,3,800,4,1,117000,2,,,1,1,117000,0,2,2,2,1,5,2,5,0,0,2,12,0,0,1,0,0,1,1217,2,0,1,36,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,82,83,75,23,71,145,93,125,135,21,81,22,78,70,21,88,23,128,140,71,83,83,79,23,74,134,89,140,125,24,74,22,77,80,24,89,25,132,140,79,75,71,85,143,79,22,76,27,22,136,78,134,71,80,143,80,126,19,26,84,77,76,89,134,83,27,71,22,26,132,81,136,74,71,129,78,137,21,27,73 H,558374,8,600,4,16,1015675,122,2,1,1,,4,2,2,,110,0,2,150,1,740,1,,,,,3,1,9,,,,1,2,,20,2,30,9,2,27600,4,,,1,1,27600,0,4,4,4,1,4,0,2,0,0,0,37,0,0,0,2,0,1,850,,0,1,64,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,127,118,139,33,121,128,202,38,200,187,123,132,40,37,204,121,118,113,112,121,210,196,215,128,40,209,105,120,118,126,35,40,117,125,122,38,210,35,37,208,121,113,137,32,128,125,227,38,204,184,129,110,39,37,201,131,121,123,102,118,209,202,183,131,41,214,114,124,120,114,37,38,115,138,131,38,190,37,35 H,558458,8,100,4,16,1015675,46,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,51,88,52,13,45,12,12,65,42,76,48,43,66,40,69,13,16,51,43,42,47,74,46,13,38,16,15,76,39,68,47,48,83,49,77,13,14,44,43,47,42,15,50,79,51,66,73,13,46,14,43,44,13,42,16,70,71,45,41,55,47,12,35,76,54,73,86,13,44,16,44,50,12,43,13,82,91,44,49 H,558537,8,800,4,16,1015675,346,1,1,1,,4,2,2,,30,0,2,3,3,460,1,,,,,3,1,8,,,,1,2,,18,2,2,7,,,,,,1,4,165000,0,4,4,4,1,7,0,,0,0,0,1,0,0,0,0,0,2,129,,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,372,475,364,97,333,263,373,113,343,115,613,324,578,318,294,334,597,548,377,367,544,356,94,336,122,114,580,334,669,332,305,537,355,583,99,94,372,355,95,132,371,501,394,106,392,360,354,121,348,102,555,294,514,329,353,442,588,546,364,371,526,322,129,305,97,103,499,319,602,327,308,562,378,533,104,113,370,330,115 H,558585,8,400,4,16,1015675,33,1,1,1,,1,1,2,,20,0,2,3,3,0,1,2700,,,,3,1,2,,,,1,2,,1,1,1,5,,,,,,1,4,24000,0,4,4,4,1,5,0,,0,0,0,12,0,0,0,0,0,2,245,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,37,29,61,31,26,10,12,66,82,11,39,60,11,8,33,45,59,34,34,30,41,34,64,30,28,10,12,62,51,10,30,38,9,12,28,32,66,33,35,38,41,37,9,31,43,82,52,10,11,44,33,10,58,63,31,35,12,34,30,30,38,38,8,34,36,53,64,12,10,55,34,11,57,60,33,31,9,28,35,46 H,558787,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,558920,8,700,4,16,1015675,105,1,1,,,2,5,,,50,0,2,20,1,,1,,,,,,1,5,2,650,,1,3,,,1,1,2,,,,720,37,1,6,23100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,99,178,107,100,170,98,35,34,37,104,106,101,103,110,179,168,156,90,32,33,119,172,104,106,188,113,30,32,33,103,117,94,95,105,163,171,175,110,186,177,98,32,106,113,31,102,173,185,185,112,104,94,107,110,28,34,31,108,181,159,116,28,98,118,33,108,162,174,157,109,109,102,98,113,32,26,36,98,30 H,559326,8,500,4,16,1015675,116,3,1,1,,3,2,2,,200,0,2,260,1,0,1,,,,,3,1,5,,,,2,2,,17,1,400,7,7,14400,2,,,1,3,14400,0,2,2,2,1,3,2,3,0,0,2,49,0,0,1,0,0,1,585,,0,1,23,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,119,111,120,35,107,116,219,31,182,220,103,117,36,39,193,102,107,106,234,193,123,106,110,248,129,101,36,199,32,34,106,133,221,222,35,121,109,115,39,31,121,122,118,35,114,108,226,36,191,181,117,105,31,33,220,118,122,113,175,228,115,108,101,208,118,122,39,198,37,31,122,125,212,206,40,113,101,118,34,33 H,559495,8,100,4,16,1015675,54,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,18,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,76,93,15,19,97,55,67,99,54,91,54,53,48,15,60,18,62,55,16,99,75,14,92,87,15,71,51,13,55,19,43,47,58,109,69,87,47,43,18,93,56,16,95,102,17,51,52,21,60,14,49,71,48,84,55,94,61,51,75,19,58,91,19,22,110,50,55,99,47,85,59,56,61,19,49,15,56,54,81 H,559586,8,100,4,16,1015675,29,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,28,33,32,9,30,28,43,53,9,12,46,29,7,43,48,25,30,9,25,28,33,28,24,52,30,30,11,7,53,60,9,27,50,11,13,30,33,51,26,30,25,31,36,9,27,26,48,54,9,8,53,23,8,50,45,35,28,9,27,25,24,22,28,46,33,40,10,10,51,53,10,30,52,9,7,27,34,52,30,26 H,560075,8,700,4,16,1015675,65,3,1,2,1,3,3,2,,150,0,2,3,3,,1,,,,,,1,5,2,650,,1,3,,,2,2,9,3,37600,2,800,26,4,1,37600,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,7,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,63,60,109,63,118,18,22,70,65,63,105,64,20,59,18,19,109,67,115,70,60,66,19,61,20,112,125,70,73,66,18,65,115,62,99,111,20,76,19,64,64,70,107,70,115,19,20,71,71,70,103,65,19,59,17,18,115,68,116,65,61,61,21,67,17,108,114,71,71,62,20,69,118,66,99,96,18,73,16,69 H,560139,8,300,4,16,1015675,103,4,1,,,2,5,,,100,800,2,3,3,,1,,,,,,1,5,2,450,,1,3,,,1,1200,5,7,18800,3,650,41,1,3,18800,0,1,1,1,1,1,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,137,92,28,39,177,29,93,101,177,153,164,99,99,33,168,87,30,120,239,33,185,224,86,97,108,99,37,162,93,92,94,36,151,108,103,30,94,32,92,89,113,140,190,179,26,138,103,94,26,29,32,105,112,185,36,131,186,97,26,170,24,37,106,97,105,113,193,28,111,119,103,196,34,106,129,161,94,158,107 H,560155,8,800,4,16,1015675,398,5,1,1,,3,1,2,,220,0,2,3,3,,1,,,,,,1,6,2,580,,1,3,,,3,1,7,1,87500,2,800,11,2,1,87500,0,2,2,2,1,2,2,5,0,0,2,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,142,361,131,360,361,128,347,441,99,158,866,460,417,678,461,529,468,415,134,410,726,318,623,559,454,533,461,120,481,648,125,425,413,132,381,107,413,401,126,377,593,497,554,309,418,730,316,135,666,707,126,356,396,140,429,187,333,326,589,315,143,454,107,472,377,120,408,956,186,117,584,394,375,652,401,639,341,383,738 H,560596,8,100,4,16,1015675,223,2,1,3,1,4,2,2,,100,0,2,3,2,800,1,,2,1500,2,1,1,7,,,500,1,1,,18,3,2,3,2,40000,4,,,1,1,40000,0,4,4,4,1,4,0,2,0,0,0,68,0,0,0,0,0,2,2267,1,0,0,24,1,7,3,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,56,187,209,237,385,65,206,260,343,255,326,341,63,88,268,235,244,195,314,344,394,211,232,216,75,357,228,233,43,296,95,60,313,329,283,203,226,190,69,379,370,237,192,198,72,366,238,246,64,203,79,68,350,389,243,216,179,212,69,68,73,264,255,215,304,76,214,207,374,248,404,320,68,82,173,229,222,229,405,95 H,560962,8,300,4,16,1015675,207,1,1,1,,2,2,2,,60,0,2,80,1,0,1,,,,,3,1,4,,,,1,2,,8,1,30,7,,,,,,1,6,16500,0,4,4,4,1,6,0,,0,0,0,12,0,0,0,0,0,2,163,,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,62,301,205,72,64,62,193,401,82,179,193,189,219,369,290,225,207,206,188,62,391,59,224,349,341,332,156,58,310,199,217,204,260,63,78,251,211,215,256,344,59,330,241,70,58,62,248,354,67,173,190,241,206,308,319,183,216,207,206,67,330,66,205,402,345,293,224,64,377,178,208,235,189,71,58,199,164,203,204 H,561272,8,600,4,16,1015675,106,2,1,2,1,3,2,2,,150,0,2,180,1,370,1,,1,630,1,1,1,6,,,,1,1,,18,5,50,5,5,62000,4,,,1,2,62000,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,0,0,1,964,3,0,1,31,1,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,32,172,177,117,174,107,107,27,100,32,114,32,113,92,173,122,108,208,34,113,107,105,102,31,115,184,30,97,31,113,178,101,186,35,105,178,178,103,108,166,177,34,34,111,31,110,95,186,121,179,113,185,107,110,34,100,96,31,178,115,106,108,119,175,99,29,185,108,184,112,30,101,32,200,101,32,32,96,103 H,561423,8,100,4,16,1015675,98,4,1,3,1,3,2,1,,70,0,400,3,3,,1,,,,,,1,6,,,,1,4,,,1,1,9,1,36300,2,,,1,1,36300,0,2,2,2,1,2,1,4,0,0,1,,0,0,1,0,0,1,,,0,0,,3,5,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,120,97,28,134,82,89,32,92,29,31,160,160,112,89,107,94,33,183,177,88,103,90,25,181,105,91,27,112,33,22,195,184,97,101,98,110,29,155,30,89,96,103,163,34,102,90,179,95,173,147,27,29,111,100,98,109,164,30,27,106,94,106,174,29,102,79,160,111,163,194,26,25,92,99,109,88,185,29,153 H,561447,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,561814,8,800,4,16,1015675,78,4,1,1,,2,2,2,,70,0,2,90,1,,1,,,,,,1,6,2,480,,2,3,,,3,40,7,1,80000,1,643,10,1,1,80000,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,20,137,19,72,76,83,88,62,65,123,27,57,83,20,25,77,145,138,56,94,116,108,66,29,119,127,164,123,24,74,70,142,20,80,67,31,79,74,33,144,22,133,22,98,76,69,71,100,87,162,22,83,77,34,20,83,134,142,97,67,63,75,96,18,111,139,115,133,17,71,87,110,26,57,93,26,92,78,19,138 H,561835,8,800,4,16,1015675,78,0,1,,,2,6,,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,145,80,24,24,78,154,23,133,76,70,86,72,81,80,23,134,74,81,126,72,78,142,80,88,120,90,92,78,122,22,19,23,30,137,78,79,20,180,79,24,137,82,23,23,79,123,23,149,76,82,77,72,84,77,23,128,80,85,133,81,76,144,92,68,139,86,91,82,131,22,26,18,24,131,79,85,26,129,88,24 H,561891,8,500,4,16,1015675,72,6,1,1,,5,2,1,,250,0,2,440,2,500,1,,1,2700,1,1,1,9,,,1000,1,1,,18,3,2,2,1,136300,2,,,1,1,136300,1,2,2,2,1,3,3,6,0,0,3,39,0,0,1,1,1,1,4390,2,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,59,118,27,23,69,84,66,136,77,25,79,24,22,126,56,93,69,63,65,24,60,20,129,118,70,83,70,22,74,129,65,116,125,21,70,23,65,89,68,24,75,26,122,121,79,70,64,22,68,119,71,149,125,19,69,20,65,69,80,117,69,140,18,18,68,67,79,121,65,22,72,23,19,150,77,107,66,83,80 H,561960,8,300,4,16,1015675,93,3,1,,,2,5,,,130,400,2,3,3,,1,,,,,,1,4,2,430,,1,3,,,2,160,6,1,21800,1,573,32,1,1,21800,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,94,92,91,154,26,154,80,28,34,32,78,140,25,98,98,94,102,157,102,23,88,77,84,19,168,30,72,189,173,214,109,31,132,119,98,85,93,24,74,24,67,96,101,34,133,29,86,125,172,229,115,25,125,117,95,110,119,26,83,129,95,87,82,166,23,178,94,24,30,30,99,187,26,105,112,91,91,138,106 H,562122,8,600,4,16,1015675,112,1,1,,,1,7,,,40,0,2,3,3,,1,,,,,,1,3,2,520,,1,3,,,0,1,4,,,,560,22,1,4,30004,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,114,116,34,101,204,113,33,34,121,103,33,197,105,203,197,104,196,32,104,107,111,113,186,118,31,113,206,193,115,104,196,35,112,35,37,102,33,209,106,109,116,123,193,118,33,109,198,200,111,107,205,31,103,31,35,111,35,225,115,112,104,107,33,108,199,115,32,35,118,109,35,204,114,202,175,108,201,31,111 H,562272,8,800,4,16,1015675,176,4,1,1,,3,2,2,,160,0,2,1,1,,1,,,,,,1,6,2,320,,1,3,,,3,1,7,6,43200,2,480,13,2,2,43200,0,2,2,2,1,5,2,4,0,0,2,,0,0,1,1,0,2,,,1,0,,2,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,54,168,273,300,144,60,328,65,204,193,196,189,327,201,245,66,194,176,159,160,185,70,180,161,35,140,166,156,60,295,235,323,260,64,249,186,236,67,93,295,254,225,79,54,196,250,57,257,174,195,168,176,148,148,56,268,193,164,202,207,180,224,152,180,350,198,175,221,292,67,67,51,58,210,137,149,63,334,207 H,562425,8,800,4,16,1015675,20,1,1,3,6,3,2,2,,60,0,600,3,4,,1,,,,,,1,9,,,,1,4,,,2,2,9,,,,,,1,6,13000,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,,,0,0,,,,,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,20,21,22,27,31,20,30,7,35,7,19,5,7,19,21,21,17,17,15,16,34,7,6,20,20,38,17,18,19,22,35,22,21,5,7,36,33,5,32,5,21,19,18,32,31,17,27,5,32,7,18,7,5,17,22,17,20,24,24,20,36,5,5,20,25,33,17,23,21,18,38,19,24,9,6,34,41,6,31 H,562434,8,500,4,16,1015675,110,1,1,1,,2,1,2,,30,0,2,3,3,0,1,3000,,,,3,1,5,,,,1,2,,1,1,1,5,,,,,,2,4,18000,0,4,4,4,1,5,0,,0,0,0,19,0,0,0,0,0,1,280,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,105,111,206,142,173,106,113,150,95,29,199,205,29,121,111,31,110,40,134,149,112,104,31,104,36,96,110,36,121,172,30,39,158,120,107,146,115,188,154,46,132,107,185,129,172,128,111,166,103,35,191,163,32,97,111,39,104,33,91,186,133,126,30,76,33,107,96,29,114,189,33,29,237,105,122,188,104,191,96,30 H,562751,8,700,4,16,1015675,97,1,1,1,,3,3,2,,20,0,2,60,1,190,1,,2,760,1,1,1,4,,,,1,1,,17,1,530,3,,,,,,1,6,80000,0,4,4,4,1,5,0,,0,0,0,14,0,0,0,0,0,2,900,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,155,27,93,96,160,99,104,29,91,104,156,29,28,100,28,97,165,91,103,152,94,106,156,26,103,31,29,107,28,155,103,96,93,163,94,32,101,162,30,99,31,158,106,105,29,97,104,161,103,89,30,161,157,93,157,94,28,95,93,28,96,100,30,147,94,170,168,101,163,29,95,99,104,27,99,162,101,26,176 H,563005,8,900,4,16,1015675,33,4,1,1,,5,2,2,,100,0,2,120,4,350,1,,1,370,1,1,1,8,,,,1,1,,13,3,600,9,3,92300,2,,,1,1,92300,1,2,2,2,1,4,1,4,0,0,1,8,0,0,1,2,1,2,640,3,0,1,18,3,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,10,30,34,35,8,60,8,33,59,62,50,34,9,48,33,27,36,45,31,50,55,31,29,32,63,10,51,37,9,10,9,35,58,8,28,31,30,39,32,52,55,37,30,30,56,12,61,35,9,10,10,30,48,10,34,31,34,30,38,10,10,28,28,35,10,58,10,36,65,49,61,28,10,50,38,41,40,34,36 H,563009,8,100,4,16,1015675,157,2,1,2,1,3,1,2,,40,0,2,150,1,800,1,600,,,,3,1,6,,,,1,2,,8,5,2,5,6,23900,4,,,1,2,23900,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,1,1,1,327,,0,0,6,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,233,259,47,175,57,154,145,46,148,46,237,272,137,168,186,40,163,250,151,156,45,47,289,165,304,159,156,266,147,263,49,48,151,154,180,239,170,46,151,152,271,267,50,183,51,153,142,54,157,58,245,305,150,158,146,36,164,295,162,138,58,47,269,159,296,167,143,259,136,245,49,43,148,146,130,218,182,53,166,167 H,563336,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,563511,8,300,4,16,1015675,92,2,1,2,1,3,2,1,,120,0,150,120,1,400,1,,2,350,2,1,1,6,,,,1,1,,16,2,2,4,1,41100,4,,,1,1,41100,0,4,4,4,1,6,0,2,0,0,0,23,0,0,0,2,2,1,803,3,0,0,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,150,177,81,25,210,24,92,78,75,76,79,91,191,28,96,107,28,26,91,29,78,107,36,97,94,99,30,168,170,206,167,26,73,99,150,28,109,85,127,83,159,175,82,25,161,28,91,92,94,94,105,98,165,27,105,110,32,31,73,29,93,94,33,84,99,95,33,143,119,184,168,27,100,73,165,33,88,125,161 H,563526,8,400,4,16,1015675,38,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,61,92,35,45,79,44,12,8,10,43,37,43,43,41,55,72,67,27,69,67,39,19,29,43,24,29,72,53,68,36,28,37,32,49,10,10,10,25,74,55,36,12,68,32,11,52,52,72,90,30,36,41,40,39,13,8,14,49,12,12,28,47,46,32,42,40,9,14,15,44,41,46,42,28,53,63,75,41,10 H,563830,8,900,4,16,1015675,155,2,1,2,1,3,2,2,,100,0,2,50,1,,1,,,,,,1,5,2,500,,1,3,,,4,2,3,5,65000,2,650,12,1,2,65000,0,1,1,1,1,4,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,165,236,166,138,221,211,53,40,57,160,174,155,145,163,220,224,232,156,66,47,151,255,150,143,260,170,55,67,73,178,164,127,144,161,195,213,197,127,221,254,148,46,160,152,47,183,264,227,202,119,122,189,173,153,61,59,60,192,218,250,172,51,173,170,40,146,257,328,304,156,158,151,126,154,49,54,46,143,55 H,563835,8,600,4,16,1015675,150,2,1,1,,3,2,2,,1,0,1,1,1,,1,,,,,,1,5,,,,1,4,,,2,1,7,,,,,,1,5,96800,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,161,239,253,159,132,139,267,48,262,143,48,40,44,191,251,44,152,137,238,45,46,147,182,246,274,44,154,153,144,46,148,151,134,258,147,150,49,257,133,164,147,257,279,138,160,170,284,49,269,147,43,46,46,153,250,49,147,143,246,43,45,142,146,234,279,55,139,156,118,41,131,167,141,248,167,146,48,256,149 H,564276,8,600,4,16,1015675,321,1,1,1,,1,3,2,,30,0,2,3,3,,1,,,,,,1,3,2,480,,2,3,,,1,1,9,,,,510,31,1,6,19900,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,95,91,94,585,268,333,109,484,325,285,580,326,316,469,276,312,319,532,96,484,341,325,333,330,597,105,370,323,100,111,292,499,548,301,98,595,106,315,311,331,85,95,96,619,285,330,92,572,288,319,540,324,291,591,316,361,301,539,93,544,292,315,349,294,591,92,284,329,97,98,307,581,571,335,94,531,100,308,339,312 H,564937,8,500,4,16,1015675,120,2,1,1,,2,1,2,,170,0,2,3,3,560,1,3000,,,,3,1,5,,,,1,2,,10,2,1,4,4,31200,4,,,1,1,31200,0,4,4,4,1,1,0,2,0,0,0,18,0,0,0,2,1,1,467,,0,0,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,121,201,212,112,103,113,167,30,241,123,36,43,37,112,228,32,136,142,192,35,34,139,120,200,169,38,117,120,110,34,125,106,114,224,115,130,33,215,124,110,120,209,196,128,130,102,211,38,204,126,34,34,34,110,217,36,133,117,203,38,38,134,111,180,188,29,119,139,124,31,97,118,123,215,136,108,37,195,110 H,565246,8,300,4,16,1015675,74,4,1,1,,3,2,2,,100,0,2,80,1,400,1,,1,760,1,1,1,4,,,380,1,1,,16,4,30,4,1,75006,2,,,1,1,75006,0,2,2,2,1,4,2,4,0,0,2,21,0,0,1,0,0,1,1323,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,145,79,64,84,93,76,21,21,19,64,125,78,21,75,65,16,69,126,26,21,23,87,60,70,69,79,126,110,135,72,18,85,120,72,78,158,65,19,102,122,126,76,80,82,67,61,22,21,18,73,101,75,28,74,75,21,80,127,20,22,18,68,87,70,64,69,140,137,133,81,22,97,119,66,84,129,67,19,123 H,565460,8,900,4,16,1015675,67,3,1,1,,4,2,1,,70,0,2,130,1,500,1,,1,560,1,1,1,6,,,360,1,1,,14,4,80,7,1,61800,2,,,1,1,61800,0,2,2,2,1,6,1,3,0,0,1,22,0,0,1,0,0,1,1127,2,0,0,28,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,127,73,20,68,60,21,103,70,75,17,68,64,109,77,56,18,134,115,68,19,65,101,67,21,18,63,59,16,112,77,111,104,57,113,20,63,77,61,23,64,114,57,16,63,60,23,136,65,67,19,80,72,100,57,70,20,81,115,85,18,67,109,62,22,21,72,58,15,103,79,117,131,67,111,22,58,62,68,22 H,565490,8,900,4,16,1015675,122,1,1,1,,2,2,2,,20,0,750,20,1,210,1,,,,,3,1,4,,,,1,2,,7,3,750,7,,,,,,2,4,17000,0,4,4,4,1,5,0,,0,0,0,17,0,0,0,0,0,1,234,,0,1,14,,,,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,68,149,35,106,147,149,242,141,194,107,89,150,140,47,160,231,38,102,200,48,35,108,27,110,153,103,177,130,243,147,153,230,142,31,182,186,37,113,108,297,152,118,176,168,141,102,33,128,32,123,118,48,193,251,32,38,206,119,108,170,248,158,164,97,111,147,28,136,74,110,90,32,95,229,52,47,171,129,159,41 H,565505,8,100,4,16,1015675,49,2,1,,,1,9,,,1,0,2,40,2,0,1,,,,,3,1,3,,,,1,2,,2,1,1,3,2,29200,4,,,1,1,29200,0,4,4,4,1,2,0,2,0,0,0,2,0,0,0,0,0,1,40,,0,0,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,79,98,84,92,14,50,46,66,10,44,44,14,43,47,12,49,45,51,18,14,43,43,49,50,46,11,105,58,48,76,73,48,13,16,51,84,13,92,52,50,94,80,80,81,14,49,40,81,13,51,56,14,56,36,12,57,43,42,13,15,64,57,38,37,46,15,74,54,47,88,100,41,17,14,47,84,17,93,38,58 H,565753,8,100,4,16,1015675,81,2,1,1,,5,2,2,,60,0,90,240,2,700,1,,,,,3,1,9,,,,1,2,,21,2,540,3,3,93500,4,,,1,1,93500,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,1,1,1,578,,0,1,32,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,77,103,140,28,109,64,78,20,24,27,60,95,195,19,56,122,73,82,23,21,26,85,100,91,75,112,24,98,86,78,173,33,80,78,171,110,171,124,98,80,75,22,22,171,23,71,76,137,156,150,95,78,20,169,85,24,89,83,103,132,126,76,93,82,78,26,121,73,75,80,28,113,92,77,18,70,25,31,79 H,565788,8,600,4,16,1015675,135,2,1,1,,3,2,2,,60,0,140,140,1,700,1,,2,610,2,1,1,7,,,700,1,1,,20,2,900,8,2,152550,4,,,1,1,152550,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,2,2,1,1838,2,0,1,34,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,39,128,237,205,140,40,232,36,158,131,126,132,134,127,234,39,153,142,129,144,121,244,127,147,231,131,123,137,246,33,49,44,39,258,124,148,41,257,44,237,263,135,39,36,118,242,38,277,116,141,129,144,140,135,44,230,139,129,138,134,143,42,131,131,37,135,135,133,38,206,249,227,225,36,134,139,259,39,229 H,566014,8,800,4,16,1015675,110,2,1,1,,3,2,2,,40,0,90,130,1,600,1,,,,,3,1,6,,,,1,2,,22,2,700,3,4,26300,4,,,1,1,26300,0,4,4,4,1,5,0,2,0,0,0,24,0,0,0,2,2,2,519,,0,1,40,0,9,9,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,160,156,117,192,222,106,108,122,122,187,105,150,108,166,193,184,184,118,104,103,35,34,129,30,28,106,99,118,106,37,129,41,126,26,31,37,40,98,137,92,172,215,106,179,211,115,145,115,87,180,110,165,104,184,196,160,158,123,121,98,31,42,104,34,35,105,101,117,122,28,113,42,119,29,28,36,36,99,138,103 H,566614,8,900,4,16,1015675,86,5,1,1,,5,2,2,,90,0,600,90,2,0,1,,,,,3,1,9,,,,1,2,,15,6,360,9,2,176050,2,,,1,1,176050,0,2,2,2,1,6,2,5,0,0,2,2,0,0,1,0,0,1,306,,0,1,13,3,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,73,75,134,122,144,65,85,78,30,97,21,111,80,21,99,161,31,25,25,18,85,104,29,117,28,93,99,92,149,94,146,99,103,110,106,23,111,183,142,200,77,70,162,104,153,75,73,78,30,97,26,87,75,31,68,116,25,25,31,17,99,89,29,108,23,96,98,88,157,91,165,91,82,144,77,25,157,142,125 H,566617,8,900,4,16,1015675,22,3,1,3,1,4,2,2,,90,0,300,3,4,600,1,,2,1000,2,1,1,7,,,,1,1,,20,2,2,7,5,30400,2,,,1,2,30400,0,2,2,2,1,6,1,3,0,0,1,60,0,0,1,0,0,2,1523,3,0,0,55,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,9,7,7,18,26,24,8,19,22,7,27,35,29,42,23,17,21,20,5,31,48,40,45,23,7,30,40,16,18,36,23,7,5,10,22,20,20,16,35,21,7,6,5,30,51,25,9,25,18,7,20,38,40,30,23,19,16,20,9,24,45,35,34,16,7,22,31,20,16,32,18,7,7,6,26,22,33,22,33 H,566955,8,300,4,16,1015675,131,4,1,1,,4,2,1,,100,0,2,100,1,500,1,,2,680,2,1,1,7,,,,1,1,,13,4,420,7,3,140100,4,,,1,1,140100,0,4,4,4,1,6,0,4,0,0,0,9,0,0,0,0,0,1,1020,3,0,0,17,3,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,211,135,244,217,43,35,136,147,111,150,195,39,117,124,152,208,42,140,131,218,41,109,39,49,225,218,122,119,113,140,36,234,131,113,119,41,250,116,109,263,37,149,37,40,227,240,120,108,131,126,34,226,116,122,133,39,235,121,123,49,187,121,265,243,49,35,114,115,149,168,190,36,115,134,140,224,33,118,133,38 H,567107,8,600,4,16,1015675,126,0,1,1,,3,3,2,,,,,,,,1,,,,,,1,5,,,,,,3,21,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,199,121,148,206,37,154,129,187,136,112,35,133,150,222,36,42,129,132,131,41,111,201,200,112,97,227,35,121,42,32,131,39,186,104,124,124,208,200,39,119,232,134,135,215,42,121,138,232,121,114,37,114,138,218,35,39,127,140,116,37,140,217,198,115,127,226,35,120,34,32,139,41,215,124,114,114,196,270 H,567955,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,567987,8,800,4,16,1015675,147,6,1,1,,4,2,2,,140,0,2,3,3,600,1,,2,880,2,1,1,9,,,,1,1,,14,4,1100,5,1,68000,3,,,1,1,68000,0,3,3,3,1,5,4,6,0,0,4,22,0,0,1,0,0,1,1229,3,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,137,269,156,36,131,171,56,156,228,230,188,175,192,144,186,175,42,46,297,214,104,40,127,266,213,143,234,124,36,51,66,116,100,155,124,128,275,62,200,244,157,45,141,258,135,146,255,146,61,57,49,168,135,175,173,151,221,219,38,39,140,233,138,41,126,133,57,144,257,273,260,122,126,130,134,144,37,214 H,568199,8,800,4,16,1015675,56,2,1,3,6,4,2,2,,100,0,1200,3,4,4800,1,,,,,3,1,6,,,,1,2,,23,0,2,6,3,25880,4,,,3,1,25880,0,4,4,4,1,7,0,2,0,0,0,39,0,0,0,2,2,1,833,,0,0,40,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,113,117,15,50,97,22,15,47,51,97,58,58,50,53,96,48,56,18,78,77,16,24,105,55,14,100,92,52,61,14,58,49,46,64,17,47,56,124,59,17,108,107,16,53,79,14,15,47,52,78,65,63,45,50,112,56,42,16,72,85,15,19,108,65,18,99,85,47,72,15,66,59,58,66,17,50,60,114,64 H,568238,8,500,4,16,1015675,74,2,1,1,,4,2,2,,50,0,2,110,1,380,1,,1,1400,1,1,1,7,,,,1,1,,17,3,430,1,1,138800,4,,,1,1,138800,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,1,1596,3,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,21,19,63,66,130,79,67,70,73,114,73,76,22,25,137,125,18,71,72,25,116,112,84,72,17,80,83,73,68,23,71,76,124,111,23,20,126,82,62,20,128,123,71,70,20,82,76,74,77,20,69,66,117,116,21,21,126,79,83,117,21,20,82,75,120,79,72,79,66,119,79,83,22,22,118,124,23,76,74 H,570500,8,400,4,16,1015675,109,1,1,1,,2,2,2,,60,0,2,3,3,350,1,,2,250,2,1,1,4,,,,1,1,,11,2,20,5,,,,,,3,6,32000,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,0,0,1,393,3,0,1,14,,,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,189,110,37,84,85,134,219,35,156,37,185,104,98,124,37,106,180,101,180,105,104,34,125,171,144,164,98,135,116,88,105,33,39,39,113,169,119,36,36,94,107,168,90,39,32,24,111,130,132,90,104,166,148,180,118,30,94,156,116,196,41,115,165,129,125,101,38,224,36,153,38,123,125,123,161,103,34,104,93 H,570733,8,900,4,16,1015675,32,2,1,1,,2,2,2,,160,0,2,3,3,,1,,,,,,1,5,2,400,,1,3,,,0,40,5,2,37000,4,563,18,1,1,37000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,62,52,30,27,31,52,11,58,38,8,11,12,36,49,10,31,31,38,38,50,32,31,56,55,10,30,33,26,10,34,29,31,52,39,28,10,56,10,10,29,9,9,37,29,33,10,66,8,40,57,57,49,37,12,53,30,31,32,33,7,41,27,10,10,55,29,25,29,50,35,33,39,10,35,33,56,12,65,50,33 H,570767,8,200,4,16,1015675,128,1,1,1,,1,1,2,,10,0,2,3,3,250,1,0,2,200,2,1,1,2,,,,1,1,,1,1,1,7,,,,,,1,4,8100,0,4,4,4,1,5,0,,0,0,0,35,0,0,0,0,0,1,233,3,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,126,36,121,38,142,37,48,43,47,171,150,36,34,105,37,38,135,134,216,248,153,103,213,118,239,115,127,160,141,166,183,154,149,205,144,184,226,189,94,130,122,39,101,46,170,37,48,36,39,176,174,36,40,122,29,35,106,130,210,211,209,112,242,117,205,147,124,147,151,168,155,200,148,179,152,130,242,197,84 H,570861,8,400,4,16,1015675,57,0,1,1,,2,2,1,,,,,,,,1,,,,,,1,3,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,18,16,49,60,63,55,19,60,16,60,20,15,15,16,53,49,17,17,60,87,51,78,95,92,101,95,55,97,52,131,73,56,60,65,110,96,47,55,90,58,92,98,54,65,63,71,99,49,106,54,104,91,96,112,56,54,92,115,50,16,55,56,15,17,16,15,54,16,58,17,53,67,54,64,20,14,55,58,19,52 H,570976,8,700,4,16,1015675,122,4,1,1,,4,2,2,,80,0,2,30,1,400,1,,1,1600,1,1,1,9,,,500,1,1,,21,3,20,2,1,116100,2,,,1,1,116100,0,2,2,2,1,3,2,4,0,0,2,23,0,0,1,0,0,1,2212,2,0,1,47,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,32,125,122,36,147,127,35,114,146,112,37,216,200,199,182,33,133,131,112,205,32,127,119,36,122,117,38,129,133,117,39,229,192,213,207,34,129,128,124,38,241,114,127,198,104,129,199,134,114,125,215,36,36,33,36,214,111,128,134,36,225,120,126,199,115,134,213,119,116,120,229,36,35,34,33,216,130,111,119 H,571135,8,600,4,16,1015675,126,3,1,1,,3,2,2,,50,0,2,60,1,,1,,,,,,1,5,2,880,,1,3,,,2,770,5,1,56900,4,1054,22,1,1,56900,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,1,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,38,125,39,196,122,37,35,126,112,121,117,119,217,129,38,225,129,210,227,134,38,124,38,223,127,37,32,125,121,136,126,116,204,123,35,221,122,204,36,125,192,122,212,38,123,185,230,124,126,120,124,118,42,126,203,39,120,37,31,137,189,140,191,36,139,183,198,133,126,110,126,124,38,139,208,37,107,43,186 H,571686,8,600,4,16,1015675,109,1,1,1,,3,2,2,,40,0,2,20,1,400,1,,1,600,1,1,1,8,,,100,1,1,,16,2,700,4,,,,,,1,6,300,0,4,4,4,1,4,0,,0,0,0,101,0,0,1,0,0,1,818,2,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,181,115,182,131,88,104,33,114,34,97,90,32,93,159,31,33,192,128,182,102,172,120,182,107,111,123,37,105,29,106,106,35,93,154,35,37,196,111,32,112,32,97,38,118,120,116,189,107,183,96,122,180,114,34,185,200,30,95,32,107,28,103,28,98,113,103,175,126,175,111,116,182,107,33,162,173,35,109,184 H,571761,8,700,4,16,1015675,226,6,1,1,,5,2,2,,30,0,2,90,1,480,1,,2,900,2,1,1,9,,,,1,1,,16,6,600,5,1,111000,2,,,1,1,111000,0,2,2,2,1,4,4,6,0,0,4,13,0,0,1,0,0,2,1210,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,387,385,222,243,225,63,237,386,232,419,362,72,224,65,238,221,63,213,67,231,375,374,219,233,212,68,229,388,226,399,403,66,241,65,206,215,64,243,64,215,409,413,229,216,227,66,222,366,225,412,369,68,234,65,217,225,69,218,71,230,398,393,217,225,216,60,244,383,222,367,371,71,248,65,227,214,65,258,64,216 H,572062,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,572129,8,800,4,16,1015675,114,1,1,1,,1,2,2,,40,0,2,60,1,400,1,,,,,3,1,4,,,,1,2,,11,1,40,7,,,,,,1,6,0,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,169,,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,192,109,117,126,127,92,30,35,28,105,161,115,34,119,133,39,117,193,39,28,44,135,109,102,94,111,203,219,192,99,33,119,175,100,140,204,100,32,39,27,33,113,101,95,109,99,206,205,214,133,44,149,179,85,104,180,106,30,190,164,207,123,128,120,110,108,32,29,30,124,227,138,34,126,130,34,124,174,218 H,572270,8,200,4,16,1015675,46,5,1,3,2,4,2,2,,90,0,2000,3,4,1200,1,,1,800,2,1,1,9,,,,1,1,,18,2,2,4,2,73200,2,,,1,1,73200,0,2,2,2,1,5,3,5,0,0,3,19,0,0,1,0,0,1,1157,3,0,0,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,15,52,51,76,91,12,12,85,45,12,65,65,39,44,17,63,52,56,57,36,67,50,48,10,12,71,85,15,47,81,13,16,46,46,85,39,54,52,46,43,15,52,50,60,74,14,14,90,43,12,83,70,40,46,20,57,43,44,55,48,84,38,48,17,10,60,82,13,45,67,11,15,46,57,101,44,53,48,46 H,572377,8,200,4,16,1015675,19,2,1,3,1,3,2,2,,40,0,700,3,6,1200,1,,,,,3,1,4,,,,1,2,,18,2,2,5,4,24400,4,,,1,1,24400,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,1,1,298,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,5,21,7,21,3,17,20,19,20,3,3,17,15,6,13,18,6,20,21,17,16,33,23,27,24,37,30,29,39,17,15,35,35,15,39,29,16,5,5,5,5,19,5,21,7,22,16,19,18,6,5,21,25,5,19,14,5,19,20,20,17,38,17,26,15,33,35,30,33,15,17,29,29,23,33,44,19,7 H,572576,8,800,4,16,1015675,78,2,1,1,,4,2,2,,80,0,2,90,1,1200,1,,,,,3,1,8,,,,1,2,,17,2,1200,1,1,80000,4,,,1,1,80000,0,4,4,4,1,1,0,2,0,0,0,6,0,0,0,0,0,1,370,,0,1,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,70,82,86,24,22,22,78,130,92,23,105,96,20,65,116,105,149,84,78,28,72,77,94,136,102,126,68,21,72,153,95,74,151,75,22,20,20,77,88,144,65,83,78,22,24,20,65,174,71,20,63,73,22,83,117,124,127,93,100,22,93,62,75,109,110,144,79,23,90,128,82,66,150,85,22,28,24,87,91,129 H,572838,8,300,4,16,1015675,76,2,1,1,,4,2,2,,120,0,2,3,3,450,1,,1,980,1,1,1,9,,,500,1,1,,18,4,110,4,5,121300,4,,,1,2,121300,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,0,0,1,1609,1,0,1,40,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,70,80,158,97,101,85,92,67,60,85,140,143,161,83,147,68,111,80,30,75,78,76,23,29,79,95,24,61,95,30,21,18,24,73,27,95,34,79,114,92,69,89,138,124,74,72,103,70,97,136,111,138,151,85,129,74,125,75,41,99,74,67,16,42,64,58,23,60,114,36,16,22,29,56,16,86,27,89,93 H,572890,8,400,4,16,1015675,82,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,82,170,83,26,79,67,28,113,144,149,179,94,71,69,97,107,21,24,147,129,73,20,66,115,93,77,123,72,28,23,20,87,91,76,86,78,139,170,23,22,95,187,76,23,72,65,25,85,124,118,120,79,84,77,75,86,25,23,157,121,85,29,94,155,85,78,130,104,30,23,23,91,81,76,86,77,155,136 H,573412,8,200,4,16,1015675,25,2,1,1,,2,2,2,,50,0,2,3,4,410,1,,,,,3,1,4,,,,1,2,,12,2,590,7,4,16700,4,,,1,1,16700,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,2,150,,0,1,6,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,7,23,49,49,49,22,28,28,23,23,7,7,7,22,37,24,7,26,37,24,7,26,38,40,50,27,27,23,29,34,9,12,7,24,44,22,7,19,5,26,45,25,7,7,7,22,26,30,24,24,45,42,36,23,7,19,39,29,10,30,41,24,9,8,6,23,27,20,28,28,34,40,48,27,7,22,49,29,38 H,573489,8,300,4,16,1015675,122,2,1,1,,2,1,2,,50,0,2,50,1,250,1,0,,,,3,1,4,,,,1,2,,1,2,520,5,6,22200,4,,,1,2,22200,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,1,1,1,193,,0,0,9,1,12,12,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,110,148,113,113,135,181,224,204,129,40,121,201,118,127,229,113,46,36,43,39,122,118,116,136,112,176,172,250,155,31,115,213,141,106,255,141,32,32,33,30,107,138,139,149,141,191,223,171,122,49,132,191,174,138,167,106,38,32,29,32,144,121,126,115,125,204,220,214,114,34,104,210,153,126,223,140,37,34,32 H,573792,8,900,4,16,1015675,76,2,1,2,1,4,2,2,,50,0,400,3,4,500,1,,,,,3,1,7,,,,1,2,,17,2,2,6,4,12000,4,,,1,1,12000,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,2,2,2,217,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,76,77,93,25,74,65,114,156,27,22,154,61,17,102,83,71,90,29,92,68,82,83,80,135,86,66,32,32,98,110,23,72,113,18,22,76,77,183,124,64,77,86,87,162,74,61,25,27,99,129,26,71,82,21,27,87,84,127,77,67,71,63,85,35,90,70,114,125,23,25,94,85,25,131,128,68,85,33,99,72 H,573793,8,700,4,16,1015675,95,3,1,1,,4,2,2,,80,0,2,100,1,420,1,,1,1600,1,1,1,8,,,,1,1,,19,2,420,3,1,153400,2,,,1,1,153400,0,2,2,2,1,4,1,3,0,0,1,14,0,0,1,0,0,1,1815,3,0,1,32,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,27,28,95,100,93,98,102,161,161,159,97,29,92,163,93,93,161,102,168,155,166,174,91,94,96,103,102,30,28,27,96,170,94,26,96,101,30,90,27,29,29,27,106,99,97,107,100,171,177,156,98,29,91,150,92,98,167,100,162,160,149,162,97,84,94,99,100,30,26,31,101,174,96,26,86,94,31,89,29 H,573935,8,900,4,16,1015675,66,4,1,1,,4,2,2,,40,0,2,40,1,350,1,,2,350,2,1,1,9,,,,1,1,,14,3,600,5,2,73400,2,,,1,1,73400,0,2,2,2,1,4,2,4,0,0,2,10,0,0,1,0,0,1,608,3,0,1,23,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,77,21,104,64,93,68,17,65,22,99,71,18,24,81,58,57,67,69,96,105,71,18,116,84,111,64,13,59,21,112,76,19,20,71,72,63,70,63,21,22,61,95,20,59,15,61,113,68,107,25,73,99,85,62,64,79,52,55,16,22,67,120,20,74,24,64,100,54,117,25,72,125,121,67,73,79,71,74,126 H,574001,8,600,4,16,1015675,112,1,1,1,,2,3,2,140,70,0,2,3,3,240,1,,2,460,2,1,1,5,,,,1,1,,15,1,1,4,,,,,,1,6,6000,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,1,1,2,721,3,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,119,109,191,196,31,32,212,107,31,184,206,111,120,32,90,105,131,103,34,113,113,111,30,33,184,214,36,112,179,33,31,109,111,173,119,127,118,110,184,119,103,106,36,36,177,192,35,119,194,38,31,110,114,186,106,118,102,102,180,113,112,112,181,175,33,30,169,114,34,196,194,111,115,35,113,106,115,113,33,109 H,574477,8,100,4,16,1015675,64,2,1,2,1,3,2,2,,190,0,2,120,1,1800,1,,1,4800,2,1,1,8,,,,1,1,,24,2,600,3,4,24000,4,,,1,1,24000,0,4,4,4,1,1,0,2,0,0,0,101,0,0,0,0,0,1,5535,3,0,1,57,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,72,123,70,21,62,67,69,20,62,18,121,52,105,69,60,58,119,134,65,71,20,65,103,64,103,86,16,58,19,68,63,21,67,20,103,99,77,57,62,62,22,73,110,64,121,101,19,71,21,62,65,15,67,19,113,109,59,72,24,19,54,98,64,19,64,62,57,17,66,19,115,66,107,65,65,65,104,109,17 H,574763,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,575027,8,700,4,16,1015675,78,2,1,2,1,3,2,2,,90,0,100,50,6,350,1,,1,540,1,1,1,6,,,,1,1,,18,3,500,7,1,22200,4,,,1,1,22200,0,4,4,4,1,5,0,2,0,0,0,39,0,0,0,0,0,2,730,3,0,1,20,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,29,147,69,72,72,23,137,79,81,26,76,22,23,118,162,88,75,75,74,136,22,145,81,74,83,22,144,79,78,24,82,22,22,126,144,89,73,72,90,131,24,130,88,82,83,21,124,82,79,24,72,25,25,126,137,75,74,86,80,131,23,133,81,82,83,26,126,76,79,23,76,24,26,137,126,75,76,79,70,139 H,575487,8,100,4,16,1015675,74,2,1,1,,3,2,2,,60,0,2,50,1,320,1,,1,730,1,2,1,6,,,,1,1,,17,0,560,2,3,41500,4,,,1,1,41500,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,2,0,1,887,3,0,1,27,1,7,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,85,24,119,84,128,130,78,127,20,82,74,64,26,81,123,71,23,26,76,70,73,22,117,78,113,128,82,125,21,81,84,71,25,79,128,85,22,21,62,77,82,27,153,76,131,117,76,131,23,75,80,67,23,75,115,75,25,23,69,73,67,23,142,78,143,118,71,133,20,84,75,65,22,77,122,75,23,23,76 H,575540,8,300,4,16,1015675,34,8,1,1,,3,2,2,,40,0,2,40,1,390,1,,1,540,1,1,1,5,,,,1,1,,12,5,740,9,1,75000,3,,,2,1,75000,0,1,1,1,1,3,2,8,0,0,4,11,0,1,1,0,0,1,682,3,0,1,1,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,50,53,41,29,44,62,34,15,62,49,10,29,42,15,32,15,31,41,47,8,51,21,70,47,35,63,34,11,64,61,13,47,40,10,28,9,43,42,40,10,58,33,100,43,40,46,36,13,54,62,11,54,47,8,33,9,31,34,31,8,87,46,48,29,30,60,49,20,66,38,11,24,26,11,29,15,40,37,47,8 H,575671,8,100,4,16,1015675,113,1,1,,,1,8,,,30,0,2,1,1,,1,,,,,,1,2,2,180,,1,3,,,1,1,3,,,,210,15,1,4,16900,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,107,188,219,31,32,111,108,112,116,178,29,113,117,114,178,33,101,102,177,40,113,34,33,227,220,118,108,103,122,33,210,121,111,116,27,237,119,116,40,168,124,207,168,39,36,111,120,129,119,171,29,127,106,92,182,40,116,109,197,41,113,30,39,209,165,110,117,99,97,28,191,143,117,94,32,196,117,116,34 H,575693,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,575820,8,300,4,16,1015675,106,4,1,1,,3,1,2,,40,0,2,130,1,,1,,,,,,1,5,2,430,,1,3,,,3,1,5,1,75200,2,600,10,1,1,75200,0,3,3,3,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,133,80,122,123,79,165,170,193,116,42,110,156,95,87,197,129,33,39,38,31,98,108,102,100,105,209,164,169,95,26,96,177,140,112,182,94,36,42,178,262,110,104,121,115,112,33,33,31,110,199,106,28,104,111,31,107,138,146,229,193,99,98,87,118,118,31,36,32,111,195,97,35,93,124,29,96,163,151,25 H,575920,8,300,4,16,1015675,62,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,2,1,1,1,59000,4,610,12,1,1,59000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,68,91,60,24,54,64,24,68,110,92,104,65,60,69,69,73,16,128,16,21,57,104,53,18,53,59,21,58,104,94,94,66,51,78,75,60,18,16,103,103,70,22,71,125,74,70,82,64,18,21,20,84,62,51,65,55,91,15,103,111,62,17,55,111,62,71,97,62,20,16,20,65,60,67,62,53,91,103 H,576016,8,800,4,16,1015675,110,4,1,1,,2,1,2,,160,0,2,3,3,0,1,2000,,,,3,1,4,,,,1,2,,1,3,1,4,5,51600,1,,,1,2,51600,1,1,1,1,1,4,1,3,0,1,1,8,2,0,1,0,0,1,337,,0,0,4,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,37,108,121,137,118,98,57,123,292,141,88,44,33,163,225,39,138,212,27,154,30,80,95,301,104,84,95,140,209,112,123,29,43,228,151,38,149,166,20,109,32,96,87,117,95,98,84,205,228,82,151,27,27,224,232,39,153,218,28,80,26,70,107,228,115,96,97,124,148,97,147,43,28,282,236,45,153,155,45,76 H,576071,8,800,4,16,1015675,93,3,1,1,,4,2,2,,80,0,700,50,1,300,1,,1,70,1,1,1,7,,,240,1,1,,14,2,380,5,3,35400,2,,,1,1,35400,0,2,2,2,1,3,1,3,0,0,1,18,0,0,1,0,0,1,530,1,0,1,12,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,18,147,177,99,173,93,89,32,92,25,90,28,102,109,167,100,79,162,156,120,89,82,96,168,101,38,208,89,146,86,26,95,22,169,92,25,31,88,100,24,23,145,133,92,171,94,82,29,88,26,81,27,110,106,146,88,79,145,155,108,94,112,116,170,99,32,199,90,171,115,27,75,25,149,105,29,29,96,98 H,576305,8,100,4,16,1015675,78,4,1,3,1,5,2,2,,110,0,2,2,1,400,1,,,,,3,1,9,,,,1,2,,23,4,2,3,3,48570,2,,,1,1,48570,0,2,2,2,1,4,2,4,0,0,2,12,0,0,1,0,0,2,476,,0,0,52,3,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,21,120,119,91,86,71,23,82,137,74,156,134,31,83,23,77,68,25,80,78,124,21,20,85,85,79,118,78,22,75,27,23,144,77,126,77,68,148,91,75,24,119,129,77,85,68,24,86,143,82,112,131,23,66,25,64,79,23,85,82,134,22,21,75,79,67,156,83,24,79,23,24,141,80,141,70,76,136,76 H,576365,8,300,4,16,1015675,98,5,1,2,1,4,2,2,,130,0,2,3,3,500,1,,1,2000,1,1,1,6,,,,1,1,,20,4,2,3,1,102500,2,,,1,1,102500,0,2,2,2,1,3,3,5,0,0,3,25,0,0,1,0,0,1,2130,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,93,86,102,119,33,101,120,157,171,24,31,149,82,35,148,179,112,98,103,43,114,84,101,94,27,99,88,126,172,30,31,192,90,23,132,228,119,104,84,31,108,86,100,83,26,79,83,221,177,47,43,172,87,29,190,154,104,87,110,31,106,117,92,109,30,82,92,165,197,29,24,150,99,31,170,160,94,98,113 H,576419,8,400,4,16,1015675,238,4,1,1,,3,3,2,,1,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,2,1,7,2,50000,2,,,1,1,50000,0,2,2,2,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,602,221,218,297,254,202,76,283,305,32,283,74,340,435,329,515,64,227,295,76,448,261,234,247,197,196,53,261,507,77,324,62,223,488,179,303,90,273,293,68,543,245,242,270,255,205,80,191,443,41,252,50,294,433,204,454,74,222,439,90,401,243,194,284,213,229,62,198,473,89,259,59,268,390,250,406,85,262,250,56 H,576453,8,200,4,16,1015675,45,5,1,1,,2,1,2,,180,0,2,3,3,0,1,2800,2,160,2,2,1,4,,,,1,1,,3,3,1,5,2,63500,3,,,2,1,63500,0,3,3,3,1,4,3,5,0,0,3,11,0,0,1,0,0,1,598,3,0,0,8,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,59,69,23,13,65,72,93,78,38,48,52,47,37,16,40,8,45,37,13,88,39,14,74,95,8,42,52,14,47,14,55,41,67,73,31,81,37,82,50,12,73,96,14,12,91,49,46,72,44,69,39,49,51,16,63,9,38,32,18,56,48,16,50,101,19,40,39,13,40,15,59,45,49,86,41,90,47,45,49 H,576899,8,100,4,16,1015675,59,5,1,2,1,5,2,2,,200,0,600,200,1,2000,1,,1,700,1,1,1,7,,,,1,1,,16,5,400,5,1,57000,2,,,1,1,57000,0,2,2,2,1,5,1,5,0,0,1,25,0,0,1,0,0,1,1183,3,0,1,32,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,19,57,70,57,19,103,24,74,104,116,102,55,17,92,68,54,56,60,51,19,17,60,65,52,17,108,18,56,97,105,89,55,17,99,55,59,63,57,59,97,106,50,73,56,88,15,101,56,19,15,18,66,86,15,58,63,56,52,65,100,92,61,61,63,101,18,97,54,21,17,19,73,104,19,59,68,56,55,51 H,576976,8,100,4,16,1015675,54,2,1,2,1,3,2,2,,50,0,200,20,6,300,1,,1,770,1,1,1,7,,,700,1,1,,21,2,300,3,1,75000,4,,,1,1,75000,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,0,0,1,1582,2,0,1,29,2,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,17,15,52,50,51,101,51,15,56,15,14,96,55,101,53,50,97,51,54,90,14,17,51,56,53,92,56,18,54,15,17,104,65,94,53,61,83,58,57,94,17,18,47,58,55,92,52,18,56,14,15,100,56,87,54,62,86,53,62,91,15,13,56,54,49,87,55,17,54,17,17,97,54,82,54,53,99,50,48 H,577947,8,100,4,16,1015675,126,2,1,1,,3,2,2,,130,520,2,3,3,,1,,,,,,1,4,2,650,,2,3,,,2,430,8,,,,816,101,1,5,5020,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,40,130,121,211,220,46,29,150,119,42,200,165,147,159,37,143,123,143,109,137,188,121,120,35,51,196,213,33,119,227,41,42,137,135,235,124,132,151,130,146,45,137,114,232,179,30,41,172,151,40,247,254,103,114,41,124,109,116,125,145,277,114,127,45,33,199,229,41,157,193,40,43,146,141,185,109,110,108,118 H,578102,8,200,4,16,1015675,157,2,1,2,1,3,1,2,,60,0,2,3,3,400,1,0,,,,3,1,5,,,,1,2,,14,2,2,5,4,18700,4,,,1,1,18700,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,2,135,,0,0,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,244,267,188,66,224,221,154,133,227,147,48,43,54,171,153,172,175,146,52,227,288,279,170,61,153,214,178,150,234,194,55,39,42,145,161,158,168,145,48,227,235,244,205,45,149,262,144,136,239,181,53,44,53,183,154,170,156,133,40,237,290,275,165,59,156,225,158,137,312,191,54,50,39,130,172,185,168,140,35 H,578248,8,800,4,16,1015675,112,1,1,1,,3,2,2,,10,0,800,20,1,300,1,,,,,3,1,6,,,,1,2,,15,4,550,6,,,,,,1,4,30050,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,0,0,1,253,,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,101,103,29,100,39,35,223,179,129,115,112,99,37,172,115,116,98,41,30,32,110,134,178,114,234,198,34,32,107,96,149,108,177,41,110,105,124,222,36,44,118,114,189,137,177,154,39,33,115,100,96,132,162,35,133,95,98,174,222,169,127,125,45,98,25,35,164,176,126,118,119,134,34,162,120,94,126,36,161 H,578293,8,200,4,16,1015675,140,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,134,44,156,126,235,231,42,43,252,149,44,256,241,183,155,40,135,139,143,132,127,200,156,157,35,35,230,219,48,152,231,42,42,144,169,233,102,129,148,151,167,266,154,156,45,46,211,197,42,141,263,47,43,155,126,189,161,143,125,123,124,40,138,148,233,222,40,33,217,151,42,244,235,159,152,40,111,136,147,133 H,578730,8,700,4,16,1015675,106,2,1,1,,3,2,2,,30,0,2,40,1,330,1,,2,410,2,1,1,5,,,,1,1,,20,2,350,3,,,,,,1,5,78200,0,4,4,4,1,2,0,,0,1,0,12,2,0,0,2,0,1,779,3,0,1,41,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,108,109,105,92,32,31,171,29,99,105,183,187,173,108,108,31,168,100,167,104,30,31,188,182,112,108,95,104,33,180,101,109,105,30,201,112,100,30,32,106,188,181,32,31,106,110,105,96,171,30,107,95,107,187,30,102,102,175,102,160,108,108,103,110,204,185,31,177,113,101,32,31,30,102,109,181,30,103,107 H,579043,8,300,4,16,1015675,248,2,1,2,1,2,1,2,,130,0,2,180,8,0,1,400,,,,3,1,6,,,,1,2,,8,2,2,5,4,40800,4,,,1,1,40800,0,4,4,4,1,3,0,2,0,0,0,10,0,0,0,1,0,1,343,,0,0,1,1,6,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,280,268,247,69,221,63,239,137,94,75,106,217,257,96,86,249,74,74,311,332,393,528,466,231,338,283,408,232,244,214,208,293,309,287,301,327,297,279,339,224,207,214,247,82,246,86,302,63,83,72,64,216,247,101,90,287,83,65,542,292,340,387,349,229,441,226,272,316,245,183,368,352,487,280,210,472,335,221,197 H,579332,8,900,4,16,1015675,222,1,1,2,1,2,2,2,,40,0,300,3,6,600,1,,1,1100,1,1,1,4,,,200,1,1,,20,6,2,5,,,,,,3,4,14500,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,2,1365,2,0,1,24,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,103,82,60,223,245,183,227,217,325,407,377,248,77,206,369,181,216,340,213,295,326,329,362,226,232,229,214,216,71,72,70,167,366,228,69,249,180,78,322,420,329,336,359,212,260,277,211,201,79,92,74,248,319,171,101,226,202,77,174,94,72,55,64,193,268,212,164,221,305,312,378,234,82,203,295,273,212,316,239,74 H,579391,8,500,4,16,1015675,76,2,1,1,,3,2,2,10,90,0,100,120,1,370,1,,2,580,2,1,1,7,,,,1,1,,14,3,470,2,,,,,,1,5,42000,0,4,4,4,1,3,0,,0,1,0,29,0,0,0,0,0,1,1011,3,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,70,77,136,69,21,133,106,21,92,89,24,85,25,77,73,58,140,85,20,138,79,78,140,70,20,138,134,24,74,80,21,73,23,82,71,78,113,88,25,153,85,83,127,83,23,118,123,27,71,81,22,82,21,79,85,78,123,71,24,125,88,85,107,71,20,129,122,24,64,70,18,74,22,93,83,69,122,71,24 H,579533,8,500,4,16,1015675,90,2,1,1,,3,2,2,,80,0,2,100,1,,1,,,,,,1,5,2,900,,1,3,,,2,420,3,1,48000,4,1115,28,1,1,48000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,86,90,30,28,143,29,85,94,153,166,172,99,88,27,144,73,29,98,27,153,27,26,101,95,90,90,142,24,92,93,81,155,26,99,86,151,84,188,89,116,105,90,24,31,131,25,84,102,147,174,158,106,88,26,141,89,22,86,33,148,28,30,88,84,80,90,164,22,87,101,85,128,25,112,96,148,83,144,100 H,579596,8,900,4,16,1015675,114,1,1,1,,2,2,2,,50,0,2,80,1,,1,,,,,,1,4,2,600,,1,3,,,1,540,8,,,,775,34,1,6,27200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,174,106,105,92,173,116,224,47,126,32,110,111,120,38,29,205,112,31,93,30,117,34,37,180,100,164,106,148,202,93,154,36,33,154,158,101,230,107,240,98,188,105,135,153,204,114,143,29,134,41,142,100,78,38,32,159,112,32,125,50,104,35,33,212,141,166,98,97,171,122,220,35,40,84,94,101,144,185,203 H,579851,8,400,4,16,1015675,123,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,118,138,162,79,109,216,218,258,113,36,120,155,142,122,194,136,40,39,161,204,137,119,116,145,167,38,44,32,87,166,84,34,137,104,39,139,244,217,211,205,121,136,148,115,144,55,34,33,112,216,127,38,150,111,37,136,162,201,28,40,113,113,126,101,131,157,209,240,96,36,86,149,134,135,256,157,55,38,52 H,579965,8,300,4,16,1015675,23,1,1,,,2,5,,,50,300,2,3,3,,1,,,,,,1,4,,,,2,4,,,0,2,4,,,,,,1,4,5000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,7,8,8,18,36,21,5,21,21,9,23,42,32,38,21,18,29,23,38,23,10,7,5,24,43,28,8,20,19,6,22,36,55,55,38,28,16,19,8,19,32,39,36,30,6,21,48,22,24,29,23,6,8,6,24,26,14,28,8,27,42,33,40,22,12,21,33,32,23,42,29,7,5,5,18,18,31,25,24 H,580409,8,200,4,16,1015675,47,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,48,19,52,74,90,102,44,48,44,49,44,19,12,15,56,74,46,12,47,87,62,11,47,80,70,93,47,48,39,49,36,14,13,11,60,73,45,16,50,14,53,97,56,16,14,14,46,52,45,47,50,83,63,76,50,12,55,73,36,18,66,69,45,12,12,19,41,46,43,43,36,81,74,72,64,14,53,97,44,89 H,580434,8,400,4,16,1015675,38,2,1,,,2,6,,,60,1800,2,3,3,,1,,,,,,1,4,2,190,,1,3,,,1,1,4,4,10700,4,250,28,1,1,10700,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,50,16,15,54,71,13,42,67,10,11,35,32,77,37,44,27,42,51,23,40,41,11,19,44,77,32,26,85,11,8,30,23,67,43,44,30,34,56,30,44,33,63,49,15,10,55,48,10,66,78,23,31,15,33,41,49,27,12,44,37,43,46,37,13,10,36,52,10,79,105,42,47,15,37,33,27,36,14,37,43 H,580554,8,100,4,16,1015675,155,1,1,1,,2,2,2,,150,0,2,3,3,,1,,,,,,1,5,2,850,,1,3,,,2,2,5,,,,1000,27,1,4,45000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,55,150,43,246,251,163,152,158,46,168,233,145,278,264,44,144,48,160,147,153,229,155,241,49,46,156,166,169,268,154,53,171,52,46,249,161,248,148,151,150,51,180,44,284,269,155,157,183,44,133,224,163,279,231,49,170,44,160,164,139,245,147,276,48,42,145,152,155,257,149,46,179,46,41,267,148,300,161,141 H,581555,8,100,4,16,1015675,26,2,1,1,,3,2,2,,40,0,130,40,1,300,1,,,,,3,1,8,,,,1,2,,17,3,480,5,4,92600,4,,,1,1,92600,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,2,1,2,264,,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,24,37,45,38,22,9,27,50,20,25,50,24,8,8,9,27,25,24,49,20,25,10,7,7,21,44,22,6,23,21,9,27,32,40,37,24,24,20,41,30,29,7,8,7,22,43,26,7,21,39,7,25,45,39,45,20,25,25,9,26,23,42,51,44,25,8,23,37,20,21,30,27,6,6,5,22,25,21,9 H,581652,8,100,4,16,1015675,90,2,1,,,2,8,,,70,860,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,2,6,7,5100,1,570,101,1,3,5100,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,70,119,130,60,151,32,20,147,135,31,77,131,30,20,101,123,168,94,73,123,95,122,26,82,87,160,150,25,21,156,88,31,136,87,93,113,39,117,64,97,89,70,24,112,67,99,129,25,26,143,94,32,151,180,107,91,20,79,108,93,126,77,204,115,72,22,27,161,191,29,70,97,20,36,100,106,146,62,135,75 H,581965,8,800,4,16,1015675,54,3,1,2,1,4,2,2,,210,0,2,3,3,300,1,,1,680,1,1,1,8,,,,1,1,,14,4,2,6,1,53900,2,,,1,1,53900,0,2,2,2,1,6,1,3,0,0,1,20,0,0,1,0,0,1,890,3,0,1,14,3,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,36,16,86,15,48,64,54,133,62,100,47,65,117,48,14,95,77,17,78,46,61,125,56,97,67,53,49,22,67,12,49,59,10,62,113,11,15,94,98,51,68,111,68,123,54,51,65,15,60,15,51,55,20,50,92,19,18,91,17,52,50,16,58,12,42,69,49,126,87,85,70,44,73,45,11,94,100,17,18 H,582163,8,800,4,16,1015675,283,8,1,2,1,5,2,2,,200,0,2,3,3,800,1,,1,1300,1,1,1,9,,,,1,1,,18,6,2,5,1,61000,1,,,1,1,83000,1,3,4,1,1,4,0,6,0,1,2,22,0,1,1,0,0,2,1500,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,216,122,362,265,283,415,260,326,211,294,464,262,109,477,478,127,301,279,370,441,323,381,284,301,345,92,381,98,271,401,79,253,405,68,101,454,303,258,97,74,236,107,258,299,308,422,346,370,265,267,500,266,123,372,351,133,264,270,427,401,294,423,290,296,240,94,351,97,292,288,88,434,436,77,119,422,238,244,92 H,582434,8,300,4,16,1015675,289,0,1,,,1,9,,,,,,,,,1,,,,,,1,2,,,,,,4,13,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,292,93,295,304,274,522,294,283,103,611,91,86,275,286,485,437,96,340,259,278,459,268,85,87,82,284,440,86,346,330,292,289,411,434,297,264,268,525,90,456,305,83,264,305,287,485,271,304,97,495,97,99,305,307,515,452,84,314,282,302,471,280,76,82,85,292,451,84,324,278,290,296,440,470,299,268,294,601,76,433 H,582651,8,800,4,16,1015675,25,3,1,3,6,3,2,2,,150,0,2,3,3,1000,1,,,,,3,1,5,,,,1,2,,21,3,2,6,3,52700,4,,,2,1,52700,0,4,4,4,1,5,0,3,0,0,0,9,0,0,0,1,0,2,375,,0,0,29,3,2,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,58,22,21,12,15,44,49,8,21,51,7,10,28,23,43,22,33,26,30,23,44,28,21,7,9,30,38,12,27,33,6,8,19,22,71,49,45,25,25,28,44,28,28,11,9,32,41,5,19,49,7,10,35,28,35,15,22,30,31,50,53,22,22,8,7,33,49,10,19,33,7,8,24,24,47,33,34,24,36,13 H,583688,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,584252,8,300,4,16,1015675,203,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,167,58,71,58,204,331,196,58,215,272,59,180,275,296,382,252,240,232,214,54,151,352,340,275,233,55,202,328,188,261,338,176,56,71,62,242,212,205,222,327,204,52,55,55,204,324,178,69,216,227,64,204,327,351,406,229,241,217,189,46,193,327,383,291,217,68,190,313,195,251,322,162,61,71,68,209,235,177,182,302 H,584451,8,800,4,16,1015675,349,2,1,,,3,5,,,30,0,2,3,3,,1,,,,,,1,4,2,540,,1,3,,,2,1,3,,,,570,24,1,7,28700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,317,109,288,574,367,332,334,475,350,533,129,334,128,275,344,291,96,126,470,362,184,419,443,458,558,555,112,400,135,399,366,127,296,114,553,525,325,315,440,91,375,547,456,124,398,344,311,126,389,132,460,463,447,463,372,298,636,507,153,280,474,325,114,282,87,136,525,272,502,306,361,499,377,485,138,141,405,341,395,603 H,585426,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,585536,8,900,4,16,1015675,37,1,1,1,,4,2,2,,130,0,2,3,3,700,1,,1,710,1,1,1,8,,,,1,1,,14,2,620,5,,,,,,1,4,71600,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,0,2,892,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,80,74,60,34,31,47,39,23,10,12,13,41,56,35,8,31,39,12,50,36,70,59,61,40,38,43,37,35,10,12,12,36,66,38,12,37,30,9,12,46,13,10,10,38,35,32,40,38,70,78,67,35,9,27,70,36,31,65,11,27,11,15,10,32,33,42,36,41,61,55,56,39,12,44,56,24,36,50,59 H,585645,8,400,4,16,1015675,97,2,1,2,1,3,1,2,,60,0,2,3,3,390,1,0,1,1700,1,1,1,5,,,,1,1,,16,2,2,4,,,,,,1,5,71000,0,4,4,4,1,1,0,,0,1,0,30,0,0,0,0,0,2,1760,3,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,26,28,93,93,124,81,101,99,88,164,118,91,32,34,186,174,32,111,86,53,148,151,67,74,52,118,77,83,85,25,107,121,156,135,25,27,154,145,96,153,30,34,86,95,168,105,112,62,72,211,136,90,28,31,213,202,29,95,103,33,159,216,83,57,28,107,92,134,123,28,119,90,117,131,28,33,131,91,112 H,585667,8,600,4,16,1015675,104,2,1,,,2,8,,,30,0,2,50,1,,1,,,,,,1,4,2,620,,1,3,,,2,1,5,,,,700,79,2,5,10600,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,179,168,108,228,24,87,102,109,31,107,174,105,33,34,111,108,27,176,105,101,171,216,115,172,30,113,104,109,28,100,177,108,29,29,104,110,29,173,101,118,154,162,123,179,32,106,111,100,30,106,156,96,37,37,106,110,31,159,91,113,183,171,113,157,30,109,88,113,27,104,170,107,32,32,111,97,32,179,99 H,585926,8,900,4,16,1015675,139,2,1,1,,3,2,2,,40,0,2,130,1,380,1,,,,,3,1,9,,,,1,2,,18,2,50,6,4,55600,4,,,1,1,55600,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,356,,0,1,30,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,116,133,155,132,47,47,49,149,231,150,36,127,211,54,129,224,240,245,67,145,145,104,108,180,164,197,200,132,45,168,290,118,106,194,105,43,46,46,289,125,150,116,155,108,30,52,40,107,263,125,41,129,111,44,184,213,244,258,41,190,154,127,160,160,240,137,180,200,58,178,276,111,122,203,127,29,47,70,219 H,586013,8,100,4,16,1015675,86,2,1,1,,3,2,2,,90,0,2,100,1,650,1,,1,830,1,1,1,5,,,,1,1,,17,2,680,9,1,55640,4,,,1,1,55640,0,4,4,4,1,7,0,2,0,0,0,23,0,0,0,1,1,2,1077,3,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,68,168,159,162,104,29,90,133,89,103,157,86,31,25,20,82,77,81,29,74,93,155,165,179,99,32,76,121,79,78,138,87,27,24,20,92,89,81,26,124,87,129,122,175,97,27,120,117,77,126,143,85,28,23,20,77,73,82,22,90,89,153,154,159,115,26,82,147,78,88,134,92,26,22,22,84,103,93,25 H,586337,8,700,4,16,1015675,82,2,1,1,,3,2,2,,40,0,2,80,1,250,1,,2,200,2,1,1,5,,,,1,1,,16,2,540,2,4,5000,4,,,1,1,5000,0,4,4,4,1,3,0,2,0,0,0,101,0,0,0,2,0,1,536,3,0,1,30,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,136,135,24,82,152,25,23,75,98,128,78,84,89,87,129,80,83,23,79,21,129,146,24,87,130,23,24,80,90,132,89,88,77,86,146,84,78,26,89,23,152,136,24,77,123,26,24,86,72,140,81,81,83,80,133,84,78,24,89,23,159,139,25,83,140,27,23,82,83,133,83,84,83,74,142,79,84,22,86 H,586362,8,300,4,16,1015675,42,1,1,1,,2,1,2,,80,0,2,3,3,450,1,240,,,,3,1,5,,,,1,2,,6,1,720,4,,,,,,1,4,38000,0,4,4,4,1,6,0,,0,0,0,7,0,0,0,0,0,2,228,,0,0,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,42,40,14,15,77,61,12,46,63,14,14,49,32,61,38,33,42,45,62,73,41,40,15,11,69,97,15,40,78,14,11,51,63,72,57,47,33,38,39,64,49,45,10,17,75,63,15,38,61,12,13,46,67,52,52,49,33,67,34,67,44,50,18,15,83,69,12,37,63,15,12,42,34,60,36,45,62,42,35 H,586884,8,400,4,16,1015675,35,2,1,3,5,2,2,2,,30,0,400,3,3,250,1,,,,,3,1,4,,,,1,2,,18,2,2,9,4,25600,4,,,1,1,25600,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,2,1,159,,0,0,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,72,34,40,56,38,16,12,10,35,34,33,44,30,60,70,60,30,9,41,69,10,35,34,9,32,78,52,62,48,35,40,31,27,12,13,9,33,66,34,55,10,29,32,10,34,60,62,50,41,34,32,34,43,10,8,14,40,57,41,14,52,41,42,82,36,9,12,12,34,41,37,27,31,56,61,70,38,13,32,10 H,587315,8,800,4,16,1015675,85,2,1,1,,2,1,2,,100,0,2,200,1,420,1,300,2,350,2,1,1,4,,,,1,1,,6,2,480,3,3,45000,4,,,1,1,45000,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,2,2,1,783,3,0,0,10,1,7,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,74,78,86,103,100,138,168,135,54,25,101,177,87,84,137,87,25,22,156,111,77,73,87,88,87,22,26,23,76,152,103,30,81,95,27,70,159,135,111,189,101,118,64,50,94,30,32,27,89,138,87,19,64,93,19,75,155,164,24,31,95,82,84,75,99,149,138,140,72,27,91,129,77,104,138,85,29,24,28 H,587518,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,587684,8,400,4,16,1015675,21,2,1,1,,2,2,2,,70,0,2,230,1,280,1,,,,,3,1,4,,,,1,2,,11,2,500,9,4,28800,4,,,1,1,28800,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,2,428,,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,46,16,19,32,16,20,40,41,29,34,22,46,21,32,20,23,23,23,55,8,6,20,20,8,21,17,6,7,7,7,20,8,18,5,23,22,18,21,6,6,8,26,20,8,20,17,8,8,7,6,20,7,26,8,21,27,36,22,7,35,42,17,17,35,18,17,37,39,37,33,24,54,16,27,26,19,15,22,49,36 H,588006,8,300,4,16,1015675,48,1,1,1,,3,2,2,,80,0,2,3,3,730,1,,,,,3,1,5,,,,1,2,,13,1,740,5,,,,,,1,6,13500,0,4,4,4,1,6,0,,0,0,0,24,0,0,0,1,1,1,270,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,17,73,64,13,46,46,13,44,13,53,50,31,107,63,93,48,51,120,93,69,83,13,17,91,46,43,68,45,94,47,44,48,11,55,15,44,49,14,20,55,16,94,86,14,38,49,11,38,18,49,54,56,65,56,98,54,51,68,70,35,76,13,16,87,61,53,88,46,62,45,43,39,17,65,16,47,67,16,18 H,588629,8,900,4,16,1015675,62,1,1,1,,1,2,2,,30,0,2,50,1,260,1,,2,400,2,1,1,3,,,,1,1,,10,1,660,4,,,,,,1,6,35000,0,4,4,4,1,5,0,,0,0,0,20,0,0,0,0,0,1,589,3,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,101,20,16,17,19,106,58,75,15,107,66,69,97,51,71,114,54,60,63,71,90,18,21,23,18,96,63,55,14,106,61,54,89,61,58,112,73,57,64,67,22,103,100,87,95,18,63,73,110,18,65,57,17,54,61,16,62,67,60,64,15,119,108,118,93,17,65,69,106,15,60,68,19,64,55,15,59,58,54 H,588762,8,200,4,16,1015675,135,1,1,,,1,5,,,30,0,2,3,3,,1,,,,,,1,2,2,440,,1,3,,,0,1,4,,,,470,,4,4,0,0,4,4,4,2,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,143,138,55,196,188,180,241,66,41,172,98,41,212,152,152,156,35,151,121,170,196,131,232,207,129,45,59,300,142,44,144,151,45,40,113,140,219,131,96,227,171,200,65,175,154,206,278,56,32,210,124,38,186,156,168,125,28,153,135,94,126,100,238,180,164,40,49,314,172,33,136,198,48,35,115,216,276,114,129 H,588785,8,100,4,16,1015675,162,3,1,,,2,5,,,120,0,2,3,3,,1,,,,,,1,3,2,480,,1,3,,,2,1,3,1,58600,1,600,12,1,1,58600,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,168,285,140,57,184,156,155,43,149,40,262,129,305,198,155,156,268,299,186,149,55,172,248,176,269,311,52,195,47,149,178,49,186,50,259,347,144,157,144,180,308,187,49,162,54,48,298,170,304,173,207,299,156,256,35,53,160,137,282,274,191,48,157,244,172,165,189,283,155,323,45,128,44,147,150,173,52,48,56 H,588823,8,900,4,16,1015675,69,3,1,2,1,4,2,2,,30,0,2,40,1,470,1,,1,900,1,1,1,9,,,240,1,1,,17,3,280,6,1,89780,4,,,1,1,89780,0,4,4,4,1,3,0,3,0,0,0,16,0,0,0,0,0,2,1233,4,0,1,32,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,135,126,76,23,115,23,70,69,82,65,76,74,97,20,61,66,26,23,81,114,65,62,108,75,64,61,122,20,19,24,18,122,59,59,21,130,80,86,119,64,118,128,61,21,114,27,89,63,72,73,65,74,115,17,70,60,19,21,98,100,80,60,95,82,72,83,129,18,21,20,25,127,70,65,22,107,71,74,119 H,588829,8,300,4,16,1015675,106,5,1,1,,3,2,2,,150,0,2,20,1,,1,,,,,,1,5,2,500,,1,3,,,3,1,7,1,66500,2,670,12,1,1,66500,0,2,2,2,1,4,2,5,0,0,2,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,196,103,78,199,125,150,31,29,119,100,109,175,113,37,96,33,34,143,97,125,188,108,114,166,96,169,25,28,110,120,109,162,112,36,125,37,29,158,92,95,193,127,103,144,105,191,26,29,103,120,128,172,109,32,115,28,34,202,86,118,212,112,102,194,123,158,30,28,93,122,84,151,97,31,98,29,35,190,114 H,589274,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,589750,8,800,4,16,1015675,105,1,1,1,,3,1,2,,50,0,2,3,3,250,1,5500,,,,3,1,4,,,,1,2,,4,2,600,5,,,,,,1,4,24000,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,0,0,2,579,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,147,103,103,99,36,118,182,96,176,195,34,94,40,106,104,31,86,41,97,223,171,84,89,103,35,123,215,110,179,154,29,103,25,138,106,27,110,32,124,36,29,98,98,103,181,100,24,118,33,26,158,121,165,123,119,151,83,167,99,30,37,130,145,100,152,117,35,102,32,33,178,105,202,83,125,157,111,213,106 H,589898,8,500,4,16,1015675,92,3,1,1,,3,1,2,,130,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,3,1,3,,,,630,17,1,7,45800,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,86,118,37,92,100,197,62,122,219,31,33,93,107,83,93,135,29,143,41,163,117,147,21,92,69,118,159,213,176,25,28,87,77,129,77,157,20,75,141,76,89,30,211,99,140,38,84,23,25,125,150,83,121,67,92,32,164,144,167,97,92,33,111,90,80,26,85,35,28,135,158,101,59,101,113,27,186,69,20 H,590156,8,700,4,16,1015675,87,3,1,1,,3,2,2,,40,0,2,30,1,620,1,,1,1200,1,1,1,7,,,,1,1,,17,2,350,2,2,30800,1,,,1,1,30800,0,1,1,1,1,3,1,3,0,0,1,51,0,0,1,0,0,1,1299,3,0,1,29,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,23,86,150,146,95,88,84,106,86,28,91,141,24,94,27,87,155,81,23,135,27,75,156,151,91,82,87,100,97,29,82,135,25,96,29,88,154,81,158,25,152,90,23,23,80,97,87,86,84,130,87,28,144,86,154,84,23,94,167,29,161,94,27,27,94,90,86,80,85,147,85,25,156,83,139,98,26,85,24 H,590379,8,600,4,16,1015675,103,3,1,1,,3,2,2,,80,0,2,120,1,500,1,,,,,3,1,6,,,,1,2,,20,2,300,9,8,16500,4,,,1,3,24050,0,4,4,4,1,7,0,2,0,1,0,17,0,0,0,1,1,1,334,,0,1,18,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,31,98,116,91,32,202,33,118,161,159,209,102,28,170,102,87,94,110,92,28,33,108,110,104,33,191,28,104,181,187,164,104,29,191,108,113,103,109,111,31,30,98,124,90,32,182,31,113,165,159,185,96,32,169,100,99,94,103,97,27,33,102,99,110,37,169,30,113,169,166,195,112,31,188,115,98,102,108,94 H,590663,8,100,4,16,1015675,47,3,1,2,1,3,2,2,,80,0,2,30,1,,1,,,,,,1,5,2,900,,1,3,,,3,1100,5,2,33000,2,1102,40,1,1,33000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,98,95,41,54,69,52,42,58,86,86,62,35,94,59,83,47,51,46,14,57,12,14,40,40,19,50,55,10,14,17,11,54,14,51,15,49,46,50,62,50,72,81,43,53,71,35,52,66,100,75,112,56,90,47,75,53,39,42,14,42,16,13,47,51,12,45,44,20,20,11,15,49,20,46,11,38,44,42,61 H,590881,8,100,4,16,1015675,78,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,78,72,23,20,115,150,21,74,137,19,27,95,67,134,76,67,81,74,86,128,71,66,24,25,98,139,25,81,117,22,28,88,107,125,67,68,67,87,70,139,75,83,26,19,122,128,20,85,139,19,20,70,86,149,73,62,80,89,92,113,83,88,20,31,123,135,23,65,127,21,27,64,69,128,68,94,82,86,85 H,591172,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,591364,8,800,4,16,1015675,39,2,1,1,,1,2,2,,30,0,2,50,2,750,1,,2,880,2,1,1,2,,,,1,1,,20,2,480,2,1,77500,4,,,1,1,77500,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,0,0,1,1396,3,0,1,52,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,46,13,12,10,40,39,35,45,44,64,73,68,30,8,47,89,40,34,59,12,40,58,65,69,37,43,44,41,46,15,12,10,38,55,36,12,40,33,73,10,37,58,62,69,29,31,38,40,42,9,12,11,38,55,34,10,31,46,13,66,37,11,12,10,47,37,31,43,36,58,64,75,56,14,43,72,50,47,10 H,591500,8,600,4,16,1015675,120,4,1,1,,3,2,2,,90,0,2,140,1,,1,,,,,,1,6,2,830,,1,3,,,1,360,9,7,35750,4,1090,37,4,3,35750,0,4,4,4,1,3,0,3,0,1,0,,0,0,0,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,202,186,120,31,229,38,116,125,117,117,106,120,179,38,135,113,34,33,109,210,124,124,197,121,111,130,224,32,34,31,35,208,117,121,38,189,117,133,192,111,182,230,116,38,187,32,142,115,126,112,121,116,192,37,125,116,33,40,125,200,112,123,195,119,132,120,189,41,36,35,34,192,117,121,35,193,119,131,204 H,591706,8,100,4,16,1015675,149,2,1,,,3,8,,280,60,0,2,110,1,620,1,,1,1300,1,1,1,4,,,,1,1,,21,1,1,2,4,121500,4,,,1,1,121500,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,2,1,1,1750,3,0,0,62,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,130,48,184,119,156,251,130,248,157,130,232,144,46,224,227,38,110,136,42,51,181,44,152,167,200,270,122,164,169,151,279,164,34,266,191,75,187,147,59,37,173,48,107,159,196,215,145,203,185,186,223,131,36,226,231,55,192,138,33,70,142,39,185,214,140,234,140,216,148,121,252,158,43,275,202,45,136,150,62 H,591955,8,100,4,16,1015675,25,2,1,1,,2,2,2,,50,0,2,50,1,500,1,,1,320,1,1,1,4,,,,1,1,,15,3,600,9,4,27700,4,,,1,1,27700,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,2,2,2,470,3,0,1,9,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,22,35,57,29,8,47,44,8,27,29,8,24,9,24,19,23,36,20,9,37,26,28,50,29,10,56,35,6,25,23,7,22,9,24,18,25,48,21,42,7,26,24,7,29,46,8,10,30,28,30,43,25,46,27,21,25,7,21,30,7,25,28,7,27,53,8,9,49,24,30,39,24,54,24,20,22,8,30,7 H,591990,8,300,4,16,1015675,23,2,1,2,1,4,2,2,,90,0,1500,180,2,2800,1,,,,,3,1,7,,,,1,2,,19,5,360,9,4,34100,4,,,1,1,34100,0,4,4,4,1,7,0,2,0,0,0,27,0,0,0,2,2,1,758,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,27,19,5,6,9,18,39,26,7,15,23,7,30,43,45,48,27,27,7,25,19,22,38,37,34,21,7,22,40,20,26,44,19,5,5,9,28,27,8,27,30,19,28,47,43,21,6,20,28,25,25,41,33,8,7,8,21,28,36,26,26,24,5,7,8,36,41,18,7,25,21,7,21,34,42,37,17,22,39 H,592229,8,600,4,16,1015675,119,3,1,1,,4,2,2,,50,0,2,200,1,370,1,,1,1700,1,1,1,8,,,300,1,1,,19,2,1000,7,1,135000,1,,,1,1,135000,0,1,1,1,1,1,1,3,0,0,1,21,0,0,1,0,0,2,2333,2,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,114,119,179,110,222,224,35,35,104,132,115,122,195,36,112,105,124,219,39,34,130,111,209,116,219,212,34,37,115,124,114,125,191,33,133,111,123,196,38,37,112,120,207,126,202,186,36,31,130,113,126,117,208,38,120,133,118,183,36,36,131,129,217,131,193,197,37,33,118,110,119,123,193,34,122,113,118,203,33,35 H,592350,8,100,4,16,1015675,106,1,1,1,,3,2,2,,100,0,2,2,1,280,1,,2,200,2,1,1,6,,,,1,1,,15,1,50,8,,,,,,1,6,17300,0,4,4,4,1,5,0,,0,0,0,28,0,0,0,1,0,1,410,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,125,94,32,95,95,173,34,150,208,114,107,30,36,171,112,110,112,180,204,101,115,110,169,113,105,27,169,33,36,90,116,188,179,29,111,127,100,31,200,94,110,113,170,119,103,28,196,30,34,92,100,190,213,33,104,118,103,28,30,108,114,109,32,108,108,160,32,205,173,120,114,25,29,173,109,101,113,160,29 H,592388,8,600,4,16,1015675,88,2,1,1,,2,2,2,,50,0,2,20,1,,1,,,,,,1,4,2,750,,1,3,,,3,180,3,7,57000,4,835,18,1,3,57000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,129,151,93,25,27,84,149,28,160,87,75,91,102,100,101,21,153,86,92,164,84,82,159,82,82,155,72,93,83,140,23,25,28,28,160,81,97,27,82,160,91,87,137,88,89,143,77,98,85,146,28,27,27,26,159,84,82,34,25,97,130,145,86,23,24,88,137,25,149,92,86,92,91,107,97,21,152,92,32 H,592705,8,300,4,16,1015675,105,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,162,209,101,84,120,122,113,40,35,34,108,192,95,29,113,105,34,94,154,171,177,173,93,135,112,91,85,28,35,32,101,159,103,32,107,118,33,106,160,130,197,202,114,100,93,83,105,35,29,31,104,173,108,37,120,116,31,92,171,190,181,233,97,91,111,97,90,31,32,35,105,163,108,32,100,98,35,116,182,164 H,593021,8,100,4,16,1015675,72,1,1,1,,3,2,2,,50,0,1200,3,3,430,1,,1,380,1,1,1,5,,,,1,1,,17,1,640,5,,,,,,1,6,19700,0,4,4,4,1,4,0,,0,0,0,36,0,0,0,1,1,1,583,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,153,157,69,75,72,74,55,15,72,123,20,51,22,91,100,64,120,25,21,78,108,121,80,68,115,63,66,21,77,130,22,83,21,84,155,81,116,19,16,79,177,186,65,72,64,54,71,15,83,129,32,77,20,58,142,73,82,23,15,68,139,114,88,85,71,82,96,27,70,151,29,64,26,70,94,62,100,20,19 H,593245,8,200,4,16,1015675,72,2,1,2,1,3,1,2,,170,0,400,3,6,1300,1,0,,,,3,1,6,,,,1,2,,20,3,2,4,,,,,,1,5,75600,0,4,4,4,1,5,0,,0,1,0,6,2,0,0,0,0,1,402,,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,26,85,111,53,70,90,118,80,134,21,90,23,73,64,76,21,16,120,72,120,66,24,75,16,20,124,76,116,70,64,148,74,102,23,24,72,60,77,128,86,24,82,105,66,83,66,112,66,153,23,76,25,71,49,74,26,17,117,81,96,103,33,59,18,17,124,59,112,93,77,99,67,134,17,21,67,62,72,125 H,593770,8,700,4,16,1015675,112,2,1,1,,3,2,2,,50,0,2,20,1,600,1,,,,,3,1,9,,,,1,2,,20,2,480,3,4,18800,4,,,1,1,18800,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,2,2,1,427,,0,1,44,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,105,172,114,105,164,111,37,32,32,116,103,112,105,110,210,189,198,113,203,195,112,37,102,113,34,121,172,210,191,98,120,115,110,106,30,39,38,112,33,34,123,185,120,113,182,121,35,37,35,108,106,117,108,109,206,190,211,106,178,178,103,34,108,102,30,105,201,188,177,108,116,110,110,106,32,32,38,107,33 H,593788,8,500,4,16,1015675,138,1,1,1,,1,2,2,,50,0,2,140,1,400,1,,,,,3,1,6,,,,1,2,,12,1,550,7,,,,,,1,6,1000,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,1,352,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,129,143,131,43,147,50,139,48,35,41,42,147,148,42,33,140,37,39,211,230,252,228,230,142,251,147,254,142,112,122,142,236,227,132,159,209,139,127,132,137,137,144,155,42,154,38,113,37,31,36,37,139,149,36,40,146,38,44,265,227,237,257,302,136,254,123,254,132,134,137,159,253,230,122,136,233,130,144,153 H,593878,8,800,4,16,1015675,61,8,1,2,1,2,2,2,,110,4800,2,250,2,,1,,,,,,1,5,2,300,,1,3,,,3,1,9,1,62400,3,660,13,2,1,62400,1,3,2,3,2,3,1,8,0,0,2,,0,1,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,80,30,59,60,74,118,56,112,72,50,95,50,23,131,80,14,65,62,17,19,105,19,44,72,62,95,65,106,57,53,75,56,19,107,99,13,65,55,110,146,56,83,58,62,71,22,62,20,56,75,19,50,79,19,20,103,66,91,86,128,44,68,58,63,60,15,61,13,50,78,16,56,83,15,25,108,65,69,17 H,593956,8,700,4,16,1015675,208,5,1,1,,4,2,2,,90,0,2,10,1,,1,,,,,,1,5,2,1000,,1,3,,,6,2,1,,,,1100,11,1,5,120100,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,347,202,187,372,236,57,359,421,67,196,211,58,200,61,205,208,189,344,213,67,325,197,225,330,202,61,380,365,65,224,202,67,190,56,216,188,208,332,199,359,59,193,208,67,222,369,70,58,323,226,193,335,212,335,211,192,225,62,182,327,65,225,205,62,196,356,61,66,347,194,192,338,217,347,198,210,203,69,198,65 H,594056,8,900,4,16,1015675,20,4,1,2,1,5,2,2,,140,0,2,200,2,430,1,,2,1100,2,1,1,9,,,,1,1,,15,4,670,6,1,346901,4,,,1,1,346901,0,4,4,4,1,1,0,4,0,0,0,6,0,0,0,1,0,1,1636,3,0,1,24,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,16,28,6,35,21,6,5,6,20,35,3,17,23,15,19,31,26,26,20,18,21,37,5,33,23,6,5,5,16,31,5,18,20,22,20,33,31,21,18,16,20,34,7,28,22,5,5,5,19,32,7,20,19,22,20,33,36,22,24,18,20,31,7,31,19,7,7,6,20,32,5,15,16,17,24,41,31,17,20 H,594343,8,300,4,16,1015675,161,0,1,,,1,6,,,,,,,,,1,,,,,,1,2,2,380,,,,2,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,150,151,253,152,292,210,180,187,50,167,58,151,169,53,148,292,47,48,46,52,148,132,48,176,54,129,138,177,294,177,241,170,151,245,189,57,302,283,61,52,170,146,50,142,41,157,159,190,308,175,252,195,185,259,152,47,280,252,249,257,157,163,271,155,338,161,152,176,44,174,48,134,167,55,177,297,41,41,212 H,594365,8,700,4,16,1015675,27,5,1,2,1,5,2,2,,180,0,2,160,1,1000,1,,2,1500,1,1,1,9,,,520,1,1,,20,5,560,9,1,127000,2,,,1,1,127000,0,2,2,2,1,6,1,5,0,0,1,24,0,1,1,0,0,2,2490,2,0,1,30,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,8,25,7,7,40,46,25,27,25,28,8,39,23,27,27,8,43,27,42,24,8,22,8,9,42,46,28,27,28,27,6,44,26,25,27,7,45,26,7,29,44,23,43,44,8,7,23,25,26,25,47,9,25,25,28,45,7,27,8,24,43,27,46,44,7,7,25,23,26,26,43,8,23,25,25,47,6,23,43 H,594423,8,800,4,16,1015675,35,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,31,60,35,10,35,61,54,37,33,58,9,31,11,10,33,10,52,37,34,41,35,51,38,9,33,77,61,35,36,49,9,34,9,11,35,9,66,34,34,32,30,10,32,56,36,10,9,39,35,9,55,32,54,66,34,53,8,32,30,38,39,12,41,59,37,10,12,34,30,12,56,32,56,53,35,54,9,29,36 H,594772,8,200,4,16,1015675,0,1,3,,,,,,,,1800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,594971,8,300,4,16,1015675,131,2,1,1,,5,2,2,,100,0,2,3,3,450,1,,,,,3,1,9,,,,1,2,,15,3,390,5,2,165900,4,,,1,1,165900,0,4,4,4,1,6,0,2,0,0,0,2,0,0,0,1,0,1,282,,0,1,25,1,6,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,127,284,107,230,221,36,41,133,167,138,137,210,43,140,117,132,231,37,47,127,122,199,160,225,201,33,37,151,147,116,119,197,40,102,175,168,182,31,36,134,144,223,166,216,263,41,40,116,125,128,156,211,49,122,121,140,191,32,35,117,138,243,132,222,233,33,39,128,164,128,120,218,41,119,119,133,203,34,34 H,595001,8,300,4,16,1015675,104,2,1,1,,5,2,2,,60,0,2,60,1,1100,1,,,,,3,1,8,,,,1,2,,18,3,480,6,4,5900,4,,,1,1,5900,0,4,4,4,1,7,0,2,0,0,0,74,0,0,0,1,1,1,365,,0,1,25,0,9,9,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,89,33,148,32,111,182,183,175,90,36,142,99,99,99,116,36,29,94,29,37,170,121,111,99,189,103,134,114,34,107,99,200,27,170,140,105,105,36,92,114,104,198,30,156,87,33,30,36,108,186,31,110,101,94,98,187,176,133,173,167,27,97,103,102,32,114,130,102,151,116,112,33,152,27,29,108,102,181,97 H,595394,8,100,4,16,1015675,59,5,1,2,2,3,2,2,,170,0,300,3,6,310,1,,1,700,1,1,1,6,,,90,1,1,,16,6,2,5,1,40000,2,,,1,1,40000,0,2,2,2,1,5,2,5,0,0,2,30,0,0,1,0,0,1,985,2,0,1,11,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,123,21,19,16,18,96,67,58,18,100,73,61,88,59,60,99,64,52,62,52,101,20,16,20,14,131,47,57,20,96,72,49,116,64,50,89,42,62,55,62,16,94,129,80,101,16,74,66,120,19,48,51,25,47,65,19,46,53,57,62,20,86,107,122,96,16,54,78,95,14,67,60,17,67,85,19,48,62,67 H,595439,8,900,4,16,1015675,86,3,1,1,,5,2,2,,120,0,2,100,1,700,1,,1,1500,1,1,1,9,,,400,1,1,,18,2,480,2,1,98610,4,,,1,1,98610,0,4,4,4,1,3,0,3,0,0,0,26,0,0,0,0,0,1,2160,2,0,1,17,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,129,102,26,67,72,22,79,146,165,215,63,56,90,73,71,31,29,25,155,66,108,84,31,131,93,29,98,135,146,140,99,74,99,94,61,33,41,32,139,77,125,101,29,81,86,20,81,166,172,158,96,63,103,93,81,32,24,23,146,75,107,84,34,82,69,25,92,126,137,146,83,72,100,87,77,33,37,34,159 H,595694,8,800,4,16,1015675,78,1,1,1,,4,2,2,,40,0,2,210,1,500,1,,1,650,2,1,1,8,,,,1,1,,15,1,370,5,,,,,,1,6,13400,0,4,4,4,1,4,0,,0,0,0,92,0,0,0,1,1,1,1031,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,110,130,23,22,87,26,77,82,133,71,117,73,119,85,71,23,82,81,118,67,72,94,81,63,130,75,22,142,83,147,81,27,80,25,147,86,24,28,22,70,95,80,69,84,24,81,137,20,78,21,70,137,71,121,23,73,136,143,82,127,25,19,126,141,87,133,75,89,22,77,26,84,20,89,78,154,89,76,71 H,595734,8,900,4,16,1015675,51,1,1,2,1,3,2,2,,60,0,2,3,4,350,1,,,,,3,1,5,,,,1,2,,18,0,2,2,,,,,,1,6,3200,0,4,4,4,1,3,0,,0,0,0,83,0,0,0,1,1,2,222,,0,1,28,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,60,67,82,80,94,53,19,71,109,61,45,67,55,18,14,20,52,45,55,13,68,56,92,85,111,48,14,62,94,44,48,75,44,13,14,15,56,42,58,18,49,43,81,94,69,51,22,53,75,62,57,87,63,15,16,14,50,53,53,17,45,49,93,108,87,39,17,61,82,54,60,86,53,15,14,17,68,47,42,13 H,595786,8,700,4,16,1015675,122,3,1,1,,3,2,2,,60,0,2,80,1,300,1,,1,1200,1,1,1,6,,,400,1,1,,18,4,40,3,,,,,,1,5,243400,0,4,4,4,1,4,0,,0,1,0,9,0,0,0,0,0,1,1743,2,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,34,107,190,226,233,125,126,107,138,116,36,33,38,120,191,130,40,138,35,132,199,125,33,38,37,122,128,119,129,116,214,197,200,136,33,130,205,130,215,119,40,124,224,218,185,126,108,131,118,129,37,39,38,119,232,120,33,126,39,132,222,135,40,34,35,129,126,115,116,125,217,197,203,120,35,126,214,106,209 H,595934,8,600,4,16,1015675,85,2,1,,,2,6,,,50,0,2,3,3,,1,,,,,,1,4,2,430,,1,3,,,2,2,4,,,,480,31,1,5,18500,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,156,93,25,149,27,75,74,82,96,98,80,142,25,82,106,26,26,83,130,84,83,138,99,96,88,153,27,27,25,24,139,86,92,21,143,88,80,142,100,26,28,75,160,24,146,89,84,98,82,80,86,23,139,87,94,143,148,97,25,85,86,28,79,87,85,30,171,125,160,147,23,81,90,145,27,88,80,27,83,144 H,595936,8,300,4,16,1015675,127,5,1,2,1,5,2,2,,100,0,2,3,8,450,1,,1,680,1,1,1,9,,,200,1,1,,15,1,2,5,1,77000,2,,,3,1,77000,0,2,2,2,1,5,3,5,0,0,3,15,0,0,1,0,0,1,980,1,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,133,35,119,129,33,91,34,201,191,122,177,181,48,101,212,113,169,216,94,276,123,216,131,157,248,146,220,44,43,140,164,124,198,114,28,135,28,35,113,183,130,176,155,112,161,118,194,41,41,129,136,115,249,157,42,115,50,45,107,52,98,34,125,122,33,114,40,213,237,185,152,150,33,125,202,117,198,216,143 H,596647,8,200,4,16,1015675,100,4,1,1,,4,2,2,,150,0,1400,3,4,590,1,,2,1400,1,1,1,8,,,,1,1,,18,1,1000,9,1,61400,4,,,1,1,61400,0,4,4,4,1,6,0,4,0,0,0,35,0,0,0,0,0,1,1799,3,0,1,34,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,24,27,120,96,100,127,108,152,186,128,80,33,90,200,94,100,167,86,30,31,32,37,100,128,131,115,130,170,123,140,136,30,99,154,99,87,178,119,210,190,169,177,103,75,80,96,102,35,22,33,97,140,91,33,82,102,30,96,179,173,191,124,114,122,95,115,108,25,29,32,91,147,118,36,100,120,39,101,22 H,596771,8,800,4,16,1015675,93,1,1,2,1,4,2,2,,70,0,900,3,4,1300,1,,,,,3,1,9,,,,1,2,,14,2,2,7,,,,,,1,6,2800,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,0,1,300,,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,82,93,27,29,165,156,30,87,171,30,29,81,104,180,90,99,112,100,90,26,107,94,132,132,29,31,123,108,36,158,130,80,86,26,89,87,95,90,82,24,84,104,136,149,31,28,163,101,28,160,203,75,78,30,89,90,94,119,94,159,108,114,27,30,190,150,29,88,139,26,24,101,79,134,80,87,104,81,109 H,596841,8,200,4,16,1015675,92,2,1,1,,3,2,2,,30,0,2,30,1,0,1,,,,,3,1,6,,,,1,2,,16,2,1000,7,,,,,,1,7,73440,0,4,4,4,1,4,0,,0,1,0,4,3,0,0,0,0,1,243,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,31,31,109,107,79,195,80,26,103,27,27,169,81,142,83,122,128,84,63,159,23,25,115,86,93,166,92,23,75,24,20,166,83,135,119,73,160,92,133,28,161,123,78,84,92,29,79,167,83,159,159,26,80,27,77,99,25,82,83,32,169,132,87,84,119,29,90,158,77,230,131,27,98,23,103,69,31,99,125 H,596884,8,800,4,16,1015675,144,2,1,,,2,8,,,90,0,2,3,3,,1,,,,,,1,4,2,680,,1,3,,,1,1,5,1,244100,4,770,4,2,1,244100,0,4,4,4,2,4,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,194,173,48,128,207,42,30,198,136,225,111,178,112,186,343,125,262,57,112,39,235,275,36,187,281,63,75,142,148,346,209,135,146,127,175,198,115,36,98,186,58,59,209,166,31,294,272,120,123,55,184,177,177,118,33,156,138,243,160,287,67,34,208,109,42,183,202,159,142,34,133,244,146,131,52,154,244,259,152 H,596968,8,500,4,16,1015675,41,3,1,1,,3,2,2,,30,0,2,130,1,610,1,,2,920,1,1,1,7,,,,2,1,,17,2,400,2,1,69600,1,,,1,1,69600,0,1,1,1,1,2,1,3,0,0,1,20,0,0,1,0,0,1,1164,3,0,1,28,2,5,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,38,38,30,38,15,46,36,48,81,12,11,75,41,10,68,65,34,47,44,10,48,39,47,46,11,48,45,73,63,13,13,68,36,13,63,50,40,49,41,67,42,45,41,38,70,40,43,10,13,61,60,11,40,63,11,15,36,38,41,49,53,36,41,60,65,42,38,13,13,74,84,10,34,69,14,12,44,46,42 H,597004,8,300,4,16,1015675,112,1,1,,,1,8,,,1,0,2,3,3,,1,,,,,,1,3,2,230,,1,3,,,1,1,3,,,,230,31,1,6,8800,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,120,223,35,110,100,112,38,103,168,122,31,35,105,106,39,235,113,155,101,33,122,34,195,105,113,124,188,113,31,107,211,205,128,134,200,32,104,33,110,32,109,37,199,120,91,123,224,107,31,123,193,193,109,100,187,32,107,38,139,180,133,220,34,107,93,101,34,94,171,109,26,32,114,109,39,217,110,210,99 H,597179,8,200,4,16,1015675,24,2,1,3,1,3,2,2,,120,0,500,3,6,480,1,,,,,3,1,8,,,,1,2,,19,3,2,6,1,50300,4,,,1,1,50300,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,1,268,,0,0,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,21,25,31,41,32,26,7,7,42,37,6,24,49,7,5,26,22,35,24,32,29,33,26,38,20,23,9,9,39,41,9,23,29,7,7,22,21,44,22,28,22,23,25,40,36,27,8,6,40,40,7,27,60,7,5,28,21,34,18,34,32,32,24,56,22,23,9,7,36,40,7,24,34,7,7,25,22,47,25 H,597239,8,400,4,16,1015675,98,3,1,1,,2,2,2,,60,0,2,160,1,400,1,,2,500,2,1,1,5,,,,1,1,,16,2,450,6,1,75000,2,,,1,1,75000,0,2,2,2,1,6,1,3,0,0,1,14,0,0,1,0,0,2,874,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,225,98,91,93,22,33,122,28,167,31,130,83,177,176,105,108,95,93,89,139,102,29,157,140,77,102,33,101,98,97,78,29,115,99,182,148,29,28,90,31,78,138,26,38,118,74,149,116,102,86,96,151,86,100,25,29,144,144,168,103,30,106,101,111,184,139,99,173,31,139,35,121,34,31,94,87,99,102,27 H,597263,8,600,4,16,1015675,88,1,1,,,1,8,,,40,0,2,20,3,,1,,,,,,1,2,2,740,,1,3,,,1,2,3,,,,800,33,1,6,29000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,92,80,29,87,148,84,28,29,95,92,30,139,90,152,145,85,135,26,98,91,89,93,152,90,27,93,152,148,104,88,161,26,81,26,22,85,23,147,92,89,77,96,27,88,155,83,24,23,92,92,23,132,101,171,150,103,161,24,89,92,104,79,139,96,23,94,135,150,80,80,150,28,90,28,24,83,27,148,83 H,597303,8,500,4,16,1015675,67,2,1,1,,3,3,2,,50,3000,2,170,1,,1,,,,,,1,5,2,550,,1,3,,,1,600,2,7,13540,1,820,73,1,3,13540,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,60,20,20,18,64,66,73,57,68,94,102,105,61,22,74,143,62,62,19,125,62,19,22,19,73,75,62,70,66,113,118,123,81,18,72,120,73,71,124,23,71,138,112,92,77,71,67,65,68,19,20,17,69,105,68,21,65,76,105,18,61,105,105,121,70,68,62,75,64,20,21,20,60,115,71,19,70,68,23 H,597347,8,300,4,16,1015675,18,9,1,3,2,5,2,2,,80,0,2,200,2,800,1,,2,1600,2,1,1,9,,,,1,1,,22,3,2,3,1,104000,3,,,1,1,104000,0,3,3,3,1,4,7,9,0,0,7,26,0,0,1,0,0,2,2280,3,0,0,52,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,5,19,5,18,18,5,20,24,5,5,29,18,17,26,18,28,16,14,25,16,6,16,3,18,18,7,17,29,5,5,32,17,18,30,18,33,17,16,28,17,5,20,6,20,15,5,18,28,5,5,30,15,18,32,16,26,17,22,34,18,5,17,7,17,16,5,17,28,3,5,25,18,16,25,17,31,18,18,27 H,597745,8,100,4,16,1015675,79,3,1,3,1,2,1,2,,100,0,1000,3,6,0,1,260,,,,3,1,4,,,,1,2,,9,4,2,6,3,33000,1,,,1,1,33000,0,1,1,1,1,5,1,3,0,0,1,9,0,0,1,0,0,1,238,,0,0,10,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,104,69,18,67,30,34,106,136,63,62,91,69,28,153,75,89,72,28,21,20,85,97,155,72,109,145,27,25,72,68,63,61,139,24,83,90,103,162,150,163,96,83,19,84,25,30,136,136,71,70,71,72,12,122,81,95,91,27,30,30,61,64,115,64,145,102,25,26,100,107,57,94,145,27,84,85,77,115,123 H,597810,8,900,4,16,1015675,68,2,1,1,,3,2,2,,100,0,2,10,1,800,1,,,,,3,1,6,,,,1,2,,18,3,960,5,4,63600,4,,,1,1,63600,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,2,1,1,507,,0,1,42,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,25,66,33,61,60,17,71,97,18,46,116,57,65,111,84,89,111,75,25,43,83,59,101,86,61,98,62,21,104,122,30,51,77,22,68,23,85,95,23,81,111,77,100,61,47,105,67,31,97,104,24,62,65,25,98,28,68,79,90,57,22,81,18,82,55,42,57,103,35,18,85,49,70,106,74,128,56,101,112 H,597826,8,300,4,16,1015675,59,6,1,2,1,5,2,2,,100,0,2,30,1,250,1,,1,1500,1,1,1,8,,,,1,1,,16,2,2,2,1,40800,2,,,1,1,40800,0,2,2,2,1,2,4,6,0,0,4,48,0,0,1,0,0,1,1630,3,0,1,18,2,2,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,20,42,102,51,49,115,49,18,17,21,77,63,66,63,45,84,120,85,53,17,15,51,104,74,53,105,56,14,21,18,47,55,61,68,71,87,103,103,56,18,11,62,113,78,53,82,77,20,21,18,45,49,56,55,77,88,91,143,47,18,18,47,100,48,54,120,51,18,16,17,66,45,60,52,42,103,131,104,57,18 H,597857,8,900,4,16,1015675,64,4,1,1,,4,2,2,,50,0,200,80,1,430,1,,1,750,1,1,1,9,,,,1,1,,15,4,360,6,1,61000,2,,,1,1,61000,0,2,2,2,1,4,2,4,0,0,2,18,0,0,1,0,0,1,927,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,112,22,22,68,69,102,70,58,70,76,101,66,64,18,22,96,106,23,69,67,18,110,102,65,72,18,63,60,61,66,21,65,63,96,113,21,20,130,61,76,19,114,99,57,63,17,81,80,65,69,19,81,74,100,99,20,18,79,68,86,105,18,20,59,79,124,69,58,53,60,134,69,78,20,19,128,99,16,66,77 H,597999,8,100,4,16,1015675,50,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,15,47,44,50,14,50,88,50,16,14,50,53,11,90,52,78,86,49,50,80,14,46,51,48,13,50,84,53,13,17,48,46,17,76,49,83,78,51,42,14,81,54,52,51,80,51,16,49,82,80,52,51,78,15,57,13,15,62,44,16,90,53,46,44,85,43,16,52,79,99,45,48,92,15,46,14,17,49,58 H,598053,8,300,4,16,1015675,103,1,1,1,,2,2,2,,60,0,2,3,3,300,1,,1,570,1,1,1,4,,,,1,1,,12,0,20,7,,,,,,1,6,16100,0,4,4,4,1,3,0,,0,0,0,47,0,0,0,1,1,2,632,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,177,34,141,97,110,34,31,32,122,119,161,26,96,212,116,93,101,97,39,113,107,93,105,168,28,87,113,117,199,28,81,92,181,83,187,194,26,27,88,30,31,169,29,109,107,164,204,150,100,113,40,183,117,31,101,101,96,94,149,114,120,96,104,30,195,95,116,99,28,193,99,108,29,91,24,34,157,141,85 H,598115,8,900,4,16,1015675,56,2,1,2,1,5,2,2,,130,0,2,3,2,450,1,,2,300,2,1,1,9,,,,1,1,,17,2,580,9,4,30100,4,,,1,1,30100,0,4,4,4,1,7,0,2,0,0,0,25,0,0,0,2,1,1,620,3,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,21,51,60,24,48,77,101,96,69,51,51,54,48,19,13,13,49,87,91,55,14,44,57,15,53,112,101,100,59,51,59,63,51,17,20,19,55,100,21,51,114,80,53,100,66,16,19,17,54,52,41,50,50,90,88,69,51,17,19,51,86,60,60,80,56,22,16,16,58,62,56,56,47,99,113,115,57,15,109 H,598153,8,500,4,16,1015675,74,2,1,2,1,3,2,2,,50,0,2,180,2,600,1,,2,1100,2,1,1,5,,,120,1,1,,18,3,2,9,2,40000,4,,,1,1,40000,0,4,4,4,1,5,0,2,0,0,0,47,0,0,0,1,0,1,1583,1,0,1,22,1,7,3,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,72,20,70,79,129,23,117,133,70,71,21,21,135,78,74,78,116,66,67,28,75,23,82,81,130,21,121,117,75,77,21,22,109,67,76,98,123,65,77,20,74,23,75,80,140,22,134,124,69,78,21,23,150,65,68,64,123,81,73,21,75,25,60,71,141,22,133,116,64,81,23,21,132,85,72,70,129,78,64,22 H,598163,8,700,4,16,1015675,112,4,1,1,,3,2,2,30,170,0,2,210,1,590,1,,2,2000,2,1,1,6,,,,1,1,,20,3,720,3,2,175000,2,,,1,1,175000,0,2,2,2,1,5,2,4,0,0,2,19,0,0,1,0,0,1,2819,3,0,1,48,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,107,102,30,175,108,119,34,119,34,35,189,179,108,122,114,114,33,189,36,119,109,113,198,33,106,116,214,114,197,208,33,33,109,107,106,108,191,34,32,117,108,101,178,35,107,109,190,100,189,195,37,37,124,114,116,116,193,36,186,111,109,122,34,191,112,104,30,103,36,32,195,193,104,113,115,109,33,199,188 H,598226,8,400,4,16,1015675,180,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,207,248,236,299,206,224,201,200,175,61,53,59,152,251,197,50,176,232,73,64,168,60,56,59,176,143,176,177,199,345,326,251,171,60,177,273,185,162,235,53,170,54,57,68,169,172,196,169,169,297,261,267,168,68,192,262,200,185,263,296,261,326,308,311,197,195,162,177,174,54,55,56,181,317,155,45,147,168,63,237 H,598474,8,700,4,16,1015675,123,1,1,1,,2,1,2,,40,0,2,90,1,0,1,40,,,,3,1,3,,,,1,2,,1,2,2,6,,,,,,1,4,9200,0,4,4,4,1,4,0,,0,0,0,18,0,0,0,0,0,1,137,,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,204,216,119,33,236,40,138,126,115,135,128,114,196,40,133,132,38,34,139,38,133,116,37,123,118,111,39,202,200,224,203,30,115,120,203,36,126,117,30,112,34,41,120,238,36,202,130,115,146,125,135,120,35,196,117,133,183,215,123,212,115,144,202,120,132,112,229,37,38,33,36,219,131,133,37,200,125,139,227 H,598614,8,100,4,16,1015675,73,1,1,,,0,9,,,1,0,2,3,3,,2,,,,,,1,2,1,1500,,1,3,,,0,1,5,,,,1500,101,1,6,11200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,20,78,136,74,60,132,80,21,25,19,68,66,85,85,62,120,115,144,76,109,120,68,26,72,72,23,80,123,109,113,61,87,74,76,75,20,27,23,79,24,26,81,129,55,77,142,66,22,21,20,82,69,80,76,68,113,117,118,69,136,137,76,20,76,66,15,72,144,138,129,82,74,92,70,74,24,20,20,70,22 H,598765,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,599116,8,800,4,16,1015675,66,3,1,2,1,4,2,2,,70,0,150,3,6,250,1,,1,760,1,1,1,7,,,,1,1,,15,3,2,4,7,38000,4,,,1,3,58500,0,4,4,4,1,6,0,2,0,1,0,17,0,0,0,0,0,1,843,3,0,1,21,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,20,20,65,77,107,59,73,63,70,105,71,69,19,20,103,89,24,67,62,17,117,132,66,57,20,63,70,72,74,23,67,70,113,119,21,20,117,62,59,111,22,19,61,70,118,81,64,57,62,113,59,75,20,19,102,98,23,70,65,21,120,101,66,65,19,65,56,70,68,17,76,77,105,112,21,19,123,82,64 H,599636,8,900,4,16,1015675,93,5,1,,,1,8,,,1,4800,2,3,3,,1,,,,,,1,3,2,450,,2,3,,,1,1,7,3,14700,3,450,37,1,1,14700,0,3,3,3,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,98,124,25,33,227,37,94,92,160,152,128,116,81,23,180,89,31,75,27,130,23,30,88,72,88,71,146,32,86,97,100,173,29,98,68,173,125,148,106,115,104,84,30,27,180,28,103,95,147,144,164,93,93,27,177,72,36,119,35,184,22,30,87,94,78,86,176,32,79,83,83,135,26,82,81,148,85,220,122 H,599773,8,400,4,16,1015675,63,2,1,,,1,6,,,1,0,1,3,3,,1,,,,,,1,3,,,,1,4,,,2,1,6,1,20000,4,,,1,1,20000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,14,13,112,67,84,85,84,77,40,107,15,34,71,97,58,55,42,12,62,72,21,20,104,68,135,52,85,103,57,124,22,22,98,65,49,162,114,19,62,77,100,129,22,52,14,59,43,18,41,28,98,174,95,54,101,14,58,123,60,66,144,95,22,55,15,59,56,25,81,19,91,118,55,65,59,16,68,100,45 H,600298,8,100,4,16,1015675,98,1,1,,,1,6,,,50,0,2,3,3,,1,,,,,,1,3,2,420,,1,3,,,1,1,2,,,,470,20,5,4,28000,0,4,4,4,2,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,28,110,108,152,84,95,94,103,154,110,93,30,28,184,151,29,108,177,32,106,29,97,89,152,109,91,85,89,192,123,87,31,30,167,152,34,109,166,29,87,30,92,83,177,95,105,102,89,167,92,87,31,29,195,184,32,114,158,31,92,28,106,109,179,89,95,87,110,173,97,118,31,27,182,185,31,90,172,23,87 H,600497,8,400,4,16,1015675,74,6,1,1,,3,1,2,,100,0,2,90,1,500,1,0,2,170,2,1,1,5,,,,1,1,,5,4,1200,5,1,39000,2,,,2,1,39000,0,3,3,3,1,5,4,6,0,0,4,16,0,0,1,0,0,2,519,3,0,0,6,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,145,156,17,144,185,33,33,42,63,114,56,86,68,78,83,65,58,15,69,149,17,48,105,64,45,78,102,74,84,22,70,66,88,153,42,71,51,86,95,17,94,83,28,90,118,35,20,65,126,99,83,90,50,86,126,52,104,31,72,122,16,20,104,62,16,119,85,122,112,32,83,65,87,72,23,52,70,142,71 H,600558,8,100,4,16,1015675,112,1,1,1,,2,2,2,,170,0,2,2,1,0,1,,1,950,1,1,1,4,,,,1,1,,15,1,540,2,,,,,,1,6,22300,0,4,4,4,1,4,0,,0,0,0,63,0,0,0,0,0,1,1165,3,0,1,25,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,195,200,116,176,90,108,38,97,36,109,33,106,112,174,114,112,177,36,34,198,118,98,200,110,34,179,111,204,119,33,110,38,192,123,31,30,114,96,111,108,35,40,106,31,94,108,199,113,199,101,168,107,123,34,97,120,37,193,189,36,103,107,32,106,170,30,102,35,121,178,116,208,39,119,163,176,107,124,121,98 H,600653,8,400,4,16,1015675,24,2,1,1,,3,2,2,,80,0,2,3,3,0,1,,,,,3,1,7,,,,1,2,,15,2,400,5,4,18290,4,,,1,1,18290,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,2,2,196,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,21,42,22,21,8,7,45,43,7,20,45,7,7,27,24,42,26,23,22,25,23,5,22,20,42,40,7,5,37,22,6,39,36,23,22,8,26,18,25,24,21,36,23,29,8,5,37,37,4,24,39,7,6,21,23,51,20,18,19,25,29,5,25,27,36,41,7,9,38,22,7,38,42,23,19,7,24,22,30 H,601426,8,500,4,16,1015675,102,6,1,1,,4,2,2,300,180,0,2,3,8,300,1,,1,1000,1,1,1,7,,,,1,1,,15,2,360,3,1,43100,2,,,1,1,43100,0,2,2,2,1,1,4,6,0,0,4,42,0,0,1,0,0,1,1510,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,31,93,31,29,172,188,108,108,92,97,31,174,93,108,125,28,183,107,32,103,165,95,174,184,29,30,96,98,111,100,171,28,97,95,100,169,30,109,157,108,31,87,28,34,160,175,102,108,112,99,30,174,95,94,97,30,179,114,34,106,181,117,202,161,26,33,106,92,102,104,173,28,97,109,99,164,30,91,181 H,601706,8,300,4,16,1015675,101,1,1,1,,4,2,2,,160,0,2,3,3,290,1,,,,,3,1,6,,,,1,2,,11,1,350,7,,,,,,1,6,12500,0,4,4,4,1,7,0,,0,0,0,29,0,0,0,1,1,1,300,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,102,26,162,27,82,86,93,94,101,117,188,33,109,92,28,36,109,160,91,91,28,113,136,97,37,172,145,172,165,29,97,126,212,32,102,91,30,96,184,180,95,27,168,30,92,106,121,111,95,109,174,31,92,99,27,29,86,146,94,100,31,117,87,84,28,172,184,157,154,32,94,101,178,34,110,108,29,111,168 H,601775,8,800,4,16,1015675,48,4,1,2,1,3,2,2,,140,0,2,3,3,530,1,,1,450,1,1,1,5,,,,1,1,,13,2,440,5,2,36000,2,,,1,1,36000,0,3,3,3,1,4,2,4,0,0,2,21,0,0,1,0,0,1,627,3,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,77,101,50,45,18,49,45,45,34,14,47,58,75,80,12,14,82,42,15,42,13,16,48,44,79,42,58,48,51,67,38,62,11,10,79,91,12,36,102,50,21,18,63,52,75,52,42,35,34,82,43,37,11,12,71,74,13,39,83,42,83,93,46,38,17,74,55,41,51,12,39,50,68,68,13,16,80,51,17,52 H,601999,8,500,4,16,1015675,184,4,1,1,,3,1,2,,190,0,2,3,3,480,1,280,1,200,2,2,1,5,,,,1,1,,10,3,300,3,5,29540,2,,,1,2,35540,0,2,2,2,1,3,1,3,0,1,1,15,2,0,1,0,0,2,438,3,0,0,1,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,177,59,159,196,191,270,190,270,243,171,258,156,49,287,291,59,205,205,334,371,186,274,197,155,132,48,205,80,155,153,58,234,268,73,73,342,176,149,48,73,190,64,233,149,181,297,176,244,134,169,303,172,76,327,299,65,168,171,260,232,152,305,166,225,251,73,167,57,244,207,71,155,283,50,55,246,181,242,82 H,602326,8,900,4,16,1015675,28,1,1,,,1,4,,,50,0,2,3,3,,1,,,,,,1,3,2,190,,1,3,,,1,1,5,,,,240,35,1,6,8200,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,8,8,51,47,7,22,39,9,7,29,23,37,27,35,32,28,64,30,28,35,10,10,38,58,12,33,50,6,10,31,36,43,20,25,29,33,40,31,33,32,6,9,41,40,11,23,51,12,6,25,28,37,39,39,28,28,53,33,31,26,8,8,43,55,8,33,46,10,8,25,33,40,28,27,26,24,40,31,20 H,602334,8,700,4,16,1015675,82,1,1,1,,2,2,2,,60,0,2,70,1,410,1,,2,440,1,1,1,5,,,,1,1,,16,0,600,3,,,,,,1,6,15000,0,4,4,4,1,5,0,,0,0,0,52,0,0,0,1,1,1,654,3,0,1,23,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,148,136,87,86,77,90,95,27,82,137,26,86,23,87,138,75,127,23,30,84,130,140,91,76,86,83,78,24,87,150,23,76,25,78,117,83,144,27,22,87,155,143,77,81,79,83,81,26,80,141,24,86,25,77,137,94,129,22,29,86,142,120,81,86,82,88,76,25,83,123,25,81,27,89,144,73,151,28,20 H,602359,8,200,4,16,1015675,89,2,1,3,1,3,2,2,,90,0,600,3,3,1200,1,,,,,3,1,5,,,,1,2,,18,2,160,3,4,21600,4,,,1,1,21600,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,2,2,2,295,,0,0,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,161,90,154,189,109,84,94,104,186,86,112,87,130,129,120,151,91,75,79,27,24,70,27,31,95,96,91,103,34,79,23,82,33,32,28,30,91,85,91,129,172,104,210,142,100,105,78,110,176,102,131,97,141,134,187,135,75,64,73,24,22,91,28,25,112,120,88,87,28,108,26,83,29,21,26,29,87,77,74 H,602420,8,500,4,16,1015675,94,3,1,1,,3,2,2,,80,0,2,120,1,360,1,,1,580,1,1,1,6,,,80,1,1,,14,2,430,6,1,33000,1,,,1,1,33000,0,1,1,1,1,3,1,3,0,0,1,33,0,0,1,0,0,1,896,2,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,98,93,134,74,97,165,137,146,176,82,172,91,167,98,81,102,83,154,26,30,97,98,38,101,91,29,29,30,26,101,33,108,31,85,97,92,98,28,147,146,95,104,143,92,98,152,162,156,189,89,131,81,165,98,92,98,93,149,32,26,95,90,30,102,93,27,31,34,28,96,32,98,30,85,84,100,102,32,136 H,602451,8,200,4,16,1015675,20,5,1,3,6,5,2,2,,130,0,100,80,2,1300,1,,2,850,2,1,1,9,,,,1,1,,17,4,2,9,1,42160,4,,,2,1,42160,0,4,4,4,1,5,0,5,0,0,0,42,0,0,0,0,0,1,1459,3,0,0,46,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,46,36,21,5,37,5,19,22,19,17,18,23,36,5,20,17,7,7,17,7,19,21,6,21,20,22,7,35,31,37,44,5,19,25,32,5,17,21,33,24,36,44,19,7,41,5,24,21,20,19,23,19,33,5,20,25,5,6,23,5,24,26,5,19,22,18,5,32,38,37,29,5,23,19,34,7,26,21,41 H,602483,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,602942,8,900,4,16,1015675,297,4,1,1,,3,1,2,,30,1400,2,3,3,150,1,0,2,400,2,2,1,5,,,,1,1,,2,1,2,2,7,12150,2,,,2,3,12150,0,2,2,2,1,1,2,4,0,0,2,50,0,0,1,0,0,2,510,3,0,0,18,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,369,372,254,281,320,516,229,422,101,272,105,273,264,368,123,99,393,407,122,311,454,385,484,403,128,374,111,292,330,102,230,101,440,382,265,289,386,99,343,426,434,407,280,274,296,514,200,431,158,258,88,325,283,395,113,96,488,389,153,357,386,340,417,453,105,317,137,270,344,82,220,105,423,518,308,308,241,81,292,395 H,602949,8,500,4,16,1015675,97,4,1,1,,3,2,2,,40,0,2,60,1,270,1,,,,,3,1,6,,,,1,2,,16,2,270,2,2,31100,1,,,1,1,31100,0,1,1,1,1,1,2,4,0,0,2,7,0,0,1,0,0,1,188,,0,1,12,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,28,95,103,33,31,28,26,95,30,83,28,99,87,91,93,32,31,87,100,129,82,168,162,95,108,91,88,153,97,179,85,168,150,149,159,121,105,146,145,159,143,110,85,161,182,160,177,108,147,88,170,92,94,97,94,137,185,109,86,89,81,31,26,99,115,94,109,26,97,30,101,31,31,29,27,111,111,27,25,30 H,602956,8,600,4,16,1015675,114,2,1,,,3,4,,110,50,0,2,100,1,50,1,,2,590,1,1,1,6,,,130,1,1,,15,2,40,4,1,88000,4,,,1,1,88000,0,4,4,4,1,3,0,2,0,0,0,13,0,0,0,0,0,1,987,2,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,119,128,117,198,183,117,193,34,175,36,117,35,33,105,115,111,116,120,109,109,195,34,32,116,110,187,114,122,121,108,185,115,119,42,36,187,208,31,33,195,108,109,114,33,36,118,32,186,35,180,109,205,184,111,111,113,112,115,118,114,33,203,208,118,121,36,112,118,119,117,32,109,118,203,185,37,34,187,189 H,603340,8,500,4,16,1015675,96,1,1,,,2,4,,,80,0,2,3,3,,1,,,,,,1,5,2,430,,1,3,,,1,320,5,,,,537,46,1,6,14000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,98,28,142,93,99,97,26,149,101,87,28,104,27,30,157,146,90,99,172,111,97,29,204,102,83,103,28,159,90,103,29,93,30,26,174,158,93,114,27,94,98,177,31,91,89,105,156,27,99,98,154,96,160,148,26,27,93,95,32,88,103,136,30,104,99,91,169,30,92,98,165,95,180,162,30,29,105,95,155 H,603383,8,400,4,16,1015675,215,6,1,1,,5,2,2,,100,0,2,60,1,750,1,,1,1400,1,1,1,9,,,,1,1,,17,2,520,5,2,21000,2,,,1,1,21000,0,2,2,2,1,1,4,6,0,0,4,92,0,0,1,0,0,1,1603,3,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,215,421,95,49,315,297,220,417,200,313,192,153,268,65,217,84,182,298,59,267,246,73,396,344,53,219,177,66,196,71,171,219,285,293,233,366,209,159,281,56,252,381,57,64,478,220,191,348,137,442,202,219,260,63,242,85,323,187,69,425,236,60,354,322,80,239,173,59,243,50,234,196,205,418,193,297,186,214,443 H,603680,8,200,4,16,1015675,32,5,1,1,,3,2,2,,100,0,300,20,1,300,1,,,,,3,1,5,,,,1,2,,2,2,560,9,1,56000,2,,,1,1,56000,0,2,2,2,1,5,3,5,0,0,3,5,0,0,1,0,0,2,250,,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,22,35,44,10,32,10,24,14,9,10,9,38,33,9,9,32,9,13,44,69,53,94,70,22,50,49,66,25,43,33,25,55,45,46,32,45,44,45,31,33,28,25,36,84,34,46,41,56,45,61,60,45,31,44,59,40,80,52,10,8,9,10,10,30,10,34,11,37,30,24,35,11,10,35,34,10,34,31,38 H,603923,8,400,4,16,1015675,90,4,1,1,,4,2,2,,120,0,2,260,4,800,1,,1,990,1,1,1,7,,,,1,1,,19,3,560,5,1,70000,2,,,1,1,70000,0,2,2,2,1,3,1,4,0,0,1,24,0,0,1,0,0,2,1417,3,0,1,10,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,85,68,155,197,23,23,138,74,27,121,156,94,103,29,87,114,124,82,27,97,96,89,144,143,23,25,163,85,30,171,130,93,97,31,94,81,118,102,28,87,84,100,30,27,127,148,32,82,123,26,29,90,100,135,72,92,122,112,136,96,76,79,38,34,152,135,24,91,135,29,24,109,98,120,92,103,101,98,176,115 H,603929,8,900,4,16,1015675,219,2,1,1,,2,1,2,,30,0,2,30,2,40,1,0,,,,3,1,4,,,,1,2,,1,2,2,5,1,185000,4,,,1,1,185000,0,4,4,4,1,6,0,2,0,0,0,1,0,0,0,0,0,2,88,,0,0,8,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,236,233,196,389,310,337,287,66,254,451,232,219,322,237,71,59,54,155,310,216,224,232,239,77,61,96,330,313,225,69,213,226,68,246,362,298,308,215,370,214,232,239,234,76,66,61,194,407,251,62,186,175,66,251,360,342,335,225,75,213,244,215,254,362,343,352,205,64,177,357,174,191,402,216,68,74,88,226,53 H,604141,8,200,4,16,1015675,191,1,1,1,,1,1,2,,1,0,440,3,4,0,1,980,,,,3,1,3,,,,1,2,,1,1,1,6,,,,,,1,6,2400,0,4,4,4,1,5,0,,0,0,0,72,0,0,0,1,1,2,144,,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,213,242,170,56,210,215,308,365,68,55,317,152,54,270,281,247,201,69,198,190,202,223,169,285,204,200,62,56,335,316,65,150,232,57,66,250,177,243,154,215,194,156,168,55,195,234,324,262,67,68,325,189,82,263,274,198,206,53,164,138,249,205,162,394,219,203,62,49,318,316,59,209,284,57,60,196,209,300,168,166 H,604502,8,400,4,16,1015675,46,2,1,3,1,3,2,2,,130,0,400,3,3,500,1,,2,360,2,1,1,8,,,,1,1,,19,2,2,3,3,53500,4,,,1,1,53500,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,2,2,2,732,3,0,0,32,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,14,58,71,87,71,50,62,55,51,45,13,15,19,49,78,50,11,42,15,41,71,62,15,14,13,44,47,52,48,44,84,81,106,56,13,45,65,44,13,50,81,42,13,17,15,38,40,49,42,57,101,83,83,51,12,49,81,44,81,51,17,55,88,80,85,48,43,45,51,51,13,11,17,46,75,49,13,48,67 H,604685,8,200,4,16,1015675,34,1,1,3,1,4,1,2,,20,0,300,30,3,,1,,,,,,1,7,2,550,,1,3,,,1,2,3,,,,625,20,1,6,38000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,69,32,32,55,49,55,46,27,58,50,42,33,33,30,37,55,62,33,10,42,10,47,50,10,12,10,12,36,12,39,8,29,41,35,37,10,10,46,15,30,6,30,26,9,12,10,10,31,12,26,11,34,40,56,35,10,10,33,68,35,44,43,26,42,75,56,50,36,43,30,54,38,38,40,39,73,56,34,47 H,604707,8,500,4,16,1015675,167,2,1,1,,4,2,2,,60,0,1300,30,2,310,1,,1,880,1,1,1,5,,,,1,1,,18,1,2,3,,,,,,1,7,66000,0,4,4,4,1,4,0,,0,1,0,20,0,0,0,0,0,1,1078,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,173,44,51,54,49,136,182,51,50,172,59,48,150,173,194,155,50,165,307,153,275,163,166,168,171,242,342,182,179,274,165,187,287,269,291,294,167,264,155,52,160,47,47,56,53,158,153,45,58,185,49,51,158,165,197,193,58,180,250,156,275,165,191,157,146,290,275,175,188,295,178,178,258,280,278,266,183,229,168 H,604914,8,100,4,16,1015675,101,1,1,1,,2,1,2,,160,0,2,2,1,0,1,3100,,,,3,1,4,,,,1,2,,3,2,1,5,,,,,,1,4,10400,0,4,4,4,1,6,0,,0,0,0,49,0,0,0,1,1,2,423,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,171,93,92,110,36,186,106,107,33,105,32,30,203,169,85,94,92,104,35,142,28,92,91,104,166,31,93,116,158,100,194,156,27,27,106,93,102,126,36,153,31,107,98,103,171,25,110,111,167,99,168,163,30,27,108,104,103,115,183,30,167,104,89,91,28,187,103,103,35,112,33,33,154,146,109,91,83,103,176 H,605226,8,800,4,16,1015675,76,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,133,73,79,118,136,79,129,129,85,84,68,72,137,77,122,74,137,119,96,22,29,77,85,22,18,85,18,23,77,69,74,73,26,68,25,74,22,25,80,128,131,72,77,102,125,79,140,130,83,81,72,79,131,67,148,77,142,126,72,23,27,88,73,21,23,87,26,21,68,88,77,75,18,74,25,73,24,20,83 H,605544,8,100,4,16,1015675,207,3,1,3,1,3,2,2,,30,0,2,60,1,800,1,,,,,3,1,7,,,,1,2,,20,3,2,3,1,127000,4,,,1,1,127000,0,4,4,4,1,5,0,3,0,0,0,3,0,0,0,0,0,2,365,,0,0,37,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,191,83,236,167,199,297,150,348,218,237,341,227,56,323,278,55,254,172,70,60,253,85,253,176,193,328,161,311,261,253,366,194,64,348,394,68,219,183,318,390,222,317,227,207,203,78,267,59,213,193,57,172,291,62,75,385,200,204,282,315,227,315,191,196,178,80,256,57,188,211,52,225,314,64,72,392,212,188,67 H,605852,8,700,4,16,1015675,79,2,1,1,,3,2,2,,40,0,2,150,1,410,1,,1,1100,2,1,1,6,,,,1,1,,15,2,500,2,1,95700,4,,,1,1,95700,0,4,4,4,1,2,0,2,0,0,0,18,0,0,0,2,0,1,1425,3,0,1,23,2,4,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,76,68,65,115,127,80,131,23,141,27,86,23,25,83,76,88,75,73,73,86,122,20,22,71,78,135,80,80,84,88,149,93,83,20,22,130,131,26,24,129,81,75,79,25,23,83,21,123,22,122,77,133,141,88,82,77,84,85,82,66,25,142,144,85,74,26,76,70,90,75,20,72,71,139,144,22,24,131,133 H,606129,8,700,4,16,1015675,70,2,1,1,,3,2,2,,50,0,2,40,1,350,1,,,,,3,1,6,,,,1,2,,16,2,600,1,3,59000,4,,,1,1,59000,0,4,4,4,1,2,0,2,0,0,0,5,0,0,0,2,0,1,241,,0,1,19,1,7,7,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,75,73,21,68,105,20,20,113,66,65,117,70,121,69,74,73,19,65,20,19,67,69,118,74,22,123,121,19,66,76,20,66,20,70,71,80,127,66,126,21,70,70,123,74,18,122,123,21,64,65,20,72,19,68,70,67,114,69,115,117,62,69,21,70,124,23,22,119,69,74,115,72,124,67,66,72,20,70,20,121 H,606219,8,900,4,16,1015675,235,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,75,252,215,253,243,199,326,402,319,255,84,240,392,204,210,438,230,86,81,62,73,234,213,201,232,222,347,392,330,279,102,247,388,212,251,414,200,82,78,71,68,203,206,236,254,235,393,364,333,291,75,291,410,200,232,419,233,86,84,66,71,186,217,233,240,239,344,366,362,230,81,278,425,226,204,348,221,74,79,62 H,606801,8,100,4,16,1015675,115,2,1,,,1,6,,,30,0,2,40,1,440,1,,2,630,2,1,1,3,,,,1,1,,18,2,1,5,1,66500,4,,,1,1,66500,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,1,787,3,0,0,14,2,4,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,178,105,127,162,100,37,206,169,48,100,120,36,105,36,107,113,101,161,135,35,235,131,113,218,114,33,205,176,26,124,100,34,117,34,130,121,139,183,114,36,166,145,107,168,95,44,197,180,33,107,161,37,114,34,105,149,131,236,99,36,197,96,93,205,124,32,180,195,35,109,95,33,108,42,130,102,108,190,143,49 H,606903,8,900,4,16,1015675,55,2,1,1,,2,2,2,,140,0,2,70,1,270,1,,1,660,1,1,1,6,,,,2,1,,14,2,660,7,1,36000,4,,,1,1,36000,0,4,4,4,1,2,0,2,0,0,0,31,0,0,0,0,0,1,925,3,0,1,24,2,5,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,107,111,77,62,49,92,90,51,89,90,55,52,54,65,81,52,99,56,48,19,17,18,18,59,57,17,12,54,19,18,58,56,62,63,15,43,16,61,61,15,17,13,16,55,54,16,18,51,19,19,69,54,53,55,16,67,16,54,51,103,81,92,98,48,58,103,83,41,97,104,58,65,62,58,94,49,93,54,57 H,606933,8,300,4,16,1015675,83,1,1,2,1,3,2,2,,60,0,2,130,2,390,1,,1,530,1,1,1,6,,,,1,1,,13,1,2,5,,,,,,1,6,23000,0,4,4,4,1,6,0,,0,0,0,38,0,0,0,0,0,1,720,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,27,25,32,27,79,23,61,26,99,105,124,86,20,26,71,59,27,99,85,132,101,81,81,77,128,94,135,74,129,135,113,133,108,96,181,149,70,119,26,79,26,28,28,30,72,26,83,18,84,93,71,92,32,17,102,110,20,87,64,144,75,63,125,102,145,69,131,94,159,186,168,107,67,85,130,133,105,140,20 H,607004,8,100,4,16,1015675,39,1,1,2,1,4,2,2,,50,0,2,4,6,300,1,,,,,3,1,7,,,,1,2,,18,1,290,5,,,,,,1,6,38000,0,4,4,4,1,5,0,,0,0,0,5,0,0,0,0,0,2,170,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,43,69,69,62,37,14,32,67,48,45,81,47,9,10,12,38,56,41,14,38,38,51,38,62,34,8,55,98,35,39,71,39,12,12,13,32,38,39,59,61,46,11,10,11,41,66,52,14,31,39,12,37,73,74,64,32,47,40,59,41,31,15,11,14,42,57,44,10,32,34,14,44,58,60,66,50,36,38,13 H,607151,8,300,4,16,1015675,29,1,1,1,,2,2,2,,10,0,2,10,1,550,1,,,,,3,1,4,,,,2,2,,16,1,150,8,,,,,,1,6,5000,0,4,4,4,1,2,0,,0,0,0,23,0,0,0,0,0,1,97,,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,26,8,39,32,65,59,12,12,52,36,8,36,39,22,35,11,26,38,36,24,34,51,29,25,12,10,62,83,7,38,42,8,12,36,28,56,47,27,30,28,34,52,24,28,8,10,48,43,10,28,100,19,11,36,27,50,29,29,31,31,43,11,28,30,52,57,6,8,63,23,10,54,53,36,32,6,24,41,32,35 H,607544,8,800,4,16,1015675,23,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,42,40,7,8,24,7,20,20,34,25,40,24,37,23,27,5,21,25,44,25,27,19,25,24,36,23,6,44,20,36,23,9,22,8,37,20,7,8,35,22,22,23,20,20,38,25,7,43,23,40,21,8,23,8,36,24,7,6,20,5,46,43,7,9,26,7,26,26,41,27,39,21,37,21,21,6,24,23,26 H,607688,8,600,4,16,1015675,107,3,1,,,2,6,,,90,0,2,3,3,,1,,,,,,1,4,2,630,,1,3,,,1,1,4,1,31000,2,720,28,2,1,31000,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,182,117,183,184,109,177,31,107,113,102,32,98,180,105,27,27,106,107,105,30,180,97,160,181,102,191,32,110,105,110,34,106,177,103,30,34,120,105,104,181,34,103,28,33,115,30,173,111,108,108,202,94,29,95,166,198,107,129,108,167,26,99,30,32,107,32,183,109,101,116,202,107,27,111,164,168,114,99,110 H,607710,8,100,4,16,1015675,248,0,1,,,3,5,,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,75,281,267,79,248,431,76,74,404,236,289,369,226,431,224,233,265,84,78,286,455,235,253,404,244,64,385,388,68,262,235,80,244,82,238,221,315,396,433,261,85,268,237,74,302,404,74,84,425,262,245,354,269,431,266,236,246,85,84,248,384,235,229,411,233,75,404,381,71,254,251,75,229,68,226,252,225,425,377 H,607845,8,700,4,16,1015675,55,2,1,1,,3,2,2,,20,0,2,20,1,,1,,,,,,1,6,2,530,,1,3,,,2,150,2,1,40000,4,583,17,2,1,40000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,15,50,55,60,53,56,113,59,17,98,58,96,51,15,52,16,90,53,19,94,103,64,54,56,60,68,18,60,104,15,60,17,45,91,54,99,15,54,103,15,14,57,65,56,57,60,105,56,17,98,51,88,60,18,50,18,105,51,16,85,106,54,56,57,59,60,17,58,86,18,57,18,57,90,53,86,19,50,100 H,608087,8,400,4,16,1015675,50,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,14,51,50,16,20,17,14,46,14,46,16,44,45,53,48,15,17,53,46,52,40,93,87,48,63,50,44,104,54,83,56,85,75,76,70,55,53,80,87,89,73,46,53,114,69,85,97,39,78,41,90,52,43,57,55,82,88,51,46,44,49,16,14,55,59,43,41,16,44,18,66,15,14,12,11,49,50,13,14,12 H,608217,8,600,4,16,1015675,90,2,1,1,,4,2,2,,70,0,2400,200,1,300,1,,2,400,2,1,1,9,,,,1,1,,22,1,300,5,4,21200,4,,,1,1,21200,0,4,4,4,1,7,0,2,0,0,0,80,0,0,0,2,2,1,1419,3,0,1,63,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,97,27,89,29,124,88,27,26,92,96,88,83,88,137,91,31,148,95,144,147,96,26,94,25,165,92,27,25,92,90,78,99,95,156,97,25,159,94,176,162,89,30,102,26,154,86,27,26,100,87,91,88,95,147,87,29,152,101,163,148,86,25,89,25,153,92,26,26,98,92,84,93,91,153,94,29,157,98,153,156 H,608470,8,400,4,16,1015675,300,6,1,1,,5,1,2,,110,3000,2,3,3,420,1,0,2,790,2,1,1,8,,,,1,1,,11,2,720,2,7,30400,2,,,1,3,36900,0,2,2,2,1,2,4,5,0,1,4,35,0,0,1,0,0,2,1062,3,0,0,18,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,261,87,348,375,403,411,97,103,663,269,83,429,571,295,232,93,334,377,288,280,273,84,324,285,427,452,126,108,391,302,105,471,536,383,308,84,260,278,333,339,259,445,313,365,100,95,419,481,109,291,503,94,96,250,310,476,263,357,269,332,288,445,366,266,85,139,548,437,85,258,631,101,103,368,263,453,279,250,294,383 H,609028,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,609039,8,100,4,16,1015675,127,2,1,1,,3,1,2,,50,0,250,20,8,250,1,0,2,410,2,1,1,5,,,,1,1,,14,0,1,3,3,34400,4,,,1,1,34400,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,1,1,1,529,3,0,0,3,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,123,118,229,155,46,125,208,223,118,127,185,41,108,34,42,115,42,218,130,129,161,132,229,131,38,140,175,179,107,135,242,36,138,34,39,106,34,280,124,142,123,138,214,129,39,140,201,232,144,143,201,39,112,37,36,120,39,200,135,159,161,124,183,130,40,121,223,197,111,125,214,37,135,36,32,116,42,200,123,124 H,609458,8,500,4,16,1015675,79,1,1,2,1,3,1,2,,40,0,2,3,3,0,1,1400,,,,3,1,5,,,,1,2,,15,2,2,3,,,,,,1,6,15000,0,4,4,4,1,3,0,,0,0,0,13,0,0,0,1,0,1,157,,0,0,1,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,151,136,71,133,27,68,86,73,23,79,113,80,20,25,86,72,28,103,85,74,28,23,82,23,109,71,78,88,131,79,25,71,139,125,82,73,117,27,81,72,24,22,96,22,122,85,97,68,134,85,26,71,150,127,70,69,121,24,82,70,138,117,68,143,28,78,77,64,22,81,114,81,26,23,95,80,25,104,74 H,609491,8,300,4,16,1015675,67,2,1,1,,2,2,2,,70,0,2,70,1,970,1,,1,570,1,1,1,5,,,,1,1,,13,1,1600,9,,,,,,1,7,44000,0,4,4,4,1,2,0,,0,1,0,23,0,0,0,0,0,1,843,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,78,138,133,66,25,23,64,103,19,107,63,65,74,65,71,72,18,113,67,67,20,63,73,20,67,70,21,65,58,71,21,99,116,96,109,19,75,60,115,97,63,19,21,73,122,115,57,18,118,14,75,50,74,72,60,78,141,25,60,65,116,62,68,121,63,64,116,68,71,84,128,23,23,18,19,121,70,60,16,19 H,609705,8,300,4,16,1015675,54,3,1,2,1,3,2,2,,50,0,2,100,1,680,1,,1,780,1,1,1,5,,,,1,1,,14,2,2,2,1,33000,1,,,1,1,33000,0,1,1,1,1,2,1,3,0,0,1,34,0,0,1,0,0,1,930,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,80,51,53,63,56,60,23,17,17,46,98,55,21,69,51,20,61,78,76,70,77,57,48,54,44,53,14,13,11,59,128,52,16,87,55,15,59,82,98,84,87,43,61,52,66,73,16,16,12,57,87,46,16,56,58,14,72,98,80,71,82,66,54,56,53,64,18,13,12,43,110,75,23,51,50,18,47,88,108 H,609707,8,400,4,16,1015675,77,1,1,2,1,4,2,2,,30,0,600,3,4,,1,,,,,,1,6,,,,1,4,,,2,2,8,,,,,,1,4,5600,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,30,82,85,129,102,28,32,123,59,33,154,119,58,83,35,90,67,65,71,77,117,66,78,26,26,111,126,31,77,112,20,24,96,99,115,68,70,68,56,77,157,81,55,25,22,100,172,22,66,101,31,28,62,83,144,74,65,64,73,90,26,71,77,124,162,25,21,166,95,18,138,149,86,104,21,77,83,75,71 H,609726,8,800,4,16,1015675,138,3,1,1,,3,2,2,,50,0,2,40,1,480,1,,2,2200,2,1,1,6,,,,1,1,,24,1,400,4,7,4000,2,,,1,3,4000,0,2,2,2,1,5,2,3,0,0,2,101,0,0,1,0,0,2,2655,3,0,1,47,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,49,141,44,130,122,38,135,188,40,40,215,145,138,194,162,261,121,123,198,176,50,141,40,137,170,45,140,233,42,55,232,135,129,190,170,236,124,110,38,135,210,124,245,136,138,188,110,46,200,224,43,137,123,40,129,38,149,144,46,122,226,145,248,130,153,255,141,48,215,217,43,138,176,49,127,34,186,143,214 H,609751,8,300,4,16,1015675,78,2,1,1,,5,2,2,,60,0,2,90,1,450,1,,2,750,2,1,1,9,,,500,1,1,,18,2,350,5,3,109000,4,,,1,1,109000,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,1,1,1709,2,0,1,41,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,66,75,73,127,25,82,78,150,66,134,124,19,21,79,82,94,79,129,22,26,78,78,87,125,21,77,76,145,73,149,143,23,24,63,76,97,85,156,22,19,77,86,80,130,20,74,81,127,86,124,146,28,23,63,82,83,89,155,18,26,74,86,87,117,25,72,92,138,67,124,150,25,22,82,71,79,60,145,21 H,609858,8,600,4,16,1015675,411,1,1,1,,2,2,2,,40,0,2,70,1,,1,,,,,,1,5,2,750,,1,3,,,1,300,8,,,,885,27,1,6,40000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,673,429,744,112,387,437,409,118,415,628,422,124,111,379,452,118,677,467,685,386,748,444,591,130,411,389,365,122,439,802,405,121,111,434,430,121,693,476,681,376,118,427,125,668,403,414,428,640,449,133,395,708,770,394,377,726,136,388,129,421,129,351,126,666,382,414,456,745,436,113,390,661,707,421,407,707,123,401,122,410 H,610098,8,200,4,16,1015675,109,1,1,1,,2,2,2,,40,0,650,10,1,460,1,,,,,3,1,4,,,,1,2,,14,1,700,4,,,,,,1,4,22300,0,4,4,4,1,6,0,,0,0,0,15,0,0,0,1,1,1,279,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,43,27,35,43,119,26,129,40,72,102,126,87,39,31,127,104,44,160,109,155,138,112,108,121,190,142,184,112,169,166,142,161,135,116,158,141,105,187,23,93,37,35,45,47,105,35,96,33,148,115,103,114,41,30,108,121,33,107,108,163,107,129,137,104,172,112,173,119,158,161,203,152,101,126,148,187,98,167,33 H,610276,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,610400,8,800,4,16,1015675,54,2,1,3,4,5,2,2,,90,0,300,90,2,900,1,,,,,3,1,8,,,,1,2,,18,3,2,4,,,,,,1,5,89160,0,4,4,4,1,6,0,,0,1,0,5,2,0,0,2,2,1,372,,0,0,23,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,15,92,54,15,45,59,55,88,19,103,14,92,47,46,49,14,46,96,67,13,56,54,84,67,16,15,17,55,65,62,48,57,75,122,97,49,18,51,96,60,14,87,60,13,52,52,44,90,15,115,15,103,47,49,55,15,61,82,55,15,51,62,88,51,15,15,16,56,60,52,57,57,98,88,99,59,16,51,86,46 H,610917,8,900,4,16,1015675,83,1,1,,,1,4,,,50,0,2,160,1,260,1,,,,,3,1,4,,,,1,2,,14,1,670,9,,,,,,1,4,13000,0,4,4,4,1,4,0,,0,0,0,39,0,0,0,0,0,1,421,,0,0,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,25,129,137,72,98,30,21,148,96,76,101,165,83,93,80,21,110,92,27,145,24,114,130,82,71,22,23,131,69,90,77,144,71,75,103,23,101,81,26,126,27,132,108,76,92,37,25,151,77,82,75,175,95,82,85,20,74,81,31,153,25,124,133,89,78,23,21,118,81,82,94,157,88,93,88,23,89,78,22 H,611018,8,700,4,16,1015675,114,2,1,1,,3,2,2,,180,0,2,150,1,400,1,,1,1100,1,1,1,6,,,,1,1,,18,1,2,4,7,79000,4,,,1,3,79000,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,1,1,1,1430,3,0,1,32,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,111,116,102,31,118,35,118,38,32,35,33,112,109,32,34,111,35,35,189,194,199,183,208,113,185,115,204,121,132,116,122,206,208,117,114,185,113,113,114,124,116,101,103,34,116,34,105,36,32,32,34,125,116,31,37,114,36,41,188,189,192,208,204,115,182,118,190,102,133,120,124,184,174,121,116,216,116,101,114 H,611048,8,500,4,16,1015675,70,2,1,1,,2,2,2,,40,0,2,40,1,380,1,,2,440,2,1,1,5,,,,1,1,,13,3,360,2,1,44000,4,,,1,1,44000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,2,657,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,56,137,22,74,94,125,69,62,72,76,73,26,74,121,19,66,19,68,114,21,75,22,133,83,23,22,59,73,78,66,69,108,57,19,113,55,126,66,25,116,61,123,18,67,112,113,75,73,60,73,66,22,65,123,24,67,20,63,122,26,74,25,114,60,18,26,70,57,66,65,71,108,69,22,113,67,102,75,20 H,611131,8,600,4,16,1015675,86,1,1,1,,3,2,2,,40,0,2,4,1,400,1,,2,840,1,1,1,6,,,180,1,1,,16,1,300,6,,,,,,1,6,55400,0,4,4,4,1,1,0,,0,0,0,24,0,0,0,0,0,1,1122,1,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,142,83,87,88,150,90,159,28,88,27,77,86,85,24,28,137,82,25,82,158,91,139,142,26,80,29,89,83,26,81,27,144,151,86,84,91,29,90,23,83,24,87,82,98,25,83,30,148,94,143,96,76,86,150,148,27,78,181,91,25,80,27,25,152,92,144,84,94,139,98,148,23,22,89,84,78,145,97,147 H,611175,8,300,4,16,1015675,33,7,1,1,,3,2,2,,40,0,2,130,1,680,1,,1,600,1,1,1,5,,,,1,1,,14,2,840,1,2,28000,3,,,2,1,28000,0,3,3,3,1,4,5,7,0,0,5,36,0,0,1,0,0,2,840,3,0,1,19,1,8,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,51,34,45,68,27,46,39,29,29,13,31,9,24,33,11,46,75,13,15,62,42,35,33,49,43,50,29,29,36,14,33,8,35,44,11,33,51,10,9,10,9,28,36,9,37,14,30,34,43,81,31,72,28,32,66,35,9,48,54,5,11,39,35,10,33,10,40,38,28,59,32,45,38,37,56,36,11,57,56,51 H,611485,8,400,4,16,1015675,25,2,1,2,1,2,2,2,,120,0,80,3,3,1400,1,,2,1000,2,1,1,9,,,2700,1,1,,17,3,2,5,2,40000,4,,,1,1,40000,0,4,4,4,1,5,0,2,0,0,0,101,0,0,0,0,0,1,4011,2,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,8,24,49,35,7,19,23,5,29,40,45,45,24,29,22,21,22,7,46,7,8,23,36,24,8,25,17,7,33,41,41,49,23,25,24,30,31,5,41,5,10,24,33,23,7,21,28,7,26,52,46,40,26,27,29,38,27,5,60,8,10,26,40,27,5,25,27,7,26,41,37,35,25,31,21,25,20,7,44 H,611765,8,600,4,16,1015675,134,1,1,1,,1,2,2,,30,0,2,30,1,,1,,,,,,1,5,2,400,,1,3,,,1,1,9,,,,460,99,1,4,5600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,140,43,35,145,134,119,36,229,46,145,206,231,222,125,48,241,127,124,117,35,207,134,148,44,40,252,143,137,130,201,126,134,151,34,135,142,210,38,246,130,141,35,39,145,129,134,39,278,39,128,214,223,218,135,42,226,128,138,134,35,208,145,122,38,37,275,154,115,145,211,123,128,150,38,143,144,215,43,205,132 H,612000,8,800,4,16,1015675,239,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,5,2,690,,1,3,,,2,1,2,,,,750,19,1,7,48000,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,319,297,91,261,357,217,211,392,268,79,90,83,227,196,180,229,265,373,338,75,370,263,84,254,352,255,246,340,233,84,97,79,260,251,214,237,203,455,351,330,56,262,365,205,72,211,205,79,253,353,330,369,232,226,203,216,224,76,102,525,99,202,345,222,64,296,270,71,306,341,362,352,286,277,321,285,231,92,86,74 H,612304,8,700,4,16,1015675,115,1,1,1,,3,2,2,,80,0,2,90,1,350,1,,1,690,1,1,1,5,,,,1,1,,14,1,680,3,,,,,,1,6,24000,0,4,4,4,1,5,0,,0,0,0,46,0,0,0,1,1,1,917,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,139,188,192,115,99,118,209,32,204,124,33,30,35,99,207,35,115,108,105,104,117,35,38,117,130,121,38,208,34,125,173,178,191,104,35,220,126,115,124,114,107,200,222,109,118,109,184,37,194,127,34,34,36,113,179,36,106,122,126,114,105,33,34,104,121,115,32,190,35,130,193,194,208,125,35,187,116,119,112,117 H,612512,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,612541,8,600,4,16,1015675,105,1,1,1,,1,3,2,,40,0,2,30,1,650,1,,,,,3,1,4,,,,1,2,,18,1,250,4,,,,,,1,6,46500,0,4,4,4,1,6,0,,0,0,0,9,0,0,0,1,1,1,358,,0,1,37,,,,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,176,174,108,106,110,188,31,213,97,32,35,32,110,181,28,99,102,103,111,106,33,33,113,108,104,31,184,32,105,193,166,165,103,33,181,108,99,109,108,103,30,30,106,96,103,34,173,36,98,168,179,182,112,32,177,111,102,108,113,109,195,160,101,106,107,182,29,185,105,30,30,28,124,185,31,102,102,119,95 H,612644,8,500,4,16,1015675,48,1,1,1,,3,2,2,,40,0,2,40,1,240,1,,1,410,1,1,1,5,,,,1,1,,13,1,540,9,,,,,,1,4,10000,0,4,4,4,1,6,0,,0,0,0,64,0,0,0,0,0,2,535,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,75,58,79,48,15,45,11,89,54,16,15,45,56,48,41,40,78,49,13,91,14,46,15,47,81,48,83,14,40,90,72,49,57,47,41,49,13,54,88,18,94,52,86,49,15,48,14,83,43,14,15,58,47,46,42,42,68,43,14,80,13,52,13,46,78,45,90,15,44,84,75,46,45,61,49,45,14,45,94 H,612859,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,612925,8,800,4,16,1015675,33,5,1,1,,4,2,2,,80,0,2,30,1,340,1,,1,500,1,1,1,7,,,,1,1,,10,5,690,6,1,83700,4,,,1,1,118700,0,4,4,4,1,7,0,4,0,1,0,7,0,0,0,0,0,2,668,3,0,1,11,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,32,28,35,8,38,30,57,12,68,63,34,32,10,10,49,32,36,34,30,40,60,63,57,34,10,66,35,32,38,33,10,9,43,32,27,10,51,10,10,58,29,36,37,10,35,33,67,9,62,59,36,28,11,12,57,35,32,35,37,33,47,53,60,32,11,57,32,31,33,35,10,10,37,39,33,10,60,12,12 H,613133,8,700,4,16,1015675,0,1,2,,,,,,,,150,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,613810,8,500,4,16,1015675,390,0,1,,,2,4,,,,,,,,,1,,,,,,1,4,2,580,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,593,572,391,498,766,611,407,814,592,385,352,366,367,674,438,530,417,644,552,419,112,147,401,422,143,126,384,94,135,420,366,383,328,113,411,91,349,143,100,357,117,98,327,315,107,125,377,136,157,349,432,429,485,120,391,154,379,118,117,370,773,716,430,348,596,714,455,607,572,344,410,340,466,562,411,746,326,577,742,412 H,614019,8,400,4,16,1015675,26,3,1,1,,3,1,2,,80,0,190,30,6,0,1,1900,,,,3,1,5,,,,1,2,,3,2,550,6,3,49100,4,,,1,1,49100,0,4,4,4,1,5,0,3,0,0,0,8,0,0,0,2,0,2,330,,0,0,1,2,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,6,9,9,8,28,7,24,7,28,27,23,27,6,7,29,25,8,25,27,39,30,32,26,28,39,27,55,27,38,47,55,41,30,23,42,47,21,47,7,22,9,7,10,8,21,8,25,10,21,27,28,24,8,10,25,23,8,26,24,47,27,28,24,32,43,25,53,20,52,54,51,49,24,20,40,45,26,48,7 H,614439,8,300,4,16,1015675,133,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,212,136,253,245,137,145,130,112,211,118,281,128,212,238,222,264,175,143,134,40,44,115,33,38,129,109,129,138,36,155,50,151,37,38,46,33,124,140,126,220,212,115,192,219,130,102,124,147,240,139,248,177,221,211,236,237,129,114,151,33,32,125,45,58,164,150,139,143,36,110,38,126,48,45,40,37,127,161,135 H,614504,8,500,4,16,1015675,87,5,1,2,1,3,1,2,,100,0,2,3,3,,1,,,,,,1,8,2,1000,,1,3,,,2,2,3,1,96000,2,1100,14,1,1,96000,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,28,92,25,90,84,92,82,32,26,87,87,23,85,86,28,33,25,26,73,91,91,161,82,137,140,132,140,93,100,150,144,78,152,151,86,99,78,84,151,136,138,86,141,90,81,90,96,183,141,89,90,156,78,101,153,142,141,151,93,93,82,24,85,26,27,28,30,87,79,23,25,91,29,25,87,89,87,90,21,26 H,614607,8,500,4,16,1015675,179,1,1,1,,3,2,2,,50,0,2,70,1,400,1,,1,750,1,1,1,5,,,,1,1,,17,2,600,1,,,,,,1,4,28000,0,4,4,4,1,1,0,,0,0,0,39,0,0,0,0,0,2,920,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,276,193,176,52,269,58,46,169,175,329,298,62,157,163,173,49,171,175,175,309,263,191,193,61,319,55,48,198,210,351,326,67,194,206,168,54,200,179,152,50,50,170,181,265,59,350,255,154,168,70,52,271,170,168,187,341,198,208,181,48,45,183,197,302,51,289,290,187,203,61,59,339,177,178,166,281,180,201,170,249 H,614832,8,100,4,16,1015675,27,2,1,2,1,3,2,2,,70,0,100,3,4,600,1,,,,,3,1,7,,,,1,2,,17,4,2,4,4,94200,4,,,1,1,94200,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,2,1,1,228,,0,1,24,1,6,9,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,24,43,41,27,57,8,26,29,27,7,27,57,28,10,10,25,30,7,47,29,28,7,9,27,9,52,27,25,28,50,27,11,27,44,46,26,29,48,10,32,26,8,7,32,10,46,24,29,33,53,27,9,31,45,39,27,27,45,9,32,36,49,43,27,53,8,23,26,27,8,25,49,30,9,8,27,30,8,53,29 H,614985,8,100,4,16,1015675,108,2,1,2,1,4,2,2,,70,0,2,160,1,330,1,,2,620,2,1,1,9,,,250,1,1,,22,2,360,3,7,70000,2,,,1,3,70000,0,2,2,2,1,4,1,2,0,0,1,22,0,0,1,0,0,1,1308,2,0,1,30,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,39,118,33,205,175,112,133,130,38,119,175,91,207,169,29,124,28,94,98,93,36,87,30,171,174,123,131,110,34,90,161,99,203,204,30,94,31,95,109,93,32,91,35,167,173,97,100,124,33,96,188,104,156,186,36,100,32,105,127,89,29,106,37,181,186,109,114,120,34,100,177,133,192,212,39,113,31,89,115 H,615214,8,600,4,16,1015675,93,2,1,,,1,5,,,50,0,1,1,3,,1,,,,,,1,2,2,600,,1,3,,,3,1,4,3,16400,4,650,48,1,1,16400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,7,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,165,88,24,171,28,83,86,99,100,91,96,165,29,92,95,28,26,83,154,92,96,29,110,94,94,27,171,161,167,175,25,99,92,141,29,94,95,25,87,27,28,79,155,34,156,90,93,93,91,96,97,25,137,111,113,155,169,96,25,86,93,172,86,98,91,157,27,24,29,25,168,94,96,30,169,96,81,159,88,150 H,615261,8,900,4,16,1015675,158,1,1,2,1,3,2,2,,100,0,2,60,2,300,1,,,,,3,1,5,,,,1,2,,17,1,2,2,,,,,,1,6,34000,0,4,4,4,1,3,0,,0,0,0,15,0,0,0,1,1,2,427,,0,1,41,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,58,134,277,206,57,217,175,50,167,176,179,258,204,196,167,146,143,51,204,58,53,154,238,182,51,153,156,51,116,194,230,253,166,150,165,188,133,46,73,232,198,163,72,142,256,211,151,231,172,39,43,57,153,155,138,137,163,265,64,218,254,169,54,143,218,212,187,195,119,59,53,48,143,175,188,191,149,199,226 H,615746,8,200,4,16,1015675,37,1,1,2,1,4,2,2,,330,0,2,3,3,670,1,,2,1100,1,1,1,8,,,,1,1,,15,1,2,4,,,,,,1,4,15900,0,4,4,4,1,5,0,,0,0,0,101,0,0,0,1,1,1,1486,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,45,38,38,37,42,69,37,34,13,14,89,62,11,34,54,12,13,45,37,36,10,35,34,38,44,11,31,32,62,71,12,10,60,34,10,68,65,42,31,44,59,29,28,40,37,64,53,29,12,14,72,58,12,37,59,11,10,40,25,37,10,32,31,38,43,11,37,42,62,65,14,12,61,35,12,52,66,46,29 H,615994,8,900,4,16,1015675,30,1,1,1,,4,2,2,,130,0,2,3,3,400,1,,,,,3,1,6,,,,1,2,,11,1,480,8,,,,,,1,6,26900,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,1,249,,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,35,40,29,45,46,29,73,7,48,8,33,8,8,40,30,27,25,17,35,33,57,9,10,29,22,61,29,23,24,26,59,29,35,11,7,39,48,12,55,11,32,32,29,50,54,30,63,10,44,10,24,7,8,22,33,26,21,33,29,33,54,7,9,35,26,38,21,25,28,32,34,30,25,7,11,66,75,10,33 H,616311,8,900,4,16,1015675,14,5,1,1,,3,1,2,,80,0,450,3,6,0,1,0,,,,3,1,5,,,,1,2,,4,2,520,5,1,27400,2,,,1,1,27400,0,2,2,2,1,5,2,5,0,0,2,8,0,0,1,0,0,2,178,,0,0,6,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,24,30,5,3,18,12,3,23,12,12,13,5,13,12,11,11,3,15,12,10,22,23,4,4,21,12,4,23,20,9,11,3,11,13,13,15,3,10,12,15,25,27,5,3,22,13,3,23,20,14,14,5,11,10,8,13,3,12,12,12,15,23,5,3,18,11,5,19,23,10,10,5,15,13,15,12,3,14,10,11 H,616339,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,616646,8,100,4,16,1015675,122,1,1,1,,2,2,2,,40,0,2,20,1,300,1,,1,700,1,1,1,4,,,,1,1,,15,1,240,3,,,,,,1,4,34570,0,4,4,4,1,4,0,,0,0,0,27,0,0,0,1,1,1,780,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,127,32,43,39,125,116,110,95,132,178,188,199,114,37,120,261,110,104,38,235,128,40,38,37,146,125,106,112,139,254,226,224,106,36,96,221,134,130,40,228,129,33,37,39,113,115,130,114,155,205,172,192,123,36,113,224,132,126,32,258,129,36,34,46,152,118,119,108,123,204,205,214,107,32,99,216,131,120,36 H,616909,8,900,4,16,1015675,203,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,364,59,212,242,325,58,164,206,65,193,200,60,182,189,220,59,367,383,304,188,352,67,210,179,331,73,213,200,56,200,227,62,232,190,175,62,316,307,336,191,314,58,214,206,339,63,183,222,58,201,208,59,165,182,256,69,312,352,302,170,348,67,195,181,370,65,216,204,59,213,231,72,255,194,155,56,333,321,332,202 H,616970,8,300,4,16,1015675,15,3,1,1,,4,2,2,,120,0,2,3,3,220,1,,1,560,1,1,1,9,,,,1,1,,12,2,480,5,2,27000,1,,,1,1,27000,0,1,1,1,1,2,1,3,0,0,1,32,0,0,1,0,0,1,720,3,0,1,12,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,19,16,27,14,4,29,30,5,15,14,4,15,4,15,16,15,22,12,25,5,15,14,4,11,28,7,5,27,11,15,27,17,23,18,15,14,3,16,23,3,13,18,4,20,23,5,5,23,15,16,29,15,23,16,16,15,4,18,5,23,18,13,24,14,4,23,27,5,15,15,3,14,5,15,15,12,26,15,5 H,617097,8,200,4,16,1015675,68,1,1,1,,2,2,2,,60,0,400,3,6,290,1,,2,410,2,1,1,5,,,,2,1,,8,3,800,6,,,,,,1,4,38000,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,1,0,2,644,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,20,24,19,54,134,75,19,70,64,20,49,113,98,90,64,65,69,71,18,83,128,136,126,70,23,79,126,62,70,104,62,21,26,21,69,69,70,89,107,80,20,20,19,88,135,72,23,68,64,23,63,94,124,110,60,77,67,79,20,64,116,119,118,74,26,76,98,58,69,86,68,21,22,19,58,81,68,74,97 H,617263,8,100,4,16,1015675,83,3,1,2,1,2,1,2,,100,0,100,3,3,,1,,,,,,1,4,2,500,,1,3,,,2,100,5,1,31600,2,616,23,1,1,31600,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,79,22,75,91,144,73,144,83,144,75,99,25,114,93,25,133,120,28,27,81,24,70,122,29,88,24,69,142,83,135,28,82,150,132,79,86,70,91,100,142,87,116,81,85,27,71,25,89,28,80,70,133,82,70,157,22,25,138,147,86,143,81,23,132,80,119,97,24,93,24,151,80,28,24,86,73,80,85,76 H,617319,8,900,4,16,1015675,25,1,1,1,,5,2,2,,50,0,2,80,2,350,1,,2,600,2,1,1,9,,,,1,1,,16,3,300,9,,,,,,1,6,14000,0,4,4,4,1,6,0,,0,0,0,70,0,0,0,0,0,2,817,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,24,25,51,25,23,39,28,36,21,25,5,6,40,51,10,26,45,8,28,6,26,31,41,25,24,19,25,64,27,20,10,10,48,47,5,23,52,7,17,35,21,28,8,41,37,28,25,8,25,18,48,55,8,9,35,26,9,46,25,42,36,30,7,22,26,26,27,6,25,32,33,35,7,9,43,23,8,42,24 H,617491,8,500,4,16,1015675,80,1,1,1,,2,2,2,,40,0,2,4,1,250,1,,1,450,1,1,1,4,,,270,1,1,,12,2,420,8,,,,,,1,4,48000,0,4,4,4,1,3,0,,0,0,0,20,0,0,0,0,0,2,799,2,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,23,24,131,129,27,74,133,26,23,84,72,123,83,87,91,78,127,76,79,91,136,129,23,23,138,82,25,140,125,83,76,23,95,66,71,81,24,81,78,89,147,128,26,24,151,87,27,127,139,69,83,23,76,72,73,72,23,83,73,83,22,25,148,126,23,81,147,26,23,77,79,151,77,85,72,76,140,72,86 H,617555,8,100,4,16,1015675,166,4,1,1,,3,2,2,,30,0,2,110,1,160,1,,1,970,1,1,1,5,,,500,1,1,,19,3,720,9,1,148410,2,,,1,1,148410,0,2,2,2,1,5,2,4,0,0,2,14,0,0,1,0,0,2,1670,2,0,1,29,3,1,1,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,233,46,45,167,57,141,166,247,174,294,158,251,161,180,49,127,156,34,259,265,152,203,212,298,199,46,250,154,253,224,47,232,61,286,155,49,68,194,168,193,246,59,37,147,54,145,154,305,179,287,201,246,177,171,55,167,129,60,261,287,185,138,150,295,183,53,235,135,371,152,53,201,48,282,159,41,43,197,234,172 H,617660,8,900,4,16,1015675,90,1,1,1,,4,2,2,,60,0,2,150,1,360,1,,,,,3,1,7,,,,1,2,,13,3,60,7,,,,,,1,4,30000,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,0,0,1,345,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,85,25,106,27,24,25,27,77,88,25,22,86,34,25,78,80,107,119,142,94,141,84,153,81,86,114,104,158,149,89,105,159,89,97,133,129,133,154,86,151,84,163,78,128,167,151,146,95,89,168,166,80,155,174,79,76,77,85,34,88,28,100,27,92,86,83,95,33,35,75,86,25,96,84,25,30,26,25,94 H,617828,8,100,4,16,1015675,78,1,1,1,,3,2,2,,120,0,600,3,3,,1,,,,,,1,7,2,400,,1,3,,,1,520,8,,,,613,49,1,6,15000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,24,132,127,22,73,73,22,78,28,75,78,70,139,72,120,87,74,135,126,85,147,24,25,126,69,76,149,74,154,73,67,65,29,79,17,68,85,26,25,60,21,126,162,21,81,83,21,81,22,69,66,85,125,82,182,78,84,111,137,70,111,22,28,148,79,80,135,79,153,78,77,81,18,72,25,81,75,23,22 H,618199,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,618226,8,900,4,16,1015675,73,2,1,1,,3,2,2,,30,0,2,90,1,240,1,,1,530,1,1,1,5,,,,1,1,,11,2,600,7,1,15500,4,,,1,1,15500,0,4,4,4,1,1,0,2,0,0,0,54,0,0,0,0,0,1,700,3,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,85,156,136,90,112,18,60,74,74,27,83,128,66,19,21,66,77,38,124,63,65,103,119,81,134,20,95,84,87,23,69,134,83,29,26,55,61,18,115,76,69,22,20,63,28,148,83,68,71,137,70,28,75,145,145,69,62,80,23,87,82,23,22,93,17,116,78,78,76,152,84,25,64,118,111,76,68,132,24,67 H,618393,8,100,4,16,1015675,155,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,267,47,143,272,37,40,176,153,254,159,143,186,186,224,157,152,38,47,248,172,45,236,132,50,299,194,165,165,47,136,159,188,172,63,147,132,233,235,51,140,48,253,162,49,229,243,151,145,48,161,140,137,142,50,174,150,214,274,51,184,229,50,174,252,59,43,158,157,225,149,142,183,130,240,149,135,56,48,290,169 H,618426,8,100,4,16,1015675,147,1,1,1,,3,2,2,,50,0,2,90,1,550,1,,2,1200,2,1,1,5,,,,1,1,,15,2,50,5,,,,,,1,4,50000,0,4,4,4,1,1,0,,0,0,0,35,0,0,0,0,0,1,1478,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,172,199,41,177,56,44,270,215,134,120,127,113,43,319,123,111,134,41,52,44,161,157,290,165,259,216,53,42,127,156,116,132,305,48,154,141,157,259,240,219,166,155,41,197,59,43,238,270,131,101,134,116,47,303,123,148,159,47,47,36,138,171,284,160,245,235,41,49,116,150,150,145,326,47,151,135,135,246,239 H,618905,8,600,4,16,1015675,105,3,1,1,,4,3,2,,170,400,2,120,3,,1,,,,,,1,9,2,900,,1,3,,,0,2,6,8,15660,4,1190,91,1,3,15660,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,1,1,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,193,103,181,100,91,104,30,95,31,105,110,32,110,154,28,32,171,113,181,111,180,101,187,108,114,113,29,98,32,98,98,27,97,196,35,33,165,93,32,92,31,118,31,91,106,107,196,107,204,97,104,190,104,30,175,147,32,109,32,97,30,102,28,108,94,103,184,118,176,110,96,180,110,29,167,179,32,106,162 H,619513,8,100,4,16,1015675,96,2,1,1,,5,2,2,,40,0,2,110,1,570,1,,2,450,2,1,1,9,,,,1,1,,19,3,540,5,1,88040,4,,,1,1,88040,0,4,4,4,1,6,0,2,0,0,0,11,0,0,0,0,0,1,810,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,99,93,27,165,25,95,167,146,164,98,28,144,102,94,92,95,28,32,96,95,92,105,32,159,24,89,157,147,180,92,29,159,102,103,80,87,27,30,95,82,95,116,34,157,27,101,149,155,145,87,25,167,88,97,109,93,27,25,95,99,81,90,29,192,29,86,160,150,165,97,26,166,87,96,92,98,31,31,93 H,619555,8,900,4,16,1015675,22,5,1,1,,5,2,2,,200,0,1000,3,4,1000,1,,2,900,1,1,1,9,,,,1,1,,13,2,600,9,2,67000,2,,,1,1,67000,0,2,2,2,1,5,3,5,0,0,3,24,0,0,1,0,0,2,1316,3,0,1,12,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,21,8,40,5,22,35,32,42,16,7,38,22,23,16,21,9,7,23,25,20,19,6,34,5,24,52,33,33,25,6,38,20,20,22,22,6,6,24,20,21,21,29,6,38,25,7,5,7,23,41,6,23,20,20,17,28,42,34,20,26,24,33,7,35,23,8,6,7,20,40,8,25,20,20,16,31,37,18 H,619582,8,400,4,16,1015675,82,5,1,1,,3,2,2,,80,4900,2,3,3,,1,,,,,,1,6,2,730,,1,3,,,1,380,5,1,8700,2,842,101,1,1,8700,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,24,22,80,27,72,78,171,60,72,101,127,105,100,31,93,62,26,109,142,94,84,78,147,72,20,101,75,134,96,27,71,24,185,62,17,31,100,79,74,32,171,163,85,160,66,60,21,93,14,76,20,88,91,100,81,79,111,28,24,79,111,80,27,85,130,22,84,25,77,135,60,145,27,67,142,151,91,75,63 H,619798,8,100,4,16,1015675,105,1,1,1,,2,2,2,,60,0,2,100,1,400,1,,,,,3,1,4,,,,1,2,,17,1,400,3,,,,,,1,6,16000,0,4,4,4,1,5,0,,0,0,0,26,0,0,0,0,0,1,351,,0,1,27,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,105,116,167,32,120,102,36,133,95,34,115,106,96,34,191,175,186,162,27,109,81,110,162,28,107,91,30,104,97,33,95,107,104,29,198,178,185,153,29,111,101,109,29,176,101,96,161,98,104,190,94,119,99,159,33,29,32,29,171,119,105,102,33,191,109,97,150,112,96,184,111,109,109,189,31,32,35,32,172,113 H,619977,8,500,4,16,1015675,139,4,1,1,,4,2,2,,40,0,750,70,1,,1,,,,,,1,6,,,,1,4,,,2,240,3,1,27000,2,,,1,1,27000,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,154,127,38,222,39,43,148,159,221,279,41,131,130,148,51,134,127,136,44,44,121,134,239,43,235,231,155,140,42,40,199,135,141,130,242,126,132,147,44,37,141,125,230,38,257,261,121,131,49,35,227,137,126,135,233,133,161,159,231,243,144,142,49,206,38,48,139,145,229,232,42,150,132,122,37,140,153,134,225 H,620399,8,500,4,16,1015675,80,5,1,1,,5,2,2,,150,0,2,180,1,500,1,,2,1400,2,1,1,9,,,,1,1,,20,4,80,4,1,88200,2,,,1,1,88200,0,2,2,2,1,5,1,5,0,0,1,28,0,0,1,0,0,1,2037,3,0,1,43,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,73,79,86,149,125,96,139,22,152,25,71,23,23,88,69,78,69,78,73,93,123,20,21,78,84,141,80,80,74,82,141,81,85,24,26,151,136,25,135,23,90,89,91,144,147,78,124,26,114,24,74,23,28,85,84,68,73,80,87,81,147,23,21,77,90,134,79,69,78,89,137,80,78,27,25,145,135,22,148 H,620667,8,600,4,16,1015675,83,2,1,1,,3,2,2,,50,0,2,30,3,600,1,,1,2000,1,1,1,7,,,,2,1,,18,1,560,8,,,,,,1,5,85000,0,4,4,4,1,1,0,,0,1,0,30,2,0,0,0,0,1,2127,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,135,83,76,24,89,25,25,141,151,77,89,91,85,25,136,79,94,81,26,151,159,89,83,25,88,29,25,149,143,80,87,76,73,24,154,84,88,80,23,135,124,79,88,26,86,26,25,132,156,87,83,86,84,28,162,99,82,81,25,151,162,86,86,26,80,26,23,136,135,80,89,78,70,25,157,78,91,80,25,137 H,620717,8,600,4,16,1015675,80,1,1,1,,2,1,2,,40,0,2,30,1,140,1,3000,,,,3,1,4,,,,2,2,,1,1,40,4,,,,,,1,4,24800,0,4,4,4,1,1,0,,0,0,0,17,0,0,0,0,0,1,348,,0,0,5,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,93,146,83,80,123,83,131,23,24,87,75,77,144,83,28,85,21,22,118,77,76,23,87,77,27,76,24,139,128,87,75,82,25,79,147,90,132,131,26,82,77,24,86,78,23,84,23,144,132,75,77,85,21,77,138,82,138,145,26,80,77,137,76,78,138,88,149,23,25,94,77,77,142,81,28,81,22,24,136,84 H,620840,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,620846,8,500,4,16,1015675,120,1,1,,,1,4,,,2,0,2,3,1,,1,,,,,,1,2,2,400,,1,3,,,1,2,4,,,,400,28,1,6,17200,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,124,36,214,125,202,242,137,186,42,108,125,119,37,111,162,114,37,37,103,109,102,35,197,122,218,179,108,202,36,103,141,123,45,128,227,115,34,40,119,131,117,186,44,129,40,36,110,30,155,119,102,117,236,141,43,115,183,194,138,126,114,173,34,132,40,42,131,34,188,115,131,117,169,122,32,122,180,187,118 H,621095,8,300,4,16,1015675,99,5,1,2,1,3,2,2,,70,0,2,160,2,200,1,,1,780,1,1,1,6,,,,1,1,,14,3,2,5,1,60000,2,,,1,1,60000,0,3,3,3,1,6,3,5,0,0,3,20,0,0,1,0,0,1,1010,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,131,95,121,95,197,80,127,26,104,31,133,123,94,32,24,146,102,26,107,26,93,27,35,161,102,174,92,115,172,92,159,29,37,106,127,119,140,101,28,76,32,99,91,114,25,87,33,176,96,162,82,87,117,152,188,29,88,185,94,199,92,156,190,32,125,24,102,115,35,118,32,160,140,92,94,97,40,89,129 H,621417,8,500,4,16,1015675,74,2,1,1,,4,2,2,,80,0,2,50,1,600,1,,1,850,1,1,1,6,,,,1,1,,16,2,160,2,8,17700,4,,,1,3,17700,0,4,4,4,1,3,0,2,0,0,0,67,0,0,0,0,0,2,993,3,0,1,24,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,27,74,73,73,120,62,22,69,21,23,148,66,118,75,71,114,67,104,21,75,145,66,67,72,22,67,128,78,120,128,23,63,22,77,78,22,75,21,136,81,20,82,78,75,117,74,22,59,22,23,125,72,122,69,77,120,63,127,22,74,125,79,75,68,18,78,129,70,113,125,25,65,20,78,66,22,74,23,126,76 H,621763,8,500,4,16,1015675,82,5,1,1,,2,2,2,,50,0,2,70,1,,1,,,,,,1,4,2,500,,1,3,,,1,780,9,2,16600,3,685,50,2,1,16600,0,1,1,1,2,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,182,86,31,70,65,87,28,77,19,129,66,151,107,103,95,112,130,24,76,67,77,24,70,25,24,109,84,127,86,92,132,82,143,29,27,95,67,98,157,129,25,94,152,96,78,77,152,70,131,23,89,19,77,75,60,22,34,103,71,91,91,126,74,163,167,34,79,33,102,59,30,85,22,150,127,76,103,81,25,28 H,621996,8,700,4,16,1015675,114,2,1,1,,3,2,2,,100,0,2,80,1,190,1,,1,1300,1,1,1,5,,,150,1,1,,17,2,2,5,1,72000,4,,,1,1,72000,0,4,4,4,1,4,0,2,0,0,0,27,0,0,0,0,0,1,1630,2,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,197,197,111,36,116,172,106,115,194,115,30,36,32,106,110,115,121,118,205,30,32,35,114,172,120,36,117,107,33,119,190,209,204,115,129,104,103,117,36,194,200,201,124,35,102,216,115,113,225,111,34,34,30,124,112,101,100,104,196,33,35,36,121,209,110,31,117,108,36,120,181,177,188,115,109,118,125,108,32 H,622276,8,100,4,16,1015675,65,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,66,95,20,61,87,122,65,56,60,82,70,17,55,106,20,74,19,67,23,120,73,99,21,56,118,90,56,64,61,84,71,19,51,124,16,52,19,55,93,18,59,20,93,81,19,19,69,76,62,71,65,109,63,20,94,59,105,71,107,17,67,19,100,67,17,20,60,60,64,66,68,106,63,18,106,73,110,68,22 H,622475,8,300,4,16,1015675,31,2,1,1,,2,2,2,,20,0,2,90,1,400,1,,,,,3,1,5,,,,1,2,,16,2,390,6,4,38400,4,,,1,1,38400,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,2,309,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,42,9,8,31,30,28,51,31,11,28,11,9,50,32,53,31,39,52,26,28,11,56,49,31,27,30,8,24,53,26,56,47,10,41,8,37,39,9,29,34,8,46,50,30,33,26,10,37,47,33,55,49,10,33,8,27,29,10,28,31,55,10,10,31,30,27,47,36,10,30,9,8,57,32,65,36,32,40,33,27 H,622570,8,500,4,16,1015675,142,2,1,1,,3,2,2,,70,0,2,80,1,450,1,,1,950,1,1,1,6,,,,1,1,,17,2,200,9,1,142000,4,,,1,1,142000,0,4,4,4,1,3,0,2,0,0,0,9,0,0,0,0,0,2,1117,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,220,129,220,140,174,43,138,32,156,42,136,158,240,128,156,225,36,43,56,112,184,42,153,270,45,153,42,158,239,134,256,38,122,247,271,112,135,152,158,40,42,154,42,160,148,224,151,181,175,219,142,152,39,128,131,50,261,225,201,115,195,226,140,63,215,159,206,125,53,157,46,220,123,43,44,122,145,144,158 H,622783,8,500,4,16,1015675,86,5,1,1,,3,2,2,,70,0,2,4,3,600,1,,2,820,2,1,1,6,,,,1,1,,15,3,1000,7,7,17000,1,,,1,3,37000,0,1,1,1,1,1,3,4,0,1,3,37,3,0,1,0,0,1,1131,3,0,1,24,1,14,13,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,25,76,19,123,94,158,112,123,78,164,95,103,24,98,78,23,146,124,36,51,152,34,80,119,27,70,18,135,176,94,132,23,91,111,222,102,87,76,64,71,21,87,31,113,100,227,137,134,61,131,73,84,30,118,64,22,181,173,37,26,90,22,90,120,30,75,25,82,166,103,146,31,91,102,153,91,92,100,71,71 H,622936,8,100,4,16,1015675,112,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,118,128,129,182,104,120,29,34,203,236,38,105,149,33,35,106,149,222,143,106,104,86,79,174,104,102,37,39,188,185,33,120,167,38,40,101,105,207,105,164,136,124,116,180,103,108,42,33,162,227,31,107,181,34,31,102,142,182,104,110,100,127,97,189,132,115,34,29,171,166,33,141,190,29,27,135,100,190,111 H,623122,8,100,4,16,1015675,53,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,45,76,57,61,13,19,107,82,18,62,100,17,12,48,62,83,49,62,47,45,47,62,46,73,15,15,89,78,14,53,110,19,15,55,47,74,52,68,53,56,54,20,48,46,95,76,14,19,87,62,18,83,74,51,60,15,56,52,43,50,58,17,38,50,94,79,15,13,100,62,15,78,79,50,63,14,50,59,58 H,623496,8,800,4,16,1015675,12,2,1,2,2,3,2,2,,60,0,1100,3,4,590,1,,,,,3,1,7,,,,1,2,,10,2,620,5,4,46280,4,,,1,1,46280,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,1,1,317,,0,1,17,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,22,23,5,13,24,5,5,13,9,23,13,10,10,12,17,11,15,3,10,20,3,2,16,10,4,16,18,10,10,3,19,17,13,13,3,10,17,23,11,4,19,21,4,10,22,3,5,11,11,23,13,9,12,17,17,12,14,4,13,22,1,3,22,12,7,26,22,12,12,3,12,11,12,13,3,9,14,24,10 H,623510,8,300,4,16,1015675,70,1,1,2,1,4,2,2,,50,0,2,200,1,1000,1,,1,560,1,1,1,5,,,320,1,1,,12,3,2,8,,,,,,1,4,6300,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,1,1130,2,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,95,78,17,69,25,184,122,65,86,61,13,53,94,96,113,80,21,70,65,149,58,50,103,68,133,21,21,75,111,92,93,72,19,58,13,27,135,70,64,24,65,85,33,67,16,110,121,93,43,77,28,73,145,90,87,102,24,62,46,153,62,59,93,53,128,20,33,73,50,95,83,68,26,68,21,29,90,64,65 H,623801,8,400,4,16,1015675,30,2,1,1,,3,1,2,,40,0,1000,3,6,600,1,0,,,,3,1,4,,,,1,2,,9,3,2,5,1,32000,4,,,1,1,32000,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,1,223,,0,0,14,2,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,8,29,34,41,44,9,7,50,27,10,64,59,34,30,7,24,32,37,38,35,41,35,34,9,11,44,54,10,25,53,9,8,29,26,52,28,29,34,26,29,56,30,28,8,10,48,45,10,34,53,8,10,36,25,57,27,25,35,32,34,6,35,39,47,66,11,8,56,34,8,51,54,27,28,9,24,27,29,34 H,623978,8,300,4,16,1015675,42,2,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,4,2,460,,1,3,,,0,1,2,1,24500,4,510,25,2,1,24500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,49,88,75,71,39,38,60,48,34,10,14,11,34,71,60,13,36,41,14,72,62,68,84,77,37,49,35,45,43,14,11,8,51,75,51,15,58,37,13,66,38,73,80,78,62,54,33,43,55,12,13,15,35,78,59,10,39,56,11,56,42,71,67,71,39,46,53,79,41,12,15,11,45,93,42,14,44,36,10,51 H,624351,8,800,4,16,1015675,57,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,97,59,57,68,54,52,16,18,23,54,75,56,18,51,57,18,48,94,121,103,86,54,63,63,54,49,13,20,28,63,87,56,17,54,54,14,42,94,19,15,18,61,61,65,49,59,103,98,124,58,23,66,72,51,57,83,51,16,18,20,19,53,57,55,53,68,104,96,110,58,16,68,77,53,55,82,50,14,128 H,624722,8,100,4,16,1015675,78,2,1,1,,2,2,2,,20,0,2,120,1,870,1,,1,450,1,1,1,5,,,,1,1,,14,1,580,8,,,,,,1,7,31400,0,4,4,4,1,7,0,,0,1,0,24,3,0,0,2,2,1,638,3,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,20,61,85,183,146,20,20,148,67,32,113,134,93,62,28,70,59,92,66,66,118,78,60,24,23,130,151,27,66,139,26,20,80,96,130,68,77,96,92,92,112,66,71,29,33,152,121,23,86,161,27,22,70,58,134,102,66,80,72,73,26,72,57,126,121,21,23,97,85,31,156,118,90,68,19,78,81,73,97 H,625107,8,600,4,16,1015675,378,3,1,1,,2,3,2,,60,0,2,4,1,,1,,,,,,1,4,2,600,,1,3,,,1,440,8,7,23000,2,701,37,1,3,23000,0,2,2,2,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,111,380,348,381,390,109,121,654,114,380,409,612,640,653,370,413,111,605,376,659,388,113,114,639,626,344,385,363,337,118,643,381,396,400,110,623,394,393,112,616,369,101,125,594,714,365,343,396,342,123,637,352,367,390,120,705,402,341,117,391,122,395,391,367,390,106,104,567,113,360,366,624,608,629,414,381,116,647,452,343 H,625821,8,400,4,16,1015675,22,5,1,3,5,3,2,2,,100,0,700,3,6,590,1,,1,900,1,1,1,6,,,,1,1,,18,3,220,6,2,100000,2,,,1,1,100000,0,2,2,2,1,4,3,5,0,0,3,13,0,0,1,0,0,1,1076,3,0,0,22,1,3,3,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,18,38,24,25,42,30,29,33,22,32,20,33,20,25,20,21,42,33,20,7,22,7,24,23,5,5,10,8,22,6,19,7,20,21,20,21,5,6,24,7,20,5,21,20,5,5,7,6,18,6,26,5,20,18,18,20,5,5,25,37,24,47,21,22,40,38,30,28,20,47,19,37,25,20,21,19,37,37,17,33 H,626062,8,800,4,16,1015675,26,1,1,3,1,2,2,2,,40,0,500,160,6,,1,,,,,,1,5,2,350,,1,3,,,2,1,9,,,,592,22,1,4,32100,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,41,23,30,25,7,24,23,63,9,37,50,28,22,7,7,43,28,28,42,29,8,25,25,30,44,25,30,8,45,8,6,22,25,40,34,7,22,24,47,22,5,31,22,25,40,25,27,7,46,8,7,23,31,47,37,8,23,26,8,23,40,26,25,25,8,30,24,45,7,52,48,24,24,7,8,46,25,29,7 H,626073,8,300,4,16,1015675,107,2,1,,,1,8,,,1,0,1,3,3,,1,,,,,,1,2,2,520,,1,3,,,1,1,2,1,24000,4,520,26,2,1,24000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,103,40,97,88,40,118,191,152,190,100,98,106,113,105,35,28,28,112,188,183,135,31,138,93,29,107,179,244,167,119,109,104,133,97,29,29,32,84,183,25,87,195,120,101,224,110,30,32,26,92,118,96,127,120,179,208,206,124,28,27,103,178,107,109,176,97,31,33,27,120,119,94,123,108,172,291,204,102,29,209 H,626120,8,800,4,16,1015675,443,3,1,2,1,4,2,2,,100,0,2,3,3,510,1,,1,1100,1,1,1,7,,,,1,1,,17,2,2,3,1,71600,1,,,1,1,71600,0,1,1,1,1,3,1,3,0,0,1,20,0,0,1,0,0,2,1200,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,449,171,131,150,378,642,381,137,556,376,152,532,691,683,586,402,502,410,405,170,451,764,679,683,389,163,402,637,518,493,641,457,144,123,137,476,429,464,454,131,630,769,586,748,431,151,435,691,466,407,569,457,139,130,149,389,563,548,427,626,433,138,112,143,412,527,462,124,470,431,147,444,712,685,687,584,471,554,450,897 H,626757,8,900,4,16,1015675,27,2,1,1,,3,2,2,,90,0,2,3,3,600,1,,1,620,1,1,1,6,,,,1,1,,13,2,540,3,1,73000,4,,,1,1,73000,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,0,0,2,755,3,0,1,6,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,33,7,23,42,11,8,25,30,47,34,25,37,37,63,30,32,9,5,43,28,8,40,25,7,41,52,26,25,8,29,30,33,40,10,23,30,52,34,8,22,7,33,22,8,47,43,26,30,7,33,38,34,30,7,26,29,36,47,10,33,53,8,18,38,12,8,27,30,43,26,35,36,31,55,33,29,7,8,51,25 H,627159,8,900,4,16,1015675,78,2,1,1,,3,2,2,,130,0,200,10,1,310,1,,1,300,1,1,1,6,,,,1,1,,11,2,480,6,2,20000,4,,,1,1,20000,0,4,4,4,1,7,0,2,0,0,0,30,0,0,0,2,0,1,497,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,70,122,79,73,112,60,17,24,20,69,69,67,83,103,152,144,176,71,113,160,102,28,60,91,29,80,131,115,131,70,94,83,61,80,25,26,20,88,124,151,77,25,66,56,22,74,156,162,114,69,91,60,95,103,23,24,23,91,26,25,78,118,71,85,136,111,21,25,18,67,89,70,80,69,108,107,113,86,18 H,627702,8,400,4,16,1015675,27,2,1,2,1,3,2,2,,40,0,2,100,2,600,1,,,,,3,1,5,,,,1,2,,19,2,200,3,4,56070,4,,,1,1,56070,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,0,0,2,407,,0,1,36,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,7,5,9,31,23,25,25,24,57,44,62,28,10,29,45,41,30,37,25,9,8,8,10,28,25,26,28,30,53,43,41,28,9,32,36,24,33,43,27,8,9,10,9,24,27,33,30,24,47,42,47,23,6,25,41,27,30,52,24,9,7,7,10,28,30,27,25,31,39,48,44,33,8,24,44,30,31,44,33,10 H,628421,8,700,4,16,1015675,114,3,1,1,,4,2,2,,60,0,2,60,1,440,1,,2,1500,2,1,1,8,,,,1,1,,22,3,480,3,1,137900,4,,,4,1,137900,0,4,4,4,1,4,0,3,0,0,0,18,0,0,0,0,0,1,2047,3,0,1,54,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,32,185,108,133,199,105,120,215,111,117,104,206,30,34,31,29,213,113,117,102,187,39,109,110,35,131,121,38,113,110,109,37,190,174,195,195,35,112,109,112,35,180,128,123,177,129,126,183,125,108,108,186,33,38,37,31,179,107,112,111,187,36,119,111,34,109,117,32,114,123,108,30,193,195,186,203,36,114,114 H,628469,8,100,4,16,1015675,137,1,1,3,1,1,2,2,,40,0,500,4,6,390,1,,1,250,1,1,2,2,,,,1,1,,19,3,60,5,,,,,,1,4,9800,0,4,4,4,1,6,0,,0,0,0,42,0,0,0,0,0,1,341,3,0,0,7,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,225,157,122,119,159,331,142,163,38,32,220,219,32,147,195,41,42,142,143,150,286,176,143,97,127,243,133,147,39,41,200,197,43,125,222,46,39,141,146,134,251,167,129,140,181,253,116,145,41,34,229,211,35,128,224,51,46,155,173,151,164,134,129,125,140,170,129,148,36,40,184,247,39,147,241,40,49,146,136 H,628537,8,300,4,16,1015675,78,2,1,,,2,4,,,90,0,2,3,3,,1,,,,,,1,4,2,700,,2,3,,,2,1,3,1,31600,4,790,30,1,1,31600,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,80,60,81,128,62,72,36,34,108,126,19,81,143,27,30,97,60,86,89,104,119,73,88,87,58,96,34,22,119,149,31,80,126,26,28,71,103,154,61,65,59,87,71,135,112,85,21,34,92,101,20,79,142,19,25,99,88,143,65,58,71,115,103,127,75,90,25,24,135,92,44,104,142,29,29,83,68,141,64 H,628663,8,200,4,16,1015675,71,2,1,2,2,4,1,2,,200,0,2,3,3,390,1,60,,,,3,1,6,,,,1,2,,17,2,480,3,4,20300,4,,,1,1,20300,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,2,2,1,445,,0,0,32,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,67,18,116,75,57,80,109,60,21,70,97,119,60,96,118,20,103,104,27,30,54,22,135,63,84,67,102,51,19,62,92,142,69,73,115,26,86,68,99,91,117,154,21,63,77,63,23,74,112,90,27,17,64,70,21,98,60,78,126,116,79,140,21,70,83,66,15,81,106,84,32,19,68,55,20,163,66,79 H,629222,8,100,4,16,1015675,115,1,1,1,,3,2,2,,30,0,2,70,1,340,1,,1,710,1,1,1,6,,,,1,1,,18,1,660,1,,,,,,1,6,52000,0,4,4,4,1,2,0,,0,0,0,20,0,0,0,0,0,1,865,3,0,1,33,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,127,116,125,214,169,113,201,35,200,38,108,34,39,111,106,110,111,102,132,103,40,215,202,108,120,30,105,122,114,113,34,114,126,224,209,34,33,175,33,176,135,129,108,38,32,120,37,202,36,199,121,161,184,110,108,133,99,110,103,120,206,31,37,105,115,224,131,115,119,105,223,118,104,39,32,200,219,26,177 H,629247,8,700,4,16,1015675,117,1,1,,,1,9,,,30,0,2,3,3,,1,,,,,,1,3,2,650,,1,3,,,1,1,3,,,,680,101,1,4,990,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,33,109,203,43,152,97,118,122,121,118,113,36,212,139,129,205,183,111,119,114,115,242,128,113,111,216,33,36,33,33,197,121,110,32,198,126,114,199,188,234,179,106,41,209,34,120,126,112,121,119,104,190,40,137,118,35,35,105,104,125,119,33,129,103,115,37,177,206,182,201,32,119,121,205,36,111,125,32,32 H,629385,8,400,4,16,1015675,81,6,1,3,6,4,2,2,,130,0,300,3,6,,1,,,,,,1,7,2,400,,1,3,,,4,2,8,2,40800,2,555,16,1,1,40800,0,2,2,2,1,3,4,6,0,0,4,,0,0,1,0,0,1,,,0,0,,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,24,76,143,90,71,110,79,32,29,20,77,78,68,78,80,146,142,138,81,20,25,78,147,104,73,107,78,32,27,22,78,71,74,69,74,163,131,133,82,136,141,85,27,84,72,23,92,169,126,143,109,70,65,56,68,27,23,22,82,140,166,86,24,83,84,24,61,121,173,141,71,94,92,70,64,25,26,22,74,20 H,629402,8,300,4,16,1015675,21,5,1,3,1,3,2,2,,150,0,2,3,3,,1,,,,,,1,8,,,,1,4,,,2,120,3,2,50210,3,,,1,1,50210,0,3,3,3,1,4,3,5,0,0,3,,0,0,1,0,0,1,,,0,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,22,29,22,8,18,16,38,41,6,8,47,21,7,34,34,24,20,26,5,21,22,26,21,6,23,21,43,39,5,6,40,29,7,50,47,19,23,22,5,23,22,20,27,6,19,26,41,36,7,5,35,26,6,42,38,19,25,21,6,19,21,24,25,8,20,23,45,43,7,8,37,18,6,34,37,30,19,17 H,629487,8,900,4,16,1015675,75,1,1,1,,2,2,2,,50,0,2,120,1,350,1,,,,,3,1,6,,,,1,2,,12,1,600,9,,,,,,1,4,19000,0,4,4,4,1,7,0,,0,0,0,18,0,0,0,1,1,1,291,,0,1,12,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,69,23,75,68,71,21,85,26,106,71,126,78,76,88,149,123,19,65,80,77,169,62,106,120,22,93,22,57,83,23,82,25,113,103,76,79,74,26,104,19,69,122,71,78,75,110,86,131,22,68,24,75,64,94,25,22,124,56,65,70,23,84,22,27,140,73,119,63,86,136,75,164,23,20,77,84,73,121,27 H,629701,8,400,4,16,1015675,92,4,1,2,1,5,2,2,,100,0,2,3,3,980,1,,1,840,1,1,1,8,,,260,1,1,,16,2,2,5,7,1200,3,,,1,3,1200,0,3,3,3,1,1,3,4,0,0,3,101,0,0,1,0,0,2,1200,1,0,1,12,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,32,65,106,115,131,73,235,101,77,126,101,41,170,121,22,103,132,26,129,19,39,82,90,74,147,96,158,143,79,125,78,31,158,108,35,120,90,30,116,26,27,83,108,106,177,72,149,105,66,144,73,26,173,159,24,96,108,37,123,28,28,69,93,84,117,101,214,88,82,158,104,27,160,142,23,115,142,24,97,18 H,629720,8,400,4,16,1015675,103,2,1,1,,4,2,2,,90,0,2,80,1,180,1,,2,800,2,1,1,7,,,,1,1,,15,2,980,4,2,63400,4,,,4,1,63400,0,4,4,4,1,6,0,2,0,0,0,23,0,0,0,0,0,1,1200,3,0,1,28,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,81,159,107,109,192,129,41,198,240,30,114,95,41,112,35,114,116,123,173,30,135,26,65,124,25,81,204,32,46,207,112,143,110,83,210,84,83,109,34,206,118,138,74,114,125,73,40,190,228,45,81,109,20,113,40,100,91,70,132,34,63,29,121,82,53,123,146,37,38,174,121,91,182,90,174,143,121,142,21 H,630159,8,900,4,16,1015675,118,2,1,1,,3,2,2,,50,0,2,70,1,440,1,,,,,3,1,6,,,,1,2,,11,3,570,5,4,30800,4,,,1,1,30800,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,2,2,1,288,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,168,109,133,83,42,139,50,104,125,43,93,163,50,48,184,118,156,149,57,139,35,122,101,122,181,98,193,118,108,196,121,23,175,171,28,144,137,38,38,101,37,106,92,86,222,168,224,83,111,166,106,38,248,208,43,113,95,30,185,128,180,147,134,139,36,106,26,108,137,41,114,212,40,24,191,124,124,310,197 H,630180,8,500,4,16,1015675,121,2,1,1,,3,2,2,,50,0,570,150,1,300,1,,,,,3,1,7,,,,1,2,,12,3,360,7,4,11300,4,,,1,1,11300,0,4,4,4,1,7,0,2,0,0,0,41,0,0,0,2,2,1,382,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,118,38,130,187,38,42,193,92,163,222,135,213,133,124,145,29,125,42,38,127,118,211,128,32,194,223,34,138,111,33,126,37,133,136,113,193,108,195,44,108,124,201,114,39,237,197,41,147,116,37,125,35,121,112,135,189,134,227,183,116,144,39,107,229,34,34,171,143,113,172,120,197,132,127,128,37,113,31,190 H,630484,8,200,4,16,1015675,97,1,1,1,,2,2,2,,130,0,2,30,1,740,1,,2,710,2,1,1,5,,,,1,1,,13,1,210,7,,,,,,1,4,14000,0,4,4,4,1,3,0,,0,0,0,90,0,0,0,0,0,1,1050,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,34,97,118,99,23,79,176,113,29,28,75,85,29,176,112,190,239,82,89,26,121,97,95,78,156,103,30,89,143,164,105,95,183,36,100,46,24,86,90,163,35,75,76,94,37,79,161,113,29,32,114,92,33,141,89,163,163,122,103,22,186,96,106,108,129,129,36,100,175,138,81,108,199,26,83,22,34,81,92 H,630515,8,600,4,16,1015675,80,1,1,1,,2,3,2,,70,0,2,40,1,,1,,,,,,1,4,2,520,,1,3,,,3,230,5,,,,649,25,1,4,31000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,22,78,73,22,78,82,23,80,83,80,25,134,134,132,125,24,81,83,75,25,125,75,78,131,77,81,149,82,85,81,143,25,24,21,22,119,83,82,74,23,146,74,77,141,80,80,118,78,80,78,145,25,24,22,26,145,82,92,80,133,23,82,78,21,70,79,23,75,82,81,24,133,120,135,126,23,85,77,79 H,630546,8,300,4,16,1015675,27,1,1,1,,2,1,2,,120,850,20,3,3,0,1,2500,,,,3,1,4,,,,1,2,,1,1,1,5,,,,,,1,6,8360,0,4,4,4,1,4,0,,0,0,0,49,0,0,0,0,0,2,338,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,32,39,8,23,8,30,26,27,51,26,43,26,29,41,27,10,54,51,8,49,28,29,49,28,39,32,26,27,9,32,9,27,23,8,31,58,9,8,53,8,25,26,10,35,10,35,26,33,41,26,50,24,23,46,26,8,52,50,6,39,31,28,42,33,50,26,32,30,7,28,10,32,35,10,26,51,8,11,45,9 H,630723,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,631077,8,100,4,16,1015675,46,1,1,1,,3,2,2,,40,0,2,200,1,250,1,,1,650,1,1,1,5,,,,1,1,,18,2,20,8,,,,,,1,4,30000,0,4,4,4,1,5,0,,0,0,0,36,0,0,0,0,0,1,892,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,93,49,50,45,14,43,11,36,41,13,47,72,14,12,76,45,50,94,71,38,75,49,47,44,11,57,16,46,42,12,50,82,14,13,81,50,52,84,14,54,12,44,46,50,84,37,77,43,50,91,44,16,61,67,17,40,38,13,15,64,17,36,37,47,86,41,90,47,49,95,42,17,73,79,13,50,52,12,97 H,631196,8,300,4,16,1015675,42,3,1,1,,4,2,2,,70,0,600,3,6,360,1,,,,,3,1,5,,,,1,2,,2,3,1,5,3,36100,2,,,1,1,36100,0,2,2,2,1,6,1,3,0,0,1,5,0,0,1,0,0,1,156,,0,1,3,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,10,52,53,11,31,65,62,66,43,42,36,45,48,12,11,16,39,59,11,36,63,33,50,55,33,17,14,19,33,51,49,37,64,94,81,49,42,16,13,42,56,28,43,53,44,21,13,13,46,50,57,33,46,86,108,68,33,11,59,40,16,46,44,13,29,43,63,47,52,40,54,47,52,13,11,16,49,73,79 H,631271,8,900,4,16,1015675,68,1,1,1,,2,1,2,,30,0,2,60,1,,1,,,,,,1,4,2,450,,1,3,,,1,1,5,,,,540,41,1,4,16000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,65,80,22,61,18,122,96,73,78,54,21,69,112,73,84,103,21,73,64,15,88,68,13,72,22,112,82,61,76,75,23,61,143,78,130,99,17,66,63,23,49,58,24,66,14,97,124,78,62,69,20,70,72,61,90,134,19,59,60,20,73,68,19,70,27,116,101,51,63,108,20,66,143,69,138,141,20,72,70 H,631424,8,200,4,16,1015675,78,4,1,1,,4,2,2,,180,0,2,30,1,460,1,,1,700,1,1,1,8,,,,1,1,,16,3,550,6,1,42000,2,,,1,1,42000,0,2,2,2,1,5,2,4,0,0,2,27,0,0,1,0,0,1,956,3,0,1,28,1,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,58,62,79,142,88,24,77,122,177,86,88,152,22,73,22,21,86,26,68,134,60,77,84,164,76,23,93,108,162,67,86,168,24,73,22,30,73,21,63,144,71,82,73,115,100,22,82,146,156,95,85,140,21,75,20,18,78,23,78,126,70,98,87,122,82,26,80,130,160,85,66,187,28,56,23,22,67,22,58 H,631459,8,700,4,16,1015675,27,1,1,1,,3,2,2,,100,0,2,100,1,230,1,,1,380,1,1,1,6,,,,1,1,,13,1,500,3,,,,,,1,6,19000,0,4,4,4,1,4,0,,0,0,0,39,0,0,0,0,0,1,622,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,28,27,8,41,27,28,7,27,9,7,43,45,26,27,29,30,8,43,9,26,25,26,46,9,28,29,42,29,47,49,9,7,26,28,25,29,45,9,50,29,27,26,9,47,27,22,9,28,9,8,49,44,26,23,25,28,8,48,7,29,24,30,44,8,30,25,46,28,48,42,6,8,29,26,27,29,43,8,42 H,631657,8,900,4,16,1015675,201,1,1,1,,2,2,2,,30,0,2,20,1,720,1,,1,650,1,1,1,5,,,,1,1,,11,1,480,9,,,,,,1,4,29000,0,4,4,4,1,1,0,,0,0,0,31,0,0,0,0,0,2,740,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,258,388,359,48,266,186,186,71,72,73,197,170,305,63,199,331,282,203,297,254,309,196,209,260,204,68,253,242,222,190,65,350,249,244,48,165,51,48,227,187,199,270,324,78,343,243,210,67,58,56,290,215,302,66,220,358,123,197,323,410,334,177,264,172,223,59,281,157,200,282,63,316,168,176,72,230,68,64,242 H,631775,8,600,4,16,1015675,62,3,1,1,,3,2,2,,80,40,1,50,3,,1,,,,,,1,6,2,500,,1,3,,,2,1,7,8,3540,1,630,89,1,3,8540,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,62,18,55,64,20,101,64,72,20,62,65,112,61,57,16,95,101,57,105,71,104,68,20,17,64,65,22,119,64,114,103,67,104,15,61,59,61,17,58,20,61,14,62,73,19,111,65,65,19,67,63,94,55,70,20,99,119,68,95,61,100,69,18,17,61,66,18,103,67,95,109,64,112,18,64,58,56,20,59,19 H,632176,8,800,4,16,1015675,139,4,1,2,1,3,2,2,,50,0,2,100,2,700,1,,2,100,2,1,1,6,,,,1,1,,16,3,400,3,2,90500,2,,,1,1,90500,0,2,2,2,1,5,1,4,0,0,1,6,0,0,1,0,0,2,483,3,0,1,29,3,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,71,155,67,37,217,235,43,131,197,41,45,148,151,209,120,186,131,130,112,187,176,130,35,45,283,240,69,185,211,55,37,145,141,169,143,130,211,130,120,211,143,158,47,55,287,182,46,167,217,46,41,134,190,187,114,209,176,115,143,213,126,130,56,38,171,248,50,161,272,42,40,155,128,194,144,114,112,126,163 H,632330,8,300,4,16,1015675,78,2,1,2,1,1,2,2,,100,0,80,30,6,,1,,,,,,1,2,2,100,,1,3,,,2,2,9,,,,237,3,1,5,85000,0,4,4,4,1,4,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,65,61,24,29,20,67,167,82,25,82,59,22,92,151,134,132,72,59,16,78,62,73,134,163,127,72,28,62,114,98,114,115,107,35,20,36,66,67,132,89,72,52,27,35,33,81,128,71,26,92,85,21,99,138,102,125,83,71,21,87,78,67,140,153,102,66,25,66,111,76,89,137,107,31,21,21,60,75,127 H,632374,8,300,4,16,1015675,59,1,1,1,,5,2,2,,30,0,2,130,1,330,1,,2,750,1,1,1,8,,,,1,1,,18,1,480,9,,,,,,1,6,54000,0,4,4,4,1,4,0,,0,0,0,22,0,0,0,0,0,1,978,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,106,48,45,65,15,18,58,13,90,19,98,59,84,134,82,59,53,57,86,72,75,29,102,107,75,56,14,60,66,48,47,16,50,59,115,83,18,18,43,17,70,112,15,20,62,66,86,69,51,72,65,100,46,51,23,21,119,100,100,61,24,77,58,80,105,66,56,57,16,99,16,65,15,27,68,58,52,51,18 H,632628,8,600,4,16,1015675,70,5,1,1,,4,2,1,,90,0,2,40,1,480,1,,1,1000,1,1,1,7,,,,1,1,,18,4,480,5,1,99200,2,,,1,1,99200,0,2,2,2,1,5,2,5,0,0,2,14,0,0,1,0,0,1,1170,3,0,0,29,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,117,66,68,71,75,68,20,73,119,20,70,21,74,119,66,111,19,71,127,22,114,69,74,64,69,70,22,76,129,23,66,20,76,115,67,119,21,78,110,18,120,73,68,77,72,74,24,73,125,21,66,21,69,117,65,118,22,70,124,20,120,64,69,69,61,68,20,72,130,19,74,21,74,122,69,109,20,76,115,20 H,632717,8,900,4,16,1015675,316,3,1,2,2,3,2,2,,110,0,2,150,2,640,1,,1,1100,2,1,1,5,,,,1,1,,15,1,2,3,1,67000,1,,,1,1,67000,0,1,1,1,1,4,1,3,0,0,1,26,0,0,1,0,0,2,1460,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,416,377,305,288,108,381,293,322,385,166,310,257,407,511,121,110,539,329,93,321,107,91,287,267,422,330,265,277,333,511,330,323,125,123,455,501,111,308,538,335,451,383,262,309,139,350,311,352,372,167,364,287,453,575,116,93,474,305,92,301,136,116,253,263,442,301,315,297,278,530,442,323,99,114,448,451,86,281,523,395 H,633225,8,200,4,16,1015675,329,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,13,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,338,532,529,494,372,409,344,334,306,99,81,98,301,552,409,107,301,327,113,448,330,546,594,618,324,320,291,301,297,95,118,126,320,516,349,112,377,317,86,89,399,118,113,123,342,332,344,291,275,590,617,597,326,102,350,503,361,344,460,108,352,113,87,88,317,362,271,294,352,435,429,497,323,120,344,502,332,362,508,452 H,633252,8,200,4,16,1015675,54,1,1,,,0,10,,,1,1000,2,50,2,0,1,,,,,3,1,1,,,,1,2,,1,0,1,4,,,,,,1,4,7820,0,4,4,4,1,3,0,,0,0,0,12,0,0,0,0,0,2,75,,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,52,102,58,49,45,14,14,48,16,95,11,83,53,97,96,65,75,64,55,46,73,51,14,87,98,55,52,18,59,43,54,52,15,60,51,90,79,16,15,59,77,53,19,91,77,58,61,15,56,48,40,51,15,67,65,112,103,13,17,17,49,80,41,61,52,13,16,53,17,76,15,68,51,96,97,67,51,55,54,24 H,633511,8,400,4,16,1015675,85,2,1,1,,3,1,2,,30,2400,2,150,1,220,1,3100,,,,3,1,5,,,,1,2,,3,1,720,5,7,11300,1,,,1,3,11300,0,1,1,1,1,1,1,2,0,0,1,55,0,0,1,0,0,1,516,,0,0,1,1,14,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,184,105,112,102,23,23,72,23,128,29,139,81,140,149,86,83,84,68,94,160,90,25,155,110,78,119,43,89,99,88,68,26,79,78,175,139,23,25,118,24,67,126,20,26,81,77,172,96,66,88,83,144,99,82,22,24,173,172,128,90,26,93,86,109,186,127,56,154,38,121,27,109,27,26,75,91,78,78,22 H,633627,8,900,4,16,1015675,100,3,1,2,1,5,2,2,,80,0,2,50,2,450,1,,1,1400,1,1,1,7,,,,1,1,,18,2,2,1,2,108000,2,,,1,1,108000,0,2,2,2,1,2,1,3,0,0,1,17,0,0,1,0,0,1,1530,3,0,1,29,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,85,142,134,215,99,25,101,149,146,112,184,102,30,28,33,97,99,125,28,122,98,143,143,142,91,30,87,141,125,128,202,117,32,30,30,96,98,107,28,95,76,137,163,196,90,28,95,146,167,145,235,102,20,29,28,84,120,135,31,126,88,127,156,171,101,28,89,155,94,109,218,113,25,27,26,84,104,118,27 H,633817,8,200,4,16,1015675,197,3,1,1,,3,2,2,,60,0,2,3,4,,1,,,,,,1,9,,,,1,4,,,2,2,8,1,74000,1,,,1,1,74000,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,63,164,259,207,85,171,274,185,66,256,75,304,256,327,200,163,225,308,309,134,168,312,157,50,228,83,57,307,211,225,202,171,302,230,238,100,45,201,206,76,60,311,318,191,65,235,186,167,57,178,61,280,152,255,175,172,185,291,274,166,291,383,177,97,163,70,74,289,172,293,219,189,296,228,274,58,66,232,234,81 H,633829,8,600,4,16,1015675,134,1,1,1,,3,3,2,,30,0,2,90,1,,1,,,,,,1,5,2,700,,1,3,,,1,420,2,,,,855,78,1,4,13200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,136,41,235,37,113,135,139,128,130,152,224,42,135,122,44,39,141,234,134,142,36,140,119,136,39,222,199,234,229,35,139,142,248,47,122,138,45,138,227,226,142,41,236,40,135,140,132,141,131,130,218,43,124,127,43,39,145,211,137,131,40,139,137,132,37,222,227,212,223,39,132,130,223,37,127,144,43,131,217 H,634048,8,100,4,16,1015675,124,2,1,1,,3,2,2,,90,0,2,3,6,,1,,,,,,1,5,2,1100,,1,3,,,3,580,3,,,,1238,21,1,5,70000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,38,42,44,41,143,40,121,38,128,113,141,126,31,35,96,95,41,128,139,254,142,126,130,127,196,104,178,110,191,233,222,184,129,135,187,185,142,194,45,119,37,40,28,32,117,38,139,42,110,131,103,114,41,38,130,119,38,146,142,187,143,104,125,139,174,159,213,121,228,198,215,222,131,105,205,234,110,192,34 H,634296,8,300,4,16,1015675,96,2,1,1,,2,2,2,,100,0,2,80,1,300,1,,1,530,1,1,1,6,,,590,1,1,,13,2,210,7,7,102800,4,,,1,3,102800,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,1,1318,1,0,1,22,2,13,13,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,105,31,137,170,193,155,29,77,92,130,26,102,148,35,81,94,26,89,98,91,87,146,31,27,28,35,145,103,97,37,149,87,68,173,123,117,160,73,87,87,99,154,27,27,32,29,164,85,93,25,192,95,105,215,100,100,194,92,82,102,109,27,185,153,153,150,30,95,88,181,25,91,98,22,107,100,25,125,110 H,634646,8,200,4,16,1015675,220,2,1,,,2,4,,,40,0,2,20,1,,1,,,,,,1,3,2,500,,1,3,,,2,1,7,,,,560,7,1,5,89800,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,252,303,268,232,291,307,259,229,377,365,295,332,269,328,260,433,212,228,281,50,197,63,66,195,261,81,209,221,85,56,85,68,174,71,243,85,206,209,234,78,275,103,82,209,227,78,184,178,73,59,66,52,208,65,231,97,174,190,219,283,291,316,448,345,177,375,260,226,378,299,431,346,156,397,265,286,277,210,256,415 H,634749,8,400,4,16,1015675,62,4,1,1,,3,2,2,,60,0,2,70,1,,1,,,,,,1,5,2,700,,1,3,,,0,360,1,2,59000,1,860,17,1,1,59000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,52,26,73,60,23,58,105,97,84,90,44,50,65,90,27,12,19,114,101,88,102,15,40,59,15,53,96,85,98,58,78,73,73,56,18,25,17,49,129,89,67,18,66,67,13,52,87,103,113,58,59,58,58,84,16,14,19,72,95,126,65,20,60,61,20,64,98,117,96,55,54,59,54,52,18,26,27,76,116,117 H,634752,8,100,4,16,1015675,87,3,1,1,,4,2,2,,230,0,2,2,1,340,1,,1,760,1,1,1,6,,,1200,1,1,,18,3,540,4,1,17800,4,,,1,1,17800,0,4,4,4,1,4,0,3,0,0,0,101,0,0,0,0,0,1,2235,2,0,1,26,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,86,141,24,148,169,91,77,22,24,156,75,86,78,156,90,87,91,23,100,89,162,87,92,102,90,25,24,78,73,92,25,144,23,90,157,115,128,80,27,159,77,27,145,25,24,93,94,145,134,24,86,70,88,25,89,102,77,146,73,83,28,77,83,86,90,151,136,107,81,88,154,24,133,78,24,26,23,90,153,24 H,634794,8,200,4,16,1015675,104,4,1,1,,4,2,2,,60,0,2,100,1,460,1,,2,1200,2,1,1,8,,,,1,1,,16,2,500,5,1,84150,3,,,1,1,84150,0,3,3,3,1,5,2,4,0,0,2,22,0,0,1,0,0,1,1565,3,0,1,27,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,36,85,199,118,28,34,122,92,43,200,98,191,169,83,160,32,144,103,111,83,28,104,148,159,31,35,139,108,32,180,127,169,216,109,133,30,84,91,96,96,152,122,37,101,218,159,77,120,122,41,121,29,41,126,29,148,103,99,114,104,175,136,40,69,149,168,97,96,196,40,88,34,32,77,47,152,121,131,93 H,634857,8,700,4,16,1015675,51,6,1,1,,3,2,2,,80,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,0,1,4,1,46600,2,580,15,3,1,46600,0,2,2,2,2,1,2,6,0,0,3,,0,0,1,0,0,1,,,1,0,,3,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,15,54,50,51,13,52,85,47,16,16,54,55,14,84,51,83,84,53,49,13,80,51,47,48,82,47,15,53,88,82,48,53,91,17,52,13,15,49,45,90,15,49,53,52,15,53,87,50,15,13,52,55,14,75,46,86,86,53,54,15,86,49,55,49,84,54,15,47,86,89,51,54,86,15,45,15,17,46,47 H,635199,8,800,4,16,1015675,75,1,1,2,1,3,2,2,,50,0,2,3,3,460,1,,2,740,2,1,1,5,,,,1,1,,15,2,2,7,,,,,,1,4,12000,0,4,4,4,1,4,0,,0,0,0,93,0,0,0,1,0,1,928,3,0,1,24,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,22,23,69,74,88,76,70,116,61,21,127,83,146,77,24,88,16,90,73,23,137,150,67,71,79,72,82,20,87,117,20,84,20,70,139,71,137,22,72,122,24,21,78,74,67,81,77,132,81,24,145,75,144,89,22,73,25,134,55,24,89,128,72,79,90,65,77,21,78,135,22,81,21,75,117,75,89,24,83,175 H,635331,8,900,4,16,1015675,85,1,1,1,,2,1,2,,50,0,2,10,2,190,1,0,2,550,2,1,1,5,,,,1,1,,10,1,2,5,,,,,,1,4,10000,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,0,0,2,876,3,0,0,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,104,140,23,78,123,135,83,101,113,90,94,24,86,98,20,74,21,119,31,161,69,76,24,113,109,158,102,101,127,88,81,30,79,148,21,68,21,85,28,137,100,137,28,65,114,148,101,102,103,86,87,20,73,131,28,88,22,77,24,246,92,122,36,67,103,136,87,101,119,73,75,25,72,156,26,65,30,100,42 H,635499,8,600,4,16,1015675,114,2,1,2,1,3,2,2,,20,0,2,70,1,370,1,,,,,3,1,6,,,,1,2,,19,2,2,5,4,17500,4,,,1,1,17500,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,2,2,1,218,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,217,35,179,111,34,37,37,116,201,35,125,103,102,114,191,186,111,107,195,33,130,116,112,32,115,108,119,195,126,116,32,179,34,35,105,104,198,180,99,105,34,206,31,116,205,207,195,121,39,200,113,104,114,113,31,37,130,122,33,210,99,107,104,177,102,109,115,35,110,105,186,38,206,205,113,110,33,37,119 H,635585,8,300,4,16,1015675,41,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,12,12,33,34,63,40,38,35,41,76,60,42,10,14,59,77,15,33,39,68,12,13,41,35,58,43,42,37,33,63,39,40,12,12,58,63,13,43,52,14,70,70,39,38,13,39,36,40,36,10,40,45,60,70,13,13,64,36,51,11,57,73,44,42,11,38,36,33,37,12,38,40,55,61,15,12,66,44,38 H,635681,8,100,4,16,1015675,133,3,1,1,,3,2,2,,50,0,1900,30,1,450,1,,,,,3,1,8,,,,1,2,,17,3,890,3,4,30300,2,,,1,1,30300,1,2,4,2,1,5,0,3,1,0,1,21,0,0,1,1,0,1,533,,0,1,34,2,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,153,209,37,142,226,233,137,126,159,128,127,40,112,250,40,114,36,126,239,35,136,42,224,134,37,36,135,151,132,156,136,217,160,36,229,148,200,145,205,35,128,43,227,144,36,38,132,119,145,123,158,235,124,42,231,138,231,154,37,280,140,231,41,123,230,183,133,146,128,160,129,36,148,249,37,138,46,124,46 H,635740,8,800,4,16,1015675,23,3,1,3,1,5,2,2,,2,0,2,3,8,,1,,,,,,1,8,,,,1,4,,,2,2,4,1,29800,2,,,2,1,29800,0,2,2,2,2,1,1,3,0,0,1,,0,0,1,0,0,2,,,0,0,,2,2,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,60,56,29,16,34,32,19,33,8,7,8,25,52,24,7,36,25,7,7,20,7,8,5,18,24,20,24,29,40,49,40,24,6,17,36,23,17,31,33,29,37,38,46,27,22,30,23,24,6,7,8,24,51,27,6,34,33,9,8,28,6,5,5,23,18,18,27,23,31,50,37,37,9,19,35,24,26,29,35 H,636304,8,200,4,16,1015675,125,2,1,1,,2,1,2,,410,0,2,2,1,750,1,1000,,,,3,1,3,,,,1,2,,9,2,600,3,8,39400,4,,,1,3,39400,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,1,1,1,606,,0,0,1,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,68,54,231,110,156,114,238,135,43,133,205,173,151,140,158,38,110,48,40,138,129,260,36,85,185,127,36,139,207,139,51,34,109,128,40,182,119,181,180,117,119,159,47,134,139,126,37,103,206,100,36,45,154,143,48,196,113,223,188,150,111,40,232,198,82,97,200,83,32,136,218,263,115,131,183,50,121,46,43,110 H,636335,8,100,4,16,1015675,97,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,97,32,86,31,33,23,24,86,95,28,37,96,25,33,109,115,111,100,177,118,166,85,191,98,123,103,88,169,145,87,101,151,88,86,127,176,149,158,108,32,92,25,92,31,28,30,26,94,109,27,29,113,31,28,108,95,101,115,171,96,159,93,137,88,98,88,114,152,141,104,77,169,92,96,185,152,160,164,91 H,636355,8,400,4,16,1015675,51,4,1,2,1,3,2,2,,60,0,2,3,3,1200,1,,1,700,1,1,1,6,,,,1,1,,14,2,500,4,2,24000,1,,,3,1,24000,0,1,1,1,1,2,2,4,0,0,2,40,0,0,1,0,0,2,802,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,52,15,51,13,57,70,46,64,66,110,46,51,99,56,20,97,86,13,94,55,39,78,53,74,51,46,51,15,53,17,66,55,14,54,88,20,13,71,18,61,76,20,41,13,68,49,40,68,37,67,47,63,103,50,14,98,78,12,91,49,53,87,49,82,39,58,89,20,54,15,69,44,15,68,99,13,12,89,12 H,636926,8,900,4,16,1015675,63,2,1,,,1,5,,,1,0,2,3,3,,1,,,,,,1,2,1,310,,1,3,,,1,1,3,2,10000,4,310,37,4,1,10000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,79,62,72,93,106,15,106,76,78,22,19,13,51,51,108,20,70,113,16,89,96,22,19,73,65,66,60,123,18,56,62,66,132,23,60,58,97,59,63,47,69,53,58,157,134,22,100,61,65,14,26,20,70,67,106,20,51,135,18,122,105,15,25,47,54,72,65,102,15,82,58,50,84,15,79,69,114,65,66 H,637122,8,900,4,16,1015675,81,2,1,2,1,2,2,2,,50,0,2,100,2,860,1,,2,680,2,1,1,7,,,150,1,1,,15,2,250,6,2,16300,4,,,1,1,16300,0,4,4,4,1,7,0,2,0,0,0,84,0,0,0,2,2,1,1140,2,0,1,18,1,3,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,75,151,88,162,103,89,75,25,85,23,81,106,30,91,126,22,21,123,73,133,73,110,69,127,94,81,71,27,77,21,100,83,25,88,154,29,23,133,79,126,83,124,77,126,84,89,74,23,73,21,75,87,23,100,143,22,22,114,95,176,73,106,67,147,110,80,68,24,66,23,101,90,26,122,213,29,26,144,82,141 H,637180,8,900,4,16,1015675,88,2,1,,,1,4,,,50,1300,1200,3,4,,1,,,,,,2,4,2,450,,1,3,,,1,1,9,6,58900,4,600,12,1,2,58900,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,82,153,26,74,94,24,74,98,25,95,71,84,30,123,163,169,142,32,93,98,82,26,157,98,102,158,91,94,121,96,93,79,127,28,25,25,27,131,88,89,115,26,144,66,95,161,83,98,149,91,96,77,145,23,25,23,26,152,100,95,81,157,29,94,74,24,93,103,28,71,74,89,27,151,149,158,160,25,89 H,637210,8,500,4,16,1015675,139,2,1,1,,3,2,2,,50,0,2,40,1,1700,1,,,,,3,1,6,,,,1,2,,15,2,2,6,4,18000,4,,,1,1,18000,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,2,2,1,332,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,139,241,141,251,160,152,252,108,49,244,267,38,132,136,45,119,37,147,48,131,131,216,145,225,125,130,252,156,42,228,248,45,138,156,41,132,38,120,256,126,136,37,122,48,147,135,42,156,251,45,44,240,128,123,247,132,267,161,181,112,146,40,130,44,142,128,33,145,275,40,46,217,147,136,241,148,247,115,40 H,637476,8,700,4,16,1015675,72,4,1,1,,4,2,2,,100,0,2,130,1,640,1,,1,1700,1,1,1,8,,,,1,1,,20,2,780,2,2,235000,3,,,1,1,235000,0,3,3,3,1,4,2,4,0,0,2,10,0,0,1,0,0,1,1995,3,0,1,28,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,61,73,128,75,77,69,76,131,77,69,20,20,123,130,22,62,126,20,77,124,72,70,21,72,68,76,66,24,68,66,115,118,19,21,119,71,24,131,67,127,82,67,19,74,70,69,67,22,71,70,141,113,22,18,118,76,19,152,71,22,69,66,123,73,65,73,75,113,71,76,22,20,124,135,22,71,120,21,86 H,637609,8,600,4,16,1015675,113,1,1,1,,3,2,2,,200,0,800,200,1,250,1,,2,760,1,1,1,8,,,,1,1,,15,2,1000,7,,,,,,1,4,41700,0,4,4,4,1,5,0,,0,0,0,38,0,0,0,0,0,1,1331,3,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,116,35,35,195,33,105,114,198,189,184,125,114,35,219,113,34,112,111,110,196,189,108,118,106,118,32,182,105,110,117,30,187,119,120,38,118,31,33,201,110,110,33,34,198,35,123,125,203,178,193,105,112,34,188,113,31,118,115,108,207,183,122,113,119,115,36,216,109,112,121,34,185,113,118,34,113,34,33,192,119 H,637682,8,900,4,16,1015675,95,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,27,148,117,33,157,145,100,84,25,94,119,120,108,28,109,101,148,140,90,143,137,28,82,167,31,22,93,99,160,115,95,110,107,143,102,89,26,28,82,135,127,23,95,153,27,26,93,86,145,98,105,101,94,153,105,89,29,31,99,28,26,125,86,37,162,134,103,87,26,127,117,102,124,31,96,95,157,175,89 H,637732,8,400,4,16,1015675,56,4,1,2,1,3,2,2,,120,0,2,3,3,630,1,,1,930,1,1,1,7,,,,1,1,,17,5,2,5,2,105000,4,,,2,1,105000,0,4,4,4,1,2,0,4,0,0,0,12,0,0,0,0,0,1,1050,3,0,1,24,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,65,68,118,90,62,60,58,70,84,55,18,28,76,73,24,52,77,20,49,86,55,47,27,61,58,59,52,20,71,82,77,71,22,26,69,48,26,87,48,31,54,60,77,67,81,46,52,69,60,49,23,42,81,54,14,64,70,18,57,88,79,53,30,79,71,54,54,22,65,60,98,88,28,25,57,49,36,89,56 H,637762,8,800,4,16,1015675,20,2,1,1,,3,1,2,,150,0,2,3,3,270,1,0,2,470,2,1,1,6,,,,1,1,,11,3,540,3,2,56700,4,,,1,1,56700,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,2,1,2,771,3,0,0,21,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,30,23,24,20,32,22,34,7,17,7,17,20,27,7,7,35,17,7,19,8,19,6,6,32,21,41,24,19,40,19,32,5,5,21,24,21,32,24,5,20,5,19,18,25,9,27,5,39,17,31,19,20,20,43,38,5,18,37,20,40,23,36,37,7,22,7,31,22,5,20,6,36,42,18,25,19,5,20,40 H,637787,8,100,4,16,1015675,43,1,1,1,,1,2,2,,30,0,2,3,6,480,1,,,,,3,1,3,,,,2,2,,19,1,350,5,,,,,,1,4,69000,0,4,4,4,1,3,0,,0,0,0,3,0,0,0,0,0,2,182,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,65,91,64,37,43,37,56,40,12,12,10,45,72,36,12,41,36,12,72,51,87,73,65,37,49,54,41,47,14,13,12,42,72,38,13,42,44,15,14,37,10,12,13,44,44,35,39,41,58,62,80,42,12,45,71,53,50,66,15,36,13,12,12,46,45,45,39,40,71,98,69,39,10,43,68,30,56,80,80 H,637972,8,300,4,16,1015675,74,4,1,2,1,3,2,2,,100,0,2,80,1,600,1,,2,400,2,1,1,6,,,,1,1,,19,4,2,2,2,35000,1,,,1,1,35000,0,1,1,1,1,3,2,4,0,0,2,27,0,0,1,0,0,1,788,3,0,1,31,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,17,135,67,102,64,96,147,103,114,21,34,89,76,87,85,57,20,67,20,86,90,22,55,23,81,77,35,72,29,189,142,71,79,63,17,74,125,72,106,89,29,146,67,141,82,90,120,68,114,25,26,82,64,84,151,52,17,85,22,85,87,21,60,22,82,67,32,102,21,124,124,56,110,93,13,84,115,58,95,100 H,638279,8,500,4,16,1015675,113,2,1,1,,3,2,2,,30,0,350,10,1,300,1,,1,860,1,1,1,6,,,,1,1,,15,0,60,3,5,52000,2,,,1,2,52000,0,2,2,2,1,4,1,2,0,0,1,22,0,0,1,0,0,1,934,3,0,1,28,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,106,96,34,199,107,118,34,98,119,182,129,115,37,220,207,109,156,100,29,132,35,36,113,130,33,180,116,186,186,106,198,31,107,110,118,41,113,181,122,33,134,130,35,195,129,103,32,107,113,185,116,122,42,187,188,105,204,111,30,111,30,34,110,99,34,172,118,174,169,112,202,30,112,127,138,32,109,193,108,39 H,638339,8,100,4,16,1015675,96,1,1,1,,3,2,2,,40,0,2,30,1,340,1,,2,400,2,1,2,7,,,,2,1,,13,2,30,6,,,,,,1,4,4300,0,4,4,4,1,1,0,,0,0,0,101,0,0,0,0,0,1,566,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,105,92,164,101,26,28,29,86,101,101,104,85,178,165,158,97,27,115,30,167,94,106,186,99,25,25,29,89,109,96,101,92,179,181,138,87,28,106,168,24,97,121,35,94,162,177,155,95,88,89,87,98,28,29,34,98,166,88,160,30,84,95,31,116,174,153,163,88,99,96,99,101,27,29,27,101,183,112,29 H,638396,8,900,4,16,1015675,68,4,1,1,,5,2,2,,70,0,2,180,1,420,1,,2,700,2,1,1,9,,,,1,1,,20,3,1200,3,1,113300,2,,,1,1,113300,0,2,2,2,1,4,1,4,0,0,1,15,0,0,1,0,0,2,1418,3,0,1,52,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,67,20,115,17,66,66,76,64,79,92,109,17,63,62,17,21,73,113,75,58,106,90,70,69,110,23,20,21,21,84,87,63,22,130,63,82,100,77,119,123,61,25,109,22,73,54,78,70,69,70,107,20,80,59,18,18,77,130,58,61,104,69,73,75,103,20,25,20,23,141,66,73,19,109,72,64,116,60,124 H,638847,8,800,4,16,1015675,87,3,1,2,1,3,1,2,,220,0,2,3,3,,1,,,,,,1,5,2,530,,1,3,,,0,2,5,7,24000,2,750,38,1,3,24000,0,1,1,1,1,3,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,22,92,96,93,83,22,86,88,175,160,36,34,130,75,24,120,160,100,88,107,26,87,105,89,71,25,76,78,142,171,33,24,162,85,23,133,134,87,92,92,126,96,92,85,92,138,74,109,24,22,121,143,25,90,128,23,26,104,111,83,182,74,84,71,70,154,92,96,29,26,159,131,30,97,143,33,25,98,106,85 H,639271,8,300,4,16,1015675,49,5,1,1,,3,1,2,,90,0,2,100,2,250,1,500,,,,3,1,5,,,,1,2,,3,3,1,4,2,100300,2,,,2,1,100300,0,2,2,2,1,4,2,5,0,0,2,4,0,0,1,0,0,2,328,,0,0,20,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,64,67,49,13,11,15,39,75,56,25,63,52,15,48,78,74,85,43,42,20,32,45,66,74,67,107,57,11,66,86,36,43,87,50,16,17,15,52,63,18,54,74,54,97,67,67,54,14,44,120,43,44,69,46,23,14,15,65,37,91,36,37,59,11,16,23,59,73,60,13,42,42,18,47,55,95,114,48,61,93 H,639335,8,400,4,16,1015675,20,9,1,1,,3,2,2,,50,0,2,3,6,,1,,,,,,1,5,2,480,,1,3,,,3,400,5,2,40300,2,563,17,1,1,40300,0,3,3,3,1,2,6,9,0,0,6,,0,0,1,0,0,2,,,1,0,,3,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,22,21,21,20,24,57,39,34,17,5,17,33,22,18,32,19,35,31,31,32,18,20,25,22,18,5,5,5,19,35,19,6,22,18,7,22,6,5,6,7,20,18,24,14,15,45,32,24,18,7,25,34,17,20,43,14,33,32,42,32,15,17,19,30,32,5,5,7,22,31,26,8,21,17,5,18,9 H,639486,8,600,4,16,1015675,302,5,1,1,,3,2,2,,110,0,2,70,1,,1,,,,,,1,6,2,800,,1,3,,,1,770,5,1,23260,3,1044,54,1,1,23260,0,3,3,3,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,515,336,89,100,324,490,84,530,322,275,312,307,301,343,77,505,301,292,572,333,273,476,316,299,474,302,292,299,484,94,92,100,82,507,359,300,77,441,295,94,532,278,98,94,288,523,94,461,278,330,281,301,300,279,98,484,305,292,460,284,330,619,277,301,547,281,298,311,521,89,80,81,93,536,309,320,86,590,288,86 H,639634,8,300,4,16,1015675,49,3,1,1,,3,3,2,110,30,0,2,60,1,50,1,,1,780,1,1,1,6,,,50,2,1,,15,1,1,2,2,50000,1,,,1,1,50000,0,1,1,1,1,1,1,3,0,0,1,25,0,0,1,0,0,1,1030,1,0,1,4,1,8,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,62,16,46,82,52,55,85,49,10,13,17,60,64,40,44,46,90,108,84,16,58,107,62,14,43,36,18,67,72,67,70,45,41,50,60,50,14,16,13,85,48,18,46,80,52,39,63,59,16,13,16,59,40,53,57,52,96,81,93,15,43,82,53,13,53,67,16,45,103,99,62,48,54,68,58,35,11,13,9 H,639828,8,100,4,16,1015675,101,4,1,2,1,3,2,2,,60,0,2,3,3,850,1,,2,330,2,1,1,9,,,,1,1,,20,4,2,4,1,68000,3,,,1,1,68000,0,3,3,3,1,5,2,4,0,0,2,13,0,0,1,0,0,2,711,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,30,27,123,34,162,89,112,103,206,88,25,120,150,137,115,98,169,36,132,115,32,34,105,30,162,102,79,86,154,106,33,93,179,179,99,98,143,32,97,103,34,36,96,27,136,103,97,115,169,88,29,116,143,168,107,105,194,33,114,123,27,29,89,27,151,101,101,92,184,109,35,114,180,186,89,94,168,27,104,92 H,640132,8,600,4,16,1015675,109,3,1,1,,3,2,2,,50,0,2,130,1,390,1,,1,990,1,1,1,5,,,,1,1,,16,3,400,3,1,65260,2,,,1,1,65260,0,2,2,2,1,4,1,3,0,0,1,22,0,0,1,0,0,1,1203,3,0,1,29,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,114,108,188,179,101,106,180,106,96,193,184,190,194,97,184,113,186,115,39,105,110,112,30,28,105,104,32,97,102,36,32,30,30,114,33,105,30,100,32,103,94,109,33,35,109,106,33,102,113,31,33,32,33,111,29,102,29,104,178,108,106,111,196,188,112,95,178,113,118,179,181,190,194,114,179,104,177,110,174 H,640220,8,400,4,16,1015675,45,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,41,52,44,12,13,14,41,65,43,17,50,49,11,48,85,69,68,44,42,14,44,43,45,63,62,74,48,16,65,76,36,40,62,44,12,11,14,43,55,13,42,44,47,83,82,79,42,13,48,62,39,40,65,48,14,12,13,45,42,78,44,51,43,13,11,12,40,68,45,16,41,46,13,52,84,64,84,38,38,77 H,640270,8,300,4,16,1015675,132,6,1,,,3,8,,,1,0,2,3,3,,1,,,,,,1,4,2,1200,,1,3,,,5,1,5,,,,1200,34,3,5,42200,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,221,170,119,116,43,31,119,61,204,40,187,153,155,164,130,151,138,93,206,199,151,52,196,163,130,194,69,150,165,138,128,37,152,147,170,169,57,50,148,214,136,62,263,191,117,112,55,148,136,120,173,49,140,102,140,217,54,54,44,98,180,133,110,159,56,58,158,28,177,52,159,147,159,214,159,130,131,125,51 H,641324,8,100,4,16,1015675,19,1,1,1,,2,2,2,,20,0,2,30,1,420,1,,2,280,2,1,1,4,,,,1,1,,14,1,510,7,,,,,,1,6,20620,0,4,4,4,1,5,0,,0,0,0,26,0,0,0,1,1,2,453,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,26,16,34,19,21,15,6,15,3,17,18,7,27,28,5,5,28,15,5,17,5,17,5,22,16,15,27,15,26,19,22,32,20,3,27,30,5,15,40,19,24,16,38,17,17,12,7,20,5,13,15,3,22,37,5,5,33,16,5,16,5,18,7,17,15,21,35,15,30,18,17,30,17,5,32,32,5,17,31 H,641327,8,600,4,16,1015675,137,2,1,1,,4,2,2,,60,0,2,170,1,1200,1,,1,1600,1,1,1,9,,,,1,1,,21,2,140,3,4,174800,4,,,1,1,174800,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,2,1,1,1842,3,0,1,55,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,204,39,42,155,35,130,137,217,125,232,128,213,135,140,37,156,147,43,241,40,160,129,131,40,151,256,41,114,42,142,221,143,244,42,142,192,248,143,144,147,226,43,42,149,38,138,124,227,152,228,129,223,130,142,39,157,150,46,247,35,144,120,142,35,152,223,35,143,40,132,207,138,222,37,149,225,245,132,150,124 H,641604,8,600,4,16,1015675,132,4,1,1,,3,2,2,,80,0,2,140,3,,1,,,,,,1,5,2,1000,,1,3,,,2,1,3,1,51100,1,1220,29,1,1,51100,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,42,40,225,230,35,128,215,38,36,113,134,224,135,116,122,131,219,166,137,134,38,44,213,224,40,123,241,37,40,140,131,228,137,154,135,123,216,130,141,136,38,41,243,222,44,143,211,42,39,129,144,233,131,135,126,148,229,129,141,136,41,37,238,220,34,121,217,38,33,127,124,237,134,114,131,142,246,104,144 H,641653,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,642035,8,600,4,16,1015675,109,3,1,,,2,5,,,30,1000,2,30,1,,1,,,,,,1,4,2,580,,1,3,,,2,50,4,8,51170,4,644,15,3,3,51170,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,1,1,1,,,1,0,,2,15,15,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,118,29,101,195,110,28,35,108,109,29,196,101,200,182,103,193,33,99,111,102,113,33,121,187,116,32,35,105,117,34,160,103,185,177,114,197,38,110,98,104,106,184,107,37,106,182,190,117,112,208,31,104,30,36,114,36,172,105,107,100,110,176,111,31,101,164,167,104,118,181,32,111,31,37,119,32,187,104,114,107 H,642138,8,300,4,16,1015675,118,1,1,1,,2,2,2,,30,390,2,70,1,,1,,,,,,1,5,,,,1,4,,,0,2,8,,,,,,1,6,7700,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,204,99,102,219,135,168,38,36,85,87,130,208,128,38,123,51,40,208,118,124,26,114,125,33,112,36,182,217,114,129,127,35,104,157,105,197,192,47,150,127,194,103,103,216,129,199,40,42,87,105,114,220,145,30,108,36,37,255,115,131,42,130,124,37,117,45,173,151,120,106,113,41,91,153,131,202,153,32,116 H,642170,8,300,4,16,1015675,20,5,1,1,,5,2,2,,100,0,2,3,3,1000,1,,,,,3,1,9,,,,1,2,,14,4,950,4,1,33500,2,,,1,1,33500,0,2,2,2,1,6,2,5,0,0,2,12,0,0,1,0,0,2,337,,0,1,20,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,19,16,19,35,16,26,24,16,26,23,5,32,66,5,21,22,5,16,5,7,18,16,19,26,19,38,21,19,33,20,5,34,32,5,20,21,7,18,7,5,18,14,22,39,16,24,21,15,20,27,7,34,56,5,26,18,7,20,7,5,17,19,17,27,18,31,18,23,36,17,5,28,36,7,17,24,6,23,8 H,642565,8,600,4,16,1015675,79,1,1,1,,3,2,2,,50,0,2,70,1,930,1,,2,640,2,1,1,7,,,,1,1,,20,1,540,4,,,,,,1,4,52000,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,0,1,1052,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,79,74,20,75,21,79,77,24,78,140,24,24,146,81,76,140,74,123,132,79,74,76,23,80,23,78,79,23,85,136,23,26,140,78,79,123,76,147,131,78,80,73,21,78,24,83,72,22,75,134,24,23,141,82,87,148,80,141,128,74,84,77,21,77,22,81,74,21,87,136,22,22,123,79,81,131,80,136,146 H,642677,8,600,4,16,1015675,114,2,1,1,,2,2,2,,50,0,2,50,1,350,1,,1,840,1,1,1,4,,,,1,1,,9,2,420,8,2,41300,4,,,1,1,41300,0,4,4,4,1,5,0,2,0,0,0,28,0,0,0,2,2,1,975,3,0,1,20,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,36,121,105,32,122,125,36,117,117,118,37,177,173,197,189,31,111,107,116,195,38,118,111,32,114,108,33,115,126,116,32,181,194,195,179,30,115,105,99,32,200,122,107,197,121,122,194,118,129,117,192,30,34,33,31,217,130,122,111,37,168,108,104,177,102,109,193,120,110,105,186,37,35,36,33,189,116,130,119 H,642865,8,500,4,16,1015675,103,2,1,1,,5,2,2,,90,0,150,3,3,380,1,,2,440,2,1,1,8,,,,1,1,,15,2,1200,5,2,49300,4,,,1,1,49300,0,4,4,4,1,6,0,2,0,0,0,19,0,0,0,0,0,1,785,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,228,105,109,110,28,164,107,112,32,130,27,27,184,141,100,89,93,111,198,30,183,113,97,102,34,183,101,97,32,109,28,34,186,190,108,93,101,100,38,165,30,103,106,100,185,36,84,100,193,98,172,177,29,38,97,87,115,107,33,172,33,105,110,99,163,32,103,93,160,115,176,159,27,25,91,114,127,109,152 H,642930,8,700,4,16,1015675,122,2,1,1,,3,2,2,,50,0,2,160,1,450,1,,1,990,1,1,1,7,,,,1,1,,18,2,360,3,1,54300,4,,,1,1,54300,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,1,1230,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,215,36,110,35,137,127,38,124,34,207,197,121,123,137,35,121,221,113,124,212,204,34,138,35,110,113,33,112,38,205,203,115,124,123,37,125,196,116,105,209,223,37,112,35,132,126,36,125,38,202,206,113,115,108,33,124,213,129,125,210,200,33,121,34,114,135,35,121,38,201,202,131,127,124,39,120,205,124,139 H,642936,8,200,4,16,1015675,29,1,1,,,1,6,,,70,0,2,3,3,,1,,,,,,1,3,2,350,,1,3,,,1,420,9,,,,455,13,1,4,42200,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,26,25,9,9,56,42,9,34,41,7,8,25,25,44,22,27,30,30,25,8,29,29,43,41,9,8,52,23,11,61,54,37,26,8,31,25,28,23,23,48,27,27,7,9,50,39,7,33,48,9,10,29,25,44,25,23,27,32,37,10,27,28,54,47,7,7,52,22,8,57,35,25,31,9,25,27,34,30,23 H,642961,8,900,4,16,1015675,189,6,1,1,,4,2,2,,2,0,2,3,1,,1,,,,,,1,7,2,500,,1,3,,,2,2,9,2,42000,2,500,14,1,1,42000,0,2,2,2,1,3,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,158,349,312,270,184,149,196,175,128,76,68,56,183,341,232,72,185,223,62,279,219,246,267,306,198,197,154,173,171,70,77,77,206,271,194,68,217,208,71,339,217,273,243,271,194,204,202,185,161,82,91,76,188,258,186,65,193,214,71,253,191,238,301,323,269,196,142,165,216,53,55,84,198,280,201,41,160,242,75,349 H,643141,8,700,4,16,1015675,120,1,1,1,,3,2,2,,40,0,2,130,1,420,1,,,,,3,1,9,,,,1,2,,19,3,30,3,,,,,,1,4,40370,0,4,4,4,1,3,0,,0,0,0,10,0,0,0,0,0,1,341,,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,121,124,122,200,35,198,111,34,34,33,111,219,39,126,121,128,123,186,120,212,117,118,121,215,37,202,102,34,36,37,115,217,36,115,116,125,123,212,124,209,123,121,123,205,36,195,123,36,36,34,122,190,35,116,114,136,127,211,105,205,114,125,105,218,39,214,118,34,38,34,118,204,33,127,122,126,114,211,118 H,643641,8,600,4,16,1015675,83,6,1,1,,4,2,2,,80,0,2,40,1,500,1,,1,1000,1,1,1,7,,,330,1,1,,18,2,400,4,2,60500,3,,,3,1,60500,0,3,3,3,1,4,4,6,0,0,4,29,0,0,1,0,0,1,1483,1,0,1,27,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,131,23,90,24,91,87,23,99,25,154,157,81,85,87,24,85,150,83,77,21,24,126,85,145,85,79,147,92,150,28,23,79,84,92,159,82,27,78,83,143,156,27,84,23,81,94,25,86,24,127,150,91,84,81,25,83,135,90,96,29,26,148,84,134,83,83,136,78,129,24,24,87,88,79,124,90,25,85,74 H,643747,8,800,4,16,1015675,16,4,1,2,1,3,2,2,,140,0,2,3,3,300,1,,1,990,1,1,1,9,,,,1,1,,18,4,2,2,1,191800,2,,,1,1,191800,0,2,2,2,1,4,2,4,0,0,2,7,0,0,1,0,0,1,1130,3,0,1,14,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,16,31,26,33,16,17,13,15,24,5,6,5,18,26,14,5,23,18,3,37,19,29,26,29,17,19,19,21,18,5,5,3,19,26,15,5,13,17,6,33,18,33,22,27,17,15,16,20,20,5,5,3,17,32,17,5,21,15,5,27,15,29,31,32,16,15,19,14,15,5,5,5,16,27,15,7,24,19,5,25 H,643752,8,500,4,16,1015675,127,5,1,1,,3,2,2,,50,0,2,60,1,330,1,,1,530,1,1,1,8,,,140,1,1,,16,3,750,3,1,68120,2,,,2,1,68120,0,2,2,2,1,4,1,5,0,0,1,15,0,0,1,0,0,1,843,2,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,114,124,39,260,158,121,211,134,125,211,137,136,141,219,33,35,34,34,211,210,242,41,147,118,37,49,132,172,206,157,41,208,43,117,125,118,103,148,118,148,121,117,39,207,127,127,228,120,132,201,129,134,148,243,44,39,32,37,217,231,257,41,147,119,34,37,142,208,171,105,41,215,35,112,134,119,138,135,137,112 H,644180,8,500,4,16,1015675,59,4,1,1,,3,2,2,,130,0,2,30,1,,1,,,,,,1,7,2,800,,1,3,,,2,650,1,1,29000,2,1014,42,1,1,29000,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,98,49,99,66,60,42,22,60,17,52,70,16,63,106,16,22,100,45,15,64,24,71,20,47,59,60,98,58,107,66,49,113,64,21,132,81,22,63,101,55,87,65,113,54,68,62,21,57,17,72,69,18,68,112,19,16,104,54,16,53,16,58,16,65,75,72,114,56,99,51,55,105,50,15,96,106,17,51,107 H,644236,8,600,4,16,1015675,130,1,1,1,,2,3,2,20,20,0,2,20,1,340,1,,1,520,1,1,1,6,,,,1,1,,14,1,330,5,,,,,,1,6,49840,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,0,0,1,608,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,216,134,36,213,228,123,138,38,145,136,138,126,38,132,134,209,193,142,37,43,211,119,42,236,194,124,136,36,130,122,126,138,40,140,123,203,229,123,33,36,235,140,36,189,257,131,127,40,127,134,136,127,47,142,123,236,203,135,40,41,210,123,41,245,189,124,122,33,126,124,126,148,38,117,138,219,245,127 H,644292,8,800,4,16,1015675,41,0,1,1,,3,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,75,12,42,13,38,72,42,78,12,47,72,60,40,45,35,42,52,14,70,44,12,70,43,69,37,12,38,11,71,41,10,13,39,37,35,42,38,79,14,40,69,13,49,10,36,63,44,70,10,40,74,75,41,37,41,39,46,12,57,39,13,78,37,61,44,12,43,11,70,47,11,12,42,34,42,38,39,68,12 H,644933,8,700,4,16,1015675,103,1,1,,,1,10,,,1,0,20,3,3,0,1,,,,,3,1,3,,,,1,2,,1,1,1,5,,,,,,1,4,13000,0,4,4,4,1,2,0,,0,0,0,1,0,0,0,0,0,1,2,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,171,26,102,36,106,90,29,100,35,172,170,92,103,115,27,113,181,101,104,173,157,32,114,32,108,106,30,104,30,174,198,104,85,105,31,101,168,115,106,34,30,173,103,168,91,107,195,107,161,31,27,103,116,108,166,104,30,93,104,30,36,184,103,166,102,129,169,99,162,27,30,109,103,89,177,100,34,93,104 H,645153,8,400,4,16,1015675,69,2,1,2,1,3,2,2,,40,0,1000,30,2,600,1,,,,,3,1,8,,,,1,2,,21,2,2,3,3,72000,4,,,1,1,72000,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,1,1,270,,0,1,18,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,67,68,77,108,57,20,65,17,21,95,63,126,76,70,103,63,129,20,89,18,60,75,66,140,92,20,72,22,17,100,77,106,71,80,122,67,115,23,67,22,74,58,61,119,69,17,64,22,21,122,62,112,65,69,111,64,109,22,76,22,81,68,68,103,92,22,63,26,21,106,78,114,65,77,110,63,146,20,67 H,645474,8,600,4,16,1015675,135,1,1,1,,3,2,2,,20,0,2,4,1,310,1,,,,,3,1,6,,,,1,2,,19,1,570,7,,,,,,1,4,30300,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,1,1,1,248,,0,1,30,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,227,135,145,120,199,126,246,41,149,40,122,128,132,37,46,217,140,37,137,41,132,36,38,246,133,245,110,146,232,122,269,41,40,137,118,155,284,150,40,134,45,140,128,144,42,131,40,256,128,227,144,132,138,224,250,40,139,246,127,217,120,237,214,40,131,38,139,130,36,136,42,218,216,142,131,130,42,131,232 H,646084,8,400,4,16,1015675,65,2,1,2,1,2,2,2,,40,0,2,20,2,950,1,,1,550,1,1,1,5,,,250,1,1,,14,3,2,6,1,59100,4,,,1,1,59100,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,1,1,1,860,2,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,55,63,74,49,62,120,117,133,57,20,71,118,47,58,129,70,28,20,107,119,68,66,70,61,58,25,24,18,53,110,67,20,75,66,16,61,99,109,136,111,73,71,83,57,59,18,17,24,63,108,75,25,63,70,20,73,148,90,19,18,49,75,60,64,95,128,96,97,45,23,81,106,73,69,81,52,17,19,26 H,646148,8,800,4,16,1015675,61,2,1,1,,2,1,2,,60,600,2,3,3,50,1,190,1,190,1,1,1,5,,,,1,1,,8,2,1,5,,,,,,1,7,19800,0,4,4,4,1,3,0,,0,1,0,16,0,0,0,2,1,2,266,3,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,58,66,56,58,107,65,47,17,22,116,105,17,56,104,20,24,56,60,98,42,62,71,72,52,18,50,64,142,96,17,19,127,54,17,109,106,68,50,19,77,52,53,54,66,105,74,58,15,18,115,107,22,70,108,16,25,73,53,78,69,50,55,72,72,26,60,57,109,78,15,17,121,68,21,93,104,60,45,18,59 H,646353,8,200,4,16,1015675,32,1,1,1,,2,1,2,,50,0,600,3,3,,1,,,,,,1,3,2,250,,1,3,,,1,1,3,,,,350,24,1,6,17700,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,57,57,55,34,13,42,47,28,31,49,36,10,10,12,31,32,31,32,34,62,10,8,10,39,64,36,8,40,32,8,41,61,52,47,26,39,34,29,33,9,46,51,54,40,7,30,58,25,30,54,40,10,12,14,32,34,33,30,34,52,10,9,10,43,67,32,9,35,27,12,42,55,65,49,26,39,34,27,29,7 H,646645,8,800,4,16,1015675,90,2,1,1,,2,2,2,,30,0,2,10,1,300,1,,1,790,1,1,1,4,,,,1,1,,14,2,380,9,,,,,,1,7,24000,0,4,4,4,1,1,0,,0,1,0,43,4,0,0,0,0,1,862,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,96,152,21,107,96,180,62,104,116,30,22,114,77,106,113,152,22,74,158,166,110,21,185,83,105,32,82,35,23,135,178,95,76,85,95,28,160,122,24,92,81,167,30,106,86,136,114,194,176,23,31,90,136,97,78,160,28,85,133,59,87,27,142,108,97,20,91,24,30,182,132,102,77,106,93,24,160,80,30 H,646807,8,700,4,16,1015675,125,2,1,1,,3,2,2,,30,0,2,10,1,380,1,,,,,3,1,6,,,,1,2,,19,2,370,3,4,52400,4,,,1,1,52400,0,4,4,4,1,4,0,2,0,0,0,6,0,0,0,2,1,1,270,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,37,117,38,193,195,130,138,134,38,125,204,120,212,214,42,119,38,128,135,133,205,129,230,36,37,130,104,123,228,122,41,135,37,35,185,144,230,128,131,133,41,133,34,214,215,124,125,139,36,123,196,137,214,213,41,125,40,128,122,124,222,127,216,36,31,129,120,113,211,111,39,128,35,40,222,136,245,122,122 H,647128,8,300,4,16,1015675,63,5,1,1,,5,2,2,,130,0,2,160,3,300,1,,1,1400,2,1,1,8,,,,1,1,,19,2,30,3,2,100000,3,,,1,1,100000,0,3,3,3,1,3,3,5,0,0,3,21,0,0,1,0,0,1,1776,3,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,14,95,85,49,63,60,21,67,129,82,174,107,30,61,17,79,57,21,72,68,21,97,137,61,58,81,18,58,99,69,109,98,19,71,17,65,50,11,49,65,21,86,76,82,74,60,18,47,85,60,118,133,19,57,23,71,78,24,75,63,23,89,116,90,54,56,16,67,97,57,77,99,19,59,25,53,75,21,56 H,647329,8,500,4,16,1015675,123,1,1,1,,3,2,2,,50,0,2,190,1,400,1,,,,,3,1,6,,,,1,2,,16,0,250,3,,,,,,1,4,21000,0,4,4,4,1,1,0,,0,0,0,23,0,0,0,1,0,1,394,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,38,126,123,187,33,188,174,111,145,37,38,228,132,118,142,200,147,139,198,120,210,142,126,35,185,38,33,123,121,206,218,32,134,131,118,41,114,124,217,121,210,126,122,42,221,33,35,117,119,207,197,38,119,114,133,35,139,127,37,134,41,142,108,201,33,189,217,134,117,32,30,207,122,132,145,197,126,121,35 H,647470,8,700,4,16,1015675,70,3,1,1,,5,2,2,,110,0,2,40,1,600,1,,1,840,1,1,1,9,,,300,1,1,,9,2,310,2,1,122000,1,,,1,1,122000,0,1,1,1,1,3,1,3,0,0,1,13,0,0,1,0,0,1,1316,2,0,1,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,70,66,122,70,75,20,20,127,127,19,70,118,22,19,67,68,109,71,73,71,62,72,22,67,70,125,125,22,24,129,67,20,124,112,66,70,22,80,63,71,73,70,105,75,69,19,23,122,119,22,64,115,20,20,70,70,122,67,73,68,68,65,22,72,68,121,124,22,21,121,75,22,114,126,75,70,20,69,65,70 H,647534,8,600,4,16,1015675,87,1,1,1,,3,2,2,,30,0,2,80,1,600,1,,,,,3,1,5,,,,1,2,,16,2,300,5,,,,,,1,4,1300,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,0,0,1,285,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,154,83,88,75,156,88,151,28,84,25,82,83,82,27,28,138,90,24,88,147,89,159,147,27,81,26,94,80,26,85,27,145,136,90,94,84,23,90,143,81,132,92,82,101,148,77,163,22,85,25,91,87,90,25,25,143,87,29,84,148,77,158,150,25,102,23,81,95,29,79,25,158,152,97,85,80,23,91,142 H,647903,8,200,4,16,1015675,92,2,1,3,1,4,2,1,,190,0,2,190,3,400,1,,,,,3,1,8,,,,1,2,,20,2,2,5,4,78600,4,,,1,1,78600,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,563,,0,0,30,0,9,9,1,1,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,35,92,83,31,31,36,43,96,33,76,30,83,97,106,97,25,30,102,96,102,76,140,175,97,102,92,105,170,91,155,83,150,153,128,131,75,84,141,154,25,31,119,99,40,32,29,34,82,33,99,36,100,105,90,90,33,20,85,84,88,101,153,168,118,80,89,105,134,75,148,93,129,146,154,153,91,78,141,128,23 H,648024,8,900,4,16,1015675,63,2,1,1,,3,2,2,,60,0,2,30,1,400,1,,2,500,2,1,1,5,,,,1,1,,15,2,600,4,1,62000,4,,,1,1,62000,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,0,0,1,790,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,74,19,58,50,20,69,20,77,113,58,48,57,20,71,108,69,103,110,121,19,53,13,60,62,23,80,28,97,101,79,56,58,19,68,124,48,148,92,60,17,56,23,65,54,25,74,23,98,100,57,74,75,28,66,93,74,106,77,58,20,76,21,83,60,20,63,15,92,92,62,48,75,25,49,101,63,94,93,65 H,648155,8,400,4,16,1015675,129,6,1,1,,4,2,2,,110,0,2,70,1,630,1,,1,750,1,1,1,7,,,250,1,1,,17,3,320,3,1,76800,1,,,1,1,76800,1,1,4,1,1,5,0,6,0,0,3,19,0,1,1,0,0,2,1207,2,0,1,27,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,37,130,129,198,186,39,42,235,103,44,184,201,115,119,40,124,120,131,122,151,245,130,141,39,35,195,239,39,134,247,39,35,127,120,233,120,119,129,122,139,34,133,145,184,211,51,54,247,136,59,189,174,100,94,44,136,116,138,114,134,213,113,118,41,46,175,176,49,138,226,39,34,93,102,251,154,130,125,119 H,648585,8,800,4,16,1015675,129,2,1,1,,3,2,2,,200,0,2,3,3,680,1,,,,,3,1,5,,,,1,2,,14,2,2,5,1,117200,4,,,1,1,117200,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,1,0,1,332,,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,125,160,42,123,40,102,106,131,208,105,219,110,129,262,149,33,166,210,35,47,130,145,51,143,50,124,134,135,170,178,216,94,112,289,203,37,179,235,42,44,165,93,30,139,37,156,129,126,189,125,281,148,116,153,98,48,228,193,48,32,162,122,33,138,39,146,133,128,190,125,254,153,127,158,132,59,217,204,45,36 H,648955,8,300,4,16,1015675,73,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,6,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,119,68,66,25,84,55,65,84,21,71,79,118,131,26,24,133,74,20,64,121,125,76,75,20,70,77,76,74,20,68,75,114,119,20,23,138,62,24,68,20,20,72,72,116,74,65,75,73,101,80,99,28,21,109,125,23,79,108,78,21,21,75,84,138,71,68,73,60,109,71,79,24,23,116,121,21,70,129,73 H,649101,8,300,4,16,1015675,93,7,1,1,,4,2,2,,100,0,2,70,1,710,1,,1,2400,1,1,1,7,,,540,1,1,,20,3,350,2,2,235050,3,,,1,1,235050,0,3,3,3,1,4,5,7,0,0,5,16,0,0,1,0,0,1,3139,2,0,1,63,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,159,80,83,150,156,147,152,85,178,85,175,104,101,84,75,147,153,93,23,80,26,94,114,27,32,30,24,90,28,109,26,104,102,89,98,31,27,85,28,100,26,81,96,31,27,26,32,101,27,86,28,92,91,109,88,24,24,87,143,105,137,93,85,136,174,146,155,96,143,109,159,103,92,95,76,155,166,98,167 H,649227,8,300,4,16,1015675,47,2,1,1,,3,2,2,,90,0,2,250,2,,1,,,,,,1,5,2,550,,1,3,,,1,600,9,4,30000,4,940,38,1,1,30000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,22,18,37,64,46,37,50,87,86,79,42,11,38,86,52,44,77,45,18,16,11,10,53,44,41,44,37,72,90,102,53,23,55,68,55,67,70,40,12,13,14,13,43,36,38,41,48,71,68,94,77,19,50,71,55,50,94,48,12,14,15,18,56,45,51,51,39,72,92,72,43,15,53,90,50,47,72,57,10 H,649291,8,500,4,16,1015675,95,4,1,1,,3,2,2,,60,0,2,50,1,300,1,,,,,3,1,7,,,,1,2,,17,2,400,2,1,72000,2,,,1,1,72000,0,2,2,2,1,4,2,4,0,0,2,5,0,0,1,0,0,1,297,,0,1,27,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,95,88,165,169,100,33,101,30,156,28,91,30,89,187,180,89,26,86,154,30,24,142,91,98,181,91,164,103,89,91,29,88,28,88,107,28,93,163,91,86,95,85,29,31,107,162,87,151,27,139,91,157,106,28,29,92,164,106,30,169,168,28,104,89,27,101,27,93,90,89,180,108,152,95,88,162,95,26,97 H,649342,8,800,4,16,1015675,91,1,1,,,2,4,,,70,0,2,3,3,,1,,,,,,1,4,2,330,,1,3,,,1,60,3,,,,405,27,1,6,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,75,119,98,85,102,31,30,32,89,157,76,35,86,102,37,96,165,162,148,149,105,86,79,136,97,29,29,27,109,134,79,26,81,90,25,94,201,161,169,26,87,119,99,79,88,125,152,163,120,41,86,139,88,116,173,87,23,20,22,30,101,137,84,71,109,151,128,171,97,32,108,147,97,95,135,96,33,25,24,108 H,649435,8,600,4,16,1015675,100,2,1,1,,3,2,2,,70,0,2,60,1,360,1,,1,690,1,1,1,6,,,,1,1,,14,2,580,4,7,61580,4,,,1,3,61580,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,1,0,1,868,3,0,1,23,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,31,98,104,94,30,106,170,104,28,30,102,95,30,177,98,171,163,92,105,28,158,101,106,91,176,102,27,97,176,168,107,102,175,30,92,32,30,101,106,166,30,96,95,103,31,91,160,95,28,26,101,96,29,180,104,178,164,101,96,30,177,99,99,92,166,109,27,100,163,159,100,105,180,29,103,28,32,106,97 H,649484,8,300,4,16,1015675,88,6,1,2,1,3,2,2,,300,0,2,3,3,840,1,,2,730,2,1,1,9,,,,1,1,,16,5,2,3,1,78300,2,,,1,1,78300,0,2,2,2,1,5,3,6,0,0,3,19,0,0,1,0,0,1,1225,3,0,1,27,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,23,25,83,83,94,143,67,36,64,37,21,172,64,114,109,91,127,73,128,132,24,36,87,73,96,145,108,34,135,30,21,201,122,125,90,64,136,107,87,177,33,32,101,99,105,149,93,24,96,28,26,162,91,123,66,91,158,104,94,118,22,27,107,91,108,146,84,19,69,31,19,143,55,148,102,76,156,81,95 H,649802,8,200,4,16,1015675,140,2,1,1,,3,2,2,,60,0,2,70,1,120,1,,1,650,1,1,1,6,,,,1,1,,14,1,720,9,7,50000,2,,,1,3,50000,0,2,2,2,1,5,1,2,0,0,1,20,0,0,1,0,0,2,840,3,0,1,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,176,212,211,50,123,236,128,183,169,101,40,46,42,139,126,127,143,165,201,37,50,66,137,207,113,32,121,148,62,120,176,240,237,224,143,91,151,175,61,206,282,203,153,71,133,171,141,165,220,107,41,53,43,144,105,130,163,114,226,30,43,68,141,196,142,49,104,125,59,118,177,221,198,146,133,150,184,136,51 H,649879,8,500,4,16,1015675,45,2,1,1,,3,2,2,,50,0,2,40,1,450,1,,1,560,1,1,1,5,,,660,1,1,,16,4,600,3,1,11001,4,,,1,1,11001,0,4,4,4,1,5,0,2,0,0,0,101,0,0,0,0,0,1,1360,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,81,44,86,45,44,13,42,13,40,14,39,43,82,39,45,67,11,11,16,41,52,13,43,68,13,47,11,40,79,44,74,13,43,76,93,42,41,39,45,73,72,47,79,49,41,14,43,12,41,13,47,45,73,51,37,68,13,12,13,41,46,12,41,84,10,47,10,34,69,46,73,13,44,72,66,47,52,43,42 H,649939,8,600,4,16,1015675,67,2,1,1,,3,2,2,,80,0,2,30,1,600,1,,,,,3,1,4,,,,1,2,,18,2,70,2,1,115000,4,,,1,1,115000,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,0,0,1,299,,0,1,28,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,65,119,63,76,78,18,68,21,75,63,22,66,112,22,20,114,62,66,122,124,65,109,74,64,67,20,71,20,72,74,18,75,108,20,20,107,70,61,109,118,69,108,69,77,70,22,77,19,62,71,20,64,114,20,22,111,73,71,105,104,75,125,64,69,64,20,68,21,69,63,18,64,123,21,19,125,67,74,117,124 H,650026,8,300,4,16,1015675,107,3,1,1,,4,2,2,,100,0,2,200,2,600,1,,,,,3,1,9,,,,1,2,,18,3,20,4,1,78000,4,,,1,1,78000,0,4,4,4,1,6,0,3,0,0,0,7,0,0,0,0,0,1,452,,0,1,24,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,147,99,115,208,176,88,161,31,181,33,96,29,30,92,127,119,131,119,111,116,183,26,31,84,122,195,91,114,115,115,184,113,139,28,31,154,223,37,28,244,114,118,141,32,34,93,40,166,28,193,110,141,173,98,108,136,103,89,115,122,34,199,155,119,123,32,127,89,95,108,32,135,94,193,203,30,31,162,197 H,650628,8,500,4,16,1015675,87,4,1,2,1,3,1,2,,170,0,2,3,3,800,1,50,,,,3,1,6,,,,2,2,,12,2,2,4,4,7204,2,,,2,1,7204,0,2,2,2,1,5,2,4,0,0,2,57,0,0,1,0,0,1,341,,0,0,24,1,6,9,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,80,74,22,30,59,122,92,106,22,149,82,135,105,30,25,124,184,75,86,30,150,28,79,86,23,101,28,83,93,91,109,85,155,79,65,225,100,38,155,87,106,80,130,111,102,27,91,34,130,24,114,29,126,153,157,84,24,90,72,108,39,143,70,63,168,93,154,81,84,112,25,92,30,94,93,22,81,125,22,87 H,651718,8,100,4,16,1015675,62,4,1,2,1,4,2,2,,200,0,2,3,6,470,1,,1,740,1,1,1,7,,,,1,1,,16,5,2,5,1,82000,2,,,1,1,82000,0,2,2,2,1,4,2,4,0,0,2,14,0,0,1,0,0,2,940,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,76,103,110,84,58,27,61,126,55,53,122,75,25,22,20,70,67,58,109,48,63,22,18,20,54,108,67,18,51,58,19,56,105,93,75,61,64,54,109,61,81,21,22,22,61,107,60,20,58,66,17,69,137,120,127,60,69,63,22,63,55,101,124,104,59,18,62,105,56,52,79,59,18,19,17,53,54,52,26 H,651806,8,800,4,16,1015675,29,1,1,2,1,3,2,2,,40,0,2,30,1,500,1,,,,,3,1,7,,,,1,2,,14,2,740,9,,,,,,1,4,24000,0,4,4,4,1,4,0,,0,0,0,13,0,0,0,1,1,2,257,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,40,9,26,47,8,9,22,22,42,31,27,33,38,69,31,29,6,8,48,32,46,7,27,44,7,8,34,36,67,29,24,26,27,56,26,25,8,9,60,25,60,10,37,42,8,8,33,35,60,32,22,24,22,42,27,27,7,7,52,29,46,12,32,43,8,8,20,22,43,38,28,31,31,56,37,25,10,9,36,35 H,651988,8,300,4,16,1015675,90,2,1,1,,2,2,2,,120,0,2,20,1,,1,,,,,,1,4,2,480,,2,3,,,1,20,4,2,77700,4,622,10,2,1,77700,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,32,27,83,25,90,103,170,95,141,82,156,84,69,33,97,110,26,121,27,97,74,109,28,82,153,28,81,24,102,147,88,126,23,109,178,151,78,94,107,119,26,25,87,35,105,82,151,83,154,81,141,75,81,28,95,84,24,140,31,79,78,75,34,106,129,28,81,29,94,167,91,167,29,95,156,117,118,91,83 H,652070,8,200,4,16,1015675,83,4,1,1,,4,2,2,,100,0,2,70,1,400,1,,1,1100,1,1,1,7,,,,1,1,,15,2,740,6,1,38000,2,,,1,1,38000,0,2,2,2,1,1,2,4,0,0,2,42,0,0,1,0,0,1,1332,3,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,112,61,152,83,77,88,24,63,24,65,83,26,64,161,24,27,178,99,109,78,114,96,145,83,79,82,33,101,22,97,93,20,88,193,22,27,139,91,26,103,25,105,24,65,87,72,119,103,139,106,88,132,88,29,182,110,22,81,20,87,17,108,28,65,84,85,155,81,125,110,71,120,89,30,129,132,22,91,142 H,652408,8,100,4,16,1015675,64,2,1,1,,3,2,2,,160,0,2,2,1,500,1,,1,1400,1,1,1,6,,,,1,1,,18,2,600,3,1,70000,4,,,1,1,70000,0,4,4,4,1,4,0,2,0,0,0,28,0,0,0,2,0,1,1610,3,0,1,36,2,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,19,64,62,19,60,110,20,17,112,67,67,97,68,110,62,64,64,22,19,64,107,70,72,108,57,17,106,100,21,61,66,19,68,21,55,58,67,117,19,53,111,78,79,106,62,19,100,105,18,59,60,20,60,20,74,63,64,98,108,66,17,63,66,22,67,98,19,17,113,65,63,111,59,111,64,65,71,21,109 H,652428,8,300,4,16,1015675,26,5,1,1,,4,2,2,,40,0,2,60,1,430,1,,1,630,1,1,1,7,,,80,1,1,,15,2,960,5,2,40000,3,,,1,1,40000,0,3,3,3,1,3,3,5,0,0,3,27,0,0,1,0,0,1,890,1,0,1,16,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,23,38,37,5,9,51,29,6,42,43,45,26,8,21,19,26,25,8,30,19,26,5,8,47,34,14,27,45,10,10,22,24,40,21,30,27,23,37,27,30,31,35,40,10,11,38,29,6,33,42,28,21,9,28,21,26,43,8,24,21,31,6,6,57,44,11,38,47,7,7,16,32,49,16,33,26,26,36,29 H,652471,8,800,4,16,1015675,82,1,1,1,,2,2,2,,100,0,2,100,1,250,1,,1,350,1,1,1,4,,,180,1,1,,10,2,200,7,,,,,,1,4,25000,0,4,4,4,1,6,0,,0,0,0,36,0,0,0,0,0,2,747,2,0,1,17,,,,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,68,71,83,70,123,137,24,130,69,68,25,29,25,89,76,126,24,74,159,142,27,30,115,114,107,89,83,100,22,152,84,87,93,25,142,81,70,29,92,92,110,90,80,82,18,21,118,22,92,106,115,136,140,80,92,26,114,73,24,21,107,160,27,26,74,64,81,81,122,24,78,82,91,146,19,89,81,181,111,69 H,652484,8,200,4,16,1015675,12,1,1,1,,3,2,2,,20,0,450,3,4,430,1,,,,,3,1,7,,,,1,2,,10,1,660,9,,,,,,1,6,15210,0,4,4,4,1,7,0,,0,0,0,16,0,0,0,1,1,1,203,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,13,15,9,21,18,10,22,4,22,3,12,3,2,12,15,12,11,11,10,12,4,28,15,12,11,5,14,6,10,14,3,10,10,26,13,2,1,14,5,15,8,18,12,4,4,11,3,18,3,12,13,16,19,11,11,14,10,11,13,6,22,5,7,12,12,21,5,8,18,10,16,12,11,2,5,21,21,5,26 H,652496,8,900,4,16,1015675,72,2,1,3,1,4,2,2,,50,0,2,50,4,400,1,,,,,3,1,7,,,,1,2,,14,3,2,6,4,26000,4,,,1,1,26000,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,200,,0,0,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,97,112,89,78,77,21,19,23,80,160,82,23,69,56,16,58,95,104,112,123,67,54,62,70,71,20,24,29,72,117,76,18,61,63,25,79,110,124,120,112,79,87,94,61,83,28,20,20,63,112,60,19,70,77,19,70,113,98,127,147,64,58,78,86,66,20,20,18,64,143,70,20,70,71,28,89,146,131,110,120 H,652885,8,600,4,16,1015675,274,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,4,,,,,,3,16,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,448,427,75,273,96,235,254,105,292,79,485,404,263,319,323,83,245,501,280,286,80,89,424,240,459,251,236,461,273,458,94,78,294,296,236,380,294,81,278,295,92,76,478,284,542,283,304,457,298,452,78,79,266,253,312,465,261,90,308,305,396,481,84,290,83,266,274,77,254,76,489,441,287,265,280,78,233,406,227,321 H,653145,8,200,4,16,1015675,72,2,1,1,,3,2,2,,70,0,100,140,1,400,1,,1,1100,1,1,1,9,,,,1,1,,17,3,70,7,1,41000,4,,,1,1,41000,0,4,4,4,1,5,0,2,0,0,0,39,0,0,0,0,0,1,1324,3,0,1,36,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,147,63,133,54,58,101,28,60,21,70,78,20,76,142,19,26,123,59,21,74,20,105,18,87,99,64,120,68,91,65,68,148,83,19,92,101,20,65,167,72,145,70,138,54,67,81,21,78,18,64,58,15,69,120,19,24,155,72,15,79,24,74,23,77,77,64,110,77,103,61,73,143,77,28,124,115,18,61,110 H,653179,8,200,4,16,1015675,23,6,1,2,2,4,2,2,,80,0,500,3,6,650,1,,2,580,2,1,1,9,,,,1,1,,18,3,2,9,2,39120,3,,,1,1,39120,0,3,3,3,1,3,4,6,0,0,4,27,0,0,1,0,0,1,877,3,0,1,26,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,26,29,23,38,5,23,46,36,17,25,20,24,25,7,18,45,7,17,35,37,17,7,20,7,49,17,5,7,17,21,20,25,26,31,19,7,45,23,36,41,27,7,24,5,35,19,6,7,23,27,15,16,22,44,27,7,37,17,5,7,21,41,24,38,8,22,39,37,21,15,20,33,31,5,14,37,5,20,7 H,653433,8,200,4,16,1015675,74,2,1,1,,2,2,2,60,60,0,2,40,1,600,1,,2,970,2,1,1,6,,,,1,1,,18,2,780,5,4,176700,4,,,1,1,176700,0,4,4,4,1,3,0,2,0,0,0,10,0,0,0,2,2,1,1533,3,0,1,46,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,64,84,119,132,144,90,104,24,92,15,47,21,22,69,84,62,89,94,67,51,151,27,25,72,75,105,68,69,101,62,99,71,80,33,27,113,131,23,33,108,80,87,71,42,25,66,26,123,26,85,63,126,124,134,55,47,62,60,84,50,20,156,123,96,104,31,66,75,73,74,17,67,67,146,100,16,24,93,149 H,653810,8,400,4,16,1015675,80,3,1,2,1,3,2,2,,130,0,2,110,2,580,1,,2,700,1,1,1,7,,,,1,1,,22,4,1200,9,1,124900,2,,,2,1,124900,0,2,2,2,1,5,1,3,0,0,1,10,0,0,1,0,0,1,1088,3,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,84,158,78,29,110,82,19,74,121,160,130,83,85,78,95,73,22,20,17,147,72,158,73,22,78,95,23,61,137,188,130,76,92,76,79,76,28,31,20,24,68,32,81,104,76,70,122,97,22,26,29,90,76,84,90,89,219,150,94,32,83,32,92,129,87,71,138,88,22,25,22,69,67,86,101,70,136,113,110,144 H,653863,8,800,4,16,1015675,113,2,1,1,,4,2,2,,130,0,250,40,3,480,1,,,,,3,1,9,,,,1,2,,17,2,590,5,2,118100,4,,,1,1,118100,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,2,2,1,440,,0,1,31,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,124,117,215,119,36,193,183,31,120,90,27,118,35,125,107,84,207,108,200,32,160,136,33,119,253,39,34,150,129,120,163,96,197,131,107,92,47,104,34,236,85,97,215,107,39,215,208,36,116,129,43,104,24,103,138,136,164,125,182,41,101,75,37,100,211,33,30,183,127,123,178,120,143,111,194,130,41,114,36 H,654006,8,800,4,16,1015675,117,2,1,1,,2,1,2,,60,0,2,3,3,240,1,160,,,,3,1,5,,,,1,2,,6,2,1,4,4,33320,4,,,1,1,33320,0,4,4,4,1,2,0,2,0,0,0,4,0,0,0,2,1,1,116,,0,0,7,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,109,196,142,186,31,124,178,208,131,123,108,101,125,42,122,199,34,116,39,38,137,241,116,187,33,114,210,166,117,116,124,101,115,30,128,233,25,134,38,32,131,169,112,201,33,133,176,199,113,120,107,130,106,30,153,192,41,134,36,33,131,204,101,191,32,118,257,179,98,117,121,141,124,32,128,188,27,108,38 H,654696,8,800,4,16,1015675,398,2,1,1,,3,2,2,,140,0,2,100,1,250,1,,,,,3,1,5,,,,1,2,,9,2,350,5,2,28000,4,,,2,1,28000,0,4,4,4,2,4,0,2,0,0,0,15,0,0,0,0,0,2,353,,0,1,17,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,341,238,188,607,611,161,455,572,130,147,340,460,491,339,413,456,419,624,429,456,392,153,130,521,559,142,401,648,148,190,506,370,747,350,276,372,372,527,334,267,452,597,594,181,167,595,486,112,467,661,498,340,106,426,394,385,495,155,500,401,394,576,485,173,144,538,420,147,497,645,556,334,157,434,402,480,353,149,373,297 H,654756,8,600,4,16,1015675,0,1,2,,,,,,,,890,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,654926,8,300,4,16,1015675,23,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,35,31,59,31,5,22,47,27,32,63,30,8,7,7,22,24,23,7,23,17,35,43,41,24,6,21,51,20,22,48,23,10,9,5,29,29,25,6,24,30,49,46,42,26,8,23,47,25,25,39,24,7,9,6,22,30,21,5,33,25,42,42,43,21,9,24,36,25,23,39,25,7,7,8,25,24,32,9 H,655300,8,700,4,16,1015675,104,2,1,1,,3,2,2,,40,0,2,50,1,260,1,,1,1100,1,1,1,6,,,,1,1,,17,2,430,1,,,,,,1,5,55000,0,4,4,4,1,2,0,,0,1,0,27,2,0,0,0,0,1,1226,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,97,107,30,105,33,169,180,109,97,107,31,96,148,123,169,174,34,93,93,175,112,95,190,105,179,29,31,104,102,105,155,100,32,95,31,27,170,112,94,168,106,115,177,104,154,32,31,102,124,102,184,97,26,109,31,32,150,97,100,29,94,115,30,111,32,175,195,97,104,101,25,98,176,97,173,173,31,117,112 H,655753,8,600,4,16,1015675,80,3,1,1,,3,2,2,,90,0,2,40,1,320,1,,1,950,1,1,1,5,,,,1,1,,17,2,160,7,1,42000,4,,,2,1,42000,0,4,4,4,1,1,0,3,0,0,0,31,0,0,0,0,0,1,1093,3,0,1,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,24,126,78,77,25,141,81,80,135,76,82,134,73,82,80,139,23,24,77,146,140,24,79,84,146,25,87,78,24,76,74,22,79,86,79,23,128,146,78,121,130,26,81,86,134,22,76,83,23,81,81,23,80,79,91,22,134,152,78,25,23,136,84,77,25,135,74,86,137,83,79,131,82,87,78,134,22,22,80 H,655967,8,100,4,16,1015675,22,1,1,,,3,7,,,1,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,1,1,2,,,,,,1,6,6000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,20,5,5,7,19,44,26,5,20,22,6,22,29,42,35,17,22,41,22,21,24,6,7,5,24,31,22,7,20,24,7,29,37,31,36,17,21,44,21,19,23,7,6,7,23,33,19,7,21,22,7,21,35,36,39,20,22,34,25,25,18,9,6,6,20,39,22,5,20,20,7,20,38,46,32,20,19,41 H,656380,8,600,4,16,1015675,84,2,1,,,2,6,,,50,0,2,3,3,,1,,,,,,1,4,2,490,,1,3,,,1,1,4,1,30000,4,540,22,1,1,30000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,89,86,140,31,119,119,86,89,27,25,137,75,87,93,136,80,81,78,87,83,23,149,84,82,81,96,25,25,79,87,89,23,129,23,75,150,154,150,25,27,79,81,133,27,158,141,88,83,25,26,139,73,87,89,126,94,91,89,83,77,23,127,83,86,90,94,22,25,76,86,86,24,125,24,83,126,159,140,25 H,656414,8,400,4,16,1015675,73,5,1,2,1,5,2,2,,120,0,700,3,6,770,1,,2,760,2,1,1,9,,,630,1,1,,19,4,2,5,2,27600,3,,,1,1,27600,0,3,3,3,1,3,3,5,0,0,3,77,0,0,1,0,0,1,1782,2,0,1,30,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,26,72,24,67,57,22,99,152,21,23,111,63,66,145,97,139,65,66,122,67,20,68,20,61,60,23,104,143,20,20,115,78,82,132,81,114,70,68,121,74,19,69,19,79,78,17,72,133,23,20,134,73,57,126,68,114,63,66,135,83,26,75,21,89,81,19,75,127,24,19,164,103,79,141,71,121,80,72,107 H,656461,8,800,4,16,1015675,318,5,1,,,2,5,,,60,6000,2,3,3,,1,,,,,,1,5,2,530,,1,3,,,2,1,4,8,150,3,590,101,1,3,150,0,1,1,1,1,3,4,5,0,0,4,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,409,119,382,512,265,493,120,337,657,523,348,319,347,295,338,120,315,472,405,464,309,430,257,120,304,95,432,364,104,113,356,316,364,286,302,490,297,84,526,449,301,505,332,90,301,78,387,302,87,118,333,344,303,269,319,488,359,107,128,116,354,114,354,424,392,523,98,336,501,551,322,306,330,359,310,97,439,564,109 H,656465,8,900,4,16,1015675,136,3,1,,,2,6,,,20,0,2,30,1,,1,,,,,,1,4,2,410,,1,3,,,2,1,3,5,24000,1,460,22,1,2,24850,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,106,45,45,44,136,155,159,145,129,245,275,222,141,40,111,185,199,172,63,164,146,43,52,51,103,111,136,125,99,254,223,185,115,35,148,196,135,141,197,55,145,252,199,228,117,132,129,116,122,42,28,40,150,200,133,56,109,112,159,42,178,306,338,184,158,137,142,134,182,50,43,43,109,182,142,39,139,135,52 H,657088,8,500,4,16,1015675,62,2,1,1,,3,2,2,,100,0,2,50,1,450,1,,2,1500,1,1,1,6,,,,1,1,,20,2,150,1,1,90000,4,,,1,1,90000,0,4,4,4,1,1,0,2,0,0,0,23,0,0,0,0,0,1,1701,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,56,20,74,22,115,109,54,60,70,19,70,94,51,113,90,19,60,16,67,67,67,125,67,96,18,23,68,56,53,104,68,16,73,23,18,94,63,110,59,71,68,110,66,109,18,21,74,70,56,99,60,18,66,19,20,90,50,106,60,58,58,16,69,18,108,99,59,67,60,15,66,110,58,91,108,18,67,24,64,58 H,657683,8,400,4,16,1015675,102,4,1,3,1,3,1,2,,130,0,2,3,3,600,1,1000,1,750,1,1,1,4,,,,1,1,,16,6,2,3,3,99200,2,,,1,1,99200,0,2,2,2,1,4,1,4,0,0,1,12,0,0,1,0,0,1,963,3,0,0,22,3,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,26,33,122,108,85,98,92,180,150,206,82,30,107,139,93,96,156,105,31,33,35,30,90,90,103,119,88,145,204,184,104,29,117,186,107,111,178,92,179,172,154,150,105,101,83,102,110,29,32,45,88,157,102,25,108,103,29,111,184,178,174,171,92,115,136,98,86,38,39,29,96,160,77,26,96,100,34,102,32 H,657907,8,500,4,16,1015675,70,3,1,1,,3,2,2,,410,0,2,3,3,250,1,,1,1500,1,1,1,6,,,,1,1,,18,1,50,1,4,72600,4,,,1,1,72600,0,4,4,4,1,2,0,3,0,0,0,32,0,0,0,2,2,1,1914,3,0,1,24,0,9,9,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,68,21,83,68,21,66,100,20,22,130,79,63,111,73,113,74,78,72,21,126,73,21,77,69,21,70,123,19,18,104,70,67,118,81,119,61,80,75,21,131,78,22,72,67,22,75,132,25,18,115,66,67,143,70,104,58,60,73,21,102,74,20,80,70,21,70,103,26,21,127,67,67,121,65,134,78,67,78,22,125 H,657945,8,600,4,16,1015675,95,3,1,,,3,8,,,80,0,2,3,3,,1,,,,,,1,5,2,650,,1,3,,,3,1,3,1,38900,2,730,23,1,1,38900,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,159,29,162,93,114,95,87,90,99,27,159,88,88,149,145,91,30,31,87,155,90,91,92,172,28,25,28,28,178,91,108,28,149,109,99,159,94,95,175,93,29,157,28,87,83,98,91,103,90,156,27,96,99,27,27,94,150,168,97,28,98,103,92,28,164,179,162,171,29,89,99,159,29,94,93,29,94,91,26 H,658607,8,800,4,16,1015675,54,4,1,1,,3,2,2,,50,0,2,40,1,400,1,,1,720,1,1,1,6,,,,1,1,,10,1,720,5,2,43700,3,,,1,1,43700,0,3,3,3,1,3,2,4,0,0,2,24,0,0,1,0,0,2,870,3,0,1,18,2,2,3,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,48,17,57,17,89,68,52,63,55,17,68,98,47,89,81,16,64,14,50,62,59,16,49,15,74,101,53,46,65,15,48,90,58,97,84,15,57,16,55,57,67,78,48,87,13,19,56,54,47,76,36,13,60,18,18,81,48,108,58,56,52,98,46,102,15,10,61,70,52,87,62,19,50,15,14,92,55,101,60,69 H,658642,8,100,4,16,1015675,97,1,1,2,1,3,2,2,,50,0,2,3,6,2000,1,,1,1800,1,1,1,5,,,300,1,1,,20,1,2,3,,,,,,1,4,53000,0,4,4,4,1,3,0,,0,0,0,49,0,0,0,0,0,1,2150,2,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,162,80,82,97,31,113,183,118,178,163,29,85,27,112,107,33,101,29,99,36,42,101,87,104,162,100,24,105,29,29,177,75,177,109,93,111,76,171,79,29,22,80,96,142,147,103,33,127,38,30,143,90,148,111,96,172,91,151,128,150,181,85,106,90,25,97,131,93,151,186,47,93,25,98,124,21,74,25,81 H,659340,8,100,4,16,1015675,57,5,1,2,1,3,2,2,,130,0,600,3,6,500,1,,1,2200,1,1,1,5,,,750,1,1,,20,4,2,3,1,137800,2,,,1,1,137800,1,2,2,2,1,3,2,5,0,0,2,27,0,0,1,1,1,1,3130,2,0,1,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,69,57,19,58,54,96,14,95,95,47,55,16,22,93,58,59,53,112,12,50,51,55,16,60,53,86,15,98,108,56,53,19,17,106,64,76,68,106,16,64,55,52,15,53,54,96,20,109,103,65,52,19,15,76,55,52,49,88,18,62,71,54,17,51,51,89,22,107,107,63,47,19,17,105,67,53,64,72,18 H,659843,8,100,4,16,1015675,108,4,1,3,4,3,2,2,,160,0,2,50,6,1900,1,,,,,3,1,8,,,,1,2,,24,2,2,3,4,5100,2,,,1,1,5100,0,2,2,2,1,4,2,4,0,0,2,101,0,0,1,0,0,1,751,,0,0,58,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,117,111,34,100,109,191,205,27,38,188,108,30,200,208,90,107,31,82,115,88,91,112,172,125,100,36,27,130,215,39,139,160,29,41,104,111,149,113,88,123,106,84,208,86,100,35,45,182,181,39,83,148,43,32,111,87,167,107,113,110,107,117,27,110,119,161,168,40,32,169,91,34,200,176,139,110,25,126,127 H,660610,8,900,4,16,1015675,131,5,1,2,1,5,2,2,,50,0,2,320,2,380,1,,2,630,2,1,1,7,,,,1,1,,16,2,2,2,1,54500,2,,,1,1,54500,0,2,2,2,1,4,3,5,0,0,3,25,0,0,1,0,0,1,1149,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,31,117,222,177,124,89,198,130,315,41,177,46,107,160,141,43,48,203,111,156,98,38,111,45,33,220,156,223,128,149,213,128,292,29,46,160,108,166,38,160,232,130,47,134,167,123,30,118,48,164,115,182,96,160,116,137,204,37,125,32,154,331,151,235,210,56,174,31,143,129,35,128,47,232,243,169,131,123,223 H,660847,8,300,4,16,1015675,36,3,1,1,,5,2,2,,100,0,2,120,3,400,1,,2,1100,2,1,1,9,,,,1,1,,18,3,420,5,1,131000,4,,,1,1,131000,0,4,4,4,1,5,0,3,0,0,0,14,0,0,0,0,0,1,1521,3,0,1,28,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,72,50,12,38,32,13,31,13,44,27,32,78,35,52,54,27,49,62,41,66,8,11,48,43,44,61,66,55,37,52,34,9,43,10,30,42,9,65,31,59,9,10,66,40,56,76,43,64,34,51,35,8,39,17,30,27,11,12,44,13,67,67,10,27,21,6,29,12,28,35,42,67,39,57,56,48,59,10 H,661127,8,100,4,16,1015675,56,1,1,,,2,5,,,1,0,2,1,2,,1,,,,,,1,3,2,480,,1,3,,,0,1,5,,,,480,23,1,4,25000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,107,55,84,42,72,106,50,10,72,115,15,56,36,15,111,17,42,61,72,57,18,42,17,77,80,24,67,92,10,20,81,45,65,132,80,143,48,57,74,16,119,66,98,51,47,82,66,20,81,112,19,64,66,20,42,17,67,33,48,79,13,69,18,56,48,14,65,81,19,19,99,84,65,137,52,72,69,42,47,15 H,661191,8,300,4,16,1015675,55,2,1,1,,3,2,2,,70,0,2,90,1,,1,,,,,,1,5,2,1200,,1,3,,,2,380,3,2,56000,4,1392,30,1,1,56000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,16,56,49,100,117,15,16,87,61,14,82,101,57,50,16,53,58,55,53,53,19,47,52,84,107,16,16,103,61,20,96,92,60,51,18,67,62,45,44,57,14,55,64,95,94,14,20,80,52,18,88,79,56,54,15,62,65,54,52,66,16,54,62,97,98,16,19,84,52,16,99,118,53,51,18,58,56,55,66 H,661260,8,300,4,16,1015675,155,1,1,,,1,9,,,40,0,2,3,3,,1,,,,,,1,3,2,390,,1,3,,,1,240,5,,,,450,29,1,4,18500,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,174,121,37,180,258,140,37,45,198,153,41,275,141,270,257,156,315,46,138,184,154,136,42,131,271,148,53,53,189,206,53,267,142,263,260,150,247,42,118,124,136,176,270,175,46,172,267,188,158,201,285,46,132,48,48,204,55,227,129,155,149,177,249,151,47,164,253,183,159,176,262,51,150,45,61,175,48,259,208 H,661554,8,400,4,16,1015675,25,1,1,1,,2,2,2,,20,0,2,3,6,0,1,,1,380,2,1,1,4,,,140,1,1,,14,2,10,5,,,,,,1,4,27600,0,4,4,4,1,3,0,,0,0,0,25,0,0,0,0,0,2,567,4,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,28,49,28,20,22,24,49,26,26,8,9,51,53,9,22,46,8,6,25,26,26,42,33,30,28,25,43,31,22,6,7,40,45,7,21,43,8,7,28,25,32,49,25,27,24,24,42,33,28,6,8,44,41,10,30,52,9,9,23,22,22,48,24,19,22,26,44,22,31,8,8,47,38,6,23,41,8,7,25,22 H,661921,8,700,4,16,1015675,206,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,18,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,225,65,176,249,242,321,192,349,171,216,315,197,59,365,344,69,232,215,66,63,187,56,223,211,197,315,207,389,189,209,323,201,63,361,330,57,201,217,51,68,228,65,197,213,205,310,205,372,214,195,327,198,65,340,368,58,195,230,70,65,179,58,186,220,187,317,196,383,204,192,379,216,79,377,316,64,217,244,73 H,662400,8,400,4,16,1015675,74,3,1,2,2,4,2,2,,410,0,170,3,3,600,1,,1,1100,1,1,1,8,,,,1,1,,22,2,2,5,1,138500,2,,,1,1,138500,0,2,2,2,1,4,1,3,0,0,1,13,0,0,1,1,1,1,1524,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,85,18,74,107,93,105,79,82,68,75,70,22,23,25,63,122,82,15,81,40,69,122,73,24,20,18,85,65,69,92,91,177,101,105,83,27,59,109,87,109,78,18,78,122,123,113,89,102,74,84,69,19,25,23,62,146,110,17,63,20,82,130,68,20,19,20,74,63,83,78,76,143,89,97,77,24,64,163,117,112 H,662556,8,300,4,16,1015675,40,3,1,1,,4,2,2,,40,0,450,3,4,580,1,,1,620,1,1,1,6,,,,1,1,,15,3,550,7,2,32400,1,,,1,1,32400,0,1,1,1,1,1,1,3,0,0,1,28,0,0,1,0,0,2,744,3,0,1,16,2,2,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,36,67,38,44,42,12,16,36,15,93,12,75,45,74,85,28,37,35,32,47,80,32,9,67,64,70,36,15,47,46,49,30,20,34,30,78,74,17,16,49,14,49,50,15,12,33,37,56,34,67,43,43,97,46,39,15,16,63,57,60,35,12,38,40,42,99,57,33,86,10,67,10,40,13,13,58,36,45,42,11 H,662632,8,700,4,16,1015675,110,2,1,3,5,4,2,2,,100,0,2,80,1,300,1,,,,,3,1,7,,,,1,2,,23,5,2,3,1,121500,4,,,1,1,121500,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,0,1,580,,0,0,57,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,108,182,196,112,107,107,177,36,190,120,32,30,32,121,216,34,102,101,98,113,107,187,174,109,115,107,197,29,193,114,31,33,32,111,182,34,119,118,117,111,114,34,32,104,115,115,32,186,32,110,179,206,173,108,32,174,118,111,126,109,96,32,31,111,115,114,36,186,33,114,201,191,194,107,35,195,98,111,106,122 H,662706,8,900,4,16,1015675,16,6,1,2,3,3,2,2,,40,1400,600,130,8,1100,1,,,,,3,1,5,,,,1,2,,12,2,600,9,2,15700,2,,,1,1,15700,0,2,2,2,1,3,4,6,0,0,4,31,0,0,1,0,0,1,404,,0,1,12,1,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,30,7,32,40,15,17,5,5,27,18,17,18,23,16,20,18,5,18,21,32,15,15,22,17,6,5,17,19,19,5,26,7,20,26,25,30,17,5,5,18,29,5,33,38,19,18,5,5,32,19,15,20,30,16,19,17,7,17,18,30,20,12,18,17,7,5,18,16,16,5,31,5,27,25,27,31,16,5,7 H,663046,8,900,4,16,1015675,78,1,1,1,,4,2,2,,20,0,2,110,1,600,1,,2,420,2,1,1,8,,,,1,1,,16,3,600,8,,,,,,1,4,30300,0,4,4,4,1,5,0,,0,0,0,30,0,0,0,1,1,1,758,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,80,84,124,67,19,169,138,27,66,78,20,84,23,95,98,67,118,77,126,20,91,65,19,81,120,26,18,102,99,80,140,77,120,69,72,74,26,80,119,22,72,61,20,71,111,23,28,140,77,72,162,93,104,75,88,96,18,65,22,127,70,93,144,102,28,116,107,18,82,85,20,84,24,79,90,91,137,85,33 H,663230,8,200,4,16,1015675,74,0,1,3,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,70,68,65,83,27,77,75,117,130,19,22,115,73,27,140,116,74,87,59,22,72,79,81,73,22,65,67,114,123,27,29,123,68,24,147,144,72,65,70,153,89,86,94,78,128,78,66,18,22,138,135,21,77,134,19,23,77,61,82,134,88,67,67,71,140,62,66,23,17,97,111,22,92,132,20,22,81,67,61 H,663265,8,800,4,16,1015675,58,1,1,1,,3,1,2,,40,0,2,10,1,0,1,110,,,,3,1,5,,,,1,2,,2,1,30,5,,,,,,1,6,8000,0,4,4,4,1,4,0,,0,0,0,11,0,0,0,1,1,1,72,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,91,44,45,17,56,55,60,66,19,61,53,88,119,23,16,85,72,17,64,85,102,60,63,17,49,64,54,72,19,48,63,86,75,19,19,94,65,15,58,17,14,48,49,89,60,48,59,63,82,63,68,20,17,96,98,17,70,102,50,18,18,58,58,92,73,55,44,69,94,50,75,18,13,99,120,19,58,91,61 H,663320,8,400,4,16,1015675,19,1,1,1,,3,2,2,,40,0,900,3,8,360,1,,,,,3,1,5,,,,1,2,,8,1,900,6,,,,,,1,6,4900,0,4,4,4,1,6,0,,0,0,0,60,0,0,0,1,1,2,245,,0,1,8,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,7,28,22,22,20,20,29,22,36,24,7,17,28,22,21,24,17,7,5,5,7,15,13,14,14,13,31,29,26,14,7,18,34,20,16,25,22,5,5,5,6,19,15,15,17,18,24,23,35,19,7,18,29,20,17,27,19,5,7,5,7,19,15,20,25,19,32,32,25,20,7,19,31,22,22,27,17,5,7,5 H,663393,8,100,4,16,1015675,93,3,1,3,1,3,2,2,,80,0,2,200,1,700,1,,1,1700,1,1,1,4,,,400,1,1,,22,3,350,3,1,103200,4,,,1,1,103200,0,4,4,4,1,5,0,3,0,0,0,28,0,0,0,0,0,1,2409,2,0,0,30,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,111,163,158,84,156,172,96,116,87,96,136,94,163,88,160,144,158,153,92,95,86,27,32,87,28,29,103,98,84,85,26,102,32,90,28,25,27,27,92,96,101,168,164,90,157,153,92,111,92,70,145,109,148,77,166,160,152,158,106,84,97,24,29,85,25,29,102,101,105,90,29,128,29,87,29,27,28,25,81 H,663781,8,200,4,16,1015675,101,2,1,3,6,4,2,2,,90,0,1500,3,4,250,1,,,,,3,1,7,,,,1,2,,16,3,2,3,1,46520,4,,,1,1,46520,0,4,4,4,1,4,0,2,0,0,0,8,0,0,0,2,2,1,303,,0,0,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,155,198,123,44,97,139,120,112,216,78,28,29,28,108,117,146,98,75,163,22,23,30,105,205,95,29,94,101,26,97,173,138,174,117,102,103,84,91,38,139,147,141,88,41,124,179,114,95,158,106,38,30,31,115,86,107,102,91,138,30,29,26,118,141,94,26,88,104,28,110,149,158,155,89,119,122,105,92,32 H,663937,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,663980,8,200,4,16,1015675,29,5,1,3,6,4,2,2,,190,0,1000,3,4,730,1,,2,1400,1,1,1,7,,,,1,1,,20,2,2,2,1,73000,2,,,1,1,73000,0,2,2,2,1,3,3,5,0,0,3,29,0,0,1,0,0,1,1734,3,0,0,40,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,44,43,46,31,30,36,25,31,9,6,9,26,42,32,8,28,30,12,10,26,8,7,8,29,28,27,26,30,57,59,58,26,7,26,59,34,29,47,9,33,8,8,10,26,25,25,24,30,54,48,48,27,7,26,44,35,30,49,55,27,59,57,52,27,32,25,25,37,8,5,8,29,46,27,11,30,29,6,37 H,664268,8,700,4,16,1015675,122,4,1,1,,3,2,2,,40,0,2,110,1,440,1,,1,1100,1,1,1,5,,,,1,1,,17,2,410,3,1,89000,2,,,1,1,89000,0,2,2,2,1,5,2,4,0,0,2,17,0,0,1,0,0,1,1284,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,36,224,209,120,130,124,36,129,191,116,192,217,34,117,35,118,136,38,115,127,36,191,232,127,125,123,32,130,229,125,213,210,37,123,36,130,122,32,130,131,35,196,204,116,124,110,34,135,215,115,196,204,35,110,35,126,129,41,107,130,32,219,200,137,127,123,34,121,223,118,226,202,35,136,35,140,110,36,110 H,664468,8,900,4,16,1015675,111,2,1,1,,3,1,2,,60,0,2,3,3,,1,,,,,,1,6,2,820,,1,3,,,2,100,3,2,83000,4,888,13,1,1,83000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,32,127,104,25,206,102,90,37,124,143,157,114,119,26,198,224,121,187,107,204,106,38,40,142,132,29,201,116,176,185,116,157,30,128,89,119,34,111,197,133,245,107,115,162,33,135,119,180,115,119,32,93,122,162,33,28,108,40,112,37,96,220,231,133,66,146,43,110,43,27,116,38,225,105,92,113,185,112,32 H,664596,8,800,4,16,1015675,46,2,1,1,,3,2,2,,70,0,2,10,1,490,1,,,,,3,1,6,,,,1,2,,16,3,320,9,7,47000,4,,,1,3,47000,0,4,4,4,1,4,0,2,0,0,0,7,0,0,0,1,1,1,256,,0,1,24,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,50,76,43,37,66,47,12,71,90,14,55,51,12,43,13,45,51,41,10,81,56,94,38,42,64,48,19,65,62,14,60,41,15,55,10,42,51,50,23,85,46,75,48,43,98,48,10,79,92,10,41,44,12,50,22,56,33,37,17,58,35,96,52,60,82,42,11,59,75,13,48,40,10,41,16,48,33,46,12 H,664905,8,800,4,16,1015675,38,3,1,,,1,6,,,1,0,2,3,3,,1,,,,,,1,3,2,680,,1,3,,,0,1,5,6,29200,4,680,28,3,2,29200,0,4,4,4,1,4,0,3,0,0,0,,0,0,0,2,2,2,,,1,0,,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,44,9,43,36,49,30,61,46,53,32,41,10,37,36,10,64,64,12,72,37,61,39,10,58,36,60,36,10,44,10,63,35,9,12,38,37,33,39,38,74,43,58,35,45,10,41,10,39,11,33,35,57,30,36,64,12,10,62,10,36,12,31,61,10,33,10,38,66,35,54,10,40,72,54,45,35,32,36,38 H,664911,8,300,4,16,1015675,176,6,1,,,3,5,,,1,0,2,3,3,,1,,,,,,1,4,2,1300,,1,3,,,5,1,2,,,,1300,41,1,5,37900,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,54,215,160,68,242,226,175,132,61,201,205,185,196,62,212,225,312,309,227,210,321,80,183,322,65,64,170,129,229,156,165,169,157,323,211,150,50,55,141,296,241,54,140,260,49,67,153,152,221,224,182,213,160,332,234,157,57,69,226,52,59,373,191,92,290,170,180,158,53,169,140,191,160,70,240,202,229,278,171 H,665086,8,500,4,16,1015675,81,2,1,1,,4,2,2,,70,0,2,10,1,240,1,,,,,3,1,6,,,,1,2,,16,3,600,6,2,42000,4,,,1,1,42000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,2,0,1,303,,0,1,30,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,81,135,78,130,74,74,127,80,22,139,126,24,87,78,27,85,23,73,29,78,83,149,85,140,67,80,125,79,22,126,142,20,74,88,29,87,23,79,24,81,82,138,80,167,74,81,143,73,23,135,139,29,74,71,19,78,26,81,22,88,83,132,75,147,76,78,136,70,26,132,123,25,89,83,24,76,25,80,25 H,665164,8,500,4,16,1015675,110,3,1,1,,3,2,2,,30,1200,2,100,1,200,1,,1,860,1,1,1,5,,,,1,1,,16,2,490,1,7,48000,1,,,1,3,48000,1,1,4,1,1,2,0,3,0,0,1,26,0,1,1,0,0,2,1031,3,0,1,13,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,32,42,194,111,162,130,103,178,108,208,29,34,113,116,103,179,112,32,106,103,199,171,32,127,34,115,96,32,97,29,209,153,115,107,128,33,104,176,124,109,184,191,40,117,35,108,102,27,88,30,152,179,121,118,130,32,110,176,122,107,34,37,185,111,171,119,116,170,107,165,39,30,108,107,107,193,101,34,112 H,665193,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,665629,8,300,4,16,1015675,47,1,1,,,1,7,,,70,0,580,50,1,,1,,,,,,1,3,2,280,,1,3,,,1,880,8,,,,521,101,1,6,4300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,49,43,16,57,56,68,17,94,90,41,43,14,15,73,48,63,50,82,16,53,47,55,12,49,47,70,14,82,80,46,45,17,11,78,43,48,52,82,79,43,52,55,96,57,49,17,73,11,14,49,47,92,77,14,54,53,49,15,81,48,46,53,64,52,52,18,84,13,14,52,44,88,80,14,55,45,48,15,18 H,665799,8,300,4,16,1015675,15,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,6,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,13,17,20,26,31,24,12,5,17,28,20,18,21,16,5,3,6,15,28,15,15,15,14,5,5,4,16,26,15,4,14,15,5,17,37,28,22,16,5,14,15,15,11,27,24,25,18,3,13,24,14,14,34,12,5,4,3,19,24,17,13,13,18,5,7,4,13,28,15,5,18,14,4,16,23,26,36,16,3 H,665969,8,300,4,16,1015675,124,0,1,3,,1,2,2,,,,,,,,1,,,,,,2,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,198,186,110,43,127,183,145,126,273,123,39,32,40,145,119,144,150,116,194,36,32,35,130,180,115,31,96,130,38,131,189,204,233,121,146,134,119,120,32,201,195,236,114,31,104,185,118,128,189,137,42,34,38,131,121,114,138,162,195,39,40,40,126,231,147,37,119,106,37,137,168,190,199,120,118,127,139,131,41 H,666140,8,600,4,16,1015675,136,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,2,280,,,,1,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,134,121,126,153,32,41,51,138,200,144,34,150,146,43,144,217,230,222,37,133,143,127,136,122,248,196,216,119,39,163,235,141,142,206,133,42,42,43,44,146,120,142,146,148,218,252,246,147,41,134,190,142,126,266,142,37,43,36,259,114,142,156,158,133,47,37,37,119,209,126,43,145,130,37,133,210,206,202,250 H,666922,8,900,4,16,1015675,117,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,37,107,127,207,170,28,34,159,127,41,204,196,102,105,37,117,148,138,102,126,32,106,100,197,189,30,34,165,140,51,209,195,106,125,34,99,140,133,120,116,173,103,118,36,34,196,181,29,146,221,42,34,99,116,209,116,148,145,109,123,159,109,117,35,35,172,183,32,115,236,41,37,114,103,174,110,124,134,106 H,667021,8,300,4,16,1015675,128,3,1,1,,3,2,2,,170,0,2,3,3,400,1,,,,,3,1,7,,,,1,2,,14,2,1800,7,8,22750,4,,,1,3,22750,0,4,4,4,1,7,0,3,0,0,0,50,0,0,0,1,1,1,939,,0,1,65,2,15,15,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,41,40,40,187,119,123,39,249,136,159,209,126,130,204,121,156,144,174,122,36,36,42,40,207,125,115,40,253,148,127,206,120,124,266,115,115,131,200,120,37,34,36,41,244,120,131,47,238,134,166,229,136,131,187,106,136,121,192,143,34,37,35,37,202,116,120,43,232,112,125,205,118,119,223,145,137,144,193,99 H,667034,8,900,4,16,1015675,205,0,1,,,2,4,,,,,,,,,1,,,,,,1,4,2,750,,,,1,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,64,63,253,63,217,59,211,177,203,218,71,62,184,210,64,205,225,58,205,205,208,200,344,191,352,198,340,387,318,359,173,217,292,306,240,346,366,202,63,51,67,61,229,69,198,59,207,193,196,192,57,52,192,200,79,217,190,63,210,218,203,209,326,192,334,208,365,382,335,391,237,231,333,332,197,304,342,200,59 H,667684,8,600,4,16,1015675,118,1,1,1,,3,2,2,,40,0,2,30,1,300,1,,1,700,1,1,1,4,,,,1,1,,16,2,600,2,,,,,,1,6,12790,0,4,4,4,1,3,0,,0,0,0,77,0,0,0,0,0,1,820,3,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,117,113,198,106,40,205,189,31,132,114,32,112,36,116,106,114,223,115,32,194,103,125,194,118,35,193,208,33,124,108,41,124,33,133,116,125,186,125,40,200,128,111,205,113,32,201,192,37,103,118,34,113,34,117,114,114,188,116,35,202,129,121,202,110,35,217,191,36,115,111,35,118,35,107,123,116,205,115,36 H,667777,8,600,4,16,1015675,77,2,1,1,,4,2,2,,110,0,2,290,1,680,1,,2,1100,2,1,1,9,,,,1,1,,22,2,40,4,4,122500,4,,,1,1,122500,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,2,0,1,2059,3,0,1,63,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,129,126,73,73,73,81,74,22,76,136,22,77,25,85,123,78,127,20,22,78,120,128,78,78,73,76,81,23,83,135,21,84,23,76,129,71,129,25,22,79,132,121,72,77,79,81,70,20,73,128,23,79,24,81,142,85,138,24,21,71,142,128,76,75,73,82,74,22,84,136,22,78,21,77,140,75,130,24,25 H,667848,8,300,4,16,1015675,45,5,1,2,1,4,2,2,,130,0,2,100,2,550,1,,2,840,2,1,1,6,,,,1,1,,14,5,2,8,3,89700,2,,,3,1,89700,0,2,2,2,1,5,3,5,0,0,3,16,0,0,1,0,0,1,1192,3,0,1,20,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,12,50,71,70,71,44,49,48,51,52,17,14,12,36,62,59,11,46,87,47,13,49,106,72,72,48,43,42,51,44,13,13,16,74,65,42,13,44,74,35,16,52,85,80,57,62,54,54,71,29,9,15,11,64,83,47,18,41,78,42,16,35,64,96,79,44,46,45,48,57,13,13,11,37,71,63,15,43,79 H,667983,8,600,4,16,1015675,122,1,1,1,,2,2,2,,90,0,2,3,3,370,1,,1,1200,1,1,1,7,,,,1,1,,19,1,320,5,,,,,,1,4,73080,0,4,4,4,1,3,0,,0,0,0,22,0,0,0,0,0,1,1317,3,0,1,40,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,39,37,208,136,207,109,112,216,124,215,33,39,122,109,122,213,138,37,127,110,35,36,202,112,212,127,119,199,121,219,37,38,129,127,140,186,116,38,126,120,37,39,227,128,200,133,128,201,134,202,36,37,117,137,125,188,106,32,123,129,36,38,219,131,208,110,126,196,129,219,34,33,122,128,112,214,127,34,114 H,667991,8,900,4,16,1015675,78,1,1,1,,4,2,2,,40,0,2,60,1,1800,1,,,,,3,1,9,,,,1,2,,20,2,480,2,,,,,,1,6,46000,0,4,4,4,1,3,0,,0,0,0,16,0,0,0,0,0,2,623,,0,1,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,132,73,25,82,86,77,131,21,117,22,131,78,79,77,24,69,127,75,144,75,80,21,79,116,128,143,79,85,65,77,68,24,21,16,88,134,77,23,22,73,92,138,83,25,21,22,71,85,68,75,70,136,143,121,99,24,71,131,86,124,20,81,131,61,74,85,22,130,21,121,22,85,70,80,137,85,25,57,86 H,668089,8,400,4,16,1015675,71,2,1,1,,3,2,2,,80,0,2,3,3,350,1,,2,370,2,1,1,5,,,,1,1,,12,2,2,5,,,,,,1,5,48000,0,4,4,4,1,5,0,,0,1,0,13,2,0,0,0,0,1,537,3,0,1,16,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,106,124,24,27,112,61,24,163,133,51,99,25,78,50,56,110,24,79,66,65,20,19,119,111,21,80,151,26,20,67,74,106,78,96,96,56,107,70,73,73,19,25,139,115,21,70,100,27,21,57,60,176,109,54,70,81,107,86,68,76,129,108,23,20,107,125,32,104,124,60,86,20,74,92,87,56,20,66,63,95 H,668148,8,700,4,16,1015675,370,3,1,1,,4,2,2,,40,0,2,70,1,,1,,,,,,1,6,2,1100,,1,3,,,2,720,2,7,84000,2,1270,18,1,3,84000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,716,105,397,375,562,124,368,359,119,365,357,101,376,306,387,113,561,655,583,346,593,112,366,378,677,113,365,384,118,393,346,108,386,354,369,118,578,646,677,371,109,623,371,354,113,566,349,374,611,386,344,639,373,347,365,650,105,107,124,360,104,585,363,365,111,685,401,374,669,414,363,644,365,388,402,644,113,107,98,372 H,668508,8,200,4,16,1015675,75,1,1,1,,2,1,2,,80,0,2,130,2,240,1,0,2,390,2,1,1,4,,,,1,1,,9,1,1400,5,,,,,,1,4,30000,0,4,4,4,1,4,0,,0,0,0,32,0,0,0,0,0,2,795,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,83,63,82,79,98,119,184,73,39,71,149,53,75,133,89,31,21,27,83,22,92,69,98,63,89,132,110,71,22,68,131,59,95,118,79,19,17,24,101,160,90,73,66,84,35,30,22,66,106,58,21,77,59,20,73,160,149,99,76,85,91,98,67,81,21,21,23,92,149,78,20,98,96,33,86,96,130,101,59,30 H,668690,8,900,4,16,1015675,128,4,1,1,,3,2,2,,210,5900,600,3,6,110,1,,,,,3,1,5,,,,1,2,,6,4,2,4,2,24800,2,,,1,1,24800,0,2,2,2,1,5,2,4,0,0,2,15,0,0,1,0,0,2,319,,0,1,14,1,8,6,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,126,36,201,128,251,126,37,97,39,195,167,40,54,135,106,123,114,122,70,44,156,175,46,133,43,123,183,102,182,36,95,194,244,160,141,101,123,126,183,239,139,51,212,121,219,139,33,101,36,190,119,43,37,126,136,121,169,139,34,55,114,235,42,101,44,123,218,129,233,55,170,209,158,111,104,123,139,101,233 H,668787,8,300,4,16,1015675,79,2,1,1,,3,2,2,,50,0,2,70,1,300,1,,,,,3,1,8,,,,1,2,,15,2,30,5,1,93800,4,,,1,1,93800,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,0,0,1,248,,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,75,124,84,23,78,79,25,75,140,137,144,84,83,86,82,65,21,121,23,21,81,136,73,28,77,86,22,81,135,133,135,76,94,83,77,75,21,148,22,23,71,144,74,20,95,73,28,90,132,124,123,79,85,69,73,75,26,140,19,23,63,125,86,23,87,73,21,88,173,127,130,72,80,82,89,91,22,140 H,668929,8,400,4,16,1015675,18,2,1,1,,2,3,1,,50,0,2,90,2,,1,,,,,,1,4,2,450,,1,3,,,0,760,9,4,22900,4,653,34,1,1,22900,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,29,40,37,48,23,6,18,27,22,22,24,13,5,7,5,17,17,17,33,18,21,5,3,7,18,30,20,5,19,20,6,25,29,25,29,27,28,18,5,23,26,25,20,27,22,7,18,33,19,24,37,22,6,5,7,35,21,17,38,19,27,5,5,8,17,34,23,3,15,19,5,18,35,45,27,18,19,15,8 H,669046,8,400,4,16,1015675,87,0,1,3,,4,1,2,,,,,,,,1,,,,,,1,9,,,,,,3,24,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,81,75,29,28,130,149,25,79,125,26,29,88,101,168,79,68,109,96,88,29,89,88,149,136,24,24,172,108,26,158,143,72,76,22,93,104,72,85,77,25,94,95,168,148,28,29,121,75,28,143,134,78,102,30,77,72,99,84,92,165,78,80,28,25,144,125,26,106,153,27,26,90,82,129,80,98,72,77,87 H,669202,8,100,4,16,1015675,33,2,1,1,,4,1,2,,260,0,2,300,2,360,1,0,2,540,2,1,1,8,,,,1,1,,16,3,600,3,7,40900,2,,,1,3,40900,0,2,2,2,1,5,1,2,0,0,1,35,0,0,1,0,0,2,1209,3,0,0,9,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,35,34,10,9,51,12,37,39,58,63,59,32,34,9,55,33,8,35,64,9,56,49,31,32,27,32,12,51,35,28,35,9,48,37,33,8,27,9,31,35,39,27,10,6,49,10,32,30,51,55,67,32,30,10,56,33,10,33,63,9,52,58,33,31,30,26,13,58,32,34,34,10,63,34,30,10,35,12,33 H,669230,8,100,4,16,1015675,22,8,1,2,3,4,2,2,,180,0,400,3,6,900,1,,1,750,1,1,1,8,,,,1,1,,17,3,420,5,2,165000,3,,,1,1,165000,0,3,3,3,1,5,6,8,0,0,6,7,0,0,1,0,0,1,998,3,0,1,21,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,22,6,5,5,24,24,19,18,23,42,41,33,22,8,17,36,28,22,7,39,21,6,5,6,28,23,18,19,23,38,43,37,24,8,24,35,17,25,5,40,24,7,9,5,18,20,26,18,27,43,41,37,28,5,25,40,17,16,5,38,24,6,7,9,19,21,21,29,26,30,47,39,20,6,22,37,17,25,6 H,669264,8,900,4,16,1015675,28,4,1,3,6,5,2,2,,60,0,2,80,2,850,1,,2,750,2,1,1,9,,,,1,1,,15,3,2,9,1,53500,2,,,1,1,53500,0,2,2,2,1,3,2,4,0,0,2,24,0,0,1,0,0,1,1061,3,0,0,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,50,31,25,27,33,35,12,9,10,30,49,27,8,30,35,9,30,53,58,55,59,33,22,21,30,44,10,8,11,25,39,33,8,25,30,9,23,46,9,7,8,26,26,33,29,28,52,52,72,36,12,28,31,30,27,41,39,10,10,10,10,25,23,28,37,35,49,61,58,26,10,33,39,25,27,50,33,10,48 H,669299,8,500,4,16,1015675,156,2,1,1,,3,1,2,,90,280,2,3,3,0,1,0,2,400,2,1,1,5,,,,1,1,,2,1,390,5,3,23090,4,,,2,1,23090,0,4,4,4,1,1,0,2,0,0,0,27,0,0,0,0,0,2,523,3,0,0,1,1,8,8,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,40,140,167,126,159,155,243,256,273,144,61,179,249,133,156,322,164,55,59,51,52,207,177,221,147,173,286,261,173,139,55,111,253,142,149,198,156,68,51,40,58,147,149,121,179,113,304,309,227,156,61,146,275,114,164,282,162,70,66,77,44,185,180,163,151,200,228,223,224,130,63,136,232,160,177,220,153,45,47,56 H,669415,8,600,4,16,1015675,125,2,1,1,,3,2,2,,60,0,850,90,1,500,1,,2,870,1,1,1,9,,,,1,1,,20,2,700,9,1,70000,4,,,1,1,70000,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,0,0,1,1191,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,37,202,40,114,218,225,216,143,34,211,134,132,139,131,36,34,110,110,120,114,39,203,39,132,239,201,198,120,35,220,120,135,117,133,44,38,119,113,123,115,36,205,40,109,216,259,238,134,33,189,134,121,130,142,37,36,119,122,124,118,43,195,37,123,236,222,195,123,36,220,116,122,125,138,38,38,124,124,126 H,669797,8,200,4,16,1015675,70,3,1,1,,3,1,2,,60,0,2,210,1,500,1,0,2,460,1,1,1,7,,,600,1,1,,14,4,600,3,5,82500,4,,,1,2,117500,0,4,4,4,1,3,0,2,0,1,0,15,0,0,0,0,0,2,1422,2,0,0,19,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,55,76,126,71,139,23,19,84,70,74,148,74,15,66,26,21,102,80,116,79,60,84,22,70,26,108,114,80,63,67,32,78,116,77,75,117,22,67,26,88,67,57,121,100,92,36,31,72,77,61,106,77,19,74,22,27,159,65,106,61,42,67,26,62,35,106,103,58,67,106,25,81,108,62,133,126,16,61,26,43 H,669986,8,700,4,16,1015675,130,4,1,2,1,3,2,2,,120,0,2,100,1,600,1,,1,1300,1,1,1,6,,,200,1,1,,20,2,2,9,3,83000,2,,,1,1,83000,0,2,2,2,1,3,2,4,0,0,2,25,0,0,1,0,0,2,1720,2,0,1,32,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,38,222,227,37,43,122,35,127,139,219,138,205,135,214,130,129,38,140,129,213,117,123,140,126,126,214,137,39,235,129,208,116,39,142,42,231,121,38,39,206,125,137,131,140,142,200,142,40,208,143,212,124,41,118,39,219,121,35,34,141,34,230,245,42,42,130,37,126,119,233,133,197,118,215,124,121,40,146,128,123 H,670254,8,600,4,16,1015675,102,1,1,1,,3,2,2,,40,0,2,20,1,300,1,,1,470,1,1,1,7,,,,1,1,,17,1,250,3,,,,,,1,6,29210,0,4,4,4,1,5,0,,0,0,0,23,0,0,0,1,1,1,551,3,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,169,103,105,30,101,101,111,114,31,95,103,169,181,31,27,147,99,31,106,31,29,99,102,177,94,109,99,106,176,108,101,29,30,170,153,34,111,192,108,31,32,98,99,174,106,95,92,113,168,96,107,28,32,161,159,34,96,201,102,162,170,91,97,31,104,106,100,110,29,105,108,174,184,33,32,143,99,31,100 H,670299,8,700,4,16,1015675,97,2,1,1,,3,2,2,,50,0,2,170,1,350,1,,,,,3,1,8,,,,1,2,,18,2,300,3,1,89500,4,,,3,1,89500,0,4,4,4,1,4,0,2,0,0,0,6,0,0,0,0,0,1,474,,0,1,36,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,97,172,29,153,95,27,26,27,94,169,28,101,101,89,94,179,163,95,105,90,94,31,166,23,104,168,165,155,94,30,180,95,99,107,102,29,27,97,109,98,100,28,173,29,92,167,165,170,107,28,180,93,86,97,88,27,28,95,92,92,103,157,30,162,90,28,29,30,104,165,27,100,105,93,102,165,174,90,98 H,670706,8,400,4,16,1015675,145,2,1,,,2,7,,,30,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,2,1,4,5,56000,4,430,9,1,2,56000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,127,48,154,177,54,115,235,278,225,148,134,120,121,143,51,49,37,168,275,215,136,55,156,182,61,112,222,329,243,159,161,135,119,125,41,56,38,151,260,44,145,242,155,168,225,161,52,64,41,132,202,111,106,122,162,270,213,130,51,54,155,289,148,169,298,153,37,56,56,128,157,136,129,122,165,264,276,128,40,199 H,671564,8,200,4,16,1015675,110,2,1,2,1,2,1,2,,110,0,500,3,4,,1,,,,,,1,4,,,,1,4,,,5,2,5,,,,,,1,5,56000,0,4,4,4,1,4,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,90,23,28,33,123,119,159,111,145,206,250,130,77,46,100,127,150,160,225,34,149,239,209,173,82,112,98,104,124,44,29,35,159,140,85,37,103,108,242,34,98,183,272,173,181,154,136,127,108,24,29,32,127,191,126,45,100,82,28,165,101,39,26,47,122,103,78,115,132,171,211,147,106,37,95,118,91,177,20 H,671947,8,400,4,16,1015675,87,1,1,,,1,5,,,20,0,2,3,3,,1,,,,,,1,2,2,240,,1,3,,,1,1,5,,,,260,24,1,4,12820,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,88,90,172,98,79,26,27,161,193,27,72,143,25,26,97,84,146,99,84,73,110,87,154,79,69,37,27,157,149,26,100,112,29,25,81,86,142,90,73,96,99,93,137,83,99,35,18,132,166,21,88,168,27,24,61,82,174,77,82,97,117,111,117,106,104,24,27,177,146,30,95,165,30,26,80,68,113,99,97,131 H,672275,8,300,4,16,1015675,32,2,1,3,1,2,2,1,,70,0,3500,3,5,350,1,,,,,3,1,8,,,,1,2,,16,2,2,5,5,56500,4,,,1,2,56500,0,4,4,4,1,6,0,2,0,0,0,11,0,0,0,1,1,1,496,,0,0,24,1,10,10,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,29,34,54,52,12,10,50,32,11,44,69,36,37,8,23,34,35,34,9,49,40,41,10,10,42,43,10,29,59,12,8,38,33,48,30,28,34,29,45,26,32,33,62,61,14,11,46,31,9,60,52,34,39,12,24,31,29,26,11,28,23,30,16,13,64,55,10,33,51,8,11,29,42,58,26,28,29,32,65,37 H,672534,8,100,4,16,1015675,153,3,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,4,2,590,,1,3,,,3,1,5,7,28800,2,640,27,1,3,28800,0,2,2,2,1,2,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,156,57,141,35,153,168,144,300,166,240,158,164,212,139,48,192,238,54,51,146,152,48,157,52,159,145,161,245,159,287,162,141,253,144,48,279,214,51,221,131,169,252,134,193,164,153,156,37,142,52,199,160,42,135,284,60,60,282,213,200,149,227,152,222,133,114,162,58,149,54,154,161,56,185,232,48,54,281,68 H,672554,8,900,4,16,1015675,73,2,1,1,,3,2,2,,30,0,2,110,1,200,1,,,,,3,1,5,,,,1,2,,11,2,730,7,7,40500,4,,,1,3,40500,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,1,0,1,289,,0,1,19,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,73,23,75,110,18,21,137,61,94,118,66,126,54,53,76,23,66,22,18,79,68,133,53,18,151,151,29,81,89,25,72,19,65,80,86,135,67,120,25,66,56,113,60,21,131,89,19,64,68,23,70,20,96,76,78,132,82,142,121,75,74,30,81,130,18,17,140,67,71,132,70,120,64,66,82,22,72,26,110 H,672610,8,200,4,16,1015675,92,2,1,2,1,3,2,2,,80,0,2,3,3,500,1,,,,,3,1,7,,,,1,2,,16,2,1000,9,4,37800,4,,,1,1,37800,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,2,2,1,372,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,153,149,129,163,34,76,88,82,24,75,198,82,21,25,73,103,36,146,83,92,256,166,85,166,25,89,100,98,29,106,131,104,31,28,111,80,29,189,79,68,159,142,114,171,23,123,96,99,36,84,152,104,31,26,107,125,21,125,84,91,154,172,101,148,26,74,96,94,21,86,169,88,36,26,92,99,27,201,80 H,672617,8,300,4,16,1015675,26,2,1,1,,3,2,2,,60,0,2,80,2,380,1,,2,250,2,1,1,5,,,,1,1,,9,2,720,5,7,12200,4,,,1,3,12200,0,4,4,4,1,4,0,2,0,0,0,56,0,0,0,0,0,1,571,3,0,1,22,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,41,26,36,25,28,41,18,24,6,10,58,49,7,21,36,5,7,26,33,25,50,23,25,25,22,46,27,24,10,8,39,48,9,23,65,9,5,25,23,20,45,26,25,33,23,44,28,20,8,7,36,46,9,18,61,10,6,34,20,22,38,24,29,28,33,40,24,23,7,8,54,43,7,26,36,7,13,26,19 H,672629,8,200,4,16,1015675,21,1,1,1,,3,2,2,,20,0,300,40,6,500,1,,,,,3,1,5,,,,1,2,,9,1,660,9,,,,,,1,6,34200,0,4,4,4,1,3,0,,0,0,0,8,0,0,0,1,0,2,232,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,38,18,25,19,34,21,37,7,20,7,20,19,20,8,5,30,21,5,15,3,18,7,7,36,24,37,21,20,32,21,36,5,7,18,25,18,36,21,5,20,7,22,21,23,7,24,7,40,17,32,23,21,21,39,34,7,18,28,25,48,26,24,27,5,17,8,24,24,7,20,7,27,27,25,22,20,7,21,32 H,672693,8,700,4,16,1015675,115,2,1,1,,4,2,2,,60,0,2,130,1,450,1,,1,600,1,1,1,8,,,,1,1,,18,2,40,3,1,70000,4,,,1,1,70000,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,0,0,1,793,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,200,35,116,113,195,31,105,108,34,111,104,35,128,123,115,35,201,179,34,120,109,112,33,207,122,115,168,193,119,35,32,119,202,32,187,123,115,120,120,34,35,196,116,115,34,185,114,114,197,111,114,184,118,112,108,225,35,34,177,116,111,115,172,37,122,119,32,33,121,189,193,117,35,200,34,120,108,121,111 H,672863,8,900,4,16,1015675,65,2,1,2,1,4,2,2,,40,0,350,3,3,400,1,,,,,3,1,9,,,,1,2,,17,3,2,5,1,125000,4,,,1,1,125000,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,0,0,1,169,,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,102,68,66,73,59,96,73,75,16,18,113,103,18,65,96,21,17,60,63,65,116,67,63,64,75,133,58,62,20,16,128,102,20,61,106,22,15,67,58,60,94,79,71,68,71,92,73,73,20,18,113,95,18,76,106,16,19,57,48,65,108,70,64,66,63,111,71,60,21,20,130,136,20,55,109,21,16,54,79 H,672997,8,100,4,16,1015675,110,0,1,2,,1,2,2,,,,,,,,1,,,,,,2,2,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,118,95,107,105,92,201,186,171,101,39,120,191,102,106,211,125,33,33,37,34,124,98,107,104,118,154,175,194,103,38,117,200,90,125,183,90,34,28,169,178,103,117,95,134,116,35,34,37,107,203,109,31,104,119,27,102,183,202,193,173,114,109,103,110,95,33,30,31,115,220,115,30,107,107,31,122,182,198,38 H,673111,8,400,4,16,1015675,31,1,1,2,1,2,1,2,,40,0,50,120,6,200,1,0,2,430,2,1,1,4,,,,1,1,,12,3,2,5,,,,,,1,4,50000,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,1,0,1,678,3,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,23,29,10,26,28,47,45,10,8,70,33,9,56,52,44,30,8,28,29,35,33,37,56,27,28,10,10,59,46,7,29,56,12,6,25,38,52,33,32,32,36,32,8,29,35,59,45,8,8,54,30,9,47,46,30,33,10,26,35,27,27,35,52,33,30,6,10,46,51,9,37,59,8,8,31,36,49,35,34 H,673145,8,700,4,16,1015675,337,5,1,1,,4,2,2,,80,0,2,50,1,400,1,,1,600,1,1,1,8,,,150,1,1,,14,2,600,5,2,65500,2,,,1,1,65500,0,2,2,2,1,6,1,5,0,0,1,17,0,0,1,0,0,2,930,1,0,1,20,3,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,106,526,319,90,586,559,331,351,103,311,324,351,300,110,359,323,539,510,338,535,609,105,330,608,96,99,337,332,605,334,319,322,309,604,371,303,90,110,329,97,97,610,325,103,501,554,350,333,99,324,343,358,320,103,325,324,620,596,327,550,562,96,332,608,110,96,322,327,587,336,343,371,340,560,329,313,99,93,347 H,673659,8,800,4,16,1015675,115,3,1,1,,3,2,2,,50,0,1400,3,4,400,1,,1,700,1,1,1,7,,,,1,1,,13,2,380,9,1,58940,1,,,1,1,58940,0,1,1,1,1,1,1,3,0,0,1,18,0,0,1,0,0,1,899,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,110,33,243,176,219,231,31,119,144,170,27,108,145,31,108,119,32,130,105,108,110,27,204,178,158,232,31,149,136,167,34,110,97,33,126,90,34,136,119,92,101,24,163,188,174,175,32,166,107,164,35,87,115,43,132,106,28,171,155,127,123,42,231,157,192,225,49,119,123,202,36,103,116,32,120,128,29,102,147 H,673779,8,600,4,16,1015675,119,4,1,1,,3,2,2,,50,0,2,4,1,400,1,,1,910,1,1,1,6,,,210,1,1,,15,3,240,7,5,32000,2,,,1,2,57400,0,2,2,2,1,5,1,2,0,1,1,25,2,0,1,0,0,2,1194,2,0,1,24,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,120,33,36,133,201,114,194,39,208,118,198,117,33,36,117,188,125,120,35,180,33,118,127,34,117,38,114,117,125,204,116,221,121,111,204,114,34,213,115,118,122,205,202,125,33,117,34,183,35,109,33,117,208,233,128,34,105,110,205,36,203,131,121,211,121,203,113,104,113,34,111,31,113,126,32,116,217,37,107 H,674824,8,500,4,16,1015675,126,4,1,1,,4,2,2,,140,0,2,3,3,500,1,,,,,3,1,9,,,,1,2,,16,3,300,5,1,24400,3,,,1,1,24400,0,3,3,3,1,1,2,4,0,0,2,41,0,0,1,0,0,1,832,,0,1,65,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,210,32,135,109,130,126,117,124,236,40,136,130,39,39,162,197,220,137,120,138,123,129,207,33,36,38,39,232,130,129,35,200,133,117,210,123,117,219,36,209,38,207,125,135,144,121,129,133,39,198,126,121,200,208,147,37,43,137,123,131,142,140,36,199,183,236,196,42,107,107,203,42,118,135,35,119,127,35,201 H,675074,8,500,4,16,1015675,81,3,1,2,2,2,2,2,,100,0,500,3,3,1000,1,,2,1500,2,1,1,6,,,,1,1,,14,2,2,5,5,100000,2,,,1,2,139300,0,2,2,2,1,5,1,2,0,1,1,16,2,0,1,0,0,1,1825,3,0,1,24,1,10,10,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,26,151,23,81,76,84,78,97,84,132,23,71,77,22,26,98,139,142,66,84,85,88,70,19,130,121,131,143,25,79,79,128,23,82,76,26,71,82,23,21,123,23,129,83,76,85,87,103,72,25,136,86,71,158,143,77,23,25,86,85,73,76,80,140,25,25,25,22,124,71,77,23,152,82,87,140,77,80,124,138 H,675555,8,100,4,16,1015675,58,3,1,1,,4,2,1,,250,0,1100,3,4,530,1,,2,450,2,1,1,8,,,,1,1,,15,3,720,5,3,42740,4,,,1,1,42740,0,4,4,4,1,5,0,3,0,0,0,27,0,0,0,2,1,1,971,3,0,0,20,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,12,18,61,63,69,68,63,97,106,109,54,18,65,90,40,55,88,53,21,15,16,17,68,62,71,76,55,82,89,89,47,15,59,81,48,63,107,57,93,126,89,89,46,70,61,55,86,14,13,21,53,100,64,15,44,54,15,56,83,101,86,102,62,62,74,56,53,17,17,17,57,111,56,14,50,65,21,58,17 H,675611,8,900,4,16,1015675,61,4,1,1,,4,2,2,,90,0,500,190,1,600,1,,1,920,1,1,1,8,,,200,1,1,,14,3,300,7,1,32800,2,,,1,1,32800,0,2,2,2,1,4,2,4,0,0,2,54,0,0,1,0,0,1,1467,2,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,59,19,60,50,18,52,76,97,72,77,94,58,50,74,16,16,20,71,119,107,58,12,48,63,26,60,83,92,90,73,85,77,56,74,23,16,20,83,115,22,55,79,65,55,103,84,15,13,18,101,77,103,71,68,94,71,121,76,20,19,62,62,55,71,84,47,17,18,15,56,89,59,56,75,99,95,130,73,20,121 H,675747,8,100,4,16,1015675,19,3,1,1,,3,2,2,,50,0,800,3,4,320,1,,1,800,1,1,1,6,,,,1,1,,15,4,430,8,4,55000,4,,,1,1,55000,0,4,4,4,1,2,0,3,0,0,0,21,0,0,0,2,2,2,953,3,0,1,7,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,27,20,7,30,35,23,18,7,25,25,18,17,5,23,17,30,44,15,5,4,24,15,8,33,29,18,18,7,21,29,22,17,5,19,17,32,44,15,32,34,5,17,29,5,4,17,23,43,26,27,19,15,30,24,19,7,7,14,33,35,5,13,34,5,7,23,18,35,24,22,15,17,33,27,17,5,8,18 H,676016,8,300,4,16,1015675,156,4,1,1,,3,1,2,,60,0,2,40,1,,1,,,,,,1,5,2,800,,1,3,,,2,400,3,1,53000,1,933,21,1,1,53000,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,174,168,227,210,156,47,154,52,221,66,143,53,150,214,305,189,63,142,275,55,75,282,124,155,277,155,259,161,153,149,57,128,37,210,169,51,145,234,158,155,109,178,58,57,169,241,173,316,65,245,180,251,158,48,38,141,181,159,55,285,273,57,158,154,64,164,42,235,175,141,286,200,266,128,133,198,137,57,145 H,676173,8,200,4,16,1015675,14,1,1,1,,2,2,2,,20,0,300,3,4,400,1,,,,,3,1,5,,,,1,2,,14,2,360,5,,,,,,1,4,22100,0,4,4,4,1,5,0,,0,0,0,10,0,0,0,1,1,2,175,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,24,15,17,17,5,5,14,4,23,3,25,14,27,29,13,15,16,18,10,22,15,5,25,24,19,12,4,14,14,24,21,5,13,14,29,29,5,4,13,30,15,3,29,26,17,11,3,15,16,17,17,3,15,14,23,28,5,5,6,19,32,13,15,17,5,4,15,5,22,5,26,17,27,24,12,13,18,15,3 H,676182,8,600,4,16,1015675,103,1,1,1,,2,2,2,,20,0,2,180,1,500,1,,1,1000,1,1,1,5,,,120,2,1,,17,2,1200,2,,,,,,1,6,56000,0,4,4,4,1,1,0,,0,0,0,30,0,0,0,0,0,1,1420,2,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,96,100,103,31,31,28,98,173,92,29,101,105,30,110,158,165,176,110,113,197,99,108,106,31,27,28,96,172,96,30,98,105,32,102,191,194,158,106,107,31,107,109,110,182,174,180,113,29,112,181,104,112,179,97,27,31,31,92,105,30,112,99,96,173,164,156,98,31,101,178,104,100,168,106,30,31,32,101,97,191 H,676531,8,500,4,16,1015675,350,5,1,1,,3,2,2,,150,0,2,240,1,550,1,,1,710,1,1,1,5,,,,2,1,,15,5,500,6,1,60400,2,,,2,1,60400,0,2,2,2,1,4,2,5,0,0,2,23,0,0,1,0,0,2,1142,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,365,346,595,625,109,568,302,389,93,109,97,335,342,604,114,393,633,339,317,104,106,94,314,337,363,368,572,112,390,321,328,625,122,353,308,587,338,617,567,364,380,385,100,103,520,110,316,375,546,597,623,354,328,106,551,391,110,359,351,545,637,488,322,420,340,307,112,561,389,354,332,130,652,325,376,102,334,103,103,401 H,677067,8,100,4,16,1015675,41,3,1,1,,3,2,2,,50,0,2,3,3,400,1,,1,400,1,1,1,6,,,,1,1,,16,2,720,9,4,44300,4,,,1,1,44300,0,4,4,4,1,3,0,3,0,0,0,14,0,0,0,0,0,2,510,3,0,1,16,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,9,35,45,38,12,37,74,44,10,9,51,45,13,91,48,64,60,37,33,87,10,46,40,62,11,39,70,31,16,19,35,33,14,67,32,63,58,49,48,59,12,40,43,42,12,35,71,51,12,10,39,39,13,78,44,68,63,37,43,74,12,43,46,36,11,46,62,30,14,14,37,38,13,66,42,74,70,45,47 H,677624,8,100,4,16,1015675,125,5,1,1,,4,2,2,,150,0,2,60,1,800,1,,1,1100,1,1,1,8,,,,1,1,,20,4,750,3,2,112700,2,,,3,1,112700,0,2,2,2,1,5,3,5,0,0,3,15,0,0,1,0,0,1,1373,3,0,1,42,3,4,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,124,178,186,201,130,121,140,116,128,48,38,44,130,212,118,34,147,42,115,195,121,35,35,32,127,120,130,129,118,238,206,223,119,36,126,190,150,239,122,41,111,226,174,198,109,126,124,119,125,39,34,35,102,226,123,39,129,39,131,208,113,34,34,36,105,129,140,133,130,247,241,235,120,35,122,216,145,211 H,677738,8,100,4,16,1015675,104,4,1,3,1,4,2,2,,40,0,240,20,2,700,1,,1,1200,1,1,1,6,,,600,1,1,,19,2,250,3,5,72200,3,,,1,2,72200,0,3,3,3,1,4,3,4,0,0,3,32,0,0,1,0,0,1,1901,2,0,0,24,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,194,89,92,112,34,30,125,37,153,32,160,91,178,157,116,103,87,116,118,210,116,29,193,171,95,100,30,86,104,98,89,31,128,105,179,170,30,32,103,29,99,152,31,27,113,110,191,134,107,101,100,195,99,102,37,27,195,164,186,93,29,96,105,104,173,185,112,157,34,160,27,116,33,29,110,103,106,114,33 H,677829,8,200,4,16,1015675,39,4,1,1,,3,2,2,,100,0,800,3,6,300,1,,,,,3,1,8,,,,1,2,,11,2,1000,8,3,63000,2,,,1,1,63000,0,2,2,2,1,3,2,4,0,0,2,6,0,0,1,0,0,2,304,,0,1,9,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,8,15,48,45,65,29,35,51,39,65,50,46,12,12,76,75,9,35,38,12,56,66,50,40,12,40,44,39,38,14,42,33,59,63,14,13,64,39,41,50,9,12,37,47,82,37,34,42,39,72,48,51,15,10,65,64,10,44,33,11,58,65,59,36,10,42,43,33,47,15,32,39,58,56,18,13,61,38,44 H,678091,8,200,4,16,1015675,29,2,1,1,,2,2,2,,60,0,1500,3,4,,1,,,,,,1,4,2,400,,1,3,,,1,900,9,7,23000,2,660,34,1,3,23000,0,2,2,2,1,4,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,21,19,52,35,10,10,10,27,31,40,30,31,39,41,45,33,11,27,45,9,22,25,9,34,44,52,61,27,24,26,28,25,10,10,9,36,46,31,56,10,30,34,14,26,50,49,42,36,25,37,26,26,8,10,6,26,50,25,9,54,24,25,50,31,8,9,9,23,30,35,23,29,58,48,59,30,7,28,9 H,678471,8,900,4,16,1015675,98,4,1,1,,3,2,2,,80,0,2,60,1,300,1,,1,450,1,1,1,5,,,,1,1,,12,1,720,6,7,13900,3,,,2,3,57300,0,3,3,3,1,3,2,3,0,1,2,14,3,0,1,0,0,2,650,3,0,1,12,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,87,99,92,170,160,98,31,108,39,170,28,98,27,97,162,160,110,33,97,181,30,32,165,96,104,159,94,158,98,91,98,30,102,28,101,85,28,96,154,102,88,95,109,28,33,103,175,99,156,28,146,115,182,102,28,24,93,192,135,31,158,175,26,120,89,23,113,28,103,96,102,166,83,146,86,103,189,79,28,90 H,678616,8,700,4,16,1015675,109,4,1,1,,3,3,2,110,100,0,2,30,1,300,1,,,,,3,1,6,,,,2,2,,15,4,150,3,,,,,,1,5,131850,0,4,4,4,1,1,0,,0,1,0,3,0,0,0,0,0,1,378,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,105,105,97,104,136,26,27,33,112,192,112,31,109,109,36,111,194,178,178,200,100,106,127,113,105,32,36,31,116,176,103,30,109,94,29,104,197,194,184,181,122,99,104,121,111,34,33,36,103,188,105,28,107,113,35,101,192,196,165,178,104,111,106,112,96,34,35,31,109,167,108,30,112,106,28,106,174,211,175,188 H,678619,8,800,4,16,1015675,127,2,1,1,,2,2,2,,50,0,2,3,3,480,1,,1,440,1,1,1,4,,,,1,1,,12,3,550,7,,,,,,1,7,19600,0,4,4,4,1,4,0,,0,1,0,33,3,0,0,0,0,1,536,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,37,42,39,137,195,141,54,109,108,44,148,191,173,169,113,97,79,149,58,107,333,202,182,151,34,107,198,120,127,231,130,40,39,44,132,127,168,105,35,169,194,190,179,127,29,131,276,116,113,180,118,41,42,36,137,153,110,163,226,106,52,48,43,117,214,132,32,126,120,35,97,200,280,255,110,104,144,108,164 H,678698,8,200,4,16,1015675,102,4,1,2,3,4,2,2,,230,0,320,3,3,360,1,,2,1200,2,1,1,9,,,,1,1,,18,5,240,6,1,128600,4,,,3,1,128600,0,4,4,4,1,6,0,4,0,0,0,16,0,0,0,0,0,1,1682,3,0,1,33,3,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,136,172,109,144,35,119,103,141,101,115,81,120,115,29,90,134,30,100,34,35,102,202,93,160,34,79,182,162,106,124,117,87,100,32,88,148,36,129,143,181,108,30,98,32,191,76,26,38,81,113,98,87,93,149,111,35,187,104,139,165,120,28,97,30,273,116,24,22,160,113,93,113,102,181,108,27,147,100,25 H,678780,8,600,4,16,1015675,319,2,1,1,,2,1,2,,110,0,2,3,3,250,1,4000,,,,3,1,3,,,,1,2,,5,2,1,3,2,72000,4,,,2,1,72000,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,2,464,,0,0,1,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,506,92,322,512,89,91,334,303,586,304,331,331,302,516,319,304,93,94,563,303,94,537,295,96,548,538,321,353,102,349,326,322,335,99,322,313,490,551,93,319,99,527,281,86,524,538,316,276,91,322,309,330,346,95,324,357,576,554,106,303,541,92,329,539,91,91,324,311,529,342,333,331,303,499,329,323,98,96,538,318 H,678807,8,500,4,16,1015675,68,1,1,1,,3,2,2,,110,0,2,3,3,600,1,,,,,3,1,8,,,,1,2,,13,1,380,9,,,,,,1,6,19700,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,1,1,244,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,124,71,20,116,109,66,54,21,66,67,61,72,18,73,75,103,114,80,120,104,20,62,105,22,18,70,76,101,69,77,78,67,112,73,59,20,18,76,114,127,19,71,95,20,16,73,72,119,73,68,58,68,100,68,64,20,20,53,21,18,113,72,21,117,110,60,71,20,66,90,66,63,23,71,69,114,124,75 H,678924,8,300,4,16,1015675,82,4,1,1,,3,2,2,,100,0,2,120,1,300,1,,1,430,1,1,1,7,,,310,1,1,,13,3,130,6,1,66900,2,,,1,1,66900,0,2,2,2,1,5,2,4,0,0,2,17,0,0,1,0,0,1,971,1,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,22,63,133,85,23,23,90,80,30,160,81,137,136,65,129,23,74,89,92,75,25,82,131,85,23,25,81,75,22,133,72,125,152,84,153,30,83,76,74,90,121,73,25,88,136,151,83,73,148,25,72,23,24,91,21,120,75,76,88,91,116,67,24,83,140,127,90,91,146,25,78,26,23,82,20,135,76,75,76 H,679556,8,300,4,16,1015675,170,6,1,,,5,8,,,1,0,2,1,1,,1,,,,,,1,7,2,1600,,1,3,,,4,1,2,,,,1600,31,3,5,61700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,206,145,161,191,185,237,200,163,67,71,283,268,80,186,261,65,49,155,170,169,51,161,172,149,176,56,162,149,210,306,67,52,272,210,47,283,302,140,163,157,48,165,139,184,149,62,201,131,226,331,53,59,270,168,59,272,239,199,223,176,258,158,204,193,145,193,115,238,58,38,276,321,49,164,317,58,58,185,143 H,679831,8,200,4,16,1015675,150,3,1,1,,2,1,2,,120,0,2,100,2,0,1,0,,,,3,1,4,,,,1,2,,9,4,490,5,1,79000,4,,,1,1,79000,0,4,4,4,1,6,0,3,0,0,0,4,0,0,0,0,0,2,286,,0,0,8,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,160,48,148,243,51,36,242,178,139,221,123,207,150,132,175,67,171,52,47,127,129,254,158,48,259,206,48,203,133,41,149,49,150,144,157,217,164,255,234,137,146,52,140,206,41,43,252,170,119,188,172,274,157,155,177,57,145,42,46,150,164,223,163,42,208,236,51,162,143,40,134,50,162,174,191,249,173,256,264 H,680610,8,500,4,16,1015675,70,3,1,1,,4,2,2,,40,0,2,80,1,900,1,,,,,3,1,9,,,,1,2,,16,4,600,5,1,107300,4,,,1,1,107300,0,4,4,4,1,6,0,3,0,0,0,5,0,0,0,2,2,1,451,,0,1,36,3,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,69,75,20,67,22,73,70,22,60,114,23,25,127,66,69,117,71,129,141,78,79,75,23,72,23,80,67,17,71,106,21,23,108,65,72,112,68,116,114,85,79,63,25,75,19,72,59,17,66,123,19,21,118,68,71,120,68,124,132,71,84,88,24,67,21,71,80,17,79,130,23,18,131,70,72,117,67,102,128 H,680766,8,500,4,16,1015675,200,1,1,,,1,5,,,40,0,2,3,3,,1,,,,,,1,3,2,150,,2,3,,,0,1,6,,,,190,35,2,4,6500,0,4,4,4,2,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,179,64,267,208,325,229,275,163,374,208,185,59,216,168,59,419,335,78,299,298,338,165,54,287,167,359,233,60,229,57,361,224,47,91,164,195,215,215,209,388,172,370,202,244,60,207,80,190,66,156,165,360,189,243,302,73,81,346,58,198,72,171,302,67,197,65,165,374,178,339,61,227,222,335,180,209,190,191,175 H,680872,8,900,4,16,1015675,60,4,1,1,,4,2,2,,170,0,10,170,1,280,1,,1,650,1,1,1,6,,,,1,1,,15,4,940,3,3,53400,4,,,1,1,53400,0,4,4,4,1,3,0,4,0,0,0,24,0,1,0,1,0,2,1069,3,0,1,14,3,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,55,115,59,91,17,15,63,52,72,88,52,20,51,15,18,119,57,103,50,60,60,107,47,82,18,20,77,61,70,97,64,16,56,23,20,105,60,100,58,59,53,18,53,17,87,84,58,49,61,22,64,103,77,104,111,19,61,20,63,70,58,21,67,18,88,97,67,54,58,18,58,103,52,89,103,18,59,20,55 H,681299,8,800,4,16,1015675,109,2,1,1,,3,2,2,,70,0,2,3,3,400,1,,,,,3,1,5,,,,1,2,,15,3,60,5,,,,,,1,5,22780,0,4,4,4,1,4,0,,0,1,0,11,0,0,0,2,2,1,208,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,143,125,36,33,30,28,92,36,122,34,125,109,139,125,29,30,125,111,107,133,180,183,76,72,94,111,214,154,157,91,199,188,241,167,82,114,205,270,183,148,99,104,208,258,189,157,116,196,103,162,102,87,118,131,209,192,110,105,131,91,32,30,100,131,144,101,25,112,47,97,35,37,44,38,92,111,29,29,28 H,681470,8,100,4,16,1015675,345,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,323,98,578,505,359,345,340,105,361,503,350,564,526,104,349,102,342,337,116,387,381,115,557,552,356,359,334,93,307,574,311,590,666,117,384,90,360,371,106,355,338,98,518,557,372,403,379,108,491,588,381,613,596,106,367,114,315,408,105,323,320,100,629,564,345,340,341,102,282,533,323,473,545,103,368,97,289,364,117,367 H,681816,8,100,4,16,1015675,140,2,1,,,2,9,,,40,0,10,3,3,,1,,,,,,1,3,2,240,,2,3,,,2,2,5,,,,281,16,1,7,20900,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,132,141,47,163,179,180,132,44,119,132,217,267,38,44,287,120,37,250,230,146,164,157,40,122,132,144,143,42,139,122,247,224,36,53,239,118,46,248,241,124,146,140,229,133,139,140,136,245,147,139,44,42,208,261,42,118,268,49,47,143,136,140,260,146,141,160,135,298,138,132,54,42,183,226,50,139,219,40,39,146 H,681901,8,200,4,16,1015675,68,1,1,1,,4,2,2,,70,0,2,20,1,360,1,,,,,3,1,9,,,,1,2,,14,2,590,5,,,,,,1,6,88200,0,4,4,4,1,5,0,,0,0,0,4,0,0,0,0,0,1,279,,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,75,128,83,81,104,84,17,114,134,22,67,70,17,63,19,95,59,63,83,21,61,19,85,64,22,75,120,16,16,111,51,71,109,57,151,54,70,66,173,23,73,15,59,66,22,76,101,21,18,116,69,59,103,70,95,77,60,59,18,138,71,100,68,61,156,77,21,114,104,29,55,72,22,54,22,50,81,72,26 H,682131,8,800,4,16,1015675,340,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,330,592,325,353,311,103,350,99,335,377,110,307,541,104,98,544,329,352,535,125,329,131,345,381,343,483,371,480,333,338,530,325,95,614,516,114,328,331,109,104,331,98,323,347,265,561,352,626,342,370,614,324,104,583,512,113,339,371,96,544,331,670,393,324,300,100,391,115,331,302,113,344,576,83,96,641,326,355,526,643 H,682237,8,800,4,16,1015675,37,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,12,64,40,10,11,41,39,38,43,41,59,36,11,64,37,63,40,10,14,38,86,11,43,66,53,42,30,37,39,35,11,36,69,10,43,11,37,72,69,37,11,62,39,8,11,39,42,38,41,39,62,39,12,58,44,66,42,12,11,36,74,14,36,58,66,43,44,39,34,44,12,38,56,11,42,11,40,59,72 H,682327,8,200,4,16,1015675,77,4,1,1,,3,1,2,,70,0,2,3,6,0,1,190,,,,3,1,4,,,,1,2,,1,4,270,5,1,44750,2,,,1,1,44750,0,2,2,2,1,5,1,4,0,0,1,3,0,0,1,0,0,2,125,,0,0,5,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,24,66,19,90,85,24,73,128,24,19,125,67,89,161,86,127,80,94,18,65,140,68,112,85,73,119,82,23,122,162,25,67,73,27,105,26,79,65,21,85,154,75,146,70,69,129,67,21,127,155,24,73,96,26,80,23,65,69,156,88,27,62,26,70,62,28,83,129,19,18,112,79,82,123,74,125,78,76,113 H,682465,8,500,4,16,1015675,121,3,1,1,,2,3,2,,90,0,2,3,3,,1,,,,,,1,6,2,490,,1,3,,,2,1,6,7,32000,1,580,13,5,3,52000,0,1,1,1,1,3,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,187,181,118,206,35,107,137,113,37,105,235,103,29,36,133,138,34,201,122,115,194,224,128,186,37,116,130,130,41,126,205,128,37,36,131,124,35,221,119,134,30,39,119,37,222,135,115,125,229,128,35,116,176,200,129,131,226,45,109,107,38,31,115,35,205,125,113,113,218,127,34,126,165,177,122,124,233,30,122 H,682533,8,500,4,16,1015675,135,3,1,1,,3,2,2,,80,0,800,3,4,440,1,,1,840,1,1,1,7,,,,1,1,,15,3,2,5,4,90000,4,,,2,1,90000,0,4,4,4,1,4,0,3,0,0,0,13,0,0,0,2,2,1,987,3,0,1,24,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,254,145,126,132,233,47,247,119,43,46,39,123,221,38,149,120,121,143,268,141,116,219,246,41,129,131,134,40,122,125,121,248,143,151,39,196,36,38,187,32,42,120,124,133,44,252,36,142,248,226,221,137,39,212,128,115,148,151,33,122,147,39,41,235,135,137,123,246,142,126,150,35,150,116,215,46,231,216,125 H,682676,8,300,4,16,1015675,86,2,1,1,,3,2,2,,60,0,1100,90,1,540,1,,,,,3,1,5,,,,1,2,,15,2,140,8,2,36300,4,,,1,1,36300,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,1,381,,0,1,21,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,83,27,24,86,159,19,144,74,84,88,74,84,78,23,178,77,117,161,87,99,168,79,78,142,101,72,68,151,30,25,24,30,168,78,86,25,149,73,137,22,76,167,167,95,26,131,28,73,79,125,77,67,91,151,22,79,110,23,68,85,30,87,87,29,74,88,97,23,134,124,141,148,27,93,107,171,26,83,31 H,683105,8,600,4,16,1015675,98,1,1,,,2,6,,,80,600,2,3,3,,1,,,,,,1,4,2,180,,1,3,,,1,1,4,,,,260,36,1,6,8600,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,176,28,161,160,88,99,34,29,168,94,103,97,162,89,105,92,29,105,95,155,33,178,26,31,101,102,170,171,30,112,92,92,25,95,103,99,187,113,97,150,26,183,33,28,95,100,179,173,32,114,99,98,31,101,87,108,181,98,100,30,166,26,173,147,93,89,30,30,174,91,90,92,177,110,96,96,30,97,109,28 H,683110,8,300,4,16,1015675,93,2,1,1,,3,2,2,,70,0,2,80,1,360,1,,,,,3,1,6,,,,1,2,,16,1,50,4,4,41100,4,,,1,1,41100,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,1,0,1,267,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,93,25,25,107,117,26,168,88,122,108,99,88,93,25,144,102,94,198,108,85,162,99,111,173,89,87,94,144,27,23,26,26,165,88,103,31,140,90,29,184,100,25,30,92,176,32,146,91,99,102,90,92,94,25,159,88,80,141,96,89,151,93,90,183,89,82,97,172,39,27,27,27,156,98,81,27,135,83,26 H,683245,8,600,4,16,1015675,134,1,1,,,2,8,,,70,0,2,3,3,,1,,,,,,1,4,2,580,,1,3,,,1,1,3,,,,650,28,1,6,28000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,139,37,200,225,53,30,283,148,134,224,135,196,186,108,125,31,130,39,37,145,132,175,145,49,232,211,62,111,114,48,103,60,224,111,132,236,178,198,51,155,109,160,197,40,276,193,54,111,115,34,125,55,194,139,152,194,172,218,210,112,168,42,132,233,39,30,267,130,113,299,136,214,181,106,138,50,149,34,246 H,683255,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,683538,8,600,4,16,1015675,94,5,1,2,1,3,2,2,,90,0,2,20,1,480,1,,1,1300,1,1,1,5,,,320,1,1,,20,4,70,5,1,72000,3,,,1,1,72000,0,3,3,3,1,4,3,5,0,0,3,29,0,0,1,0,0,1,1736,1,0,1,32,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,29,93,175,96,27,28,92,98,30,151,104,160,164,95,152,26,89,96,93,93,26,91,164,87,28,29,94,92,27,168,96,173,161,87,152,27,99,90,91,97,167,96,26,92,167,157,89,93,166,26,95,29,28,94,28,169,90,98,97,100,163,89,28,89,150,169,90,95,150,27,100,30,27,97,27,158,106,95,89 H,683689,8,600,4,16,1015675,98,1,1,1,,2,2,2,,50,0,250,50,1,300,1,,1,610,1,1,1,4,,,,1,1,,15,1,600,8,,,,,,1,6,37000,0,4,4,4,1,3,0,,0,0,0,25,0,0,0,0,0,1,781,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,173,157,156,161,32,99,95,165,27,100,98,28,98,120,32,93,101,91,102,31,168,157,172,163,27,90,91,163,30,105,87,26,103,109,30,85,99,98,84,30,157,178,166,166,27,98,92,171,32,94,97,30,105,108,31,99,96,102,95,32,145,186,160,155,28,93,100,155,28,97,89,37,106,103,30,89,98,106,108 H,683787,8,200,4,16,1015675,17,2,1,1,,2,1,2,,70,0,2,3,3,300,1,0,,,,3,1,5,,,,1,2,,6,3,420,5,,,,,,1,5,24000,0,4,4,4,1,7,0,,0,1,0,9,2,0,0,1,1,2,188,,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,23,22,7,27,27,20,16,7,20,22,15,17,5,24,19,35,46,18,5,5,28,15,7,31,23,16,22,7,21,20,15,12,5,18,17,26,32,16,5,6,29,19,5,32,36,19,18,7,21,19,15,15,5,19,17,30,41,16,4,5,30,13,5,29,31,26,22,7,22,19,15,11,5,25,17,35,39,14 H,683799,8,900,4,16,1015675,229,3,1,1,,3,2,2,,200,0,2,3,3,,1,,,,,,1,6,2,750,,1,3,,,2,550,4,5,15230,4,996,44,2,2,27230,0,4,4,4,1,3,0,2,0,1,0,,0,0,0,0,0,2,,,1,0,,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,189,199,83,74,323,75,239,187,367,322,316,301,266,83,372,224,98,227,330,152,310,282,188,258,306,271,111,286,301,199,288,92,287,239,178,66,226,75,182,266,176,224,255,253,110,378,228,180,86,90,82,220,337,390,91,237,277,260,108,376,73,86,231,205,228,207,332,77,274,232,232,378,94,228,272,284,207,351,203 H,683921,8,600,4,16,1015675,78,1,1,,,2,4,,,70,0,2,160,1,,1,,,,,,1,3,2,650,,2,3,,,1,50,7,,,,884,101,1,6,9400,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,23,129,22,71,68,133,138,124,80,77,23,131,75,23,79,75,83,78,20,130,81,69,78,23,123,80,81,83,23,137,77,87,23,84,24,20,128,127,83,83,23,138,20,74,83,130,127,118,73,76,23,142,77,22,79,86,80,80,25,127,75,83,81,23,123,70,78,72,22,142,75,75,23,75,22,25,134,138,78,80 H,683926,8,300,4,16,1015675,56,2,1,1,,4,2,2,,100,0,2,120,1,440,1,,1,950,1,1,1,9,,,,1,1,,14,3,360,9,7,58000,4,,,1,3,58000,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,0,0,1,1200,3,0,1,22,2,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,118,18,52,63,113,17,50,56,14,48,58,17,51,55,50,15,98,105,19,49,59,70,15,87,51,56,93,92,57,15,16,68,89,15,95,59,57,60,48,16,17,109,54,57,17,84,60,50,84,57,48,100,68,56,61,91,18,16,86,54,55,55,109,17,51,58,18,18,55,102,92,67,17,87,18,58,50,47,55 H,684494,8,500,4,16,1015675,90,2,1,1,,3,2,2,,90,0,2,3,3,250,1,,1,600,1,1,1,5,,,,1,1,,12,3,40,5,,,,,,1,5,57000,0,4,4,4,1,3,0,,0,1,0,15,2,0,0,0,0,1,693,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,153,80,32,137,154,31,89,90,28,88,29,91,86,91,124,88,148,76,142,88,24,90,171,28,29,180,91,109,169,92,187,90,104,81,27,108,25,89,147,78,26,102,138,25,34,139,88,87,185,77,135,88,93,91,26,89,28,88,31,86,154,101,26,139,149,26,112,98,27,90,29,96,90,86,145,89,155,112,25 H,684563,8,900,4,16,1015675,108,2,1,3,1,2,2,2,,100,0,2,3,3,1200,1,,2,1400,2,1,1,5,,,,1,1,,19,2,2,2,2,20000,4,,,1,1,20000,0,4,4,4,1,4,0,2,0,0,0,100,0,0,0,1,0,1,1667,3,0,0,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,192,28,192,194,102,113,32,32,196,118,96,106,186,95,105,93,35,145,105,162,105,104,95,110,34,33,97,115,115,33,179,33,111,168,157,171,104,37,177,99,30,208,29,28,108,127,202,196,30,119,103,100,28,116,109,102,190,99,125,28,112,91,93,115,189,192,114,120,122,158,33,159,106,29,36,41,129,186,35 H,684724,8,400,4,16,1015675,32,2,1,1,,3,2,2,,70,0,450,3,6,400,1,,2,570,2,1,1,6,,,,1,1,,13,2,400,5,,,,,,2,7,38600,0,4,4,4,1,7,0,,0,1,0,26,3,0,0,0,0,1,848,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,27,39,59,36,44,13,10,45,45,16,25,61,12,8,36,36,75,29,24,30,28,46,69,23,32,8,13,42,26,17,39,41,7,9,36,38,86,23,23,33,30,35,64,36,53,11,10,45,35,16,22,42,6,7,34,32,67,23,33,35,20,31,65,30,52,14,9,48,36,14,29,62,10,8,33,37,74,29,25,30 H,685053,8,700,4,16,1015675,117,5,1,1,,3,2,2,,50,0,200,50,1,1000,1,,1,1000,1,1,1,7,,,500,1,1,,19,3,1500,4,1,79500,3,,,1,1,79500,0,3,3,3,1,3,3,5,0,0,3,26,0,0,1,0,0,1,1742,1,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,31,117,115,34,135,205,195,181,142,105,118,119,115,34,31,33,125,213,183,114,32,118,112,35,113,190,210,204,127,110,130,125,111,37,35,34,118,209,35,124,225,113,121,187,102,38,33,37,108,119,119,120,116,180,192,200,109,35,37,117,208,119,119,189,113,37,34,34,110,115,128,124,112,179,183,198,130,31,194 H,685169,8,700,4,16,1015675,105,5,1,1,,3,2,2,,50,0,2,110,1,600,1,,1,680,1,1,1,6,,,,1,1,,14,2,550,3,2,38000,3,,,1,1,38000,0,3,3,3,1,4,3,5,0,0,3,28,0,0,1,0,0,1,886,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,111,100,102,118,97,32,105,165,28,107,32,109,187,94,172,36,103,204,202,31,111,104,106,98,115,186,109,30,173,112,168,97,32,112,32,180,103,32,32,167,106,116,114,112,100,32,98,191,36,103,33,108,176,106,187,28,96,177,176,31,108,106,119,105,95,171,112,31,184,113,173,99,32,111,30,187,108,26,32 H,685406,8,300,4,16,1015675,64,2,1,1,,3,2,2,,40,0,2,20,1,300,1,,1,830,1,1,1,5,,,,1,1,,15,2,300,2,1,54000,4,,,1,1,54000,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,2,915,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,114,66,18,20,20,57,53,56,57,78,108,118,124,71,19,62,113,63,61,89,18,56,95,160,119,87,73,51,59,64,24,18,18,65,99,62,19,60,61,21,119,59,15,22,20,66,66,66,76,56,114,101,110,51,19,71,120,67,49,99,20,63,112,90,94,67,59,57,63,73,22,22,19,63,129,49,18,64,65,21 H,685561,8,600,4,16,1015675,109,4,1,1,,3,2,2,,70,0,2,30,1,200,1,,1,1100,1,1,1,5,,,220,1,1,,18,3,30,3,1,114000,2,,,1,1,114000,0,2,2,2,1,5,1,4,0,0,1,15,0,0,1,0,0,1,1423,2,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,32,120,34,165,117,116,96,173,103,30,119,175,172,101,113,178,30,120,101,31,31,106,33,191,112,108,112,187,123,32,103,189,182,116,120,181,32,106,108,174,184,117,210,30,116,107,105,30,107,174,114,28,31,102,112,31,185,120,111,180,170,116,182,33,119,98,115,34,111,181,116,34,29,109,100,32,184,106,102 H,685722,8,900,4,16,1015675,86,3,1,,,3,6,,,40,0,2,60,1,,1,,,,,,1,6,2,410,,1,3,,,2,1,3,1,28200,1,510,22,1,1,28200,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,159,69,171,112,74,111,26,73,121,147,24,73,122,77,26,29,144,78,85,110,20,91,30,34,76,33,156,102,78,66,170,99,31,108,122,142,66,76,102,146,28,86,19,36,114,24,131,85,89,83,184,87,30,91,152,134,60,99,84,25,171,68,181,113,85,174,26,88,103,117,25,71,111,75,29,25,88,85,78 H,685833,8,300,4,16,1015675,76,3,1,2,1,5,2,2,,140,0,2,50,1,2400,1,,1,1600,1,1,1,9,,,2700,1,1,,21,3,140,4,2,90700,4,,,2,1,90700,0,4,4,4,1,5,0,3,0,0,0,60,0,0,0,0,0,1,4502,2,0,1,34,2,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,62,67,138,110,135,81,103,54,18,68,29,85,111,33,46,128,19,21,24,20,74,73,30,82,19,67,62,86,135,66,138,52,111,241,78,23,145,130,153,165,69,103,91,62,184,72,120,49,22,105,20,74,99,23,95,154,15,19,23,19,54,66,40,80,24,69,71,100,129,99,118,78,62,156,79,21,171,157,82 H,685986,8,400,4,16,1015675,85,1,1,,,2,6,,,30,0,2,70,1,,1,,,,,,1,5,2,400,,1,3,,,1,1,2,,,,500,40,1,6,15000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,74,83,71,76,26,93,106,198,130,22,22,151,78,25,115,126,96,77,66,139,94,83,87,114,194,79,88,24,27,159,151,28,82,133,30,35,92,61,74,31,102,96,102,79,21,92,83,143,145,24,29,129,99,32,142,146,106,98,88,175,65,76,84,74,131,82,74,26,22,167,141,26,63,103,23,23,73,106,73 H,686000,8,800,4,16,1015675,69,2,1,1,,3,2,2,,100,0,2,150,1,300,1,,1,700,1,1,1,5,,,,1,1,,12,2,600,6,1,50000,4,,,1,1,50000,0,4,4,4,1,2,0,2,0,0,0,24,0,0,0,0,0,1,1000,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,64,73,15,62,67,136,22,123,94,53,84,20,17,116,52,89,76,113,114,77,82,55,114,81,81,27,135,17,21,65,66,167,119,16,79,65,97,24,101,79,66,68,142,61,49,20,119,22,26,57,71,94,147,23,61,70,54,22,16,76,54,77,19,61,69,102,24,101,137,68,64,25,21,124,92,92,75,165,24 H,686271,8,700,4,16,1015675,105,5,1,1,,3,2,2,,100,0,2,160,1,500,1,,1,430,1,1,1,5,,,120,1,1,,15,3,40,4,1,64300,2,,,1,1,64300,0,2,2,2,1,5,3,5,0,0,3,15,0,0,1,0,0,1,813,2,0,1,22,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,105,101,175,105,30,34,30,100,101,107,97,112,179,163,188,113,30,113,32,179,110,108,175,92,29,34,33,92,105,108,106,105,179,186,202,100,30,107,181,32,98,113,32,110,164,185,203,105,124,101,110,102,28,31,30,99,157,111,190,29,109,106,32,109,174,171,183,113,108,114,99,97,30,29,30,105,189,110,30 H,686482,8,200,4,16,1015675,84,1,1,1,,3,2,2,,240,0,2,3,3,1000,1,,1,1000,2,1,1,7,,,,1,1,,21,1,2,5,,,,,,1,6,13600,0,4,4,4,1,5,0,,0,0,0,101,0,0,0,0,0,2,1457,3,0,1,38,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,73,122,175,30,26,171,95,22,131,163,88,95,27,66,81,82,71,28,64,76,75,24,23,123,112,25,98,141,23,26,81,85,147,91,85,72,91,174,92,93,71,117,127,28,30,152,94,22,139,136,95,72,24,62,70,111,59,24,81,71,96,27,29,134,125,24,85,125,26,23,101,99,193,77,86,86,97,148,106 H,686538,8,400,4,16,1015675,68,2,1,1,,2,2,2,,50,0,2,3,6,2000,1,,2,780,2,1,1,5,,,,1,1,,18,3,250,5,1,74000,4,,,1,1,74000,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,0,0,1,1076,3,0,1,16,2,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,70,125,67,87,106,67,25,14,22,66,48,64,65,48,86,161,124,70,32,22,76,132,71,69,90,63,25,14,26,68,57,85,81,56,91,132,113,94,32,20,69,171,55,80,88,48,22,10,19,64,53,76,105,60,112,132,85,56,24,31,79,172,80,65,116,67,22,17,24,72,54,74,99,52,109,135,94,57,32 H,686584,8,700,4,16,1015675,70,6,1,2,1,5,2,2,,80,0,300,30,1,600,1,,1,1700,1,1,1,7,,,,1,1,,19,6,2,4,5,79600,2,,,2,2,116800,1,2,4,2,1,5,0,4,0,1,1,19,0,1,1,1,1,2,1835,3,0,1,26,3,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,79,111,75,120,22,60,96,121,78,82,83,60,102,22,67,124,17,63,25,18,73,142,61,90,20,81,142,123,82,82,70,71,70,15,60,143,25,58,78,135,91,18,79,24,109,67,18,22,66,77,72,90,106,111,61,22,99,65,116,118,76,24,62,17,109,74,26,36,58,64,76,76,65,97,73,25,147,57,22 H,686823,8,200,4,16,1015675,35,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,47,38,9,38,13,54,61,32,36,33,13,28,64,40,54,58,8,35,36,78,28,36,58,31,68,10,10,30,36,27,56,35,9,45,9,10,67,36,34,66,42,41,66,38,64,11,13,32,36,37,62,28,11,36,9,13,52,26,47,14,30,33,9,33,15,51,61,31,33,25,11,31,55,48,60,65,12,34,40 H,686840,8,200,4,16,1015675,38,1,1,1,,1,2,2,,80,0,1800,3,4,110,1,,1,200,1,1,1,4,,,,1,1,,9,3,2,9,,,,,,3,6,38040,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,0,0,1,430,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,46,71,32,35,57,38,12,10,12,36,35,31,42,36,78,57,57,63,16,12,55,56,38,49,70,40,12,12,9,37,29,32,49,34,58,54,66,46,11,15,28,92,48,36,62,41,8,9,10,38,42,46,30,31,69,80,42,34,10,12,36,63,42,45,65,40,12,10,14,40,51,59,36,35,62,76,68,37,12 H,687060,8,300,4,16,1015675,113,4,1,1,,3,2,2,,70,0,500,3,6,1000,1,,1,350,1,1,1,6,,,,1,1,,14,2,330,5,3,16000,2,,,1,1,16000,0,2,2,2,1,4,2,4,0,0,2,37,0,0,1,0,0,1,490,3,0,1,17,1,6,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,30,87,162,107,123,127,193,137,183,27,104,41,114,113,103,36,42,179,79,186,98,36,98,35,33,197,131,167,99,117,211,95,205,33,33,150,117,146,33,124,203,107,35,123,117,112,35,101,34,155,104,181,109,96,120,212,192,39,96,38,121,223,96,167,230,43,112,32,115,98,32,100,28,172,201,124,108,127,153 H,687252,8,600,4,16,1015675,352,3,1,1,,2,3,2,,50,2500,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,1,5,5,19600,2,600,37,2,2,19600,0,2,2,2,1,4,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,314,100,657,108,98,351,339,615,622,112,334,345,356,110,357,363,318,590,340,100,359,605,94,603,604,339,360,96,109,606,353,373,360,642,352,342,355,119,353,571,353,111,596,100,111,366,345,565,669,106,336,387,343,100,332,352,372,592,427,103,338,531,99,605,579,357,356,98,107,573,376,383,364,569,385,328,316,112,340,609 H,687541,8,500,4,16,1015675,60,1,1,1,,2,2,2,,50,900,2,200,8,,1,,,,,,1,4,,,,1,4,,,0,2,9,,,,,,1,6,9300,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,53,20,16,103,18,61,53,101,91,117,60,73,14,99,54,20,60,56,65,124,91,57,63,56,50,16,88,68,71,62,20,117,66,54,19,66,16,16,97,62,58,95,95,18,108,61,56,18,19,22,69,62,96,15,54,109,58,66,65,13,18,59,59,66,63,99,17,55,55,68,101,20,58,51,99,59,103,113,15,58 H,687675,8,300,4,16,1015675,84,3,1,1,,3,2,2,,40,0,2,40,1,450,1,,1,740,1,1,1,9,,,,1,1,,16,2,40,2,1,82200,2,,,2,1,82200,0,2,2,2,1,3,1,3,0,0,1,12,0,0,1,0,0,1,823,3,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,140,143,69,83,34,79,82,86,90,28,97,70,143,143,24,25,144,76,24,93,176,150,86,77,22,97,79,111,88,23,84,68,165,126,28,22,143,85,26,91,137,139,99,86,23,66,85,88,88,27,80,100,133,129,31,25,167,81,28,96,137,122,86,72,25,99,96,94,78,23,104,78,145,152,27,24,126,87,25,90 H,687879,8,100,4,16,1015675,140,4,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,3,1,4,2,37000,1,580,19,1,1,37000,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,38,44,276,47,153,121,248,223,217,145,145,51,305,149,35,129,145,118,257,284,174,152,122,115,46,210,120,150,138,42,202,136,172,39,118,41,49,237,137,133,41,37,201,39,144,152,262,252,231,146,132,34,232,137,42,163,136,152,226,253,137,150,148,133,45,256,192,138,141,50,247,119,124,57,141,35,42,219,119 H,688049,8,100,4,16,1015675,88,2,1,3,1,3,2,2,,90,0,1300,10,2,600,1,,,,,3,1,7,,,,1,2,,20,2,150,5,4,69200,4,,,1,1,69200,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,2,1,1,386,,0,0,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,98,99,29,94,84,157,164,27,24,150,97,22,142,163,82,83,28,108,90,94,90,87,25,87,85,119,135,23,26,160,88,29,158,165,81,78,30,79,86,86,99,97,151,87,98,25,27,163,154,25,86,126,27,27,92,88,140,98,108,87,76,82,154,91,89,25,23,145,157,26,94,154,25,27,89,92,144,89,82 H,688239,8,500,4,16,1015675,52,5,1,1,,3,2,2,,60,0,2,60,1,,1,,,,,,1,5,2,770,,1,3,,,2,540,3,1,65060,2,935,17,1,1,65060,0,2,2,2,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,52,56,57,49,47,101,49,17,85,51,90,54,17,60,17,88,49,94,17,13,48,51,56,57,51,101,59,15,85,55,106,53,13,54,15,94,49,94,16,17,53,53,46,58,48,97,49,14,96,55,85,55,13,59,16,93,53,82,17,13,50,65,52,45,56,85,60,16,85,68,100,49,17,54,14,95,54,102 H,688298,8,400,4,16,1015675,29,0,1,1,,0,2,2,,,,,,,,1,,,,,,1,1,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,50,9,9,28,31,48,31,34,27,32,57,29,30,6,6,51,60,9,30,31,52,9,8,29,33,58,31,30,31,37,50,28,31,8,9,52,58,10,32,35,43,7,10,31,31,66,38,34,24,34,49,29,30,11,11,47,51,8,31,29,53,7,13,34,25,57,32,31,31,28,58,27,26,10,8,60,55,10,34,35 H,688432,8,100,4,16,1015675,128,3,1,1,,4,2,2,,30,2200,2,80,1,300,1,,1,750,1,1,1,6,,,,1,1,,16,3,720,3,,,,,,1,5,46100,0,1,4,4,1,3,0,,0,1,0,24,2,0,1,0,0,2,920,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,126,40,266,150,148,161,235,124,40,133,198,244,133,112,206,30,97,41,40,146,152,43,227,128,127,115,187,109,35,117,249,240,110,136,244,34,113,46,33,154,131,227,42,102,116,115,39,140,255,114,40,32,122,137,40,235,123,229,261,156,119,247,32,139,149,106,50,131,208,136,37,35,145,139,35,208,141,191,205,128 H,688561,8,200,4,16,1015675,121,3,1,3,2,3,2,2,,110,0,2,60,2,710,1,,1,1000,1,1,1,9,,,,1,1,,20,2,2,5,1,166140,2,,,1,1,166140,0,2,2,2,1,5,1,3,0,0,1,8,0,0,1,0,0,1,1170,3,0,0,37,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,97,104,138,209,165,247,158,27,125,131,170,112,182,161,31,45,41,191,217,88,167,245,72,36,47,25,123,262,135,58,127,120,41,122,197,133,191,96,34,89,109,139,107,168,255,227,115,40,124,216,130,124,210,103,33,35,48,126,178,148,128,101,143,39,28,38,119,181,127,35,133,112,29,171,239,206,231,131,24 H,688997,8,300,4,16,1015675,109,2,1,,,4,4,,,110,0,2,3,3,1200,1,,1,950,1,1,1,9,,,,1,1,,16,2,900,5,1,24000,4,,,1,1,24000,0,4,4,4,1,1,0,2,0,0,0,57,0,0,0,0,0,1,1135,3,0,0,18,1,6,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,199,118,148,132,116,149,110,80,38,32,174,131,51,151,144,37,40,116,86,109,170,104,123,131,108,208,96,77,25,28,190,171,26,201,216,30,28,113,99,85,160,115,81,81,111,264,129,143,30,37,192,244,31,108,259,28,31,122,145,115,166,148,80,90,143,159,103,170,42,37,152,205,27,64,183,40,32,109,114 H,689194,8,500,4,16,1015675,53,2,1,1,,3,1,2,,60,0,2,50,1,450,1,0,,,,3,1,5,,,,1,2,,11,2,300,4,,,,,,1,7,19800,0,4,4,4,1,5,0,,0,1,0,10,0,0,0,2,1,2,173,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,94,84,54,58,57,47,55,14,57,90,16,51,13,48,88,44,89,16,18,50,92,96,54,53,49,49,57,16,61,98,18,49,15,53,98,53,83,15,86,55,15,14,55,59,51,53,46,86,61,16,95,56,75,51,18,54,17,98,82,47,17,15,52,50,51,51,52,89,64,18,90,52,89,50,17,51,17,75,15 H,689407,8,500,4,16,1015675,257,1,1,,,0,9,,,1,0,2,3,3,,2,,,,,,1,1,1,350,,1,3,,,0,1,4,,,,350,32,1,6,13200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,394,84,248,419,425,266,249,238,214,273,74,270,434,84,251,83,284,392,239,97,411,77,290,429,355,236,227,254,283,237,72,270,477,81,265,96,217,414,278,466,80,424,267,92,81,255,246,272,273,261,482,262,76,427,236,422,246,80,264,366,80,442,224,73,100,275,257,222,216,266,407,267,72,419,259,405,274,76,221,77 H,689509,8,500,4,16,1015675,110,3,1,,,2,5,,,180,0,2,3,3,,1,,,,,,1,4,2,360,,2,3,,,2,1,2,7,41800,4,540,16,2,3,41800,0,4,4,4,1,3,0,3,0,0,0,,0,0,0,0,0,2,,,1,0,,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,137,101,39,41,88,102,111,100,124,159,129,39,162,99,138,138,34,121,47,41,47,128,170,173,97,119,127,140,92,52,101,133,49,91,29,106,160,153,156,35,50,95,135,138,145,98,129,118,110,36,127,150,47,102,44,113,144,112,169,185,150,95,52,31,114,156,103,108,108,153,102,54,164,123,174,94,43,89,38,169 H,689773,8,300,4,16,1015675,53,2,1,1,,3,2,2,,70,0,2,3,3,500,1,,,,,3,1,7,,,,1,2,,17,1,900,5,1,76500,4,,,1,1,76500,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,0,2,312,,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,15,97,47,16,122,101,81,98,22,53,62,35,49,16,51,54,82,88,45,80,95,12,44,86,13,28,58,64,138,52,59,36,28,71,52,53,26,17,89,17,17,87,68,18,110,120,63,57,15,51,56,39,59,27,42,44,122,87,78,53,65,13,36,70,17,20,51,89,95,33,49,65,55,59,42,71,16,10,54 H,689927,8,600,4,16,1015675,124,2,1,1,,1,2,2,,120,0,2,3,3,230,1,,1,250,1,1,1,5,,,,1,1,,16,2,240,9,4,38000,4,,,1,1,38000,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,2,1,390,3,0,1,34,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,131,127,206,39,99,120,37,124,126,39,118,113,122,31,213,246,203,219,34,117,129,122,219,33,132,126,37,116,125,35,108,134,131,37,222,206,216,218,42,129,120,131,233,34,122,116,36,124,137,35,124,121,127,32,205,237,206,234,39,118,117,115,207,33,119,125,35,117,133,36,114,127,123,35,213,212,212,229,36,125 H,689964,8,300,4,16,1015675,54,2,1,1,,3,2,2,,70,0,600,20,1,680,1,,,,,3,1,8,,,,1,2,,14,4,720,7,4,12000,4,,,1,1,12000,0,4,4,4,1,7,0,2,0,0,0,33,0,0,0,2,0,1,330,,0,1,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,66,43,44,87,49,103,75,54,88,49,13,94,94,12,50,53,21,58,113,96,56,42,45,16,59,15,50,52,16,71,136,18,13,91,52,57,102,53,116,70,56,54,49,17,44,16,61,45,13,52,89,18,18,95,51,52,99,56,16,20,62,53,51,104,69,119,62,55,94,61,12,80,73,13,42,47,15,65,21 H,690115,8,900,4,16,1015675,88,1,1,2,1,2,2,2,,20,0,2,100,1,300,1,,,,,3,1,4,,,,1,2,,12,2,30,3,,,,,,1,4,96500,0,4,4,4,1,4,0,,0,0,0,3,0,0,0,0,0,1,227,,0,1,21,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,25,30,148,77,131,80,94,118,110,127,22,29,70,65,94,177,89,25,70,90,25,27,119,70,159,103,112,149,102,152,28,25,82,114,103,155,85,26,86,84,21,25,126,83,129,73,87,115,88,178,28,26,117,92,98,174,85,29,95,101,25,31,170,87,123,85,103,134,81,146,25,25,73,77,94,151,88,29,84 H,690465,8,200,4,16,1015675,99,6,1,3,1,3,2,2,,100,0,2,80,2,800,1,,,,,3,1,6,,,,1,2,,20,3,2,2,2,57400,3,,,1,1,57400,0,3,3,3,1,3,3,6,0,0,3,10,0,0,1,0,0,2,472,,0,0,39,3,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,25,25,190,122,165,93,104,151,119,229,35,23,91,102,89,192,125,35,114,124,29,31,210,99,145,87,99,123,77,192,31,25,89,84,64,121,100,37,100,120,34,29,145,96,198,95,86,148,126,260,34,27,89,72,97,168,125,42,103,113,35,32,162,100,166,76,73,139,79,158,26,29,112,86,88,153,94,34,92 H,690692,8,800,4,16,1015675,22,1,1,1,,1,2,2,,30,0,2,150,1,200,1,,1,270,1,1,1,4,,,,1,1,,6,3,420,9,,,,,,1,4,22000,0,4,4,4,1,3,0,,0,0,0,26,0,0,0,0,0,1,485,3,0,1,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,15,35,43,40,39,22,22,45,38,22,37,38,25,26,24,21,32,23,22,8,23,5,7,8,6,29,27,7,5,20,7,5,19,23,22,18,7,19,22,34,20,34,30,36,43,23,18,41,34,23,31,39,25,23,21,21,30,19,22,8,24,7,8,7,7,27,27,7,7,26,7,5,22,19,24,20,6,23,23 H,690852,8,400,4,16,1015675,79,5,1,2,1,3,2,2,,50,0,2,3,6,500,1,,,,,3,1,5,,,,1,2,,16,3,2,4,2,17000,2,,,1,1,17000,0,2,2,2,1,4,3,5,0,0,3,12,0,0,1,0,0,2,175,,0,1,22,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,26,64,116,83,21,81,91,21,84,132,131,133,88,78,78,80,86,22,144,21,24,77,107,82,25,80,86,23,88,120,112,133,89,87,79,80,83,21,30,119,127,71,18,72,135,87,96,114,81,24,22,25,99,99,80,69,69,136,26,151,115,87,27,67,131,101,90,112,69,25,18,21,75,71,88,78,78,158,170 H,691088,8,300,4,16,1015675,57,3,1,1,,4,2,2,,250,0,2,400,1,950,1,,2,610,2,1,1,9,,,150,1,1,,16,1,1200,7,7,21000,2,,,1,3,21000,0,2,2,2,1,2,2,3,0,0,2,96,0,0,1,0,0,1,1681,2,0,1,23,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,69,59,48,15,66,59,66,57,16,75,49,81,108,20,17,107,47,16,62,17,21,55,55,84,61,51,48,66,104,55,62,18,15,114,88,15,70,79,49,91,135,57,50,22,61,64,60,57,17,60,59,101,81,12,21,110,50,15,59,20,18,58,64,80,48,40,38,54,103,47,64,19,14,113,91,20,76,96,52 H,691136,8,700,4,16,1015675,110,2,1,1,,2,3,2,,40,0,2,50,1,350,1,,,,,3,1,3,,,,1,2,,14,2,360,2,3,56000,4,,,1,1,56000,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,1,0,1,249,,0,1,24,1,3,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,33,104,105,172,35,214,176,107,103,33,30,186,97,108,122,188,106,113,30,115,35,115,113,180,34,214,190,102,122,32,30,183,112,113,126,205,111,115,188,109,176,121,116,34,177,30,34,101,116,188,188,31,109,112,109,31,103,119,202,104,184,128,109,36,218,29,32,118,109,197,187,32,99,101,110,34,114,123,30 H,691446,8,100,4,16,1015675,105,2,1,1,,3,2,2,,50,0,1800,40,6,600,1,,1,900,1,1,1,5,,,,1,1,,18,3,1200,5,,,,,,1,7,22000,0,4,4,4,1,2,0,,0,1,0,68,0,0,0,0,0,1,1240,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,91,169,118,181,169,27,33,95,112,106,101,146,28,106,107,114,174,36,34,105,105,187,122,172,171,29,30,91,114,105,96,159,31,117,85,88,182,32,218,88,101,33,113,36,36,197,172,94,92,92,101,34,175,109,118,102,31,159,144,106,92,31,106,34,29,177,200,89,112,105,96,31,163,96,99,100,28,186,29 H,691841,8,100,4,16,1015675,71,1,1,1,,2,2,2,,140,0,2,3,3,350,1,,,,,3,1,6,,,,1,2,,14,1,120,4,,,,,,1,6,13820,0,4,4,4,1,6,0,,0,0,0,23,0,0,0,1,1,1,262,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,74,71,67,83,72,130,143,128,68,22,71,123,84,67,115,75,23,21,117,93,68,64,68,65,64,22,20,17,68,102,77,21,61,77,22,70,120,126,21,24,68,59,72,63,69,100,109,111,70,22,83,117,63,77,113,58,18,20,140,127,72,72,65,66,62,20,25,20,78,149,69,22,71,78,22,72,109,114,23 H,692003,8,800,4,16,1015675,34,1,1,1,,1,2,2,,20,780,2,110,1,,1,,,,,,1,3,2,420,,1,3,,,1,1,5,,,,550,87,1,6,7620,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,52,51,10,34,12,31,28,12,31,11,53,49,34,26,34,8,31,63,29,30,60,60,12,34,10,41,38,10,41,10,62,60,37,32,28,10,34,66,43,26,55,57,10,34,10,34,36,10,25,11,51,48,37,32,28,8,34,60,33,33,63,56,9,34,12,38,35,9,34,10,52,59,40,30,35,10,37,63,41,31 H,692020,8,700,4,16,1015675,119,2,1,1,,3,2,2,,40,0,2,140,1,380,1,,1,730,1,1,1,8,,,,2,1,,18,2,560,2,1,62000,4,,,1,1,62000,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,0,0,1,957,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,125,34,139,128,114,33,118,39,202,112,189,117,131,120,209,201,35,120,119,126,31,117,39,37,210,123,186,130,130,210,129,184,35,36,103,117,105,206,37,216,115,37,130,118,114,34,107,34,218,115,191,121,118,121,187,238,36,114,102,135,38,116,32,40,204,120,207,118,113,175,113,209,33,35,127,127,122,216,32 H,692178,8,800,4,16,1015675,200,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,205,205,186,287,212,319,169,204,306,176,56,342,446,61,175,231,58,200,61,60,217,206,219,342,205,345,206,218,303,172,57,392,348,49,195,205,68,204,59,54,198,198,212,311,205,289,182,219,314,182,65,338,378,63,199,199,69,208,66,54,179,231,195,297,214,348,214,208,305,193,71,308,323,61,183,241,67,204,80 H,693122,8,900,4,16,1015675,45,2,1,1,,4,2,2,,120,0,500,3,3,410,1,,2,440,2,1,1,8,,,,1,1,,12,3,450,5,4,35960,4,,,1,1,35960,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,2,2,1,761,3,0,1,22,1,8,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,88,60,16,76,75,44,48,12,42,32,35,41,14,37,49,101,103,37,13,17,78,45,16,79,107,55,36,9,35,42,43,46,15,44,51,116,112,51,74,77,17,82,86,10,15,50,37,68,42,41,30,41,92,45,44,13,11,50,66,65,15,67,87,13,17,44,36,63,35,61,53,40,87,42,46,20,16,40 H,693278,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,694036,8,100,4,16,1015675,108,2,1,2,1,3,2,2,,60,0,2,3,6,1000,1,,2,1500,2,1,1,7,,,,1,1,,22,3,2,3,1,54300,4,,,1,1,54300,0,4,4,4,1,5,0,2,0,0,0,44,0,0,0,0,0,2,1985,3,0,1,53,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,112,35,89,181,179,182,117,115,110,116,93,42,38,37,118,185,102,31,103,28,120,165,97,27,37,31,102,120,104,97,140,190,166,230,106,26,94,182,97,166,110,33,105,199,167,205,94,140,148,88,84,30,29,42,124,219,102,34,111,36,108,144,134,37,34,29,105,117,86,119,119,166,160,168,127,35,114,166,109,198 H,694456,8,500,4,16,1015675,116,4,1,1,,3,2,2,,30,0,700,3,8,610,1,,1,680,1,1,1,8,,,,1,1,,17,1,2,7,2,81000,1,,,1,1,81000,0,1,1,1,1,4,2,4,0,0,2,11,0,0,1,0,0,1,768,3,0,1,22,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,96,111,38,40,202,39,122,100,216,195,197,138,125,35,183,114,34,117,189,37,174,204,129,138,126,117,33,210,145,105,134,33,181,110,101,27,114,39,136,114,115,106,32,36,176,35,143,132,177,200,224,120,113,34,218,120,30,115,204,45,198,198,106,94,132,159,31,152,107,122,109,38,183,149,116,32,111,31,117 H,694585,8,400,4,16,1015675,360,2,1,1,,4,2,2,,40,0,50,70,1,200,1,,1,780,1,1,1,6,,,330,1,1,,16,2,600,7,1,60000,4,,,1,1,60000,0,4,4,4,1,1,0,2,0,0,0,25,0,0,0,0,0,2,1274,1,0,1,27,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,478,146,412,391,106,300,479,142,123,527,404,389,467,344,517,338,424,444,132,627,340,127,443,359,86,261,453,88,103,480,337,410,674,374,519,302,343,334,112,560,414,101,429,386,129,315,497,117,133,456,419,386,517,311,524,324,471,392,98,576,281,157,377,332,142,353,652,142,119,561,282,353,507,407,567,318,364,344,77,599 H,694853,8,600,4,16,1015675,123,2,1,1,,4,2,2,,70,0,2,50,1,400,1,,,,,3,1,9,,,,1,2,,18,2,400,5,,,,,,1,5,125900,0,4,4,4,1,6,0,,0,1,0,4,1,0,0,0,0,1,378,,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,127,121,208,201,136,131,135,211,30,221,129,32,33,40,126,208,39,120,133,131,129,117,38,37,112,111,132,35,206,38,121,184,197,214,121,37,216,115,106,117,115,128,35,40,128,118,132,33,227,37,130,204,221,200,116,39,188,129,123,129,107,143,206,206,133,115,127,222,36,195,116,38,39,38,124,205,35,146,128 H,694920,8,100,4,16,1015675,114,1,1,,,2,4,,,100,0,2,3,3,,1,,,,,,1,4,2,520,,1,3,,,1,1,4,,,,620,69,1,6,10800,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,105,103,113,117,99,30,101,186,36,111,37,101,189,122,175,34,120,234,200,37,108,125,142,107,123,213,108,28,214,108,171,116,34,127,25,167,120,35,41,165,120,123,138,114,110,38,106,193,29,107,29,119,173,112,211,33,110,164,187,39,112,102,110,131,118,196,119,32,211,109,185,113,29,106,32,178,112,37,29 H,695526,8,700,4,16,1015675,87,5,1,1,,5,2,2,,80,0,2,40,1,450,1,,1,1400,1,1,1,8,,,,1,1,,18,3,250,3,1,59020,2,,,1,1,59020,0,2,2,2,1,4,2,5,0,0,2,31,0,0,1,0,0,1,1541,3,0,1,37,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,140,81,134,90,88,84,26,99,27,90,81,25,82,163,25,26,158,87,142,86,139,89,152,83,88,98,28,92,26,90,82,28,95,139,25,24,137,96,25,90,27,79,24,91,79,91,139,83,158,88,91,161,86,28,171,146,27,92,25,83,25,96,27,91,82,83,144,74,162,93,82,133,75,25,146,155,27,88,146 H,695683,8,300,4,16,1015675,60,4,1,1,,3,2,2,,60,0,2,80,1,2100,1,,1,810,1,1,1,5,,,370,1,1,,16,2,350,2,1,98000,2,,,1,1,98000,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1349,2,0,1,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,16,58,115,114,72,55,74,61,69,16,61,105,20,55,16,62,89,53,20,114,15,65,89,115,63,57,64,60,74,16,55,121,18,60,17,65,109,53,89,16,105,57,19,20,56,62,62,54,56,102,57,16,99,63,116,59,20,70,124,17,89,56,16,20,68,66,59,60,53,111,53,24,98,56,102,60,20,71,21 H,696138,8,800,4,16,1015675,106,1,1,1,,3,2,2,,210,0,2,3,3,690,1,,,,,3,1,6,,,,1,2,,7,1,40,9,,,,,,1,6,42300,0,4,4,4,1,3,0,,0,0,0,9,0,0,0,1,1,1,303,,0,1,9,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,101,48,32,182,164,37,99,185,31,37,95,111,128,82,129,139,86,162,104,109,105,223,191,32,30,202,120,31,185,245,108,111,37,90,98,116,90,37,107,87,121,153,150,38,44,184,92,32,150,183,128,82,30,101,93,107,119,35,108,113,106,31,27,260,164,30,141,200,28,33,105,102,218,104,134,153,103,212,91,89 H,696464,8,600,4,16,1015675,88,1,1,1,,3,2,2,,20,0,2,4,1,300,1,,,,,3,1,7,,,,1,2,,15,1,120,7,,,,,,1,4,31200,0,4,4,4,1,3,0,,0,0,0,7,0,0,0,1,0,1,181,,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,89,27,87,88,171,89,149,82,171,85,87,25,100,91,23,149,159,27,146,86,136,91,25,163,82,139,87,25,97,25,172,98,25,28,92,91,84,95,96,149,94,147,90,84,26,96,24,93,21,89,88,148,94,91,152,26,24,147,29,87,28,91,152,25,90,29,87,150,90,148,27,90,150,146,92,86,90,87,94 H,697017,8,300,4,16,1015675,79,3,1,,,3,4,,,120,0,2,3,3,600,1,,1,850,1,1,1,6,,,,1,1,,16,3,20,7,5,67100,2,,,1,2,97100,0,2,2,2,1,1,1,2,0,1,1,12,1,0,1,0,0,1,972,3,0,0,24,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,137,70,24,79,80,23,132,95,76,21,96,76,140,90,81,25,119,129,74,23,73,125,86,21,25,79,67,24,119,87,153,128,94,135,32,99,80,76,170,62,23,71,150,84,80,146,23,80,97,121,79,84,27,78,79,128,26,25,67,138,81,23,81,132,137,74,71,131,28,85,22,24,79,27,136,91,72,83,25 H,697027,8,900,4,16,1015675,213,2,1,1,,1,2,2,,100,0,2,3,4,,1,,,,,,1,3,2,400,,1,3,,,2,1,9,1,11000,4,500,55,1,1,11000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,5,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,248,169,208,311,306,259,321,175,49,131,303,188,229,326,215,85,86,95,253,87,249,243,206,181,425,342,202,188,90,246,448,241,269,389,207,66,54,68,264,259,232,186,195,250,81,76,82,199,258,162,45,237,227,66,212,325,422,400,249,373,194,288,221,179,102,88,41,224,348,275,115,239,177,68,186,276,272,331,216,52 H,697338,8,500,4,16,1015675,223,2,1,1,,3,2,2,,100,0,2,70,1,360,1,,1,630,1,1,1,5,,,170,2,1,,12,3,360,2,1,56200,4,,,1,1,56200,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,2,1000,1,0,1,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,399,70,63,256,224,386,219,273,211,239,373,200,210,69,59,348,389,69,217,233,340,69,61,217,225,332,213,216,228,232,333,236,244,76,72,420,334,65,241,236,362,66,62,242,218,384,252,316,192,195,422,223,199,75,77,386,372,63,193,244,359,59,58,206,233,429,277,229,184,202,390,228,234,62,77,396,344,62,201,214 H,697597,8,900,4,16,1015675,96,1,1,3,6,2,2,2,,50,0,600,3,5,0,2,,,,,3,1,4,,,,2,2,,2,2,2,9,,,,,,1,4,22000,0,4,4,4,1,7,0,,0,0,0,5,0,0,0,1,1,2,100,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,112,30,125,92,211,94,33,124,51,117,86,21,38,121,86,132,89,107,134,154,120,32,110,74,173,99,33,105,31,176,71,22,33,116,123,89,93,105,154,162,82,29,131,127,133,97,27,87,30,174,116,48,32,103,142,93,110,128,181,127,55,34,188,104,115,82,31,84,31,171,115,50,20,67,103,81,125,95,122 H,697609,8,800,4,16,1015675,39,2,1,,,2,4,,,30,0,2,3,3,,1,,,,,,1,3,2,280,,1,3,,,2,1,5,,,,310,34,1,7,10800,0,4,4,4,1,4,0,,0,1,0,,0,0,0,2,2,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,50,53,61,11,39,44,91,13,53,42,17,41,55,8,32,42,24,15,67,37,78,65,50,10,60,26,50,11,40,53,12,71,34,18,42,34,40,9,75,52,12,8,18,45,36,45,12,61,33,37,47,48,48,75,37,28,39,48,23,34,14,15,12,60,37,51,13,54,34,33,53,41,47,61,44,66,41,51,12,44 H,698154,8,500,4,16,1015675,72,4,1,1,,3,2,2,,80,0,2,70,1,,1,,,,,,1,5,2,1000,,1,3,,,0,2,1,2,47400,1,1150,29,1,1,47400,0,1,1,1,1,1,1,4,0,0,1,,0,0,1,0,0,1,,,1,0,,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,113,16,70,25,77,50,25,71,20,108,177,64,74,71,20,82,109,68,61,123,152,26,84,16,75,71,21,70,28,150,121,76,69,83,26,65,140,74,66,23,19,127,75,130,82,67,107,76,125,24,24,82,60,74,160,80,25,72,58,21,22,122,78,120,77,81,131,73,148,19,20,73,53,60,111,72,24,59,74 H,698244,8,900,4,16,1015675,80,3,1,1,,3,1,2,,50,0,2,190,2,200,1,0,2,410,2,1,1,6,,,,1,1,,9,3,2,3,1,34001,4,,,2,1,34001,0,4,4,4,1,4,0,3,0,0,0,25,0,0,0,0,0,1,699,3,0,0,9,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,149,94,80,65,21,27,100,32,158,30,132,69,111,128,76,74,71,60,78,171,85,19,187,158,67,90,31,68,73,84,72,24,86,111,127,109,22,19,92,18,90,145,25,28,85,72,131,83,73,67,73,120,90,79,22,24,129,130,157,87,29,83,76,64,127,142,79,139,17,113,18,78,32,25,71,82,99,91,22 H,698313,8,100,4,16,1015675,25,3,1,1,,5,2,2,,120,0,550,3,6,650,1,,2,270,2,1,1,8,,,,1,1,,15,3,720,9,8,65500,4,,,1,3,65500,0,4,4,4,1,7,0,3,0,0,0,11,0,0,0,1,1,2,608,3,0,1,16,2,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,7,45,22,28,29,32,31,5,20,43,40,28,32,32,6,27,6,7,24,23,11,40,25,24,23,52,25,8,22,39,48,29,24,38,8,24,7,7,31,25,7,36,31,23,24,30,26,6,20,36,44,23,23,45,8,33,9,6,29,21,9,42,26,25,24,54,29,7,23,48,46,26,20,43,9,20,9,9,25 H,698616,8,600,4,16,1015675,115,6,1,1,,4,2,2,,100,0,2,100,1,300,1,,1,1100,1,1,1,9,,,,1,1,,20,3,800,4,2,131000,2,,,1,1,131000,0,2,2,2,1,5,4,6,0,0,4,13,0,0,1,0,0,1,1367,3,0,1,42,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,208,200,115,35,211,32,103,125,110,118,113,114,177,33,116,110,37,33,103,33,114,122,35,115,125,128,33,195,213,197,187,35,124,118,228,34,104,123,199,110,200,208,130,33,191,36,117,109,117,116,115,107,194,39,125,103,31,32,118,33,110,137,36,126,132,101,33,192,206,196,197,33,106,115,189,37,121,123,183 H,698681,8,200,4,16,1015675,20,2,1,1,,4,2,2,,60,0,600,100,2,400,1,,2,690,2,1,1,6,,,180,1,1,,15,2,600,4,1,76000,4,,,1,1,76000,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,0,0,1,1246,2,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,36,18,17,17,6,24,44,25,42,51,7,20,5,19,26,7,23,5,24,35,39,26,26,22,7,17,35,27,29,28,7,27,7,19,15,7,22,5,21,40,37,20,24,16,7,22,34,21,35,39,6,19,5,16,25,9,27,8,20,34,39,34,31,25,9,20,39,28,30,24,5,25,9,21,18,6,15,3,17 H,698688,8,100,4,16,1015675,111,2,1,1,,3,2,2,,40,0,350,4,3,390,1,,1,440,1,1,1,6,,,,1,1,,15,2,350,4,1,81910,4,,,1,1,81910,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,1,542,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,120,101,179,38,209,170,103,118,39,27,168,109,96,117,208,99,102,113,109,113,31,181,110,119,128,106,32,33,104,129,115,30,221,29,102,189,160,185,30,32,107,107,176,34,186,192,118,99,34,33,182,113,108,114,211,96,115,126,98,132,33,191,108,94,116,88,39,37,102,129,95,29,211,36,111,171,222,180,38 H,699368,8,900,4,16,1015675,102,2,1,1,,3,2,2,,60,0,50,3,3,280,1,,1,370,1,1,1,5,,,,1,1,,12,3,360,5,1,37000,4,,,1,1,37000,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,1,464,3,0,1,13,2,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,159,89,154,104,26,95,32,137,116,32,35,117,95,100,84,89,186,115,142,33,187,102,192,94,30,95,25,164,88,27,26,102,100,119,117,97,194,98,167,30,182,91,183,133,37,120,33,194,107,32,29,94,71,101,100,84,143,77,197,32,160,108,135,100,40,88,26,147,102,26,27,133,116,91,121,82,169,122,200 H,699778,8,200,4,16,1015675,55,0,1,1,,2,2,2,,,,,,,,1,,,,,,2,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,71,68,53,19,77,105,59,51,122,51,19,14,14,67,55,47,72,84,109,18,15,17,70,86,41,14,50,58,18,56,80,98,105,58,50,51,50,46,92,16,20,17,68,95,45,17,57,51,16,48,90,99,114,58,46,61,59,45,15,127,96,86,51,18,64,77,48,50,89,54,16,17,18,54,49,43,57,67,13 H,699960,8,200,4,16,1015675,121,2,1,1,,3,2,2,,80,0,540,150,3,480,1,,,,,3,1,6,,,,1,2,,12,2,930,7,4,32500,4,,,1,1,32500,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,431,,0,1,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,118,250,142,126,205,131,38,44,36,121,131,122,157,132,175,204,215,114,176,172,104,46,123,107,38,102,217,224,220,162,126,131,147,126,33,27,31,106,201,223,125,35,128,136,49,94,161,255,193,136,156,123,117,96,29,34,35,123,37,38,132,227,144,136,188,116,33,28,42,140,123,125,134,111,166,157,218,138,34 H,700468,8,500,4,16,1015675,138,9,1,2,1,5,2,2,,410,0,300,3,3,1300,1,,2,630,2,1,1,9,,,,1,1,,23,3,60,3,2,237000,3,,,1,1,237000,0,3,3,3,1,2,7,9,0,0,7,10,0,0,1,0,0,1,1886,3,0,1,66,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,259,45,216,221,127,130,42,44,268,125,161,137,216,127,143,165,39,122,136,251,45,202,39,39,143,136,229,253,40,138,136,115,41,139,130,143,214,133,143,43,213,40,207,225,130,152,43,34,219,167,119,131,234,124,133,136,39,161,156,228,41,244,41,47,118,126,272,236,41,130,135,143,43,131,117,122,237,148,135,38 H,700925,8,400,4,16,1015675,341,5,1,1,,4,3,2,,1,0,1,1,4,,1,,,,,,1,6,,,,1,4,,,2,1,7,2,75000,3,,,1,1,75000,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,496,140,399,624,391,669,92,246,437,658,374,391,390,425,325,132,335,393,112,105,312,173,265,533,697,413,100,299,534,555,242,328,278,395,339,95,260,287,103,87,326,86,556,596,363,933,83,374,661,459,306,374,359,302,372,105,431,814,136,95,212,60,372,480,239,529,69,421,827,669,396,444,337,295,268,108,392,404,108 H,701003,8,400,4,16,1015675,84,5,1,2,1,3,2,1,,90,0,500,3,6,300,1,,1,1000,1,1,1,6,,,,1,1,,22,1,2,5,2,23000,2,,,1,1,23000,0,2,2,2,1,6,3,5,0,0,3,59,0,0,1,0,0,1,1132,3,0,0,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,19,56,124,158,164,98,98,80,99,75,29,22,27,104,132,68,31,121,185,77,25,83,141,130,110,83,89,97,88,81,17,24,32,84,130,79,23,65,156,84,31,73,151,125,105,84,90,83,72,81,21,26,38,92,137,83,20,76,159,136,26,71,155,152,143,98,91,68,83,90,24,25,23,65,119,64,24,109,120 H,701327,8,500,4,16,1015675,136,4,1,1,,3,1,2,,80,0,2,3,3,800,1,2000,,,,3,1,5,,,,1,2,,11,2,2,3,2,63000,2,,,1,1,63000,0,2,2,2,1,4,2,4,0,0,2,6,0,0,1,0,0,1,314,,0,0,1,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,35,39,41,156,203,128,41,129,143,41,143,290,230,229,134,142,140,126,213,148,38,44,41,155,245,133,34,142,150,39,140,219,194,243,127,124,156,138,253,127,37,39,36,146,213,129,40,140,125,40,142,295,233,205,141,128,131,141,233,190,41,47,37,114,243,138,44,116,140,39,120,240,228,254,144,131,130,146,239 H,701501,8,400,4,16,1015675,88,3,1,1,,4,2,2,,210,0,2,3,3,590,1,,1,1200,1,1,1,9,,,310,1,1,,19,1,380,5,1,60100,4,,,1,1,68100,0,4,4,4,1,3,0,2,0,1,0,31,0,0,0,2,2,1,1752,2,0,1,40,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,79,85,158,103,27,21,20,74,79,93,100,88,152,153,137,97,30,106,27,171,94,95,187,72,23,33,26,99,95,72,77,89,141,130,129,88,28,83,180,27,94,77,28,85,120,154,159,90,89,111,78,90,31,24,27,98,165,92,133,28,89,91,29,93,153,141,125,84,100,85,92,77,21,31,21,78,155,77,27 H,701529,8,800,4,16,1015675,64,5,1,1,,3,3,2,350,80,0,2,100,1,500,1,,1,1000,1,1,1,7,,,2700,1,1,,23,2,900,5,1,75000,2,,,1,1,75000,0,2,2,2,1,4,3,5,0,0,3,69,0,0,1,0,0,2,4305,2,0,1,42,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,119,49,58,70,69,71,18,60,128,18,57,17,63,122,73,117,18,52,111,19,135,59,54,66,64,71,24,78,101,17,60,17,63,89,67,104,15,66,98,116,17,56,58,52,62,67,108,55,19,100,63,92,65,22,70,17,99,50,17,105,22,68,77,78,68,67,131,80,19,118,79,112,52,19,59,21,113,65,19,19 H,702050,8,300,4,16,1015675,102,2,1,1,,4,2,2,,110,0,2,30,3,300,1,,1,600,1,1,1,7,,,350,1,1,,13,2,40,7,1,48000,4,,,1,1,48000,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,2,1093,2,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,111,159,27,100,100,197,103,242,156,29,32,102,87,112,98,209,27,87,168,112,102,30,178,92,96,32,84,31,30,181,159,86,113,116,134,39,155,127,223,74,95,28,192,142,113,30,114,26,35,156,157,104,107,101,107,25,182,95,26,110,98,140,35,104,97,172,103,192,189,32,32,129,116,107,91,144,32,101,31 H,702325,8,100,4,16,1015675,25,4,1,1,,2,2,2,,50,0,2,40,1,500,1,,1,350,1,1,1,5,,,,1,1,,10,2,460,7,5,25700,2,,,1,2,60700,0,3,3,3,1,1,2,3,0,1,2,9,2,0,1,0,0,2,478,3,0,1,6,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,7,5,17,30,29,27,29,29,45,58,32,7,26,53,20,25,40,20,12,5,11,7,29,29,21,17,22,45,56,46,19,8,21,49,25,29,54,19,54,32,57,35,26,29,20,36,23,10,10,7,20,43,24,7,19,24,6,21,38,43,33,39,21,26,24,26,36,7,8,11,32,36,23,7,25,38,5,19,7 H,702361,8,100,4,16,1015675,59,3,1,1,,2,2,2,,50,0,400,3,4,400,1,,1,550,1,1,1,7,,,,1,1,,17,2,420,9,1,37000,2,,,1,1,37000,0,2,2,2,1,3,1,3,0,0,1,22,0,0,1,0,0,2,668,3,0,1,12,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,122,115,60,86,19,55,68,60,18,58,123,61,16,18,60,57,18,87,63,53,17,20,59,20,90,77,46,58,110,56,20,47,117,108,48,51,71,18,55,62,96,94,77,80,17,58,74,66,20,62,83,53,25,16,66,63,13,90,58,61,19,15,61,22,96,54,52,78,95,46,18,61,93,113,86,61,78,19,66 H,702416,8,600,4,16,1015675,119,2,1,1,,4,2,2,,80,0,2,100,1,700,1,,1,1100,1,1,1,7,,,350,1,1,,17,2,280,3,1,112250,4,,,1,1,112250,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,1,0,1,1653,2,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,117,33,113,116,131,33,117,31,230,111,192,121,129,121,181,194,36,115,110,112,32,121,34,37,190,108,195,110,130,189,131,218,32,36,124,120,110,216,218,35,122,196,118,108,109,219,116,208,28,117,33,114,123,120,33,34,192,114,125,116,227,116,200,198,35,134,32,118,118,34,121,35,201,190,119,112,118,34,37 H,702549,8,800,4,16,1015675,68,2,1,1,,4,2,2,,60,0,2,270,1,500,1,,1,900,1,1,1,8,,,,1,1,,14,2,40,9,1,60000,4,,,1,1,60000,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,0,0,1,1233,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,20,19,17,16,95,19,64,21,61,71,69,63,25,21,59,71,17,63,72,121,73,64,52,67,114,63,145,81,100,85,108,120,64,59,104,149,83,121,107,61,126,102,110,93,74,104,69,119,53,58,66,73,140,115,74,68,143,70,89,23,54,82,60,51,21,60,18,83,19,17,22,15,70,82,19,27,81,26,31 H,702652,8,500,4,16,1015675,149,5,1,2,1,3,2,2,,90,0,2,3,3,450,1,,1,820,1,1,1,5,,,4,1,1,,17,5,2,5,1,81000,2,,,2,1,81000,1,2,4,2,1,3,0,5,0,0,1,14,0,1,1,0,0,1,914,1,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,177,245,143,159,157,46,170,156,279,42,256,245,161,140,51,49,231,136,134,229,165,36,137,146,155,284,138,145,48,240,42,45,140,146,232,285,43,146,150,41,141,249,138,171,157,49,144,134,244,41,220,246,151,167,44,49,235,151,167,263,161,44,153,171,140,244,152,146,44,247,41,48,179,139,252,237,42,148,146,43 H,702700,8,400,4,16,1015675,91,5,1,2,6,4,2,2,,80,0,2700,3,6,900,1,,2,1400,2,1,1,6,,,400,1,1,,22,3,590,3,2,149530,2,,,2,1,149530,0,2,2,2,1,5,2,5,0,0,2,18,0,0,1,0,0,1,2287,2,0,1,16,3,5,3,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,166,24,23,96,101,141,141,137,87,86,129,75,84,28,25,150,208,30,126,79,146,30,24,176,138,138,87,88,77,68,160,91,91,31,31,118,139,42,114,59,160,27,29,94,96,160,100,101,85,75,146,95,89,28,24,165,243,32,109,116,122,28,28,131,89,145,132,84,68,68,136,77,85,48,46,143,157,46,105,88 H,702751,8,500,4,16,1015675,56,2,1,1,,3,2,2,,100,0,2,120,1,350,1,,1,830,1,1,1,4,,,300,1,1,,15,6,480,2,1,77000,4,,,1,1,77000,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,0,0,1,1390,1,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,53,13,58,20,56,47,61,100,50,81,76,54,91,58,16,115,98,17,14,56,70,19,67,15,65,60,47,75,66,105,48,57,97,61,20,86,111,18,15,61,53,16,55,18,59,54,51,99,53,110,61,66,92,56,19,97,101,15,16,55,61,20,60,16,58,63,65,92,59,89,54,48,75,52,15,98,92,15,17 H,702810,8,200,4,16,1015675,27,2,1,1,,2,2,2,,100,0,20,3,3,440,1,,2,580,2,1,1,5,,,240,1,1,,10,2,720,9,3,74300,4,,,1,1,74300,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,2,0,1,1086,2,0,1,18,1,3,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,22,44,35,30,42,28,9,46,39,4,25,22,8,41,7,24,28,40,35,7,29,9,27,31,8,27,44,9,12,45,30,25,51,33,42,24,23,22,61,9,31,9,36,42,9,28,53,10,6,33,27,31,48,35,44,25,25,24,10,39,29,56,26,22,50,29,7,44,40,10,25,24,7,30,10,29,31,20,8 H,702869,8,900,4,16,1015675,98,1,1,1,,3,2,2,,40,0,2,20,1,300,1,,2,610,2,1,1,8,,,150,1,1,,16,1,800,2,,,,,,1,4,90000,0,4,4,4,1,3,0,,0,0,0,15,0,0,0,0,0,1,1137,2,0,1,39,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,37,31,89,30,178,89,96,99,159,106,28,89,160,191,91,92,142,31,137,97,25,27,89,28,187,105,104,80,178,102,30,105,167,166,91,94,166,26,112,91,29,27,107,29,162,95,112,107,188,94,32,90,140,136,106,104,165,27,80,106,27,32,86,25,178,96,93,98,171,121,24,109,148,173,96,110,225,34,101,108 H,703001,8,100,4,16,1015675,30,2,1,1,,3,2,2,,100,0,2000,3,4,900,1,,2,590,2,1,1,8,,,,1,1,,15,1,710,6,4,49500,4,,,1,1,49500,0,4,4,4,1,4,0,2,0,0,0,27,0,0,0,2,0,1,1108,3,0,1,26,1,8,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,35,10,30,57,8,8,62,35,37,49,27,50,29,29,25,8,30,9,53,34,30,9,38,54,10,11,53,33,41,49,27,56,39,37,35,10,34,8,9,26,29,63,38,8,49,52,10,33,32,10,24,9,33,25,32,54,32,48,9,28,24,53,34,10,75,63,10,31,34,10,32,12,34,25,30,74,34,50,53 H,703030,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,703061,8,600,4,16,1015675,115,3,1,1,,4,2,2,,70,0,2,60,1,1200,1,,1,1400,1,1,1,9,,,,1,1,,20,2,840,2,1,121450,1,,,1,1,121450,0,1,1,1,1,3,1,3,0,0,1,16,0,0,1,0,0,1,1600,3,0,1,35,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,202,34,111,117,113,36,121,197,109,33,32,117,109,32,203,122,200,196,121,116,214,34,117,114,126,37,116,219,113,35,33,102,106,32,218,114,185,179,125,113,168,31,135,119,125,36,108,186,114,35,32,117,111,34,195,135,192,195,137,116,210,31,116,120,115,35,110,191,123,36,35,109,111,34,229,113,185,181,107,115 H,703124,8,400,4,16,1015675,206,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,299,324,225,249,221,168,167,59,69,62,213,331,194,55,219,252,75,186,282,59,52,62,182,210,255,219,221,354,394,370,202,64,174,323,209,202,400,221,58,75,48,49,229,224,205,231,232,327,336,295,208,59,189,397,217,213,354,197,59,301,368,310,188,266,199,191,181,58,62,70,240,355,203,56,176,214,71,222,349,378 H,703494,8,100,4,16,1015675,22,1,1,1,,3,2,2,,90,0,2,3,3,250,1,,,,,3,1,6,,,,1,2,,15,1,740,6,,,,,,4,6,5300,0,4,4,4,2,7,0,,0,0,0,50,0,0,0,1,1,2,223,,0,1,14,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,1,0,31,8,24,42,17,8,8,17,25,8,27,20,30,32,22,50,11,18,24,23,17,7,26,40,20,7,8,20,20,7,39,22,43,49,19,33,5,22,27,22,20,5,27,46,19,8,11,22,23,5,43,18,37,45,17,39,7,20,21,15,26,12,24,41,20,9,8,19,19,8,27,24,29,39,27,45,6,17,25,20 H,703674,8,100,4,16,1015675,131,2,1,2,1,3,2,2,,120,0,630,3,6,500,1,,,,,3,1,4,,,,1,2,,15,2,2,5,2,17400,4,,,1,1,17400,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,1,0,2,382,,0,1,32,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,151,135,139,260,134,30,127,38,34,188,135,214,116,103,197,104,219,50,143,37,115,133,138,221,122,47,141,34,37,187,133,243,155,153,201,137,204,39,143,215,113,157,135,39,143,210,110,162,247,43,139,43,103,117,45,124,34,197,113,296,156,117,119,37,145,210,160,201,214,44,108,39,110,136,40,143,47,187,157 H,703851,8,400,4,16,1015675,85,1,1,,,2,6,,,30,0,2,3,3,,1,,,,,,1,4,2,330,,1,3,,,1,1,5,,,,360,44,1,4,9900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,99,76,91,27,81,90,161,166,32,27,106,117,28,134,152,96,87,22,91,90,80,77,76,153,68,90,28,28,165,124,27,80,107,26,27,86,88,160,73,83,79,71,91,149,88,77,25,28,134,155,24,80,152,18,23,107,77,133,102,102,75,89,91,30,90,94,146,137,29,29,139,71,28,125,115,101,105,29,77,78 H,704429,8,600,4,16,1015675,80,2,1,1,,4,2,2,,70,0,2,10,1,380,1,,1,900,1,1,1,7,,,1000,1,1,,18,2,600,5,4,48300,4,,,1,1,48300,0,4,4,4,1,5,0,2,0,0,0,50,0,0,0,1,1,1,2030,2,0,1,30,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,70,22,137,76,71,89,22,136,75,83,20,89,22,23,135,128,73,80,23,82,76,149,21,78,87,95,132,25,83,71,119,81,129,140,26,26,86,71,22,81,72,134,26,71,81,84,145,24,88,76,119,82,153,137,27,21,81,78,131,78,71,22,124,70,73,75,21,144,78,82,22,88,27,24,130,125,80,83,142 H,704730,8,300,4,16,1015675,91,1,1,1,,3,2,2,,20,0,290,40,6,350,1,,,,,3,1,5,,,,1,2,,12,2,2,6,,,,,,1,6,10700,0,4,4,4,1,7,0,,0,0,0,16,0,0,0,1,1,2,140,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,43,136,96,35,127,140,80,97,33,83,98,92,70,35,126,84,145,146,131,26,26,130,96,25,150,135,81,84,26,104,60,84,105,25,115,96,148,145,100,149,161,32,87,129,32,24,76,96,150,79,71,95,99,134,121,89,35,31,101,126,128,25,115,133,24,35,72,71,190,107,95,98,90,193,115,76,21,26,76 H,704762,8,600,4,16,1015675,103,2,1,1,,3,2,2,,120,0,2,90,1,450,1,,1,150,1,1,1,7,,,,1,1,,19,2,120,4,3,63600,4,,,1,1,63600,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,1,0,1,370,3,0,1,25,1,8,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,32,30,110,30,97,106,178,105,180,102,183,105,115,33,101,99,27,164,185,100,97,103,182,101,30,172,96,163,107,32,106,32,178,98,30,31,104,103,104,31,174,177,96,173,109,104,30,96,30,97,29,99,106,190,104,110,172,29,32,103,112,98,30,102,176,33,96,30,105,165,101,184,32,111,183,168,107,108,105 H,705070,8,600,4,16,1015675,274,0,1,,,2,5,,,,,,,,,1,,,,,,1,4,2,580,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,264,427,74,467,331,233,255,351,291,271,84,406,264,318,549,482,245,84,83,285,78,301,248,240,78,427,404,463,467,78,324,269,502,87,236,223,88,283,278,507,312,77,476,84,318,282,304,266,298,265,449,78,265,252,90,81,263,523,528,304,396,281,287,290,485,78,79,78,74,445,286,259,85,453,278,266,401,238,225,94 H,705271,8,800,4,16,1015675,54,4,1,2,1,3,2,2,,80,0,560,3,6,300,1,,1,400,1,1,1,5,,,,1,1,,12,3,2,2,1,31000,2,,,1,1,31000,0,3,3,3,1,3,2,4,0,0,2,20,0,0,1,0,0,1,527,3,0,1,8,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,18,16,14,85,95,38,15,53,74,16,47,73,85,89,52,61,59,62,60,57,15,14,12,57,98,62,18,58,40,14,75,92,75,113,63,42,44,65,98,75,19,20,13,57,120,43,14,49,88,15,36,58,84,103,43,51,52,57,74,55,18,18,12,74,124,49,15,69,47,10,55,76,61,124,75,46,53,79,102 H,705425,8,800,4,16,1015675,115,2,1,1,,4,2,2,,50,0,2,50,1,640,1,,2,850,2,1,1,9,,,200,1,1,,20,3,2,5,4,52900,4,,,1,1,52900,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,2,2,1,1325,2,0,1,26,0,9,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,105,34,201,108,179,107,35,128,33,176,91,29,37,117,125,111,97,121,184,188,107,50,214,107,194,116,31,101,36,170,154,30,27,111,117,133,111,136,186,208,116,34,183,174,208,114,39,106,29,186,106,33,28,120,120,100,98,110,232,191,118,29,199,114,189,116,34,111,34,182,121,42,37,109,116,99,102,106,186 H,705490,8,600,4,16,1015675,110,1,1,,,1,6,,,60,0,2,3,3,,1,,,,,,1,3,2,430,,1,3,,,0,2,3,,,,490,45,1,6,13000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,34,28,27,109,177,109,31,115,111,34,114,189,187,198,109,116,107,110,195,117,33,32,31,112,182,111,33,112,121,34,111,194,192,187,103,96,104,116,179,110,32,30,32,121,174,111,28,105,111,31,114,210,206,215,126,114,120,115,180,110,33,36,31,111,180,101,31,91,113,33,117,193,174,186,108,110,114,110,195 H,706462,8,600,4,16,1015675,132,2,1,1,,5,2,2,,50,0,2,60,1,580,1,,,,,3,1,9,,,,1,2,,17,2,520,6,1,21000,4,,,1,1,21000,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,2,2,1,331,,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,224,38,242,116,124,133,128,142,127,41,221,134,132,214,250,137,39,37,137,41,133,130,131,40,240,222,197,230,38,122,140,228,40,137,129,43,135,132,38,123,240,40,224,123,123,146,131,154,123,37,220,140,134,247,265,127,42,37,133,39,132,130,125,39,210,209,214,212,36,127,128,197,39,134,126,43,143,138,36 H,706508,8,900,4,16,1015675,95,2,1,1,,3,2,2,,40,0,2,70,1,1200,1,,1,630,1,1,1,8,,,,1,1,,14,3,590,9,2,26000,4,,,1,1,26000,0,4,4,4,1,3,0,2,0,0,0,36,0,0,0,0,0,1,789,3,0,1,21,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,111,185,27,28,94,104,86,180,101,29,96,29,28,150,88,161,90,95,96,179,132,153,27,31,103,85,99,166,86,26,91,28,30,155,105,153,97,100,89,28,89,29,187,165,91,79,98,22,86,168,92,141,147,29,91,35,92,85,87,30,94,27,205,183,96,93,97,28,83,187,90,144,152,27,113,33,115,117,86 H,706544,8,900,4,16,1015675,188,1,1,,,1,8,,,60,0,2,3,3,,1,,,,,,1,3,2,300,,1,3,,,1,1,9,,,,360,36,1,6,12000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,141,280,226,185,217,65,74,171,56,308,58,285,200,322,272,211,174,119,196,180,302,220,62,304,300,189,169,54,187,154,181,213,56,181,219,296,405,75,51,173,348,161,55,315,309,229,158,53,196,197,182,213,55,212,200,283,266,73,90,65,188,269,192,179,178,57,62,237,79,277,62,272,156,254,237,184,188,167,218,75 H,706746,8,400,4,16,1015675,79,2,1,,,2,6,,,1,0,1,1,1,,1,,,,,,1,4,2,500,,1,3,,,1,1,2,7,11650,2,500,52,1,3,11650,0,2,2,2,1,2,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,19,88,129,115,105,91,99,69,76,68,21,24,27,65,127,95,22,101,26,80,121,80,28,21,20,98,82,70,88,88,154,108,115,84,27,70,129,109,21,93,125,74,25,27,22,84,97,73,77,72,124,133,132,75,26,107,117,78,147,90,22,71,127,109,119,77,81,89,81,81,30,22,17,75,156,68,22,115,122 H,706835,8,900,4,16,1015675,46,4,1,1,,3,2,2,,180,0,2,160,3,480,1,,2,860,1,1,1,9,,,,1,1,,15,2,2,6,2,46000,1,,,2,1,46000,0,1,1,1,1,3,2,4,0,0,2,32,0,0,1,0,0,1,1240,3,0,1,15,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,28,12,47,43,115,100,10,10,103,43,21,89,91,57,30,13,44,42,48,55,42,71,38,56,19,15,90,79,11,44,67,11,26,54,51,93,45,55,44,35,69,107,49,48,13,14,69,81,15,63,117,20,14,32,35,54,42,49,49,58,47,15,47,43,85,76,20,12,76,56,12,77,98,50,52,8,38,51,46,62 H,706940,8,100,4,16,1015675,151,2,1,1,,3,1,2,,70,0,2,20,1,390,1,3300,,,,3,1,7,,,,1,2,,12,1,1,3,4,38500,4,,,1,1,38500,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,2,2,1,436,,0,0,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,164,247,40,281,306,155,150,47,59,228,134,158,122,246,142,132,151,41,47,131,154,259,47,256,255,149,144,52,40,308,154,123,153,218,151,149,144,49,236,146,145,51,244,45,39,145,155,230,232,44,178,153,148,48,162,151,151,301,216,180,155,48,225,37,42,142,156,288,263,54,149,158,148,43,148,140,146,250,52 H,706948,8,900,4,16,1015675,25,2,1,1,,3,2,2,,70,0,2,440,1,500,1,,,,,3,1,9,,,,1,2,,20,2,420,9,4,46800,4,,,1,1,46800,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,1,1,2,704,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,41,45,25,25,24,54,9,40,22,6,8,8,22,48,9,23,23,23,28,26,8,7,25,21,21,8,43,6,26,42,36,43,22,5,47,28,28,29,23,22,47,39,26,29,24,41,8,40,25,7,7,8,24,41,10,30,23,24,26,25,6,8,27,27,25,9,43,6,26,42,42,50,27,9,44,23,25,25,31 H,707724,8,300,4,16,1015675,192,2,1,1,,3,2,2,,90,0,2,3,3,250,1,,2,610,1,2,1,6,,,260,1,1,,13,3,200,3,,,,,,2,7,54400,0,4,4,4,1,2,0,,0,1,0,22,3,0,0,0,0,1,998,1,0,1,10,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,159,273,173,55,235,190,259,117,206,44,290,229,252,235,201,230,379,213,206,261,91,184,263,144,283,255,55,240,55,163,267,62,137,66,308,297,256,201,179,168,317,182,62,156,56,69,317,223,337,206,182,320,198,262,59,63,200,168,343,375,248,55,173,315,156,184,169,256,184,278,81,223,53,222,250,162,56,73,52 H,708282,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,708692,8,300,4,16,1015675,26,2,1,2,1,3,2,2,,70,0,720,3,6,710,1,,,,,3,1,5,,,,1,2,,17,3,2,3,4,32600,4,,,1,1,32600,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,253,,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,40,48,8,23,43,8,7,27,28,47,23,24,23,27,43,23,34,8,25,8,42,49,6,29,43,6,8,27,33,38,25,27,24,27,37,21,26,8,28,37,7,8,47,31,6,40,48,27,28,12,24,25,30,26,7,21,28,40,24,37,8,7,41,26,7,40,43,32,22,7,24,20,24,25,8,28,30,37,24 H,708863,8,600,4,16,1015675,343,0,1,,,2,5,,,,,,,,,1,,,,,,1,5,2,630,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,607,98,86,105,125,489,343,417,109,571,356,331,586,406,411,589,327,354,361,649,333,365,332,321,310,331,489,101,321,344,121,95,393,618,490,277,100,575,98,375,114,538,603,618,642,102,379,330,603,101,317,303,105,332,425,108,318,376,336,113,326,390,360,364,332,320,107,562,309,322,546,535,379,102,102,341,534,90,517,382 H,708866,8,800,4,16,1015675,51,4,1,1,,3,2,2,,70,0,2,110,1,,1,,,,,,1,4,2,600,,1,3,,,2,180,2,4,45100,2,795,21,1,1,45100,1,2,4,2,1,3,0,4,1,0,2,,0,0,1,1,0,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,59,41,40,70,88,49,80,17,82,15,47,19,17,45,54,56,50,51,52,54,85,19,15,56,47,78,45,45,55,52,74,53,61,16,15,79,68,14,93,17,50,44,47,85,88,52,91,15,75,15,55,17,16,41,53,53,48,61,47,60,103,15,14,45,54,84,46,45,44,45,84,70,56,13,15,93,76,12,79 H,709186,8,100,4,16,1015675,81,3,1,1,,3,1,2,,40,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,4,160,6,,,,503,23,1,5,25800,0,2,4,4,1,4,0,,0,1,0,,2,0,1,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,28,97,20,103,106,23,95,130,19,20,111,61,81,154,69,113,68,82,165,97,30,87,30,77,96,22,90,128,21,18,99,89,103,177,90,110,101,80,24,63,157,71,125,113,103,155,75,35,116,112,21,71,87,29,84,23,81,85,31,63,127,83,151,88,88,136,76,25,104,105,20,92,109,32,97,17,76,85,146 H,709476,8,500,4,16,1015675,265,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,70,505,465,97,264,432,72,104,249,261,417,210,205,272,294,389,292,293,58,323,391,123,71,458,286,66,426,412,320,240,70,251,237,333,304,74,257,303,386,224,77,397,400,71,239,524,80,113,302,239,545,278,270,329,298,530,245,288,76,267,372,74,76,397,301,89,480,427,232,227,79,238,312,237,268,98,218,243,452,271 H,709770,8,800,4,16,1015675,40,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,11,70,39,12,13,40,38,38,34,43,60,40,11,69,39,63,42,11,60,40,12,67,45,11,13,46,39,35,39,33,70,51,12,66,39,60,52,11,67,40,12,68,42,12,10,38,42,37,41,40,61,40,11,66,37,70,44,12,70,37,13,78,34,11,12,45,39,38,38,44,55,38,12,66,43,74,37,12,72 H,709776,8,800,4,16,1015675,42,1,1,1,,2,1,2,,90,0,2,3,3,0,1,30,,,,3,1,3,,,,1,2,,16,1,2,5,,,,,,1,6,6500,0,4,4,4,1,3,0,,0,0,0,37,0,0,0,1,1,2,199,,0,0,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,37,43,88,84,70,50,13,33,78,45,44,69,46,17,12,12,36,41,43,97,41,38,12,10,11,32,63,41,12,52,59,17,46,85,95,75,42,43,36,12,39,41,67,78,93,48,13,50,90,45,36,78,40,16,13,10,39,43,47,78,38,44,9,10,17,39,62,41,15,45,33,13,44,74,77,90,51,52,43,15 H,710033,8,800,4,16,1015675,63,2,1,1,,2,1,2,,100,0,2,3,3,160,1,2200,,,,3,1,4,,,,1,2,,6,2,1,4,8,31000,4,,,1,3,31000,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,1,2,320,,0,0,7,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,98,49,16,19,64,115,22,96,68,68,56,54,56,50,22,100,65,74,114,51,59,94,77,64,85,77,63,77,106,19,20,19,20,123,71,63,21,107,73,105,16,80,97,94,69,17,107,17,57,65,57,55,70,52,94,20,56,71,22,69,63,22,58,62,20,66,59,61,21,108,105,122,127,17,70,61,123,19,57,16 H,710184,8,100,4,16,1015675,84,2,1,1,,4,2,2,,40,0,2,100,1,560,1,,1,1800,1,1,1,8,,,,1,1,,18,2,470,2,5,16000,4,,,3,2,16000,0,4,4,4,1,2,0,2,0,0,0,101,0,0,0,0,0,1,1979,3,0,1,24,2,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,139,25,68,91,98,92,85,90,128,23,77,71,26,23,89,155,122,98,92,94,89,81,23,148,118,130,131,22,93,78,135,25,102,89,25,84,85,26,121,24,141,20,79,77,98,103,77,110,123,27,94,80,25,27,98,137,156,89,89,75,77,82,27,132,136,143,158,21,76,81,120,26,92,90,26,73,83,25,149 H,710237,8,100,4,16,1015675,39,2,1,1,,3,2,2,,80,0,1200,3,6,,1,,,,,,1,5,2,70,,1,3,,,2,1,9,1,74000,4,250,4,1,1,74000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,8,10,80,69,8,37,81,10,12,37,32,62,36,35,45,42,68,45,49,39,59,66,14,12,64,32,10,79,77,34,32,10,24,31,43,40,10,35,44,40,9,11,70,62,12,36,72,12,12,37,34,65,34,33,34,36,73,47,44,31,55,71,12,12,60,32,14,69,68,46,37,12,27,33,51,52,13,40,39 H,710239,8,200,4,16,1015675,91,1,1,,,1,8,,,1,0,2,3,3,,1,,,,,,1,2,2,540,,1,3,,,1,1,7,,,,540,31,1,4,21100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,114,24,23,46,49,84,19,108,46,91,52,75,92,27,26,84,101,22,105,92,139,126,117,85,119,168,94,175,113,118,150,150,113,109,95,144,140,84,171,23,122,33,38,45,35,103,20,93,38,61,68,76,102,24,19,107,66,30,118,88,108,102,83,83,147,157,87,213,129,147,110,140,120,97,104,124,225,76,121,21 H,710318,8,900,4,16,1015675,206,8,1,3,5,4,2,2,,70,0,2,50,3,2400,1,,2,1000,2,2,1,6,,,,1,1,,24,2,200,9,1,21000,3,,,1,1,21000,0,3,3,3,1,5,6,8,0,0,6,88,0,0,1,0,0,2,1545,3,0,0,37,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,89,83,230,195,287,250,243,135,180,339,268,199,61,64,276,296,81,235,166,67,350,323,205,241,70,234,202,192,204,73,205,185,293,315,68,54,259,197,206,71,337,335,205,193,61,194,222,199,229,81,233,218,274,271,63,65,329,219,232,271,85,93,207,199,285,239,193,219,226,250,183,269,75,67,303,248,61,171,189 H,710393,8,100,4,16,1015675,66,1,1,2,1,3,2,2,,30,0,2,30,1,550,1,,,,,3,1,6,,,,1,2,,21,0,350,6,,,,,,1,6,14400,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,1,336,,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,54,108,19,93,70,68,65,68,70,60,20,140,76,93,111,105,63,20,23,66,17,59,68,60,18,108,117,101,112,18,60,82,114,21,62,69,20,69,86,128,71,17,107,22,65,66,51,66,70,68,124,18,67,68,17,19,54,104,115,74,126,71,63,57,105,19,18,21,22,136,79,74,21,108,69,72,103,56,66,20 H,710571,8,300,4,16,1015675,134,2,1,1,,3,2,2,,200,0,2,3,3,470,1,,,,,3,1,7,,,,1,2,,15,3,350,5,4,69880,4,,,1,1,69880,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,0,1,379,,0,1,25,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,253,151,137,133,35,241,135,144,52,136,39,37,242,234,105,140,147,134,221,36,215,145,169,139,37,204,143,145,47,130,37,36,189,225,128,140,127,124,242,42,259,124,168,139,43,233,138,160,41,148,46,38,240,198,124,141,125,122,237,34,221,134,132,144,38,193,130,160,46,127,39,33,205,210,116,132,146,114,203 H,710647,8,200,4,16,1015675,43,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,15,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,46,74,38,11,47,77,70,42,57,83,16,46,12,13,50,13,64,41,43,42,37,14,48,64,41,12,13,43,46,10,75,47,68,78,43,70,13,45,48,50,51,84,50,12,42,77,68,38,57,84,14,51,12,11,43,14,67,38,45,42,47,13,42,67,41,11,11,39,46,14,65,44,80,71,47,71,12,41,48 H,710768,8,700,4,16,1015675,126,2,1,2,2,3,1,2,,120,0,2,440,2,920,1,0,1,1000,1,1,1,8,,,,1,1,,16,2,2,3,,,,,,1,5,43500,0,4,4,4,1,4,0,,0,1,0,43,2,0,0,0,0,1,1560,3,0,0,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,122,116,209,120,42,38,37,119,138,122,119,120,215,220,207,121,40,132,37,213,118,135,211,133,34,36,38,123,134,126,141,122,192,224,217,134,36,126,38,219,123,119,217,132,33,35,40,126,113,131,128,134,236,211,200,123,33,126,40,217,130,141,230,127,40,36,35,125,127,116,131,131,215,202,210,121,36,126,35 H,710948,8,700,4,16,1015675,92,5,1,,,2,5,,,60,0,2,90,2,,1,,,,,,1,4,2,770,,1,3,,,2,2,4,2,36000,1,920,31,1,1,36000,0,1,1,1,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,92,171,90,100,134,99,27,27,27,84,91,93,94,94,165,150,155,109,25,28,85,177,84,97,157,86,27,27,27,87,79,91,97,112,154,147,149,87,158,161,89,27,97,96,29,97,142,159,153,85,95,101,87,88,23,28,27,87,188,163,106,29,113,90,25,90,151,146,136,95,86,100,92,76,25,30,31,75,31 H,711130,8,900,4,16,1015675,15,2,1,1,,2,2,2,,60,0,2,100,1,500,1,,1,800,1,1,1,7,,,500,1,1,,15,2,480,7,1,95800,4,,,1,1,95800,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,2,1500,2,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,26,15,18,5,15,13,17,19,5,20,18,25,26,4,3,23,14,5,13,5,5,14,18,24,15,19,18,20,35,13,11,6,3,23,23,4,15,29,18,20,28,15,14,5,13,15,20,22,5,17,16,23,27,5,5,28,12,5,14,7,4,15,18,20,13,18,15,10,33,14,13,5,5,30,27,3,22,30,28 H,711207,8,100,4,16,1015675,207,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,326,330,178,201,204,208,226,62,193,369,81,224,74,223,343,201,339,63,64,191,330,309,183,207,200,221,190,63,195,359,65,210,62,192,355,204,338,72,69,196,352,355,228,209,219,179,214,71,205,338,55,201,58,178,408,186,373,67,66,206,362,360,185,212,199,191,205,59,230,363,65,219,60,187,339,204,332,68,58 H,711316,8,300,4,16,1015675,176,1,1,,,1,6,,,40,300,2,3,3,,1,,,,,,1,3,2,480,,1,3,,,1,30,4,,,,523,63,1,6,9910,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,283,45,183,186,184,311,51,209,160,279,193,284,281,50,44,189,172,179,272,171,55,259,188,168,149,50,237,193,158,59,182,54,56,264,351,223,207,193,60,156,265,52,168,191,172,293,58,152,207,274,170,329,332,54,53,159,198,191,268,191,51,302,184,190,199,46,306,190,157,49,170,58,53,317,257,173,141,175,51 H,711482,8,900,4,16,1015675,50,5,1,1,,3,1,2,,110,1400,2,3,3,,1,,,,,,1,5,2,450,,1,3,,,1,650,5,2,45800,1,614,16,2,1,45800,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,88,94,12,50,117,12,15,53,47,78,45,47,60,43,59,48,48,20,56,55,14,18,140,54,10,73,70,39,53,18,48,66,68,63,18,41,78,93,122,66,13,17,114,62,15,95,70,35,55,14,48,71,41,54,15,59,61,44,38,21,95,107,14,51,138,10,11,58,61,71,35,46,67,39,98,48,48,30,67 H,712119,8,200,4,16,1015675,27,2,1,1,,3,2,2,,70,0,1000,3,4,350,1,,,,,3,1,5,,,,1,2,,3,1,880,6,4,18700,4,,,2,1,18700,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,2,2,1,288,,0,1,10,0,9,9,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,37,36,56,31,23,24,30,24,9,8,10,24,44,26,10,28,29,12,45,27,41,42,40,30,27,21,22,31,11,9,8,23,29,26,9,25,24,9,7,25,7,6,7,23,26,29,29,24,57,54,47,24,7,26,47,25,25,58,6,21,7,6,5,28,23,28,35,30,47,57,47,22,5,23,62,25,31,59,33 H,712168,8,800,4,16,1015675,95,1,1,,,2,5,,,80,0,2,3,3,,1,,,,,,1,4,2,400,,2,3,,,1,2,5,,,,480,22,1,6,26600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,96,86,26,141,97,105,32,71,85,135,88,67,29,152,194,103,178,87,24,84,50,30,71,119,25,192,144,178,207,96,130,27,79,80,97,34,98,187,131,165,100,88,156,32,119,100,152,107,131,27,80,101,147,38,30,87,27,77,192,82,164,165,101,98,160,32,84,31,24,94,30,120,105,80,105,193,89,27,85,28 H,712315,8,300,4,16,1015675,91,2,1,1,,3,2,2,,80,0,2,70,1,450,1,,1,800,1,1,1,7,,,700,1,1,,15,2,240,3,1,40001,4,,,1,1,40001,0,4,4,4,1,4,0,2,0,0,0,50,0,0,0,0,0,1,1670,2,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,103,74,163,150,81,83,91,157,29,177,108,24,27,26,104,166,25,100,109,80,87,101,166,153,110,92,95,149,23,142,96,23,30,29,108,161,26,87,97,90,86,80,28,26,100,119,85,28,181,29,88,153,164,163,89,24,140,91,89,88,85,73,27,28,84,95,86,25,200,32,90,146,158,179,89,32,162,87,87 H,712334,8,100,4,16,1015675,46,4,1,1,,3,2,2,,100,0,2,150,1,200,1,,,,,3,1,6,,,,1,2,,13,6,600,8,1,61500,2,,,1,1,61500,0,2,2,2,1,5,1,4,0,0,1,8,0,0,1,0,0,1,409,,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,90,49,12,88,73,40,48,14,35,39,38,39,14,58,62,84,93,59,60,68,14,48,65,12,12,47,54,82,46,48,55,47,77,48,39,15,13,49,74,91,15,49,58,12,13,47,49,72,36,47,41,38,77,69,56,12,12,54,14,15,62,45,17,65,54,50,47,14,40,39,53,45,17,59,42,92,82,47 H,712341,8,500,4,16,1015675,157,2,1,2,1,3,2,2,,100,0,500,3,6,400,1,,2,700,2,1,1,6,,,,1,1,,18,2,140,8,1,72000,4,,,1,1,72000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,2,1020,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,46,157,282,285,150,136,174,142,166,44,151,262,45,174,51,166,261,143,274,49,246,140,44,47,165,151,175,175,144,253,165,54,271,139,264,152,46,150,48,292,50,153,272,235,170,144,169,142,159,48,160,252,48,144,52,170,276,157,244,49,220,144,56,45,138,171,147,174,160,256,200,51,249,168,266,150,47,155,53 H,712383,8,500,4,16,1015675,85,1,1,1,,0,1,2,,40,0,2,3,3,250,1,1200,,,,3,1,2,,,,1,2,,1,2,1,4,,,,,,2,4,30000,0,4,4,4,1,1,0,,0,0,0,7,0,0,0,0,0,1,181,,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,77,105,181,28,84,81,126,88,89,28,70,72,156,20,21,117,21,94,81,135,146,106,77,77,132,25,99,25,25,87,23,177,88,115,60,145,93,25,26,35,79,90,26,172,80,106,40,65,93,106,73,102,25,166,97,87,176,86,73,89,24,20,81,101,24,149,90,146,138,91,171,28,54,87,73,25,85,144,139 H,712629,8,900,4,16,1015675,167,3,1,1,,5,2,2,,50,0,2,90,1,400,1,,,,,3,1,9,,,,1,2,,15,2,70,6,1,144270,4,,,1,1,144270,0,4,4,4,1,5,0,3,0,0,0,3,0,0,0,0,0,1,412,,0,1,40,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,60,182,174,53,141,262,49,64,283,223,132,227,151,230,163,162,163,53,287,157,61,171,168,54,197,269,50,55,243,186,152,226,219,197,146,184,153,63,43,187,334,176,181,296,137,43,298,256,47,185,150,55,191,43,189,201,168,280,56,142,242,173,197,273,147,46,254,274,39,144,157,36,148,44,195,245,216,311,289 H,712655,8,800,4,16,1015675,83,1,1,1,,2,2,2,,70,0,2,3,3,230,1,,,,,3,1,7,,,,1,2,,14,1,270,3,,,,,,1,4,21060,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,0,0,1,154,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,27,19,153,26,81,64,156,160,143,96,90,24,140,77,20,83,86,79,28,27,76,87,78,82,175,29,84,80,95,138,22,76,86,144,84,133,156,24,78,111,155,123,29,151,97,89,25,30,24,85,80,122,22,81,147,107,85,77,153,155,76,78,109,73,25,148,71,79,85,23,128,80,92,22,85,27,28,137,97 H,713267,8,400,4,16,1015675,76,1,1,3,6,3,2,1,,40,0,2,3,3,500,1,,1,500,2,1,1,8,,,,1,1,,20,2,2,1,,,,,,1,4,26000,0,4,4,4,1,1,0,,0,0,0,26,0,0,0,1,0,1,565,3,0,0,8,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,94,57,112,84,82,152,79,30,108,138,22,61,70,24,59,19,152,101,64,144,25,99,28,64,56,15,83,179,16,37,152,50,84,113,67,113,86,65,84,177,22,100,34,64,80,18,49,197,18,19,121,47,62,147,64,127,84,75,77,24,128,62,140,96,71,196,65,18,157,123,32,71,87,37,44,26,101,57,77,32 H,713409,8,400,4,16,1015675,62,3,1,1,,3,2,2,,80,0,2,40,1,,1,,,,,,1,5,2,340,,1,3,,,2,1,2,1,139800,2,460,4,1,1,139800,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,103,57,58,100,62,58,103,105,131,77,57,68,59,88,67,44,57,53,71,17,27,59,55,25,73,86,21,21,23,15,62,16,45,26,44,58,85,64,23,107,108,64,62,103,54,60,114,112,102,91,58,121,63,92,57,59,52,92,121,18,16,84,47,18,74,40,24,18,14,26,52,16,65,19,92,56,53,49,14,141 H,713413,8,600,4,16,1015675,79,2,1,1,,4,2,2,,80,0,2,250,1,550,1,,1,1500,1,1,1,8,,,300,1,1,,21,3,800,9,1,63400,4,,,1,1,63400,0,4,4,4,1,5,0,2,0,0,0,42,0,0,0,0,0,1,2197,2,0,1,48,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,24,80,23,20,138,138,69,77,75,76,21,137,81,77,77,24,143,75,128,83,21,78,24,22,149,143,74,80,76,80,25,134,82,81,69,25,130,80,149,79,23,76,24,23,135,117,79,83,80,74,23,122,80,77,75,24,140,83,116,82,22,79,20,23,138,132,72,83,78,72,23,133,83,82,80,25,125,86,125 H,713870,8,600,4,16,1015675,401,1,1,,,2,4,,,40,650,2,40,1,,1,,,,,,1,4,2,500,,1,3,,,1,120,9,,,,590,101,1,4,5000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,666,103,645,670,408,393,117,140,689,399,404,396,659,413,381,380,122,396,357,651,391,399,398,389,127,126,433,415,396,119,683,142,417,676,691,595,378,122,643,397,124,605,128,121,376,444,664,669,121,377,430,417,121,450,485,371,626,418,377,109,427,452,400,415,681,630,372,340,414,698,115,618,323,128,121,125,435,676,112 H,714318,8,300,4,16,1015675,73,4,1,1,,4,2,2,,40,0,2,40,1,380,1,,2,480,2,1,1,8,,,,1,1,,14,2,70,6,2,40150,2,,,1,1,40150,0,2,2,2,1,6,2,4,0,0,2,20,0,0,1,0,0,1,669,3,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,74,21,88,125,77,106,23,70,137,108,88,71,83,81,75,23,61,113,143,137,56,139,74,25,92,18,130,73,25,20,78,77,75,79,73,115,70,17,21,17,80,18,88,128,75,149,20,77,128,124,74,68,67,70,86,21,72,142,130,113,71,112,64,25,70,24,102,60,23,26,67,73,75,79,84,151,91,24,22 H,714432,8,200,4,16,1015675,52,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,2,300,,,,1,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,43,47,60,83,92,41,73,16,84,17,54,15,17,59,66,52,48,49,47,55,15,96,99,48,52,16,48,57,59,45,17,57,56,88,80,17,16,89,17,93,64,51,52,16,16,57,14,76,16,94,56,95,82,47,52,58,59,46,55,48,77,15,16,59,52,72,49,44,51,42,93,63,51,16,15,92,102,16,102 H,714522,8,900,4,16,1015675,40,4,1,1,,2,2,2,,80,0,2,40,1,,1,,,,,,1,4,2,350,,1,3,,,1,300,7,7,9700,3,495,61,1,3,9700,0,3,3,3,1,1,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,48,33,12,32,45,34,64,70,34,15,13,10,35,51,60,57,38,64,66,69,12,32,73,37,10,48,31,10,46,81,89,97,41,33,29,40,52,12,11,10,87,35,6,32,60,37,48,74,39,13,16,10,35,43,46,60,36,55,87,50,13,43,69,39,19,39,30,12,61,76,66,96,38,32,39,30,31,13,15,15 H,714623,8,700,4,16,1015675,115,4,1,2,1,4,2,2,,60,0,2,50,1,600,1,,,,,3,1,6,,,,1,2,,21,2,2,5,2,237000,2,,,1,1,237000,0,2,2,2,1,5,2,4,0,0,2,2,0,0,1,0,0,1,393,,0,1,40,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,32,119,120,33,122,202,32,38,192,117,125,203,117,200,111,114,112,32,32,114,203,110,117,196,118,32,202,206,33,116,109,33,115,32,130,115,113,185,184,113,36,117,116,32,109,222,33,36,197,109,122,202,113,200,114,111,116,37,36,119,196,110,116,185,112,34,195,188,33,121,112,33,118,31,102,126,122,188,186 H,714890,8,400,4,16,1015675,98,5,1,1,,3,1,2,,140,0,420,3,3,310,1,0,1,710,1,1,1,6,,,,1,1,,14,4,560,3,5,27000,3,,,1,2,34000,0,3,3,3,1,1,3,4,0,1,3,33,2,0,1,0,0,2,932,3,0,0,12,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,102,184,82,27,188,185,28,112,173,33,133,30,60,49,97,208,89,141,133,26,93,166,67,20,146,149,45,88,81,45,128,47,160,115,86,116,123,197,97,31,96,155,140,24,110,200,54,124,85,30,60,23,81,82,91,201,114,175,146,32,71,164,123,37,117,168,51,86,104,37,110,22,70,151,102,112,67,200,115,27 H,714995,8,200,4,16,1015675,73,2,1,1,,4,1,2,,60,0,2,3,3,,1,,,,,,1,8,2,480,,2,3,,,2,1,4,1,27000,4,540,24,1,1,27000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,92,21,70,26,68,78,21,48,133,24,18,98,96,83,108,69,103,70,85,99,78,18,75,31,71,65,32,99,106,28,28,135,66,56,136,77,140,90,84,17,70,98,68,154,91,60,140,104,20,113,193,30,71,69,24,80,26,93,70,25,72,110,67,114,65,79,125,87,20,81,97,24,91,85,26,94,20,51,67,120 H,715383,8,800,4,16,1015675,34,3,1,1,,2,2,2,,100,0,2,40,1,220,1,,2,800,2,1,1,5,,,100,1,1,,15,3,500,9,4,29900,4,,,1,1,29900,0,4,4,4,1,4,0,3,0,0,0,46,0,0,0,2,2,1,1150,2,0,1,14,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,44,60,51,57,14,55,39,61,8,46,29,13,28,32,16,27,37,33,27,10,51,51,52,75,9,33,27,44,12,26,56,12,51,37,12,37,36,43,55,12,55,79,43,60,10,31,32,48,10,28,30,17,42,28,7,34,30,52,35,12,76,70,51,67,10,39,32,50,10,30,29,12,32,35,16,41,25,32,38 H,715412,8,100,4,16,1015675,149,1,1,1,,2,2,2,,120,0,2,2,1,,1,,,,,,1,4,2,700,,1,3,,,1,1,2,,,,820,101,2,6,8200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,51,158,155,192,163,192,244,258,194,149,36,150,267,153,167,231,139,42,36,47,52,184,154,133,127,181,257,222,256,153,48,140,270,165,141,192,154,53,45,256,289,148,130,123,137,142,43,42,43,164,288,120,37,167,162,45,174,308,311,223,257,144,173,144,179,205,41,52,41,154,316,163,36,136,190,42,122,246,236,42 H,715456,8,200,4,16,1015675,24,5,1,2,1,4,2,2,,60,310,600,4,6,1000,1,,1,420,1,1,1,7,,,,1,1,,17,2,1000,8,4,16400,3,,,1,1,16400,1,3,1,3,1,5,1,5,1,0,3,45,0,0,1,0,0,2,617,3,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,38,42,26,29,51,21,21,56,37,38,35,29,37,21,44,24,27,25,6,29,8,9,27,23,6,26,28,8,8,7,7,21,7,36,5,20,33,28,9,24,7,8,29,35,7,23,31,9,7,5,8,29,7,19,5,30,21,21,40,19,41,50,29,20,46,29,19,37,52,39,35,27,41,24,41,28,35,22,59 H,715666,8,300,4,16,1015675,72,2,1,2,2,2,2,2,,140,0,2,3,4,550,1,,1,620,1,2,1,7,,,,1,1,,16,3,2,9,4,49000,4,,,3,1,49000,0,4,4,4,2,6,0,2,0,0,0,19,0,0,0,2,2,2,760,3,0,1,18,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,140,63,58,62,18,71,129,72,111,106,18,60,32,83,66,24,66,25,84,24,20,79,72,99,137,65,22,75,23,24,133,74,97,73,63,99,67,123,91,22,22,93,73,60,110,74,18,65,26,26,149,74,86,72,71,123,75,125,76,94,121,63,77,79,23,74,145,67,128,116,16,71,26,82,97,26,73,16,102 H,715694,8,500,4,16,1015675,103,7,1,1,,3,2,2,,130,9500,2,4,1,,1,,,,,,1,6,2,680,,1,3,,,1,90,7,4,16580,3,822,59,2,1,16580,0,3,3,3,1,1,5,7,0,0,5,,0,0,1,0,0,1,,,1,0,,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,177,227,127,107,100,98,91,32,89,191,29,80,31,103,162,122,190,33,26,110,166,167,95,124,104,98,117,30,84,170,32,99,33,87,123,110,192,43,258,135,31,30,114,89,123,117,108,143,110,29,158,107,163,97,28,81,28,143,146,123,27,27,80,102,115,88,111,172,113,35,180,134,159,117,29,102,33,157,29 H,715831,8,300,4,16,1015675,102,3,1,1,,5,2,2,,30,0,2,50,1,250,1,,2,1000,2,1,1,9,,,,1,1,,16,2,130,2,2,50000,1,,,1,1,50000,0,1,1,1,1,2,1,3,0,0,1,29,0,0,1,0,0,2,1195,3,0,1,22,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,99,22,81,225,100,100,162,110,31,34,25,112,104,98,88,103,166,153,134,41,98,179,96,27,105,95,43,104,201,193,156,115,89,109,86,99,26,30,28,154,92,29,89,197,92,119,171,93,32,30,29,108,92,112,93,107,179,176,185,27,98,149,85,32,112,103,31,86,164,200,140,105,96,99,125,103,32,30,36 H,715977,8,900,4,16,1015675,76,1,1,1,,3,2,2,,30,0,700,3,4,250,1,,1,490,1,1,1,6,,,,1,1,,12,1,540,7,,,,,,1,6,36000,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,0,0,1,623,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,74,23,23,82,26,125,78,65,83,157,80,24,80,114,109,74,89,130,78,129,69,137,151,75,122,22,70,87,71,18,75,117,72,23,22,79,78,22,81,125,82,145,152,89,120,25,84,76,75,21,72,98,68,20,26,75,64,25,77,25,67,25,21,73,16,108,82,72,94,128,83,25,87,128,121,84,71,112,85 H,716055,8,300,4,16,1015675,100,2,1,1,,4,2,2,,30,0,2,180,1,250,1,,,,,3,1,8,,,,1,2,,15,3,350,5,4,45132,4,,,1,1,45132,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,2,1,398,,0,1,28,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,111,103,172,91,28,38,29,114,124,117,90,86,155,203,171,94,30,92,32,184,107,110,185,98,31,27,35,105,121,102,85,93,146,172,128,89,31,93,29,175,110,85,171,112,30,28,37,117,107,130,123,108,156,166,167,94,31,101,30,184,112,82,167,109,30,27,33,121,88,111,106,90,140,158,146,108,31,76,24 H,716190,8,900,4,16,1015675,73,2,1,1,,3,2,2,,40,0,2,70,1,450,1,,2,940,1,1,1,6,,,,1,1,,17,2,70,1,4,50620,4,,,1,1,50620,0,4,4,4,1,2,0,2,0,0,0,26,0,0,0,2,2,1,1094,3,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,115,129,70,20,70,122,83,86,102,69,21,21,22,87,86,70,70,64,22,128,163,105,60,21,77,157,75,57,142,80,23,25,20,59,71,76,70,80,19,115,120,117,70,22,75,108,83,73,131,67,23,22,18,89,83,74,70,59,19,113,130,135,75,26,76,126,69,62,140,75,21,27,24,68,75,77,69,70,27 H,716462,8,400,4,16,1015675,24,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,9,22,45,42,39,21,36,29,25,25,8,6,7,21,37,31,10,27,40,22,11,27,41,45,37,21,22,23,20,26,6,8,8,21,39,21,7,27,7,25,38,29,8,6,8,23,26,29,20,31,39,34,39,25,7,28,49,21,7,23,64,24,7,10,7,29,27,29,26,20,38,34,48,18,7,23,34,22,37 H,716744,8,300,4,16,1015675,21,4,1,1,,4,2,2,,30,0,2,30,1,360,1,,2,100,2,1,1,6,,,,1,1,,14,2,720,3,2,27700,2,,,3,1,27700,0,2,2,2,1,4,1,4,0,0,2,13,0,0,1,0,0,2,308,3,0,1,16,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,20,32,21,22,39,21,6,44,38,6,23,21,7,22,6,21,19,21,5,39,23,31,21,21,33,22,4,37,34,9,19,23,7,20,9,34,23,20,41,5,18,5,23,27,6,20,40,6,6,33,19,23,41,22,34,21,24,21,35,8,20,6,24,21,6,18,38,6,6,36,20,26,35,22,32,20,17,21,6 H,717107,8,600,4,16,1015675,93,1,1,1,,4,2,2,,120,0,2,300,1,300,1,,,,,3,1,8,,,,1,2,,20,1,1200,3,,,,,,1,6,40000,0,4,4,4,1,4,0,,0,0,0,26,0,0,0,1,1,1,856,,0,1,49,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,161,29,26,96,97,156,95,94,97,90,156,103,100,28,24,144,155,27,105,102,154,28,28,94,86,155,97,97,87,95,177,94,92,26,28,163,158,27,100,104,30,162,164,101,90,29,96,87,105,97,26,98,92,158,156,24,29,150,91,92,26,168,141,92,96,25,93,97,103,102,27,97,95,184,164,28,26,161,97,89 H,717142,8,400,4,16,1015675,24,1,1,1,,3,2,2,,50,0,2,3,3,290,1,,,,,3,1,5,,,,1,2,,15,2,500,2,,,,,,1,6,17400,0,4,4,4,1,3,0,,0,0,0,14,0,0,0,1,1,1,206,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,22,22,23,29,9,24,26,42,34,5,8,34,24,9,44,39,26,27,22,7,27,23,24,24,6,20,20,36,34,10,10,39,22,8,48,50,28,17,24,39,22,24,31,24,38,21,20,5,9,49,46,8,23,42,9,9,26,20,28,42,32,24,24,24,45,18,22,8,5,30,37,7,27,34,6,8,29,23,17 H,717303,8,500,4,16,1015675,89,2,1,1,,3,2,1,,410,0,800,3,6,1000,1,,2,960,2,1,1,5,,,,1,1,,19,5,1200,4,1,33500,4,,,1,1,33500,0,4,4,4,1,3,0,2,0,0,0,64,0,0,0,1,0,2,1787,3,0,0,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,142,141,112,145,31,97,80,106,32,84,91,28,86,80,25,83,78,102,96,135,32,24,31,30,156,105,101,28,138,89,92,150,81,87,136,65,88,105,91,24,152,172,146,145,26,87,94,115,31,79,76,23,88,80,25,106,81,85,88,110,32,23,28,37,145,94,82,27,168,94,108,133,73,89,169,78,95,100,92 H,717654,8,900,4,16,1015675,182,2,1,1,,3,2,2,,50,0,2,3,3,330,1,,2,390,2,1,1,6,,,,1,1,,9,2,2,6,5,7000,2,,,1,2,7000,0,2,2,2,1,3,1,2,0,0,1,86,0,0,1,0,0,2,503,3,0,1,10,1,11,10,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,45,204,183,212,177,149,274,326,370,217,69,212,310,170,113,235,163,53,55,272,424,177,175,210,165,184,71,62,67,251,271,146,66,184,167,48,162,299,338,380,237,185,160,160,193,180,51,66,68,190,327,198,48,194,183,63,206,242,247,53,93,178,185,223,145,140,370,322,198,223,47,164,327,163,221,346,179,71,64,105 H,717746,8,600,4,16,1015675,84,2,1,1,,3,3,2,,80,0,2,3,3,0,1,,,,,3,1,4,,,,1,2,,15,2,100,3,1,23300,4,,,4,1,23300,0,4,4,4,1,2,0,2,0,0,0,10,0,0,0,0,0,1,196,,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,153,141,145,25,74,75,136,28,95,80,24,82,78,30,88,85,81,22,23,80,81,96,94,85,25,155,91,82,137,137,84,25,22,83,149,22,136,95,84,26,21,27,24,141,86,81,26,140,80,86,131,79,84,155,80,87,93,146,140,82,89,75,83,80,165,29,72,92,25,23,79,149,141,84,25,133,27,84,82 H,717750,8,800,4,16,1015675,91,5,1,2,1,3,2,2,,50,0,2,200,1,560,1,,2,560,2,1,1,7,,,,1,1,,13,2,2,8,1,87200,2,,,1,1,87200,1,2,4,2,1,7,0,5,0,0,2,14,0,1,1,0,0,1,985,3,0,1,27,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,143,84,125,89,70,60,25,92,21,105,71,23,69,143,27,28,140,92,25,115,23,98,32,92,84,83,144,88,249,120,84,133,148,42,145,178,27,95,139,98,182,89,164,91,91,83,25,95,25,79,102,28,85,163,26,22,146,88,26,93,30,116,27,94,97,102,137,88,139,71,108,175,68,27,188,125,22,107,161 H,718361,8,500,4,16,1015675,92,2,1,1,,4,2,2,,40,0,2,140,1,280,1,,1,1200,1,1,1,7,,,,1,1,,18,3,1000,1,2,74000,4,,,1,1,74000,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,2,0,1,1463,3,0,1,50,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,162,98,96,102,85,159,89,97,28,28,148,180,25,93,155,27,29,86,83,91,22,96,94,97,94,25,79,96,140,144,31,23,158,99,29,168,158,92,91,90,27,92,104,105,95,25,80,82,134,147,26,31,179,87,27,139,156,99,95,105,156,99,97,89,95,134,101,91,30,27,156,169,25,92,170,26,27,96,91 H,718936,8,900,4,16,1015675,96,3,1,1,,3,2,2,,60,0,2,20,1,260,1,,2,600,2,1,1,6,,,,1,1,,11,4,720,5,3,71000,4,,,1,1,71000,0,4,4,4,1,6,0,3,0,0,0,14,0,0,0,0,0,1,854,3,0,1,23,3,5,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,174,96,162,100,93,167,98,165,32,35,86,98,89,133,84,27,123,30,86,142,27,105,30,107,98,25,84,28,192,150,95,98,108,28,71,164,97,211,89,170,26,109,28,97,89,34,129,26,162,180,84,81,85,25,100,150,96,174,98,27,152,93,143,105,77,148,108,152,40,25,116,95,113,144,90,35,99,28,103 H,719014,8,100,4,16,1015675,29,4,1,3,1,3,2,2,,130,0,130,3,6,,1,,,,,,1,5,2,500,,1,3,,,2,2,9,2,42400,2,641,18,1,1,42400,0,2,2,2,1,5,2,4,0,0,2,,0,0,1,0,0,2,,,0,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,34,7,10,30,55,10,41,26,31,25,26,30,29,8,53,30,28,49,33,29,54,29,30,51,36,28,27,44,9,9,8,9,48,30,25,9,49,27,51,10,34,43,43,27,10,52,10,24,34,35,22,27,34,52,9,28,32,10,25,30,8,31,27,8,37,26,36,8,51,51,49,43,8,31,28,42,10,28,8 H,719052,8,400,4,16,1015675,78,2,1,1,,3,2,2,,40,0,2,10,1,1400,1,,,,,3,1,8,,,,1,2,,12,2,560,9,4,26200,4,,,1,1,26200,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,2,284,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,50,61,70,155,131,86,160,31,153,28,69,25,19,53,81,80,67,100,122,59,115,28,23,68,70,128,75,64,86,62,129,99,78,30,20,99,155,30,36,108,79,81,51,20,19,59,25,78,27,131,75,163,158,67,89,104,60,56,103,104,40,150,135,58,83,20,78,87,57,82,20,74,99,87,120,33,24,99,148 H,719294,8,100,4,16,1015675,17,1,1,1,,2,1,2,,50,0,2,10,1,280,1,0,,,,3,1,4,,,,1,2,,8,1,140,7,,,,,,1,4,18600,0,4,4,4,1,7,0,,0,0,0,6,0,0,0,1,1,1,95,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,18,25,15,21,7,31,7,5,19,17,26,25,5,15,15,19,5,17,5,19,21,5,16,16,26,5,25,28,18,15,6,3,29,19,17,17,30,17,31,17,18,27,15,19,5,31,5,7,17,20,31,29,7,18,20,17,5,17,5,16,15,5,16,17,28,5,32,25,17,16,5,5,27,15,17,15,26,18,34 H,719327,8,900,4,16,1015675,61,2,1,3,6,4,2,2,,40,0,1800,100,4,0,1,,,,,3,1,7,,,,1,2,,10,2,410,9,4,73500,4,,,1,1,73500,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,493,,0,0,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,27,23,18,50,107,74,23,63,69,18,58,88,75,82,55,52,73,62,106,57,20,18,14,55,93,78,29,52,57,17,41,86,88,109,67,60,63,52,18,64,120,112,86,68,22,54,96,58,64,82,64,15,16,18,46,57,62,64,23,59,83,106,94,58,21,60,93,64,69,86,57,20,16,18,62,69,68,57,100 H,719528,8,500,4,16,1015675,84,2,1,,,2,5,,,40,0,2,60,1,,1,,,,,,1,4,2,530,,1,3,,,1,1,5,7,18000,1,630,42,1,3,18000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,83,79,23,116,25,83,31,26,24,29,85,86,25,27,79,20,22,84,87,142,139,115,75,141,89,146,103,80,85,97,128,163,76,96,143,88,100,130,165,81,85,90,152,88,146,96,165,155,133,136,79,81,139,140,92,148,147,86,79,29,24,23,83,22,73,26,100,99,79,80,25,26,91,78,30,84,72,21,27,90 H,719652,8,500,4,16,1015675,95,2,1,1,,3,2,2,,60,0,2,50,1,260,1,,1,800,1,1,1,6,,,,1,1,,16,2,240,2,1,60500,4,,,1,1,60500,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,930,3,0,1,12,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,101,32,98,27,136,149,117,103,84,29,92,182,111,184,178,28,95,26,83,99,102,24,92,22,173,246,76,77,95,25,74,192,110,205,155,33,91,30,90,104,94,144,87,197,32,38,115,82,78,122,101,22,102,34,30,166,107,140,78,76,117,175,105,238,41,24,97,144,95,122,119,34,76,23,22,128,111,144,93,109 H,719798,8,500,4,16,1015675,97,3,1,1,,4,2,2,,40,0,2,20,1,600,1,,2,700,1,1,1,6,,,200,1,1,,17,3,410,2,2,60700,1,,,1,1,60700,0,1,1,1,1,3,1,3,0,0,1,21,0,0,1,0,0,2,1044,1,0,1,14,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,104,99,167,83,29,25,29,99,104,94,92,92,155,162,152,100,29,77,156,26,110,102,32,98,158,146,161,124,97,98,109,114,34,27,31,86,167,87,162,25,87,103,28,95,182,144,192,89,109,100,89,86,36,31,27,87,164,89,30,152,89,103,162,105,30,27,29,100,92,102,98,104,174,157,161,95,28,93,21 H,719856,8,800,4,16,1015675,55,4,1,3,1,3,2,2,,150,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,5,1,3,1,36530,2,,,1,1,36530,0,2,2,2,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,0,0,,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,54,77,49,41,13,15,65,87,19,44,73,21,20,62,61,79,54,59,59,62,54,123,47,47,22,19,94,82,16,59,81,15,21,59,44,94,64,69,57,58,49,92,52,58,19,17,98,90,14,44,93,17,13,52,61,93,61,65,50,67,59,104,42,58,17,15,113,126,19,60,145,14,14,55,45,96,47,54,112 H,719899,8,700,4,16,1015675,111,3,1,1,,3,2,2,,150,0,2,3,3,300,1,,2,500,2,1,1,6,,,,1,1,,13,1,300,3,7,8700,2,,,1,3,8700,1,2,4,2,1,5,0,3,0,0,1,101,0,1,1,1,0,1,800,3,0,1,24,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,187,35,200,169,115,112,30,32,188,107,103,114,192,113,116,119,34,101,112,199,107,111,117,108,37,34,102,120,112,32,199,33,118,194,172,203,111,32,212,116,34,185,36,34,107,99,196,202,32,105,120,104,32,104,107,120,196,119,96,35,106,117,102,113,199,194,108,112,115,182,32,190,116,35,33,36,107,194,32 H,720166,8,100,4,16,1015675,74,2,1,,,2,4,,,110,0,2,30,1,440,1,,2,280,2,1,1,4,,,,1,1,,16,2,40,3,8,45600,4,,,1,3,45600,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,1,1,1,635,3,0,0,33,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,79,20,20,84,70,69,78,65,127,66,23,127,83,130,72,23,87,22,122,118,68,25,26,65,66,71,65,64,121,68,22,110,78,132,68,21,78,26,20,27,67,128,160,70,66,71,61,67,21,76,128,23,74,26,83,109,64,113,23,23,76,122,113,79,71,71,89,70,26,90,138,22,58,22,77,120,69,124,126 H,720571,8,300,4,16,1015675,64,2,1,1,,3,2,2,,100,0,2,150,3,250,1,,1,1000,1,1,1,5,,,,1,1,,16,2,420,3,1,80000,4,,,1,1,80000,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,2,1285,3,0,1,34,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,19,60,123,124,73,18,110,18,95,57,57,57,67,63,91,22,58,56,70,68,57,23,61,71,19,52,61,56,20,85,102,127,123,19,56,54,105,18,106,19,22,53,129,113,59,23,127,19,56,59,60,66,52,52,113,16,62,70,83,63,54,17,53,83,16,66,62,59,18,104,94,118,93,19,70,63,111,21,114 H,720588,8,700,4,16,1015675,99,1,1,2,1,3,2,2,,40,0,2,80,1,690,1,,1,810,1,1,1,8,,,,1,1,,21,2,2,5,,,,,,1,4,-4187,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,930,3,0,1,35,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,163,164,165,30,85,95,170,31,106,99,31,97,101,30,99,114,105,30,155,105,32,30,27,168,105,108,28,147,105,100,156,104,99,177,104,98,109,176,31,99,163,188,178,29,96,89,190,29,115,96,30,101,109,30,106,115,96,32,167,102,29,28,31,164,98,93,27,170,90,94,165,96,89,172,98,95,112,189,28,93 H,720742,8,600,4,16,1015675,81,1,1,,,2,5,,,2,0,2,90,3,,1,,,,,,1,4,2,650,,1,3,,,1,1,6,,,,740,21,1,6,43000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,95,24,74,80,122,147,27,23,143,81,23,120,139,70,85,26,75,77,74,73,81,25,85,76,138,129,25,25,127,82,20,136,141,79,81,25,73,79,90,75,75,122,92,78,24,20,130,162,23,83,128,23,22,75,82,142,77,77,97,84,80,131,81,78,25,27,134,124,27,84,138,22,21,76,84,132,75,78,87,77 H,720997,8,300,4,16,1015675,109,2,1,2,1,4,2,2,,50,0,2,3,3,1200,1,,1,330,1,1,1,9,,,,1,1,,19,3,2,3,2,135160,4,,,1,1,135160,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,0,0,1,380,3,0,1,28,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,110,95,37,34,36,34,118,36,98,35,112,95,96,113,41,33,129,132,103,127,177,194,121,112,94,99,205,106,176,112,136,181,183,160,107,125,198,196,36,31,131,119,40,39,28,33,120,26,80,35,108,126,117,85,36,40,121,105,98,127,169,165,118,105,102,127,216,100,171,118,165,174,157,158,114,105,171,194,24 H,721060,8,200,4,16,1015675,59,2,1,1,,2,2,2,,110,0,500,3,6,680,1,,,,,3,1,5,,,,1,2,,12,3,430,6,4,74500,4,,,1,1,74500,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,337,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,63,59,18,72,21,57,61,19,73,98,13,18,88,50,45,100,60,85,89,61,58,47,18,67,19,65,59,20,75,92,16,16,127,75,66,114,60,100,102,52,65,70,24,56,17,70,52,22,68,115,14,19,95,51,72,90,50,73,83,54,51,60,20,54,22,80,59,19,62,122,19,15,113,49,59,113,58,91,85 H,721166,8,800,4,16,1015675,227,2,1,,,2,7,,340,50,0,2,30,1,900,1,,,,,3,1,5,,,,1,2,,22,1,1,5,4,181400,4,,,1,1,181400,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,2,2,2,604,,0,0,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,280,170,184,330,269,220,346,121,360,71,244,95,129,204,188,290,209,215,236,223,382,113,79,189,212,308,295,195,280,220,281,232,223,122,101,304,328,72,112,392,227,208,280,75,87,211,64,378,79,336,231,280,244,216,251,255,226,256,280,316,87,259,397,224,263,100,190,253,184,230,102,208,226,277,308,86,82,361,294 H,721395,8,700,4,16,1015675,119,6,1,1,,5,2,2,,120,0,2,40,1,800,1,,1,1500,1,1,1,9,,,300,1,1,,21,2,250,2,2,110100,3,,,1,1,110100,0,3,3,3,1,3,4,6,0,0,4,22,0,0,1,0,0,1,1981,2,0,1,42,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,33,36,35,114,212,120,34,132,107,36,123,205,195,200,121,118,114,111,203,112,38,32,37,122,210,111,36,128,122,35,113,193,203,209,134,120,115,109,203,115,32,33,34,109,187,129,35,127,121,33,119,209,195,214,123,112,116,126,213,123,35,35,35,120,212,122,34,116,121,38,113,178,210,205,112,133,120,115,189 H,721538,8,500,4,16,1015675,54,2,1,1,,3,2,2,,80,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,2,520,5,4,13000,4,,,1,1,13000,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,98,101,53,53,57,60,66,12,63,93,15,49,15,56,105,51,93,13,104,52,18,13,53,48,46,52,51,105,46,15,84,61,102,58,16,46,15,82,19,45,87,86,52,53,56,57,73,16,48,106,16,51,19,49,84,46,88,16,82,44,15,15,47,65,64,54,49,85,49,15,97,50,104,53,17,58,15,75,15 H,721779,8,900,4,16,1015675,78,3,1,1,,3,1,2,,80,0,2,3,3,600,1,600,2,550,2,1,1,5,,,,1,1,,14,2,720,3,1,46000,2,,,1,1,46000,0,2,2,2,1,4,1,3,0,0,1,24,0,0,1,0,0,1,907,3,0,0,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,86,83,127,80,21,147,128,21,82,74,26,84,19,73,71,67,145,82,21,119,80,74,113,91,22,116,121,21,81,74,21,94,23,70,76,78,145,105,124,22,71,86,21,76,117,21,25,126,71,91,110,67,108,71,67,76,24,70,118,22,82,73,20,85,159,27,24,129,83,91,154,77,131,70,77,93,27,90,22 H,721801,8,500,4,16,1015675,24,1,1,1,,3,2,2,,60,0,300,3,3,590,1,,1,770,1,1,1,6,,,,1,1,,16,1,620,5,,,,,,1,6,48000,0,4,4,4,1,6,0,,0,0,0,23,0,0,0,0,0,1,907,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,24,6,9,26,8,47,22,24,27,42,25,8,22,45,38,21,25,34,25,9,21,6,9,26,6,48,24,29,27,43,25,5,27,36,43,28,19,51,23,40,25,46,51,23,44,7,24,24,26,6,26,43,23,7,6,23,25,9,28,39,27,40,36,23,45,6,27,21,24,8,22,47,24,7,8,24,27,9,25 H,722040,8,600,4,16,1015675,109,4,1,1,,3,2,2,,80,0,2,80,1,240,1,,2,820,1,1,1,6,,,170,1,1,,13,2,500,5,1,57900,2,,,1,1,57900,0,2,2,2,1,4,1,4,0,0,1,25,0,0,1,0,0,1,1212,1,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,34,108,188,179,101,32,180,30,97,115,107,110,113,97,184,33,107,115,127,104,109,191,104,100,177,105,110,97,176,35,33,30,30,193,115,105,30,172,32,178,164,110,33,35,108,182,33,174,113,105,116,109,111,113,29,174,98,103,103,106,104,32,115,109,34,94,105,114,35,179,182,189,192,35,106,105,177,33,174 H,722041,8,900,4,16,1015675,28,9,1,1,,5,2,2,,90,0,2,3,2,200,1,,2,760,2,1,1,9,,,,1,1,,19,4,520,9,1,271000,2,,,1,1,271000,0,2,2,2,1,4,7,9,0,0,7,5,0,0,1,0,0,1,1160,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,23,25,28,37,26,32,42,47,38,8,38,55,23,35,50,31,8,9,8,6,21,28,23,33,24,46,56,46,28,10,26,46,37,21,56,35,7,10,8,10,29,28,34,28,36,44,36,42,34,7,24,38,20,33,44,18,8,8,7,7,33,41,31,30,26,70,60,39,29,6,25,46,33,28,51,35,8,9,8 H,722070,8,800,4,16,1015675,49,1,1,1,,3,2,2,,20,0,2,60,1,500,1,,2,230,1,1,1,5,,,,1,1,,20,1,200,4,,,,,,1,6,13200,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,1,1,2,369,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,55,45,80,48,46,17,17,68,75,14,49,87,15,13,54,59,74,36,51,49,47,51,84,51,49,13,16,89,88,12,48,92,16,13,55,50,87,51,53,52,48,49,13,40,45,88,78,13,13,91,49,15,83,80,50,53,16,51,48,51,39,56,12,46,65,92,81,15,16,103,55,17,71,83,52,43,14,53,44,54 H,722072,8,100,4,16,1015675,111,2,1,1,,3,2,2,,140,0,2,3,3,4800,1,,,,,3,1,7,,,,1,2,,24,2,960,7,4,224000,4,,,1,1,224000,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,2,2,1203,,0,1,65,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,119,206,27,105,115,26,123,87,29,137,98,113,40,140,163,178,160,34,120,98,129,31,207,114,121,210,105,156,179,102,116,133,171,29,43,34,37,188,145,111,88,30,181,113,108,152,105,101,155,89,148,97,138,44,34,49,37,190,103,99,116,168,35,124,123,47,119,96,36,150,113,109,32,193,165,140,210,35,109 H,722281,8,900,4,16,1015675,17,2,1,2,1,5,2,2,,50,0,2,3,3,500,1,,,,,3,1,9,,,,1,2,,15,3,600,6,1,47800,4,,,1,1,47800,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,0,2,200,,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,9,5,30,32,5,15,33,5,5,20,20,28,13,15,16,15,27,16,17,15,5,5,35,26,5,20,37,5,5,17,13,24,20,22,18,15,37,20,18,17,7,7,26,33,7,13,32,7,5,16,19,31,15,13,20,15,28,17,15,15,3,5,40,25,5,18,24,5,5,15,15,29,16,21,17,18,33,15,17 H,722390,8,800,4,16,1015675,56,2,1,2,1,2,2,2,,100,0,2,200,2,1200,1,,1,820,1,1,1,4,,,,1,1,,14,3,50,2,1,60000,4,,,1,1,60000,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,0,0,1,1124,3,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,98,45,52,122,126,72,92,56,107,88,107,53,59,48,50,81,79,60,17,51,12,48,59,16,17,16,14,79,15,45,15,49,76,66,42,28,21,50,19,56,20,64,57,17,17,16,17,82,18,54,20,62,52,58,56,14,15,52,96,71,109,52,60,90,91,131,98,50,84,56,81,54,47,54,63,72,82,61,99 H,722493,8,900,4,16,1015675,37,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,13,34,38,49,31,9,37,38,59,50,11,11,64,34,11,87,76,40,41,40,60,46,47,32,37,65,24,32,14,11,63,62,15,38,56,10,9,43,35,25,63,32,31,38,49,72,42,40,11,11,52,62,10,35,62,11,11,38,41,38,10,61,44,30,43,13,33,42,59,80,12,11,58,35,10,52,47,39,40,25 H,723027,8,100,4,16,1015675,92,1,1,1,,3,2,2,,70,0,2,150,1,440,1,,1,1500,1,1,1,7,,,,1,1,,20,2,200,6,,,,,,1,6,160000,0,4,4,4,1,6,0,,0,0,0,13,0,0,0,1,1,1,1737,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,88,86,34,100,25,82,108,30,106,177,28,23,146,98,92,147,92,164,128,104,89,89,30,86,33,108,88,28,95,163,25,27,149,107,76,168,98,130,31,84,120,82,200,106,127,101,93,177,91,27,174,163,23,78,86,33,81,23,25,101,94,97,147,107,167,94,87,145,93,25,161,162,25,104,87,25,83,25,127 H,723173,8,800,4,16,1015675,35,4,1,1,,4,2,2,,60,480,100,3,3,,1,,,,,,1,6,2,430,,1,3,,,2,2,9,2,38800,1,498,15,1,1,38800,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,15,33,44,34,11,63,10,44,72,49,60,36,10,48,30,43,44,37,41,8,10,33,35,31,10,61,8,48,81,56,65,37,10,59,37,26,38,43,36,10,10,27,33,35,8,55,12,53,60,51,71,25,10,70,42,44,36,57,48,11,12,41,41,27,9,68,12,38,69,55,64,35,11,58,42,47,34,33,43 H,723253,8,600,4,16,1015675,74,1,1,2,1,3,2,2,,40,0,2,100,1,540,1,,,,,3,1,7,,,,1,2,,17,2,480,6,,,,,,1,6,11800,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,1,272,,0,1,13,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,70,23,21,120,123,23,79,131,24,19,72,79,118,70,79,69,67,133,73,72,76,122,118,23,21,110,70,24,122,126,75,66,19,72,73,66,73,21,75,66,74,23,22,121,116,22,69,110,22,22,70,73,115,71,64,65,80,117,77,72,77,117,113,20,20,118,75,23,140,119,67,70,23,85,72,78,65,20,87,75 H,724036,8,700,4,16,1015675,107,5,1,1,,4,2,2,,60,0,2,10,1,500,1,,,,,3,1,8,,,,1,2,,20,3,300,3,2,91000,2,,,1,1,91000,0,2,2,2,1,4,3,5,0,0,3,6,0,0,1,0,0,1,429,,0,1,47,1,8,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,107,191,108,30,109,107,34,106,176,192,176,102,109,108,100,101,32,185,30,32,100,193,104,33,104,105,32,114,190,182,186,107,102,104,107,111,29,32,192,178,105,29,105,181,102,99,176,115,28,30,32,104,107,107,107,100,191,30,188,184,106,32,108,184,117,107,183,107,30,32,32,106,114,109,111,114,177,173 H,724037,8,900,4,16,1015675,56,2,1,1,,4,2,2,,50,0,2,100,6,680,1,,2,540,2,1,1,8,,,,1,1,,15,2,410,7,4,9380,4,,,1,1,9380,0,4,4,4,1,7,0,2,0,0,0,101,0,0,0,2,0,1,836,3,0,1,15,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,18,18,65,53,57,72,44,73,88,82,60,22,52,73,63,66,116,70,73,102,108,104,86,55,53,71,49,12,11,13,72,115,65,18,53,68,17,53,19,16,23,20,48,55,53,48,59,90,91,110,63,15,50,110,72,46,87,54,114,97,109,91,51,64,60,50,57,21,15,20,56,86,55,22,70,44,13,48,12 H,724087,8,300,4,16,1015675,81,2,1,1,,2,2,2,,210,0,2,140,1,,1,,,,,,1,4,2,600,,1,3,,,2,240,8,1,51000,4,970,23,1,1,51000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,23,70,85,134,23,82,79,29,77,72,28,76,82,91,25,146,119,130,74,136,21,73,85,127,27,79,67,24,71,89,28,73,93,81,32,170,136,128,100,19,131,71,89,23,136,87,78,138,99,72,137,85,89,80,134,22,26,24,66,23,140,75,84,23,135,75,71,133,93,86,138,82,81,93,136,28,21,24,84 H,724184,8,500,4,16,1015675,92,4,1,1,,4,2,2,,100,0,2,180,1,400,1,,1,740,1,1,1,7,,,,1,1,,17,2,120,2,2,65000,2,,,1,1,65000,0,2,2,2,1,2,2,4,0,0,2,19,0,0,1,0,0,1,1030,3,0,1,32,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,93,93,104,162,92,24,74,24,33,162,104,159,101,88,165,87,160,34,82,30,100,90,105,141,96,25,82,32,31,168,94,160,94,88,150,97,139,24,85,152,99,86,93,34,93,140,91,173,177,29,97,26,95,103,29,94,29,147,87,156,108,115,84,27,86,159,91,165,147,23,88,31,83,94,28,90,25,157,90 H,724366,8,100,4,16,1015675,86,5,1,1,,4,2,2,,100,0,2,2,1,1200,1,,1,550,1,1,1,7,,,,1,1,,15,2,360,9,1,55800,2,,,1,1,55800,1,2,2,2,1,3,2,5,0,0,2,15,0,0,1,0,0,2,680,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,83,31,132,157,70,74,116,25,101,122,80,166,161,39,116,32,92,102,26,111,68,145,34,25,90,70,85,154,66,21,83,25,25,157,80,113,76,79,137,99,74,32,165,174,101,77,83,27,86,117,99,146,157,33,89,27,77,92,27,127,89,136,21,32,91,77,81,161,81,20,71,18,26,145,92,140,78,83,111,117 H,724506,8,100,4,16,1015675,96,2,1,,,1,4,,,40,2800,2,40,1,,1,,,,,,1,3,2,350,,1,3,,,1,1,3,7,17000,1,430,30,1,3,17000,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,99,33,74,33,91,107,31,61,178,38,19,119,86,106,148,75,251,72,93,142,75,28,111,32,105,102,29,100,138,35,31,177,133,109,136,108,194,134,126,159,81,25,103,32,96,110,46,98,161,27,40,144,100,103,136,98,127,113,90,96,109,36,129,25,78,102,31,64,130,36,23,205,62,105,199,82,197,86,169,138 H,724562,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,724621,8,300,4,16,1015675,52,1,1,1,,2,2,2,,120,0,120,3,3,420,1,,1,820,1,1,1,6,,,,1,1,,16,1,660,7,,,,,,1,6,41000,0,4,4,4,1,1,0,,0,0,0,29,0,0,0,0,0,2,1005,3,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,53,19,61,51,17,46,94,113,73,69,55,73,52,57,20,14,18,45,71,99,49,18,56,64,15,36,73,56,73,53,59,56,46,53,22,16,15,57,83,94,51,19,45,58,18,58,89,88,104,48,53,57,47,44,21,17,15,60,78,89,45,15,57,47,16,51,100,112,82,50,50,51,67,54,13,13,14,53,77,84 H,724624,8,300,4,16,1015675,166,8,1,1,,5,2,2,,110,0,2,160,1,,1,,,,,,1,9,2,1100,,1,3,,,3,960,5,3,22500,3,1450,61,2,1,28500,0,3,3,3,1,3,3,6,0,1,3,,0,0,1,0,0,2,,,1,0,,2,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,147,119,42,49,48,145,287,142,46,172,275,81,148,313,377,218,154,169,76,163,118,166,253,257,304,138,63,143,178,127,248,331,167,73,113,75,156,156,53,125,133,156,241,279,261,147,61,155,227,118,207,268,132,59,77,57,146,161,361,171,179,198,62,66,63,161,298,201,39,125,276,70,147,248,270,293,174,148,214 H,724683,8,800,4,16,1015675,58,6,1,2,1,5,2,2,,180,0,2,3,3,430,1,,1,800,1,1,1,9,,,800,1,1,,16,2,2,6,1,132500,3,,,1,1,132500,1,3,4,3,1,4,0,6,0,0,2,16,0,1,1,1,0,1,1780,1,0,1,24,3,8,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,98,65,55,96,54,45,77,105,104,98,63,83,55,107,65,61,53,64,85,18,20,51,65,22,60,54,17,17,18,24,60,15,59,19,70,60,55,46,16,16,15,51,62,15,47,57,20,15,18,16,58,13,59,18,51,73,53,48,19,77,93,57,82,106,48,62,111,109,101,111,59,101,56,113,62,59,67,46,101,83 H,724901,8,100,4,16,1015675,67,2,1,1,,4,2,2,,30,0,2,40,1,250,1,,1,640,1,1,1,6,,,170,1,1,,18,3,580,2,1,39400,4,,,2,1,39400,0,4,4,4,1,3,0,2,0,0,0,28,0,0,0,0,0,1,928,2,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,68,110,81,24,79,105,135,75,79,115,20,59,20,20,77,19,110,70,56,73,70,18,67,115,75,20,19,66,66,20,120,65,114,127,57,123,19,57,70,66,82,17,71,126,62,20,21,65,68,21,113,68,116,105,65,119,18,60,71,70,61,132,71,20,74,110,127,64,69,123,19,65,19,24,69,18,112,63,61 H,725199,8,200,4,16,1015675,45,5,1,1,,2,1,2,,150,0,2,3,6,0,1,1800,,,,3,1,4,,,,2,2,,1,2,1,5,2,16300,3,,,1,1,16300,0,3,3,3,1,4,3,5,0,0,3,22,0,0,1,0,0,2,301,,0,0,2,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,12,39,14,42,39,15,33,62,12,21,52,41,42,67,42,57,44,47,64,46,20,60,22,38,41,13,54,71,17,21,61,41,64,76,50,52,36,52,18,43,66,33,64,52,57,70,35,15,82,66,14,43,55,17,47,13,45,41,15,40,65,40,54,37,46,69,35,14,66,54,17,51,55,18,40,13,42,42,49 H,725357,8,900,4,16,1015675,30,2,1,2,1,4,2,2,,80,0,200,3,3,480,1,,,,,3,1,9,,,,1,2,,17,3,180,3,1,45000,4,,,1,1,45000,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,2,223,,0,1,19,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,50,33,8,25,29,9,23,38,52,56,26,27,36,23,29,11,11,10,45,25,32,26,13,41,33,9,22,40,43,44,43,35,35,31,25,11,12,9,12,25,6,39,40,21,34,36,23,10,10,11,38,28,35,31,24,47,45,43,11,29,8,25,45,27,25,43,33,10,8,12,27,23,30,32,40,54,45,45,49 H,725540,8,300,4,16,1015675,83,1,1,1,,3,2,2,,30,0,2,30,1,300,1,,1,700,1,1,1,5,,,,1,1,,13,1,320,3,,,,,,1,4,42000,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,0,0,1,787,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,88,21,87,82,139,83,140,98,137,71,99,23,87,91,25,155,127,24,129,80,131,77,24,131,89,142,71,24,74,28,167,76,27,25,113,104,84,82,102,111,79,135,93,90,24,87,23,84,31,71,82,151,92,81,141,25,26,150,19,86,22,81,149,24,88,22,72,134,94,150,24,85,145,161,81,93,78,86,85 H,726216,8,500,4,16,1015675,67,4,1,,,2,4,,,50,0,2,60,1,,1,,,,,,1,6,2,600,,1,3,,,2,60,2,2,68000,2,715,13,1,1,68000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,65,67,73,120,64,21,65,123,114,74,75,125,18,66,18,16,74,21,66,111,68,65,75,118,66,20,62,102,118,69,62,115,20,75,18,19,63,25,66,149,78,66,62,134,57,20,62,128,110,76,70,139,20,64,19,20,58,18,79,112,71,79,65,110,59,19,72,96,110,74,63,98,20,86,22,20,61,18,74 H,726313,8,100,4,16,1015675,112,5,1,1,,5,2,2,,80,0,2,200,1,420,1,,2,1300,2,1,1,8,,,,1,1,,19,1,480,2,1,95000,3,,,1,1,95000,0,3,3,3,1,2,3,5,0,0,3,23,0,0,1,0,0,1,1847,3,0,1,35,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,114,113,92,233,219,30,186,103,101,27,30,25,126,141,179,28,104,202,219,31,38,196,172,122,105,117,118,40,192,105,118,119,38,195,104,140,29,109,95,119,123,131,115,186,220,31,200,116,121,33,39,34,108,99,153,36,112,166,174,33,37,196,183,100,120,113,128,32,170,130,109,85,32,173,99,118,34,113,127 H,726630,8,700,4,16,1015675,25,3,1,1,,3,2,2,,40,0,2,90,3,200,1,,2,800,1,1,1,7,,,,1,1,,18,2,560,3,3,59000,4,,,1,1,59000,0,4,4,4,1,3,0,3,0,0,0,20,0,0,0,1,1,1,994,3,0,1,29,2,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,8,7,40,7,25,26,40,40,40,26,25,6,41,25,8,25,23,24,41,40,25,25,25,25,9,46,24,23,28,6,41,25,25,7,28,9,9,45,25,25,42,46,8,40,27,25,9,6,7,23,25,40,6,23,38,24,25,23,6,7,25,27,27,25,50,7,24,27,27,39,7,27,23,38,24,42,41,7,25 H,727103,8,200,4,16,1015675,62,5,1,1,,4,2,2,,60,0,2,50,1,500,1,,1,500,1,1,1,8,,,,1,1,,15,3,90,5,1,54600,2,,,1,1,54600,0,2,2,2,1,3,1,5,0,0,1,14,0,0,1,0,0,1,618,3,0,1,25,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,51,18,112,63,93,55,20,53,24,99,62,19,18,66,63,74,59,57,84,95,54,23,95,52,91,72,18,70,21,104,66,23,18,59,76,58,55,73,15,17,46,100,13,60,21,67,124,54,103,21,54,151,146,63,62,55,53,48,15,20,65,161,15,57,19,53,129,69,101,19,79,74,81,65,72,77,61,86,109 H,727182,8,700,4,16,1015675,71,0,1,,,2,5,,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,90,79,126,105,23,136,58,65,20,18,20,61,71,115,23,70,125,77,69,123,115,108,75,70,74,67,20,122,78,66,67,20,125,73,73,21,63,18,26,70,81,77,139,110,22,118,58,73,21,19,19,66,72,122,21,74,106,72,83,139,118,106,63,62,78,74,18,95,81,76,69,25,123,90,73,18,73,20,23,78 H,727805,8,200,4,16,1015675,120,2,1,1,,4,2,2,,110,0,2,120,1,240,1,,1,1100,1,1,1,9,,,,1,1,,14,6,1500,5,1,64450,4,,,1,1,64450,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,1,1455,3,0,1,46,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,128,186,112,113,36,38,46,130,182,93,41,97,155,55,83,195,225,151,36,183,87,94,112,142,272,171,161,86,34,169,189,116,116,161,141,62,27,38,28,88,117,133,114,109,174,193,275,141,41,108,242,94,145,324,87,31,57,30,159,138,90,83,118,121,49,40,31,106,236,178,35,117,96,35,158,233,163,212,221 H,728187,8,800,4,16,1015675,101,5,1,1,,5,2,2,,90,0,2,250,1,1100,1,,1,650,1,1,1,8,,,,1,1,,15,2,460,6,2,30000,3,,,1,1,30000,0,3,3,3,1,1,3,5,0,0,3,41,0,0,1,0,0,2,1028,3,0,1,29,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,95,94,166,118,92,29,27,112,197,37,76,167,36,39,107,68,179,86,77,107,103,84,166,92,85,47,29,244,199,27,101,146,51,25,68,101,160,134,134,90,119,109,129,110,94,29,23,113,128,38,90,218,33,34,120,121,243,113,98,118,88,93,174,99,91,34,22,146,192,28,78,171,29,32,96,116,181,148,132,173 H,728329,8,100,4,16,1015675,132,2,1,1,,2,2,2,,80,0,140,70,1,470,1,,1,1500,1,1,1,3,,,,2,1,,19,3,140,4,,,,,,1,5,82000,0,4,4,4,1,1,0,,0,1,0,24,0,0,0,0,0,1,1674,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,36,36,133,162,125,259,118,48,149,35,37,207,166,254,115,144,252,151,113,45,307,221,105,154,128,30,108,250,146,217,198,38,129,48,151,133,40,138,95,40,168,188,141,164,106,45,189,286,175,283,204,37,108,41,128,130,34,106,179,191,39,45,144,107,116,225,131,37,124,56,53,230,115,241,154,106,236,109,107 H,728700,8,800,4,16,1015675,138,1,1,2,1,4,2,1,,70,0,70,4,6,1100,1,,1,1400,1,1,1,8,,,,1,1,,17,2,2,9,,,,,,1,4,27500,0,4,4,4,1,4,0,,0,0,0,65,0,0,0,0,0,1,1480,3,0,0,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,37,119,231,45,212,120,172,128,169,173,124,36,246,147,126,242,210,130,134,162,120,44,132,130,158,49,234,237,241,232,32,118,155,206,39,140,139,43,224,268,214,134,44,219,48,154,153,138,125,128,123,214,44,137,141,36,38,145,180,149,130,215,174,125,118,265,49,35,40,41,261,136,164,37,179,150,136,249,54 H,728761,8,200,4,16,1015675,87,3,1,1,,5,2,2,,140,0,2,50,1,400,1,,2,200,2,1,1,9,,,,1,1,,18,3,800,2,1,140000,2,,,1,1,140000,0,2,2,2,1,4,1,3,0,0,1,6,0,0,1,0,0,1,757,3,0,1,44,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,108,69,107,170,95,145,29,22,106,86,96,152,91,29,67,27,31,127,69,85,139,92,80,145,73,159,27,29,80,67,114,129,68,28,81,30,26,170,76,85,135,91,88,127,120,140,29,23,85,113,90,139,105,28,72,21,24,107,78,91,153,124,85,134,84,159,26,27,85,89,83,136,77,19,87,27,25,187,91 H,728863,8,800,4,16,1015675,105,2,1,1,,2,2,2,,150,0,2,20,1,1000,1,,2,900,2,1,1,8,,,,1,1,,15,2,10,7,1,102500,4,,,1,1,102500,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,0,0,1,1187,3,0,1,10,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,182,108,28,142,179,35,105,116,33,91,43,108,143,109,133,87,143,101,32,106,178,94,35,199,192,26,99,108,36,135,29,118,92,79,198,112,163,90,43,104,205,93,33,159,140,29,91,131,36,98,31,112,132,110,160,98,195,108,26,101,147,104,34,150,190,28,102,110,25,161,36,89,95,108,207,99,151,86,24 H,729263,8,700,4,16,1015675,113,2,1,1,,3,2,2,,50,0,2,60,1,770,1,,1,1300,1,1,1,6,,,,1,1,,20,2,600,3,1,134000,4,,,1,1,134000,0,4,4,4,1,3,0,2,0,0,0,13,0,0,0,0,0,1,1460,3,0,1,40,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,118,115,108,110,121,204,202,188,110,35,112,193,117,135,198,119,35,30,196,201,114,103,123,114,108,31,34,33,119,193,107,31,117,114,34,114,191,195,30,34,123,120,111,112,119,201,193,193,125,33,119,184,108,106,180,123,33,34,198,196,109,110,109,106,112,35,36,34,118,189,108,36,122,113,35,109,203,211,38 H,729739,8,200,4,16,1015675,128,1,1,1,,5,2,2,,30,0,1900,3,4,610,1,,,,,3,1,9,,,,1,2,,17,1,660,9,,,,,,1,6,41000,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,394,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,129,115,132,139,109,197,234,188,113,38,110,232,120,102,205,144,45,37,167,200,109,139,110,128,150,35,36,40,163,232,123,36,128,148,40,164,238,220,209,184,112,130,103,157,190,44,46,35,161,203,138,37,116,129,30,125,236,219,46,37,114,141,131,115,126,207,227,190,97,43,113,206,147,137,238,108,34,43,53 H,730455,8,500,4,16,1015675,121,4,1,1,,3,2,2,,60,0,2,40,1,600,1,,1,800,1,1,1,6,,,,1,1,,15,3,10,3,1,60000,3,,,1,1,60000,0,3,3,3,1,4,2,4,0,0,2,18,0,0,1,0,0,1,901,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,211,40,42,137,118,184,212,31,118,115,114,29,117,118,124,221,114,129,130,109,115,106,108,235,200,116,120,135,221,34,240,123,33,33,36,130,195,31,36,191,44,183,200,101,123,35,38,197,101,125,112,167,126,113,113,40,118,108,109,101,106,115,132,37,38,133,109,147,35,217,48,128,196,217,264,136,33,212,240 H,730460,8,100,4,16,1015675,24,2,1,1,,4,2,2,,30,0,2,3,6,600,1,,,,,3,1,6,,,,1,2,,22,2,2,6,2,71200,4,,,1,1,71200,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,288,,0,1,37,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,26,7,37,8,33,25,23,27,25,25,35,6,26,23,7,9,24,45,30,27,9,25,27,25,7,41,38,43,42,7,26,22,43,8,27,25,7,29,7,7,29,39,7,43,26,26,25,29,23,32,8,44,29,27,47,41,25,8,26,23,37,25,22,26,44,8,7,7,7,39,25,23,6,43,27,22,39,28,45 H,730666,8,800,4,16,1015675,389,2,1,1,,2,2,2,,170,0,2,3,3,330,1,,,,,3,1,5,,,,1,2,,8,2,400,8,8,166700,4,,,1,3,166700,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,1,1,2,273,,0,1,12,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,348,584,631,451,615,104,364,425,424,131,411,611,367,120,118,405,379,109,603,477,441,147,128,377,129,536,377,359,341,659,374,137,350,554,553,517,468,550,141,393,413,653,591,391,542,122,476,384,367,122,446,605,368,116,113,409,394,138,676,347,375,145,123,376,108,549,405,473,409,559,451,146,363,579,540,442,407,595,126,446 H,730680,8,900,4,16,1015675,82,3,1,2,1,5,2,2,,60,0,2,100,2,100,1,,2,380,2,1,1,6,,,,1,1,,18,4,2,2,6,31000,4,,,1,2,35000,0,4,4,4,1,3,0,2,0,1,0,22,1,0,0,2,2,1,648,3,0,1,24,2,11,12,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,87,88,27,100,87,128,143,24,24,132,106,30,148,125,73,75,21,74,76,69,63,69,21,91,82,121,158,21,19,166,81,25,150,153,95,73,23,76,72,79,70,78,125,82,87,21,23,122,125,21,85,131,28,23,73,72,115,92,101,74,60,65,141,107,80,20,24,110,130,29,88,151,34,36,97,87,139,82,79 H,731475,8,300,4,16,1015675,31,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,3,1,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,27,8,9,61,38,61,30,30,58,25,56,12,8,25,34,36,51,29,8,26,38,54,71,8,26,11,32,32,9,31,7,42,45,27,38,37,9,26,62,29,30,8,10,52,31,59,40,33,50,29,51,11,9,26,29,31,51,32,9,33,33,50,53,7,32,9,31,28,6,34,8,51,56,35,39,30,7,31,55,31 H,731576,8,900,4,16,1015675,67,4,1,2,3,5,2,2,,60,0,2,100,2,350,1,,2,860,2,1,1,7,,,180,1,1,,18,2,2,2,1,105000,4,,,1,1,109000,0,2,4,4,1,3,0,2,0,1,0,15,0,0,1,0,0,1,1362,1,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,30,27,22,63,92,79,23,42,59,19,88,111,116,120,51,54,90,77,91,72,19,18,20,79,131,74,20,62,67,23,66,101,96,102,75,60,52,63,115,79,18,20,19,63,117,62,21,65,75,26,75,120,89,88,68,74,61,70,130,52,27,29,20,65,93,76,18,70,73,13,60,149,138,125,60,47,66,56,104 H,731704,8,400,4,16,1015675,232,3,1,1,,2,2,2,,50,0,2,50,1,200,1,,1,1000,1,1,1,5,,,,1,1,,17,2,2,2,1,53000,1,,,1,1,53000,0,1,1,1,1,3,1,3,0,0,1,25,0,0,1,0,0,1,1100,3,0,1,31,2,2,2,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,216,293,447,441,400,233,115,226,281,304,249,324,274,112,80,59,233,249,206,53,273,196,317,341,278,186,58,200,413,229,312,500,231,72,73,71,314,207,200,63,266,359,399,282,328,268,79,214,204,186,259,406,267,67,60,69,236,192,200,96,201,216,480,433,407,191,59,403,643,241,204,445,186,75,91,77,215,229,314,88 H,731986,8,900,4,16,1015675,113,2,1,2,1,4,2,2,,110,0,2000,180,1,450,1,,2,240,2,1,1,8,,,,1,1,,18,3,720,6,4,130200,4,,,1,1,130200,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,970,3,0,1,33,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,37,105,144,44,97,197,33,37,172,113,123,210,109,181,101,106,100,33,30,99,168,118,105,161,127,41,215,212,42,119,83,31,105,28,111,98,125,247,41,79,139,100,104,243,131,30,186,223,36,120,152,36,119,47,131,110,124,170,245,120,35,108,88,32,91,177,35,23,173,130,121,186,97,202,125,115,118,32,202 H,732129,8,100,4,16,1015675,25,1,1,1,,3,2,2,,160,0,2,3,3,360,1,,,,,3,1,5,,,,1,2,,17,2,480,6,,,,,,1,6,19610,0,4,4,4,1,7,0,,0,0,0,18,0,0,0,1,0,1,296,,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,24,6,7,5,22,28,25,24,28,40,49,50,20,7,25,37,25,22,7,41,23,6,8,8,18,26,25,21,23,39,53,53,34,7,23,39,20,23,47,8,22,40,44,33,23,25,23,26,24,7,5,7,26,45,22,5,22,27,56,7,29,44,51,58,24,28,23,20,22,5,8,7,24,38,22,10,28,27,10 H,732260,8,700,4,16,1015675,27,5,1,1,,4,2,2,,10,0,2,120,1,320,1,,1,920,1,1,1,8,,,460,1,1,,18,2,540,2,1,59700,2,,,4,1,59700,0,2,2,2,1,4,3,5,0,0,3,31,0,0,1,0,0,1,1555,2,0,1,31,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,26,46,7,23,28,48,25,50,46,8,9,26,22,29,30,42,6,25,7,25,28,42,8,27,26,46,29,49,49,8,8,25,26,28,30,44,9,29,8,27,26,47,8,25,27,40,26,48,47,7,7,29,23,24,25,42,9,29,8,26,24,48,7,27,32,46,25,51,50,7,8,29,27,27,27,45,9,23,9 H,732346,8,100,4,16,1015675,80,2,1,1,,3,1,2,,30,0,2,40,1,390,1,200,,,,3,1,5,,,,1,2,,9,2,750,5,2,17000,4,,,1,1,17000,0,4,4,4,1,3,0,2,0,0,0,15,0,0,0,0,0,1,212,,0,0,9,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,25,20,85,21,75,107,147,95,109,78,162,79,95,28,79,85,25,141,158,64,78,109,146,78,20,145,74,114,75,20,81,25,110,73,20,24,75,64,79,166,27,24,93,26,71,81,143,83,121,124,132,79,83,21,87,68,24,139,161,87,77,81,168,87,26,136,78,119,68,19,57,25,127,74,22,20,83,70,81 H,732854,8,600,4,16,1015675,79,3,1,1,,3,2,2,,30,0,2,200,1,650,1,,1,1000,1,1,1,6,,,,1,1,,18,2,40,7,1,66400,2,,,2,1,66400,0,2,2,2,1,4,1,3,0,0,1,22,0,0,1,0,0,2,1233,3,0,1,62,3,4,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,145,80,21,22,78,78,84,73,75,122,79,21,142,78,115,79,25,76,24,23,23,81,133,128,67,74,83,82,68,23,78,133,23,77,25,87,125,76,132,135,128,69,25,24,80,73,79,85,78,151,73,23,126,73,141,76,22,68,22,23,22,79,133,136,78,76,73,77,86,23,84,125,21,77,22,77,130,79,143,127 H,732894,8,200,4,16,1015675,50,1,1,,,1,8,,,1,0,1,1,1,,1,,,,,,1,2,1,440,,1,3,,,2,1,5,,,,440,10,1,6,50800,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,14,57,54,80,56,46,45,55,96,44,51,13,14,67,92,15,50,92,12,46,11,56,57,72,58,44,62,55,54,50,67,13,13,79,114,12,30,62,9,52,12,37,72,72,61,62,42,41,84,37,30,17,10,76,108,15,52,80,14,52,10,53,50,126,46,57,60,29,72,61,33,14,15,63,76,17,55,109,22,58 H,733307,8,600,4,16,1015675,89,2,1,1,,3,2,2,,40,0,2,90,1,680,1,,2,820,1,1,1,8,,,,1,1,,18,2,320,3,1,117800,4,,,1,1,117800,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,1,1034,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,90,88,151,86,78,91,91,148,78,98,27,25,153,143,26,85,152,25,94,149,84,93,25,89,81,86,87,25,86,86,142,141,25,29,147,86,26,142,83,143,78,86,27,99,90,86,94,22,86,85,150,160,26,25,137,85,25,143,91,27,86,94,164,91,97,81,80,150,92,84,25,26,158,154,25,87,145,27,82 H,733415,8,300,4,16,1015675,45,3,1,1,,3,2,2,,40,0,2,20,1,,1,,,,,,1,5,2,380,,1,3,,,2,2,9,1,50500,1,440,10,1,1,50500,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,12,15,42,44,66,86,65,15,44,12,13,78,36,58,36,44,80,39,49,10,88,74,36,47,48,20,59,74,52,75,84,13,37,15,43,50,21,52,66,63,15,16,46,47,61,76,57,14,48,13,15,73,39,82,31,36,109,41,56,10,67,85,37,42,49,24,78,90,44,74,67,20,47,8,40,62,15,37,52 H,733552,8,800,4,16,1015675,21,2,1,1,,4,2,2,,120,0,1800,3,6,500,1,,1,970,1,1,1,8,,,,1,1,,16,2,540,8,5,63500,4,,,1,2,63500,0,4,4,4,1,6,0,2,0,0,0,24,0,0,0,0,0,1,1285,3,0,1,10,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,24,16,23,26,30,19,32,7,5,28,29,9,19,24,5,8,23,21,58,15,20,21,29,20,6,17,20,51,29,4,5,48,20,5,37,41,16,17,7,26,19,19,22,22,29,17,21,4,5,43,23,5,22,37,6,6,23,24,42,15,18,14,20,22,9,24,22,42,29,5,5,38,19,7,34,41,24,17,8,17 H,733638,8,200,4,16,1015675,24,4,1,2,1,3,2,2,,250,0,2,3,3,1500,1,,2,700,2,1,1,9,,,,1,1,,17,3,790,5,1,60500,2,,,1,1,60500,0,2,2,2,1,6,2,4,0,0,2,25,0,0,1,0,0,1,1241,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,31,60,26,38,38,7,8,24,20,20,30,38,10,30,17,24,46,7,7,29,19,35,22,38,51,6,7,18,24,32,27,38,7,25,27,32,38,7,5,22,24,44,16,44,51,7,10,29,31,28,28,34,7,27,20,22,35,7,8,22,29,38,19,39,44,9,5,25,33,30,27,35,5,27,27,24,35,7,7 H,733935,8,200,4,16,1015675,10,2,1,1,,2,1,2,,70,0,2,3,3,380,1,600,1,480,1,1,1,5,,,,1,1,,14,2,70,3,2,18000,4,,,1,1,18000,0,4,4,4,1,4,0,2,0,0,0,40,0,0,0,2,2,1,606,3,0,0,14,0,9,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,15,19,15,16,18,10,3,5,2,10,7,10,15,12,24,17,28,14,24,17,10,3,14,9,1,13,16,15,17,10,12,12,11,16,3,3,2,10,18,17,13,4,10,13,4,10,20,21,25,10,10,14,12,11,3,4,5,16,3,3,12,26,12,12,17,14,3,5,4,10,10,10,12,12,14,15,19,8,3 H,734300,8,800,4,16,1015675,33,3,1,1,,3,2,2,,60,0,2,3,3,500,1,,,,,3,1,4,,,,1,2,,11,3,800,8,3,35100,2,,,2,1,35100,0,2,2,2,1,5,1,3,0,0,1,7,0,0,1,0,0,2,211,,0,1,12,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,56,31,10,7,7,38,62,33,12,25,24,12,38,43,57,57,48,34,70,35,31,26,8,12,9,25,60,28,8,49,39,12,29,62,62,43,34,33,12,25,31,33,52,60,67,34,10,41,61,25,48,69,32,8,7,9,32,33,11,49,55,26,46,67,60,37,15,31,45,52,26,45,31,6,10,8,31,40,78 H,734341,8,300,4,16,1015675,105,3,1,3,1,5,2,1,,120,0,2,3,3,380,1,,1,290,1,1,1,9,,,,1,1,,16,3,2,5,1,84400,1,,,1,1,84400,0,1,1,1,1,6,1,3,0,0,1,6,0,0,1,0,0,1,410,3,0,0,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,34,124,113,28,102,210,33,29,155,116,112,141,115,202,129,109,98,34,30,86,177,115,115,170,82,30,151,156,27,100,79,29,110,36,116,86,104,147,31,84,167,119,148,149,108,39,197,155,19,118,97,25,102,31,136,123,130,163,157,98,24,118,120,25,94,196,35,26,141,104,99,202,119,148,96,103,89,28,154 H,734652,8,400,4,16,1015675,91,4,1,1,,3,2,2,,60,0,2,160,1,600,1,,1,740,1,1,1,6,,,,1,1,,15,4,440,3,1,78100,2,,,1,1,78100,0,2,2,2,1,4,1,4,0,0,1,15,0,0,1,0,0,1,997,3,0,1,22,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,87,155,90,78,82,88,169,113,91,27,29,141,129,30,100,183,30,27,100,84,87,25,92,102,90,91,27,94,99,170,140,26,32,162,94,28,162,160,93,97,103,169,105,96,105,127,132,74,109,22,22,140,152,33,106,129,35,27,71,88,86,28,86,89,84,93,33,97,88,172,149,28,26,167,111,33,135,135,91,81 H,734735,8,600,4,16,1015675,90,2,1,1,,3,2,2,,50,0,2,60,1,10,1,,1,520,1,1,1,5,,,,1,1,,15,3,250,6,,,,,,1,5,54500,0,4,4,4,1,2,0,,0,1,0,14,0,0,0,0,0,1,651,3,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,23,27,27,89,31,71,23,87,92,91,96,27,27,95,94,27,95,87,25,89,86,81,103,159,86,148,93,152,151,147,146,85,92,147,169,85,142,158,95,145,164,138,152,93,159,98,158,98,83,88,87,137,150,88,96,143,94,95,135,94,90,99,87,30,86,27,104,23,25,26,27,84,92,26,26,86,26,30,85,25 H,734892,8,400,4,16,1015675,192,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,63,227,181,57,168,326,350,366,185,224,194,189,238,54,51,63,190,316,56,160,320,208,196,306,180,57,58,69,204,194,189,176,201,374,319,262,177,54,373,202,54,227,226,58,249,291,256,334,174,203,208,180,222,52,43,65,189,301,48,182,335,210,223,308,165,61,52,53,224,219,200,178,216,315,306,279,165,60,320 H,735101,8,200,4,16,1015675,95,2,1,1,,2,2,2,,180,0,2,100,2,500,1,,,,,3,1,4,,,,1,2,,14,2,2,4,3,181000,4,,,1,1,181000,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,0,0,2,395,,0,1,19,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,34,106,97,95,76,121,161,195,124,76,24,89,130,103,83,180,89,22,35,40,39,148,104,108,124,85,173,239,141,82,30,91,141,83,67,155,78,25,32,165,201,78,131,123,97,101,36,23,22,89,132,107,34,105,96,29,127,112,152,147,207,118,103,107,142,85,29,26,20,95,150,112,43,82,79,22,96,136,150,30 H,735395,8,100,4,16,1015675,30,1,1,,,1,4,,,50,0,2,120,3,,1,,,,,,1,3,2,70,,1,3,,,0,50,2,,,,244,22,1,6,13600,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,44,32,7,51,66,31,40,8,28,30,29,34,10,33,30,57,54,33,42,40,9,26,52,8,9,28,28,45,27,29,27,24,45,25,30,9,9,29,58,53,11,34,50,8,8,25,32,49,36,32,34,25,45,37,29,10,8,32,12,9,41,29,9,46,53,28,24,8,33,23,27,26,8,30,28,41,43,29 H,735690,8,800,4,16,1015675,233,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,64,218,253,212,374,357,218,356,66,329,68,229,73,66,229,212,229,230,234,258,254,82,380,422,296,223,78,247,218,261,244,66,270,249,353,404,61,85,420,65,422,238,234,235,55,61,222,73,462,84,365,257,356,394,263,223,203,217,240,211,216,446,75,66,229,239,426,263,225,224,226,399,244,215,62,68,405,477,74,385 H,736001,8,300,4,16,1015675,69,2,1,1,,2,2,2,,60,0,2,90,1,330,1,,,,,3,1,4,,,,1,2,,10,1,180,9,8,84400,4,,,1,3,84400,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,1,1,1,254,,0,1,16,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,69,78,116,17,122,120,69,66,18,23,119,55,60,60,126,84,63,74,21,126,77,81,18,116,17,25,59,75,117,127,21,61,69,70,16,62,67,72,102,16,71,72,120,20,115,111,60,80,16,20,138,73,64,57,110,74,76,77,20,96,86,82,19,116,22,22,70,81,100,101,20,75,73,62,18,68,77,61,101,23 H,736239,8,500,4,16,1015675,99,7,1,2,1,5,2,2,,140,0,2,3,3,450,1,,2,630,2,1,1,9,,,200,1,1,,18,4,2,3,2,70500,3,,,1,1,70500,0,3,3,3,1,4,5,7,0,0,5,20,0,0,1,0,0,1,1200,2,0,1,35,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,30,152,161,95,92,28,33,184,94,115,95,156,95,101,117,26,87,97,30,189,24,162,166,104,99,28,33,173,102,96,82,158,93,96,103,28,91,106,180,26,175,26,28,91,105,188,142,30,119,85,97,29,86,97,95,160,113,111,167,31,175,28,34,84,87,196,168,30,94,99,104,31,98,80,87,166,109,93,28 H,736615,8,400,4,16,1015675,92,2,1,1,,4,2,2,,110,0,2,3,3,400,1,,,,,3,1,6,,,,1,2,,11,2,750,5,4,12900,4,,,1,1,12900,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,0,0,1,293,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,195,89,96,85,23,100,32,124,98,38,120,126,32,26,215,99,84,202,24,109,26,62,64,202,177,59,182,97,88,159,105,32,101,117,34,61,70,48,167,96,158,68,61,139,25,53,34,131,116,42,145,128,18,29,193,107,65,150,17,105,29,68,81,100,198,101,162,102,96,150,97,22,124,118,29,93,130,51,83 H,736714,8,600,4,16,1015675,447,1,1,,,1,9,,,1,0,2,1,1,,1,,,,,,1,2,2,530,,1,3,,,0,1,8,,,,530,53,1,4,12000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,428,452,154,152,117,428,641,453,158,454,418,181,485,678,680,722,447,430,660,511,414,410,185,147,146,425,624,449,134,467,489,144,492,699,681,702,480,479,686,485,457,432,164,161,114,389,745,495,164,439,422,159,473,653,735,789,432,465,637,526,369,450,162,133,144,411,667,426,131,443,522,147,473,741,648,738,446,487,640 H,736806,8,100,4,16,1015675,119,2,1,1,,3,1,2,,30,0,2,30,1,0,1,3000,,,,3,1,5,,,,1,2,,1,2,1,5,3,17000,4,,,1,1,17000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,326,,0,0,5,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,139,190,33,95,190,189,137,125,120,116,118,36,130,172,38,117,35,121,37,203,126,199,38,119,203,186,115,126,128,98,110,36,116,180,40,120,37,120,37,206,106,192,36,113,204,176,128,111,129,96,111,40,125,196,37,118,34,113,34,204,126,198,32,115,200,184,127,136,137,140,124,36,117,180,35,125,34,112,31 H,736898,8,300,4,16,1015675,18,2,1,1,,5,2,2,,150,0,2,3,3,430,1,,1,1100,1,1,1,7,,,,1,1,,18,2,1400,4,3,31400,4,,,1,1,31400,0,4,4,4,1,6,0,2,0,0,0,52,0,0,0,2,1,2,1367,3,0,1,39,2,2,7,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,30,24,30,16,17,19,7,18,6,19,15,4,13,33,6,7,34,19,29,13,35,18,20,20,17,23,6,16,7,16,14,5,18,33,5,5,32,16,28,15,26,16,26,19,23,20,5,17,6,18,16,4,17,32,6,5,31,18,25,17,29,20,25,20,21,14,5,19,7,13,14,5,20,28,5,4,24,13,29 H,737456,8,200,4,16,1015675,128,1,1,1,,2,2,2,,30,0,2,140,1,630,1,,1,690,1,1,1,5,,,,1,1,,16,1,800,7,,,,,,1,6,21400,0,4,4,4,1,4,0,,0,0,0,52,0,0,0,0,0,1,927,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,182,138,129,46,28,200,293,37,156,147,43,38,157,135,174,127,153,163,111,121,44,141,183,193,209,34,28,205,136,43,170,168,164,119,47,114,86,154,153,165,222,186,96,43,46,203,185,36,130,200,35,29,130,135,193,115,144,164,107,104,35,131,204,229,204,47,41,180,141,45,151,194,154,146,35,103,121,133,131,143 H,737550,8,400,4,16,1015675,65,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,72,57,105,70,17,17,23,57,66,67,61,65,90,95,108,66,22,59,115,19,70,71,19,69,122,112,114,63,80,61,57,64,19,20,17,72,118,65,130,15,53,72,17,65,133,131,125,54,72,61,61,62,21,24,17,58,109,59,18,116,55,86,122,56,20,19,19,61,58,71,54,58,112,101,120,72,16,71,22 H,737600,8,700,4,16,1015675,367,2,1,1,,3,2,1,,120,0,2,3,3,300,1,,1,790,2,1,1,5,,,,2,1,,15,3,20,5,,,,,,1,5,59800,0,4,4,4,1,3,0,,0,1,0,19,0,0,0,0,0,2,962,3,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,383,107,391,624,356,414,385,655,363,606,104,402,100,342,403,361,106,113,614,349,109,378,564,388,625,575,97,386,114,372,361,102,349,107,611,616,355,398,358,519,360,123,392,633,382,361,377,613,399,728,105,397,102,338,307,352,118,99,696,373,106,322,678,350,581,574,112,420,112,345,358,105,399,108,596,593,379,397,367,662 H,737755,8,300,4,16,1015675,290,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,9,,,,,,4,20,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,86,94,294,305,273,305,87,283,102,359,91,88,82,84,285,255,96,99,259,474,268,268,497,503,479,487,258,509,348,563,292,289,240,255,507,452,268,307,519,268,89,84,264,305,290,285,80,304,97,289,98,99,90,91,302,265,84,92,282,516,276,278,440,483,501,500,265,491,324,475,290,297,256,276,512,456,294,351,440,254 H,738750,8,700,4,16,1015675,99,1,1,1,,3,1,1,,200,0,2,3,3,510,1,510,,,,3,1,5,,,,1,2,,8,1,210,4,,,,,,1,6,6500,0,4,4,4,1,1,0,,0,0,0,86,0,0,0,1,1,1,467,,0,0,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,95,29,167,98,162,100,31,99,27,164,108,30,30,91,92,99,93,106,32,28,97,169,30,87,29,98,174,90,164,32,92,158,159,98,101,97,93,109,187,176,97,29,176,93,165,103,28,105,32,154,99,29,26,90,88,101,86,94,29,30,103,142,28,101,28,98,178,105,172,29,98,168,189,96,103,90,100,96,154 H,738826,8,700,4,16,1015675,275,0,1,,,3,5,,,,,,,,,1,,,,,,1,7,2,300,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,319,522,86,417,344,283,232,243,263,238,83,426,287,299,420,437,321,86,92,322,441,242,279,280,447,82,75,78,83,423,294,272,85,484,304,291,429,255,292,485,320,85,519,81,281,271,255,282,285,279,432,76,270,278,83,82,239,435,490,318,82,260,246,267,93,427,395,427,500,83,275,301,478,101,285,239,88,283,284,87 H,738907,8,300,4,16,1015675,106,4,1,1,,3,3,2,40,40,160,2,50,1,130,1,,1,550,1,1,1,5,,,,1,1,,13,2,20,1,2,13000,3,,,1,1,13000,0,1,1,1,1,2,2,4,0,0,2,63,0,0,1,0,0,1,682,3,0,1,3,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,102,234,97,86,230,200,189,149,111,166,98,179,114,105,118,93,159,190,109,30,132,31,138,93,27,31,31,42,97,35,108,31,131,97,102,98,32,24,107,25,86,33,120,99,37,32,30,32,89,26,117,29,126,120,104,121,34,38,97,158,102,176,107,109,174,165,179,193,95,200,120,159,122,106,99,168,203,173,98,208 H,739136,8,500,4,16,1015675,87,5,1,2,1,3,1,2,,70,0,2,150,2,380,1,0,1,1100,1,1,1,7,,,,1,1,,18,3,2,3,2,50000,2,,,1,1,50000,0,2,2,2,1,3,3,5,0,0,3,32,0,0,1,0,0,2,1320,3,0,0,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,80,126,108,89,25,174,28,27,85,87,148,154,23,96,89,75,24,71,141,96,70,130,79,85,26,174,26,29,96,82,139,123,24,76,88,97,23,95,126,81,90,154,83,81,30,158,24,25,95,72,146,143,25,77,80,86,28,98,160,86,85,155,88,71,22,156,28,25,76,82,158,177,24,88,84,77,26,95,165 H,739237,8,900,4,16,1015675,77,5,1,1,,5,2,2,,200,0,2,3,3,370,1,,,,,3,1,8,,,,1,2,,16,2,860,3,1,110400,3,,,1,1,110400,0,3,3,3,1,3,3,5,0,0,3,5,0,0,1,0,0,1,503,,0,1,36,2,5,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,80,134,96,62,71,25,20,71,21,123,22,133,76,120,123,76,95,80,74,78,189,79,25,156,143,80,66,22,77,67,85,73,21,71,86,129,117,23,25,76,26,104,110,23,20,87,76,126,66,90,87,86,117,88,69,19,25,163,150,130,86,19,81,90,67,100,134,87,126,25,113,24,96,25,23,62,54,73,74,17 H,739240,8,900,4,16,1015675,84,2,1,1,,4,2,2,,50,0,940,10,1,330,1,,,,,3,1,7,,,,1,2,,13,1,40,9,4,125000,4,,,1,1,125000,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,2,1,222,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,117,23,73,157,86,97,191,97,28,20,18,89,94,68,101,87,133,153,107,35,88,138,81,31,69,78,30,91,104,113,123,72,71,73,94,86,20,32,33,124,72,24,89,112,92,122,145,58,29,26,26,106,89,84,73,82,153,135,152,22,69,153,115,25,60,85,28,74,135,161,141,91,87,81,94,110,22,20,23 H,739254,8,800,4,16,1015675,32,2,1,1,,2,3,2,,40,0,2,150,1,600,1,,1,1000,1,1,1,5,,,,1,1,,15,2,1,1,3,120000,4,,,1,1,120000,0,4,4,4,1,1,0,2,0,0,0,12,0,0,0,0,0,2,1190,3,0,1,8,2,1,7,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,42,58,35,33,10,28,26,35,27,8,32,34,45,54,10,12,60,39,11,35,10,8,34,22,55,36,34,34,29,50,31,37,12,8,44,59,9,26,67,39,47,58,30,30,8,30,28,28,24,11,33,34,55,57,8,13,60,30,9,29,8,9,45,30,58,30,30,37,40,54,30,37,7,8,52,51,9,33,63,28 H,739336,8,800,4,16,1015675,46,2,1,2,1,5,2,2,,100,0,2,3,3,1800,1,,2,600,2,1,1,8,,,,1,1,,19,2,2,8,1,85000,4,,,1,1,85000,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,0,0,2,983,3,0,1,28,2,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,68,47,12,13,15,41,51,47,48,49,98,69,86,47,13,43,63,68,52,12,72,47,17,14,16,47,56,41,46,63,82,70,58,46,13,50,82,39,51,90,12,39,72,87,69,38,51,49,43,45,16,17,17,43,69,42,10,48,45,58,15,60,85,74,98,60,44,36,46,43,12,18,14,46,67,57,17,44,50,14 H,739338,8,400,4,16,1015675,153,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,3,15,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,44,129,161,49,145,300,279,244,160,174,141,144,140,40,39,42,164,275,231,134,62,147,145,46,148,255,262,237,203,196,145,162,174,49,42,37,145,239,263,145,46,142,173,51,188,266,222,281,145,162,142,150,177,43,42,44,178,228,258,147,41,144,146,46,143,246,254,260,165,142,179,148,167,51,39,42,158,268,238 H,739341,8,100,4,16,1015675,73,1,1,1,,4,2,2,,160,0,2,3,3,650,1,,,,,3,1,9,,,,1,2,,19,0,680,3,,,,,,1,6,21000,0,4,4,4,1,3,0,,0,0,0,24,0,0,0,1,1,1,413,,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,68,83,20,117,110,116,111,20,68,72,124,22,83,86,17,75,79,26,75,73,66,73,23,120,120,128,113,20,73,78,95,24,75,67,21,80,81,23,79,76,81,69,118,21,22,22,18,132,66,71,22,122,80,87,140,69,64,113,70,70,78,83,127,20,19,22,21,139,92,75,29,126,61,61,127,80,61,117,63,72 H,739729,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,739780,8,500,4,16,1015675,56,3,1,1,,4,2,2,,40,0,2,80,1,340,1,,1,650,1,2,1,8,,,,1,1,,15,2,800,2,2,15200,2,,,2,1,15200,0,2,2,2,2,3,1,3,0,0,1,66,0,0,1,0,0,1,837,3,0,1,23,2,5,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,17,46,99,14,22,97,53,61,90,74,97,57,59,48,15,49,16,64,63,17,120,55,16,110,89,15,50,57,25,56,15,56,71,41,135,72,88,61,48,16,125,50,19,115,93,17,57,55,14,43,15,60,70,85,105,58,115,50,53,88,16,57,107,14,17,142,83,56,84,71,113,59,49,51,17,57,13,50,70,140 H,740044,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,740106,8,700,4,16,1015675,99,1,1,1,,3,2,2,,70,0,2,20,3,,1,,,,,,1,4,2,880,,1,3,,,1,40,1,,,,973,,1,6,0,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,82,84,103,95,35,28,28,110,168,123,27,79,93,31,114,146,170,161,30,88,103,88,84,85,152,159,167,104,30,112,179,100,104,190,89,27,40,30,28,86,120,112,87,98,174,173,170,85,28,82,174,107,110,145,93,29,26,39,204,91,99,93,91,113,28,30,32,101,155,131,30,112,103,28,97,150,144,147,218 H,740244,8,300,4,16,1015675,79,3,1,2,1,2,2,2,,70,0,800,3,4,1000,1,,,,,3,1,7,,,,1,2,,15,5,2,8,1,73400,2,,,1,1,73400,0,2,2,2,1,5,1,3,0,0,1,5,0,0,1,0,0,1,278,,0,1,16,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,103,86,106,81,26,129,153,26,85,70,29,83,28,79,62,72,100,64,136,21,78,77,36,84,108,21,23,135,90,94,129,85,136,71,87,85,19,58,18,133,97,84,140,75,18,144,138,22,79,70,25,74,30,101,85,73,129,81,135,25,92,72,21,77,108,18,26,130,83,117,136,82,129,68,74,76,24,75,21 H,741958,8,700,4,16,1015675,93,2,1,,,2,5,,,10,0,2,10,1,,1,,,,,,1,5,2,600,,1,3,,,2,1,2,7,36000,4,620,21,2,3,36000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,87,138,103,28,112,95,82,30,85,33,166,87,146,101,97,108,148,140,100,99,151,83,30,90,34,29,144,98,145,105,97,136,85,161,30,31,83,97,153,143,94,28,87,154,83,98,100,167,96,143,28,103,28,95,101,90,26,28,91,96,32,97,154,91,149,156,31,90,32,91,89,30,114,28,167,180,90,93,28 H,742423,8,400,4,16,1015675,38,1,1,3,3,3,1,2,,60,0,2,3,8,400,1,1900,2,100,2,2,2,6,,,,2,1,,18,1,100,9,,,,,,1,4,128100,0,4,4,4,1,4,0,,0,0,0,4,0,0,0,1,1,1,392,3,0,0,10,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,51,13,13,14,32,87,43,8,50,43,13,41,64,85,69,32,39,40,39,12,40,52,61,46,29,10,35,58,42,33,68,35,10,15,12,35,35,33,41,12,40,64,69,78,34,10,33,46,46,37,56,34,11,10,10,38,36,40,40,73,41,11,12,14,36,64,39,10,34,50,13,42,63,64,67,41,38,41,43,57 H,742484,8,800,4,16,1015675,98,4,1,2,1,4,2,2,,250,0,500,3,6,,1,,,,,,1,6,2,200,,2,3,,,2,2,8,1,35000,2,492,17,1,1,35000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,145,138,165,131,86,82,70,76,52,22,17,125,207,116,35,122,101,29,139,96,138,163,116,89,87,94,152,93,33,41,27,100,216,108,32,164,110,30,24,121,25,20,27,115,93,79,94,86,230,156,144,138,35,83,153,121,98,152,21,93,32,34,24,142,95,76,144,102,205,187,167,75,35,124,175,132,80,134,159 H,742497,8,600,4,16,1015675,118,1,1,,,2,6,,340,50,0,70,60,1,0,1,,2,930,2,1,1,5,,,,1,1,,20,1,140,4,,,,,,1,6,0,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,1656,3,0,0,43,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,132,34,115,118,165,198,37,33,206,124,33,190,209,104,122,34,112,113,110,109,123,218,130,124,39,37,223,227,35,135,174,34,35,111,134,226,123,121,134,121,113,35,132,119,207,204,33,38,215,129,36,200,203,121,111,41,116,124,132,116,110,186,113,107,35,36,199,185,39,129,191,34,34,126,125,191,118,112,118,115 H,742590,8,800,4,16,1015675,29,3,1,1,,3,1,2,,140,0,2,3,3,230,1,3000,2,320,2,2,1,6,,,,1,1,,5,2,1,3,3,26000,2,,,1,1,26000,1,2,4,2,1,3,0,3,1,0,1,36,0,0,1,2,0,1,775,3,0,0,13,1,7,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,27,40,31,58,8,9,28,37,30,52,25,8,37,10,8,41,25,48,27,37,30,53,28,50,10,10,44,31,29,48,26,7,30,10,9,47,31,44,31,29,35,47,29,49,11,10,22,36,31,41,29,8,29,8,12,53,27,74,27,35,32,61,32,49,11,11,30,26,24,45,29,7,31,9,7,46,25,49,33 H,742596,8,300,4,16,1015675,67,2,1,1,,2,2,2,,100,0,1500,3,4,500,1,,,,,3,1,5,,,,1,2,,14,3,2,7,2,18000,4,,,1,1,18000,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,0,0,1,296,,0,1,9,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,68,74,99,58,18,114,124,19,80,71,16,52,15,75,90,64,127,78,17,86,74,65,85,87,21,124,97,19,109,62,21,65,23,79,77,77,131,79,21,103,63,70,113,75,20,105,136,18,73,71,18,59,22,80,90,89,112,62,14,109,67,86,105,71,23,137,105,20,88,59,15,72,21,63,56,73,102,59,18 H,743158,8,300,4,16,1015675,25,3,1,1,,5,2,2,,40,0,2,90,1,150,1,,2,590,2,1,1,9,,,,1,1,,16,3,530,6,2,44130,2,,,1,1,44130,0,2,2,2,1,6,1,3,0,0,1,25,0,0,1,0,0,2,910,3,0,1,28,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,50,18,27,27,29,21,38,7,26,8,25,21,21,5,9,50,25,8,29,7,22,6,6,39,25,46,22,23,36,20,38,7,8,25,23,20,45,31,7,35,6,23,26,26,7,24,8,39,25,44,23,21,23,42,40,7,19,33,29,44,22,36,32,9,28,6,28,24,6,26,6,46,36,29,23,22,7,19,36 H,743261,8,900,4,16,1015675,63,1,1,1,,4,2,2,,40,0,500,50,2,600,1,,2,580,2,1,1,6,,,,1,1,,12,1,600,7,,,,,,1,6,34600,0,4,4,4,1,7,0,,0,0,0,30,0,0,0,0,0,1,854,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,18,21,20,62,116,57,20,64,56,19,67,115,105,94,61,64,64,60,99,56,18,21,22,70,100,66,27,64,63,17,63,112,106,99,56,59,65,68,20,81,156,102,112,53,15,61,116,71,70,117,59,18,17,18,76,54,50,56,23,68,114,119,103,52,17,70,116,61,60,102,61,17,14,16,65,52,65,73,84 H,743757,8,300,4,16,1015675,75,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,73,143,81,22,70,69,33,100,108,142,105,65,74,66,67,72,27,122,21,20,70,127,63,24,76,67,33,95,108,111,129,69,63,69,65,79,30,27,184,147,60,18,61,109,80,102,174,69,24,25,18,74,100,64,70,81,149,25,174,144,52,17,74,149,78,65,132,82,26,22,20,73,77,59,54,70,147,150 H,743832,8,300,4,16,1015675,25,8,1,1,,5,2,2,,130,0,2,60,3,700,1,,1,620,1,1,1,8,,,,1,1,,15,4,690,5,1,82200,2,,,1,1,82200,0,2,2,2,1,5,3,8,0,0,3,13,0,0,1,0,0,1,868,3,0,1,16,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,8,17,8,28,18,5,23,44,8,10,40,21,22,34,26,47,26,29,8,23,37,23,37,23,23,46,21,7,36,35,5,23,31,8,23,5,26,32,7,35,42,23,44,25,25,42,25,7,43,44,7,22,24,8,24,8,18,18,50,26,7,23,5,27,27,6,28,42,8,8,37,26,21,46,23,37,21,20,35 H,744269,8,700,4,16,1015675,32,2,1,1,,3,2,2,,30,0,2,110,1,170,1,,1,650,1,1,1,6,,,,1,1,,16,3,560,2,3,55000,4,,,3,1,55000,0,4,4,4,1,1,0,2,0,0,0,18,0,0,0,2,1,1,837,3,0,1,22,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,31,51,10,27,27,55,28,49,55,8,8,30,32,31,35,57,10,30,52,35,28,8,52,31,34,10,25,8,9,50,56,31,32,32,25,10,58,33,10,34,34,56,10,30,31,47,31,61,51,10,8,34,32,28,31,56,10,30,45,32,27,10,48,34,30,9,30,10,8,46,56,32,30,30,30,10,53,31,8 H,744348,8,700,4,16,1015675,108,4,1,1,,5,2,2,,80,0,2,50,1,400,1,,1,900,1,1,1,8,,,,1,1,,20,3,60,1,1,70000,3,,,2,1,70000,0,3,3,3,1,2,2,4,0,0,2,18,0,0,1,0,0,1,1035,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,180,112,32,122,39,176,119,32,25,85,109,102,94,107,229,98,26,177,194,103,192,97,27,118,33,192,100,43,35,107,93,100,152,103,157,126,30,183,179,112,164,99,34,104,40,158,107,30,26,84,132,96,107,116,189,81,33,237,172,106,183,97,29,150,35,149,110,38,30,103,96,118,109,123,164,109,34,188,171 H,744569,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,744581,8,400,4,16,1015675,136,3,1,2,1,3,2,2,,170,0,2,3,6,400,1,,2,930,2,1,1,6,,,1100,1,1,,23,5,2,3,1,31200,2,,,1,1,31200,0,2,2,2,1,4,1,3,0,0,1,92,0,0,1,0,0,2,2383,2,0,1,30,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,140,213,42,49,152,126,125,217,134,40,123,35,56,249,145,240,142,137,153,176,141,206,35,48,127,124,179,270,126,43,125,36,40,201,164,220,131,139,145,212,150,202,44,30,104,144,120,222,104,45,146,36,53,272,152,220,121,137,144,239,145,198,47,47,105,151,155,180,167,55,141,45,32,180,144,210,135,137,126 H,744769,8,700,4,16,1015675,96,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,95,165,83,35,101,137,161,90,77,163,24,94,29,27,92,30,172,106,113,90,84,31,89,174,94,27,29,115,93,28,148,99,154,163,91,164,27,96,94,107,98,29,105,168,104,26,30,94,92,25,145,88,175,162,103,148,27,106,109,96,83,152,87,30,90,137,147,106,98,165,31,94,34,31,82,28,154,100,106 H,745001,8,500,4,16,1015675,103,4,1,1,,3,2,2,,100,0,2,3,3,300,1,,2,660,2,1,1,5,,,250,1,1,,12,1,100,4,4,52800,2,,,3,1,52800,1,2,4,2,1,4,0,4,1,0,2,26,0,0,1,2,2,1,1143,1,0,1,24,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,30,30,111,176,30,175,105,98,111,85,95,119,34,175,97,104,172,177,108,119,112,115,33,116,104,116,33,161,146,176,154,28,118,97,159,30,98,99,28,164,209,192,94,34,184,26,105,85,86,98,104,95,186,31,94,100,29,28,106,108,101,121,222,119,98,101,175,33,25,33,33,201,91,109,30,185,103,96,147,31 H,745050,8,700,4,16,1015675,111,1,1,1,,4,2,2,,130,0,2,60,1,800,1,,1,1300,1,1,1,6,,,260,1,1,,20,2,740,5,,,,,,1,4,81580,0,4,4,4,1,3,0,,0,0,0,27,0,0,0,1,1,1,1812,1,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,112,35,113,30,164,119,32,35,117,129,105,116,106,161,118,34,165,99,166,32,102,218,129,178,33,113,188,199,110,127,106,110,112,30,113,195,28,108,35,32,103,190,120,174,35,106,196,201,109,117,110,110,105,31,109,179,31,132,36,181,106,30,103,30,186,110,32,30,111,122,104,108,125,188,121,31,180,110,179,185 H,745087,8,900,4,16,1015675,83,2,1,3,2,3,2,2,,50,0,2,90,2,600,1,,,,,3,1,6,,,,1,2,,18,1,2,5,4,49700,4,,,1,1,49700,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,2,294,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,82,129,135,95,85,29,90,133,89,103,119,74,23,25,28,81,82,73,25,75,100,160,124,130,68,31,89,115,99,71,152,82,21,23,23,95,79,95,142,80,77,22,19,27,82,110,92,21,77,75,24,109,150,130,138,82,88,80,149,62,76,23,27,32,76,130,95,22,92,92,22,93,147,146,155,77,86,83,23 H,745121,8,100,4,16,1015675,110,3,1,1,,3,2,2,,70,0,2,70,1,470,1,,1,630,1,1,1,6,,,,1,1,,18,3,700,3,1,78820,4,,,2,1,78820,0,4,4,4,1,4,0,3,0,0,0,13,0,0,0,0,0,1,828,3,0,1,27,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,35,108,214,33,187,108,141,117,118,133,111,29,196,103,117,175,187,115,89,107,103,184,103,100,108,196,32,33,34,34,198,104,107,36,168,115,114,163,180,168,213,110,41,208,27,106,108,106,108,102,121,183,30,98,107,37,28,101,114,110,92,37,117,127,121,31,164,168,188,188,32,117,107,231,30,113,112,32,29 H,745303,8,500,4,16,1015675,23,2,1,3,2,2,2,2,,50,0,2,3,3,,1,,,,,,1,6,2,350,,1,3,,,2,2,1,4,65700,4,400,7,1,1,65700,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,2,2,,,0,0,,1,8,9,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,36,26,5,22,7,37,23,8,7,25,21,21,27,20,33,26,7,40,7,23,8,23,37,23,39,7,26,37,30,21,19,27,23,21,7,19,40,7,7,27,8,26,37,23,45,8,26,37,30,21,24,23,22,18,6,21,38,7,36,22,34,27,10,22,8,36,26,8,7,22,25,26,23,24,38,23,8,41,43 H,745357,8,600,4,16,1015675,129,4,1,1,,3,2,2,,50,0,2,160,1,700,1,,1,1400,1,1,1,7,,,100,1,1,,20,3,600,8,1,59500,3,,,1,1,59500,0,3,3,3,1,3,2,4,0,0,2,35,0,0,1,0,0,1,1760,2,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,133,38,120,137,144,215,124,138,35,228,35,36,119,139,217,219,45,122,209,129,125,37,135,123,123,219,137,128,38,218,35,39,139,126,223,199,36,130,32,125,137,233,132,133,126,39,127,128,251,38,219,207,121,132,39,37,201,128,38,138,119,240,126,128,125,34,133,129,217,37,197,208,128,132,37,38,236,148,228 H,745359,8,700,4,16,1015675,116,4,1,1,,4,2,2,,80,0,2,130,1,370,1,,1,1000,1,1,1,8,,,240,1,1,,19,5,160,5,1,294000,2,,,1,1,294000,1,2,2,2,1,5,1,4,0,0,1,6,0,0,1,1,1,1,1463,2,0,1,40,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,111,199,122,120,194,202,199,178,116,186,110,189,119,113,113,114,199,209,115,33,120,35,105,123,35,37,34,32,128,35,118,33,114,119,114,111,34,35,112,208,123,191,108,117,187,188,180,188,124,209,108,192,114,116,109,111,213,201,126,30,122,30,121,104,37,37,36,36,122,35,111,36,110,114,121,112,37,31,118,177 H,745381,8,200,4,16,1015675,92,1,1,1,,2,2,2,,40,0,1500,70,2,300,1,,,,,3,1,5,,,,1,2,,17,3,50,9,,,,,,1,4,17700,0,4,4,4,1,7,0,,0,0,0,18,0,0,0,1,1,1,264,,0,1,1,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,29,82,190,131,35,93,106,33,89,147,173,144,81,88,80,103,110,27,21,151,145,98,25,78,171,88,92,144,97,35,30,41,87,94,95,77,84,126,142,27,29,90,140,102,31,93,108,32,102,155,189,162,84,88,92,83,95,32,33,194,140,94,31,92,155,85,95,139,94,32,18,27,99,90,79,79,102,170,151 H,745762,8,600,4,16,1015675,124,1,1,1,,3,3,2,,40,0,2,20,1,230,1,,1,800,1,1,1,8,,,,1,1,,16,1,130,1,,,,,,2,6,14000,0,4,4,4,1,2,0,,0,0,0,75,0,0,0,0,0,1,871,3,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,108,30,122,204,132,125,218,119,29,44,35,115,113,112,135,111,209,227,256,32,144,236,103,32,117,120,42,125,209,202,225,151,128,132,111,116,46,37,196,31,131,226,137,35,140,143,40,115,211,184,202,129,139,119,134,122,34,40,41,195,116,32,112,205,117,131,225,147,34,50,33,123,135,118,118,118,181,184,48 H,745797,8,800,4,16,1015675,51,1,1,,,1,6,,,40,0,2,3,3,,1,,,,,,1,3,2,70,,1,3,,,1,1,4,,,,110,7,1,6,19000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,11,93,15,15,49,47,83,100,14,42,41,47,17,53,58,49,67,51,13,67,85,15,81,89,52,60,15,14,90,45,51,44,61,48,63,59,14,58,81,51,14,75,13,15,64,61,70,101,14,53,46,44,14,62,46,44,74,50,12,60,116,14,99,97,48,50,19,16,79,59,57,46,83,39,57,44,12,53,90 H,745829,8,900,4,16,1015675,57,2,1,2,1,3,1,2,,150,0,2,50,2,1200,1,0,,,,3,1,5,,,,1,2,,10,2,2,5,2,47000,4,,,1,1,47000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,1,0,1,350,,0,0,14,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,73,17,17,18,55,102,47,16,59,55,15,46,81,110,98,52,55,59,66,91,62,20,16,14,52,124,74,15,61,61,18,64,97,91,98,57,51,45,53,16,51,92,106,95,54,20,53,96,65,54,103,65,15,15,22,61,51,55,45,17,54,102,84,93,62,16,60,95,60,63,94,63,20,17,13,61,69,58,49,107 H,746160,8,100,4,16,1015675,37,3,1,2,1,3,2,2,,60,0,2,90,1,440,1,,2,440,2,1,1,6,,,,1,1,,15,2,190,9,2,24000,2,,,1,1,24000,0,2,2,2,1,5,1,3,0,0,1,39,0,0,1,0,0,1,774,3,0,1,27,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,63,61,38,12,39,59,36,35,70,35,11,10,12,41,38,41,38,44,12,71,68,70,45,11,39,63,35,33,72,37,12,10,12,41,31,34,36,40,12,61,70,64,39,12,42,73,38,35,61,38,8,12,12,40,46,34,39,33,12,70,60,61,39,12,41,61,48,37,66,41,12,10,10,37,39,37,41,40,10 H,746292,8,100,4,16,1015675,125,1,1,3,1,3,2,2,,20,0,2,3,2,0,1,,,,,3,1,6,,,,1,2,,20,2,2,8,,,,,,1,6,163400,0,4,4,4,1,5,0,,0,0,0,1,0,0,0,0,0,1,170,,0,0,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,179,111,137,112,128,196,132,135,33,29,248,235,46,156,234,35,33,105,99,156,208,148,119,186,122,208,126,97,49,52,195,177,39,113,174,36,30,153,152,106,36,125,139,133,123,29,129,162,194,188,35,32,246,151,39,204,197,108,130,134,35,129,133,116,121,41,112,101,249,246,35,36,222,113,37,226,207,153,145 H,746342,8,300,4,16,1015675,74,2,1,1,,5,2,2,,90,0,600,3,6,1500,1,,1,900,1,1,1,7,,,300,1,1,,19,2,480,4,,,,,,1,5,71200,0,4,4,4,1,3,0,,0,1,0,23,0,0,0,0,0,2,1380,2,0,1,40,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,148,22,24,129,69,21,121,158,109,63,26,65,64,79,62,16,63,76,76,129,117,19,28,97,72,20,90,186,100,60,19,77,73,59,64,21,78,87,92,27,27,96,106,24,64,119,27,33,69,80,128,48,68,96,57,110,80,74,78,27,21,91,88,20,85,123,23,24,77,92,122,65,67,69,57,85,70,76,74 H,746452,8,100,4,16,1015675,203,2,1,1,,3,2,2,,120,0,2,3,3,,1,,,,,,1,5,2,750,,1,3,,,2,700,5,5,53800,4,928,21,1,2,53800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,1,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,351,383,308,212,78,224,331,213,188,402,175,67,51,66,217,207,222,207,242,333,70,58,62,240,365,194,54,171,175,61,197,325,318,365,223,163,170,172,212,60,314,345,335,214,56,208,356,189,197,302,200,46,59,64,209,253,179,192,178,353,62,59,58,205,385,219,59,262,187,67,204,355,323,319,196,202,206,226,211,60 H,746791,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,746951,8,900,4,16,1015675,86,2,1,1,,4,2,2,,30,0,2,80,1,200,1,,2,400,1,1,1,8,,,300,1,1,,12,2,360,5,1,78000,4,,,1,1,78000,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,0,0,1,857,1,0,1,6,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,25,77,145,32,25,89,86,114,74,82,119,135,168,85,94,28,22,133,76,23,146,82,26,153,138,75,91,25,75,87,89,91,35,96,93,154,142,25,79,130,23,76,136,29,28,74,86,146,85,88,111,102,142,79,95,23,24,154,80,24,129,73,25,182,141,73,92,25,78,118,95,86,37,118,89,139,151,23,84 H,747086,8,600,4,16,1015675,588,3,1,1,,3,2,2,,60,0,2,20,1,150,1,,1,800,1,1,1,6,,,,1,1,,16,2,570,3,5,56000,2,,,2,2,56000,0,2,2,2,1,1,1,3,0,0,1,20,0,0,1,0,0,2,928,3,0,1,20,2,10,10,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,491,586,1116,1173,201,196,1001,647,176,854,816,559,607,161,565,708,573,561,158,667,600,604,831,786,214,194,956,530,262,944,965,524,603,269,551,420,649,586,182,579,607,519,966,1185,163,212,860,611,166,927,792,731,530,172,628,631,521,664,220,492,667,557,821,767,259,192,793,596,224,934,918,503,605,191,782,515,618,567,209,535 H,747243,8,800,4,16,1015675,83,2,1,,,1,6,,,40,0,2,30,1,,1,,,,,,1,2,2,220,,1,3,,,1,2,2,8,29300,4,290,12,1,3,29300,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,1,15,15,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,1,1,1,150,72,77,111,74,80,104,137,152,143,81,118,58,109,99,93,89,76,144,21,25,80,82,28,70,72,23,24,26,27,101,28,76,31,107,80,90,114,22,119,161,91,76,138,90,93,105,130,175,143,72,165,85,140,105,71,87,91,124,27,25,87,85,24,72,84,29,22,27,22,65,29,90,17,84,102,66,71,22,154 H,747351,8,600,4,16,1015675,110,6,1,2,1,5,2,2,,60,0,2,3,4,800,1,,1,1200,2,1,1,7,,,,1,1,,18,2,300,6,1,48000,2,,,3,1,48000,0,3,3,3,1,4,4,6,0,0,4,36,0,0,1,0,0,2,1427,3,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,188,120,34,110,105,116,183,31,184,33,201,115,112,103,31,107,191,118,179,107,104,32,101,187,178,183,112,113,111,105,106,33,33,36,112,176,119,32,175,110,114,32,115,194,196,200,111,108,115,104,111,33,31,31,104,191,110,34,118,32,190,109,35,106,107,114,182,32,185,34,188,112,112,108,28,113,206,103,107 H,748024,8,100,4,16,1015675,118,6,1,1,,4,2,2,,60,0,2,70,1,,1,,,,,,1,7,2,430,,1,3,,,2,560,3,2,15000,3,607,49,1,1,15000,0,3,3,3,1,4,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,125,232,125,106,131,41,99,112,209,32,190,202,112,112,36,40,194,120,129,192,35,126,196,196,193,119,32,197,138,131,125,134,36,32,120,122,131,37,105,257,35,105,190,176,221,127,28,182,120,131,119,102,35,40,118,125,134,41,32,119,116,222,120,124,138,33,128,114,208,42,213,215,116,127,32,31,199,103,32 H,748100,8,800,4,16,1015675,37,2,1,1,,3,2,2,,410,0,2,300,3,300,1,,2,1800,2,1,1,9,,,,1,1,,14,2,30,6,1,88000,4,,,1,1,88000,0,4,4,4,1,5,0,2,0,0,0,37,0,0,0,0,0,1,2680,3,0,1,29,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,11,13,31,12,32,25,58,32,48,45,47,28,30,10,39,37,10,72,45,42,33,31,72,33,13,62,35,65,50,18,43,10,73,49,12,15,46,34,35,11,78,71,34,71,35,31,12,34,12,32,14,39,47,74,29,41,68,10,10,33,36,39,10,39,59,11,33,12,34,50,50,96,9,34,85,55,30,43,42 H,748241,8,400,4,16,1015675,56,1,1,1,,3,2,2,,50,0,2,3,3,300,1,,1,840,1,1,1,5,,,230,1,1,,18,2,560,1,,,,,,1,4,57600,0,4,4,4,1,1,0,,0,0,0,24,0,0,0,1,0,2,1167,1,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,59,47,93,49,90,62,65,94,66,16,107,97,16,56,59,20,63,16,59,76,57,68,18,56,16,50,51,16,50,77,19,21,91,55,51,115,72,82,51,14,67,64,120,67,103,63,59,82,51,14,100,84,15,58,58,17,60,17,51,104,53,67,15,48,17,57,48,15,64,80,13,18,92,62,56,98,64,98,48,12 H,748280,8,900,4,16,1015675,78,2,1,1,,3,1,2,,60,0,1300,120,1,240,1,3400,,,,3,1,6,,,,1,2,,5,3,20,5,1,49250,4,,,1,1,49250,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,1,0,1,614,,0,0,7,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,122,112,80,113,23,69,80,58,27,97,129,73,24,22,66,78,28,125,79,68,22,24,80,30,108,83,85,69,123,59,27,94,131,147,81,84,131,26,89,88,135,145,60,127,24,56,73,70,22,91,119,67,23,20,67,74,22,131,66,74,25,23,80,23,151,91,87,84,150,106,21,80,114,126,80,77,129,24,68 H,748424,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,748440,8,100,4,16,1015675,98,2,1,,,1,5,,,30,0,450,3,4,,1,,,,,,1,3,2,250,,1,3,,,3,380,9,,,,350,8,1,5,56000,0,4,4,4,1,4,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,48,258,82,43,193,165,125,80,27,88,90,114,129,27,63,80,108,134,146,162,213,36,111,174,31,34,83,63,184,111,122,107,81,138,92,113,41,39,132,37,31,138,61,36,166,143,108,63,27,97,133,163,98,33,74,69,150,150,88,204,208,43,76,170,49,30,107,94,165,78,87,150,137,139,91,98,28,35,80 H,749040,8,600,4,16,1015675,85,2,1,1,,4,2,2,,60,0,2,120,1,250,1,,1,1600,1,1,1,9,,,,2,1,,20,2,800,5,1,114800,4,,,1,1,114800,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,0,0,1,1847,3,0,1,36,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,90,82,24,91,27,27,150,136,76,88,92,80,24,149,84,95,93,25,25,28,87,78,152,84,148,144,27,24,85,85,76,74,150,26,77,85,86,142,123,131,87,93,25,90,25,25,129,151,98,86,87,83,26,138,94,89,79,26,25,28,77,89,150,76,134,142,26,25,79,86,81,84,154,27,83,85,85,150,159 H,749331,8,100,4,16,1015675,39,2,1,2,1,4,2,2,,70,0,2,20,1,430,1,,,,,3,1,7,,,,1,2,,21,3,190,5,4,40100,4,,,1,1,40100,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,0,1,314,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,43,34,10,76,12,37,67,68,56,41,10,55,42,39,40,38,10,12,40,44,41,39,64,12,61,35,10,12,10,36,68,12,46,45,38,38,66,64,38,35,41,37,69,12,68,39,11,15,10,43,63,11,40,40,46,37,67,63,40,36,32,36,12,73,11,36,60,59,61,33,10,61,39,44,40,34,14,13,42 H,749350,8,300,4,16,1015675,22,2,1,2,1,5,2,1,,80,0,2,3,3,150,1,,1,510,1,1,1,8,,,,1,1,,14,2,2,6,2,59000,4,,,1,1,59000,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,0,0,1,590,3,0,0,13,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,23,8,4,7,21,24,28,21,28,37,46,42,29,10,22,46,22,17,6,31,23,6,6,7,20,22,16,24,21,38,42,38,23,8,24,37,26,23,39,5,25,38,40,37,26,24,27,29,18,8,6,5,22,51,21,5,28,20,41,6,19,48,33,34,26,27,30,22,22,7,6,10,26,34,21,7,19,18,7 H,749627,8,300,4,16,1015675,287,2,1,1,,3,2,2,,160,0,2,3,3,530,1,,2,690,2,1,1,6,,,,1,1,,14,2,40,7,1,90000,4,,,1,1,90000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,2,1047,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300,430,89,93,99,77,448,326,269,105,452,302,275,521,283,233,554,263,291,324,312,395,94,90,95,84,408,297,265,97,424,268,348,454,256,261,506,260,257,278,260,597,81,101,82,85,530,257,277,77,471,295,277,442,252,339,507,276,307,330,259,460,93,70,102,85,508,259,274,102,462,247,283,469,269,283,488,290,329,322 H,749670,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,749678,8,700,4,16,1015675,108,2,1,1,,3,2,2,,80,0,2,70,1,360,1,,,,,3,1,7,,,,1,2,,16,3,300,3,4,27200,4,,,1,1,27200,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,2,2,1,297,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,176,178,112,93,109,209,30,195,114,32,29,33,90,191,32,107,98,100,96,110,33,34,114,117,116,36,199,34,115,163,169,174,97,32,207,115,105,115,110,102,31,35,106,106,101,30,208,32,119,184,182,190,104,29,192,100,113,119,109,99,182,179,99,113,112,185,30,200,118,30,32,33,117,189,32,109,111,107,111 H,749686,8,200,4,16,1015675,33,0,1,3,,1,2,2,,,,,,,,2,,,,,,2,2,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,11,29,35,9,36,80,11,11,49,30,41,60,41,74,35,34,38,9,11,30,47,42,39,53,30,11,53,53,10,30,31,11,27,8,29,30,34,54,50,39,12,36,39,9,27,61,10,11,55,42,35,63,36,58,37,32,40,8,11,36,51,31,36,57,33,10,50,51,9,26,25,11,36,12,34,28,35,50,57 H,749776,8,500,4,16,1015675,65,4,1,1,,3,2,1,,60,0,2,60,1,200,1,,1,690,1,1,1,6,,,,1,1,,16,1,70,2,1,25800,1,,,1,1,25800,0,1,1,1,1,3,2,4,0,0,2,38,0,0,1,0,0,1,816,3,0,0,30,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,58,20,54,61,123,106,15,23,124,64,20,143,103,69,65,18,80,57,61,58,75,21,80,79,101,125,21,19,99,74,21,91,117,68,75,23,56,73,74,78,63,102,67,69,17,23,120,91,19,72,114,21,22,58,72,134,65,78,65,61,69,123,65,74,18,21,137,129,21,72,101,18,19,56,49,94,69,68,63,68 H,749968,8,300,4,16,1015675,93,1,1,,,2,8,,,60,720,2,3,3,,1,,,,,,1,4,2,380,,1,3,,,1,1,6,,,,440,49,1,6,10700,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,22,108,30,89,28,86,118,103,82,27,26,85,84,23,107,116,24,26,25,93,101,184,93,159,88,168,174,182,144,91,91,163,159,87,155,139,89,85,98,163,163,108,175,88,170,79,90,101,91,159,167,106,96,135,94,104,144,163,201,99,103,34,94,27,99,25,24,26,25,80,101,24,25,84,24,24,104,88,86,26 H,749997,8,800,4,16,1015675,149,4,1,1,,2,1,2,,120,0,2,3,6,,1,,,,,,1,4,2,330,,1,3,,,2,1,5,2,22800,3,450,24,2,1,22800,0,3,3,3,2,4,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,162,136,204,183,222,287,138,33,168,335,174,143,279,133,44,48,66,144,361,135,175,134,158,57,37,39,157,250,146,40,148,137,46,144,284,245,228,174,318,150,147,158,125,33,43,44,141,308,171,46,140,149,44,136,339,376,214,125,35,123,194,191,121,229,226,264,153,56,193,250,117,178,220,137,59,53,43,127,45 H,750092,8,400,4,16,1015675,192,3,1,1,,3,2,2,,40,0,400,3,6,,1,,,,,,1,4,2,650,,2,3,,,3,600,7,,,,773,14,1,5,65300,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,91,184,239,187,273,261,241,455,45,172,62,177,67,80,242,170,165,133,169,185,231,76,276,305,226,228,60,238,172,162,225,76,212,305,286,197,98,78,232,329,91,202,219,177,234,185,175,212,75,217,76,200,103,58,177,294,166,197,269,190,190,100,272,189,179,172,69,142,268,234,169,72,164,157,313,283,70,79,340,231 H,750167,8,200,4,16,1015675,20,2,1,1,,2,1,2,,80,0,2,100,2,220,1,1200,,,,3,1,3,,,,1,2,,1,2,1,4,4,24600,4,,,1,1,24600,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,2,315,,0,0,6,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,28,28,26,26,7,20,7,21,7,7,5,8,20,13,5,5,18,39,18,19,35,40,42,44,27,31,16,32,21,19,19,22,33,23,19,21,33,16,7,6,18,19,25,23,7,33,4,22,7,7,6,5,23,17,5,5,16,21,17,21,38,35,39,46,23,39,20,31,23,18,19,28,33,31,17,22,40,15 H,750195,8,200,4,16,1015675,300,1,1,1,,1,1,2,,40,0,2,2,1,,1,,,,,,1,2,2,390,,1,3,,,1,1,7,,,,430,51,1,4,10200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,550,264,301,367,340,363,109,280,458,110,383,100,316,380,271,342,122,307,358,465,109,336,246,276,237,338,397,292,114,355,319,345,309,107,292,150,433,372,96,117,434,303,264,302,311,270,120,385,509,88,319,105,256,422,316,420,112,232,342,477,111,248,259,308,211,379,491,241,92,468,296,425,352,144,281,113,477,390,113,103 H,750234,8,100,4,16,1015675,140,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,232,253,127,252,41,149,120,113,39,162,228,112,44,52,126,151,46,271,131,161,235,227,135,213,57,136,131,119,37,145,260,164,41,44,154,139,37,248,130,146,45,46,140,46,220,117,146,115,265,153,47,142,239,235,158,139,214,41,117,139,47,44,139,48,223,145,147,140,267,126,50,140,235,244,108,115,215,43,118 H,750334,8,800,4,16,1015675,66,3,1,1,,3,2,2,,50,0,2,80,1,330,1,,1,910,1,1,1,7,,,,1,1,,16,2,60,2,7,28600,3,,,1,3,28600,0,3,3,3,1,3,2,3,0,0,2,44,0,0,1,0,0,1,1045,3,0,1,24,2,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,86,82,114,129,18,95,59,88,24,20,15,77,70,122,17,59,145,65,67,119,92,104,51,52,78,65,19,101,81,76,61,18,113,69,73,19,53,21,20,72,68,72,17,20,114,21,63,53,117,109,135,73,62,17,110,70,23,73,66,24,21,22,84,83,50,64,114,21,64,68,71,108,17,58,57,136,82,133,103,83 H,750343,8,100,4,16,1015675,79,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,85,78,74,114,70,21,84,122,140,82,86,139,25,70,24,24,91,25,82,135,81,73,75,135,84,22,75,147,142,66,81,139,20,76,25,24,79,22,82,24,76,85,79,27,80,126,85,22,21,72,68,23,151,84,146,134,81,136,73,24,85,86,75,24,80,123,81,24,22,87,77,20,119,74,130,120,81,130,71 H,750933,8,800,4,16,1015675,39,4,1,1,,4,2,2,,100,0,2,40,1,300,1,,1,490,1,1,1,9,,,150,1,1,,12,2,50,8,1,35000,1,,,1,1,35000,0,1,1,1,1,3,2,4,0,0,2,27,0,0,1,0,0,1,784,1,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,56,44,16,34,63,42,65,68,16,35,10,38,40,10,37,13,77,62,31,31,42,36,68,38,9,41,9,14,84,45,80,39,39,52,39,55,11,11,36,32,38,31,10,35,50,30,66,91,11,34,12,31,37,11,44,11,66,117,64,45,39,42,66,32,12,39,12,13,68,35,74,40,44,83,36,74,12,11,44 H,751044,8,700,4,16,1015675,73,2,1,1,,3,2,2,,90,0,500,90,3,1500,1,,1,770,1,1,1,6,,,210,1,1,,16,3,480,4,1,251000,4,,,1,1,251000,0,4,4,4,1,2,0,2,0,0,0,6,0,0,0,0,0,1,1242,1,0,1,27,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,70,116,135,24,116,72,86,24,22,21,69,72,131,23,74,116,68,74,24,19,20,81,73,72,74,133,22,80,80,70,139,20,69,76,116,75,115,119,74,77,68,21,24,129,21,83,71,115,137,120,70,76,20,132,70,22,74,66,117,134,136,69,77,69,72,22,132,72,68,69,20,131,74,71,23,72,24,20,77 H,751052,8,600,4,16,1015675,103,1,1,1,,3,2,2,,20,0,2,90,1,400,1,,,,,3,1,7,,,,1,2,,15,1,1000,3,,,,,,1,4,69000,0,4,4,4,1,5,0,,0,0,0,6,0,0,0,0,0,1,351,,0,1,27,,,,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,108,113,108,175,179,106,167,29,176,30,112,34,32,90,101,109,106,113,107,99,175,28,28,96,104,172,104,99,103,108,190,114,107,33,34,165,183,30,31,178,109,110,111,32,30,109,29,188,34,169,114,178,165,98,101,101,97,105,104,105,30,171,180,98,96,29,108,108,106,109,32,111,106,181,164,30,34,164,171 H,751250,8,800,4,16,1015675,195,1,1,,,1,8,,,20,0,2,30,1,,1,,,,,,1,3,2,400,,1,3,,,1,1,2,,,,450,32,1,4,17000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,182,250,157,213,266,163,60,372,309,71,172,227,67,209,50,160,234,200,404,56,185,64,222,227,54,198,290,67,97,290,173,169,330,246,380,197,164,218,63,290,177,284,180,171,311,199,55,322,282,61,224,264,56,166,74,155,211,234,257,61,212,70,190,221,75,185,246,62,54,285,255,201,305,200,393,205,186,222,57 H,751288,8,500,4,16,1015675,75,3,1,1,,3,2,2,,200,0,2,3,1,350,1,,1,600,1,1,1,6,,,,1,1,,13,1,300,5,7,22700,2,,,2,3,22700,0,2,2,2,1,6,2,3,0,0,2,44,0,0,1,0,0,2,825,3,0,1,24,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,94,21,75,25,81,69,27,73,118,20,26,129,82,76,144,71,150,74,68,20,78,134,65,118,80,77,116,88,25,108,121,29,67,79,21,77,26,84,82,147,88,22,84,23,72,88,24,78,108,22,22,120,80,88,138,68,120,65,70,24,96,155,69,120,87,95,132,77,21,125,148,20,85,73,22,65,19,68,67,127 H,751296,8,300,4,16,1015675,31,2,1,1,,2,2,2,,70,0,600,150,1,340,1,,,,,3,1,5,,,,1,2,,11,2,700,9,4,20600,4,,,1,1,20600,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,2,2,1,380,,0,1,7,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,8,19,24,8,31,67,15,9,31,28,17,45,28,51,40,34,42,13,70,29,16,23,20,10,37,82,23,5,45,33,26,46,37,58,45,38,41,16,11,27,41,45,38,79,41,8,46,57,14,27,45,13,20,9,18,29,49,48,8,27,30,53,45,62,40,8,40,60,11,36,51,16,18,9,29,31,29,44,71 H,751505,8,200,4,16,1015675,240,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,229,388,363,80,87,433,245,66,425,352,247,222,69,301,267,221,240,84,192,243,235,75,78,408,402,64,221,372,69,87,317,234,379,256,286,276,233,368,225,293,293,85,89,430,417,75,214,346,75,77,257,239,438,257,216,267,253,338,270,258,286,372,379,68,79,341,217,76,321,315,214,238,88,252,217,244,267,65,196 H,751635,8,600,4,16,1015675,339,6,1,,,3,4,,,90,0,2,20,1,,1,,,,,,1,7,2,790,,1,3,,,3,1,2,7,73000,1,900,15,1,3,73000,0,1,1,1,1,2,1,6,0,0,3,,0,1,1,0,0,2,,,1,0,,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,579,332,589,356,364,527,324,98,600,503,103,329,347,99,334,108,318,328,353,558,94,362,105,329,347,92,326,567,110,105,541,342,351,601,358,618,362,344,303,96,599,314,510,386,343,575,336,93,579,614,93,323,327,109,371,108,341,312,346,513,110,304,105,362,310,98,320,555,109,100,609,347,329,626,394,589,343,318,327,93 H,751648,8,100,4,16,1015675,287,4,1,1,,3,2,2,,80,0,2,300,1,940,1,,1,650,1,1,1,5,,,,1,1,,21,2,650,8,2,60000,3,,,1,1,60000,0,1,1,1,1,1,2,4,0,0,2,22,0,0,1,0,0,2,1084,3,0,1,28,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,1,0,78,310,515,274,82,267,346,248,80,265,107,520,255,434,306,335,322,386,481,347,280,102,322,428,284,530,355,64,276,96,308,370,98,236,90,445,481,293,244,302,250,82,248,366,325,461,513,96,326,74,307,258,87,279,103,402,424,303,280,102,89,275,414,277,90,274,268,275,116,301,102,502,311,465,286,285,301,502,488,105 H,751721,8,800,4,16,1015675,34,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,70,43,10,32,33,32,8,34,13,51,30,58,31,31,31,48,65,11,37,41,33,10,32,11,10,58,38,53,36,40,50,30,61,8,10,33,30,38,63,9,67,38,8,33,33,32,10,36,10,59,30,59,33,29,33,57,71,9,33,32,36,11,34,11,10,57,36,53,36,32,57,33,56,8,9,42,36,34,51,9 H,751832,8,600,4,16,1015675,102,1,1,1,,3,2,2,,30,0,2,30,1,350,1,,1,1200,1,1,1,6,,,,1,1,,19,3,120,3,,,,,,3,4,82050,0,4,4,4,2,3,0,,0,0,0,19,0,0,0,0,0,1,1270,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,28,98,98,104,107,28,104,105,172,164,32,30,179,100,28,170,168,104,108,102,163,100,106,91,103,171,108,107,32,31,164,176,32,97,163,30,31,113,93,98,172,107,98,114,106,184,109,104,30,31,159,177,28,101,162,29,31,102,104,99,30,92,102,101,88,29,99,107,183,163,30,32,184,101,30,154,172,109,96,105 H,751954,8,200,4,16,1015675,114,4,1,1,,3,2,2,,110,0,2,3,6,2400,1,,1,500,2,2,1,8,,,,1,1,,15,4,660,3,2,58800,2,,,5,1,58800,0,2,2,2,1,5,1,4,0,0,1,14,0,0,1,0,0,2,665,3,0,1,1,2,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,82,120,31,118,156,228,147,31,31,236,112,52,124,132,131,150,44,132,103,125,111,105,185,119,102,32,34,238,149,32,134,140,49,43,95,137,182,131,165,161,94,104,41,130,115,184,163,39,30,159,121,36,159,175,124,111,32,129,94,100,115,107,232,141,125,31,34,173,165,31,123,143,41,60,146,145,180,93,143 H,751981,8,100,4,16,1015675,88,4,1,2,1,4,2,2,,180,0,2,20,1,1800,1,,2,1200,1,1,1,8,,,450,1,1,,24,2,480,3,5,70000,2,,,2,2,70000,0,2,2,2,1,3,2,3,0,1,2,35,1,0,1,0,0,1,2040,2,0,1,10,1,10,10,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,136,139,105,80,83,25,90,132,97,147,155,26,102,29,81,87,28,85,26,95,24,26,96,85,87,135,73,21,88,28,27,142,85,165,85,99,153,92,146,75,162,159,79,81,79,30,104,141,86,136,159,31,75,24,87,91,29,79,26,81,28,25,87,93,75,130,94,31,82,26,28,160,97,148,99,79,153,91,125,78 H,752372,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,752715,8,700,4,16,1015675,102,2,1,1,,3,2,2,,30,0,2,40,1,400,1,,1,660,1,1,1,8,,,,1,1,,16,1,80,3,4,67400,4,,,1,1,67400,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,2,2,1,737,3,0,1,23,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,111,109,30,26,103,109,104,30,187,29,116,164,149,162,106,26,149,99,27,28,202,198,102,100,33,32,170,104,122,105,172,97,102,104,32,105,100,173,106,97,105,106,182,174,103,112,106,173,31,180,101,27,31,29,92,175,34,107,170,163,27,30,99,107,184,158,30,101,106,96,32,116,99,101,174,106,103,31,94 H,752814,8,100,4,16,1015675,19,2,1,1,,2,2,2,,70,0,560,3,6,400,1,,1,1500,1,1,1,4,,,60,1,1,,23,3,500,4,4,63100,4,,,1,1,63100,0,4,4,4,1,3,0,2,0,0,0,33,0,0,0,0,0,1,1719,2,0,1,49,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,21,5,17,5,17,21,17,17,5,5,16,18,5,18,17,5,5,5,17,17,26,19,27,19,31,28,33,33,17,17,38,32,21,31,28,17,17,17,28,30,21,33,17,31,17,18,17,20,31,27,15,19,33,15,18,32,29,32,20,16,5,18,5,19,5,5,5,5,19,18,5,6,18,5,5,17,20,18,5 H,752832,8,700,4,16,1015675,142,3,1,1,,4,2,2,,80,0,340,4,1,430,1,,,,,3,1,9,,,,1,2,,15,4,810,7,7,58000,4,,,1,3,58000,0,4,4,4,1,6,0,3,0,0,0,6,0,0,0,0,0,1,294,,0,1,20,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,34,147,143,41,143,205,210,315,146,169,160,191,126,37,40,55,194,231,51,147,199,150,104,192,137,38,50,40,131,202,124,117,156,215,268,259,118,49,38,111,236,137,153,187,127,51,49,56,119,128,139,122,176,346,257,199,125,34,240,139,45,152,233,46,140,197,247,272,152,118,123,121,141,66,43,44,174,221,199 H,752894,8,300,4,16,1015675,51,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,12,16,60,43,84,78,58,43,36,78,72,50,14,13,99,121,16,68,49,17,77,84,53,47,13,51,52,47,43,12,54,50,67,82,19,16,87,62,48,80,11,16,55,41,69,53,44,46,46,64,53,55,16,15,81,98,20,67,44,17,62,72,58,54,16,56,50,42,49,14,51,56,85,79,17,19,91,73,37 H,753294,8,100,4,16,1015675,27,2,1,1,,3,2,2,,60,0,2,3,6,350,1,,,,,3,1,5,,,,1,2,,15,2,360,7,2,23200,4,,,1,1,23200,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,2,1,2,227,,0,1,25,1,7,3,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,27,26,6,9,23,40,29,45,9,46,25,50,30,5,9,25,37,24,22,8,40,7,25,28,10,18,8,29,24,25,43,31,55,36,26,39,23,7,44,26,32,24,7,8,22,41,24,43,8,47,28,37,24,9,7,24,34,21,28,8,39,8,28,29,10,27,8,26,22,22,41,29,39,22,24,40,32,11,47,30 H,753320,8,400,4,16,1015675,230,3,1,,,2,8,,,1,0,2,3,3,,1,,,,,,1,5,2,360,,1,3,,,3,1,5,1,15900,4,360,27,2,1,15900,0,4,4,4,1,2,0,3,0,0,0,,0,0,0,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,372,73,72,231,233,326,217,274,225,213,379,193,204,78,66,384,430,76,241,212,394,70,79,293,207,299,227,294,263,259,407,180,216,60,54,435,345,72,268,232,74,350,375,254,241,78,254,277,255,236,89,192,176,314,318,67,71,374,248,216,79,409,382,249,267,71,168,200,272,244,64,251,242,361,343,75,77,334,212,221 H,753485,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,753565,8,100,4,16,1015675,73,2,1,3,6,3,2,2,,70,0,1800,90,2,1400,1,,2,200,2,1,1,9,,,,1,1,,24,3,2,3,2,53060,4,,,1,1,53060,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,2,1,1,1029,3,0,0,60,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,23,22,22,138,68,60,18,121,74,82,105,77,102,94,61,67,71,140,71,103,116,117,123,22,65,53,103,26,70,59,21,97,73,22,90,112,78,19,76,137,89,126,124,19,74,69,135,21,75,71,22,63,63,24,71,83,61,20,62,19,23,21,25,114,69,85,30,124,73,79,109,72,73,124,74,60,81,102,70 H,753965,8,700,4,16,1015675,78,5,1,1,,5,2,2,,90,0,1200,90,1,1200,1,,1,1700,1,1,1,9,,,300,1,1,,21,1,700,2,1,115000,2,,,1,1,115000,0,2,2,2,1,3,3,5,0,0,3,24,0,0,1,0,0,1,2338,2,0,1,47,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,79,127,80,25,79,74,78,26,83,21,129,77,132,86,78,72,136,130,80,72,22,81,139,72,141,146,23,78,23,81,76,25,84,20,133,127,75,81,78,79,141,80,24,82,21,22,132,73,148,76,75,137,76,152,25,22,71,75,137,137,83,23,81,144,77,80,75,122,78,130,22,75,22,81,77,80,25,25,22 H,754304,8,100,4,16,1015675,34,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,52,29,34,12,33,31,33,30,6,48,33,54,66,8,10,57,25,12,31,51,55,32,29,8,29,33,35,33,8,36,35,54,56,12,8,50,37,12,42,67,56,29,29,10,40,36,36,36,10,38,36,46,50,8,8,67,31,10,33,43,67,37,25,8,31,28,36,24,10,37,39,55,70,8,8,53,37,9,40 H,754399,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,754468,8,100,4,16,1015675,88,4,1,1,,2,2,2,,120,0,2,2,1,480,1,,2,750,2,1,1,5,,,160,1,1,,16,4,600,5,1,93500,2,,,1,1,93500,0,2,2,2,1,4,1,4,0,0,1,16,0,0,1,0,0,1,1220,2,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,142,152,120,29,108,91,144,26,79,82,25,76,87,25,92,99,76,29,27,95,96,83,82,87,21,143,80,81,168,134,86,27,31,88,163,25,160,89,76,152,150,118,144,24,105,103,131,32,80,101,30,84,88,28,99,85,89,26,29,78,79,79,88,81,25,151,96,74,134,149,77,25,29,95,150,24,149,85,95 H,754616,8,900,4,16,1015675,60,3,1,2,1,3,2,2,,60,0,2,40,1,210,1,,2,600,2,1,1,7,,,290,1,1,,12,4,720,7,1,43000,4,,,1,1,43000,0,4,4,4,1,5,0,3,0,0,0,33,0,0,0,0,0,2,1176,2,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,58,62,109,60,22,63,19,17,86,65,90,71,66,101,63,94,18,19,60,69,66,58,103,62,17,60,17,18,107,57,99,50,61,92,63,123,19,19,64,60,58,69,19,61,116,63,100,90,18,59,16,58,55,15,59,19,114,92,65,63,64,56,20,63,103,60,115,105,20,56,18,64,66,17,70,17,95,94,60,60 H,754711,8,800,4,16,1015675,42,6,1,1,,4,2,2,,110,0,2,170,1,350,1,,1,900,1,1,1,8,,,,1,1,,15,2,600,9,1,51500,3,,,1,1,51500,0,3,3,3,1,1,4,6,0,0,4,29,0,0,1,0,0,1,1230,3,0,1,18,2,2,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,73,50,68,45,46,44,10,30,14,42,61,15,52,66,11,13,60,42,13,34,10,41,12,40,37,53,63,47,59,36,77,73,41,13,75,65,10,49,95,48,75,58,82,42,47,38,9,32,12,50,44,15,50,62,12,17,60,44,12,35,12,39,10,43,57,56,53,38,57,40,56,70,35,11,84,70,14,44,102 H,755314,8,700,4,16,1015675,117,6,1,1,,4,2,2,,60,0,2,130,1,400,1,,1,910,1,1,1,7,,,,1,1,,17,2,600,2,1,69400,2,,,1,1,69400,0,3,3,3,1,3,4,6,0,0,4,20,0,0,1,0,0,1,1150,3,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,34,214,34,113,222,212,196,112,34,199,122,114,110,126,34,34,128,113,113,122,199,32,206,114,32,33,35,117,202,35,107,112,120,113,197,195,127,112,97,121,38,214,34,118,203,196,186,121,40,200,123,115,106,101,31,36,117,129,119,124,179,34,186,106,32,34,37,121,188,34,114,130,120,113,189,202,132,119,124 H,755446,8,500,4,16,1015675,113,4,1,1,,3,2,2,,80,0,2,100,3,300,1,,1,1200,1,1,1,6,,,,1,1,,17,2,640,3,1,58004,2,,,2,1,58004,0,2,2,2,1,1,2,4,0,0,2,30,0,0,1,0,0,1,1433,3,0,1,22,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,221,151,33,94,125,34,232,95,102,31,111,140,228,123,95,31,233,149,99,27,125,158,93,31,26,101,94,40,228,103,188,197,149,222,41,89,133,114,33,111,207,114,43,106,110,35,204,97,101,39,105,107,211,93,112,42,147,167,119,36,97,189,121,38,49,110,155,34,138,145,181,174,117,184,33,138,102,101,37 H,755507,8,400,4,16,1015675,50,1,1,2,1,3,2,2,,40,0,880,30,6,700,1,,,,,3,1,5,,,,1,2,,17,1,2,3,,,,,,1,6,43300,0,4,4,4,1,4,0,,0,0,0,8,0,0,0,1,1,1,287,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,80,51,16,70,67,14,52,81,70,83,56,47,61,60,50,15,15,13,105,46,95,51,17,59,50,12,55,84,75,101,57,45,48,44,50,17,16,15,93,42,74,44,20,48,43,15,46,71,76,103,61,51,56,59,52,15,15,13,83,49,94,54,15,63,54,12,50,79,100,103,57,53,44,37,52,18,17,13,66 H,756247,8,600,4,16,1015675,258,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,18,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,431,70,259,279,389,450,494,262,229,79,412,258,80,284,271,244,274,81,74,258,284,249,407,72,254,221,259,415,79,299,236,479,279,406,414,80,69,261,291,83,400,82,304,269,447,495,434,266,242,72,397,255,71,304,269,219,291,74,85,223,271,304,469,76,280,238,255,415,73,247,249,485,250,410,430,72,64,219,282 H,757038,8,100,4,16,1015675,186,3,1,1,,5,2,2,,90,0,2,100,1,300,1,,2,170,2,1,1,8,,,,1,1,,20,2,1000,3,1,35000,1,,,1,1,35000,0,1,1,1,1,4,1,3,0,0,1,22,0,0,1,0,0,1,633,3,0,1,31,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,301,197,168,44,371,214,169,320,175,203,252,166,170,168,377,55,46,47,53,204,51,214,194,293,57,201,191,57,258,193,58,191,203,216,48,292,362,282,327,156,52,178,212,307,55,183,199,55,180,201,52,229,237,165,48,319,347,297,314,169,383,224,189,49,259,194,158,358,203,168,372,168,164,205,331,52,57,64,53,257 H,757165,8,500,4,16,1015675,101,5,1,1,,5,2,2,,60,0,2,90,1,1200,1,,,,,3,1,9,,,,1,2,,21,3,2,3,8,212550,2,,,1,3,212550,0,2,2,2,1,5,4,5,0,0,4,3,0,0,1,0,0,1,517,,0,1,44,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,96,98,32,104,30,159,179,108,95,105,31,112,180,115,216,174,28,91,127,28,104,103,31,107,31,163,182,107,97,90,29,104,170,94,220,175,30,98,99,179,107,97,186,118,179,28,32,89,111,104,188,114,29,97,31,34,204,99,96,187,104,91,194,114,150,32,28,93,111,96,175,116,33,104,25,27,181,88,113 H,757579,8,800,4,16,1015675,63,7,1,1,,2,2,2,,110,0,2,3,3,0,1,,2,600,1,2,1,4,,,,1,1,,12,2,470,7,5,34200,3,,,2,2,34200,0,3,3,3,1,3,3,7,0,0,3,26,0,0,1,1,1,2,749,3,0,1,10,3,10,10,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,17,19,88,50,55,17,116,72,89,141,58,54,130,117,59,64,124,16,19,53,96,107,36,74,56,99,15,63,55,19,55,65,17,56,98,92,16,100,126,85,109,85,21,77,86,132,15,81,56,19,68,56,16,42,59,69,15,97,92,101,24,20,75,68,66,18,138,54,73,101,71,91,119,61,47,47,92,22,19,46 H,757610,8,800,4,16,1015675,80,1,1,1,,1,1,2,,20,0,2,40,2,240,1,250,,,,3,1,3,,,,1,2,,1,2,1,5,,,,,,1,4,30600,0,4,4,4,1,6,0,,0,0,0,4,0,0,0,1,1,1,109,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,126,25,100,79,66,70,76,101,136,27,98,85,25,24,66,115,137,81,81,90,80,82,25,139,107,121,145,25,102,86,171,20,80,74,19,83,57,24,21,140,24,172,74,92,98,88,70,67,22,126,92,60,120,158,74,22,20,99,71,73,88,72,109,23,30,25,22,130,66,79,24,136,91,84,181,68,70,166,152 H,757694,8,700,4,16,1015675,63,2,1,1,,3,2,2,,40,0,2,140,1,,1,,,,,,1,5,2,1100,,1,3,,,1,360,2,1,54500,4,1310,29,1,1,54500,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,20,111,110,16,63,64,18,61,17,65,63,68,112,58,108,69,64,110,119,56,106,21,18,95,67,67,110,62,104,64,68,64,18,70,19,64,62,19,20,67,19,110,111,19,62,63,20,64,20,61,70,61,96,64,100,57,62,108,106,61,120,17,19,110,58,66,110,66,116,62,60,66,20,63,19,64,70,18,18 H,757720,8,200,4,16,1015675,256,2,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,2,1,4,,,,550,73,1,5,9000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,341,378,265,264,77,216,82,216,282,85,323,316,104,90,318,317,297,547,450,279,416,237,233,271,102,218,75,211,279,93,320,384,81,86,389,412,245,316,282,196,304,256,231,330,91,233,96,298,304,70,314,307,77,113,496,255,252,509,412,244,493,182,209,206,80,334,85,341,370,88,361,485,70,89,381,211,228,362,424 H,758000,8,500,4,16,1015675,100,2,1,1,,3,2,2,,30,0,2,130,1,370,1,,1,410,1,1,1,9,,,,1,1,,13,2,290,7,1,58260,4,,,1,1,58260,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,0,1,594,3,0,1,19,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,106,103,25,93,155,97,25,27,107,92,29,185,106,169,166,105,166,29,99,110,94,103,36,103,134,108,31,29,89,100,31,169,101,180,175,100,176,33,89,96,101,106,163,102,27,109,174,158,94,98,151,30,96,26,26,97,28,177,112,99,98,93,171,104,31,92,187,177,100,94,168,30,107,28,32,98,33,188,102 H,758104,8,700,4,16,1015675,82,4,1,1,,3,2,2,,70,0,2,100,1,400,1,,1,1800,1,1,1,8,,,,1,1,,19,4,70,1,1,58200,2,,,2,1,58200,0,2,2,2,1,2,1,4,0,0,1,41,0,0,1,0,0,1,1976,3,0,1,34,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,83,25,82,25,137,140,84,77,82,22,84,128,84,146,144,25,87,26,80,88,91,25,84,25,149,143,84,76,82,22,92,137,77,139,133,22,90,25,80,82,85,131,81,144,29,23,70,86,77,144,84,23,84,27,23,129,91,146,87,73,88,123,93,131,27,27,73,78,82,145,76,24,83,24,27,135,85,127,93,72 H,758268,8,300,4,16,1015675,39,2,1,3,1,2,1,2,,50,0,2,40,2,1200,1,0,,,,3,1,5,,,,1,2,,16,2,360,5,4,35100,4,,,1,1,35100,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,2,2,2,320,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,12,38,66,39,13,27,26,13,35,48,78,76,43,39,36,35,41,14,75,9,11,39,61,37,11,41,39,11,39,54,63,75,46,43,52,42,32,11,80,11,12,34,45,42,12,39,43,8,29,62,57,61,66,40,52,45,26,15,57,13,11,38,70,40,14,44,35,9,43,82,79,60,36,37,34,39,38,12,64 H,758419,8,300,4,16,1015675,86,2,1,3,1,3,2,2,,40,0,2,10,6,600,1,,,,,3,1,5,,,,1,2,,18,3,2,1,3,20000,4,,,1,1,20000,0,4,4,4,1,2,0,2,0,0,0,9,0,0,0,0,0,1,150,,0,0,14,2,5,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,28,26,85,120,79,30,112,99,27,90,172,147,120,88,93,78,84,84,27,146,29,24,66,117,92,29,79,94,30,86,135,119,152,80,84,88,112,96,22,166,24,31,73,157,72,24,101,118,31,79,155,126,189,100,70,87,76,76,18,166,29,23,100,130,74,31,73,76,34,80,153,129,106,87,104,97,106,83,26,135 H,758690,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,758972,8,300,4,16,1015675,68,3,1,2,1,4,2,2,,80,0,2,130,1,260,1,,1,790,1,1,1,9,,,50,1,1,,16,3,2,2,1,20400,2,,,1,1,20400,0,2,2,2,1,3,1,3,0,0,1,62,0,0,1,0,0,1,1050,2,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,76,56,120,66,18,104,114,19,75,76,23,64,21,66,77,71,103,72,24,101,64,74,121,68,25,115,119,18,59,61,21,57,23,74,80,70,112,64,121,19,64,58,22,65,126,25,18,117,78,74,110,65,120,71,66,60,18,64,113,17,63,56,21,71,106,21,18,112,86,84,113,62,116,76,66,78,21,61,19 H,759558,8,800,4,16,1015675,51,4,1,1,,3,2,2,,130,0,2,3,3,200,1,,1,490,1,1,1,6,,,,1,1,,11,2,50,5,2,35040,3,,,1,1,35040,0,3,3,3,1,4,2,4,0,0,2,21,0,0,1,0,0,1,624,3,0,1,13,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,48,91,20,12,85,74,49,117,58,90,40,47,43,13,76,15,44,49,85,16,43,91,15,21,77,34,53,89,45,88,41,56,75,18,49,14,51,58,28,93,60,14,99,82,13,58,48,15,68,17,29,53,45,55,61,104,50,42,13,58,38,15,73,88,23,56,56,18,48,13,95,46,51,99,54,87,41,47,60 H,759580,8,200,4,16,1015675,97,2,1,1,,2,1,2,,90,0,2,3,3,260,1,330,,,,3,1,4,,,,1,2,,5,1,400,3,4,49000,4,,,3,1,49000,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,2,1,200,,0,0,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,79,150,119,29,137,98,80,27,105,34,163,111,106,81,84,112,221,130,99,129,34,93,150,105,146,127,29,94,26,119,85,24,112,40,248,181,91,112,132,88,145,97,36,84,23,35,177,128,170,87,83,189,89,166,29,33,105,81,162,190,77,26,85,178,103,92,100,151,87,185,25,96,43,97,121,108,24,32,32 H,759603,8,800,4,16,1015675,86,2,1,2,1,3,2,2,,80,0,2,3,3,430,1,,2,410,2,1,1,7,,,,1,1,,17,3,2,2,4,30300,4,,,1,1,30300,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,2,2,1,651,3,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,134,73,92,80,79,149,140,82,84,126,86,80,132,130,147,143,76,133,92,25,25,89,75,101,114,26,30,96,89,30,91,90,27,30,25,29,94,33,88,27,29,95,86,79,63,24,21,79,104,36,79,91,23,25,26,23,80,23,88,140,139,105,92,83,85,137,140,100,88,153,83,86,153,137,137,140,94,177,88,127 H,759633,8,800,4,16,1015675,17,2,1,2,1,3,2,2,,180,0,2,3,3,610,1,,1,550,1,1,1,5,,,,1,1,,14,2,2,5,3,76140,4,,,1,1,76140,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,0,0,1,730,3,0,1,21,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,22,3,15,31,26,32,15,17,15,16,20,4,5,5,17,27,15,4,17,5,20,23,15,5,5,7,22,18,15,18,14,23,23,26,17,5,15,31,17,4,17,26,14,5,5,5,17,15,18,17,17,27,25,29,18,3,15,23,16,28,20,5,18,36,27,31,18,20,16,15,18,3,5,5,15,26,17,5,16,35 H,760466,8,300,4,16,1015675,51,8,1,2,1,5,2,2,,150,0,2,200,1,1000,1,,1,1900,1,1,1,9,,,190,1,1,,21,2,60,2,2,130000,3,,,1,1,130000,0,3,3,3,1,2,6,8,0,0,6,23,0,0,1,0,0,1,2445,1,0,1,47,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,56,56,51,53,55,95,103,77,51,13,51,96,50,48,90,49,14,13,79,83,57,49,47,50,51,18,15,14,51,94,57,15,51,51,17,60,84,85,84,88,50,56,56,57,44,15,17,13,51,83,52,13,52,55,15,46,92,107,18,16,52,52,60,49,47,72,86,84,47,15,45,93,49,43,80,52,16,17,14 H,760530,8,800,4,16,1015675,222,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,70,67,205,238,220,231,200,325,337,408,223,73,219,408,263,189,322,224,74,71,74,57,238,236,208,234,219,417,331,361,233,74,228,367,208,213,372,214,340,356,358,397,202,201,213,236,225,72,68,68,220,391,233,71,209,237,67,205,347,326,440,410,223,256,254,232,245,71,66,73,234,343,208,64,212,185,71,222,77 H,760732,8,900,4,16,1015675,116,2,1,1,,2,2,2,,20,0,2,40,1,,1,,,,,,1,7,2,500,,1,3,,,1,600,7,1,28000,4,610,26,1,1,28000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,131,114,129,180,119,42,146,37,38,217,91,191,107,110,242,122,379,37,132,169,89,96,103,33,107,165,117,197,168,34,115,24,83,144,46,127,33,158,112,37,99,104,99,154,141,38,144,27,27,160,114,223,195,109,187,145,138,28,125,195,129,150,206,30,127,277,113,193,206,35,91,40,164,74,32,115,32,171,151 H,760740,8,500,4,16,1015675,131,2,1,1,,3,2,2,,50,0,2,10,1,380,1,,1,80,1,1,1,5,,,,1,1,,18,2,150,3,4,35000,4,,,1,1,35000,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,0,0,1,153,3,0,1,27,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,142,38,224,40,126,108,127,127,142,136,244,38,123,121,40,38,137,231,140,118,216,141,132,132,192,36,41,38,40,225,138,123,38,251,136,149,226,126,208,227,125,39,207,46,128,127,118,120,139,136,217,43,116,116,39,39,153,250,114,127,221,138,127,119,218,34,40,37,46,234,128,129,35,222,150,124,256,122,217 H,761371,8,800,4,16,1015675,102,2,1,2,1,4,2,2,,80,0,600,3,8,420,1,,1,790,1,1,1,7,,,,1,1,,15,2,240,8,4,35400,4,,,1,1,35400,0,4,4,4,1,5,0,2,0,0,0,32,0,0,0,2,2,1,940,3,0,1,34,2,5,9,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,103,184,34,91,151,168,86,128,100,85,107,29,100,165,27,95,31,122,164,32,108,34,173,97,23,29,109,100,125,90,113,150,97,26,149,117,129,121,183,27,94,32,156,125,28,32,100,88,94,93,114,151,91,33,170,104,149,112,31,152,96,143,24,103,189,170,114,102,87,99,108,34,119,179,35,94,24,109,31 H,761544,8,300,4,16,1015675,60,2,1,3,3,3,2,2,,60,0,2,3,6,0,1,,,,,3,1,6,,,,1,2,,21,2,2,2,1,67020,4,,,1,1,67020,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,0,0,1,143,,0,0,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,51,58,16,19,136,93,13,64,85,21,17,65,54,100,58,59,50,47,74,21,66,65,106,110,19,20,115,58,14,91,117,56,62,18,60,85,65,62,53,98,64,68,23,20,145,118,14,52,99,16,18,54,69,115,67,55,59,54,53,17,68,51,94,100,14,16,103,55,18,111,98,50,56,21,81,71,67,65,61 H,761701,8,600,4,16,1015675,137,5,1,1,,4,2,2,,80,0,2,80,1,1200,1,,1,680,1,1,1,6,,,160,1,1,,14,2,100,5,4,43820,2,,,2,1,43820,0,2,2,2,1,6,1,5,0,0,1,28,0,0,1,1,0,2,1008,2,0,1,29,3,8,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,186,147,231,64,41,172,107,174,243,129,40,137,36,57,172,130,179,129,141,128,235,135,189,40,49,137,119,199,187,109,45,96,57,65,226,143,251,190,112,177,258,106,174,63,41,167,120,209,189,120,32,116,53,51,231,130,186,166,114,134,192,176,238,43,43,147,105,157,243,111,52,131,38,63,179,132,295,154,117,143 H,761767,8,800,4,16,1015675,93,1,1,1,,3,3,2,250,30,0,2,50,1,500,1,,2,1000,1,1,1,5,,,350,1,1,,23,1,1,3,,,,,,1,6,215000,0,4,4,4,1,3,0,,0,0,0,10,0,0,0,0,0,2,1722,1,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,88,23,87,100,132,94,190,76,172,90,86,26,96,89,29,183,143,31,28,111,30,98,148,23,106,29,99,171,94,163,22,91,151,143,116,89,85,94,100,29,82,25,94,85,180,96,151,94,134,72,82,27,94,99,27,145,149,28,33,83,29,101,201,25,75,34,139,162,89,157,33,91,191,146,80,96,97,93,102 H,762235,8,300,4,16,1015675,19,2,1,2,1,3,2,2,,200,0,30,10,3,600,1,,2,990,1,1,1,6,,,90,1,1,,20,4,350,7,2,39300,4,,,1,1,39300,0,4,4,4,1,6,0,2,0,0,0,42,0,0,0,2,1,1,1372,1,0,1,20,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,36,18,18,32,36,32,23,17,39,12,22,24,21,21,26,32,34,22,9,16,4,28,18,8,5,5,8,19,5,21,5,18,22,23,17,5,5,21,38,21,31,14,20,37,36,36,28,20,38,15,25,20,20,21,24,31,35,22,5,18,6,20,16,10,5,5,10,21,7,22,8,17,21,22,16,4,6,21,46 H,762702,8,500,4,16,1015675,139,2,1,1,,3,2,2,,20,0,2,40,1,380,1,,1,850,1,1,1,6,,,280,1,1,,16,1,200,3,7,57870,4,,,1,3,57870,0,4,4,4,1,1,0,2,0,0,0,25,0,0,0,0,0,2,1207,2,0,1,28,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,144,38,134,144,41,138,214,243,254,131,143,143,150,143,45,49,41,130,207,50,133,241,140,148,248,143,38,43,41,131,124,134,142,135,215,297,236,137,39,230,142,44,132,150,45,142,234,252,205,150,143,148,156,139,38,42,45,163,232,39,147,239,123,154,262,119,45,38,37,150,132,139,157,150,242,209,227,144,34,264 H,762866,8,700,4,16,1015675,126,3,1,1,,3,2,2,,50,0,2,40,1,540,1,,1,570,1,1,1,6,,,,1,1,,18,2,30,4,1,32400,2,,,1,1,32400,1,2,4,2,1,3,0,3,1,0,1,25,0,0,1,0,0,1,663,3,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,122,122,125,34,218,36,124,238,196,235,124,37,217,130,133,130,123,35,42,127,38,37,218,131,127,120,212,123,121,138,34,112,119,215,40,230,208,116,120,34,113,128,121,39,202,39,137,205,209,212,130,39,230,139,122,121,123,37,38,131,36,39,223,128,137,114,193,120,131,126,35,119,134,217,35,229,211,136,115 H,762948,8,300,4,16,1015675,214,1,1,,,1,4,,,60,120,2,3,3,,1,,,,,,1,3,2,160,,1,3,,,0,1,3,,,,220,41,2,6,6400,0,4,4,4,2,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,54,96,222,298,229,63,213,288,70,224,336,281,356,229,158,179,192,225,54,91,411,344,178,56,200,314,211,215,298,208,97,107,100,183,174,204,243,180,263,79,306,353,192,61,223,266,181,229,307,209,80,108,94,222,186,164,186,223,337,385,89,88,222,276,236,81,201,224,73,228,424,306,289,205,211,225,173,195,81,483 H,763132,8,200,4,16,1015675,84,1,1,1,,3,2,2,,60,0,2,20,1,400,1,,,,,3,1,6,,,,1,2,,14,0,590,6,,,,,,1,6,7700,0,4,4,4,1,7,0,,0,0,0,42,0,0,0,1,1,1,272,,0,1,25,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,53,104,94,25,109,19,77,82,31,63,110,17,26,182,91,94,132,107,138,23,91,92,91,123,80,126,84,76,99,84,32,141,146,21,111,90,34,70,24,23,87,86,82,124,76,147,85,91,151,103,21,166,169,22,81,81,21,92,28,174,58,90,89,31,82,21,102,71,23,89,113,32,18,174,84,65,126,86,130,137 H,763448,8,400,4,16,1015675,72,4,1,1,,3,2,2,,50,0,2,3,3,250,1,,1,630,1,1,1,5,,,,1,1,,12,2,420,5,1,77050,2,,,1,1,77050,0,3,3,3,1,4,2,4,0,0,2,11,0,0,1,0,0,2,715,3,0,1,16,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,140,84,24,44,116,95,28,92,122,28,19,38,41,83,82,67,71,103,56,87,99,68,18,55,120,98,25,71,109,20,20,58,80,136,74,66,86,119,75,20,74,77,104,106,27,22,219,106,19,91,123,54,68,13,60,94,74,123,42,19,87,73,102,100,26,24,200,107,16,150,111,44,98,17,69,50,74,161,65 H,763677,8,300,4,16,1015675,64,4,1,2,1,4,2,2,,80,0,200,120,1,510,1,,1,970,1,1,1,9,,,240,1,1,,17,3,120,5,1,136970,4,,,1,1,136970,0,4,4,4,1,5,0,4,0,0,0,13,0,0,0,0,0,1,1437,2,0,1,26,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,70,104,17,20,54,62,72,99,77,24,67,16,21,119,64,110,63,71,84,18,71,16,110,108,71,74,62,19,56,102,56,102,108,17,75,21,57,61,62,125,67,97,20,20,72,78,68,101,64,21,72,19,20,126,63,95,64,57,63,21,67,16,106,110,54,58,72,23,78,117,61,108,98,19,65,19,53,62,64 H,764125,8,500,4,16,1015675,64,2,1,1,,4,2,2,,10,0,2,110,1,300,1,,1,700,1,1,1,9,,,190,1,1,,11,2,420,8,1,78400,4,,,1,1,78400,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,0,0,1,1045,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,63,19,20,64,18,99,67,54,67,100,56,18,64,109,104,60,59,101,69,116,62,108,109,67,104,18,62,68,61,20,70,108,64,18,20,61,62,18,66,20,68,18,20,54,19,104,62,57,63,111,63,18,58,95,110,60,61,108,58,107,57,93,110,62,104,20,60,66,65,20,76,106,62,20,21,66,65,18,66 H,764150,8,100,4,16,1015675,28,4,1,1,,5,2,2,,90,0,2,150,1,400,1,,1,1200,1,1,1,9,,,,1,1,,18,3,600,9,1,87000,2,,,1,1,87000,0,2,2,2,1,4,2,4,0,0,2,21,0,0,1,0,0,2,1490,3,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,42,63,8,10,43,25,29,39,33,45,25,24,29,9,30,6,35,31,8,51,26,8,45,48,6,42,43,6,26,9,26,33,32,55,32,56,31,32,42,10,22,47,11,9,54,22,31,47,36,51,32,32,30,9,31,8,25,25,8,56,29,7,37,45,10,26,28,12,36,11,29,34,37,45,26,57,36,27,51 H,764162,8,800,4,16,1015675,178,2,1,,,2,4,,,60,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,3,360,4,4,46800,4,590,15,1,1,46800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,47,170,254,166,62,62,223,206,54,208,174,272,228,171,267,69,200,174,157,178,49,199,322,160,63,73,169,163,45,230,211,365,262,177,312,52,228,217,146,201,44,175,344,236,38,44,223,168,51,262,163,271,308,201,276,53,130,176,176,222,38,193,342,151,52,48,178,153,62,307,166,384,286,208,422,65,181,204,199 H,764286,8,900,4,16,1015675,74,4,1,2,1,5,2,2,,70,0,100,200,1,600,1,,1,880,1,1,1,7,,,,1,1,,14,3,300,9,1,72000,2,,,1,1,72000,0,2,2,2,1,5,2,4,0,0,2,20,0,0,1,0,0,1,1183,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,95,23,76,147,123,67,64,76,96,87,27,91,122,22,48,16,66,121,78,120,28,119,67,24,19,71,94,88,93,104,104,57,28,132,69,111,64,21,81,25,99,23,67,117,134,72,72,91,99,76,23,82,114,22,71,26,84,102,60,125,39,127,74,26,19,60,86,74,47,94,115,64,24,117,89,132,71,28,88,40 H,764713,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,764796,8,100,4,16,1015675,88,2,1,1,,3,2,2,,80,0,2,4,1,640,1,,,,,3,1,6,,,,1,2,,18,2,360,3,1,74800,4,,,1,1,74800,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,2,0,1,300,,0,1,28,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,26,81,71,26,84,84,29,87,84,95,32,146,197,152,140,24,79,99,88,21,131,82,72,152,82,88,141,93,91,85,182,27,27,26,25,152,83,97,95,133,26,96,100,26,84,72,26,98,90,84,24,141,144,121,158,24,86,93,94,27,139,84,84,158,89,72,137,87,95,85,163,27,28,27,27,143,86,97,86 H,765378,8,900,4,16,1015675,126,3,1,1,,5,2,2,,100,0,2,10,3,300,1,,1,1200,1,1,1,9,,,,1,1,,15,3,380,5,1,88000,4,,,1,1,88000,0,4,4,4,1,6,0,3,0,0,0,18,0,0,0,0,0,1,1342,3,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,104,109,190,177,36,29,36,113,148,143,101,163,198,177,252,139,42,129,219,27,126,152,44,169,241,232,241,131,125,136,124,140,43,28,45,110,163,156,203,49,112,100,40,152,221,189,182,117,153,143,134,129,33,42,30,101,220,129,46,151,147,129,240,158,33,42,41,127,130,130,141,131,207,211,188,117,39,120,32 H,765396,8,800,4,16,1015675,22,3,1,3,5,4,2,2,,200,0,360,3,6,900,1,,2,3300,2,1,1,8,,,,1,1,,22,3,2,5,2,8299,4,,,1,1,8299,0,4,4,4,1,6,0,3,0,0,0,101,0,0,0,0,0,2,3813,3,0,0,37,2,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,6,5,34,36,7,15,33,7,5,21,20,32,22,24,27,20,35,17,16,18,8,7,30,37,5,22,46,7,7,23,26,33,22,20,23,21,29,21,26,17,7,5,37,35,7,19,32,5,7,22,24,42,20,18,27,25,34,17,25,18,5,7,48,56,5,18,39,4,5,22,23,38,24,19,21,21,31,20,22 H,765420,8,700,4,16,1015675,114,7,1,1,,3,2,2,,60,0,2,70,1,,1,,,,,,1,6,2,1500,,1,3,,,2,600,3,2,63500,3,1680,32,2,1,63500,0,3,3,3,1,1,5,7,0,0,5,,0,0,1,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,109,33,33,118,136,117,32,175,32,117,182,173,184,123,32,187,129,113,117,118,123,179,216,112,104,106,187,36,197,111,30,31,33,111,190,32,123,117,91,103,131,37,29,109,112,115,29,191,36,116,196,202,177,92,32,198,104,127,116,123,106,201,176,104,103,127,215,33,193,116,30,35,35,111,204,35,115,126,137 H,765975,8,600,4,16,1015675,104,2,1,1,,3,2,2,,200,0,2,200,1,600,1,,,,,3,1,5,,,,1,2,,20,2,600,3,1,100000,4,,,1,1,100000,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,2,708,,0,1,37,2,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,31,30,99,162,28,169,106,100,106,104,106,104,30,189,113,97,179,167,98,102,104,95,173,104,105,100,176,32,30,33,32,178,112,105,29,173,94,101,189,172,179,177,95,27,172,30,109,95,95,98,101,110,182,30,107,111,34,31,112,100,98,111,28,99,100,99,32,165,163,192,179,29,100,96,176,31,100,102,31,33 H,766197,8,800,4,16,1015675,60,2,1,1,,4,2,2,,100,0,2,20,3,300,1,,2,420,2,1,1,7,,,200,1,1,,10,3,2,8,2,34700,4,,,2,1,34700,0,4,4,4,2,6,0,2,0,0,0,28,0,0,0,0,0,2,798,2,0,1,10,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,128,78,18,82,146,24,44,80,28,51,16,59,67,61,91,70,114,58,90,73,26,65,81,17,22,74,55,82,72,60,96,61,63,46,15,52,14,53,24,70,128,48,15,90,107,20,49,75,17,43,17,66,46,69,112,46,126,78,93,63,19,58,85,20,20,72,48,62,87,58,99,59,85,55,16,72,21,66,20 H,766219,8,300,4,16,1015675,127,2,1,2,1,4,1,2,,130,0,2,3,3,,1,,,,,,1,6,2,550,,1,3,,,2,60,4,1,64000,4,685,13,1,1,64000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,107,49,105,35,174,161,140,140,111,30,154,153,128,232,209,50,144,35,99,133,140,306,129,214,37,37,183,181,104,196,161,41,108,40,44,337,135,193,143,122,100,124,154,228,47,57,115,151,193,207,81,38,118,39,40,180,112,164,141,141,124,32,154,41,208,292,132,118,198,47,101,265,157,184,207,36,117,32,118,82 H,766325,8,500,4,16,1015675,142,1,1,1,,2,2,2,,30,0,200,10,8,380,1,,1,540,1,1,1,3,,,,1,1,,16,3,50,2,,,,,,1,4,26000,0,4,4,4,1,2,0,,0,0,0,28,0,0,0,0,0,1,601,3,0,1,28,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,137,158,47,45,43,38,134,44,123,43,144,133,139,141,48,42,129,149,186,118,252,241,141,161,137,133,228,150,266,127,257,211,220,229,180,160,219,206,40,36,165,123,42,45,40,45,158,39,129,44,139,136,142,140,37,47,161,124,133,121,262,225,145,168,143,159,214,145,249,148,256,265,268,241,162,161,228,214,46 H,766594,8,600,4,16,1015675,108,4,1,1,,3,3,2,,120,0,2,80,3,,1,,,,,,1,6,2,740,,1,3,,,3,2,5,1,42000,1,940,27,2,1,42000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,117,111,32,34,169,171,29,115,180,31,36,104,102,195,110,111,109,109,104,33,104,124,212,189,33,35,192,113,33,186,180,118,100,31,110,108,105,114,113,200,98,108,36,30,200,187,34,93,166,33,29,93,119,212,110,114,113,102,107,31,115,111,190,193,37,35,173,113,31,174,184,116,103,30,114,110,114,111,103 H,766615,8,900,4,16,1015675,143,1,1,1,,2,3,2,,70,0,2,270,1,600,1,,,,,3,1,4,,,,1,2,,13,1,600,7,,,,,,1,4,35000,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,1,1,2,623,,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,166,170,134,244,190,162,274,54,225,55,129,38,37,127,169,137,125,150,154,141,58,217,208,156,136,42,136,123,138,147,39,114,148,174,219,51,43,312,31,242,145,135,150,48,32,122,49,199,43,232,144,265,213,136,151,193,142,125,153,129,210,52,53,190,127,184,118,125,125,137,213,113,143,39,48,337,302,58,269 H,766910,8,800,4,16,1015675,147,1,1,,,2,5,,,80,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,1,3,,,,580,21,1,4,33000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,134,274,149,116,51,52,182,243,52,171,283,48,40,135,163,180,104,142,166,197,148,292,133,102,45,58,230,180,48,163,295,49,41,146,145,249,122,144,128,177,134,46,161,174,322,278,52,54,217,123,46,231,190,133,163,46,143,176,148,207,138,39,121,129,232,227,44,55,224,115,48,215,165,146,193,55,133,150,259 H,766992,8,200,4,16,1015675,116,1,1,1,,1,1,2,,90,0,2,3,3,180,1,1000,,,,3,1,2,,,,1,2,,1,0,430,5,,,,,,1,6,8400,0,4,4,4,1,5,0,,0,0,0,32,0,0,0,1,1,1,227,,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,141,128,109,181,175,185,113,30,98,199,119,133,226,97,27,34,35,115,29,108,92,148,124,211,235,198,130,36,118,192,122,120,165,110,39,44,34,119,169,125,125,107,109,40,36,34,161,247,124,38,148,114,35,123,217,206,200,109,223,123,133,98,102,28,29,34,104,206,114,38,111,96,42,109,155,157,180,123,39 H,767236,8,400,4,16,1015675,83,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,94,79,128,72,20,24,24,67,81,89,110,95,135,137,118,92,28,72,23,138,98,95,145,75,23,27,28,76,74,76,86,76,148,157,115,76,29,81,33,155,86,100,166,79,32,27,23,79,72,71,75,74,131,138,157,96,21,70,28,143,71,93,172,79,25,24,23,72,81,82,79,76,105,118,164,87,21,85,22 H,767602,8,600,4,16,1015675,106,3,1,,,2,4,,,100,0,2,100,3,,1,,,,,,1,5,2,60,,1,3,,,2,50,5,1,122800,4,264,3,1,1,122800,0,4,4,4,1,5,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,176,101,166,99,101,30,100,31,102,33,109,105,194,113,99,189,30,31,174,108,96,172,106,31,168,105,189,105,33,108,30,196,110,29,30,97,102,115,104,29,30,98,29,101,108,185,96,166,100,176,109,107,32,113,114,34,193,193,29,98,112,30,103,179,30,113,29,97,198,108,177,30,96,182,188,102,104,109,112 H,767798,8,700,4,16,1015675,90,2,1,2,1,3,2,2,,100,0,2,3,3,400,1,,1,610,1,1,1,5,,,,1,1,,14,2,480,3,,,,,,1,5,27300,0,4,4,4,1,4,0,,0,1,0,33,0,0,0,2,0,2,750,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,166,86,95,90,87,82,27,92,149,25,97,28,97,161,97,156,28,92,140,25,147,90,88,87,97,90,24,81,150,28,84,25,92,168,97,158,24,95,171,27,150,89,94,91,92,87,29,95,139,28,84,27,91,136,92,148,28,90,139,26,142,98,85,95,95,97,29,89,141,28,91,25,93,163,86,152,26,92,149,28 H,768223,8,100,4,16,1015675,31,2,1,1,,2,2,2,,180,0,900,30,3,800,1,,1,650,1,1,1,7,,,,1,1,,20,3,420,3,1,55000,4,,,1,1,55000,0,4,4,4,1,3,0,2,0,0,0,21,0,0,0,0,0,1,970,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,62,39,32,7,32,37,33,32,9,25,26,55,47,6,6,50,29,9,26,61,64,34,35,9,28,34,33,35,11,24,32,59,64,10,10,60,34,12,24,56,58,30,31,12,37,28,30,28,10,23,29,46,53,7,10,77,26,10,28,57,57,33,33,8,35,31,30,37,10,21,31,51,61,9,8,56,30,12,27 H,768370,8,900,4,16,1015675,83,3,1,2,1,4,2,2,,60,0,900,80,6,0,1,,,,,3,1,9,,,,1,2,,18,3,2,3,2,30500,2,,,1,1,30500,0,2,2,2,1,5,1,3,0,0,1,12,0,0,1,0,0,1,315,,0,1,24,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,76,101,92,143,139,144,87,25,96,124,71,62,127,108,25,23,34,87,131,92,86,80,81,24,27,18,77,141,84,33,70,73,27,76,126,155,154,82,24,71,58,70,80,202,179,133,84,32,122,128,74,77,167,101,26,28,23,75,123,94,115,101,75,18,19,21,73,126,92,29,65,92,40,70,108,133,127,68,29 H,768379,8,300,4,16,1015675,129,3,1,1,,2,2,2,,200,0,2,3,3,1000,1,,1,1100,1,1,1,4,,,,1,1,,15,3,500,5,1,86500,4,,,1,1,86500,0,4,4,4,1,6,0,3,0,0,0,19,0,0,0,0,0,1,1342,3,0,1,62,3,4,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,133,41,37,150,194,39,253,112,151,116,128,117,125,45,207,147,138,221,128,133,187,138,167,224,127,124,118,190,39,36,39,39,193,119,142,43,200,108,262,36,148,218,228,133,41,207,32,130,127,113,131,115,120,230,39,136,118,36,164,110,34,155,143,49,118,114,115,44,282,192,216,193,40,140,129,193,35,132,37 H,768481,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,768887,8,500,4,16,1015675,123,1,1,1,,3,1,2,,90,0,2,3,3,300,1,2300,2,380,2,1,1,5,,,,1,1,,10,1,1,4,,,,,,1,4,36090,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,1,1,725,3,0,0,11,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,135,42,35,123,138,143,42,173,41,123,199,206,200,134,43,192,135,112,137,125,135,191,213,121,108,121,190,40,182,110,35,42,41,136,226,30,122,114,143,101,124,34,35,122,135,130,49,209,34,143,224,191,274,120,33,181,122,131,114,97,126,210,184,147,149,116,192,35,201,119,38,31,44,134,233,40,116,103,122 H,768891,8,700,4,16,1015675,101,2,1,3,6,3,2,1,,1,0,2100,3,4,4800,1,,2,660,2,1,1,5,,,,1,1,,16,2,2,7,2,23900,4,,,1,1,23900,0,4,4,4,1,7,0,2,0,0,0,79,0,0,0,2,0,1,1568,3,0,0,52,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,95,162,94,87,170,107,28,30,32,104,97,94,97,110,169,181,168,94,29,30,92,172,104,93,179,106,33,32,30,102,108,103,105,101,157,169,166,109,30,31,108,153,92,104,164,97,26,29,29,100,111,105,98,101,180,178,178,112,27,28,108,172,100,96,156,103,29,26,31,102,99,100,97,95,187,174,182,100,32 H,769105,8,900,4,16,1015675,17,5,1,1,,5,2,2,,100,0,2,100,1,1500,1,,2,500,2,1,1,9,,,100,1,1,,14,1,720,9,7,38900,2,,,1,3,38900,0,2,2,2,1,5,3,5,0,0,3,34,0,0,1,0,0,2,1093,4,0,1,25,2,13,13,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,17,17,28,18,20,5,25,5,4,15,15,32,29,5,16,15,16,3,15,29,17,18,28,17,19,5,31,5,3,15,16,31,30,5,14,16,18,5,15,5,15,15,5,16,16,25,3,30,35,18,18,6,5,25,22,18,15,26,15,3,17,18,5,15,18,33,5,27,28,17,17,6,5,30,15,15,17,26,13,29 H,769219,8,200,4,16,1015675,91,1,1,1,,3,2,2,,190,0,2,2,1,800,1,,2,1200,2,1,1,7,,,,1,1,,18,2,1200,4,,,,,,1,4,76500,0,4,4,4,1,6,0,,0,0,0,24,0,0,0,1,1,1,1557,3,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,175,99,104,95,38,32,74,25,154,30,123,68,132,161,111,94,133,113,99,108,111,42,183,142,94,83,29,62,77,80,51,24,95,93,156,109,38,36,106,149,97,27,114,199,124,93,28,80,142,115,97,25,85,103,124,118,25,30,40,101,178,95,85,119,32,29,73,25,130,23,127,91,185,163,64,57,88,88,26 H,769226,8,500,4,16,1015675,74,1,1,,,1,6,,,100,1800,2,3,3,,1,,,,,,1,3,2,380,,1,3,,,1,1,2,,,,480,80,1,6,7200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,113,72,146,66,66,135,60,108,27,23,70,80,83,129,74,20,71,26,68,26,129,73,122,67,67,148,78,127,21,24,73,74,77,130,71,24,68,23,73,123,27,86,21,78,80,18,74,27,122,137,76,68,73,22,82,117,76,116,74,123,26,85,18,66,75,21,64,21,117,135,59,72,80,25,88,117,74,121,78 H,769305,8,300,4,16,1015675,27,2,1,2,1,4,2,2,,60,0,2,3,3,,1,,,,,,1,9,,,,1,4,,,1,2,7,8,32400,4,,,1,3,32400,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,27,27,31,26,9,39,9,22,8,7,8,6,19,27,8,7,30,70,21,45,45,39,58,41,18,40,29,41,30,26,27,23,52,49,22,33,38,24,50,45,26,25,23,21,47,33,52,35,47,36,46,46,26,26,38,39,28,8,21,31,6,8,9,8,29,8,26,9,30,24,24,34,14,8,26,34,7,27 H,769504,8,800,4,16,1015675,144,3,1,2,1,3,2,2,,110,0,2,50,1,,1,,,,,,1,6,2,1000,,1,3,,,2,2,2,1,67000,2,1160,21,1,1,67000,0,2,2,2,1,4,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,174,186,145,253,130,203,148,131,233,169,34,210,288,49,159,130,47,139,35,44,126,122,170,226,169,255,137,156,283,168,47,262,187,42,177,167,37,119,236,213,133,179,119,37,134,47,160,129,44,151,189,40,62,237,143,172,232,138,204,197,112,169,145,34,131,49,154,164,52,147,284,55,42,235,167,182,198,151,38 H,770121,8,900,4,16,1015675,30,1,1,1,,2,2,2,,30,0,600,50,1,250,1,,1,560,1,1,1,7,,,,1,1,,13,2,730,7,,,,,,1,4,25000,0,4,4,4,1,1,0,,0,0,0,36,0,0,0,0,0,1,751,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,35,48,8,35,51,34,28,11,12,68,36,30,26,55,35,28,50,10,8,24,28,46,8,60,51,33,25,11,8,48,30,34,40,56,29,25,26,6,58,25,34,7,44,12,10,48,28,63,51,7,34,37,34,12,33,27,23,50,49,42,30,7,70,7,8,28,24,43,53,10,35,27,27,9,36,36,39,51,8 H,770444,8,400,4,16,1015675,35,4,1,3,5,3,2,2,,50,0,2,3,6,250,1,,,,,3,1,5,,,,1,2,,14,3,2,4,1,53850,2,,,1,1,53850,0,2,2,2,1,6,2,4,0,0,2,3,0,0,1,0,0,2,134,,0,0,17,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,57,41,34,39,37,57,32,33,10,8,67,60,10,44,83,12,10,38,29,42,11,34,40,39,37,8,31,32,50,71,13,8,53,41,13,87,68,30,31,30,64,37,43,39,33,60,29,35,11,11,69,58,10,37,68,12,14,38,40,39,12,30,37,37,38,12,29,36,50,52,10,8,55,36,11,65,66,38,32 H,770715,8,100,4,16,1015675,63,0,1,2,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,19,64,16,96,60,67,58,114,60,17,59,109,102,65,59,106,22,61,59,110,95,58,104,18,64,67,65,18,57,106,68,21,20,62,59,18,103,61,60,20,20,70,17,113,67,63,64,128,56,16,52,112,110,57,68,110,18,67,67,96,108,60,101,19,59,64,67,18,61,106,64,20,18,56,57,16,111,62,57 H,771016,8,100,4,16,1015675,22,1,1,1,,3,2,2,,90,0,1700,100,2,400,1,,,,,3,1,8,,,,1,2,,14,2,700,6,,,,,,1,6,94800,0,4,4,4,1,6,0,,0,0,0,7,0,0,0,0,0,1,531,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,21,21,40,23,5,37,37,9,26,29,7,23,5,24,26,24,37,20,42,8,28,23,8,29,41,7,7,36,23,19,38,22,29,24,25,25,7,16,41,6,22,20,7,24,39,7,7,35,20,32,39,22,38,20,24,20,7,25,7,50,25,32,51,20,7,38,37,5,18,23,7,20,7,24,26,26,34,20,7 H,771294,8,800,4,16,1015675,17,2,1,1,,3,2,2,,250,0,2,3,3,490,1,,1,920,1,1,1,9,,,,1,1,,13,4,860,4,3,53600,4,,,1,1,53600,0,4,4,4,1,5,0,2,0,0,0,28,0,0,0,0,0,1,1242,3,0,1,20,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,29,33,31,13,20,18,15,19,3,5,5,16,35,18,5,20,17,5,30,17,35,29,25,17,19,21,19,18,5,5,5,17,26,13,5,17,21,5,5,17,3,6,4,16,22,16,13,15,27,26,28,15,7,20,31,17,21,34,7,15,5,6,5,16,19,15,17,21,28,23,36,19,5,16,24,20,19,31,43 H,771421,8,900,4,16,1015675,95,1,1,2,1,2,2,2,,30,0,2,3,3,270,1,,1,700,1,1,1,4,,,,1,1,,16,2,750,5,,,,,,1,6,63020,0,4,4,4,1,2,0,,0,0,0,15,0,0,0,0,0,1,793,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,27,96,174,30,32,92,96,139,103,115,97,98,172,83,79,26,31,163,95,162,24,100,188,27,26,87,87,189,89,79,94,84,151,101,95,30,29,166,101,25,176,105,32,192,151,104,106,29,94,94,90,72,25,89,113,160,139,30,96,32,140,107,28,155,117,78,101,28,117,95,104,108,32,93,89,176,154,24,107 H,771592,8,200,4,16,1015675,24,6,1,1,,5,2,2,,160,0,2,3,3,740,1,,1,950,1,1,1,9,,,,1,1,,15,2,70,9,6,22600,1,,,1,2,72000,0,1,4,1,1,2,0,3,0,1,1,19,0,1,1,2,2,1,1116,3,0,1,18,0,12,12,1,0,0,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,1,14,10,46,21,23,10,30,5,7,41,33,20,27,18,22,9,40,21,15,45,15,7,50,24,17,7,23,5,7,46,44,24,24,29,26,8,31,27,31,39,23,5,40,22,36,9,22,11,7,44,35,15,22,24,28,6,29,20,21,50,26,5,28,26,47,9,27,7,6,36,41,15,19,22,25,5,32,28,23,52 H,771731,8,200,4,16,1015675,51,3,1,1,,3,2,2,,90,0,2,3,3,,1,,,,,,1,5,2,420,,1,3,,,1,800,5,5,1600,4,577,79,5,2,8800,0,4,4,4,1,3,0,2,0,1,0,,0,0,0,0,0,2,,,1,0,,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,87,54,51,50,16,14,53,14,82,10,150,54,66,85,54,43,75,85,39,68,65,14,66,102,49,64,15,56,62,55,52,11,73,65,59,64,22,21,38,16,58,77,17,19,57,49,67,52,63,42,67,116,50,50,19,16,77,84,68,42,17,54,67,54,72,83,54,82,14,87,17,38,17,21,43,54,61,49,12 H,771935,8,100,4,16,1015675,20,2,1,1,,3,2,2,,100,0,2300,110,1,1000,1,,2,2900,1,1,1,5,,,,1,1,,23,2,720,7,4,94000,4,,,1,1,94000,0,4,4,4,1,3,0,2,0,0,0,44,0,0,0,1,0,1,3445,3,0,1,52,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,7,20,7,39,33,24,27,21,7,23,36,18,39,35,5,22,5,21,21,17,6,17,7,35,31,21,21,18,7,18,37,20,32,40,7,20,5,18,21,20,36,20,39,6,5,18,19,22,34,20,7,19,5,7,36,18,34,21,24,21,32,21,36,7,7,16,20,20,35,21,7,22,6,7,37,23,37,23,22 H,772220,8,700,4,16,1015675,105,3,1,1,,3,2,2,,40,0,2,20,1,2500,1,,1,1400,1,1,1,7,,,,1,1,,20,2,300,1,1,106000,1,,,1,1,106000,0,1,1,1,1,2,1,3,0,0,1,17,0,0,1,0,0,1,1485,3,0,1,37,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,92,109,99,32,30,90,158,107,149,35,161,114,219,119,33,33,105,181,36,33,157,188,35,114,111,31,103,36,101,106,99,166,98,154,128,113,174,112,99,92,114,119,82,32,35,112,218,93,202,31,169,87,178,108,38,35,107,209,27,25,172,162,29,106,97,44,118,33,116,101,127,191,96,174,107,143,180,89,105 H,772375,8,800,4,16,1015675,131,4,1,1,,4,2,2,,110,0,2,3,3,400,1,,2,340,2,1,1,9,,,360,1,1,,14,2,700,5,1,50000,2,,,1,1,50000,0,2,2,2,1,5,2,4,0,0,2,23,0,0,1,0,0,1,976,2,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,120,38,163,174,34,57,222,124,131,176,196,214,104,146,125,36,131,41,54,150,115,198,186,37,174,245,37,127,139,33,153,36,87,129,160,204,110,215,238,111,128,42,122,189,38,43,183,95,152,186,143,214,130,128,134,36,115,45,54,106,113,261,143,32,219,328,39,100,191,45,135,40,139,130,135,190,111,244,249 H,772483,8,100,4,16,1015675,82,3,1,1,,3,2,2,,150,0,2,3,3,600,1,,,,,3,1,6,,,,1,2,,16,5,580,5,1,108000,4,,,1,1,108000,0,4,4,4,1,7,0,3,0,0,0,3,0,0,0,0,0,1,295,,0,1,13,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,23,20,88,73,72,90,88,147,152,125,82,28,70,126,74,69,137,74,27,22,21,24,97,91,62,95,95,140,132,132,89,27,111,117,76,76,124,87,22,25,19,25,86,72,73,80,84,146,145,131,68,24,93,144,67,68,138,94,30,21,24,27,94,113,78,81,78,116,134,126,97,22,71,127,74,121,154,81,27 H,773279,8,500,4,16,1015675,150,2,1,2,6,4,2,1,,100,0,2,70,1,350,1,,1,770,1,1,1,8,,,100,1,1,,17,3,2,4,,,,,,1,7,51000,0,4,4,4,1,5,0,,0,1,0,24,3,0,0,0,0,1,1040,2,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,43,191,46,267,130,178,147,244,154,48,144,278,271,160,142,255,45,148,150,41,46,141,46,293,166,157,136,260,132,40,164,218,265,152,176,255,43,143,171,43,42,156,52,273,164,151,145,224,121,43,124,252,283,166,178,250,45,144,167,46,47,174,46,266,139,167,158,230,145,40,181,233,244,145,149,275,42,162,150 H,773441,8,900,4,16,1015675,317,2,1,1,,4,2,2,,150,0,2,40,1,670,1,,1,1300,1,1,1,8,,,,1,1,,20,2,720,5,2,130000,4,,,1,1,130000,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,2,1550,3,0,1,52,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,341,496,91,547,277,323,283,353,275,355,122,408,301,382,423,460,352,111,88,293,87,312,396,352,99,513,469,609,512,125,334,327,481,100,377,281,99,280,258,99,313,541,111,530,304,302,364,327,337,303,97,537,274,289,509,455,286,93,99,346,112,323,313,354,93,483,432,554,507,116,259,303,536,109,312,306,103,324,302,99 H,773483,8,900,4,16,1015675,84,2,1,1,,2,2,2,,140,0,2,3,3,400,1,,1,830,1,1,1,6,,,,1,1,,14,2,600,5,3,39500,4,,,1,1,39500,0,4,4,4,1,6,0,2,0,0,0,31,0,0,0,0,0,1,1020,3,0,1,24,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,84,71,22,80,27,106,84,29,79,147,30,32,139,87,98,118,88,157,123,82,74,72,28,92,23,88,72,23,78,145,23,26,149,78,84,135,98,141,167,82,88,79,19,71,26,111,81,32,79,142,22,28,160,91,97,132,77,134,137,90,76,76,24,83,25,78,68,25,86,131,28,23,151,102,87,140,98,126,120 H,774018,8,400,4,16,1015675,24,6,1,3,1,2,2,2,,2,0,750,3,6,0,1,,,,,3,1,4,,,,1,2,,23,6,2,9,5,53300,2,,,1,2,53450,0,2,4,2,1,7,0,5,0,1,3,4,0,1,1,1,1,2,176,,0,0,25,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,44,26,45,48,22,19,23,29,33,21,43,25,49,46,41,42,27,22,20,8,7,25,6,4,24,23,23,22,4,20,8,27,9,6,6,6,21,27,23,5,5,24,8,8,23,23,25,20,4,26,9,23,7,6,6,9,25,18,28,33,37,24,45,47,26,25,21,18,45,22,39,28,49,35,39,38,22,25,19 H,774164,8,100,4,16,1015675,98,2,1,,,2,6,,,60,750,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,1,1,3,7,15800,2,360,27,1,3,15800,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,111,113,103,102,170,165,98,117,192,93,96,141,161,157,147,96,161,103,28,33,120,101,92,94,28,26,109,99,29,99,84,29,35,31,24,88,41,96,31,25,106,91,96,91,37,28,102,120,31,94,97,26,32,30,34,95,30,108,213,148,81,89,108,93,165,189,89,104,185,100,97,184,157,161,190,106,148,86,155 H,774346,8,100,4,16,1015675,162,2,1,3,1,2,2,2,,50,0,1300,3,6,450,1,,1,1800,1,1,1,6,,,,2,1,,20,4,400,2,1,109000,4,,,1,1,109000,0,4,4,4,1,1,0,2,0,0,0,22,0,0,0,0,0,1,1991,3,0,0,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,170,50,147,146,154,167,44,189,177,263,285,50,38,286,177,40,276,300,177,155,159,49,172,155,157,159,48,178,162,326,276,43,55,244,164,48,239,298,142,159,172,270,168,140,140,167,285,131,153,47,58,287,261,49,179,285,52,55,144,196,166,275,154,130,163,125,293,204,144,58,47,280,324,50,148,279,60,51,189 H,774427,8,300,4,16,1015675,83,3,1,,,3,4,,,90,0,2,3,3,,1,,,,,,1,5,2,1300,,1,3,,,2,1,1,,,,1390,52,1,7,32000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,22,26,131,134,27,96,125,32,25,95,98,191,79,66,80,85,168,82,81,91,34,29,131,121,21,69,124,22,23,80,94,110,78,101,87,109,140,75,66,92,23,26,195,167,28,83,109,20,38,65,74,134,74,72,88,84,115,91,63,68,24,39,151,145,31,95,145,30,24,75,91,136,92,87,78,84,131,107,79 H,774460,8,600,4,16,1015675,138,1,1,,,2,5,,,20,0,2,110,1,,1,,,,,,1,4,2,580,,1,3,,,1,1,3,,,,710,32,1,6,27000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,39,140,38,130,139,128,245,131,249,140,124,231,126,39,242,230,40,134,161,39,46,122,43,132,145,142,230,151,249,147,143,232,139,43,249,213,37,127,140,38,41,134,39,131,137,145,240,115,241,128,135,258,159,44,241,249,48,150,149,41,40,150,44,147,127,117,220,129,213,126,136,241,141,37,208,240,45,153,120,46 H,774629,8,100,4,16,1015675,26,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,2,450,,,,2,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,28,28,26,28,26,7,9,7,22,43,23,8,25,23,8,26,49,46,43,7,26,27,25,26,23,47,49,40,23,8,28,47,28,23,45,22,7,8,6,43,32,28,25,25,25,8,8,7,25,46,29,7,21,27,9,25,42,50,49,6,26,25,30,23,29,54,44,45,25,8,26,43,23,21,43,20,7,6,7,39 H,774688,8,800,4,16,1015675,95,1,1,1,,2,2,2,,110,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,2,8,,,,460,12,1,4,47600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,90,76,134,124,84,207,78,127,212,76,34,182,125,28,95,89,27,97,35,30,84,94,123,142,98,131,91,120,148,95,31,156,142,25,87,93,26,83,205,140,102,75,74,22,94,26,75,97,38,68,182,30,23,183,100,73,175,107,229,144,95,111,91,25,90,23,83,100,40,108,186,28,34,161,83,97,144,108,34 H,774978,8,400,4,16,1015675,92,1,1,1,,2,2,2,,40,0,2,3,6,420,1,,1,140,1,1,1,8,,,,1,1,,19,1,830,8,,,,,,1,4,35000,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,0,0,2,249,3,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,58,115,85,158,33,32,98,98,120,178,106,25,76,29,30,146,106,234,102,92,106,30,106,23,107,148,90,100,90,27,73,155,115,143,140,28,77,21,90,96,106,164,108,159,25,28,89,89,79,136,71,26,109,28,23,169,103,135,89,112,96,25,74,30,179,133,86,89,91,27,113,160,80,138,159,23,84,34,67 H,775052,8,200,4,16,1015675,64,2,1,3,4,3,2,2,,120,0,500,3,6,800,1,,,,,3,1,6,,,,1,2,,21,3,2,7,4,66900,4,,,1,1,66900,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,1,2,412,,0,0,34,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,75,109,123,56,94,112,52,55,70,58,107,71,108,63,99,96,128,127,69,68,65,23,17,69,22,18,71,71,49,57,24,54,19,73,16,17,19,23,58,66,83,112,103,68,119,101,65,81,68,57,92,57,97,63,112,98,109,115,61,71,58,19,17,59,22,23,71,67,68,57,22,70,17,75,17,15,20,20,77 H,775524,8,300,4,16,1015675,57,6,1,1,,5,2,2,,60,0,2,50,1,520,1,,,,,3,1,9,,,,1,2,,17,2,1000,2,2,78900,2,,,1,1,78900,0,2,2,2,1,2,3,6,0,0,3,6,0,0,1,0,0,1,394,,0,1,31,3,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,57,43,19,23,15,52,105,39,11,63,70,18,54,126,124,78,54,55,24,43,64,59,72,102,122,49,13,47,135,75,54,178,61,11,16,11,65,65,100,38,72,56,16,25,21,52,128,60,16,59,49,14,64,68,95,109,66,46,12,59,63,54,141,116,83,45,17,50,91,57,75,95,65,18,11,18,65,57,98 H,775639,8,400,4,16,1015675,170,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,158,261,164,203,271,272,230,244,181,247,197,288,167,175,169,199,322,265,150,48,170,58,177,174,50,53,52,49,196,53,151,49,176,180,154,151,60,53,157,56,158,53,181,176,46,58,55,41,147,47,168,48,159,163,158,171,56,55,147,291,170,264,193,209,307,266,265,321,147,303,153,312,190,164,158,156,320,293,189,336 H,775690,8,400,4,16,1015675,23,2,1,1,,3,1,2,,50,0,2,4,1,760,1,3100,1,360,1,1,1,5,,,,1,1,,14,1,720,3,4,35300,4,,,1,1,35300,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,2,2,1,732,3,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,19,22,36,23,54,26,24,23,6,20,12,27,21,9,26,40,8,10,46,46,27,22,48,22,43,25,23,30,5,24,7,18,24,6,20,42,6,5,43,47,22,23,48,23,35,25,25,25,7,21,7,30,21,7,32,55,8,8,43,35,22,25,52,25,42,27,25,26,7,26,6,19,20,7,23,41,9,6,46 H,775861,8,100,4,16,1015675,123,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,38,127,198,112,34,38,115,129,35,209,116,215,203,125,201,37,137,120,118,125,33,116,208,121,37,38,125,129,32,209,131,226,232,124,201,35,119,120,120,132,40,135,199,128,38,38,123,147,33,190,103,221,216,110,230,39,124,131,130,110,36,118,196,121,35,36,130,120,34,209,125,231,207,109,193,33,127,122,108 H,775931,8,500,4,16,1015675,93,2,1,1,,3,2,2,,80,0,1000,170,1,500,1,,,,,3,1,8,,,,1,2,,20,2,450,2,1,142000,4,,,1,1,142000,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,0,0,1,813,,0,1,60,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,180,94,164,99,80,89,26,93,29,92,96,28,88,148,30,26,193,103,28,85,26,99,28,103,85,93,135,85,165,87,97,145,91,31,158,173,28,100,27,101,30,88,24,113,80,94,158,92,157,98,89,182,89,25,141,151,29,101,180,102,164,110,168,90,86,84,31,81,30,95,83,23,93,168,32,26,160,92,166 H,775988,8,800,4,16,1015675,37,5,1,1,,2,2,2,,1,0,1400,3,4,,1,,,,,,1,4,2,400,,1,3,,,2,1,9,2,28600,3,517,22,1,1,28600,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,14,15,14,8,37,22,49,19,44,43,40,36,8,14,54,30,17,34,23,50,51,36,52,40,52,46,56,41,69,60,89,47,28,52,121,47,43,48,9,29,12,12,14,11,32,18,46,18,41,39,40,35,8,15,60,25,15,45,34,58,35,32,44,36,55,42,56,48,64,48,78,49,32,81,104,50,46,55,10 H,776240,8,600,4,16,1015675,105,2,1,1,,3,1,2,,20,0,1300,60,1,290,1,0,,,,3,1,6,,,,1,2,,10,1,520,5,4,28300,4,,,1,1,28300,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,2,2,1,328,,0,0,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,101,98,177,107,201,110,108,104,36,94,34,105,106,31,91,160,32,34,172,177,97,116,184,109,165,105,114,104,33,107,33,103,98,33,98,186,30,35,35,33,109,99,32,93,28,109,97,123,154,106,171,106,116,170,97,34,165,178,33,30,121,97,32,108,31,116,101,115,174,97,194,105,117,171,110,26,183,194,169 H,776434,8,200,4,16,1015675,16,7,1,1,,4,2,2,,60,3600,2,3,6,2400,1,,,,,3,1,6,,,,1,2,,14,3,720,4,1,93130,2,,,5,1,93130,1,2,4,2,1,6,0,7,0,0,2,5,0,1,1,2,1,2,412,,0,1,23,3,5,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,28,20,5,10,19,14,5,14,20,16,17,5,20,13,13,13,5,19,17,18,5,5,31,30,5,19,15,4,7,19,15,27,13,12,16,19,21,17,17,14,33,34,3,3,38,20,4,31,31,12,14,3,15,14,16,17,5,20,15,17,5,5,24,30,5,19,34,5,5,19,15,32,17,13,14,12,25,17,11,11 H,776542,8,800,4,16,1015675,39,4,1,1,,2,3,2,,70,0,2,3,3,,1,,,,,,1,4,2,490,,1,3,,,2,880,4,1,26000,1,633,29,1,1,26000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,55,64,37,45,47,33,35,10,13,21,34,66,44,11,49,29,11,41,51,66,74,54,39,39,29,53,39,13,13,12,46,51,61,12,30,45,10,45,81,11,14,12,36,42,34,34,33,50,50,89,43,15,46,69,41,48,85,38,12,10,12,15,41,41,43,52,30,54,66,69,37,8,42,66,33,48,55,56,15,96 H,776587,8,700,4,16,1015675,84,1,1,1,,2,3,2,130,30,0,2,3,3,280,1,,2,400,1,1,1,4,,,,1,1,,20,1,1,5,,,,,,1,4,20010,0,4,4,4,1,4,0,,0,0,0,35,0,0,0,0,0,1,583,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,25,79,23,78,28,25,21,27,90,83,27,22,87,23,25,84,81,90,85,149,75,142,91,134,82,86,96,87,157,145,80,81,150,83,76,150,147,142,142,79,25,88,24,95,27,22,27,26,80,94,23,24,85,23,27,86,77,79,78,145,82,134,96,149,81,85,78,86,136,144,89,81,133,78,82,130,145,158,140,84 H,777001,8,800,4,16,1015675,146,1,1,,,1,7,,,50,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,2,7,,,,550,15,1,4,45000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,216,189,165,233,46,133,149,140,57,200,225,127,46,51,140,133,46,214,152,168,281,286,142,254,58,166,148,122,38,156,231,115,55,37,149,153,38,246,142,150,249,203,163,217,43,151,142,158,48,171,212,156,41,36,186,149,53,258,162,159,244,280,160,218,40,149,157,119,38,158,236,159,42,40,136,152,46,230,178 H,777300,8,700,4,16,1015675,119,2,1,1,,3,2,2,,40,0,2,60,1,0,1,,,,,3,1,7,,,,1,2,,17,3,450,5,,,,,,1,5,82400,0,4,4,4,1,3,0,,0,1,0,3,0,0,0,0,0,1,221,,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,115,124,117,113,136,35,124,195,33,115,38,110,188,132,197,35,125,199,34,209,121,105,124,117,112,31,123,206,34,118,34,114,204,117,199,34,129,197,168,35,134,126,118,123,119,207,117,37,235,116,221,113,31,99,33,218,109,37,205,35,103,126,112,109,112,212,136,36,192,117,200,128,35,114,32,206,126,34,37 H,777402,8,100,4,16,1015675,22,2,1,1,,3,1,2,,140,0,2,30,6,0,1,140,,,,3,1,5,,,,2,2,,7,1,460,5,,,,,,1,5,13000,0,4,4,4,1,4,0,,0,1,0,25,2,0,0,0,0,2,266,,0,0,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,22,40,22,7,22,16,6,20,33,40,34,23,20,24,22,23,9,7,34,34,24,6,23,33,29,28,38,21,7,7,7,23,24,23,24,26,42,7,45,35,22,6,22,41,18,20,34,24,8,5,8,18,20,27,20,21,37,39,9,9,20,30,22,7,22,26,6,24,47,33,46,21,22,23,25,27,5,49 H,778031,8,700,4,16,1015675,109,4,1,1,,3,2,2,,90,0,2,40,1,550,1,,1,1300,1,1,1,6,,,,1,1,,17,5,50,5,1,30000,2,,,1,1,30000,0,2,2,2,1,5,1,4,0,0,1,57,0,0,1,0,0,1,1434,3,0,1,30,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,33,107,110,95,32,198,32,110,170,193,189,104,29,187,121,106,108,110,113,190,194,115,117,110,189,33,185,107,35,33,32,101,182,34,121,122,106,108,111,184,172,112,118,118,187,29,199,97,31,33,34,108,199,32,103,101,105,109,109,31,29,129,116,118,40,163,30,113,199,173,201,118,31,186,108,109,105,116,100 H,778243,8,900,4,16,1015675,84,1,1,1,,3,2,2,,30,0,2,160,1,300,1,,,,,3,1,5,,,,1,2,,14,1,560,7,,,,,,1,6,45100,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,1,1,382,,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,27,78,98,157,26,94,88,26,84,77,28,79,76,70,23,127,111,160,86,127,28,89,80,145,28,81,89,24,78,86,25,74,88,96,30,148,155,148,90,24,165,87,83,23,163,85,78,128,83,81,160,89,94,87,153,26,28,28,85,21,141,70,82,23,124,86,85,182,71,96,131,77,72,82,163,28,22,28,81 H,779023,8,400,4,16,1015675,159,2,1,2,1,1,1,1,,2,0,2,3,2,,1,,,,,,1,2,,,,1,4,,,2,2,2,,,,,,1,5,15210,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,270,180,205,141,41,54,205,48,197,65,304,164,185,209,247,178,169,139,143,267,144,46,241,256,170,197,59,141,146,172,141,48,219,209,206,232,45,46,164,232,179,54,247,260,153,128,55,176,126,129,239,73,122,152,285,238,56,43,48,160,231,178,153,144,81,69,131,48,231,54,275,162,338,315,121,147,140,137,63 H,779136,8,800,4,16,1015675,70,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,2,750,,,,1,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,80,62,53,94,22,49,62,125,123,27,26,143,73,18,108,100,68,71,75,19,59,64,82,66,20,73,60,143,101,17,21,124,103,22,92,140,82,69,65,21,89,85,79,72,22,69,77,135,119,20,19,105,66,22,104,103,75,59,58,27,81,77,69,68,20,88,75,105,111,20,20,124,62,21,127,101,67,80,76 H,779298,8,100,4,16,1015675,17,2,1,1,,3,2,2,,40,0,2200,3,4,650,1,,,,,3,1,8,,,,1,2,,19,2,530,7,4,111500,4,,,1,1,111500,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,487,,0,1,31,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,27,15,16,17,5,7,18,7,26,7,47,16,36,34,18,18,19,24,19,3,15,37,5,3,15,17,27,16,19,17,20,29,12,15,5,5,29,28,23,18,5,17,18,17,24,32,19,32,5,43,5,17,5,5,22,17,20,21,17,31,16,3,28,32,16,16,5,18,15,16,15,6,15,17,30,23,4,5,3 H,779369,8,700,4,16,1015675,77,5,1,1,,3,2,2,,30,0,2,30,1,,1,,,,,,1,6,2,890,,1,3,,,2,1,4,1,54000,2,950,21,1,1,54000,0,2,2,2,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,21,23,23,143,75,76,22,127,79,77,136,72,76,144,74,75,75,135,79,21,23,24,25,124,74,75,20,136,74,70,119,77,73,126,77,78,75,131,69,22,26,22,21,133,75,73,22,127,78,76,133,81,76,123,79,72,67,140,76,25,23,22,24,127,66,78,20,115,76,75,132,80,82,143,79,84,83,139,85 H,779446,8,700,4,16,1015675,119,3,1,1,,3,2,2,,80,0,2,230,1,400,1,,1,1300,1,1,1,6,,,,1,1,,19,2,600,3,1,130000,2,,,1,1,130000,0,2,2,2,1,3,1,3,0,0,1,15,0,0,1,0,0,2,1660,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,35,125,197,223,123,31,190,38,120,120,111,131,115,108,190,34,130,125,126,107,112,37,119,107,37,125,122,115,35,215,199,225,207,34,131,103,191,36,208,35,37,121,224,209,106,39,206,34,137,115,122,116,109,134,207,32,103,110,121,116,124,36,128,130,31,110,122,110,38,212,188,181,201,36,117,128,216,35,191 H,779778,8,100,4,16,1015675,88,1,1,,,3,5,,,80,0,2,3,3,,1,,,,,,1,4,2,580,,1,3,,,1,1,3,,,,660,63,1,4,12500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,129,70,104,110,118,164,93,95,27,35,99,73,100,217,60,27,89,22,110,22,188,92,163,95,102,127,76,142,32,24,72,109,96,166,99,38,103,22,114,127,41,83,34,97,61,29,83,26,254,122,90,87,92,25,85,157,74,123,68,176,20,83,22,112,96,25,131,26,186,154,142,84,88,29,67,160,54,124,63 H,780017,8,600,4,16,1015675,122,5,1,1,,5,2,2,,70,0,2,230,1,700,1,,1,570,1,1,1,9,,,,1,1,,19,4,900,3,1,88000,3,,,1,1,88000,0,3,3,3,1,1,2,5,0,0,2,13,0,0,1,0,0,1,945,3,0,1,57,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,207,141,129,211,201,126,203,201,109,128,124,120,204,111,219,117,211,228,120,35,35,120,116,37,35,112,36,38,135,116,111,124,35,153,37,111,37,34,121,34,32,120,127,35,37,124,34,32,128,108,118,123,34,116,36,121,35,39,129,206,205,126,129,226,220,123,213,214,132,126,114,115,205,133,197,125,204,199,117 H,780134,8,300,4,16,1015675,134,1,1,2,1,3,2,2,,70,0,2,200,2,500,1,,,,,3,1,6,,,,1,2,,18,1,2,5,,,,,,1,4,34500,0,4,4,4,1,1,0,,0,0,0,17,0,0,0,1,1,2,495,,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,150,46,117,125,118,142,47,114,154,198,233,39,54,265,139,51,199,203,134,109,135,222,116,137,112,130,214,104,109,43,41,208,204,53,145,169,47,46,137,117,128,225,129,128,156,151,255,147,125,45,41,177,176,48,144,204,46,45,136,105,98,43,144,125,131,151,43,119,136,203,251,60,44,216,111,46,197,163,140 H,780435,8,300,4,16,1015675,53,2,1,1,,3,2,2,,110,0,2,20,3,600,1,,,,,3,1,8,,,,1,2,,18,2,90,5,2,100000,4,,,1,1,100000,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,0,0,1,288,,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,98,45,49,64,16,15,63,18,74,15,83,58,89,82,62,60,58,52,58,18,42,93,18,15,48,66,104,51,56,57,61,102,59,42,15,17,95,119,93,57,18,57,48,74,102,72,65,96,12,94,19,64,22,13,52,57,57,79,45,93,53,21,101,89,53,69,15,41,45,52,45,18,46,39,92,100,16,16,15 H,780651,8,500,4,16,1015675,44,2,1,3,4,4,2,2,,60,0,530,3,5,550,1,,,,,3,1,7,,,,1,2,,20,2,2,7,4,22500,4,,,1,1,22500,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,2,1,315,,0,0,31,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,74,79,74,72,13,43,42,79,10,39,49,15,46,40,12,43,43,47,51,81,15,13,15,13,81,48,42,10,73,37,42,84,40,40,76,41,41,41,39,88,14,12,14,14,65,44,37,11,72,45,42,76,42,42,73,42,40,44,46,13,87,92,85,71,13,43,51,63,15,48,48,11,48,44,13,44,40,37,46 H,780696,8,300,4,16,1015675,90,3,1,1,,4,2,2,,200,0,200,200,3,300,1,,1,840,1,1,1,7,,,,1,1,,17,2,200,4,1,14100,2,,,3,1,14100,0,2,2,2,1,5,1,3,0,0,1,101,0,0,1,0,0,1,1274,3,0,1,3,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,74,102,78,93,117,23,26,24,101,144,110,23,88,87,23,95,179,154,152,25,101,82,88,85,79,156,180,148,90,30,87,131,103,101,174,82,21,27,34,156,126,93,91,103,92,24,26,30,102,162,89,26,78,85,29,80,164,124,152,35,86,89,81,68,102,186,164,180,87,25,101,136,108,73,161,88,24,25,22,145 H,781175,8,400,4,16,1015675,110,2,1,1,,3,2,2,,100,0,2,130,1,600,1,,2,400,2,1,1,7,,,90,1,1,,16,2,600,9,1,45400,4,,,1,1,45400,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,0,0,2,945,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,147,167,182,97,93,113,109,117,30,33,34,118,276,127,30,84,103,35,53,119,35,35,33,93,105,96,108,140,208,227,215,103,31,95,210,114,85,171,143,98,188,200,192,111,123,125,100,109,41,32,30,118,215,121,30,107,109,28,36,114,32,32,35,109,126,91,91,144,211,186,195,100,28,101,186,119,118,199,189 H,781300,8,400,4,16,1015675,133,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,146,206,157,113,192,134,32,216,222,39,133,130,42,133,35,130,158,141,43,219,130,225,122,147,287,129,42,268,203,36,129,112,36,138,39,120,142,156,241,40,142,41,145,122,47,131,199,42,40,208,109,115,234,123,243,135,121,133,220,42,122,40,140,114,45,136,217,48,42,219,146,136,216,143,203,108,146,131,45 H,782135,8,200,4,16,1015675,81,1,1,,,1,5,,,40,0,2,3,3,,1,,,,,,1,3,2,430,,1,3,,,1,1,6,,,,470,17,1,4,34000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,92,121,70,128,86,83,76,22,74,27,93,65,26,62,120,29,29,169,80,18,76,17,86,20,91,82,90,154,72,128,99,68,167,119,23,190,140,17,81,28,86,21,87,26,79,69,93,114,95,131,74,53,184,91,24,139,135,25,72,116,94,117,80,116,92,93,78,29,67,21,100,94,17,78,151,31,30,105,74,153 H,782634,8,500,4,16,1015675,362,5,1,,,2,5,,,30,1500,2,100,1,,1,,,,,,1,4,2,550,,2,3,,,1,1,1,2,32500,1,680,25,2,1,32500,0,1,1,1,1,1,1,5,0,0,2,,0,0,1,0,0,2,,,1,0,,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,587,322,261,161,373,105,141,458,497,500,403,447,368,121,516,342,327,356,186,167,196,460,340,458,364,490,480,177,133,387,323,326,382,479,161,323,358,301,473,540,493,351,427,128,385,185,147,555,511,322,302,339,353,144,478,383,436,413,149,111,111,354,438,477,346,506,584,101,151,381,324,407,373,389,114,419,350,385,499,445 H,782774,8,800,4,16,1015675,53,2,1,3,1,3,2,2,,160,0,2,160,3,430,1,,2,790,2,1,1,7,,,,1,1,,16,2,2,2,1,71000,4,,,1,1,71000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,1246,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,19,13,14,12,58,19,47,17,57,54,49,63,15,14,54,53,16,58,41,82,54,64,52,55,90,54,78,38,82,108,77,80,61,47,86,84,40,85,96,61,82,82,97,91,46,98,57,86,53,53,61,57,89,80,44,54,86,51,48,18,71,46,43,50,15,50,16,45,12,15,16,21,61,40,14,19,46,12,14 H,782822,8,800,4,16,1015675,127,2,1,1,,5,2,2,,40,0,2,190,1,500,1,,2,900,2,1,1,9,,,170,1,1,,16,3,40,5,,,,,,1,5,85200,0,4,4,4,1,5,0,,0,1,0,21,2,0,0,0,0,1,1462,2,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,35,112,221,226,133,119,135,130,136,53,130,181,38,147,30,125,256,125,34,245,33,136,202,211,137,135,121,108,136,40,110,206,38,109,32,134,194,145,248,41,203,135,49,39,136,113,139,121,119,230,125,35,232,113,220,120,41,121,207,38,184,131,36,31,138,115,117,115,135,237,117,35,263,114,189,135,39,134,37 H,782942,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,783008,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,783118,8,200,4,16,1015675,68,4,1,1,,3,1,2,,220,0,2,3,3,0,1,3300,,,,3,1,5,,,,1,2,,2,2,1,5,3,30300,2,,,2,1,30300,0,2,2,2,2,2,2,4,0,0,2,20,0,0,1,0,0,1,495,,0,0,1,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,25,81,105,99,88,64,68,83,74,70,29,21,28,85,87,53,25,74,25,60,96,68,22,21,32,65,64,69,81,102,156,105,109,65,30,91,91,63,88,84,29,62,105,115,93,70,80,80,51,44,21,22,31,84,107,53,32,97,17,91,120,47,15,30,31,80,91,80,55,53,106,120,82,66,32,91,117,80,105 H,783446,8,600,4,16,1015675,127,1,1,,,2,6,,100,40,0,2,3,3,180,1,,1,600,1,1,1,5,,,,1,1,,13,1,140,4,,,,,,1,4,35000,0,4,4,4,1,3,0,,0,0,0,26,0,0,0,0,0,1,752,3,0,0,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,122,128,36,34,243,216,37,112,253,33,38,128,132,206,110,117,140,139,119,213,122,135,34,39,202,201,42,127,246,35,44,146,129,239,129,125,137,135,133,231,142,125,40,38,207,237,36,147,201,41,38,129,131,200,136,134,120,136,138,223,127,128,37,35,207,234,36,130,195,35,39,129,118,196,116,128,132,114,120 H,783793,8,100,4,16,1015675,113,4,1,1,,4,2,2,,50,0,2,20,1,600,1,,1,1100,1,1,1,9,,,170,1,1,,20,3,500,3,2,236000,2,,,1,1,236000,0,2,2,2,1,4,2,4,0,0,2,7,0,0,1,0,0,1,1382,2,0,1,30,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,170,185,34,92,36,137,117,32,123,29,185,183,103,117,108,35,127,168,129,122,37,35,194,112,197,93,105,176,106,218,29,31,121,140,120,217,110,36,119,98,35,34,155,111,177,132,132,167,141,172,40,38,112,118,124,223,109,35,118,128,178,170,32,120,30,115,110,35,98,31,193,168,116,128,128,35,101,190,113,119 H,783968,8,700,4,16,1015675,63,5,1,1,,3,2,2,,120,0,2,20,1,280,1,,1,900,1,1,1,6,,,400,1,1,,18,1,500,1,2,60004,3,,,1,1,60004,0,3,3,3,1,1,3,5,0,0,3,30,0,0,1,0,0,1,1482,4,0,1,28,2,4,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,103,59,120,70,63,18,65,19,68,18,68,62,113,70,64,103,18,19,21,62,64,18,69,103,18,65,18,64,106,64,102,20,60,102,107,61,65,65,61,19,20,66,17,64,61,107,61,107,63,107,67,68,20,60,64,18,99,117,108,70,68,104,62,19,99,70,113,60,20,60,18,115,65,20,20,66,69,67,71 H,784100,8,500,4,16,1015675,98,1,1,1,,0,3,2,,1,0,2,3,8,,1,,,,,,1,2,2,440,,1,3,,,1,1,8,,,,440,44,1,6,12000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,86,29,101,116,163,98,176,92,169,97,101,36,93,101,26,152,166,26,167,108,164,112,31,194,111,164,85,31,116,30,167,89,24,26,92,83,102,102,109,27,94,28,99,98,155,98,165,98,168,101,112,35,96,87,31,155,153,30,167,122,188,98,26,145,104,180,98,26,96,33,151,98,30,32,101,101,95,94,94 H,784239,8,800,4,16,1015675,116,2,1,3,1,3,2,2,,110,0,480,60,2,,1,,,,,,1,5,2,600,,1,3,,,2,2,5,7,65000,4,810,15,1,3,65000,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,1,,,0,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,97,180,190,245,142,37,130,220,124,105,196,121,25,36,35,108,130,109,193,108,107,32,34,30,134,176,137,38,123,147,33,124,182,200,191,118,119,107,173,107,128,37,28,37,104,210,120,23,109,105,34,123,197,189,159,110,115,129,30,117,131,171,205,180,114,33,108,226,113,110,206,139,38,35,40,116,139,161,35 H,784384,8,900,4,16,1015675,18,1,1,1,,3,2,2,,150,0,2,3,3,410,1,,2,110,1,1,1,7,,,,1,1,,13,1,480,3,,,,,,1,6,15000,0,4,4,4,1,5,0,,0,0,0,27,0,0,0,1,1,1,334,3,0,1,19,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,25,47,20,18,6,6,52,27,7,19,40,5,5,26,19,33,17,11,23,22,24,33,19,19,5,6,32,27,5,18,39,5,7,28,15,27,18,24,20,24,22,36,19,20,7,7,43,38,5,20,27,5,7,15,21,31,13,22,18,24,22,26,22,23,5,5,25,30,5,24,23,6,5,17,21,42,30,20,12 H,784485,8,600,4,16,1015675,86,2,1,1,,3,2,2,,50,0,2,30,1,700,1,,1,720,1,1,1,5,,,480,1,1,,16,3,750,4,5,39600,2,,,1,2,39600,0,2,2,2,1,5,1,2,0,0,1,41,0,0,1,0,0,1,1343,2,0,1,26,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,87,83,78,156,151,80,139,29,150,27,82,25,25,89,82,86,93,86,84,84,139,27,25,84,87,160,97,90,90,88,150,97,95,24,26,125,137,29,140,25,90,81,87,159,138,91,137,24,153,26,91,27,26,97,106,86,85,90,87,85,150,29,25,90,82,136,82,74,93,90,143,74,74,26,25,154,162,27,146 H,784675,8,300,4,16,1015675,98,2,1,3,1,3,2,2,,100,0,500,3,4,600,1,,,,,3,1,6,,,,1,2,,13,2,2,7,4,42000,4,,,1,1,42000,0,4,4,4,1,4,0,2,0,0,0,7,0,0,0,1,0,1,250,,0,0,16,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,98,158,156,189,97,132,118,84,127,31,29,28,97,117,97,36,93,119,32,35,109,35,32,29,96,89,74,89,113,171,155,114,100,23,87,175,97,97,157,32,78,28,34,46,95,88,113,97,80,181,192,151,105,30,73,187,100,94,138,171,128,168,134,180,106,79,82,99,82,30,35,24,86,153,103,34,92,94,31,126 H,784831,8,700,4,16,1015675,82,2,1,1,,3,2,2,,40,0,2,40,1,250,1,,1,1200,1,1,1,6,,,,1,1,,19,2,420,1,1,140000,4,,,1,1,140000,0,4,4,4,1,1,0,2,0,0,0,11,0,0,0,0,0,1,1315,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,133,71,128,88,26,85,26,119,91,21,25,77,82,80,73,85,149,92,133,26,130,85,136,86,25,83,27,136,87,23,23,78,79,88,77,86,133,88,143,24,147,83,149,80,21,85,21,153,79,24,23,84,86,80,87,79,125,84,148,26,149,86,152,79,24,85,24,133,76,23,25,78,80,78,79,83,141,71,141 H,785078,8,800,4,16,1015675,39,0,1,,,1,6,,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,12,69,41,68,39,14,39,11,64,36,13,11,40,41,39,40,37,71,37,10,66,12,39,12,34,76,47,67,10,38,57,69,49,40,38,39,34,15,38,67,13,71,39,72,38,11,39,12,65,40,13,10,42,38,38,38,40,71,38,12,66,12,46,10,40,73,43,71,10,38,74,54,38,39,38,44,43,11,44,74 H,785202,8,100,4,16,1015675,138,1,1,1,,3,2,2,,20,0,2,20,1,,1,,,,,,1,6,,,,1,4,,,1,710,3,,,,,,1,6,35300,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,174,231,117,213,156,184,230,174,32,200,242,36,126,139,30,134,41,153,257,137,150,51,156,32,128,144,40,143,248,41,36,209,146,139,234,163,233,163,259,139,139,50,125,43,182,169,34,123,237,35,42,217,95,133,232,193,268,151,39,183,100,220,125,245,159,108,247,148,38,218,184,44,139,152,42,150,46,146,41 H,786134,8,900,4,16,1015675,98,2,1,1,,4,2,2,,50,0,2,30,1,630,1,,1,720,1,1,1,9,,,,1,1,,18,6,530,5,3,30100,4,,,1,1,30100,0,4,4,4,1,6,0,2,0,0,0,34,0,0,0,0,0,1,844,3,0,1,22,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,106,188,96,97,32,30,158,143,25,92,175,38,28,80,101,190,103,91,78,112,105,33,99,107,141,160,38,30,149,77,32,183,170,82,96,31,84,114,100,118,158,174,95,89,26,30,174,142,32,102,169,32,28,99,115,146,86,84,111,111,109,35,99,81,143,181,31,26,144,106,29,153,129,89,103,23,97,117,80 H,786234,8,300,4,16,1015675,334,4,1,1,,2,2,2,,90,120,2,30,1,310,1,,2,700,1,1,1,4,,,,1,1,,13,1,40,6,,,,,,1,7,36200,1,1,4,4,1,1,0,,0,1,0,28,3,0,1,0,0,2,849,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,382,95,267,121,116,560,492,365,336,419,322,91,507,329,319,306,103,508,324,132,427,495,372,479,619,114,81,425,334,334,305,495,121,311,341,278,496,105,323,533,256,108,383,106,95,485,556,342,292,306,310,124,533,274,360,430,116,597,361,114,331,450,382,452,611,115,120,321,284,301,383,485,101,365,361,363,508,105,394,654 H,786978,8,800,4,16,1015675,245,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,453,341,279,344,316,376,194,240,245,74,231,68,208,220,87,291,419,81,81,105,68,233,222,84,224,63,231,199,262,450,265,357,272,278,364,279,77,384,393,363,390,271,251,374,210,373,223,265,292,73,223,83,246,229,75,289,420,76,70,70,70,244,276,84,234,77,283,230,198,390,267,479,285,244,421,268,70,362,381,331 H,787344,8,200,4,16,1015675,137,5,1,1,,3,2,2,,140,0,2,3,3,,1,,,,,,1,9,2,600,,1,3,,,3,2,6,2,40000,2,740,22,1,1,40000,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,219,63,39,139,159,254,130,126,135,102,196,131,109,37,39,212,224,41,156,133,202,46,42,125,135,256,165,139,122,169,224,117,156,52,35,207,186,40,217,104,37,252,191,148,180,44,141,113,153,146,45,111,124,288,185,38,52,180,133,92,38,326,222,141,156,48,107,147,141,140,43,126,109,237,250,48,48,204,148,111 H,787378,8,800,4,16,1015675,138,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,6,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,127,45,33,43,119,107,131,145,124,263,187,192,101,36,139,255,133,161,227,47,143,223,274,213,126,135,126,152,184,50,42,38,197,293,120,48,175,135,187,42,179,245,257,239,128,128,142,166,149,37,50,43,137,287,130,37,142,120,40,247,155,46,41,43,146,156,131,148,120,204,269,262,97,39,160,176,116,150,48 H,787822,8,800,4,16,1015675,116,2,1,1,,3,2,2,,70,0,2,70,1,1200,1,,1,110,2,1,1,6,,,,1,1,,24,2,2,5,3,72000,4,,,1,1,72000,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,0,2,483,3,0,1,40,2,2,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,116,36,110,34,110,99,99,184,98,185,125,138,199,102,34,183,169,32,38,124,143,36,121,38,116,124,153,180,119,228,116,125,199,108,36,187,239,31,201,129,117,175,106,152,108,114,111,42,143,34,151,104,39,148,184,29,37,226,173,100,111,199,104,202,105,118,102,31,132,28,124,126,34,110,186,36,43,246,33 H,787842,8,200,4,16,1015675,75,2,1,1,,3,2,2,,80,0,2,2,1,350,1,,,,,3,1,9,,,,1,2,,15,2,510,5,4,64700,4,,,1,1,64700,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,2,2,1,227,,0,1,20,1,8,9,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,71,121,64,21,90,26,122,71,24,19,98,67,75,59,59,158,81,25,143,23,97,22,61,145,77,113,22,66,120,100,72,68,61,103,108,26,83,127,26,25,63,19,92,164,68,110,24,70,194,129,82,73,84,60,69,18,66,151,20,131,90,107,65,21,77,24,149,85,20,22,83,65,84,82,79,134,77,25,115,147 H,788113,8,800,4,16,1015675,47,2,1,2,1,3,2,2,,80,0,2,3,3,1800,1,,,,,3,1,6,,,,1,2,,19,2,2,5,4,22950,4,,,1,1,22950,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,2,1,2,318,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,36,53,15,46,52,37,37,15,46,47,83,81,12,16,93,59,16,104,72,44,54,47,12,28,44,49,51,14,46,45,80,94,17,13,72,46,13,68,96,64,41,48,12,45,45,43,41,12,37,53,89,80,13,15,84,72,17,77,71,46,35,42,17,51,54,45,46,13,50,49,79,89,12,13,75,40,14,74,81,38 H,788174,8,700,4,16,1015675,122,4,1,1,,4,2,1,,110,0,2,3,3,2000,1,,1,1400,1,1,1,9,,,300,1,1,,19,3,500,5,1,158000,2,,,1,1,158000,0,2,2,2,1,5,1,4,0,0,1,14,0,0,1,0,0,1,1852,2,0,0,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,120,34,35,35,133,112,118,136,130,194,182,208,104,39,127,187,128,109,32,187,120,37,35,35,123,130,130,123,122,195,196,219,124,36,136,186,108,139,35,200,123,37,34,37,107,123,127,119,129,205,206,205,106,37,126,185,116,128,36,197,116,37,37,39,133,118,113,121,132,211,196,194,116,36,115,206,129,118,33 H,788247,8,100,4,16,1015675,115,2,1,3,1,5,2,2,,230,0,2,230,1,1400,1,,,,,3,1,9,,,,1,2,,21,3,540,4,4,21300,4,,,1,1,21300,0,4,4,4,1,3,0,2,0,0,0,59,0,0,0,2,2,1,1047,,0,0,62,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,29,109,45,125,100,34,107,31,180,177,101,119,120,34,141,164,109,118,44,36,206,123,206,121,113,171,101,222,32,34,121,120,129,176,115,36,121,124,182,198,29,124,39,118,119,37,147,37,213,195,120,112,118,37,112,195,105,125,40,31,168,119,225,123,111,190,96,171,28,26,111,113,111,188,112,36,133,133 H,788419,8,200,4,16,1015675,18,2,1,1,,3,2,2,,90,0,500,3,6,800,1,,,,,3,1,6,,,,1,2,,10,4,2,5,4,25100,4,,,1,1,25100,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,1,0,1,299,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,23,31,15,23,17,5,5,23,5,38,5,36,20,30,37,17,17,16,17,17,24,21,7,32,33,24,19,5,15,13,17,17,7,21,18,34,29,7,5,20,28,19,7,29,28,23,20,5,23,17,18,23,5,17,21,27,35,7,5,5,24,38,14,18,15,5,6,20,5,30,5,33,17,28,45,21,18,21,16,5 H,788469,8,400,4,16,1015675,20,5,1,1,,2,2,2,,80,0,2,70,1,,1,,,,,,1,5,2,350,,1,3,,,2,400,5,2,6100,2,533,101,2,1,6100,0,2,2,2,2,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,10,20,41,41,11,7,29,17,4,43,27,19,20,5,24,20,27,16,5,22,16,32,10,5,40,40,10,18,19,15,7,13,16,30,22,25,33,17,25,21,17,22,34,35,12,8,39,20,3,58,34,18,18,5,19,20,25,15,7,22,15,26,8,5,53,40,5,18,23,10,4,21,23,27,23,21,28,19,21,20 H,788702,8,700,4,16,1015675,115,4,1,1,,3,2,2,,70,0,2,60,1,250,1,,1,910,2,1,1,6,,,,1,1,,17,3,50,3,1,78000,1,,,1,1,78000,0,1,1,1,1,5,2,4,0,0,2,17,0,0,1,0,0,1,1115,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,116,122,194,110,129,126,116,193,112,113,34,33,188,211,34,121,211,33,112,205,114,105,37,112,110,111,122,36,121,115,188,188,33,36,198,109,35,191,95,35,133,121,195,114,118,115,111,211,130,115,37,34,184,167,31,124,197,37,119,206,101,113,33,107,109,121,126,36,111,114,199,214,35,33,189,113,38,204,122 H,788953,8,900,4,16,1015675,95,6,1,1,,4,2,2,,100,0,2,100,1,640,1,,2,900,1,1,1,9,,,,1,1,,15,2,40,6,1,70000,3,,,1,1,70000,0,3,3,3,1,4,4,6,0,0,4,20,0,0,1,0,0,1,1156,3,0,1,26,2,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,158,33,85,84,92,146,23,103,103,147,94,172,155,26,28,121,100,95,32,112,150,31,98,108,106,142,30,87,86,172,87,157,141,32,27,94,97,95,144,109,36,165,87,77,102,28,143,98,96,27,99,27,25,133,146,93,100,108,169,100,25,182,112,112,84,29,175,108,96,25,86,32,29,175,150,80,86,105,24 H,789110,8,200,4,16,1015675,38,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,55,36,13,36,39,31,54,10,60,12,65,38,42,42,12,35,57,35,11,42,39,71,44,11,10,12,37,45,44,33,39,74,68,63,32,13,42,65,40,71,14,39,63,36,36,42,9,55,13,66,11,40,35,34,62,39,12,32,72,37,34,12,43,71,66,58,42,32,38,32,40,14,11,12,38,65,44,12,44 H,789184,8,300,4,16,1015675,18,5,1,1,,4,2,2,,60,0,2,110,1,600,1,,1,1100,1,1,1,7,,,160,1,1,,17,2,780,3,1,64400,2,,,1,1,64400,0,3,3,3,1,3,3,5,0,0,3,28,0,0,1,0,0,2,1495,2,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,3,5,15,19,16,18,19,32,31,48,16,4,19,27,20,20,25,18,5,5,5,5,18,18,20,13,14,32,26,28,20,5,20,33,16,19,28,13,26,29,40,30,14,21,18,21,14,5,6,7,17,35,15,3,20,16,4,16,40,27,30,32,24,15,15,13,13,5,6,5,18,30,15,5,16,18,6,17,5 H,789205,8,900,4,16,1015675,50,6,1,1,,5,2,2,,50,0,150,50,1,380,1,,1,810,1,1,1,9,,,,1,1,,16,4,410,8,2,77400,3,,,1,1,77400,0,3,3,3,1,4,4,6,0,0,4,15,0,0,1,0,0,1,957,3,0,1,20,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,17,43,90,79,71,63,56,42,60,52,15,15,15,51,71,45,14,53,111,57,15,46,85,77,75,53,61,75,68,49,17,13,13,53,68,39,11,48,78,46,15,56,87,84,98,61,50,36,35,38,14,20,17,50,100,64,21,57,70,49,15,57,106,92,72,47,47,59,51,49,14,16,11,48,91,61,15,46,110 H,789592,8,200,4,16,1015675,28,1,1,3,1,4,2,2,,100,0,2,170,2,360,1,,2,1000,2,1,1,9,,,,1,1,,21,2,2,2,,,,,,1,4,40000,0,4,4,4,1,4,0,,0,0,0,46,0,0,0,0,0,2,1533,3,0,0,40,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,35,39,9,10,30,22,22,38,36,10,22,8,8,49,32,41,28,24,25,54,22,42,10,9,31,28,31,56,24,12,29,7,8,49,27,49,36,37,26,10,27,10,52,58,31,27,25,9,38,63,26,34,45,11,23,10,20,26,32,10,24,9,60,43,38,27,18,7,29,70,20,42,58,7,29,9,49,39,40 H,789642,8,400,4,16,1015675,66,2,1,1,,3,2,2,,60,0,2,70,1,350,1,,1,820,1,1,1,5,,,210,1,1,,16,1,340,2,4,39000,4,,,2,1,39000,0,4,4,4,1,1,0,2,0,0,0,37,0,0,0,2,2,1,1188,1,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,58,56,58,82,23,72,22,69,21,20,19,17,69,59,20,25,75,93,72,84,117,135,142,113,58,122,74,106,58,63,74,65,99,104,78,75,88,63,26,27,67,80,59,64,23,61,20,71,20,23,20,23,77,79,24,23,71,110,75,48,117,145,99,100,67,99,64,90,66,73,62,55,102,83,46,58,132,66 H,790138,8,700,4,16,1015675,106,2,1,1,,3,2,2,,50,0,2,70,1,610,1,,,,,3,1,5,,,,1,2,,20,1,530,3,4,76300,4,,,1,1,76300,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,2,2,1,430,,0,1,37,0,9,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,29,189,199,172,175,31,105,110,181,33,107,116,34,99,89,29,99,95,107,116,164,35,35,29,28,202,105,105,31,195,115,109,183,99,105,180,93,110,100,111,174,32,30,33,32,169,121,109,30,204,105,106,166,105,112,160,109,112,106,101,30,175,158,181,181,27,98,107,172,32,105,102,33,109,112,32,109,105,98,101 H,790188,8,500,4,16,1015675,42,5,1,1,,4,2,2,,80,0,2,30,1,1200,1,,1,1500,1,1,1,7,,,,1,1,,19,4,500,1,1,207700,2,,,2,1,207700,0,2,2,2,1,3,1,5,0,0,1,10,0,0,1,0,0,2,1652,3,0,1,31,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,17,9,54,88,64,16,41,45,14,48,97,62,58,58,46,34,49,47,14,11,102,60,39,13,41,74,37,46,54,27,11,11,10,42,47,23,42,60,72,14,84,65,37,11,40,54,50,49,46,33,8,9,13,35,44,36,45,53,83,95,13,16,40,91,41,11,42,37,11,41,81,67,83,36,49,44,45,52,23,60 H,790505,8,900,4,16,1015675,48,1,1,,,2,8,,,1,10,2,3,3,,1,,,,,,1,5,2,230,,1,3,,,1,1,2,,,,230,101,1,6,2620,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,84,84,48,50,55,16,50,78,43,77,80,17,54,14,49,52,12,38,14,52,14,14,44,57,53,76,52,14,48,12,12,74,41,65,41,52,96,53,78,56,12,15,49,50,55,68,46,13,55,13,13,75,42,78,50,61,82,41,81,46,80,76,50,45,50,14,48,90,49,74,79,16,53,13,51,45,13,50,12,49 H,790620,8,100,4,16,1015675,36,2,1,2,1,2,2,2,,30,1800,2,3,3,,1,,,,,,1,4,2,570,,1,3,,,1,1,9,8,8200,2,600,88,1,3,8200,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,30,69,86,36,40,63,37,28,73,67,60,60,34,71,36,58,36,30,38,10,31,10,14,30,38,10,29,27,12,13,8,12,48,12,36,12,61,36,35,11,35,10,8,35,31,10,36,48,12,10,11,10,36,11,37,12,30,35,31,72,41,58,58,41,41,70,31,46,96,60,72,59,44,53,36,65,30,48,33,66 H,790628,8,800,4,16,1015675,109,2,1,1,,3,2,2,,60,600,60,100,1,270,1,,1,590,1,1,1,8,,,,1,1,,10,2,40,7,4,16400,4,,,3,1,16400,0,4,4,4,2,4,0,2,0,0,0,55,0,0,0,0,0,1,758,3,0,1,7,0,9,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,151,113,149,109,30,105,146,195,123,100,199,32,103,30,29,87,33,180,97,117,115,98,33,99,171,128,38,32,99,119,29,159,101,185,186,107,174,36,115,100,141,115,148,121,33,119,187,195,126,104,172,31,89,27,33,109,39,184,102,113,119,91,29,135,164,104,32,26,96,104,29,164,101,190,181,108,228,34,102,121 H,790770,8,100,4,16,1015675,70,1,1,1,,3,2,2,,1,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,1,1,6,,,,500,33,1,6,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,15,71,20,62,76,20,67,22,132,103,70,84,74,29,67,107,65,118,123,70,96,66,114,64,63,118,76,107,21,20,58,84,71,122,67,22,70,22,23,76,20,69,18,78,70,19,53,18,133,118,73,72,70,20,62,116,57,109,119,78,127,78,111,64,61,113,69,125,24,23,77,76,75,110,76,24,58,17,20,73 H,791004,8,800,4,16,1015675,60,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,3,14,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,22,75,107,110,96,54,54,68,78,50,16,17,17,64,96,53,20,54,18,60,117,69,23,23,17,52,44,59,94,60,98,106,79,48,20,58,117,64,117,50,16,58,103,111,100,53,58,72,81,57,19,19,14,57,139,48,19,64,18,53,113,63,22,21,18,49,64,80,63,54,105,108,88,58,18,50,110,54,110 H,791047,8,600,4,16,1015675,122,3,1,,,2,6,,,90,0,2,3,3,,1,,,,,,1,4,2,600,,1,3,,,2,1,3,1,49900,2,690,17,2,1,49900,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,36,140,122,273,38,119,148,39,101,105,36,131,125,121,45,192,195,220,133,35,208,118,91,40,192,118,122,287,126,113,171,124,182,137,164,36,36,33,117,37,180,108,137,36,288,111,119,193,106,91,252,117,119,133,208,29,38,44,128,227,39,103,124,282,37,110,119,42,116,127,29,127,132,144,31,209,228,218,113 H,791197,8,200,4,16,1015675,58,2,1,2,1,2,2,2,,150,0,2,3,3,350,1,,,,,3,1,4,,,,1,2,,16,3,400,3,4,24400,4,,,1,1,24400,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,2,2,2,279,,0,1,18,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,59,24,80,68,68,63,81,53,19,60,104,69,51,51,81,20,46,16,15,59,62,90,14,60,72,49,21,66,94,51,20,17,41,62,20,83,67,87,83,66,64,88,17,61,65,64,26,72,80,56,18,19,56,62,22,91,54,65,76,56,60,18,87,71,51,46,72,55,19,50,99,82,53,52,88,19,62,24,15,72 H,791290,8,200,4,16,1015675,31,2,1,1,,2,2,2,,30,0,600,3,4,600,1,,,,,3,1,4,,,,1,2,,13,3,140,8,1,31000,4,,,1,1,31000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,1,0,2,242,,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,32,23,28,9,39,36,32,29,13,33,35,49,42,8,10,49,38,12,33,9,10,37,35,49,20,30,33,32,50,30,25,8,10,49,46,9,24,44,30,57,61,33,38,9,32,32,31,31,7,26,24,50,65,10,7,55,31,7,27,12,8,29,24,59,33,28,29,27,50,33,37,8,9,47,53,7,25,62,21 H,791310,8,800,4,16,1015675,85,2,1,1,,3,2,2,,50,0,2,90,1,610,1,,1,800,1,1,1,6,,,,1,1,,16,3,50,3,,,,,,1,7,41100,0,4,4,4,1,5,0,,0,1,0,28,3,0,0,2,1,1,944,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,109,80,24,142,74,69,23,101,22,22,180,154,80,75,75,83,24,154,174,71,90,92,23,130,90,89,28,84,27,24,130,148,80,99,88,77,29,139,28,104,97,68,139,25,90,93,133,102,146,136,27,26,82,86,87,98,153,26,24,92,80,78,157,23,76,88,109,87,153,127,26,24,83,79,93,92,140,25,149 H,791781,8,200,4,16,1015675,70,3,1,1,,2,2,2,,90,0,2,90,1,,1,,,,,,1,4,2,550,,1,3,,,2,440,7,7,22300,1,767,41,1,3,22300,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,62,62,25,73,89,69,136,125,23,87,18,70,74,22,50,19,107,97,67,57,61,68,24,61,145,81,96,126,31,115,22,70,92,19,73,27,131,101,51,53,79,92,100,64,27,97,19,15,91,64,131,75,71,152,69,118,20,18,63,76,73,58,113,64,18,83,25,27,127,78,164,69,63,144,69,115,20,15,64 H,793055,8,300,4,16,1015675,95,5,1,2,1,3,2,2,,300,0,2,50,3,600,1,,1,2500,1,1,1,5,,,,1,1,,21,3,2,2,1,43100,2,,,1,1,43100,0,2,2,2,1,3,3,5,0,0,3,79,0,0,1,0,0,2,2850,3,0,1,27,1,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,156,135,32,77,190,89,64,144,97,29,23,33,92,114,107,94,87,142,155,40,148,87,24,114,157,84,87,142,93,33,38,27,105,97,74,115,104,119,130,25,137,105,28,86,140,80,87,141,117,26,23,35,92,112,119,108,88,213,195,26,168,78,29,117,149,87,92,143,70,25,44,33,110,93,92,106,88,127,145,21 H,793171,8,800,4,16,1015675,58,2,1,1,,4,2,2,,130,0,2,3,3,1900,1,,,,,3,1,7,,,,1,2,,14,2,2,5,4,23900,4,,,1,1,23900,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,1,2,321,,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,87,88,48,55,60,70,57,13,17,26,42,81,53,14,62,57,16,77,100,14,19,17,53,53,55,81,65,96,81,88,62,19,57,72,64,66,77,57,15,107,79,82,65,51,61,69,57,17,19,25,45,91,41,13,66,56,17,53,98,15,15,17,56,56,55,61,57,82,104,122,40,14,61,80,78,88,91,66,17,104 H,793347,8,800,4,16,1015675,40,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,43,43,42,12,38,11,41,13,11,13,12,34,40,13,11,43,15,12,70,73,70,72,73,39,60,40,65,40,44,41,37,73,67,36,36,73,38,46,48,40,41,48,51,67,38,62,44,71,66,68,74,43,42,61,72,38,78,68,9,12,12,14,11,34,12,42,12,44,42,47,41,13,12,33,41,10,38,40,36 H,793869,8,600,4,16,1015675,75,3,1,,,2,9,,,60,0,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,3,1,5,,,,610,13,1,7,56800,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,65,153,96,69,92,19,21,61,23,120,20,107,88,125,118,69,72,62,69,67,19,83,138,28,19,86,86,138,88,69,88,82,112,67,76,32,22,144,123,125,69,21,88,80,76,128,130,83,121,18,117,22,75,24,24,82,73,75,76,77,138,75,22,143,143,89,60,19,76,77,68,78,21,73,79,103,125,22,26,22 H,793896,8,100,4,16,1015675,84,2,1,1,,2,2,2,,90,0,2,130,1,10,1,,2,560,2,1,1,6,,,560,1,1,,15,1,450,2,8,26600,4,,,1,3,26600,0,4,4,4,1,3,0,2,0,0,0,70,0,0,0,0,0,1,1549,2,0,1,32,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,165,77,82,80,25,27,83,22,154,25,128,83,144,159,82,79,87,77,87,142,78,27,133,152,82,83,26,94,85,83,98,27,100,86,136,161,22,25,87,24,95,160,22,26,85,84,142,98,89,70,79,158,90,79,25,29,135,143,164,79,25,80,89,86,129,135,89,138,23,147,26,90,24,20,83,84,90,80,22 H,794442,8,200,4,16,1015675,104,2,1,2,1,3,1,2,,90,0,2,4,3,,1,,,,,,1,6,2,650,,2,3,,,2,2,3,,,,744,17,1,5,54000,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,123,107,86,201,167,86,24,41,158,146,30,96,238,39,29,109,85,154,106,91,142,125,75,149,127,88,37,47,251,204,39,95,152,29,29,127,113,192,66,122,132,106,98,200,154,76,34,48,149,115,28,93,164,28,31,109,105,188,93,111,159,89,78,251,158,87,42,40,205,138,30,106,174,40,28,105,107,155,61 H,794464,8,300,4,16,1015675,11,3,1,1,,3,2,2,,60,600,2,80,1,710,1,,1,1500,1,1,1,6,,,,1,1,,17,2,240,9,7,77000,4,,,1,3,77000,0,4,4,4,1,6,0,3,0,0,0,26,0,0,0,0,0,2,1660,3,0,1,29,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,13,10,19,22,12,21,18,12,14,9,13,17,12,18,10,17,18,16,18,14,13,9,3,3,12,3,4,11,11,10,10,5,16,3,10,4,5,3,3,9,11,12,3,5,15,3,3,12,8,10,13,5,13,3,11,3,4,3,3,9,11,15,21,17,10,15,21,10,11,14,12,14,10,20,11,24,25,24,24,11 H,794478,8,100,4,16,1015675,111,2,1,3,1,2,2,2,,50,0,2,100,2,500,1,,1,1400,1,1,1,5,,,300,1,1,,19,2,2,3,2,95000,4,,,3,1,95000,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,0,0,1,1850,2,0,0,26,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,99,33,180,114,123,36,107,117,193,117,137,42,220,191,93,146,110,33,130,32,32,104,102,35,182,118,173,192,105,187,43,94,123,108,30,119,180,127,46,96,106,34,161,107,96,33,121,132,170,115,93,35,191,157,114,179,121,37,113,33,39,101,112,37,155,121,202,200,126,178,31,123,127,100,35,110,173,113,32 H,794515,8,300,4,16,1015675,118,2,1,1,,3,2,2,,80,0,2,30,2,420,1,,1,950,1,1,1,6,,,,1,1,,16,2,620,3,,,,,,1,7,77000,0,4,4,4,1,1,0,,0,1,0,17,3,0,0,0,0,2,1112,3,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,53,134,159,165,153,131,137,113,86,100,35,30,46,118,186,112,29,136,49,155,141,125,51,42,36,110,108,108,145,109,190,223,204,148,30,90,149,108,230,123,36,128,173,173,186,112,84,98,146,110,41,37,30,132,201,124,44,117,34,70,279,115,29,41,33,119,153,118,102,123,197,186,220,107,45,118,198,95,206 H,794585,8,400,4,16,1015675,492,1,1,1,,3,2,2,,120,0,2,3,3,530,1,,1,570,1,1,1,6,,,,1,1,,14,1,430,4,,,,,,1,4,22000,0,4,4,4,1,6,0,,0,0,0,40,0,0,0,0,0,2,726,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,719,504,484,217,561,545,841,715,298,214,759,445,230,974,617,402,516,173,486,520,509,436,482,632,348,478,186,111,572,561,176,430,649,154,158,432,438,790,583,531,412,437,476,173,453,435,627,677,169,176,647,430,147,724,763,450,394,180,540,481,526,482,513,785,551,605,181,172,763,980,190,527,807,194,152,474,486,706,576,737 H,794709,8,100,4,16,1015675,148,2,1,3,1,3,2,2,,410,0,2,3,3,1400,1,,,,,3,1,7,,,,1,2,,19,2,420,3,4,6050,4,,,1,1,6050,0,4,4,4,1,4,0,2,0,0,0,101,0,0,0,0,0,1,654,,0,0,23,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,41,134,142,151,143,36,156,167,255,267,47,40,261,136,43,287,254,146,144,179,56,164,139,130,129,50,115,134,233,244,53,48,281,129,48,224,221,138,135,145,217,135,166,129,179,269,160,145,51,45,257,248,48,156,265,32,41,150,146,191,221,175,146,160,139,202,139,130,44,42,311,237,37,143,246,47,45,158,141,189 H,794750,8,900,4,16,1015675,83,2,1,2,1,3,2,2,,80,0,900,3,4,550,1,,,,,3,1,6,,,,1,2,,14,3,2,8,3,37000,4,,,1,1,37000,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,249,,0,1,13,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,123,77,27,114,84,20,80,160,206,122,56,58,71,114,78,22,31,23,124,85,144,67,23,80,84,18,77,137,121,145,93,112,95,77,88,29,28,26,41,69,22,96,147,117,100,146,97,32,35,20,55,58,107,116,67,111,124,120,24,95,24,81,129,62,83,179,89,19,22,37,78,86,110,66,75,153,121,120,217 H,794913,8,600,4,16,1015675,102,2,1,1,,3,2,2,,150,0,2,10,3,1200,1,,1,1300,1,1,1,6,,,,1,1,,18,2,590,5,1,92000,4,,,1,1,92000,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,1,1509,3,0,1,48,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,97,101,98,166,30,109,97,180,106,174,188,30,30,103,94,103,103,184,28,31,95,98,103,172,28,105,116,183,107,179,178,32,32,99,97,92,105,178,28,31,109,95,98,174,31,104,91,176,103,174,192,33,30,97,113,111,107,202,30,30,102,101,101,161,26,101,99,165,103,183,187,31,27,99,98,103,110,170,30 H,795273,8,500,4,16,1015675,64,1,1,,,0,9,,,1,60,2,3,3,,1,,,,,,1,1,2,220,,1,3,,,1,1,5,,,,220,20,1,6,13100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,21,109,70,19,20,63,68,65,61,62,117,65,17,108,68,96,76,21,120,59,18,121,70,21,20,62,55,60,71,66,114,57,19,109,65,110,60,21,108,71,22,100,68,22,15,67,60,62,70,71,113,73,16,100,61,104,63,19,125,67,22,113,66,19,18,63,72,57,69,74,103,55,20,115,71,109,63,16,109 H,795472,8,300,4,16,1015675,16,2,1,1,,2,2,2,,160,120,200,130,6,1200,1,,2,270,2,1,1,6,,,270,1,1,,9,2,830,8,4,27600,4,,,1,1,27600,0,4,4,4,1,6,0,2,0,0,0,46,0,0,0,2,2,1,1051,2,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,27,14,15,15,16,15,5,5,5,13,24,18,5,15,18,7,18,24,5,7,4,16,15,18,17,17,34,26,25,18,5,15,21,13,15,26,19,8,29,28,27,16,13,18,14,15,5,5,5,20,31,16,5,14,15,4,18,33,4,4,3,15,18,17,17,19,26,24,32,15,5,21,22,15,15,33,14,3,26 H,795486,8,700,4,16,1015675,119,2,1,1,,3,2,2,,60,0,2,170,1,730,1,,2,1300,2,1,1,7,,,,1,1,,20,3,250,3,2,187000,4,,,1,1,187000,0,4,4,4,1,1,0,2,0,0,0,12,0,0,0,1,0,1,1945,3,0,1,52,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,35,34,117,110,194,112,113,110,119,183,112,129,39,36,192,202,35,108,118,213,35,34,124,124,213,120,109,119,129,207,119,127,36,34,193,211,36,129,124,220,35,33,126,120,210,120,122,126,120,204,119,112,37,35,199,240,36,123,106,204,32,33,106,128,215,127,113,119,118,191,115,114,33,34,204,207,31,121,111 H,795570,8,100,4,16,1015675,83,5,1,,,2,4,,,170,6000,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,1,1,5,2,6500,3,720,101,1,1,6500,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,153,159,72,25,157,25,79,89,99,74,79,81,112,22,83,81,23,26,86,126,78,80,132,82,75,81,143,27,26,27,24,138,102,70,28,145,81,83,107,79,130,138,85,22,140,26,73,73,79,79,109,80,128,25,84,89,25,33,79,166,87,81,144,65,79,72,156,25,23,31,24,159,99,96,23,138,94,69,166 H,795738,8,200,4,16,1015675,62,3,1,2,2,3,3,2,,20,0,2,90,1,330,1,,1,890,1,1,1,5,,,,1,1,,16,2,680,2,1,37900,2,,,2,1,37900,0,2,2,2,1,3,1,3,0,0,1,33,0,0,1,0,0,1,1057,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,90,126,46,63,82,48,17,18,22,50,62,60,85,73,85,74,121,75,97,114,48,19,70,67,33,65,112,111,99,97,83,46,59,63,23,27,13,58,15,19,85,119,68,63,83,66,22,19,13,41,64,66,93,65,97,94,130,81,99,119,53,14,68,89,31,55,105,107,88,60,45,67,50,51,31,23,21,64,23 H,796124,8,400,4,16,1015675,111,0,1,,,2,7,,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,110,111,111,101,213,124,115,34,31,178,174,31,98,175,37,33,115,109,207,93,103,125,115,110,201,117,100,32,30,181,237,41,100,176,32,37,141,108,155,109,119,116,140,151,31,130,117,158,160,29,35,187,96,35,205,170,121,111,27,120,126,137,112,113,30,113,101,196,210,26,26,170,101,41,177,158,119,109,29,91 H,796189,8,900,4,16,1015675,99,2,1,1,,3,2,2,,30,0,650,140,1,360,1,,2,350,2,1,1,5,,,,1,1,,12,2,480,9,3,22700,4,,,1,1,22700,0,4,4,4,1,1,0,2,0,0,0,39,0,0,0,0,0,1,732,3,0,1,22,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,171,94,30,95,29,184,110,38,30,102,99,92,99,97,162,109,33,168,184,104,187,98,30,106,28,166,94,30,26,102,100,105,96,105,146,94,28,157,179,89,166,109,28,112,30,178,101,27,30,88,117,109,103,102,146,94,34,236,187,96,178,94,35,90,24,196,96,31,28,104,99,85,87,87,176,113,24,159,154 H,796322,8,900,4,16,1015675,93,1,1,,,1,5,,,50,0,2,3,3,,1,,,,,,1,2,2,440,,1,3,,,1,1,3,,,,490,,1,6,0,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,143,24,116,93,95,26,117,153,69,28,27,71,113,26,140,88,148,128,85,100,20,218,98,76,86,142,83,29,89,178,207,100,83,201,30,92,37,25,65,86,197,19,102,98,91,27,79,136,105,25,24,94,93,23,176,58,117,195,114,132,26,170,91,86,85,183,89,31,112,155,163,87,75,175,26,89,28,26,108,107 H,796475,8,300,4,16,1015675,62,2,1,1,,3,2,2,,80,0,2,3,3,600,1,,1,1000,1,1,1,8,,,,1,1,,13,3,40,6,7,52000,4,,,1,3,52000,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,1,0,1,1083,3,0,1,25,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,71,21,59,69,61,116,77,52,18,99,18,16,69,86,107,115,19,56,20,67,56,99,67,58,66,21,56,64,112,20,109,100,50,55,21,22,96,54,19,61,73,105,62,67,71,17,60,59,102,16,125,100,63,77,20,20,114,61,129,59,63,22,69,69,56,98,59,78,20,99,19,18,58,68,123,94,16,68,107 H,796897,8,300,4,16,1015675,106,3,1,1,,3,3,2,,90,0,2,70,1,400,1,,1,1400,1,1,1,5,,,300,1,1,,15,2,20,2,2,44000,1,,,1,1,44000,0,1,1,1,1,3,1,3,0,0,1,51,0,0,1,0,0,1,1862,1,0,1,26,2,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,199,127,28,35,31,97,104,103,119,140,186,161,162,104,31,91,176,112,100,35,192,106,32,29,29,115,94,137,123,109,181,164,162,87,35,92,158,115,104,31,159,108,34,36,32,98,95,123,112,110,190,252,172,99,32,107,220,107,97,32,172,88,32,27,28,117,105,109,111,94,209,181,157,109,32,100,157,123,91,27 H,797822,8,100,4,16,1015675,24,2,1,1,,3,1,2,,150,0,2,200,1,350,1,0,1,950,1,1,1,5,,,,1,1,,17,2,480,3,1,42000,4,,,1,1,42000,0,4,4,4,1,3,0,2,0,0,0,38,0,0,0,0,0,1,1340,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,29,34,40,26,6,33,37,7,22,23,9,20,7,27,26,27,48,24,7,49,28,26,43,26,8,37,50,7,23,27,7,22,7,19,19,25,34,23,45,7,24,22,5,29,44,8,5,37,27,20,43,27,50,30,24,22,7,30,39,7,20,20,4,23,44,5,9,35,19,26,40,26,41,28,29,21,7,22,5 H,797888,8,700,4,16,1015675,85,5,1,2,1,4,2,1,,70,0,2,40,1,600,1,,1,1100,1,1,1,9,,,,1,1,,22,5,2,6,1,124000,2,,,1,1,124000,0,2,2,2,1,5,1,5,0,0,1,12,0,0,1,0,0,1,1210,3,0,0,37,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,146,76,136,129,87,174,24,84,79,89,23,81,126,86,27,24,80,90,76,26,152,83,142,136,83,175,25,80,94,85,23,77,145,90,29,27,84,94,84,148,23,94,27,26,83,24,161,80,89,80,146,83,24,83,137,133,77,89,91,141,25,102,27,27,102,22,142,91,82,85,146,84,22,75,137,149,84,90,79 H,797891,8,700,4,16,1015675,28,2,1,1,,4,2,2,,80,0,2,30,1,350,1,,1,600,1,1,1,8,,,100,1,1,,15,1,600,3,2,40000,4,,,1,1,40000,0,4,4,4,1,2,0,2,0,0,0,26,0,0,0,0,0,1,860,1,0,1,22,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,26,28,45,32,51,49,8,9,34,27,30,30,45,10,30,30,27,43,8,51,26,28,9,29,9,8,50,46,29,31,30,30,8,49,33,30,29,6,49,9,30,27,56,30,47,47,9,8,27,29,26,28,54,7,31,28,28,49,7,49,34,35,8,31,9,9,47,48,26,28,27,25,8,50,26,29,31,10,48,8 H,797962,8,900,4,16,1015675,58,2,1,1,,4,2,2,,70,0,800,3,2,500,1,,1,750,1,1,1,8,,,,1,1,,13,2,2,5,1,102500,4,,,1,1,102500,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,1,887,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,59,58,19,60,50,81,83,16,13,102,48,23,96,73,65,57,19,62,58,54,78,69,21,64,58,103,94,17,15,95,66,21,103,109,65,51,16,51,54,68,59,53,102,57,54,17,17,76,102,23,68,108,16,17,45,57,113,58,68,53,66,49,93,69,54,23,19,93,84,17,77,113,16,20,43,47,95,54,55 H,797987,8,300,4,16,1015675,76,1,1,2,1,2,1,2,,170,0,2,3,3,600,1,200,,,,3,1,4,,,,1,2,,4,1,2,4,,,,,,1,4,18000,0,4,4,4,1,5,0,,0,0,0,17,0,0,0,0,0,1,250,,0,0,5,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,63,29,86,70,27,71,144,28,23,113,75,78,125,87,136,82,78,66,21,27,67,120,78,85,110,58,26,112,106,21,78,89,25,91,27,85,62,74,121,119,67,23,76,74,25,97,135,28,24,89,75,83,119,92,129,86,74,84,30,20,58,116,118,89,114,72,28,140,98,17,72,72,32,84,16,65,80,76,120,132 H,798317,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,798517,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,798738,8,400,4,16,1015675,131,2,1,2,1,5,2,2,,40,0,100,10,2,2400,1,,1,1200,1,1,1,9,,,,1,1,,21,3,50,5,1,99000,4,,,1,1,99000,0,4,4,4,1,4,0,2,0,0,0,15,0,0,0,0,0,1,1262,3,0,1,4,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,131,109,212,128,113,276,252,218,229,127,206,135,193,119,127,139,153,251,51,40,121,128,38,125,140,39,34,40,54,113,32,139,41,125,116,141,137,43,39,35,105,145,34,115,132,41,44,35,46,114,37,139,37,132,113,134,141,42,231,210,108,206,253,119,186,209,220,246,206,141,197,126,192,122,169,146,126,249,240 H,798901,8,900,4,16,1015675,93,2,1,1,,2,1,2,,30,0,2,90,1,130,1,2400,,,,3,1,4,,,,1,2,,1,4,1,8,5,23200,4,,,1,2,23200,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,1,1,1,334,,0,0,2,2,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,111,33,96,148,27,33,132,119,93,127,109,155,80,114,109,23,106,33,22,76,103,168,75,26,172,192,19,82,110,32,97,23,108,108,96,137,83,174,160,118,72,28,113,144,22,25,156,116,92,137,110,186,72,91,82,36,84,26,22,87,94,154,83,30,200,159,23,72,78,40,97,38,106,111,130,149,90,153,164 H,799141,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,799264,8,400,4,16,1015675,29,2,1,1,,3,1,2,,30,0,1200,3,4,,1,,,,,,1,5,2,250,,1,3,,,1,400,6,4,15600,4,413,32,1,1,15600,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,46,8,9,51,23,9,55,42,25,30,6,30,27,22,29,10,33,29,23,45,41,8,7,46,34,9,46,56,36,31,8,30,30,31,32,10,27,28,28,6,7,53,40,10,45,57,10,8,36,27,51,28,25,28,26,46,32,30,38,9,7,53,49,8,28,44,10,8,22,33,43,25,33,30,31,41,27,37,44 H,799336,8,500,4,16,1015675,30,1,1,1,,3,2,2,,30,0,700,3,6,530,1,,,,,3,1,7,,,,1,2,,11,1,2,8,,,,,,1,6,29000,0,4,4,4,1,7,0,,0,0,0,7,0,0,0,0,0,1,174,,0,1,11,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,50,31,28,31,51,31,50,9,29,8,27,29,27,10,8,44,29,8,28,8,25,8,9,54,31,45,26,28,45,27,52,7,9,28,33,29,45,29,50,27,50,28,36,30,52,29,40,8,25,8,26,32,31,8,10,44,27,8,31,8,31,9,8,48,29,46,29,27,48,28,50,8,8,26,29,31,49,27,47 H,800330,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,801091,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,801348,8,100,4,16,1015675,112,2,1,1,,3,2,2,,50,0,2,10,1,0,1,,,,,3,1,6,,,,1,2,,19,2,240,1,4,42590,4,,,1,1,42590,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,2,2,1,168,,0,1,22,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,110,29,112,231,109,99,186,103,40,28,31,113,89,120,111,113,168,166,31,202,105,34,117,202,128,108,181,114,33,39,35,104,116,98,98,115,187,203,178,28,99,196,124,37,96,109,36,104,212,164,210,121,96,109,112,112,32,37,176,49,122,178,114,32,113,92,32,112,167,204,161,112,119,110,97,118,38,33,43 H,801369,8,100,4,16,1015675,50,2,1,1,,5,2,2,,60,0,2,290,1,600,1,,,,,3,1,6,,,,1,2,,18,2,510,9,5,30200,4,,,1,2,30200,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,1,1,1,493,,0,1,14,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,55,79,15,15,93,49,44,89,53,77,40,48,53,16,50,15,50,49,81,17,43,83,14,16,97,49,51,88,49,85,58,52,57,15,44,14,41,48,90,15,58,81,14,15,98,52,54,96,51,77,37,54,56,13,55,15,49,48,90,13,50,79,15,14,81,48,64,89,49,86,48,51,51,13,48,11,54,47,75 H,801412,8,300,4,16,1015675,106,2,1,1,,4,2,2,,50,0,2,4,3,600,1,,2,440,2,1,1,8,,,,1,1,,17,4,480,4,4,50020,4,,,1,1,50020,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,2,1,772,3,0,1,34,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,89,28,29,28,112,110,107,119,90,183,166,154,97,32,111,217,106,103,29,217,108,33,34,29,102,103,105,116,99,204,193,190,113,27,103,226,115,125,181,27,105,200,184,179,98,100,110,102,117,29,35,38,112,152,110,33,122,124,140,34,101,200,199,161,118,100,125,110,92,29,35,34,98,191,97,33,82,115,29 H,802213,8,600,4,16,1015675,247,2,1,1,,3,2,2,,40,0,2,40,1,,1,,,,,,1,5,2,800,,1,3,,,2,90,5,2,80000,4,888,13,1,1,80000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,411,251,456,80,71,232,252,230,417,256,73,271,70,70,424,233,414,236,252,239,401,238,413,76,69,254,242,241,425,250,71,248,79,74,403,244,429,259,232,225,72,263,73,403,433,252,237,230,71,255,401,243,433,424,71,265,74,235,258,248,75,241,69,421,410,229,247,223,68,237,415,257,457,438,77,226,77,273,248,234 H,803145,8,300,4,16,1015675,42,2,1,,,1,7,,,1,0,2,1,1,,1,,,,,,1,2,2,440,,1,3,,,1,1,2,1,17504,4,440,30,3,1,17504,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,54,39,40,40,13,44,14,40,47,15,47,75,16,13,68,51,36,73,13,52,15,42,44,38,74,37,63,44,35,64,55,13,60,91,14,47,44,10,13,32,15,45,34,55,87,45,75,41,45,67,46,13,59,71,15,40,37,11,98,39,77,41,43,41,10,42,12,52,41,10,41,72,13,11,76,47,49,73,53 H,803323,8,100,4,16,1015675,81,2,1,3,1,3,2,2,,50,0,2,100,3,550,1,,1,4800,1,1,1,7,,,2700,1,1,,22,2,90,2,2,309300,4,,,2,1,309300,0,4,4,4,1,3,0,2,0,0,0,30,0,0,0,2,1,1,7658,2,0,0,67,2,4,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,87,23,23,88,22,143,79,75,77,140,80,20,85,159,135,74,81,140,90,21,84,25,24,83,20,134,83,79,77,144,82,22,92,144,139,97,71,139,75,23,89,27,25,87,25,125,83,76,89,132,94,20,83,145,111,86,87,136,78,24,79,23,25,81,26,131,80,81,75,160,84,19,78,129,124,86,83,130,77 H,803431,8,200,4,16,1015675,117,5,1,1,,3,2,2,,90,0,2,3,3,400,1,,2,780,2,1,1,5,,,,1,1,,17,2,80,5,2,29000,3,,,1,1,29000,0,3,3,3,1,1,3,5,0,0,3,44,0,0,1,0,0,1,1060,3,0,1,30,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,32,34,234,114,211,107,134,208,153,218,36,32,113,119,109,216,142,27,92,125,177,205,30,95,31,115,118,47,102,26,234,159,97,126,124,46,120,210,104,110,184,185,28,124,48,103,136,31,112,44,227,205,146,117,92,33,107,162,98,121,43,38,199,120,169,130,133,223,110,169,32,33,99,104,124,214,141,38,120 H,803500,8,900,4,16,1015675,531,1,1,2,1,3,2,2,,60,0,2,90,1,1000,1,,,,,3,1,8,,,,1,2,,18,1,400,8,,,,,,1,6,0,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,2,424,,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,421,514,185,582,154,734,722,506,626,677,250,640,816,623,875,735,190,614,484,662,541,418,738,622,726,154,155,668,485,469,828,450,186,493,174,208,1083,538,504,177,514,509,189,586,201,702,602,524,612,460,155,579,734,493,824,664,203,664,461,747,679,609,872,557,848,273,211,490,485,445,891,509,207,776,199,168,896,463,616 H,803612,8,600,4,16,1015675,117,2,1,1,,3,2,2,,90,0,2,50,1,250,1,,,,,3,1,6,,,,1,2,,15,3,660,7,4,110000,4,,,1,1,110000,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,333,,0,1,26,2,4,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,125,108,33,119,116,196,31,221,186,122,122,37,35,205,118,119,108,186,37,116,129,116,35,124,121,190,34,197,201,125,109,32,32,209,127,111,106,188,34,105,108,119,34,114,104,222,34,207,196,109,119,37,36,244,125,113,122,192,36,123,125,115,33,119,122,181,31,177,188,123,111,35,37,195,106,122,115,206,34 H,803669,8,600,4,16,1015675,102,3,1,2,1,4,2,2,,80,0,150,30,1,690,1,,1,1100,1,1,1,9,,,,1,1,,22,5,2,2,2,182000,2,,,1,1,182000,0,2,2,2,1,2,1,3,0,0,1,8,0,0,1,0,0,1,1223,3,0,1,62,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,179,174,191,102,100,108,100,106,33,29,34,101,180,103,28,97,98,31,176,99,166,171,179,97,105,103,104,102,30,32,31,110,176,96,28,98,109,29,166,105,182,179,165,102,106,101,96,102,29,27,31,104,175,101,31,107,98,30,177,108,178,166,173,96,97,108,98,104,28,30,31,112,174,106,28,100,114,30,168 H,803707,8,500,4,16,1015675,65,2,1,1,,3,2,2,,30,0,2,40,1,600,1,,1,830,1,1,1,4,,,,1,1,,15,3,270,2,1,90100,4,,,1,1,90100,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,0,0,1,923,3,0,1,25,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,73,19,76,68,68,106,63,111,60,70,101,66,22,96,114,18,56,62,25,18,79,21,62,60,65,116,58,105,69,66,115,68,18,118,142,18,65,60,118,112,65,120,72,75,64,21,63,19,64,66,20,69,113,23,18,103,74,63,114,107,70,105,62,76,59,19,58,16,63,70,20,63,115,18,17,118,78,65,18 H,803737,8,200,4,16,1015675,107,2,1,1,,4,2,2,,150,0,2,3,3,450,1,,2,310,2,1,1,6,,,360,1,1,,15,4,2400,9,3,57400,4,,,1,1,57400,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,1,0,1,1160,2,0,1,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,165,121,112,251,109,30,179,186,29,84,81,20,94,37,121,114,114,185,92,190,36,111,150,39,99,150,32,38,140,108,134,222,128,166,115,106,123,20,101,29,215,120,82,157,89,40,201,184,32,112,89,30,114,40,95,108,123,179,143,181,34,135,129,33,151,151,36,41,188,101,102,158,119,207,88,76,82,29,94,31 H,804098,8,500,4,16,1015675,79,3,1,1,,3,2,2,,110,0,200,160,1,,1,,,,,,1,5,2,750,,2,3,,,2,480,7,1,38100,1,1077,34,1,1,38100,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,88,131,78,81,76,23,81,23,72,77,21,70,130,22,27,158,78,69,124,23,92,21,69,74,82,131,83,141,88,77,137,84,24,132,118,24,76,80,23,129,80,155,76,76,66,25,73,22,80,82,21,81,116,21,22,137,81,81,144,21,80,22,77,88,73,122,85,122,90,76,133,100,26,131,150,22,75,84,24,150 H,804778,8,700,4,16,1015675,112,5,1,1,,4,2,2,,70,0,2,50,1,1000,1,,2,900,1,1,1,8,,,250,1,1,,18,4,200,3,1,80000,3,,,4,1,80000,0,3,3,3,1,4,2,5,0,0,2,21,0,0,1,0,0,1,1370,2,0,1,23,3,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,194,178,112,36,110,199,108,105,187,109,33,34,35,112,109,127,118,119,33,231,194,184,117,34,130,212,106,116,190,118,30,29,35,112,97,122,113,115,191,32,32,34,123,204,110,30,104,120,36,113,193,192,209,107,121,123,112,121,171,37,30,36,111,202,113,30,113,110,32,113,195,181,191,122,109,121,105,113,30 H,804829,8,200,4,16,1015675,113,3,1,1,,3,2,2,,150,0,2,2,1,480,1,,1,850,1,1,1,9,,,,1,1,,15,2,700,9,1,53000,2,,,1,1,53000,0,2,2,2,1,3,1,3,0,0,1,24,0,0,1,0,0,1,1058,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,136,116,100,150,195,94,231,29,200,39,118,28,29,95,130,111,126,137,136,127,218,28,30,128,110,206,132,114,88,95,170,82,114,28,34,225,213,35,33,196,95,158,130,37,33,109,26,185,30,203,148,215,183,106,104,124,82,106,111,108,38,172,229,134,95,40,103,83,123,92,38,161,99,184,182,34,35,177,196 H,804844,8,600,4,16,1015675,330,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,21,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,356,86,83,94,125,273,94,424,99,291,352,290,349,109,107,328,313,106,359,361,536,363,351,279,315,535,287,597,335,555,621,527,642,335,276,472,618,331,519,103,366,88,96,114,108,336,118,351,103,333,309,289,335,91,114,341,300,112,321,358,500,343,358,351,297,532,324,563,318,525,582,515,597,347,319,543,511,291,476,115 H,804855,8,800,4,16,1015675,68,4,1,1,,3,2,2,,70,0,600,3,3,50,1,,2,850,2,1,1,5,,,,1,1,,10,3,460,9,1,66000,2,,,1,1,66000,0,2,2,2,1,5,1,4,0,0,1,20,0,0,1,0,0,1,1077,3,0,1,17,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,18,21,110,63,57,22,129,63,73,124,62,83,111,70,57,55,123,19,28,65,21,23,105,57,68,20,113,82,73,126,60,73,112,75,77,56,109,17,24,83,23,18,127,64,67,17,97,70,63,130,54,73,119,64,80,75,110,17,23,66,16,22,124,71,62,19,116,63,64,107,74,72,132,73,65,84,111,21,24,61 H,804897,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,804945,8,100,4,16,1015675,44,0,1,,,0,6,,,,,,,,,1,,,,,,1,1,2,400,,,,2,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,16,47,66,44,41,36,79,47,87,12,42,12,38,41,35,13,14,66,39,79,43,9,47,13,12,81,39,76,52,44,71,41,96,17,14,47,46,39,73,37,14,53,84,38,38,41,78,49,72,14,34,13,44,39,50,13,12,65,38,62,33,13,38,15,18,88,50,73,44,48,74,45,80,12,11,49,45,43,65 H,804993,8,100,4,16,1015675,264,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,3,19,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,263,308,67,280,92,349,368,233,257,264,97,266,390,297,505,528,88,273,284,95,264,234,89,263,98,487,407,269,229,236,81,239,404,237,348,480,69,250,295,495,251,234,425,296,452,80,74,253,296,262,455,311,84,273,86,75,473,312,272,445,254,251,375,240,453,70,92,240,225,283,366,269,74,260,87,72,434,264,247 H,805028,8,100,4,16,1015675,71,1,1,1,,3,2,2,,60,0,2,170,1,1000,1,,2,790,2,1,1,7,,,,1,1,,22,1,2,3,,,,,,1,6,39300,0,4,4,4,1,5,0,,0,0,0,44,0,0,0,1,1,1,1436,3,0,1,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,126,65,134,119,67,120,17,65,77,67,21,68,110,74,20,21,74,71,75,137,21,75,24,19,90,24,111,64,77,80,118,83,18,73,98,125,76,66,86,140,24,69,22,22,68,22,121,66,80,75,97,61,20,76,113,116,72,74,61,22,131,73,110,146,93,120,21,71,78,70,20,68,107,69,20,18,69,68,63 H,805287,8,100,4,16,1015675,166,3,1,1,,3,2,2,,100,0,200,10,1,450,1,,1,740,1,1,1,7,,,250,1,1,,16,2,420,7,4,109500,2,,,1,1,109500,0,2,2,2,1,4,1,3,0,0,1,13,0,0,1,1,0,1,1152,2,0,1,27,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,149,204,261,155,165,145,221,275,164,136,43,50,288,256,45,149,240,46,167,59,193,163,255,156,192,215,161,278,172,175,48,49,264,252,52,160,275,58,193,242,162,160,52,169,162,143,154,48,138,144,308,282,47,52,266,205,59,254,213,241,190,165,53,171,170,179,146,44,170,232,274,264,41,50,277,125,63,309,180 H,805293,8,400,4,16,1015675,37,1,1,1,,2,2,2,,40,0,500,10,4,800,1,,2,680,2,1,1,7,,,200,1,1,,17,1,2,5,,,,,,1,6,29300,0,4,4,4,1,3,0,,0,0,0,48,0,0,0,1,0,1,1164,2,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,11,34,33,67,61,10,12,70,35,12,64,66,27,34,12,32,35,42,41,42,74,42,34,10,10,76,66,8,38,58,16,13,39,38,57,40,35,31,26,35,13,41,31,62,52,11,14,73,36,10,62,60,31,45,12,30,39,42,45,48,58,40,35,10,12,74,77,9,36,64,9,9,43,37,53,41,39,44,34 H,805585,8,300,4,16,1015675,391,1,1,1,,2,2,2,,50,0,2,3,3,280,1,,1,450,1,1,1,8,,,130,1,1,,11,1,40,8,,,,,,1,6,30000,0,4,4,4,1,5,0,,0,0,0,25,0,0,0,0,0,2,633,2,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,157,393,627,572,383,128,663,145,408,375,401,404,336,399,587,133,413,324,391,364,353,145,404,368,108,383,420,455,148,639,633,458,555,153,405,361,605,140,120,570,655,372,133,155,488,636,133,729,428,428,396,369,401,365,108,643,363,337,371,354,346,497,454,390,647,407,381,457,646,138,121,121,119,581,335,322,182,551,550 H,805592,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,805608,8,300,4,16,1015675,73,4,1,,,3,5,,,180,280,2,3,3,,1,,,,,,1,5,2,570,,1,3,,,0,1500,4,5,17000,3,875,44,1,2,24000,0,3,3,3,1,2,2,3,0,1,2,,2,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,83,73,22,127,22,81,148,119,127,73,19,104,73,82,74,82,22,17,76,74,64,77,22,105,23,76,110,125,121,77,22,143,60,88,78,69,20,21,78,68,66,72,108,28,125,61,18,20,22,74,138,20,66,90,79,76,142,130,96,60,76,69,125,25,120,72,21,26,20,68,109,22,83,86,86,60,124,122,66 H,805677,8,900,4,16,1015675,75,4,1,1,,4,2,2,,190,0,400,3,3,500,1,,1,510,1,1,1,7,,,,1,1,,15,2,760,6,1,42500,3,,,1,1,42500,0,3,3,3,1,4,2,4,0,0,2,22,0,0,1,0,0,2,796,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,73,89,68,102,134,74,109,24,130,22,78,24,21,68,75,85,76,72,74,84,128,23,23,91,76,106,80,69,62,75,131,76,63,23,22,125,146,23,128,24,94,73,74,104,122,67,121,20,125,24,73,19,20,61,59,71,77,78,67,85,119,24,27,82,70,121,86,80,76,79,121,88,79,22,18,120,129,25,109 H,806325,8,100,4,16,1015675,98,1,1,1,,3,2,2,,30,0,2,10,1,240,1,,1,490,1,1,1,6,,,,1,1,,16,2,450,4,,,,,,1,4,40000,0,4,4,4,1,6,0,,0,0,0,17,0,0,0,0,0,1,568,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,201,27,162,86,25,26,31,85,183,33,98,94,110,86,170,174,105,106,173,29,100,91,88,32,98,88,94,183,115,85,34,176,28,29,99,107,163,157,98,88,28,187,29,108,162,157,183,98,29,147,85,100,113,102,30,31,96,96,27,162,97,102,102,175,104,84,94,32,92,104,169,25,158,168,102,90,30,28,92 H,806330,8,200,4,16,1015675,0,1,3,,,,,,,,270,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,806504,8,400,4,16,1015675,102,2,1,1,,3,2,2,,80,0,2,20,3,250,1,,,,,3,1,7,,,,1,2,,16,2,120,7,4,24500,4,,,3,1,24500,0,4,4,4,1,1,0,2,0,0,0,11,0,0,0,2,2,1,231,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,93,184,155,175,115,31,132,152,77,110,190,93,27,32,36,121,106,110,176,119,116,31,33,32,86,151,128,39,101,97,25,103,139,138,183,96,106,133,31,121,93,206,229,134,88,38,132,192,100,130,139,109,35,21,30,110,86,108,157,117,89,28,42,30,90,143,87,39,112,110,34,88,154,197,197,110,98,102,29 H,806509,8,800,4,16,1015675,286,2,1,1,,2,2,2,,50,0,2,60,1,,1,,,,,,1,5,2,260,,1,3,,,3,2,7,,,,370,23,1,5,18900,0,4,4,4,1,5,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,260,256,80,313,111,248,290,106,317,420,69,87,467,291,329,504,291,472,458,289,298,366,87,325,104,312,305,79,248,466,108,83,425,281,261,425,317,469,90,290,254,281,439,332,435,257,368,453,286,90,440,498,89,284,248,77,216,74,103,288,271,325,609,266,477,353,246,449,365,97,565,472,78,282,306,93,314,85,396 H,806694,8,800,4,16,1015675,56,1,1,2,1,3,2,2,,50,0,1000,3,4,860,1,,,,,3,1,5,,,,1,2,,15,1,2,5,,,,,,1,6,32000,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,1,1,1,277,,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,20,63,39,21,20,13,16,52,17,61,19,69,83,49,51,22,15,48,56,38,76,101,89,50,69,69,62,104,62,100,53,84,76,102,97,43,55,93,110,19,17,54,61,20,13,17,15,47,17,64,19,39,55,59,48,23,15,76,67,59,60,75,87,57,49,51,72,95,60,145,60,99,107,85,123,62,46,85,107,22 H,806875,8,100,4,16,1015675,214,3,1,2,1,3,2,2,,200,0,600,3,4,500,1,,2,650,2,1,1,4,,,,1,1,,15,5,2,8,1,73300,4,,,1,1,73300,0,4,4,4,1,5,0,3,0,0,0,17,0,0,0,1,0,2,1009,3,0,1,18,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,180,297,54,227,72,169,314,242,396,73,169,291,424,236,191,165,184,187,60,344,257,72,393,230,379,214,59,235,56,417,239,75,72,233,211,210,269,233,385,399,188,72,362,217,443,214,60,196,66,422,247,62,69,240,206,206,187,256,349,67,195,376,68,257,59,190,307,164,349,53,230,398,285,216,207,196,186,269,82,67 H,806996,8,600,4,16,1015675,113,2,1,1,,3,2,2,,60,0,2,100,1,350,1,,1,710,1,1,1,5,,,150,1,1,,17,3,110,3,1,57000,4,,,1,1,57000,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,2,1,1,1029,2,0,1,25,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,32,110,36,106,108,39,99,192,33,32,178,120,108,175,105,210,113,114,30,126,191,109,203,124,131,223,108,34,202,184,30,108,107,33,108,37,116,110,198,109,33,115,34,104,113,30,121,209,36,31,183,110,124,179,117,201,119,117,30,115,178,116,160,124,111,179,108,36,194,182,33,111,122,36,104,35,104,129,179 H,807204,8,400,4,16,1015675,54,2,1,,,2,5,,,20,0,2,40,1,,1,,,,,,1,4,2,850,,1,3,,,1,1,4,4,55200,4,910,20,1,1,55200,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,59,49,16,45,13,41,62,25,64,82,17,13,93,51,57,91,69,118,18,48,71,56,99,54,79,46,50,91,41,17,99,109,17,42,51,13,49,17,77,50,49,45,14,47,17,46,59,22,54,97,18,13,69,52,67,98,66,82,17,39,77,52,81,72,85,60,64,109,54,13,104,82,15,54,62,16,49,15,75 H,807910,8,600,4,16,1015675,255,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,413,217,266,309,63,252,306,463,73,447,417,253,297,89,75,409,262,264,80,244,456,244,236,228,71,211,257,401,73,519,406,290,266,63,60,432,247,245,80,286,396,259,266,278,77,279,243,442,73,400,380,268,244,92,80,400,274,247,83,240,486,263,269,241,70,265,243,388,70,401,395,279,260,75,72,392,232,222,82 H,808009,8,700,4,16,1015675,117,7,1,1,,5,2,2,,50,0,2,40,1,600,1,,1,1300,1,1,1,8,,,350,1,1,,18,5,400,3,2,174000,2,,,1,1,174000,0,2,2,2,1,3,3,7,0,0,3,12,0,0,1,0,0,1,1773,1,0,1,37,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,33,115,197,113,40,121,115,32,141,183,202,202,115,114,104,111,125,36,31,194,184,119,34,121,191,111,124,204,127,32,38,36,111,121,119,117,118,209,205,35,37,113,207,109,29,124,112,39,110,204,204,207,114,105,112,115,109,34,37,199,209,118,35,111,194,127,120,199,109,34,38,37,114,104,109,117,129,181,196 H,808077,8,300,4,16,1015675,80,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,3,5,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,117,76,27,72,166,81,74,133,72,33,28,25,70,71,79,87,87,101,125,25,111,70,22,78,148,74,85,161,74,25,22,24,84,77,81,104,79,100,119,112,21,81,110,68,18,90,93,23,95,115,112,164,102,70,85,78,82,34,20,154,31,90,107,72,25,82,67,21,61,111,174,137,67,79,77,57,88,43,30,27 H,808126,8,600,4,16,1015675,120,4,1,1,,3,2,2,,70,0,2,70,1,1000,1,,2,860,2,1,1,6,,,,1,1,,14,1,1200,5,7,38000,2,,,1,3,38000,0,2,2,2,1,4,3,4,0,0,3,41,0,0,1,0,0,1,1300,3,0,1,26,2,13,13,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,109,214,129,127,202,124,206,31,36,109,114,117,211,119,31,121,36,39,206,115,124,38,112,124,37,129,36,189,222,127,123,121,37,126,210,116,202,211,34,128,122,195,115,125,195,119,187,36,38,124,112,120,195,123,34,123,37,36,225,105,130,31,129,107,37,132,35,207,218,127,120,125,33,117,233,114,223,186,36,109 H,808213,8,300,4,16,1015675,75,6,1,2,2,4,2,2,,80,0,2,100,1,600,1,,1,1200,1,1,1,8,,,,1,1,,16,5,2,3,1,111700,2,,,1,1,111700,0,2,2,2,1,4,3,6,0,0,3,15,0,0,1,0,0,1,1380,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,66,116,119,127,107,26,87,124,65,95,130,78,20,16,23,72,63,71,23,57,74,114,116,139,79,25,71,157,108,86,120,92,21,20,26,76,80,76,151,81,112,23,25,30,113,138,70,22,74,95,21,57,111,134,98,61,81,61,147,58,74,24,24,17,69,153,99,25,77,64,20,101,125,81,115,90,76,59,23 H,808317,8,400,4,16,1015675,112,6,1,1,,4,2,2,,70,0,2,3,3,,1,,,,,,1,7,2,700,,1,3,,,3,540,5,2,55600,3,815,18,1,1,55600,1,3,2,3,1,3,2,6,0,0,3,,0,1,1,0,0,1,,,1,0,,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,145,200,209,184,115,33,92,221,159,107,179,140,49,29,27,129,143,117,32,114,99,188,163,125,80,38,109,155,92,126,159,98,38,35,31,110,111,122,235,116,91,31,41,36,114,151,84,38,122,96,26,94,168,187,179,105,114,123,190,114,98,34,39,40,133,182,97,30,137,126,37,120,218,185,190,107,103,129,30 H,808718,8,800,4,16,1015675,160,3,1,,,3,6,,,50,4800,2,3,3,,1,,,,,,1,5,2,220,,1,3,,,1,1,2,7,21200,2,270,15,2,3,21200,0,2,2,2,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,41,66,57,40,205,60,120,72,229,156,152,145,72,53,126,184,45,191,156,305,249,173,133,166,306,147,247,207,256,195,229,281,129,139,293,228,114,258,51,169,71,50,50,57,143,66,168,57,169,123,173,166,52,56,173,137,52,243,150,268,143,125,124,156,226,153,258,162,258,317,252,210,171,127,195,301,205,272,43 H,808879,8,600,4,16,1015675,115,4,1,1,,2,2,2,,200,0,2,40,1,,1,,,,,,1,5,2,810,,1,3,,,4,40,6,1,61000,2,1053,21,1,1,61000,0,2,2,2,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,201,221,203,121,112,188,200,126,194,198,109,108,113,115,197,101,194,113,115,33,36,30,33,117,112,35,32,125,36,35,121,112,117,120,35,122,38,115,121,197,192,184,178,120,119,189,183,120,212,191,119,109,114,112,188,121,191,139,113,32,30,34,34,121,125,33,32,123,35,37,126,112,110,129,33,108,35,112,120 H,809235,8,700,4,16,1015675,100,3,1,1,,1,1,2,,40,0,2,40,1,0,1,320,,,,3,1,4,,,,1,2,,1,2,1,6,2,7000,1,,,1,1,7000,0,1,1,1,1,3,1,3,0,0,1,19,0,0,1,0,0,2,111,,0,0,2,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,39,105,147,32,36,165,88,91,187,111,176,101,92,84,37,109,30,89,88,31,169,90,30,203,168,35,116,99,29,87,34,101,92,79,157,110,164,95,120,27,178,86,36,157,160,28,101,119,29,100,29,89,106,102,167,98,177,107,104,161,27,111,163,29,30,186,115,97,185,113,157,98,116,104,30,107,29,106,93,177 H,809344,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,809384,8,100,4,16,1015675,74,1,1,3,1,2,2,2,,70,0,100,30,4,500,1,,2,1200,2,1,1,4,,,570,1,1,,18,3,2,2,,,,,,1,4,40100,0,4,4,4,1,4,0,,0,0,0,60,0,0,0,0,0,1,2012,4,0,0,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,22,135,71,95,84,116,86,20,65,94,126,53,71,146,19,69,21,26,84,75,173,23,63,75,79,18,61,157,80,24,23,89,81,22,115,64,134,116,69,79,22,145,64,67,83,126,83,25,75,119,139,76,66,123,20,88,22,22,90,67,145,20,71,67,75,23,73,110,77,25,22,75,73,19,113,76,112,122,82 H,809570,8,300,4,16,1015675,55,6,1,1,,5,2,2,,60,0,2,90,1,410,1,,1,610,1,1,1,9,,,,1,1,,15,3,190,3,1,57250,3,,,1,1,57250,0,3,3,3,1,4,4,6,0,0,4,16,0,0,1,0,0,1,776,3,0,1,22,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,103,62,16,58,16,102,66,15,16,46,56,62,55,51,98,53,14,82,15,52,17,52,90,55,96,19,54,95,98,61,62,54,57,56,19,64,91,16,17,57,16,60,106,61,82,17,61,91,95,52,56,52,56,59,16,51,99,20,112,58,95,56,18,56,14,79,55,16,14,59,48,58,53,48,84,57,18,101,90 H,809605,8,500,4,16,1015675,62,7,1,1,,4,2,2,,100,200,2,80,1,400,1,,2,770,2,2,1,5,,,,1,1,,16,1,70,2,2,48700,1,,,2,1,48700,1,1,4,1,1,4,0,7,0,0,2,27,0,1,1,2,2,1,1089,3,0,1,24,3,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,77,56,61,37,46,21,71,24,18,18,18,86,58,20,16,84,20,16,111,94,128,129,139,86,115,37,78,71,75,66,49,87,73,85,74,65,56,78,53,78,62,52,46,125,54,107,69,93,95,118,110,98,59,105,87,84,89,78,19,29,21,22,16,50,21,49,16,55,63,95,63,25,16,90,70,18,44,60,51 H,809888,8,200,4,16,1015675,126,2,1,2,1,4,2,2,,130,0,50,3,6,600,1,,,,,3,1,9,,,,1,2,,17,2,2,4,1,72000,4,,,1,1,72000,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,1,317,,0,1,28,2,2,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,205,128,39,148,142,33,132,223,199,183,103,107,120,117,125,50,41,40,214,110,179,139,43,124,147,45,138,235,219,221,114,134,118,113,141,31,33,38,194,129,183,147,39,110,131,44,143,226,200,214,115,126,146,122,125,38,30,39,189,115,175,115,45,152,136,38,120,186,192,218,100,148,123,121,155,41,42,41,220 H,809891,8,900,4,16,1015675,60,2,1,1,,3,2,2,,40,0,2,100,1,400,1,,1,700,1,1,1,5,,,290,1,1,,14,2,600,7,1,65000,4,,,1,1,65000,0,4,4,4,1,1,0,2,0,0,0,22,0,0,0,0,0,1,1180,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,62,62,63,19,51,78,64,96,107,17,58,18,57,59,23,53,15,108,95,48,50,69,65,96,86,19,59,15,16,118,64,95,66,66,108,58,85,18,16,63,61,53,51,115,60,16,64,20,20,128,60,129,65,61,103,63,113,12,16,63,63,62,56,16,59,111,58,75,85,16,65,20,60,53,17,64,16,101,101,81 H,810139,8,100,4,16,1015675,26,1,1,3,1,3,1,2,,50,0,1200,3,8,,1,,,,,,1,5,,,,1,4,,,3,2,5,,,,,,1,6,24000,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,9,24,26,8,41,31,32,7,29,28,42,23,27,8,42,43,25,40,27,34,27,7,6,25,23,7,43,24,46,38,26,42,7,27,25,26,6,26,43,24,47,24,25,41,7,23,24,43,27,24,8,24,23,46,7,7,24,9,30,7,23,47,44,28,23,34,9,22,9,8,26,7,44,27,27,28,44,25,8 H,810162,8,100,4,16,1015675,105,4,1,,,3,5,,,200,1200,2,200,1,,1,,,,,,1,5,2,650,,1,3,,,1,1,2,5,4000,2,1050,101,1,2,9200,0,2,2,2,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,106,118,33,34,35,117,150,106,29,102,107,33,96,180,149,147,121,105,35,104,109,110,187,189,159,115,32,96,152,115,125,131,119,33,30,35,95,101,32,109,108,121,160,178,153,111,36,109,160,116,100,166,110,34,26,29,125,112,176,93,131,97,32,34,27,125,197,115,31,108,94,28,105,152,166,195,105,98,182 H,810540,8,800,4,16,1015675,58,1,1,1,,3,2,2,,90,0,2,120,1,300,1,,,,,3,1,6,,,,1,2,,11,1,1000,7,,,,,,1,6,9600,0,4,4,4,1,6,0,,0,0,0,52,0,0,0,1,1,1,418,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,67,61,68,72,108,45,54,88,57,18,108,119,23,48,51,24,49,14,58,11,76,60,89,52,118,69,60,103,62,17,89,84,12,59,57,14,54,15,64,18,56,54,105,72,81,59,51,80,53,18,103,66,15,60,48,22,55,22,68,17,59,44,88,60,81,52,72,95,59,25,102,100,19,51,74,19,48,15,62,21 H,810935,8,200,4,16,1015675,44,2,1,1,,4,1,2,,80,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,1,700,3,4,32100,4,,,1,1,32100,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,43,71,47,83,37,39,83,38,12,78,65,14,41,33,14,50,16,47,57,39,38,15,36,14,51,42,14,49,96,14,14,75,45,51,85,57,79,45,72,37,38,13,37,16,71,53,17,44,97,13,14,74,40,44,62,42,82,43,17,43,39,84,45,68,41,43,78,37,10,88,66,12,51,48,15,36,12,55,20 H,811388,8,300,4,16,1015675,53,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,11,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,81,93,50,16,62,79,49,64,86,62,20,18,15,44,59,66,59,52,97,17,19,16,51,73,46,13,44,63,15,49,98,75,71,54,49,54,55,50,73,16,15,17,58,97,48,13,44,52,20,53,94,102,85,51,48,46,49,56,14,78,81,110,62,16,58,93,50,56,99,49,16,19,18,52,49,51,46,62,17 H,811396,8,500,4,16,1015675,113,1,1,1,,2,1,2,,40,0,2,3,3,190,1,2700,,,,3,1,3,,,,1,2,,5,1,1,4,,,,,,3,6,12670,0,4,4,4,1,1,0,,0,0,0,31,0,0,0,1,1,1,323,,0,0,12,,,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,29,35,101,120,194,126,123,112,104,179,143,133,36,35,147,192,32,108,91,200,37,41,114,114,194,111,111,123,113,177,110,126,29,34,182,126,40,114,111,38,166,201,112,111,33,104,94,126,83,35,113,127,178,160,37,36,161,122,127,42,190,217,138,99,41,125,118,97,101,35,115,113,174,176,32,36,171,110,127 H,811442,8,700,4,16,1015675,82,2,1,3,6,3,2,2,,90,0,2000,3,4,,1,,,,,,1,8,,,,1,4,,,3,2,8,5,50300,2,,,1,2,50300,0,2,2,2,1,6,1,2,0,0,1,,0,0,1,0,0,1,,,0,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,83,77,143,70,148,83,86,87,24,81,21,80,74,27,95,131,25,22,26,25,86,86,25,89,23,82,85,80,139,82,143,78,77,139,88,24,136,149,133,134,75,88,136,98,132,75,94,75,24,79,25,89,82,23,78,135,25,28,24,23,75,88,25,84,28,79,78,88,159,76,142,88,85,149,81,24,136,141,139 H,811444,8,700,4,16,1015675,92,4,1,2,1,5,2,2,,200,0,2,100,1,1800,1,,2,1500,2,1,1,9,,,300,1,1,,24,2,1000,1,1,470000,2,,,3,1,470000,0,2,2,2,1,4,2,4,0,0,2,8,0,0,1,0,0,1,3166,2,0,1,68,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,88,160,144,28,31,150,91,29,150,158,86,91,23,99,87,88,108,23,88,91,87,152,166,25,27,158,97,28,156,154,83,93,28,86,91,82,88,27,76,90,102,158,157,29,25,160,91,25,184,158,92,85,25,94,94,89,81,26,94,95,86,165,154,27,25,151,96,24,157,155,82,85,27,93,90,96,97,30,96 H,811463,8,100,4,16,1015675,95,2,1,1,,3,2,2,,50,0,2,100,1,1900,1,,1,820,1,1,1,7,,,,1,1,,19,1,450,2,4,39800,4,,,1,1,39800,0,4,4,4,1,3,0,2,0,0,0,30,0,0,0,0,0,1,1008,3,0,1,30,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,101,27,155,163,149,160,28,84,98,169,30,84,102,29,92,93,28,113,97,95,92,31,182,159,144,152,26,86,106,158,27,92,102,30,79,85,29,105,95,81,98,34,203,159,159,170,26,91,87,151,25,97,90,29,111,95,27,85,95,101,81,28,171,190,170,146,26,88,99,164,27,96,86,28,94,99,31,108,95 H,812102,8,200,4,16,1015675,81,3,1,1,,3,2,2,,100,0,2,3,6,,1,,,,,,1,5,2,200,,1,3,,,3,2,9,1,93000,4,300,4,1,1,93000,0,4,4,4,1,6,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,79,139,76,85,25,28,116,127,28,91,111,24,22,70,81,133,84,99,84,85,77,126,85,92,24,20,136,138,20,86,116,20,34,104,80,132,65,92,89,106,71,24,102,68,121,139,21,26,120,97,21,146,105,61,76,26,76,81,66,103,66,17,76,100,149,132,29,24,139,108,22,142,154,82,106,27,66,83,94 H,812116,8,100,4,16,1015675,79,4,1,2,1,5,2,2,,150,0,2,250,1,80,1,,1,830,2,1,1,9,,,,1,1,,18,2,400,4,1,45000,2,,,1,1,45000,0,2,2,2,1,5,2,4,0,0,2,35,0,0,1,0,0,1,1324,3,0,1,16,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,91,74,81,74,22,25,22,69,130,93,29,88,68,23,76,138,153,122,26,73,84,85,73,91,133,121,116,81,24,92,154,73,65,156,71,19,21,24,118,75,70,76,79,72,21,25,30,89,150,88,22,76,97,22,71,134,106,120,22,75,81,78,75,90,106,133,119,98,23,85,139,76,75,149,99,30,20,26,177 H,812879,8,400,4,16,1015675,234,1,1,1,,3,2,2,,40,0,2,80,1,400,1,,1,790,1,1,1,5,,,,1,1,,15,1,2,2,,,,,,1,6,25000,0,4,4,4,1,1,0,,0,0,0,44,0,0,0,1,1,2,910,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,289,257,277,268,221,73,78,92,191,171,246,84,372,246,81,280,292,325,269,94,298,283,223,238,228,267,264,494,219,94,425,325,204,278,236,188,119,98,68,348,367,252,332,263,178,99,84,62,207,327,171,59,264,175,64,259,324,293,380,123,273,194,224,274,201,344,332,357,225,102,304,266,292,273,335,263,81,70,74,229 H,813044,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,813341,8,500,4,16,1015675,96,2,1,3,1,0,1,2,,50,0,2,10,3,,1,,,,,,2,1,,,,1,4,,,0,2,5,5,22570,4,,,2,2,22570,0,4,4,4,2,4,0,2,0,0,0,,0,0,0,1,1,2,,,1,0,,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,165,157,26,149,48,78,96,116,128,95,98,143,32,89,109,28,36,123,120,111,74,41,107,116,114,21,88,138,205,163,27,76,83,140,42,137,65,22,116,126,202,95,23,144,32,80,105,126,71,84,117,165,35,110,107,19,35,81,116,111,116,32,103,90,99,32,116,146,145,161,43,95,123,171,36,118,87,20,78,138 H,814064,8,400,4,16,1015675,121,3,1,2,4,3,2,2,,70,1300,1100,3,8,600,1,,1,620,1,1,1,5,,,,1,1,,12,2,590,7,1,55300,4,,,1,1,55300,0,4,4,4,1,4,0,3,0,0,0,18,0,0,0,0,0,2,831,3,0,1,2,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,40,135,112,78,118,34,82,106,258,138,48,58,282,165,34,160,158,107,115,147,195,96,84,145,180,288,134,119,51,30,149,193,33,118,212,43,43,113,123,161,37,142,149,147,118,35,111,114,247,218,49,35,159,100,39,211,224,135,107,108,276,132,128,124,92,126,113,109,34,36,171,151,49,137,165,36,38,163,169,99 H,814181,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,814501,8,900,4,16,1015675,118,2,1,3,6,3,2,2,,180,0,150,3,4,2000,1,,,,,3,1,8,,,,1,2,,22,2,2,9,4,19500,4,,,1,1,19500,0,4,4,4,1,7,0,2,0,0,0,28,0,0,0,2,2,1,460,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,40,207,109,30,38,39,119,189,33,119,125,109,122,218,278,119,130,120,101,211,33,219,122,36,32,37,129,164,43,137,105,114,108,207,216,124,106,107,137,34,201,46,105,174,197,191,86,40,197,110,121,117,120,37,27,131,108,118,101,42,230,31,128,215,232,189,115,36,168,112,118,158,114,42,39,100,134,118,110 H,814692,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,814844,8,800,4,16,1015675,112,2,1,1,,3,1,2,,70,0,2,3,3,450,1,160,,,,3,1,6,,,,2,2,,4,3,2,4,1,36000,4,,,1,1,36000,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,171,,0,0,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,177,99,104,178,110,163,37,33,126,98,86,164,107,29,104,33,27,186,109,118,33,159,131,35,151,41,198,202,99,92,142,30,102,179,124,189,251,44,104,124,27,115,113,40,116,28,236,181,111,104,104,33,101,183,107,190,162,31,141,119,170,104,133,194,119,212,30,33,134,110,114,223,108,34,110,36,35,177,98 H,814987,8,100,4,16,1015675,44,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,80,50,12,50,44,14,75,47,41,14,47,42,78,50,42,13,85,83,49,14,45,70,47,13,12,47,48,13,66,49,78,70,50,81,14,50,43,44,67,49,14,52,89,48,49,72,14,47,45,79,47,40,13,47,42,74,16,15,42,74,45,14,43,76,79,46,48,75,12,52,13,12,44,12,67,45,45,47,11 H,815118,8,200,4,16,1015675,16,0,1,1,,3,2,1,,,,,,,,1,,,,,,1,5,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,14,14,26,29,26,13,5,20,26,16,17,24,16,5,4,3,18,24,18,11,14,18,4,5,5,13,23,20,4,14,20,4,13,29,27,23,14,3,17,14,14,13,27,27,27,15,4,18,27,16,19,23,14,5,5,5,16,24,15,15,15,15,5,5,4,12,27,17,3,13,19,5,12,25,26,25,16,3 H,815280,8,500,4,16,1015675,172,3,1,1,,3,2,2,,40,0,2,20,1,700,1,,1,800,1,1,1,5,,,,1,1,,14,2,450,3,1,49000,2,,,1,1,49000,0,2,2,2,1,2,1,3,0,0,1,22,0,0,1,0,0,1,898,3,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,43,310,192,222,277,172,164,284,184,168,193,333,49,50,46,50,260,172,150,205,291,48,202,185,63,152,130,60,224,178,169,56,241,256,265,264,55,153,164,157,50,261,155,191,265,155,164,318,187,182,192,338,57,54,53,50,258,161,159,207,318,67,164,159,54,187,182,42,168,169,173,60,266,311,296,297,43,183,178 H,815528,8,900,4,16,1015675,97,4,1,3,1,3,1,2,,150,0,300,3,6,650,1,1300,1,1400,1,1,1,5,,,1400,1,1,,15,3,2,4,3,85200,2,,,1,1,85200,0,2,2,2,1,5,2,4,0,0,2,43,0,0,1,0,0,1,3083,4,0,0,24,2,4,7,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,100,36,177,87,25,21,100,127,92,101,118,206,89,24,185,98,124,85,25,26,129,205,30,111,160,178,128,107,78,74,89,28,101,154,42,88,25,95,113,146,88,31,170,95,38,37,109,109,112,82,107,152,96,30,128,102,157,71,27,31,99,196,27,82,138,159,93,76,84,76,82,22,107,192,30,110,28,142,172,141 H,815604,8,100,4,16,1015675,99,4,1,1,,4,2,2,,120,0,2,90,1,750,1,,2,2000,2,1,1,8,,,500,1,1,,22,3,320,2,2,140600,3,,,1,1,140600,0,1,1,1,1,1,2,4,0,0,2,27,0,0,1,0,0,1,3217,2,0,1,62,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,122,34,159,27,98,177,171,188,116,32,162,95,104,82,95,33,25,90,99,103,94,28,172,31,95,164,164,181,102,26,202,88,90,119,78,30,29,95,108,87,96,26,175,33,92,153,159,170,91,31,139,109,114,85,94,34,27,105,111,93,117,32,163,29,87,164,146,176,113,34,202,94,116,117,99,28,31,112,95,114 H,815754,8,100,4,16,1015675,72,2,1,1,,2,2,2,,70,0,2,4,1,,1,,,,,,1,8,2,750,,1,3,,,2,500,5,1,302140,4,866,3,1,1,302140,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,19,18,20,79,132,69,29,72,79,22,94,116,152,134,75,79,71,80,23,69,108,112,108,67,21,68,108,78,72,127,72,22,23,21,74,70,68,75,26,71,114,115,130,82,22,60,118,81,68,119,65,20,22,18,83,60,64,75,129,74,22,23,20,78,125,70,23,69,93,21,78,133,129,121,72,71,68,76,127 H,816122,8,500,4,16,1015675,27,1,1,1,,4,2,2,,60,0,2,4,1,560,1,,,,,3,1,8,,,,1,2,,13,2,70,9,,,,,,1,6,13000,0,4,4,4,1,4,0,,0,0,0,17,0,0,0,1,1,1,179,,0,1,16,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,29,25,8,30,8,9,42,39,30,30,27,28,9,48,27,28,26,7,51,46,21,25,8,23,8,10,49,56,26,27,31,25,8,42,28,27,24,10,48,39,27,29,10,26,8,8,53,52,30,26,29,23,8,37,24,24,27,8,45,49,27,28,8,27,10,7,48,39,27,25,28,30,6,50,29,28,30,8,51 H,816424,8,300,4,16,1015675,104,2,1,2,1,2,2,2,,200,0,2,110,1,520,1,,1,2200,1,1,1,6,,,,1,1,,21,2,500,2,1,270600,4,,,1,1,270600,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,0,0,1,2552,3,0,1,59,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,37,130,155,131,29,111,96,29,103,160,187,183,107,118,89,94,108,36,35,169,178,135,33,102,171,101,106,149,109,26,30,38,94,94,112,124,83,167,168,30,38,116,210,106,31,95,95,31,87,178,159,186,125,90,116,110,104,28,28,158,177,118,33,114,147,96,111,192,153,30,31,31,101,97,123,108,88,156,184 H,816752,8,100,4,16,1015675,98,2,1,3,1,1,2,2,,60,0,2,20,2,700,1,,2,1200,2,1,1,6,,,,1,1,,19,2,2,6,4,63700,4,,,1,1,63700,0,4,4,4,1,6,0,2,0,0,0,28,0,0,0,2,2,1,1480,3,0,0,29,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,34,157,130,91,221,120,85,30,86,30,100,28,120,91,135,99,100,200,182,78,119,121,124,156,80,25,169,144,132,73,25,97,31,175,117,37,36,93,124,200,157,35,25,103,34,123,88,155,92,133,109,127,55,122,31,154,113,34,29,113,67,84,98,26,114,162,34,102,34,135,132,103,178,33,94,161,162,98,78 H,816955,8,600,4,16,1015675,85,3,1,1,,4,2,2,,60,0,600,30,1,430,1,,1,710,1,1,1,9,,,100,1,1,,16,2,800,7,1,69000,2,,,1,1,69000,0,2,2,2,1,4,1,3,0,0,1,18,0,0,1,0,0,1,1017,2,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,84,88,88,82,25,23,160,27,85,87,137,139,152,90,92,23,147,83,163,88,25,25,145,155,79,91,84,88,24,158,90,80,84,24,141,93,94,25,25,85,138,142,24,30,91,79,89,81,143,24,96,83,93,148,24,90,83,169,85,142,77,89,90,92,162,135,23,153,88,87,27,26,26,98,85,130,23,92,87 H,816994,8,900,4,16,1015675,56,3,1,1,,3,2,2,,40,0,2,30,1,500,1,,1,830,1,1,1,7,,,,1,1,,16,4,720,4,1,62501,4,,,1,1,62501,0,4,4,4,1,1,0,3,0,0,0,18,0,0,0,0,0,1,960,3,0,1,30,3,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,17,93,16,60,65,58,49,59,65,86,15,63,57,17,17,53,93,87,52,53,59,58,52,104,19,18,18,16,86,52,59,18,97,57,52,92,57,53,92,103,17,89,18,53,57,55,51,60,66,100,16,58,47,15,22,65,87,87,47,46,52,59,56,83,17,17,18,16,97,58,58,20,115,57,52,94,52,53,78,95 H,817169,8,200,4,16,1015675,88,2,1,,,2,5,,,130,0,2,1,3,,1,,,,,,1,4,2,480,,1,3,,,0,1,4,,,,610,33,1,5,22200,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,97,198,93,23,79,31,21,126,70,154,88,90,159,98,136,22,28,123,102,91,90,27,86,156,101,136,151,27,73,35,113,85,24,67,25,163,144,114,94,103,76,45,112,164,86,140,122,22,62,22,119,128,26,78,30,133,121,94,76,84,103,167,120,33,85,25,22,144,99,107,128,101,101,102,158,32,30,90,106 H,817281,8,300,4,16,1015675,66,4,1,1,,4,2,2,,100,0,290,3,6,,1,,,,,,1,7,2,370,,1,3,,,2,2,8,7,26960,2,494,22,1,3,26960,0,2,2,2,1,5,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,90,81,53,137,62,47,20,19,115,108,20,49,94,21,19,58,63,111,86,70,51,52,68,19,58,56,81,111,23,23,130,93,20,95,126,89,54,16,56,57,61,60,61,92,49,53,20,20,105,122,33,82,108,17,22,68,70,111,58,69,64,86,72,17,67,66,91,98,19,19,101,69,23,119,113,66,56,19,45 H,817336,8,800,4,16,1015675,84,4,1,1,,3,2,2,,80,2100,2,3,3,240,1,,1,570,1,1,1,6,,,,1,1,,13,2,730,4,2,12800,1,,,1,1,12800,0,1,1,1,1,1,2,4,0,0,2,67,0,0,1,0,0,1,711,3,0,1,11,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,80,23,28,23,73,113,74,102,113,128,152,159,85,31,59,118,71,69,155,28,68,120,134,132,141,73,97,99,97,30,17,40,71,99,94,25,111,107,176,32,99,104,172,135,67,74,67,70,137,26,25,33,94,135,93,36,76,71,21,124,87,24,24,23,116,67,69,105,70,132,131,138,88,26,121,125,94,87,24 H,817337,8,200,4,16,1015675,65,4,1,1,,3,1,2,,220,0,2,3,3,40,1,2700,2,350,2,1,1,5,,,,1,1,,7,2,1,3,1,56900,1,,,1,1,56900,0,1,1,1,1,2,2,4,0,0,2,17,0,0,1,0,0,1,827,3,0,0,9,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,81,133,53,72,66,16,22,84,19,91,23,101,74,130,103,56,79,73,56,62,114,54,25,105,111,89,52,17,74,49,65,61,22,80,62,98,120,24,19,66,22,84,122,21,16,64,54,88,78,72,78,50,80,71,82,25,19,113,94,101,70,17,78,77,68,138,115,70,113,19,76,19,101,27,16,45,69,58,64,21 H,817340,8,400,4,16,1015675,78,4,1,1,,2,1,2,,100,0,40,3,3,0,1,140,,,,3,1,5,,,,1,2,,2,2,1,4,3,49700,2,,,1,1,49700,0,2,2,2,1,6,2,4,0,0,2,4,0,0,1,1,1,2,148,,0,0,10,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,65,106,70,70,110,76,24,132,156,20,71,88,25,67,22,94,80,82,32,134,75,144,91,79,115,83,29,110,140,22,81,87,26,73,20,101,87,73,31,98,88,140,62,71,130,61,23,100,163,18,77,79,26,71,29,81,72,74,29,142,85,148,73,69,119,66,23,131,129,29,88,90,25,72,31,92,78,70,31 H,817981,8,100,4,16,1015675,105,1,1,1,,2,2,2,,150,0,2,3,3,320,1,,,,,3,1,4,,,,1,2,,17,1,600,2,,,,,,1,6,77500,0,4,4,4,1,3,0,,0,0,0,4,0,0,0,1,0,1,260,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,117,149,28,101,157,174,110,110,92,117,107,33,102,144,33,105,27,115,228,36,109,31,175,95,36,24,91,107,110,119,118,199,99,36,156,93,180,97,31,151,87,205,26,128,194,213,101,99,107,112,115,34,90,187,25,102,28,106,175,32,118,28,196,114,25,31,109,105,107,114,94,160,100,31,189,114,188,98,39 H,818473,8,900,4,16,1015675,164,6,1,1,,5,2,2,,50,0,2,90,1,300,1,,1,600,1,1,1,9,,,150,1,1,,15,3,50,3,1,69500,2,,,1,1,69500,0,2,2,2,1,5,3,6,0,0,3,15,0,0,1,0,0,1,894,2,0,1,23,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,163,162,132,347,293,248,165,47,202,249,159,196,284,162,47,53,60,161,212,154,138,175,230,66,43,57,202,273,188,46,144,152,45,130,340,253,231,210,43,173,169,183,168,267,246,339,178,43,161,270,145,132,253,252,42,36,53,149,376,130,163,179,191,58,52,42,152,324,189,47,165,138,59,178,328,323,245,157,53 H,818502,8,400,4,16,1015675,88,2,1,2,1,3,2,2,,100,0,500,3,6,400,1,,2,570,2,1,1,7,,,,1,1,,18,5,560,8,1,60100,4,,,1,1,60100,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,917,3,0,1,27,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,152,81,101,100,70,68,26,24,26,97,175,87,27,102,83,25,89,141,158,169,160,93,111,90,80,83,28,28,35,89,130,82,24,86,90,23,88,147,151,146,170,96,87,84,78,89,36,28,29,133,145,63,23,84,93,27,79,141,176,203,199,88,91,87,69,72,25,32,31,76,136,80,25,92,89,31,70,119,127 H,818548,8,900,4,16,1015675,98,1,1,1,,4,2,2,,30,0,640,4,1,300,1,,,,,3,1,7,,,,1,2,,14,1,490,7,,,,,,1,6,78600,0,4,4,4,1,7,0,,0,0,0,4,0,0,0,1,1,1,257,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,214,28,102,30,26,114,32,165,101,91,116,176,74,23,94,134,171,107,93,79,166,26,81,31,33,92,27,176,109,105,89,170,104,28,101,167,171,112,101,94,32,183,92,165,156,107,194,25,99,109,85,27,98,163,106,29,31,99,92,78,29,124,80,184,157,99,161,32,96,96,116,28,96,162,100,33,30,118,97 H,818625,8,800,4,16,1015675,78,3,1,1,,3,2,2,,180,0,2,3,3,140,1,,2,630,2,1,1,5,,,,1,1,,9,3,60,9,2,55900,2,,,2,1,55900,0,2,2,2,1,7,1,3,0,0,1,18,0,0,1,1,1,2,860,3,0,1,9,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,75,68,25,115,139,22,27,115,76,63,131,90,117,71,82,98,24,80,27,129,93,84,34,75,134,25,21,128,88,99,101,60,125,75,97,79,18,61,22,143,67,77,29,71,141,32,28,119,90,90,113,112,112,56,71,73,21,61,24,123,88,94,22,79,121,20,30,154,51,73,111,76,154,86,85,80,24,89,28,142 H,818643,8,200,4,16,1015675,21,2,1,1,,3,1,2,,110,0,2,3,3,250,1,1700,2,220,2,1,1,5,,,,1,1,,3,2,1,3,8,23900,4,,,1,3,23900,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,1,1,2,525,3,0,0,9,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,5,26,22,22,15,17,36,25,34,23,7,23,40,22,22,32,19,7,7,6,5,23,20,22,18,19,35,34,34,24,7,23,37,15,23,46,18,40,31,34,32,21,21,21,18,17,5,6,5,23,38,19,7,22,24,6,16,37,32,33,41,26,23,21,18,22,5,7,5,25,43,17,6,21,27,7,22,6 H,818869,8,200,4,16,1015675,24,4,1,3,1,3,2,2,,150,0,2,50,2,570,1,,1,1100,1,1,1,9,,,,1,1,,16,3,2,4,1,70400,1,,,1,1,70400,0,1,1,1,1,4,2,4,0,0,2,22,0,0,1,0,0,2,1300,3,0,0,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,43,17,30,47,23,35,7,7,31,33,23,48,24,6,22,7,7,34,23,20,34,23,27,36,29,40,7,7,23,32,27,39,25,5,30,9,10,52,18,27,6,27,23,7,30,6,33,40,26,32,21,5,22,52,23,48,45,6,26,34,7,19,22,7,24,9,46,45,27,28,22,7,27,42,20,43,50,10,25 H,818936,8,100,4,16,1015675,163,2,1,1,,2,2,2,,50,0,2,4,1,480,1,,1,240,1,1,1,4,,,,1,1,,14,2,580,9,4,27400,4,,,1,1,27400,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,2,342,3,0,1,15,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,67,187,186,57,169,246,57,53,262,150,152,243,155,252,168,170,153,41,54,166,387,173,175,259,154,59,235,249,54,182,130,37,172,55,184,141,135,187,51,131,274,158,172,275,157,57,294,278,61,149,144,60,145,45,155,168,151,206,184,165,50,163,214,68,188,264,59,55,216,153,151,253,212,300,146,145,171,46,221 H,819138,8,100,4,16,1015675,54,1,1,1,,3,2,2,,30,0,500,100,4,380,1,,,,,3,1,5,,,,1,2,,14,0,30,7,,,,,,1,6,30000,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,1,1,235,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,97,99,15,57,89,15,15,61,50,98,52,69,71,51,90,57,63,16,58,16,98,114,16,48,97,13,15,53,54,92,56,52,54,58,103,58,60,19,54,110,17,15,88,54,17,93,101,50,55,20,59,49,52,57,15,51,45,88,51,106,18,16,86,47,16,110,117,60,63,20,61,55,47,60,15,53,55,83,53 H,819139,8,100,4,16,1015675,86,2,1,2,1,4,2,2,,120,0,2,3,6,750,1,,1,1200,1,1,1,8,,,380,1,1,,19,1,20,5,2,100000,4,,,1,1,100000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,2,1702,2,0,1,18,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,93,26,25,20,84,152,68,30,83,71,20,85,151,159,120,77,76,62,92,150,92,26,23,25,86,163,109,25,86,94,25,79,141,134,137,90,78,87,105,181,74,22,23,24,84,142,83,22,67,70,22,106,156,111,159,84,107,98,75,135,82,30,25,27,97,148,100,26,73,90,32,77,132,122,154,81,68,105,84,165 H,820289,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,820395,8,700,4,16,1015675,78,6,1,1,,5,2,2,,100,0,2,250,1,700,1,,1,2400,1,1,1,9,,,150,1,1,,20,2,600,1,1,108000,3,,,1,1,108000,0,3,3,3,1,1,4,6,0,0,4,33,0,0,1,0,0,2,2950,1,0,1,48,2,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,131,80,25,23,77,80,78,72,79,127,74,21,136,75,134,78,23,83,23,20,25,80,122,141,82,84,81,74,89,25,80,131,23,81,22,76,139,80,129,143,142,79,20,22,76,76,71,75,84,142,74,22,130,78,126,74,24,81,25,20,22,68,142,122,88,86,80,81,82,23,76,140,22,77,24,77,148,72,137,120 H,821117,8,400,4,16,1015675,86,3,1,1,,3,2,2,,200,0,400,3,8,,1,,,,,,1,5,2,1600,,1,3,,,2,360,2,2,87000,2,1863,26,1,1,87000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,84,142,158,131,71,29,70,130,87,147,106,80,25,23,25,69,86,91,23,96,130,200,242,124,81,28,103,144,122,137,120,86,38,25,30,62,71,108,35,86,81,121,122,175,110,23,70,179,91,77,140,88,30,34,28,95,94,82,33,86,77,134,104,122,96,22,71,165,78,67,197,98,32,35,21,93,92,85,17 H,821243,8,700,4,16,1015675,26,2,1,1,,3,2,2,,50,0,2,130,1,550,1,,2,1200,1,1,1,5,,,290,1,1,,16,2,600,3,1,166000,4,,,1,1,166000,0,4,4,4,1,4,0,2,0,0,0,13,0,0,0,1,0,1,1766,1,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,41,6,21,23,40,27,25,9,27,27,45,7,8,30,7,26,42,23,26,43,23,24,42,9,24,7,7,25,9,45,25,26,27,43,25,7,25,50,8,27,8,40,24,26,8,25,23,40,24,24,7,48,43,25,43,27,7,25,26,7,26,26,7,42,25,45,43,23,47,7,25,26,24,7,25,42,26,7,46 H,821696,8,500,4,16,1015675,182,5,1,1,,4,2,2,,130,0,300,3,3,,1,,,,,,1,9,2,700,,1,3,,,3,60,5,2,37200,3,860,28,1,1,37200,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,53,163,303,182,180,302,54,184,166,329,174,203,60,170,189,277,57,50,156,160,190,54,209,371,360,229,178,296,65,216,55,63,195,51,272,164,159,201,292,59,263,169,51,148,185,57,258,188,193,61,170,179,325,198,186,58,308,292,172,187,227,331,213,51,46,184,204,57,297,180,334,313,189,311,55,160,192,175,59,264 H,821740,8,100,4,16,1015675,66,3,1,1,,3,2,2,,1,0,2,1,1,350,1,,1,1900,2,1,1,8,,,,1,1,,21,3,1,2,1,270500,4,,,1,1,270500,0,4,4,4,1,3,0,3,0,0,0,10,0,0,0,0,0,2,2192,3,0,1,47,3,5,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,106,64,78,62,20,62,19,56,69,16,56,100,17,19,119,77,65,108,23,64,21,69,67,57,123,64,108,64,70,130,65,21,108,113,16,64,71,17,21,81,21,64,61,75,118,63,115,55,73,119,54,17,118,123,19,62,69,22,82,63,109,74,59,75,24,64,19,61,71,21,62,108,19,19,94,58,63,105,102 H,822019,8,500,4,16,1015675,28,2,1,1,,4,2,2,,70,0,2,110,1,450,1,,2,250,2,1,1,7,,,500,1,1,,14,2,600,7,2,70300,4,,,1,1,70300,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,0,0,2,1118,2,0,1,24,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,28,28,27,43,8,24,23,39,33,51,45,10,8,28,31,26,33,48,44,46,26,31,30,8,37,28,28,9,26,8,10,37,48,29,24,29,25,8,8,7,27,28,29,54,7,27,30,53,27,45,48,8,7,24,27,27,28,55,47,53,29,30,24,6,44,25,26,8,26,7,6,53,46,30,32,26,30,8,7 H,822025,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,822120,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,822123,8,100,4,16,1015675,119,2,1,3,1,3,2,2,,90,0,2,3,6,400,1,,,,,3,1,4,,,,1,2,,19,3,2,5,,,,,,1,7,133300,0,4,4,4,1,5,0,,0,1,0,2,3,0,0,2,2,2,265,,0,0,29,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,163,120,122,201,166,207,105,28,118,212,140,104,181,125,37,30,31,130,42,119,112,103,133,211,253,147,106,38,134,248,109,119,153,151,38,32,35,81,148,114,147,166,86,38,34,36,119,193,121,36,160,119,28,102,178,194,146,133,192,101,131,103,136,32,31,42,142,229,110,54,122,91,45,113,193,239,177,113,46 H,822183,8,800,4,16,1015675,49,3,1,2,1,3,2,2,,90,0,2,80,1,280,1,,2,850,2,1,1,6,,,,1,1,,14,4,490,6,1,76950,2,,,1,1,76950,0,2,2,2,1,5,1,3,0,0,1,18,0,0,1,0,0,1,1182,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,104,34,49,61,34,46,26,11,14,57,63,50,25,36,54,15,57,82,21,17,15,38,45,32,44,63,97,71,81,76,17,52,74,45,47,77,51,10,21,10,13,37,49,58,32,47,127,53,56,71,12,61,140,43,51,66,52,16,81,107,91,36,40,48,60,51,15,19,18,58,80,41,15,44,54,13,48,118,122 H,822232,8,100,4,16,1015675,124,2,1,,,2,5,,,70,0,2,3,3,,1,,,,,,1,3,2,750,,1,3,,,2,540,2,4,32700,4,865,32,1,1,32700,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,235,36,122,107,131,119,130,120,253,33,118,129,39,32,118,216,242,120,139,110,141,121,35,221,215,205,187,43,129,100,226,33,104,119,38,129,131,37,41,217,37,221,107,128,123,111,135,112,34,208,124,130,252,237,126,39,35,123,110,131,126,133,180,34,36,37,39,243,133,154,39,193,102,108,225,109,108,205,199 H,822387,8,900,4,16,1015675,143,5,1,2,2,5,2,2,,90,0,2,130,2,600,1,,1,1100,1,1,1,9,,,130,1,1,,19,2,2,2,1,47000,3,,,1,1,47000,0,3,3,3,1,4,3,5,0,0,3,37,0,0,1,0,0,1,1450,2,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,199,43,44,262,171,47,209,237,175,120,42,167,152,120,169,48,137,178,125,273,231,42,52,206,153,58,177,187,126,125,59,229,151,116,139,49,120,132,147,39,41,247,212,36,108,225,45,37,171,223,259,127,113,171,175,166,130,155,211,54,56,179,180,50,153,237,45,54,133,160,290,141,112,166,179,179,118,140,112 H,822443,8,900,4,16,1015675,109,3,1,2,1,4,2,1,,90,0,1700,4,1,560,1,,2,280,2,1,1,7,,,,1,1,,15,2,2,9,7,65900,4,,,1,3,65900,0,4,4,4,1,5,0,3,0,0,0,13,0,1,0,2,2,1,696,3,0,0,28,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,30,30,122,26,110,104,206,103,172,120,138,101,135,29,113,111,31,183,196,101,123,122,186,107,32,188,135,171,128,39,107,31,201,95,33,33,97,93,106,179,34,36,100,29,105,104,162,135,163,113,179,129,120,30,96,103,36,175,229,116,118,104,210,95,41,191,107,175,105,25,93,32,180,113,35,40,129,93,122 H,822740,8,800,4,16,1015675,110,4,1,1,,5,2,2,,160,0,2,3,3,350,1,,1,850,1,1,1,9,,,180,1,1,,18,2,480,6,1,97000,2,,,1,1,97000,0,2,2,2,1,4,2,4,0,0,2,15,0,0,1,0,0,1,1230,2,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,34,160,103,123,122,39,178,103,116,30,110,32,36,178,208,115,108,111,91,156,32,192,115,117,107,43,218,123,88,28,99,36,42,170,172,102,91,147,96,188,30,197,114,102,109,33,167,108,94,31,119,26,36,224,181,99,112,118,98,198,30,185,138,97,125,35,204,101,105,37,134,29,26,175,184,123,131,113,134,192 H,823049,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,823279,8,900,4,16,1015675,94,4,1,1,,4,2,2,,150,0,2,150,1,300,1,,1,850,1,1,1,9,,,,1,1,,15,3,1500,5,1,97000,2,,,1,1,97000,0,2,2,2,1,5,1,4,0,0,1,16,0,0,1,0,0,1,1275,3,0,1,28,3,2,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,159,97,182,112,23,94,32,157,89,28,28,100,89,92,80,98,189,100,25,171,24,95,29,86,150,116,184,27,99,140,179,89,109,98,78,96,25,106,25,165,25,109,26,91,172,84,172,30,106,169,167,93,113,89,79,85,26,100,162,29,154,122,161,95,26,87,32,176,121,27,30,94,108,89,88,91,144,87,173 H,823883,8,600,4,16,1015675,105,5,1,1,,4,2,2,,90,0,2,120,1,350,1,,1,860,1,1,1,6,,,,1,1,,16,3,960,2,1,78000,2,,,3,1,78000,0,2,2,2,1,4,2,5,0,0,2,18,0,0,1,0,0,2,1150,3,0,1,24,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,117,106,111,111,161,116,111,30,33,190,166,32,107,162,33,31,97,106,176,97,102,107,106,104,32,104,105,198,183,33,28,183,112,30,185,197,98,105,32,103,106,108,115,104,31,104,103,183,189,31,29,191,105,27,166,181,106,111,35,108,105,99,99,102,171,112,109,29,35,185,183,32,113,183,32,28,101,110,170,105 H,824083,8,200,4,16,1015675,14,3,1,1,,2,1,2,,130,0,550,3,4,470,1,400,2,200,2,1,1,4,,,,1,1,,7,3,960,3,3,28740,4,,,1,1,28740,0,4,4,4,1,5,0,3,0,0,0,27,0,0,0,1,1,2,636,3,0,0,25,2,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,14,17,18,15,13,29,19,33,11,3,13,19,17,13,34,19,29,26,24,24,13,15,11,14,14,4,3,3,12,16,15,7,13,13,4,16,4,3,4,4,21,15,11,15,12,30,27,26,12,5,14,24,14,12,35,16,25,25,21,23,14,17,16,16,14,3,5,5,15,19,14,5,16,15,3,11,6 H,824233,8,800,4,16,1015675,27,2,1,1,,3,2,2,,30,0,2,100,1,580,1,,2,720,1,1,1,5,,,,1,1,,15,2,650,3,1,98500,4,,,1,1,98500,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,1,0,1,952,3,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,27,45,44,29,44,37,23,28,22,23,49,29,43,26,41,41,39,43,29,27,34,7,8,35,9,9,35,25,31,29,9,27,8,26,9,8,9,9,28,32,29,44,50,22,45,45,28,31,36,24,49,27,54,29,46,44,40,45,27,22,25,8,7,27,7,8,23,24,26,23,9,28,7,25,7,7,10,9,28 H,824249,8,200,4,16,1015675,24,4,1,1,,3,1,2,,80,0,2,3,3,390,1,0,2,800,2,1,1,5,,,,1,1,,13,2,1600,3,1,112000,2,,,1,1,112000,0,2,2,2,1,5,2,4,0,0,2,12,0,0,1,0,0,2,1154,3,0,0,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,7,25,42,28,25,21,40,22,39,5,32,7,22,22,20,9,9,64,25,7,28,57,15,36,39,3,24,10,31,34,8,25,7,42,39,17,24,23,5,23,40,26,8,19,32,25,5,23,8,45,26,46,24,17,28,35,53,8,24,44,22,5,24,9,5,40,23,37,26,22,65,24,33,9,7,25,27,24,31 H,824349,8,200,4,16,1015675,26,1,1,3,6,2,1,2,,110,0,1000,3,4,130,1,700,,,,3,1,5,,,,1,2,,9,2,780,5,,,,,,1,4,58800,0,4,4,4,1,6,0,,0,0,0,8,0,0,0,1,1,1,402,,0,0,20,,,,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,21,35,32,28,39,26,8,6,8,30,32,22,24,23,59,46,51,38,7,9,22,38,23,27,42,20,7,8,10,30,28,23,16,26,49,42,38,26,41,45,18,7,24,21,7,29,48,40,54,31,26,24,22,26,7,7,8,36,40,33,24,6,21,27,7,27,58,49,45,33,27,24,17,22,11,7,8,32,6 H,824470,8,700,4,16,1015675,104,5,1,1,,4,2,2,,60,0,2,50,1,,1,,,,,,1,9,2,930,,1,3,,,1,80,3,3,10000,2,1047,101,1,1,10000,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,6,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,162,26,90,31,112,122,36,109,27,181,154,109,92,98,32,101,186,115,110,30,33,193,100,170,99,129,191,101,190,29,32,106,95,100,181,118,33,97,102,177,166,32,104,34,107,112,39,109,34,167,169,100,101,98,29,99,176,116,111,29,30,191,109,170,106,104,178,114,179,33,32,96,99,96,167,105,31,110,109 H,825495,8,100,4,16,1015675,121,0,1,2,,1,2,2,,,,,,,,2,,,,,,2,3,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,121,38,102,33,194,102,38,35,109,109,149,131,122,190,117,39,235,125,208,236,128,39,105,32,191,129,29,33,124,110,145,126,127,166,138,34,170,126,177,32,114,191,128,176,42,127,223,225,139,117,129,119,118,34,131,176,32,118,37,36,112,212,120,192,36,105,216,195,114,126,142,126,110,34,118,199,39,116,36,242 H,825795,8,700,4,16,1015675,80,2,1,1,,5,2,2,,1,0,2,1,3,,1,,,,,,1,7,,,,1,4,,,2,2,1,2,30000,4,,,1,1,30000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,132,80,75,137,89,70,139,136,131,136,83,147,75,133,84,78,88,75,143,24,25,82,79,25,79,88,26,24,24,25,79,19,74,25,78,72,88,79,24,22,22,84,86,22,91,76,20,20,24,25,81,23,85,25,83,92,77,73,23,134,147,81,83,152,80,72,132,125,122,131,79,131,78,142,89,77,88,82,129,131 H,825808,8,600,4,16,1015675,234,3,1,1,,4,2,2,,110,0,2,90,1,430,1,,1,740,1,1,1,7,,,530,1,1,,18,5,370,7,7,58820,4,,,1,3,73820,0,4,4,4,1,6,0,2,0,1,0,24,3,0,0,0,0,2,1501,2,0,1,30,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,383,74,230,376,419,225,216,249,236,246,67,234,385,68,247,67,218,381,225,72,392,72,227,373,431,227,248,228,241,241,73,240,382,65,235,64,241,415,235,401,67,406,230,65,75,236,231,232,238,233,392,263,63,400,250,385,252,71,257,395,63,391,232,65,74,246,220,233,219,220,433,248,73,377,238,376,213,67,228,72 H,825915,8,500,4,16,1015675,69,5,1,1,,5,2,2,,40,0,2,40,1,960,1,,1,1300,1,1,1,7,,,,1,1,,16,5,90,2,3,46700,2,,,3,1,46700,1,2,2,2,1,1,1,5,0,0,1,36,0,1,1,2,2,1,1388,3,0,1,25,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,78,19,83,65,20,73,106,106,134,65,71,65,72,81,18,18,22,57,115,25,85,138,74,73,113,81,23,21,18,58,65,60,82,71,94,105,114,68,18,21,83,130,67,81,113,75,22,21,15,61,62,68,71,68,107,108,102,66,19,100,69,21,80,74,20,71,112,142,116,74,69,77,72,71,20,20,20,68,107,129 H,826794,8,200,4,16,1015675,237,3,1,1,,2,2,2,,80,0,2,10,1,,1,,,,,,1,6,2,650,,1,3,,,3,1,8,3,51100,4,740,17,1,1,51100,0,4,4,4,1,2,0,3,0,0,0,,0,0,0,0,0,2,,,1,0,,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,353,387,305,407,90,252,267,205,68,204,392,223,80,73,212,245,60,333,214,314,83,95,259,66,324,228,290,280,393,228,86,228,280,365,233,220,363,74,214,265,352,366,221,384,101,274,283,174,68,230,385,259,100,72,201,267,59,327,189,325,90,93,224,89,360,237,276,257,349,221,67,240,338,310,200,246,370,80,237 H,826902,8,100,4,16,1015675,43,3,1,1,,4,2,2,,70,0,2,100,1,500,1,,1,800,1,1,1,7,,,130,1,1,,15,3,160,3,1,36000,1,,,1,1,36000,0,1,1,1,1,1,1,3,0,0,1,37,0,0,1,0,0,1,1113,1,0,1,11,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,56,45,78,37,53,81,39,14,71,63,10,38,34,13,52,10,39,39,45,14,68,52,71,40,45,72,47,13,91,70,10,45,48,13,46,11,48,39,39,10,74,49,89,47,45,79,43,12,79,77,12,53,45,12,37,10,46,42,38,11,71,50,72,43,36,85,46,14,78,63,12,42,34,12,43,12,41,46,40,15 H,826977,8,900,4,16,1015675,63,2,1,2,1,4,2,2,,160,0,2,3,3,300,1,,,,,3,1,9,,,,1,2,,18,3,2,3,2,85000,4,,,2,1,85000,0,4,4,4,1,5,0,2,0,0,0,3,0,0,0,1,0,2,210,,0,1,8,1,7,3,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,50,16,61,113,107,96,48,51,71,63,64,16,15,20,81,124,65,24,61,18,81,129,75,13,22,28,68,67,62,66,64,121,101,85,56,22,74,93,74,125,69,18,68,95,88,120,54,72,95,52,52,19,15,24,83,105,67,23,76,21,62,118,65,16,21,20,72,57,68,56,60,120,94,123,60,16,50,94,78,83 H,827769,8,300,4,16,1015675,74,1,1,1,,2,2,2,,50,0,1100,3,4,1100,1,,,,,3,1,4,,,,1,2,,10,1,2,8,,,,,,1,6,11330,0,4,4,4,1,7,0,,0,0,0,26,0,0,0,1,1,1,241,,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,91,100,56,77,176,158,23,18,36,59,47,57,63,127,121,88,123,79,112,156,67,19,66,90,33,87,120,110,206,68,44,61,64,73,16,33,24,80,79,139,67,24,99,70,26,82,99,129,85,68,92,74,100,96,17,23,30,72,13,29,65,123,86,65,121,77,28,18,18,84,63,80,101,67,102,157,99,68,19 H,827964,8,300,4,16,1015675,103,1,1,1,,2,2,2,,180,0,2,3,3,310,1,,2,1100,2,1,1,5,,,,1,1,,13,1,250,7,,,,,,1,6,34100,0,4,4,4,1,5,0,,0,0,0,50,0,0,0,1,1,1,1408,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,101,32,175,90,106,207,112,101,155,105,87,92,169,35,38,31,28,159,101,106,109,29,186,125,110,178,103,112,160,112,130,89,174,23,34,30,32,191,82,95,92,31,166,82,109,173,98,103,165,107,110,113,183,28,37,34,32,201,109,88,124,35,156,116,109,183,100,115,165,83,124,98,173,31,23,28,35,159,115,111 H,828175,8,600,4,16,1015675,101,2,1,1,,2,2,2,,20,0,2,10,1,,1,,,,,,1,4,2,680,,1,3,,,3,130,6,4,6000,4,721,101,1,1,6000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,30,98,26,95,104,164,107,194,102,151,105,95,30,95,96,30,169,184,30,34,94,30,111,160,30,99,32,108,172,99,172,31,97,150,163,97,112,111,90,101,162,89,164,106,114,32,104,34,95,30,96,103,172,106,99,155,29,30,168,168,100,156,109,31,161,112,157,100,32,101,30,175,104,30,29,93,93,98,108,104 H,828328,8,800,4,16,1015675,83,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,140,143,74,26,116,26,91,83,88,83,73,73,136,24,77,94,22,25,92,26,81,80,25,74,76,97,24,152,140,126,115,24,86,78,139,22,85,88,145,82,136,144,82,20,135,28,93,83,73,68,81,81,148,24,84,69,22,27,93,25,97,81,27,77,73,101,31,128,129,142,161,25,83,76,122,24,74,80,157 H,828669,8,800,4,16,1015675,300,2,1,2,1,3,2,2,,100,0,2,150,8,400,1,,,,,3,1,6,,,,1,2,,18,2,2,7,1,72000,4,,,1,1,72000,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,0,0,2,359,,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,297,356,347,125,379,445,119,283,370,98,359,111,264,308,330,388,288,434,292,340,318,101,262,434,102,97,383,407,380,407,306,478,384,327,315,97,273,151,282,412,254,123,385,399,104,120,387,277,388,500,320,434,271,389,281,89,440,149,283,106,328,391,261,103,443,350,79,349,324,113,280,101,387,255,230,421,306,477,311,97 H,828696,8,900,4,16,1015675,168,1,1,2,1,3,1,2,,150,0,200,20,3,0,1,0,2,300,2,1,1,5,,,,1,1,,2,1,2,3,,,,,,1,4,25400,0,4,4,4,1,1,0,,0,0,0,23,0,0,0,1,1,2,487,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,195,190,140,189,52,42,38,193,286,206,44,167,154,43,196,356,270,265,224,203,284,176,173,204,95,48,44,142,264,276,46,138,185,56,161,249,306,249,71,154,171,163,195,134,248,285,380,186,48,133,326,156,160,314,216,60,60,58,62,153,134,140,188,168,224,376,359,216,42,154,253,159,247,244,171,46,43,59,288 H,828905,8,700,4,16,1015675,111,2,1,2,1,5,2,1,,110,0,2,300,1,1200,1,,1,2500,1,1,1,9,,,420,1,1,,22,2,40,5,3,295000,4,,,1,1,295000,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,1,3333,2,0,0,57,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,112,109,118,33,33,30,115,188,107,34,117,116,33,110,181,186,183,110,114,181,107,106,112,30,31,32,110,191,116,32,104,104,33,115,212,191,180,121,110,175,113,118,110,34,34,31,118,190,109,34,105,113,35,101,167,174,188,110,114,203,106,110,108,35,32,30,118,188,108,31,115,109,34,111,179,170,197,124,100,185 H,829154,8,300,4,16,1015675,104,1,1,,,2,5,,,200,0,2,3,3,,1,,,,,,1,3,2,500,,1,3,,,1,80,6,,,,707,22,1,6,38600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,41,56,98,249,84,174,183,44,39,166,77,99,94,136,29,95,78,115,213,31,197,77,104,31,83,33,45,169,199,104,112,149,119,34,122,81,86,114,57,276,25,81,109,195,86,187,176,40,42,131,94,95,84,189,33,97,81,81,191,42,202,100,84,34,79,26,49,223,243,93,102,104,99,55,149,77,73,109,38 H,829312,8,600,4,16,1015675,384,3,1,1,,2,2,2,,60,4800,2,30,1,,1,,,,,,1,4,2,330,,1,3,,,1,1,9,8,0,2,420,,1,3,0,0,2,2,2,1,6,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,608,628,107,383,111,381,402,115,411,117,648,562,389,390,388,133,352,639,379,368,119,120,603,381,636,346,431,616,385,674,108,116,375,393,388,660,394,130,412,367,648,617,120,363,130,383,361,128,384,118,622,691,358,398,399,113,394,578,466,400,113,104,693,383,664,418,374,606,408,612,124,111,346,353,414,630,341,114,431,384 H,829803,8,800,4,16,1015675,52,2,1,1,,2,2,2,,80,0,50,3,6,410,1,,,,,3,1,5,,,,1,2,,5,2,300,9,4,12500,4,,,1,1,12500,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,2,168,,0,1,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,15,14,51,70,41,37,52,68,68,80,64,21,80,108,62,73,115,48,20,15,14,12,44,50,62,65,48,91,100,80,49,22,52,72,65,47,73,60,16,17,19,20,45,41,47,61,69,77,104,95,50,11,44,78,58,60,79,50,11,15,20,21,53,45,45,48,46,98,102,95,61,14,47,89,44,60,114,50,15 H,829936,8,600,4,16,1015675,108,2,1,1,,2,2,2,,30,0,2,90,1,300,1,,,,,3,1,5,,,,1,2,,18,2,130,4,4,32000,4,,,1,1,32000,0,4,4,4,1,3,0,2,0,0,0,6,0,0,0,2,2,1,164,,0,1,4,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,32,106,115,160,33,122,103,34,113,106,30,111,91,106,31,182,171,174,97,31,191,113,111,34,197,121,115,187,116,97,173,104,97,116,206,34,31,33,109,169,29,122,106,178,32,104,120,33,115,107,29,109,107,101,32,170,193,201,110,30,181,104,98,33,189,106,100,206,115,106,188,112,120,113,177,32,30,34,110 H,830153,8,200,4,16,1015675,34,2,1,1,,3,1,2,,70,0,880,3,6,400,1,0,,,,3,1,5,,,,1,2,,14,2,780,6,1,52500,4,,,1,1,52500,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,0,0,2,308,,0,0,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,46,33,9,31,33,59,54,8,10,53,39,10,78,56,27,31,9,33,35,30,31,37,53,40,37,11,12,53,51,9,31,56,9,11,37,34,56,34,35,38,39,27,54,30,23,8,14,65,49,13,39,56,13,14,42,32,45,29,31,39,36,28,10,27,25,82,57,10,13,64,29,8,62,49,29,30,9,34,33 H,830370,8,700,4,16,1015675,129,1,1,1,,3,2,2,,40,0,2,90,1,350,1,,1,890,1,1,1,6,,,,1,1,,15,2,50,3,,,,,,1,4,62000,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,0,0,1,1024,3,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,38,129,35,214,142,34,37,147,139,120,114,131,195,146,41,202,139,198,34,115,218,140,224,40,125,234,239,131,133,118,122,140,40,129,248,36,115,44,211,123,39,140,37,246,114,37,40,127,138,124,129,127,199,134,40,200,125,233,38,120,209,140,224,41,137,217,216,128,151,127,119,123,35,134,209,38,137,38,212 H,830394,8,800,4,16,1015675,320,1,1,,,2,4,,30,40,0,2,30,1,200,1,,1,1700,1,1,1,4,,,,1,1,,21,1,1200,5,,,,,,1,4,60000,0,4,4,4,1,3,0,,0,0,0,38,0,0,0,0,0,2,1900,3,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,464,354,424,330,320,368,253,117,518,487,225,398,367,112,341,113,224,286,248,651,137,361,79,289,351,108,225,522,120,79,579,392,400,615,313,428,278,261,224,425,106,302,105,294,253,129,387,360,99,109,369,305,321,532,367,490,399,439,428,72,446,388,536,310,310,505,390,100,546,485,102,370,239,95,303,108,294,389,402,140 H,830773,8,600,4,16,1015675,110,1,1,1,,2,3,2,,30,0,2,130,1,,1,,,,,,1,5,2,800,,1,3,,,1,180,3,,,,975,25,1,6,46000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,117,28,95,187,29,32,180,115,112,196,115,190,110,117,107,34,108,33,33,117,110,189,109,33,181,191,33,111,121,35,111,33,113,111,104,166,103,200,179,110,108,30,105,206,30,34,169,104,111,185,116,208,121,126,126,32,120,34,30,110,115,202,110,33,179,172,31,91,111,34,117,33,101,108,108,186,114,191,194 H,831204,8,600,4,16,1015675,106,1,1,1,,3,1,2,,60,0,2,100,1,0,1,2700,,,,3,1,5,,,,1,2,,2,1,40,5,,,,,,1,6,42900,0,4,4,4,1,3,0,,0,0,0,12,0,0,0,0,0,1,412,,0,0,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,183,188,175,102,106,189,176,114,171,193,110,101,102,105,180,108,185,110,104,30,32,29,32,107,104,30,35,119,36,31,111,114,114,111,32,95,31,110,106,33,31,27,29,103,108,32,26,105,32,31,114,118,112,108,36,114,31,122,99,183,176,193,179,104,106,186,181,104,196,195,111,100,96,111,188,115,185,105,109 H,831482,8,400,4,16,1015675,97,1,1,1,,2,1,2,,30,0,380,3,6,200,1,6000,2,100,2,2,1,4,,,,1,1,,2,1,1,4,,,,,,1,6,14000,0,4,4,4,1,4,0,,0,0,0,59,0,0,0,0,0,1,691,3,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,116,108,160,105,100,79,94,134,86,81,23,29,189,142,29,96,140,23,108,198,131,136,31,106,124,95,126,42,80,88,195,158,33,27,164,111,25,159,95,145,105,106,36,75,85,92,89,25,73,81,155,157,26,30,143,100,27,136,104,29,109,112,167,114,95,99,137,131,113,125,42,41,177,140,34,101,158,28,78 H,831657,8,900,4,16,1015675,83,6,1,2,1,5,2,2,,50,0,1500,3,2,760,1,,1,850,1,1,1,8,,,,1,1,,18,3,2,3,1,174800,2,,,1,1,174800,0,2,2,2,1,4,4,6,0,0,4,7,0,0,1,0,0,1,1025,3,0,1,22,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,29,92,85,81,86,84,146,165,125,73,19,74,183,84,78,208,87,23,26,23,24,82,83,90,61,77,140,143,193,69,20,90,129,74,89,153,79,25,20,16,20,81,119,103,77,85,186,206,130,73,23,96,173,91,93,133,75,21,28,35,30,74,69,72,73,74,126,157,166,66,26,143,121,64,77,126,69,27 H,832027,8,100,4,16,1015675,264,0,1,,,2,4,,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,440,278,261,261,69,251,75,278,249,85,269,517,86,72,436,278,281,436,491,257,477,269,275,245,81,243,69,263,249,84,246,431,81,83,465,260,261,427,427,276,493,280,256,267,83,282,87,272,250,87,246,382,70,74,491,275,249,447,388,269,466,264,250,248,73,299,90,253,276,76,281,453,67,80,377,266,284,433,402 H,832063,8,800,4,16,1015675,61,1,1,2,1,3,2,2,,180,0,2,3,3,430,1,,,,,3,1,6,,,,1,2,,18,2,2,4,,,,,,1,6,20540,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,1,1,1,234,,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,58,58,63,94,63,20,55,20,18,110,68,87,61,68,90,66,116,19,57,17,56,68,60,99,54,17,60,17,17,106,56,115,57,62,97,67,95,21,83,103,63,69,65,16,60,82,57,99,106,17,63,19,59,51,21,59,18,105,55,92,62,58,50,17,67,96,58,112,122,20,65,18,68,59,18,67,17,93,53 H,832568,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,832665,8,900,4,16,1015675,85,4,1,1,,4,2,2,,30,0,2,20,1,370,1,,1,490,1,1,1,9,,,,1,1,,14,2,590,7,2,13530,1,,,1,1,13530,0,1,1,1,1,3,2,4,0,0,2,52,0,0,1,0,0,1,589,3,0,1,24,1,8,6,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,82,26,142,72,145,145,92,120,27,85,79,85,30,78,128,88,24,24,85,84,97,158,22,96,21,22,99,21,177,92,87,93,140,91,30,90,140,123,92,79,81,28,137,79,136,129,73,156,24,96,82,76,22,81,101,80,27,21,82,109,99,137,28,86,33,23,87,24,142,89,78,85,148,88,26,93,166,161,82 H,832690,8,400,4,16,1015675,327,1,1,,,1,7,,,40,620,2,3,3,,1,,,,,,1,3,2,140,,1,3,,,1,1,5,,,,180,18,1,6,11900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,373,231,101,280,267,329,417,127,265,265,515,670,105,86,491,365,125,507,732,416,371,324,483,317,339,299,338,550,338,317,97,110,464,424,98,384,549,91,146,320,409,311,110,399,294,228,385,122,292,306,467,487,131,128,469,380,140,446,527,343,357,243,457,388,238,241,345,575,412,340,110,128,425,406,113,377,430,105,150,314 H,833201,8,300,4,16,1015675,39,1,1,1,,2,2,2,,60,0,2,70,1,500,1,,2,250,2,1,1,5,,,,1,1,,10,2,60,8,,,,,,1,4,39800,0,4,4,4,1,3,0,,0,0,0,14,0,0,0,0,0,1,469,3,0,1,12,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,68,43,41,39,65,71,75,37,28,35,44,36,94,33,80,71,98,90,69,33,59,9,8,32,14,17,90,29,24,51,13,33,13,35,17,14,13,18,55,27,28,100,80,50,74,72,38,44,57,39,93,61,44,36,33,61,96,49,42,39,25,19,15,51,18,13,36,38,52,53,22,65,8,29,8,13,12,11,66 H,833325,8,100,4,16,1015675,111,2,1,1,,3,2,2,,150,0,2,150,1,350,1,,2,1100,1,1,1,4,,,,1,1,,19,2,600,2,1,127000,4,,,1,1,127000,0,4,4,4,1,2,0,2,0,0,0,14,0,0,0,0,0,1,1479,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,192,32,28,40,38,177,108,103,29,164,104,90,215,140,103,175,105,118,129,107,40,198,172,207,177,36,118,134,192,31,116,121,37,115,107,41,100,109,97,121,212,39,34,33,38,190,118,115,35,199,135,119,184,97,91,213,113,96,103,111,37,196,183,171,205,33,128,113,171,37,109,85,31,101,99,35,119,111,127 H,833373,8,700,4,16,1015675,117,2,1,1,,5,2,2,,150,0,2,20,3,340,1,,1,690,1,1,1,9,,,810,1,1,,18,2,560,5,1,51000,4,,,1,1,51000,0,4,4,4,1,4,0,2,0,0,0,40,0,0,0,0,0,1,1717,2,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,113,193,39,114,114,122,36,119,200,111,35,32,120,127,37,193,111,203,140,199,117,207,37,117,117,113,35,112,210,131,33,33,107,111,32,200,115,188,114,34,103,36,195,130,122,107,209,98,36,110,204,204,125,120,199,33,111,37,120,36,118,35,208,126,123,108,198,115,37,106,191,215,114,129,202,32,114,36,109 H,833951,8,600,4,16,1015675,78,2,1,1,,3,2,2,,130,0,2,150,1,650,1,,1,2400,1,1,1,5,,,,1,1,,22,2,560,4,2,67300,4,,,2,1,67300,0,4,4,4,1,5,0,2,0,0,0,49,0,0,0,1,0,1,2727,3,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,70,90,23,76,74,78,66,18,72,79,166,156,21,32,134,69,23,107,126,91,68,81,31,61,62,67,86,28,84,91,143,128,23,23,126,72,25,175,117,50,89,96,22,97,88,76,84,19,84,73,149,134,29,34,118,66,24,114,122,80,73,79,25,73,69,76,79,27,141,64,131,132,23,22,101,78,29,150,102,82 H,834251,8,200,4,16,1015675,30,2,1,1,,1,2,2,,90,0,500,3,4,560,1,,2,380,2,1,1,4,,,,1,1,,7,1,780,9,1,34000,4,,,1,1,34000,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,0,0,2,656,3,0,1,9,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,49,57,11,32,58,10,9,27,33,57,30,34,45,35,50,29,34,8,37,43,8,9,53,41,10,59,52,24,24,11,27,26,42,32,7,28,31,58,36,11,59,50,9,44,62,8,14,24,24,60,33,32,44,33,42,30,27,8,33,50,10,8,59,33,10,58,53,32,28,8,28,31,35,32,7,29,34,48,39 H,834540,8,700,4,16,1015675,84,5,1,1,,4,2,2,,130,0,2,40,1,500,1,,1,1400,1,1,1,9,,,750,1,1,,20,2,40,2,1,115000,2,,,1,1,115000,0,2,2,2,1,2,3,5,0,0,3,24,0,0,1,0,0,1,2323,2,0,1,41,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,149,84,147,25,93,141,135,84,89,84,92,78,25,83,146,24,81,26,85,139,23,80,27,137,81,25,26,85,87,85,80,76,151,92,27,151,76,142,88,134,26,89,25,154,93,22,27,87,76,93,82,82,151,76,27,144,78,135,78,26,138,88,159,26,93,149,142,82,77,89,90,75,22,82,141,23,90,28,83,22 H,834653,8,700,4,16,1015675,72,2,1,1,,4,2,2,,80,0,2,330,1,700,1,,1,1400,1,1,1,7,,,,1,1,,21,3,400,2,2,116000,4,,,3,1,116000,0,4,4,4,1,2,0,2,0,0,0,19,0,0,0,2,0,1,1843,3,0,1,48,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,74,21,68,71,22,71,21,121,118,72,69,79,23,69,119,74,120,127,79,114,70,123,75,67,120,70,112,19,22,76,76,76,122,78,23,73,20,20,75,22,74,22,72,71,23,80,23,127,127,67,73,69,20,70,113,68,122,120,71,114,78,113,77,75,116,77,122,19,25,74,72,75,128,74,22,73,20,18,76 H,834802,8,500,4,16,1015675,90,5,1,1,,5,2,2,,160,0,2,50,1,600,1,,1,1400,1,1,1,9,,,,1,1,,21,3,300,2,2,235000,3,,,1,1,235000,0,3,3,3,1,2,3,5,0,0,3,8,0,0,1,0,0,1,1635,3,0,1,41,1,3,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,151,26,35,186,87,29,162,171,89,95,29,83,79,88,86,26,92,92,95,140,128,23,23,169,95,28,146,168,108,84,28,79,91,83,93,34,80,89,85,126,171,26,25,147,107,30,164,143,81,86,25,83,98,87,80,28,95,86,98,124,155,28,26,149,98,28,170,170,81,92,30,100,80,90,116,29,80,98,99 H,835370,8,800,4,16,1015675,66,2,1,3,1,3,2,2,,150,0,2,3,3,1300,1,,2,2600,2,1,1,6,,,,1,1,,22,4,2,2,4,30000,4,,,1,1,30000,0,4,4,4,1,3,0,2,0,0,0,101,0,0,0,2,2,1,3108,3,0,0,42,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,22,27,22,59,109,63,18,68,70,20,59,92,95,101,79,79,69,65,87,60,18,18,24,72,102,81,19,79,86,21,72,106,137,104,70,82,67,59,125,68,21,17,17,60,100,53,17,83,84,18,63,131,108,85,65,61,62,73,125,73,22,20,20,63,132,62,17,80,61,18,66,127,127,129,66,68,78,62,88 H,835386,8,100,4,16,1015675,108,3,1,1,,3,2,2,,220,0,2,80,1,1600,1,,2,850,2,1,1,8,,,,1,1,,19,5,240,6,2,22600,4,,,1,1,22600,0,4,4,4,1,5,0,3,0,0,0,81,0,0,0,0,0,1,1520,3,0,1,38,2,8,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,25,112,35,186,168,94,116,115,33,118,167,113,206,176,32,120,32,104,126,105,196,119,195,28,33,91,100,109,192,122,27,102,34,36,196,104,188,93,119,113,198,111,169,38,36,121,125,101,181,116,32,95,30,31,194,109,160,103,83,110,32,112,33,175,178,125,133,102,34,109,191,109,174,198,27,107,33,98,97 H,835937,8,300,4,16,1015675,86,2,1,2,1,5,2,2,,200,0,200,3,6,610,1,,2,750,2,1,2,9,,,,1,1,,17,2,1200,5,2,90000,4,,,1,1,90000,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,0,0,2,1168,3,0,1,14,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,95,24,78,92,117,134,75,126,110,63,125,88,34,160,121,25,80,77,136,135,80,164,112,92,87,26,72,23,84,93,25,82,140,33,30,149,92,68,146,140,82,127,88,87,87,28,100,26,82,78,25,86,142,27,23,138,90,86,26,28,84,24,95,100,72,132,96,136,80,92,135,87,25,127,162,26,82,104,27 H,836132,8,100,4,16,1015675,66,4,1,1,,4,2,2,,150,0,2,150,1,1200,1,,1,960,1,1,1,9,,,,1,1,,21,3,50,1,1,103200,2,,,1,1,103200,0,2,2,2,1,2,2,4,0,0,2,15,0,0,1,0,0,1,1264,3,0,1,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,115,62,23,75,75,61,130,22,127,20,110,58,70,66,22,66,109,68,92,71,66,17,65,112,127,120,64,65,67,68,68,18,18,21,57,117,63,17,21,64,78,93,68,22,18,19,70,61,70,69,66,112,111,104,66,20,61,99,69,116,18,74,115,68,72,64,22,106,19,120,19,64,67,79,112,63,18,59,58 H,836576,8,400,4,16,1015675,146,1,1,1,,2,1,2,,70,0,2,3,3,0,1,0,,,,3,1,4,,,,2,2,,9,1,60,5,,,,,,1,6,27000,0,4,4,4,1,6,0,,0,0,0,4,0,0,0,0,0,2,81,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,40,208,156,34,245,268,113,209,58,91,93,169,200,47,137,161,258,298,141,249,178,43,165,244,47,53,159,137,194,142,167,167,153,257,110,135,48,44,203,235,215,40,169,242,55,54,125,161,250,159,150,159,165,254,174,150,49,43,110,44,46,201,113,57,257,220,168,174,50,166,165,136,139,43,136,138,198,200,190 H,837077,8,800,4,16,1015675,66,1,1,1,,3,2,2,,200,0,2,3,3,600,1,,,,,3,1,5,,,,1,2,,9,2,1200,5,,,,,,1,4,16300,0,4,4,4,1,6,0,,0,0,0,33,0,0,0,1,1,1,450,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,15,101,77,18,95,139,59,43,15,58,71,61,69,28,70,69,150,135,62,19,32,129,56,20,108,85,65,77,20,84,103,71,54,17,67,50,90,100,55,119,102,17,69,132,20,15,62,83,141,57,80,80,57,83,53,91,17,16,94,79,93,15,61,138,20,25,71,74,90,52,68,70,81,118,69,56,18,19,62 H,837084,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,837137,8,200,4,16,1015675,189,2,1,,,0,8,,,1,0,2,3,3,,2,,,,,,1,1,1,770,,1,3,,,0,1,3,4,22500,4,770,41,1,1,22500,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,278,201,58,83,71,201,188,154,192,166,216,208,294,186,65,222,281,205,195,54,185,200,78,63,47,230,191,177,175,217,270,258,309,209,72,236,283,235,250,81,244,178,77,54,89,260,203,229,188,195,223,276,316,190,81,139,206,187,189,63,261,202,58,58,88,220,231,171,193,218,296,250,300,174,79,151,246,181,128,64 H,837302,8,100,4,16,1015675,49,1,1,2,1,1,2,2,,150,0,900,3,6,800,1,,1,670,1,1,1,4,,,,1,1,,15,1,2,7,,,,,,1,4,33000,0,4,4,4,1,3,0,,0,0,0,33,0,0,0,1,1,2,895,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,79,76,17,57,43,73,14,45,50,15,45,54,17,46,45,57,14,69,52,90,85,94,14,52,55,69,11,44,53,16,48,44,12,52,45,51,14,82,48,13,16,13,84,55,49,16,95,49,56,84,46,44,77,44,46,53,73,14,43,17,15,13,87,51,45,15,94,44,48,70,48,51,71,47,40,57,92,14,46 H,837675,8,500,4,16,1015675,72,5,1,1,,5,2,2,,190,0,260,3,3,250,1,,1,1100,1,1,1,9,,,,1,1,,17,4,2400,5,2,44200,2,,,2,1,44200,0,2,2,2,1,2,2,5,0,0,2,41,0,0,1,0,0,1,1512,3,0,1,1,2,8,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,116,124,83,19,66,129,71,56,114,82,20,21,24,78,73,94,69,64,21,137,136,108,66,23,63,121,90,81,110,72,27,21,22,65,67,78,84,77,143,26,23,26,65,95,80,21,86,65,23,81,123,119,121,71,62,71,65,64,112,27,21,19,70,138,86,25,63,78,20,88,129,140,121,79,67,64,70,71,21 H,837918,8,600,4,16,1015675,114,2,1,1,,4,2,2,,40,0,2,50,1,1700,1,,1,1600,1,1,1,8,,,,1,1,,21,2,580,3,1,76900,4,,,1,1,76900,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,1,0,1,1738,3,0,1,50,1,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,122,35,110,111,37,121,34,189,182,116,116,114,35,130,194,119,203,174,114,35,111,31,121,114,32,105,33,183,200,113,111,112,34,116,198,113,190,194,101,191,117,204,109,109,211,116,191,32,35,110,118,105,189,111,33,123,33,34,115,202,109,188,108,107,193,124,199,35,34,110,106,122,210,116,35,108,35,38,131 H,837942,8,800,4,16,1015675,25,2,1,2,1,4,2,2,,80,0,2000,3,4,,1,,,,,,1,7,2,500,,1,3,,,2,2,9,2,54000,4,747,17,1,1,54000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,34,23,24,25,6,21,20,46,7,37,45,28,24,9,7,43,22,22,9,28,50,24,24,35,8,29,31,36,7,50,45,29,23,7,7,36,29,24,7,25,42,23,21,20,7,23,25,44,8,41,42,24,32,9,7,37,22,25,7,23,43,29,24,25,6,27,25,40,8,43,45,22,22,7,9,49,31,31,7 H,838066,8,400,4,16,1015675,62,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,2,300,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,56,61,64,16,63,63,103,100,19,17,98,78,17,89,109,70,51,18,83,65,62,69,59,19,55,59,106,123,19,20,119,47,18,106,112,62,53,21,47,82,56,80,71,15,70,74,120,147,19,18,85,48,19,83,90,59,55,19,52,56,51,57,49,17,62,78,130,112,23,18,105,73,17,89,76,50,75,25,64,63 H,839656,8,100,4,16,1015675,88,1,1,1,,3,1,2,,30,1200,2,3,3,750,1,0,2,250,2,2,1,5,,,,1,1,,10,1,20,1,,,,,,1,6,7200,0,4,4,4,1,2,0,,0,0,0,60,0,0,0,0,0,2,362,3,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,79,29,98,158,89,72,139,100,25,20,24,98,115,88,83,90,160,147,111,26,94,170,78,32,79,78,27,85,197,165,120,83,86,90,88,119,25,28,27,138,80,25,95,138,88,89,160,99,27,30,29,89,92,77,86,83,109,125,138,28,101,168,102,22,82,84,31,89,151,171,148,92,84,76,94,86,32,25,34 H,839852,8,200,4,16,1015675,87,5,1,2,1,4,2,2,,210,0,2,3,3,460,1,,1,1100,1,1,1,6,,,,1,1,,16,4,350,8,1,81300,3,,,1,1,81300,0,3,3,3,1,5,2,5,0,0,2,20,0,0,1,0,0,2,1339,3,0,1,28,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,20,64,28,171,105,93,89,129,91,33,85,157,117,76,79,170,36,87,76,156,123,81,148,33,78,89,106,24,79,136,90,21,30,112,92,32,132,99,99,29,25,104,36,121,85,90,74,210,80,33,79,132,147,88,70,122,29,79,86,167,127,77,151,29,93,101,90,22,87,188,76,24,29,82,108,25,115,87,92 H,840074,8,900,4,16,1015675,76,4,1,1,,5,2,2,,80,0,2,80,1,450,1,,1,1600,1,1,1,9,,,400,1,1,,19,4,750,2,1,190200,2,,,1,1,190200,0,2,2,2,1,4,1,4,0,0,1,14,0,0,1,0,0,2,2223,1,0,1,52,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,74,129,82,27,78,66,79,27,69,20,144,77,123,78,73,73,118,118,71,81,134,72,24,84,25,25,126,67,119,79,80,133,75,119,21,23,72,73,23,21,70,145,73,24,75,69,83,26,79,25,133,64,116,99,88,71,118,110,65,72,139,75,19,83,24,25,128,77,133,78,91,156,78,121,23,20,73,63,24 H,840145,8,300,4,16,1015675,40,2,1,1,,4,1,2,,60,0,2,120,2,350,1,0,,,,3,1,9,,,,1,2,,11,2,2,5,2,10200,4,,,1,1,10200,0,4,4,4,1,5,0,2,0,0,0,44,0,0,0,2,2,2,371,,0,0,31,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,61,40,45,55,53,13,11,13,30,55,45,39,31,71,76,108,49,10,49,15,65,40,43,63,43,11,14,15,32,46,38,37,39,61,78,104,37,10,45,13,75,47,32,61,37,13,15,13,42,36,34,45,45,56,86,74,45,21,36,13,86,40,35,72,39,15,11,9,33,35,54,51,37,63,77,48,46,23,48,15 H,840232,8,100,4,16,1015675,169,3,1,,,2,5,,,40,0,2,70,1,,1,,,,,,1,4,2,470,,1,3,,,2,1,5,1,33500,1,580,21,1,1,33500,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,292,295,239,58,193,159,282,45,151,145,47,135,190,63,158,152,157,53,57,157,202,174,151,184,47,309,179,204,291,270,178,55,54,175,272,63,253,167,145,54,56,56,51,280,194,169,51,300,181,180,357,181,163,255,134,189,173,251,263,171,192,173,163,150,312,49,194,171,44,58,164,220,278,154,44,299,53,172,194 H,840326,8,800,4,16,1015675,87,1,1,1,,3,1,2,,50,0,2,30,1,300,1,2300,,,,3,1,6,,,,1,2,,15,1,620,4,,,,,,1,6,28650,0,4,4,4,1,6,0,,0,0,0,18,0,0,0,1,1,1,427,,0,0,20,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,84,130,152,169,87,90,81,92,90,23,28,23,88,153,87,27,81,80,23,127,98,150,162,146,83,97,92,92,69,24,23,33,105,123,77,29,95,97,29,143,94,159,141,154,88,93,99,83,80,27,30,22,82,150,93,24,87,100,26,149,82,185,161,126,98,79,86,95,93,24,30,27,78,149,70,29,98,66,35,166 H,840515,8,400,4,16,1015675,101,4,1,1,,2,1,2,,180,0,2,3,3,,1,,,,,,1,4,2,250,,2,3,,,0,1,4,7,6500,1,430,33,1,3,15500,0,1,1,1,1,2,1,3,0,1,2,,0,0,1,0,0,2,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,99,95,118,38,149,134,129,163,39,93,94,159,151,32,28,166,126,37,151,40,39,111,102,126,75,84,83,105,165,98,92,37,31,140,124,27,114,184,113,194,199,103,133,41,95,111,93,86,24,89,111,151,166,35,33,165,92,30,78,37,33,100,86,172,106,94,106,102,210,99,113,32,42,159,152,34,97,171,96 H,840598,8,500,4,16,1015675,16,1,1,1,,2,2,2,,120,0,2,3,3,0,1,,,,,3,1,6,,,,1,2,,10,3,500,9,,,,,,1,4,13400,0,4,4,4,1,4,0,,0,0,0,15,0,0,0,1,0,1,162,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,20,4,28,15,5,5,18,18,18,13,15,27,15,5,29,16,28,28,17,5,16,5,29,16,5,3,15,14,17,16,16,31,16,5,32,17,28,5,18,30,16,28,5,17,30,32,13,15,14,16,18,5,15,22,3,15,3,5,16,24,16,26,5,16,25,35,18,18,15,15,16,5,17,29,5,17,5,30 H,840638,8,600,4,16,1015675,83,2,1,1,,3,2,2,,100,0,2,210,1,,1,,,,,,1,6,2,800,,1,3,,,2,120,5,1,43400,4,1120,31,1,1,43400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,23,78,26,76,25,84,84,79,94,25,27,85,82,27,84,83,25,87,82,84,91,134,86,137,81,139,142,148,144,78,83,144,169,85,130,140,83,23,24,23,24,89,27,83,27,86,80,88,80,25,26,82,90,24,83,89,22,86,86,90,85,158,89,150,82,139,126,141,147,83,93,149,135,78,145,147,84,25 H,841234,8,300,4,16,1015675,125,1,1,,,1,7,,,20,0,280,3,3,,1,,,,,,1,4,2,300,,1,3,,,2,1,6,,,,343,34,1,4,12000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,35,192,116,137,33,134,34,39,230,230,136,134,123,144,41,224,109,117,201,112,30,221,125,115,41,138,36,39,239,226,141,123,107,164,38,214,117,119,40,112,186,34,132,124,182,164,174,246,47,41,126,120,117,148,191,36,119,143,37,98,192,32,117,131,206,148,180,187,45,54,126,126,109,135,217,42,147,117,222 H,841245,8,100,4,16,1015675,84,2,1,,,2,4,,,180,0,80,2,3,,1,,,,,,1,4,2,450,,1,3,,,2,1,4,,,,637,26,1,5,29650,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,34,79,165,84,27,96,95,23,91,133,146,140,81,78,95,89,82,24,24,150,150,87,29,76,139,81,77,134,82,29,22,26,86,79,80,80,83,148,140,31,24,77,146,71,24,71,79,24,97,134,114,135,86,87,92,80,88,25,22,141,158,87,24,100,177,89,90,140,117,26,30,29,82,79,77,95,90,138,138 H,841893,8,500,4,16,1015675,98,4,1,1,,2,1,2,,80,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,340,3,1,42600,1,608,17,1,1,42600,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,157,179,118,28,28,91,167,33,188,105,88,82,113,86,91,31,143,113,112,29,94,90,30,110,109,30,98,88,98,27,165,178,205,149,25,102,88,173,31,113,197,159,94,29,32,115,243,24,159,91,102,98,93,105,85,26,173,85,82,31,85,95,30,89,91,32,116,99,97,30,178,183,157,212,25,83,95,169,30 H,842158,8,800,4,16,1015675,76,4,1,1,,2,2,2,,30,0,2,3,1,250,1,,1,390,1,1,1,3,,,,1,1,,11,2,450,9,4,25000,2,,,1,1,25000,0,2,2,2,1,4,2,4,0,0,2,22,0,0,1,0,0,1,458,3,0,1,15,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,123,24,119,82,73,89,90,67,84,24,141,68,86,122,122,99,18,25,80,147,75,68,64,124,24,24,27,24,131,71,69,23,136,87,75,122,76,91,27,94,142,22,128,67,72,76,79,77,74,17,122,88,82,141,156,60,22,26,88,118,89,86,101,114,16,25,25,19,131,76,93,25,151,66,71,135,73,98,24 H,842566,8,300,4,16,1015675,271,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,405,395,450,318,101,314,436,275,307,372,287,105,71,64,303,317,260,256,255,391,96,83,107,248,422,317,82,284,254,82,204,386,407,407,327,325,263,230,317,424,77,80,87,269,481,302,103,286,261,74,266,540,443,375,258,273,264,285,286,85,476,444,465,236,84,294,468,251,204,506,233,77,84,93,350,259,248,265,283,80 H,843085,8,400,4,16,1015675,100,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,194,89,164,109,88,164,114,149,32,30,93,100,82,145,101,33,114,28,103,28,185,102,156,112,108,169,100,174,37,28,93,100,95,190,100,31,108,29,114,24,143,112,176,97,120,200,108,139,33,26,93,95,105,206,90,26,103,27,96,28,152,127,190,85,107,172,103,172,26,32,85,93,98,163,118,32,100,32,115 H,843482,8,300,4,16,1015675,71,2,1,2,1,2,2,1,,110,0,2,80,2,500,1,,2,480,2,1,1,6,,,,1,1,,18,2,220,9,1,25930,4,,,1,1,25930,0,4,4,4,1,7,0,2,0,0,0,37,0,0,0,0,0,2,805,3,0,0,20,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,69,81,81,60,18,30,23,48,80,66,33,63,54,18,70,128,99,169,31,69,71,72,65,67,101,126,142,71,20,54,135,86,60,122,95,21,20,21,25,71,57,74,68,66,85,122,115,56,18,43,119,82,74,120,69,25,27,35,83,73,65,70,83,72,23,22,21,61,108,69,17,80,67,16,67,128,125,150,74 H,843857,8,100,4,16,1015675,34,2,1,2,1,3,2,2,,110,0,30,3,6,1400,1,,,,,3,1,7,,,,1,2,,20,2,2,3,4,25900,4,,,1,1,25900,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,1,0,2,372,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,31,27,11,11,44,54,12,30,58,10,10,30,34,61,42,35,33,40,38,55,35,34,10,11,53,46,8,36,65,8,8,36,22,58,38,34,32,29,42,66,28,33,10,8,60,57,10,29,58,11,8,31,31,52,32,29,34,38,42,48,34,34,9,8,55,53,13,37,56,10,8,32,24,46,40,39,43,36,35 H,843921,8,300,4,16,1015675,106,2,1,1,,2,2,2,,210,0,2,3,3,680,1,,2,650,2,1,1,5,,,,1,1,,15,3,20,9,2,9000,4,,,1,1,9000,0,4,4,4,1,2,0,2,0,0,0,101,0,0,0,0,0,1,990,3,0,1,19,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,45,123,86,189,35,122,95,36,82,97,34,114,87,124,31,179,174,169,126,31,177,158,94,28,178,112,110,162,115,91,156,105,101,127,205,32,25,37,100,149,33,114,116,237,36,92,114,29,92,109,26,103,121,97,34,168,180,166,89,29,169,84,135,34,141,119,113,196,128,132,189,141,118,95,215,28,36,28,101 H,844128,8,900,4,16,1015675,116,2,1,1,,2,2,2,,40,0,820,10,1,300,1,,,,,3,1,5,,,,1,2,,13,2,470,6,4,33900,4,,,1,1,33900,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,281,,0,1,23,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,134,119,32,102,216,129,34,32,108,112,33,184,122,208,269,115,213,35,99,118,108,123,202,119,30,123,211,160,146,135,179,33,103,35,37,121,30,180,134,111,117,153,31,100,195,107,25,39,112,106,33,191,120,200,154,128,179,34,99,138,129,105,211,122,39,110,185,202,99,110,199,45,109,40,41,97,38,197,107 H,844198,8,900,4,16,1015675,105,4,1,,,4,4,,,250,0,2,200,1,900,1,,1,1600,1,1,1,9,,,,1,1,,18,5,1200,7,,,,,,1,5,138000,0,4,4,4,1,3,0,,0,1,0,19,2,0,0,0,0,1,2150,3,0,0,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,116,108,114,130,125,33,135,200,28,103,28,103,147,88,180,33,124,164,35,149,85,111,103,95,95,28,92,187,31,92,33,91,222,106,156,32,110,203,183,31,115,107,126,107,107,184,129,34,170,88,181,107,30,89,34,183,117,30,174,37,93,119,108,105,82,146,107,24,169,98,159,91,34,114,30,198,92,33,35 H,844257,8,800,4,16,1015675,54,2,1,3,1,2,2,2,,140,0,2,3,3,700,1,,2,4800,2,1,1,6,,,,1,1,,22,4,2,3,2,190200,4,,,1,1,190200,0,4,4,4,1,5,0,2,0,0,0,32,0,0,0,2,2,2,5131,3,0,0,28,1,3,3,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,13,64,69,68,98,103,58,70,15,98,17,58,20,19,51,55,49,52,43,75,56,89,16,13,37,39,101,50,46,62,56,116,73,59,17,15,85,80,14,14,88,46,50,72,20,17,46,20,119,16,82,48,66,73,51,55,56,58,57,54,55,15,69,95,71,56,15,54,64,54,42,14,47,53,104,111,17,20,116,91 H,844365,8,100,4,16,1015675,22,4,1,1,,3,2,2,,80,0,600,3,6,0,1,,1,150,1,2,1,6,,,,1,1,,17,1,480,4,7,27700,3,,,1,3,27700,0,3,3,3,1,4,2,4,0,0,2,14,0,0,1,0,0,2,320,3,0,1,13,3,14,14,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,6,21,22,17,31,41,25,34,5,35,9,26,6,5,24,20,23,35,28,24,30,40,5,8,22,23,36,16,18,27,24,28,18,39,9,8,41,43,7,63,10,29,22,16,34,49,21,34,5,29,8,22,5,6,25,28,21,35,40,25,31,35,6,10,15,17,38,20,16,25,29,25,18,34,11,5,45,28,6,65 H,844389,8,300,4,16,1015675,14,2,1,2,1,3,2,2,,50,0,2,50,1,450,1,,2,630,2,1,1,6,,,350,1,1,,14,2,520,3,1,86300,4,,,1,1,86300,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,1,2,1253,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,25,4,5,25,18,5,30,26,16,13,5,17,18,15,18,6,18,16,14,5,5,26,24,5,15,26,7,3,15,18,30,15,15,13,15,27,22,28,18,5,5,28,23,7,16,23,5,4,14,19,31,17,14,16,15,26,19,20,16,29,21,3,5,29,16,5,26,24,19,13,5,22,14,16,16,7,14,13,15 H,844446,8,400,4,16,1015675,88,2,1,1,,3,2,2,,40,0,2,150,1,600,1,,1,830,1,1,1,6,,,,1,1,,14,2,40,6,1,54000,4,,,1,1,54000,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,0,0,1,1023,3,0,1,26,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,136,147,66,22,100,154,87,112,173,89,19,25,28,86,74,88,76,72,36,126,185,166,91,31,97,136,83,91,196,103,26,28,26,83,96,91,90,67,129,29,26,27,95,144,101,31,92,108,30,86,153,155,166,85,89,94,79,92,140,27,26,30,108,132,88,23,65,87,26,87,135,133,128,75,77,77,98,110,20 H,844717,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,844772,8,300,4,16,1015675,68,3,1,1,,3,2,2,,80,0,2,40,1,230,1,,1,740,1,1,1,8,,,250,1,1,,14,6,20,8,1,44350,2,,,1,1,44350,0,2,2,2,1,3,1,3,0,0,1,30,0,0,1,0,0,1,1112,2,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,118,99,104,111,20,64,66,104,23,62,76,21,74,62,15,64,66,68,60,99,19,22,24,21,139,76,59,19,120,79,65,130,77,66,124,75,70,63,71,126,19,18,21,22,114,66,76,21,112,63,69,115,66,80,113,59,65,63,61,23,101,115,108,99,22,63,66,120,18,81,69,22,66,69,17,68,71,71,72 H,844856,8,600,4,16,1015675,82,2,1,1,,4,2,2,,60,0,2,230,1,0,1,,,,,3,1,9,,,,1,2,,18,1,560,7,4,66900,4,,,1,1,66900,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,504,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,88,151,134,25,126,85,88,24,25,27,91,82,132,21,79,127,74,83,24,23,27,95,71,79,83,137,23,82,90,80,134,23,80,94,132,75,147,131,79,75,80,140,137,25,143,93,86,24,25,23,76,82,140,23,73,148,94,81,25,23,23,77,82,81,77,136,23,79,82,79,133,25,85,84,131,83,141,140,77 H,844987,8,500,4,16,1015675,108,2,1,1,,3,2,2,,60,0,300,30,1,,1,,,,,,1,6,2,1000,,1,3,,,2,900,5,2,9200,4,1190,101,1,1,9200,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,1,8,3,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,109,176,30,114,115,101,174,32,98,127,187,114,168,182,32,28,100,93,113,189,113,31,172,103,97,95,30,213,113,125,37,114,35,32,198,185,119,105,109,164,115,33,204,110,120,104,30,167,124,110,37,110,32,28,186,195,100,111,113,29,103,186,32,100,98,112,186,28,90,118,222,103,179,173,33,35,108,125,96,33 H,845002,8,300,4,16,1015675,168,7,1,2,1,5,2,2,,250,0,50,3,6,110,1,,2,500,1,1,1,8,,,,1,1,,15,6,2,5,1,77100,2,,,1,1,77100,0,2,2,2,1,2,4,7,0,0,4,12,0,0,1,0,0,2,763,3,0,1,15,3,4,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,225,199,202,53,60,123,134,193,198,152,77,261,70,64,245,179,254,164,154,256,197,180,245,46,55,210,201,140,269,216,74,170,72,57,189,145,189,142,135,173,261,175,241,54,55,158,139,173,282,192,58,180,58,74,229,139,248,193,187,164,221,177,206,80,88,132,165,199,236,149,58,163,51,80,250,166,217,119,163,222 H,845280,8,300,4,16,1015675,28,7,1,2,1,4,2,2,,150,0,2,30,3,300,1,,1,1200,1,1,1,6,,,,1,1,,18,2,960,6,2,77600,3,,,2,1,77600,0,3,3,3,1,3,3,7,0,0,4,23,0,0,1,0,0,2,1460,3,0,1,8,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,5,24,45,47,53,24,33,31,27,32,8,8,8,18,39,31,8,26,40,22,7,29,44,41,45,27,28,23,21,26,9,8,8,39,38,28,8,22,49,21,7,24,62,45,43,43,28,24,26,21,6,6,9,31,42,27,11,25,39,21,5,27,40,50,49,26,28,23,16,25,8,9,9,21,45,37,8,29,54 H,845587,8,700,4,16,1015675,81,2,1,1,,2,2,2,,110,0,2,90,1,350,1,,,,,3,1,7,,,,1,2,,13,2,300,5,8,30000,4,,,1,3,30000,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,0,0,1,307,,0,1,14,0,15,15,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,25,140,86,72,83,139,72,22,81,133,128,82,84,140,24,86,25,22,80,86,130,22,84,78,90,25,73,146,80,24,25,80,85,25,123,88,134,143,89,85,145,23,85,83,78,21,81,143,84,22,25,75,79,23,131,87,144,146,70,83,23,142,75,82,81,139,78,23,81,129,138,81,86,137,25,86,23,25,75 H,845909,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,846249,8,300,4,16,1015675,104,2,1,2,1,3,2,2,,160,0,2,70,1,380,1,,1,1100,1,1,1,7,,,,1,1,,15,2,2,5,1,74000,4,,,1,1,74000,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,1,1330,3,0,1,11,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,109,102,163,110,138,99,97,91,37,100,37,112,117,30,84,188,34,36,29,26,98,114,47,111,36,105,89,98,180,107,182,125,110,161,113,31,161,172,38,35,123,100,35,104,33,110,106,126,171,99,198,107,99,182,109,29,155,156,159,176,104,129,154,104,185,95,97,109,38,111,32,97,104,32,87,178,31,32,198 H,846422,8,700,4,16,1015675,117,2,1,1,,3,2,2,,40,0,2,140,1,300,1,,1,850,1,1,1,6,,,130,1,1,,16,2,430,5,1,197000,4,,,1,1,197000,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,0,2,1196,2,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,115,34,206,32,120,115,108,115,118,110,187,39,125,121,32,36,122,182,116,123,32,115,123,122,37,202,174,206,205,35,114,122,198,30,109,121,37,122,35,36,121,189,36,196,114,112,119,115,118,112,35,181,124,116,191,231,118,36,104,117,194,113,105,128,206,37,34,33,37,188,118,113,35,210,122,125,178,124,193 H,846646,8,500,4,16,1015675,100,2,1,2,1,4,2,2,,410,0,200,3,3,870,1,,,,,3,1,8,,,,1,2,,20,1,2,3,4,68000,4,,,1,1,68000,0,4,4,4,1,2,0,2,0,0,0,13,0,0,0,0,0,1,712,,0,1,37,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,29,153,33,28,92,84,172,159,36,107,114,108,32,104,124,92,188,109,162,100,29,181,28,27,106,96,193,192,29,91,95,103,31,99,95,97,154,102,31,105,173,29,168,180,113,94,32,30,177,104,104,101,166,102,123,108,33,100,30,112,181,29,187,167,78,105,28,34,153,86,94,114,159,100,97,92,28,85,171 H,846909,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,847306,8,500,4,16,1015675,151,3,1,1,,3,2,2,,30,0,2,80,1,320,1,,1,600,1,1,1,5,,,,1,1,,18,2,360,3,2,40000,2,,,2,1,40000,0,2,2,2,2,3,1,3,0,0,1,22,0,0,1,0,0,2,740,3,0,1,37,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,209,158,59,151,137,163,326,165,130,39,230,47,55,170,173,210,234,47,126,203,121,130,38,125,155,156,229,117,161,48,220,46,40,190,165,318,227,50,149,45,150,165,248,200,157,163,45,113,124,212,44,210,269,163,119,48,57,194,134,46,178,141,256,173,165,205,41,213,163,190,54,281,227,141,137,40,58,228,148,291 H,847359,8,200,4,16,1015675,29,5,1,1,,4,2,2,,70,230,1500,3,4,350,1,,2,240,2,1,1,9,,,240,1,1,,7,3,740,6,4,42300,2,,,2,1,42300,1,2,4,2,1,7,0,5,0,0,2,23,0,1,1,2,2,1,800,2,0,1,10,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,46,51,41,12,29,57,36,29,55,35,8,9,7,27,32,24,27,29,9,41,44,40,28,14,33,50,28,25,51,30,10,10,9,31,24,22,30,33,48,6,9,12,31,42,30,10,29,31,10,36,61,46,44,31,28,27,25,24,33,8,10,11,25,56,35,9,35,27,8,37,40,40,56,30,36,25,29,33,8 H,847421,8,100,4,16,1015675,17,4,1,1,,3,2,2,,70,0,2,200,2,,1,,,,,,1,5,2,350,,1,3,,,1,360,8,7,14600,2,650,53,1,3,14600,0,2,2,2,1,3,3,4,0,0,3,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,29,37,6,5,31,17,5,25,21,17,17,5,17,15,19,23,5,20,15,19,5,3,26,30,5,21,34,5,3,17,17,26,16,16,15,13,34,17,17,16,32,20,4,4,32,17,5,28,29,22,15,7,22,21,18,16,7,17,18,20,4,4,25,24,5,18,23,5,9,18,15,24,19,24,16,17,26,16,16,15 H,847924,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,848224,8,900,4,16,1015675,15,2,1,1,,3,2,1,,80,0,2,3,3,750,1,,1,610,1,1,1,8,,,570,1,1,,15,4,240,5,1,70020,4,,,2,1,70020,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,2,1280,1,0,0,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,7,13,15,5,17,36,33,28,17,12,10,17,21,5,5,3,15,30,3,22,35,15,16,30,15,4,5,7,12,13,15,15,17,24,27,29,12,5,7,13,19,17,18,24,16,6,5,3,20,13,17,27,18,28,24,27,19,4,36,17,5,15,17,5,13,32,32,28,13,17,17,20,16,5,5,4,11,20,29 H,848283,8,800,4,16,1015675,139,2,1,1,,3,1,2,,1,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,2,2,2,1,47200,4,,,1,1,47200,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,165,147,144,223,123,233,133,121,211,187,51,266,241,39,171,122,30,123,49,49,160,111,128,226,155,199,120,172,199,129,53,291,245,40,133,149,39,129,38,48,118,126,128,219,167,238,123,134,220,118,39,268,278,51,117,161,53,128,34,32,153,135,140,296,114,233,153,157,259,172,43,204,216,38,155,118,51,161,53 H,848890,8,800,4,16,1015675,189,3,1,2,1,3,2,2,,90,0,2,100,3,450,1,,1,600,1,1,1,6,,,300,1,1,,18,3,2,5,1,49000,4,,,1,1,49000,0,4,4,4,1,5,0,3,0,0,0,27,0,0,0,0,0,2,1090,1,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,195,172,172,82,181,186,376,300,70,72,298,175,78,291,255,173,192,51,164,150,164,206,246,51,187,270,240,283,82,54,319,202,64,280,304,188,166,62,188,241,187,208,167,57,193,217,250,295,56,60,264,169,64,283,304,212,187,72,164,201,186,200,201,60,183,197,291,239,77,78,249,256,56,320,305,165,212,58,225,259 H,849048,8,100,4,16,1015675,111,2,1,1,,3,2,2,,80,0,2,3,3,,1,,,,,,1,6,,,,1,4,,,2,2,5,7,26700,4,,,1,3,26700,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,36,151,172,33,95,108,33,118,29,121,111,116,187,90,196,110,99,197,41,127,33,182,178,30,130,83,29,111,33,125,128,124,172,125,170,100,108,182,33,92,27,216,160,39,118,133,31,106,32,117,120,122,159,122,152,107,107,184,32,117,37,173,200,35,95,110,32,106,32,123,104,101,179,113,198,119,114,181,41 H,849087,8,800,4,16,1015675,108,2,1,3,3,3,1,2,,150,0,2,3,3,310,1,260,2,210,2,1,1,5,,,,1,1,,9,2,2,4,1,55000,4,,,1,1,55000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,1,454,3,0,0,13,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,100,157,119,112,226,158,42,32,26,95,96,82,96,133,167,227,236,125,21,30,82,161,204,119,170,104,34,27,23,96,137,127,124,119,142,174,296,157,136,173,119,37,91,91,42,109,162,155,131,103,170,100,103,133,25,39,51,140,180,189,74,29,139,84,39,173,201,157,118,96,111,108,135,146,31,33,46,143,31 H,849165,8,700,4,16,1015675,22,3,1,2,1,3,2,2,,40,0,2,50,1,600,1,,1,1200,1,1,1,5,,,460,1,1,,18,2,300,2,2,87000,4,,,1,1,87000,0,4,4,4,1,3,0,3,0,0,0,24,0,0,0,0,0,1,1775,1,0,1,37,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,38,5,21,25,20,42,6,24,24,41,23,41,41,7,7,23,21,22,44,21,7,40,21,23,24,9,39,24,24,7,23,7,7,39,40,27,25,24,40,24,7,38,28,23,25,8,45,22,24,7,22,7,6,38,37,24,24,22,7,23,38,7,24,22,25,41,6,23,25,40,22,43,42,7,6,22,24,21,7 H,849398,8,300,4,16,1015675,176,3,1,1,,4,2,2,,80,0,2,30,1,,1,,,,,,1,8,,,,1,4,,,1,400,7,7,10200,2,,,1,3,10200,0,2,2,2,1,5,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,165,158,183,186,54,54,303,62,160,162,329,283,281,166,155,56,294,179,45,173,324,259,56,50,150,176,139,193,272,60,181,188,196,266,60,223,206,326,202,265,155,180,169,189,294,293,58,261,208,161,51,58,58,184,175,272,57,191,269,190,52,52,314,325,201,159,179,188,45,288,169,198,176,54,259,173,140,52,181 H,849409,8,900,4,16,1015675,104,4,1,1,,3,2,2,,60,0,2,20,1,400,1,,1,1200,1,1,1,8,,,,1,1,,16,2,70,4,1,90020,2,,,1,1,90020,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1286,3,0,1,38,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,115,190,30,107,166,201,103,102,111,101,116,34,97,170,28,91,35,114,30,162,108,170,26,122,171,157,96,93,111,101,103,36,106,160,30,106,35,143,168,30,95,35,169,104,27,28,118,101,99,123,87,155,87,28,156,101,190,93,161,30,112,29,165,117,37,34,116,104,111,123,121,177,104,28,180,128,207,123,30 H,849547,8,300,4,16,1015675,78,5,1,3,1,5,2,2,,120,0,2,280,1,670,1,,,,,3,1,9,,,,1,2,,22,5,2,2,2,139910,2,,,1,1,139910,1,1,4,1,1,3,0,5,0,0,1,6,0,1,1,2,1,1,739,,0,0,46,2,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,113,75,124,127,82,140,23,89,66,79,21,66,122,78,23,26,78,76,74,28,135,78,151,125,74,131,22,85,73,89,24,81,142,63,22,28,85,92,78,19,131,86,134,132,72,127,25,75,87,74,27,93,138,64,25,24,90,90,61,26,126,86,145,119,87,123,27,81,68,73,26,85,124,82,21,22,59,85,73 H,849774,8,900,4,16,1015675,81,5,1,2,1,3,1,2,,60,0,2,100,1,500,1,0,1,690,1,1,1,7,,,,1,1,,14,3,2,4,2,72000,2,,,1,1,72000,0,2,2,2,1,1,2,5,0,0,2,14,0,0,1,0,0,1,850,3,0,0,24,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,107,141,110,99,87,67,104,70,39,23,21,91,116,72,28,105,83,24,119,65,103,152,102,81,93,97,125,92,32,26,21,75,150,73,31,85,68,32,23,94,18,22,23,95,78,64,67,78,166,143,136,77,29,105,156,75,76,169,26,73,23,36,32,90,68,65,90,81,167,146,114,77,20,59,169,92,91,165,115 H,849782,8,200,4,16,1015675,94,2,1,3,1,2,1,2,,280,0,2,3,6,0,1,110,,,,3,1,4,,,,1,2,,14,2,2,5,,,,,,1,5,53000,0,4,4,4,1,3,0,,0,1,0,7,2,0,0,0,0,1,314,,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,79,39,27,33,71,126,117,30,75,91,33,90,202,174,146,98,110,132,68,159,101,29,33,26,111,182,87,27,106,99,26,109,190,150,149,72,91,101,96,172,93,27,32,31,72,135,122,31,92,66,33,85,121,181,173,111,120,100,104,145,107,25,30,28,109,176,85,32,107,91,23,95,219,206,192,93,83,61,86,155 H,849834,8,800,4,16,1015675,91,6,1,1,,3,2,2,,410,0,2,3,3,300,1,,1,650,1,1,1,7,,,,1,1,,13,1,720,7,2,2900,3,,,3,1,2900,0,3,3,3,1,1,4,6,0,0,4,101,0,0,1,0,0,2,1120,3,0,1,28,1,8,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,23,98,29,83,99,86,150,100,180,98,106,157,83,23,125,140,33,79,89,35,26,98,33,94,70,99,157,91,168,99,103,132,98,29,152,164,22,111,103,154,131,93,143,75,82,86,30,127,28,80,61,26,81,173,27,24,141,90,135,217,201,76,136,100,79,78,37,130,27,88,89,30,110,168,30,26,179,90,109,33 H,849998,8,400,4,16,1015675,25,4,1,3,1,3,2,2,,60,0,1700,80,2,2000,1,,2,350,2,1,1,7,,,,1,1,,22,2,2,2,2,68000,2,,,2,1,68000,1,2,4,2,1,3,0,4,1,0,2,17,0,0,1,1,1,1,943,3,0,0,29,1,3,3,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,23,25,27,31,8,31,30,40,50,7,7,46,27,7,37,43,27,25,27,7,34,28,26,31,9,26,26,39,56,10,8,52,34,10,47,38,21,23,24,6,27,20,25,35,8,21,23,45,42,8,7,48,29,6,39,41,28,23,30,6,32,24,22,27,8,25,24,48,45,7,10,41,30,9,42,49,30,25,22 H,850140,8,200,4,16,1015675,77,3,1,,,2,7,,,40,0,2,20,1,,1,,,,,,1,4,2,490,,1,3,,,2,1,4,2,16800,1,550,39,1,1,16800,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,22,19,157,203,19,53,123,24,24,55,74,143,78,78,67,69,116,79,64,73,111,171,25,19,127,71,20,131,137,64,75,21,90,89,70,73,24,89,81,79,144,157,34,25,149,73,19,147,113,59,81,24,74,72,76,57,26,84,78,63,23,22,123,153,20,65,112,20,26,67,89,132,61,105,68,81,138,57,96 H,850242,8,800,4,16,1015675,57,1,1,2,1,4,1,2,,140,0,2,3,3,600,1,0,2,350,2,1,1,7,,,,1,1,,12,3,2,2,,,,,,1,6,15600,0,4,4,4,1,4,0,,0,0,0,46,0,0,0,0,0,1,599,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,12,17,20,58,92,69,19,61,47,16,42,86,75,81,49,59,66,67,96,71,19,16,15,64,84,63,17,44,74,19,79,142,95,105,55,72,63,55,94,60,15,14,19,68,83,43,20,54,63,16,102,134,101,98,45,58,61,71,86,70,18,19,15,55,98,52,15,76,54,15,45,96,97,100,70,51,53,67,94 H,850863,8,300,4,16,1015675,27,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,6,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,40,52,24,8,31,41,28,33,57,38,7,8,9,19,26,36,27,28,6,40,47,49,30,8,29,48,27,32,48,23,9,8,9,34,28,27,30,27,46,5,9,10,33,40,25,11,31,30,8,21,46,52,48,40,27,28,39,25,47,9,5,7,24,50,35,8,29,25,7,30,41,47,47,23,26,40,29,30,9 H,850895,8,600,4,16,1015675,93,2,1,1,,2,3,2,,80,0,2,2,3,,1,,,,,,1,5,2,510,,2,3,,,2,1,3,,,,590,24,1,7,30000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,78,31,113,90,34,75,139,121,177,88,87,82,110,104,28,24,28,80,144,27,83,191,100,111,147,90,27,32,33,83,108,94,85,89,163,220,152,96,25,24,89,151,108,102,169,95,32,29,27,77,88,99,98,101,180,192,158,99,30,170,105,28,77,96,30,89,133,138,155,93,91,74,79,95,31,20,30,80,172,149 H,851234,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,851272,8,800,4,16,1015675,27,1,1,3,6,3,2,2,,40,0,400,100,5,400,1,,,,,3,1,5,,,,1,2,,12,3,2,9,,,,,,1,4,165000,0,4,4,4,1,6,0,,0,0,0,2,0,0,0,0,0,1,273,,0,0,18,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,55,44,43,27,8,30,39,26,27,49,33,6,5,8,27,29,25,23,29,37,9,7,8,27,46,25,7,33,33,8,23,41,37,44,27,27,41,27,26,8,39,46,47,25,8,31,46,23,32,39,28,14,13,9,20,33,29,20,22,54,8,8,9,29,43,26,10,27,23,7,28,48,53,43,22,30,20,19,22,7 H,851540,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,851863,8,800,4,16,1015675,107,7,1,2,1,5,2,2,,170,0,2,50,1,660,1,,1,2900,1,1,1,9,,,400,1,1,,21,4,2,3,2,236000,2,,,1,1,236000,0,3,3,3,1,3,5,7,0,0,5,18,0,0,1,0,0,1,3520,2,0,1,22,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,204,122,215,201,105,160,28,124,117,106,35,112,162,111,34,34,110,86,88,34,200,109,182,218,125,209,31,98,109,133,34,117,168,89,29,28,113,82,100,164,31,108,31,30,103,27,158,106,96,115,163,122,35,90,170,163,106,110,121,212,32,113,32,33,137,32,154,116,109,113,204,101,34,127,184,190,133,117,92 H,853089,8,300,4,16,1015675,140,6,1,2,1,4,2,2,,100,0,350,120,1,1200,1,,1,640,1,1,1,9,,,,1,1,,18,4,2,4,1,111300,4,,,4,1,111300,0,4,4,4,1,6,0,6,0,0,0,10,0,1,0,2,1,1,889,3,0,1,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,30,148,311,132,32,137,127,85,204,272,268,201,171,182,169,149,139,45,188,36,38,116,252,121,25,177,173,40,114,245,269,144,132,165,133,116,166,42,58,279,194,105,43,111,205,219,139,243,148,47,45,36,188,224,162,160,138,217,55,135,192,110,35,131,207,117,116,319,177,31,60,37,166,140,115,130,161,249,245 H,853617,8,100,4,16,1015675,113,4,1,1,,3,2,2,,70,0,2,3,3,,1,,,,,,1,9,2,800,,1,3,,,2,1,3,1,47000,3,870,22,1,1,47000,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,117,135,95,203,41,113,137,163,104,157,207,32,41,140,97,83,94,188,40,32,117,112,113,212,36,102,123,197,106,185,169,34,39,112,116,104,132,239,39,26,119,99,106,242,45,102,101,241,101,129,158,30,32,116,117,104,107,199,45,30,110,123,120,214,31,94,101,224,105,182,205,39,46,131,136,96,95,211,32 H,853804,8,100,4,16,1015675,28,2,1,1,,3,2,2,,410,0,2,130,3,600,1,,1,930,1,1,1,9,,,,1,1,,17,2,320,3,4,58800,4,,,1,1,58800,0,4,4,4,1,3,0,2,0,0,0,31,0,0,0,2,0,1,1497,3,0,1,13,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,41,7,10,59,28,10,66,48,32,33,8,30,26,26,30,8,25,31,28,7,7,39,50,11,29,49,9,6,28,25,55,39,29,26,28,44,32,35,32,10,7,61,47,7,30,40,9,10,29,35,56,27,25,25,27,51,32,28,26,51,50,10,6,53,32,8,50,42,32,34,8,27,27,27,35,10,27,31,35 H,854952,8,300,4,16,1015675,131,1,1,,,0,5,,,100,0,2,3,3,,1,,,,,,1,1,2,250,,1,3,,,1,2,7,,,,350,101,2,4,1000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,106,129,58,179,43,42,103,125,202,173,43,130,127,129,44,129,109,135,62,44,128,138,172,50,247,235,155,106,53,38,203,135,172,99,196,135,186,159,185,273,132,153,48,219,33,38,101,122,255,240,32,139,128,116,43,120,118,144,89,45,114,121,125,79,195,193,124,102,61,56,153,131,147,114,158,139,175,141,156 H,855033,8,100,4,16,1015675,34,4,1,1,,4,2,2,,120,0,2,100,2,800,1,,1,950,1,1,1,8,,,,1,1,,18,4,720,5,1,91800,4,,,1,1,91800,0,4,4,4,1,6,0,4,0,0,0,16,0,0,0,1,1,2,1230,3,0,1,29,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,66,8,10,56,36,11,64,66,38,33,10,36,28,32,37,9,29,32,35,9,9,58,64,8,32,55,10,10,32,41,50,33,41,27,33,54,32,37,30,56,50,11,12,51,30,9,57,51,37,27,12,39,28,32,39,9,36,37,32,10,11,56,56,9,32,49,11,11,37,39,54,37,40,32,34,61,39,33,39 H,855197,8,100,4,16,1015675,128,2,1,2,1,2,2,2,,90,0,2,20,3,1200,1,,2,1500,2,1,1,6,,,,1,1,,22,2,2,3,4,150000,4,,,1,1,150000,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,1,0,1,2052,3,0,1,53,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,209,143,33,117,147,179,224,45,209,30,211,116,104,147,32,123,232,133,229,142,150,46,138,157,200,230,123,129,122,134,105,32,37,36,120,244,122,39,40,125,144,271,114,37,47,41,108,133,133,107,126,199,187,197,122,50,148,240,162,236,29,128,210,111,126,96,36,224,34,227,29,134,127,140,230,132,44,130,127 H,855332,8,300,4,16,1015675,105,1,1,1,,3,3,2,,70,0,2,80,1,470,1,,,,,3,1,7,,,,1,2,,15,1,1,2,,,,,,1,6,18991,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,1,1,1,321,,0,1,27,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,90,94,106,179,161,29,185,129,96,37,33,30,104,103,178,39,105,156,161,33,32,165,187,95,97,97,84,31,158,112,99,116,39,188,121,133,31,101,117,87,89,106,106,35,26,182,34,93,117,184,167,205,112,94,28,180,109,29,30,188,187,34,30,96,102,95,120,175,30,91,94,113,185,37,120,110,139,111,98 H,855380,8,600,4,16,1015675,112,2,1,,,2,6,,,90,0,2,3,3,,1,,,,,,1,5,2,620,,1,3,,,2,1,3,7,42200,4,710,20,1,3,42200,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,119,169,29,111,106,111,31,118,189,114,33,32,110,118,33,197,111,189,117,33,112,34,185,113,106,111,196,115,36,120,190,196,114,112,179,30,105,35,107,33,110,30,183,116,103,113,170,105,34,110,202,216,123,126,219,35,123,34,106,193,117,203,31,112,106,103,32,95,193,115,34,33,103,110,31,190,113,193,117 H,855558,8,100,4,16,1015675,33,2,1,1,,2,2,2,,170,0,2,120,1,400,1,,,,,3,1,4,,,,1,2,,8,2,540,6,4,21000,4,,,1,1,21000,0,4,4,4,1,7,0,2,0,0,0,21,0,0,0,2,2,2,371,,0,1,2,0,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,32,39,36,10,39,10,27,36,13,42,55,9,8,51,30,33,54,35,51,11,36,31,27,55,39,65,36,33,68,41,10,58,49,12,48,37,12,32,8,10,30,32,38,66,29,62,34,32,63,41,12,48,65,10,28,41,12,34,8,48,33,29,28,9,34,14,44,38,10,41,80,11,10,59,28,34,71,32,54,53 H,855649,8,700,4,16,1015675,102,1,1,1,,3,2,2,,50,0,2,140,1,190,1,,1,680,1,1,1,6,,,,1,1,,17,1,260,2,,,,,,1,6,40000,0,4,4,4,1,3,0,,0,0,0,27,0,0,0,1,1,1,892,3,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,172,104,30,106,95,31,113,183,172,181,111,107,104,104,100,26,28,31,30,101,28,112,172,102,94,180,105,30,29,30,90,96,103,115,94,174,183,193,176,110,183,99,33,102,103,32,101,179,177,162,101,108,99,92,90,32,30,30,32,98,33,97,181,108,103,190,101,31,29,31,102,101,116,101,105,165,183,179,164 H,855715,8,900,4,16,1015675,122,2,1,2,1,2,2,2,,80,0,2,70,1,400,1,,,,,3,1,4,,,,1,2,,16,3,520,9,4,55300,4,,,1,1,55300,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,2,393,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,50,130,127,103,109,40,34,193,29,150,160,172,197,210,116,129,36,231,127,235,102,33,42,171,196,113,145,118,113,35,188,146,144,118,36,226,133,110,45,45,148,188,218,31,41,126,93,118,91,202,40,113,128,130,190,32,116,136,223,108,180,107,113,123,152,217,226,51,214,138,133,41,47,33,127,143,176,37,121,135 H,855941,8,600,4,16,1015675,145,2,1,1,,3,2,2,,10,0,150,40,1,600,1,,1,300,1,1,1,5,,,,1,1,,18,2,30,4,4,2500,4,,,1,1,2500,0,4,4,4,1,5,0,2,0,0,0,101,0,0,0,2,1,1,366,3,0,1,35,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,43,137,240,209,241,141,146,123,169,135,40,40,40,135,240,135,49,150,40,152,229,159,40,45,42,138,136,143,159,124,311,278,249,164,38,156,273,167,47,154,281,145,46,40,37,156,136,180,127,157,231,261,253,141,50,150,251,137,249,142,42,146,238,238,228,146,137,141,126,128,44,39,39,128,243,148,45,136,234 H,856004,8,800,4,16,1015675,298,1,1,1,,2,2,2,,30,0,2,70,1,,1,,,,,,1,5,2,350,,1,3,,,2,50,6,,,,454,30,1,4,18000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,342,317,466,350,267,105,537,100,94,445,247,387,495,95,254,304,300,102,323,82,226,291,101,334,291,429,90,370,677,348,263,128,80,450,278,288,242,525,351,488,284,269,417,260,353,69,392,121,112,282,281,515,403,76,326,341,278,75,419,145,303,318,102,348,224,467,96,524,516,356,283,96,96,499,290,325,335,525,267,548 H,856039,8,700,4,16,1015675,85,5,1,1,,4,2,2,,130,0,2,30,1,550,1,,2,990,1,1,1,7,,,,1,1,,18,2,120,3,2,32000,1,,,1,1,32000,0,1,1,1,1,3,3,5,0,0,3,45,0,0,1,0,0,1,1206,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,82,77,23,155,85,89,144,90,79,153,93,86,85,146,24,27,24,25,90,28,92,83,149,26,98,87,25,86,82,27,74,74,87,27,148,152,136,141,80,129,82,91,25,150,80,94,137,90,91,144,89,90,90,157,29,23,23,25,91,28,88,86,161,24,82,82,23,79,81,27,79,75,89,26,134,160,144,137,81 H,856172,8,900,4,16,1015675,69,3,1,1,,4,2,2,,50,0,2,20,1,300,1,,1,480,1,1,1,8,,,560,1,1,,14,2,690,7,1,69700,2,,,1,1,69700,0,2,2,2,1,5,1,3,0,0,1,20,0,0,1,0,0,1,1168,1,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,82,127,76,75,27,129,22,21,74,58,114,121,22,67,67,67,26,61,22,60,66,21,64,70,103,16,116,117,66,67,23,23,131,75,71,66,140,83,139,71,84,110,78,66,20,118,23,20,60,70,115,108,17,64,77,72,23,62,20,89,73,21,77,73,114,20,121,101,63,77,18,19,127,78,73,82,114,91,115 H,856210,8,800,4,16,1015675,101,1,1,1,,3,2,2,,200,0,2,200,1,2000,1,,1,2200,1,1,1,8,,,,1,1,,23,3,840,3,,,,,,1,4,157000,0,4,4,4,1,4,0,,0,0,0,20,0,0,0,0,0,2,2670,3,0,1,47,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,170,104,33,127,104,26,104,176,173,147,93,110,83,98,98,28,37,27,29,91,31,105,174,88,86,178,125,38,40,33,106,97,102,102,102,194,168,179,30,106,36,97,170,112,93,195,128,27,36,28,83,125,113,82,95,170,164,165,170,86,175,106,31,95,98,32,80,174,160,149,108,131,88,90,121,29,36,35,163 H,856440,8,800,4,16,1015675,83,1,1,2,1,3,2,2,,70,0,2,3,3,350,1,,1,1200,1,1,1,6,,,100,1,1,,18,1,2,6,,,,,,1,6,0,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,0,1,1370,2,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,27,72,77,92,141,76,126,85,76,101,105,30,175,136,23,104,83,23,96,19,29,97,80,61,159,108,173,82,122,178,72,28,111,114,23,54,80,22,89,119,125,75,69,85,25,82,25,84,83,33,89,138,20,22,156,95,85,163,93,142,174,78,89,73,27,87,24,87,98,28,75,167,33,24,136,70,80,135,77,27 H,856459,8,400,4,16,1015675,178,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,194,274,363,46,44,307,148,48,297,309,177,172,55,179,154,173,212,54,200,171,174,299,283,59,67,295,189,61,268,276,174,150,47,186,174,160,191,62,188,177,188,325,330,46,62,298,153,58,310,279,146,153,53,165,190,180,161,50,173,188,163,316,323,45,58,311,169,63,336,291,193,179,49,191,158,146,193,49,201 H,856674,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,856978,8,800,4,16,1015675,30,4,1,3,6,3,2,2,,130,0,2,3,6,500,1,,1,1100,2,1,1,6,,,,1,1,,22,2,2,7,1,45500,2,,,1,1,45500,0,2,2,2,1,6,1,4,0,0,1,39,0,0,1,0,0,2,1480,3,0,0,42,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,30,50,51,7,8,57,30,7,56,69,34,27,8,31,25,30,30,9,28,30,32,11,8,45,45,9,34,57,11,9,29,27,56,32,24,37,42,50,49,34,36,10,7,49,57,8,27,65,9,8,39,38,42,25,37,32,20,50,38,27,28,53,59,8,9,57,29,7,43,54,30,28,7,25,40,24,26,7,28 H,857414,8,900,4,16,1015675,89,3,1,1,,3,2,2,,60,0,2,100,1,480,1,,,,,3,1,5,,,,1,2,,15,3,840,5,1,80000,2,,,1,1,80000,0,2,2,2,1,5,1,3,0,0,1,6,0,0,1,0,0,1,387,,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,146,149,32,30,101,27,85,95,173,81,161,84,147,85,78,26,87,97,190,92,93,93,91,91,148,79,30,133,68,167,86,25,75,26,185,101,30,29,29,80,94,91,81,91,31,107,157,23,92,23,107,175,96,141,25,83,146,190,133,134,29,25,140,158,83,181,103,93,21,104,24,86,24,84,103,137,73,90,89 H,857454,8,200,4,16,1015675,113,1,1,,,1,7,,,20,0,2,3,3,,1,,,,,,1,3,2,420,,1,3,,,1,1,4,,,,440,101,1,6,3600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,86,117,218,111,91,126,113,162,116,116,20,32,188,195,23,106,190,28,119,35,97,96,250,121,142,150,118,229,155,143,48,33,223,180,30,148,202,37,99,178,125,136,31,89,94,132,100,26,81,129,174,201,31,39,182,104,28,164,124,180,116,96,39,143,127,131,139,39,128,141,233,185,39,34,163,126,37,167,82 H,857841,8,600,4,16,1015675,123,1,1,1,,1,2,2,,60,0,2,20,1,,1,,,,,,2,4,2,750,,2,3,,,1,300,7,,,,855,,1,4,0,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,37,113,184,126,36,37,127,115,33,218,136,193,204,135,200,40,138,128,122,152,38,108,223,123,36,36,127,123,38,211,116,174,223,131,189,37,139,126,104,111,39,139,212,136,37,39,108,136,39,216,127,234,218,116,242,41,114,129,128,138,32,133,216,108,34,37,127,123,31,205,113,206,216,125,208,36,119,123,125 H,857847,8,500,4,16,1015675,286,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,2,750,,,,1,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,286,279,107,260,460,282,500,410,95,268,77,237,329,89,258,85,538,493,318,256,398,298,87,297,447,297,460,577,77,270,85,222,349,94,237,88,504,430,252,307,263,253,438,288,104,268,101,115,450,314,498,299,281,516,401,492,102,85,273,270,330,306,419,293,77,304,73,92,414,253,401,341,241,493,344,391,76,87,278 H,858323,8,400,4,16,1015675,27,1,1,1,,2,1,2,,130,0,2,3,3,,1,,,,,,1,4,2,200,,1,3,,,1,2,5,,,,330,17,1,6,23200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,7,7,30,32,31,31,30,45,42,48,31,9,31,52,22,27,52,29,48,45,67,46,28,28,27,25,24,6,8,10,29,52,31,10,27,22,10,23,10,9,9,7,31,37,30,23,25,41,47,54,29,10,32,45,26,29,54,23,48,42,50,43,27,28,31,23,27,9,8,7,37,46,31,10,24,31,10,27,7 H,858362,8,800,4,16,1015675,37,0,1,1,,4,3,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,44,12,64,36,68,38,10,51,11,55,38,10,10,33,31,39,45,46,65,71,47,11,70,39,58,40,10,42,11,55,36,10,12,37,31,37,36,44,66,60,33,14,61,37,56,38,12,36,13,60,44,10,10,43,34,40,32,40,64,65,38,12,61,35,74,42,10,42,9,72,40,12,10,40,45,38,37,38,61 H,858497,8,100,4,16,1015675,78,1,1,1,,2,2,2,,30,0,2,100,1,280,1,,2,170,2,1,1,4,,,,1,1,,8,1,600,9,,,,,,1,6,17900,0,4,4,4,1,4,0,,0,0,0,27,0,0,0,1,1,2,402,3,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,126,70,118,83,86,130,66,20,175,145,27,72,86,20,71,30,77,84,76,132,25,75,20,73,96,26,80,136,25,19,110,79,61,102,86,140,83,68,66,21,133,66,116,79,82,152,73,19,116,133,28,83,85,20,70,25,82,80,89,118,35,83,27,81,61,20,74,126,22,24,167,72,59,113,83,146,93,57,66,22 H,858757,8,900,4,16,1015675,91,4,1,1,,3,2,2,,40,0,2,3,3,420,1,,1,540,2,1,1,5,,,,1,1,,12,2,600,5,2,47500,1,,,1,1,47500,0,1,1,1,1,3,2,4,0,0,2,17,0,0,1,0,0,1,690,3,0,1,16,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,22,21,30,90,104,65,25,93,74,32,82,173,168,153,111,100,167,83,123,144,31,36,20,115,256,118,29,88,92,25,85,137,173,207,88,104,70,129,46,99,130,122,165,100,29,78,170,120,90,106,92,25,35,37,144,100,104,114,26,91,185,183,138,98,35,123,117,92,84,173,93,20,30,21,74,83,73,95,139 H,858864,8,900,4,16,1015675,53,2,1,2,1,2,2,2,,60,0,400,3,3,350,1,,,,,3,1,4,,,,1,2,,15,2,480,7,2,17480,4,,,2,1,17480,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,2,2,2,204,,0,1,12,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,94,87,20,65,94,15,15,48,39,72,45,50,58,62,106,62,57,21,50,108,20,16,75,52,17,66,79,63,44,12,52,80,61,56,16,51,60,103,46,15,84,104,23,74,105,19,16,44,50,71,60,48,49,52,68,52,55,16,66,75,21,21,95,58,19,97,105,41,55,19,60,60,53,54,14,43,66,83,38 H,859030,8,300,4,16,1015675,91,3,1,,,2,6,,,70,0,2,3,3,,1,,,,,,1,5,2,450,,1,3,,,0,1,5,5,14000,1,520,45,1,2,14000,0,1,1,1,1,1,1,2,0,1,1,,2,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,109,67,93,97,19,27,163,32,82,100,143,158,123,111,107,30,177,68,119,106,27,28,159,149,103,109,100,92,27,171,107,90,87,34,131,67,88,24,145,103,28,27,179,148,97,87,100,96,28,147,74,81,64,30,170,87,111,24,157,17,90,96,102,136,32,24,155,32,78,107,158,145,172,119,111,19,105,96,108 H,859040,8,100,4,16,1015675,115,3,1,1,,3,2,2,,100,0,2,30,1,330,1,,1,300,1,1,1,4,,,,1,1,,15,2,1000,2,7,12700,2,,,1,3,12700,0,2,2,2,1,3,2,3,0,0,2,48,0,0,1,0,0,2,513,3,0,1,20,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,195,129,146,177,100,37,212,199,40,115,123,34,99,32,117,135,126,153,105,36,187,142,152,180,110,33,199,146,33,133,106,49,124,40,103,104,129,154,111,40,185,113,95,191,118,37,178,214,41,110,113,28,109,41,134,115,106,206,113,39,242,118,84,212,141,38,168,197,51,107,103,38,138,30,106,132,96,182,111,37 H,859579,8,400,4,16,1015675,162,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,50,46,53,206,326,140,45,150,153,51,143,257,301,264,167,180,175,148,295,134,52,49,46,205,280,149,60,177,161,53,164,244,248,228,181,171,153,169,292,142,44,51,64,133,270,185,39,149,134,51,172,238,321,314,158,168,166,150,255,156,50,51,54,190,250,141,52,144,202,62,177,291,260,226,163,166,154,149,227 H,859741,8,300,4,16,1015675,30,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,7,30,37,10,35,49,53,61,25,33,41,29,25,11,10,9,28,50,44,37,10,41,26,8,36,55,54,50,32,24,26,26,27,9,11,9,26,61,7,29,53,32,31,55,34,11,10,9,29,31,37,28,25,50,53,50,32,11,10,31,50,30,25,55,34,10,9,7,33,27,30,32,37,66,49,49,30,10,53 H,860165,8,400,4,16,1015675,276,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,4,11,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,269,84,251,81,279,265,260,517,243,437,348,271,399,284,89,389,497,109,496,274,306,447,283,416,261,272,323,96,311,93,210,288,81,296,477,71,87,354,105,249,357,92,241,94,326,317,381,466,266,382,212,278,374,235,75,421,488,68,429,231,258,372,270,476,348,338,292,102,276,80,321,261,68,196,386,99,106,494,82 H,860411,8,100,4,16,1015675,29,2,1,1,,3,2,2,,70,0,2,2,1,390,1,,,,,3,1,5,,,,1,2,,8,2,710,5,1,34000,4,,,1,1,34000,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,1,2,191,,0,1,9,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,32,11,47,45,8,29,27,10,26,6,27,25,25,44,27,53,30,28,47,50,27,68,9,8,48,24,34,45,25,53,31,22,24,9,33,10,25,22,5,9,32,9,42,47,9,29,28,8,32,11,32,26,36,45,24,42,26,25,42,37,31,54,8,11,68,35,27,44,29,38,24,27,29,8,27,8,28,31,8,7 H,860493,8,400,4,16,1015675,32,1,1,3,1,3,2,2,,50,0,2,3,3,1000,1,,,,,3,1,6,,,,1,2,,24,1,2,3,,,,,,1,6,3500,0,4,4,4,1,5,0,,0,0,0,101,0,0,0,1,1,2,550,,0,0,62,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,29,36,53,24,7,10,8,38,29,28,26,32,54,51,55,32,10,30,39,9,27,31,7,24,63,58,52,34,35,32,23,30,9,9,11,41,55,28,8,55,34,29,42,41,13,8,10,37,28,30,34,30,48,39,50,39,8,31,61,11,40,21,10,35,41,56,61,30,28,34,32,31,12,9,6,22,46,32,17 H,860589,8,900,4,16,1015675,10,6,1,1,,4,2,2,,70,0,2,3,2,2000,1,,2,740,2,1,1,7,,,,1,1,,14,2,520,5,2,50000,3,,,1,1,50000,0,3,3,3,1,4,4,6,0,0,4,27,0,0,1,0,0,1,1137,3,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,15,10,10,19,11,3,1,4,12,8,10,10,10,16,20,21,10,22,19,10,1,11,11,3,10,20,19,15,10,12,10,12,10,3,1,3,11,4,3,8,20,11,8,24,13,3,3,3,6,10,11,15,12,20,16,13,10,16,15,10,3,10,10,3,13,16,18,20,10,8,10,12,8,4,5,3,10,5 H,860791,8,500,4,16,1015675,69,1,1,1,,3,2,2,,90,0,450,3,3,500,1,,,,,3,1,7,,,,1,2,,16,2,30,5,,,,,,1,6,34000,0,4,4,4,1,6,0,,0,0,0,10,0,0,0,1,0,2,273,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,72,117,58,110,20,19,63,63,72,105,71,23,71,22,18,107,64,118,73,78,68,21,86,21,101,125,70,68,64,21,69,115,73,112,127,19,67,23,62,66,72,21,76,18,105,132,65,64,71,21,63,116,65,109,108,19,66,20,79,63,74,96,70,128,21,19,72,74,66,122,72,20,76,20,22,121,74,116,66 H,860839,8,300,4,16,1015675,72,1,1,1,,4,2,2,,40,0,30,50,2,420,1,,2,380,2,1,1,6,,,,1,1,,11,1,550,8,,,,,,1,6,20000,0,4,4,4,1,6,0,,0,0,0,35,0,0,0,0,0,2,589,3,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,79,80,88,129,69,145,70,49,102,53,31,116,144,28,75,83,32,84,22,24,74,60,69,120,84,124,69,79,94,72,27,127,104,18,78,76,21,90,146,100,79,62,56,22,65,16,65,99,35,74,118,24,23,109,65,73,111,55,153,111,63,64,72,39,99,21,79,80,19,69,124,21,24,127,79,74,96,72,16 H,860885,8,900,4,16,1015675,155,6,1,1,,3,2,2,,230,0,2,3,3,650,1,,1,640,1,1,1,6,,,,1,1,,10,3,600,6,1,42300,2,,,2,1,42300,0,3,3,3,1,3,4,6,0,0,4,26,0,0,1,0,0,1,920,3,0,1,21,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,177,228,45,53,206,147,139,277,126,37,137,47,77,248,185,280,145,217,182,47,133,55,218,279,174,111,112,52,138,273,175,259,314,38,126,54,142,173,175,207,171,229,51,57,145,135,174,246,136,48,220,80,52,195,156,234,162,157,122,43,134,38,189,240,232,202,135,64,129,217,136,241,321,77,171,42,147,186,135 H,860906,8,100,4,16,1015675,118,2,1,3,1,3,2,2,,50,0,2,3,3,,1,,,,,,1,7,,,,1,4,,,2,2,3,4,61000,4,,,1,1,61000,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,2,2,1,,,0,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,36,116,32,145,142,37,125,233,36,35,171,105,122,181,108,202,115,127,39,119,257,114,215,112,120,215,106,35,184,168,34,116,125,39,123,32,132,120,36,111,228,115,184,129,118,212,127,44,175,244,40,113,130,39,127,34,125,121,194,110,33,117,32,106,128,41,122,189,34,32,186,128,109,220,134,151,105,126,216 H,860962,8,700,4,16,1015675,109,2,1,2,1,3,2,2,,100,0,2,100,1,500,1,,2,800,2,1,1,6,,,,1,1,,21,3,2,3,2,75250,4,,,1,1,75250,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,0,0,1,1392,3,0,1,54,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,110,33,110,97,116,184,109,190,115,102,174,111,31,219,195,29,101,93,31,30,107,32,108,114,107,183,108,179,113,102,181,112,30,184,210,31,101,122,33,30,109,33,104,110,106,187,116,179,106,105,189,106,28,183,174,32,112,117,31,30,108,29,106,110,122,209,105,198,123,107,183,114,34,185,195,30,108,105,35 H,860978,8,400,4,16,1015675,97,5,1,2,1,4,2,2,,130,0,2,3,4,810,1,,2,1700,2,1,1,6,,,,1,1,,18,2,2,7,1,102200,3,,,1,1,102200,0,3,3,3,1,4,3,5,0,0,3,24,0,0,1,0,0,1,2015,3,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,99,30,117,80,81,104,30,117,91,163,133,30,29,126,101,32,205,160,90,85,97,31,86,79,80,139,39,73,93,196,144,29,36,174,91,25,162,189,116,87,78,28,116,108,109,78,25,123,96,161,171,30,25,165,89,24,194,154,109,92,85,35,89,100,149,105,25,87,81,196,192,32,37,156,81,24,139,161,129 H,861072,8,900,4,16,1015675,104,1,1,,,3,4,,,40,0,2,3,3,,1,,,,,,1,5,2,540,,1,3,,,1,1,5,,,,580,21,1,6,33100,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,33,33,127,102,91,181,108,23,100,32,38,197,94,159,99,89,156,100,138,186,34,31,117,105,111,183,116,28,80,38,36,152,88,174,111,94,163,100,129,166,34,33,87,89,110,168,101,25,119,22,20,174,111,181,110,108,189,102,79,199,29,42,120,97,102,171,130,33,107,35,32,158,83,200,101,116,157,95,119 H,861107,8,100,4,16,1015675,46,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,47,15,11,49,77,14,76,45,42,47,48,41,46,13,73,44,49,83,48,43,78,43,46,78,42,49,48,75,11,14,13,12,83,48,45,13,70,46,12,85,49,16,17,47,83,11,79,47,43,48,47,39,45,14,68,43,55,83,41,43,76,49,44,75,47,47,47,75,12,16,14,10,74,41,38,13,79,46,12 H,861132,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,861281,8,200,4,16,1015675,57,1,1,1,,2,1,2,,80,0,2,3,3,,1,,,,,,1,4,2,240,,1,3,,,0,1,3,,,,320,35,1,6,11000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,58,49,65,88,102,76,96,23,82,17,62,19,18,61,66,60,72,65,60,49,13,112,90,60,62,17,59,54,49,55,17,50,46,91,86,17,15,93,87,19,59,60,65,98,101,61,88,19,95,23,62,20,16,54,70,57,64,60,58,74,15,84,102,50,51,20,51,49,62,57,13,53,51,95,99,15,14,84,97 H,861604,8,400,4,16,1015675,132,2,1,1,,2,2,2,,40,0,800,60,1,600,1,,,,,3,1,6,,,,1,2,,13,1,530,9,4,58100,4,,,1,1,58100,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,2,1,354,,0,1,23,0,9,9,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,183,132,138,131,135,259,125,137,32,41,235,194,49,160,227,29,40,157,141,142,215,148,106,116,135,159,160,217,36,36,198,225,42,112,253,45,31,146,103,149,40,122,136,127,146,43,88,121,214,223,41,42,244,147,36,187,257,133,178,146,41,130,156,119,114,34,140,129,214,256,47,36,206,144,36,206,212,117,131 H,861899,8,300,4,16,1015675,134,5,1,1,,3,2,2,,50,0,2,30,2,220,1,,,,,3,1,9,,,,1,2,,13,3,730,6,2,50300,3,,,2,1,50300,0,3,3,3,2,4,3,5,0,0,3,7,0,0,1,0,0,1,303,,0,1,29,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,47,188,115,145,234,145,216,129,150,292,112,37,173,198,54,115,117,50,127,266,219,124,140,97,31,168,53,123,135,33,104,224,52,34,157,148,192,260,178,33,59,173,117,118,142,118,174,113,150,288,225,52,187,214,43,171,138,38,115,258,177,113,206,129,37,171,41,94,166,41,109,195,40,47,213,162,126,203,181,45 H,862167,8,800,4,16,1015675,100,1,1,1,,1,2,2,,30,400,2,30,1,,1,,,,,,1,4,2,400,,1,3,,,1,420,9,,,,495,75,1,4,7900,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,150,86,101,27,109,32,32,191,147,98,105,105,98,28,168,89,98,113,31,152,173,102,94,24,89,34,26,193,193,108,111,110,117,31,199,97,97,100,35,166,190,123,108,28,105,28,29,171,141,99,84,84,123,27,165,103,82,104,29,162,154,122,106,36,89,25,29,152,170,96,97,106,122,27,149,120,96,119,42,145 H,863013,8,300,4,16,1015675,34,2,1,2,1,4,2,1,,80,0,100,3,6,300,1,,2,500,2,1,1,7,,,,1,1,,13,1,2,4,2,10000,4,,,1,1,10000,0,4,4,4,1,6,0,2,0,0,0,82,0,0,0,0,0,1,680,3,0,0,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,40,9,9,30,55,39,60,11,43,39,55,21,12,11,36,49,32,51,12,68,10,38,43,13,33,8,31,37,40,58,26,64,31,33,50,32,8,37,44,35,37,78,84,29,6,39,9,41,10,40,10,41,48,46,41,13,35,26,54,10,62,28,38,58,31,57,46,31,26,11,24,8,41,34,14,34,60,12,38 H,863319,8,900,4,16,1015675,25,6,1,1,,4,2,2,,40,0,2,30,1,580,1,,,,,3,1,9,,,,1,2,,15,3,60,7,2,55000,2,,,1,1,55000,0,2,2,2,1,5,4,6,0,0,4,5,0,0,1,0,0,1,207,,0,1,22,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,25,26,27,23,8,27,28,37,47,8,6,46,31,7,40,46,27,25,25,7,29,28,27,29,7,22,30,38,54,8,8,48,25,9,50,46,25,22,29,7,26,31,24,25,7,23,22,48,40,9,8,38,21,9,32,41,29,25,26,10,32,25,32,26,10,27,26,45,43,8,7,44,27,8,46,49,30,28,25 H,863338,8,500,4,16,1015675,84,3,1,1,,2,2,2,,50,0,2,40,1,250,1,,,,,3,1,4,,,,1,2,,12,2,650,7,6,12700,4,,,2,2,12700,0,4,4,4,1,7,0,3,0,0,0,19,0,0,0,2,2,2,203,,0,1,11,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,129,21,23,45,70,83,87,106,85,146,146,158,76,25,76,167,95,75,28,105,108,28,29,31,70,45,79,104,97,155,125,113,63,36,111,109,65,96,102,34,85,119,111,184,70,85,83,70,84,29,25,31,67,148,68,36,83,67,138,29,97,157,139,125,86,55,69,82,102,39,27,30,80,184,96,21,69,69,21 H,863478,8,800,4,16,1015675,255,0,1,,,2,6,,,,,,,,,1,,,,,,1,5,2,700,,,,1,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,234,408,276,230,239,66,70,227,74,360,77,427,268,422,422,233,250,251,252,284,83,307,412,81,94,241,293,459,237,284,266,248,502,271,225,76,68,534,457,418,270,75,254,259,203,390,416,276,505,91,397,83,226,75,85,243,223,234,261,229,401,285,82,419,423,263,273,84,243,244,249,256,77,237,229,434,441,90,82,72 H,863800,8,900,4,16,1015675,65,6,1,1,,4,2,2,,80,0,2,70,1,1200,1,,1,800,1,1,1,9,,,,1,1,,15,3,700,7,1,77000,3,,,1,1,77000,0,3,3,3,1,5,4,6,0,0,4,16,0,0,1,0,0,2,1008,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,17,21,64,18,65,55,105,64,111,55,120,61,69,20,52,64,19,98,106,69,78,60,99,69,22,114,64,100,61,20,75,23,108,63,21,18,60,68,64,106,16,20,65,20,66,51,109,67,108,75,106,48,54,23,60,57,19,89,82,70,74,65,110,72,23,125,67,104,68,25,74,25,108,54,19,22,64,62,63 H,864012,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,864154,8,200,4,16,1015675,15,2,1,1,,2,2,2,,80,0,2,3,3,680,1,,,,,3,1,4,,,,1,2,,11,0,900,7,4,22800,4,,,1,1,22800,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,2,2,1,304,,0,1,23,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,18,8,5,16,7,31,15,16,14,23,12,4,20,32,26,17,21,22,15,24,15,26,26,14,39,5,16,11,15,5,12,26,16,5,6,19,22,5,13,17,13,34,19,22,42,5,22,19,24,6,16,19,17,9,3,10,13,3,18,5,16,1,6,21,6,41,14,18,19,33,19,4,14,35,26,12,16,23,15 H,864414,8,500,4,16,1015675,74,3,1,2,1,4,2,2,,100,0,2,180,2,480,1,,,,,3,1,6,,,,1,2,,21,5,2,9,1,50600,2,,,1,1,50600,0,2,2,2,1,5,1,3,0,0,1,11,0,0,1,0,0,1,449,,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,74,82,22,130,20,18,74,62,135,122,18,74,79,73,21,77,75,69,22,22,70,73,124,23,115,132,70,76,21,21,141,71,72,76,126,81,75,74,126,136,82,78,19,112,22,20,74,70,116,126,21,75,72,63,19,73,75,76,21,23,63,71,129,21,122,118,74,79,21,21,148,76,75,79,147,71,82,81,147 H,864500,8,200,4,16,1015675,8,1,1,1,,3,1,2,,290,0,2,3,3,920,1,1000,,,,3,1,5,,,,1,2,,13,1,1100,3,,,,,,1,4,22200,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,1,1,1,626,,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,13,10,2,11,17,12,10,8,14,1,9,2,1,10,3,16,7,9,5,8,17,9,2,9,13,14,5,9,12,2,10,2,2,13,1,20,11,8,7,9,3,7,19,12,3,2,8,11,4,12,7,12,20,7,12,1,6,10,11,10,1,7,19,8,4,2,10,8,3,14,7,15,19,7,10,1,9,10 H,864503,8,600,4,16,1015675,276,0,1,2,,1,2,1,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,296,457,441,272,100,392,80,345,278,243,326,254,292,556,89,282,262,88,84,289,78,283,281,66,261,246,220,82,469,474,528,416,91,305,276,401,79,276,279,497,319,437,495,308,90,493,94,280,275,281,261,242,305,418,90,275,248,93,77,326,68,312,297,89,273,268,288,74,433,476,477,428,85,294,264,448,76,243,224,524 H,864578,8,400,4,16,1015675,42,5,1,2,1,3,2,2,,100,0,2,3,3,500,1,,,,,3,1,7,,,,1,2,,15,2,840,9,1,255708,2,,,1,1,255708,1,2,4,2,1,6,0,5,0,0,2,1,0,1,1,2,2,2,304,,0,1,23,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,37,70,47,13,78,51,9,43,43,10,36,13,36,66,56,66,54,103,42,88,46,10,30,53,11,15,54,31,43,70,42,84,51,48,42,12,36,11,50,13,28,75,40,12,71,56,11,50,26,10,50,15,37,62,52,66,45,77,38,76,30,12,45,67,10,11,74,40,52,92,42,81,48,47,34,10,44,16,39,10 H,864666,8,300,4,16,1015675,23,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,26,18,20,7,7,7,22,35,30,6,26,23,8,22,39,45,43,20,22,50,25,21,23,7,7,7,25,43,24,4,18,23,7,25,37,35,52,26,25,5,26,22,23,48,49,50,23,5,23,37,20,25,39,26,7,7,7,24,23,7,24,27,20,37,38,30,25,6,18,45,24,23,35,21,7,10,8,28,25,43 H,864891,8,300,4,16,1015675,95,3,1,3,1,5,2,2,,150,0,2,3,5,500,1,,,,,3,1,9,,,,1,2,,13,3,2,9,2,53000,2,,,1,1,53000,0,2,2,2,1,7,1,3,0,0,1,7,0,0,1,1,0,1,325,,0,0,28,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,88,125,127,30,27,145,109,25,112,180,116,112,28,91,108,77,82,30,63,132,102,138,134,34,34,161,76,39,234,141,120,87,24,93,78,115,99,32,85,76,90,28,28,154,126,27,98,139,26,31,95,82,195,122,119,101,102,168,82,129,95,28,27,154,161,33,102,178,41,25,84,110,122,78,76,90,95,171,101 H,865006,8,800,4,16,1015675,97,2,1,1,,3,2,2,,30,0,2,30,1,650,1,,2,1400,2,1,1,5,,,,1,1,,22,1,720,3,3,84004,4,,,1,1,84004,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,2,1,2,1807,3,0,1,40,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,102,98,101,95,32,90,97,156,152,29,30,181,101,29,164,138,96,94,83,142,103,110,101,80,196,109,106,24,26,144,169,34,99,174,29,25,132,90,102,31,104,92,94,95,29,103,92,157,172,30,27,184,111,29,163,161,113,102,108,164,91,103,78,103,161,99,83,27,31,164,149,26,100,169,30,30,91,120,109 H,865135,8,600,4,16,1015675,111,4,1,1,,4,2,2,,100,0,1,160,1,300,1,,2,1100,1,1,1,8,,,,1,1,,19,2,1600,2,8,0,2,,,1,3,65000,0,1,1,1,1,4,2,3,0,1,2,28,4,0,1,0,0,1,1518,3,0,1,51,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,194,130,205,114,112,32,105,31,101,34,115,110,191,97,113,199,32,36,206,104,115,177,109,31,195,103,196,110,34,118,34,199,109,36,35,102,107,103,125,186,172,117,201,104,115,34,107,32,123,29,116,107,179,113,111,183,31,36,192,114,107,188,114,36,191,103,207,121,36,116,32,186,111,36,31,110,107,105,107 H,865321,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,865577,8,700,4,16,1015675,105,3,1,1,,4,2,2,,80,0,2,70,1,510,1,,1,1200,1,1,1,9,,,350,1,1,,20,4,480,3,1,142900,2,,,1,1,142900,0,2,2,2,1,4,1,3,0,0,1,15,0,0,1,0,0,1,1740,2,0,1,35,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,31,181,190,107,102,32,30,181,115,102,113,180,105,112,102,30,102,104,183,30,174,31,31,100,108,178,177,31,110,113,104,33,105,97,101,181,116,102,172,32,192,30,29,108,106,173,168,30,113,103,106,32,102,101,105,190,104,112,32,186,32,176,176,103,98,32,30,172,101,103,108,198,104,106,100,32,122,101,29 H,865736,8,700,4,16,1015675,74,4,1,2,1,3,2,2,,120,0,150,3,3,260,1,,1,470,1,2,1,7,,,,1,1,,14,5,870,5,2,36100,2,,,1,1,36100,0,2,2,2,1,5,2,4,0,0,2,22,0,0,1,0,0,1,676,3,0,1,17,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,125,79,77,72,20,22,69,21,128,21,132,81,128,114,69,76,73,80,78,121,74,20,122,112,76,72,22,70,73,77,75,23,73,76,137,117,22,22,74,130,79,22,133,125,72,78,22,78,82,71,78,22,66,69,116,121,22,22,21,70,124,70,77,71,20,21,78,22,128,24,131,78,127,123,68,74,82,65,20 H,865942,8,700,4,16,1015675,109,4,1,2,3,5,2,2,,150,0,2,40,1,500,1,,1,1800,1,1,1,9,,,440,1,1,,22,3,2,5,7,90000,2,,,1,3,160000,0,2,2,2,1,4,2,3,0,1,2,18,3,0,1,0,0,1,2430,2,0,1,50,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,31,35,33,188,113,116,32,204,106,108,198,109,103,190,106,99,106,186,114,173,187,179,204,32,113,108,182,34,120,112,31,114,105,28,105,110,120,30,114,33,32,30,31,182,104,103,29,174,117,98,179,110,111,196,114,116,101,196,109,193,186,184,191,32,107,124,190,31,109,107,34,108,113,35,111,115,113,32,103 H,866326,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,866887,8,100,4,16,1015675,139,1,1,1,,2,3,2,110,40,0,2,130,1,590,1,,2,810,2,1,1,7,,,50,1,1,,18,1,30,2,,,,,,1,6,49130,0,4,4,4,1,2,0,,0,0,0,33,0,0,0,0,0,1,1338,2,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,129,141,161,255,248,225,146,40,142,229,133,111,231,139,42,49,45,158,44,129,128,143,139,233,233,252,153,38,120,269,143,114,275,154,40,43,38,120,41,158,144,154,141,304,260,230,165,38,143,243,151,124,253,154,32,34,40,135,35,124,141,146,142,235,234,228,154,42,151,256,125,135,214,129,37,42,41,133,41 H,866896,8,500,4,16,1015675,108,1,1,1,,3,2,2,,50,0,2,20,1,600,1,,1,860,1,1,1,5,,,,1,1,,15,2,200,1,,,,,,1,4,36000,0,4,4,4,1,1,0,,0,0,0,32,0,0,0,0,0,1,947,3,0,1,32,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,93,103,112,199,108,34,113,32,29,182,112,217,102,121,205,101,165,27,97,35,99,106,105,207,122,32,99,35,37,184,105,175,91,92,170,90,206,29,107,30,105,94,99,181,106,31,109,34,33,169,118,201,106,99,205,108,179,33,108,40,113,123,109,146,104,37,106,30,30,186,103,207,105,120,168,101,172,31,115 H,867117,8,900,4,16,1015675,51,0,1,2,,3,2,2,,,,,,,,2,,,,,,1,5,,,,,,3,9,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,50,51,17,15,14,45,87,48,16,57,57,16,50,77,80,89,54,47,67,50,53,53,15,15,14,44,82,51,16,53,42,16,51,89,97,71,61,58,89,47,54,49,17,16,14,54,86,51,16,54,46,12,36,99,92,82,56,43,100,63,47,53,14,16,20,42,83,49,13,50,53,18,51,69,88,72,46,64,101 H,867326,8,200,4,16,1015675,56,3,1,1,,2,1,2,,90,0,2,60,6,,1,,,,,,1,3,2,230,,1,3,,,2,60,5,2,47500,2,385,10,1,1,47500,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,104,69,61,36,19,19,36,31,115,25,118,53,74,83,52,46,52,65,74,66,56,14,67,81,61,60,12,69,118,60,78,21,52,35,56,86,26,25,53,121,73,20,79,69,81,93,17,62,49,47,42,15,76,55,98,111,13,22,13,44,114,50,51,47,18,28,43,22,115,17,101,48,127,102,41,42,77,69,18 H,867769,8,100,4,16,1015675,98,4,1,1,,2,1,2,,120,0,2,3,3,,1,,,,,,1,4,2,430,,1,3,,,1,300,4,2,30000,1,575,23,1,1,30000,0,1,1,1,1,1,1,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,170,101,154,114,96,86,27,102,28,92,85,28,126,177,26,26,152,91,33,89,38,107,29,93,113,96,153,127,176,85,96,194,106,33,167,177,28,84,154,96,198,109,153,99,105,111,32,108,31,109,110,31,84,135,25,34,135,79,25,103,36,92,28,78,101,120,211,100,164,91,102,159,88,33,155,160,32,85,177 H,867794,8,900,4,16,1015675,185,3,1,1,,2,2,2,,50,210,2,80,1,600,1,,1,550,1,1,1,4,,,,2,1,,13,3,520,5,2,11700,1,,,1,1,11700,0,1,1,1,1,1,1,3,0,0,1,74,0,0,1,0,0,1,723,3,0,1,17,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,179,59,193,65,224,169,50,166,434,69,62,400,201,155,345,222,345,366,199,50,134,236,155,246,187,138,220,143,53,234,323,55,169,175,61,254,74,190,169,51,251,303,162,330,165,233,298,176,45,286,238,53,166,174,48,163,49,139,181,333,199,68,278,97,182,192,83,224,249,60,61,270,216,253,275,169,315,174,158,401 H,867960,8,200,4,16,1015675,123,2,1,2,1,3,3,2,,60,0,2,200,2,600,1,,1,790,1,1,1,5,,,,1,1,,14,3,2,3,1,53300,4,,,1,1,53300,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,0,0,1,1050,3,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,143,133,164,121,237,129,109,119,39,94,45,122,112,47,129,211,32,32,200,188,114,144,185,104,212,146,92,134,45,159,52,122,154,36,108,183,29,35,30,42,123,104,47,161,39,137,181,146,158,111,183,141,136,185,120,31,202,187,41,42,115,94,37,146,41,117,144,116,156,135,166,98,99,198,138,40,256,206,229 H,868081,8,300,4,16,1015675,26,1,1,2,1,4,1,2,,100,970,2,3,3,,1,,,,,,1,6,2,230,,1,3,,,0,500,9,,,,372,58,1,6,7700,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,25,27,42,26,31,22,26,41,22,24,9,8,60,45,7,31,44,7,25,44,23,29,10,26,24,27,24,6,26,32,43,47,7,10,52,27,8,34,23,6,21,24,40,27,24,30,29,39,26,30,7,8,48,50,8,29,47,7,26,46,29,27,9,25,25,26,29,6,22,29,37,45,8,6,57,30,8,58,28 H,868157,8,200,4,16,1015675,29,4,1,1,,3,1,2,,140,4800,2,3,3,220,1,220,1,730,1,1,1,6,,,,1,1,,15,2,720,3,3,13600,1,,,1,1,13600,0,1,1,1,1,2,2,4,0,0,2,84,0,0,1,0,0,1,948,3,0,0,18,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,36,26,9,53,32,24,6,24,10,6,39,61,27,26,32,27,11,42,7,32,30,30,59,10,27,32,59,32,51,60,10,7,28,33,22,32,53,7,47,27,23,40,11,51,27,39,12,31,7,11,65,41,32,31,30,36,5,51,10,27,22,22,54,8,29,27,46,27,47,60,8,8,30,32,35,28,52,6,63 H,868340,8,100,4,16,1015675,76,3,1,1,,3,2,2,,90,0,800,3,6,220,1,,1,310,1,1,1,5,,,,1,1,,18,2,420,5,2,41900,4,,,1,1,41900,0,4,4,4,1,6,0,3,0,0,0,14,0,0,0,0,0,2,502,3,0,1,26,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,29,101,95,25,65,125,24,25,125,67,64,106,92,125,70,72,80,23,16,71,145,85,65,151,62,17,154,114,25,88,71,24,74,21,84,99,69,126,114,71,20,75,77,22,86,147,23,23,136,72,71,115,87,137,70,67,64,21,22,76,126,72,66,116,76,20,167,128,19,86,87,25,72,25,84,68,89,110,108 H,868398,8,300,4,16,1015675,113,4,1,1,,5,2,2,,110,0,2,250,1,250,1,,1,1100,1,1,1,9,,,,1,1,,17,2,200,6,1,75000,3,,,1,1,75000,0,3,3,3,1,2,2,4,0,0,2,24,0,0,1,0,0,1,1477,3,0,1,43,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,187,137,102,38,186,32,101,139,117,109,114,110,189,33,91,120,32,31,88,45,112,101,33,105,106,105,35,198,187,237,194,34,121,103,206,39,102,115,203,81,174,192,105,42,190,35,118,87,127,109,115,138,193,34,116,119,39,29,98,35,111,115,32,106,126,96,33,173,191,185,166,35,115,122,227,32,95,117,224 H,868742,8,400,4,16,1015675,116,2,1,3,6,4,1,2,,180,0,200,3,6,630,1,510,2,1600,2,1,1,7,,,,1,1,,23,2,2,3,1,83000,4,,,1,1,83000,0,4,4,4,1,5,0,2,0,0,0,29,0,0,0,0,0,1,2005,3,0,0,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,121,86,31,42,38,24,111,54,138,36,127,122,129,107,28,33,104,122,114,102,134,146,147,114,107,149,202,125,126,94,241,234,230,204,97,116,197,161,46,29,128,140,43,39,40,30,105,48,119,40,109,113,124,115,33,33,138,99,102,153,199,153,108,136,109,121,203,108,165,117,193,204,170,187,114,90,167,183,44 H,869294,8,500,4,16,1015675,180,5,1,1,,3,2,2,,100,0,2,3,3,,1,,,,,,1,7,2,450,,1,3,,,3,480,8,7,32800,2,590,22,2,3,32800,0,2,2,2,1,4,4,5,0,0,4,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,244,238,202,62,315,64,354,201,50,58,224,173,203,228,211,247,185,61,306,249,264,236,176,63,194,55,253,179,47,45,168,168,152,136,202,183,149,80,308,65,181,42,151,273,170,190,57,181,249,247,140,158,213,147,194,53,219,343,65,83,255,80,178,348,152,318,63,140,234,297,214,148,208,171,212,54,191,334,95,262 H,869336,8,100,4,16,1015675,74,1,1,,,1,5,,,1,0,2,3,3,,1,,,,,,1,2,1,460,,1,3,,,0,1,3,,,,460,38,1,6,14400,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,21,91,93,69,131,73,22,57,16,22,129,75,91,78,94,105,64,124,26,71,136,65,74,80,20,118,106,68,126,130,24,76,24,74,86,29,85,20,104,59,138,105,109,66,21,65,96,72,89,141,23,115,22,71,62,23,75,15,133,57,21,84,66,88,149,74,24,96,27,20,155,95,106,90,72,94,64,101,22,68 H,869397,8,100,4,16,1015675,177,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,333,356,218,269,231,187,182,160,181,259,165,249,172,262,256,289,285,180,178,169,60,66,185,51,50,192,195,179,179,48,154,55,183,66,61,50,54,189,222,153,58,63,190,49,69,205,174,182,180,51,181,47,138,53,52,58,60,198,211,168,310,324,180,242,308,206,172,167,183,303,136,281,159,321,284,228,293,172,212,147 H,869837,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,870015,8,400,4,16,1015675,14,4,1,1,,3,2,2,,130,1900,900,3,4,360,1,,1,270,1,1,1,5,,,,1,1,,8,2,600,6,1,15500,2,,,1,1,15500,0,2,2,2,1,3,2,4,0,0,2,41,0,0,1,0,0,2,525,3,0,1,8,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,13,11,12,25,24,22,15,3,10,24,21,14,17,12,5,4,2,13,22,11,10,11,13,3,5,5,11,27,11,4,9,9,4,17,17,20,27,12,4,12,12,12,10,23,18,20,17,4,10,18,14,17,15,10,5,3,4,17,25,12,12,13,16,3,5,5,11,27,14,4,9,10,5,13,22,24,24,12,3 H,870102,8,500,4,16,1015675,71,2,1,3,6,2,2,2,,190,0,600,3,6,4800,1,,,,,3,1,7,,,,1,2,,18,2,2,9,4,28000,4,,,2,1,28000,0,4,4,4,1,3,0,2,0,0,0,36,0,0,0,0,0,1,832,,0,0,35,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,75,78,22,121,65,64,116,61,78,117,64,70,74,121,21,21,21,21,71,22,68,70,120,22,64,75,19,75,66,21,81,69,71,21,121,133,126,119,75,22,77,73,118,20,70,66,20,67,66,19,68,71,71,18,118,120,122,126,66,132,60,71,21,115,70,67,125,76,76,118,80,73,72,132,24,19,22,23,81 H,870718,8,800,4,16,1015675,110,2,1,1,,2,2,2,,50,0,2,3,6,400,1,,1,500,1,1,1,4,,,,1,1,,13,2,70,8,,,,,,1,7,34000,0,4,4,4,1,1,0,,0,1,0,20,0,0,0,0,0,1,556,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,112,97,98,190,36,116,92,148,86,225,147,37,29,126,118,107,118,140,161,285,122,92,138,26,247,147,118,33,102,27,36,213,182,102,127,102,146,41,194,210,114,116,148,39,165,97,144,33,123,28,31,185,273,101,100,119,114,40,32,26,101,130,87,182,33,94,102,152,108,208,128,35,28,125,125,137,99,201,35 H,870939,8,100,4,16,1015675,118,1,1,,,2,4,,,40,0,1000,80,1,150,1,,1,830,1,1,1,5,,,,1,1,,18,1,600,2,,,,,,1,4,2000,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,1,1,1,1083,3,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,34,115,34,140,156,34,123,43,182,227,118,121,110,37,126,195,156,179,178,117,191,115,187,120,131,217,130,198,30,39,118,128,114,170,134,30,112,34,34,134,203,117,177,131,128,179,110,209,38,38,108,135,121,171,125,30,117,32,34,149,42,126,33,125,134,32,104,37,180,204,114,106,145,34,115,190,143,210,211,141 H,871068,8,300,4,16,1015675,63,4,1,1,,3,1,2,,190,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,2,2,3,1,58000,3,690,14,1,1,58000,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,71,115,61,62,92,87,18,18,16,93,50,49,55,82,132,89,98,74,18,23,57,135,67,61,140,47,18,21,23,64,35,79,84,68,118,128,91,59,15,21,74,109,71,90,125,58,17,23,17,96,68,57,67,75,83,94,121,56,15,19,58,106,85,53,110,60,28,18,17,77,56,66,71,64,107,104,96,47,15 H,871902,8,900,4,16,1015675,77,2,1,3,6,4,2,1,,70,0,2,50,2,400,1,,2,500,2,1,1,9,,,200,1,1,,16,2,2,5,2,59970,4,,,1,1,59970,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,0,0,1,1045,2,0,0,35,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,78,89,83,22,25,18,70,139,59,22,79,91,26,74,126,124,123,107,102,117,94,82,71,23,24,22,71,126,63,31,131,75,16,68,148,133,117,87,83,124,78,59,64,22,24,24,76,117,75,32,91,106,26,63,129,144,140,91,97,126,77,77,89,24,24,22,67,112,72,25,72,77,29,95,130,111,115,83,78,110 H,872108,8,300,4,16,1015675,133,2,1,3,1,4,2,1,,90,0,2,80,2,200,1,,,,,3,1,7,,,,1,2,,12,3,2,7,1,64000,4,,,1,1,64000,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,0,0,1,220,,0,0,10,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,137,239,161,50,142,39,39,207,98,191,179,117,224,186,284,38,40,133,115,197,119,285,146,35,178,53,41,198,112,155,116,110,191,150,245,47,32,179,149,108,162,258,119,40,141,54,40,240,160,225,123,119,212,112,217,36,40,126,155,150,142,203,103,48,160,36,36,188,157,209,126,145,247,157,243,39,30,120,108 H,872302,8,400,4,16,1015675,17,1,1,1,,1,2,2,,20,0,960,3,6,,1,,,,,,1,3,2,150,,1,3,,,0,1,5,,,,250,29,1,6,10200,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,29,13,15,20,4,15,7,18,12,4,22,25,6,5,27,17,17,30,5,21,5,16,16,16,30,18,26,15,18,29,21,7,28,31,5,18,19,5,26,15,26,17,17,16,5,17,5,16,16,5,18,31,5,4,32,15,17,30,5,18,5,19,19,17,34,17,30,17,17,30,13,5,31,28,5,21,18,5,23 H,872322,8,100,4,16,1015675,35,2,1,1,,2,2,2,,90,0,500,3,6,200,1,,,,,3,1,5,,,,1,2,,13,2,560,9,4,39400,4,,,1,1,39400,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,1,242,,0,1,13,1,6,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,10,8,10,31,51,35,10,36,41,11,54,70,52,59,36,30,38,41,11,35,54,58,56,36,8,35,63,38,39,70,53,12,12,9,33,34,29,42,47,35,10,10,11,30,52,36,10,36,47,10,35,52,67,68,36,29,34,45,12,32,63,57,55,51,10,38,71,37,34,58,49,9,9,10,35,40,37,45,58 H,872401,8,800,4,16,1015675,102,2,1,1,,2,2,2,,90,0,2,80,1,,1,,,,,,1,5,2,480,,1,3,,,1,480,7,5,11500,2,690,72,1,2,11500,0,2,2,2,1,4,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,22,27,197,32,109,95,164,205,181,95,103,30,193,121,33,99,88,103,166,222,97,90,104,112,33,226,128,98,95,29,157,98,85,32,99,26,33,151,105,92,156,163,24,168,113,104,23,31,27,105,86,176,34,108,158,95,84,93,28,35,107,123,128,107,179,37,124,101,111,216,31,86,99,151,115,173,179,31,107 H,873685,8,400,4,16,1015675,101,0,1,1,,0,1,2,,,,,,,,2,,,,,,2,1,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,174,98,114,125,117,147,93,93,27,32,149,156,31,94,174,33,31,92,106,80,185,102,96,127,101,155,125,107,30,31,170,149,26,81,190,30,27,104,105,85,161,106,131,80,98,194,79,91,24,29,178,147,33,111,166,30,29,92,91,96,177,103,111,115,90,148,107,88,37,39,186,177,27,81,170,30,28,90,82 H,873968,8,200,4,16,1015675,27,2,1,1,,3,2,2,,50,0,1900,10,1,450,1,,1,1100,1,1,1,8,,,240,1,1,,16,3,900,7,1,58000,4,,,1,1,58000,0,4,4,4,1,3,0,2,0,0,0,34,0,0,0,0,0,1,1633,2,0,1,22,2,2,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,35,22,25,9,9,37,10,36,20,48,30,67,27,24,10,40,36,10,44,50,6,65,99,17,28,37,20,7,59,31,48,28,8,56,29,27,5,26,5,26,21,23,32,7,7,59,9,27,30,49,49,50,29,29,7,43,28,10,29,42,10,51,39,31,28,21,29,8,42,29,27,30,9,39,39,33,7,32,10,18 H,874123,8,400,4,16,1015675,294,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,236,226,83,335,107,561,559,285,348,294,98,249,410,322,471,494,110,411,356,473,332,307,574,288,397,84,84,328,333,312,410,283,98,289,79,88,456,225,300,475,308,322,654,280,481,94,81,278,285,251,439,275,109,313,74,94,518,252,283,125,312,296,87,322,93,456,498,284,299,314,92,297,520,252,420,411,82,351,228 H,874268,8,400,4,16,1015675,169,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,156,184,60,181,236,137,279,332,51,176,46,157,155,52,207,61,262,231,165,145,172,151,291,209,53,181,49,54,303,166,307,142,153,291,165,327,53,48,207,135,140,187,313,168,56,190,47,46,242,169,282,154,190,303,174,289,46,48,144,177,150,153,63,164,268,148,280,295,57,195,49,164,157,42,175,59,308,287,182 H,874381,8,900,4,16,1015675,68,2,1,1,,2,1,2,,80,0,600,3,3,,1,,,,,,1,5,2,300,,1,3,,,2,600,5,1,26000,4,480,22,1,1,26000,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,71,21,66,70,25,61,129,21,23,111,72,78,134,56,102,71,57,64,21,111,62,18,64,70,24,68,114,17,18,116,69,61,123,70,98,58,72,77,25,118,67,18,76,61,20,58,126,23,22,118,73,61,110,60,115,75,67,65,20,118,59,18,63,55,22,76,124,20,21,121,64,81,107,71,118,69,67,76,20,115 H,874523,8,500,4,16,1015675,131,2,1,1,,3,2,2,,50,0,1000,80,1,360,1,,,,,3,1,6,,,,1,2,,16,2,100,3,4,29100,4,,,1,1,29100,0,4,4,4,1,2,0,2,0,0,0,17,0,0,0,2,2,1,417,,0,1,31,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,37,245,133,38,43,47,131,182,40,133,130,129,133,240,274,124,112,123,180,40,223,36,147,218,205,222,116,38,202,116,128,135,135,40,47,121,121,118,150,199,40,214,127,44,40,39,148,224,38,135,136,144,134,189,197,122,150,139,101,34,244,36,119,275,223,226,105,37,236,124,146,123,156,40,37,145,130,115,130 H,874590,8,900,4,16,1015675,268,4,1,1,,3,2,2,,130,0,2,50,1,,1,,,,,,1,7,2,650,,1,3,,,2,720,2,3,29000,2,890,37,1,1,29000,0,2,2,2,1,1,1,4,0,0,1,,0,0,1,0,0,2,,,1,0,,2,3,7,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,426,86,86,239,280,360,262,231,272,299,396,262,273,82,93,415,443,84,284,256,427,77,80,266,313,491,274,223,245,319,459,266,267,82,88,452,402,74,254,260,87,442,425,241,238,71,270,259,288,257,79,309,275,337,427,81,93,369,254,258,79,411,483,281,313,98,276,222,238,263,93,267,270,477,488,91,86,424,303,304 H,874728,8,700,4,16,1015675,105,2,1,2,1,3,2,2,,110,0,2,3,3,410,1,,,,,3,1,7,,,,1,2,,22,2,2,6,4,76400,4,,,1,1,76400,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,2,1,322,,0,1,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,98,97,175,108,119,32,191,31,37,93,109,180,179,32,91,93,111,33,102,30,31,34,109,183,28,108,114,106,115,182,186,102,95,111,170,32,176,122,36,118,113,99,31,94,92,187,28,211,160,106,102,32,31,165,97,111,96,179,114,176,206,169,104,32,182,117,107,111,103,29,33,106,116,96,32,161,32,108,171 H,874981,8,300,4,16,1015675,124,2,1,1,,4,2,2,,100,0,2,100,1,500,1,,1,900,1,1,1,7,,,,1,1,,17,3,30,2,1,92000,4,,,1,1,92000,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,0,0,1,1103,3,0,1,42,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,39,236,124,35,184,221,124,131,48,124,123,120,130,37,94,129,232,209,119,33,34,228,154,37,201,185,131,132,43,119,120,109,102,35,118,129,198,193,130,36,41,193,155,37,234,213,126,147,37,136,139,121,128,32,112,129,197,190,128,31,34,209,122,38,202,176,119,146,45,118,124,103,111,34,107,120,228,176,108 H,875071,8,700,4,16,1015675,87,2,1,1,,3,2,2,,40,0,2,120,1,340,1,,,,,3,1,7,,,,1,2,,18,2,20,1,1,80500,4,,,1,1,80500,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,1,1,1,357,,0,1,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,87,89,92,134,74,152,91,83,149,96,24,151,144,24,100,88,27,88,25,28,82,91,79,151,87,152,77,92,152,75,27,155,159,30,79,95,28,94,26,27,100,90,89,154,83,158,87,91,150,86,25,166,137,25,90,84,28,83,27,24,87,91,89,152,82,150,88,82,147,84,25,144,150,23,87,96,31,84,27 H,875138,8,100,4,16,1015675,47,2,1,3,1,3,2,2,,80,0,600,3,6,400,1,,,,,3,1,6,,,,1,2,,15,3,2,3,4,22000,4,,,1,1,22000,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,2,2,2,215,,0,0,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,49,47,67,49,43,12,16,76,90,15,43,79,17,11,44,52,63,48,45,50,43,37,11,45,58,64,77,15,17,72,44,17,80,104,43,39,13,35,52,41,49,37,77,50,41,13,13,60,86,17,42,74,16,13,46,48,73,46,51,53,49,51,13,40,56,71,90,14,11,85,54,17,56,67,43,42,19,45,47,51 H,875462,8,800,4,16,1015675,117,4,1,1,,4,3,2,,150,0,2,3,3,200,1,,1,800,2,1,1,5,,,200,1,1,,13,2,150,3,1,61100,4,,,1,1,91100,0,4,4,4,1,4,0,3,0,1,0,16,0,0,0,0,0,2,1205,1,0,1,12,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,182,136,147,231,163,201,235,132,171,118,184,123,124,125,88,129,168,109,34,90,44,142,104,40,39,36,42,109,36,123,31,118,129,129,114,35,59,114,29,143,32,97,134,44,43,28,39,136,34,187,38,103,99,101,131,43,46,112,205,134,133,90,160,171,163,190,198,109,231,135,239,114,74,90,145,206,177,148,214 H,875499,8,600,4,16,1015675,116,4,1,1,,4,2,2,,60,0,2,110,1,500,1,,1,1400,1,1,1,9,,,,1,1,,19,3,600,3,1,156000,2,,,1,1,156000,0,2,2,2,1,5,1,4,0,0,1,12,0,0,1,0,0,1,1620,3,0,1,49,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,212,115,115,97,33,35,113,34,174,35,204,112,184,190,120,107,116,118,121,201,126,37,208,203,117,120,36,112,130,123,121,32,117,125,217,214,35,35,120,197,105,36,221,218,125,113,36,108,111,124,120,33,127,119,202,196,33,34,34,113,175,131,121,121,42,28,106,37,201,32,203,120,188,195,114,115,106,122,30 H,875820,8,700,4,16,1015675,122,2,1,1,,3,2,1,,100,0,2,40,1,330,1,,1,550,1,1,1,6,,,,1,1,,15,3,150,5,1,17800,4,,,1,1,17800,0,4,4,4,1,3,0,2,0,0,0,47,0,0,0,0,0,2,703,3,0,0,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,127,204,33,122,41,109,210,129,210,36,105,196,201,113,123,119,116,115,41,35,129,201,41,114,37,130,215,129,225,37,118,196,197,115,122,116,132,118,32,207,123,34,203,131,214,128,40,122,39,210,113,37,37,125,120,111,136,129,201,220,120,36,214,134,184,112,34,123,36,175,125,37,40,123,104,118,130,136,171,44 H,876086,8,100,4,16,1015675,22,1,1,1,,2,2,2,,130,0,170,3,4,390,1,,,,,3,1,5,,,,1,2,,21,3,1000,4,,,,,,1,4,33800,0,4,4,4,1,1,0,,0,0,0,15,0,0,0,1,1,2,409,,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,20,6,20,35,22,20,39,17,6,8,5,22,29,17,20,24,33,36,44,5,21,36,23,5,22,19,5,23,35,42,51,27,21,26,25,28,8,5,39,8,15,32,18,6,24,21,6,19,32,37,37,17,22,32,22,21,7,9,5,38,21,6,24,38,25,25,43,25,7,7,5,23,27,17,22,18,34,37,7 H,876600,8,800,4,16,1015675,106,3,1,,,3,4,,,30,0,2,190,1,,1,,,,,,1,5,2,530,,1,3,,,1,1,9,7,21000,2,750,43,3,3,21000,0,2,2,2,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,30,24,93,175,32,215,110,102,121,110,96,110,30,171,109,115,171,146,110,102,120,94,152,103,106,118,208,39,31,29,31,149,96,89,35,174,100,117,153,32,31,27,98,153,31,190,102,85,102,101,95,111,29,175,118,95,177,136,107,96,116,111,178,129,100,104,202,36,32,29,33,169,98,131,30,206,99,107,206,36 H,876616,8,900,4,16,1015675,123,1,1,1,,3,2,2,,50,0,1200,3,3,400,1,,1,770,1,1,1,7,,,,1,1,,13,2,70,5,,,,,,1,4,110200,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,0,0,1,926,3,0,1,22,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,86,102,170,169,162,190,158,116,122,150,120,172,109,201,177,261,257,315,187,100,122,121,46,28,179,55,41,146,123,136,130,39,122,33,84,43,43,27,58,124,163,104,193,185,112,217,195,128,172,127,92,218,90,255,215,210,197,185,250,149,103,124,38,39,143,35,44,114,139,122,111,36,103,37,91,38,35,35,42,95 H,877090,8,500,4,16,1015675,110,2,1,3,5,3,2,2,,90,0,2,80,2,280,1,,,,,3,1,5,,,,1,2,,17,4,2,9,4,52000,4,,,1,1,52000,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,360,,0,0,32,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,111,34,101,30,115,29,34,34,28,106,104,38,35,106,29,33,106,89,218,210,235,110,197,98,178,114,114,111,98,164,164,133,109,172,121,91,178,168,108,109,105,178,140,164,107,198,194,140,165,114,108,171,220,112,181,168,102,106,32,29,34,117,33,113,37,111,116,90,107,33,35,113,121,32,121,108,30,26,109 H,877114,8,300,4,16,1015675,152,3,1,1,,3,1,2,,100,0,2,3,3,,1,,,,,,1,5,2,700,,2,3,,,3,30,6,7,47400,4,803,20,1,3,47400,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,1,1,2,,,1,0,,2,14,14,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,191,46,47,170,153,140,165,150,254,113,39,277,144,236,181,52,166,44,227,247,188,44,46,139,147,167,143,150,209,155,52,234,137,251,168,50,142,48,281,267,160,57,54,186,146,180,141,132,283,146,47,266,152,251,154,48,139,48,238,249,176,51,41,149,135,133,153,125,255,155,41,238,152,247,152,42,139,44,264 H,877603,8,200,4,16,1015675,57,4,1,1,,3,2,2,,100,0,720,180,4,,1,,,,,,1,5,2,230,,1,3,,,3,1,8,1,60000,2,570,11,2,1,60000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,19,122,54,14,76,96,44,65,17,88,47,60,75,19,62,50,87,94,59,105,107,28,100,71,15,19,73,68,111,76,44,46,83,95,63,45,14,23,80,17,15,88,50,19,142,81,39,78,16,51,74,56,65,24,55,71,90,94,64,101,94,19,50,74,15,19,46,50,94,58,58,59,75,109,54,58,16,17,38 H,877733,8,500,4,16,1015675,266,2,1,1,,3,2,2,,80,0,2,80,1,900,1,,1,870,1,1,1,5,,,,2,1,,15,4,670,3,,,,,,1,5,49300,0,4,4,4,1,1,0,,0,1,0,26,0,0,0,0,0,2,1086,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,368,239,391,376,78,80,224,247,249,257,360,99,270,296,293,421,92,222,245,363,93,330,88,107,401,445,317,267,231,268,90,411,288,278,277,95,404,314,313,415,76,244,85,82,410,492,283,249,268,248,83,473,270,255,270,87,488,271,249,80,408,280,424,469,85,91,298,298,313,267,400,75,267,239,229,410,79,276,261,84 H,877771,8,800,4,16,1015675,135,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,14,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,133,144,40,43,35,154,322,138,36,144,130,40,121,186,212,210,118,156,262,130,201,128,41,50,39,123,202,121,35,155,135,37,133,265,207,187,174,122,32,160,128,132,247,210,200,146,51,149,239,128,119,228,134,37,41,41,116,133,44,127,165,148,244,232,245,154,38,127,203,132,119,200,163,58,39,33,145,116,211 H,877831,8,500,4,16,1015675,26,4,1,1,,5,2,2,,60,0,2,60,1,300,1,,1,650,1,1,1,8,,,100,1,1,,16,3,90,6,2,25000,2,,,1,1,25000,0,2,2,2,1,2,2,4,0,0,2,42,0,0,1,0,0,1,878,2,0,1,26,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,26,24,28,40,27,6,24,8,9,46,28,47,29,28,56,25,45,10,25,9,26,27,24,42,24,8,29,8,8,47,26,40,28,26,44,25,41,8,27,8,29,26,26,49,30,7,29,10,8,41,28,43,25,26,54,28,51,8,28,8,30,28,27,42,23,8,25,8,7,37,23,52,24,27,45,24,45,9,24 H,877846,8,700,4,16,1015675,82,3,1,2,1,4,2,2,,110,0,2,3,3,400,1,,1,900,1,1,1,8,,,500,1,1,,19,4,360,5,1,130200,4,,,1,1,130200,0,4,4,4,1,2,0,3,0,0,0,14,0,0,0,0,0,1,1540,4,0,1,26,3,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,97,86,76,23,21,22,82,139,80,24,95,87,27,84,120,143,160,83,86,27,86,82,79,126,118,138,82,25,77,136,98,94,149,80,24,27,26,80,80,27,75,74,87,156,168,139,81,26,78,149,74,80,134,81,27,22,20,76,80,146,73,83,93,28,27,25,73,141,83,26,75,74,23,84,152,139,126,82,80,122 H,877888,8,800,4,16,1015675,52,1,1,1,,1,2,2,,30,0,900,3,4,330,1,,,,,3,1,4,,,,1,2,,8,2,360,9,,,,,,1,4,9600,0,4,4,4,1,7,0,,0,0,0,26,0,0,0,1,1,2,205,,0,1,12,,,,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,37,64,96,39,13,17,74,92,15,73,64,49,71,40,48,68,12,96,55,52,101,54,41,77,102,39,80,45,45,69,84,26,17,24,15,105,56,51,18,79,100,46,70,66,44,51,84,52,53,58,70,17,22,20,13,71,46,40,24,16,63,121,101,51,16,17,55,93,12,85,42,56,71,49,47,73,17,82,52,16 H,877900,8,800,4,16,1015675,137,4,1,2,1,3,2,2,,140,0,2,3,3,250,1,,2,400,2,1,1,5,,,,1,1,,13,3,480,3,1,29900,2,,,1,1,29900,0,2,2,2,1,4,2,4,0,0,2,27,0,0,1,0,0,2,666,3,0,1,17,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,135,43,149,51,224,182,158,148,150,37,110,249,124,226,285,36,102,39,147,188,143,42,137,51,254,195,147,159,123,49,124,207,113,216,295,41,124,47,120,140,153,31,113,37,198,270,146,142,118,51,175,295,108,199,220,42,141,38,177,172,152,30,116,48,203,206,153,156,112,57,212,251,136,174,226,56,123,33,160,155 H,878001,8,100,4,16,1015675,22,6,1,1,,3,2,2,,50,2000,300,10,6,,1,,,,,,1,5,2,360,,1,3,,,1,1,9,4,23450,2,445,23,1,1,23450,0,2,2,2,1,3,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,50,7,20,8,37,39,23,35,6,16,30,31,24,29,23,18,22,7,7,21,51,7,20,5,25,49,28,36,7,28,32,36,29,23,25,24,20,5,39,27,9,36,18,38,24,5,22,8,36,17,9,9,17,25,24,26,27,36,27,23,5,28,31,48,32,10,20,8,37,23,7,10,30,25,20,16,24,33,7 H,878025,8,800,4,16,1015675,27,1,1,1,,3,2,2,,90,0,300,3,6,,1,,,,,,1,5,,,,1,4,,,1,40,5,,,,,,1,4,10500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,23,32,8,44,5,7,24,27,39,44,11,29,28,30,8,26,25,27,48,53,32,29,8,62,7,9,29,24,57,50,9,29,26,23,7,28,27,29,8,9,29,29,46,8,46,49,25,29,9,8,50,23,25,29,46,26,25,30,9,7,30,25,41,7,44,46,32,25,9,7,48,34,30,23,49,26,29,32,47 H,878037,8,400,4,16,1015675,25,4,1,1,,2,2,2,,130,0,100,3,6,500,1,,1,560,2,1,1,5,,,,1,1,,15,5,30,4,1,82000,2,,,2,1,82000,0,2,2,2,1,5,2,4,0,0,2,11,0,0,1,0,0,1,751,3,0,1,14,2,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,25,54,44,34,26,24,33,26,23,7,8,7,31,49,29,8,24,11,23,39,22,8,7,7,30,23,31,28,22,37,39,45,23,6,26,42,28,49,22,5,27,43,42,42,27,25,28,23,23,8,8,7,23,42,27,9,30,7,26,36,30,10,8,7,20,23,29,29,28,42,44,34,21,10,30,46,27,48 H,878570,8,800,4,16,1015675,110,2,1,1,,3,2,2,,40,0,2,120,1,300,1,,1,1500,1,1,1,7,,,,1,1,,18,2,500,3,1,124000,4,,,1,1,124000,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,1,1702,3,0,1,24,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,25,170,193,112,220,97,107,32,114,39,92,30,128,121,183,103,89,174,160,144,96,111,108,185,136,42,196,103,197,99,25,103,30,194,113,30,38,110,100,195,164,29,32,122,41,112,95,215,106,182,97,171,103,128,33,101,95,29,34,131,100,123,147,33,126,193,38,99,32,122,173,103,202,31,99,199,197,99,130 H,878640,8,400,4,16,1015675,15,1,1,1,,1,2,2,,50,0,2,3,3,,1,,,,,,1,2,2,300,,1,3,,,1,240,8,,,,370,22,1,4,20000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,26,13,13,21,18,19,13,17,5,5,33,27,3,12,29,3,3,19,13,13,21,16,14,18,17,23,14,15,3,3,36,25,6,18,20,5,3,16,18,15,7,17,16,16,16,4,12,15,29,23,5,3,27,21,5,22,27,13,14,17,4,17,14,16,12,5,18,12,25,24,3,5,25,14,5,25,20,20,19 H,878707,8,100,4,16,1015675,59,2,1,1,,3,2,2,,70,0,1700,140,2,500,1,,2,1100,2,1,1,6,,,250,1,1,,22,3,2,3,4,44400,4,,,1,1,44400,0,4,4,4,1,4,0,2,0,0,0,54,0,0,0,2,0,1,2011,2,0,1,44,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,66,103,55,22,61,16,105,80,18,19,64,61,53,56,62,110,57,20,98,89,52,110,63,16,55,18,103,53,17,17,66,60,56,61,60,93,63,16,96,19,55,19,57,112,67,81,16,63,96,101,50,71,60,51,60,17,77,100,17,18,58,17,66,110,66,111,17,51,89,108,66,65,58,59,63,17,60,91,17,88 H,879329,8,200,4,16,1015675,29,4,1,1,,2,2,2,,40,0,2,80,1,600,1,,2,650,1,1,1,4,,,,1,1,,13,2,360,4,1,89800,2,,,1,1,89800,0,2,2,2,1,5,2,4,0,0,2,11,0,0,1,0,0,2,850,3,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,60,10,51,29,32,10,8,10,31,34,72,8,30,55,27,31,37,41,10,31,33,42,37,50,9,29,35,22,46,11,29,28,48,31,41,44,9,10,30,69,59,8,36,30,37,8,9,7,39,42,71,10,30,41,33,35,32,44,13,28,46,50,24,48,7,25,24,27,51,6,25,33,65,28,43,45,8,10,26 H,879365,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,879467,8,700,4,16,1015675,129,2,1,1,,4,2,2,,40,0,2,190,1,480,1,,,,,3,1,7,,,,1,2,,18,2,460,3,4,96000,4,,,1,1,96000,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,1,1,522,,0,1,37,1,6,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,128,127,138,192,202,220,123,35,133,212,116,135,220,125,43,39,41,124,216,150,123,125,129,40,40,42,104,235,127,35,136,134,40,127,183,249,243,139,41,135,143,129,135,214,204,206,125,44,129,219,124,133,222,121,40,40,43,130,187,128,114,135,112,41,35,36,132,213,122,34,135,123,37,131,216,244,228,136,35 H,879645,8,500,4,16,1015675,75,5,1,2,1,4,2,2,,150,0,1500,3,4,2000,1,,2,2000,2,1,1,8,,,,1,1,,20,6,2,5,7,183900,2,,,1,3,195200,1,2,4,2,1,6,0,4,0,1,1,18,0,1,1,0,0,2,2859,3,0,1,62,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,126,74,76,125,77,123,23,21,72,74,71,139,78,21,78,19,20,115,99,75,24,83,84,23,68,21,117,132,78,76,78,20,72,126,100,130,114,23,75,75,133,75,87,149,70,136,21,19,82,77,81,149,69,19,68,21,25,125,72,77,26,64,72,25,70,23,121,115,84,80,71,21,88,130,74,128,133,20,77 H,879932,8,800,4,16,1015675,42,5,1,1,,3,2,1,,50,0,2,40,1,400,1,,1,1000,1,1,1,6,,,,1,1,,15,2,600,5,2,40000,3,,,1,1,40000,0,3,3,3,1,4,3,5,0,0,3,34,0,0,1,0,0,1,1140,3,0,0,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,47,44,35,12,44,41,58,12,94,64,34,46,12,10,69,37,46,41,65,15,42,43,39,11,40,47,79,14,65,71,40,39,14,11,70,39,34,44,67,74,44,46,34,62,40,39,11,71,14,12,39,39,65,72,12,38,49,38,12,66,41,41,43,81,39,40,13,58,12,13,44,41,59,62,10,50,50,43,12,12 H,880473,8,300,4,16,1015675,62,0,1,,,1,4,,,,,,,,,1,,,,,,1,3,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,55,62,114,64,62,65,59,86,57,54,23,16,96,108,17,70,135,20,61,18,68,52,84,58,58,49,58,109,55,71,22,20,96,99,21,52,95,18,56,18,57,51,87,58,60,46,56,112,63,63,19,24,101,94,18,63,99,14,68,14,50,58,118,90,75,69,63,110,53,49,17,17,127,118,19,57,98,21,61 H,881041,8,500,4,16,1015675,83,2,1,1,,4,2,2,,80,0,2,30,1,350,1,,2,200,2,1,1,7,,,,1,1,,19,3,360,2,3,64800,4,,,1,1,64800,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,1,0,1,577,3,0,1,37,1,8,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,91,78,83,26,23,68,137,79,158,26,150,81,139,77,25,23,85,148,26,22,138,150,24,83,68,21,90,27,90,84,91,132,79,161,87,94,141,79,77,83,79,83,76,168,135,81,22,81,25,150,25,93,21,76,143,144,94,28,127,141,24,26,138,75,81,126,87,137,103,87,78,25,80,26,92,77,26,78,84 H,881356,8,200,4,16,1015675,61,3,1,1,,3,2,2,,200,0,200,3,6,490,1,,,,,3,1,7,,,,1,2,,12,3,920,5,1,108430,4,,,1,1,108430,0,4,4,4,1,6,0,3,0,0,0,4,0,0,0,1,0,1,379,,0,1,12,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,67,45,58,62,23,73,20,62,84,20,70,100,14,18,120,59,75,155,110,61,117,75,70,59,12,57,19,66,58,18,49,100,23,18,92,62,48,89,102,67,124,65,75,66,18,67,17,62,54,16,49,99,23,19,84,66,63,84,96,74,103,58,51,71,20,58,18,53,61,20,75,108,15,16,107,51,53,128,74 H,881657,8,100,4,16,1015675,78,1,1,1,,2,2,2,,30,0,2,2,3,,1,,,,,,1,5,2,700,,2,3,,,3,50,7,,,,734,10,1,6,90000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,75,158,91,86,84,22,23,84,26,156,22,140,63,128,133,70,80,79,84,75,160,94,24,126,127,74,66,23,81,82,81,65,24,99,81,121,118,31,22,83,121,82,22,132,123,93,73,25,96,85,73,74,21,83,84,166,134,24,23,30,67,116,71,88,78,23,27,72,26,160,23,145,87,129,129,89,85,68,68,21 H,881861,8,400,4,16,1015675,80,7,1,2,1,3,2,1,,110,0,2,20,1,1200,1,,,,,3,1,8,,,,1,2,,19,4,2,3,2,85600,3,,,1,1,85600,0,3,3,3,1,5,5,7,0,0,5,6,0,0,1,0,0,1,408,,0,0,33,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,100,25,27,21,80,81,72,112,104,130,146,163,100,22,78,159,91,78,133,25,65,125,120,83,59,101,91,74,57,26,21,21,87,138,76,25,78,85,29,136,74,25,26,23,73,69,68,79,87,126,114,121,64,23,80,110,81,90,140,25,75,143,152,169,100,74,64,73,98,25,28,28,83,129,80,23,79,87,20 H,882677,8,400,4,16,1015675,168,4,1,2,1,2,2,2,,100,0,2,80,3,940,1,,1,750,1,1,1,6,,,,1,1,,17,1,2,6,1,66700,1,,,1,1,66700,0,1,1,1,1,1,2,4,0,0,2,17,0,0,1,0,0,1,930,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,213,152,194,152,41,76,176,74,248,70,210,166,300,313,194,135,185,203,157,287,209,69,280,210,150,126,44,162,191,232,169,74,199,192,255,174,44,67,195,52,166,241,62,79,210,187,239,146,149,169,152,240,161,174,61,43,283,297,236,170,53,170,148,159,291,244,170,313,55,245,70,190,73,61,126,182,156,143,46 H,882681,8,800,4,16,1015675,24,1,1,2,1,2,2,2,,60,0,2,3,3,260,1,,,,,3,1,6,,,,1,2,,5,1,30,9,,,,,,1,4,31900,0,4,4,4,1,3,0,,0,0,0,4,0,0,0,1,1,2,111,,0,1,8,,,,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,22,27,28,26,33,37,37,35,19,32,22,36,24,24,19,24,53,39,27,8,15,9,25,20,6,6,7,10,28,7,26,7,20,23,20,21,5,7,25,7,21,7,24,20,7,7,6,7,24,7,19,9,23,25,19,22,8,5,23,46,20,37,22,27,50,34,32,50,26,47,23,37,26,22,26,26,29,34,20,50 H,882886,8,600,4,16,1015675,100,1,1,1,,2,2,2,,30,0,2,3,3,260,1,,1,1000,1,1,1,4,,,,1,1,,15,5,550,5,,,,,,1,4,38000,0,4,4,4,1,5,0,,0,0,0,34,0,0,0,0,0,1,1076,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,161,98,29,182,166,31,105,99,29,101,30,105,99,95,168,97,173,106,30,94,170,104,26,172,169,32,104,109,29,95,30,104,95,95,172,105,190,92,27,100,179,98,34,179,183,32,105,102,32,93,30,99,98,94,172,103,171,102,28,100,156,102,30,148,166,29,103,108,26,106,31,107,101,99,150,98,186,95,30 H,883098,8,100,4,16,1015675,59,1,1,1,,2,2,2,,40,0,2,3,6,400,1,,1,490,1,1,1,4,,,,1,1,,14,1,750,6,,,,,,1,4,35300,0,4,4,4,1,6,0,,0,0,0,20,0,0,0,1,0,2,593,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,15,85,131,20,15,56,20,56,63,122,63,106,63,75,56,67,15,74,66,20,67,58,49,38,53,16,51,115,22,59,17,65,110,59,106,18,58,86,112,64,25,116,115,18,17,58,14,64,58,90,65,98,63,108,64,53,16,76,55,20,54,57,62,62,57,19,53,99,17,48,16,55,114,55,85,17,64,105,97,65 H,883593,8,700,4,16,1015675,45,2,1,2,1,2,2,2,,80,0,2,440,2,500,1,,1,1400,1,1,1,6,,,400,1,1,,20,4,2,2,1,46200,4,,,1,1,46200,0,4,4,4,1,4,0,2,0,0,0,60,0,0,0,0,0,1,2320,2,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,80,13,45,13,12,43,13,71,44,46,45,85,51,13,45,82,73,45,49,43,75,14,44,11,14,45,11,70,46,48,44,81,45,13,51,75,73,46,49,46,79,15,46,12,13,49,13,76,49,44,47,75,42,13,41,76,74,43,44,42,83,11,47,13,13,49,13,78,52,45,44,78,47,13,47,74,81,41,47 H,883992,8,200,4,16,1015675,69,4,1,1,,2,2,2,,80,0,750,3,4,,1,,,,,,1,4,2,600,,1,3,,,1,530,7,2,36000,2,787,26,2,1,36000,0,3,3,3,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,136,23,22,45,70,51,80,80,72,150,108,61,39,13,78,116,69,101,15,82,92,20,15,57,66,54,81,67,60,111,115,92,70,25,71,108,86,117,122,19,69,128,101,103,90,73,119,99,70,14,19,15,67,74,56,28,70,115,63,17,82,117,99,94,79,81,112,100,49,23,19,13,94,102,71,13,69,151,18 H,884007,8,600,4,16,1015675,97,2,1,1,,3,2,2,,20,0,850,20,1,340,1,,,,,3,1,6,,,,1,2,,17,2,290,3,1,67900,4,,,1,1,67900,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,0,0,1,280,,0,1,26,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,27,91,95,30,89,162,29,29,153,99,94,174,103,168,94,95,93,27,176,89,28,103,91,29,95,171,28,28,169,91,98,172,92,158,99,107,99,26,29,94,160,91,103,165,103,32,179,159,28,89,96,27,98,31,94,103,99,157,26,92,164,93,96,148,99,30,162,173,30,101,94,28,100,27,96,90,97,168,180 H,884258,8,700,4,16,1015675,102,3,1,1,,3,2,2,,60,0,2,180,1,700,1,,,,,3,1,7,,,,1,2,,18,5,360,3,4,17400,4,,,1,1,17400,0,4,4,4,1,1,0,3,0,0,0,36,0,0,0,1,0,1,528,,0,1,36,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,104,30,100,170,95,99,168,93,28,29,30,111,113,99,97,106,161,170,190,27,98,171,99,26,103,98,27,90,172,180,173,105,100,104,112,99,28,30,32,175,102,30,106,167,101,111,177,98,33,28,32,98,93,101,93,99,165,164,169,28,107,159,104,30,98,107,30,102,192,177,168,103,104,101,105,97,31,27,31 H,884461,8,400,4,16,1015675,45,1,1,2,1,2,1,2,,50,0,2,120,3,530,1,900,,,,3,1,4,,,,1,2,,12,2,2,3,,,,,,1,6,22400,0,4,4,4,1,3,0,,0,0,0,19,0,0,0,1,0,1,356,,0,0,18,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,13,50,41,44,49,12,53,45,72,83,15,13,83,41,12,69,64,46,49,40,77,65,49,43,42,65,46,42,11,15,90,89,15,60,92,11,10,42,43,41,12,54,39,43,58,13,42,43,90,72,14,13,80,43,13,75,64,58,43,47,79,45,43,37,46,77,47,48,14,14,64,96,13,52,87,11,11,50,52,42 H,884504,8,900,4,16,1015675,80,2,1,1,,5,2,2,,70,0,2,20,3,600,1,,2,800,1,1,1,8,,,,1,1,,15,5,750,5,1,68000,4,,,1,1,68000,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,0,0,1,1003,3,0,1,30,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,25,24,78,25,69,87,132,95,127,78,141,86,78,24,81,69,21,138,116,72,73,77,155,96,24,144,61,120,83,23,80,21,138,81,22,23,88,71,93,24,126,122,73,117,63,80,26,96,23,83,28,78,65,133,91,90,101,22,21,77,71,81,21,88,163,24,68,22,76,148,81,136,23,82,150,130,80,75,92 H,884579,8,600,4,16,1015675,122,1,1,1,,3,2,2,,20,0,600,90,1,1100,1,,,,,3,1,5,,,,1,2,,16,1,140,3,,,,,,1,6,164300,0,4,4,4,1,4,0,,0,0,0,3,0,0,0,1,1,1,390,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,120,206,124,197,131,141,211,121,33,221,212,33,109,124,33,127,36,118,191,132,125,34,131,37,126,123,38,123,221,34,32,186,112,128,211,133,217,117,32,111,128,230,123,201,124,123,222,129,41,208,208,33,124,108,38,123,33,127,207,118,111,38,106,35,111,119,39,126,206,33,34,219,135,125,202,128,208,139,39 H,884599,8,100,4,16,1015675,56,2,1,2,1,4,2,2,,90,0,2,130,1,400,1,,1,1300,1,1,1,9,,,330,1,1,,21,3,680,5,1,53000,4,,,1,1,53000,0,4,4,4,1,6,0,2,0,0,0,43,0,0,0,0,0,1,1907,2,0,1,33,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,111,97,15,53,54,103,17,55,58,19,48,53,17,58,53,53,16,99,54,96,85,97,15,59,56,101,18,62,58,17,70,63,19,55,51,61,15,91,55,17,19,20,93,62,57,16,99,63,56,81,51,60,97,50,61,61,91,17,64,16,17,15,96,58,54,15,96,57,56,95,60,65,100,53,56,55,110,17,53 H,884793,8,500,4,16,1015675,143,2,1,1,,3,2,2,,70,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,15,2,250,4,4,29500,4,,,1,1,29500,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,2,1,204,,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,223,40,154,168,225,42,150,123,45,145,172,45,138,141,147,47,214,237,45,157,123,155,41,231,178,135,218,263,148,42,41,162,203,42,236,103,154,147,170,35,40,238,132,135,43,225,156,162,248,154,153,270,150,127,155,217,40,43,201,193,145,156,248,41,152,147,39,35,132,236,263,141,35,269,41,151,128,145,136 H,884914,8,500,4,16,1015675,346,3,1,1,,3,2,2,,90,0,500,90,1,490,1,,1,1800,1,1,1,7,,,,1,1,,18,2,2,5,1,63500,2,,,1,1,63500,0,2,2,2,1,2,1,3,0,0,1,38,0,0,1,0,0,2,2022,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,376,342,321,104,404,558,355,676,620,103,351,104,371,323,114,366,101,582,528,327,336,296,316,567,364,122,301,107,108,508,301,601,361,349,545,373,577,101,99,359,329,339,315,660,373,119,332,97,87,547,335,564,358,418,593,402,593,101,102,369,372,339,320,121,343,532,353,620,577,100,310,113,385,304,98,316,100,566,538,358 H,884923,8,800,4,16,1015675,204,2,1,1,,1,2,2,,50,0,2,100,1,,1,,,,,,1,2,2,460,,1,3,,,2,650,7,,,,664,19,1,5,43000,0,4,4,4,1,3,0,,0,1,0,,1,0,0,0,0,1,,,1,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,315,236,210,336,176,66,297,383,70,203,242,53,184,59,165,224,210,339,188,60,347,213,246,332,189,76,307,268,69,189,166,84,218,58,206,198,209,383,210,357,78,160,177,59,241,377,55,70,309,192,166,331,227,335,238,168,192,58,187,377,56,197,189,70,188,254,67,56,339,221,246,382,211,307,199,239,198,75,205,57 H,884989,8,600,4,16,1015675,288,1,1,,,1,6,,,70,0,2,60,1,,1,,,,,,1,3,2,500,,2,3,,,1,1,3,,,,630,29,1,6,26000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,298,281,529,284,280,277,294,511,300,307,94,86,493,419,80,315,440,85,323,85,301,299,488,272,311,292,300,455,303,305,97,85,432,527,92,256,416,83,318,485,243,317,97,277,288,293,284,85,324,300,459,442,88,92,465,302,82,434,287,490,329,255,84,316,293,283,282,88,268,302,495,515,88,89,483,271,92,447,275 H,885348,8,900,4,16,1015675,83,1,1,,,1,4,,,50,250,2,3,3,,1,,,,,,1,3,2,100,,1,3,,,1,1,5,,,,150,28,1,6,6500,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,28,30,97,110,117,82,88,128,126,107,70,23,92,135,78,84,137,86,19,27,25,24,62,90,93,92,101,130,121,110,87,30,82,108,84,96,120,92,27,31,33,29,121,64,60,92,75,116,135,156,73,22,77,148,76,64,127,74,40,26,25,30,81,69,75,99,95,102,115,149,99,26,52,128,102,69,141,101,18 H,885355,8,100,4,16,1015675,69,1,1,1,,3,2,2,,200,0,2,3,3,410,1,,,,,3,1,6,,,,1,2,,24,2,270,6,,,,,,1,4,15300,0,4,4,4,1,7,0,,0,0,0,45,0,0,0,1,1,1,577,,0,1,50,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,71,79,77,64,67,121,95,107,73,33,69,122,64,54,120,63,27,24,162,100,66,58,52,69,65,15,22,35,62,100,82,26,66,74,28,75,121,115,144,192,64,76,67,65,66,19,22,19,61,119,80,18,58,93,19,77,138,118,17,21,61,66,72,72,82,143,137,106,61,20,71,145,75,57,98,73,17,21,19 H,885448,8,300,4,16,1015675,70,2,1,2,1,4,2,2,,110,0,380,3,2,1200,1,,2,950,2,1,1,9,,,560,1,1,,18,3,300,4,2,61000,4,,,1,1,61000,0,4,4,4,1,5,0,2,0,0,0,38,0,0,0,0,0,1,1916,1,0,1,28,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,20,115,83,20,128,104,74,70,21,61,79,66,74,22,71,76,96,105,79,21,15,137,66,21,146,105,73,68,23,64,73,75,71,22,67,60,119,103,67,16,23,106,78,20,120,139,63,70,20,68,70,66,65,19,80,68,120,138,75,18,19,106,61,22,116,143,56,58,21,82,61,68,67,21,77,82,146,139,77 H,885850,8,600,4,16,1015675,144,1,1,1,,3,2,2,,20,0,2,40,1,1000,1,,1,600,1,1,1,5,,,,1,1,,15,1,300,3,,,,,,1,4,28000,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,0,0,1,685,3,0,1,27,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,42,139,224,152,48,129,139,41,166,229,228,246,143,140,125,131,172,46,38,228,232,162,42,152,238,144,157,242,162,42,47,49,152,159,152,138,138,280,45,255,270,142,46,149,219,164,142,269,136,47,42,43,147,157,166,142,126,237,272,43,45,161,258,146,43,144,136,39,136,245,232,214,128,133,136,149,149,40,228 H,886096,8,500,4,16,1015675,194,6,1,1,,3,1,2,,190,0,2,3,3,270,1,2300,2,400,2,1,1,5,,,,1,1,,6,1,1,3,8,33200,2,,,2,3,33200,0,2,2,2,2,2,4,6,0,0,4,30,0,0,1,0,0,2,834,3,0,0,9,2,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,299,224,199,79,408,68,53,183,216,374,307,59,267,234,157,59,210,223,172,87,155,289,76,199,158,179,224,261,224,182,186,177,293,68,223,184,81,65,341,198,285,180,186,52,211,67,57,146,166,260,246,55,157,212,171,74,231,225,345,58,280,279,73,198,201,201,152,333,323,226,178,216,351,62,353,206,70,104,274 H,886139,8,800,4,16,1015675,25,2,1,3,6,3,2,2,,70,0,2,100,2,20,1,,2,500,2,1,1,9,,,,1,1,,14,5,2,9,2,168100,4,,,1,1,168100,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,0,0,1,1139,3,0,0,63,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,8,9,29,9,31,23,42,24,39,25,46,28,27,7,25,21,7,39,37,24,28,27,47,24,9,55,31,39,26,7,30,9,46,28,9,8,34,26,28,51,8,7,30,9,28,25,47,23,49,26,39,28,30,7,27,29,8,43,50,23,25,31,37,27,7,47,22,41,28,7,23,7,44,26,9,7,25,32,31 H,886796,8,600,4,16,1015675,77,2,1,1,,4,2,2,,40,0,2,40,1,420,1,,1,760,1,1,1,9,,,,1,1,,18,3,540,4,1,254800,4,,,1,1,254800,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,885,3,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,77,73,71,125,73,136,74,78,134,78,23,130,140,25,72,78,20,73,23,23,71,74,78,131,75,131,80,77,140,80,24,142,138,23,75,72,22,81,22,23,78,71,72,129,79,138,72,71,125,76,25,136,140,24,84,85,23,83,22,21,82,74,76,127,74,141,72,72,144,79,24,130,122,22,81,75,24,80,23 H,886808,8,800,4,16,1015675,34,4,1,1,,4,2,2,,100,0,2,3,3,0,1,,2,600,2,1,1,7,,,,1,1,,15,5,630,3,1,47100,2,,,2,1,47100,0,2,2,2,1,3,2,4,0,0,2,21,0,0,1,0,0,1,825,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,52,42,10,33,36,27,47,57,35,13,9,10,32,35,36,36,28,59,56,54,12,29,42,34,13,35,21,7,36,73,65,43,40,32,35,39,30,10,11,13,55,34,8,36,57,39,28,48,50,14,8,12,40,30,27,25,34,47,50,49,12,48,53,31,10,33,37,14,31,42,80,46,26,34,32,44,36,8,8,9 H,886866,8,700,4,16,1015675,103,10,1,1,,4,2,2,,60,0,2,40,1,,1,,,,,,1,7,2,950,,1,3,,,4,200,1,1,66400,3,1067,18,4,1,71200,0,3,3,3,1,1,5,9,0,1,5,,0,1,1,0,0,2,,,1,0,,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,113,115,69,108,100,139,77,103,64,97,83,88,82,104,112,120,49,125,40,105,104,134,111,89,122,72,115,112,133,95,98,101,93,122,55,110,114,107,102,106,132,126,56,83,69,129,107,62,99,80,104,97,106,129,101,101,60,129,65,129,64,97,114,113,130,100,89,139,121,101,91,86,85,100,62,124,117,64,119 H,886922,8,600,4,16,1015675,162,3,1,1,,4,2,2,,30,0,2,160,1,510,1,,,,,3,1,8,,,,1,2,,20,1,480,9,7,32700,2,,,1,3,32700,0,2,2,2,1,6,2,3,0,0,2,19,0,0,1,0,0,1,523,,0,1,42,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,257,48,150,167,255,151,136,46,116,207,261,57,60,159,51,181,291,179,176,272,132,189,304,49,167,44,48,180,46,256,144,159,157,284,198,45,152,285,244,131,285,54,138,169,312,178,206,38,181,154,237,41,46,165,58,172,284,158,156,230,169,153,261,45,144,64,51,168,54,250,187,168,158,263,152,75,164,238,264 H,887766,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,888321,8,600,4,16,1015675,105,2,1,1,,4,2,2,,30,0,2,20,1,410,1,,1,1400,1,1,1,6,,,,1,1,,18,3,1000,9,1,95000,4,,,1,1,95000,0,4,4,4,1,2,0,2,0,0,0,19,0,0,0,0,0,1,1533,3,0,1,29,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,106,108,35,112,170,100,34,35,109,102,29,163,117,183,186,89,169,31,108,104,98,100,31,107,171,108,28,32,113,108,35,159,104,197,159,101,169,32,107,108,100,110,30,108,185,106,26,29,106,101,32,170,102,190,167,117,177,32,99,109,112,97,31,113,180,106,32,30,97,100,28,186,98,192,193,93,194,29,110 H,888376,8,100,4,16,1015675,81,1,1,1,,3,2,2,,50,0,2,30,1,400,1,,,,,3,1,6,,,,1,2,,17,1,680,6,,,,,,1,6,12600,0,4,4,4,1,5,0,,0,0,0,23,0,0,0,1,1,2,243,,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,29,36,89,62,84,76,73,158,129,130,69,23,72,112,77,74,118,74,23,27,31,29,85,77,91,84,70,126,143,115,89,24,105,163,78,85,149,89,133,124,163,148,80,91,82,98,88,20,27,25,78,105,78,25,88,100,24,80,121,129,152,135,71,83,90,83,99,25,20,18,71,120,106,23,66,75,24,94,20 H,888654,8,800,4,16,1015675,68,4,1,1,,3,2,2,,100,0,2,80,1,350,1,,1,830,1,1,1,7,,,,1,1,,17,3,620,5,1,105000,2,,,1,1,105000,0,2,2,2,1,3,2,4,0,0,2,12,0,0,1,0,0,2,1062,3,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,90,118,70,114,63,57,145,87,19,92,121,20,73,56,17,89,20,67,114,56,64,15,51,23,69,63,17,79,124,17,17,120,70,74,116,53,122,76,131,67,69,15,71,20,64,66,15,66,116,23,24,106,59,66,114,79,118,67,24,73,70,144,87,84,62,71,117,64,21,123,117,17,58,61,21,87,22,60,22 H,888742,8,700,4,16,1015675,70,2,1,1,,2,2,2,,90,0,2,20,1,650,1,,1,900,1,1,1,5,,,,1,1,,18,1,1000,2,4,65300,4,,,1,1,65300,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,2,2,1,1093,3,0,1,65,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,62,74,69,21,70,67,123,131,22,26,117,77,18,112,120,68,62,16,67,74,64,79,78,116,63,77,21,18,119,134,21,71,119,20,19,62,66,123,67,69,68,70,71,19,73,70,126,119,20,21,118,65,20,123,126,65,75,23,73,67,72,69,62,114,68,62,20,19,111,116,19,67,133,21,22,70,69,125,70,66 H,888758,8,300,4,16,1015675,106,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,23,151,119,32,210,167,88,123,30,124,102,106,92,31,115,117,161,164,128,180,161,32,104,172,35,32,109,114,131,81,105,106,113,157,94,137,34,34,93,34,30,183,129,37,217,170,83,99,29,94,102,103,114,34,109,100,184,176,97,169,196,26,98,173,25,33,106,86,201,108,102,91,95,197,140,127,34,33,112 H,889030,8,900,4,16,1015675,41,2,1,2,1,5,2,2,,110,0,2,40,1,,1,,,,,,1,9,,,,1,4,,,2,200,9,1,20700,4,,,1,1,20700,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,46,38,10,13,10,39,66,29,11,46,46,13,37,60,71,72,51,50,10,47,48,38,72,68,56,40,13,33,74,51,45,63,45,15,12,12,52,44,12,42,43,38,65,87,77,36,12,37,94,44,58,80,34,10,14,12,48,47,60,41,32,40,13,11,12,35,62,39,11,49,43,11,46,77,62,62,45,41,65 H,889044,8,100,4,16,1015675,68,8,1,3,1,4,2,2,,250,0,600,3,6,640,1,,1,830,1,1,1,8,,,,1,1,,18,3,2,8,2,32300,3,,,1,1,32300,0,3,3,3,1,3,6,8,0,0,6,42,0,0,1,0,0,2,1130,3,0,0,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,77,106,67,84,58,81,108,63,23,95,123,26,72,73,21,61,20,58,115,57,68,17,66,25,46,66,21,74,94,20,24,119,112,60,85,61,109,71,21,62,67,112,72,108,66,66,100,71,22,84,99,20,93,87,18,58,20,73,157,56,69,21,69,25,62,76,22,64,100,18,22,86,66,68,102,81,113,66,31 H,889923,8,400,4,16,1015675,97,2,1,3,6,3,1,2,,110,0,2,3,3,1500,1,700,2,1100,2,1,1,5,,,,1,1,,22,2,2,3,1,55000,4,,,1,1,55000,0,4,4,4,1,5,0,2,0,0,0,32,0,0,0,0,0,1,1451,3,0,0,16,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,88,174,150,154,28,21,142,248,28,94,129,37,32,73,83,169,99,96,117,92,107,210,85,76,32,44,158,125,28,110,130,24,26,102,92,144,110,119,109,81,81,130,98,100,26,24,165,187,34,106,146,31,29,74,85,136,118,120,96,115,134,184,84,112,31,34,211,150,34,100,159,28,36,124,86,162,88,87,158 H,890429,8,100,4,16,1015675,53,1,1,3,1,1,1,2,,50,0,280,10,6,220,2,140,2,150,2,1,2,2,,,,2,1,,11,3,430,5,,,,,,1,4,15400,0,4,4,4,1,4,0,,0,0,0,25,0,0,0,0,0,1,316,3,0,0,6,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,63,70,82,60,92,54,54,53,23,55,15,43,44,15,45,92,15,13,12,21,52,49,15,55,18,44,53,61,108,53,62,44,63,126,73,15,82,87,17,11,60,64,17,43,12,44,55,51,83,57,69,63,53,72,47,17,86,58,79,80,47,57,102,52,105,60,71,47,17,70,17,72,72,12,50,119,15,15,83 H,890738,8,800,4,16,1015675,40,2,1,1,,3,2,2,,60,0,2,3,3,230,1,,1,240,1,1,1,5,,,,1,1,,10,1,480,5,4,27000,4,,,1,1,27000,0,4,4,4,1,4,0,2,0,0,0,15,0,0,0,2,2,1,340,3,0,1,3,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,42,10,34,40,40,52,13,37,41,71,59,10,11,100,44,13,65,65,37,44,55,13,57,45,35,34,12,46,47,79,73,12,14,69,37,12,63,52,28,51,46,15,47,42,37,45,13,41,39,61,68,12,12,60,39,16,56,65,56,35,55,11,31,37,32,39,14,51,49,62,65,14,14,65,42,12,75,64,38 H,891284,8,600,4,16,1015675,100,2,1,1,,3,2,2,,20,0,150,90,1,1000,1,,1,780,1,1,1,6,,,,1,1,,15,2,200,5,1,170900,4,,,1,1,170900,0,4,4,4,1,4,0,2,0,0,0,6,0,0,0,0,0,1,920,3,0,1,42,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,176,108,105,99,30,101,92,162,28,168,182,107,103,26,28,178,100,110,30,94,166,98,96,91,30,96,102,160,30,178,178,107,102,31,32,158,101,97,171,100,30,105,108,98,172,106,97,31,186,28,32,98,92,163,162,29,95,101,169,98,30,94,102,96,157,98,103,32,175,31,30,105,101,173,157,30,107,92,28 H,891291,8,600,4,16,1015675,99,1,1,1,,4,2,2,,70,0,2,10,1,1200,1,,1,600,1,1,1,8,,,,1,1,,14,1,900,6,,,,,,1,6,69200,0,4,4,4,1,7,0,,0,0,0,13,0,0,0,1,0,1,755,3,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,30,28,105,93,101,180,100,30,98,29,30,164,105,179,99,100,164,91,106,162,27,29,106,91,103,174,96,28,102,30,32,174,102,174,92,110,172,100,108,166,30,28,95,103,103,155,93,27,102,26,30,165,99,180,104,104,165,102,96,175,30,29,100,93,97,187,93,30,96,27,29,178,107,178,104,96,181,106,97 H,891298,8,700,4,16,1015675,122,1,1,1,,3,2,2,,190,0,2,30,1,360,1,,2,700,2,1,1,5,,,260,1,1,,17,1,700,3,,,,,,1,4,4500,0,4,4,4,1,4,0,,0,0,0,101,0,0,0,0,0,1,1493,1,0,1,39,,,,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,1,0,1,0,0,0,0,1,0,1,1,0,0,0,0,0,1,0,242,35,35,35,30,224,117,129,37,210,118,114,204,113,137,243,113,123,111,217,120,123,132,121,130,111,208,38,112,127,35,36,119,187,213,133,36,195,37,116,35,193,213,193,244,36,107,139,190,36,120,130,37,123,116,34,116,120,136,34,117,106,130,124,120,142,34,196,126,144,194,210,132,36,39,119,197,33,209,114 H,891329,8,200,4,16,1015675,82,4,1,1,,5,2,2,,160,0,2,2,1,460,1,,1,1300,1,1,1,9,,,,1,1,,18,2,500,3,2,108000,2,,,3,1,108000,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1502,3,0,1,45,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,101,165,21,80,135,110,87,66,89,74,100,19,83,146,24,96,18,84,24,146,62,159,21,67,164,166,92,62,86,74,68,31,84,147,23,72,24,87,126,24,70,25,129,84,25,24,87,82,72,85,72,133,88,24,129,90,108,65,173,34,66,29,106,64,33,20,105,72,74,64,106,99,60,35,165,103,139,88,24 H,891338,8,200,4,16,1015675,302,1,1,,,3,6,,,80,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,1,1,4,,,,610,21,1,4,34600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,97,391,94,314,286,126,276,93,472,451,278,358,223,103,303,485,323,379,472,341,136,298,110,336,294,96,303,138,415,448,275,288,302,69,311,430,269,514,488,302,107,302,88,336,308,117,322,94,443,486,283,292,221,107,321,400,437,400,409,361,152,297,100,277,341,107,308,114,434,442,234,296,324,77,334,442,315,479,463,307 H,891397,8,600,4,16,1015675,117,3,1,1,,3,2,2,,30,0,2,20,1,500,1,,1,920,1,1,1,5,,,,1,1,,17,1,100,6,2,49000,1,,,1,1,49000,0,1,1,1,1,1,1,3,0,0,1,24,0,0,1,0,0,1,978,3,0,1,35,1,8,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,202,126,206,116,122,207,110,228,30,36,123,120,117,193,118,35,115,32,117,33,219,108,209,123,122,188,117,213,36,35,115,116,121,214,134,33,112,30,119,33,185,115,195,108,113,220,114,215,33,33,118,119,118,221,125,34,115,38,123,35,201,118,202,118,124,200,113,206,35,37,112,105,123,212,111,38,117,35,110 H,891523,8,300,4,16,1015675,31,2,1,,,2,7,,,1,0,2,1,1,,1,,,,,,1,4,2,550,,1,3,,,2,1,2,1,25850,4,550,26,1,1,25850,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,32,27,36,41,8,8,12,23,49,30,12,43,30,9,36,46,56,48,70,25,37,34,23,33,11,10,10,21,51,41,11,42,30,8,25,41,76,58,63,16,33,39,33,32,10,8,13,36,54,31,10,37,34,6,25,44,74,54,55,26,29,29,38,45,8,11,14,30,48,35,10,33,42,8,24,60,52,55,60 H,891641,8,300,4,16,1015675,16,2,1,3,5,3,1,2,,250,0,1500,3,3,180,1,0,,,,3,1,7,,,,1,2,,24,3,2,4,1,24000,4,,,1,1,24000,0,4,4,4,1,6,0,2,0,0,0,27,0,0,0,0,0,1,540,,0,0,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,3,17,15,5,20,31,35,30,13,19,17,11,10,5,6,3,16,27,25,13,5,19,13,5,16,21,32,22,12,18,24,18,13,5,5,3,18,28,5,16,28,16,13,20,20,4,5,3,17,15,18,15,16,35,26,23,19,4,5,17,20,16,14,31,23,5,5,4,10,16,18,13,15,33,27,24,14,6,29 H,891683,8,100,4,16,1015675,115,3,1,1,,5,2,2,,150,0,2,90,1,650,1,,1,1000,1,1,1,9,,,,1,1,,20,4,940,4,8,63300,4,,,1,3,63300,0,4,4,4,1,4,0,3,0,0,0,25,0,0,0,1,1,1,1318,3,0,1,30,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,31,193,195,119,94,105,29,130,207,130,190,219,38,116,31,119,123,34,125,129,197,37,37,107,143,115,178,111,35,128,30,35,203,127,182,116,121,175,135,113,229,33,34,124,118,129,220,121,34,122,31,31,171,105,196,118,96,177,98,133,37,183,192,114,115,130,39,118,221,105,204,201,30,123,30,109,120,31,99 H,892066,8,500,4,16,1015675,24,7,1,2,1,3,2,2,,230,0,2,3,3,500,1,,1,1100,1,1,1,6,,,,1,1,,18,2,480,8,1,39080,2,,,2,1,39080,0,3,3,3,1,1,5,7,0,0,5,42,0,0,1,0,0,1,1370,3,0,1,13,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,45,25,24,25,23,26,7,24,39,6,22,6,23,41,26,48,6,21,35,41,7,21,21,23,25,23,43,27,8,40,26,43,25,6,21,8,39,23,6,38,7,27,23,25,20,25,38,24,7,41,21,42,19,6,22,8,40,25,8,7,41,20,23,26,21,21,8,21,45,7,23,8,26,39,25,40,6,25,43,8 H,892374,8,100,4,16,1015675,147,2,1,2,1,3,2,2,,60,0,2,60,1,1800,1,,2,150,2,1,1,6,,,150,1,1,,20,3,70,3,3,23001,4,,,1,1,23001,0,4,4,4,1,1,0,2,0,0,0,40,0,0,0,1,1,1,759,1,0,1,34,0,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,139,150,154,186,146,39,141,229,43,137,40,129,258,167,235,47,139,240,44,267,143,153,150,162,147,44,146,223,44,164,45,135,247,152,226,50,145,259,40,251,154,153,176,169,149,40,158,253,50,137,46,134,239,144,197,44,160,246,40,310,151,140,158,158,155,43,144,239,37,155,40,129,238,129,210,48,153,252,45 H,892854,8,900,4,16,1015675,74,4,1,1,,2,2,2,,100,0,2,250,1,380,1,,,,,3,1,5,,,,2,2,,7,3,420,8,1,42000,3,,,2,1,42000,0,3,3,3,2,3,2,4,0,0,2,13,0,0,1,0,0,2,467,,0,1,14,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,70,19,18,28,25,83,20,55,24,71,90,104,80,31,27,81,55,23,102,79,108,77,68,55,90,130,78,100,92,128,115,134,98,85,71,119,140,81,149,18,79,23,21,26,23,69,18,62,21,77,85,94,93,20,19,72,66,36,113,68,101,69,59,63,70,153,123,115,91,126,124,136,117,88,121,149,106,70,115,18 H,892933,8,100,4,16,1015675,54,2,1,1,,2,2,2,,90,0,2,3,3,250,1,,1,430,1,1,1,3,,,,1,1,,16,5,500,2,1,38500,4,,,1,1,38500,0,4,4,4,1,4,0,2,0,0,0,18,0,0,0,0,0,2,562,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,76,55,95,51,51,56,20,52,21,47,42,13,61,98,15,15,79,46,102,61,84,51,85,46,56,54,15,37,17,71,65,15,54,111,15,17,80,52,14,56,16,48,15,55,58,58,98,53,83,57,46,87,66,18,84,73,18,62,22,51,19,61,16,48,57,46,88,59,88,59,40,89,59,12,104,77,17,50,114 H,892935,8,600,4,16,1015675,108,2,1,1,,3,2,2,,60,0,2,20,1,1100,1,,,,,3,1,5,,,,1,2,,14,0,160,7,4,21500,4,,,1,1,21500,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,281,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,190,34,109,32,32,109,33,209,111,119,122,187,107,29,107,171,162,100,113,104,227,34,102,32,36,108,32,189,121,112,106,172,102,31,110,182,177,98,107,96,173,32,106,31,30,128,32,201,107,109,107,184,118,37,110,188,215,114,113,112,186,28,103,30,31,103,28,177,109,106,101,177,110,34,98,204,180,116,100 H,893315,8,100,4,16,1015675,27,4,1,1,,3,2,2,,70,0,2,140,1,440,1,,1,910,1,1,1,5,,,320,1,1,,17,2,320,4,1,149000,2,,,1,1,149000,0,3,3,3,1,4,2,4,0,0,2,12,0,0,1,0,0,2,1467,2,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,55,8,7,43,27,7,43,47,27,20,7,26,32,30,33,10,30,28,24,37,49,8,8,51,28,8,48,55,23,26,7,25,30,26,27,7,25,27,31,39,47,9,9,41,28,9,44,47,26,20,7,30,35,32,34,10,25,27,28,44,40,7,9,48,25,8,50,50,22,26,7,26,29,27,34,7,29,29,41 H,893342,8,200,4,16,1015675,27,3,1,1,,3,2,2,,100,0,750,3,4,410,1,,,,,3,1,5,,,,1,2,,13,2,1000,7,1,63300,2,,,1,1,63300,0,2,2,2,1,6,1,3,0,0,1,7,0,0,1,0,0,2,347,,0,1,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,6,24,32,7,25,45,36,52,23,27,25,27,27,7,9,8,27,48,57,28,9,25,30,7,27,52,45,56,33,23,26,30,28,7,5,11,29,49,8,27,44,29,25,37,25,9,7,7,29,25,26,27,22,36,43,54,29,9,8,23,39,38,34,49,30,7,10,8,29,22,31,34,22,45,51,50,27,9,49 H,893469,8,600,4,16,1015675,375,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,2,400,,,,1,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,423,360,599,359,446,364,116,462,387,562,120,579,622,403,448,113,110,742,390,392,678,122,335,602,601,578,291,117,612,366,433,335,395,118,95,308,368,370,106,351,120,608,407,118,119,111,425,623,120,407,365,343,380,584,708,385,357,415,653,714,348,387,122,383,348,345,649,397,364,104,608,96,122,412,376,640,586,101,344,138 H,893794,8,500,4,16,1015675,131,2,1,1,,3,2,2,,50,0,2,40,1,120,1,,2,360,2,1,1,5,,,,1,1,,16,3,330,2,2,70980,4,,,1,1,70980,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,1,584,3,0,1,23,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,138,39,217,141,120,136,37,219,137,135,35,144,35,38,216,223,135,121,34,125,114,223,36,139,131,123,200,38,113,119,246,111,220,239,41,42,131,130,38,120,127,214,41,148,135,127,200,32,111,121,201,142,255,207,39,36,127,137,239,142,132,40,223,126,132,114,45,208,138,122,39,133,37,39,239,219,129,135,226 H,894102,8,900,4,16,1015675,19,2,1,1,,3,2,2,,90,0,2,4,1,600,1,,2,420,2,1,1,5,,,,1,1,,13,3,540,9,1,57000,4,,,1,1,57000,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,0,0,1,676,3,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,25,15,5,18,15,15,29,4,32,5,30,13,18,27,6,18,43,20,5,21,20,32,15,6,8,5,15,16,15,15,18,30,24,29,20,6,16,34,15,7,28,14,3,18,22,20,39,8,22,5,34,15,20,19,5,17,22,21,5,15,18,30,14,5,6,7,13,18,16,13,17,33,33,25,19,5,18,35,12 H,894120,8,400,4,16,1015675,60,2,1,1,,3,2,2,,40,0,2,70,1,320,1,,2,740,2,1,1,4,,,,1,1,,16,3,40,3,1,135100,4,,,1,1,135100,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,0,0,1,1013,3,0,1,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,63,119,17,18,106,59,50,102,50,104,33,55,54,17,46,14,71,49,117,25,59,98,26,17,100,70,48,95,75,129,60,47,76,12,62,26,57,76,18,121,59,26,107,97,16,54,62,14,55,19,68,54,67,77,45,100,69,69,19,94,83,20,94,129,13,55,71,12,69,15,45,57,79,125,57,85,47,52,138 H,894211,8,600,4,16,1015675,95,4,1,1,,3,2,2,,50,0,2,20,1,500,1,,1,740,1,1,1,6,,,330,1,1,,16,2,490,7,3,60020,2,,,1,1,60020,0,2,2,2,1,4,2,4,0,0,2,24,0,0,1,0,0,1,1181,2,0,1,27,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,93,150,105,106,29,169,28,29,98,95,170,153,30,100,94,89,27,100,30,94,94,29,101,89,156,28,154,160,90,92,27,28,150,90,93,90,164,95,154,97,99,166,87,91,29,157,26,27,93,93,166,165,29,92,97,97,27,102,28,108,102,27,91,89,144,28,162,155,93,89,27,30,167,104,99,97,170,104,181 H,894262,8,500,4,16,1015675,26,1,1,,,1,5,,,70,0,2,3,3,,1,,,,,,1,3,2,230,,1,3,,,0,1,5,,,,300,27,1,6,13300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,44,28,44,49,8,8,26,21,22,31,48,8,26,29,25,53,8,26,32,8,47,24,49,43,6,8,26,28,28,25,45,8,27,27,27,47,6,23,28,9,40,26,47,46,6,10,24,30,32,30,48,8,23,26,27,50,8,30,25,6,48,28,49,42,8,8,24,24,29,24,40,8,26,26,29,47,8,25,25,7 H,894365,8,100,4,16,1015675,69,2,1,3,1,2,2,2,,160,0,2,120,6,700,1,,,,,3,1,5,,,,1,2,,23,3,2,2,2,65701,4,,,1,1,65701,0,4,4,4,1,2,0,2,0,0,0,10,0,0,0,1,1,1,555,,0,0,38,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,67,57,68,63,70,108,111,105,63,22,73,128,89,64,120,57,16,20,118,112,60,69,75,82,67,16,17,21,63,131,77,22,76,65,18,75,117,104,26,22,51,70,67,70,71,89,118,133,62,15,70,101,68,101,132,80,20,20,113,107,62,62,83,70,64,28,22,17,78,130,57,17,73,72,18,60,100,117,19 H,894377,8,100,4,16,1015675,83,2,1,1,,2,2,2,,50,0,2,40,2,640,1,,,,,3,1,4,,,,1,2,,18,1,310,3,4,127810,4,,,1,1,127810,0,4,4,4,1,6,0,2,0,0,0,2,0,0,0,2,2,1,257,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,138,75,78,138,82,132,26,18,96,108,62,131,113,22,77,25,20,137,98,67,126,75,92,132,79,117,22,23,78,93,106,162,77,31,95,29,24,113,86,99,111,71,66,145,86,137,27,22,73,81,85,114,77,33,82,23,23,176,80,82,151,83,88,131,92,159,29,23,87,86,65,141,104,20,82,20,22,131,91 H,894471,8,400,4,16,1015675,170,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,272,259,49,59,271,162,39,244,310,146,197,49,167,175,170,199,57,155,149,163,287,330,53,51,288,178,52,288,331,187,150,49,176,181,154,151,60,185,157,188,268,309,53,53,264,197,56,233,250,165,169,49,158,162,157,173,54,183,149,171,292,264,58,61,306,155,45,321,253,178,151,54,193,162,158,157,54,171,190,196 H,894607,8,300,4,16,1015675,118,4,1,,,2,5,,,100,4200,2,3,3,,1,,,,,,1,5,2,530,,1,3,,,1,1,3,2,30200,3,630,25,2,1,30200,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,205,27,94,155,189,112,110,35,129,129,185,39,38,121,30,121,193,105,92,290,112,117,196,34,124,34,46,123,39,228,107,128,104,218,107,35,98,196,189,110,184,32,109,141,184,143,113,33,127,125,195,37,33,134,35,126,200,116,122,184,118,104,170,35,124,33,37,98,34,225,101,123,114,204,146,36,126,195,226 H,894699,8,800,4,16,1015675,27,2,1,2,1,3,2,2,,90,0,2,3,3,630,1,,,,,3,1,6,,,,1,2,,19,2,2,5,3,27900,4,,,3,1,27900,0,4,4,4,2,5,0,2,0,0,0,16,0,0,0,2,2,2,368,,0,1,39,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,42,28,31,28,9,27,8,29,25,8,24,46,8,8,51,27,25,43,6,32,9,29,27,26,52,29,50,21,26,41,34,10,39,42,9,30,30,9,46,29,52,26,29,28,9,31,8,26,29,8,24,42,8,9,43,27,29,48,8,25,10,31,22,32,42,25,50,27,26,51,28,7,49,41,9,32,20,10,50 H,894756,8,100,4,16,1015675,99,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,110,94,89,104,100,29,103,175,32,93,30,101,136,104,175,26,102,168,175,29,95,94,103,98,102,174,101,31,151,123,168,92,34,89,29,167,91,29,143,28,91,111,106,104,94,171,101,28,163,94,174,101,27,103,35,161,109,35,26,196,104,105,94,89,99,25,102,177,27,116,27,97,183,103,156,28,112,172,35 H,894847,8,200,4,16,1015675,24,2,1,3,3,4,2,2,,100,0,2,150,2,1200,1,,2,1700,1,1,1,8,,,250,1,1,,19,5,2,9,1,43300,4,,,1,1,43300,0,4,4,4,1,4,0,2,0,0,0,64,0,0,0,0,0,1,2300,2,0,0,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,9,30,35,35,26,26,26,25,27,7,27,36,7,30,10,24,37,28,5,38,7,30,35,39,27,28,26,27,26,5,27,43,7,22,7,23,40,23,8,44,8,27,53,43,27,27,26,24,26,7,26,52,8,19,6,26,33,20,9,42,8,26,40,30,22,26,24,23,22,8,26,39,5,21,9,25,41,20,8 H,895144,8,200,4,16,1015675,97,1,1,1,,3,2,2,,30,0,2,200,1,380,1,,2,520,2,1,1,7,,,,1,1,,16,1,500,5,,,,,,1,4,62120,0,4,4,4,1,5,0,,0,0,0,21,0,0,0,0,0,1,1095,3,0,1,44,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,99,83,28,21,149,205,35,111,170,38,33,97,86,138,130,96,112,105,109,168,106,122,35,31,153,117,30,121,140,20,29,126,123,159,77,103,100,81,113,34,108,82,185,142,23,27,156,102,32,176,131,91,83,26,101,122,111,99,94,27,97,176,249,179,38,27,156,130,24,118,135,112,128,29,82,94,81,73,82 H,895294,8,800,4,16,1015675,61,2,1,3,2,4,2,2,,410,0,2,3,3,4800,1,,,,,3,1,6,,,,1,2,,23,6,2,5,4,114000,4,,,1,1,114000,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,0,0,1,1043,,0,0,40,1,6,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,55,66,104,58,52,15,18,98,87,15,61,123,18,18,65,59,101,60,55,77,68,56,20,77,70,94,111,16,15,129,56,17,97,96,73,72,15,45,74,72,60,58,119,69,57,19,19,80,75,15,50,103,19,15,50,75,101,50,69,59,56,66,22,61,60,133,142,15,14,101,55,19,110,105,65,70,15,59,68,59 H,895495,8,300,4,16,1015675,157,3,1,,,2,5,,,20,0,2,20,3,,1,,,,,,1,4,2,380,,2,3,,,2,1200,5,1,63530,1,520,10,1,1,63530,0,1,1,1,1,4,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,249,290,55,156,50,145,124,38,129,72,283,189,139,114,156,77,200,273,135,159,197,236,54,125,67,140,165,54,108,46,232,314,200,214,244,56,166,210,132,130,248,313,47,146,57,164,130,52,114,54,302,201,151,139,177,71,187,317,132,127,243,207,45,128,77,204,122,39,136,38,263,291,161,205,240,58,174,185,158,121 H,895650,8,500,4,16,1015675,131,4,1,1,,4,2,2,,150,0,2,70,1,250,1,,1,1400,1,1,1,8,,,,1,1,,18,4,530,3,2,149660,2,,,1,1,149660,0,2,2,2,1,5,1,4,0,0,1,13,0,0,1,0,0,2,1664,3,0,1,24,3,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,33,41,38,223,138,126,31,220,125,142,233,141,126,213,121,137,127,233,41,241,118,128,141,131,223,35,120,138,40,42,132,236,212,127,44,231,42,132,127,122,40,37,38,206,157,129,37,203,122,139,234,126,148,198,118,133,135,262,43,196,127,130,138,129,204,37,116,135,37,46,139,218,221,123,38,254,37,152,123,127 H,895694,8,600,4,16,1015675,100,1,1,1,,3,3,2,,120,0,2,3,3,800,1,,1,1400,1,1,1,6,,,2700,1,1,,21,1,500,4,,,,,,1,6,165000,0,4,4,4,1,6,0,,0,0,0,31,0,0,0,1,0,1,4262,2,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,102,99,31,159,29,104,170,177,168,101,30,164,104,104,98,100,28,27,105,96,93,99,31,156,30,101,164,165,176,98,32,174,104,102,92,108,30,28,108,97,104,96,164,32,175,91,28,27,30,91,174,28,99,106,103,104,165,173,96,103,104,99,170,27,165,109,26,29,28,92,168,29,106,103,105,96,180,181,97 H,895717,8,300,4,16,1015675,90,2,1,2,1,4,2,2,,40,0,2,150,1,690,1,,,,,3,1,9,,,,1,2,,19,2,2,3,,,,,,1,7,165000,0,4,4,4,1,4,0,,0,1,0,3,4,0,0,0,0,1,456,,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,93,140,137,159,72,24,97,137,104,113,153,81,29,29,26,89,83,95,33,85,97,137,149,147,95,30,86,156,76,80,126,81,26,21,29,102,76,84,147,102,94,21,28,27,99,182,94,23,89,96,28,90,160,171,144,74,87,78,149,94,90,22,25,26,76,133,97,31,106,93,25,87,132,160,151,86,72,85,26 H,895910,8,900,4,16,1015675,105,2,1,1,,3,2,2,,120,0,50,120,1,500,1,,2,440,1,1,1,6,,,,1,1,,12,2,2,4,3,44400,4,,,1,1,44400,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,1,0,2,726,3,0,1,17,1,7,7,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,38,113,101,122,130,161,104,183,26,175,28,88,31,29,98,107,101,120,95,109,109,189,29,29,97,100,205,138,95,107,102,183,89,93,38,33,173,170,22,30,152,107,118,100,22,34,122,38,125,29,162,103,197,248,113,96,111,99,82,98,107,30,192,168,93,109,48,119,96,89,94,28,111,131,164,175,35,27,159,209 H,895964,8,100,4,16,1015675,49,2,1,1,,1,2,2,,70,0,2,200,2,,1,,,,,,1,6,2,350,,1,3,,,2,360,5,4,59100,4,650,13,1,1,59100,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,77,47,81,91,58,39,58,43,81,50,83,55,101,71,90,89,46,48,53,14,15,46,17,15,39,52,43,48,10,44,19,50,17,15,12,13,36,42,59,92,70,45,93,79,51,40,47,48,92,45,72,46,91,77,82,89,49,50,54,14,18,43,17,16,43,51,57,50,12,37,15,53,13,14,18,15,39,38,54 H,896093,8,400,4,16,1015675,75,4,1,1,,4,2,2,,90,0,2,170,1,310,1,,1,1000,1,1,1,9,,,,1,1,,14,2,510,5,1,69000,2,,,1,1,69000,0,2,2,2,1,1,2,4,0,0,2,23,0,0,1,0,0,1,1303,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,26,34,92,17,67,75,134,83,123,75,97,58,90,20,67,73,27,154,121,86,89,84,135,79,27,130,88,101,61,18,45,23,154,51,21,23,75,108,69,158,24,31,85,23,68,104,134,56,126,75,116,88,95,18,70,86,13,114,128,91,65,89,149,71,24,99,88,127,62,19,50,16,162,86,24,27,105,80,125 H,896105,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,896215,8,600,4,16,1015675,112,4,1,2,1,4,2,2,,120,0,400,440,1,500,1,,2,1600,2,1,1,9,,,1000,1,1,,22,4,120,8,1,285000,2,,,1,1,285000,0,2,2,2,1,4,2,4,0,0,2,15,0,0,1,0,0,1,3645,2,0,1,60,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,114,30,32,99,211,37,189,118,111,108,99,114,97,34,213,106,110,183,101,114,34,116,109,34,104,123,127,30,197,174,189,193,32,116,126,179,31,124,32,180,99,35,30,119,179,30,222,109,117,109,113,106,107,34,196,109,106,227,119,112,31,112,108,32,125,111,102,39,195,200,182,179,32,111,111,182,33,124,32 H,896337,8,100,4,16,1015675,14,1,1,2,1,2,2,2,,50,0,2,3,4,0,1,,,,,3,1,5,,,,1,2,,14,0,970,7,,,,,,1,6,3700,0,4,4,4,1,6,0,,0,0,0,45,0,0,0,1,1,1,139,,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,12,15,23,10,5,27,18,3,15,10,4,13,3,19,13,10,21,12,3,20,12,14,24,15,3,24,30,3,12,15,5,17,7,12,9,13,22,14,23,5,16,12,4,10,20,4,3,26,12,10,34,12,20,20,13,14,5,16,27,1,13,12,6,16,23,6,3,21,15,14,22,17,28,14,11,13,5,13,5 H,896380,8,900,4,16,1015675,97,4,1,1,,4,2,2,,120,0,2,3,3,480,1,,1,950,1,1,1,7,,,260,1,1,,14,2,1000,4,1,99500,2,,,1,1,99500,0,3,3,3,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1413,2,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,99,30,30,108,81,89,91,82,176,77,28,176,104,180,79,29,123,30,28,31,86,168,168,93,91,108,126,85,31,94,165,31,100,32,86,150,86,185,143,180,93,31,23,86,103,90,85,92,169,99,29,162,92,163,83,26,85,30,35,27,101,200,168,107,104,103,107,111,33,94,166,27,107,29,90,147,83,180,147 H,896661,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,897104,8,300,4,16,1015675,17,1,1,1,,3,2,2,,150,0,2,3,3,250,1,,,,,3,1,5,,,,1,2,,12,2,840,7,,,,,,1,6,108000,0,4,4,4,1,7,0,,0,0,0,5,0,0,0,1,1,2,408,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,13,19,13,15,20,25,26,26,19,6,18,24,18,13,30,21,5,6,5,4,19,16,15,14,17,29,29,26,16,5,13,26,17,23,30,15,6,6,35,22,19,19,20,15,13,7,5,3,21,22,15,5,13,26,5,18,42,23,26,26,11,16,18,17,23,5,3,4,13,31,16,5,14,14,3,21,38,31,7 H,897552,8,200,4,16,1015675,61,2,1,1,,4,2,2,,120,0,600,20,6,400,1,,2,500,2,1,1,9,,,,1,1,,19,2,600,9,1,67600,4,,,2,1,67600,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,2,865,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,56,23,77,119,53,41,91,63,17,16,20,63,63,71,86,95,100,77,91,21,60,89,67,23,61,57,17,57,83,100,105,46,52,74,68,74,22,16,20,69,51,17,58,127,68,65,96,61,17,19,22,64,74,67,69,64,120,117,81,19,50,84,82,19,56,65,15,52,108,128,100,55,45,65,77,71,21,20,23 H,897604,8,900,4,16,1015675,46,2,1,2,1,3,2,2,,90,0,350,3,6,510,1,,1,680,1,1,1,9,,,250,1,1,,14,3,580,5,1,65900,4,,,1,1,65900,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,0,0,1,1097,2,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,73,81,49,13,44,67,46,48,97,47,12,10,10,53,46,44,60,47,71,14,14,13,50,74,41,12,49,46,10,46,67,81,101,53,43,46,69,50,18,71,71,78,46,20,58,68,52,63,112,39,12,11,16,52,43,44,40,38,65,15,12,14,53,60,41,12,39,43,12,57,61,80,123,42,35,46,45,36,17 H,897755,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,898020,8,100,4,16,1015675,108,2,1,1,,3,2,2,,100,0,2,150,1,,1,,,,,,1,6,2,950,,2,3,,,3,1,2,1,50000,4,1200,29,1,1,50000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,107,126,102,100,101,198,163,207,96,32,112,169,105,117,185,101,32,38,37,31,110,113,110,106,90,184,201,175,103,34,108,159,116,111,191,119,27,32,163,205,134,106,117,91,107,30,33,29,100,188,130,27,108,109,27,114,225,188,164,184,104,108,108,94,112,29,34,35,95,220,114,29,112,99,27,112,202,201,29 H,898126,8,500,4,16,1015675,121,2,1,1,,3,2,2,,30,0,400,20,1,400,1,,,,,3,1,6,,,,1,2,,16,2,160,5,4,42000,4,,,1,1,42000,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,1,1,246,,0,1,26,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,37,38,32,188,117,120,36,238,110,138,218,136,134,188,112,119,103,207,147,42,36,37,39,209,134,132,40,195,113,111,172,140,113,193,131,106,111,195,139,37,36,31,43,185,127,135,26,169,127,111,193,124,112,212,126,113,127,217,119,38,41,38,43,181,125,133,39,201,134,125,236,121,134,163,114,126,124,191,122 H,898297,8,100,4,16,1015675,27,2,1,1,,3,2,2,,70,0,1300,3,6,380,1,,,,,3,1,5,,,,1,2,,15,3,700,7,1,92800,4,,,1,1,92800,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,335,,0,1,18,2,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,31,34,39,26,8,13,5,30,24,25,28,20,37,59,38,29,7,28,7,39,33,39,49,23,8,7,6,26,29,24,25,24,44,41,46,34,7,27,52,8,32,27,7,26,51,48,46,28,24,24,23,22,7,8,6,30,55,29,54,10,15,23,6,27,56,34,46,39,27,28,23,35,7,9,7,28,53,30,7 H,898300,8,100,4,16,1015675,273,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,462,269,290,465,273,416,261,267,289,76,301,83,315,306,75,265,494,86,78,512,456,292,279,488,254,491,255,244,273,76,301,76,263,284,85,283,459,81,77,75,85,299,292,79,278,87,294,306,283,445,303,436,232,255,445,298,83,441,465,69,83,282,276,76,257,76,311,321,261,491,271,500,276,243,476,228,81,504,451,418 H,898387,8,300,4,16,1015675,103,2,1,1,,5,3,2,160,80,0,2,10,3,270,1,,,,,3,1,9,,,,1,2,,20,2,360,4,4,89300,4,,,4,1,89300,0,4,4,4,1,3,0,2,0,0,0,9,0,0,0,2,2,1,653,,0,1,54,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,99,98,90,87,28,29,27,90,164,101,29,99,100,30,101,197,190,182,29,101,94,124,147,100,222,187,178,108,30,113,191,119,109,147,83,26,31,34,28,111,111,110,102,92,172,173,191,122,28,102,206,113,92,161,110,29,28,32,131,108,94,119,95,82,33,31,33,99,142,118,36,102,94,30,89,185,171,195,169 H,899398,8,100,4,16,1015675,46,3,1,2,1,2,2,2,,100,2600,600,60,6,350,2,,1,790,1,1,2,6,,,200,1,1,,14,3,2,3,1,24000,1,,,1,1,24000,0,1,1,1,1,4,1,3,0,0,1,60,0,0,1,0,0,1,1200,2,0,1,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,85,17,20,39,18,53,44,98,36,66,44,69,53,61,10,32,40,8,64,113,44,60,58,93,47,12,85,36,53,50,13,57,15,65,39,12,14,59,61,64,89,15,11,29,18,45,40,84,29,67,44,103,75,41,13,35,33,11,65,69,58,60,61,56,48,20,74,52,68,46,10,42,21,110,38,11,14,48,55,38 H,899563,8,700,4,16,1015675,129,4,1,1,,4,2,2,,70,0,2,40,3,400,1,,1,1100,1,1,1,7,,,,1,1,,18,3,480,2,3,46000,3,,,3,1,46000,0,3,3,3,1,2,2,4,0,0,2,33,0,0,1,0,0,1,1250,3,0,1,24,2,4,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,210,133,36,142,38,190,131,42,42,123,112,124,125,139,226,116,40,204,215,120,219,125,38,129,35,248,126,42,38,128,124,130,137,120,222,129,38,238,213,128,242,128,37,142,35,224,126,39,39,124,136,120,121,134,221,126,34,242,225,114,207,139,40,147,39,212,127,36,38,140,123,118,116,135,211,121,39,216,217 H,899740,8,600,4,16,1015675,301,2,1,,,2,7,,,70,0,2,3,3,,1,,,,,,1,4,2,700,,1,3,,,2,2,3,,,,770,21,1,5,43300,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,253,97,330,317,94,535,359,301,105,334,282,428,264,294,90,467,458,325,522,288,418,288,94,79,312,299,98,482,317,489,645,361,461,87,263,298,303,97,293,500,267,452,292,300,549,115,372,294,471,293,321,90,296,296,520,92,97,345,98,288,78,291,445,454,328,321,565,66,348,108,97,323,79,458,308,281,296,455,316,91 H,900957,8,600,4,16,1015675,255,2,1,1,,3,2,2,,40,0,2,40,1,400,1,,2,750,2,1,1,5,,,150,1,1,,17,1,220,6,7,72400,4,,,1,3,72400,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,1,1,2,1160,2,0,1,27,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,73,424,253,68,87,262,245,235,285,249,411,247,77,425,235,439,278,74,70,245,383,81,250,441,431,245,261,252,270,238,90,266,425,85,249,80,243,462,86,256,471,71,259,423,399,253,246,274,226,256,76,246,441,74,254,73,239,440,455,255,84,453,261,70,73,276,244,258,248,243,441,256,80,402,267,433,264,73,440 H,900979,8,900,4,16,1015675,55,4,1,1,,3,1,2,,90,0,2,340,1,50,1,3300,,,,3,1,5,,,,1,2,,6,2,660,4,1,28810,2,,,1,1,28810,0,3,3,3,1,3,2,4,0,0,2,34,0,0,1,0,0,1,814,,0,0,14,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,48,15,65,50,15,57,15,98,90,53,62,49,17,60,87,54,79,94,53,15,67,20,52,74,16,51,17,88,85,55,49,58,17,58,104,53,98,95,53,90,50,91,63,60,110,58,96,18,20,49,68,62,117,57,16,59,18,20,66,92,58,88,48,48,86,58,92,17,13,57,55,46,74,48,17,51,14,17,64 H,901003,8,100,4,16,1015675,25,2,1,1,,2,2,2,,130,0,2,3,3,380,1,,2,750,1,1,1,5,,,,1,1,,21,3,120,3,1,77000,4,,,1,1,77000,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,0,0,1,922,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,8,22,25,30,48,24,8,37,8,9,45,26,39,29,27,43,28,41,7,28,34,28,24,25,9,26,44,26,41,46,7,26,7,23,33,8,22,9,36,32,49,25,24,26,9,26,40,25,40,46,6,33,8,24,27,8,22,7,47,24,9,24,30,24,46,25,7,30,7,9,49,24,51,29,28,42,26,44,8,29 H,901441,8,900,4,16,1015675,244,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,243,496,256,310,248,91,72,281,76,423,67,375,231,363,394,286,257,332,214,257,345,218,77,369,374,232,192,68,250,243,266,235,78,257,228,396,372,80,75,263,67,311,368,79,68,234,278,499,222,215,218,240,407,218,225,100,74,468,395,470,286,73,249,235,254,365,359,236,365,64,395,67,220,74,72,247,249,218,317,70 H,901720,8,300,4,16,1015675,19,1,1,2,1,5,2,2,,150,0,2,50,3,0,1,,,,,3,1,9,,,,1,2,,13,1,2,5,,,,,,1,6,46200,0,4,4,4,1,7,0,,0,0,0,7,0,0,0,1,1,1,273,,0,1,19,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,24,5,16,39,20,16,34,17,7,8,5,15,21,25,23,19,30,34,30,8,22,28,20,8,19,20,6,16,33,34,34,17,23,28,21,24,6,6,37,6,23,28,22,9,23,18,7,20,51,39,36,20,19,29,18,20,5,5,4,45,16,6,24,35,18,18,31,19,7,5,6,18,18,30,13,16,34,32,6 H,901806,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,901944,8,700,4,16,1015675,114,4,1,1,,3,2,2,,100,0,2,70,1,410,1,,1,650,1,1,1,6,,,250,1,1,,15,2,910,3,1,56600,2,,,1,1,56600,0,2,2,2,1,5,2,4,0,0,2,24,0,0,1,0,0,1,1146,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,31,35,34,110,207,117,32,124,113,33,123,203,194,195,111,114,108,110,193,112,35,32,33,113,199,110,35,119,113,35,109,193,193,191,124,112,113,106,31,110,204,199,195,110,31,129,195,123,115,185,120,36,31,33,115,112,114,123,35,116,195,184,196,108,33,116,190,109,109,204,113,32,36,32,100,124,123,110,182 H,901963,8,800,4,16,1015675,13,3,1,1,,2,2,2,,230,0,2,3,3,500,1,,1,900,1,1,1,4,,,,1,1,,16,3,30,9,2,45000,4,,,1,1,45000,0,4,4,4,1,3,0,3,0,0,0,30,0,0,0,0,0,1,1133,3,0,1,18,2,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,14,13,19,19,5,3,5,14,15,17,17,15,20,20,29,11,4,16,3,18,12,16,24,15,4,3,3,13,11,13,17,14,31,26,19,14,3,13,26,5,17,16,4,15,24,22,20,16,15,13,12,12,3,5,5,12,24,10,22,5,14,15,3,18,20,26,28,12,12,12,14,12,3,3,5,12,22,19,5 H,902189,8,900,4,16,1015675,126,2,1,1,,4,2,2,,180,0,2,3,3,320,1,,,,,3,1,6,,,,1,2,,14,2,370,5,4,33400,4,,,1,1,33400,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,2,2,1,330,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,198,134,125,185,157,241,43,40,122,135,116,200,196,48,101,36,54,180,143,170,236,144,158,270,95,174,28,35,116,106,126,169,100,28,108,41,45,273,119,113,44,125,102,30,102,58,250,164,106,127,111,31,109,257,146,180,228,37,159,140,33,134,150,55,141,22,137,225,162,153,156,33,140,201,123,209,200,56,132 H,902328,8,400,4,16,1015675,105,1,1,2,1,2,3,2,,2,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,2,2,5,,,,,,1,6,18000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,107,121,37,26,213,246,41,113,175,30,47,100,117,174,125,130,90,120,183,188,124,71,24,58,122,120,34,80,266,51,34,150,75,106,126,92,91,116,114,39,100,81,118,198,56,27,214,99,43,179,195,101,64,35,137,110,83,77,122,44,68,108,177,146,39,34,146,83,58,200,174,95,104,31,112,132,109,160,51 H,902452,8,300,4,16,1015675,92,2,1,1,,3,2,2,,140,0,1100,90,1,530,1,,,,,3,1,7,,,,1,2,,16,1,1,6,4,113700,4,,,1,1,113700,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,483,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,145,116,22,77,113,86,167,28,152,31,140,78,91,95,31,104,171,80,198,102,85,27,105,148,153,141,105,122,103,89,93,25,29,20,98,176,90,28,120,94,95,29,100,140,171,156,106,83,87,97,121,29,35,22,89,178,88,27,75,27,153,96,31,76,105,92,190,24,131,29,168,98,94,82,26,102,148,91,71 H,903296,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,903469,8,700,4,16,1015675,91,2,1,1,,3,2,2,,30,0,2,70,1,300,1,,1,1000,1,2,1,5,,,,2,1,,18,2,100,2,1,103000,4,,,1,1,103000,0,4,4,4,1,2,0,2,0,0,0,13,0,0,0,0,0,1,1108,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,97,83,25,86,27,161,170,97,86,102,30,88,153,93,162,163,27,88,85,29,83,78,27,78,25,144,156,92,99,98,32,84,158,92,140,147,24,88,87,27,89,108,27,97,26,158,132,84,103,82,24,84,143,98,141,154,25,88,92,29,99,93,30,94,25,160,168,90,85,74,22,90,153,95,169,140,30,96,91 H,903669,8,600,4,16,1015675,74,2,1,1,,3,2,2,,60,0,2,10,1,900,1,,,,,3,1,8,,,,1,2,,20,2,530,7,1,57000,4,,,1,1,57000,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,0,0,1,389,,0,1,36,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,22,74,74,105,74,131,112,21,20,75,72,70,67,118,21,73,71,68,20,122,20,74,78,117,79,131,120,21,22,69,76,70,76,137,23,80,67,75,25,120,22,72,77,119,74,116,121,20,20,70,76,64,70,126,20,68,71,72,20,117,22,77,73,123,80,118,118,24,21,68,74,76,74,118,23,73,72,73,20 H,904117,8,700,4,16,1015675,109,1,1,2,1,3,2,2,,30,0,2,100,1,550,1,,2,820,2,1,1,9,,,420,1,1,,22,2,2,3,,,,,,1,6,42010,0,4,4,4,1,4,0,,0,0,0,50,0,0,0,0,0,1,1758,2,0,1,53,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,30,113,110,29,110,177,193,190,116,107,98,104,112,35,33,30,107,163,190,109,30,105,107,30,111,201,174,199,108,109,119,104,114,32,30,35,116,197,198,111,36,104,105,35,111,173,178,188,112,103,124,98,101,29,30,33,107,216,179,98,29,106,110,32,108,195,182,185,110,113,107,111,109,33,33,29,113,175,196 H,904261,8,100,4,16,1015675,112,2,1,,,2,7,,,160,0,2,3,3,,1,,,,,,1,4,2,540,,1,3,,,1,540,4,6,21080,4,745,42,3,2,21080,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,1,11,12,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,124,222,113,129,98,32,120,110,175,33,193,179,101,115,31,33,172,98,117,195,110,38,110,104,112,197,111,103,28,206,34,36,124,104,202,161,39,120,106,208,112,36,129,100,112,194,100,113,28,211,39,27,94,113,191,187,36,135,121,25,119,166,120,121,136,38,102,105,177,33,179,206,119,103,36,32,174,116,116,32 H,904570,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,904675,8,100,4,16,1015675,40,3,1,2,1,2,2,2,,80,0,200,3,6,500,1,,,,,3,1,4,,,,1,2,,16,3,220,3,1,58900,4,,,3,1,58900,0,4,4,4,1,5,0,3,0,0,0,6,0,0,0,0,0,1,277,,0,1,26,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,44,14,12,12,38,67,42,10,35,41,11,35,64,68,66,42,42,41,41,71,37,12,12,10,37,72,39,12,39,43,14,46,78,68,68,36,42,42,38,67,47,14,14,11,41,64,38,10,35,44,12,34,60,71,76,40,41,44,43,59,40,12,12,12,48,90,36,11,39,43,13,42,66,61,70,37,37,44,41,64 H,904984,8,900,4,16,1015675,75,3,1,1,,3,2,2,,150,0,2,1,3,,1,,,,,,1,6,2,790,,1,3,,,1,1,8,7,34300,2,940,33,1,3,34300,0,2,2,2,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,18,130,133,76,135,61,74,23,80,25,67,20,83,72,102,79,87,120,20,77,80,82,78,24,84,131,20,77,23,67,156,72,136,23,69,122,112,76,71,22,20,147,136,78,132,75,90,23,77,24,75,15,65,92,136,63,71,116,17,82,74,79,74,25,63,112,23,67,29,75,150,98,150,17,68,155,116,64,87 H,905164,8,400,4,16,1015675,43,5,1,1,,3,2,2,,120,0,50,3,6,,1,,,,,,1,5,2,650,,1,3,,,2,2,9,1,50700,2,774,18,1,1,50700,0,2,2,2,1,4,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,12,39,41,90,67,9,12,71,37,22,108,80,55,39,12,40,37,35,58,35,49,48,61,13,14,63,50,19,44,78,17,12,60,41,45,51,46,43,38,42,86,46,55,19,10,64,109,11,29,75,8,12,48,41,59,46,56,43,34,55,14,39,57,77,55,19,17,71,37,12,62,67,45,38,13,41,47,58,70 H,905353,8,400,4,16,1015675,190,2,1,3,1,2,2,2,,100,0,2,3,3,450,1,,2,450,2,1,1,5,,,,1,1,,19,4,2,3,,,,,,1,7,95000,0,4,4,4,1,5,0,,0,1,0,8,3,0,0,1,0,2,646,3,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,200,348,202,215,339,210,72,59,50,164,168,178,155,201,281,250,296,166,263,287,219,49,165,209,73,183,282,307,335,196,206,232,175,164,63,79,71,147,281,318,248,59,165,150,45,187,339,254,298,218,215,199,198,224,58,91,77,133,69,56,185,288,156,235,386,194,58,51,50,230,186,167,163,179,306,301,291,207,70 H,905384,8,800,4,16,1015675,228,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,15,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,1,73,208,250,320,240,195,174,214,406,202,251,53,55,285,352,66,246,373,78,217,457,234,213,78,205,206,224,207,73,301,283,385,361,95,82,336,266,83,380,178,404,294,232,73,230,210,211,233,79,245,207,474,417,67,80,365,200,67,336,228,69,251,257,402,238,238,253,216,409,198,198,76,72,274,366,75,168,325,71,259 H,905666,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,905745,8,800,4,16,1015675,70,1,1,1,,2,1,2,,50,0,2,10,1,,1,,,,,,1,4,2,470,,1,3,,,1,600,4,,,,580,32,1,4,22000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,56,13,74,117,54,81,130,90,22,20,22,73,65,80,64,56,145,143,27,121,62,17,89,112,56,71,112,96,29,16,21,57,48,71,82,77,112,107,19,88,65,17,52,92,60,74,119,68,23,23,25,86,82,72,74,54,136,141,23,111,60,24,75,116,72,72,98,72,28,25,24,71,66,67,75,65,97,130,24 H,906188,8,500,4,16,1015675,108,2,1,1,,3,2,2,,110,0,2,140,1,720,1,,,,,3,1,6,,,,1,2,,15,2,510,5,8,44400,4,,,1,3,44400,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,2,1,1,478,,0,1,27,1,15,15,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,192,97,38,114,104,36,104,170,204,192,121,106,109,106,100,31,30,29,35,108,24,101,165,93,113,209,106,35,31,31,110,103,107,105,117,190,166,200,32,94,30,118,193,99,129,188,111,33,33,33,105,102,107,95,104,164,190,192,177,112,179,115,31,106,114,29,117,170,173,166,119,109,94,112,108,30,30,36,198 H,906204,8,800,4,16,1015675,66,2,1,1,,2,2,2,,60,0,2,3,3,230,1,,1,370,1,1,1,5,,,,1,1,,8,1,680,8,7,26400,2,,,1,3,26400,0,2,2,2,1,4,1,2,0,0,1,22,0,0,1,0,0,1,487,3,0,1,12,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,118,87,99,61,72,61,18,65,23,65,62,16,58,130,24,20,123,65,102,52,147,73,91,83,59,70,20,60,27,69,67,17,71,139,24,22,116,70,19,63,18,63,19,70,70,63,122,77,164,69,73,95,64,23,130,140,18,54,13,67,19,75,16,66,75,56,101,64,106,66,58,115,80,21,111,132,19,56,92 H,906338,8,600,4,16,1015675,109,2,1,1,,3,2,2,,110,0,2,60,1,250,1,,2,1000,2,1,1,6,,,,1,1,,17,3,440,3,7,62100,4,,,1,3,62100,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,1,1345,3,0,1,26,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,32,100,32,109,113,37,113,192,31,33,182,107,111,187,115,181,102,110,34,111,191,108,190,100,100,201,111,29,197,180,32,112,110,31,107,31,118,108,32,104,176,110,180,118,107,173,116,29,203,169,31,106,112,34,118,32,96,119,196,117,31,116,32,106,111,33,103,194,30,31,178,102,103,194,106,179,116,129,174 H,906388,8,900,4,16,1015675,25,1,1,1,,3,2,2,,40,0,2,100,2,500,1,,,,,3,1,5,,,,1,2,,16,2,500,5,,,,,,1,6,22400,0,4,4,4,1,7,0,,0,0,0,17,0,0,0,1,1,2,324,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,28,25,47,27,24,6,46,8,8,22,30,40,38,8,24,23,24,7,25,7,8,7,22,43,10,28,27,28,26,47,46,25,29,25,53,7,39,23,8,24,28,28,8,25,27,40,9,42,45,29,26,6,7,57,28,23,24,40,20,38,49,35,23,8,41,26,24,27,25,9,8,33,26,23,6,46,7,25,44 H,906693,8,400,4,16,1015675,20,3,1,2,1,3,1,2,,140,0,150,3,3,,1,,,,,,1,5,,,,1,4,,,2,2,4,4,36000,4,,,2,1,36000,0,4,4,4,1,5,0,3,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,18,22,17,45,28,20,5,6,47,25,5,20,27,7,7,25,17,24,17,17,35,28,17,9,25,21,34,19,13,8,26,17,3,36,44,35,18,4,18,22,24,22,21,10,29,26,32,23,10,5,34,18,5,39,35,24,15,6,24,13,19,23,21,47,19,16,6,3,39,28,7,23,23,5,5,23,17,25,17 H,906697,8,200,4,16,1015675,37,2,1,1,,2,2,1,,1,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,2,1,6,1,60000,4,,,1,1,60000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,63,31,40,41,10,48,33,34,12,62,10,8,59,65,37,39,44,39,10,65,11,28,34,39,68,8,40,40,72,60,65,46,12,9,37,37,46,52,45,12,64,33,38,46,10,52,31,36,10,52,12,11,55,69,40,33,35,35,10,79,12,34,33,34,75,12,41,44,71,42,61,55,10,9,38,39,39,61,63 H,906775,8,900,4,16,1015675,48,4,1,2,1,4,2,2,,70,0,2,30,1,0,1,,,,,3,1,8,,,,1,2,,15,5,2,9,1,84500,4,,,1,1,84500,0,4,4,4,1,7,0,4,0,0,0,2,0,0,0,1,0,1,147,,0,1,13,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,47,48,92,49,13,11,11,44,43,55,40,56,74,58,86,44,13,51,93,13,58,54,17,53,91,86,81,47,44,51,50,49,13,13,15,43,69,42,90,15,43,41,15,49,92,65,75,43,47,55,51,52,14,13,9,43,103,47,14,65,59,46,78,56,13,14,14,45,41,50,58,50,82,101,62,38,13,47,13 H,907077,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,907142,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,907409,8,200,4,16,1015675,29,1,1,1,,4,2,2,,70,0,1200,3,4,450,1,,,,,3,1,7,,,,1,2,,13,1,460,6,,,,,,1,6,10100,0,4,4,4,1,7,0,,0,0,0,38,0,0,0,1,1,2,321,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,9,26,51,9,7,25,31,41,25,29,23,30,45,24,27,9,10,50,22,7,41,31,8,50,57,27,29,8,36,30,28,29,9,33,30,62,54,7,28,42,8,29,40,10,13,34,37,46,35,26,31,29,45,29,24,8,8,49,35,7,43,33,9,43,48,27,29,8,21,33,25,26,8,32,32,42,46,9,41 H,907587,8,900,4,16,1015675,278,0,1,,,3,5,,,,,,,,,1,,,,,,1,5,2,500,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,440,249,287,472,270,374,73,97,273,290,248,366,296,115,340,91,120,449,252,301,90,324,205,104,393,74,454,460,278,261,280,90,225,372,301,518,437,103,260,327,450,268,242,393,279,456,95,113,227,242,301,375,334,103,316,87,81,588,312,282,89,269,254,94,297,95,396,518,276,255,297,76,273,340,247,383,432,103,206 H,907747,8,300,4,16,1015675,115,0,1,1,,0,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,156,237,100,110,128,113,128,42,34,36,100,165,125,39,89,97,40,155,186,46,33,34,95,105,93,104,114,211,160,160,162,42,113,172,99,113,202,116,31,218,166,186,100,103,108,93,118,36,33,32,113,210,145,36,113,94,30,142,211,36,39,37,96,97,134,152,120,220,205,187,135,34,99,176,113,111,179,110,39,261 H,907797,8,100,4,16,1015675,114,3,1,1,,2,3,2,,60,0,2,3,3,,1,,,,,,1,3,2,630,,1,3,,,2,2,6,7,13000,1,690,35,1,3,23500,0,1,1,1,1,1,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,34,117,112,112,157,156,177,239,168,104,30,127,186,131,130,181,105,31,33,191,276,136,109,98,95,117,30,26,31,104,166,89,34,150,120,28,110,215,202,182,183,103,81,95,110,111,33,30,46,99,232,105,31,128,119,39,119,202,218,38,33,109,117,117,126,139,189,243,159,112,35,108,158,120,159,222,92,34,35,37 H,907798,8,100,4,16,1015675,87,3,1,1,,2,2,2,,100,600,2,2,3,,1,,,,,,1,6,2,650,,1,3,,,2,160,9,7,3900,2,763,101,1,3,3900,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,86,143,97,97,142,80,30,27,29,95,87,86,98,83,152,171,156,86,161,149,86,28,92,77,25,69,127,151,141,98,74,80,92,99,27,24,24,71,153,149,87,25,80,102,27,89,160,142,136,91,80,73,88,84,29,25,20,84,20,24,94,153,86,85,146,105,32,21,31,81,99,92,82,93,124,155,163,78,24 H,907941,8,400,4,16,1015675,92,4,1,2,1,4,1,2,,140,0,2,3,3,,1,,,,,,1,7,2,440,,1,3,,,3,2,3,1,68001,2,580,10,1,1,68001,0,2,2,2,1,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,34,29,92,113,96,91,100,142,171,135,70,24,95,159,83,92,149,79,145,128,175,161,84,80,93,98,86,25,31,27,82,181,86,23,94,104,35,89,155,148,164,141,76,94,103,90,94,25,26,28,88,157,86,24,97,138,32,70,32,25,31,28,91,116,102,84,91,138,145,162,95,25,93,165,87,85,139,86,31 H,908005,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,908436,8,300,4,16,1015675,330,5,1,1,,2,2,2,,100,0,2,3,3,,1,,,,,,1,4,2,420,,1,3,,,1,1,9,1,20000,3,520,31,2,1,20000,0,3,3,3,2,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,322,345,284,460,110,602,430,134,98,148,286,503,111,305,338,289,385,505,339,503,338,291,293,540,91,586,368,130,146,89,315,413,147,287,403,396,277,456,319,566,351,325,386,519,115,394,268,98,97,113,473,537,122,448,350,360,325,417,365,634,368,365,378,385,128,484,330,98,96,160,329,458,77,338,272,287,490,475,305 H,908618,8,700,4,16,1015675,84,6,1,1,,4,2,2,,80,0,2,30,1,1400,1,,1,2100,1,1,1,8,,,80,1,1,,21,2,640,1,2,100000,3,,,1,1,100000,0,3,3,3,1,1,4,6,0,0,4,28,0,0,1,0,0,1,2343,2,0,1,32,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,81,21,132,87,150,87,25,90,22,148,86,24,24,79,83,88,82,88,25,26,90,137,27,87,26,86,139,80,143,25,76,123,142,88,84,90,74,76,134,125,80,25,140,86,139,90,23,91,26,139,82,26,25,86,95,76,82,90,27,26,86,144,27,80,24,80,131,74,142,27,79,122,148,91,77,96,79,75,136 H,909158,8,800,4,16,1015675,72,2,1,2,1,4,2,2,,50,0,900,3,4,800,1,,,,,3,1,7,,,,1,2,,18,2,2,8,3,16300,4,,,1,1,16300,0,4,4,4,1,7,0,2,0,0,0,19,0,0,0,2,2,2,259,,0,1,18,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,22,23,93,136,20,71,112,22,26,68,53,102,56,71,69,64,145,85,75,59,98,156,20,22,124,68,22,106,114,65,77,19,60,99,75,55,20,88,74,65,20,22,91,129,18,56,129,22,30,60,70,91,54,77,69,65,107,69,82,60,108,143,22,26,119,55,19,121,165,55,79,20,58,114,94,53,19,89,83 H,909459,8,400,4,16,1015675,64,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,20,57,128,53,15,66,58,17,63,109,108,105,63,65,53,55,74,20,127,18,19,68,104,68,23,62,72,21,56,97,103,92,62,63,58,59,68,22,116,19,21,66,122,58,23,63,57,20,63,99,87,95,63,61,65,59,57,19,107,21,18,71,121,53,23,66,64,21,72,101,112,109,59,66,54,52,68,19,122 H,909646,8,800,4,16,1015675,78,3,1,1,,2,3,2,,90,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,2,220,2,7,25530,1,558,17,1,3,39930,0,1,1,1,1,3,1,2,0,1,1,,3,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,67,28,145,20,23,72,80,99,115,19,88,62,85,18,80,83,96,140,55,114,122,26,109,27,20,85,102,126,149,25,87,89,75,22,65,87,82,134,91,131,77,24,130,29,27,62,61,152,163,24,64,87,77,31,65,73,68,126,110,136,76,20,135,20,21,103,63,110,121,19,73,66,93,20,114,78,86,146,74,115 H,910308,8,700,4,16,1015675,128,4,1,1,,4,2,2,,50,0,2,150,1,250,1,,1,1100,1,1,1,8,,,,1,1,,17,3,2400,3,1,116510,4,,,1,1,116510,0,4,4,4,1,4,0,4,0,0,0,15,0,0,0,1,1,1,1500,3,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,38,131,210,41,35,120,126,229,125,140,120,136,213,125,127,36,40,216,122,199,35,138,207,37,37,136,130,226,131,121,116,133,234,148,137,36,36,237,119,221,39,127,233,40,34,141,134,202,139,123,124,137,201,130,125,36,35,199,140,205,38,142,240,40,38,128,124,195,135,133,114,115,208,125,119,40,42,219,123 H,910342,8,400,4,16,1015675,63,6,1,2,1,2,1,2,,260,0,2,3,3,,1,,,,,,1,4,2,580,,1,3,,,1,2,3,7,22000,2,840,17,1,3,58600,0,2,2,2,1,3,1,5,0,1,3,,3,0,1,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,47,78,71,17,23,21,52,91,65,29,50,46,19,65,118,84,116,121,55,100,86,64,56,18,19,18,60,103,51,18,78,59,18,54,99,152,109,52,66,106,84,59,72,25,18,15,54,95,91,21,49,62,17,82,107,89,100,82,82,109,85,65,60,20,18,18,59,98,51,14,64,67,19,40,75,109,138,59,62,90 H,910369,8,300,4,16,1015675,28,6,1,1,,4,2,2,,140,0,2,130,2,770,1,,1,890,1,1,1,9,,,,1,1,,18,4,620,3,1,66700,2,,,1,1,66700,0,2,2,2,1,5,4,6,0,0,4,22,0,0,1,0,0,2,1212,3,0,1,8,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,13,12,6,32,31,28,26,26,55,73,40,36,8,23,51,23,23,39,29,11,8,8,8,34,23,26,27,19,66,71,43,24,6,26,40,23,25,50,35,63,66,66,37,25,29,26,26,35,12,7,8,31,36,25,11,22,24,8,28,55,64,56,32,21,30,31,28,26,8,10,10,26,40,23,8,21,19,8,30,8 H,910410,8,100,4,16,1015675,110,2,1,1,,3,2,2,,30,0,2,3,3,,1,,,,,,1,5,2,1000,,1,3,,,1,40,3,7,38000,2,1033,33,1,3,38000,1,2,4,2,1,1,0,2,1,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,134,171,196,28,163,105,122,28,36,34,106,108,205,31,120,179,115,108,38,29,36,109,99,122,115,171,30,126,126,85,210,34,109,111,191,131,178,185,128,95,107,190,161,38,192,99,118,29,36,27,111,116,221,34,103,222,107,106,29,35,33,117,115,107,108,156,34,120,109,131,195,26,98,101,201,107,200,172,97 H,910634,8,800,4,16,1015675,357,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,375,348,594,552,349,646,589,391,395,403,340,476,326,598,335,603,589,585,629,355,337,358,141,129,354,112,120,303,352,346,308,125,353,99,372,106,104,124,113,331,372,344,626,607,435,592,550,468,365,345,352,581,356,522,362,639,555,542,557,413,376,383,109,121,337,105,118,349,354,370,380,109,394,95,356,102,94,106,90,328 H,910711,8,100,4,16,1015675,25,1,1,1,,2,2,2,,90,0,2,3,3,460,1,,,,,3,1,4,,,,1,2,,18,1,740,3,,,,,,1,6,11220,0,4,4,4,1,5,0,,0,0,0,25,0,0,0,1,1,2,232,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,26,7,37,27,27,29,36,27,5,23,40,49,30,35,41,6,23,7,7,22,23,42,7,27,30,21,5,23,38,23,6,8,25,29,7,35,25,39,37,33,27,6,39,30,22,26,29,27,9,22,34,34,23,29,50,7,26,9,7,32,21,40,7,30,25,22,8,29,37,25,5,7,24,24,7,47,25,33,40,24 H,910811,8,900,4,16,1015675,72,1,1,1,,2,1,2,,50,0,400,3,6,1200,1,80,,,,3,1,4,,,,1,2,,9,3,2,5,,,,,,1,4,30020,0,4,4,4,1,4,0,,0,0,0,9,0,0,0,1,0,1,215,,0,0,8,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,77,22,79,65,17,66,18,94,123,70,74,96,20,59,112,73,129,113,48,138,93,139,83,71,110,76,120,18,21,75,77,78,120,96,23,61,25,22,79,110,78,127,78,67,120,76,128,18,27,78,69,58,100,91,18,75,22,17,89,29,63,19,66,76,26,77,23,112,101,64,83,78,22,72,126,62,103,140,99 H,910859,8,100,4,16,1015675,75,5,1,2,1,5,2,2,,200,0,2,2,1,600,1,,1,2200,1,1,1,9,,,,1,1,,22,6,200,3,3,78700,2,,,1,1,78700,1,2,4,2,1,4,0,5,1,0,2,37,0,0,1,2,1,1,2417,3,0,1,42,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,74,67,75,26,74,66,125,20,147,109,69,75,17,23,128,75,66,65,71,78,121,135,133,78,25,123,71,76,77,91,23,21,77,65,65,22,124,24,119,19,66,76,84,147,64,73,22,119,26,19,83,79,110,125,20,75,74,83,68,110,25,21,22,73,128,18,73,76,64,79,108,130,78,74,65,133,25,127,28 H,911022,8,600,4,16,1015675,132,4,1,1,,4,2,2,,90,0,2,30,1,450,1,,1,940,1,1,1,8,,,550,1,1,,18,2,120,6,1,100000,3,,,1,1,100000,0,3,3,3,1,3,2,4,0,0,2,19,0,0,1,0,0,1,1620,1,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,38,208,131,139,41,237,115,149,226,136,121,199,136,139,129,197,38,50,37,266,124,120,231,41,130,128,44,38,140,219,256,136,41,221,38,124,131,138,135,121,43,222,135,114,37,242,106,130,229,149,125,231,116,148,143,238,41,44,45,208,115,125,229,38,148,102,46,43,142,221,217,143,36,218,48,131,148,127,132,134 H,911139,8,300,4,16,1015675,107,5,1,3,6,4,2,2,,300,0,2,20,6,600,1,,,,,3,1,6,,,,1,2,,18,6,2,9,1,20350,2,,,1,1,20350,0,2,2,2,1,5,1,5,0,0,1,23,0,1,1,0,0,2,395,,0,0,8,3,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,32,146,146,87,119,164,114,40,38,23,100,91,89,125,106,179,171,160,119,49,39,94,195,136,120,179,116,29,32,46,117,125,131,103,94,149,165,146,82,222,206,117,41,101,112,31,93,179,155,168,116,140,125,117,88,29,35,33,128,161,129,132,39,117,119,33,124,229,146,131,99,77,105,127,97,42,35,33,101,43 H,911401,8,900,4,16,1015675,121,2,1,,,2,6,,,80,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,1,7,7,41000,4,430,13,2,3,41000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,303,87,36,113,200,135,119,226,103,48,39,36,137,104,105,121,110,208,263,195,29,121,171,85,37,126,147,45,170,257,176,182,90,113,127,149,138,43,39,201,39,90,178,110,45,121,77,25,120,220,255,233,149,157,118,132,132,47,55,36,189,126,42,134,221,99,108,229,130,34,32,33,114,114,119,173,115,220,226,32 H,911523,8,400,4,16,1015675,40,2,1,1,,2,2,2,,100,0,2,70,3,,1,,,,,,1,4,2,550,,1,3,,,2,2,3,4,29500,4,720,29,1,1,29500,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,46,46,10,11,11,40,77,36,13,33,41,14,44,61,56,65,34,36,15,37,32,50,76,82,79,42,13,32,60,32,42,73,36,12,12,13,34,38,59,44,38,30,10,13,9,32,84,41,10,48,50,10,41,91,69,63,37,35,12,44,51,35,53,54,72,41,10,49,70,41,37,51,47,10,8,13,40,35,53 H,912074,8,300,4,16,1015675,107,2,1,,,2,6,,80,90,0,2,3,3,200,1,,,,,3,1,5,,,,1,2,,11,2,220,5,4,31800,4,,,1,1,31800,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,2,2,1,262,,0,0,15,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,178,38,118,107,174,184,204,88,96,29,174,107,28,110,133,98,127,29,170,119,119,113,30,198,112,115,92,29,198,94,121,37,116,32,32,176,164,108,118,27,175,37,114,129,169,179,190,103,107,41,178,93,33,118,96,81,124,37,189,95,140,110,34,196,85,94,104,31,169,95,84,29,119,32,34,210,194,112,111 H,912272,8,600,4,16,1015675,129,6,1,1,,2,1,2,,100,4800,2,100,1,,1,,,,,,1,5,2,450,,1,3,,,1,300,6,7,8000,2,675,54,1,3,15000,0,2,2,2,1,3,4,5,0,1,4,,3,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,122,199,131,111,261,141,36,40,31,156,125,122,109,111,255,202,201,130,229,204,143,38,125,109,41,123,224,206,220,132,141,143,134,146,36,35,46,143,207,171,134,42,124,113,39,134,233,196,204,112,122,126,146,130,41,35,34,140,43,35,131,220,124,140,249,130,40,42,38,165,141,133,137,125,218,216,195,124,48 H,912573,8,900,4,16,1015675,118,4,1,1,,3,2,2,,60,0,50,30,1,500,1,,2,1600,2,1,1,7,,,,1,1,,14,4,60,7,1,98100,4,,,1,1,98100,0,4,4,4,1,7,0,4,0,0,0,22,0,0,0,0,0,1,1808,3,0,1,18,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,119,123,147,200,169,149,90,35,127,202,167,141,175,130,36,36,41,114,30,105,123,116,105,195,157,192,119,32,107,202,133,124,234,139,38,43,36,106,199,125,140,134,138,29,41,34,108,157,126,31,113,105,27,116,179,155,207,110,190,128,139,149,116,35,35,63,164,155,108,33,126,124,42,151,185,231,184,107,38 H,913499,8,800,4,16,1015675,29,2,1,1,,3,2,2,,150,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,8,2,2,3,4,14000,4,,,1,1,14000,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,178,,0,1,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,48,30,28,10,35,37,33,20,9,31,27,42,57,10,8,52,39,11,24,7,7,36,40,38,24,41,28,27,54,26,21,8,9,46,63,10,33,75,33,9,8,33,27,52,31,20,23,47,70,32,39,9,8,45,55,6,25,57,36,43,67,38,29,12,36,27,31,30,10,29,28,44,51,12,7,42,28,7,31 H,913546,8,500,4,16,1015675,130,3,1,1,,3,2,2,,50,0,2,3,3,1200,1,,1,700,1,1,1,6,,,,1,1,,14,2,2,4,4,25400,4,,,1,1,25400,0,4,4,4,1,2,0,3,0,0,0,35,0,0,0,2,2,1,750,3,0,1,28,1,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,123,131,213,38,243,200,124,131,35,36,254,143,140,116,201,121,109,128,155,140,42,233,138,118,130,134,46,38,137,122,128,42,196,35,139,209,208,189,202,249,127,121,44,226,37,37,102,111,223,223,37,129,114,123,42,136,136,137,110,116,251,42,137,115,132,128,223,207,159,140,153,226,40,205,133,37,40,32,40 H,913584,8,100,4,16,1015675,42,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,12,42,13,13,74,70,55,44,46,51,13,66,41,40,44,13,75,42,11,43,69,37,69,66,12,14,41,42,40,45,69,12,41,46,39,76,14,41,12,43,81,41,82,77,10,13,41,42,41,45,76,12,40,37,43,84,13,45,74,43,10,50,11,14,75,71,41,35,44,45,12,73,40,45,38,11,67,45,63 H,913825,8,900,4,16,1015675,68,2,1,1,,4,2,2,,70,0,1200,200,1,300,1,,,,,3,1,9,,,,1,2,,13,3,550,9,4,77200,4,,,1,1,77200,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,0,1,524,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,62,78,21,60,114,60,125,104,27,65,20,67,56,15,70,22,100,120,64,72,61,70,15,57,135,81,160,127,25,72,19,58,60,23,79,22,110,112,80,62,56,64,17,67,119,47,104,108,19,73,18,69,85,19,73,21,134,137,65,68,70,98,23,72,96,50,126,108,20,74,18,66,63,18,70,18,114,143,58 H,913885,8,700,4,16,1015675,72,5,1,1,,5,2,2,,130,0,2,30,1,250,1,,2,1200,2,1,1,9,,,1200,1,1,,20,2,720,1,2,60000,3,,,1,1,60000,0,3,3,3,1,2,3,5,0,0,3,60,0,0,1,0,0,1,2999,1,0,1,55,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,21,62,122,80,67,75,128,69,123,20,79,20,72,75,69,21,18,128,76,23,71,122,74,119,136,23,72,20,71,77,20,66,20,117,107,75,73,71,118,69,20,76,121,76,72,68,107,69,134,22,70,20,75,73,79,20,20,126,70,24,73,125,77,119,113,22,71,20,68,69,20,72,20,133,122,72,74,69,119 H,913928,8,100,4,16,1015675,247,4,1,2,1,3,2,2,,170,0,800,3,4,800,1,,1,950,1,1,1,7,,,500,1,1,,17,3,2,3,1,80000,2,,,1,1,80000,0,2,2,2,1,4,2,4,0,0,2,25,0,0,1,0,0,2,1687,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,261,69,374,282,251,275,64,348,270,270,71,230,83,81,347,462,299,270,385,281,243,68,339,209,325,227,76,400,199,256,76,279,82,79,440,378,224,223,330,257,294,79,420,247,242,208,88,383,260,251,95,248,81,66,486,417,223,254,341,264,243,92,460,298,210,223,80,403,272,216,91,236,66,82,371,369,217,234,404 H,914087,8,600,4,16,1015675,239,2,1,1,,2,2,2,,100,0,2,150,1,2200,1,,1,1100,1,1,1,8,,,,1,1,,22,3,800,1,1,153700,4,,,1,1,153700,0,4,4,4,1,1,0,2,0,0,0,11,0,0,0,0,0,2,1417,3,0,1,65,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,429,421,239,65,229,392,220,221,397,220,69,75,78,247,222,240,247,222,69,431,405,406,250,75,249,408,219,235,437,244,73,77,75,242,227,247,246,257,433,72,70,69,256,407,258,71,242,254,70,239,405,375,429,239,243,288,253,247,363,72,64,65,212,435,256,73,219,247,69,227,393,391,397,245,241,243,208,254,65 H,914139,8,100,4,16,1015675,56,6,1,1,,3,2,2,,140,3300,2,2,1,,1,,,,,,1,5,2,600,,1,3,,,2,1,7,4,15800,2,740,56,1,1,15800,0,2,2,2,1,2,3,6,0,0,3,,0,0,1,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,60,47,95,62,57,58,51,90,51,70,15,18,136,92,22,57,71,18,46,14,61,57,77,59,46,56,67,98,42,60,17,15,120,112,15,49,114,20,79,101,58,47,13,75,73,63,58,17,56,52,102,90,18,15,91,70,14,96,64,72,64,60,15,54,52,50,61,15,51,61,104,87,22,16,82,53,17,90,97 H,914291,8,800,4,16,1015675,27,1,1,1,,3,2,2,,100,0,260,3,3,600,1,,2,590,2,1,1,7,,,,1,1,,14,1,2,3,,,,,,1,4,47000,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,0,1,929,3,0,1,32,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,50,8,49,30,9,7,9,27,41,9,27,29,27,29,46,36,25,24,41,7,29,27,27,7,32,33,30,43,27,26,8,49,8,9,29,25,63,43,28,33,9,48,10,27,48,46,50,26,8,49,24,32,32,25,9,8,30,26,8,39,27,32,24,49,25,30,22,7,28,27,40,7,46,44,27,27,6,10,35 H,914396,8,600,4,16,1015675,0,1,2,,,,,,,,450,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,914666,8,500,4,16,1015675,30,3,1,1,,3,2,1,,100,0,2,100,1,450,1,,1,650,1,1,1,9,,,300,1,1,,18,6,900,9,1,48000,2,,,2,1,48000,0,2,2,2,1,3,1,3,0,0,1,31,0,0,1,0,0,1,1225,2,0,0,31,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,26,26,31,51,9,26,31,53,30,50,51,8,10,31,35,31,25,43,63,48,30,28,31,8,51,27,33,10,27,6,8,54,47,29,36,28,28,9,50,53,30,27,31,10,52,30,33,8,31,10,10,56,50,28,31,32,34,10,8,10,30,27,35,55,7,34,28,45,33,48,52,10,8,30,26,28,30,45,10 H,914737,8,100,4,16,1015675,230,1,1,3,1,3,2,2,,100,0,200,80,6,960,1,,1,1800,1,1,1,7,,,,1,1,,17,1,2,3,,,,,,1,6,31200,0,4,4,4,1,1,0,,0,0,0,77,0,0,0,0,0,2,1997,3,0,0,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,344,210,202,68,367,207,221,402,223,206,405,236,245,234,396,78,77,69,60,230,78,277,248,362,77,243,186,68,221,281,91,208,216,187,72,346,326,374,392,233,53,222,241,338,85,230,250,67,270,233,74,265,232,211,70,319,375,320,382,230,413,255,223,68,360,200,240,336,214,251,476,253,225,248,343,67,79,73,77,335 H,914797,8,100,4,16,1015675,130,4,1,1,,3,2,2,,60,0,2,30,1,500,1,,1,1500,1,1,1,6,,,,1,1,,18,4,70,3,8,71400,1,,,1,3,98400,1,1,4,1,1,1,0,3,0,1,1,19,3,1,1,0,0,1,1596,3,0,1,23,2,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,167,211,37,135,136,129,201,43,137,154,220,113,209,178,38,43,122,125,131,252,118,37,217,129,126,144,36,234,144,129,45,128,35,46,208,215,131,126,121,40,122,203,41,127,165,135,230,41,114,129,203,153,236,212,40,41,123,129,156,167,153,41,251,132,112,130,33,239,136,128,46,109,37,42,247,216,116,144,126,43 H,914811,8,300,4,16,1015675,82,2,1,1,,3,2,2,,90,0,2,90,1,510,1,,1,920,1,1,1,6,,,,1,1,,14,2,350,5,1,60000,4,,,1,1,60000,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,2,0,1,1129,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,150,30,78,91,68,86,90,68,152,21,83,82,23,24,78,143,133,80,72,76,83,79,162,23,23,27,24,129,79,76,28,138,78,74,151,89,67,138,26,142,28,157,95,78,78,87,78,83,23,128,87,73,132,124,83,22,21,92,91,72,91,96,24,151,120,109,126,21,100,76,120,20,78,70,22,81,77,23,136 H,914940,8,900,4,16,1015675,28,2,1,2,1,5,2,2,,90,0,2,150,2,560,1,,,,,3,1,9,,,,1,2,,19,2,190,5,1,65400,4,,,1,1,65400,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,0,0,2,386,,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,7,10,52,42,6,30,47,8,9,30,25,46,19,21,25,32,63,30,24,25,11,10,57,52,7,37,64,8,8,23,28,38,30,29,23,31,75,34,25,29,55,47,10,8,39,25,9,47,47,26,25,7,25,30,38,30,8,29,22,25,43,53,11,8,51,27,8,53,45,22,30,7,27,31,24,26,12,33,26 H,915114,8,700,4,16,1015675,87,3,1,1,,3,2,2,,60,0,2,190,1,370,1,,,,,3,1,7,,,,1,2,,16,3,600,3,4,64300,4,,,1,1,64300,0,4,4,4,1,5,0,3,0,0,0,9,0,0,0,2,2,1,481,,0,1,30,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,99,28,84,85,82,27,96,26,153,92,164,90,81,74,145,150,22,81,113,84,27,93,23,23,170,84,140,82,96,155,87,142,27,27,86,76,84,151,24,137,92,27,87,90,83,30,96,29,164,92,154,87,81,85,134,158,28,80,94,86,23,74,25,25,136,78,140,83,94,142,84,154,25,28,80,84,90,147,22 H,915118,8,100,4,16,1015675,12,1,1,1,,3,2,2,,50,0,1000,3,4,370,1,,,,,3,1,4,,,,1,2,,15,0,700,3,,,,,,3,6,2500,0,4,4,4,2,5,0,,0,0,0,101,0,0,0,1,1,1,268,,0,1,13,,,,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,22,17,5,5,12,12,10,10,10,20,10,3,18,12,21,11,3,13,4,3,3,11,22,25,13,13,13,13,15,4,10,21,4,14,3,15,26,12,17,17,26,15,5,3,12,13,10,10,10,24,15,5,22,10,16,17,4,9,3,4,3,13,18,20,14,16,13,18,15,4,19,21,3,14,4,11,25,14,22,27 H,915325,8,200,4,16,1015675,150,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,37,44,173,162,135,122,141,281,289,248,150,43,144,308,195,163,231,128,239,241,224,234,166,173,150,155,138,48,47,41,166,233,137,46,148,154,48,157,52,40,42,45,154,157,145,168,147,241,240,265,159,46,163,266,157,152,256,143,228,248,218,210,176,149,151,117,128,44,47,47,149,268,140,43,167,170,54,150,45 H,915465,8,500,4,16,1015675,92,1,1,1,,3,2,2,,40,0,890,100,1,390,1,,1,760,1,2,1,5,,,,1,1,,15,1,400,3,,,,,,1,4,55000,0,4,4,4,1,3,0,,0,0,0,22,0,0,0,0,0,1,1007,3,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,106,178,176,165,95,24,87,141,92,92,135,83,29,24,26,81,87,89,163,97,100,28,23,26,98,171,83,26,95,99,31,106,170,147,156,91,93,81,28,95,100,166,168,134,91,29,86,149,86,90,155,80,28,31,26,84,90,91,158,86,82,28,28,28,84,158,82,26,83,103,31,84,148,159,153,97,107,103,26 H,915742,8,100,4,16,1015675,145,3,1,1,,3,2,2,,60,0,2,20,1,1300,1,,,,,3,1,7,,,,1,2,,21,1,750,3,4,88000,4,,,1,1,88000,0,4,4,4,1,4,0,3,0,0,0,8,0,0,0,2,2,1,568,,0,1,50,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,47,146,137,45,285,149,146,47,190,134,215,152,117,42,247,210,148,233,160,210,150,41,44,151,151,42,239,169,222,287,154,204,45,123,141,152,41,162,241,136,241,159,134,258,40,142,148,226,131,141,53,149,143,272,44,44,149,50,118,54,149,273,227,115,136,233,44,161,44,55,139,46,244,144,151,130,241,143,50 H,915805,8,900,4,16,1015675,211,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,209,202,204,79,209,360,207,61,67,200,225,62,325,202,325,392,218,317,64,210,196,227,252,335,213,67,191,363,324,191,217,342,62,200,60,66,211,67,401,191,192,212,209,354,197,67,212,359,332,204,194,393,62,211,62,67,225,71,426,231,204,212,210,59,202,366,222,68,70,190,252,58,309,174,293,388,217,307,67,205 H,915838,8,700,4,16,1015675,276,0,1,,,3,4,,,,,,,,,1,,,,,,1,5,2,700,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,93,90,87,246,344,284,232,243,448,407,484,250,83,300,420,257,320,501,315,549,440,412,474,280,262,282,256,269,83,73,87,273,499,284,89,291,251,75,290,83,95,87,88,281,281,272,255,283,487,473,432,261,78,278,483,279,239,436,287,544,486,445,420,267,313,249,231,250,85,84,81,301,477,349,84,240,300,83,284,88 H,916317,8,100,4,16,1015675,22,2,1,3,4,3,1,2,,150,0,200,3,3,390,1,0,,,,3,1,7,,,,1,2,,24,3,120,3,2,87800,4,,,1,1,87800,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,2,2,1,1043,,0,0,68,1,6,3,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,24,38,7,21,26,25,5,23,41,21,6,7,22,21,5,36,25,33,23,5,19,7,36,21,21,22,39,25,5,20,41,34,20,21,37,7,22,7,22,7,25,7,31,20,22,23,37,25,5,20,34,41,23,20,39,7,20,5,24,35,20,36,5,20,19,23,7,22,41,23,7,8,19,19,6,33,19,36,18 H,916419,8,900,4,16,1015675,37,2,1,1,,2,2,2,,40,0,2,3,3,500,1,,,,,3,1,4,,,,1,2,,15,2,530,5,4,18400,4,,,1,1,18400,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,2,2,1,209,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,13,41,64,72,60,30,36,35,47,43,11,12,8,30,56,33,14,46,9,40,58,31,10,12,10,35,44,28,39,56,68,56,55,50,12,31,81,39,69,44,10,38,58,74,69,36,33,30,46,35,13,10,10,39,55,36,11,49,14,39,42,36,12,11,12,29,33,30,37,40,68,70,69,45,12,37,69,40,62 H,916598,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,916633,8,200,4,16,1015675,68,1,1,1,,2,2,2,,1,680,2,3,3,,1,,,,,,1,4,2,490,,2,3,,,0,750,7,,,,553,92,1,6,7220,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,18,69,153,28,25,60,70,101,64,63,67,79,145,64,70,26,20,94,63,107,26,69,95,26,23,72,100,113,58,70,61,64,119,54,73,21,20,121,74,21,114,61,27,96,92,73,57,17,61,73,76,61,21,72,71,114,133,26,76,14,111,66,23,151,114,57,57,18,71,98,94,89,19,59,76,96,123,22,61 H,916819,8,400,4,16,1015675,78,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,83,66,73,109,71,124,55,67,144,55,17,164,159,23,80,84,28,76,141,116,69,90,73,24,92,24,79,81,24,78,111,21,26,144,62,79,149,77,26,23,70,76,93,122,86,138,67,68,119,64,18,123,135,25,77,75,27,74,95,138,83,82,70,27,75,23,101,88,28,85,146,20,25,133,63,77,115,76,30 H,917116,8,100,4,16,1015675,130,2,1,3,6,3,2,2,,120,0,2,4,6,2500,1,,,,,3,1,5,,,,1,2,,22,3,2,3,1,24460,4,,,1,1,24460,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,2,424,,0,0,23,2,5,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,32,32,140,152,175,113,146,142,154,176,106,151,43,35,174,191,34,123,123,268,42,42,142,135,225,127,143,115,148,251,156,149,43,38,221,281,41,138,142,195,44,38,134,157,224,125,118,141,152,259,128,144,43,36,215,194,45,125,142,204,40,41,159,126,198,110,99,124,112,241,143,102,39,38,203,194,48,171,140 H,917208,8,900,4,16,1015675,45,3,1,1,,5,2,2,,50,0,1200,50,2,410,1,,1,630,1,1,1,7,,,200,1,1,,15,3,600,5,2,41000,1,,,1,1,41000,0,1,1,1,1,1,1,3,0,0,1,32,0,0,1,0,0,1,1080,2,0,1,14,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,54,48,43,55,60,91,55,13,38,90,31,40,56,39,16,14,16,38,94,47,40,44,33,14,15,15,62,79,45,13,39,46,12,42,68,75,88,61,15,49,44,39,49,81,86,62,31,16,45,62,60,45,59,45,11,13,17,44,70,46,45,44,38,15,15,11,41,72,49,12,53,44,12,39,73,106,82,43,16 H,917277,8,400,4,16,1015675,131,5,1,2,1,3,2,2,,160,0,2,250,2,440,1,,1,1000,1,1,1,5,,,,1,1,,16,3,2,2,1,56000,2,,,1,1,56000,0,2,2,2,1,2,3,5,0,0,3,30,0,0,1,0,0,1,1410,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,34,35,49,135,247,128,36,161,82,44,104,205,204,246,124,144,146,99,37,168,224,194,338,133,37,168,182,165,128,270,147,28,48,28,147,166,116,111,223,138,35,39,43,125,290,172,37,134,108,43,160,194,260,179,105,162,219,177,45,96,315,182,175,156,31,118,199,97,160,206,113,44,40,55,130,113,117,76,256 H,917369,8,600,4,16,1015675,89,3,1,1,,3,2,2,,40,0,2,120,1,400,1,,1,680,2,1,1,5,,,210,1,1,,15,1,1000,7,5,34000,2,,,1,2,56000,0,2,2,2,1,4,1,2,0,1,1,26,2,0,1,0,0,1,1233,2,0,1,24,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,83,95,27,84,25,29,139,149,86,93,87,100,29,147,92,80,89,27,146,155,78,89,25,81,25,25,145,158,89,84,79,97,28,185,95,78,99,27,25,28,88,90,157,88,158,156,24,25,94,83,86,97,152,25,89,85,89,159,28,26,84,87,162,80,145,156,23,26,91,91,86,102,162,29,84,87,97,141,149 H,917389,8,900,4,16,1015675,29,3,1,1,,3,1,2,,70,0,2,120,1,250,1,5000,2,360,2,1,1,7,,,240,1,1,,10,3,1,5,1,43500,2,,,3,1,43500,0,2,2,2,1,5,1,3,0,0,1,35,0,0,1,0,0,1,1266,2,0,0,11,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,10,38,35,9,10,7,8,33,8,29,9,33,28,25,28,7,8,28,26,28,30,44,47,31,27,29,30,52,31,60,35,37,36,42,50,28,28,44,47,38,46,28,31,43,53,62,43,28,49,28,47,27,33,21,23,61,47,28,28,28,24,10,12,30,27,24,29,7,29,12,24,6,10,8,8,29,28,8,7,8 H,917794,8,700,4,16,1015675,74,5,1,1,,4,2,2,,90,0,2,50,1,750,1,,1,1200,1,1,1,9,,,,1,1,,20,3,600,1,2,111000,3,,,1,1,111000,0,3,3,3,1,1,3,5,0,0,3,15,0,0,1,0,0,1,1390,3,0,1,32,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,67,69,22,82,27,127,126,66,87,72,21,72,132,75,118,124,25,81,73,125,72,81,129,80,116,21,22,75,75,67,130,76,20,79,22,22,126,83,77,24,85,74,22,71,19,132,119,83,65,80,23,80,127,67,126,124,19,80,81,138,83,78,124,72,120,23,22,70,73,74,131,75,24,69,22,24,137,75,85 H,918009,8,500,4,16,1015675,110,4,1,2,1,3,2,2,,80,0,2,3,6,380,1,,1,940,1,1,1,5,,,210,1,1,,16,2,2,1,2,36600,2,,,1,1,36600,0,2,2,2,1,1,2,4,0,0,2,40,0,0,1,0,0,1,1230,1,0,1,13,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,28,173,117,119,110,201,117,32,103,188,193,129,106,211,34,105,29,29,101,131,29,185,110,121,125,187,102,37,127,187,178,108,92,164,30,90,36,31,109,101,182,28,100,108,111,31,113,206,114,29,36,120,104,29,208,109,186,206,108,145,192,37,116,89,109,39,106,167,101,33,31,128,106,35,174,106,175,187,113 H,918241,8,700,4,16,1015675,315,4,1,1,,3,2,2,,180,0,150,3,8,220,1,,1,690,1,1,1,5,,,20,1,1,,14,2,180,5,2,36000,3,,,1,1,36000,0,3,3,3,1,4,2,4,0,0,2,31,0,0,1,0,0,2,918,2,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,89,549,272,534,349,87,332,97,528,321,89,101,300,320,329,304,329,502,332,98,578,92,311,95,304,604,334,536,89,314,571,497,292,315,302,274,327,95,314,89,516,91,331,91,338,535,299,475,88,349,534,529,330,332,326,349,317,84,321,534,103,558,319,583,304,87,325,90,504,296,91,91,310,314,342,311,318,561,298,521 H,918288,8,300,4,16,1015675,31,6,1,1,,2,1,2,,40,0,200,90,6,0,1,1600,,,,3,1,3,,,,1,2,,14,1,1,3,1,35400,3,,,2,1,35400,0,3,3,3,1,4,4,6,0,0,4,11,0,0,1,0,0,2,316,,0,0,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,15,27,24,32,54,49,39,67,10,70,8,37,8,8,36,23,31,29,41,37,32,74,12,10,36,32,44,25,30,35,38,40,33,42,8,10,67,47,7,18,63,44,30,31,8,9,32,13,124,15,59,27,57,56,32,26,23,23,25,20,31,8,51,58,32,37,11,28,26,24,35,11,27,29,60,68,14,11,76,41 H,918810,8,800,4,16,1015675,64,2,1,1,,2,2,2,,410,0,680,250,1,80,1,,1,360,1,1,1,4,,,,1,1,,8,2,740,9,4,21800,4,,,2,1,21800,0,4,4,4,1,3,0,2,0,0,0,63,0,0,0,0,0,1,1139,3,0,1,8,2,5,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,58,63,108,71,100,56,67,110,58,24,103,105,15,78,71,20,81,23,77,18,64,60,108,70,104,55,48,79,82,21,115,94,21,77,64,19,55,17,51,112,53,57,24,54,17,74,55,15,79,121,18,27,93,59,65,99,51,93,84,85,75,88,19,77,16,60,81,22,46,101,20,16,108,56,54,112,70,143,76,22 H,919157,8,500,4,16,1015675,65,0,1,1,,4,2,2,,,,,,,,2,,,,,,2,7,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,16,63,63,80,107,107,66,121,17,104,19,53,15,20,74,59,69,58,54,93,55,161,19,22,73,58,107,57,74,59,57,111,50,72,20,21,116,121,16,90,21,62,57,61,119,118,66,134,23,105,22,69,22,16,66,74,68,78,65,58,59,118,16,17,77,64,125,55,56,63,65,101,78,61,18,22,92,105,20,122 H,919435,8,800,4,16,1015675,27,2,1,3,6,3,2,2,,130,0,2,3,3,1600,1,,2,1000,2,1,1,5,,,,1,1,,12,4,2,5,1,42200,4,,,1,1,42200,0,4,4,4,1,6,0,2,0,0,0,39,0,0,0,0,0,1,1388,3,0,0,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,7,9,31,29,27,32,40,44,45,61,22,7,25,36,24,25,36,31,8,9,10,7,25,35,27,23,24,48,48,49,24,7,24,55,24,30,68,22,7,9,6,9,25,26,25,28,31,63,46,45,30,10,27,38,31,28,33,28,10,7,10,8,30,26,27,33,25,43,37,45,21,5,30,64,28,21,44,21,7 H,919527,8,100,4,16,1015675,112,5,1,1,,3,1,2,,120,2400,2,80,1,0,1,3100,,,,3,1,6,,,,1,2,,2,1,1,5,1,13770,3,,,1,1,13770,0,3,3,3,1,4,3,5,0,0,3,41,0,0,1,0,0,1,469,,0,0,4,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,108,162,96,206,202,39,37,95,135,101,111,179,28,113,100,127,200,34,207,115,108,45,123,27,26,187,205,118,103,105,112,34,207,115,93,86,30,217,185,134,106,41,137,29,31,215,152,116,102,92,102,41,178,114,119,108,32,164,34,99,109,172,113,224,168,33,37,95,105,120,109,181,34,97,126,110,180,35,34 H,919552,8,800,4,16,1015675,49,2,1,1,,3,1,2,,220,0,2,3,3,250,1,1900,2,570,2,2,1,5,,,,1,1,,8,2,520,3,3,55500,4,,,2,1,55500,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,2,1,1,1051,3,0,0,11,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,72,13,15,82,58,13,67,99,40,62,14,46,38,50,57,13,39,41,66,74,96,15,10,78,57,18,98,98,41,38,14,51,44,40,41,15,50,45,45,15,15,93,86,18,78,89,12,10,45,46,75,40,45,57,51,72,44,47,54,13,20,79,73,15,37,73,13,14,61,43,81,47,39,46,67,85,47,47,63 H,919602,8,800,4,16,1015675,147,1,1,1,,2,2,2,,40,0,2,30,1,460,1,,,,,3,1,6,,,,1,2,,18,1,410,2,,,,,,1,6,12000,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,1,1,2,292,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,234,140,145,231,282,292,209,133,234,149,265,154,151,165,175,221,182,158,43,140,46,146,153,44,42,44,45,154,36,144,46,173,151,163,152,47,44,161,260,140,260,148,121,229,260,235,229,155,274,151,243,149,143,152,156,282,261,143,44,114,49,138,136,56,49,42,44,174,52,166,49,127,148,156,131,41,44,134,279 H,919794,8,800,4,16,1015675,68,1,1,2,1,4,2,2,,70,0,2,3,2,1000,1,,,,,3,1,9,,,,1,2,,16,1,2,5,,,,,,1,6,14000,0,4,4,4,1,6,0,,0,0,0,20,0,0,0,1,1,1,236,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,73,54,27,71,58,147,98,16,21,98,81,22,91,126,70,61,22,69,67,67,86,59,96,65,63,15,20,102,100,22,64,115,19,18,82,52,117,68,83,70,61,77,20,64,82,91,88,19,20,108,49,25,116,81,79,69,20,64,82,47,49,61,146,80,74,30,18,120,118,17,62,105,22,25,84,52,99,79,74 H,920235,8,800,4,16,1015675,81,2,1,1,,3,2,2,,150,0,2,50,3,0,1,,,,,3,1,6,,,,1,2,,15,1,50,5,4,40900,4,,,1,1,40900,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,302,,0,1,23,0,9,9,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,22,77,89,21,157,85,86,24,93,89,120,65,79,26,137,119,75,137,88,125,95,22,29,87,72,27,118,88,143,129,82,118,28,80,104,94,25,87,163,86,152,78,75,102,26,74,74,141,100,87,22,87,82,114,26,25,89,23,81,25,101,157,134,72,74,144,29,88,25,26,81,23,119,81,83,82,145,72,24 H,920264,8,700,4,16,1015675,108,2,1,3,4,5,2,2,,410,0,2,3,3,2000,1,,,,,3,1,9,,,,1,2,,22,5,2,4,1,183300,4,,,1,1,183300,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,1,1244,,0,0,66,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,105,177,100,177,30,34,108,112,113,186,108,32,115,36,30,191,101,173,108,108,103,32,113,32,177,188,112,113,116,33,107,197,112,176,183,30,106,34,106,112,115,28,101,32,178,195,102,103,106,31,114,197,111,187,194,34,115,34,106,98,118,181,109,184,30,36,105,100,119,189,106,31,100,31,33,183,111,183,117 H,920410,8,200,4,16,1015675,55,3,1,,,2,5,,,80,3000,2,3,3,,1,,,,,,1,3,2,500,,1,3,,,2,550,5,8,11400,2,626,66,1,3,11400,0,2,2,2,1,3,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,56,91,52,54,47,50,112,55,61,15,14,90,101,15,51,101,21,18,57,52,59,80,44,40,42,53,99,51,47,17,15,69,81,16,63,90,20,19,59,51,55,15,52,54,58,60,15,53,50,75,99,17,17,98,44,15,140,94,45,42,50,17,55,65,50,41,18,55,55,99,82,17,16,82,60,15,82,90,50,77 H,920450,8,800,4,16,1015675,142,7,1,2,1,4,2,1,,100,0,2,3,3,680,1,,1,680,1,1,1,8,,,,1,1,,14,3,2,2,1,35400,3,,,2,1,35400,0,3,3,3,1,3,5,7,0,0,5,26,0,0,1,0,0,1,780,3,0,0,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,48,47,197,41,163,141,200,126,353,147,295,153,136,43,135,183,45,208,325,187,222,154,189,169,41,150,150,259,117,42,137,56,255,114,33,37,137,148,168,197,42,46,183,30,148,152,139,155,244,120,315,189,96,44,250,134,43,234,215,214,165,136,192,148,56,170,155,340,139,38,155,45,291,148,34,43,156,159,166 H,920507,8,600,4,16,1015675,296,0,1,,,1,4,,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,457,75,285,354,291,293,349,281,545,88,261,299,100,97,275,473,598,333,293,287,299,299,76,509,460,394,536,83,308,326,529,101,297,282,74,303,276,91,594,100,486,88,332,305,266,354,288,341,441,87,258,312,84,100,307,452,541,286,356,272,353,332,93,489,487,531,491,79,274,279,480,92,300,268,86,273,264,71,573 H,920584,8,700,4,16,1015675,72,2,1,1,,3,2,2,,50,0,2,250,1,590,1,,2,1300,2,1,1,7,,,,1,1,,20,2,360,1,1,120000,4,,,1,1,120000,0,4,4,4,1,1,0,2,0,0,0,18,0,0,0,0,0,1,1779,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,115,61,63,74,117,77,124,22,72,21,78,67,70,22,18,135,71,24,72,141,68,120,124,22,77,24,82,73,21,75,20,113,127,71,63,70,21,76,19,70,20,69,71,79,19,72,19,120,77,128,77,80,78,124,146,21,72,138,69,21,73,22,24,115,65,119,70,63,124,76,123,18,20,74,72,74,125,66,126 H,920796,8,300,4,16,1015675,67,3,1,1,,3,2,2,,100,0,2,3,3,230,1,,1,520,1,1,1,5,,,,1,1,,13,3,600,5,1,35000,2,,,5,1,35000,0,2,2,2,1,4,1,3,0,0,1,23,0,0,1,0,0,1,670,3,0,1,11,2,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,179,78,58,73,115,57,111,21,89,17,65,65,69,22,21,97,79,19,65,113,77,109,121,15,61,18,60,74,23,72,21,104,169,58,63,57,22,58,104,57,163,77,62,70,109,61,113,21,61,20,55,56,69,21,16,120,76,15,62,98,77,134,119,22,58,21,68,60,20,59,26,117,178,79,74,61,22,68,117 H,920819,8,100,4,16,1015675,39,2,1,1,,3,1,2,,80,340,2,3,3,280,1,600,1,300,1,1,1,5,,,,1,1,,11,0,820,2,,,,,,1,5,8700,0,4,4,4,1,2,0,,0,1,0,69,0,0,0,1,0,1,498,3,0,0,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,58,36,15,75,41,65,35,12,49,14,55,36,13,12,33,39,37,41,43,11,12,40,70,10,35,12,34,58,39,70,10,39,80,78,41,38,58,39,39,67,67,35,14,78,36,74,39,14,45,11,72,37,12,15,34,39,37,35,35,13,12,44,73,15,35,11,35,80,45,61,12,32,67,58,39,46,32,52,31,75 H,920829,8,300,4,16,1015675,79,2,1,1,,5,2,2,,140,0,650,3,3,540,1,,,,,3,1,9,,,,1,2,,18,2,30,4,2,143000,4,,,1,1,143000,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,497,,0,1,42,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,24,68,143,132,79,24,131,28,77,73,96,76,82,89,138,25,69,74,76,79,75,123,85,73,153,79,67,81,119,25,26,21,26,137,106,99,22,128,171,19,21,72,150,144,80,25,131,23,97,70,78,83,88,78,134,23,86,85,66,82,81,126,81,78,137,74,71,77,158,25,23,23,24,159,77,90,21,141,142 H,921325,8,600,4,16,1015675,87,2,1,1,,3,2,2,,100,0,2,100,1,,1,,,,,,1,9,2,850,,2,3,,,2,90,5,6,0,2,1058,,1,2,0,0,2,2,2,1,5,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,0,12,12,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,1,93,91,25,29,85,154,84,154,29,149,84,139,81,24,26,93,131,84,83,23,144,25,90,88,27,85,25,88,85,94,141,99,139,84,99,148,77,21,162,86,86,79,172,150,91,25,86,25,135,27,83,25,91,134,157,87,27,91,88,138,29,160,81,86,153,93,155,83,91,89,22,81,27,88,91,28,83,160,23,91 H,921390,8,600,4,16,1015675,87,1,1,,,1,7,,,20,0,2,70,1,,1,,,,,,1,3,2,550,,1,3,,,0,20,5,,,,642,79,1,6,9700,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,88,91,86,26,89,147,89,26,28,82,90,29,157,90,129,140,89,147,29,97,83,88,92,25,81,149,88,27,23,85,97,24,141,84,154,151,85,147,28,98,90,86,87,26,83,156,90,24,27,93,79,25,145,83,142,139,90,135,26,88,90,95,76,23,91,144,88,26,29,90,85,27,151,103,152,156,78,154,26,78 H,921490,8,900,4,16,1015675,98,1,1,1,,3,2,2,,80,0,160,10,6,,1,,,,,,1,5,2,150,,2,3,,,1,1,7,,,,253,55,1,6,5500,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,143,112,37,87,96,23,83,147,126,143,88,120,97,85,109,34,39,29,37,108,25,93,140,131,95,135,124,34,36,38,118,98,91,76,99,172,134,217,165,128,211,93,36,76,78,35,86,118,139,166,85,100,110,110,111,28,27,29,38,122,31,95,128,123,104,136,104,26,28,48,129,83,71,72,97,145,133,223,150 H,921623,8,700,4,16,1015675,72,2,1,1,,3,2,2,,50,0,2,40,1,400,1,,1,900,1,1,1,7,,,350,1,1,,21,2,990,2,1,141800,4,,,1,1,141800,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,1,1,2,1423,2,0,1,42,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,127,72,127,102,77,130,18,71,69,74,22,68,113,72,22,21,70,68,68,120,22,75,22,20,81,22,120,75,77,72,127,70,22,78,133,141,69,76,82,124,22,72,24,22,71,21,124,70,71,71,131,67,20,72,117,114,73,73,71,20,124,78,126,126,80,120,22,73,74,69,22,76,127,68,22,22,74,72,71 H,921742,8,600,4,16,1015675,110,2,1,1,,2,2,2,,70,0,2,90,1,,1,,,,,,1,4,2,680,,1,3,,,2,250,7,,,,861,88,1,5,11800,0,4,4,4,1,3,0,,0,1,0,,2,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,198,198,32,104,116,191,30,111,109,30,105,115,35,108,107,114,32,181,112,33,32,32,187,115,122,33,166,114,116,197,109,117,190,107,104,111,183,34,116,177,187,194,33,103,121,185,33,114,110,31,110,99,34,104,110,124,35,198,100,31,31,33,160,116,126,33,187,118,119,180,109,112,187,117,111,109,167,36,110 H,921785,8,200,4,16,1015675,122,4,1,1,,5,2,2,,80,0,1400,230,4,450,1,,1,850,1,1,1,9,,,,1,1,,16,3,980,7,1,55800,2,,,1,1,55800,0,2,2,2,1,5,1,4,0,0,1,29,0,0,1,0,0,1,1359,3,0,1,19,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,150,166,103,223,186,98,237,29,200,38,167,24,37,137,104,139,82,135,138,131,150,36,31,90,138,241,122,100,159,101,154,184,126,43,44,184,230,47,165,38,107,159,114,230,201,125,231,36,168,47,127,32,40,139,105,128,85,104,164,169,162,39,30,88,161,172,139,114,132,87,244,97,91,67,51,251,224,45,187 H,922223,8,100,4,16,1015675,77,2,1,1,,3,2,2,,130,0,2,2,1,380,1,,1,730,1,1,1,7,,,170,1,1,,18,2,400,3,1,72000,4,,,1,1,72000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1063,2,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,77,66,20,172,28,20,72,84,122,120,20,65,85,78,24,84,67,86,24,29,89,73,134,24,137,128,70,68,25,20,132,82,92,88,124,73,71,74,22,22,85,62,116,22,154,141,84,93,22,29,114,78,85,80,157,65,79,71,137,123,69,71,24,129,26,21,90,72,121,119,19,67,80,84,25,64,80,85,140 H,922306,8,400,4,16,1015675,97,2,1,3,4,4,2,2,,290,0,2,3,3,780,1,,,,,3,1,8,,,,1,2,,20,3,2,9,,,,,,1,5,81440,0,4,4,4,1,5,0,,0,1,0,7,2,0,0,2,2,1,504,,0,0,29,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,187,159,85,83,26,91,115,106,81,26,90,112,165,194,39,23,169,121,34,76,35,30,71,105,162,83,81,91,134,150,83,112,35,29,151,144,28,98,142,83,32,36,93,97,135,92,110,98,76,140,111,99,30,35,171,169,36,101,126,104,143,146,96,102,27,92,91,102,98,28,89,94,129,165,41,30,136,114,32,114 H,922645,8,200,4,16,1015675,68,2,1,1,,5,2,2,,60,0,2,100,1,500,1,,1,680,1,1,1,8,,,,1,1,,18,3,180,9,4,26000,4,,,1,1,26000,0,4,4,4,1,3,0,2,0,0,0,39,0,0,0,2,2,1,855,3,0,1,24,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,80,82,23,68,28,57,58,17,74,103,27,17,98,71,50,127,60,89,24,100,81,70,97,59,129,57,78,93,61,19,101,113,18,89,75,21,84,21,126,55,64,72,20,66,22,75,91,21,71,100,19,15,103,72,62,154,58,78,27,91,53,77,90,52,156,59,77,106,58,15,123,111,23,85,70,21,75,22,125 H,922718,8,600,4,16,1015675,403,1,1,1,,2,1,2,,30,0,2,60,1,,1,,,,,,1,3,2,260,,2,3,,,0,1,6,,,,350,12,1,4,33900,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,393,407,395,465,370,635,697,710,381,133,379,745,409,382,680,382,140,121,629,639,364,422,383,410,373,122,123,116,401,632,375,134,452,461,124,366,680,709,645,678,394,395,444,458,385,123,121,104,417,671,383,124,374,425,121,382,651,630,133,116,399,442,461,438,412,661,660,614,393,122,367,633,386,399,626,427,132,121,110 H,923076,8,900,4,16,1015675,13,2,1,2,1,3,2,2,,100,0,2,3,3,300,1,,,,,3,1,4,,,,1,2,,14,2,220,3,4,28600,4,,,1,1,28600,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,2,1,176,,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,13,12,27,21,4,3,5,11,12,10,15,15,31,27,23,13,3,15,20,4,14,11,4,15,25,21,22,13,10,12,13,16,5,5,5,13,21,15,28,4,11,15,5,13,23,23,22,10,13,13,17,15,3,5,3,11,24,13,5,22,10,11,27,16,4,3,3,10,12,19,18,17,30,29,26,13,5,13,5 H,923115,8,100,4,16,1015675,90,2,1,1,,3,2,2,,70,0,2,120,1,220,1,,1,810,1,1,1,5,,,,1,1,,14,1,110,2,1,35000,4,,,1,1,35000,0,4,4,4,1,3,0,2,0,0,0,35,0,0,0,1,0,1,1009,3,0,1,17,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,183,89,163,85,26,92,24,132,93,27,24,83,88,88,92,94,153,90,26,143,28,95,25,84,160,90,144,26,98,171,171,102,90,89,80,95,27,87,150,30,166,96,156,89,25,83,26,136,102,27,21,76,93,97,90,90,163,98,23,152,23,97,26,109,200,79,140,26,93,160,154,87,81,93,81,83,29,92,143 H,923208,8,600,4,16,1015675,163,1,1,,,1,5,,,40,600,2,3,3,,1,,,,,,1,3,2,160,,1,3,,,1,1,6,,,,200,31,1,6,7800,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,297,169,299,269,278,229,156,152,327,300,180,251,329,155,156,171,145,213,146,131,53,174,47,72,46,59,146,124,48,51,165,59,44,178,187,194,158,49,192,160,302,152,269,296,303,222,141,159,303,339,158,233,296,183,175,176,150,201,146,150,59,151,56,69,43,63,139,128,46,47,163,64,45,172,176,164,161,47,175,142 H,923835,8,100,4,16,1015675,16,1,1,1,,4,2,2,,410,0,2,440,1,800,1,,,,,3,1,9,,,,1,2,,20,2,1200,7,,,,,,1,4,50500,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,1,1,1,1225,,0,1,37,,,,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,14,6,13,5,14,15,3,12,25,5,3,20,14,14,24,12,23,15,14,4,14,22,15,25,15,15,25,15,5,21,25,4,13,14,3,13,5,13,15,4,16,27,17,21,14,16,24,15,3,20,21,5,16,15,5,16,5,13,14,24,12,5,13,3,14,14,5,14,25,5,6,27,17,14,19,15,22,13,14,20 H,923933,8,200,4,16,1015675,24,1,1,1,,1,2,2,,40,0,300,3,6,580,1,,1,140,1,1,1,4,,,,1,1,,11,1,440,8,,,,,,1,4,13400,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,1,1,2,242,3,0,1,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,20,27,8,7,28,38,25,53,8,46,21,42,27,10,6,23,45,23,23,9,38,6,33,25,7,25,6,26,27,25,39,26,39,31,31,39,24,7,40,23,26,23,7,7,30,48,20,34,7,39,32,57,27,8,9,18,43,25,22,7,44,9,28,28,6,27,7,22,24,28,43,25,39,31,27,39,27,9,40,20 H,924131,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,924489,8,300,4,16,1015675,116,1,1,1,,4,3,2,,100,0,2,120,1,610,1,,,,,3,1,7,,,,1,2,,16,1,30,2,,,,,,1,6,8700,0,4,4,4,1,3,0,,0,0,0,53,0,0,0,1,1,1,384,,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,35,122,212,101,32,113,119,39,126,247,191,198,119,110,111,143,133,27,32,190,192,131,36,109,195,103,123,231,137,34,33,33,115,143,105,106,122,183,32,190,182,110,38,131,189,121,143,218,122,45,36,36,122,101,100,124,109,177,223,30,34,112,199,109,32,111,132,38,103,195,187,185,111,119,133,126,132,31,157 H,924542,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,924885,8,800,4,16,1015675,76,3,1,1,,2,1,2,,110,0,2,3,3,410,1,2500,2,350,2,1,1,5,,,,2,1,,6,2,1,3,3,23500,2,,,1,1,23500,0,2,2,2,1,3,1,3,0,0,1,37,0,0,1,1,1,1,726,3,0,0,7,1,7,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,127,26,89,82,117,133,132,75,70,24,137,61,25,95,69,81,84,24,21,74,75,82,123,20,58,70,65,117,26,72,78,137,57,102,126,27,19,101,100,138,24,148,86,90,22,21,22,68,60,130,22,85,133,72,78,66,80,132,115,67,72,72,19,124,84,66,91,22,137,82,72,25,99,20,24,110,116,80,69 H,924893,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,925214,8,600,4,16,1015675,120,2,1,1,,4,2,2,,60,0,50,30,1,500,1,,,,,3,1,9,,,,1,2,,22,6,20,3,5,77000,2,,,3,2,77000,0,2,2,2,1,5,1,2,0,0,1,13,0,0,1,0,0,1,805,,0,1,66,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,36,35,36,118,197,115,38,128,119,35,113,194,212,214,128,111,120,113,38,124,211,195,205,128,34,123,199,120,117,214,131,32,35,36,114,132,133,118,199,117,33,36,34,143,218,111,38,113,120,36,136,196,218,205,114,128,114,136,33,115,181,217,209,126,40,110,195,125,123,210,126,35,34,39,117,107,110,130,200 H,925479,8,600,4,16,1015675,109,5,1,1,,3,2,2,,100,0,2,80,1,350,1,,1,920,1,1,1,6,,,,1,1,,18,2,80,4,5,65300,2,,,1,2,125300,0,2,2,2,1,3,3,4,0,1,3,11,1,0,1,0,0,1,1107,3,0,1,30,1,10,10,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,97,180,35,196,109,107,106,114,112,117,30,187,105,109,188,181,98,32,33,104,189,107,100,107,191,32,33,31,35,185,109,114,32,190,107,105,193,123,110,30,110,204,32,177,113,115,106,104,117,112,31,211,101,104,171,180,119,31,39,109,175,98,103,106,184,31,33,31,34,176,119,120,33,176,113,101,170,114,104,32 H,925634,8,300,4,16,1015675,125,2,1,2,1,3,2,2,,60,0,2,130,1,490,1,,,,,3,1,6,,,,1,2,,17,2,2,5,4,52300,4,,,1,1,52300,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,2,1,293,,0,1,16,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,49,116,200,122,48,146,108,38,140,177,239,283,112,135,123,89,138,35,32,160,173,140,38,146,196,108,110,186,145,44,34,44,122,122,135,126,132,254,47,180,197,143,43,117,223,131,148,171,107,33,31,36,109,117,155,147,117,156,185,43,39,130,189,108,36,120,120,42,100,241,246,178,150,116,122,195,153,46,177 H,925756,8,900,4,16,1015675,67,3,1,,,2,6,,,140,0,2,3,3,,1,,,,,,1,4,2,480,,1,3,,,2,1,3,1,46000,1,620,16,1,1,46000,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,22,67,72,62,23,69,128,68,20,17,70,59,17,124,62,111,151,54,68,94,19,77,62,74,16,52,109,73,19,19,57,76,25,113,63,94,123,64,76,103,23,57,89,76,20,77,144,73,22,18,73,71,20,102,75,113,121,62,84,139,19,61,61,63,15,55,95,58,15,17,65,61,20,124,62,102,108,78,76 H,926148,8,700,4,16,1015675,105,4,1,1,,4,2,2,,30,0,2,30,1,600,1,,1,2000,1,1,1,7,,,,1,1,,21,2,200,2,2,90100,2,,,1,1,90100,0,2,2,2,1,3,2,4,0,0,2,28,0,0,1,0,0,2,2077,3,0,1,31,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,32,32,182,94,112,34,168,103,103,173,113,104,162,99,110,99,171,31,163,104,104,104,109,172,32,111,106,31,35,106,175,185,105,30,200,32,105,107,103,31,35,32,191,101,106,30,178,105,107,178,110,101,174,95,103,99,178,34,181,99,96,112,107,175,33,102,108,31,31,105,205,201,97,28,167,34,109,98,97 H,926182,8,100,4,16,1015675,62,1,1,1,,2,2,2,,210,0,2,3,3,460,1,,,,,3,1,5,,,,1,2,,16,0,800,9,,,,,,1,6,17200,0,4,4,4,1,6,0,,0,0,0,29,0,0,0,1,1,1,415,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,64,60,64,23,77,19,55,61,20,57,148,18,19,129,53,65,97,41,113,96,54,63,69,17,57,18,66,58,16,56,112,18,19,113,76,58,90,69,111,24,59,60,55,100,64,115,86,74,94,68,22,122,87,17,56,61,22,50,17,17,46,73,66,98,66,96,58,85,85,54,22,112,104,29,60,50,15,73,18,128 H,926687,8,700,4,16,1015675,121,3,1,1,,3,2,2,,40,0,2,50,1,200,1,,,,,3,1,6,,,,1,2,,17,3,100,2,7,48550,2,,,1,3,48550,0,2,2,2,1,3,1,3,0,0,1,5,0,0,1,0,0,1,215,,0,1,24,2,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,38,33,34,123,227,120,38,121,114,36,131,196,192,246,127,122,123,115,219,125,40,34,37,125,194,110,35,119,125,39,113,187,201,213,119,113,120,123,176,117,36,38,36,130,191,124,36,124,141,35,129,206,200,209,120,127,119,121,201,124,33,40,34,122,208,117,40,110,112,33,116,236,213,197,118,121,123,126,230 H,926836,8,600,4,16,1015675,175,5,1,1,,4,2,2,,70,0,2,40,1,480,1,,2,1500,2,1,1,8,,,400,1,1,,23,2,590,9,1,90000,2,,,1,1,90000,0,2,2,2,1,5,3,5,0,0,3,30,0,0,1,0,0,2,2224,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,170,53,187,218,215,164,57,207,137,256,308,52,52,300,209,51,261,278,206,169,190,265,148,202,178,169,289,242,173,54,44,285,419,48,149,335,47,48,165,170,150,277,183,170,222,172,309,181,148,39,62,288,317,62,199,240,56,68,176,193,189,42,161,233,176,149,49,201,169,310,237,50,56,367,150,55,311,332,164 H,926846,8,200,4,16,1015675,75,2,1,3,1,3,2,2,,60,0,1600,3,6,,1,,,,,,1,5,,,,1,4,,,1,2,4,4,14200,4,,,1,1,14200,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,2,2,2,,,0,0,,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,68,68,69,23,90,137,65,135,132,22,75,22,72,79,22,81,24,125,123,72,94,89,70,23,61,105,82,103,150,17,61,25,64,71,26,80,24,149,152,62,56,63,81,117,71,26,74,28,23,140,84,140,89,74,124,66,106,22,17,71,84,77,103,123,62,22,81,25,26,129,68,125,78,64,116,65,138,31,25,82 H,926871,8,100,4,16,1015675,73,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,69,69,23,66,18,24,135,120,70,71,94,71,22,149,75,71,65,22,118,144,65,69,22,86,24,22,109,107,75,100,80,64,26,122,59,68,64,22,21,20,72,82,144,74,134,98,24,27,67,68,63,63,152,25,86,67,80,125,25,21,63,79,122,82,122,135,21,18,78,68,65,68,126,24,73,71,69,146,120 H,927220,8,300,4,16,1015675,75,2,1,3,5,2,1,2,,70,0,500,30,6,230,1,0,2,580,2,1,1,4,,,,1,1,,16,2,2,5,3,39000,4,,,1,1,39000,0,4,4,4,1,7,0,2,0,0,0,24,0,0,0,1,1,2,783,3,0,0,12,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,125,72,65,66,21,70,22,65,70,21,75,123,22,21,127,86,82,134,122,73,118,91,108,74,28,81,24,81,75,24,81,151,25,18,107,68,78,147,124,82,141,79,74,69,21,74,25,90,69,22,89,142,20,21,138,76,72,133,97,79,116,87,69,61,25,75,23,73,61,27,88,128,21,22,111,80,73,143,124 H,927429,8,300,4,16,1015675,75,2,1,1,,4,2,2,,10,0,2,4,1,240,1,,,,,3,1,7,,,,1,2,,13,3,350,6,4,26100,4,,,1,1,26100,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,1,145,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,69,72,21,111,64,120,120,67,111,21,76,73,72,21,71,128,86,24,22,72,75,69,154,32,73,28,23,76,23,128,82,82,89,136,63,18,69,134,146,73,83,82,24,128,69,126,126,83,153,22,74,88,83,20,71,136,76,21,23,57,79,68,150,21,60,24,22,83,21,105,88,88,75,119,77,19,79,126,143,73 H,927660,8,200,4,16,1015675,80,2,1,1,,2,2,2,,130,0,2,130,1,600,1,,,,,3,1,4,,,,1,2,,13,2,500,9,2,71000,4,,,3,1,71000,0,4,4,4,1,1,0,2,0,0,0,8,0,0,0,0,0,1,477,,0,1,27,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,172,97,68,80,135,64,149,18,90,23,100,64,83,24,23,163,61,25,81,24,62,26,22,115,95,165,90,60,145,75,117,31,24,86,82,74,139,88,125,82,120,92,76,82,143,82,146,24,75,26,73,77,88,24,21,154,63,19,101,32,67,29,19,111,112,120,105,74,128,65,180,18,19,123,96,101,139,86,141 H,927793,8,500,4,16,1015675,93,2,1,,,2,4,,,70,0,2,20,3,,1,,,,,,1,5,2,500,,1,3,,,2,1,5,,,,590,10,2,7,69000,0,4,4,4,1,5,0,,0,1,0,,3,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,89,90,151,97,31,156,167,30,89,97,32,88,28,86,83,95,143,102,165,25,111,100,28,89,143,27,36,175,97,93,167,104,141,96,103,81,28,86,23,179,88,100,157,106,28,152,137,28,85,96,29,100,22,80,95,110,176,109,148,25,90,102,38,88,159,26,28,152,104,101,187,101,144,82,98,90,30,87,30 H,928114,8,800,4,16,1015675,129,1,1,1,,3,2,2,,50,0,2,3,3,400,1,,,,,3,1,4,,,,1,2,,12,0,1600,2,,,,,,1,6,9060,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,1,1,1,217,,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,132,227,128,129,114,34,40,122,31,200,37,239,156,208,197,117,161,150,121,151,203,171,46,207,177,104,126,41,130,110,113,130,41,131,131,196,187,46,38,195,230,139,41,190,178,127,122,37,131,152,116,124,38,106,110,225,204,30,36,41,101,192,143,138,125,39,35,116,34,207,40,231,129,163,244,186,144,138,121,40 H,928213,8,900,4,16,1015675,85,2,1,2,1,5,2,2,,40,0,2,40,1,380,1,,,,,3,1,9,,,,1,2,,18,3,2,6,1,68000,4,,,1,1,68000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,1,0,1,183,,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,25,24,92,87,73,70,72,128,127,149,71,34,82,105,93,86,157,89,25,24,35,30,106,93,85,88,79,136,128,139,95,30,88,162,91,73,135,74,23,29,25,21,86,81,78,78,84,111,150,192,99,26,80,134,67,83,162,84,29,24,28,22,81,99,79,115,98,134,122,143,113,28,81,172,61,69,137,77,22 H,928313,8,300,4,16,1015675,85,1,1,2,1,3,2,2,,130,0,2,3,3,690,1,,1,290,1,1,1,5,,,,1,1,,17,1,360,5,,,,,,1,6,28000,0,4,4,4,1,7,0,,0,0,0,19,0,0,0,0,0,2,450,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,92,94,165,124,152,101,25,90,116,83,69,143,91,39,32,22,82,79,78,25,82,77,132,170,148,87,32,78,160,88,112,135,79,18,27,33,106,86,66,23,78,90,140,140,147,96,27,86,130,84,78,173,86,28,32,26,91,102,83,21,92,97,146,166,138,81,22,89,147,79,96,131,83,26,21,28,91,78,112,29 H,928689,8,100,4,16,1015675,107,3,1,1,,4,3,2,,240,160,350,3,6,,1,,,,,,1,6,2,800,,1,3,,,1,1,5,7,15200,2,1069,84,1,3,15200,0,2,2,2,1,2,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,175,110,108,100,31,34,104,31,188,30,210,98,171,187,107,107,108,132,122,190,115,34,220,178,92,107,32,96,122,105,108,27,109,110,153,168,31,36,116,161,124,31,208,150,103,121,32,89,93,98,112,33,101,111,214,203,35,28,30,111,171,99,102,107,32,30,119,30,183,35,203,114,175,161,96,118,124,124,31 H,928856,8,400,4,16,1015675,76,4,1,1,,2,1,2,,160,0,720,3,6,330,1,0,1,910,1,1,1,4,,,,1,1,,16,6,730,3,1,156500,4,,,1,1,156500,0,4,4,4,1,4,0,4,0,0,0,9,0,0,0,1,1,1,1191,3,0,0,19,2,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,26,78,130,90,19,73,98,19,38,166,128,174,89,93,88,54,76,20,24,155,136,78,23,66,105,51,77,142,86,27,21,20,100,62,56,111,103,125,133,32,25,95,147,84,17,66,63,25,51,131,115,161,82,63,79,76,60,24,26,127,156,76,27,72,117,72,84,143,78,22,19,23,84,71,75,90,93,102,98 H,928914,8,900,4,16,1015675,120,2,1,1,,3,2,2,,100,0,2,3,3,640,1,,2,630,2,1,1,5,,,,1,1,,14,1,430,5,8,45792,4,,,1,3,45792,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,1,1,1,823,3,0,1,3,1,15,15,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,122,214,207,49,35,180,164,34,196,200,154,154,40,95,134,126,95,34,124,119,104,171,168,37,38,207,135,31,201,265,117,131,40,107,133,123,108,36,91,112,105,33,34,171,182,35,111,195,35,47,140,120,198,117,122,108,118,227,123,117,99,28,38,265,197,25,128,193,42,44,126,146,269,145,138,129,120,213,122 H,929075,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,929280,8,900,4,16,1015675,158,2,1,1,,3,1,2,,40,0,600,90,1,120,1,2600,,,,3,1,4,,,,1,2,,1,1,20,4,4,25450,4,,,1,1,25450,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,2,2,1,409,,0,0,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,331,299,44,193,140,180,57,41,46,165,169,265,61,158,297,201,135,178,173,43,151,141,122,120,222,46,175,126,136,268,46,149,206,264,142,322,229,52,56,185,49,46,236,39,134,180,313,237,240,147,164,39,305,173,49,171,144,165,142,230,178,123,139,155,49,294,156,145,145,51,219,194,202,47,199,55,41,290,260,165 H,929433,8,700,4,16,1015675,307,0,1,1,,3,3,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,611,334,559,443,110,105,279,285,303,253,545,80,292,301,315,509,102,346,320,562,95,277,83,97,535,499,274,307,338,281,91,480,299,318,315,84,487,298,322,438,101,340,98,86,541,522,268,306,324,320,84,486,294,321,295,94,495,291,342,104,554,265,498,472,96,82,275,290,334,303,488,97,321,400,328,469,96,323,364,110 H,929488,8,700,4,16,1015675,112,3,1,1,,3,2,2,,40,0,2,20,1,300,1,,,,,3,1,5,,,,1,2,,16,3,20,3,3,67100,2,,,1,1,67100,0,2,2,2,1,1,1,3,0,0,1,4,0,0,1,0,0,1,229,,0,1,29,2,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,182,30,108,38,108,175,118,210,32,112,170,198,103,114,110,106,120,32,34,98,194,38,107,34,113,221,118,213,33,105,182,202,113,103,115,117,110,32,32,109,202,32,127,35,103,219,122,191,38,108,184,188,107,121,116,106,107,31,34,106,182,35,118,32,112,183,115,188,33,120,178,179,109,108,103,114,124,33,32 H,929779,8,800,4,16,1015675,134,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,4,4,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,136,245,142,135,247,122,241,40,43,134,155,141,196,131,44,112,42,51,247,135,137,38,136,140,39,120,40,215,222,137,134,121,41,128,206,115,236,210,43,161,130,227,158,160,217,121,207,41,39,127,131,141,246,135,35,135,37,43,226,112,133,42,148,118,34,145,38,235,234,134,156,134,38,137,194,135,210,221,37,118 H,929850,8,300,4,16,1015675,23,3,1,1,,5,2,2,,60,0,2,60,1,600,1,,,,,3,1,7,,,,1,2,,12,1,540,9,8,30100,4,,,1,3,30100,0,4,4,4,1,7,0,3,0,0,0,12,0,0,0,1,0,2,298,,0,1,22,2,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,37,26,19,21,21,37,22,25,8,10,45,36,7,18,31,7,5,28,22,20,8,22,23,19,19,9,20,21,37,32,6,4,43,29,5,35,39,17,24,18,40,29,38,22,18,59,23,19,8,6,31,44,6,24,38,7,8,17,20,21,4,19,22,24,21,6,21,23,35,48,7,6,31,18,6,47,37,23,25 H,930079,8,900,4,16,1015675,83,2,1,1,,3,2,2,,130,0,2,3,3,400,1,,1,530,1,1,1,5,,,200,1,1,,14,2,800,5,1,11950,4,,,1,1,11950,0,4,4,4,1,6,0,2,0,0,0,93,0,0,0,2,2,1,927,2,0,1,25,2,5,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,141,22,80,60,146,157,158,80,89,30,127,79,25,88,103,82,85,22,26,73,96,93,127,24,70,106,92,120,29,74,95,153,78,138,136,28,23,98,81,148,23,132,68,92,24,20,28,75,82,130,25,105,147,77,85,85,90,142,146,66,82,86,29,187,78,82,96,21,170,96,73,27,84,27,28,135,149,84,87 H,930092,8,700,4,16,1015675,96,2,1,3,1,5,2,2,,150,0,2,150,2,700,1,,,,,3,1,9,,,,1,2,,22,3,2,4,2,45300,4,,,1,1,45300,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,1,1,2,941,,0,0,65,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,163,93,176,141,87,162,27,90,97,90,25,98,161,93,30,29,105,91,93,33,154,93,163,170,103,173,22,102,95,88,29,97,171,91,22,30,105,102,100,29,181,94,167,158,87,150,27,110,95,94,27,98,164,90,30,30,107,95,81,29,142,99,141,174,91,153,28,91,89,84,29,91,156,97,27,30,98,100,87 H,930430,8,300,4,16,1015675,87,2,1,2,1,4,2,2,,70,0,840,3,3,600,1,,,,,3,1,7,,,,1,2,,16,2,400,5,4,26000,4,,,1,1,26000,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,348,,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,81,162,75,132,34,23,85,70,69,119,73,24,103,25,26,166,83,135,84,92,72,29,113,26,144,156,96,90,91,31,89,144,67,155,137,27,101,24,70,76,86,161,76,128,27,27,85,83,85,146,95,26,88,26,28,170,98,167,66,90,84,25,106,22,153,150,100,76,65,29,90,146,91,115,151,29,81,34,85 H,930618,8,700,4,16,1015675,114,5,1,1,,4,2,2,,50,0,2,100,1,450,1,,1,1400,1,1,1,7,,,,1,1,,19,2,770,3,2,65000,2,,,1,1,65000,0,3,3,3,1,1,3,5,0,0,3,30,0,0,1,0,0,1,1614,3,0,1,33,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,189,117,112,98,39,117,195,124,201,172,31,115,30,116,118,29,116,31,104,31,34,115,117,115,182,113,35,112,35,32,199,117,189,117,124,188,108,199,109,196,203,123,106,117,32,111,206,124,192,187,34,113,30,98,109,30,122,39,116,33,31,107,115,110,195,119,32,116,35,32,210,121,191,116,105,195,116,167,112 H,930627,8,600,4,16,1015675,72,2,1,,,2,5,,,60,0,2,3,1,,1,,,,,,1,4,2,1100,,1,3,,,2,240,2,2,235000,4,1180,6,1,1,235000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,75,77,120,74,19,116,128,21,75,72,20,69,23,75,69,67,116,66,128,20,69,68,18,75,117,21,20,120,72,73,133,72,121,71,70,78,22,76,22,119,75,71,109,77,22,126,122,20,70,71,23,62,20,72,65,80,125,82,123,19,68,66,20,77,132,23,21,124,74,77,128,71,113,77,73,65,20,72,23 H,930690,8,900,4,16,1015675,100,2,1,1,,3,2,2,,150,0,2,3,3,1000,1,,1,650,1,1,1,6,,,,1,1,,12,2,900,3,,,,,,1,7,53700,0,4,4,4,1,3,0,,0,1,0,20,3,0,0,2,1,2,875,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,35,111,35,93,119,89,166,96,144,98,97,151,113,29,173,167,29,123,111,164,176,88,151,85,84,90,37,109,25,103,107,29,120,168,26,28,157,95,132,31,35,86,30,91,97,100,145,91,129,107,120,176,97,31,168,146,27,89,103,178,165,93,198,92,114,109,29,126,34,124,86,37,118,183,30,31,143,89,103,32 H,930947,8,700,4,16,1015675,87,4,1,3,1,4,2,2,,130,0,570,3,8,400,1,,2,700,2,1,1,8,,,1300,1,1,,23,2,2,5,2,55400,2,,,1,1,55400,0,3,3,3,1,4,2,4,0,0,2,54,0,0,1,0,0,2,2503,2,0,0,47,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,91,28,142,83,161,92,25,88,21,150,87,24,23,94,90,87,93,83,25,26,92,128,28,85,25,80,156,92,158,25,82,138,152,88,88,84,90,80,24,28,89,148,24,84,25,84,137,90,171,25,89,144,136,79,83,89,84,95,148,156,76,25,144,83,147,92,28,94,26,145,84,27,27,88,87,89,89,88,155 H,931130,8,900,4,16,1015675,73,1,1,3,1,2,2,2,,100,0,2,10,2,,1,,,,,,1,5,,,,1,4,,,2,480,3,,,,,,1,4,26000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,0,0,,,,,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,85,27,78,71,22,63,133,133,110,84,84,86,87,60,20,22,18,58,110,129,67,20,77,78,19,70,146,144,136,84,72,62,59,85,27,20,21,72,106,108,72,26,81,63,25,89,101,131,146,75,68,70,84,58,18,28,19,67,127,108,63,23,81,80,20,72,127,110,139,89,80,68,61,69,27,24,23,78,106,112 H,931412,8,800,4,16,1015675,99,4,1,1,,3,2,2,,130,0,2,30,1,450,1,,1,510,2,1,1,5,,,,1,1,,11,2,690,6,1,38500,2,,,1,1,38500,0,2,2,2,1,3,1,4,0,0,1,24,0,0,1,0,0,2,786,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,88,26,28,99,229,106,168,31,155,96,176,104,25,27,104,160,91,88,25,151,26,95,100,25,127,31,114,84,87,158,98,203,92,97,155,89,39,153,105,100,100,165,163,102,26,86,29,132,31,92,27,97,175,168,88,31,97,104,175,27,164,95,85,168,97,166,89,100,102,32,77,26,120,103,33,111,163,39,114 H,931490,8,100,4,16,1015675,304,2,1,1,,5,2,2,,50,0,2,2,1,,1,,,,,,1,9,2,900,,1,3,,,2,1,9,,,,950,101,1,7,7000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,388,359,126,242,153,385,265,349,475,263,341,324,321,452,329,100,392,387,118,439,279,321,400,250,397,330,316,305,115,273,124,220,323,145,283,504,110,105,485,93,286,273,110,279,116,333,297,246,369,279,394,297,275,400,390,115,426,453,123,438,296,346,372,290,418,316,257,316,157,253,131,302,336,165,382,441,125,124,495,129 H,932013,8,600,4,16,1015675,85,2,1,1,,2,1,2,,60,0,2,30,1,320,1,260,,,,3,1,5,,,,1,2,,7,1,520,5,4,24800,4,,,1,1,24800,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,2,2,1,203,,0,0,6,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,122,25,88,139,139,86,89,87,96,88,27,95,142,24,78,23,78,126,76,25,136,30,92,138,145,91,83,85,87,93,24,82,141,23,86,25,81,138,77,26,130,23,86,142,143,83,103,88,91,85,24,84,137,25,97,26,89,170,88,25,152,23,75,139,140,82,78,77,81,82,24,78,141,25,90,24,89,140,89,23 H,932036,8,400,4,16,1015675,214,3,1,1,,2,3,2,,2,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,1,2,2,2,19200,1,,,1,1,19200,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,198,311,238,221,146,116,233,71,73,289,176,254,341,214,235,202,178,104,186,282,219,226,203,68,267,504,194,297,219,49,321,77,375,240,57,377,98,215,185,379,269,256,160,42,161,307,134,350,268,109,365,118,230,219,106,206,89,345,185,79,398,232,96,265,215,91,170,74,65,206,335,227,150,245,272,221,439,91,263 H,932104,8,800,4,16,1015675,51,4,1,1,,3,1,2,,30,0,2,80,1,,1,,,,,,1,5,2,250,,1,3,,,2,1,6,1,22000,1,360,20,1,1,22000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,69,53,37,77,127,84,47,13,64,76,64,45,77,68,19,13,10,39,102,45,69,55,38,10,22,22,66,146,52,14,45,35,15,51,65,68,81,51,79,48,51,39,53,16,12,15,80,97,33,13,46,47,15,53,63,77,120,49,17,42,59,44,46,136,84,65,56,13,58,70,60,73,72,52,20,21,14,38,12 H,932137,8,700,4,16,1015675,70,4,1,1,,3,2,2,,80,0,2,30,1,320,1,,,,,3,1,6,,,,1,2,,16,4,60,2,1,86000,2,,,1,1,86000,0,2,2,2,1,3,1,4,0,0,1,4,0,0,1,0,0,1,267,,0,1,27,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,66,104,69,130,69,77,131,71,20,120,106,20,66,68,22,70,20,73,122,67,77,22,66,18,65,82,22,73,124,18,19,119,67,66,120,78,129,68,114,68,67,22,75,22,65,75,25,70,135,20,20,114,70,70,117,71,114,75,20,67,66,128,72,113,70,68,121,80,20,129,113,19,67,64,19,69,20,77,20 H,932253,8,300,4,16,1015675,26,2,1,1,,2,2,2,,20,0,600,100,2,0,1,,,,,3,1,5,,,,1,2,,9,2,500,3,4,58900,4,,,1,1,58900,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,2,2,1,266,,0,1,15,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,20,23,30,47,33,55,23,22,33,26,7,39,40,8,27,26,8,28,47,37,18,31,31,7,23,11,32,24,5,19,35,7,6,38,26,34,54,40,7,8,22,25,30,67,34,31,19,34,62,24,7,38,43,8,26,21,5,23,54,33,32,24,23,8,19,7,23,24,9,24,43,7,9,64,31,24,40,18,6 H,932383,8,900,4,16,1015675,65,3,1,1,,5,2,2,,40,0,2,90,1,,1,,,,,,1,9,2,400,,1,3,,,2,900,9,2,36020,1,605,20,1,1,36020,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,75,20,73,104,23,21,130,69,67,100,70,101,57,73,63,20,88,15,20,55,61,129,64,23,101,90,18,74,65,20,59,22,83,66,65,94,71,114,22,61,78,95,88,23,119,133,25,74,74,17,74,21,71,61,75,113,71,105,144,82,63,18,61,108,15,15,94,57,51,92,65,103,67,72,64,18,62,21,130 H,932391,8,900,4,16,1015675,92,1,1,1,,2,2,2,,60,0,2,90,3,,1,,,,,,1,4,2,400,,2,3,,,2,1,6,,,,550,22,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,77,94,95,122,84,191,120,93,175,96,23,140,136,25,84,90,52,113,177,127,93,91,100,31,81,26,114,97,26,107,138,18,21,138,106,87,138,83,144,167,79,89,81,25,109,28,109,68,20,98,135,30,45,143,84,128,116,60,22,24,124,116,118,123,98,206,89,83,159,89,26,194,198,18,115,91,28,98,36 H,932768,8,100,4,16,1015675,51,2,1,2,1,3,2,2,,40,0,660,3,6,960,1,,2,440,2,1,1,9,,,,1,1,,15,2,2,5,1,90200,4,,,3,1,90200,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,1,1,1,706,3,0,1,22,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,52,18,77,17,63,38,39,40,51,65,90,16,49,49,17,16,56,96,61,54,14,48,65,52,18,74,75,116,74,12,58,56,81,14,45,63,13,42,120,101,40,14,73,17,51,50,44,44,60,43,105,17,48,63,17,19,50,106,48,51,14,43,51,48,13,96,117,77,76,18,38,51,95,16,57,45,14,49,81 H,932836,8,500,4,16,1015675,89,1,1,1,,2,2,2,,90,0,2,100,2,630,1,,,,,3,1,5,,,,1,2,,18,2,2,7,,,,,,1,6,1100,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,1,398,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,110,86,25,91,25,147,153,89,97,108,29,79,154,81,163,159,23,99,111,155,78,93,148,85,159,25,28,95,81,90,141,96,25,97,28,22,141,94,116,133,90,83,157,83,169,29,24,93,109,92,151,86,25,87,26,23,168,95,79,29,95,88,31,91,26,153,154,87,92,88,28,83,144,77,140,163,26,90,87 H,933265,8,200,4,16,1015675,55,1,1,2,1,2,2,2,,40,0,500,3,4,750,1,,2,750,2,1,1,5,,,,1,1,,14,2,2,8,,,,,,1,4,40000,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,0,0,2,958,3,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,53,45,100,52,16,12,12,56,47,55,53,52,128,102,102,55,13,48,17,91,58,49,80,53,17,18,18,64,53,46,49,52,107,91,85,57,18,53,19,91,63,47,76,43,14,16,14,48,51,59,57,56,108,88,102,56,13,51,18,97,50,54,125,54,13,20,20,42,55,47,56,69,81,84,89,54,17,62,18 H,933608,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,933707,8,500,4,16,1015675,152,5,1,1,,2,2,2,,80,7200,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,1,70,5,3,23200,3,436,23,2,1,23200,1,3,2,3,1,5,1,5,0,0,3,,0,1,1,0,0,1,,,1,0,,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,168,337,265,252,159,134,150,107,163,42,39,47,165,269,174,44,147,280,153,44,141,263,314,236,150,162,153,137,137,54,41,45,143,259,157,46,201,60,179,272,152,50,42,46,155,142,127,179,150,244,285,242,149,42,146,275,126,39,181,277,128,35,47,44,133,134,126,177,177,268,343,274,176,41,153,288,134,243 H,934023,8,400,4,16,1015675,52,2,1,3,1,3,2,2,,50,0,2,80,1,480,1,,1,1700,1,1,1,4,,,300,1,1,,18,3,2,3,1,83000,4,,,1,1,83000,0,4,4,4,1,4,0,2,0,0,0,31,0,0,0,0,0,1,2130,1,0,0,21,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,77,15,39,84,17,13,62,55,83,54,56,49,48,105,54,44,11,15,94,49,14,111,47,12,86,81,52,56,14,63,61,44,55,19,58,50,65,82,13,55,15,100,40,13,91,87,48,49,16,44,60,49,54,19,50,57,74,85,14,59,92,13,44,91,13,13,61,56,73,53,49,56,51,93,56,44,13,16,93,53 H,934086,8,800,4,16,1015675,24,2,1,2,1,4,2,2,,150,0,2,3,3,1000,1,,2,490,2,1,1,8,,,190,1,1,,16,3,2,5,1,65800,4,,,1,1,65800,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,1,0,1,973,2,0,1,16,2,5,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,45,8,21,45,7,7,19,24,50,19,20,25,24,35,22,20,7,5,39,29,35,7,23,39,7,9,25,27,41,28,21,22,21,38,29,26,5,7,41,25,49,8,21,42,7,7,25,23,46,26,21,25,23,43,22,24,11,7,38,23,37,7,24,44,5,5,25,19,38,22,22,24,24,37,21,26,7,7,40,26 H,934163,8,500,4,16,1015675,128,2,1,1,,3,3,2,100,180,0,2,3,3,450,1,,,,,3,1,6,,,,1,2,,17,1,2,3,4,18200,4,,,1,1,18200,0,4,4,4,1,4,0,2,0,0,0,32,0,0,0,2,2,2,485,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,225,139,122,135,244,125,42,133,197,237,131,133,210,37,130,38,39,114,37,141,37,107,123,115,33,152,197,127,41,31,121,139,38,211,135,254,193,122,221,144,187,127,124,146,221,147,37,129,216,205,130,123,208,44,122,41,34,123,38,118,40,131,123,139,40,133,199,127,34,37,114,153,36,186,125,207,234,120,216,125 H,934167,8,400,4,16,1015675,96,1,1,1,,3,2,2,,60,0,2,160,2,400,1,,1,840,1,1,1,5,,,230,1,1,,20,1,1000,4,,,,,,1,6,170800,0,4,4,4,1,4,0,,0,0,0,10,0,0,0,0,0,2,1373,1,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,109,86,151,86,85,157,139,173,140,162,125,88,155,86,105,81,94,169,32,37,122,133,46,78,95,36,36,29,36,114,28,118,33,87,121,89,83,33,186,163,88,94,118,88,93,164,159,184,179,75,163,95,169,150,127,93,84,195,41,36,84,100,23,77,117,28,26,30,26,91,25,103,40,116,85,124,99,27,103 H,934579,8,800,4,16,1015675,52,2,1,1,,3,2,2,,80,0,2,150,1,250,1,,2,850,2,1,1,5,,,,1,1,,15,2,920,2,,,,,,1,5,85000,0,4,4,4,1,3,0,,0,1,0,18,0,0,0,0,0,1,1278,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,15,51,44,77,48,9,52,15,51,17,13,13,12,42,57,18,12,65,62,63,56,78,79,79,86,56,94,71,100,59,69,48,73,112,83,64,58,98,42,150,159,60,54,55,57,69,45,100,61,82,80,89,99,65,46,82,86,50,14,60,66,17,13,20,20,52,13,70,10,38,60,49,32,15,17,46,50,23,63 H,934677,8,700,4,16,1015675,125,1,1,1,,3,2,2,,100,0,300,30,1,340,1,,1,1700,1,1,1,6,,,,2,1,,18,1,2,4,,,,,,1,4,25000,0,4,4,4,1,5,0,,0,0,0,89,0,0,0,0,0,1,1855,3,0,1,20,,,,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,225,130,36,203,116,232,133,41,127,34,226,124,36,34,140,138,128,138,117,234,229,130,35,226,125,194,118,39,122,37,220,122,33,37,123,121,127,126,117,30,36,123,220,36,142,38,118,225,119,237,38,136,219,218,116,116,128,119,131,37,39,109,235,37,118,39,119,223,131,218,33,121,230,229,129,125,121,126,142,222 H,934705,8,400,4,16,1015675,115,2,1,2,1,3,2,2,,130,0,2,3,3,200,1,,1,940,1,1,1,8,,,,1,1,,20,2,2,3,1,103000,4,,,1,1,103000,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,0,0,1,1070,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,131,32,28,121,183,110,205,36,198,114,194,118,25,29,122,179,112,133,36,209,39,125,109,31,98,41,118,109,121,182,171,265,115,120,192,119,30,170,82,110,144,37,28,115,166,118,221,40,192,104,183,103,28,39,122,150,124,140,40,233,32,118,110,33,114,40,142,99,119,209,96,178,134,120,178,121,36,234,112 H,935000,8,400,4,16,1015675,150,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,44,286,339,97,132,156,45,186,235,153,248,190,50,150,42,165,167,47,117,146,48,246,242,176,206,164,53,139,181,118,176,247,49,126,46,170,175,45,151,146,43,288,309,140,175,226,43,138,237,155,267,267,53,135,44,166,117,41,120,169,42,237,264,124,160,113,45,174,201,148,183,182,48,165,53,193,228,46,215 H,935145,8,700,4,16,1015675,72,7,1,1,,4,2,2,,40,0,2,150,1,120,1,,1,1200,1,1,1,9,,,,1,1,,20,2,400,2,2,75000,1,,,1,1,75000,0,1,1,1,1,2,5,7,0,0,5,23,0,0,1,0,0,1,1423,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,69,106,63,126,20,24,72,69,73,126,76,21,71,22,20,135,71,133,71,83,71,119,74,121,23,22,80,75,73,126,66,20,75,21,17,118,70,130,68,69,74,117,68,133,19,20,60,71,78,128,77,23,78,22,25,128,71,136,69,73,73,129,79,116,20,21,71,64,73,132,72,20,65,22,20,128,74,111,73 H,935345,8,100,4,16,1015675,125,2,1,1,,3,2,2,,30,0,2,100,1,500,1,,1,830,1,1,1,7,,,,2,1,,17,2,500,2,1,68000,4,,,1,1,68000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1002,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,36,33,140,115,122,132,135,197,120,38,198,138,203,125,37,123,40,207,147,226,37,35,139,144,129,98,115,201,111,43,205,116,204,137,36,120,32,225,146,33,203,209,123,147,104,138,150,28,121,173,35,136,37,118,234,143,218,37,123,39,223,190,121,136,127,117,120,42,111,216,44,124,39,122,216,120,219,35,120,207 H,935366,8,800,4,16,1015675,76,2,1,2,1,4,2,2,,60,0,2,3,3,390,1,,,,,3,1,5,,,,1,2,,16,4,170,3,4,68500,4,,,1,1,68500,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,2,1,1,180,,0,1,19,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,18,53,21,78,80,23,73,135,27,22,110,86,77,131,74,107,105,82,121,73,26,77,24,70,94,27,63,148,29,22,127,59,58,122,80,129,83,71,23,65,114,68,124,64,70,147,80,24,109,125,27,98,76,22,83,18,78,74,18,81,138,71,133,73,99,119,49,26,145,103,21,84,73,22,101,27,96,71,145 H,935422,8,700,4,16,1015675,97,1,1,1,,3,2,2,,40,0,1200,20,1,490,1,,,,,3,1,5,,,,1,2,,16,1,260,3,,,,,,1,6,19100,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,1,1,1,348,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,169,92,100,32,160,30,32,107,104,158,184,28,100,108,94,24,93,98,106,28,97,179,31,93,98,101,97,160,174,110,91,95,164,27,146,103,30,31,175,109,175,99,90,29,166,28,24,100,99,159,159,31,103,95,91,32,92,98,99,29,107,152,26,103,95,105,95,167,166,91,99,101,185,30,178,89,33,31,152 H,935532,8,800,4,16,1015675,88,2,1,3,6,4,2,2,,100,0,2,3,9,1300,1,,1,610,1,1,1,8,,,,1,1,,15,3,2,9,1,65000,4,,,2,1,65000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,0,0,1,710,3,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,149,81,72,97,106,141,105,82,31,33,142,116,28,101,133,25,27,84,84,99,28,82,72,79,74,24,78,96,179,130,19,25,167,83,25,187,161,84,76,75,25,93,81,67,82,26,107,92,112,142,30,27,144,78,31,135,160,100,91,110,158,107,80,76,109,136,93,91,25,27,122,121,24,97,150,27,29,101,116 H,935698,8,600,4,16,1015675,70,4,1,1,,4,2,2,,90,0,2,70,1,2500,1,,2,1600,2,1,1,8,,,120,1,1,,22,2,600,2,2,120000,3,,,1,1,120000,0,3,3,3,1,3,2,4,0,0,2,28,0,0,1,0,0,1,2805,2,0,1,66,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,20,68,125,68,21,22,64,69,19,120,72,112,114,67,121,20,72,74,67,69,122,71,21,71,117,123,67,71,120,19,64,20,20,75,24,119,67,74,69,67,22,72,123,67,20,21,66,69,19,119,73,113,119,66,119,19,65,75,67,71,116,74,19,66,123,111,72,70,119,21,74,20,20,71,21,126,69,75,77 H,935740,8,900,4,16,1015675,14,2,1,1,,2,2,1,,60,0,300,30,1,300,1,,,,,3,1,6,,,,1,2,,10,2,240,9,1,46500,4,,,1,1,46500,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,2,2,227,,0,0,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,24,13,5,20,18,12,12,5,15,13,12,10,2,11,10,26,26,10,4,4,18,11,4,20,21,15,10,3,20,13,11,12,5,15,11,29,22,13,5,4,23,13,4,24,21,12,10,5,13,15,12,13,3,12,13,21,28,16,4,3,20,14,5,21,18,12,12,3,13,13,15,14,3,14,13,25,23,12 H,935743,8,600,4,16,1015675,118,0,1,1,,4,2,2,,,,,,,,2,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,195,183,33,128,177,34,39,118,104,213,110,117,123,128,211,113,122,37,114,34,219,193,32,113,196,29,34,110,122,230,107,127,127,106,187,125,107,35,129,219,31,38,234,123,34,227,198,120,109,35,104,117,110,139,36,100,132,195,131,172,37,41,214,120,38,182,198,111,114,33,111,130,115,111,32,111,102,170,128 H,936342,8,600,4,16,1015675,123,3,1,1,,3,2,2,,90,0,850,30,2,550,1,,1,1100,1,1,1,7,,,,1,1,,17,3,510,4,1,214600,4,,,1,1,214600,0,4,4,4,1,6,0,3,0,0,0,7,0,0,0,0,0,1,1334,3,0,1,31,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,35,128,37,40,219,186,123,140,132,123,33,204,123,131,125,30,226,118,35,119,208,122,207,216,35,41,121,130,123,125,212,37,133,120,124,208,37,132,36,122,224,125,210,229,35,37,121,123,128,122,222,33,121,137,130,210,33,137,215,116,33,131,36,40,220,201,119,120,126,136,34,194,113,135,120,33,223,126,211 H,936344,8,800,4,16,1015675,161,5,1,3,6,5,2,2,,240,0,2,3,3,700,1,,2,1800,2,1,1,9,,,,1,1,,22,5,2,9,2,60100,3,,,1,1,60100,0,3,3,3,1,3,3,5,0,0,3,48,0,0,1,0,0,2,2381,3,0,0,46,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,196,177,52,44,232,273,52,181,269,70,63,136,163,269,142,178,190,159,173,305,161,147,42,43,289,227,37,173,286,45,50,183,157,244,145,181,143,172,203,58,140,160,332,272,53,42,264,138,41,226,274,194,190,49,146,162,217,155,125,43,163,157,245,247,37,42,280,167,48,351,284,152,163,40,191,151,196,186,162 H,936442,8,200,4,16,1015675,49,3,1,1,,3,2,2,,80,0,2,3,6,670,1,,1,1000,1,1,1,6,,,300,1,1,,15,2,360,3,1,75000,2,,,1,1,75000,0,2,2,2,1,4,1,3,0,0,1,23,0,0,1,0,0,2,1410,2,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,65,18,45,58,14,16,72,53,47,72,36,94,52,44,54,15,51,14,67,51,67,16,43,95,13,13,93,52,41,74,51,77,78,56,42,15,57,19,83,49,61,15,46,122,19,13,80,49,51,71,45,73,66,57,52,19,50,16,91,43,52,14,42,79,17,16,78,56,46,58,43,69,54,51,40,15,46,16,96 H,937141,8,800,4,16,1015675,61,4,1,2,1,3,2,2,,100,0,300,3,6,1600,1,,,,,3,1,6,,,,1,2,,20,3,2,6,4,49000,2,,,1,1,49000,1,2,4,2,1,5,0,4,0,0,1,10,0,1,1,1,1,1,391,,0,1,28,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,53,15,19,95,92,17,55,95,17,16,58,55,92,54,61,58,52,90,63,57,62,19,13,121,139,16,70,111,19,19,62,61,103,75,58,68,65,129,59,64,69,21,17,94,77,18,49,92,22,25,55,63,89,59,61,58,56,93,58,56,57,21,19,99,98,17,56,115,17,17,55,60,107,56,55,58,65,123,60,50 H,937207,8,900,4,16,1015675,116,3,1,1,,3,2,2,,30,0,50,160,1,700,1,,1,680,1,1,1,7,,,,1,1,,15,2,500,4,1,61600,1,,,1,1,61600,0,1,1,1,1,1,1,3,0,0,1,18,0,0,1,0,0,1,916,3,0,1,30,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,127,36,120,107,102,35,110,37,201,124,217,104,106,128,190,200,33,106,108,117,52,120,32,46,224,108,211,128,107,203,92,195,40,32,124,104,110,175,184,34,104,186,157,133,120,197,130,182,40,104,39,122,138,127,37,39,181,115,130,119,207,104,207,196,27,109,27,116,93,30,121,29,169,193,130,106,132,37,37 H,937305,8,200,4,16,1015675,25,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,6,22,43,26,7,5,26,24,6,55,27,35,40,26,42,8,29,28,21,25,39,20,7,26,40,34,26,26,53,9,23,6,6,23,8,39,25,25,18,24,51,24,8,27,37,40,21,24,37,8,32,8,8,24,9,36,23,22,22,25,9,22,32,24,7,7,26,30,8,36,26,41,35,25,47,5,22,29,23 H,937390,8,800,4,16,1015675,132,2,1,1,,3,2,2,,90,0,2,20,1,540,1,,1,1100,1,1,1,6,,,150,1,1,,16,3,600,3,1,100000,4,,,1,1,100000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,1,0,2,1410,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,42,220,130,178,119,194,137,40,143,200,219,129,119,221,34,138,32,36,134,126,38,238,128,125,128,256,147,42,138,214,193,115,134,230,39,137,41,38,140,143,231,39,136,116,148,40,139,220,129,33,37,145,156,35,243,122,212,233,155,123,219,41,150,130,108,42,131,192,123,35,47,143,127,37,188,128,215,232,156 H,937493,8,400,4,16,1015675,119,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,96,27,116,232,45,39,228,116,142,205,135,174,97,132,113,35,155,49,42,113,136,213,137,35,162,200,35,132,135,37,96,34,133,119,107,210,108,155,209,113,127,38,156,196,33,37,194,113,116,176,104,191,151,129,102,39,123,30,34,175,127,205,120,38,224,186,33,116,124,38,127,35,125,103,102,168,111,245,158 H,937640,8,400,4,16,1015675,90,1,1,1,,2,1,2,,80,0,2,3,3,,1,,,,,,1,4,2,500,,2,3,,,1,2,4,,,,580,48,1,4,14400,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,84,93,26,28,167,130,25,99,153,25,24,75,80,165,124,78,86,99,74,146,99,126,25,27,132,163,38,79,127,27,29,82,82,143,101,86,65,90,103,125,84,90,28,26,182,151,22,85,152,26,33,112,92,140,112,100,81,67,98,130,84,108,29,35,155,140,30,72,126,26,31,93,98,136,88,86,73,95,102 H,937676,8,900,4,16,1015675,90,2,1,3,6,2,2,2,,40,0,2,4,2,2000,1,,,,,3,1,5,,,,1,2,,22,2,2,2,2,273000,4,,,2,1,273000,0,4,4,4,1,4,0,2,0,0,0,2,0,0,0,2,2,1,378,,0,0,32,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,96,90,85,85,22,35,30,101,138,97,26,106,74,27,115,133,154,155,27,80,101,77,72,91,141,162,144,69,33,94,133,101,84,113,76,28,30,38,122,83,83,86,79,92,24,28,34,85,157,85,26,103,76,26,97,166,159,136,28,75,89,91,84,113,164,149,157,79,30,82,156,88,97,151,96,29,30,30,180 H,938011,8,600,4,16,1015675,107,1,1,,,2,5,,,50,0,2,30,1,,1,,,,,,1,5,2,650,,1,3,,,0,1,2,,,,730,50,1,6,17600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,182,196,31,96,109,177,31,109,114,32,99,102,33,112,110,103,32,165,107,180,178,175,30,106,109,195,30,113,107,32,123,106,31,112,97,120,33,186,116,181,199,179,29,119,117,172,29,115,105,29,123,94,31,108,103,111,31,217,105,167,176,178,29,108,109,190,30,110,108,32,108,106,32,117,111,98,32,185,112 H,938347,8,800,4,16,1015675,43,2,1,2,1,3,2,2,,80,0,2,3,3,570,1,,2,840,2,1,1,7,,,,1,1,,15,4,2,3,3,49600,4,,,1,1,49600,0,4,4,4,1,5,0,2,0,0,0,24,0,0,0,1,0,1,997,3,0,1,9,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,74,39,40,45,14,10,38,14,77,12,67,40,72,81,54,39,40,36,32,65,53,13,60,72,34,44,15,41,42,45,52,12,42,43,75,75,11,12,52,10,38,63,13,11,44,39,65,44,46,42,48,82,44,37,17,13,68,57,86,33,12,48,56,67,68,64,46,54,10,70,12,45,16,11,42,39,36,41,14 H,938737,8,300,4,16,1015675,40,1,1,2,1,2,1,2,,130,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,1,390,5,,,,513,50,1,6,12200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,48,32,39,49,67,72,65,31,15,32,85,35,39,59,35,13,13,12,45,80,35,42,40,33,10,17,17,46,86,30,10,42,36,11,38,53,74,73,37,52,40,38,41,46,16,20,14,37,70,41,11,43,35,12,50,64,60,57,36,14,37,47,40,35,73,49,64,36,9,43,69,36,38,57,34,15,15,13,39,13 H,939127,8,300,4,16,1015675,119,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,203,80,98,247,121,33,42,35,122,102,104,89,115,157,190,207,149,45,141,34,214,134,103,180,130,34,35,38,99,129,127,128,124,188,231,201,126,38,120,185,37,122,96,34,141,191,172,219,121,123,103,134,136,38,40,29,105,241,153,202,38,116,106,36,131,202,169,179,139,110,131,101,121,32,36,42,108,175,124,36 H,939278,8,100,4,16,1015675,97,5,1,1,,5,2,2,,150,0,450,3,6,470,1,,2,1500,1,1,1,9,,,,1,1,,20,4,280,3,1,94200,2,,,1,1,94200,0,2,2,2,1,5,3,5,0,0,3,22,0,0,1,0,0,1,1750,3,0,1,36,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,163,88,23,95,99,96,197,32,154,30,205,104,120,94,30,88,141,106,31,92,89,154,93,29,27,30,93,95,94,93,95,168,184,142,103,27,97,202,109,27,154,91,32,84,96,77,163,32,180,25,158,107,86,75,30,85,167,96,32,99,99,150,90,28,25,26,100,101,127,99,111,210,180,151,102,30,90,171,95 H,939521,8,700,4,16,1015675,117,2,1,,,2,4,,,20,0,2,40,1,,1,,,,,,1,6,2,650,,1,3,,,2,430,4,1,57800,4,746,15,1,1,57800,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,113,124,35,181,35,113,193,205,194,112,33,200,100,129,130,108,35,31,108,109,127,118,191,35,201,113,33,36,37,110,193,33,114,120,131,114,193,209,121,121,113,128,31,196,33,107,187,203,209,113,33,198,105,111,117,113,34,40,117,113,103,115,192,38,217,124,33,36,37,116,199,35,119,121,115,121,209,182,116 H,939608,8,600,4,16,1015675,97,2,1,1,,4,2,2,,40,0,2,60,1,700,1,,1,720,1,1,1,7,,,150,1,1,,14,1,250,9,1,64400,4,,,1,1,64400,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,991,2,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,116,93,166,164,27,185,92,85,32,29,26,82,105,153,32,108,141,104,89,151,162,153,104,96,94,100,30,169,97,97,93,27,189,107,104,33,82,25,34,94,100,91,179,164,28,153,98,96,27,30,28,90,99,162,32,111,143,94,105,170,173,148,100,96,96,109,26,143,99,107,99,25,167,99,110,29,90,30,29,96 H,939809,8,200,4,16,1015675,21,2,1,3,1,4,2,2,,120,0,80,3,1,2000,1,,,,,3,1,9,,,,1,2,,18,5,2,5,4,81200,4,,,1,1,81200,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,2,1,507,,0,0,37,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,20,3,8,24,12,20,24,19,33,13,5,30,22,36,16,4,20,6,31,39,17,5,7,23,17,17,15,19,39,18,5,30,23,54,21,5,15,5,8,7,19,26,41,28,19,24,18,14,5,14,31,6,19,8,17,28,17,26,3,5,26,31,34,20,16,20,21,19,6,17,28,5,19,5,19,34,18,29,32 H,939907,8,600,4,16,1015675,105,2,1,,,2,4,,,30,0,2,60,1,,1,,,,,,1,4,2,580,,2,3,,,2,1,5,,,,670,34,1,7,23600,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,34,169,186,31,93,96,34,104,33,116,125,103,186,102,173,101,96,173,30,122,29,182,185,32,107,110,30,107,34,100,109,95,164,124,181,103,90,170,171,100,158,35,32,174,108,106,188,96,192,109,91,111,32,110,27,107,120,30,204,95,194,29,31,192,114,119,163,111,158,112,98,111,29,99,30,100,115,29,27 H,940091,8,200,4,16,1015675,101,2,1,1,,2,1,2,,40,0,2,40,2,0,1,0,,,,3,1,3,,,,1,2,,5,2,760,5,,,,,,1,5,27100,0,4,4,4,1,6,0,,0,1,0,8,0,0,0,2,0,2,177,,0,0,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,167,24,105,33,29,123,34,142,123,101,134,144,89,41,94,195,201,121,103,95,197,59,107,34,32,89,33,121,74,106,66,153,121,28,70,111,178,106,125,110,33,149,86,149,176,98,163,33,129,134,139,29,95,159,78,30,33,125,111,124,36,185,101,145,157,84,122,23,79,96,87,31,104,192,109,27,36,114,88 H,940215,8,200,4,16,1015675,104,2,1,2,1,3,2,2,,60,0,2,130,1,420,1,,1,1400,1,1,1,7,,,,1,1,,17,3,440,4,1,107000,4,,,1,1,107000,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,1627,3,0,1,46,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,43,142,28,189,131,28,29,92,103,98,127,74,200,120,24,179,69,170,35,115,147,93,140,26,101,191,170,87,149,86,117,82,26,142,128,32,137,43,28,115,185,120,190,38,126,161,187,122,80,102,104,73,27,106,159,38,80,24,199,111,33,79,26,172,110,34,32,121,115,70,121,82,134,132,43,197,111,183,159 H,940669,8,800,4,16,1015675,260,3,1,1,,3,1,2,,90,0,50,3,6,270,1,0,,,,3,1,6,,,,1,2,,10,4,2,6,5,36900,4,,,1,2,36900,0,4,4,4,1,5,0,3,0,0,0,6,0,1,0,2,0,2,184,,0,0,18,1,10,10,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,92,261,203,96,395,95,527,462,281,255,247,64,294,347,227,414,373,113,299,346,368,286,297,450,189,367,80,65,274,244,291,484,252,68,229,114,79,435,236,188,335,324,225,300,299,427,71,100,223,277,182,323,238,111,216,66,83,359,305,315,85,194,316,106,204,70,370,501,267,308,315,115,417,391,347,461,513,101,320,223 H,940683,8,200,4,16,1015675,198,2,1,3,1,3,2,2,,80,800,500,3,6,,1,,,,,,1,5,2,450,,1,3,,,1,2,3,8,9600,2,572,72,1,3,9600,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,0,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,69,190,63,296,289,199,149,172,62,176,329,215,338,337,50,177,66,222,213,214,349,222,303,61,66,197,210,217,253,170,71,165,60,66,296,174,362,238,182,200,71,196,53,353,338,175,192,241,61,174,294,179,300,328,61,182,56,211,190,216,309,209,302,51,70,241,214,213,349,166,67,219,55,66,301,160,383,216,230 H,940778,8,300,4,16,1015675,59,4,1,1,,5,2,2,,230,0,2,50,3,100,1,,1,760,1,1,1,8,,,100,1,1,,15,4,150,5,1,113000,2,,,1,1,113000,0,2,2,2,1,4,2,4,0,0,2,12,0,0,1,0,0,1,1153,2,0,1,23,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,98,46,16,64,58,16,67,98,120,115,60,60,59,48,56,17,16,18,118,54,109,60,17,63,58,19,61,94,96,97,53,53,66,61,66,21,18,16,94,66,88,54,18,65,59,19,62,91,110,110,53,59,65,67,57,14,17,19,109,67,86,50,17,60,61,16,68,113,108,113,57,68,59,61,50,17,16,16,95 H,940814,8,900,4,16,1015675,16,3,1,2,1,4,2,2,,130,0,2,3,3,260,1,,2,680,2,1,1,8,,,380,1,1,,13,2,50,5,2,82000,1,,,1,1,82000,0,1,1,1,1,4,1,3,0,0,1,19,0,0,1,0,0,1,1289,1,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,28,5,21,32,30,35,18,5,29,15,15,13,15,5,5,19,15,19,13,3,31,5,14,27,25,25,16,5,25,18,15,22,17,5,5,17,19,17,17,5,29,4,17,27,29,35,18,3,24,16,18,17,14,5,4,20,15,15,18,4,33,5,15,23,23,30,13,5,25,13,15,18,18,5,5,15,18,18 H,940961,8,800,4,16,1015675,69,0,1,2,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,25,19,67,67,63,101,65,27,59,18,22,109,61,102,57,76,130,74,84,19,124,110,69,64,68,21,62,122,79,100,100,21,62,20,68,58,22,74,69,137,21,19,70,66,64,120,73,22,70,18,22,110,58,115,67,83,107,66,63,22,128,119,77,61,69,22,62,122,65,118,111,20,61,16,82,73,19,60,68 H,941010,8,300,4,16,1015675,18,1,1,3,1,3,2,2,,250,0,2,110,4,500,1,,,,,3,1,6,,,,1,2,,23,2,2,7,,,,,,1,6,2400,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,2,735,,0,0,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,19,15,19,22,32,18,17,7,5,33,37,5,18,33,5,5,25,18,26,20,21,16,21,18,7,19,17,34,32,7,5,29,25,6,36,27,17,20,4,16,16,18,18,20,35,16,22,7,5,30,35,5,20,28,4,6,19,18,35,23,17,18,19,16,5,18,23,33,27,5,5,26,20,5,34,42,21,19,7,20 H,941059,8,100,4,16,1015675,135,1,1,1,,2,2,2,,40,0,2,20,1,360,1,,1,790,1,1,1,6,,,,2,1,,16,1,640,2,,,,,,1,4,26000,0,4,4,4,1,4,0,,0,0,0,42,0,0,0,0,0,1,903,3,0,1,22,,,,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,143,244,38,32,132,135,133,225,149,37,146,40,44,204,135,246,140,147,141,206,139,229,37,43,125,119,125,258,164,33,145,43,39,226,154,240,143,128,123,235,123,211,38,36,142,141,134,222,133,35,148,42,47,244,134,247,134,151,127,230,137,252,39,37,128,114,149,236,130,51,142,39,39,227,136,216,144,115,124 H,941250,8,800,4,16,1015675,22,2,1,1,,2,2,2,,1,0,2,3,3,,1,,,,,,1,4,2,250,,1,3,,,3,340,8,2,2703,4,278,101,1,1,2703,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,22,40,38,6,5,30,23,5,37,37,22,17,5,24,30,25,27,7,23,23,21,7,4,37,40,6,24,35,5,7,24,27,32,19,24,19,16,47,25,18,23,5,5,35,33,5,19,29,7,6,24,20,37,21,29,24,20,34,18,17,18,49,35,7,5,34,24,7,36,35,24,19,7,22,19,20,23,7,20 H,941881,8,300,4,16,1015675,91,2,1,1,,2,2,2,,40,0,2,10,1,370,1,,1,460,1,1,1,5,,,100,1,1,,10,2,30,7,,,,,,1,5,58000,0,4,4,4,1,4,0,,0,1,0,13,2,0,0,0,0,1,613,2,0,1,15,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,126,105,83,27,199,78,87,146,99,83,190,83,88,89,136,28,31,26,26,84,169,82,87,25,136,92,104,149,90,97,153,76,105,100,171,25,24,30,35,93,37,93,91,179,27,80,89,30,101,96,26,89,78,87,28,142,167,126,151,122,26,88,79,117,30,108,97,30,89,83,29,81,109,73,29,152,140,153,135,85 H,942387,8,900,4,16,1015675,76,1,1,1,,4,2,2,,30,0,2,10,1,350,1,,1,980,1,1,1,8,,,,1,1,,16,1,100,1,,,,,,1,6,65000,0,4,4,4,1,2,0,,0,0,0,19,0,0,0,0,0,1,1028,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,75,114,169,131,45,21,83,114,66,87,121,120,21,13,27,76,93,95,21,92,81,105,115,158,77,34,92,127,99,98,131,68,23,35,18,65,56,75,48,62,64,92,205,144,66,21,76,100,99,58,127,88,24,25,36,75,95,73,19,87,111,138,123,108,90,22,74,178,82,94,136,53,22,25,21,65,68,70,26 H,942672,8,700,4,16,1015675,94,5,1,1,,4,2,2,,130,0,2,200,1,1500,1,,1,1500,1,1,1,7,,,,1,1,,19,2,840,3,1,62200,2,,,1,1,62200,0,2,2,2,1,3,3,5,0,0,3,37,0,0,1,0,0,2,1900,3,0,1,36,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,97,151,155,97,100,95,155,27,150,92,26,27,28,99,149,25,96,96,103,105,89,27,27,96,83,89,28,153,26,85,154,152,158,87,29,179,84,90,95,92,95,29,28,94,90,90,29,154,29,99,154,176,163,85,24,147,88,82,97,91,96,166,148,94,88,82,156,29,154,99,29,27,28,99,163,29,97,96,90,106 H,942677,8,500,4,16,1015675,252,4,1,1,,4,2,2,,30,0,2,50,1,300,1,,1,250,2,1,1,6,,,,1,1,,17,2,250,1,1,38500,3,,,1,1,38500,0,3,3,3,1,1,2,4,0,0,2,15,0,0,1,0,0,2,480,3,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,260,461,430,361,259,70,242,371,276,227,410,228,76,77,68,273,236,225,414,252,255,74,82,80,271,440,259,90,248,265,97,290,497,379,429,263,260,220,77,246,276,461,383,378,289,60,252,411,288,235,381,215,75,72,78,263,254,236,408,252,220,78,76,73,236,440,256,90,263,268,98,259,443,432,404,260,262,296,69 H,942712,8,400,4,16,1015675,42,2,1,3,2,2,1,2,,40,0,2,130,2,300,1,150,,,,3,1,3,,,,1,2,,7,2,2,5,4,19800,4,,,1,1,19800,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,1,1,250,,0,0,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,61,64,56,13,16,63,53,16,61,82,45,26,8,39,45,39,45,19,42,65,62,75,58,10,15,72,46,15,58,56,46,38,10,43,38,42,44,15,44,37,34,60,61,12,9,69,43,10,79,77,55,62,10,54,55,36,44,15,102,39,30,70,79,12,11,69,41,12,61,69,35,53,17,46,40,51,46,10,30 H,942779,8,900,4,16,1015675,63,2,1,1,,5,2,2,,40,0,2,30,1,1200,1,,2,740,1,1,1,9,,,,1,1,,14,3,800,5,7,30200,2,,,1,3,30200,0,2,2,2,1,5,1,2,0,0,1,39,0,0,1,0,0,1,977,3,0,1,23,2,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,68,18,67,80,58,122,68,119,59,65,124,72,15,95,112,15,59,71,19,17,57,16,66,79,60,103,54,94,60,61,103,66,19,91,95,19,72,78,18,19,56,22,59,65,53,118,77,126,63,70,94,58,15,108,115,18,63,59,19,15,65,18,52,70,72,111,66,111,67,59,125,58,19,107,110,18,72,63,18 H,942917,8,100,4,16,1015675,124,2,1,1,,2,2,2,,40,0,2,170,1,200,1,,1,750,1,1,1,5,,,100,1,1,,17,2,420,2,1,56200,4,,,4,1,56200,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,0,0,1,1095,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,120,39,134,145,245,145,241,128,240,130,130,42,120,124,30,189,217,32,40,111,38,109,210,39,108,39,123,184,121,205,43,102,193,231,114,121,114,115,154,37,123,36,106,108,165,129,212,132,176,131,117,37,113,129,37,192,219,38,41,113,42,120,223,44,99,40,146,214,131,202,32,138,253,207,128,139,117,125,140 H,942967,8,100,4,16,1015675,131,4,1,1,,3,2,2,,40,0,2,50,1,200,1,,1,690,1,1,2,6,,,,1,1,,14,3,180,3,1,42660,2,,,1,1,42660,0,2,2,2,1,5,2,4,0,0,2,22,0,0,1,0,0,2,795,3,0,1,17,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,267,143,37,155,124,141,39,179,46,232,152,226,123,134,117,261,206,38,130,111,132,38,131,42,34,211,142,229,125,125,234,115,204,37,37,125,133,141,213,227,37,139,193,162,128,113,207,132,215,39,109,44,146,113,112,39,41,207,115,146,130,206,140,227,241,39,136,37,122,160,40,143,48,232,241,129,150,124,35,34 H,943106,8,800,4,16,1015675,101,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,6,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,97,122,133,98,115,25,27,30,98,156,97,26,95,118,33,86,134,173,176,214,93,128,119,102,118,29,33,31,88,196,93,23,93,115,37,91,143,219,177,170,128,81,88,111,93,34,30,34,98,181,136,37,89,73,25,118,183,163,195,157,129,88,79,109,102,33,29,33,91,162,130,33,98,68,28,144,158,164,192,180 H,943375,8,300,4,16,1015675,342,3,1,3,1,3,2,2,,90,0,2,3,6,,1,,,,,,1,6,2,40,,1,3,,,2,2,4,1,85000,2,130,2,1,1,85000,0,2,2,2,1,5,1,3,0,0,1,,0,0,1,0,0,2,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,442,144,104,276,353,593,386,417,345,330,406,337,398,184,86,371,555,104,322,507,110,632,495,371,259,85,365,387,267,343,171,435,372,424,408,116,105,510,264,386,434,102,96,306,362,472,412,370,329,286,505,428,377,150,135,415,466,125,405,356,144,592,469,338,357,116,304,376,363,340,185,363,310,415,423,104,83,550,382,438 H,943608,8,700,4,16,1015675,79,1,1,1,,3,2,2,,120,0,2,30,1,340,1,,1,1600,1,1,1,7,,,300,1,1,,19,3,300,1,,,,,,1,4,247000,0,4,4,4,1,2,0,,0,0,0,10,0,0,0,0,0,2,2075,1,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,79,74,140,82,128,25,24,75,89,77,135,85,25,79,24,23,135,78,128,78,77,82,129,78,133,24,22,82,83,80,135,76,23,81,24,25,134,78,127,74,77,85,24,82,22,129,150,77,88,81,21,85,138,77,137,139,23,79,24,84,80,78,22,77,22,130,136,80,74,78,25,77,126,81,133,119,27,84,23,76 H,943951,8,100,4,16,1015675,78,2,1,3,1,2,2,2,,170,0,2,440,2,500,1,,1,630,1,1,1,6,,,,1,1,,15,2,2,2,4,56200,4,,,1,1,56200,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,2,0,1,1240,3,0,0,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,78,30,83,75,21,70,139,23,25,127,85,67,123,83,131,72,72,82,22,125,75,19,75,75,21,82,142,25,26,129,71,91,151,92,144,78,73,74,20,124,74,27,94,80,26,74,132,22,26,124,67,69,135,80,116,79,84,72,23,146,70,22,69,81,24,79,133,21,25,124,70,79,157,80,140,80,66,87,21,119 H,944029,8,600,4,16,1015675,112,2,1,1,,2,2,2,,100,0,2,30,1,300,1,,1,600,1,1,1,5,,,,1,1,,15,2,2400,5,3,43720,4,,,1,1,43720,0,4,4,4,1,6,0,2,0,0,0,26,0,0,0,1,1,1,930,3,0,1,24,1,6,8,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,110,120,32,185,198,184,178,35,118,118,186,32,112,113,34,119,103,30,106,120,113,118,32,186,204,182,201,30,117,114,204,33,107,111,33,109,113,33,115,109,110,111,32,184,207,185,186,33,113,114,182,35,109,116,37,111,118,35,123,108,107,109,34,194,211,200,177,33,104,105,205,36,122,109,36,107,100,33,111,121 H,944065,8,300,4,16,1015675,95,1,1,1,,5,2,2,,70,0,2,70,1,470,1,,,,,3,1,9,,,,1,2,,16,2,350,3,,,,,,1,6,18700,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,1,0,1,375,,0,1,32,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,91,172,99,106,162,88,34,24,29,91,96,89,113,109,138,170,144,87,198,178,82,28,82,97,29,97,161,175,181,90,83,105,79,79,27,28,25,86,141,146,114,26,104,95,29,100,162,143,141,89,111,96,89,97,33,26,31,102,30,28,94,168,80,99,158,100,26,29,28,94,79,100,81,87,180,159,159,112,31 H,944136,8,300,4,16,1015675,83,1,1,1,,3,2,2,,30,0,1000,3,4,230,1,,,,,3,1,5,,,,1,2,,13,1,500,8,,,,,,1,6,44000,0,4,4,4,1,4,0,,0,0,0,7,0,0,0,1,1,1,274,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,130,142,25,86,82,134,25,97,78,22,92,78,22,76,91,95,33,156,114,23,91,72,91,27,132,84,79,129,131,86,25,25,90,146,28,146,82,81,69,87,124,131,24,75,94,129,23,83,78,25,84,78,24,77,85,78,25,132,133,32,72,79,95,28,156,72,82,147,145,76,21,23,80,151,29,186,79,79,89,71 H,944163,8,200,4,16,1015675,48,7,1,1,,3,2,2,,200,0,2,3,3,,1,,,,,,1,7,2,400,,1,3,,,4,2,9,2,46900,2,600,7,1,1,96900,0,2,2,2,1,3,4,6,0,1,4,,0,0,1,0,0,2,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,50,13,51,52,12,52,16,70,82,45,49,56,12,39,89,72,99,88,51,85,44,79,40,48,81,45,78,13,17,44,47,48,88,65,15,57,17,18,50,12,41,17,48,48,14,62,17,62,97,48,50,54,13,55,73,59,98,77,43,68,40,131,55,39,82,51,77,13,14,52,47,43,68,54,21,54,14,17,57 H,944319,8,900,4,16,1015675,69,2,1,3,5,2,2,2,,120,0,3500,240,2,1700,1,,2,610,2,1,1,8,,,740,1,1,,20,6,2,2,1,65280,4,,,1,1,65280,0,4,4,4,1,4,0,2,0,0,0,42,0,0,0,0,0,1,2292,2,0,0,29,1,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,20,73,25,118,66,20,20,55,66,75,89,72,122,63,18,94,57,115,169,71,21,69,21,116,68,22,22,61,54,82,79,60,99,69,22,108,64,108,142,69,23,83,19,99,68,20,18,62,79,52,49,67,118,70,20,122,77,115,87,77,21,93,24,112,71,20,24,73,76,82,65,60,99,75,19,124,61,109,125 H,945097,8,900,4,16,1015675,73,1,1,,,0,7,,,40,0,2,3,3,,1,,,,,,1,2,2,250,,1,3,,,0,1,8,,,,290,50,1,4,7000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,21,146,77,59,122,55,70,162,89,89,74,113,19,22,20,23,190,63,69,64,121,21,73,80,29,85,69,28,70,65,87,23,137,124,101,112,15,64,78,67,18,120,78,106,160,77,73,141,73,70,90,121,20,30,23,17,100,67,64,87,127,20,91,63,21,80,75,20,78,92,89,23,95,89,120,138,24,70,78 H,945259,8,800,4,16,1015675,20,1,1,1,,1,2,2,,60,0,2,3,3,260,1,,,,,3,1,3,,,,1,2,,8,1,480,9,,,,,,1,6,10100,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,1,1,125,,0,1,2,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,15,7,7,5,19,20,17,24,23,32,29,27,25,8,19,34,19,19,37,5,20,43,39,32,18,20,19,21,17,6,6,5,16,35,21,5,19,19,7,34,20,5,5,7,19,18,20,21,19,26,36,32,20,6,15,35,18,21,36,7,20,27,29,25,16,20,19,22,20,7,6,5,15,29,15,7,23,16,5 H,945331,8,600,4,16,1015675,252,4,1,1,,2,1,2,,130,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,1,2,4,,,,,,2,5,32000,0,1,4,4,1,1,0,,0,1,0,,0,0,1,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,77,428,96,105,258,240,327,304,75,209,230,248,96,238,221,242,417,315,251,250,190,266,397,258,433,514,267,267,236,420,84,437,214,73,86,88,297,365,67,429,102,361,91,125,249,311,323,361,83,319,218,229,103,319,221,233,329,191,220,242,359,221,273,258,317,360,230,262,349,432,76,448,319,91,87,71,275,366,63,402 H,945776,8,900,4,16,1015675,133,5,1,1,,3,2,2,,70,0,100,160,1,600,1,,1,720,1,1,1,9,,,,1,1,,14,3,440,7,1,52200,2,,,1,1,52200,0,2,2,2,1,2,3,5,0,0,3,23,0,0,1,0,0,1,995,3,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,142,142,35,40,33,119,295,133,43,160,139,39,114,243,254,208,111,93,31,131,135,141,246,271,216,199,58,111,232,143,129,233,140,44,38,31,108,131,223,130,141,145,42,46,41,127,201,144,44,126,115,32,138,261,217,208,119,137,46,128,147,131,261,220,208,125,36,133,181,126,104,197,143,39,42,44,182,136,192 H,945847,8,100,4,16,1015675,83,1,1,2,1,2,2,2,,20,0,300,20,6,240,1,,1,1400,1,1,1,4,,,,1,1,,20,1,80,6,,,,,,1,6,13600,0,4,4,4,1,2,0,,0,0,0,101,0,0,0,1,1,1,1472,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,153,91,23,95,88,24,77,150,122,140,82,81,95,87,79,23,28,25,144,75,138,92,25,80,73,26,86,129,125,141,92,77,87,86,88,29,26,27,22,102,24,87,158,84,92,120,84,23,24,26,96,75,88,90,68,123,150,143,24,87,25,86,135,74,82,148,94,27,25,34,85,68,76,82,80,138,130,131,146 H,945890,8,800,4,16,1015675,245,0,1,1,,1,2,2,,,,,,,,2,,,,,,1,3,2,380,,,,1,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,242,247,251,229,79,60,256,468,245,457,72,373,217,407,247,66,82,232,438,81,78,417,417,77,223,228,87,240,78,246,222,204,410,257,401,243,236,433,267,253,248,238,251,242,351,404,271,81,253,66,351,70,243,76,248,426,354,224,80,479,444,83,71,468,230,219,511,323,386,226,251,284,75,249,67,215,247,64,240,278 H,946049,8,300,4,16,1015675,30,2,1,2,1,4,2,2,,80,700,2,80,1,400,1,,2,310,1,1,1,6,,,,1,1,,17,2,720,9,8,22500,4,,,1,3,22500,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,1,1,2,563,3,0,1,16,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,10,12,10,33,35,37,26,27,64,62,36,26,10,28,41,21,33,54,27,50,52,37,44,28,31,30,31,35,8,8,9,34,66,40,7,22,38,8,24,53,47,46,52,38,32,23,30,28,11,13,6,24,54,23,7,41,35,8,28,8,15,10,10,21,35,34,31,38,31,39,49,27,7,44,98,29,29,35,38,8 H,946337,8,900,4,16,1015675,171,3,1,1,,4,2,2,,80,0,2,2,1,350,1,,1,1500,1,1,1,6,,,,1,1,,20,2,600,1,1,80500,2,,,1,1,80500,0,2,2,2,1,2,1,3,0,0,1,24,0,0,1,0,0,2,1630,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,58,177,266,152,220,57,173,309,238,198,145,153,167,217,54,159,337,54,160,76,65,201,219,179,289,60,192,299,265,193,160,106,136,193,66,192,254,45,139,43,45,153,368,176,251,64,199,308,208,125,164,198,227,230,50,164,264,61,150,55,60,152,288,167,229,59,211,265,262,147,207,217,189,202,40,153,287,55,147,55 H,946578,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,946698,8,500,4,16,1015675,101,3,1,2,1,4,2,2,,80,0,600,3,6,450,1,,2,600,2,1,1,8,,,,1,1,,15,4,2,5,1,65500,2,,,1,1,65500,0,2,2,2,1,4,1,3,0,0,1,16,0,0,1,0,0,1,885,3,0,1,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,30,183,179,103,176,97,110,30,107,35,99,31,108,105,157,89,109,149,174,106,118,92,105,163,88,29,177,109,162,106,24,113,33,195,108,26,28,119,109,33,32,188,179,98,167,103,119,30,92,35,110,31,124,110,161,96,88,161,194,88,99,103,88,183,110,31,177,89,150,106,27,101,31,215,120,29,28,93,107 H,946749,8,300,4,16,1015675,39,1,1,2,1,4,2,2,,60,0,800,100,2,600,1,,,,,3,1,6,,,,2,2,,15,1,2,3,,,,,,1,6,10000,0,4,4,4,1,2,0,,0,0,0,39,0,0,0,0,0,1,327,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,54,83,33,68,30,36,72,31,12,75,61,11,42,39,9,36,8,32,12,48,29,62,54,89,40,39,80,32,12,62,71,11,63,69,12,42,8,40,56,40,46,10,36,16,49,33,10,41,107,10,12,66,43,53,62,32,73,36,72,41,50,12,38,13,28,31,14,41,80,13,15,68,34,40,55,32,55,31,8 H,947120,8,400,4,16,1015675,39,1,1,,,1,5,,,50,120,2,40,3,,1,,,,,,1,3,2,140,,1,3,,,2,1,3,,,,230,101,1,6,2380,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,34,14,15,14,40,59,34,10,38,45,10,41,56,49,63,35,28,35,37,14,36,73,71,66,42,10,30,54,37,61,63,37,13,8,10,47,48,42,36,14,36,59,58,52,46,12,34,55,37,42,54,43,15,8,11,55,38,41,50,67,30,12,13,12,39,68,31,10,51,45,10,32,67,60,53,36,29,37,32,56 H,947279,8,900,4,16,1015675,154,6,1,1,,3,2,2,,80,1100,2,10,1,310,1,,1,700,1,1,1,5,,,,1,1,,13,2,480,6,4,32600,2,,,2,1,32600,0,3,3,3,1,1,4,6,0,0,4,31,0,0,1,0,0,1,830,3,0,1,25,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,203,159,261,246,309,200,36,148,262,155,135,285,165,53,45,48,171,168,187,280,137,125,44,39,46,129,177,142,53,128,147,43,170,332,220,260,231,158,149,317,133,175,43,57,58,195,225,136,43,145,130,51,229,253,204,242,112,133,133,32,154,188,317,209,269,184,64,198,281,126,110,204,151,66,67,51,184,149,180,50 H,947306,8,200,4,16,1015675,86,3,1,1,,3,1,2,,100,0,600,3,3,,1,,,,,,1,5,2,430,,1,3,,,4,1,4,,,,580,6,1,5,124000,0,4,4,4,1,2,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,90,76,70,82,24,24,36,97,153,105,30,56,58,25,80,109,153,162,27,88,95,94,80,85,127,166,140,66,29,114,187,123,94,103,78,29,23,26,144,89,75,93,84,71,48,37,32,108,141,66,23,75,73,27,115,156,122,145,27,60,68,107,78,114,129,149,122,84,32,86,115,60,95,202,81,20,23,33,97 H,947406,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,947660,8,500,4,16,1015675,149,1,1,1,,3,1,2,,50,0,2,70,1,220,1,2500,,,,3,1,4,,,,1,2,,3,1,1,5,,,,,,1,4,20200,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,1,1,1,357,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,259,285,135,142,173,323,43,185,174,41,46,49,157,272,50,135,143,144,181,152,45,48,165,137,124,42,230,48,133,229,262,273,170,49,308,135,143,149,167,152,248,251,175,173,157,257,46,284,136,52,44,45,152,220,44,142,154,164,127,130,48,38,132,214,177,47,203,43,165,239,261,224,178,42,242,174,145,116,157 H,947909,8,600,4,16,1015675,115,2,1,1,,2,2,2,,190,0,2,20,1,,1,,,,,,1,6,2,660,,1,3,,,2,1,9,7,60000,2,870,17,1,3,60000,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,31,30,119,126,131,199,113,31,134,34,33,196,120,193,106,107,237,130,112,190,32,36,116,125,100,184,112,35,119,28,37,206,102,215,122,110,198,128,118,37,214,194,118,111,108,35,111,210,94,205,207,36,122,32,116,112,30,120,121,40,211,203,113,106,107,37,123,185,106,192,209,35,118,33,112,118,34,114,129 H,947997,8,700,4,16,1015675,138,2,1,1,,3,2,2,,40,0,2,20,1,300,1,,1,920,1,1,1,5,,,260,1,1,,17,2,510,3,3,41200,4,,,1,1,41200,0,4,4,4,1,2,0,2,0,0,0,37,0,0,0,0,0,1,1283,2,0,1,30,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,136,247,143,146,222,135,42,42,44,117,126,126,136,151,249,212,218,151,39,46,134,233,135,152,246,142,39,43,42,145,135,127,139,144,222,249,239,138,239,241,140,42,134,146,44,137,212,259,232,131,156,139,141,132,37,49,41,158,256,223,143,40,152,141,39,134,232,229,203,143,145,154,131,129,42,41,45,113,51 H,948077,8,500,4,16,1015675,102,4,1,1,,3,2,2,,60,0,2,140,1,100,1,,1,860,1,1,1,6,,,,1,1,,16,3,480,2,3,46000,3,,,1,1,46000,0,3,3,3,1,1,2,4,0,0,2,29,0,0,1,0,0,1,1100,3,0,1,8,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,31,34,174,102,95,26,169,91,107,171,93,102,180,103,111,110,182,27,179,107,97,103,102,186,28,106,96,30,27,101,193,177,107,30,177,32,108,100,105,186,192,185,30,95,104,160,29,92,94,31,96,104,29,88,99,102,30,184,28,111,88,106,105,29,174,97,105,188,183,101,35,29,99,196,36,171,110,117,114 H,948550,8,100,4,16,1015675,144,2,1,,,2,4,,,90,600,2,3,3,,1,,,,,,1,4,2,640,,1,3,,,1,1,2,7,16700,2,730,52,1,3,16700,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,200,141,37,40,145,136,157,147,145,277,144,40,278,167,219,137,47,144,39,48,48,163,288,218,129,133,128,141,165,39,155,258,44,150,43,141,249,132,214,40,53,146,258,244,152,162,166,145,154,46,128,226,39,129,40,137,277,120,208,200,211,151,39,46,139,111,159,187,126,253,136,45,237,169,259,153,40,139,40,204 H,948574,8,700,4,16,1015675,107,1,1,1,,3,2,2,,40,0,10,130,1,600,1,,1,650,1,1,1,5,,,300,1,1,,16,1,200,3,,,,,,1,6,40000,0,4,4,4,1,1,0,,0,0,0,34,0,0,0,0,0,1,1138,1,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,186,110,104,96,33,106,182,105,173,186,29,111,33,96,108,32,111,31,117,170,172,108,112,93,32,108,170,97,185,189,37,108,32,120,113,32,98,31,121,33,34,111,106,110,184,107,31,113,34,30,195,104,162,103,97,162,104,186,104,31,33,105,117,106,163,105,31,105,35,32,182,109,198,110,113,190,108,162,107 H,948894,8,300,4,16,1015675,78,2,1,1,,4,2,2,,60,0,2,90,1,380,1,,,,,3,1,6,,,,1,2,,15,5,590,6,4,50860,4,,,1,1,50860,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,1,314,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,20,75,126,75,23,24,79,88,19,134,72,113,122,78,138,28,79,76,74,93,22,78,150,72,23,22,77,86,21,150,84,139,142,63,130,29,84,91,77,69,21,86,136,77,21,21,81,75,26,125,85,158,139,64,139,25,89,91,60,87,21,85,146,69,24,21,92,79,20,122,88,145,123,82,123,23,59,84,72 H,948938,8,100,4,16,1015675,142,4,1,1,,3,2,2,,90,0,2,90,1,,1,,,,,,1,6,2,830,,1,3,,,1,800,1,2,30000,1,1077,43,1,1,30000,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,215,142,183,225,41,152,157,221,151,134,41,140,129,249,44,43,139,39,163,158,125,234,234,128,157,198,40,148,40,41,144,43,228,167,141,156,279,136,44,34,46,149,135,44,230,174,150,37,144,131,240,188,122,44,262,200,151,283,163,134,143,41,44,165,122,39,240,158,241,221,187,236,39,151,144,140,40,139,216,223 H,949303,8,900,4,16,1015675,50,5,1,2,1,4,2,2,,160,0,2,3,6,,1,,,,,,1,7,2,500,,1,3,,,3,2,5,2,49800,3,660,16,1,1,49800,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,44,51,55,76,55,10,45,120,12,78,20,52,101,35,74,13,42,83,13,85,43,41,47,50,52,22,55,65,18,44,12,80,81,55,86,14,67,82,13,76,56,58,50,52,49,15,54,94,17,54,20,45,69,46,80,14,45,73,17,127,53,55,41,40,54,18,44,67,18,47,13,47,92,64,73,13,58,95,27 H,949660,8,100,4,16,1015675,116,4,1,1,,3,1,2,,50,0,2,150,1,900,1,0,,,,3,1,8,,,,1,2,,16,2,800,2,1,58500,3,,,1,1,58500,0,3,3,3,1,5,2,4,0,0,2,10,0,0,1,0,0,1,467,,0,0,27,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,124,36,137,191,135,221,27,103,210,177,108,141,100,110,100,30,127,173,228,209,129,219,127,32,119,35,179,109,33,41,137,106,115,115,98,211,119,34,43,38,119,35,91,183,93,211,37,106,196,230,83,109,124,128,116,32,139,225,169,183,143,198,111,46,124,39,211,120,35,33,110,113,114,102,103,195,113,31,33 H,949693,8,300,4,16,1015675,13,4,1,2,1,3,2,2,,50,0,2,110,1,620,1,,1,1500,1,1,1,8,,,,1,1,,18,2,990,2,1,76600,4,,,1,1,76600,0,4,4,4,1,4,0,4,0,0,0,27,0,0,0,0,0,1,1743,3,0,1,25,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,22,12,9,17,9,12,3,3,5,13,20,13,4,13,15,7,11,19,30,16,24,18,13,13,18,17,5,6,3,11,23,12,5,13,15,4,13,27,3,4,3,15,12,12,15,20,22,31,23,15,6,12,18,16,24,18,13,4,5,5,5,18,13,20,11,7,19,11,21,11,3,15,23,19,14,31,12,3,24 H,949824,8,500,4,16,1015675,106,1,1,1,,3,2,2,,70,0,2,90,1,230,1,,1,400,1,1,1,5,,,,1,1,,11,2,180,6,,,,,,1,4,30300,0,4,4,4,1,5,0,,0,0,0,23,0,0,0,1,0,1,575,3,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,115,32,148,28,97,104,87,96,114,99,175,34,111,108,31,31,104,183,105,114,31,106,126,116,24,198,182,171,158,31,112,103,186,31,108,114,34,118,165,175,106,31,176,32,95,114,105,97,101,105,159,31,104,93,27,31,105,187,122,104,31,102,106,112,31,164,201,197,183,30,100,104,199,30,118,99,35,116,189 H,949869,8,700,4,16,1015675,338,2,1,1,,4,2,2,,150,0,2,3,3,70,1,,2,730,2,1,1,6,,,,1,1,,18,5,200,5,,,,,,1,7,77400,0,4,4,4,1,5,0,,0,1,0,16,3,0,0,0,0,2,1028,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,354,545,323,96,307,113,592,330,89,115,324,313,328,335,344,537,336,105,560,93,325,87,362,579,333,587,98,350,586,608,315,396,343,325,380,97,366,545,107,114,354,108,321,584,324,507,98,330,623,528,343,348,334,330,328,94,326,543,99,603,329,654,343,103,326,99,640,327,100,96,319,341,347,354,302,606,333,104,550,582 H,950000,8,800,4,16,1015675,28,5,1,1,,3,2,2,,60,0,2,3,3,290,1,,2,410,2,1,1,6,,,,1,1,,8,2,300,3,1,29400,2,,,1,1,29400,0,2,2,2,1,5,3,5,0,0,3,23,0,0,1,0,0,2,552,3,0,1,10,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,22,24,42,27,29,40,47,55,53,22,39,25,42,27,29,27,22,42,7,7,26,34,9,29,30,9,7,7,7,24,11,23,7,25,26,23,28,7,43,44,24,26,40,34,25,39,54,41,42,28,38,25,48,25,24,24,21,38,8,8,27,27,10,25,25,8,6,9,10,30,9,27,6,26,26,27,27,9,38 H,950228,8,400,4,16,1015675,55,3,1,2,2,3,2,2,,150,0,600,3,8,200,1,,1,1000,1,2,1,6,,,,1,1,,16,2,2,2,1,79000,2,,,1,1,79000,0,2,2,2,1,3,1,3,0,0,1,18,0,0,1,0,0,1,1200,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,48,16,17,16,55,100,64,22,57,47,24,56,84,72,83,66,57,54,49,71,54,17,17,15,72,117,43,17,64,58,15,44,102,105,106,47,61,65,43,13,69,133,100,80,56,15,56,110,50,45,81,74,20,15,18,67,53,59,65,17,66,75,93,119,42,17,72,81,61,51,88,47,17,15,16,40,42,47,59,87 H,950475,8,500,4,16,1015675,94,2,1,2,1,2,2,2,,210,0,2,10,3,50,1,,1,900,1,2,1,4,,,,1,1,,14,1,20,8,5,111000,2,,,1,2,111000,0,2,2,2,1,2,1,2,0,0,1,12,0,0,1,0,0,1,1122,3,0,1,23,1,10,10,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,150,101,105,31,193,24,26,97,100,144,152,29,80,80,88,32,87,107,118,172,128,93,90,26,194,27,27,82,90,191,137,29,84,84,93,28,104,83,88,146,155,112,75,24,171,25,30,96,94,147,177,26,85,97,92,22,102,93,88,180,135,99,101,31,170,24,29,98,96,151,185,30,87,94,92,34,101,83,78,178 H,950545,8,600,4,16,1015675,105,2,1,1,,5,2,2,,200,0,2,30,1,390,1,,1,2000,1,1,1,8,,,,1,1,,21,2,480,3,1,225000,4,,,1,1,225000,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,0,0,2,2270,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,36,27,185,194,30,106,178,33,31,103,113,182,109,116,107,101,168,103,117,104,33,32,183,179,31,107,173,28,33,118,106,186,104,102,102,102,175,105,106,107,174,184,31,34,173,104,29,171,188,101,105,33,112,127,111,107,31,102,102,113,197,181,31,31,181,102,29,167,170,101,108,36,108,108,105,103,33,111,107 H,951007,8,900,4,16,1015675,65,2,1,1,,2,2,2,,40,0,2,10,1,400,1,,,,,3,1,5,,,,1,2,,11,2,530,8,4,25300,4,,,1,1,25300,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,190,,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,27,63,67,63,75,25,73,24,83,14,15,18,18,62,65,18,19,63,84,75,63,105,107,140,102,58,132,72,82,54,57,55,54,108,116,66,56,106,86,111,96,62,66,60,72,142,66,88,68,84,97,131,143,66,57,105,94,67,25,53,53,19,21,18,15,70,21,49,15,72,60,59,71,24,24,77,55,15,57 H,951203,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,951377,8,800,4,16,1015675,64,4,1,2,1,3,2,2,,80,0,450,20,1,680,1,,1,1200,1,1,1,6,,,,1,1,,20,4,2,2,1,157100,4,,,1,1,157100,0,4,4,4,1,3,0,4,0,0,0,10,0,0,0,0,0,2,1338,3,0,1,34,3,2,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,23,76,111,57,18,67,62,16,64,127,128,98,69,56,62,76,59,18,88,20,21,56,91,68,21,68,65,18,69,124,122,119,65,67,63,61,64,19,119,22,22,62,114,60,17,51,55,20,63,94,102,135,59,58,73,51,61,21,123,18,21,68,126,60,20,62,55,19,57,104,115,120,78,71,67,58,79,24,92 H,951399,8,900,4,16,1015675,71,4,1,1,,5,2,2,,40,0,2,200,1,440,1,,,,,3,1,9,,,,1,2,,19,1,650,2,7,59300,4,,,1,3,59300,0,4,4,4,1,3,0,4,0,0,0,11,0,1,0,0,0,2,539,,0,1,37,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,59,69,62,108,101,115,81,19,101,102,60,77,89,61,22,26,24,73,20,84,64,69,52,90,145,113,102,25,75,106,62,85,126,80,24,23,21,77,18,66,54,61,51,123,120,112,76,19,65,130,80,76,142,88,23,23,17,77,22,77,71,93,70,114,101,106,82,19,74,142,63,68,99,55,26,21,25,85,18 H,951976,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,951979,8,300,4,16,1015675,41,1,1,1,,3,2,2,,60,0,700,100,6,0,1,,1,420,1,1,1,5,,,,1,1,,10,2,380,8,,,,,,1,4,73000,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,0,0,2,670,3,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,49,39,12,14,12,43,63,42,18,25,31,10,38,81,64,81,57,43,47,39,32,39,26,18,10,33,61,37,15,37,40,11,37,54,58,74,53,56,9,27,39,39,66,88,86,38,8,39,74,34,51,78,31,11,17,14,54,48,15,28,32,40,100,75,59,38,12,39,60,32,37,79,51,13,11,12,55,44,76 H,952177,8,500,4,16,1015675,148,1,1,,,1,8,,,10,0,2,10,1,,1,,,,,,1,3,2,160,,1,3,,,1,1,4,,,,180,21,1,6,10110,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,41,145,45,49,238,256,147,125,158,151,47,278,147,149,156,46,228,141,48,158,225,162,246,245,50,41,138,169,155,145,256,46,122,142,139,189,45,150,51,130,239,139,240,234,43,40,166,174,154,161,284,43,152,130,155,229,40,150,215,199,46,162,40,40,277,259,137,121,139,147,43,252,134,167,144,45,233,145,254 H,952407,8,900,4,16,1015675,85,1,1,1,,3,2,2,,30,0,2,30,1,270,1,,,,,3,1,6,,,,1,2,,14,1,30,7,,,,,,1,6,16804,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,1,155,,0,1,18,,,,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,107,90,83,84,71,29,85,152,25,76,26,82,132,85,134,19,80,150,124,20,88,77,77,93,99,151,71,27,172,92,149,77,26,96,29,127,88,22,30,151,92,76,79,74,74,27,93,138,23,93,29,87,135,82,164,28,69,144,127,22,78,72,81,93,85,132,66,24,132,98,147,95,24,85,27,158,79,29,28 H,952493,8,300,4,16,1015675,75,4,1,1,,3,2,2,,40,0,2,3,3,,1,,,,,,1,7,2,500,,1,3,,,3,600,3,1,37000,3,590,19,1,1,37000,0,3,3,3,1,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,71,100,96,92,130,70,27,33,24,55,72,65,72,74,98,110,148,93,108,115,60,23,70,58,21,79,120,154,137,72,83,77,72,71,19,21,21,81,28,34,78,83,71,79,127,97,32,28,18,78,75,56,80,80,106,128,146,92,124,134,76,18,57,79,23,78,109,111,103,87,93,68,93,79,18,16,19,89,27 H,952802,8,300,4,16,1015675,27,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,8,29,23,10,27,24,33,46,9,40,7,36,25,20,25,8,34,59,31,9,28,30,40,23,10,8,8,28,21,30,29,29,48,42,53,27,9,29,47,24,8,47,22,8,31,26,23,49,9,48,7,51,30,30,31,7,23,55,36,9,29,25,39,27,9,9,6,23,32,24,31,23,48,42,46,32,7,22,47,27 H,952828,8,400,4,16,1015675,70,2,1,1,,1,2,2,,70,1200,300,3,6,,1,,,,,,1,3,2,250,,1,3,,,1,520,7,1,10000,4,388,47,1,1,10000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,117,130,61,15,62,127,87,90,63,87,27,20,20,73,54,60,72,65,21,117,107,92,76,31,109,124,93,76,82,58,25,20,13,79,110,63,72,77,153,25,20,22,67,87,75,20,63,71,17,99,161,99,95,82,63,79,93,78,111,27,19,20,68,77,65,21,83,83,15,63,115,152,134,67,63,65,92,80,16 H,953076,8,300,4,16,1015675,82,4,1,1,,2,2,2,,50,0,800,3,4,600,1,,2,300,2,2,1,4,,,,1,1,,12,3,2,9,1,29500,1,,,1,1,29500,0,1,1,1,1,3,2,4,0,0,2,22,0,0,1,0,0,2,550,3,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,211,121,19,59,104,26,28,87,64,166,58,61,96,87,144,80,105,25,84,168,31,26,135,113,28,146,136,77,103,26,96,82,75,101,25,87,64,96,119,27,110,169,25,82,133,23,24,85,96,133,109,80,74,93,121,88,60,21,102,134,30,23,111,80,34,147,160,105,66,22,70,72,91,78,28,65,83,147,89 H,953725,8,100,4,16,1015675,77,4,1,1,,3,2,2,,40,0,2,30,1,430,1,,1,910,1,1,1,6,,,470,1,1,,17,2,410,1,1,37000,3,,,1,1,37000,0,3,3,3,1,1,2,4,0,0,2,48,0,0,1,0,0,1,1484,2,0,1,24,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,76,19,17,26,94,91,81,80,79,123,118,120,78,22,76,147,73,81,150,29,89,157,123,121,67,78,83,81,73,20,24,27,89,148,76,22,76,79,129,28,78,130,132,140,91,86,69,104,80,24,22,26,78,136,83,22,78,68,23,108,72,20,24,23,71,79,87,64,68,119,110,116,104,23,96,118,71,88,26 H,953810,8,400,4,16,1015675,126,2,1,2,1,3,2,2,,50,0,2,180,2,250,1,,2,350,2,1,1,7,,,,1,1,,20,3,2,2,4,18400,4,,,1,1,18400,0,4,4,4,1,3,0,2,0,0,0,49,0,0,0,2,0,1,751,3,0,1,30,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,148,159,185,201,100,40,127,43,240,40,130,41,140,221,231,121,34,133,217,34,36,279,130,109,172,121,208,144,123,121,43,125,47,141,108,32,102,205,114,123,155,134,211,252,142,33,107,46,192,37,140,33,110,215,187,124,44,131,198,38,39,240,124,129,189,141,218,105,141,136,39,121,43,116,109,31,120,264,128 H,954125,8,900,4,16,1015675,103,5,1,2,3,3,2,2,,230,1400,2,3,3,540,1,,2,180,2,1,1,5,,,,1,1,,13,2,2,5,8,10360,3,,,1,3,10360,1,3,4,3,1,6,0,5,1,0,3,53,0,0,1,1,1,2,455,3,0,1,1,1,15,15,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,48,113,89,84,104,110,207,152,38,160,113,118,146,47,95,29,133,81,139,35,54,114,101,94,89,133,203,83,28,187,80,150,123,47,96,21,170,78,28,145,199,132,94,140,91,125,32,105,180,30,108,45,105,167,131,170,34,117,36,148,114,83,103,98,80,106,28,90,132,29,118,50,89,166,94,150,48,88,134 H,954305,8,800,4,16,1015675,200,3,1,1,,3,2,2,,160,0,2,3,3,320,1,,1,530,1,1,1,8,,,130,1,1,,13,1,540,6,4,29800,4,,,1,1,29800,0,4,4,4,1,1,0,3,0,0,0,35,0,0,0,1,0,2,865,1,0,1,25,1,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,382,182,314,209,205,314,183,60,312,250,73,228,237,50,167,72,197,188,217,248,71,229,53,148,220,74,259,338,76,70,308,224,164,290,197,221,194,191,208,48,302,180,293,202,177,345,213,58,296,386,64,177,173,52,204,72,198,239,225,330,70,187,60,178,219,62,183,349,71,72,280,227,270,301,198,299,185,181,196,74 H,954434,8,700,4,16,1015675,89,5,1,2,1,5,2,2,,70,0,180,60,3,800,1,,2,300,2,1,1,8,,,,1,1,,22,4,2,2,1,62000,2,,,1,1,62000,0,3,3,3,1,3,3,5,0,0,3,16,0,0,1,0,0,1,845,3,0,1,52,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,148,159,86,153,25,88,92,95,27,89,146,80,26,28,96,80,25,153,88,83,27,22,88,27,143,97,85,103,162,94,27,82,155,157,92,95,171,27,91,98,25,25,88,27,160,82,83,93,162,81,26,92,145,141,83,90,147,30,89,87,135,159,95,164,28,90,92,94,27,94,158,93,25,28,86,84,27,134,90 H,954583,8,800,4,16,1015675,39,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,10,41,61,63,34,35,35,38,31,12,38,70,11,37,11,39,66,39,13,71,14,38,71,83,38,45,41,36,44,12,39,76,12,33,11,34,83,41,64,11,67,38,12,9,34,36,42,46,48,61,41,10,65,43,64,34,9,40,60,12,74,43,11,12,40,42,45,39,39,64,39,13,61,34,67,40,14,42,11 H,954593,8,800,4,16,1015675,70,3,1,1,,4,2,2,,50,0,2,90,1,430,1,,1,830,1,1,1,8,,,,1,1,,17,2,600,7,1,61500,1,,,1,1,61500,0,1,1,1,1,3,1,3,0,0,1,20,0,0,1,0,0,1,1020,3,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,67,59,18,69,67,128,108,14,17,118,69,23,122,122,88,61,15,74,72,84,87,62,111,67,79,19,22,124,100,20,70,134,18,18,86,66,105,67,67,68,61,63,111,69,76,20,19,124,108,18,63,116,22,23,65,77,121,57,67,48,72,82,23,78,68,118,145,25,21,125,76,17,128,111,63,60,24,68,73 H,954635,8,300,4,16,1015675,208,7,1,1,,4,1,2,,50,0,2,3,3,760,1,0,2,730,2,1,1,7,,,340,1,1,,14,1,2,3,1,105400,2,,,2,1,105400,0,2,2,2,1,5,5,7,0,0,5,14,0,0,1,0,0,2,1236,1,0,0,14,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,91,357,313,60,178,207,55,230,81,206,247,217,387,230,310,179,233,371,326,170,353,75,82,301,207,225,299,209,367,221,224,229,94,188,53,157,234,63,73,184,94,380,274,67,199,202,61,288,59,193,197,220,354,267,291,172,209,281,353,173,351,75,54,338,201,220,315,231,354,225,256,195,93,261,53,180,254,68,61 H,954898,8,300,4,16,1015675,148,9,1,2,1,4,3,2,,150,3000,2,360,1,400,1,,2,150,2,2,1,9,,,,1,1,,16,5,2,5,2,49700,3,,,1,1,49700,1,3,4,3,1,6,0,9,0,0,5,17,0,1,1,2,0,1,693,3,0,1,1,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,170,54,39,150,205,183,301,74,330,171,221,77,41,77,168,222,143,179,34,345,40,137,137,37,155,53,166,158,197,220,99,170,110,149,213,169,55,251,153,182,123,40,55,181,233,161,271,59,223,171,303,132,59,88,114,220,204,151,44,200,29,113,123,36,170,40,165,193,132,226,138,240,178,159,219,152,38,173,120 H,954956,8,300,4,16,1015675,129,0,1,3,,1,2,2,,,,,,,,2,,,,,,2,2,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,166,135,106,291,217,168,125,40,138,209,137,111,195,156,46,41,41,132,50,116,107,107,132,203,211,181,102,40,131,243,117,132,238,111,46,44,33,126,30,124,139,122,104,181,191,190,124,43,122,206,147,136,225,145,45,37,44,134,39,124,116,133,146,219,226,230,109,28,132,227,140,145,238,138,41,40,33,128,29 H,955198,8,300,4,16,1015675,95,2,1,1,,2,2,2,,50,0,2,3,3,1800,1,,2,630,2,1,1,5,,,,1,1,,16,2,260,5,1,109000,4,,,1,1,109000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,1,950,3,0,1,23,2,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,32,162,27,87,179,132,149,88,28,143,93,92,95,96,34,27,95,93,94,88,158,26,167,76,38,25,26,101,165,30,109,85,105,93,192,156,98,75,85,86,159,28,195,83,29,30,30,90,158,29,91,77,94,87,156,179,103,94,78,96,31,152,28,98,148,175,151,73,30,184,101,93,92,97,32,34,104,92,111 H,955571,8,900,4,16,1015675,73,2,1,2,2,3,2,2,,80,0,1200,3,3,300,1,,2,300,2,1,1,5,,,,1,1,,12,3,400,6,7,100400,4,,,1,3,100400,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,1,0,2,642,3,0,1,24,2,13,13,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,166,124,25,73,20,66,66,23,61,29,117,111,76,55,53,21,82,116,77,64,134,115,23,54,17,88,88,30,81,24,142,125,61,63,80,26,79,113,71,88,113,96,20,62,21,78,52,19,64,21,131,120,74,96,74,23,77,137,81,72,126,124,32,83,22,59,54,25,67,21,131,118,69,66,67,24,72,123,88,65 H,955944,8,900,4,16,1015675,83,4,1,1,,3,3,2,,30,0,2,30,1,,1,,,,,,1,5,2,300,,1,3,,,2,200,2,2,14000,1,377,32,2,1,14000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,25,87,97,32,99,129,26,21,119,71,69,146,70,136,101,94,93,20,34,86,106,72,109,122,86,20,138,159,24,95,82,26,103,25,75,74,85,129,28,89,186,71,102,175,93,26,145,130,24,78,78,28,84,23,108,77,97,132,168,105,26,66,101,24,67,131,23,22,104,72,66,131,127,143,80,82,66,25,172 H,955987,8,800,4,16,1015675,62,3,1,,,2,8,,,40,0,2,3,3,,1,,,,,,1,5,2,300,,1,3,,,1,1,5,4,19800,2,340,21,1,1,19800,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,27,12,33,21,66,51,180,61,100,64,77,45,72,23,91,55,20,111,130,53,91,52,69,59,20,128,109,96,49,19,48,15,148,55,31,20,59,84,76,91,12,39,67,20,74,50,73,67,129,72,160,75,36,15,39,51,24,91,98,53,47,128,148,72,25,98,45,89,106,22,93,28,66,52,18,19,72,53,105 H,956302,8,700,4,16,1015675,127,2,1,1,,3,2,2,,40,0,2,80,1,,1,,,,,,1,5,2,880,,1,3,,,2,50,3,2,38000,4,1004,32,1,1,38000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,126,203,119,148,35,188,37,34,165,117,214,213,40,142,120,128,38,128,36,122,111,42,138,125,210,39,230,211,132,123,40,41,189,128,122,130,206,139,232,153,121,203,132,117,35,226,40,37,113,139,194,213,39,133,120,130,37,119,40,127,144,35,134,120,234,46,193,212,114,121,37,38,200,111,127,123,242,119,201 H,956615,8,100,4,16,1015675,117,1,1,1,,4,2,2,,70,0,430,3,4,500,1,,1,210,2,1,1,7,,,,1,1,,17,2,360,5,,,,,,3,6,1000,0,4,4,4,2,5,0,,0,0,0,101,0,0,0,0,0,2,396,3,0,1,13,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,154,133,209,116,41,138,36,174,127,40,39,118,127,115,94,109,182,109,40,181,35,114,39,139,230,139,166,26,103,178,183,117,122,111,98,126,35,109,228,49,194,103,160,126,36,114,46,155,95,49,32,112,121,107,93,101,165,111,31,206,33,112,38,120,251,123,180,34,103,200,185,128,121,101,104,111,40,121,201 H,956897,8,900,4,16,1015675,96,1,1,1,,3,2,2,,50,0,2,120,1,650,1,,,,,3,1,5,,,,1,2,,14,2,360,5,,,,,,1,4,35000,0,4,4,4,1,1,0,,0,0,0,10,0,0,0,0,0,1,300,,0,1,13,,,,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,91,39,107,30,25,146,149,88,122,123,130,28,133,78,83,99,29,214,95,165,87,32,90,29,33,184,171,89,130,83,85,27,147,124,103,83,25,131,80,158,89,28,84,31,43,180,185,96,82,92,80,35,168,98,118,110,31,118,96,166,111,28,79,44,25,142,161,88,88,84,111,26,125,75,84,126,32,216,109,158 H,956962,8,700,4,16,1015675,121,6,1,3,1,4,2,2,,130,0,2,50,3,,1,,,,,,1,8,2,650,,1,3,,,2,30,4,2,40000,3,833,25,1,1,40000,0,3,3,3,1,1,4,6,0,0,4,,0,0,1,0,0,1,,,0,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,126,189,187,213,133,38,122,182,113,123,208,109,33,38,33,127,128,122,36,141,131,182,225,207,128,36,127,213,127,129,187,107,38,35,32,122,130,122,169,104,130,38,34,37,122,209,103,36,146,125,35,127,204,181,217,123,109,129,213,132,110,39,37,34,117,227,130,36,115,128,32,125,218,210,206,127,116,121,39 H,957077,8,400,4,16,1015675,54,1,1,3,4,3,1,2,,130,0,2,3,3,250,1,0,,,,3,1,6,,,,1,2,,18,2,2,5,,,,,,1,4,173900,0,4,4,4,1,4,0,,0,0,0,2,0,0,0,1,1,1,301,,0,0,30,,,,0,0,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,82,87,47,90,108,53,60,61,47,98,49,77,54,97,85,76,85,54,52,54,14,19,55,16,18,57,53,50,44,20,61,16,61,20,22,15,14,46,48,49,92,90,41,85,113,55,44,45,50,84,62,93,58,98,92,77,83,59,46,57,16,18,48,14,15,60,50,51,59,15,44,19,50,19,18,13,18,63,49,41 H,957150,8,400,4,16,1015675,65,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,70,53,18,21,21,62,128,73,17,73,68,17,52,95,109,114,70,68,116,65,70,65,17,18,20,74,116,63,24,62,72,25,61,111,115,118,62,58,91,62,66,73,19,18,19,74,113,66,18,61,63,17,64,133,117,97,63,70,125,77,59,70,22,17,18,68,122,61,20,73,49,17,76,112,101,120,63,66,98 H,957365,8,600,4,16,1015675,123,3,1,1,,3,2,2,,40,0,2,50,1,360,1,,1,570,1,1,1,6,,,,1,1,,16,2,260,8,7,24000,2,,,1,3,24000,0,2,2,2,1,3,1,3,0,0,1,34,0,0,1,0,0,1,682,3,0,1,18,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,125,201,202,34,251,142,132,36,33,38,124,115,196,38,131,214,130,122,197,235,226,115,127,120,110,37,231,115,126,119,36,197,124,128,37,120,38,35,105,118,119,40,36,228,36,122,139,210,250,206,129,112,36,204,126,39,107,141,39,38,32,144,116,118,124,209,38,137,116,128,192,35,118,123,212,125,212,262,131 H,957545,8,300,4,16,1015675,14,2,1,3,1,3,1,2,,110,0,2,130,2,200,1,380,,,,3,1,6,,,,1,2,,13,2,300,5,4,56460,4,,,1,1,56460,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,2,2,1,346,,0,0,9,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,15,31,13,13,25,15,5,21,26,4,15,15,5,17,4,21,13,13,26,3,14,3,11,16,5,14,26,3,5,26,17,13,21,20,25,10,18,20,27,3,13,5,15,12,5,17,32,5,3,31,15,10,20,18,27,13,19,17,5,21,11,28,16,13,25,18,5,21,28,4,16,23,5,15,3,18,13,10,5 H,957657,8,700,4,16,1015675,108,3,1,1,,3,2,2,,210,0,2,180,1,650,1,,1,1700,1,1,1,9,,,470,1,1,,20,3,50,2,1,176500,1,,,1,1,176500,0,1,1,1,1,3,1,3,0,0,1,17,0,0,1,0,0,1,2564,1,0,1,40,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,100,100,190,110,32,187,173,37,113,102,31,96,31,120,109,106,178,113,166,33,100,103,32,113,200,29,34,201,114,123,165,90,180,122,112,107,29,98,188,30,108,121,31,103,179,36,30,191,94,94,192,125,185,108,104,116,32,107,38,205,130,115,201,101,30,172,173,28,88,99,30,114,31,86,102,125,186,92,32 H,957918,8,900,4,16,1015675,142,1,1,1,,4,2,2,,60,0,2,3,3,,1,,,,,,1,8,,,,1,4,,,1,2,5,,,,,,1,6,7300,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,230,164,55,160,142,42,141,273,225,227,103,106,127,135,112,43,50,52,217,132,287,148,41,151,161,60,168,193,207,212,131,130,146,154,130,50,60,53,243,143,229,163,76,155,100,41,160,229,226,226,118,86,122,170,161,41,39,43,268,120,223,153,55,158,149,48,141,207,212,197,185,155,123,159,137,41,63,50,207 H,958065,8,200,4,16,1015675,21,7,1,1,,3,2,2,,120,3600,300,3,6,,1,,,,,,1,5,2,580,,1,3,,,4,2,8,3,18340,2,725,47,1,1,18340,0,2,2,2,1,4,3,6,0,1,3,,0,0,1,0,0,2,,,1,0,,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,26,6,26,33,18,17,38,24,5,5,5,18,20,22,22,22,48,32,33,7,15,37,20,3,19,20,5,19,31,36,41,22,22,25,20,32,5,5,30,7,25,29,16,6,25,17,5,24,36,38,42,20,22,17,20,19,7,8,7,28,23,5,21,41,18,26,43,22,7,7,5,23,24,20,17,16,40,29,7 H,958165,8,200,4,16,1015675,96,1,1,1,,3,2,2,,120,0,440,3,3,480,1,,,,,3,1,8,,,,1,2,,14,2,60,5,,,,,,1,4,78900,0,4,4,4,1,5,0,,0,0,0,4,0,0,0,1,1,1,286,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,198,106,30,94,106,27,89,156,154,147,109,101,108,90,69,28,29,26,23,92,23,115,175,102,123,152,108,23,25,31,102,110,79,85,97,153,163,152,24,110,29,83,162,97,83,129,115,31,27,33,123,97,102,98,104,160,155,156,164,111,186,84,25,86,95,27,81,176,195,173,93,87,98,79,72,24,32,30,148 H,958549,8,800,4,16,1015675,19,2,1,1,,3,2,2,,80,0,800,3,6,,1,,,,,,1,6,2,400,,1,3,,,2,540,7,5,28700,2,592,25,1,2,28700,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,17,43,39,34,19,7,15,38,17,25,27,20,7,5,5,20,17,23,32,19,19,5,5,5,25,36,17,7,23,17,5,18,24,35,42,20,17,19,7,17,25,41,34,40,17,5,24,27,23,16,36,22,8,5,5,23,20,20,34,16,18,5,5,5,15,38,18,7,24,20,8,21,27,28,30,23,21,22,6 H,958715,8,300,4,16,1015675,56,4,1,,,2,9,,,30,0,2,40,1,,1,,,,,,1,4,2,50,,1,3,,,1,1,3,2,3700,3,120,39,4,1,3700,0,3,3,3,2,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,129,47,35,122,107,15,75,115,9,39,50,23,89,20,71,49,57,79,46,24,73,61,49,97,59,19,80,74,14,54,73,18,58,24,61,53,55,102,42,110,11,39,55,12,56,123,15,30,78,56,84,95,50,120,44,59,47,15,61,83,11,34,48,36,88,95,16,20,118,57,57,95,61,101,55,39,48,19,70,11 H,959018,8,900,4,16,1015675,56,1,1,2,1,2,2,2,,40,0,2,3,3,400,1,,1,400,1,1,1,6,,,,1,1,,8,3,380,9,,,,,,1,4,7200,0,4,4,4,1,3,0,,0,0,0,79,0,0,0,0,0,2,472,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,18,18,17,66,55,49,57,56,66,86,91,68,20,57,88,55,48,94,54,22,16,20,18,69,55,52,56,58,79,71,107,74,17,50,113,60,49,95,55,17,17,19,18,48,43,47,62,58,70,117,80,45,17,59,105,60,66,92,51,14,22,17,20,65,50,59,71,71,98,96,103,58,15,42,100,53,62,85,48,20 H,959231,8,600,4,16,1015675,128,2,1,1,,3,2,2,,40,0,2,30,1,850,1,,1,2800,1,1,1,8,,,1500,1,1,,22,2,900,3,2,242000,4,,,1,1,242000,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,0,0,1,4445,2,0,1,56,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,148,148,118,220,167,137,41,235,30,31,115,117,252,223,33,117,112,127,182,40,140,130,118,241,156,115,40,210,39,37,108,114,195,229,47,137,109,139,37,194,136,137,124,40,147,129,191,45,223,193,113,106,34,44,277,111,165,170,31,219,147,178,109,48,206,110,221,36,157,193,123,117,49,43,185,129,121,116,236 H,959276,8,300,4,16,1015675,90,4,1,2,1,5,2,2,,250,0,2,3,3,600,1,,1,850,1,1,1,9,,,,1,1,,18,3,2,5,2,55900,1,,,1,1,55900,0,1,1,1,1,2,2,4,0,0,2,24,0,0,1,0,0,1,1100,3,0,1,29,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,81,26,62,82,98,65,38,150,109,131,204,27,23,161,83,33,138,109,89,93,71,24,178,99,63,76,36,99,91,148,140,35,32,150,98,35,151,89,76,96,80,137,68,87,72,80,332,92,69,39,18,125,201,32,98,201,23,18,70,75,80,129,78,104,69,64,211,92,92,36,29,118,224,29,109,210,27,37,70 H,959373,8,100,4,16,1015675,29,4,1,2,1,3,2,2,,150,0,2,3,6,400,1,,2,690,2,1,1,5,,,720,1,1,,19,3,600,6,2,39000,2,,,1,1,39000,0,3,3,3,1,3,2,4,0,0,2,53,0,0,1,0,0,1,1718,1,0,1,20,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,31,53,52,8,10,32,22,25,29,44,7,28,27,27,50,10,28,27,10,44,28,51,45,9,9,28,26,26,32,51,8,31,29,27,49,10,30,29,40,11,31,9,8,41,51,31,23,25,29,10,47,24,30,32,7,49,30,33,46,8,27,10,7,51,55,25,30,26,29,8,50,29,26,31,9,45,28,25,7 H,959629,8,100,4,16,1015675,111,2,1,2,1,2,2,2,,170,0,2,70,1,300,1,,1,590,1,1,1,4,,,,1,1,,17,3,230,6,1,43000,4,,,1,1,43000,0,4,4,4,1,5,0,2,0,0,0,24,0,0,0,0,0,1,849,3,0,1,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,162,193,122,195,31,96,122,117,34,120,170,114,35,31,113,124,33,184,129,107,201,206,115,170,34,95,103,112,33,124,170,106,34,36,116,107,34,158,120,116,203,190,103,224,36,123,126,104,31,121,190,99,29,32,117,111,27,181,86,111,186,198,111,178,32,126,137,105,36,111,192,113,30,36,96,104,34,176,100 H,959966,8,600,4,16,1015675,157,1,1,,,1,7,,,30,0,2,3,3,,1,,,,,,1,2,2,410,,1,3,,,2,1,3,,,,440,23,1,4,22760,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,178,144,236,162,169,59,243,48,39,166,150,241,272,47,141,121,164,69,167,52,148,130,51,166,160,276,45,275,267,161,166,54,49,236,171,154,150,251,169,256,168,156,274,145,141,43,229,49,49,161,151,249,264,57,168,174,162,49,159,43,141,168,51,149,164,192,58,301,278,153,130,53,46,279,170,152,195,266,153,264 H,960707,8,400,4,16,1015675,89,2,1,3,1,2,2,2,,60,0,200,3,4,800,1,,,,,3,1,7,,,,1,2,,16,2,2,8,4,61100,4,,,1,1,61100,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,2,2,1,217,,0,0,19,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,169,22,24,136,83,31,178,149,85,106,28,75,70,109,105,29,101,99,85,27,27,145,171,24,77,145,28,32,75,71,145,94,98,85,81,142,82,78,82,32,29,138,147,26,87,133,25,30,92,79,168,98,88,98,89,196,88,67,79,162,144,26,28,161,93,24,149,155,84,80,35,91,90,111,75,21,95,92,92 H,961094,8,700,4,16,1015675,80,2,1,1,,3,2,2,,130,0,2,40,1,650,1,,1,1100,1,1,1,7,,,960,1,1,,20,2,240,2,1,135000,4,,,1,1,135000,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,1,2250,1,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,72,26,84,76,27,83,22,154,136,81,88,87,23,77,129,79,133,132,80,135,82,133,82,80,147,79,141,25,23,82,76,82,132,77,26,77,25,22,76,132,86,135,80,77,124,92,137,24,24,76,86,80,138,83,24,81,23,26,87,24,82,22,82,76,22,80,24,128,132,84,79,73,25,80,123,91,141,130,75 H,961854,8,700,4,16,1015675,123,3,1,,,2,4,,,40,0,2,90,1,,1,,,,,,1,4,2,630,,1,3,,,2,1,3,1,52000,1,760,18,1,1,52000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,128,124,142,211,122,120,35,39,200,195,35,118,231,40,36,127,120,205,126,129,115,122,131,213,133,124,32,39,229,221,38,108,205,39,34,117,106,217,128,139,119,129,130,195,117,121,33,38,227,202,33,121,214,38,33,146,122,195,104,142,131,121,111,225,125,120,36,34,200,181,36,123,201,38,38,128,125,227,114 H,961999,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,962086,8,400,4,16,1015675,67,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,3,18,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,17,117,67,131,86,80,99,65,107,19,22,59,64,72,109,70,22,72,17,73,17,127,68,113,85,67,103,84,124,19,23,67,58,61,95,75,21,63,20,70,98,19,72,25,54,66,23,54,18,95,122,71,59,77,24,65,119,70,106,62,112,19,70,22,78,60,18,73,18,144,154,74,71,63,17,68,117,64,107,55 H,962134,8,300,4,16,1015675,136,2,1,1,,4,2,2,,150,650,2,160,1,440,1,,2,710,2,1,1,8,,,590,1,1,,14,1,2,6,6,45700,4,,,1,2,45700,0,4,4,4,1,7,0,2,0,0,0,46,0,0,0,1,1,1,1747,2,0,1,24,0,12,12,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,35,129,126,137,37,199,34,126,193,237,225,150,42,224,130,127,127,180,47,37,130,40,46,278,154,163,134,171,129,153,132,41,182,153,224,38,218,223,135,162,218,124,145,138,286,43,212,138,42,39,50,134,221,40,166,119,103,144,206,182,129,252,255,36,127,137,135,40,144,124,132,217,127,154,47,227,42,43,143,156 H,962226,8,700,4,16,1015675,204,2,1,1,,4,2,2,,70,0,2,30,1,520,1,,2,1200,1,1,1,8,,,,1,1,,21,2,190,1,1,122000,4,,,1,1,122000,0,4,4,4,1,1,0,2,0,0,0,13,0,0,0,0,0,2,1359,3,0,1,52,2,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,311,183,203,369,220,366,197,219,210,66,197,56,191,211,67,212,315,61,60,368,354,214,196,363,208,317,218,187,225,56,193,58,193,194,58,206,354,64,63,333,366,231,203,323,212,350,201,193,217,59,201,69,198,197,52,193,358,56,73,346,347,197,196,344,205,329,212,217,197,61,219,63,207,203,65,212,332,61,61,420 H,962381,8,100,4,16,1015675,98,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,109,26,91,103,30,99,31,176,187,94,101,103,24,104,176,90,174,168,101,27,95,26,103,97,28,102,30,183,151,122,98,94,33,89,166,97,155,177,85,166,93,191,104,102,159,100,173,28,28,92,101,100,157,103,34,93,32,35,86,196,104,181,94,91,168,85,173,31,27,115,89,99,184,103,25,97,33,31,114 H,962569,8,400,4,16,1015675,30,5,1,1,,4,2,2,,100,0,200,3,6,600,1,,,,,3,1,6,,,,1,2,,14,2,500,5,1,52000,2,,,1,1,52000,0,2,2,2,1,5,3,5,0,0,3,7,0,0,1,0,0,1,317,,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,34,10,32,28,25,60,40,56,29,27,51,29,13,67,51,8,30,29,43,57,29,40,28,26,25,8,37,11,28,29,11,35,55,10,8,54,33,30,8,8,34,10,27,27,33,57,34,39,27,37,54,30,8,50,50,9,28,28,67,47,34,55,31,34,29,8,32,11,36,26,10,33,59,11,12,51,37,33,8 H,962597,8,800,4,16,1015675,34,4,1,1,,3,2,2,,100,0,1400,3,6,880,1,,1,710,1,1,1,5,,,,1,1,,14,2,600,9,1,58000,3,,,1,1,58000,0,3,3,3,1,1,2,4,0,0,2,20,0,0,1,0,0,1,977,3,0,1,12,2,5,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,10,28,32,10,30,75,55,42,35,27,38,33,36,12,9,13,46,62,40,35,8,36,67,10,25,74,70,48,26,26,35,37,47,10,7,9,53,83,10,32,67,39,34,60,43,10,8,8,27,26,41,34,28,52,65,90,37,10,13,25,40,38,51,53,31,12,10,6,24,28,32,37,34,61,75,69,46,14,59 H,962603,8,200,4,16,1015675,46,4,1,2,1,3,2,2,,210,0,1000,3,4,1200,1,,1,570,1,1,1,6,,,,1,1,,18,3,2,3,3,41400,2,,,1,1,41400,1,2,4,2,1,3,0,4,1,0,2,25,0,0,1,2,1,2,863,3,0,1,25,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,49,49,13,13,79,67,14,42,75,13,17,46,54,92,49,52,45,40,42,56,41,56,10,12,78,67,12,44,80,16,18,52,41,71,50,58,39,37,48,91,42,40,14,16,96,64,14,49,70,17,12,45,50,72,45,44,43,42,56,78,53,45,14,15,89,78,14,48,61,11,12,51,41,70,55,44,40,40,49 H,962852,8,100,4,16,1015675,84,4,1,1,,3,2,2,,100,0,4,3,6,200,1,,1,480,1,1,1,6,,,,1,1,,13,2,660,8,1,73000,3,,,1,1,73000,0,3,3,3,1,4,2,4,0,0,2,10,0,0,1,0,0,2,635,3,0,1,13,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,172,114,77,92,77,29,27,27,57,72,83,77,63,108,146,125,87,36,104,155,29,106,76,28,67,128,143,101,69,105,129,47,63,57,39,33,77,131,67,45,207,103,82,95,72,33,25,22,73,78,87,71,90,136,148,162,75,34,111,126,29,74,64,40,90,131,138,110,62,83,95,63,77,41,36,20,84,144,70,35 H,963246,8,100,4,16,1015675,101,2,1,1,,3,2,2,,50,0,110,3,3,350,1,,1,330,1,1,1,5,,,,1,1,,16,3,360,4,8,31240,4,,,1,3,31240,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,1,1,1,419,3,0,1,9,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,27,90,151,110,28,96,100,32,108,185,222,176,124,115,90,98,97,35,31,184,149,94,29,100,200,120,95,176,104,29,31,32,107,104,95,100,100,192,231,27,31,103,198,110,28,91,103,35,104,169,158,173,95,82,103,88,96,30,32,197,188,94,27,107,180,96,101,181,120,28,32,32,103,99,106,90,93,186,165 H,963527,8,800,4,16,1015675,107,1,1,1,,2,2,2,,120,0,2,2,1,,1,,,,,,1,4,2,300,,1,3,,,1,420,9,,,,455,41,1,6,13300,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,102,160,106,106,164,129,100,31,31,212,160,32,73,142,38,40,87,96,177,109,105,133,113,111,28,118,119,176,185,42,32,192,132,27,169,198,92,127,31,86,121,89,89,130,44,108,93,191,150,30,38,141,104,28,158,184,120,113,31,112,105,106,89,153,164,106,141,34,26,190,180,30,129,177,39,45,103,122,157,90 H,963684,8,100,4,16,1015675,130,2,1,1,,4,2,2,,90,0,2,40,3,20,1,,1,700,1,1,1,9,,,,1,1,,19,2,150,3,1,20000,4,,,1,1,20000,0,4,4,4,1,3,0,2,0,0,0,51,0,0,0,0,0,1,843,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,149,123,37,134,38,37,228,211,154,128,119,131,32,242,143,107,123,36,241,191,130,136,36,133,38,35,222,249,127,144,137,124,47,199,127,149,113,40,210,191,123,141,37,145,36,37,217,201,141,114,157,133,35,235,126,140,133,43,205,281,134,135,42,114,37,32,219,240,124,156,121,120,43,239,133,128,153,35,246 H,964020,8,700,4,16,1015675,122,2,1,1,,3,2,2,,90,0,2,20,1,550,1,,,,,3,1,6,,,,1,2,,19,2,720,3,2,65693,4,,,1,1,65693,0,4,4,4,1,4,0,2,0,0,0,8,0,0,0,2,2,1,427,,0,1,37,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,36,112,131,191,32,210,225,124,133,34,35,203,120,124,141,206,120,122,222,128,195,125,122,33,224,38,30,119,128,205,231,39,124,115,106,39,134,129,35,131,41,125,113,208,36,200,202,129,124,36,36,227,121,122,139,212,129,121,202,120,210,124,117,34,185,37,35,113,117,187,218,36,116,124,125,37,141,124,35 H,964291,8,500,4,16,1015675,104,2,1,2,1,3,2,2,,90,0,2,4,1,500,1,,,,,3,1,7,,,,1,2,,20,2,380,9,7,25500,4,,,1,3,25500,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,1,1,1,410,,0,1,41,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,112,98,209,167,173,113,29,100,224,97,115,173,95,35,30,27,117,90,112,31,110,131,186,175,181,105,35,119,170,84,101,160,118,33,26,28,94,109,98,178,125,112,34,29,32,118,190,114,27,86,94,33,111,165,150,148,100,103,108,162,101,91,37,39,29,109,157,122,32,102,105,33,111,174,175,176,99,108,108,34 H,964414,8,600,4,16,1015675,128,7,1,2,1,5,2,2,,80,0,2,60,1,470,1,,1,920,1,1,1,9,,,230,1,1,,20,6,2,5,2,141100,2,,,1,1,141100,0,2,2,2,1,5,2,7,0,0,2,11,0,0,1,0,0,1,1290,2,0,1,33,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,135,225,120,40,144,126,125,41,123,38,207,124,203,137,126,128,258,208,122,129,36,122,234,123,214,220,40,127,38,126,120,36,139,38,223,200,120,128,108,125,40,137,222,131,215,225,36,129,43,128,129,35,121,39,230,213,118,129,38,40,119,240,124,36,125,123,133,37,128,37,197,123,222,132,124,130,236,252,39 H,964731,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,964819,8,800,4,16,1015675,67,2,1,2,1,1,1,2,,90,0,200,180,6,0,1,600,2,300,2,1,1,5,,,,1,1,,8,6,60,5,2,48500,4,,,1,1,48500,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,0,0,1,667,3,0,0,8,2,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,73,68,20,67,119,22,18,107,74,63,112,68,118,77,69,70,16,61,22,18,73,72,116,64,19,124,136,24,67,67,19,55,20,62,82,75,109,82,109,133,66,58,16,60,108,23,23,92,78,70,110,73,118,74,82,64,17,57,21,20,80,64,123,82,20,110,137,22,66,73,20,75,19,71,64,62,109,60,117,119 H,965012,8,600,4,16,1015675,363,1,1,1,,3,2,2,,30,0,2,10,1,,1,,,,,,1,7,2,930,,1,3,,,1,600,2,,,,1020,24,1,4,50000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,582,109,112,392,372,603,365,354,369,381,641,391,359,112,105,609,599,104,363,370,102,593,614,361,366,101,336,341,352,384,110,376,401,664,610,102,109,652,352,347,107,660,679,345,379,111,343,328,355,381,105,354,365,622,606,112,116,613,376,356,687,105,102,350,355,560,355,337,350,349,579,389,396,109,116,595,670,112,370,336 H,965017,8,600,4,16,1015675,122,2,1,1,,3,2,2,,40,0,2,90,1,240,1,,,,,3,1,6,,,,1,2,,13,2,420,6,4,61400,4,,,1,1,61400,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,275,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,40,138,130,113,114,39,118,34,139,36,38,37,33,112,115,35,34,110,204,124,135,209,187,225,249,118,194,137,216,121,124,120,131,201,181,118,126,216,125,199,203,128,128,116,115,222,124,210,133,214,197,190,215,125,112,244,254,124,31,132,103,32,28,42,37,105,33,135,32,104,125,130,130,40,34,128,110,43,110 H,965365,8,900,4,16,1015675,25,3,1,1,,3,1,2,,230,0,2,3,3,80,1,0,,,,3,1,7,,,,1,2,,2,2,640,5,4,30400,4,,,1,1,30400,0,4,4,4,1,7,0,3,0,0,0,12,0,0,0,2,2,2,293,,0,0,2,0,9,9,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,28,30,7,34,10,23,26,25,50,23,45,28,29,43,25,7,43,42,8,6,22,22,8,23,7,30,31,29,49,33,46,18,27,40,24,9,39,47,10,10,19,20,6,24,9,30,23,23,50,25,47,34,28,45,39,8,42,49,6,8,29,28,7,20,7,21,25,27,29,25,50,28,27,39,27,9,46,45,7,9 H,966604,8,100,4,16,1015675,47,4,1,2,1,4,2,2,,80,0,2,140,1,1900,1,,1,810,1,1,1,8,,,,1,1,,18,3,250,7,7,34700,2,,,1,3,34700,0,2,2,2,1,4,2,4,0,0,2,36,0,0,1,0,0,1,1051,3,0,1,26,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,52,44,45,17,16,48,48,67,13,90,15,46,68,85,81,46,16,73,46,15,11,80,68,45,47,13,14,85,43,51,47,77,44,42,55,14,43,45,67,54,49,48,43,81,87,47,45,47,78,13,77,50,13,13,14,49,72,13,48,76,75,13,14,47,49,76,73,15,42,51,49,13,53,52,48,78,50,47,14,51 H,966994,8,200,4,16,1015675,145,5,1,1,,4,2,2,,410,0,2,3,3,380,1,,1,920,1,1,1,8,,,190,1,1,,16,4,350,8,1,64200,2,,,2,1,64200,0,2,2,2,1,2,2,5,0,0,2,29,0,0,1,0,0,1,1549,2,0,1,2,3,5,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,46,126,220,57,46,140,135,254,142,130,167,202,236,133,126,45,35,189,154,41,220,173,43,178,240,123,95,48,154,203,177,140,64,155,138,253,249,44,110,51,263,136,50,319,235,103,160,61,155,173,124,138,52,183,157,217,208,33,154,264,29,134,295,52,55,165,174,188,125,128,100,154,278,109,115,52,56,313,194 H,966998,8,800,4,16,1015675,120,2,1,1,,4,2,2,,40,0,2,180,1,540,1,,,,,3,1,7,,,,1,2,,16,2,690,3,4,49700,4,,,1,1,49700,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,2,2,1,447,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,123,41,41,134,175,35,192,135,112,134,131,108,125,42,190,128,147,224,112,128,192,144,114,203,106,102,116,178,39,36,36,37,162,104,107,42,165,141,252,36,124,247,232,147,38,199,32,107,101,115,123,132,116,193,37,110,135,37,102,113,37,120,95,34,128,106,129,36,205,207,210,236,44,100,127,189,31,124,31 H,967087,8,600,4,16,1015675,112,2,1,1,,3,2,2,,80,0,2,140,1,380,1,,2,800,2,1,1,7,,,,1,1,,18,2,1100,5,2,265000,4,,,1,1,265000,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,1,0,1,1327,3,0,1,34,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,117,113,198,187,112,112,102,184,31,182,105,37,36,33,109,199,34,103,107,117,106,106,197,199,117,112,97,187,34,196,111,33,34,31,105,196,33,116,117,112,111,110,35,31,116,108,112,32,186,31,110,175,200,190,108,38,201,114,100,115,106,109,30,35,119,116,107,34,196,32,113,190,192,202,111,33,172,125,108 H,967410,8,500,4,16,1015675,92,8,1,2,2,3,2,2,,150,0,600,3,6,1200,1,,1,1200,1,1,1,7,,,350,1,1,,19,2,330,5,2,31200,3,,,1,1,31200,0,3,3,3,1,2,6,8,0,0,6,68,0,0,1,0,0,1,1778,2,0,1,32,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,30,100,93,162,26,88,79,26,97,89,26,95,103,83,24,138,138,168,92,181,28,99,105,148,26,103,86,25,93,101,27,113,97,93,29,137,162,165,84,26,149,107,100,25,147,107,86,164,87,91,145,88,96,110,144,24,27,26,111,26,155,88,96,30,153,90,87,158,78,100,170,91,91,87,152,29,34,30,79 H,967649,8,500,4,16,1015675,100,2,1,1,,3,2,2,,50,0,2,20,1,280,1,,1,600,1,1,1,6,,,,1,1,,14,2,200,3,,,,,,1,7,41500,0,4,4,4,1,2,0,,0,1,0,20,3,0,0,0,0,1,687,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,98,97,30,158,28,28,129,100,170,150,28,89,84,114,35,134,106,81,172,177,110,106,29,153,31,31,94,101,165,164,25,115,127,102,34,96,110,112,182,169,90,124,31,157,34,37,128,85,168,185,30,91,122,106,29,97,100,116,179,141,102,94,26,200,34,31,102,90,142,171,27,103,91,99,32,106,100,86,171 H,967927,8,500,4,16,1015675,96,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,138,160,26,197,91,92,27,31,26,90,87,135,23,104,186,86,101,87,77,40,84,139,95,106,182,23,92,85,106,149,24,95,76,183,107,176,176,30,23,78,180,155,25,150,103,104,29,36,35,90,104,172,32,93,164,109,98,118,95,25,90,101,86,84,189,26,107,79,83,164,28,85,113,157,95,176,136,28,29,106 H,968247,8,500,4,16,1015675,19,4,1,1,,3,2,2,,40,0,2,40,1,300,1,,1,1400,1,1,1,5,,,,1,1,,14,0,480,3,1,44400,3,,,1,1,44400,0,1,1,1,1,1,2,4,0,0,2,41,0,0,1,0,0,1,1520,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,21,8,4,42,21,38,21,21,46,24,31,5,6,19,25,28,31,20,5,25,20,6,5,34,21,35,20,15,35,34,42,7,7,23,18,25,41,20,5,15,25,35,35,5,30,9,25,20,5,18,5,27,30,18,25,21,7,20,40,24,22,28,45,6,24,6,20,21,5,17,8,43,37,15,26,22,8,18,34,19 H,968270,8,600,4,16,1015675,79,4,1,1,,3,2,1,,100,0,2,100,1,2400,1,,1,800,1,1,1,6,,,310,1,1,,15,2,200,6,1,80000,2,,,1,1,80000,0,2,2,2,1,5,1,4,0,0,1,20,0,0,1,0,0,1,1327,2,0,0,36,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,130,75,78,82,26,25,79,22,122,24,135,72,130,142,77,78,88,79,79,141,79,22,144,130,66,71,24,79,74,71,70,21,75,77,134,121,23,22,64,130,84,24,125,126,81,76,21,81,80,78,84,22,74,67,128,134,21,25,21,89,124,75,71,67,20,24,84,23,128,22,127,81,146,137,82,78,79,90,28 H,968410,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,968757,8,900,4,16,1015675,56,2,1,1,,2,2,2,,50,0,2,10,1,,1,,,,,,1,6,2,550,,2,3,,,2,1,6,7,18000,2,610,41,1,3,18000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,2,13,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,18,57,67,60,97,54,46,19,89,20,18,58,60,89,96,18,58,119,62,56,16,58,57,54,96,60,61,15,87,15,16,50,58,121,101,16,61,94,54,62,20,58,64,60,92,50,60,15,89,15,15,47,56,109,108,14,59,104,62,53,20,60,60,60,104,59,62,15,111,17,19,57,64,100,95,15,58,102 H,968875,8,100,4,16,1015675,119,2,1,1,,3,2,2,,140,0,2,2,1,380,1,,1,1100,1,1,1,7,,,,1,1,,20,2,140,2,1,80000,4,,,1,1,80000,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,2,2,1,1252,3,0,1,37,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,106,184,170,112,46,221,30,118,108,108,107,108,101,205,36,118,142,28,33,120,44,129,121,35,124,123,119,30,177,227,194,200,35,125,128,179,34,127,123,215,111,205,172,126,41,203,36,122,154,125,130,118,124,199,35,124,116,36,30,128,40,110,102,35,136,128,111,34,165,177,169,158,32,117,117,196,32,122,138,237 H,968893,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,969238,8,100,4,16,1015675,431,1,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,4,2,630,,2,3,,,1,1,5,,,,690,27,2,4,31000,0,4,4,4,2,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,504,145,464,409,184,400,501,262,398,433,425,182,584,595,570,595,154,472,519,391,150,883,595,390,558,318,382,630,480,514,507,566,133,175,182,169,505,459,401,486,131,604,433,440,605,585,347,556,573,382,577,792,130,156,126,176,562,377,528,537,698,172,364,508,192,401,481,132,455,428,422,157,570,536,670,552,163,414,382,363 H,969540,8,600,4,16,1015675,94,2,1,,,2,5,,100,50,0,2,2,3,300,1,,2,520,1,1,1,4,,,,1,1,,12,2,200,4,,,,,,1,7,74000,0,4,4,4,1,3,0,,0,1,0,12,3,0,0,0,0,1,712,3,0,0,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,93,26,102,166,84,156,30,99,154,179,100,97,95,85,92,24,86,157,164,163,97,179,88,29,96,28,164,93,31,26,98,88,84,113,87,148,85,28,160,156,80,167,107,27,90,25,161,90,28,29,83,89,100,100,87,169,100,24,30,25,116,27,94,174,99,175,24,91,157,156,91,95,96,96,86,27,102,148,25 H,970068,8,600,4,16,1015675,99,3,1,1,,4,2,2,,40,0,2,3,3,,1,,,,,,1,8,2,800,,1,3,,,2,1,4,2,100000,1,840,10,4,1,100000,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,97,100,183,107,98,154,174,164,168,97,164,104,170,97,84,103,126,171,35,26,88,110,33,91,105,30,28,30,29,111,28,109,29,95,94,98,96,29,148,184,98,103,147,93,104,135,167,159,193,95,154,96,196,114,114,100,107,172,26,28,100,101,30,110,72,33,29,29,30,85,32,97,30,125,100,130,102,32,159 H,970102,8,900,4,16,1015675,66,4,1,1,,3,2,2,,70,0,2400,3,4,400,1,,2,510,1,2,1,7,,,,1,1,,10,2,490,8,1,53000,3,,,1,1,53000,0,3,3,3,1,3,2,4,0,0,2,19,0,0,1,0,0,2,854,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,67,64,21,97,18,20,61,73,85,114,20,60,62,71,19,57,74,71,106,64,142,23,78,75,67,62,103,129,62,81,75,107,20,123,73,21,19,16,62,22,59,70,114,18,120,121,66,57,19,21,130,73,60,70,121,50,69,86,19,70,25,120,61,76,53,72,20,20,59,68,54,19,121,21,76,103,94,121,63,98 H,970177,8,200,4,16,1015675,58,4,1,2,1,3,1,2,,80,0,250,3,6,,1,,,,,,1,5,2,460,,1,3,,,3,2,3,5,11900,4,561,35,1,2,19100,0,4,4,4,1,4,0,3,0,1,0,,0,0,0,0,0,2,,,1,0,,3,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,83,52,70,56,16,23,62,17,118,18,94,59,67,83,83,53,59,73,62,74,44,12,85,128,48,46,17,47,53,59,68,22,66,59,85,82,22,23,66,19,68,108,14,13,53,49,89,73,54,64,76,80,38,54,21,19,100,89,100,58,22,55,47,62,86,73,53,88,21,97,17,55,15,20,82,56,56,59,17 H,970201,8,500,4,16,1015675,34,1,1,1,,2,1,2,,30,0,350,3,6,0,1,2100,,,,3,1,4,,,,1,2,,1,1,1,4,,,,,,1,6,24000,0,4,4,4,1,3,0,,0,0,0,12,0,0,0,0,0,2,248,,0,0,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,35,31,55,10,29,29,63,40,34,12,34,31,54,9,10,33,10,34,35,32,50,57,33,36,64,8,36,10,10,31,8,62,35,30,34,51,33,10,66,55,33,29,53,9,36,35,48,29,38,9,32,34,54,10,10,34,12,33,32,36,54,53,42,31,45,9,36,10,9,31,10,59,31,26,28,54,35,10,56 H,970500,8,800,4,16,1015675,329,1,1,1,,2,2,2,,30,0,2,170,1,,1,,,,,,1,5,2,450,,1,3,,,2,360,8,,,,680,29,1,6,28000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,370,408,122,413,89,267,89,128,104,110,314,353,96,103,303,100,127,321,278,419,491,534,260,467,423,534,344,268,366,343,670,611,319,367,491,307,312,512,499,310,268,303,518,329,541,301,465,397,521,502,402,347,599,523,297,562,497,397,384,132,121,107,394,104,258,112,316,351,346,297,95,101,310,336,115,318,341,138,103,391 H,970612,8,400,4,16,1015675,50,2,1,2,1,2,2,2,,70,0,2,10,2,600,1,,,,,3,1,3,,,,1,2,,21,2,370,3,4,23500,4,,,1,1,23500,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,2,2,2,328,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,13,13,41,80,57,16,43,62,15,39,80,102,74,40,49,45,45,49,15,17,91,91,50,15,47,81,48,48,71,52,15,18,18,49,51,46,53,50,63,13,76,77,47,14,49,75,48,57,81,48,15,15,15,44,57,54,43,45,82,99,15,13,53,91,50,15,48,51,14,48,88,68,68,55,48,46,64,55,15,68 H,970621,8,200,4,16,1015675,53,1,1,1,,3,2,2,,200,0,2,3,3,200,1,,1,400,1,1,1,7,,,,1,1,,13,1,840,8,,,,,,1,6,45000,0,4,4,4,1,5,0,,0,0,0,18,0,0,0,0,0,2,670,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,48,52,49,19,43,46,122,104,13,17,65,65,21,70,82,47,47,19,47,50,51,43,43,107,57,32,17,19,94,86,15,61,100,21,14,50,47,77,58,45,54,43,51,95,42,50,15,16,85,96,10,47,84,17,18,43,50,70,55,61,50,56,60,22,62,45,98,81,15,16,70,64,16,85,86,60,72,15,59,61 H,970680,8,800,4,16,1015675,241,2,1,,,3,5,,,40,0,2,100,1,130,1,,1,2100,1,1,1,6,,,,1,1,,20,3,70,2,2,39800,4,,,1,1,39800,0,4,4,4,1,1,0,2,0,0,0,68,0,0,0,0,0,1,2246,3,0,0,60,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,265,394,489,57,376,246,240,75,82,98,260,208,410,70,240,428,247,208,89,78,91,238,224,213,303,376,62,248,219,225,465,69,284,221,445,263,372,418,267,273,225,53,70,340,74,235,220,397,417,361,214,313,74,408,270,73,368,255,374,394,457,252,237,230,169,74,490,226,209,310,73,425,195,226,87,231,83,70,296 H,970736,8,900,4,16,1015675,190,4,1,1,,3,2,2,,20,0,2,30,1,,1,,,,,,1,5,2,700,,1,3,,,1,350,9,2,45000,1,779,21,1,1,45000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,49,51,159,75,232,116,248,293,291,267,384,145,254,65,197,198,61,307,333,214,167,156,248,287,76,370,191,237,198,43,168,89,296,198,63,67,228,236,142,82,425,418,165,250,191,175,66,326,62,192,80,131,179,341,171,201,300,70,68,236,182,195,50,194,345,88,136,59,230,255,164,319,64,164,255,261,187,232,214 H,970896,8,600,4,16,1015675,100,3,1,1,,3,2,2,,90,0,2,110,1,240,1,,1,650,1,1,1,7,,,,1,1,,16,3,360,6,1,84000,4,,,1,1,84000,0,4,4,4,1,6,0,3,0,0,0,13,0,0,0,0,0,1,880,3,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,183,179,102,172,28,98,97,94,29,102,172,110,34,28,96,107,28,173,111,95,165,172,100,160,31,96,95,89,30,106,178,107,30,31,112,97,28,172,106,98,30,31,104,29,179,112,102,99,178,96,32,94,163,178,94,100,165,27,99,95,31,27,103,30,167,104,100,104,190,103,29,102,181,178,105,97,174,29,105 H,971400,8,100,4,16,1015675,52,4,1,1,,3,1,2,,100,0,2,3,3,0,1,0,,,,3,1,5,,,,1,2,,16,2,480,3,8,22000,2,,,1,3,22000,1,2,4,2,1,5,0,4,0,0,2,13,0,1,1,1,1,2,240,,0,0,24,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,90,17,15,48,58,94,51,53,58,55,82,50,58,13,15,92,82,16,53,50,79,16,17,55,50,94,52,52,54,47,100,58,49,18,14,93,95,16,62,46,17,78,91,55,53,14,48,52,44,55,16,61,56,90,98,17,13,86,60,49,19,101,92,47,43,15,46,58,66,53,21,50,49,92,103,15,15,95,48,66 H,971528,8,500,4,16,1015675,91,2,1,,,1,6,,,1,350,1,1,2,,1,,,,,,1,2,2,360,,1,3,,,0,1,9,,,,360,18,3,5,23500,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,145,137,28,23,91,28,80,87,171,94,154,97,166,96,115,24,90,101,27,103,87,92,87,87,27,98,167,28,92,26,89,143,86,142,27,90,142,158,89,141,27,26,148,162,103,140,98,103,29,82,27,83,24,89,104,160,107,94,151,91,100,100,91,78,132,97,23,179,84,135,83,30,89,28,153,82,25,25,87 H,971565,8,200,4,16,1015675,16,2,1,1,,3,2,2,,60,0,2,30,1,700,1,,,,,3,1,7,,,,1,2,,18,2,140,6,4,35400,4,,,1,1,35400,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,2,277,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,6,18,25,19,17,18,24,17,5,20,10,25,17,5,18,4,31,20,5,17,32,19,18,16,17,15,4,15,36,5,14,5,17,38,21,24,7,20,42,3,4,20,15,29,19,15,33,15,5,19,14,28,15,9,13,4,25,14,7,20,25,19,16,22,21,22,5,17,29,5,12,3,15,35,14,22,5,10,33 H,971575,8,200,4,16,1015675,92,1,1,1,,4,2,2,,50,0,2,2,1,640,1,,1,1000,1,1,1,8,,,,2,1,,15,1,260,2,,,,,,1,6,21000,0,4,4,4,1,1,0,,0,0,0,61,0,0,0,0,0,1,1072,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,37,29,100,95,100,98,121,136,94,36,201,87,158,91,29,72,33,135,81,130,24,22,73,82,85,91,97,147,104,29,163,94,123,107,28,99,23,194,139,33,187,172,82,92,112,99,93,24,107,129,28,97,22,72,156,80,192,21,76,22,153,193,62,109,92,92,116,23,108,191,29,97,26,99,143,146,140,32,107,172 H,971717,8,200,4,16,1015675,32,5,1,1,,4,2,2,,200,0,2,3,3,0,1,,,,,3,1,5,,,,1,2,,14,2,380,4,7,73000,3,,,1,3,73000,1,3,4,3,1,6,0,5,0,0,2,4,0,1,1,0,0,2,232,,0,1,1,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,8,40,26,51,32,29,39,27,43,45,45,11,12,52,62,14,35,32,9,44,75,45,29,10,25,26,34,39,14,32,38,67,54,12,11,52,37,36,46,11,10,32,42,59,32,55,31,44,38,34,26,7,10,48,60,13,29,26,10,70,55,28,32,10,31,27,38,54,13,29,31,48,53,9,10,57,30,23 H,972278,8,100,4,16,1015675,110,2,1,1,,3,2,2,,100,0,200,100,2,990,1,,,,,3,1,7,,,,1,2,,20,2,600,3,4,23400,4,,,3,1,23400,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,1,1,1,490,,0,1,28,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,197,106,101,140,41,109,32,127,108,31,96,162,32,29,170,114,105,191,37,113,40,105,121,104,180,118,168,114,99,162,107,30,194,216,34,97,117,32,32,106,37,111,105,118,184,113,194,139,94,235,121,31,202,206,35,105,112,32,186,100,173,103,100,102,35,133,32,104,109,28,104,196,30,35,208,85,97,198,202 H,972836,8,600,4,16,1015675,111,3,1,1,,3,2,2,,70,0,2,20,1,,1,,,,,,1,6,2,550,,1,3,,,3,10,4,7,120000,1,641,6,1,3,120000,1,1,4,1,1,6,0,3,0,0,1,,0,1,1,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,188,33,113,27,119,109,30,114,32,185,170,107,99,118,33,106,192,95,106,180,177,34,111,34,114,113,33,109,32,171,203,110,109,118,32,108,173,124,117,177,185,34,106,33,107,99,32,107,32,176,198,105,99,109,31,104,195,120,103,180,184,32,107,32,116,116,30,122,35,176,180,115,120,111,33,105,189,107,116 H,972918,8,900,4,16,1015675,78,1,1,1,,2,2,2,,80,0,500,20,2,400,1,,1,570,1,1,1,5,,,,1,1,,11,1,500,7,,,,,,4,4,40100,0,4,4,4,1,2,0,,0,0,0,23,0,0,0,0,0,1,754,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,77,23,25,103,109,23,135,66,64,75,79,86,63,22,149,79,73,136,101,83,113,63,96,137,83,74,70,136,25,27,23,27,147,68,71,22,128,83,127,24,74,141,146,101,24,137,25,73,77,91,63,83,73,134,23,69,90,21,82,82,25,58,81,24,80,84,79,23,119,126,136,132,32,64,73,143,24,73,28 H,973102,8,700,4,16,1015675,74,1,1,1,,3,1,2,,30,0,2,90,1,0,1,140,,,,3,1,6,,,,1,2,,11,2,550,5,,,,,,1,6,39400,0,4,4,4,1,7,0,,0,0,0,6,0,0,0,1,1,1,212,,0,0,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,22,70,22,113,77,76,79,139,77,18,75,126,110,83,74,106,22,69,71,22,22,78,22,126,70,77,78,125,75,22,70,115,117,73,73,122,19,88,75,131,127,76,122,22,69,70,72,24,72,120,74,22,20,66,68,24,123,80,73,119,126,64,117,22,78,78,71,25,78,120,76,23,23,73,77,18,125,75,69 H,973161,8,300,4,16,1015675,43,4,1,,,3,5,,,80,5400,2,3,3,,1,,,,,,1,5,2,480,,1,3,,,2,1,5,2,11000,1,560,61,1,1,11000,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,10,11,38,41,74,44,54,41,45,85,48,43,16,13,71,87,10,43,45,90,15,11,45,37,76,36,37,44,35,62,55,44,12,14,77,82,11,32,46,54,17,13,36,55,89,44,43,39,45,67,46,44,10,13,87,68,11,43,57,64,14,13,42,40,61,42,41,51,41,59,43,41,13,11,76,79,14,42,31 H,973381,8,700,4,16,1015675,79,9,1,2,1,5,2,2,,120,0,2,440,1,50,1,,2,1200,1,1,1,6,,,1200,1,1,,24,2,60,2,2,49000,3,,,1,1,49000,0,3,3,3,1,3,7,9,0,0,7,73,0,0,1,0,0,1,2969,1,0,1,68,1,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,76,127,72,83,23,21,129,153,23,82,130,23,22,88,78,133,85,79,76,79,75,139,82,76,23,26,154,143,25,82,130,25,27,74,79,120,73,90,74,83,85,126,77,84,22,23,127,128,24,82,142,25,23,86,92,133,77,85,79,77,81,151,82,84,24,22,132,114,25,84,129,22,21,78,78,143,88,81,77 H,973416,8,900,4,16,1015675,62,5,1,2,1,3,2,2,,60,0,2,300,2,500,1,,2,910,2,1,1,5,,,,1,1,,14,2,2,5,2,35000,3,,,1,1,35000,0,3,3,3,1,4,3,5,0,0,3,45,0,0,1,0,0,1,1312,3,0,1,1,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,40,17,66,62,148,141,13,18,117,56,29,181,111,87,52,15,51,47,57,93,57,14,44,67,131,100,19,20,72,48,17,95,160,65,75,19,59,82,63,50,82,175,92,57,14,15,112,111,20,97,97,19,17,47,52,100,67,56,64,55,89,100,83,68,16,21,143,103,19,95,107,14,18,55,62,92,67,62,58,101 H,973737,8,400,4,16,1015675,62,5,1,3,1,3,2,2,,150,0,200,3,3,,1,,,,,,1,5,2,500,,1,3,,,2,1,5,2,34000,3,667,24,1,1,34000,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,0,0,,1,3,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,62,66,68,108,51,67,27,17,74,145,21,55,85,17,24,67,62,110,51,72,59,65,79,123,63,48,20,23,114,96,14,61,100,21,17,58,63,105,50,65,83,69,52,100,59,64,29,16,87,124,21,65,79,16,25,69,60,105,59,79,60,57,69,92,71,67,17,25,116,100,18,57,97,20,17,67,58,94,63 H,973841,8,800,4,16,1015675,55,2,1,1,,4,2,2,,40,0,2,60,1,340,1,,,,,3,1,7,,,,1,2,,12,3,490,6,4,41500,4,,,1,1,41500,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,2,1,219,,0,1,13,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,19,61,50,87,78,15,15,99,54,17,66,82,52,53,18,45,59,59,67,47,12,71,61,81,84,14,15,98,62,14,92,88,51,60,13,50,54,55,45,53,95,57,47,12,14,96,95,19,53,90,14,17,58,52,110,49,41,50,58,47,72,68,63,15,15,78,100,15,79,97,17,14,65,64,88,58,46,56,55 H,973949,8,600,4,16,1015675,119,2,1,,,1,5,,,20,0,1,1,1,,1,,,,,,1,3,2,480,,1,3,,,1,1,6,2,38400,4,500,16,1,1,38400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,119,30,37,33,34,126,129,41,34,118,39,33,127,121,116,111,32,121,187,115,188,117,123,113,124,206,216,124,128,217,135,124,198,227,184,173,104,202,118,212,111,190,219,189,204,130,101,188,204,111,212,218,121,132,128,126,203,120,30,122,42,114,120,124,119,35,33,108,111,34,113,122,29,36,41,35,130,34,123 H,974223,8,900,4,16,1015675,29,3,1,1,,3,2,2,,70,0,1800,100,4,480,1,,2,600,2,1,1,6,,,,1,1,,9,4,460,8,2,6700,2,,,1,1,6700,0,2,2,2,1,4,1,3,0,0,1,101,0,0,1,0,0,1,1056,3,0,1,15,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,34,35,27,45,57,42,26,6,32,65,27,27,73,26,8,10,8,25,52,27,18,30,31,14,8,7,33,57,31,8,40,33,10,25,42,59,48,33,58,32,36,35,29,6,9,8,23,50,37,10,34,32,11,29,40,54,47,25,12,35,26,31,32,36,35,58,38,6,25,71,28,25,44,24,10,10,10,40,8 H,974333,8,900,4,16,1015675,100,4,1,1,,3,2,2,,100,0,2,90,1,500,1,,1,650,1,1,1,5,,,310,1,1,,13,4,120,6,1,72300,2,,,1,1,72300,0,2,2,2,1,4,2,4,0,0,2,19,0,0,1,0,0,1,1160,2,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,85,84,23,36,29,84,177,88,44,111,107,30,100,165,187,165,97,126,166,124,99,85,24,24,28,106,153,84,37,130,120,35,106,175,179,164,98,109,162,97,77,80,28,34,27,99,164,86,50,144,139,30,73,169,170,140,119,137,178,128,87,76,27,30,29,98,154,90,28,111,129,33,88,166,154,144,104,120,157 H,974690,8,100,4,16,1015675,90,1,1,1,,3,2,2,,180,400,2,3,3,,1,,,,,,1,5,2,780,,2,3,,,2,980,5,,,,1042,37,1,4,34000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,165,98,90,188,87,104,176,127,140,166,82,143,106,132,82,77,79,94,135,31,27,103,97,28,91,91,29,25,23,25,107,33,80,26,93,75,93,92,25,193,170,93,96,119,84,73,165,168,146,155,104,108,85,169,99,93,91,111,176,21,24,109,89,25,121,96,32,29,27,29,85,27,91,25,79,80,88,89,25,146 H,974978,8,800,4,16,1015675,15,1,1,1,,3,2,2,,40,0,2,3,3,380,1,,,,,3,1,6,,,,1,2,,12,1,450,8,,,,,,1,6,14200,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,1,1,183,,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,13,24,5,23,29,18,14,4,4,27,15,15,15,29,19,15,10,5,5,15,16,26,5,25,25,15,14,5,3,26,18,19,14,28,15,18,15,5,27,13,15,5,21,3,5,15,15,28,29,3,17,15,16,5,15,17,17,20,27,12,17,5,25,6,5,15,19,31,31,6,17,12,15,5,14,14,17,24,5 H,975305,8,200,4,16,1015675,100,2,1,1,,4,2,2,,50,0,2,10,1,340,1,,,,,3,1,7,,,,1,2,,16,4,580,6,2,35000,4,,,1,1,35000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,1,0,1,256,,0,1,26,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,81,90,119,93,30,129,108,153,187,22,24,195,90,36,162,172,98,86,103,32,111,127,101,128,39,113,129,170,125,25,39,177,98,26,168,150,103,119,122,32,98,103,103,77,23,95,101,196,135,33,27,140,91,30,139,172,98,96,106,28,113,73,114,122,27,114,110,154,172,32,27,148,118,37,171,204,134,101,73 H,975519,8,900,4,16,1015675,144,1,1,,,2,9,,,40,0,2,3,3,,1,,,,,,1,5,2,1100,,1,3,,,0,1,1,,,,1140,101,1,6,10600,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,138,144,137,48,134,125,253,235,42,37,244,151,50,211,212,175,154,43,140,151,152,129,116,290,215,166,45,57,228,184,48,134,214,38,43,154,150,278,123,164,153,270,160,199,102,163,45,33,220,296,42,143,197,51,41,151,147,221,165,129,135,150,151,42,147,110,212,230,61,42,208,146,45,268,258,125,128,35,192,128 H,975849,8,300,4,16,1015675,127,2,1,1,,3,2,2,,80,0,2,60,2,440,1,,1,710,1,1,1,5,,,,1,1,,14,2,350,3,2,63000,4,,,1,1,63000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,1,0,2,879,3,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,37,113,206,251,162,119,132,119,169,148,41,34,38,115,195,138,36,160,43,116,220,135,44,41,34,116,127,115,117,105,199,205,225,119,41,152,192,122,231,146,39,118,240,213,238,151,116,124,133,136,36,36,38,123,214,119,31,114,39,121,203,126,35,42,36,111,133,138,184,125,208,202,213,132,32,123,185,114,207 H,975975,8,100,4,16,1015675,72,2,1,2,1,2,2,2,,190,0,600,3,3,800,1,,,,,3,1,7,,,,1,2,,21,2,2,5,4,30000,4,,,1,1,30000,0,4,4,4,1,4,0,2,0,0,0,24,0,0,0,2,0,2,599,,0,1,47,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,137,99,68,75,61,71,78,21,65,137,22,78,22,63,137,72,106,22,155,83,21,18,72,67,84,56,62,118,77,23,130,77,111,88,18,61,20,116,22,62,106,146,58,89,76,88,72,20,77,138,24,83,17,76,103,71,119,21,120,75,25,21,79,75,59,76,74,116,75,23,105,63,121,77,23,80,22,111,29 H,976275,8,800,4,16,1015675,178,3,1,1,,3,2,2,,110,0,2,3,3,340,1,,1,470,1,1,1,5,,,,1,1,,11,2,2,5,2,22000,1,,,1,1,22000,0,1,1,1,1,1,1,3,0,0,1,32,0,0,1,0,0,2,580,3,0,1,16,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,307,210,214,398,191,169,153,160,205,63,52,51,185,244,164,46,181,157,65,67,165,69,80,54,162,185,200,191,166,224,267,267,174,80,172,283,230,156,246,67,213,64,53,59,209,212,172,201,321,396,271,298,148,52,227,281,111,121,251,213,174,294,255,315,168,125,210,161,115,52,52,57,161,256,174,80,339,287,95,329 H,976503,8,500,4,16,1015675,71,2,1,2,1,3,2,2,,70,0,2,250,1,800,1,,1,2500,2,1,1,5,,,,1,1,,21,2,430,2,4,12000,4,,,1,1,12000,0,4,4,4,1,1,0,2,0,0,0,101,0,0,0,0,0,1,3156,3,0,1,48,0,9,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,68,22,85,20,73,66,18,66,133,23,23,107,66,73,114,74,135,73,71,21,72,123,77,120,75,72,123,67,19,105,123,19,69,80,19,62,22,73,73,129,78,21,71,20,80,77,22,85,98,19,19,114,84,70,103,58,102,73,72,18,75,108,80,120,66,70,105,88,21,127,116,20,70,66,22,77,20,78,73,126 H,976673,8,200,4,16,1015675,116,1,1,1,,3,1,2,,120,0,2,3,3,450,1,3900,2,430,2,1,1,8,,,,1,1,,10,0,1,2,,,,,,1,6,46840,0,4,4,4,1,3,0,,0,0,0,24,0,0,0,1,0,1,930,3,0,0,6,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,187,128,40,31,26,128,129,113,109,130,186,216,165,115,44,149,194,106,124,168,29,111,242,170,188,119,124,130,124,123,32,33,36,105,185,114,29,106,113,39,206,132,34,43,35,116,125,114,123,136,205,197,230,122,28,105,209,87,88,240,35,143,209,184,148,106,122,99,103,105,42,33,29,101,176,151,36,120,110,35 H,976678,8,400,4,16,1015675,170,4,1,1,,3,2,2,,100,0,100,3,6,200,1,,1,1300,1,1,1,6,,,,1,1,,17,2,60,4,5,41300,2,,,1,2,67300,0,2,4,2,1,1,0,3,0,1,2,25,2,0,1,0,0,1,1413,3,0,1,27,1,11,10,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,43,51,56,49,185,48,163,56,123,175,234,169,44,53,233,177,51,226,191,287,208,168,186,132,242,177,310,211,309,328,214,333,182,169,269,201,159,188,60,169,64,44,41,67,220,65,259,51,145,151,114,172,39,35,161,201,59,158,186,207,168,120,156,194,412,196,264,192,298,279,373,311,144,143,237,331,244,222,54 H,976983,8,200,4,16,1015675,252,6,1,,,3,4,,,80,6000,2,3,3,,1,,,,,,1,5,2,850,,1,3,,,2,1,5,2,20000,3,930,56,1,1,20000,0,3,3,3,1,1,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,63,391,323,81,363,403,166,213,101,344,195,246,267,77,226,223,352,460,211,510,274,75,363,330,78,111,283,205,473,363,243,213,232,423,252,259,92,104,203,97,54,351,274,95,378,346,242,225,85,372,203,201,217,86,257,311,502,439,283,527,345,69,288,432,97,65,261,246,301,266,246,243,313,392,263,250,83,94,263 H,977025,8,800,4,16,1015675,26,2,1,1,,3,2,2,,70,0,2,3,3,360,1,,,,,3,1,7,,,,1,2,,12,3,450,5,1,60900,4,,,1,1,60900,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,0,0,1,199,,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,10,28,30,47,7,36,40,25,27,8,8,42,23,23,24,43,22,23,5,22,9,26,26,46,8,51,43,24,29,8,9,37,25,23,26,45,27,23,43,26,46,24,28,7,42,7,6,25,26,43,42,9,27,19,27,7,25,27,54,25,40,26,26,6,49,7,6,25,21,36,47,7,28,30,23,7,29,28,9 H,977162,8,800,4,16,1015675,68,2,1,3,4,3,2,2,,410,0,2,3,3,500,1,,1,810,1,1,1,6,,,,1,1,,18,2,2,3,3,17000,4,,,1,1,17000,0,4,4,4,1,5,0,2,0,0,0,86,0,0,0,0,0,2,1220,3,0,0,12,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,120,66,69,104,110,106,83,51,114,53,95,76,72,70,70,93,92,74,30,55,19,75,52,17,18,20,19,72,25,60,17,79,95,75,62,25,26,67,125,80,101,54,55,119,106,117,113,54,98,46,108,83,69,68,71,124,128,95,13,61,25,82,65,21,20,19,22,81,22,72,21,61,68,60,55,17,19,65,121 H,977266,8,800,4,16,1015675,133,1,1,1,,2,1,2,,120,0,2,3,3,,1,,,,,,1,4,2,600,,1,3,,,1,1,5,,,,720,14,1,4,60000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,55,145,181,141,40,134,101,145,44,127,44,236,128,224,123,113,128,231,210,146,140,35,140,208,129,281,257,36,125,43,130,118,36,134,40,218,210,141,133,121,167,240,114,44,139,45,40,227,154,228,131,128,196,113,223,39,48,130,122,237,250,122,36,167,203,131,138,113,216,137,212,35,127,45,122,138,154,43,39,45 H,977827,8,300,4,16,1015675,24,1,1,1,,2,2,2,,60,0,500,3,6,0,1,,,,,3,1,5,,,,1,2,,6,2,2,9,,,,,,1,4,7200,0,4,4,4,1,6,0,,0,0,0,18,0,0,0,0,0,1,110,,0,1,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,49,23,33,30,6,23,8,26,25,8,26,39,8,6,41,33,25,45,10,29,6,26,23,26,43,26,42,25,30,39,24,10,48,45,5,21,29,10,38,29,51,28,30,27,8,23,8,25,23,8,26,39,7,6,52,29,21,41,10,26,7,27,17,30,56,31,43,23,22,44,21,10,37,43,9,23,27,8,44 H,978677,8,700,4,16,1015675,82,2,1,2,4,3,2,2,,90,0,2,230,1,930,1,,,,,3,1,8,,,,1,2,,22,2,2,3,4,96700,4,,,1,1,96700,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,2,2,1,831,,0,1,62,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,77,76,22,20,20,86,142,81,26,86,77,24,77,146,151,144,83,79,139,90,77,81,24,24,26,87,135,87,24,76,89,24,87,137,119,141,88,91,23,89,94,77,130,140,128,84,22,87,136,84,84,161,83,23,28,25,93,87,22,75,81,86,132,135,118,80,25,72,139,78,84,133,72,21,25,25,94,78,143 H,978684,8,400,4,16,1015675,27,2,1,2,1,3,2,2,,60,0,2,3,6,550,1,,2,350,2,1,1,5,,,,1,1,,16,2,200,5,3,33600,4,,,1,1,33600,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,2,2,2,556,3,0,1,22,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,23,25,8,35,33,38,46,7,6,42,27,7,50,49,26,27,9,24,31,21,27,28,48,31,25,6,8,42,38,9,29,39,6,5,25,26,46,23,26,22,22,22,56,25,24,8,8,38,39,8,29,41,8,9,27,26,44,23,24,24,28,25,8,32,26,33,41,5,8,54,28,9,38,32,26,29,8,22,20 H,978705,8,800,4,16,1015675,208,2,1,1,,3,2,2,,70,0,2,350,1,600,1,,2,1500,1,1,1,9,,,,1,1,,23,2,720,4,1,118200,4,,,1,1,118200,0,4,4,4,1,6,0,2,0,0,0,21,0,0,0,0,0,2,2030,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,344,180,224,183,200,322,213,188,68,61,318,311,62,205,306,60,52,180,249,221,84,224,223,230,220,73,205,218,319,316,60,58,357,164,77,336,393,284,214,213,315,201,213,157,216,345,214,191,67,60,330,378,65,175,368,66,65,204,214,205,58,212,201,196,219,70,230,200,365,376,60,61,321,216,64,416,372,206,227 H,978960,8,300,4,16,1015675,39,2,1,1,,3,2,2,,80,0,2,170,2,500,1,,,,,3,1,5,,,,1,2,,16,1,550,3,4,22400,4,,,1,1,22400,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,2,2,2,438,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,37,61,61,12,17,65,36,14,61,42,38,50,11,40,46,58,49,10,53,37,42,71,64,11,13,63,30,15,76,69,37,40,8,30,36,31,39,15,49,33,30,11,12,52,84,14,45,80,11,12,39,36,84,37,32,36,42,72,44,52,52,11,13,84,59,13,32,47,14,10,36,50,58,38,51,41,27,62,40 H,979087,8,600,4,16,1015675,117,4,1,1,,4,2,2,,60,0,2,160,1,350,1,,1,770,1,1,1,7,,,,1,1,,19,3,600,3,3,27900,2,,,1,1,27900,0,2,2,2,1,3,2,4,0,0,2,45,0,0,1,0,0,1,1040,3,0,1,34,2,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,200,129,212,203,111,204,34,109,113,123,35,121,224,120,36,34,115,120,122,195,31,120,33,35,112,32,194,113,126,111,183,123,35,142,209,188,114,120,116,189,33,124,38,35,129,37,211,103,116,105,199,113,34,118,197,210,120,119,128,33,216,114,210,215,124,213,34,117,129,119,32,119,201,125,35,33,115,119,122 H,979337,8,300,4,16,1015675,50,1,1,1,,3,2,2,,90,0,2,50,1,340,1,,2,390,2,1,1,8,,,480,1,1,,13,2,350,6,,,,,,1,6,70000,0,4,4,4,1,5,0,,0,0,0,20,0,0,0,0,0,1,1160,2,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,45,49,59,56,18,13,95,15,51,45,91,82,82,43,44,16,78,48,17,52,75,94,13,16,50,46,51,53,99,15,49,63,49,81,14,45,59,87,45,13,52,52,48,51,15,16,93,13,47,51,85,85,79,51,59,15,90,61,16,48,79,85,13,18,57,59,48,48,71,15,44,57,49,79,15,52,54,98,56 H,979398,8,100,4,16,1015675,108,2,1,2,1,3,1,2,,80,0,1000,3,6,370,1,500,1,580,1,1,1,7,,,,1,1,,19,2,600,5,2,61800,4,,,1,1,61800,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,0,0,1,835,3,0,0,9,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,177,34,111,195,29,33,111,119,151,130,110,108,101,202,121,90,32,31,141,113,27,155,113,30,212,171,121,93,23,125,129,137,93,29,139,105,187,149,33,86,35,181,84,36,143,171,118,159,31,105,129,84,87,42,105,113,150,167,32,115,189,32,116,157,32,35,94,99,244,111,98,91,118,200,103,139,33,26,218,130 H,979931,8,600,4,16,1015675,112,1,1,1,,4,2,2,,80,0,2,3,6,360,1,,2,840,2,1,1,7,,,,1,1,,16,0,240,9,,,,,,1,4,0,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,1095,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,119,192,34,187,184,111,113,32,31,203,112,115,119,172,115,117,116,33,224,108,114,34,184,30,31,108,112,170,187,36,119,111,108,34,121,111,109,178,34,107,103,196,34,208,193,111,118,32,33,185,122,115,115,197,104,108,102,32,189,115,107,33,205,34,33,98,110,198,209,32,110,115,119,34,109,108,108,196,30 H,980000,8,900,4,16,1015675,72,5,1,2,1,4,2,2,,130,0,400,3,3,400,1,,1,830,1,1,1,8,,,,1,1,,16,2,2,3,1,108000,3,,,1,1,108000,0,3,3,3,1,4,3,5,0,0,3,11,0,0,1,0,0,2,993,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,81,77,159,57,39,62,93,117,56,107,23,27,110,88,23,60,135,15,53,194,93,82,23,74,79,126,97,17,67,68,105,112,26,45,95,58,19,101,129,17,71,63,153,103,83,61,67,118,80,61,17,22,145,114,32,75,136,21,65,139,93,77,19,61,83,76,58,18,53,84,102,98,25,23,105,83,24,111,74 H,980048,8,300,4,16,1015675,90,0,1,,,1,6,,,,,,,,,1,,,,,,1,3,2,460,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,111,111,88,30,29,27,82,143,133,36,75,98,22,79,149,133,141,87,109,26,88,81,82,152,130,167,90,24,137,195,76,79,156,84,23,25,21,95,120,32,129,103,72,123,125,132,97,36,123,140,101,100,116,89,34,23,26,97,104,170,123,100,65,21,27,29,94,134,93,30,104,88,22,88,160,121,111,84,102,181 H,980289,8,500,4,16,1015675,85,5,1,1,,2,2,2,,90,1000,2,90,1,600,1,,1,430,1,1,1,5,,,,1,1,,9,1,600,8,5,20600,2,,,1,2,20600,0,2,4,2,1,4,0,5,0,0,1,38,0,0,1,0,0,1,660,3,0,1,20,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,25,23,86,76,157,89,82,90,75,144,80,90,25,29,186,135,21,73,104,152,26,24,89,85,137,86,83,88,86,140,84,75,23,23,185,146,23,81,76,141,27,23,90,96,143,87,87,80,94,130,90,88,22,23,139,154,29,90,80,150,26,24,88,89,131,97,73,77,88,141,83,100,27,27,128,140,27,79,94 H,980320,8,800,4,16,1015675,27,4,1,1,,4,2,2,,80,0,600,3,6,400,1,,2,600,2,1,1,6,,,,1,1,,12,5,600,9,1,93200,2,,,1,1,93200,0,2,2,2,1,5,2,4,0,0,2,11,0,0,1,0,0,2,838,3,0,1,8,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,10,26,33,5,23,46,43,42,26,27,32,20,16,9,8,5,21,51,9,27,51,22,29,47,27,9,8,6,45,29,25,25,22,37,50,47,27,9,29,27,7,22,35,8,21,53,51,29,31,36,24,25,30,9,6,5,27,48,8,23,35,24,40,44,20,12,8,6,33,30,24,28,28,50,56,36,24,8,38 H,980772,8,700,4,16,1015675,79,3,1,1,,3,2,2,,110,0,2,4,3,480,1,,1,640,1,1,1,8,,,,1,1,,18,4,160,4,7,77000,4,,,1,3,77000,0,4,4,4,1,5,0,3,0,0,0,12,0,0,0,0,0,1,767,3,0,1,25,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,83,20,21,82,75,77,24,138,24,76,143,136,136,87,23,131,70,73,90,76,82,137,141,77,76,79,120,22,144,84,22,23,22,76,129,24,76,78,76,76,80,23,23,84,71,75,22,125,24,72,133,144,136,90,23,138,79,75,75,81,81,138,136,80,78,78,134,20,122,76,24,25,23,77,129,22,84,77,77 H,981101,8,600,4,16,1015675,99,2,1,,,1,9,,,80,0,2,3,3,,1,,,,,,1,2,2,620,,1,3,,,2,1,2,,,,700,29,1,7,29330,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,28,29,102,100,88,166,105,31,101,33,32,167,95,156,93,91,157,98,96,30,170,188,93,98,93,31,101,169,109,151,168,28,91,35,93,88,26,97,99,171,25,29,109,100,99,163,93,27,101,31,24,155,104,180,89,106,174,86,108,27,200,160,102,104,105,30,86,167,89,172,161,30,101,27,94,93,32,90,93 H,981184,8,100,4,16,1015675,69,2,1,1,,2,2,2,,100,0,2,100,2,200,1,,,,,3,1,4,,,,1,2,,18,1,2,6,4,50400,4,,,1,1,50400,0,4,4,4,1,7,0,2,0,0,0,7,0,0,0,2,2,2,292,,0,1,20,0,9,9,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,64,80,76,22,71,20,69,59,20,61,105,18,22,124,63,67,127,78,112,116,61,75,77,21,53,23,75,61,18,64,108,22,23,109,70,66,118,83,121,20,94,73,65,118,70,110,57,64,98,75,25,110,101,21,79,59,19,67,21,19,75,75,71,104,70,148,74,73,133,76,23,119,113,17,81,68,15,64,17,114 H,981438,8,600,4,16,1015675,375,2,1,1,,3,2,2,,60,0,2,3,3,,1,,,,,,1,5,2,800,,1,3,,,3,90,4,,,,868,18,1,7,57500,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,370,422,391,658,637,381,640,105,572,122,382,109,105,336,394,365,381,411,378,364,624,105,106,391,370,591,378,407,413,363,592,380,372,135,115,602,647,105,108,632,333,379,385,112,118,377,108,578,117,574,359,651,597,355,383,376,366,405,401,370,107,656,678,405,396,111,383,390,412,382,104,365,366,688,610,115,105,611,612 H,981549,8,400,4,16,1015675,91,5,1,2,1,4,2,2,,200,0,400,3,6,600,1,,2,570,2,1,1,7,,,300,1,1,,14,3,2,8,3,33200,3,,,3,1,33200,0,3,1,3,1,4,2,5,0,0,3,44,0,0,1,0,0,1,1228,2,0,1,20,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,23,94,85,122,127,33,33,147,81,28,143,164,85,71,29,97,76,116,114,102,27,83,87,152,143,30,26,130,91,32,231,126,88,113,32,89,85,115,86,111,24,87,94,154,130,33,36,151,97,28,143,162,89,75,35,136,77,94,95,94,22,74,74,136,160,28,27,185,93,29,200,126,62,87,31,79,110,141,86 H,981560,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,981590,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,981765,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,981774,8,200,4,16,1015675,77,1,1,1,,2,2,2,,50,0,2,50,1,300,1,,2,160,2,1,1,4,,,,1,1,,12,2,520,9,,,,,,1,6,22300,0,4,4,4,1,7,0,,0,0,0,21,0,0,0,1,1,1,395,3,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,72,17,73,28,91,71,77,143,69,174,68,74,103,61,29,148,153,27,138,99,75,103,86,133,69,81,72,22,56,21,66,59,33,111,153,25,22,143,145,66,69,159,100,122,68,83,72,33,80,25,74,82,19,72,107,21,26,113,23,90,60,21,76,22,83,94,87,118,80,141,66,88,147,79,23,137,148,19,24 H,981898,8,300,4,16,1015675,251,4,1,,,4,8,,,1,0,2,3,3,,1,,,,,,1,6,2,960,,1,3,,,2,1,4,8,7500,4,960,50,1,3,23000,0,4,4,4,1,1,0,2,0,1,0,,0,0,0,0,0,2,,,1,0,,2,14,15,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,217,436,107,93,337,207,292,397,217,375,246,425,464,59,242,161,219,236,380,103,213,366,78,98,349,186,280,349,152,552,373,180,243,157,228,90,297,352,364,81,189,273,79,100,375,237,137,388,530,334,228,255,180,101,373,87,326,406,453,108,273,440,90,112,337,294,374,237,250,336,277,304,417,118,195,106,209,236,320 H,981961,8,100,4,16,1015675,331,2,1,1,,3,2,2,,70,0,2,2,1,300,1,,1,810,1,1,1,4,,,380,1,1,,17,2,480,3,1,90000,4,,,1,1,90000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,1,0,2,1300,2,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,112,303,93,487,295,312,360,483,366,94,335,573,617,321,345,566,103,323,363,523,624,344,528,102,336,301,302,111,377,451,358,104,93,323,349,115,548,326,353,543,557,342,515,106,322,299,341,91,357,516,326,104,115,358,317,108,522,319,334,103,100,346,98,579,344,270,338,623,328,116,346,447,520,323,343,553,98,308,304 H,982581,8,800,4,16,1015675,34,2,1,3,1,5,2,2,,410,0,2,3,3,1200,1,,2,20,2,1,1,9,,,,1,1,,14,2,2,5,2,185100,4,,,1,1,185100,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,2,2,2,630,3,0,0,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,34,32,28,10,39,34,48,38,7,9,39,29,20,101,64,40,41,10,34,46,26,30,38,59,37,35,10,12,60,69,12,29,66,13,12,34,34,65,34,29,44,36,41,55,27,34,13,11,63,72,8,24,53,7,10,35,34,57,40,26,38,51,37,10,47,32,49,65,10,12,70,43,9,61,68,30,37,12,33,54 H,982613,8,100,4,16,1015675,230,4,1,2,1,3,1,2,,50,0,60,100,6,,1,,,,,,1,5,2,700,,1,3,,,3,2,4,1,43000,1,855,24,1,1,43000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,297,194,452,365,72,519,217,145,42,77,72,339,210,381,96,217,412,262,247,47,78,94,201,285,252,288,413,61,236,215,212,300,58,225,213,320,219,356,298,236,254,388,259,305,76,313,305,255,91,90,65,231,243,357,61,254,354,141,239,71,50,54,282,207,187,199,419,73,160,230,308,331,58,234,272,557,267,341,407,241 H,982665,8,400,4,16,1015675,85,5,1,2,1,4,1,2,,140,0,2,3,3,530,1,0,1,690,1,1,1,6,,,,1,1,,15,2,2,2,1,70000,3,,,1,1,70000,0,3,3,3,1,4,3,5,0,0,3,14,0,0,1,0,0,2,830,3,0,0,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,142,83,78,20,35,169,107,24,94,155,43,38,106,76,120,87,84,72,76,81,26,70,66,120,131,25,24,175,97,22,129,135,87,106,34,88,116,105,89,77,151,107,97,28,39,148,113,35,89,137,25,22,86,84,150,79,77,94,80,102,30,87,98,128,114,24,31,129,80,24,172,131,83,79,23,94,95,81,85,91 H,982818,8,100,4,16,1015675,51,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,76,54,99,99,13,15,55,43,50,53,107,18,48,39,51,96,14,68,58,110,14,46,13,10,79,79,45,56,61,50,14,88,53,45,59,19,78,47,57,82,21,63,17,16,81,78,49,62,52,42,18,83,50,49,54,13,79,64,48,14,84,45,96,73,13,19,53,53,45,45,75,17,64,50,45,73,19,47,50,13 H,982866,8,200,4,16,1015675,123,2,1,1,,4,2,2,,30,0,240,3,4,,1,,,,,,1,6,,,,1,4,,,3,740,9,,,,,,1,5,59000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,217,121,40,46,102,175,48,161,131,130,118,115,129,142,34,176,99,105,257,96,143,148,143,174,157,115,186,151,150,41,39,39,32,158,151,134,38,177,147,188,45,101,192,183,145,36,181,43,111,120,131,126,133,110,187,42,158,124,39,146,104,43,155,104,39,128,101,121,42,161,178,212,219,41,129,129,187,33,123,33 H,983073,8,900,4,16,1015675,21,2,1,1,,3,2,2,,60,0,450,70,3,840,1,,2,660,2,1,1,5,,,,1,1,,12,2,540,5,1,59100,4,,,1,1,59100,0,4,4,4,1,7,0,2,0,0,0,21,0,0,0,0,0,1,1010,3,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,20,23,22,17,5,20,20,31,32,6,5,30,26,7,43,48,21,23,26,6,17,23,23,29,7,12,18,49,39,5,7,48,28,7,30,40,29,20,17,7,17,22,21,25,8,21,19,44,45,5,8,38,25,5,27,49,21,20,24,6,26,25,22,20,5,20,27,30,45,10,5,30,25,7,33,36,25,23,19 H,983187,8,200,4,16,1015675,29,2,1,2,1,2,2,2,,150,0,2,100,3,350,1,,1,200,1,1,1,7,,,,1,1,,4,4,1200,5,3,41100,4,,,1,1,41100,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,1,0,2,550,3,0,1,13,1,8,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,28,8,8,7,30,56,34,8,31,34,8,28,51,46,54,42,31,29,36,37,26,9,9,8,31,42,27,9,29,25,10,39,46,50,49,37,37,25,28,47,34,10,10,10,33,62,32,7,29,28,10,26,44,50,53,27,33,32,26,53,27,10,6,6,29,46,27,7,34,25,6,29,49,51,51,32,32,27,29,38 H,983319,8,100,4,16,1015675,68,2,1,2,1,3,2,2,,50,0,500,20,6,480,1,,2,200,2,1,1,4,,,,1,1,,15,2,290,5,3,50700,4,,,1,1,50700,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,2,443,3,0,1,18,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,107,125,59,19,80,162,67,80,111,50,20,19,16,81,57,65,72,72,118,22,24,24,72,82,59,21,68,68,19,71,93,92,114,62,65,75,63,71,126,20,20,24,58,115,88,22,55,70,20,56,114,107,103,64,64,89,80,75,24,124,88,119,66,17,64,85,66,69,103,72,15,20,19,71,70,70,80,68,20 H,983415,8,300,4,16,1015675,71,3,1,1,,4,2,2,,190,0,2,3,3,270,1,,1,620,1,1,1,8,,,,1,1,,14,3,350,4,1,81000,4,,,1,1,81000,0,4,4,4,1,6,0,3,0,0,0,12,0,0,0,0,0,1,839,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,152,16,141,82,52,63,67,75,78,27,127,60,64,100,132,85,23,26,86,20,66,72,68,19,120,139,112,113,18,61,63,118,28,75,70,19,81,97,118,102,21,119,24,77,73,74,78,68,74,135,22,66,71,21,22,72,94,98,89,131,66,65,58,132,23,21,24,21,126,77,64,25,106,83,64,109,64,60,17 H,983635,8,200,4,16,1015675,96,4,1,1,,3,2,2,,60,0,2,40,1,360,1,,,,,3,1,5,,,,1,2,,13,2,100,9,2,60000,2,,,1,1,60000,0,2,2,2,1,5,2,4,0,0,2,5,0,0,1,0,0,1,238,,0,1,24,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,27,31,30,30,86,29,88,26,124,82,86,96,34,30,85,88,25,100,91,163,106,101,94,85,152,87,145,118,146,146,171,146,92,101,145,147,88,189,138,111,128,145,146,143,117,151,105,119,89,115,87,109,151,129,89,97,132,76,69,32,97,112,87,101,27,85,35,123,28,30,32,27,84,81,31,32,102,36,32 H,983959,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,984246,8,100,4,16,1015675,96,3,1,1,,2,2,2,,80,0,2,3,6,240,1,,2,270,2,1,1,4,,,,1,1,,13,2,120,9,1,51060,1,,,1,1,51060,0,1,1,1,1,3,1,3,0,0,1,10,0,0,1,0,0,2,410,3,0,1,9,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,82,86,103,91,33,121,77,121,182,27,44,156,125,42,155,140,89,103,55,30,129,92,108,135,30,96,96,145,175,38,22,152,121,29,155,141,96,83,95,30,164,74,90,96,23,106,128,298,174,24,24,131,94,30,192,143,61,85,110,20,74,135,111,88,22,131,94,110,221,41,27,128,103,36,217,201,81,110,101 H,984294,8,100,4,16,1015675,47,2,1,1,,1,2,2,,150,0,1200,3,6,0,1,,2,400,2,1,1,3,,,,1,1,,3,1,800,9,3,46700,4,,,1,1,46700,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,1,0,2,792,3,0,1,20,2,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,50,93,14,36,80,79,44,54,43,44,33,13,40,61,12,42,12,44,13,91,56,98,13,44,88,88,48,46,49,37,45,14,58,81,15,53,16,57,73,15,48,13,74,62,15,13,49,45,46,49,40,65,48,12,75,58,86,53,80,14,46,13,72,50,17,13,44,47,48,34,46,80,46,12,64,53,80,50,11 H,984390,8,900,4,16,1015675,20,1,1,2,1,4,2,2,,100,0,2,3,3,1500,1,,2,1500,2,1,1,9,,,,1,1,,15,1,430,3,,,,,,1,4,90000,0,4,4,4,1,5,0,,0,0,0,26,0,0,0,0,0,1,1919,3,0,1,31,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,20,31,20,17,7,35,7,6,25,29,33,31,7,19,18,23,7,20,7,18,20,6,20,21,32,7,35,37,20,13,8,5,38,22,18,24,30,22,5,21,17,8,19,23,35,3,38,35,21,21,7,5,39,19,16,19,40,22,30,20,20,36,21,23,5,32,8,5,23,26,33,38,7,17,20,22,7,19,38 H,984716,8,800,4,16,1015675,58,5,1,1,,4,2,2,,30,0,2,3,3,500,1,,1,1500,1,1,1,7,,,,1,1,,18,3,300,3,1,65600,2,,,1,1,65600,0,2,2,2,1,4,2,4,0,1,2,28,0,0,1,0,0,2,1555,3,0,1,18,3,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,65,17,17,97,79,17,64,98,12,17,78,66,91,60,58,45,59,103,56,57,59,18,19,105,89,15,63,114,18,17,50,53,88,63,63,44,70,135,57,93,66,18,19,92,95,19,58,89,22,17,49,77,123,47,50,75,63,66,55,74,53,17,17,112,88,19,66,97,14,13,61,55,92,39,48,74,50,85,54,52 H,984784,8,800,4,16,1015675,23,2,1,1,,2,2,2,,30,0,2,150,1,400,1,,,,,3,1,4,,,,1,2,,10,3,360,5,1,70600,4,,,1,1,70600,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,2,1,2,285,,0,1,12,2,1,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,7,38,24,10,9,5,25,41,7,20,22,25,20,41,34,19,25,21,22,7,42,6,22,34,39,41,27,7,46,28,24,24,24,7,7,26,25,26,22,39,8,41,23,8,7,8,27,33,7,22,20,25,27,35,39,22,23,22,25,7,39,7,24,40,39,40,21,7,36,21,26,28,21,9,8,23,26,28,24 H,984841,8,800,4,16,1015675,252,4,1,1,,3,1,2,,50,0,2,150,2,,1,,,,,,1,5,,,,1,4,,,3,2,5,1,27000,3,,,2,1,27000,0,3,3,3,2,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,182,68,425,444,94,245,226,80,215,89,325,284,249,501,290,370,280,345,439,102,311,115,385,333,96,192,205,76,295,93,199,226,290,352,230,431,246,260,456,378,177,396,87,90,328,229,293,313,259,348,314,361,373,69,242,131,238,276,76,302,397,438,71,65,462,357,203,432,352,410,227,283,274,68,254,76,238,254,79,81 H,985199,8,800,4,16,1015675,153,5,1,1,,4,2,2,,90,0,2,50,1,650,1,,1,1600,1,1,1,7,,,,1,1,,20,3,140,4,1,85000,2,,,1,1,85000,0,3,3,3,1,1,3,5,0,0,3,25,0,0,1,0,0,2,1752,3,0,1,41,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,122,52,146,343,180,222,167,128,141,166,163,58,45,44,119,233,168,74,190,52,157,263,135,47,59,42,140,197,172,170,130,267,229,299,157,36,151,216,179,57,143,221,189,35,44,40,140,158,182,172,145,289,222,242,172,51,235,178,136,219,121,52,164,209,259,261,149,141,200,193,147,36,57,44,154,365,180,41,141,230 H,985445,8,900,4,16,1015675,55,3,1,2,1,2,2,2,,50,0,2,100,2,720,1,,1,860,1,1,1,4,,,,1,1,,14,2,220,8,1,60700,1,,,1,1,60700,0,1,1,1,1,4,1,3,0,0,1,20,0,0,1,0,0,2,1028,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,70,22,15,17,52,70,48,16,53,54,20,45,92,74,81,68,46,45,42,20,53,62,80,80,57,18,51,102,64,55,99,59,17,15,16,48,48,62,83,17,59,97,98,102,60,18,44,71,67,47,77,56,19,15,13,61,53,55,50,81,52,15,16,16,56,83,48,13,44,59,19,64,80,86,97,61,75,55,52,112 H,985463,8,300,4,16,1015675,60,2,1,1,,4,2,2,,100,0,300,3,6,300,1,,1,230,1,1,1,8,,,,1,1,,17,4,600,4,1,90000,4,,,1,1,90000,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,2,405,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,20,14,78,147,23,42,93,19,22,76,76,110,53,53,70,47,90,64,70,49,86,112,18,21,95,53,19,114,79,58,75,16,75,70,52,63,18,56,71,55,23,19,116,120,18,57,93,19,21,54,46,86,61,73,64,51,106,52,54,68,100,108,18,24,89,61,23,88,90,58,56,15,58,61,63,53,17,81,76 H,985521,8,500,4,16,1015675,280,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,82,545,339,279,459,257,308,483,293,270,217,339,89,87,69,91,449,249,343,265,117,466,288,323,483,283,262,508,235,272,261,411,106,80,60,93,531,243,254,340,469,73,244,267,99,304,402,94,254,289,291,92,481,468,505,412,90,274,230,257,445,84,258,281,83,282,292,85,263,276,252,100,396,494,534,381,78,298,306 H,985698,8,500,4,16,1015675,62,1,1,1,,3,2,2,,50,0,300,20,1,490,1,,1,700,1,1,1,5,,,,1,1,,14,1,2,5,,,,,,1,6,8504,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,0,0,1,795,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,94,16,81,18,56,131,60,103,20,64,104,114,64,68,52,56,57,16,17,76,91,17,57,18,61,136,61,110,19,66,104,103,67,62,62,81,60,21,17,61,122,22,66,17,68,110,59,116,17,62,103,105,64,61,59,55,60,18,20,60,110,20,50,16,70,105,67,93,17,69,97,107,63,70,76,60,62,21,23 H,985731,8,600,4,16,1015675,78,2,1,,,1,5,,,80,0,2,3,3,,1,,,,,,1,2,2,300,,1,3,,,3,1,6,,,,380,12,1,5,37500,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,141,83,72,151,120,73,113,196,63,65,133,110,105,107,83,93,72,113,66,18,74,77,95,28,31,79,73,17,107,55,33,24,27,25,74,46,68,14,56,24,94,59,60,25,28,78,106,16,105,90,16,18,34,24,67,21,110,25,96,256,117,59,70,125,115,134,86,117,76,59,156,114,119,137,84,151,45,91,62,134 H,985886,8,900,4,16,1015675,140,3,1,1,,3,1,2,,220,2000,2,3,3,120,1,3400,2,200,2,2,1,4,,,,1,1,,1,2,1,5,4,16730,4,,,1,1,16730,0,4,4,4,1,2,0,3,0,0,0,52,0,0,0,0,0,1,730,3,0,0,6,1,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,149,42,153,55,130,139,138,143,45,45,141,138,35,125,126,45,47,42,162,165,274,111,259,167,236,209,282,224,103,153,193,203,128,205,267,148,153,135,237,242,149,244,133,244,148,151,148,104,239,230,161,137,248,133,164,267,174,249,188,132,48,129,38,151,39,45,38,45,112,134,41,35,126,41,50,128,135,156,38 H,985888,8,800,4,16,1015675,65,2,1,1,,3,2,2,,30,0,1400,80,1,290,1,,,,,3,1,5,,,,1,2,,12,1,40,9,2,22700,4,,,1,1,22700,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,310,,0,1,15,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,58,63,19,100,74,64,130,72,75,104,47,50,59,106,20,17,17,21,55,98,56,79,25,112,72,77,99,71,64,96,84,56,72,129,20,22,24,21,67,123,68,66,16,129,67,51,120,68,74,108,62,65,55,103,20,17,17,17,78,120,77,67,22,105,61,64,107,69,73,117,68,72,61,109,17,17,19,15,53 H,986028,8,600,4,16,1015675,107,1,1,1,,1,3,2,90,50,0,2,4,1,980,1,,,,,3,1,5,,,,1,2,,16,2,50,5,,,,,,1,4,69000,0,4,4,4,1,4,0,,0,0,0,5,0,0,0,1,1,1,313,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,110,35,107,106,102,30,120,34,207,110,192,102,109,105,191,153,27,102,111,104,36,112,29,32,194,116,169,114,122,184,114,173,30,31,95,110,121,180,182,31,108,182,102,118,111,188,106,193,32,109,33,98,115,111,31,34,208,127,104,102,165,99,171,186,31,107,31,106,108,32,110,33,171,207,103,101,106,31,32 H,986260,8,700,4,16,1015675,97,2,1,1,,4,2,2,,300,0,2,80,1,2700,1,,2,2000,2,1,1,9,,,30,1,1,,22,3,40,3,1,153100,4,,,1,1,153100,0,4,4,4,1,5,0,2,0,0,0,25,0,0,0,2,0,1,3163,2,0,1,64,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,87,26,27,95,165,29,174,101,92,99,91,101,91,27,158,95,98,157,102,91,157,111,94,155,105,108,100,186,29,27,30,29,157,93,89,33,176,93,30,166,102,26,31,103,161,28,178,93,101,90,99,90,95,30,159,98,96,165,92,93,167,93,100,148,91,100,97,169,28,30,29,30,185,94,103,29,168,95,30 H,986280,8,400,4,16,1015675,76,4,1,2,1,3,2,2,,40,0,350,100,2,,1,,,,,,1,5,2,1200,,1,3,,,1,300,2,7,50000,2,1394,33,1,3,50000,0,2,2,2,1,1,3,4,0,0,3,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,73,58,123,79,21,25,26,85,61,72,84,78,109,112,132,89,24,86,25,142,72,68,109,60,20,23,21,73,88,66,84,95,131,149,131,89,24,78,96,20,73,82,19,62,101,154,145,72,73,78,80,84,20,24,25,79,145,82,150,22,63,103,27,65,121,129,121,71,85,77,62,61,20,23,25,86,137,75,21 H,986893,8,800,4,16,1015675,70,2,1,3,1,2,2,2,,130,0,2,60,1,1200,1,,2,650,2,1,1,4,,,,1,1,,24,2,2,4,,,,,,2,7,205700,0,4,4,4,1,6,0,,0,1,0,8,4,0,0,0,0,1,1328,3,0,0,58,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,67,124,63,66,105,59,18,19,16,66,81,77,67,66,110,102,111,70,22,19,84,121,66,82,114,75,24,17,23,74,67,78,71,66,123,107,145,67,21,23,71,106,65,55,115,70,19,24,26,64,77,65,78,78,111,98,115,76,18,20,66,118,65,69,111,69,18,19,21,60,76,71,68,64,111,126,140,83,20 H,986905,8,800,4,16,1015675,71,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,8,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,66,130,67,142,73,75,129,71,19,119,101,20,63,76,19,68,26,69,19,71,72,129,77,103,69,72,121,80,23,133,122,23,74,70,20,72,22,79,17,65,81,127,69,129,66,82,143,62,20,114,109,22,67,66,18,63,20,73,20,74,84,121,74,117,79,75,125,78,20,122,129,25,60,72,24,70,23,76,18 H,986940,8,900,4,16,1015675,139,1,1,3,2,2,2,2,,60,0,2,300,2,900,1,,,,,3,1,5,,,,1,2,,20,3,2,9,,,,,,1,6,40000,0,4,4,4,1,5,0,,0,0,0,16,0,0,0,0,0,2,535,,0,0,24,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,56,43,140,155,122,132,159,234,249,245,136,42,139,219,141,115,182,135,253,239,241,215,134,117,146,174,156,44,47,47,121,207,153,45,131,127,35,125,36,37,41,49,134,153,145,128,142,245,267,208,124,52,119,210,147,122,237,134,275,239,247,225,134,135,145,141,122,48,46,35,137,285,121,42,137,152,42,118,41 H,986979,8,800,4,16,1015675,42,3,1,1,,2,2,2,,40,0,2,70,1,140,1,,2,350,2,1,1,5,,,,1,1,,7,3,160,9,2,28600,4,,,1,1,28600,0,4,4,4,1,5,0,3,0,0,0,20,0,0,0,0,0,2,487,3,0,1,2,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,35,46,44,54,41,13,35,10,33,37,13,44,80,17,14,68,64,46,60,67,50,94,33,37,55,12,39,17,47,38,17,36,47,15,10,62,42,49,76,14,38,10,51,47,40,86,54,69,37,39,69,57,16,79,50,10,49,32,10,10,41,18,37,41,45,55,46,94,34,36,84,36,16,80,61,15,36,34,10,76 H,987374,8,300,4,16,1015675,47,4,1,3,1,5,2,2,,100,0,800,3,4,600,1,,1,1700,1,1,1,8,,,200,1,1,,21,3,280,1,1,47100,3,,,1,1,47100,0,1,1,1,1,2,2,4,0,0,2,53,0,0,1,0,0,1,2090,2,0,0,42,2,4,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,42,86,43,17,106,75,11,48,41,17,34,16,42,52,50,63,46,96,59,12,55,122,49,17,76,56,13,46,42,15,63,12,40,49,46,75,37,70,37,74,43,11,55,67,10,14,91,38,42,64,57,86,44,46,45,15,43,15,59,76,50,16,49,79,15,20,71,38,42,87,64,64,53,35,37,14,45,17,44,13 H,988115,8,600,4,16,1015675,139,3,1,,,2,5,,,30,0,2,70,1,,1,,,,,,1,3,2,720,,1,3,,,3,1,3,7,50050,4,820,15,1,3,67050,0,4,4,4,1,1,0,2,0,1,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,145,41,133,44,268,118,39,41,142,130,123,129,135,239,143,43,222,126,275,38,152,226,160,221,43,137,223,234,145,142,133,135,135,42,151,234,43,127,35,39,138,217,131,276,41,145,242,215,147,135,129,138,140,47,153,239,46,137,38,230,157,41,146,46,202,120,35,38,141,116,139,139,152,252,136,42,251,141,201,266 H,988178,8,400,4,16,1015675,47,4,1,3,1,3,1,2,,70,0,500,30,8,0,1,0,,,,3,1,4,,,,1,2,,13,3,2,5,2,20120,2,,,1,1,20120,0,2,2,2,1,2,2,4,0,0,2,12,0,0,1,0,0,1,193,,0,0,14,1,3,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,85,60,11,46,88,40,43,108,54,8,20,13,61,55,56,68,30,74,62,60,19,51,66,39,19,53,31,18,61,72,94,67,38,58,35,40,55,16,27,13,109,51,17,47,85,38,33,80,65,9,15,17,45,43,39,50,43,54,102,71,14,75,58,50,17,43,47,15,61,71,84,54,54,45,29,55,42,20,22,7 H,988194,8,300,4,16,1015675,67,4,1,1,,4,2,2,,30,0,2,90,1,800,1,,1,800,1,1,1,7,,,,1,1,,14,2,30,2,2,62100,3,,,1,1,62100,0,1,1,1,1,3,2,4,0,0,2,18,0,0,1,0,0,1,923,3,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,67,131,73,17,77,84,21,65,112,101,100,67,71,69,69,60,16,19,20,22,64,21,81,95,63,66,123,67,18,22,20,60,77,63,66,71,144,104,104,94,65,116,68,21,75,64,17,68,109,98,114,56,69,84,67,70,17,23,20,18,68,18,63,136,65,59,110,75,21,22,22,65,88,63,60,78,118,106,103,113 H,988611,8,500,4,16,1015675,123,2,1,2,1,3,2,2,,30,0,2,60,1,,1,,,,,,1,6,2,300,,1,3,,,2,2,3,3,35100,4,390,13,1,1,35100,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,106,199,124,36,113,234,240,120,125,182,37,120,32,41,129,44,186,108,111,129,105,211,125,36,160,214,192,120,111,191,34,122,41,36,143,38,219,137,130,118,115,41,129,211,149,40,34,111,115,32,202,119,243,212,132,209,33,144,125,117,135,33,114,222,128,34,38,116,112,34,211,133,175,185,120,227,35,120,125 H,988628,8,500,4,16,1015675,82,1,1,1,,1,2,2,,40,0,2,3,3,,1,,,,,,1,3,2,410,,1,3,,,2,530,7,,,,494,20,1,4,30000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,25,136,94,86,76,149,75,24,88,150,138,92,81,138,21,74,26,21,78,82,115,24,81,85,75,28,73,146,83,22,25,67,84,24,143,105,134,152,74,76,138,26,83,84,89,25,78,127,81,22,21,89,82,21,126,78,148,153,92,85,23,160,74,71,84,121,101,22,82,132,128,84,80,147,27,73,25,30,93 H,988664,8,900,4,16,1015675,62,1,1,1,,0,3,1,,20,0,2,120,1,,2,,,,,,1,1,2,280,,2,3,,,2,2,4,,,,420,46,1,4,11000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,59,56,62,46,112,106,56,49,135,70,63,96,118,104,94,59,113,60,20,17,65,73,60,72,15,20,69,59,16,44,80,22,18,19,20,65,16,69,116,110,56,71,51,66,102,77,59,58,99,73,55,95,96,100,79,55,116,60,15,18,66,59,72,71,21,18,77,61,21,86,58,20,17,16,17,66,18,65,95 H,989499,8,800,4,16,1015675,21,4,1,3,6,3,2,2,,200,0,120,50,3,400,1,,1,500,1,1,1,6,,,,1,1,,16,5,2,8,3,125500,4,,,1,1,125500,0,4,4,4,1,7,0,4,0,0,0,7,0,0,0,1,1,2,760,3,0,0,29,3,4,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,17,23,42,34,19,22,18,39,7,34,19,5,8,7,22,36,5,23,21,26,19,23,35,34,18,24,23,32,7,31,19,5,3,7,22,38,7,23,22,20,20,19,30,44,26,25,17,38,5,31,19,5,6,7,22,32,5,21,20,23,22,21,37,38,22,24,28,34,7,37,21,7,9,5,24,32,5,21,24 H,990106,8,400,4,16,1015675,30,1,1,1,,5,2,2,,40,0,2,120,1,,1,,,,,,1,9,,,,1,4,,,1,400,6,,,,,,1,4,36500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,8,10,39,5,24,38,59,43,43,35,43,35,22,7,39,30,10,49,53,32,34,27,43,30,9,66,32,35,30,11,39,10,73,38,8,9,27,28,32,44,7,10,39,8,28,29,54,40,53,34,62,38,26,10,32,27,10,46,60,26,24,34,41,30,17,57,24,58,30,11,35,10,49,25,8,8,29,30,39 H,990546,8,400,4,16,1015675,169,0,1,3,,1,2,1,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,261,166,201,272,272,230,243,181,247,196,289,167,176,170,199,325,265,150,49,170,57,177,174,50,53,51,49,193,53,151,49,177,181,156,151,61,55,156,323,159,310,183,175,261,338,323,233,149,280,170,284,159,162,156,172,322,312,149,49,170,45,194,209,53,45,45,55,149,51,152,53,190,164,158,156,56,52,188,338 H,990802,8,100,4,16,1015675,93,1,1,,,1,7,,,60,0,2,3,3,,1,,,,,,1,3,2,380,,1,3,,,1,2,2,,,,440,75,1,6,7000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,92,21,80,171,75,74,165,102,28,21,23,111,105,66,67,80,110,163,157,29,92,170,112,30,95,84,29,93,186,165,191,106,113,96,90,119,33,31,30,141,92,27,86,183,91,99,139,78,31,32,29,105,75,88,94,82,162,151,133,28,91,150,113,33,90,82,25,91,134,154,164,73,99,95,77,83,34,35,29 H,992391,8,900,4,16,1015675,42,1,1,1,,2,2,2,,40,0,2,100,1,,1,,,,,,1,5,2,500,,1,3,,,1,410,9,,,,674,21,1,6,38900,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,32,13,43,52,15,46,64,14,12,66,32,52,70,54,103,50,47,45,10,17,42,63,51,33,69,40,10,44,66,11,44,57,12,58,13,33,43,36,134,73,59,12,36,44,10,41,75,17,12,60,44,44,79,35,54,48,31,39,15,10,39,58,33,39,84,49,14,51,67,18,57,37,13,37,12,43,48,45,66,47 H,992476,8,100,4,16,1015675,97,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,27,82,114,98,77,97,194,92,28,160,97,158,90,31,119,30,177,115,190,29,27,90,102,102,93,78,139,112,29,162,90,159,68,28,109,28,167,90,32,170,138,110,102,88,105,95,27,92,167,27,89,26,83,156,108,157,35,119,33,140,156,99,77,91,83,85,39,109,183,35,92,25,67,146,111,176,33,109,167 H,992509,8,900,4,16,1015675,65,4,1,1,,5,2,2,,100,0,2,110,1,1000,1,,1,1100,1,1,1,8,,,300,1,1,,18,3,100,3,1,106400,2,,,1,1,106400,0,2,2,2,1,4,1,4,0,0,1,18,0,0,1,0,0,1,1618,1,0,1,39,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,107,69,109,72,63,52,18,67,20,54,66,18,68,127,17,21,121,61,121,72,125,68,105,65,80,71,20,61,19,68,69,19,65,114,20,18,94,68,101,65,109,77,104,65,73,57,18,68,20,66,68,17,54,138,20,18,111,59,97,65,119,68,111,77,75,78,18,66,20,74,73,23,65,104,18,20,99,65,115 H,992666,8,600,4,16,1015675,97,2,1,1,,5,2,2,,80,0,2,110,1,350,1,,1,1300,1,1,1,8,,,,1,1,,18,2,1000,4,1,32680,4,,,1,1,32680,0,4,4,4,1,4,0,2,0,0,0,58,0,0,0,0,0,1,1573,3,0,1,31,2,5,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,27,92,93,176,154,29,30,162,91,28,159,174,103,98,28,94,91,93,102,89,162,102,91,29,26,171,161,29,99,156,28,30,92,91,168,107,99,94,98,94,162,93,103,28,32,185,178,27,97,153,28,26,97,99,161,101,99,91,93,92,28,94,95,149,169,32,27,174,97,28,164,168,101,97,28,90,97,97,105 H,992737,8,400,4,16,1015675,87,1,1,1,,3,2,2,,40,0,2,50,1,1000,1,,,,,3,1,6,,,,1,2,,13,1,120,7,,,,,,1,6,15200,0,4,4,4,1,7,0,,0,0,0,17,0,0,0,1,1,1,210,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,131,104,107,97,28,83,63,175,210,30,25,135,112,29,114,146,99,84,85,32,74,69,72,61,18,91,83,126,120,30,26,163,100,21,121,175,92,82,99,34,93,78,74,80,25,74,67,171,161,25,24,143,92,23,133,160,84,98,88,29,93,75,97,122,26,89,91,129,169,29,27,154,97,30,138,148,88,85,107 H,993117,8,300,4,16,1015675,56,5,1,1,,5,2,2,,30,0,2,100,1,770,1,,1,640,1,1,1,9,,,,1,1,,14,3,740,3,2,110100,2,,,1,1,110100,0,2,2,2,1,5,3,5,0,0,3,9,0,0,1,0,0,1,832,3,0,1,16,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,18,17,17,17,61,18,67,15,56,47,55,62,17,15,57,51,14,48,51,91,61,52,52,54,93,69,94,55,97,102,106,92,55,58,106,110,54,93,91,56,96,103,104,105,47,95,61,92,56,53,58,53,96,99,56,52,99,67,67,16,56,56,63,56,15,46,15,53,14,18,14,19,54,49,15,17,59,18,16 H,993164,8,300,4,16,1015675,61,6,1,1,,3,2,2,,100,0,2,50,1,270,1,,2,1100,1,2,1,5,,,,1,1,,15,2,30,1,1,62200,3,,,1,1,62200,0,3,3,3,1,1,3,5,0,1,3,25,0,0,1,0,0,1,1276,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,135,17,19,114,45,16,97,94,69,58,21,76,66,62,66,16,56,64,54,16,18,103,142,19,74,109,15,14,48,59,101,62,63,66,63,84,52,64,80,109,107,20,18,100,64,19,123,108,61,52,21,65,51,65,68,14,56,59,57,18,19,140,74,16,52,107,16,16,61,61,125,60,56,74,56,93,60,70,69 H,993248,8,100,4,16,1015675,113,2,1,1,,3,2,2,,50,0,2,60,1,360,1,,1,950,1,1,1,5,,,,1,1,,18,2,460,3,1,303100,4,,,1,1,303100,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,0,0,1,1098,3,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,36,37,127,119,118,125,130,227,182,183,126,30,105,197,115,102,199,132,210,223,208,197,125,108,105,92,105,28,32,36,93,207,119,33,112,97,41,113,35,36,34,32,114,97,131,101,118,210,209,167,117,32,112,184,121,105,187,120,248,190,180,164,110,109,103,124,112,32,41,35,124,232,117,31,116,128,31,107,29 H,993268,8,800,4,16,1015675,101,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,170,109,35,30,30,89,90,105,109,111,182,142,152,108,33,106,160,118,99,188,32,99,163,208,156,93,106,96,115,114,30,29,32,95,163,96,30,93,89,24,156,97,33,29,23,93,122,101,116,104,181,141,173,114,29,115,162,91,97,146,28,91,214,182,145,106,112,120,111,111,34,30,26,106,170,99,30,80,96,26 H,994015,8,900,4,16,1015675,48,5,1,1,,3,2,2,,20,0,2,70,1,380,1,,2,500,2,1,1,5,,,,1,1,,8,2,640,8,1,29000,2,,,2,1,29000,0,2,2,2,2,3,3,5,0,0,3,30,0,0,1,0,0,2,733,3,0,1,15,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,68,33,75,49,54,91,42,12,93,82,17,53,42,19,74,15,41,66,56,81,13,60,13,33,72,17,53,84,18,15,61,46,43,72,42,93,61,53,63,14,110,44,83,47,48,85,36,11,138,77,13,60,47,19,62,15,50,67,82,87,13,57,12,43,60,14,69,73,18,13,66,51,42,99,49,92,38,46,53,12 H,994121,8,500,4,16,1015675,77,2,1,1,,3,2,2,,30,0,2,20,1,490,1,,,,,3,1,4,,,,1,2,,18,2,40,5,4,59400,4,,,1,1,59400,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,2,2,1,243,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,81,23,134,123,76,82,76,26,86,118,78,128,130,25,73,20,85,77,20,76,75,29,129,128,72,64,80,26,84,113,71,116,153,23,76,26,60,79,21,75,75,125,26,23,74,80,79,151,69,18,82,25,22,144,70,116,78,75,138,84,67,120,24,26,83,90,72,136,66,19,79,25,25,132,73,147,74,75,125,81 H,994676,8,900,4,16,1015675,36,2,1,1,,3,1,2,,20,0,2,10,1,300,1,600,,,,3,1,6,,,,1,2,,10,2,60,4,4,29700,4,,,1,1,29700,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,2,1,160,,0,0,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,41,36,10,53,11,12,35,34,59,62,10,34,38,39,15,36,38,35,51,65,35,39,10,63,10,12,39,30,76,70,8,35,33,38,12,38,33,34,14,10,36,49,55,9,61,59,27,42,10,10,63,37,38,37,48,41,32,37,8,13,41,31,67,12,70,58,34,38,8,10,61,48,33,43,74,31,42,37,57 H,994788,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,994838,8,300,4,16,1015675,89,3,1,1,,5,2,2,,60,0,2,40,1,300,1,,1,1100,2,1,1,9,,,,1,1,,15,3,600,5,1,16010,1,,,1,1,16010,0,1,1,1,1,1,1,3,0,0,1,101,0,0,1,0,0,1,1390,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,83,23,70,90,30,137,158,196,129,90,100,96,83,105,25,20,28,91,144,144,68,22,76,75,28,89,214,153,137,97,97,97,114,73,23,30,27,100,177,205,84,24,88,86,28,126,183,201,116,70,94,80,67,85,35,21,21,98,143,173,78,23,91,93,26,91,168,178,233,103,72,78,130,93,14,26,36,96,130,145 H,994917,8,700,4,16,1015675,100,1,1,1,,2,1,2,,30,1200,2,30,1,120,1,120,,,,3,1,4,,,,1,2,,2,0,1,5,,,,,,4,6,7300,0,4,4,4,1,6,0,,0,0,0,15,0,0,0,1,1,2,90,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,29,99,100,101,155,182,107,171,32,162,28,111,30,27,96,96,85,96,103,95,100,169,31,31,97,105,187,101,102,109,104,155,93,97,29,28,181,170,32,183,31,106,98,108,158,162,99,158,29,161,28,98,27,29,94,94,103,93,99,99,91,176,27,28,107,107,167,102,104,104,95,186,99,109,28,32,167,163,31,154 H,995206,8,900,4,16,1015675,76,2,1,2,1,3,1,2,,30,0,2,110,2,250,1,720,,,,3,1,6,,,,1,2,,14,2,2,2,2,36900,4,,,1,1,36900,0,4,4,4,1,3,0,2,0,0,0,9,0,0,0,2,2,1,291,,0,0,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,164,76,77,85,69,139,91,71,24,20,106,111,17,79,119,20,28,79,76,79,26,72,65,65,72,30,101,69,138,107,18,25,118,68,27,153,133,73,117,70,150,92,71,79,85,128,82,82,26,21,123,100,17,84,93,16,26,75,93,77,20,77,61,65,101,31,83,83,132,124,23,25,106,65,23,153,140,69,88 H,995211,8,200,4,16,1015675,46,2,1,1,,2,2,2,,70,0,2,3,6,500,1,,2,230,2,1,1,6,,,,1,1,,11,3,500,5,3,25100,4,,,1,1,25100,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,1,1,1,492,3,0,1,25,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,57,52,91,54,14,84,93,14,48,37,19,54,17,50,44,57,87,40,12,63,41,54,75,38,12,75,78,15,53,53,21,53,12,39,51,63,72,40,12,80,44,43,89,57,18,61,87,14,46,38,12,49,16,43,46,57,69,42,15,89,51,48,100,50,15,74,83,18,46,38,14,55,14,45,69,47,69,45,15 H,995485,8,800,4,16,1015675,77,2,1,2,3,2,2,2,,80,0,2,30,1,1200,1,,1,1900,1,1,1,5,,,,1,1,,24,2,2,2,2,66600,4,,,1,1,66600,0,4,4,4,1,3,0,2,0,0,0,36,0,0,0,1,0,1,2010,3,0,1,58,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,69,102,83,26,25,20,62,119,79,22,73,79,22,68,121,122,124,66,64,107,67,86,76,22,23,22,90,130,74,26,91,83,20,78,124,132,135,78,66,127,76,79,69,23,22,21,66,119,78,22,76,75,25,83,102,137,123,72,83,157,77,69,76,22,21,25,76,98,76,19,63,81,25,81,156,120,111,88,84,131 H,995876,8,800,4,16,1015675,41,0,1,1,,4,1,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,36,43,45,36,13,41,12,37,13,16,10,9,36,36,13,11,43,16,12,66,72,65,64,69,44,70,41,70,39,36,38,44,76,57,48,46,54,37,42,41,34,36,46,35,12,45,12,42,12,18,11,11,31,32,14,11,37,12,12,65,62,72,80,67,45,74,44,69,43,43,35,41,70,50,54,54,51,37,44,42 H,995996,8,800,4,16,1015675,44,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,53,55,78,48,13,11,11,48,56,36,41,44,64,79,70,39,16,39,14,73,50,49,102,53,12,10,9,43,67,44,42,46,57,60,84,42,15,46,14,61,43,44,76,48,13,11,12,53,58,41,45,47,53,69,101,35,13,46,14,64,47,46,90,50,12,10,14,58,44,41,45,46,63,72,79,35,14,39,13 H,996083,8,700,4,16,1015675,115,1,1,1,,2,1,2,,80,0,2,3,3,0,1,4000,2,300,2,1,1,5,,,,1,1,,3,1,1,5,,,,,,1,6,24000,0,4,4,4,1,4,0,,0,0,0,36,0,0,0,0,0,1,723,3,0,0,4,,,,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,110,207,33,107,116,35,115,117,32,125,110,122,34,187,197,193,204,31,116,109,102,36,186,107,120,195,112,124,195,106,115,115,202,39,30,32,37,204,117,115,125,32,202,126,111,192,117,103,206,108,119,112,180,33,32,34,32,192,119,109,126,192,37,111,109,36,110,105,36,113,108,115,37,194,202,214,202,32,114 H,996590,8,100,4,16,1015675,16,4,1,1,,4,2,2,,270,0,2,380,1,1200,1,,2,3000,2,1,1,9,,,,1,1,,22,3,800,7,2,235000,2,,,1,1,235000,0,2,2,2,1,3,2,4,0,0,2,24,0,0,1,0,0,1,4625,3,0,1,67,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,5,5,19,6,17,19,27,15,27,15,26,17,16,5,18,17,5,27,32,16,17,17,32,15,5,28,16,26,18,7,15,5,28,14,4,5,18,17,18,7,29,25,17,24,15,13,5,14,5,15,3,15,15,28,17,16,32,5,6,17,17,16,5,17,32,3,18,5,20,32,17,31,5,15,26,28,17,15,15 H,996849,8,300,4,16,1015675,57,4,1,1,,5,2,2,,60,0,2,70,1,900,1,,1,560,1,1,1,8,,,200,1,1,,14,3,480,9,1,99000,3,,,1,1,99000,0,3,3,3,1,3,2,4,0,0,2,11,0,0,1,0,0,1,930,2,0,1,8,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,61,99,50,102,17,13,62,59,74,83,70,18,85,20,13,97,56,87,55,57,53,100,69,86,15,18,49,54,64,125,57,16,60,15,20,102,47,77,54,49,57,108,58,87,13,16,49,62,53,97,72,16,69,20,16,81,72,139,49,66,58,102,64,99,18,15,56,45,55,161,51,15,49,15,17,89,60,94,63 H,996983,8,100,4,16,1015675,73,2,1,1,,3,2,2,,90,0,2,80,1,550,1,,2,1400,2,1,1,8,,,,1,1,,19,2,500,3,1,82000,4,,,1,1,82000,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,1,0,2,1825,3,0,1,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,26,22,67,19,68,78,122,75,125,78,109,71,78,22,72,69,23,129,120,74,63,76,115,75,22,126,78,138,77,22,85,24,147,76,21,22,70,71,70,128,23,24,73,24,76,73,124,86,122,63,108,79,77,19,79,80,20,129,138,68,69,70,128,78,20,117,73,126,73,21,77,24,131,70,22,20,83,76,66 H,997273,8,300,4,16,1015675,41,4,1,1,,3,2,2,,70,0,650,3,5,260,1,,1,420,1,1,1,5,,,600,1,1,,10,3,60,9,1,10500,2,,,1,1,10500,0,2,2,2,1,3,1,4,0,0,1,101,0,0,1,0,0,1,1149,1,0,1,14,3,5,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,13,35,13,35,40,44,60,41,75,36,52,62,44,11,39,62,13,33,40,15,9,35,13,46,34,41,92,42,70,42,34,68,47,15,73,61,10,35,39,10,8,39,15,48,40,38,89,53,69,34,29,65,44,15,72,66,13,54,49,11,10,32,14,41,37,44,67,36,51,30,44,52,45,11,44,66,16,46,44,14 H,998158,8,600,4,16,1015675,122,1,1,,,1,8,,,1,150,1,1,1,,1,,,,,,1,2,2,330,,1,3,,,0,1,7,,,,330,48,1,4,8300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,197,207,112,122,132,34,124,205,129,191,226,39,122,39,118,120,41,119,37,125,236,222,119,124,132,40,120,210,122,204,211,33,107,38,133,125,38,114,34,112,179,202,130,129,128,36,130,191,130,211,205,38,124,39,137,149,36,115,39,128,235,212,127,134,115,35,112,198,115,198,224,32,105,37,137,111,40,117,34,115 H,998352,8,700,4,16,1015675,99,3,1,1,,3,1,2,,190,0,2,3,3,230,1,3800,2,400,2,2,1,7,,,,1,1,,5,3,1,5,1,58910,4,,,1,1,58910,0,4,4,4,1,2,0,3,0,0,0,19,0,0,0,0,0,1,936,3,0,0,4,2,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,95,98,103,184,98,174,91,98,149,115,30,161,144,29,102,99,28,103,160,163,94,88,99,30,105,29,88,106,28,102,156,26,27,188,104,95,176,97,158,161,92,100,92,27,92,29,97,93,33,85,156,33,28,147,93,98,154,98,28,29,102,109,99,176,100,175,106,100,192,98,26,178,184,29,98,108,29,88,29 H,998761,8,200,4,16,1015675,36,2,1,1,,3,2,2,,300,0,2,80,3,140,1,,,,,3,1,5,,,,1,2,,15,1,360,3,4,15400,4,,,1,1,15400,0,4,4,4,1,5,0,2,0,0,0,44,0,0,0,2,2,2,564,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,51,40,50,40,28,46,35,43,10,10,59,65,10,37,72,14,11,32,27,29,49,35,37,38,37,63,37,45,12,13,68,53,11,38,69,14,10,35,38,29,56,39,32,50,56,69,38,43,12,10,73,63,11,33,57,11,12,37,39,38,58,27,45,36,27,51,36,31,10,14,59,60,10,35,68,10,12,41,54 H,998792,8,800,4,16,1015675,37,5,1,3,2,3,2,2,,2,0,2,3,4,,1,,,,,,1,6,,,,1,4,,,2,2,9,2,25400,2,,,2,1,25400,0,2,2,2,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,0,0,,2,3,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,59,48,73,63,23,14,18,8,47,54,37,51,26,85,87,55,57,12,39,57,11,47,36,8,35,62,50,80,54,35,44,32,39,11,10,11,30,60,31,10,65,39,51,55,39,16,14,8,36,36,34,39,30,81,77,61,63,19,53,78,13,32,26,10,45,45,52,93,38,36,50,40,54,12,9,11,36,75,34,11 H,998931,8,900,4,16,1015675,61,2,1,2,1,3,2,1,,100,0,2,3,7,600,1,,2,680,2,1,1,9,,,,1,1,,20,3,2,4,1,66000,4,,,1,1,66000,0,4,4,4,1,6,0,2,0,0,0,18,0,0,0,0,0,2,980,3,0,0,30,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,62,104,117,64,91,87,53,56,55,64,88,84,102,47,117,106,116,110,65,57,85,22,23,69,19,20,59,59,55,60,19,74,18,69,20,15,17,17,56,70,61,16,19,59,17,16,62,48,64,83,22,68,17,58,13,18,21,18,74,57,73,91,102,72,99,144,72,58,53,60,141,69,101,76,77,86,102,96,57 H,999730,8,700,4,16,1015675,114,1,1,,,1,9,,,60,0,2,3,3,,1,,,,,,1,4,2,700,,1,3,,,0,1,2,,,,760,101,1,6,7300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,110,104,188,33,115,113,37,118,136,34,117,126,123,35,204,187,193,176,31,118,119,124,193,36,115,114,33,118,115,33,122,101,97,33,195,200,200,184,36,116,112,113,36,200,106,102,214,109,129,191,105,117,117,201,34,33,36,32,192,123,119,129,29,191,116,116,190,110,113,188,115,111,100,229,33,33,32,35,218,101 H,999814,8,100,4,16,1015675,93,2,1,3,1,3,1,2,,180,0,2,170,3,350,1,700,,,,3,1,4,,,,1,2,,14,0,300,3,4,20800,4,,,1,1,20800,0,4,4,4,1,5,0,2,0,0,0,30,0,0,0,1,0,1,520,,0,0,16,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,115,29,106,158,26,28,147,85,92,160,83,141,93,86,90,26,92,27,161,84,97,27,92,138,31,28,149,94,96,163,103,184,92,99,85,27,98,23,152,100,104,31,100,167,24,25,155,86,103,165,78,129,95,97,88,27,98,31,137,91,89,28,93,182,37,27,144,92,94,150,94,161,83,106,88,23,100,25,146 H,999874,8,400,4,16,1015675,75,3,1,2,1,2,2,2,,120,3500,2,260,1,,1,,,,,,1,5,2,450,,1,3,,,2,720,6,1,4730,1,890,101,1,1,4730,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,105,149,73,98,20,23,116,107,35,50,102,25,32,98,59,144,136,72,63,116,62,84,71,61,18,20,103,130,21,88,138,27,19,68,113,137,60,91,64,89,73,23,81,62,114,105,22,21,112,76,23,114,174,70,54,21,86,69,90,83,92,21,74,85,143,118,24,19,109,73,21,103,107,86,104,31,93,81,83 H,999993,8,100,4,16,1015675,91,2,1,2,1,3,2,2,,160,0,2,3,3,400,1,,2,330,2,1,1,8,,,,1,1,,18,2,50,2,1,27900,4,,,1,1,27900,0,4,4,4,1,3,0,2,0,0,0,26,0,0,0,0,0,1,594,3,0,1,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,119,117,109,101,24,26,27,101,151,79,24,79,110,27,88,146,166,161,17,83,105,104,82,103,123,120,193,83,30,110,140,98,85,148,98,34,25,26,24,85,86,86,85,88,183,175,160,96,29,88,152,86,108,168,83,23,22,25,143,92,90,90,83,81,26,25,35,91,132,104,31,97,84,31,99,140,186,125,137 H,1000113,8,500,4,16,1015675,50,3,1,1,,4,2,2,,110,0,120,3,6,,1,,,,,,1,8,2,600,,1,3,,,3,670,6,2,24000,4,776,32,1,1,28800,0,4,4,4,1,2,0,2,0,1,0,,0,0,0,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,15,15,43,15,52,56,82,48,87,46,88,54,52,18,58,50,13,86,86,63,47,48,100,52,13,97,59,88,48,15,50,17,87,47,17,13,51,58,45,15,92,89,50,81,50,56,16,53,17,49,14,44,49,83,48,54,90,17,16,49,52,48,16,54,87,17,50,18,46,84,57,100,15,51,84,85,57,53,53 H,1000748,8,500,4,16,1015675,95,6,1,1,,4,2,2,,90,0,2,40,3,300,1,,2,830,2,1,1,5,,,,1,1,,17,2,1000,2,1,52000,3,,,2,1,64000,1,3,2,3,1,3,1,5,1,1,3,20,0,0,1,0,0,2,1068,3,0,1,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,159,168,43,106,153,34,25,95,80,174,102,90,95,101,134,101,107,27,79,32,128,142,26,112,156,31,31,108,91,151,113,79,101,87,138,114,98,41,122,185,27,31,187,81,35,182,142,84,108,28,83,98,90,92,27,86,93,146,103,194,28,26,119,87,31,144,180,87,102,31,102,130,86,106,29,93,98,177,95 H,1001776,8,700,4,16,1015675,317,2,1,1,,3,2,2,,120,0,2,80,1,,1,,,,,,1,5,2,1100,,1,3,,,3,1100,4,,,,1392,33,1,5,50000,0,4,4,4,1,3,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,562,320,530,310,85,335,106,548,276,113,89,331,300,295,349,323,532,296,120,572,84,318,90,315,538,301,507,92,319,535,508,281,328,367,309,319,97,331,447,90,520,326,530,372,91,324,110,475,322,97,97,361,305,287,295,328,510,286,113,536,83,326,104,335,613,292,479,88,349,496,522,317,336,327,289,315,93,341,454 H,1001885,8,100,4,16,1015675,28,2,1,1,,1,2,2,,50,0,2,250,2,370,1,,2,340,2,1,1,3,,,,1,1,,13,2,180,9,,,,,,1,7,80040,0,4,4,4,1,4,0,,0,1,0,11,3,0,0,0,0,1,733,3,0,1,13,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,49,10,27,7,22,26,9,34,11,46,42,30,34,25,7,29,44,24,26,7,10,53,27,42,27,24,48,32,49,6,7,25,34,29,45,27,8,25,28,9,7,39,28,43,28,29,50,28,53,8,8,25,25,25,54,29,6,25,23,44,40,8,29,7,25,30,9,26,9,49,49,30,24,29,8,28,49,25,23 H,1002044,8,100,4,16,1015675,32,1,1,1,,1,2,2,,100,0,2,3,3,,1,,,,,,1,2,,,,2,4,,,1,840,9,,,,,,1,4,20000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,31,47,25,72,10,29,35,42,37,32,32,20,30,19,30,40,10,41,35,63,25,8,45,14,77,39,10,5,38,29,24,36,42,79,48,9,58,41,9,12,39,57,29,47,8,38,67,46,38,34,37,37,36,7,32,65,5,26,45,51,38,10,34,9,42,37,9,10,37,31,48,38,46,50,23,11,43,25,9 H,1002056,8,700,4,16,1015675,105,1,1,1,,1,1,2,,60,0,2,3,3,130,1,4500,,,,3,1,4,,,,1,2,,10,1,430,4,,,,,,1,6,11500,0,4,4,4,1,5,0,,0,0,0,56,0,0,0,1,1,1,541,,0,0,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,105,105,173,31,181,185,107,106,33,32,165,109,113,110,183,102,101,109,34,30,114,104,183,34,180,183,114,100,31,33,198,101,100,104,173,91,115,106,36,33,119,109,170,33,172,180,95,102,33,31,170,104,103,112,158,98,124,108,32,28,110,100,173,29,197,187,109,107,33,32,169,114,107,114,186,108,105,98,36,25 H,1002091,8,700,4,16,1015675,122,4,1,1,,5,2,2,,120,0,2,40,1,760,1,,,,,3,1,9,,,,1,2,,22,4,630,3,1,24500,2,,,1,1,24500,0,2,2,2,1,2,2,4,0,0,2,29,0,0,1,0,0,1,596,,0,1,50,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,119,117,123,115,36,36,35,138,190,131,37,122,123,37,130,212,202,193,41,123,132,121,126,125,210,202,212,121,35,132,201,110,117,209,133,37,33,34,198,115,111,122,119,130,32,38,40,118,202,120,38,131,131,39,121,199,203,211,36,126,121,127,129,125,229,191,193,116,37,121,195,114,129,212,114,37,35,39,193 H,1002475,8,800,4,16,1015675,29,2,1,3,4,2,2,2,,90,0,2,3,3,650,1,,2,410,2,1,1,6,,,300,1,1,,18,3,2,9,2,36000,4,,,1,1,36000,0,4,4,4,1,7,0,2,0,0,0,31,0,0,0,2,0,1,922,2,0,0,18,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,45,50,10,24,25,10,29,9,26,29,26,45,29,44,29,24,47,9,27,9,48,49,9,27,34,9,30,9,28,25,23,51,29,49,30,29,50,9,31,9,46,50,7,29,31,8,29,9,25,27,28,59,27,52,27,25,51,8,25,9,50,54,9,22,32,8,22,7,25,34,30,49,27,40,27,26,52,10 H,1002805,8,800,4,16,1015675,82,2,1,2,4,5,2,2,,330,0,2,3,3,420,1,,1,610,1,1,1,9,,,,1,1,,14,3,2,9,1,52200,4,,,1,1,52200,0,4,4,4,1,6,0,2,0,0,0,22,0,0,0,1,0,1,940,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,126,64,87,74,91,124,87,72,28,33,121,123,27,85,127,21,22,65,91,87,162,87,82,82,80,157,66,68,24,24,128,118,27,67,158,25,22,89,77,87,22,72,90,70,93,25,87,78,145,152,21,22,145,71,27,141,150,75,85,81,22,86,85,70,80,24,85,69,132,149,23,23,139,84,21,152,153,79,102 H,1002903,8,900,4,16,1015675,99,2,1,2,1,3,2,2,,60,0,2,60,1,430,1,,2,490,2,1,1,6,,,,1,1,,15,2,2,2,1,62020,4,,,1,1,62020,0,4,4,4,1,2,0,2,0,0,0,14,0,0,0,0,0,1,720,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,86,149,28,32,143,87,88,166,104,176,81,130,91,25,105,32,120,108,197,32,123,176,34,31,194,82,106,187,83,144,95,150,119,28,105,28,102,96,25,190,92,25,152,180,32,105,108,27,95,36,128,118,85,190,78,157,98,97,33,148,123,26,141,190,28,126,117,30,96,35,117,111,96,181,83,142,114,98,151 H,1003375,8,900,4,16,1015675,285,4,1,1,,4,2,2,,110,0,600,3,3,600,1,,1,750,1,1,1,7,,,230,1,1,,14,3,600,5,1,122000,2,,,1,1,122000,0,2,2,2,1,6,1,4,0,0,1,12,0,0,1,0,0,2,1190,1,0,1,23,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,563,324,78,514,487,90,256,317,91,283,86,278,289,261,450,281,464,286,492,314,116,267,465,95,92,431,291,291,437,265,464,278,304,275,92,270,85,298,77,303,456,288,95,495,455,71,290,224,75,294,82,251,255,291,471,340,469,255,441,313,84,280,612,93,85,481,287,291,422,327,458,256,267,275,99,339,101,346,77 H,1003762,8,700,4,16,1015675,238,2,1,1,,4,2,2,,50,0,320,20,6,400,1,,,,,3,1,7,,,,1,2,,19,2,480,1,8,18400,4,,,1,3,18400,0,4,4,4,1,2,0,2,0,0,0,19,0,0,0,1,0,2,284,,0,1,25,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,235,419,226,371,274,242,416,226,64,426,402,62,220,272,71,249,75,211,69,242,230,389,252,390,238,216,409,237,68,404,409,62,242,250,66,253,71,239,65,236,259,430,228,433,237,226,397,238,81,402,435,63,216,216,64,254,64,252,67,233,224,447,225,382,225,248,432,234,67,393,363,73,256,227,75,247,74,248,75 H,1003808,8,100,4,16,1015675,96,3,1,3,1,4,2,2,,50,0,400,180,6,2000,1,,2,1100,1,1,1,6,,,1000,1,1,,21,6,300,3,2,235000,4,,,2,1,248400,0,4,4,4,1,3,0,2,0,1,0,12,0,0,0,0,0,1,2555,2,0,0,32,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,82,92,103,100,28,88,110,153,174,28,30,141,94,29,166,190,99,111,109,28,95,108,116,88,27,91,95,145,183,29,26,151,104,30,141,136,104,98,114,151,94,108,110,109,181,109,92,25,25,157,156,31,93,174,34,25,92,86,83,169,86,101,95,109,167,95,110,25,30,171,156,27,88,161,25,28,95,103,96 H,1004115,8,600,4,16,1015675,71,2,1,1,,3,2,2,,90,0,2,250,1,300,1,,2,950,2,1,1,5,,,,1,1,,18,2,300,6,4,53900,4,,,1,1,53900,0,4,4,4,1,6,0,2,0,0,0,33,0,0,0,2,0,1,1465,3,0,1,27,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,21,70,125,18,20,71,65,123,72,78,71,71,127,71,68,22,22,122,72,107,18,69,123,19,24,71,72,120,72,81,79,69,124,87,76,22,22,122,86,126,22,78,128,20,20,72,70,117,71,64,78,71,113,69,66,21,18,118,71,127,24,74,127,20,20,72,70,121,70,68,67,78,134,67,75,22,20,118,67 H,1004602,8,900,4,16,1015675,57,1,1,1,,3,2,2,,110,0,2,100,1,650,1,,2,550,2,1,1,6,,,,1,1,,15,1,500,7,,,,,,1,4,72000,0,4,4,4,1,4,0,,0,0,0,16,0,0,0,0,0,2,973,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,16,47,15,67,50,88,58,93,56,90,55,63,13,58,60,17,92,77,17,16,51,20,69,90,23,55,15,57,87,49,90,14,59,100,99,63,55,59,56,51,88,47,92,66,60,19,57,17,65,20,51,70,105,67,59,88,16,17,109,111,55,103,54,14,83,52,98,52,17,47,18,92,48,14,15,58,54,48,55,64 H,1005189,8,700,4,16,1015675,114,4,1,1,,3,2,2,,80,0,2,120,1,370,1,,2,1200,2,2,1,5,,,,1,1,,16,4,1500,4,3,89000,4,,,2,1,89000,0,4,4,4,1,5,0,4,0,0,0,23,0,0,0,0,0,1,1673,3,0,1,26,3,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,112,209,119,144,131,30,131,117,162,26,195,204,113,108,39,32,171,116,144,178,33,103,158,198,198,113,32,249,112,120,102,113,46,32,96,122,108,34,114,36,175,108,35,34,43,105,197,32,110,87,145,109,186,212,113,87,119,245,181,116,121,27,109,155,107,167,120,134,35,200,29,36,123,136,173,193,38,111,32 H,1005201,8,600,4,16,1015675,118,1,1,1,,2,3,2,,60,0,2,3,3,250,1,,,,,3,1,5,,,,1,2,,14,1,180,5,,,,,,1,6,23200,0,4,4,4,1,5,0,,0,0,0,10,0,0,0,1,1,2,196,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,190,113,35,110,120,39,187,133,110,39,115,125,193,107,111,37,182,188,114,36,126,199,123,37,37,123,117,35,209,109,183,191,110,214,39,130,114,108,33,103,199,120,36,109,114,39,219,129,123,34,117,121,215,123,135,32,204,202,124,35,122,199,107,33,32,109,111,34,202,119,192,179,133,210,30,130,117,128,34 H,1005420,8,900,4,16,1015675,42,2,1,1,,2,2,2,,100,0,2,130,1,0,1,,,,,3,1,4,,,,1,2,,14,2,840,2,2,21200,4,,,1,1,21200,0,4,4,4,1,4,0,2,0,0,0,23,0,0,0,2,2,2,400,,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,108,79,43,38,13,42,41,48,40,15,36,40,72,61,11,12,79,35,11,41,57,47,36,28,11,49,45,54,48,17,42,31,62,72,12,15,69,45,17,41,69,51,39,32,14,44,29,37,47,15,53,52,77,85,15,15,72,45,15,52,67,65,52,45,13,26,28,42,34,11,47,38,83,55,9,14,77,41,13,32 H,1005427,8,100,4,16,1015675,41,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,42,69,68,37,11,67,13,37,45,42,45,44,37,68,12,42,39,44,39,43,13,41,38,12,36,34,42,11,75,64,67,71,12,42,40,69,10,65,12,12,41,66,71,43,14,78,12,40,44,38,34,39,39,75,12,38,41,34,41,42,11,38,38,11,45,47,39,13,68,74,70,59,12,35,41,74,12,63 H,1005445,8,100,4,16,1015675,102,1,1,,,1,8,,,50,0,2,3,3,,1,,,,,,1,3,2,440,,1,3,,,0,1,5,,,,490,88,1,6,6700,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,112,84,100,196,164,104,195,23,197,30,106,26,29,113,97,106,102,103,111,92,174,38,37,94,87,164,97,98,106,97,168,95,118,33,26,155,162,35,31,153,101,121,117,29,26,106,27,167,29,149,100,185,175,111,111,103,99,97,110,105,28,169,176,115,108,28,107,89,106,109,32,98,80,152,170,30,32,177,168 H,1005479,8,700,4,16,1015675,112,2,1,1,,4,2,2,,120,0,2,200,1,900,1,,1,990,1,1,1,7,,,,1,1,,16,4,2,5,1,15000,4,,,1,1,15000,0,4,4,4,1,6,0,2,0,0,0,101,0,0,0,1,0,1,1310,3,0,1,34,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,113,114,115,108,112,187,176,183,113,31,104,205,123,120,189,116,34,30,188,201,107,106,116,116,117,34,30,32,115,195,109,33,114,106,32,118,187,199,34,34,113,109,115,110,113,184,196,193,112,31,112,177,115,110,178,126,35,34,171,193,108,110,98,122,119,34,32,32,117,180,111,31,113,115,33,113,176,201,32 H,1005793,8,800,4,16,1015675,93,1,1,1,,3,2,2,,50,0,2,3,3,300,1,,2,560,2,1,1,5,,,,1,1,,11,1,410,5,,,,,,1,6,15000,0,4,4,4,1,6,0,,0,0,0,58,0,0,0,0,0,2,719,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,76,30,107,129,99,104,123,94,33,35,33,88,120,121,80,103,155,140,131,42,115,110,74,39,86,63,32,102,134,163,133,84,114,115,87,94,38,30,26,135,117,37,70,142,127,116,122,94,29,25,33,124,98,81,102,107,165,157,172,33,106,128,71,27,67,88,34,76,151,169,162,141,95,75,94,98,26,26,27 H,1005929,8,700,4,16,1015675,122,1,1,1,,4,2,2,,40,0,2,80,1,380,1,,1,810,1,1,1,6,,,,1,1,,18,1,600,4,,,,,,1,6,36000,0,4,4,4,1,4,0,,0,0,0,33,0,0,0,0,0,1,980,3,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,35,200,123,125,36,223,124,128,208,104,117,202,127,134,115,197,35,202,129,130,117,116,207,34,138,120,35,36,116,208,198,123,34,202,39,141,129,114,207,205,215,32,141,115,196,38,118,136,36,133,110,35,119,119,129,33,255,38,112,113,128,117,37,218,119,119,216,198,140,36,31,108,207,35,194,125,131,123 H,1006060,8,600,4,16,1015675,82,1,1,1,,2,2,2,,40,0,2,3,3,,1,,,,,,1,3,,,,1,4,,,2,180,8,,,,,,1,4,3000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,139,135,128,22,98,82,134,27,89,77,25,73,83,23,78,75,77,27,142,86,123,137,154,21,80,85,162,27,83,81,23,79,88,24,78,85,82,23,138,79,129,139,134,25,90,82,158,26,79,88,22,79,79,23,88,87,78,23,127,80,140,132,159,24,78,86,129,23,80,83,25,79,76,24,82,73,82,27,145,84 H,1006337,8,900,4,16,1015675,88,2,1,1,,3,2,2,,100,0,2,150,1,650,1,,,,,3,1,8,,,,1,2,,15,2,50,8,3,53100,4,,,1,1,53100,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,0,0,1,425,,0,1,26,1,7,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,81,82,28,88,160,71,25,27,84,85,22,128,104,150,134,85,154,30,86,88,98,85,23,81,192,111,24,28,86,95,29,155,87,149,147,77,120,23,89,81,89,99,148,80,31,83,150,168,84,92,160,20,78,36,29,76,24,120,82,87,96,80,143,92,26,96,145,159,100,86,162,28,83,23,28,105,26,125,100 H,1006448,8,800,4,16,1015675,29,2,1,2,1,3,2,2,,90,0,2,120,2,300,1,,1,1100,1,1,1,6,,,,1,1,,19,2,2,2,1,32000,4,,,1,1,32000,0,4,4,4,1,2,0,2,0,0,0,49,0,0,0,0,0,2,1310,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,46,44,24,12,27,42,26,29,54,39,10,10,14,27,25,31,31,32,9,37,49,46,25,9,27,62,25,43,53,22,15,7,10,30,29,31,25,31,10,51,48,51,29,8,29,44,27,29,46,45,12,12,12,25,27,31,32,30,7,50,51,50,25,10,42,48,17,36,39,27,14,9,6,26,36,33,31,31,14 H,1006462,8,300,4,16,1015675,75,5,1,1,,3,2,2,,40,0,2,40,1,1000,1,,2,860,1,1,1,6,,,,1,1,,15,2,600,5,2,48000,3,,,1,1,48000,0,3,3,3,1,3,3,5,0,0,3,27,0,0,1,0,0,2,1073,3,0,1,18,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,84,62,83,147,120,127,84,19,86,118,66,63,113,84,23,23,23,71,26,91,69,80,75,123,143,121,83,19,69,126,75,78,112,78,21,20,23,68,25,58,78,88,71,131,117,107,71,20,73,108,95,64,107,95,25,27,23,72,29,69,58,93,77,140,133,135,72,23,71,133,74,69,150,94,23,18,22,78,23 H,1007018,8,700,4,16,1015675,72,6,1,,,2,5,,,60,0,2,160,1,,1,,,,,,1,4,2,730,,1,3,,,2,70,2,4,62600,2,956,18,2,1,62600,1,3,4,3,1,1,0,6,0,0,2,,0,1,1,0,0,1,,,1,0,,2,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,22,109,110,67,80,19,16,122,76,89,84,106,96,79,66,25,55,68,23,114,22,141,102,52,64,26,29,131,87,85,71,125,73,55,63,24,83,65,77,24,157,19,22,77,63,117,96,22,64,81,77,29,111,65,68,131,64,75,117,20,126,26,19,63,62,122,152,32,66,73,79,22,58,55,76,150,84,57,23 H,1007235,8,700,4,16,1015675,114,1,1,1,,3,2,2,,10,0,2,10,1,350,1,,1,850,1,1,1,4,,,,1,1,,17,1,300,4,,,,,,1,4,18000,0,4,4,4,1,3,0,,0,0,0,60,0,0,0,0,0,1,895,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,196,33,117,193,192,202,123,34,188,119,116,109,119,38,35,112,111,110,39,112,115,118,204,112,109,111,32,106,119,212,33,188,187,107,108,38,36,186,111,194,32,192,108,39,34,28,114,168,35,110,116,123,124,203,194,119,110,114,193,121,110,125,36,117,120,112,183,106,114,30,194,35,34,123,114,190,202,36,106 H,1007447,8,600,4,16,1015675,125,1,1,1,,2,1,2,,130,0,2,3,3,300,1,3500,2,150,2,2,1,4,,,,1,1,,2,1,50,5,,,,,,1,4,14600,0,4,4,4,1,3,0,,0,0,0,50,0,0,0,0,0,1,613,3,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,137,209,132,34,117,120,124,34,120,33,219,125,236,130,131,128,233,210,134,150,36,118,235,140,221,218,32,125,37,136,126,34,122,36,203,238,119,112,123,115,35,131,212,127,219,189,43,124,36,121,131,40,139,36,194,218,134,141,33,40,101,242,116,38,149,116,119,42,126,37,204,127,202,133,122,125,185,249,32 H,1007800,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1007867,8,600,4,16,1015675,129,2,1,1,,2,2,2,,190,0,2,160,1,780,1,,,,,3,1,6,,,,1,2,,17,2,410,9,3,41550,4,,,1,1,41550,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,1,624,,0,1,32,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,132,128,142,112,35,38,205,36,128,126,201,226,224,121,142,40,246,126,37,150,206,212,36,41,140,136,105,133,218,35,140,134,135,220,32,141,140,231,137,224,140,130,135,124,212,202,38,256,125,125,36,38,39,125,142,241,43,129,188,134,33,39,189,234,124,118,126,128,34,194,136,122,125,40,214,140,130,41,119 H,1007871,8,600,4,16,1015675,82,4,1,1,,5,2,2,,170,0,2,170,1,250,1,,1,1500,1,1,1,8,,,800,1,1,,20,3,660,3,1,267000,2,,,1,1,267000,0,2,2,2,1,5,2,4,0,0,2,12,0,0,1,0,0,1,2695,2,0,1,38,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,78,24,151,144,81,76,85,23,78,136,85,147,147,23,75,23,78,81,26,77,80,24,140,127,81,77,79,24,83,138,76,133,144,25,93,25,77,87,24,76,81,144,23,24,83,82,84,138,80,24,77,23,25,131,74,132,82,81,142,86,80,139,24,27,78,81,84,135,81,23,84,23,25,141,80,122,84,89,131,79 H,1007890,8,300,4,16,1015675,67,2,1,3,1,5,2,2,,80,0,2,3,3,1000,1,,,,,3,1,9,,,,1,2,,17,2,2,6,4,34500,4,,,1,1,34500,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,227,,0,0,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,60,17,61,14,124,159,83,83,75,28,69,90,68,125,114,16,57,20,63,65,75,117,47,97,21,21,62,57,68,132,81,29,72,16,18,78,84,142,54,81,65,22,85,23,105,107,89,70,61,15,58,116,85,102,107,24,63,16,61,81,82,108,63,106,15,17,53,56,99,92,62,16,60,20,16,108,104,129,88,58 H,1007913,8,800,4,16,1015675,357,5,1,1,,3,1,2,,1,0,2,1,1,,1,,,,,,1,6,,,,1,4,,,2,2,4,2,24000,3,,,2,1,24000,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,564,646,101,120,628,476,141,445,440,278,507,106,397,343,325,466,94,288,348,387,98,102,618,457,136,411,463,111,116,279,293,690,479,359,495,302,608,364,423,343,524,544,126,89,494,323,113,546,699,326,391,109,388,335,394,423,162,400,265,286,96,145,639,584,139,365,508,130,116,461,388,460,356,319,341,337,493,450,372,398 H,1007964,8,400,4,16,1015675,82,1,1,1,,1,2,2,,40,0,500,3,6,0,1,,,,,3,1,3,,,,1,2,,10,3,120,5,,,,,,1,4,18000,0,4,4,4,1,6,0,,0,0,0,8,0,0,0,0,0,1,127,,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,148,69,66,92,82,89,24,26,22,69,142,72,27,106,92,22,80,165,127,124,151,72,71,80,79,77,24,23,24,95,156,72,24,89,107,28,88,119,25,25,28,75,90,72,67,79,122,129,130,99,26,82,171,88,92,143,72,23,31,29,31,68,93,72,73,94,148,144,121,66,20,80,152,69,75,141,86,24,123 H,1008157,8,200,4,16,1015675,56,1,1,1,,2,2,2,,50,0,2,10,1,300,1,,,,,3,1,4,,,,1,2,,14,2,700,8,,,,,,1,4,2300,0,4,4,4,1,6,0,,0,0,0,101,0,0,0,1,1,1,218,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,69,53,90,71,17,123,87,20,60,76,17,63,18,51,59,65,118,63,86,15,51,52,16,51,109,19,16,101,35,53,72,43,114,58,66,40,17,54,125,16,63,55,18,68,86,17,15,99,67,61,100,52,78,58,45,59,20,52,17,106,51,60,114,47,22,120,78,15,57,61,16,53,19,58,55,49,105,52,26 H,1008209,8,500,4,16,1015675,122,2,1,2,1,2,2,2,,60,0,2,120,1,450,1,,,,,3,1,4,,,,1,2,,12,2,480,9,4,36000,4,,,1,1,36000,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,2,337,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,177,118,130,222,111,227,143,112,90,47,130,39,125,133,37,146,177,37,42,36,36,120,123,38,109,32,130,117,136,190,115,214,123,133,232,113,32,186,195,45,32,125,117,34,135,42,117,142,146,200,127,213,119,121,191,136,33,229,226,181,197,144,130,184,133,198,117,102,143,35,99,37,114,132,36,128,219,34,31,190 H,1008284,8,500,4,16,1015675,49,2,1,1,,3,2,2,,130,0,2,180,1,,1,,,,,,1,6,2,530,,1,3,,,2,300,7,7,56200,4,865,18,1,3,56200,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,1,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,48,13,75,45,13,17,50,39,33,65,51,83,56,13,70,54,67,50,18,84,38,18,88,49,15,17,55,52,55,47,45,87,42,13,81,41,67,45,14,16,44,83,16,45,86,97,41,49,39,60,42,12,43,80,13,54,18,52,75,11,37,120,17,44,103,70,48,41,55,53,48,13,43,66,15,54,12,47,83,81 H,1008340,8,800,4,16,1015675,223,2,1,1,,2,2,2,,100,0,2,3,3,220,1,,,,,3,1,4,,,,1,2,,18,1,2,2,4,21100,4,,,1,1,21100,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,2,2,2,189,,0,1,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,337,248,72,199,273,68,224,360,353,398,182,196,202,211,258,68,67,67,301,203,340,199,84,201,232,82,243,404,412,307,234,252,262,224,235,72,85,65,77,253,75,211,342,213,205,322,225,72,91,64,185,246,227,192,212,405,380,360,68,200,78,262,315,224,216,375,224,69,70,70,174,228,224,208,244,455,372,385,340 H,1008540,8,100,4,16,1015675,115,2,1,1,,3,2,2,,50,0,2,10,1,400,1,,2,710,2,1,1,8,,,,1,1,,22,2,580,5,4,82800,4,,,1,1,82800,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,2,2,1,1059,3,0,1,37,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,105,96,31,153,212,99,194,183,31,105,32,101,119,35,115,40,163,189,117,147,126,121,210,121,36,114,30,30,219,110,191,121,121,218,103,196,36,36,125,106,116,99,210,133,34,119,35,43,213,125,196,121,111,199,122,193,36,30,125,136,111,97,34,132,212,111,190,162,29,96,27,112,116,33,111,31,207,227,133 H,1008603,8,200,4,16,1015675,53,2,1,1,,2,1,2,,30,0,2,30,6,0,1,1500,,,,3,1,3,,,,1,2,,1,3,1,6,2,21000,4,,,1,1,21000,0,4,4,4,1,2,0,2,0,0,0,11,0,0,0,0,0,2,188,,0,0,2,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,57,67,51,79,52,85,52,54,96,48,16,96,88,17,68,69,18,48,15,22,52,47,48,96,59,89,54,42,78,48,12,81,77,18,60,68,19,49,87,81,54,47,50,21,66,14,47,55,16,57,100,15,19,87,60,66,93,55,71,105,58,37,64,18,47,24,56,49,15,53,94,14,14,111,48,46,87,58,25 H,1008747,8,300,4,16,1015675,114,0,1,,,2,5,,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,30,110,173,141,36,33,115,130,36,228,108,204,192,110,195,40,113,104,101,117,184,107,31,107,199,182,120,123,200,32,101,36,30,121,30,200,113,123,110,127,181,112,32,102,158,203,107,127,199,34,111,34,33,136,31,181,120,133,129,107,31,99,177,127,35,35,121,113,33,211,104,201,185,120,188,33,118,113,118 H,1009511,8,100,4,16,1015675,60,5,1,1,,2,1,2,,90,0,280,3,6,0,1,4300,2,200,1,1,1,4,,,,1,1,,2,1,1,5,2,39700,2,,,1,1,39700,0,3,3,3,1,1,2,5,0,0,2,20,0,0,1,0,0,2,671,3,0,0,2,2,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,13,22,20,17,79,24,54,15,62,63,57,57,19,15,55,57,17,60,89,81,54,60,65,58,97,59,96,53,94,94,94,105,67,55,73,107,85,111,103,74,123,86,85,111,59,92,82,89,53,60,63,55,83,93,63,63,101,55,61,19,67,56,53,68,19,46,18,61,19,16,19,18,64,67,17,15,65,18,16 H,1009638,8,400,4,16,1015675,54,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,74,50,13,18,18,48,55,53,50,46,98,102,93,63,18,49,72,67,59,94,20,55,93,92,84,53,50,63,67,52,15,15,13,47,81,57,18,44,53,14,86,59,17,17,16,60,61,44,46,58,89,83,83,63,20,49,75,62,51,97,17,49,85,100,90,54,47,57,65,55,16,18,16,50,79,50,18,45,47,16 H,1009673,8,500,4,16,1015675,85,5,1,1,,4,2,1,,90,0,2,40,1,440,1,,1,560,1,1,1,7,,,540,1,1,,14,4,360,9,1,69590,2,,,1,1,69590,0,2,2,2,1,5,2,5,0,0,2,22,0,0,1,0,0,1,1260,2,0,0,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,24,86,24,80,144,77,147,24,95,149,192,87,87,90,81,74,21,79,149,149,159,78,141,93,26,81,25,156,81,22,26,68,87,85,95,85,131,78,30,177,159,94,148,78,24,85,27,117,90,26,26,84,101,80,89,83,137,83,23,26,24,90,25,87,126,77,156,27,84,138,151,82,80,83,85,84,24,85,147,25 H,1010275,8,900,4,16,1015675,83,1,1,,,1,9,,,50,50,2,3,3,,1,,,,,,1,3,2,190,,1,3,,,0,1,4,,,,240,50,1,6,5770,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,120,23,27,23,29,136,78,92,25,175,68,76,160,64,76,137,73,92,78,79,143,32,26,26,26,120,84,82,22,112,93,69,130,94,73,150,90,96,77,84,125,25,26,23,25,153,91,79,24,140,87,77,143,79,85,132,91,108,84,85,120,26,25,25,20,121,100,82,28,142,73,74,136,64,80,182,71,78,94 H,1010306,8,300,4,16,1015675,44,1,1,1,,3,2,2,,70,0,2,3,3,300,1,,1,420,1,1,1,5,,,,1,1,,12,1,60,5,,,,,,1,6,25000,0,4,4,4,1,3,0,,0,0,0,24,0,0,0,0,0,1,495,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,65,87,9,17,87,31,41,75,39,67,54,42,42,16,51,13,47,38,19,75,45,13,79,76,11,37,36,15,47,15,46,40,42,76,55,99,41,40,12,68,54,13,66,67,11,44,41,16,56,13,55,41,44,90,53,83,51,41,69,13,40,79,13,13,79,43,41,55,33,90,51,50,49,14,43,15,43,42,51 H,1010385,8,400,4,16,1015675,183,2,1,1,,1,2,2,,60,0,2,80,1,,1,,,,,,1,3,2,330,,1,3,,,2,150,9,1,32000,4,483,18,1,1,32000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,142,247,236,308,165,204,386,130,47,346,293,54,193,167,48,372,56,150,413,183,181,60,201,48,147,209,57,147,359,53,46,383,189,160,254,190,274,144,385,155,218,62,157,72,190,154,60,136,235,52,42,272,273,137,303,262,325,199,65,212,221,301,186,315,205,139,258,180,57,382,281,61,226,139,59,221,44,115,95 H,1010465,8,900,4,16,1015675,123,2,1,1,,3,2,2,,60,0,330,110,1,330,1,,2,580,1,1,1,5,,,,1,1,,11,2,40,5,1,31200,4,,,1,1,31200,0,4,4,4,1,6,0,2,0,0,0,31,0,0,0,0,0,1,809,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,119,167,207,205,116,151,100,176,115,36,37,30,110,204,126,36,151,34,132,181,123,28,27,45,128,139,128,120,110,187,190,196,139,44,147,202,115,31,131,170,102,31,47,42,112,128,120,104,147,217,246,243,104,43,117,158,142,208,110,36,168,197,195,181,95,113,101,144,114,28,43,33,97,267,115,42,144,171 H,1010543,8,800,4,16,1015675,112,3,1,3,5,2,2,2,,100,0,2,4,6,2900,1,,2,420,2,1,1,4,,,,1,1,,19,4,2,9,2,49900,2,,,1,1,49900,0,2,2,2,1,6,1,3,0,0,1,20,0,0,1,0,0,2,824,3,0,0,16,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,105,168,127,119,196,113,37,54,56,96,78,85,115,107,171,207,137,104,37,32,89,150,131,125,158,109,29,36,48,120,123,125,89,88,185,159,137,96,50,26,117,203,116,115,182,117,31,41,46,146,172,144,96,100,204,170,177,105,37,36,113,126,109,131,158,100,29,34,35,112,108,142,85,94,181,157,157,86,45 H,1010736,8,900,4,16,1015675,83,1,1,1,,3,2,2,,30,0,2,80,1,1800,1,,2,680,2,1,1,7,,,,1,1,,15,1,400,7,,,,,,1,6,30000,0,4,4,4,1,4,0,,0,0,0,46,0,0,0,1,0,1,1140,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,77,23,96,80,146,69,139,94,124,79,71,22,89,88,25,138,139,23,144,82,167,80,25,133,99,167,89,25,76,26,159,88,27,18,86,79,70,90,73,25,85,26,82,78,150,71,145,97,133,89,82,25,88,99,29,122,143,20,133,74,150,83,23,132,93,164,83,23,86,23,151,101,24,20,86,103,87,63,95 H,1010756,8,400,4,16,1015675,64,2,1,1,,1,2,2,,100,0,2,3,3,400,1,,,,,3,1,5,,,,1,2,,16,1,2,8,4,39600,4,,,1,1,39600,0,4,4,4,1,1,0,2,0,0,0,8,0,0,0,2,0,2,258,,0,1,27,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,15,13,67,138,46,22,62,76,28,71,99,92,84,79,61,63,64,75,20,77,20,23,66,79,53,21,74,82,18,50,86,68,113,74,50,68,69,65,23,114,21,22,64,104,55,16,82,83,15,60,111,88,129,64,50,63,67,49,15,81,17,14,64,122,46,26,54,58,23,46,103,69,82,77,60,75,88,99,22,136 H,1011001,8,300,4,16,1015675,41,4,1,1,,4,2,2,,100,0,2,100,1,560,1,,1,1100,1,1,1,8,,,200,1,1,,16,1,600,4,7,86000,3,,,1,3,86000,0,3,3,3,1,2,3,4,0,0,3,22,0,0,1,0,0,1,1550,2,0,1,32,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,52,41,48,44,15,70,77,13,36,41,15,40,12,46,36,39,58,31,67,13,44,39,15,47,57,10,12,74,44,41,69,34,65,46,45,48,12,33,51,11,53,46,11,39,61,13,11,68,51,39,72,38,74,48,44,42,10,33,11,72,54,39,52,42,9,54,76,12,37,45,12,40,12,39,36,43,83,39,10 H,1011197,8,900,4,16,1015675,18,1,1,1,,3,2,2,,40,0,2,100,2,,1,,,,,,1,5,2,350,,1,3,,,1,1,8,,,,490,15,1,6,38500,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,27,23,21,19,5,20,23,24,32,5,7,30,18,7,27,28,23,21,16,28,19,18,21,23,35,25,22,5,5,32,33,7,20,38,6,5,20,19,23,6,23,19,21,20,5,16,23,39,36,6,7,32,15,5,33,31,16,20,20,24,20,25,21,16,31,23,18,7,5,26,30,6,22,40,5,5,22,15,20 H,1011264,8,700,4,16,1015675,77,4,1,1,,5,2,2,,90,0,2,190,1,700,1,,1,1400,1,1,1,9,,,,1,1,,20,2,500,2,1,137000,3,,,1,1,137000,0,1,1,1,1,2,2,4,0,0,2,15,0,0,1,0,0,1,1722,3,0,1,42,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,130,79,80,74,24,23,69,22,133,22,131,82,135,127,73,78,80,74,73,23,74,122,22,23,80,80,123,82,79,78,76,134,79,73,20,22,138,131,128,84,25,74,81,74,127,122,74,142,22,124,23,77,23,20,71,86,79,83,69,135,66,22,118,137,75,76,22,77,74,74,83,23,74,78,118,137,23,23,20 H,1011541,8,300,4,16,1015675,34,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,50,37,11,29,33,15,38,47,43,52,49,33,29,35,37,13,11,13,11,37,8,33,61,31,31,58,35,9,8,8,38,33,27,33,44,56,58,74,57,32,49,40,11,26,27,11,31,54,53,42,37,37,35,34,32,11,15,12,9,40,7,30,65,37,38,67,32,8,10,10,35,37,33,33,37,73,60,84,43 H,1011762,8,200,4,16,1015675,143,0,1,3,,0,2,2,,,,,,,,1,,,,,,1,1,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,44,31,36,158,278,138,47,148,141,43,154,231,204,237,149,129,153,159,41,155,225,249,249,133,40,154,232,133,170,229,163,57,39,45,149,136,136,137,193,151,49,46,39,138,215,161,44,144,154,40,148,251,229,282,150,124,144,152,48,154,210,237,252,139,44,133,233,128,140,254,105,38,50,48,139,144,156,144,208 H,1012157,8,300,4,16,1015675,67,6,1,1,,5,2,2,,40,0,2,40,1,320,1,,1,620,1,1,1,7,,,200,1,1,,14,2,420,3,1,38000,3,,,1,1,38000,0,3,3,3,1,3,4,6,0,0,4,30,0,0,1,0,0,1,935,2,0,1,21,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,66,72,62,64,91,18,64,101,16,52,20,68,138,66,100,18,61,105,17,101,61,65,83,69,61,20,59,117,20,88,18,69,95,74,124,20,84,92,105,16,59,61,56,64,69,119,73,18,118,65,112,62,22,85,20,109,75,21,104,21,71,58,77,74,66,111,69,18,87,77,100,67,22,53,19,125,62,24,21 H,1012294,8,200,4,16,1015675,256,0,1,1,,2,1,2,,,,,,,,2,,,,,,2,4,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,393,497,256,230,268,275,218,79,77,98,219,419,242,66,270,224,69,274,382,370,479,383,223,289,257,254,252,67,81,103,243,400,248,94,362,282,76,264,409,430,382,520,298,292,218,217,262,80,79,80,274,365,262,79,242,279,76,257,332,385,370,340,222,241,284,357,281,74,75,78,268,420,279,91,241,247,83,287,413,393 H,1012456,8,300,4,16,1015675,114,2,1,1,,4,2,2,,50,0,2,30,1,490,1,,1,440,1,1,1,9,,,,1,1,,18,2,120,3,1,64600,4,,,1,1,64600,0,4,4,4,1,1,0,2,0,0,0,10,0,0,0,0,0,1,530,3,0,1,36,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,44,124,181,117,38,115,98,34,93,164,221,196,116,136,123,99,103,34,39,172,178,148,31,101,229,117,118,169,110,30,36,36,112,121,128,114,97,174,32,167,212,112,38,112,199,110,107,207,104,34,30,33,138,104,119,112,117,200,164,29,32,102,216,112,28,120,106,31,144,237,195,205,111,113,148,137,115,29,196 H,1012635,8,900,4,16,1015675,181,2,1,3,6,4,2,2,,60,0,2,380,2,4800,1,,2,330,2,1,1,9,,,,1,1,,24,1,2,9,2,27800,4,,,1,1,27800,0,4,4,4,1,5,0,2,0,0,0,66,0,0,0,1,0,2,1537,3,0,0,56,2,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,344,201,67,179,169,54,156,263,265,265,192,193,155,140,185,57,66,68,243,171,305,180,86,186,168,70,163,227,220,257,217,219,196,212,179,54,70,54,69,180,66,221,279,163,158,251,199,55,51,60,202,165,163,203,207,240,260,282,70,175,53,164,311,202,187,275,179,69,48,55,172,172,178,233,211,250,275,255,246 H,1012668,8,900,4,16,1015675,20,3,1,2,1,4,2,2,,100,0,2,130,3,1200,1,,2,650,2,1,1,8,,,,1,1,,19,2,1200,8,2,36000,2,,,1,1,36000,0,2,2,2,1,5,1,3,0,0,1,39,0,0,1,0,0,2,1155,3,0,1,20,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,33,22,22,5,21,25,17,16,5,18,19,46,31,5,6,39,23,7,15,6,5,21,29,33,18,23,16,15,26,16,26,6,7,35,34,7,22,31,23,6,8,23,16,32,17,17,20,18,32,21,22,7,5,37,44,5,18,34,24,33,40,20,16,5,22,18,21,26,5,23,18,28,33,6,7,26,17,5,15 H,1012722,8,400,4,16,1015675,116,1,1,1,,2,1,2,,30,0,2,70,1,250,1,0,,,,3,1,5,,,,1,2,,7,1,130,3,,,,,,1,6,20700,0,4,4,4,1,5,0,,0,0,0,8,0,0,0,1,1,1,132,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,123,49,172,64,38,130,38,248,134,107,143,101,39,104,196,124,180,189,128,38,127,35,115,124,32,112,42,151,157,124,73,108,36,67,206,161,239,219,90,40,122,45,129,96,70,217,38,149,215,86,134,114,28,97,184,124,138,184,163,39,75,33,114,88,35,74,32,182,186,133,69,93,40,118,270,156,272,235,130 H,1013012,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1013839,8,100,4,16,1015675,55,2,1,1,,2,2,2,,90,0,2,2,3,350,1,,1,1200,1,1,1,3,,,,1,1,,18,4,50,4,1,66000,4,,,1,1,66000,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,0,0,1,1294,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,70,98,49,41,63,17,12,45,13,101,13,106,41,88,149,53,37,46,65,34,17,47,89,23,27,62,95,93,38,75,47,36,88,63,70,27,12,113,134,98,62,17,45,51,43,81,112,65,93,14,84,17,57,15,14,50,78,45,46,56,73,64,16,89,70,47,75,13,54,64,83,70,18,71,52,81,118,16,15,17 H,1013985,8,100,4,16,1015675,69,3,1,1,,3,2,2,,140,0,2,140,1,250,1,,1,820,1,1,1,7,,,250,1,1,,18,2,40,2,3,60000,2,,,1,1,60000,0,1,1,1,1,2,1,3,0,0,1,27,0,0,1,0,0,1,1353,2,0,1,66,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,55,84,22,23,20,62,140,63,24,59,65,19,65,117,123,111,69,72,137,71,65,78,23,18,17,61,121,58,23,66,58,19,77,115,111,115,78,77,26,62,65,102,111,124,119,91,20,55,90,65,56,111,71,27,20,17,61,64,22,78,75,68,120,136,116,75,19,60,104,70,68,123,76,19,17,18,61,72,127 H,1014581,8,900,4,16,1015675,88,1,1,2,1,3,2,2,,40,0,2,50,2,,1,,,,,,1,6,,,,1,4,,,0,30,8,,,,,,1,6,11100,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,95,27,77,102,76,71,32,79,101,185,156,27,23,107,91,25,162,185,81,107,86,125,73,92,78,88,166,61,104,41,26,134,126,28,99,130,29,32,82,92,81,141,82,89,84,92,132,72,125,34,34,140,125,27,85,143,29,33,77,87,67,25,105,86,81,68,23,84,103,158,157,30,25,139,80,26,172,158,81 H,1014932,8,300,4,16,1015675,100,1,1,,,1,5,,70,90,0,2,3,3,70,1,,,,,3,1,4,,,,1,2,,11,2,1,4,,,,,,1,4,16800,0,4,4,4,1,6,0,,0,0,0,17,0,0,0,1,1,1,233,,0,0,18,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,27,156,100,95,26,87,26,25,173,166,109,107,97,97,26,159,132,118,27,96,166,35,120,113,205,98,126,161,33,28,102,133,113,98,163,27,95,99,34,93,157,32,101,124,179,92,173,188,28,37,98,95,101,124,151,23,104,89,134,96,32,189,85,94,29,100,28,31,154,166,94,94,114,114,29,186,109,106,195 H,1015277,8,200,4,16,1015675,58,2,1,1,,4,2,2,,80,0,2,3,3,460,1,,,,,3,1,8,,,,1,2,,16,2,510,5,4,57800,4,,,1,1,57800,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,2,2,1,294,,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,19,57,88,121,67,60,59,73,60,18,63,113,20,52,21,46,115,81,116,18,92,59,18,20,57,59,54,49,65,92,54,16,102,63,98,58,15,52,83,18,91,62,16,21,63,57,67,60,83,103,59,24,90,57,98,49,23,68,18,89,15,77,109,94,62,67,53,67,67,15,55,121,19,53,14,57,81,49,18 H,1015425,8,800,4,16,1015675,17,7,1,2,1,3,1,2,,50,300,2,3,3,0,1,0,,,,3,1,5,,,,1,2,,5,2,150,5,2,188000,2,,,2,1,188000,0,2,2,2,2,5,5,7,0,0,5,1,0,0,1,0,0,2,88,,0,0,8,2,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,25,17,5,5,5,25,14,13,26,21,25,36,30,17,5,18,23,17,13,25,5,19,31,39,25,18,17,17,21,21,3,5,5,15,24,22,5,15,13,5,26,17,5,8,5,18,15,15,21,17,28,36,43,15,1,13,34,19,14,27,3,20,34,36,27,16,15,15,17,19,5,5,7,15,22,17,5,20,19,5 H,1015478,8,500,4,16,1015675,106,2,1,1,,4,2,2,,40,0,2,70,1,,1,,,,,,1,6,,,,1,4,,,1,600,6,2,45000,4,,,2,1,45000,0,4,4,4,2,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,150,101,163,122,80,157,104,26,163,201,29,120,114,34,96,45,126,105,121,185,30,115,31,102,92,39,113,199,35,38,154,112,126,178,85,230,129,170,112,30,237,92,158,78,123,208,112,35,165,202,45,113,150,31,115,36,109,111,101,126,45,98,28,85,107,36,105,183,32,43,194,125,119,160,112,166,102,102,87,28 H,1016022,8,500,4,16,1015675,121,2,1,1,,2,2,2,,80,0,2,80,3,150,1,,,,,3,1,5,,,,1,2,,12,1,270,2,4,24600,4,,,1,1,24600,0,4,4,4,1,4,0,2,0,0,0,12,0,0,0,2,2,1,238,,0,1,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,100,111,121,248,214,126,172,128,170,40,212,127,37,32,38,118,176,34,112,127,129,95,105,36,35,117,143,109,40,197,33,118,199,217,209,118,39,186,120,131,101,120,125,194,202,149,126,134,225,35,200,118,36,39,30,111,182,36,136,113,102,123,130,31,34,132,110,118,38,200,33,136,197,215,214,128,37,191,128,125 H,1016165,8,300,4,16,1015675,38,4,1,1,,3,3,2,,110,0,200,200,6,500,1,,2,700,2,1,1,6,,,300,1,1,,10,3,360,8,1,34800,2,,,1,1,34800,0,2,2,2,1,2,2,4,0,0,2,48,0,0,1,0,0,1,1399,4,0,1,1,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,37,32,33,35,35,14,12,10,42,85,33,10,50,31,12,41,70,77,49,14,39,42,40,41,34,61,48,50,50,14,35,64,38,31,58,39,13,13,13,12,29,39,37,45,40,66,60,66,46,13,42,63,36,38,62,33,9,11,10,73,51,39,34,30,41,10,10,12,36,74,42,8,40,34,11,44,60,64,65,50 H,1016186,8,400,4,16,1015675,112,1,1,1,,2,2,2,,40,0,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,1,940,4,,,,418,39,1,6,12800,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,134,35,37,132,87,40,214,170,93,107,38,126,114,100,115,35,104,139,137,213,163,33,43,175,85,35,166,198,126,105,42,95,102,148,124,29,122,190,141,32,34,186,175,38,90,199,43,31,130,94,158,106,99,95,156,238,98,108,124,36,36,166,153,30,98,203,43,39,113,108,248,92,93,114,111,158,112,142,91 H,1016333,8,200,4,16,1015675,32,2,1,1,,5,2,2,,70,0,2,60,1,500,1,,1,910,1,1,1,9,,,,1,1,,18,1,550,5,1,18100,4,,,1,1,18100,0,4,4,4,1,1,0,2,0,0,0,72,0,0,0,0,0,2,1086,3,0,1,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,10,9,31,60,31,14,37,25,9,32,42,50,56,32,44,29,21,29,8,9,48,42,30,10,37,46,35,47,59,29,11,12,10,56,28,22,29,28,58,46,12,9,28,51,24,7,32,32,10,31,45,79,46,31,46,30,27,31,12,10,35,53,29,11,40,65,58,29,46,35,10,8,10,38,32,28,28,37,54,64 H,1016400,8,900,4,16,1015675,88,4,1,1,,4,2,2,,40,0,2,40,1,300,1,,1,750,1,1,1,8,,,200,1,1,,14,3,360,4,2,55100,2,,,1,1,55100,0,2,2,2,1,1,2,4,0,0,2,23,0,0,1,0,0,1,1060,2,0,1,24,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,27,94,90,95,97,94,147,72,27,136,112,161,91,26,78,25,156,85,26,155,157,80,88,90,80,83,25,90,133,25,84,28,78,147,111,155,28,97,30,139,163,94,97,99,82,75,23,87,142,28,80,20,75,141,92,160,23,87,133,30,24,91,93,83,93,94,162,93,25,190,96,174,85,27,87,26,157,86,149 H,1016662,8,500,4,16,1015675,139,3,1,1,,3,1,2,,80,0,2,3,3,580,1,2400,1,400,2,1,1,6,,,,1,1,,5,3,150,9,1,53000,2,,,1,1,53000,0,2,2,2,1,5,1,3,0,0,1,16,0,0,1,0,0,2,726,3,0,0,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,259,46,44,46,41,201,139,144,45,238,133,136,228,135,139,236,145,130,132,148,49,210,271,222,229,33,114,174,264,42,131,166,43,130,149,39,134,123,120,130,40,227,261,253,222,38,156,130,261,48,150,134,54,163,126,36,127,127,131,123,227,48,39,49,45,230,144,119,39,230,141,171,228,144,160,232,129,129,134 H,1017328,8,100,4,16,1015675,66,2,1,1,,2,2,2,,60,0,2,3,3,,1,,,,,,1,5,2,850,,1,3,,,1,70,4,5,20000,2,916,55,1,2,20000,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,144,64,57,51,23,102,88,62,91,99,20,55,18,74,59,22,69,20,59,16,21,82,75,50,93,71,21,73,19,21,96,53,109,64,70,126,82,131,69,136,125,64,54,72,24,67,111,70,109,96,17,63,12,55,68,24,73,23,81,24,13,54,54,65,119,49,20,76,20,19,89,83,127,74,68,123,68,107,66 H,1017721,8,800,4,16,1015675,30,1,1,3,6,1,2,2,,20,0,700,3,6,0,1,,,,,3,1,5,,,,1,2,,21,1,2,9,,,,,,1,4,15500,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,1,0,1,328,,0,0,42,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,28,32,28,31,65,25,25,10,9,59,47,9,30,50,9,8,30,25,50,31,31,29,31,30,10,29,36,58,60,9,8,47,24,11,53,53,32,32,8,32,36,30,30,33,6,33,33,57,51,8,8,50,32,10,48,58,29,28,11,37,28,30,30,34,48,23,35,8,9,52,45,12,31,54,8,8,27,29,59,38 H,1017750,8,600,4,16,1015675,100,1,1,,,2,7,,,50,0,2,3,3,,1,,,,,,1,4,2,730,,1,3,,,1,1,5,,,,780,100,1,6,9400,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,103,174,105,154,167,28,28,99,98,100,105,159,28,106,97,103,170,28,30,96,91,169,104,157,182,30,29,104,102,93,104,182,31,100,92,105,166,29,180,100,106,27,97,30,32,160,168,95,100,93,104,28,166,106,104,95,28,178,168,103,102,27,100,28,27,184,157,99,103,94,93,29,183,105,103,103,31,177,30 H,1018404,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1018485,8,100,4,16,1015675,90,3,1,1,,3,2,2,,60,0,2,3,3,410,1,,2,530,2,1,1,5,,,,1,1,,16,3,500,3,1,43500,2,,,1,1,43500,0,2,2,2,1,4,1,3,0,0,1,21,0,0,1,0,0,2,766,3,0,1,24,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,24,96,102,76,85,27,100,33,91,30,29,25,25,86,100,24,28,96,134,90,87,155,158,134,143,95,152,91,158,90,87,78,83,165,141,93,86,141,89,25,34,73,103,82,73,27,91,21,83,27,33,25,25,81,88,31,25,80,157,91,78,166,150,153,160,82,149,91,147,97,101,97,90,171,138,95,90,156,78 H,1018512,8,700,4,16,1015675,110,1,1,1,,3,2,2,,20,0,2,160,1,600,1,,1,850,1,1,1,5,,,,2,1,,17,2,300,2,,,,,,1,4,60000,0,4,4,4,1,4,0,,0,0,0,21,0,0,0,0,0,1,1055,3,0,1,14,,,,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,32,28,163,125,180,113,126,183,95,193,32,31,108,103,110,191,112,36,120,114,192,196,32,113,34,121,108,33,113,31,178,166,103,108,101,37,110,171,104,102,33,33,205,123,199,114,111,193,119,179,30,32,113,102,119,176,108,32,105,114,175,201,37,98,29,103,110,31,108,34,196,178,109,117,104,34,106,159,114 H,1018535,8,500,4,16,1015675,108,5,1,2,1,3,2,2,,130,0,2,130,1,520,1,,1,810,1,1,1,6,,,,1,1,,18,2,2,6,1,76500,2,,,1,1,76500,0,2,2,2,1,4,3,5,0,0,3,17,0,0,1,0,0,1,1070,3,0,1,23,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,187,175,36,110,107,190,32,119,99,32,113,110,29,113,132,96,34,196,106,190,167,178,33,116,108,176,27,109,118,30,107,105,30,102,107,102,29,196,92,34,33,27,177,122,99,32,178,118,119,180,110,111,170,100,103,103,193,35,116,35,33,37,221,100,93,34,185,101,109,191,108,109,177,115,106,98,183,28,107 H,1018768,8,500,4,16,1015675,89,4,1,1,,3,2,1,,60,0,2,110,1,290,1,,1,910,1,1,1,6,,,,1,1,,17,3,360,2,1,36000,3,,,1,1,36000,0,1,1,1,1,2,2,4,0,0,2,37,0,0,1,0,0,1,1110,3,0,0,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,168,78,25,140,143,28,94,98,25,104,26,84,84,89,175,83,132,86,28,96,131,85,25,158,145,27,98,90,26,89,23,86,87,84,156,80,144,94,28,81,153,76,26,142,163,27,76,85,31,75,24,86,78,87,151,84,171,99,25,91,157,88,29,128,135,31,90,90,26,88,27,94,86,75,131,87,163,88,26 H,1018971,8,500,4,16,1015675,169,3,1,1,,3,2,2,,50,0,2,50,1,50,1,,,,,3,1,4,,,,1,2,,18,2,500,5,1,56000,1,,,1,1,56000,0,1,1,1,1,3,1,3,0,0,1,8,0,0,1,0,0,1,354,,0,1,37,2,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,254,180,160,172,151,310,257,166,162,315,164,201,249,266,277,269,167,273,165,51,44,177,183,194,173,52,45,192,199,57,180,207,56,54,49,51,182,50,145,48,47,161,175,142,192,59,42,152,162,64,167,150,48,45,51,55,183,57,171,258,254,170,184,169,160,269,278,173,189,335,189,191,290,277,262,266,172,323,164,228 H,1019320,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1019680,8,300,4,16,1015675,65,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,19,65,101,18,24,58,62,104,65,54,65,68,137,66,59,22,18,99,60,101,15,60,126,20,17,63,58,113,62,80,61,60,90,74,74,19,22,95,56,18,102,60,16,100,106,61,58,17,63,64,67,64,21,85,67,113,130,20,59,19,114,60,21,111,112,61,65,17,59,69,58,60,23,57,68,118,110,23,70 H,1019724,8,600,4,16,1015675,142,2,1,1,,3,2,2,,50,0,2,4,1,800,1,,1,700,1,1,1,6,,,160,1,1,,15,2,990,5,,,,,,1,7,38250,0,4,4,4,1,3,0,,0,1,0,31,0,0,0,0,0,1,997,2,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,43,45,256,150,231,137,146,258,153,208,39,39,144,147,148,218,135,46,135,161,39,40,230,159,249,144,137,257,145,251,42,38,147,152,132,250,143,42,141,139,41,43,234,151,268,140,128,266,134,229,48,42,148,141,134,290,146,46,153,140,41,44,265,140,228,134,138,240,123,252,43,46,133,137,142,242,154,34,172 H,1020073,8,100,4,16,1015675,113,3,1,,,1,5,,,70,600,2,3,3,,1,,,,,,1,3,2,730,,1,3,,,2,2,2,8,6300,2,800,101,1,3,6300,0,2,2,2,1,2,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,216,102,99,38,134,135,125,94,43,93,108,202,143,32,35,191,112,34,134,33,32,140,100,199,98,105,137,150,175,135,121,36,35,175,201,24,87,213,83,244,169,121,125,31,107,126,108,124,34,99,120,243,194,32,32,216,123,37,94,33,35,107,107,168,102,97,131,123,173,144,104,32,46,193,226,35,127,189,141 H,1020090,8,800,4,16,1015675,128,3,1,2,1,3,2,2,,80,0,2,40,1,1000,1,,1,2900,1,1,1,6,,,,1,1,,23,4,2,3,2,178500,2,,,1,1,178500,0,2,2,2,1,5,1,3,0,0,1,20,0,0,1,0,0,1,3020,3,0,1,47,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,194,191,37,143,202,34,45,119,152,269,110,110,133,132,197,140,109,34,125,42,192,234,37,115,249,46,39,123,131,214,101,114,144,112,211,131,131,41,123,43,201,206,40,120,255,41,41,128,114,195,116,116,141,129,223,110,121,41,165,40,199,205,46,117,195,42,44,103,127,212,141,127,149,127,164,147,125,38,163 H,1020168,8,600,4,16,1015675,102,1,1,,,1,9,,,20,130,2,3,3,,1,,,,,,1,2,2,100,,1,3,,,1,1,5,,,,120,21,3,6,6800,0,4,4,4,2,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,159,28,110,29,24,108,29,178,95,108,93,184,100,28,105,176,157,104,96,104,181,33,101,32,31,113,30,187,109,90,95,169,97,32,107,208,173,94,96,99,169,29,119,30,29,102,32,176,113,98,94,170,120,32,116,166,165,98,93,105,165,30,101,28,27,89,28,186,100,104,104,176,118,34,100,175,164,107,99 H,1020288,8,800,4,16,1015675,20,2,1,2,1,3,2,2,,90,0,1200,3,6,390,1,,,,,3,1,5,,,,1,2,,14,4,50,9,1,57600,4,,,1,1,57600,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,1,259,,0,1,9,2,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,20,29,28,39,20,20,18,21,19,5,6,7,16,39,26,5,22,33,19,5,22,32,34,35,22,22,22,21,16,7,5,6,24,32,20,7,24,40,26,7,17,32,42,27,15,25,21,23,17,5,7,5,19,39,15,5,18,35,15,6,22,44,28,27,20,16,18,21,20,6,8,7,17,38,19,7,20,24 H,1020415,8,600,4,16,1015675,103,2,1,1,,1,2,2,,90,0,2,60,1,250,1,,2,700,2,1,1,5,,,,1,1,,18,3,350,9,2,35000,4,,,1,1,35000,0,4,4,4,1,5,0,2,0,0,0,34,0,0,0,1,0,1,1000,3,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,101,93,102,182,94,104,32,179,26,31,99,104,174,172,31,100,105,106,35,170,107,117,98,30,98,110,186,31,174,176,106,99,28,29,172,115,107,92,30,169,91,96,111,35,108,106,200,28,178,169,104,104,32,30,168,103,100,102,170,30,92,111,107,163,112,93,29,190,29,30,103,107,184,183,30,97,99,112,176 H,1020685,8,600,4,16,1015675,115,1,1,1,,3,2,2,,30,0,450,40,1,360,1,,1,1000,1,1,1,6,,,,1,1,,19,2,300,4,,,,,,1,4,36000,0,4,4,4,1,5,0,,0,0,0,38,0,0,0,0,0,1,1133,3,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,122,206,110,98,33,34,186,185,31,111,204,35,33,113,114,181,111,109,108,114,115,204,118,118,35,34,182,190,40,113,200,37,37,121,127,203,116,123,121,114,118,199,128,114,35,35,196,187,32,117,199,30,35,121,123,206,112,112,111,107,110,196,112,114,36,35,185,196,35,109,192,33,32,113,119,196,105,113,112 H,1020896,8,300,4,16,1015675,33,2,1,,,1,7,,,170,0,2,3,3,,1,,,,,,1,3,2,160,,1,3,,,1,1,5,4,9200,4,330,43,1,1,9200,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,36,10,8,10,34,53,28,10,29,41,11,30,60,67,69,34,33,27,24,8,34,52,52,77,42,11,31,56,39,38,61,42,8,13,12,33,46,31,33,8,34,61,45,63,50,13,28,61,44,43,71,38,8,10,13,25,28,33,25,64,51,10,8,9,32,50,25,12,37,41,10,32,58,57,69,31,29,27,30,47 H,1021014,8,300,4,16,1015675,19,2,1,2,1,2,2,2,,60,0,200,230,1,670,1,,1,610,1,1,1,5,,,100,1,1,,14,3,2,8,2,25000,4,,,1,1,25000,0,4,4,4,1,6,0,2,0,0,0,49,0,0,0,1,0,1,1017,2,0,1,14,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,20,7,6,37,31,5,24,41,6,7,23,21,28,21,23,24,22,32,22,20,17,37,38,6,5,27,19,5,30,30,20,17,7,19,25,22,17,7,16,22,15,34,38,8,5,36,26,7,29,24,23,18,5,19,21,25,25,6,18,18,19,5,6,39,30,5,23,43,6,5,21,20,40,21,17,18,20,29,16,20 H,1021430,8,300,4,16,1015675,65,2,1,2,2,3,2,2,,60,0,2,190,1,500,1,,,,,3,1,6,,,,1,2,,18,3,2,9,6,28400,4,,,1,2,28400,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,1,1,2,392,,0,1,24,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,69,99,58,13,64,63,102,103,20,15,84,65,15,161,144,64,61,18,97,76,71,67,71,23,71,61,89,82,21,26,95,74,24,97,119,62,68,18,44,95,79,82,63,88,66,61,20,15,78,107,19,75,131,23,21,80,73,86,60,57,46,83,64,95,65,69,24,25,89,88,20,53,89,26,21,85,61,98,65,91 H,1021466,8,100,4,16,1015675,69,2,1,1,,3,2,2,,80,0,2,3,3,,1,,,,,,1,5,2,700,,1,3,,,2,500,6,1,38160,4,822,26,1,1,38160,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,52,135,62,73,127,61,27,117,127,18,74,74,22,70,22,59,59,66,22,104,61,109,59,66,100,64,20,114,125,19,68,67,23,59,22,80,73,81,27,110,65,147,57,73,118,71,22,112,102,20,56,60,22,75,18,56,60,74,24,129,83,117,66,71,111,69,18,114,112,21,73,75,23,67,19,59,56,71,22 H,1022758,8,700,4,16,1015675,98,1,1,1,,3,2,2,,30,0,2,20,1,800,1,,2,1000,2,1,1,7,,,,1,1,,18,1,360,2,,,,,,4,4,92200,0,4,4,4,1,3,0,,0,0,0,18,0,0,0,0,0,1,1355,3,0,1,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,87,96,95,177,180,82,205,29,168,27,81,28,29,93,86,88,130,96,115,90,152,29,32,95,93,185,94,99,99,109,179,97,95,27,27,174,171,27,27,185,99,99,80,27,31,79,30,177,33,159,100,146,178,98,101,101,109,117,91,83,26,169,167,110,74,34,105,95,99,95,32,90,92,205,166,34,28,156,164 H,1022765,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1022807,8,800,4,16,1015675,15,1,1,1,,2,1,2,,250,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,1,40,4,,,,,,1,6,19200,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,3,18,21,30,22,10,15,14,11,17,3,5,3,12,27,15,3,20,24,17,4,17,26,25,25,13,15,15,20,17,6,4,7,20,21,18,7,19,19,17,7,17,27,25,24,12,13,17,15,13,7,5,3,17,22,14,5,14,26,17,3,19,27,26,27,16,14,16,17,12,5,4,3,15,26,12,3,21,31 H,1023044,8,400,4,16,1015675,92,2,1,2,1,4,2,2,,60,0,2,3,3,1200,1,,2,980,2,1,1,7,,,,1,1,,20,3,2,4,1,67800,4,,,1,1,67800,0,4,4,4,1,6,0,2,0,0,0,22,0,0,0,2,0,1,1265,3,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,129,32,27,26,77,128,113,33,106,84,35,71,141,129,156,109,89,79,86,26,89,180,141,130,90,25,85,152,87,84,162,100,27,35,31,99,93,83,77,134,98,22,24,25,97,163,82,27,110,99,29,96,150,134,147,91,104,77,79,26,86,156,154,137,104,36,83,149,107,103,144,108,30,25,27,91,88,110,104,153 H,1023070,8,700,4,16,1015675,99,5,1,1,,4,2,2,,60,2400,2,60,1,50,1,,1,940,1,1,1,7,,,,1,1,,17,2,40,1,2,26100,3,,,1,1,26100,0,1,1,1,1,2,3,5,0,0,3,49,0,0,1,0,0,1,1063,3,0,1,18,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,31,170,99,176,102,29,102,27,190,96,26,28,98,98,101,99,101,155,105,164,31,165,101,172,108,32,92,30,175,99,30,27,89,97,108,106,98,148,93,28,163,29,104,29,94,166,114,162,32,92,159,181,111,104,105,94,111,31,97,33,174,33,98,32,95,159,93,160,26,87,172,161,96,101,86,95,116,30,85,190 H,1023096,8,700,4,16,1015675,108,1,1,1,,3,2,2,,20,1500,2,100,1,200,1,,,,,3,1,7,,,,1,2,,15,1,230,3,,,,,,1,6,7300,0,4,4,4,1,3,0,,0,0,0,46,0,0,0,0,0,1,279,,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,110,112,115,167,34,189,101,32,32,31,101,193,35,114,111,117,118,171,107,198,103,108,114,184,36,198,100,34,31,31,118,184,35,112,97,120,108,196,119,34,116,106,115,33,184,29,110,196,194,178,114,29,184,105,105,117,115,34,95,32,105,113,101,34,191,32,109,188,189,175,110,31,196,109,114,116,106,35,102 H,1023128,8,700,4,16,1015675,132,3,1,1,,4,2,2,,80,0,2,70,1,250,1,,1,1100,1,1,1,8,,,,1,1,,17,3,600,4,1,74600,4,,,1,1,74600,0,4,4,4,1,5,0,3,0,0,0,21,0,0,0,0,0,1,1300,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,127,226,128,144,41,207,36,44,130,141,213,235,37,137,131,133,41,121,227,124,137,234,134,133,42,229,38,40,131,138,203,231,40,129,152,128,35,132,37,124,135,40,135,137,199,44,233,226,139,130,39,39,217,158,146,121,216,129,42,135,137,41,135,143,234,36,212,197,136,145,34,32,225,132,120,150,245,139,207 H,1023151,8,600,4,16,1015675,88,1,1,1,,2,2,1,,30,0,2,40,1,580,1,,1,1000,1,1,1,6,,,190,1,1,,19,1,220,2,,,,,,1,4,41300,0,4,4,4,1,4,0,,0,0,0,37,0,0,0,0,0,1,1278,2,0,0,39,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,27,90,90,85,145,166,89,159,26,135,25,92,25,27,100,86,88,89,79,87,90,148,23,29,90,82,130,85,84,89,88,146,86,89,26,27,148,150,26,24,141,91,93,86,26,27,90,26,148,28,144,92,135,146,82,86,99,81,89,86,87,24,156,139,83,88,28,95,90,89,85,24,90,90,154,158,25,25,164,171 H,1023197,8,600,4,16,1015675,110,1,1,1,,3,2,2,,70,0,170,3,3,1300,1,,,,,3,1,5,,,,1,2,,14,1,290,4,,,,,,1,6,41500,0,4,4,4,1,6,0,,0,0,0,9,0,0,0,1,0,1,316,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,182,112,113,32,177,107,114,184,108,101,206,106,112,112,175,33,32,34,32,108,30,97,117,175,30,108,108,31,112,109,30,113,111,117,38,177,188,190,192,113,31,111,109,192,35,114,106,33,102,113,29,112,107,100,32,178,184,186,183,113,182,117,111,35,180,106,114,175,107,114,184,102,112,117,187,31,33,33,32,109 H,1023381,8,500,4,16,1015675,88,2,1,3,1,3,2,2,,100,0,2,3,3,450,1,,2,1000,2,1,1,6,,,,1,1,,16,6,2,6,1,62000,4,,,1,1,62000,0,4,4,4,1,5,0,2,0,0,0,24,0,0,0,0,0,1,1263,3,0,0,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,24,24,92,94,92,142,83,25,97,30,30,152,91,146,76,68,142,90,91,27,154,142,94,84,79,25,103,160,95,167,143,26,84,29,88,89,25,96,86,182,29,28,80,100,85,142,78,29,91,29,27,177,78,152,94,94,149,88,84,22,152,155,81,78,81,26,83,143,96,168,150,24,83,31,94,84,28,80,94 H,1023570,8,500,4,16,1015675,104,0,1,3,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,179,29,38,27,27,180,107,85,35,167,95,88,205,113,96,181,115,109,117,95,44,186,186,189,163,34,102,117,164,27,105,80,36,118,87,33,108,93,92,108,169,27,25,32,38,165,129,147,29,199,109,105,177,108,145,185,127,104,102,93,35,189,149,179,165,34,92,114,154,28,85,118,26,106,127,23,96,110,104 H,1023608,8,700,4,16,1015675,98,3,1,1,,3,2,2,,80,0,2,60,1,300,1,,1,890,1,1,1,5,,,100,1,1,,15,1,720,5,7,28800,1,,,1,3,28800,0,1,1,1,1,4,1,3,0,0,1,50,0,0,1,0,0,2,1190,2,0,1,21,2,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,33,103,32,96,150,105,169,30,106,162,165,96,102,83,102,111,26,96,145,32,28,97,27,100,182,100,157,28,100,187,150,96,97,103,109,105,27,95,191,155,161,103,180,91,30,92,29,178,102,29,28,104,101,88,90,102,170,97,32,188,168,81,164,97,30,113,29,161,103,35,27,99,95,101,112,92,163,99,29,25 H,1023884,8,200,4,16,1015675,70,3,1,1,,2,2,2,,90,0,1000,3,4,700,1,,2,450,1,1,1,5,,,450,1,1,,12,3,430,7,1,122000,1,,,4,1,122000,0,1,1,1,1,5,1,3,0,0,1,11,0,0,1,0,0,2,1167,1,0,1,6,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,81,20,25,121,101,28,98,92,39,25,128,82,113,49,56,66,58,102,81,72,44,29,18,85,98,17,77,85,18,67,108,96,194,78,50,43,54,173,83,63,86,27,22,107,107,32,120,132,23,17,70,59,127,107,70,65,78,127,76,55,50,27,16,99,117,21,103,94,24,24,75,82,101,111,83,52,63,156,89,63 H,1024051,8,300,4,16,1015675,39,5,1,1,,4,2,2,,80,0,2,320,1,310,1,,1,620,1,1,1,7,,,,1,1,,13,4,760,5,1,46870,2,,,1,1,46870,0,2,2,2,1,5,3,5,0,0,3,28,0,0,1,0,0,1,1083,3,0,1,20,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,44,68,35,58,16,11,40,42,36,70,40,9,51,13,10,74,33,61,44,43,43,11,29,11,69,63,49,47,35,10,36,70,38,59,63,15,49,11,36,35,45,60,40,59,13,11,41,41,30,58,39,12,49,11,13,69,49,70,52,46,31,13,36,10,75,60,41,47,38,11,43,53,41,82,60,16,48,14,61 H,1024157,8,400,4,16,1015675,43,2,1,1,,2,2,2,,70,0,2,60,1,420,1,,,,,3,1,4,,,,1,2,,5,2,400,8,4,14800,4,,,1,1,14800,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,2,2,1,200,,0,1,2,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,65,42,14,54,49,12,52,71,50,76,51,59,49,44,43,15,13,12,80,34,65,38,13,47,50,14,49,68,63,80,54,54,45,55,51,10,15,11,9,59,15,61,59,28,49,90,55,14,14,12,42,37,33,47,35,74,89,87,12,61,13,43,74,42,57,84,50,14,9,15,52,40,42,57,39,71,84,67,95 H,1024681,8,300,4,16,1015675,40,3,1,1,,4,2,2,,70,0,2,60,1,400,1,,1,1200,1,1,1,8,,,350,1,1,,16,4,480,2,1,100700,4,,,1,1,100700,0,4,4,4,1,2,0,3,0,0,0,20,0,0,0,0,0,2,1720,2,0,1,17,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,41,9,13,14,12,30,11,31,10,41,39,31,44,15,12,36,51,11,32,37,57,33,32,46,29,47,49,79,63,48,79,80,59,57,51,73,49,39,87,74,36,53,48,68,50,41,109,45,78,41,43,56,28,69,76,57,41,51,36,32,11,54,39,41,44,10,25,10,24,13,10,14,12,52,40,10,15,48,13,13 H,1024777,8,200,4,16,1015675,83,2,1,1,,3,2,2,,130,0,2,140,2,450,1,,1,840,1,1,1,5,,,,1,1,,15,2,420,9,4,47900,4,,,1,1,47900,0,4,4,4,1,5,0,2,0,0,0,29,0,0,0,0,0,2,1145,3,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,84,58,138,98,71,24,21,121,166,25,109,146,27,26,78,119,155,69,78,74,90,93,29,89,80,133,151,28,27,132,74,24,149,175,69,71,29,79,87,85,89,100,152,79,86,30,28,125,143,24,83,130,22,23,77,81,151,90,71,85,71,72,27,85,92,132,132,27,20,145,76,30,166,125,84,93,29,78,96,92 H,1024810,8,400,4,16,1015675,28,2,1,3,4,2,2,2,,50,0,300,3,6,820,1,,2,280,2,1,1,5,,,,1,1,,20,6,2,4,1,42400,4,,,1,1,42400,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,0,0,1,476,3,0,0,14,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,24,29,8,6,6,10,32,9,24,9,26,29,27,22,9,8,24,37,35,32,48,43,28,28,27,31,46,23,48,35,73,40,47,60,34,28,46,61,8,11,25,27,8,8,7,10,38,9,31,8,26,30,27,24,12,14,23,29,29,29,43,40,24,25,29,29,48,34,50,30,63,40,33,44,33,23,58,73,9 H,1025369,8,500,4,16,1015675,383,5,1,1,,2,1,2,,120,0,20,3,3,750,1,0,2,710,2,1,1,4,,,,2,1,,15,2,2,4,2,62000,3,,,3,1,62000,0,3,3,3,2,4,3,5,0,0,3,19,0,0,1,0,0,2,962,3,0,0,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,637,142,446,445,654,527,629,463,400,123,627,305,108,351,393,403,360,131,118,361,376,381,616,129,412,353,371,683,113,373,376,675,401,574,569,120,105,350,395,660,127,583,373,383,121,127,145,355,332,655,108,375,676,375,314,352,391,568,547,340,344,410,125,682,393,374,413,139,648,393,416,125,351,115,135,708,623,355,404 H,1025445,8,200,4,16,1015675,32,4,1,1,,3,2,2,,110,0,2,120,1,0,1,,,,,3,1,6,,,,1,2,,18,4,840,9,1,90000,2,,,1,1,90000,0,2,2,2,1,5,2,4,0,0,2,6,0,0,1,0,0,1,433,,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,35,29,51,54,30,30,45,29,44,76,57,56,49,31,61,33,43,26,10,32,25,34,10,6,33,32,10,32,30,10,10,9,10,30,10,32,12,40,52,40,30,33,57,56,36,27,41,28,45,78,43,46,52,29,51,36,48,29,10,36,33,34,10,8,32,34,9,27,38,12,7,6,11,23,10,34,12,42,61 H,1025483,8,600,4,16,1015675,76,2,1,,,2,5,,,30,0,2,90,1,,1,,,,,,1,4,2,700,,1,3,,,2,1,1,,,,820,16,1,5,62000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,65,79,22,27,86,139,77,127,22,124,73,127,85,25,20,71,124,90,78,24,131,20,72,82,26,83,24,74,78,86,136,82,135,77,75,102,72,22,122,78,74,70,23,26,83,142,77,116,20,138,74,129,84,20,21,72,153,93,76,19,140,23,74,73,28,80,23,84,74,75,114,71,145,73,70,130,76,24,141,71 H,1025612,8,400,4,16,1015675,154,3,1,2,3,3,2,2,,50,0,1200,100,6,700,1,,,,,3,1,4,,,,1,2,,20,3,2,2,1,125000,4,,,1,1,125000,0,4,4,4,1,3,0,3,0,0,0,5,0,0,0,0,0,2,516,,0,1,37,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,268,201,42,164,243,55,48,148,160,279,148,144,186,161,225,129,158,48,145,225,57,41,218,151,42,257,287,141,190,54,129,161,202,176,46,112,143,243,163,266,51,35,242,162,45,247,248,169,133,53,148,164,206,154,50,131,147,247,174,48,251,213,47,146,215,54,48,129,161,251,166,152,165,168,225,134,162,47,154 H,1025823,8,300,4,16,1015675,13,4,1,2,1,3,2,1,,60,0,600,100,2,850,1,,,,,3,1,5,,,,1,2,,12,3,2,2,1,62740,2,,,1,1,62740,0,2,2,2,1,4,2,4,0,0,2,7,0,0,1,0,0,1,356,,0,0,20,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,32,19,19,13,9,15,16,15,3,3,5,12,23,17,3,15,13,5,5,16,3,5,6,15,13,11,11,13,32,28,25,13,3,17,18,13,11,18,25,15,31,24,20,15,9,13,11,13,5,5,3,17,17,12,5,17,13,4,3,10,6,3,3,16,13,12,16,14,23,26,19,10,5,15,29,13,14,20,26 H,1025878,8,300,4,16,1015675,35,2,1,,,2,6,,,40,0,2,3,3,,1,,,,,,1,4,2,40,,1,3,,,1,1,4,1,13700,4,80,7,1,1,13700,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,42,43,32,53,31,74,41,33,57,39,8,45,49,13,32,28,12,37,8,13,36,48,30,54,46,60,46,29,59,28,7,59,64,15,28,46,13,37,51,48,31,46,36,11,36,8,38,48,10,41,72,10,10,69,23,29,84,35,52,61,29,33,35,10,41,16,69,29,8,49,48,11,11,51,34,35,53,28,10 H,1026075,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1026231,8,800,4,16,1015675,109,4,1,1,,3,1,2,,170,0,2,3,3,390,1,80,1,350,1,1,1,5,,,,1,1,,24,2,2,3,2,33500,2,,,1,1,33500,0,2,2,2,1,3,2,4,0,0,2,19,0,0,1,0,0,2,527,3,0,0,60,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,140,135,109,152,82,22,38,91,42,190,37,200,99,196,193,97,95,89,139,137,30,110,192,38,35,103,120,193,124,137,93,106,138,83,105,36,32,154,180,180,106,39,117,135,117,153,246,119,162,39,176,42,102,41,35,80,92,108,126,130,171,95,29,191,160,77,126,34,107,148,130,119,23,105,92,130,165,29,34,31 H,1026354,8,500,4,16,1015675,117,3,1,1,,5,2,2,,120,0,2,260,1,1200,1,,2,1500,2,1,1,9,,,140,1,1,,21,4,200,3,2,238500,4,,,1,1,238500,0,4,4,4,1,5,0,3,0,0,0,14,0,0,0,0,0,1,2779,2,0,1,65,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,109,200,34,196,112,109,107,106,115,112,34,186,126,121,196,224,124,32,31,145,32,118,129,125,36,169,196,177,187,32,108,116,177,33,124,146,38,116,113,33,117,202,36,199,141,109,115,118,100,114,34,196,141,111,171,171,115,40,35,106,37,120,114,110,35,188,191,196,174,38,114,108,203,37,122,121,32,124,114,36 H,1026385,8,800,4,16,1015675,80,6,1,,,3,6,,,150,3300,2,3,3,,1,,,,,,1,5,2,520,,1,3,,,1,1,5,3,25190,3,670,32,1,1,25190,0,3,3,3,1,3,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,2,5,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,108,73,86,106,23,25,78,27,154,22,125,83,108,176,79,82,104,75,70,153,77,26,133,122,115,83,34,75,75,106,87,25,85,79,117,134,22,21,74,107,94,22,117,149,67,86,25,68,75,81,63,29,86,71,129,119,27,26,24,88,152,89,87,85,25,23,77,23,141,25,153,91,116,136,91,90,86,93,19 H,1026752,8,200,4,16,1015675,167,4,1,,,4,4,,,70,0,2,20,1,,1,,,,,,1,7,2,750,,1,3,,,4,1,4,1,47300,4,840,9,1,1,116300,0,4,4,4,1,3,0,3,0,1,0,,0,0,0,0,0,1,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,64,306,139,59,56,195,160,166,178,187,264,161,49,253,147,244,126,54,361,193,39,255,160,43,53,151,141,146,243,142,251,236,56,257,178,297,165,64,213,183,44,249,128,59,60,170,205,177,166,208,271,166,46,231,141,288,138,53,212,166,56,266,146,48,68,141,151,202,237,161,195,210,59,242,226,332,146,49,190 H,1026777,8,200,4,16,1015675,145,4,1,1,,2,2,2,,130,140,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,1,7,,,,480,15,1,7,37400,0,4,4,4,1,1,0,,0,1,0,,4,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,49,144,184,78,69,138,151,198,166,123,119,152,242,159,142,45,41,205,209,197,48,160,228,43,51,157,134,183,142,169,149,134,202,136,146,59,62,241,155,57,208,122,45,219,197,135,199,44,137,153,183,152,55,180,114,209,193,38,131,46,207,157,43,220,254,179,154,56,174,113,108,130,61,135,139,201,255,72,115 H,1026864,8,700,4,16,1015675,82,4,1,1,,3,2,2,,70,0,2,30,1,580,1,,1,1800,1,1,1,6,,,,1,1,,20,3,2,5,1,80001,2,,,1,1,80001,0,2,2,2,1,1,2,4,0,0,2,28,0,0,1,0,0,1,1900,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,79,79,79,153,80,137,89,81,148,81,23,132,143,26,84,81,23,84,23,27,85,76,80,147,88,156,81,87,136,83,23,122,144,25,74,90,27,84,136,134,86,84,82,27,83,22,73,84,26,82,152,23,25,138,86,84,132,97,139,138,76,82,90,23,80,24,83,81,23,91,142,23,24,157,80,77,140,74,25 H,1026960,8,400,4,16,1015675,71,2,1,2,1,3,2,2,,100,0,2,3,3,400,1,,,,,3,1,5,,,,1,2,,14,4,2,2,6,62000,4,,,1,2,62000,0,4,4,4,1,3,0,2,0,0,0,4,0,0,0,2,2,1,183,,0,1,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,29,88,135,31,21,58,60,106,100,50,56,73,109,84,63,22,33,94,77,28,109,53,22,106,130,71,51,16,77,85,73,87,17,58,91,123,105,23,66,18,127,83,22,93,89,54,76,24,66,66,68,75,26,64,64,162,171,17,79,135,29,61,102,27,26,67,71,95,55,84,78,63,79,59,83,31,18,99,73 H,1027050,8,300,4,16,1015675,229,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,4,1,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,61,79,375,186,77,453,421,287,261,71,237,244,206,212,72,227,248,355,335,217,66,66,350,293,70,334,320,209,257,69,221,203,228,244,68,256,253,395,345,168,73,75,428,217,60,309,386,256,219,66,227,220,236,263,76,252,226,343,370,241,68,87,367,197,70,357,336,240,234,79,229,207,236,243,62,215,254,435,400,208 H,1027583,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1027758,8,900,4,16,1015675,64,2,1,2,1,2,2,2,,90,0,2,100,2,330,1,,1,550,1,1,1,8,,,,1,1,,16,3,2,5,2,194210,4,,,1,1,194210,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,0,0,2,740,3,0,1,31,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,107,59,66,18,22,101,96,22,76,101,18,18,60,56,110,56,70,64,60,63,18,68,67,107,107,22,23,103,63,19,101,128,61,71,18,61,71,54,66,57,17,56,77,121,116,22,17,124,75,20,111,113,55,65,22,63,59,66,57,48,112,63,69,17,20,109,111,21,60,122,20,23,80,66,93,64,71,59,52,78 H,1027846,8,100,4,16,1015675,112,2,1,1,,2,1,2,,30,0,2,30,1,0,1,1100,2,410,2,2,1,3,,,,2,1,,1,1,2,5,1,51500,4,,,1,1,51500,0,4,4,4,1,3,0,2,0,0,0,13,0,0,0,0,0,1,578,3,0,0,5,2,5,4,0,0,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,37,215,118,192,90,33,118,33,226,108,32,32,121,124,105,123,92,174,115,187,38,190,111,207,122,31,115,33,172,109,31,31,114,125,105,110,136,189,110,215,37,205,113,174,108,37,106,30,205,115,28,28,126,102,90,122,125,192,103,196,33,183,97,210,110,25,108,37,181,132,32,37,160,136,101,117,115,184,110,170 H,1027927,8,700,4,16,1015675,123,2,1,1,,4,2,2,,80,0,2,20,1,350,1,,2,10,1,1,1,8,,,600,1,1,,20,1,120,3,1,100000,4,,,1,1,100000,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,0,0,1,749,1,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,200,127,35,136,128,108,216,41,234,34,187,119,121,136,37,111,223,117,208,117,123,35,124,211,210,239,120,133,123,127,122,36,40,34,126,211,126,39,35,127,136,210,123,40,35,38,122,124,134,121,132,198,201,224,126,36,113,233,127,196,33,133,219,140,129,121,36,196,38,232,33,117,112,131,204,116,39,123,122 H,1028262,8,800,4,16,1015675,24,2,1,1,,3,2,2,,80,0,100,3,4,500,1,,2,870,2,2,1,6,,,,1,1,,16,3,360,7,2,54700,4,,,1,1,54700,0,4,4,4,1,7,0,2,0,0,0,24,0,0,0,1,1,2,1080,3,0,1,14,2,4,3,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,22,37,26,25,39,41,39,35,24,40,22,40,23,27,24,27,44,37,27,7,25,7,22,25,6,7,9,10,26,9,21,7,24,22,27,24,7,7,23,47,25,37,19,21,42,43,47,35,30,46,21,39,27,27,27,24,35,32,25,5,25,7,25,27,7,7,8,6,24,7,24,6,25,26,22,26,9,7,24,41 H,1028332,8,100,4,16,1015675,509,2,1,1,,4,2,2,,80,0,2,2,1,550,1,,1,1100,1,1,1,7,,,,1,1,,20,2,1200,2,1,80000,4,,,1,1,80000,0,4,4,4,1,3,0,2,0,0,0,19,0,0,0,0,0,2,1280,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,455,156,455,727,544,171,175,542,505,199,743,469,893,670,497,854,137,493,485,542,521,865,591,134,468,812,864,586,627,753,171,557,158,171,437,141,862,457,510,421,616,135,596,908,521,146,157,446,512,153,758,547,1069,787,503,869,149,505,542,451,524,913,491,156,474,732,739,566,519,763,172,447,138,210,545,171,823,514,511,654 H,1028776,8,200,4,16,1015675,210,3,1,2,1,3,2,2,,80,0,2,80,1,400,1,,1,690,1,1,1,6,,,,1,1,,15,3,740,8,2,30800,2,,,1,1,30800,0,2,2,2,1,4,1,3,0,0,1,36,0,0,1,0,0,2,912,3,0,1,29,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,333,274,101,88,360,252,93,426,389,207,249,52,183,324,203,237,130,206,191,235,90,51,261,253,78,256,286,75,61,186,225,279,208,157,148,187,431,193,174,191,105,62,276,348,94,270,329,60,113,236,289,407,169,197,284,263,335,180,199,169,294,280,39,68,290,251,94,260,309,249,263,84,169,165,193,292,79,166,184,179 H,1028779,8,100,4,16,1015675,79,1,1,3,1,2,2,2,,130,1600,500,3,8,0,1,,2,150,2,1,1,3,,,,1,1,,13,1,2,2,,,,,,1,6,4500,0,4,4,4,1,3,0,,0,0,0,95,0,0,0,0,0,2,355,3,0,0,10,,,,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,18,84,128,81,22,67,76,73,25,86,27,136,88,160,93,115,84,153,128,92,84,28,75,135,101,127,134,24,66,21,68,77,21,78,26,131,128,75,67,95,62,26,74,146,94,136,120,24,66,19,84,80,23,95,24,136,126,81,88,30,29,87,157,109,21,69,72,85,22,66,23,119,68,139,96,85,91,106,103,32 H,1028952,8,200,4,16,1015675,124,1,1,1,,4,2,2,,70,0,2,3,6,800,1,,1,950,1,1,1,8,,,,1,1,,17,2,910,5,,,,,,1,4,58000,0,4,4,4,1,1,0,,0,0,0,23,0,0,0,0,0,2,1096,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,39,37,116,136,228,123,167,131,127,159,128,123,34,44,160,147,39,118,109,253,43,37,135,135,168,110,116,128,113,252,158,98,55,38,189,174,36,187,114,220,42,36,95,112,221,135,125,153,137,166,109,95,45,48,141,144,46,174,114,240,48,52,109,139,236,134,122,103,111,161,135,97,39,51,211,226,37,131,119 H,1029298,8,400,4,16,1015675,71,2,1,2,1,3,2,2,,150,0,200,3,3,500,1,,1,1200,1,1,1,5,,,,1,1,,16,3,80,5,,,,,,1,7,90600,0,4,4,4,1,1,0,,0,1,0,18,3,0,0,1,0,1,1374,3,0,1,11,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,67,20,66,69,63,21,65,26,90,69,79,72,56,73,81,106,17,49,68,100,108,67,164,125,27,83,23,94,63,22,72,15,172,99,64,108,78,24,21,125,73,22,73,64,63,23,70,20,104,73,152,75,58,68,115,102,30,77,65,59,154,55,116,130,12,83,23,56,96,18,74,21,117,187,64,66,59,13,31 H,1029533,8,700,4,16,1015675,112,4,1,1,,4,2,2,,100,0,2,90,1,380,1,,1,1000,1,1,1,6,,,300,1,1,,18,2,500,2,1,64500,2,,,1,1,64500,0,2,2,2,1,3,2,4,0,0,2,29,0,0,1,0,0,1,1532,2,0,1,28,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,186,31,111,199,182,189,116,36,197,116,109,102,117,36,34,110,106,113,34,116,100,113,198,110,111,111,34,114,127,203,35,179,194,120,98,29,30,202,109,35,185,33,106,197,182,199,91,29,199,113,112,128,111,34,34,128,118,112,30,120,134,109,192,116,102,112,32,95,113,182,30,194,169,108,125,33,38,189,115 H,1029535,8,400,4,16,1015675,92,5,1,1,,3,2,2,,70,0,850,3,4,300,1,,1,770,1,1,1,6,,,,1,1,,14,2,390,7,1,35200,2,,,1,1,35200,0,2,2,2,1,5,3,5,0,0,3,32,0,0,1,0,0,2,944,3,0,1,25,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,139,161,30,34,190,77,23,148,166,84,87,25,91,111,90,92,32,89,86,100,155,148,30,30,109,81,40,201,162,98,85,23,89,91,84,95,27,100,96,115,25,25,147,152,30,82,154,30,25,96,119,138,84,86,77,87,124,88,111,93,32,36,171,158,32,100,138,23,27,120,81,167,110,86,95,87,167,97,77,81 H,1029778,8,100,4,16,1015675,125,2,1,3,1,2,1,2,,60,0,2,3,3,0,1,0,2,300,2,1,1,4,,,,1,1,,17,2,300,5,1,33000,4,,,1,1,33000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,2,468,3,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,127,153,210,127,181,111,116,248,142,36,216,208,36,139,103,40,121,38,127,40,120,136,199,141,203,133,123,207,138,37,161,195,39,122,118,41,116,39,114,215,121,118,37,134,36,119,109,39,121,223,30,34,240,131,119,216,123,203,121,212,123,134,34,120,34,131,122,39,150,236,38,39,222,124,121,230,120,214,108,32 H,1030049,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1030796,8,600,4,16,1015675,116,1,1,,,1,7,,,60,0,2,3,3,,1,,,,,,1,3,2,490,,1,3,,,1,1,5,,,,550,28,1,4,24000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,122,35,205,130,174,101,31,124,36,193,115,35,36,120,118,126,122,111,35,36,114,211,36,116,41,131,184,122,196,33,113,202,181,107,99,114,114,119,34,37,103,200,36,110,37,108,219,120,191,34,106,183,218,118,115,130,127,114,173,202,120,36,168,116,232,130,31,122,34,177,109,33,30,116,110,116,115,123,179 H,1030832,8,800,4,16,1015675,295,1,1,2,5,3,2,2,,50,0,2,3,3,,1,,,,,,1,7,2,500,,1,3,,,3,600,3,,,,600,12,1,4,60000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,307,373,372,304,364,359,297,165,416,466,105,255,303,167,230,96,293,347,292,130,611,315,411,269,197,474,364,97,477,533,126,356,298,71,263,84,282,314,246,124,310,308,380,302,397,330,268,136,371,410,126,296,335,138,276,86,249,303,300,84,666,309,396,238,301,666,302,90,645,518,108,306,278,84,249,87,282,307,389,121 H,1030854,8,300,4,16,1015675,64,7,1,1,,3,1,2,,180,0,80,3,3,380,1,1800,1,300,2,1,1,4,,,,1,1,,1,2,1,4,5,31000,3,,,2,2,43000,0,3,3,3,2,1,4,5,0,1,4,18,2,0,1,0,0,2,662,3,0,0,8,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,78,96,59,27,54,11,19,109,82,87,66,59,87,76,113,20,19,84,101,53,78,23,67,101,56,92,86,18,66,23,49,65,28,61,24,125,76,43,77,65,89,18,49,92,54,93,139,41,87,17,72,59,16,79,21,72,90,55,49,65,53,107,76,19,61,21,15,62,56,114,79,73,106,63,130,30,23,99,48 H,1030920,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1031496,8,100,4,16,1015675,84,2,1,1,,2,1,2,,60,0,630,3,6,750,1,300,,,,3,1,6,,,,1,2,,17,4,2,5,4,33700,4,,,1,1,33700,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,2,1,226,,0,0,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,79,85,31,106,75,152,177,25,29,164,93,25,133,128,92,74,19,82,80,67,77,68,25,120,86,137,129,22,26,134,110,29,148,150,73,68,26,93,86,73,90,109,146,68,83,25,24,149,172,29,102,130,20,24,88,90,137,69,61,78,97,94,115,88,90,23,33,144,146,30,72,114,28,24,99,74,142,96,90 H,1031615,8,900,4,16,1015675,80,3,1,1,,5,2,2,,180,0,2,60,1,180,1,,2,1200,2,1,1,9,,,,1,1,,21,3,2400,2,2,240000,2,,,1,1,240000,0,2,2,2,1,4,1,3,0,0,1,11,0,0,1,0,0,1,2197,3,0,1,64,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,24,22,25,75,75,75,72,83,112,152,131,70,24,91,127,73,92,145,78,25,24,24,28,78,84,78,73,99,117,177,151,72,23,78,153,85,84,118,66,22,22,23,30,68,73,81,79,63,151,124,132,80,25,65,132,61,79,146,80,28,27,25,22,93,87,101,82,77,143,130,126,69,22,83,151,82,81,138,89,23 H,1031683,8,200,4,16,1015675,139,1,1,,,1,4,,,10,0,2,20,1,,1,,,,,,1,3,2,600,,1,3,,,1,550,9,,,,676,20,1,6,41000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,41,123,165,49,138,241,252,205,168,191,170,116,131,42,39,45,184,280,47,172,224,157,171,246,117,34,44,30,113,160,128,125,124,201,173,160,140,58,44,175,285,127,121,243,156,37,36,38,195,225,160,131,129,183,215,243,166,58,257,172,46,164,134,41,140,179,159,195,111,138,120,129,158,33,38,37,146,310,230 H,1031731,8,800,4,16,1015675,386,2,1,3,6,3,2,2,,110,0,1800,3,4,590,1,,,,,3,1,8,,,,1,2,,16,3,2,6,4,36100,4,,,1,1,36100,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,2,2,388,,0,0,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,612,106,119,122,121,576,381,392,135,678,433,397,570,380,417,619,426,434,412,662,461,375,421,348,405,340,582,118,322,412,120,123,399,511,552,391,139,508,146,466,672,111,117,131,114,667,399,380,104,637,407,394,637,411,382,631,341,451,407,517,368,458,413,340,362,360,568,117,411,370,130,139,361,710,485,395,116,535,131,342 H,1031733,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1031894,8,600,4,16,1015675,82,3,1,1,,3,2,2,,60,0,2,90,1,400,1,,1,1300,1,1,1,7,,,,1,1,,20,3,600,2,3,110000,4,,,1,1,110000,0,4,4,4,1,4,0,3,0,0,0,16,0,0,0,1,0,1,1500,3,0,1,37,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,137,132,79,24,89,137,77,72,155,75,23,23,27,83,70,77,84,80,129,22,20,25,78,145,76,22,80,75,26,75,153,149,129,87,85,83,76,87,150,23,23,22,82,126,76,27,79,83,20,80,136,132,143,82,79,81,76,78,25,135,153,136,79,23,82,156,77,81,138,77,24,25,24,75,81,76,80,80,25 H,1032164,8,600,4,16,1015675,265,4,1,1,,4,2,2,,150,0,2,40,1,670,1,,1,1500,1,1,1,6,,,400,1,1,,19,2,460,7,5,57000,3,,,1,2,57000,0,3,3,3,1,4,3,4,0,0,3,45,0,0,1,0,0,2,2128,1,0,1,26,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,256,256,78,266,258,307,465,252,244,91,419,80,78,272,249,402,434,86,290,412,258,240,78,252,280,248,420,276,264,85,427,87,86,256,284,462,445,79,270,465,271,294,74,277,252,246,474,250,297,69,455,79,78,273,245,458,457,73,278,494,272,274,80,266,243,253,482,267,264,72,446,84,80,255,246,413,451,84,245,442 H,1032293,8,700,4,16,1015675,223,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,4,21,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,230,220,189,269,263,328,339,344,226,64,194,374,233,214,332,235,76,73,383,368,182,232,222,245,214,59,67,72,218,365,238,70,215,250,65,216,350,429,398,447,251,227,222,217,199,59,65,72,185,371,197,65,249,223,68,198,348,401,80,67,222,212,211,247,213,352,329,394,213,59,255,378,267,215,328,239,67,68,72 H,1032308,8,900,4,16,1015675,83,8,1,,,4,6,,,40,0,2,30,1,,1,,,,,,1,6,2,430,,1,3,,,3,1,2,2,39600,3,500,15,1,1,39600,0,3,3,3,1,1,4,8,0,0,5,,0,0,1,0,0,1,,,1,0,,3,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,27,25,77,75,133,102,103,67,76,120,68,74,28,27,157,139,26,100,82,28,181,136,73,76,24,90,84,87,70,27,95,77,149,118,20,23,128,86,84,145,23,25,84,76,123,98,83,68,82,125,74,102,30,27,123,114,24,85,92,32,129,139,92,88,25,68,83,111,81,22,85,115,136,127,23,19,118,85,116 H,1032309,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1032320,8,400,4,16,1015675,110,3,1,1,,3,2,2,,150,0,2,100,1,1200,1,,,,,3,1,5,,,,1,2,,14,2,600,3,1,68000,4,,,1,1,68000,0,4,4,4,1,2,0,3,0,0,0,9,0,0,0,0,0,1,517,,0,1,26,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,213,108,114,121,34,96,170,135,119,217,25,94,30,105,91,27,121,29,108,44,27,99,161,106,170,115,25,123,30,34,229,79,234,89,119,281,118,193,116,203,192,133,120,108,35,105,183,110,167,203,50,96,34,81,81,36,152,41,116,24,48,113,84,123,134,99,36,78,31,28,153,110,219,146,102,173,103,124,121 H,1032361,8,100,4,16,1015675,92,2,1,1,,2,2,2,,60,0,2,100,1,390,1,,2,530,2,1,1,5,,,,1,1,,17,1,600,7,4,33600,4,,,1,1,33600,0,4,4,4,1,2,0,2,0,0,0,31,0,0,0,2,2,1,864,3,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,85,150,171,35,25,154,111,25,168,153,89,85,29,98,85,112,77,22,87,86,89,24,26,166,159,27,87,130,30,27,90,90,126,100,81,86,88,155,100,90,93,22,29,163,142,24,88,157,29,24,102,90,127,90,83,87,85,148,105,112,93,149,162,30,25,135,96,23,146,151,81,105,27,89,84,105,92,28,105 H,1032703,8,100,4,16,1015675,54,2,1,1,,3,2,2,,50,0,2,50,1,0,1,,,,,3,1,5,,,,1,2,,9,2,560,5,4,28500,4,,,1,1,28500,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,247,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,60,54,52,108,95,42,81,17,89,15,59,17,19,58,63,57,52,49,49,41,74,17,12,50,59,76,49,60,52,61,137,51,50,14,15,116,71,13,16,94,47,49,58,19,22,43,14,94,16,90,55,107,85,47,59,60,54,52,57,66,17,74,74,53,54,13,57,56,51,61,15,48,45,85,111,17,12,76,101 H,1033111,8,100,4,16,1015675,74,1,1,,,2,9,,260,30,0,2,1,3,400,1,,2,1000,2,1,1,4,,,,1,1,,20,1,1,4,,,,,,1,6,42300,0,4,4,4,1,1,0,,0,0,0,44,0,0,0,0,0,1,1565,3,0,0,41,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,115,108,21,84,125,20,27,65,84,128,74,61,69,79,125,88,75,22,81,125,19,25,160,63,20,120,126,69,79,22,65,68,83,83,18,58,74,133,85,21,119,149,25,82,121,23,20,68,65,114,70,81,76,79,152,66,71,20,66,120,20,23,120,85,24,129,146,64,80,23,73,78,61,67,20,73,76,131,73 H,1033708,8,300,4,16,1015675,67,4,1,1,,4,2,2,,50,0,2,30,1,1000,1,,2,800,1,1,1,5,,,500,1,1,,20,2,380,1,1,190100,1,,,1,1,190100,0,1,1,1,1,1,2,4,0,0,2,9,0,0,1,0,0,1,1495,1,0,1,53,2,2,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,69,134,73,57,131,143,121,111,66,102,58,114,71,68,68,60,92,108,67,21,63,19,83,56,20,20,22,19,59,22,66,18,79,65,66,72,25,18,61,92,65,114,70,73,130,107,95,117,64,99,68,93,69,84,66,69,111,125,67,18,69,17,62,80,20,17,18,23,73,20,72,19,88,63,62,78,19,17,60,113 H,1033833,8,900,4,16,1015675,25,5,1,2,1,4,2,1,,70,0,2,160,1,900,1,,2,330,2,1,1,9,,,,1,1,,20,3,2,3,1,49400,3,,,1,1,49400,0,3,3,3,1,5,3,5,0,0,3,19,0,0,1,0,0,1,768,3,0,0,28,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,27,27,9,26,40,45,44,30,22,18,20,25,9,8,8,33,46,38,30,9,21,25,7,25,35,42,42,21,28,23,28,33,8,8,6,27,45,53,19,5,26,28,10,28,43,45,47,38,20,22,26,32,10,7,8,26,35,45,33,8,23,23,7,24,38,40,42,23,28,22,35,37,5,5,6,21,35,62 H,1033960,8,600,4,16,1015675,117,5,1,1,,4,2,2,,160,0,2,50,1,400,1,,2,1300,1,1,1,7,,,,1,1,,16,2,400,5,2,50700,3,,,1,1,50700,0,3,3,3,1,5,3,5,0,0,3,37,0,0,1,0,0,1,1576,3,0,1,21,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,129,120,37,124,36,210,218,128,109,120,35,107,209,126,207,195,35,115,120,211,108,111,218,117,190,32,35,117,130,118,216,103,35,134,32,32,175,113,104,34,114,134,36,116,37,207,173,111,133,117,33,116,189,119,189,225,34,112,113,240,123,110,196,112,192,35,36,123,110,104,181,128,35,118,37,33,224,132,130 H,1034281,8,900,4,16,1015675,206,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,3,10,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,63,216,432,212,216,204,362,178,346,65,243,60,184,210,219,59,66,328,207,351,205,61,202,54,61,338,198,388,187,210,294,215,292,53,71,202,214,204,62,180,397,211,68,229,199,203,61,193,57,328,195,298,192,200,271,374,322,65,208,64,203,354,190,325,334,61,214,65,197,229,69,230,57,332,336,179,200,202,344 H,1035087,8,900,4,16,1015675,81,2,1,1,,3,2,2,,60,0,2,110,1,460,1,,2,770,2,1,1,6,,,,1,1,,12,1,530,7,4,16000,4,,,1,1,16000,0,4,4,4,1,7,0,2,0,0,0,82,0,0,0,2,2,1,1090,3,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,25,84,157,101,25,72,83,24,81,131,177,173,86,72,71,75,71,20,21,118,106,67,21,91,134,70,92,128,68,27,23,25,88,89,95,72,78,131,120,23,20,74,124,83,26,73,78,20,73,125,143,130,98,81,71,71,66,27,29,125,101,65,25,107,133,66,83,108,76,28,25,26,116,117,97,85,79,135,135 H,1035135,8,800,4,16,1015675,26,2,1,1,,3,2,2,,80,0,2,3,3,500,1,,2,200,2,1,1,6,,,200,1,1,,14,1,530,3,4,45700,4,,,1,1,45700,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,2,2,631,2,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,9,8,31,31,37,22,25,29,31,41,22,25,9,7,38,48,7,22,30,6,37,38,22,25,6,19,21,29,40,7,25,29,49,40,6,7,34,26,28,32,8,8,29,32,36,23,27,22,34,47,33,22,5,8,47,42,7,25,32,6,41,33,27,28,6,29,24,24,36,7,24,32,44,41,7,7,42,27,27 H,1035162,8,400,4,16,1015675,24,2,1,1,,3,2,2,,60,0,2,3,3,520,1,,1,1300,1,1,1,7,,,,1,1,,21,2,350,6,4,118700,4,,,1,1,118700,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,2,1,1,1389,3,0,1,42,0,9,9,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,21,24,9,9,8,19,43,19,7,20,18,8,28,38,38,44,24,20,50,18,22,25,6,9,6,21,47,21,7,23,25,5,23,36,44,43,19,23,7,22,22,20,42,36,34,22,5,19,31,27,26,37,26,8,5,7,22,22,7,23,29,23,39,47,42,21,6,21,43,28,25,39,22,4,7,6,24,20,29 H,1035253,8,100,4,16,1015675,110,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,4,20,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,118,94,31,31,158,201,33,99,173,39,35,112,102,182,123,125,115,112,127,200,124,97,31,29,202,156,30,114,175,38,35,116,89,216,107,91,115,95,98,178,103,117,29,38,196,204,35,127,181,36,31,108,104,205,94,102,107,117,112,175,115,109,30,33,163,200,30,105,197,38,33,102,108,186,108,122,107,116,129 H,1035940,8,500,4,16,1015675,233,1,1,1,,1,2,2,,1,0,2,1,1,,1,,,,,,1,3,2,350,,2,3,,,1,1,6,,,,350,14,1,6,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,71,379,382,71,242,378,63,64,212,269,404,244,213,226,232,366,204,202,71,235,70,395,366,66,211,345,65,76,243,272,461,248,253,233,243,400,260,224,67,204,423,72,73,414,254,64,374,349,257,238,77,234,225,205,232,71,219,239,414,212,369,68,70,358,212,72,391,355,198,257,84,216,222,225,245,77,227,266,350,252 H,1035986,8,700,4,16,1015675,75,2,1,1,,4,2,2,,200,0,2,80,1,1200,1,,,,,3,1,9,,,,1,2,,23,3,60,2,2,170000,4,,,1,1,170000,0,4,4,4,1,1,0,2,0,0,0,7,0,0,0,0,0,1,968,,0,1,65,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,78,68,136,124,70,24,79,22,128,23,76,20,75,139,135,71,21,73,146,21,22,132,79,72,127,75,126,72,74,83,21,73,20,69,70,23,77,120,73,76,69,74,21,25,75,116,78,111,22,124,75,135,79,23,22,76,118,75,22,132,128,22,77,76,24,73,20,74,76,66,127,80,129,78,75,122,75,24,69 H,1036152,8,200,4,16,1015675,43,2,1,1,,4,2,2,,50,0,2,3,2,330,1,,2,680,1,1,1,7,,,160,1,1,,17,3,770,9,1,51100,4,,,1,1,51100,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,0,0,1,982,2,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,46,33,37,48,14,37,44,80,69,12,13,70,44,12,66,70,41,47,47,69,46,38,35,42,66,52,53,11,14,71,72,15,44,77,16,14,41,38,36,12,44,39,34,38,10,43,47,85,65,12,12,75,50,16,80,56,33,48,53,89,41,40,54,37,56,64,56,10,12,91,49,11,46,75,14,13,42,46,39 H,1036182,8,900,4,16,1015675,18,2,1,1,,3,2,2,,90,0,2,3,3,350,1,,,,,3,1,5,,,,1,2,,15,3,480,5,2,20200,4,,,1,1,20200,0,4,4,4,1,7,0,2,0,0,0,13,0,0,0,2,0,2,226,,0,1,18,1,6,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,28,36,35,17,16,18,19,17,5,5,5,18,23,15,5,20,24,5,5,17,6,6,6,21,15,25,25,16,27,26,30,15,7,21,27,21,28,39,28,20,36,32,39,21,15,16,23,18,5,5,5,14,28,20,6,19,18,6,5,15,5,5,6,20,18,18,18,22,29,25,33,17,5,20,29,18,24,38,28 H,1036527,8,500,4,16,1015675,100,2,1,2,5,5,2,2,,150,0,2,240,2,300,1,,2,1300,1,1,1,9,,,1000,1,1,,20,4,2,3,1,36000,4,,,1,1,36000,0,4,4,4,1,5,0,2,0,0,0,91,0,0,0,0,0,1,2715,1,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,98,89,101,174,196,88,28,102,29,181,29,104,36,100,167,167,104,29,93,156,32,28,193,103,114,180,99,145,105,111,97,29,94,25,105,94,28,115,174,109,95,93,95,26,30,92,160,101,176,26,170,105,217,101,26,29,93,166,104,30,239,177,33,95,82,31,101,32,87,102,101,150,105,167,108,107,164,95,31,104 H,1036642,8,100,4,16,1015675,120,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,111,38,232,134,130,112,191,111,38,124,190,210,125,147,196,32,122,37,39,108,116,35,188,113,124,114,187,108,36,122,198,194,137,122,226,40,164,35,34,106,131,190,36,138,109,125,38,148,233,125,39,33,111,124,32,213,112,183,191,119,117,219,41,128,113,118,35,150,215,120,39,33,125,109,35,218,110,246,189,122 H,1036789,8,600,4,16,1015675,109,1,1,,,2,9,,,1,0,1,1,1,,1,,,,,,1,5,1,160,,1,3,,,0,1,5,,,,160,6,1,6,32000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,104,32,177,113,110,111,193,108,38,101,190,206,112,114,189,29,101,30,32,112,109,33,191,116,112,105,182,110,31,109,196,168,98,108,189,33,113,30,33,110,105,184,31,113,100,104,34,103,212,100,29,33,107,116,32,186,112,178,190,116,112,201,28,105,110,109,31,103,190,108,32,32,98,129,34,182,105,179,209,97 H,1036987,8,300,4,16,1015675,119,2,1,2,2,2,2,2,,120,0,2,80,1,480,1,,2,1000,2,1,1,7,,,,1,1,,16,0,590,6,4,45100,4,,,1,1,45100,0,4,4,4,1,4,0,2,0,0,0,38,0,0,0,2,2,1,1428,3,0,1,28,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,114,181,38,118,34,43,106,34,167,104,99,113,217,141,38,121,187,234,119,114,129,32,222,133,244,199,118,162,32,140,133,114,41,105,242,126,39,37,92,120,89,172,36,110,40,36,113,33,182,125,154,111,180,135,46,108,173,259,119,97,116,42,182,136,216,179,117,216,35,101,117,99,31,153,186,141,42,35,153,144 H,1037185,8,800,4,16,1015675,85,2,1,1,,2,2,2,,100,0,2,3,3,400,1,,,,,3,1,6,,,,1,2,,15,2,420,5,1,82500,4,,,1,1,82500,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,1,0,1,260,,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,135,145,88,84,146,81,80,150,143,139,152,87,167,91,145,74,71,96,26,90,24,25,85,79,25,106,102,24,26,22,22,83,23,103,25,81,97,79,28,83,24,21,74,85,29,96,67,29,24,23,23,89,27,99,24,73,76,87,143,99,145,155,97,88,144,94,91,143,146,147,155,81,149,79,143,80,79,86,161 H,1037353,8,600,4,16,1015675,78,1,1,1,,2,2,2,,60,0,2,80,1,60,1,,1,900,1,1,1,6,,,,1,1,,15,1,40,8,,,,,,3,4,47000,0,4,4,4,1,2,0,,0,0,0,27,0,0,0,0,0,1,1043,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,73,80,68,118,137,73,84,133,77,75,140,145,127,136,75,125,88,133,84,23,91,76,76,22,24,81,82,25,80,81,25,22,21,25,78,21,71,23,84,124,72,78,74,131,146,77,77,110,78,81,138,144,145,148,81,168,84,132,84,23,82,79,84,25,22,71,73,21,69,80,24,22,20,20,85,23,81,23,73,137 H,1037522,8,700,4,16,1015675,132,4,1,1,,3,2,2,,50,3000,2,90,1,,1,,,,,,1,6,2,870,,1,3,,,1,600,3,7,18500,2,1060,69,1,3,18500,0,2,2,2,1,2,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,36,136,35,223,264,133,137,129,40,127,214,134,222,212,36,117,45,144,122,125,38,132,41,245,208,121,132,133,45,123,260,141,221,255,42,139,37,129,146,141,230,123,224,35,36,134,129,148,203,133,36,141,38,36,226,124,216,144,141,135,230,140,246,41,38,148,134,127,233,132,42,133,37,38,219,143,226,114,127 H,1037900,8,400,4,16,1015675,232,1,1,1,,3,2,2,,50,0,2,3,6,1800,1,,1,1600,1,1,1,5,,,,1,1,,20,2,200,5,,,,,,1,4,7530,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,1,1,2,1667,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,363,397,74,206,68,224,259,80,278,81,309,343,244,231,241,73,243,417,221,256,402,364,68,202,66,268,267,65,202,68,336,318,229,238,253,69,276,393,207,236,76,71,306,194,499,263,170,367,226,323,76,78,240,243,224,357,272,62,202,216,83,99,314,247,416,235,271,433,274,372,61,72,226,268,238,343,244,70,218,285 H,1038053,8,400,4,16,1015675,110,2,1,1,,3,2,2,,80,0,2,130,1,330,1,,1,200,1,1,1,5,,,,1,1,,13,2,340,7,6,40854,4,,,1,2,40854,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,1,1,438,3,0,1,22,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,89,130,105,89,34,40,36,102,148,112,35,90,115,33,108,198,151,230,239,114,92,111,100,106,35,30,33,126,200,117,40,96,106,38,125,154,159,268,28,133,114,110,112,103,153,223,201,111,31,94,191,139,112,157,137,44,29,31,36,127,117,100,109,76,128,197,199,105,33,127,235,90,80,208,130,26,36,45,160 H,1038111,8,700,4,16,1015675,122,1,1,1,,3,2,2,,20,0,2,80,1,340,1,,1,280,1,1,1,6,,,,1,1,,14,0,340,3,,,,,,1,6,14610,0,4,4,4,1,4,0,,0,0,0,34,0,0,0,1,1,1,408,3,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,34,205,225,115,197,137,112,37,123,34,109,37,115,111,203,133,120,201,33,131,127,120,131,38,141,241,33,134,39,116,189,117,197,35,115,236,214,120,126,34,37,215,227,118,193,113,135,39,136,32,119,34,130,106,216,125,127,217,32,117,114,130,102,41,118,199,36,124,36,117,210,121,219,38,114,229,197,131,113 H,1038138,8,600,4,16,1015675,112,1,1,1,,2,2,2,,20,0,2,50,1,210,1,,1,850,1,1,1,5,,,,1,1,,17,1,500,2,,,,,,1,6,9000,0,4,4,4,1,1,0,,0,0,0,101,0,0,0,0,0,1,962,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,119,123,113,101,35,33,174,34,98,115,202,187,168,100,115,30,194,115,28,109,198,181,33,33,119,112,108,118,218,32,109,116,115,201,36,113,111,182,118,32,109,108,118,105,34,32,178,33,110,106,188,175,192,115,116,30,180,115,30,108,176,211,33,33,127,106,113,116,198,32,117,109,109,200,32,120,107,185,103 H,1038186,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1038495,8,900,4,16,1015675,54,1,1,3,1,5,2,2,,40,0,800,3,4,700,1,,,,,3,1,9,,,,1,2,,13,1,2,8,,,,,,1,6,8400,0,4,4,4,1,7,0,,0,0,0,41,0,0,0,1,1,1,290,,0,0,27,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,15,18,16,50,79,51,18,55,45,16,53,98,85,75,71,63,50,64,16,59,112,106,78,57,15,39,96,58,57,98,49,20,15,13,55,47,56,58,9,57,87,83,89,65,17,66,98,50,59,91,57,14,15,15,53,61,51,60,90,47,24,20,15,61,108,44,18,53,82,17,50,93,91,79,50,46,63,53,65 H,1039075,8,300,4,16,1015675,68,1,1,1,,3,2,2,,20,0,2,150,1,600,1,,1,520,1,1,1,7,,,240,1,1,,13,1,350,6,,,,,,1,6,23730,0,4,4,4,1,3,0,,0,0,0,48,0,0,0,1,0,1,959,1,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,22,22,103,60,74,16,111,76,59,138,81,70,107,78,71,65,116,19,22,86,20,21,106,66,68,19,133,65,73,100,62,60,100,63,61,80,137,18,21,64,22,19,107,71,68,23,134,70,60,117,71,75,119,73,77,66,103,18,18,65,21,20,108,66,67,18,107,72,78,136,71,64,115,61,70,65,110,16,20,66 H,1039206,8,500,4,16,1015675,43,2,1,3,1,1,2,1,,70,0,2,50,2,,1,,,,,,1,3,,,,1,4,,,1,2,8,1,29400,4,,,1,1,29400,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,48,43,15,41,43,65,12,67,85,48,42,11,15,60,44,35,43,84,13,43,49,49,11,36,44,80,11,74,79,45,44,14,14,78,43,42,39,67,13,42,42,47,13,45,45,75,11,80,70,41,42,11,12,92,47,39,47,71,15,42,49,46,11,44,36,75,11,71,60,39,38,13,11,72,42,43,49,73,10 H,1039237,8,200,4,16,1015675,200,5,1,2,1,3,2,2,,80,0,800,3,4,700,1,,1,600,1,1,1,5,,,170,1,1,,11,2,2,7,2,30000,3,,,1,1,30000,0,3,3,3,1,4,3,5,0,0,3,37,0,0,1,0,0,2,917,2,0,1,17,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,334,217,242,221,56,181,317,188,183,416,225,75,72,65,251,177,187,266,210,47,258,264,338,205,69,176,314,233,196,333,201,83,68,70,215,168,241,216,180,279,53,66,61,210,304,218,55,226,198,79,240,394,243,313,222,171,175,241,187,290,55,56,74,191,297,210,64,180,188,80,226,290,307,323,225,217,186,187,219,46 H,1039238,8,900,4,16,1015675,126,2,1,1,,4,2,2,,140,0,2,3,3,300,1,,,,,3,1,9,,,,1,2,,15,2,800,5,1,37000,4,,,1,1,37000,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,0,0,1,332,,0,1,24,2,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,126,226,131,102,39,34,191,266,34,133,179,36,36,111,147,247,126,121,129,135,126,225,137,132,43,37,248,217,31,152,202,35,37,113,118,208,131,132,115,146,181,35,122,97,219,214,35,40,209,131,36,248,262,100,132,34,134,140,145,117,110,40,141,117,182,221,40,37,218,99,33,242,215,130,122,37,133,109,120 H,1039490,8,900,4,16,1015675,122,5,1,2,1,4,2,2,,130,0,2,80,2,500,1,,,,,3,1,6,,,,1,2,,14,1,230,3,2,54060,2,,,1,1,54060,0,2,2,2,1,5,3,5,0,0,3,8,0,0,1,0,0,2,338,,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,161,206,164,145,130,100,153,106,57,33,31,133,170,107,40,154,124,33,175,97,151,225,153,121,138,146,188,136,47,38,33,109,222,109,48,127,100,49,36,142,28,31,34,143,114,96,100,114,244,213,203,115,40,154,231,111,113,250,40,109,34,53,48,132,101,93,133,120,249,219,169,113,32,87,253,138,134,244,171 H,1039530,8,600,4,16,1015675,102,5,1,1,,3,2,2,,60,0,2,30,1,400,1,,1,1100,1,1,1,7,,,,1,1,,17,2,500,2,1,40700,3,,,1,1,40700,0,3,3,3,1,4,3,5,0,0,3,36,0,0,1,0,0,1,1232,3,0,1,28,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,107,185,107,156,106,111,157,101,29,169,191,30,96,95,30,98,31,107,27,102,100,171,104,172,105,105,176,101,31,173,173,30,105,105,33,103,30,102,173,100,106,31,111,28,107,101,30,101,171,29,31,163,100,96,174,97,173,107,175,98,94,32,102,30,112,96,30,107,172,30,32,187,96,97,162,105,181,100,28 H,1039584,8,200,4,16,1015675,22,2,1,2,1,3,2,2,,80,0,2,200,2,270,1,,,,,3,1,6,,,,1,2,,17,3,2,9,4,36600,4,,,1,1,36600,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,2,1,1,420,,0,1,26,0,9,9,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,20,29,26,23,19,43,28,6,62,22,29,22,7,27,7,48,24,8,39,41,15,17,29,20,23,7,22,45,11,20,5,24,35,22,44,7,24,7,36,41,20,22,27,23,30,7,20,32,9,29,9,25,50,27,32,5,20,31,8,11,22,21,23,18,20,59,37,7,33,25,36,17,5,29,7,36,29,37 H,1039924,8,400,4,16,1015675,67,1,1,,,1,5,,,30,0,2,3,3,,1,,,,,,1,3,2,120,,1,3,,,1,1,4,,,,150,18,1,6,10000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,70,70,59,96,71,110,84,71,95,46,20,110,124,21,66,67,16,57,22,28,78,77,72,94,105,116,64,72,108,58,15,116,118,21,60,84,21,53,24,18,59,61,77,126,88,78,65,54,87,59,19,131,120,16,60,98,14,43,19,22,87,61,84,122,65,123,86,71,107,62,27,145,142,20,68,74,20,62,24 H,1040194,8,900,4,16,1015675,44,1,1,3,5,4,3,2,,40,0,2,3,1,400,1,,,,,3,1,6,,,,1,2,,9,2,2,9,,,,,,1,4,13200,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,136,,0,0,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,64,16,50,80,44,42,87,53,17,15,15,44,35,38,38,33,60,69,85,10,35,70,44,14,47,55,16,46,86,94,66,36,40,55,46,42,13,12,65,15,53,91,39,15,54,39,13,47,75,67,61,42,47,41,51,43,9,15,17,66,41,13,50,73,46,44,67,43,18,13,14,41,42,64,58,53,83,70,12 H,1040313,8,100,4,16,1015675,135,2,1,1,,2,2,2,,80,0,1000,3,3,,1,,,,,,1,6,2,800,,1,3,,,2,1,4,,,,963,35,1,5,33000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,46,50,39,124,148,128,132,142,238,268,242,126,37,115,221,134,117,219,145,40,36,36,37,128,135,138,129,141,258,223,266,147,39,161,217,138,133,205,130,188,200,215,283,146,149,115,131,137,36,40,37,141,225,128,37,144,141,42,167,200,261,222,233,137,122,145,107,128,43,38,41,127,244,149,47,141,129,49,135,48 H,1040324,8,900,4,16,1015675,23,4,1,2,1,4,2,2,,90,0,130,50,2,300,1,,2,740,2,1,1,7,,,,1,1,,16,3,250,5,2,76200,2,,,1,1,76200,0,2,2,2,1,4,2,4,0,0,2,16,0,0,1,0,0,2,991,3,0,1,15,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,30,43,22,20,7,8,39,32,10,26,41,7,7,28,30,34,19,19,21,23,13,34,22,22,8,6,40,48,8,23,43,9,5,21,27,48,20,27,20,23,23,7,18,22,51,39,8,7,41,31,6,40,32,20,30,6,22,23,19,20,20,6,24,28,37,33,7,8,43,21,10,34,31,26,21,7,30,27,25 H,1040390,8,500,4,16,1015675,79,2,1,1,,2,2,2,,50,0,2,300,1,350,1,,,,,3,1,5,,,,1,2,,9,2,540,7,5,60000,4,,,1,2,60000,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,0,0,2,524,,0,1,24,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,83,128,81,131,78,85,135,85,20,126,139,21,69,84,28,70,24,82,136,79,77,20,79,24,78,78,21,75,145,23,23,125,76,73,131,78,131,81,20,83,85,115,75,152,71,80,127,80,24,132,134,23,74,72,22,77,23,86,151,79,82,26,90,23,68,83,23,73,132,23,22,129,78,85,132,73,130,68,23 H,1040397,8,300,4,16,1015675,23,1,1,1,,2,2,1,,70,0,2,30,2,2500,1,,2,4800,2,1,1,5,,,,1,1,,22,4,420,7,,,,,,1,6,30000,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,0,0,2,5643,3,0,0,64,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,30,20,33,22,5,5,7,19,23,26,28,18,42,51,32,21,7,25,46,9,26,25,8,25,33,28,25,23,32,25,25,23,5,6,7,24,33,15,46,8,31,25,6,27,31,34,28,23,27,22,28,30,5,6,6,21,33,16,6,29,28,19,32,27,7,6,8,21,20,25,17,17,44,40,45,21,8,22,8 H,1040880,8,900,4,16,1015675,67,3,1,1,,2,3,2,80,40,0,2,3,3,160,1,,2,490,2,1,1,4,,,,1,1,,10,3,1,5,1,45000,1,,,1,1,45000,0,1,1,1,1,3,1,3,0,0,1,19,0,0,1,0,0,1,695,3,0,1,19,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,67,86,18,80,21,26,101,87,68,68,69,77,19,115,73,59,52,18,18,19,77,58,115,60,106,111,18,23,57,69,64,69,107,20,67,87,79,92,124,120,69,66,22,78,20,16,101,113,67,64,65,55,22,118,73,54,65,28,22,20,56,68,108,61,98,126,24,26,59,69,73,71,99,18,60,55,66,113,147 H,1040903,8,900,4,16,1015675,97,5,1,1,,4,2,2,,410,0,2,3,9,430,1,,1,800,1,1,1,8,,,,1,1,,15,3,490,4,1,41000,3,,,1,1,41000,0,3,3,3,1,1,3,5,0,0,3,37,0,0,1,0,0,1,1251,3,0,1,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,97,90,82,132,109,208,90,99,173,92,34,201,181,30,95,81,35,105,25,26,102,85,86,179,90,154,87,89,166,94,29,203,172,26,111,86,32,105,30,27,101,91,81,141,103,189,88,106,145,106,24,172,170,28,88,87,29,83,24,35,94,87,104,164,105,158,85,87,174,112,34,169,168,30,101,116,33,101,25 H,1040992,8,900,4,16,1015675,84,2,1,1,,3,2,2,,70,0,2,350,1,1100,1,,2,650,1,1,1,7,,,,1,1,,13,2,600,9,1,75000,4,,,1,1,75000,0,4,4,4,1,1,0,2,0,0,0,19,0,0,0,0,0,1,1212,3,0,1,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,81,24,114,25,68,77,78,141,69,143,84,103,137,67,25,142,149,23,20,95,110,31,86,19,81,116,94,135,101,144,87,92,125,92,23,130,148,22,175,60,74,139,86,145,75,84,91,20,78,26,99,89,27,100,148,26,25,122,158,110,96,135,70,125,90,109,97,18,76,25,97,72,23,113,132,23,25,143,30 H,1041003,8,100,4,16,1015675,269,3,1,1,,2,2,2,,50,0,2,2,1,,1,,,,,,1,5,2,730,,1,3,,,2,600,8,7,21400,2,830,47,1,3,21400,0,2,2,2,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,401,354,279,325,303,427,326,273,86,73,409,425,76,283,478,69,77,268,325,257,431,267,263,265,220,423,310,242,79,85,425,399,93,264,519,97,76,266,294,281,466,394,240,311,286,529,311,225,68,77,429,358,91,350,360,71,79,299,255,281,549,285,284,277,279,533,254,265,63,86,473,417,93,256,352,75,73,259,289 H,1041082,8,400,4,16,1015675,29,1,1,2,1,4,2,2,,50,0,130,30,3,700,1,,,,,3,1,6,,,,1,2,,15,2,2,5,,,,,,1,6,15800,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,162,,0,1,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,26,29,27,41,60,54,26,9,32,47,33,35,51,26,7,10,10,29,8,32,25,24,22,37,38,46,22,8,22,46,25,27,48,24,9,8,7,32,55,29,24,33,40,7,7,7,23,50,27,6,21,32,10,26,44,46,42,28,45,27,19,27,38,9,8,6,21,51,36,10,30,25,8,30,49,42,48,36,9 H,1041476,8,700,4,16,1015675,110,4,1,2,1,5,2,2,,60,0,2,230,3,400,1,,1,1400,1,1,1,9,,,,1,1,,22,2,60,3,2,51200,3,,,1,1,51200,0,3,3,3,1,1,2,4,0,0,2,40,0,0,1,0,0,1,1695,3,0,1,52,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,117,183,113,35,101,201,172,110,114,159,30,104,31,34,114,32,189,128,101,127,104,30,107,205,122,35,30,117,113,35,176,100,192,199,101,194,29,112,114,119,108,34,121,186,119,29,29,125,108,30,194,120,200,171,96,229,37,109,107,124,110,207,114,33,111,168,183,108,96,169,34,125,32,28,105,37,192,95,117 H,1041559,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1042014,8,800,4,16,1015675,19,3,1,2,1,2,1,2,,180,0,2,3,3,270,1,0,,,,3,1,4,,,,1,2,,11,2,430,5,2,20800,4,,,1,1,20800,0,4,4,4,1,6,0,3,0,0,0,17,0,0,0,2,1,2,289,,0,0,14,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,19,20,5,18,32,18,30,32,5,18,5,19,21,7,18,5,27,36,18,21,19,21,6,16,33,24,39,31,5,17,6,19,17,7,20,6,36,31,21,19,19,15,5,19,39,21,25,38,5,18,5,20,20,7,18,5,29,32,19,22,20,20,7,20,32,21,35,33,6,19,6,18,20,5,19,5,29,33,21 H,1042059,8,700,4,16,1015675,75,4,1,1,,4,2,2,,30,0,2,90,1,440,1,,1,1100,1,1,1,7,,,180,1,1,,18,2,550,2,1,100000,1,,,1,1,100000,0,1,1,1,1,3,2,4,0,0,2,17,0,0,1,0,0,1,1446,1,0,1,31,1,3,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,71,82,77,75,77,22,76,131,25,72,21,74,130,79,132,22,75,128,22,129,75,71,74,78,72,23,72,140,23,78,23,76,132,72,126,24,88,131,124,22,86,75,72,83,77,126,71,22,136,76,144,73,21,69,21,141,76,28,133,20,68,75,75,78,75,132,74,22,126,84,136,80,20,78,20,121,84,19,23 H,1042199,8,100,4,16,1015675,22,2,1,1,,5,2,2,,40,0,2,30,2,400,1,,1,890,1,1,1,9,,,,1,1,,4,1,1500,3,4,60710,4,,,1,1,60710,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,2,0,1,1085,3,0,1,4,1,8,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,45,25,5,25,24,20,39,7,39,6,50,22,29,29,7,27,35,20,7,18,23,48,20,6,7,7,20,23,24,25,33,51,36,36,25,8,20,30,26,46,7,20,44,30,28,20,7,42,7,47,7,22,23,22,41,22,6,23,49,23,27,7,24,46,45,38,25,24,19,21,20,7,7,5,27,39,21,5,27 H,1042240,8,600,4,16,1015675,138,2,1,1,,3,2,2,,70,0,2,30,1,250,1,,1,1600,1,1,1,7,,,250,1,1,,19,2,400,3,2,120000,4,,,1,1,120000,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,1,1983,1,0,1,32,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,41,134,144,212,246,46,41,208,154,43,224,226,130,134,39,130,151,135,142,135,38,139,126,267,230,35,43,240,135,38,267,233,134,148,40,142,135,148,143,135,222,140,147,40,35,246,243,39,126,253,41,41,147,139,226,133,125,127,146,142,242,141,135,44,47,212,220,45,128,201,42,41,151,137,231,130,132,157,132 H,1042321,8,700,4,16,1015675,97,2,1,1,,3,2,2,,30,0,2,100,1,420,1,,1,920,1,1,1,4,,,,2,1,,15,2,20,2,,,,,,1,7,42000,0,4,4,4,1,1,0,,0,1,0,30,3,0,0,0,0,1,1052,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,34,99,90,102,83,30,91,104,186,187,26,30,162,87,32,168,155,88,84,94,28,102,109,102,105,28,107,109,164,188,27,30,160,80,31,178,146,81,111,101,168,89,107,101,97,153,88,99,29,29,178,155,26,103,172,27,31,107,97,96,149,106,89,94,106,185,105,90,30,30,162,167,32,98,177,28,24,104,88,95 H,1042335,8,900,4,16,1015675,32,3,1,1,,3,2,2,,50,0,600,3,3,700,1,,,,,3,1,5,,,,1,2,,15,3,380,8,1,64400,2,,,1,1,64400,0,2,2,2,1,5,1,3,0,0,1,5,0,0,1,0,0,1,257,,0,1,18,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,35,35,35,37,9,28,10,29,10,13,12,11,30,32,9,10,28,55,25,30,65,55,66,49,27,65,34,46,28,43,37,33,39,46,29,25,56,31,9,14,41,36,23,25,10,31,8,38,12,10,8,8,32,30,6,8,25,70,37,42,72,51,41,44,33,58,31,49,32,36,30,22,40,53,23,28,63,26 H,1042422,8,100,4,16,1015675,150,5,1,,,4,4,,,40,0,2,30,1,300,1,,,,,3,1,7,,,,1,2,,22,2,2,3,2,277000,3,,,1,1,277000,0,3,3,3,1,5,3,5,0,0,3,2,0,0,1,0,0,2,370,,0,0,45,1,3,3,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,174,46,48,231,265,56,126,181,35,43,136,175,247,149,167,186,181,253,162,146,171,40,41,294,263,54,157,240,44,46,138,152,220,138,130,116,160,258,158,180,175,253,204,38,51,237,152,44,245,302,146,148,62,140,133,164,145,44,175,177,167,284,207,38,39,234,128,53,246,245,164,106,53,166,155,186,145,41,120,151 H,1042548,8,500,4,16,1015675,89,4,1,1,,2,2,2,,150,0,2,3,3,550,1,,1,520,1,1,1,4,,,190,1,1,,11,3,430,4,2,36000,3,,,1,1,36000,0,3,1,3,1,3,1,4,0,0,2,30,0,0,1,0,0,1,896,1,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,157,96,144,94,87,26,83,26,90,24,96,82,150,88,88,162,23,31,163,88,86,143,98,30,135,91,166,92,28,85,27,155,83,24,27,92,84,89,81,132,172,83,147,84,82,32,102,26,79,28,77,74,159,90,77,168,25,25,174,72,92,135,100,31,164,95,151,108,24,91,29,164,92,25,32,105,87,88,94 H,1042661,8,900,4,16,1015675,140,2,1,2,2,3,2,2,,50,0,2,80,2,200,1,,1,950,1,1,1,5,,,,1,1,,17,4,240,3,1,86100,4,,,1,1,86100,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,0,0,1,1100,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,40,48,259,203,41,136,183,31,42,162,126,222,175,115,143,173,266,158,130,119,153,216,63,58,274,147,30,189,203,128,209,49,175,149,115,186,48,132,181,121,40,56,200,182,47,103,190,43,46,187,179,237,169,152,119,136,222,123,204,144,213,205,39,39,199,126,48,247,216,206,128,33,151,159,183,152,36,131,135 H,1042914,8,800,4,16,1015675,43,3,1,1,,3,2,2,,90,0,2,80,1,500,1,,,,,3,1,5,,,,1,2,,14,3,600,4,1,60700,2,,,1,1,60700,0,2,2,2,1,3,1,3,0,0,1,6,0,0,1,0,0,1,291,,0,1,9,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,50,11,12,37,67,10,70,56,39,46,50,41,34,8,58,50,37,66,64,37,14,50,44,8,46,41,39,12,90,77,68,81,12,46,43,54,14,46,66,12,53,56,59,45,12,70,15,48,37,31,41,33,38,73,12,53,45,16,45,53,59,35,45,63,42,49,42,85,11,10,11,14,68,46,59,15,80,43,13 H,1043621,8,700,4,16,1015675,112,2,1,1,,4,2,2,,50,0,2,150,1,500,1,,,,,3,1,7,,,,1,2,,19,2,70,5,1,100700,4,,,1,1,100700,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,2,1,1,423,,0,1,33,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,107,112,196,108,28,38,33,112,111,127,108,120,181,177,187,116,30,115,182,35,111,119,32,116,202,213,192,120,120,99,97,108,32,39,34,122,202,112,32,187,114,116,200,111,33,36,36,108,129,108,107,124,189,171,189,104,33,109,208,29,119,115,33,120,182,192,188,110,118,113,109,113,37,33,30,119,204,113,34 H,1043706,8,100,4,16,1015675,49,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,16,81,45,53,15,84,52,52,95,48,49,88,40,51,51,77,14,14,51,81,80,12,52,49,86,15,49,53,13,61,49,14,58,44,48,15,78,88,42,14,14,96,53,51,14,85,50,49,82,48,51,87,46,51,58,81,16,17,45,96,89,16,47,45,85,13,51,52,14,57,46,14,53,51,46,15,95,86,56 H,1043816,8,500,4,16,1015675,42,2,1,2,1,4,2,2,,220,0,2,340,1,600,1,,,,,3,1,7,,,,1,2,,16,4,280,5,2,65500,4,,,1,1,65500,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,2,2,1,780,,0,1,29,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,43,46,12,12,74,13,42,46,63,68,83,51,46,11,72,42,13,47,15,80,14,13,49,44,47,48,70,12,44,39,40,84,11,40,45,70,42,71,41,54,48,39,14,14,65,13,37,38,71,75,71,47,40,13,73,42,12,44,13,75,14,16,50,40,43,44,85,11,48,46,48,66,14,42,45,72,40,62,46 H,1043853,8,900,4,16,1015675,62,3,1,3,1,4,2,2,,60,0,2,180,1,,1,,,,,,1,9,,,,1,4,,,3,2,8,,,,,,1,5,20700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,15,56,68,19,52,100,115,100,51,68,60,81,67,20,25,18,50,79,23,51,72,54,49,135,91,15,19,20,68,87,80,78,73,102,91,102,65,22,16,67,78,43,72,105,56,13,13,27,57,57,73,68,61,106,124,103,58,20,97,61,18,46,52,29,60,80,116,80,63,89,84,57,82,22,22,23,58,110,122 H,1044254,8,100,4,16,1015675,41,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,68,73,12,39,36,65,10,42,38,12,41,46,13,40,39,42,12,67,43,12,14,12,73,38,42,11,61,39,37,75,38,39,69,43,41,40,70,11,39,72,75,74,11,42,44,73,14,41,38,12,39,33,11,39,45,42,11,69,35,12,12,12,65,37,38,13,80,39,43,69,42,40,62,41,33,41,76,11,37 H,1044324,8,600,4,16,1015675,75,2,1,1,,3,2,2,,60,0,200,3,3,400,1,,1,660,1,1,1,7,,,,1,1,,18,3,400,4,1,117550,4,,,1,1,117550,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,1,770,3,0,1,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,82,78,78,116,129,79,120,23,119,23,77,22,24,77,78,74,71,73,70,74,127,22,23,77,79,132,70,70,83,75,126,77,77,23,25,137,120,23,135,21,75,77,80,121,136,77,129,21,119,22,76,20,22,77,75,75,76,75,75,70,130,24,22,78,88,129,74,78,80,72,135,79,74,22,23,127,123,22,131 H,1044400,8,600,4,16,1015675,112,2,1,1,,2,2,2,,70,0,100,160,1,300,1,,2,410,2,1,1,5,,,,1,1,,15,2,160,4,7,41100,4,,,1,3,41100,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,1,1,2,803,3,0,1,26,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,106,113,113,118,171,197,34,170,111,106,32,30,34,116,106,192,36,119,176,34,200,179,32,33,108,125,116,103,198,33,111,119,114,201,34,99,118,188,114,125,110,113,110,118,33,32,169,35,117,111,178,202,172,110,109,33,205,115,36,162,33,30,198,171,111,115,110,107,34,196,106,109,111,34,204,116,116,31,119,104 H,1044427,8,700,4,16,1015675,119,3,1,1,,4,2,2,,160,0,2,250,1,570,1,,1,760,1,1,1,8,,,,1,1,,18,2,540,3,4,52100,4,,,1,1,52100,0,4,4,4,1,3,0,3,0,0,0,28,0,0,0,2,0,1,1215,3,0,1,34,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,121,37,118,115,35,117,33,205,196,110,106,127,40,121,202,119,213,195,117,213,114,193,131,123,204,120,169,32,37,121,122,122,207,117,33,131,31,35,122,35,119,34,116,114,35,114,37,215,194,113,113,111,35,111,189,128,221,216,107,204,113,198,112,128,206,126,191,35,38,113,124,120,203,127,36,126,31,36,114 H,1044482,8,100,4,16,1015675,47,2,1,1,,5,2,2,,70,0,2,3,6,850,1,,,,,3,1,9,,,,1,2,,19,3,430,9,4,38700,4,,,1,1,38700,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,1,2,352,,0,1,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,38,37,47,61,46,69,76,77,43,24,58,73,56,38,90,44,10,19,65,71,45,49,35,38,41,13,13,13,47,95,58,12,43,53,15,43,82,100,13,15,42,35,37,55,51,91,88,78,56,18,58,67,43,39,81,54,12,17,67,61,51,42,33,52,44,12,18,11,43,92,60,12,57,42,12,38,90,93,13 H,1044630,8,900,4,16,1015675,124,1,1,1,,4,2,2,,40,0,2,230,1,670,1,,,,,3,1,7,,,,1,2,,20,1,1000,2,,,,,,1,4,21350,0,4,4,4,1,2,0,,0,0,0,42,0,0,0,1,1,1,742,,0,1,52,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,180,146,112,28,170,45,52,108,141,195,197,48,142,122,156,55,98,149,145,162,219,110,106,34,210,33,41,100,108,209,208,32,133,117,119,40,109,136,144,235,214,130,135,29,167,41,42,100,149,195,193,32,140,150,136,37,127,108,113,157,258,114,109,36,223,36,32,96,111,196,223,43,175,119,160,45,118,149,115,174 H,1044710,8,300,4,16,1015675,163,4,1,1,,2,2,2,,110,730,2,170,1,,1,,,,,,1,4,2,380,,1,3,,,2,140,6,5,15000,1,672,49,1,2,16400,0,1,1,1,1,1,2,3,0,1,2,,2,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,64,61,186,57,127,54,185,141,164,138,49,57,155,166,64,159,138,43,141,160,181,148,286,170,280,185,252,233,214,250,183,141,263,314,174,235,219,179,58,46,51,64,175,47,148,54,185,143,164,139,58,47,137,156,57,144,166,61,191,150,199,219,237,151,200,151,254,217,279,245,168,148,244,278,164,255,275,184,48 H,1044805,8,800,4,16,1015675,34,5,1,1,,5,2,2,,100,0,1000,80,2,500,1,,1,740,1,1,1,8,,,,1,1,,15,3,450,5,1,87600,2,,,3,1,87600,0,2,2,2,1,4,3,5,0,0,3,14,0,0,1,0,0,1,1041,3,0,1,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,9,53,9,9,38,35,51,63,9,32,39,38,8,32,34,35,52,32,11,36,66,8,56,73,37,34,13,9,60,41,34,38,56,31,32,30,13,33,11,37,60,10,56,48,30,30,12,10,71,30,41,28,60,40,31,31,9,38,53,30,10,56,10,10,33,34,58,57,10,32,32,34,12,34,38,38,74,46,59 H,1045564,8,200,4,16,1015675,58,1,1,3,1,1,2,2,,50,0,70,3,6,230,1,,,,,3,1,3,,,,1,2,,20,2,2,6,,,,,,1,6,12400,0,4,4,4,1,7,0,,0,0,0,25,0,0,0,1,1,1,258,,0,0,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,104,16,13,66,50,95,63,54,67,65,93,58,76,14,15,115,83,19,57,59,97,14,14,55,74,83,57,66,65,49,101,72,56,23,18,91,91,14,68,54,19,80,97,62,49,19,59,46,66,66,18,59,61,102,106,17,15,95,65,66,16,109,96,55,65,15,70,55,47,63,18,72,44,84,95,15,23,97,59,66 H,1045780,8,100,4,16,1015675,91,1,1,2,1,2,2,2,,60,0,2,2,6,400,1,,1,550,1,1,1,5,,,,1,1,,19,1,420,8,,,,,,1,6,10000,0,4,4,4,1,6,0,,0,0,0,77,0,0,0,1,0,2,645,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,29,31,24,90,149,76,28,95,113,27,90,144,134,152,80,89,90,82,24,98,160,136,168,99,28,99,138,84,113,144,87,29,36,38,103,103,89,74,192,86,28,29,29,74,137,92,29,95,88,37,71,144,161,134,98,80,81,78,25,78,131,145,174,107,37,117,168,88,85,167,86,30,31,21,89,110,101,87,153 H,1045999,8,100,4,16,1015675,113,1,1,,,1,6,,,1,0,2,1,3,,1,,,,,,1,2,2,370,,1,3,,,1,1,4,,,,370,46,1,4,9600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,194,117,35,33,100,230,37,188,129,128,108,98,116,114,29,167,95,113,183,115,111,35,112,112,37,110,119,108,34,178,179,210,180,31,111,105,226,33,116,224,30,133,229,141,117,35,185,35,122,97,114,103,118,119,174,34,133,118,33,105,111,177,109,112,177,91,126,124,189,34,33,38,42,182,95,115,28,165,112,33 H,1046260,8,900,4,16,1015675,116,4,1,1,,3,2,2,,80,1700,2,90,1,600,1,,2,560,2,1,1,5,,,200,1,1,,11,3,600,5,2,29900,2,,,1,1,29900,0,2,2,2,1,5,1,4,0,0,1,44,0,0,1,0,0,1,1097,1,0,1,18,2,6,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,191,28,122,90,224,172,189,100,143,43,154,93,42,104,108,110,128,40,205,99,111,144,33,195,120,146,119,39,198,101,147,35,118,40,32,196,160,115,134,205,36,214,97,112,37,31,33,115,105,210,34,115,205,121,110,101,122,200,38,99,116,98,210,37,104,119,137,213,41,121,106,192,104,189,224,36,38,103,116 H,1046621,8,900,4,16,1015675,91,1,1,1,,2,3,2,,100,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,60,7,,,,605,101,1,6,6900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,113,25,124,103,69,30,85,25,24,175,197,75,77,99,90,28,149,95,91,176,80,28,190,93,91,26,111,33,28,141,130,108,97,106,82,28,160,78,106,157,101,28,172,75,91,27,74,27,28,144,172,84,112,114,84,26,140,103,93,170,74,27,146,98,90,29,99,33,24,174,162,79,98,84,86,29,175,99,75,159 H,1047463,8,300,4,16,1015675,200,1,1,,,1,5,,,70,0,2,3,3,,1,,,,,,1,3,2,300,,1,3,,,0,40,6,,,,373,101,1,4,3000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,67,331,57,55,225,200,381,376,72,188,196,209,64,179,159,192,362,179,53,186,346,61,336,359,192,190,65,69,448,225,192,159,296,216,201,230,61,185,318,214,56,313,64,72,208,182,387,370,61,212,205,204,68,195,182,203,351,196,60,209,303,51,375,330,225,180,61,70,299,205,202,217,317,176,169,193,72,177,290 H,1047524,8,200,4,16,1015675,124,5,1,1,,3,2,2,,70,0,2,3,6,650,1,,1,620,1,1,1,5,,,,1,1,,12,3,550,5,1,31200,3,,,1,1,31200,0,3,3,3,1,4,3,5,0,0,3,28,0,0,1,0,0,1,736,3,0,1,18,2,1,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,109,36,45,46,121,161,99,25,131,132,51,94,202,211,228,172,130,112,102,200,134,40,45,65,119,201,149,45,148,134,48,110,156,251,196,144,120,115,157,61,103,164,191,170,139,46,125,191,144,122,178,138,37,44,55,146,147,111,124,38,139,173,194,202,97,38,107,176,131,118,206,128,43,36,39,141,163,127,120,183 H,1047569,8,100,4,16,1015675,32,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,31,58,12,8,31,31,40,59,32,8,35,9,10,54,34,49,33,34,28,9,32,8,51,53,33,33,30,9,29,56,33,53,51,11,27,10,34,29,31,51,35,50,10,11,30,31,33,59,31,9,36,8,9,48,31,62,33,32,29,10,30,13,51,57,31,32,30,7,32,56,32,55,51,11,28,9,31,30,28 H,1047792,8,900,4,16,1015675,63,3,1,1,,3,2,2,,60,0,2,3,3,,1,,,,,,1,5,2,430,,1,3,,,3,480,4,1,48600,2,530,13,1,1,48600,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,105,66,20,78,58,18,69,88,84,90,89,84,79,68,61,18,19,18,18,62,17,59,107,71,70,92,60,20,21,27,59,58,68,58,66,106,91,102,82,54,74,47,18,61,63,16,61,115,107,117,77,75,60,59,73,18,20,20,19,57,21,61,96,85,57,89,65,18,20,19,65,75,103,79,62,99,104,104,94 H,1047980,8,300,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1048422,8,900,4,16,1015675,88,1,1,1,,2,2,2,,90,0,2,120,1,500,1,,,,,3,1,5,,,,1,2,,12,1,40,5,,,,,,1,4,16800,0,4,4,4,1,6,0,,0,0,0,25,0,0,0,1,1,1,355,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,104,24,80,66,105,95,23,24,97,99,28,72,87,30,33,24,29,91,81,82,133,106,150,155,130,186,85,80,144,117,102,152,136,96,90,94,80,181,175,165,84,186,71,86,88,67,131,148,83,83,137,90,100,148,127,152,140,92,67,80,26,79,27,32,24,26,102,85,25,33,90,40,21,96,102,69,95,25,22 H,1048477,8,800,4,16,1015675,49,1,1,,,0,6,,,20,0,2,3,3,,1,,,,,,1,1,2,250,,1,3,,,1,360,4,,,,300,44,1,4,8200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,14,61,37,15,65,67,50,55,12,59,42,57,55,15,44,40,97,84,57,14,13,93,54,17,77,84,41,57,23,41,42,41,48,18,55,48,69,91,52,70,75,12,44,70,14,13,46,46,70,51,55,65,46,70,63,39,15,17,37,87,88,17,46,94,19,13,34,54,78,40,62,49,44,84,56,51,13,18,48 H,1048579,8,800,4,16,1015675,83,4,1,1,,3,2,2,,80,0,750,40,1,270,1,,1,650,1,1,1,6,,,,1,1,,14,4,560,2,3,90400,4,,,1,1,90400,0,4,4,4,1,3,0,4,0,0,0,12,0,0,0,2,1,1,880,3,0,1,18,2,7,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,129,191,156,160,88,76,115,129,86,140,137,86,79,76,76,134,79,126,68,69,21,28,24,22,86,81,29,24,79,28,30,91,73,87,78,24,87,26,71,81,26,25,24,26,77,77,22,22,85,24,25,82,94,89,65,26,78,23,90,101,145,128,140,141,82,94,141,107,85,120,119,87,88,88,99,132,72,163,91,84 H,1049202,8,200,4,16,1015675,30,4,1,1,,4,2,2,,260,220,1300,3,3,200,1,,,,,3,1,7,,,,1,2,,9,1,660,8,7,30000,3,,,2,3,30000,0,3,3,3,1,2,3,4,0,0,3,20,0,0,1,0,0,2,492,,0,1,14,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,41,34,77,33,9,10,18,29,22,20,30,23,46,59,55,34,9,31,49,11,25,34,8,31,55,53,52,32,33,35,30,28,10,9,7,29,42,53,38,7,49,45,11,28,64,68,59,28,26,30,31,34,10,10,15,26,39,23,8,42,27,27,36,33,13,8,9,31,22,38,28,41,67,61,66,27,10,30,5 H,1049530,8,600,4,16,1015675,100,3,1,1,,3,2,2,,100,0,2,3,3,,1,,,,,,1,7,2,650,,1,3,,,2,80,8,1,40000,2,757,23,1,1,40000,0,2,4,2,1,2,0,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,101,98,85,31,153,28,107,189,208,178,103,36,163,98,103,94,98,27,29,94,106,107,103,30,170,31,112,198,178,188,107,32,191,89,104,96,86,26,30,104,101,89,95,34,159,28,102,164,173,173,104,30,166,121,118,108,109,31,29,93,88,127,96,29,190,32,104,155,162,156,104,30,181,89,112,110,94,32,28,101 H,1049625,8,100,4,16,1015675,44,1,1,1,,2,2,2,,40,0,2,200,2,,1,,,,,,1,3,2,500,,1,3,,,2,2,5,,,,740,62,1,6,14400,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,14,12,15,44,47,54,32,37,72,72,65,52,15,41,91,52,52,87,40,13,17,14,15,50,54,56,47,45,73,87,79,39,10,40,67,33,48,62,49,96,71,77,68,42,53,44,46,37,11,13,14,52,97,48,14,46,46,12,48,76,85,79,71,41,37,45,39,48,12,12,14,39,82,46,12,52,47,14,48,16 H,1049702,8,400,4,16,1015675,362,1,1,,,2,5,,,40,0,2,10,1,,1,,,,,,1,4,2,550,,1,3,,,1,1,2,,,,600,24,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,434,372,366,344,579,626,524,117,385,105,455,397,343,143,149,397,389,233,319,124,345,86,105,527,349,517,331,445,644,433,497,126,124,436,357,291,698,255,235,331,125,337,290,350,125,379,140,400,316,484,303,496,322,450,506,97,311,463,346,635,522,582,588,111,739,146,357,458,119,318,111,594,525,290,330,489,178,426,697 H,1049815,8,300,4,16,1015675,153,4,1,1,,4,2,2,,90,0,300,3,6,350,1,,1,620,1,1,1,7,,,,1,1,,15,2,510,4,2,51500,2,,,1,1,51500,0,2,2,2,1,1,2,4,0,0,2,18,0,0,1,0,0,2,778,3,0,1,7,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,67,145,140,139,139,56,177,197,310,206,56,52,225,121,49,246,202,132,152,144,57,160,160,133,132,59,139,139,206,206,48,55,282,139,50,247,228,197,184,130,49,160,179,117,131,57,162,188,250,199,49,64,238,140,56,224,243,190,188,184,70,131,132,133,116,62,171,168,321,217,48,56,244,114,45,254,249,130,150,217 H,1049950,8,300,4,16,1015675,121,5,1,2,3,5,2,2,,140,0,2,130,2,4800,1,,2,2400,2,1,1,9,,,,1,1,,22,3,2,3,1,56000,2,,,1,1,56000,0,2,2,2,1,5,3,5,0,0,3,69,0,0,1,0,0,2,3228,3,0,1,31,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,132,97,98,180,166,197,206,65,96,180,105,94,239,164,35,37,33,103,40,178,160,116,129,185,180,171,113,38,144,196,182,139,157,149,28,30,39,85,41,140,122,130,109,157,175,235,96,33,105,229,139,123,179,107,38,54,40,102,31,84,160,126,108,196,201,236,148,32,81,151,158,119,272,140,54,33,36,138,47 H,1049976,8,200,4,16,1015675,94,4,1,1,,3,2,2,,100,2500,2,2,1,250,1,,1,520,1,1,1,8,,,,1,1,,13,4,680,8,7,28000,2,,,1,3,74330,0,2,2,2,1,5,1,2,0,1,1,11,3,0,1,0,0,1,677,3,0,1,1,2,13,13,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,155,82,126,193,79,146,28,25,94,85,75,152,101,34,89,31,38,147,87,80,131,107,100,156,81,184,29,20,90,95,122,179,98,36,90,42,23,166,86,98,34,85,90,21,116,26,158,205,100,106,100,25,103,144,94,131,170,32,104,79,27,120,103,27,84,34,190,169,103,98,83,28,116,142,81,128,158,27,92 H,1050173,8,900,4,16,1015675,73,2,1,2,1,2,2,2,,50,0,1100,30,2,230,1,,,,,3,1,4,,,,1,2,,14,3,2,6,4,17700,4,,,1,1,17700,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,1,265,,0,1,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,60,18,20,67,122,65,126,33,121,73,92,71,25,22,72,131,76,78,25,95,23,76,88,22,72,19,68,94,64,95,60,159,76,81,167,64,20,100,72,81,63,99,134,99,20,62,15,88,22,114,33,86,98,106,59,16,72,94,134,20,150,66,75,146,65,134,64,63,66,23,91,23,81,62,12,59,108,26,51 H,1050574,8,800,4,16,1015675,23,0,1,3,,1,2,2,,,,,,,,1,,,,,,1,4,,,,,,6,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,34,7,38,38,22,25,6,9,36,22,19,22,45,25,22,21,6,25,22,47,22,20,25,22,8,9,23,24,24,6,32,5,20,43,40,36,26,8,40,21,4,35,7,7,24,24,35,45,7,20,22,23,6,26,21,20,32,21,19,9,26,26,28,23,44,46,29,21,21,44,6,35,22,7,8,5,21,34,7 H,1050763,8,200,4,16,1015675,110,2,1,1,,4,2,2,,170,0,300,3,3,430,1,,1,800,1,1,1,8,,,,1,1,,15,3,100,5,1,67100,4,,,1,1,67100,0,4,4,4,1,1,0,2,0,0,0,18,0,0,0,0,0,1,1003,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,234,198,100,26,195,28,135,102,119,129,118,92,169,27,128,112,35,41,134,38,127,93,30,128,110,123,38,195,147,160,170,25,114,94,197,39,124,122,189,115,162,269,129,39,195,33,90,110,102,119,146,126,183,30,102,123,24,31,110,32,128,100,40,134,94,136,30,144,210,158,222,48,101,109,183,34,125,103,196 H,1050780,8,900,4,16,1015675,55,5,1,1,,4,2,2,,150,1600,2,20,1,,1,,,,,,1,7,2,550,,1,3,,,3,1,8,2,15900,3,720,54,1,1,15900,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,57,59,49,116,58,15,55,11,16,89,65,94,47,57,79,53,97,16,57,121,56,52,64,14,50,93,52,105,83,17,46,17,50,54,20,48,15,110,60,80,64,51,57,22,57,85,50,79,102,16,57,14,58,56,16,62,17,98,55,19,46,52,55,68,45,19,57,15,17,92,61,115,59,64,81,41,89,13,49 H,1050793,8,900,4,16,1015675,97,1,1,,,3,4,,,40,0,2,60,1,260,1,,1,780,1,1,1,7,,,,1,1,,14,2,360,5,,,,,,1,4,28600,0,4,4,4,1,5,0,,0,0,0,38,0,0,0,0,0,2,910,3,0,0,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,121,159,96,67,154,94,34,29,42,115,96,82,91,72,134,149,179,99,35,37,80,123,106,105,166,107,39,35,33,82,79,94,102,103,161,153,151,94,167,150,114,30,80,73,34,112,235,183,175,93,89,93,131,87,30,31,20,72,144,227,84,33,138,79,21,139,167,125,190,76,71,130,112,81,34,33,31,103,50 H,1051492,8,300,4,16,1015675,47,3,1,1,,5,2,2,,100,0,2,30,1,720,1,,1,710,1,1,1,9,,,,1,1,,15,4,300,4,1,106000,2,,,1,1,106000,0,2,2,2,1,5,1,3,0,0,1,10,0,0,1,0,0,2,865,3,0,1,20,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,87,74,49,59,86,97,44,92,85,48,46,51,45,79,44,73,54,74,76,56,16,13,52,46,15,15,42,14,15,55,46,45,63,15,45,13,43,17,13,43,71,85,46,48,80,80,54,91,73,46,48,47,47,76,49,97,42,86,100,57,13,13,45,42,16,16,56,15,14,40,52,40,53,13,45,14,50,14,16,54 H,1051599,8,200,4,16,1015675,64,2,1,2,2,3,2,1,,80,0,20,30,3,0,1,,,,,3,1,9,,,,1,2,,2,4,2,7,4,60000,4,,,3,1,60000,0,4,4,4,1,7,0,2,0,0,0,2,0,0,0,2,1,1,118,,0,0,3,1,8,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,73,55,88,114,69,115,60,68,108,67,12,114,93,17,73,53,19,54,149,122,66,51,63,25,61,27,81,66,17,55,149,17,17,100,70,71,108,72,130,133,59,56,63,17,53,24,66,50,15,85,96,21,21,154,64,55,92,52,21,22,84,51,74,147,49,96,92,77,113,58,17,89,126,19,58,76,24,71,15 H,1051661,8,300,4,16,1015675,101,2,1,1,,2,2,2,,40,0,2,70,2,600,1,,2,270,2,1,1,5,,,220,1,1,,13,2,30,9,1,78000,4,,,1,1,78000,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,0,0,1,706,2,0,1,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,174,181,87,23,104,198,103,109,178,90,39,31,40,104,77,83,78,95,32,185,172,155,118,34,112,148,90,103,215,133,26,34,26,84,117,113,88,83,41,158,187,155,119,27,80,171,86,126,194,95,27,31,38,103,92,92,111,106,25,171,142,170,109,25,110,155,99,109,139,165,33,25,26,108,116,94,82,82,22 H,1051729,8,300,4,16,1015675,272,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,17,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,99,262,518,289,79,248,251,118,365,386,511,379,237,264,236,245,259,95,442,76,70,250,457,228,85,270,238,120,342,387,396,466,252,221,247,231,281,106,556,113,92,216,369,220,68,290,361,107,246,515,517,345,267,359,226,257,291,93,508,109,89,193,365,267,91,281,236,82,296,537,459,400,262,278,210,196,254,90,544 H,1051772,8,800,4,16,1015675,58,3,1,1,,4,2,2,,70,0,2,3,3,450,1,,1,500,1,2,1,5,,,,1,1,,13,3,2,5,1,61430,2,,,1,1,61430,0,2,2,2,1,5,1,3,0,0,1,11,0,0,1,0,0,1,570,3,0,1,12,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,49,91,17,15,129,50,43,107,49,108,55,61,50,17,56,16,48,47,18,115,63,19,99,99,19,67,65,15,44,14,65,53,60,99,55,135,63,59,84,17,63,107,22,19,136,67,46,83,55,91,58,51,62,19,65,15,55,50,16,98,65,14,90,90,12,54,58,16,56,17,57,47,51,105,77,120,68,65,104 H,1051816,8,200,4,16,1015675,58,6,1,2,1,4,2,2,,100,0,2,200,2,500,1,,1,2000,1,1,1,7,,,,1,1,,19,1,1000,3,1,90001,3,,,1,1,90001,0,3,3,3,1,5,4,6,0,0,4,32,0,0,1,0,0,1,2383,3,0,1,32,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,123,62,75,57,14,16,62,19,106,16,78,55,100,107,64,66,84,52,57,93,44,19,100,79,56,62,17,56,55,60,67,16,64,73,104,162,13,18,53,100,73,13,80,97,74,49,16,72,61,65,69,17,67,49,101,98,19,23,19,47,123,58,66,67,14,22,73,19,104,15,88,64,118,100,53,47,68,51,18 H,1051826,8,100,4,16,1015675,100,2,1,2,1,3,2,2,,70,0,2,2,1,1700,1,,2,700,2,1,1,6,,,660,1,1,,24,3,330,3,1,93000,4,,,1,1,93000,0,4,4,4,1,3,0,2,0,0,0,24,0,0,0,0,0,2,1850,1,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,29,159,119,112,111,151,113,33,112,171,161,88,103,165,33,98,28,29,80,107,167,28,97,98,110,31,93,164,96,31,29,92,97,31,141,102,157,145,105,96,34,139,102,108,93,167,106,27,103,173,167,98,96,154,29,102,27,25,103,101,151,33,101,102,108,28,110,158,99,30,28,95,97,35,168,93,166,153,87 H,1051847,8,700,4,16,1015675,73,5,1,1,,3,2,2,,40,0,2,30,1,250,1,,2,970,1,1,1,7,,,,1,1,,17,2,350,2,1,45600,1,,,1,1,45600,0,1,1,1,1,3,3,5,0,0,3,29,0,0,1,0,0,1,1090,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,21,64,120,65,21,76,68,20,71,137,137,126,67,67,76,75,75,23,18,134,124,68,22,65,123,75,66,130,73,22,21,23,70,67,82,77,69,134,22,114,130,79,24,76,123,73,69,120,67,19,20,19,71,74,71,61,68,133,129,20,22,85,132,78,22,69,78,21,76,110,121,118,69,74,75,70,74,21,124 H,1052301,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1052364,8,300,4,16,1015675,44,2,1,1,,2,1,2,,140,0,2,40,3,450,1,0,2,410,2,1,1,4,,,,1,1,,11,2,450,4,4,23700,4,,,1,1,23700,0,4,4,4,1,6,0,2,0,0,0,35,0,0,0,2,0,2,691,3,0,0,8,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,41,51,88,39,43,67,49,57,36,38,16,13,58,72,18,53,81,21,45,13,45,60,76,54,36,45,62,68,35,43,18,13,55,77,18,34,61,15,57,69,41,48,15,40,36,46,36,13,56,30,64,75,13,15,88,49,17,97,35,74,32,42,16,69,47,47,60,10,34,44,83,75,15,13,81,52,12,114,40 H,1052492,8,600,4,16,1015675,129,2,1,2,1,5,2,2,,60,0,2,90,1,440,1,,,,,3,1,8,,,,1,2,,20,3,190,4,3,35200,4,,,1,1,35200,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,2,1,1,577,,0,1,56,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,223,130,136,116,32,131,226,122,213,245,37,130,36,116,143,37,135,39,128,233,201,135,116,134,38,128,191,132,218,191,39,134,38,152,115,38,145,38,130,37,42,131,130,130,216,134,38,133,38,36,207,140,208,125,136,218,139,203,129,37,38,133,129,129,204,124,37,123,36,35,215,121,220,126,124,234,145,216,126 H,1052543,8,300,4,16,1015675,77,2,1,1,,4,2,2,,50,0,2,3,3,500,1,,,,,3,1,7,,,,1,2,,14,2,30,5,1,86700,4,,,1,1,86700,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,1,0,1,212,,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,72,143,62,25,74,135,142,72,77,154,20,78,27,27,71,21,114,66,74,82,79,20,72,118,84,27,22,82,79,23,103,82,107,120,78,144,18,71,78,82,81,117,80,20,71,144,134,80,76,124,24,74,23,25,66,22,134,81,80,71,83,19,69,133,69,21,24,85,79,23,115,77,103,122,81,123,19,74,80 H,1052792,8,100,4,16,1015675,226,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,208,212,57,218,65,229,248,68,209,403,89,71,477,243,219,375,217,409,69,207,211,197,342,228,373,241,209,404,211,68,425,392,68,210,226,64,218,79,434,214,226,229,72,227,69,194,233,78,222,368,60,64,370,193,260,344,237,419,71,225,230,230,342,230,373,208,224,374,252,70,419,408,66,202,216,66,212,74,376 H,1052921,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1053299,8,300,4,16,1015675,50,2,1,2,1,5,2,2,,110,0,2,240,2,780,1,,,,,3,1,7,,,,1,2,,20,3,2,3,2,29150,4,,,1,1,29150,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,1,1,1,536,,0,1,26,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,65,99,74,41,56,46,52,49,18,16,13,58,102,33,15,76,40,14,97,45,83,91,79,53,56,54,57,50,13,13,12,48,85,65,11,40,59,19,94,37,77,110,100,42,46,70,60,53,19,13,14,46,71,67,13,48,76,17,91,43,58,83,85,52,57,48,48,47,15,15,13,63,80,40,15,84,48,11,104 H,1053353,8,600,4,16,1015675,132,1,1,,,1,5,,,20,0,2,60,1,,1,,,,,,1,2,2,610,,1,3,,,0,1,3,,,,690,83,1,4,10000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,141,135,205,146,120,119,126,232,135,137,40,35,219,274,38,143,241,35,134,238,129,131,43,123,129,130,135,38,131,131,222,212,37,37,207,124,41,229,115,235,126,141,38,128,140,138,132,39,139,138,212,224,41,38,221,155,39,212,135,36,130,128,212,117,133,161,126,232,116,119,35,41,225,214,40,125,247,39,136 H,1053371,8,900,4,16,1015675,89,2,1,1,,5,2,2,,30,0,2,50,1,850,1,,1,950,1,1,1,8,,,,1,1,,17,3,80,4,1,69150,4,,,1,1,69150,0,4,4,4,1,5,0,2,0,0,0,18,0,0,0,0,0,1,1037,3,0,1,36,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,87,27,157,112,147,94,30,85,25,162,104,27,23,81,81,90,86,87,163,152,81,24,165,81,146,96,23,98,24,128,82,22,25,87,94,103,87,93,150,135,89,30,182,107,155,81,27,98,27,138,85,23,27,79,97,95,82,95,132,164,75,30,152,80,131,84,29,90,27,164,100,29,27,92,89,84,86,73,180 H,1053418,8,600,4,16,1015675,80,1,1,1,,3,2,2,,40,0,690,20,1,300,1,,,,,3,1,6,,,,1,2,,15,1,220,6,,,,,,1,6,15600,0,4,4,4,1,7,0,,0,0,0,19,0,0,0,1,1,1,253,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,76,75,22,139,27,24,82,78,155,125,25,78,82,78,20,70,86,88,24,23,74,86,138,25,126,134,85,78,24,24,146,78,73,87,127,83,77,92,27,25,85,74,142,19,125,139,74,93,20,23,131,81,85,74,128,86,72,78,148,136,91,76,21,136,24,24,77,86,131,126,26,81,86,75,25,72,80,85,129 H,1053500,8,400,4,16,1015675,88,2,1,1,,3,2,2,,50,0,2,40,1,300,1,,2,730,2,1,1,5,,,,1,1,,16,2,20,3,1,70900,4,,,4,1,70900,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,1,0,1,947,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,30,76,27,160,120,81,119,95,22,118,148,82,152,109,25,122,24,84,85,111,129,89,137,32,27,74,121,82,128,73,23,85,26,23,143,95,153,161,123,76,171,127,123,35,23,52,107,77,150,95,38,71,30,21,144,106,111,102,82,100,38,80,23,164,145,74,96,100,20,108,116,98,169,82,29,97,27,107,106 H,1053529,8,900,4,16,1015675,68,3,1,2,1,3,2,2,,30,0,2,3,3,,1,,,,,,1,8,2,650,,2,3,,,2,2,5,2,9800,4,680,83,1,1,9800,0,4,4,4,1,1,0,3,0,0,0,,0,0,0,0,0,1,,,1,0,,2,6,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,48,20,63,18,103,110,50,61,97,27,82,128,48,130,130,18,66,26,73,73,97,115,62,102,27,26,68,72,83,142,50,19,85,19,18,115,74,108,96,65,86,146,72,92,17,19,64,92,143,110,66,23,45,24,22,131,81,95,82,70,102,18,66,27,121,93,91,56,59,25,54,106,79,118,95,21,61,21,90,83 H,1053768,8,300,4,16,1015675,70,2,1,1,,3,2,2,,110,0,2,50,1,450,1,,1,630,1,1,1,5,,,200,1,1,,14,1,2,9,1,59900,4,,,1,1,59900,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,2,990,1,0,1,22,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,145,78,73,23,126,22,21,62,65,94,113,26,88,73,78,19,58,66,64,20,64,121,22,78,67,73,64,98,100,81,65,64,92,28,135,64,19,18,130,56,111,82,61,19,125,23,23,59,72,102,135,21,66,83,80,21,83,77,69,21,78,140,19,66,57,75,69,99,106,72,72,67,120,17,132,67,19,28,144 H,1054097,8,100,4,16,1015675,43,0,1,1,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,16,49,66,14,11,36,46,79,50,39,43,41,64,41,36,12,14,65,40,14,74,34,14,73,75,48,39,14,52,44,40,42,17,59,45,79,76,12,44,62,14,52,84,11,12,43,47,82,42,47,34,42,75,40,51,12,12,65,38,10,58,42,11,82,101,52,49,13,46,48,44,45,15,36,40,84,78,12,38 H,1054380,8,900,4,16,1015675,95,1,1,,,2,4,,,100,0,2,3,3,700,1,,,,,3,1,4,,,,1,2,,13,2,1,7,,,,,,2,6,8400,0,4,4,4,1,3,0,,0,0,0,40,0,0,0,0,0,1,283,,0,0,27,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,101,89,155,67,169,94,106,100,35,120,27,81,101,28,86,183,41,25,32,27,98,105,26,106,23,108,94,108,164,79,210,108,95,176,77,28,137,142,197,161,89,110,132,124,156,82,108,86,29,96,27,104,101,29,74,131,32,35,28,25,105,86,37,105,23,105,101,88,197,108,171,102,92,146,91,27,157,148,135 H,1054804,8,800,4,16,1015675,325,4,1,3,1,3,1,2,,250,0,2,3,3,1100,1,280,,,,3,1,5,,,,1,2,,22,2,2,4,2,68200,2,,,2,1,68200,0,2,2,2,1,2,1,4,0,0,1,11,0,0,1,0,0,2,615,,0,0,42,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,350,101,306,408,433,500,99,66,573,398,107,451,575,304,286,108,294,318,329,373,355,487,305,311,122,104,501,550,94,320,467,82,112,361,337,529,335,389,401,305,306,514,385,419,127,172,512,459,119,320,377,142,91,281,341,494,307,269,292,322,366,162,264,293,531,347,114,158,416,285,124,439,450,278,297,152,398,356,330,363 H,1055300,8,800,4,16,1015675,66,1,1,1,,2,2,2,,130,0,2,2,3,,1,,,,,,1,3,1,190,,1,3,,,1,1,4,,,,320,12,2,4,31400,0,4,4,4,2,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,68,16,93,20,46,76,75,86,84,65,108,23,119,68,18,27,56,109,62,66,19,94,69,55,15,102,130,108,126,17,46,62,116,28,97,62,17,74,29,19,53,126,24,105,81,68,72,58,66,59,17,97,57,65,124,92,63,21,104,86,135,46,69,70,104,29,22,21,15,118,105,68,21,78,43,65,123,72,101 H,1055623,8,200,4,16,1015675,41,2,1,,,2,4,,,40,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,1,1,4,4,27600,4,490,21,1,1,27600,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,39,36,74,52,12,14,15,38,50,38,37,43,74,66,58,40,12,42,72,10,51,47,11,50,75,70,73,33,51,51,45,44,16,16,13,36,60,40,11,74,42,32,69,59,14,10,10,43,39,51,45,44,77,75,60,37,13,34,73,12,50,37,10,40,76,73,70,45,40,35,51,40,16,16,13,48,83,39,8 H,1055671,8,600,4,16,1015675,75,1,1,1,,2,2,2,,40,0,2,20,1,300,1,,,,,3,1,5,,,,1,2,,18,1,300,1,,,,,,1,6,50000,0,4,4,4,1,1,0,,0,0,0,6,0,0,0,0,0,1,252,,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,20,130,132,20,81,75,19,83,21,81,74,77,132,74,128,80,75,113,22,73,22,130,131,20,80,73,22,77,22,75,79,72,132,81,134,80,70,123,134,71,127,22,22,128,74,78,129,80,125,72,81,71,22,84,22,72,76,22,132,77,136,22,21,120,74,77,116,73,127,73,69,68,25,75,21,80,76,24,22 H,1056076,8,600,4,16,1015675,119,2,1,1,,4,2,2,,250,0,2,50,1,800,1,,1,1300,1,1,1,8,,,,1,1,,23,3,320,4,4,189500,4,,,1,1,189500,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,2,2,1,1627,3,0,1,64,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,213,190,132,186,30,123,123,120,37,118,200,113,35,35,132,117,35,199,126,127,192,204,119,201,37,121,102,116,36,114,225,129,35,33,100,128,38,210,124,119,38,36,111,35,201,114,111,125,201,117,33,126,206,214,138,123,212,32,114,120,34,35,114,33,180,119,115,115,189,104,35,120,200,212,120,122,235,36,115 H,1056135,8,600,4,16,1015675,112,1,1,,,1,5,,,1,0,2,1,3,,1,,,,,,1,3,2,600,,1,3,,,1,1,9,,,,600,14,1,6,50000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,185,106,107,195,212,112,192,187,105,115,115,102,188,130,186,109,228,195,112,36,34,101,124,32,29,101,32,35,114,103,106,101,31,114,33,106,36,35,94,187,220,122,106,191,192,120,177,213,115,112,121,124,185,96,197,126,175,210,115,37,29,113,103,28,30,122,36,32,101,106,104,115,36,110,35,115,31,36,133 H,1056164,8,700,4,16,1015675,88,1,1,,,1,5,,,60,0,2,3,3,,1,,,,,,1,3,2,130,,1,3,,,1,1,4,,,,190,30,1,6,7500,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,83,82,157,102,152,95,92,95,24,101,29,89,82,28,91,147,25,29,27,26,82,86,27,85,27,94,85,90,145,97,133,76,80,161,86,27,155,168,25,26,87,91,26,86,25,92,87,91,156,78,142,101,89,128,79,27,137,145,157,154,103,88,151,93,149,93,96,90,30,86,27,100,107,25,94,146,25,27,148 H,1056366,8,800,4,16,1015675,199,6,1,1,,4,2,2,,50,0,2,60,1,,1,,,,,,1,7,2,850,,1,3,,,3,80,2,7,12000,2,967,26,1,3,44000,0,2,2,2,1,3,4,5,0,1,4,,3,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,218,353,225,185,332,193,66,78,70,155,214,206,203,167,301,420,347,212,49,54,204,273,162,237,298,186,55,70,65,186,209,185,245,196,274,306,284,235,359,258,166,60,181,199,54,175,299,281,366,222,243,180,187,225,56,59,57,221,403,341,201,74,204,157,67,193,378,333,320,227,207,196,172,207,68,70,64,199,69 H,1056942,8,100,4,16,1015675,387,1,1,,,1,7,,,90,0,2,2,3,,1,,,,,,1,3,2,240,,2,3,,,1,1,2,,,,330,38,1,6,10410,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,390,438,450,494,146,361,407,553,618,104,126,626,419,135,570,572,401,370,400,132,429,383,335,363,117,396,382,652,571,115,106,561,495,114,552,721,399,388,338,116,382,370,372,380,113,371,393,697,655,121,119,573,420,119,552,737,458,435,397,110,386,417,404,389,129,368,481,649,631,150,116,500,363,135,656,604,378,364,401 H,1057325,8,400,4,16,1015675,122,1,1,1,,2,1,2,,60,0,2,30,6,440,1,180,2,410,2,1,1,7,,,,1,1,,13,2,420,6,,,,,,1,6,8710,0,4,4,4,1,4,0,,0,0,0,86,0,0,0,0,0,2,626,3,0,0,11,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,36,260,141,40,166,169,108,142,40,110,122,130,111,39,151,144,186,172,114,36,37,203,124,37,182,234,116,127,32,113,151,102,122,40,112,126,203,193,134,165,208,37,106,242,35,34,126,125,178,111,128,121,117,218,122,117,38,40,105,237,187,31,129,198,35,35,133,112,218,134,125,126,110,182,130,139,40,42,155 H,1057379,8,600,4,16,1015675,115,3,1,1,,3,2,2,,30,0,2,30,1,300,1,,2,1200,2,1,1,7,,,,1,1,,16,3,400,3,1,46300,2,,,1,1,46300,0,2,4,2,1,4,0,3,0,0,1,37,0,0,1,0,0,2,1426,3,0,1,25,2,2,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,32,32,191,195,135,199,106,117,36,109,33,106,33,110,115,194,109,126,209,207,104,114,130,109,201,118,36,214,123,205,110,31,124,33,190,117,33,32,113,111,182,190,34,41,123,35,131,126,185,125,181,111,182,113,128,38,109,111,34,33,116,107,126,115,35,117,176,36,115,36,124,179,107,184,36,106,188,200,121,114 H,1057470,8,400,4,16,1015675,205,0,1,2,,0,2,2,,,,,,,,1,,,,,,1,1,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,52,188,225,74,64,49,50,200,71,211,64,194,192,189,220,75,75,186,166,201,178,359,313,210,255,218,220,353,230,370,201,374,296,322,356,202,234,379,338,74,47,172,229,65,59,68,68,192,58,174,61,201,191,232,217,64,61,197,201,175,216,311,318,267,199,192,180,342,212,409,241,356,344,325,300,216,248,378,349,64 H,1057665,8,400,4,16,1015675,108,2,1,1,,3,2,2,,140,0,2,3,3,350,1,,,,,3,1,5,,,,1,2,,12,4,1700,5,1,50000,4,,,1,1,50000,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,0,0,1,378,,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,135,111,115,79,88,207,118,88,26,33,206,192,34,95,192,32,29,137,133,116,27,114,133,95,75,33,107,111,202,173,39,27,163,146,35,162,215,190,144,110,184,97,98,121,92,195,137,106,38,27,148,176,28,89,257,40,27,110,121,120,36,95,89,104,91,33,144,122,182,170,42,26,164,122,29,147,190,135,93 H,1057714,8,900,4,16,1015675,329,1,1,1,,3,2,2,,50,0,2,70,1,300,1,,1,690,1,1,1,5,,,,1,1,,14,2,420,7,,,,,,1,4,80000,0,4,4,4,1,3,0,,0,0,0,13,0,0,0,0,0,2,845,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,433,86,511,353,287,339,521,359,83,333,628,409,296,463,464,91,329,96,117,338,312,585,106,312,330,327,103,361,557,394,110,103,305,309,104,577,325,473,415,356,290,556,114,309,284,343,99,285,688,291,99,101,306,287,106,452,301,594,499,399,383,109,499,372,329,381,508,308,105,349,445,472,283,319,574,108,402,114,93,371 H,1057975,8,300,4,16,1015675,97,3,1,3,4,4,2,2,,120,0,200,3,3,630,1,,,,,3,1,9,,,,1,2,,24,3,2,4,1,271300,2,,,1,1,271300,0,2,2,2,1,5,1,3,0,0,1,1,0,0,1,0,0,1,285,,0,0,23,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,105,108,83,183,91,22,93,24,35,151,86,162,99,91,156,97,182,32,94,161,102,83,113,25,104,139,90,166,176,29,96,28,97,80,30,109,26,135,87,28,103,101,122,145,103,26,98,26,25,167,94,135,92,82,163,113,168,27,83,164,103,111,96,32,90,153,101,142,196,25,101,28,93,90,29,99,26,156,112 H,1058078,8,700,4,16,1015675,107,2,1,1,,4,2,2,,70,0,2,30,1,350,1,,1,1300,1,1,1,8,,,350,1,1,,20,3,260,2,5,137000,4,,,1,2,137000,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,2,1772,4,0,1,37,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,179,104,109,110,182,31,187,106,32,34,29,114,182,33,113,105,104,103,181,110,174,103,103,109,174,30,178,102,31,34,32,106,193,32,98,103,110,118,176,101,32,118,105,103,32,182,29,98,178,196,170,108,32,177,101,109,114,105,32,107,33,103,109,106,29,172,34,107,171,170,178,111,35,177,108,97,107,125,30,100 H,1058607,8,600,4,16,1015675,147,2,1,1,,3,2,2,,30,0,2,30,1,800,1,,1,900,1,1,1,7,,,,1,1,,18,2,830,3,1,90000,4,,,1,1,90000,0,4,4,4,1,3,0,2,0,0,0,14,0,0,0,0,0,1,1029,3,0,1,25,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,264,162,149,43,263,44,45,149,150,239,223,43,133,139,155,44,149,151,165,40,52,137,144,259,45,254,228,156,145,44,45,237,136,147,161,236,144,133,136,215,250,147,157,43,245,49,42,136,161,262,243,44,151,148,136,41,172,153,154,48,46,145,151,261,38,226,240,151,152,38,40,249,172,152,131,256,161,161,139,313 H,1058651,8,600,4,16,1015675,128,4,1,1,,4,2,2,,100,0,2,30,1,500,1,,1,1100,1,1,1,9,,,,1,1,,18,2,830,6,2,49650,2,,,2,1,49650,0,2,2,2,1,2,2,4,0,0,2,31,0,0,1,0,0,1,1299,3,0,1,27,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,135,223,120,235,41,37,125,138,121,228,122,36,118,40,37,220,151,208,124,127,125,37,135,37,212,219,137,128,128,36,119,221,139,218,222,35,121,38,110,125,137,233,130,225,37,38,126,128,148,219,129,36,119,39,39,214,119,218,133,139,117,40,125,36,216,209,132,128,128,37,116,210,129,226,211,38,138,42,134 H,1059225,8,900,4,16,1015675,83,5,1,1,,4,2,2,,60,0,2,60,1,350,1,,1,1500,2,1,1,9,,,,1,1,,16,3,360,8,1,293000,3,,,1,1,293000,0,3,3,3,1,3,3,5,0,0,3,7,0,0,1,0,0,2,1750,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,92,98,25,93,23,79,88,21,93,159,30,24,135,78,66,129,92,148,25,78,81,80,140,93,123,71,75,146,69,23,140,142,23,73,94,30,88,32,26,78,99,94,152,104,112,67,80,143,87,30,119,105,20,71,78,26,76,25,128,92,76,96,25,80,24,79,83,26,75,187,28,25,137,79,77,169,91,163,137 H,1059355,8,600,4,16,1015675,106,4,1,1,,4,2,2,,120,0,2,190,1,1500,1,,1,2700,1,1,1,9,,,,1,1,,22,3,500,3,1,171800,2,,,1,1,171800,0,2,2,2,1,4,1,4,0,0,1,21,0,0,1,0,0,1,3052,3,0,1,64,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,99,32,171,99,175,111,28,108,31,178,113,30,30,105,96,104,104,110,169,186,97,28,179,103,173,106,36,109,31,183,106,34,32,102,99,92,107,107,29,31,111,164,29,104,32,106,158,105,177,31,114,191,183,101,115,112,107,120,30,31,102,176,30,96,29,105,173,98,180,32,111,181,160,101,99,105,112,102,179 H,1059556,8,100,4,16,1015675,25,3,1,1,,3,1,2,,240,1400,2,3,3,,2,,,,,,2,5,2,330,,2,3,,,1,500,6,,,,612,82,1,5,9000,0,2,4,4,1,1,0,,0,1,0,,2,0,1,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,6,32,9,45,28,6,6,25,26,23,29,22,46,25,6,45,27,50,47,25,7,26,7,48,20,7,9,24,24,27,27,22,51,26,9,51,24,40,33,32,8,22,8,41,29,8,7,25,23,25,34,20,44,29,6,45,25,45,43,24,6,27,8,38,23,8,9,25,26,31,27,26,46,27,6,45,24,38,41 H,1059675,8,800,4,16,1015675,88,7,1,2,1,5,2,2,,100,0,2,3,3,350,1,,1,1200,1,1,1,9,,,100,1,1,,18,5,2,1,1,31400,3,,,1,1,31400,0,3,3,3,1,2,5,7,0,0,5,54,0,0,1,0,0,1,1400,2,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,27,119,24,74,78,21,77,154,37,22,147,78,97,149,90,141,83,92,140,62,30,92,23,101,74,31,95,127,36,29,142,88,99,139,103,144,74,81,26,82,142,80,153,90,83,135,89,29,169,136,27,74,98,33,97,27,99,91,18,90,124,96,143,81,87,128,78,23,163,197,23,94,91,25,94,28,73,74,134 H,1059810,8,800,4,16,1015675,22,4,1,2,1,2,2,2,,90,650,1000,3,4,700,1,,1,810,1,1,1,6,,,,1,1,,15,6,2,9,2,31200,2,,,1,1,31200,0,2,2,2,1,2,2,4,0,0,2,38,0,0,1,0,0,1,983,3,0,1,20,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,21,23,7,5,48,42,7,17,33,7,7,22,25,36,22,24,20,24,19,7,23,19,33,34,8,7,43,19,6,31,42,29,22,6,22,19,29,24,26,48,28,22,6,6,35,33,6,20,41,7,7,25,21,40,26,23,23,22,24,5,25,27,35,37,7,6,35,21,7,42,33,23,26,7,26,24,22,33,23 H,1059813,8,300,4,16,1015675,98,2,1,3,1,3,2,2,,210,0,2,3,3,800,1,,,,,3,1,6,,,,1,2,,18,2,2,5,4,35200,4,,,1,1,35200,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,2,2,1,427,,0,0,30,0,9,9,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,108,97,124,97,36,132,134,33,80,81,33,112,35,86,104,117,183,118,33,171,128,104,154,77,23,133,132,34,105,74,33,98,21,102,87,97,183,83,31,179,99,93,147,110,31,160,150,23,102,99,30,99,37,104,102,93,119,105,26,142,92,136,171,99,31,215,163,25,109,103,29,113,35,92,94,87,110,106,37 H,1059827,8,600,4,16,1015675,108,1,1,1,,4,2,2,,30,0,3500,3,4,1000,1,,,,,3,1,7,,,,1,2,,21,1,500,8,,,,,,1,6,27500,0,4,4,4,1,4,0,,0,0,0,29,0,0,0,0,0,1,658,,0,1,37,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,113,33,117,99,194,113,166,109,181,108,102,33,115,108,33,202,204,29,30,116,29,108,194,32,121,34,100,193,109,186,35,109,199,196,97,119,107,112,122,188,113,181,114,111,32,96,31,115,32,103,114,170,111,108,183,36,33,197,163,117,176,113,28,191,112,185,105,34,108,30,189,110,34,33,113,114,102,119,102 H,1060570,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1060614,8,900,4,16,1015675,105,2,1,1,,3,2,2,,40,0,810,50,1,230,1,,2,510,2,1,1,6,,,,1,1,,13,1,760,7,4,22970,4,,,1,1,22970,0,4,4,4,1,5,0,2,0,0,0,44,0,0,0,0,0,1,850,3,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,111,28,108,112,102,32,106,32,183,113,154,103,109,92,176,154,33,140,102,91,30,102,27,31,198,113,158,112,113,191,104,191,30,29,91,97,100,214,30,170,104,35,98,96,107,35,119,33,169,112,167,97,94,111,184,169,30,95,121,95,32,88,26,33,180,111,185,116,121,156,115,156,28,28,114,135,127,180,36 H,1060668,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1060738,8,200,4,16,1015675,31,1,1,1,,3,2,2,,50,0,2,3,3,150,1,,,,,3,1,5,,,,1,2,,14,2,900,5,,,,,,1,4,28000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,1,1,1,213,,0,1,20,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,46,29,36,11,9,51,52,9,41,48,8,10,33,39,56,23,31,30,27,27,43,29,37,8,7,52,45,11,29,55,10,9,30,34,54,27,22,28,26,30,53,27,28,9,11,71,37,5,37,47,10,12,32,29,41,23,31,30,33,32,54,32,31,10,8,45,49,9,24,61,12,8,29,32,46,25,24,32,33,28 H,1060825,8,200,4,16,1015675,33,1,1,3,1,2,2,2,,200,0,2,3,3,4,1,,,,,3,1,5,,,,1,2,,11,2,2,9,,,,,,5,6,26400,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,1,1,2,200,,0,0,1,,,,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,31,23,47,67,7,9,54,27,12,47,43,45,46,10,38,30,37,48,12,31,29,26,12,13,52,55,7,26,61,12,12,32,36,66,32,42,32,31,65,36,28,41,51,54,12,10,55,55,9,75,38,35,25,7,39,27,37,48,8,27,38,41,9,8,57,56,9,29,68,16,13,27,33,48,30,29,31,33,50,23 H,1061003,8,600,4,16,1015675,104,1,1,,,1,8,,,20,0,2,3,3,,1,,,,,,1,2,2,480,,1,3,,,1,1,4,,,,500,101,1,4,3000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,95,180,167,107,182,28,104,108,118,29,108,177,95,32,31,104,101,31,183,106,107,157,179,104,174,29,103,110,109,34,107,204,100,32,33,90,88,26,187,101,109,169,177,100,178,30,109,83,93,29,104,179,116,30,34,114,118,31,180,95,115,204,175,105,176,28,107,101,92,31,96,166,102,27,31,115,107,34,182,107 H,1061065,8,100,4,16,1015675,17,4,1,1,,4,2,2,,100,0,2,150,1,800,1,,2,2200,2,1,1,7,,,580,1,1,,23,5,100,4,1,472600,2,,,1,1,472600,0,2,2,2,1,3,1,4,0,0,1,9,0,0,1,0,0,1,3688,2,0,1,65,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,15,17,3,5,21,32,15,31,5,31,17,35,18,6,5,16,30,14,20,5,31,3,15,15,5,20,5,15,18,18,29,21,30,19,17,28,17,5,32,21,17,19,27,29,19,5,16,5,33,5,19,5,18,30,25,18,3,18,16,32,5,30,19,17,29,17,27,21,18,19,6,17,5,19,17,5,15,29,5,17 H,1061089,8,900,4,16,1015675,43,3,1,1,,2,2,2,,80,0,700,120,2,,1,,,,,,1,5,2,200,,1,3,,,3,2,8,1,54000,1,458,10,1,1,54000,0,1,1,1,1,4,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,35,12,49,51,47,51,15,46,34,75,81,15,13,63,38,13,52,55,56,37,31,66,32,34,49,37,77,42,38,13,15,89,82,15,38,56,15,17,38,49,32,9,59,51,37,38,10,46,38,58,82,14,13,68,48,14,68,70,38,46,41,56,48,55,31,31,89,36,43,12,15,86,114,17,50,86,11,13,64 H,1061163,8,200,4,16,1015675,29,2,1,1,,3,1,2,,70,0,600,3,4,500,1,700,,,,3,1,6,,,,1,2,,15,4,220,3,3,70300,4,,,1,1,70300,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,1,0,1,296,,0,0,16,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,24,9,9,28,42,29,56,7,44,18,60,22,8,12,25,57,39,53,8,34,12,45,17,9,36,7,30,42,41,79,36,46,28,28,49,18,7,38,22,23,27,9,9,30,64,35,48,7,46,30,47,34,8,7,32,46,31,26,10,59,8,24,31,9,24,9,30,27,28,48,36,45,23,34,54,29,8,48,18 H,1061304,8,600,4,16,1015675,132,2,1,1,,2,1,2,,70,0,2,190,1,0,1,340,,,,3,1,3,,,,1,2,,3,1,2,5,5,62800,4,,,1,2,62800,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,2,2,1,288,,0,0,1,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,236,228,128,146,109,119,131,40,37,39,126,204,135,37,134,156,38,145,207,37,39,37,135,129,147,132,135,214,224,223,112,44,150,231,142,130,230,142,45,41,36,39,143,133,138,124,130,235,243,206,135,38,139,211,128,152,224,156,40,220,220,204,128,129,136,129,127,38,39,38,122,234,131,39,140,132,40,145,221,221 H,1061340,8,200,4,16,1015675,118,3,1,,,3,6,,,20,0,2,1,3,,1,,,,,,1,4,2,850,,2,3,,,2,1,3,,,,870,101,2,5,2250,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,146,129,41,102,121,34,95,169,216,220,97,113,112,109,116,34,41,42,237,115,217,117,38,147,136,37,170,213,184,149,189,115,112,131,120,39,33,35,35,141,27,110,208,122,94,169,117,32,30,37,111,95,98,141,137,208,171,247,40,106,44,99,179,139,113,235,168,42,45,35,120,119,170,126,75,190,237,185,171 H,1061448,8,900,4,16,1015675,84,2,1,1,,2,1,2,,60,0,2,40,1,0,1,250,,,,3,1,4,,,,2,2,,2,2,420,5,2,10800,4,,,1,1,10800,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,0,0,1,156,,0,0,1,0,9,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,93,92,142,95,145,166,26,24,80,82,87,81,143,26,91,93,75,135,24,27,78,96,139,92,136,158,28,27,99,76,87,76,137,23,65,94,93,143,27,26,84,102,145,92,156,138,23,23,89,77,84,77,158,30,80,119,85,130,25,29,77,77,148,90,125,129,28,30,82,78,75,93,165,24,91,85,95,162,20,29 H,1061544,8,400,4,16,1015675,135,1,1,1,,1,3,2,,30,130,2,3,3,,1,,,,,,1,3,2,220,,1,3,,,1,1,4,,,,250,28,1,6,10900,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,130,149,127,152,53,158,162,203,206,35,40,229,105,42,249,254,125,116,134,217,161,113,109,143,271,118,112,42,42,209,216,48,112,177,42,50,168,139,128,37,157,160,135,102,32,149,152,197,207,40,36,316,174,34,253,359,145,95,152,203,123,135,167,142,227,138,131,41,37,289,237,30,119,281,39,34,132,137,162 H,1061645,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1061717,8,600,4,16,1015675,139,1,1,,,1,9,,,1,0,1,3,3,,1,,,,,,1,3,2,250,,1,3,,,1,1,5,,,,250,25,1,6,12200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,132,137,240,262,109,126,148,282,52,234,127,46,47,45,133,187,32,126,126,159,144,137,55,40,132,135,111,42,235,43,156,203,248,247,123,42,248,173,136,169,144,130,43,48,120,120,128,51,266,39,128,242,267,232,126,41,181,146,131,153,131,124,297,223,152,131,103,236,39,247,166,38,47,48,144,183,40,160,124 H,1061817,8,600,4,16,1015675,377,0,1,1,,3,2,1,,,,,,,,1,,,,,,1,7,,,,,,3,18,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,721,610,351,359,129,362,391,460,387,96,409,339,622,691,132,113,646,434,113,393,116,122,335,352,601,337,290,399,357,621,434,334,117,117,557,526,108,370,622,351,701,608,407,402,120,380,425,364,413,120,365,342,648,583,120,112,610,414,111,419,103,112,415,383,593,345,381,398,365,613,356,332,122,121,642,641,100,343,588,477 H,1062120,8,100,4,16,1015675,97,2,1,3,1,2,2,2,,80,0,2,3,6,360,1,,,,,3,1,5,,,,1,2,,14,2,2,4,4,33200,4,,,1,1,33200,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,2,1,148,,0,0,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,152,107,114,27,131,103,104,234,77,71,151,96,98,111,167,22,26,144,152,159,32,109,79,131,27,103,71,36,102,102,29,79,123,121,32,202,143,81,32,29,125,88,77,30,182,89,80,138,119,95,153,111,104,84,133,35,33,93,169,178,33,110,96,225,31,113,114,34,123,76,33,114,70,91,21,185,157,116 H,1062389,8,300,4,16,1015675,62,2,1,,,1,7,,,30,0,2,20,1,,1,,,,,,1,3,2,430,,1,3,,,1,1,2,1,32000,4,480,18,1,1,32000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,42,48,18,72,20,53,73,16,75,154,18,16,173,68,56,128,58,103,97,64,61,65,18,56,20,63,56,14,43,102,24,20,96,74,60,108,61,88,107,54,58,60,13,70,20,81,75,13,53,110,16,19,94,64,77,100,51,115,145,66,52,59,24,67,15,42,43,27,70,81,19,20,103,55,65,124,78,120,82 H,1062604,8,900,4,16,1015675,20,3,1,3,1,2,2,2,,130,0,30,3,5,840,1,,2,270,2,1,1,6,,,,1,1,,12,5,140,9,2,40000,4,,,1,1,40000,0,4,4,4,1,7,0,3,0,0,0,18,0,0,0,2,2,1,610,3,0,0,27,2,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,5,16,38,10,5,17,22,32,20,17,23,27,43,23,20,7,6,31,18,31,5,16,34,7,7,20,20,35,19,23,26,30,42,20,26,7,7,38,27,30,7,21,36,5,7,20,23,37,22,21,19,18,37,22,17,5,6,37,24,33,5,17,33,9,4,27,26,31,18,28,27,23,45,23,24,7,7,34,24 H,1062664,8,700,4,16,1015675,73,4,1,2,1,3,2,2,,180,0,2,3,3,610,1,,1,1700,1,1,1,6,,,100,1,1,,20,2,2,5,1,117900,2,,,1,1,117900,0,2,2,2,1,3,2,4,0,0,2,20,0,0,1,0,0,1,1980,2,0,1,47,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,69,74,21,21,127,23,72,78,136,128,138,74,72,23,122,75,22,78,122,23,122,123,75,73,72,77,25,138,80,77,76,23,132,71,72,18,78,22,69,81,82,69,123,132,21,132,66,74,22,23,25,83,75,119,23,81,133,89,21,123,22,22,76,71,69,77,129,20,77,79,81,131,20,71,72,132,84,119,75 H,1062681,8,800,4,16,1015675,41,2,1,2,6,4,2,2,,170,0,2,3,3,400,1,,1,600,1,1,1,7,,,,1,1,,14,3,30,3,1,44340,4,,,1,1,44340,0,4,4,4,1,3,0,2,0,0,0,21,0,0,0,0,0,1,773,3,0,1,15,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,71,45,12,79,63,10,38,37,14,46,14,40,56,39,72,47,63,39,11,35,59,36,12,59,61,13,39,52,12,37,21,44,44,40,63,41,54,37,69,42,10,51,67,10,13,70,35,43,73,56,56,43,64,37,12,47,10,40,56,33,8,44,61,9,13,74,35,46,63,44,85,37,37,40,12,48,11,39,15 H,1062692,8,200,4,16,1015675,89,2,1,1,,2,2,2,,50,0,2,100,1,500,1,,1,850,1,1,1,4,,,100,1,1,,15,3,1200,3,1,94000,4,,,1,1,94000,0,4,4,4,1,2,0,2,0,0,0,15,0,0,0,2,0,1,1200,2,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,70,77,172,73,95,149,141,140,148,85,165,100,184,107,91,81,89,150,21,25,91,110,31,103,76,21,33,25,28,111,35,111,28,81,78,84,83,21,23,27,91,78,26,86,101,32,31,20,34,78,27,75,29,95,75,107,99,27,117,180,103,104,137,107,85,154,156,145,182,90,128,87,135,91,77,79,73,155,111 H,1062862,8,700,4,16,1015675,106,2,1,1,,5,2,2,,70,0,2,240,1,600,1,,,,,3,1,9,,,,1,2,,19,4,770,4,2,310000,4,,,1,1,310000,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,0,0,1,657,,0,1,40,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,171,169,164,99,102,109,105,107,32,31,29,106,189,120,28,108,100,28,179,107,167,174,184,105,103,106,109,105,33,32,31,112,183,100,30,98,103,34,174,110,187,165,164,105,102,112,99,98,30,31,33,112,185,108,33,114,109,32,174,96,192,175,178,101,101,115,103,95,34,32,30,106,166,101,34,103,108,31,194 H,1062890,8,900,4,16,1015675,111,4,1,1,,2,2,2,,40,0,2,150,1,,1,,,,,,1,4,2,430,,2,3,,,1,30,7,1,21400,1,623,35,1,1,21400,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,35,123,231,25,26,119,113,151,86,105,93,104,142,98,131,39,57,210,154,39,197,99,27,185,172,113,151,36,133,137,85,94,32,103,133,198,184,41,127,185,33,116,198,33,39,118,90,140,92,92,140,120,165,114,90,33,48,208,117,33,157,103,27,255,272,85,99,39,132,153,133,110,32,92,86,207,183,31,124 H,1062896,8,600,4,16,1015675,119,4,1,1,,4,2,2,,200,0,2,3,3,470,1,,,,,3,1,8,,,,1,2,,18,4,610,6,1,139356,2,,,1,1,139356,0,2,2,2,1,5,2,4,0,0,2,4,0,0,1,0,0,1,472,,0,1,33,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,122,203,120,35,107,35,36,203,107,228,119,119,208,113,212,32,35,122,127,119,116,37,111,208,109,198,204,33,116,35,114,112,36,139,35,201,210,114,111,115,106,200,120,40,123,35,37,178,119,195,121,129,209,116,187,34,35,115,124,119,117,37,131,209,131,190,185,33,126,34,114,118,36,122,33,201,197,126,112 H,1062905,8,900,4,16,1015675,234,0,1,,,1,5,,,,,,,,,1,,,,,,1,3,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,285,289,341,251,222,73,89,463,442,76,191,300,68,74,251,300,399,234,230,183,277,254,76,225,276,408,337,73,89,343,196,60,365,362,193,220,73,206,240,311,200,182,339,268,198,69,91,416,339,72,209,369,90,72,232,253,401,262,231,264,213,234,69,241,235,320,451,81,61,343,296,75,374,381,213,256,81,192,204,200 H,1062959,8,100,4,16,1015675,113,1,1,1,,3,2,2,,90,0,2,3,3,200,1,,1,350,1,1,1,7,,,,1,1,,11,1,600,5,,,,,,1,4,65000,0,4,4,4,1,5,0,,0,0,0,9,0,0,0,0,0,1,490,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,185,106,210,93,106,48,125,41,99,32,123,117,210,120,107,210,37,34,40,100,98,43,130,172,33,130,33,91,178,98,169,36,92,154,173,117,115,99,113,211,203,121,213,111,93,33,126,35,95,43,107,114,192,102,120,176,39,36,39,124,93,32,152,200,31,105,32,97,179,97,160,41,102,188,191,120,110,93,123 H,1062984,8,900,4,16,1015675,104,3,1,2,1,5,2,2,,80,0,2,300,2,430,1,,1,800,1,1,1,9,,,280,1,1,,15,2,650,8,5,34600,2,,,1,2,49600,0,2,2,2,1,1,1,2,0,1,1,37,2,0,1,0,0,1,1514,1,0,1,22,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,139,126,103,97,122,128,97,31,38,55,103,147,79,28,138,124,31,109,180,32,35,31,96,90,82,110,89,157,191,170,110,31,143,239,89,98,214,101,30,190,151,128,88,102,157,118,104,35,37,57,122,163,89,33,131,107,27,101,180,29,46,39,85,89,87,99,106,168,159,177,148,32,113,222,89,87,165,93,30,226 H,1063030,8,800,4,16,1015675,59,1,1,1,,2,1,2,,30,0,2,10,1,330,1,2700,,,,3,1,5,,,,1,2,,8,1,1,4,,,,,,1,6,16300,0,4,4,4,1,6,0,,0,0,0,25,0,0,0,1,1,1,338,,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,17,56,56,60,117,84,50,108,15,93,22,63,20,18,63,74,46,48,51,63,73,114,16,17,72,50,83,67,60,55,67,132,64,49,15,17,107,85,18,13,107,56,66,56,15,21,79,13,106,20,103,56,87,103,67,51,64,63,64,47,48,24,107,102,65,57,17,57,69,56,62,23,45,54,83,107,17,15,136,124 H,1063648,8,400,4,16,1015675,131,0,1,,,2,6,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,41,106,122,43,132,211,43,43,202,146,133,204,104,191,127,134,140,40,40,130,240,129,121,220,128,41,233,217,44,127,145,49,119,37,135,139,126,196,32,122,222,149,127,205,133,43,227,230,38,122,125,35,127,45,137,112,127,241,250,154,35,142,148,35,125,233,42,37,235,148,97,191,155,224,117,141,126,39,195 H,1063807,8,500,4,16,1015675,80,0,1,,,2,4,,,,,,,,,1,,,,,,1,4,2,330,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,64,26,137,104,85,125,86,94,129,75,69,74,110,24,25,21,26,158,79,95,66,33,134,87,96,132,78,66,139,79,75,81,111,26,27,19,24,155,73,65,95,23,111,68,85,137,81,91,181,78,95,81,153,23,23,28,24,148,83,86,73,27,154,81,84,132,85,79,120,75,85,72,139,19,24,26,19,124,78,86 H,1064062,8,400,4,16,1015675,50,2,1,1,,4,2,2,,40,0,2,10,1,450,1,,,,,3,1,8,,,,1,2,,18,3,220,3,4,30300,4,,,3,1,30300,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,389,,0,1,46,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,47,49,57,95,83,85,56,14,50,82,49,51,80,46,11,15,16,49,76,49,47,54,45,13,19,14,51,80,59,19,49,61,18,51,81,79,86,46,17,46,44,49,44,91,108,84,55,14,58,84,54,53,79,49,14,12,15,54,101,58,46,61,54,15,17,13,49,77,47,16,45,47,15,44,85,80,98,62,19 H,1064386,8,300,4,16,1015675,70,2,1,2,1,2,2,2,,90,0,980,3,4,490,1,,1,1400,1,1,1,7,,,200,1,1,,19,4,2,6,1,135000,4,,,1,1,135000,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,2,1772,1,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,17,71,19,17,91,23,122,67,72,97,127,56,21,77,122,109,74,66,106,63,125,75,137,128,72,134,20,70,67,75,18,63,133,76,25,22,69,67,20,79,25,67,18,23,72,18,146,84,86,71,115,62,21,64,115,97,60,65,137,91,114,66,105,107,91,108,21,84,73,74,22,67,131,59,23,21,70,68,19,71 H,1064815,8,300,4,16,1015675,101,1,1,1,,2,2,2,,90,540,2,100,1,,1,,,,,,1,4,2,540,,1,3,,,0,100,7,,,,738,101,1,6,7620,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,34,85,93,32,161,89,83,26,151,86,171,103,114,28,133,173,107,180,90,141,101,34,41,104,127,30,133,93,160,161,107,185,35,109,110,89,27,102,200,120,179,89,116,182,28,106,124,212,94,88,30,106,84,165,26,24,86,26,97,31,88,197,143,103,97,154,28,96,30,30,103,30,153,111,91,99,171,101,30 H,1064841,8,600,4,16,1015675,100,1,1,1,,3,2,2,,20,0,2,20,1,250,1,,1,750,1,1,1,6,,,100,1,1,,14,2,490,4,,,,,,2,6,22604,0,4,4,4,2,3,0,,0,0,0,49,0,0,0,0,0,1,931,2,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,97,100,105,166,109,178,94,101,158,100,30,165,160,28,102,94,31,105,28,30,101,101,106,172,98,174,90,102,173,91,27,170,162,29,111,96,28,104,27,28,107,101,104,163,101,170,94,98,158,99,32,159,172,29,103,93,28,105,28,30,97,106,96,163,102,159,105,96,172,97,30,169,171,31,102,107,28,105,32 H,1064856,8,400,4,16,1015675,60,5,1,2,1,3,1,2,,190,0,2,3,3,450,1,30,2,580,2,1,1,4,,,,1,1,,9,3,4,3,7,40800,3,,,5,3,78800,0,3,3,3,1,4,3,4,0,1,3,12,3,0,1,0,0,1,811,3,0,0,1,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,128,69,53,23,71,52,51,64,27,50,45,104,107,19,13,116,118,17,59,144,104,56,64,17,58,60,60,51,18,74,55,109,91,17,25,104,52,19,62,23,17,71,81,94,54,51,55,90,113,47,58,15,23,103,87,17,78,136,61,26,19,57,67,111,59,58,57,49,78,61,65,20,12,73,107,23,57,103,49 H,1065129,8,400,4,16,1015675,88,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,166,79,32,76,75,28,75,143,148,155,89,86,93,88,77,25,32,26,170,86,147,88,24,97,112,24,94,179,135,139,87,75,81,91,87,25,27,32,28,88,29,94,166,81,103,149,77,27,26,23,73,76,92,84,96,153,138,153,24,93,22,94,163,75,101,157,84,32,30,25,98,91,84,96,79,123,167,150,169 H,1065154,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1065285,8,100,4,16,1015675,121,0,1,2,,1,2,2,,,,,,,,2,,,,,,2,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,36,133,187,189,199,112,141,105,102,121,39,34,37,112,186,125,32,117,35,120,238,108,36,37,39,161,117,130,122,130,197,205,179,111,42,112,221,133,38,113,210,110,36,36,35,100,128,121,97,110,230,188,177,132,39,139,246,119,205,109,35,119,186,233,227,145,118,103,128,158,37,35,32,125,179,94,41,148,212 H,1065390,8,500,4,16,1015675,72,5,1,1,,3,2,2,,100,0,2,200,1,860,1,,2,230,2,1,1,5,,,,1,1,,10,3,540,9,7,50100,2,,,2,3,50100,1,2,4,2,1,4,0,5,0,0,2,17,0,1,1,1,0,2,697,3,0,1,14,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,79,79,54,19,76,70,132,100,32,19,151,76,26,103,120,67,77,25,63,83,55,71,73,110,100,81,15,23,113,137,17,67,123,18,29,82,60,108,86,64,151,106,52,19,81,53,142,128,32,21,168,66,27,106,101,57,78,18,53,87,91,85,65,119,83,59,17,34,111,147,23,62,120,18,25,70,52,98,59,75 H,1065522,8,700,4,16,1015675,127,3,1,1,,3,2,1,,50,0,2,150,1,400,1,,2,590,2,1,1,6,,,,1,1,,16,2,600,3,1,74500,1,,,1,1,74500,0,1,1,1,1,4,1,3,0,0,1,16,0,0,1,0,0,1,965,3,0,0,23,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,197,121,37,42,39,116,127,139,142,129,245,213,200,135,39,131,201,129,130,207,34,105,215,211,210,122,121,123,137,148,40,38,31,129,291,120,33,124,127,222,41,129,246,229,226,123,139,116,103,129,35,35,44,115,204,114,38,119,110,39,246,164,39,42,40,129,136,125,110,116,188,192,237,126,33,132,223,137,121,36 H,1065644,8,400,4,16,1015675,96,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,2,650,,,,1,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,31,33,90,95,143,96,102,107,93,190,98,95,35,28,150,181,28,93,94,137,27,30,98,90,154,95,99,116,102,166,93,87,29,33,160,132,25,93,109,174,27,34,112,98,214,86,77,97,86,174,104,90,31,25,131,189,29,87,82,155,29,29,113,90,141,104,88,92,111,185,100,88,32,26,153,140,25,101,95 H,1065776,8,500,4,16,1015675,36,4,1,1,,3,2,2,,50,0,250,3,3,450,1,,,,,3,1,7,,,,1,2,,16,2,300,5,1,60000,1,,,1,1,60000,0,1,1,1,1,3,2,4,0,0,2,5,0,0,1,0,0,1,227,,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,64,10,37,8,40,33,10,33,12,60,71,31,34,35,10,34,58,34,37,10,9,66,41,62,37,33,70,43,70,11,13,39,38,36,63,39,10,30,34,56,57,10,31,12,40,30,10,37,14,61,56,35,33,38,13,38,69,36,33,10,9,65,36,56,34,36,64,41,73,13,11,37,35,33,54,35,12,34,30 H,1065780,8,300,4,16,1015675,128,1,1,,,2,5,,,120,0,2,3,3,,1,,,,,,1,3,2,530,,1,3,,,1,1,6,,,,650,24,3,6,32000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,236,241,148,139,169,212,34,328,122,29,47,47,158,245,38,110,112,120,150,119,33,37,144,173,100,44,189,37,138,235,174,168,98,49,197,124,167,92,111,126,41,36,113,133,113,46,199,54,118,190,175,178,133,62,200,121,120,133,194,121,225,185,150,130,114,259,48,181,121,59,40,33,173,184,47,147,134,142,130 H,1066091,8,400,4,16,1015675,74,4,1,1,,3,2,2,,100,0,2,80,1,340,1,,1,200,1,1,1,9,,,,1,1,,15,2,40,2,1,58500,3,,,2,1,58500,0,3,3,3,1,3,2,4,0,0,2,8,0,0,1,0,0,1,383,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,88,76,20,23,18,25,103,16,56,27,90,73,82,84,24,23,71,69,52,83,109,92,68,74,80,58,114,105,126,66,120,146,146,152,63,73,141,117,93,126,103,76,90,116,127,126,100,86,52,125,94,92,70,71,134,128,69,65,81,67,20,23,81,62,83,92,22,85,24,62,17,18,25,34,82,69,25,21,24 H,1066153,8,200,4,16,1015675,77,1,1,1,,2,2,2,,70,0,1200,2,1,300,1,,,,,3,1,5,,,,1,2,,14,1,360,9,,,,,,1,6,15500,0,4,4,4,1,6,0,,0,0,0,27,0,0,0,1,1,1,350,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,22,136,74,30,25,76,82,87,72,66,125,88,27,134,71,116,84,21,106,97,29,136,58,22,19,74,70,82,74,82,130,60,14,147,83,142,82,25,18,78,103,27,70,129,149,81,98,60,86,75,25,92,133,25,59,19,74,87,23,70,145,27,90,119,116,81,60,80,73,61,32,57,116,21,70,27,82,157,130 H,1066372,8,300,4,16,1015675,160,5,1,1,,5,2,2,,90,0,2,50,1,350,1,,1,680,1,1,1,8,,,,1,1,,14,3,20,3,1,43500,2,,,1,1,43500,0,2,2,2,1,5,2,5,0,0,2,23,0,0,1,0,0,2,822,3,0,1,24,3,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,43,226,217,59,80,209,127,144,140,147,309,187,188,142,53,175,48,156,126,73,269,145,43,247,270,58,158,156,72,166,67,232,192,234,214,176,250,151,200,69,200,153,48,288,259,52,148,229,96,160,54,231,146,256,208,144,238,183,209,164,44,254,241,61,68,192,116,150,193,179,304,194,162,213,47,115,50,133,127,209 H,1066399,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1066794,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1066856,8,300,4,16,1015675,287,3,1,2,1,2,2,2,,90,0,2,60,2,,1,,,,,,1,4,2,800,,1,3,,,3,2,8,,,,950,13,1,5,90060,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,122,258,289,413,335,98,98,426,245,108,369,492,287,283,122,298,273,224,320,342,128,289,298,462,430,110,110,364,265,112,524,410,327,351,137,326,261,304,275,238,305,328,296,124,129,425,520,121,276,305,87,82,307,306,414,259,220,324,295,251,440,345,326,83,113,511,503,136,320,390,111,102,249,283,460,258,257,273,169 H,1066946,8,700,4,16,1015675,124,2,1,1,,3,2,2,,70,0,2,200,1,590,1,,,,,3,1,6,,,,1,2,,18,2,280,3,4,73100,4,,,1,1,73100,0,4,4,4,1,4,0,2,0,0,0,8,0,0,0,2,2,1,515,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,118,117,35,182,34,36,124,124,229,226,35,119,118,130,40,132,132,123,214,239,115,127,36,218,39,38,117,131,219,205,38,132,132,122,32,127,137,141,36,39,143,120,195,37,196,211,109,130,35,39,216,144,126,124,257,131,144,133,34,34,124,133,200,38,182,200,122,107,36,35,219,120,109,117,221,135,146,123,217 H,1067067,8,200,4,16,1015675,63,4,1,2,1,4,2,2,,80,0,1500,3,4,360,1,,1,900,1,1,1,7,,,500,1,1,,17,2,600,9,4,10000,2,,,1,1,10000,1,2,4,2,1,7,0,4,0,0,1,101,0,0,1,2,2,1,1655,2,0,1,44,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,103,73,16,100,71,102,67,19,65,16,85,59,21,17,68,86,58,83,96,18,17,59,131,20,59,19,62,109,79,87,22,59,72,113,96,56,54,57,63,125,123,69,23,114,68,92,55,17,71,22,115,62,22,19,72,87,54,77,73,16,17,43,148,19,50,19,66,102,70,90,20,61,80,109,96,47,59,54,57,136 H,1067522,8,700,4,16,1015675,98,3,1,1,,4,2,2,,40,0,2,60,1,420,1,,,,,3,1,7,,,,1,2,,15,2,720,3,8,39100,2,,,1,3,39100,1,2,4,2,1,4,0,3,0,0,1,10,0,1,1,1,1,2,320,,0,1,27,2,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,30,95,99,151,170,32,29,175,90,28,184,166,91,96,28,88,94,100,93,96,29,103,106,165,167,30,28,165,108,30,151,148,95,100,30,103,94,111,105,104,174,98,105,25,28,163,156,29,91,161,28,27,101,88,151,99,93,97,98,90,162,98,96,30,31,162,169,31,101,155,30,30,103,95,175,89,97,105,87 H,1067838,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1067887,8,200,4,16,1015675,23,3,1,1,,3,2,2,,70,0,1900,130,1,460,1,,2,550,2,1,1,6,,,,1,1,,16,4,940,6,1,68420,2,,,1,1,68420,0,2,2,2,1,5,1,3,0,0,1,20,0,0,1,0,0,1,1141,3,0,1,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,25,53,30,49,35,7,9,20,28,25,28,36,10,31,17,29,48,7,42,34,15,6,23,7,9,35,38,19,22,35,30,6,34,19,22,27,7,48,5,19,22,47,21,46,51,5,8,30,32,31,24,29,8,26,19,23,43,6,35,27,22,4,22,8,9,43,29,24,29,33,28,5,34,24,29,25,5,46,6 H,1067933,8,300,4,16,1015675,164,2,1,1,,3,2,2,,60,0,2,2,1,0,1,,,,,3,1,5,,,,1,2,,15,1,1100,3,4,44000,4,,,1,1,44000,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,2,1,297,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,159,183,188,249,281,280,165,51,176,309,156,159,258,168,47,44,66,160,279,173,165,189,160,54,49,42,150,304,221,45,158,174,45,174,238,258,283,153,301,142,147,162,185,62,51,45,180,311,177,73,172,152,54,172,219,229,324,154,45,142,183,140,163,295,248,262,170,63,149,253,153,138,285,172,50,52,59,142,47 H,1068203,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1068449,8,400,4,16,1015675,42,0,1,1,,4,1,2,,,,,,,,1,,,,,,1,7,,,,,,3,11,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,78,15,14,60,36,17,73,83,46,33,10,30,48,40,36,15,35,61,40,52,78,14,12,77,38,12,68,75,41,47,10,40,54,41,50,14,48,37,37,10,14,87,69,12,50,63,9,10,31,47,76,43,48,48,48,75,51,32,38,17,14,84,74,10,47,89,10,12,48,34,73,35,43,44,39,63,35,58,46 H,1068556,8,700,4,16,1015675,72,4,1,3,4,2,2,2,,150,0,100,3,6,,1,,,,,,1,5,2,550,,1,3,,,3,2,9,1,40000,1,708,21,1,1,40000,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,0,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,23,127,70,72,72,69,70,71,21,132,79,75,110,116,75,22,23,77,112,72,72,70,111,22,22,22,21,121,73,73,23,124,72,79,113,73,71,22,77,133,22,128,71,71,77,71,74,80,19,135,71,65,114,114,67,22,20,74,120,74,70,70,123,19,22,22,21,127,72,72,21,127,71,67,123,82,64,21 H,1068903,8,100,4,16,1015675,39,2,1,2,1,3,2,2,,50,0,2,10,6,300,1,,,,,3,1,7,,,,1,2,,19,2,290,5,4,21300,4,,,1,1,21300,0,4,4,4,1,3,0,2,0,0,0,11,0,0,0,2,2,2,192,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,31,38,65,53,15,12,11,28,36,45,35,36,96,76,56,42,13,47,65,12,42,39,11,37,75,62,65,35,30,38,49,50,12,12,13,41,56,37,78,13,38,40,12,39,61,48,64,28,48,38,44,43,12,12,12,43,64,36,11,63,52,44,81,42,10,13,14,40,41,32,50,45,68,68,59,37,8,35,12 H,1068955,8,600,4,16,1015675,130,2,1,1,,2,2,2,,50,0,2,3,3,190,1,,,,,3,1,4,,,,1,2,,14,1,250,5,5,10000,2,,,1,2,10000,0,2,2,2,1,3,1,2,0,0,1,30,0,0,1,0,0,1,254,,0,1,32,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,127,39,37,139,43,203,119,156,124,237,126,41,132,217,220,131,140,206,129,36,134,39,39,130,40,223,134,133,131,224,125,40,141,225,254,123,117,224,123,204,130,223,234,136,205,43,134,135,133,37,132,218,130,47,45,120,123,37,143,233,134,241,228,136,230,35,122,117,132,40,116,182,130,39,33,144,136,41,119 H,1069092,8,400,4,16,1015675,33,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,60,60,51,28,31,36,37,38,12,8,8,32,50,32,10,33,37,10,52,36,58,52,48,29,36,36,33,29,11,9,7,31,52,30,11,35,33,8,9,35,10,9,10,36,43,29,30,34,44,54,51,30,11,28,53,38,28,48,8,37,10,7,11,35,27,36,39,34,57,55,56,33,11,32,45,26,28,54,78 H,1069309,8,900,4,16,1015675,100,4,1,1,,3,2,2,,40,0,2,80,1,800,1,,,,,3,1,5,,,,1,2,,14,2,40,3,2,65000,3,,,1,1,65000,0,3,3,3,1,5,2,4,0,0,2,5,0,0,1,0,0,1,265,,0,1,20,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,84,101,30,84,95,110,121,38,103,131,179,164,25,27,167,116,28,168,182,114,115,113,31,78,71,100,141,37,99,119,145,133,35,30,136,103,35,137,156,96,91,93,149,86,109,100,96,173,98,139,36,38,160,109,28,92,137,38,34,115,124,112,144,75,97,124,115,162,122,115,25,34,194,131,27,87,166,33,32,95 H,1069507,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1069963,8,300,4,16,1015675,192,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,5,2,450,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,193,354,205,49,192,180,72,199,303,330,388,162,138,176,265,199,53,59,61,300,244,268,190,54,174,233,48,195,350,361,316,128,197,212,199,193,72,53,61,255,207,285,187,59,217,193,47,191,406,256,392,240,178,221,277,151,48,74,59,248,214,284,172,61,180,214,55,279,302,294,373,158,201,238,203,192,60,52,44,271 H,1070115,8,600,4,16,1015675,103,1,1,1,,3,2,2,,70,0,2,70,1,250,1,,1,810,1,1,1,6,,,250,1,1,,14,1,250,6,,,,,,1,4,47000,0,4,4,4,1,5,0,,0,0,0,31,0,0,0,1,1,1,1221,1,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,34,193,169,102,99,28,30,172,110,108,115,179,102,86,97,31,95,106,194,28,201,34,27,94,112,170,174,28,112,110,111,30,102,109,106,158,102,96,32,164,30,186,181,106,104,35,31,183,115,101,104,167,102,109,94,31,114,102,168,30,165,27,30,100,90,161,173,31,109,103,101,33,105,111,99,176,104,100,28 H,1070156,8,500,4,16,1015675,82,2,1,2,1,2,2,2,,90,0,2,3,3,640,1,,1,720,1,1,1,5,,,,1,1,,17,2,2,3,1,44800,4,,,1,1,44800,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,1,810,3,0,1,28,2,5,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,88,85,61,130,138,80,112,21,152,23,73,28,25,88,87,86,83,76,84,90,133,25,32,87,60,151,89,81,73,83,154,76,83,24,23,141,133,30,21,138,83,87,85,23,19,87,26,143,23,136,78,131,132,67,66,80,74,94,91,83,25,130,132,84,91,22,84,79,82,77,21,89,88,145,165,26,32,144,143 H,1070181,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1070578,8,300,4,16,1015675,71,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,76,65,113,77,19,18,21,69,79,82,59,65,128,132,133,75,18,56,95,22,62,62,21,87,120,110,129,71,71,79,82,61,25,25,21,90,104,70,17,136,71,56,119,92,24,18,20,75,85,83,81,71,138,152,96,61,21,63,125,30,75,60,22,73,98,100,121,68,81,72,67,67,22,25,16,61,98,65,19 H,1070724,8,900,4,16,1015675,28,2,1,2,3,3,2,2,,40,0,2400,3,4,500,1,,,,,3,1,7,,,,1,2,,16,1,480,8,4,55700,4,,,1,1,55700,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,2,439,,0,1,26,0,9,9,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,23,30,45,8,47,27,7,10,8,29,40,8,25,23,29,23,42,47,23,24,26,32,42,9,45,38,9,8,10,28,53,8,28,29,27,32,43,38,26,32,27,31,10,44,8,29,43,46,41,29,8,47,24,28,33,32,8,8,25,21,23,30,7,42,9,26,50,45,53,26,8,55,35,27,24,26,8,8,27,26 H,1070826,8,400,4,16,1015675,86,1,1,1,,3,2,2,,40,0,2,40,1,350,1,,1,900,1,1,1,5,,,,2,1,,14,1,300,3,,,,,,1,6,40000,0,4,4,4,1,3,0,,0,0,0,30,0,0,0,0,0,1,1005,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,73,80,90,142,112,157,92,24,72,139,87,89,209,93,22,20,30,102,24,99,80,92,92,116,127,136,93,28,83,155,76,77,146,67,27,26,21,91,119,80,87,81,90,29,27,25,70,129,94,25,76,76,27,104,134,122,163,85,171,85,75,82,89,25,27,18,81,189,91,23,98,100,23,69,151,152,116,80,23 H,1071222,8,100,4,16,1015675,338,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,383,107,556,521,103,341,336,102,351,109,318,345,351,461,353,600,307,346,572,99,322,93,541,594,97,342,344,99,365,88,415,333,315,656,303,568,330,311,601,494,330,535,110,104,597,317,342,588,324,553,317,348,343,91,347,113,320,370,122,505,388,605,105,91,521,339,288,586,356,532,394,306,331,107,350,92,328,382,101,112 H,1071400,8,900,4,16,1015675,124,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,117,106,130,151,203,218,191,122,39,165,225,95,89,173,151,42,36,48,117,33,124,122,119,105,192,224,144,118,39,111,251,112,139,239,109,33,38,44,127,241,105,98,112,127,50,43,36,129,238,165,32,100,105,44,154,224,222,211,110,178,151,138,119,111,30,34,31,116,184,123,56,118,123,50,93,170,215,186,113,44 H,1072247,8,100,4,16,1015675,167,1,1,1,,2,1,2,,120,0,2,3,3,90,1,0,2,360,2,1,1,3,,,,1,1,,20,3,660,1,,,,,,1,4,40000,0,4,4,4,1,1,0,,0,0,0,19,0,0,0,0,0,2,643,3,0,0,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,198,297,143,152,253,395,298,238,237,279,132,269,184,166,186,145,219,236,149,61,186,70,167,156,54,41,49,72,276,63,157,56,162,215,175,141,44,52,232,177,199,356,182,159,227,322,258,288,267,287,99,239,141,169,174,162,247,277,204,49,159,75,170,135,83,66,44,69,185,65,134,62,136,162,207,119,67,66,178,185 H,1072276,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1072689,8,100,4,16,1015675,48,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,56,78,41,50,59,48,80,48,47,12,22,83,80,16,42,95,14,13,58,43,45,81,50,43,41,42,86,53,49,13,16,86,82,15,59,80,12,16,59,60,58,82,41,43,58,57,88,54,54,13,16,91,68,11,41,85,17,13,53,48,38,99,54,38,47,45,71,53,36,14,16,98,82,18,46,68,13,17,50,61 H,1072810,8,800,4,16,1015675,113,3,1,2,1,3,2,2,,70,0,300,3,4,390,1,,1,1300,1,1,1,9,,,,1,1,,18,4,20,5,1,97720,4,,,1,1,97720,0,4,4,4,1,4,0,3,0,0,0,17,0,0,0,0,0,1,1397,3,0,1,31,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,173,161,98,33,247,35,125,138,134,98,103,110,164,31,125,113,29,34,114,30,107,141,37,109,136,117,36,189,176,191,232,32,100,122,182,34,134,111,33,125,32,32,104,255,31,159,141,95,109,107,119,109,30,200,108,107,154,193,130,190,111,104,232,103,109,116,165,33,39,33,33,216,134,121,35,187,122,124,189 H,1072843,8,900,4,16,1015675,107,1,1,1,,3,2,2,,40,0,2,70,1,260,1,,,,,3,1,4,,,,1,2,,11,1,360,5,,,,,,1,6,17000,0,4,4,4,1,5,0,,0,0,0,18,0,0,0,1,1,2,258,,0,1,23,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,38,37,204,150,122,158,109,100,27,111,32,99,37,101,103,195,94,108,214,34,93,97,90,82,31,102,179,23,89,32,110,174,121,168,23,113,198,178,152,101,206,145,32,32,117,27,97,108,146,103,214,92,162,90,99,31,112,106,27,154,100,99,99,86,218,121,31,207,100,207,90,44,121,31,186,116,33,33,118,127 H,1072898,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1073024,8,900,4,16,1015675,17,6,1,3,6,5,2,2,,170,0,700,3,5,,1,,,,,,1,9,,,,1,4,,,3,2,9,1,97000,2,,,1,1,97000,0,2,2,2,1,6,4,6,0,0,4,,0,0,1,0,0,1,,,0,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,30,23,17,4,16,32,22,11,33,19,5,3,4,18,16,14,21,20,5,34,28,28,18,5,20,32,20,16,24,16,5,5,3,18,20,18,16,13,5,29,28,28,16,5,26,40,22,15,23,16,5,6,7,16,18,15,13,14,5,23,33,35,15,3,18,40,16,15,30,15,3,7,7,14,21,18,18,17,7 H,1073246,8,800,4,16,1015675,31,5,1,1,,3,2,2,,50,0,2,50,1,500,1,,1,700,1,1,1,5,,,,1,1,,14,2,840,5,2,50000,3,,,2,1,50000,0,3,3,3,1,3,3,5,0,0,3,21,0,0,1,0,0,2,870,3,0,1,16,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,55,54,48,38,6,27,51,21,32,62,31,7,8,9,27,38,28,29,28,10,52,44,48,29,12,32,45,32,30,45,26,9,10,9,32,30,30,36,34,48,9,9,10,38,69,53,6,23,36,9,21,68,48,46,30,25,28,23,29,51,10,14,9,27,50,19,12,46,22,7,40,37,42,46,27,47,38,32,33,8 H,1073782,8,200,4,16,1015675,23,2,1,2,1,3,2,2,,130,0,2,30,6,300,1,,,,,3,1,7,,,,1,2,,16,3,2,7,1,27040,4,,,1,1,27040,0,4,4,4,1,7,0,2,0,0,0,14,0,0,0,1,0,1,318,,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,8,22,7,30,20,10,11,19,24,23,26,22,42,27,7,50,25,33,7,24,38,37,37,7,34,37,40,23,18,21,22,28,6,21,30,6,22,7,10,24,47,23,47,6,22,45,41,26,21,22,19,17,5,22,36,7,30,7,30,27,6,24,9,44,26,7,7,26,19,20,24,29,42,30,7,39,21,34,37 H,1073842,8,300,4,16,1015675,28,1,1,1,,3,2,2,,40,0,150,100,2,600,1,,2,320,2,1,1,7,,,,1,1,,17,2,2,7,,,,,,1,4,70200,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,2,615,3,0,1,23,,,,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,19,37,35,32,52,30,9,44,34,14,22,47,21,10,10,10,24,37,39,10,23,51,34,25,41,31,8,54,44,20,30,46,23,8,6,16,27,31,45,51,22,17,11,8,10,36,39,21,10,41,26,12,43,30,43,26,29,31,17,50,18,13,15,14,14,41,53,23,8,36,27,14,48,36,37,39,29,31,26,10 H,1073860,8,800,4,16,1015675,154,3,1,1,,3,3,2,,40,0,2,110,1,330,1,,1,770,1,1,1,6,,,,1,1,,15,2,40,2,2,50000,2,,,3,1,50000,0,2,2,2,2,3,1,3,0,0,1,22,0,0,1,0,0,1,923,3,0,1,24,2,5,3,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,215,162,49,154,214,129,136,253,157,35,57,54,157,152,133,145,159,239,234,306,53,187,231,140,52,173,144,43,165,293,260,310,194,165,132,160,154,55,46,45,346,139,39,158,218,172,142,254,161,51,34,46,153,176,198,130,145,299,265,221,38,160,249,149,47,117,153,51,152,257,294,274,154,135,141,182,164,67,57,48 H,1073996,8,900,4,16,1015675,30,3,1,1,,3,2,2,,100,0,2,3,6,500,1,,1,500,1,1,1,6,,,,1,1,,11,1,460,5,1,64000,2,,,1,1,64000,0,2,2,2,1,5,1,3,0,0,1,12,0,0,1,0,0,2,638,3,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,57,33,46,60,28,29,25,33,58,28,50,29,47,48,48,58,30,30,33,10,12,31,8,9,35,26,32,31,8,30,8,28,8,10,8,8,27,28,27,55,51,32,53,51,31,28,28,25,47,26,53,30,45,52,53,64,29,30,31,10,8,30,10,10,28,30,29,33,6,30,8,25,8,9,10,9,31,37,28 H,1074157,8,300,4,16,1015675,43,2,1,2,1,2,2,2,,260,0,1200,210,3,0,1,,,,,3,1,5,,,,1,2,,7,1,360,9,8,31200,4,,,1,3,31200,0,4,4,4,1,7,0,2,0,0,0,23,0,0,0,1,1,1,608,,0,1,4,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,53,84,40,11,45,40,10,44,67,61,67,36,40,49,46,45,17,11,12,11,41,12,39,82,55,46,82,45,15,13,14,51,41,49,46,40,81,55,69,83,43,60,31,11,53,63,13,48,90,80,76,46,39,56,51,32,11,13,11,13,62,14,44,88,48,31,66,38,10,15,12,43,46,41,47,38,62,43,60,74 H,1074609,8,800,4,16,1015675,67,1,1,1,,1,2,2,,40,0,40,100,1,0,1,,2,310,1,1,1,4,,,,1,1,,1,2,300,9,,,,,,1,6,7860,0,4,4,4,1,3,0,,0,0,0,73,0,0,0,1,0,1,478,3,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,78,108,68,21,118,104,17,64,67,19,78,17,61,46,59,122,66,116,78,92,76,21,74,133,20,22,123,64,60,164,106,114,58,111,85,18,84,23,72,17,74,145,68,23,130,103,20,65,75,25,60,26,75,63,84,107,61,116,61,113,69,25,74,105,24,21,128,63,67,99,57,136,77,55,59,26,62,17,77,20 H,1075471,8,600,4,16,1015675,97,6,1,1,,3,1,2,,300,870,2,3,3,0,1,3200,,,,3,1,4,,,,1,2,,1,1,1,5,2,36340,2,,,1,1,36340,1,2,2,2,1,6,3,6,0,0,3,19,0,0,1,1,1,1,575,,0,0,4,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,92,96,101,31,99,28,93,27,26,30,28,99,102,26,27,106,29,32,186,162,166,163,172,88,164,93,162,92,88,97,94,165,152,102,113,149,92,101,99,96,96,104,98,28,98,30,93,31,29,27,31,96,88,27,27,93,25,29,161,186,172,151,160,91,149,93,178,98,99,101,96,166,177,99,101,173,97,95,110 H,1075521,8,200,4,16,1015675,11,2,1,1,,2,2,2,,50,0,2,3,6,650,1,,1,740,1,1,1,5,,,,1,1,,14,2,20,4,1,50000,4,,,1,1,50000,0,4,4,4,1,1,0,2,0,0,0,19,0,0,0,0,0,1,792,3,0,1,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,2,14,8,2,6,1,17,16,9,6,10,3,12,19,9,16,17,4,7,8,16,8,9,15,12,16,3,1,12,9,9,19,10,2,9,3,3,19,9,9,3,12,10,2,9,3,20,19,9,7,12,1,7,16,10,17,19,3,10,9,17,11,9,15,8,17,2,2,10,9,6,15,12,3,10,1,1,10,7,8 H,1075610,8,600,4,16,1015675,112,2,1,1,,3,2,2,,80,0,2,140,1,0,1,,,,,3,1,8,,,,1,2,,19,1,240,7,4,48800,4,,,1,1,48800,0,4,4,4,1,1,0,2,0,0,0,13,0,0,0,1,1,1,541,,0,1,48,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,185,30,115,106,162,32,122,109,31,117,102,33,107,103,120,32,199,195,34,116,110,121,30,196,116,122,174,206,111,29,35,117,188,31,169,131,127,110,115,31,35,188,121,111,33,206,116,124,189,107,106,195,112,113,123,192,37,32,176,106,102,114,181,28,102,105,35,34,103,185,197,110,32,186,31,113,124,113,115 H,1076299,8,800,4,16,1015675,83,5,1,1,,3,2,1,,150,0,2,50,1,360,1,,1,610,1,1,1,7,,,200,1,1,,13,2,960,9,1,39800,2,,,1,1,39800,0,2,2,2,1,4,3,5,0,0,3,33,0,0,1,0,0,1,1090,2,0,0,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,89,130,74,89,90,32,24,80,26,126,26,135,89,139,153,88,79,86,72,67,145,90,24,140,141,111,94,27,68,66,76,88,31,76,75,134,115,32,22,91,24,82,142,23,22,74,79,144,70,86,90,71,148,102,79,20,25,138,133,163,80,24,99,74,87,139,171,78,132,31,175,23,68,24,24,87,99,77,104,24 H,1076491,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1077096,8,400,4,16,1015675,102,2,1,3,1,3,2,2,,50,0,1200,3,6,830,1,,1,800,1,1,1,5,,,460,1,1,,15,2,240,2,3,15900,4,,,1,1,15900,0,4,4,4,1,4,0,2,0,0,0,101,0,0,0,2,1,2,1430,1,0,0,32,1,8,7,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,157,130,79,171,166,95,106,100,93,147,110,239,103,185,219,174,136,144,145,102,42,32,104,36,25,90,88,114,147,23,90,30,96,27,23,27,35,85,96,92,34,37,100,33,28,95,118,85,92,33,103,29,109,36,37,30,32,131,92,109,176,135,90,195,171,100,86,98,119,153,102,222,97,151,174,149,160,88,91,110 H,1077196,8,300,4,16,1015675,60,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,56,53,15,21,18,55,123,61,22,58,63,17,76,118,92,114,68,56,17,63,56,57,108,78,89,49,14,62,101,66,50,91,60,16,25,19,59,57,16,55,53,69,89,87,87,57,18,58,88,63,70,96,70,19,16,16,61,77,93,66,70,64,19,18,21,55,94,53,19,67,45,16,51,88,102,106,69,64,107 H,1077247,8,900,4,16,1015675,86,1,1,1,,3,2,2,,50,0,2,130,1,470,1,,,,,3,1,5,,,,1,2,,12,1,40,8,,,,,,1,4,25000,0,4,4,4,1,7,0,,0,0,0,14,0,0,0,1,1,1,297,,0,1,20,,,,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,22,104,81,80,67,31,29,133,24,98,97,165,121,148,100,114,25,170,92,139,82,21,31,150,156,77,109,85,79,25,119,103,89,78,28,154,92,80,31,176,98,24,32,121,145,88,67,76,86,25,143,79,89,98,25,129,88,82,26,67,23,88,80,89,106,24,26,174,26,84,113,153,227,133,95,103,20,158,82,75 H,1077282,8,200,4,16,1015675,62,2,1,1,,4,2,2,,120,0,2,110,2,520,1,,1,580,1,1,1,7,,,680,1,1,,17,2,50,5,3,71600,4,,,1,1,71600,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,0,0,1,1494,1,0,1,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,109,70,60,49,19,62,17,71,55,16,43,103,15,13,95,58,61,102,17,70,22,79,66,59,118,69,117,60,63,86,57,19,133,110,21,67,67,23,89,69,109,62,59,84,21,60,21,64,59,20,54,86,19,17,98,77,65,119,17,57,17,65,57,65,125,64,95,61,64,73,59,19,107,99,15,72,63,21,89 H,1077359,8,800,4,16,1015675,47,1,1,2,1,3,1,2,,30,0,2,3,3,,1,,,,,,1,6,,,,2,4,,,1,2,5,,,,,,1,6,14800,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,12,15,49,48,38,46,67,92,60,86,45,12,57,68,39,43,76,60,90,69,101,70,42,65,46,28,43,12,12,19,51,63,54,20,45,40,20,43,12,11,12,12,44,50,44,51,57,75,80,72,43,12,76,99,42,48,67,43,107,58,93,77,41,50,45,48,39,12,15,13,44,84,77,20,40,44,15,38,12 H,1077511,8,200,4,16,1015675,21,5,1,2,1,3,2,2,,240,0,2,3,2,730,1,,,,,3,1,8,,,,1,2,,17,4,2,7,5,71300,2,,,1,2,95300,0,2,2,2,1,3,3,4,0,1,3,5,1,0,1,0,0,1,398,,0,1,23,2,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,7,5,18,5,17,23,44,25,39,30,44,21,19,5,27,20,6,39,40,20,22,28,43,23,5,28,21,46,18,6,25,8,45,20,5,9,24,17,23,7,38,34,24,27,19,22,7,22,5,23,5,20,18,28,24,28,46,8,5,20,24,34,10,23,44,7,24,9,18,25,17,45,9,23,27,36,15,13,17 H,1077791,8,900,4,16,1015675,113,1,1,1,,4,2,2,,40,0,600,60,1,300,1,,2,810,2,1,1,8,,,,1,1,,14,1,40,9,,,,,,1,6,165300,0,4,4,4,1,5,0,,0,0,0,8,0,0,0,0,0,1,1080,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,37,112,35,200,193,117,103,141,30,123,153,101,194,170,37,110,30,116,120,117,45,108,33,188,228,114,122,125,29,115,175,96,226,149,33,105,30,119,94,121,199,112,216,31,33,101,114,101,167,107,32,130,38,34,231,131,192,105,129,102,177,111,229,32,31,113,108,108,165,95,28,97,28,32,240,148,240,105,118 H,1078092,8,600,4,16,1015675,115,1,1,,,2,6,,,1,0,1,1,3,0,1,,,,,3,1,3,,,,1,2,,18,1,1,6,,,,,,1,6,8000,0,4,4,4,1,2,0,,0,0,0,32,0,0,0,0,0,1,213,,0,0,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,129,197,98,38,124,93,32,121,242,246,202,124,122,123,125,105,29,24,31,193,134,201,116,47,106,117,33,97,187,224,187,138,107,105,118,106,28,30,37,192,135,174,110,40,124,96,28,110,200,241,193,93,114,142,140,112,36,28,29,186,138,215,106,43,107,120,36,89,184,170,188,127,120,126,128,109,27,37,35,174 H,1078278,8,700,4,16,1015675,87,2,1,1,,3,2,2,,60,0,2,30,1,2500,1,,,,,3,1,5,,,,1,2,,20,3,1200,3,1,54000,4,,,1,1,54000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,2,498,,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,24,88,26,141,83,83,94,156,90,25,79,139,150,94,94,136,25,81,95,150,152,84,148,27,81,92,82,26,84,160,90,23,23,85,83,27,161,87,84,26,26,82,24,174,86,79,90,138,87,24,97,146,156,85,80,153,23,99,85,137,133,92,156,27,95,81,83,27,90,152,87,25,24,94,87,22,142,88,86 H,1078669,8,100,4,16,1015675,34,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,40,12,56,39,61,31,10,32,9,58,46,10,11,41,38,42,33,31,56,46,31,11,51,29,62,31,8,35,9,73,50,10,10,32,35,41,31,31,58,61,35,11,67,44,71,28,11,39,9,56,33,10,10,33,40,35,38,35,67,60,39,8,52,40,64,30,10,36,8,57,34,11,10,35,39,32,29,32,63 H,1078686,8,500,4,16,1015675,98,2,1,1,,3,2,2,,30,0,2,100,1,300,1,,1,560,1,1,1,5,,,,1,1,,15,4,400,2,,,,,,1,7,72500,0,4,4,4,1,4,0,,0,1,0,12,3,0,0,0,0,2,723,3,0,1,11,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,146,160,194,87,87,160,139,84,217,176,96,100,113,98,163,86,158,114,87,35,28,29,28,85,86,32,29,101,29,31,94,101,105,106,26,100,27,107,96,30,31,34,30,101,102,25,28,119,26,30,98,94,93,102,33,85,30,93,96,177,185,189,138,91,94,163,139,98,150,170,80,99,97,112,199,92,167,93,96 H,1078826,8,200,4,16,1015675,124,4,1,1,,3,2,2,,100,0,1000,3,4,,1,,,,,,1,5,2,480,,1,3,,,2,900,9,8,9380,2,738,94,1,3,9380,1,2,4,2,1,6,0,4,1,0,3,,0,0,1,1,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,56,43,102,112,122,128,108,187,231,198,136,43,126,186,105,120,198,125,37,39,34,46,133,144,122,134,142,176,172,175,161,38,103,211,115,132,204,127,177,225,257,204,115,133,95,110,167,44,36,38,147,192,124,48,142,120,38,122,183,228,237,201,95,102,118,150,126,41,40,35,124,195,142,33,103,123,37,132,34 H,1078871,8,800,4,16,1015675,117,2,1,1,,2,2,2,,20,0,2,30,1,370,1,,2,370,1,1,1,8,,,80,1,1,,13,2,480,7,3,41200,4,,,1,1,41200,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,2,2,1,571,2,0,1,16,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,106,37,122,113,184,110,216,135,201,105,94,30,126,124,37,204,179,35,32,117,31,180,219,31,114,36,111,178,120,171,46,109,156,198,121,139,114,141,112,37,116,35,110,180,210,118,231,110,167,108,108,33,96,128,37,182,180,32,41,118,35,106,206,35,112,36,126,196,118,184,36,145,222,198,122,106,107,112,113 H,1078904,8,400,4,16,1015675,72,2,1,1,,3,2,2,,120,0,2,120,1,490,1,,2,360,2,1,1,5,,,,1,1,,11,2,740,5,7,31200,4,,,1,3,31200,0,4,4,4,1,6,0,2,0,0,0,31,0,0,0,0,0,1,803,3,0,1,24,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,109,81,132,128,62,62,60,78,118,72,117,81,174,117,103,134,59,64,129,20,22,81,25,17,80,93,56,74,33,83,21,73,23,20,22,20,65,63,69,102,111,76,125,128,65,73,90,80,145,94,108,75,142,103,117,122,62,67,66,26,25,84,24,22,88,65,51,82,31,71,19,62,18,22,21,23,91,75,66 H,1079527,8,400,4,16,1015675,53,1,1,1,,3,2,2,,40,0,2,210,2,500,1,,,,,3,1,5,,,,1,2,,16,1,230,5,,,,,,1,6,39800,0,4,4,4,1,6,0,,0,0,0,10,0,0,0,1,1,1,340,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,54,101,87,97,52,15,63,111,43,54,118,53,22,20,14,52,51,49,107,52,54,18,18,15,50,73,47,16,51,56,16,52,110,106,75,46,55,45,18,49,48,82,101,105,60,13,46,88,48,63,118,58,15,14,13,60,54,46,84,51,58,20,19,17,55,81,46,16,58,56,15,49,102,79,80,59,56,53,14 H,1079712,8,600,4,16,1015675,80,5,1,1,,5,2,2,,280,0,2,180,1,500,1,,2,3000,2,1,1,9,,,500,1,1,,24,2,1200,1,1,144000,3,,,1,1,144000,0,3,3,3,1,1,3,5,0,0,3,38,0,0,1,0,0,1,4519,2,0,1,62,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,80,23,127,82,127,76,25,75,25,130,81,22,25,81,76,77,79,85,142,152,86,22,134,84,142,88,23,81,23,139,79,21,25,83,70,87,91,85,134,133,81,26,140,91,146,79,21,86,25,143,86,21,25,79,93,89,76,95,133,139,70,24,147,80,134,78,23,80,21,149,77,20,20,89,78,73,75,71,137 H,1079872,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1079982,8,200,4,16,1015675,51,1,1,,,4,4,,,70,0,2,170,1,580,1,,,,,3,1,9,,,,1,2,,17,2,640,8,,,,,,1,6,32000,0,4,4,4,1,7,0,,0,0,0,15,0,0,0,1,1,1,406,,0,0,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,22,63,47,43,40,19,70,13,41,17,13,14,14,54,57,19,20,47,79,59,56,106,70,125,90,59,97,36,82,60,47,51,52,119,56,32,36,61,76,75,83,68,57,55,54,76,42,82,41,52,73,52,84,64,57,102,102,53,15,32,52,22,30,19,23,53,8,46,18,32,42,68,51,12,16,51,51,20,65 H,1080066,8,900,4,16,1015675,80,5,1,3,3,5,2,2,,80,0,200,110,1,0,1,,,,,3,1,9,,,,1,2,,15,4,2,9,2,130000,2,,,1,1,130000,1,2,4,2,1,7,0,5,0,0,1,3,0,1,1,2,1,1,334,,0,0,27,3,3,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,37,87,82,22,64,149,162,152,76,88,96,74,73,27,24,18,54,107,22,77,131,70,80,146,80,32,30,21,77,80,66,81,78,184,121,99,87,24,23,65,133,89,71,164,97,21,21,30,89,94,85,72,85,155,146,137,86,23,182,82,26,66,75,25,57,112,121,113,53,80,70,87,77,22,25,27,99,128,105 H,1080214,8,200,4,16,1015675,27,1,1,1,,1,2,2,,120,0,2,3,6,,1,,,,,,1,4,,,,1,4,,,1,550,6,,,,,,1,4,2250,0,4,4,4,1,6,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,41,32,30,49,9,28,36,23,27,7,31,29,50,27,6,9,63,37,9,30,51,38,24,30,9,29,22,23,37,8,25,20,38,50,10,12,40,22,11,40,12,8,21,31,67,28,27,31,35,40,22,19,7,7,46,37,9,30,39,24,10,9,18,26,50,27,31,29,32,40,31,29,7,9,40,50,10,24,34,25 H,1080532,8,800,4,16,1015675,77,2,1,1,,5,2,2,,30,0,2,10,1,200,1,,,,,3,1,9,,,,1,2,,13,2,600,6,1,77600,4,,,1,1,77600,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,2,1,1,182,,0,1,20,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,142,127,24,83,131,23,20,80,108,122,66,68,62,80,121,74,106,24,57,132,20,24,132,93,25,147,136,55,70,26,80,68,73,93,25,62,60,151,95,20,106,148,22,85,139,22,22,68,128,120,71,54,59,83,109,70,77,23,66,119,28,25,114,95,23,134,127,70,79,18,81,79,64,94,33,67,68,150,73 H,1080691,8,100,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1080789,8,200,4,16,1015675,260,2,1,1,,3,2,2,,100,0,2,3,3,,1,,,,,,1,6,2,400,,1,3,,,2,1,3,,,,500,14,1,7,43620,0,4,4,4,1,3,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,371,389,218,91,444,381,89,214,324,98,338,83,314,277,304,416,183,436,317,398,312,80,263,440,84,105,404,199,263,339,345,457,162,178,252,87,296,108,244,395,278,98,287,453,85,107,331,249,275,312,298,414,235,203,247,81,270,82,199,99,266,387,299,156,359,555,121,224,211,89,187,91,306,291,246,417,306,392,241,86 H,1081217,8,300,4,16,1015675,31,2,1,,,1,7,,,40,0,2,3,1,,1,,,,,,1,2,2,180,,1,3,,,1,1,5,7,30604,2,220,9,1,3,30604,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,47,30,35,61,61,64,61,33,37,33,51,26,23,31,27,47,61,34,10,42,9,25,27,8,8,9,10,25,10,30,9,44,31,20,29,11,9,32,8,29,8,28,33,8,8,8,7,33,10,44,11,33,29,23,43,11,10,36,46,26,48,40,30,51,56,47,46,26,48,31,50,32,32,34,31,47,58,34,54 H,1081431,8,700,4,16,1015675,107,2,1,1,,3,2,2,,90,900,2,130,1,0,1,,,,,3,1,7,,,,1,2,,14,2,350,9,,,,,,1,5,102500,0,4,4,4,1,6,0,,0,1,0,5,0,0,0,1,0,1,432,,0,1,34,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,192,189,32,105,179,30,31,100,106,186,108,119,122,105,180,117,103,31,118,168,30,31,179,100,32,174,171,97,110,33,112,114,107,111,36,103,103,188,114,32,191,192,32,105,182,34,31,104,112,176,114,107,101,106,165,105,102,29,106,170,32,30,189,110,30,190,191,108,121,32,103,110,111,108,32,105,110,172,110 H,1081448,8,500,4,16,1015675,142,5,1,1,,4,2,2,,80,0,2,130,1,300,1,,1,800,1,1,1,6,,,,1,1,,15,3,500,3,2,80000,3,,,1,1,80000,0,3,3,3,1,4,3,5,0,0,3,16,0,0,1,0,0,1,1052,3,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,146,137,150,185,43,228,121,36,52,41,159,241,44,136,139,140,150,257,128,38,152,165,161,39,254,42,149,294,253,254,178,42,290,138,138,146,134,38,154,224,140,151,131,266,52,197,143,44,48,41,127,222,40,153,170,148,156,225,150,44,162,162,134,41,205,41,147,300,234,223,136,43,245,137,131,139,141,43,112 H,1082249,8,600,4,16,1015675,78,2,1,,,3,5,,70,20,0,2,70,1,600,1,,,,,3,1,5,,,,1,2,,16,2,420,6,1,81000,4,,,1,1,81000,0,4,4,4,1,3,0,2,0,0,0,6,0,0,0,0,0,1,412,,0,0,32,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,27,128,76,76,22,132,79,83,143,73,77,142,73,89,86,127,22,22,80,21,25,148,76,84,24,136,82,77,143,80,78,136,76,87,85,122,22,25,79,128,129,25,80,83,126,22,81,80,23,77,81,23,76,88,81,22,150,146,78,138,137,23,80,85,152,24,72,79,24,79,81,26,81,83,76,22,134,131,82 H,1082268,8,500,4,16,1015675,67,3,1,2,1,5,2,2,,180,0,2,140,2,980,1,,1,1600,1,1,1,9,,,,1,1,,18,3,2,8,1,75500,4,,,1,1,75500,0,4,4,4,1,3,0,3,0,0,0,31,0,0,0,2,0,2,1920,3,0,1,34,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,21,22,120,71,100,65,64,114,68,113,20,21,64,63,72,116,80,23,69,60,112,123,21,75,18,66,57,18,70,19,122,104,66,74,67,21,68,122,65,71,20,18,106,83,99,66,66,112,66,122,19,23,66,59,60,111,68,22,75,75,117,135,21,64,18,62,79,17,76,21,104,101,67,72,76,19,66,111,71 H,1082626,8,100,4,16,1015675,110,2,1,3,2,3,2,2,,160,0,2,3,6,800,1,,2,760,2,1,1,6,,,400,1,1,,21,2,2,5,4,51300,4,,,1,1,51300,0,4,4,4,1,4,0,2,0,0,0,35,0,0,0,2,0,1,1487,2,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,95,29,30,31,97,113,118,108,115,188,178,202,98,32,129,186,105,110,217,39,124,179,167,159,120,85,103,104,105,39,34,34,94,201,93,27,103,96,190,29,96,202,151,222,117,117,103,122,111,32,32,36,118,197,84,31,110,109,41,159,131,33,35,31,84,104,101,108,107,232,170,155,102,30,117,193,117,98,44 H,1082806,8,400,4,16,1015675,21,0,1,1,,3,1,2,,,,,,,,2,,,,,,2,4,,,,,,3,6,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,22,16,19,37,19,18,7,5,36,37,7,22,29,5,7,24,24,33,19,20,20,20,17,39,21,19,5,6,42,33,5,19,34,7,6,22,21,34,25,16,17,23,19,35,24,23,6,6,40,31,5,19,37,7,5,19,22,33,18,21,17,26,22,30,24,21,5,5,31,40,6,20,36,5,6,23,20,39,23 H,1082854,8,600,4,16,1015675,357,2,1,1,,3,2,2,,50,0,2,60,1,350,1,,1,950,1,1,1,8,,,250,2,1,,18,3,310,5,1,100000,4,,,1,1,100000,0,4,4,4,1,3,0,2,0,0,0,16,0,0,0,0,0,2,1336,1,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,337,354,537,332,114,393,109,105,530,393,587,369,344,625,334,534,109,113,407,343,389,335,628,346,113,374,105,111,592,371,586,372,338,581,405,569,108,101,377,370,334,361,106,379,607,326,624,540,115,335,110,353,366,114,359,116,602,547,360,379,394,381,113,392,578,348,623,591,105,331,104,371,339,105,361,100,612,605,330,356 H,1082881,8,700,4,16,1015675,79,8,1,2,1,4,2,2,,90,0,2,90,1,600,1,,2,1500,2,1,1,9,,,200,1,1,,23,2,300,2,2,235000,3,,,1,1,235000,0,3,3,3,1,3,6,8,0,0,6,12,0,0,1,0,0,1,2438,2,0,1,63,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,23,79,22,131,83,75,71,141,76,23,75,133,117,78,81,124,23,76,71,21,24,83,24,129,85,90,79,134,84,21,73,138,142,80,90,134,21,85,79,22,24,81,25,135,73,81,79,125,81,23,77,127,127,85,81,117,22,74,79,21,21,93,24,149,90,69,78,126,81,22,79,126,121,75,75,143,24,80,72 H,1083251,8,900,4,16,1015675,64,2,1,,,2,4,,,1,0,1,1,1,,1,,,,,,1,4,2,500,,1,3,,,0,1,9,,,,500,22,1,5,27000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,47,93,26,14,63,85,68,136,106,25,98,20,18,145,50,104,82,54,53,120,73,96,14,25,73,60,73,104,48,21,49,23,21,105,71,90,68,80,107,106,74,112,22,16,53,129,45,94,60,15,89,26,20,99,68,119,48,96,46,112,63,96,20,20,69,53,54,100,62,17,70,18,18,106,71,115,146,70,48 H,1083401,8,900,4,16,1015675,123,2,1,1,,5,2,2,,100,0,2,100,1,90,1,,1,1200,1,1,1,9,,,,1,1,,16,2,60,5,2,81600,4,,,1,1,81600,0,4,4,4,1,6,0,2,0,0,0,21,0,0,0,0,0,1,1405,3,0,1,24,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,233,37,129,33,108,218,113,248,33,125,170,197,133,134,128,110,123,39,33,103,223,36,125,38,137,235,109,209,41,140,215,210,143,107,111,105,123,37,211,134,40,184,115,172,109,36,131,42,194,133,39,45,126,110,149,137,103,199,227,113,31,214,126,197,145,40,107,29,203,124,35,36,116,123,147,152,132,181,49 H,1083563,8,600,4,16,1015675,113,2,1,,,1,7,,,50,0,2,3,3,,1,,,,,,1,2,2,590,,1,3,,,1,1,3,,,,640,13,1,5,60800,0,4,4,4,1,2,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,122,192,130,192,33,32,120,130,117,181,107,32,112,36,37,171,110,183,112,108,104,207,116,202,34,33,119,113,123,186,128,32,109,38,34,171,96,215,115,115,104,226,117,197,32,33,108,105,115,187,111,35,104,35,32,201,121,197,108,125,127,176,114,206,37,35,108,119,116,172,106,36,115,36,37,185,122,191,116 H,1083661,8,500,4,16,1015675,110,1,1,1,,2,2,2,,60,0,2,3,3,310,1,,1,550,1,1,1,4,,,150,1,1,,13,1,200,5,,,,,,1,4,44000,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,1,1,1,777,2,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,88,36,104,194,110,193,31,113,165,181,125,154,118,110,97,31,95,166,33,40,116,36,123,201,139,209,31,112,200,169,102,123,89,91,105,26,118,163,195,196,107,170,122,30,103,31,158,97,28,30,113,124,114,104,126,185,98,33,183,234,131,233,110,26,120,34,199,94,33,35,115,116,123,114,108,185,96,31,34 H,1083818,8,200,4,16,1015675,17,2,1,3,1,3,1,2,,40,0,2,3,3,900,1,2000,,,,3,1,6,,,,1,2,,18,1,480,4,4,25400,4,,,1,1,25400,0,4,4,4,1,6,0,2,0,0,0,19,0,0,0,2,2,2,401,,0,0,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,15,5,26,19,30,18,22,19,22,12,10,6,17,17,7,24,30,6,25,11,31,21,5,26,18,25,15,5,21,4,22,15,5,7,20,15,19,19,24,4,17,7,16,30,34,15,32,16,31,11,14,6,17,26,4,19,25,5,33,12,26,19,3,39,20,38,15,5,17,5,22,16,4,5,12,14,17,10,20 H,1083883,8,800,4,16,1015675,103,3,1,1,,3,2,2,,90,0,2,50,1,260,1,,2,720,2,1,1,7,,,,1,1,,10,3,540,8,2,74340,4,,,2,1,74340,0,4,4,4,1,5,0,3,0,0,0,16,0,0,0,0,0,1,974,3,0,1,13,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,189,36,98,172,24,23,150,103,138,150,101,161,92,123,143,28,120,31,41,98,84,133,105,35,152,119,26,110,130,36,86,35,112,105,131,164,104,181,158,90,105,34,87,166,38,23,154,150,116,128,158,186,88,103,98,32,103,31,30,121,147,176,112,30,154,215,41,67,84,40,91,31,110,92,128,188,87,167,142 H,1083913,8,300,4,16,1015675,238,4,1,3,1,3,2,2,,140,0,100,3,6,600,1,,2,510,2,1,1,5,,,50,1,1,,18,2,2,3,1,40000,2,,,1,1,40000,0,2,2,2,1,4,2,4,0,0,2,25,0,0,1,0,0,2,821,2,0,0,17,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,337,244,360,216,270,330,232,361,87,96,295,257,232,323,190,85,196,68,260,381,75,267,85,231,227,66,190,74,446,367,225,224,269,94,202,394,239,391,249,300,83,265,100,245,193,89,262,82,476,307,218,265,211,95,223,364,309,317,264,71,368,225,330,253,262,359,242,367,73,81,188,231,199,292,225,92,285,71,269 H,1083941,8,600,4,16,1015675,122,2,1,1,,3,2,2,,100,0,2,10,3,350,1,,,,,3,1,6,,,,1,2,,23,2,40,4,1,48700,4,,,1,1,48700,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,1,559,,0,1,62,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,207,201,38,33,124,37,120,138,184,133,211,122,214,121,127,35,119,115,41,124,130,123,126,128,35,116,210,35,118,38,119,191,115,213,39,127,197,188,116,188,32,35,205,219,119,219,134,119,33,117,38,127,39,136,123,201,119,123,222,130,121,127,127,122,229,109,33,207,126,206,114,33,131,38,193,126,34,40,112 H,1084188,8,800,4,16,1015675,252,4,1,1,,3,1,2,,70,0,2,30,1,,1,,,,,,1,5,2,150,,1,3,,,2,1,5,2,23500,2,250,13,2,1,23500,0,2,2,2,1,4,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,251,127,285,280,97,114,321,305,391,420,322,303,341,333,194,99,274,79,50,380,412,323,177,87,429,301,84,350,180,62,199,88,272,247,275,314,265,386,422,253,344,92,165,410,94,84,369,309,233,362,216,376,293,280,273,87,349,111,74,299,217,326,209,78,360,360,88,238,236,79,219,94,277,218,233,450,288,400,436 H,1084406,8,900,4,16,1015675,55,3,1,2,1,3,1,2,,1,0,1000,1,6,,1,,,,,,1,5,2,500,,1,3,,,4,1,5,2,38800,1,583,18,1,1,38800,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,15,48,85,111,93,57,59,49,53,67,17,18,15,46,69,59,17,47,77,55,15,45,116,101,75,46,49,64,47,48,18,20,22,56,83,46,20,64,16,62,82,60,23,18,19,63,47,68,67,48,86,75,75,64,17,49,87,53,17,59,80,59,15,17,24,44,48,54,60,57,86,92,89,48,15,51,81,59,134 H,1084535,8,300,4,16,1015675,114,1,1,2,1,4,2,2,,40,0,360,10,2,400,1,,,,,3,1,7,,,,2,2,,13,1,2,7,,,,,,1,6,55000,0,4,4,4,1,4,0,,0,0,0,3,0,0,0,0,0,2,158,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,119,138,207,121,31,34,32,96,113,105,122,99,176,167,168,121,45,140,173,41,119,93,28,110,192,187,187,114,111,148,205,189,32,33,40,109,163,98,173,32,105,94,33,112,177,153,214,119,115,151,204,187,33,27,33,119,157,82,41,177,106,143,222,162,40,35,33,141,108,88,84,103,254,199,193,115,37,162,34 H,1084724,8,400,4,16,1015675,102,2,1,1,,3,2,2,,100,0,2,3,1,,1,,,,,,1,5,2,750,,1,3,,,2,1800,6,8,15000,2,1000,80,1,3,15000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,226,109,106,94,80,208,127,109,31,33,143,157,32,114,188,34,31,96,99,92,178,100,102,94,90,176,106,109,32,30,148,173,34,104,193,27,28,100,86,106,150,92,98,131,115,136,95,120,32,27,178,160,26,112,159,31,27,85,104,110,200,108,101,114,113,143,104,117,37,26,215,225,34,110,180,30,28,112,97 H,1084742,8,400,4,16,1015675,60,4,1,2,1,2,1,2,,80,0,60,3,6,200,1,450,2,690,2,1,1,3,,,,1,1,,11,2,2,7,1,38810,2,,,1,1,38810,0,2,2,2,1,3,2,4,0,0,2,37,0,0,1,0,0,1,1201,3,0,0,56,2,5,1,0,0,0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,95,79,18,22,90,54,16,85,111,47,60,18,69,67,58,74,23,56,57,64,18,17,98,95,14,56,108,16,21,66,50,106,64,68,64,54,132,70,65,59,17,19,114,103,15,58,120,15,15,56,66,105,64,53,50,62,139,76,52,63,86,89,23,23,102,52,17,104,91,71,52,22,66,48,59,68,20,66,67,78 H,1084822,8,900,4,16,1015675,63,2,1,1,,4,2,2,,150,0,2,3,3,250,1,,2,1000,2,1,1,8,,,,1,1,,15,2,600,9,1,98000,4,,,1,1,98000,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,1,1313,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,114,68,78,70,100,61,106,16,72,15,67,64,61,20,15,106,92,20,66,20,56,16,19,100,53,115,86,56,96,69,107,18,17,61,65,61,111,66,18,62,18,62,50,60,20,73,20,93,70,112,70,65,72,101,96,13,46,122,99,95,74,117,95,20,61,19,72,65,20,61,20,117,123,61,58,48,16,63,97 H,1085013,8,800,4,16,1015675,107,3,1,3,6,3,2,2,,200,0,2,3,3,700,1,,1,830,1,1,1,5,,,,1,1,,16,4,2,5,1,14200,1,,,1,1,14200,0,1,1,1,1,5,1,3,0,0,1,87,0,0,1,0,0,1,1030,3,0,0,42,2,2,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,27,113,116,108,97,98,160,163,214,133,27,118,183,90,114,174,81,30,27,30,37,131,130,114,115,128,165,121,150,162,34,108,188,82,82,196,102,36,39,195,156,103,110,91,122,117,28,34,34,120,180,126,32,76,98,44,93,192,221,259,187,105,109,119,101,103,24,30,47,122,157,122,32,78,92,31,102,174,158,56 H,1085384,8,100,4,16,1015675,42,8,1,3,1,3,2,2,,140,0,20,3,6,,1,,,,,,1,5,2,500,,1,3,,,2,2,5,2,31000,2,642,25,1,1,31000,0,2,2,2,1,1,4,8,0,0,4,,0,0,1,0,0,2,,,0,0,,3,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,72,39,13,63,69,17,48,51,8,40,11,42,49,44,63,45,72,41,14,34,61,56,14,64,69,15,41,35,13,35,10,46,32,33,61,41,73,37,10,46,75,46,15,77,61,11,46,44,11,54,12,43,42,37,72,39,82,45,13,45,59,43,15,76,72,12,40,35,12,35,10,48,39,41,67,42,67,35,12 H,1085623,8,500,4,16,1015675,108,2,1,,,2,5,,,30,0,1,90,1,,1,,,,,,1,4,2,580,,1,3,,,1,1,1,7,21000,2,700,40,1,3,21000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,119,36,199,186,37,95,105,29,119,32,123,112,101,174,98,182,102,97,213,33,120,33,170,215,34,119,96,28,115,35,113,95,114,177,103,189,112,102,163,187,97,200,27,31,194,108,107,142,103,247,112,105,108,33,123,31,105,113,28,170,103,200,38,34,179,108,112,206,111,196,107,113,116,32,90,30,111,105,32,31 H,1085788,8,200,4,16,1015675,66,2,1,1,,3,2,2,,130,0,2,10,1,420,1,,2,1500,2,1,1,8,,,700,1,1,,16,2,620,4,,,,,,1,7,58000,0,4,4,4,1,6,0,,0,1,0,53,4,0,0,0,0,1,2552,2,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,75,23,136,79,100,143,58,108,23,66,65,71,17,63,103,89,16,19,47,70,59,19,143,62,117,122,68,97,17,65,52,70,17,58,149,53,21,19,97,72,69,91,17,61,21,20,58,21,103,68,69,63,99,68,17,71,105,104,62,79,73,98,19,60,25,22,67,20,97,100,55,66,123,56,23,49,132,126,90 H,1086591,8,600,4,16,1015675,142,1,1,,,1,9,,,30,0,2,40,1,,1,,,,,,1,2,2,560,,1,3,,,1,1,2,,,,630,35,1,6,21800,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,44,144,151,40,238,143,138,44,152,116,222,135,129,46,258,221,137,256,129,261,133,47,40,160,153,40,257,142,247,233,140,241,42,157,145,132,38,151,43,134,39,163,142,43,252,141,140,44,131,135,260,150,139,42,237,266,159,266,153,250,148,40,43,138,142,40,224,150,228,230,144,270,42,133,142,150,45,117,49 H,1086647,8,600,4,16,1015675,86,2,1,1,,3,2,2,,70,0,2,90,1,420,1,,2,1100,2,1,1,5,,,,1,1,,16,2,50,3,1,9000,4,,,1,1,9000,0,4,4,4,1,2,0,2,0,0,0,101,0,0,0,0,0,1,1441,3,0,1,29,1,7,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,154,88,151,86,80,156,91,150,22,30,87,88,89,143,90,26,89,25,94,149,24,95,25,89,81,24,89,25,147,149,84,83,85,30,85,148,91,141,83,142,24,86,26,100,91,26,96,24,148,143,87,94,90,26,80,146,84,144,92,25,147,96,163,90,95,141,78,150,27,23,84,87,91,155,83,25,85,28,83 H,1086716,8,700,4,16,1015675,127,2,1,1,,3,2,2,,200,0,2,100,3,350,1,,1,1500,1,1,1,6,,,,1,1,,20,2,50,2,1,106200,4,,,1,1,106200,0,4,4,4,1,4,0,2,0,0,0,20,0,0,0,0,0,1,1804,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,207,40,209,242,132,109,37,42,241,128,109,124,213,140,132,116,40,120,126,208,126,127,125,131,37,43,122,134,127,38,210,38,137,206,220,222,133,40,37,131,237,39,211,244,120,127,37,37,234,128,132,120,205,134,129,128,37,142,131,200,121,140,129,145,39,36,124,116,130,41,205,35,114,230,211,209,140,38,37 H,1086780,8,200,4,16,1015675,145,2,1,2,1,1,2,2,,210,0,2,230,8,1000,1,,,,,3,1,2,,,,1,2,,22,1,2,2,2,177000,4,,,1,1,177000,0,4,4,4,1,1,0,2,0,0,0,4,0,0,0,2,0,2,640,,0,1,26,2,4,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,209,293,117,132,40,42,229,210,46,136,269,51,42,126,124,229,137,148,144,153,145,59,158,164,239,266,49,35,208,120,56,256,221,140,134,45,130,149,125,158,181,40,140,161,198,227,60,53,237,155,47,222,246,194,164,40,150,137,121,156,157,232,111,121,39,54,249,253,47,145,247,36,50,130,116,241,139,160,138 H,1087472,8,700,4,16,1015675,116,2,1,1,,4,2,2,,30,0,2,120,1,330,1,,1,620,1,1,1,6,,,320,1,1,,15,2,30,3,1,190000,4,,,1,1,190000,0,4,4,4,1,2,0,2,0,0,0,7,0,0,0,2,0,1,1093,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,115,36,32,117,179,33,197,107,113,125,111,123,124,36,199,115,110,186,115,111,32,122,107,35,110,110,105,32,201,190,178,199,33,130,118,197,37,119,192,34,114,200,193,120,35,210,34,103,117,108,110,119,108,187,31,118,117,32,123,106,214,113,118,206,119,128,109,184,37,35,32,33,201,112,116,33,207,110,35 H,1088189,8,600,4,16,1015675,84,1,1,1,,2,1,2,,130,0,2,2,3,,1,,,,,,1,4,2,500,,1,3,,,1,1,4,,,,630,46,1,6,16400,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,91,79,24,86,79,136,23,136,137,87,87,25,25,126,84,93,78,147,164,78,87,82,136,78,87,24,136,22,24,95,85,145,135,26,94,75,76,23,25,80,76,88,25,84,79,150,25,140,161,78,86,25,24,158,83,78,79,129,136,88,86,79,147,88,84,22,146,23,24,87,84,157,147,22,80,82,86,22,23 H,1088231,8,800,4,16,1015675,73,1,1,3,1,3,2,2,,150,0,2,3,3,1200,1,,1,760,1,1,1,5,,,,1,1,,15,2,2,4,,,,,,1,4,35000,0,4,4,4,1,6,0,,0,0,0,31,0,0,0,0,0,1,910,3,0,0,21,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,75,115,69,81,82,22,18,69,22,124,20,127,73,142,136,71,63,57,77,70,140,75,19,128,130,73,97,28,79,80,67,67,17,68,90,139,125,24,21,80,24,72,112,22,22,88,79,109,85,79,74,68,130,79,75,24,22,101,114,128,75,22,87,91,74,119,146,78,117,21,127,22,70,20,18,78,61,74,74,24 H,1088248,8,500,4,16,1015675,78,1,1,1,,3,2,2,,60,0,2,3,3,0,1,,,,,3,1,6,,,,1,2,,12,1,20,4,,,,,,1,6,14400,0,4,4,4,1,5,0,,0,0,0,14,0,0,0,1,1,1,166,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,25,120,165,25,75,89,23,75,27,82,87,79,135,78,127,78,72,126,149,80,105,23,22,116,83,89,135,91,132,78,81,75,23,78,25,82,72,25,23,68,24,149,142,20,96,82,24,83,26,77,77,74,136,69,128,71,82,142,131,83,131,25,22,132,85,71,146,72,127,71,86,79,19,82,24,75,75,26,26 H,1088833,8,700,4,16,1015675,79,1,1,1,,3,2,2,,30,0,2,130,1,290,1,,2,350,2,1,1,6,,,,1,1,,16,1,300,2,,,,,,1,6,28000,0,4,4,4,1,2,0,,0,0,0,29,0,0,0,0,0,1,680,3,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,78,20,68,77,132,78,133,88,150,86,81,22,77,92,24,142,138,23,134,76,130,76,22,135,76,137,82,26,90,29,133,74,24,25,77,71,82,85,79,148,86,131,75,86,19,82,21,73,22,73,86,164,83,81,151,23,25,139,23,83,27,91,136,24,77,22,80,105,76,132,23,90,124,119,76,79,80,76,78 H,1089468,8,300,4,16,1015675,116,2,1,1,,2,3,2,,50,0,2,10,1,200,1,,1,390,1,1,1,4,,,,1,1,,11,2,350,7,1,42000,4,,,2,1,42000,0,4,4,4,2,4,0,2,0,0,0,14,0,0,0,0,0,2,479,3,0,1,15,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,97,162,262,94,194,220,32,36,150,158,130,124,186,36,138,117,98,220,29,40,106,116,204,123,163,149,31,32,145,135,107,112,166,54,94,129,109,206,31,185,92,165,39,99,37,34,190,206,119,113,113,119,33,280,137,86,107,34,153,207,88,123,39,124,33,33,206,192,125,118,116,130,35,332,128,112,105,39,193,27 H,1090152,8,800,4,16,1015675,289,1,1,1,,2,2,2,,30,0,2,3,3,,1,,,,,,1,4,2,800,,1,3,,,1,1,9,,,,830,22,1,6,45200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,115,108,99,266,410,238,79,291,314,86,331,515,459,422,331,327,315,266,435,263,98,87,87,295,449,326,91,302,354,101,286,479,498,422,280,310,267,218,85,295,491,426,453,281,74,277,436,352,322,501,284,102,93,73,277,242,296,344,92,305,472,452,455,271,94,293,356,318,279,399,315,95,106,96,282,270,360,330,443 H,1090245,8,900,4,16,1015675,82,0,1,2,,5,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,189,26,30,144,74,22,157,141,92,98,25,81,68,75,89,22,73,75,83,24,20,139,135,21,85,150,28,27,93,90,122,79,77,83,86,133,81,87,74,22,27,165,136,26,102,132,26,22,75,80,126,89,72,71,103,135,88,82,81,133,140,26,26,137,81,25,129,144,99,91,25,79,73,81,89,28,88,82,79 H,1090567,8,600,4,16,1015675,104,4,1,,,2,8,,,100,1000,2,3,3,,1,,,,,,1,5,2,70,,1,3,,,2,1,3,2,11000,1,170,19,2,1,11000,0,1,1,1,1,2,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,101,91,27,183,100,110,174,103,96,189,115,97,104,178,30,34,30,34,104,203,99,102,30,175,107,111,202,107,107,184,97,100,111,180,27,26,30,34,98,167,103,103,31,181,104,101,144,100,104,183,109,116,115,187,37,32,32,34,98,188,104,109,33,171,94,101,170,94,105,191,102,93,94,188,30,32,30,29,107 H,1090594,8,300,4,16,1015675,65,1,1,,,1,8,,,20,0,2,20,1,,1,,,,,,1,2,2,640,,1,3,,,1,1,3,,,,680,11,1,4,73000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,66,106,97,119,73,18,64,104,80,63,102,70,18,18,20,60,70,69,18,59,69,93,103,97,66,19,59,123,79,84,125,62,18,20,21,80,72,55,88,64,54,20,21,20,60,110,66,15,67,78,20,57,107,121,109,74,74,63,99,71,57,21,21,18,68,116,68,17,66,74,22,85,102,110,114,69,68,62,21 H,1090642,8,500,4,16,1015675,84,1,1,2,1,2,2,2,,80,0,2,150,1,650,1,,,,,3,1,4,,,,1,2,,11,1,2,9,,,,,,1,6,13600,0,4,4,4,1,7,0,,0,0,0,31,0,0,0,1,1,1,351,,0,1,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,93,89,80,142,26,78,74,103,92,138,127,23,25,87,96,91,79,128,28,25,75,78,82,129,23,81,91,170,74,147,170,27,24,75,82,73,75,148,29,25,92,84,93,115,23,73,97,161,88,150,152,18,23,68,77,77,75,154,19,26,70,80,81,150,26,79,69,137,83,135,172,27,24,95,91,87,91,139,27 H,1091304,8,200,4,16,1015675,22,2,1,1,,2,1,2,,100,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,2,720,4,4,20200,4,610,36,1,1,20200,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,39,18,30,23,5,9,20,7,48,7,27,21,40,37,17,19,20,24,17,54,13,7,55,33,20,35,7,15,24,25,20,5,21,31,38,37,5,6,21,7,15,25,7,6,23,27,44,14,26,21,21,39,21,27,7,6,36,33,32,27,7,14,24,25,33,37,31,40,4,28,8,24,7,7,24,18,19,20,5 H,1091610,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1091865,8,800,4,16,1015675,183,6,1,1,,4,2,2,,50,0,2,3,3,,1,,,,,,1,7,2,1100,,1,3,,,3,2,4,1,66900,2,1150,21,2,1,66900,0,2,2,2,1,1,2,6,0,0,2,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,47,248,198,255,138,41,191,176,237,313,73,67,289,183,48,296,322,239,166,176,53,178,168,187,244,62,175,184,279,296,62,58,304,196,52,309,303,180,164,186,280,181,216,165,161,315,164,131,63,47,308,323,50,168,309,64,68,156,188,186,337,224,184,153,186,343,173,162,74,66,262,259,59,201,399,55,51,191,179,174 H,1092138,8,200,4,16,1015675,210,1,1,,,1,5,,,160,0,2,3,3,,1,,,,,,1,3,2,350,,2,3,,,0,1,6,,,,510,82,1,4,7500,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,203,288,300,198,77,59,41,155,241,265,335,220,338,347,400,240,57,219,532,56,220,228,65,174,306,336,319,239,316,263,334,215,85,77,51,202,255,166,292,82,169,150,71,307,317,323,513,243,196,169,191,212,58,65,64,201,335,278,53,338,210,203,319,280,75,64,83,219,209,203,173,200,394,379,299,199,85,222,76 H,1092320,8,100,4,16,1015675,233,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,66,233,232,408,383,69,71,367,234,67,463,380,234,243,67,250,251,264,247,241,69,248,283,383,371,71,65,352,236,68,378,373,240,250,58,199,242,265,238,222,69,272,284,384,409,74,62,390,203,67,358,415,223,242,84,228,250,223,229,241,64,237,220,449,403,69,74,350,239,71,393,398,207,216,64,236,239,264,227 H,1092582,8,700,4,16,1015675,121,4,1,1,,3,2,2,,50,0,2,150,1,300,1,,2,1600,2,1,1,8,,,,1,1,,18,3,70,3,1,88604,2,,,1,1,88604,0,2,2,2,1,5,1,4,0,0,1,27,0,0,1,0,0,1,1998,3,0,1,32,3,4,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,129,33,111,117,34,130,229,198,226,113,126,112,124,116,36,37,36,111,193,34,126,225,117,121,199,118,37,37,34,120,119,110,114,119,205,230,207,116,34,194,112,32,126,118,35,105,223,236,208,127,114,122,118,120,39,37,34,111,223,41,122,214,122,121,204,124,34,32,36,116,132,106,100,117,195,190,219,122,39,191 H,1092672,8,300,4,16,1015675,42,6,1,2,1,3,2,2,,190,0,2,3,3,500,1,,1,770,1,1,1,6,,,,1,1,,14,2,2,2,1,33000,2,,,1,1,33000,0,2,2,2,1,2,4,6,0,0,4,35,0,0,1,0,0,1,960,3,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,49,98,51,54,53,12,11,36,16,84,13,54,37,54,83,85,48,42,42,59,11,34,77,13,13,32,31,70,42,35,45,36,79,72,51,14,12,60,77,15,41,87,39,38,38,13,14,42,11,86,11,54,41,60,56,64,51,52,38,44,8,34,79,11,14,57,48,74,33,46,41,83,88,46,45,12,13,56,73,8 H,1092760,8,200,4,16,1015675,99,1,1,1,,2,1,2,,250,0,2,3,3,,1,,,,,,1,4,2,50,,1,3,,,2,2,5,,,,300,13,1,4,28400,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,32,28,165,138,37,95,210,22,23,93,93,130,105,84,113,94,142,122,143,135,252,179,33,38,153,107,43,149,138,99,88,24,90,70,92,80,30,107,101,124,25,40,215,182,32,125,135,21,28,78,110,192,114,103,97,137,111,87,89,125,200,183,35,42,150,111,27,118,177,88,113,45,88,80,72,101,25,88,99 H,1092962,8,500,4,16,1015675,117,3,1,2,1,3,2,2,,290,0,2,3,3,400,1,,1,610,1,1,1,9,,,350,1,1,,18,2,30,3,1,62000,2,,,1,1,62000,0,2,2,2,1,5,1,3,0,0,1,24,0,0,1,0,0,1,1253,2,0,1,47,2,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,114,116,116,187,196,104,118,113,220,35,261,122,35,36,33,101,160,32,119,117,128,107,113,36,36,113,113,125,32,186,35,92,203,197,220,115,30,179,137,140,128,125,116,31,32,116,121,92,37,206,34,115,234,185,207,112,31,189,111,122,112,121,116,200,170,104,125,118,193,33,206,112,31,34,33,113,196,35,118,120 H,1093017,8,300,4,16,1015675,45,6,1,3,1,5,2,1,,110,0,30,50,6,700,1,,2,930,2,1,1,9,,,,1,1,,17,3,2,3,1,68150,2,,,1,1,68150,0,2,2,2,1,4,3,6,0,0,3,22,0,0,1,0,0,1,1259,3,0,0,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,49,91,48,77,13,14,48,41,39,67,46,13,39,11,14,77,43,68,40,41,49,73,48,73,12,14,42,46,41,79,52,13,47,12,12,73,47,84,46,44,44,86,43,74,12,14,53,42,44,75,45,11,42,13,13,64,46,97,50,44,50,75,48,85,11,12,43,42,39,81,39,13,44,13,11,81,43,78,42 H,1093164,8,500,4,16,1015675,69,2,1,2,1,2,2,2,,80,0,300,3,3,800,1,,1,1100,1,1,1,7,,,,1,1,,16,4,2,5,1,51600,4,,,1,1,51600,0,4,4,4,1,1,0,2,0,0,0,28,0,0,0,0,0,1,1205,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,18,64,73,20,60,69,18,62,70,69,17,118,128,122,112,19,53,64,82,23,121,62,69,109,59,71,116,64,68,71,110,21,20,21,25,125,65,71,64,118,21,79,71,22,62,67,21,71,64,72,21,123,109,115,104,18,71,63,64,19,125,63,59,119,70,75,98,53,71,77,105,20,23,21,21,117,72,64,77 H,1093405,8,800,4,16,1015675,29,1,1,1,,2,1,2,,40,0,2,3,3,300,1,2600,,,,3,1,5,,,,1,2,,3,1,1,3,,,,,,1,4,30000,0,4,4,4,1,4,0,,0,0,0,12,0,0,0,0,0,1,295,,0,0,5,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,11,7,29,30,25,35,25,12,24,9,10,57,29,45,24,26,49,29,33,47,9,11,30,29,31,50,38,10,33,9,8,41,31,65,29,25,51,28,34,60,11,7,30,30,34,51,27,8,34,8,9,49,25,43,32,39,48,33,28,50,9,11,34,26,27,63,23,9,26,6,9,47,29,43,32,34,53,28,31 H,1093566,8,100,4,16,1015675,63,4,1,2,1,3,1,2,,90,0,200,3,4,1800,1,0,2,650,2,1,1,5,,,,1,1,,20,2,2,4,1,52000,2,,,1,1,52000,0,2,2,2,1,4,2,4,0,0,2,24,0,0,1,0,0,2,1040,3,0,0,28,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,60,26,81,15,19,94,101,83,50,64,58,17,106,77,61,70,19,95,57,20,70,116,60,95,107,19,27,79,55,72,73,84,17,54,60,77,108,22,74,101,62,15,52,20,21,104,82,75,64,59,52,25,115,63,73,59,25,123,58,22,52,105,59,98,110,22,21,53,82,85,73,109,19,84,62,52,89,22,70,106 H,1093594,8,500,4,16,1015675,110,2,1,2,1,3,2,2,,50,0,2,70,1,350,1,,1,220,1,1,1,6,,,,1,1,,2,1,2,9,2,95500,4,,,1,1,95500,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,2,1,2,340,3,0,1,1,1,7,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,171,112,30,115,204,117,94,200,101,35,32,35,104,103,101,104,95,180,192,38,178,110,35,112,186,101,98,205,120,37,33,33,102,103,114,118,110,171,187,31,188,103,31,112,208,107,109,169,104,37,35,34,121,92,102,118,109,209,200,29,171,118,28,109,175,104,105,181,105,38,36,34,106,104,103,114,108,207,157,30 H,1093707,8,300,4,16,1015675,60,2,1,1,,3,2,2,,1,0,1,1,3,,1,,,,,,1,6,,,,1,4,,,2,1,5,1,64000,4,,,1,1,64000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,19,18,60,65,69,65,74,93,112,92,59,16,59,113,60,63,103,53,101,109,93,105,62,61,61,66,55,16,20,20,63,101,56,18,68,73,20,50,109,97,98,96,58,72,59,54,58,16,18,17,58,91,59,23,60,59,18,62,25,18,16,18,75,67,59,56,59,123,98,103,59,18,62,111,61,54,107,65,16 H,1094874,8,600,4,16,1015675,119,3,1,1,,3,2,2,,70,0,500,40,1,,1,,,,,,1,5,2,880,,1,3,,,2,500,3,7,22000,2,1074,29,1,3,44000,0,2,2,2,1,1,1,2,0,1,1,,3,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,34,132,209,35,197,114,122,128,119,114,111,34,206,119,125,179,197,113,116,116,126,181,124,122,117,206,32,38,36,34,212,118,126,36,203,122,132,197,35,35,33,113,188,35,206,113,110,128,123,111,122,33,198,118,118,208,195,143,115,114,105,200,121,125,129,208,33,37,34,36,213,113,115,40,203,110,121,201,35 H,1094920,8,300,4,16,1015675,99,3,1,1,,4,2,2,,80,0,2,80,1,300,1,,1,700,1,1,1,9,,,,1,1,,14,2,110,5,1,107000,4,,,1,1,107000,0,4,4,4,1,6,0,3,0,0,0,10,0,0,0,0,0,1,869,3,0,1,11,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,123,90,107,108,31,26,26,93,148,86,30,96,121,30,96,192,171,171,165,99,78,98,114,95,28,36,24,95,178,120,28,100,97,35,107,152,214,178,155,111,101,98,103,103,31,26,33,96,169,94,31,87,103,34,107,200,158,149,185,106,103,96,95,102,32,28,33,87,136,113,26,111,101,25,104,166,162,195,172 H,1095117,8,300,4,16,1015675,232,2,1,,,2,6,,,40,0,2,3,3,,1,,,,,,1,3,2,310,,1,3,,,1,1,5,3,11900,4,350,35,1,1,11900,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274,228,220,90,241,261,361,312,79,63,348,289,74,394,365,209,285,74,252,243,254,225,216,305,223,191,61,99,355,300,69,234,458,70,74,253,316,319,207,197,180,260,240,68,274,247,339,267,95,124,280,198,76,317,318,284,264,71,247,221,295,281,216,292,264,240,93,99,264,336,81,291,303,89,117,200,210,343,226,184 H,1095632,8,900,4,16,1015675,13,2,1,3,6,5,2,2,,30,0,2,100,2,800,1,,,,,3,1,8,,,,1,2,,17,2,160,7,1,39421,4,,,5,1,39421,0,4,4,4,1,5,0,2,0,0,0,12,0,0,0,0,0,1,398,,0,0,34,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,5,15,12,10,12,4,12,12,22,18,3,1,17,10,3,28,25,10,12,16,26,16,14,12,16,27,12,12,4,3,16,23,5,10,25,5,6,11,13,13,3,14,15,10,11,5,13,12,21,20,2,4,25,16,3,19,20,10,10,12,23,18,15,13,12,20,13,11,3,5,20,22,5,12,20,5,3,10 H,1095777,8,300,4,16,1015675,157,2,1,2,1,5,2,2,,150,0,1200,3,2,900,1,,1,2100,1,1,1,9,,,,1,1,,22,4,2,2,1,230000,4,,,1,1,230000,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,0,0,1,2350,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,46,197,177,338,264,52,49,236,200,58,265,211,126,151,74,144,102,184,208,136,45,186,175,294,227,47,54,220,179,45,189,277,165,155,60,154,100,111,148,143,49,148,190,214,287,59,45,241,115,46,288,310,140,134,51,206,259,126,155,202,49,118,166,244,233,40,47,212,116,65,268,215,150,138,37,170,259,179,148 H,1096134,8,800,4,16,1015675,69,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,71,20,63,123,69,71,103,58,18,21,21,74,66,72,81,58,99,116,131,21,77,101,73,22,64,71,20,75,100,111,122,78,70,65,63,64,20,20,104,19,64,121,60,17,65,72,20,73,121,121,114,70,71,73,63,72,21,18,17,99,79,22,67,134,77,71,128,75,20,24,21,62,63,66,64,56,124,116,23 H,1096246,8,500,4,16,1015675,79,3,1,1,,3,2,2,,50,0,2,150,1,500,1,,2,550,2,1,1,6,,,220,1,1,,15,2,480,2,1,105000,1,,,1,1,105000,0,1,1,1,1,3,1,3,0,0,1,13,0,0,1,0,0,1,1152,1,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,78,79,23,24,128,115,25,72,144,23,23,77,79,148,89,85,77,71,81,25,73,72,128,140,24,24,148,87,21,127,141,94,79,20,79,76,83,76,83,146,87,76,24,21,147,122,25,73,134,24,23,75,80,124,89,86,82,79,72,24,65,73,161,131,20,24,127,87,24,129,170,86,73,26,79,76,80,77,91 H,1096523,8,400,4,16,1015675,70,3,1,2,1,3,2,2,,410,0,2,3,3,40,1,,2,900,2,1,1,9,,,,1,1,,24,5,2,3,4,186400,4,,,1,1,186400,0,4,4,4,1,5,0,3,0,0,0,9,0,0,0,2,2,2,1446,3,0,1,28,1,6,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,125,23,26,77,67,74,124,67,21,69,20,25,130,78,117,56,67,122,69,63,112,18,25,79,74,88,116,75,19,69,23,23,151,58,102,76,68,112,67,69,138,24,18,70,70,62,96,84,27,70,23,26,119,70,120,81,71,122,72,76,140,24,18,63,65,69,116,60,24,87,25,20,106,72,97,54,59,144,81,69 H,1096959,8,600,4,16,1015675,82,1,1,1,,3,2,2,,50,0,2,110,1,300,1,,1,760,1,1,1,6,,,150,1,1,,17,1,490,4,,,,,,1,6,21000,0,4,4,4,1,1,0,,0,0,0,63,0,0,0,1,1,1,1111,2,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,28,80,24,86,71,83,157,79,149,83,80,128,84,20,136,141,22,75,77,22,25,86,26,83,91,87,153,87,142,88,72,132,81,23,149,155,25,79,87,25,23,81,25,80,79,79,133,91,144,87,81,137,83,24,129,152,22,84,89,23,23,79,23,75,83,84,138,77,154,87,79,143,84,27,149,132,25,81,83,25 H,1096967,8,700,4,16,1015675,86,1,1,2,1,4,2,1,,30,0,2,3,3,500,1,,2,800,2,1,1,9,,,500,1,1,,20,1,2,9,,,,,,1,6,80000,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,0,0,1,1580,2,0,0,37,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,149,23,25,27,24,130,92,87,27,138,82,84,146,94,89,134,78,76,90,84,155,25,25,27,23,151,76,88,25,152,85,80,146,85,81,148,89,90,82,85,150,25,24,27,24,142,84,87,26,141,95,85,143,90,81,151,86,93,82,78,139,23,25,25,25,137,86,77,23,156,90,91,139,84,82,131,86,80,89 H,1097069,8,100,4,16,1015675,32,2,1,2,1,4,2,2,,320,0,300,3,3,630,1,,,,,3,1,9,,,,1,2,,20,2,2,4,1,14400,4,,,1,1,14400,0,4,4,4,1,6,0,2,0,0,0,51,0,0,0,0,0,1,608,,0,1,37,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,34,34,10,34,31,46,61,10,11,50,27,8,49,49,25,30,8,26,31,33,30,29,10,32,34,65,53,8,13,49,26,10,68,64,35,36,10,29,31,27,29,37,11,27,27,51,61,10,11,58,24,10,58,44,31,31,8,28,28,26,23,31,10,39,44,62,61,10,10,60,32,10,59,43,29,45,9,28,29 H,1097160,8,900,4,16,1015675,82,2,1,1,,2,2,2,,70,380,2,3,3,0,1,,2,220,2,1,1,4,,,,1,1,,3,1,1,3,4,13200,4,,,1,1,13200,0,4,4,4,1,4,0,2,0,0,0,27,0,0,0,2,1,2,293,3,0,1,2,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,145,82,87,82,26,20,83,30,127,23,124,71,145,148,74,84,87,75,81,25,92,146,25,20,107,96,151,89,80,92,89,157,97,65,25,23,122,153,133,81,28,90,82,80,156,125,86,160,23,154,24,85,25,27,93,73,87,70,82,132,77,24,141,135,87,96,24,78,83,77,90,32,79,72,142,166,27,18,29 H,1097336,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1097545,8,500,4,16,1015675,70,1,1,1,,3,2,2,,120,0,190,3,4,,1,,,,,,1,5,2,550,,1,3,,,1,2,9,,,,686,101,1,6,5000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,64,117,79,18,64,21,16,104,91,130,69,70,140,73,121,18,19,81,65,81,73,117,68,19,65,23,21,123,72,132,70,71,134,74,114,23,20,75,71,72,82,24,74,129,72,110,119,25,68,23,70,66,19,76,22,109,123,67,72,71,82,24,57,111,70,122,107,21,63,21,57,68,23,82,26,116,118,70,73 H,1097850,8,600,4,16,1015675,120,2,1,1,,5,2,2,30,50,0,2,50,1,400,1,,,,,3,1,9,,,,1,2,,20,1,30,3,4,53070,4,,,1,1,53070,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,2,2,1,475,,0,1,49,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,120,133,37,118,217,126,36,39,124,125,40,194,117,195,209,116,178,34,130,117,145,130,199,126,40,113,213,214,136,128,195,34,112,38,36,111,33,186,119,104,111,128,35,120,209,146,38,37,122,113,35,190,128,235,213,126,241,39,128,128,117,109,195,123,33,108,195,198,123,119,185,35,122,40,31,125,33,221,110 H,1098107,8,900,4,16,1015675,27,2,1,1,,2,2,2,,30,0,2,30,1,290,1,,,,,3,1,6,,,,1,2,,11,3,550,6,4,43200,4,,,1,1,43200,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,1,0,2,190,,0,1,16,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,42,9,10,47,29,6,46,48,26,25,7,22,32,29,23,8,27,30,25,8,8,44,43,6,35,57,8,8,28,29,54,28,27,27,26,40,21,26,28,44,46,9,8,41,31,7,47,51,26,29,9,21,25,37,29,6,26,22,26,7,9,42,43,8,27,50,8,9,32,25,50,30,25,23,27,56,28,21,30 H,1098186,8,800,4,16,1015675,264,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,466,284,227,310,265,428,249,300,107,69,379,385,69,293,418,82,101,286,252,275,72,248,266,286,268,82,264,248,411,429,85,86,378,317,87,362,424,286,278,224,403,307,232,283,297,420,274,269,119,73,419,330,62,305,433,71,82,272,248,239,79,308,260,297,282,81,270,275,473,392,81,78,336,357,102,337,408,297,275 H,1098232,8,200,4,16,1015675,80,3,1,1,,4,2,2,,30,0,100,90,1,470,1,,,,,3,1,7,,,,1,2,,15,1,680,9,1,92710,4,,,1,1,92710,0,4,4,4,1,6,0,3,0,0,0,6,0,0,0,0,0,1,442,,0,1,38,3,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,119,73,26,139,131,23,101,76,25,86,27,67,75,97,133,91,156,90,110,75,26,94,107,29,27,117,92,75,126,102,118,66,85,70,21,71,24,86,21,67,147,77,26,135,130,22,84,99,19,78,33,85,72,75,130,70,137,77,103,85,30,69,118,22,22,158,92,97,135,78,153,75,60,95,33,76,22,89,21 H,1098412,8,900,4,16,1015675,43,2,1,1,,2,2,2,,60,720,2,100,1,,1,,,,,,1,4,2,150,,2,3,,,1,50,8,4,7920,4,314,48,1,1,7920,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,70,33,48,58,13,10,36,13,82,13,84,47,86,85,51,46,48,44,40,10,35,93,12,13,50,45,69,43,46,52,47,62,55,35,12,13,51,108,14,47,74,40,52,45,12,11,39,13,81,11,80,42,61,87,44,31,48,50,43,10,35,76,14,14,50,63,68,48,49,48,45,67,43,50,14,13,72,71,12 H,1098605,8,900,4,16,1015675,103,1,1,,,2,5,,,30,0,2,60,1,,1,,,,,,1,4,2,380,,1,3,,,2,1,6,,,,470,14,1,4,39600,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,30,170,101,120,93,187,100,29,106,198,180,109,107,153,28,103,27,30,107,121,38,142,106,139,102,156,109,28,81,151,163,105,105,166,35,95,32,31,96,113,163,31,113,94,105,23,93,143,93,33,31,80,90,30,178,134,150,153,86,118,195,31,115,109,122,31,89,193,92,36,27,85,89,29,214,130,197,216,100 H,1098644,8,100,4,16,1015675,29,2,1,1,,3,2,2,,50,0,2,30,1,430,1,,,,,3,1,5,,,,1,2,,17,3,480,7,4,23300,4,,,1,1,23300,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,2,2,1,256,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,34,27,29,37,37,54,58,52,28,8,20,45,25,24,50,30,9,7,52,49,38,24,29,30,27,11,8,8,33,49,20,7,29,29,10,27,39,40,57,49,29,27,33,33,34,10,7,12,37,45,27,12,22,25,8,26,42,37,6,11,31,28,39,32,30,46,43,50,25,9,32,43,30,29,45,27,9,7,7 H,1098736,8,900,4,16,1015675,83,2,1,2,1,3,2,2,,30,0,2,50,1,0,1,,,,,3,1,7,,,,1,2,,17,1,30,1,4,26300,4,,,1,1,26300,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,0,0,1,111,,0,1,8,2,5,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,142,147,29,24,78,25,81,63,128,80,177,99,152,79,77,21,76,77,180,82,93,83,98,81,123,83,27,115,61,150,102,23,75,29,147,73,25,22,139,85,102,102,73,64,115,90,25,110,102,119,64,24,83,25,148,94,24,23,69,30,141,166,28,24,91,30,103,86,148,91,141,76,109,87,74,28,73,70,93 H,1098776,8,100,4,16,1015675,34,2,1,1,,2,2,2,,60,0,500,3,4,600,1,,1,680,1,1,1,5,,,,1,1,,14,2,710,7,1,33000,4,,,1,1,33000,0,4,4,4,1,2,0,2,0,0,0,31,0,0,0,0,0,1,841,3,0,1,3,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,12,43,37,27,74,94,29,51,15,50,9,34,8,15,47,32,37,26,29,38,29,89,14,8,29,41,49,41,60,54,39,78,34,29,10,10,75,66,12,6,70,46,37,34,13,16,25,10,96,10,36,30,58,57,30,37,38,38,37,32,38,17,52,41,53,56,8,56,49,41,28,10,34,35,75,54,10,12,55,36 H,1098884,8,800,4,16,1015675,208,1,1,1,,3,2,2,,30,0,2,30,1,,1,,,,,,1,6,2,500,,1,3,,,3,1,7,,,,560,56,1,4,12000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,322,199,233,204,217,362,209,219,100,72,233,269,64,177,331,61,47,224,209,221,263,188,210,271,212,260,205,302,110,67,301,279,56,198,312,83,51,190,297,205,70,214,184,234,206,71,166,242,463,349,111,90,263,191,71,295,243,208,246,222,70,172,202,181,184,77,215,205,385,359,62,71,275,176,61,261,252,164,247 H,1099543,8,700,4,16,1015675,475,4,1,1,,3,1,2,,90,0,2,3,3,300,1,3900,2,200,2,1,1,5,,,,1,1,,2,2,960,3,2,7200,2,,,2,1,7200,0,2,2,2,2,4,2,4,0,0,2,101,0,0,1,0,0,2,730,3,0,0,4,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,186,389,448,172,455,162,665,658,580,342,523,213,588,671,529,717,665,176,444,395,152,460,482,171,572,159,649,668,531,498,390,145,590,850,499,748,678,131,527,442,657,484,498,713,497,778,203,162,450,628,420,672,368,154,440,155,247,640,480,642,657,476,382,655,483,670,139,232,413,407,600,786,488,182,436,144,145,1010,466,600 H,1099823,8,100,4,16,1015675,142,2,1,,,2,6,,,140,0,2,3,3,,1,,,,,,1,5,2,240,,1,3,,,0,1,5,6,13300,2,380,34,1,2,13300,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,158,159,229,119,41,40,43,133,160,130,150,144,270,208,253,173,48,157,255,41,135,135,36,157,233,223,224,156,171,124,151,140,43,38,52,158,241,141,36,267,133,121,245,143,44,43,40,143,135,131,152,143,284,278,257,160,37,144,237,40,159,152,46,129,220,209,272,154,150,171,148,145,42,46,45,135,248,116,38 H,1099905,8,300,4,16,1015675,245,0,1,,,1,6,,,,,,,,,2,,,,,,2,3,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,249,383,347,410,274,221,198,249,232,65,84,88,303,411,211,87,264,239,76,293,315,390,388,373,291,305,249,227,305,76,66,86,219,402,243,55,265,217,81,354,228,404,339,463,208,188,212,245,245,77,81,72,243,431,264,86,238,300,76,382,310,365,389,372,257,256,234,255,264,90,69,78,280,407,274,66,257,243,80,485 H,1100240,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1100505,8,500,4,16,1015675,72,5,1,1,,3,2,2,,130,0,2,200,1,430,1,,1,850,1,1,1,9,,,240,1,1,,16,3,440,6,1,43100,3,,,1,1,43100,1,3,2,3,1,2,2,5,0,0,3,41,0,1,1,0,0,1,1457,2,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,21,70,125,19,103,74,74,73,82,89,66,19,127,71,66,120,104,78,76,87,67,116,71,72,67,132,25,20,21,24,105,79,77,23,125,73,70,139,25,19,23,80,123,20,127,77,62,79,77,76,71,22,116,78,71,103,128,73,74,75,78,128,70,63,77,134,21,19,22,26,113,68,75,20,131,76,78,127,23 H,1100646,8,700,4,16,1015675,115,2,1,1,,3,2,2,,50,0,2,10,1,290,1,,,,,3,1,8,,,,1,2,,19,2,410,6,4,80100,4,,,1,1,80100,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,1,324,,0,1,36,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,34,119,186,187,200,119,119,129,121,121,37,34,31,111,191,108,29,103,207,109,40,125,189,193,216,113,114,119,125,120,33,31,32,113,202,112,32,105,190,105,34,118,187,193,182,141,122,123,117,113,33,32,35,127,187,116,38,119,203,117,33,103,187,191,184,109,105,107,114,114,30,33,35,118,182,123,33,116,180 H,1100892,8,400,4,16,1015675,396,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,7,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,403,557,423,127,366,456,425,110,420,133,602,372,615,361,346,358,734,697,361,344,169,388,649,425,633,662,118,362,161,501,378,125,426,131,680,532,373,367,409,372,678,384,135,451,135,115,562,411,637,407,351,652,434,654,111,104,449,352,655,634,395,106,390,654,355,370,390,700,444,634,136,391,126,463,346,371,125,115,103 H,1100911,8,300,4,16,1015675,17,5,1,1,,3,2,2,,60,0,2,30,3,410,1,,1,590,1,1,1,5,,,,1,1,,13,3,720,3,3,17700,2,,,1,1,17700,0,2,2,2,1,3,3,5,0,0,3,50,0,0,1,0,0,1,740,3,0,1,8,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,6,3,4,21,21,13,6,12,15,8,26,41,38,25,18,14,16,16,9,11,32,24,27,19,7,20,24,16,21,44,18,7,6,3,15,12,15,15,5,15,31,24,33,18,5,15,30,16,20,36,18,7,9,5,14,14,19,20,29,13,5,3,8,30,23,17,7,14,14,5,16,30,48,26,16,13,13,16,38 H,1101008,8,300,4,16,1015675,94,2,1,1,,2,2,2,,60,0,4,180,1,440,1,,2,760,2,1,1,7,,,,1,1,,16,3,350,3,4,57800,4,,,1,1,57800,0,4,4,4,1,4,0,2,0,0,0,26,0,0,0,2,2,1,1271,3,0,1,36,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,25,30,137,25,125,86,157,134,129,77,79,26,191,98,28,105,92,86,27,30,79,109,122,97,158,30,105,98,99,204,28,92,74,170,89,171,185,24,74,80,28,29,143,25,95,94,158,156,159,94,103,30,165,94,30,110,105,107,21,29,92,94,115,84,168,27,110,85,69,183,27,94,99,124,97,183,150,38,93 H,1101276,8,600,4,16,1015675,102,2,1,1,,4,2,2,,50,0,2,70,1,600,1,,1,1200,1,1,1,7,,,,1,1,,18,2,1000,4,1,107260,4,,,1,1,107260,0,4,4,4,1,4,0,2,0,0,0,16,0,0,0,0,0,2,1403,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,31,31,168,97,30,167,181,100,105,31,107,105,102,110,34,97,105,167,167,102,179,162,29,104,177,28,30,107,102,188,106,104,111,107,174,100,96,30,32,101,177,177,27,95,174,32,30,95,97,166,101,109,108,109,185,111,114,33,33,98,30,31,170,101,30,170,188,97,95,32,104,103,102,94,31,109,102,176,181,112 H,1101490,8,100,4,16,1015675,23,1,1,,,1,10,,,4,0,2,3,3,0,1,,,,,3,1,2,,,,1,2,,1,2,1,4,,,,,,1,4,18200,0,4,4,4,1,3,0,,0,0,0,1,0,0,0,1,1,2,6,,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,25,8,21,24,22,31,22,37,28,25,67,22,8,42,45,8,23,27,5,7,20,8,17,18,23,32,19,37,28,30,67,26,5,34,44,9,19,20,5,7,22,5,22,24,24,31,25,40,26,25,42,22,6,39,47,7,24,27,7,7,24,5,18,27,24,35,27,47,18,22,43,24,5,39,52,5,19,24,7 H,1101723,8,200,4,16,1015675,109,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,2,250,,,,1,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,42,114,157,168,208,117,107,100,119,109,36,35,36,112,169,102,31,112,32,116,146,125,38,37,32,111,114,94,110,94,195,209,141,103,36,110,183,119,172,129,36,107,193,182,144,110,139,116,114,124,39,31,36,139,219,116,33,98,29,108,201,92,27,27,32,104,86,127,124,114,174,169,219,105,28,104,208,104,167 H,1102145,8,700,4,16,1015675,82,2,1,2,1,4,2,2,,50,0,2,200,1,430,1,,1,2100,1,1,1,9,,,800,1,1,,22,2,40,3,1,75770,4,,,1,1,75770,0,4,4,4,1,3,0,2,0,0,0,50,0,0,0,0,0,1,3153,2,0,1,56,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,87,82,86,23,140,75,82,25,78,24,26,137,149,88,85,82,80,23,133,141,78,77,85,22,140,78,79,24,80,24,22,129,142,85,93,86,81,23,145,24,83,83,82,140,25,84,89,145,75,140,131,24,26,76,80,72,84,142,22,25,75,90,79,147,26,85,93,134,79,149,142,24,23,84,80,84,81,145,22,145 H,1102246,8,100,4,16,1015675,293,3,1,3,1,3,2,2,,110,0,2,2,1,,1,,,,,,1,6,2,700,,1,3,,,5,100,8,7,16400,4,818,11,1,3,86400,0,4,4,4,1,3,0,2,0,1,0,,3,0,0,0,0,2,,,0,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,401,75,276,86,89,267,108,489,298,294,342,467,344,92,297,510,449,315,332,262,474,77,250,84,85,294,82,525,300,300,313,493,318,80,288,500,509,304,368,280,489,81,303,98,92,256,87,551,285,282,279,518,289,73,320,426,485,300,279,288,481,90,283,87,82,261,89,483,343,295,290,527,304,82,300,448,434,318,292 H,1102250,8,300,4,16,1015675,18,5,1,2,1,3,1,2,,80,0,2,100,2,600,1,0,1,630,1,1,1,6,,,,1,1,,14,3,2,3,7,26300,2,,,1,3,26300,0,2,2,2,1,5,3,5,0,0,4,37,0,0,1,0,0,1,810,3,0,0,22,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,6,15,5,16,17,18,24,16,26,23,27,39,18,5,25,24,6,15,16,32,29,20,32,23,15,17,5,13,4,18,17,5,17,36,6,5,30,18,16,30,22,22,32,26,20,13,7,16,5,22,13,5,19,26,6,5,26,21,13,4,4,15,4,14,18,18,24,18,27,16,20,24,17,4,21,26,7,22,19,4 H,1102616,8,700,4,16,1015675,252,3,1,3,1,3,2,2,,140,0,2,3,6,500,1,,1,1500,1,1,1,7,,,,1,1,,19,3,720,9,7,127200,4,,,1,3,127200,0,4,4,4,1,4,0,3,0,0,0,16,0,0,0,0,0,2,1700,3,0,0,26,3,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,81,433,454,74,65,275,72,249,270,436,236,417,250,378,276,278,67,254,231,68,236,267,249,255,272,71,245,458,76,275,67,249,442,247,455,82,239,418,458,258,73,417,440,68,75,239,70,249,252,450,238,437,253,393,239,255,71,252,291,70,245,229,257,249,257,82,270,435,80,291,72,256,437,252,469,73,251,432,391,246 H,1102966,8,900,4,16,1015675,71,6,1,2,1,4,1,2,,150,0,2,3,3,240,1,0,1,810,1,1,1,7,,,300,1,1,,15,2,2,2,1,40400,2,,,1,1,40400,0,2,2,2,1,4,4,6,0,0,4,37,0,0,1,0,0,2,1260,1,0,0,15,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,112,77,28,121,106,64,80,22,90,103,79,63,24,61,80,161,110,67,18,16,93,70,24,95,98,67,82,15,67,87,84,114,18,66,89,124,131,73,165,115,23,107,121,31,23,59,75,129,50,65,63,60,119,78,49,20,25,65,103,139,29,73,115,23,30,85,61,149,79,61,66,78,137,72,91,20,17,92 H,1103180,8,300,4,16,1015675,344,4,1,,,3,5,,,80,0,2,3,3,,1,,,,,,1,5,2,550,,1,3,,,2,240,3,7,37000,3,650,21,1,3,37000,0,1,4,1,1,1,0,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,373,113,379,365,405,261,511,352,98,462,668,553,305,320,500,100,353,102,124,478,357,107,621,317,361,365,546,423,100,272,515,529,315,342,640,103,359,103,107,344,336,562,117,349,343,320,103,340,509,366,102,120,331,321,119,648,388,531,517,348,358,451,112,312,339,397,108,372,546,368,118,96,335,391,118,539,295,549,538,330 H,1103355,8,700,4,16,1015675,280,3,1,1,,3,2,2,,40,0,2,30,1,250,1,,2,970,1,1,1,6,,,,1,1,,17,2,350,5,3,23800,2,,,1,1,23800,0,2,2,2,1,3,1,3,0,0,1,55,0,0,1,0,0,2,1090,3,0,1,24,1,7,7,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,307,78,71,77,241,477,289,80,316,257,99,305,509,472,455,294,310,273,259,84,307,500,438,454,264,83,269,479,281,272,561,298,80,78,74,303,307,264,259,87,239,422,502,504,327,78,295,518,267,271,425,273,80,90,98,275,244,274,286,540,266,84,95,95,305,517,253,75,267,295,74,240,409,494,516,263,267,271,296,399 H,1103855,8,100,4,16,1015675,47,6,1,2,1,3,2,2,,170,0,2,3,6,450,1,,1,930,1,1,1,7,,,200,1,1,,20,6,180,2,1,71000,1,,,1,1,111000,1,1,4,1,1,3,0,5,0,1,1,14,0,1,1,0,0,2,1315,2,0,1,27,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,50,72,82,14,84,54,45,11,16,14,44,42,110,15,54,95,38,46,81,72,67,45,49,45,46,13,84,35,54,65,17,73,44,60,13,51,16,15,47,60,50,64,68,14,81,48,59,15,14,15,41,48,71,13,49,62,51,56,105,92,100,48,46,45,50,13,87,52,54,49,10,96,61,45,17,45,14,12,61 H,1104000,8,800,4,16,1015675,48,2,1,2,1,5,2,2,,110,0,2,3,3,810,1,,,,,3,1,9,,,,1,2,,18,3,440,5,4,45000,4,,,1,1,45000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,2,2,1,332,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,51,47,61,48,53,71,107,38,16,51,93,45,37,82,48,12,13,12,56,13,46,46,53,42,87,73,60,56,15,42,68,39,47,88,64,13,8,19,52,14,45,58,56,30,70,83,64,44,13,44,67,46,43,83,42,14,16,13,48,18,51,40,41,47,93,67,59,54,14,63,75,54,61,80,50,13,12,13,46,16 H,1104381,8,300,4,16,1015675,16,2,1,2,1,3,1,2,,90,0,2,3,3,450,1,600,,,,3,1,7,,,,1,2,,8,1,800,5,8,10910,2,,,1,3,10910,1,2,4,2,1,6,0,2,1,0,1,32,0,0,1,1,1,1,295,,0,0,14,0,15,15,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,12,14,15,14,14,23,23,27,15,3,20,35,16,17,29,23,32,38,28,26,18,18,15,13,14,5,5,3,13,26,11,5,16,14,5,15,6,5,7,5,16,15,13,17,14,19,35,28,17,5,11,30,18,17,28,11,25,20,26,24,18,16,20,16,16,4,3,3,14,20,18,7,17,15,6,16,6 H,1104505,8,800,4,16,1015675,74,3,1,2,1,4,1,2,,170,0,40,3,6,500,1,550,2,450,2,2,1,7,,,,1,1,,10,2,420,4,2,31200,1,,,1,1,31200,0,1,1,1,1,4,1,3,0,0,1,31,0,0,1,0,0,2,796,3,0,0,14,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,81,126,62,30,67,45,72,20,68,25,107,57,99,61,81,84,108,155,50,91,23,67,116,67,120,138,23,96,22,86,96,19,105,28,116,150,82,83,60,130,37,86,133,75,139,99,20,80,26,69,66,20,84,26,98,117,70,67,20,27,96,137,61,30,100,76,65,30,56,17,142,70,80,70,90,63,119,181,26 H,1104610,8,300,4,16,1015675,303,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,2,2,300,,,,1,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,284,531,88,311,331,325,532,97,303,326,489,304,460,463,99,96,368,347,271,86,315,430,87,318,286,305,488,79,293,306,518,327,500,476,85,94,302,310,290,90,292,520,87,261,298,289,445,77,297,284,480,316,491,486,109,90,300,326,313,114,281,472,94,334,358,291,500,81,329,308,473,294,479,558,109,94,274,310,327,85 H,1104766,8,100,4,16,1015675,98,2,1,1,,3,2,2,,30,0,2,60,1,350,1,,1,620,1,1,1,6,,,,1,1,,20,2,50,2,,,,,,4,5,18800,0,4,4,4,1,2,0,,0,1,0,46,0,0,0,1,0,1,714,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,35,25,94,86,85,150,106,25,106,32,29,158,111,146,100,100,181,106,101,29,167,157,88,106,100,27,94,183,115,144,189,29,95,28,100,108,27,93,99,150,29,32,104,108,94,157,108,30,99,25,24,170,114,172,103,102,163,96,88,27,166,174,102,104,104,25,94,192,92,176,169,26,91,28,102,90,31,95,92 H,1105167,8,500,4,16,1015675,82,4,1,1,,3,2,2,,200,0,2,250,3,,1,,,,,,1,6,2,700,,2,3,,,1,900,1,7,20000,2,1225,74,2,3,20000,0,2,2,2,1,3,3,4,0,0,3,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,157,78,136,76,74,125,95,21,111,126,24,85,87,27,93,23,99,77,79,23,165,92,126,90,85,106,83,31,143,118,24,100,83,24,75,22,84,96,100,142,29,85,31,75,69,25,92,158,22,26,155,74,78,141,82,109,81,71,73,159,28,95,20,76,100,31,87,136,27,23,165,72,91,151,82,126,71,83,75,23 H,1105174,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1105258,8,800,4,16,1015675,522,1,1,1,,2,2,2,,100,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,1,2,8,,,,550,30,1,4,22000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,668,701,796,196,805,850,506,544,182,184,719,519,534,530,712,432,575,648,162,171,402,541,769,147,843,754,506,420,209,200,815,558,512,473,861,544,399,545,177,155,535,564,659,140,842,722,462,558,230,149,767,589,383,463,973,616,668,536,232,205,539,549,983,172,650,768,576,525,164,174,793,538,508,504,799,615,648,486,139,185 H,1105441,8,700,4,16,1015675,85,4,1,1,,4,2,2,,70,0,30,120,1,440,1,,1,1000,1,1,1,7,,,,1,1,,15,2,50,2,2,59000,3,,,1,1,59000,0,3,3,3,1,3,2,4,0,0,2,24,0,0,1,0,0,1,1197,3,0,1,25,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,128,81,25,84,30,152,84,24,32,83,90,81,85,93,133,81,30,156,22,80,22,83,144,88,140,24,92,160,169,88,94,87,83,97,27,86,161,26,27,97,31,91,152,81,130,27,84,156,128,83,89,96,84,72,25,86,130,26,171,93,167,95,25,82,25,161,88,23,23,79,94,100,84,72,135,86,28,134,136 H,1105645,8,800,4,16,1015675,51,2,1,2,1,5,2,2,,70,0,2,150,1,490,1,,2,1300,2,1,1,8,,,,1,1,,16,3,2,7,2,40200,4,,,1,1,40200,0,4,4,4,1,7,0,2,0,0,0,48,0,0,0,2,1,1,1624,3,0,1,17,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,12,50,122,14,12,59,40,99,56,59,44,51,102,46,42,13,15,97,46,81,15,75,105,19,16,60,47,68,55,48,41,39,81,54,51,12,10,95,63,85,16,58,121,17,12,61,54,76,61,41,58,50,81,48,41,14,13,87,45,88,20,45,70,15,13,56,50,85,52,54,57,40,88,39,40,17,17,86,41 H,1105746,8,100,4,16,1015675,119,2,1,1,,3,2,2,,70,0,2,60,1,640,1,,1,1100,1,1,1,7,,,,1,1,,19,2,540,3,1,71500,4,,,1,1,71500,0,4,4,4,1,5,0,2,0,0,0,21,0,0,0,0,0,2,1275,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,140,32,34,27,109,110,137,124,119,199,202,215,130,28,132,199,122,121,219,36,126,199,218,202,118,110,114,125,128,29,33,36,116,179,131,36,124,119,36,207,106,33,34,33,120,103,126,111,128,165,187,236,124,33,126,199,114,111,203,35,126,199,190,197,118,109,126,137,137,43,35,34,117,180,123,37,118,113,32 H,1105794,8,900,4,16,1015675,26,2,1,1,,3,1,2,,50,0,2,3,2,380,1,180,,,,3,1,5,,,,1,2,,1,2,2,5,1,25300,4,,,1,1,25300,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,0,0,1,97,,0,0,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,47,55,50,21,25,38,22,21,8,7,9,30,50,28,11,29,31,9,7,27,5,9,12,27,31,30,20,22,39,41,74,40,6,21,51,38,27,49,8,30,10,6,7,20,25,27,30,23,47,80,49,23,7,32,64,21,23,47,51,26,51,42,35,43,29,22,26,43,7,9,11,23,36,34,9,20,25,10,41 H,1106833,8,500,4,16,1015675,180,5,1,1,,3,1,2,,180,0,2,3,3,230,1,0,1,650,2,1,1,5,,,,2,1,,13,1,620,3,1,48000,2,,,1,1,48000,0,2,2,2,1,3,2,5,0,0,2,25,0,0,1,0,0,2,1013,3,0,0,27,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,303,184,266,55,183,337,292,192,181,183,183,195,49,173,320,61,163,48,178,56,311,172,285,51,175,280,287,216,207,208,188,185,52,168,297,56,182,52,173,46,307,177,282,51,200,319,303,172,189,213,177,191,52,152,295,58,193,63,212,47,287,181,313,57,159,282,330,167,180,201,187,191,59,168,304,50,169,58,157,53 H,1107195,8,800,4,16,1015675,424,5,1,1,,2,1,2,,120,0,2,40,1,,1,,,,,,1,4,2,600,,2,3,,,1,2,5,2,20800,1,760,44,2,1,20800,0,1,1,1,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,508,434,573,440,558,490,526,587,468,161,731,489,156,434,318,144,404,113,421,711,414,462,178,439,144,528,483,152,427,583,112,214,544,367,524,667,450,717,463,709,422,384,121,377,162,333,261,179,463,590,117,165,615,391,480,740,465,626,415,145,370,444,609,509,660,356,494,571,403,172,722,616,241,553,347,134,459,168,379,97 H,1107227,8,600,4,16,1015675,354,4,1,1,,4,2,2,,80,0,2,80,1,500,1,,1,1200,1,1,1,6,,,250,1,1,,18,3,100,5,1,64200,2,,,1,1,64200,0,2,2,2,1,4,2,4,0,0,2,30,0,0,1,0,0,2,1618,2,0,1,27,2,4,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,329,603,376,365,595,369,616,97,117,313,374,371,612,348,100,353,103,102,581,352,341,660,326,365,629,369,565,103,111,367,359,341,593,356,110,401,103,99,546,359,334,556,346,343,553,341,660,99,111,351,327,352,611,355,112,376,102,102,640,371,370,600,351,355,605,373,606,100,106,358,371,340,529,372,109,331,115,102,611,331 H,1107274,8,700,4,16,1015675,83,3,1,1,,3,2,2,,40,0,2,60,1,1300,1,,1,1300,1,1,1,6,,,,1,1,,19,2,270,2,1,149000,1,,,1,1,149000,0,1,1,1,1,3,1,3,0,0,1,11,0,0,1,0,0,1,1423,3,0,1,32,2,2,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,81,142,131,81,151,25,85,79,77,24,79,142,86,24,24,79,95,25,149,81,99,142,134,87,147,28,91,79,85,24,86,128,75,25,24,70,88,23,144,80,80,142,145,91,150,25,76,77,90,28,84,143,81,27,23,88,89,23,152,74,94,129,152,83,151,26,80,83,82,23,82,143,78,25,27,80,89,22,140,75 H,1107333,8,300,4,16,1015675,22,2,1,1,,2,2,2,,70,0,650,3,4,200,1,,1,350,1,1,1,4,,,250,1,1,,9,2,840,7,5,52000,2,,,1,2,52000,0,2,2,2,1,4,1,2,0,0,1,18,0,0,1,0,0,2,794,2,0,1,10,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,22,20,25,26,7,5,5,22,31,23,8,23,17,6,17,28,36,36,50,22,21,21,21,17,5,9,6,19,38,22,6,25,29,7,26,38,26,32,5,18,24,21,18,30,36,30,44,18,7,18,33,22,33,25,25,7,5,8,5,17,21,24,31,24,40,32,33,18,5,25,40,20,18,29,17,6,10,5,29 H,1107758,8,400,4,16,1015675,107,6,1,3,1,3,2,2,,100,0,10,10,2,600,1,,2,1200,2,1,1,6,,,,1,1,,21,5,10,6,1,122400,2,,,1,1,122400,0,2,2,2,1,3,4,6,0,0,4,14,0,0,1,0,0,1,1470,3,0,0,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,34,29,139,124,164,112,133,178,119,199,77,115,27,29,203,176,30,98,112,154,35,34,82,101,185,119,114,88,83,201,89,92,34,36,182,146,30,115,91,27,147,145,97,111,33,74,94,134,125,24,114,124,156,163,26,29,191,94,111,36,238,188,87,127,35,121,167,102,108,31,128,120,264,248,29,28,172,111,163 H,1107835,8,500,4,16,1015675,64,1,1,,,2,4,,,40,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,200,4,,,,407,14,1,4,34000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,73,23,19,67,65,55,58,71,112,72,16,92,69,90,61,18,59,19,20,20,75,117,97,62,74,68,58,55,18,69,104,20,75,16,56,110,65,100,123,118,66,20,19,64,68,75,70,57,103,60,20,110,67,125,54,14,63,19,18,16,61,120,103,63,62,60,71,60,16,69,104,18,59,19,59,113,75,109,100 H,1108389,8,900,4,16,1015675,71,3,1,3,1,4,2,2,,1,0,1200,200,2,,1,,,,,,1,9,2,200,,1,3,,,3,1,3,1,56240,1,500,11,1,1,56240,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,0,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,57,58,70,48,19,127,83,97,126,20,20,113,87,26,114,131,85,92,91,27,85,75,67,70,18,63,79,176,149,26,30,112,63,16,90,100,53,73,75,131,62,61,78,63,112,113,75,13,17,89,98,23,124,166,23,25,93,97,53,147,77,84,93,89,101,56,79,31,20,123,141,23,69,101,19,20,70,76,119 H,1108450,8,300,4,16,1015675,94,5,1,1,,3,2,2,,90,0,2,240,1,500,1,,1,440,2,1,1,5,,,,1,1,,10,0,40,5,7,42900,3,,,1,3,42900,1,3,4,3,1,4,0,5,1,0,3,22,0,0,1,1,0,1,773,3,0,1,1,2,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,111,175,123,88,174,101,24,51,33,95,115,107,90,96,149,138,165,84,32,26,89,166,91,116,128,94,27,33,33,82,75,64,76,101,113,129,197,84,25,30,109,139,99,102,146,100,29,47,25,91,79,81,97,108,123,140,136,90,46,23,89,129,95,95,143,104,33,29,28,134,112,79,98,88,170,166,198,70,22 H,1108981,8,300,4,16,1015675,67,2,1,1,,2,2,2,,30,0,850,40,1,380,1,,,,,3,2,4,,,,1,2,,12,1,240,9,4,25400,4,,,1,1,25400,0,4,4,4,1,6,0,2,0,0,0,13,0,0,0,2,2,1,274,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,28,86,43,33,128,104,106,60,36,63,58,60,46,22,46,69,100,82,54,140,78,33,149,94,20,23,47,53,79,67,67,68,124,123,128,82,16,23,44,119,82,42,94,74,22,18,53,57,71,65,69,62,148,119,85,73,21,36,73,20,34,84,56,31,118,101,124,66,30,70,63,67,57,21,55,74,107,97,123 H,1109316,8,900,4,16,1015675,61,2,1,2,1,4,2,2,,60,0,2,140,1,390,1,,,,,3,1,6,,,,1,2,,14,2,650,7,6,26500,4,,,2,2,26500,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,1,1,1,341,,0,1,15,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,26,25,63,50,65,79,79,116,123,115,61,17,45,88,56,51,118,61,118,92,112,113,49,57,63,82,97,16,20,19,41,84,53,18,63,62,19,48,18,22,20,18,52,68,68,53,58,118,115,88,61,13,52,110,55,59,102,72,133,102,93,106,50,60,81,62,57,18,23,15,57,107,56,20,65,71,22,58,16 H,1110069,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1110223,8,800,4,16,1015675,66,3,1,2,1,3,2,2,,310,0,2,3,3,400,1,,1,720,1,1,1,5,,,,1,1,,15,3,2,7,1,51000,1,,,1,1,51000,0,1,1,1,1,3,1,3,0,0,1,24,0,0,1,0,0,1,1030,3,0,1,13,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,46,23,92,62,57,101,50,113,86,71,132,92,25,83,95,27,59,79,88,83,56,121,70,65,56,32,63,22,59,63,27,56,109,28,22,103,44,67,26,18,64,34,86,65,63,116,65,80,62,66,124,75,31,93,93,29,57,66,96,90,59,106,62,56,57,24,50,23,73,63,31,62,96,15,17,154,84,73,22 H,1110262,8,600,4,16,1015675,107,3,1,1,,3,2,2,,40,200,2,100,1,300,1,,1,200,1,1,1,5,,,,1,1,,18,3,500,3,8,258800,4,,,1,3,258800,0,4,4,4,1,3,0,3,0,0,0,2,0,0,0,1,1,2,382,3,0,1,30,2,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,117,110,185,115,177,100,117,173,104,29,195,179,33,106,89,29,119,30,113,32,107,109,182,106,177,119,117,184,102,32,180,180,32,101,116,36,114,32,104,34,101,108,199,116,171,106,111,192,112,36,178,186,31,109,104,33,96,30,102,32,104,109,180,101,189,97,96,188,113,33,185,185,33,122,111,29,113,32,109,32 H,1110413,8,200,4,16,1015675,55,6,1,1,,3,1,2,,200,0,2,3,3,600,1,4,1,580,2,1,1,7,,,,1,1,,9,3,600,3,1,35000,3,,,1,1,35000,0,3,3,3,1,4,4,6,0,0,4,28,0,0,1,0,0,2,830,3,0,0,2,1,6,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,46,111,58,54,16,19,90,85,24,44,141,22,13,59,54,77,72,68,42,56,63,18,39,54,72,97,14,21,107,54,25,64,86,81,44,13,77,78,50,59,49,82,50,54,21,15,100,81,17,45,126,26,15,57,62,73,56,48,42,52,63,22,58,57,81,98,19,16,99,55,19,68,97,70,50,18,70,62,59 H,1110579,8,400,4,16,1015675,45,3,1,1,,2,1,2,,70,0,2,3,3,0,1,0,1,300,1,1,1,4,,,,1,1,,9,3,1,3,7,100000,4,,,1,3,100000,0,4,4,4,1,5,0,3,0,0,0,4,0,0,0,0,0,2,370,3,0,0,3,3,13,13,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,50,13,14,73,67,15,43,60,12,20,44,52,71,51,59,44,42,77,56,39,66,64,91,13,9,95,53,14,96,56,39,53,10,54,46,34,53,14,71,40,56,80,75,14,16,97,49,14,58,49,48,54,12,46,53,47,48,13,49,52,52,14,13,70,67,12,42,66,12,18,41,54,82,50,54,49,56,67,48,49 H,1110953,8,500,4,16,1015675,23,1,1,,,1,6,,,40,0,2,3,3,,1,,,,,,1,2,2,570,,2,3,,,1,1,3,,,,610,81,1,4,9000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,47,44,7,25,21,42,8,22,27,6,24,26,7,23,22,24,8,37,20,38,37,44,8,23,22,35,6,23,20,6,26,22,8,26,26,26,6,45,23,7,7,7,51,27,25,6,32,21,18,40,20,27,49,23,25,21,36,8,26,9,6,8,39,28,26,7,48,24,25,37,22,22,36,21,25,25,40,6,25 H,1111401,8,900,4,16,1015675,26,2,1,1,,2,1,2,,30,0,2,70,1,,1,,,,,,1,4,,,,1,4,,,1,410,5,7,9480,4,,,1,3,9480,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,23,28,47,29,8,8,6,29,32,25,18,19,43,55,50,25,8,26,43,9,30,23,7,22,49,38,42,27,22,33,24,26,10,7,5,28,46,24,50,7,20,27,8,38,46,43,46,33,44,20,21,25,9,10,7,25,42,24,8,58,31,24,36,21,8,7,6,26,25,30,23,32,63,37,34,26,7,22,10 H,1111480,8,500,4,16,1015675,103,2,1,2,1,4,2,2,,100,0,2,70,1,730,1,,1,700,1,1,1,7,,,,1,1,,20,2,2,4,4,49800,4,,,1,1,49800,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,2,2,2,870,3,0,1,41,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,106,106,99,102,112,175,205,198,94,32,103,177,115,101,160,115,31,28,178,172,141,103,102,97,86,31,35,33,90,164,92,36,106,105,34,81,185,171,30,30,100,117,109,99,108,182,205,162,82,33,110,169,115,97,158,107,30,33,194,156,95,112,126,114,124,29,32,25,94,181,109,33,107,99,34,101,175,168,31 H,1111601,8,900,4,16,1015675,15,3,1,3,3,3,2,2,,60,0,30,200,2,600,1,,,,,3,1,5,,,,1,2,,15,3,380,3,4,66700,4,,,1,1,66700,0,4,4,4,1,4,0,3,0,0,0,7,0,0,0,1,1,1,411,,0,0,17,2,6,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,25,15,5,21,23,14,11,5,13,15,13,13,5,10,11,29,27,10,24,24,3,13,27,3,4,14,14,21,12,18,18,12,22,18,14,3,3,23,3,5,32,16,3,24,25,18,13,3,16,12,12,12,3,10,11,21,24,19,18,24,5,14,20,4,6,17,13,21,13,13,18,13,25,15,11,5,5,17 H,1111679,8,600,4,16,1015675,79,2,1,1,,3,2,2,,70,0,760,20,6,620,1,,1,70,1,1,1,6,,,,1,1,,15,3,550,5,4,41700,4,,,1,1,41700,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,1,1,269,3,0,1,25,1,3,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,23,80,81,119,25,78,77,24,80,73,22,82,77,89,23,127,127,119,75,127,23,81,78,142,23,78,81,22,83,73,23,82,75,82,25,128,126,149,81,128,21,84,75,133,24,79,83,22,75,77,23,75,75,79,23,136,138,144,78,127,23,72,74,133,25,86,72,25,87,77,23,82,81,82,23,124,130,132,84 H,1111710,8,600,4,16,1015675,79,2,1,1,,4,2,2,,50,0,850,4,1,500,1,,1,2100,1,1,1,9,,,,1,1,,22,2,30,9,1,95000,4,,,2,1,95000,0,4,4,4,1,1,0,2,0,0,0,28,0,0,0,0,0,1,2228,3,0,1,63,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,80,81,22,84,72,121,25,161,124,61,95,23,27,104,62,89,75,152,83,67,108,173,98,30,140,91,79,89,68,24,27,88,77,67,24,189,27,92,126,27,76,61,18,91,75,155,24,173,151,89,63,25,24,140,75,90,72,110,77,75,131,122,64,23,127,83,74,88,98,24,25,88,116,93,26,127,23,83,122,21 H,1111712,8,600,4,16,1015675,103,2,1,1,,3,2,2,,80,0,2,50,1,390,1,,1,1200,1,1,1,5,,,,1,1,,17,2,100,4,,,,,,1,5,94000,0,4,4,4,1,4,0,,0,1,0,17,0,0,0,0,0,1,1338,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,100,149,27,121,96,181,112,165,156,31,32,104,102,96,100,187,28,113,189,108,105,32,160,106,111,34,105,32,30,168,165,94,98,102,93,33,185,97,167,94,98,30,200,114,108,32,98,30,31,169,172,104,109,102,114,31,166,102,28,110,95,190,33,90,99,164,105,179,164,32,30,98,105,109,96,175,31,95,32 H,1112150,8,200,4,16,1015675,123,2,1,1,,3,2,2,,40,0,2,40,1,240,1,,1,710,1,1,1,4,,,,1,1,,16,2,720,4,1,35200,4,,,1,1,35200,0,4,4,4,1,4,0,2,0,0,0,29,0,0,0,2,0,1,850,3,0,1,26,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,168,199,47,135,182,36,41,123,105,126,115,97,138,179,198,103,126,51,90,175,37,42,195,140,39,201,192,138,164,35,131,112,132,149,33,109,95,183,157,37,231,208,46,187,198,36,39,141,100,149,126,138,126,156,191,103,113,29,139,172,39,43,196,99,39,221,185,116,104,38,111,108,87,134,41,134,139,161,121 H,1112392,8,100,4,16,1015675,129,2,1,2,1,2,2,2,,50,0,50,3,6,450,1,,1,650,1,1,1,9,,,,1,1,,13,2,40,7,,,,,,1,7,30030,0,4,4,4,1,1,0,,0,1,0,28,3,0,0,0,0,1,707,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,55,108,159,193,46,140,138,40,116,158,207,227,129,167,160,150,132,35,57,164,246,184,35,103,197,122,122,169,138,40,43,41,82,117,134,170,168,180,42,252,224,130,54,97,133,122,133,279,124,42,48,39,154,158,147,104,126,223,282,44,30,131,261,114,30,138,150,46,146,148,129,203,172,126,129,98,117,53,194 H,1112667,8,900,4,16,1015675,90,2,1,1,,4,2,2,,30,0,2,50,1,320,1,,,,,3,1,8,,,,1,2,,13,1,680,8,4,47500,4,,,1,1,47500,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,2,1,272,,0,1,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,30,87,91,165,107,185,138,30,23,82,104,81,86,162,37,84,78,103,138,28,148,99,95,26,93,29,25,128,138,87,84,87,83,30,167,90,99,115,28,157,26,108,84,134,102,145,123,28,25,78,104,95,100,159,27,110,87,105,132,26,147,87,88,27,84,28,28,173,122,110,90,110,72,29,200,82,83,90,25 H,1112703,8,600,4,16,1015675,124,2,1,,,2,6,,150,30,0,2,4,3,370,1,,,,,3,1,3,,,,1,2,,16,2,1,8,4,76600,4,,,1,1,76600,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,0,0,1,307,,0,0,23,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,36,129,36,231,126,109,125,238,132,34,111,204,211,129,123,189,39,119,120,202,207,120,209,37,124,139,121,39,123,216,123,37,39,121,125,36,214,134,122,209,223,123,210,40,119,125,121,38,129,205,129,33,34,135,130,35,196,137,126,35,35,132,36,236,129,118,119,202,126,40,120,194,192,136,118,196,38,127,124 H,1112752,8,600,4,16,1015675,71,5,1,1,,4,2,2,,140,0,2,130,1,360,1,,1,1100,1,1,1,8,,,,1,1,,15,2,480,5,1,53000,2,,,1,1,53000,0,3,3,3,1,4,3,5,0,0,3,32,0,0,1,0,0,2,1410,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,63,19,68,124,20,22,114,73,70,123,72,111,70,74,65,20,72,22,20,72,66,118,73,20,109,122,22,74,68,19,68,22,67,69,69,104,68,129,109,72,75,18,63,118,21,21,105,71,64,122,77,130,73,65,76,22,69,24,20,75,73,118,66,19,104,117,19,62,74,20,71,20,66,72,73,123,72,126,140 H,1113323,8,300,4,16,1015675,21,5,1,2,1,3,1,2,,40,0,2,3,2,560,1,0,1,480,1,1,1,5,,,,1,1,,15,2,2,3,2,30004,3,,,1,1,30004,0,3,3,3,1,3,3,5,0,0,3,21,0,0,1,0,0,1,520,3,0,0,9,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,7,20,19,38,29,5,9,36,19,6,44,34,24,28,8,23,24,21,24,36,7,20,17,30,59,8,5,32,22,5,36,48,21,18,7,21,20,30,22,21,38,25,20,7,6,38,48,5,18,44,10,6,22,21,45,26,23,23,22,24,37,26,19,5,6,37,38,8,25,39,9,6,16,19,33,22,20,21,26 H,1113564,8,100,4,16,1015675,65,5,1,3,4,4,2,1,,50,0,1800,3,4,1500,1,,2,1100,2,2,1,6,,,,1,1,,24,3,2,9,1,37200,2,,,1,1,37200,0,2,2,2,1,5,2,5,0,0,2,51,0,0,1,0,0,2,1592,3,0,0,32,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,80,67,18,78,19,65,20,27,23,19,68,66,16,18,60,23,19,67,67,95,105,115,66,123,57,115,70,61,63,66,125,96,62,69,101,63,61,112,106,66,66,64,17,80,19,52,18,21,20,19,51,75,20,15,58,20,23,68,58,125,103,109,69,113,69,116,68,59,59,83,128,119,82,71,111,64,70,97,103,56 H,1113583,8,600,4,16,1015675,347,2,1,,,1,7,,,20,0,2,20,1,,1,,,,,,1,3,2,590,,1,3,,,2,1,4,1,46600,4,630,16,1,1,46600,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,375,560,296,389,352,394,574,354,334,117,101,615,548,99,327,503,99,104,345,338,365,97,363,364,383,347,104,368,337,657,571,126,104,475,396,100,559,515,370,374,343,524,353,389,326,291,593,356,360,91,111,515,566,121,380,574,112,107,315,366,326,120,334,341,384,343,115,334,337,519,549,108,110,629,339,101,535,647,325,350 H,1113793,8,900,4,16,1015675,38,4,1,1,,2,2,2,,60,0,2,3,4,1200,1,,2,580,2,1,1,5,,,,1,1,,9,3,520,7,1,58000,2,,,1,1,58000,0,2,2,2,1,5,2,4,0,0,2,17,0,0,1,0,0,2,830,3,0,1,13,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,43,33,40,59,54,83,42,10,45,65,42,37,61,38,10,10,10,38,13,41,36,35,37,60,56,68,45,16,52,66,41,33,60,40,10,8,8,36,58,35,38,43,39,10,12,13,36,47,27,8,33,48,13,37,75,82,89,43,53,36,38,43,48,12,9,10,36,77,40,12,40,40,10,37,68,77,66,35,15 H,1113862,8,500,4,16,1015675,96,3,1,1,,3,2,2,,90,0,2,70,1,450,1,,2,1700,2,1,1,7,,,,1,1,,18,4,350,3,1,81000,4,,,2,1,90000,0,4,4,4,1,4,0,2,0,1,0,28,0,0,0,0,0,1,2135,3,0,1,37,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,106,26,227,33,94,105,97,101,97,107,166,28,98,86,25,24,92,152,99,99,157,98,83,88,189,37,24,26,32,172,94,96,31,160,100,108,161,98,28,26,93,198,29,159,115,112,87,90,94,90,27,168,105,110,152,146,101,30,115,88,30,108,88,89,28,163,178,143,133,30,103,94,141,29,97,100,32,117,155 H,1113951,8,600,4,16,1015675,112,1,1,1,,3,3,2,60,20,0,2,20,1,1000,1,,1,740,1,1,1,5,,,,1,1,,14,1,30,3,,,,,,1,6,30000,0,4,4,4,1,3,0,,0,0,0,34,0,0,0,0,0,1,843,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,34,122,34,99,118,33,102,198,28,34,201,110,98,170,115,177,113,113,170,109,33,106,33,114,119,32,107,202,38,33,187,116,116,201,124,193,110,107,34,110,187,106,201,104,112,187,102,32,189,180,32,103,111,33,117,31,105,115,30,107,177,124,188,116,127,181,113,34,198,187,34,109,109,34,111,36,108,109,179 H,1113953,8,200,4,16,1015675,105,1,1,,,1,5,,,20,0,2,4,1,,1,,,,,,1,3,2,430,,1,3,,,1,2,5,,,,454,26,1,6,21000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,112,43,149,127,99,183,111,119,74,116,209,89,36,183,138,29,82,115,36,41,116,28,126,85,102,141,83,200,138,86,141,120,24,220,214,29,156,103,133,177,118,257,102,115,117,30,120,37,66,153,48,74,207,37,27,167,89,108,230,175,87,129,96,70,132,42,68,30,147,93,22,154,154,35,32,118,123,118,20 H,1114302,8,200,4,16,1015675,22,1,1,3,5,4,2,2,,110,0,580,3,6,300,1,,,,,3,1,7,,,,1,2,,10,1,2,9,,,,,,1,6,20000,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,1,1,1,183,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,26,7,25,40,9,9,23,24,44,22,20,22,27,49,24,22,7,9,36,20,8,51,26,5,39,34,22,21,7,22,24,24,18,4,26,25,44,43,9,22,6,32,27,7,38,44,26,31,5,27,22,26,29,7,28,18,35,39,5,23,35,9,27,47,7,7,26,19,42,21,19,32,17,35,21,22,9,9,47,23 H,1114410,8,100,4,16,1015675,127,3,1,1,,4,2,2,,50,0,4,40,6,600,1,,1,810,1,1,1,6,,,,1,1,,19,2,700,7,2,35000,1,,,1,1,35000,0,1,1,1,1,3,1,3,0,0,1,33,0,0,1,0,0,2,958,3,0,1,18,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,58,43,185,143,186,115,154,195,114,164,36,52,124,107,110,163,89,29,181,132,43,44,254,131,122,123,126,174,144,249,60,51,146,110,127,197,128,52,176,122,36,34,178,118,185,116,98,185,126,160,46,55,126,162,104,139,122,37,167,134,54,53,169,167,248,123,151,164,126,149,42,46,151,110,121,300,132,45,124 H,1114504,8,200,4,16,1015675,22,2,1,3,6,2,2,2,,190,0,1200,200,2,,1,,,,,,1,5,,,,1,4,,,2,2,9,4,17300,4,,,1,1,17300,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,0,1,,,0,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,39,7,23,7,7,22,7,34,26,17,20,38,21,7,24,38,36,23,16,23,7,52,25,47,46,23,47,7,17,27,22,7,26,44,17,6,7,20,28,22,37,8,26,7,8,25,8,45,20,19,26,30,21,7,17,44,30,22,19,22,7,32,27,32,39,22,29,5,17,27,20,7,19,46,29,7,10,19,28 H,1114523,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1114573,8,200,4,16,1015675,142,4,1,1,,3,2,2,,70,0,2,60,1,300,1,,,,,3,1,8,,,,1,2,,17,2,50,4,1,175000,2,,,1,1,175000,0,2,2,2,1,6,2,4,0,0,2,3,0,0,1,0,0,1,367,,0,1,37,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,131,126,29,48,271,226,36,181,348,46,64,166,98,220,185,131,108,130,185,214,162,190,55,31,195,226,32,174,248,46,62,154,229,254,116,157,139,128,112,284,116,122,48,44,250,229,55,169,235,46,40,180,128,168,146,156,164,161,161,237,123,170,66,58,284,244,53,152,196,37,26,123,152,228,132,167,151,115,143 H,1115372,8,800,4,16,1015675,71,3,1,1,,4,2,2,,100,0,2,3,3,500,1,,,,,3,1,8,,,,1,2,,14,3,600,7,,,,,,1,5,60500,0,4,4,4,1,5,0,,0,1,0,5,2,0,0,1,1,1,267,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,72,54,26,58,26,80,50,22,96,96,18,25,99,61,74,114,78,106,107,73,84,85,21,62,32,65,58,20,59,142,21,19,117,59,58,108,72,107,160,66,72,59,20,58,22,72,58,26,73,77,24,23,83,73,76,107,67,111,120,71,86,65,19,65,25,54,49,23,78,93,19,23,151,69,79,157,95,115,142 H,1115643,8,100,4,16,1015675,148,1,1,1,,2,2,2,,40,0,2,40,1,,1,,,,,,1,5,,,,1,4,,,1,300,8,,,,,,1,6,12100,0,4,4,4,1,7,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,178,131,140,281,144,148,46,242,53,41,138,142,209,260,43,129,136,142,45,225,147,153,145,43,146,140,254,48,242,283,152,143,53,39,262,156,123,153,38,215,141,171,142,50,127,142,251,38,279,229,170,146,42,43,246,163,152,176,230,51,151,146,152,222,148,120,42,268,41,49,146,142,273,274,43,148,174,131,290 H,1115797,8,700,4,16,1015675,112,2,1,1,,4,2,2,,50,0,150,210,1,300,1,,1,600,1,1,1,9,,,,1,1,,17,2,760,4,1,103100,4,,,1,1,103100,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,1,936,3,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,107,100,178,29,184,117,34,35,32,118,190,30,108,122,115,113,191,191,207,202,185,34,116,112,105,34,126,114,117,208,114,109,31,183,30,32,111,114,104,116,106,101,29,215,33,107,188,171,189,115,35,219,125,114,116,116,33,36,32,32,33,209,115,113,112,177,106,103,124,32,114,113,178,33,194,187,112,118,108 H,1115946,8,800,4,16,1015675,100,1,1,,,2,4,,,40,0,2,40,1,,1,,,,,,1,5,2,750,,1,3,,,2,600,3,,,,880,12,1,4,91000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,75,78,111,87,32,27,26,111,150,124,30,100,83,29,118,144,150,177,34,97,102,106,87,114,223,177,156,137,27,68,205,103,102,159,82,38,37,37,31,97,102,114,127,138,207,154,131,97,31,82,176,84,111,214,111,33,25,27,152,95,114,104,98,87,21,42,32,80,189,101,28,88,83,25,106,198,208,175,164 H,1115977,8,300,4,16,1015675,65,1,1,,,2,9,,,1,0,2,1,3,,1,,,,,,1,4,1,2400,,1,3,,,0,1,2,,,,2400,101,1,6,19200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,47,50,108,75,59,18,26,76,121,18,66,118,21,18,73,80,104,56,70,87,67,72,108,56,76,18,25,127,94,28,72,102,18,23,59,62,130,87,85,64,92,52,133,77,64,15,22,82,121,27,85,94,21,19,74,54,98,57,70,151,69,56,96,38,132,15,16,114,92,36,116,88,20,20,63,44,118,83,57,45 H,1116518,8,300,4,16,1015675,79,5,1,1,,4,2,2,,240,0,2,3,3,,1,,,,,,1,8,2,900,,1,3,,,2,40,6,7,12860,2,1143,101,1,3,12860,0,2,2,2,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,74,121,142,84,84,82,137,28,124,74,26,21,21,75,121,27,77,82,124,23,26,68,85,129,115,23,63,87,72,26,82,84,89,121,93,103,28,150,92,72,70,22,22,87,79,78,25,119,26,73,132,149,149,83,23,124,90,85,21,146,136,81,84,26,26,124,83,86,71,132,78,89,80,24,70,79,108,24,81 H,1116632,8,400,4,16,1015675,42,3,1,1,,3,2,2,,180,0,800,3,3,300,1,,,,,3,1,5,,,,1,2,,13,3,150,5,1,49360,4,,,1,1,49360,0,4,4,4,1,1,0,3,0,0,0,9,0,0,0,2,0,1,368,,0,1,22,3,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,75,40,11,61,59,16,48,41,11,42,10,44,53,46,64,39,66,42,56,48,13,28,56,13,12,57,38,44,70,45,94,49,50,46,12,47,13,35,10,42,71,39,12,59,72,13,45,33,10,55,13,38,44,37,72,46,63,36,83,32,12,40,62,11,15,68,43,47,81,39,60,33,37,48,16,39,17,50,16 H,1117042,8,400,4,16,1015675,25,1,1,1,,3,1,2,,30,0,3500,3,3,0,1,680,,,,3,1,5,,,,1,2,,1,1,500,5,,,,,,1,6,11700,0,4,4,4,1,5,0,,0,0,0,43,0,0,0,1,1,1,423,,0,0,2,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,36,27,39,25,26,28,11,23,5,27,30,8,22,46,10,8,46,27,45,30,48,23,50,29,23,20,10,34,6,24,21,8,21,35,7,7,44,31,8,28,7,32,10,20,20,31,58,28,40,33,19,47,30,7,46,45,5,24,6,29,7,22,10,25,22,20,39,34,50,30,27,39,20,8,52,47,6,25,41 H,1117416,8,200,4,16,1015675,106,4,1,1,,4,2,2,,70,0,2,4,1,400,1,,2,1000,1,1,1,7,,,,1,1,,16,2,400,6,1,78500,2,,,1,1,78500,0,2,2,2,1,3,2,4,0,0,2,17,0,0,1,0,0,1,1140,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,31,173,100,95,114,172,106,36,147,218,200,116,93,151,34,99,35,31,95,115,22,167,105,109,110,164,115,30,123,157,182,123,114,168,34,150,29,28,84,108,28,165,81,112,133,158,113,31,119,216,215,118,98,165,27,93,30,34,99,99,33,175,118,109,97,204,115,31,123,161,150,158,119,142,32,105,30,28,79 H,1117460,8,100,4,16,1015675,159,2,1,3,1,1,2,2,,50,0,4,3,6,0,1,,,,,3,2,2,,,,1,2,,20,2,2,3,4,28100,4,,,1,1,28100,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,2,0,2,90,,0,0,11,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,55,134,225,172,203,277,150,49,46,41,221,136,154,190,129,268,256,193,180,254,238,148,55,152,142,44,180,312,256,244,161,149,170,162,168,46,43,53,186,57,55,136,227,142,199,322,174,56,48,44,193,167,137,155,119,226,322,238,169,280,213,165,51,156,177,45,133,287,199,256,173,186,185,195,141,39,51,54,148,60 H,1117635,8,800,4,16,1015675,340,0,1,,,2,6,,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,330,102,324,103,532,603,351,336,335,110,370,522,317,611,580,93,329,104,313,429,328,131,345,113,585,483,373,281,334,99,310,555,326,614,516,114,325,97,375,354,334,98,323,102,452,561,351,366,342,109,359,555,356,581,511,112,340,109,329,318,332,116,395,95,513,589,394,392,332,89,387,587,338,493,557,111,327,104,307,376 H,1117890,8,300,4,16,1015675,36,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,64,32,33,40,31,30,12,9,10,40,51,33,12,40,39,12,30,46,8,12,10,30,36,45,36,32,65,59,60,39,12,32,77,44,35,75,31,11,53,68,60,28,34,47,40,29,11,10,12,43,70,36,12,46,27,10,35,54,11,13,12,29,38,37,28,30,60,58,68,37,10,34,63,45,31,52,29,9,53 H,1117932,8,500,4,16,1015675,41,5,1,1,,3,2,1,,60,0,2,10,1,450,1,,2,160,2,2,1,5,,,,1,1,,11,3,600,9,7,27800,2,,,1,3,53800,0,2,2,2,1,5,2,3,0,1,2,8,3,0,1,0,0,2,376,3,0,0,16,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,35,66,72,17,69,39,43,11,12,12,44,53,66,13,46,72,42,34,12,14,12,44,46,47,47,63,13,48,46,37,68,12,35,34,59,33,73,76,46,42,39,63,68,11,66,38,46,14,13,13,48,46,75,10,47,75,38,44,11,16,11,43,42,36,41,82,12,34,39,40,63,15,38,47,69,40,73,60,43 H,1117965,8,300,4,16,1015675,37,2,1,2,1,3,2,2,,40,0,2,30,1,380,1,,1,650,1,1,1,6,,,,1,1,,14,2,480,7,1,77830,4,,,1,1,77830,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,0,0,2,760,3,0,1,13,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,53,62,8,12,43,41,45,64,34,8,29,13,14,51,31,73,48,32,50,13,45,10,63,58,36,40,42,8,31,97,54,61,53,13,40,14,39,31,41,53,42,61,11,10,35,46,42,57,38,11,41,13,13,64,35,58,44,35,37,14,42,8,53,75,47,33,43,12,30,82,38,53,58,9,37,11,37,49,49 H,1118434,8,300,4,16,1015675,72,1,1,2,5,3,2,2,,80,0,2,3,3,370,1,,,,,3,1,5,,,,1,2,,11,2,2,5,,,,,,1,4,21000,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,0,0,1,161,,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,67,75,72,21,19,78,123,72,123,26,137,71,130,78,21,18,65,123,22,16,114,122,21,76,61,21,65,24,92,75,73,125,86,152,77,45,120,94,66,97,123,91,82,23,21,66,106,63,105,28,111,77,145,56,20,25,57,87,21,21,152,109,24,63,61,17,58,19,67,91,68,115,72,152,84,72,121,64,71 H,1118581,8,400,4,16,1015675,121,3,1,1,,2,2,2,,30,0,2,60,1,410,1,,,,,3,1,5,,,,1,2,,10,3,40,7,4,23700,4,,,1,1,23700,0,4,4,4,1,5,0,3,0,0,0,10,0,0,0,2,2,1,196,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,142,139,131,190,282,133,160,44,241,42,127,33,46,125,99,121,128,123,125,127,174,34,23,90,112,184,115,130,99,125,185,118,155,40,34,197,184,40,226,37,110,119,144,180,190,107,137,41,204,31,106,38,33,108,119,117,126,127,135,129,209,38,46,126,115,205,107,98,149,149,225,116,124,39,36,191,219,40,190 H,1118714,8,700,4,16,1015675,109,1,1,1,,3,1,2,,70,0,2,3,3,410,1,4500,,,,3,1,5,,,,1,2,,7,1,470,4,,,,,,1,6,15600,0,4,4,4,1,1,0,,0,0,0,40,0,0,0,1,1,1,518,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,176,30,109,108,115,110,113,129,178,31,121,113,31,33,107,173,175,108,115,107,114,110,198,31,32,30,32,186,112,118,30,168,104,106,188,115,101,194,185,32,188,31,107,101,102,118,107,123,178,30,111,112,33,31,106,191,178,112,117,109,116,98,181,32,32,32,30,181,111,111,31,173,124,108,185,107,108,201,166 H,1118726,8,100,4,16,1015675,69,3,1,1,,4,2,2,,50,0,2,10,1,270,1,,,,,3,1,7,,,,1,2,,17,2,390,8,5,31700,4,,,1,2,31700,0,4,4,4,1,7,0,3,0,0,0,8,0,0,0,2,1,1,211,,0,1,23,2,11,10,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,64,22,59,60,23,71,118,22,21,105,77,62,95,71,112,70,68,63,24,22,77,127,66,64,117,66,19,111,108,21,66,72,22,82,23,67,70,70,112,112,61,22,69,71,20,71,128,21,26,114,74,64,112,69,120,81,65,74,20,20,63,104,66,75,127,76,20,111,99,19,58,57,19,71,22,72,62,76,138,128 H,1119007,8,600,4,16,1015675,72,2,1,1,,3,2,2,,60,0,2,200,1,350,1,,,,,3,1,8,,,,1,2,,21,2,40,2,2,117000,4,,,1,1,117000,0,4,4,4,1,3,0,2,0,0,0,7,0,0,0,0,0,1,667,,0,1,57,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,75,128,22,66,70,71,20,69,114,73,22,22,75,64,20,132,71,122,77,20,66,22,121,62,75,71,120,67,20,73,135,124,72,79,125,22,67,21,81,120,71,124,20,69,71,70,21,73,129,67,23,19,65,72,19,114,67,119,68,20,76,18,126,70,67,70,118,75,21,72,116,123,78,71,128,22,73,20,70 H,1119292,8,600,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1119317,8,200,4,16,1015675,93,2,1,2,6,2,1,2,,200,0,2,3,3,0,1,4,2,500,2,1,1,5,,,,1,1,,16,3,2,3,2,242600,4,,,1,1,242600,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,2,1,2,783,3,0,0,22,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,95,27,29,33,98,92,100,104,87,158,160,157,123,29,94,143,110,101,29,164,100,30,23,24,76,97,78,107,75,127,168,110,71,31,85,138,89,95,23,142,86,29,27,32,103,85,108,78,106,168,147,185,105,28,84,135,112,76,25,151,96,39,26,25,89,98,82,110,85,133,168,124,77,28,76,169,89,92,36 H,1119383,8,300,4,16,1015675,109,4,1,2,1,3,2,2,,120,0,3500,440,2,90,1,,2,730,2,1,1,4,,,,2,1,,18,1,2,1,1,33000,2,,,1,1,33000,0,2,2,2,1,1,2,4,0,0,2,61,0,0,1,0,0,1,1673,3,0,1,22,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,132,176,38,104,171,33,29,111,92,146,97,121,115,94,150,110,111,36,120,202,40,31,199,127,30,210,215,78,143,43,125,121,99,114,33,116,99,162,110,29,198,154,35,135,176,26,32,126,117,141,137,113,135,144,152,89,143,47,101,221,29,29,197,109,29,148,176,123,91,55,104,115,90,104,42,84,82,170,106 H,1119675,8,400,4,16,1015675,331,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,326,109,98,104,354,503,308,111,319,288,103,314,494,501,560,343,367,365,316,546,344,103,103,119,354,501,316,117,403,388,98,283,490,451,504,356,310,325,343,569,342,99,113,114,279,599,413,124,348,327,127,292,435,492,466,339,329,313,331,491,421,103,91,107,350,539,266,91,398,363,99,324,522,502,499,347,411,289,293,532 H,1119974,8,800,4,16,1015675,93,3,1,1,,3,2,2,,50,0,2,50,1,300,1,,1,740,1,1,1,5,,,710,1,1,,14,3,40,4,3,123900,4,,,1,1,123900,0,4,4,4,1,4,0,3,0,0,0,15,0,0,0,2,2,1,1553,1,0,1,20,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,184,96,31,91,22,140,88,34,21,81,99,90,96,90,144,101,27,166,32,91,26,102,149,86,151,27,96,149,195,84,95,93,74,93,29,97,146,32,27,109,32,82,156,112,168,29,84,172,140,82,95,83,78,96,29,110,152,30,154,91,163,80,28,90,25,159,93,28,25,82,91,99,107,84,191,97,24,153,166 H,1120189,8,800,4,16,1015675,42,2,1,2,1,3,2,2,,260,0,2,3,3,100,1,,,,,3,1,5,,,,1,2,,10,1,80,5,4,17400,4,,,1,1,17400,0,4,4,4,1,7,0,2,0,0,0,23,0,0,0,2,2,1,327,,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,42,14,36,48,67,79,12,11,75,54,12,59,69,42,45,16,38,52,39,39,47,14,41,49,59,92,13,12,72,46,14,75,74,36,37,12,40,43,34,36,35,12,48,42,59,72,17,12,92,43,11,59,74,47,43,13,44,35,41,35,40,12,44,46,54,76,14,12,81,56,11,57,75,51,44,14,56,44,36,40 H,1120275,8,600,4,16,1015675,96,5,1,2,1,4,2,1,,150,0,2,100,1,1200,1,,1,1300,1,1,1,8,,,350,1,1,,18,2,200,4,1,81500,2,,,1,1,81500,0,2,2,2,1,4,3,5,0,0,3,28,0,0,1,0,0,1,1917,2,0,0,37,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,88,88,95,172,28,102,94,170,97,169,170,27,28,101,90,96,103,177,167,172,93,96,101,27,152,98,102,30,94,27,29,168,159,95,94,83,94,32,151,171,103,90,87,28,162,98,85,29,92,29,31,180,172,90,108,101,94,33,27,30,101,96,93,149,24,96,97,147,101,170,170,27,27,98,103,102,99,176,34 H,1120277,8,600,4,16,1015675,87,2,1,1,,3,2,2,,50,0,100,3,6,350,1,,,,,3,1,6,,,,1,2,,18,4,300,6,4,100000,4,,,1,1,100000,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,2,2,1,237,,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,28,86,159,121,81,90,84,85,83,26,87,142,23,79,29,86,152,88,140,27,145,88,24,27,96,93,76,88,93,136,93,26,156,93,147,100,28,95,160,24,162,93,27,24,87,87,83,93,80,150,85,25,150,89,168,82,26,85,25,136,23,98,144,151,91,78,89,88,83,24,96,150,24,86,27,93,161,90,25 H,1120331,8,100,4,16,1015675,66,3,1,1,,3,1,2,,80,0,300,3,8,600,1,0,2,900,2,1,1,5,,,300,1,1,,15,2,490,3,1,40000,2,,,1,1,40000,0,2,2,2,1,5,1,3,0,0,1,43,0,0,1,0,0,2,1446,1,0,0,14,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,22,76,104,18,19,62,62,130,72,67,62,58,121,67,61,20,19,113,65,20,124,65,18,110,100,68,82,20,66,68,58,58,26,65,63,124,114,21,61,18,116,62,24,109,129,63,67,20,73,62,68,61,20,68,67,111,135,18,66,97,19,66,132,19,20,69,68,135,70,75,66,60,109,64,69,22,19,100,63 H,1120817,8,100,4,16,1015675,83,4,1,2,1,5,2,2,,110,0,2,220,1,450,1,,1,300,1,1,1,9,,,,1,1,,22,2,960,4,1,59000,2,,,1,1,59000,0,2,2,2,1,4,2,4,0,0,2,14,0,0,1,0,0,1,710,3,0,1,46,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,82,79,25,107,150,83,164,150,28,82,22,75,93,27,87,27,126,142,83,76,85,68,21,90,146,86,138,121,26,75,26,82,75,27,76,22,119,128,88,89,92,66,22,77,147,76,143,136,25,84,23,78,74,25,86,21,133,137,91,84,79,86,24,80,138,71,182,142,24,88,21,82,91,27,86,25,142,140,89 H,1120939,8,300,4,16,1015675,36,0,1,,,1,6,,,,,,,,,1,,,,,,1,3,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,38,34,10,11,54,52,10,34,67,12,9,34,37,65,39,38,31,28,27,60,32,30,12,12,60,55,11,37,62,12,12,30,45,74,35,44,29,34,32,69,35,28,10,14,71,51,9,36,73,12,12,35,40,78,27,30,37,31,36,84,37,30,12,10,49,52,10,35,69,11,10,34,37,77,30,31,28,33,30 H,1121000,8,800,4,16,1015675,21,4,1,2,1,3,2,2,,200,0,200,3,3,450,1,,1,650,1,1,1,4,,,,1,1,,12,2,2,2,1,75500,2,,,1,1,75500,0,3,3,3,1,3,2,4,0,0,2,14,0,0,1,0,0,1,867,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,22,32,22,24,18,20,37,28,19,5,11,39,26,5,22,32,5,7,17,24,16,34,25,25,18,18,27,17,20,7,7,60,34,6,20,27,7,8,22,15,22,36,19,18,23,19,30,31,20,3,7,39,37,7,21,24,6,10,25,19,25,27,17,27,22,25,48,30,24,4,5,38,31,6,22,33,5,7,24,28 H,1121335,8,500,4,16,1015675,79,3,1,2,1,3,2,2,,80,0,2,130,2,800,1,,1,900,1,1,1,5,,,350,1,1,,18,3,10,2,1,56200,2,,,1,1,56200,0,2,2,2,1,4,1,3,0,0,1,31,0,0,1,0,0,1,1461,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,86,76,125,82,125,24,24,80,84,73,136,77,24,83,26,28,133,68,120,99,86,81,22,82,22,122,136,82,83,80,23,78,124,74,126,174,23,76,23,73,78,85,23,82,27,135,138,84,78,88,20,87,142,72,127,128,24,94,25,75,83,85,127,84,141,21,28,72,74,84,133,80,26,86,26,20,130,85,126,85 H,1121447,8,800,4,16,1015675,118,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,3,2,550,,2,3,,,2,2,2,,,,610,46,1,7,16000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,100,188,114,27,117,107,34,147,97,84,37,102,146,164,128,117,38,212,159,127,59,148,161,143,40,37,150,139,38,218,124,219,207,121,171,41,114,142,157,201,135,35,123,251,117,98,172,46,156,165,162,143,102,49,125,107,185,32,44,99,156,113,39,104,186,208,97,115,162,35,114,29,42,95,37,218,140,140,128,32 H,1121511,8,200,4,16,1015675,97,2,1,,,3,4,,,40,0,2,3,3,,1,,,,,,1,5,2,320,,1,3,,,2,1,6,4,68800,4,360,6,1,1,68800,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,171,28,28,194,98,24,161,166,106,107,47,94,117,109,109,32,101,111,84,133,143,34,22,140,105,25,144,173,118,139,49,100,83,86,107,37,85,91,79,29,27,142,164,35,110,140,33,30,110,115,179,96,98,97,113,175,100,109,94,29,31,141,141,34,106,167,34,35,83,93,182,99,86,100,132,138,79,104,87 H,1121809,8,300,4,16,1015675,25,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,26,6,7,8,28,39,20,7,23,23,9,31,53,42,36,31,29,25,26,30,31,8,7,7,30,55,25,6,32,27,6,30,38,42,43,19,28,23,29,6,22,42,37,48,21,5,21,44,26,27,49,25,9,9,9,30,24,31,27,7,31,37,41,38,26,9,25,44,28,31,42,28,8,7,9,23,26,24,28,51 H,1122737,8,300,4,16,1015675,115,3,1,1,,3,1,2,,200,0,2,3,3,,1,,,,,,1,5,2,400,,1,3,,,1,180,4,7,25700,2,615,29,1,3,25700,0,3,3,3,1,4,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,128,22,207,40,25,99,118,191,262,38,107,102,107,30,112,118,114,243,158,202,36,123,107,120,120,181,239,112,91,100,176,30,194,125,35,33,34,123,33,111,110,230,33,196,181,118,113,29,36,199,136,110,106,232,126,129,102,30,115,34,150,125,104,112,133,36,36,106,123,134,32,190,37,134,180,167,182,104,188 H,1122993,8,800,4,16,1015675,78,4,1,1,,3,2,2,,130,0,2,190,1,1500,1,,1,850,1,1,1,5,,,,1,1,,24,2,210,8,1,75500,2,,,1,1,75500,0,2,2,2,1,5,2,4,0,0,2,19,0,0,1,0,0,2,1188,3,0,1,32,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,79,67,71,25,80,122,67,108,142,27,78,25,72,72,24,68,27,82,26,26,65,66,97,145,80,27,71,24,22,144,93,135,82,77,115,88,151,89,29,25,75,77,60,110,66,22,87,29,18,134,79,131,91,83,106,68,137,69,104,153,92,87,71,20,78,133,71,136,127,23,87,24,64,87,24,102,31,67 H,1123030,8,100,4,16,1015675,71,3,1,1,,3,2,2,,140,0,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,1,600,3,5,27000,2,490,22,1,2,27000,0,2,2,2,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,40,127,75,76,16,80,24,21,176,121,76,76,71,86,20,119,69,57,26,46,121,28,80,50,97,86,121,106,22,19,63,61,61,80,116,19,101,73,114,84,21,104,76,50,22,96,19,21,104,122,70,78,50,54,27,133,88,91,27,91,127,18,91,71,89,56,135,111,25,23,62,72,64,86,146,28,65,59,129 H,1123211,8,600,4,16,1015675,112,4,1,1,,4,2,2,,90,0,2,80,1,330,1,,1,1800,1,1,1,9,,,,1,1,,20,3,900,3,1,128000,1,,,1,1,128000,0,1,1,1,1,4,1,4,0,0,1,19,0,0,1,0,0,1,2045,3,0,1,62,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,198,115,117,109,31,189,102,109,31,106,31,35,214,195,106,117,115,103,30,201,30,105,116,117,197,32,97,110,194,115,192,198,34,33,107,116,109,115,197,32,188,110,115,108,33,182,112,114,32,105,31,30,201,190,107,126,117,113,28,195,30,109,99,120,203,33,106,114,198,106,192,191,32,36,112,114,102,124,184 H,1123308,8,100,4,16,1015675,73,1,1,1,,2,2,2,,50,0,2,3,3,,1,,,,,,1,5,2,200,,1,3,,,1,1,9,,,,250,6,1,6,48100,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,95,24,24,76,23,73,79,138,63,131,57,171,83,79,24,70,84,21,108,104,58,59,74,115,58,20,118,65,119,80,24,96,26,116,57,23,29,63,61,71,22,109,118,78,137,85,54,22,64,20,57,20,73,69,107,69,84,105,20,23,82,77,66,27,75,120,18,72,25,66,107,74,150,20,70,185,126,59,68,85 H,1123330,8,100,4,16,1015675,97,0,1,2,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,164,113,27,101,115,23,80,146,162,166,121,98,84,110,109,34,32,28,179,118,166,85,33,97,123,31,88,168,145,149,102,87,86,87,75,31,27,27,32,108,26,87,156,109,95,172,92,28,32,28,97,115,106,100,108,164,174,197,28,96,26,92,140,90,98,150,115,26,24,30,79,101,94,97,108,155,160,164,153 H,1123591,8,600,4,16,1015675,107,2,1,1,,3,2,2,,90,0,2,3,3,350,1,,1,720,1,1,1,5,,,260,1,1,,14,1,270,9,1,66000,4,,,1,1,66000,0,4,4,4,1,5,0,2,0,0,0,20,0,0,0,0,0,1,1093,1,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,100,109,103,33,105,172,112,173,191,33,99,33,105,105,31,103,30,175,190,107,101,103,101,184,101,31,105,30,31,189,111,186,116,106,169,102,177,34,30,101,111,110,110,29,106,192,104,177,174,31,100,32,108,109,31,106,32,171,186,107,116,108,103,177,99,30,113,30,30,167,103,189,115,106,188,97,180,33,31,102 H,1123783,8,900,4,16,1015675,66,3,1,1,,4,2,2,,70,0,2,130,1,340,1,,2,700,1,1,1,6,,,,1,1,,15,2,50,4,1,126000,2,,,1,1,126000,0,2,2,2,1,3,1,3,0,0,1,9,0,0,1,0,0,1,932,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,19,64,136,77,21,20,64,69,22,102,70,104,107,62,98,20,65,71,83,67,115,68,19,67,108,100,76,55,88,21,62,18,17,68,23,127,78,71,68,58,19,67,102,66,22,23,68,60,20,103,78,129,120,62,110,18,64,82,98,59,120,63,19,68,106,133,75,68,92,21,62,18,17,60,22,100,53,65,66 H,1123903,8,700,4,16,1015675,127,2,1,1,,2,1,2,,30,0,700,10,1,,1,,,,,,1,3,2,490,,2,3,,,2,2,5,5,14200,2,588,50,1,2,14200,0,2,2,2,1,4,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,286,221,219,182,44,162,132,281,39,100,110,30,120,147,39,106,119,116,38,36,124,140,137,104,135,44,204,147,126,225,202,109,35,30,120,238,40,202,129,118,194,234,206,203,46,150,139,212,46,144,105,32,114,116,39,156,116,168,47,30,128,141,170,109,144,53,197,137,113,152,204,122,33,49,142,172,35,212,106,148 H,1124706,8,300,4,16,1015675,52,5,1,,,2,7,,,1,6000,2,1,1,,1,,,,,,1,4,2,550,,1,3,,,2,1,2,2,20000,3,550,33,1,1,20000,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,52,69,48,80,92,72,52,26,41,93,45,57,59,36,15,18,16,40,22,49,58,73,46,68,98,120,83,15,66,86,46,58,102,58,14,12,23,71,18,46,53,80,54,77,99,81,68,15,61,73,56,69,92,44,10,14,19,69,18,42,39,56,50,104,122,130,70,11,38,116,40,53,57,45,19,16,16,52,18 H,1124731,8,700,4,16,1015675,106,4,1,1,,2,3,2,,60,0,2,40,1,300,1,,1,500,1,1,1,4,,,,1,1,,13,3,500,5,3,30000,1,,,1,1,30000,0,1,1,1,1,3,2,4,0,0,2,26,0,0,1,0,0,1,642,3,0,1,16,1,8,7,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,33,169,102,29,182,195,104,100,28,107,116,104,99,29,106,114,172,196,104,34,31,181,111,31,209,202,107,106,33,108,96,92,107,34,111,115,174,192,106,170,185,33,118,186,31,31,97,103,187,108,109,107,113,179,114,101,29,31,105,179,172,36,116,186,33,29,108,105,181,108,113,103,101,187,105,111,31,29,102 H,1124752,8,600,4,16,1015675,95,1,1,1,,3,2,2,,50,0,300,3,6,180,1,,,,,3,1,5,,,,1,2,,13,0,180,4,,,,,,1,6,8800,0,4,4,4,1,6,0,,0,0,0,26,0,0,0,1,1,2,188,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,26,27,86,153,158,93,30,167,31,95,94,105,92,96,101,148,26,94,101,95,99,91,29,99,93,25,101,109,97,29,175,156,159,164,27,84,90,162,31,164,30,29,86,154,156,96,27,139,28,90,93,99,100,104,92,169,30,96,105,93,94,102,26,89,95,27,98,92,93,30,163,172,156,165,27,103,86,164,31,157 H,1124992,8,100,4,16,1015675,98,2,1,1,,3,2,2,,40,0,2,130,1,,1,,,,,,1,6,2,400,,1,3,,,2,1,9,1,49000,4,570,14,1,1,49000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,157,106,30,97,31,196,94,25,29,105,97,104,142,111,158,89,29,156,35,81,30,95,163,127,174,34,93,121,130,96,89,85,133,94,22,90,165,29,33,98,31,93,141,130,186,27,138,125,131,104,97,102,133,99,22,89,143,26,175,96,161,85,30,103,32,165,99,29,26,96,92,95,105,96,147,90,30,153,212 H,1125261,8,200,4,16,1015675,64,1,1,3,3,1,2,2,,120,0,2,20,2,600,1,,,,,3,1,3,,,,1,2,,16,1,2,3,,,,,,1,4,13000,0,4,4,4,1,4,0,,0,0,0,27,0,0,0,1,1,2,290,,0,0,24,,,,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,16,67,54,59,83,79,115,111,133,53,25,58,111,64,51,135,62,27,22,22,22,60,59,64,73,59,114,105,106,48,18,51,72,76,89,114,59,17,17,22,19,66,76,93,75,53,111,96,137,68,20,53,118,64,67,94,59,27,18,19,19,53,60,63,70,67,132,95,102,62,20,59,92,70,74,106,67,13,16,25 H,1125308,8,100,4,16,1015675,36,2,1,1,,2,2,2,,60,0,2,3,3,500,1,,,,,3,1,5,,,,1,2,,21,3,550,5,4,39400,4,,,1,1,39400,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,2,2,2,324,,0,1,33,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,37,10,55,46,39,60,33,41,58,40,38,33,55,11,10,10,11,56,31,30,39,56,11,36,35,12,38,33,10,38,37,36,9,49,67,50,66,12,33,37,32,12,51,44,43,49,35,35,60,39,31,41,64,10,8,8,12,52,32,39,43,56,11,37,42,12,32,32,8,34,32,34,10,54,67,54,69,10,33,32 H,1125446,8,100,4,16,1015675,179,1,1,1,,2,2,2,,90,0,2,2,1,250,1,,,,,3,1,4,,,,1,2,,12,1,530,7,,,,,,1,6,9100,0,4,4,4,1,7,0,,0,0,0,20,0,0,0,1,1,2,155,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,303,171,157,186,53,179,325,194,278,284,63,199,73,181,160,47,182,56,175,237,286,186,158,168,53,187,279,184,279,256,64,189,51,176,194,52,200,63,201,59,48,166,186,172,298,136,53,182,60,55,314,180,299,150,172,256,166,335,203,59,53,178,156,164,282,156,55,184,67,67,325,198,275,178,204,276,162,308,190 H,1125599,8,300,4,16,1015675,168,3,1,2,1,3,1,2,,50,0,2,3,3,560,1,0,1,270,1,1,1,6,,,,1,1,,15,3,2,3,2,47000,1,,,1,1,47000,0,1,1,1,1,5,1,3,0,0,1,8,0,0,1,0,0,2,320,3,0,0,3,1,3,3,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,177,170,127,38,107,57,101,265,160,82,214,191,57,172,285,295,312,138,157,44,173,116,119,232,280,252,142,61,186,272,194,185,296,230,54,53,97,174,145,220,191,195,164,53,68,49,134,320,166,66,193,139,54,209,288,232,327,156,125,42,208,183,179,255,322,225,159,59,125,301,172,118,253,190,54,63,64,141,160,221 H,1125634,8,900,4,16,1015675,143,1,1,1,,2,1,2,,30,0,2,90,1,190,1,3100,,,,3,1,4,,,,1,2,,1,2,1,5,,,,,,1,6,13200,0,4,4,4,1,7,0,,0,0,0,37,0,0,0,0,0,1,405,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,168,179,99,177,148,127,198,166,96,44,72,187,244,47,111,221,47,66,135,144,129,180,154,198,222,104,270,176,123,34,29,312,253,47,171,202,45,40,149,156,161,56,193,100,126,176,38,139,136,268,259,40,30,247,134,42,237,200,157,130,137,48,172,123,128,126,38,135,171,406,260,42,38,267,130,41,246,182,141,145 H,1125755,8,300,4,16,1015675,98,3,1,1,,3,1,2,,30,0,2,80,1,,1,,,,,,1,6,2,500,,1,3,,,1,1,4,1,30800,1,610,24,1,1,30800,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,154,93,24,123,174,24,77,134,24,111,42,109,99,80,157,112,165,95,47,90,164,112,34,136,141,46,133,111,44,120,22,105,131,79,160,76,127,101,147,123,31,96,154,31,38,133,125,78,138,79,192,112,137,89,22,125,47,163,153,82,31,81,155,51,40,193,110,70,119,128,90,87,70,94,47,71,29,99,33 H,1125803,8,300,4,16,1015675,52,3,1,,,2,7,,,30,0,2,20,1,,1,,,,,,1,4,2,530,,1,3,,,2,1,2,2,15250,1,580,46,1,1,15250,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,51,14,54,52,52,106,62,75,52,45,118,52,19,109,70,12,50,58,15,15,51,14,51,51,40,81,48,92,56,45,102,54,13,119,106,12,50,69,19,14,77,21,51,55,67,72,57,77,46,46,81,46,17,85,89,18,45,36,16,13,63,15,50,47,50,94,48,92,47,61,87,47,16,93,112,14,53,47,11 H,1125830,8,500,4,16,1015675,121,2,1,1,,3,2,2,,230,0,2,3,3,440,1,,1,740,1,1,1,5,,,,1,1,,15,1,380,3,2,23000,4,,,1,1,23000,0,4,4,4,1,4,0,2,0,0,0,52,0,0,0,0,0,2,1002,3,0,1,28,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,34,209,225,128,194,131,116,38,119,38,135,39,120,120,190,97,133,226,35,121,123,116,135,38,117,206,32,108,35,125,186,123,203,39,115,201,196,146,121,46,42,207,186,138,177,117,113,42,114,39,124,43,120,117,192,120,104,198,42,117,126,141,118,34,106,205,38,105,35,131,195,102,199,44,130,196,191,113,133 H,1126409,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1126448,8,400,4,16,1015675,91,2,1,2,4,3,2,2,,200,0,350,2,3,490,1,,2,800,1,1,1,8,,,200,1,1,,17,3,2,4,1,51001,4,,,1,1,51001,0,4,4,4,1,6,0,2,0,0,0,30,0,0,0,0,0,1,1270,2,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,27,143,98,34,65,77,107,171,38,131,30,125,101,70,66,31,86,166,86,150,93,99,25,71,148,149,197,106,64,82,115,109,26,38,33,86,154,80,26,29,83,77,164,111,24,25,25,91,117,92,105,99,181,125,140,95,26,105,143,100,132,21,101,119,94,167,104,23,156,23,201,30,91,94,77,133,85,28,94,122 H,1126533,8,600,4,16,1015675,119,3,1,1,,4,2,2,,100,0,2,150,1,390,1,,1,1300,1,1,1,9,,,,1,1,,21,4,60,2,1,110100,2,,,1,1,110100,0,2,2,2,1,3,1,3,0,0,1,17,0,0,1,0,0,1,1555,3,0,1,36,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,195,201,36,116,234,37,31,107,137,184,122,119,119,113,176,112,129,39,107,34,181,205,33,123,192,32,36,118,130,191,135,131,113,126,205,116,118,35,121,206,38,34,210,109,32,213,189,134,106,34,121,118,119,111,34,120,112,209,128,207,37,35,200,112,35,215,201,121,111,33,131,125,117,109,32,117,127,191,117 H,1127019,8,800,4,16,1015675,118,3,1,1,,2,1,2,,220,0,2,3,3,,1,,,,,,1,7,2,490,,1,3,,,2,1,6,3,6000,2,710,101,1,1,6000,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,118,100,204,91,117,119,86,170,144,111,20,39,272,208,34,116,213,38,131,176,94,133,32,119,125,119,135,43,140,117,150,164,43,40,164,168,44,196,155,36,111,102,193,118,126,116,99,255,118,92,39,47,181,173,39,107,187,38,96,199,143,114,31,140,131,130,151,40,115,137,248,174,33,37,169,89,31,172,140 H,1127338,8,500,4,16,1015675,109,3,1,1,,3,2,2,,50,0,2,100,1,470,1,,,,,3,1,6,,,,1,2,,10,2,860,7,4,23840,4,,,1,1,23840,0,4,4,4,1,6,0,3,0,0,0,18,0,0,0,2,2,1,351,,0,1,22,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,111,202,30,101,115,29,116,112,29,106,104,126,33,179,175,187,180,26,128,123,136,186,35,98,104,33,114,111,28,97,95,131,31,170,208,155,178,28,106,108,106,177,40,96,107,34,114,81,28,114,107,99,37,191,181,170,171,31,112,96,116,198,31,114,129,33,116,91,31,111,118,114,35,182,204,184,176,27,109 H,1127931,8,600,4,16,1015675,163,4,1,1,,3,2,2,,70,0,2,240,1,400,1,,1,1900,1,1,1,5,,,,1,1,,20,2,400,3,2,97500,2,,,1,1,97500,0,2,2,2,1,4,2,4,0,0,2,28,0,0,1,0,0,1,2243,3,0,1,42,2,2,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,265,162,158,58,189,157,186,183,39,136,165,264,264,51,54,264,148,49,183,48,46,144,136,310,159,168,175,232,291,168,148,49,70,256,205,50,156,287,151,52,43,137,163,282,211,145,149,154,236,128,212,49,51,317,326,41,187,396,148,292,295,136,146,63,151,139,160,178,49,168,141,289,269,56,43,279,173,53,166 H,1128163,8,300,4,16,1015675,21,1,1,2,1,3,2,2,,40,0,500,3,6,,1,,,,,,1,5,,,,1,4,,,1,2,6,,,,,,1,6,16000,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,39,32,16,7,20,29,22,16,41,25,7,5,6,26,25,22,19,20,30,9,7,5,20,42,20,7,23,18,5,21,36,28,41,30,23,25,21,24,7,38,41,28,22,8,24,31,20,19,52,25,6,5,7,29,18,20,19,14,34,8,5,6,24,37,20,5,18,19,7,20,40,32,34,31,14,18,21,20,5 H,1128800,8,600,4,16,1015675,110,3,1,,,2,9,,,50,0,2,3,3,,1,,,,,,1,5,,,,2,4,,,1,2,3,1,53400,1,,,1,1,53400,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,120,106,96,34,108,220,107,189,189,39,112,33,99,103,29,93,31,187,186,109,116,109,120,31,118,196,113,194,189,36,104,39,109,88,38,109,32,160,200,119,108,101,117,34,101,163,111,187,202,30,120,29,103,131,35,106,34,191,172,116,102,135,109,30,118,193,124,175,191,29,103,36,116,118,32,107,30,202,174,110 H,1129408,8,900,4,16,1015675,74,2,1,2,1,2,2,2,,150,0,2,3,3,350,1,,1,700,1,1,1,5,,,,1,1,,14,4,2,9,,,,,,1,5,55000,0,4,4,4,1,6,0,,0,1,0,19,2,0,0,0,0,2,850,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,72,146,79,26,90,89,25,96,145,128,125,65,71,59,63,76,22,26,20,139,67,109,83,21,66,68,22,67,131,133,114,79,63,88,76,66,23,22,26,23,69,24,74,154,79,78,126,93,24,20,20,80,82,78,64,86,131,145,122,22,86,18,81,133,78,59,101,78,18,20,22,68,70,86,82,78,145,111,141,142 H,1129455,8,800,4,16,1015675,123,3,1,1,,2,2,2,,80,0,240,3,2,,1,,,,,,1,5,2,280,,1,3,,,3,1,9,1,20360,1,380,22,1,1,20360,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,153,196,156,109,39,40,192,271,51,95,197,38,37,97,101,227,156,143,114,109,147,188,129,122,27,34,178,293,47,111,247,34,39,109,110,184,107,157,127,98,104,34,106,120,153,175,44,44,229,104,46,148,207,157,138,39,112,206,175,116,120,41,116,95,214,224,41,38,227,120,42,223,207,139,142,45,107,124,140 H,1129504,8,500,4,16,1015675,103,2,1,2,1,3,2,2,,100,0,2,200,2,480,1,,2,1100,2,1,1,6,,,120,1,1,,21,3,2,2,,,,,,1,5,46900,0,4,4,4,1,4,0,,0,1,0,43,2,0,0,1,0,1,1689,1,0,1,27,,,,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,30,29,112,172,34,162,103,103,99,105,107,98,33,169,105,104,175,185,95,96,100,91,31,98,111,109,30,155,172,157,157,32,86,102,193,35,115,99,30,29,30,30,98,184,34,184,103,90,88,88,93,90,33,203,95,101,162,174,111,111,110,106,30,104,99,102,26,196,163,177,166,32,108,97,167,34,105,108,31,33 H,1129743,8,100,4,16,1015675,18,2,1,1,,1,2,2,,40,0,2,3,6,700,1,,2,350,2,1,1,4,,,,1,1,,16,4,2,3,2,50000,4,,,1,1,50000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,0,0,1,521,3,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,20,18,7,35,21,18,5,19,6,5,27,31,18,19,20,21,6,33,36,21,19,19,5,32,23,19,5,16,5,7,34,35,19,19,17,19,5,30,33,23,22,15,5,31,20,20,5,15,7,7,24,29,22,21,19,17,5,33,29,19,18,21,5,34,24,18,7,18,7,5,32,27,17,21,18,17,5,32,29 H,1130374,8,900,4,16,1015675,105,3,1,1,,4,2,2,,70,0,2,70,1,500,1,,1,620,1,1,1,7,,,,1,1,,16,3,960,7,8,43800,2,,,1,3,43800,1,2,4,2,1,5,0,3,0,0,1,23,0,1,1,1,1,2,840,3,0,1,36,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,115,214,36,97,37,142,191,111,172,31,100,141,192,99,95,124,103,125,30,38,85,144,30,80,26,89,156,89,165,28,109,189,198,107,96,110,102,118,40,38,118,190,28,119,31,99,171,109,145,27,102,176,179,90,96,121,111,114,27,31,122,156,33,103,35,101,158,113,154,28,88,174,190,107,120,120,108,93,36,39 H,1130600,8,600,4,16,1015675,284,2,1,,,2,7,,,40,0,2,3,3,,1,,,,,,1,4,2,680,,1,3,,,1,2,2,7,9000,1,720,96,1,3,9000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,80,318,94,281,392,277,443,219,465,311,260,398,311,88,465,389,85,287,289,455,425,285,522,326,275,278,87,323,98,261,318,100,270,403,92,108,463,290,284,477,469,290,552,306,299,258,90,317,83,223,265,84,318,559,85,92,474,291,305,88,90,310,79,281,316,264,452,280,493,293,254,449,294,86,504,373,82,271,296,87 H,1130617,8,100,4,16,1015675,134,2,1,1,,3,2,2,,60,0,2,3,3,430,1,,1,820,1,1,1,5,,,,1,1,,16,2,200,2,1,52000,4,,,1,1,52000,0,4,4,4,1,3,0,2,0,0,0,21,0,0,0,0,0,2,897,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,127,240,227,137,200,41,130,125,127,45,125,237,167,39,34,116,116,46,214,151,141,44,39,138,44,230,131,120,146,237,114,48,116,218,221,132,147,229,37,169,129,209,245,105,224,32,139,152,134,34,137,178,153,49,41,140,134,43,241,125,125,48,38,130,45,204,138,147,158,229,139,37,114,232,200,139,133,221,36,127 H,1131145,8,100,4,16,1015675,147,2,1,3,3,3,2,2,,120,0,2,3,6,600,1,,,,,3,1,6,,,,1,2,,20,4,360,9,1,124400,4,,,1,1,124400,0,4,4,4,1,6,0,2,0,0,0,2,0,0,0,0,0,1,240,,0,0,11,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,41,42,47,209,236,197,52,133,190,55,153,233,210,237,165,139,125,150,178,147,38,36,37,221,272,110,46,156,136,42,133,255,235,267,172,109,129,199,266,141,50,55,40,129,224,113,37,156,143,52,168,294,214,208,122,172,139,104,202,148,56,54,37,131,236,124,55,125,177,59,149,273,261,235,176,158,140,158,281 H,1131335,8,100,4,16,1015675,199,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,339,66,67,220,63,196,174,311,171,321,193,363,185,175,51,180,183,69,397,58,187,200,191,60,196,300,76,231,58,167,297,202,363,63,223,342,350,194,196,195,62,319,373,224,348,220,171,55,181,61,232,57,198,177,320,252,179,314,56,308,239,207,186,256,194,68,326,222,313,193,71,195,64,285,191,54,63,238,198,220 H,1131365,8,600,4,16,1015675,117,1,1,1,,3,2,2,,80,0,2,80,2,300,1,,,,,3,1,6,,,,1,2,,15,1,40,4,,,,,,1,4,31000,0,4,4,4,1,3,0,,0,0,0,11,0,0,0,1,1,1,288,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,210,37,34,33,35,205,119,133,36,216,134,115,194,110,115,191,103,106,122,112,239,37,34,35,36,191,116,120,38,208,116,112,198,119,123,190,113,107,113,101,193,36,33,35,33,242,124,126,35,195,116,114,213,135,118,208,137,122,122,124,192,31,33,33,32,186,107,111,34,200,109,114,208,125,107,214,113,124,108 H,1131423,8,600,4,16,1015675,116,2,1,,,1,9,,,40,0,2,3,3,,1,,,,,,1,3,2,580,,1,3,,,1,1,3,1,24600,4,620,30,2,1,24600,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,107,99,127,169,229,119,189,34,176,37,111,32,28,118,140,101,111,113,123,99,221,37,28,103,109,183,131,111,112,108,205,131,117,38,34,163,216,39,32,161,121,143,102,30,36,116,34,183,32,170,112,193,208,111,120,102,112,149,137,106,32,161,173,133,114,36,120,138,121,149,32,125,130,206,192,31,30,175,254 H,1131634,8,400,4,16,1015675,34,2,1,3,1,4,2,2,,80,0,2,100,2,1000,1,,2,1500,2,1,1,9,,,20,1,1,,20,2,2,3,2,109500,4,,,1,1,109500,0,4,4,4,1,4,0,2,0,0,0,24,0,0,0,2,1,1,2158,4,0,0,57,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,47,35,29,9,31,42,39,47,13,40,35,63,51,10,13,57,34,12,29,11,8,38,31,48,31,36,38,30,55,31,24,10,10,46,54,12,29,60,34,12,12,34,31,70,48,30,32,38,44,33,30,10,10,52,57,10,32,51,29,63,66,26,32,10,29,36,38,34,9,36,37,56,60,9,8,54,29,10,46 H,1131678,8,500,4,16,1015675,77,5,1,1,,3,2,2,,90,0,2,3,3,,1,,,,,,1,5,2,550,,1,3,,,3,1,5,2,33300,2,640,23,1,1,33300,0,2,2,2,1,1,1,3,0,1,1,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,89,75,25,87,23,110,132,74,80,82,25,67,130,62,124,108,21,81,84,116,84,84,119,68,134,20,23,79,95,85,144,86,23,81,23,22,128,66,73,23,68,76,23,86,22,139,113,77,80,80,23,77,119,90,134,123,23,82,76,117,77,75,132,76,115,23,21,65,78,87,137,72,19,70,22,24,168,68,67 H,1132033,8,300,4,16,1015675,88,4,1,1,,4,2,2,,200,0,2,40,1,400,1,,1,2400,1,1,1,9,,,,1,1,,22,3,120,1,1,69600,4,,,1,1,69600,0,4,4,4,1,1,0,4,0,0,0,46,0,0,0,0,0,1,2650,3,0,1,44,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,92,22,94,95,175,138,24,30,142,109,24,157,144,94,87,20,98,80,90,99,97,122,99,95,29,26,124,157,24,102,130,24,31,83,78,136,90,79,79,85,80,32,86,104,147,153,28,23,145,81,25,152,144,79,77,30,91,85,93,100,79,141,96,74,30,27,155,135,24,104,141,22,25,85,82,149,86,87,101,98 H,1132364,8,300,4,16,1015675,160,5,1,1,,3,2,2,,100,0,2,50,1,300,1,,1,650,1,1,1,5,,,,1,1,,17,3,40,1,1,77500,2,,,1,1,77500,0,2,2,2,1,1,3,5,0,0,3,12,0,0,1,0,0,2,803,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,190,54,150,176,197,169,43,164,124,249,285,47,44,280,152,41,274,286,183,145,171,59,151,145,150,162,46,150,160,261,253,61,45,249,155,49,273,276,139,154,165,51,154,159,157,146,53,152,140,286,234,49,57,270,171,44,296,289,149,150,158,43,181,177,136,163,51,172,159,301,264,57,45,254,188,50,238,237,161 H,1132410,8,100,4,16,1015675,147,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,151,49,157,159,248,148,259,151,236,140,171,37,133,148,39,233,265,50,265,168,268,138,43,237,143,218,132,40,133,46,235,159,42,48,139,131,184,136,150,261,170,269,139,146,52,139,45,165,42,153,145,207,159,149,266,40,44,290,50,146,40,139,229,41,137,45,139,225,142,256,43,149,228,234,133,148,131,148,129 H,1132465,8,100,4,16,1015675,295,1,1,1,,3,2,2,,250,0,2,2,1,,1,,,,,,1,5,2,900,,1,3,,,2,600,1,,,,1200,55,1,4,26000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,97,268,494,322,102,86,285,233,89,386,252,416,498,332,493,89,260,275,345,283,117,306,450,299,97,98,279,359,99,498,343,640,489,287,407,103,302,283,299,333,97,310,432,280,94,90,310,274,109,545,280,525,488,280,466,100,300,271,250,294,102,313,431,312,110,89,330,280,88,534,315,448,443,268,433,86,328,280,332 H,1132467,8,400,4,16,1015675,110,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,113,101,35,124,196,34,31,178,101,108,169,104,208,116,116,110,35,160,101,39,113,110,35,116,174,34,30,181,141,139,171,103,187,128,141,106,27,186,120,34,142,150,31,129,200,28,27,179,117,109,164,121,204,99,121,111,27,204,127,40,109,111,30,113,172,34,35,157,91,99,174,136,177,94,119,109,29,156 H,1133133,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1133243,8,300,4,16,1015675,246,3,1,,,2,6,,,50,0,2,3,3,,1,,,,,,1,4,2,430,,2,3,,,3,1,5,,,,480,17,1,7,33500,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,231,498,96,99,432,204,278,273,232,333,239,220,360,103,155,102,233,210,416,70,270,324,115,80,393,251,207,458,214,365,243,117,288,185,254,89,265,159,62,403,181,79,263,267,70,302,365,104,272,130,339,312,251,371,371,351,199,301,81,318,170,89,374,377,110,256,270,100,326,89,176,302,177,319,206,415,268,281,367 H,1133754,8,900,4,16,1015675,36,2,1,2,1,2,1,2,,50,0,1000,3,6,,1,,,,,,1,4,2,300,,1,3,,,3,2,6,,,,433,24,1,5,21404,0,4,4,4,1,5,0,,0,1,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,60,81,74,35,10,31,78,40,22,63,40,13,12,10,35,32,31,40,37,9,60,70,61,38,12,39,73,38,34,59,36,12,11,12,40,38,35,29,31,12,78,76,58,36,12,35,53,40,40,71,46,12,12,8,27,41,36,32,39,10,47,74,82,36,10,34,73,36,41,61,33,10,11,12,45,35,27,36,30,10 H,1133772,8,800,4,16,1015675,107,1,1,2,1,2,2,2,,40,0,600,3,3,540,1,,2,490,2,1,1,3,,,,2,1,,8,2,2,7,,,,,,1,4,8200,0,4,4,4,1,6,0,,0,0,0,97,0,0,0,0,0,1,665,3,0,1,11,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,30,91,134,38,83,173,271,123,86,135,140,101,166,31,38,30,123,200,35,125,239,95,90,147,97,30,33,37,127,133,130,122,99,184,216,147,107,31,222,78,33,78,107,44,83,120,228,157,102,157,111,129,145,27,40,32,88,148,32,94,152,94,114,232,131,37,32,40,101,96,104,110,147,193,200,180,110,39,194 H,1134067,8,100,4,16,1015675,45,2,1,1,,2,2,2,,40,0,2,50,1,,1,,,,,,1,4,2,440,,1,3,,,2,2,7,,,,530,13,1,5,48600,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,12,43,55,79,40,53,59,42,68,53,46,13,15,101,81,12,46,75,11,45,66,49,41,13,58,52,54,41,10,35,44,70,65,17,12,53,47,15,78,54,89,48,40,10,56,52,45,59,10,41,46,75,85,18,15,67,42,13,77,44,14,42,43,81,43,54,50,42,83,41,48,13,13,87,77,13,43,76,13,63 H,1134311,8,500,4,16,1015675,126,1,1,1,,1,2,2,,80,0,2,3,3,,1,,,,,,1,3,2,470,,1,3,,,1,60,5,,,,555,62,1,6,10700,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,225,37,187,118,126,136,127,155,112,44,229,127,140,201,197,129,32,39,132,221,141,134,134,233,34,41,46,39,193,119,108,38,206,125,136,177,123,125,42,128,219,37,214,123,132,134,99,122,123,33,212,129,109,198,198,133,40,43,135,213,130,140,174,198,39,37,40,37,218,132,135,40,225,98,123,214,133,133,37 H,1134401,8,800,4,16,1015675,80,2,1,3,6,3,2,2,,250,0,2,3,3,400,1,,,,,3,1,7,,,,1,2,,18,3,2,6,1,52102,4,,,1,1,52102,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,433,,0,0,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,124,70,24,79,80,16,54,132,116,93,52,93,128,95,80,23,27,26,32,62,17,79,130,92,86,101,75,27,24,28,67,66,112,111,69,139,168,154,155,61,110,66,26,97,88,23,80,116,130,107,66,73,104,93,73,22,25,25,22,65,24,72,122,123,82,121,90,26,30,27,97,77,96,84,65,130,147,133,204 H,1134546,8,100,4,16,1015675,274,0,1,2,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,299,499,294,86,262,402,436,302,293,413,92,273,108,73,249,83,461,312,242,259,276,428,267,90,245,423,415,281,258,394,79,297,90,96,282,110,473,270,243,280,255,85,326,444,268,93,102,303,264,95,405,247,434,411,282,418,76,260,272,260,292,91,293,411,282,76,107,296,285,106,423,275,393,455,288,403,95,237,255 H,1134659,8,700,4,16,1015675,75,2,1,1,,3,2,2,,60,0,2,3,3,70,1,,1,840,1,1,1,6,,,300,1,1,,18,2,100,2,,,,,,1,7,66000,0,4,4,4,1,2,0,,0,1,0,22,0,0,0,0,0,1,1208,1,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,20,20,74,23,89,75,136,71,118,74,133,66,70,26,74,71,23,128,129,78,78,69,139,73,20,114,74,129,72,20,66,20,119,75,24,20,77,76,61,124,24,24,70,22,73,76,122,78,137,74,141,72,68,18,71,77,18,143,124,79,68,80,117,65,20,133,86,121,72,20,69,22,133,75,23,23,76,80,92 H,1135548,8,400,4,16,1015675,141,2,1,1,,3,2,2,,40,0,2,3,3,370,1,,,,,3,1,6,,,,1,2,,15,2,2,4,4,34900,4,,,2,1,34900,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,1,0,1,144,,0,1,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,309,218,142,129,39,166,166,142,147,40,127,161,268,207,39,45,211,111,49,152,42,47,121,117,225,160,136,121,137,219,180,149,30,50,296,233,45,155,197,133,42,31,132,153,242,130,154,157,155,265,153,124,41,31,190,325,46,126,295,159,181,219,147,150,45,179,154,131,177,49,145,106,205,187,32,48,280,179,40,148 H,1135579,8,800,4,16,1015675,94,2,1,1,,2,2,2,,60,0,930,3,6,430,1,,2,420,2,1,1,5,,,,1,1,,8,3,1100,9,1,49700,4,,,1,1,49700,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,1,1,1,740,3,0,1,15,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,89,99,173,97,32,147,165,31,83,102,24,98,28,93,106,94,158,89,134,30,103,106,27,94,191,29,29,127,85,82,197,119,136,86,113,106,34,113,169,31,98,88,31,94,160,33,27,145,106,101,153,86,170,106,81,93,30,100,29,153,111,103,142,103,25,168,174,28,94,112,31,87,27,80,97,113,119,124,29 H,1135810,8,800,4,16,1015675,59,5,1,1,,3,2,2,,40,0,2,30,1,260,1,,1,480,1,1,1,7,,,,1,1,,12,1,580,7,2,48560,3,,,1,1,48560,0,1,1,1,1,3,3,5,0,0,3,15,0,0,1,0,0,1,598,3,0,1,17,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,20,56,14,94,60,13,55,99,25,17,86,46,54,98,57,112,63,66,10,63,99,53,78,64,62,113,68,19,74,87,24,57,48,22,68,15,48,71,106,82,18,75,15,62,76,13,52,91,29,16,67,37,53,112,46,95,56,62,13,59,118,63,75,82,78,92,55,22,89,72,17,49,40,23,84,13,58,86,111 H,1136445,8,100,4,16,1015675,76,2,1,1,,3,2,2,,90,0,2,50,2,350,1,,1,680,1,1,1,6,,,660,1,1,,17,2,60,5,1,100100,4,,,1,1,100100,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,1485,2,0,1,26,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,115,31,78,72,133,72,86,23,87,70,100,25,21,79,25,67,137,69,85,131,63,76,124,22,75,20,25,76,25,122,77,82,95,120,80,25,81,131,27,77,24,173,56,90,25,95,83,127,63,64,18,128,148,89,119,75,18,83,90,23,93,76,24,131,68,148,126,74,112,23,76,90,95,20,67,108,71,21,124 H,1136843,8,100,4,16,1015675,83,1,1,1,,1,2,2,,20,0,2,140,1,,1,,,,,,1,3,2,450,,1,3,,,1,2,8,,,,610,101,1,6,7100,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,70,117,100,30,149,171,37,100,71,27,78,31,96,90,77,100,82,146,76,26,81,134,74,29,149,145,32,78,71,23,77,22,80,89,71,116,92,151,87,133,102,24,78,115,27,27,129,116,58,129,77,141,87,86,75,19,89,18,80,113,97,25,84,185,24,28,141,77,99,153,83,149,98,92,77,27,85,27,96,26 H,1137038,8,800,4,16,1015675,72,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,2,500,,,,1,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,76,20,65,69,21,58,102,126,109,60,82,77,87,69,18,26,20,69,136,15,96,129,72,73,144,82,26,18,27,80,63,82,69,72,122,86,124,66,23,18,64,122,62,87,106,56,19,24,23,82,77,71,66,67,123,145,115,80,21,106,91,20,71,66,22,77,126,139,138,81,73,79,84,63,22,20,21,69,123,143 H,1137199,8,500,4,16,1015675,132,4,1,2,1,4,2,2,,300,0,2,3,3,390,1,,,,,3,1,9,,,,2,2,,15,2,2,8,2,72000,2,,,1,1,72000,0,2,2,2,1,3,2,4,0,0,2,7,0,0,1,0,0,1,436,,0,1,24,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,219,199,142,36,123,194,129,125,271,138,43,41,42,136,157,124,145,143,38,225,216,234,129,36,134,215,148,146,215,122,37,40,42,126,125,125,121,131,41,229,224,216,133,42,148,204,144,134,231,137,40,38,37,132,165,141,148,130,38,249,239,225,142,37,104,237,124,148,206,108,36,43,35,134,128,121,127,115,38 H,1137358,8,100,4,16,1015675,39,1,1,1,,5,2,2,,30,0,130,80,1,600,1,,,,,3,1,8,,,,1,2,,19,2,1700,8,,,,,,1,6,18500,0,4,4,4,1,7,0,,0,0,0,29,0,0,0,1,1,2,440,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,36,12,11,10,54,46,32,33,44,52,66,73,37,15,38,45,35,39,66,12,33,64,65,69,33,41,53,41,34,14,17,15,67,59,30,12,37,40,65,15,42,63,59,46,33,38,39,45,34,10,17,11,35,97,40,10,43,47,14,50,41,10,14,13,40,63,37,35,43,67,65,83,45,12,33,63,47,39,17 H,1137483,8,500,4,16,1015675,79,3,1,1,,4,2,2,,130,0,180,20,3,470,1,,1,350,1,1,1,8,,,,1,1,,17,2,200,5,4,50820,4,,,1,1,50820,0,4,4,4,1,7,0,3,0,0,0,13,0,0,0,2,1,1,532,3,0,1,22,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,19,21,88,76,79,156,76,26,74,23,26,169,86,132,63,73,118,67,86,29,126,133,82,73,87,30,81,137,78,119,125,24,74,20,84,84,21,76,73,25,137,143,97,71,90,23,65,110,73,119,124,23,78,20,79,77,22,82,85,128,26,27,78,66,85,132,93,21,80,23,27,146,81,130,83,76,125,84,87 H,1137555,8,800,4,16,1015675,101,3,1,1,,3,2,2,,30,0,2,30,1,260,1,,1,660,1,1,1,6,,,170,1,1,,15,1,310,5,2,45234,2,,,1,1,45234,0,2,2,2,1,1,1,3,0,0,1,24,0,0,1,0,0,1,916,1,0,1,20,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,122,212,29,97,104,102,29,89,177,117,34,26,103,90,28,206,96,171,78,30,110,28,143,112,119,103,167,99,31,114,190,196,99,104,167,29,106,28,105,34,110,29,177,97,90,78,139,103,29,85,162,219,93,92,199,24,100,33,109,171,111,189,34,97,107,94,25,103,157,96,31,35,119,109,30,158,128,210,82 H,1137561,8,500,4,16,1015675,235,4,1,1,,3,2,2,,50,0,2,10,4,450,1,,2,750,2,1,1,6,,,,2,1,,13,3,2,7,1,29130,2,,,2,1,29130,0,2,2,2,1,1,2,4,0,0,2,39,0,0,1,0,0,2,948,3,0,1,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274,244,222,261,395,366,395,258,60,209,486,218,231,407,248,69,88,75,191,69,237,304,208,212,381,309,354,290,82,210,387,264,244,428,227,68,67,78,265,453,265,229,281,229,57,76,76,341,337,247,84,244,232,81,256,317,358,354,208,427,269,255,204,204,86,93,76,229,345,213,81,193,268,68,241,393,351,375,188,63 H,1137663,8,100,4,16,1015675,46,2,1,2,1,2,2,2,,70,0,2,80,1,400,1,,2,280,1,1,1,4,,,,1,1,,17,3,350,8,3,19904,4,,,1,1,19904,0,4,4,4,1,5,0,2,0,0,0,30,0,0,0,1,0,1,492,3,0,1,25,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,47,12,45,80,45,48,81,40,14,14,16,43,49,50,47,46,78,86,14,76,49,17,54,77,39,42,75,43,16,12,12,44,50,50,40,44,78,93,14,69,50,15,52,80,46,50,70,43,14,14,14,48,45,51,50,49,77,68,16,87,42,13,51,92,47,43,82,42,13,14,13,43,41,45,45,51,83,81,14 H,1137771,8,500,4,16,1015675,80,2,1,1,,2,2,2,,50,0,100,100,6,350,1,,,,,3,1,5,,,,1,2,,10,2,2,9,4,34400,4,,,1,1,34400,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,254,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,81,88,88,148,143,99,149,19,148,23,86,23,20,83,97,70,86,92,90,76,129,22,26,85,82,136,68,78,79,71,135,83,81,27,22,126,128,23,26,134,89,71,69,27,22,82,25,160,23,151,80,144,142,69,71,73,80,91,77,73,27,150,139,89,77,23,75,77,83,80,27,66,90,140,143,24,22,115,140 H,1138234,8,500,4,16,1015675,504,1,1,1,,2,1,2,,200,0,2,3,3,0,1,2600,,,,3,1,4,,,,2,2,,1,1,480,5,,,,,,2,4,16600,0,4,4,4,2,4,0,,0,0,0,34,0,0,0,0,0,2,467,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,760,658,644,635,389,210,619,794,257,588,499,221,391,156,476,525,480,680,501,207,732,413,479,708,526,177,693,706,159,395,517,213,667,261,593,425,481,752,520,803,219,382,457,213,624,766,219,207,598,420,525,687,701,836,574,460,443,171,462,612,191,623,610,179,510,781,172,206,816,618,597,647,406,609,380,483,499,150,543,175 H,1138474,8,300,4,16,1015675,62,2,1,1,,4,2,2,,100,0,2,160,1,360,1,,,,,3,1,9,,,,1,2,,15,2,380,6,4,69800,4,,,1,1,69800,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,447,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,64,78,16,98,64,65,116,52,52,96,55,57,52,103,23,20,18,18,59,116,64,68,19,99,66,74,126,66,61,107,78,63,60,94,15,17,18,21,54,108,71,82,19,97,54,64,111,64,59,107,72,64,57,88,19,20,18,25,60,105,66,72,19,95,59,56,114,55,49,111,62,59,55,91,16,21,19,21,55 H,1138602,8,100,4,16,1015675,120,2,1,2,1,2,2,2,,90,0,2,3,6,410,1,,,,,3,1,5,,,,1,2,,17,2,270,6,4,31710,4,,,1,1,31710,0,4,4,4,1,4,0,2,0,0,0,7,0,0,0,2,2,2,182,,0,1,10,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,187,192,149,118,41,103,167,110,108,215,138,27,41,49,93,83,107,110,123,35,183,237,220,153,40,110,169,133,151,214,122,45,46,34,117,154,166,153,111,45,208,184,190,108,43,121,185,108,119,231,124,40,36,31,154,125,126,134,125,27,199,195,201,148,35,111,231,112,108,192,128,42,29,39,110,99,105,127,164,35 H,1138995,8,300,4,16,1015675,56,5,1,1,,5,2,2,,160,0,2,3,3,460,1,,2,1100,2,1,1,8,,,50,1,1,,17,2,950,5,2,40000,3,,,1,1,40000,0,3,3,3,1,5,3,5,0,0,3,44,0,0,1,0,0,1,1477,2,0,1,14,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,66,122,62,20,114,84,20,63,51,16,52,16,60,51,63,124,59,90,51,90,59,14,57,103,16,17,93,50,43,83,53,97,52,48,62,18,47,15,55,125,46,16,67,82,17,16,94,58,49,97,45,108,56,46,62,18,50,18,61,23,48,92,77,14,103,76,17,49,56,16,47,18,51,50,67,109,44,93,63,16 H,1139071,8,100,4,16,1015675,69,3,1,1,,3,2,2,,30,0,2,10,1,,1,,,,,,1,6,2,640,,1,3,,,1,1,9,5,25000,3,680,33,1,2,25000,0,3,3,3,1,2,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,105,23,54,99,26,61,34,127,112,55,58,50,19,79,95,59,119,116,61,152,129,122,70,62,118,76,90,17,21,91,55,40,134,85,25,59,20,22,77,112,84,115,49,77,136,70,115,25,24,52,60,74,110,69,15,56,27,23,41,31,86,23,74,82,29,62,20,120,92,56,67,63,27,110,119,55,111,108,52 H,1139258,8,900,4,16,1015675,156,4,1,1,,4,2,2,,40,0,1000,100,1,1000,1,,1,790,1,1,1,8,,,,1,1,,14,3,40,8,1,48400,1,,,1,1,48400,0,1,1,1,1,3,2,4,0,0,2,25,0,0,1,0,0,1,1016,3,0,1,20,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,258,39,50,239,137,225,152,106,118,112,203,135,192,41,35,314,351,76,204,169,53,234,222,196,186,45,152,122,135,143,58,220,183,266,258,52,50,270,190,193,269,49,56,168,129,242,161,137,101,110,278,163,157,50,57,286,224,49,160,207,50,264,214,124,259,57,101,152,198,156,82,199,133,267,290,50,38,187,144,144 H,1139324,8,100,4,16,1015675,54,2,1,3,1,2,1,2,,1,0,1,30,2,,1,,,,,,1,3,2,650,,1,3,,,2,1,5,3,55490,4,680,15,1,1,55490,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,58,66,88,50,45,17,16,93,90,15,52,96,15,18,54,70,106,47,55,54,54,53,17,55,54,87,105,14,14,98,60,19,81,103,55,54,15,49,60,60,61,53,86,52,60,17,15,98,109,17,54,82,17,15,49,55,90,53,55,61,66,74,13,59,60,87,85,15,17,101,48,17,104,98,55,71,15,46,41,63 H,1139533,8,300,4,16,1015675,59,4,1,1,,2,1,2,,60,0,2,200,2,,1,,,,,,1,3,2,350,,1,3,,,0,940,4,4,30300,2,688,27,2,1,30300,0,3,3,3,1,4,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,149,143,56,75,55,61,42,9,18,26,61,125,60,15,74,48,12,61,85,25,11,18,70,47,48,70,74,86,129,94,48,13,60,115,55,97,119,47,23,105,127,148,54,46,59,51,46,18,13,21,57,87,45,20,59,68,19,42,100,18,15,14,63,63,64,93,64,77,134,113,56,21,64,89,48,58,98,77,20,82 H,1139940,8,700,4,16,1015675,366,2,1,1,,3,2,2,,50,0,2,90,1,,1,,,,,,1,5,2,750,,1,3,,,2,40,3,1,54000,4,893,20,1,1,54000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,617,625,352,391,111,390,364,400,359,124,340,352,604,688,107,99,565,374,111,351,592,537,397,366,110,344,346,378,367,129,351,444,593,585,129,103,593,312,114,407,121,110,378,398,580,326,404,312,362,584,382,346,115,103,643,581,114,344,559,382,119,129,351,392,651,371,404,367,349,580,329,352,108,101,578,683,105,413,603,365 H,1140069,8,900,4,16,1015675,62,11,1,2,2,5,2,2,,30,0,100,60,2,500,1,,,,,3,1,9,,,,1,2,,16,3,2,3,2,24000,3,,,3,1,24000,0,3,3,3,1,5,9,11,0,0,9,11,0,0,1,0,0,1,219,,0,1,21,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,62,13,49,120,75,80,123,73,27,14,14,64,78,72,77,60,83,108,15,141,67,17,59,103,60,62,100,79,16,14,18,69,65,46,58,72,75,103,22,90,41,15,64,93,58,82,114,53,25,21,18,82,57,59,63,52,111,117,22,114,68,14,58,104,49,78,121,56,15,22,22,61,53,62,69,64,86,93,15 H,1140085,8,100,4,16,1015675,78,2,1,1,,3,2,2,,130,0,2,2,1,380,1,,,,,3,1,6,,,,1,2,,18,1,80,5,7,132400,4,,,1,3,132400,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,1,1,1,236,,0,1,18,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,21,21,80,72,70,128,81,24,70,23,23,142,79,134,90,90,137,70,78,155,28,23,72,89,82,109,78,22,96,32,22,126,63,146,69,64,128,79,80,106,22,24,67,98,78,144,77,27,78,25,25,136,71,139,64,74,109,76,79,139,25,21,78,73,68,138,66,22,85,27,25,130,83,115,78,93,142,88,114 H,1140363,8,900,4,16,1015675,62,4,1,,,2,4,,,50,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,2,2,2,1,60000,1,450,9,1,1,60000,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,54,83,50,22,61,15,18,140,48,118,48,49,119,80,104,18,26,67,67,62,62,94,58,23,71,18,17,102,58,84,95,71,99,51,80,20,18,71,53,102,46,18,66,91,68,97,104,33,47,14,59,48,25,79,23,93,86,99,74,47,61,17,58,111,75,133,80,18,74,17,65,48,14,47,13,96,91,55,50 H,1140858,8,700,4,16,1015675,100,1,1,1,,3,2,2,,50,0,2,110,1,500,1,,1,600,1,1,1,6,,,,1,1,,16,0,280,3,,,,,,1,6,29500,0,4,4,4,1,3,0,,0,0,0,32,0,0,0,1,1,2,783,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,101,169,97,173,30,30,108,106,96,163,104,32,104,26,29,160,101,195,110,96,101,30,107,26,160,176,99,90,103,33,102,163,99,179,172,31,94,29,111,109,103,175,100,161,29,31,98,117,103,161,98,30,96,26,25,166,94,172,101,98,106,27,106,30,157,169,102,103,111,30,106,173,116,177,182,27,98,28,94 H,1140974,8,700,4,16,1015675,109,7,1,1,,3,2,2,,100,0,2,440,1,600,1,,2,1100,1,1,1,5,,,180,1,1,,20,6,550,2,1,207900,1,,,1,1,207900,1,1,4,1,1,3,0,7,0,0,1,11,0,1,1,1,1,1,1916,1,0,1,37,3,4,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,115,28,94,97,30,108,212,185,194,109,112,101,106,100,32,34,33,103,189,29,119,184,107,107,172,101,36,37,32,113,106,105,111,111,178,180,169,112,36,171,112,31,103,99,36,98,181,191,171,115,107,115,113,111,33,35,32,104,220,32,106,190,115,107,181,102,31,30,29,111,117,104,96,94,172,185,185,111,34,184 H,1141072,8,400,4,16,1015675,145,3,1,1,,4,2,2,,40,0,2,3,6,750,1,,1,870,1,1,1,8,,,,1,1,,21,2,880,4,1,56300,1,,,1,1,56300,0,1,1,1,1,3,1,3,0,0,1,21,0,0,1,0,0,2,983,3,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,261,134,134,129,207,134,204,41,127,67,109,127,121,37,51,199,137,47,154,52,174,53,69,194,135,313,176,157,317,180,240,50,49,127,181,138,207,164,268,139,228,137,105,127,242,146,231,51,157,34,137,133,145,68,54,239,133,47,221,49,127,45,36,204,162,242,132,151,222,135,209,43,53,169,135,175,244,144,163 H,1141112,8,100,4,16,1015675,53,2,1,1,,3,2,2,,40,0,1400,100,2,580,1,,,,,3,1,7,,,,1,2,,21,3,170,2,4,56700,4,,,1,1,56700,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,2,2,1,541,,0,1,38,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,79,86,47,57,58,54,61,15,54,81,19,56,17,54,78,53,94,17,101,40,16,15,50,52,54,54,42,99,52,15,102,47,89,45,15,49,15,111,19,53,89,94,53,49,49,43,57,17,44,87,16,51,15,51,94,55,98,18,95,51,16,15,44,47,52,54,52,92,66,19,108,62,87,44,17,45,12,96,15 H,1141247,8,800,4,16,1015675,42,3,1,1,,2,2,2,,50,0,2,50,1,280,1,,1,570,1,1,1,4,,,,1,1,,13,1,360,9,2,37400,1,,,1,1,37400,0,1,1,1,1,3,1,3,0,0,1,22,0,0,1,0,0,2,700,3,0,1,15,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,14,43,15,41,40,43,78,67,98,41,42,63,34,14,82,52,11,77,49,40,62,34,77,42,34,51,14,74,14,35,39,11,48,89,11,10,77,14,41,48,12,40,19,34,36,59,63,55,76,54,57,56,38,14,63,66,13,104,45,44,70,36,55,37,47,37,12,53,15,43,52,11,36,73,14,11,57,16 H,1141646,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1142024,8,200,4,16,1015675,60,1,1,3,2,2,1,2,,50,0,2,3,6,2300,1,110,,,,3,1,4,,,,1,2,,18,2,2,5,,,,,,1,4,12000,0,4,4,4,1,7,0,,0,0,0,32,0,0,0,1,1,1,320,,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,66,75,20,50,16,33,59,68,90,64,69,90,55,133,86,12,88,142,33,124,42,59,158,36,95,113,38,54,22,84,39,76,52,17,56,160,17,14,91,71,48,76,100,50,87,51,57,57,17,51,14,51,78,31,54,104,13,33,143,15,96,54,12,62,32,73,58,70,104,62,85,54,55,71,55,25,111,91,26,13 H,1142468,8,400,4,16,1015675,22,1,1,2,1,1,2,2,,100,0,2,100,6,570,1,,,,,3,1,3,,,,1,2,,20,2,2,5,,,,,,1,4,14001,0,4,4,4,1,6,0,,0,0,0,31,0,0,0,1,1,2,359,,0,1,25,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,5,26,22,17,21,20,34,41,33,21,5,23,43,26,21,29,20,5,6,46,35,19,29,25,26,25,5,6,5,18,27,23,7,21,20,6,26,33,35,5,7,22,15,20,23,15,30,45,39,20,6,26,36,23,27,38,19,5,5,35,42,29,20,17,15,24,6,6,6,23,34,21,5,23,18,5,24,39,34,5 H,1142670,8,400,4,16,1015675,98,2,1,,,4,4,,,70,0,2,3,3,400,1,,,,,3,1,8,,,,1,2,,14,2,500,7,8,61100,4,,,1,3,61100,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,1,1,1,263,,0,0,26,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,33,29,100,181,95,29,108,106,33,90,103,158,234,105,94,88,98,156,112,25,24,29,107,182,84,28,106,98,27,118,242,170,153,88,124,99,84,28,134,224,179,122,88,38,85,125,123,83,153,106,31,41,31,74,143,96,77,27,107,202,127,148,104,24,126,203,86,96,152,94,27,32,43,107,87,91,85,180 H,1142853,8,900,4,16,1015675,48,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,3,17,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,21,52,47,92,49,46,49,49,86,49,47,15,15,85,73,16,47,75,19,54,13,43,33,69,58,40,47,53,80,62,64,14,16,68,76,15,40,77,13,53,74,47,43,19,38,37,50,49,12,50,48,87,79,13,15,92,45,16,81,48,97,65,40,14,45,47,41,50,22,59,50,80,68,13,14,80,36,15,94,46 H,1142928,8,300,4,16,1015675,52,6,1,,,4,6,,,1,0,2,3,3,,1,,,,,,1,6,2,250,,1,3,,,3,490,3,,,,291,15,1,7,23700,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,14,89,94,18,51,80,17,18,49,54,76,72,49,60,63,73,49,50,17,52,81,16,13,92,50,10,94,81,56,59,13,60,50,48,71,16,37,54,120,57,91,23,19,97,54,18,73,90,47,46,15,53,52,63,48,15,58,49,66,52,12,114,77,13,49,79,14,15,52,44,109,49,47,54,63,117,57,47,13,42 H,1143211,8,900,4,16,1015675,77,5,1,2,1,5,2,2,,120,0,2,30,1,4,1,,2,1200,1,1,1,9,,,300,1,1,,17,2,1500,5,2,60000,3,,,1,1,60000,0,3,3,3,1,1,3,5,0,0,3,36,0,0,1,0,0,1,1775,1,0,1,3,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,69,73,142,56,20,124,146,19,77,80,22,71,25,83,70,80,140,67,21,117,91,93,123,103,20,119,158,19,96,92,20,82,24,80,83,76,116,55,25,117,69,82,146,82,23,135,125,28,92,75,25,80,25,79,59,71,132,77,25,155,94,66,128,68,24,123,111,21,68,64,23,71,22,79,73,65,140,75,26 H,1143386,8,700,4,16,1015675,135,1,1,1,,2,3,2,,40,0,2,3,3,,1,,,,,,1,4,2,680,,1,3,,,1,2,5,,,,720,26,1,4,33000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,220,132,134,146,145,121,37,47,39,145,222,139,39,141,138,40,140,211,39,37,40,136,140,135,145,136,230,238,226,136,36,135,247,132,152,221,117,39,212,214,239,138,142,138,117,154,41,41,41,129,237,137,38,158,151,35,126,223,42,41,42,147,142,142,135,126,221,201,239,143,35,113,230,137,122,259,142,42,209 H,1143491,8,300,4,16,1015675,108,3,1,2,1,3,2,2,,130,0,650,3,4,300,1,,,,,3,1,6,,,,1,2,,15,4,2,9,1,46000,4,,,1,1,46000,0,4,4,4,1,7,0,3,0,0,0,8,0,0,0,0,0,1,292,,0,1,22,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,108,94,120,111,36,114,116,206,161,35,32,160,95,33,235,192,127,128,99,215,103,111,119,110,158,99,121,30,30,187,138,31,105,160,30,37,116,113,125,186,129,119,134,131,161,107,116,26,25,209,180,36,115,141,36,40,119,105,97,36,99,96,119,106,30,124,124,171,171,34,27,175,91,28,191,180,101,112,84 H,1143542,8,800,4,16,1015675,21,2,1,2,1,2,2,2,,90,0,2,3,4,1200,1,,,,,3,1,5,,,,1,2,,17,3,2,9,1,85100,4,,,1,1,85100,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,0,0,2,307,,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,6,33,39,20,22,5,6,36,25,22,23,38,24,22,20,5,22,20,8,30,8,43,39,20,18,7,5,34,21,20,21,33,22,20,25,6,21,20,7,38,7,32,34,17,22,7,6,36,22,23,23,42,26,20,24,7,26,22,7,37,6,40,34,20,18,7,5,36,23,22,22,36,20,20,23,6,22,22,7 H,1143789,8,600,4,16,1015675,112,1,1,1,,2,2,2,,20,0,2,20,1,600,1,,1,540,1,1,1,6,,,,1,1,,18,1,200,9,,,,,,1,4,10200,0,4,4,4,1,5,0,,0,0,0,70,0,0,0,0,0,1,597,3,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,33,122,119,190,33,183,199,116,121,32,33,188,113,112,110,172,110,108,32,114,31,102,110,197,32,198,188,119,113,33,35,194,117,109,107,196,129,113,182,111,210,112,108,34,203,32,31,120,114,185,219,31,107,103,110,38,108,134,193,107,171,107,109,31,191,34,35,115,107,208,210,35,105,118,102,30,117,107,33 H,1143932,8,600,4,16,1015675,107,7,1,1,,5,2,2,,50,0,100,70,1,370,1,,1,1400,1,1,1,9,,,380,1,1,,20,3,400,5,2,90000,3,,,1,1,90000,1,3,3,3,1,1,4,7,0,0,4,26,0,0,1,0,0,1,1941,1,0,1,35,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,107,31,111,94,114,111,30,32,112,96,32,108,96,33,31,30,30,102,97,102,181,107,178,187,175,183,115,108,185,171,107,191,178,109,116,99,105,192,175,177,109,196,102,106,105,103,183,191,106,103,190,104,97,167,181,181,187,123,107,105,30,100,30,28,34,31,100,118,33,32,111,33,30,107,100,103,112,29,32 H,1144052,8,600,4,16,1015675,117,2,1,,,1,8,,,30,0,2,3,3,,1,,,,,,1,2,2,450,,1,3,,,2,1,5,1,46000,4,480,13,1,1,46000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,181,213,120,122,113,114,121,36,37,31,117,192,113,33,107,123,31,102,196,32,34,31,122,129,111,136,119,182,196,226,120,40,100,196,135,121,193,109,37,207,188,180,127,122,111,114,120,31,32,35,112,182,110,32,128,118,35,108,172,32,38,38,122,129,119,139,109,192,189,185,100,37,118,185,112,128,198,127,36,194 H,1144166,8,100,4,16,1015675,79,3,1,1,,4,2,1,,80,0,2,200,1,380,1,,1,1200,1,1,1,9,,,,1,1,,19,3,600,2,1,79800,2,,,1,1,79800,0,2,2,2,1,3,1,3,0,0,1,23,0,0,1,0,0,1,1530,3,0,0,34,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,26,85,162,24,162,87,64,70,88,71,76,28,115,76,69,121,148,70,92,85,88,150,86,77,82,147,22,23,24,27,166,71,78,22,113,86,85,133,30,27,24,84,108,20,108,86,84,76,78,94,56,23,150,89,81,135,162,92,69,74,95,139,77,106,86,156,25,23,26,23,129,76,78,21,124,78,78,128,24 H,1144176,8,700,4,16,1015675,225,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,263,72,71,190,271,265,60,358,65,187,402,343,367,221,68,373,258,255,236,71,405,205,209,72,67,368,202,225,249,353,227,207,220,67,230,210,357,64,404,190,253,74,74,216,232,226,58,386,70,234,364,357,369,238,64,400,213,212,251,78,406,196,215,59,70,350,203,214,245,380,210,240,235,87,242,202,409,69,454,275 H,1144197,8,800,4,16,1015675,83,2,1,1,,2,1,2,,50,0,2,100,1,,1,,,,,,1,3,2,330,,1,3,,,2,1,5,1,37500,4,480,15,1,1,37500,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,27,23,132,119,24,79,105,18,25,67,67,161,93,89,85,66,114,82,143,68,131,157,20,22,133,85,26,150,167,77,66,27,116,90,80,107,29,83,93,98,119,113,20,25,140,84,23,116,119,56,80,30,84,89,88,84,26,109,59,78,30,31,131,160,25,74,152,30,28,91,82,133,87,72,64,75,142,83,86 H,1144393,8,800,4,16,1015675,22,2,1,1,,3,2,2,,50,0,2,3,3,410,1,,2,260,2,1,1,8,,,,1,1,,14,2,700,6,2,56500,4,,,1,1,56500,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,1,2,469,3,0,1,18,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,32,28,23,7,17,36,20,16,29,24,5,9,6,26,29,22,22,26,25,10,8,8,22,48,27,7,20,27,7,24,54,34,34,22,16,22,17,21,5,39,36,38,28,5,19,35,23,22,41,21,7,7,7,19,22,28,25,23,44,7,5,5,17,33,18,6,24,28,9,20,41,47,37,23,23,22,20,23,8 H,1144400,8,800,4,16,1015675,53,4,1,2,1,3,2,2,,270,0,2,110,3,650,1,,1,1500,1,2,1,8,,,,1,1,,18,3,2,4,1,40100,2,,,2,1,40100,0,2,2,2,1,1,2,4,0,0,2,56,0,0,1,0,0,2,1880,3,0,1,32,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,52,36,44,145,119,76,47,13,56,85,54,52,92,53,15,16,15,61,77,46,28,40,118,20,15,17,52,106,36,11,49,51,24,59,58,114,114,70,15,43,61,70,67,117,119,84,46,15,43,80,53,41,77,56,15,21,20,53,82,58,38,53,77,15,13,23,51,58,40,13,41,53,19,60,104,91,116,80,19 H,1144552,8,400,4,16,1015675,58,1,1,,,2,5,,,30,0,2,1,1,,1,,,,,,1,3,2,400,,1,3,,,1,1,7,,,,430,27,1,4,19200,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,68,112,65,80,54,81,101,59,15,107,73,13,88,47,12,50,13,86,17,72,77,75,49,124,108,78,114,52,11,80,152,22,79,57,10,64,24,48,96,68,69,13,54,15,45,48,12,73,84,25,24,132,56,55,139,57,130,79,83,59,126,15,32,22,67,66,14,56,106,17,27,67,63,55,70,54,109,68,17 H,1144716,8,900,4,16,1015675,86,2,1,2,1,4,2,2,,160,0,2,3,3,470,1,,2,620,2,1,1,9,,,150,1,1,,14,2,2,5,1,38400,4,,,1,1,38400,0,4,4,4,1,6,0,2,0,0,0,32,0,0,0,0,0,1,1035,2,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,34,106,166,113,107,85,97,85,78,97,28,25,23,84,159,73,21,64,123,108,36,90,168,148,128,125,111,64,81,84,30,28,23,146,129,69,25,61,141,70,30,107,150,142,143,85,91,82,85,95,23,21,28,81,141,98,26,87,171,111,29,72,148,134,142,101,85,80,58,80,23,23,29,106,130,89,31,85,141 H,1144836,8,900,4,16,1015675,20,2,1,1,,4,2,2,,70,0,2,170,1,500,1,,,,,3,1,7,,,,1,2,,14,2,60,5,2,13800,4,,,1,1,13800,0,4,4,4,1,7,0,2,0,0,0,34,0,0,0,0,0,1,387,,0,1,24,1,6,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,18,35,26,22,26,17,5,32,26,5,20,24,5,17,5,19,21,20,5,38,23,39,19,15,31,27,5,29,39,5,20,22,5,20,7,18,20,17,7,24,16,31,19,20,31,18,6,27,30,5,22,20,7,23,6,22,19,16,5,43,20,32,15,17,36,24,7,27,29,5,21,17,5,27,6,19,20,20,6 H,1144976,8,200,4,16,1015675,73,2,1,1,,3,2,2,,60,0,2,130,8,380,1,,2,400,2,1,1,5,,,400,1,1,,5,2,2,2,,,,,,1,7,26200,0,4,4,4,1,4,0,,0,1,0,48,3,0,0,1,0,1,1041,1,0,1,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,60,65,21,88,89,131,123,21,29,105,85,24,98,135,68,67,29,110,86,74,94,92,23,66,49,139,134,22,22,132,76,22,163,135,62,76,19,58,66,72,89,77,141,89,66,20,23,146,122,18,69,123,24,26,56,73,140,67,66,110,82,72,106,81,80,25,25,101,121,23,81,127,23,19,67,61,122,103,60 H,1145522,8,300,4,16,1015675,98,2,1,1,,3,2,2,,70,0,800,30,4,220,1,,,,,3,1,8,,,,1,2,,15,2,380,7,3,33800,4,,,1,1,33800,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,1,318,,0,1,24,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,134,177,27,112,97,161,29,94,90,34,87,104,27,96,106,93,32,164,89,34,29,31,151,106,102,27,153,95,119,149,84,132,165,106,87,101,155,27,110,154,139,175,28,114,85,171,28,104,105,39,83,89,32,116,74,75,33,182,101,25,32,24,154,114,91,31,186,109,93,160,82,95,171,106,108,107,174,26,110 H,1145571,8,300,4,16,1015675,75,3,1,1,,5,2,2,,120,0,2,3,3,440,1,,,,,3,1,7,,,,1,2,,15,1,20,5,8,40800,2,,,1,3,40800,1,2,4,2,1,6,0,3,1,0,2,7,0,0,1,1,1,1,232,,0,1,19,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,20,70,24,81,74,23,83,126,24,21,119,65,67,144,76,130,66,74,156,93,21,86,20,81,80,18,91,117,26,20,106,90,68,117,53,114,75,71,20,67,149,71,119,82,67,126,75,19,121,141,24,79,60,21,93,19,78,89,24,82,133,71,106,89,82,144,76,20,110,138,20,80,65,21,71,23,75,77,137 H,1145618,8,800,4,16,1015675,17,2,1,2,1,2,1,2,,60,0,1200,30,4,0,1,120,,,,3,1,4,,,,1,2,,5,2,430,5,,,,,,1,5,46000,0,4,4,4,1,3,0,,0,1,0,6,2,0,0,0,0,1,246,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,15,16,19,23,17,30,34,34,21,5,16,29,15,19,32,21,5,5,33,35,15,17,18,18,20,7,7,5,16,31,16,5,17,15,5,17,29,29,33,27,17,19,15,13,17,6,7,5,15,28,16,5,23,18,6,16,28,32,6,5,20,19,21,17,15,37,37,27,21,5,23,29,19,17,28,20,5,6,5 H,1145716,8,800,4,16,1015675,20,3,1,1,,4,2,2,,100,0,2,200,1,1000,1,,1,900,1,1,1,9,,,,1,1,,16,4,700,5,1,289000,4,,,1,1,289000,0,4,4,4,1,3,0,3,0,0,0,5,0,0,0,0,0,1,1258,3,0,1,26,3,1,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,22,18,29,29,8,5,5,21,21,26,25,20,28,29,41,17,5,22,35,5,18,22,6,24,31,30,36,23,16,19,26,18,7,5,6,22,34,19,38,5,26,22,6,22,36,32,30,23,23,18,16,16,7,7,5,17,35,17,5,38,19,22,36,26,5,6,7,17,19,19,17,17,33,35,38,19,5,27,7 H,1145823,8,600,4,16,1015675,90,2,1,1,,4,2,2,,40,0,450,60,1,600,1,,1,670,1,1,1,8,,,,1,1,,16,2,250,5,1,116000,4,,,1,1,116000,0,4,4,4,1,5,0,2,0,0,0,9,0,0,0,0,0,1,829,3,0,1,30,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,97,86,93,92,143,140,27,144,86,87,28,25,31,105,97,165,25,86,146,26,157,132,27,25,86,87,86,78,150,26,85,79,98,171,33,101,81,159,92,87,95,82,90,91,26,29,165,26,83,90,143,142,164,92,96,25,150,91,25,161,26,26,147,160,85,93,99,79,26,163,90,79,97,29,168,96,84,27,88,95 H,1146768,8,300,4,16,1015675,75,1,1,,,2,6,,,60,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,10,5,,,,411,12,1,4,40000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,74,77,127,126,174,58,28,76,137,84,85,121,94,21,23,26,75,62,72,20,72,74,125,121,127,67,23,73,114,71,72,122,74,16,30,20,65,63,86,26,70,64,158,119,120,61,28,73,119,89,77,144,80,18,25,23,65,76,91,26,62,71,153,97,124,66,25,71,110,83,84,141,81,18,24,22,65,75,73,24 H,1146896,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1147038,8,400,4,16,1015675,88,1,1,1,,2,1,2,,30,0,180,20,6,380,1,40,,,,3,1,5,,,,1,2,,3,2,330,5,,,,,,1,4,15160,0,4,4,4,1,5,0,,0,0,0,11,0,0,0,0,0,1,137,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,139,116,35,72,129,100,165,242,22,89,25,53,105,20,103,34,135,238,70,84,96,93,137,130,25,68,29,28,120,109,101,74,106,116,110,136,24,47,73,80,101,115,21,105,192,57,169,195,19,103,41,64,81,27,94,35,173,174,71,92,113,79,141,96,33,107,26,28,131,78,149,74,87,117,93,105,26,58,71 H,1147215,8,900,4,16,1015675,77,2,1,,,1,4,,,20,0,2,20,3,,1,,,,,,1,3,2,350,,2,3,,,2,10,5,2,23800,4,391,20,1,1,23800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,89,62,75,117,70,101,25,26,129,115,11,79,137,24,34,72,73,112,73,97,67,74,66,33,95,59,138,174,18,20,154,79,22,116,109,81,77,35,117,80,58,61,102,117,78,91,18,25,132,99,25,114,149,24,23,78,83,125,77,70,78,78,85,25,57,78,153,93,18,30,159,65,24,131,157,110,63,19,87 H,1147233,8,900,4,16,1015675,71,2,1,1,,2,2,2,,80,0,10,440,2,,1,,,,,,1,4,2,300,,1,3,,,3,1,5,7,90200,4,821,11,1,3,90200,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,127,75,90,72,21,35,65,16,114,18,88,74,112,111,76,69,82,78,60,112,55,21,159,124,73,91,18,62,57,52,103,30,73,75,85,140,23,20,82,91,73,29,116,125,78,58,20,76,67,67,73,25,72,94,116,93,25,20,29,78,127,65,64,64,19,21,75,26,87,27,101,56,121,141,102,69,58,62,20 H,1147280,8,400,4,16,1015675,153,2,1,2,1,3,2,2,,80,0,600,3,6,960,1,,1,830,1,1,1,5,,,,1,1,,15,4,2,5,2,45100,4,,,1,1,45100,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,1,960,3,0,1,12,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,128,250,187,202,346,153,45,71,58,117,162,204,132,124,258,238,227,172,300,227,166,46,121,130,56,185,233,216,192,205,125,90,154,186,39,40,56,162,42,38,108,221,158,157,255,133,43,53,55,123,138,185,117,116,295,250,294,196,299,229,180,50,156,169,46,214,382,265,274,164,116,134,194,158,47,50,45,142,75 H,1147320,8,300,4,16,1015675,95,1,1,2,1,2,2,2,,60,0,2,50,1,800,1,,1,300,1,1,1,4,,,,1,1,,8,1,420,7,,,,,,1,6,22000,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,0,0,2,445,3,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,155,31,99,105,163,88,113,25,106,90,163,26,35,109,23,101,145,87,116,178,82,91,140,29,102,28,27,103,31,152,85,105,79,137,91,28,86,147,25,86,35,154,104,95,30,100,95,144,83,89,33,162,152,98,185,93,30,100,99,28,94,99,22,166,94,172,151,96,159,29,78,100,81,25,105,157,93,33,182 H,1147539,8,100,4,16,1015675,73,2,1,1,,2,2,2,,50,0,2,90,1,280,1,,1,810,1,1,1,5,,,,1,1,,18,2,40,2,2,51000,4,,,1,1,51000,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,0,0,1,953,3,0,1,21,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,23,81,68,67,19,64,117,86,24,24,65,79,26,111,70,137,120,64,70,127,25,80,70,66,21,66,133,79,23,22,60,66,27,125,70,126,134,70,70,113,22,64,73,68,22,76,132,80,22,22,68,66,18,119,89,135,117,65,69,117,20,67,85,70,20,84,138,82,24,21,77,78,19,136,76,128,125,61,66 H,1147769,8,200,4,16,1015675,186,2,1,1,,2,2,1,,40,0,450,3,4,650,1,,,,,3,1,5,,,,1,2,,13,2,720,7,3,81000,4,,,1,1,81000,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,1,1,2,232,,0,0,11,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,164,184,192,227,60,58,58,172,317,140,57,206,179,56,214,364,290,320,216,170,235,180,155,203,58,57,62,163,284,226,63,180,181,52,224,370,314,262,52,228,204,186,243,182,287,306,255,159,58,202,311,158,167,305,181,55,63,67,70,139,215,158,186,193,311,277,244,222,40,166,351,208,218,310,181,45,59,61,281 H,1148125,8,200,4,16,1015675,12,1,1,1,,2,1,2,,160,0,2,2,1,,1,,,,,,1,4,2,380,,1,3,,,0,1,6,,,,540,65,1,6,10000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,5,4,21,16,11,27,17,4,12,3,3,22,16,27,12,12,23,13,12,27,3,2,16,16,12,20,14,3,17,4,3,23,16,36,14,12,18,14,21,3,22,19,17,19,13,5,12,19,17,16,21,3,15,5,12,11,4,12,11,5,31,24,14,13,10,6,13,20,14,23,20,3,12,5,15,13,5,13,14 H,1148374,8,200,4,16,1015675,43,2,1,3,1,3,2,1,,140,0,2,10,6,600,1,,1,1500,1,1,1,9,,,650,1,1,,20,3,180,4,1,59000,4,,,1,1,59000,0,4,4,4,1,5,0,2,0,0,0,47,0,0,0,0,0,2,2315,2,0,0,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,47,49,77,39,43,41,41,81,50,35,10,10,56,64,14,43,75,12,49,67,37,37,13,40,35,36,45,13,53,44,68,74,19,18,71,46,15,70,43,10,51,44,81,33,35,41,48,85,41,42,10,12,62,63,17,45,72,9,45,64,39,38,12,52,49,42,46,13,48,39,79,80,14,14,73,47,14,67,36 H,1148572,8,300,4,16,1015675,39,0,1,3,,0,2,2,,,,,,,,2,,,,,,2,1,,,,,,4,24,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,37,33,38,75,42,40,11,15,70,68,12,37,63,12,12,47,40,65,35,42,38,32,39,11,36,36,54,70,10,11,67,40,13,58,80,49,41,13,41,34,36,38,39,11,35,34,67,62,11,10,69,45,12,73,67,36,48,12,36,43,40,41,39,67,42,33,12,11,70,59,11,43,70,13,10,38,32,73,41 H,1148770,8,600,4,16,1015675,135,2,1,1,,3,2,2,,90,0,2,80,1,420,1,,2,970,2,1,1,7,,,,1,1,,19,3,100,5,2,72600,4,,,1,1,72600,0,4,4,4,1,6,0,2,0,0,0,22,0,0,0,2,2,1,1333,3,0,1,30,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,229,128,235,205,140,138,136,121,272,131,212,132,228,214,233,228,153,142,129,43,36,143,38,42,135,131,122,137,41,118,49,147,39,43,37,43,142,151,151,39,45,135,39,35,118,141,128,161,35,141,38,143,41,39,45,40,138,129,138,227,244,142,223,224,125,135,135,134,213,121,249,133,225,216,228,238,152,132,134 H,1149042,8,800,4,16,1015675,52,1,1,,,2,4,,,110,0,2,270,3,,1,,,,,,1,4,2,390,,1,3,,,1,2,5,,,,770,68,1,4,13600,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,99,43,72,75,54,50,50,61,90,54,88,70,103,82,98,97,51,55,57,17,14,61,15,17,51,48,46,48,19,55,14,59,18,18,17,14,43,51,55,103,91,46,84,95,52,55,53,55,82,53,98,63,94,79,107,94,53,67,53,17,18,55,13,13,57,51,49,48,12,47,16,74,17,15,14,15,48,43,49 H,1149190,8,500,4,16,1015675,111,1,1,1,,2,2,2,,50,120,1300,3,4,340,1,,,,,3,1,4,,,,1,2,,15,2,170,9,,,,,,1,4,8580,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,0,0,1,200,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,42,201,199,35,105,104,32,122,32,138,105,103,195,90,185,91,105,202,37,114,32,206,182,32,121,113,31,103,36,116,102,119,202,116,197,104,108,179,230,103,184,33,34,180,115,132,146,108,210,103,108,109,32,141,30,95,121,35,214,107,206,34,34,184,103,116,190,103,172,124,107,101,32,89,29,121,137,33,28 H,1149235,8,700,4,16,1015675,111,3,1,1,,3,2,2,,100,0,2,200,1,80,1,,2,1000,2,1,1,8,,,,1,1,,18,3,480,3,2,38500,1,,,1,1,38500,0,1,1,1,1,3,1,3,0,0,1,48,0,0,1,0,0,2,1555,3,0,1,37,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,0,0,31,131,106,44,123,30,187,163,104,91,125,37,86,212,106,209,192,32,166,134,166,93,137,150,90,183,47,38,108,108,108,146,124,38,120,37,35,209,120,117,39,94,113,29,125,37,202,181,144,128,115,26,170,173,100,169,139,37,107,109,230,133,125,248,132,146,26,30,101,123,101,247,100,30,128,30,40,173,95,94 H,1150537,8,200,4,16,1015675,22,1,1,1,,2,2,2,,30,0,700,3,4,500,1,,,,,3,1,5,,,,1,2,,9,3,430,9,,,,,,1,4,13400,0,4,4,4,1,7,0,,0,0,0,16,0,0,0,1,1,2,181,,0,1,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,39,20,40,21,20,34,20,33,7,5,20,22,25,38,16,5,23,5,27,34,7,24,5,25,29,5,24,7,31,30,24,18,23,7,20,34,22,40,20,5,37,18,33,22,21,30,19,37,6,7,21,23,23,36,21,7,18,7,22,40,8,23,5,19,31,7,20,6,37,30,24,22,22,7,21,35,24,33,20 H,1150801,8,900,4,16,1015675,82,2,1,1,,4,2,2,,70,0,2,50,1,360,1,,1,760,1,1,1,8,,,,1,1,,19,3,1100,2,3,53600,4,,,1,1,53600,0,4,4,4,1,2,0,2,0,0,0,22,0,0,0,1,0,1,972,3,0,1,50,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,138,76,88,90,93,79,24,21,24,83,136,79,27,75,76,21,83,167,144,139,132,75,83,72,85,93,22,30,21,82,129,78,21,83,90,23,77,132,157,121,161,87,88,84,86,84,21,25,22,79,142,67,22,86,100,25,69,135,157,142,130,76,80,73,72,83,24,27,25,75,143,81,22,88,89,25,87,117,155 H,1150819,8,700,4,16,1015675,25,4,1,1,,3,2,2,,120,0,2,3,6,260,1,,1,700,1,1,1,5,,,200,1,1,,16,2,420,2,1,62600,2,,,1,1,62600,0,2,2,2,1,4,2,4,0,0,2,20,0,0,1,0,0,2,1055,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,39,23,23,8,28,7,8,43,40,23,28,25,25,7,44,26,23,25,8,44,40,24,26,7,23,5,6,40,44,25,23,21,23,7,49,25,22,25,6,38,44,25,25,8,25,8,7,43,41,26,23,27,29,7,34,21,23,23,7,45,46,26,25,8,23,7,8,44,38,27,23,23,27,8,39,24,27,26,7,49 H,1150865,8,600,4,16,1015675,124,3,1,1,,3,3,2,,30,0,2,3,3,,1,,,,,,1,5,2,700,,1,3,,,1,1,6,7,37300,2,730,23,1,3,37300,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,124,130,221,122,221,123,113,143,33,133,39,125,122,34,125,214,35,35,36,36,136,113,37,130,37,113,122,132,218,125,202,119,125,222,140,37,199,190,207,195,116,122,209,116,202,132,120,132,36,112,37,125,126,38,135,203,35,37,38,39,121,124,38,123,37,123,118,123,218,130,206,108,130,228,114,42,204,214,194 H,1151002,8,100,4,16,1015675,77,2,1,1,,3,1,2,,70,0,270,3,6,360,1,0,,,,3,1,5,,,,1,2,,4,1,300,4,8,21500,4,,,1,3,21500,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,2,1,1,159,,0,0,4,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,22,21,24,88,133,67,20,103,86,28,76,149,118,125,103,79,87,77,23,90,132,117,127,97,28,81,139,85,70,110,81,19,17,25,85,84,69,66,21,79,116,118,139,84,27,74,112,69,80,167,85,26,21,20,91,84,81,90,120,122,23,26,26,62,119,75,21,74,86,29,74,102,115,142,88,95,59,67,133 H,1151306,8,200,4,16,1015675,73,3,1,1,,5,2,2,,160,0,2,3,6,0,1,,1,490,2,2,1,7,,,,1,1,,14,4,380,4,5,75000,4,,,5,2,75000,0,4,4,4,1,6,0,3,0,0,0,11,0,0,0,0,0,2,682,3,0,1,1,3,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,23,66,74,113,64,62,88,63,109,86,47,30,30,78,137,28,62,178,36,56,117,71,82,16,73,70,72,82,29,79,109,151,77,27,39,92,61,29,168,88,29,78,76,117,68,74,60,57,141,81,57,31,32,103,147,36,55,122,24,50,115,54,89,26,63,68,76,84,22,73,92,125,87,27,42,96,72,24,118,74 H,1151322,8,500,4,16,1015675,175,2,1,1,,3,2,2,,70,400,2,200,1,,1,,,,,,1,5,2,700,,1,3,,,1,1,3,1,26500,4,970,44,2,1,26500,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,277,149,189,193,160,51,282,253,46,172,215,56,171,49,191,193,195,296,217,324,74,230,191,82,158,281,62,60,200,132,221,209,183,280,162,135,166,78,213,250,57,157,196,42,166,238,61,60,246,172,222,254,157,227,184,184,190,78,237,87,257,200,160,298,183,75,252,234,54,133,232,48,172,57,184,143,177,325,211,61 H,1151330,8,300,4,16,1015675,34,3,1,2,1,4,2,2,,160,0,2,3,3,800,1,,2,510,2,1,1,9,,,540,1,1,,16,2,2,6,1,54010,2,,,1,1,54010,0,2,2,2,1,5,1,3,0,0,1,31,0,0,1,0,0,1,1377,2,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,10,43,10,37,38,10,31,8,56,50,29,33,32,11,33,56,38,58,58,32,59,26,55,38,33,56,42,47,9,10,39,31,33,56,41,10,30,13,10,31,11,34,9,35,37,10,29,12,55,58,31,36,29,10,41,61,39,54,51,37,63,36,54,30,35,66,34,64,10,7,39,30,38,58,30,11,32,9,11,36 H,1151441,8,100,4,16,1015675,77,2,1,1,,3,2,2,,40,0,2,3,1,,1,,,,,,1,5,2,900,,1,3,,,1,1,2,4,15900,4,940,71,1,1,15900,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,87,22,24,84,123,56,147,30,159,59,113,76,19,22,105,129,66,75,33,132,26,95,88,19,59,23,76,76,94,110,79,129,75,79,149,73,23,120,74,81,77,120,139,63,26,76,17,125,23,84,24,76,155,121,69,24,84,80,114,25,156,66,103,151,90,148,86,89,86,25,81,26,76,63,24,62,136,20,83 H,1151444,8,100,4,16,1015675,147,2,1,1,,2,2,2,,100,0,2,2,2,420,1,,1,1600,1,1,1,4,,,,1,1,,18,1,600,3,7,36200,2,,,1,3,36200,0,2,2,2,1,1,1,2,0,0,1,58,0,0,1,0,0,1,1750,3,0,1,16,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,43,172,237,40,46,172,144,235,171,163,126,118,283,164,145,48,30,209,160,219,45,168,218,42,43,130,120,182,179,169,224,165,235,163,145,57,41,227,152,45,253,101,37,248,247,148,185,45,114,163,110,131,52,201,140,178,302,48,184,51,230,135,37,265,334,120,151,70,148,157,125,186,44,120,149,206,248,45,173 H,1151647,8,300,4,16,1015675,171,3,1,2,1,3,2,2,,50,0,400,3,4,700,1,,,,,3,1,5,,,,1,2,,12,2,300,9,8,19200,4,,,1,3,19200,0,4,4,4,1,7,0,3,0,0,0,15,0,0,0,1,1,1,237,,0,1,18,1,15,15,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,161,49,178,158,49,194,248,293,265,148,164,163,188,223,50,49,61,164,240,269,168,44,184,210,50,163,293,269,290,173,209,157,179,157,69,57,54,187,220,44,142,249,168,148,304,159,54,54,44,173,187,163,173,179,318,284,328,177,48,48,171,316,171,194,274,156,50,58,42,141,182,144,170,205,258,373,340,162,65,292 H,1151650,8,100,4,16,1015675,71,3,1,3,1,4,2,1,,50,0,2,3,3,460,1,,,,,3,1,5,,,,1,2,,20,2,420,3,2,40000,4,,,2,1,40000,0,4,4,4,1,5,0,3,0,0,0,5,0,0,0,0,0,1,173,,0,0,14,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,25,93,91,72,74,19,66,17,72,20,25,22,17,64,56,17,26,71,118,59,66,135,113,158,105,98,127,71,113,56,78,66,82,141,110,71,60,136,64,131,115,73,99,53,68,109,84,102,88,156,105,112,133,57,94,116,89,55,18,87,71,16,14,24,24,61,19,86,20,74,69,81,62,22,25,90,73,23,85 H,1151681,8,400,4,16,1015675,34,4,1,1,,3,2,2,,80,0,2,3,3,720,1,,1,730,1,1,1,5,,,,1,1,,14,3,600,2,1,35800,2,,,2,1,35800,0,2,2,2,1,4,2,4,0,0,2,29,0,0,1,0,0,2,860,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,32,14,12,10,54,38,22,42,51,54,66,73,29,10,35,40,29,23,75,10,31,53,72,40,34,37,30,38,45,10,10,13,29,52,39,12,26,21,49,13,35,60,92,54,36,28,32,56,37,9,9,11,24,38,23,10,42,36,8,64,39,10,8,10,29,27,29,46,36,41,57,56,23,10,44,66,48,42,9 H,1151875,8,600,4,16,1015675,87,1,1,1,,3,2,2,,20,0,450,70,1,360,1,,,,,3,1,6,,,,1,2,,15,1,650,5,,,,,,1,4,31700,0,4,4,4,1,6,0,,0,0,0,12,0,0,0,1,1,1,314,,0,1,24,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,164,93,135,82,93,27,94,26,88,26,97,79,134,87,85,140,25,23,25,86,99,27,84,144,25,81,27,85,164,87,144,24,87,148,134,78,89,78,74,137,154,91,139,89,93,26,87,27,98,26,86,79,148,83,81,163,30,27,25,93,72,25,79,133,22,83,26,89,143,81,140,28,89,156,144,85,87,97,90 H,1152851,8,500,4,16,1015675,98,1,1,1,,3,2,2,,30,0,2,190,1,740,1,,,,,3,1,8,,,,1,2,,17,1,380,6,,,,,,1,6,66700,0,4,4,4,1,6,0,,0,0,0,8,0,0,0,1,1,1,422,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,33,97,104,29,91,170,161,152,101,95,112,90,92,26,33,29,102,192,35,88,154,100,94,155,101,29,26,28,94,94,102,102,92,177,172,148,93,30,28,100,177,89,96,179,90,29,28,31,107,111,100,93,96,149,153,153,97,28,162,106,28,109,108,33,92,152,170,142,99,97,103,81,91,30,28,27,91,150,170 H,1153014,8,100,4,16,1015675,97,4,1,1,,4,2,2,,50,0,2,60,1,360,1,,1,1300,1,1,1,7,,,380,1,1,,19,2,580,2,1,82050,2,,,1,1,82050,0,3,1,3,1,2,1,4,0,0,2,27,0,0,1,0,0,1,1838,2,0,1,40,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,161,109,107,27,111,105,112,111,31,105,103,152,164,27,32,171,93,29,81,159,152,95,93,26,85,100,95,100,31,100,96,157,168,29,30,175,106,27,85,167,181,79,112,27,92,106,84,95,26,94,128,163,156,26,27,197,91,30,110,166,146,112,107,29,96,97,100,84,28,113,104,194,175,36,28,171,88,23,85 H,1153117,8,900,4,16,1015675,156,2,1,,,2,5,,,70,260,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,1,1,5,7,16200,1,370,27,1,3,16200,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,164,51,256,183,143,139,46,194,142,133,46,160,48,50,214,262,193,160,252,221,160,46,317,145,133,179,53,259,155,148,51,168,50,50,258,213,147,198,251,153,149,39,223,160,177,142,44,219,180,182,49,137,55,50,217,254,167,157,308,173,157,52,278,128,146,169,53,263,203,139,50,175,57,47,212,204,138,148,212 H,1153370,8,500,4,16,1015675,113,4,1,1,,3,2,2,,40,0,2,130,1,280,1,,1,830,1,1,1,5,,,,1,1,,16,1,40,1,2,55600,1,,,1,1,55600,0,1,1,1,1,1,2,4,0,0,2,22,0,0,1,0,0,1,1003,3,0,1,14,1,3,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,28,205,224,147,104,109,36,114,186,113,219,200,30,109,31,117,108,34,111,108,174,33,31,139,130,103,172,126,42,104,34,32,153,105,178,103,116,175,122,91,33,160,166,108,107,115,36,120,162,117,195,199,36,111,34,120,108,30,112,121,205,35,34,103,122,132,188,111,32,120,34,36,179,117,227,129,91,187,117 H,1153568,8,900,4,16,1015675,129,2,1,1,,3,2,2,,130,0,1000,3,4,,1,,,,,,1,6,2,780,,2,3,,,2,720,8,1,73500,4,1053,17,1,1,73500,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,124,119,112,213,209,154,238,43,209,45,152,42,35,123,129,126,147,150,116,124,205,36,37,138,123,230,110,129,137,124,211,119,155,35,35,220,225,43,36,207,125,141,119,38,42,148,39,272,39,219,115,249,283,118,121,124,132,130,110,157,30,228,233,127,110,31,112,113,143,134,44,122,135,233,221,46,44,201,228 H,1153599,8,600,4,16,1015675,130,2,1,1,,3,2,2,,30,0,2,60,1,340,1,,1,1000,1,1,1,6,,,,1,1,,18,1,410,3,7,36400,2,,,1,3,36400,0,2,2,2,1,3,1,2,0,0,1,37,0,0,1,0,0,1,1124,3,0,1,24,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,139,217,38,132,146,127,39,121,201,125,40,35,123,146,39,222,133,220,139,40,139,35,228,140,120,110,223,125,40,136,200,201,119,140,216,35,120,37,110,197,123,242,39,136,130,130,37,125,249,118,39,35,130,133,39,237,127,233,128,40,118,44,208,134,129,116,254,120,36,126,204,245,129,134,216,35,122,41,143 H,1153615,8,100,4,16,1015675,30,2,1,2,6,3,2,2,,140,0,850,3,4,650,1,,,,,3,1,7,,,,1,2,,18,2,2,9,1,102500,4,,,1,1,102500,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,0,0,1,358,,0,1,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,9,38,29,7,31,54,11,10,48,30,21,50,29,43,27,28,30,11,9,35,65,39,35,51,34,10,55,54,10,26,31,10,39,9,35,35,35,67,49,35,10,32,29,14,37,49,11,10,54,33,27,44,32,47,30,39,36,11,9,31,54,32,29,58,37,9,52,53,8,22,31,10,34,8,25,37,32,60,47 H,1153862,8,100,4,16,1015675,15,2,1,1,,2,2,2,,30,0,2,3,6,170,1,,2,80,2,1,1,4,,,,1,1,,11,2,700,9,4,17900,4,,,1,1,17900,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,1,1,1,233,3,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,7,13,2,18,15,13,30,12,25,10,13,23,10,5,27,23,4,26,17,19,27,15,29,15,12,18,5,14,4,17,17,5,15,23,5,5,32,3,17,18,5,14,5,15,14,15,28,11,20,17,14,26,15,5,36,30,5,29,16,20,25,12,23,13,15,16,5,16,4,17,15,5,18,22,5,4,27,3 H,1154030,8,700,4,16,1015675,114,5,1,1,,5,2,2,,90,0,2,10,1,500,1,,2,790,2,1,1,9,,,700,1,1,,20,3,500,5,1,56000,2,,,1,1,56000,0,2,2,2,1,3,3,5,0,0,3,39,0,0,1,0,0,1,1807,1,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,177,216,204,189,35,112,118,209,37,106,114,33,111,118,33,101,115,113,112,33,190,183,193,199,33,122,110,221,33,117,118,33,114,107,32,116,136,117,111,206,38,32,33,35,191,112,109,36,204,109,129,180,113,106,187,124,110,139,116,181,31,30,34,34,186,118,117,33,189,123,122,201,110,123,189,110,120,103,117 H,1154327,8,300,4,16,1015675,83,3,1,1,,2,2,2,,90,0,2,3,3,310,1,,1,450,1,1,1,4,,,,1,1,,12,2,370,9,2,23000,1,,,1,1,23000,0,1,1,1,1,4,1,3,0,0,1,30,0,0,1,0,0,1,571,3,0,1,16,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,153,128,75,21,149,23,98,95,79,108,60,75,151,20,91,72,29,26,67,129,97,69,120,70,94,85,154,27,34,25,26,115,121,76,25,149,76,64,22,86,25,25,98,121,26,92,66,87,79,100,94,68,23,173,95,102,163,110,85,29,95,96,27,64,97,74,26,127,136,210,160,20,60,89,131,21,119,71,175 H,1154544,8,600,4,16,1015675,132,1,1,1,,2,3,2,,20,0,2,3,8,,1,,,,,,1,5,2,500,,1,3,,,0,1,9,,,,520,89,1,6,7000,0,4,4,4,1,7,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,39,125,136,148,178,123,129,45,254,42,39,161,145,204,207,36,105,136,130,234,132,40,54,36,133,200,33,117,126,146,141,196,224,144,139,119,209,48,41,159,217,130,145,140,33,119,124,259,50,208,200,142,141,39,36,215,96,117,123,49,141,191,278,209,134,35,186,137,133,130,148,38,51,142,136,113,39,241,186 H,1154580,8,200,4,16,1015675,21,2,1,1,,4,2,2,,100,0,500,3,6,580,1,,,,,3,1,5,,,,1,2,,9,1,480,7,8,6900,4,,,1,3,6900,0,4,4,4,1,5,0,2,0,0,0,47,0,0,0,1,1,2,269,,0,1,11,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,23,16,26,21,7,23,7,5,32,21,33,21,19,32,22,32,7,9,29,19,19,20,5,23,31,18,33,35,8,26,7,17,21,7,21,5,43,33,15,18,19,24,35,24,7,23,7,7,38,22,31,21,22,38,19,27,7,6,20,27,30,22,5,21,40,21,31,36,5,17,6,23,21,7,21,3,24,32,27,18 H,1154733,8,800,4,16,1015675,17,1,1,1,,3,2,2,,100,0,30,3,3,300,1,,,,,3,1,5,,,,1,2,,8,1,870,6,,,,,,1,6,29200,0,4,4,4,1,7,0,,0,0,0,10,0,0,0,1,1,2,243,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,24,26,19,27,17,5,27,26,15,17,20,12,5,5,8,17,22,24,33,11,28,5,1,7,20,42,36,6,15,17,3,12,42,30,50,19,19,31,7,13,12,44,37,40,23,5,17,35,30,18,39,20,1,5,4,22,22,13,20,14,8,10,7,5,23,28,12,4,28,16,9,33,23,27,23,22,17,13,5 H,1155105,8,400,4,16,1015675,55,2,1,1,,2,1,2,,40,0,2,150,2,,1,,,,,,1,4,,,,1,4,,,2,650,5,,,,,,1,5,30000,0,4,4,4,1,4,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,18,14,19,62,100,62,17,84,76,24,51,60,58,99,61,50,48,73,73,44,20,10,11,53,83,71,13,42,98,29,78,130,130,96,39,49,64,59,23,54,89,119,90,46,23,92,95,45,58,64,42,15,16,13,60,74,71,69,14,32,97,100,101,39,16,84,71,65,72,88,73,13,24,21,36,31,73,63,99 H,1155288,8,300,4,16,1015675,60,6,1,3,5,5,2,2,,60,0,2,30,2,400,1,,,,,3,1,6,,,,1,2,,22,3,2,2,1,257000,3,,,2,1,257000,0,3,3,3,1,3,4,6,0,0,4,1,0,0,1,0,0,1,123,,0,0,1,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,61,59,17,65,69,109,126,17,18,90,59,18,99,109,59,62,18,53,58,63,54,62,18,60,59,112,96,16,20,116,62,18,95,104,68,72,17,50,63,56,57,57,16,70,59,89,98,16,18,93,58,16,102,125,59,60,18,62,80,60,50,61,21,69,59,97,99,22,17,101,59,20,104,111,62,54,18,64,58 H,1155498,8,100,4,16,1015675,90,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,156,162,165,87,94,93,75,94,31,30,35,85,137,89,31,88,114,34,33,85,27,22,20,91,76,81,110,111,145,138,162,89,25,108,179,81,84,170,155,137,187,167,159,94,82,97,111,90,20,31,25,89,136,102,24,80,118,27,25,86,25,32,25,83,109,92,102,83,145,165,157,107,24,73,126,107,79,142,145 H,1155550,8,200,4,16,1015675,126,2,1,1,,2,3,2,90,40,0,2,10,1,160,1,,,,,3,1,4,,,,1,2,,12,1,1,4,4,175800,4,,,1,1,175800,0,4,4,4,1,3,0,2,0,0,0,2,0,0,0,2,2,1,253,,0,1,23,0,9,9,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,208,119,175,130,46,102,204,112,184,171,47,113,29,120,100,42,160,34,113,38,59,133,115,133,210,120,40,133,40,43,176,141,254,129,150,187,135,259,108,28,37,113,153,137,195,166,38,135,48,33,205,142,255,120,146,288,103,169,114,208,209,137,137,117,34,100,227,129,165,202,39,118,46,128,128,39,124,47,108 H,1155614,8,300,4,16,1015675,35,3,1,1,,3,1,2,,80,0,2,50,2,600,1,0,1,800,1,1,1,5,,,,1,1,,14,3,2,2,1,30500,2,,,1,1,30500,0,2,2,2,1,4,1,3,0,0,1,37,0,0,1,0,0,2,930,3,0,0,22,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,28,10,43,10,72,57,37,34,28,11,46,60,32,53,52,13,35,6,33,48,26,10,36,10,65,51,39,42,30,15,33,61,39,60,52,15,35,7,34,29,30,10,29,10,47,69,43,38,36,8,29,64,41,51,48,12,43,15,34,32,40,12,31,8,53,60,31,29,23,8,44,64,35,56,55,8,36,21,40,35 H,1155984,8,700,4,16,1015675,115,2,1,2,2,4,2,2,,150,0,2,150,1,450,1,,,,,3,1,7,,,,1,2,,21,6,40,2,1,43000,4,,,1,1,43000,0,4,4,4,1,2,0,2,0,0,0,18,0,0,0,0,0,1,641,,0,1,48,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,194,123,36,111,33,201,104,34,34,104,114,123,116,112,190,117,36,196,30,120,34,108,203,117,201,36,108,216,199,117,111,117,119,106,32,116,206,33,191,117,214,113,36,114,33,184,112,37,36,108,117,111,114,101,185,128,35,216,30,119,30,117,178,122,191,33,116,202,188,110,121,118,113,113,30,123,195,32,176 H,1156313,8,900,4,16,1015675,43,4,1,1,,3,2,2,,50,0,2,3,3,240,1,,1,600,1,1,1,7,,,,1,1,,12,2,600,5,1,42500,1,,,1,1,42500,0,1,1,1,1,3,2,4,0,0,2,20,0,0,1,0,0,1,700,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,15,14,33,70,40,9,52,45,8,51,76,78,74,42,44,36,42,59,18,83,16,13,36,66,43,10,36,45,13,61,104,98,63,38,48,34,31,40,13,13,71,57,36,15,43,70,57,38,48,42,11,14,15,48,50,43,57,72,103,10,78,58,42,15,50,63,33,41,77,38,14,15,14,42,37,38,43,45,80,92 H,1156333,8,900,4,16,1015675,74,5,1,1,,3,1,2,,90,3600,1300,60,1,0,1,3500,,,,3,1,5,,,,2,2,,1,2,350,6,2,15300,2,,,1,1,15300,0,2,2,2,1,4,3,5,0,0,3,46,0,0,1,0,0,1,587,,0,0,3,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,25,83,116,24,115,77,66,75,89,70,75,25,122,78,76,121,135,85,83,67,76,138,65,89,83,121,22,21,25,22,118,81,71,20,116,82,74,171,20,23,20,85,115,21,122,82,77,73,70,78,63,22,110,74,76,124,137,75,79,68,76,123,73,99,81,148,26,23,23,23,151,71,72,22,127,87,80,151,22 H,1156778,8,300,4,16,1015675,52,2,1,1,,5,2,1,,130,0,1500,3,8,,1,,,,,,1,9,2,750,,1,3,,,2,1,5,1,22004,4,1005,55,1,1,22004,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,45,48,51,51,52,22,19,13,65,86,52,16,65,41,15,56,91,92,71,21,56,63,52,46,52,81,69,77,60,19,54,95,56,44,69,55,15,15,23,15,43,49,55,68,49,92,94,93,45,22,53,85,56,51,62,52,16,18,16,82,54,60,48,48,54,15,15,13,38,91,52,15,62,44,16,64,84,102,94,69 H,1156899,8,100,4,16,1015675,81,2,1,1,,3,2,2,,60,0,2,150,1,270,1,,1,980,1,1,1,6,,,,1,1,,19,2,40,2,1,49450,4,,,1,1,49450,0,4,4,4,1,3,0,2,0,0,0,29,0,0,0,0,0,1,1193,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,83,24,85,31,26,24,29,87,93,23,24,74,27,25,85,92,74,82,141,74,145,66,132,90,85,84,82,121,145,74,85,139,75,92,129,131,117,128,88,25,92,20,77,22,25,23,25,80,84,26,24,78,22,25,86,68,79,80,156,84,136,84,142,80,81,70,106,142,141,88,74,142,91,91,146,141,143,140,88 H,1156902,8,600,4,16,1015675,130,3,1,1,,3,2,2,,90,0,2,80,1,700,1,,1,1900,1,1,1,6,,,,1,1,,21,3,1200,3,1,170500,4,,,1,1,170500,0,4,4,4,1,5,0,3,0,0,0,15,0,0,0,0,0,1,2170,3,0,1,64,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,39,36,127,118,128,130,127,241,195,231,132,37,133,221,130,127,219,122,251,225,248,231,134,135,127,123,137,37,38,42,131,211,127,40,139,135,38,121,216,210,196,223,131,141,131,142,142,39,36,39,136,230,143,44,139,132,37,132,40,40,37,37,135,129,143,116,112,221,217,217,116,33,134,222,121,135,199,140,34 H,1156976,8,100,4,16,1015675,154,2,1,3,6,3,2,1,,170,0,1800,80,2,1400,1,,,,,3,1,7,,,,1,2,,19,2,2,4,4,30801,4,,,1,1,30801,0,4,4,4,1,6,0,2,0,0,0,24,0,0,0,2,2,1,609,,0,0,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,47,48,288,155,51,231,187,162,166,49,112,126,152,139,39,158,140,196,250,200,42,54,299,164,40,230,340,163,159,63,131,130,165,114,41,216,151,334,281,149,249,268,35,158,212,46,40,126,121,201,149,185,156,142,251,142,189,59,43,133,237,281,43,172,321,59,61,164,155,322,230,143,165,143,214,123,105,60,48,161 H,1157026,8,300,4,16,1015675,28,2,1,1,,4,2,2,,30,0,2,50,1,900,1,,1,950,1,1,1,8,,,,1,1,,16,3,420,3,1,45000,4,,,1,1,45000,0,4,4,4,1,1,0,2,0,0,0,28,0,0,0,0,0,1,1065,3,0,1,6,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,32,43,25,7,34,29,40,34,12,33,18,42,42,5,10,50,22,9,22,39,44,42,27,10,33,38,64,37,12,20,17,38,56,10,9,47,20,8,33,8,8,32,38,42,25,39,30,28,46,34,41,10,10,60,35,8,42,37,24,11,10,20,23,53,40,22,21,31,33,32,27,11,7,40,39,9,45,44,31 H,1157138,8,100,4,16,1015675,120,1,1,2,1,1,2,2,,50,0,2,3,6,450,1,,,,,3,1,2,,,,1,2,,12,1,2,2,,,,,,1,4,16150,0,4,4,4,1,3,0,,0,0,0,11,0,0,0,1,0,2,146,,0,1,16,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,149,35,117,119,111,37,120,38,200,133,179,107,126,118,186,189,36,120,113,117,179,115,193,204,36,125,38,136,114,32,142,39,240,223,117,112,112,32,33,190,135,44,124,133,114,37,119,43,194,101,175,124,125,102,213,220,32,126,128,104,195,109,215,204,35,120,33,124,111,31,124,43,208,209,122,105,134,33,32 H,1157354,8,600,4,16,1015675,107,2,1,1,,3,2,2,,30,0,830,80,1,250,1,,,,,3,1,5,,,,1,2,,14,2,220,3,4,179100,4,,,1,1,179100,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,2,2,1,320,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,115,193,178,28,190,111,112,34,35,30,112,102,153,31,108,160,94,97,30,30,37,123,99,108,112,185,34,108,119,104,186,32,100,109,186,96,177,190,108,97,103,34,29,190,32,113,115,188,184,184,105,99,31,187,101,32,128,121,176,180,165,96,97,105,109,30,162,116,111,102,32,202,110,114,32,103,32,30,104 H,1157400,8,100,4,16,1015675,134,4,1,2,1,3,2,2,,50,0,2,160,2,180,1,,1,1400,1,1,1,7,,,,1,1,,20,3,2,2,1,105000,3,,,1,1,105000,0,3,3,3,1,1,2,4,0,0,2,18,0,0,1,0,0,1,1610,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,222,152,252,129,150,144,45,153,41,145,143,35,131,213,44,41,220,139,192,129,212,131,217,127,119,137,36,134,42,137,130,37,136,235,40,41,246,126,199,133,249,107,264,130,127,147,33,127,36,129,175,39,127,221,39,46,211,135,258,132,201,154,247,134,131,134,41,118,39,154,143,46,141,282,39,40,208,112,200 H,1157725,8,200,4,16,1015675,104,2,1,1,,3,2,2,,120,0,320,3,3,800,1,,2,850,2,1,1,8,,,,1,1,,14,2,1000,9,6,24000,2,,,3,2,24000,0,2,2,2,1,6,1,2,0,0,1,62,0,0,1,0,0,1,1239,3,0,1,23,0,12,12,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,114,98,100,148,132,166,127,83,144,96,28,135,189,27,123,102,27,127,42,43,159,111,118,237,93,190,153,89,143,106,27,149,160,21,100,86,31,110,186,218,83,144,132,33,114,39,86,82,29,82,194,36,34,180,98,140,116,94,162,224,119,113,120,44,92,35,98,74,33,93,201,47,27,142,77,105,151,94,31 H,1158144,8,400,4,16,1015675,30,0,1,3,,3,2,2,,,,,,,,2,,,,,,2,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,44,56,30,30,9,26,24,33,26,7,28,30,45,53,10,10,66,39,8,31,10,9,25,24,47,38,33,28,31,50,25,29,10,8,42,53,9,26,59,32,9,8,32,33,48,28,29,29,20,43,35,33,8,11,52,56,11,29,43,26,51,49,36,31,6,28,32,31,35,9,28,29,46,44,8,8,51,30,8,25 H,1158391,8,800,4,16,1015675,168,2,1,1,,3,2,2,,120,0,2,3,3,,1,,,,,,1,6,2,650,,1,3,,,2,1,2,,,,770,31,1,5,30000,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,287,227,205,73,369,59,165,183,158,156,135,188,216,42,154,149,69,53,224,235,184,194,291,118,140,176,251,50,47,55,53,290,151,147,74,292,165,155,36,119,63,40,113,330,44,261,223,142,175,110,126,149,71,245,148,179,229,348,195,53,123,210,66,133,159,135,54,286,334,337,432,78,144,237,287,62,220,201,239 H,1158425,8,400,4,16,1015675,25,3,1,2,1,3,2,2,,90,0,2,3,3,650,1,,1,910,1,1,1,5,,,,1,1,,15,4,2,6,2,58000,2,,,1,1,58000,0,2,2,2,1,5,1,3,0,0,1,21,0,0,1,0,0,1,1000,3,0,1,20,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,7,7,39,63,12,26,41,3,9,15,33,45,19,31,34,29,26,22,27,19,12,8,33,53,8,28,35,5,13,34,18,26,23,29,28,38,36,15,21,22,37,45,6,13,51,27,7,26,70,17,20,6,17,23,30,34,5,28,31,14,47,50,9,10,48,25,8,30,60,19,18,7,18,25,33,37,7,15,25 H,1158818,8,200,4,16,1015675,19,2,1,1,,4,2,2,,60,0,2,3,6,850,1,,2,440,2,1,1,6,,,,1,1,,12,3,840,4,2,22400,4,,,1,1,22400,0,4,4,4,1,6,0,2,0,0,0,38,0,0,0,1,0,2,716,3,0,1,20,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,7,17,28,27,17,29,23,5,3,5,16,17,18,15,19,47,34,34,22,46,29,16,5,18,21,3,12,31,37,36,19,17,18,15,19,6,5,7,17,7,7,18,30,19,16,30,20,7,7,5,17,19,17,14,17,37,31,33,21,42,25,21,5,16,20,6,14,39,33,36,20,18,17,14,20,7,5,7,20,5 H,1158937,8,500,4,16,1015675,123,4,1,3,1,5,2,2,,200,0,2,100,2,2800,1,,2,2500,2,1,1,7,,,,1,1,,20,2,100,1,1,175000,3,,,1,1,175000,0,3,3,3,1,2,2,4,0,0,2,22,0,0,1,0,0,1,3208,3,0,0,32,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,106,130,41,275,115,118,227,124,119,211,140,126,109,206,34,36,35,39,123,202,113,123,35,259,143,111,187,138,156,193,124,118,96,195,33,34,36,33,134,28,129,102,183,36,119,125,42,130,106,37,124,126,133,36,212,222,199,190,122,40,131,133,215,32,133,144,35,121,114,38,127,133,114,37,249,241,171,201,129 H,1158979,8,900,4,16,1015675,121,1,1,1,,2,2,2,,30,0,2,140,1,200,1,,,,,3,1,4,,,,1,2,,2,1,40,9,,,,,,1,6,8400,0,4,4,4,1,7,0,,0,0,0,33,0,0,0,1,1,1,232,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,191,142,146,159,121,115,45,28,32,104,224,133,38,138,122,41,132,155,42,37,39,140,117,96,106,144,180,204,226,118,39,122,231,116,102,191,124,57,48,39,28,102,120,130,124,128,280,216,172,115,35,135,202,116,151,186,90,33,199,246,233,109,110,140,122,102,29,26,48,158,171,113,31,118,133,43,153,212,184 H,1159010,8,900,4,16,1015675,86,2,1,1,,4,2,2,,70,0,2,10,1,490,1,,,,,3,1,7,,,,1,2,,13,3,600,7,,,,,,1,7,47700,0,4,4,4,1,7,0,,0,1,0,7,3,0,0,2,2,1,281,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,107,86,94,171,28,94,96,127,90,133,200,27,22,82,81,75,86,141,148,139,86,76,86,22,168,90,89,31,85,28,20,137,143,91,112,89,86,23,33,23,115,91,94,167,25,85,81,130,87,145,145,21,27,84,114,93,74,169,142,136,81,71,80,23,116,88,82,31,77,26,29,175,142,100,88,77,81,25,24 H,1159392,8,800,4,16,1015675,25,2,1,1,,4,2,2,,30,0,2,3,3,500,1,,,,,3,1,5,,,,1,2,,18,3,300,3,4,31200,4,,,1,1,31200,0,4,4,4,1,4,0,2,0,0,0,6,0,0,0,2,2,2,164,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,40,26,48,48,25,29,35,24,35,25,35,28,39,32,44,51,22,29,40,7,12,25,6,10,22,19,21,26,7,27,8,25,6,9,9,7,32,21,24,48,43,24,37,33,19,23,35,29,56,26,34,25,42,35,37,39,22,28,27,7,8,25,8,6,25,25,24,28,7,27,5,23,10,14,7,8,37,22,27 H,1159824,8,200,4,16,1015675,99,2,1,2,1,4,2,2,,60,0,2,3,3,1000,1,,,,,3,1,9,,,,1,2,,21,2,20,5,3,241000,4,,,1,1,241000,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,1,1,1,437,,0,1,47,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,132,118,124,117,30,26,34,96,163,105,26,73,126,35,84,165,178,135,34,116,80,73,80,111,181,179,159,79,29,138,150,82,103,151,95,41,30,24,142,77,84,86,79,103,34,37,36,106,214,127,31,85,131,50,82,135,150,128,27,127,116,63,100,94,145,150,165,121,33,113,199,79,71,176,130,29,28,32,145 H,1159839,8,300,4,16,1015675,34,3,1,,,2,6,,,60,780,2,3,3,,1,,,,,,1,4,2,110,,1,3,,,1,1,5,7,3300,1,170,62,1,3,3300,0,1,1,1,1,1,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,29,11,30,45,10,12,54,42,41,79,33,71,34,23,27,9,37,11,51,28,37,13,36,57,10,11,63,32,31,53,32,55,47,47,38,11,34,10,54,25,33,13,50,55,10,16,60,31,46,32,28,58,35,45,40,12,41,10,52,32,29,12,25,54,15,10,59,36,28,62,32,48,34,29,31,15,38,13,59 H,1159985,8,700,4,16,1015675,104,4,1,1,,3,2,2,,100,0,2,30,1,480,1,,1,1400,1,1,1,6,,,2700,1,1,,19,0,40,3,1,46800,2,,,1,1,46800,0,2,2,2,1,3,2,4,0,0,2,101,0,0,1,0,0,1,4233,1,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,174,102,33,103,100,32,102,179,190,164,112,103,103,108,99,28,29,30,177,101,170,100,30,96,105,31,102,176,181,183,104,108,103,95,97,29,32,29,167,107,188,103,29,103,103,29,97,174,187,167,106,107,99,98,102,32,30,32,180,106,179,98,28,99,97,32,101,172,165,167,107,111,101,102,96,28,35,29,166 H,1160025,8,800,4,16,1015675,56,5,1,2,1,3,2,2,,60,0,2,3,6,,1,,,,,,1,7,2,450,,1,3,,,2,2,8,1,37000,3,510,17,3,1,37000,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,116,16,24,92,51,22,97,114,67,52,8,56,53,41,73,18,66,59,72,19,16,100,84,17,46,85,19,14,42,70,106,59,75,62,44,81,50,60,91,14,19,82,91,16,53,120,18,14,58,51,71,60,48,39,62,100,66,47,64,84,86,15,14,118,94,17,132,106,56,57,33,54,46,52,51,14,50,66,71 H,1160121,8,600,4,16,1015675,117,1,1,1,,1,1,2,,1,0,1,1,1,,1,,,,,,1,3,2,380,,1,3,,,1,1,6,,,,380,41,1,4,11000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,112,215,120,37,119,106,32,120,198,191,194,117,117,132,104,111,32,34,37,39,107,33,121,197,106,115,186,117,31,36,36,143,119,121,142,115,173,175,199,37,123,31,130,225,118,119,223,103,34,39,34,114,117,107,126,115,212,187,174,185,128,219,102,36,120,108,33,115,198,190,187,104,113,111,117,124,33,37,32,189 H,1160198,8,300,4,16,1015675,73,5,1,1,,5,2,2,,60,0,2,3,3,380,1,,1,1500,1,1,1,9,,,,1,1,,17,3,380,3,1,53800,2,,,1,1,53800,0,2,2,2,1,5,3,5,0,0,3,36,0,0,1,0,0,1,1592,3,0,1,34,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,113,116,131,68,25,82,130,75,80,114,83,21,22,22,68,72,77,68,67,115,22,22,23,77,121,72,23,78,80,24,79,112,151,123,78,68,74,82,77,133,24,20,21,69,118,64,25,83,80,23,78,116,123,129,85,65,65,73,88,24,118,127,102,71,27,79,135,82,77,112,87,19,24,20,71,68,75,73,70,23 H,1160447,8,300,4,16,1015675,37,2,1,1,,2,2,2,,40,0,2,60,2,,1,,,,,,1,4,2,550,,1,3,,,2,1,9,,,,650,21,1,5,38000,0,4,4,4,1,4,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,29,27,11,15,13,11,50,12,34,8,36,42,39,42,10,13,49,32,28,40,46,63,36,35,31,35,70,29,51,46,85,59,64,69,31,50,70,74,13,13,39,27,10,15,13,12,38,10,26,11,38,43,45,29,10,11,46,44,30,32,61,60,33,42,38,47,66,30,47,32,70,74,74,60,39,39,61,70,10 H,1160709,8,700,4,16,1015675,371,4,1,1,,4,2,2,,100,0,2,60,1,420,1,,1,1700,1,1,1,6,,,,1,1,,19,1,550,3,1,61200,3,,,1,1,61200,0,3,3,3,1,5,2,4,0,0,2,37,0,0,1,0,0,2,1906,3,0,1,26,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,109,702,353,358,123,673,374,391,571,375,376,617,323,385,370,611,120,104,358,109,110,564,401,367,108,589,388,407,674,366,346,606,371,367,363,596,116,102,332,652,665,105,354,355,618,106,343,370,125,359,375,103,353,346,363,114,588,694,370,672,574,110,361,358,612,115,408,391,111,364,360,108,398,389,382,116,636,653,392 H,1160842,8,400,4,16,1015675,119,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,42,109,214,118,33,100,167,44,119,202,207,155,109,105,102,150,151,39,33,180,304,127,32,129,184,100,111,202,102,35,35,39,124,98,112,106,103,224,30,212,181,130,42,118,208,110,126,247,92,45,33,28,113,122,119,132,137,170,164,30,54,111,199,164,35,141,131,42,129,171,180,174,139,92,106,114,95,32,184 H,1160844,8,100,4,16,1015675,104,2,1,1,,3,3,2,,70,0,200,3,3,300,1,,1,540,1,1,1,5,,,,1,1,,14,1,480,4,7,19000,2,,,1,3,19000,0,2,2,2,1,3,1,2,0,0,1,42,0,0,1,0,0,1,667,3,0,1,24,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,127,37,111,111,186,100,184,119,204,98,108,24,105,96,24,179,169,33,170,124,213,102,27,166,95,147,109,33,108,34,148,98,39,33,96,88,134,103,106,29,106,29,105,95,207,98,180,128,194,97,98,27,105,112,39,177,182,31,229,89,152,90,35,182,102,207,95,31,119,31,183,124,29,29,109,116,90,90,99 H,1160994,8,600,4,16,1015675,129,4,1,1,,3,2,2,,70,0,2,40,1,520,1,,1,2500,1,1,1,8,,,150,1,1,,22,3,660,9,2,181600,2,,,1,1,181600,1,2,4,2,1,5,0,4,0,0,1,19,0,1,1,0,0,1,2815,2,0,1,64,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,37,118,136,119,42,231,40,124,246,196,222,132,42,225,116,117,126,127,116,198,208,131,125,137,227,36,211,122,38,36,42,149,196,41,140,133,123,130,140,38,40,116,141,109,35,252,40,141,191,206,230,124,39,222,127,124,115,124,130,202,262,124,127,128,241,43,206,130,36,37,39,138,206,40,139,125,131,121,135 H,1161039,8,100,4,16,1015675,71,4,1,1,,3,1,2,,180,0,600,100,6,,1,,,,,,2,6,2,100,,1,3,,,4,180,5,2,18000,2,445,30,1,1,18000,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,84,25,139,74,72,59,19,99,68,68,24,71,17,18,94,97,89,68,115,56,63,24,113,82,58,100,22,116,68,56,20,65,22,24,104,119,56,76,19,76,65,118,29,56,69,61,144,18,81,89,109,66,133,93,27,19,54,55,17,86,68,103,15,74,77,61,115,23,68,74,110,77,95,130,23,25,69,78,145 H,1161196,8,500,4,16,1015675,77,1,1,2,3,4,2,2,,30,0,750,3,4,800,1,,,,,3,1,8,,,,1,2,,14,2,2,7,,,,,,1,4,19000,0,4,4,4,1,6,0,,0,0,0,20,0,0,0,0,0,1,310,,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,139,147,75,21,123,19,71,68,82,74,68,77,135,22,81,78,23,21,78,23,72,77,23,81,66,80,19,136,122,129,151,22,79,76,129,25,79,73,131,79,145,131,77,20,125,22,76,70,71,74,72,74,126,18,74,74,21,24,71,24,66,80,23,75,75,68,21,138,140,130,141,23,79,82,150,21,81,87,148 H,1161863,8,900,4,16,1015675,18,2,1,2,1,4,2,2,,30,0,2,190,6,500,1,,1,810,1,1,1,8,,,,1,1,,15,2,480,9,2,40000,4,,,1,1,40000,0,4,4,4,1,1,0,2,0,0,0,32,0,0,0,0,0,1,1070,3,0,1,18,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,29,4,31,13,5,7,5,20,32,5,25,22,18,25,32,26,23,19,27,5,22,18,16,7,19,17,17,31,18,18,5,40,7,5,21,15,34,29,20,17,30,5,30,18,6,8,5,25,36,5,19,23,25,20,32,27,17,18,34,7,19,15,17,5,18,16,15,28,17,15,7,29,5,6,17,18,37,30,19 H,1161882,8,100,4,16,1015675,194,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,330,387,297,205,230,149,160,170,56,56,70,197,284,218,65,227,221,58,357,237,331,291,383,194,243,209,175,197,50,50,60,176,298,175,44,206,174,54,372,211,316,295,312,218,193,202,185,186,65,57,57,229,362,202,64,192,203,67,343,192,317,316,275,177,196,175,231,178,49,61,45,199,317,193,64,179,187,57,309 H,1161931,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1162145,8,800,4,16,1015675,75,2,1,1,,3,3,2,,40,0,2,200,1,650,1,,2,1100,2,1,1,8,,,,1,1,,20,2,2,2,,,,,,1,5,175000,0,4,4,4,1,3,0,,0,1,0,11,0,0,0,1,1,1,1661,3,0,1,44,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,117,116,20,24,113,99,27,112,104,88,59,26,86,65,78,81,22,81,75,80,22,26,132,140,18,94,155,19,20,81,75,145,78,54,67,87,110,74,78,81,114,132,26,26,127,79,25,107,117,74,56,24,87,64,75,98,24,63,78,82,19,21,111,128,19,89,167,17,21,85,63,114,84,77,75,94,142,99,72,80 H,1162164,8,600,4,16,1015675,92,2,1,1,,2,2,2,,90,0,150,3,3,600,1,,,,,3,1,5,,,,1,2,,18,2,400,4,4,79200,4,,,1,1,79200,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,2,2,1,457,,0,1,44,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,150,85,88,30,83,92,105,95,24,85,97,162,153,26,23,135,91,30,101,149,166,110,93,27,89,103,104,97,29,93,89,156,151,26,25,174,100,29,98,171,155,86,104,27,98,102,93,105,28,89,86,152,166,25,27,180,90,27,90,153,150,80,89,25,92,94,88,104,25,92,91,151,174,26,28,136,89,29,87 H,1162182,8,700,4,16,1015675,65,5,1,1,,5,2,2,,130,0,2,100,1,1200,1,,1,1500,1,1,1,9,,,680,1,1,,21,2,480,1,2,110000,3,,,1,1,110000,0,3,3,3,1,2,3,5,0,0,3,27,0,0,1,0,0,1,2450,2,0,1,63,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,18,18,67,66,70,66,61,108,107,114,66,19,61,113,69,64,115,69,109,112,115,118,70,65,64,69,61,19,19,18,59,107,64,21,75,68,18,70,111,112,122,118,67,64,65,65,61,19,19,20,70,110,65,18,65,62,18,70,18,20,18,20,64,65,68,63,69,106,116,112,69,20,65,109,69,72,117,67,20 H,1162620,8,300,4,16,1015675,39,2,1,1,,3,2,2,,40,0,2,40,1,300,1,,2,960,1,1,1,6,,,,1,1,,15,2,720,9,,,,,,1,7,88000,0,4,4,4,1,5,0,,0,1,0,15,4,0,0,0,0,1,1125,3,0,1,18,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,38,37,40,70,61,36,69,10,48,15,46,15,10,33,49,39,37,42,31,47,13,60,50,42,50,15,39,50,46,37,13,31,33,66,45,12,10,69,8,57,37,34,40,10,12,42,11,59,13,76,36,59,61,40,47,37,49,45,38,48,63,11,9,45,42,62,41,47,46,34,73,51,36,11,10,62,59,11,83 H,1162731,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1162753,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1162827,8,100,4,16,1015675,120,2,1,1,,3,2,2,,180,0,2,2,1,400,1,,1,780,1,1,1,5,,,200,1,1,,17,1,20,3,4,25700,4,,,1,1,25700,0,4,4,4,1,4,0,2,0,0,0,54,0,0,0,2,2,1,1162,4,0,1,17,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,112,119,219,35,214,217,119,114,38,39,211,108,143,138,184,108,121,130,30,235,106,136,41,220,35,36,108,103,220,195,39,116,102,112,36,130,121,124,209,212,126,139,37,178,34,36,126,138,198,183,41,129,101,116,35,124,135,107,194,30,127,122,206,31,180,186,153,142,37,41,223,143,131,99,198,109,118,112,33,32 H,1162988,8,100,4,16,1015675,262,3,1,1,,2,1,2,,200,0,2,3,3,,1,,,,,,1,3,2,600,,1,3,,,1,1,4,1,31800,2,800,30,1,1,31800,0,2,2,2,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,224,344,93,239,85,253,296,73,296,373,64,82,406,238,292,389,233,416,90,264,300,274,438,234,434,250,259,367,298,76,409,471,77,252,254,103,322,75,108,286,284,357,303,287,484,293,283,318,245,90,335,343,83,348,221,72,278,88,387,315,295,283,82,313,90,291,242,70,226,444,81,83,504,281,209,372,225,429,495 H,1163179,8,700,4,16,1015675,107,2,1,1,,2,2,2,,190,0,2,30,1,300,1,,1,2600,1,1,1,9,,,,1,1,,22,2,700,3,1,166300,4,,,1,1,166300,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,2878,3,0,1,66,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,110,99,109,182,102,105,34,185,32,30,107,108,198,204,32,102,95,99,33,174,99,107,111,30,108,106,167,29,193,193,109,116,32,29,178,110,105,108,31,190,108,105,98,30,110,106,181,29,183,172,105,105,31,33,180,112,104,105,182,31,116,99,106,179,106,123,31,172,33,30,105,116,180,189,34,105,111,109,182 H,1163533,8,100,4,16,1015675,32,1,1,1,,3,2,2,,180,0,2,3,3,170,1,,2,380,2,1,1,6,,,,1,1,,20,2,2,5,,,,,,1,6,37400,0,4,4,4,1,6,0,,0,0,0,24,0,0,0,1,1,2,741,3,0,1,32,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,37,31,34,45,55,26,30,10,10,58,51,10,28,52,10,12,33,28,57,39,32,31,32,37,10,32,23,38,57,11,9,51,31,7,54,58,32,32,7,38,27,26,37,35,43,31,38,10,8,64,54,9,29,44,10,10,33,34,56,33,24,31,33,29,8,27,30,91,62,10,13,47,27,9,52,66,32,37,9,31 H,1163710,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1163725,8,600,4,16,1015675,107,1,1,,,1,6,,,20,0,1,1,1,,1,,,,,,1,2,2,610,,1,3,,,1,1,3,,,,630,6,1,4,125100,0,4,4,4,1,2,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,112,33,105,31,107,104,103,175,98,193,111,115,205,95,30,202,176,33,33,98,103,31,103,30,109,98,101,164,106,188,107,113,181,112,36,173,173,32,193,103,104,188,107,176,115,115,108,28,113,29,112,101,31,110,177,31,28,173,181,107,116,164,99,182,105,109,108,34,113,32,103,110,32,110,185,29,32,172,32 H,1163739,8,600,4,16,1015675,64,4,1,1,,4,2,2,,90,0,2,130,1,400,1,,2,920,1,1,1,7,,,200,1,1,,17,3,490,2,1,64000,2,,,1,1,64000,0,2,2,2,1,3,2,4,0,0,2,27,0,0,1,0,0,2,1414,2,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,18,18,68,69,109,62,59,61,60,109,64,65,20,16,102,111,21,73,71,18,109,112,64,57,18,62,62,60,59,18,60,64,100,112,21,16,102,63,64,19,112,114,65,60,19,66,61,68,65,17,69,61,102,103,18,17,97,66,61,115,18,17,61,60,95,62,69,62,67,111,62,64,20,21,113,112,18,63,74 H,1163909,8,500,4,16,1015675,73,2,1,3,6,5,2,2,,70,0,820,3,5,0,1,,,,,3,1,9,,,,1,2,,15,6,2,9,4,28100,4,,,1,1,28100,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,240,,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,69,85,70,113,133,21,119,66,69,20,19,23,87,73,118,22,63,115,142,26,24,123,133,72,78,85,79,21,113,67,77,91,19,107,77,68,22,64,74,86,83,73,89,18,22,121,19,58,64,121,120,115,71,67,24,128,70,22,19,125,125,22,23,68,77,76,73,130,23,78,103,76,137,21,77,73,123,74,84 H,1163942,8,900,4,16,1015675,144,8,1,1,,5,2,2,,120,0,2,90,1,230,1,,1,600,1,2,1,8,,,300,1,1,,12,3,480,5,2,38160,3,,,2,1,38160,1,3,3,3,1,3,5,8,0,0,5,36,0,0,1,1,1,2,1150,2,0,1,24,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,155,147,129,172,62,47,53,111,210,124,41,162,221,37,137,233,212,300,69,141,128,147,166,152,235,178,246,156,29,146,259,151,144,214,138,46,45,43,53,124,176,152,139,173,226,236,247,136,46,118,234,243,180,209,161,46,37,39,157,169,152,166,133,140,57,42,49,214,233,121,31,126,134,53,164,284,237,276,278 H,1164267,8,500,4,16,1015675,161,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,2,790,,,,1,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,173,47,207,289,146,288,54,152,254,239,147,128,154,172,141,48,185,269,330,227,221,267,174,58,155,46,226,163,45,42,163,130,185,183,135,292,180,43,37,57,158,38,136,291,163,276,54,213,262,322,161,180,162,160,184,46,175,286,291,251,172,306,158,49,153,49,268,140,44,50,144,163,137,164,190,225,147,47,50 H,1164300,8,800,4,16,1015675,149,2,1,1,,3,3,2,,40,0,2,4,3,350,1,,1,750,1,1,1,4,,,200,1,1,,19,3,800,4,1,59200,4,,,1,1,59200,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,1,0,2,1061,2,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,49,43,223,138,45,258,282,137,103,38,154,147,175,154,45,194,132,193,270,157,53,56,232,138,42,298,252,167,159,38,159,151,173,141,42,181,143,232,251,147,252,229,41,141,251,48,41,135,160,234,139,137,149,154,296,139,168,47,38,150,180,261,51,168,294,45,43,182,179,267,164,162,129,159,240,136,131,51,43,161 H,1164755,8,500,4,16,1015675,114,1,1,1,,4,2,2,,30,0,2,4,1,150,1,,,,,3,1,5,,,,1,2,,11,1,250,9,,,,,,1,6,22000,0,4,4,4,1,7,0,,0,0,0,8,0,0,0,1,1,2,151,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,121,31,118,110,113,191,105,175,116,115,199,110,37,191,219,36,95,109,278,187,111,199,113,99,109,31,112,35,102,110,35,115,178,35,44,174,105,110,205,181,117,193,122,123,113,31,127,35,124,122,35,115,183,30,31,183,126,111,28,37,118,30,114,138,111,191,99,166,122,109,204,114,34,203,177,33,113,103,34 H,1164770,8,100,4,16,1015675,151,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,47,50,299,146,240,165,131,258,163,321,52,40,119,152,170,245,202,53,195,146,40,34,183,141,243,140,169,312,149,253,44,46,134,176,184,233,142,48,145,226,54,50,272,145,236,149,187,263,129,308,42,43,142,161,138,238,192,42,142,148,40,49,222,150,307,158,159,227,135,224,47,56,151,131,128,311,137,45,151 H,1164788,8,100,4,16,1015675,101,1,1,1,,2,1,2,,70,0,1100,100,1,200,1,0,,,,3,1,4,,,,1,2,,14,1,520,5,,,,,,1,6,12200,0,4,4,4,1,7,0,,0,0,0,32,0,0,0,1,1,1,329,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,28,26,87,36,100,91,155,112,162,105,164,86,100,33,99,109,28,199,181,134,105,101,186,95,33,193,94,153,108,29,91,34,198,120,26,27,105,96,118,29,193,155,105,191,104,110,30,132,29,117,29,101,100,173,112,91,167,27,30,102,99,89,29,110,196,31,103,27,98,140,86,158,30,104,181,141,98,117,102 H,1164925,8,600,4,16,1015675,85,1,1,1,,4,2,2,,90,0,2,3,3,550,1,,,,,3,1,8,,,,1,2,,18,1,660,5,,,,,,1,6,16700,0,4,4,4,1,7,0,,0,0,0,20,0,0,0,1,1,1,284,,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,26,84,84,28,81,25,161,128,85,83,85,24,92,143,77,137,158,25,84,77,166,85,82,152,93,167,28,23,90,92,81,138,82,25,86,23,29,149,83,86,139,86,88,155,82,145,22,28,91,91,82,140,84,27,79,26,25,154,88,77,27,78,89,20,93,24,134,142,87,86,81,27,84,156,93,134,158,23,97,79 H,1165056,8,500,4,16,1015675,28,1,1,1,,2,2,2,,60,0,2,60,1,600,1,,,,,3,1,4,,,,1,2,,10,0,580,9,,,,,,1,6,8880,0,4,4,4,1,7,0,,0,0,0,29,0,0,0,1,1,2,218,,0,1,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,10,28,8,9,52,47,24,23,29,30,8,51,32,30,34,8,42,26,13,27,47,29,52,44,8,6,31,31,27,28,53,7,26,27,36,44,6,32,53,27,8,29,9,10,43,48,33,32,32,29,10,46,26,25,24,8,50,30,6,32,51,25,46,59,8,8,23,23,29,28,48,10,31,31,27,52,10,25,52 H,1165519,8,700,4,16,1015675,127,4,1,1,,3,2,2,,90,0,2,80,1,550,1,,1,1200,1,1,1,7,,,700,1,1,,22,3,1300,3,1,147000,3,,,1,1,147000,0,3,3,3,1,4,2,4,0,0,2,18,0,0,1,0,0,2,2178,1,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,38,118,38,123,36,45,39,37,124,139,35,36,127,34,35,115,114,139,133,198,121,204,129,218,135,128,120,132,239,246,120,139,229,117,135,222,211,224,221,139,229,133,195,126,197,184,225,203,133,120,216,211,127,224,214,127,127,113,132,40,127,40,130,39,130,128,141,130,36,36,125,135,35,127,124,39,40,36,35,122 H,1165770,8,800,4,16,1015675,33,1,1,,,0,7,,,90,0,2,3,3,,1,,,,,,1,1,2,550,,1,3,,,2,2,5,,,,640,22,1,4,34600,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,32,9,28,12,73,31,10,11,44,41,51,43,31,66,51,8,58,47,56,10,42,62,38,57,13,35,55,72,31,31,42,36,41,8,30,46,10,28,9,13,31,70,43,61,8,31,56,48,34,36,35,32,38,12,27,66,10,40,14,48,36,10,46,10,49,47,12,10,33,42,41,38,28,69,30,11,65,32,67,50 H,1165776,8,100,4,16,1015675,88,3,1,1,,3,2,2,,60,0,480,3,6,490,1,,1,980,1,1,1,6,,,330,1,1,,18,2,480,9,5,38500,2,,,1,2,38500,0,2,2,2,1,5,2,3,0,0,2,45,0,0,1,0,0,2,1450,1,0,1,32,2,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,163,86,27,144,144,25,94,105,24,100,23,103,103,77,158,85,142,84,29,88,162,96,30,146,148,22,85,85,26,99,23,83,95,84,160,87,153,86,24,89,152,86,25,138,159,25,101,89,29,82,24,85,77,79,167,90,138,80,24,90,156,84,25,139,134,30,107,87,34,90,29,109,86,86,137,105,161,82,24 H,1166117,8,500,4,16,1015675,119,3,1,2,1,5,2,2,,150,0,2,3,3,500,1,,1,1100,1,1,1,8,,,,1,1,,18,4,2,4,1,96000,4,,,1,1,96000,0,4,4,4,1,6,0,3,0,0,0,16,0,0,0,0,0,1,1250,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,116,125,41,148,195,117,37,33,119,126,36,231,123,179,187,109,186,34,115,134,128,135,192,123,44,125,166,203,147,125,203,39,106,34,35,95,40,193,139,113,110,122,32,119,199,125,34,38,111,120,37,234,131,245,217,106,194,36,130,146,129,137,192,107,35,134,196,160,100,135,196,33,107,35,32,129,36,220,109 H,1166150,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1166199,8,200,4,16,1015675,32,3,1,1,,3,2,2,,50,0,1000,3,4,300,1,,,,,3,1,5,,,,1,2,,4,2,440,9,2,27400,2,,,1,1,27400,0,2,2,2,1,6,1,3,0,0,1,10,0,0,1,0,0,2,237,,0,1,12,2,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,61,10,31,60,8,9,31,26,47,35,28,32,36,54,30,29,9,11,63,34,56,9,39,51,11,12,32,35,61,24,29,41,28,57,35,27,8,8,65,30,56,12,31,50,11,10,29,32,69,34,28,26,27,48,31,33,7,10,56,30,59,10,33,48,9,12,40,35,57,33,28,35,34,52,37,28,9,10,60,40 H,1166203,8,700,4,16,1015675,373,2,1,1,,2,2,2,,90,0,500,3,6,,1,,,,,,1,4,2,550,,1,3,,,2,2,8,,,,682,17,1,7,48000,0,4,4,4,1,5,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,344,347,422,377,617,648,105,664,412,386,105,101,110,359,382,663,95,366,600,623,107,113,580,674,375,385,383,344,126,669,380,381,369,111,622,364,376,127,368,384,389,382,340,347,114,103,610,102,391,398,601,662,613,368,372,108,661,348,133,106,597,583,105,114,397,392,393,361,639,111,399,391,350,626,126,388,360,641,353,375 H,1166255,8,100,4,16,1015675,89,2,1,2,1,2,1,2,,50,0,2,70,1,,1,,,,,,1,4,2,390,,1,3,,,1,430,5,2,35000,4,546,19,1,1,35000,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,91,25,98,189,28,24,149,90,94,140,90,134,98,93,89,29,87,31,28,96,97,157,111,27,167,160,25,79,93,24,89,25,97,105,73,124,85,151,28,81,103,162,100,28,159,169,27,88,82,26,79,27,88,94,101,138,91,138,149,96,86,24,95,153,30,26,190,91,90,151,84,147,83,98,95,24,97,25,150 H,1166986,8,300,4,16,1015675,165,4,1,1,,3,2,2,,80,0,2,90,2,,1,,,,,,1,4,2,1000,,1,3,,,3,2,2,1,54800,1,1170,26,2,1,54800,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,226,172,41,124,179,52,157,358,323,339,143,213,166,99,137,56,48,50,249,129,295,205,49,165,185,56,178,267,272,252,151,148,209,222,171,53,49,48,269,127,242,200,68,140,171,77,179,251,352,170,136,143,161,214,165,57,60,48,244,159,231,209,37,151,243,53,160,292,240,276,156,141,158,137,156,77,48,54,293 H,1167077,8,600,4,16,1015675,88,2,1,1,,3,2,2,,50,0,2,110,1,,1,,,,,,1,5,2,630,,1,3,,,1,160,3,,,,803,54,1,5,18000,0,4,4,4,1,2,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,25,96,94,23,166,92,73,26,89,81,144,97,95,27,156,144,94,157,85,167,81,26,25,84,98,27,135,99,154,159,82,171,27,90,89,82,28,85,150,93,149,89,88,134,28,84,83,169,93,84,25,87,95,139,27,27,93,29,79,28,75,158,129,83,93,148,25,94,27,25,87,30,154,97,84,85,143,92,25 H,1168220,8,600,4,16,1015675,113,2,1,,,1,7,,,30,0,2,60,1,,1,,,,,,1,3,2,690,,1,3,,,2,1,2,,,,780,26,1,5,35900,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,117,183,178,38,28,176,105,36,210,201,118,106,34,131,109,124,110,32,114,120,102,37,36,185,194,38,127,201,33,33,114,122,186,105,102,101,111,215,110,130,104,179,186,32,34,197,109,31,183,205,107,117,38,128,121,126,127,33,108,113,125,32,33,183,191,38,98,182,32,32,107,110,171,109,117,112,127,198,112 H,1168280,8,300,4,16,1015675,43,4,1,2,1,3,1,1,,60,0,360,40,2,500,1,0,2,500,2,1,1,5,,,,1,1,,12,4,2,5,1,38880,2,,,1,1,38880,0,2,2,2,1,5,2,4,0,0,2,21,0,0,1,0,0,2,689,3,0,0,6,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,15,11,59,70,13,47,98,13,13,42,31,64,46,33,36,41,79,40,61,46,13,9,52,60,10,40,87,11,10,48,47,69,36,40,38,49,74,35,45,29,11,10,65,62,11,46,96,11,10,36,38,90,48,36,38,34,79,39,52,63,13,11,53,74,16,37,79,14,11,49,38,54,37,43,43,39,63,55,61 H,1168845,8,600,4,16,1015675,119,5,1,1,,4,2,2,,120,0,700,3,8,900,1,,2,1600,2,1,1,9,,,400,1,1,,21,2,1000,9,2,103000,3,,,1,1,103000,0,1,1,1,1,4,3,5,0,0,3,34,0,0,1,0,0,2,2919,2,0,1,65,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,119,215,207,116,122,119,187,39,179,124,35,35,33,113,200,35,115,113,199,33,38,110,122,211,210,32,117,126,123,35,114,115,118,213,134,118,34,182,118,111,108,34,34,108,113,128,33,215,35,109,199,203,201,130,38,195,115,123,36,210,199,118,119,33,37,202,113,120,120,213,112,104,125,38,110,130,199,34,111 H,1169043,8,900,4,16,1015675,77,3,1,1,,2,1,2,,60,2400,2,20,1,,1,,,,,,1,4,2,380,,2,3,,,2,600,5,3,15000,2,510,41,1,1,15000,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,134,27,19,126,80,20,118,125,70,77,23,77,71,71,76,28,80,74,78,34,23,137,163,26,81,119,24,23,65,85,125,73,73,86,78,114,83,84,78,24,31,112,121,22,88,130,22,20,92,85,148,67,90,70,66,138,95,88,77,154,112,23,27,113,59,23,148,127,85,64,22,97,92,85,62,16,73,75,60 H,1169914,8,800,4,16,1015675,34,3,1,1,,4,2,2,,160,0,2,3,3,1400,1,,2,140,2,1,1,6,,,,1,1,,20,3,600,8,3,74400,4,,,1,1,74400,0,4,4,4,1,7,0,3,0,0,0,10,0,0,0,0,0,2,600,3,0,1,28,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,33,33,11,10,50,53,10,35,58,10,10,28,33,63,27,38,39,34,34,12,34,37,59,62,11,12,64,34,8,58,55,35,32,8,33,35,34,47,41,11,31,39,69,53,9,9,61,31,8,54,61,38,37,9,32,35,36,32,30,58,30,34,9,10,65,59,8,35,67,12,8,35,37,54,35,37,34,36,30 H,1170141,8,700,4,16,1015675,76,2,1,1,,3,2,2,,120,400,2,10,1,510,1,,1,700,1,1,1,6,,,,1,1,,16,1,2400,6,5,10200,2,,,1,2,10200,0,2,2,2,1,3,1,2,0,0,1,101,0,0,1,0,0,1,1030,3,0,1,23,1,11,10,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,21,20,70,23,70,73,140,73,121,77,121,78,79,24,76,73,20,120,138,68,75,79,119,75,22,132,71,131,76,20,75,21,120,69,23,24,77,73,76,22,130,123,81,133,78,83,25,70,22,69,22,73,75,125,72,76,129,20,21,68,73,77,22,67,131,23,76,21,76,133,74,131,22,71,127,122,77,70,82 H,1170466,8,800,4,16,1015675,7,5,1,1,,4,3,2,,180,0,2,3,3,200,1,,1,490,2,1,1,6,,,,1,1,,12,2,120,3,2,42000,3,,,1,1,42000,0,3,3,3,1,4,3,5,0,0,3,21,0,0,1,0,0,2,728,3,0,1,13,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,7,8,1,2,3,8,10,8,2,9,9,3,10,10,13,17,7,9,2,5,7,7,10,12,10,6,2,7,9,7,12,14,9,3,2,3,5,7,3,11,8,9,12,14,13,7,4,9,14,10,9,15,11,2,1,2,6,9,12,9,8,5,2,2,2,6,9,8,1,7,9,3,9,12,12,14,9,5,17 H,1170770,8,400,4,16,1015675,90,2,1,1,,3,2,2,,130,0,2,3,3,300,1,,2,790,2,1,1,5,,,,1,1,,13,2,1400,7,2,30600,4,,,1,1,30600,0,4,4,4,1,5,0,2,0,0,0,43,0,0,0,1,1,2,1103,3,0,1,11,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,30,83,115,181,102,108,95,104,135,122,57,43,33,124,156,22,70,159,34,178,23,123,95,101,118,64,80,82,96,83,104,34,35,158,141,35,75,147,38,74,28,88,98,172,90,188,100,122,106,126,45,34,30,137,168,25,86,167,20,151,34,150,134,90,76,65,91,102,85,128,83,16,36,144,129,42,67,113,43,64 H,1170835,8,500,4,16,1015675,90,1,1,1,,3,2,2,,40,0,2,90,1,300,1,,2,700,2,1,1,6,,,,1,1,,16,1,290,3,,,,,,1,6,32000,0,4,4,4,1,1,0,,0,0,0,39,0,0,0,0,0,1,1046,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,142,26,81,79,138,170,127,78,100,24,143,92,29,99,81,86,73,27,25,114,89,77,173,26,73,107,98,142,24,100,87,175,97,151,153,27,26,104,79,26,178,30,91,83,139,164,150,96,83,27,140,80,26,91,81,83,80,25,30,81,93,85,135,26,101,90,85,150,24,104,82,144,101,167,175,26,28,95,99 H,1170918,8,200,4,16,1015675,162,2,1,2,1,4,2,2,,100,0,2,3,6,450,1,,,,,3,1,5,,,,1,2,,17,4,800,5,4,4400,4,,,1,1,4400,0,4,4,4,1,6,0,2,0,0,0,83,0,0,0,0,0,1,305,,0,1,24,1,6,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,123,61,158,54,156,179,55,181,242,51,45,218,159,166,205,163,276,168,149,326,171,54,202,45,233,151,47,236,291,51,58,318,167,169,234,122,220,113,131,266,168,38,159,50,170,202,51,122,248,32,47,288,175,256,318,159,318,148,170,265,205,58,194,59,149,122,40,164,247,45,56,231,200,155,188,201,230,166,186,240 H,1170933,8,600,4,16,1015675,87,2,1,1,,4,2,2,,80,0,2,70,1,450,1,,,,,3,1,9,,,,1,2,,20,2,200,5,1,110900,4,,,1,1,110900,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,2,1,430,,0,1,39,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,93,25,27,69,82,91,82,83,141,90,25,143,79,136,101,25,88,25,139,162,86,25,27,89,95,93,75,87,159,80,27,153,90,158,87,30,91,26,160,145,95,27,28,82,86,86,83,91,138,88,24,147,87,151,99,24,94,25,141,137,81,28,25,88,90,76,88,88,144,80,27,150,83,143,86,28,94,25,142 H,1170936,8,900,4,16,1015675,131,2,1,1,,2,2,2,,80,0,2,90,1,300,1,,,,,3,1,4,,,,1,2,,8,1,720,5,3,25200,4,,,1,1,25200,0,4,4,4,1,4,0,2,0,0,0,15,0,0,0,2,0,2,309,,0,1,15,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,127,180,35,31,264,153,124,242,133,240,124,144,160,39,142,31,156,179,35,209,126,35,205,211,41,149,114,42,134,41,131,140,136,229,132,185,129,126,41,214,148,36,184,174,46,181,119,48,115,39,123,145,145,260,142,200,130,116,245,44,122,186,40,36,207,120,105,223,149,193,139,118,128,43,151,49,167,118,214 H,1171054,8,100,4,16,1015675,126,2,1,1,,1,2,2,,60,0,500,3,6,,1,,,,,,1,2,2,500,,1,3,,,2,2,4,,,,602,17,1,7,42800,0,4,4,4,1,2,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,113,180,129,122,34,47,164,143,41,160,264,31,39,157,115,219,131,130,92,131,201,32,127,136,230,175,36,36,211,154,31,226,192,144,137,29,132,93,102,120,208,29,92,145,180,301,47,59,247,131,35,179,166,125,103,31,74,118,135,89,109,272,126,112,27,46,188,157,44,189,241,29,37,144,159,293,109,139,160 H,1171055,8,700,4,16,1015675,88,2,1,1,,2,1,2,,300,0,2,3,3,170,1,0,,,,3,1,4,,,,1,2,,13,1,560,5,2,32700,4,,,1,1,32700,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,414,,0,0,14,1,6,3,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,143,153,82,95,134,131,91,158,151,96,86,86,85,148,91,166,87,146,144,93,27,25,88,88,25,27,92,23,25,89,85,94,92,27,83,22,97,28,27,91,28,29,91,83,25,24,87,25,28,89,85,82,95,25,88,28,89,26,25,84,147,152,88,84,148,133,90,149,139,83,77,89,88,144,88,152,91,175,150,83 H,1171266,8,700,4,16,1015675,106,2,1,1,,3,2,2,,30,0,2,60,1,450,1,,,,,3,1,6,,,,1,2,,17,1,380,3,4,63300,4,,,1,1,63300,0,4,4,4,1,1,0,2,0,0,0,5,0,0,0,2,0,1,262,,0,1,24,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,110,109,30,30,108,107,98,30,173,31,106,181,178,191,109,31,167,99,31,31,177,186,111,108,32,31,164,99,117,108,170,108,107,108,35,117,103,192,111,104,108,111,33,30,108,108,104,28,173,31,105,166,179,183,101,32,183,102,32,28,184,192,104,114,37,32,178,103,113,104,184,111,103,101,32,108,106,179,107 H,1171356,8,600,4,16,1015675,87,1,1,1,,3,2,2,,170,0,2,3,3,240,1,,1,510,1,1,1,8,,,,1,1,,14,1,300,5,,,,,,1,4,41150,0,4,4,4,1,1,0,,0,0,0,21,0,0,0,0,0,1,705,3,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,92,89,25,164,88,79,138,90,85,153,82,91,89,132,24,26,27,27,90,134,84,88,25,135,90,89,149,81,85,156,89,97,92,154,28,22,25,27,90,142,88,91,28,153,81,94,147,85,96,143,90,86,80,165,26,22,23,22,88,149,86,93,26,157,85,76,149,84,95,157,81,80,84,154,25,27,26,25,81 H,1171546,8,600,4,16,1015675,101,1,1,1,,4,2,2,,90,0,2,10,1,600,1,,1,1000,1,1,1,7,,,,1,1,,20,1,300,2,,,,,,1,6,49000,0,4,4,4,1,2,0,,0,0,0,28,0,0,0,1,0,1,1125,3,0,1,40,,,,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,165,30,100,183,28,30,105,100,177,98,103,103,95,180,108,99,29,29,159,106,165,27,102,182,27,31,103,97,166,105,98,109,104,177,102,94,33,29,171,110,30,180,98,29,177,179,93,95,29,103,91,104,95,29,107,105,177,168,31,96,32,176,99,30,161,166,109,97,29,98,94,100,107,32,104,106,169,184,32,98 H,1172038,8,100,4,16,1015675,243,1,1,,,1,4,,,20,0,2,3,3,,1,,,,,,1,2,2,370,,1,3,,,1,1,8,,,,390,14,1,6,34000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,230,285,77,226,244,349,545,67,86,375,222,74,415,370,275,233,75,232,290,239,247,239,69,245,234,360,429,76,85,337,232,72,435,388,287,287,78,235,320,236,222,328,317,292,247,81,86,335,375,65,194,393,93,95,228,235,362,262,242,270,307,262,406,253,249,72,68,450,355,81,254,384,82,68,211,215,387,227,253 H,1172424,8,100,4,16,1015675,105,3,1,1,,4,2,2,,50,0,2,120,1,150,1,,2,330,2,1,1,7,,,,1,1,,17,2,420,4,3,39100,4,,,1,1,39100,0,4,4,4,1,5,0,3,0,0,0,20,0,0,0,0,0,2,656,3,0,1,25,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,120,36,102,33,99,106,106,107,29,35,101,89,34,115,107,27,33,35,113,93,175,100,162,114,164,176,195,177,103,109,203,174,121,194,176,123,98,101,28,30,114,35,122,32,115,98,110,106,32,31,116,92,32,105,89,32,35,33,91,108,165,112,203,107,194,167,171,187,97,118,173,157,107,181,178,103,114,111,30 H,1172503,8,500,4,16,1015675,134,7,1,1,,2,1,2,,60,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,2,1,4,2,80000,1,590,9,1,1,80000,1,1,1,1,1,1,3,7,0,0,3,,0,1,1,0,0,1,,,1,0,,2,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,134,36,45,144,233,37,253,124,151,132,150,118,140,33,204,122,128,272,146,113,212,131,137,230,125,123,146,234,50,37,47,42,232,147,141,39,214,135,37,247,132,36,39,153,224,41,237,130,132,144,132,133,111,45,265,146,148,220,125,135,213,120,141,209,128,163,131,206,43,43,45,40,195,145,127,36,240,116,38 H,1172737,8,700,4,16,1015675,72,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,3,16,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,128,23,64,87,79,107,18,79,60,131,68,126,131,20,20,82,74,73,24,70,114,21,76,76,74,112,21,82,66,129,66,124,126,23,23,70,64,73,19,78,129,22,71,73,69,121,21,76,66,112,66,125,134,23,24,63,69,78,28,78,117,19,68,79,69,105,18,71,72,123,74,112,157,21,17,85,72,81,21 H,1172983,8,600,4,16,1015675,108,1,1,,,1,9,,,50,0,2,3,3,,1,,,,,,1,3,2,500,,1,3,,,1,1,2,,,,550,101,1,6,520,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,110,113,102,157,119,33,105,182,172,114,107,169,30,119,31,33,121,29,109,194,106,101,112,171,107,30,109,189,194,104,116,169,33,114,30,31,116,32,102,173,119,117,104,186,109,32,102,196,204,108,118,185,29,102,33,34,105,32,108,179,102,109,101,162,102,35,111,194,178,101,101,194,34,106,33,30,110,34,119 H,1173010,8,300,4,16,1015675,132,2,1,3,1,2,2,2,,140,0,2,3,3,780,1,,1,450,1,1,1,5,,,,1,1,,14,3,2,6,4,10600,4,,,1,1,10600,0,4,4,4,1,7,0,2,0,0,0,67,0,0,0,2,2,2,590,3,0,0,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,42,124,114,54,108,155,224,178,101,116,154,183,207,47,45,54,165,197,54,133,191,98,115,231,158,48,36,40,146,120,125,190,131,187,277,203,104,43,36,146,274,173,116,186,115,45,53,34,154,139,121,113,110,201,250,253,118,37,185,127,50,166,130,35,112,197,201,240,146,152,145,127,120,37,33,42,169,208,213 H,1173123,8,700,4,16,1015675,94,4,1,2,1,3,2,2,,210,0,2,280,1,200,1,,1,1200,1,1,1,9,,,,1,1,,22,5,2,8,4,16000,1,,,1,1,34000,1,1,4,1,1,6,0,3,0,1,1,60,0,0,1,1,1,1,1690,3,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,94,96,28,145,81,95,170,90,95,176,90,97,92,155,32,27,29,29,94,172,88,100,25,165,95,95,140,99,94,140,95,97,98,188,26,29,30,29,94,163,106,96,28,167,90,100,161,98,96,156,90,105,88,152,30,27,30,26,97,148,96,98,28,165,87,96,161,89,92,153,92,91,94,154,27,30,33,26,92 H,1173270,8,200,4,16,1015675,51,1,1,,,1,4,,,10,0,2,3,3,,1,,,,,,1,2,2,430,,2,3,,,1,1,5,,,,440,35,1,6,15000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,58,63,117,19,14,67,46,15,89,50,43,69,16,57,49,38,50,13,44,36,44,103,95,17,15,77,51,17,106,96,52,44,14,58,58,49,60,19,57,38,50,18,18,108,83,16,57,98,12,18,66,48,93,66,42,47,64,81,58,47,53,18,12,80,73,14,43,70,20,13,39,50,87,70,61,47,39,81,56 H,1173290,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1173577,8,800,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1174018,8,300,4,16,1015675,70,4,1,2,1,4,2,2,,50,0,2,3,6,630,1,,,,,3,1,7,,,,1,2,,18,3,2,5,1,59500,4,,,1,1,59500,0,4,4,4,1,6,0,4,0,0,0,3,0,0,0,0,0,1,157,,0,1,15,3,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,76,79,69,21,66,121,70,128,110,19,59,23,63,66,25,82,23,114,103,68,69,55,74,23,63,143,70,111,106,21,71,24,62,67,21,82,20,116,96,82,58,70,62,116,70,23,69,17,21,128,62,119,60,66,132,69,118,19,21,81,58,63,67,133,79,18,71,16,22,132,76,118,62,71,140,79,123,24,21,68 H,1174274,8,800,4,16,1015675,36,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,34,12,9,43,36,38,38,36,59,35,9,61,31,64,33,10,45,10,10,10,36,66,66,30,34,36,35,40,12,39,61,11,37,11,35,63,38,66,51,56,40,11,10,37,33,41,42,30,58,34,10,65,34,58,32,9,36,11,10,11,42,61,62,33,39,36,37,39,10,37,64,14,31,11,42,59,39,67,56 H,1174324,8,900,4,16,1015675,83,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,0,1,6,8,13600,4,590,52,1,3,13600,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,0,1,,,1,0,,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,25,132,164,87,148,79,83,21,77,23,86,25,91,90,142,73,80,142,154,85,88,74,93,134,85,26,141,92,122,84,21,77,25,113,104,27,23,86,82,24,28,142,162,91,135,78,71,26,74,24,76,25,90,77,193,92,72,135,154,80,78,87,83,113,77,25,144,77,139,74,26,93,24,159,87,28,26,65,92 H,1174600,8,600,4,16,1015675,327,1,1,1,,2,2,2,,30,0,2,20,1,190,1,,1,700,1,1,1,4,,,190,1,1,,16,2,130,9,,,,,,1,4,50000,0,4,4,4,1,3,0,,0,0,0,23,0,0,0,0,0,2,951,2,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,504,318,279,498,365,84,95,107,296,292,331,342,328,557,526,523,335,98,365,105,582,350,357,513,340,103,105,102,342,335,314,317,310,557,569,511,360,106,320,542,91,317,335,115,375,610,599,537,339,364,332,321,332,102,94,113,344,530,325,535,103,292,341,105,283,538,527,545,336,292,351,315,298,93,97,89,325,528,291,96 H,1174616,8,900,4,16,1015675,102,3,1,1,,4,2,2,,60,0,800,3,4,250,1,,1,540,2,1,1,8,,,,1,1,,12,3,50,6,1,50000,2,,,1,1,50000,0,2,2,2,1,5,1,3,0,0,1,18,0,0,1,0,0,1,746,3,0,1,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,75,104,104,36,30,26,86,176,129,35,130,122,29,101,114,127,152,96,108,161,134,97,91,33,28,28,128,203,126,40,82,77,38,104,160,151,150,101,109,36,79,109,92,157,183,165,97,37,138,175,107,111,155,101,29,33,33,80,82,29,179,102,102,208,138,137,120,30,64,218,93,87,181,95,35,31,30,130,119,320 H,1174830,8,800,4,16,1015675,174,2,1,1,,2,1,2,,50,0,400,3,8,,1,,,,,,1,5,2,480,,1,3,,,2,2,6,1,52000,4,563,13,2,1,52000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,179,142,227,205,271,158,173,304,208,193,95,67,243,269,59,130,224,49,200,240,169,177,72,149,217,216,160,76,152,151,291,237,78,77,239,164,47,222,155,263,215,207,96,174,177,195,196,63,161,156,271,259,58,65,207,132,60,222,133,65,165,164,281,158,149,232,226,262,186,162,64,68,227,277,77,178,262,62,161 H,1174915,8,900,4,16,1015675,12,2,1,1,,5,2,2,,50,0,2,60,1,1300,1,,2,460,2,1,1,9,,,360,1,1,,18,2,1100,5,1,165430,4,,,1,1,165430,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,0,0,1,1255,2,0,1,27,2,5,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,18,13,3,4,18,27,4,6,22,3,5,14,11,20,11,12,15,13,10,22,15,12,4,5,20,25,5,12,16,3,3,13,14,23,13,11,10,14,15,5,17,13,21,23,5,3,25,10,3,26,26,12,10,4,13,13,13,11,12,3,13,17,25,20,3,3,22,14,4,18,19,15,13,5,10,8,14,10,14 H,1175052,8,800,4,16,1015675,91,1,1,2,1,3,2,2,,30,0,2,30,2,390,1,,,,,3,1,5,,,,1,2,,15,1,240,7,,,,,,1,6,19100,0,4,4,4,1,7,0,,0,0,0,12,0,0,0,1,1,1,186,,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,30,114,109,155,22,79,93,30,101,100,27,87,88,87,30,168,150,141,79,30,175,101,87,30,153,97,87,139,103,114,203,91,78,76,181,33,23,26,84,27,159,85,98,27,160,99,77,166,89,102,150,90,88,87,148,24,28,33,99,181,33,85,94,168,28,86,91,32,77,93,37,92,105,90,26,150,152,188,89 H,1175061,8,100,4,16,1015675,206,2,1,1,,3,2,2,,100,0,2,200,2,500,1,,2,1700,2,1,1,6,,,,1,1,,21,3,2,2,,,,,,1,7,29500,0,4,4,4,1,3,0,,0,1,0,90,3,0,0,0,0,2,2209,3,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,394,321,205,230,236,208,211,83,60,66,225,339,179,63,209,212,72,197,351,66,50,61,179,200,195,199,213,372,321,378,200,56,201,321,235,209,321,199,52,69,65,62,189,210,226,213,194,347,330,340,200,68,202,312,217,209,313,191,60,345,342,339,231,208,212,196,186,69,54,65,218,324,230,66,222,204,63,203,354,380 H,1175242,8,200,4,16,1015675,147,1,1,,,0,9,,,1,0,1,1,3,,2,,,,,,1,1,2,480,,1,3,,,1,1,6,,,,480,72,1,6,8000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,145,190,196,156,141,262,214,184,272,172,290,157,243,154,121,152,110,167,57,44,125,134,53,103,135,52,28,54,95,308,62,148,71,153,110,166,117,36,178,263,166,133,248,160,133,311,320,247,195,129,217,189,275,154,120,121,140,227,36,41,115,139,50,210,208,44,49,42,36,177,42,132,39,142,162,164,185,42,263 H,1175480,8,300,4,16,1015675,140,5,1,3,1,4,2,2,,150,0,200,3,4,1200,1,,,,,3,1,8,,,,1,2,,19,2,2,5,7,25000,2,,,1,3,35000,0,2,2,2,1,5,3,4,0,1,3,13,4,0,1,0,0,2,392,,0,0,27,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,160,122,55,117,187,211,201,151,105,140,119,148,60,55,53,196,283,50,157,163,102,168,210,177,51,37,42,100,141,143,139,144,206,258,302,117,41,38,117,320,134,99,191,126,43,43,57,158,140,141,144,171,253,253,205,148,36,297,144,42,139,143,51,148,209,188,202,162,155,137,160,138,37,47,51,106,211,157 H,1175609,8,100,4,16,1015675,52,3,1,,,2,5,,,40,0,2,3,3,,1,,,,,,1,3,2,400,,1,3,,,3,1,4,1,42000,2,440,13,1,1,42000,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,47,107,17,58,16,13,52,11,88,51,45,52,88,73,15,53,95,85,60,46,48,14,87,50,94,82,48,84,15,57,51,51,15,54,98,60,20,19,57,50,62,88,15,54,14,15,51,18,103,56,59,50,97,45,12,54,81,78,46,63,60,19,89,57,81,80,46,112,17,59,59,45,17,54,97,62,15,17,38,60 H,1175805,8,400,4,16,1015675,140,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,40,167,223,131,110,199,148,34,48,41,137,143,138,162,156,217,208,229,40,158,246,142,40,146,148,41,159,259,211,234,144,148,128,124,167,45,38,44,222,149,44,143,214,162,154,191,119,39,40,39,130,133,129,141,156,253,208,238,42,127,270,170,42,126,127,46,123,248,214,256,155,133,128,129,154,41,46,47 H,1175933,8,100,4,16,1015675,39,2,1,2,1,3,2,2,,50,0,2,130,1,350,1,,,,,3,1,6,,,,1,2,,14,1,230,3,8,11800,4,,,1,3,11800,0,4,4,4,1,4,0,2,0,0,0,25,0,0,0,1,1,2,247,,0,1,6,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,46,34,67,43,9,10,10,35,41,30,37,38,73,62,45,30,10,39,10,61,39,39,87,47,11,10,13,43,51,44,41,41,60,69,84,54,13,32,57,10,55,44,10,43,61,58,60,35,42,44,51,41,11,10,12,32,55,42,51,11,35,36,14,41,64,66,67,44,28,53,51,25,16,11,10,38,66,53,12 H,1176120,8,900,4,16,1015675,75,1,1,2,1,2,2,2,,40,0,2,30,2,400,1,,,,,3,1,6,,,,1,2,,18,2,2,4,,,,,,1,6,10260,0,4,4,4,1,6,0,,0,0,0,15,0,0,0,1,1,2,128,,0,1,8,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,84,149,146,29,31,127,73,23,113,104,64,79,26,73,72,75,73,23,61,82,73,132,104,24,23,132,92,21,110,104,79,89,22,61,80,80,61,27,89,88,96,26,32,108,99,25,69,103,21,23,65,67,118,79,71,59,68,113,117,82,81,26,22,105,114,28,87,93,17,26,96,83,79,62,89,68,81,153,59 H,1176260,8,800,4,16,1015675,171,1,1,,,2,5,,,30,0,2,3,3,,1,,,,,,1,4,2,550,,2,3,,,0,2,3,,,,580,46,1,4,15000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,175,257,254,55,46,183,210,154,145,296,66,206,138,182,284,47,173,144,50,340,197,191,280,54,52,194,187,185,139,283,51,240,166,156,286,45,197,160,197,53,149,63,56,253,256,193,137,179,197,43,284,146,208,194,41,391,149,192,217,50,144,60,49,270,323,160,176,171,210,50,270,163,163,190,69,322,171,261,79 H,1176331,8,500,4,16,1015675,73,3,1,2,1,3,2,2,,150,0,50,3,6,300,1,,2,660,2,2,1,6,,,160,1,1,,17,2,2,5,2,34720,1,,,1,1,34720,0,1,1,1,1,4,1,3,0,0,1,38,0,0,1,0,0,1,1099,2,0,1,24,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,21,78,116,80,21,74,81,77,24,67,22,133,75,117,80,92,68,135,134,76,76,19,69,128,80,127,128,21,73,24,74,73,20,70,21,127,125,75,79,68,80,140,65,21,84,20,22,129,80,141,74,76,128,70,117,21,23,78,85,143,134,77,25,86,120,66,81,76,116,76,130,22,73,21,80,72,71,22,20,23 H,1176364,8,400,4,16,1015675,56,5,1,2,1,4,2,2,,40,0,2,3,3,2400,1,,1,1100,1,1,1,6,,,,1,1,,19,2,30,2,2,70000,1,,,4,1,70000,0,1,1,1,2,3,3,5,0,0,3,20,0,0,1,0,0,1,1143,3,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,83,52,18,64,46,19,69,78,66,132,81,58,58,61,74,13,18,19,91,72,84,56,18,51,60,13,64,142,86,89,48,52,60,58,47,16,14,17,72,55,127,57,13,59,55,16,61,73,84,84,68,68,53,63,62,14,18,16,107,61,85,48,19,50,63,19,53,129,102,91,57,57,56,64,50,16,15,15,98 H,1176487,8,100,4,16,1015675,78,1,1,1,,1,1,2,,1,1800,2,1,1,,1,,,,,,1,2,2,550,,2,3,,,1,1,6,,,,550,85,1,4,7800,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,101,27,85,120,23,26,163,82,70,125,81,121,88,87,86,20,70,20,16,83,87,163,76,30,120,119,30,63,87,37,83,22,86,64,64,127,70,130,141,68,74,22,76,159,28,22,134,96,68,99,70,126,113,114,83,22,78,23,26,75,57,118,66,24,136,137,23,67,80,26,84,25,80,95,79,123,70,134,107 H,1176729,8,200,4,16,1015675,293,4,1,2,1,5,2,2,,300,0,500,150,6,500,1,,1,1400,1,1,1,8,,,,1,1,,18,3,70,6,7,80700,3,,,1,3,149400,0,1,1,1,1,2,2,3,0,1,2,15,4,0,1,0,0,1,1898,3,0,1,32,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,78,283,347,88,88,105,131,250,101,365,106,296,366,288,229,131,170,196,220,403,334,449,502,228,278,284,293,446,330,482,312,546,545,496,396,248,252,403,478,88,206,286,209,112,133,108,86,316,132,216,102,259,336,249,240,126,85,290,329,244,266,372,371,367,385,312,344,533,237,474,299,406,382,468,410,335,412,476,448,98 H,1176817,8,400,4,16,1015675,17,3,1,1,,4,2,2,,70,0,2,20,1,,1,,,,,,1,9,2,450,,1,3,,,2,550,7,3,72050,2,586,10,3,1,72050,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,21,19,28,16,6,33,38,5,16,24,7,13,5,22,29,16,28,13,6,33,17,15,32,20,5,30,60,7,17,17,7,22,5,20,25,18,28,17,42,5,19,20,4,18,40,5,5,40,12,13,30,20,42,23,15,24,7,13,28,3,17,15,5,20,33,7,5,29,21,16,35,23,35,21,18,17,5,17,3 H,1176961,8,200,4,16,1015675,31,2,1,2,1,2,2,2,,80,0,100,3,6,,1,,,,,,1,4,2,230,,1,3,,,2,1,9,3,55250,4,318,7,1,1,55250,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,33,29,13,9,10,9,32,8,30,10,25,27,32,29,13,12,35,39,41,32,48,44,32,42,29,20,55,45,55,31,48,55,42,49,28,27,57,47,56,56,23,30,50,47,51,49,34,54,29,45,34,31,29,29,47,51,33,36,36,25,10,10,28,27,24,31,12,33,9,37,10,9,7,9,45,35,11,9,8 H,1177034,8,100,4,16,1015675,127,3,1,1,,3,2,2,,50,0,2,100,1,400,1,,1,970,1,1,1,7,,,,1,1,,20,2,600,2,4,27240,4,,,1,1,27240,0,4,4,4,1,3,0,3,0,0,0,52,0,0,0,1,1,1,1170,3,0,1,39,2,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,37,121,41,36,186,181,131,108,137,118,35,223,139,125,135,44,219,118,230,137,40,126,36,43,269,204,111,138,157,107,41,230,109,127,116,42,236,130,45,116,203,117,217,269,38,34,145,124,146,108,212,43,140,129,116,247,36,123,36,171,240,128,225,231,39,31,128,133,117,140,198,34,115,114,124,216,39,125,209 H,1177075,8,800,4,16,1015675,125,1,1,2,1,4,2,2,,100,0,2,3,3,200,1,,,,,3,1,8,,,,1,2,,13,2,2,7,,,,,,1,4,27400,0,4,4,4,1,6,0,,0,0,0,8,0,0,0,0,0,1,179,,0,1,16,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,158,108,116,228,111,213,134,130,98,30,119,49,116,109,39,125,189,47,44,194,203,165,113,155,141,231,97,104,164,45,131,56,142,111,39,138,187,39,43,237,189,123,117,188,139,196,90,114,140,43,120,39,138,120,37,141,266,30,31,232,174,104,142,260,172,261,185,140,127,31,99,32,126,135,34,101,193,37,40,200 H,1177258,8,800,4,16,1015675,27,2,1,2,1,3,2,2,,190,0,2,3,2,640,1,,,,,3,1,5,,,,1,2,,15,2,2,7,2,58300,4,,,1,1,58300,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,2,1,281,,0,1,11,1,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,25,17,28,41,40,58,47,25,5,28,37,29,30,52,25,9,12,10,27,39,27,41,25,27,8,10,10,38,51,26,12,26,25,7,20,46,37,56,26,9,26,24,33,31,47,55,49,30,9,26,39,31,27,54,23,8,12,7,26,45,27,34,22,31,9,8,8,32,56,31,8,21,35,9,29,69,45,53,19,11 H,1177296,8,500,4,16,1015675,549,6,1,1,,3,2,2,,90,0,2,60,1,,1,,,,,,1,5,2,730,,1,3,,,2,240,3,1,49500,3,900,22,1,1,49500,0,3,3,3,1,1,4,6,0,0,4,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,594,794,178,189,216,151,872,569,558,157,952,618,597,831,539,560,941,528,579,527,541,839,170,164,197,186,837,490,639,208,868,567,534,743,501,497,825,549,511,582,465,161,802,855,902,878,160,612,613,796,169,568,568,174,538,541,165,515,505,527,606,167,1039,962,858,1030,187,509,549,869,176,562,623,150,583,663,180,473,515,559 H,1177624,8,800,4,16,1015675,83,2,1,2,1,2,2,2,,70,0,2,70,1,600,1,,,,,3,1,5,,,,1,2,,24,5,2,4,1,75400,4,,,1,1,75400,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,2,0,1,607,,0,1,62,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,165,126,89,25,154,22,71,107,88,66,93,86,128,21,67,71,23,27,82,24,94,85,23,81,72,91,29,152,163,132,150,18,94,89,121,27,73,86,26,79,22,26,84,141,22,132,94,77,96,79,95,80,25,142,83,93,121,141,86,120,72,86,131,82,83,85,119,24,21,23,28,158,80,89,28,129,84,93,152 H,1177686,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1177709,8,900,4,16,1015675,88,6,1,1,,3,2,2,,60,0,2,90,1,380,1,,1,850,1,1,1,9,,,,1,1,,15,3,50,5,1,33000,3,,,1,1,33000,0,3,3,3,1,1,4,6,0,0,4,37,0,0,1,0,0,1,1004,3,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,154,101,92,107,21,142,82,82,22,83,25,27,144,174,97,92,80,85,30,164,23,76,122,93,176,27,72,94,183,105,159,165,30,26,80,75,87,70,30,170,26,75,95,99,153,26,89,88,150,99,166,180,25,27,100,91,79,83,150,30,147,71,108,88,29,157,74,76,21,99,25,28,215,134,91,88,78,78,219 H,1177820,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1177824,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1177893,8,700,4,16,1015675,398,3,1,1,,3,2,2,,40,0,2,200,1,200,1,,2,1200,1,1,1,6,,,400,1,1,,17,2,30,3,1,103000,1,,,1,1,103000,0,1,1,1,1,1,1,3,0,0,1,22,0,0,1,0,0,2,1860,1,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,127,422,414,394,718,379,117,392,119,113,586,371,683,398,356,666,393,660,146,410,719,376,423,406,112,418,642,388,616,700,127,402,112,393,453,122,392,99,616,418,117,381,428,401,666,421,126,388,133,118,636,414,722,380,379,597,405,701,116,426,673,442,390,471,113,335,626,390,639,658,118,413,127,400,359,116,455,127,510,456 H,1178296,8,500,4,16,1015675,105,6,1,1,,3,2,2,,130,0,2,100,1,450,1,,,,,3,1,6,,,,1,2,,19,3,2,3,2,69600,2,,,1,1,69600,1,2,4,2,1,4,0,6,0,0,3,7,0,1,1,2,0,2,410,,0,1,29,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,31,189,88,28,30,30,90,166,32,98,107,115,110,182,184,115,105,106,106,198,29,189,129,31,26,35,105,163,28,106,107,108,108,188,185,108,111,119,96,178,32,194,102,32,28,33,105,164,30,106,91,109,104,158,159,103,106,109,117,175,29,172,108,34,33,28,117,190,30,100,109,104,112,182,202,106,120,116,105 H,1178827,8,800,4,16,1015675,22,5,1,1,,3,2,2,,90,0,2,70,1,320,1,,1,590,1,1,1,6,,,,2,1,,12,2,80,5,1,65000,3,,,1,1,65000,0,3,3,3,1,2,3,5,0,0,3,14,0,0,1,0,0,1,757,3,0,1,11,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,20,7,25,23,27,6,22,7,37,24,40,26,23,26,40,39,7,20,19,23,40,22,40,38,8,27,7,19,19,6,28,8,38,37,21,20,30,5,7,40,24,7,22,21,23,6,23,5,39,26,30,25,30,24,35,40,7,21,27,23,38,28,34,43,6,25,7,23,28,8,20,5,39,40,26,27,22,8,6 H,1178906,8,400,4,16,1015675,101,4,1,3,1,1,2,2,,50,0,2,3,3,0,1,,2,500,2,1,1,4,,,,1,1,,8,2,1200,3,6,56400,4,,,1,2,56400,0,4,4,4,1,3,0,4,0,0,0,15,0,0,0,1,1,1,683,3,0,0,9,2,12,12,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,143,82,100,190,100,156,79,97,109,26,93,26,106,116,31,110,173,25,25,34,30,103,118,31,101,33,110,97,108,171,80,178,111,127,169,85,38,176,154,172,168,103,79,142,100,160,90,85,85,29,115,34,108,90,29,89,170,30,24,34,32,110,115,32,104,35,93,109,95,161,79,185,110,100,151,92,39,192,184,166 H,1178931,8,900,4,16,1015675,83,3,1,1,,5,2,2,,60,0,2,10,1,600,1,,,,,3,1,8,,,,1,2,,13,4,640,8,2,29120,2,,,5,1,29120,0,2,2,2,1,5,1,3,0,0,1,12,0,0,1,0,0,2,290,,0,1,26,2,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,20,24,135,91,147,79,80,169,98,170,17,27,71,58,83,159,99,25,101,77,151,142,38,109,23,66,81,24,73,24,128,152,100,80,95,20,70,137,89,96,130,111,26,99,24,69,78,21,83,24,163,164,78,83,65,23,89,134,101,65,33,27,134,83,130,100,94,147,76,126,28,27,99,87,60,115,80,25,74 H,1179123,8,700,4,16,1015675,117,4,1,1,,4,2,2,,180,0,2,3,3,790,1,,2,1100,1,1,1,9,,,,1,1,,16,2,50,5,1,132000,2,,,1,1,132000,0,2,2,2,1,5,1,4,0,0,1,12,0,0,1,0,0,1,1350,3,0,1,31,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,112,119,169,208,121,206,36,197,33,109,34,31,129,130,111,116,104,121,112,205,37,35,123,112,202,125,114,119,116,201,107,107,34,38,196,191,37,195,34,108,123,111,225,190,107,223,32,196,34,123,37,35,111,106,112,117,127,117,112,180,36,35,120,137,190,108,128,132,111,199,122,119,37,34,185,192,35,193 H,1179153,8,300,4,16,1015675,52,3,1,1,,3,2,2,,90,0,1200,3,6,230,1,,1,750,1,1,1,8,,,,1,1,,13,1,450,5,1,24000,2,,,1,1,24000,0,2,2,2,1,4,1,3,0,0,1,49,0,0,1,0,0,1,978,3,0,1,33,1,7,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,94,55,94,53,17,52,16,79,49,15,15,45,48,58,52,56,92,45,85,14,81,51,106,52,15,53,13,87,54,16,16,52,50,48,53,54,96,45,97,14,85,49,78,56,15,49,14,82,52,15,15,44,50,63,53,49,86,53,110,13,87,51,101,67,13,48,15,99,48,14,15,50,55,60,52,47,84,52,82 H,1179164,8,600,4,16,1015675,110,2,1,1,,3,2,2,,40,0,2,120,1,400,1,,,,,3,1,5,,,,1,2,,14,2,510,5,2,114200,4,,,1,1,114200,0,4,4,4,1,7,0,2,0,0,0,4,0,0,0,0,0,1,353,,0,1,26,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,34,198,189,33,101,115,33,107,31,119,110,120,211,111,187,110,108,185,32,108,29,196,179,33,105,106,30,106,33,105,104,115,196,129,196,110,112,194,185,108,187,32,34,193,118,121,196,101,188,104,109,113,32,109,30,114,112,31,201,105,206,30,35,191,115,123,177,110,201,112,105,111,33,113,32,110,113,32,34 H,1179249,8,600,4,16,1015675,119,1,1,,,2,4,,,1,0,2,1,3,,1,,,,,,1,4,2,700,,1,3,,,1,1,6,,,,700,12,1,4,72000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,112,117,125,35,195,114,109,36,122,36,35,184,207,137,129,125,109,32,178,204,119,117,110,34,207,115,118,30,117,36,35,214,206,126,120,118,123,38,213,203,115,122,117,32,214,126,119,33,122,34,32,215,188,117,122,116,126,35,227,198,108,112,111,35,203,127,128,31,119,36,37,206,203,115,131,122,102,35,208,220 H,1179371,8,400,4,16,1015675,194,6,1,1,,3,1,2,,100,5600,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,2,1,5,2,8000,3,600,90,1,1,8000,0,3,3,3,1,1,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,289,174,255,187,51,231,65,182,188,60,266,297,68,65,394,280,193,380,68,187,65,154,158,250,270,157,332,191,246,387,216,74,215,250,61,129,139,41,56,212,58,128,146,271,324,182,349,217,202,470,166,52,268,321,65,266,200,47,315,203,259,158,190,177,74,187,46,181,262,55,261,286,49,64,315,233,213,276,254 H,1180528,8,600,4,16,1015675,303,0,1,,,1,7,,,,,,,,,1,,,,,,1,2,1,2400,,,,1,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,559,270,435,85,390,250,293,115,310,457,324,78,95,339,337,87,491,335,561,331,492,332,547,75,289,287,263,93,308,508,335,83,101,309,254,75,565,304,478,327,575,274,508,104,339,310,373,92,322,519,284,77,90,286,358,93,471,349,501,328,461,316,560,93,272,287,297,89,294,481,313,81,96,319,292,85,469,267,435,359 H,1180805,8,700,4,16,1015675,96,6,1,1,,4,2,1,,150,0,500,40,1,150,1,,1,1400,1,1,1,8,,,480,1,1,,21,3,2400,4,1,199700,2,,,3,1,199700,1,2,2,2,1,3,2,6,0,0,2,14,0,1,1,2,2,1,2312,2,0,0,42,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,87,93,163,100,27,29,28,95,95,94,98,101,157,163,156,93,27,100,168,27,97,101,27,94,164,176,174,104,98,90,94,100,27,25,27,102,179,88,27,168,103,90,179,98,29,32,28,100,104,90,99,95,157,150,155,98,28,100,162,26,88,95,29,84,157,167,173,100,89,101,101,103,28,26,27,94,180,90,30 H,1180816,8,600,4,16,1015675,110,2,1,1,,2,2,2,,70,0,2,30,1,250,1,,,,,3,1,9,,,,1,2,,14,2,1000,5,,,,,,1,5,73190,0,4,4,4,1,6,0,,0,1,0,5,1,0,0,0,0,1,312,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,110,180,32,94,111,105,33,116,179,108,30,32,103,119,37,169,113,173,112,33,115,35,182,118,106,113,205,103,33,105,188,176,97,115,195,33,104,34,108,176,95,196,31,124,106,94,34,101,175,111,34,33,116,109,32,178,109,205,106,32,102,34,185,112,130,104,171,120,39,97,183,195,110,121,179,30,102,34,106 H,1181197,8,900,4,16,1015675,88,1,1,1,,4,2,2,,20,0,2,50,1,300,1,,1,330,1,1,1,7,,,,1,1,,12,1,370,7,,,,,,1,6,18500,0,4,4,4,1,5,0,,0,0,0,28,0,0,0,1,1,1,431,3,0,1,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,30,25,177,130,98,154,76,83,25,82,25,79,25,89,93,152,90,86,152,162,88,95,80,67,134,98,29,131,76,142,95,29,104,23,128,101,26,22,106,91,160,125,28,26,94,27,69,85,129,89,176,87,125,78,110,25,81,89,22,19,91,85,88,78,30,106,163,29,85,28,89,194,131,143,23,94,149,137,82,113 H,1181246,8,500,4,16,1015675,102,1,1,1,,3,2,2,,20,0,2,110,1,350,1,,1,590,1,1,1,5,,,270,1,1,,15,1,80,2,,,,,,1,4,48030,0,4,4,4,1,3,0,,0,0,0,25,0,0,0,0,0,1,997,4,0,1,24,,,,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,28,30,98,101,76,102,29,82,27,122,29,32,30,31,100,99,27,32,109,153,95,110,196,199,171,179,104,177,120,177,103,126,99,121,162,164,107,93,156,105,27,30,105,91,112,121,25,99,30,119,27,27,25,30,110,118,31,33,94,185,102,116,199,155,172,148,98,178,124,163,92,93,103,106,166,158,98,100,174,81 H,1181372,8,500,4,16,1015675,54,2,1,1,,3,2,2,,170,0,2,3,3,300,1,,,,,3,1,5,,,,1,2,,12,3,50,5,2,43500,4,,,1,1,43500,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,1,272,,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,90,13,58,13,56,91,48,87,16,56,95,95,57,56,66,47,55,18,87,59,16,91,51,83,50,17,58,16,94,55,15,13,55,50,51,52,50,92,16,51,93,14,53,16,58,87,56,100,17,48,93,87,49,53,61,53,60,16,93,57,17,98,54,82,45,16,50,18,81,46,14,17,51,55,53,50,53,85,15 H,1181455,8,800,4,16,1015675,38,0,1,1,,3,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,82,77,39,34,33,36,36,11,40,67,9,34,11,37,65,40,68,10,8,37,71,63,41,39,34,45,32,10,42,72,11,39,11,31,63,36,64,10,10,35,64,62,40,36,32,35,36,12,34,63,10,39,11,32,61,33,62,13,12,43,68,61,38,37,48,39,37,11,32,61,10,38,11,45,62,33,74,11,12 H,1181464,8,600,4,16,1015675,105,3,1,1,,3,2,2,,50,0,2,70,1,350,1,,1,700,1,1,1,6,,,,1,1,,15,4,480,5,1,111200,2,,,1,1,111200,0,2,2,2,1,5,1,3,0,0,1,9,0,0,1,0,0,1,860,3,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,199,116,101,176,108,30,183,179,27,104,103,31,114,33,98,109,115,175,116,188,37,109,101,31,98,175,34,32,155,105,108,181,102,181,113,122,106,28,98,182,28,96,123,30,102,174,32,36,179,123,100,186,107,172,111,97,94,29,116,35,178,100,107,184,106,31,177,182,37,101,122,26,97,28,99,106,103,186,117,28 H,1181671,8,900,4,16,1015675,64,1,1,,,3,6,,,100,500,2,3,3,,1,,,,,,1,5,2,650,,1,3,,,1,2,5,,,,750,45,1,4,20000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,60,124,23,52,50,67,17,74,119,55,21,19,57,85,15,102,72,113,58,13,93,21,83,83,73,68,82,65,23,81,108,104,90,74,124,17,55,17,59,131,45,89,29,76,53,66,24,91,138,59,24,24,55,64,17,131,63,107,75,18,74,18,90,60,78,63,83,47,16,81,121,103,74,65,126,18,57,19,80 H,1181993,8,100,4,16,1015675,32,2,1,1,,3,2,2,,150,0,900,3,6,370,1,,1,800,2,1,1,7,,,100,1,1,,14,3,840,9,1,78000,4,,,1,1,78000,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,1,1228,2,0,1,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,9,53,63,9,11,32,12,32,28,63,33,49,27,61,39,33,10,22,27,61,27,31,34,30,30,52,29,7,38,38,63,45,10,31,12,51,39,10,6,11,34,32,22,26,30,9,33,69,10,26,10,24,49,35,70,8,22,64,62,41,63,8,8,51,56,42,46,33,48,10,34,9,37,10,27,33,45,33,32,37 H,1182168,8,800,4,16,1015675,28,1,1,2,1,2,1,2,,100,0,500,3,3,500,1,700,,,,3,1,4,,,,1,2,,6,6,2,3,,,,,,1,6,12000,0,4,4,4,1,5,0,,0,0,0,28,0,0,0,0,0,1,284,,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,32,28,29,30,34,41,40,56,40,9,25,40,26,31,57,23,8,8,6,9,28,29,21,25,27,51,71,71,26,8,29,35,29,28,38,32,7,11,12,9,27,24,33,37,34,45,40,58,31,6,23,40,29,33,73,27,7,8,10,7,25,29,29,45,31,40,44,43,35,8,31,46,34,35,48,31,5,7,11 H,1182212,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1182367,8,800,4,16,1015675,79,1,1,1,,3,2,2,,40,0,2,50,1,650,1,,2,1100,2,1,1,6,,,,1,1,,19,1,720,5,,,,,,1,4,50000,0,4,4,4,1,5,0,,0,0,0,33,0,0,0,0,0,2,1357,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,32,27,27,25,73,20,78,23,84,80,90,79,22,22,80,74,22,69,67,126,92,81,79,88,135,97,136,82,160,170,152,117,85,77,139,145,84,117,24,84,24,22,27,22,79,22,73,26,84,86,78,95,25,18,85,80,22,86,101,144,77,80,82,78,151,83,105,85,120,118,150,147,88,94,132,115,98,155,24 H,1182424,8,100,4,16,1015675,98,1,1,1,,3,2,2,,60,0,2,30,1,900,1,,1,570,1,2,1,5,,,,1,1,,15,1,550,3,,,,,,1,6,21000,0,4,4,4,1,3,0,,0,0,0,40,0,0,0,0,0,1,706,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,106,95,84,96,28,27,31,108,193,104,32,94,124,27,90,174,140,164,165,97,97,87,80,96,30,30,31,111,176,95,27,90,126,25,96,165,175,200,32,79,92,86,113,94,172,142,169,122,33,87,140,97,91,139,127,29,30,30,34,85,89,93,109,98,168,162,164,112,37,95,174,112,95,161,124,28,25,26,167 H,1182457,8,700,4,16,1015675,84,4,1,1,,3,2,2,,60,0,2,80,1,150,1,,1,1100,1,1,1,5,,,250,1,1,,17,2,480,2,1,80000,1,,,1,1,80000,0,1,1,1,1,3,2,4,0,0,2,23,0,0,1,0,0,2,1530,4,0,1,17,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,137,138,22,76,26,88,86,25,73,27,133,143,79,84,80,22,88,149,94,80,152,136,25,83,27,84,84,25,85,26,135,143,78,79,91,24,88,138,90,86,22,25,145,89,144,72,85,127,93,137,26,23,88,90,80,154,81,21,83,87,27,27,153,94,138,79,86,142,82,132,25,25,80,80,81,137,84,24,73,82 H,1183931,8,400,4,16,1015675,73,2,1,1,,2,2,2,,30,0,2,70,1,,1,,,,,,1,4,2,330,,1,3,,,1,20,9,7,19220,2,432,27,1,3,19220,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,18,82,146,49,19,82,78,32,69,125,111,139,71,61,79,75,67,18,33,107,129,76,20,64,125,100,72,98,86,30,26,21,95,79,72,57,57,114,21,93,112,91,24,65,127,67,77,172,84,20,25,30,67,70,67,73,78,91,130,20,19,92,112,67,37,77,50,23,69,159,128,113,78,64,65,74,78,23,155 H,1184111,8,400,4,16,1015675,73,2,1,2,1,4,1,2,,100,0,2,70,2,0,1,0,1,170,2,1,1,7,,,460,1,1,,1,3,2,2,4,34520,4,,,1,1,34520,0,4,4,4,1,3,0,2,0,0,0,29,0,0,0,0,0,2,821,2,0,0,7,0,9,9,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,23,84,109,75,96,64,113,116,78,109,14,77,128,56,66,96,64,30,34,37,20,100,100,49,76,57,93,114,84,73,24,81,145,60,74,138,50,16,34,111,133,64,96,90,100,60,18,26,15,80,86,72,25,79,80,18,76,130,100,168,142,102,127,54,65,53,22,30,14,88,95,59,23,74,74,29,54,81,149,24 H,1184497,8,700,4,16,1015675,70,5,1,2,1,4,2,2,,90,0,2,330,1,600,1,,1,2400,1,1,1,7,,,700,1,1,,22,3,600,2,1,119300,2,,,1,1,119300,0,2,2,2,1,3,3,5,0,0,3,36,0,0,1,0,0,1,3570,2,0,1,52,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,110,20,70,74,68,122,22,69,70,118,73,126,115,21,19,67,70,73,22,66,122,22,67,68,71,129,21,77,71,113,71,125,116,19,20,77,78,65,114,73,22,116,77,72,72,24,125,73,76,19,72,21,20,111,114,72,71,73,119,68,19,120,70,63,69,20,127,72,66,22,74,23,21,114,109,69,77,66,21 H,1184550,8,600,4,16,1015675,108,1,1,1,,2,3,2,,40,0,2,70,1,,1,,,,,,1,5,2,690,,1,3,,,1,1,6,,,,800,19,1,4,50000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,111,118,113,124,35,104,30,110,34,31,32,32,110,125,28,33,109,31,34,207,174,171,189,182,99,187,103,181,100,115,116,131,181,186,128,111,165,93,105,118,112,101,121,121,182,109,202,98,176,206,177,185,111,101,206,174,111,174,163,30,35,37,30,35,114,30,104,32,107,109,102,102,33,32,115,116,31,122,107,108 H,1184775,8,300,4,16,1015675,84,1,1,,,5,9,,,1,0,2,1,3,,1,,,,,,1,9,1,2000,,1,3,,,0,1,3,,,,2000,101,1,6,22200,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,71,85,29,25,138,120,27,87,145,29,26,82,86,133,83,110,78,69,94,166,70,98,23,26,147,120,26,83,160,23,23,108,92,162,72,77,83,75,73,122,82,83,27,27,124,162,27,77,132,29,23,87,76,125,92,88,82,87,104,134,80,89,21,27,138,167,25,71,126,26,21,93,85,151,108,92,88,100,82 H,1184806,8,800,4,16,1015675,26,1,1,1,,2,2,2,,70,0,2,3,3,400,1,,2,490,2,1,1,4,,,,1,1,,9,2,470,5,,,,,,1,4,29690,0,4,4,4,1,6,0,,0,0,0,27,0,0,0,1,0,1,675,3,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,25,6,45,10,27,24,26,27,26,22,42,7,22,27,6,7,29,41,23,22,46,29,25,24,42,8,8,10,9,51,29,24,8,49,27,29,46,25,5,7,30,46,8,47,27,28,29,21,25,25,7,52,27,22,43,45,26,8,27,25,9,28,28,25,9,47,35,45,40,6,28,30,38,7,28,22,11,31,45 H,1184809,8,900,4,16,1015675,73,5,1,1,,3,3,2,,40,0,2,80,1,,1,,,,,,1,6,2,930,,1,3,,,2,50,1,1,35000,2,1054,36,1,1,35000,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,124,74,80,76,21,79,20,75,81,20,73,122,23,20,115,67,60,130,23,72,25,85,74,82,130,67,124,62,61,109,80,23,131,137,25,81,83,28,125,74,128,76,73,71,22,64,22,71,72,24,77,120,18,22,108,75,82,131,20,73,20,75,79,73,148,80,137,82,62,163,71,20,116,114,25,94,70,27,122 H,1184816,8,900,4,16,1015675,78,1,1,1,,2,2,2,,50,0,2,70,1,480,1,,,,,3,1,6,,,,1,2,,9,0,540,8,,,,,,1,6,15300,0,4,4,4,1,7,0,,0,0,0,23,0,0,0,1,1,1,288,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,25,20,153,86,135,87,82,138,78,121,26,22,71,63,74,116,60,25,79,69,145,140,21,77,27,74,80,22,71,23,129,119,81,89,96,23,82,136,83,74,25,25,128,73,148,77,73,117,77,129,26,25,86,79,81,141,87,28,79,67,127,111,22,75,19,80,78,28,66,25,119,122,66,75,87,26,65,150,75 H,1184828,8,600,4,16,1015675,87,4,1,1,,3,2,2,,30,0,2,250,1,,1,,,,,,1,6,2,700,,1,3,,,2,1,5,3,40000,1,980,29,1,1,40000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,83,153,23,26,26,25,154,80,82,23,141,89,83,152,87,83,173,89,94,87,103,27,141,150,157,174,27,78,90,142,27,81,79,25,88,78,27,85,87,86,84,25,156,155,149,146,24,80,95,161,24,85,81,29,88,97,29,83,89,75,102,137,28,23,25,27,134,84,87,24,146,87,79,149,99,84,160,77,90,80 H,1184926,8,800,4,16,1015675,20,2,1,1,,3,2,2,,70,0,2,3,3,500,1,,1,420,1,1,1,4,,,,1,1,,11,3,700,5,4,28300,4,,,1,1,28300,0,4,4,4,1,6,0,2,0,0,0,23,0,0,0,2,2,2,548,3,0,1,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,32,41,23,3,22,43,16,20,43,20,7,4,8,31,18,24,20,18,27,9,5,5,20,37,17,5,25,22,4,19,32,37,34,25,22,13,27,19,36,5,5,6,14,32,29,5,16,22,5,18,30,28,37,19,17,29,25,22,8,42,34,29,20,5,19,35,25,23,37,20,6,7,5,20,23,18,22,17,6 H,1185222,8,100,4,16,1015675,89,2,1,1,,3,2,2,,30,0,2,140,1,800,1,,,,,3,1,4,,,,1,2,,17,2,140,6,4,20900,4,,,1,1,20900,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,2,2,1,382,,0,1,27,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,91,89,105,162,110,161,110,100,190,97,27,144,149,23,88,88,28,86,23,26,94,90,94,141,87,169,84,97,142,95,26,126,129,27,83,94,29,87,164,149,105,86,95,29,76,26,92,87,22,92,188,26,25,151,86,107,137,81,152,155,80,107,83,27,91,29,87,82,31,100,175,29,22,165,87,87,125,84,24 H,1185240,8,100,4,16,1015675,30,2,1,3,1,2,2,2,,50,0,2,3,6,600,1,,2,600,2,1,1,6,,,,1,1,,20,2,2,4,4,64000,4,,,1,1,64000,0,4,4,4,1,4,0,2,0,0,0,15,0,0,0,2,2,1,783,3,0,0,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,28,59,52,27,7,54,7,35,30,31,33,33,29,53,11,32,27,33,35,32,9,31,35,11,27,29,33,12,45,58,56,44,9,31,36,58,10,10,50,51,30,9,10,30,51,10,52,35,28,29,35,35,31,11,58,29,30,32,40,34,53,31,35,57,26,32,33,50,9,9,7,9,50,28,33,10,53,51 H,1185681,8,600,4,16,1015675,111,1,1,,,0,7,,,150,0,2,90,1,,1,,,,,,1,1,2,400,,2,3,,,1,1,8,,,,640,51,1,4,15000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,205,195,112,213,30,99,99,119,34,106,187,111,35,35,110,123,34,183,114,114,32,36,121,32,218,121,103,117,184,116,32,117,179,175,97,108,188,33,113,117,172,192,114,179,37,106,122,113,32,111,176,101,36,34,110,126,36,188,98,113,33,33,98,33,219,122,103,117,182,102,30,112,178,190,110,110,188,35,102 H,1185908,8,900,4,16,1015675,68,1,1,1,,3,2,2,,50,0,2,3,4,600,1,,,,,3,1,6,,,,1,2,,16,1,2,9,,,,,,1,6,13660,0,4,4,4,1,7,0,,0,0,0,16,0,0,0,1,1,2,183,,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,99,111,114,69,27,65,99,84,67,106,70,27,27,23,55,74,70,54,64,116,18,17,18,61,129,70,20,77,59,21,91,111,122,126,65,79,65,59,77,93,17,16,18,63,101,65,20,67,62,20,88,133,110,111,67,70,61,64,76,19,110,101,94,73,26,62,90,72,64,136,84,22,23,25,78,75,76,72,69,20 H,1185969,8,800,4,16,1015675,17,2,1,1,,1,2,2,,80,0,2,130,1,500,1,,,,,3,1,4,,,,1,2,,10,2,610,8,4,25300,4,,,1,1,25300,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,2,378,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,15,27,5,4,20,21,15,31,18,6,15,5,7,30,17,29,13,16,20,3,19,7,32,29,15,17,15,5,15,28,17,30,33,5,22,5,17,22,20,29,19,26,5,3,19,17,17,29,19,5,15,6,5,27,21,29,18,18,18,5,19,6,26,28,18,19,19,5,17,33,19,26,27,5,17,5,19,14,19 H,1185975,8,700,4,16,1015675,108,2,1,1,,4,2,2,,40,0,2,100,1,,1,,,,,,1,7,2,980,,1,3,,,2,500,1,,,,1162,23,2,5,61800,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,193,95,88,110,160,94,183,32,116,36,123,106,104,37,31,213,116,28,98,220,103,165,205,29,107,30,109,112,31,118,33,187,179,93,101,111,35,119,180,110,183,121,115,119,192,116,190,32,115,31,94,107,111,34,30,197,112,31,119,173,109,196,198,30,109,39,105,107,27,89,26,179,176,101,114,96,35,106,166 H,1186378,8,500,4,16,1015675,164,1,1,3,3,3,2,2,,60,0,2,3,3,300,1,,,,,3,1,5,,,,1,2,,12,2,2,9,,,,,,1,4,92600,0,4,4,4,1,6,0,,0,0,0,2,0,0,0,1,1,1,160,,0,0,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,233,54,167,55,51,204,50,220,186,164,180,324,154,51,174,248,258,157,161,185,44,269,178,308,315,163,226,53,171,153,163,51,149,280,148,37,51,148,205,138,47,248,142,285,280,157,305,55,153,169,178,55,180,241,173,44,45,179,140,183,307,54,145,47,53,167,42,264,159,159,166,260,183,53,160,301,240,154,163 H,1186413,8,700,4,16,1015675,110,4,1,1,,4,2,2,,90,0,2,110,1,500,1,,1,1700,1,1,1,8,,,100,1,1,,21,4,1500,3,1,275500,3,,,1,1,275500,0,3,3,3,1,3,2,4,0,0,2,9,0,0,1,0,0,1,2125,2,0,1,61,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,107,203,112,110,179,115,32,30,32,115,118,117,108,106,185,183,186,115,180,183,105,32,104,110,32,110,191,197,191,105,102,114,113,125,32,31,36,109,30,34,119,189,115,114,189,117,33,32,35,105,114,119,101,98,172,190,188,112,203,181,111,32,119,108,32,117,188,182,187,115,111,113,111,105,30,33,36,100,32 H,1186416,8,400,4,16,1015675,94,1,1,3,2,4,2,2,,60,0,120,3,6,1200,1,,1,1200,1,1,1,7,,,,1,1,,18,2,560,4,,,,,,1,4,25900,0,4,4,4,1,5,0,,0,0,0,61,0,0,0,1,1,1,1317,3,0,0,12,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,120,22,86,85,22,82,182,180,135,82,87,122,98,80,26,29,34,102,236,33,114,143,85,130,152,83,31,25,31,86,85,124,79,76,159,156,142,81,33,154,119,34,96,103,26,67,194,210,146,92,84,93,110,104,28,35,47,91,138,25,105,126,76,89,117,77,29,26,30,82,103,129,70,64,171,160,123,97,39,151 H,1186855,8,700,4,16,1015675,236,2,1,1,,3,2,2,,120,0,2,200,1,600,1,,2,1100,1,1,1,9,,,150,1,1,,18,2,300,6,2,85000,4,,,1,1,85000,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,1,0,2,1645,1,0,1,39,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,238,238,403,355,247,235,237,416,72,377,222,70,68,81,253,378,65,202,227,224,235,243,407,420,231,232,238,390,71,380,233,71,67,69,265,394,65,267,238,234,236,254,385,408,231,238,250,392,67,391,242,68,63,67,226,403,71,255,238,218,237,220,392,404,264,265,223,430,76,400,232,73,70,71,247,379,69,225,253 H,1187256,8,100,4,16,1015675,68,3,1,3,1,3,1,2,,80,0,300,3,3,0,1,0,,,,3,1,6,,,,1,2,,17,2,420,5,4,45900,4,,,1,1,45900,0,4,4,4,1,6,0,3,0,0,0,6,0,0,0,2,2,1,223,,0,0,22,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,59,131,70,62,59,19,19,68,20,109,18,116,79,140,99,70,72,86,70,68,105,70,22,117,109,72,64,18,73,74,49,75,22,61,65,128,129,24,22,71,138,64,18,111,120,71,58,20,56,70,72,68,22,80,77,111,104,17,20,20,76,129,71,59,63,21,18,76,25,123,28,117,56,100,120,74,60,62,62,18 H,1187296,8,800,4,16,1015675,52,3,1,2,1,3,2,2,,40,0,2,3,3,690,1,,2,350,2,1,1,7,,,,1,1,,16,2,2,5,6,30700,4,,,1,2,30700,0,4,4,4,1,6,0,3,0,0,0,20,0,0,0,1,1,1,517,3,0,1,18,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,58,15,57,15,49,47,56,108,50,83,53,45,77,48,14,83,91,18,17,48,47,14,60,16,56,58,51,106,62,83,49,47,100,62,17,94,105,14,102,66,64,81,48,84,55,48,45,19,61,15,53,49,14,48,92,21,17,83,87,56,64,85,60,80,46,54,49,17,56,15,50,51,13,45,101,16,16,76,14 H,1188134,8,700,4,16,1015675,67,2,1,1,,3,2,2,,100,0,2,60,1,120,1,,1,1100,1,1,1,6,,,,1,1,,20,2,360,2,1,69400,4,,,1,1,69400,0,4,4,4,1,3,0,2,0,0,0,22,0,0,0,2,0,1,1290,3,0,1,32,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,115,20,70,20,65,70,21,69,20,112,114,64,67,72,20,65,107,59,71,19,18,117,71,102,71,69,112,67,113,20,20,68,69,64,104,71,20,68,72,20,21,114,62,118,67,61,110,64,120,18,20,66,63,69,113,67,18,67,65,115,126,18,67,19,63,73,19,66,20,107,111,71,71,67,22,66,123,69,65 H,1188197,8,400,4,16,1015675,127,0,1,3,,1,2,2,,,,,,,,1,,,,,,2,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,113,209,150,118,202,100,33,230,183,43,124,123,38,125,43,139,116,110,208,36,144,37,128,125,38,133,214,42,41,191,125,131,228,115,192,152,137,115,41,200,135,231,130,113,250,140,29,188,209,37,124,118,35,116,39,140,136,109,215,38,115,41,153,133,33,117,238,34,39,192,135,141,207,117,199,140,129,141,42 H,1188651,8,500,4,16,1015675,138,1,1,,,1,5,,,50,0,2,3,3,,1,,,,,,1,3,2,200,,1,3,,,0,1,5,,,,250,25,1,6,11800,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,227,136,38,204,243,46,126,130,43,133,50,152,166,134,208,128,253,167,198,138,50,171,228,35,34,252,158,147,201,127,243,145,143,150,41,111,40,143,225,157,38,157,261,44,45,203,117,162,182,143,219,130,122,123,47,159,39,146,45,136,252,151,48,228,247,42,134,155,36,127,38,134,127,120,249,135,223,124,43 H,1189224,8,900,4,16,1015675,98,2,1,2,1,4,2,2,,70,0,2,50,2,250,1,,,,,3,1,9,,,,1,2,,17,2,30,3,1,16001,4,,,1,1,16001,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,0,1,227,,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,30,111,28,98,114,30,92,142,26,26,176,130,99,137,101,188,102,90,133,112,31,114,29,106,84,29,134,174,26,23,187,107,100,140,95,178,83,114,174,118,46,101,28,90,86,29,103,141,30,31,170,103,95,170,114,147,87,83,188,110,32,119,30,82,83,32,110,157,24,32,173,89,76,150,104,133,98,115,137 H,1189576,8,200,4,16,1015675,67,2,1,2,1,4,2,2,,110,0,2,3,3,360,1,,2,660,2,1,1,9,,,,1,1,,16,3,700,3,2,87300,4,,,1,1,87300,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,0,0,1,953,3,0,1,23,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,75,62,59,63,80,22,26,24,88,125,75,22,66,81,19,61,114,105,106,107,90,69,61,54,60,22,20,19,65,105,63,26,67,59,17,51,122,20,22,20,72,73,79,97,66,96,136,95,73,21,63,118,67,57,120,70,18,18,17,21,76,64,67,56,65,103,95,127,77,22,63,125,67,70,107,56,20,98 H,1189646,8,100,4,16,1015675,93,5,1,1,,3,1,2,,180,0,2,3,6,600,1,0,1,670,1,1,1,5,,,,1,1,,14,3,660,4,1,55900,2,,,1,1,55900,1,2,2,2,1,3,2,5,0,0,2,19,0,0,1,1,1,2,905,3,0,0,20,2,4,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,134,91,22,100,172,75,106,187,82,30,30,25,102,105,100,134,82,160,178,158,20,87,121,78,46,83,80,28,73,138,157,197,111,121,101,80,70,28,36,36,134,106,33,91,157,101,78,144,104,26,28,34,92,98,92,91,92,153,149,174,26,108,150,84,27,91,82,30,87,158,181,146,79,88,96,114,95,26,26,42 H,1189756,8,800,4,16,1015675,247,3,1,2,1,3,2,2,,180,0,2,3,3,2000,1,,1,1100,1,1,1,6,,,,1,1,,21,2,2,3,7,14400,2,,,1,3,14400,0,2,2,2,1,3,2,3,0,0,2,101,0,0,1,0,0,2,1280,3,0,1,40,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,245,368,372,235,271,415,256,283,341,406,398,365,263,383,254,426,233,291,252,67,275,82,80,230,204,87,233,266,82,82,89,70,289,69,231,94,246,233,258,373,239,440,413,252,288,473,264,244,362,364,370,345,256,389,245,375,236,265,234,74,218,75,79,286,230,74,269,287,87,66,70,81,267,71,244,78,248,314,272,383 H,1189886,8,400,4,16,1015675,82,5,1,2,1,3,2,2,,150,0,2,30,2,700,1,,1,950,1,1,1,6,,,260,1,1,,15,1,2,3,1,58280,2,,,1,1,58280,0,2,2,2,1,4,3,5,0,0,3,29,0,0,1,0,0,1,1390,2,0,1,19,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,27,24,78,90,112,106,113,64,70,152,94,89,27,25,171,165,23,79,61,25,121,103,76,82,25,64,75,126,87,20,71,97,161,156,22,27,158,74,61,151,34,23,59,77,150,82,112,54,52,148,113,93,23,24,139,131,22,75,90,24,139,144,92,70,29,104,82,88,86,22,65,63,164,243,24,21,168,87,94 H,1190043,8,100,4,16,1015675,61,2,1,3,1,2,2,2,,100,0,2,3,3,300,1,,,,,3,1,5,,,,1,2,,18,3,2,3,1,65000,4,,,1,1,65000,0,4,4,4,1,4,0,2,0,0,0,4,0,0,0,2,0,1,242,,0,0,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,69,19,104,20,58,68,79,62,67,72,106,16,69,62,19,18,59,108,61,50,17,53,53,62,16,106,111,98,111,17,67,63,97,21,60,59,17,58,103,106,65,19,117,19,58,57,59,63,61,59,115,17,53,64,17,17,59,106,71,60,17,64,65,67,18,89,108,102,105,19,59,70,117,20,63,67,19,66,115 H,1190347,8,100,4,16,1015675,83,1,1,1,,2,2,2,,40,10,2,3,4,0,1,,,,,3,1,6,,,,1,2,,2,0,50,8,,,,,,1,4,6700,0,4,4,4,1,7,0,,0,0,0,9,0,0,0,0,0,1,49,,0,1,3,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,31,98,77,74,82,81,127,77,27,125,106,168,112,30,104,31,141,70,122,17,24,89,63,82,81,69,128,80,21,173,117,152,98,22,74,31,136,68,183,24,26,76,85,101,101,66,142,84,22,118,78,156,101,27,91,26,153,82,194,25,25,71,85,85,83,79,151,97,20,134,77,141,81,26,107,23,107,66,229 H,1190477,8,100,4,16,1015675,320,2,1,2,1,2,1,2,,130,0,250,3,3,,1,,,,,,1,3,2,250,,1,3,,,3,1,4,7,8000,4,401,60,1,3,8000,0,4,4,4,1,4,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,451,476,125,345,108,345,301,116,339,102,467,500,295,317,348,93,262,539,320,371,484,543,99,316,92,267,294,106,298,91,548,510,294,381,339,106,377,559,296,351,101,93,799,278,613,328,356,654,261,519,94,93,258,379,399,405,287,93,371,294,101,110,595,317,564,333,340,499,290,457,111,99,305,373,298,411,311,90,320,345 H,1190536,8,800,4,16,1015675,129,4,1,,,2,5,,,70,0,2,40,1,,1,,,,,,1,5,2,250,,1,3,,,2,1,5,2,24000,3,360,18,2,1,24000,0,3,3,3,2,4,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,154,168,92,127,159,161,55,39,59,136,174,120,94,133,147,207,168,123,196,221,102,48,195,167,42,94,179,231,177,137,154,181,168,136,62,42,34,113,43,47,94,217,156,118,213,122,37,49,33,118,115,172,173,118,211,244,184,159,247,194,201,26,116,173,36,96,294,213,229,205,139,107,139,160,59,43,31,110,42 H,1190628,8,300,4,16,1015675,0,1,2,,,,,,,,1200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1190657,8,200,4,16,1015675,194,4,1,2,1,3,2,2,,100,0,2,3,6,500,1,,1,530,1,1,1,6,,,,1,1,,14,2,2,9,2,36000,2,,,1,1,36000,0,2,2,2,1,4,2,4,0,0,2,21,0,0,1,0,0,2,630,3,0,1,13,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,56,205,203,181,303,293,261,349,72,334,60,191,60,68,205,182,197,203,217,248,176,288,63,62,173,177,317,190,235,239,183,284,188,227,56,49,280,301,61,303,63,180,217,216,306,359,167,265,66,325,57,228,60,56,166,156,226,200,206,180,172,324,80,73,193,205,327,171,194,233,208,335,199,196,56,60,300,283,59,276 H,1190666,8,300,4,16,1015675,91,3,1,1,,4,2,2,,120,0,120,50,3,480,1,,1,1100,1,1,1,8,,,,1,1,,16,2,200,5,1,58500,2,,,1,1,58500,0,2,2,2,1,1,1,3,0,0,1,27,0,0,1,0,0,1,1297,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,103,19,92,160,75,80,138,85,34,26,27,91,94,87,80,87,157,170,30,157,91,30,112,153,125,91,161,90,23,28,24,108,96,91,89,80,161,159,31,146,95,31,94,152,84,84,176,98,25,25,36,89,76,113,101,101,143,136,24,165,74,34,72,133,107,95,152,81,23,34,26,87,103,108,83,81,158,166,29 H,1190943,8,300,4,16,1015675,91,1,1,2,1,2,2,2,,70,0,2,90,2,,1,,,,,,1,4,2,200,,1,3,,,0,2,9,,,,360,23,1,4,18900,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,145,94,99,29,87,89,104,75,26,82,85,141,130,30,31,157,123,26,89,179,136,102,88,29,89,87,72,80,32,82,100,180,144,29,25,156,86,23,107,122,139,101,84,34,95,74,76,85,27,111,84,129,154,32,23,131,103,25,102,128,160,97,101,32,80,90,84,109,25,72,82,138,179,32,31,147,96,28,92 H,1191370,8,900,4,16,1015675,299,0,1,1,,1,1,2,,,,,,,,2,,,,,,2,2,,,,,,4,12,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,515,293,485,100,94,301,246,289,498,291,107,254,103,82,388,347,534,356,310,315,441,341,595,100,102,341,266,277,527,268,90,285,110,92,433,326,437,279,292,275,581,291,406,91,97,304,273,293,452,298,113,332,96,78,459,279,473,332,307,351,419,375,473,84,106,281,331,309,506,297,91,368,100,80,489,234,414,309,308,249 H,1191372,8,600,4,16,1015675,98,1,1,,,5,9,,,1,0,2,3,3,,2,,,,,,1,9,1,1700,,1,3,,,2,1,7,,,,1700,26,1,6,77360,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,169,173,98,178,30,95,110,107,31,94,170,92,30,29,91,82,29,171,102,99,30,29,91,28,155,108,99,100,171,106,30,89,163,162,87,109,183,32,106,102,32,27,90,30,180,94,92,109,161,96,29,88,172,155,86,114,163,32,102,90,160,148,93,179,30,101,99,107,28,102,186,96,29,31,101,83,28,179,99 H,1191507,8,300,4,16,1015675,24,4,1,1,,3,2,2,,80,0,2,120,1,650,1,,2,850,2,1,1,6,,,,1,1,,15,3,2,9,1,57000,2,,,1,1,57000,0,2,2,2,1,6,1,4,0,0,1,24,0,0,1,0,0,2,1154,3,0,1,14,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,27,27,24,26,7,24,25,46,39,7,9,50,21,7,41,52,24,24,29,10,29,25,31,20,5,20,20,42,46,6,8,34,20,10,33,40,26,23,19,43,28,26,27,33,34,21,20,8,13,36,36,8,20,40,7,9,20,24,23,32,31,24,28,35,38,26,26,8,8,49,43,9,26,42,7,7,21,24,24 H,1192184,8,100,4,16,1015675,355,10,1,3,1,4,2,2,,120,0,600,2,1,500,1,,1,820,1,1,1,9,,,650,1,1,,22,3,600,3,2,80000,3,,,1,1,80000,0,3,3,3,1,5,8,10,0,0,8,25,0,0,1,0,0,2,1690,2,0,0,37,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,343,350,128,119,318,550,402,589,126,569,308,742,316,95,118,330,529,401,447,113,642,119,394,375,98,329,83,322,334,350,604,333,660,348,414,578,303,123,550,364,393,437,564,546,277,108,331,113,571,107,361,125,311,646,581,349,109,360,404,704,108,536,321,315,547,344,544,339,348,377,124,409,114,358,332,96,379,622,113,323 H,1192268,8,600,4,16,1015675,118,2,1,,,3,4,,,80,0,1,30,1,,1,,,,,,1,5,2,750,,2,3,,,3,1,3,,,,860,25,1,5,41300,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,220,37,215,116,118,35,38,39,109,121,199,34,117,188,128,108,108,117,193,121,112,124,130,34,235,119,109,117,40,207,145,104,34,138,35,33,190,216,123,192,187,37,215,118,119,35,31,33,121,116,190,33,116,224,123,128,112,103,193,130,135,129,133,35,241,113,116,113,33,178,130,121,34,116,38,35,222,215,116 H,1192272,8,400,4,16,1015675,55,3,1,1,,3,2,2,,110,3600,2,3,3,300,1,,1,590,1,2,1,5,,,340,1,1,,13,1,2,5,8,14320,2,,,2,3,14320,0,2,2,2,2,5,2,3,0,0,2,87,0,0,1,0,0,2,1040,2,0,1,18,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,26,87,51,24,89,99,65,56,16,64,47,40,42,20,73,60,101,91,56,84,124,17,44,118,18,15,54,49,105,60,45,41,52,116,65,60,16,13,54,14,17,103,51,25,108,71,56,51,15,38,53,50,46,17,44,52,106,87,73,85,125,24,57,115,24,17,63,53,93,42,56,61,58,100,44,57,31,18,53 H,1192317,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1192362,8,900,4,16,1015675,57,2,1,1,,2,2,2,,60,0,2,90,1,1500,1,,2,560,2,1,1,5,,,,1,1,,15,4,240,9,1,109000,4,,,1,1,109000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,1,916,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,23,20,57,55,83,70,60,33,55,105,73,64,14,17,84,90,21,60,42,102,20,16,59,62,93,65,60,54,44,84,61,58,19,16,112,92,15,56,67,118,21,18,57,59,107,49,63,51,61,121,68,58,13,12,96,97,16,57,58,75,18,24,65,50,87,66,54,63,52,89,55,63,18,20,89,69,17,46,57 H,1192708,8,500,4,16,1015675,98,2,1,1,,3,2,2,,30,0,2,20,1,,1,,,,,,1,6,2,700,,1,3,,,2,130,2,7,34000,2,761,27,1,3,34000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,85,97,131,177,153,34,154,98,113,31,28,32,99,106,138,25,87,154,150,36,24,149,161,93,93,123,94,31,184,107,96,98,33,162,98,123,26,114,86,100,109,129,109,27,32,167,27,109,96,169,163,169,102,97,28,142,94,30,32,165,167,33,24,84,111,92,100,153,27,114,90,104,170,33,118,92,169,113,112 H,1192724,8,100,4,16,1015675,49,1,1,1,,4,2,2,,30,0,2,3,3,800,1,,,,,3,1,7,,,,1,2,,18,2,600,5,,,,,,1,4,55000,0,4,4,4,1,6,0,,0,0,0,6,0,0,0,0,0,2,255,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,38,45,49,15,17,12,66,95,42,19,63,51,14,37,76,94,77,41,50,10,49,42,35,68,120,90,35,15,48,73,48,42,83,44,16,17,10,40,64,15,45,53,62,73,66,67,36,12,49,74,59,56,94,38,11,12,16,47,35,70,49,60,57,14,12,14,40,100,39,17,66,48,17,50,77,103,91,44,50,93 H,1192731,8,100,4,16,1015675,17,3,1,1,,3,2,2,,100,0,1000,3,4,500,1,,1,600,1,1,1,5,,,100,1,1,,17,2,480,6,2,40000,2,,,1,1,40000,1,2,4,2,1,3,0,3,1,0,1,28,0,0,1,0,0,1,923,2,0,1,24,1,8,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,31,13,17,18,5,30,17,17,6,15,5,6,34,32,17,17,16,16,26,5,25,15,13,20,4,27,16,17,5,22,3,4,34,27,13,13,15,15,6,29,6,15,19,15,32,5,22,23,24,13,27,27,7,7,20,15,18,18,5,30,4,21,19,17,25,5,18,14,32,18,26,24,4,7,19,17,16,17,33 H,1192902,8,800,4,16,1015675,63,1,1,1,,3,2,2,,90,0,2,3,3,250,1,,1,530,1,1,1,6,,,,1,1,,13,1,300,5,,,,,,1,6,17000,0,4,4,4,1,7,0,,0,0,0,46,0,0,0,1,1,1,645,3,0,1,17,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,120,53,51,46,24,69,18,75,75,15,62,110,22,23,128,70,64,113,17,56,19,70,62,57,98,63,108,62,50,105,71,20,102,104,19,57,68,16,110,80,96,55,57,69,22,54,20,75,57,19,71,119,21,18,100,78,73,117,21,77,20,53,58,46,110,62,105,64,52,99,62,24,110,100,19,70,63,12,104 H,1193288,8,400,4,16,1015675,75,2,1,1,,2,1,2,,110,0,2,3,3,250,1,70,,,,3,1,4,,,,1,2,,1,1,1,4,3,41400,4,,,2,1,41400,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,137,,0,0,1,2,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,159,78,77,267,139,88,101,66,130,79,116,63,74,83,76,143,149,79,25,72,29,94,63,24,28,28,21,61,29,81,16,54,60,87,82,25,26,73,172,62,132,76,80,189,132,110,136,66,107,71,97,65,74,64,60,110,163,97,30,75,31,114,81,30,32,23,22,65,24,59,19,70,72,84,55,22,39,72,131 H,1193476,8,500,4,16,1015675,51,8,1,1,,2,1,2,,250,4500,2,3,9,480,1,240,2,600,2,2,1,4,,,,1,1,,10,3,60,3,1,39000,2,,,2,1,39000,0,2,2,2,1,4,6,8,0,0,6,30,0,0,1,0,0,1,965,3,0,0,14,2,5,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,48,48,48,47,13,57,44,70,77,14,14,89,54,16,79,111,45,50,48,18,55,44,56,50,12,52,68,90,73,15,18,90,51,13,80,84,58,63,51,19,52,63,46,44,15,57,60,79,91,16,14,85,49,15,67,83,45,45,58,18,58,40,47,62,18,55,49,90,79,16,14,96,55,13,77,78,50,47,49 H,1193482,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1193492,8,200,4,16,1015675,63,5,1,1,,4,1,1,,150,0,700,3,6,,1,,,,,,1,8,2,500,,1,3,,,4,540,5,1,23000,3,753,39,1,1,23000,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,56,13,19,96,21,93,70,61,63,128,70,18,61,112,85,73,77,140,65,17,63,30,20,57,20,85,63,54,48,125,46,15,79,99,77,57,79,117,54,22,71,17,15,63,21,81,50,73,91,181,81,17,66,126,128,57,60,119,81,22,64,21,19,50,19,107,56,45,51,78,54,26,84,82,74,64,67,126,61 H,1193630,8,800,4,16,1015675,112,5,1,1,,3,2,2,,80,3600,2,50,1,,1,,,,,,1,7,2,700,,1,3,,,1,1,9,7,28800,2,830,20,1,3,50400,0,3,3,3,1,1,3,4,0,1,3,,3,0,1,0,0,1,,,1,0,,1,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,38,108,200,115,105,208,32,153,124,236,93,96,33,126,101,206,40,28,111,97,90,28,117,173,222,112,114,157,36,112,30,43,112,32,200,102,93,112,218,192,29,103,172,105,140,186,27,116,97,182,134,111,32,97,111,192,29,29,105,154,121,37,153,242,148,119,110,198,29,120,36,32,113,27,184,118,133,144,168,208 H,1193789,8,600,4,16,1015675,110,3,1,1,,3,2,2,,200,0,2,200,1,400,1,,1,1200,1,1,1,6,,,200,1,1,,17,3,500,6,1,157000,4,,,1,1,157000,0,4,4,4,1,5,0,3,0,0,0,14,0,0,0,0,0,1,1842,1,0,1,25,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,115,35,112,110,101,34,112,32,181,121,191,118,122,111,187,188,30,108,110,107,174,115,178,194,32,104,30,107,114,31,106,34,195,221,114,108,114,33,32,185,109,33,112,112,118,35,114,31,186,104,185,110,107,111,177,196,33,105,118,105,206,108,198,193,33,123,30,110,118,33,105,33,197,191,111,110,114,32,34 H,1194131,8,800,4,16,1015675,89,2,1,1,,4,2,2,,30,0,2,170,2,650,1,,,,,3,1,8,,,,1,2,,18,1,310,6,4,30600,4,,,1,1,30600,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,2,447,,0,1,32,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,32,24,23,95,98,101,83,61,130,144,103,51,34,102,155,108,112,158,92,268,113,143,176,84,90,92,80,82,33,27,25,65,150,95,28,89,87,29,95,35,25,24,22,91,80,83,81,92,158,184,135,66,25,71,130,85,70,152,107,115,137,157,146,90,127,94,83,107,33,28,32,100,125,85,39,96,91,31,88,42 H,1194952,8,600,4,16,1015675,87,1,1,,,1,9,,,20,0,1,60,2,,1,,,,,,1,3,2,530,,1,3,,,1,2,3,,,,610,35,1,4,21000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,21,114,98,29,129,53,65,143,28,168,37,145,109,104,80,27,85,133,93,124,99,90,24,142,152,167,148,72,75,76,95,89,25,20,24,121,118,69,29,109,102,76,24,80,147,119,114,90,76,119,87,68,29,41,27,84,136,91,30,82,43,134,57,37,65,103,104,91,30,146,24,167,98,83,95,32,85,147,89,102 H,1195028,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1195032,8,800,4,16,1015675,6,2,1,1,,2,2,2,,50,0,300,3,6,,1,,,,,,1,4,2,480,,1,3,,,3,2,6,1,34500,4,555,19,1,1,34500,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,7,7,7,9,10,2,4,2,8,10,10,2,6,9,1,6,12,3,1,1,7,7,10,7,5,10,10,15,5,1,7,15,9,9,14,5,2,3,2,1,9,4,7,6,7,10,12,10,5,2,10,11,7,6,14,7,3,10,17,17,7,7,6,7,7,2,2,2,5,12,9,1,7,11,2,5,9,12 H,1195112,8,600,4,16,1015675,109,2,1,1,,3,2,2,,30,0,2,130,1,450,1,,1,1200,1,1,1,9,,,,1,1,,18,2,500,9,1,71000,4,,,1,1,71000,0,4,4,4,1,3,0,2,0,0,0,24,0,0,0,0,0,1,1402,3,0,1,29,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,107,32,175,32,106,114,101,115,103,113,191,30,104,109,30,32,107,191,102,108,183,99,111,109,182,32,35,35,34,189,109,114,32,187,107,98,186,108,32,34,104,162,29,178,107,106,93,107,110,104,33,200,112,109,207,194,109,36,102,107,30,112,106,107,32,187,180,180,198,33,111,102,169,33,110,111,32,106,184 H,1195650,8,800,4,16,1015675,27,3,1,1,,5,2,2,,230,0,2,3,3,400,1,,2,590,1,1,1,7,,,440,1,1,,16,3,420,3,2,38400,4,,,3,1,38400,0,4,4,4,1,5,0,3,0,0,0,42,0,0,0,1,0,2,1328,1,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,32,44,50,34,46,43,26,31,28,29,54,26,45,31,39,44,52,47,28,27,28,9,8,27,6,9,31,28,31,30,7,24,8,29,9,9,9,9,37,31,29,9,10,26,7,8,29,26,29,28,8,31,10,23,10,7,8,8,23,25,26,53,43,23,45,44,22,26,28,28,48,28,48,24,45,43,46,54,26 H,1195656,8,900,4,16,1015675,94,2,1,1,,3,2,2,,40,0,2,50,1,480,1,,2,410,2,1,1,6,,,,1,1,,13,2,640,8,1,49000,4,,,1,1,49000,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,0,0,2,676,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,94,133,102,120,30,26,90,86,104,199,73,21,99,26,29,154,102,153,98,77,95,34,95,25,160,189,109,97,91,23,108,165,106,146,150,30,80,33,98,104,102,28,76,28,165,130,95,93,82,28,83,200,119,140,164,25,103,30,103,72,89,144,100,153,26,29,114,87,100,163,85,28,83,27,29,166,103,127,92 H,1195686,8,400,4,16,1015675,167,3,1,1,,2,2,2,,60,0,150,3,6,500,1,,1,1000,1,1,1,3,,,,1,1,,15,1,20,3,5,31200,3,,,1,2,31200,0,3,3,3,1,5,2,3,0,0,2,41,0,0,1,0,0,1,1075,3,0,1,18,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,42,49,62,52,134,50,161,67,167,154,168,164,46,59,189,195,48,154,212,275,155,141,188,166,278,192,261,193,323,259,250,244,164,151,259,307,179,303,327,146,218,298,278,263,148,277,159,297,154,155,189,191,285,255,166,186,296,192,156,49,142,193,227,156,58,131,45,192,56,54,47,51,129,138,61,60,178,48,53 H,1196495,8,100,4,16,1015675,65,1,1,1,,0,2,2,,1,0,2,1,1,,1,,,,,,1,1,2,470,,2,3,,,1,1,7,,,,470,52,1,4,10800,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,55,79,98,57,67,96,156,108,107,55,98,68,112,53,59,61,54,101,19,24,80,66,17,60,79,24,18,21,21,67,20,66,19,55,70,63,66,22,23,15,62,62,20,67,64,17,17,18,17,56,21,65,18,75,60,77,81,16,137,96,69,61,114,71,68,118,99,97,112,94,116,63,90,65,60,48,83,132,119 H,1196504,8,600,4,16,1015675,131,2,1,,,2,9,,,70,0,2,3,3,,1,,,,,,1,4,2,780,,2,3,,,1,1,4,5,72000,4,850,14,4,2,72000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,129,125,228,132,146,41,33,254,220,39,124,197,38,40,123,110,212,175,129,159,124,123,232,124,127,37,42,228,234,38,148,242,38,37,128,121,231,139,133,123,141,130,38,111,133,251,183,39,39,254,130,39,190,245,139,133,43,148,156,124,113,118,39,124,148,177,257,43,41,220,127,46,205,204,161,130,45,129,129,134 H,1196644,8,300,4,16,1015675,85,2,1,2,1,2,2,2,,100,1800,2,120,2,650,1,,,,,3,1,6,,,,1,2,,14,3,2,9,4,12100,4,,,1,1,12100,0,4,4,4,1,7,0,2,0,0,0,30,0,0,0,2,2,1,307,,0,1,10,0,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,131,91,83,77,112,98,131,20,104,24,59,65,79,36,36,166,100,28,75,21,118,31,22,173,79,152,86,77,198,99,151,23,27,93,90,82,127,74,20,93,23,91,100,102,28,82,30,160,96,139,87,83,84,128,139,38,86,135,81,121,82,131,104,25,84,25,74,94,31,74,19,163,175,90,94,90,20,65,126 H,1197237,8,400,4,16,1015675,112,1,1,1,,2,1,2,,50,0,2,3,3,600,1,400,,,,3,1,5,,,,1,2,,6,2,40,5,,,,,,1,4,10900,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,1,1,1,136,,0,0,1,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,193,106,39,33,32,120,119,122,120,79,209,184,134,112,37,108,184,102,111,187,35,100,214,198,194,122,85,128,160,123,32,29,33,110,166,116,26,94,130,160,36,118,202,206,155,106,139,124,129,103,42,31,31,94,139,118,32,108,108,32,229,134,31,37,28,91,87,96,116,122,208,193,179,91,31,130,219,105,100,27 H,1197271,8,100,4,16,1015675,98,1,1,3,1,3,2,2,,2,0,2,250,2,,1,,,,,,1,7,,,,1,4,,,1,2,3,,,,,,1,6,25804,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,0,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,113,105,30,31,171,132,29,102,154,25,28,96,92,123,82,80,101,118,106,29,90,106,168,163,28,34,185,95,28,139,187,111,117,31,92,109,89,106,111,161,82,114,32,31,192,159,25,75,180,33,29,107,82,159,115,92,89,86,84,39,111,86,145,180,34,27,199,92,27,193,148,106,80,29,99,105,123,92,117 H,1197475,8,100,4,16,1015675,85,2,1,1,,3,1,2,,60,0,500,130,1,700,1,200,2,330,2,1,1,8,,,,1,1,,14,2,560,3,4,40600,4,,,1,1,40600,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,2,2,1,784,3,0,0,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,82,143,22,133,128,84,69,26,26,146,76,86,81,162,79,82,97,26,137,100,68,25,150,23,30,100,88,148,150,24,83,102,94,26,75,86,85,137,29,89,99,148,25,159,149,91,85,29,24,130,75,94,79,125,85,85,74,23,160,89,92,22,138,26,24,85,90,155,150,24,84,93,85,23,84,69,84,144,20 H,1198392,8,300,4,16,1015675,89,3,1,,,3,5,,,50,0,2,110,1,,1,,,,,,1,5,2,750,,2,3,,,2,2,1,1,30700,4,910,23,1,1,46700,0,4,4,4,1,1,0,2,0,1,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,86,21,93,184,96,80,154,93,31,24,26,91,92,88,73,100,144,137,27,222,72,29,81,165,96,77,209,91,33,28,26,111,84,88,72,79,138,148,125,19,95,153,85,30,90,103,25,70,145,164,161,98,76,91,109,99,29,26,169,26,82,150,71,29,99,101,25,71,141,165,118,95,92,87,119,95,30,31,33 H,1198495,8,900,4,16,1015675,77,6,1,1,,3,2,2,,60,1400,2,4,1,200,1,,,,,3,1,7,,,,1,2,,9,4,660,9,5,58400,2,,,2,2,79400,0,2,2,2,1,6,1,5,0,1,1,3,1,0,1,0,0,1,189,,0,1,14,3,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,23,115,109,142,148,18,95,82,125,22,73,63,29,68,83,25,71,102,79,65,41,104,95,89,160,33,71,93,94,30,71,80,31,57,67,17,81,80,100,59,25,103,135,92,92,32,86,91,105,27,103,81,21,91,66,33,87,61,84,103,19,132,129,111,120,23,73,61,131,21,78,85,20,95,74,29,64,82,72,74 H,1198591,8,100,4,16,1015675,83,1,1,,,1,5,,,80,0,500,60,3,,1,,,,,,1,3,2,400,,2,3,,,1,1,5,,,,582,35,1,6,20000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,128,96,83,115,89,130,21,22,86,92,103,139,81,24,64,20,26,132,97,73,26,95,85,23,70,26,114,132,103,93,103,24,90,122,86,151,144,27,88,78,138,72,102,139,81,145,28,27,91,65,73,136,73,21,107,23,27,157,82,70,26,75,73,24,74,28,150,137,76,86,72,27,82,127,114,153,127,27,100 H,1198995,8,600,4,16,1015675,115,4,1,1,,4,2,2,,60,0,2,40,1,450,1,,2,650,2,1,1,8,,,,1,1,,21,2,360,6,1,49000,2,,,1,1,49000,0,2,2,2,1,5,2,4,0,0,2,28,0,0,1,0,0,1,1160,3,0,1,53,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,111,200,33,114,134,207,111,181,233,32,35,117,117,110,102,188,37,127,180,114,106,35,190,122,112,32,124,35,36,188,223,128,112,124,119,33,203,120,35,120,127,193,36,107,108,212,109,225,179,34,34,119,119,109,116,201,33,122,216,120,122,34,200,108,113,37,114,36,31,195,219,123,113,108,106,34,216,110,34 H,1199354,8,900,4,16,1015675,64,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,69,67,24,107,17,59,112,95,103,60,18,111,63,66,62,66,23,18,55,68,61,63,107,18,105,72,22,20,20,68,111,21,64,60,58,54,106,116,59,63,62,63,16,98,19,62,111,95,110,66,20,101,68,67,65,58,18,20,76,65,73,72,102,18,112,62,21,22,25,64,126,18,69,55,56,54,97,120,56 H,1199507,8,900,4,16,1015675,101,3,1,1,,3,2,2,,90,0,2,40,1,800,1,,,,,3,1,6,,,,1,2,,7,3,800,3,1,99000,4,,,1,1,99000,0,4,4,4,1,5,0,3,0,0,0,4,0,0,0,0,0,1,339,,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,102,34,177,87,186,98,27,111,32,159,106,28,26,93,94,123,118,96,35,35,91,161,32,112,30,83,205,94,128,36,90,149,127,101,109,105,122,93,184,175,135,28,154,88,177,122,31,93,32,169,108,30,30,79,93,85,91,122,41,28,101,176,30,116,24,100,193,102,161,26,100,216,181,101,93,69,91,101,147 H,1199865,8,100,4,16,1015675,155,1,1,,,2,6,,,90,0,2,3,3,,1,,,,,,1,4,2,500,,1,3,,,1,2,4,,,,590,44,1,6,16000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,164,167,167,139,155,56,192,291,53,175,45,141,310,147,240,38,130,259,43,204,169,138,143,176,160,50,153,189,46,127,53,154,229,185,261,63,139,241,56,214,173,160,119,150,183,40,142,246,51,169,54,144,223,154,249,55,162,231,55,293,149,144,193,180,115,37,165,246,51,144,47,167,296,188,253,53,146,256,65 H,1199885,8,900,4,16,1015675,68,6,1,2,1,3,2,2,,60,0,500,130,1,700,1,,1,690,1,2,1,6,,,,1,1,,14,2,240,2,2,58700,2,,,1,1,58700,0,2,2,2,1,3,3,6,0,0,3,19,0,0,1,0,0,1,942,3,0,1,18,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,64,66,139,132,75,74,63,120,24,107,73,18,19,18,60,120,21,74,84,70,72,71,118,118,66,60,81,100,16,124,62,18,17,20,83,130,23,74,71,61,69,69,103,118,76,82,68,105,21,107,84,22,20,18,66,106,19,85,103,60,75,65,106,119,65,80,78,118,16,132,61,20,17,17,79,102,17,68,67 H,1199994,8,300,4,16,1015675,145,2,1,,,1,4,,,100,0,2,3,3,,1,,,,,,1,2,2,680,,2,3,,,1,1200,6,2,20100,4,880,53,1,1,20100,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,247,45,156,139,248,176,213,234,41,40,141,130,141,135,217,44,143,159,148,42,236,49,124,151,209,158,231,225,48,44,175,151,157,162,215,43,142,175,130,213,44,230,153,155,38,150,45,54,209,235,158,139,121,144,42,242,149,166,149,224,46,270,142,152,50,143,45,48,219,209,149,148,163,138,40,261,158,138,140,50 H,1200018,8,600,4,16,1015675,73,2,1,1,,3,2,2,,60,0,2,210,1,,1,,,,,,1,6,2,750,,1,3,,,2,130,6,1,46000,4,1031,27,1,1,46000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,130,77,22,71,21,124,69,20,20,73,78,76,75,61,113,75,22,137,22,66,21,71,117,67,124,20,74,117,121,73,74,77,72,75,22,66,125,20,20,72,22,74,128,70,125,22,70,127,133,69,79,71,68,71,20,70,121,22,125,71,124,68,21,72,19,121,75,22,21,73,74,76,76,72,111,71,23,112,119 H,1200019,8,100,4,16,1015675,62,5,1,1,,3,2,2,,100,0,400,2,6,450,1,,1,980,1,1,1,6,,,,1,1,,14,2,240,5,1,30300,3,,,1,1,30300,0,3,3,3,1,7,3,5,0,0,3,45,0,0,1,0,0,2,1133,3,0,1,15,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,88,79,22,15,27,75,45,81,64,55,84,118,83,85,27,48,97,54,55,81,16,77,135,90,85,64,49,44,62,68,25,25,14,61,103,61,20,63,69,18,105,79,17,14,24,82,53,67,72,61,84,91,90,67,20,46,92,86,77,93,24,79,123,78,105,81,51,67,66,50,14,15,18,67,148,75,15,51,53,17 H,1200530,8,600,4,16,1015675,107,2,1,1,,3,2,2,,100,0,2,240,1,450,1,,1,960,1,1,1,6,,,100,1,1,,16,1,140,5,7,40000,2,,,1,3,40000,0,2,2,2,1,2,1,2,0,0,1,42,0,0,1,0,0,1,1412,2,0,1,24,1,13,13,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,107,115,120,32,185,108,106,30,106,30,33,189,192,109,93,105,112,33,198,192,99,112,99,31,172,110,102,30,105,33,33,194,196,112,118,120,102,33,172,36,109,103,110,189,30,108,109,173,110,202,171,32,31,102,108,106,104,170,32,31,110,103,109,191,33,107,106,193,116,201,191,32,31,113,117,106,114,186,31,177 H,1200730,8,200,4,16,1015675,166,1,1,1,,2,1,2,,70,0,2,3,3,330,1,1600,1,380,1,1,1,3,,,,1,1,,3,2,1,4,,,,,,1,4,40000,0,4,4,4,1,5,0,,0,0,0,17,0,0,0,0,0,2,583,3,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,201,168,243,198,139,37,52,301,259,55,140,259,55,53,178,234,323,192,180,163,155,169,43,151,211,258,204,43,55,252,166,43,243,241,159,162,49,174,150,217,153,137,287,169,152,55,49,273,266,49,140,259,48,52,185,176,273,182,185,219,126,152,46,154,143,231,291,58,57,283,182,43,240,217,156,215,54,175,164,235 H,1200981,8,600,4,16,1015675,140,2,1,,,2,4,,,20,0,1,1,3,,1,,,,,,1,6,2,550,,2,3,,,2,1,4,,,,570,29,1,5,24000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,225,44,138,219,46,36,123,138,249,145,143,147,128,241,180,139,44,46,221,139,45,235,139,50,233,234,139,144,42,145,143,141,130,40,137,132,235,271,43,127,263,39,152,240,42,44,151,145,253,146,147,133,148,250,145,140,48,43,229,145,44,236,136,40,214,246,176,135,42,118,128,124,148,41,129,147,230,261,44,141 H,1201125,8,400,4,16,1015675,71,3,1,1,,3,2,2,,70,0,400,3,8,360,1,,1,600,1,1,1,6,,,450,1,1,,13,3,40,5,1,80000,4,,,1,1,80000,0,4,4,4,1,4,0,3,0,0,0,17,0,0,0,0,0,1,1156,1,0,1,21,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,19,20,114,71,105,72,65,147,52,115,13,20,56,73,47,103,59,15,66,103,105,113,28,73,28,83,78,27,65,20,120,87,99,58,64,31,78,139,75,72,20,22,126,62,108,80,72,112,59,122,26,21,59,68,69,101,103,23,64,61,154,93,20,77,14,84,83,15,96,19,127,123,68,110,63,19,60,79,100 H,1201260,8,300,4,16,1015675,62,3,1,1,,4,2,2,,120,0,2,3,3,450,1,,,,,3,1,7,,,,1,2,,14,3,2,3,1,83000,2,,,2,1,83000,0,2,2,2,2,4,1,3,0,0,1,4,0,0,1,0,0,1,266,,0,1,25,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,27,72,102,69,18,70,72,21,77,99,109,94,59,81,65,59,71,16,16,104,97,75,20,52,87,65,57,100,69,18,21,18,79,58,56,50,70,95,123,14,27,70,76,73,16,54,51,21,62,94,93,98,63,82,52,57,66,16,26,77,100,77,20,76,90,66,54,135,65,16,20,16,97,82,66,47,73,117,95 H,1201362,8,800,4,16,1015675,128,1,1,1,,3,2,2,,20,0,2,30,1,350,1,,2,850,1,1,1,6,,,100,1,1,,20,1,600,3,,,,,,1,6,75000,0,4,4,4,1,4,0,,0,0,0,17,0,0,0,0,0,2,1079,2,0,1,64,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,37,125,116,193,139,151,146,123,196,129,130,46,43,197,228,49,107,165,39,139,243,139,106,35,134,143,125,130,43,107,133,232,223,32,37,191,133,38,197,125,39,115,135,190,124,124,124,129,206,130,136,43,38,241,241,32,143,218,31,126,166,137,104,41,150,117,125,138,45,144,145,222,208,49,35,243,101,42,275,171 H,1201482,8,500,4,16,1015675,308,2,1,1,,3,2,2,,90,0,2,130,1,,1,,,,,,1,6,2,830,,2,3,,,2,960,1,1,66800,4,1130,20,2,1,66800,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,122,278,116,310,300,92,360,102,414,475,276,349,465,107,345,434,291,558,439,241,477,287,489,274,343,541,291,412,105,126,282,311,289,538,326,94,223,115,93,342,527,325,503,343,302,484,304,468,93,81,330,307,353,502,231,100,413,64,82,304,136,297,98,326,292,130,339,121,503,386,408,284,278,89,313,475,388,456,526,371 H,1201803,8,100,4,16,1015675,128,3,1,1,,4,2,2,,30,0,2,90,1,330,1,,1,920,1,1,1,9,,,380,1,1,,18,2,120,3,5,51000,2,,,1,2,75000,0,2,2,2,1,4,1,2,0,1,1,23,2,0,1,0,0,1,1430,2,0,1,28,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,141,140,37,38,220,37,135,147,193,232,205,116,132,39,237,109,36,139,247,35,220,210,131,131,111,125,42,195,115,131,118,34,248,120,128,43,120,39,118,136,128,128,248,207,40,192,133,126,40,30,42,124,121,206,34,124,249,125,33,218,37,36,136,117,122,132,229,39,141,153,124,218,39,111,124,236,128,213,117 H,1201857,8,100,4,16,1015675,64,4,1,1,,3,2,2,,100,0,2,100,1,450,1,,1,990,1,1,1,8,,,100,1,1,,18,3,650,4,1,138000,3,,,1,1,138000,0,1,1,1,1,3,2,4,0,0,2,12,0,0,1,0,0,1,1344,2,0,1,34,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,95,137,77,17,84,145,58,60,117,65,19,18,19,59,58,62,59,64,27,87,100,109,70,20,61,112,64,56,101,63,17,21,22,58,47,68,88,69,19,135,132,92,52,20,62,101,91,56,96,67,20,17,17,60,67,68,60,58,21,120,122,103,60,22,69,82,63,68,118,58,20,21,20,70,61,59,71,63,17 H,1202004,8,600,4,16,1015675,76,5,1,1,,5,2,2,,60,0,2,100,1,360,1,,1,930,1,1,1,9,,,,1,1,,16,2,900,5,5,60000,2,,,1,2,60000,0,2,2,2,1,4,3,5,0,0,3,23,0,0,1,0,0,1,1165,3,0,1,30,2,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,24,25,23,22,76,24,75,22,73,82,82,80,23,22,74,75,23,83,74,128,71,79,71,77,124,74,134,81,137,123,127,141,80,90,133,123,85,130,20,76,25,22,24,23,81,24,77,22,80,71,79,79,22,20,73,78,23,78,81,132,75,77,81,73,128,80,131,75,134,136,137,138,78,77,116,140,84,122,22 H,1202198,8,800,4,16,1015675,105,4,1,2,1,3,3,2,,410,0,80,3,3,400,1,,1,700,1,1,1,6,,,,1,1,,14,2,2,4,1,45600,2,,,2,1,45600,0,3,3,3,2,3,2,4,0,0,2,29,0,0,1,0,0,2,1117,3,0,1,20,1,3,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,215,157,147,129,78,265,142,84,143,41,92,34,110,134,31,110,267,32,36,33,27,116,122,22,82,30,94,103,128,173,129,173,105,102,129,93,31,126,131,152,227,97,97,201,119,177,129,105,104,27,108,39,105,129,35,95,246,43,41,36,37,98,75,31,107,25,82,118,94,137,134,156,160,122,135,89,31,193,132,154 H,1202213,8,700,4,16,1015675,111,4,1,1,,3,2,2,,70,0,180,3,3,220,1,,1,590,1,2,1,6,,,20,1,1,,15,4,250,5,1,50160,2,,,1,1,50160,0,2,2,2,1,3,1,4,0,0,2,17,0,0,1,0,0,1,716,2,0,1,18,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,107,201,33,110,179,197,109,107,112,115,118,36,110,183,32,106,31,114,182,31,105,33,176,108,31,31,112,116,111,105,104,194,116,37,191,105,206,109,173,34,118,32,197,116,32,35,110,108,118,105,114,203,100,30,174,110,190,114,36,181,111,187,35,108,184,198,110,108,110,114,111,34,111,178,28,115,36,101,32 H,1202600,8,300,4,16,1015675,102,2,1,1,,4,2,2,,170,0,2,3,3,400,1,,1,800,1,1,1,8,,,,1,1,,14,2,400,4,1,51000,4,,,2,1,51000,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,0,0,1,1003,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,35,105,33,152,105,112,108,204,117,34,90,158,191,97,85,184,31,88,105,153,170,110,174,26,110,98,107,37,112,184,97,31,23,130,95,27,177,106,94,178,156,94,180,40,107,92,112,33,114,223,126,31,32,104,98,33,200,100,109,24,32,80,28,174,103,95,111,222,96,30,93,165,174,100,102,160,35,82,84 H,1202971,8,100,4,16,1015675,105,1,1,1,,3,2,2,,30,0,2,110,1,480,1,,1,630,1,1,1,5,,,,1,1,,17,1,780,3,,,,,,1,6,47100,0,4,4,4,1,3,0,,0,0,0,21,0,0,0,1,0,1,835,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,34,97,31,205,102,35,38,96,118,115,106,94,195,111,30,184,96,165,187,83,33,96,28,184,92,32,31,96,111,97,106,104,165,115,31,185,90,171,32,102,187,99,176,29,96,159,167,103,110,94,119,99,26,110,169,33,99,28,36,106,176,109,191,30,96,149,191,94,109,111,107,110,32,106,181,35,110,30,190 H,1203174,8,400,4,16,1015675,69,2,1,1,,3,2,2,,70,0,2,120,1,440,1,,,,,3,1,7,,,,1,2,,15,3,380,5,4,110400,4,,,1,1,110400,0,4,4,4,1,6,0,2,0,0,0,4,0,0,0,2,1,1,411,,0,1,30,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,60,59,19,62,20,60,50,31,58,109,15,22,113,75,69,81,78,107,130,87,61,58,31,75,21,86,62,25,63,135,26,16,160,54,79,180,73,109,119,60,66,62,19,47,23,74,64,20,86,108,29,18,105,58,70,107,103,146,140,48,93,66,15,73,14,63,77,17,70,106,20,21,111,111,81,99,69,100,109 H,1203798,8,100,4,16,1015675,115,2,1,1,,3,2,2,,40,0,2,70,1,2500,1,,2,1800,1,1,1,6,,,,1,1,,21,2,960,3,4,31500,4,,,1,1,31500,0,4,4,4,1,5,0,2,0,0,0,84,0,0,0,2,2,1,2198,3,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,34,132,218,132,137,128,204,124,222,30,123,29,103,118,99,32,40,216,131,206,133,34,120,33,31,164,97,189,105,124,189,109,177,36,34,101,146,116,38,121,230,124,29,108,130,106,37,124,31,211,126,165,129,126,118,204,184,37,134,33,105,188,102,180,181,41,112,33,134,132,39,125,30,175,198,113,88,110,182 H,1203878,8,200,4,16,1015675,70,4,1,1,,3,2,2,,140,0,2,70,1,380,1,,2,800,2,1,1,8,,,,1,1,,15,4,880,9,1,105800,2,,,3,1,105800,0,2,2,2,1,5,1,4,0,0,1,14,0,0,1,0,0,1,1228,3,0,1,25,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,64,19,66,69,58,141,65,109,99,87,113,82,19,115,117,29,66,68,82,100,53,129,70,61,83,23,75,20,58,84,16,95,173,16,31,91,65,82,25,22,64,17,60,68,64,140,64,127,67,80,116,84,19,119,114,23,62,63,103,150,68,131,75,60,93,18,77,18,68,89,25,58,123,23,29,120,76,89,26 H,1203899,8,900,4,16,1015675,96,2,1,1,,4,2,2,,70,0,1300,50,1,800,1,,1,650,1,1,1,8,,,380,1,1,,15,3,750,6,2,25000,4,,,4,1,25000,0,4,4,4,1,6,0,2,0,0,0,63,0,0,0,0,0,1,1321,1,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,102,168,162,35,25,109,113,105,94,187,30,102,74,84,156,28,101,105,28,144,86,167,153,31,29,98,82,92,106,147,28,91,110,86,135,32,96,127,137,27,81,35,29,174,161,97,123,105,100,30,145,95,97,86,26,162,107,97,146,27,87,29,25,173,165,96,108,94,109,31,195,91,99,87,29,191,104,95,33 H,1204025,8,400,4,16,1015675,142,3,1,1,,3,2,2,,60,0,2,20,3,690,1,,1,630,1,1,1,6,,,,1,1,,15,2,600,4,1,77600,2,,,1,1,77600,0,2,2,2,1,5,1,3,0,0,1,12,0,0,1,0,0,1,760,3,0,1,26,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,75,214,39,167,169,42,147,190,32,50,236,147,180,266,125,252,151,111,249,159,38,240,33,146,295,27,124,177,40,34,177,138,129,285,139,243,119,103,250,132,46,138,64,144,138,50,127,277,55,30,241,149,157,199,137,231,155,205,287,134,33,101,42,136,98,42,126,263,46,44,252,185,165,174,110,224,180,137,236 H,1204095,8,600,4,16,1015675,81,2,1,1,,4,2,2,,60,0,2,150,1,130,1,,1,650,1,1,1,7,,,310,1,1,,16,2,230,7,1,70000,4,,,2,1,70000,0,4,4,4,2,3,0,2,0,0,0,20,0,0,0,0,0,1,1189,2,0,1,26,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,79,22,142,140,129,140,25,90,78,141,23,74,84,23,79,77,24,83,80,82,69,24,140,134,134,137,27,82,90,141,25,78,82,24,70,68,20,83,77,83,74,133,22,23,23,25,111,71,80,24,137,87,80,150,85,91,140,80,73,87,92,131,23,23,22,23,131,73,81,22,129,79,71,135,88,80,150,82,82 H,1204111,8,100,4,16,1015675,149,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,45,49,273,276,42,151,264,46,43,142,175,221,135,153,136,137,272,173,159,171,272,239,44,43,247,131,40,235,230,157,140,48,146,166,142,132,54,138,153,157,50,46,244,253,52,143,262,48,43,156,147,211,163,153,158,140,254,173,172,150,230,242,41,41,240,157,41,227,247,153,152,43,137,141,138,151,39,150,132 H,1204488,8,500,4,16,1015675,77,4,1,2,1,5,2,2,,60,0,2,180,1,730,1,,1,1800,1,1,1,9,,,250,1,1,,21,2,380,2,2,235000,2,,,2,1,235000,0,2,2,2,1,2,2,4,0,0,2,12,0,0,1,0,0,1,2322,1,0,1,33,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,78,23,75,132,71,79,129,87,23,31,24,79,81,74,68,63,122,136,137,25,71,129,85,23,76,77,26,74,126,141,105,79,77,86,77,71,20,28,162,25,86,134,71,21,77,80,18,81,138,131,131,92,74,81,74,73,22,21,24,128,82,24,79,115,72,83,138,76,23,23,24,71,76,76,76,77,135,136,25 H,1204636,8,200,4,16,1015675,79,2,1,3,1,4,2,2,,100,0,500,3,4,250,1,,,,,3,1,6,,,,1,2,,19,3,2,5,4,37100,4,,,1,1,37100,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,2,2,2,213,,0,0,14,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,118,83,113,107,31,69,120,75,125,128,21,74,25,78,70,24,93,23,69,18,22,87,75,92,154,65,30,80,22,34,147,79,128,65,85,118,72,128,75,127,134,73,94,72,23,74,110,85,119,150,28,73,24,72,70,21,80,22,83,25,26,76,87,106,126,65,24,61,29,30,152,91,112,64,72,113,87,138,67 H,1204659,8,600,4,16,1015675,117,1,1,,,1,7,,,1,0,2,1,1,,1,,,,,,1,3,1,650,,1,3,,,0,1,2,,,,650,13,1,6,59200,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,111,34,113,191,196,207,123,125,119,106,117,38,33,33,128,185,109,39,116,35,124,198,106,40,34,30,113,125,113,121,123,188,180,194,112,30,118,220,122,31,115,207,119,34,34,33,118,106,132,120,115,198,213,202,102,33,143,195,119,208,112,31,105,183,196,184,128,126,123,106,106,34,37,40,117,212,103,35,131,203 H,1204729,8,400,4,16,1015675,94,3,1,2,1,3,2,2,,90,0,1700,150,2,680,1,,,,,3,1,4,,,,1,2,,14,3,90,8,1,82000,2,,,1,1,82000,0,2,2,2,1,5,1,3,0,0,1,8,0,0,1,0,0,1,539,,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,27,30,37,72,129,98,33,140,84,25,86,166,136,134,117,103,105,81,26,87,144,164,145,73,24,141,259,78,76,176,91,27,34,28,89,85,88,101,199,79,26,32,31,87,158,84,27,107,94,29,105,185,115,154,90,72,109,89,33,92,153,190,136,101,42,98,136,82,76,182,116,34,34,25,78,89,84,84,188 H,1204763,8,200,4,16,1015675,80,3,1,2,1,1,2,2,,70,0,2,3,6,,1,,,,,,1,3,1,250,,1,3,,,2,1,9,2,24900,2,320,15,1,1,24900,0,2,2,2,1,2,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,66,82,35,87,19,146,113,77,102,99,22,79,152,76,123,130,21,89,67,34,53,77,35,65,22,199,159,57,82,102,28,77,102,81,127,125,24,112,81,27,68,77,26,100,23,125,157,73,80,101,23,77,121,69,144,164,32,91,74,25,72,74,24,97,26,107,138,86,52,77,27,79,147,83,161,131,22,83,86 H,1204863,8,800,4,16,1015675,130,2,1,1,,5,2,2,,50,0,2,20,1,400,1,,1,540,1,1,1,9,,,230,1,1,,17,2,2,5,1,31020,4,,,1,1,31020,0,4,4,4,1,5,0,2,0,0,0,32,0,0,0,1,0,1,840,1,0,1,64,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,40,129,223,53,202,114,137,135,143,117,128,38,203,131,117,234,187,121,134,126,132,238,128,124,128,258,42,41,41,38,194,115,133,40,229,139,144,228,236,244,231,134,39,197,43,139,141,130,128,112,127,246,46,123,143,35,36,136,155,121,128,41,149,129,106,44,224,190,214,200,49,143,125,213,33,128,125,40,45 H,1205015,8,800,4,16,1015675,41,0,1,1,,1,3,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,66,12,36,12,43,67,45,76,15,38,53,62,39,38,39,39,38,12,10,36,68,16,48,11,42,78,34,66,11,34,81,68,37,41,39,39,47,13,64,41,12,70,41,83,39,10,52,12,66,40,11,12,35,42,43,37,37,63,79,43,12,72,46,65,42,14,40,12,72,42,12,13,37,40,40,36,42,58,10 H,1205023,8,500,4,16,1015675,131,0,1,2,,1,1,2,,,,,,,,1,,,,,,1,2,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,242,224,289,140,119,138,154,123,35,33,34,105,216,140,34,134,149,39,271,108,308,217,245,159,126,130,110,132,40,37,38,106,256,148,32,138,145,36,181,153,218,182,190,140,132,131,150,172,37,46,40,147,226,132,43,131,143,41,238,122,240,252,223,137,126,139,129,116,36,41,34,133,191,134,46,109,117,38,239 H,1205088,8,800,4,16,1015675,298,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,301,314,303,90,269,309,520,437,106,94,478,322,85,460,455,239,284,95,333,307,329,336,296,98,284,267,557,494,93,99,475,317,80,588,497,237,288,78,327,292,274,275,328,477,305,283,81,99,488,535,87,351,439,82,98,278,280,452,317,277,291,318,293,457,297,372,90,88,517,433,101,308,522,83,95,347,271,491,296,295 H,1205131,8,100,4,16,1015675,88,2,1,1,,4,2,2,,30,0,2,40,1,400,1,,,,,3,1,5,,,,1,2,,20,2,420,2,4,39600,4,,,1,1,39600,0,4,4,4,1,2,0,2,0,0,0,14,0,0,0,2,2,1,455,,0,1,50,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,151,140,160,86,78,72,91,75,27,24,25,91,166,87,27,107,88,24,154,98,157,157,157,100,107,83,78,94,31,24,27,93,129,86,25,99,97,27,31,85,26,25,25,106,86,82,100,86,172,132,142,97,28,90,143,97,80,145,27,115,29,26,25,99,93,77,89,93,139,162,143,79,23,78,141,91,93,148,151 H,1205419,8,100,4,16,1015675,36,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,33,10,51,57,59,60,12,37,32,61,13,37,43,10,34,34,9,37,36,32,32,50,10,10,9,11,53,36,32,11,63,36,36,55,36,33,55,41,40,32,34,11,65,60,62,49,10,39,33,56,9,34,33,8,39,30,11,38,36,34,35,59,10,10,10,9,58,34,37,10,63,36,34,53,33,33,55,37,33 H,1205848,8,900,4,16,1015675,65,3,1,2,1,3,2,2,,120,0,360,120,2,350,1,,1,1100,1,1,1,8,,,,1,1,,16,3,2,5,4,273600,4,,,1,1,273600,0,4,4,4,1,5,0,3,0,0,0,6,0,0,0,2,2,1,1370,3,0,1,17,1,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,25,15,70,57,50,70,19,83,29,87,17,17,17,20,72,61,23,18,69,113,54,51,106,80,86,111,60,141,90,130,49,51,70,63,145,167,69,65,102,71,108,87,59,63,86,60,87,45,81,60,160,154,122,118,63,74,98,103,100,19,81,65,27,24,20,16,50,16,55,20,77,60,64,65,12,15,66,58,30,47 H,1206211,8,600,4,16,1015675,398,2,1,1,,2,1,2,,180,0,2,180,1,,1,,,,,,1,4,2,220,,1,3,,,0,1,5,8,0,1,580,,2,3,0,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,617,110,360,398,574,139,433,380,121,326,482,112,374,341,342,138,622,627,681,417,633,130,410,379,582,129,373,398,110,401,405,129,441,418,452,117,620,853,754,374,519,123,448,389,602,120,410,419,103,369,347,111,390,454,396,127,625,613,744,460,625,117,403,385,726,132,396,422,128,396,508,130,412,420,389,116,674,603,652,504 H,1206405,8,700,4,16,1015675,79,2,1,1,,3,2,2,,70,0,2,3,3,840,1,,,,,3,1,5,,,,1,2,,18,2,30,2,3,16600,4,,,1,1,16600,0,4,4,4,1,3,0,2,0,0,0,20,0,0,0,0,0,1,276,,0,1,28,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,131,137,133,78,82,79,75,85,22,25,24,84,148,87,23,83,75,20,25,77,23,22,24,82,82,74,74,76,136,140,127,79,22,79,153,83,75,135,22,76,24,24,22,77,76,90,82,78,133,129,135,80,23,89,134,81,83,135,144,77,148,128,134,80,84,84,74,72,25,23,20,74,144,80,22,84,81,25,136 H,1206547,8,600,4,16,1015675,74,4,1,1,,4,2,2,,80,0,2,90,1,400,1,,1,1800,1,1,1,8,,,600,1,1,,20,3,1100,2,1,95100,2,,,1,1,95100,0,2,2,2,1,1,1,4,0,0,1,34,0,0,1,0,0,1,2662,1,0,1,62,3,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,68,77,79,88,22,73,21,83,20,22,20,22,73,66,21,25,83,122,72,69,133,126,134,113,71,127,75,128,65,78,75,65,137,133,72,71,137,76,21,23,72,73,68,67,22,68,24,63,23,21,21,23,69,74,20,20,78,132,81,81,128,123,118,117,78,131,72,123,71,77,74,76,122,129,75,75,129,87 H,1206686,8,300,4,16,1015675,26,0,1,1,,3,1,2,,,,,,,,2,,,,,,2,5,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,23,24,7,23,9,27,22,30,44,34,44,27,23,49,30,7,51,52,6,41,25,22,41,28,37,24,22,20,9,27,9,24,24,8,25,51,7,7,41,38,25,25,50,24,36,21,21,25,7,22,9,32,25,7,27,43,7,8,58,9,27,29,8,27,9,30,25,24,39,26,49,21,24,40,25,7,45,50,9,8 H,1206783,8,600,4,16,1015675,114,5,1,1,,4,2,2,,100,0,2,310,1,490,1,,1,2100,1,1,1,9,,,,1,1,,20,2,940,3,1,99600,3,,,1,1,99600,0,3,3,3,1,1,2,5,0,0,2,31,0,0,1,1,1,1,2588,3,0,1,52,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,113,35,115,199,113,112,181,119,32,37,33,112,115,106,110,119,211,210,192,30,111,174,112,30,115,108,34,119,213,225,200,112,115,131,128,108,34,32,222,36,114,208,117,32,113,118,31,110,201,170,199,120,105,107,112,109,28,34,34,208,121,35,118,201,114,112,201,116,35,31,34,120,118,113,111,116,186,180,30 H,1206838,8,100,4,16,1015675,24,1,1,,,2,4,,,20,0,450,3,6,,1,,,,,,1,6,2,400,,1,3,,,1,1,9,,,,458,11,1,4,52000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,9,29,44,36,29,25,20,23,24,5,20,33,5,22,8,30,43,31,9,32,5,24,44,37,22,22,23,25,24,9,25,51,9,24,7,21,46,26,7,39,8,29,42,29,22,27,23,25,21,7,26,36,5,24,10,28,39,23,8,45,7,18,42,53,20,17,25,22,23,7,20,48,7,29,10,22,44,25,8 H,1206927,8,200,4,16,1015675,23,4,1,2,1,3,1,2,,100,0,500,100,6,900,1,2000,,,,3,1,4,,,,1,2,,18,4,2,5,1,58030,4,,,1,1,58030,0,4,4,4,1,5,0,4,0,0,0,12,0,0,0,0,0,1,563,,0,0,21,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,31,18,9,24,7,36,20,12,5,23,23,29,21,21,33,20,7,35,35,19,46,34,6,17,7,35,19,5,9,21,19,23,21,26,44,16,10,46,33,19,44,22,7,28,9,34,22,5,5,21,26,26,22,19,37,24,8,34,37,22,44,21,7,17,5,52,27,7,9,16,22,22,20,27,31,24,6,37,41 H,1206940,8,600,4,16,1015675,70,2,1,1,,1,2,2,,40,0,950,10,1,250,1,,,,,3,1,4,,,,1,2,,13,1,480,8,4,28600,4,,,1,1,28600,0,4,4,4,1,7,0,2,0,0,0,11,0,0,0,2,2,1,273,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,18,22,118,113,75,113,72,80,22,72,22,77,22,65,64,113,63,62,120,23,64,80,86,61,21,74,130,22,77,24,70,124,70,112,20,65,127,129,64,69,20,22,117,127,75,126,82,79,21,75,20,66,18,75,74,113,77,83,122,18,71,61,65,66,18,65,113,22,75,21,72,121,77,125,20,68,117,121,72,72 H,1207000,8,400,4,16,1015675,107,2,1,1,,2,2,2,,80,0,2000,3,3,360,1,,2,270,2,1,1,4,,,,1,1,,14,2,2,1,3,23160,4,,,1,1,23160,0,4,4,4,1,1,0,2,0,0,0,30,0,0,0,1,1,1,581,3,0,1,10,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,148,194,202,118,132,83,117,141,65,36,38,123,117,105,27,91,100,22,37,74,31,34,31,86,86,166,122,138,113,117,235,100,45,199,228,110,85,162,138,76,164,128,141,95,83,144,132,146,32,23,20,129,282,132,38,145,90,25,19,152,29,42,41,154,131,126,120,144,258,137,168,134,22,105,148,81,122,165,153 H,1207050,8,100,4,16,1015675,32,3,1,1,,2,2,2,,50,0,2,50,1,450,1,,1,800,2,1,1,3,,,100,1,1,,15,2,500,7,1,61000,1,,,1,1,61000,0,1,1,1,1,3,1,3,0,0,1,21,0,0,1,0,0,2,1088,2,0,1,13,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,40,19,39,22,55,36,56,32,52,21,31,9,29,23,10,59,59,11,47,35,68,34,13,40,41,88,23,12,50,9,45,26,7,8,50,41,44,49,44,42,29,44,27,48,7,25,15,32,7,32,38,65,36,38,42,10,10,42,14,42,8,24,42,17,40,10,41,47,34,112,11,36,51,77,33,27,31,30,31 H,1207496,8,100,4,16,1015675,26,2,1,1,,3,2,2,,110,0,780,2,1,350,1,,2,570,2,1,1,5,,,,1,1,,18,2,480,5,3,28000,4,,,1,1,28000,0,4,4,4,1,5,0,2,0,0,0,41,0,0,0,0,0,2,947,3,0,1,28,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,24,22,8,7,5,8,26,6,26,6,28,30,24,26,7,5,23,22,28,24,42,43,29,31,18,27,45,25,42,23,55,53,60,43,23,24,37,44,43,50,24,23,47,37,41,43,25,44,27,49,22,24,30,27,37,34,22,28,33,23,9,8,30,35,25,28,7,22,6,23,8,7,7,5,23,31,9,6,10 H,1207537,8,700,4,16,1015675,189,2,1,1,,3,2,1,,50,0,2,250,1,500,1,,1,750,1,1,1,7,,,,1,1,,19,3,120,3,1,86000,4,,,1,1,86000,0,4,4,4,1,4,0,2,0,0,0,15,0,0,0,0,0,1,1060,3,0,0,23,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,454,159,168,240,51,225,147,255,71,254,324,255,243,46,58,303,135,209,181,158,186,292,389,373,225,64,272,159,213,197,150,63,72,181,211,195,47,286,65,326,44,188,192,165,362,177,268,68,303,67,48,149,149,363,288,63,291,159,209,264,140,57,44,45,195,284,56,280,167,174,245,345,324,228,183,192,342,67,271,62 H,1207602,8,100,4,16,1015675,110,1,1,1,,3,2,2,,20,0,300,30,1,440,1,,,,,3,1,7,,,,1,2,,22,1,50,3,,,,,,1,6,33000,0,4,4,4,1,4,0,,0,0,0,15,0,0,0,1,1,1,415,,0,1,47,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,30,108,103,119,153,133,179,100,26,178,107,189,120,30,80,37,214,117,193,27,42,129,131,87,84,111,186,127,27,170,107,172,116,33,118,37,188,101,220,37,31,118,112,101,134,101,171,103,34,155,103,156,90,30,108,42,223,127,220,37,22,107,100,101,104,97,226,114,29,162,101,236,114,34,117,39,182,115,184 H,1207841,8,100,4,16,1015675,198,2,1,1,,2,2,2,,30,0,2400,3,4,,1,,,,,,1,5,,,,1,4,,,1,1,9,4,10600,4,,,1,1,10600,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,295,197,207,64,200,57,58,264,306,223,304,200,204,56,282,210,169,251,73,80,47,185,167,266,183,296,245,65,91,186,173,215,235,284,61,272,202,192,323,71,96,184,212,296,194,316,299,62,53,172,198,235,194,286,79,181,228,233,334,264,328,188,202,62,190,64,74,396,290,180,175,196,232,63,276,156,221,171,51,344 H,1207907,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1207965,8,500,4,16,1015675,106,2,1,1,,3,2,2,,100,0,2,20,1,500,1,,1,1400,1,1,1,6,,,,1,1,,16,4,190,5,,,,,,1,5,57000,0,4,4,4,1,3,0,,0,1,0,32,2,0,0,0,0,1,1536,3,0,1,27,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,95,162,38,182,107,31,29,27,118,201,38,106,101,118,108,160,166,101,107,175,36,112,106,115,29,109,107,107,163,91,117,26,199,40,31,89,106,173,214,117,146,209,36,187,109,35,31,35,105,159,31,109,133,109,100,163,159,92,96,165,31,98,117,101,29,105,102,118,184,97,108,30,172,28,38,111,104,178,175,115 H,1208041,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1208344,8,900,4,16,1015675,33,4,1,2,1,5,2,2,,50,0,2,30,3,600,1,,,,,3,1,9,,,,1,2,,14,3,2,7,1,78000,2,,,1,1,78000,0,2,2,2,1,7,1,4,0,0,1,3,0,0,1,0,0,1,197,,0,1,18,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,30,57,28,25,30,32,48,30,38,11,8,49,50,10,46,72,10,13,31,29,35,60,47,26,50,45,53,31,30,8,10,57,49,9,29,60,12,8,49,26,50,10,32,28,33,35,11,45,48,52,83,12,6,76,42,9,52,52,42,41,30,10,34,33,33,28,12,28,28,50,44,10,10,49,25,12,55,65,33,35 H,1208965,8,400,4,16,1015675,119,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,190,122,111,221,139,32,185,209,38,163,115,28,119,34,102,118,132,171,106,40,197,104,110,201,143,37,164,179,46,209,137,31,101,31,116,119,116,146,109,230,32,129,130,38,137,193,37,32,191,141,125,256,128,167,113,115,108,31,109,220,45,124,105,37,111,168,38,35,200,154,118,195,136,176,104,103,108,30,112,47 H,1209065,8,200,4,16,1015675,336,5,1,1,,5,2,2,,150,0,2,2,1,730,1,,2,880,2,1,1,9,,,200,1,1,,19,4,600,3,1,166800,2,,,1,1,166800,1,2,2,2,1,3,2,5,0,0,2,12,0,0,1,1,1,2,1649,2,0,1,49,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,617,145,117,316,319,396,474,362,99,371,106,133,442,318,564,301,368,548,306,334,123,431,541,287,273,408,101,411,538,285,423,532,85,298,117,292,440,115,318,312,552,107,107,332,384,423,472,359,105,302,120,116,393,327,584,246,394,480,279,436,128,556,517,310,302,394,111,407,512,305,401,567,99,288,126,366,364,121,301,347 H,1209083,8,800,4,16,1015675,47,6,1,1,,5,2,2,,220,0,2,180,1,150,1,,1,1400,1,1,1,8,,,,1,1,,22,5,720,5,1,79400,2,,,1,1,79400,0,2,2,2,1,6,3,6,0,0,3,28,0,0,1,0,0,2,1860,3,0,1,42,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,14,51,43,68,71,14,15,78,58,13,68,59,35,51,17,43,52,55,38,35,16,45,34,103,81,14,11,82,75,12,82,77,57,54,15,50,54,56,52,42,14,50,46,86,78,11,15,75,51,14,73,69,49,55,18,61,45,43,34,45,13,62,45,80,92,15,12,80,59,12,57,86,49,42,12,51,43,41,39 H,1209284,8,500,4,16,1015675,151,5,1,1,,4,2,2,,70,0,2,110,1,450,1,,1,1400,1,1,1,9,,,,1,1,,17,2,840,5,8,8000,2,,,1,3,30000,0,3,3,3,1,1,3,4,0,1,3,66,3,0,1,0,0,1,1650,3,0,1,28,1,14,15,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,170,268,150,49,136,143,140,49,160,51,263,139,246,137,146,145,228,285,155,166,43,137,304,157,280,221,39,167,51,158,133,48,145,41,256,257,138,139,154,136,46,131,250,160,249,261,35,149,58,148,152,45,150,49,241,244,153,145,40,44,162,298,163,44,151,157,163,42,157,42,266,170,242,123,144,158,254,264,43 H,1209535,8,500,4,16,1015675,62,3,1,1,,1,2,2,,70,0,2,90,1,600,1,,1,1000,1,1,1,3,,,,1,1,,14,2,780,3,1,31100,2,,,2,1,31100,0,2,2,2,1,1,1,3,0,0,1,47,0,0,1,0,0,2,1225,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,59,22,62,105,87,94,71,68,54,63,59,23,21,22,63,116,60,19,65,21,65,104,64,17,19,23,53,51,60,64,50,124,128,128,63,18,60,113,62,19,73,103,53,20,24,20,77,60,62,57,79,95,118,111,65,17,71,93,51,93,80,19,78,166,152,91,66,98,60,51,86,20,14,15,55,88,70,16,57,130 H,1209858,8,300,4,16,1015675,75,6,1,1,,5,2,2,,80,0,2,150,3,850,1,,1,610,1,1,1,9,,,,1,1,,12,4,520,5,1,76000,3,,,2,1,76000,0,3,3,3,2,4,4,6,0,0,4,14,0,0,1,0,0,2,883,3,0,1,15,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,107,99,72,72,111,133,99,68,24,123,163,76,72,124,70,18,23,23,71,30,47,68,106,66,101,163,157,60,31,77,99,68,80,132,83,25,24,21,88,23,85,112,76,90,113,98,148,91,20,102,99,63,64,117,115,21,24,28,61,26,52,55,94,60,115,192,155,59,27,71,119,65,92,121,50,24,29,23,93,24 H,1210177,8,200,4,16,1015675,97,2,1,1,,2,1,2,,60,0,2,3,3,310,1,0,,,,3,1,5,,,,1,2,,6,2,390,5,7,68000,4,,,1,3,68000,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,1,0,1,172,,0,0,14,2,13,13,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,29,105,41,149,168,100,77,77,27,94,163,111,198,156,29,93,31,104,90,123,32,112,37,176,167,85,108,89,29,107,170,90,130,178,27,88,34,82,93,101,184,107,162,26,34,83,86,118,137,96,35,90,31,33,188,101,185,97,108,94,159,91,159,27,36,134,84,73,201,118,27,125,26,27,141,67,163,91,89 H,1210219,8,100,4,16,1015675,72,1,1,2,1,3,2,2,,30,0,700,3,6,1100,1,,2,500,2,2,1,6,,,,1,1,,17,2,360,5,,,,,,1,4,44300,0,4,4,4,1,6,0,,0,0,0,22,0,0,0,0,0,1,818,3,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,83,23,23,84,21,125,88,73,67,117,77,17,68,121,110,71,81,153,76,124,82,119,112,70,125,15,61,73,75,25,74,133,82,22,20,58,81,20,69,22,72,25,20,74,22,114,81,82,70,112,69,17,72,137,134,78,77,146,87,112,69,113,134,77,131,23,60,64,78,23,75,143,74,21,18,73,66,22,70 H,1210412,8,900,4,16,1015675,177,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,10,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,64,194,310,284,323,173,171,192,179,166,52,56,56,164,293,183,66,183,40,196,304,184,68,61,47,173,176,174,183,160,248,308,251,164,58,154,307,181,255,162,55,193,295,263,261,221,229,146,141,193,48,47,49,205,314,160,63,165,66,171,324,171,51,62,59,152,155,198,195,178,339,282,342,184,54,176,257,182,337 H,1210832,8,100,4,16,1015675,68,4,1,1,,4,2,2,,240,0,400,2,1,800,1,,2,1100,2,1,1,8,,,200,1,1,,16,3,320,5,1,69800,3,,,1,1,69800,0,3,3,3,1,1,2,4,0,0,2,30,0,0,1,0,0,1,1734,1,0,1,18,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,18,115,78,100,102,74,131,17,72,69,62,18,70,114,67,18,20,67,69,66,115,16,68,18,21,61,19,118,73,72,67,126,75,24,61,121,119,68,69,57,23,121,64,105,102,76,131,16,79,57,60,20,73,120,64,20,22,64,75,79,106,19,66,21,17,58,18,133,66,65,76,118,82,22,65,115,104,66,60,60 H,1211608,8,100,4,16,1015675,130,2,1,1,,2,1,2,,50,0,2,130,1,0,1,400,2,300,2,1,1,3,,,,1,1,,3,2,160,3,2,40000,4,,,1,1,40000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,2,551,3,0,0,8,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,38,248,220,127,208,152,150,45,133,42,140,36,134,135,229,139,128,236,42,111,133,117,130,37,113,231,40,119,42,118,220,124,198,43,132,212,192,130,135,42,44,181,230,104,203,124,126,34,119,39,165,36,113,135,226,130,133,222,43,133,125,131,129,35,122,187,45,140,37,144,228,149,260,39,126,246,239,148,141 H,1212023,8,800,4,16,1015675,225,4,1,2,1,2,1,2,,100,0,2,3,3,,1,,,,,,1,4,2,250,,1,3,,,3,2,3,2,28900,2,350,15,2,1,28900,0,2,2,2,2,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,185,365,254,92,196,197,89,188,280,357,321,245,201,228,226,233,76,89,87,76,223,79,202,330,244,202,256,191,82,73,78,276,281,231,217,222,269,329,344,72,191,58,216,293,219,287,279,173,85,89,59,313,264,191,195,219,363,284,341,372,202,384,207,89,291,226,96,303,352,292,309,219,234,257,232,248,63,70,86,413 H,1212104,8,900,4,16,1015675,90,1,1,1,,4,2,2,,30,0,2,130,1,300,1,,1,920,1,1,1,7,,,,1,1,,15,2,720,2,,,,,,1,4,50000,0,4,4,4,1,4,0,,0,0,0,27,0,0,0,0,0,1,1140,3,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,102,28,95,173,28,29,137,99,104,147,91,141,81,85,78,28,96,26,189,104,111,22,88,160,26,23,171,91,68,162,78,122,78,78,105,26,96,25,26,86,87,153,94,30,148,168,30,69,87,24,94,28,88,89,95,159,76,152,36,83,96,142,96,31,136,150,24,84,71,27,85,25,84,85,108,140,96,168,148 H,1212257,8,100,4,16,1015675,73,3,1,1,,3,2,2,,60,0,2,120,1,350,1,,1,1400,1,1,1,6,,,330,1,1,,23,4,50,9,2,275160,4,,,1,1,275160,0,4,4,4,1,6,0,3,0,0,0,8,0,0,0,0,0,1,1914,2,0,1,46,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,75,71,71,62,20,71,24,72,25,18,24,27,68,70,22,23,74,130,66,75,135,120,119,124,63,115,75,129,78,73,73,80,136,128,73,72,113,68,119,135,79,73,75,75,131,80,122,73,131,120,104,113,67,77,133,110,70,18,76,68,20,22,21,22,75,23,72,23,70,79,75,66,24,18,75,85,20,66 H,1212564,8,700,4,16,1015675,97,2,1,1,,2,2,2,,50,0,2,30,1,0,1,,,,,3,1,5,,,,1,2,,17,3,30,5,1,47600,4,,,1,1,47600,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,1,0,1,208,,0,1,27,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,106,27,26,28,102,153,95,32,95,92,28,93,174,172,178,94,94,91,92,31,89,164,180,158,96,28,103,162,99,99,157,96,30,26,25,99,109,100,95,165,97,30,26,31,98,171,109,29,93,99,27,95,158,162,165,91,101,99,94,27,90,164,160,166,88,29,104,168,100,97,172,96,30,29,28,96,91,100,95,181 H,1212876,8,400,4,16,1015675,191,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,303,217,227,306,190,49,55,59,214,186,224,195,187,408,318,303,211,57,184,324,46,187,209,56,179,306,326,330,233,201,194,189,176,58,65,53,155,300,188,65,347,186,227,386,200,73,50,44,196,172,204,210,180,378,300,260,222,55,177,277,53,196,210,66,181,280,353,303,182,222,217,200,178,64,55,52,162,282,200,55 H,1213073,8,200,4,16,1015675,67,2,1,1,,2,1,2,,110,0,2,3,3,310,1,0,,,,3,1,7,,,,1,2,,8,3,1,3,1,65300,4,,,1,1,65300,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,2,0,1,136,,0,0,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,99,116,24,20,51,17,62,61,116,57,131,73,129,80,71,19,64,71,15,56,61,68,82,74,16,60,102,17,77,21,76,146,61,119,18,65,117,93,64,17,116,97,15,20,69,22,76,64,144,61,117,56,114,72,60,19,79,71,16,60,68,71,50,64,22,69,110,22,77,25,53,94,57,121,19,54,110,121,54 H,1213097,8,700,4,16,1015675,124,1,1,1,,2,1,2,,100,0,2,3,3,120,1,4300,,,,3,1,4,,,,1,2,,2,1,280,4,,,,,,1,4,18700,0,4,4,4,1,5,0,,0,0,0,32,0,0,0,1,1,1,499,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,128,124,126,112,194,202,130,113,217,129,120,222,214,186,244,135,221,131,39,38,119,124,116,115,39,36,109,115,36,121,142,39,37,39,37,134,38,130,38,37,142,131,129,123,34,38,122,138,38,121,128,39,34,34,40,115,36,117,203,199,119,127,124,123,187,195,134,118,220,120,129,214,208,210,213,135,237,114,204 H,1213308,8,200,4,16,1015675,272,1,1,3,2,3,2,2,,100,0,1500,3,6,4800,1,,,,,3,1,8,,,,1,2,,18,3,2,3,,,,,,1,4,10000,0,4,4,4,1,5,0,,0,0,0,101,0,0,0,1,0,2,958,,0,0,52,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,240,389,95,80,372,342,349,337,276,295,375,255,242,110,244,98,321,408,81,326,359,167,271,480,102,179,281,99,303,128,256,277,311,460,280,275,254,234,81,340,250,89,401,380,94,286,244,94,304,87,279,276,282,400,233,475,353,271,410,106,287,388,92,88,348,276,237,399,293,471,290,229,223,111,325,76,324,332,327 H,1213721,8,300,4,16,1015675,23,3,1,2,1,2,2,2,,50,0,480,3,8,600,1,,2,500,2,1,1,5,,,,1,1,,12,4,2,4,1,91000,4,,,1,1,91000,0,4,4,4,1,6,0,3,0,0,0,9,0,0,0,2,0,2,703,3,0,1,17,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,10,4,24,24,28,23,22,21,23,43,23,22,8,7,46,38,6,21,23,5,47,39,28,18,5,28,27,19,19,8,19,20,37,35,6,5,39,24,20,6,27,52,28,25,8,23,20,25,19,7,20,24,42,30,5,6,38,21,18,30,5,8,37,25,35,23,22,26,30,35,25,20,7,8,46,42,5,18,17 H,1214594,8,600,4,16,1015675,117,2,1,1,,3,3,2,150,80,0,2,3,3,550,1,,2,1300,1,1,1,5,,,,1,1,,18,3,60,5,1,261000,4,,,1,1,261000,0,4,4,4,1,5,0,2,0,0,0,7,0,0,0,0,0,1,1581,3,0,1,65,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,115,180,218,173,142,38,105,201,96,141,207,103,31,30,40,110,113,127,37,110,130,207,187,177,117,34,126,190,120,119,201,136,36,39,35,110,134,126,33,97,124,230,210,172,126,37,121,177,106,104,197,115,39,33,35,104,114,136,40,105,117,196,182,226,126,36,128,237,121,153,202,127,37,34,35,120,103,110,43 H,1214715,8,500,4,16,1015675,82,2,1,2,1,3,1,2,,90,0,2,150,1,620,1,280,1,700,1,1,1,5,,,,1,1,,16,4,700,6,1,113000,4,,,1,1,113000,0,4,4,4,1,4,0,2,0,0,0,11,0,0,0,0,0,1,1021,3,0,0,28,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,74,147,152,81,126,140,79,65,94,77,117,77,152,90,127,141,118,135,79,100,79,22,23,78,22,26,83,83,79,92,25,94,27,81,23,26,23,24,83,86,102,165,142,69,138,125,83,88,73,88,139,71,139,77,139,125,126,132,76,82,72,23,22,74,25,26,71,78,79,95,26,78,24,97,28,24,25,26,97 H,1214766,8,100,4,16,1015675,94,2,1,3,1,2,2,2,,90,0,1000,3,6,800,1,,,,,3,1,4,,,,1,2,,20,3,440,9,1,90000,4,,,1,1,90000,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,1,363,,0,0,22,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,153,199,107,112,24,84,106,113,93,26,90,103,144,174,34,31,142,86,25,64,175,169,107,90,40,85,78,119,76,28,146,96,147,179,24,21,148,83,29,102,145,162,96,92,29,106,89,94,108,28,73,85,146,203,42,29,145,96,27,101,157,129,84,80,28,98,97,101,80,27,105,101,155,172,34,30,154,89,29,77 H,1214775,8,900,4,16,1015675,52,3,1,1,,2,1,2,,10,0,2,50,1,0,1,0,2,320,2,1,1,4,,,,2,1,,1,1,500,5,2,12200,1,,,2,1,12200,0,1,1,1,2,4,1,3,0,0,1,42,0,0,1,0,0,2,422,3,0,0,1,1,3,3,0,0,0,0,0,0,1,1,1,1,0,1,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,100,16,15,52,57,117,44,43,72,44,80,47,44,24,16,88,75,15,85,77,52,13,19,65,59,80,48,33,39,54,122,69,56,21,15,89,84,18,61,111,73,13,15,63,56,87,56,53,28,49,86,61,100,15,12,95,103,19,35,34,97,17,18,48,42,133,58,37,67,61,84,36,45,20,15,91,86,17,87,47 H,1214998,8,300,4,16,1015675,72,2,1,1,,3,2,2,,40,0,2,3,3,260,1,,2,280,2,1,1,5,,,,1,1,,11,1,780,5,4,19200,4,,,1,1,19200,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,1,1,1,425,3,0,1,6,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,79,92,120,88,104,78,69,62,33,92,23,63,70,24,98,113,14,25,131,95,70,86,129,74,103,87,75,58,24,64,20,73,76,23,92,111,15,17,113,126,71,71,149,54,138,92,68,73,17,78,25,92,71,19,73,154,31,19,112,158,75,53,141,68,105,58,61,59,18,109,23,53,68,21,62,131,34,26,130 H,1215092,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1215494,8,100,4,16,1015675,17,1,1,1,,4,2,2,,80,0,2,50,1,900,1,,2,960,2,1,1,9,,,,1,1,,20,1,60,3,,,,,,1,6,0,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,1,1425,3,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,13,26,18,29,17,15,32,15,5,26,29,4,15,17,5,18,5,19,5,15,17,29,18,27,15,15,28,15,5,31,26,3,17,19,5,13,5,16,31,16,16,5,19,5,17,19,5,14,23,4,5,30,15,17,34,15,27,15,24,16,14,5,17,5,15,17,6,14,30,5,5,29,16,15,25,16,28,17,3 H,1215531,8,100,4,16,1015675,20,4,1,3,3,3,2,1,,90,0,1000,3,6,600,1,,,,,3,1,5,,,,1,2,,15,2,2,4,4,13000,2,,,1,1,13000,0,2,2,2,1,5,2,4,0,0,2,25,0,0,1,1,1,1,275,,0,0,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,5,7,31,27,5,19,32,6,7,23,22,31,19,17,20,19,33,25,17,24,9,7,30,31,7,20,33,7,7,20,28,36,24,22,22,24,38,29,15,22,7,5,30,46,7,20,35,6,7,24,21,27,18,20,24,25,39,27,17,21,7,5,25,37,7,22,41,8,7,16,21,31,21,21,19,18,34,28,16 H,1215537,8,600,4,16,1015675,130,4,1,1,,3,2,2,,70,0,2,30,1,600,1,,1,1100,1,1,1,5,,,350,1,1,,16,2,250,3,2,33000,2,,,2,1,33000,0,2,2,2,1,1,2,4,0,0,2,57,0,0,1,0,0,1,1571,1,0,1,24,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,202,114,143,122,159,238,118,146,31,49,229,209,37,119,249,38,37,129,152,119,45,130,119,118,128,34,142,127,209,232,38,43,232,147,38,196,246,130,118,101,40,147,126,111,133,44,139,125,204,190,38,41,257,140,41,204,219,154,163,127,241,114,118,139,126,239,134,145,37,52,199,210,46,134,207,42,33,128,166 H,1215564,8,100,4,16,1015675,68,3,1,1,,3,2,2,,70,0,2,230,1,600,1,,1,1100,1,1,1,8,,,,1,1,,22,3,1000,3,2,109840,2,,,1,1,109840,0,2,2,2,1,4,1,3,0,0,1,16,0,0,1,0,0,1,1483,3,0,1,44,2,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,19,20,18,20,117,72,64,17,122,68,59,94,66,71,122,69,67,67,113,63,22,18,19,18,125,75,66,19,118,65,67,129,73,77,115,59,68,57,108,69,124,131,108,93,21,76,69,122,23,68,60,15,71,71,17,73,63,64,18,73,108,114,106,111,19,62,63,142,20,65,69,19,69,70,19,67,57,71,18,60 H,1215827,8,200,4,16,1015675,41,2,1,2,1,3,2,2,,90,0,2,3,3,790,1,,,,,3,1,6,,,,1,2,,18,3,770,5,3,85600,4,,,1,1,85600,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,2,1,2,362,,0,1,29,1,8,7,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,14,10,56,12,43,43,63,43,68,44,43,42,36,11,46,33,13,59,16,46,43,31,11,56,68,16,52,12,37,60,54,64,13,38,75,76,39,46,48,85,11,10,40,10,33,50,72,31,58,54,60,41,45,18,40,34,10,58,14,49,55,31,16,53,53,11,60,15,41,65,36,57,14,38,63,84,53,46,32 H,1216016,8,500,4,16,1015675,72,2,1,1,,2,2,2,,50,0,410,3,4,,1,,,,,,1,6,,,,1,4,,,2,2,9,8,21500,4,,,1,3,21500,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,2,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,124,23,73,75,74,141,21,84,61,121,83,128,127,22,20,74,77,86,124,66,25,129,77,78,70,25,129,66,69,20,71,21,20,121,127,63,76,72,111,86,22,126,68,83,66,20,110,74,64,21,74,24,20,105,110,81,70,81,26,69,126,27,96,71,72,115,24,65,72,139,77,112,128,20,22,69,69,68,25 H,1216049,8,300,4,16,1015675,102,1,1,1,,2,2,2,,100,0,2,3,6,900,1,,,,,3,1,4,,,,1,2,,19,2,2,3,,,,,,1,4,38100,0,4,4,4,1,3,0,,0,0,0,8,0,0,0,1,1,2,250,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,35,33,33,123,148,112,42,116,88,31,104,189,183,144,92,103,99,115,30,105,245,156,139,121,28,75,153,88,80,212,116,31,32,37,85,85,139,99,142,93,25,26,34,123,163,108,37,101,114,29,83,141,196,196,119,118,88,92,39,82,178,161,179,126,38,114,154,93,116,173,83,28,45,44,89,83,109,99,134 H,1216130,8,800,4,16,1015675,75,2,1,2,1,2,2,2,,50,0,2,150,1,500,1,,,,,3,1,5,,,,1,2,,20,3,2,7,4,81300,4,,,1,1,81300,0,4,4,4,1,7,0,2,0,0,0,5,0,0,0,2,2,2,309,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,107,68,21,24,19,81,78,73,72,85,130,103,101,71,19,81,131,76,74,23,112,86,18,28,24,57,84,68,86,86,111,124,108,90,20,90,149,72,79,155,22,80,111,109,94,70,67,75,84,104,22,19,25,77,98,82,24,75,69,116,18,91,146,119,106,66,76,81,78,71,23,21,23,65,114,82,24,80,61,19 H,1216617,8,200,4,16,1015675,12,4,1,2,6,5,3,2,,70,0,600,3,6,600,1,,,,,3,2,9,,,,1,2,,11,6,300,9,3,61100,4,,,3,1,61100,0,4,4,4,1,3,0,4,0,0,0,5,0,0,0,1,1,1,240,,0,1,12,2,8,8,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,16,15,7,12,12,14,17,3,22,3,27,12,12,12,3,17,25,12,4,15,12,26,14,3,3,3,9,21,15,10,12,20,15,22,17,3,11,28,14,3,22,9,3,20,19,12,33,2,20,4,18,16,16,12,3,11,20,10,4,14,19,26,10,4,4,3,14,19,11,13,15,17,17,16,10,5,13,21,12 H,1216743,8,700,4,16,1015675,122,2,1,1,,4,2,2,,60,0,2,30,3,400,1,,1,1200,1,1,1,9,,,150,1,1,,20,1,180,2,7,45000,2,,,1,3,45000,0,2,2,2,1,4,1,2,0,0,1,39,0,0,1,0,0,1,1455,2,0,1,32,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,194,41,37,36,37,197,131,135,38,203,117,121,196,124,125,181,121,115,118,120,37,187,212,216,213,37,115,141,219,37,127,121,36,118,116,37,144,120,124,124,221,33,34,37,36,199,114,122,38,201,132,114,204,120,121,225,113,146,120,114,32,205,209,223,215,40,127,121,212,39,130,114,36,136,123,35,116,113,122 H,1217026,8,600,4,16,1015675,53,1,1,,,1,9,,,30,0,2,3,3,,1,,,,,,1,2,2,660,,2,3,,,1,1,2,,,,690,28,4,6,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,42,39,46,19,66,13,71,50,19,57,88,17,16,92,62,49,96,59,103,20,56,48,51,88,52,93,51,57,90,55,17,65,109,19,50,48,17,50,15,17,54,50,51,94,53,83,64,55,79,58,15,90,77,14,63,59,17,54,20,80,76,74,51,15,63,13,50,49,13,45,75,20,17,78,60,48,94,67,98,65 H,1217359,8,700,4,16,1015675,27,3,1,1,,4,2,2,,50,0,2,20,1,500,1,,1,980,1,1,1,7,,,,1,1,,18,5,560,3,1,70150,1,,,2,1,70150,0,1,1,1,1,4,1,3,0,0,1,19,0,0,1,0,0,1,1097,3,0,1,27,2,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,44,26,25,23,8,47,23,26,7,26,8,7,38,43,27,24,25,27,7,39,7,24,26,25,43,7,25,28,49,27,41,41,9,7,30,28,25,28,47,7,43,26,28,24,8,41,23,26,8,23,9,9,42,41,23,23,25,26,9,44,7,28,27,27,54,7,27,26,44,25,47,46,7,6,23,28,26,23,42 H,1217586,8,800,4,16,1015675,76,3,1,1,,4,2,2,,40,0,2,80,1,1000,1,,,,,3,1,8,,,,1,2,,17,2,440,7,4,63800,4,,,1,1,63800,0,4,4,4,1,7,0,3,0,0,0,9,0,0,0,2,2,1,452,,0,1,37,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,76,102,132,52,68,175,104,135,140,89,129,60,134,78,67,76,73,154,20,22,75,86,20,84,69,17,27,24,19,65,19,76,26,104,74,57,103,26,119,125,95,94,84,67,79,105,121,140,121,64,129,72,133,68,81,92,76,136,29,25,65,68,22,90,63,17,26,22,30,70,24,100,23,84,73,70,80,23,154 H,1217857,8,600,4,16,1015675,257,3,1,1,,3,2,2,,60,0,2,50,1,,1,,,,,,1,5,2,900,,1,3,,,3,2,6,,,,1010,15,1,5,79000,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,241,81,236,271,87,227,420,92,78,423,249,270,419,279,451,250,236,253,80,84,264,412,262,257,459,258,81,425,452,83,253,286,65,239,81,243,274,226,385,76,235,404,282,267,434,282,86,436,408,81,237,238,83,251,79,233,266,280,412,431,284,77,253,258,71,271,459,79,84,385,253,232,460,240,409,267,248,288,76,445 H,1217957,8,500,4,16,1015675,60,2,1,2,1,3,2,2,,50,0,2000,3,4,1500,1,,,,,3,1,9,,,,1,2,,14,4,2,7,4,43200,4,,,1,1,43200,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,2,1,1,411,,0,1,18,1,6,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,56,66,58,103,63,70,17,110,17,17,62,75,112,104,15,59,53,55,109,22,61,61,62,99,75,63,18,100,16,15,60,66,95,92,19,57,56,55,102,19,62,55,81,101,64,60,13,77,15,17,55,60,119,102,19,57,55,62,108,18,72,65,66,99,66,60,20,94,18,17,75,63,107,95,16,63,54,54,107 H,1218068,8,300,4,16,1015675,27,5,1,1,,4,2,2,,50,0,2,100,1,400,1,,2,900,1,1,1,8,,,,1,1,,17,3,480,3,2,104000,2,,,1,1,104000,0,2,2,2,1,4,3,5,0,0,3,13,0,0,1,0,0,2,1123,3,0,1,29,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,25,27,25,46,47,44,19,10,20,66,21,30,33,20,9,8,6,22,67,25,25,37,26,8,8,6,32,61,42,9,21,36,12,23,46,33,43,32,44,32,35,34,30,8,10,8,28,42,28,8,27,30,8,23,35,47,49,31,8,21,22,29,32,47,56,45,25,7,22,52,21,25,30,27,9,7,10,25,8 H,1219342,8,800,4,16,1015675,36,0,1,3,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,36,34,53,38,11,9,10,38,33,35,34,32,62,69,67,34,11,33,57,10,40,39,12,31,55,73,63,35,33,30,34,34,10,9,11,38,52,36,57,9,33,35,10,33,62,56,69,36,29,37,47,44,9,8,9,39,57,29,11,58,39,39,69,37,10,10,12,30,27,35,40,41,58,51,61,30,9,32,10 H,1219541,8,100,4,16,1015675,52,1,1,,,1,8,,,20,840,2,3,3,,1,,,,,,1,2,2,240,,1,3,,,0,1,4,,,,260,29,1,4,10600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,84,95,38,54,88,53,22,74,118,13,69,45,14,45,15,52,66,66,16,96,76,68,46,53,102,78,13,78,105,22,48,33,12,46,20,63,46,35,69,16,48,15,42,41,12,41,85,18,20,94,56,73,96,64,96,43,54,68,64,22,42,13,70,74,19,47,77,23,11,88,52,53,92,63,106,47,39,63,11 H,1219619,8,800,4,16,1015675,152,4,1,2,1,3,2,2,,130,0,50,3,6,350,1,,,,,3,1,8,,,,1,2,,17,3,2,6,8,0,2,,,1,3,165000,0,2,2,2,1,4,2,3,0,1,2,2,3,0,1,0,0,2,246,,0,1,22,0,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,287,46,113,192,59,59,104,127,245,168,181,213,167,255,157,145,40,40,289,143,47,196,152,50,238,291,165,121,45,111,130,176,132,65,179,123,346,291,48,129,293,51,166,285,55,59,150,161,221,113,169,167,132,244,180,138,46,49,240,143,73,251,154,46,225,206,173,144,35,145,139,158,153,39,154,172,243,274,73,188 H,1219881,8,300,4,16,1015675,233,1,1,3,1,1,2,2,,20,0,2,110,2,,1,,,,,,1,4,,,,1,4,,,3,2,7,,,,,,1,6,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,243,84,73,72,217,235,228,196,227,352,420,335,206,58,201,399,297,280,351,82,239,318,334,383,230,220,219,228,226,87,123,113,220,390,265,67,192,199,349,65,208,325,382,382,212,182,247,238,231,89,124,113,224,315,217,69,186,168,82,359,218,86,77,97,268,241,218,282,222,297,291,348,303,71,228,382,242,325,67 H,1219912,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1219922,8,200,4,16,1015675,117,5,1,,,3,6,,,50,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,1,1,5,4,50,1,,,1,1,50,0,1,1,1,1,2,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,143,32,133,124,125,102,27,98,132,178,153,41,32,169,132,31,256,174,89,128,124,211,137,137,111,126,236,131,120,43,42,161,185,38,94,222,36,35,112,112,97,282,131,119,110,152,268,118,87,40,45,160,215,38,117,260,22,34,128,109,90,27,124,102,117,109,32,102,111,238,177,39,36,216,139,36,216,185,148 H,1220159,8,100,4,16,1015675,88,5,1,2,1,3,2,2,,80,0,2,120,6,840,1,,2,900,1,2,1,4,,,,1,1,,18,4,2,3,1,51200,3,,,1,1,51200,0,3,3,3,1,1,3,5,0,0,3,27,0,0,1,0,0,1,1170,3,0,1,27,1,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,83,96,164,89,25,152,127,28,89,94,26,124,27,82,74,74,166,78,29,154,97,102,165,87,25,135,131,26,84,98,27,69,27,96,88,92,146,82,180,26,92,94,20,83,129,32,30,154,76,101,125,82,143,84,92,92,25,89,130,24,111,78,25,95,123,34,32,155,95,79,150,89,151,84,77,95,27,77,23 H,1220259,8,300,4,16,1015675,29,2,1,2,3,3,2,2,,40,0,2,3,6,400,1,,1,360,1,1,1,5,,,,1,1,,18,3,2,4,3,32750,4,,,1,1,32750,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,1,1,2,400,3,0,1,12,1,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,50,59,32,25,10,36,36,38,32,8,34,29,44,42,8,8,51,26,7,30,8,11,26,33,52,26,31,29,34,61,29,24,8,8,54,50,8,30,40,21,49,51,34,28,8,31,36,35,25,8,29,26,48,51,8,10,48,26,10,34,10,11,32,24,60,30,24,30,36,60,27,27,10,8,44,45,8,29,46,29 H,1220409,8,700,4,16,1015675,141,2,1,1,,3,2,2,,50,0,2,80,1,,1,,,,,,1,7,2,800,,1,3,,,2,450,3,1,56010,4,968,21,1,1,56010,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,41,132,135,140,154,137,217,224,273,158,45,136,218,132,166,234,136,45,40,220,201,127,137,153,130,151,43,40,44,149,260,132,42,151,139,42,141,241,243,232,253,161,152,137,153,129,41,39,35,142,218,131,45,135,148,46,129,199,227,45,44,150,161,146,155,139,230,215,190,134,37,131,245,140,139,227,151,43,43,35 H,1220931,8,300,4,16,1015675,88,2,1,2,1,4,2,2,,50,0,2,90,1,1000,1,,1,840,1,1,1,8,,,,1,1,,20,2,2,3,1,131000,4,,,1,1,131000,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,0,0,1,980,3,0,1,22,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,33,121,95,93,68,135,72,26,91,157,171,86,87,135,24,101,29,29,86,81,23,153,110,81,107,187,69,24,88,157,147,106,117,148,25,67,29,33,99,125,29,148,102,96,92,138,108,29,84,141,170,82,79,164,28,89,20,20,94,96,26,168,62,82,108,150,90,25,78,173,147,100,79,174,23,79,25,25,87 H,1221254,8,500,4,16,1015675,41,4,1,2,1,3,2,2,,120,0,2,3,3,260,1,,1,580,1,1,1,7,,,120,1,1,,14,2,360,5,2,70000,1,,,1,1,70000,0,1,1,1,1,4,2,4,0,0,2,15,0,0,1,0,0,1,850,2,0,1,17,2,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,41,57,52,73,11,76,39,44,16,12,10,37,39,64,13,70,66,45,44,15,11,11,41,45,46,44,58,8,35,69,48,64,14,44,37,83,43,68,63,31,57,43,60,65,22,74,47,41,11,10,12,35,37,60,14,40,78,39,47,14,13,10,56,49,54,36,68,12,32,35,53,80,12,33,55,78,50,61,54,37 H,1221517,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1221819,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1222007,8,100,4,16,1015675,122,2,1,2,1,3,2,2,,50,0,2,80,2,800,1,,,,,3,1,6,,,,1,2,,20,2,2,2,1,85000,4,,,1,1,85000,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,1,0,1,380,,0,1,34,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,175,259,140,35,190,37,115,130,146,126,127,122,152,36,140,103,42,40,155,40,110,99,21,110,118,101,40,235,204,199,212,37,119,131,211,34,102,135,38,170,42,42,122,188,33,197,128,117,110,133,117,129,36,214,102,111,263,183,140,183,124,135,220,111,130,112,200,32,31,33,32,232,117,105,33,226,124,108,221 H,1222186,8,600,4,16,1015675,105,3,1,1,,3,2,2,,50,0,2,150,1,250,1,,1,900,1,1,1,5,,,,1,1,,15,2,500,3,1,55000,4,,,4,1,55000,0,4,4,4,1,3,0,3,0,0,0,25,0,0,0,1,0,1,1142,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,29,31,170,106,165,94,82,167,78,215,30,36,132,97,107,216,106,34,124,102,26,36,209,101,199,96,110,182,98,186,29,30,97,97,141,172,89,32,104,87,180,215,27,100,34,120,130,27,123,29,161,152,101,116,128,31,102,174,95,87,187,158,30,99,27,137,118,34,122,28,209,186,103,99,106,46,106,153,100 H,1222774,8,500,4,16,1015675,107,5,1,1,,5,2,2,,150,2800,200,130,1,0,1,,1,1200,1,1,1,8,,,,1,1,,18,5,240,5,2,38600,3,,,3,1,38600,0,3,3,3,1,5,3,5,0,0,3,47,0,0,1,0,0,2,1517,3,0,1,22,2,2,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,94,178,116,167,179,30,26,102,131,125,122,208,37,106,99,85,192,35,28,117,110,188,113,163,168,34,33,110,104,114,98,175,33,118,98,102,160,37,197,125,117,34,103,33,33,166,177,127,99,111,110,35,171,110,120,107,30,171,193,105,121,35,92,27,28,182,171,114,93,97,91,30,172,132,114,98,30,176,33 H,1222993,8,200,4,16,1015675,129,5,1,1,,3,2,2,,100,0,700,3,4,,1,,,,,,1,5,1,280,,1,3,,,3,1,7,1,31900,3,438,16,1,1,31900,0,3,3,3,1,4,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,46,34,40,29,124,55,128,44,111,109,145,157,52,45,141,147,45,125,128,168,129,159,123,141,198,134,241,120,174,212,211,194,131,114,157,210,133,196,37,125,47,38,43,44,129,39,129,42,121,140,122,145,49,44,149,125,42,128,154,219,114,129,152,124,215,143,210,126,195,178,161,211,130,135,211,187,112,186,49 H,1223061,8,400,4,16,1015675,90,3,1,3,4,4,2,2,,120,0,2,3,3,650,1,,2,930,1,1,1,7,,,,1,1,,15,5,2,2,4,44500,4,,,1,1,44500,0,4,4,4,1,2,0,3,0,0,0,30,0,0,0,2,2,1,1104,3,0,0,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,89,83,86,101,31,88,89,132,150,25,28,141,66,31,158,149,99,91,90,154,103,80,95,93,165,85,84,31,27,125,159,33,77,120,22,31,107,73,90,162,123,88,82,70,134,96,97,25,22,168,161,33,97,153,30,48,116,62,94,23,90,88,90,109,28,87,87,126,123,30,31,121,77,31,125,130,85,78,107 H,1223079,8,300,4,16,1015675,207,1,1,,,1,9,,,1,0,2,1,1,,1,,,,,,1,2,2,310,,2,3,,,1,1,9,,,,310,7,1,4,50000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,283,187,175,201,69,220,215,384,70,371,306,224,214,64,61,292,210,196,209,186,207,370,300,329,207,52,370,169,214,213,259,66,61,220,208,265,96,372,63,68,310,177,201,225,81,189,191,357,55,416,315,192,224,69,72,342,204,234,210,191,242,313,357,394,194,72,308,213,225,196,199,64,77,205,211,181,62,300,63,63 H,1223389,8,500,4,16,1015675,85,1,1,1,,2,2,2,,40,0,2,20,1,500,1,,1,540,2,1,1,4,,,,1,1,,9,1,360,9,,,,,,1,4,27300,0,4,4,4,1,4,0,,0,0,0,31,0,0,0,0,0,1,713,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,136,85,26,90,26,141,79,26,28,99,101,87,90,85,129,63,24,152,25,85,26,82,156,83,132,24,98,155,158,95,83,86,84,96,25,89,136,26,25,106,27,89,137,98,138,23,74,162,152,95,91,99,77,87,27,93,143,26,140,73,150,90,23,77,22,141,82,26,26,97,83,82,82,98,155,80,27,130,160 H,1223455,8,600,4,16,1015675,125,5,1,1,,5,2,2,,110,0,2,90,1,460,1,,,,,3,1,9,,,,1,2,,18,3,470,7,2,41200,2,,,1,1,41200,0,2,2,2,1,5,3,5,0,0,3,12,0,0,1,0,0,1,405,,0,1,27,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,125,37,126,126,40,128,34,206,236,120,122,124,36,118,202,117,238,237,116,199,120,206,122,135,202,116,216,39,41,120,141,132,199,142,40,124,38,38,140,225,124,204,127,113,199,128,205,39,33,126,120,127,226,122,36,125,33,37,131,39,130,40,126,125,38,136,38,223,206,122,133,123,37,123,203,128,211,199,122 H,1223697,8,400,4,16,1015675,377,3,1,1,,3,2,2,,70,0,2,120,1,,1,,,,,,1,5,2,630,,1,3,,,2,770,5,1,68100,1,884,16,1,1,68100,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,580,325,379,148,149,685,717,99,304,491,129,95,418,424,493,319,367,346,396,437,97,355,478,575,474,125,156,634,350,135,584,643,365,386,164,408,422,456,391,391,572,397,360,96,114,637,634,149,335,564,145,80,410,403,447,362,304,373,466,384,164,409,360,617,644,123,148,688,448,150,550,556,339,323,147,354,424,421,359,370 H,1223954,8,400,4,16,1015675,189,2,1,2,1,3,2,2,,60,0,2,3,3,270,1,,1,410,1,1,1,5,,,,1,1,,15,2,2,3,2,59000,4,,,1,1,59000,0,4,4,4,1,3,0,2,0,0,0,10,0,0,0,0,0,2,470,3,0,1,12,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,52,55,355,306,67,288,256,48,66,153,153,345,209,205,206,226,337,187,197,188,231,290,107,51,227,243,58,273,323,172,201,67,220,186,158,192,54,210,131,195,57,58,376,399,66,190,333,63,42,156,205,295,143,159,177,257,441,240,171,183,277,269,71,59,258,223,58,293,217,136,167,50,211,243,241,246,97,257,216 H,1224041,8,800,4,16,1015675,31,3,1,1,,3,1,2,,130,0,2,3,3,200,1,30,,,,3,1,5,,,,1,2,,14,2,1,5,7,6000,2,,,1,3,6000,0,2,2,2,1,5,2,3,0,0,2,50,0,0,1,0,0,2,250,,0,0,24,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,32,28,33,38,27,8,10,12,29,38,50,10,22,27,10,28,49,48,43,9,27,28,39,37,30,49,39,46,31,8,42,88,27,31,50,22,9,12,11,7,33,30,28,31,33,54,47,65,29,5,29,60,34,36,55,24,10,12,10,46,36,22,27,36,30,12,13,12,35,37,27,10,27,31,9,30,48,51,60,67 H,1224058,8,300,4,16,1015675,88,3,1,1,,4,2,2,,300,0,2,3,3,,1,,,,,,1,9,2,750,,1,3,,,1,2,7,3,63000,2,1050,20,1,1,63000,0,2,2,2,1,5,1,3,0,0,1,,0,0,1,1,0,2,,,1,0,,1,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,92,108,25,160,151,168,156,23,97,142,146,23,81,96,27,70,90,29,77,86,80,91,31,173,155,159,137,26,94,99,137,26,76,90,31,86,76,26,83,94,98,90,21,193,167,156,166,35,110,89,162,28,93,86,22,72,81,25,86,104,86,80,24,147,176,129,129,28,102,90,150,27,84,71,26,86,89,30,73,74 H,1224377,8,300,4,16,1015675,26,1,1,1,,3,2,2,,10,0,2,130,1,360,1,,,,,3,1,5,,,,1,2,,15,1,370,5,,,,,,1,6,13500,0,4,4,4,1,6,0,,0,0,0,25,0,0,0,1,1,2,281,,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,37,32,6,26,30,40,43,10,8,37,18,9,33,33,20,24,6,18,37,24,21,31,8,21,31,53,46,10,14,51,26,10,61,31,19,22,6,29,38,28,23,32,12,27,23,45,74,7,9,37,28,6,46,43,21,30,8,28,25,24,20,30,6,29,38,42,44,4,5,42,14,7,34,47,35,26,6,31,24 H,1224491,8,300,4,16,1015675,84,2,1,1,,3,2,2,,230,0,2,3,3,,1,,,,,,1,7,2,1000,,1,3,,,2,200,3,7,22050,2,1247,68,2,3,22050,0,2,2,2,1,2,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,138,98,30,106,154,85,93,144,124,22,23,30,100,73,86,100,70,130,131,158,23,88,133,77,31,69,104,23,86,133,118,135,64,78,84,69,71,27,24,138,28,102,156,86,25,65,97,25,127,119,118,113,69,79,99,75,69,21,30,45,124,91,22,89,149,68,89,161,70,24,34,25,72,95,76,91,92,153,132,21 H,1224500,8,600,4,16,1015675,73,2,1,1,,4,2,2,,120,0,2,2,1,600,1,,1,800,1,1,1,7,,,200,1,1,,16,2,200,5,1,58000,4,,,1,1,58000,0,4,4,4,1,4,0,2,0,0,0,24,0,0,0,0,0,2,1137,1,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,130,78,77,74,21,74,20,70,74,20,78,135,22,18,117,76,73,139,132,72,124,73,70,67,22,70,22,68,72,22,75,134,21,23,137,69,74,120,126,74,129,76,78,71,22,79,21,78,82,21,80,124,20,21,120,72,71,127,124,74,123,68,76,71,20,72,21,78,74,23,76,130,22,22,116,73,79,114,121 H,1224645,8,100,4,16,1015675,127,2,1,1,,3,2,2,,70,0,2,330,1,1100,1,,2,1600,1,1,1,6,,,,1,1,,22,2,810,2,4,50500,4,,,1,1,50500,0,4,4,4,1,2,0,2,0,0,0,51,0,0,0,2,1,1,2160,3,0,1,62,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,214,192,34,139,43,120,115,36,103,38,194,229,117,129,136,35,152,202,129,128,251,213,42,159,38,129,124,33,106,43,220,210,119,120,133,28,116,236,151,145,31,38,229,161,231,124,136,209,125,214,33,36,139,112,127,228,131,37,108,132,50,35,193,134,266,128,122,220,108,209,37,35,133,112,113,193,142,39,140,134 H,1224870,8,500,4,16,1015675,115,2,1,2,1,3,2,2,,70,0,2,3,3,300,1,,2,200,1,1,1,5,,,200,1,1,,16,2,2,6,8,12450,2,,,1,3,12450,0,2,2,2,1,4,1,2,0,0,1,48,0,0,1,0,0,1,495,1,0,1,18,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,120,176,205,130,198,162,126,117,125,119,231,111,184,118,221,181,196,195,123,104,112,32,33,116,34,30,143,131,122,111,34,126,33,110,34,34,34,31,108,123,110,30,32,130,37,32,110,109,135,127,36,119,31,115,41,39,40,36,105,110,110,190,225,109,172,201,111,117,134,119,205,124,184,111,188,180,213,158,120 H,1224929,8,800,4,16,1015675,80,1,1,2,1,4,2,2,,70,0,2,3,3,500,1,,,,,3,1,6,,,,1,2,,13,0,2,5,,,,,,1,6,53000,0,4,4,4,1,6,0,,0,0,0,4,0,0,0,1,1,1,175,,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,115,148,33,71,122,36,25,60,53,108,88,86,69,68,154,125,94,35,92,132,26,25,132,75,19,130,149,85,71,19,87,90,58,77,31,69,78,150,104,20,122,153,23,55,96,21,20,77,102,107,76,84,76,69,119,78,100,32,57,133,19,21,151,85,25,161,137,75,74,25,88,85,77,92,30,103,94,165,68 H,1225044,8,600,4,16,1015675,103,2,1,1,,3,1,2,,190,0,2,3,3,310,1,3800,2,470,2,1,1,5,,,,1,1,,8,2,320,3,1,46300,4,,,1,1,46300,0,4,4,4,1,4,0,2,0,0,0,27,0,0,0,0,0,1,1058,3,0,0,8,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,179,33,110,31,30,107,28,170,102,106,114,192,105,27,99,194,175,115,109,102,173,29,102,27,31,99,32,168,100,112,108,191,102,32,117,165,179,103,108,105,31,187,111,174,185,113,175,33,118,99,111,30,94,169,102,31,28,106,105,110,29,163,104,171,170,101,187,32,103,111,107,33,107,175,97,30,34,93,102 H,1225680,8,400,4,16,1015675,105,1,1,1,,3,2,2,,20,0,710,10,1,500,1,,,,,3,1,5,,,,1,2,,14,1,320,2,,,,,,1,6,30700,0,4,4,4,1,3,0,,0,0,0,10,0,0,0,1,1,1,266,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,231,129,117,123,95,154,106,102,28,37,156,116,30,134,166,28,31,102,98,129,169,99,129,103,83,160,132,118,31,34,170,204,26,78,163,30,32,106,100,143,209,95,80,88,113,213,126,119,31,49,179,156,28,78,167,37,27,117,97,139,232,82,106,138,93,144,109,108,29,28,173,180,30,113,189,36,29,80,119 H,1225747,8,900,4,16,1015675,78,5,1,2,1,3,2,2,,90,0,300,20,1,,1,,,,,,1,5,,,,1,4,,,3,140,5,1,70210,2,,,1,1,70210,0,2,2,2,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,88,23,84,25,74,84,77,130,93,125,86,81,105,73,20,123,168,23,26,72,73,19,71,24,73,68,80,120,73,150,67,81,115,63,23,142,149,29,23,69,75,24,66,25,73,101,96,118,80,138,70,80,126,69,21,113,119,24,32,65,86,20,60,26,78,90,85,124,74,134,95,83,135,74,23,120,136,25,24 H,1225966,8,500,4,16,1015675,87,3,1,1,,3,2,2,,100,0,300,30,1,380,1,,2,580,1,1,1,6,,,110,1,1,,15,3,180,5,1,103080,4,,,1,1,103080,0,4,4,4,1,5,0,3,0,0,0,10,0,0,0,0,0,1,892,2,0,1,21,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,101,89,25,89,24,26,131,138,91,86,84,87,29,133,81,81,75,27,27,30,97,92,161,82,143,171,26,24,87,97,89,105,160,26,92,78,92,155,25,25,86,97,155,83,138,179,24,26,85,86,81,79,157,30,79,82,84,149,185,131,90,81,26,97,25,26,144,142,73,92,95,83,26,140,83,96,108,28,136 H,1226270,8,500,4,16,1015675,146,2,1,2,1,5,2,2,,70,0,2,240,3,600,1,,1,1800,1,1,1,9,,,,1,1,,22,3,2,2,2,38400,4,,,1,1,38400,0,4,4,4,1,1,0,2,0,0,0,66,0,0,0,2,0,2,2110,3,0,1,56,1,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,260,227,155,46,266,37,158,138,160,147,162,140,238,40,141,127,41,46,170,239,147,157,258,146,135,131,276,48,50,47,46,236,140,153,47,254,137,147,241,149,240,246,151,47,247,43,132,141,165,160,155,162,209,41,159,146,48,46,132,229,159,131,249,137,140,142,246,42,51,50,43,245,140,141,45,250,163,123,229 H,1226396,8,900,4,16,1015675,104,2,1,,,2,5,,,70,0,2,3,3,,1,,,,,,1,4,2,380,,1,3,,,1,1,5,7,23400,2,450,23,1,3,23400,0,1,1,1,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,37,98,103,27,101,243,40,33,185,152,100,160,79,177,96,110,95,20,164,117,41,108,105,31,103,188,40,31,184,105,104,222,110,250,88,68,90,26,32,85,165,117,92,208,132,30,153,199,35,103,117,30,123,25,85,132,95,177,32,107,219,106,106,180,101,28,165,167,25,91,97,30,112,34,101,121,141,191,202 H,1226519,8,900,4,16,1015675,71,3,1,1,,3,2,2,,40,0,2,20,1,370,1,,1,700,1,1,1,6,,,,1,1,,16,2,700,3,1,97000,2,,,1,1,97000,0,2,2,2,1,5,1,3,0,0,1,10,0,0,1,0,0,2,818,3,0,1,36,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,23,128,74,23,109,136,70,86,21,70,76,77,71,23,74,62,109,126,62,20,20,118,84,25,123,131,55,64,21,74,74,69,75,22,64,69,138,112,84,129,117,20,66,109,17,21,83,88,126,77,85,74,60,121,87,82,16,20,68,120,111,22,68,139,26,21,61,65,119,79,74,75,74,130,82,71,22,20,84 H,1226816,8,900,4,16,1015675,117,1,1,2,1,4,2,2,,100,0,2,10,1,300,1,,2,540,2,1,1,7,,,,1,1,,15,2,2,7,,,,,,1,6,13000,0,4,4,4,1,6,0,,0,0,0,70,0,0,0,1,1,1,758,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,131,43,103,224,135,198,38,94,204,140,124,128,133,147,109,37,147,158,217,221,112,197,157,38,85,33,159,107,31,28,124,107,123,120,111,180,119,55,31,45,121,36,108,162,105,270,55,110,150,212,99,106,100,116,121,26,101,199,231,185,118,172,126,51,123,23,141,117,46,40,101,116,120,111,135,258,114,32,30 H,1226835,8,100,4,16,1015675,125,2,1,1,,3,1,2,,100,0,500,3,6,1000,1,0,2,60,2,1,1,7,,,,1,1,,14,2,320,5,,,,,,1,7,54000,0,4,4,4,1,5,0,,0,1,0,8,3,0,0,0,0,1,362,3,0,0,14,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,134,42,109,124,255,133,209,122,260,128,127,30,172,141,40,231,133,34,38,103,39,141,195,43,118,34,109,154,139,203,53,139,220,277,116,167,129,116,139,242,135,148,107,126,34,154,47,119,28,144,93,193,118,178,212,27,47,241,294,143,211,117,37,197,178,178,140,60,150,55,163,143,37,33,131,99,120,111,137 H,1226909,8,900,4,16,1015675,66,2,1,2,1,2,2,2,,70,0,2,3,3,480,1,,1,700,1,1,1,5,,,,1,1,,15,3,2,3,1,58000,4,,,1,1,58000,0,4,4,4,1,1,0,2,0,0,0,16,0,0,0,0,0,1,770,3,0,1,23,2,2,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,18,75,74,20,68,18,123,101,70,74,58,20,63,109,77,94,107,22,67,66,19,65,60,19,74,18,106,100,61,66,77,19,62,97,66,121,108,21,61,78,109,66,58,98,63,100,23,24,65,69,69,137,71,18,59,20,20,80,67,85,107,67,64,105,78,123,20,18,52,59,79,119,76,19,66,23,16,104,67,79 H,1227121,8,100,4,16,1015675,102,2,1,1,,3,2,2,,80,0,2,80,1,400,1,,2,200,2,1,1,6,,,,1,1,,19,2,200,3,1,36000,4,,,1,1,36000,0,4,4,4,1,4,0,2,0,0,0,17,0,0,0,0,0,1,511,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,109,98,174,195,96,115,128,162,32,187,100,28,32,32,98,176,28,94,106,81,104,92,157,172,88,101,101,157,32,154,102,31,27,33,102,178,26,100,107,100,106,93,170,168,95,89,93,165,31,157,121,27,25,32,93,169,27,98,118,103,98,102,183,180,93,85,109,162,31,186,101,31,33,31,100,193,28,98,105 H,1227228,8,800,4,16,1015675,103,1,1,,,1,4,,,30,0,2,3,3,,1,,,,,,1,3,,,,1,4,,,0,360,7,,,,,,1,6,7710,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,88,103,101,182,94,32,102,189,196,95,98,161,27,109,29,38,91,31,99,169,91,123,106,168,101,33,106,183,167,94,87,194,30,109,32,33,118,34,111,178,104,111,92,159,115,30,99,177,167,82,98,179,29,105,34,29,101,34,119,173,113,97,106,191,94,33,121,169,186,100,132,176,31,114,24,37,102,26,109 H,1227603,8,800,4,16,1015675,27,1,1,1,,2,2,2,,50,0,2,10,1,300,1,,,,,3,1,4,,,,1,2,,10,1,530,7,,,,,,1,4,47000,0,4,4,4,1,7,0,,0,0,0,5,0,0,0,1,1,2,212,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,20,7,6,6,27,38,21,6,18,25,7,37,73,56,40,23,30,28,24,7,24,47,48,49,23,7,32,53,22,26,43,27,8,10,9,23,22,29,26,9,36,56,65,39,20,8,36,48,27,31,34,22,7,6,6,31,29,18,24,48,25,8,11,9,27,40,22,5,21,26,6,26,42,32,42,33,31,26,24,52 H,1228279,8,900,4,16,1015675,22,2,1,3,6,5,2,2,,80,0,2,3,3,300,1,,,,,3,1,9,,,,1,2,,17,3,2,5,1,57800,4,,,1,1,57800,0,4,4,4,1,6,0,2,0,0,0,3,0,0,0,1,0,1,155,,0,0,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,5,22,38,33,31,23,20,17,17,20,7,9,5,20,46,24,7,25,7,22,51,26,6,7,5,13,20,27,19,16,34,45,44,23,7,20,41,19,3,22,37,19,5,8,7,23,23,21,22,16,41,37,31,20,6,23,34,22,33,19,10,26,35,39,42,18,22,21,25,26,5,5,7,22,31,15,7,20,25 H,1228679,8,200,4,16,1015675,119,3,1,1,,3,2,2,,120,0,2,80,3,,1,,,,,,1,4,2,650,,1,3,,,2,1,4,,,,850,60,1,5,17070,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,37,126,215,140,173,136,125,99,120,176,40,31,41,108,201,146,43,142,37,116,200,141,35,42,44,97,132,121,114,102,236,240,232,135,31,134,180,91,38,132,200,109,41,36,34,119,114,102,107,98,166,154,184,137,47,145,235,151,169,121,43,144,181,210,216,118,149,183,137,95,38,48,48,132,134,90,29,93,228 H,1229023,8,100,4,16,1015675,50,1,1,2,1,1,2,2,,70,0,390,3,6,500,1,,,,,3,1,2,,,,1,2,,9,1,360,5,,,,,,1,6,10100,0,4,4,4,1,6,0,,0,0,0,28,0,0,0,1,1,2,238,,0,1,17,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,51,62,52,52,45,13,14,14,45,87,40,20,50,56,19,52,62,69,91,79,52,42,51,58,65,16,12,13,52,104,66,14,43,51,15,50,95,85,69,81,54,60,66,46,46,15,11,15,53,77,40,17,47,59,15,61,83,69,89,82,45,47,46,64,51,15,18,20,52,84,77,13,38,59,13,48,89,70,88,95 H,1229172,8,500,4,16,1015675,128,7,1,1,,4,2,2,,50,0,1100,20,1,300,1,,2,730,2,1,1,7,,,,1,1,,16,2,520,3,1,61430,3,,,1,1,61430,0,3,3,3,1,5,5,7,0,0,5,21,0,0,1,0,0,1,1077,3,0,1,26,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,142,199,121,120,209,133,40,43,37,151,125,122,123,131,258,205,196,128,235,245,112,36,126,135,38,126,246,226,224,130,111,124,125,123,40,34,37,135,242,199,132,33,124,123,40,140,191,214,266,111,126,126,114,128,37,36,44,146,38,39,134,220,153,111,201,149,37,41,37,126,131,140,126,109,192,217,236,126,36 H,1229183,8,100,4,16,1015675,135,4,1,1,,3,2,2,,200,0,2,60,2,260,1,,1,990,1,1,1,7,,,,1,1,,18,3,50,3,1,106400,2,,,1,1,106400,0,2,2,2,1,4,2,4,0,0,2,14,0,0,1,0,0,1,1254,3,0,1,31,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,40,215,143,225,119,36,143,37,237,131,38,45,133,131,138,137,136,244,166,44,241,40,159,50,127,196,130,227,36,154,222,219,122,138,140,116,121,39,158,41,215,46,137,48,108,218,151,218,34,114,223,243,141,127,141,157,143,44,118,228,43,208,126,226,138,38,123,44,238,134,42,42,140,131,126,123,142,255,161,228 H,1229462,8,600,4,16,1015675,311,2,1,,,2,6,,,30,0,2,3,3,,1,,,,,,1,4,2,670,,1,3,,,1,1,5,1,75000,4,700,11,1,1,75000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,79,570,325,523,660,262,445,92,332,352,311,87,283,556,353,89,88,298,291,325,536,87,326,93,90,310,105,532,318,294,325,566,310,83,292,489,564,337,330,324,100,498,300,496,560,349,528,98,307,302,331,89,268,556,333,82,102,338,336,311,490,91,282,91,93,345,103,486,320,283,323,540,309,82,319,534,474,345,306,319 H,1229527,8,300,4,16,1015675,86,1,1,3,1,3,2,2,,80,0,2,20,3,600,1,,2,1700,2,1,1,5,,,,1,1,,21,1,2,3,,,,,,1,4,32200,0,4,4,4,1,1,0,,0,0,0,73,0,0,0,1,1,1,1967,3,0,0,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,81,29,81,86,92,79,24,90,91,158,170,31,26,122,98,35,143,143,108,104,116,26,77,76,75,68,24,87,80,155,157,20,18,161,78,23,173,167,77,90,80,29,97,107,89,75,22,83,127,165,154,26,20,136,78,22,139,167,80,64,63,30,115,101,88,89,26,96,108,142,160,36,28,153,78,27,127,138,97 H,1229542,8,600,4,16,1015675,107,1,1,,,1,7,,,40,0,2,3,3,,1,,,,,,1,2,2,420,,1,3,,,0,1,9,,,,460,22,1,4,25050,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,106,110,187,33,91,114,183,97,177,159,32,32,105,105,103,106,171,30,103,30,105,102,182,32,112,107,181,99,182,206,30,30,114,107,107,118,188,28,109,32,98,106,181,34,98,113,185,105,152,161,29,33,91,109,112,111,187,29,104,31,98,106,188,31,111,114,179,107,182,196,30,30,111,105,108,113,179,30,107,32 H,1229972,8,800,4,16,1015675,101,3,1,1,,2,1,2,,280,0,2,3,3,70,1,170,,,,3,1,4,,,,1,2,,3,0,2,5,3,96800,1,,,2,1,96800,0,1,1,1,1,1,1,3,0,0,1,4,0,0,1,0,0,1,312,,0,0,4,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,29,123,273,22,27,195,93,83,212,112,166,94,75,88,31,103,43,97,117,30,191,108,31,147,127,29,92,105,41,141,48,105,86,134,169,85,213,94,81,123,34,118,174,38,35,171,108,89,181,103,160,134,97,114,43,87,34,143,111,34,182,95,27,194,213,23,91,110,29,82,32,110,128,80,144,107,132,99,108,171 H,1230051,8,300,4,16,1015675,50,1,1,2,1,2,2,2,,40,0,300,40,2,370,1,,,,,3,1,9,,,,1,2,,21,1,670,8,,,,,,1,6,13720,0,4,4,4,1,7,0,,0,0,0,28,0,0,0,1,1,2,325,,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,103,25,45,91,20,11,46,44,94,64,47,55,52,69,68,70,13,14,81,73,79,13,43,91,14,15,46,46,77,49,56,32,46,99,45,64,17,16,80,56,14,93,63,15,74,98,49,43,15,50,45,40,52,16,45,67,87,114,16,57,11,69,49,19,72,82,72,41,11,62,59,51,55,15,61,62,75,69,15,42 H,1230112,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1230426,8,800,4,16,1015675,119,2,1,1,,3,2,2,,100,0,2,80,1,400,1,,2,700,2,1,1,5,,,,1,1,,16,1,800,8,4,26400,4,,,1,1,26400,0,4,4,4,1,6,0,2,0,0,0,48,0,0,0,2,2,2,1055,3,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,181,209,36,32,105,32,127,135,201,103,162,105,214,124,128,35,104,127,34,117,106,180,130,111,34,121,190,31,121,29,160,185,93,199,36,139,196,240,112,38,199,201,33,51,124,35,135,109,167,110,186,116,165,128,124,32,105,114,43,118,118,106,121,118,32,119,214,35,118,32,126,247,131,198,37,106,184,191,114 H,1230732,8,100,4,16,1015675,204,2,1,1,,2,2,2,,60,0,2,2,1,250,1,,,,,3,1,4,,,,1,2,,13,1,340,6,4,13200,4,,,1,1,13200,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,2,2,2,192,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,317,62,371,194,69,62,66,242,377,57,211,204,217,245,343,339,223,223,200,196,269,60,334,196,53,55,62,203,298,59,171,219,204,176,376,365,204,211,219,209,74,344,48,210,321,345,290,184,53,340,223,253,199,179,67,55,165,179,198,247,66,361,61,193,330,311,322,243,64,384,263,195,217,207,68,66,205,183,196,233 H,1230914,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1230925,8,600,4,16,1015675,107,6,1,1,,4,2,2,,50,0,2,60,3,700,1,,1,530,2,1,1,7,,,,1,1,,21,3,1100,2,2,40200,2,,,2,1,40200,0,2,2,2,1,1,3,6,0,0,3,33,0,0,1,0,0,1,1107,3,0,1,57,2,6,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,95,113,33,115,35,130,104,118,196,83,150,110,103,164,105,40,166,163,32,194,104,111,168,93,209,112,113,104,43,115,31,94,104,46,105,159,38,28,181,32,109,95,29,123,30,145,94,106,175,89,143,132,96,192,121,34,142,201,41,171,110,106,165,97,256,120,88,112,39,107,30,96,119,32,127,165,34,31,197,30 H,1231785,8,100,4,16,1015675,357,3,1,1,,3,2,2,,100,0,2,2,1,300,1,,1,630,1,1,1,5,,,,1,1,,15,3,240,3,1,44000,1,,,1,1,44000,0,1,1,1,1,4,1,3,0,0,1,20,0,0,1,0,0,2,750,3,0,1,18,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,535,641,98,354,334,684,130,327,303,121,300,311,106,319,331,343,117,612,556,118,380,385,441,95,516,346,365,639,659,340,115,116,442,577,101,524,357,358,352,354,158,110,647,344,352,112,612,313,337,715,347,294,622,352,383,323,634,109,101,518,314,365,359,597,125,370,353,114,93,351,652,604,319,119,581,107,327,322,344,355 H,1231805,8,100,4,16,1015675,58,1,1,1,,2,2,2,,120,0,520,3,3,400,1,,,,,3,1,5,,,,1,2,,12,1,180,4,,,,,,1,6,9000,0,4,4,4,1,2,0,,0,0,0,34,0,0,0,1,1,1,256,,0,1,12,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,82,18,55,72,139,64,85,42,55,18,111,69,19,54,59,69,65,17,106,64,63,52,20,93,64,55,49,16,76,46,70,17,56,14,13,114,83,47,80,113,13,79,59,61,16,15,15,48,68,90,17,72,114,57,61,60,62,111,20,53,57,53,92,14,50,54,80,94,13,53,47,110,54,96,121,17,14,52,61 H,1232000,8,300,4,16,1015675,117,2,1,2,1,2,1,2,,70,0,2,50,2,400,1,200,2,400,2,1,1,5,,,,1,1,,10,2,2,5,2,32160,4,,,1,1,32160,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,0,0,2,595,3,0,0,8,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,103,162,105,199,38,31,131,114,125,185,132,39,124,39,38,234,130,162,99,125,93,32,141,34,181,173,108,131,119,35,127,197,113,175,179,42,135,43,129,113,149,31,111,44,187,159,128,143,101,38,120,203,117,187,178,32,135,35,117,139,113,190,100,188,38,39,137,120,124,197,99,39,96,27,37,191,113,195,92 H,1232196,8,300,4,16,1015675,22,3,1,2,1,4,2,2,,200,0,2,150,3,350,1,,1,1400,1,1,1,9,,,,1,1,,16,3,360,5,1,86000,2,,,1,1,86000,0,2,2,2,1,7,1,3,0,0,1,25,0,0,1,0,0,2,1780,3,0,1,24,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,22,19,25,21,8,31,6,19,6,7,6,8,24,23,8,6,20,48,20,21,39,41,34,31,28,35,21,39,21,26,25,24,41,36,16,21,39,21,4,7,22,22,21,29,6,30,8,15,7,8,7,8,24,23,7,8,30,36,18,21,59,41,35,38,29,42,17,29,20,23,35,24,27,32,26,19,31,26 H,1232471,8,600,4,16,1015675,114,2,1,1,,3,2,2,,90,0,2,90,1,300,1,,1,800,2,1,1,5,,,100,1,1,,15,2,300,4,1,75000,4,,,1,1,75000,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,0,0,2,1205,2,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,118,128,34,117,32,118,114,35,103,214,35,35,190,104,115,187,117,204,187,109,113,113,31,117,34,108,114,35,121,186,31,35,204,137,119,186,122,187,33,114,108,110,196,112,201,117,111,187,121,31,187,205,32,110,111,32,112,34,35,113,114,119,208,117,207,121,111,202,119,36,190,186,34,118,109,35,117,32,189 H,1232794,8,800,4,16,1015675,110,1,1,1,,2,3,2,,40,0,2,20,1,500,1,,,,,3,1,3,,,,1,2,,14,1,480,3,,,,,,1,6,9750,0,4,4,4,1,4,0,,0,0,0,30,0,0,0,1,0,2,242,,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,149,224,36,110,93,148,103,187,205,32,39,113,101,106,111,168,34,98,27,98,124,212,30,118,116,198,99,179,207,39,33,110,108,104,110,188,35,81,29,111,108,181,32,103,114,173,86,203,177,33,32,132,110,95,109,160,35,122,37,131,105,171,30,111,125,178,81,205,180,27,36,117,124,125,99,164,37,119,31 H,1232858,8,900,4,16,1015675,139,5,1,1,,4,2,2,,60,0,700,3,4,80,1,,1,510,1,1,1,8,,,140,1,1,,12,3,2,7,1,46300,2,,,1,1,46300,0,2,2,2,1,2,3,5,0,0,3,20,0,0,1,0,0,1,768,1,0,1,6,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,34,124,121,50,128,191,249,197,178,147,142,172,128,38,38,42,142,208,28,117,213,150,147,275,129,43,47,39,160,148,120,135,155,215,286,202,131,58,258,147,41,132,163,46,144,237,198,254,197,128,122,102,96,61,37,33,141,187,49,143,205,161,144,272,173,33,41,39,142,131,126,139,146,191,269,225,126,48,274 H,1233501,8,600,4,16,1015675,84,3,1,1,,3,2,2,,90,0,2,20,1,350,1,,2,720,2,1,1,6,,,,1,1,,14,3,480,5,3,52600,4,,,1,1,52600,0,4,4,4,1,5,0,3,0,0,0,23,0,0,0,0,0,1,1007,3,0,1,25,2,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,171,23,99,21,24,128,34,117,68,75,77,100,58,25,55,139,117,73,62,74,28,174,114,204,154,85,125,32,64,123,92,27,82,116,170,24,15,61,95,90,20,112,106,170,143,111,109,34,90,63,75,32,84,121,70,36,27,104,153,117,111,24,76,23,46,84,25,150,62,94,84,123,78,24,93,90,92,69,82 H,1233613,8,800,4,16,1015675,69,2,1,3,5,4,1,2,,410,0,2,3,3,0,1,1000,,,,3,1,6,,,,1,2,,14,6,2,2,2,12500,4,,,1,1,12500,0,4,4,4,1,3,0,2,0,0,0,55,0,0,0,0,0,1,576,,0,0,22,1,3,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,52,104,73,67,135,66,22,116,120,25,59,62,25,76,20,64,54,66,106,26,61,18,68,65,23,97,130,18,20,110,58,62,116,72,123,66,76,72,112,22,61,17,70,76,26,74,107,24,19,116,63,60,117,80,119,64,58,64,22,141,62,128,93,68,133,74,24,105,115,21,64,62,22,68,20,71,69,67,24 H,1233652,8,100,4,16,1015675,25,2,1,3,1,2,2,2,,130,0,2,2,6,500,1,,1,1400,1,1,1,6,,,,1,1,,22,4,2,6,2,40030,4,,,1,1,40030,0,4,4,4,1,7,0,2,0,0,0,46,0,0,0,0,0,2,1530,3,0,0,35,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,30,27,45,28,7,40,44,8,24,30,9,25,10,24,25,23,44,25,7,39,26,25,44,22,9,39,40,8,26,26,9,28,9,30,28,24,44,20,40,6,29,29,9,27,41,9,9,45,25,27,45,20,40,23,26,27,7,25,37,9,25,23,7,23,47,8,7,45,26,22,47,27,40,31,24,25,9,23,7 H,1233845,8,600,4,16,1015675,350,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,371,345,545,352,648,530,105,115,357,310,373,329,594,111,386,371,333,633,112,579,350,386,101,325,98,102,512,601,333,369,408,322,113,649,324,329,372,94,607,116,387,318,645,414,629,610,116,102,360,329,340,314,588,96,412,364,300,679,100,668,303,370,122,374,104,111,550,592,331,342,334,336,112,584,327,343,331,89,507,113 H,1234200,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1234349,8,900,4,16,1015675,79,1,1,2,1,1,2,2,,50,0,600,3,4,390,1,,,,,3,1,4,,,,1,2,,9,1,2,8,,,,,,1,6,11800,0,4,4,4,1,5,0,,0,0,0,17,0,0,0,0,0,1,166,,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,91,30,94,114,67,70,88,166,78,136,28,89,24,86,87,89,23,17,117,77,35,103,120,83,152,158,36,88,17,84,79,21,76,23,237,120,61,72,58,136,64,24,97,153,94,97,72,130,75,108,25,79,23,92,68,69,28,29,122,116,30,94,114,100,105,133,20,67,23,50,94,24,86,27,127,127,77,125,78,117 H,1235133,8,800,4,16,1015675,83,1,1,2,1,2,1,2,,90,1200,60,3,3,250,1,0,2,150,2,1,1,5,,,,1,1,,2,0,1,4,,,,,,1,6,9300,0,4,4,4,1,4,0,,0,0,0,34,0,0,0,1,1,2,266,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,23,73,158,20,27,92,76,145,98,84,81,74,158,89,80,23,22,136,96,22,172,94,29,146,120,88,72,24,81,77,82,84,25,82,109,149,139,29,97,24,154,76,22,114,152,78,80,24,97,87,80,83,24,72,105,153,150,24,86,126,27,86,126,24,24,91,90,148,89,93,93,77,134,94,85,27,27,119,90 H,1235186,8,400,4,16,1015675,40,2,1,2,1,4,2,1,,90,0,900,3,3,350,1,,,,,3,1,7,,,,1,2,,17,3,2,5,2,40000,4,,,1,1,40000,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,0,0,1,323,,0,0,27,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,71,66,36,10,32,86,44,39,62,39,10,12,14,42,34,35,37,39,9,77,71,46,31,11,37,53,33,40,63,42,14,12,13,41,41,43,38,33,10,67,68,62,36,10,39,78,44,32,61,53,11,10,12,36,38,45,36,33,13,51,59,67,36,12,45,62,36,46,74,35,8,10,12,45,48,38,51,48,13 H,1235618,8,100,4,16,1015675,99,4,1,1,,3,2,2,,40,0,2,70,1,460,1,,1,1300,1,1,1,8,,,300,1,1,,21,3,1000,2,1,51600,1,,,1,1,51600,0,1,1,1,1,1,2,4,0,0,2,42,0,0,1,0,0,1,1793,2,0,1,44,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,141,143,35,112,104,29,215,104,107,23,94,87,142,105,105,23,180,182,120,32,100,165,94,28,26,72,94,25,176,98,145,176,111,170,30,102,131,93,223,98,31,129,122,110,120,194,32,91,85,163,90,73,33,129,88,155,23,34,125,190,107,26,101,167,155,119,85,153,27,106,28,30,119,29,146,88,78,90,27 H,1235776,8,400,4,16,1015675,168,2,1,2,1,0,2,2,,120,0,2,30,6,0,2,,,,,3,2,1,,,,1,2,,8,1,2,1,2,9080,4,,,1,1,9080,0,4,4,4,1,1,0,2,0,0,0,24,0,0,0,1,0,1,183,,0,1,9,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,270,169,213,271,139,44,276,295,55,171,155,52,176,48,189,216,204,313,150,266,70,164,152,46,159,318,49,47,233,146,144,207,155,260,173,183,217,59,152,49,247,173,147,260,206,60,246,254,55,157,185,55,170,57,156,194,203,306,174,237,61,190,121,58,206,266,69,52,263,158,172,295,152,266,185,145,149,47,182,78 H,1235787,8,500,4,16,1015675,205,3,1,,,2,6,,,60,0,2,40,1,,1,,,,,,1,4,2,330,,1,3,,,2,1,4,7,26800,2,430,11,2,3,48400,0,2,2,2,1,1,1,2,0,1,1,,0,0,1,0,0,2,,,1,0,,2,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,216,202,322,222,180,52,68,305,258,63,228,416,67,66,219,204,376,241,227,174,215,238,67,185,180,269,317,73,68,310,200,79,332,382,216,185,60,224,254,233,274,195,72,212,196,412,329,64,63,356,247,55,341,335,217,217,60,190,180,227,264,260,313,179,231,74,71,320,392,55,219,261,61,56,195,189,311,186,155,193 H,1235867,8,600,4,16,1015675,99,1,1,,,2,6,,,410,4,2,2,3,,1,,,,,,1,3,2,550,,1,3,,,0,20,5,,,,962,101,3,4,2600,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,29,120,153,139,167,28,93,133,158,86,98,107,74,102,31,112,168,27,127,192,143,83,35,75,25,173,141,37,27,92,91,77,114,114,158,117,28,179,122,181,187,79,31,87,33,185,96,27,38,109,102,82,139,90,163,96,20,193,104,27,35,107,181,111,191,23,75,149,178,106,86,128,90,93,36,92,183,25,88,24 H,1235881,8,500,4,16,1015675,74,1,1,2,1,3,2,2,,70,0,2,310,1,500,1,,2,380,2,1,1,6,,,,1,1,,20,1,600,2,,,,,,1,6,14254,0,4,4,4,1,3,0,,0,0,0,82,0,0,0,1,0,1,977,3,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,69,22,121,133,19,74,69,19,65,25,74,80,77,130,72,136,62,82,143,127,75,129,26,21,120,71,77,120,76,131,76,75,66,25,73,21,74,63,23,134,71,127,22,23,136,80,73,118,70,129,74,74,76,19,71,25,72,81,22,23,73,27,123,112,21,66,71,20,79,20,67,65,71,123,77,141,72,73,111,18 H,1236001,8,600,4,16,1015675,108,2,1,1,,3,2,2,,50,0,2,50,1,420,1,,1,890,1,1,1,6,,,,1,1,,18,1,350,6,7,44400,2,,,1,3,44400,0,1,1,1,1,5,1,2,0,0,1,28,0,0,1,0,0,1,1019,3,0,1,37,1,13,13,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,197,32,33,112,28,116,103,180,118,178,107,183,112,101,33,120,97,32,174,30,105,118,108,29,120,183,33,115,32,121,166,111,187,30,117,203,178,106,113,111,181,29,32,104,33,105,98,182,110,184,104,189,109,104,30,117,102,31,213,30,108,102,110,30,108,211,34,109,35,128,176,110,183,30,123,177,188,107,102,107 H,1236109,8,200,4,16,1015675,62,5,1,,,2,4,,,50,0,2,50,1,,1,,,,,,1,5,2,800,,1,3,,,2,900,1,2,51000,1,975,23,1,1,51000,0,1,1,1,1,1,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,53,98,75,50,21,18,77,107,16,43,67,28,17,47,61,88,75,56,66,66,66,14,70,85,95,106,24,22,111,56,31,98,78,60,69,20,68,73,53,66,63,18,69,61,72,105,21,18,86,96,20,85,102,82,58,17,55,50,78,52,56,90,57,62,19,25,122,85,19,57,91,17,26,67,59,120,56,64,45 H,1236134,8,500,4,16,1015675,121,2,1,1,,2,2,2,,50,0,2,120,1,670,1,,1,750,1,1,1,5,,,,1,1,,14,3,310,2,,,,,,1,7,93400,0,4,4,4,1,4,0,,0,1,0,12,3,0,0,0,0,1,946,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,199,189,146,32,201,35,116,103,147,121,130,116,244,31,120,112,39,47,119,193,115,128,209,116,119,131,202,33,39,32,39,200,140,129,34,204,106,130,223,123,219,202,119,39,227,37,140,119,110,122,117,114,191,41,148,128,38,31,125,219,129,118,189,113,111,149,194,37,30,32,33,212,108,144,36,187,112,113,187 H,1236264,8,300,4,16,1015675,73,2,1,1,,5,2,2,,60,0,2,3,3,500,1,,2,870,2,1,1,8,,,220,1,1,,14,2,510,6,2,43500,4,,,1,1,43500,0,4,4,4,1,7,0,2,0,0,0,36,0,0,0,2,2,1,1310,2,0,1,20,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,22,78,118,119,75,74,82,59,66,19,64,99,19,85,25,90,135,65,123,28,105,83,27,21,75,72,75,72,79,128,82,21,109,62,108,74,21,69,22,121,23,76,116,123,70,64,65,73,71,21,80,115,20,68,23,83,119,79,128,19,111,82,25,24,67,71,76,76,63,111,84,20,122,80,131,67,21,80,17 H,1236268,8,400,4,16,1015675,55,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,90,65,21,65,47,45,96,19,100,16,93,53,51,60,20,66,91,44,92,51,60,15,60,112,93,104,58,61,57,55,54,13,15,17,55,103,57,15,21,45,47,108,60,18,18,18,52,55,47,52,56,91,108,103,55,16,53,90,48,104,14,52,128,52,49,48,16,95,19,114,15,54,50,48,108,62,17,54,66 H,1236278,8,700,4,16,1015675,29,1,1,2,1,3,2,2,,40,0,400,3,8,,1,,,,,,1,5,2,740,,1,3,,,1,560,9,,,,860,41,1,6,24900,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,27,8,27,6,29,30,27,26,11,8,26,27,8,29,26,8,10,6,27,26,41,29,45,28,45,49,49,48,29,27,56,48,29,56,47,30,26,32,55,53,29,46,31,47,26,26,28,29,42,48,28,31,45,26,26,45,45,45,29,29,10,29,8,28,8,9,9,8,26,25,9,8,28,7,8,27,29,25,8 H,1236329,8,300,4,16,1015675,81,3,1,3,1,3,2,2,,80,0,2,4,1,520,1,,2,1200,1,1,1,4,,,200,1,1,,20,4,2,9,1,75000,2,,,1,1,75000,0,2,2,2,1,5,1,3,0,0,1,24,0,0,1,0,0,1,1527,2,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,137,94,118,78,106,78,28,88,29,85,83,25,91,138,23,22,135,71,30,82,24,72,23,82,76,79,136,102,167,86,73,122,94,21,194,194,23,67,117,82,129,78,165,91,87,80,28,69,23,83,93,23,115,153,21,22,135,76,22,89,22,75,27,74,92,76,153,83,129,91,77,172,91,22,128,145,25,77,121 H,1236569,8,600,4,16,1015675,98,1,1,1,,4,2,2,,50,0,2,2,1,400,1,,1,700,1,1,1,6,,,,1,1,,17,1,40,6,,,,,,1,6,12000,0,4,4,4,1,2,0,,0,0,0,75,0,0,0,0,0,1,753,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,98,187,32,31,29,30,182,91,102,28,150,102,95,152,93,102,160,97,115,87,114,27,181,169,184,192,29,97,101,187,30,94,97,30,109,102,30,90,96,102,95,167,30,30,29,31,172,91,101,27,164,105,97,182,104,99,184,102,97,107,98,32,190,182,166,176,26,98,98,151,27,105,109,28,89,101,33,106,87,112 H,1236613,8,300,4,16,1015675,111,1,1,,,1,4,,,20,0,600,4,1,,1,,,,,,1,3,2,330,,1,3,,,1,270,8,,,,427,12,2,4,42600,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,132,92,31,28,165,30,97,100,197,159,241,119,122,33,180,111,31,116,175,26,159,207,149,105,158,118,27,185,105,120,132,32,206,119,127,30,108,30,130,108,113,101,34,32,205,35,106,136,199,172,201,108,105,35,190,104,30,104,152,31,178,196,96,95,116,116,26,165,116,145,117,28,192,121,100,37,131,34,119 H,1237001,8,300,4,16,1015675,114,6,1,1,,3,1,2,,130,2900,2,3,3,250,1,2600,2,210,2,1,1,5,,,,1,1,,3,2,420,3,2,35500,2,,,1,1,35500,0,2,2,2,1,4,4,6,0,0,4,21,0,0,1,0,0,2,626,3,0,0,5,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,126,111,112,171,123,202,98,106,135,125,40,211,181,43,132,93,34,108,174,138,109,189,128,34,112,25,91,103,35,101,131,46,37,241,170,87,194,139,196,148,127,103,94,47,160,32,141,91,40,116,147,26,26,162,152,166,197,76,26,37,130,132,136,173,116,172,92,91,194,113,55,183,189,39,107,123,52,111,28 H,1237042,8,100,4,16,1015675,77,2,1,2,1,1,2,1,,170,0,1500,80,2,400,1,,1,1100,1,1,1,5,,,,1,1,,18,4,500,8,3,132000,4,,,1,1,132000,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,1,1517,3,0,0,12,2,4,7,0,1,0,0,0,0,1,0,1,1,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,73,28,153,85,77,125,86,102,116,88,80,62,103,27,25,23,25,118,70,63,72,144,26,77,83,20,69,104,14,85,129,89,22,119,154,134,138,22,69,71,81,24,111,61,89,162,93,83,128,69,77,73,117,26,30,21,17,138,102,83,82,129,23,62,71,27,71,88,23,71,85,77,26,163,141,143,118,22,71,78 H,1237537,8,600,4,16,1015675,104,6,1,1,,4,2,2,,100,0,2,330,1,600,1,,1,1000,1,1,1,7,,,200,1,1,,18,3,500,5,1,86200,2,,,1,1,86200,0,3,3,3,1,3,4,6,0,0,4,23,0,0,1,0,0,1,1672,2,0,1,23,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,32,114,107,104,29,103,165,102,28,31,107,110,31,152,100,183,179,112,109,163,31,99,103,98,31,100,179,100,31,33,106,109,30,194,117,166,175,96,113,178,28,103,108,98,30,108,169,108,34,28,106,102,27,178,99,169,165,105,100,176,29,101,108,106,30,103,184,113,34,31,106,100,30,188,101,184,179,95,100 H,1237762,8,300,4,16,1015675,47,5,1,1,,2,1,2,,60,0,500,80,6,,1,,,,,,1,4,2,80,,1,3,,,3,390,6,2,61100,3,295,6,1,1,61100,0,3,3,3,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,18,55,59,17,45,69,66,103,56,45,34,41,34,17,28,15,46,79,20,41,61,48,49,90,36,10,13,15,40,49,41,51,79,96,84,77,35,15,93,44,17,44,43,14,46,89,77,79,54,42,34,46,39,9,21,17,55,71,14,34,63,51,45,89,63,17,15,12,53,44,90,56,53,84,76,80,37,15,56 H,1237880,8,100,4,16,1015675,58,1,1,1,,3,2,2,,150,0,2,150,1,300,1,,,,,3,1,5,,,,1,2,,12,1,380,9,,,,,,1,6,15200,0,4,4,4,1,7,0,,0,0,0,37,0,0,0,1,1,1,472,,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,55,51,61,107,60,51,16,21,104,115,15,65,87,15,20,55,66,94,57,67,59,48,55,120,67,59,19,20,85,81,19,41,72,19,16,64,51,77,52,55,46,54,57,17,63,53,82,87,17,20,104,63,17,88,113,58,58,20,51,92,61,66,62,14,55,57,89,91,19,21,86,44,16,104,111,70,40,15,56 H,1238188,8,200,4,16,1015675,61,2,1,1,,3,2,2,,70,0,500,10,6,1100,1,,2,940,1,1,1,5,,,,1,1,,14,1,600,7,,,,,,1,5,30420,0,4,4,4,1,1,0,,0,1,0,47,2,0,0,0,0,1,1204,3,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,22,75,116,65,23,63,49,15,60,96,115,97,64,66,77,71,60,19,20,73,82,68,15,50,90,47,61,103,67,23,23,23,64,54,52,71,65,94,18,112,116,52,19,68,113,51,71,116,54,18,19,15,54,58,74,65,60,96,138,18,21,55,97,79,18,47,62,16,54,85,108,116,60,74,78,56,51,15,96 H,1238263,8,300,4,16,1015675,83,1,1,,,1,5,,,100,0,600,3,3,,1,,,,,,1,3,2,330,,2,3,,,2,1100,7,,,,572,24,1,4,29000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,86,20,139,94,79,78,28,137,102,92,24,88,25,20,132,145,80,97,164,75,90,24,136,91,79,91,24,140,82,82,22,74,26,27,167,191,86,84,134,97,74,23,147,96,85,90,25,129,94,92,23,85,28,29,141,131,79,80,153,94,70,22,156,84,93,79,28,155,89,94,24,100,25,26,122,141,81,78,133 H,1239146,8,100,4,16,1015675,81,5,1,2,1,5,2,2,,70,0,2,50,1,550,1,,2,1000,2,1,1,9,,,,1,1,,19,4,310,5,4,160900,2,,,1,1,160900,1,1,4,1,1,5,0,5,0,0,1,10,0,1,1,2,1,1,1334,3,0,1,29,1,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,76,130,20,89,99,24,89,82,27,77,96,84,29,135,120,134,133,24,93,69,82,23,123,84,77,152,71,90,129,81,100,73,131,22,23,26,24,168,99,76,85,23,136,80,81,117,84,86,131,82,87,76,137,22,25,24,23,146,85,85,84,135,20,76,76,26,84,83,28,88,99,95,22,121,140,133,116,25,85 H,1239631,8,100,4,16,1015675,276,1,1,1,,2,2,2,,60,0,2,3,3,,1,,,,,,1,4,2,800,,1,3,,,1,1,8,,,,860,38,1,6,26830,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,548,270,257,89,87,424,421,96,294,553,94,84,235,272,490,270,274,296,302,233,94,251,249,475,420,97,95,458,268,85,517,416,274,264,89,238,300,285,239,319,449,319,234,100,95,387,470,79,277,476,79,88,269,249,398,267,336,230,256,269,89,270,298,441,530,89,81,442,238,90,453,493,278,288,98,275,264,257,273,222 H,1240057,8,100,4,16,1015675,392,3,1,1,,3,3,2,,140,2200,2,2,1,,1,,,,,,1,4,2,730,,1,3,,,1,1,1,7,25000,2,870,42,1,3,25000,0,2,2,2,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,14,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,389,398,706,419,648,627,140,130,435,410,424,432,635,116,389,405,430,661,123,123,328,395,612,390,656,591,125,122,352,413,358,413,609,104,439,395,362,550,111,119,433,457,547,391,533,578,111,114,361,362,386,486,642,104,422,378,394,677,111,136,376,383,676,384,605,623,92,133,418,403,423,402,805,125,401,381,443,730,129,126 H,1240174,8,900,4,16,1015675,90,1,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,4,2,530,,1,3,,,1,1,6,,,,580,23,1,4,30000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,20,129,30,29,81,74,152,101,24,119,76,104,27,87,109,98,159,78,204,96,22,152,38,33,93,103,183,161,24,78,108,102,25,88,83,95,136,78,181,121,25,167,24,30,118,67,128,144,27,104,81,104,32,94,96,72,169,97,150,87,29,124,30,25,101,101,168,180,27,97,78,86,31,68,79,83,119,74,173 H,1240394,8,300,4,16,1015675,65,3,1,1,,2,2,2,,60,0,2,100,1,260,1,,1,540,1,1,1,5,,,,1,1,,10,3,740,8,1,46200,4,,,1,1,46200,0,1,4,4,1,3,0,2,0,1,0,20,0,0,1,0,0,1,762,3,0,1,14,2,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,74,104,66,111,62,72,54,16,62,20,83,95,23,62,101,20,21,113,61,21,79,27,75,23,52,49,49,73,74,122,64,71,91,50,22,100,115,21,63,94,65,116,70,147,83,62,53,17,73,23,65,69,23,58,109,17,16,92,56,20,62,17,78,19,77,68,63,109,68,134,69,61,127,72,17,100,101,19,79,119 H,1240398,8,300,4,16,1015675,104,2,1,1,,2,1,2,,30,0,2,70,1,,1,,,,,,1,4,2,340,,2,3,,,3,1,5,,,,440,17,1,7,30700,0,4,4,4,1,3,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,94,24,169,40,89,109,97,118,135,127,158,29,96,111,31,30,95,173,119,119,30,105,94,100,33,179,215,187,177,31,93,122,146,38,95,100,30,108,32,27,92,204,31,174,74,115,98,104,120,114,38,165,84,139,176,202,104,32,117,90,140,110,86,107,191,35,32,26,33,249,100,109,30,209,106,92,179,97,193 H,1240425,8,300,4,16,1015675,216,5,1,1,,2,1,2,,30,310,300,80,6,,1,,,,,,1,4,2,350,,2,3,,,4,1,5,7,13500,2,485,29,1,3,20200,0,3,2,2,1,1,1,2,0,1,1,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,78,289,163,61,248,311,314,392,254,213,202,190,191,78,85,62,206,312,383,168,82,255,163,92,204,350,361,365,313,222,227,204,225,76,82,69,192,336,398,211,70,223,210,73,228,321,380,427,321,245,255,178,206,81,74,71,202,274,281,226,71,238,152,69,235,274,333,342,222,247,176,206,254,72,70,67,185,306,313 H,1240711,8,200,4,16,1015675,27,1,1,1,,3,1,2,,100,0,2,100,2,,1,,,,,,1,5,2,130,,1,3,,,3,1,3,,,,330,20,1,4,20000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,10,23,28,28,26,29,41,50,38,28,8,33,43,21,27,41,24,10,7,5,10,30,38,32,27,29,37,41,37,31,8,22,49,28,32,45,26,7,8,9,5,24,30,22,22,34,47,44,57,35,8,30,64,27,26,44,24,8,8,12,7,23,21,29,30,23,59,48,45,25,7,32,43,24,32,51,23,6 H,1240761,8,300,4,16,1015675,45,3,1,1,,3,2,2,,50,0,1500,3,4,400,1,,1,680,1,1,1,7,,,,1,1,,12,3,30,8,1,40000,1,,,1,1,40000,0,1,1,1,1,1,1,3,0,0,1,26,0,0,1,0,0,1,858,3,0,1,11,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,55,86,48,49,85,13,49,49,75,37,39,14,41,42,96,15,14,43,42,44,17,46,77,68,46,51,77,13,36,15,14,46,13,75,50,47,45,85,15,77,49,16,53,54,13,96,46,40,15,45,47,84,46,44,13,80,75,52,45,46,91,51,13,13,41,42,15,68,44,84,71,43,75,13,47,45,40,13,85 H,1241164,8,800,4,16,1015675,71,2,1,1,,2,2,2,,160,0,1500,3,4,350,1,,2,400,2,1,1,4,,,,1,1,,10,1,600,9,7,26000,2,,,1,3,26000,0,2,2,2,1,5,1,2,0,0,1,37,0,0,1,0,0,2,797,3,0,1,10,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,67,115,57,23,116,146,22,75,76,26,72,23,72,67,71,126,66,118,64,152,65,27,67,122,23,20,121,70,72,116,77,116,63,70,67,24,70,21,67,22,75,119,68,20,102,117,19,72,58,23,76,22,72,75,63,129,78,123,74,117,66,21,70,121,18,20,133,75,74,122,79,121,71,80,70,26,72,24,84,26 H,1241584,8,600,4,16,1015675,77,2,1,1,,4,2,2,,70,0,2,140,1,1700,1,,2,2600,2,1,1,8,,,150,1,1,,22,2,790,2,2,151300,4,,,1,1,151300,0,4,4,4,1,3,0,2,0,0,0,30,0,0,0,2,2,1,3801,2,0,1,65,1,7,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,78,75,128,83,21,72,25,20,130,75,128,70,82,125,69,122,25,22,76,68,86,75,125,81,25,87,25,20,137,80,125,70,74,122,78,124,25,23,75,77,74,76,23,80,120,75,119,140,23,83,23,73,73,24,71,23,134,137,78,68,77,71,23,63,144,73,121,126,23,75,22,79,76,24,82,21,141,121,87,70 H,1241774,8,900,4,16,1015675,75,1,1,,,3,4,,,110,0,2,4,8,2200,2,,2,1500,2,2,1,7,,,,1,1,,16,0,60,6,,,,,,1,4,28600,0,4,4,4,1,2,0,,0,0,0,84,0,0,0,0,0,1,2002,3,0,0,36,,,,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,22,81,146,23,22,66,73,131,82,62,83,69,125,85,59,23,26,120,89,25,141,67,21,129,133,77,82,20,61,85,82,74,16,66,92,134,126,20,78,18,124,81,21,138,138,77,86,21,79,78,81,69,21,89,76,100,109,20,84,120,28,73,111,25,23,87,77,111,75,84,88,105,130,64,73,20,20,113,78 H,1241844,8,100,4,16,1015675,61,2,1,1,,3,2,2,,130,0,2,70,1,410,1,,,,,3,1,5,,,,1,2,,18,1,360,8,4,25100,4,,,1,1,25100,0,4,4,4,1,7,0,2,0,0,0,17,0,0,0,2,2,1,364,,0,1,24,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,65,107,57,57,120,68,17,111,120,17,52,64,17,59,17,59,69,55,17,98,56,109,60,62,101,62,19,117,94,19,68,58,17,57,17,62,60,64,110,18,70,20,51,61,19,62,106,20,15,95,59,64,111,58,109,68,55,60,108,17,60,16,53,56,15,69,114,18,19,114,67,74,95,50,104,53,54,59,17 H,1241874,8,400,4,16,1015675,102,0,1,,,2,9,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,187,106,96,87,29,34,116,36,191,30,159,98,159,174,105,106,116,94,99,188,108,31,152,167,111,118,31,93,115,91,74,30,90,99,178,189,29,29,114,31,104,184,31,35,137,90,156,103,82,96,96,160,113,91,30,35,146,154,140,125,36,84,124,105,146,205,122,186,31,178,31,105,35,29,80,89,93,95,42 H,1242327,8,700,4,16,1015675,117,2,1,1,,4,2,2,,50,0,2,20,1,,1,,,,,,1,6,2,950,,1,3,,,1,300,2,5,44010,2,1045,28,1,2,44010,0,2,2,2,1,3,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,33,110,127,35,33,35,34,123,35,131,33,115,120,123,125,37,31,113,112,115,121,204,183,119,117,115,121,186,126,204,118,209,201,214,195,114,120,232,205,32,36,132,116,34,38,34,34,112,39,124,33,131,117,111,108,33,37,116,143,118,111,177,194,119,115,119,121,197,118,194,127,219,207,188,212,110,108,225,186,35 H,1242834,8,300,4,16,1015675,145,1,1,,,1,6,,,60,0,2,3,3,,1,,,,,,1,2,2,270,,1,3,,,1,10,8,,,,331,22,2,4,18000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,226,160,135,286,141,163,51,270,51,35,149,130,240,318,42,140,169,137,244,42,132,177,160,211,117,145,38,237,44,39,164,131,309,233,40,121,167,132,48,192,223,174,103,50,143,119,203,49,247,206,118,138,43,51,206,136,153,122,60,181,137,189,170,51,133,153,212,50,248,213,160,130,70,51,258,107,177,155,214 H,1242909,8,900,4,16,1015675,200,1,1,1,,2,1,2,,50,0,2,90,1,,1,,,,,,1,4,2,430,,1,3,,,1,240,6,,,,590,33,1,4,21600,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,357,221,210,378,226,56,65,58,196,237,190,223,210,287,331,298,184,72,223,72,326,189,176,308,223,54,51,60,180,181,219,180,203,287,282,363,218,69,248,56,307,189,221,298,215,56,75,76,186,206,212,183,207,316,311,330,170,53,204,82,294,228,178,275,240,64,66,62,186,198,204,237,214,351,314,347,190,61,218,60 H,1243826,8,800,4,16,1015675,68,4,1,3,5,4,2,2,,280,0,2,3,3,2000,1,,1,1300,1,1,1,9,,,500,1,1,,19,4,2,4,1,94201,2,,,1,1,94201,0,2,2,2,1,4,2,4,0,0,2,26,0,0,1,0,0,1,2080,2,0,0,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,60,122,59,18,71,72,64,17,56,22,138,70,129,63,62,76,101,131,72,78,24,58,98,89,129,121,25,66,22,71,74,24,72,22,119,100,80,79,79,90,22,66,118,54,100,99,20,77,26,54,70,20,69,23,127,96,62,70,19,17,79,140,76,18,57,67,68,18,68,19,119,75,122,57,74,74,152,160,17 H,1243916,8,100,4,16,1015675,30,2,1,2,1,3,2,2,,110,0,2,60,1,400,1,,1,700,1,1,1,4,,,,1,1,,15,2,160,5,4,30700,4,,,1,1,30700,0,4,4,4,1,4,0,2,0,0,0,35,0,0,0,2,1,1,883,3,0,1,19,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,29,26,8,43,9,26,30,10,25,47,9,8,53,30,27,60,25,48,52,37,33,31,10,28,9,31,26,8,32,44,9,9,53,36,26,46,32,49,54,25,33,27,10,37,9,29,32,12,32,55,8,8,49,28,31,48,30,47,54,33,29,23,10,32,10,31,28,9,25,39,6,9,51,30,30,45,30,53,58 H,1243920,8,300,4,16,1015675,19,6,1,1,,3,2,2,,100,0,600,3,4,1200,1,,1,550,1,1,1,5,,,,1,1,,11,3,840,7,2,80900,3,,,1,1,80900,0,3,3,3,1,4,4,6,0,0,4,11,0,0,1,0,0,2,770,3,0,1,24,2,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,42,21,7,20,18,21,42,5,40,6,46,21,24,27,4,23,32,16,37,17,22,6,25,34,26,31,14,18,21,21,23,5,6,8,20,29,23,7,7,19,25,32,22,5,6,5,23,26,18,22,21,30,31,47,20,6,22,30,23,34,5,22,30,20,21,22,7,31,7,34,6,26,21,18,29,20,6,18,21 H,1244062,8,900,4,16,1015675,83,4,1,1,,4,2,2,,100,0,2,20,1,350,1,,1,820,1,1,1,7,,,350,2,1,,15,4,480,5,1,98400,2,,,1,1,98400,0,2,2,2,1,4,1,4,0,0,1,16,0,0,1,0,0,1,1330,2,0,1,26,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,144,86,80,98,24,136,78,67,25,72,30,27,136,150,76,83,90,84,164,25,135,82,85,79,23,137,86,87,23,77,20,26,124,146,96,86,81,86,23,135,28,93,84,93,146,23,70,83,134,75,138,127,20,21,96,92,74,89,26,149,23,87,86,83,142,27,85,92,132,90,150,155,24,29,84,76,76,80,140 H,1244210,8,400,4,16,1015675,36,2,1,1,,3,2,2,,150,0,2,3,3,520,1,,2,1600,1,1,1,5,,,,1,1,,17,3,600,3,1,105000,4,,,1,1,105000,0,4,4,4,1,4,0,2,0,0,0,21,0,0,0,0,0,1,1843,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,8,10,35,39,72,35,38,31,38,59,47,33,8,13,67,67,13,46,42,15,70,65,45,37,9,31,35,37,33,10,30,35,71,68,10,13,64,26,34,49,12,10,42,39,50,37,34,34,39,58,36,38,13,11,62,67,14,36,33,15,61,55,37,45,12,40,33,29,35,12,38,32,52,60,10,8,61,48,31 H,1244350,8,600,4,16,1015675,115,5,1,1,,4,2,2,,40,0,1300,120,1,510,1,,1,1900,1,1,1,8,,,,1,1,,21,2,360,2,2,84310,3,,,1,1,84310,0,3,3,3,1,3,3,5,0,0,3,31,0,0,1,0,0,1,2198,3,0,1,47,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,203,123,115,110,127,213,112,112,31,33,209,189,34,121,189,32,37,113,109,121,33,101,117,111,108,31,124,115,201,192,33,33,202,112,33,186,203,109,96,115,36,121,115,112,123,32,106,122,216,195,37,33,186,102,32,206,195,127,116,125,173,114,109,101,105,199,123,126,33,34,197,217,35,113,185,33,37,123,124 H,1244540,8,200,4,16,1015675,85,1,1,,,2,7,,,40,0,2,3,3,,1,,,,,,1,5,2,480,,1,3,,,0,1,4,,,,520,20,1,4,32000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,128,80,26,78,86,154,144,27,29,189,81,24,128,129,110,72,19,72,99,80,80,86,128,85,72,28,26,128,147,23,71,140,24,23,90,87,136,81,117,91,86,79,150,78,87,31,22,111,189,30,83,182,29,29,78,85,112,59,89,101,114,94,26,75,58,116,154,29,26,153,73,21,134,116,105,83,25,98,98 H,1244843,8,500,4,16,1015675,272,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,2,1300,,,,1,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,263,253,120,288,74,319,317,77,275,435,71,68,474,304,201,458,272,369,524,252,314,245,81,302,77,321,243,93,275,432,81,58,554,286,240,575,289,436,365,281,249,264,72,249,104,286,312,99,256,473,80,87,479,271,319,449,311,496,487,238,275,291,69,254,85,281,279,76,240,455,74,97,379,273,329,367,251,586,519 H,1244875,8,500,4,16,1015675,57,2,1,1,,3,2,2,,130,3100,2,3,3,1200,1,,1,320,1,1,1,6,,,,1,1,,9,1,2,4,7,12000,2,,,2,3,12000,0,2,2,2,2,3,1,2,0,0,1,45,0,0,1,0,0,2,450,3,0,1,10,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,67,55,101,18,56,54,17,54,46,15,66,52,55,17,109,101,120,96,14,56,65,65,87,16,58,49,15,69,67,15,58,76,57,18,84,90,109,111,18,63,75,65,20,92,44,62,95,67,51,103,63,56,53,96,17,15,16,15,88,53,71,58,15,93,65,69,106,51,61,96,69,58,63,99,19,15,15,15,95,61 H,1244945,8,600,4,16,1015675,73,3,1,1,,2,2,2,,60,0,2,50,1,260,1,,,,,3,1,4,,,,1,2,,15,2,560,5,1,65290,1,,,1,1,65290,0,1,1,1,1,4,1,3,0,0,1,5,0,0,1,0,0,1,268,,0,1,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,22,23,23,20,73,21,67,20,73,73,79,80,24,18,69,77,22,81,77,119,71,72,71,65,127,71,129,69,124,133,131,136,76,76,137,115,75,122,22,74,24,22,24,22,74,22,71,22,79,70,79,73,20,20,70,72,21,75,73,123,71,69,76,70,117,71,129,77,129,131,132,132,75,74,116,125,78,114,21 H,1245648,8,100,4,16,1015675,240,4,1,2,1,3,2,2,,140,0,2,2,1,600,1,,2,600,2,1,1,6,,,180,1,1,,20,4,450,3,1,37000,2,,,1,1,37000,0,2,2,2,1,4,1,4,0,0,1,39,0,0,1,0,0,2,1191,2,0,1,34,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,257,82,226,66,327,381,224,274,255,70,236,409,255,451,348,78,236,73,245,261,238,73,237,77,411,410,221,233,254,75,198,377,248,397,360,78,245,72,243,251,246,63,227,71,386,412,208,257,222,77,195,377,278,432,399,75,237,67,227,240,241,74,235,66,399,404,217,257,275,82,282,424,241,404,363,74,251,70,226,216 H,1246139,8,200,4,16,1015675,163,2,1,1,,3,1,2,,200,0,2,60,3,,1,,,,,,1,4,2,350,,1,3,,,2,60,4,4,32400,4,615,23,3,1,32400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,71,73,140,228,163,60,157,208,48,147,265,243,195,141,146,150,134,158,66,232,86,100,222,260,147,86,138,190,67,146,257,244,210,193,201,145,143,165,56,66,235,205,120,58,171,287,137,140,254,164,47,57,82,167,163,167,173,167,201,108,192,224,159,51,154,235,152,163,250,137,39,81,86,233,222,182,177,176,219,175 H,1246189,8,200,4,16,1015675,65,2,1,1,,3,2,2,,130,0,2,3,3,850,1,,1,450,1,1,1,5,,,,1,1,,14,2,960,5,1,102000,4,,,1,1,102000,0,4,4,4,1,6,0,2,0,0,0,8,0,0,0,0,0,2,660,3,0,1,19,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,59,15,62,72,21,82,105,19,19,122,80,60,116,69,100,81,71,66,17,105,55,20,77,65,24,54,97,26,19,89,70,63,93,68,86,69,66,53,21,108,64,21,69,79,17,69,130,17,19,86,70,62,93,72,127,60,62,67,18,98,52,17,64,57,23,56,96,21,15,132,87,80,119,53,96,79,67,56,17,86 H,1246350,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1246396,8,500,4,16,1015675,92,3,1,1,,3,2,2,,30,0,2,3,3,400,1,,1,670,1,1,1,5,,,130,1,1,,14,2,270,7,1,28800,2,,,1,1,28800,0,2,2,2,1,5,1,3,0,0,1,36,0,0,1,0,0,2,853,2,0,1,30,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,91,159,110,29,106,26,137,81,30,30,95,86,77,93,86,152,98,24,170,25,103,29,82,171,93,182,25,79,165,158,102,84,103,99,76,23,102,151,25,147,100,179,85,26,105,28,161,105,26,29,92,97,96,99,95,132,79,25,139,21,88,26,113,155,95,158,24,110,155,159,86,95,106,80,96,29,90,153,26,166 H,1246631,8,300,4,16,1015675,47,2,1,2,1,4,2,2,,100,0,300,60,3,0,1,,,,,3,1,9,,,,1,2,,15,1,1200,9,4,18900,4,,,1,1,18900,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,2,2,1,352,,0,1,18,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,110,37,11,49,46,13,42,74,64,60,44,50,66,51,62,16,11,14,97,44,93,51,16,38,39,18,56,79,84,82,50,51,47,45,64,11,17,16,83,41,69,50,10,57,74,13,48,85,58,60,43,49,65,53,51,13,13,17,69,37,71,67,18,47,51,18,50,76,101,76,56,53,51,53,57,14,9,11,74 H,1247198,8,100,4,16,1015675,69,2,1,2,1,3,2,2,,150,0,2,10,1,1000,1,,2,1100,2,1,1,9,,,150,1,1,,20,2,500,5,1,56000,4,,,1,1,56000,0,4,4,4,1,5,0,2,0,0,0,38,0,0,0,0,0,1,1785,2,0,1,42,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,120,61,107,156,83,60,68,77,110,65,106,60,133,122,132,134,61,77,73,26,25,66,22,22,74,70,62,63,21,63,20,75,26,23,20,20,64,67,74,22,24,56,19,22,83,74,75,85,22,88,17,70,23,21,24,17,73,65,73,114,109,64,118,119,77,66,85,68,111,63,99,60,124,132,129,100,73,76,74 H,1247331,8,200,4,16,1015675,26,2,1,1,,2,2,2,,120,0,1200,60,2,1200,1,,,,,3,1,4,,,,1,2,,10,2,480,9,4,30800,4,,,1,1,30800,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,1,0,2,470,,0,1,13,0,9,9,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,5,29,9,29,33,11,27,42,8,10,48,27,32,46,21,45,27,25,50,24,9,28,8,33,30,8,24,37,6,7,43,25,28,43,22,48,27,26,45,39,8,23,7,31,32,7,38,38,6,12,45,26,31,42,20,41,22,24,38,27,9,28,9,29,36,9,23,45,7,6,42,28,27,38,24,42,32,29,43 H,1247410,8,200,4,16,1015675,75,2,1,2,1,2,1,2,,90,0,500,3,3,400,1,500,2,680,2,1,1,3,,,600,1,1,,13,3,2,5,4,34200,4,,,1,1,34200,0,4,4,4,1,6,0,2,0,0,0,54,0,0,0,2,2,1,1529,1,0,0,12,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,128,141,121,64,83,73,69,77,21,25,22,66,113,60,22,69,76,28,104,90,150,144,110,71,83,77,76,78,26,23,28,72,154,86,22,74,70,32,89,83,142,113,110,100,85,83,81,73,27,28,22,57,135,75,24,87,72,28,96,68,135,115,93,83,92,87,78,82,21,18,24,65,131,73,19,64,73,31,82 H,1247617,8,900,4,16,1015675,36,2,1,1,,3,2,2,,50,0,2,30,1,600,1,,2,500,1,1,1,5,,,,1,1,,14,2,720,6,1,68900,4,,,1,1,68900,0,4,4,4,1,7,0,2,0,0,0,12,0,0,0,0,0,2,690,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,10,56,11,10,38,34,66,55,12,42,26,34,15,32,34,36,64,43,10,35,65,11,60,62,38,38,13,11,77,43,36,34,61,38,37,37,8,27,13,32,62,13,57,55,37,39,9,13,57,39,40,35,55,40,30,33,11,33,77,41,14,55,12,10,40,33,60,68,11,27,31,32,10,37,41,43,74,35,69 H,1247684,8,600,4,16,1015675,239,2,1,,,1,9,,,60,0,2,1,1,,1,,,,,,1,3,2,600,,1,3,,,1,1,5,,,,660,16,2,7,49000,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,74,68,71,217,376,246,74,209,199,87,262,417,326,341,276,241,276,245,377,211,78,77,96,243,404,225,76,190,271,82,257,380,393,386,295,250,258,242,88,238,322,365,374,229,80,205,434,237,262,363,245,76,72,68,282,238,205,239,74,273,384,312,382,252,62,239,435,281,272,376,254,97,87,77,221,245,241,239,363 H,1247806,8,800,4,16,1015675,41,1,1,1,,1,2,2,,100,0,2,80,1,190,1,,,,,3,1,3,,,,1,2,,8,1,600,8,,,,,,1,6,7500,0,4,4,4,1,6,0,,0,0,0,46,0,0,0,1,1,2,288,,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,32,40,64,10,39,38,8,39,33,12,41,40,38,12,62,69,57,69,11,39,12,70,42,48,64,74,45,10,12,41,70,14,71,39,43,38,49,47,43,12,44,38,62,9,40,34,10,46,53,12,42,34,37,13,69,63,60,71,12,33,12,65,34,42,70,67,41,12,13,39,74,12,67,40,37,50,50,37,37 H,1247990,8,400,4,16,1015675,98,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,84,102,168,194,213,118,26,95,157,93,109,150,92,33,28,30,110,107,91,181,80,110,28,29,36,100,154,122,33,98,109,30,87,152,140,190,105,95,102,32,85,94,181,227,139,97,34,82,155,82,107,180,85,33,34,28,101,103,92,156,95,102,29,34,35,89,147,104,25,124,132,31,105,159,138,170,102,93,92,23 H,1248409,8,700,4,16,1015675,80,2,1,1,,3,2,2,,80,0,2,70,1,400,1,,1,650,1,1,1,5,,,,1,1,,15,1,600,4,7,24600,2,,,1,3,24600,0,2,2,2,1,5,1,2,0,0,1,41,0,0,1,0,0,1,850,3,0,1,22,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,79,23,75,78,80,140,79,145,79,86,140,79,21,138,136,23,80,81,24,23,82,22,81,82,81,138,89,153,89,81,142,86,25,135,138,22,83,84,138,147,82,121,75,81,78,24,69,24,86,81,25,88,138,22,25,144,82,92,133,134,79,147,81,81,78,26,83,21,89,84,26,76,125,23,23,146,86,77,23 H,1248493,8,900,4,16,1015675,75,2,1,1,,3,1,2,,110,0,2,10,1,360,1,260,,,,3,1,6,,,,1,2,,14,2,650,1,4,16600,4,,,1,1,16600,0,4,4,4,1,2,0,2,0,0,0,26,0,0,0,1,0,1,359,,0,0,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,23,75,147,55,19,76,80,18,76,120,110,136,73,70,79,75,85,20,25,135,137,72,22,71,123,88,99,119,76,24,23,20,66,95,80,71,73,100,129,18,23,86,123,53,24,87,93,15,70,119,128,145,107,79,71,82,70,18,21,132,129,79,22,68,135,119,85,121,64,20,20,25,96,71,72,82,66,116,149 H,1248560,8,800,4,16,1015675,134,2,1,2,1,3,2,2,,120,0,2,2,3,850,1,,2,850,2,1,1,5,,,,1,1,,14,2,2,3,,,,,,1,5,57100,0,4,4,4,1,4,0,,0,1,0,24,2,0,0,2,1,1,1133,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,111,231,168,153,154,177,173,131,54,214,257,33,137,151,35,147,42,132,154,174,174,33,122,40,165,121,43,137,192,39,35,245,134,146,238,98,306,119,219,111,145,51,99,33,175,135,36,155,224,30,37,209,141,131,246,187,244,143,42,156,133,166,123,200,120,124,237,143,47,199,196,54,133,126,44,152,52,108,43 H,1249060,8,800,4,16,1015675,358,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,377,592,348,551,349,378,346,115,395,118,341,278,95,350,573,102,101,584,368,106,339,105,479,129,354,385,411,516,350,590,306,427,604,340,109,612,600,123,392,566,374,586,367,606,436,347,321,137,364,102,352,341,105,306,621,109,95,543,327,121,376,112,373,122,337,363,403,594,354,632,381,373,672,328,104,602,547,108,307,563 H,1249225,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1249236,8,100,4,16,1015675,27,1,1,1,,2,2,2,,110,840,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,0,2,5,,,,460,61,1,4,9000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,30,49,8,11,48,26,44,47,27,38,25,21,29,12,28,6,28,33,9,61,36,9,50,48,8,21,20,10,31,9,27,19,21,53,32,45,30,34,58,8,29,51,5,7,54,29,32,51,31,38,25,22,26,9,20,7,41,43,7,52,32,10,35,41,9,23,37,8,27,9,24,24,24,62,39,47,34,31,42 H,1249506,8,800,4,16,1015675,110,2,1,2,1,4,2,2,,40,0,2,3,3,300,1,,,,,3,1,7,,,,1,2,,16,2,2,7,1,72200,4,,,2,1,72200,0,4,4,4,1,4,0,2,0,0,0,3,0,0,0,1,0,1,165,,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,106,124,122,129,93,210,90,115,201,130,37,160,220,38,95,123,32,102,159,260,115,106,118,42,101,24,125,113,34,104,145,36,41,279,122,83,192,117,32,29,120,143,79,164,145,174,88,104,176,95,27,172,199,28,124,135,37,138,194,225,119,111,100,31,106,31,130,109,34,104,214,44,32,189,113,108,182,110,31 H,1249540,8,400,4,16,1015675,73,0,1,2,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,92,91,20,78,72,68,60,30,89,73,123,127,16,20,109,63,26,156,138,68,63,111,133,68,79,65,60,114,73,63,23,21,139,129,18,68,109,19,23,63,75,65,138,87,73,75,68,130,88,55,28,20,105,118,21,74,136,26,17,59,64,111,19,73,100,73,86,25,88,78,103,110,19,25,96,64,19,98,117,66 H,1249791,8,800,4,16,1015675,177,2,1,1,,3,2,2,,70,0,2,180,1,320,1,,,,,3,1,6,,,,1,2,,14,2,480,9,8,19220,4,,,1,3,19220,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,2,1,1,434,,0,1,26,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,258,192,72,154,158,81,195,223,199,242,197,193,151,153,199,83,62,79,60,170,58,203,294,168,149,284,192,56,45,43,195,196,129,169,237,263,297,334,66,155,46,199,301,125,126,287,154,52,67,41,170,188,166,153,156,294,380,413,221,171,232,159,58,187,197,62,181,280,281,315,198,194,171,206,222,67,61,62,256 H,1249899,8,300,4,16,1015675,191,2,1,,,2,5,,,80,0,2,3,3,,1,,,,,,1,4,2,360,,1,3,,,1,260,5,8,25830,4,462,21,1,3,25830,0,4,4,4,1,6,0,2,0,0,0,,0,0,0,1,1,1,,,1,0,,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,302,196,200,196,274,50,310,185,69,64,72,187,316,56,188,182,234,220,257,181,299,174,205,202,312,53,301,188,66,73,63,193,298,52,253,171,175,192,294,181,52,166,182,206,65,289,67,218,356,339,426,210,59,320,182,160,206,181,51,208,49,184,177,189,54,280,56,206,331,291,325,190,55,293,204,219,204,212,50,155 H,1250029,8,800,4,16,1015675,148,1,1,1,,3,2,2,,50,0,2,3,3,,1,,,,,,1,6,2,600,,1,3,,,2,1,5,,,,650,14,1,4,55000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,137,46,156,47,153,144,140,269,246,235,111,124,213,127,54,237,199,48,44,140,133,51,140,63,138,108,171,279,209,332,172,130,221,139,42,211,158,43,60,134,164,43,141,49,148,166,111,227,230,228,178,171,205,163,55,208,199,40,47,137,137,44,143,53,124,148,178,247,167,233,166,166,221,136,43,224,193,44,66 H,1250475,8,500,4,16,1015675,45,2,1,1,,3,2,2,,70,0,2,3,3,300,1,,,,,3,1,5,,,,1,2,,16,2,2,6,4,16200,4,,,1,1,16200,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,2,2,242,,0,1,29,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,84,75,86,63,40,48,83,66,45,73,69,49,56,55,48,70,49,64,45,52,17,16,15,19,44,44,17,16,41,12,12,44,56,45,41,13,39,13,46,42,85,83,79,94,40,42,88,68,39,71,76,40,43,46,44,77,47,73,45,51,12,14,14,16,47,50,15,15,46,13,13,57,48,55,42,14,47,13,44,48 H,1250553,8,400,4,16,1015675,102,2,1,2,1,2,3,2,,100,0,600,3,6,630,1,,1,720,1,1,1,5,,,,1,1,,14,3,2,6,2,60000,4,,,1,1,60000,0,4,4,4,1,1,0,2,0,0,0,17,0,0,0,0,0,2,870,3,0,1,26,2,2,3,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,30,197,176,29,95,139,35,38,107,97,145,99,100,141,131,166,108,101,27,79,32,156,129,26,84,142,28,36,126,91,168,112,120,105,99,180,103,109,28,90,170,32,30,154,90,32,187,182,74,89,35,103,99,97,95,28,93,92,154,126,154,35,31,170,109,29,150,180,102,113,25,97,108,109,129,38,98,121,188,102 H,1250618,8,300,4,16,1015675,69,5,1,1,,5,2,2,,200,0,2,3,3,1200,1,,1,1100,1,1,1,9,,,250,1,1,,17,3,800,6,2,55000,3,,,1,1,55000,0,3,3,3,1,1,3,5,0,0,3,35,0,0,1,0,0,1,1617,2,0,1,32,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,96,83,67,147,64,78,18,116,16,18,67,80,110,126,23,57,59,72,22,109,74,83,59,19,65,67,112,14,95,95,60,74,17,21,115,61,54,74,119,18,73,89,68,108,67,62,22,101,17,18,66,77,122,104,25,61,77,74,20,105,69,85,61,19,47,76,124,18,132,109,75,77,17,19,152,62,59,66,126 H,1250779,8,700,4,16,1015675,122,3,1,1,,3,2,2,,40,0,2,10,1,140,1,,1,1100,1,1,1,5,,,,1,1,,17,1,60,2,1,37000,1,,,2,1,37000,0,1,1,1,1,1,1,3,0,0,1,37,0,0,1,0,0,1,1155,3,0,1,4,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,123,35,138,130,207,120,216,151,198,125,122,33,132,124,37,204,190,35,222,119,209,124,38,212,124,201,120,40,131,37,218,107,35,39,125,117,102,116,121,36,115,40,127,120,192,143,191,122,214,115,117,38,118,139,37,218,210,32,213,136,252,114,37,220,119,212,119,33,115,33,182,116,37,33,125,133,134,124,119 H,1250862,8,800,4,16,1015675,33,2,1,,,5,6,,,180,0,2,190,1,170,1,,2,970,2,1,1,9,,,,1,1,,18,3,110,9,,,,,,5,7,89000,0,4,4,4,1,5,0,,0,1,0,18,3,0,0,0,0,1,1363,3,0,0,1,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,11,36,40,71,54,8,11,57,42,12,59,50,30,29,8,30,20,33,60,34,9,31,29,55,54,6,9,73,67,10,49,63,38,33,10,40,28,29,45,34,61,31,29,12,7,56,62,9,37,54,15,12,27,33,63,35,32,43,34,36,74,36,34,9,8,66,52,11,43,56,9,14,29,26,48,29,30,31,35 H,1251148,8,800,4,16,1015675,25,2,1,2,1,3,2,2,,90,0,2,3,3,600,1,,,,,3,1,9,,,,1,2,,18,3,2,3,1,89000,4,,,1,1,89000,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,0,0,1,140,,0,1,1,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,49,24,45,25,26,22,7,31,7,18,28,8,21,37,7,7,42,25,9,24,9,26,9,26,23,27,51,27,50,24,25,34,29,9,38,45,7,26,47,24,39,26,44,25,24,23,9,24,7,24,29,7,27,43,9,8,36,26,7,21,7,26,7,25,25,25,35,24,38,23,26,47,24,7,47,37,7,27,45 H,1251176,8,900,4,16,1015675,0,1,2,,,,,,,,1800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1251191,8,100,4,16,1015675,157,2,1,1,,3,2,2,,150,0,2,2,1,280,1,,1,940,1,1,1,5,,,,1,1,,17,2,650,2,3,50000,4,,,1,1,50000,0,4,4,4,1,3,0,2,0,0,0,27,0,0,0,0,0,1,1144,3,0,1,20,2,2,7,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,275,275,280,289,154,176,219,304,127,270,238,175,179,185,166,248,144,292,141,161,56,54,45,40,145,185,43,40,185,49,35,142,160,168,142,41,167,53,158,159,260,239,232,225,154,154,248,269,152,261,265,139,163,189,163,280,186,273,174,158,49,47,51,44,163,182,38,58,171,44,64,165,115,151,195,50,130,44,145,151 H,1251249,8,100,4,16,1015675,59,2,1,2,1,3,2,2,,120,0,2,110,3,400,1,,,,,3,1,8,,,,1,2,,20,5,2,5,4,55800,4,,,1,1,55800,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,1,1,2,513,,0,1,42,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,58,56,56,60,17,17,108,14,70,79,79,96,143,54,56,19,87,58,21,49,92,93,20,17,59,51,57,58,100,20,77,70,56,131,22,73,63,83,64,22,47,53,49,61,18,18,110,17,54,61,105,83,97,84,59,17,106,77,17,61,109,104,20,15,70,67,71,62,111,20,47,61,76,87,18,50,55,98,67 H,1251671,8,600,4,16,1015675,125,2,1,,,2,6,,,20,0,2,40,1,,1,,,,,,1,3,2,760,,1,3,,,2,1,4,4,61000,4,820,16,1,1,61000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,123,123,141,255,231,202,110,35,119,207,115,143,209,123,34,37,47,125,202,122,114,121,141,44,40,42,124,217,125,38,117,147,38,109,204,204,211,128,210,125,126,122,152,41,35,37,126,207,135,36,122,130,37,131,220,222,236,125,33,130,109,134,121,270,219,199,128,36,128,207,118,120,203,122,33,40,36,143,32 H,1251697,8,300,4,16,1015675,77,1,1,2,1,5,2,2,,100,0,2,3,3,500,1,,1,840,1,2,1,9,,,,1,1,,16,1,300,5,,,,,,1,6,50000,0,4,4,4,1,6,0,,0,0,0,23,0,0,0,0,0,1,965,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,25,127,113,22,65,73,21,62,26,76,87,81,164,89,107,74,79,139,23,68,23,122,167,23,98,95,19,83,21,85,75,82,125,65,148,81,68,127,24,87,27,122,141,23,87,77,25,83,20,69,95,80,129,91,131,70,77,113,18,82,23,150,112,18,75,71,22,84,24,86,76,75,117,79,123,73,72,143,24 H,1252055,8,200,4,16,1015675,92,1,1,1,,1,1,2,,80,0,450,3,6,150,1,0,1,410,1,1,1,6,,,,1,1,,8,1,660,5,,,,,,1,4,52000,0,4,4,4,1,5,0,,0,0,0,13,0,0,0,0,0,2,583,3,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,172,87,74,140,94,176,93,104,107,28,115,28,94,74,23,110,156,26,30,151,175,102,103,150,90,141,102,106,84,28,88,29,116,94,26,95,170,26,26,124,170,98,102,145,90,161,105,99,103,25,89,24,88,89,33,95,132,27,29,176,156,80,98,149,90,157,96,102,84,28,103,24,86,98,29,105,183,25,27,125 H,1252343,8,600,4,16,1015675,105,2,1,1,,2,2,2,,30,0,2,30,1,1200,1,,1,1200,1,1,1,4,,,,2,1,,20,3,180,7,3,26000,4,,,1,1,26000,0,4,4,4,1,1,0,2,0,0,0,59,0,0,0,0,0,1,1275,3,0,1,65,2,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,1,86,164,103,114,114,181,103,182,32,112,30,101,99,108,33,33,161,112,33,109,31,107,29,31,184,94,186,93,117,171,98,177,28,28,104,107,104,199,114,171,107,195,107,97,108,190,102,173,32,97,30,119,97,109,27,29,187,96,38,103,34,100,30,30,176,101,181,109,101,172,112,185,32,31,116,106,98,176,105,216 H,1252777,8,500,4,16,1015675,90,4,1,,,2,4,,,40,200,2,160,1,,1,,,,,,1,4,2,500,,1,3,,,3,1,4,2,34000,3,700,25,1,1,34000,0,3,2,3,1,3,1,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,201,150,21,71,131,27,33,81,102,161,117,98,107,91,143,86,84,24,98,170,23,31,120,90,33,116,141,94,87,24,96,116,123,107,28,73,97,163,116,174,21,25,182,98,34,202,116,84,81,32,69,101,90,105,29,101,82,128,77,36,166,152,46,126,146,34,42,97,71,201,95,64,71,57,113,114,86,26,106 H,1252817,8,200,4,16,1015675,76,0,1,1,,3,1,2,,,,,,,,1,,,,,,1,7,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,23,20,66,23,132,79,65,78,127,82,28,79,107,123,78,78,121,28,88,63,22,21,62,21,143,72,60,77,138,93,27,70,105,114,69,77,118,23,85,60,20,26,71,24,146,64,71,74,125,68,22,94,149,120,75,85,108,23,68,62,22,27,65,18,128,79,77,82,163,80,20,77,125,107,74,83,111,22,85,71 H,1253825,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1253991,8,100,4,16,1015675,131,2,1,1,,3,2,2,,40,0,2,3,3,500,1,,1,850,1,1,1,4,,,,1,1,,17,2,100,2,1,60000,4,,,1,1,60000,0,4,4,4,1,3,0,2,0,0,0,18,0,0,0,0,0,1,898,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,36,235,222,229,193,41,126,120,216,41,125,135,49,131,113,33,112,155,121,148,235,41,40,40,42,227,127,118,43,232,112,153,192,124,129,224,141,129,123,168,35,205,239,176,222,30,136,152,217,34,132,104,43,158,134,40,133,135,137,122,209,49,37,38,44,199,138,145,45,225,137,122,192,134,114,228,131,129,119,123 H,1254281,8,400,4,16,1015675,83,2,1,1,,2,2,2,,160,0,2,3,3,570,1,,,,,3,1,5,,,,1,2,,19,1,330,3,4,25300,4,,,1,1,25300,0,4,4,4,1,5,0,2,0,0,0,17,0,0,0,2,2,2,359,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,160,29,22,125,69,24,152,138,69,89,27,98,95,71,71,22,85,82,71,134,112,33,28,141,98,25,158,152,85,80,26,93,76,71,97,35,77,84,74,25,29,134,134,30,90,147,35,33,88,96,176,82,77,89,96,143,86,81,100,27,30,120,125,22,71,138,22,26,82,100,132,64,111,70,60,112,75,93,100 H,1254522,8,300,4,16,1015675,57,2,1,,,2,5,,,50,0,2,130,1,,1,,,,,,1,5,2,430,,1,3,,,2,240,6,1,37700,4,630,20,1,1,37700,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,17,51,61,98,16,106,104,70,57,18,16,86,61,58,48,107,54,55,17,57,17,49,56,79,16,99,78,63,48,20,16,115,58,62,70,117,57,63,107,51,80,55,55,24,90,15,18,51,68,99,107,18,59,61,59,16,74,61,90,55,112,51,51,17,103,15,18,65,59,89,84,20,64,66,56,16,48,55,16 H,1254543,8,100,4,16,1015675,26,2,1,2,1,3,2,2,,190,0,2,3,3,900,1,,1,560,1,1,1,8,,,,1,1,,18,2,240,5,1,44360,4,,,1,1,44360,0,4,4,4,1,6,0,2,0,0,0,21,0,0,0,2,2,2,770,3,0,1,19,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,5,18,24,31,22,5,24,6,23,12,8,7,9,20,28,7,5,34,33,22,23,45,32,35,36,24,40,27,43,29,29,22,22,46,41,22,25,52,25,8,6,17,21,29,27,8,27,7,29,10,8,7,6,19,25,8,5,29,36,18,26,36,29,46,39,21,53,21,39,28,32,24,31,39,35,18,27,49,24 H,1254776,8,300,4,16,1015675,54,4,1,2,1,3,2,2,,60,0,2,40,1,200,1,,1,760,1,1,1,4,,,,1,1,,16,3,2,2,1,28000,2,,,1,1,28000,0,2,2,2,1,2,2,4,0,0,2,37,0,0,1,0,0,1,860,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,96,57,54,57,20,18,61,13,78,18,107,45,82,99,51,51,61,55,58,18,68,78,10,14,46,44,102,58,53,52,60,102,50,55,17,17,96,92,85,47,16,45,48,49,95,79,62,97,15,87,15,73,15,12,62,57,50,41,68,92,42,16,93,120,74,56,18,68,45,42,50,14,65,70,95,89,15,21,19 H,1255117,8,100,4,16,1015675,79,1,1,1,,2,2,2,,60,0,1600,3,4,,1,,,,,,1,4,2,240,,1,3,,,3,2,8,,,,433,13,1,6,41000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,163,93,21,88,79,50,118,28,169,20,125,78,64,79,18,74,117,53,17,76,95,105,78,30,30,27,76,73,110,100,82,124,156,163,83,29,94,103,83,18,126,88,25,63,59,66,147,40,151,19,104,70,77,82,29,70,143,80,20,60,72,153,73,26,42,33,82,63,83,111,95,156,146,110,72,28,75,108,104 H,1255334,8,200,4,16,1015675,167,2,1,1,,2,1,2,,110,0,2,3,3,,1,,,,,,1,3,2,610,,1,3,,,2,1,3,1,36400,4,720,24,1,1,36400,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,194,134,59,170,57,263,69,44,73,63,158,176,86,32,137,49,57,135,141,159,314,237,160,297,157,363,177,161,194,144,222,322,154,143,222,243,188,227,257,270,185,145,244,132,283,146,331,359,238,251,260,152,230,216,137,286,325,128,193,47,72,46,144,57,193,55,156,141,139,172,60,51,146,170,53,256,219,54,59,223 H,1255972,8,700,4,16,1015675,88,2,1,3,2,3,2,2,,80,0,2,3,3,700,1,,2,750,2,1,1,7,,,,1,1,,21,4,2,3,1,145000,4,,,1,1,145000,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,1,0,1,1205,3,0,0,50,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,26,85,25,147,89,93,88,164,89,29,91,156,167,102,93,158,24,82,95,141,157,83,153,26,89,91,83,26,90,161,84,24,25,94,106,27,143,92,87,151,152,94,158,24,91,100,94,27,86,138,92,27,25,95,86,25,155,87,96,26,28,88,28,150,97,93,85,145,92,25,83,149,163,84,85,160,25,89,90 H,1256139,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1257093,8,100,4,16,1015675,234,5,1,1,,4,2,2,,140,0,1500,30,1,360,1,,1,770,1,1,1,7,,,220,1,1,,18,2,900,5,1,76600,3,,,2,1,76600,0,3,1,3,1,3,2,5,0,0,3,21,0,0,1,0,0,1,1360,4,0,1,32,1,3,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,261,72,324,329,361,260,132,207,63,414,326,56,63,197,199,299,263,266,353,426,252,90,359,184,269,252,65,267,78,485,187,60,102,311,347,201,182,226,62,79,179,416,85,202,83,187,289,273,342,91,260,412,452,238,282,180,231,255,66,62,348,374,85,367,69,244,449,270,372,76,290,246,298,214,162,297,246,209,350 H,1257554,8,700,4,16,1015675,101,4,1,2,1,3,2,2,,80,0,2,440,2,380,1,,1,1100,1,1,1,5,,,,1,1,,18,3,240,3,1,140300,3,,,1,1,140300,0,3,3,3,1,4,2,4,0,0,2,14,0,0,1,0,0,1,1640,3,0,1,30,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,165,97,185,100,111,177,103,185,32,28,96,101,92,194,108,26,105,28,100,167,32,108,31,105,91,30,104,33,165,152,95,99,92,29,115,161,96,197,97,172,33,111,29,103,94,29,102,30,168,171,109,103,92,25,99,166,99,206,101,31,172,99,167,98,101,183,103,184,31,28,103,106,107,177,107,30,105,29,119 H,1258001,8,300,4,16,1015675,97,2,1,1,,2,1,2,,150,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,1,300,5,1,19000,4,575,36,1,1,19000,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,101,25,104,107,196,26,150,186,90,121,27,29,159,103,96,78,185,88,98,184,105,133,107,105,32,165,23,29,90,113,143,154,34,89,87,90,31,87,85,28,89,34,93,116,164,28,180,146,95,91,27,28,159,87,87,115,171,94,104,188,87,155,105,82,34,166,29,26,92,116,156,144,28,92,91,95,28,99,111,30 H,1258008,8,900,4,16,1015675,98,1,1,1,,3,2,2,,30,0,2,50,1,400,1,,2,550,1,1,1,8,,,270,1,1,,10,2,360,7,,,,,,1,4,23100,0,4,4,4,1,4,0,,0,0,0,50,0,0,0,1,0,2,963,1,0,1,16,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,25,97,114,159,94,113,107,95,149,91,95,32,37,170,142,30,103,161,26,85,28,106,121,167,108,90,98,133,173,102,86,31,30,173,140,25,107,141,28,91,36,150,91,162,87,80,96,103,168,109,106,28,29,153,168,39,86,138,25,109,32,119,115,147,80,88,108,109,161,92,108,28,25,119,148,31,77,161,34,74 H,1258192,8,800,4,16,1015675,20,3,1,1,,3,2,2,,60,0,500,3,5,0,1,,,,,3,1,6,,,,1,2,,8,2,450,7,2,21500,4,,,1,1,21500,0,4,4,4,1,7,0,3,0,0,0,9,0,0,0,0,0,1,164,,0,1,7,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,29,21,7,37,29,20,22,7,17,17,19,18,5,19,17,25,32,19,5,6,45,22,7,36,39,19,20,5,17,24,15,19,6,20,20,38,35,19,7,6,32,20,7,32,30,25,19,7,19,18,22,21,5,20,18,28,30,24,5,5,36,22,5,30,36,16,18,6,18,22,23,18,7,19,17,35,31,20 H,1258305,8,300,4,16,1015675,34,3,1,1,,5,2,2,,70,0,2,120,1,450,1,,1,560,1,1,1,9,,,,1,1,,14,4,600,6,1,52500,2,,,3,1,52500,0,2,2,2,1,3,1,3,0,0,1,18,0,0,1,0,0,1,800,3,0,1,14,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,12,56,49,13,38,35,8,37,10,32,34,39,59,38,52,31,38,63,11,44,10,78,52,8,37,34,15,32,12,36,34,43,57,33,57,37,28,61,48,28,64,12,9,73,38,35,61,30,51,39,33,42,11,34,12,39,41,10,54,34,58,9,9,57,33,33,64,30,67,39,31,40,11,34,16,39,33,9,13 H,1258412,8,100,4,16,1015675,130,2,1,1,,4,2,2,,40,0,2,50,1,350,1,,2,1000,1,1,1,8,,,,1,1,,20,2,60,2,4,12350,4,,,3,1,12350,0,4,4,4,1,3,0,2,0,0,0,101,0,0,0,2,1,1,1124,3,0,1,35,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,122,236,47,167,130,123,40,118,226,110,43,32,116,150,34,245,130,227,130,47,138,39,228,138,141,106,184,111,40,144,214,240,121,139,182,36,169,37,144,217,140,217,39,138,142,121,40,149,247,122,39,36,131,127,37,228,121,232,164,47,125,32,231,141,124,131,201,115,37,130,213,236,124,118,206,42,119,37,129 H,1258647,8,400,4,16,1015675,171,0,1,,,2,5,,,,,,,,,1,,,,,,1,3,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,158,44,166,60,271,274,134,143,182,42,197,288,167,299,289,58,189,44,148,164,168,58,177,52,290,304,181,168,196,54,152,286,178,308,264,44,204,54,157,188,158,53,182,50,262,338,189,136,149,49,170,284,158,277,268,50,189,53,149,171,172,45,193,61,308,264,155,188,149,52,152,312,191,278,268,47,188,50,190,198 H,1259133,8,600,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1259633,8,200,4,16,1015675,19,1,1,,,0,9,,,2,0,2,3,3,,1,,,,,,1,1,2,160,,1,3,,,1,2,3,,,,160,20,1,4,9400,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,14,5,20,21,42,28,5,5,36,21,5,29,33,19,21,6,22,18,14,20,15,29,19,18,7,5,33,31,5,17,28,5,5,17,23,30,22,19,15,22,15,26,15,17,7,5,29,31,5,17,33,7,7,21,22,27,17,17,18,17,20,5,15,21,27,33,4,5,32,19,5,30,30,17,18,7,25,22,18,18 H,1259709,8,600,4,16,1015675,114,2,1,1,,3,2,2,,50,0,2,80,1,400,1,,1,600,1,1,1,7,,,,1,1,,15,2,500,7,1,62030,4,,,1,1,62030,0,4,4,4,1,6,0,2,0,0,0,15,0,0,0,0,0,1,772,3,0,1,18,2,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,214,101,110,180,113,190,31,36,117,106,111,200,98,36,125,31,32,182,112,105,36,118,111,35,109,32,189,193,120,113,111,34,103,204,126,175,180,37,113,110,178,125,109,204,106,185,36,33,112,108,115,198,115,37,113,32,35,200,110,116,33,113,109,35,129,29,185,190,111,114,116,36,120,194,106,182,186,31,116 H,1259760,8,300,4,16,1015675,79,5,1,1,,5,2,2,,150,0,200,3,3,420,1,,1,1100,1,1,1,9,,,400,1,1,,16,3,500,4,1,117380,2,,,1,1,117380,0,2,2,2,1,5,3,5,0,0,3,17,0,0,1,0,0,1,1709,2,0,1,34,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,76,79,120,24,77,81,23,77,96,23,72,96,76,25,154,139,145,119,21,76,78,76,21,145,71,90,135,69,78,118,89,88,76,160,23,32,28,24,129,98,62,75,121,26,85,81,25,78,79,28,69,79,84,24,134,134,129,148,25,66,82,81,22,141,77,81,127,71,78,157,86,80,78,139,27,22,26,23,141,82 H,1261283,8,900,4,16,1015675,18,2,1,3,6,3,2,2,,130,0,2,80,2,1200,1,,1,480,1,1,1,5,,,,1,1,,11,2,2,9,4,32000,4,,,1,1,32000,0,4,4,4,1,7,0,2,0,0,0,26,0,0,0,0,0,1,690,3,0,0,11,1,6,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,35,30,18,22,16,15,14,5,5,5,18,47,22,5,20,20,6,23,30,5,5,5,18,16,17,15,18,30,28,27,18,5,20,36,20,20,38,18,5,31,32,38,19,21,15,22,20,5,5,5,16,31,17,5,17,16,3,19,30,5,7,7,23,19,18,18,33,43,23,28,17,5,20,39,24,17,34,17,5,35 H,1261776,8,400,4,16,1015675,119,2,1,1,,3,2,2,,70,0,80,3,3,410,1,,1,790,1,1,1,7,,,,1,1,,14,3,2,5,1,45800,4,,,1,1,45800,0,4,4,4,1,3,0,2,0,0,0,23,0,0,0,1,0,1,867,3,0,1,19,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,104,32,104,92,112,139,42,133,109,237,183,30,31,207,153,34,173,212,114,129,116,28,114,136,139,103,30,118,119,190,270,44,39,237,128,40,182,172,114,131,130,242,128,109,138,116,187,143,105,33,33,207,245,36,111,272,35,24,111,100,109,170,96,106,142,151,199,127,129,35,36,172,168,38,144,181,36,37,105 H,1262263,8,100,4,16,1015675,34,2,1,1,,2,1,2,,80,0,2,3,3,1000,1,300,,,,3,1,6,,,,1,2,,11,2,220,4,1,144400,4,,,1,1,144400,0,4,4,4,1,5,0,2,0,0,0,2,0,0,0,2,2,1,206,,0,0,1,2,5,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,37,82,42,35,30,8,10,36,9,64,8,67,28,49,61,37,28,28,34,37,56,30,9,67,64,37,34,8,37,36,34,33,9,36,38,60,57,8,9,28,60,41,13,53,51,32,30,9,31,38,34,39,8,34,29,63,58,6,10,8,31,71,25,43,36,12,9,40,12,46,12,63,28,71,55,38,33,25,30,11 H,1262381,8,100,4,16,1015675,57,3,1,2,1,4,2,2,,410,0,2,3,3,,1,,,,,,1,7,2,850,,1,3,,,3,1,4,,,,1260,24,1,5,62400,0,2,4,4,1,1,0,,0,1,0,,2,0,1,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,105,57,55,51,16,17,59,19,90,17,84,54,97,101,55,55,66,60,54,88,52,17,90,99,62,56,16,61,61,60,67,19,68,53,92,95,16,16,56,102,60,18,93,103,54,56,19,68,51,47,50,17,53,53,103,110,18,18,19,48,97,53,59,56,17,15,51,17,98,18,98,64,104,86,58,48,58,59,15 H,1262855,8,200,4,16,1015675,53,2,1,2,1,4,2,2,,70,0,450,3,6,540,1,,,,,3,1,8,,,,1,2,,16,3,2,7,1,80000,4,,,1,1,80000,0,4,4,4,1,3,0,2,0,0,0,4,0,0,0,0,0,2,253,,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,50,92,89,12,14,109,55,17,95,73,50,58,14,49,59,70,61,15,51,56,44,12,11,73,84,17,50,81,17,12,40,48,86,60,53,62,59,98,48,55,53,88,90,16,18,83,52,15,73,96,53,54,16,45,51,78,54,13,40,49,58,16,19,87,67,20,55,90,17,13,59,52,82,60,55,47,49,86,77 H,1263021,8,600,4,16,1015675,114,4,1,1,,3,2,2,,80,0,2,50,1,1200,1,,,,,3,1,7,,,,1,2,,20,3,130,9,2,60600,2,,,1,1,60600,0,2,2,2,1,5,1,4,0,0,1,16,0,0,1,0,0,1,824,,0,1,65,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,34,199,200,115,109,107,33,119,210,110,182,194,37,125,35,104,109,33,115,111,33,177,192,120,107,116,31,119,202,116,203,196,34,114,33,120,125,35,115,115,33,196,184,118,127,115,34,110,182,107,210,174,34,114,30,127,110,37,111,106,33,186,191,118,122,122,33,115,197,121,195,199,34,125,35,100,110,33,125 H,1263248,8,400,4,16,1015675,159,2,1,2,1,2,2,2,,60,0,2,110,1,2400,1,,,,,3,1,7,,,,1,2,,19,5,2,3,1,57000,4,,,1,1,57000,0,4,4,4,1,4,0,2,0,0,0,10,0,0,0,0,0,2,462,,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,179,177,51,167,174,169,172,48,163,153,271,209,45,39,260,166,41,226,230,155,148,191,238,127,162,188,149,218,147,171,49,55,323,282,44,156,337,56,40,148,153,170,44,138,131,152,185,55,153,158,344,272,50,43,234,191,72,305,212,176,129,165,271,134,198,219,158,243,153,148,52,47,223,217,46,156,270,49,45,185 H,1263269,8,800,4,16,1015675,75,0,1,1,,2,3,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,96,28,132,71,112,72,21,76,23,138,71,21,21,69,75,81,78,67,19,23,82,125,23,79,22,89,110,75,142,24,77,132,135,67,75,74,76,68,119,121,75,22,137,71,111,69,21,83,22,125,75,23,21,65,74,64,75,83,25,25,81,123,21,73,28,80,121,82,107,20,74,129,140,90,71,67,85,74,120 H,1263650,8,900,4,16,1015675,81,2,1,3,5,3,2,2,,40,0,2,50,2,1700,1,,,,,3,1,7,,,,1,2,,20,3,2,3,2,61701,4,,,1,1,61701,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,1,1,1,333,,0,0,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,74,21,29,30,68,72,78,77,69,111,118,136,78,28,88,143,85,92,23,137,103,23,23,22,79,60,71,97,81,117,167,227,81,22,86,137,92,80,23,136,79,25,24,31,90,99,96,85,82,112,111,104,79,27,63,118,73,81,27,120,119,29,20,25,104,103,103,70,89,171,136,131,72,20,77,108,82,77,20 H,1263786,8,600,4,16,1015675,119,3,1,1,,5,2,2,,60,0,2,80,1,620,1,,2,1600,2,1,1,9,,,960,1,1,,20,3,50,4,2,104101,2,,,1,1,104101,0,2,2,2,1,5,1,3,0,0,1,35,0,0,1,0,0,1,3060,2,0,1,48,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,37,203,122,117,108,212,123,34,106,230,200,120,122,195,36,116,37,35,128,119,34,218,113,121,109,196,119,34,117,204,195,112,117,235,33,118,35,34,111,113,32,200,120,136,121,200,129,31,118,194,204,129,122,200,32,116,34,34,125,118,33,220,131,123,131,189,108,35,126,196,193,120,123,209,34,118,34,37,112 H,1263832,8,800,4,16,1015675,61,6,1,2,1,4,2,2,,130,0,2,3,3,300,1,,2,660,2,1,1,8,,,,1,1,,15,4,2,4,2,89200,2,,,1,1,89200,1,2,4,2,1,6,0,6,0,0,2,12,0,1,1,2,2,1,916,3,0,1,24,2,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,15,60,59,94,119,17,22,111,72,17,77,81,55,60,18,52,54,67,52,55,89,73,82,19,21,123,92,19,60,89,22,15,68,70,116,72,73,62,64,68,108,61,55,20,19,83,113,19,68,102,17,18,52,58,109,60,53,54,72,67,22,62,71,98,94,18,17,109,72,18,108,115,56,60,17,56,64,50,51 H,1264322,8,400,4,16,1015675,233,2,1,3,6,4,2,2,,120,0,1000,3,6,,1,,,,,,1,7,,,,1,4,,,2,2,9,6,9000,2,,,1,2,9000,0,2,4,2,1,5,0,2,0,0,1,,0,0,1,0,0,1,,,0,0,,2,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,334,74,84,322,303,401,257,153,174,276,448,203,309,98,63,362,449,74,203,274,76,319,450,247,144,65,307,203,210,290,91,240,196,382,380,69,86,336,212,292,416,85,65,187,234,386,244,239,159,218,452,210,259,68,53,398,328,59,272,256,77,445,489,249,252,59,195,314,363,305,68,289,222,339,410,63,74,346,225,227 H,1264440,8,100,4,16,1015675,225,0,1,,,3,5,,,,,,,,,1,,,,,,1,4,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,336,238,74,258,215,207,71,189,66,409,278,450,207,174,223,428,360,88,261,286,214,350,171,270,349,61,203,73,269,221,65,227,70,334,436,271,200,211,69,63,564,274,74,235,211,203,65,275,68,323,266,366,214,211,237,349,350,81,214,208,216,343,249,328,380,78,231,68,197,201,55,237,82,378,328,190,268,201,64,65 H,1264530,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1264945,8,900,4,16,1015675,154,5,1,1,,5,2,2,,60,0,2,160,1,650,1,,1,1200,1,1,1,9,,,,1,1,,16,2,60,9,1,84200,2,,,1,1,84200,0,2,2,2,1,2,3,5,0,0,3,20,0,0,1,0,0,1,1425,3,0,1,24,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,152,262,117,128,281,152,58,42,69,130,139,178,128,119,311,288,246,160,238,231,124,57,119,156,48,157,302,268,283,155,136,121,166,176,52,46,42,193,35,57,140,228,119,191,261,147,50,42,49,299,153,153,213,143,252,245,236,187,294,260,174,67,188,140,31,129,255,189,262,137,115,187,107,118,65,52,58,157,52 H,1264981,8,100,4,16,1015675,61,2,1,1,,3,2,1,,90,0,2,160,1,440,1,,1,870,1,1,1,7,,,,1,1,,13,2,200,6,1,39280,4,,,1,1,39280,0,4,4,4,1,6,0,2,0,0,0,35,0,0,0,1,0,1,1137,3,0,0,20,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,15,25,61,64,120,49,57,57,73,95,69,66,13,20,129,110,20,60,70,27,107,97,65,61,25,61,54,60,54,15,67,58,109,93,13,21,86,62,76,106,17,18,59,68,104,64,51,57,78,102,63,84,21,18,110,108,18,64,81,18,116,97,61,54,16,48,69,60,48,20,44,60,103,108,24,16,117,57,64 H,1265087,8,800,4,16,1015675,246,2,1,1,,3,2,2,,80,0,50,90,1,400,1,,1,800,1,1,1,6,,,,1,1,,15,2,2,4,,,,,,1,5,46000,0,4,4,4,1,3,0,,0,1,0,25,0,0,0,0,0,2,974,3,0,1,19,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,360,189,217,60,95,412,425,140,241,479,63,71,359,266,288,297,255,204,300,351,365,428,216,116,94,392,358,65,269,314,89,72,193,252,462,179,154,409,241,199,111,214,285,327,293,60,93,578,254,97,302,333,336,259,67,282,350,188,229,318,73,313,230,540,331,84,106,281,253,82,331,330,219,283,139,191,176,349,218,218 H,1265094,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1265206,8,500,4,16,1015675,95,3,1,1,,3,2,2,,90,3600,2,140,1,30,1,,1,1500,1,2,1,5,,,,1,1,,18,2,120,1,6,63050,2,,,1,2,63050,1,2,4,2,1,1,0,3,0,0,1,33,0,1,1,1,0,1,1740,3,0,1,36,1,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,175,31,91,31,90,100,26,95,29,172,156,106,91,98,28,96,177,89,87,27,26,163,94,178,99,93,142,95,144,27,30,81,100,102,183,110,29,94,96,27,29,155,108,187,98,95,142,79,141,26,24,106,113,89,163,88,29,102,104,176,172,30,95,28,99,82,33,90,30,153,161,96,94,95,30,96,167,100,100 H,1265282,8,700,4,16,1015675,416,2,1,,,2,6,,,40,400,2,3,3,,1,,,,,,1,4,2,300,,1,3,,,2,1,8,8,18380,4,340,22,1,3,18380,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,1,2,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,107,371,730,666,461,141,668,114,485,434,383,421,381,385,623,137,415,415,392,449,404,121,436,465,142,431,418,424,130,636,743,659,600,137,435,452,714,138,128,659,742,454,125,114,340,746,137,764,438,413,395,471,461,379,133,672,385,396,431,396,476,751,372,427,640,422,432,404,689,111,133,128,134,657,394,417,132,714,725 H,1265384,8,300,4,16,1015675,62,4,1,1,,2,1,2,,1,0,2,20,1,0,1,230,,,,3,1,3,,,,1,2,,1,1,1,6,2,29600,4,,,2,1,29600,0,2,4,4,2,4,0,2,0,1,0,2,0,0,1,0,0,2,53,,0,0,5,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,53,88,71,17,20,58,72,67,22,131,17,63,92,96,144,64,18,120,56,18,16,89,125,67,51,15,20,89,60,67,64,128,59,75,62,16,50,72,91,71,45,88,71,14,22,56,61,48,21,109,16,54,95,100,145,49,18,112,53,26,13,96,128,72,76,13,21,87,76,64,58,124,56,92,80,19,45,75,112,56 H,1266078,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1266716,8,300,4,16,1015675,33,1,1,2,1,2,2,2,,150,0,2,10,3,400,1,,,,,3,1,5,,,,1,2,,13,1,140,5,,,,,,1,6,7000,0,4,4,4,1,7,0,,0,0,0,41,0,0,0,1,1,1,241,,0,1,10,,,,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,44,8,8,32,32,49,31,34,39,29,64,34,31,8,8,53,71,9,27,30,59,10,10,33,29,51,30,25,32,28,59,30,34,11,10,63,67,10,31,36,8,47,55,34,37,9,32,36,28,35,9,30,37,59,48,10,9,57,31,31,10,57,59,32,29,9,29,38,33,31,8,29,35,57,65,11,9,42,34,29 H,1266957,8,600,4,16,1015675,118,3,1,1,,3,2,2,,70,0,2,140,1,450,1,,1,1400,1,1,1,8,,,,1,1,,20,3,150,5,5,39100,2,,,1,2,72100,0,2,2,2,1,5,1,2,0,1,1,27,0,0,1,0,0,2,1623,3,0,1,38,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,36,121,34,38,205,181,110,121,115,123,33,216,120,106,115,36,221,124,211,108,33,121,33,30,209,207,118,109,116,123,35,224,128,122,133,30,185,120,207,115,35,125,38,35,190,220,118,117,131,115,36,198,111,133,123,31,178,107,205,119,34,126,36,36,196,178,118,113,127,124,33,184,115,123,111,35,216,117,189 H,1267281,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1267306,8,200,4,16,1015675,286,3,1,1,,3,1,2,,220,0,2,3,3,,1,,,,,,1,5,2,200,,1,3,,,2,900,5,1,40000,1,495,15,1,1,40000,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,350,478,326,525,307,250,391,232,95,436,375,101,264,241,95,266,111,250,389,314,308,87,335,99,267,309,101,328,519,102,102,391,264,323,384,315,519,280,466,282,238,117,324,84,262,377,115,298,369,98,110,397,310,322,487,366,321,284,92,266,224,394,307,429,297,268,449,248,78,585,433,96,306,318,103,292,88,266,103 H,1267555,8,300,4,16,1015675,36,4,1,1,,2,1,2,,100,0,2,30,2,0,1,0,,,,3,1,3,,,,1,2,,10,2,50,3,6,25000,3,,,2,2,25000,0,3,3,3,2,5,2,4,0,0,2,9,0,0,1,1,0,2,184,,0,0,14,1,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,79,73,44,43,12,36,49,31,34,67,38,12,12,11,41,42,35,41,43,12,46,49,75,31,8,48,69,35,43,63,36,10,14,11,36,45,37,36,39,10,57,54,69,33,14,36,57,45,34,74,36,9,11,12,29,38,36,32,43,11,61,69,46,38,12,41,58,36,34,66,46,15,8,13,37,41,39,40,42,8 H,1268013,8,300,4,16,1015675,111,2,1,3,2,4,2,2,,50,0,2,40,1,850,1,,,,,3,1,6,,,,1,2,,20,2,2,5,4,37250,4,,,1,1,37250,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,311,,0,0,30,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,122,229,158,192,225,117,100,178,139,104,166,172,99,119,122,107,200,115,129,36,110,48,31,31,33,112,134,31,35,102,32,40,101,94,91,112,30,123,82,31,126,39,33,30,31,94,111,35,27,117,31,38,128,88,126,123,35,126,86,182,102,203,224,169,171,116,139,189,182,118,215,221,99,100,136,123,163,104,98 H,1268208,8,300,4,16,1015675,39,2,1,3,1,4,2,2,,160,0,650,3,3,700,1,,,,,3,1,8,,,,1,2,,21,5,2,4,2,430600,4,,,1,1,430600,0,4,4,4,1,6,0,2,0,0,0,1,0,0,0,1,0,1,388,,0,0,25,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,81,39,51,40,12,41,57,57,73,64,13,28,9,37,37,8,34,18,40,12,11,39,43,34,69,40,11,56,15,10,41,40,65,30,33,55,36,67,52,82,79,38,45,33,8,49,91,40,56,80,10,28,10,40,39,14,41,12,39,16,11,28,36,35,64,37,12,39,12,15,59,30,59,35,32,46,35,73,40 H,1268452,8,900,4,16,1015675,35,4,1,1,,4,2,2,,100,0,2,3,3,340,1,,2,630,2,1,1,7,,,,1,1,,14,3,30,3,1,88150,2,,,1,1,88150,0,2,2,2,1,5,1,4,0,0,1,11,0,0,1,0,0,1,824,3,0,1,17,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,15,13,17,49,46,30,12,24,28,13,59,67,79,77,26,23,45,35,78,53,6,7,12,45,40,17,8,28,38,21,24,63,58,55,54,54,53,83,52,29,15,18,13,43,69,49,12,21,30,10,65,55,55,85,22,28,59,38,81,47,7,6,12,43,64,17,7,33,46,15,42,60,61,53,33,78,49,53,58 H,1268882,8,100,4,16,1015675,113,1,1,,,2,4,,,50,0,2,3,3,,1,,,,,,1,4,2,410,,1,3,,,1,2,4,,,,460,18,1,4,30000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,86,34,113,30,118,97,44,164,145,47,32,197,119,95,158,99,162,120,127,202,95,30,69,35,182,138,42,123,156,31,33,209,117,92,142,106,202,124,113,29,126,171,148,160,77,93,133,105,40,184,235,39,117,121,41,108,26,116,143,31,148,154,129,210,118,128,160,84,35,175,235,28,120,97,32,163,42,87,122,243 H,1268930,8,900,4,16,1015675,327,4,1,1,,4,2,2,,2,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,2,2,5,2,27600,3,,,2,1,27600,0,1,1,1,2,2,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,287,223,492,547,101,104,468,266,108,549,647,349,281,113,495,349,275,436,113,335,314,414,512,401,141,118,600,319,117,591,413,319,280,81,278,356,403,376,124,294,421,287,550,530,94,97,419,270,160,507,524,399,312,118,402,327,341,453,163,339,274,372,456,502,115,99,790,288,121,500,438,350,276,113,339,352,252,303,103,264 H,1269285,8,600,4,16,1015675,105,2,1,,,2,6,,,40,0,2,20,3,,1,,,,,,1,3,2,780,,1,3,,,1,1,2,1,145000,4,840,7,1,1,145000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,163,181,33,32,185,108,30,182,184,112,101,31,99,106,105,99,28,105,107,103,32,32,165,160,32,100,190,32,33,106,108,195,106,103,104,102,191,120,103,105,183,197,30,29,194,113,32,175,192,108,106,35,94,103,96,98,34,107,128,108,30,28,170,173,30,106,179,31,32,101,116,202,107,96,109,96,168,113,100,111 H,1269332,8,600,4,16,1015675,79,1,1,1,,2,1,2,,100,0,2,3,3,0,1,200,2,310,2,2,1,4,,,,1,1,,1,1,280,4,,,,,,1,4,19000,0,4,4,4,1,1,0,,0,0,0,29,0,0,0,0,0,1,467,3,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,126,78,120,122,139,129,84,79,133,129,83,143,127,79,77,74,86,135,86,79,25,77,22,23,24,23,85,87,23,25,80,21,23,83,83,70,73,23,85,73,127,80,130,131,143,136,77,66,134,139,84,147,151,89,82,99,84,134,88,75,25,79,25,25,22,22,76,75,21,23,86,24,22,73,83,78,81,23,75,82 H,1269669,8,300,4,16,1015675,60,5,1,1,,4,2,2,,80,0,2,130,1,540,1,,1,1400,1,1,1,8,,,,1,1,,16,3,420,3,1,125530,3,,,1,1,125530,0,3,3,3,1,5,2,5,0,0,2,16,0,0,1,0,0,2,1645,3,0,1,29,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,20,21,19,60,110,65,20,57,52,16,61,103,91,96,67,63,58,55,17,55,115,98,108,58,17,71,98,63,57,107,70,18,19,18,60,56,65,64,18,62,105,117,102,58,17,65,125,59,61,102,63,16,16,20,63,52,62,77,120,58,21,17,19,69,92,53,18,58,50,18,51,100,100,92,53,64,60,62,100 H,1269823,8,800,4,16,1015675,68,3,1,2,1,3,2,2,,210,0,2,3,3,1200,1,,2,720,2,1,1,5,,,,1,1,,13,5,2,2,1,57000,4,,,1,1,77820,0,4,4,4,1,3,0,2,0,1,0,17,0,0,0,0,0,1,1105,3,0,1,20,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,27,79,112,104,19,50,69,15,61,115,100,100,82,66,60,55,59,20,99,19,26,75,91,77,19,81,80,19,62,96,114,94,75,85,64,55,73,22,116,41,19,65,119,62,26,56,64,17,75,156,102,88,55,58,63,73,58,24,91,29,20,49,97,83,26,60,65,22,52,121,126,94,39,64,101,70,70,29,128 H,1270160,8,400,4,16,1015675,67,2,1,1,,2,2,2,,40,0,640,3,6,400,1,,,,,3,1,4,,,,1,2,,8,3,600,9,,,,,,1,7,46904,0,4,4,4,1,2,0,,0,1,0,7,3,0,0,0,0,1,258,,0,1,21,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,23,19,57,56,57,79,86,130,124,130,55,19,73,127,74,70,86,57,30,17,23,20,67,58,60,67,62,126,137,130,72,21,79,127,81,58,100,56,93,111,103,113,59,75,76,59,71,25,24,20,70,124,66,20,62,79,15,47,109,125,135,137,72,67,81,61,58,22,24,18,69,108,73,21,69,64,26,80,18 H,1270202,8,200,4,16,1015675,116,2,1,1,,2,1,2,,130,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,2,1,4,,,,580,52,1,7,13300,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,113,34,112,134,105,103,35,97,129,220,140,29,35,193,97,31,187,175,94,130,97,181,155,118,131,145,199,138,164,60,37,159,270,39,88,285,35,28,101,98,125,50,119,122,129,169,38,97,97,174,223,36,34,226,104,36,143,160,109,96,101,194,149,103,140,112,165,126,112,45,41,223,193,33,128,211,46,26,142 H,1270262,8,100,4,16,1015675,102,4,1,1,,2,2,2,,150,0,2,3,3,30,1,,1,620,1,1,1,4,,,780,1,1,,15,2,600,4,3,43000,3,,,1,1,43000,0,3,3,3,1,4,2,4,0,0,2,45,0,0,1,0,0,1,1600,1,0,1,18,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,31,34,159,86,179,117,90,198,103,152,28,31,105,106,97,167,105,31,97,95,26,33,163,107,157,98,105,194,106,161,33,36,121,103,108,172,105,28,88,119,31,28,156,90,192,113,90,195,97,153,32,34,106,92,103,191,98,35,118,97,28,29,171,93,150,92,115,157,102,213,31,39,110,96,98,166,110,27,90 H,1270318,8,100,4,16,1015675,49,1,1,1,,4,2,2,,40,0,2,50,1,,1,,,,,,1,6,2,450,,1,3,,,1,560,8,,,,587,78,1,6,9000,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,96,84,15,73,14,41,47,17,50,15,78,89,46,48,51,18,53,84,51,62,88,82,14,53,17,49,41,10,54,16,80,80,48,34,50,15,48,83,40,62,74,68,16,54,10,44,59,17,42,17,84,81,44,42,50,15,47,86,52,51,65,81,17,46,15,42,46,23,57,15,108,74,43,43,46,19,53,105,55,48 H,1271038,8,600,4,16,1015675,129,2,1,,,0,7,,,10,0,2,3,9,,1,,,,,,1,1,2,460,,1,3,,,1,1,9,1,31600,4,470,18,1,1,31600,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,41,230,218,127,242,141,120,35,122,34,119,32,116,126,215,122,130,241,209,144,127,125,130,225,133,35,229,133,232,136,35,123,39,230,117,35,36,115,110,31,38,242,207,118,239,130,108,37,139,35,131,38,127,116,198,149,127,224,242,128,131,137,127,203,116,38,228,135,197,129,37,151,39,196,129,42,40,117,164 H,1271403,8,800,4,16,1015675,19,2,1,3,4,1,2,2,,200,0,160,440,2,,1,,,,,,1,3,,,,1,4,,,2,600,7,1,34200,4,,,1,1,34200,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,0,0,,2,5,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,18,20,33,20,5,5,5,21,20,18,18,15,29,35,46,17,5,20,30,5,22,26,5,20,27,34,44,17,17,19,22,18,5,5,5,19,24,18,7,28,19,19,32,19,6,5,5,18,21,18,24,24,32,28,37,20,5,15,37,5,19,22,6,26,32,27,39,17,16,19,22,21,7,5,6,17,31,22,7 H,1271619,8,700,4,16,1015675,113,4,1,,,3,4,,,130,0,2,3,3,,1,,,,,,1,5,2,720,,1,3,,,1,1,5,1,41500,3,850,25,1,1,41500,0,1,1,1,1,3,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,115,35,107,115,179,124,197,122,190,108,114,32,105,117,33,205,181,35,210,140,162,112,34,198,123,187,122,36,124,35,182,108,37,36,99,99,104,127,100,194,120,195,108,115,32,122,29,118,31,120,127,230,116,113,207,40,36,195,42,115,33,113,214,33,102,30,104,167,109,186,33,113,178,173,114,121,128,103,121 H,1271691,8,300,4,16,1015675,220,2,1,1,,1,2,2,,120,0,2,3,3,,1,,,,,,1,3,2,400,,2,3,,,2,150,8,1,66000,4,533,10,1,1,66000,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,240,385,64,212,279,62,227,202,60,192,192,217,91,390,323,386,337,56,215,199,191,65,418,200,232,411,198,235,353,287,203,241,280,92,75,67,69,315,193,195,182,62,316,276,221,351,211,190,403,235,246,223,383,84,72,69,82,393,203,204,260,305,66,220,223,65,246,222,55,247,180,224,81,318,422,371,373,76,230 H,1271795,8,600,4,16,1015675,97,3,1,1,,3,2,2,,30,0,2,20,1,280,1,,1,770,1,1,1,6,,,400,1,1,,18,3,200,2,1,41630,1,,,1,1,41630,0,1,1,1,1,3,1,3,0,0,1,36,0,0,1,0,0,1,1237,2,0,1,25,2,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,168,29,99,30,92,158,99,172,30,81,151,147,95,99,100,86,90,32,27,107,152,29,91,31,98,167,93,170,29,101,165,155,96,102,90,100,96,27,29,96,162,29,91,30,107,158,88,180,27,91,184,161,100,95,91,114,99,34,30,94,164,29,104,27,91,156,92,162,23,102,173,184,89,91,97,97,102,24,33 H,1271984,8,100,4,16,1015675,194,2,1,1,,3,2,2,,40,0,2,2,1,320,1,,1,1300,1,1,1,5,,,,1,1,,17,3,430,1,5,9200,2,,,1,2,9200,0,2,2,2,1,1,1,2,0,0,1,101,0,0,1,0,0,2,1376,3,0,1,32,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,199,281,315,71,64,307,200,63,315,281,170,161,63,198,203,194,166,65,202,225,237,322,328,60,62,317,173,49,331,292,198,211,66,242,174,186,183,50,202,192,203,270,280,58,64,364,231,71,360,391,175,197,62,193,221,163,210,57,185,183,182,330,319,55,61,300,229,46,317,313,158,179,58,204,203,163,220,64,208 H,1272125,8,800,4,16,1015675,85,4,1,1,,4,2,2,,200,0,2,3,3,,1,,,,,,1,7,2,600,,1,3,,,2,2,4,2,39600,1,800,24,1,1,39600,0,1,1,1,1,4,2,4,0,0,2,,0,0,1,0,0,1,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,25,18,18,30,99,19,77,28,84,117,127,100,25,22,81,61,20,91,87,173,73,82,80,74,187,96,116,85,122,126,152,146,117,90,116,172,95,168,25,84,29,32,26,31,101,24,99,27,73,84,89,70,22,27,82,78,25,87,93,234,88,91,79,67,130,97,139,85,153,139,156,149,64,77,153,144,69,168,44 H,1272145,8,100,4,16,1015675,87,1,1,2,1,4,2,2,,40,0,2,160,1,1000,1,,1,2000,1,1,1,8,,,800,2,1,,22,4,500,2,,,,,,1,4,255000,0,4,4,4,1,1,0,,0,0,0,14,0,0,0,0,0,1,3042,2,0,1,62,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,88,86,162,99,171,101,94,87,29,92,25,94,83,23,70,131,24,21,158,132,91,75,148,92,128,93,85,73,24,83,29,68,79,27,79,139,22,24,31,25,84,84,22,74,20,87,90,92,128,87,133,88,80,148,88,23,153,153,25,23,102,82,25,101,19,92,100,84,153,80,134,97,99,134,87,30,146,143,163 H,1272619,8,900,4,16,1015675,325,1,1,2,1,2,2,2,,40,0,2,40,2,,1,,,,,,1,3,2,400,,1,3,,,2,2,9,,,,480,13,1,4,43000,0,4,4,4,1,4,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,439,369,307,289,337,481,301,332,152,133,412,333,109,439,572,101,109,281,386,268,369,277,329,435,407,366,277,348,100,122,598,577,146,345,402,134,126,288,397,271,372,323,302,423,485,426,267,550,174,96,567,509,151,372,446,119,87,289,305,376,535,299,311,210,247,520,340,249,98,181,420,455,160,272,491,126,94,296,482 H,1272708,8,500,4,16,1015675,272,0,1,1,,4,2,2,,,,,,,,1,,,,,,1,7,,,,,,3,18,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,450,253,120,491,434,94,320,262,80,255,72,231,279,305,346,267,467,215,91,253,538,247,81,514,448,94,243,325,81,251,79,202,325,285,410,338,492,255,365,281,72,265,419,73,103,488,313,338,439,278,456,296,280,268,92,265,92,291,488,239,81,291,400,75,82,481,281,260,412,264,437,333,224,274,98,217,74,342,88 H,1272740,8,700,4,16,1015675,116,3,1,2,1,3,2,2,,230,0,2,3,3,250,1,,2,750,2,1,1,7,,,,1,1,,18,4,40,6,1,103000,2,,,1,1,103000,0,2,2,2,1,6,1,3,0,0,1,15,0,0,1,1,0,1,1254,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,115,34,111,115,105,194,121,110,34,210,33,36,123,118,202,192,32,111,34,111,105,202,109,114,109,33,107,109,204,32,183,205,115,130,35,34,196,119,187,118,117,32,114,118,119,210,122,104,34,184,33,34,107,110,179,199,33,113,37,104,121,191,120,117,118,37,110,108,213,35,186,199,116,113,34,33,200,110,199 H,1272916,8,500,4,16,1015675,94,1,1,1,,3,1,2,,70,0,2,3,3,480,1,0,2,520,1,1,1,5,,,,1,1,,13,1,2,3,,,,,,1,6,16500,0,4,4,4,1,5,0,,0,0,0,46,0,0,0,0,0,2,630,3,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,81,93,28,33,158,28,101,89,162,158,175,117,89,27,146,85,26,88,27,182,28,31,100,111,107,90,135,30,111,97,94,150,23,89,92,136,98,168,104,88,91,89,163,160,26,159,89,94,26,29,31,116,93,147,31,88,151,93,162,35,181,162,88,81,97,100,29,140,92,104,87,27,163,100,96,27,86,26,92 H,1272965,8,600,4,16,1015675,117,3,1,1,,3,2,2,,90,0,100,160,1,150,1,,1,1000,1,1,1,6,,,200,1,1,,18,3,130,3,7,43030,2,,,1,3,74030,0,2,2,2,1,4,1,2,0,1,1,24,3,0,1,0,0,1,1469,2,0,1,45,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,120,214,125,114,35,203,31,35,107,110,194,204,34,108,115,117,35,117,31,121,121,32,123,122,215,36,187,217,125,121,33,37,204,117,112,115,206,112,37,120,111,32,121,110,197,32,196,213,120,107,33,32,203,112,116,128,203,128,172,125,103,211,106,124,39,197,34,37,123,116,205,189,34,132,113,127,32,121,179 H,1273234,8,900,4,16,1015675,123,3,1,,,2,5,,,1,50,1,1,1,,1,,,,,,1,5,2,400,,1,3,,,0,1,9,8,4870,2,400,89,1,3,5420,0,2,2,2,1,3,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,118,200,171,205,122,34,119,175,132,132,226,156,39,33,31,127,116,138,31,157,140,188,221,223,135,41,102,166,149,120,174,108,35,51,38,100,132,123,223,111,120,39,44,41,148,189,106,33,122,135,35,109,163,237,172,116,171,90,317,172,112,34,40,34,166,163,111,34,96,142,48,154,232,161,202,99,124,133,40 H,1273713,8,600,4,16,1015675,75,1,1,1,,3,3,2,70,60,0,2,110,1,40,1,,,,,3,1,6,,,,1,2,,15,1,290,4,,,,,,1,6,48100,0,4,4,4,1,6,0,,0,0,0,10,0,0,0,1,1,1,409,,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,130,75,78,78,21,136,81,80,21,80,25,24,132,125,72,69,76,81,22,126,21,82,73,76,117,22,77,75,131,76,116,123,22,26,68,75,79,82,131,23,129,74,78,75,22,133,74,76,21,70,22,24,127,118,69,80,72,73,23,125,23,69,77,78,130,24,72,79,133,76,126,124,23,22,76,70,77,80,121 H,1273751,8,300,4,16,1015675,51,2,1,2,1,3,2,2,,90,0,2,3,6,430,1,,1,850,1,1,1,6,,,,1,1,,16,5,2,2,1,77000,4,,,1,1,77000,0,4,4,4,1,3,0,2,0,0,0,15,0,0,0,0,0,2,940,3,0,1,21,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,79,95,63,51,13,42,99,48,53,75,48,13,18,17,48,55,55,45,43,13,77,98,101,55,15,46,117,75,43,78,62,16,13,17,52,73,59,49,61,66,11,10,18,56,97,79,15,48,56,15,29,67,77,84,45,53,50,46,61,68,13,13,23,62,84,62,18,51,63,18,40,104,82,85,61,58,67,43,49,11 H,1273785,8,200,4,16,1015675,96,2,1,3,6,4,1,2,,90,0,2,3,6,450,1,0,,,,3,1,9,,,,1,2,,10,2,2,5,2,41000,4,,,1,1,41000,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,1,0,2,170,,0,0,12,1,7,3,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,162,102,90,209,93,28,48,35,104,77,77,116,111,191,173,138,107,36,96,26,140,80,113,192,88,22,34,31,89,97,90,90,93,137,131,130,84,24,89,122,31,105,98,32,103,154,169,183,88,91,99,93,103,31,26,28,96,133,90,156,30,87,105,42,98,162,172,147,94,98,75,75,112,27,28,31,87,160,93,24 H,1273962,8,100,4,16,1015675,12,1,1,,,2,4,,,150,0,2,170,1,550,1,,2,530,2,1,1,5,,,,1,1,,16,2,2,9,,,,,,1,4,7800,0,4,4,4,1,6,0,,0,0,0,101,0,0,0,1,1,2,996,3,0,0,24,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,10,12,12,15,8,13,11,1,20,9,18,12,4,12,3,16,10,2,19,20,11,10,10,12,10,3,12,18,3,13,3,12,19,8,20,4,10,19,3,3,8,8,10,10,10,19,10,3,20,17,13,6,3,14,4,20,12,2,17,18,12,11,8,11,14,4,10,22,4,9,4,13,20,10,15,2,8,22 H,1274084,8,100,4,16,1015675,26,1,1,1,,2,2,2,,170,0,2,2,1,600,1,,,,,3,1,6,,,,1,2,,18,1,570,6,,,,,,1,4,53000,0,4,4,4,1,6,0,,0,0,0,9,0,0,0,1,0,2,418,,0,1,30,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,43,25,28,37,24,61,8,10,22,23,28,45,27,7,23,8,8,45,31,22,7,33,30,6,25,8,41,35,25,22,22,7,20,34,23,45,45,7,24,29,47,29,28,41,20,43,8,8,21,34,25,44,25,7,27,7,10,49,28,28,6,24,33,8,23,7,41,37,24,22,20,9,24,41,25,45,42,5,27 H,1274155,8,200,4,16,1015675,58,1,1,1,,2,2,2,,20,0,2,100,1,440,1,,,,,3,1,3,,,,1,2,,14,2,680,9,,,,,,1,4,11000,0,4,4,4,1,7,0,,0,0,0,32,0,0,0,1,1,1,289,,0,1,20,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,52,17,57,26,63,58,16,50,97,17,14,78,57,53,114,54,119,80,44,18,63,116,65,96,50,51,87,56,14,94,129,17,66,62,24,78,22,51,58,18,48,104,45,86,48,60,111,70,21,122,75,17,65,62,15,67,21,59,60,109,49,15,74,15,57,51,19,67,106,17,15,91,62,98,92,48,84,62,60,99 H,1274339,8,300,4,16,1015675,96,1,1,1,,3,2,2,,30,0,2,180,1,1000,1,,1,1000,1,1,1,5,,,,1,1,,18,2,500,1,,,,,,1,4,31000,0,4,4,4,1,1,0,,0,0,0,48,0,0,0,0,0,1,1252,3,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,111,105,146,201,77,25,92,159,124,107,169,96,28,24,26,105,100,111,163,119,95,30,30,31,93,156,122,29,96,98,29,85,166,171,166,104,81,100,145,94,89,29,26,37,105,200,90,23,105,113,27,105,160,182,177,106,90,78,26,100,91,155,151,163,104,27,98,139,107,103,149,98,29,31,32,100,97,89,28 H,1274466,8,800,4,16,1015675,261,3,1,,,2,4,,,40,4700,2,3,3,,1,,,,,,1,5,2,320,,1,3,,,1,1,5,7,13200,3,360,33,1,3,13200,0,3,3,3,1,2,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,348,324,337,283,228,403,395,250,290,493,333,309,424,363,337,427,290,407,217,84,70,286,311,276,224,83,78,216,255,93,367,292,83,80,68,77,221,87,224,360,357,286,233,223,271,394,381,293,278,385,210,237,433,421,377,402,245,485,377,98,108,219,220,241,241,95,86,266,333,64,232,224,90,90,102,92,253,102,318,469 H,1274767,8,900,4,16,1015675,181,4,1,1,,2,2,2,,80,0,2,100,1,300,1,,1,620,1,1,1,4,,,,1,1,,12,3,530,5,7,14200,2,,,2,3,14800,0,2,2,2,1,4,1,3,0,1,1,68,3,0,1,0,0,2,844,3,0,1,14,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,213,170,91,235,198,168,204,78,203,58,232,219,159,155,90,206,303,190,69,171,181,300,204,55,80,123,197,146,162,178,176,266,249,253,137,57,223,325,200,48,250,196,52,192,197,149,242,60,209,79,306,249,198,199,66,163,282,182,101,206,167,227,148,62,87,101,215,257,166,215,166,218,217,257,183,68,178,248,239 H,1274916,8,900,4,16,1015675,81,1,1,1,,4,2,2,,20,0,2,90,1,450,1,,2,350,2,1,1,8,,,,1,1,,10,1,570,9,,,,,,1,6,27110,0,4,4,4,1,6,0,,0,0,0,27,0,0,0,0,0,1,601,3,0,1,15,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,87,24,94,75,66,22,77,19,148,90,149,96,73,65,122,134,23,78,60,95,164,90,149,137,24,88,26,82,87,28,79,21,128,159,90,73,86,23,31,116,80,24,86,84,96,23,78,25,165,78,123,65,66,100,124,131,30,62,92,99,129,93,128,154,30,67,25,75,69,23,87,24,153,146,87,69,68,30,30 H,1275047,8,200,4,16,1015675,60,2,1,1,,2,2,2,,50,0,2,20,1,490,1,,,,,3,1,5,,,,1,2,,14,3,700,9,4,76600,4,,,2,1,76600,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,2,1,1,268,,0,1,23,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,67,56,113,54,21,105,73,16,50,71,17,72,25,56,60,43,140,74,20,123,68,68,102,62,19,82,100,18,48,69,18,39,15,71,49,51,117,49,81,16,68,77,22,66,99,14,15,119,61,65,115,59,91,60,67,55,26,64,119,15,52,67,19,52,117,24,11,77,74,53,113,66,88,70,43,45,15,47,18 H,1275540,8,300,4,16,1015675,59,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,59,63,91,94,109,53,13,62,99,66,68,84,54,19,19,19,64,50,46,80,58,53,14,18,22,59,92,63,18,59,66,18,52,130,124,101,74,50,57,87,67,58,13,16,22,69,86,58,18,70,70,21,59,115,127,79,51,61,52,17,83,62,84,108,104,48,15,59,98,67,61,97,56,17,22,13,50,46,55,16 H,1275871,8,100,4,16,1015675,75,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,135,84,86,73,20,24,64,22,136,27,149,70,99,127,85,70,99,86,96,124,70,17,90,115,70,69,25,91,74,73,75,23,65,85,154,114,20,23,70,31,90,140,23,19,68,72,156,77,63,88,72,122,70,79,20,20,161,122,118,72,20,82,63,74,151,132,77,113,20,109,22,94,21,20,64,88,67,75,22 H,1276664,8,200,4,16,1015675,13,1,1,1,,3,2,2,,40,0,1400,120,1,,1,,,,,,1,6,,,,1,4,,,1,720,9,,,,,,1,4,33960,0,4,4,4,1,7,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,7,14,5,23,26,16,12,14,4,11,21,15,23,22,5,10,5,13,11,16,21,14,26,5,3,14,16,13,23,14,3,11,3,5,25,16,19,16,15,17,27,19,21,3,5,14,16,14,25,13,3,14,4,3,21,17,15,13,17,10,5,19,4,23,26,12,8,13,4,17,18,12,27,23,5,14,5,15,16 H,1276797,8,100,4,16,1015675,54,2,1,1,,3,2,2,,70,0,2,110,1,490,1,,1,750,1,1,1,7,,,210,1,1,,18,2,680,9,4,26100,4,,,1,1,26100,0,4,4,4,1,7,0,2,0,0,0,55,0,0,0,2,2,1,1197,1,0,1,23,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,19,15,48,14,52,49,90,54,87,50,93,62,66,13,55,57,20,94,91,48,56,60,91,50,16,86,49,99,57,12,60,15,81,51,16,19,61,59,57,109,14,15,51,15,56,45,95,46,93,57,93,58,64,19,52,49,13,88,95,61,61,56,81,49,15,82,61,117,58,23,56,13,80,55,17,13,49,48,52 H,1277128,8,700,4,16,1015675,119,4,1,1,,4,2,2,,160,0,2,200,1,350,1,,1,1300,1,1,1,9,,,,1,1,,20,2,400,2,2,235000,2,,,1,1,235000,0,2,2,2,1,3,2,4,0,0,2,9,0,0,1,0,0,1,1693,3,0,1,37,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,122,128,35,203,35,117,182,200,192,115,33,208,117,116,118,123,39,35,112,122,122,110,208,36,216,118,30,37,37,123,195,35,122,116,113,124,212,197,125,128,114,113,202,34,195,106,33,36,36,113,193,34,118,111,114,129,210,221,104,126,105,127,31,228,37,117,204,207,209,118,35,194,118,126,116,133,34,36,105 H,1277282,8,700,4,16,1015675,114,2,1,1,,3,2,2,,40,0,2,160,1,300,1,,1,1000,1,1,1,6,,,450,1,1,,18,2,20,3,1,64000,4,,,1,1,64000,0,4,4,4,1,4,0,2,0,0,0,31,0,0,0,1,0,1,1652,2,0,1,25,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,195,35,189,116,32,33,33,108,191,36,111,123,123,122,198,197,112,108,197,31,107,120,108,35,110,108,104,187,119,109,31,200,35,39,117,115,204,204,112,115,34,198,32,119,198,210,201,102,35,187,111,119,108,111,31,34,118,109,37,179,125,114,119,204,118,127,108,31,123,118,180,33,201,192,115,117,36,32,121 H,1277286,8,300,4,16,1015675,183,0,1,1,,1,2,2,,,,,,,,1,,,,,,1,6,,,,,,3,12,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,189,254,198,166,156,59,46,185,62,373,73,316,187,303,209,172,238,178,190,182,262,176,55,335,288,190,180,52,207,182,159,161,53,203,224,307,295,57,52,179,238,177,61,359,270,154,252,59,194,186,139,173,59,189,261,295,308,74,48,54,177,246,179,151,189,67,50,177,50,268,58,274,180,310,256,165,253,192,196,62 H,1277372,8,900,4,16,1015675,79,2,1,2,1,2,1,2,,60,0,2,150,2,520,1,0,1,700,1,1,1,4,,,,1,1,,15,2,240,5,1,77600,4,,,1,1,77600,0,4,4,4,1,1,0,2,0,0,0,14,0,0,0,0,0,2,930,3,0,0,16,2,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,78,48,65,100,144,136,134,66,35,54,174,54,77,135,92,38,23,20,75,217,74,84,84,62,22,31,39,108,154,81,28,65,49,19,58,96,127,158,94,129,79,51,64,80,26,31,23,63,147,53,26,69,114,33,83,152,131,124,91,29,97,61,67,84,138,200,252,90,31,80,150,75,60,101,48,17,32,24,73,46 H,1277456,8,600,4,16,1015675,117,5,1,1,,5,2,2,,150,0,2,200,1,4800,1,,1,2200,1,1,1,7,,,500,1,1,,21,3,1000,3,1,275000,1,,,1,1,275000,0,1,1,1,1,2,3,5,0,0,3,14,0,0,1,0,0,1,3133,2,0,1,66,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,133,215,35,195,122,115,109,114,119,125,35,204,110,118,196,202,132,116,114,111,203,109,121,112,185,36,36,36,33,183,122,117,41,201,106,122,193,32,33,33,121,216,36,214,125,116,111,123,107,120,34,187,106,114,204,201,125,130,117,117,197,122,119,113,199,35,35,37,35,194,118,113,36,177,116,122,191,32 H,1277684,8,200,4,16,1015675,122,2,1,1,,2,1,2,,80,0,2,3,3,,1,,,,,,1,4,2,270,,1,3,,,3,1,3,7,37100,4,350,11,1,3,37100,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,200,123,42,137,156,112,164,45,170,34,176,140,109,98,39,119,242,120,166,143,138,49,127,190,167,196,144,136,132,120,102,31,35,52,109,155,153,43,41,120,136,206,136,53,39,34,153,137,121,111,138,228,207,175,94,40,102,167,116,167,34,148,239,94,135,136,24,176,43,200,29,125,119,116,215,138,63,123,172 H,1277790,8,300,4,16,1015675,11,5,1,2,1,4,2,1,,180,0,2,3,3,680,1,,2,620,1,1,1,8,,,,1,1,,16,3,550,4,1,249500,2,,,1,1,249500,0,2,2,2,1,6,3,5,0,0,3,4,0,0,1,0,0,2,903,3,0,0,19,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,11,32,15,8,17,5,8,4,11,12,3,13,18,1,3,23,13,11,18,5,11,3,11,12,11,20,12,17,12,13,25,12,3,21,20,5,16,11,3,3,11,5,13,10,10,20,13,19,13,12,20,15,5,21,22,5,13,14,3,18,11,19,13,13,12,4,11,3,10,10,3,14,24,3,4,21,13,10,19,14 H,1277903,8,300,4,16,1015675,64,1,1,1,,5,2,2,,30,0,2,100,1,390,1,,1,730,1,1,1,8,,,,1,1,,14,1,620,7,,,,,,1,6,37960,0,4,4,4,1,3,0,,0,0,0,29,0,0,0,0,0,1,912,3,0,1,19,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,22,173,86,17,53,71,21,70,21,71,49,40,107,74,99,64,62,119,15,75,16,84,91,13,76,81,24,86,23,71,47,50,91,62,107,71,75,101,18,68,15,92,141,27,56,74,18,94,17,76,92,53,113,119,83,49,79,108,16,65,13,88,88,17,71,50,24,49,18,72,51,70,144,71,91,74,59,79,21 H,1278208,8,400,4,16,1015675,45,2,1,1,,2,2,2,,80,0,2,3,6,200,1,,,,,3,1,4,,,,1,2,,10,2,460,4,8,22190,4,,,1,3,22190,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,1,1,2,193,,0,1,16,1,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,46,10,44,59,64,92,56,60,43,39,47,16,11,12,53,105,55,11,48,14,49,74,36,13,15,16,39,41,57,43,36,82,99,71,43,14,51,73,48,78,52,15,66,95,65,77,42,41,52,35,35,12,17,21,49,64,59,14,31,12,40,61,39,16,10,12,59,47,51,52,49,80,64,70,64,16,37,75,49,69 H,1278375,8,800,4,16,1015675,250,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,255,407,76,231,260,75,249,248,82,271,224,233,77,426,400,414,444,68,314,241,327,433,82,252,208,80,207,245,74,229,239,240,78,380,484,410,414,81,260,245,250,69,435,195,241,440,270,252,462,264,238,261,427,65,82,74,80,413,233,244,288,85,405,221,254,492,289,242,378,284,252,249,360,70,80,70,76,387,275 H,1278379,8,500,4,16,1015675,206,6,1,,,1,6,,,50,0,2,40,1,,1,,,,,,1,3,2,320,,1,3,,,1,1,5,7,18000,3,410,16,1,3,31000,0,3,3,3,1,1,4,5,0,1,4,,3,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,205,189,212,193,323,196,178,68,62,395,302,63,171,321,68,62,263,187,325,201,231,201,233,212,55,231,209,340,335,56,61,303,232,89,332,309,203,211,74,235,273,194,250,220,59,239,257,422,330,58,61,341,204,59,327,319,182,191,70,183,205,196,187,194,383,218,215,72,63,325,339,55,211,279,53,57,217,213,304,226 H,1278563,8,200,4,16,1015675,75,1,1,,,2,5,,,100,10,2,3,3,,1,,,,,,1,4,2,180,,1,3,,,1,1,4,,,,280,93,1,4,3624,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,72,74,71,121,128,65,123,22,139,17,65,19,19,69,74,95,91,87,80,68,103,21,25,69,88,135,78,79,69,66,110,77,62,18,29,120,118,21,117,21,61,85,72,92,115,74,127,24,115,23,71,22,24,80,82,77,67,91,76,78,97,19,29,77,73,112,66,70,62,68,98,88,67,21,33,145,133,24,136 H,1278881,8,800,4,16,1015675,98,5,1,1,,3,3,2,,160,1900,2,3,3,,1,,,,,,1,6,2,450,,1,3,,,2,490,5,5,38400,4,651,18,1,2,42300,0,2,4,4,1,1,0,2,0,1,0,,2,0,1,0,0,2,,,1,0,,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,137,28,101,125,109,165,30,111,101,151,91,180,143,32,28,96,114,87,157,102,30,176,95,90,110,29,199,101,100,36,108,34,27,156,158,92,100,94,149,83,33,174,84,106,93,31,184,77,89,28,78,32,33,153,141,88,101,100,28,103,177,29,104,100,105,181,27,102,108,179,109,169,140,30,33,112,114,122,26 H,1278932,8,900,4,16,1015675,114,2,1,2,1,3,2,2,,70,0,2,3,3,300,1,,,,,3,1,6,,,,1,2,,18,3,300,5,2,22001,4,,,1,1,22001,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,2,1,220,,0,1,24,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,111,131,177,85,113,131,117,247,96,120,31,38,180,190,48,131,180,30,121,39,124,104,183,121,111,118,124,155,112,134,31,31,156,179,32,120,232,34,98,35,146,96,183,100,112,113,122,189,122,100,37,38,188,163,34,122,201,35,123,32,101,139,235,143,94,98,119,189,127,97,28,38,219,213,32,102,193,36,118 H,1278940,8,100,4,16,1015675,86,3,1,2,1,4,2,2,,100,0,2,200,2,500,1,,1,3000,1,1,1,7,,,,1,1,,24,2,650,2,3,102000,2,,,1,1,102000,0,2,2,2,1,2,1,3,0,0,1,39,0,0,1,0,0,1,3354,3,0,1,68,2,5,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,21,109,116,32,24,21,29,83,25,84,30,87,68,66,88,28,23,110,95,80,80,155,138,59,99,69,66,226,94,148,102,142,152,126,144,96,73,125,155,24,33,111,91,22,23,25,27,91,23,76,25,88,83,88,112,22,22,98,84,78,83,121,140,64,81,104,82,159,72,112,77,178,187,153,150,76,98,135,134,22 H,1279007,8,700,4,16,1015675,82,4,1,1,,3,2,2,,30,0,2,30,1,300,1,,1,780,1,1,1,5,,,400,1,1,,18,3,2,5,1,80000,3,,,1,1,80000,0,1,1,1,1,4,2,4,0,0,2,19,0,0,1,0,0,2,1240,2,0,1,25,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,81,77,132,65,25,25,22,85,89,82,90,89,120,137,143,82,23,76,117,25,80,74,22,75,138,139,149,86,83,83,89,92,24,22,27,80,139,90,148,22,83,92,24,91,134,134,138,84,84,72,78,75,21,24,23,72,144,96,25,122,80,85,147,83,24,25,24,87,84,76,80,81,134,146,130,73,26,72,22 H,1279251,8,800,4,16,1015675,38,0,1,,,3,5,,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,43,65,37,62,11,37,57,89,40,31,38,36,34,10,34,66,14,45,65,72,45,11,41,11,57,41,11,11,42,32,35,34,42,63,32,11,59,43,65,59,31,13,36,11,55,37,14,11,43,35,42,36,37,75,35,10,53,40,11,11,39,65,35,61,12,41,66,70,34,43,39,40,36,11,47,66,9,37,11 H,1279255,8,300,4,16,1015675,42,3,1,,,1,4,,,1,0,2,1,1,,1,,,,,,1,2,2,250,,1,3,,,1,1,9,2,14000,1,250,21,1,1,14000,0,1,1,1,1,2,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,79,56,11,11,69,41,11,97,77,44,50,15,42,53,42,40,16,37,43,45,90,86,12,13,65,46,12,62,71,36,38,16,46,37,54,45,13,44,33,46,10,14,73,60,16,55,77,12,10,46,39,74,47,35,42,50,65,40,43,58,11,12,75,73,11,35,66,13,16,40,36,74,38,40,41,46,85,49,42,31 H,1279614,8,100,4,16,1015675,29,1,1,1,,3,1,2,,110,0,2,70,1,650,1,0,1,300,1,1,1,5,,,,1,1,,18,0,130,4,,,,,,1,4,1800,0,4,4,4,1,3,0,,0,0,0,101,0,0,0,0,0,2,491,3,0,0,8,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,41,35,8,43,44,11,27,30,11,30,9,30,22,26,51,25,61,31,11,34,45,24,5,44,47,7,31,33,7,27,9,31,29,29,51,29,39,32,8,40,55,32,10,44,46,7,30,28,7,30,8,31,32,32,40,26,63,25,10,26,47,32,8,46,53,8,27,27,7,26,8,33,26,24,45,30,47,28,8 H,1279749,8,500,4,16,1015675,65,2,1,2,2,3,2,2,,70,0,400,2,3,380,1,,1,1500,1,1,1,7,,,,1,1,,20,4,2,3,1,139320,4,,,1,1,139320,0,4,4,4,1,5,0,2,0,0,0,14,0,0,0,0,0,1,1603,3,0,1,34,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,73,79,78,74,115,93,66,71,120,76,57,95,125,95,110,60,101,69,21,20,77,72,59,63,23,20,60,60,19,71,59,22,23,19,17,65,18,63,22,24,70,71,65,65,21,25,75,62,18,63,66,19,21,23,16,54,20,63,107,109,62,68,65,68,102,108,72,63,97,73,69,110,102,112,105,69,140,67,110 H,1279846,8,100,4,16,1015675,86,2,1,1,,3,2,2,,150,0,2,80,1,1200,1,,2,800,2,1,1,6,,,,1,1,,19,3,40,3,1,147000,4,,,1,1,147000,0,4,4,4,1,5,0,2,0,0,0,11,0,0,0,0,0,1,1383,3,0,1,42,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,156,23,86,86,154,155,171,88,89,25,158,83,27,82,90,87,82,29,27,90,91,96,190,26,74,87,86,122,28,85,77,137,94,137,128,22,29,99,93,133,24,155,108,75,27,25,23,81,85,119,24,98,122,86,103,83,89,127,159,92,84,76,25,163,82,90,94,23,183,93,92,29,83,20,25,176,154,89,87 H,1279978,8,700,4,16,1015675,74,2,1,,,3,4,,,160,0,2,3,3,,1,,,,,,1,5,2,600,,1,3,,,2,1,5,,,,760,41,1,7,22000,0,4,4,4,1,1,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,76,87,94,22,29,17,67,99,75,22,67,61,27,82,116,112,137,65,75,24,61,82,81,145,101,126,82,27,84,110,94,79,122,67,22,32,21,76,68,127,77,75,89,24,24,23,82,140,72,21,69,81,22,75,131,124,116,76,78,21,78,78,64,139,152,119,62,22,77,143,74,66,125,78,25,16,22,74,76,131 H,1280461,8,200,4,16,1015675,139,1,1,1,,2,1,1,,90,0,2,3,3,390,1,3900,2,230,2,1,1,5,,,,1,1,,8,1,760,5,,,,,,1,6,24500,0,4,4,4,1,5,0,,0,0,0,38,0,0,0,1,1,1,776,3,0,0,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,150,202,62,41,186,185,128,211,168,233,101,135,157,41,118,32,139,156,184,65,96,198,62,38,196,198,175,161,155,254,113,134,126,61,153,37,127,155,262,53,108,147,51,56,211,163,154,174,178,239,125,149,138,57,139,45,128,112,209,51,161,182,45,45,219,132,178,245,92,193,165,142,153,42,161,34,139,148,219 H,1280483,8,600,4,16,1015675,72,3,1,1,,3,2,2,,100,0,2,100,1,300,1,,1,140,1,1,1,5,,,,2,1,,15,2,230,5,1,36500,1,,,1,1,36500,0,1,1,1,1,3,1,3,0,0,1,12,0,0,1,0,0,1,359,3,0,1,21,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,21,73,70,77,125,66,20,77,22,22,136,80,124,72,67,118,71,115,21,74,21,74,81,70,126,71,22,75,20,22,117,72,119,65,88,121,64,114,22,72,122,63,76,82,21,71,124,72,117,128,23,65,20,77,77,19,77,21,110,76,115,85,68,75,23,77,133,64,123,113,20,71,21,76,73,20,68,24,115,70 H,1280533,8,900,4,16,1015675,160,3,1,1,,4,2,2,,60,0,2,180,1,370,1,,1,260,1,1,1,9,,,,1,1,,16,2,1800,5,1,64900,4,,,1,1,64900,0,4,4,4,1,6,0,3,0,0,0,12,0,0,0,2,2,1,650,3,0,1,31,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,52,50,147,46,150,58,169,206,141,173,41,49,145,156,61,157,137,44,170,170,239,134,241,155,283,172,282,238,288,282,137,143,268,220,153,280,286,169,216,271,262,239,173,288,151,254,185,123,154,132,304,319,150,167,328,213,149,241,173,146,147,172,59,204,41,139,43,43,43,43,134,141,48,50,202,53,55,189,51 H,1280939,8,200,4,16,1015675,22,2,1,1,,4,2,2,,70,0,2,3,3,450,1,,,,,3,1,7,,,,1,2,,13,2,540,5,4,9600,4,,,1,1,9600,0,4,4,4,1,7,0,2,0,0,0,29,0,0,0,2,2,2,228,,0,1,20,0,9,9,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,38,17,16,5,8,49,40,7,18,48,5,7,21,21,41,19,21,26,29,31,5,24,26,43,43,5,6,38,22,6,37,36,21,30,9,20,23,17,15,20,39,24,18,7,8,32,34,5,19,36,7,5,24,28,44,16,23,22,17,23,8,29,23,33,40,8,7,36,21,6,37,40,22,24,5,20,22,22,25,13 H,1281012,8,500,4,16,1015675,283,1,1,1,,3,2,2,,90,0,2,40,1,300,1,,1,850,1,1,1,5,,,160,2,1,,16,1,440,2,,,,,,1,6,20000,0,4,4,4,1,4,0,,0,0,0,71,0,0,0,0,0,2,1177,1,0,1,42,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,84,77,459,290,84,477,435,289,300,77,287,289,307,290,92,348,280,445,419,349,78,84,486,299,86,493,446,292,292,77,251,273,288,273,74,352,280,476,450,273,85,87,458,302,94,491,473,298,243,89,288,303,315,281,79,291,313,561,470,264,87,84,428,314,90,411,529,257,260,89,266,281,318,303,85,250,269,500,412,314 H,1281056,8,600,4,16,1015675,102,1,1,1,,3,2,2,,30,0,2,10,1,140,1,,1,710,1,1,1,7,,,150,1,1,,17,1,70,4,,,,,,1,6,30000,0,4,4,4,1,4,0,,0,0,0,36,0,0,0,1,0,1,906,2,0,1,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,29,105,98,108,162,98,179,100,106,176,101,30,167,179,31,102,101,29,93,182,167,94,105,106,27,108,31,99,99,29,103,191,32,30,175,92,104,173,100,32,29,104,102,96,179,106,159,96,97,176,95,30,166,170,32,104,104,30,104,168,178,110,99,101,28,97,32,93,101,30,94,168,32,30,179,107,101,185,107,29 H,1281947,8,200,4,16,1015675,64,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,119,64,56,58,22,113,60,61,25,71,21,18,104,111,77,60,56,62,108,19,97,72,72,56,17,108,63,64,20,59,18,21,101,115,66,60,64,63,118,20,128,73,73,61,17,111,58,55,24,72,19,21,112,94,64,72,59,52,112,17,118,65,62,57,17,103,55,56,21,68,16,19,121,102,68,62,65,60,123 H,1282715,8,200,4,16,1015675,72,4,1,1,,4,2,2,,120,0,800,3,4,350,1,,1,1000,1,1,1,8,,,,1,1,,15,3,40,6,7,23200,2,,,2,3,117200,0,2,2,2,1,1,2,3,0,1,2,12,4,0,1,0,0,1,1190,3,0,1,20,1,13,13,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,188,110,74,83,56,69,65,24,70,90,15,70,23,84,129,76,121,22,131,51,19,23,80,57,71,65,81,114,61,36,117,85,130,70,29,78,22,131,23,77,191,84,64,68,80,63,54,30,92,84,19,63,26,66,151,85,115,34,144,47,31,20,66,79,56,74,100,133,72,25,106,69,138,60,19,49,31,106,22 H,1282731,8,400,4,16,1015675,66,2,1,1,,3,2,2,,100,0,2,100,1,380,1,,2,450,2,1,1,6,,,,1,1,,13,2,490,5,4,50130,4,,,1,1,50130,0,4,4,4,1,6,0,2,0,0,0,20,0,0,0,2,2,1,815,3,0,1,23,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,57,57,88,61,79,70,65,128,74,63,18,20,95,114,20,75,150,22,60,20,79,70,135,78,62,62,73,144,66,53,18,24,107,89,19,82,128,15,67,175,83,66,22,61,70,78,63,21,64,65,128,111,23,23,117,74,22,132,59,132,49,68,27,59,61,66,56,15,50,73,132,96,15,20,80,46,17,120,61 H,1283288,8,700,4,16,1015675,84,3,1,1,,4,2,2,,40,0,2,20,1,400,1,,,,,3,1,8,,,,1,2,,18,2,50,1,2,36000,2,,,1,1,36000,0,2,2,2,1,2,1,3,0,0,1,7,0,0,1,0,0,1,214,,0,1,26,1,3,3,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,141,86,75,140,93,23,25,25,93,91,86,81,81,139,161,145,78,27,85,147,21,80,84,25,78,147,161,143,83,87,92,81,87,25,24,23,82,138,90,138,25,89,89,25,87,140,140,142,78,93,79,81,90,25,28,25,79,129,77,25,151,88,93,154,90,25,24,22,77,84,79,79,83,134,142,134,86,27,83,23 H,1283626,8,900,4,16,1015675,18,2,1,1,,2,2,2,,40,0,2,90,6,,1,,,,,,1,5,2,380,,1,3,,,2,650,8,1,37400,4,564,18,1,1,37400,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,30,32,5,20,42,5,3,25,20,29,16,17,17,18,28,13,16,22,33,27,6,6,26,23,7,30,23,17,22,7,23,21,13,13,5,14,18,18,30,37,6,7,39,20,5,38,30,16,17,5,22,17,19,18,5,24,19,17,6,5,31,26,7,17,26,5,5,19,13,26,17,19,17,20,39,15,20 H,1283774,8,800,4,16,1015675,51,6,1,1,,3,2,2,,100,0,2,3,3,390,1,,1,510,1,1,1,8,,,,1,1,,10,2,50,5,1,31000,3,,,1,1,31000,0,3,3,3,1,3,4,6,0,0,4,24,0,0,1,0,0,1,614,3,0,1,12,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,59,49,21,13,14,16,54,19,59,12,29,54,49,36,21,17,62,51,63,51,82,89,47,51,38,43,116,39,55,67,108,93,118,106,44,42,77,87,134,73,55,44,84,87,81,109,57,68,57,82,34,55,47,35,90,88,58,46,61,48,13,13,38,63,84,56,18,55,16,54,25,14,14,13,47,45,12,19,19 H,1284293,8,800,4,16,1015675,41,4,1,1,,1,2,2,,130,0,150,3,6,,1,,,,,,1,3,2,400,,1,3,,,1,2,2,2,30000,2,543,22,2,1,30000,0,3,3,3,2,3,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,14,45,43,31,37,66,89,98,62,28,12,53,55,25,47,81,43,10,9,12,9,56,41,37,35,64,82,75,69,34,14,48,60,34,50,61,29,14,11,61,66,41,36,39,31,38,13,17,10,25,74,50,10,41,50,8,36,108,63,62,78,35,33,37,50,52,14,17,11,27,65,50,14,28,41,15,46,72,66,9 H,1284528,8,300,4,16,1015675,52,2,1,,,2,5,,,80,0,2,3,3,,1,,,,,,1,4,2,690,,1,3,,,0,1,4,7,2400,2,770,101,5,3,2400,0,2,2,2,1,4,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,17,48,52,57,44,13,62,21,61,13,13,11,18,66,50,18,18,53,86,66,44,64,80,80,93,70,95,48,70,46,62,75,42,65,91,45,46,96,76,12,13,55,54,53,61,16,48,16,54,21,21,18,18,51,64,17,14,44,75,45,47,83,73,86,90,45,79,64,90,55,55,55,42,76,80,47,43,70,42 H,1284764,8,800,4,16,1015675,68,4,1,1,,4,2,2,,130,0,2,190,1,500,1,,1,950,1,1,1,6,,,,1,1,,15,4,90,2,1,80000,2,,,1,1,80000,0,2,2,2,1,2,1,4,0,0,1,19,0,0,1,0,0,1,1278,3,0,1,42,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,69,104,67,49,106,83,18,23,19,69,83,73,62,63,127,112,104,86,22,19,68,99,69,70,103,66,20,21,21,75,72,59,65,58,123,127,112,57,17,24,71,104,67,67,105,83,23,19,20,81,89,74,92,74,90,115,126,78,23,22,60,104,69,58,96,69,21,17,21,72,62,89,77,57,103,109,90,58,19 H,1284766,8,400,4,16,1015675,106,1,1,3,1,3,2,2,,90,0,2,3,3,400,1,,2,1000,2,1,1,5,,,,1,1,,14,2,2,3,,,,,,1,4,73400,0,4,4,4,1,5,0,,0,0,0,19,0,0,0,0,0,1,1173,3,0,0,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,156,124,126,135,131,150,122,88,44,18,213,166,27,98,167,37,55,147,126,97,57,138,54,95,73,26,116,90,204,228,28,32,129,102,39,106,113,154,90,104,32,121,122,121,95,25,173,105,195,115,23,28,153,117,27,187,262,97,119,85,193,134,83,91,124,195,100,88,35,31,153,223,35,82,271,24,20,157,86 H,1286109,8,500,4,16,1015675,118,1,1,,,1,6,,,30,0,2,10,1,,1,,,,,,1,3,2,530,,1,3,,,1,1,2,,,,570,21,1,6,33000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,209,39,204,220,115,123,34,41,194,128,113,107,191,124,112,109,34,129,115,35,178,37,191,203,118,103,32,32,211,123,101,127,216,139,128,129,31,109,125,205,34,199,33,38,116,115,232,266,30,102,126,118,30,135,143,118,194,111,104,225,34,184,32,32,127,135,249,203,29,104,121,115,35,118,138,121,184,106,103,34 H,1286426,8,300,4,16,1015675,18,7,1,2,1,5,2,2,,110,0,2,3,3,800,1,,1,630,1,1,1,9,,,,1,1,,15,4,2,4,2,74554,3,,,1,1,74554,0,3,3,3,1,5,5,7,0,0,5,12,0,0,1,0,0,2,740,3,0,1,23,3,5,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,15,30,6,7,38,18,23,31,21,29,19,19,19,5,15,6,16,16,35,7,16,33,5,6,32,16,19,31,21,31,17,21,18,5,16,5,19,17,28,5,20,29,5,5,30,18,18,29,16,31,18,18,18,7,22,5,20,21,38,5,16,29,5,5,35,21,18,32,17,34,16,24,18,4,17,6,21,21,35 H,1286711,8,200,4,16,1015675,34,2,1,2,1,3,2,2,,40,0,1000,3,4,580,1,,,,,3,1,5,,,,1,2,,16,2,420,8,3,42000,4,,,1,1,42000,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,1,1,2,248,,0,1,12,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,9,10,32,47,67,34,36,38,42,42,32,36,10,10,61,63,10,38,32,49,10,10,35,41,57,36,35,32,35,76,47,31,10,13,82,83,11,30,30,65,10,10,39,44,62,29,30,34,37,69,43,34,11,12,47,61,10,29,40,66,17,10,33,30,63,36,34,42,28,48,30,29,12,9,64,76,12,32,25 H,1286790,8,500,4,16,1015675,269,3,1,1,,2,2,2,,100,0,2,80,1,,1,,,,,,1,5,2,700,,1,3,,,2,1,9,1,41600,1,880,25,1,1,41600,0,1,1,1,1,1,1,3,0,0,1,,0,0,1,0,0,2,,,1,0,,2,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,86,399,437,80,79,250,89,308,265,470,234,468,262,395,312,283,98,242,237,71,281,232,273,274,267,103,275,423,76,242,72,260,455,316,454,92,287,481,511,284,75,434,526,84,79,325,88,254,246,425,249,447,262,537,271,291,80,259,314,82,257,295,252,253,283,81,265,477,74,247,75,273,501,225,410,77,290,445,444,277 H,1286961,8,300,4,16,1015675,73,2,1,1,,2,1,2,,110,0,2,3,3,130,1,2300,2,180,2,1,1,4,,,,2,1,,4,2,1,3,1,18200,4,,,1,1,18200,0,4,4,4,1,1,0,2,0,0,0,34,0,0,0,0,0,1,510,3,0,0,6,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,85,110,75,82,20,26,132,96,21,97,102,16,27,116,73,109,82,85,64,89,57,26,71,68,155,120,22,18,120,70,16,163,141,82,79,26,65,78,61,73,55,127,71,92,25,22,151,122,16,90,134,20,25,109,59,115,83,76,58,87,57,19,95,78,143,108,30,24,127,86,20,143,153,69,81,22,69,60,58 H,1287036,8,100,4,16,1015675,293,1,1,1,,3,2,2,,50,0,600,3,4,,1,,,,,,1,6,2,800,,1,3,,,2,520,9,,,,943,25,1,4,45000,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,85,304,329,357,346,101,334,287,529,522,78,98,510,246,86,386,386,339,306,334,103,337,303,310,302,79,245,250,448,451,95,91,435,303,94,448,446,341,269,368,485,306,334,222,268,463,308,337,99,76,534,423,78,331,517,91,84,310,348,338,447,338,245,298,332,419,381,294,84,94,472,504,92,310,425,84,96,259,269,281 H,1287124,8,700,4,16,1015675,84,2,1,1,,3,2,2,,100,0,2,340,1,520,1,,,,,3,1,9,,,,1,2,,22,2,780,3,1,258000,4,,,1,1,258000,0,4,4,4,1,4,0,2,0,0,0,5,0,0,0,2,1,1,1090,,0,1,64,2,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,149,155,83,77,137,85,84,137,131,152,139,91,141,75,144,95,81,77,31,82,22,24,84,72,29,82,79,22,22,23,25,81,26,94,25,83,78,90,25,82,27,27,85,84,24,89,89,27,26,25,28,81,20,80,23,80,78,77,154,82,139,130,87,83,138,81,80,141,157,137,135,82,159,83,144,81,90,82,127 H,1287205,8,300,4,16,1015675,73,4,1,1,,4,2,1,,140,0,2,140,1,100,1,,2,770,2,1,1,7,,,150,1,1,,14,3,200,7,1,70000,3,,,1,1,70000,0,3,3,3,1,4,2,4,0,0,2,23,0,0,1,0,0,1,1325,2,0,0,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,91,19,82,89,94,23,136,128,88,90,22,24,120,65,93,75,112,83,86,117,139,76,21,136,74,71,74,61,17,16,66,65,78,25,131,18,65,139,148,75,71,144,70,69,23,159,25,18,83,75,137,139,20,77,78,60,21,75,85,23,21,85,104,22,61,81,79,72,146,123,79,74,65,148,21,112,67,21,22 H,1287215,8,300,4,16,1015675,134,2,1,1,,2,2,2,,70,0,2,90,1,260,1,,,,,3,1,5,,,,1,2,,10,3,240,6,4,59300,4,,,1,1,59300,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,2,0,1,281,,0,1,21,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,148,257,40,136,116,140,39,142,302,133,39,39,142,136,31,240,147,229,129,36,125,42,286,139,128,120,243,145,46,128,225,201,112,132,220,41,125,37,141,239,153,211,49,137,151,136,41,158,239,147,45,40,140,119,36,241,126,207,140,34,129,40,226,144,130,113,223,161,48,128,232,193,120,122,200,39,147,33,117 H,1287300,8,300,4,16,1015675,37,3,1,2,1,5,2,2,,80,0,2,40,1,400,1,,,,,3,1,9,,,,1,2,,19,5,2,6,3,50700,4,,,1,1,50700,0,4,4,4,1,7,0,3,0,0,0,6,0,0,0,2,2,2,245,,0,1,23,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,14,11,38,33,61,33,33,46,51,45,34,33,12,10,54,66,8,43,37,59,10,10,33,34,71,41,38,52,43,56,31,36,10,8,55,44,13,59,47,14,64,57,28,31,10,39,53,52,38,14,41,23,53,80,8,10,65,46,44,14,57,43,32,36,12,37,30,38,48,13,38,40,58,64,8,10,53,33,48 H,1287367,8,800,4,16,1015675,88,5,1,1,,3,2,2,,300,0,2,3,3,,1,,,,,,1,5,2,500,,1,3,,,1,600,5,2,26000,3,850,39,2,1,26000,0,3,3,3,2,4,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,1,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,148,119,94,162,56,24,146,110,26,105,71,26,95,33,87,92,94,161,89,144,25,82,77,24,117,153,19,27,163,90,84,147,111,150,92,97,79,33,98,26,133,82,97,155,89,38,116,109,35,89,64,41,94,25,91,75,90,160,95,180,28,114,91,24,80,127,27,39,129,71,105,136,72,153,82,92,114,29,94,37 H,1287827,8,200,4,16,1015675,55,2,1,2,1,3,2,2,,50,0,2,4,1,500,1,,,,,3,1,5,,,,2,2,,14,1,190,7,4,34400,4,,,1,1,34400,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,249,,0,1,28,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,114,93,51,68,56,71,48,19,58,124,17,63,19,51,94,62,112,18,84,55,15,16,56,52,61,59,52,97,34,15,74,43,108,56,19,41,15,94,119,55,17,15,60,64,48,56,51,99,64,17,99,54,73,55,13,57,20,90,17,60,90,99,66,47,69,65,44,17,54,103,15,52,19,58,95,48,100,15,26 H,1287899,8,100,4,16,1015675,48,6,1,,,3,4,,,40,7500,2,40,1,,1,,,,,,1,6,2,500,,1,3,,,1,1,4,7,6800,3,580,101,1,3,6800,0,3,3,3,1,3,5,6,0,0,5,,0,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,17,63,40,73,70,14,19,60,48,13,67,79,51,41,15,47,41,38,49,50,16,42,38,84,93,19,16,78,47,15,65,80,44,41,17,48,59,56,45,43,61,39,51,13,13,61,89,13,42,67,19,16,47,58,74,63,52,40,54,40,71,41,41,17,15,84,69,18,60,95,15,14,61,46,64,38,56,56,45 H,1287983,8,100,4,16,1015675,27,1,1,1,,4,2,2,,220,0,2,2,1,340,1,,,,,3,1,7,,,,1,2,,10,1,370,6,,,,,,1,4,62000,0,4,4,4,1,7,0,,0,0,0,11,0,0,0,0,0,1,546,,0,1,44,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,25,52,29,24,38,25,42,7,9,27,20,25,44,28,9,34,12,8,46,22,22,47,25,25,49,26,44,7,9,21,27,27,44,31,7,27,7,7,46,31,21,8,32,27,5,27,8,42,45,26,20,26,9,33,54,32,51,41,8,29,24,7,19,30,7,23,8,48,47,23,26,20,7,29,48,33,43,46,8,43 H,1287985,8,300,4,16,1015675,46,5,1,1,,5,2,2,,80,0,2,160,1,700,1,,1,1200,1,1,1,9,,,,1,1,,17,2,720,4,2,72700,2,,,1,1,72700,0,2,2,2,1,3,3,5,0,0,3,25,0,0,1,0,0,2,1500,3,0,1,32,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,34,46,18,41,16,36,33,12,48,84,18,16,76,47,41,67,48,74,81,40,42,48,18,42,13,48,41,14,46,74,11,15,104,48,65,94,37,82,13,36,46,47,71,52,72,41,51,83,40,11,66,71,17,43,52,15,41,17,13,53,39,45,88,48,101,39,44,91,50,15,88,74,12,43,42,13,62,13,58 H,1288171,8,800,4,16,1015675,78,1,1,1,,3,2,2,,180,0,2,3,3,380,1,,,,,3,1,5,,,,1,2,,9,0,900,6,,,,,,1,6,-9999,0,4,4,4,1,5,0,,0,0,0,,0,0,0,0,0,1,333,,0,1,12,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,146,83,122,79,90,91,26,87,19,88,88,20,69,143,22,23,119,72,21,65,28,74,23,75,69,77,126,100,158,72,66,115,68,22,127,127,23,65,16,78,24,83,20,79,79,90,149,73,163,72,71,110,74,25,136,136,18,75,152,74,180,84,109,85,72,65,23,86,24,70,78,28,78,107,19,24,145,67,123 H,1288269,8,800,4,16,1015675,64,2,1,2,1,3,2,1,,110,0,2,3,3,410,1,,1,800,1,1,1,5,,,,1,1,,16,4,240,8,2,50800,4,,,2,1,50800,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,2,2,2,930,3,0,0,28,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,153,44,44,104,19,15,86,16,142,20,110,78,65,81,51,61,45,51,37,27,43,169,36,20,77,85,89,60,43,55,83,96,104,66,22,22,80,155,67,68,13,97,102,42,100,96,52,89,14,105,17,60,38,20,98,78,75,95,67,127,88,12,80,148,54,57,38,76,106,56,83,24,55,77,85,123,15,17,37 H,1288570,8,500,4,16,1015675,122,2,1,1,,3,2,2,,2,0,2,20,1,270,1,,1,1000,1,1,1,5,,,,1,1,,16,2,2,2,1,28600,4,,,1,1,28600,0,4,4,4,1,1,0,2,0,0,0,43,0,0,0,1,1,1,1020,3,0,1,25,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,217,220,181,111,117,120,119,140,33,41,37,136,228,110,33,117,101,35,43,146,38,37,41,122,133,133,137,113,193,189,174,140,33,114,223,107,111,195,238,124,214,187,244,108,126,135,88,98,38,32,34,124,191,125,37,113,128,36,34,123,42,40,41,106,124,132,135,118,228,214,236,123,40,95,195,126,123,191,206 H,1288811,8,100,4,16,1015675,224,2,1,1,,2,2,2,,80,0,2,2,1,500,1,,1,1200,1,1,1,6,,,,1,1,,18,2,480,5,5,72000,4,,,1,2,72000,0,4,4,4,1,1,0,2,0,0,0,22,0,0,0,0,0,2,1320,3,0,1,24,2,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,69,249,342,359,254,76,353,68,238,210,207,222,217,225,373,69,226,227,224,225,195,382,202,245,341,224,236,242,415,66,76,72,78,353,233,237,66,385,337,71,70,214,349,359,263,78,344,75,206,189,229,234,231,213,411,73,219,254,264,202,226,363,227,204,327,234,264,216,372,72,72,82,73,344,212,225,70,324,349 H,1290229,8,800,4,16,1015675,123,2,1,1,,3,1,2,,20,0,2,20,1,330,1,3900,2,260,2,1,1,5,,,,1,1,,4,1,2,5,4,15500,4,,,1,1,15500,0,4,4,4,1,1,0,2,0,0,0,52,0,0,0,2,2,1,667,3,0,0,5,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,34,117,36,243,105,106,127,195,107,46,120,244,212,126,150,170,27,106,134,43,40,104,34,246,105,104,141,210,112,41,159,239,174,109,130,221,31,126,97,36,34,131,34,179,139,158,100,215,138,36,121,177,219,143,105,223,39,135,97,28,47,134,35,238,122,114,121,235,116,37,156,163,191,106,127,207,33,162,147 H,1290394,8,800,4,16,1015675,396,2,1,1,,3,2,2,,200,0,2,3,3,,1,,,,,,1,6,2,800,,1,3,,,2,2,6,,,,1000,60,1,7,20000,0,4,4,4,1,3,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,560,385,386,565,415,371,663,482,533,482,415,543,516,572,409,413,441,383,521,131,229,511,313,155,460,445,148,147,131,117,438,130,389,116,329,463,403,465,147,115,136,400,400,145,390,320,98,151,162,164,331,163,326,166,457,357,362,391,154,531,485,386,448,570,374,390,566,648,533,727,373,558,502,570,443,429,449,491,749,622 H,1290439,8,200,4,16,1015675,19,2,1,1,,1,2,2,,50,40,70,20,4,0,1,,,,,3,1,2,,,,1,2,,1,1,250,6,6,9200,1,,,1,2,9200,0,1,1,1,1,6,1,2,0,0,1,16,0,0,1,0,0,1,122,,0,1,8,1,11,12,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,18,15,40,22,17,7,7,27,30,7,18,30,6,5,17,17,32,20,21,25,15,15,6,20,19,32,32,5,5,27,19,5,33,36,17,14,7,26,21,20,22,20,4,16,19,32,30,6,4,26,21,5,27,26,19,20,5,18,16,20,22,20,29,19,20,5,6,27,32,5,15,35,7,7,21,19,30,20,18,16 H,1290603,8,300,4,16,1015675,124,5,1,1,,4,2,2,,50,0,2,50,1,270,1,,1,870,1,1,1,7,,,,1,1,,14,2,320,2,2,50000,1,,,1,1,50000,0,1,1,1,1,3,2,5,0,0,2,24,0,0,1,0,0,1,997,3,0,1,17,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,119,279,194,102,159,226,123,103,211,203,187,214,133,215,141,185,108,130,127,35,163,35,45,113,119,36,120,157,34,41,36,36,146,32,121,35,131,94,119,168,107,225,227,120,158,217,119,121,176,183,231,190,139,237,121,246,144,135,108,31,117,37,35,127,119,32,118,132,30,44,38,32,144,37,121,56,137,118,112,232 H,1290809,8,600,4,16,1015675,78,2,1,1,,3,2,2,,90,0,2,110,1,500,1,,2,1100,1,1,1,8,,,,1,1,,18,3,960,7,2,105000,4,,,1,1,105000,0,4,4,4,1,2,0,2,0,0,0,16,0,0,0,0,0,1,1422,3,0,1,28,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,78,23,141,69,84,23,74,82,140,72,79,23,120,137,79,123,79,21,72,23,23,79,76,24,130,78,146,135,80,126,24,84,75,80,25,73,133,82,21,77,79,24,130,80,77,22,80,83,133,75,81,23,123,123,77,133,81,27,79,23,21,73,76,22,142,80,126,148,80,134,26,84,77,79,21,75,141,74,22 H,1290873,8,700,4,16,1015675,27,3,1,1,,3,2,2,,80,0,2,60,1,,1,,,,,,1,5,2,880,,1,3,,,2,550,3,1,53710,2,1066,24,1,1,53710,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,24,45,45,7,10,30,26,25,33,43,9,27,28,28,43,8,28,30,42,8,25,8,7,48,43,28,30,29,30,8,51,29,26,28,8,48,29,31,49,8,31,8,9,44,44,27,27,30,26,8,49,30,26,25,8,45,26,29,8,51,28,49,51,8,9,28,28,28,25,44,8,30,26,24,42,8,29,24,8 H,1290942,8,100,4,16,1015675,103,1,1,2,1,4,1,2,,80,0,2,3,3,900,1,430,1,510,1,1,1,6,,,,1,1,,16,2,2,3,,,,,,1,4,40000,0,4,4,4,1,3,0,,0,0,0,19,0,0,0,0,0,2,626,3,0,0,24,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,91,128,98,189,178,39,30,122,106,95,126,174,39,147,106,102,171,30,152,144,133,32,89,42,31,154,155,97,115,134,99,23,184,113,91,74,29,197,157,103,81,25,110,42,25,166,241,149,118,102,87,29,168,151,116,104,34,150,44,86,87,188,108,155,156,35,23,81,112,153,134,155,29,115,113,92,139,31,24 H,1291077,8,300,4,16,1015675,283,1,1,,,2,7,,,60,0,2,3,3,,1,,,,,,1,4,2,460,,2,3,,,1,1,6,,,,520,27,1,6,23000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,265,95,328,88,298,363,420,409,261,111,449,301,278,280,275,73,82,297,330,317,262,447,89,576,281,104,92,83,292,428,97,305,318,269,309,476,432,293,302,317,259,84,567,92,284,418,472,496,297,86,434,396,272,226,372,95,98,261,250,243,287,367,114,383,235,101,95,77,241,437,111,309,270,313,340,428,409,295,301,319 H,1291561,8,700,4,16,1015675,82,2,1,2,1,3,2,2,,50,0,2,140,1,670,1,,1,1900,1,1,1,9,,,300,1,1,,22,2,620,2,2,175000,4,,,1,1,175000,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,2,0,1,2442,2,0,1,63,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,24,25,73,81,144,91,87,80,80,147,82,79,24,29,148,147,23,76,83,138,24,22,84,81,127,80,80,78,87,143,78,76,23,25,146,143,25,85,71,25,152,153,84,80,26,81,82,83,91,23,86,83,132,126,22,26,139,80,83,26,136,140,82,77,23,88,86,85,84,24,78,91,150,132,25,23,144,85,94 H,1291741,8,700,4,16,1015675,139,5,1,1,,5,2,2,,70,0,2,60,1,400,1,,1,1300,1,1,1,9,,,,1,1,,17,2,480,2,2,32000,2,,,1,1,32000,0,3,3,3,1,3,3,5,0,0,3,55,0,0,1,0,0,1,1470,3,0,1,33,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,280,41,242,142,37,40,42,132,245,44,115,126,132,120,264,254,129,133,146,123,45,228,45,133,262,252,228,147,41,243,139,129,132,134,44,42,135,124,146,140,232,38,269,132,43,39,39,132,250,40,136,144,147,131,227,217,153,152,151,151,40,248,40,144,233,239,229,127,41,218,136,138,156,139,36,42,151,154,113,162 H,1291910,8,300,4,16,1015675,39,0,1,3,,2,2,1,,,,,,,,2,,,,,,2,7,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,42,47,35,34,64,62,68,43,13,36,68,39,32,82,46,12,11,13,46,73,43,36,41,46,15,12,9,33,78,48,12,43,41,12,40,62,67,59,32,14,47,40,44,39,58,55,67,33,10,41,74,50,48,59,41,12,11,13,36,64,33,47,35,37,14,13,13,48,65,32,12,31,32,16,46,89,68,74,41,14 H,1292014,8,300,4,16,1015675,52,2,1,1,,2,1,2,,60,0,2,100,2,,1,,,,,,1,3,2,250,,2,3,,,2,2,5,,,,410,14,1,7,35800,0,4,4,4,1,2,0,,0,1,0,,3,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,55,57,73,14,87,87,44,44,15,16,81,50,57,54,78,49,59,60,16,81,44,57,16,115,13,18,51,43,84,72,16,52,59,55,14,53,52,53,90,107,54,54,14,97,19,17,63,55,90,92,15,54,59,49,16,49,50,44,76,12,54,50,97,11,79,90,52,54,14,15,104,51,50,50,98,50,48,46,15,18 H,1292019,8,600,4,16,1015675,122,2,1,1,,3,2,2,,30,0,2,180,1,350,1,,1,850,1,1,1,6,,,,1,1,,16,2,420,4,1,68820,4,,,1,1,68820,0,4,4,4,1,4,0,2,0,0,0,19,0,0,0,0,0,1,1095,3,0,1,31,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,125,36,32,37,116,104,110,118,118,203,198,220,122,33,108,203,132,127,219,31,123,223,204,185,127,123,129,112,123,37,37,41,132,219,136,31,113,129,215,36,121,217,234,215,118,136,121,125,138,36,35,33,111,230,130,34,107,112,35,202,117,35,37,38,117,111,115,118,126,217,183,181,115,35,113,209,123,115,32 H,1292086,8,400,4,16,1015675,119,1,1,1,,3,2,2,,80,0,450,190,2,400,1,,2,560,2,1,1,6,,,,1,1,,17,1,600,8,,,,,,1,6,32000,0,4,4,4,1,3,0,,0,0,0,39,0,0,0,0,0,2,1034,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,221,107,173,114,113,112,36,110,33,135,131,40,118,170,32,35,207,125,222,137,170,128,221,118,141,105,32,106,40,122,117,40,103,211,37,37,196,121,193,92,164,125,170,118,128,122,36,87,43,120,122,43,143,202,35,29,183,131,194,118,162,156,256,104,143,130,38,117,33,137,98,36,122,183,42,39,176,118,216 H,1292281,8,700,4,16,1015675,74,5,1,1,,4,2,2,,140,0,2,40,1,550,1,,1,1800,1,1,1,8,,,,1,1,,22,2,550,2,2,165000,3,,,1,1,165000,0,3,3,3,1,3,3,5,0,0,3,15,0,0,1,0,0,2,2026,3,0,1,42,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,118,73,78,22,73,77,72,76,22,67,80,126,120,20,20,114,70,22,73,120,117,72,74,20,76,72,73,75,23,77,72,133,121,19,19,119,81,20,69,22,24,70,70,125,70,69,68,70,133,69,74,22,22,123,126,23,67,131,74,22,21,66,74,118,67,78,73,68,118,69,76,23,22,128,118,22,80,119,69 H,1292521,8,100,4,16,1015675,32,1,1,1,,2,2,2,,50,240,2,50,1,,1,,,,,,1,4,,,,1,4,,,1,480,7,,,,,,1,6,7920,0,4,4,4,1,7,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,29,47,55,63,32,10,32,50,29,47,54,32,10,8,10,32,25,39,9,28,32,59,49,52,28,8,34,48,28,32,57,35,10,12,10,28,34,33,82,44,29,8,9,10,37,62,35,10,29,47,11,25,50,42,51,34,25,33,59,24,38,10,9,10,32,49,34,7,27,33,10,35,69,49,47,31,40,32,12 H,1292695,8,500,4,16,1015675,51,1,1,1,,3,2,2,,60,0,2,40,1,300,1,,1,750,1,1,1,4,,,,1,1,,16,3,400,3,,,,,,1,6,42000,0,4,4,4,1,4,0,,0,0,0,25,0,0,0,0,0,2,883,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,15,79,71,16,14,65,55,51,55,51,88,53,17,82,42,77,50,14,85,49,13,78,49,15,15,62,47,51,58,45,99,45,17,86,54,102,47,18,84,52,15,91,52,14,17,59,56,47,47,48,82,50,15,95,54,89,53,13,103,52,14,87,47,13,17,60,59,48,47,51,92,55,14,101,49,74,46,17,94 H,1292952,8,900,4,16,1015675,58,4,1,,,2,5,,,50,900,2,3,3,,1,,,,,,1,4,2,400,,2,3,,,1,2,6,1,11400,2,450,47,1,1,11400,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,5,1,0,0,1,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,105,52,63,58,20,63,52,100,22,89,95,63,67,16,17,94,54,55,52,55,62,100,103,108,60,20,108,57,58,52,56,18,18,53,50,51,16,96,17,20,104,49,66,60,17,59,53,108,20,102,106,60,53,17,22,114,49,56,50,50,55,94,103,88,65,20,105,61,64,59,57,20,20,54,49,51,15,98,13,18 H,1293449,8,600,4,16,1015675,82,2,1,1,,2,2,2,,90,0,1400,50,2,900,1,,,,,3,1,5,,,,2,2,,20,1,720,3,,,,,,1,5,84100,0,4,4,4,1,5,0,,0,1,0,9,2,0,0,1,0,1,617,,0,1,39,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,26,83,86,23,81,83,21,79,80,78,23,150,157,144,135,26,84,76,80,25,132,77,85,146,85,83,122,81,85,85,140,25,25,24,23,145,81,83,85,140,23,81,85,23,84,79,24,83,79,76,25,128,147,140,135,28,86,83,72,25,132,80,73,149,87,84,132,84,85,77,142,24,25,26,23,142,75,92,80 H,1294124,8,900,4,16,1015675,81,2,1,1,,4,2,2,,80,0,2,70,1,370,1,,1,350,1,1,1,9,,,,1,1,,16,3,890,5,1,123800,4,,,1,1,123800,0,4,4,4,1,6,0,2,0,0,0,6,0,0,0,0,0,1,574,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,74,84,23,27,125,117,27,95,127,25,23,74,71,136,70,89,78,75,81,23,84,81,136,134,26,28,130,79,25,127,161,74,90,22,76,87,67,85,72,128,69,98,26,24,154,114,27,94,150,24,24,70,82,158,78,73,83,70,60,25,78,88,133,144,23,23,147,76,26,155,161,101,80,20,79,88,75,67,99 H,1294184,8,200,4,16,1015675,24,5,1,1,,5,2,2,,190,0,840,3,8,110,1,,2,420,2,1,1,7,,,,1,1,,4,4,200,9,1,80530,2,,,2,1,83530,0,2,2,2,1,5,1,4,0,1,1,10,0,0,1,0,0,1,727,3,0,1,7,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,24,23,28,40,25,19,7,8,36,45,7,24,57,9,7,24,21,40,25,23,27,23,21,41,26,27,7,8,43,37,7,24,50,7,7,27,28,40,27,26,29,22,20,7,24,25,38,40,7,9,43,26,9,40,47,26,20,6,28,27,22,25,33,7,19,31,55,32,7,6,42,31,5,40,42,25,24,9,31 H,1294270,8,700,4,16,1015675,81,2,1,1,,4,2,2,,50,0,2,60,1,540,1,,1,1200,1,1,1,7,,,,1,1,,20,2,460,1,2,50800,4,,,1,1,50800,0,4,4,4,1,1,0,2,0,0,0,32,0,0,0,0,0,1,1348,3,0,1,40,2,2,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,79,22,77,133,88,137,23,72,160,128,76,83,87,88,72,23,83,133,131,132,71,142,79,25,76,22,135,78,27,23,89,87,77,84,86,144,77,25,148,143,87,133,82,22,73,26,135,83,20,24,81,80,81,80,76,138,77,24,25,23,91,24,80,137,82,160,22,78,139,132,83,83,79,74,84,24,80,131,24 H,1294378,8,200,4,16,1015675,81,0,1,1,,1,1,2,,,,,,,,1,,,,,,1,3,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,133,86,66,22,27,141,134,25,68,158,24,24,84,73,131,85,83,92,82,76,26,70,85,136,141,23,22,126,74,29,127,130,85,78,28,80,79,87,89,88,22,77,83,128,145,26,26,158,64,29,132,143,87,84,28,72,78,86,74,79,130,65,91,24,20,161,124,20,76,115,25,20,77,84,148,97,82,88,89,88 H,1294464,8,100,4,16,1015675,306,1,1,1,,4,2,2,,1,0,2,1,1,,1,,,,,,1,7,,,,1,4,,,1,1,8,,,,,,1,4,10000,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,172,526,282,91,393,493,286,325,137,267,310,342,229,109,305,255,514,432,362,382,500,133,380,353,82,105,298,322,546,337,260,266,354,487,299,275,126,96,250,550,456,97,326,417,89,126,302,286,463,295,295,336,226,390,430,369,120,139,305,134,104,426,385,73,413,401,309,320,104,352,250,294,294,109,364,359,536,396,367 H,1294578,8,800,4,16,1015675,85,2,1,2,1,3,2,2,,90,0,2,220,1,800,1,,1,1100,1,1,1,4,,,,1,1,,20,2,2,2,1,56600,4,,,1,1,56600,0,4,4,4,1,3,0,2,0,0,0,30,0,0,0,1,0,1,1410,3,0,1,9,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,96,80,25,29,24,77,137,92,24,84,98,23,80,161,118,139,93,88,142,81,86,84,24,25,22,85,157,81,28,91,81,22,82,144,132,158,75,89,190,92,87,92,32,23,24,75,153,78,26,85,89,27,101,118,158,146,90,80,129,73,77,97,22,21,24,80,116,78,24,84,90,26,89,126,142,128,85,91,138 H,1294942,8,600,4,16,1015675,105,4,1,1,,3,2,2,,50,0,2,30,1,450,1,,1,1000,1,1,1,6,,,,1,1,,16,2,400,4,3,50000,2,,,3,1,50000,0,3,3,3,1,3,2,4,0,0,2,27,0,0,1,0,0,1,1113,3,0,1,26,1,3,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,171,112,191,114,110,171,116,29,191,188,32,110,105,30,104,32,106,191,106,112,30,113,32,102,99,30,110,166,28,29,171,99,107,205,100,169,103,30,99,108,182,101,167,101,117,177,115,28,173,192,34,106,106,33,101,28,113,189,118,110,28,101,29,99,103,32,98,178,31,29,163,114,110,174,117,179,114,35 H,1295814,8,500,4,16,1015675,92,6,1,1,,5,2,2,,70,0,2,70,1,0,1,,1,1000,1,1,1,7,,,,1,1,,17,2,320,2,1,54500,2,,,2,1,54500,0,3,3,3,1,4,4,6,0,0,4,26,0,0,1,0,0,2,1167,3,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,99,105,32,105,27,128,174,98,89,93,26,82,140,88,165,157,29,89,99,134,97,86,147,97,139,23,26,110,99,84,154,96,27,91,30,26,145,83,88,23,94,81,27,84,26,169,207,84,78,106,26,80,194,98,136,152,26,82,94,124,85,90,161,109,182,28,25,95,83,96,163,103,26,91,37,29,142,77,89 H,1296110,8,300,4,16,1015675,85,2,1,,,2,5,,,20,0,2,10,1,,1,,,,,,1,4,2,500,,1,3,,,2,1,2,1,5730,4,530,101,2,1,5730,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,105,148,86,102,160,75,27,144,106,29,92,89,38,78,21,83,104,106,128,23,87,33,98,86,25,81,181,24,19,133,65,85,139,83,163,76,88,107,21,179,61,146,72,70,141,95,20,119,135,29,75,124,23,99,32,86,85,95,161,31,57,25,123,101,24,77,132,31,33,161,62,88,144,108,176,72,68,86,16 H,1296403,8,300,4,16,1015675,137,1,1,1,,1,2,2,,30,0,400,70,1,370,1,,2,240,2,1,1,3,,,,1,1,,10,1,120,9,,,,,,1,4,50000,0,4,4,4,1,2,0,,0,0,0,11,0,0,0,0,0,1,471,3,0,1,15,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,243,254,120,47,249,35,138,113,147,100,138,151,320,43,108,144,38,43,125,36,114,143,57,155,125,138,38,220,254,278,236,37,102,157,288,51,139,108,39,125,41,41,139,231,46,238,118,131,142,126,141,133,43,260,149,160,242,223,120,226,142,152,266,145,143,124,229,37,45,42,37,215,161,106,38,243,129,171,262 H,1297089,8,500,4,16,1015675,321,2,1,,,2,5,,,20,0,2,20,1,,1,,,,,,1,4,2,400,,2,3,,,0,2,3,2,11900,4,440,44,2,1,11900,0,4,4,4,2,1,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,324,105,365,679,332,311,308,601,309,463,99,308,78,318,340,311,105,116,506,283,92,330,506,294,604,451,82,362,108,281,294,104,320,104,551,497,298,351,433,125,361,506,322,112,267,349,359,100,259,98,630,291,525,369,344,321,466,492,79,327,607,310,81,236,107,116,517,319,448,325,366,553,417,540,102,98,330,330,266,499 H,1297298,8,900,4,16,1015675,272,4,1,,,2,5,,,120,0,2,140,1,,1,,,,,,1,4,2,680,,1,3,,,5,1,1,1,103000,1,940,11,5,1,103000,0,1,1,1,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,295,233,275,324,572,326,437,249,79,281,364,266,321,392,305,68,85,109,296,491,226,282,258,251,94,85,89,250,381,292,99,263,254,111,326,476,392,391,254,70,336,280,294,271,392,430,449,239,95,296,392,325,279,290,256,72,111,71,262,486,244,300,320,226,75,117,86,194,443,277,109,265,218,110,307,583,470,334,331,85 H,1297361,8,200,4,16,1015675,281,0,1,1,,2,2,2,,,,,,,,1,,,,,,2,3,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,273,250,95,232,98,491,337,213,294,306,82,349,556,303,460,379,100,286,256,101,280,321,90,286,83,348,469,306,283,321,95,238,400,322,477,437,98,256,239,91,341,342,92,254,82,414,447,324,258,308,100,274,447,276,521,470,98,268,310,80,250,246,89,261,101,552,350,207,352,260,83,345,460,296,406,370,87,266,246 H,1298009,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1298022,8,900,4,16,1015675,153,1,1,,,2,5,,,40,0,2,100,3,,1,,,,,,1,4,2,430,,1,3,,,1,1,5,,,,570,101,1,6,2680,0,4,4,4,1,4,0,,0,0,0,,0,0,0,1,0,1,,,1,0,,,,,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,336,135,161,176,122,156,43,124,311,44,144,35,167,251,144,284,46,143,263,323,42,183,158,143,160,183,258,166,44,214,187,257,117,52,129,45,276,142,51,208,61,181,141,167,122,141,256,143,48,249,142,254,191,50,134,42,233,172,47,58,214,149,177,161,139,129,43,178,248,46,133,44,154,304,151,255,52,150,236,39 H,1298079,8,400,4,16,1015675,54,3,1,2,1,3,2,2,,100,0,2,3,3,,1,,,,,,1,5,2,540,,1,3,,,1,2,2,5,19000,2,640,40,1,2,19000,0,2,2,2,1,4,2,3,0,0,2,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,13,49,64,46,48,16,43,19,44,16,14,15,17,58,57,17,15,54,122,59,54,83,101,77,97,63,85,67,111,42,49,59,58,76,74,61,62,96,52,95,88,57,49,41,46,85,44,83,55,84,91,98,76,40,50,112,102,58,17,47,48,22,20,17,19,45,17,58,17,46,60,67,43,15,16,59,56,18,57 H,1298182,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1298304,8,100,4,16,1015675,147,1,1,,,1,7,,,30,0,2,30,3,,1,,,,,,1,4,2,230,,1,3,,,1,1,4,,,,290,35,1,4,10000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,268,49,185,48,130,121,35,188,58,239,225,141,96,127,55,127,290,165,256,232,249,43,110,31,112,124,52,187,56,195,241,168,114,160,63,147,299,150,136,62,53,239,158,190,142,149,237,124,201,54,48,154,154,151,194,138,61,139,120,44,36,264,153,277,207,169,289,151,253,44,44,206,144,105,191,150,44,143,149 H,1298431,8,800,4,16,1015675,109,3,1,2,1,3,1,2,,140,0,2,3,3,400,1,0,2,400,2,1,1,6,,,,1,1,,14,2,2,3,1,56000,2,,,2,1,56000,0,2,2,2,1,5,1,3,0,0,1,14,0,0,1,0,0,1,656,3,0,0,22,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,42,110,31,123,150,153,107,114,41,100,196,103,193,201,32,92,32,111,106,118,27,80,32,263,195,66,89,119,41,123,142,130,175,194,39,102,39,116,150,104,30,110,35,184,217,94,96,162,41,90,224,129,170,148,25,111,27,98,92,119,45,102,28,178,191,123,157,104,24,153,151,84,184,181,41,115,25,92,87 H,1298709,8,700,4,16,1015675,75,5,1,1,,4,2,2,,80,0,2,80,1,440,1,,2,1300,2,1,1,8,,,450,1,1,,21,3,280,2,2,86980,3,,,1,1,86980,0,3,3,3,1,4,3,5,0,0,3,30,0,0,1,0,0,2,2203,2,0,1,40,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,123,81,130,74,22,77,21,122,75,23,23,79,74,72,75,72,127,78,22,124,22,76,20,73,121,73,128,22,75,120,120,76,77,84,75,69,23,75,118,22,135,74,132,78,22,78,21,125,81,21,23,80,68,67,68,75,127,75,23,122,21,72,22,72,124,80,127,22,75,132,126,76,76,70,67,77,24,68,124 H,1298834,8,300,4,16,1015675,181,2,1,,,3,5,,,2,0,2,3,3,,1,,,,,,1,5,,,,1,4,,,2,2,3,1,40840,4,,,1,1,40840,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,2,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,181,202,271,59,330,166,52,44,57,139,312,57,247,197,145,187,289,317,288,289,262,55,257,202,166,52,166,166,191,367,176,177,42,344,63,67,179,135,181,163,192,173,54,296,59,191,275,297,316,167,54,292,191,201,193,201,54,51,47,52,56,321,203,198,175,273,180,170,203,56,165,163,353,41,304,327,166,225,204 H,1299098,8,100,4,16,1015675,103,1,1,1,,1,2,2,,90,0,2,3,3,,1,,,,,,1,2,2,450,,2,3,,,1,2,3,,,,540,,3,4,-23,0,4,4,4,1,2,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,112,225,140,97,93,31,98,147,160,24,175,155,88,107,25,28,174,92,96,131,100,44,124,100,117,176,118,138,33,183,39,29,102,90,139,201,27,110,108,34,84,183,91,98,114,34,96,93,169,25,139,212,95,105,43,31,195,114,106,171,99,27,84,78,117,206,115,105,27,167,44,42,114,92,219,159,22,123,122,26 H,1299105,8,600,4,16,1015675,107,1,1,1,,4,2,2,,30,0,2,20,1,450,1,,1,1100,1,1,1,6,,,,1,1,,19,1,200,3,,,,,,1,6,59200,0,4,4,4,1,5,0,,0,0,0,24,0,0,0,0,0,2,1167,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,29,178,105,31,114,101,107,187,32,157,34,179,106,100,100,31,101,186,110,32,96,111,180,98,32,32,32,108,119,112,99,106,185,172,175,111,33,114,162,109,179,30,98,196,104,111,110,31,179,33,163,29,104,106,104,182,104,32,108,173,107,95,32,108,166,185,181,112,116,108,112,109,31,31,31,101,185,106,29,109 H,1299281,8,300,4,16,1015675,144,1,1,1,,3,1,1,,70,0,1200,3,3,100,1,1700,1,540,1,1,1,7,,,,1,1,,4,1,2,4,,,,,,2,6,34000,0,4,4,4,2,4,0,,0,0,0,30,0,0,0,0,0,1,852,3,0,0,6,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,166,141,115,270,238,260,149,49,126,256,138,162,220,141,42,51,38,120,38,148,135,173,136,228,245,250,154,44,166,236,122,125,215,193,47,44,34,178,272,132,132,145,152,52,44,44,146,256,158,40,122,128,41,154,233,226,218,145,249,125,131,104,152,47,43,50,149,247,148,52,144,171,44,132,223,200,335,135,42 H,1299543,8,500,4,16,1015675,104,2,1,1,,3,2,2,,80,0,2,3,3,360,1,,,,,3,1,6,,,,1,2,,15,3,350,5,4,30800,4,,,1,1,30800,0,4,4,4,1,5,0,2,0,0,0,8,0,0,0,2,2,1,214,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,100,91,94,119,107,31,37,31,119,162,109,32,112,113,30,81,179,158,165,166,108,104,100,98,99,29,40,34,108,168,93,29,99,98,28,110,175,171,181,26,103,102,128,103,102,210,180,161,102,27,91,174,107,95,146,93,32,31,34,35,97,98,122,124,90,191,161,202,98,28,101,199,116,97,164,109,27,30,36,206 H,1299666,8,600,4,16,1015675,97,2,1,1,,3,2,2,,70,0,2,4,1,330,1,,2,380,2,1,1,6,,,,1,1,,18,2,670,5,1,41620,4,,,1,1,41620,0,4,4,4,1,1,0,2,0,0,0,17,0,0,0,2,2,1,605,3,0,1,18,2,5,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,152,96,163,31,86,156,168,94,104,92,104,95,29,97,157,32,103,28,92,28,179,99,162,28,101,177,162,85,100,93,91,101,28,99,173,29,106,28,97,29,154,102,174,29,90,155,185,96,114,92,93,94,29,99,182,33,93,32,95,30,165,98,165,26,95,156,152,91,93,92,94,94,25,99,166,27,108,32,100,27 H,1299915,8,900,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1299964,8,900,4,16,1015675,70,2,1,2,1,3,2,2,,40,0,300,3,6,0,1,,,,,3,1,5,,,,2,2,,3,3,2,4,6,5600,2,,,1,2,5600,0,2,2,2,1,7,1,2,0,0,1,14,0,0,1,0,0,1,65,,0,1,1,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,82,151,112,73,66,108,53,55,93,138,97,141,69,117,86,103,85,78,65,33,61,22,16,73,67,22,68,72,20,16,28,16,87,30,68,26,66,98,71,16,81,20,25,80,73,31,76,64,18,22,19,26,70,18,74,20,50,74,68,104,89,139,152,75,71,120,87,72,73,108,122,128,72,120,81,108,71,60,56,132 H,1300475,8,300,4,16,1015675,34,5,1,1,,4,2,2,,70,0,2,170,1,150,1,,,,,3,1,9,,,,1,2,,15,0,750,4,1,61300,2,,,1,1,61300,0,2,2,2,1,5,2,5,0,0,2,9,0,0,1,0,0,1,454,,0,1,28,3,5,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,73,33,59,37,25,32,11,31,12,36,34,10,33,71,10,11,47,27,8,40,8,32,14,40,31,35,61,30,63,42,41,51,49,16,55,70,8,34,10,38,12,29,8,55,36,30,58,42,104,34,35,66,34,13,56,53,9,29,60,46,84,24,61,42,25,29,11,37,13,46,33,10,34,76,8,8,51,31,45 H,1300606,8,100,4,16,1015675,132,2,1,2,1,3,1,2,,120,0,500,3,6,570,1,140,2,600,2,1,1,6,,,,1,1,,14,3,2,4,2,21700,4,,,1,1,21700,0,4,4,4,1,3,0,2,0,0,0,48,0,0,0,0,0,2,866,3,0,0,12,2,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,146,54,243,154,144,37,108,122,216,135,139,33,193,218,125,201,119,45,134,32,41,164,121,40,197,152,214,207,135,175,46,154,141,135,36,160,210,124,259,130,129,199,37,132,130,182,135,117,37,156,117,241,37,42,160,33,133,200,138,310,215,106,103,234,51,112,45,50,129,47,208,165,105,128,210,136,48,125,46 H,1301004,8,200,4,16,1015675,133,4,1,2,1,4,2,2,,150,0,2,3,6,1300,2,,1,1200,1,1,1,7,,,330,1,1,,19,2,960,9,2,40000,2,,,1,1,40000,0,2,2,2,1,4,2,4,0,0,2,53,0,0,1,0,0,2,1760,1,0,1,25,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,155,133,225,219,184,129,54,139,283,154,114,203,132,35,39,40,142,158,156,46,144,120,200,208,197,141,47,132,220,167,116,159,130,37,35,36,145,142,144,212,160,128,40,38,38,151,177,122,44,118,125,38,135,231,182,212,177,120,133,194,142,154,40,48,43,140,265,153,45,140,123,42,147,222,245,227,118,119,129,51 H,1301104,8,700,4,16,1015675,82,2,1,1,,3,2,2,,40,0,2,160,1,350,1,,,,,3,1,6,,,,1,2,,21,2,200,2,4,58600,4,,,1,1,58600,0,4,4,4,1,3,0,2,0,0,0,12,0,0,0,2,2,1,579,,0,1,52,0,9,9,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,26,87,77,24,73,85,25,81,87,91,26,138,130,130,138,22,71,79,83,130,27,94,74,24,84,80,23,85,91,79,22,135,139,158,132,22,86,79,79,134,23,81,80,25,81,93,25,77,90,80,22,140,136,136,121,25,94,81,84,134,23,76,83,25,77,81,24,75,83,81,24,148,142,139,131,25,86,81,79 H,1301217,8,700,4,16,1015675,132,2,1,2,1,4,2,2,,90,0,2,90,1,1200,1,,1,640,1,1,1,8,,,,1,1,,17,3,2,6,3,40000,4,,,1,1,40000,0,4,4,4,1,6,0,2,0,0,0,25,0,0,0,0,0,1,820,3,0,1,24,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,41,256,208,131,312,137,151,44,118,31,109,37,147,159,206,121,117,205,33,137,151,140,121,45,154,199,45,131,42,120,191,120,195,41,161,221,191,155,126,207,244,44,34,155,41,132,122,279,146,200,120,202,113,149,46,115,178,57,193,133,154,164,114,289,209,37,222,128,171,120,36,120,52,265,114,37,38,113,149 H,1301350,8,800,4,16,1015675,70,3,1,1,,4,2,2,,50,1300,2,190,1,,1,,,,,,1,9,2,400,,1,3,,,2,600,9,1,9130,2,690,91,1,1,9130,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,75,16,130,127,114,99,19,94,64,100,24,75,62,18,64,79,20,65,84,69,71,20,111,122,138,129,24,67,71,118,21,75,61,20,66,56,20,66,72,75,78,104,19,20,19,20,116,75,68,20,110,65,74,116,65,85,113,65,66,72,69,128,22,19,20,24,100,69,78,22,120,59,65,107,85,84,124,70,68 H,1301389,8,800,4,16,1015675,63,1,1,3,4,3,2,2,,100,0,2,80,3,1000,1,,,,,3,1,7,,,,1,2,,18,3,2,5,,,,,,1,6,100000,0,4,4,4,1,6,0,,0,0,0,5,0,0,0,1,0,1,430,,0,0,32,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,115,100,63,115,105,61,57,61,65,112,61,120,63,126,117,110,89,54,71,62,20,19,60,18,18,64,79,73,65,19,56,15,58,17,22,20,17,71,55,67,19,17,53,17,18,75,72,48,73,19,62,17,65,19,22,18,17,54,62,63,126,111,67,126,109,60,71,69,62,112,63,115,59,116,97,108,96,60,64,71 H,1301413,8,800,4,16,1015675,57,4,1,1,,2,2,2,,100,0,2,3,3,250,1,,2,420,2,1,1,4,,,200,1,1,,10,2,140,9,,,,,,1,5,75800,1,1,4,4,1,5,0,,0,1,0,12,2,0,1,0,0,1,786,2,0,1,10,,,,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,0,0,1,0,1,0,49,70,46,62,65,13,58,20,73,55,22,54,114,17,16,77,41,64,101,16,46,18,60,52,60,107,58,102,79,73,93,60,15,81,89,18,69,80,17,82,48,109,49,57,63,15,48,19,71,47,23,63,124,20,14,100,54,93,84,16,58,13,64,73,53,93,51,72,66,67,84,74,17,81,76,16,63,53,20,109 H,1301488,8,300,4,16,1015675,79,2,1,,,2,5,,,60,0,2,3,3,,1,,,,,,1,4,2,470,,1,3,,,2,130,4,,,,541,22,1,5,29200,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,93,116,137,20,21,76,77,74,85,136,25,78,94,75,111,24,79,79,22,116,77,145,166,19,33,87,67,83,66,146,23,102,81,87,140,21,75,83,24,154,76,122,131,28,23,69,86,84,81,139,26,85,73,85,146,21,82,74,21,126,87,130,102,20,27,75,84,84,75,151,21,79,88,87,126,21,81,78,25 H,1301814,8,500,4,16,1015675,108,2,1,1,,3,2,2,,50,0,2,80,1,,1,,,,,,1,5,2,300,,2,3,,,1,550,2,7,23000,2,476,25,1,3,23000,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,106,114,37,108,184,117,34,27,117,98,29,173,122,174,170,105,178,36,112,105,99,98,180,121,31,117,176,185,113,98,230,34,120,32,33,109,31,184,113,118,131,105,186,92,34,107,204,170,97,109,179,28,108,35,34,117,30,164,104,112,88,99,33,101,184,131,31,34,107,117,40,186,105,231,185,98,178,33,119 H,1302139,8,700,4,16,1015675,117,1,1,1,,1,2,2,,40,0,2,100,1,320,1,,1,430,1,1,1,4,,,,1,1,,11,1,30,8,,,,,,1,4,21050,0,4,4,4,1,1,0,,0,0,0,33,0,0,0,0,0,1,573,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,175,184,187,109,118,121,113,128,39,36,36,109,194,129,32,119,123,34,179,113,179,177,196,113,112,116,129,132,38,36,35,119,210,117,34,105,131,35,33,131,41,34,34,123,114,120,104,110,194,189,222,139,35,102,217,126,112,227,35,120,36,37,33,110,106,117,117,99,194,194,216,126,31,105,187,120,124,183,190 H,1302239,8,500,4,16,1015675,108,1,1,,,1,7,,,30,0,30,3,3,,1,,,,,,1,4,2,120,,2,3,,,1,2,4,,,,153,35,1,6,5200,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,192,107,88,100,37,34,111,30,172,28,223,120,219,191,89,116,104,102,109,174,142,41,192,154,84,100,36,116,97,102,113,37,127,120,235,139,33,36,99,258,96,37,248,216,106,106,25,113,79,118,100,35,98,95,190,218,30,36,35,105,183,97,132,138,38,36,105,27,185,33,190,103,176,154,104,123,112,90,38 H,1302314,8,300,4,16,1015675,66,0,1,,,0,7,,,,,,,,,1,,,,,,1,1,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,71,115,67,75,124,70,22,21,22,61,67,60,60,77,124,139,131,61,19,20,56,112,71,63,116,64,17,18,18,64,70,65,63,65,121,114,117,65,118,112,68,18,59,67,19,56,99,114,106,62,65,65,64,78,21,20,21,69,148,107,62,21,74,79,19,63,106,125,116,60,65,61,74,79,22,17,20,73,19 H,1302422,8,400,4,16,1015675,77,2,1,1,,3,2,2,,50,0,2,220,1,510,1,,,,,3,1,7,,,,1,2,,18,2,480,7,,,,,,1,5,30200,0,4,4,4,1,7,0,,0,1,0,20,0,0,0,1,1,1,495,,0,1,29,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,70,27,80,72,71,108,60,112,123,44,179,81,19,137,138,23,127,121,43,20,104,26,56,87,60,117,76,96,71,98,152,88,19,141,154,14,54,84,100,99,71,114,84,93,92,18,97,24,95,40,23,67,114,25,25,146,116,87,178,103,108,171,47,72,57,22,98,17,77,78,27,85,108,24,42,92,56,110,18 H,1302594,8,500,4,16,1015675,127,5,1,1,,3,2,2,,60,0,2,140,1,420,1,,1,550,1,1,1,5,,,,1,1,,12,2,540,5,1,26800,1,,,1,1,26800,0,1,1,1,1,3,3,5,0,0,3,36,0,0,1,0,0,1,795,3,0,1,22,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,134,38,106,173,131,133,187,116,40,33,41,126,133,135,110,138,195,210,208,40,132,229,176,41,123,139,40,140,208,235,264,149,148,117,131,125,38,38,201,35,129,240,114,37,133,122,37,124,258,204,179,111,131,133,125,133,38,35,44,202,129,35,135,241,125,129,241,153,37,37,43,132,141,117,114,135,238,250,31 H,1302740,8,300,4,16,1015675,36,0,1,3,,1,2,2,,,,,,,,2,,,,,,1,2,,,,,,5,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,10,10,56,71,12,29,57,13,11,37,39,60,38,42,41,40,64,33,32,36,9,11,64,57,11,38,64,10,8,34,38,58,34,33,43,41,54,37,34,31,10,11,63,58,12,33,64,12,8,40,47,83,36,33,36,41,68,31,39,36,12,11,73,69,11,35,61,10,11,35,41,71,39,34,36,36,60,38,37 H,1302883,8,600,4,16,1015675,105,1,1,1,,3,2,2,,30,0,2,80,1,300,1,,1,1100,1,1,1,5,,,,1,1,,19,2,570,1,,,,,,1,6,15980,0,4,4,4,1,2,0,,0,0,0,94,0,0,0,0,0,2,1258,3,0,1,30,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,112,198,32,31,192,113,105,175,101,155,104,92,100,33,113,33,112,120,176,38,100,174,31,34,181,91,114,180,114,181,94,96,106,34,98,28,94,97,157,29,101,203,31,30,209,105,95,189,109,168,114,103,105,28,103,36,109,113,203,35,104,189,33,29,161,98,115,187,92,168,99,120,107,29,106,32,112,100,225 H,1302888,8,600,4,16,1015675,110,1,1,,,1,7,,,30,0,2,3,3,,1,,,,,,1,3,2,550,,1,3,,,1,1,4,,,,580,59,1,6,11750,0,4,4,4,1,3,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,109,103,197,31,105,124,189,113,111,33,112,109,184,31,31,114,30,110,114,114,183,184,111,116,194,36,109,34,36,102,30,193,105,112,102,211,112,30,32,31,110,118,31,179,116,106,34,105,119,183,104,109,34,183,207,109,189,110,111,113,34,32,96,116,27,184,105,188,190,99,187,33,116,124,106,33,109,205,184 H,1302939,8,800,4,16,1015675,42,5,1,1,,4,1,2,,180,0,2,3,3,200,1,1300,1,700,1,1,1,6,,,,1,1,,14,5,700,2,1,65520,2,,,1,1,65520,0,3,3,3,1,3,3,5,0,0,3,19,0,0,1,0,0,1,1046,3,0,0,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,76,46,14,45,27,10,50,56,58,105,47,33,56,53,47,16,13,10,97,44,67,46,14,37,46,13,33,84,95,80,57,47,43,29,36,13,12,17,71,37,71,37,13,62,29,10,62,57,51,82,44,50,52,33,42,17,15,12,59,36,64,49,17,40,36,15,56,99,68,67,45,38,42,37,36,13,15,14,85 H,1302973,8,900,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1303060,8,900,4,16,1015675,82,1,1,3,1,2,2,2,,90,0,2,80,2,2000,1,,,,,3,1,4,,,,1,2,,14,2,2,5,,,,,,1,6,30300,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,1,1,2,347,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,86,81,94,100,26,20,22,68,128,65,30,81,105,35,99,150,145,118,33,77,73,91,65,81,127,119,83,73,20,86,198,67,110,139,63,23,22,45,142,116,81,73,84,70,22,26,35,76,121,85,25,87,65,18,92,106,119,170,22,77,69,66,78,93,158,151,93,77,31,109,120,84,69,140,82,25,26,23,86 H,1303076,8,900,4,16,1015675,453,1,1,1,,3,1,2,,50,0,2,190,1,240,1,170,2,230,2,2,1,4,,,,1,1,,1,1,2,5,,,,,,2,6,12000,0,4,4,4,2,1,0,,0,0,0,51,0,0,0,0,0,2,511,3,0,0,3,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,205,604,408,807,519,462,620,400,748,118,180,385,617,493,596,485,95,511,205,555,534,179,423,171,614,450,168,423,158,802,642,488,446,429,126,440,765,531,670,365,188,622,351,814,586,465,493,323,859,137,202,504,604,458,706,407,111,644,192,561,482,172,358,120,573,437,198,517,136,730,658,629,465,418,183,413,627,462,613,396 H,1303518,8,200,4,16,1015675,38,1,1,1,,2,2,2,,40,0,2,3,3,380,1,,1,480,1,1,1,5,,,,1,1,,6,1,900,9,,,,,,1,6,23010,0,4,4,4,1,5,0,,0,0,0,31,0,0,0,0,0,2,595,3,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,36,39,40,60,38,45,10,14,69,51,11,46,61,10,12,52,43,68,37,42,36,34,30,9,35,46,64,56,12,11,46,31,12,75,66,47,44,12,38,40,35,36,37,77,46,34,10,12,54,68,14,45,71,10,12,57,40,55,29,37,42,38,47,10,29,47,69,64,12,11,69,36,9,74,72,37,37,12,56 H,1303536,8,100,4,16,1015675,230,0,1,3,,1,2,2,,,,,,,,2,,,,,,2,3,,,,,,7,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,338,340,243,78,204,462,279,213,437,273,74,73,56,209,267,217,223,265,61,329,340,267,206,94,224,377,230,207,354,229,85,80,68,242,211,190,233,296,403,72,72,85,219,349,245,57,202,281,68,275,477,361,320,223,261,228,248,228,325,67,75,74,172,385,245,58,235,207,76,278,380,346,345,216,272,224,224,256,76 H,1303566,8,100,4,16,1015675,159,4,1,2,1,3,1,2,,120,0,2,80,3,500,1,0,2,630,2,1,1,5,,,,1,1,,19,4,2,3,1,45200,2,,,1,1,45200,0,2,2,2,1,4,2,4,0,0,2,28,0,0,1,0,0,2,1039,3,0,0,32,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,261,158,174,67,150,218,194,145,60,208,167,257,227,46,53,258,136,48,113,274,244,131,135,71,174,122,176,168,43,158,144,279,256,49,55,203,139,62,169,45,54,211,149,242,142,122,138,169,264,191,184,54,40,226,226,55,154,194,130,49,60,206,140,245,150,135,201,134,327,225,162,51,47,257,326,50,151,298,180 H,1303815,8,500,4,16,1015675,91,6,1,1,,3,1,2,,130,0,2,3,3,650,1,800,2,450,2,1,1,5,,,,1,1,,9,3,720,3,1,26000,2,,,1,1,26000,0,2,2,2,1,4,4,6,0,0,4,37,0,0,1,0,0,2,794,3,0,0,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,155,26,73,90,92,148,24,79,95,145,91,174,158,31,31,94,89,81,159,100,24,147,115,94,78,26,198,97,81,26,92,29,28,130,146,81,84,111,25,91,156,28,98,89,82,165,30,92,94,159,91,136,157,25,25,97,85,99,173,89,26,130,101,97,88,29,146,92,85,23,91,32,25,157,155,90,110,81,28 H,1303824,8,200,4,16,1015675,69,3,1,1,,3,2,2,,90,0,2,90,1,600,1,,1,690,1,1,1,6,,,,1,1,,16,1,1000,3,7,62600,2,,,1,3,62600,0,2,2,2,1,5,2,3,0,0,2,18,0,0,1,0,0,2,953,3,0,1,19,1,14,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,22,108,77,128,57,18,84,18,131,72,19,16,65,71,85,57,50,103,68,94,29,75,75,160,69,21,91,21,72,72,22,16,69,57,63,87,88,93,93,122,20,99,64,144,68,12,59,24,103,64,17,21,72,65,82,58,82,208,64,102,24,86,67,125,80,27,55,23,109,43,19,19,75,70,65,88,70,96,71,150 H,1303854,8,600,4,16,1015675,147,2,1,1,,3,2,2,,160,0,2,90,1,250,1,,2,800,2,1,1,5,,,,1,1,,14,2,1100,6,,,,,,1,7,44000,0,4,4,4,1,5,0,,0,1,0,37,0,0,0,0,0,2,1363,3,0,1,36,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,124,161,244,228,148,66,197,58,44,134,140,264,201,57,123,138,114,43,143,233,157,155,177,169,183,43,200,65,34,117,176,180,335,69,124,148,160,58,116,293,157,121,198,223,150,54,210,63,38,140,122,224,295,56,138,147,126,50,132,233,125,163,277,137,146,43,189,56,45,113,181,238,250,66,114,148,183,47,138,285 H,1304115,8,800,4,16,1015675,44,2,1,1,,3,2,2,,40,0,240,120,1,580,1,,,,,3,1,5,,,,1,2,,11,2,600,9,4,27200,4,,,1,1,27200,0,4,4,4,1,7,0,2,0,0,0,16,0,0,0,2,2,1,364,,0,1,22,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,39,50,48,86,39,43,14,77,10,12,38,41,70,87,12,41,49,44,69,14,42,53,42,60,39,39,12,75,16,14,49,49,65,69,14,52,37,54,11,68,53,46,41,16,45,56,74,10,62,67,37,45,12,11,69,39,45,48,12,75,47,37,39,13,46,42,83,14,66,65,47,56,13,14,85,43,40,51,74 H,1304255,8,500,4,16,1015675,169,5,1,2,6,3,2,2,,50,0,200,3,6,400,1,,,,,3,1,5,,,,1,2,,12,2,2,3,2,75000,3,,,1,1,75000,0,3,3,3,1,5,3,5,0,0,3,3,0,0,1,0,0,1,196,,0,1,23,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,51,43,53,194,66,156,47,183,170,162,169,57,51,152,163,47,174,159,52,166,161,153,169,274,207,336,152,254,321,364,264,172,163,227,267,154,261,296,153,310,235,295,238,147,277,160,296,186,180,142,177,289,295,179,168,287,176,161,260,167,182,179,181,50,156,52,196,48,50,46,53,175,182,46,51,198,56,42,162,51 H,1304363,8,400,4,16,1015675,100,2,1,1,,4,2,2,,140,0,2,30,2,680,1,,1,1000,1,1,1,7,,,480,1,1,,19,2,2,5,3,22000,4,,,1,1,22000,0,4,4,4,1,2,0,2,0,0,0,90,0,0,0,1,1,1,1650,1,0,1,15,1,6,7,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,0,97,169,103,98,102,78,174,133,108,24,27,161,171,29,100,174,28,31,106,86,104,30,104,123,112,97,28,124,123,188,176,26,31,145,79,37,200,174,96,95,122,176,111,118,85,93,202,132,91,28,44,174,124,28,103,155,30,32,109,95,137,29,81,94,115,110,25,93,106,165,211,32,26,137,87,30,192,152,102,95 H,1304560,8,600,4,16,1015675,95,2,1,1,,3,2,2,,160,0,2,50,1,1200,1,,,,,3,1,7,,,,1,2,,24,2,640,3,4,30600,4,,,1,1,30600,0,4,4,4,1,5,0,2,0,0,0,47,0,0,0,2,2,2,1196,,0,1,68,0,9,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,83,98,161,90,30,89,168,187,99,100,171,32,94,25,24,91,26,148,96,103,88,110,34,84,161,102,31,29,102,108,29,168,97,154,156,90,170,30,87,96,90,93,27,99,173,101,33,31,98,103,27,156,89,173,171,89,177,35,96,92,95,84,153,91,25,89,154,157,101,93,165,29,105,29,29,91,29,162,98,97 H,1304691,8,100,4,16,1015675,71,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,22,23,132,24,73,74,129,127,119,71,85,19,114,76,19,68,80,85,23,24,78,69,74,69,123,18,68,66,68,131,21,79,72,140,68,112,157,20,75,77,25,23,120,21,89,71,130,141,125,77,72,17,134,74,23,70,72,84,25,23,67,71,66,71,118,23,69,65,71,129,22,74,68,118,66,127,112,22,65 H,1304884,8,800,4,16,1015675,53,2,1,2,1,2,2,2,,80,0,2,30,1,2000,1,,,,,3,1,9,,,,1,2,,24,2,2,4,4,52800,4,,,1,1,52800,0,4,4,4,1,6,0,2,0,0,0,18,0,0,0,2,2,2,777,,0,1,64,0,9,9,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,50,78,56,16,60,19,97,62,15,16,52,42,45,42,58,87,45,19,97,75,47,79,53,19,46,17,94,52,17,19,59,57,54,63,59,99,63,17,93,86,50,109,57,13,51,15,91,52,13,17,47,46,57,49,45,81,49,15,92,89,58,118,51,17,52,15,86,56,17,15,50,55,61,45,56,96,53,17,93,76 H,1304996,8,100,4,16,1015675,12,1,1,2,1,3,2,2,,100,0,2500,30,4,540,1,,,,,3,1,6,,,,1,2,,12,1,320,7,,,,,,1,6,20300,0,4,4,4,1,7,0,,0,0,0,35,0,0,0,1,1,1,593,,0,1,34,,,,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,14,13,21,12,2,4,4,12,10,8,12,8,20,17,15,8,3,12,16,4,9,10,3,12,20,14,15,12,12,10,9,12,2,4,3,17,20,8,12,3,14,13,3,9,17,17,20,10,10,11,12,10,3,4,4,10,12,10,3,16,12,10,22,10,3,4,3,14,8,16,10,11,20,17,18,10,3,10,4 H,1305159,8,600,4,16,1015675,80,2,1,2,1,4,2,2,,140,0,2,110,1,300,1,,1,750,1,1,1,8,,,,1,1,,20,4,660,5,1,100000,4,,,3,1,100000,0,4,4,4,1,5,0,2,0,0,0,13,0,0,0,1,0,1,1055,3,0,1,25,2,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,129,92,75,93,127,26,124,59,24,24,25,94,129,33,84,74,84,64,127,84,122,89,91,70,113,25,160,89,25,26,26,79,146,22,66,71,98,99,109,53,152,99,68,109,136,21,129,74,31,22,25,86,161,37,70,69,87,68,133,65,134,81,96,63,130,25,128,98,44,18,22,89,150,20,72,85,104,85,114,82 H,1305188,8,700,4,16,1015675,83,1,1,1,,3,2,2,,60,0,2,90,1,250,1,,1,710,1,1,1,5,,,120,1,1,,14,4,600,2,,,,,,1,4,20000,0,4,4,4,1,3,0,,0,0,0,62,0,0,0,0,0,1,1030,2,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,91,25,85,31,66,77,86,151,87,153,85,87,153,91,27,153,141,25,149,79,78,167,90,140,81,91,85,25,81,23,78,86,24,90,137,24,25,154,136,92,80,145,90,155,88,88,94,22,87,25,77,86,25,87,130,27,26,131,27,82,96,24,94,26,87,102,78,138,83,139,77,88,141,80,23,146,168,23,24 H,1305494,8,800,4,16,1015675,64,1,1,1,,3,2,2,,200,0,2,3,3,600,1,,,,,3,1,5,,,,1,2,,9,2,1200,7,,,,,,1,4,29000,0,4,4,4,1,6,0,,0,0,0,19,0,0,0,0,0,2,450,,0,1,24,,,,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,39,19,56,81,142,86,18,29,77,54,23,145,104,103,63,24,64,75,70,75,76,27,58,55,88,103,21,19,131,78,24,135,127,59,66,22,53,66,64,80,49,111,48,67,25,15,74,139,17,63,164,21,21,89,56,145,66,55,53,67,57,91,58,70,25,23,129,116,24,61,99,18,21,91,69,121,65,67,86,69 H,1305972,8,700,4,16,1015675,101,2,1,1,,3,2,2,,50,0,2,200,1,800,1,,,,,3,1,7,,,,1,2,,17,2,130,2,1,100000,4,,,1,1,100000,0,4,4,4,1,3,0,2,0,0,0,5,0,0,0,0,0,1,442,,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,177,160,95,161,88,100,32,96,30,104,32,99,95,166,111,98,179,30,27,30,102,92,31,104,158,30,108,33,107,176,101,184,31,105,173,156,99,98,110,106,33,32,91,27,105,96,167,92,164,101,171,111,107,28,99,105,31,178,192,161,96,109,172,101,28,157,104,164,92,31,101,29,171,97,27,32,101,106,98,105 H,1306229,8,300,4,16,1015675,17,2,1,1,,3,2,2,,40,0,2,2,3,1400,1,,,,,3,1,6,,,,1,2,,16,2,2,6,1,32200,4,,,1,1,32200,0,4,4,4,1,7,0,2,0,0,0,10,0,0,0,2,2,1,262,,0,1,24,2,5,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,28,27,15,13,17,16,15,5,5,4,13,24,20,4,15,20,8,18,26,3,5,4,15,15,17,15,15,34,26,25,18,5,15,23,15,16,27,19,8,5,5,5,16,15,20,16,15,31,29,25,20,5,16,25,16,15,26,18,7,27,29,23,14,16,17,18,20,3,5,5,15,27,22,5,14,16,7,14,23,26 H,1306579,8,300,4,16,1015675,23,1,1,1,,2,2,2,,40,0,200,3,3,0,1,,,,,3,1,5,,,,1,2,,14,1,400,8,,,,,,1,4,10800,0,4,4,4,1,7,0,,0,0,0,19,0,0,0,1,1,2,173,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,24,37,21,22,30,20,39,30,21,7,7,44,60,9,18,39,8,7,26,29,19,51,20,25,35,23,35,24,20,7,10,38,38,6,28,43,5,8,19,16,33,41,30,21,20,23,59,34,26,10,7,28,33,5,20,43,6,5,23,26,21,62,26,23,26,20,35,20,18,6,7,35,35,8,35,36,6,8,20,24 H,1306630,8,700,4,16,1015675,121,2,1,1,,3,1,2,,70,0,450,3,3,0,1,700,,,,3,1,6,,,,1,2,,11,2,300,4,1,54100,4,,,1,1,54100,0,4,4,4,1,5,0,2,0,0,0,4,0,0,0,0,0,1,191,,0,0,1,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,111,186,200,116,131,134,200,39,192,127,33,37,35,120,220,38,112,113,203,38,38,117,120,198,202,38,127,116,120,33,111,114,118,204,136,122,33,202,113,114,110,37,34,122,106,130,41,208,36,113,208,203,204,133,37,195,110,131,41,208,214,123,121,34,35,198,112,121,116,224,108,100,118,33,112,128,207,39,112 H,1306635,8,700,4,16,1015675,121,4,1,1,,5,2,2,,120,0,2,280,1,840,1,,1,2200,1,1,1,9,,,1500,1,1,,22,4,900,3,2,80400,2,,,1,1,80400,0,2,2,2,1,4,2,4,0,0,2,62,0,0,1,0,0,1,4175,1,0,1,58,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,203,203,119,35,133,190,117,136,221,113,32,35,30,135,127,110,128,110,33,188,206,222,123,36,124,222,132,122,209,113,34,38,35,118,136,108,107,139,199,36,36,39,120,221,108,36,128,118,37,119,206,203,183,128,126,109,115,127,212,35,33,37,121,219,135,33,114,120,38,123,195,194,198,121,117,121,129,118,33 H,1307181,8,600,4,16,1015675,100,3,1,2,1,3,2,2,,80,0,2,30,1,430,1,,2,1100,2,1,1,7,,,,1,1,,18,2,60,5,1,89000,4,,,1,1,89000,0,4,4,4,1,4,0,3,0,0,0,19,0,0,0,0,0,1,1418,3,0,1,31,3,5,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,29,88,27,184,169,113,109,101,26,103,155,103,164,162,29,99,30,107,100,101,31,112,26,163,162,116,111,100,30,91,170,101,164,166,30,108,31,97,96,96,27,101,32,185,169,106,121,98,33,94,167,94,175,180,31,100,28,107,105,101,28,107,30,157,175,96,98,115,28,111,165,92,168,168,29,96,30,116,102 H,1307295,8,200,4,16,1015675,37,2,1,1,,3,2,2,,80,0,350,3,6,450,1,,,,,3,1,5,,,,1,2,,12,3,900,8,4,30000,4,,,1,1,30000,0,4,4,4,1,5,0,2,0,0,0,10,0,0,0,0,0,2,262,,0,1,11,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,10,44,11,54,63,34,34,38,10,31,64,37,61,66,13,48,11,33,30,51,11,32,10,63,70,35,36,29,10,31,47,33,52,68,12,45,14,33,35,31,10,32,10,76,78,30,31,38,10,40,69,36,74,58,12,45,12,36,28,42,12,26,14,76,55,54,39,33,11,37,66,34,56,76,10,32,10,38,54 H,1307340,8,900,4,16,1015675,99,3,1,3,1,3,2,2,,300,0,600,3,3,1300,1,,2,1400,2,1,1,7,,,,1,1,,18,4,2,4,2,51500,2,,,1,1,51500,0,2,2,2,1,4,1,3,0,0,1,47,0,0,1,0,0,1,2008,3,0,0,30,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,203,26,35,157,94,23,131,232,119,118,40,86,127,85,88,25,93,118,109,35,23,150,153,33,103,157,23,33,111,86,165,107,128,96,83,162,87,125,89,28,41,166,165,25,90,166,36,37,105,115,188,85,82,77,105,159,97,104,91,234,122,26,36,135,90,45,139,141,130,92,26,123,98,124,99,28,107,107,131 H,1307438,8,600,4,16,1015675,292,2,1,,,2,5,,,50,0,2,3,3,,1,,,,,,1,4,2,550,,1,3,,,2,1,4,6,10000,2,600,72,1,2,10000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,1,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,156,550,424,98,83,339,124,422,223,482,260,425,199,375,310,172,86,278,262,67,263,310,353,380,453,90,267,437,114,213,122,385,546,255,433,161,274,300,385,328,92,432,375,102,105,252,118,232,454,507,219,437,403,544,243,253,129,295,360,161,416,252,285,254,266,141,338,501,86,211,92,290,441,294,482,94,177,336,400,306 H,1307616,8,200,4,16,1015675,211,2,1,2,1,4,2,2,,140,0,700,3,4,740,1,,1,210,1,1,1,6,,,,1,1,,17,1,2,8,,,,,,1,5,19700,0,4,4,4,1,7,0,,0,1,0,25,2,0,0,0,0,2,408,3,0,1,7,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,185,218,265,390,315,359,196,78,226,323,201,209,338,236,69,79,65,200,72,190,193,178,231,394,346,407,203,71,241,347,195,178,337,200,58,66,64,228,70,189,166,232,211,349,358,356,202,66,201,328,231,228,369,194,58,70,61,235,53,204,177,237,291,340,392,308,202,67,246,405,209,225,275,195,82,73,65,212,66 H,1307784,8,400,4,16,1015675,105,1,1,,,1,4,,,20,0,2,3,3,,1,,,,,,1,2,2,580,,1,3,,,1,1,5,,,,600,23,1,6,31000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,139,105,116,126,126,117,39,54,30,109,148,103,25,88,103,30,104,171,39,45,39,106,86,79,98,101,155,159,176,93,39,175,148,87,88,165,122,38,26,35,34,115,103,131,102,120,175,164,151,101,36,87,133,136,147,132,89,39,161,185,164,108,99,90,99,113,36,31,38,110,143,98,49,113,99,49,105,147,194 H,1307968,8,900,4,16,1015675,63,2,1,,,2,6,,,70,0,2,50,3,,1,,,,,,1,5,2,420,,1,3,,,1,1,4,5,30000,4,540,22,1,2,30000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,18,66,116,72,14,19,70,58,17,102,61,109,108,58,86,18,70,67,58,65,17,60,114,57,16,23,69,61,18,84,72,97,123,61,91,18,58,71,53,59,88,73,17,58,107,91,66,64,116,18,63,18,22,61,15,92,59,62,63,66,99,83,20,65,99,95,75,67,137,16,68,18,20,58,15,105,58,59,69 H,1308271,8,500,4,16,1015675,80,5,1,1,,4,2,2,,40,0,2,70,1,520,1,,1,830,1,1,1,7,,,,1,1,,17,3,430,2,2,60000,1,,,1,1,60000,0,1,1,1,1,3,3,5,0,0,3,20,0,0,1,0,0,2,976,3,0,1,25,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,88,78,84,71,21,24,23,79,137,74,26,76,73,21,76,137,149,143,133,70,84,86,95,90,26,21,21,82,148,80,29,86,89,23,79,141,138,132,22,78,84,77,67,93,136,117,132,83,28,78,122,78,82,140,77,23,23,22,27,81,84,96,86,79,120,134,159,80,26,88,143,69,81,132,72,24,23,23,115 H,1308715,8,500,4,16,1015675,64,2,1,1,,2,2,2,,1,0,1,1,1,,1,,,,,,1,3,2,530,,1,3,,,2,1,6,,,,530,42,1,7,15000,0,4,4,4,1,2,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,17,59,109,18,16,66,68,106,60,53,69,59,88,68,74,23,21,112,62,18,104,69,21,111,120,68,54,15,66,59,58,62,21,63,64,114,112,21,62,22,108,68,17,117,105,74,62,19,66,67,64,61,18,61,60,113,103,23,72,102,21,69,101,20,20,64,67,95,61,69,55,55,98,60,63,17,17,92,67 H,1309362,8,500,4,16,1015675,77,2,1,1,,3,2,2,,50,0,2,4,1,400,1,,1,980,1,1,1,5,,,,1,1,,16,2,370,2,3,38100,4,,,1,1,38100,0,4,4,4,1,1,0,2,0,0,0,34,0,0,0,2,1,1,1065,3,0,1,23,2,5,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,23,68,76,88,127,133,89,126,26,117,23,86,28,25,76,66,73,68,64,85,93,123,23,23,70,86,175,78,75,76,69,118,79,76,18,23,143,119,22,20,134,78,83,95,21,27,82,18,101,22,114,70,134,132,71,76,75,77,79,80,72,25,157,130,65,83,22,92,71,74,74,27,81,78,131,138,21,21,138,142 H,1309675,8,800,4,16,1015675,27,5,1,1,,3,2,2,,1,0,1,1,6,,1,,,,,,1,6,,,,1,4,,,3,1,5,1,26000,2,,,1,1,26000,0,2,2,2,1,3,3,5,0,0,3,,0,0,1,0,0,1,,,1,0,,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,25,6,27,25,30,24,6,33,29,51,46,7,6,41,22,8,47,45,24,32,29,51,27,29,31,29,47,28,29,7,7,41,56,7,22,49,7,11,24,27,22,48,28,28,28,27,52,25,30,7,8,38,46,10,26,49,9,9,31,26,22,7,28,25,30,27,7,24,26,48,45,9,9,52,28,8,46,48,29 H,1310425,8,600,4,16,1015675,132,5,1,,,4,5,,,80,0,2,3,8,750,1,,1,1500,1,1,1,9,,,,1,1,,22,2,500,9,1,131000,2,,,1,1,131000,0,2,2,2,1,5,3,5,0,0,3,15,0,0,1,0,0,1,1622,3,0,0,50,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,205,130,138,159,192,33,225,147,51,40,33,139,253,42,128,113,113,125,209,149,137,218,295,39,122,125,102,40,121,126,146,201,129,138,38,216,39,46,120,46,41,128,128,156,34,197,36,152,249,228,228,132,42,212,127,129,99,149,37,159,125,37,48,200,132,121,109,204,130,144,153,38,141,156,229,35,219,242,145 H,1310467,8,200,4,16,1015675,44,1,1,,,1,7,,,1,0,2,3,3,,1,,,,,,1,2,1,980,,1,3,,,0,1,5,,,,980,101,1,6,11100,0,4,4,4,1,6,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,44,39,46,81,64,40,80,12,67,13,38,13,12,34,43,48,53,45,33,41,63,14,11,43,53,70,43,49,55,45,73,44,43,16,14,98,82,14,13,63,37,45,36,15,20,51,17,72,17,72,48,77,69,45,37,44,48,45,55,42,12,84,78,41,43,12,45,39,33,49,10,41,49,79,83,12,12,90,107 H,1310804,8,300,4,16,1015675,50,4,1,1,,3,2,2,,30,0,2,30,1,280,1,,1,1100,1,1,1,5,,,,1,1,,18,2,2,1,2,63000,1,,,1,1,63000,0,1,1,1,1,1,2,4,0,0,2,22,0,0,1,0,0,1,1160,3,0,1,34,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,61,66,16,59,62,45,59,16,48,54,81,83,16,13,99,67,16,83,81,48,53,47,89,56,52,51,51,77,40,44,13,16,82,76,17,54,72,13,15,66,42,51,18,45,50,53,49,15,46,52,72,100,15,11,96,57,15,93,97,72,45,50,120,46,54,39,56,79,52,52,12,16,81,78,18,59,68,14,18,53 H,1310928,8,700,4,16,1015675,86,2,1,1,,3,2,2,,120,0,2,40,1,480,1,,1,1800,1,1,1,6,,,,1,1,,20,3,530,2,2,129100,4,,,1,1,129100,0,4,4,4,1,5,0,2,0,0,0,19,0,0,0,1,1,1,2004,3,0,1,38,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,23,71,79,22,72,144,162,141,84,97,85,92,79,22,27,28,90,147,24,94,139,86,72,134,90,28,22,27,85,81,101,97,86,127,128,179,98,26,29,78,157,89,99,164,83,28,27,27,86,76,74,83,83,156,157,131,94,24,145,73,23,94,91,24,77,139,152,143,81,75,81,76,82,25,25,24,98,138,135 H,1311114,8,800,4,16,1015675,81,1,1,1,,3,2,2,,100,0,800,200,4,290,1,,,,,3,1,7,,,,1,2,,7,1,1200,9,,,,,,1,6,4400,0,4,4,4,1,5,0,,0,0,0,101,0,0,0,1,1,1,493,,0,1,2,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,73,79,65,125,80,106,82,89,141,80,21,98,109,29,93,89,22,86,22,27,80,82,93,117,72,139,86,89,162,103,29,132,177,32,79,92,34,77,21,27,91,77,81,154,93,105,77,103,144,70,27,142,140,32,73,87,27,73,26,25,88,85,87,123,82,159,78,93,125,65,30,156,97,23,102,67,22,79,28 H,1311499,8,200,4,16,1015675,58,1,1,1,,2,3,2,,20,0,2,40,1,400,1,,,,,3,1,6,,,,1,2,,15,1,50,3,,,,,,1,6,38400,0,4,4,4,1,3,0,,0,0,0,8,0,0,0,1,0,1,264,,0,1,32,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,17,64,23,126,96,55,69,55,19,48,103,55,110,107,17,69,16,53,49,65,19,64,20,93,79,67,54,59,19,46,104,58,66,106,18,56,17,59,62,58,15,52,14,98,138,62,67,52,16,59,95,65,138,109,15,56,15,45,53,64,18,72,14,101,104,64,66,73,16,68,90,53,84,81,15,56,19,69,64 H,1311575,8,200,4,16,1015675,36,5,1,1,,5,2,2,,140,0,2,2,1,480,1,,1,1000,1,1,1,8,,,390,1,1,,18,3,1200,3,2,81730,3,,,1,1,81730,0,3,3,3,1,3,3,5,0,0,3,24,0,0,1,0,0,1,1630,2,0,1,34,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,11,10,95,12,28,34,55,53,59,25,33,14,66,37,10,32,43,36,54,55,41,43,40,42,11,53,33,40,55,11,68,33,36,14,31,10,9,62,44,32,9,13,67,12,28,37,72,66,44,35,43,10,71,51,10,35,32,36,63,50,31,40,33,34,10,62,36,32,39,11,49,38,34,12,41,10,8,54,40 H,1311682,8,900,4,16,1015675,30,1,1,1,,2,2,2,,50,0,2,10,3,600,1,,,,,3,1,4,,,,1,2,,14,1,730,6,,,,,,1,6,24100,0,4,4,4,1,7,0,,0,0,0,14,0,0,0,1,1,2,279,,0,1,25,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,34,8,9,25,52,10,49,34,30,28,33,30,25,7,53,32,30,49,28,30,10,30,30,9,37,27,32,10,43,58,46,43,9,32,33,49,10,27,54,10,43,49,50,25,9,53,8,27,30,32,30,28,33,46,10,27,31,10,29,29,46,26,31,55,21,25,30,63,8,8,9,10,54,30,28,8,47,33,8 H,1311733,8,100,4,16,1015675,67,2,1,1,,3,2,2,,50,0,2,3,6,640,1,,2,700,2,1,1,9,,,150,1,1,,20,2,140,4,1,81900,4,,,1,1,81900,0,4,4,4,1,6,0,2,0,0,0,17,0,0,0,0,0,1,1171,2,0,1,36,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,94,25,120,103,110,117,27,74,63,115,18,54,63,21,85,69,20,65,56,68,84,143,20,22,17,20,141,60,68,27,128,63,73,106,61,59,86,64,69,63,70,114,18,22,26,22,103,75,73,18,111,63,85,135,64,65,102,76,63,73,72,15,108,121,120,107,22,69,56,104,27,72,69,24,82,60,19,58,61 H,1311826,8,900,4,16,1015675,96,3,1,,,2,5,,,160,600,2,3,3,,1,,,,,,1,4,2,100,,1,3,,,1,1,3,5,57000,2,260,5,1,2,68000,0,2,2,2,1,1,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,105,89,27,155,82,173,212,91,162,30,83,119,126,29,108,144,79,35,32,99,87,111,25,130,98,148,151,83,151,29,98,98,106,38,96,211,84,30,34,91,106,87,28,155,86,168,180,93,183,25,93,82,103,25,103,134,90,31,23,96,111,99,28,165,89,188,149,80,138,33,126,107,91,37,109,180,127,32,32,73 H,1312709,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1312965,8,200,4,16,1015675,37,5,1,1,,4,2,2,,200,0,2,3,3,1200,1,,1,600,1,1,1,7,,,,1,1,,13,2,1300,5,1,95700,2,,,1,1,95700,0,2,2,2,1,5,3,5,0,0,3,11,0,0,1,0,0,2,908,3,0,1,22,3,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,10,38,38,35,73,69,27,60,10,53,10,44,12,10,36,39,45,37,35,37,50,70,10,11,38,36,68,42,28,34,35,69,43,31,14,14,80,71,9,46,8,36,37,33,68,62,37,61,12,71,12,43,10,10,46,40,31,42,47,40,42,57,10,12,36,36,87,39,28,36,47,45,30,34,12,12,69,67,12,59 H,1313068,8,400,4,16,1015675,117,1,1,1,,3,1,2,,120,0,2,3,3,610,1,300,1,680,1,1,1,6,,,,1,1,,14,1,480,3,,,,,,1,6,23600,0,4,4,4,1,4,0,,0,0,0,44,0,0,0,1,0,1,865,3,0,0,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,97,36,142,69,135,176,125,253,116,93,185,102,35,205,186,43,155,88,178,208,119,254,125,104,130,37,178,35,77,105,25,92,223,36,35,242,103,122,28,35,103,35,105,109,106,236,132,199,131,105,145,107,38,163,201,48,91,130,119,159,98,221,139,137,182,30,123,61,95,108,26,106,250,33,44,203,145,114,40 H,1313157,8,600,4,16,1015675,119,2,1,1,,3,2,2,,100,0,2,380,1,1500,1,,1,4800,1,1,1,8,,,,1,1,,22,2,150,3,1,259200,4,,,1,1,259200,0,4,4,4,1,3,0,2,0,0,0,25,0,0,0,0,0,1,5293,3,0,1,68,2,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,124,35,205,118,108,124,36,204,107,135,36,120,37,34,212,199,121,122,218,117,116,37,188,121,108,115,36,199,117,119,34,110,35,39,203,201,124,113,190,113,106,34,205,136,122,118,38,178,119,115,35,127,35,35,187,201,115,113,211,118,117,37,223,123,131,111,31,204,125,114,34,120,37,36,194,202,115,126,193 H,1313258,8,300,4,16,1015675,36,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,7,,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,63,35,62,12,8,34,43,35,73,48,12,35,8,12,77,42,61,39,40,43,62,35,50,9,8,30,43,35,57,42,9,29,12,8,63,38,59,30,39,35,64,42,64,9,10,31,36,45,64,37,12,33,11,10,56,35,65,34,31,34,74,42,69,10,12,34,40,41,59,35,13,42,9,10,58,32,73,39 H,1314024,8,800,4,16,1015675,68,2,1,3,6,4,2,2,,180,0,300,3,3,700,1,,,,,3,1,7,,,,1,2,,16,4,2,6,1,41000,4,,,1,1,41000,0,4,4,4,1,7,0,2,0,0,0,15,0,0,0,1,0,1,513,,0,0,42,2,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,18,19,21,69,149,79,25,70,55,24,71,85,76,115,77,57,66,72,105,59,21,23,17,74,113,55,22,56,50,23,102,122,98,132,68,52,73,71,21,69,126,118,97,51,24,66,102,65,70,108,78,18,20,27,65,58,78,72,18,73,87,115,114,78,26,74,151,74,49,112,76,15,19,24,71,60,65,81,124 H,1314142,8,800,4,16,1015675,105,3,1,1,,3,2,2,,80,0,2,120,1,1000,1,,1,680,1,1,1,6,,,,1,1,,16,2,700,3,3,71620,4,,,1,1,71620,0,4,4,4,1,5,0,3,0,0,0,16,0,0,0,2,1,1,938,3,0,1,14,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,101,198,125,176,179,31,30,103,86,112,100,177,35,119,111,100,168,31,150,105,103,36,109,25,34,194,186,84,109,91,122,39,156,95,109,111,34,202,187,109,121,32,106,38,33,200,167,92,96,103,91,32,177,112,107,106,33,187,33,98,110,178,78,201,188,32,35,103,102,106,89,190,37,104,118,109,146,38,34 H,1315057,8,200,4,16,1015675,73,2,1,2,1,3,2,2,,110,0,480,3,6,1000,1,,,,,3,1,8,,,,1,2,,16,3,50,4,3,31800,4,,,1,1,31800,0,4,4,4,1,5,0,2,0,0,0,15,0,0,0,2,2,1,387,,0,1,30,1,7,7,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,101,75,25,93,17,111,123,89,57,67,15,68,169,81,153,119,28,84,88,19,70,83,23,64,19,138,101,55,63,76,22,66,125,105,118,140,15,67,66,117,84,66,119,77,126,18,22,83,91,67,121,84,23,61,22,19,175,102,86,92,72,98,126,74,109,25,22,88,74,63,121,61,24,79,15,17,115,59,89 H,1315440,8,300,4,16,1015675,17,2,1,1,,4,2,2,,50,0,2,140,1,700,1,,,,,3,1,7,,,,1,2,,16,3,500,6,4,73100,4,,,1,1,73100,0,4,4,4,1,7,0,2,0,0,0,6,0,0,0,2,0,2,390,,0,1,24,1,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,36,6,17,5,18,21,7,15,5,31,31,18,20,23,6,18,29,16,18,5,5,27,18,29,19,25,30,19,30,5,6,18,18,15,37,18,3,19,18,7,7,34,20,31,18,22,37,18,28,4,7,18,20,21,31,16,7,21,20,32,39,7,19,5,15,16,5,18,5,32,27,17,17,16,6,19,28,20,19 H,1315756,8,600,4,16,1015675,115,2,1,1,,3,2,2,,50,0,2,90,1,500,1,,1,880,1,1,1,7,,,420,1,1,,18,1,2,7,1,73000,4,,,1,1,73000,0,4,4,4,1,3,0,2,0,0,0,24,0,0,0,0,0,1,1440,2,0,1,24,2,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,36,36,117,33,106,117,192,116,176,127,199,117,112,32,115,110,34,204,186,107,114,113,185,118,32,188,113,209,121,31,108,34,204,139,35,31,122,108,115,195,31,32,114,33,116,118,190,111,204,106,189,119,107,32,112,114,33,198,203,113,114,117,208,120,35,205,111,202,120,36,111,31,202,120,33,37,118,109,110 H,1315966,8,800,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1316331,8,300,4,16,1015675,63,2,1,,,2,4,,,30,0,2,3,1,,1,,,,,,1,4,2,160,,1,3,,,2,1,3,1,13580,4,190,17,1,1,13580,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,108,105,18,58,118,18,17,80,51,113,63,77,53,55,117,70,59,15,97,115,19,23,109,48,18,115,142,82,87,19,60,79,68,60,20,56,62,133,79,16,122,148,22,73,139,16,25,64,69,84,75,59,67,64,83,70,77,23,68,81,16,19,98,70,26,141,125,52,50,20,48,62,46,63,24,60,65,103,61 H,1316393,8,400,4,16,1015675,73,2,1,1,,3,1,2,,40,0,2,3,2,600,1,2900,2,770,2,1,1,7,,,,1,1,,13,1,750,2,4,62200,4,,,1,1,62200,0,4,4,4,1,2,0,2,0,0,0,22,0,0,0,2,2,1,1165,3,0,0,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,96,71,56,18,99,84,89,72,20,75,84,108,102,24,27,154,71,23,73,22,22,65,68,157,88,60,66,93,118,53,77,27,19,123,124,26,75,136,75,26,22,101,90,108,85,66,57,92,100,54,65,30,38,126,97,29,67,93,67,115,100,65,89,18,68,93,72,81,22,74,83,102,124,32,24,100,69,23,66 H,1316547,8,400,4,16,1015675,143,4,1,1,,3,2,2,,1,0,2,3,6,,1,,,,,,1,4,2,800,,1,3,,,3,1,5,,,,800,37,1,7,26100,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,124,158,158,213,147,197,141,237,237,232,66,138,126,51,166,161,40,166,212,137,112,103,103,53,148,85,116,128,83,166,268,72,53,163,99,124,277,172,317,180,126,195,167,49,197,84,137,111,60,97,176,52,56,158,156,196,189,180,33,42,121,126,210,163,143,232,116,195,253,160,57,168,294,53,128,92,53,177,64 H,1316625,8,800,4,16,1015675,76,2,1,1,,3,2,2,,90,0,2,240,1,400,1,,2,550,1,1,1,8,,,,1,1,,18,2,400,2,1,40801,4,,,3,1,40801,0,4,4,4,1,3,0,2,0,0,0,28,0,0,0,1,0,1,946,3,0,1,36,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,74,129,77,107,142,67,22,23,21,66,70,83,62,80,111,110,143,66,116,115,78,25,74,67,24,75,146,146,152,87,81,79,75,84,24,23,25,77,19,22,92,138,77,84,138,82,25,19,22,72,68,88,80,66,125,124,138,74,130,121,76,24,78,78,24,75,104,130,120,66,84,92,61,77,22,20,25,88,22 H,1316696,8,500,4,16,1015675,206,3,1,,,2,6,,,410,0,2,3,3,,1,,,,,,1,4,2,510,,1,3,,,3,1,5,7,138200,4,920,7,1,3,150200,0,4,4,4,1,1,0,2,0,1,0,,0,0,0,0,0,1,,,1,0,,2,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,94,140,62,219,64,182,197,263,162,80,67,178,208,74,200,207,65,70,92,234,218,319,201,358,186,257,322,384,301,221,211,359,332,201,258,328,194,221,254,66,101,172,65,235,87,190,247,232,211,88,58,196,245,69,220,216,84,64,80,169,260,260,151,280,288,239,356,284,300,216,178,343,331,201,262,225,341,204,204,83 H,1316836,8,300,4,16,1015675,149,1,1,1,,2,2,2,,2,0,2,3,6,0,1,,,,,3,1,5,,,,1,2,,18,2,2,3,,,,,,1,6,25900,0,4,4,4,1,2,0,,0,0,0,2,0,0,0,1,1,2,50,,0,1,14,,,,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,111,172,165,201,51,39,44,135,197,127,50,136,110,48,183,215,217,298,292,159,162,280,144,149,60,56,55,115,233,124,36,125,129,53,156,202,184,262,265,135,165,199,153,180,49,61,50,133,232,110,49,141,115,38,141,234,209,258,272,148,142,168,135,164,41,42,41,106,270,130,43,170,156,52,180,221,224,295,271 H,1316873,8,600,4,16,1015675,182,1,1,1,,3,2,2,,40,0,2,130,1,400,1,,,,,3,1,6,,,,1,2,,14,1,70,3,,,,,,3,6,30140,0,4,4,4,1,5,0,,0,0,0,13,0,0,0,0,0,1,334,,0,1,27,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,70,159,211,200,344,290,156,279,62,304,60,179,67,48,162,174,214,260,193,231,167,229,66,38,154,155,279,214,172,171,220,244,141,201,59,54,298,282,64,263,45,177,164,186,235,302,200,366,66,267,52,185,47,62,210,180,169,157,135,166,188,321,54,83,185,178,259,182,209,198,160,300,188,183,82,56,346,376,47,288 H,1317037,8,400,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1317402,8,500,4,16,1015675,110,4,1,2,1,3,2,2,,90,0,2,130,1,490,1,,1,470,1,1,1,7,,,,1,1,,16,2,80,3,3,24500,2,,,1,1,24500,1,2,4,2,1,5,0,4,1,0,2,34,0,0,1,2,1,1,697,3,0,1,27,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,98,36,154,160,196,186,25,109,104,164,34,140,130,31,96,108,26,107,118,147,114,198,43,29,30,37,205,105,95,29,175,138,102,162,117,91,181,109,93,123,110,195,41,29,30,35,155,93,100,31,165,105,106,178,107,105,172,108,114,103,118,34,212,192,202,183,32,115,110,186,39,119,128,28,109,107,33,103,108 H,1317415,8,200,4,16,1015675,86,1,1,1,,2,2,2,,50,0,2,60,1,500,1,,2,530,1,1,1,4,,,200,1,1,,10,1,790,9,,,,,,1,4,50000,0,4,4,4,1,3,0,,0,0,0,23,0,0,0,0,0,2,948,2,0,1,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,119,90,89,84,144,67,144,24,103,41,105,63,87,26,25,166,114,40,81,129,96,142,121,30,95,20,111,88,29,100,27,115,155,89,85,100,25,81,109,74,125,78,95,113,149,76,147,24,71,22,115,92,74,26,36,140,80,32,73,148,135,145,104,24,81,30,132,147,34,75,32,166,139,91,74,64,22,89,158 H,1318683,8,200,4,16,1015675,59,2,1,3,1,2,2,2,,280,0,2,20,3,520,1,,,,,3,1,4,,,,1,2,,17,2,2,4,4,52600,4,,,1,1,52600,0,4,4,4,1,6,0,2,0,0,0,10,0,0,0,2,2,1,451,,0,0,25,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,17,15,118,97,16,62,98,20,19,55,60,129,52,56,67,50,116,57,62,54,13,16,96,135,16,60,121,21,15,61,77,97,83,59,55,54,81,70,51,65,15,16,112,91,20,62,83,19,22,59,59,111,65,65,60,56,97,65,66,63,19,17,94,119,16,73,98,15,19,63,73,74,49,56,57,81,100,63,66 H,1318727,8,600,4,16,1015675,222,4,1,1,,3,2,2,,50,0,100,10,3,200,1,,1,600,1,1,1,4,,,,2,1,,15,3,500,4,1,88500,2,,,2,1,88500,0,2,2,2,1,5,2,4,0,0,2,10,0,0,1,0,0,2,710,3,0,1,30,3,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,212,56,211,70,220,247,237,382,200,392,203,230,361,210,67,373,371,70,66,223,234,73,203,63,211,260,244,377,227,347,218,224,361,215,65,407,407,62,62,213,201,66,239,69,219,235,267,367,242,355,216,208,387,232,65,382,355,70,67,224,209,69,220,59,228,214,218,431,207,416,212,206,368,216,61,362,385,75,66 H,1318749,8,900,4,16,1015675,16,4,1,2,2,4,2,2,,60,0,2,3,6,400,1,,,,,3,1,9,,,,1,2,,12,3,420,4,2,48200,2,,,1,1,48200,0,2,2,2,1,6,2,4,0,0,2,5,0,0,1,0,0,1,198,,0,1,18,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,17,30,25,22,14,7,18,24,14,15,28,15,5,6,5,15,20,19,27,16,18,5,5,5,15,24,16,5,18,21,5,14,23,22,25,15,15,17,24,18,12,3,5,5,17,32,16,5,15,16,6,17,32,30,33,15,15,19,5,16,21,35,28,30,14,3,16,32,18,15,26,17,5,3,5,13,15,15,5 H,1318932,8,600,4,16,1015675,132,2,1,1,,3,2,2,,90,0,2,70,1,1200,1,,2,760,2,1,1,9,,,,1,1,,15,3,300,6,3,168400,4,,,1,1,168400,0,4,4,4,1,4,0,2,0,0,0,9,0,0,0,2,1,1,1195,3,0,1,30,1,7,7,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,37,38,242,116,210,132,129,242,127,242,38,38,132,124,146,234,133,36,135,142,227,221,38,140,40,130,117,40,128,35,237,228,136,138,131,41,135,225,135,123,40,41,224,124,209,146,130,263,123,220,38,41,134,145,155,220,144,37,135,131,226,225,38,128,37,123,126,35,125,37,219,197,135,132,125,43,144,234,126 H,1319086,8,900,4,16,1015675,74,4,1,2,1,3,2,2,,180,0,2,100,1,600,1,,2,450,2,1,1,7,,,,1,1,,13,3,2,9,1,140000,3,,,1,1,140000,0,1,1,1,1,4,2,4,0,0,2,7,0,0,1,0,0,1,838,3,0,1,16,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,78,144,72,22,69,22,159,98,29,22,112,71,64,66,77,121,74,17,92,124,78,169,73,21,79,20,138,101,21,23,69,76,87,75,106,101,49,20,102,119,65,118,86,19,84,26,115,65,26,23,76,79,76,83,60,101,88,21,126,154,71,161,73,22,77,23,126,66,19,20,67,65,75,82,81,108,84,30,129,128 H,1319141,8,300,4,16,1015675,114,2,1,1,,3,2,2,,30,0,2,10,1,270,1,,1,590,1,1,1,7,,,,1,1,,13,1,40,7,7,27000,2,,,1,3,27000,0,1,1,1,1,3,1,2,0,0,1,28,0,0,1,0,0,1,633,3,0,1,20,1,13,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,111,40,30,124,136,95,34,214,39,125,183,201,203,113,36,198,114,96,122,118,100,24,36,116,113,109,30,230,40,133,162,145,191,96,40,235,104,101,98,109,98,191,227,115,128,111,210,29,175,124,35,35,39,109,188,42,123,90,110,117,110,194,192,99,138,108,188,33,208,126,35,37,36,111,159,34,112,101,100 H,1319610,8,900,4,16,1015675,83,4,1,1,,4,2,2,,100,0,180,3,3,400,1,,1,750,1,1,1,9,,,100,1,1,,15,3,1000,5,1,82000,2,,,1,1,82000,0,3,3,3,1,4,2,4,0,0,2,15,0,0,1,0,0,1,1048,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,78,25,152,85,87,88,22,144,84,77,25,79,28,22,127,136,69,90,149,82,95,26,137,91,82,74,25,121,73,77,25,90,23,27,164,147,95,100,23,81,79,147,24,77,88,74,129,23,77,87,152,78,130,136,20,27,94,90,24,87,84,147,27,82,91,93,166,27,75,112,128,75,121,128,27,28,76,91,139 H,1319644,8,800,4,16,1015675,37,0,1,1,,0,2,2,,,,,,,,1,,,,,,1,1,,,,,,7,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,36,39,62,36,43,43,46,67,28,43,11,8,49,61,10,34,70,10,34,10,36,36,68,33,38,33,36,57,27,35,14,10,59,69,10,31,81,12,34,11,39,40,58,26,41,38,40,64,31,36,13,10,55,75,8,33,73,12,34,13,34,34,57,30,53,49,43,67,26,38,11,10,52,69,12,31,59,11,33 H,1319771,8,100,4,16,1015675,58,2,1,1,,3,2,2,,60,0,2,150,1,430,1,,,,,3,1,5,,,,1,2,,19,1,430,5,8,14800,4,,,1,3,14800,0,4,4,4,1,6,0,2,0,0,0,24,0,0,0,2,1,2,296,,0,1,5,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,15,77,105,72,63,54,15,63,87,83,88,99,19,47,22,52,46,20,49,50,16,94,75,58,57,54,18,59,80,59,108,87,17,70,17,51,56,20,76,69,14,81,87,65,77,64,15,58,104,70,119,95,15,42,17,73,47,19,56,56,20,87,76,51,51,55,18,41,105,79,119,89,20,52,15,60,61,15,73 H,1319901,8,500,4,16,1015675,80,1,1,1,,3,2,2,,50,0,2,100,1,0,1,,,,,3,1,7,,,,1,2,,2,2,600,6,,,,,,1,4,2100,0,4,4,4,1,7,0,,0,0,0,101,0,0,0,1,1,2,211,,0,1,4,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,19,24,92,25,142,85,103,83,115,87,23,88,136,123,82,96,117,26,91,90,21,23,75,26,147,78,82,65,133,78,21,83,141,145,86,78,130,24,77,89,134,151,70,124,27,76,82,86,27,81,151,81,25,24,69,72,21,136,90,79,123,150,91,135,26,80,75,77,23,84,138,84,18,27,85,84,24,125,69,81 H,1320245,8,900,4,16,1015675,61,4,1,1,,4,2,1,,50,0,2,90,1,470,1,,1,510,1,1,1,9,,,,1,1,,14,2,540,6,2,30010,1,,,1,1,30010,0,1,1,1,1,3,2,4,0,0,2,28,0,0,1,0,0,1,695,3,0,0,25,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,99,91,114,69,18,57,60,86,22,74,65,13,61,72,16,60,71,53,60,86,20,24,16,24,94,65,69,18,106,53,65,122,68,68,107,61,55,60,67,110,16,18,18,22,114,54,68,20,127,62,62,115,78,61,93,54,64,66,65,16,116,90,98,105,17,63,66,100,18,67,66,20,53,59,17,48,63,59,62 H,1320276,8,700,4,16,1015675,72,2,1,1,,4,2,2,,40,0,2,80,1,240,1,,1,1100,1,1,1,7,,,,1,1,,18,2,90,1,1,61100,4,,,1,1,61100,0,4,4,4,1,2,0,2,0,0,0,24,0,0,0,1,0,1,1228,3,0,1,6,2,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,28,73,22,74,108,76,122,22,75,130,115,68,75,71,84,76,20,68,106,117,117,72,127,74,22,71,20,123,70,21,20,71,74,70,73,82,121,68,24,22,21,71,23,68,125,71,124,21,72,122,120,76,70,66,70,69,22,76,132,123,112,72,115,70,22,82,24,117,77,24,20,72,74,74,73,77,116,72,20,23 H,1320906,8,800,4,16,1015675,70,0,1,2,,2,1,2,,,,,,,,1,,,,,,1,4,,,,,,7,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,86,28,20,23,60,66,71,66,62,113,98,111,79,23,57,90,70,69,24,108,86,25,21,23,64,76,71,60,77,108,91,108,77,23,62,97,88,70,115,26,55,103,131,108,79,70,75,65,73,27,25,18,50,105,80,20,64,79,108,26,60,92,128,118,75,69,74,62,64,28,23,18,46,111,97,18,66,75,22 H,1321151,8,500,4,16,1015675,250,2,1,1,,3,2,2,,20,0,2,100,1,250,1,,1,660,1,1,1,5,,,,1,1,,13,2,350,2,1,40200,4,,,1,1,40200,0,4,4,4,1,2,0,2,0,0,0,24,0,0,0,0,0,2,809,3,0,1,24,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,74,85,274,280,253,397,227,65,273,67,68,393,258,427,246,262,378,252,239,480,75,60,271,249,269,399,215,87,276,79,81,487,247,372,246,267,423,215,230,448,87,70,252,237,242,375,240,71,272,77,74,387,270,434,246,259,386,231,208,403,65,84,253,262,251,437,245,74,259,73,96,492,231,462,274,253,409,284,285 H,1321426,8,900,4,16,1015675,23,1,1,1,,3,2,2,,20,0,2,90,1,1500,1,,,,,3,1,6,,,,1,2,,12,1,40,9,,,,,,1,6,13200,0,4,4,4,1,7,0,,0,0,0,29,0,0,0,1,1,1,321,,0,1,22,,,,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,25,33,30,24,24,5,6,8,16,40,27,8,22,22,5,19,34,42,43,5,25,22,20,19,25,39,48,45,18,7,26,39,23,18,37,30,7,5,8,42,28,26,25,23,20,7,7,7,18,45,36,7,18,18,5,20,37,35,42,7,18,24,30,28,20,33,41,38,25,9,19,38,30,24,40,24,5,7,6,38 H,1321540,8,500,4,16,1015675,64,1,1,1,,2,2,2,,20,0,2,60,1,300,1,,1,500,1,1,1,5,,,,1,1,,13,1,560,9,,,,,,1,6,20000,0,4,4,4,1,3,0,,0,0,0,38,0,0,0,0,0,1,627,3,0,1,19,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,119,19,68,19,63,110,68,111,19,61,119,112,57,61,64,56,75,21,22,61,114,21,69,21,65,106,54,103,19,64,114,101,64,65,66,67,60,21,107,70,20,102,68,125,56,18,61,19,117,71,19,21,60,60,61,60,64,115,126,65,21,113,68,110,58,17,72,18,117,73,16,16,67,66,69,65,64,94,18 H,1321603,8,100,4,16,1015675,27,1,1,1,,3,1,2,,200,0,130,3,3,0,1,0,,,,3,1,5,,,,1,2,,1,3,40,5,,,,,,1,6,16200,0,4,4,4,1,4,0,,0,0,0,17,0,0,0,1,1,1,225,,0,0,4,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,24,41,48,8,7,41,25,10,50,56,25,28,7,25,37,28,28,7,27,31,26,7,7,56,52,8,27,52,7,5,27,22,34,29,29,29,24,39,26,27,23,7,8,49,53,8,22,42,8,10,31,31,40,24,30,31,29,53,24,42,30,52,49,5,7,44,27,6,50,58,25,20,7,29,30,33,18,6,27 H,1321644,8,600,4,16,1015675,121,2,1,1,,2,1,2,,50,0,2,3,3,360,1,2700,,,,3,1,4,,,,1,2,,9,2,2,3,,,,,,1,7,26000,0,4,4,4,1,1,0,,0,1,0,16,0,0,0,0,0,1,347,,0,0,12,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,41,35,30,197,114,123,36,213,117,120,204,132,111,196,129,117,106,188,117,206,219,213,222,34,140,124,174,33,130,130,37,111,119,38,137,120,122,38,119,185,199,213,203,38,109,120,214,37,126,117,34,124,126,40,127,114,117,32,117,35,36,42,38,206,154,104,32,179,110,116,244,125,115,197,114,120,124,215,119 H,1321685,8,900,4,16,1015675,423,2,1,,,2,5,,,1,1200,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,1,2,6,,,,400,25,4,7,19100,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,483,404,337,127,574,391,405,152,394,145,175,689,687,437,419,411,494,189,654,138,422,405,402,765,163,329,507,756,437,661,580,151,151,421,445,355,412,632,107,149,433,415,524,538,149,452,355,746,394,741,748,127,122,451,415,353,368,735,155,694,393,524,389,152,703,396,481,116,457,162,135,741,697,390,381,407,430,106,645,615 H,1322120,8,300,4,16,1015675,67,2,1,,,2,6,,,30,0,2,30,1,,1,,,,,,1,4,2,570,,1,3,,,2,270,2,3,37000,4,653,21,1,1,37000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,20,135,132,22,20,66,23,77,64,109,64,103,63,114,65,71,21,62,57,18,61,72,65,62,55,22,79,110,21,57,21,74,128,60,137,22,60,104,129,64,116,18,23,114,148,59,110,70,62,20,73,23,67,18,71,74,112,76,84,133,57,84,64,61,69,105,59,20,114,63,116,53,18,72,18,116,63,21,20,61 H,1322314,8,800,4,16,1015675,68,2,1,1,,4,2,2,,140,0,2,100,1,240,1,,2,160,2,1,1,9,,,,1,1,,11,1,530,6,4,18000,4,,,1,1,18000,0,4,4,4,1,7,0,2,0,0,0,35,0,0,0,2,2,1,521,3,0,1,15,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,82,61,76,87,78,78,15,24,154,103,21,65,118,22,22,71,74,99,71,66,71,90,78,109,75,63,21,23,84,123,24,66,117,19,17,58,73,112,100,78,60,56,64,102,84,55,15,22,118,88,21,72,84,22,17,65,78,110,76,75,86,73,66,105,85,58,16,24,113,101,26,70,137,22,21,81,77,114,79 H,1322983,8,300,4,16,1015675,351,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,102,235,501,430,105,321,433,362,106,305,90,458,343,466,329,358,444,784,708,355,372,117,304,530,388,587,601,112,293,111,375,382,107,326,117,597,635,387,355,319,374,107,287,578,416,566,510,111,358,106,307,400,118,387,121,493,532,416,455,103,112,339,533,347,113,351,295,312,122,326,115,510,362,550,355,419,322,518,628,106 H,1323041,8,100,4,16,1015675,117,0,1,1,,0,2,2,,,,,,,,2,,,,,,2,2,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,207,190,35,115,110,210,39,102,138,37,111,108,39,129,119,133,30,183,123,190,188,173,36,112,116,199,35,91,122,45,136,114,33,156,117,126,34,182,100,39,33,31,192,122,127,38,242,118,103,232,100,101,221,136,122,94,228,43,129,34,37,40,182,112,140,35,208,122,121,205,103,122,225,99,125,106,195,38,137 H,1323183,8,500,4,16,1015675,13,2,1,1,,3,2,2,,80,0,850,3,6,330,1,,,,,3,1,5,,,,1,2,,14,2,600,9,1,24000,4,,,1,1,24000,0,4,4,4,1,6,0,2,0,0,0,14,0,0,0,0,0,1,287,,0,1,16,2,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,15,24,5,15,22,23,13,13,14,13,13,3,14,20,3,11,3,15,4,26,15,24,5,13,21,27,13,12,12,14,15,5,13,22,5,11,4,13,22,3,13,5,23,13,4,5,13,13,13,15,11,21,15,3,21,11,22,14,27,3,13,3,22,16,5,3,13,13,12,15,15,21,14,4,21,15,28,15,4 H,1323901,8,400,4,16,1015675,217,5,1,2,1,3,2,1,,30,0,2,140,1,0,1,,,,,3,1,6,,,,1,2,,15,6,840,2,1,88100,2,,,2,1,88100,0,2,2,2,1,3,2,5,0,0,2,4,0,0,1,0,0,1,298,,0,0,16,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,162,380,231,70,223,95,99,303,172,316,163,182,372,203,270,56,56,243,148,256,174,98,247,285,258,343,357,78,171,57,198,183,89,296,118,430,347,217,206,192,184,318,219,88,216,121,71,267,253,415,285,251,256,213,321,58,64,248,180,215,162,80,170,286,241,229,318,102,187,82,175,110,74,327,105,372,451,223,343 H,1324003,8,700,4,16,1015675,86,1,1,1,,3,2,2,,30,0,2,180,1,930,1,,,,,3,1,7,,,,1,2,,20,1,320,6,,,,,,1,6,6000,0,4,4,4,1,7,0,,0,0,0,97,0,0,0,1,1,2,484,,0,1,32,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,84,129,84,87,80,23,26,89,25,155,25,130,84,136,144,85,82,76,78,80,26,87,134,25,27,89,99,139,92,89,78,82,132,81,84,25,29,161,146,25,81,155,86,80,86,25,24,89,27,161,24,154,81,146,129,86,83,80,94,84,21,79,140,24,27,82,83,146,84,83,88,90,143,86,89,23,23,144,145,25 H,1324275,8,400,4,16,1015675,178,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,322,329,47,62,259,152,53,254,284,174,181,51,172,181,178,154,50,212,189,200,51,51,300,283,57,226,295,57,62,157,161,295,149,163,184,174,275,189,211,188,302,321,55,56,275,205,52,262,333,181,163,41,153,183,165,189,52,163,177,173,55,49,319,323,45,204,313,49,63,198,171,332,181,167,191,159,246,195,173,200 H,1324277,8,800,4,16,1015675,83,2,1,,,1,5,,,90,0,2,3,3,,1,,,,,,1,4,2,350,,1,3,,,2,1,3,7,23700,4,440,22,1,3,23700,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,130,127,139,76,112,99,103,84,21,29,27,64,105,94,22,75,89,29,19,102,21,26,25,74,102,80,85,60,88,149,204,74,24,103,133,85,107,180,19,110,24,26,22,74,129,94,81,60,92,167,231,77,24,116,121,85,96,151,140,131,109,131,126,57,104,103,85,76,21,23,31,78,122,97,26,77,78,33,133 H,1324294,8,500,4,16,1015675,20,2,1,1,,3,1,2,,290,0,2,3,3,470,1,450,2,350,2,1,1,6,,,,1,1,,9,2,720,3,1,38000,4,,,2,1,38000,0,4,4,4,1,5,0,2,0,0,0,26,0,0,0,0,0,2,810,3,0,0,10,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,21,5,33,21,21,5,21,4,5,35,33,18,20,19,21,7,33,20,21,33,20,6,31,19,19,5,20,6,5,35,35,21,19,19,19,5,36,18,25,33,22,7,35,21,22,5,18,7,6,33,39,21,18,20,18,5,31,17,21,38,22,7,38,16,20,7,20,5,5,33,39,15,19,21,24,7,33,21,16,36 H,1324592,8,800,4,16,1015675,127,4,1,,,3,4,,,180,0,2,3,3,1000,1,,1,380,1,1,1,4,,,,1,1,,23,2,1200,5,2,73400,1,,,1,1,73400,0,1,1,1,1,3,2,4,0,0,2,11,0,0,1,0,0,2,660,3,0,0,38,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,120,35,141,259,39,39,205,150,134,221,135,214,124,138,122,42,139,36,39,156,126,210,130,39,222,213,45,113,110,43,123,37,107,105,103,209,109,208,49,120,121,239,127,34,189,175,39,116,115,41,140,38,162,121,115,197,147,210,176,112,122,45,109,200,39,38,191,122,162,261,131,194,136,113,135,37,136,43,186 H,1325012,8,300,4,16,1015675,23,1,1,1,,4,2,2,,50,0,2,300,2,350,1,,,,,3,1,7,,,,1,2,,14,1,420,7,,,,,,1,6,15000,0,4,4,4,1,7,0,,0,0,0,40,0,0,0,1,1,2,497,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,39,22,25,25,8,8,27,6,29,6,31,21,29,36,22,27,24,22,26,34,24,6,33,37,22,16,6,22,18,23,26,8,20,25,42,34,10,6,25,39,24,6,27,25,23,21,6,24,25,25,28,7,21,26,28,28,8,8,6,25,32,19,20,20,10,8,23,8,30,8,42,22,36,55,26,21,25,19,6 H,1325016,8,800,4,16,1015675,168,2,1,1,,4,2,2,,150,0,2,3,3,600,1,,,,,3,1,8,,,,1,2,,14,2,1000,4,7,26000,2,,,1,3,26000,0,2,2,2,1,3,1,2,0,0,1,19,0,0,1,0,0,1,408,,0,1,27,1,14,13,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,164,48,253,163,52,54,183,175,203,183,177,371,158,42,310,159,294,205,53,50,164,265,45,154,287,288,150,186,164,166,195,42,162,253,47,133,50,153,275,66,177,270,56,186,284,256,137,169,136,159,166,54,176,305,43,158,49,170,296,241,157,48,270,155,40,46,154,151,180,183,182,274,168,66,248,188,268,174,64,271 H,1325034,8,400,4,16,1015675,107,1,1,1,,3,2,1,,40,0,2,20,1,320,1,,2,530,2,1,1,7,,,,1,1,,14,1,320,3,,,,,,1,6,9600,0,4,4,4,1,3,0,,0,0,0,94,0,0,0,1,1,1,754,3,0,0,25,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,156,33,29,173,113,34,237,168,77,108,36,101,92,113,122,37,112,113,107,37,34,179,206,34,98,156,36,41,108,102,154,107,84,82,113,167,105,132,103,206,176,38,41,141,88,39,247,194,102,134,26,111,122,79,109,32,91,108,93,36,26,163,246,28,95,148,26,42,121,120,195,94,87,110,125,203,100,107,100 H,1325073,8,400,4,16,1015675,65,1,1,1,,2,2,2,,40,0,120,20,4,1400,1,,,,,3,1,5,,,,1,2,,11,1,160,4,,,,,,1,4,18700,0,4,4,4,1,6,0,,0,0,0,20,0,0,0,0,0,2,317,,0,1,26,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,91,84,21,100,72,94,95,17,27,78,53,20,104,136,57,69,32,52,69,85,59,51,111,54,72,21,13,96,119,23,68,133,15,17,86,66,98,73,61,60,71,79,19,52,48,90,122,23,18,103,63,21,132,102,60,91,28,51,72,73,87,60,97,84,83,19,18,88,86,22,70,98,14,17,78,105,106,55,70 H,1325457,8,100,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1325689,8,500,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1325933,8,100,4,16,1015675,32,1,1,1,,2,2,2,,50,0,130,3,6,800,1,,,,,3,1,3,,,,1,2,,14,2,30,5,,,,,,1,4,76700,0,4,4,4,1,5,0,,0,0,0,3,0,0,0,1,1,1,214,,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,29,27,10,10,51,8,30,27,58,49,55,28,33,10,47,36,8,31,10,61,9,10,38,35,31,31,48,8,37,31,33,46,8,34,23,47,34,62,35,26,32,32,67,56,8,60,30,31,8,8,9,35,30,52,9,33,54,28,56,12,50,49,32,39,32,28,11,44,30,28,28,10,44,28,29,11,34,10,31 H,1326193,8,600,4,16,1015675,78,1,1,1,,4,2,2,,60,0,170,60,1,660,1,,2,200,2,1,1,8,,,,1,1,,18,1,650,5,,,,,,1,4,48470,0,4,4,4,1,5,0,,0,0,0,15,0,0,0,0,0,1,590,3,0,1,29,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,141,80,22,130,128,21,75,72,23,78,23,83,88,72,126,83,128,77,25,71,127,75,21,123,130,22,72,68,23,80,24,83,79,81,147,73,127,77,25,76,130,81,22,128,136,23,77,76,23,71,24,74,73,81,125,77,124,73,23,73,137,72,23,131,130,23,77,79,24,79,22,77,81,80,134,75,131,75,23 H,1326256,8,100,4,16,1015675,101,4,1,2,1,4,2,2,,50,0,2,150,2,900,1,,1,1000,1,1,1,9,,,,1,1,,20,4,2,3,7,113000,4,,,1,3,113000,0,4,4,4,1,5,0,4,0,0,0,13,0,0,0,0,0,1,1200,3,0,1,24,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,97,32,107,172,93,206,35,115,168,176,109,96,95,108,105,32,109,188,188,139,111,153,102,29,95,30,170,91,33,31,100,97,94,101,103,153,82,29,30,33,113,25,105,133,85,164,32,92,150,156,124,97,85,109,104,32,117,176,191,160,106,180,99,27,99,25,185,106,30,33,106,118,123,94,97,184,105,33,33 H,1326361,8,100,4,16,1015675,29,4,1,1,,4,2,2,,180,0,800,3,4,,1,,,,,,1,7,2,400,,1,3,,,3,1,6,8,13300,2,647,58,1,3,13300,0,2,2,2,1,1,1,4,0,0,1,,0,0,1,0,0,1,,,1,0,,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,10,46,30,7,9,40,29,33,26,26,57,31,13,66,37,52,36,9,62,24,8,58,26,8,8,29,29,20,23,27,48,31,9,46,21,45,25,7,60,24,12,54,34,10,7,28,31,28,22,34,50,29,10,51,32,41,30,10,73,30,9,40,39,8,6,28,30,25,24,23,39,31,9,55,28,45,27,7,68 H,1326597,8,100,4,16,1015675,66,2,1,2,2,4,2,2,,190,0,570,380,3,750,1,,1,820,1,1,1,9,,,150,1,1,,19,2,2,3,8,55100,4,,,1,3,55100,0,4,4,4,1,4,0,2,0,0,0,35,0,0,0,1,1,1,1588,2,0,1,32,1,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,115,103,95,20,74,70,101,20,52,59,24,64,76,24,52,66,76,19,112,76,19,23,17,113,61,61,14,103,71,54,116,84,78,102,74,63,59,112,15,70,113,88,109,18,74,68,99,20,67,68,20,63,66,20,69,54,64,20,117,77,17,21,18,120,64,51,23,126,66,63,112,71,69,112,65,72,78,98,18,82 H,1326658,8,100,4,16,1015675,49,1,1,2,1,2,1,2,,30,0,2,60,1,210,1,190,,,,3,1,4,,,,1,2,,14,1,260,3,,,,,,1,6,5110,0,4,4,4,1,5,0,,0,0,0,36,0,0,0,1,1,1,152,,0,0,3,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,47,46,48,96,12,86,54,15,17,17,50,74,15,52,45,54,50,86,49,80,45,41,49,80,16,98,50,14,15,14,46,90,14,57,43,44,45,74,59,13,53,44,53,14,76,13,47,87,80,79,51,14,68,48,47,42,44,14,54,16,51,48,48,15,81,13,54,82,88,79,46,15,90,52,48,48,46,15,49 H,1326735,8,800,4,16,1015675,114,3,1,1,,4,2,2,,80,0,500,10,1,400,1,,1,1200,1,1,1,9,,,240,1,1,,16,4,200,5,1,102000,4,,,1,1,102000,0,4,4,4,1,5,0,3,0,0,0,19,0,0,0,0,0,1,1589,1,0,1,22,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,38,172,120,114,116,168,100,42,115,147,213,120,97,170,25,100,32,36,109,111,220,34,111,112,99,36,137,211,128,29,36,88,127,35,166,120,173,206,120,113,30,208,114,114,101,178,132,30,126,179,220,107,120,201,34,129,29,35,116,96,164,32,105,109,110,35,93,185,97,30,36,124,104,37,215,104,191,215,121 H,1326799,8,300,4,16,1015675,39,0,1,3,,2,2,2,,,,,,,,1,,,,,,1,5,,,,,,4,24,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,44,33,83,68,37,50,42,41,60,37,51,39,52,64,69,84,50,46,41,12,13,35,12,13,38,39,44,32,11,42,14,42,10,13,13,12,43,39,35,71,70,33,66,80,37,32,42,40,70,35,76,44,75,80,55,60,48,51,40,12,12,34,11,14,38,31,36,46,11,44,9,41,10,11,13,11,34,42,41 H,1326841,8,600,4,16,1015675,107,1,1,1,,2,3,2,,100,0,2,3,3,390,1,,1,670,1,1,1,5,,,,1,1,,14,1,220,4,,,,,,1,6,35020,0,4,4,4,1,5,0,,0,0,0,27,0,0,0,0,0,1,788,3,0,1,21,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,122,103,174,111,101,175,176,174,176,108,189,115,190,98,106,114,105,191,36,30,110,108,29,101,107,30,29,28,31,118,34,109,30,116,117,96,100,30,32,30,102,111,34,110,100,32,31,32,35,101,33,113,30,121,106,103,107,29,176,186,110,107,190,111,106,161,187,172,185,111,185,117,193,106,101,104,109,172,184 H,1327689,8,900,4,16,1015675,59,4,1,1,,3,2,2,,40,0,2,50,1,330,1,,1,960,1,1,1,5,,,240,1,1,,17,2,100,1,1,21230,2,,,1,1,21230,0,2,2,2,1,1,2,4,0,0,2,73,0,0,1,0,0,2,1298,1,0,1,3,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,101,84,51,67,68,58,68,18,14,17,54,95,74,17,70,60,17,75,92,17,35,14,42,46,63,81,60,131,84,117,51,18,74,64,56,57,110,61,19,93,102,94,60,49,46,92,57,17,15,20,70,116,52,23,52,107,21,41,119,24,17,17,65,56,46,52,55,78,109,91,66,19,62,121,66,75,70,58,13,97 H,1327946,8,800,4,16,1015675,149,4,1,2,1,3,1,2,,180,200,2,30,3,,1,,,,,,1,6,2,400,,1,3,,,2,2,3,8,700,1,610,58,2,3,12700,0,1,1,1,1,1,2,3,0,1,2,,3,0,1,0,0,1,,,1,0,,0,15,15,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,164,159,114,94,31,42,40,141,180,180,73,196,191,48,110,228,268,216,273,155,182,141,175,196,52,58,58,163,231,117,45,144,120,44,191,231,275,286,81,186,158,175,171,130,270,256,225,159,46,171,296,137,113,243,192,58,38,42,53,134,128,176,184,115,172,195,228,140,44,128,207,206,132,188,191,53,56,54,192 H,1328014,8,900,4,16,1015675,41,1,1,1,,2,2,2,,20,0,2,60,1,,1,,,,,,1,4,,,,1,4,,,1,600,8,,,,,,1,6,14000,0,4,4,4,1,6,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,64,84,13,35,55,12,13,48,39,80,37,31,32,35,59,42,52,14,42,10,80,82,17,45,68,18,17,37,41,67,38,35,43,49,55,43,77,14,35,14,75,66,16,46,50,9,15,54,40,68,36,26,37,45,103,45,35,13,36,10,63,71,16,46,75,13,11,47,41,50,42,38,42,47,59,40,60,15,35 H,1328022,8,300,4,16,1015675,84,2,1,2,2,4,2,2,,50,0,1000,3,3,360,1,,,,,3,1,8,,,,1,2,,14,3,2,5,4,35700,4,,,1,1,35700,0,4,4,4,1,7,0,2,0,0,0,8,0,0,0,2,2,1,230,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,36,91,118,159,211,115,84,96,75,69,21,29,26,71,111,56,28,100,131,87,26,78,148,168,130,72,107,114,102,96,22,23,20,60,110,97,31,103,26,116,125,115,33,17,21,85,63,97,69,75,149,215,126,88,28,89,145,75,23,116,111,78,24,20,26,97,89,92,85,111,88,131,156,102,26,87,107,101,107 H,1328050,8,800,4,16,1015675,105,2,1,2,1,3,2,2,,90,0,2,3,3,,1,,,,,,1,4,,,,1,4,,,2,2,8,4,11400,4,,,1,1,11400,0,4,4,4,1,7,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,133,137,120,90,29,30,99,24,143,30,160,102,198,151,106,145,110,121,119,133,113,38,170,184,102,109,46,123,102,120,91,25,109,97,160,138,37,34,105,31,99,196,28,31,97,86,207,107,94,94,124,179,116,80,28,39,134,165,204,94,32,101,127,133,163,153,133,195,37,187,31,120,32,36,127,79,96,94,38 H,1328273,8,600,4,16,1015675,115,2,1,1,,3,2,2,,70,0,2,120,1,1200,1,,,,,3,1,5,,,,1,2,,18,3,130,3,2,53900,4,,,1,1,53900,0,4,4,4,1,3,0,2,0,0,0,10,0,0,0,2,0,2,446,,0,1,29,1,7,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,108,35,37,105,216,35,182,123,107,120,115,112,121,34,207,124,111,185,124,116,196,114,123,200,127,110,121,204,35,35,33,32,194,130,123,35,175,112,211,30,110,206,203,111,35,210,34,119,113,105,122,107,114,219,37,114,117,37,123,120,36,111,118,34,116,111,111,34,205,199,173,181,37,122,116,203,34,123,34 H,1328380,8,400,4,16,1015675,130,1,1,1,,2,2,2,,40,0,400,3,4,600,1,,1,540,1,1,1,7,,,,1,1,,17,1,480,9,,,,,,1,6,35000,0,4,4,4,1,4,0,,0,0,0,22,0,0,0,0,0,2,653,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,154,59,142,168,252,233,36,32,218,96,45,174,186,134,90,36,118,160,190,150,151,244,115,117,34,40,171,247,41,121,220,39,39,134,113,160,104,153,146,148,134,234,113,125,54,40,164,196,43,100,207,41,29,122,113,199,162,135,154,127,123,46,138,148,273,263,34,43,166,131,48,244,177,189,145,29,111,120,105,107 H,1328505,8,500,4,16,1015675,379,2,1,,,2,6,,,40,0,2,3,3,,1,,,,,,1,4,2,720,,1,3,,,2,1,2,,,,760,18,1,5,50000,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,498,548,376,138,380,530,405,362,605,332,145,131,113,412,361,447,339,311,477,132,133,142,466,613,480,121,323,361,142,420,572,644,569,379,400,293,478,405,119,627,549,648,372,102,412,602,360,424,595,406,139,132,111,370,480,387,368,363,585,137,119,127,350,557,457,136,408,348,110,351,559,675,530,366,334,385,348,351,120 H,1328665,8,700,4,16,1015675,119,2,1,1,,4,2,2,,80,0,2,20,1,500,1,,1,1100,1,1,1,5,,,200,1,1,,19,2,420,2,1,53300,4,,,1,1,53300,0,4,4,4,1,1,0,2,0,0,0,32,0,0,0,1,1,1,1435,2,0,1,35,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,122,117,125,163,191,210,116,32,118,206,114,114,179,113,42,35,35,118,32,129,117,120,119,205,222,219,102,36,129,186,123,120,210,123,35,41,36,129,37,121,133,126,126,192,192,202,115,35,113,205,117,121,198,116,38,32,38,114,33,108,111,134,115,211,210,184,124,35,116,184,129,120,190,110,35,38,38,116,33 H,1329151,8,700,4,16,1015675,216,1,1,1,,3,2,2,,30,0,2,220,1,300,1,,1,900,1,1,1,7,,,400,2,1,,18,1,500,2,,,,,,1,6,30000,0,4,4,4,1,3,0,,0,0,0,64,0,0,0,0,0,2,1592,4,0,1,28,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,0,1,0,383,222,236,369,215,62,359,356,61,203,217,65,225,63,194,217,222,370,227,66,337,225,200,361,200,66,353,361,63,224,224,66,222,64,229,242,205,370,204,398,65,211,215,65,207,353,65,59,376,244,204,384,222,335,209,205,202,58,216,362,63,205,216,65,223,364,61,67,384,235,224,370,211,378,223,214,226,65,193,60 H,1329481,8,800,4,16,1015675,16,3,1,1,,3,2,2,,100,0,400,30,6,840,1,,1,450,1,1,1,5,,,380,1,1,,10,2,30,5,1,127000,4,,,1,1,127000,0,4,4,4,1,6,0,3,0,0,0,9,0,0,0,1,0,1,996,1,0,1,15,3,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,16,13,12,17,5,4,5,17,34,16,4,15,15,5,14,28,32,26,27,18,14,17,17,19,5,3,5,14,30,16,5,15,16,7,19,22,20,33,5,14,14,17,13,17,33,24,25,15,7,15,24,12,12,26,15,5,5,7,5,15,17,21,15,16,30,28,25,15,5,12,29,16,13,40,21,4,3,5,24 H,1329814,8,800,4,16,1015675,164,0,1,1,,5,2,2,,,,,,,,1,,,,,,1,9,,,,,,5,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,209,282,49,49,268,148,155,348,144,241,154,164,150,40,146,56,166,168,62,305,181,46,308,264,51,180,169,54,177,44,144,166,153,291,167,254,189,176,286,58,187,248,47,46,263,166,178,357,169,265,200,147,143,53,162,57,171,168,42,274,181,49,304,260,47,191,147,48,167,49,153,167,150,256,194,290,167,151,277 H,1329881,8,500,4,16,1015675,368,0,1,,,3,5,,,,,,,,,1,,,,,,1,4,2,500,,,,1,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,333,374,403,132,623,350,357,123,297,108,92,483,477,402,413,308,410,103,528,125,338,488,322,634,125,345,383,577,444,568,608,122,96,434,387,322,388,721,89,541,415,373,328,96,509,424,345,130,458,95,116,638,614,369,362,465,369,118,642,94,340,327,360,599,110,372,393,534,388,589,648,117,123,318,385,444,312,600,127,732 H,1329954,8,100,4,16,1015675,89,2,1,1,,3,2,2,,60,0,2,4,1,310,1,,,,,3,1,5,,,,1,2,,17,2,390,5,2,33550,4,,,1,1,33550,0,4,4,4,1,6,0,2,0,0,0,7,0,0,0,0,0,1,192,,0,1,18,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,123,187,94,136,84,89,202,98,24,150,135,21,86,90,32,93,26,82,123,89,110,33,88,28,75,89,32,76,154,34,29,139,94,81,142,78,110,88,28,81,92,148,84,176,114,94,135,101,27,129,141,24,111,105,25,85,23,98,142,98,94,20,82,27,92,82,27,89,126,23,37,162,90,103,185,80,135,78,24 H,1330019,8,300,4,16,1015675,93,1,1,1,,5,2,2,,80,0,50,60,1,450,1,,1,730,1,1,1,9,,,,2,1,,14,2,600,9,,,,,,1,4,20000,0,4,4,4,1,2,0,,0,0,0,55,0,0,0,0,0,2,924,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,108,71,26,112,26,94,95,24,101,136,26,26,146,103,86,177,104,145,134,124,75,99,28,91,26,90,111,26,108,179,30,26,132,93,89,152,83,146,26,71,92,99,129,119,173,89,83,127,94,26,164,162,24,108,100,32,99,25,33,84,83,105,163,99,171,88,81,147,88,25,137,152,29,100,123,26,101,29,169 H,1330083,8,700,4,16,1015675,109,4,1,1,,3,2,2,,20,0,2,110,1,,1,,,,,,1,5,2,850,,1,3,,,3,40,3,3,54480,1,983,22,1,1,54480,0,1,1,1,1,1,1,4,0,0,1,,0,0,1,0,0,1,,,1,0,,3,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,119,31,33,115,185,104,203,35,169,110,180,108,36,27,109,178,108,123,36,167,30,115,114,30,107,31,103,100,122,195,125,168,105,130,186,102,26,178,116,117,104,35,32,106,191,117,175,30,201,101,180,110,30,33,97,177,111,100,30,201,38,100,116,34,96,32,110,101,114,171,102,194,113,113,199,111,34,163,107 H,1330774,8,800,4,16,1015675,24,2,1,2,1,2,2,2,,230,0,110,3,3,30,1,,,,,3,1,5,,,,1,2,,15,3,2,5,4,44300,4,,,1,1,44300,0,4,4,4,1,7,0,2,0,0,0,9,0,0,0,2,2,1,322,,0,1,21,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,25,30,32,65,27,5,20,36,21,26,61,42,8,5,7,23,22,22,8,19,18,33,47,45,24,7,20,46,22,23,39,27,10,9,5,27,22,21,5,28,32,61,40,35,24,8,30,50,29,21,29,16,5,7,5,20,21,22,5,32,32,44,41,42,18,7,20,31,24,25,38,23,5,8,7,24,28,28,9 H,1330910,8,600,4,16,1015675,262,4,1,1,,3,2,2,,60,0,2,20,1,,1,,,,,,1,6,2,880,,1,3,,,2,290,4,7,83500,1,984,14,1,3,83500,0,1,1,1,1,1,1,4,0,0,1,,0,1,1,0,0,2,,,1,0,,3,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,443,257,388,267,281,429,263,88,487,443,82,276,254,70,249,71,249,249,255,500,76,282,88,242,266,79,307,491,79,85,425,286,258,373,261,425,259,249,252,467,72,226,76,304,272,81,276,474,76,79,453,233,235,504,280,427,291,286,234,75,425,283,438,252,255,478,267,75,470,399,79,273,276,79,267,72,236,286,247,80 H,1331058,8,400,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1331236,8,100,4,16,1015675,83,1,1,1,,3,2,2,,30,0,600,3,3,600,1,,1,1000,1,1,1,4,,,,1,1,,18,2,360,7,,,,,,1,4,30000,0,4,4,4,1,4,0,,0,0,0,44,0,0,0,0,0,2,1110,3,0,1,23,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,26,73,23,104,94,22,80,152,29,20,128,81,73,149,90,129,75,84,24,86,142,78,140,93,95,136,81,26,134,171,25,75,97,23,74,24,68,80,130,78,24,83,22,87,81,25,91,129,27,23,133,85,84,142,96,124,88,96,20,98,148,86,139,72,86,115,99,27,133,159,20,75,94,26,83,21,98,78,167 H,1331282,8,800,4,16,1015675,19,2,1,1,,4,2,2,,100,0,600,100,1,600,1,,1,600,1,1,1,7,,,210,1,1,,11,2,740,9,2,62000,4,,,1,1,62000,0,4,4,4,1,5,0,2,0,0,0,22,0,0,0,1,0,2,1122,2,0,1,26,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,5,17,22,21,22,5,22,27,33,33,7,7,28,15,6,39,28,15,24,22,27,30,22,17,29,29,16,20,4,5,42,40,6,15,37,6,5,22,17,17,7,19,17,18,19,4,20,20,34,41,5,5,31,21,5,39,33,15,19,24,25,20,22,20,27,30,16,20,5,3,30,30,3,25,47,5,5,20,19,21 H,1331503,8,900,4,16,1015675,50,3,1,,,2,5,,,1,0,1,1,1,,1,,,,,,1,4,2,480,,2,3,,,0,1,3,,,,480,101,4,5,1200,0,4,4,4,2,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,34,37,27,39,78,52,101,76,27,87,16,44,51,16,36,16,104,60,49,52,51,53,80,79,15,56,20,13,60,43,84,64,56,100,55,80,15,17,91,56,54,60,18,48,74,68,62,64,15,40,22,62,52,13,51,16,61,141,34,38,59,44,84,52,17,53,16,17,94,53,75,52,46,73,60,71,25,15,38 H,1331701,8,400,4,16,1015675,115,2,1,1,,3,2,2,,60,360,2,3,3,1500,1,,2,380,2,1,1,7,,,,1,1,,10,4,550,4,,,,,,1,7,21800,0,4,4,4,1,5,0,,0,1,0,35,0,0,0,2,2,2,640,3,0,1,9,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,32,123,170,90,23,98,107,43,120,202,189,231,157,102,96,114,91,34,224,39,27,88,213,202,50,110,135,49,163,185,166,158,81,112,172,114,72,35,59,201,200,121,37,121,170,122,90,184,161,45,52,38,77,110,149,129,108,191,37,227,210,106,32,84,120,111,117,207,138,27,32,58,117,90,100,112,121,197,192 H,1331829,8,400,4,16,1015675,20,3,1,2,1,2,2,2,,120,0,30,3,6,480,1,,1,800,1,1,1,3,,,400,1,1,,18,3,2,2,1,139600,2,,,1,1,139600,0,2,2,2,1,4,1,3,0,0,1,11,0,0,1,0,0,2,1323,1,0,1,26,3,4,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,22,32,17,39,15,15,26,5,21,5,18,20,5,21,36,5,5,40,24,8,20,5,20,7,19,25,21,35,25,35,17,18,31,19,5,28,31,7,25,33,22,35,22,33,14,18,17,5,25,6,17,17,7,18,26,7,7,32,22,6,20,5,26,6,17,31,20,32,25,38,17,22,36,17,5,32,30,5,20,37 H,1331894,8,300,4,16,1015675,167,2,1,1,,3,2,2,,30,0,2,50,1,500,1,,2,690,2,1,1,5,,,190,1,1,,13,2,540,3,1,33500,4,,,1,1,33500,0,4,4,4,1,4,0,2,0,0,0,40,0,0,0,2,0,1,1118,1,0,1,19,2,2,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,294,204,211,251,179,49,287,318,99,172,169,52,134,61,175,158,161,301,219,227,53,192,175,54,155,223,54,69,415,173,136,234,88,170,142,147,147,71,191,308,73,133,172,52,139,227,55,38,349,181,165,304,225,290,258,197,173,60,180,71,234,100,132,258,152,52,308,204,60,213,146,38,151,50,248,156,125,234,143,35 H,1331900,8,700,4,16,1015675,84,2,1,2,1,3,2,2,,100,0,2,200,1,1200,1,,2,500,2,1,1,5,,,400,1,1,,23,2,2,3,2,97500,4,,,1,1,97500,0,4,4,4,1,4,0,2,0,0,0,22,0,0,0,0,0,1,1800,2,0,1,64,1,6,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,145,79,21,20,77,130,25,141,83,87,87,82,79,87,30,140,83,78,136,83,79,132,76,82,140,78,87,86,141,24,25,23,25,146,82,84,22,139,93,136,25,86,133,137,82,24,143,22,78,81,79,89,93,83,139,25,89,88,24,79,78,27,85,85,24,81,87,80,23,155,140,139,146,22,78,85,139,24,78,27 H,1332036,8,200,4,16,1015675,44,2,1,1,,3,2,2,,30,0,2,30,4,530,1,,,,,3,1,6,,,,1,2,,10,3,650,7,4,80790,4,,,1,1,80790,0,4,4,4,1,7,0,2,0,0,0,3,0,0,0,2,2,1,227,,0,1,18,0,9,9,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,40,29,85,83,11,35,14,9,78,46,75,62,57,68,51,81,15,18,52,42,37,37,14,54,88,47,54,57,19,60,14,49,52,14,49,16,68,74,46,50,49,54,55,36,19,52,13,20,74,60,63,40,39,67,46,63,12,17,44,38,46,57,14,40,67,46,80,73,18,52,15,47,34,12,45,12,88,80,37,29 H,1332217,8,500,4,16,1015675,250,3,1,1,,2,2,2,,90,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,1,1,5,7,26500,3,540,24,1,3,26500,0,3,3,3,1,1,2,3,0,0,2,,0,0,1,0,0,2,,,1,0,,1,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,422,248,72,395,422,84,234,219,80,217,73,251,284,246,375,241,393,296,72,262,398,236,88,470,369,81,256,227,71,229,82,268,282,256,442,236,418,294,69,254,463,256,75,409,405,84,279,235,68,255,66,219,244,274,427,271,409,218,87,235,408,209,74,442,459,87,255,266,67,259,80,255,260,282,411,228,432,257,73 H,1332282,8,400,4,16,1015675,46,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,3,,,,,,7,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,88,63,35,44,16,56,50,50,43,15,45,50,65,63,15,11,75,59,18,54,72,87,47,51,12,35,45,46,49,15,49,36,75,86,14,11,78,42,10,45,13,14,49,57,73,43,48,43,43,74,39,40,11,17,83,65,14,46,65,43,19,14,45,46,85,49,40,45,42,79,48,47,13,13,66,64,11,42,92,35 H,1332284,8,600,4,16,1015675,115,1,1,1,,4,2,2,,40,0,2,50,1,670,1,,1,940,1,1,1,8,,,200,1,1,,16,1,2400,5,,,,,,1,6,30000,0,4,4,4,1,6,0,,0,0,0,57,0,0,0,0,0,1,1430,2,0,1,28,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,113,192,193,106,228,201,110,106,131,113,187,112,204,113,181,199,216,195,109,111,102,35,33,118,33,32,119,113,121,106,42,121,33,133,32,36,32,35,134,115,124,34,34,112,31,34,111,123,102,115,35,112,34,116,35,33,33,34,120,115,131,205,202,106,193,215,111,116,112,110,200,117,206,108,206,197,206,194,117 H,1332361,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1332588,8,900,4,16,1015675,100,9,1,1,,4,2,2,,170,11400,2,3,3,420,1,,1,650,1,1,1,8,,,,1,1,,14,4,2,4,1,13700,3,,,1,1,13700,0,3,3,3,1,4,5,9,0,0,6,72,0,0,1,0,0,1,820,3,0,1,13,3,5,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,83,28,30,142,161,32,119,219,29,39,103,96,153,89,99,115,98,168,105,114,114,33,31,132,119,30,142,213,30,36,86,79,196,103,80,102,114,138,92,94,91,159,147,26,32,171,95,30,169,238,122,130,29,63,99,91,80,38,115,115,124,193,144,21,28,210,114,28,206,195,85,113,33,78,90,88,97,33,105,95 H,1332604,8,700,4,16,1015675,78,2,1,1,,3,2,2,,20,0,2,10,1,450,1,,,,,3,1,6,,,,1,2,,17,2,820,3,4,36100,4,,,1,1,36100,0,4,4,4,1,4,0,2,0,0,0,7,0,0,0,2,0,1,211,,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,84,130,133,77,92,65,98,23,137,99,27,20,33,84,124,24,59,68,159,22,25,91,66,108,127,26,92,82,85,27,71,71,76,105,79,95,26,107,50,83,96,124,154,81,65,85,115,25,119,85,24,29,35,77,116,24,68,74,137,21,25,90,67,118,125,22,93,133,66,23,78,73,78,103,77,104,26,108,82 H,1332712,8,300,4,16,1015675,97,2,1,,,2,4,,,80,0,2,40,1,,1,,,,,,1,4,2,460,,1,3,,,1,1,4,5,600,2,580,101,1,2,600,0,2,2,2,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,86,174,24,149,94,27,26,28,86,188,24,108,111,107,86,130,154,97,102,148,22,95,99,117,29,112,110,83,164,102,114,29,175,29,28,107,110,167,159,100,108,28,156,29,109,162,153,178,106,28,153,98,98,96,113,27,27,91,89,25,186,82,104,91,141,115,90,92,27,86,112,170,33,165,164,77,94,31,29,101 H,1332765,8,500,4,16,1015675,72,2,1,1,,3,2,2,,50,0,1000,30,1,40,1,,1,570,1,1,1,4,,,,1,1,,16,3,360,2,,,,,,1,5,45700,0,4,4,4,1,3,0,,0,1,0,20,2,0,0,2,2,1,763,3,0,1,26,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,108,72,24,69,74,83,117,22,115,20,133,90,79,70,17,66,108,62,23,89,68,121,75,19,23,28,75,74,73,64,66,126,115,103,77,22,65,120,66,21,125,77,26,65,82,77,102,17,116,18,115,73,72,68,21,69,121,75,24,70,80,147,72,18,24,21,87,65,72,71,84,134,127,118,76,20,68,127,80 H,1332769,8,100,4,16,1015675,27,2,1,1,,4,2,2,,250,0,220,2,1,450,1,,2,1600,2,1,1,6,,,,1,1,,21,2,720,9,4,38300,4,,,1,1,38300,0,4,4,4,1,4,0,2,0,0,0,68,0,0,0,2,2,1,2158,3,0,1,35,0,9,9,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,27,7,9,45,32,44,27,26,54,28,50,8,6,29,33,27,47,31,10,29,30,43,50,9,26,9,32,28,9,27,9,45,48,31,30,26,8,29,43,30,30,8,8,58,31,49,29,28,49,27,48,8,7,26,29,24,44,30,8,25,31,50,46,8,29,8,29,30,8,28,9,45,41,27,27,27,8,27,49,26 H,1332974,8,300,4,16,1015675,75,3,1,,,2,5,,,90,0,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,2,1,6,1,26000,1,490,23,1,1,26000,0,1,1,1,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,26,19,76,84,119,86,78,56,75,166,60,51,26,35,124,109,23,83,64,26,101,155,72,70,27,72,78,59,69,21,51,95,142,142,23,26,110,79,61,124,17,21,71,92,138,72,88,73,53,154,79,67,25,32,103,115,24,75,57,26,99,113,96,78,25,65,102,86,75,26,64,85,153,116,25,23,117,61,58 H,1333321,8,500,4,16,1015675,113,2,1,1,,3,2,2,,40,0,2,40,1,340,1,,1,860,1,1,1,5,,,,2,1,,14,0,420,2,1,69000,4,,,1,1,69000,0,4,4,4,1,3,0,2,0,0,0,17,0,0,0,0,0,1,975,3,0,1,23,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,117,192,194,177,115,37,113,191,118,108,197,113,31,35,28,116,106,99,173,105,107,33,37,36,142,181,109,38,105,110,44,114,223,178,211,120,113,102,200,96,111,34,33,37,137,163,102,30,119,98,27,106,233,210,211,109,112,107,37,115,118,202,201,196,110,32,128,208,117,113,223,116,31,28,29,119,110,123,26 H,1333346,8,300,4,16,1015675,67,8,1,1,,3,2,2,,80,550,2,60,1,,1,,,,,,1,6,2,640,,1,3,,,2,660,5,7,96800,3,835,10,2,3,96800,1,3,2,3,1,4,4,7,0,1,5,,0,1,1,0,0,1,,,1,0,,3,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,101,68,137,16,62,84,63,22,73,114,73,21,20,67,65,20,115,73,106,82,105,67,101,19,65,57,61,19,88,129,69,18,18,74,56,23,129,71,111,59,114,62,123,20,65,79,70,25,55,117,68,23,20,92,72,18,111,64,111,64,111,69,112,21,67,81,67,20,66,96,75,18,22,73,60,17,121,67,104,58 H,1333735,8,600,4,16,1015675,122,1,1,,,1,9,,,1,0,2,3,3,,1,,,,,,1,3,2,460,,1,3,,,1,1,4,,,,460,101,1,4,4800,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,129,124,116,147,26,32,36,126,218,135,38,126,130,38,123,215,209,206,35,117,110,141,124,118,197,214,204,122,34,113,195,128,119,230,117,34,36,37,200,136,107,122,128,126,41,37,38,108,204,120,32,119,123,39,111,213,212,185,38,118,135,119,134,115,226,240,179,121,33,119,189,120,118,193,118,35,41,35,194 H,1334157,8,300,4,16,1015675,75,2,1,3,6,4,2,1,,80,0,2,3,2,430,1,,2,900,2,1,1,8,,,300,1,1,,16,5,2,8,2,74701,4,,,1,1,74701,0,4,4,4,1,7,0,2,0,0,0,22,0,0,0,0,0,1,1395,2,0,0,21,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,29,21,28,76,130,77,20,107,85,21,80,87,99,117,72,55,67,114,24,77,128,131,142,65,23,77,123,109,94,102,44,23,20,17,67,62,72,75,173,92,25,22,25,64,104,93,30,80,61,26,72,92,125,133,73,90,77,74,23,104,126,88,117,70,23,73,125,75,76,170,70,17,20,21,58,51,64,83,135 H,1334227,8,200,4,16,1015675,21,2,1,1,,2,2,2,,50,0,1500,3,2,300,1,,,,,3,1,6,,,,1,2,,5,2,550,7,2,21600,4,,,1,1,21600,0,4,4,4,1,6,0,2,0,0,0,16,0,0,0,2,0,1,289,,0,1,12,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,16,18,5,21,21,40,35,7,7,35,20,5,31,36,27,20,5,24,15,18,22,23,35,21,16,5,7,32,29,7,25,31,5,6,26,24,29,19,18,24,24,23,43,23,23,5,5,34,32,6,19,31,6,7,18,21,38,18,21,19,23,19,5,20,19,31,34,6,6,29,20,5,35,35,22,22,5,20,14 H,1334401,8,200,4,16,1015675,34,1,1,,,1,5,,,40,0,2,3,3,,1,,,,,,1,3,2,450,,1,3,,,0,1,5,,,,490,101,1,6,4760,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,12,36,27,11,12,14,9,40,10,27,10,39,31,30,34,10,10,37,36,39,38,65,58,35,34,34,35,56,28,62,36,77,75,53,68,34,35,68,48,8,11,30,34,11,9,9,9,38,9,35,11,38,36,34,41,10,10,33,34,38,36,57,63,38,35,38,32,61,34,57,35,49,54,65,61,36,45,67,58,7 H,1334596,8,500,4,16,1015675,82,1,1,2,1,3,2,2,,130,0,2,3,3,,1,,,,,,1,5,2,580,,1,3,,,1,1,5,,,,710,101,1,4,4300,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,133,85,26,23,80,143,24,142,84,83,90,79,89,85,25,125,66,88,117,77,85,163,75,88,128,68,76,81,148,23,24,21,27,148,91,85,21,130,94,24,156,84,26,26,78,132,25,153,79,75,91,85,86,99,25,128,76,68,126,91,68,136,83,68,148,88,82,82,120,20,24,22,22,145,98,93,22,128,72,27 H,1334627,8,300,4,16,1015675,70,5,1,1,,4,2,2,,60,0,1000,100,2,,1,,,,,,1,9,2,430,,2,3,,,2,720,6,1,35500,3,733,25,1,1,35500,0,3,3,3,1,2,3,5,0,0,3,,0,0,1,0,0,2,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,23,66,29,92,67,18,71,108,26,14,135,67,79,122,59,118,83,94,109,85,32,76,25,68,49,20,70,109,23,27,102,62,74,121,64,90,64,56,113,69,17,81,18,51,83,23,57,108,16,24,134,67,71,117,75,110,75,89,116,74,24,75,21,71,97,19,58,105,23,29,99,80,53,98,77,118,89,67,126 H,1334674,8,900,4,16,1015675,86,1,1,1,,2,1,2,,50,0,2,3,3,390,1,240,2,310,2,1,1,4,,,,1,1,,2,1,300,4,,,,,,1,6,24000,0,4,4,4,1,5,0,,0,0,0,22,0,0,0,1,0,1,449,3,0,0,4,,,,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,90,85,177,87,80,141,148,142,131,80,124,82,174,89,78,77,99,160,23,25,86,81,26,73,83,30,33,25,25,88,26,92,29,71,75,77,83,29,24,27,91,91,23,72,84,23,25,27,25,97,25,97,31,86,84,74,81,25,195,129,89,106,148,80,88,154,167,150,173,69,151,87,153,83,77,96,91,123,154 H,1334979,8,800,4,16,1015675,93,4,1,1,,3,2,2,,130,0,2,100,3,650,1,,1,850,1,1,1,6,,,,1,1,,20,2,640,5,1,53000,2,,,1,1,53000,0,2,2,2,1,5,2,4,0,0,2,26,0,0,1,0,0,2,1133,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,151,93,136,87,85,191,99,25,220,180,22,110,98,22,78,25,91,94,104,26,160,99,151,91,92,162,90,33,171,166,28,91,83,29,92,20,92,84,91,29,147,79,174,83,99,132,79,30,128,167,25,117,81,27,103,23,101,75,105,25,140,84,135,87,87,169,91,25,169,148,28,95,101,33,104,33,94,92,117,27 H,1335350,8,500,4,16,1015675,69,2,1,1,,4,2,2,,170,0,2,110,1,400,1,,1,800,1,1,1,8,,,,1,1,,15,3,590,7,1,60000,4,,,1,1,60000,0,4,4,4,1,5,0,2,0,0,0,23,0,0,0,0,0,1,1129,3,0,1,29,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,146,71,130,73,69,59,22,68,20,74,60,20,71,98,20,18,121,60,21,65,26,69,18,60,65,69,104,70,119,69,63,137,78,21,127,101,19,62,124,61,105,71,129,66,68,78,24,60,20,75,70,19,86,148,17,16,111,65,22,58,19,68,18,78,71,70,111,54,94,72,65,109,64,18,121,124,23,64,100 H,1335552,8,100,4,16,1015675,27,2,1,1,,3,2,2,,20,0,600,40,6,360,1,,,,,3,1,6,,,,1,2,,11,2,480,7,4,12200,4,,,1,1,12200,0,4,4,4,1,7,0,2,0,0,0,18,0,0,0,2,0,2,180,,0,1,1,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,49,45,25,28,24,26,35,9,10,7,23,45,27,10,29,23,8,28,45,54,37,38,36,30,23,25,30,8,5,7,22,39,27,7,20,23,7,25,39,7,8,8,28,31,27,22,25,48,46,39,35,7,28,46,23,27,41,30,8,8,9,5,26,34,28,27,24,43,37,43,21,7,31,39,24,24,46,26,5,46 H,1335748,8,100,4,16,1015675,11,2,1,1,,2,2,2,,120,0,430,3,6,1200,1,,2,700,1,1,1,6,,,,1,1,,18,2,360,3,1,82210,4,,,1,1,82210,0,4,4,4,1,4,0,2,0,0,0,14,0,0,0,1,0,2,986,3,0,1,10,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,14,13,16,5,10,9,22,22,3,3,20,14,5,23,19,10,12,12,4,12,12,12,11,3,13,17,23,19,3,4,21,12,3,20,24,13,8,10,3,14,10,12,12,3,11,13,20,17,4,5,18,12,4,25,24,15,13,10,5,13,13,15,10,5,17,13,24,24,3,3,28,14,3,22,17,12,10,16 H,1335827,8,100,4,16,1015675,129,1,1,1,,1,1,2,,30,0,2,3,3,140,1,2100,,,,3,1,3,,,,1,2,,2,1,400,4,,,,,,1,6,9900,0,4,4,4,1,2,0,,0,0,0,32,0,0,0,1,1,1,265,,0,0,5,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,131,121,144,241,111,33,154,229,265,144,143,192,41,139,40,39,140,43,108,283,115,113,135,204,159,44,121,213,233,147,115,210,34,142,33,44,127,31,152,40,147,104,169,46,107,222,123,36,39,126,141,34,198,110,219,276,101,196,122,41,129,142,124,44,138,210,124,31,46,117,145,40,247,164,218,211,120,215,100 H,1335916,8,400,4,16,1015675,139,3,1,3,1,3,2,2,,90,0,2,3,3,1200,1,,,,,3,1,6,,,,1,2,,20,3,2,2,6,16400,2,,,1,2,16400,0,2,2,2,1,3,1,3,0,0,1,35,0,0,1,0,0,2,482,,0,0,47,2,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,38,155,186,134,150,228,169,41,38,41,148,132,129,178,146,202,214,242,151,39,35,183,201,112,140,228,136,44,37,50,168,118,147,173,171,251,172,238,128,43,41,155,187,126,139,221,126,37,39,35,160,136,152,192,136,261,213,231,134,47,41,137,191,147,134,200,166,46,36,43,132,159,147,149,159,216,206,263,142,40 H,1336273,8,700,4,16,1015675,111,4,1,1,,3,2,2,,80,0,2,70,1,450,1,,1,930,1,1,1,6,,,320,1,1,,16,3,800,3,1,93000,2,,,1,1,93000,0,2,2,2,1,5,2,4,0,0,2,19,0,0,1,0,0,1,1467,2,0,1,27,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,184,34,32,97,119,190,177,34,120,100,106,32,97,119,113,175,110,105,100,105,110,113,106,193,184,107,117,110,191,30,182,114,31,32,36,103,191,35,32,189,33,203,180,114,104,31,33,192,113,110,114,188,98,98,106,32,115,127,110,106,101,107,104,33,33,112,105,116,34,192,33,118,186,184,175,110,36,169,186 H,1338191,8,800,4,16,1015675,119,4,1,1,,3,2,2,,90,3200,2,3,3,280,1,,1,160,1,1,1,5,,,190,1,1,,13,1,540,5,1,20800,2,,,1,1,20800,0,2,2,2,1,4,2,4,0,0,2,28,0,0,1,0,0,1,485,1,0,1,18,2,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,179,104,39,117,107,138,203,46,292,27,221,100,89,143,32,123,254,137,37,142,94,163,148,35,32,36,136,117,114,112,151,201,139,253,152,30,106,192,129,155,31,131,144,117,136,117,35,186,64,182,32,79,115,146,177,107,37,142,262,96,104,45,126,194,171,234,127,112,193,126,119,35,30,49,153,148,92,41,137 H,1338259,8,300,4,16,1015675,57,1,1,1,,4,2,2,,30,0,300,3,6,800,1,,1,530,1,1,1,8,,,,1,1,,11,3,60,5,,,,,,1,4,44400,0,4,4,4,1,5,0,,0,0,0,16,0,0,0,0,0,1,590,3,0,1,18,,,,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,69,11,78,22,41,61,26,48,12,125,83,57,79,51,21,64,111,68,70,21,23,87,52,91,53,75,110,50,140,19,17,61,53,70,100,61,20,53,68,74,109,11,66,30,43,43,25,47,16,125,110,61,89,66,17,50,103,71,50,21,17,79,51,94,59,51,87,77,96,21,14,63,59,55,123,54,15,64,58 H,1338638,8,600,4,16,1015675,104,2,1,1,,4,2,2,,80,0,2,60,1,260,1,,1,710,1,1,1,6,,,230,1,1,,14,2,80,5,1,63000,4,,,1,1,63000,0,4,4,4,1,3,0,2,0,0,0,21,0,0,0,0,0,1,1087,2,0,1,25,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,113,183,119,194,97,99,180,109,29,181,179,30,117,93,30,104,28,114,33,99,96,182,106,161,105,100,176,97,31,189,205,28,104,123,30,92,27,100,32,107,95,198,115,172,104,115,158,98,33,170,175,29,96,115,27,107,29,91,30,114,122,162,109,184,99,101,182,104,31,167,165,31,104,106,33,105,33,100,30 H,1338733,8,700,4,16,1015675,100,2,1,1,,4,2,2,,50,0,2,80,1,300,1,,1,1000,1,1,1,8,,,,1,1,,17,3,360,2,1,62500,4,,,1,1,62500,0,4,4,4,1,2,0,2,0,0,0,22,0,0,0,0,0,1,1160,3,0,1,27,2,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,29,148,150,26,90,107,29,107,32,100,108,97,159,99,166,109,94,198,147,125,150,29,26,164,108,99,191,109,181,117,107,108,32,95,26,96,93,30,184,97,167,31,30,189,102,104,144,102,163,91,102,108,32,111,30,109,110,32,33,92,35,196,205,28,85,95,29,89,28,92,96,98,151,90,178,103,115,142,32 H,1338870,8,800,4,16,1015675,192,1,1,,,1,5,,,1,10,2,1,1,,1,,,,,,1,2,2,180,,1,3,,,0,1,5,,,,180,65,1,6,3310,0,4,4,4,1,3,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,289,169,169,203,78,308,203,229,70,167,54,60,263,303,222,186,185,184,56,295,50,245,204,203,397,55,193,199,311,192,403,314,46,60,165,185,222,167,321,65,302,199,172,256,55,259,230,165,55,186,56,57,274,329,175,182,150,178,61,319,57,184,230,180,326,58,153,193,358,192,322,377,64,57,222,191,232,206,302 H,1338900,8,400,4,16,1015675,105,1,1,1,,2,2,2,,50,0,2,80,1,,1,,,,,,1,4,2,450,,1,3,,,1,1,9,,,,580,44,1,6,15840,0,4,4,4,1,1,0,,0,0,0,,0,0,0,1,1,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,84,119,186,122,117,100,98,158,85,106,33,34,188,170,29,127,183,32,122,34,114,104,168,95,110,121,98,194,117,93,24,32,160,155,32,111,193,36,120,32,92,110,221,100,78,103,112,179,103,119,24,37,264,144,28,101,159,33,102,34,98,106,236,100,97,101,89,217,146,110,30,28,152,215,31,98,194,30,107 H,1339274,8,500,4,16,1015675,26,4,1,1,,2,1,2,,130,1200,2,3,3,,1,,,,,,1,4,2,400,,1,3,,,2,110,5,2,32100,1,539,20,1,1,32100,1,1,1,1,1,1,1,4,0,0,1,,0,0,1,1,1,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,7,7,39,21,43,28,24,42,26,38,7,9,25,30,28,42,23,8,24,30,6,7,49,27,36,28,29,43,24,43,8,8,24,23,27,40,25,8,23,23,6,8,41,23,42,27,26,43,28,40,8,7,25,23,24,43,25,9,29,24,8,7,48,24,42,27,24,50,23,41,6,8,25,27,23,42,28,9,25 H,1339539,8,700,4,16,1015675,143,1,1,,,2,4,,,70,680,2,3,3,,1,,,,,,1,4,2,80,,1,3,,,1,1,4,,,,150,25,1,6,7120,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,132,37,144,147,167,147,42,141,141,264,220,37,38,255,162,42,226,232,145,155,142,201,144,137,150,171,221,142,132,45,45,211,216,39,143,262,44,45,126,132,136,46,121,156,133,138,50,146,156,220,253,43,42,220,141,44,213,303,143,132,135,262,126,150,140,138,252,149,157,46,42,242,227,43,142,229,42,44,154 H,1339590,8,100,4,16,1015675,92,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,6,,,,,,5,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,168,28,83,79,89,84,101,94,155,27,100,91,26,26,105,169,154,88,97,92,98,90,27,147,142,181,139,24,85,92,174,24,101,94,25,82,72,26,28,160,24,160,97,97,101,87,92,105,28,156,80,82,169,155,94,26,26,95,89,92,103,81,169,29,26,25,26,154,89,84,30,149,85,88,176,80,79,142,159 H,1339613,8,200,4,16,1015675,102,3,1,1,,4,2,2,,60,0,2,40,1,550,1,,1,790,1,1,1,9,,,600,1,1,,17,2,250,5,1,50000,4,,,1,1,50000,0,4,4,4,1,5,0,3,0,0,0,36,0,0,0,0,0,1,1511,2,0,1,31,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,97,90,33,91,191,117,29,22,80,68,25,173,86,186,204,103,163,33,89,128,107,148,35,98,162,91,45,39,95,150,32,156,95,198,157,89,148,32,121,146,105,110,29,88,187,108,26,30,98,98,27,189,127,200,227,113,145,32,73,136,89,125,31,114,161,98,38,28,80,123,25,164,103,202,128,92,137,30,100 H,1339683,8,100,4,16,1015675,93,2,1,2,1,3,2,2,,410,0,2,3,3,350,1,,1,820,1,1,1,6,,,650,1,1,,20,3,130,3,3,72800,4,,,1,1,72800,0,4,4,4,1,5,0,2,0,0,0,31,0,0,0,2,0,1,1891,2,0,1,23,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,114,162,105,146,26,29,87,85,96,145,86,27,96,29,27,158,96,161,94,83,103,177,90,149,30,27,88,96,99,170,106,32,94,31,25,162,103,147,93,113,97,31,93,27,146,144,94,81,115,29,81,141,98,164,150,27,99,31,78,96,86,32,86,34,210,131,84,84,101,30,98,164,83,164,143,25,109,30,88 H,1339712,8,100,4,16,1015675,56,1,1,3,1,2,2,2,,40,0,30,3,6,0,1,,,,,3,1,6,,,,1,2,,24,2,2,6,,,,,,1,4,19600,0,4,4,4,1,7,0,,0,0,0,7,0,0,0,1,1,1,113,,0,0,18,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,55,17,100,69,107,65,22,62,19,95,54,17,17,56,50,64,60,53,19,12,65,83,17,60,15,59,88,54,98,17,58,85,80,57,58,47,50,57,105,108,56,16,91,51,86,51,18,58,13,91,68,17,15,67,59,60,59,60,19,14,58,107,16,55,15,59,103,54,116,20,61,116,100,50,59,55,46,58,107 H,1339754,8,500,4,16,1015675,86,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,6,,,,,,4,14,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,1,,,,,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,73,25,149,152,82,81,90,26,72,149,70,127,121,26,99,19,95,79,23,101,86,199,23,32,97,72,94,145,94,21,84,24,22,176,93,130,85,100,143,66,90,23,136,129,79,92,95,31,110,135,95,136,147,25,89,28,86,92,26,94,73,151,22,24,97,93,90,135,90,22,86,22,31,134,81,171,74,86,168,90 H,1340009,8,600,4,16,1015675,225,4,1,1,,3,2,2,,60,0,2,170,1,,1,,,,,,1,7,2,900,,1,3,,,3,120,7,1,58400,2,1140,23,1,1,58400,0,2,2,2,1,1,2,4,0,0,2,,0,0,1,0,0,2,,,1,0,,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,216,384,62,211,225,70,208,230,67,231,249,224,66,385,357,398,390,69,209,236,210,64,381,216,214,393,257,237,411,234,229,248,409,64,64,58,68,403,213,231,240,364,63,222,226,68,196,225,66,224,242,241,68,378,427,416,412,78,225,221,222,65,382,216,205,387,219,214,394,235,237,222,346,65,63,67,70,377,228 H,1340095,8,900,4,16,1015675,33,5,1,1,,3,2,2,,90,0,2,200,2,,1,,,,,,1,6,2,300,,1,3,,,2,480,9,5,34000,2,630,22,1,2,34000,0,2,2,2,1,3,4,5,0,0,4,,0,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,48,53,31,33,30,59,10,48,29,10,10,12,31,60,11,33,34,35,36,40,50,45,42,35,34,55,9,59,34,12,10,12,38,50,8,29,33,28,36,32,10,10,31,39,39,11,47,10,32,64,48,72,40,10,57,29,35,32,33,43,10,9,42,30,31,9,44,10,28,54,57,56,49,9,50,36,35,28,35 H,1340515,8,200,4,16,1015675,68,5,1,1,,4,2,2,,80,0,2,30,1,300,1,,1,900,1,2,1,8,,,,1,1,,14,3,720,3,1,92100,2,,,1,1,92100,0,2,2,2,1,4,3,5,0,0,3,14,0,0,1,0,0,2,1070,3,0,1,28,2,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,20,114,102,28,24,58,19,72,63,118,63,93,65,126,83,66,24,94,63,19,60,56,77,73,67,17,80,130,15,67,21,88,131,72,152,20,104,98,121,64,123,24,17,113,93,88,108,67,89,20,78,22,65,23,63,70,99,74,83,133,57,71,89,75,71,106,85,23,124,75,125,61,20,84,18,101,56,21,20,68 H,1340970,8,700,4,16,1015675,86,1,1,3,2,3,2,2,,50,0,400,4,6,600,1,,,,,3,1,5,,,,1,2,,23,2,2,9,,,,,,1,4,12000,0,4,4,4,1,6,0,,0,0,0,14,0,0,0,0,0,1,137,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,156,24,25,85,23,90,83,145,93,140,88,147,93,93,28,86,88,23,125,25,82,89,85,25,89,147,23,80,24,89,147,83,147,25,84,165,149,80,85,84,137,25,25,85,25,83,98,152,87,143,80,154,83,85,26,86,84,25,147,27,83,91,81,25,85,151,27,83,23,89,150,79,133,27,86,142,154,84,85,86 H,1341145,8,700,4,16,1015675,102,6,1,1,,5,2,2,,80,0,2,180,1,1400,1,,1,1000,1,1,1,8,,,220,1,1,,20,2,460,2,2,63000,3,,,1,1,63000,0,3,3,3,1,3,4,6,0,0,4,29,0,0,1,0,0,1,1518,2,0,1,27,1,3,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,102,109,180,100,172,102,94,95,31,98,32,109,104,28,96,177,30,32,32,28,100,100,28,90,31,101,105,97,174,107,176,109,102,175,113,29,174,168,174,181,107,105,186,101,169,109,98,109,34,96,32,102,92,27,92,165,30,31,29,30,100,97,30,98,27,101,110,103,178,107,180,108,102,168,95,30,189,152,170 H,1341200,8,800,4,16,1015675,117,4,1,1,,2,1,2,,150,0,2,80,2,,1,,,,,,1,5,2,450,,1,3,,,2,2,1,1,25800,4,680,30,2,1,26900,0,4,4,4,2,1,0,3,0,1,0,,0,0,0,0,0,2,,,1,0,,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,44,30,122,253,56,89,197,29,33,122,189,229,99,124,139,113,153,96,138,85,39,33,207,187,52,159,191,44,31,107,115,159,152,140,91,113,202,88,114,99,226,193,43,38,182,123,48,222,149,113,102,31,116,131,81,107,48,90,98,139,213,183,33,48,171,129,43,148,176,103,126,47,83,107,171,139,35,131,109 H,1341398,8,600,4,16,1015675,350,1,1,1,,4,2,2,,30,0,2,90,1,,1,,,,,,1,6,2,850,,2,3,,,1,600,2,,,,1020,14,1,4,87300,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,91,368,570,100,106,631,368,322,579,331,579,359,344,365,92,334,115,383,383,614,118,355,574,99,108,721,372,333,625,353,626,323,329,360,102,296,107,345,344,593,88,349,643,107,106,644,323,325,642,377,585,357,332,380,97,395,111,350,381,524,113,318,680,94,101,637,327,357,609,350,596,348,331,341,113,329,110,304,353,571 H,1341591,8,400,4,16,1015675,48,1,1,1,,3,2,2,,200,0,2,3,3,400,1,,2,500,2,1,1,6,,,,1,1,,14,1,440,3,,,,,,1,6,12600,0,4,4,4,1,4,0,,0,0,0,78,0,0,0,1,1,2,820,3,0,1,14,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,51,59,94,48,11,60,72,19,52,35,13,47,17,51,37,45,107,47,15,78,43,48,91,66,13,45,55,16,68,59,18,45,14,50,47,46,100,51,15,51,47,44,70,57,14,77,75,12,60,47,14,48,17,59,57,40,91,49,19,55,52,43,88,58,12,64,78,19,63,42,15,57,17,41,45,46,91,38,17 H,1341653,8,200,4,16,1015675,75,1,1,1,,1,1,2,,30,0,2,50,1,250,1,2600,,,,3,1,4,,,,1,2,,1,1,1,3,,,,,,1,6,27000,0,4,4,4,1,3,0,,0,0,0,14,0,0,0,1,0,1,321,,0,0,2,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,90,24,25,71,69,65,93,63,113,63,23,100,76,111,93,24,63,28,165,151,102,21,27,98,66,94,81,53,118,65,19,112,60,105,73,20,79,21,28,24,59,160,147,77,76,89,58,70,20,57,141,27,79,22,77,146,55,115,24,21,78,131,125,87,78,87,69,62,23,84,142,30,65,17,60,120,70,118,143 H,1341884,8,800,4,16,1015675,46,4,1,1,,3,2,2,,70,0,2,40,1,530,1,,,,,3,1,7,,,,1,2,,11,3,600,6,2,44450,1,,,1,1,44450,1,1,4,1,1,5,0,4,0,0,1,7,0,1,1,0,0,1,275,,0,1,19,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,68,48,40,40,15,49,42,66,13,83,93,46,51,12,12,85,38,53,13,52,92,39,39,59,15,48,58,73,13,80,84,56,48,13,13,67,54,53,90,59,14,44,47,37,65,38,45,15,103,10,14,45,47,92,87,12,40,49,71,35,15,53,52,42,64,43,46,12,79,14,14,51,47,64,84,14,60,62,12 H,1342037,8,200,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1342305,8,200,4,16,1015675,37,1,1,1,,3,2,2,,40,0,500,3,4,370,1,,,,,3,1,7,,,,1,2,,13,1,900,7,,,,,,1,6,32000,0,4,4,4,1,7,0,,0,0,0,8,0,0,0,1,1,2,221,,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,51,70,49,14,29,49,35,43,57,37,10,11,10,36,40,45,37,30,7,51,53,61,37,13,39,65,37,45,65,42,10,8,10,39,41,46,40,35,11,50,54,60,31,14,52,68,40,40,60,35,14,10,10,32,35,38,37,39,11,67,58,50,46,10,29,51,36,32,59,45,10,11,12,33,38,34,36,40,17 H,1342957,8,900,4,16,1015675,67,2,1,1,,5,2,2,,60,0,2,30,1,700,1,,2,770,2,1,1,9,,,280,1,1,,13,2,530,5,3,129300,4,,,1,1,129300,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,2,0,1,1295,2,0,1,14,1,8,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,70,21,59,97,125,96,62,63,47,72,75,21,24,16,57,118,69,24,81,94,79,23,62,115,112,92,62,68,52,71,82,21,16,22,86,120,63,25,73,123,69,21,65,105,142,124,60,62,60,90,70,27,22,16,64,118,64,22,78,96,66,15,66,130,107,113,58,59,64,61,77,22,20,21,74,97,59,21,69,106 H,1343265,8,100,4,16,1015675,36,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,59,32,30,40,12,35,60,37,53,60,11,30,10,34,36,10,33,12,38,12,12,33,36,31,58,38,8,32,9,9,55,36,67,39,35,55,36,59,34,11,10,33,36,37,66,36,11,45,10,12,55,35,60,37,43,55,38,60,38,53,55,33,32,37,12,35,60,31,54,54,10,32,10,35,35,8,37,13,39 H,1343271,8,100,4,16,1015675,110,1,1,,,1,8,,,60,0,2,3,3,,1,,,,,,1,2,2,390,,1,3,,,0,1,4,,,,450,27,1,4,20004,0,4,4,4,1,5,0,,0,0,0,,0,0,0,1,1,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,180,113,104,101,38,121,35,119,142,31,108,169,33,29,146,93,104,192,188,97,198,120,137,109,32,113,29,84,103,29,115,153,27,34,161,119,121,217,38,84,34,145,95,97,211,105,167,98,92,207,112,34,185,186,39,126,121,28,28,122,29,102,108,129,151,117,200,100,132,186,124,34,146,173,31,106,92,34,247 H,1343465,8,300,4,16,1015675,41,2,1,2,1,2,1,2,,100,0,100,3,4,190,1,390,,,,3,1,5,,,,1,2,,6,1,2,5,4,3500,4,,,1,1,3500,0,4,4,4,1,3,0,2,0,0,0,65,0,0,0,1,0,1,190,,0,0,9,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,13,12,11,12,36,14,40,11,54,40,42,40,13,11,31,42,15,40,41,64,38,46,51,42,67,36,73,44,86,66,70,61,34,40,69,74,38,64,11,43,13,12,15,11,46,13,42,13,43,46,46,41,12,11,38,44,11,38,44,61,38,42,40,43,69,34,68,49,85,67,72,58,38,37,61,68,45,58,11 H,1343482,8,300,4,16,1015675,19,2,1,1,,4,2,2,,80,0,2,190,2,900,1,,,,,3,1,8,,,,1,2,,13,2,780,5,,,,,,1,7,39400,0,4,4,4,1,6,0,,0,1,0,14,0,0,0,2,1,1,447,,0,1,10,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,42,30,6,19,32,5,5,27,19,21,21,16,18,18,27,20,18,8,22,5,28,31,6,16,37,7,4,31,25,28,16,21,16,13,28,15,18,7,28,6,31,24,5,15,34,7,9,29,15,31,20,13,21,22,26,17,20,7,21,8,42,27,5,20,34,7,5,15,20,37,21,19,16,18,26,13,13,4,25 H,1343694,8,800,4,16,1015675,203,0,1,1,,3,2,2,,,,,,,,1,,,,,,1,5,,,,,,5,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,392,73,58,200,196,313,181,199,246,179,315,209,200,55,51,296,380,64,209,249,337,62,57,212,192,348,224,196,212,229,306,181,213,57,64,350,307,67,214,209,69,391,306,212,197,57,210,211,247,207,56,215,186,294,344,61,71,337,199,185,61,378,347,229,185,60,227,187,208,191,61,194,195,319,316,71,63,344,180,202 H,1343898,8,800,4,16,1015675,22,4,1,3,6,5,2,2,,90,0,2,30,6,1000,1,,1,990,1,1,1,7,,,,1,1,,24,2,360,4,3,78760,2,,,1,1,78760,0,2,2,2,1,1,2,4,0,0,2,17,0,0,1,0,0,2,1140,3,0,0,62,2,2,7,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,35,44,41,26,8,22,36,20,25,41,22,7,7,6,24,22,27,29,24,40,6,7,7,22,37,17,7,27,24,9,24,34,36,37,22,21,27,18,26,10,42,41,39,28,6,19,34,27,24,46,23,7,9,9,18,24,24,22,21,34,5,7,9,20,33,22,7,17,22,7,24,38,43,40,19,26,23,24,25,5 H,1343947,8,300,4,16,1015675,235,2,1,1,,1,2,2,,30,0,2,1,3,,1,,,,,,1,3,2,380,,1,3,,,1,1,5,1,9010,4,410,55,1,1,9010,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,198,229,73,79,298,361,91,233,258,72,54,418,362,302,257,409,172,182,279,96,204,298,531,442,67,52,378,240,72,454,521,202,230,123,226,191,319,469,299,81,170,192,446,530,87,69,415,134,94,315,416,198,209,123,229,259,337,411,280,352,179,267,109,101,406,450,84,175,348,52,48,330,198,320,260,343,243,216,188 H,1344436,8,400,4,16,1015675,277,4,1,2,1,4,2,2,,130,0,2,3,3,400,1,,1,1400,1,1,1,6,,,,1,1,,18,2,2,4,5,108000,2,,,1,2,108000,0,2,2,2,1,1,3,4,0,0,3,17,0,0,1,0,0,2,1530,3,0,1,26,1,10,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,0,1,0,0,0,273,247,275,272,383,244,306,107,104,448,441,87,236,438,98,112,325,252,452,260,281,213,241,333,451,305,287,88,96,439,389,92,342,465,80,90,291,253,430,286,281,351,381,278,452,315,249,75,84,405,407,80,286,512,94,71,294,282,347,268,271,294,246,242,398,286,323,77,80,526,454,89,301,438,90,104,267,252,442,210 H,1344548,8,500,4,16,1015675,64,2,1,1,,3,2,2,,50,0,2,180,1,340,1,,,,,3,1,5,,,,1,2,,15,3,390,2,4,9780,4,,,1,1,9780,0,4,4,4,1,1,0,2,0,0,0,50,0,0,0,0,0,1,409,,0,1,26,0,9,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,64,18,72,102,64,60,103,59,22,20,22,69,71,61,66,55,120,124,19,115,67,23,68,104,61,66,111,70,19,21,20,57,67,68,65,63,97,121,121,18,65,112,72,22,67,63,19,67,113,114,117,69,57,62,74,62,21,20,113,19,79,107,60,20,57,63,18,71,106,102,98,64,63,67,71,64,18,16,16 H,1344734,8,600,4,16,1015675,100,3,1,1,,3,2,2,,60,0,2,60,1,1200,1,,1,1600,1,1,1,7,,,,1,1,,19,3,200,2,1,56220,1,,,1,1,56220,0,1,1,1,1,1,1,3,0,0,1,37,0,0,1,0,0,1,1737,3,0,1,55,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,171,102,29,185,164,30,105,104,25,103,28,100,95,95,166,94,175,105,30,92,179,103,28,174,172,30,107,112,32,96,30,104,97,99,175,110,183,90,31,101,162,93,32,169,178,30,101,104,32,93,29,97,99,103,171,101,173,104,29,102,153,104,30,159,179,30,105,111,29,106,30,101,105,105,165,103,171,99,31 H,1345020,8,200,4,16,1015675,38,2,1,2,1,3,2,2,,160,0,2,3,3,730,1,,2,650,2,1,1,6,,,,1,1,,14,2,2,6,2,56800,4,,,1,1,56800,0,4,4,4,1,7,0,2,0,0,0,20,0,0,0,2,0,1,950,3,0,1,21,2,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,12,10,30,11,36,45,62,33,79,28,89,46,31,14,36,41,9,45,12,34,36,58,10,31,69,12,27,10,35,83,46,64,15,38,53,49,31,36,38,12,59,57,43,67,38,37,15,47,8,34,10,36,38,57,28,35,70,10,55,42,34,28,71,48,11,60,39,54,32,12,27,8,55,42,12,12,49,39,43 H,1345306,8,700,4,16,1015675,115,5,1,2,1,5,2,2,,260,0,2,440,1,1400,1,,,,,3,1,9,,,,1,2,,24,3,2,3,2,206100,2,,,1,1,206100,0,2,2,2,1,4,3,5,0,0,3,9,0,0,1,0,0,1,1495,,0,1,66,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,34,201,192,36,116,103,30,117,33,117,109,122,197,109,188,118,123,204,36,104,33,204,193,30,121,122,36,107,33,120,112,125,205,115,223,105,103,205,34,115,36,205,216,35,104,127,34,113,39,112,118,112,175,126,194,101,104,180,33,111,33,206,208,37,110,107,36,108,37,121,106,106,190,114,187,120,125,186,32 H,1345596,8,800,4,16,1015675,66,3,1,1,,4,2,2,,300,0,2,3,3,620,1,,1,620,1,1,1,7,,,,1,1,,12,2,460,5,1,48000,2,,,2,1,48000,0,2,2,2,1,4,1,3,0,0,1,24,0,0,1,0,0,2,958,3,0,1,18,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,65,45,92,22,52,72,72,68,19,51,50,113,77,17,15,129,80,29,72,19,34,87,61,119,54,69,70,45,128,77,60,19,25,135,111,20,60,86,89,132,148,52,58,22,62,51,93,135,31,54,77,110,106,25,16,68,53,22,47,21,17,56,69,113,64,64,54,57,87,70,66,21,17,107,160,26,78,182,66 H,1345766,8,200,4,16,1015675,70,3,1,,,2,8,,,50,2900,2,3,3,,1,,,,,,1,4,2,110,,1,3,,,1,1,9,7,5600,2,160,10,1,3,20000,0,2,2,2,1,1,1,2,0,1,1,,3,0,1,0,0,2,,,1,0,,1,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,25,66,26,92,91,86,83,62,19,91,119,70,131,103,20,83,25,56,70,91,94,58,123,22,22,58,64,68,101,69,27,84,17,17,97,58,107,83,84,86,27,72,22,108,120,71,64,62,18,75,82,51,112,102,21,78,27,79,50,76,118,79,123,25,23,56,61,78,103,62,21,75,24,19,105,67,98,67,72 H,1345810,8,900,4,16,1015675,50,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,7,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,0,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,13,54,106,48,16,47,49,16,66,91,66,62,41,62,59,51,66,14,79,16,15,48,73,46,15,35,48,16,45,103,78,96,57,44,46,53,60,15,99,13,11,45,89,72,18,49,52,17,67,75,70,71,63,64,54,53,50,13,73,18,17,48,77,42,13,44,49,13,51,127,82,85,69,38,40,52,44,14,107 H,1345851,8,100,4,16,1015675,91,3,1,2,1,3,2,2,,80,0,2,20,6,390,1,,2,800,2,1,1,6,,,,1,1,,20,4,270,5,5,40400,2,,,1,2,40400,0,2,2,2,1,5,1,2,0,1,1,32,0,0,1,0,0,2,1064,3,0,1,25,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,27,22,26,74,170,101,24,83,81,22,110,165,201,180,110,89,76,92,127,94,23,29,27,108,148,86,28,82,99,35,100,132,170,140,81,90,101,104,33,101,142,135,153,93,27,71,177,117,80,127,78,29,28,31,105,83,92,88,34,97,152,143,168,95,24,94,165,84,111,177,75,26,27,29,99,91,81,82,172 H,1345960,8,100,4,16,1015675,52,6,1,1,,3,2,2,,170,0,2,250,1,440,1,,1,610,1,1,1,6,,,,1,1,,13,2,240,7,1,103500,3,,,1,1,104450,1,3,2,3,1,5,1,5,0,1,2,12,0,1,1,0,0,2,1050,3,0,1,20,3,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,87,103,33,20,67,56,16,62,82,58,37,17,56,36,47,60,18,72,66,48,120,92,15,23,69,80,19,59,99,68,41,13,38,39,41,51,24,60,68,74,14,14,72,66,25,43,83,22,13,48,57,89,78,74,60,41,74,47,45,73,21,13,56,61,24,61,68,24,14,41,82,82,59,56,72,69,86,41,42,45 H,1346054,8,600,4,16,1015675,112,1,1,1,,2,1,2,,30,0,2,70,1,230,1,320,,,,3,1,4,,,,1,2,,1,1,130,5,,,,,,1,4,22600,0,4,4,4,1,2,0,,0,0,0,9,0,0,0,0,0,1,161,,0,0,3,,,,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,193,31,129,122,197,192,177,99,104,32,186,139,37,105,103,114,131,30,32,113,99,103,212,39,118,119,104,180,35,115,109,226,117,168,173,33,35,112,114,31,187,31,135,123,201,187,196,105,108,32,200,117,33,104,104,128,137,34,28,108,99,108,181,40,118,121,117,188,34,109,107,204,112,186,182,33,32,119,109 H,1346105,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1346284,8,200,4,16,1015675,33,3,1,2,1,4,2,2,,120,0,1000,3,4,1200,1,,,,,3,1,8,,,,1,2,,13,4,2,9,1,91000,4,,,1,1,91000,0,4,4,4,1,5,0,3,0,0,0,5,0,0,0,0,0,1,382,,0,1,21,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,9,33,70,38,61,33,26,29,38,43,10,11,10,28,50,29,13,31,8,39,50,37,8,8,12,25,40,44,27,35,66,43,55,35,9,39,70,30,44,32,12,38,57,57,66,22,29,40,27,42,14,8,10,32,57,35,10,32,10,31,59,28,12,8,10,45,27,22,43,30,56,77,49,35,8,27,61,29,50 H,1346524,8,100,4,16,1015675,87,6,1,1,,4,2,2,,90,0,2,70,1,,1,,,,,,1,9,2,1300,,1,3,,,3,480,2,2,120000,2,1500,15,1,1,120000,0,2,2,2,1,1,4,6,0,0,4,,0,0,1,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,88,113,155,93,28,29,26,93,86,77,99,76,135,152,140,87,26,106,158,27,93,87,23,88,125,115,130,81,92,90,80,97,27,25,28,79,186,84,132,28,92,81,24,75,185,154,133,94,80,87,104,73,28,29,26,88,145,106,34,147,80,81,157,78,23,26,26,79,90,106,94,99,156,152,147,89,22,75,22 H,1346802,8,800,4,16,1015675,73,2,1,1,,3,2,2,,100,0,2,180,1,,1,,,,,,1,6,2,700,,1,3,,,1,500,7,4,19600,4,1022,63,1,1,19600,0,4,4,4,1,5,0,2,0,0,0,,0,0,0,2,2,2,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,80,129,69,56,24,27,120,104,21,62,152,19,22,99,76,125,78,66,83,69,73,26,86,70,104,147,20,19,107,65,25,116,90,75,89,17,73,77,86,78,62,25,78,70,146,110,19,19,111,62,22,120,106,68,70,25,68,70,81,70,75,127,76,59,25,29,120,110,21,65,139,23,20,77,86,120,76,67,74 H,1347083,8,300,4,16,1015675,44,2,1,1,,2,2,2,,50,0,840,90,1,300,1,,2,540,2,1,1,5,,,,1,1,,12,3,730,3,3,53000,4,,,1,1,53000,0,4,4,4,1,4,0,2,0,0,0,20,0,0,0,1,1,1,905,3,0,1,18,1,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,54,42,10,54,61,41,67,61,11,40,10,38,43,22,58,15,84,81,58,44,49,46,15,42,71,38,63,80,15,56,13,46,43,12,45,13,58,58,31,46,47,47,13,43,74,43,77,86,11,36,15,49,45,11,42,18,86,81,55,37,42,38,11,39,68,51,65,65,14,42,13,55,48,15,48,11,62,62,34 H,1347620,8,400,4,16,1015675,132,2,1,,,2,5,,,80,0,2,3,3,,1,,,,,,1,4,2,400,,2,3,,,1,1,2,7,0,1,480,,1,3,0,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,2,,,1,0,,0,15,14,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,107,132,129,68,176,103,202,197,51,52,181,137,55,194,217,153,124,58,134,98,127,183,139,149,133,105,51,56,116,232,70,139,183,48,63,146,142,183,111,156,150,102,150,58,115,175,239,210,51,37,177,146,51,161,153,102,112,49,164,204,113,106,165,189,149,203,45,56,200,126,55,168,239,55,29,96,123,192,136,148 H,1347723,8,700,4,16,1015675,121,2,1,1,,4,2,2,,30,0,2,160,1,700,1,,,,,3,1,6,,,,1,2,,20,4,400,2,4,68300,4,,,1,1,68300,0,4,4,4,1,3,0,2,0,0,0,9,0,0,0,2,1,1,535,,0,1,42,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,211,124,217,108,104,198,119,193,36,36,114,126,121,182,131,39,125,37,132,35,204,124,198,112,125,209,105,203,33,33,132,127,123,213,118,37,128,38,131,205,39,129,38,118,109,38,117,41,220,200,121,128,109,34,125,195,124,191,113,185,35,118,35,121,104,34,129,36,208,195,120,118,119,35,120,218,137,188,118 H,1347800,8,300,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1348069,8,300,4,16,1015675,75,8,1,2,1,5,2,2,,120,0,2,80,1,250,1,,1,1100,1,1,1,9,,,430,1,1,,21,4,2,2,2,87000,3,,,2,1,87000,0,3,3,3,1,4,6,8,0,0,6,24,0,0,1,0,0,1,1730,2,0,1,35,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,112,118,120,76,107,93,87,74,20,29,22,76,109,60,23,73,63,21,131,59,123,114,116,81,78,80,72,92,31,24,21,92,120,64,27,77,79,20,26,81,32,22,24,100,112,80,69,73,126,162,123,58,19,79,99,62,81,104,26,58,23,24,24,59,71,90,99,90,130,109,115,102,21,46,114,91,78,97,130 H,1348137,8,500,4,16,1015675,85,2,1,,,2,5,,,150,600,2,3,3,,1,,,,,,1,5,2,480,,1,3,,,2,2,5,,,,630,17,1,5,45300,0,4,4,4,1,1,0,,0,1,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,114,142,70,132,33,68,89,146,70,231,149,21,35,66,71,77,61,127,143,95,125,92,88,26,129,74,76,45,95,37,30,128,124,66,111,79,78,31,33,32,73,50,106,126,24,142,64,120,131,90,107,38,26,118,94,76,129,171,128,245,67,75,88,29,152,118,90,17,81,21,18,160,184,97,72,80,100,21,27 H,1348179,8,800,4,16,1015675,117,3,1,2,1,4,2,2,,200,0,2,440,2,1300,1,,2,1100,2,1,1,9,,,,1,1,,22,3,2,5,1,295001,4,,,3,1,295001,0,4,4,4,1,5,0,3,0,0,0,8,0,0,0,0,0,1,2031,3,0,1,34,3,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,29,32,112,42,137,104,223,110,208,140,160,116,104,39,101,104,39,166,28,123,105,141,34,102,244,34,112,34,133,232,114,220,36,107,196,213,126,124,88,34,216,202,124,238,137,129,39,97,32,115,29,117,112,190,105,104,219,33,210,127,109,113,228,116,40,185,105,189,113,34,115,39,189,124,33,40,144,129,119 H,1348198,8,400,4,16,1015675,31,6,1,1,,3,2,1,,50,4400,2,40,1,700,1,,2,900,2,1,1,5,,,,1,1,,19,3,1200,7,1,55600,3,,,1,1,55600,1,3,4,3,1,5,0,6,0,0,3,27,0,1,1,1,0,1,1248,3,0,0,24,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,51,59,7,47,84,11,8,21,43,32,41,33,24,37,69,36,21,7,32,40,15,12,43,37,11,67,44,18,62,11,23,17,28,39,12,48,26,33,26,8,49,55,8,54,65,12,10,19,51,37,26,30,20,29,65,45,22,12,38,29,8,11,55,45,10,54,54,24,43,6,23,31,23,28,13,49,33,35,31 H,1348234,8,200,4,16,1015675,59,2,1,1,,3,2,2,,110,0,600,3,4,360,1,,1,460,1,1,1,7,,,190,1,1,,15,2,1500,8,4,31300,4,,,1,1,31300,0,4,4,4,1,6,0,2,0,0,0,36,0,0,0,2,2,1,935,2,0,1,25,0,9,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,70,51,72,50,19,15,44,16,127,18,127,76,93,122,50,56,78,48,54,17,68,103,17,19,53,41,99,61,58,79,71,120,68,71,23,19,114,92,101,43,17,54,55,54,88,122,86,96,27,84,19,54,16,19,61,68,70,50,51,96,51,23,81,84,62,54,16,60,73,58,54,15,73,69,109,99,17,22,15 H,1348287,8,900,4,16,1015675,262,4,1,2,1,2,2,2,,80,0,400,3,6,600,1,,1,950,1,1,1,4,,,,1,1,,14,3,2,9,1,41000,2,,,1,1,41000,0,2,2,2,1,2,2,4,0,0,2,31,0,0,1,0,0,2,1063,3,0,1,16,2,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,130,283,443,239,237,440,213,80,104,94,307,292,243,315,187,382,347,331,445,111,80,203,229,269,345,342,328,99,81,128,275,292,333,236,290,349,374,418,230,78,86,339,445,340,205,320,239,83,122,88,294,237,212,229,237,520,407,444,272,84,117,314,379,382,225,335,279,74,90,130,212,230,264,207,295,416,365,564,276,103 H,1348364,8,800,4,16,1015675,20,2,1,1,,2,2,2,,70,0,2,70,2,400,1,,2,350,2,1,1,4,,,,1,1,,9,3,900,9,1,60000,4,,,1,1,60000,0,4,4,4,1,6,0,2,0,0,0,12,0,0,0,0,0,2,617,3,0,1,6,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,7,18,19,7,18,30,9,5,40,24,17,29,22,36,18,21,17,5,5,24,30,22,19,32,23,6,32,32,5,20,17,6,24,5,20,20,21,37,31,24,5,18,22,5,22,37,7,5,31,18,19,30,22,35,20,19,19,5,7,21,32,17,24,30,18,7,41,26,7,19,22,5,24,5,16,22,19,36,43 H,1348407,8,200,4,16,1015675,120,2,1,,,2,8,,,60,0,2,3,3,,1,,,,,,1,4,2,450,,1,3,,,1,2,7,5,22000,1,510,28,1,2,22000,0,1,1,1,1,1,1,2,0,0,1,,0,0,1,0,0,1,,,1,0,,1,11,10,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,185,198,130,166,31,160,36,108,93,43,143,205,37,41,127,95,99,264,37,124,24,113,123,82,244,84,139,150,188,215,129,66,188,187,46,155,124,45,132,137,200,192,98,152,40,108,48,118,76,54,188,220,38,34,186,78,97,258,31,111,34,106,143,98,206,98,151,183,165,113,92,48,162,248,57,139,153,42,132 H,1348424,8,900,4,16,1015675,98,2,1,2,2,2,2,2,,110,0,2,70,2,440,1,,1,790,1,1,1,4,,,290,1,1,,15,3,2,5,1,45400,4,,,1,1,45400,0,4,4,4,1,3,0,2,0,0,0,33,0,0,0,0,0,1,1260,2,0,1,27,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,29,152,139,21,109,123,27,99,29,93,117,118,182,105,164,82,116,177,144,94,173,25,24,179,91,91,151,89,166,94,97,117,28,95,33,84,111,31,31,96,30,155,137,23,103,111,25,108,25,106,82,100,170,97,151,88,98,143,140,122,160,24,32,163,106,93,144,87,173,111,109,100,29,108,30,116,116,28,24 H,1348519,8,100,4,16,1015675,27,5,1,1,,4,1,2,,200,0,700,3,6,350,1,0,,,,3,1,7,,,,1,2,,9,4,20,4,8,38200,4,,,1,3,76800,0,2,4,4,1,1,0,3,0,1,0,5,0,0,1,1,1,2,322,,0,0,10,1,15,15,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,25,24,7,52,37,46,35,29,40,8,26,22,34,12,20,30,27,8,8,24,25,35,9,56,32,40,44,31,48,8,25,40,36,9,29,51,36,10,6,33,28,28,7,54,31,48,36,27,45,9,30,25,27,8,27,49,24,10,8,27,26,27,8,54,29,39,47,26,46,7,25,37,28,9,27,44,29,8,10,28 H,1348550,8,200,4,16,1015675,112,1,1,,,1,6,,,50,0,2,3,3,,1,,,,,,1,3,2,360,,1,3,,,0,1,6,,,,410,70,1,4,7010,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,162,39,37,184,91,99,169,134,318,110,97,106,34,118,33,138,113,31,196,92,25,170,206,34,87,120,37,130,53,102,84,114,153,124,177,141,171,143,36,123,161,33,42,168,88,87,203,129,280,107,99,102,38,113,32,100,106,32,250,124,33,168,181,41,130,112,36,131,38,104,89,107,147,126,187,130,209,195 H,1348651,8,300,4,16,1015675,86,1,1,,,3,5,,,30,0,2,10,1,,1,,,,,,1,5,2,680,,1,3,,,1,1,1,,,,720,33,1,4,26000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,1,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,136,90,195,94,95,75,17,115,25,105,90,27,76,122,26,33,148,87,161,77,136,80,118,87,76,79,38,91,22,111,77,30,118,147,23,27,118,74,16,93,33,84,28,101,72,81,81,127,250,92,78,190,70,16,169,161,25,93,24,113,31,83,23,95,83,87,173,50,136,106,107,120,108,51,120,126,22,82,148 H,1348855,8,500,4,16,1015675,58,3,1,1,,2,2,2,,70,0,2,3,3,,1,,,,,,1,3,2,600,,1,3,,,3,480,5,5,30000,2,710,20,1,2,42000,0,2,2,2,1,3,1,2,0,1,1,,0,0,1,0,0,1,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,16,54,18,89,63,18,17,62,47,59,51,60,100,67,22,92,48,82,20,60,101,52,101,17,55,103,94,58,58,56,57,52,17,51,121,16,55,15,87,55,19,55,18,111,55,16,17,54,68,50,62,60,92,54,17,103,68,103,16,57,104,56,99,16,49,102,87,54,58,58,58,66,19,64,89,16,62,16,103 H,1348959,8,600,4,16,1015675,108,1,1,1,,3,2,2,,40,0,2,60,1,450,1,,1,1300,1,1,1,5,,,,1,1,,16,1,200,4,,,,,,1,6,40000,0,4,4,4,1,3,0,,0,0,0,43,0,0,0,0,0,2,1417,3,0,1,24,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,112,112,32,33,182,33,109,114,171,184,198,105,108,31,182,101,31,109,187,29,188,172,114,107,106,105,30,185,119,107,111,33,185,108,107,32,113,30,109,107,104,99,174,179,32,171,96,103,34,30,32,109,108,192,34,112,173,112,30,195,30,32,107,106,111,117,180,32,105,104,111,184,30,118,105,185,112,185,100 H,1349064,8,600,4,16,1015675,108,1,1,1,,4,2,2,,30,0,2,150,1,600,1,,1,1000,1,1,1,5,,,,1,1,,17,1,100,2,,,,,,1,4,33000,0,4,4,4,1,2,0,,0,0,0,43,0,0,0,0,0,1,1188,3,0,1,22,,,,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,182,117,113,123,200,103,31,112,191,177,111,110,186,37,96,31,33,104,36,120,30,99,110,106,30,108,176,105,28,35,114,128,30,186,128,186,163,93,180,116,189,101,122,118,181,109,35,94,174,205,104,109,189,29,118,31,33,102,29,102,35,125,100,114,33,103,177,113,32,32,101,101,32,188,112,199,185,119,178,109 H,1349085,8,100,4,16,1015675,67,1,1,1,,2,1,2,,140,0,2,3,3,130,1,2000,,,,3,1,5,,,,1,2,,2,2,2,5,,,,,,1,4,15900,0,4,4,4,1,3,0,,0,0,0,24,0,0,0,1,1,2,318,,0,0,1,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,71,59,63,22,22,24,70,106,78,22,85,55,21,60,103,124,124,67,62,19,75,71,56,122,140,123,73,20,69,110,51,64,102,50,19,21,22,66,59,114,67,72,62,26,22,24,73,89,65,21,84,73,20,57,106,138,98,64,68,19,96,75,89,152,81,99,64,18,65,112,79,63,93,63,21,21,20,51,54,108 H,1349106,8,700,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1349293,8,600,4,16,1015675,361,1,1,1,,3,2,2,,50,0,2,4,1,740,1,,1,1300,1,1,1,6,,,,2,1,,21,1,600,9,,,,,,1,4,60000,0,4,4,4,1,3,0,,0,0,0,28,0,0,0,0,0,2,1404,3,0,1,46,,,,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,393,361,104,117,294,396,377,108,679,113,310,665,632,570,380,110,536,344,341,309,331,380,616,604,386,371,353,656,105,600,335,106,124,97,390,698,99,366,363,343,348,377,106,111,356,364,363,114,666,108,323,695,598,579,332,109,578,347,419,336,335,346,590,590,338,398,364,591,113,623,354,112,120,98,409,598,103,381,316,355 H,1350296,8,800,4,16,1015675,52,2,1,2,1,2,2,2,,120,0,2,3,6,,1,,,,,,1,7,2,350,,1,3,,,2,2,2,4,21100,4,470,27,2,1,21100,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,14,52,54,18,65,92,110,87,33,56,66,65,56,15,15,16,54,82,98,43,14,46,57,16,56,87,97,82,46,56,67,68,53,19,17,13,61,89,71,73,19,77,40,10,60,116,120,102,58,53,57,39,42,17,12,14,56,103,83,72,17,53,53,13,64,97,91,89,47,61,59,47,49,20,16,17,63,90,102 H,1350761,8,400,4,16,1015675,144,2,1,1,,3,2,2,,100,0,2,80,2,800,1,,1,610,1,1,1,7,,,,1,1,,15,3,2,5,4,57800,4,,,1,1,57800,0,4,4,4,1,5,0,2,0,0,0,16,0,0,0,2,2,1,790,3,0,1,20,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,158,48,129,230,163,186,262,133,36,41,40,110,205,200,113,132,228,239,32,251,133,35,104,228,153,101,236,204,41,40,45,174,174,152,146,136,240,258,184,45,159,225,131,34,155,162,35,128,197,260,259,164,158,125,134,156,41,34,321,36,164,272,164,37,110,136,46,127,268,229,210,118,156,213,177,126,55,49,46 H,1350822,8,200,4,16,1015675,63,2,1,,,2,4,,,130,0,2,3,3,,1,,,,,,1,6,2,860,,1,3,,,2,1,2,2,49500,4,990,24,1,1,49500,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,2,2,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,51,64,72,66,20,14,17,64,103,58,17,68,73,19,69,115,92,93,124,61,64,75,65,70,22,22,20,69,110,52,22,69,78,20,57,136,108,102,109,64,66,53,55,68,20,17,15,55,107,71,21,67,57,19,54,109,108,91,119,64,68,70,71,66,19,18,20,58,102,50,21,69,63,19,62,136,120,119,105 H,1350825,8,100,4,16,1015675,59,2,1,2,1,3,2,2,,70,0,2800,3,2,600,1,,1,590,1,1,1,8,,,,1,1,,18,4,2,3,4,48100,4,,,1,1,48100,0,4,4,4,1,2,0,2,0,0,0,22,0,0,0,2,0,1,893,3,0,1,27,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,113,17,53,55,60,86,20,68,54,88,63,105,101,14,20,55,50,61,19,64,94,17,62,54,58,106,15,54,61,95,64,92,119,17,14,55,43,61,19,53,87,19,58,63,64,104,15,54,64,101,60,106,96,15,17,60,56,56,16,65,131,15,73,65,55,95,18,57,55,79,53,90,91,17,20,51,54,46,20 H,1350929,8,500,4,16,1015675,95,4,1,2,1,4,2,2,,350,0,600,3,3,1100,1,,1,1600,1,1,1,8,,,780,1,1,,21,3,200,4,1,65600,3,,,1,1,65600,0,3,3,3,1,2,2,4,0,0,2,51,0,0,1,0,0,1,2797,2,0,1,43,2,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,95,116,179,31,96,81,25,101,109,30,89,80,98,25,160,169,142,177,27,108,31,149,103,97,197,150,82,30,29,101,146,30,172,82,80,105,90,87,87,31,111,88,154,33,99,99,32,88,106,27,100,100,103,29,134,146,151,144,23,89,26,195,95,100,160,152,113,27,28,90,176,33,148,99,96,95,95,94,106 H,1351172,8,100,4,16,1015675,71,2,1,1,,3,2,2,,40,0,2,130,1,240,1,,,,,3,1,6,,,,1,2,,16,2,410,9,1,79004,4,,,1,1,79004,0,4,4,4,1,6,0,2,0,0,0,5,0,0,0,0,0,1,327,,0,1,24,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,148,71,68,26,70,80,99,72,24,80,79,107,141,22,20,130,72,22,64,102,110,58,64,19,61,68,67,64,21,67,70,120,109,23,22,112,60,19,66,122,118,65,80,21,61,60,60,73,18,66,72,107,108,22,22,109,59,22,86,119,116,73,74,24,72,61,75,67,24,68,73,136,134,23,22,138,76,22,80 H,1351380,8,200,4,16,1015675,24,2,1,1,,2,2,2,,50,0,2,20,1,600,1,,1,400,1,1,1,6,,,,1,1,,14,2,720,8,4,22800,4,,,1,1,22800,0,4,4,4,1,7,0,2,0,0,0,28,0,0,0,2,2,2,530,3,0,1,14,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,27,30,27,9,22,7,8,36,29,45,27,19,38,25,34,7,9,31,27,31,24,40,30,7,20,8,7,30,21,43,18,21,47,29,29,6,7,24,26,31,24,3,24,42,30,57,38,3,36,9,30,27,7,26,9,38,42,29,23,33,37,5,26,40,17,38,46,5,20,5,23,28,6,25,5,35,38,25,18 H,1351481,8,300,4,16,1015675,36,0,1,,,1,7,,,,,,,,,1,,,,,,1,2,2,350,,,,1,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,30,12,40,32,9,34,64,73,60,37,33,39,32,43,14,10,13,36,51,10,28,56,35,33,58,29,10,8,9,29,36,37,32,36,76,66,51,38,10,9,33,57,31,34,49,38,11,11,12,27,37,39,28,33,78,64,55,44,11,60,32,10,40,34,11,37,71,67,54,30,30,34,46,40,10,10,11,31,53,60 H,1351604,8,600,4,16,1015675,100,4,1,2,1,4,2,2,,100,0,2,30,1,560,1,,1,1100,1,1,1,8,,,300,1,1,,19,2,360,5,1,91800,2,,,1,1,91800,0,2,2,2,1,3,2,4,0,0,2,20,0,0,1,0,0,2,1560,2,0,1,34,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,99,28,29,108,26,170,103,104,88,175,98,30,93,159,164,96,101,177,100,156,105,175,161,101,169,31,104,110,104,28,99,174,97,30,30,107,107,27,102,28,93,27,31,97,30,180,101,100,105,156,96,28,99,168,171,100,99,174,93,170,89,174,170,93,178,28,102,109,98,30,103,166,102,30,27,100,100,29,100 H,1351762,8,600,4,16,1015675,75,2,1,1,,2,2,2,,40,0,2,50,1,360,1,,1,600,1,1,1,5,,,,1,1,,14,2,380,5,7,57200,4,,,1,3,57200,0,4,4,4,1,3,0,2,0,0,0,15,0,0,0,1,0,1,722,3,0,1,21,2,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,22,80,134,108,81,24,118,22,70,78,77,75,68,70,133,23,77,71,70,76,71,135,78,73,144,79,72,77,140,21,24,21,22,140,80,81,21,132,143,21,23,76,138,127,76,22,128,22,73,75,79,68,75,79,132,22,75,76,71,71,77,139,75,74,141,73,72,78,133,22,21,23,24,130,82,78,24,131,125 H,1352592,8,900,4,16,1015675,96,4,1,1,,4,2,2,,70,0,2,140,1,690,1,,1,1100,1,1,1,8,,,,1,1,,14,3,750,5,3,97910,2,,,1,1,97910,0,2,2,2,1,4,2,4,0,0,2,17,0,0,1,0,0,1,1373,3,0,1,31,2,4,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,160,147,24,92,98,208,29,115,94,32,111,114,27,96,101,91,31,183,86,26,26,26,161,95,96,30,139,95,103,148,97,92,193,94,95,95,172,31,92,27,28,29,153,89,114,35,170,121,94,159,85,114,207,95,95,90,176,27,82,196,136,165,30,92,87,141,25,85,107,29,111,96,30,107,103,111,32,143,97 H,1353037,8,400,4,16,1015675,38,3,1,2,1,3,2,2,,130,0,2,100,2,700,1,,1,1900,1,1,1,6,,,,1,1,,19,2,2,3,1,52500,2,,,1,1,52500,0,2,2,2,1,4,1,3,0,0,1,49,0,0,1,0,0,2,2130,3,0,1,36,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,51,71,53,11,36,53,36,40,55,39,11,13,14,36,46,47,30,29,10,72,84,68,33,12,44,83,45,40,61,32,9,13,14,31,32,43,41,34,14,75,74,64,36,9,35,65,31,31,66,39,10,10,10,31,40,39,46,49,15,47,55,66,46,13,40,55,35,36,58,41,16,15,10,36,35,33,42,52,16 H,1353094,8,500,4,16,1015675,95,5,1,1,,2,2,2,,60,6700,2,3,3,,1,,,,,,1,4,,,,2,4,,,1,480,5,5,14000,3,,,2,2,14000,0,3,4,3,1,3,0,4,0,1,3,,2,0,1,0,0,2,,,1,0,,1,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,88,116,192,81,132,223,23,27,138,100,91,123,134,27,90,109,98,124,27,246,81,72,25,76,33,34,148,136,108,79,94,154,37,209,109,95,94,25,149,150,112,82,26,111,27,25,211,210,69,84,98,81,33,160,105,92,103,35,152,19,115,111,199,115,159,140,34,31,95,117,117,93,141,21,80,97,94,172,36,33 H,1353211,8,200,4,16,1015675,92,2,1,1,,3,2,2,,50,0,2,3,3,350,1,,2,1500,2,1,1,9,,,,1,1,,20,2,300,9,4,90200,4,,,1,1,90200,0,4,4,4,1,7,0,2,0,0,0,24,0,0,0,2,2,1,1812,3,0,1,37,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,38,87,95,151,162,28,27,174,108,35,153,143,79,80,34,84,75,83,113,90,28,90,83,158,134,34,28,143,90,25,147,147,93,89,25,100,84,81,117,99,26,87,97,144,169,35,24,118,110,32,159,201,105,98,27,88,74,68,92,99,38,103,99,141,106,22,31,172,94,27,135,139,84,75,32,93,90,93,99 H,1353367,8,500,4,16,1015675,0,1,3,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1353556,8,600,4,16,1015675,84,4,1,1,,4,2,2,,50,0,2,80,1,380,1,,,,,3,1,8,,,,1,2,,17,4,210,6,1,130700,4,,,1,1,130700,0,4,4,4,1,6,0,4,0,0,0,3,0,0,0,2,0,1,310,,0,1,27,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,154,86,24,81,26,150,85,24,23,87,84,84,87,93,143,86,25,129,142,87,140,76,25,83,21,131,81,24,26,83,80,82,87,87,144,83,23,141,22,82,25,90,136,82,157,25,84,143,151,83,87,77,80,81,22,90,142,25,25,87,23,80,134,78,142,28,87,153,146,80,77,88,91,85,25,80,144,28,164 H,1353696,8,300,4,16,1015675,101,2,1,1,,3,2,2,,100,0,2,100,1,1000,1,,2,1000,2,1,1,9,,,,1,1,,20,3,60,3,1,75060,4,,,1,1,75060,0,4,4,4,1,5,0,2,0,0,0,27,0,0,0,2,0,1,1705,3,0,1,62,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,155,99,166,119,86,179,105,195,34,29,110,96,105,182,82,33,100,32,92,179,29,90,36,102,93,28,83,29,160,179,99,105,106,25,125,250,92,167,126,27,182,97,201,107,101,170,94,165,33,26,101,108,108,156,103,31,105,28,90,175,29,117,30,107,103,24,99,32,227,144,99,100,101,30,89,166,75,173,105 H,1353721,8,500,4,16,1015675,80,2,1,1,,3,1,2,,110,0,2,3,3,580,1,2800,,,,3,1,5,,,,1,2,,5,2,200,3,,,,,,1,7,24600,0,4,4,4,1,2,0,,0,1,0,21,4,0,0,1,1,1,430,,0,0,7,,,,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,22,134,23,26,100,94,140,111,27,85,79,93,22,75,80,69,131,87,137,65,24,136,24,28,109,82,135,165,21,76,90,73,22,81,79,62,135,87,155,76,23,146,26,25,97,70,124,102,26,70,73,85,28,77,87,88,130,80,127,68,31,143,25,32,76,80,129,138,28,85,102,74,18,80,89,69,133,87,138 H,1354465,8,800,4,16,1015675,87,3,1,3,5,3,2,2,,120,0,800,3,4,200,1,,1,350,1,1,1,6,,,,1,1,,15,4,2,6,1,62500,4,,,1,1,62500,0,4,4,4,1,5,0,3,0,0,0,10,0,0,0,0,0,1,537,3,0,0,18,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,138,141,85,85,26,22,143,138,23,89,146,21,19,80,99,114,75,83,93,99,99,169,99,99,29,25,128,132,48,93,122,28,29,97,92,129,77,96,74,90,77,128,114,107,23,28,150,103,24,103,109,27,23,62,100,136,78,99,74,87,94,152,121,93,27,34,153,107,26,84,139,32,27,109,122,141,92,89,69 H,1354589,8,600,4,16,1015675,84,1,1,1,,3,2,2,,50,0,2,110,1,600,1,,,,,3,1,7,,,,1,2,,18,2,300,7,,,,,,1,4,12000,0,4,4,4,1,6,0,,0,0,0,43,0,0,0,1,0,1,427,,0,1,35,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,25,88,144,146,79,26,146,24,78,90,81,91,95,84,145,25,83,81,84,79,76,25,78,86,24,80,77,80,26,134,139,151,151,29,86,79,149,25,138,25,25,85,146,149,91,27,148,22,83,78,82,82,80,82,136,26,86,79,88,80,91,23,88,83,25,93,80,79,28,144,138,145,147,24,81,85,144,24,149 H,1354982,8,300,4,16,1015675,21,6,1,2,1,3,2,2,,120,0,2,200,2,500,1,,,,,3,1,6,,,,1,2,,11,3,2,7,1,29400,2,,,2,1,29400,0,2,2,2,1,5,4,6,0,0,4,16,0,0,1,0,0,1,397,,0,1,10,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,19,14,20,5,20,7,25,7,3,5,7,16,28,9,5,20,6,7,31,39,29,39,36,24,34,17,33,19,21,23,30,38,34,25,16,39,17,13,27,22,21,19,25,5,20,7,16,4,7,7,6,24,18,5,7,23,6,5,29,22,39,32,34,24,34,21,44,16,13,19,19,30,58,24,28,36,23,22,29 H,1355145,8,100,4,16,1015675,87,2,1,1,,0,2,2,,50,0,2,3,6,,1,,,,,,1,1,2,480,,1,3,,,2,400,8,,,,563,80,1,5,8400,0,4,4,4,1,1,0,,0,1,0,,2,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,96,84,109,136,89,27,124,34,28,158,91,138,91,81,167,73,139,24,71,24,92,90,99,134,84,27,88,26,24,142,78,144,86,94,141,87,168,23,88,150,88,75,103,24,75,134,91,143,168,22,106,29,77,72,24,99,23,136,91,153,79,95,81,27,88,142,82,124,187,28,97,34,89,92,25,101,25,145,74 H,1355508,8,300,4,16,1015675,101,3,1,1,,4,3,2,50,80,0,2,90,1,340,1,,1,870,1,1,1,9,,,,1,1,,16,3,510,2,1,43004,2,,,1,1,43004,0,2,2,2,1,3,1,3,0,0,1,32,0,0,1,0,0,1,1133,3,0,1,23,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,37,92,185,34,31,90,90,164,90,87,99,97,209,98,98,32,31,172,97,29,135,100,33,167,164,125,85,29,105,121,95,101,29,124,109,154,218,30,92,192,31,101,178,30,31,92,110,165,101,94,108,89,176,120,108,35,28,153,111,32,180,97,27,179,197,100,112,26,82,116,88,113,30,89,106,170,166,34,103 H,1355875,8,300,4,16,1015675,137,5,1,1,,5,2,2,,180,0,2,20,3,80,1,,1,410,1,1,1,9,,,,1,1,,14,3,60,5,1,72800,1,,,1,1,72800,0,1,1,1,1,2,2,5,0,0,2,10,0,0,1,0,0,1,615,3,0,1,19,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,163,32,224,139,233,240,123,271,49,141,127,138,40,135,181,140,45,35,117,164,125,44,239,132,233,211,191,272,52,154,138,123,34,145,193,120,37,38,122,114,133,37,231,171,256,251,156,224,43,166,157,154,38,136,221,152,42,35,136,129,127,35,215,127,248,211,133,230,35,147,123,123,38,129,275,143,51,34,135 H,1355905,8,900,4,16,1015675,143,2,1,2,1,3,1,2,,50,0,2,200,2,0,1,0,,,,3,1,7,,,,1,2,,11,5,2,5,1,80000,4,,,1,1,80000,0,4,4,4,1,5,0,2,0,0,0,5,0,0,0,0,0,2,350,,0,0,23,2,1,2,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,196,49,124,125,172,249,47,51,211,177,37,206,264,134,133,50,134,154,135,163,130,38,162,142,276,242,43,49,228,132,43,215,166,147,156,41,136,123,142,112,160,45,140,120,228,306,55,59,192,141,62,222,266,222,138,35,127,118,115,142,123,50,177,150,195,205,58,39,180,124,33,178,317,148,116,57,186,167,117,212 H,1356038,8,900,4,16,1015675,77,0,1,1,,2,2,2,,,,,,,,1,,,,,,1,4,,,,,,5,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,0,0,,,,,1,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,27,29,113,83,21,141,171,90,86,24,64,58,78,85,25,100,77,132,133,61,157,145,26,74,155,23,19,82,101,114,66,69,71,69,109,74,83,19,22,103,113,103,20,89,113,24,30,81,66,141,69,73,104,83,132,85,79,27,22,87,20,24,136,80,23,107,150,92,68,20,98,84,74,74,20,85,90,109,115,68 H,1356102,8,800,4,16,1015675,34,2,1,1,,2,1,2,,50,0,150,3,6,0,1,0,,,,3,1,4,,,,1,2,,6,2,450,5,4,17900,4,,,1,1,17900,0,4,4,4,1,6,0,2,0,0,0,9,0,0,0,1,1,2,134,,0,0,9,1,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,9,56,10,38,46,53,67,32,13,54,31,30,32,34,8,12,29,33,35,42,61,12,61,36,13,14,12,39,53,8,29,32,35,28,65,57,41,46,37,38,9,62,11,29,64,61,64,33,10,46,32,35,39,33,10,10,32,39,42,38,54,9,68,35,8,12,13,31,64,8,41,37,36,35,50,74,32,38,38 H,1356367,8,600,4,16,1015675,257,1,1,1,,1,1,2,,30,0,2,10,1,,1,,,,,,1,3,2,440,,1,3,,,1,1,2,,,,480,32,1,4,18000,0,4,4,4,1,1,0,,0,0,0,,0,0,0,0,0,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,274,246,86,277,73,252,284,85,256,442,80,68,495,262,266,406,242,447,84,253,229,256,445,255,415,248,247,433,299,76,489,433,77,284,216,72,227,72,458,271,244,285,73,259,81,259,221,65,271,427,72,74,427,286,260,500,259,408,72,313,305,237,427,272,393,267,252,423,245,64,403,464,73,282,282,77,276,78,433 H,1356413,8,800,4,16,1015675,44,3,1,1,,3,1,2,,1,0,2,1,3,,1,,,,,,1,5,,,,1,4,,,2,1,4,1,34800,2,,,1,1,34800,0,2,2,2,1,3,1,3,0,0,1,,0,0,1,0,0,1,,,1,0,,2,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,12,45,67,58,37,75,49,13,8,11,61,52,43,45,43,73,65,97,41,73,70,38,12,45,50,19,41,84,62,62,36,46,52,44,49,14,11,15,45,81,75,46,17,39,38,13,43,62,75,70,44,40,44,42,48,14,19,11,38,12,12,56,90,30,46,69,44,12,15,18,43,30,46,42,45,85,89,65,45,15 H,1356517,8,200,4,16,1015675,0,1,2,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 H,1356950,8,500,4,16,1015675,71,3,1,1,,3,2,2,,130,0,2,20,1,1200,1,,2,1000,2,1,1,5,,,,1,1,,15,2,50,8,1,64000,2,,,1,1,64000,0,2,2,2,1,5,1,3,0,0,1,25,0,0,1,0,0,1,1337,3,0,1,22,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,66,107,76,74,113,67,21,18,24,70,72,63,71,69,109,109,101,75,22,22,69,108,65,63,105,68,24,22,25,79,70,76,69,78,120,133,118,71,107,123,75,22,68,76,20,67,110,137,123,80,73,70,62,72,21,19,22,71,108,109,71,22,62,62,21,69,106,103,134,86,66,68,68,75,24,19,22,64,21 H,1357182,8,700,4,16,1015675,23,2,1,1,,4,2,2,,50,0,2,140,1,320,1,,1,820,1,1,1,6,,,70,1,1,,16,1,560,2,6,400,1,,,1,2,400,0,1,1,1,1,3,1,2,0,0,1,101,0,0,1,0,0,1,1127,2,0,1,30,1,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,8,37,22,24,7,30,7,8,44,41,20,18,21,24,5,41,25,25,6,18,35,6,20,21,37,26,41,41,7,10,26,20,23,18,40,5,24,25,37,22,7,35,24,22,10,27,6,7,41,43,23,27,23,21,8,44,26,24,6,21,41,6,22,24,39,23,30,39,9,9,26,22,20,19,37,6,20,21,39 H,1357195,8,300,4,16,1015675,19,0,1,1,,2,1,2,,,,,,,,1,,,,,,1,4,2,650,,,,2,,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,1,0,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,5,20,33,34,44,23,25,22,14,24,5,5,5,19,31,21,7,20,30,18,5,17,31,32,38,16,20,18,13,20,7,7,5,21,34,18,7,20,29,23,7,20,27,25,35,18,18,19,14,21,7,5,5,25,26,16,7,22,32,24,5,16,30,28,44,23,22,20,16,19,5,5,5,23,32,17,7,21,29 H,1357238,8,300,4,16,1015675,108,2,1,,,2,5,,,40,0,1,3,3,,1,,,,,,1,3,2,480,,2,3,,,1,1,2,2,-2600,4,520,,1,1,-2600,0,4,4,4,1,1,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,1,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,116,208,241,36,33,140,111,26,201,191,102,73,47,142,84,130,134,36,84,104,98,27,34,212,190,37,90,125,27,28,104,102,151,194,123,96,99,190,94,85,92,33,25,139,184,47,121,228,32,35,104,148,179,109,151,89,102,202,140,117,96,244,136,27,39,150,107,52,232,198,88,112,26,64,106,142,106,33,111 H,1357340,8,400,4,16,1015675,58,2,1,1,,3,2,2,,30,0,2,70,1,260,1,,,,,3,1,6,,,,1,2,,16,1,400,3,4,53200,4,,,1,1,53200,0,4,4,4,1,5,0,2,0,0,0,6,0,0,0,2,2,1,273,,0,1,26,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,49,52,83,51,79,59,55,54,13,58,16,96,68,26,78,58,17,14,20,18,59,55,18,52,16,48,65,60,114,78,99,57,79,86,44,27,132,80,91,113,66,52,97,45,84,51,48,69,13,48,15,71,51,16,82,79,13,18,21,15,67,55,19,53,14,51,66,71,100,66,101,62,52,105,75,20,127,105,68 H,1357874,8,900,4,16,1015675,32,2,1,1,,2,2,2,,70,0,2,120,1,420,1,,2,400,2,1,1,4,,,240,1,1,,6,2,410,9,3,18000,4,,,1,1,18000,0,4,4,4,1,4,0,2,0,0,0,63,0,0,0,2,2,1,949,2,0,1,14,1,8,7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,10,15,47,65,32,8,35,35,6,37,62,68,52,29,28,23,26,38,10,7,55,49,26,8,39,57,38,36,50,26,9,10,10,28,35,43,26,29,54,65,14,11,36,53,32,10,30,36,6,33,64,55,47,34,27,27,33,25,11,13,45,51,41,9,30,50,38,31,49,31,7,8,12,37,44,36,28,33,48,59 H,1357880,8,500,4,16,1015675,123,2,1,2,1,1,2,2,,140,0,2,3,3,,1,,,,,,1,3,2,600,,2,3,,,5,1,9,1,33000,4,740,27,1,1,33000,0,4,4,4,1,2,0,2,0,0,0,,0,0,0,0,0,1,,,1,0,,2,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,106,34,36,123,33,233,140,121,125,184,125,36,105,243,218,153,110,184,110,38,105,36,37,122,47,214,112,119,112,192,119,35,143,206,244,129,130,233,129,35,115,42,38,123,43,233,115,113,114,193,120,36,144,212,226,122,118,245,127,33,134,33,35,129,38,206,127,116,112,201,123,38,104,186,203,132,118,201,125 H,1358490,8,700,4,16,1015675,353,2,1,,,2,7,,,30,0,2,3,3,,1,,,,,,1,3,2,610,,1,3,,,2,1,3,5,32600,4,640,24,1,2,32600,0,4,4,4,1,3,0,2,0,0,0,,0,0,0,0,0,2,,,1,0,,2,10,10,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,397,622,589,396,580,105,335,380,400,107,327,557,339,100,117,389,309,96,552,348,334,97,109,358,107,604,351,360,354,664,333,115,330,588,677,349,314,511,115,349,360,97,119,362,108,574,362,333,324,622,340,102,367,531,619,337,362,635,106,336,378,659,554,356,636,110,372,346,354,108,312,558,372,102,108,381,340,114,563,358 \ No newline at end of file diff --git a/NetBeans/test/build-before-profiler.xml b/NetBeans/test/build-before-profiler.xml new file mode 100644 index 0000000..119678f --- /dev/null +++ b/NetBeans/test/build-before-profiler.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project test. + + + diff --git a/NetBeans/test/build.xml b/NetBeans/test/build.xml new file mode 100644 index 0000000..b1cda4c --- /dev/null +++ b/NetBeans/test/build.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + Builds, tests, and runs the project test. + + + + diff --git a/NetBeans/test/manifest.mf b/NetBeans/test/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/NetBeans/test/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/NetBeans/test/nbproject/build-impl.xml b/NetBeans/test/nbproject/build-impl.xml new file mode 100644 index 0000000..4be103f --- /dev/null +++ b/NetBeans/test/nbproject/build-impl.xml @@ -0,0 +1,1056 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + Must select one file in the IDE or set profile.class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans/test/nbproject/genfiles.properties b/NetBeans/test/nbproject/genfiles.properties new file mode 100644 index 0000000..aae5ea7 --- /dev/null +++ b/NetBeans/test/nbproject/genfiles.properties @@ -0,0 +1,11 @@ +build.xml.data.CRC32=f866ff6c +build.xml.script.CRC32=ea13e2ea +build.xml.stylesheet.CRC32=28e38971@1.38.1.45 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=f866ff6c +nbproject/build-impl.xml.script.CRC32=4cde1eca +nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/profiler-build-impl.xml.data.CRC32=f866ff6c +nbproject/profiler-build-impl.xml.script.CRC32=abda56ed +nbproject/profiler-build-impl.xml.stylesheet.CRC32=f10cf54c@1.11.1 diff --git a/NetBeans/test/nbproject/profiler-build-impl.xml b/NetBeans/test/nbproject/profiler-build-impl.xml new file mode 100644 index 0000000..7c8995d --- /dev/null +++ b/NetBeans/test/nbproject/profiler-build-impl.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + Must select one file in the IDE or set profile.class + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetBeans/test/nbproject/project.properties b/NetBeans/test/nbproject/project.properties new file mode 100644 index 0000000..6d7be12 --- /dev/null +++ b/NetBeans/test/nbproject/project.properties @@ -0,0 +1,76 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=test +application.vendor=shackle +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/test.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +includes=** +jar.compress=false +javac.classpath=\ + ${reference.rcsjava.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=nml_test_java_read +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +project.rcsjava=../../../svn_repos/trunk/rcslib/NetBeans/rcsjava +reference.rcsjava.jar=${project.rcsjava}/dist/rcsjava.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/NetBeans/test/nbproject/project.xml b/NetBeans/test/nbproject/project.xml new file mode 100644 index 0000000..5556092 --- /dev/null +++ b/NetBeans/test/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + test + + + + + + + + + + rcsjava + jar + + jar + clean + jar + + + + diff --git a/NetBeans/test/nml_test_java_read.b1.log b/NetBeans/test/nml_test_java_read.b1.log new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/test/nml_test_java_read.b6.log b/NetBeans/test/nml_test_java_read.b6.log new file mode 100644 index 0000000..e69de29 diff --git a/NetBeans/test/nml_test_java_read.nml_test_java_read.log b/NetBeans/test/nml_test_java_read.nml_test_java_read.log new file mode 100644 index 0000000..3efb4e5 --- /dev/null +++ b/NetBeans/test/nml_test_java_read.nml_test_java_read.log @@ -0,0 +1,5 @@ +java.lang.NumberFormatException: For input string: "false" + at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) + at java.lang.Integer.parseInt(Integer.java:481) + at java.lang.Integer.valueOf(Integer.java:570) + at nml_test_java_read.main(nml_test_java_read.java:58) diff --git a/NetBeans/test/src/BOP_MSG.java b/NetBeans/test/src/BOP_MSG.java new file mode 100644 index 0000000..78d1a39 --- /dev/null +++ b/NetBeans/test/src/BOP_MSG.java @@ -0,0 +1,92 @@ +/* +* New Java File starts here. +* This file should be named BOP_MSG.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:318 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for BOP_MSG +* Automatically generated by NML CodeGen Java Applet. +*/ +public class BOP_MSG extends NMLmsg implements Cloneable +{ + public long ula[] = new long[2]; + + + // Constructor + public BOP_MSG() + { + super(104); + for(int i_ula = 0; i_ula < 2; i_ula++ ) + { + ula[i_ula] = 0; + } + + } + + + + // Constructor that should be used by any classes that extend this class. + protected BOP_MSG(int _type) + { + super(_type); + for(int i_ula = 0; i_ula < 2; i_ula++ ) + { + ula[i_ula] = 0; + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("BOP_MSG","NMLmsg"); + + nml_fc.beginBaseClass("NMLmsg"); + + super.update(nml_fc); + + nml_fc.endBaseClass("NMLmsg"); + nml_fc.update_unsigned_with_name("ula",ula,2); + + nml_fc.endClass("BOP_MSG","NMLmsg"); + + } + + + public BOP_MSG clone() throws CloneNotSupportedException + { + BOP_MSG cloned_object = (BOP_MSG) super.clone(); + if(this.ula != null) { + cloned_object.ula = (long []) this.ula.clone(); + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/MyStat.java b/NetBeans/test/src/MyStat.java new file mode 100644 index 0000000..7321d49 --- /dev/null +++ b/NetBeans/test/src/MyStat.java @@ -0,0 +1,79 @@ +/* +* New Java File starts here. +* This file should be named MyStat.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:37 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for MyStat +* Automatically generated by NML CodeGen Java Applet. +*/ +public class MyStat extends RCS_STAT_MSG implements Cloneable +{ + + + // Constructor + public MyStat() + { + super(1001); + + } + + + + // Constructor that should be used by any classes that extend this class. + protected MyStat(int _type) + { + super(_type); + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("MyStat","RCS_STAT_MSG"); + + nml_fc.beginBaseClass("RCS_STAT_MSG"); + + super.update(nml_fc); + + nml_fc.endBaseClass("RCS_STAT_MSG"); + + nml_fc.endClass("MyStat","RCS_STAT_MSG"); + + } + + + public MyStat clone() throws CloneNotSupportedException + { + MyStat cloned_object = (MyStat) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/MyStat2.java b/NetBeans/test/src/MyStat2.java new file mode 100644 index 0000000..a96cd8c --- /dev/null +++ b/NetBeans/test/src/MyStat2.java @@ -0,0 +1,79 @@ +/* +* New Java File starts here. +* This file should be named MyStat2.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:66 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for MyStat2 +* Automatically generated by NML CodeGen Java Applet. +*/ +public class MyStat2 extends RCS_STAT_MSG_V2 implements Cloneable +{ + + + // Constructor + public MyStat2() + { + super(2002); + + } + + + + // Constructor that should be used by any classes that extend this class. + protected MyStat2(int _type) + { + super(_type); + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("MyStat2","RCS_STAT_MSG_V2"); + + nml_fc.beginBaseClass("RCS_STAT_MSG_V2"); + + super.update(nml_fc); + + nml_fc.endBaseClass("RCS_STAT_MSG_V2"); + + nml_fc.endClass("MyStat2","RCS_STAT_MSG_V2"); + + } + + + public MyStat2 clone() throws CloneNotSupportedException + { + MyStat2 cloned_object = (MyStat2) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/QTEST_MSG.java b/NetBeans/test/src/QTEST_MSG.java new file mode 100644 index 0000000..d11ae3e --- /dev/null +++ b/NetBeans/test/src/QTEST_MSG.java @@ -0,0 +1,102 @@ +/* +* New Java File starts here. +* This file should be named QTEST_MSG.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:302 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for QTEST_MSG +* Automatically generated by NML CodeGen Java Applet. +*/ +public class QTEST_MSG extends NMLmsg implements Cloneable +{ + public int priority = 0; + public int pchanges_count = 0; + public int count = 0; + public int pid = 0; + public byte line[] = new byte[105]; + public double time = 0; + + + // Constructor + public QTEST_MSG() + { + super(103); + for(int i_line = 0; i_line < 105; i_line++ ) + { + line[i_line] = 0; + } + + } + + + + // Constructor that should be used by any classes that extend this class. + protected QTEST_MSG(int _type) + { + super(_type); + for(int i_line = 0; i_line < 105; i_line++ ) + { + line[i_line] = 0; + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("QTEST_MSG","NMLmsg"); + + nml_fc.beginBaseClass("NMLmsg"); + + super.update(nml_fc); + + nml_fc.endBaseClass("NMLmsg"); + priority = nml_fc.update_with_name("priority",priority); + pchanges_count = nml_fc.update_with_name("pchanges_count",pchanges_count); + count = nml_fc.update_with_name("count",count); + pid = nml_fc.update_with_name("pid",pid); + nml_fc.update_with_name("line",line,105); + time = nml_fc.update_with_name("time",time); + + nml_fc.endClass("QTEST_MSG","NMLmsg"); + + } + + + public QTEST_MSG clone() throws CloneNotSupportedException + { + QTEST_MSG cloned_object = (QTEST_MSG) super.clone(); + if(this.line != null) { + cloned_object.line = (byte []) this.line.clone(); + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/SIMPLER_MSG.java b/NetBeans/test/src/SIMPLER_MSG.java new file mode 100644 index 0000000..81a4595 --- /dev/null +++ b/NetBeans/test/src/SIMPLER_MSG.java @@ -0,0 +1,96 @@ +/* +* New Java File starts here. +* This file should be named SIMPLER_MSG.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:291 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for SIMPLER_MSG +* Automatically generated by NML CodeGen Java Applet. +*/ +public class SIMPLER_MSG extends NMLmsg implements Cloneable +{ + public int i = 0; + public byte cbuf[] = new byte[80]; + public long lastvar = 0; + + + // Constructor + public SIMPLER_MSG() + { + super(102); + for(int i_cbuf = 0; i_cbuf < 80; i_cbuf++ ) + { + cbuf[i_cbuf] = 0; + } + + } + + + + // Constructor that should be used by any classes that extend this class. + protected SIMPLER_MSG(int _type) + { + super(_type); + for(int i_cbuf = 0; i_cbuf < 80; i_cbuf++ ) + { + cbuf[i_cbuf] = 0; + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("SIMPLER_MSG","NMLmsg"); + + nml_fc.beginBaseClass("NMLmsg"); + + super.update(nml_fc); + + nml_fc.endBaseClass("NMLmsg"); + i = nml_fc.update_with_name("i",i); + nml_fc.update_with_name("cbuf",cbuf,80); + lastvar = nml_fc.update_with_name("lastvar",lastvar); + + nml_fc.endClass("SIMPLER_MSG","NMLmsg"); + + } + + + public SIMPLER_MSG clone() throws CloneNotSupportedException + { + SIMPLER_MSG cloned_object = (SIMPLER_MSG) super.clone(); + if(this.cbuf != null) { + cloned_object.cbuf = (byte []) this.cbuf.clone(); + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/TEST_MESSAGE.java b/NetBeans/test/src/TEST_MESSAGE.java new file mode 100644 index 0000000..c88f067 --- /dev/null +++ b/NetBeans/test/src/TEST_MESSAGE.java @@ -0,0 +1,772 @@ +/* +* New Java File starts here. +* This file should be named TEST_MESSAGE.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:210 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for TEST_MESSAGE +* Automatically generated by NML CodeGen Java Applet. +*/ +public class TEST_MESSAGE extends TEST_MESSAGE_BASE implements Cloneable +{ + public byte byte_to_messup_msg = 0; + public long first_count = 0; + public struct_from_other_header sfoh = new struct_from_other_header(); + public boolean b = false; + public byte c = 0; + public double d = 0; + public int i = 0; + public float f = 0; + public fwLaserStruct fw = new fwLaserStruct(); + + public static NML_ENUM_INFO nml_enum_info_for_enumtest_typedef=null; + public int etd =0; /* enum enumtest_typedef : zzz=0 */ + + public static NML_ENUM_INFO nml_enum_info_for_enumtest_typedef2=null; + public int etd2 =0; /* enum enumtest_typedef2 : www=0 */ + public byte big_array[] = new byte[1000]; + public boolean bool_array[] = new boolean[2]; + public int ia[] = new int[2]; + public byte ca[] = new byte[2]; + public float fa[] = new float[2]; + public double da[] = new double[2]; + public double two_d_array[] = new double[4]; + public double three_d_array[] = new double[8]; + public float f_pi = (float) 3.14159265;/* set by default comment */ + public int cda_length = 0; + public byte cda[] = new byte[8]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double seventysevenpointseven = (double) 77.7;/* set by default comment */ + public int ida_length = 0; + public int ida[] = new int[8]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double eightyeightpointeight = (double) 88.8;/* set by default comment */ + public int fda_length = 0; + public float fda[] = new float[8]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public int dda_length = 0; + public double dda[] = new double[8]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public teststruct s = new teststruct(); + public teststruct_td2 s_td2 = new teststruct_td2(); + public teststruct sa[] = new teststruct[2]; + public double d_pi = (double) 3.14159265;/* set by default comment */ + public int sda_length = 0; + public teststruct sda[] = new teststruct[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + + public static NML_ENUM_INFO nml_enum_info_for_enumtest=null; + public int enumtestvar =0; /* enum enumtest : a=0 */ + public int enum_array[] = new int[5]; + public int enumtest_dla_length = 0; + public int enumtest_dla[] = new int[7]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public PM_CARTESIAN cart = new PM_CARTESIAN(); + public PM_CARTESIAN cart_array[] = new PM_CARTESIAN[3]; + public int cart_dla_length = 0; + public PM_CARTESIAN cart_dla[] = new PM_CARTESIAN[5]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public boolean do_int_size_test = false; + public short smin = 0; + public short smax = 0; + public int i_smin = 0; + public int i_smax = 0; + public int imin = 0; + public int imax = 0; + public long l_imin = 0; + public long l_imax = 0; + public long lmin = 0; + public long lmax = 0; + public short usmax = 0; + public int ui_usmax = 0; + public int uimax = 0; + public long ul_uimax = 0; + public long ulmax = 0; + public double d_ulmax = 0; + public double d_lmin = 0; + public double d_lmax = 0; + public short s_array[] = new short[3]; + public int i_array[] = new int[3]; + public long l_array[] = new long[3]; + public short us_array[] = new short[2]; + public int ui_array[] = new int[2]; + public long ul_array[] = new long[2]; + public boolean false_bool = false; + public boolean true_bool = false; + public short sminusone = 0; + public int iminusone = 0; + public long lminusone = 0; + public float fminusone = 0; + public double dminusone = 0; + public long last_count = 0; + public teststruct teststruct_2d_array[] = new teststruct[4]; + public long lastvar = 0; + + + // Constructor + public TEST_MESSAGE() + { + super(101); + + if(nml_enum_info_for_enumtest_typedef==null) + { + nml_enum_info_for_enumtest_typedef = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest_typedef.name="enumtest_typedef"; + nml_enum_info_for_enumtest_typedef.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest_typedef.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest_typedef=null; + String Str_enumtest_typedef=null; + I_enumtest_typedef= new Integer(2); + Str_enumtest_typedef= "xxx"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + I_enumtest_typedef= new Integer(0); + Str_enumtest_typedef= "zzz"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + I_enumtest_typedef= new Integer(1); + Str_enumtest_typedef= "yyy"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + } + + + if(nml_enum_info_for_enumtest_typedef2==null) + { + nml_enum_info_for_enumtest_typedef2 = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest_typedef2.name="enumtest_typedef2"; + nml_enum_info_for_enumtest_typedef2.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest_typedef2.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest_typedef2=null; + String Str_enumtest_typedef2=null; + I_enumtest_typedef2= new Integer(2); + Str_enumtest_typedef2= "uuu"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + I_enumtest_typedef2= new Integer(0); + Str_enumtest_typedef2= "www"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + I_enumtest_typedef2= new Integer(1); + Str_enumtest_typedef2= "vvv"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + } + + for(int i_big_array = 0; i_big_array < 1000; i_big_array++ ) + { + big_array[i_big_array] = 0; + } + for(int i_bool_array = 0; i_bool_array < 2; i_bool_array++ ) + { + bool_array[i_bool_array] = false; + } + for(int i_ia = 0; i_ia < 2; i_ia++ ) + { + ia[i_ia] = 0; + } + for(int i_ca = 0; i_ca < 2; i_ca++ ) + { + ca[i_ca] = 0; + } + for(int i_fa = 0; i_fa < 2; i_fa++ ) + { + fa[i_fa] = 0; + } + for(int i_da = 0; i_da < 2; i_da++ ) + { + da[i_da] = 0; + } + for(int i_two_d_array = 0; i_two_d_array < 4; i_two_d_array++ ) + { + two_d_array[i_two_d_array] = 0; + } + for(int i_three_d_array = 0; i_three_d_array < 8; i_three_d_array++ ) + { + three_d_array[i_three_d_array] = 0; + } + for(int i_cda = 0; i_cda < 8; i_cda++ ) + { + cda[i_cda] = 0; + } + for(int i_ida = 0; i_ida < 8; i_ida++ ) + { + ida[i_ida] = 0; + } + for(int i_fda = 0; i_fda < 8; i_fda++ ) + { + fda[i_fda] = 0; + } + for(int i_dda = 0; i_dda < 8; i_dda++ ) + { + dda[i_dda] = 0; + } + for(int i_sa = 0; i_sa < 2; i_sa++ ) + { + sa[i_sa] = new teststruct(); + } + for(int i_sda = 0; i_sda < 2; i_sda++ ) + { + sda[i_sda] = new teststruct(); + } + + if(nml_enum_info_for_enumtest==null) + { + nml_enum_info_for_enumtest = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest.name="enumtest"; + nml_enum_info_for_enumtest.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest=null; + String Str_enumtest=null; + I_enumtest= new Integer(77); + Str_enumtest= "dd"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(1); + Str_enumtest= "b"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(0); + Str_enumtest= "a"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(88); + Str_enumtest= "e"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(2); + Str_enumtest= "aa"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(3); + Str_enumtest= "bb"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(99); + Str_enumtest= "ccc"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + } + + for(int i_enum_array = 0; i_enum_array < 5; i_enum_array++ ) + { + enum_array[i_enum_array] = 0; /* enum enumtest : a=0 */ + } + for(int i_enumtest_dla = 0; i_enumtest_dla < 7; i_enumtest_dla++ ) + { + enumtest_dla[i_enumtest_dla] = 0; /* enum enumtest : a=0 */ + } + for(int i_cart_array = 0; i_cart_array < 3; i_cart_array++ ) + { + cart_array[i_cart_array] = new PM_CARTESIAN(); + } + for(int i_cart_dla = 0; i_cart_dla < 5; i_cart_dla++ ) + { + cart_dla[i_cart_dla] = new PM_CARTESIAN(); + } + for(int i_s_array = 0; i_s_array < 3; i_s_array++ ) + { + s_array[i_s_array] = 0; + } + for(int i_i_array = 0; i_i_array < 3; i_i_array++ ) + { + i_array[i_i_array] = 0; + } + for(int i_l_array = 0; i_l_array < 3; i_l_array++ ) + { + l_array[i_l_array] = 0; + } + for(int i_us_array = 0; i_us_array < 2; i_us_array++ ) + { + us_array[i_us_array] = 0; + } + for(int i_ui_array = 0; i_ui_array < 2; i_ui_array++ ) + { + ui_array[i_ui_array] = 0; + } + for(int i_ul_array = 0; i_ul_array < 2; i_ul_array++ ) + { + ul_array[i_ul_array] = 0; + } + for(int i_teststruct_2d_array = 0; i_teststruct_2d_array < 4; i_teststruct_2d_array++ ) + { + teststruct_2d_array[i_teststruct_2d_array] = new teststruct(); + } + + } + + + + // Constructor that should be used by any classes that extend this class. + protected TEST_MESSAGE(int _type) + { + super(_type); + + if(nml_enum_info_for_enumtest_typedef==null) + { + nml_enum_info_for_enumtest_typedef = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest_typedef.name="enumtest_typedef"; + nml_enum_info_for_enumtest_typedef.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest_typedef.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest_typedef=null; + String Str_enumtest_typedef=null; + I_enumtest_typedef= new Integer(2); + Str_enumtest_typedef= "xxx"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + I_enumtest_typedef= new Integer(0); + Str_enumtest_typedef= "zzz"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + I_enumtest_typedef= new Integer(1); + Str_enumtest_typedef= "yyy"; + nml_enum_info_for_enumtest_typedef.int_to_string_hash.put(I_enumtest_typedef,Str_enumtest_typedef); + nml_enum_info_for_enumtest_typedef.string_to_int_hash.put(Str_enumtest_typedef,I_enumtest_typedef); + } + + + if(nml_enum_info_for_enumtest_typedef2==null) + { + nml_enum_info_for_enumtest_typedef2 = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest_typedef2.name="enumtest_typedef2"; + nml_enum_info_for_enumtest_typedef2.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest_typedef2.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest_typedef2=null; + String Str_enumtest_typedef2=null; + I_enumtest_typedef2= new Integer(2); + Str_enumtest_typedef2= "uuu"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + I_enumtest_typedef2= new Integer(0); + Str_enumtest_typedef2= "www"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + I_enumtest_typedef2= new Integer(1); + Str_enumtest_typedef2= "vvv"; + nml_enum_info_for_enumtest_typedef2.int_to_string_hash.put(I_enumtest_typedef2,Str_enumtest_typedef2); + nml_enum_info_for_enumtest_typedef2.string_to_int_hash.put(Str_enumtest_typedef2,I_enumtest_typedef2); + } + + for(int i_big_array = 0; i_big_array < 1000; i_big_array++ ) + { + big_array[i_big_array] = 0; + } + for(int i_bool_array = 0; i_bool_array < 2; i_bool_array++ ) + { + bool_array[i_bool_array] = false; + } + for(int i_ia = 0; i_ia < 2; i_ia++ ) + { + ia[i_ia] = 0; + } + for(int i_ca = 0; i_ca < 2; i_ca++ ) + { + ca[i_ca] = 0; + } + for(int i_fa = 0; i_fa < 2; i_fa++ ) + { + fa[i_fa] = 0; + } + for(int i_da = 0; i_da < 2; i_da++ ) + { + da[i_da] = 0; + } + for(int i_two_d_array = 0; i_two_d_array < 4; i_two_d_array++ ) + { + two_d_array[i_two_d_array] = 0; + } + for(int i_three_d_array = 0; i_three_d_array < 8; i_three_d_array++ ) + { + three_d_array[i_three_d_array] = 0; + } + for(int i_cda = 0; i_cda < 8; i_cda++ ) + { + cda[i_cda] = 0; + } + for(int i_ida = 0; i_ida < 8; i_ida++ ) + { + ida[i_ida] = 0; + } + for(int i_fda = 0; i_fda < 8; i_fda++ ) + { + fda[i_fda] = 0; + } + for(int i_dda = 0; i_dda < 8; i_dda++ ) + { + dda[i_dda] = 0; + } + for(int i_sa = 0; i_sa < 2; i_sa++ ) + { + sa[i_sa] = new teststruct(); + } + for(int i_sda = 0; i_sda < 2; i_sda++ ) + { + sda[i_sda] = new teststruct(); + } + + if(nml_enum_info_for_enumtest==null) + { + nml_enum_info_for_enumtest = new NML_ENUM_INFO(); + nml_enum_info_for_enumtest.name="enumtest"; + nml_enum_info_for_enumtest.string_to_int_hash = new java.util.Hashtable(); + nml_enum_info_for_enumtest.int_to_string_hash = new java.util.Hashtable(); + Integer I_enumtest=null; + String Str_enumtest=null; + I_enumtest= new Integer(77); + Str_enumtest= "dd"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(1); + Str_enumtest= "b"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(0); + Str_enumtest= "a"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(88); + Str_enumtest= "e"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(2); + Str_enumtest= "aa"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(3); + Str_enumtest= "bb"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + I_enumtest= new Integer(99); + Str_enumtest= "ccc"; + nml_enum_info_for_enumtest.int_to_string_hash.put(I_enumtest,Str_enumtest); + nml_enum_info_for_enumtest.string_to_int_hash.put(Str_enumtest,I_enumtest); + } + + for(int i_enum_array = 0; i_enum_array < 5; i_enum_array++ ) + { + enum_array[i_enum_array] = 0; /* enum enumtest : a=0 */ + } + for(int i_enumtest_dla = 0; i_enumtest_dla < 7; i_enumtest_dla++ ) + { + enumtest_dla[i_enumtest_dla] = 0; /* enum enumtest : a=0 */ + } + for(int i_cart_array = 0; i_cart_array < 3; i_cart_array++ ) + { + cart_array[i_cart_array] = new PM_CARTESIAN(); + } + for(int i_cart_dla = 0; i_cart_dla < 5; i_cart_dla++ ) + { + cart_dla[i_cart_dla] = new PM_CARTESIAN(); + } + for(int i_s_array = 0; i_s_array < 3; i_s_array++ ) + { + s_array[i_s_array] = 0; + } + for(int i_i_array = 0; i_i_array < 3; i_i_array++ ) + { + i_array[i_i_array] = 0; + } + for(int i_l_array = 0; i_l_array < 3; i_l_array++ ) + { + l_array[i_l_array] = 0; + } + for(int i_us_array = 0; i_us_array < 2; i_us_array++ ) + { + us_array[i_us_array] = 0; + } + for(int i_ui_array = 0; i_ui_array < 2; i_ui_array++ ) + { + ui_array[i_ui_array] = 0; + } + for(int i_ul_array = 0; i_ul_array < 2; i_ul_array++ ) + { + ul_array[i_ul_array] = 0; + } + for(int i_teststruct_2d_array = 0; i_teststruct_2d_array < 4; i_teststruct_2d_array++ ) + { + teststruct_2d_array[i_teststruct_2d_array] = new teststruct(); + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("TEST_MESSAGE","TEST_MESSAGE_BASE"); + + nml_fc.beginBaseClass("TEST_MESSAGE_BASE"); + + super.update(nml_fc); + + nml_fc.endBaseClass("TEST_MESSAGE_BASE"); + byte_to_messup_msg = nml_fc.update_with_name("byte_to_messup_msg",byte_to_messup_msg); + first_count = nml_fc.update_with_name("first_count",first_count); + nml_fc.beginClassVar("sfoh"); + sfoh.update(nml_fc); + nml_fc.endClassVar("sfoh"); + b = nml_fc.update_with_name("b",b); + c = nml_fc.update_with_name("c",c); + d = nml_fc.update_with_name("d",d); + i = nml_fc.update_with_name("i",i); + f = nml_fc.update_with_name("f",f); + nml_fc.beginClassVar("fw"); + fw.update(nml_fc); + nml_fc.endClassVar("fw"); + etd = nml_fc.update_enumeration_with_name("etd",etd,nml_enum_info_for_enumtest_typedef); + etd2 = nml_fc.update_enumeration_with_name("etd2",etd2,nml_enum_info_for_enumtest_typedef2); + nml_fc.update_with_name("big_array",big_array,1000); + nml_fc.update_with_name("bool_array",bool_array,2); + nml_fc.update_with_name("ia",ia,2); + nml_fc.update_with_name("ca",ca,2); + nml_fc.update_with_name("fa",fa,2); + nml_fc.update_with_name("da",da,2); + nml_fc.update_with_name("two_d_array",two_d_array,4); + nml_fc.update_with_name("three_d_array",three_d_array,8); + nml_fc.next_update_default("3.14159265"); + f_pi = nml_fc.update_with_name("f_pi",f_pi); + cda_length = nml_fc.update_dla_length_with_name("cda_length",cda_length); + nml_fc.update_with_name("cda",cda,cda_length); + nml_fc.next_update_default("77.7"); + seventysevenpointseven = nml_fc.update_with_name("seventysevenpointseven",seventysevenpointseven); + ida_length = nml_fc.update_dla_length_with_name("ida_length",ida_length); + nml_fc.update_with_name("ida",ida,ida_length); + nml_fc.next_update_default("88.8"); + eightyeightpointeight = nml_fc.update_with_name("eightyeightpointeight",eightyeightpointeight); + fda_length = nml_fc.update_dla_length_with_name("fda_length",fda_length); + nml_fc.update_with_name("fda",fda,fda_length); + dda_length = nml_fc.update_dla_length_with_name("dda_length",dda_length); + nml_fc.update_with_name("dda",dda,dda_length); + nml_fc.beginClassVar("s"); + s.update(nml_fc); + nml_fc.endClassVar("s"); + nml_fc.beginClassVar("s_td2"); + s_td2.update(nml_fc); + nml_fc.endClassVar("s_td2"); + for(int i_sa = 0; i_sa < 2; i_sa++ ) + { + nml_fc.beginClassArrayElem("sa",i_sa); + sa[i_sa].update(nml_fc); + + nml_fc.endClassArrayElem("sa",i_sa); + } + nml_fc.next_update_default("3.14159265"); + d_pi = nml_fc.update_with_name("d_pi",d_pi); + sda_length = nml_fc.update_dla_length_with_name("sda_length",sda_length); + for(int i_sda = 0; i_sda < sda_length; i_sda++ ) + { + nml_fc.beginClassArrayElem("sda",i_sda); + sda[i_sda].update(nml_fc); + + nml_fc.endClassArrayElem("sda",i_sda); + } + enumtestvar = nml_fc.update_enumeration_with_name("enumtestvar",enumtestvar,nml_enum_info_for_enumtest); + nml_fc.update_enumeration_array_with_name("enum_array",enum_array,5,nml_enum_info_for_enumtest); + enumtest_dla_length = nml_fc.update_dla_length_with_name("enumtest_dla_length",enumtest_dla_length); + nml_fc.update_enumeration_array_with_name("enumtest_dla",enumtest_dla,enumtest_dla_length,nml_enum_info_for_enumtest); + nml_fc.beginClassVar("cart"); + cart.update(nml_fc); + nml_fc.endClassVar("cart"); + for(int i_cart_array = 0; i_cart_array < 3; i_cart_array++ ) + { + nml_fc.beginClassArrayElem("cart_array",i_cart_array); + cart_array[i_cart_array].update(nml_fc); + + nml_fc.endClassArrayElem("cart_array",i_cart_array); + } + cart_dla_length = nml_fc.update_dla_length_with_name("cart_dla_length",cart_dla_length); + for(int i_cart_dla = 0; i_cart_dla < cart_dla_length; i_cart_dla++ ) + { + nml_fc.beginClassArrayElem("cart_dla",i_cart_dla); + cart_dla[i_cart_dla].update(nml_fc); + + nml_fc.endClassArrayElem("cart_dla",i_cart_dla); + } + do_int_size_test = nml_fc.update_with_name("do_int_size_test",do_int_size_test); + smin = nml_fc.update_with_name("smin",smin); + smax = nml_fc.update_with_name("smax",smax); + i_smin = nml_fc.update_with_name("i_smin",i_smin); + i_smax = nml_fc.update_with_name("i_smax",i_smax); + imin = nml_fc.update_with_name("imin",imin); + imax = nml_fc.update_with_name("imax",imax); + l_imin = nml_fc.update_with_name("l_imin",l_imin); + l_imax = nml_fc.update_with_name("l_imax",l_imax); + lmin = nml_fc.update_with_name("lmin",lmin); + lmax = nml_fc.update_with_name("lmax",lmax); + usmax = nml_fc.update_unsigned_with_name("usmax",usmax); + ui_usmax = nml_fc.update_unsigned_with_name("ui_usmax",ui_usmax); + uimax = nml_fc.update_unsigned_with_name("uimax",uimax); + ul_uimax = nml_fc.update_unsigned_with_name("ul_uimax",ul_uimax); + ulmax = nml_fc.update_unsigned_with_name("ulmax",ulmax); + d_ulmax = nml_fc.update_with_name("d_ulmax",d_ulmax); + d_lmin = nml_fc.update_with_name("d_lmin",d_lmin); + d_lmax = nml_fc.update_with_name("d_lmax",d_lmax); + nml_fc.update_with_name("s_array",s_array,3); + nml_fc.update_with_name("i_array",i_array,3); + nml_fc.update_with_name("l_array",l_array,3); + nml_fc.update_unsigned_with_name("us_array",us_array,2); + nml_fc.update_unsigned_with_name("ui_array",ui_array,2); + nml_fc.update_unsigned_with_name("ul_array",ul_array,2); + false_bool = nml_fc.update_with_name("false_bool",false_bool); + true_bool = nml_fc.update_with_name("true_bool",true_bool); + sminusone = nml_fc.update_with_name("sminusone",sminusone); + iminusone = nml_fc.update_with_name("iminusone",iminusone); + lminusone = nml_fc.update_with_name("lminusone",lminusone); + fminusone = nml_fc.update_with_name("fminusone",fminusone); + dminusone = nml_fc.update_with_name("dminusone",dminusone); + last_count = nml_fc.update_with_name("last_count",last_count); + for(int i_teststruct_2d_array = 0; i_teststruct_2d_array < 4; i_teststruct_2d_array++ ) + { + nml_fc.beginClassArrayElem("teststruct_2d_array",i_teststruct_2d_array); + teststruct_2d_array[i_teststruct_2d_array].update(nml_fc); + + nml_fc.endClassArrayElem("teststruct_2d_array",i_teststruct_2d_array); + } + lastvar = nml_fc.update_with_name("lastvar",lastvar); + + nml_fc.endClass("TEST_MESSAGE","TEST_MESSAGE_BASE"); + + } + + + public TEST_MESSAGE clone() throws CloneNotSupportedException + { + TEST_MESSAGE cloned_object = (TEST_MESSAGE) super.clone(); + if(this.sfoh != null) { + cloned_object.sfoh = (struct_from_other_header ) this.sfoh.clone(); + } + if(this.fw != null) { + cloned_object.fw = (fwLaserStruct ) this.fw.clone(); + } + if(this.big_array != null) { + cloned_object.big_array = (byte []) this.big_array.clone(); + } + if(this.bool_array != null) { + cloned_object.bool_array = (boolean []) this.bool_array.clone(); + } + if(this.ia != null) { + cloned_object.ia = (int []) this.ia.clone(); + } + if(this.ca != null) { + cloned_object.ca = (byte []) this.ca.clone(); + } + if(this.fa != null) { + cloned_object.fa = (float []) this.fa.clone(); + } + if(this.da != null) { + cloned_object.da = (double []) this.da.clone(); + } + if(this.two_d_array != null) { + cloned_object.two_d_array = (double []) this.two_d_array.clone(); + } + if(this.three_d_array != null) { + cloned_object.three_d_array = (double []) this.three_d_array.clone(); + } + if(this.cda != null) { + cloned_object.cda = (byte []) this.cda.clone(); + } + if(this.ida != null) { + cloned_object.ida = (int []) this.ida.clone(); + } + if(this.fda != null) { + cloned_object.fda = (float []) this.fda.clone(); + } + if(this.dda != null) { + cloned_object.dda = (double []) this.dda.clone(); + } + if(this.s != null) { + cloned_object.s = (teststruct ) this.s.clone(); + } + if(this.s_td2 != null) { + cloned_object.s_td2 = (teststruct_td2 ) this.s_td2.clone(); + } + if(this.sa != null) { + cloned_object.sa = (teststruct []) this.sa.clone(); + for(int i_sa=0; i_sa < this.sa.length; i_sa++) { + if(this.sa[i_sa] != null) { + cloned_object.sa[i_sa] = (teststruct) this.sa[i_sa].clone(); + } + } + } + if(this.sda != null) { + cloned_object.sda = (teststruct []) this.sda.clone(); + for(int i_sda=0; i_sda < this.sda.length; i_sda++) { + if(this.sda[i_sda] != null) { + cloned_object.sda[i_sda] = (teststruct) this.sda[i_sda].clone(); + } + } + } + if(this.enum_array != null) { + cloned_object.enum_array = (int []) this.enum_array.clone(); + } + if(this.enumtest_dla != null) { + cloned_object.enumtest_dla = (int []) this.enumtest_dla.clone(); + } + if(this.cart != null) { + cloned_object.cart = (PM_CARTESIAN ) this.cart.clone(); + } + if(this.cart_array != null) { + cloned_object.cart_array = (PM_CARTESIAN []) this.cart_array.clone(); + for(int i_cart_array=0; i_cart_array < this.cart_array.length; i_cart_array++) { + if(this.cart_array[i_cart_array] != null) { + cloned_object.cart_array[i_cart_array] = (PM_CARTESIAN) this.cart_array[i_cart_array].clone(); + } + } + } + if(this.cart_dla != null) { + cloned_object.cart_dla = (PM_CARTESIAN []) this.cart_dla.clone(); + for(int i_cart_dla=0; i_cart_dla < this.cart_dla.length; i_cart_dla++) { + if(this.cart_dla[i_cart_dla] != null) { + cloned_object.cart_dla[i_cart_dla] = (PM_CARTESIAN) this.cart_dla[i_cart_dla].clone(); + } + } + } + if(this.s_array != null) { + cloned_object.s_array = (short []) this.s_array.clone(); + } + if(this.i_array != null) { + cloned_object.i_array = (int []) this.i_array.clone(); + } + if(this.l_array != null) { + cloned_object.l_array = (long []) this.l_array.clone(); + } + if(this.us_array != null) { + cloned_object.us_array = (short []) this.us_array.clone(); + } + if(this.ui_array != null) { + cloned_object.ui_array = (int []) this.ui_array.clone(); + } + if(this.ul_array != null) { + cloned_object.ul_array = (long []) this.ul_array.clone(); + } + if(this.teststruct_2d_array != null) { + cloned_object.teststruct_2d_array = (teststruct []) this.teststruct_2d_array.clone(); + for(int i_teststruct_2d_array=0; i_teststruct_2d_array < this.teststruct_2d_array.length; i_teststruct_2d_array++) { + if(this.teststruct_2d_array[i_teststruct_2d_array] != null) { + cloned_object.teststruct_2d_array[i_teststruct_2d_array] = (teststruct) this.teststruct_2d_array[i_teststruct_2d_array].clone(); + } + } + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/TEST_MESSAGE_BASE.java b/NetBeans/test/src/TEST_MESSAGE_BASE.java new file mode 100644 index 0000000..8a2aa06 --- /dev/null +++ b/NetBeans/test/src/TEST_MESSAGE_BASE.java @@ -0,0 +1,81 @@ +/* +* New Java File starts here. +* This file should be named TEST_MESSAGE_BASE.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:195 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for TEST_MESSAGE_BASE +* Automatically generated by NML CodeGen Java Applet. +*/ +public class TEST_MESSAGE_BASE extends RCS_STAT_MSG_V2 implements Cloneable +{ + public int test_message_base_var = 0; + + + // Constructor + public TEST_MESSAGE_BASE() + { + super(100); + + } + + + + // Constructor that should be used by any classes that extend this class. + protected TEST_MESSAGE_BASE(int _type) + { + super(_type); + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("TEST_MESSAGE_BASE","RCS_STAT_MSG_V2"); + + nml_fc.beginBaseClass("RCS_STAT_MSG_V2"); + + super.update(nml_fc); + + nml_fc.endBaseClass("RCS_STAT_MSG_V2"); + test_message_base_var = nml_fc.update_with_name("test_message_base_var",test_message_base_var); + + nml_fc.endClass("TEST_MESSAGE_BASE","RCS_STAT_MSG_V2"); + + } + + + public TEST_MESSAGE_BASE clone() throws CloneNotSupportedException + { + TEST_MESSAGE_BASE cloned_object = (TEST_MESSAGE_BASE) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/c_struct.java b/NetBeans/test/src/c_struct.java new file mode 100644 index 0000000..e7d4a21 --- /dev/null +++ b/NetBeans/test/src/c_struct.java @@ -0,0 +1,67 @@ +/* +* New Java File starts here. +* This file should be named c_struct.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:77 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for c_struct +* Automatically generated by NML CodeGen Java Applet. +*/ +public class c_struct implements Cloneable +{ + public byte csc = 0; + public int csi = 0; + + + // Constructor + public c_struct() + { + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("c_struct",null); + csc = nml_fc.update_with_name("csc",csc); + csi = nml_fc.update_with_name("csi",csi); + + nml_fc.endClass("c_struct",null); + + } + + + public c_struct clone() throws CloneNotSupportedException + { + c_struct cloned_object = (c_struct) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/c_struct2.java b/NetBeans/test/src/c_struct2.java new file mode 100644 index 0000000..6f436d0 --- /dev/null +++ b/NetBeans/test/src/c_struct2.java @@ -0,0 +1,67 @@ +/* +* New Java File starts here. +* This file should be named c_struct2.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:119 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for c_struct2 +* Automatically generated by NML CodeGen Java Applet. +*/ +public class c_struct2 implements Cloneable +{ + public byte csc2 = 0; + public int csi2 = 0; + + + // Constructor + public c_struct2() + { + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("c_struct2",null); + csc2 = nml_fc.update_with_name("csc2",csc2); + csi2 = nml_fc.update_with_name("csi2",csi2); + + nml_fc.endClass("c_struct2",null); + + } + + + public c_struct2 clone() throws CloneNotSupportedException + { + c_struct2 cloned_object = (c_struct2) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/fwLaserStruct.java b/NetBeans/test/src/fwLaserStruct.java new file mode 100644 index 0000000..3c00ffd --- /dev/null +++ b/NetBeans/test/src/fwLaserStruct.java @@ -0,0 +1,72 @@ +/* +* New Java File starts here. +* This file should be named fwLaserStruct.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:205 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for fwLaserStruct +* Automatically generated by NML CodeGen Java Applet. +*/ +public class fwLaserStruct implements Cloneable +{ + public short rangep[] = new short[12]; + + + // Constructor + public fwLaserStruct() + { + for(int i_rangep = 0; i_rangep < 12; i_rangep++ ) + { + rangep[i_rangep] = 0; + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("fwLaserStruct",null); + nml_fc.update_unsigned_with_name("rangep",rangep,12); + + nml_fc.endClass("fwLaserStruct",null); + + } + + + public fwLaserStruct clone() throws CloneNotSupportedException + { + fwLaserStruct cloned_object = (fwLaserStruct) super.clone(); + if(this.rangep != null) { + cloned_object.rangep = (short []) this.rangep.clone(); + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/nml_test_format_MsgDict.java b/NetBeans/test/src/nml_test_format_MsgDict.java new file mode 100644 index 0000000..8d96d1d --- /dev/null +++ b/NetBeans/test/src/nml_test_format_MsgDict.java @@ -0,0 +1,307 @@ +/* +* New Java File starts here. +* This file should be named nml_test_format_MsgDict.java +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import NML classes and interfaces +import rcs.nml.*; + +import java.util.Hashtable; +/* +* Class definition for nml_test_format_MsgDict +* Automatically generated by NML CodeGen Java Applet. +*/ +public class nml_test_format_MsgDict implements NMLMessageDictionary +{ + + // Define an object of every message class. + private BOP_MSG BOP_MSG_object = null; + private MyStat MyStat_object = null; + private MyStat2 MyStat2_object = null; + private QTEST_MSG QTEST_MSG_object = null; + private SIMPLER_MSG SIMPLER_MSG_object = null; + private TEST_MESSAGE TEST_MESSAGE_object = null; + private TEST_MESSAGE_BASE TEST_MESSAGE_BASE_object = null; + + // ID Type Constants + public static final int BOP_MSG_TYPE = 104; + public static final int MyStat_TYPE = 1001; + public static final int MyStat2_TYPE = 2002; + public static final int QTEST_MSG_TYPE = 103; + public static final int SIMPLER_MSG_TYPE = 102; + public static final int TEST_MESSAGE_TYPE = 101; + public static final int TEST_MESSAGE_BASE_TYPE = 100; + + // Sizes useful for C++ compat and preallocating byte storage. + //(not used for normal NML reads/writes). + public long getEstimatedSize(final int _type) + { + switch(_type) + { + case BOP_MSG_TYPE: /*-2*/ + return 32; + case MyStat_TYPE: /*-2*/ + return 128; + case MyStat2_TYPE: /*-2*/ + return 296; + case QTEST_MSG_TYPE: /*-2*/ + return 168; + case SIMPLER_MSG_TYPE: /*-2*/ + return 112; + case TEST_MESSAGE_TYPE: /*-2*/ + return 6152; + case TEST_MESSAGE_BASE_TYPE: /*-2*/ + return 304; + default: + break; + } + return 6152; /* maximum */ + } + + public long getMaxEstimatedSize() { + return 6152; + } + + + + //Define an NML_ENUM_INFO object for the type ID's + NML_ENUM_INFO nml_enum_info_for_type_names =null; + + + //Create a constructor to setup the NML_ENUM_INFO object. + public nml_test_format_MsgDict() + { + nml_enum_info_for_type_names= new NML_ENUM_INFO(); + nml_enum_info_for_type_names.name="nml_test_format_MsgDict"; + Hashtable h1 = new Hashtable(); + Hashtable h2 = new Hashtable(); + Integer I = null; + String S = null; + I=new Integer(BOP_MSG_TYPE); + S="BOP_MSG"; + h1.put(I,S); h2.put(S,I); + I=new Integer(MyStat_TYPE); + S="MyStat"; + h1.put(I,S); h2.put(S,I); + I=new Integer(MyStat2_TYPE); + S="MyStat2"; + h1.put(I,S); h2.put(S,I); + I=new Integer(QTEST_MSG_TYPE); + S="QTEST_MSG"; + h1.put(I,S); h2.put(S,I); + I=new Integer(SIMPLER_MSG_TYPE); + S="SIMPLER_MSG"; + h1.put(I,S); h2.put(S,I); + I=new Integer(TEST_MESSAGE_TYPE); + S="TEST_MESSAGE"; + h1.put(I,S); h2.put(S,I); + I=new Integer(TEST_MESSAGE_BASE_TYPE); + S="TEST_MESSAGE_BASE"; + h1.put(I,S); h2.put(S,I); + nml_enum_info_for_type_names.int_to_string_hash=h1; + nml_enum_info_for_type_names.string_to_int_hash=h2; + } + + + + // Miscellaneous Pre-Defined Values + public static final int NTFHH_BASE = 100; + public static final int ONE_HUNDRED = 100; + public static final int TWO = 2; + public static final String fwPixel = "unsigned short"; + public static final int num_object_classes = 28; + public static final int two = 2; + + // Enumerated Type Constants + + // RCS_ADMIN_STATE + public static final int ADMIN_INITIALIZED=2; + public static final int ADMIN_SHUT_DOWN=3; + public static final int ADMIN_UNINITIALIZED=1; + public static final int RCS_ADMIN_ZERO=0; + + // enumtest_typedef + public static final int xxx=2; + public static final int yyy=1; + public static final int zzz=0; + + // RCS_STATUS + public static final int RCS_DONE=1; + public static final int RCS_ERROR=3; + public static final int RCS_EXEC=2; + public static final int UNINITIALIZED_STATUS=-1; + + // enumtest3ftoh + public static final int fff=0; + public static final int ggg=1; + public static final int hhh=2; + + // anonymous_enum_nml_test_format_hh_84 + public static final int BUILDING=4; + public static final int BUILDINGCONNECTOR=7; + public static final int CONCRETE=8; + public static final int DRIVEPAVED=6; + public static final int INIT=0; + public static final int LAKE=11; + public static final int LAMP=18; + public static final int LIGHTPOLE=17; + public static final int PARKINGPAVED=3; + public static final int SHRUB=14; + public static final int SIDEWALK=1; + public static final int SIGN=16; + public static final int STEPS=9; + public static final int SUBSTATION=10; + public static final int TREE=15; + public static final int TREES=5; + public static final int UNKNOWN=2; + public static final int UTILITYBOX=12; + public static final int UTILITYPOLE=13; + + // enumtest_typedef2 + public static final int uuu=2; + public static final int vvv=1; + public static final int www=0; + + // enumtest + public static final int a=0; + public static final int aa=2; + public static final int b=1; + public static final int bb=3; + public static final int ccc=99; + public static final int dd=77; + public static final int e=88; + + + // NML Format Function + public int formatMsg(NMLFormatConverter nml_fc) + { + int return_val=0; + nml_fc.check_type_info(nml_enum_info_for_type_names); + + switch(nml_fc.msg_type) + { + case BOP_MSG_TYPE: /*104*/ + if(null == BOP_MSG_object) { + BOP_MSG_object = new BOP_MSG(); + } + nml_fc.msg_to_update = BOP_MSG_object; + BOP_MSG_object.update(nml_fc); + break; + case MyStat_TYPE: /*1001*/ + if(null == MyStat_object) { + MyStat_object = new MyStat(); + } + nml_fc.msg_to_update = MyStat_object; + MyStat_object.update(nml_fc); + break; + case MyStat2_TYPE: /*2002*/ + if(null == MyStat2_object) { + MyStat2_object = new MyStat2(); + } + nml_fc.msg_to_update = MyStat2_object; + MyStat2_object.update(nml_fc); + break; + case QTEST_MSG_TYPE: /*103*/ + if(null == QTEST_MSG_object) { + QTEST_MSG_object = new QTEST_MSG(); + } + nml_fc.msg_to_update = QTEST_MSG_object; + QTEST_MSG_object.update(nml_fc); + break; + case SIMPLER_MSG_TYPE: /*102*/ + if(null == SIMPLER_MSG_object) { + SIMPLER_MSG_object = new SIMPLER_MSG(); + } + nml_fc.msg_to_update = SIMPLER_MSG_object; + SIMPLER_MSG_object.update(nml_fc); + break; + case TEST_MESSAGE_TYPE: /*101*/ + if(null == TEST_MESSAGE_object) { + TEST_MESSAGE_object = new TEST_MESSAGE(); + } + nml_fc.msg_to_update = TEST_MESSAGE_object; + TEST_MESSAGE_object.update(nml_fc); + break; + case TEST_MESSAGE_BASE_TYPE: /*100*/ + if(null == TEST_MESSAGE_BASE_object) { + TEST_MESSAGE_BASE_object = new TEST_MESSAGE_BASE(); + } + nml_fc.msg_to_update = TEST_MESSAGE_BASE_object; + TEST_MESSAGE_BASE_object.update(nml_fc); + break; + + // Type c_struct has Id less than 1 : -2 + + // Type c_struct2 has Id less than 1 : -2 + + // Type fwLaserStruct has Id less than 1 : -2 + + // Type teststruct has Id less than 1 : -2 + + // Type teststruct_td2 has Id less than 1 : -2 + + default: + return_val=-1; + break; + } + return(return_val); + } + + + // NML Symbol Lookup Function + public static String SymbolLookup(int type) + { + switch(type) + { + case BOP_MSG_TYPE: + return "BOP_MSG"; + case MyStat_TYPE: + return "MyStat"; + case MyStat2_TYPE: + return "MyStat2"; + case QTEST_MSG_TYPE: + return "QTEST_MSG"; + case SIMPLER_MSG_TYPE: + return "SIMPLER_MSG"; + case TEST_MESSAGE_TYPE: + return "TEST_MESSAGE"; + case TEST_MESSAGE_BASE_TYPE: + return "TEST_MESSAGE_BASE"; + + // Type c_struct has Id less than 1 : -2 + + // Type c_struct2 has Id less than 1 : -2 + + // Type fwLaserStruct has Id less than 1 : -2 + + // Type teststruct has Id less than 1 : -2 + + // Type teststruct_td2 has Id less than 1 : -2 + + default: + break; + } + return("!!UNDEFINED_SYMBOL!!"); + } + +} diff --git a/NetBeans/test/src/nml_test_java_dl_read.java b/NetBeans/test/src/nml_test_java_dl_read.java new file mode 100644 index 0000000..72a60b8 --- /dev/null +++ b/NetBeans/test/src/nml_test_java_dl_read.java @@ -0,0 +1,359 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_test_java_dl_read +{ + public static void main(String args[]) + { + + try { + int repeat_count = 0; + long delay = 10; + boolean debug=false; + if(args.length < 3) + { + System.err.println("nml_test_java_dl_read usage: "); + System.exit(1); + } + try + { + rcs.nml.debugInfo.debugPrintStream=new PrintStream(new FileOutputStream("nml_test_java_dl_read."+args[0]+".log")); + } + catch(Exception e) + { + e.printStackTrace(); + } + if(args.length > 3) { + debug = Boolean.valueOf(args[3]); + } + if(args.length > 4) { + repeat_count = Integer.valueOf(args[4]); + } + if(args.length > 5) { + delay = Long.valueOf(args[5]); + } + if(debug) + { + NMLConnection.set_config_debug_on(true); + NMLFormatConverterBase.debug_on=true; + rcs.nml.debugInfo.debug_on=true; + System.out.println("rcs.nml.debugInfo.debug_on="+rcs.nml.debugInfo.debug_on); + } + NMLConnection nmlc1 = new NMLConnection(new nml_test_format_MsgDict(), + args[0],args[1],args[2]); + if(null == nmlc1) + { + System.err.println("nmlc1 is null."); + System.exit(2); + } + nmlc1.set_read_debug_on(true); + nmlc1.set_write_debug_on(true); + + boolean something_bad_happened=false; + System.out.println("nml_test_java_dl_read.java : NMLConnection created."); + TEST_MESSAGE tst_msg=null; + int tries = 0; + while(tst_msg == null && tries < 5) + { + tst_msg = (TEST_MESSAGE) nmlc1.read(); + System.out.println("tst_msg="+tst_msg+", tries="+tries); + tries++; + Thread.sleep(100); + } + System.out.println("tst_msg="+tst_msg); + System.out.println("tst_msg.message_length="+tst_msg.message_length); + System.out.println("tst_msg.message="+(new String(tst_msg.message,0,tst_msg.message_length))); + System.out.println("nml_test_java_dl_read.java : From nmlc1 : tst_msg="+tst_msg); + + System.out.println("tst_msg.three_d_array[7]="+tst_msg.three_d_array[7]); + if(tst_msg.three_d_array[7] == 3.33) + { + System.out.println("GOOD\n"); + } + else + { + System.out.println("BAD should have been 3.33\n"); + something_bad_happened=true; + } + + // This should have been sent and should be 01 + System.out.println("tst_msg.cda_length="+tst_msg.cda_length); + if(tst_msg.cda_length == 3) + { + System.out.println("GOOD\n"); + } + else + { + System.out.println("BAD should have been 3.\n"); + something_bad_happened=true; + } + + // This should have been sent and should be 01 + System.out.println("tst_msg.cda.length="+tst_msg.cda.length); + if(tst_msg.cda.length < 3) + { + System.out.println("BAD should have been at least 3"); + System.exit(3); + } + byte cc= (byte) '0'; + System.out.println("tst_msg.cda[0]="+tst_msg.cda[0]+", \'0\'="+cc); + cc= (byte) '1'; + System.out.println("tst_msg.cda[1]="+tst_msg.cda[1]+", \'1\'="+cc); + System.out.println("tst_msg.cda[2]="+tst_msg.cda[2]); + if(tst_msg.cda[0] =='0' && + tst_msg.cda[1] =='1' && + tst_msg.cda[2] == 0) + { + System.out.println("GOOD\n"); + } + else + { + System.out.println("BAD should have been 01.\n"); + something_bad_happened=true; + } + + // This string should NOT have been sent. + // avoid a possible pointer fault since really the value of cda[7] is undefined. + if(tst_msg.cda.length > 3) + { + cc=(byte) '2'; + System.out.println("tst_msg.cda[3]="+tst_msg.cda[3]+", \'2\'="+cc); + } + if(tst_msg.cda.length > 4) + { + cc= (byte) '3'; + System.out.println("tst_msg.cda[4]="+tst_msg.cda[4]+", \'3\'="+cc); + } + if(tst_msg.cda.length > 5) + { + cc= (byte) '4'; + System.out.println("tst_msg.cda[5]="+tst_msg.cda[5]+", \'4\'="+cc); + } + if(tst_msg.cda.length > 6) + { + cc= (byte) '5'; + System.out.println("tst_msg.cda[6]="+tst_msg.cda[6]+", \'5\'="+cc); + } + if(tst_msg.cda.length > 7) + { + System.out.println("tst_msg.cda[7]="+tst_msg.cda[7]); + } + if(tst_msg.cda.length < 8 || + tst_msg.cda[3] != '2' || + tst_msg.cda[4] != '3' || + tst_msg.cda[5] != '4' || + tst_msg.cda[6] != '5' || + tst_msg.cda[7] != 0) + { + System.out.println("GOOD unnecessary data was NOT transmitted.\n"); + } + else + { + System.out.println("BAD unnecessary data was transmitted.\n"); + something_bad_happened=true; + } + + // this should have been sent + System.out.println("tst_msg.sda_length="+ + tst_msg.sda_length); + if(tst_msg.sda_length==1) + { + System.out.println("GOOD\n"); + } + else + { + System.out.println("BAD should have been 2\n"); + something_bad_happened=true; + } + + // this should have been sent and be x + cc= (byte) 'x'; + System.out.println("tst_msg.sda[0].c="+tst_msg.sda[0].c+", \'x\'="+cc); + if(tst_msg.sda[0].c == 'x') + { + System.out.println("GOOD\n"); + } + else + { + System.out.println("BAD should have been"+'x'); + something_bad_happened=true; + } + + // this should NOT have been sent. + cc= (byte) 'y'; + System.out.println("tst_msg.sda[2].c="+ tst_msg.sda[1].c+", \'y\'="+cc); + if(tst_msg.sda[1].c != 'y') + { + System.out.println("GOOD unneccessary data was NOT sent.\n"); + } + else + { + System.out.println("BAD unneccessary data was sent.\n"); + something_bad_happened=true; + } + + // This should have been sent its value depends on a command line arg. + if(tst_msg.true_bool) + { + System.out.println("GOOD tst_msg.true_bool is true\n"); + } + else + { + System.out.println("BAD tst_msg.true_bool is false\n"); + something_bad_happened=true; + } + + if(!tst_msg.false_bool) + { + System.out.println("GOOD tst_msg.false_bool is false\n"); + } + else + { + System.out.println("BAD tst_msg.false_bool is true\n"); + something_bad_happened=true; + } + + if(tst_msg.sminusone == -1) + { + System.out.println("GOOD tst_msg.sminusone == -1\n"); + } + else + { + System.out.println("BAD tst_msg.sminusone = "+tst_msg.sminusone+"\n"); + something_bad_happened=true; + } + + + if(tst_msg.iminusone == -1) + { + System.out.println("GOOD tst_msg.iminusone == -1\n"); + } + else + { + System.out.println("BAD tst_msg.iminusone = "+tst_msg.iminusone+"\n"); + something_bad_happened=true; + } + + if(tst_msg.lminusone == -1) + { + System.out.println("GOOD tst_msg.lminusone == -1\n"); + } + else + { + System.out.println("BAD tst_msg.lminusone = "+tst_msg.lminusone+"\n"); + something_bad_happened=true; + } + + if(tst_msg.fminusone == -1) + { + System.out.println("GOOD tst_msg.fminusone == -1\n"); + } + else + { + System.out.println("BAD tst_msg.fminusone = "+tst_msg.fminusone+"\n"); + something_bad_happened=true; + } + + if(tst_msg.dminusone == -1) + { + System.out.println("GOOD tst_msg.dminusone == -1\n"); + } + else + { + System.out.println("BAD tst_msg.dminusone = "+tst_msg.dminusone+"\n"); + something_bad_happened=true; + } + + System.out.println("tst_msg.lastvar="+tst_msg.lastvar); + if(something_bad_happened) + { + System.exit(4); + } + int new_count = 0; + double new_min = Double.POSITIVE_INFINITY; + double new_max = 0; + double new_total = 0; + + int old_count = 0; + double old_min = Double.POSITIVE_INFINITY; + double old_max = 0; + double old_total = 0; + System.out.println("repeat_count="+repeat_count); + while(repeat_count != 0) { + if(repeat_count > 0) { + repeat_count--; + } + long stime = System.currentTimeMillis(); + tst_msg = (TEST_MESSAGE) nmlc1.read(); + long etime = System.currentTimeMillis(); + double diff = (etime -stime) *1e-3; + if(null != tst_msg) { + new_count++; + if(new_min > diff) { + new_min = diff; + } + if(new_max < diff) { + new_max = diff; + } + new_total += diff; + } else { + old_count++; + if(old_min > diff) { + old_min = diff; + } + if(old_max < diff) { + old_max = diff; + } + old_total += diff; + } + Thread.sleep(delay); + } + if(new_count > 0) { + System.out.printf("Timing info new : count=%d, min=%.3f,max=%.3f,avg=%.3f\n", + old_count,new_min,new_max,new_total/new_count); + + } + if(old_count > 0) { + System.out.printf("Timing info old : count=%d,min=%.3f,max=%.3f,avg=%.3f\n", + old_count,old_min,old_max,old_total/old_count); + } + System.exit(0); + } + catch(Exception e) + { + e.printStackTrace(rcs.nml.debugInfo.debugPrintStream); + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/NetBeans/test/src/nml_test_java_dl_write.java b/NetBeans/test/src/nml_test_java_dl_write.java new file mode 100644 index 0000000..25266ae --- /dev/null +++ b/NetBeans/test/src/nml_test_java_dl_write.java @@ -0,0 +1,146 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_test_java_dl_write +{ + public static void main(String args[]) + { + + try { + if(args.length < 4) + { + System.err.println("nml_test_java_dl_write usage: "); + System.exit(1); + } + try + { + rcs.nml.debugInfo.debugPrintStream=new PrintStream(new FileOutputStream("nml_test_java_dl_write."+args[0]+".log")); + } + catch(Exception e) + { + e.printStackTrace(); + } + // if(false) + // { + // NMLConnection.set_write_debug_on(true); + // NMLFormatConverterBase.debug_on=true; + // rcs.nml.debugInfo.debug_on=true; + // } + + NMLConnection nmlc1 = new NMLConnection(new nml_test_format_MsgDict(), + args[0],args[1],args[2]); + if(null == nmlc1) + { + System.err.println("nmlc1 is null."); + System.exit(2); + } + TEST_MESSAGE tst_msg = new TEST_MESSAGE(); + + // These will be sent. + tst_msg.enumtestvar = nml_test_format_MsgDict.aa; + tst_msg.enum_array[0] = nml_test_format_MsgDict.aa; + tst_msg.enum_array[4] = nml_test_format_MsgDict.bb; + tst_msg.enumtest_dla_length = 3; + tst_msg.enumtest_dla[0] = nml_test_format_MsgDict.aa; + tst_msg.enumtest_dla[1] = nml_test_format_MsgDict.bb; + tst_msg.enumtest_dla[2] = nml_test_format_MsgDict.aa; + + // these will not be sent. + tst_msg.enumtest_dla[3] = nml_test_format_MsgDict.bb; + tst_msg.enumtest_dla[4] = nml_test_format_MsgDict.aa; + tst_msg.enumtest_dla[5] = nml_test_format_MsgDict.bb; + tst_msg.enumtest_dla[6] = nml_test_format_MsgDict.aa; + + //this will be sent. + tst_msg.three_d_array[7] = 3.33; + tst_msg.cda_length = 3; + tst_msg.cda[0]= (byte) '0'; + tst_msg.cda[1]= (byte) '1'; + tst_msg.cda[2]=0; + tst_msg.cda[3]= (byte) '2'; + tst_msg.cda[4]= (byte) '3'; + tst_msg.cda[5]= (byte) '4'; + tst_msg.cda[6]= (byte) '5'; + tst_msg.cda[7]=0; + + // this will be sent. + tst_msg.sda_length=1; + tst_msg.sda[0].c= (byte) 'x'; + + // this will NOT be sent; + tst_msg.sda[1].c = (byte) 'y'; + + // This will be sent. + tst_msg.do_int_size_test = true; + tst_msg.s_array[0] = tst_msg.smax = Short.MAX_VALUE; + tst_msg.s_array[1] = tst_msg.smin = Short.MIN_VALUE; + tst_msg.s_array[2] = 0; + tst_msg.i_smax = (int) Short.MAX_VALUE; + tst_msg.i_smin = (int) Short.MIN_VALUE; + tst_msg.i_array[0] = tst_msg.imax = Integer.MAX_VALUE; + tst_msg.i_array[1] = tst_msg.imin = Integer.MIN_VALUE; + tst_msg.i_array[2] = 0; + tst_msg.l_imax = (long) Integer.MAX_VALUE; + tst_msg.l_imin = (long) Integer.MIN_VALUE; + //tst_msg.l_array[0] = tst_msg.lmax = Long.MAX_VALUE; + //tst_msg.l_array[1] = tst_msg.lmin = Long.MIN_VALUE; + //tst_msg.l_array[2] = 0; + //tst_msg.d_lmax = (double) Long.MAX_VALUE; + //tst_msg.d_lmin = (double) Long.MIN_VALUE; + + tst_msg.true_bool=true; + tst_msg.false_bool=false; + + tst_msg.sminusone=-1; + tst_msg.iminusone=-1; + tst_msg.lminusone=-1; + tst_msg.fminusone= (float)-1.0; + tst_msg.dminusone=-1.0; + + tst_msg.lastvar= ( new Integer(args[3])).intValue(); + int t=0; + + if((t = nmlc1.write(tst_msg)) != 0) + { + System.out.println("nmlc1.write() returned "+t); + System.exit(255); + } + System.exit(0); + } + catch(Exception e) + { + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/NetBeans/test/src/nml_test_java_get_single_var_log.java b/NetBeans/test/src/nml_test_java_get_single_var_log.java new file mode 100644 index 0000000..d27cfc8 --- /dev/null +++ b/NetBeans/test/src/nml_test_java_get_single_var_log.java @@ -0,0 +1,105 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_test_java_get_single_var_log +{ + public static void main(String args[]) + { + + try { + if(args.length < 3) + { + System.err.println("nml_test_java_dl_read usage: "); + System.exit(1); + } + try + { + rcs.nml.debugInfo.debugPrintStream=new PrintStream(new FileOutputStream("nml_test_java_dl_read."+args[0]+".log")); + } + catch(Exception e) + { + e.printStackTrace(); + } + // if(false) + // { + // NMLConnection.set_read_debug_on(true); + // NMLFormatConverterBase.debug_on=true; + // rcs.nml.debugInfo.debug_on=true; + // } + NMLConnection nmlc1 = new NMLConnection(new nml_test_format_MsgDict(), + args[0],args[1],args[2]); + if(null == nmlc1) + { + System.err.println("nmlc1 is null."); + System.exit(2); + } + + boolean something_bad_happened=false; + System.out.println("nml_test_java_dl_read.java : NMLConnection created."); + // nmlc1.setupSingleVarLog( String varname, int maxlogsize, double period, int type) + System.out.println("Calling nmlc1.setupSingleVarLog(\"d\",100,0.01,nml_test_format_MsgDict.TEST_MESSAGE_TYPE); . . ."); + int var_list_id = nmlc1.setupSingleVarLog("d",100,0.01, + nml_test_format_MsgDict.TEST_MESSAGE_TYPE); + System.out.println("var_list_id="+var_list_id); + try + { + Thread.sleep(500); + } + catch(Exception e) + { + } + for(int i = 0; i < 20; i++) + { + try + { + Thread.sleep(500); + } + catch(Exception e) + { + } + System.out.println("calling nmlc1.getSingleVarLog("+var_list_id+")"); + NMLSingleVarLog slv = nmlc1.getSingleVarLog(var_list_id); + System.out.println("slv = "+slv); + } + nmlc1.closeSingleVarLog(var_list_id); + System.out.println("Exiting."); + System.exit(0); + } + catch(Exception e) + { + e.printStackTrace(rcs.nml.debugInfo.debugPrintStream); + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/NetBeans/test/src/nml_test_java_read.java b/NetBeans/test/src/nml_test_java_read.java new file mode 100644 index 0000000..84de4c9 --- /dev/null +++ b/NetBeans/test/src/nml_test_java_read.java @@ -0,0 +1,168 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_test_java_read +{ + public static void main(String args[]) + { + + try { + int repeat_count = 0; + long delay = 10; + boolean debug=false; + if(args.length < 3) + { + System.err.println("nml_test_java_read usage: "); + System.exit(1); + } + try + { + rcs.nml.debugInfo.debugPrintStream=new PrintStream(new FileOutputStream("nml_test_java_read."+args[0]+".log")); + } + catch(Exception e) + { + e.printStackTrace(); + } + if(args.length > 3) { + debug = Boolean.valueOf(args[3]); + } + if(args.length > 4) { + repeat_count = Integer.valueOf(args[4]); + } + if(args.length > 5) { + delay = Long.valueOf(args[5]); + } + if(debug) + { + NMLConnection.set_config_debug_on(true); + NMLFormatConverterBase.debug_on=true; + rcs.nml.debugInfo.debug_on=true; + System.out.println("rcs.nml.debugInfo.debug_on="+rcs.nml.debugInfo.debug_on); + } + NMLConnection nmlc1 = new NMLConnection(new nml_test_format_MsgDict(), + args[0],args[1],args[2]); + if(null == nmlc1) { + System.err.println("nmlc1 is null."); + System.exit(2); + } + System.out.println("nml_test_java_read.java : NMLConnection created."); + int new_count = 0; + double new_min = Double.POSITIVE_INFINITY; + double new_max = 0; + double new_total = 0; + double new_total2 = 0; + + int old_count = 0; + long last_etime = 0; + double old_min = Double.POSITIVE_INFINITY; + double old_max = 0; + double old_total = 0; + double old_total2 = 0; + + int delay_count = 0; + double delay_total = 0; + double delay_total2 = 0; + double delay_min = Double.POSITIVE_INFINITY; + double delay_max = 0; + + System.out.println("repeat_count="+repeat_count); + while(repeat_count != 0) { + if(repeat_count > 0) { + repeat_count--; + } + long stime = System.currentTimeMillis(); + TEST_MESSAGE tst_msg = (TEST_MESSAGE) nmlc1.read(); + long etime = System.currentTimeMillis(); + double diff = (etime -stime) *1e-3; + if(null != tst_msg) { + new_count++; + if(new_min > diff) { + new_min = diff; + } + if(new_max < diff) { + new_max = diff; + } + new_total += diff; + new_total2 += diff*diff; + } else { + old_count++; + if(old_min > diff) { + old_min = diff; + } + if(old_max < diff) { + old_max = diff; + } + old_total += diff; + old_total2 += diff*diff; + } + Thread.sleep(delay); + delay_count++; + if(last_etime > 0) { + diff = (stime - last_etime)*1e-3; + delay_total += diff; + delay_total2 += diff*diff; + if(delay_min > diff) { + delay_min = diff; + } + if(delay_max < diff) { + delay_max = diff; + } + } + last_etime = etime; + } + if(new_count > 0) { + double new_sigma = Math.sqrt(new_total2-new_total*new_total/new_count)/new_count; + System.out.printf("Timing info new : count=%d, min=%.4f,max=%.4f,avg=%.4f,sigma=%.4f\n", + new_count,new_min,new_max,new_total/new_count, + new_sigma); + + } + if(old_count > 0) { + double old_sigma = Math.sqrt(old_total2-old_total*old_total/old_count)/old_count; + System.out.printf("Timing info old : count=%d,min=%.4f,max=%.4f,avg=%.4f,sigma=%.4f\n", + old_count,old_min,old_max,old_total/old_count, + old_sigma); + } + if(delay_count > 0) { + double delay_sigma = Math.sqrt(delay_total2-delay_total*delay_total/delay_count)/delay_count; + + System.out.printf("Timing info delay : count=%d,min=%.4f,max=%.4f,avg=%.4f,sigma=%.4f\n", + delay_count,delay_min,delay_max,delay_total/delay_count, + delay_sigma); + } + System.exit(0); + } catch(Exception e) { + e.printStackTrace(rcs.nml.debugInfo.debugPrintStream); + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/NetBeans/test/src/otherheader_MsgDict.java b/NetBeans/test/src/otherheader_MsgDict.java new file mode 100644 index 0000000..7d387b4 --- /dev/null +++ b/NetBeans/test/src/otherheader_MsgDict.java @@ -0,0 +1,116 @@ +/* +* New Java File starts here. +* This file should be named otherheader_MsgDict.java +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : generate_for_all_langs=true HHFile=otherheader.hh +* +* .gen script : +* 0:load otherheader.hh +* 1:clear +* 2:select_from_file otherheader.hh +* 3:generate C protos>otherheader_c_n.h +* 4:generate C format>otherheader_c_n.c +* 5:generate C update>otherheader_c_n.c +* 6:generate C++ protos>otherheader_n_codegen_protos.hh +* 7:generate C++ format>otherheader_n.cc +* 8:generate C++ update>otherheader_n.cc +* 9:generate C++ constructor>otherheader_n.cc +* 10:generate Java dict>otherheader_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>otherheader_n_ada.ads +* 13:generate Ada body>otherheader_n_ada.adb +* 14:exit +* +*/ + +// Import NML classes and interfaces +import rcs.nml.*; + +import java.util.Hashtable; +/* +* Class definition for otherheader_MsgDict +* Automatically generated by NML CodeGen Java Applet. +*/ +public class otherheader_MsgDict implements NMLMessageDictionary +{ + + // Define an object of every message class. + + // ID Type Constants + + // Sizes useful for C++ compat and preallocating byte storage. + //(not used for normal NML reads/writes). + public long getEstimatedSize(final int _type) + { + switch(_type) + { + default: + break; + } + return 1; /* maximum */ + } + + public long getMaxEstimatedSize() { + return 1; + } + + + + //Define an NML_ENUM_INFO object for the type ID's + NML_ENUM_INFO nml_enum_info_for_type_names =null; + + + //Create a constructor to setup the NML_ENUM_INFO object. + public otherheader_MsgDict() + { + nml_enum_info_for_type_names= new NML_ENUM_INFO(); + nml_enum_info_for_type_names.name="otherheader_MsgDict"; + Hashtable h1 = new Hashtable(); + Hashtable h2 = new Hashtable(); + Integer I = null; + String S = null; + nml_enum_info_for_type_names.int_to_string_hash=h1; + nml_enum_info_for_type_names.string_to_int_hash=h2; + } + + + + // Miscellaneous Pre-Defined Values + + // Enumerated Type Constants + + + // NML Format Function + public int formatMsg(NMLFormatConverter nml_fc) + { + int return_val=0; + nml_fc.check_type_info(nml_enum_info_for_type_names); + + switch(nml_fc.msg_type) + { + + // Type struct_from_other_header has Id less than 1 : -2 + + default: + return_val=-1; + break; + } + return(return_val); + } + + + // NML Symbol Lookup Function + public static String SymbolLookup(int type) + { + switch(type) + { + + // Type struct_from_other_header has Id less than 1 : -2 + + default: + break; + } + return("!!UNDEFINED_SYMBOL!!"); + } + +} diff --git a/NetBeans/test/src/struct_from_other_header.java b/NetBeans/test/src/struct_from_other_header.java new file mode 100644 index 0000000..2a154bd --- /dev/null +++ b/NetBeans/test/src/struct_from_other_header.java @@ -0,0 +1,65 @@ +/* +* New Java File starts here. +* This file should be named struct_from_other_header.java +* Automatically generated by NML CodeGen Java Applet. +* from otherheader.hh:0 +* with command line arguments : generate_for_all_langs=true HHFile=otherheader.hh +* +* .gen script : +* 0:load otherheader.hh +* 1:clear +* 2:select_from_file otherheader.hh +* 3:generate C protos>otherheader_c_n.h +* 4:generate C format>otherheader_c_n.c +* 5:generate C update>otherheader_c_n.c +* 6:generate C++ protos>otherheader_n_codegen_protos.hh +* 7:generate C++ format>otherheader_n.cc +* 8:generate C++ update>otherheader_n.cc +* 9:generate C++ constructor>otherheader_n.cc +* 10:generate Java dict>otherheader_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>otherheader_n_ada.ads +* 13:generate Ada body>otherheader_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for struct_from_other_header +* Automatically generated by NML CodeGen Java Applet. +*/ +public class struct_from_other_header implements Cloneable +{ + public byte x = 0; + + + // Constructor + public struct_from_other_header() + { + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("struct_from_other_header",null); + x = nml_fc.update_with_name("x",x); + + nml_fc.endClass("struct_from_other_header",null); + + } + + + public struct_from_other_header clone() throws CloneNotSupportedException + { + struct_from_other_header cloned_object = (struct_from_other_header) super.clone(); + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/teststruct.java b/NetBeans/test/src/teststruct.java new file mode 100644 index 0000000..ebd8caa --- /dev/null +++ b/NetBeans/test/src/teststruct.java @@ -0,0 +1,232 @@ +/* +* New Java File starts here. +* This file should be named teststruct.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:132 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for teststruct +* Automatically generated by NML CodeGen Java Applet. +*/ +public class teststruct implements Cloneable +{ + public c_struct cs = new c_struct(); + public boolean b = false; + public int i = 0; + public byte c = 0; + public float f = 0; + public double d = 0; + public boolean bool_array[] = new boolean[4]; + public int ia[] = new int[2]; + public byte ca[] = new byte[2]; + public float fa[] = new float[2]; + public double da[] = new double[2]; + public double two_d_array[] = new double[4]; + public byte two_c_array[] = new byte[4]; + public double three_d_array[] = new double[8]; + public byte three_c_array[] = new byte[8]; + public double d_pi = (double) 3.14159265;/* set by default comment */ + public int cda_length = 0; + public byte cda[] = new byte[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double seventysevenpointseven = (double) 77.7;/* set by default comment */ + public int ida_length = 0; + public int ida[] = new int[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double eightyeightpointeight = (double) 88.8;/* set by default comment */ + public int fda_length = 0; + public float fda[] = new float[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public int dda_length = 0; + public double dda[] = new double[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public float f_pi = (float) 3.14159265;/* set by default comment */ + public byte endtsbuf[] = new byte[16]; + + + // Constructor + public teststruct() + { + for(int i_bool_array = 0; i_bool_array < 4; i_bool_array++ ) + { + bool_array[i_bool_array] = false; + } + for(int i_ia = 0; i_ia < 2; i_ia++ ) + { + ia[i_ia] = 0; + } + for(int i_ca = 0; i_ca < 2; i_ca++ ) + { + ca[i_ca] = 0; + } + for(int i_fa = 0; i_fa < 2; i_fa++ ) + { + fa[i_fa] = 0; + } + for(int i_da = 0; i_da < 2; i_da++ ) + { + da[i_da] = 0; + } + for(int i_two_d_array = 0; i_two_d_array < 4; i_two_d_array++ ) + { + two_d_array[i_two_d_array] = 0; + } + for(int i_two_c_array = 0; i_two_c_array < 4; i_two_c_array++ ) + { + two_c_array[i_two_c_array] = 0; + } + for(int i_three_d_array = 0; i_three_d_array < 8; i_three_d_array++ ) + { + three_d_array[i_three_d_array] = 0; + } + for(int i_three_c_array = 0; i_three_c_array < 8; i_three_c_array++ ) + { + three_c_array[i_three_c_array] = 0; + } + for(int i_cda = 0; i_cda < 2; i_cda++ ) + { + cda[i_cda] = 0; + } + for(int i_ida = 0; i_ida < 2; i_ida++ ) + { + ida[i_ida] = 0; + } + for(int i_fda = 0; i_fda < 2; i_fda++ ) + { + fda[i_fda] = 0; + } + for(int i_dda = 0; i_dda < 2; i_dda++ ) + { + dda[i_dda] = 0; + } + + /* set by default=endts comment */ + endtsbuf[0] = (byte)'e'; + endtsbuf[1] = (byte)'n'; + endtsbuf[2] = (byte)'d'; + endtsbuf[3] = (byte)'t'; + endtsbuf[4] = (byte)'s'; + endtsbuf[5] = (byte) 0; + + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("teststruct",null); + nml_fc.beginClassVar("cs"); + cs.update(nml_fc); + nml_fc.endClassVar("cs"); + b = nml_fc.update_with_name("b",b); + i = nml_fc.update_with_name("i",i); + c = nml_fc.update_with_name("c",c); + f = nml_fc.update_with_name("f",f); + d = nml_fc.update_with_name("d",d); + nml_fc.update_with_name("bool_array",bool_array,4); + nml_fc.update_with_name("ia",ia,2); + nml_fc.update_with_name("ca",ca,2); + nml_fc.update_with_name("fa",fa,2); + nml_fc.update_with_name("da",da,2); + nml_fc.update_with_name("two_d_array",two_d_array,4); + nml_fc.update_with_name("two_c_array",two_c_array,4); + nml_fc.update_with_name("three_d_array",three_d_array,8); + nml_fc.update_with_name("three_c_array",three_c_array,8); + nml_fc.next_update_default("3.14159265"); + d_pi = nml_fc.update_with_name("d_pi",d_pi); + cda_length = nml_fc.update_dla_length_with_name("cda_length",cda_length); + nml_fc.update_with_name("cda",cda,cda_length); + nml_fc.next_update_default("77.7"); + seventysevenpointseven = nml_fc.update_with_name("seventysevenpointseven",seventysevenpointseven); + ida_length = nml_fc.update_dla_length_with_name("ida_length",ida_length); + nml_fc.update_with_name("ida",ida,ida_length); + nml_fc.next_update_default("88.8"); + eightyeightpointeight = nml_fc.update_with_name("eightyeightpointeight",eightyeightpointeight); + fda_length = nml_fc.update_dla_length_with_name("fda_length",fda_length); + nml_fc.update_with_name("fda",fda,fda_length); + dda_length = nml_fc.update_dla_length_with_name("dda_length",dda_length); + nml_fc.update_with_name("dda",dda,dda_length); + nml_fc.next_update_default("3.14159265"); + f_pi = nml_fc.update_with_name("f_pi",f_pi); + nml_fc.next_update_default("endts"); + nml_fc.update_with_name("endtsbuf",endtsbuf,16); + + nml_fc.endClass("teststruct",null); + + } + + + public teststruct clone() throws CloneNotSupportedException + { + teststruct cloned_object = (teststruct) super.clone(); + if(this.cs != null) { + cloned_object.cs = (c_struct ) this.cs.clone(); + } + if(this.bool_array != null) { + cloned_object.bool_array = (boolean []) this.bool_array.clone(); + } + if(this.ia != null) { + cloned_object.ia = (int []) this.ia.clone(); + } + if(this.ca != null) { + cloned_object.ca = (byte []) this.ca.clone(); + } + if(this.fa != null) { + cloned_object.fa = (float []) this.fa.clone(); + } + if(this.da != null) { + cloned_object.da = (double []) this.da.clone(); + } + if(this.two_d_array != null) { + cloned_object.two_d_array = (double []) this.two_d_array.clone(); + } + if(this.two_c_array != null) { + cloned_object.two_c_array = (byte []) this.two_c_array.clone(); + } + if(this.three_d_array != null) { + cloned_object.three_d_array = (double []) this.three_d_array.clone(); + } + if(this.three_c_array != null) { + cloned_object.three_c_array = (byte []) this.three_c_array.clone(); + } + if(this.cda != null) { + cloned_object.cda = (byte []) this.cda.clone(); + } + if(this.ida != null) { + cloned_object.ida = (int []) this.ida.clone(); + } + if(this.fda != null) { + cloned_object.fda = (float []) this.fda.clone(); + } + if(this.dda != null) { + cloned_object.dda = (double []) this.dda.clone(); + } + if(this.endtsbuf != null) { + cloned_object.endtsbuf = (byte []) this.endtsbuf.clone(); + } + return cloned_object; + + } +} + diff --git a/NetBeans/test/src/teststruct_td2.java b/NetBeans/test/src/teststruct_td2.java new file mode 100644 index 0000000..3cda2ab --- /dev/null +++ b/NetBeans/test/src/teststruct_td2.java @@ -0,0 +1,214 @@ +/* +* New Java File starts here. +* This file should be named teststruct_td2.java +* Automatically generated by NML CodeGen Java Applet. +* from nml_test_format.hh:167 +* with command line arguments : generate_for_all_langs=true HHFile=nml_test_format.hh +* +* .gen script : +* 0:load nml_test_format.hh +* 1:clear +* 2:select_from_file nml_test_format.hh +* 3:generate C protos>nml_test_format_c_n.h +* 4:generate C format>nml_test_format_c_n.c +* 5:generate C update>nml_test_format_c_n.c +* 6:generate C++ protos>nml_test_format_n_codegen_protos.hh +* 7:generate C++ format>nml_test_format_n.cc +* 8:generate C++ update>nml_test_format_n.cc +* 9:generate C++ constructor>nml_test_format_n.cc +* 10:generate Java dict>nml_test_format_MsgDict.java +* 11:generate Java classes >* +* 12:generate Ada spec>nml_test_format_n_ada.ads +* 13:generate Ada body>nml_test_format_n_ada.adb +* 14:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for teststruct_td2 +* Automatically generated by NML CodeGen Java Applet. +*/ +public class teststruct_td2 implements Cloneable +{ + public c_struct2 cs2 = new c_struct2(); + public boolean b = false; + public int i = 0; + public byte c = 0; + public float f = 0; + public double d = 0; + public boolean bool_array[] = new boolean[2]; + public int ia[] = new int[2]; + public byte ca[] = new byte[2]; + public float fa[] = new float[2]; + public double da[] = new double[2]; + public double two_d_array[] = new double[4]; + public double three_d_array[] = new double[8]; + public float f_pi = (float) 3.14159265;/* set by default comment */ + public double d_pi = (double) 3.14159265;/* set by default comment */ + public int cda_length = 0; + public byte cda[] = new byte[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double seventysevenpointseven = (double) 77.7;/* set by default comment */ + public int ida_length = 0; + public int ida[] = new int[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public double eightyeightpointeight = (double) 88.8;/* set by default comment */ + public int fda_length = 0; + public float fda[] = new float[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public int dda_length = 0; + public double dda[] = new double[2]; /* NML_DYNAMIC_LENGTH_ARRAY */ + public byte endtsbuf[] = new byte[16]; + + + // Constructor + public teststruct_td2() + { + for(int i_bool_array = 0; i_bool_array < 2; i_bool_array++ ) + { + bool_array[i_bool_array] = false; + } + for(int i_ia = 0; i_ia < 2; i_ia++ ) + { + ia[i_ia] = 0; + } + for(int i_ca = 0; i_ca < 2; i_ca++ ) + { + ca[i_ca] = 0; + } + for(int i_fa = 0; i_fa < 2; i_fa++ ) + { + fa[i_fa] = 0; + } + for(int i_da = 0; i_da < 2; i_da++ ) + { + da[i_da] = 0; + } + for(int i_two_d_array = 0; i_two_d_array < 4; i_two_d_array++ ) + { + two_d_array[i_two_d_array] = 0; + } + for(int i_three_d_array = 0; i_three_d_array < 8; i_three_d_array++ ) + { + three_d_array[i_three_d_array] = 0; + } + for(int i_cda = 0; i_cda < 2; i_cda++ ) + { + cda[i_cda] = 0; + } + for(int i_ida = 0; i_ida < 2; i_ida++ ) + { + ida[i_ida] = 0; + } + for(int i_fda = 0; i_fda < 2; i_fda++ ) + { + fda[i_fda] = 0; + } + for(int i_dda = 0; i_dda < 2; i_dda++ ) + { + dda[i_dda] = 0; + } + + /* set by default=endts comment */ + endtsbuf[0] = (byte)'e'; + endtsbuf[1] = (byte)'n'; + endtsbuf[2] = (byte)'d'; + endtsbuf[3] = (byte)'t'; + endtsbuf[4] = (byte)'s'; + endtsbuf[5] = (byte) 0; + + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("teststruct_td2",null); + nml_fc.beginClassVar("cs2"); + cs2.update(nml_fc); + nml_fc.endClassVar("cs2"); + b = nml_fc.update_with_name("b",b); + i = nml_fc.update_with_name("i",i); + c = nml_fc.update_with_name("c",c); + f = nml_fc.update_with_name("f",f); + d = nml_fc.update_with_name("d",d); + nml_fc.update_with_name("bool_array",bool_array,2); + nml_fc.update_with_name("ia",ia,2); + nml_fc.update_with_name("ca",ca,2); + nml_fc.update_with_name("fa",fa,2); + nml_fc.update_with_name("da",da,2); + nml_fc.update_with_name("two_d_array",two_d_array,4); + nml_fc.update_with_name("three_d_array",three_d_array,8); + nml_fc.next_update_default("3.14159265"); + f_pi = nml_fc.update_with_name("f_pi",f_pi); + nml_fc.next_update_default("3.14159265"); + d_pi = nml_fc.update_with_name("d_pi",d_pi); + cda_length = nml_fc.update_dla_length_with_name("cda_length",cda_length); + nml_fc.update_with_name("cda",cda,cda_length); + nml_fc.next_update_default("77.7"); + seventysevenpointseven = nml_fc.update_with_name("seventysevenpointseven",seventysevenpointseven); + ida_length = nml_fc.update_dla_length_with_name("ida_length",ida_length); + nml_fc.update_with_name("ida",ida,ida_length); + nml_fc.next_update_default("88.8"); + eightyeightpointeight = nml_fc.update_with_name("eightyeightpointeight",eightyeightpointeight); + fda_length = nml_fc.update_dla_length_with_name("fda_length",fda_length); + nml_fc.update_with_name("fda",fda,fda_length); + dda_length = nml_fc.update_dla_length_with_name("dda_length",dda_length); + nml_fc.update_with_name("dda",dda,dda_length); + nml_fc.next_update_default("endts"); + nml_fc.update_with_name("endtsbuf",endtsbuf,16); + + nml_fc.endClass("teststruct_td2",null); + + } + + + public teststruct_td2 clone() throws CloneNotSupportedException + { + teststruct_td2 cloned_object = (teststruct_td2) super.clone(); + if(this.cs2 != null) { + cloned_object.cs2 = (c_struct2 ) this.cs2.clone(); + } + if(this.bool_array != null) { + cloned_object.bool_array = (boolean []) this.bool_array.clone(); + } + if(this.ia != null) { + cloned_object.ia = (int []) this.ia.clone(); + } + if(this.ca != null) { + cloned_object.ca = (byte []) this.ca.clone(); + } + if(this.fa != null) { + cloned_object.fa = (float []) this.fa.clone(); + } + if(this.da != null) { + cloned_object.da = (double []) this.da.clone(); + } + if(this.two_d_array != null) { + cloned_object.two_d_array = (double []) this.two_d_array.clone(); + } + if(this.three_d_array != null) { + cloned_object.three_d_array = (double []) this.three_d_array.clone(); + } + if(this.cda != null) { + cloned_object.cda = (byte []) this.cda.clone(); + } + if(this.ida != null) { + cloned_object.ida = (int []) this.ida.clone(); + } + if(this.fda != null) { + cloned_object.fda = (float []) this.fda.clone(); + } + if(this.dda != null) { + cloned_object.dda = (double []) this.dda.clone(); + } + if(this.endtsbuf != null) { + cloned_object.endtsbuf = (byte []) this.endtsbuf.clone(); + } + return cloned_object; + + } +} + diff --git a/README b/README new file mode 100644 index 0000000..a18ede5 --- /dev/null +++ b/README @@ -0,0 +1,18 @@ + + +README for rcslib. + +Please see other documentation: + +http://www.isd.mel.nist.gov/projects/rcslib/ + +or +the doc subdirectory under where this README was untarred. + +and the INSTALL files in the same directory as this README. + +License info is in the file COPYING. + + +-- Will Shackleford + diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..8f4dc89 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,101 @@ + + +AC_DEFUN([AC_CXX_HAVE_STD],AC_DEFUN([AC_CXX_NAMESPACES], +[AC_CACHE_CHECK(whether the compiler implements namespaces, +ac_cv_cxx_namespaces, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}], + [using namespace Outer::Inner; return i;], + ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_namespaces" = yes; then + AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces]) +fi +]) + + +[AC_CACHE_CHECK(whether the compiler supports ISO C++ standard library, +ac_cv_cxx_have_std, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[return 0;], + ac_cv_cxx_have_std=yes, ac_cv_cxx_have_std=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_std" = yes; then + AC_DEFINE(HAVE_STD,,[define if the compiler supports ISO C++ standard library]) +fi +]) + + +AC_DEFUN([AC_TRY_LINUX_KERNEL_VERSION_HEADER], +[ +#AC_MSG_NOTICE([$1]) +#AC_MSG_NOTICE([KSD = ${KERNEL_SOURCE_DIR}]) +if test x${KERNEL_SOURCE_DIR} = x ; then +rev=`uname -r` +#AC_MSG_NOTICE([rev = ${rev}]) +if test -f $1 ; then + if grep UTS_RELEASE $1 >/dev/null 2>/dev/null ; then + #AC_MSG_NOTICE([UTS_RELEASE found]) + irev=`grep UTS_RELEASE $1 2>/dev/null | head -n 1 | gawk '{print @S|@3}' | sed 's.@<:@" @:>@..g'` + #AC_MSG_NOTICE([irev = $irev]) + if test ${#irev} -gt 0 ; then + if test "$irev" = "$rev" ; then + KERNEL_SOURCE_DIR=`echo $1 | sed s%/include/linux/version.h%%` + #AC_MSG_NOTICE([KSD = ${KERNEL_SOURCE_DIR}]) + fi + fi + fi +fi +fi +]) + +AC_DEFUN([AC_CV_LINUX_KERNEL_DIR], +[AC_CACHE_CHECK(for the linux kernel source directory, +ac_cv_linux_kernel_dir, +[ +if test -f /usr/src/linux/include/linux/version.h ; then + if test "x${KERNEL_SOURCE_DIR}" = x ; then + AC_TRY_LINUX_KERNEL_VERSION_HEADER(/usr/src/linux/include/linux/version.h) + fi +fi + +# try locate first it is ussually faster +if test -x `which locate 2>/dev/null` ; then + verfiles=`locate '/usr/src/*/include/linux/version.h'` + + rev=`uname -r` + for j in $verfiles ; do + if test x${KERNEL_SOURCE_DIR} = x ; then + AC_TRY_LINUX_KERNEL_VERSION_HEADER($j) + fi + done +fi + + +# Locate doesn't exist or failed. +if test x${KERNEL_SOURCE_DIR} = x ; then +verfiles=`find /usr/src/ -name version.h 2>/dev/null` +for j in $verfiles ; do + if test x${KERNEL_SOURCE_DIR} = x ; then + AC_TRY_LINUX_KERNEL_VERSION_HEADER($j) + fi +done +fi + +if test x${KERNEL_SOURCE_DIR} = x ; then + KERNEL_SOURCE_DIR=/usr/src/linux +fi +ac_cv_linux_kernel_dir=${KERNEL_SOURCE_DIR} +]) +]) diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..0af6916 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1191 @@ +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.14' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.14.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.14.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless 'enable' is passed literally. +# For symmetry, 'disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], + am_maintainer_other[ make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([acinclude.m4]) diff --git a/add_header.sh b/add_header.sh new file mode 100755 index 0000000..6bbb9b7 --- /dev/null +++ b/add_header.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +mv $1 /tmp/${1##*/}.orig +echo '/* ' > $1 +cat COPYING >> $1 +echo '*/ ' >> $1 +echo '' >> $1 +cat /tmp/${1##*/}.orig >>$1 diff --git a/add_header_to_all.sh b/add_header_to_all.sh new file mode 100755 index 0000000..99bc299 --- /dev/null +++ b/add_header_to_all.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +find . '(' -name \*.cc -o -name \*.hh -o -name \*.h -o -name \*.c -o -name \*.java ')' -a -not -exec grep "title 17 Section 105" '{}' \; -exec ./add_header.sh '{}' \; + diff --git a/bootstrap b/bootstrap new file mode 100755 index 0000000..2852e29 --- /dev/null +++ b/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh -x + +# if [ ! -f ./libtool ] ; then libtoolize --copy ; fi + +aclocal && autoheader && automake --add-missing --copy && autoconf && ./configure CFLAGS="-g -Wall" CXXFLAGS="-g -Wall" + +exit 0 diff --git a/cleanup.sh b/cleanup.sh new file mode 100755 index 0000000..29c8b24 --- /dev/null +++ b/cleanup.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +\rm -f src/test/nml_test_format_c_n.c +\rm -f src/test/nml_test_format_n_ada.adb +\rm -f src/test/nml_test_format_n_ada.ali +\rm -f src/test/nml_test_format_n_ada.ads +\rm -f src/test/otherheader_c_n.c +\rm -f src/test/otherheader_n_ada.adb +\rm -f src/test/otherheader_n_ada.ali +\rm -f src/test/otherheader_n_ada.ads +\rm -f src/test/otherheader_n.cc +\rm -f src/test/nml_test_format_n.cc +\rm -f src/rcs_svn_vers.hh.r* +\rm -f src/rcs_svn_vers.hh.mine +make distclean || ( \rm -f rcs_config.h config.status nmlclean nmlcfgsvr rcs.jarMakefile libtool stamp-h1 xsd2nmlh CodeGenCmdLine.jar CodeGen.jar diagapplet.jar ; \rm -rf .deps .libs; ) + + diff --git a/compile b/compile new file mode 100755 index 0000000..9bb997a --- /dev/null +++ b/compile @@ -0,0 +1,99 @@ +#! /bin/sh + +# Wrapper for compilers which do not understand `-c -o'. + +# Copyright 1999, 2000 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Usage: +# compile PROGRAM [ARGS]... +# `-o FOO.o' is removed from the args passed to the actual compile. + +prog=$1 +shift + +ofile= +cfile= +args= +while test $# -gt 0; do + case "$1" in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we do something ugly here. + ofile=$2 + shift + case "$ofile" in + *.o | *.obj) + ;; + *) + args="$args -o $ofile" + ofile= + ;; + esac + ;; + *.c) + cfile=$1 + args="$args $1" + ;; + *) + args="$args $1" + ;; + esac + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$prog" $args +fi + +# Name of file we expect compiler to create. +cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir $lockdir > /dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir $lockdir; exit 1" 1 2 15 + +# Run the compile. +"$prog" $args +status=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +fi + +rmdir $lockdir +exit $status diff --git a/config.guess b/config.guess new file mode 100755 index 0000000..f32079a --- /dev/null +++ b/config.guess @@ -0,0 +1,1526 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[456]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +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` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.sub b/config.sub new file mode 100755 index 0000000..6759825 --- /dev/null +++ b/config.sub @@ -0,0 +1,1658 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. + +timestamp='2008-01-16' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..0469e8c --- /dev/null +++ b/configure @@ -0,0 +1,24640 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for Real-Time Control System Library 2014.05.14. +# +# Report bugs to . +# +# +# 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 -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || 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 and shackle@nist.gov +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: 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'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +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='Real-Time Control System Library' +PACKAGE_TARNAME='rcslib' +PACKAGE_VERSION='2014.05.14' +PACKAGE_STRING='Real-Time Control System Library 2014.05.14' +PACKAGE_BUGREPORT='shackle@nist.gov' +PACKAGE_URL='' + +ac_unique_file="src/rcs.hh" +# 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='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LIBOBJS +TEST_CXXFLAGS +TEST_CFLAGS +POSEMATH_CXXFLAGS +POSEMATH_CFLAGS +RCSRTLLIB_EXTRA_OBJS +RCSRTAILIB_EXTRA_OBJS +RCSLIB_EXTRA_OBJS +LTLIBOBJS +CONFIGURED_EXTRA_INCLUDES +CONFIGURED_SUBDIRS +CONFIGURED_TESTS +EXTRA_CHECK_PROGRAMS +CONFIGURED_PROGRAMS +POSEMATH_FLAGS_SET_FALSE +POSEMATH_FLAGS_SET_TRUE +TEST_FLAGS_SET_FALSE +TEST_FLAGS_SET_TRUE +have_pkg_config +CXXCPP +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +LN_S +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +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 +enable_silent_rules +enable_maintainer_mode +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_gnu_ld +with_sysroot +enable_libtool_lock +with_posix_ipc +with_snprintf +with_filio +with_winsock +with_windows +with_winsock2 +with_iostream +with_sys_v_ipc +with_librt +with_posix_threads +enable_ALL +enable_ALLJAVA +enable_codegen_jar +enable_rcsdesign_jar +enable_force_ipc_rm +enable_codegencmdline_jar +enable_diag_NB_jar +enable_rcs_jar +enable_shmem +enable_globmem +enable_filemem +enable_rtlmem +enable_locmem +enable_phantom +enable_stcp +enable_tcp +enable_udp +enable_gdrs_im +enable_tty +enable_http +enable_xml +enable_xdr +enable_packed +enable_packedl64 +enable_long_long +enable_disp +enable_diag +enable_print +enable_debug_print +enable_nmlqr +enable_cms_mrpq +enable_crypt +enable_server +enable_sokintrf +enable_oe_intrf +enable_inifile +enable_c_binding +enable_posemath_in_rcslib +enable_nmlmod +enable_xsd2nmlh +enable_nmlcfgsvr +enable_oedm_xml2nmlh +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CC +CFLAGS +CPP +CXXCPP' + + +# 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 Real-Time Control System Library 2014.05.14 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/rcslib] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Real-Time Control System Library 2014.05.14:";; + 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-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-ALL Enable/Disable all the other features in one + command. (default=no) + --enable-ALLJAVA Enable/Disable all java related features in one + command. (default=no) + --enable-codegen-jar Build the CodeGenCmdLine.jar and rcs.jar. It + requires java SDK.(default=no) + --enable-rcsdesign-jar Build the rcsDesign.jar. It requires java + SDK.(default=no) + --enable-force_ipc_rm Enable code to force IPC resources to be removed, + during cleanup.(default=no) + --enable-codegencmdline-jar + Build the CodeGenCmdLine.jar. It requires java SDK. + --enable-diag_NB-jar Build the diag_NB.jar, CodeGenCmdLine.jar, + plotter_NB.jar and rcs.jar. It requires java SDK. + --enable-rcs-jar Build the rcs.jar. It requires java SDK. + --enable-shmem Add shared memory support to CMS (default=yes) + --enable-globmem Add shared memory support to CMS (default=no) + --enable-filemem Add filemem support to CMS (default=no) + --enable-rtlmem Add rtlmem support to CMS (default=no) + --enable-locmem Add locmem support to CMS (default=no) + --enable-phantom Add phantom support to CMS (default=no) + --enable-stcp Add stcp support to CMS (default=yes) + --enable-tcp Add tcp support to CMS (default=yes) + --enable-udp Add udp support to CMS (default=yes) + --enable-gdrs_im Add gdrs_im support to CMS (default=yes) + --enable-tty Add tty (serial port) support to CMS + --enable-http Add http support to CMS, also enables XML + (default=yes) + --enable-xml Add XML support to CMS (default=yes) + --enable-xdr Add XDR (eXternal Data Representation) support to + CMS (default=yes) + --enable-packed Add PACKED (a custom neutral data representation) + support to CMS (default=yes) + --enable-packedl64 Add PACKEDL64 (a custom neutral data representation + using 64bits for longs/unsigned longs) support to + CMS (default=yes) + --enable-long_long Add LONG_LONG (a custom neutral data representation) + support to CMS (default=yes) + --enable-disp Add disp support to CMS, allows the use of the comma + seperated ascii format and the msg2str and str2msg + functions. (default=yes) + --enable-diag Add some low level diagnostics support to CMS + (default=no) + --enable-print Include the RCS print support, without it no debug + or error messages will be printed or logged. + (default=yes) + --enable-debug_print Include the RCS debug print support, without it no + debug messages will be printed or logged errors are + still printed. (default=no) + --enable-nmlqr Add some NML Query/Reply features.(default=no) + --enable-cms_mrpq Add support for multireader and priority + queues.(default=no) + --enable-crypt Add some simple cryptography support, needed for any + NML server using passwords. (default=no) + --enable-server ADD support for building/spawning NML servers. + (default=yes) + --enable-sokintrf Add some simple socket support support, needed for + TCP,UDP,HTTP etc. (default=yes) + --enable-oe_intrf Add support for using US Army WSTAWG OE interface. + (NOTES: This is not enabled by --enable-ALL and must + be explicitly enabled. This is experimental. It uses + a C++ binding with TARDEC/DCS extensions. It is + incompatible with enabling shared library versions + of librcs.)(default=no) + --enable-inifile Add some simple .ini file reading + support.(default=yes) + --enable-c_binding Add support for pure C binding.(default=yes) + --enable-posemath_in_rcslib + Include the objects for posemath in the rcslib for + backwards compatibility and simpler linking, even + with this disabled they still get built and placed + in libposemath. This is not affected by --enable-ALL + or --disable-ALL. (default=no) + --enable-nmlmod Include the objects for NML_MODULE, RCS_CMD_MSG, and + RCS_STAT_MSG needed by programs built with the RCS + Design tool.(default=yes) + --enable-xsd2nmlh Build the xsd2nmlh program. (default=yes) + --enable-nmlcfgsvr Build the nmlcfgsvr program. (default=yes) + --enable-oedm_xml2nmlh Build the oedm_xml2nmlh program. (default=no) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot=DIR Search for dependent libraries within DIR + (or the compiler's sysroot if not specified). + --with-posix-ipc Use POSIX IPC if both POSIX and System V are + available (default=no) + --with-snprintf Use snprintf instead of sprintf. (default=yes) + --with-filio Include filio.h (default=yes) + --with-winsock Use winsock if available (default=yes) + --with-windows Use MS Windows headers and functions if available + (default=yes) + --with-winsock2 Use winsock2 if available (default=yes) + --with-iostream Use iostreams for printing posemath + objects.(default=yes) + --with-sys-v-ipc Use System V IPC if both POSIX and System V are + available (default=yes) + --with-librt Check for librt and use if found. On some systems it + provides clock_gettime() which may be more accurate + than gettimeofday(). (default=yes) + --with-posix_threads Check for POSIX threads and use if found. + (default=yes) + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS 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 + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + CXXCPP 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 . +_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 +Real-Time Control System Library configure 2014.05.14 +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_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_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_cxx_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_cxx_try_compile + +# 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_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_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_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_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_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_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_cxx_preproc_warn_flag$ac_cxx_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_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_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_cxx_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_cxx_try_link + +# 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;} +( $as_echo "## ------------------------------- ## +## Report this to shackle@nist.gov ## +## ------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&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 + +# ac_fn_cxx_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_cxx_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_cxx_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_cxx_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_cxx_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;} +( $as_echo "## ------------------------------- ## +## Report this to shackle@nist.gov ## +## ------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&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_cxx_check_header_mongrel + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + 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 + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=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 +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_type +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 Real-Time Control System Library $as_me 2014.05.14, 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 + + +am__api_version='1.14' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; 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 \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$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. + + +# 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' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip" + $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 +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; 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_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_STRIP="strip" + $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_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + 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 + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P 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. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +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_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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_AWK="$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 +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $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 + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='rcslib' + VERSION='2014.05.14' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers rcs_config.h" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: PLEASE READ THE INSTALL FILE" >&5 +$as_echo "$as_me: PLEASE READ THE INSTALL FILE" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS = ${CPPFLAGS} " >&5 +$as_echo "$as_me: CPPFLAGS = ${CPPFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CFLAGS = ${CFLAGS} " >&5 +$as_echo "$as_me: CFLAGS = ${CFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CXXFLAGS = ${CXXFLAGS} " >&5 +$as_echo "$as_me: CXXFLAGS = ${CXXFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS = ${LDFLAGS} " >&5 +$as_echo "$as_me: LDFLAGS = ${LDFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: LIBS = ${LIBS} " >&5 +$as_echo "$as_me: LIBS = ${LIBS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CC = ${CC} " >&5 +$as_echo "$as_me: CC = ${CC} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CXX = ${CXX} " >&5 +$as_echo "$as_me: CXX = ${CXX} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: AR = ${AR} " >&5 +$as_echo "$as_me: AR = ${AR} " >&6;} + +if echo "x${CFLAGS}" | grep -- '-Werror' >/dev/null 2>/dev/null ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: CFLAGS contains -Werror : this frequently causes problems with configure" >&5 +$as_echo "$as_me: CFLAGS contains -Werror : this frequently causes problems with configure" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: add this option to CFLAGS= on the make command line instead." >&5 +$as_echo "$as_me: add this option to CFLAGS= on the make command line instead." >&6;} + CFLAGS=`echo " ${CFLAGS}" | sed s/-Werror//` +fi + +if echo "x${CXXFLAGS}" | grep -- '-Werror' >/dev/null 2>/dev/null ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: CXXFLAGS contains -Werror : this frequently causes problems with configure" >&5 +$as_echo "$as_me: CXXFLAGS contains -Werror : this frequently causes problems with configure" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: add this option to CXXFLAGS= on the make command line instead." >&5 +$as_echo "$as_me: add this option to CXXFLAGS= on the make command line instead." >&6;} + CXXFLAGS=`echo " ${CXXFLAGS}" | sed s/-Werror//` +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: CFLAGS = ${CFLAGS} " >&5 +$as_echo "$as_me: CFLAGS = ${CFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CXXFLAGS = ${CXXFLAGS} " >&5 +$as_echo "$as_me: CXXFLAGS = ${CXXFLAGS} " >&6;} + +if echo "x${LDFLAGS} | grep 'L~' ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: LDFLAGS=${LDFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in LDFLAGS" >&5 +$as_echo "$as_me: WARNING: LDFLAGS=${LDFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in LDFLAGS" >&2;} +fi + +if echo "x${CPPFLAGS} | grep 'I~' ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CPPFLAGS=${CPPFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in CPPFLAGS" >&5 +$as_echo "$as_me: WARNING: CPPFLAGS=${CPPFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in CPPFLAGS" >&2;} +fi + +CONFIGURED_PROGRAMS='nmltest$(EXEEXT) nmlcfg$(EXEEXT) nmlclean$(EXEEXT) nml_packed_file_to_csv$(EXEEXT)' +#CONFIGURED_STATIC_LIBRARIES="" +CONFIGURED_SUBDIRS= +CONFIGURED_TESTS= +CONFIGURED_EXTRA_INCLUDES= +RCSLIB_EXTRA_OBJS= +RCSRTAILIB_EXTRA_OBJS= +RCSRTLLIB_EXTRA_OBJS= + +# Checks for programs. +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in QCC g++ c++ CC cl cxx KCC cc++ egcs gcc cc + 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_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # 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_CXX="$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 +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in QCC g++ c++ CC cl cxx KCC cc++ egcs gcc cc +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_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_CXX="$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_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + 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 + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# 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_cxx_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_cxx_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_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_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_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +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 +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +for ac_prog in gawk mawk nawk awk +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_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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_AWK="$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 +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +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 + for ac_prog in qcc gcc cc egcs cl + 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 qcc gcc cc egcs cl +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 + + +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 + +{ $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 whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +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 + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +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 +{ $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 + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +{ $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 + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.2' +macro_revision='1.3337' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case "$ECHO" in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; +esac + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_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 +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_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 '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "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_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_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_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ $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 fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_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 fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_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_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + 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_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$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 +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +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_DUMPBIN+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_DUMPBIN="$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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + 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 + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; then : + $as_echo_n "(cached) " >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } + + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test "$GCC" != yes; then + reload_cmds=false + fi + ;; + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; 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_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_OBJDUMP="${ac_tool_prefix}objdump" + $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 +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; 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_OBJDUMP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # 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_OBJDUMP="objdump" + $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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + 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 + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. + if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; 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_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # 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_DLLTOOL="${ac_tool_prefix}dlltool" + $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 +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; 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_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_DLLTOOL="dlltool" + $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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + 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 + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + 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_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="$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 +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 + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +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_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_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_ac_ct_AR="$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_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + 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 + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; 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_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # 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_STRIP="${ac_tool_prefix}strip" + $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 +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; 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_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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_STRIP="strip" + $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_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + 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 + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +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 + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : + $as_echo_n "(cached) " >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 +$as_echo "${with_sysroot}" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + 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 + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; 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_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_MANIFEST_TOOL="${ac_tool_prefix}mt" + $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 +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; 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_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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_MANIFEST_TOOL="mt" + $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_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + 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 + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; 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_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil" + $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 +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; 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_DSYMUTIL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_DSYMUTIL="dsymutil" + $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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + 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 + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; 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_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit" + $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 +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; 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_NMEDIT+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_NMEDIT="nmedit" + $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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + 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 + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; 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_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo" + $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 +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; 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_LIPO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_LIPO="lipo" + $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_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + 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 + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; 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_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool" + $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 +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; 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_OTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_OTOOL="otool" + $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_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + 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 + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; 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_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64" + $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 +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; 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_OTOOL64+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_OTOOL64="otool64" + $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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + 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 + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + + +{ $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 + + +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + + +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=default + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC="$CC" +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 + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='${wl}--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + link_all_deplibs=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test x"$lt_cv_prog_compiler__b" = xyes; then + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test "$lt_cv_irix_exported_symbol" = yes; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([A-Za-z]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $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 : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen="shl_load" +else + { $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 : + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" +else + { $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 : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $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_svld_dlopen=yes +else + ac_cv_lib_svld_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_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} 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 dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=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_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $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 + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report which library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +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 + +CC="$lt_save_CC" + + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_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; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_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_cxx_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_cxx_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_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_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_cxx_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_cxx_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 \"$CXXCPP\" 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 + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec_CXX='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX="/usr/lib:/lib" + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + gnu*) + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +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_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + +# Check whether --with-posix_ipc was given. +if test "${with_posix_ipc+set}" = set; then : + withval=$with_posix_ipc; with_posix_ipc=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_posix_ipc=${with_posix_ipc}" >&5 +$as_echo "$as_me: with_posix_ipc=${with_posix_ipc}" >&6;} +else + with_posix_ipc=no +fi + + + +# Check whether --with-snprintf was given. +if test "${with_snprintf+set}" = set; then : + withval=$with_snprintf; with_snprintf=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_snprintf=${with_snprintf}" >&5 +$as_echo "$as_me: with_snprintf=${with_snprintf}" >&6;} +else + with_snprintf=yes +fi + + + +# Check whether --with-filio was given. +if test "${with_filio+set}" = set; then : + withval=$with_filio; with_filio=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_filio=${with_filio}" >&5 +$as_echo "$as_me: with_filio=${with_filio}" >&6;} +else + with_filio=yes +fi + + + +# Check whether --with-winsock was given. +if test "${with_winsock+set}" = set; then : + withval=$with_winsock; with_winsock=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_winsock=${with_winsock}" >&5 +$as_echo "$as_me: with_winsock=${with_winsock}" >&6;} +else + with_winsock=yes +fi + + + + +# Check whether --with-windows was given. +if test "${with_windows+set}" = set; then : + withval=$with_windows; with_windows=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_windows=${with_windows}" >&5 +$as_echo "$as_me: with_windows=${with_windows}" >&6;} +else + with_windows=yes +fi + + + +# Check whether --with-winsock2 was given. +if test "${with_winsock2+set}" = set; then : + withval=$with_winsock2; with_winsock2=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_winsock2=${with_winsock2}" >&5 +$as_echo "$as_me: with_winsock2=${with_winsock2}" >&6;} +else + with_winsock2=yes +fi + + + +# Check whether --with-iostream was given. +if test "${with_iostream+set}" = set; then : + withval=$with_iostream; with_iostream=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_iostream=${with_iostream}" >&5 +$as_echo "$as_me: with_iostream=${with_iostream}" >&6;} +else + with_iostream=yes +fi + + + +# Check whether --with-sys_v_ipc was given. +if test "${with_sys_v_ipc+set}" = set; then : + withval=$with_sys_v_ipc; with_sys_v_ipc=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_sys_v_ipc=${with_sys_v_ipc}" >&5 +$as_echo "$as_me: with_sys_v_ipc=${with_sys_v_ipc}" >&6;} +else + with_sys_v_ipc=yes +fi + + +#AC_ARG_WITH(rtl_rtai, +# [AC_HELP_STRING([--with-rtl-rtai], +# [Check for rtlinux or rtai and provide support if found. (default=no)])], +# [with_rtl_rtai=$withval; +# AC_MSG_NOTICE([with_rtl_rtai=${with_rtl_rtai}])], +# [with_rtl_rtai=default_to_no]) + + +# Check whether --with-librt was given. +if test "${with_librt+set}" = set; then : + withval=$with_librt; with_librt=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_librt=${with_librt}" >&5 +$as_echo "$as_me: with_librt=${with_librt}" >&6;} +else + with_librt=yes +fi + + + + +# Check whether --with-posix_threads was given. +if test "${with_posix_threads+set}" = set; then : + withval=$with_posix_threads; with_posix_threads=$withval; + { $as_echo "$as_me:${as_lineno-$LINENO}: with_posix_threads=${with_posix_threads}" >&5 +$as_echo "$as_me: with_posix_threads=${with_posix_threads}" >&6;} +else + with_posix_threads=yes + +fi + + + +# Check whether --enable-ALL was given. +if test "${enable_ALL+set}" = set; then : + enableval=$enable_ALL; + enable_all=${enableval}; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-ALL = ${enableval}" >&5 +$as_echo "$as_me: set_--enable-ALL = ${enableval}" >&6;} + +else + enable_all=notset +fi + + + +# Check whether --enable-ALLJAVA was given. +if test "${enable_ALLJAVA+set}" = set; then : + enableval=$enable_ALLJAVA; + enable_alljava=${enableval}; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-ALLJAVA = ${enable_alljava}" >&5 +$as_echo "$as_me: set_--enable-ALLJAVA = ${enable_alljava}" >&6;} + +else + enable_alljava=notset +fi + + + +# Check whether --enable-codegen_jar was given. +if test "${enable_codegen_jar+set}" = set; then : + enableval=$enable_codegen_jar; enable_codegen_jar=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-codegen_jar=$enableval" >&5 +$as_echo "$as_me: set_--enable-codegen_jar=$enableval" >&6;} +else + enable_codegen_jar=default_to_no +fi + + + +# Check whether --enable-rcsdesign_jar was given. +if test "${enable_rcsdesign_jar+set}" = set; then : + enableval=$enable_rcsdesign_jar; enable_rcsdesign_jar=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-rcsdesign_jar=$enableval" >&5 +$as_echo "$as_me: set_--enable-rcsdesign_jar=$enableval" >&6;} +else + enable_rcsdesign_jar=default_to_no +fi + + + +# Check whether --enable-force_ipc_rm was given. +if test "${enable_force_ipc_rm+set}" = set; then : + enableval=$enable_force_ipc_rm; enable_force_ipc_rm=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-force_ipc_rm=$enableval" >&5 +$as_echo "$as_me: set_--enable-force_ipc_rm=$enableval" >&6;} +else + enable_force_ipc_rm=yes +fi + + + +if test -f jtest.java ; then + rm jtest.java +fi + +if test -f jtest.class ; then + rm jtest.class +fi + +cat >jtest.java </dev/null 2>/dev/null ; then + enable_tty_default=yes; +fi + +fi +# test "x${ac_cv_exeext}" != "x" ; then + +java_cmd=`which java` +{ $as_echo "$as_me:${as_lineno-$LINENO}: java_cmd=${java_cmd}" >&5 +$as_echo "$as_me: java_cmd=${java_cmd}" >&6;} + +javac_cmd=`which javac` +{ $as_echo "$as_me:${as_lineno-$LINENO}: javac_cmd=${javac_cmd}" >&5 +$as_echo "$as_me: javac_cmd=${javac_cmd}" >&6;} + +if javac jtest.java && java jtest ; then + enable_java_jars_default=default_to_yes; +else + enable_java_jars_default=default_to_no; +fi + + +if test -f jtest.java ; then + rm jtest.java +fi + +if test -f jtest.class ; then + rm jtest.class +fi + +#echo enable_codegencmdline_jar_default=$enable_codegencmdline_jar_default + +{ $as_echo "$as_me:${as_lineno-$LINENO}: enable_java_jars_default=${enable_java_jars_default}" >&5 +$as_echo "$as_me: enable_java_jars_default=${enable_java_jars_default}" >&6;} + + +# Check whether --enable-codegencmdline_jar was given. +if test "${enable_codegencmdline_jar+set}" = set; then : + enableval=$enable_codegencmdline_jar; enable_codegencmdline_jar=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-codegencmdline_jar=$enableval" >&5 +$as_echo "$as_me: set_--enable-codegencmdline_jar=$enableval" >&6;} +else + enable_codegencmdline_jar=${enable_java_jars_default} +fi + + +#AC_ARG_ENABLE(diagapplet_jar, +# [AC_HELP_STRING([--enable-diagapplet-jar], +# [Build the diagapplet.jar, jdiag.jar, CodeGenCmdLine.jar, plotter.jar and rcs.jar. It requires java SDK.])], +# [enable_diagapplet_jar=$enableval; +# AC_MSG_NOTICE([set_--enable-diagapplet_jar=$enableval])], +# [enable_diagapplet_jar=${enable_java_jars_default}]) + +# Check whether --enable-diag_NB_jar was given. +if test "${enable_diag_NB_jar+set}" = set; then : + enableval=$enable_diag_NB_jar; enable_diag_NB_jar=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-diag_NB_jar=$enableval" >&5 +$as_echo "$as_me: set_--enable-diag_NB_jar=$enableval" >&6;} +else + enable_diag_NB_jar=${enable_java_jars_default} +fi + + +# Check whether --enable-rcs_jar was given. +if test "${enable_rcs_jar+set}" = set; then : + enableval=$enable_rcs_jar; enable_rcs_jar=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-rcs_jar=$enableval" >&5 +$as_echo "$as_me: set_--enable-rcs_jar=$enableval" >&6;} +else + enable_rcs_jar=${enable_java_jars_default} +fi + + +# Check whether --enable-shmem was given. +if test "${enable_shmem+set}" = set; then : + enableval=$enable_shmem; enable_shmem=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-shmem=$enableval" >&5 +$as_echo "$as_me: set_--enable-shmem=$enableval" >&6;} +else + enable_shmem=default_to_yes +fi + + +# GLOBMEM is usually built only for VXWORKS using the old makefiles that +# do not use autoconf/configure, the only reason for the option here is for +# testing on Linux. In production only SHMEM should likely be used on +# linux. + +# Check whether --enable-globmem was given. +if test "${enable_globmem+set}" = set; then : + enableval=$enable_globmem; enable_globmem=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-globmem=$enableval" >&5 +$as_echo "$as_me: set_--enable-globmem=$enableval" >&6;} +else + enable_globmem=default_to_no +fi + + +# Check whether --enable-filemem was given. +if test "${enable_filemem+set}" = set; then : + enableval=$enable_filemem; enable_filemem=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-filemem=$enableval" >&5 +$as_echo "$as_me: set_--enable-filemem=$enableval" >&6;} +else + enable_filemem=default_to_no +fi + + +# Check whether --enable-rtlmem was given. +if test "${enable_rtlmem+set}" = set; then : + enableval=$enable_rtlmem; enable_rtlmem=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-rtlmem=$enableval" >&5 +$as_echo "$as_me: set_--enable-rtlmem=$enableval" >&6;} +else + enable_rtlmem=default_to_no +fi + + +# Check whether --enable-locmem was given. +if test "${enable_locmem+set}" = set; then : + enableval=$enable_locmem; enable_locmem=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-locmem=$enableval" >&5 +$as_echo "$as_me: set_--enable-locmem=$enableval" >&6;} +else + enable_locmem=default_to_no +fi + + +# Check whether --enable-phantom was given. +if test "${enable_phantom+set}" = set; then : + enableval=$enable_phantom; enable_phantom=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-phantom=$enableval" >&5 +$as_echo "$as_me: set_--enable-phantom=$enableval" >&6;} +else + enable_phantom=default_to_no +fi + + +# Check whether --enable-stcp was given. +if test "${enable_stcp+set}" = set; then : + enableval=$enable_stcp; enable_stcp=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-stcp=$enableval" >&5 +$as_echo "$as_me: set_--enable-stcp=$enableval" >&6;} +else + enable_stcp=default_to_yes +fi + + +# Check whether --enable-tcp was given. +if test "${enable_tcp+set}" = set; then : + enableval=$enable_tcp; enable_tcp=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-tcp=$enableval" >&5 +$as_echo "$as_me: set_--enable-tcp=$enableval" >&6;} +else + enable_tcp=default_to_yes +fi + + +# Check whether --enable-udp was given. +if test "${enable_udp+set}" = set; then : + enableval=$enable_udp; enable_udp=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-udp=$enableval" >&5 +$as_echo "$as_me: set_--enable-udp=$enableval" >&6;} +else + enable_udp=default_to_yes +fi + + +# Check whether --enable-gdrs_im was given. +if test "${enable_gdrs_im+set}" = set; then : + enableval=$enable_gdrs_im; enable_gdrs_im=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-gdrs_im=$enableval" >&5 +$as_echo "$as_me: set_--enable-gdrs_im=$enableval" >&6;} +else + enable_gdrs_im=default_to_no +fi + + +# Check whether --enable-tty was given. +if test "${enable_tty+set}" = set; then : + enableval=$enable_tty; enable_tty=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-tty=$enableval" >&5 +$as_echo "$as_me: set_--enable-tty=$enableval" >&6;} +else + enable_tty=${enable_tty_default} +fi + + +# Check whether --enable-http was given. +if test "${enable_http+set}" = set; then : + enableval=$enable_http; enable_http=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-http=$enableval" >&5 +$as_echo "$as_me: set_--enable-http=$enableval" >&6;} +else + enable_http=default_to_no +fi + + +# Check whether --enable-xml was given. +if test "${enable_xml+set}" = set; then : + enableval=$enable_xml; enable_xml=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-xml=$enableval" >&5 +$as_echo "$as_me: set_--enable-xml=$enableval" >&6;} +else + enable_xml=default_to_yes +fi + + +# Check whether --enable-xdr was given. +if test "${enable_xdr+set}" = set; then : + enableval=$enable_xdr; enable_xdr=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-xdr=$enableval" >&5 +$as_echo "$as_me: set_--enable-xdr=$enableval" >&6;} +else + enable_xdr=default_to_yes +fi + + +# Check whether --enable-packed was given. +if test "${enable_packed+set}" = set; then : + enableval=$enable_packed; enable_packed=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-packed=$enableval" >&5 +$as_echo "$as_me: set_--enable-packed=$enableval" >&6;} +else + enable_packed=default_to_yes +fi + + +# Check whether --enable-packedl64 was given. +if test "${enable_packedl64+set}" = set; then : + enableval=$enable_packedl64; enable_packedl64=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-packedl64=$enableval" >&5 +$as_echo "$as_me: set_--enable-packedl64=$enableval" >&6;} +else + enable_packedl64=default_to_yes +fi + + +# Check whether --enable-long_long was given. +if test "${enable_long_long+set}" = set; then : + enableval=$enable_long_long; enable_long_long=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-long_long=$enableval" >&5 +$as_echo "$as_me: set_--enable-long_long=$enableval" >&6;} +else + enable_long_long=default_to_yes +fi + + +# Check whether --enable-disp was given. +if test "${enable_disp+set}" = set; then : + enableval=$enable_disp; enable_disp=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-disp=$enableval" >&5 +$as_echo "$as_me: set_--enable-disp=$enableval" >&6;} +else + enable_disp=default_to_yes +fi + + +# Check whether --enable-diag was given. +if test "${enable_diag+set}" = set; then : + enableval=$enable_diag; enable_diag=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-diag=$enableval" >&5 +$as_echo "$as_me: set_--enable-diag=$enableval" >&6;} +else + enable_diag=default_to_no +fi + + +# Check whether --enable-print was given. +if test "${enable_print+set}" = set; then : + enableval=$enable_print; enable_print=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-print=$enableval" >&5 +$as_echo "$as_me: set_--enable-print=$enableval" >&6;} +else + enable_print=default_to_yes +fi + + + +# Check whether --enable-debug_print was given. +if test "${enable_debug_print+set}" = set; then : + enableval=$enable_debug_print; enable_debug_print=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-debug_print=$enableval" >&5 +$as_echo "$as_me: set_--enable-debug_print=$enableval" >&6;} +else + enable_debug_print=default_to_no +fi + + +# Check whether --enable-nmlqr was given. +if test "${enable_nmlqr+set}" = set; then : + enableval=$enable_nmlqr; enable_nmlqr=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-nmlqr=$enableval" >&5 +$as_echo "$as_me: set_--enable-nmlqr=$enableval" >&6;} +else + enable_nmlqr=default_to_no +fi + + +# Check whether --enable-cms_mrpq was given. +if test "${enable_cms_mrpq+set}" = set; then : + enableval=$enable_cms_mrpq; enable_cms_mrpq=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-cms_mrpq=$enableval" >&5 +$as_echo "$as_me: set_--enable-cms_mrpq=$enableval" >&6;} +else + enable_cms_mrpq=default_to_no +fi + + +# Check whether --enable-crypt was given. +if test "${enable_crypt+set}" = set; then : + enableval=$enable_crypt; enable_crypt=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-crypt=$enableval" >&5 +$as_echo "$as_me: set_--enable-crypt=$enableval" >&6;} +else + enable_crypt=default_to_no +fi + + +# Check whether --enable-server was given. +if test "${enable_server+set}" = set; then : + enableval=$enable_server; enable_server=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-server=$enableval" >&5 +$as_echo "$as_me: set_--enable-server=$enableval" >&6;} +else + enable_server=default_to_yes +fi + + +# Check whether --enable-sokintrf was given. +if test "${enable_sokintrf+set}" = set; then : + enableval=$enable_sokintrf; enable_sokintrf=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-sokintrf=${enableval}" >&5 +$as_echo "$as_me: set_--enable-sokintrf=${enableval}" >&6;} +else + enable_sokintrf=default_to_yes +fi + + +# Check whether --enable-oe_intrf was given. +if test "${enable_oe_intrf+set}" = set; then : + enableval=$enable_oe_intrf; enable_oe_intrf=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-oe_intrf=${enableval}" >&5 +$as_echo "$as_me: set_--enable-oe_intrf=${enableval}" >&6;} + +else + enable_oe_intrf=default_to_no +fi + + +# Check whether --enable-inifile was given. +if test "${enable_inifile+set}" = set; then : + enableval=$enable_inifile; enable_inifile=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-inifile=${enableval}" >&5 +$as_echo "$as_me: set_--enable-inifile=${enableval}" >&6;} +else + enable_inifile=default_to_yes +fi + + +# Check whether --enable-c_binding was given. +if test "${enable_c_binding+set}" = set; then : + enableval=$enable_c_binding; enable_c_binding=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-c_binding=${enableval}" >&5 +$as_echo "$as_me: set_--enable-c_binding=${enableval}" >&6;} +else + enable_c_binding=default_to_yes +fi + + +# Check whether --enable-posemath_in_rcslib was given. +if test "${enable_posemath_in_rcslib+set}" = set; then : + enableval=$enable_posemath_in_rcslib; enable_posemath_in_rcslib=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-posemath_in_rcslib=$enableval" >&5 +$as_echo "$as_me: set_--enable-posemath_in_rcslib=$enableval" >&6;} +else + enable_posemath_in_rcslib=no +fi + + +# Check whether --enable-nmlmod was given. +if test "${enable_nmlmod+set}" = set; then : + enableval=$enable_nmlmod; enable_nmlmod=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-nmlmod=$enableval" >&5 +$as_echo "$as_me: set_--enable-nmlmod=$enableval" >&6;} +else + enable_nmlmod=default_to_yes +fi + + +# Check whether --enable-xsd2nmlh was given. +if test "${enable_xsd2nmlh+set}" = set; then : + enableval=$enable_xsd2nmlh; enable_xsd2nmlh=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-xsd2nmlh=$enableval" >&5 +$as_echo "$as_me: set_--enable-xsd2nmlh=$enableval" >&6;} +else + enable_xsd2nmlh=default_to_yes +fi + + +# Check whether --enable-nmlcfgsvr was given. +if test "${enable_nmlcfgsvr+set}" = set; then : + enableval=$enable_nmlcfgsvr; enable_nmlcfgsvr=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-nmlcfgsvr=$enableval" >&5 +$as_echo "$as_me: set_--enable-nmlcfgsvr=$enableval" >&6;} +else + enable_nmlcfgsvr=default_to_yes +fi + + +# Check whether --enable-oedm_xml2nmlh was given. +if test "${enable_oedm_xml2nmlh+set}" = set; then : + enableval=$enable_oedm_xml2nmlh; enable_oedm_xml2nmlh=$enableval; + { $as_echo "$as_me:${as_lineno-$LINENO}: set_--enable-oedm_xml2nmlh=$enableval" >&5 +$as_echo "$as_me: set_--enable-oedm_xml2nmlh=$enableval" >&6;} +else + enable_oedm_xml2nmlh=default_to_no +fi + + +#if test "x${with_rtl_rtai}" = "xdefault_to_yes" ; then +# if ( uname -s | grep -i linux ) >/dev/null 2>/dev/null ; then +# if ( test "x${host}" = "x" ) || (echo ${host} | grep -i linux ) ; then +# with_rtl_rtai=yes; +# fi +# fi +#fi + +#if test "x${with_rtl_rtai}" = "xdefault_to_yes" ; then +# with_rtl_rtai=no; +#fi + +#if test "x${with_rtl_rtai}" = "xdefault_to_no" ; then +# with_rtl_rtai=no; +#fi + +if test '(' "x${enable_rcs_jar}" = "xdefault_to_no" -o \ + "x${enable_rcs_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_rcs_jar=${enable_alljava}; +fi + +if test '(' "x${enable_codegen_jar}" = "xdefault_to_no" -o \ + "x${enable_codegen_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_codegen_jar=${enable_alljava}; +fi + +if test '(' "x${enable_rcsdesign_jar}" = "xdefault_to_no" -o \ + "x${enable_rcsdesign_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_rcsdesign_jar=${enable_alljava}; +fi + +if test '(' "x${enable_codegencmdline_jar}" = "xdefault_to_no" -o \ + "x${enable_codegencmdline_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_codegencmdline_jar=${enable_alljava}; +fi + +#if test '(' "x${enable_diagapplet_jar}" = "xdefault_to_no" -o \ +# "x${enable_diagapplet_jar}" = "xdefault_to_yes" ')' -a \ +# '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then +# enable_diagapplet_jar=${enable_alljava}; +#fi + +if test '(' "x${enable_diag_NB_jar}" = "xdefault_to_no" -o \ + "x${enable_diag_NB_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_diag_NB_jar=${enable_alljava}; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rcs_jar=yes; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_codegen_jar=yes; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rcsdesign_jar=yes; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_codegencmdline_jar=yes; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then +# enable_diagapplet_jar=yes; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_diag_NB_jar=yes; +fi + +if test "x${enable_filemem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_filemem=yes; +fi + +if test "x${enable_xml}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xml=yes; +fi + +if test "x${enable_xdr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xdr=yes; +fi + +if test "x${enable_packed}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_packed=yes; +fi + +if test "x${enable_long_long}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_long_long=yes; +fi + +if test "x${enable_packedl64}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_packedl64=yes; +fi + +if test "x${enable_disp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_disp=yes; +fi + +if test "x${enable_diag}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_diag=yes; +fi + +if test "x${enable_print}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_print=yes; +fi + +if test "x${enable_debug_print}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_debug_print=yes; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlqr=yes; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_cms_mrpq=yes; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xsd2nmlh=yes; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlcfgsvr=yes; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_oedm_xml2nmlh=yes; +fi + +if test "x${enable_locmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_locmem=yes; +fi + +if test "x${enable_phantom}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_phantom=yes; +fi + +if test "x${enable_shmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_shmem=yes; +fi + +if test "x${enable_globmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_globmem=yes; +fi + +if test "x${enable_stcp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_stcp=yes; +fi + +if test "x${enable_tcp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_tcp=yes; +fi + +if test "x${enable_udp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_udp=yes; +fi + +if test "x${enable_tty}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_tty=yes; +fi + +if test "x${enable_crypt}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_crypt=yes; +fi + +if test "x${enable_http}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_http=yes; +fi + + +if test "x${enable_nmlmod}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlmod=yes; +fi + +if test "x${enable_server}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_server=yes; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_sokintrf=yes; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rtlmem=yes; +fi + +if test "x${enable_inifile}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rcs_jar=no; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_codegen_jar=no; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rcsdesign_jar=no; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_codegencmdline_jar=no; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then +# enable_diagapplet_jar=no; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_diag_NB_jar=no; +fi + +if test "x${enable_filemem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_filemem=no; +fi + +if test "x${enable_xml}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xml=no; +fi + +if test "x${enable_xdr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xdr=no; +fi + +if test "x${enable_packed}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_packed=no; +fi + +if test "x${enable_long_long}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_long_long=no; +fi + +if test "x${enable_packedl64}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_packedl64=no; +fi + +if test "x${enable_disp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_disp=no; +fi + +if test "x${enable_diag}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_diag=no; +fi + +if test "x${enable_print}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_print=no; +fi + +if test "x${enable_debug_print}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_debug_print=no; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlqr=no; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_cms_mrpq=no; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xsd2nmlh=no; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlcfgsvr=no; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_oedm_xml2nmlh=no; +fi + +if test "x${enable_locmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_locmem=no; +fi + +if test "x${enable_phantom}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_phantom=no; +fi + +if test "x${enable_shmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_shmem=no; +fi + +if test "x${enable_globmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_globmem=no; +fi + +if test "x${enable_stcp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_stcp=no; +fi + +if test "x${enable_tcp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_tcp=no; +fi + +if test "x${enable_udp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_udp=no; +fi + +if test "x${enable_tty}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_tty=no; +fi + +if test "x${enable_crypt}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_crypt=no; +fi + +if test "x${enable_http}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_http=no; +fi + + +if test "x${enable_nmlmod}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlmod=no; +fi + +if test "x${enable_server}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_server=no; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_sokintrf=no; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rtlmem=no; +fi + +if test "x${enable_inifile}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_yes" ; then + enable_rcs_jar=yes; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_yes" ; then + enable_codegen_jar=yes; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_yes" ; then + enable_rcsdesign_jar=yes; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_yes" ; then + enable_codegencmdline_jar=yes; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_yes" ; then +# enable_diagapplet_jar=yes; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_yes" ; then + enable_diag_NB_jar=yes; +fi + +if test "x${enable_filemem}" = "xdefault_to_yes" ; then + enable_filemem=yes; +fi + +if test "x${enable_xml}" = "xdefault_to_yes" ; then + enable_xml=yes; +fi + +if test "x${enable_xdr}" = "xdefault_to_yes" ; then + enable_xdr=yes; +fi + +if test "x${enable_packed}" = "xdefault_to_yes" ; then + enable_packed=yes; +fi + +if test "x${enable_packedl64}" = "xdefault_to_yes" ; then + enable_packedl64=yes; +fi + +if test "x${enable_long_long}" = "xdefault_to_yes" ; then + enable_long_long=yes; +fi + +if test "x${enable_disp}" = "xdefault_to_yes" ; then + enable_disp=yes; +fi + +if test "x${enable_diag}" = "xdefault_to_yes" ; then + enable_diag=yes; +fi + +if test "x${enable_print}" = "xdefault_to_yes" ; then + enable_print=yes; +fi + +if test "x${enable_debug_print}" = "xdefault_to_yes" ; then + enable_debug_print=yes; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_yes" ; then + enable_nmlqr=yes; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_yes" ; then + enable_cms_mrpq=yes; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_yes" ; then + enable_xsd2nmlh=yes; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_yes" ; then + enable_nmlcfgsvr=yes; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_yes" ; then + enable_oedm_xml2nmlh=yes; +fi + +if test "x${enable_locmem}" = "xdefault_to_yes" ; then + enable_locmem=yes; +fi + +if test "x${enable_phantom}" = "xdefault_to_yes" ; then + enable_phantom=yes; +fi + +if test "x${enable_shmem}" = "xdefault_to_yes" ; then + enable_shmem=yes; +fi + +if test "x${enable_globmem}" = "xdefault_to_yes" ; then + enable_globmem=yes; +fi + +if test "x${enable_stcp}" = "xdefault_to_yes" ; then + enable_stcp=yes; +fi + +if test "x${enable_tcp}" = "xdefault_to_yes" ; then + enable_tcp=yes; +fi + +if test "x${enable_udp}" = "xdefault_to_yes" ; then + enable_udp=yes; +fi + +if test "x${enable_tty}" = "xdefault_to_yes" ; then + enable_tty=yes; +fi + +if test "x${enable_crypt}" = "xdefault_to_yes" ; then + enable_crypt=yes; +fi + +if test "x${enable_http}" = "xdefault_to_yes" ; then + enable_http=yes; +fi + +if test "x${enable_posemath_in_rcslib}" = "xdefault_to_yes" ; then + enable_posemath_in_rcslib=yes; +fi + +if test "x${enable_nmlmod}" = "xdefault_to_yes" ; then + enable_nmlmod=yes; +fi + +if test "x${enable_server}" = "xdefault_to_yes" ; then + enable_server=yes; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_yes" ; then + enable_sokintrf=yes; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_yes" ; then + enable_oe_intrf=yes; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_yes" ; then + enable_rtlmem=yes; +fi + +if test "x${enable_inifile}" = "xdefault_to_yes" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_yes" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_no" ; then + enable_rcs_jar=no; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_no" ; then + enable_codegen_jar=no; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_no" ; then + enable_rcsdesign_jar=no; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_no" ; then + enable_codegencmdline_jar=no; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_no" ; then +# enable_diagapplet_jar=no; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_no" ; then + enable_diag_NB_jar=no; +fi + +if test "x${enable_filemem}" = "xdefault_to_no" ; then + enable_filemem=no; +fi + +if test "x${enable_xml}" = "xdefault_to_no" ; then + enable_xml=no; +fi + +if test "x${enable_xdr}" = "xdefault_to_no" ; then + enable_xdr=no; +fi + +if test "x${enable_packed}" = "xdefault_to_no" ; then + enable_packed=no; +fi + +if test "x${enable_packedl64}" = "xdefault_to_no" ; then + enable_packedl64=no; +fi + +if test "x${enable_long_long}" = "xdefault_to_no" ; then + enable_long_long=no; +fi + +if test "x${enable_disp}" = "xdefault_to_no" ; then + enable_disp=no; +fi + +if test "x${enable_diag}" = "xdefault_to_no" ; then + enable_diag=no; +fi + +if test "x${enable_print}" = "xdefault_to_no" ; then + enable_print=no; +fi + +if test "x${enable_debug_print}" = "xdefault_to_no" ; then + enable_debug_print=no; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_no" ; then + enable_nmlqr=no; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_no" ; then + enable_cms_mrpq=no; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_no" ; then + enable_xsd2nmlh=no; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_no" ; then + enable_nmlcfgsvr=no; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_no" ; then + enable_oedm_xml2nmlh=no; +fi + +if test "x${enable_locmem}" = "xdefault_to_no" ; then + enable_locmem=no; +fi + +if test "x${enable_phantom}" = "xdefault_to_no" ; then + enable_phantom=no; +fi + +if test "x${enable_shmem}" = "xdefault_to_no" ; then + enable_shmem=no; +fi + +if test "x${enable_globmem}" = "xdefault_to_no" ; then + enable_globmem=no; +fi + +if test "x${enable_stcp}" = "xdefault_to_no" ; then + enable_stcp=no; +fi + +if test "x${enable_tcp}" = "xdefault_to_no" ; then + enable_tcp=no; +fi + +if test "x${enable_udp}" = "xdefault_to_no" ; then + enable_udp=no; +fi + +if test "x${enable_tty}" = "xdefault_to_no" ; then + enable_tty=no; +fi + +if test "x${enable_crypt}" = "xdefault_to_no" ; then + enable_crypt=no; +fi + +if test "x${enable_http}" = "xdefault_to_no" ; then + enable_http=no; +fi + +if test "x${enable_posemath_in_rcslib}" = "xdefault_to_no" ; then + enable_posemath_in_rcslib=no; +fi + +if test "x${enable_nmlmod}" = "xdefault_to_no" ; then + enable_nmlmod=no; +fi + +if test "x${enable_server}" = "xdefault_to_no" ; then + enable_server=no; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_no" ; then + enable_sokintrf=no; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_no" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_no" ; then + enable_rtlmem=no; +fi + +if test "x${enable_inifile}" = "xdefault_to_no" ; then + enable_inifile=no; +fi + +if test "x${enable_c_binding}" = "xdefault_to_no" ; then + enable_c_binding=no; +fi + +if test "x${enable_print}" != "xyes" ; then + enable_xsd2nmlh=no; + { $as_echo "$as_me:${as_lineno-$LINENO}: Disabling xs2dnmlh since enable_print not set." >&5 +$as_echo "$as_me: Disabling xs2dnmlh since enable_print not set." >&6;} +fi + +if test "x${enable_xsd2nmlh}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'xsd2nmlh$(EXEEXT)' + { $as_echo "$as_me:${as_lineno-$LINENO}: CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}" >&5 +$as_echo "$as_me: CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}" >&6;} +fi + +## Do we have pkg-config? +## If we're cross-compiling, pretend we don't have pkg-config, because it +## will do the wrong thing (i.e., identify packages on the build systems +## instead of the host system). +if test "$host" = "$build"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; 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_have_pkg_config+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$have_pkg_config"; then + ac_cv_prog_have_pkg_config="$have_pkg_config" # 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_have_pkg_config="yes" + $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_have_pkg_config" && ac_cv_prog_have_pkg_config="no" +fi +fi +have_pkg_config=$ac_cv_prog_have_pkg_config +if test -n "$have_pkg_config"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_pkg_config" >&5 +$as_echo "$have_pkg_config" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +else + have_pkg_config=no +fi +if test "x$have_pkg_config" != "xno"; then + ## Also, add /usr/local/lib/pkgconfig, because on + ## some platforms, pkg-config won't look there by default. + export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH +fi + +if test "x${enable_nmlcfgsvr}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlcfgsvr$(EXEEXT)' + EXTRA_CHECK_PROGRAMS="${EXTRA_CHECK_PROGRAMS} "nml_test_nmlset'$(EXEEXT)' + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}]) + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlcfgsvr_clntcalls.lo nmlset.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_NMLCFGSVR 1" >>confdefs.h + + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support nmlcfgsvr" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support nmlcfgsvr" >&6;} + fi + if test "x${enable_stcp}" != "xyes" ; then + enable_stcp=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support stcp" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support stcp" >&6;} + fi + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_nmlcfgsvr.sh" +fi + +if test "x${enable_oedm_xml2nmlh}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'oedm_xml2nmlh$(EXEEXT)' + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}]) +fi + +if test "x${enable_filemem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} filemem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_FILEMEM 1" >>confdefs.h + + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_filemem.sh" +fi + +if test "x${enable_shmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} shmem.lo _shm.lo shm.lo sem.lo memsem.lo autokey.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_SHMEM 1" >>confdefs.h + + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_shmem.sh" +fi + +# GLOBMEM is usually built only for VXWORKS using the old makefiles that +# do not use autoconf/configure, the only reason for the option here is for +# testing on Linux. In production only SHMEM should likely be used on +# linux. +if test "x${enable_globmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} globmem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_GLOBMEM 1" >>confdefs.h + + # CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_globmem.sh" +fi + +CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_extras.sh" + +if test "x${enable_posemath_in_rcslib}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} _posemath.lo mathprnt.lo sincos.lo posemath.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) +fi + +if test "x${enable_nmlmod}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nml_mod.lo cmd_msg.lo stat_msg.lo nml_oi.lo stat_msg_v2_n.lo timetracker_n.lo timetracker_c_n.lo timetracker.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_NMLMOD 1" >>confdefs.h + +fi + + +if test "x${enable_inifile}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} inifile.lo _inifile.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_INIFILE 1" >>confdefs.h + +fi + +if test "x${enable_c_binding}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlcms_c.lo posemath_c_n.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_C_BINDING 1" >>confdefs.h + +fi + +if test "x${enable_http}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} httpnml.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} http_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support http" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support http" >&6;} + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_HTTP 1" >>confdefs.h + + if test "x${enable_xml}" != "xyes" ; then + enable_xml=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: xml had to be enabled to support http" >&5 +$as_echo "$as_me: xml had to be enabled to support http" >&6;} + fi +fi + +if test "x${enable_tty}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} ttymem.lo tty_srv.lo ttyintf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_TTY 1" >>confdefs.h + + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'ttytest$(EXEEXT)' +fi + +if test "x${enable_locmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} locmem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_LOCMEM 1" >>confdefs.h + + if test "x${enable_tcp}" = "xyes" -a "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_locmem_tcp_packed.sh" + fi +fi + + +if test "x${enable_phantom}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} phantom.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_PHANTOMMEM 1" >>confdefs.h + +fi + + +if test "x${enable_stcp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} stcpmem.lo sendline.lo recvline.lo stcpopts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} stcpsvr.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support stcp" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support stcp" >&6;} + fi + if test "x${enable_disp}" != "xyes" ; then + enable_disp=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: disp had to be enabled to support stcp" >&5 +$as_echo "$as_me: disp had to be enabled to support stcp" >&6;} + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_STCP 1" >>confdefs.h + + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_stcpdisp.sh" +# if test "x${enable_xml}" = "xyes" ; then +# CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_stcpxml.sh" +# fi +fi + + + +if test "x${enable_tcp}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlGetRemoteTcpServerBufferList$(EXEEXT)' + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlGetRemoteTcpServerBufferInfo$(EXEEXT)' + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} tcpmem.lo sendn.lo recvn.lo tcp_opts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} tcp_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support tcp" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support tcp" >&6;} + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_TCP 1" >>confdefs.h + + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpraw.sh" + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpxdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcppacked.sh" + fi + if test "x${enable_xml}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpxml.sh" + fi +fi + + +if test "x${enable_udp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} udpmem.lo sendmsgt.lo recvmsgt.lo udp_opts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} udp_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support udp" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support udp" >&6;} + fi + +$as_echo "#define ENABLE_RCS_UDP 1" >>confdefs.h + + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_udpxdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_udppacked.sh" + fi +fi + + +if test "x${enable_gdrs_im}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} gdrs_im_clnt.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} gdrs_im_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support gdrs_im" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support gdrs_im" >&6;} + fi + +$as_echo "#define ENABLE_RCS_GDRS_IM 1" >>confdefs.h + + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_gdrs_im_xdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_gdrs_im_packed.sh" + fi +fi + +if test "x${enable_crypt}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} crypt2.lo" + +$as_echo "#define ENABLE_RCS_CRYPT2 1" >>confdefs.h + +fi + +if test "x${enable_xml}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_xml_up.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_XML 1" >>confdefs.h + +fi + +if test "x${enable_xdr}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_xup.lo extxdrintf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_XDR 1" >>confdefs.h + +fi + +if test "x${enable_packed}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_pup.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_PACKED_UP 1" >>confdefs.h + + + if test "x${enable_packedl64}" = "xyes" ; then + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_PACKEDL64 1" >>confdefs.h + + fi + +fi + +if test "x${enable_long_long}" = "xyes" ; then + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_LONG_LONG_UP 1" >>confdefs.h + +fi + + +if test "x${enable_disp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_dup.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_DISP 1" >>confdefs.h + +fi + +if test "x${enable_diag}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cmsdiag.lo nmldiag.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_DIAG 1" >>confdefs.h + +fi + + +if test "x${enable_print}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rcs_prnt.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_PRNT 1" >>confdefs.h + +else + CPPFLAGS="${CPPFLAGS} -DDISABLE_RCS_PRINT" + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) +fi + +if test "x${enable_debug_print}" != "xyes" ; then + CPPFLAGS="${CPPFLAGS} -DDISABLE_RCS_DEBUG_PRINT" + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) +fi + +if test "x${enable_nmlqr}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlqr.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_NMLQR 1" >>confdefs.h + +fi + +if test "x${enable_cms_mrpq}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_mrpq.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_CMS_MRPQ 1" >>confdefs.h + +fi + +if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_srv.lo nml_srv.lo cmssvrp.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_SERVER 1" >>confdefs.h + + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: sokintrf had to be enabled to support server" >&5 +$as_echo "$as_me: sokintrf had to be enabled to support server" >&6;} + fi +fi + +if test "x${enable_sokintrf}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} sokintrf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_SOKINTRF 1" >>confdefs.h + +fi + +if test "x${enable_oe_intrf}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} oemem.lo oemque.lo oedsto.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + +$as_echo "#define ENABLE_RCS_OE_INTRF 1" >>confdefs.h + + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_oemem.sh" +fi + +if test "x${enable_diag_NB_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' diag_NB.jar$(EXEEXT) plotter_NB.jar$(EXEEXT) CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT) pvjscript.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +#elif test "x${enable_diagapplet_jar}" = "xyes" ; then +# CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' diagapplet.jar$(EXEEXT) jdiag.jar$(EXEEXT) plotter.jar$(EXEEXT) CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; +# ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +elif test "x${enable_codegen_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) +elif test "x${enable_codegencmdline_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +elif test "x${enable_rcs_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +fi + +if test "x${enable_rcsdesign_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' rcsDesign.jar$(EXEEXT)'; + ## +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}" >&5 +$as_echo "$as_me: CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}" >&6;} + + +{ $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 + +for ac_header in stdio.h stdarg.h stdlib.h stddef.h math.h errno.h time.h sys/errno.h ctype.h limits.h values.h float.h signal.h memory.h string.h strings.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$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 + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 +$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } +if eval \${$as_ac_Header+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_ac_Header=yes" +else + eval "$as_ac_Header=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$as_ac_Header + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 +$as_echo_n "checking for library containing opendir... " >&6; } +if ${ac_cv_search_opendir+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_opendir=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_opendir+:} false; then : + break +fi +done +if ${ac_cv_search_opendir+:} false; then : + +else + ac_cv_search_opendir=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 +$as_echo "$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + + +if test "x${CC}" = "xgcc" ; then + if echo "x${CFLAGS}" | grep -v -- '-O' >/dev/null 2>/dev/null ; then + CFLAGS="${CFLAGS} -O2" + fi +fi + +if test "x${CXX}" = "xg++" ; then + if echo "x${CXXFLAGS}" | grep -v -- '-O' >/dev/null 2>/dev/null ; then + CXXFLAGS="${CXXFLAGS} -O2" + fi +fi + +if test "x${enable_oe_intrf}" = "xyes" -a "x${enable_shared}" = "xyes" ; then + as_fn_error $? "Building shared libraries must be disabled with --disable-shared when the OE interface is enabled." "$LINENO" 5 +fi + +if test "x${enable_oe_intrf}" = "xyes" -a "x${enable_static}" != "xyes" ; then + as_fn_error $? "Building static libraries must be enabled with --enable-static when the OE interface is enabled." "$LINENO" 5 +fi + +check_for_windows_stuff=no + +{ $as_echo "$as_me:${as_lineno-$LINENO}: with_windows : ${with_windows}" >&5 +$as_echo "$as_me: with_windows : ${with_windows}" >&6;} + +if test "x${with_windows}" = "xyes" ; then + ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default" +if test "x$ac_cv_header_windows_h" = xyes; then : + check_for_windows_stuff=yes +fi + + +fi + + + +cat >putenv_test.cc < + +int main(int argc,const char **argv) +{ +putenv((char *)"ENV_VAR=ENV_VAL"); +} +EOF + + +if g++ -Wall -Werror putenv_test.cc > /dev/null ; then + +$as_echo "#define PUTENV_OK_IN_CPLUSPLUS 1" >>confdefs.h + + \rm -f putenv_test.cc +else + (set -x ; g++ -Wall -Werror putenv_test.cc ) +fi + + + +cat >snprintf_test.cc < +#include +#include +#include + +int main(int argc,char **argv) +{ + char *buf=(char *) malloc(200); + snprintf(buf,200,"stuff"); +} +EOF + + +if g++ -Wall -Werror snprintf_test.cc > /dev/null ; then + +$as_echo "#define SNPRINTF_OK_IN_CPLUSPLUS 1" >>confdefs.h + + \rm -f snprintf_test.cc +else + (set -x ; g++ -Wall -Werror snprintf_test.cc ) + CPPFLAGS="${CPPFLAGS} -DNO_SNPRINTF=1"; + export CPPFLAGS; +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: check_for_windows_stuff : ${check_for_windows_stuff}" >&5 +$as_echo "$as_me: check_for_windows_stuff : ${check_for_windows_stuff}" >&6;} + + +if test "x${check_for_windows_stuff}" = "xyes" ; then + +$as_echo "#define HAVE_WINDOWS_H 1" >>confdefs.h + + + if test "x${enable_sokintrf}" = "xyes" ; then + + ORIG_LIBS=${LIBS} + + { $as_echo "$as_me:${as_lineno-$LINENO}: with_winsock2 : ${with_winsock2}" >&5 +$as_echo "$as_me: with_winsock2 : ${with_winsock2}" >&6;} + + if test "x${with_winsock2}" = "xyes" ; then + + if test "x${build_os}" = "xcygwin" ; then + ac_cv_have_winsock2=yes; + LIBS="${LIBS} -lws2_32"; + ac_cv_can_link_ws2_32=yes; + # the test for having winsock2.h will fail because of stupid + # unistd problem but we need it anyway. + else + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + + LIBS="${LIBS} -lws2_32" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking can link ws2_32" >&5 +$as_echo_n "checking can link ws2_32... " >&6; } +if ${ac_cv_can_link_ws2_32+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + short winsock_version; + WSADATA startup_data; + winsock_version = MAKEWORD (2, 0); + WSAStartup(winsock_version, &startup_data); + WSAGetLastError(); + socket (AF_INET, SOCK_STREAM, 0); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + ac_cv_can_link_ws2_32=yes; + +else + + ac_cv_can_link_ws2_32=no; + + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_have_winsock2=${ac_cv_can_link_ws2_32}; + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_can_link_ws2_32" >&5 +$as_echo "$ac_cv_can_link_ws2_32" >&6; } + +else + ac_cv_have_winsock2=no + +fi + + + fi + + else + ac_cv_have_winsock2=no; + + fi + # if test "${with_winsock2}" = "xyes" ; then + + ## AC_MSG_NOTICE([ac_cv_have_winsock2=${ac_cv_have_winsock2}]) + + + if test "x${ac_cv_have_winsock2}" = "xyes" ; then + +$as_echo "#define HAVE_WINSOCK2_H 1" >>confdefs.h + + ## AC_MSG_NOTICE([LIBS=${LIBS}]) + else + + { $as_echo "$as_me:${as_lineno-$LINENO}: with_winsock : ${with_winsock}" >&5 +$as_echo "$as_me: with_winsock : ${with_winsock}" >&6;} + + if test "x${with_winsock}" = "xyes" ; then + + LIBS=${ORIG_LIBS} + + ac_fn_c_check_header_mongrel "$LINENO" "winsock.h" "ac_cv_header_winsock_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock_h" = xyes; then : + + LIBS="${LIBS} -lwsock32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + short winsock_version; + WSADATA startup_data; + + winsock_version = MAKEWORD (2, 0); + WSAStartup(winsock_version, &startup_data); + WSAGetLastError(); + socket (AF_INET, SOCK_STREAM, 0); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_have_winsock=yes +else + + ac_cv_have_winsock=no; + + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +else + ac_cv_have_winsock=no + +fi + + + + + if test "x${ac_cv_have_winsock}" = "xyes" ; then + +$as_echo "#define HAVE_WINSOCK_H 1" >>confdefs.h + + else + LIBS=${ORIG_LIBS}; + fi + + + fi + # test "${with_winsock}" = "xyes" + + + fi + # if test "x${ac_cv_have_winsock2}" = "xyes" + + + fi + + ## AC_MSG_NOTICE([LIBS=${LIBS}]) + + ac_fn_c_check_header_compile "$LINENO" "winver.h" "ac_cv_header_winver_h" " + #include + +" +if test "x$ac_cv_header_winver_h" = xyes; then : + ac_cv_have_winver_h=yes +else + ac_cv_have_winver_h=no +fi + + + + if test "x${ac_cv_have_winver_h}" = "xyes" ; then + +$as_echo "#define HAVE_WINVER_H 1" >>confdefs.h + + fi + + for ac_header in toolhelp.h dos.h io.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$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 + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GetTickCount" >&5 +$as_echo_n "checking for GetTickCount... " >&6; } +if ${ac_cv_have_gettickcount+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + GetTickCount(); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + ac_cv_have_gettickcount=yes + +else + ac_cv_have_gettickcount=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: $ac_cv_have_gettickcount" >&5 +$as_echo "$ac_cv_have_gettickcount" >&6; } + + if test "x${ac_cv_have_gettickcount}" = "xyes" ; then + +$as_echo "#define HAVE_GETTICKCOUNT 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for QueryPerformanceCounter" >&5 +$as_echo_n "checking for QueryPerformanceCounter... " >&6; } +if ${ac_cv_have_queryperformancecounter+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + BOOL frequency_ok = 0; + BOOL counter_ok = 0; + LARGE_INTEGER frequency; + LARGE_INTEGER counter; + + frequency_ok = QueryPerformanceFrequency (&frequency); + counter_ok = QueryPerformanceCounter (&counter); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + ac_cv_have_queryperformancecounter=yes + +else + ac_cv_have_queryperformancecounter=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: $ac_cv_have_queryperformancecounter" >&5 +$as_echo "$ac_cv_have_queryperformancecounter" >&6; } + + + if test "x${ac_cv_have_queryperformancecounter}" = "xyes" ; then + +$as_echo "#define HAVE_QUERYPERFORMANCEFREQUENCY 1" >>confdefs.h + + +$as_echo "#define HAVE_QUERYPERFORMANCECOUNTER 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SleepEx" >&5 +$as_echo_n "checking for SleepEx... " >&6; } +if ${ac_cv_have_sleepex+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + SleepEx(1000,FALSE); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + ac_cv_have_sleepex=yes + +else + ac_cv_have_sleepex=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: $ac_cv_have_sleepex" >&5 +$as_echo "$ac_cv_have_sleepex" >&6; } + + if test "x${ac_cv_have_sleepex}" = "xyes" ; then + +$as_echo "#define HAVE_SLEEPEX 1" >>confdefs.h + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Yield" >&5 +$as_echo_n "checking for Yield... " >&6; } +if ${ac_cv_have_yield+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + Yield(); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + ac_cv_have_yield=yes + +else + ac_cv_have_yield=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: $ac_cv_have_yield" >&5 +$as_echo "$ac_cv_have_yield" >&6; } + + if test "x${ac_cv_have_yield}" = "xyes" ; then + +$as_echo "#define HAVE_YIELD 1" >>confdefs.h + + fi + + + ##AC_SEARCH_LIBS(_beginthread,[msvcrt,crtdll]) + + ac_fn_c_check_header_mongrel "$LINENO" "process.h" "ac_cv_header_process_h" "$ac_includes_default" +if test "x$ac_cv_header_process_h" = xyes; then : + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #if HAVE_WINBASE_H + #include + #endif + #include + +int +main () +{ + + _beginthread (0,0,0); + TerminateThread ((HANDLE) 0, 0); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + have_windows_thread_funcs=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi + + + + if test "x${have_windows_thread_funcs}" = "xyes" ; then + +$as_echo "#define HAVE_PROCESS_H 1" >>confdefs.h + + +$as_echo "#define HAVE__BEGINTHREAD 1" >>confdefs.h + + +$as_echo "#define HAVE_TERMINATETHREAD 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: Using Microsoft Windows Thread API." >&5 +$as_echo "$as_me: Using Microsoft Windows Thread API." >&6;} + with_posix_threads=no + + fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #if HAVE_WINBASE_H + #include + #endif + #if HAVE_PROCESS_H + #include + #endif + +int +main () +{ + + DWORD pid = GetCurrentProcessId(); + DWORD tid = GetCurrentThreadId(); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + have_getcurrentprocessid=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + if test "x${have_getcurrentprocessid}" = "xyes" ; then + +$as_echo "#define HAVE_GET_CURRENT_PROCESS_ID 1" >>confdefs.h + + +$as_echo "#define HAVE_GET_CURRENT_THREAD_ID 1" >>confdefs.h + + fi + +else +# if test "x${check_for_windows_stuff}" = "xyes" ; then + + +#if test "x${with_rtl_rtai}" = "xyes" ; then +# +# AC_LINUX_KERNEL_DIR +# +# AC_HAVE_RTLINUX +# +# if test "x${ac_cv_have_rtlinux}" = "xYES" -o "x${ac_cv_have_rtlinux}" = "xyes" -o "x${HAVE_RTL}" = "xYES" ; then +# +# CONFIGURED_STATIC_LIBRARIES="${CONFIGURED_STATIC_LIBRARIES} librcsrtl.a"; +# AC_MSG_NOTICE([CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}]); +# if test "x${enable_rtlmem}" = "xyes" ; then +# RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rtlnml.lo rtlmem.lo rtlinux_user_api_implement.lo" +# AC_DEFINE(ENABLE_RCS_RTLMEM,1,[Define to 1 if rtlmem support in rcslib is enabled.]) +# fi +# else +# +# AC_HAVE_RTAI +# +# if test "x${ac_cv_have_rtai}" = "xYES" -o "x${ac_cv_have_rtai}" = "xyes" -o "x${HAVE_RTAI}" = "xYES"; then +# CONFIGURED_STATIC_LIBRARIES="${CONFIGURED_STATIC_LIBRARIES} librcsrtai.a"; +# AC_MSG_NOTICE([CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}]); +# if test "x${enable_rtlmem}" = "xyes" ; then +# RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rtlnml.lo rtlmem.lo rtai_user_api_implement.lo" +# RCSRTAILIB_EXTRA_OBJS="rtlnml.o rtai_kernel_api_implement.o" +# ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS=${RCSLIB_EXTRA_OBJS}]) +# AC_DEFINE(ENABLE_RCS_RTLMEM,1,[Define to 1 if rtlmem support in rcslib is enabled.]) +# fi +# fi +#fi +#fi + + +# Checks for libraries. + +# Checks for header files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if ${ac_cv_header_sys_wait_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifndef WEXITSTATUS +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) +#endif +#ifndef WIFEXITED +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#endif + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_sys_wait_h=yes +else + ac_cv_header_sys_wait_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +$as_echo "$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then + +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h + +fi + + +if test "x${enable_sokintrf}" = "xyes" -a \ + "x${ac_cv_have_winsock}" != "xyes" -a \ + "x${ac_cv_have_winsock2}" != "xyes" ; then + +ac_fn_c_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes; then : + +$as_echo "#define HAVE_ARPA_INET_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" +if test "x$ac_cv_header_fcntl_h" = xyes; then : + +$as_echo "#define HAVE_FCNTL_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes; then : + +$as_echo "#define HAVE_NETDB_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes; then : + +$as_echo "#define HAVE_NETINET_IN_H 1" >>confdefs.h + +fi + + + + +ac_fn_c_check_header_mongrel "$LINENO" "linux/sockios.h" "ac_cv_header_linux_sockios_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_sockios_h" = xyes; then : + +$as_echo "#define HAVE_LINUX_SOCKIOS_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" +if test "x$ac_cv_header_inttypes_h" = xyes; then : + +$as_echo "#define HAVE_INTTYPES_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/file.h" "ac_cv_header_sys_file_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_file_h" = xyes; then : + +$as_echo "#define HAVE_SYS_FILE_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "ioctl.h" "ac_cv_header_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_ioctl_h" = xyes; then : + +$as_echo "#define HAVE_IOCTL_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioctl_h" = xyes; then : + +$as_echo "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h + +fi + + + +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 : + +$as_echo "#define HAVE_SYS_PARAM_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "uio.h" "ac_cv_header_uio_h" "$ac_includes_default" +if test "x$ac_cv_header_uio_h" = xyes; then : + +$as_echo "#define HAVE_UIO_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_uio_h" = xyes; then : + +$as_echo "#define HAVE_SYS_UIO_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "net/uio.h" "ac_cv_header_net_uio_h" "$ac_includes_default" +if test "x$ac_cv_header_net_uio_h" = xyes; then : + +$as_echo "#define HAVE_NET_UIO_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "socket.h" "ac_cv_header_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_socket_h" = xyes; then : + +$as_echo "#define HAVE_SOCKET_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes; then : + +$as_echo "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h + +fi + + + +# Jan-10-2012 moving to after sys/sockt.h in hopes of fixing MAC problem. +# Nov-10-2011 causes error message on MAC. +# Not sure if needed for anything else +ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" " +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_SOCKET_H +#include +#endif +#if HAVE_STANDARDS_H +#include +#endif + +" +if test "x$ac_cv_header_net_if_h" = xyes; then : + +$as_echo "#define HAVE_NET_IF_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_utsname_h" = xyes; then : + +$as_echo "#define HAVE_SYS_UTSNAME_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/systeminfo.h" "ac_cv_header_sys_systeminfo_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_systeminfo_h" = xyes; then : + +$as_echo "#define HAVE_SYS_SYSTEMINFO_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes; then : + +$as_echo "#define HAVE_SYS_TIME_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sched.h" "ac_cv_header_sched_h" "$ac_includes_default" +if test "x$ac_cv_header_sched_h" = xyes; then : + +$as_echo "#define HAVE_SCHED_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" +if test "x$ac_cv_header_syslog_h" = xyes; then : + +$as_echo "#define HAVE_SYSLOG_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default" +if test "x$ac_cv_header_termios_h" = xyes; then : + +$as_echo "#define HAVE_TERMIOS_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes; then : + +$as_echo "#define HAVE_UNISTD_H 1" >>confdefs.h + +fi + + + +if test "x${with_filio}" = "xyes" ; then + + ac_fn_c_check_header_mongrel "$LINENO" "filio.h" "ac_cv_header_filio_h" "$ac_includes_default" +if test "x$ac_cv_header_filio_h" = xyes; then : + +$as_echo "#define HAVE_FILIO_H 1" >>confdefs.h + +fi + + + + ac_fn_c_check_header_mongrel "$LINENO" "sys/filio.h" "ac_cv_header_sys_filio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_filio_h" = xyes; then : + +$as_echo "#define HAVE_SYS_FILIO_H 1" >>confdefs.h + +fi + + + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "standards.h" "ac_cv_header_standards_h" "$ac_includes_default" +if test "x$ac_cv_header_standards_h" = xyes; then : + +$as_echo "#define HAVE_STANDARDS_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_tcp_h" = xyes; then : + +$as_echo "#define HAVE_NETINET_TCP_H 1" >>confdefs.h + +else + +ac_fn_c_check_header_compile "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" " +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_SOCKET_H +#include +#endif +#if HAVE_STANDARDS_H +#include +#endif + +" +if test "x$ac_cv_header_netinet_tcp_h" = xyes; then : + +$as_echo "#define HAVE_NETINET_TCP_H_2 1" >>confdefs.h + +fi + + + +fi + + + + +for ac_header in sys/shm.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_shm_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_SHM_H 1 +_ACEOF + +fi + +done + + +fi +# if test "x${enable_sokintrf}" = "xyes" -a "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + + +fi +# if test "x${check_for_windows_stuff}" = "xyes" + + +if test "x${build_os}" = "xcygwin" -a "x${enable_xdr}" = "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: Using nt_xdr directory for cygwin." >&5 +$as_echo "$as_me: Using nt_xdr directory for cygwin." >&6;} + + ac_cv_have_xdr_h=yes; + CPPFLAGS="${CPPFLAGS} -I${srcdir}/src/nt_xdr -DCYGWIN=1"; + + { $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS : ${CPPFLAGS} " >&5 +$as_echo "$as_me: CPPFLAGS : ${CPPFLAGS} " >&6;} + + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} xdr.lo xdr_arra.lo xdr_floa.lo xdr_mem.lo xdr_rec.lo xdr_refe.lo xdr_stdi.lo"; + + { $as_echo "$as_me:${as_lineno-$LINENO}: RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS} " >&5 +$as_echo "$as_me: RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS} " >&6;} + + +elif test "x${enable_xdr}" = "xyes" ; then + + ac_fn_c_check_header_mongrel "$LINENO" "rpc/rpc.h" "ac_cv_header_rpc_rpc_h" "$ac_includes_default" +if test "x$ac_cv_header_rpc_rpc_h" = xyes; then : + ac_cv_have_rpc_rpc_h=yes +else + ac_cv_have_rpc_rpc_h=no +fi + + + + if test "x${ac_cv_have_rpc_rpc_h}" = "xyes" ; then + +$as_echo "#define HAVE_RPC_RPC_H 1" >>confdefs.h + + else + + ac_fn_c_check_header_mongrel "$LINENO" "rpc/types.h" "ac_cv_header_rpc_types_h" "$ac_includes_default" +if test "x$ac_cv_header_rpc_types_h" = xyes; then : + ac_cv_have_rpc_types_h=yes +else + ac_cv_have_rpc_types_h=no +fi + + + + if test "x${ac_cv_have_rpc_types_h}" = "xyes" ; then + +$as_echo "#define HAVE_RPC_TYPES_H 1" >>confdefs.h + + fi + + ac_fn_c_check_header_compile "$LINENO" "rpc/xdr.h" "ac_cv_header_rpc_xdr_h" " +# if HAVE_RPC_TYPES_H +# include +# endif + +" +if test "x$ac_cv_header_rpc_xdr_h" = xyes; then : + ac_cv_have_rpc_xdr_h=yes +else + ac_cv_have_rpc_xdr_h=no +fi + + + + if test "x${ac_cv_have_rpc_xdr_h}" = "xyes" ; then + +$as_echo "#define HAVE_RPC_XDR_H 1" >>confdefs.h + + fi + + ac_fn_c_check_header_mongrel "$LINENO" "xdr.h" "ac_cv_header_xdr_h" "$ac_includes_default" +if test "x$ac_cv_header_xdr_h" = xyes; then : + ac_cv_have_xdr_h=yes +else + ac_cv_have_xdr_h=no +fi + + + + if test "x${ac_cv_have_xdr_h}" = "xno" -a "x${ac_cv_have_rpc_rpc_h}" = "xno" -a "x${ac_cv_have_rpc_xdr_h}" = "xno" -a "x${check_for_windows_stuff}" = "xyes" ; then + + ac_cv_have_xdr_h=yes + CPPFLAGS="${CPPFLAGS} -I${srcdir}/src/nt_xdr"; + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} xdr.lo xdr_arra.lo xdr_floa.lo xdr_mem.lo xdr_rec.lo xdr_refe.lo xdr_stdi.lo"; + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + fi + + + # -- end of if -- test "x${ac_cv_have_rpc_rpc_h}" = "xyes" ; + fi + +fi + +# // if test test "x${enable_xdr}" = "xyes" + +if test "x${ac_cv_have_xdr_h}" = "xyes" ; then + +$as_echo "#define HAVE_XDR_H 1" >>confdefs.h + +fi + +for ac_header in sys/fcntl.h sys/stat.h sys/mman.h sys/sysinfo.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$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 + + + +if test "x${with_iostream}" = "xyes" ; then + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +for ac_header in iostream.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "iostream.h" "ac_cv_header_iostream_h" "$ac_includes_default" +if test "x$ac_cv_header_iostream_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_IOSTREAM_H 1 +_ACEOF + +fi + +done + + 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 + + +else + + +$as_echo "#define NO_IOSTREAM 1" >>confdefs.h + + +fi + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "#define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 +$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } +if ${ac_cv_header_time+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include + +int +main () +{ +if ((struct tm *) 0) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_time=yes +else + ac_cv_header_time=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 +$as_echo "$ac_cv_header_time" >&6; } +if test $ac_cv_header_time = yes; then + +$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if ${ac_cv_struct_tm+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include + +int +main () +{ +struct tm tm; + int *p = &tm.tm_sec; + return !p; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_struct_tm=time.h +else + ac_cv_struct_tm=sys/time.h +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +$as_echo "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then + +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "#define uid_t int" >>confdefs.h + + +$as_echo "#define gid_t int" >>confdefs.h + +fi + + +ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "$ac_includes_default" +if test "x$ac_cv_type_socklen_t" = xyes; then : + +$as_echo "#define HAVE_SOCKLEN_T_TYPE 1" >>confdefs.h + +fi + + + +ac_fn_c_check_type "$LINENO" "key_t" "ac_cv_type_key_t" " + +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_key_t" = xyes; then : + +$as_echo "#define HAVE_KEY_T_TYPE 1" >>confdefs.h + +fi + + + +ac_fn_c_check_type "$LINENO" "caddr_t" "ac_cv_type_caddr_t" " + +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_caddr_t" = xyes; then : + +$as_echo "#define HAVE_CADDR_T_TYPE 1" >>confdefs.h + +fi + + + +ac_fn_c_check_type "$LINENO" "struct iovec" "ac_cv_type_struct_iovec" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_iovec" = xyes; then : + +$as_echo "#define HAVE_STRUCT_IOVEC_TYPE 1" >>confdefs.h + +fi + + +ac_fn_c_check_type "$LINENO" "struct msghdr" "ac_cv_type_struct_msghdr" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_msghdr" = xyes; then : + +$as_echo "#define HAVE_STRUCT_MSGHDR_TYPE 1" >>confdefs.h + +fi + + + + +ac_fn_c_check_type "$LINENO" "struct sockaddr_in" "ac_cv_type_struct_sockaddr_in" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_sockaddr_in" = xyes; then : + +$as_echo "#define HAVE_STRUCT_SOCKADDR_IN_TYPE 1" >>confdefs.h + +fi + + +ac_fn_c_check_type "$LINENO" "struct sockaddr_storage" "ac_cv_type_struct_sockaddr_storage" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_sockaddr_storage" = xyes; then : + +$as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE_TYPE 1" >>confdefs.h + +fi + + + +ac_fn_c_check_type "$LINENO" "struct sockaddr_in6" "ac_cv_type_struct_sockaddr_in6" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_sockaddr_in6" = xyes; then : + +$as_echo "#define HAVE_STRUCT_SOCKADDR_IN6_TYPE 1" >>confdefs.h + +fi + + +ac_fn_c_check_type "$LINENO" "struct addrinfo" "ac_cv_type_struct_addrinfo" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NETDB_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_addrinfo" = xyes; then : + +$as_echo "#define HAVE_STRUCT_ADDRINFO_TYPE 1" >>confdefs.h + +fi + + + +ac_fn_c_check_type "$LINENO" "struct ifreq" "ac_cv_type_struct_ifreq" " +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_LINUX_SOCKIOS_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + + +" +if test "x$ac_cv_type_struct_ifreq" = xyes; then : + +$as_echo "#define HAVE_STRUCT_IFREQ_TYPE 1" >>confdefs.h + +fi + + + +if test "x${check_for_windows_stuff}" = "xyes" ; then + + + ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" " + #include + #if HAVE_WINSOCK2_H + #include + #endif + +" +if test "x$ac_cv_type_u_int" = xyes; then : + ac_cv_have_u_int=yes +else + ac_cv_have_u_int=no +fi + + + if test "x${ac_cv_have_u_int}" = "xyes" ; then + +$as_echo "#define HAVE_U_INT 1" >>confdefs.h + + fi + + ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" " + #include + #if HAVE_WINSOCK2_H + #include + #endif + +" +if test "x$ac_cv_type_u_short" = xyes; then : + ac_cv_have_u_short=yes +else + ac_cv_have_u_short=no +fi + + + if test "x${ac_cv_have_u_short}" = "xyes" ; then + +$as_echo "#define HAVE_U_SHORT 1" >>confdefs.h + + fi + + + ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" " + #include + #if HAVE_WINSOCK2_H + #include + #endif + +" +if test "x$ac_cv_type_u_long" = xyes; then : + ac_cv_have_u_long=yes +else + ac_cv_have_u_long=no +fi + + + if test "x${ac_cv_have_u_long}" = "xyes" ; then + +$as_echo "#define HAVE_U_LONG 1" >>confdefs.h + + fi + +else + ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" "$ac_includes_default" +if test "x$ac_cv_type_u_int" = xyes; then : + +fi + + ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" "$ac_includes_default" +if test "x$ac_cv_type_u_long" = xyes; then : + +fi + + ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" "$ac_includes_default" +if test "x$ac_cv_type_u_short" = xyes; then : + +fi + + +fi + + +# Checks for library functions. +if test $ac_cv_c_compiler_gnu = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 +$as_echo_n "checking whether $CC needs -traditional... " >&6; } +if ${ac_cv_prog_gcc_traditional+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_pattern="Autoconf.*'x'" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 +$as_echo "$ac_cv_prog_gcc_traditional" >&6; } + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + + +if test "x${enable_xdr}" = "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing xdrmem_create" >&5 +$as_echo_n "checking for library containing xdrmem_create... " >&6; } +if ${ac_cv_search_xdrmem_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 xdrmem_create (); +int +main () +{ +return xdrmem_create (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rpc rpcsvc xdr nsl rpcS; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_xdrmem_create=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_xdrmem_create+:} false; then : + break +fi +done +if ${ac_cv_search_xdrmem_create+:} false; then : + +else + ac_cv_search_xdrmem_create=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_xdrmem_create" >&5 +$as_echo "$ac_cv_search_xdrmem_create" >&6; } +ac_res=$ac_cv_search_xdrmem_create +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing xdr_short" >&5 +$as_echo_n "checking for library containing xdr_short... " >&6; } +if ${ac_cv_search_xdr_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 xdr_short (); +int +main () +{ +return xdr_short (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rpc rpcsvc xdr nsl rpcS; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_xdr_short=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_xdr_short+:} false; then : + break +fi +done +if ${ac_cv_search_xdr_short+:} false; then : + +else + ac_cv_search_xdr_short=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_xdr_short" >&5 +$as_echo "$ac_cv_search_xdr_short" >&6; } +ac_res=$ac_cv_search_xdr_short +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + +if test "x${enable_sokintrf}" = "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 +$as_echo_n "checking for library containing socket... " >&6; } +if ${ac_cv_search_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 socket (); +int +main () +{ +return socket (); + ; + return 0; +} +_ACEOF +for ac_lib in '' socket xnet ws2_32 winsock; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_socket=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_socket+:} false; then : + break +fi +done +if ${ac_cv_search_socket+:} false; then : + +else + ac_cv_search_socket=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 +$as_echo "$ac_cv_search_socket" >&6; } +ac_res=$ac_cv_search_socket +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fabs in -lm" >&5 +$as_echo_n "checking for fabs in -lm... " >&6; } +if ${ac_cv_lib_m_fabs+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 fabs (); +int +main () +{ +return fabs (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_fabs=yes +else + ac_cv_lib_m_fabs=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_m_fabs" >&5 +$as_echo "$ac_cv_lib_m_fabs" >&6; } +if test "x$ac_cv_lib_m_fabs" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 +for ac_lib in '' socket nsl resolv xnet; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break +fi +done +if ${ac_cv_search_gethostbyname+:} false; then : + +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +if test "x${with_librt}" = "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 clock_gettime (); +int +main () +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rt posix4 ; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : + +else + ac_cv_search_clock_gettime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 +$as_echo_n "checking for library containing shm_open... " >&6; } +if ${ac_cv_search_shm_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 shm_open (); +int +main () +{ +return shm_open (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_shm_open=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_shm_open+:} false; then : + break +fi +done +if ${ac_cv_search_shm_open+:} false; then : + +else + ac_cv_search_shm_open=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 +$as_echo "$ac_cv_search_shm_open" >&6; } +ac_res=$ac_cv_search_shm_open +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 clock_gettime (); +int +main () +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +for ac_lib in '' posix4 ; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : + +else + ac_cv_search_clock_gettime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing shm_open" >&5 +$as_echo_n "checking for library containing shm_open... " >&6; } +if ${ac_cv_search_shm_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 shm_open (); +int +main () +{ +return shm_open (); + ; + return 0; +} +_ACEOF +for ac_lib in '' posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_shm_open=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_shm_open+:} false; then : + break +fi +done +if ${ac_cv_search_shm_open+:} false; then : + +else + ac_cv_search_shm_open=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_shm_open" >&5 +$as_echo "$ac_cv_search_shm_open" >&6; } +ac_res=$ac_cv_search_shm_open +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +fi + +for ac_func in clock_gettime getcwd getenv setenv putenv gethostbyaddr gethostbyname gethostname gettimeofday getwd inet_ntoa inet_aton inet_ntop inet_pton getaddrinfo gai_strerror getnameinfo select socket sqrt strchr strcspn strdup strerror strpbrk strrchr strstr strtol strtoul toupper uname sysinfo sysconf sleep usleep nanosleep setitimer sincos fstat stat opendir readdir gethostbyname_r time localtime getsockopt setsockopt raise abort sync sched_yield kill fork send sendto sendmsg recv recvfrom recvmsg +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 + + +if test "x${enable_force_ipc_rm}" != "xyes" ; then + +$as_echo "#define NEVER_FORCE_IPC_RM 1" >>confdefs.h + +fi + +if test "x${with_snprintf}" = "xyes" ; then + for ac_func in snprintf _snprintf vsnprintf _vsnprintf +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 + +else + CPPFLAGS="${CPPFLAGS} -DNO_SNPRINTF=1"; + export CPPFLAGS; +fi + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + + ac_fn_c_check_func "$LINENO" "socketpair" "ac_cv_func_socketpair" +if test "x$ac_cv_func_socketpair" = xyes; then : + +$as_echo "#define HAVE_SOCKETPAIR 1" >>confdefs.h + +fi + + +fi + +if test "x${with_posix_threads}" = "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX threads" >&5 +$as_echo "$as_me: checking POSIX threads" >&6;} + + ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = xyes; then : + +$as_echo "#define HAVE_PTHREAD_H 1" >>confdefs.h + +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_pthread_create+:} 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_create (); +int +main () +{ +return pthread_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_create=yes +else + ac_cv_lib_pthread_pthread_create=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_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPTHREAD 1 +_ACEOF + + LIBS="-lpthread $LIBS" + +fi + + + ac_fn_c_check_func "$LINENO" "pthread_create" "ac_cv_func_pthread_create" +if test "x$ac_cv_func_pthread_create" = xyes; then : + ac_fn_c_check_func "$LINENO" "pthread_kill" "ac_cv_func_pthread_kill" +if test "x$ac_cv_func_pthread_kill" = xyes; then : + ac_fn_c_check_func "$LINENO" "pthread_join" "ac_cv_func_pthread_join" +if test "x$ac_cv_func_pthread_join" = xyes; then : + ac_fn_c_check_func "$LINENO" "pthread_exit" "ac_cv_func_pthread_exit" +if test "x$ac_cv_func_pthread_exit" = xyes; then : + +$as_echo "#define POSIX_THREADS 1" >>confdefs.h + + use_pthreads=yes + + +fi + + # AC_CHECK_FUNC pthread_exit + +fi + + # AC_CHECK_FUNC pthread_join + +fi + + # AC_CHECK_FUNC pthread_kill + +fi + + # AC_CHECK_FUNC pthread_create + +# with_posix_threads +fi + +if test "x${use_pthreads}" != "xyes" ; then + + if test "x${have_windows_thread_funcs}" != "xyes" ; then + + ac_fn_c_check_func "$LINENO" "fork" "ac_cv_func_fork" +if test "x$ac_cv_func_fork" = xyes; then : + ac_fn_c_check_func "$LINENO" "kill" "ac_cv_func_kill" +if test "x$ac_cv_func_kill" = xyes; then : + ac_fn_c_check_func "$LINENO" "waitpid" "ac_cv_func_waitpid" +if test "x$ac_cv_func_waitpid" = xyes; then : + can_use_fork=yes +fi + + +fi + +fi + + + if test "x${can_use_fork}" = "xyes" ; then + +$as_echo "#define NO_THREADS 1" >>confdefs.h + + else + as_fn_error $? "NO Threads implementation seems to be available +and even fork will not work." "$LINENO" 5 + fi + fi +fi + +if test "x${enable_shmem}" = "xyes" ; then + +windows_shared_memory_available=no; +sys_v_shared_memory_available=no; +posix_shared_memory_available=no; + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking System V shared memory" >&5 +$as_echo "$as_me: checking System V shared memory" >&6;} + + ac_fn_c_check_header_mongrel "$LINENO" "ipc.h" "ac_cv_header_ipc_h" "$ac_includes_default" +if test "x$ac_cv_header_ipc_h" = xyes; then : + +$as_echo "#define HAVE_IPC_H 1" >>confdefs.h + +fi + + + + ac_fn_c_check_header_mongrel "$LINENO" "shm.h" "ac_cv_header_shm_h" "$ac_includes_default" +if test "x$ac_cv_header_shm_h" = xyes; then : + +$as_echo "#define HAVE_SHM_H 1" >>confdefs.h + +fi + + + + + ac_fn_c_check_header_mongrel "$LINENO" "sys/ipc.h" "ac_cv_header_sys_ipc_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ipc_h" = xyes; then : + +$as_echo "#define HAVE_SYS_IPC_H 1" >>confdefs.h + +fi + + + + ac_fn_c_check_header_mongrel "$LINENO" "sys/shm.h" "ac_cv_header_sys_shm_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_shm_h" = xyes; then : + +$as_echo "#define HAVE_SYS_SHM_H 1" >>confdefs.h + +fi + + + + ac_fn_c_check_func "$LINENO" "shmget" "ac_cv_func_shmget" +if test "x$ac_cv_func_shmget" = xyes; then : + ac_fn_c_check_func "$LINENO" "shmctl" "ac_cv_func_shmctl" +if test "x$ac_cv_func_shmctl" = xyes; then : + ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = xyes; then : + ac_fn_c_check_func "$LINENO" "shmdt" "ac_cv_func_shmdt" +if test "x$ac_cv_func_shmdt" = xyes; then : + + sys_v_shared_memory_available=yes + +$as_echo "#define SYS_V_SHAREDMEM_AVAILABLE 1" >>confdefs.h + + +fi + +#shmdt + +fi + +#shmat + +fi + +#shmctl + +fi + +#shmget + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX shared memory" >&5 +$as_echo "$as_me: checking POSIX shared memory" >&6;} + +ac_fn_c_check_func "$LINENO" "shm_open" "ac_cv_func_shm_open" +if test "x$ac_cv_func_shm_open" = xyes; then : + ac_fn_c_check_func "$LINENO" "shm_unlink" "ac_cv_func_shm_unlink" +if test "x$ac_cv_func_shm_unlink" = xyes; then : + ac_fn_c_check_func "$LINENO" "ftruncate" "ac_cv_func_ftruncate" +if test "x$ac_cv_func_ftruncate" = xyes; then : + ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap" +if test "x$ac_cv_func_mmap" = xyes; then : + ac_fn_c_check_func "$LINENO" "munmap" "ac_cv_func_munmap" +if test "x$ac_cv_func_munmap" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking can use POSIX shared memory with mmap" >&5 +$as_echo_n "checking can use POSIX shared memory with mmap... " >&6; } + if test "$cross_compiling" = yes; then : + posix_shared_memory_available=yes + +$as_echo "#define POSIX_SHAREDMEM_AVAILABLE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not tested" >&5 +$as_echo "not tested" >&6; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#if HAVE_FCNTL_H +#include +#endif +#if HAVE_ERRNO_H +#include +#endif +#if HAVE_UNISTD_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_MMAN_H +#include +#endif + +#define SHMEM_TEST_NAME "/confshmtest" + +int main( int argc, char** argv ) +{ + int fd, fd2; + unsigned* addr; + unsigned* addr2; + + /* Create a new memory object */ + fd = shm_open( SHMEM_TEST_NAME , O_RDWR | O_CREAT, 0777 ); + if( fd == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd, (off_t)4 ) == -1 ) { + perror("ftruncate"); + } + + /* Map the memory object */ + addr = mmap( 0, sizeof( *addr ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd, 0 ); +#ifdef MAP_FAILED + if( addr == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr == 0) + { + perror("mmap"); + exit(1); + } + + + /* Write to shared memory */ + *addr = 12; + + /* Create a new memory object */ + fd2 = shm_open( SHMEM_TEST_NAME , O_RDWR, 0777 ); + if( fd2 == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd2, (off_t)4 ) == -1 ) { + perror("ftruncate"); + } + + /* Map the memory object */ + addr2 = mmap( 0, sizeof( *addr2 ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd2, 0 ); +#ifdef MAP_FAILED + if( addr2 == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr2 == 0) + { + perror("mmap"); + exit(1); + } + + /* Test to see that it has the value it is supposed to. */ + if(*addr2 != *addr) + { + fprintf(stderr,"memory areas do NOT match\n"); + exit(1); + } + + /* + * The memory object remains in + * the system after the close + */ + close( fd ); + close(fd2); + + /* + * To remove a memory object + * you must unlink it like a file. + * + * This may be done by another process. + */ + shm_unlink( SHMEM_TEST_NAME ); + + exit(0); +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + posix_shared_memory_available=yes + +$as_echo "#define POSIX_SHAREDMEM_AVAILABLE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + if test "$cross_compiling" = yes; then : + { { $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 test program while cross compiling +See \`config.log' for more details" "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#if HAVE_FCNTL_H +#include +#endif +#if HAVE_ERRNO_H +#include +#endif +#if HAVE_UNISTD_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_MMAN_H +#include +#endif + +#define SHMEM_TEST_NAME "/tmp/confshmtest" + +int main( int argc, char** argv ) +{ + int fd, fd2; + unsigned* addr; + unsigned* addr2; + + /* Create a new memory object */ + fd = shm_open( SHMEM_TEST_NAME , O_RDWR | O_CREAT, 0777 ); + if( fd == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd, sizeof( *addr ) ) == -1 ) { + perror("ftruncate"); + exit(1); + } + + /* Map the memory object */ + addr = mmap( 0, sizeof( *addr ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd, 0 ); +#ifdef MAP_FAILED + if( addr == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr == 0) + { + perror("mmap"); + exit(1); + } + + + /* Write to shared memory */ + *addr = 12; + +/* Create a new memory object */ + fd2 = shm_open( SHMEM_TEST_NAME , O_RDWR, 0777 ); + if( fd2 == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd2, sizeof( *addr ) ) == -1 ) { + perror("ftruncate"); + exit(1); + } + + /* Map the memory object */ + addr2 = mmap( 0, sizeof( *addr2 ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd2, 0 ); +#ifdef MAP_FAILED + if( addr2 == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr2 == 0) + { + perror("mmap"); + exit(1); + } + + /* Test to see that it has the value it is supposed to. */ + if(*addr2 != *addr) + { + fprintf(stderr,"memory areas do NOT match\n"); + exit(1); + } + + /* + * The memory object remains in + * the system after the close + */ + close( fd ); + close(fd2); + + /* + * To remove a memory object + * you must unlink it like a file. + * + * This may be done by another process. + */ + shm_unlink( SHMEM_TEST_NAME ); + + exit(0); +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +cat >>confdefs.h <<_ACEOF +#define POSIX_SHMEM_NAME_PREFIX \"/tmp\" +_ACEOF + + posix_shared_memory_available=yes + +$as_echo "#define POSIX_SHAREDMEM_AVAILABLE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes -- needs /tmp prefix" >&5 +$as_echo "yes -- needs /tmp prefix" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +# AC_TRY_RUN + +fi + +# AC_TRY_FUNC munmap + +fi + +# AC_TRY_FUNC mmap + +fi + +# AC_TRY_FUNC ftruncate + +fi + +# AC_TRY_FUNC shm_unlink + +fi + +# AC_TRY_FUNC shm_open + +fi +# "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + + +if test "x${posix_shared_memory_available}" = "xyes" -a "x${sys_v_shared_memory_available}" = "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: Both System V and Posix Shared_Memory are available" >&5 +$as_echo "$as_me: Both System V and Posix Shared_Memory are available" >&6;} + + if test x$with_posix_ipc = xyes -o x$with_sys_v_ipc = xno ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using POSIX Shared_Memory" >&5 +$as_echo "$as_me: Using POSIX Shared_Memory" >&6;} + +$as_echo "#define USE_POSIX_SHAREDMEM 1" >>confdefs.h + + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_shm_unlink$(EXEEXT)' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: Using System V Shared_Memory" >&5 +$as_echo "$as_me: Using System V Shared_Memory" >&6;} + +$as_echo "#define SYS_V_SHARED_MEMORY 1" >>confdefs.h + + fi + +else + + if test x$posix_shared_memory_available = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using POSIX Shared_Memory" >&5 +$as_echo "$as_me: Using POSIX Shared_Memory" >&6;} + +$as_echo "#define USE_POSIX_SHAREDMEM 1" >>confdefs.h + + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_shm_unlink$(EXEEXT)' + else + if test x$sys_v_shared_memory_available = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using System V Shared_Memory" >&5 +$as_echo "$as_me: Using System V Shared_Memory" >&6;} + +$as_echo "#define SYS_V_SHARED_MEMORY 1" >>confdefs.h + + else + if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Neither POSIX nor System V shared memory seem to be useable" >&5 +$as_echo "$as_me: Neither POSIX nor System V shared memory seem to be useable" >&6;}; + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking for windows shared memory." >&5 +$as_echo "$as_me: Checking for windows shared memory." >&6;} + windows_check_failed=false; + if test "x${check_for_windows_stuff}" != "xyes" ;then + windows_check_failed=true + fi + if test "x${windows_check_failed}" != "xtrue" ; then + ac_fn_c_check_header_compile "$LINENO" "winbase.h" "ac_cv_header_winbase_h" "#include +" +if test "x$ac_cv_header_winbase_h" = xyes; then : + +else + windows_check_failed=true +fi + + + fi + if test "x${windows_check_failed}" != "xtrue" ; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + SECURITY_ATTRIBUTES sa; + SECURITY_DESCRIPTOR sd; + size_t size=0x1000; + HANDLE hFileMap; + const char *name="config_test_shm"; + void *addr; + + InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); + sa.nLength = sizeof (SECURITY_ATTRIBUTES); + sa.lpSecurityDescriptor = &sd; + sa.bInheritHandle = TRUE; + + hFileMap = CreateFileMapping ((HANDLE) (0xFFFFFFFF), &sa, PAGE_READWRITE, 0,size, name); + addr=MapViewOfFile (hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, size); + UnmapViewOfFile(addr); + CloseHandle(hFileMap); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + +$as_echo "#define HAVE_INITIALIZESECURITYDESCRIPTOR 1" >>confdefs.h + + +$as_echo "#define HAVE_CREATEFILEMAPPING 1" >>confdefs.h + + +$as_echo "#define HAVE_MAPVEIWOFFILE 1" >>confdefs.h + + +$as_echo "#define HAVE_UNMAPVEIWOFFILE 1" >>confdefs.h + + +$as_echo "#define HAVE_CLOSEHANDLE 1" >>confdefs.h + + + +else + windows_check_failed=true +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + + if test "x${windows_check_failed}" != "xtrue" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: Using windows shared memory." >&5 +$as_echo "$as_me: Using windows shared memory." >&6;} + windows_shared_memory_available=yes + +$as_echo "#define MS_WINDOWS_API 1" >>confdefs.h + + else + as_fn_error $? "NO Shared Memory seems go be available. Consider --disable-shmem" "$LINENO" 5 + fi + fi + fi + +fi + +sys_v_semaphores_available=no +windows_semaphores_available=no +posix_semaphores_available=no + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking System V semaphores" >&5 +$as_echo "$as_me: checking System V semaphores" >&6;} +/ +ac_fn_c_check_header_mongrel "$LINENO" "sem.h" "ac_cv_header_sem_h" "$ac_includes_default" +if test "x$ac_cv_header_sem_h" = xyes; then : + +$as_echo "#define HAVE_SEM_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/sem.h" "ac_cv_header_sys_sem_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sem_h" = xyes; then : + +$as_echo "#define HAVE_SYS_SEM_H 1" >>confdefs.h + +fi + + + +ac_fn_c_check_func "$LINENO" "semget" "ac_cv_func_semget" +if test "x$ac_cv_func_semget" = xyes; then : + ac_fn_c_check_func "$LINENO" "semop" "ac_cv_func_semop" +if test "x$ac_cv_func_semop" = xyes; then : + ac_fn_c_check_func "$LINENO" "semctl" "ac_cv_func_semctl" +if test "x$ac_cv_func_semctl" = xyes; then : + + sys_v_semaphores_available=yes + +$as_echo "#define SYS_V_SEMAPHORES_AVAILABLE 1" >>confdefs.h + + +fi + +#semctl + +fi + +#semop + +fi + +#semget + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking POSIX semaphores" >&5 +$as_echo "$as_me: checking POSIX semaphores" >&6;} + +ac_fn_c_check_header_mongrel "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" +if test "x$ac_cv_header_semaphore_h" = xyes; then : + + +$as_echo "#define HAVE_SEMAPHORE_H 1" >>confdefs.h + +ac_fn_c_check_func "$LINENO" "sem_open " "ac_cv_func_sem_open_" +if test "x$ac_cv_func_sem_open_" = xyes; then : + ac_fn_c_check_func "$LINENO" "sem_wait" "ac_cv_func_sem_wait" +if test "x$ac_cv_func_sem_wait" = xyes; then : + ac_fn_c_check_func "$LINENO" "sem_trywait" "ac_cv_func_sem_trywait" +if test "x$ac_cv_func_sem_trywait" = xyes; then : + ac_fn_c_check_func "$LINENO" "sem_getvalue" "ac_cv_func_sem_getvalue" +if test "x$ac_cv_func_sem_getvalue" = xyes; then : + ac_fn_c_check_func "$LINENO" "sem_post" "ac_cv_func_sem_post" +if test "x$ac_cv_func_sem_post" = xyes; then : + ac_fn_c_check_func "$LINENO" "sem_close" "ac_cv_func_sem_close" +if test "x$ac_cv_func_sem_close" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking can use POSIX named semaphores" >&5 +$as_echo_n "checking can use POSIX named semaphores... " >&6; } + if test "$cross_compiling" = yes; then : + posix_semaphores_available=yes + +$as_echo "#define POSIX_SEMAPHORES_AVAILABLE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not tested" >&5 +$as_echo "not tested" >&6; } + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +/* There are two types of posix semaphores named and unnamed. + unamed semaphores can either have the pshared flag set or not + determining whether it can be shared between processes. Currently (12/27/02), +Linux +implements only unnamed posix semaphores that are not shared between +processes. This is useless to RCSLIB so on Linux System V semaphores +will be used instead. +*/ +#include +#include +#include + +int +main(int argc,const char **argv) +{ + sem_t *s; + s = sem_open("/sem_open_test.sem",O_CREAT,0777,1); + if(-1 == ((int)(s)) || 0 == s ) + { + if(errno == ENOSYS) + { + exit(-1); + } + } + else + { + sem_close(s); + } + exit(0); +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + posix_semaphores_available=yes + +$as_echo "#define POSIX_SEMAPHORES_AVAILABLE 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 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +#AC_TRY_RUN + +fi + +#AC_CHECK_FUNC sem_close + +fi + +#AC_CHECK_FUNC sem_post + +fi + +#AC_CHECK_FUNC sem_getvalue + +fi + +#AC_CHECK_FUNC sem_trywait + +fi + +#AC_CHECK_FUNC sem_wait + +fi + +#AC_CHECK_FUNC sem_open + +fi + + + +fi +# if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + +if test x$posix_semaphores_available = xyes -a x$sys_v_semaphores_available = xyes ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: Both System V and Posix Semaphores are available" >&5 +$as_echo "$as_me: Both System V and Posix Semaphores are available" >&6;} + + if test x$with_posix_ipc = xyes -o x$with_sys_v_ipc = xno ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using POSIX Semaphores" >&5 +$as_echo "$as_me: Using POSIX Semaphores" >&6;} + +$as_echo "#define POSIX_SEMAPHORES 1" >>confdefs.h + + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_sem_unlink$(EXEEXT)' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: Using System V Semaphores" >&5 +$as_echo "$as_me: Using System V Semaphores" >&6;} + +$as_echo "#define SYS_V_SEMAPHORES 1" >>confdefs.h + + fi + +else + + if test x$posix_semaphores_available = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using POSIX Semaphores" >&5 +$as_echo "$as_me: Using POSIX Semaphores" >&6;} + +$as_echo "#define POSIX_SEMAPHORES 1" >>confdefs.h + + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_sem_unlink$(EXEEXT)' + else + if test x$sys_v_semaphores_available = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using System V Semaphores" >&5 +$as_echo "$as_me: Using System V Semaphores" >&6;} + +$as_echo "#define SYS_V_SEMAPHORES 1" >>confdefs.h + + else + if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Neither POSIX nor System V semaphores seem to be useable" >&5 +$as_echo "$as_me: Neither POSIX nor System V semaphores seem to be useable" >&6;}; + fi + + if test "x${windows_shared_memory_available}" = "xyes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking for windows semaphores/mutexes." >&5 +$as_echo "$as_me: Checking for windows semaphores/mutexes." >&6;} + windows_check_failed=false; + if test "x${windows_check_failed}" != "xtrue" ; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + +int +main () +{ + + HANDLE handle; + HANDLE handle2; + SECURITY_ATTRIBUTES sa; + SECURITY_DESCRIPTOR sd; + + InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); + sa.nLength = sizeof (SECURITY_ATTRIBUTES); + sa.lpSecurityDescriptor = &sd; + sa.bInheritHandle = TRUE; + + handle=CreateMutex (&sa, FALSE,"config_test_mutex"); + + WaitForSingleObject (handle,1000); + ReleaseMutex (handle); + + handle2=OpenMutex (MUTEX_ALL_ACCESS, TRUE,"config_test_mutex"); + + CloseHandle(handle); + CloseHandle(handle2); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + # AC_DEFINE(HAVE_INITIALIZESECURITYDESCRIPTOR,[Define if you have the InitializeSecurityDescriptor function.]) + +$as_echo "#define HAVE_CREATEMUTEX 1" >>confdefs.h + + +$as_echo "#define HAVE_WAITFORSINGLEOBJECT 1" >>confdefs.h + + +$as_echo "#define HAVE_RELEASEMUTEX 1" >>confdefs.h + + +$as_echo "#define HAVE_OPENMUTEX 1" >>confdefs.h + + +else + windows_check_failed=true +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + if test "x${windows_check_failed}" != "xtrue" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Using windows semaphores." >&5 +$as_echo "$as_me: Using windows semaphores." >&6;} + windows_semaphores_available=yes; + else + as_fn_error $? "NO Semaphore/mutex seems go be available.Consider --disable-shmem" "$LINENO" 5 + fi + else + as_fn_error $? "NO Semaphore/mutex seems go be available. Consider --disable-shmem" "$LINENO" 5 + fi + fi + fi +fi + +ac_fn_c_check_type "$LINENO" "union semun" "ac_cv_type_union_semun" " +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_IPC_H +#include +#endif +#if HAVE_SYS_SEM_H +#include +#endif +static union semun semun_var; + +" +if test "x$ac_cv_type_union_semun" = xyes; then : + +$as_echo "#define HAVE_UNION_SEMUN 1" >>confdefs.h + +fi + + +fi +# end of if shmem enabled. + +if test "x${enable_shmem}" = "xyes" ; then + if test "x${windows_semaphores_available}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} win32_sem.lo" + else + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} unix_sem.lo" + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) +fi + +if test "x${enable_oe_instrf}" = "xyes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: LIBS=${LIBS}" >&5 +$as_echo "$as_me: LIBS=${LIBS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS=${LDFLAGS}" >&5 +$as_echo "$as_me: LDFLAGS=${LDFLAGS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS=${CPPFLAGS}" >&5 +$as_echo "$as_me: CPPFLAGS=${CPPFLAGS}" >&6;} + + ac_fn_c_check_header_mongrel "$LINENO" "oe.h" "ac_cv_header_oe_h" "$ac_includes_default" +if test "x$ac_cv_header_oe_h" = xyes; then : + + +$as_echo "#define HAVE_OE_H 1" >>confdefs.h + + +else + + as_fn_error $? "Can not include oe.h, either add a -I flag to the CPPFLAGS environment variable specifying the directory with OE C header files or reconfigure with --disable-oe_intrf" "$LINENO" 5 + +fi + + + for ac_header in toe_services.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "toe_services.h" "ac_cv_header_toe_services_h" "$ac_includes_default" +if test "x$ac_cv_header_toe_services_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TOE_SERVICES_H 1 +_ACEOF + +fi + +done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking for OE libraries" >&5 +$as_echo "$as_me: Checking for OE libraries" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lm" >&5 +$as_echo_n "checking for main in -lm... " >&6; } +if ${ac_cv_lib_m_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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_m_main=yes +else + ac_cv_lib_m_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_m_main" >&5 +$as_echo "$ac_cv_lib_m_main" >&6; } +if test "x$ac_cv_lib_m_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lrt" >&5 +$as_echo_n "checking for main in -lrt... " >&6; } +if ${ac_cv_lib_rt_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $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_rt_main=yes +else + ac_cv_lib_rt_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_rt_main" >&5 +$as_echo "$ac_cv_lib_rt_main" >&6; } +if test "x$ac_cv_lib_rt_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBRT 1 +_ACEOF + + LIBS="-lrt $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5 +$as_echo_n "checking for main in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_main+:} 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. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_nsl_main=yes +else + ac_cv_lib_nsl_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_nsl_main" >&5 +$as_echo "$ac_cv_lib_nsl_main" >&6; } +if test "x$ac_cv_lib_nsl_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBNSL 1 +_ACEOF + + LIBS="-lnsl $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpthread" >&5 +$as_echo_n "checking for main in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_main+:} 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. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_main=yes +else + ac_cv_lib_pthread_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_pthread_main" >&5 +$as_echo "$ac_cv_lib_pthread_main" >&6; } +if test "x$ac_cv_lib_pthread_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPTHREAD 1 +_ACEOF + + LIBS="-lpthread $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgnat" >&5 +$as_echo_n "checking for main in -lgnat... " >&6; } +if ${ac_cv_lib_gnat_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgnat $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_gnat_main=yes +else + ac_cv_lib_gnat_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_gnat_main" >&5 +$as_echo "$ac_cv_lib_gnat_main" >&6; } +if test "x$ac_cv_lib_gnat_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGNAT 1 +_ACEOF + + LIBS="-lgnat $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgnarl" >&5 +$as_echo_n "checking for main in -lgnarl... " >&6; } +if ${ac_cv_lib_gnarl_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgnarl $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_gnarl_main=yes +else + ac_cv_lib_gnarl_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_gnarl_main" >&5 +$as_echo "$ac_cv_lib_gnarl_main" >&6; } +if test "x$ac_cv_lib_gnarl_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGNARL 1 +_ACEOF + + LIBS="-lgnarl $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lutilities_Ada95" >&5 +$as_echo_n "checking for main in -lutilities_Ada95... " >&6; } +if ${ac_cv_lib_utilities_Ada95_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lutilities_Ada95 $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_utilities_Ada95_main=yes +else + ac_cv_lib_utilities_Ada95_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_utilities_Ada95_main" >&5 +$as_echo "$ac_cv_lib_utilities_Ada95_main" >&6; } +if test "x$ac_cv_lib_utilities_Ada95_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUTILITIES_ADA95 1 +_ACEOF + + LIBS="-lutilities_Ada95 $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgccprefix" >&5 +$as_echo_n "checking for main in -lgccprefix... " >&6; } +if ${ac_cv_lib_gccprefix_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgccprefix $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_gccprefix_main=yes +else + ac_cv_lib_gccprefix_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_gccprefix_main" >&5 +$as_echo "$ac_cv_lib_gccprefix_main" >&6; } +if test "x$ac_cv_lib_gccprefix_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGCCPREFIX 1 +_ACEOF + + LIBS="-lgccprefix $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lgmem" >&5 +$as_echo_n "checking for main in -lgmem... " >&6; } +if ${ac_cv_lib_gmem_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgmem $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_gmem_main=yes +else + ac_cv_lib_gmem_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_gmem_main" >&5 +$as_echo "$ac_cv_lib_gmem_main" >&6; } +if test "x$ac_cv_lib_gmem_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGMEM 1 +_ACEOF + + LIBS="-lgmem $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -loe_2_0_Ada95" >&5 +$as_echo_n "checking for main in -loe_2_0_Ada95... " >&6; } +if ${ac_cv_lib_oe_2_0_Ada95_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-loe_2_0_Ada95 $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_oe_2_0_Ada95_main=yes +else + ac_cv_lib_oe_2_0_Ada95_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_oe_2_0_Ada95_main" >&5 +$as_echo "$ac_cv_lib_oe_2_0_Ada95_main" >&6; } +if test "x$ac_cv_lib_oe_2_0_Ada95_main" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBOE_2_0_ADA95 1 +_ACEOF + + LIBS="-loe_2_0_Ada95 $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -loe_2_0_c" >&5 +$as_echo_n "checking for main in -loe_2_0_c... " >&6; } +if ${ac_cv_lib_oe_2_0_c_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-loe_2_0_c $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_oe_2_0_c_main=yes +else + ac_cv_lib_oe_2_0_c_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_oe_2_0_c_main" >&5 +$as_echo "$ac_cv_lib_oe_2_0_c_main" >&6; } +if test "x$ac_cv_lib_oe_2_0_c_main" = xyes; then : + + LIBS="-loe_2_0_c ${LIBS}"; + export LIBS; + +else + + as_fn_error $? "Can not find library liboe_2_0_c, either add a -L flag to LDFLAGS specifying the directory it should be found in or reconfigure to disable the OE interface.(without --enable-oe_intrf)" "$LINENO" 5 + +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: LIBS=${LIBS}" >&5 +$as_echo "$as_me: LIBS=${LIBS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS=${LDFLAGS}" >&5 +$as_echo "$as_me: LDFLAGS=${LDFLAGS}" >&6;} + + { $as_echo "$as_me:${as_lineno-$LINENO}: Searching for b~linkhelp.o in directories referenced in LDFLAGS=${LDFLAGS}" >&5 +$as_echo "$as_me: Searching for b~linkhelp.o in directories referenced in LDFLAGS=${LDFLAGS}" >&6;} + +( rm /tmp/rcslib_blink*.sh || echo ) >/dev/null 2>/dev/null + +cat >/tmp/rcslib_blink$$.sh </tmp/rcslib_blink$$.2.log >/tmp/rcslib_blink$$.1.log + + { $as_echo "$as_me:${as_lineno-$LINENO}: found ${blinkhelp_o}" >&5 +$as_echo "$as_me: found ${blinkhelp_o}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: check /tmp/rcslib_blink$$.sh /tmp/rcslib_blink$$.2.log /tmp/rcslib_blink$$.1.log if b~linkhelp.o location is wrong" >&5 +$as_echo "$as_me: check /tmp/rcslib_blink$$.sh /tmp/rcslib_blink$$.2.log /tmp/rcslib_blink$$.1.log if b~linkhelp.o location is wrong" >&6;} + + ac_fn_c_check_func "$LINENO" "adainit" "ac_cv_func_adainit" +if test "x$ac_cv_func_adainit" = xyes; then : + + +$as_echo "#define HAVE_ADAINIT 1" >>confdefs.h + + +fi + + + ac_fn_c_check_func "$LINENO" "adafinal" "ac_cv_func_adafinal" +if test "x$ac_cv_func_adafinal" = xyes; then : + + +$as_echo "#define HAVE_ADAFINAL 1" >>confdefs.h + + +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: LIBS=${LIBS}" >&5 +$as_echo "$as_me: LIBS=${LIBS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS=${LDFLAGS}" >&5 +$as_echo "$as_me: LDFLAGS=${LDFLAGS}" >&6;} + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_fn_cxx_check_header_mongrel "$LINENO" "oe.hh" "ac_cv_header_oe_hh" "$ac_includes_default" +if test "x$ac_cv_header_oe_hh" = xyes; then : + + +$as_echo "#define HAVE_OE_HH 1" >>confdefs.h + + +else + + as_fn_error $? "Can not include oe.hh, either add a -I flag to the CPPFLAGS environment variable specifying the directory with OE C++ header files or reconfigure without --enable-oe_intrf" "$LINENO" 5 + +fi + + + for ac_header in toe_services.hh +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "toe_services.hh" "ac_cv_header_toe_services_hh" "$ac_includes_default" +if test "x$ac_cv_header_toe_services_hh" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TOE_SERVICES_HH 1 +_ACEOF + +fi + +done + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -loe_2_0_cpp" >&5 +$as_echo_n "checking for main in -loe_2_0_cpp... " >&6; } +if ${ac_cv_lib_oe_2_0_cpp_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-loe_2_0_cpp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_oe_2_0_cpp_main=yes +else + ac_cv_lib_oe_2_0_cpp_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_oe_2_0_cpp_main" >&5 +$as_echo "$ac_cv_lib_oe_2_0_cpp_main" >&6; } +if test "x$ac_cv_lib_oe_2_0_cpp_main" = xyes; then : + + LIBS="-loe_2_0_cpp ${LIBS}"; + export LIBS; + +else + + as_fn_error $? "Can not find library liboe_2_0_cpp, either add a -L flag to LDFLAGS environment variable specifying the directory it should be found in or reconfigure to disable the OE interface. without --enable-oe_intrf. You may also want to check that the version of your C++ compiler ${CXX} is compatible with the version used to build liboe_2_0_cpp or search config.log for even more information." "$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 + + { $as_echo "$as_me:${as_lineno-$LINENO}: LIBS=${LIBS}" >&5 +$as_echo "$as_me: LIBS=${LIBS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS=${LDFLAGS}" >&5 +$as_echo "$as_me: LDFLAGS=${LDFLAGS}" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS=${CPPFLAGS}" >&5 +$as_echo "$as_me: CPPFLAGS=${CPPFLAGS}" >&6;} + +fi +# end of -- if test "x${enable_oe_intrf}" = "xyes" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 +$as_echo_n "checking whether the compiler implements namespaces... " >&6; } +if ${ac_cv_cxx_namespaces+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main () +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_cxx_namespaces=yes +else + ac_cv_cxx_namespaces=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + 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 + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 +$as_echo "$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +$as_echo "#define HAVE_NAMESPACES /**/" >>confdefs.h + +fi + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports ISO C++ standard library" >&5 +$as_echo_n "checking whether the compiler supports ISO C++ standard library... " >&6; } +if ${ac_cv_cxx_have_std+:} false; then : + $as_echo_n "(cached) " >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main () +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_cxx_have_std=yes +else + ac_cv_cxx_have_std=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + 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 + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_std" >&5 +$as_echo "$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +$as_echo "#define HAVE_STD /**/" >>confdefs.h + +fi + + +build_platform=autoconf-${build} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Setting build platform to ${build_platform}" >&5 +$as_echo "$as_me: Setting build platform to ${build_platform}" >&6;} + + +cat >>confdefs.h <<_ACEOF +#define BUILD_PLATFORM_FOR_TEST ${build_platform} +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define BUILD_PLATFORM "${build_platform}" +_ACEOF + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: CONFIGURED_PROGRAMS = ${CONFIGURED_PROGRAMS}" >&5 +$as_echo "$as_me: CONFIGURED_PROGRAMS = ${CONFIGURED_PROGRAMS}" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: EXTRA_CHECK_PROGRAMS = ${EXTRA_CHECK_PROGRAMS}" >&5 +$as_echo "$as_me: EXTRA_CHECK_PROGRAMS = ${EXTRA_CHECK_PROGRAMS}" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CONFIGURED_TESTS = ${CONFIGURED_TESTS}" >&5 +$as_echo "$as_me: CONFIGURED_TESTS = ${CONFIGURED_TESTS}" >&6;} +#AC_MSG_NOTICE([ CONFIGURED_STATIC_LIBRARIES = ${CONFIGURED_STATIC_LIBRARIES}]) +{ $as_echo "$as_me:${as_lineno-$LINENO}: CONFIGURED_SUBDIRS = ${CONFIGURED_SUBDIRS}" >&5 +$as_echo "$as_me: CONFIGURED_SUBDIRS = ${CONFIGURED_SUBDIRS}" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: RCSLIB_EXTRA_OBJS = ${RCSLIB_EXTRA_OBJS} " >&5 +$as_echo "$as_me: RCSLIB_EXTRA_OBJS = ${RCSLIB_EXTRA_OBJS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: RCSRTAILIB_EXTRA_OBJS = ${RCSRTAILIB_EXTRA_OBJS} " >&5 +$as_echo "$as_me: RCSRTAILIB_EXTRA_OBJS = ${RCSRTAILIB_EXTRA_OBJS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CPPFLAGS = ${CPPFLAGS} " >&5 +$as_echo "$as_me: CPPFLAGS = ${CPPFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CFLAGS = ${CFLAGS} " >&5 +$as_echo "$as_me: CFLAGS = ${CFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CXXFLAGS = ${CXXFLAGS} " >&5 +$as_echo "$as_me: CXXFLAGS = ${CXXFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: LDFLAGS = ${LDFLAGS} " >&5 +$as_echo "$as_me: LDFLAGS = ${LDFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: LIBS = ${LIBS} " >&5 +$as_echo "$as_me: LIBS = ${LIBS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CC = ${CC} " >&5 +$as_echo "$as_me: CC = ${CC} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: CXX = ${CXX} " >&5 +$as_echo "$as_me: CXX = ${CXX} " >&6;} + +#AM_CONDITIONAL(HAVE_RTL,[test "x${ac_cv_have_rtlinux}" = "xYES" -o "x${ac_cv_have_rtlinux}" = "xyes" -o "x${HAVE_RTL}" = "xYES"]) +#AM_CONDITIONAL(HAVE_RTAI,[test "x${ac_cv_have_rtai}" = "xYES" -o "x${ac_cv_have_rtai}" = "xyes" -o "x${HAVE_RTAI}" = "xYES"]) + +LTLIBOBJS="${RCSLIB_EXTRA_OBJS}" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: POSEMATH_CFLAGS = ${POSEMATH_CFLAGS} " >&5 +$as_echo "$as_me: POSEMATH_CFLAGS = ${POSEMATH_CFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: POSEMATH_CXXFLAGS = ${POSEMATH_CXXFLAGS} " >&5 +$as_echo "$as_me: POSEMATH_CXXFLAGS = ${POSEMATH_CXXFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: TEST_CFLAGS = ${TEST_CFLAGS} " >&5 +$as_echo "$as_me: TEST_CFLAGS = ${TEST_CFLAGS} " >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: TEST_CXXFLAGS = ${TEST_CXXFLAGS} " >&5 +$as_echo "$as_me: TEST_CXXFLAGS = ${TEST_CXXFLAGS} " >&6;} + + if test "x${TEST_CFLAGS}" != "x" -o "x${TEST_CXXFLAGS}" != "x"; then + TEST_FLAGS_SET_TRUE= + TEST_FLAGS_SET_FALSE='#' +else + TEST_FLAGS_SET_TRUE='#' + TEST_FLAGS_SET_FALSE= +fi + + + if test "x${POSEMATH_CFLAGS}" != "x" -o "x${POSEMATH_CXXFLAGS}" != "x"; then + POSEMATH_FLAGS_SET_TRUE= + POSEMATH_FLAGS_SET_FALSE='#' +else + POSEMATH_FLAGS_SET_TRUE='#' + POSEMATH_FLAGS_SET_FALSE= +fi + + + + + + + +#AC_SUBST(CONFIGURED_STATIC_LIBRARIES) + + + + + + + + + + +ac_config_files="$ac_config_files Makefile" + +ac_config_files="$ac_config_files rcslib.pc" + +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}' + +DEFS=-DHAVE_CONFIG_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 + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${TEST_FLAGS_SET_TRUE}" && test -z "${TEST_FLAGS_SET_FALSE}"; then + as_fn_error $? "conditional \"TEST_FLAGS_SET\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${POSEMATH_FLAGS_SET_TRUE}" && test -z "${POSEMATH_FLAGS_SET_FALSE}"; then + as_fn_error $? "conditional \"POSEMATH_FLAGS_SET\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${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 Real-Time Control System Library $as_me 2014.05.14, 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 + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_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 + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +Real-Time Control System Library config.status 2014.05.14 +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' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +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;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --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 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +nm_file_list_spec \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + + +_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 + "rcs_config.h") CONFIG_HEADERS="$CONFIG_HEADERS rcs_config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "rcslib.pc") CONFIG_FILES="$CONFIG_FILES rcslib.pc" ;; + + *) 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 + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +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" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +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 + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + 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 +s&@MKDIR_P@&$ac_MKDIR_P&;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 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and in which our libraries should be installed. +lt_sysroot=$lt_sysroot + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + +ltmain="$ac_aux_dir/ltmain.sh" + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + if test x"$xsi_shell" = xyes; then + sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ +func_dirname ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_basename ()$/,/^} # func_basename /c\ +func_basename ()\ +{\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ +func_dirname_and_basename ()\ +{\ +\ case ${1} in\ +\ */*) func_dirname_result="${1%/*}${2}" ;;\ +\ * ) func_dirname_result="${3}" ;;\ +\ esac\ +\ func_basename_result="${1##*/}"\ +} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ +func_stripname ()\ +{\ +\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ +\ # positional parameters, so assign one to ordinary parameter first.\ +\ func_stripname_result=${3}\ +\ func_stripname_result=${func_stripname_result#"${1}"}\ +\ func_stripname_result=${func_stripname_result%"${2}"}\ +} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ +func_split_long_opt ()\ +{\ +\ func_split_long_opt_name=${1%%=*}\ +\ func_split_long_opt_arg=${1#*=}\ +} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ +func_split_short_opt ()\ +{\ +\ func_split_short_opt_arg=${1#??}\ +\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ +} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ +func_lo2o ()\ +{\ +\ case ${1} in\ +\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ +\ *) func_lo2o_result=${1} ;;\ +\ esac\ +} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_xform ()$/,/^} # func_xform /c\ +func_xform ()\ +{\ + func_xform_result=${1%.*}.lo\ +} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_arith ()$/,/^} # func_arith /c\ +func_arith ()\ +{\ + func_arith_result=$(( $* ))\ +} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_len ()$/,/^} # func_len /c\ +func_len ()\ +{\ + func_len_result=${#1}\ +} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + +fi + +if test x"$lt_shell_append" = xyes; then + sed -e '/^func_append ()$/,/^} # func_append /c\ +func_append ()\ +{\ + eval "${1}+=\\${2}"\ +} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ +func_append_quoted ()\ +{\ +\ func_quote_for_eval "${2}"\ +\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ +} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: + + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 +$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} +fi + + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + 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 + + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..ea74f3a --- /dev/null +++ b/configure.ac @@ -0,0 +1,3663 @@ +%# +# $Id: configure.ac 2314 2014-05-14 19:51:25Z shackle $ +# + +# Process this file with autoconf to produce a configure script. +AC_INIT(Real-Time Control System Library, 2014.05.14, shackle@nist.gov, rcslib) +AM_INIT_AUTOMAKE +AC_CONFIG_SRCDIR([src/rcs.hh]) +AC_CONFIG_HEADERS([rcs_config.h]) +AM_MAINTAINER_MODE +AC_CONFIG_MACRO_DIR([m4]) + +AC_MSG_NOTICE([PLEASE READ THE INSTALL FILE]) +AC_MSG_NOTICE([ CPPFLAGS = ${CPPFLAGS} ]) +AC_MSG_NOTICE([ CFLAGS = ${CFLAGS} ]) +AC_MSG_NOTICE([ CXXFLAGS = ${CXXFLAGS} ]) +AC_MSG_NOTICE([ LDFLAGS = ${LDFLAGS} ]) +AC_MSG_NOTICE([ LIBS = ${LIBS} ]) +AC_MSG_NOTICE([ CC = ${CC} ]) +AC_MSG_NOTICE([ CXX = ${CXX} ]) +AC_MSG_NOTICE([ AR = ${AR} ]) + +if echo "x${CFLAGS}" | grep -- '-Werror' >/dev/null 2>/dev/null ; then + AC_MSG_NOTICE([CFLAGS contains -Werror : this frequently causes problems with configure]) + AC_MSG_NOTICE([add this option to CFLAGS= on the make command line instead.]) + CFLAGS=`echo " ${CFLAGS}" | sed s/-Werror//` +fi + +if echo "x${CXXFLAGS}" | grep -- '-Werror' >/dev/null 2>/dev/null ; then + AC_MSG_NOTICE([CXXFLAGS contains -Werror : this frequently causes problems with configure]) + AC_MSG_NOTICE([add this option to CXXFLAGS= on the make command line instead.]) + CXXFLAGS=`echo " ${CXXFLAGS}" | sed s/-Werror//` +fi + +AC_MSG_NOTICE([ CFLAGS = ${CFLAGS} ]) +AC_MSG_NOTICE([ CXXFLAGS = ${CXXFLAGS} ]) + +if echo "x${LDFLAGS} | grep 'L~' ; then + AC_MSG_WARN([LDFLAGS=${LDFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in LDFLAGS]) +fi + +if echo "x${CPPFLAGS} | grep 'I~' ; then + AC_MSG_WARN([CPPFLAGS=${CPPFLAGS} : tilde expansion for this variable is not fully supported. -- it is recommended that you rerun configure with only full absolute paths in CPPFLAGS]) +fi + +CONFIGURED_PROGRAMS='nmltest$(EXEEXT) nmlcfg$(EXEEXT) nmlclean$(EXEEXT) nml_packed_file_to_csv$(EXEEXT)' +#CONFIGURED_STATIC_LIBRARIES="" +CONFIGURED_SUBDIRS= +CONFIGURED_TESTS= +CONFIGURED_EXTRA_INCLUDES= +RCSLIB_EXTRA_OBJS= +RCSRTAILIB_EXTRA_OBJS= +RCSRTLLIB_EXTRA_OBJS= + +# Checks for programs. +AC_PROG_CXX(QCC g++ c++ CC cl cxx KCC cc++ egcs gcc cc) +AC_PROG_AWK +AC_PROG_CC(qcc gcc cc egcs cl) +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET +AC_PROG_LIBTOOL +AM_PROG_CC_C_O + +AC_ARG_WITH(posix_ipc, + [AC_HELP_STRING([--with-posix-ipc], + [Use POSIX IPC if both POSIX and System V are available (default=no)])], + [with_posix_ipc=$withval; + AC_MSG_NOTICE([with_posix_ipc=${with_posix_ipc}])], + [with_posix_ipc=no]) + +AC_ARG_WITH(snprintf, + [AC_HELP_STRING([--with-snprintf], + [Use snprintf instead of sprintf. (default=yes)])], + [with_snprintf=$withval; + AC_MSG_NOTICE([with_snprintf=${with_snprintf}])], + [with_snprintf=yes]) + +AC_ARG_WITH(filio, + [AC_HELP_STRING([--with-filio], + [Include filio.h (default=yes)])], + [with_filio=$withval; + AC_MSG_NOTICE([with_filio=${with_filio}])], + [with_filio=yes]) + +AC_ARG_WITH(winsock, + [AC_HELP_STRING([--with-winsock], + [Use winsock if available (default=yes)])], + [with_winsock=$withval; + AC_MSG_NOTICE([with_winsock=${with_winsock}])], + [with_winsock=yes]) + + +AC_ARG_WITH(windows, + [AC_HELP_STRING([--with-windows], + [Use MS Windows headers and functions if available (default=yes)])], + [with_windows=$withval; + AC_MSG_NOTICE([with_windows=${with_windows}])], + [with_windows=yes]) + +AC_ARG_WITH(winsock2, + [AC_HELP_STRING([--with-winsock2], + [Use winsock2 if available (default=yes)])], + [with_winsock2=$withval; + AC_MSG_NOTICE([with_winsock2=${with_winsock2}])], + [with_winsock2=yes]) + +AC_ARG_WITH(iostream, + [AC_HELP_STRING([--with-iostream], + [Use iostreams for printing posemath objects.(default=yes)])], + [with_iostream=$withval; + AC_MSG_NOTICE([with_iostream=${with_iostream}])], + [with_iostream=yes]) + +AC_ARG_WITH(sys_v_ipc, + [AC_HELP_STRING([--with-sys-v-ipc], + [Use System V IPC if both POSIX and System V are available (default=yes)])], + [with_sys_v_ipc=$withval; + AC_MSG_NOTICE([with_sys_v_ipc=${with_sys_v_ipc}])], + [with_sys_v_ipc=yes]) + +#AC_ARG_WITH(rtl_rtai, +# [AC_HELP_STRING([--with-rtl-rtai], +# [Check for rtlinux or rtai and provide support if found. (default=no)])], +# [with_rtl_rtai=$withval; +# AC_MSG_NOTICE([with_rtl_rtai=${with_rtl_rtai}])], +# [with_rtl_rtai=default_to_no]) + +AC_ARG_WITH(librt, + [AC_HELP_STRING([--with-librt], + [Check for librt and use if found. On some systems it provides clock_gettime() which may be more accurate than gettimeofday(). (default=yes)])], + [with_librt=$withval; + AC_MSG_NOTICE([with_librt=${with_librt}])], + [with_librt=yes]) + + +AC_ARG_WITH(posix_threads, + [AC_HELP_STRING([--with-posix_threads], + [Check for POSIX threads and use if found. (default=yes)])], + [with_posix_threads=$withval; + AC_MSG_NOTICE([with_posix_threads=${with_posix_threads}])], + [with_posix_threads=yes] + ) + + +AC_ARG_ENABLE(ALL, + [AC_HELP_STRING([--enable-ALL], + [Enable/Disable all the other features in one command. (default=no)])], + [ + enable_all=${enableval}; + AC_MSG_NOTICE([set_--enable-ALL = ${enableval}]) + ], + [enable_all=notset]) + + +AC_ARG_ENABLE(ALLJAVA, + [AC_HELP_STRING([--enable-ALLJAVA], + [Enable/Disable all java related features in one command. (default=no)])], + [ + enable_alljava=${enableval}; + AC_MSG_NOTICE([set_--enable-ALLJAVA = ${enable_alljava}]) + ], + [enable_alljava=notset]) + + +AC_ARG_ENABLE(codegen_jar, + [AC_HELP_STRING([--enable-codegen-jar], + [Build the CodeGenCmdLine.jar and rcs.jar. It requires java SDK.(default=no)])], + [enable_codegen_jar=$enableval; + AC_MSG_NOTICE([set_--enable-codegen_jar=$enableval])], + [enable_codegen_jar=default_to_no]) + + +AC_ARG_ENABLE(rcsdesign_jar, + [AC_HELP_STRING([--enable-rcsdesign-jar], + [Build the rcsDesign.jar. It requires java SDK.(default=no)])], + [enable_rcsdesign_jar=$enableval; + AC_MSG_NOTICE([set_--enable-rcsdesign_jar=$enableval])], + [enable_rcsdesign_jar=default_to_no]) + + +AC_ARG_ENABLE(force_ipc_rm, + [AC_HELP_STRING([--enable-force_ipc_rm], + [Enable code to force IPC resources to be removed, during cleanup.(default=no)])], + [enable_force_ipc_rm=$enableval; + AC_MSG_NOTICE([set_--enable-force_ipc_rm=$enableval])], + [enable_force_ipc_rm=yes]) + + +if test -f jtest.java ; then + rm jtest.java +fi + +if test -f jtest.class ; then + rm jtest.class +fi + +cat >jtest.java </dev/null 2>/dev/null ; then + enable_tty_default=yes; +fi + +fi +# test "x${ac_cv_exeext}" != "x" ; then + +java_cmd=`which java` +AC_MSG_NOTICE([java_cmd=${java_cmd}]) + +javac_cmd=`which javac` +AC_MSG_NOTICE([javac_cmd=${javac_cmd}]) + +if javac jtest.java && java jtest ; then + enable_java_jars_default=default_to_yes; +else + enable_java_jars_default=default_to_no; +fi + + +if test -f jtest.java ; then + rm jtest.java +fi + +if test -f jtest.class ; then + rm jtest.class +fi + +#echo enable_codegencmdline_jar_default=$enable_codegencmdline_jar_default + +AC_MSG_NOTICE([enable_java_jars_default=${enable_java_jars_default}]) + + +AC_ARG_ENABLE(codegencmdline_jar, + [AC_HELP_STRING([--enable-codegencmdline-jar], + [Build the CodeGenCmdLine.jar. It requires java SDK.])], + [enable_codegencmdline_jar=$enableval; + AC_MSG_NOTICE([set_--enable-codegencmdline_jar=$enableval])], + [enable_codegencmdline_jar=${enable_java_jars_default}]) + +#AC_ARG_ENABLE(diagapplet_jar, +# [AC_HELP_STRING([--enable-diagapplet-jar], +# [Build the diagapplet.jar, jdiag.jar, CodeGenCmdLine.jar, plotter.jar and rcs.jar. It requires java SDK.])], +# [enable_diagapplet_jar=$enableval; +# AC_MSG_NOTICE([set_--enable-diagapplet_jar=$enableval])], +# [enable_diagapplet_jar=${enable_java_jars_default}]) + +AC_ARG_ENABLE(diag_NB_jar, + [AC_HELP_STRING([--enable-diag_NB-jar], + [Build the diag_NB.jar, CodeGenCmdLine.jar, plotter_NB.jar and rcs.jar. It requires java SDK.])], + [enable_diag_NB_jar=$enableval; + AC_MSG_NOTICE([set_--enable-diag_NB_jar=$enableval])], + [enable_diag_NB_jar=${enable_java_jars_default}]) + +AC_ARG_ENABLE(rcs_jar, + [AC_HELP_STRING([--enable-rcs-jar], + [Build the rcs.jar. It requires java SDK.])], + [enable_rcs_jar=$enableval; + AC_MSG_NOTICE([set_--enable-rcs_jar=$enableval])], + [enable_rcs_jar=${enable_java_jars_default}]) + +AC_ARG_ENABLE(shmem, + [AC_HELP_STRING([--enable-shmem], + [Add shared memory support to CMS (default=yes)])], + [enable_shmem=$enableval; + AC_MSG_NOTICE([set_--enable-shmem=$enableval])], + [enable_shmem=default_to_yes]) + +# GLOBMEM is usually built only for VXWORKS using the old makefiles that +# do not use autoconf/configure, the only reason for the option here is for +# testing on Linux. In production only SHMEM should likely be used on +# linux. + +AC_ARG_ENABLE(globmem, + [AC_HELP_STRING([--enable-globmem], + [Add shared memory support to CMS (default=no)])], + [enable_globmem=$enableval; + AC_MSG_NOTICE([set_--enable-globmem=$enableval])], + [enable_globmem=default_to_no]) + +AC_ARG_ENABLE(filemem, + [AC_HELP_STRING([--enable-filemem], + [Add filemem support to CMS (default=no)])], + [enable_filemem=$enableval; + AC_MSG_NOTICE([set_--enable-filemem=$enableval])], + [enable_filemem=default_to_no]) + +AC_ARG_ENABLE(rtlmem, + [AC_HELP_STRING([--enable-rtlmem], + [Add rtlmem support to CMS (default=no)])], + [enable_rtlmem=$enableval; + AC_MSG_NOTICE([set_--enable-rtlmem=$enableval])], + [enable_rtlmem=default_to_no]) + +AC_ARG_ENABLE(locmem, + [AC_HELP_STRING([--enable-locmem], + [Add locmem support to CMS (default=no)])], + [enable_locmem=$enableval; + AC_MSG_NOTICE([set_--enable-locmem=$enableval])], + [enable_locmem=default_to_no]) + +AC_ARG_ENABLE(phantom, + [AC_HELP_STRING([--enable-phantom], + [Add phantom support to CMS (default=no)])], + [enable_phantom=$enableval; + AC_MSG_NOTICE([set_--enable-phantom=$enableval])], + [enable_phantom=default_to_no]) + +AC_ARG_ENABLE(stcp, + [AC_HELP_STRING([--enable-stcp], + [Add stcp support to CMS (default=yes)])], + [enable_stcp=$enableval; + AC_MSG_NOTICE([set_--enable-stcp=$enableval])], + [enable_stcp=default_to_yes]) + +AC_ARG_ENABLE(tcp, + [AC_HELP_STRING([--enable-tcp], + [Add tcp support to CMS (default=yes)])], + [enable_tcp=$enableval; + AC_MSG_NOTICE([set_--enable-tcp=$enableval])], + [enable_tcp=default_to_yes]) + +AC_ARG_ENABLE(udp, + [AC_HELP_STRING([--enable-udp], + [Add udp support to CMS (default=yes)])], + [enable_udp=$enableval; + AC_MSG_NOTICE([set_--enable-udp=$enableval])], + [enable_udp=default_to_yes]) + +AC_ARG_ENABLE(gdrs_im, + [AC_HELP_STRING([--enable-gdrs_im], + [Add gdrs_im support to CMS (default=yes)])], + [enable_gdrs_im=$enableval; + AC_MSG_NOTICE([set_--enable-gdrs_im=$enableval])], + [enable_gdrs_im=default_to_no]) + +AC_ARG_ENABLE(tty, + [AC_HELP_STRING([--enable-tty], + [Add tty (serial port) support to CMS])], + [enable_tty=$enableval; + AC_MSG_NOTICE([set_--enable-tty=$enableval])], + [enable_tty=${enable_tty_default}]) + +AC_ARG_ENABLE(http, + [AC_HELP_STRING([--enable-http], + [Add http support to CMS, also enables XML (default=yes)])], + [enable_http=$enableval; + AC_MSG_NOTICE([set_--enable-http=$enableval])], + [enable_http=default_to_no]) + +AC_ARG_ENABLE(xml, + [AC_HELP_STRING([--enable-xml], + [Add XML support to CMS (default=yes)])], + [enable_xml=$enableval; + AC_MSG_NOTICE([set_--enable-xml=$enableval])], + [enable_xml=default_to_yes]) + +AC_ARG_ENABLE(xdr, + [AC_HELP_STRING([--enable-xdr], + [Add XDR (eXternal Data Representation) support to CMS (default=yes)])], + [enable_xdr=$enableval; + AC_MSG_NOTICE([set_--enable-xdr=$enableval])], + [enable_xdr=default_to_yes]) + +AC_ARG_ENABLE(packed, + [AC_HELP_STRING([--enable-packed], + [Add PACKED (a custom neutral data representation) support to CMS (default=yes)])], + [enable_packed=$enableval; + AC_MSG_NOTICE([set_--enable-packed=$enableval])], + [enable_packed=default_to_yes]) + +AC_ARG_ENABLE(packedl64, + [AC_HELP_STRING([--enable-packedl64], + [Add PACKEDL64 (a custom neutral data representation using 64bits for longs/unsigned longs) support to CMS (default=yes)])], + [enable_packedl64=$enableval; + AC_MSG_NOTICE([set_--enable-packedl64=$enableval])], + [enable_packedl64=default_to_yes]) + +AC_ARG_ENABLE(long_long, + [AC_HELP_STRING([--enable-long_long], + [Add LONG_LONG (a custom neutral data representation) support to CMS (default=yes)])], + [enable_long_long=$enableval; + AC_MSG_NOTICE([set_--enable-long_long=$enableval])], + [enable_long_long=default_to_yes]) + +AC_ARG_ENABLE(disp, + [AC_HELP_STRING([--enable-disp], + [Add disp support to CMS, allows the use of the comma seperated ascii format and the msg2str and str2msg functions. (default=yes)])], + [enable_disp=$enableval; + AC_MSG_NOTICE([set_--enable-disp=$enableval])], + [enable_disp=default_to_yes]) + +AC_ARG_ENABLE(diag, + [AC_HELP_STRING([--enable-diag], + [Add some low level diagnostics support to CMS (default=no)])], + [enable_diag=$enableval; + AC_MSG_NOTICE([set_--enable-diag=$enableval])], + [enable_diag=default_to_no]) + +AC_ARG_ENABLE(print, + [AC_HELP_STRING([--enable-print], + [Include the RCS print support, without it no debug or error messages will be printed or logged. (default=yes)])], + [enable_print=$enableval; + AC_MSG_NOTICE([set_--enable-print=$enableval])], + [enable_print=default_to_yes]) + + +AC_ARG_ENABLE(debug_print, + [AC_HELP_STRING([--enable-debug_print], + [Include the RCS debug print support, without it no debug messages will be printed or logged errors are still printed. (default=no)])], + [enable_debug_print=$enableval; + AC_MSG_NOTICE([set_--enable-debug_print=$enableval])], + [enable_debug_print=default_to_no]) + +AC_ARG_ENABLE(nmlqr, + [AC_HELP_STRING([--enable-nmlqr], + [Add some NML Query/Reply features.(default=no)])], + [enable_nmlqr=$enableval; + AC_MSG_NOTICE([set_--enable-nmlqr=$enableval])], + [enable_nmlqr=default_to_no]) + +AC_ARG_ENABLE(cms_mrpq, + [AC_HELP_STRING([--enable-cms_mrpq], + [Add support for multireader and priority queues.(default=no)])], + [enable_cms_mrpq=$enableval; + AC_MSG_NOTICE([set_--enable-cms_mrpq=$enableval])], + [enable_cms_mrpq=default_to_no]) + +AC_ARG_ENABLE(crypt, + [AC_HELP_STRING([--enable-crypt], + [Add some simple cryptography support, needed for any NML server using passwords. (default=no)])], + [enable_crypt=$enableval; + AC_MSG_NOTICE([set_--enable-crypt=$enableval])], + [enable_crypt=default_to_no]) + +AC_ARG_ENABLE(server, + [AC_HELP_STRING([--enable-server], + [ADD support for building/spawning NML servers. (default=yes)])], + [enable_server=$enableval; + AC_MSG_NOTICE([set_--enable-server=$enableval])], + [enable_server=default_to_yes]) + +AC_ARG_ENABLE(sokintrf, + [AC_HELP_STRING([--enable-sokintrf], + [Add some simple socket support support, needed for TCP,UDP,HTTP etc. (default=yes)])], + [enable_sokintrf=$enableval; + AC_MSG_NOTICE([set_--enable-sokintrf=${enableval}])], + [enable_sokintrf=default_to_yes]) + +AC_ARG_ENABLE(oe_intrf, + [AC_HELP_STRING([--enable-oe_intrf], + [Add support for using US Army WSTAWG OE interface. (NOTES: This is not enabled by --enable-ALL and must be explicitly enabled. This is experimental. It uses a C++ binding with TARDEC/DCS extensions. It is incompatible with enabling shared library versions of librcs.)(default=no)])], + [enable_oe_intrf=$enableval; + AC_MSG_NOTICE([set_--enable-oe_intrf=${enableval}]) + ], + [enable_oe_intrf=default_to_no]) + +AC_ARG_ENABLE(inifile, + [AC_HELP_STRING([--enable-inifile], + [Add some simple .ini file reading support.(default=yes)])], + [enable_inifile=$enableval; + AC_MSG_NOTICE([set_--enable-inifile=${enableval}])], + [enable_inifile=default_to_yes]) + +AC_ARG_ENABLE(c_binding, + [AC_HELP_STRING([--enable-c_binding], + [Add support for pure C binding.(default=yes)])], + [enable_c_binding=$enableval; + AC_MSG_NOTICE([set_--enable-c_binding=${enableval}])], + [enable_c_binding=default_to_yes]) + +AC_ARG_ENABLE(posemath_in_rcslib, + [AC_HELP_STRING([--enable-posemath_in_rcslib], + [Include the objects for posemath in the rcslib for backwards compatibility and simpler linking, even with this disabled they still get built and placed in libposemath. This is not affected by --enable-ALL or --disable-ALL. (default=no)])], + [enable_posemath_in_rcslib=$enableval; + AC_MSG_NOTICE([set_--enable-posemath_in_rcslib=$enableval])], + [enable_posemath_in_rcslib=no]) + +AC_ARG_ENABLE(nmlmod, + [AC_HELP_STRING([--enable-nmlmod], + [Include the objects for NML_MODULE, RCS_CMD_MSG, and RCS_STAT_MSG needed by programs built with the RCS Design tool.(default=yes)])], + [enable_nmlmod=$enableval; + AC_MSG_NOTICE([set_--enable-nmlmod=$enableval])], + [enable_nmlmod=default_to_yes]) + +AC_ARG_ENABLE(xsd2nmlh, + [AC_HELP_STRING([--enable-xsd2nmlh], + [Build the xsd2nmlh program. (default=yes)])], + [enable_xsd2nmlh=$enableval; + AC_MSG_NOTICE([set_--enable-xsd2nmlh=$enableval])], + [enable_xsd2nmlh=default_to_yes]) + +AC_ARG_ENABLE(nmlcfgsvr, + [AC_HELP_STRING([--enable-nmlcfgsvr], + [Build the nmlcfgsvr program. (default=yes)])], + [enable_nmlcfgsvr=$enableval; + AC_MSG_NOTICE([set_--enable-nmlcfgsvr=$enableval])], + [enable_nmlcfgsvr=default_to_yes]) + +AC_ARG_ENABLE(oedm_xml2nmlh, + [AC_HELP_STRING([--enable-oedm_xml2nmlh], + [Build the oedm_xml2nmlh program. (default=no)])], + [enable_oedm_xml2nmlh=$enableval; + AC_MSG_NOTICE([set_--enable-oedm_xml2nmlh=$enableval])], + [enable_oedm_xml2nmlh=default_to_no]) + +#if test "x${with_rtl_rtai}" = "xdefault_to_yes" ; then +# if ( uname -s | grep -i linux ) >/dev/null 2>/dev/null ; then +# if ( test "x${host}" = "x" ) || (echo ${host} | grep -i linux ) ; then +# with_rtl_rtai=yes; +# fi +# fi +#fi + +#if test "x${with_rtl_rtai}" = "xdefault_to_yes" ; then +# with_rtl_rtai=no; +#fi + +#if test "x${with_rtl_rtai}" = "xdefault_to_no" ; then +# with_rtl_rtai=no; +#fi + +if test '(' "x${enable_rcs_jar}" = "xdefault_to_no" -o \ + "x${enable_rcs_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_rcs_jar=${enable_alljava}; +fi + +if test '(' "x${enable_codegen_jar}" = "xdefault_to_no" -o \ + "x${enable_codegen_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_codegen_jar=${enable_alljava}; +fi + +if test '(' "x${enable_rcsdesign_jar}" = "xdefault_to_no" -o \ + "x${enable_rcsdesign_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_rcsdesign_jar=${enable_alljava}; +fi + +if test '(' "x${enable_codegencmdline_jar}" = "xdefault_to_no" -o \ + "x${enable_codegencmdline_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_codegencmdline_jar=${enable_alljava}; +fi + +#if test '(' "x${enable_diagapplet_jar}" = "xdefault_to_no" -o \ +# "x${enable_diagapplet_jar}" = "xdefault_to_yes" ')' -a \ +# '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then +# enable_diagapplet_jar=${enable_alljava}; +#fi + +if test '(' "x${enable_diag_NB_jar}" = "xdefault_to_no" -o \ + "x${enable_diag_NB_jar}" = "xdefault_to_yes" ')' -a \ + '(' "x${enable_alljava}" = "xyes" -o "x${enable_alljava}" = "xno" ')' ; then + enable_diag_NB_jar=${enable_alljava}; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rcs_jar=yes; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_codegen_jar=yes; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rcsdesign_jar=yes; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_codegencmdline_jar=yes; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then +# enable_diagapplet_jar=yes; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_diag_NB_jar=yes; +fi + +if test "x${enable_filemem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_filemem=yes; +fi + +if test "x${enable_xml}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xml=yes; +fi + +if test "x${enable_xdr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xdr=yes; +fi + +if test "x${enable_packed}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_packed=yes; +fi + +if test "x${enable_long_long}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_long_long=yes; +fi + +if test "x${enable_packedl64}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_packedl64=yes; +fi + +if test "x${enable_disp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_disp=yes; +fi + +if test "x${enable_diag}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_diag=yes; +fi + +if test "x${enable_print}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_print=yes; +fi + +if test "x${enable_debug_print}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_debug_print=yes; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlqr=yes; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_cms_mrpq=yes; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_xsd2nmlh=yes; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlcfgsvr=yes; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_oedm_xml2nmlh=yes; +fi + +if test "x${enable_locmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_locmem=yes; +fi + +if test "x${enable_phantom}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_phantom=yes; +fi + +if test "x${enable_shmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_shmem=yes; +fi + +if test "x${enable_globmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_globmem=yes; +fi + +if test "x${enable_stcp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_stcp=yes; +fi + +if test "x${enable_tcp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_tcp=yes; +fi + +if test "x${enable_udp}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_udp=yes; +fi + +if test "x${enable_tty}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_tty=yes; +fi + +if test "x${enable_crypt}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_crypt=yes; +fi + +if test "x${enable_http}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_http=yes; +fi + + +if test "x${enable_nmlmod}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_nmlmod=yes; +fi + +if test "x${enable_server}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_server=yes; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_sokintrf=yes; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_rtlmem=yes; +fi + +if test "x${enable_inifile}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_no" -a "x${enable_all}" = "xyes" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rcs_jar=no; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_codegen_jar=no; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rcsdesign_jar=no; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_codegencmdline_jar=no; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then +# enable_diagapplet_jar=no; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_diag_NB_jar=no; +fi + +if test "x${enable_filemem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_filemem=no; +fi + +if test "x${enable_xml}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xml=no; +fi + +if test "x${enable_xdr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xdr=no; +fi + +if test "x${enable_packed}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_packed=no; +fi + +if test "x${enable_long_long}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_long_long=no; +fi + +if test "x${enable_packedl64}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_packedl64=no; +fi + +if test "x${enable_disp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_disp=no; +fi + +if test "x${enable_diag}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_diag=no; +fi + +if test "x${enable_print}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_print=no; +fi + +if test "x${enable_debug_print}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_debug_print=no; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlqr=no; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_cms_mrpq=no; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_xsd2nmlh=no; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlcfgsvr=no; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_oedm_xml2nmlh=no; +fi + +if test "x${enable_locmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_locmem=no; +fi + +if test "x${enable_phantom}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_phantom=no; +fi + +if test "x${enable_shmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_shmem=no; +fi + +if test "x${enable_globmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_globmem=no; +fi + +if test "x${enable_stcp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_stcp=no; +fi + +if test "x${enable_tcp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_tcp=no; +fi + +if test "x${enable_udp}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_udp=no; +fi + +if test "x${enable_tty}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_tty=no; +fi + +if test "x${enable_crypt}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_crypt=no; +fi + +if test "x${enable_http}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_http=no; +fi + + +if test "x${enable_nmlmod}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_nmlmod=no; +fi + +if test "x${enable_server}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_server=no; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_sokintrf=no; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_rtlmem=no; +fi + +if test "x${enable_inifile}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_yes" -a "x${enable_all}" = "xno" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_yes" ; then + enable_rcs_jar=yes; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_yes" ; then + enable_codegen_jar=yes; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_yes" ; then + enable_rcsdesign_jar=yes; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_yes" ; then + enable_codegencmdline_jar=yes; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_yes" ; then +# enable_diagapplet_jar=yes; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_yes" ; then + enable_diag_NB_jar=yes; +fi + +if test "x${enable_filemem}" = "xdefault_to_yes" ; then + enable_filemem=yes; +fi + +if test "x${enable_xml}" = "xdefault_to_yes" ; then + enable_xml=yes; +fi + +if test "x${enable_xdr}" = "xdefault_to_yes" ; then + enable_xdr=yes; +fi + +if test "x${enable_packed}" = "xdefault_to_yes" ; then + enable_packed=yes; +fi + +if test "x${enable_packedl64}" = "xdefault_to_yes" ; then + enable_packedl64=yes; +fi + +if test "x${enable_long_long}" = "xdefault_to_yes" ; then + enable_long_long=yes; +fi + +if test "x${enable_disp}" = "xdefault_to_yes" ; then + enable_disp=yes; +fi + +if test "x${enable_diag}" = "xdefault_to_yes" ; then + enable_diag=yes; +fi + +if test "x${enable_print}" = "xdefault_to_yes" ; then + enable_print=yes; +fi + +if test "x${enable_debug_print}" = "xdefault_to_yes" ; then + enable_debug_print=yes; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_yes" ; then + enable_nmlqr=yes; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_yes" ; then + enable_cms_mrpq=yes; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_yes" ; then + enable_xsd2nmlh=yes; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_yes" ; then + enable_nmlcfgsvr=yes; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_yes" ; then + enable_oedm_xml2nmlh=yes; +fi + +if test "x${enable_locmem}" = "xdefault_to_yes" ; then + enable_locmem=yes; +fi + +if test "x${enable_phantom}" = "xdefault_to_yes" ; then + enable_phantom=yes; +fi + +if test "x${enable_shmem}" = "xdefault_to_yes" ; then + enable_shmem=yes; +fi + +if test "x${enable_globmem}" = "xdefault_to_yes" ; then + enable_globmem=yes; +fi + +if test "x${enable_stcp}" = "xdefault_to_yes" ; then + enable_stcp=yes; +fi + +if test "x${enable_tcp}" = "xdefault_to_yes" ; then + enable_tcp=yes; +fi + +if test "x${enable_udp}" = "xdefault_to_yes" ; then + enable_udp=yes; +fi + +if test "x${enable_tty}" = "xdefault_to_yes" ; then + enable_tty=yes; +fi + +if test "x${enable_crypt}" = "xdefault_to_yes" ; then + enable_crypt=yes; +fi + +if test "x${enable_http}" = "xdefault_to_yes" ; then + enable_http=yes; +fi + +if test "x${enable_posemath_in_rcslib}" = "xdefault_to_yes" ; then + enable_posemath_in_rcslib=yes; +fi + +if test "x${enable_nmlmod}" = "xdefault_to_yes" ; then + enable_nmlmod=yes; +fi + +if test "x${enable_server}" = "xdefault_to_yes" ; then + enable_server=yes; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_yes" ; then + enable_sokintrf=yes; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_yes" ; then + enable_oe_intrf=yes; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_yes" ; then + enable_rtlmem=yes; +fi + +if test "x${enable_inifile}" = "xdefault_to_yes" ; then + enable_inifile=yes; +fi + +if test "x${enable_c_binding}" = "xdefault_to_yes" ; then + enable_c_binding=yes; +fi + +if test "x${enable_rcs_jar}" = "xdefault_to_no" ; then + enable_rcs_jar=no; +fi + +if test "x${enable_codegen_jar}" = "xdefault_to_no" ; then + enable_codegen_jar=no; +fi + +if test "x${enable_rcsdesign_jar}" = "xdefault_to_no" ; then + enable_rcsdesign_jar=no; +fi + +if test "x${enable_codegencmdline_jar}" = "xdefault_to_no" ; then + enable_codegencmdline_jar=no; +fi + +#if test "x${enable_diagapplet_jar}" = "xdefault_to_no" ; then +# enable_diagapplet_jar=no; +#fi + +if test "x${enable_diag_NB_jar}" = "xdefault_to_no" ; then + enable_diag_NB_jar=no; +fi + +if test "x${enable_filemem}" = "xdefault_to_no" ; then + enable_filemem=no; +fi + +if test "x${enable_xml}" = "xdefault_to_no" ; then + enable_xml=no; +fi + +if test "x${enable_xdr}" = "xdefault_to_no" ; then + enable_xdr=no; +fi + +if test "x${enable_packed}" = "xdefault_to_no" ; then + enable_packed=no; +fi + +if test "x${enable_packedl64}" = "xdefault_to_no" ; then + enable_packedl64=no; +fi + +if test "x${enable_long_long}" = "xdefault_to_no" ; then + enable_long_long=no; +fi + +if test "x${enable_disp}" = "xdefault_to_no" ; then + enable_disp=no; +fi + +if test "x${enable_diag}" = "xdefault_to_no" ; then + enable_diag=no; +fi + +if test "x${enable_print}" = "xdefault_to_no" ; then + enable_print=no; +fi + +if test "x${enable_debug_print}" = "xdefault_to_no" ; then + enable_debug_print=no; +fi + +if test "x${enable_nmlqr}" = "xdefault_to_no" ; then + enable_nmlqr=no; +fi + +if test "x${enable_cms_mrpq}" = "xdefault_to_no" ; then + enable_cms_mrpq=no; +fi + +if test "x${enable_xsd2nmlh}" = "xdefault_to_no" ; then + enable_xsd2nmlh=no; +fi + +if test "x${enable_nmlcfgsvr}" = "xdefault_to_no" ; then + enable_nmlcfgsvr=no; +fi + +if test "x${enable_oedm_xml2nmlh}" = "xdefault_to_no" ; then + enable_oedm_xml2nmlh=no; +fi + +if test "x${enable_locmem}" = "xdefault_to_no" ; then + enable_locmem=no; +fi + +if test "x${enable_phantom}" = "xdefault_to_no" ; then + enable_phantom=no; +fi + +if test "x${enable_shmem}" = "xdefault_to_no" ; then + enable_shmem=no; +fi + +if test "x${enable_globmem}" = "xdefault_to_no" ; then + enable_globmem=no; +fi + +if test "x${enable_stcp}" = "xdefault_to_no" ; then + enable_stcp=no; +fi + +if test "x${enable_tcp}" = "xdefault_to_no" ; then + enable_tcp=no; +fi + +if test "x${enable_udp}" = "xdefault_to_no" ; then + enable_udp=no; +fi + +if test "x${enable_tty}" = "xdefault_to_no" ; then + enable_tty=no; +fi + +if test "x${enable_crypt}" = "xdefault_to_no" ; then + enable_crypt=no; +fi + +if test "x${enable_http}" = "xdefault_to_no" ; then + enable_http=no; +fi + +if test "x${enable_posemath_in_rcslib}" = "xdefault_to_no" ; then + enable_posemath_in_rcslib=no; +fi + +if test "x${enable_nmlmod}" = "xdefault_to_no" ; then + enable_nmlmod=no; +fi + +if test "x${enable_server}" = "xdefault_to_no" ; then + enable_server=no; +fi + +if test "x${enable_sokintrf}" = "xdefault_to_no" ; then + enable_sokintrf=no; +fi + +if test "x${enable_oe_intrf}" = "xdefault_to_no" ; then + enable_oe_intrf=no; +fi + +if test "x${enable_rtlmem}" = "xdefault_to_no" ; then + enable_rtlmem=no; +fi + +if test "x${enable_inifile}" = "xdefault_to_no" ; then + enable_inifile=no; +fi + +if test "x${enable_c_binding}" = "xdefault_to_no" ; then + enable_c_binding=no; +fi + +if test "x${enable_print}" != "xyes" ; then + enable_xsd2nmlh=no; + AC_MSG_NOTICE([Disabling xs2dnmlh since enable_print not set.]) +fi + +if test "x${enable_xsd2nmlh}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'xsd2nmlh$(EXEEXT)' + AC_MSG_NOTICE([CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}]) +fi + +## Do we have pkg-config? +## If we're cross-compiling, pretend we don't have pkg-config, because it +## will do the wrong thing (i.e., identify packages on the build systems +## instead of the host system). +if test "$host" = "$build"; then + AC_CHECK_PROG(have_pkg_config,pkg-config,yes,no) +else + have_pkg_config=no +fi +if test "x$have_pkg_config" != "xno"; then + ## Also, add /usr/local/lib/pkgconfig, because on + ## some platforms, pkg-config won't look there by default. + export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH +fi + +if test "x${enable_nmlcfgsvr}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlcfgsvr$(EXEEXT)' + EXTRA_CHECK_PROGRAMS="${EXTRA_CHECK_PROGRAMS} "nml_test_nmlset'$(EXEEXT)' + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}]) + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlcfgsvr_clntcalls.lo nmlset.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_NMLCFGSVR,1,[Define to 1 if nmlcfgsvr is enabled.]) + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support nmlcfgsvr]) + fi + if test "x${enable_stcp}" != "xyes" ; then + enable_stcp=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support stcp]) + fi + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_nmlcfgsvr.sh" +fi + +if test "x${enable_oedm_xml2nmlh}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'oedm_xml2nmlh$(EXEEXT)' + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS=${CONFIGURED_PROGRAMS}]) +fi + +if test "x${enable_filemem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} filemem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_FILEMEM,1,[Define to 1 if filemem is enabled.]) + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_filemem.sh" +fi + +if test "x${enable_shmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} shmem.lo _shm.lo shm.lo sem.lo memsem.lo autokey.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_SHMEM,1,[Define to 1 if shmem is enabled.]) + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_shmem.sh" +fi + +# GLOBMEM is usually built only for VXWORKS using the old makefiles that +# do not use autoconf/configure, the only reason for the option here is for +# testing on Linux. In production only SHMEM should likely be used on +# linux. +if test "x${enable_globmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} globmem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_GLOBMEM,1,[Define to 1 if globmem is enabled.]) + # CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_globmem.sh" +fi + +CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_extras.sh" + +if test "x${enable_posemath_in_rcslib}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} _posemath.lo mathprnt.lo sincos.lo posemath.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) +fi + +if test "x${enable_nmlmod}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nml_mod.lo cmd_msg.lo stat_msg.lo nml_oi.lo stat_msg_v2_n.lo timetracker_n.lo timetracker_c_n.lo timetracker.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_NMLMOD,1,[Define to 1 if nmlmod is enabled.]) +fi + + +if test "x${enable_inifile}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} inifile.lo _inifile.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_INIFILE,1,[Define to 1 if inifile support in rcslib is enabled.]) +fi + +if test "x${enable_c_binding}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlcms_c.lo posemath_c_n.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_C_BINDING,1,[Define to 1 if pure C binding support in rcslib is enabled.]) +fi + +if test "x${enable_http}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} httpnml.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} http_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support http]) + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_HTTP,1,[Define to 1 if http support in rcslib is enabled.]) + if test "x${enable_xml}" != "xyes" ; then + enable_xml=yes + AC_MSG_NOTICE([xml had to be enabled to support http]) + fi +fi + +if test "x${enable_tty}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} ttymem.lo tty_srv.lo ttyintf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_TTY,1,[Define to 1 if tty support in rcslib is enabled.]) + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'ttytest$(EXEEXT)' +fi + +if test "x${enable_locmem}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} locmem.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_LOCMEM,1,[Define to 1 if locmem support in rcslib is enabled.]) + if test "x${enable_tcp}" = "xyes" -a "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_locmem_tcp_packed.sh" + fi +fi + + +if test "x${enable_phantom}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} phantom.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_PHANTOMMEM,1,[Define to 1 if phantommem support in rcslib is enabled.]) +fi + + +if test "x${enable_stcp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} stcpmem.lo sendline.lo recvline.lo stcpopts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} stcpsvr.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support stcp]) + fi + if test "x${enable_disp}" != "xyes" ; then + enable_disp=yes + AC_MSG_NOTICE([disp had to be enabled to support stcp]) + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_STCP,1,[Define to 1 if stcp support in rcslib is enabled.]) + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_stcpdisp.sh" +# if test "x${enable_xml}" = "xyes" ; then +# CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_stcpxml.sh" +# fi +fi + + + +if test "x${enable_tcp}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlGetRemoteTcpServerBufferList$(EXEEXT)' + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'nmlGetRemoteTcpServerBufferInfo$(EXEEXT)' + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} tcpmem.lo sendn.lo recvn.lo tcp_opts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} tcp_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support tcp]) + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_TCP,1,[Define to 1 if tcp support in rcslib is enabled.]) + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpraw.sh" + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpxdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcppacked.sh" + fi + if test "x${enable_xml}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_tcpxml.sh" + fi +fi + + +if test "x${enable_udp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} udpmem.lo sendmsgt.lo recvmsgt.lo udp_opts.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} udp_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support udp]) + fi + AC_DEFINE(ENABLE_RCS_UDP,1,[Define to 1 if udp support in rcslib is enabled.]) + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_udpxdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_udppacked.sh" + fi +fi + + +if test "x${enable_gdrs_im}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} gdrs_im_clnt.lo" + if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} gdrs_im_srv.lo" + fi + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support gdrs_im]) + fi + AC_DEFINE(ENABLE_RCS_GDRS_IM,1,[Define to 1 if gdrs_im support in rcslib is enabled.]) + if test "x${enable_xdr}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_gdrs_im_xdr.sh" + fi + if test "x${enable_packed}" = "xyes" ; then + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_gdrs_im_packed.sh" + fi +fi + +if test "x${enable_crypt}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} crypt2.lo" + AC_DEFINE(ENABLE_RCS_CRYPT2,1,[Define to 1 if crypt2 support in rcslib is enabled.]) +fi + +if test "x${enable_xml}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_xml_up.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_XML,1,[Define to 1 if xml support in rcslib is enabled.]) +fi + +if test "x${enable_xdr}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_xup.lo extxdrintf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_XDR,1,[Define to 1 if xdr support in rcslib is enabled.]) +fi + +if test "x${enable_packed}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_pup.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_PACKED_UP,1,[Define to 1 if packed encoding support in rcslib is enabled.]) + + if test "x${enable_packedl64}" = "xyes" ; then + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_PACKEDL64,1,[Define to 1 if packedl64 encoding support in rcslib is enabled.]) + fi + +fi + +if test "x${enable_long_long}" = "xyes" ; then + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_LONG_LONG_UP,1,[Define to 1 if long long update support in rcslib is enabled.]) +fi + + +if test "x${enable_disp}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_dup.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_DISP,1,[Define to 1 if disp support in rcslib is enabled.]) +fi + +if test "x${enable_diag}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cmsdiag.lo nmldiag.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_DIAG,1,[Define to 1 if diag support in rcslib is enabled.]) +fi + + +if test "x${enable_print}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rcs_prnt.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_PRNT,1,[Define to 1 if rcs_prnt support in rcslib is enabled.]) +else + CPPFLAGS="${CPPFLAGS} -DDISABLE_RCS_PRINT" + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) +fi + +if test "x${enable_debug_print}" != "xyes" ; then + CPPFLAGS="${CPPFLAGS} -DDISABLE_RCS_DEBUG_PRINT" + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) +fi + +if test "x${enable_nmlqr}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} nmlqr.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_NMLQR,1,[Define to 1 if nmlqr support in rcslib is enabled.]) +fi + +if test "x${enable_cms_mrpq}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_mrpq.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_CMS_MRPQ,1,[Define to 1 if nmlqr support in rcslib is enabled.]) +fi + +if test "x${enable_server}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} cms_srv.lo nml_srv.lo cmssvrp.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_SERVER,1,[Define to 1 if server support in rcslib is enabled.]) + if test "x${enable_sokintrf}" != "xyes" ; then + enable_sokintrf=yes + AC_MSG_NOTICE([sokintrf had to be enabled to support server]) + fi +fi + +if test "x${enable_sokintrf}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} sokintrf.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_SOKINTRF,1,[Define to 1 if sokintrf support in rcslib is enabled.]) +fi + +if test "x${enable_oe_intrf}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} oemem.lo oemque.lo oedsto.lo" + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + AC_DEFINE(ENABLE_RCS_OE_INTRF,1,[Define to 1 if sokintrf support in rcslib is enabled.]) + CONFIGURED_TESTS="${CONFIGURED_TESTS} \$(srcdir)/etc/check_testnml_oemem.sh" +fi + +if test "x${enable_diag_NB_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' diag_NB.jar$(EXEEXT) plotter_NB.jar$(EXEEXT) CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT) pvjscript.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +#elif test "x${enable_diagapplet_jar}" = "xyes" ; then +# CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' diagapplet.jar$(EXEEXT) jdiag.jar$(EXEEXT) plotter.jar$(EXEEXT) CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; +# ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +elif test "x${enable_codegen_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) +elif test "x${enable_codegencmdline_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' CodeGenCmdLine.jar$(EXEEXT) rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +elif test "x${enable_rcs_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' rcs.jar$(EXEEXT)'; + ## AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + +fi + +if test "x${enable_rcsdesign_jar}" = "xyes" ; then + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "' rcsDesign.jar$(EXEEXT)'; + ## +fi + +AC_MSG_NOTICE([CONFIGURED_PROGRAMS : ${CONFIGURED_PROGRAMS}]) + + +AC_HEADER_STDC +AC_CHECK_HEADERS([stdio.h stdarg.h stdlib.h stddef.h math.h errno.h time.h sys/errno.h ctype.h limits.h values.h float.h signal.h memory.h string.h strings.h]) +AC_HEADER_DIRENT + +if test "x${CC}" = "xgcc" ; then + if echo "x${CFLAGS}" | grep -v -- '-O' >/dev/null 2>/dev/null ; then + CFLAGS="${CFLAGS} -O2" + fi +fi + +if test "x${CXX}" = "xg++" ; then + if echo "x${CXXFLAGS}" | grep -v -- '-O' >/dev/null 2>/dev/null ; then + CXXFLAGS="${CXXFLAGS} -O2" + fi +fi + +if test "x${enable_oe_intrf}" = "xyes" -a "x${enable_shared}" = "xyes" ; then + AC_MSG_ERROR([Building shared libraries must be disabled with --disable-shared when the OE interface is enabled.]) +fi + +if test "x${enable_oe_intrf}" = "xyes" -a "x${enable_static}" != "xyes" ; then + AC_MSG_ERROR([Building static libraries must be enabled with --enable-static when the OE interface is enabled.]) +fi + +check_for_windows_stuff=no + +AC_MSG_NOTICE([with_windows : ${with_windows}]) + +if test "x${with_windows}" = "xyes" ; then + AC_CHECK_HEADER([windows.h],[check_for_windows_stuff=yes]) +fi + + + +cat >putenv_test.cc < + +int main(int argc,const char **argv) +{ +putenv((char *)"ENV_VAR=ENV_VAL"); +} +EOF + + +if g++ -Wall -Werror putenv_test.cc > /dev/null ; then + AC_DEFINE(PUTENV_OK_IN_CPLUSPLUS,1,[Define to 1 if putenv ok to use in c++ source.]) + \rm -f putenv_test.cc +else + (set -x ; g++ -Wall -Werror putenv_test.cc ) +fi + + + +cat >snprintf_test.cc < +#include +#include +#include + +int main(int argc,char **argv) +{ + char *buf=(char *) malloc(200); + snprintf(buf,200,"stuff"); +} +EOF + + +if g++ -Wall -Werror snprintf_test.cc > /dev/null ; then + AC_DEFINE(SNPRINTF_OK_IN_CPLUSPLUS,1,[Define to 1 if snprintf ok to use in c++ source.]) + \rm -f snprintf_test.cc +else + (set -x ; g++ -Wall -Werror snprintf_test.cc ) + CPPFLAGS="${CPPFLAGS} -DNO_SNPRINTF=1"; + export CPPFLAGS; +fi + +AC_MSG_NOTICE([check_for_windows_stuff : ${check_for_windows_stuff}]) + + +if test "x${check_for_windows_stuff}" = "xyes" ; then + AC_DEFINE(HAVE_WINDOWS_H,1,[Define to 1 if you have windows.h]) + + if test "x${enable_sokintrf}" = "xyes" ; then + + ORIG_LIBS=${LIBS} + + AC_MSG_NOTICE([with_winsock2 : ${with_winsock2}]) + + if test "x${with_winsock2}" = "xyes" ; then + + if test "x${build_os}" = "xcygwin" ; then + ac_cv_have_winsock2=yes; + LIBS="${LIBS} -lws2_32"; + ac_cv_can_link_ws2_32=yes; + # the test for having winsock2.h will fail because of stupid + # unistd problem but we need it anyway. + else + AC_CHECK_HEADER([winsock2.h], + [ + LIBS="${LIBS} -lws2_32" + AC_CACHE_CHECK([can link ws2_32], + ac_cv_can_link_ws2_32, + [ + AC_TRY_LINK( + [ + #include + #include + ], + [ + short winsock_version; + WSADATA startup_data; + winsock_version = MAKEWORD (2, 0); + WSAStartup(winsock_version, &startup_data); + WSAGetLastError(); + socket (AF_INET, SOCK_STREAM, 0); + ], + [ + ac_cv_can_link_ws2_32=yes; + ], + [ + ac_cv_can_link_ws2_32=no; + ] + ) + ac_cv_have_winsock2=${ac_cv_can_link_ws2_32}; + ]) + ], + [ac_cv_have_winsock2=no] + ) + fi + + else + ac_cv_have_winsock2=no; + + fi + # if test "${with_winsock2}" = "xyes" ; then + + ## AC_MSG_NOTICE([ac_cv_have_winsock2=${ac_cv_have_winsock2}]) + + + if test "x${ac_cv_have_winsock2}" = "xyes" ; then + AC_DEFINE(HAVE_WINSOCK2_H,1,[Define to 1 you have a working winsock2.h and ws2_32.lib system.]) + ## AC_MSG_NOTICE([LIBS=${LIBS}]) + else + + AC_MSG_NOTICE([with_winsock : ${with_winsock}]) + + if test "x${with_winsock}" = "xyes" ; then + + LIBS=${ORIG_LIBS} + + AC_CHECK_HEADER([winsock.h], + [ + LIBS="${LIBS} -lwsock32" + AC_TRY_LINK( + [ + #include + #include + ], + [ + short winsock_version; + WSADATA startup_data; + + winsock_version = MAKEWORD (2, 0); + WSAStartup(winsock_version, &startup_data); + WSAGetLastError(); + socket (AF_INET, SOCK_STREAM, 0); + ], + [ac_cv_have_winsock=yes], + [ + ac_cv_have_winsock=no; + ] + ) + ], + [ac_cv_have_winsock=no] + ) + + + if test "x${ac_cv_have_winsock}" = "xyes" ; then + AC_DEFINE(HAVE_WINSOCK_H,1, [Define to 1 you have a working winsock.h and wsock32.lib system.]) + else + LIBS=${ORIG_LIBS}; + fi + + + fi + # test "${with_winsock}" = "xyes" + + + fi + # if test "x${ac_cv_have_winsock2}" = "xyes" + + + fi + + ## AC_MSG_NOTICE([LIBS=${LIBS}]) + + AC_CHECK_HEADER([winver.h], + [ac_cv_have_winver_h=yes], + [ac_cv_have_winver_h=no], + [ + #include + ]) + + if test "x${ac_cv_have_winver_h}" = "xyes" ; then + AC_DEFINE(HAVE_WINVER_H,1,[Define to 1 if there is a working version of winver.h]) + fi + + AC_CHECK_HEADERS([toolhelp.h dos.h io.h]) + + AC_CACHE_CHECK([for GetTickCount], + ac_cv_have_gettickcount, + [ + AC_TRY_LINK([ + #include + #include + ], + [ + GetTickCount(); + ], + [ + ac_cv_have_gettickcount=yes + ], + [ac_cv_have_gettickcount=no]) + ] + ) + + if test "x${ac_cv_have_gettickcount}" = "xyes" ; then + AC_DEFINE(HAVE_GETTICKCOUNT,1,[Define to 1 if you have the GetTickCount function.]) + fi + + AC_CACHE_CHECK([for QueryPerformanceCounter], + ac_cv_have_queryperformancecounter, + [ + AC_TRY_LINK([ + #include + #include + ], + [ + BOOL frequency_ok = 0; + BOOL counter_ok = 0; + LARGE_INTEGER frequency; + LARGE_INTEGER counter; + + frequency_ok = QueryPerformanceFrequency (&frequency); + counter_ok = QueryPerformanceCounter (&counter); + ], + [ + ac_cv_have_queryperformancecounter=yes + ], + [ac_cv_have_queryperformancecounter=no] + ) + ] + ) + + + if test "x${ac_cv_have_queryperformancecounter}" = "xyes" ; then + AC_DEFINE(HAVE_QUERYPERFORMANCEFREQUENCY,1, [Define to 1 if you have the QueryPerformanceFrequency function.]) + AC_DEFINE(HAVE_QUERYPERFORMANCECOUNTER,1,[Define to 1 if you have the QueryPerformanceCounter function.]) + fi + + AC_CACHE_CHECK([for SleepEx], + ac_cv_have_sleepex, + [ + AC_TRY_LINK([ + #include + #include + ], + [ + SleepEx(1000,FALSE); + ], + [ + ac_cv_have_sleepex=yes + ], + [ac_cv_have_sleepex=no] + ) + ] + ) + + if test "x${ac_cv_have_sleepex}" = "xyes" ; then + AC_DEFINE(HAVE_SLEEPEX,1,[Define to 1 if you have the SleepEx function.]) + fi + + AC_CACHE_CHECK([for Yield], + ac_cv_have_yield, + [ + AC_TRY_LINK([ + #include + #include + ], + [ + Yield(); + ], + [ + ac_cv_have_yield=yes + ], + [ac_cv_have_yield=no] + ) + ] + ) + + if test "x${ac_cv_have_yield}" = "xyes" ; then + AC_DEFINE(HAVE_YIELD,1,[Define to 1 if you have the Yield function.]) + fi + + + ##AC_SEARCH_LIBS(_beginthread,[msvcrt,crtdll]) + + AC_CHECK_HEADER([process.h], + [ + AC_TRY_LINK([ + #include + #if HAVE_WINBASE_H + #include + #endif + #include + ], + [ + _beginthread (0,0,0); + TerminateThread ((HANDLE) 0, 0); + ], + [have_windows_thread_funcs=yes]) + ]) + + if test "x${have_windows_thread_funcs}" = "xyes" ; then + AC_DEFINE(HAVE_PROCESS_H,1,[Define to 1 if you have the process.h file]) + AC_DEFINE(HAVE__BEGINTHREAD,1,[Define to 1 if you have the _beginthread function.]) + AC_DEFINE(HAVE_TERMINATETHREAD,1,[Define to 1 if you have the TerminateThread function]) + AC_MSG_NOTICE([Using Microsoft Windows Thread API.]) + with_posix_threads=no + + fi + + AC_TRY_LINK([ + #include + #if HAVE_WINBASE_H + #include + #endif + #if HAVE_PROCESS_H + #include + #endif + ], + [ + DWORD pid = GetCurrentProcessId(); + DWORD tid = GetCurrentThreadId(); + ], + [have_getcurrentprocessid=yes]) + + if test "x${have_getcurrentprocessid}" = "xyes" ; then + AC_DEFINE(HAVE_GET_CURRENT_PROCESS_ID,1,[Define to 1 if you have the GetCurrentProcessId function]) + AC_DEFINE(HAVE_GET_CURRENT_THREAD_ID,1,[Define to 1 if you have the GetCurrentThreadId function]) + fi + +else +# if test "x${check_for_windows_stuff}" = "xyes" ; then + + +#if test "x${with_rtl_rtai}" = "xyes" ; then +# +# AC_LINUX_KERNEL_DIR +# +# AC_HAVE_RTLINUX +# +# if test "x${ac_cv_have_rtlinux}" = "xYES" -o "x${ac_cv_have_rtlinux}" = "xyes" -o "x${HAVE_RTL}" = "xYES" ; then +# +# CONFIGURED_STATIC_LIBRARIES="${CONFIGURED_STATIC_LIBRARIES} librcsrtl.a"; +# AC_MSG_NOTICE([CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}]); +# if test "x${enable_rtlmem}" = "xyes" ; then +# RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rtlnml.lo rtlmem.lo rtlinux_user_api_implement.lo" +# AC_DEFINE(ENABLE_RCS_RTLMEM,1,[Define to 1 if rtlmem support in rcslib is enabled.]) +# fi +# else +# +# AC_HAVE_RTAI +# +# if test "x${ac_cv_have_rtai}" = "xYES" -o "x${ac_cv_have_rtai}" = "xyes" -o "x${HAVE_RTAI}" = "xYES"; then +# CONFIGURED_STATIC_LIBRARIES="${CONFIGURED_STATIC_LIBRARIES} librcsrtai.a"; +# AC_MSG_NOTICE([CONFIGURED_STATIC_LIBRARIES : ${CONFIGURED_STATIC_LIBRARIES}]); +# if test "x${enable_rtlmem}" = "xyes" ; then +# RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} rtlnml.lo rtlmem.lo rtai_user_api_implement.lo" +# RCSRTAILIB_EXTRA_OBJS="rtlnml.o rtai_kernel_api_implement.o" +# ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS=${RCSLIB_EXTRA_OBJS}]) +# AC_DEFINE(ENABLE_RCS_RTLMEM,1,[Define to 1 if rtlmem support in rcslib is enabled.]) +# fi +# fi +#fi +#fi + + +# Checks for libraries. + +# Checks for header files. +AC_HEADER_SYS_WAIT + +if test "x${enable_sokintrf}" = "xyes" -a \ + "x${ac_cv_have_winsock}" != "xyes" -a \ + "x${ac_cv_have_winsock2}" != "xyes" ; then + +AC_CHECK_HEADER([arpa/inet.h], + [AC_DEFINE(HAVE_ARPA_INET_H,1,[Define to 1 if you have ])]) +AC_CHECK_HEADER([fcntl.h], + [AC_DEFINE(HAVE_FCNTL_H,1,[Define to 1 if you have < fcntl.h>])]) + +AC_CHECK_HEADER([netdb.h], + [AC_DEFINE(HAVE_NETDB_H,1,[Define to 1 if you have < netdb.h>])]) + +AC_CHECK_HEADER([netinet/in.h], + [AC_DEFINE(HAVE_NETINET_IN_H,1,[Define to 1 if you have < netinet/in.h>])]) + + +AC_CHECK_HEADER([linux/sockios.h], + [AC_DEFINE(HAVE_LINUX_SOCKIOS_H,1,[Define to 1 if you have < linux/sockios.h>])]) + +AC_CHECK_HEADER([inttypes.h], + [AC_DEFINE(HAVE_INTTYPES_H,1,[Define to 1 if you have ])]) + +AC_CHECK_HEADER([sys/file.h], + [AC_DEFINE(HAVE_SYS_FILE_H,1,[Define to 1 if you have < sys/file.h>])]) + +AC_CHECK_HEADER([ioctl.h], + [AC_DEFINE(HAVE_IOCTL_H,1,[Define to 1 if you have < ioctl.h>])]) + +AC_CHECK_HEADER([sys/ioctl.h], + [AC_DEFINE(HAVE_SYS_IOCTL_H,1,[Define to 1 if you have < sys/ioctl.h>])]) + +AC_CHECK_HEADER([sys/param.h], + [AC_DEFINE(HAVE_SYS_PARAM_H,1,[Define to 1 if you have < sys/param.h>])]) + +AC_CHECK_HEADER([uio.h], + [AC_DEFINE(HAVE_UIO_H,1,[Define to 1 if you have < uio.h>])]) + +AC_CHECK_HEADER([sys/uio.h], + [AC_DEFINE(HAVE_SYS_UIO_H,1,[Define to 1 if you have < sys/uio.h>])]) + +AC_CHECK_HEADER([net/uio.h], + [AC_DEFINE(HAVE_NET_UIO_H,1,[Define to 1 if you have < net/uio.h>])]) + +AC_CHECK_HEADER([socket.h], + [AC_DEFINE(HAVE_SOCKET_H,1,[Define to 1 if you have < socket.h>])]) + +AC_CHECK_HEADER([sys/socket.h], + [AC_DEFINE(HAVE_SYS_SOCKET_H,1,[Define to 1 if you have < sys/socket.h>])]) + +# Jan-10-2012 moving to after sys/sockt.h in hopes of fixing MAC problem. +# Nov-10-2011 causes error message on MAC. +# Not sure if needed for anything else +AC_CHECK_HEADER([net/if.h], + [AC_DEFINE(HAVE_NET_IF_H,1,[Define to 1 if you have < net/if.h>])], + [], + [ +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_SOCKET_H +#include +#endif +#if HAVE_STANDARDS_H +#include +#endif +]) + +AC_CHECK_HEADER([sys/utsname.h], + [AC_DEFINE(HAVE_SYS_UTSNAME_H,1,[Define to 1 if you have < sys/utsname.h>])]) + +AC_CHECK_HEADER([sys/systeminfo.h], + [AC_DEFINE(HAVE_SYS_SYSTEMINFO_H,1,[Define to 1 if you have < sys/systeminfo.h>])]) + +AC_CHECK_HEADER([sys/time.h], + [AC_DEFINE(HAVE_SYS_TIME_H,1,[Define to 1 if you have < sys/time.h>])]) + +AC_CHECK_HEADER([sched.h], + [AC_DEFINE(HAVE_SCHED_H,1,[Define to 1 if you have < sched.h >])]) + +AC_CHECK_HEADER([syslog.h], + [AC_DEFINE(HAVE_SYSLOG_H,1,[Define to 1 if you have < syslog.h>])]) + +AC_CHECK_HEADER([termios.h], + [AC_DEFINE(HAVE_TERMIOS_H,1,[Define to 1 if you have < termios.h>])]) + +AC_CHECK_HEADER([unistd.h], + [AC_DEFINE(HAVE_UNISTD_H,1,[Define to 1 if you have < unistd.h>])]) + +if test "x${with_filio}" = "xyes" ; then + + AC_CHECK_HEADER([filio.h], + [AC_DEFINE(HAVE_FILIO_H,1,[Define to 1 if you have < filio.h>])]) + + AC_CHECK_HEADER([sys/filio.h], + [AC_DEFINE(HAVE_SYS_FILIO_H,1,[Define to 1 if you have < sys/filio.h>])]) + +fi + + +AC_CHECK_HEADER([standards.h], + [AC_DEFINE(HAVE_STANDARDS_H,1,[Define to 1 if you have ])]) + +AC_CHECK_HEADER([netinet/tcp.h], + [AC_DEFINE(HAVE_NETINET_TCP_H,1,[Define to 1 if you have ])], + [ +AC_CHECK_HEADER(netinet/tcp.h, + [AC_DEFINE(HAVE_NETINET_TCP_H_2,1,[Define to 1 if you have the header file])], + [], + [ +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_SOCKET_H +#include +#endif +#if HAVE_STANDARDS_H +#include +#endif +]) + ]) + + +AC_CHECK_HEADERS([sys/shm.h]) + +fi +# if test "x${enable_sokintrf}" = "xyes" -a "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + + +fi +# if test "x${check_for_windows_stuff}" = "xyes" + + +if test "x${build_os}" = "xcygwin" -a "x${enable_xdr}" = "xyes" ; then + + AC_MSG_NOTICE([Using nt_xdr directory for cygwin.]) + + ac_cv_have_xdr_h=yes; + CPPFLAGS="${CPPFLAGS} -I${srcdir}/src/nt_xdr -DCYGWIN=1"; + + AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS} ] ) + + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} xdr.lo xdr_arra.lo xdr_floa.lo xdr_mem.lo xdr_rec.lo xdr_refe.lo xdr_stdi.lo"; + + AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS} ] ) + + +elif test "x${enable_xdr}" = "xyes" ; then + + AC_CHECK_HEADER([rpc/rpc.h], + [ac_cv_have_rpc_rpc_h=yes], + [ac_cv_have_rpc_rpc_h=no]) + + if test "x${ac_cv_have_rpc_rpc_h}" = "xyes" ; then + AC_DEFINE(HAVE_RPC_RPC_H,1,[Define to 1 if you have the header file.]) + else + + AC_CHECK_HEADER([rpc/types.h], + [ac_cv_have_rpc_types_h=yes], + [ac_cv_have_rpc_types_h=no]) + + if test "x${ac_cv_have_rpc_types_h}" = "xyes" ; then + AC_DEFINE(HAVE_RPC_TYPES_H,1,[Define to 1 if you have the header file.]) + fi + + AC_CHECK_HEADER([rpc/xdr.h], + [ac_cv_have_rpc_xdr_h=yes], + [ac_cv_have_rpc_xdr_h=no], + [ +# if HAVE_RPC_TYPES_H +# include +# endif + ]) + + if test "x${ac_cv_have_rpc_xdr_h}" = "xyes" ; then + AC_DEFINE(HAVE_RPC_XDR_H,1,[Define to 1 if you have the header file.]) + fi + + AC_CHECK_HEADER([xdr.h], + [ac_cv_have_xdr_h=yes], + [ac_cv_have_xdr_h=no]) + + if test "x${ac_cv_have_xdr_h}" = "xno" -a "x${ac_cv_have_rpc_rpc_h}" = "xno" -a "x${ac_cv_have_rpc_xdr_h}" = "xno" -a "x${check_for_windows_stuff}" = "xyes" ; then + + ac_cv_have_xdr_h=yes + CPPFLAGS="${CPPFLAGS} -I${srcdir}/src/nt_xdr"; + ## AC_MSG_NOTICE([CPPFLAGS : ${CPPFLAGS}]) + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} xdr.lo xdr_arra.lo xdr_floa.lo xdr_mem.lo xdr_rec.lo xdr_refe.lo xdr_stdi.lo"; + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) + fi + + + # -- end of if -- test "x${ac_cv_have_rpc_rpc_h}" = "xyes" ; + fi + +fi + +# // if test test "x${enable_xdr}" = "xyes" + +if test "x${ac_cv_have_xdr_h}" = "xyes" ; then + AC_DEFINE(HAVE_XDR_H,1,[Define to 1 if you have the header file.]) +fi + +AC_CHECK_HEADERS([sys/fcntl.h sys/stat.h sys/mman.h sys/sysinfo.h]) + + +if test "x${with_iostream}" = "xyes" ; then + + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(iostream.h) + AC_LANG_POP + +else + + AC_DEFINE(NO_IOSTREAM,1,[Disable support for printing posemath stuff with iostreams]) + +fi + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_INLINE +AC_TYPE_MODE_T +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_HEADER_TIME +AC_STRUCT_TM +AC_TYPE_UID_T + +AC_CHECK_TYPE([socklen_t], + [AC_DEFINE(HAVE_SOCKLEN_T_TYPE,1,[Define to 1 if you have the socklen_t type.])]) + + +AC_CHECK_TYPE([key_t], + [AC_DEFINE(HAVE_KEY_T_TYPE,1,[Define to 1 if you have the key_t type.])],, + [ + +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + +AC_CHECK_TYPE([caddr_t], + [AC_DEFINE(HAVE_CADDR_T_TYPE,1,[Define to 1 if you have the caddr_t type.])],, + [ + +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + +AC_CHECK_TYPE([struct iovec], + [AC_DEFINE(HAVE_STRUCT_IOVEC_TYPE,1,[Define to 1 if you have the struct iovec type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + +AC_CHECK_TYPE([struct msghdr], + [AC_DEFINE(HAVE_STRUCT_MSGHDR_TYPE,1,[Define to 1 if you have the struct msghdr type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + + +AC_CHECK_TYPE([struct sockaddr_in], + [AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN_TYPE,1,[Define to 1 if you have the struct msghdr type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + +AC_CHECK_TYPE([struct sockaddr_storage], + [AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE_TYPE,1,[Define to 1 if you have the struct msghdr type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + +AC_CHECK_TYPE([struct sockaddr_in6], + [AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6_TYPE,1,[Define to 1 if you have the struct sockaddr_in6 type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + +AC_CHECK_TYPE([struct addrinfo], + [AC_DEFINE(HAVE_STRUCT_ADDRINFO_TYPE,1,[Define to 1 if you have the struct addrinfo.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NETDB_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + +AC_CHECK_TYPE([struct ifreq], + [AC_DEFINE(HAVE_STRUCT_IFREQ_TYPE,1,[Define to 1 if you have the struct ifreq type.])],, + [ +#if HAVE_WINSOCK2_H && HAVE_WINDOWS_H +#include +#include +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif + +#if ! HAVE_WINSOCK2_H + +#if HAVE_UNISTD_H +# include +#endif +#if HAVE_SYS_UIO_H +# include +#else +#if HAVE_NET_UIO_H +# include +#endif +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NET_IF_H +#include +#endif +#if HAVE_LINUX_SOCKIOS_H +#include +#endif + +#endif +/* HAVE_WINSOCK2_H && HAVE_WINDOWS_H */ + ] +) + + +if test "x${check_for_windows_stuff}" = "xyes" ; then + + + AC_CHECK_TYPE([u_int], + [ac_cv_have_u_int=yes], + [ac_cv_have_u_int=no], + [ + #include + #if HAVE_WINSOCK2_H + #include + #endif + ]) + + if test "x${ac_cv_have_u_int}" = "xyes" ; then + AC_DEFINE(HAVE_U_INT,1,[Define to 1 if you have the u_int type]) + fi + + AC_CHECK_TYPE([u_short], + [ac_cv_have_u_short=yes], + [ac_cv_have_u_short=no], + [ + #include + #if HAVE_WINSOCK2_H + #include + #endif + ]) + + if test "x${ac_cv_have_u_short}" = "xyes" ; then + AC_DEFINE(HAVE_U_SHORT,1,[Define to 1 if you have the u_short type]) + fi + + + AC_CHECK_TYPE([u_long], + [ac_cv_have_u_long=yes], + [ac_cv_have_u_long=no], + [ + #include + #if HAVE_WINSOCK2_H + #include + #endif + ]) + + if test "x${ac_cv_have_u_long}" = "xyes" ; then + AC_DEFINE(HAVE_U_LONG,1,[Define to 1 if you have the u_int type]) + fi + +else + AC_CHECK_TYPE([u_int]) + AC_CHECK_TYPE([u_long]) + AC_CHECK_TYPE([u_short]) + +fi + + +# Checks for library functions. +AC_PROG_GCC_TRADITIONAL + +if test "x${enable_xdr}" = "xyes" ; then + AC_SEARCH_LIBS(xdrmem_create,[rpc rpcsvc xdr nsl rpcS]) + AC_SEARCH_LIBS(xdr_short,[rpc rpcsvc xdr nsl rpcS]) +fi + +if test "x${enable_sokintrf}" = "xyes" ; then + AC_SEARCH_LIBS(socket,[socket xnet ws2_32 winsock]) + AC_CHECK_LIB(m,fabs) +fi + +AC_SEARCH_LIBS(gethostbyname,[socket nsl resolv xnet]) + +if test "x${with_librt}" = "xyes" ; then + + AC_SEARCH_LIBS(clock_gettime,[rt posix4] ) + AC_SEARCH_LIBS(shm_open,[rt posix4]) + +else + + AC_SEARCH_LIBS(clock_gettime,[posix4] ) + AC_SEARCH_LIBS(shm_open,[posix4]) + +fi + +AC_CHECK_FUNCS([clock_gettime getcwd getenv setenv putenv gethostbyaddr gethostbyname gethostname gettimeofday getwd inet_ntoa inet_aton inet_ntop inet_pton getaddrinfo gai_strerror getnameinfo select socket sqrt strchr strcspn strdup strerror strpbrk strrchr strstr strtol strtoul toupper uname sysinfo sysconf sleep usleep nanosleep setitimer sincos fstat stat opendir readdir gethostbyname_r time localtime getsockopt setsockopt raise abort sync sched_yield kill fork send sendto sendmsg recv recvfrom recvmsg]) + +if test "x${enable_force_ipc_rm}" != "xyes" ; then + AC_DEFINE(NEVER_FORCE_IPC_RM,1,[Never forcibly delete IPC resources.]) +fi + +if test "x${with_snprintf}" = "xyes" ; then + AC_CHECK_FUNCS(snprintf _snprintf vsnprintf _vsnprintf) +else + CPPFLAGS="${CPPFLAGS} -DNO_SNPRINTF=1"; + export CPPFLAGS; +fi + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + + AC_CHECK_FUNC([socketpair], + [AC_DEFINE(HAVE_SOCKETPAIR,1,[Define to 1 if you have the socketpair function])]) + +fi + +if test "x${with_posix_threads}" = "xyes" ; then + + AC_MSG_NOTICE([checking POSIX threads]) + + AC_CHECK_HEADER([pthread.h], + [AC_DEFINE(HAVE_PTHREAD_H,1,[Define to 1 if you have the pthread.h file])]) + + AC_CHECK_LIB(pthread,pthread_create) + + AC_CHECK_FUNC(pthread_create, + [AC_CHECK_FUNC(pthread_kill, + [AC_CHECK_FUNC(pthread_join, + [AC_CHECK_FUNC(pthread_exit, + [AC_DEFINE(POSIX_THREADS,1,[if we should use POSIX threads]) + use_pthreads=yes + ] + ) + # AC_CHECK_FUNC pthread_exit + ]) + # AC_CHECK_FUNC pthread_join + ]) + # AC_CHECK_FUNC pthread_kill + ]) + # AC_CHECK_FUNC pthread_create + +# with_posix_threads +fi + +if test "x${use_pthreads}" != "xyes" ; then + + if test "x${have_windows_thread_funcs}" != "xyes" ; then + + AC_CHECK_FUNC(fork, + [AC_CHECK_FUNC(kill, + [AC_CHECK_FUNC(waitpid, + [can_use_fork=yes]) + ])]) + + if test "x${can_use_fork}" = "xyes" ; then + AC_DEFINE(NO_THREADS,1,[if no thread system is available]) + else + AC_MSG_ERROR([NO Threads implementation seems to be available +and even fork will not work.]) + fi + fi +fi + +if test "x${enable_shmem}" = "xyes" ; then + +windows_shared_memory_available=no; +sys_v_shared_memory_available=no; +posix_shared_memory_available=no; + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + + AC_MSG_NOTICE([checking System V shared memory]) + + AC_CHECK_HEADER([ipc.h], + [AC_DEFINE(HAVE_IPC_H,1,[Define to 1 if you have ])]) + + AC_CHECK_HEADER([shm.h], + [AC_DEFINE(HAVE_SHM_H,1,[Define to 1 if you have ])]) + + + AC_CHECK_HEADER([sys/ipc.h], + [AC_DEFINE(HAVE_SYS_IPC_H,1,[Define to 1 if you have ])]) + + AC_CHECK_HEADER([sys/shm.h], + [AC_DEFINE(HAVE_SYS_SHM_H,1,[Define to 1 if you have ])]) + + AC_CHECK_FUNC(shmget, +[AC_CHECK_FUNC(shmctl, +[AC_CHECK_FUNC(shmat, +[AC_CHECK_FUNC(shmdt, +[ + sys_v_shared_memory_available=yes + AC_DEFINE(SYS_V_SHAREDMEM_AVAILABLE,1,[Can we use SystemV shared memory?]) +]) +#shmdt +]) +#shmat +]) +#shmctl +]) +#shmget + + +AC_MSG_NOTICE([checking POSIX shared memory]) + +AC_CHECK_FUNC(shm_open, +[AC_CHECK_FUNC(shm_unlink, +[AC_CHECK_FUNC(ftruncate, +[AC_CHECK_FUNC(mmap, +[AC_CHECK_FUNC(munmap, + [AC_MSG_CHECKING([can use POSIX shared memory with mmap]) + AC_TRY_RUN([ +#include +#include +#include +#if HAVE_FCNTL_H +#include +#endif +#if HAVE_ERRNO_H +#include +#endif +#if HAVE_UNISTD_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_MMAN_H +#include +#endif + +#define SHMEM_TEST_NAME "/confshmtest" + +int main( int argc, char** argv ) +{ + int fd, fd2; + unsigned* addr; + unsigned* addr2; + + /* Create a new memory object */ + fd = shm_open( SHMEM_TEST_NAME , O_RDWR | O_CREAT, 0777 ); + if( fd == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd, (off_t)4 ) == -1 ) { + perror("ftruncate"); + } + + /* Map the memory object */ + addr = mmap( 0, sizeof( *addr ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd, 0 ); +#ifdef MAP_FAILED + if( addr == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr == 0) + { + perror("mmap"); + exit(1); + } + + + /* Write to shared memory */ + *addr = 12; + + /* Create a new memory object */ + fd2 = shm_open( SHMEM_TEST_NAME , O_RDWR, 0777 ); + if( fd2 == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd2, (off_t)4 ) == -1 ) { + perror("ftruncate"); + } + + /* Map the memory object */ + addr2 = mmap( 0, sizeof( *addr2 ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd2, 0 ); +#ifdef MAP_FAILED + if( addr2 == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr2 == 0) + { + perror("mmap"); + exit(1); + } + + /* Test to see that it has the value it is supposed to. */ + if(*addr2 != *addr) + { + fprintf(stderr,"memory areas do NOT match\n"); + exit(1); + } + + /* + * The memory object remains in + * the system after the close + */ + close( fd ); + close(fd2); + + /* + * To remove a memory object + * you must unlink it like a file. + * + * This may be done by another process. + */ + shm_unlink( SHMEM_TEST_NAME ); + + exit(0); +} +], + [posix_shared_memory_available=yes + AC_DEFINE(POSIX_SHAREDMEM_AVAILABLE,1,[Can we use POSIX shared memory?]) + AC_MSG_RESULT(yes)], + [AC_TRY_RUN([ +#include +#include +#include +#if HAVE_FCNTL_H +#include +#endif +#if HAVE_ERRNO_H +#include +#endif +#if HAVE_UNISTD_H +#include +#endif +#if HAVE_LIMITS_H +#include +#endif +#if HAVE_SYS_MMAN_H +#include +#endif + +#define SHMEM_TEST_NAME "/tmp/confshmtest" + +int main( int argc, char** argv ) +{ + int fd, fd2; + unsigned* addr; + unsigned* addr2; + + /* Create a new memory object */ + fd = shm_open( SHMEM_TEST_NAME , O_RDWR | O_CREAT, 0777 ); + if( fd == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd, sizeof( *addr ) ) == -1 ) { + perror("ftruncate"); + exit(1); + } + + /* Map the memory object */ + addr = mmap( 0, sizeof( *addr ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd, 0 ); +#ifdef MAP_FAILED + if( addr == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr == 0) + { + perror("mmap"); + exit(1); + } + + + /* Write to shared memory */ + *addr = 12; + +/* Create a new memory object */ + fd2 = shm_open( SHMEM_TEST_NAME , O_RDWR, 0777 ); + if( fd2 == -1 ) { + perror("shm_open"); + exit(1); + } + + /* Set the memory object's size */ + if( ftruncate( fd2, sizeof( *addr ) ) == -1 ) { + perror("ftruncate"); + exit(1); + } + + /* Map the memory object */ + addr2 = mmap( 0, sizeof( *addr2 ), + PROT_READ | PROT_WRITE, + MAP_SHARED, fd2, 0 ); +#ifdef MAP_FAILED + if( addr2 == MAP_FAILED ) { + perror("mmap"); + exit(1); + } +#endif + if(addr2 == 0) + { + perror("mmap"); + exit(1); + } + + /* Test to see that it has the value it is supposed to. */ + if(*addr2 != *addr) + { + fprintf(stderr,"memory areas do NOT match\n"); + exit(1); + } + + /* + * The memory object remains in + * the system after the close + */ + close( fd ); + close(fd2); + + /* + * To remove a memory object + * you must unlink it like a file. + * + * This may be done by another process. + */ + shm_unlink( SHMEM_TEST_NAME ); + + exit(0); +} +], + [AC_DEFINE_UNQUOTED(POSIX_SHMEM_NAME_PREFIX,[\"/tmp\"], + [prefix all shmem names with this string]) + posix_shared_memory_available=yes + AC_DEFINE(POSIX_SHAREDMEM_AVAILABLE,1,[Can we use POSIX shared memory?]) + AC_MSG_RESULT([yes -- needs /tmp prefix])], + [AC_MSG_RESULT(no)])], + [posix_shared_memory_available=yes + AC_DEFINE(POSIX_SHAREDMEM_AVAILABLE,1,[Can we use POSIX shared memory?]) + AC_MSG_RESULT([not tested])]) +# AC_TRY_RUN +]) +# AC_TRY_FUNC munmap +]) +# AC_TRY_FUNC mmap +]) +# AC_TRY_FUNC ftruncate +]) +# AC_TRY_FUNC shm_unlink +]) +# AC_TRY_FUNC shm_open + +fi +# "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + + +if test "x${posix_shared_memory_available}" = "xyes" -a "x${sys_v_shared_memory_available}" = "xyes" ; then + + AC_MSG_NOTICE([Both System V and Posix Shared_Memory are available]) + + if test x$with_posix_ipc = xyes -o x$with_sys_v_ipc = xno ; then + AC_MSG_NOTICE([Using POSIX Shared_Memory]) + AC_DEFINE(USE_POSIX_SHAREDMEM,1,[Should we use POSIX Shared Memory]) + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_shm_unlink$(EXEEXT)' + else + AC_MSG_NOTICE([Using System V Shared_Memory]) + AC_DEFINE(SYS_V_SHARED_MEMORY,1,[Should we use System V Shared Memory]) + fi + +else + + if test x$posix_shared_memory_available = xyes ; then + AC_MSG_NOTICE([Using POSIX Shared_Memory]) + AC_DEFINE(USE_POSIX_SHAREDMEM,1,[Should we use POSIX Shared Memory]) + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_shm_unlink$(EXEEXT)' + else + if test x$sys_v_shared_memory_available = xyes ; then + AC_MSG_NOTICE([Using System V Shared_Memory]) + AC_DEFINE(SYS_V_SHARED_MEMORY,1,[Should we use POSIX Shared_Memory]) + else + if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + AC_MSG_NOTICE([Neither POSIX nor System V shared memory seem to be useable]); + fi + + AC_MSG_NOTICE([Checking for windows shared memory.]) + windows_check_failed=false; + if test "x${check_for_windows_stuff}" != "xyes" ;then + windows_check_failed=true + fi + if test "x${windows_check_failed}" != "xtrue" ; then + AC_CHECK_HEADER([winbase.h],,windows_check_failed=true,[#include]) + fi + if test "x${windows_check_failed}" != "xtrue" ; then + AC_TRY_LINK([ + #include + #include + ], + [ + SECURITY_ATTRIBUTES sa; + SECURITY_DESCRIPTOR sd; + size_t size=0x1000; + HANDLE hFileMap; + const char *name="config_test_shm"; + void *addr; + + InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); + sa.nLength = sizeof (SECURITY_ATTRIBUTES); + sa.lpSecurityDescriptor = &sd; + sa.bInheritHandle = TRUE; + + hFileMap = CreateFileMapping ((HANDLE) (0xFFFFFFFF), &sa, PAGE_READWRITE, 0,size, name); + addr=MapViewOfFile (hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, size); + UnmapViewOfFile(addr); + CloseHandle(hFileMap); + ], + [ + AC_DEFINE(HAVE_INITIALIZESECURITYDESCRIPTOR,1,[Define to 1 if you have the InitializeSecurityDescriptor function.]) + AC_DEFINE(HAVE_CREATEFILEMAPPING,1,[Define to 1 if you have the CreateFileMapping function.]) + AC_DEFINE(HAVE_MAPVEIWOFFILE,1,[Define to 1 if you have the MapViewOfFile function.]) + AC_DEFINE(HAVE_UNMAPVEIWOFFILE,1,[Define to 1 if you have the UnmapViewOfFile function.]) + AC_DEFINE(HAVE_CLOSEHANDLE,1,[Define to 1 if you have the CloseHandle function.]) + ] + ,[windows_check_failed=true]) + fi + + if test "x${windows_check_failed}" != "xtrue" ; then + + AC_MSG_NOTICE([Using windows shared memory.]) + windows_shared_memory_available=yes + AC_DEFINE(MS_WINDOWS_API,1,[Define to 1 if you should use the Microsoft Windows API for threads/sockets/IPC etc.]) + else + AC_MSG_ERROR([NO Shared Memory seems go be available. Consider --disable-shmem]) + fi + fi + fi + +fi + +sys_v_semaphores_available=no +windows_semaphores_available=no +posix_semaphores_available=no + +if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + +AC_MSG_NOTICE([checking System V semaphores]) +/ +AC_CHECK_HEADER([sem.h], + [AC_DEFINE(HAVE_SEM_H,1,[Define to 1 if you have .])]) + +AC_CHECK_HEADER([sys/sem.h], + [AC_DEFINE(HAVE_SYS_SEM_H,1,[Define to 1 if you have .])]) + +AC_CHECK_FUNC(semget, +[AC_CHECK_FUNC(semop, +[AC_CHECK_FUNC(semctl, +[ + sys_v_semaphores_available=yes + AC_DEFINE(SYS_V_SEMAPHORES_AVAILABLE,1,[Can we use SystemV semaphores?]) +]) +#semctl +]) +#semop +]) +#semget + + +AC_MSG_NOTICE([checking POSIX semaphores]) + +AC_CHECK_HEADER([semaphore.h], +[ +AC_DEFINE(HAVE_SEMAPHORE_H,1,[Define to 1 if you have ]) +AC_CHECK_FUNC(sem_open , +[AC_CHECK_FUNC(sem_wait, +[AC_CHECK_FUNC(sem_trywait, +[AC_CHECK_FUNC(sem_getvalue, +[AC_CHECK_FUNC(sem_post, +[AC_CHECK_FUNC(sem_close, + [ AC_MSG_CHECKING([can use POSIX named semaphores]) + AC_TRY_RUN([ + +/* There are two types of posix semaphores named and unnamed. + unamed semaphores can either have the pshared flag set or not + determining whether it can be shared between processes. Currently (12/27/02), +Linux +implements only unnamed posix semaphores that are not shared between +processes. This is useless to RCSLIB so on Linux System V semaphores +will be used instead. +*/ +#include +#include +#include + +int +main(int argc,const char **argv) +{ + sem_t *s; + s = sem_open("/sem_open_test.sem",O_CREAT,0777,1); + if(-1 == ((int)(s)) || 0 == s ) + { + if(errno == ENOSYS) + { + exit(-1); + } + } + else + { + sem_close(s); + } + exit(0); +} +], + [posix_semaphores_available=yes + AC_DEFINE(POSIX_SEMAPHORES_AVAILABLE,1,[Can we use POSIX semaphores?]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)], + [posix_semaphores_available=yes + AC_DEFINE(POSIX_SEMAPHORES_AVAILABLE,1,[Can we use POSIX semaphores?]) + AC_MSG_RESULT([not tested])] + ) +#AC_TRY_RUN +]) +#AC_CHECK_FUNC sem_close +]) +#AC_CHECK_FUNC sem_post +]) +#AC_CHECK_FUNC sem_getvalue +]) +#AC_CHECK_FUNC sem_trywait +]) +#AC_CHECK_FUNC sem_wait +]) +#AC_CHECK_FUNC sem_open +]) + +fi +# if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" + +if test x$posix_semaphores_available = xyes -a x$sys_v_semaphores_available = xyes ; then + + AC_MSG_NOTICE([Both System V and Posix Semaphores are available]) + + if test x$with_posix_ipc = xyes -o x$with_sys_v_ipc = xno ; then + AC_MSG_NOTICE([Using POSIX Semaphores]) + AC_DEFINE(POSIX_SEMAPHORES,1,[Should we use POSIX Semaphores]) + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_sem_unlink$(EXEEXT)' + else + AC_MSG_NOTICE([Using System V Semaphores]) + AC_DEFINE(SYS_V_SEMAPHORES,1,[Should we use System V Semaphores]) + fi + +else + + if test x$posix_semaphores_available = xyes ; then + AC_MSG_NOTICE([Using POSIX Semaphores]) + AC_DEFINE(POSIX_SEMAPHORES,1,[Should we use POSIX Semaphores]) + CONFIGURED_PROGRAMS="${CONFIGURED_PROGRAMS} "'posix_sem_unlink$(EXEEXT)' + else + if test x$sys_v_semaphores_available = xyes ; then + AC_MSG_NOTICE([Using System V Semaphores]) + AC_DEFINE(SYS_V_SEMAPHORES,1,[Should we use POSIX Semaphores]) + else + if test "x${ac_cv_have_winsock}" != "xyes" -a "x${ac_cv_have_winsock2}" != "xyes" ; then + AC_MSG_NOTICE([Neither POSIX nor System V semaphores seem to be useable]); + fi + + if test "x${windows_shared_memory_available}" = "xyes" ; then + AC_MSG_NOTICE([Checking for windows semaphores/mutexes.]) + windows_check_failed=false; + if test "x${windows_check_failed}" != "xtrue" ; then + AC_TRY_LINK([ + #include + #include + ], + [ + HANDLE handle; + HANDLE handle2; + SECURITY_ATTRIBUTES sa; + SECURITY_DESCRIPTOR sd; + + InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION); + sa.nLength = sizeof (SECURITY_ATTRIBUTES); + sa.lpSecurityDescriptor = &sd; + sa.bInheritHandle = TRUE; + + handle=CreateMutex (&sa, FALSE,"config_test_mutex"); + + WaitForSingleObject (handle,1000); + ReleaseMutex (handle); + + handle2=OpenMutex (MUTEX_ALL_ACCESS, TRUE,"config_test_mutex"); + + CloseHandle(handle); + CloseHandle(handle2); + ], + [ + # AC_DEFINE(HAVE_INITIALIZESECURITYDESCRIPTOR,[Define if you have the InitializeSecurityDescriptor function.]) + AC_DEFINE(HAVE_CREATEMUTEX,1,[Define to 1 if you have the CreateMutex function.]) + AC_DEFINE(HAVE_WAITFORSINGLEOBJECT,1,[Define to 1 if you have the WaitForSingleObject function.]) + AC_DEFINE(HAVE_RELEASEMUTEX,1,[Define to 1 if you have the ReleaseMutex function.]) + AC_DEFINE(HAVE_OPENMUTEX,1,[Define to 1 if you have the OpenMutex function.]) + ],[windows_check_failed=true]) + fi + if test "x${windows_check_failed}" != "xtrue" ; then + AC_MSG_NOTICE([Using windows semaphores.]) + windows_semaphores_available=yes; + else + AC_MSG_ERROR([NO Semaphore/mutex seems go be available.Consider --disable-shmem]) + fi + else + AC_MSG_ERROR([NO Semaphore/mutex seems go be available. Consider --disable-shmem]) + fi + fi + fi +fi + +AC_CHECK_TYPE([union semun], + [AC_DEFINE(HAVE_UNION_SEMUN,1,[Is union semun defined])], + [], + [ +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_IPC_H +#include +#endif +#if HAVE_SYS_SEM_H +#include +#endif +static union semun semun_var; +]) + +fi +# end of if shmem enabled. + +if test "x${enable_shmem}" = "xyes" ; then + if test "x${windows_semaphores_available}" = "xyes" ; then + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} win32_sem.lo" + else + RCSLIB_EXTRA_OBJS="${RCSLIB_EXTRA_OBJS} unix_sem.lo" + fi + ## AC_MSG_NOTICE([RCSLIB_EXTRA_OBJS : ${RCSLIB_EXTRA_OBJS}]) +fi + +if test "x${enable_oe_instrf}" = "xyes" ; then + + AC_MSG_NOTICE([LIBS=${LIBS}]) + AC_MSG_NOTICE([LDFLAGS=${LDFLAGS}]) + AC_MSG_NOTICE([CPPFLAGS=${CPPFLAGS}]) + + AC_CHECK_HEADER([oe.h], + [ + AC_DEFINE(HAVE_OE_H,1,[if we can include oe.h]) + ], + [ + AC_MSG_ERROR([Can not include oe.h, either add a -I flag to the CPPFLAGS environment variable specifying the directory with OE C header files or reconfigure with --disable-oe_intrf]) + ]) + AC_CHECK_HEADERS([toe_services.h]) + + AC_MSG_NOTICE([Checking for OE libraries]) + AC_CHECK_LIB(m,main) + AC_CHECK_LIB(rt,main) + AC_CHECK_LIB(nsl,main) + AC_CHECK_LIB(pthread,main) + AC_CHECK_LIB(gnat,main) + AC_CHECK_LIB(gnarl,main) + AC_CHECK_LIB(utilities_Ada95,main) + AC_CHECK_LIB(gccprefix,main) + AC_CHECK_LIB(gmem,main) + AC_CHECK_LIB(oe_2_0_Ada95,main) + AC_CHECK_LIB(oe_2_0_c,main, + [ + LIBS="-loe_2_0_c ${LIBS}"; + export LIBS; + ], + [ + AC_MSG_ERROR([Can not find library liboe_2_0_c, either add a -L flag to LDFLAGS specifying the directory it should be found in or reconfigure to disable the OE interface.(without --enable-oe_intrf)]) + ]) + + + AC_MSG_NOTICE([LIBS=${LIBS}]) + AC_MSG_NOTICE([LDFLAGS=${LDFLAGS}]) + + AC_MSG_NOTICE([Searching for b~linkhelp.o in directories referenced in LDFLAGS=${LDFLAGS}]) + +( rm /tmp/rcslib_blink*.sh || echo ) >/dev/null 2>/dev/null + +cat >/tmp/rcslib_blink$$.sh </tmp/rcslib_blink$$.2.log >/tmp/rcslib_blink$$.1.log + + AC_MSG_NOTICE([found ${blinkhelp_o}]) + AC_MSG_NOTICE([check /tmp/rcslib_blink$$.sh /tmp/rcslib_blink$$.2.log /tmp/rcslib_blink$$.1.log if b~linkhelp.o location is wrong]) + + AC_CHECK_FUNC(adainit, + [ + AC_DEFINE(HAVE_ADAINIT,1,[if we should use the adainit funtion]) + ]) + + AC_CHECK_FUNC(adafinal, + [ + AC_DEFINE(HAVE_ADAFINAL,1,[if we should use the adafinal funtion]) + ]) + + AC_MSG_NOTICE([LIBS=${LIBS}]) + AC_MSG_NOTICE([LDFLAGS=${LDFLAGS}]) + + AC_LANG_PUSH(C++) + AC_CHECK_HEADER([oe.hh], + [ + AC_DEFINE(HAVE_OE_HH,1,[if we can include oe.hh]) + ], + [ + AC_MSG_ERROR([Can not include oe.hh, either add a -I flag to the CPPFLAGS environment variable specifying the directory with OE C++ header files or reconfigure without --enable-oe_intrf]) + ]) + AC_CHECK_HEADERS([toe_services.hh]) + AC_CHECK_LIB(oe_2_0_cpp,main, + [ + LIBS="-loe_2_0_cpp ${LIBS}"; + export LIBS; + ], + [ + AC_MSG_ERROR([Can not find library liboe_2_0_cpp, either add a -L flag to LDFLAGS environment variable specifying the directory it should be found in or reconfigure to disable the OE interface. without --enable-oe_intrf. You may also want to check that the version of your C++ compiler ${CXX} is compatible with the version used to build liboe_2_0_cpp or search config.log for even more information.]) + ]) + + AC_LANG_POP + AC_MSG_NOTICE([LIBS=${LIBS}]) + AC_MSG_NOTICE([LDFLAGS=${LDFLAGS}]) + AC_MSG_NOTICE([CPPFLAGS=${CPPFLAGS}]) + +fi +# end of -- if test "x${enable_oe_intrf}" = "xyes" ; then + +AC_CXX_NAMESPACES +AC_CXX_HAVE_STD + +build_platform=autoconf-${build} +AC_MSG_NOTICE([Setting build platform to ${build_platform}]) + +AC_DEFINE_UNQUOTED(BUILD_PLATFORM_FOR_TEST,[${build_platform}],[What platform is this built for?]) +AC_DEFINE_UNQUOTED(BUILD_PLATFORM,["${build_platform}"],[What platform is this built for? (string for printing)]) + +AC_MSG_NOTICE([ CONFIGURED_PROGRAMS = ${CONFIGURED_PROGRAMS}]) +AC_MSG_NOTICE([ EXTRA_CHECK_PROGRAMS = ${EXTRA_CHECK_PROGRAMS}]) +AC_MSG_NOTICE([ CONFIGURED_TESTS = ${CONFIGURED_TESTS}]) +#AC_MSG_NOTICE([ CONFIGURED_STATIC_LIBRARIES = ${CONFIGURED_STATIC_LIBRARIES}]) +AC_MSG_NOTICE([ CONFIGURED_SUBDIRS = ${CONFIGURED_SUBDIRS}]) +AC_MSG_NOTICE([ RCSLIB_EXTRA_OBJS = ${RCSLIB_EXTRA_OBJS} ]) +AC_MSG_NOTICE([ RCSRTAILIB_EXTRA_OBJS = ${RCSRTAILIB_EXTRA_OBJS} ]) +AC_MSG_NOTICE([ CPPFLAGS = ${CPPFLAGS} ]) +AC_MSG_NOTICE([ CFLAGS = ${CFLAGS} ]) +AC_MSG_NOTICE([ CXXFLAGS = ${CXXFLAGS} ]) +AC_MSG_NOTICE([ LDFLAGS = ${LDFLAGS} ]) +AC_MSG_NOTICE([ LIBS = ${LIBS} ]) +AC_MSG_NOTICE([ CC = ${CC} ]) +AC_MSG_NOTICE([ CXX = ${CXX} ]) + +#AM_CONDITIONAL(HAVE_RTL,[test "x${ac_cv_have_rtlinux}" = "xYES" -o "x${ac_cv_have_rtlinux}" = "xyes" -o "x${HAVE_RTL}" = "xYES"]) +#AM_CONDITIONAL(HAVE_RTAI,[test "x${ac_cv_have_rtai}" = "xYES" -o "x${ac_cv_have_rtai}" = "xyes" -o "x${HAVE_RTAI}" = "xYES"]) + +LTLIBOBJS="${RCSLIB_EXTRA_OBJS}" + +AC_MSG_NOTICE([ POSEMATH_CFLAGS = ${POSEMATH_CFLAGS} ]) +AC_MSG_NOTICE([ POSEMATH_CXXFLAGS = ${POSEMATH_CXXFLAGS} ]) +AC_MSG_NOTICE([ TEST_CFLAGS = ${TEST_CFLAGS} ]) +AC_MSG_NOTICE([ TEST_CXXFLAGS = ${TEST_CXXFLAGS} ]) + +AM_CONDITIONAL(TEST_FLAGS_SET,[test "x${TEST_CFLAGS}" != "x" -o "x${TEST_CXXFLAGS}" != "x"]) + +AM_CONDITIONAL(POSEMATH_FLAGS_SET,[test "x${POSEMATH_CFLAGS}" != "x" -o "x${POSEMATH_CXXFLAGS}" != "x"]) + + +AC_SUBST(CONFIGURED_PROGRAMS) +AC_SUBST(EXTRA_CHECK_PROGRAMS) +AC_SUBST(CONFIGURED_TESTS) +AC_SUBST(CONFIGURED_SUBDIRS) +#AC_SUBST(CONFIGURED_STATIC_LIBRARIES) +AC_SUBST(CONFIGURED_EXTRA_INCLUDES) +AC_SUBST(LTLIBOBJS) +AC_SUBST(RCSLIB_EXTRA_OBJS) +AC_SUBST(RCSRTAILIB_EXTRA_OBJS) +AC_SUBST(RCSRTLLIB_EXTRA_OBJS) +AC_SUBST(POSEMATH_CFLAGS) +AC_SUBST(POSEMATH_CXXFLAGS) +AC_SUBST(TEST_CFLAGS) +AC_SUBST(TEST_CXXFLAGS) + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT(rcslib.pc) + diff --git a/depcomp b/depcomp new file mode 100755 index 0000000..807b991 --- /dev/null +++ b/depcomp @@ -0,0 +1,423 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. We will use -o /dev/null later, + # however we can't do the remplacement now because + # `-o $object' might simply not be used + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/doc/Attachment.html b/doc/Attachment.html new file mode 100644 index 0000000..e69de29 diff --git a/doc/Bullet5.gif b/doc/Bullet5.gif new file mode 100644 index 0000000..b67bf0a Binary files /dev/null and b/doc/Bullet5.gif differ diff --git a/doc/CMSinternal.html b/doc/CMSinternal.html new file mode 100644 index 0000000..929d45b --- /dev/null +++ b/doc/CMSinternal.html @@ -0,0 +1,53 @@ +How NML and CMS work?
Describes the internals of CMS and NML. Including some background which might be helpful in porting or extending the library.
--> + + + +CMS Internals + +

How NML and CMS work?

+
+ +

Introduction

+

This document describes the internals of CMS and NML. It is assumed that you already know what CMS and NML are from reading The NML Programmer's Guide. It is also assumed that the reader is familiar with C++ and object oriented programming, although some of these concepts will be briefly reviewed in order to make the terminology clearer.

+ +

CMS uses a hierarchy of C++ classes to provide a variety of communication modules with a consitant interface. The base class called CMS is abstract but provides derived classes with several important function and data members. Derived classes provide only the essentials for using the given type of communication with the CMS interface by overloading key member functions. The NML class forms a wrapper for CMS by creating a CMS object with the cms_config function and associating it with an NML vocabulary or set of NML messages accepted by the user defined format function. The cms_config function creates an object of one of the derived classes and returns a pointer to it to NML which then uses the object pointed to without knowing which derived class it is using.

+ +

Remote access to CMS buffers is provided via communications servers created by instantiating and calling the run member function of the NML_SERVER class. NML_SERVER forms a wrapper for CMS_SERVER just as NML formed a wrapper for CMS. The CMS_SERVER creates a list of CMS_SERVER_LOCAL_PORTs which contain CMS objects that provide access to each buffer that the server will provide remote clients with access and one CMS_SERVER_REMOTE_PORT through which clients contact the server. When a request is received on the remote port the server selects the correct local port using the buffer number supplied with the request and calls the appropriate member function of the associated CMS object and then normally returns some data produced by that action after possibly performing some marshalling. For example, the server could receive a request to read from buffer #2. The server would find the port associated with buffer #2, call the read member of its associated CMS object and send the data back to the client.

+ +

The CMS_UPDATER class provides an interface for a set of modules that convert local data formats into machine independant formats such as XDR and back. Currently there are only two derived classes, CMS_XDR_UPDATER and CMS_ASCII_UPDATER.

+

The CMS Inheritance Tree

+

CMS uses a hierarchy of C++ classes to provide a variety of communication modules with a consitant interface. The base class called CMS is abstract but provides derived classes with initialization and clean up of several generic data members, a local memory buffer, an interface for data marshalling through the CMS_UPDATER class, and internal access functions that allow shared memory communications to more easily implement queuing and provide additional information to users about whether there is new data available or if a buffer has been read.The derived classes fall into two main groups, LOCAL and REMOTE. These types correspond with the use of "LOCAL" and "REMOTE" in the NML configuration file.(See The NML Programmers Guide under Writing + a configuration file or Terminology.)The next figure is the inheritance hierarchy.

+ +

The classes SHMEM and GLOBMEM are used for LOCAL access. SHMEM provides +communcations using a semaphored shared memory segment. It uses a key to +identify the segment, and can only provide communications between processes +running on the same processor. GLOBMEM provides communications via a physical +memory address and can allow processes on different processors in the same +backplane or with a bus-extendor between them to communicate. The classes +TCPMEM, UDPMEM, and RPCMEM are used for REMOTE access. TCPMEM provides +network communications via the Transport Control Protocol(TCP). UDPMEM +provides network communications via the User Datagram Protocol(UDP). UDPMEM is + sometimes faster and requires fewer resources than TCPMEM but it is not +recommended for messages greater than about 2k. RPCMEM provides network +communications via ONC or Sun Remote Procedure Calls(RPC). RPCMEM provides +a good combination of the speed of UDPMEM and the ability of TCPMEM to handle +arbitrarily large messages, however on MS-Windows PC's PCNFS with the +appropriate toolkit is required. RPCMEM is not compatible with OSF RPC. +PHANTOMMEM is used for temparily bypassing communications altogether. (See +The NML Programmer's Guide - Using +Phantom Buffers)

+

The CMS Base Class

+

The CMS class is defined in cms.hh. The class +should be thought of as abstract in the sense that it is only intended to be +used through one of its derived classes. However there are no pure virtual +member functions, so that designers of derived classes could have a choice of +which functions to overload. The CMS class provides classes derived from it +with a local memory buffer, neutral data encoding through the CMS_UPDATER +class, internal access functions that provide queuing and new data checking +for derived classes with direct memory access, and parsing of the buffer and +process lines for the channel from the NML file. + + + + diff --git a/doc/CodeGen-Instructions.html b/doc/CodeGen-Instructions.html new file mode 100644 index 0000000..8c0b2f6 --- /dev/null +++ b/doc/CodeGen-Instructions.html @@ -0,0 +1,239 @@ + + + + + +NML Code Generator Instructions + + + +

NML Code Generator

+ +

Introduction

+ +

The NML Code Generator is a Java program that can be run in four ways. +

+ +
    +
  1. As an interactive stand-alone graphical program.
  2. +
  3. As a component of the RCS-Design tool.
  4. +
  5. As a non-interactive program suitable for use in a makefile.
  6. +
  7. As an applet –– (See http://www.isd.mel.nist.gov/projects/rcslib/diagapplet/CodeGen.html. However this no longer works with the default configuration of most newer browsers, and is therefore not recommended.)
  8. +
+ +

+Its purpose is to take definitions of NML messages from C++ header files and +create either the corresponding C++ update, format, and constructor functions or Java definitions of those messages. +

+ +

Currently at least Java 2 Standard Edition 1.4 is generally needed. ( See http://java.sun.com )

+ +

Execution from within a Makefile or build script.

+ +

Running the command line non-interactive version of the program is +recommended for most situations, since it can be run from within a Makefile or build script automatically whenever the header files change just before +running the compiler.

+ +

There are two options here. One can either write a script in a small language unique the NML Code Generator for controlling the process or accept a default way of doing things and simply pass the generator a C++ header file.

+

The precompiled copy of CodeGenCmdLine.jar is available at +ftp://ftp.isd.mel.nist.gov/pub/rcslib/CodeGenCmdLine.jar.

+ +
+java -jar path_to_rcslib_bin/CodeGenCmdLine.jar mymsgs.hh
+
+ +

OR

+ +
+java -jar path_to_rcslib_bin/CodeGenCmdLine.jar script=myscript.gen
+
+ +

The option "script=yourscript.gen" tells the program +to open up the file "myscript.gen" and look there for commands. +The file yourscript.gen is a text-file with a series of commands to generate +the C++/Java files. In both cases the option "-Isome_directory" can be used to tell the NML Code Generator to look in a given directory for header files that are included within your header file and that define types needed in your messages. To have the generated code be compatible with versions of the RCS library before 2003.9 add the option "update_with_name=false".

+ + +

Some additional options:

+ +
+
debug_on=
+
set to true to print extensive + debug output +
+
update_with_name=
+
set to false to use the + older style CMS::update() functions rather than + CMS::update_with_name() functions. +
+
create_print_sizes_file=
+
set to true to + create a seperate file just for printing message sizes +
+
select_from_all_files=
+
if more than one + header is given and no script is used set to true to + include messages from all headers instead of just the last. +
+
sizes_filename=
+
when creating a file to + print sizes, use a name other than print_nmlmsg_sizes.cc +
+
generate_for_c=
+
when no script is given, + generate code for C +
+
generate_for_all_langs=
+
when no script is given, + generate code for C,C++, Ada & Java +
+
generate_for_cpp=
+
when no script is given, + set to false to NOT generate code for C++ +
+
generate_for_java=
+
when no script is given, + generate code for Java +
+
generate_for_ada=
+
when no script is given, + generate code for Ada +
+
dla_length_init=
+
set a default length other + than 0 for dynamic length arrays +
+
UseDefaultTypes=
+
use some default + builtin types +
+
print_script=
+
set to true to print + commands as they are executed from a script. +
+
+ + + +

Here is the list of commands for the ".gen" script.

+ +
+
# Comment
+
Lines that begin with a # are considered comments.
+
debug on/off
+
Turn on or off the printing of debug messages, useful for finding +incompatibilities in your C++ header files.
+
load filename
+
Read the C++ header file, filename, for NML message definitions.
+
select_from_file filename
+
Select the classes from the given file for use by later commands.
+
cd directory
+
Change to the given directory.
+
set_format_function format_function_name
+
Set the name of the format function to generate.
+
package java_package_name
+
Set the name of a Java package to put any Java classes into.
+
generate java classes >*
+
Create Java classes from each of the currently selected C++ classes and place them in separate files.
+
generate java dict >filename
+
Create an NML Message Dictionary in java using the currently selected classes and put it in the given file.
+
generate C++ update >filename
+
Create C++ update functions for each of the currently selected classes and append them to the given file.
+
generate C++ format >filename
+
Create a C++ format function using the currently selected classes and append it to the given file.
+
generate C++ constructor >filename
+
Create C++ constructors for each of the currently selected classes and append them to the given file.
+
clear
+
Deselect all the classes.
+
exit
+
Causes the code-generator to exit, ignoring any commands after this.
+
+ +

Here's an example script.

+ +
+# CodeGen Script file to create emoven.cc from emoven.hh
+load emoven.hh
+generate C++ format >emoven.cc
+generate C++ update >emoven.cc
+generate C++ constructor >emoven.cc
+exit
+
+ + +

Special Rules for the Header Files

+ +

The purpose of using C++ header files to provide the type information is to +make adding variables to command and status messages or adding new commands and status messages as simple and painless as possible. However the tool is not +a C++ compiler and so there are some issues to be aware of.

+ +
    +
  1. Update 15-Jun-2004:#include directives are now followed.
  2. +
  3. The types "long long", "unsigned long long", and "long double" are not portable and should therefore be avoided if possible.( See l64notes.html if your application deals with 64 bit integers.)
  4. +
  5. #if directives are considered false unless JAVA_DIAG_APPLET_FORCE_TRUE is +defined.
  6. +
  7. Only one variable should be defined on a line.
  8. +
  9. Surround things that should not be parsed by the tool with +#ifndef JAVA_DIAG_APPLET and #endif. This includes: +
      +
    • Multiple line functions and macros. (Most functions don't belong in +the header file any way.)
    • +
    • Variables included in the message but that should not updated in the NML update function.
    • +
    • Large classes which will never be sent as NML messages and will just +slow down the tool and eat up more memory to include.
    • +
    +
  10. +
  11. Each NML message should have a #define in the same header file + giving the unique message type id formed by adding _TYPE to the + class name. For example for class NML_TASKEX_INIT there + should be a +
    +#define NML_TASKEX_INIT_TYPE 101
    +
    +
  12. +
+ +

Interactive Operation

+ +
    +
  1. Enter the URL or file name of the C++ header file or Diagnostics Configuration file into the text field at the top of the applet. +
  2. +
  3. +Select NML messages for which +update and/or format functions should be created from the "Available Classes" that were found. +
  4. +
  5. +Press one or more of the "Add" buttons to create the source code. +
  6. +
  7. +Copy and paste the code into a text editor. +
  8. +
+ +

Notes:

+
    +
  • + Once You have +generated any C++ code, the tool will not allow you to create Java code or vice-versa until you press the "CLEAR" button. +
  • +
  • +Some browsers does not allow java applets to read or write to local files. +Microsoft Internet Explorer 3+ and Netscape 4+ have the same restriction unless you see my digital signiture when you load the applet and choose "Yes" +Update 15-Jun-2004: I no longer sign the applet, running inside a browser just does not work anymore. +
  • +
  • +For information on how to use this code, see The NML Programmer's Guide C++ and/or Java versions. +
  • +
+ +
+

Last Modified: 15-Jun-2004

+

If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

+ + + + + diff --git a/doc/EXAMPLE_MSG.java b/doc/EXAMPLE_MSG.java new file mode 100644 index 0000000..bf54b32 --- /dev/null +++ b/doc/EXAMPLE_MSG.java @@ -0,0 +1,105 @@ +/* +* New Java File starts here. +* This file should be named EXAMPLE_MSG.java +* Automatically generated by NML CodeGen Java Applet. +* from /home/shackle/nml_ex1.hh:0 +* with command line arguments : generate_for_java=true generate_for_cpp=false HHFile=/home/shackle/nml_ex1.hh +* RCS_VERSION=2009.12.17_1575* +* .gen script : +* 0:load /home/shackle/nml_ex1.hh +* 1:clear +* 2:select_from_file /home/shackle/nml_ex1.hh +* 3:generate Java dict>/home/shackle/nml_ex1_MsgDict.java +* 4:generate Java classes >* +* 5:exit +* +*/ + +// Import all NML and posemath interfaces +import rcs.nml.*; +import rcs.posemath.*; + +/* +* Class definition for EXAMPLE_MSG +* Automatically generated by NML CodeGen Java Applet. +*/ +public class EXAMPLE_MSG extends NMLmsg implements Cloneable +{ + public double d = 0; + public float f = 0; + public byte c = 0; + public short s = 0; + public int i = 0; + public long l = 0; + public byte uc = 0; + public short us = 0; + public int ui = 0; + public long ul = 0; + public int da_length = 0; + public double da[] = new double[20]; /* NML_DYNAMIC_LENGTH_ARRAY */ + + + // Constructor + public EXAMPLE_MSG() + { + super(101); + for(int i_da = 0; i_da < 20; i_da++ ) + { + da[i_da] = 0; + } + + } + + + + // Constructor that should be used by any classes that extend this class. + protected EXAMPLE_MSG(int _type) + { + super(_type); + for(int i_da = 0; i_da < 20; i_da++ ) + { + da[i_da] = 0; + } + + } + + + public void update(NMLFormatConverter nml_fc) + { + + nml_fc.beginClass("EXAMPLE_MSG","NMLmsg"); + + nml_fc.beginBaseClass("NMLmsg"); + + super.update(nml_fc); + + nml_fc.endBaseClass("NMLmsg"); + d = nml_fc.update_with_name("d",d); + f = nml_fc.update_with_name("f",f); + c = nml_fc.update_with_name("c",c); + s = nml_fc.update_with_name("s",s); + i = nml_fc.update_with_name("i",i); + l = nml_fc.update_with_name("l",l); + uc = nml_fc.update_unsigned_with_name("uc",uc); + us = nml_fc.update_unsigned_with_name("us",us); + ui = nml_fc.update_unsigned_with_name("ui",ui); + ul = nml_fc.update_unsigned_with_name("ul",ul); + da_length = nml_fc.update_dla_length_with_name("da_length",da_length); + nml_fc.update_with_name("da",da,da_length); + + nml_fc.endClass("EXAMPLE_MSG","NMLmsg"); + + } + + + public Object clone() throws CloneNotSupportedException + { + EXAMPLE_MSG cloned_object = (EXAMPLE_MSG) super.clone(); + if(this.da != null) { + cloned_object.da = (double []) this.da.clone(); + } + return cloned_object; + + } +} + diff --git a/doc/EXAMPLE_MSG_TYPE_map.csv b/doc/EXAMPLE_MSG_TYPE_map.csv new file mode 100644 index 0000000..fa44b21 --- /dev/null +++ b/doc/EXAMPLE_MSG_TYPE_map.csv @@ -0,0 +1,15 @@ +type,name,size,offset,elsize,arraylen,offset_from,dla_maxlen,comment +long,type,4,1,4,0,,0, +long,size,4,5,4,0,,0, +double,d,8,9,8,0,,0, +float,f,4,17,4,0,,0, +char,c,1,21,1,0,,0, +short,s,2,22,2,0,,0, +int,i,4,24,4,0,,0, +long,l,4,28,4,0,,0, +uchar,uc,1,32,1,0,,0, +ushort,us,2,33,2,0,,0, +uint,ui,4,35,4,0,,0, +ulong,ul,4,39,4,0,,0, +int,da_length,4,43,4,0,,0,#dynamic_length +double_array,da,8,47,0,20,,20,#dynamic_length_array diff --git a/doc/EXAMPLE_MSG_TYPE_map_v2.csv b/doc/EXAMPLE_MSG_TYPE_map_v2.csv new file mode 100644 index 0000000..c552925 --- /dev/null +++ b/doc/EXAMPLE_MSG_TYPE_map_v2.csv @@ -0,0 +1,15 @@ +type,name,size,offset,elsize,arraylen,offset_from,dla_maxlen,comment +long,type,4,1,4,0,,0, +long,size,4,5,4,0,,0, +float,f,4,9,4,0,,0, +char,c,1,13,1,0,,0, +short,s,2,14,2,0,,0, +int,i,4,16,4,0,,0, +long,l,4,20,4,0,,0, +uchar,uc,1,24,1,0,,0, +ushort,us,2,25,2,0,,0, +uint,ui,4,27,4,0,,0, +ulong,ul,4,31,4,0,,0, +int,da_length,4,35,4,0,,0,#dynamic_length +double_array,da,8,39,0,20,,20,#dynamic_length_array +char_array,name,10,0,1,10,name,0, diff --git a/doc/Makefiles.html b/doc/Makefiles.html new file mode 100644 index 0000000..7ae29a1 --- /dev/null +++ b/doc/Makefiles.html @@ -0,0 +1,388 @@ + + +Using generic.def for RCS Applications + + + + +
+

RCS Makefiles and Directory Structure

+

Using generic.def and Other Programmer's Tools

+
+
+
+

Introduction

+ +Makefiles are files that provide rules for compiling a particular application, +which are applied by programs such as GNU Make. +Usually these rules are written for a specific application + and for a particular platform. +generic.def (formerly called Makefile.generic) + is a make definitions file that provides +additional rules that are not application specific that are then +included in application makefiles to provide these features: +
    +
  1. Allow the application to be easily compiled for multiple platforms.
  2. +
  3. Provide each programmer with ability to develop and test modifications to +the application without affecting other programmers working on the application +or users.
  4. +
  5. Allow information about the compilers and libraries available at a given +site for each platform to be centralized.
  6. +
  7. Allow programmer's to more easily generate and + use automatically generated dependency rules for header files.
  8. +
  9. Add's the directory for the RCS Library header files to the compiler's +include path.
  10. +
+ +In order for generic.def to work applications need to follow a particular +directory structure, set certain Makefile variables, and follow some +conventions for filenames. It is compatible with GNU Make but is +not compatible with some other make utilities like Microsoft's NMAKE. + +

Directory Structure

+ +Each application is expected to select one main application directory and +to mirror the directory tree under this directory + for each programmer working on the application. This allows +each programmer to change the source code, re-compile and +test those changes in a private workspace +before releasing the changes to be used by the rest of the +organization. +The main application release directory should contain the +directory tree shown in the Directory Tree Table. +Each programmer's copy follows the same structure except that the SCCS +directories are replaced with symbolic links to the corresponding SCCS +directory under the main application directory. + + +

The Application Include Makefile

+ +It is recommended that each application create a short makefile +to include some definitions to be used by makefiles throughout the +application. This file should be a very convenient place to +include generic.def and to define the APPDIR variable which +generic.def will use. APPDIR should be set to the full path to the main +application directory. This may also be a good place to set LOCAL_CFLAGS or other variables used by +generic.def. The following is an example file that will be called +"Makefile.app" in later examples: + +

+ +

+#  Application Include Makefile for the application called `app'.
+
+# Add some C and C++ compilation flags for our application. ]
+#  (-g -- include debugging info, -pg -- include profiling support for gprof)
+LOCAL_CFLAGS = -g -pg
+
+# Define APPDIR
+APPDIR = /home/manta/app
+
+# Include the generic Makefile definitions
+include /home/manta/rcslib/etc/generic.def
+
+

+ (To follow the Enhanced Machine Controller(EMC) convention, + Makefile.app should be placed in the top-level directory.)

+

The Top-Level Makefile

+ +The primary purpose of the top-level makefile is to provide a convenient +way to call for a make of the appropriate target(s) in each subdirectory. +There are several targets of importance +in generic.def that +can easily be passed to the subdirectories as the following example shows: + +
+
+# Top-Level Makefile for the application called `app'.
+
+# Include the Application Include Makefile
+include Makefile.app
+
+# To build any of these phony targets go to each subdirectory and run make.
+clean depend install all headers sources:
+	(cd src/sub_directory1; $(MAKE) -k $@)
+	(cd src/sub_directory2; $(MAKE) -k $@)
+	(cd src/sub_directory3; $(MAKE) -k $@)
+
+
+ +

Subdirectory Makefiles

+ +Each source subdirectory should have its own Makefile. Within this makefile +programmers will need to define several variables, include the application +include makefile, and provide rules for linking any binaries or libraries +together. The following example can be used as a template: + +
+# Makefile for sub_directory1 of the application called `app'.
+
+# Set the variables required by generic.def
+SOURCES = example1.cc example2.cc example3.cc
+OBJS = example1.o example2.o example3.o
+LIBS = 
+
+ifeq (vxworks,$(findstring vxworks,$(PLAT)))
+BINS = 
+else
+BINS = example_bin
+endif
+
+# Include the Application Include Makefile
+include ../../Makefile.app
+
+# Create rules to link together specific binaries.
+$(DEVP_PLAT_BIN)/example_bin: \	
+	$(DEVP_PLAT_LIB)/example1.o \
+	$(DEVP_PLAT_LIB)/example2.o \
+	$(DEVP_PLAT_LIB)/example1.o
+	($(COMPILER_SETUP); \
+	$(CPLUSPLUS) $(CFLAGS) $(CPLUSPLUSFLAGS) $(CLINK) $(CPLUSPLUSLINK) $^ -o $@;)
+
+
+ +

Variables used in generic.def

+ +Several variables are used within generic.def to control how +your application is built. Other variables are set by generic.def or within one of the platform specific makefiles (of the form $(PLAT).def such as Makefile.vxworksCC or Makefile.sunos4) to aid in the development of rules for specific binaries and libraries. In the table below the "Where Set?" column provides recommended locations for setting each variable, unless the location is $(PLAT).def or generic.def in which case the variable must be set there and should not be set anywhere else. The platform specific makefiles are automatically included by generic.def so there is no need to include them directly from application makefiles.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VARIABLEWhere Set?Meaning
APPDIRApplication Include MakefileSpecifies the main application directory, +which is used in the INCLUDE path and for +performing an install when the application is ready to be released.
AR$(PLAT).defProvides the name and path of the library archiver for the given +platform. (See the ar manpage.) + +
BINSSubdirectory MakefileLists the executable binary files that should be created by running make in +this subdirectory. +Binaries will need to have a separate rule at the end of the makefile. +
CC$(PLAT).defProvides the name and path of the C compiler for the given platform. +
CPLUSPLUS$(PLAT).defProvides the name and path of the C++ compiler for the given platform. +
COMPILER_SETUP$(PLAT).defProvides the command(s) required to setup the environment so the compiler +and related tools can be used. It should be used at the beginning of commands +in rules for specific binaries and libraries. +
DEVP_PLAT_BINgeneric.defProvides the name of the directory where executable binary files should land within the programmer's workspace. It should be used to provide +rules for specific binaries. +
DEVP_PLAT_LIBgeneric.defProvides the name of the directory where object files and libraries should land within the programmer's workspace. It should be used to provide +rules for specific binaries and libraries. +
HEADERSSubdirectory MakefileLists the header files found in this directory +that should be copied to +the platform include directory so that they may be used from other directories +or by other programmers. +
LIBSSubdirectory MakefileLists the library files that should be created by running make in this subdirectory. +Libraries will need to have a separate rule at the end of the makefile. +
LOCAL_CFLAGSApplication Include MakefileLists options that will be passed to the C or C++ compiler. +
LOCAL_CPLUSPLUSFLAGSApplication Include MakefileLists options that will be passed to the C++ compiler. (not to a C compiler) +
OBJSSubdirectory MakefileLists the object files that should be compiled by running make in this subdirectory. +
PLATCommand LineSpecifies which platform to compile for. It is normally set on the command line so that programmers can easily switch between +multiple compilers and cross-compilers. It defaults to the value of the osrev +environment variable. +
RANLIB$(PLAT).defProvides the name and path of the ranlib utility for the given platform if +one exists and is required, otherwise the variable contains some command that +should have no effect. The ranlib utility converts archives to random libraries. (See the ranlib manpage.) +
RCS_INCLUDEgeneric.defProvides the directory where header files for the RCS library are placed. +
RCS_LIBRARYgeneric.defProvides the name and path of the RCS Library for the platform set with +PLAT. +
RCS_PLATLIBgeneric.defProvides the path to the RCS Library for the platform set with +PLAT. This is +also the location of the pmac and pcio libraries if they exist for the platform. +
SOURCESSubdirectory MakefileLists the C and C++ files used from that subdirectory. +C files should have the .c extension and C++ files should have the .cc extension. Thie list is used +for creating automatic dependency lists and for storing archives of the source +code during an install. Do not list header files here. +
USER_DIRProgrammer's Environment, Application Include Makefile, or command lineSpecifies the top-level directory in the programmer's workspace. It defaults to the name of the application under the programmer's home directory. It is recommended that the applications be set up so that the default can be used and USER_DIR need not be set.
For example: If APPDIR=/home/manta/emc and the programmer's login name was "shackle" then the workspace should be placed in ~shackle/emc to match the default. +
+ +

Special Targets

+generic.def provides rules for creating several PHONY targets. By specifying one of +these targets on the command line, the programmer can have several useful +tasks performed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Target NamePurpose
allUpdate everything within the programmer's workspace, including +copying header files to the include directory, compiling, linking and +archiving as necessary.
cleanDeletes object files and programs from the programmer's workspace. This +is useful for example when a change in compiler options would not take effect +unless the entire application is rebuilt. +
dependGenerate lists of dependencies so that files will be recompiled +whenever a header file they include directly or indirectly has changed (uses +the makedepend utility). +
headersCopies the header files to the src and include subdirectory +of the current platform directory. For Windows and DOS platforms the files are +also converted with unix2dos. +
installCopy all the source, header, object files, libraries and programs +from the programmer's workspace to the main application release the main application directory. +
sourcesCopies the source and header files to the src and include subdirectories +of the current platform directory. For Windows and DOS platforms the files are +also converted with unix2dos and the .cc extension is replaced with .cpp. +
+ + +

Terminology

+
+
Platform
+
Each platform specifies a particular compiler, CPU type, operating +system and sometimes certain compiler options, such as whether to compile +a Windows program as a 16 or 32 bit application. For each platform there will be a subdirectory in both the programmer's workspace directory and in the +application release directory. The PLAT variable should be set the name of +this subdirectory. The Platforms Tested Table +for the RCS Library also lists the names of the platforms as used by +generic.def.
+
WorkSpace
+
Each programmer will have a separate workspace directory which mirrors +the main application directory except that the SCCS directories are replaced +with symbolic links to their counterparts in the main application directory. +
+
+
+ +

Last Modified: 04/02/98

+ + + +

If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

+ + + diff --git a/doc/Makefiles.ps b/doc/Makefiles.ps new file mode 100644 index 0000000..8788988 Binary files /dev/null and b/doc/Makefiles.ps differ diff --git a/doc/NML.html b/doc/NML.html new file mode 100755 index 0000000..203f8b1 --- /dev/null +++ b/doc/NML.html @@ -0,0 +1,1154 @@ + + + NML Guide (C++ Version) + + + + + +

+The NML Programmer's Guide (C++ Version)

+ +
+

Introduction

+

The +Real-Time Control System (RCS) library is a C++ class library intended +for multi-platform real-time distributed applications. It has been +compiled and tested on several platforms including MS-DOS, MS Windows +, and several UNIX Workstations. + This document describes the use of the Neutral Message Language (NML) +components of the library.

+

The Communication Management System +(CMS) provides access to a fixed-size buffer of general data to +multiple reader or writer processes on the same processor, across a +backplane, or over a network. Regardless of the communication method +required, the interface to CMS is uniform. Methods are provided to +encode all of the basic C data types in a machine independent or +neutral format, and to return them to the native format. A CMS_HEADER +is added to each buffer which provides information about whether the +buffer has been written or read from last, whether the buffer is new +to a particular process and the size of the last write to the buffer. +CMS uses a configuration file so that users can change communications +protocols or parameters without recompiling or relinking the +applications.

+

The Neutral Message Language (NML), formerly known as the Neutral +Manufacturing Language, provides a higher level interface to CMS. It provides a mechanism for +handling multiple types of messages in the same buffer as well as +simplifying the interface for encoding and decoding buffers in neutral +format and the configuration mechanism.

+

Most of the examples have corresponding text +files which can be down-loaded and compiled. The examples are included +both directly in this document for easy reading and as separate +text-only files which are ready to be compiled. (WWW Users: You may +have to use your browser's "Save" or "SaveAs" +command to get the files.) Unfortunately, given the variety of systems +and compilers that are available it is impossible for me to give +detailed compiling instructions here. However the following form +should work on most systems.(All typed on one line.)

+
+[C++ Compiler] -I[Location of RCS Include Files] [Example C++ File(s)] [RCS Library for Platform] -o [Executable File]
+
+

Since a working knowledge of C++ will be very helpful for understanding or using the +RCS library utilities you may want to review "A Quick C++ +Introduction for RCS Library Users".

+

+Terminology

+

The figure below +illustrates the structure of a typical RCS application using NML. The +application is distributed across three computers. Processes 1, 2, and +3 are able to write directly into the shared memory buffers they use +because they are located in the same computer or backplane. It is for +this reason that they are labeled "LOCAL". Processes 4,5 and 6 can +only access the buffers through an NML Server and are therefore +labeled "REMOTE". The description might need to be complicated in a +system with buffers in more than one machine. Processes would then +need to be described as local or remote with respect to a particular +buffer.

+ NML Example System

NML servers must be run for +each buffer that will be accessed by remote processes. They read and +write to the buffer in the same way as local processes on the behalf +of remote processes.

+

NML uses configuration files to store information about which processes communicate with +which buffers and how. Most of the options available to NML programmers are chosen by specifying them in the +configuration file. (The configuration files are ascii text files with a format described under "Writing NML Configuration Files".)

+

NML is message-based rather than +stream-based. Each successful read operation retrieves the data sent +in exactly one write operation. Unless queuing is enabled, each write +operation moves one message into the buffer replacing any previous +message.

+

More than one type of message can be sent to the same buffer so a +unique type identifier is always contained in the message. After a +read operation, the process must use this identifier to determine the +type of message before using any of the data in the message. Each type +of message implies a particular data structure. Most messages are +user-defined.

+

Messages are called encoded if they have been +translated into a machine-independent or neutral format such as the +eXternal Data Representation (XDR). Buffers are called encoded if the +messages in them are to be encoded which is established in the +configuration file. NML servers can encode and decode messages on +behalf of remote processes. An NML vocabulary defines the set of +messages that may be used in an application and provides the necessary +functions for encoding and decoding the messages.

+

Header File

+

All of the necessary header files will be included if +rcs.hh is included.

+

Classes

+

The following classes provide the programming interface for CMS and NML:

+ +

NML
NMLmsg
NML_SERVER

+ +

CMS
CMS_HEADER
CMS_SERVER

+

CMS_USER

+

These +classes are detailed in the following sections.

+

NML Application +Structure

+

The next figure shows the structure of a single +concurrent process module using NML (the memory buffer appears to be +local to the application)

+ Application->NML->format->update->CMS

The +applications routines initialize and use objects from class NML and +NMLmsg which depend on some user-defined functions. The format +function selects from a set of user defined update functions for each +aggregate type the user will need to pass to the memory buffer. The +update function for each aggregate type is built by updating each +member individually using CMS routines for the basic C data types. +These basic update routines write to and read from internal CMS +buffers which are themselves read or written to memory buffers that +are available to other concurrent processes using the CMS +Communications Routines.

+ + +

+Designing an NML Application.

+ +

Because NML is configurable, programmers can choose between +protocols with higher performance but which may be more restrictive or +require more expensive hardware or those that are less restrictive or +require less expensive more widely available hardware. By making a +buffer local to a process you can improve the performance of that +process. By moving processes you may be able to reduce the load on one +CPU or increase the number of processes able to use the faster local +protocol. Using servers to provide remote access to buffers frees +local processes from being slowed down by the communications with +remote processes.

+

+Example: Robot Controller/Supervisor +Design

+

A controller for a robot must poll a variety of inputs +and perform some computations every "n" milliseconds and a +remote supervisor should be able to check the status of the robot when +needed.

+

The next figure shows one possible design for this +application. Because the controller can write directly to the shared +memory buffer, writing the status takes a minimum time for the +controller. Using the NML server allows the supervisor to be located +almost anywhere and on almost any host.

+ Controller/Supervisor System Diagram +

+

+Summary of Design Suggestions.

+
  1. Avoid +overloading any CPU by assigning too many processes to it or building +a single process which must do too much work.
  2. +
  3. Place buffers +so that they may be accessed locally by the most time-critical +process(es).
  4. +
  5. Use the "LOCAL" protocol whenever possible. +
  6. +
  7. Only use neutrally encoded buffers when necessary.(i.e. +backplane communications between different types of processors) +
  8. +

+Programming with NML +

+NML applications programmers need to create a message +vocabulary and associated format function, write a configuration file, +create an NML object, and use the read and write member functions. +

+

+Creating an NML Vocabulary (Format Functions, Update Functions, and Message Definitions) +

+

The message vocabulary is a set of C++ classes, derived from +NMLmsg, which can be thought of as data structures that are copied +into the NML buffer during a write operation, and copied out during a +read operation. Each class is associated with a unique identifier, a +positive integer, that allows readers to identify which message is +present in the buffer. Besides the particular data members of the +class, each class also needs an update function which calls CMS +methods to convert the data members to types CMS can handle. +Currently, CMS provides support for the basic C language built-in +types. However, avoid using enums or long doubles in NML messages. +(See "Trouble Shooting - +Insufficient Arguments Error")

+

To enable CMS to neutrally +format the data in the buffer or to allow NML servers to encode and +decode the data for remote processes, a format function is required. +This format function is nothing more than a switch statement, +associating NML identifiers with the update functions of particular +NML message classes. The format function can be manually programmed as +will be described below, or it can be automatically generated using +the NML Code Generator.

+

Variable Length Arrays

+

Some advanced users define messages with variable length arrays. +There are several ways to do this, but the simplest and most convenient way +is ussually to use the DECLARE_NML_DYNAMIC_LENGTH_ARRAY macro. The macro +has special meaning to the NML Code Generator. The result is an array with +a constant maximum size but where only the first name_length elements are sent + across the network with each remote read or write. Local reads and writes can be forced to use the condensed version by setting the neutral configuration +file flag to 1. +

+

For your information the text of the macro is:

+
+#define DECLARE_NML_DYNAMIC_LENGTH_ARRAY(type, name, size) int name##_length; type name[size]; 
+
+ +

+Example: Message Definition.

+

Files needed for this example include: nml_ex1.hh, nml_ex1.cc

+
nml_ex1.hh
+
 
+/* nml_ex1.hh */ 
+
+#ifndef NML_EX1_HH 
+#define NML_EX1_HH 
+#include "rcs.hh"
+
+/* Give the new structure a unique id number */ 
+#define EXAMPLE_MSG_TYPE 101 
+
+/* The id number must be unique within a CMS
+buffer, i.e. the number must be different than the id of any other
+type that might be written to a particular buffer. For simplicity it
+is recommended that the id number also be unique within an
+application. */
+
+/* Define the new message structure */ 
+struct EXAMPLE_MSG: public NMLmsg {
+
+	/* The constructor needs to store the id number */
+ 	/* and the size of the new structure */
+	/* by passing them as arguments to the base class constructor. */
+ 	EXAMPLE_MSG():NMLmsg(EXAMPLE_MSG_TYPE, sizeof(EXAMPLE_MSG)){};
+
+	/* Each new type needs to overload the update function. */
+	void update(CMS *cms);
+
+	/* Data in this new message format. */
+	float f;
+	char c;
+	int i; 
+	DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, da, 100);
+	
+};
+
+/* Declare the NML Format function. */ 
+int ex_format(NMLTYPE type, void *buf, CMS *cms);
+
+#endif  /* End of NML_EMC_HH */ 
+
+
+nml_ex1.cc
+
 
+/* nml_ex1.cc */ 
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+/* Add a new case to the format function. */ 
+/* This is the format function that will be passed to the NML
+constructor. "type" is the id stored by the constructors of classes
+derived from NMLmsg in the type member. "buf" is a pointer
+to a block of contiguous memory where data to be updated is stored. 
+"cms" is a pointer to the cms object that is used to access
+the globally accessible buffer. */ 
+int ex_format(NMLTYPE type, void *buf, CMS *cms)
+{
+	switch(type)
+	{
+	/* . . .  */
+	case EXAMPLE_MSG_TYPE: /* Add only this case. */
+		((EXAMPLE_MSG *)buf)->update(cms);
+		break;
+	/* . . . */
+	default:
+		rcs_print("ex_format: No Matching NML type.\n");
+		return(-1);
+	}
+	return(0); 
+}
+
+/* Create the update function */ 
+void EXAMPLE_MSG::update(CMS *cms) 
+{
+	cms->update(f);
+	cms->update(c);
+	cms->update(i); 
+} 
+
+

NOTE: All the NML updates are +identical except that the body should call the CMS update function for +each member in the structure. The update function has been overloaded +to accept references to all of the basic C data types (ints, floats, +etc.) Depending on the CMS mode the update functions will either store +their argument in a neutrally encoded buffer or decode the buffer and +store the output in the variables passed to the update functions. Just as +with the format function, the update functions can be either manually coded +or generated automatically with the NML Code +Generator. +

+

+Creating an NML Object +

+

NML has several constructors, but most users will use the +following.

+

NML(NML_FORMAT_PTR f_ptr, char * +buf, char *proc, char *file);

+ +

The parameters are:
f_ptr = <address of format +function to use>;
buf = <name of the buffer to +connect to as specified in configuration file>;
proc += <name under which to access the buffer>;
file = +<name of the configuration file>;

+

+

Constructors +can be called in the declaration of a variable or after new if the +memory for the object is dynamically allocated.

+

+Example: +Constructors

+

Files needed for this example include: nml_ex2.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+
+nml_ex2.cc
+
	 
+/* nml_ex2.cc */
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+main() {
+	/* NML( format function, buffer name, process name, configuration file ) */
+	NML example_nml(ex_format, "ex_buf1","ex2_proc", "ex_cfg.nml");
+	NML *example_nml_ptr;
+	example_nml_ptr = new NML(ex_format, "ex_buf2","ex2_proc","ex_cfg.nml"); 
+} 
+
+

+Reading NML Data

+

If you examine +many of the communications interfaces you'll find a function that +looks like the UNIX read function.

+

/* UNIX general purpose +read. */

+

int read(int fd, char *buf, int nbyte);

+

/* +UNIX Read from message queue. */

+

int msgrcv(int msqid, struct +msgbuf *, int msgsz, long msgtyp, int msgflg);

+

/* Read from a +socket (often used for TCP/IP) */

+

int recv(int socket, char +*buf, int len, int flags);

+

Notice that the first parameter is +an identifier of the source to read, the second parameter is some type +of pointer to a buffer, and the third parameter is a measure of the +size of the buffer. Unfortunately this is a rather poor model for +configurable message-based communication because the program receiving +a message must be able to create a buffer large enough to hold the +incoming message even though there is no way it can know the size of +the new message. NML solves this problem by providing users access to +a local buffer that was created based on the size specified in the +configuration file and will contain a copy of the incoming message +after a read operation.

+

These are the member functions used to perform +read:

+

NMLTYPE NML::read();

+

If the read is successful +the message currently in the global CMS buffer will be copied into a +local buffer for this process. The address of this local buffer is +available through the member function get_address. If the buffer is +encoded the format function will be called to return the message to +native format. The message should be some user defined type derived +from NMLmsg.The member NML::error_type can be examined to see the +cause of NML::read returning -1.(See "Handling Errors" ) If +queuing is enabled on this buffer this read will remove the message +from the queue so that other processes that are reading +from this buffer will see the next message on the queue and +potentially miss this one.

+

+

Returns:

+

0 if the +buffer has not been written to since the last read or
-1 if an error +occurred; or
the type id of the message received if the buffer +contains new data.

+

NMLmsg *NML::get_address();

+ + +

This function returns a pointer to the NML data stored during an +NML::read() operation.

+

+

+Example: Reading from an NML +Channel.

+

Files needed for this example include: nml_ex3.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+
+nml_ex3.cc
+ +
 
+/* nml_ex3.cc */ 
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+#ifdef VXWORKS 
+extern "C" void example_nml_read();
+
+void example_nml_read() 
+#else 
+main() 
+#endif 
+{
+	RCS_TIMER timer(0.1);
+	NML example_nml(ex_format, "ex_buf1","ex3_proc", "ex_cfg.nml");
+	EXAMPLE_MSG *example_msg_ptr;
+	int quit = 0;
+
+	while(!quit)
+	{
+		switch(example_nml.read())
+		{
+		case -1:
+			rcs_print( "A communications error occurred.\n");
+			quit = 1;
+			break;
+
+		case 0:
+			/* The buffer contains the same message */
+			/* you read last time. */
+			break;
+
+		case EXAMPLE_MSG_TYPE:
+			example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address();
+			rcs_print(" We have a new example message. \n");
+			rcs_print(" The value of its members are:\n ");
+			rcs_print(" f=%f, c=%c, i=%d\n ",
+				example_msg_ptr->f,
+				example_msg_ptr->c,
+				example_msg_ptr->i);
+			quit = 1;
+			break;
+		}
+		timer.wait();
+	} 
+} 
+
+

This example also uses the RCS_TIMER class and the rcs_print function described in +the guide for the RCS Library Lower Level +Utilities. The symbolic constant VXWORKS should be defined only if +you wish to compile the example for VxWorks. If you try to run this +example, it will wait for something to be written into the buffer. To +write something into the buffer, you can use the example in Writing NML Data

+ +

NMLTYPE NML::blocking_read(double timeout);

+

This performs the same function as the read() above except that if there +is no new data the calling process will be put to sleep until either another process writes to the buffer or the timeout occurs. The timeout is given in seconds. to wait indefinitely provide a negative timeout. It is necessary to add +"bsem=<key>" to the buffer line of the NML configuration file in order to be able to perform a blocking read.

+

+

Returns:

+

-1 if an error +occurred; or
the type id of the message received if/when the buffer +contains new data.

+ +

NMLTYPE NML::peek();

+ +

/* Read an NML message from a CMS buffer without +changing the was_read flag */

+ +

Peek works exactly the +same as read except that the flag that lets others know when the +buffer is read is not changed and if queuing is enabled the message is +not removed from the queue. This could be useful if you need to monitor +a buffer without letting other processes using the buffer know. The +member NML::error_type can be examined to see the cause of NML::peek +returning -1.(See "Handling +Errors")

+ +

Returns:
0 if the buffer has not been +written to since the last read;
-1 if an error occurred; or
the +type id of the message received if the buffer contains new data.

+ +

+Writing NML Data

+ +

If you examine many of the communications interfaces you'll find a +function that looks like the UNIX write function.

+ +

/* UNIX general purpose write. */

+ +

int write(int fd, char *buf, int +nbyte);

+ +

/* UNIX Send to a message queue. */

+ +

int msgsnd(int msqid, struct msgbuf *, int msgsz, long msgtyp, int +msgflg);

+ +

/* Output to a socket (often used for TCP/IP) */

+ +

int send(int socket, char *msg, int len, int flags);

+ +

Notice +that the first parameter is an identifier of the destination to write, +the second parameter is some type of pointer to a buffer, and the +third parameter is a measure of the size of the buffer. However C++ +allows us to considerably simplify this interface, by storing the size +of a message when its constructed and by overloading the write +function to accept either references or pointers to messages. All of +the NML write functions are non-blocking.

+

These are the +member functions used to perform writes:

+

/* Write an NML +message into a CMS buffer */

+

int NML::write(NMLmsg +&nml_msg); /* Reference version. */

+

int +NML::write(NMLmsg *nml_msg); /* Pointer version. */

+ +

nml_msg should be a pointer or reference to an object of +some user defined type derived from NMLmsg. If the buffer is +configured to be in a neutral format the message will be encoded +before it is written to the CMS buffer. The write functions overwrite +the message currently in the buffer if queuing is not enabled. The +member NML::error_type can be examined to see the cause of NML write +returning -1.(See "Handling +Errors" ) + +

Returns: +
0 if successful; +
-1 otherwise.

+ +

Example: Writing to an NML Channel.

+

Files needed for this example include: nml_ex4.cc, +nml_ex1.hh, nml_ex1.cc, ex_cfg.nml

+
nml_ex4.cc
+
 
+/* nml_ex4.cc */ 
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+#ifdef VXWORKS 
+extern "C" void example_nml_write()
+
+void example_nml_write() 
+#else main() 
+#endif {
+	NML example_nml(ex_format, "ex_buf1","ex4_proc", "ex_cfg.nml");
+	EXAMPLE_MSG example_msg;
+	example_msg.f = 123.456;
+	example_msg.c = 'c';
+	example_msg.i = 99;
+	example_nml.write(example_msg); 
+}
+
+

The symbolic +constant VXWORKS should be defined only if you wish to compile the +example for VxWorks. This example writes a message into a buffer. To +read the message use the example in Reading NML Data

+ +

/* Write an NML message into a CMS buffer if it has been read. */

+ +

int NML::write_if_read(NMLmsg &nml_msg); /* Reference version. */

+

int NML::write_if_read(NMLmsg *nml_msg); /* Pointer version. */

+ +

These functions combine the operations of +writing and checking if a buffer has been read. It checks to see if +the buffer has been read. If it has then it writes the message into +the buffer just as write would, but if not it returns -1. Since there +is only one access to the buffer, there is no way for another process +to write into the buffer between the check and the write. The member +NML::error_type can be examined to see the cause of NML write_if_read +returning -1.(See "Handling +Errors")

+

Returns: +
0 if successful; +
-1 otherwise.

+ +

Checking If Data Has Been Read.

+

If queuing is not enabled then a +flag is kept in every CMS buffer called was_read. Every time a write +is performed on the buffer the flag is set to 0. Every time a read is +performed on the buffer the flag is set to 1. The check_if_read +function just returns the value of that flag. To avoid overwriting a +buffer that has not been read yet, it is better to use the +write_if_read function. The member NML::error_type can be examined to +see the cause of NML::check_if_read returning -1.(See"Handling Errors" )

+

If queuing is enabled then the check_if_read function returns 1 +only if all of the messages in the buffer have been read meaning that +the queue is empty.

+ +

Here is the prototype:

+ +

int NML::check_if_read();

+ +

Returns: +
0 The buffer contains a message that has never been read. +
1 The buffer contains a message that has been read at least once. +
-1 An error occurred that prevented NML from determining +whether the buffer has been read.

+ +

Clearing a buffer.

+

You may +want to clear a buffer to preempt previously sent messages still in +the queue or to ensure that residual data in a buffer is not mistaken +for NML messages.

+

int NML::clear();

+ +

Returns: +
0 The buffer was successfully cleared. +
-1 An error occurred.

+ +

Loading an NML Configuration file to memory.

+

In order to start up a process faster, it is possible to load the configuration file in to memory before creating several NML channels that use the same +file. The file can later be unloaded to free the previously allocated memory.

+ +

Example: Loading a config file for faster startup.

+
 
+
+. . .
+	load_nml_config_file( "ex_cfg.nml" );
+	NML example_nml1(ex_format, "ex_buf1","ex4_proc", "ex_cfg.nml");
+	NML example_nml2(ex_format, "ex_buf2","ex4_proc", "ex_cfg.nml");
+	NML example_nml3(ex_format, "ex_buf3","ex4_proc", "ex_cfg.nml");
+	NML example_nml4(ex_format, "ex_buf4","ex4_proc", "ex_cfg.nml");
+. . .
+
+	unload_nml_config_file( "ex_cfg.nml" );
+. . .
+
+
+ +

Converting an NMLmsg to a string.

+

+It is occasionally helpful to be able to display the contents of any +NMLmsg in a string. To accomplish this you will need an NML object which +was initialized with a format function that handles your message type.

+ +

const char * NML::msg2str(NMLmsg *);

+

const char * NML::msg2str(NMLmsg &);

+ +

Returns: +
This function returns a pointer to a string with each member of the NML message converted to a string and separated with commas if successful or NULL otherwise. The first two members will be the type and size of the message. The string may be cleared on the next call to read, write, check_if_read, peek, write_if_read, clear, or msg2str with that NML object, or when that NML object is deleted, so the string should be displayed or copied before any of these operations occur.

+ + +

Using Phantom Buffers.

+ +

Occasionally users may wish to temporarily redirect messages +intended for a CMS buffer. One way of doing this is setting up +functions to simulate the behavior of the NML commands and set the +pointers NML::phantom_clear, NML::phantom_check_if_read, +NML::phantom_read, NML::phantom_peek, NML::phantom_write, and/or +NML::phantom_write_if_read to those functions. If the buffer type or +process type specified in the configuration file is "PHANTOM" then +every NML call of that type will result in calling your phantom +function. Otherwise, NML will access the buffer normally.(See the +section "Writing NML Configuration Files")

+ +

Example: Using PHANTOM overrides.

+ +

Files needed for this example include: nml_ex5.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+ +
nml_ex5.cc
+ +
 
+/* nml_ex5.cc */ 
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+/* This example uses the PHANTOM writes to send all messages to stdout.  */
+
+int my_write(NMLmsg *msg) 
+{
+	printf("Message %d written.\n", msg->type);
+}
+
+main() 
+{
+	NML example_nml(ex_format, "ex_buf1","ex5_proc", "ex_cfg.nml");
+	example_nml.phantom_write = my_write;
+	EXAMPLE_MSG example_msg;
+	/* . . .  */
+	example_nml.write(example_msg); 
+} 
+
+ +

Handling Errors

+

When the +NML member functions cannot perform their task they try to provide +developers with some information that may allow them to resolve the +problem. This information is available in several forms.

+ +

The functions NML::read(), NML::write(), NML::peek(), and +NML::write_if_read() return -1 if an error occurred. +NML::get_address() returns NULL if an error occurs.

+ +

Messages are printed to character display devices or stored in a linked list +with the rcs_print_error facility. (See the document "RCS Lower Level +Utilities" for more information on the rcs_print_error facility. ) +Often several messages are issued for the same error, because if an +error occurs at a low level the low level function will print an error +and return a value indicating an error to a higher level function +which may then also print an error. This allows the user to see the +detail available at the lower level and the context available at the +higher level.

+ +

NML::error_type is a variable set by NML functions that fail. It may +have one the following values:

+ +
    +
  • NML_NO_ERROR - No error was recognized.
  • +
  • NML_INVALID_CONFIGURATION - A problem with the +configuration file is indicated.
  • +
  • NML_BUFFER_NOT_READ - +Operations like write_if_read will only succeed if the message +currently in the buffer has been read.
  • +
  • NML_TIMED_OUT - An operation timed out.
  • +
  • NML_FORMAT_ERROR - Could indicate that +there was a problem with the user defined format and update functions, +that the size of the buffer is not large enough for one of the +messages, or that a message was received that no format function +recognizes.
  • +
  • NML_NO_MASTER_ERROR - Something needs to be +initialized by the process that is configured to be the buffer master. +Check that a master is configured and running.
  • + +
  • NML_INTERNAL_CMS_ERROR - A CMS operation failed for a reason not +previously given.
  • +
+ +

int NML::valid();

+ +

NML::valid() returns 0 if the object was not properly constructed +or if an error has occurred severe enough that it is unlikely that any +of the other NML operations on this object will succeed or 1 if +everything seems to be in order.

+ +

Example: Checking Error Status

+

Files needed for this example include: nml_ex6.cc, nml_ex1.hh, nml_ex1.cc, ex_cfg.nml

+ +
nml_ex6.cc
+ +
 
+/* nml_ex6.cc */
+
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+/* This example prompts the user when NML times out to see if it
+should try again. */
+
+main() {
+	NML example_nml(ex_format, "ex_buf1","ex6_proc", "ex_cfg.nml");
+	EXAMPLE_MSG *example_msg_ptr;
+	char input_array[10];
+
+	TRY_AGAIN:
+
+	switch(example_nml.read())
+	{
+	case -1:
+		if(example_nml.error_type == NML_TIMED_OUT)
+		{
+			rcs_print("NML timed out\n");
+			rcs_print("Do you want to try again? (y/n)");
+			gets(input_array);
+			if(input_array[0] == 'y')
+				goto TRY_AGAIN;
+
+		}
+		break;
+
+	case 0:
+		/* The buffer contains the same message you read last time. */
+		break;
+
+	case EXAMPLE_MSG_TYPE:
+		example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address();
+		/* We have a new example message. */
+		break;
+
+	} 
+} 
+
+ +

The Section called "Writing an NML Configuration +File" has been moved to it's own page at
http://www.isd.mel.nist.gov/projects/rcs_lib/NMLcfg.html.

+ + +

Spawning and Killing NML Servers

+ +

NML servers allow remote processes to access local buffers. The code +for the servers has already been included in the RCS library but you +must still start and stop them. There are several ways for you to +control when servers are spawned and killed. +

+ +

Using the run_nml_servers function.

+ +

void run_nml_servers(); +

+ +

Each time an NML object is created it is added to a global list. In operating systems like LynxOs and SunOs that use heavy-weight +threads each process has its own list. In operating systems like VxWorks +that use light-weight threads the list is shared by all processes +currently running that use NML. The function run_nml_servers reads the +lists, checks for the server configuration flag, and groups the buffers +with the same RPC, TCP or UDP number. For each different RPC, TCP or UDP program number a server +is spawned to handle requests for the group of buffers with that RPC, TCP or UDP +number. If all of the RPC, TCP or UDP numbers were the same the current process would +become the server for all the buffers on the list that have a non-zero +server configuration flag. This function will not return. +

+ +

Example: Two NML buffers with a single process server.

+ +

Files needed for this example include: nml_ex9.cc, nml_ex1.hh, nml_ex1.cc, ex_cfg.nml

+ +
nml_ex9.cc
+ +
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+main()
+{
+	NML nml1(ex_format, "ex_buf1","ex9_svr","ex_cfg.nml");
+	NML nml2(ex_format, "ex_buf2","ex9_svr","ex_cfg.nml");
+
+	run_nml_servers(); /* This never returns. */
+}
+
+ +

Using the nml_start and nml_cleanup functions.

+ +

void nml_start(); +

+ +

void nml_cleanup() +

+ +

The nml_start function works like run_nml_servers except that it may +spawn an additional process(es) so that it will return. The nml_cleanup +function deletes all NML_SERVER objects and all NML objects so that all +servers that were spawned will be stopped with SIGINT. +

+ +

Example: Two NML buffers with servers and application code with single main.

+ +

Files needed for this example include: nml_ex10.cc, nml_ex1.hh, nml_ex1.cc, ex_cfg.nml

+ +
nml_ex10.cc
+ +
+/* nml_ex10.cc */
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+main()
+{
+	NML nml1(ex_format, "ex_buf1","ex10_svr","ex_cfg.nml");
+	NML nml2(ex_format, "ex_buf2","ex10_svr","ex_cfg.nml");
+
+	/* Spawn 2 servers and continue. */
+	nml_start(); 
+
+	/* . . . */
+	/* Perform some processing. */
+	/* . . . */
+
+
+	/* Kill the 2 servers and close NML channels. */
+	nml_cleanup();
+}
+
+ +

Warning: Do NOT use any nml objects after calling nml_cleanup. +

+ +

User Command Utilities.

+ +

There are several utilities that can be used directly by users +without any additional programming. +

+ +

Testing for the existence of NML buffers.

+ +

nmltest [config_file local_host] +

+ +

The nmltest program reads the config_file and attempts to connect to +every buffer in the file. If it succeeds the buffer exists. If it does +not either the master for the buffer was not started, or the server was not +started, or the config file contains an error. It attempts to use the +local protocol for buffers on the local_host. If you do not specify the +config_file or local host it will prompt you for them. It also reports +the type and size of message if any in the buffer and some other +information which may be useful. +

+ +

Determining the performance of NML on a particular system.

+ +

nmlperf [config_file local_host master iterations increments +detailed_output display_mode] +

+ +

perfsvr [config_file local_host] +

+ +

The performance of NML varies depending on the system you are +running under and the type of protocol used by CMS. The nmlperf program +connects to every buffer in config_file. It uses the local protocol if +the buffer is on local_host. It initializes the buffer if master equals +1. It writes and reads the buffer with messages from a minimum size to +the size of the buffer for iterations times with increments different +sizes. If detailed_output equals 1 then it will display the time for +every read and write. display_mode can be "B" for bytes-per-second or +"M" for messages-per-second. +

+ +

If you don't specify all the parameters then +you will be prompted for them. The perfsvr program is run on a +remote machine to allow testing of remote protocols. +

+ +

Removing Unwanted Buffers

+ +

nmlclean [config_file local_host] +

+ +

Occasionally severe errors cause programs to exit without deleting +the NML buffers that they create. The nmlclean program attempts to free +all of the operating system resources associated with buffers in the +config_file on local_host and to kill the NML servers that are running. +

+ +

Using NML Script Files.

+ +

NML script files allow programs that use NML to be tested with +certain inputs without the need for running a separate program +to create those inputs. To use script files the buffer type in the +configuration file should be set to FILEMEM and the in=<script_file> +should +be added to the buffer line. Each time the program calls NML::read or +NML::peek for that buffer the script file will be read line by line until a command is found

+ +

The following commands can be used:

+ +

MSG

+ +

When a line begins with "MSG>" the command causes the read to +return a particular message. The rest of the line should contain the parameters + of the message in the same order as the CMS update functions, including the +type and size which are in every NMLmsg. +

+ +

Example:

+ +

In the file nml_emc.hh the NML_INTERP_RUN message is defined as follows. + +

+#define NML_INTERP_RUN_TYPE ((NMLTYPE) 410)
+class NML_INTERP_RUN : public NMLmsg
+{
+ public:
+  NML_INTERP_RUN() : NMLmsg(NML_INTERP_RUN_TYPE, sizeof(NML_INTERP_RUN)) {};
+  void update(CMS *cms);
+
+  char file[NML_INTERP_FILE_LEN];
+};
+
+ +To have an NML_INTERP_RUN message read from the script, with file set to +"team.dms" use the following line. + +
+MSG> 410, 0,team.dms,
+
+ +

The final comma is a good idea to make sure that no write space that might +be on the end of the line is included in the string. +

+ +

WAIT

+ +

When a line begins with "WAIT> the program will respond as if no +new messages were received for some period of time.

+ +

COMMENTS

+ +

Comments can be inserted in the script file by beginning the line with the +"#" character. + + + +

Trouble Shooting

+ +

Here is a list of some of the problems that NML users have +encountered and some tips for resolving them. +

+ +

Compile Time Errors.

+ +

While compiling one of the update functions for the NML vocabulary, +the compiler complains that there are insufficient arguments for one of +the CMS::update functions. +

+ +

+Insufficient Arguments Error +

+ +

I received the error from g++. +

+ +

types.cc:47: too few arguments for method `update`. +

+ +

And in types.cc line 47 I have: +

+ +

cms->update(x); +

+ +

Solution: Check the type of the variable you are updating. It is +probably either an enum or a pointer type, since neither of these is +supported. If it is an enum, define it as an int. The problem with enumerated values is that although one could define a function that accepted enums of a particular type it is impossible to define a function that would accept a reference to any enum as a parameter. If the variable is a pointer type +define it as whatever it was pointing to. If it is an array add the +length of the array as a second parameter to CMS::update. +

+ +

Run Time Errors

+ +

While starting an NML server, I get the following error. +

+ +

server: Can`t register server. +

+ +

Solution: Try it again. If possible the server will try to +unregister the process currently registered on that number so it will be +able to register. Check to see if another RPC, TCP or UDP server is already +registered on the RPC, TCP or UDP program number that you are trying to use. (Use the +command "rpcinfo -p" on a Sun, SGI or LynxOS machine.) If there is +another server registered, then change the number in the configuration +file. +

+ +

When I am trying to initialize an NML channel, I get the following +error: +

+ +

shmget failed: No such file or directory. +

+ +

Solution: The master was probably not started before this +non-master. Start the master first. +

+ +

When I am trying to initialize an NML channel, I get the following +error. +

+ +

shmget failed: Invalid argument. +

+ +

Solution: This usually happens when the shared memory buffer exists +but it's not the size that this process expects. Check that all of the +processes are using the same configuration file and that the +configuration file hasn't changed since the master process started. Also +check the shared memory buffer with "ipcs" command to make sure no one +else has created the buffer with a different size. +

+ +

When I am trying to initialize an NML channel to a remote host, my +program gets hung. +

+ +

Solution: Check that the host specified for the buffer in the +configuration file is correct, up and running and that the programs host +can ping the remote host. If the host is not up and running or you can't +ping it call your system administrator. +

+ +

When I am trying to initialize an NML channel to a remote host, I +get the following error. +

+ +

RPCMEM::open: RPC: Unknown Host +

+ +

Solution: The next line after this error should list the host the +program expected to connect with. If it is not a spelling mistake, ask +your system administrator to check and if necessary add the internet +number of the remote host to the hosts database. +

+ +

When I am trying to initialize an NML channel to a remote host, I +get the following error. +

+ +

RPCMEM::open: RPC: Program not registered. +

+ +

Solution: The next line after this error should list the host the +program expected to connect with and the RPC number that the NML server +on that host should use. Make sure that the NML server has been started +before any clients need to connect. +

+ +
+ +

Last Modified: 08/04/99

+ + +

If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

+

To be automatically sent information on updates to the RCS library, please +subscribe to the "nist_rcs" mailing list on http://www.onelist.com.

+ + + + diff --git a/doc/NML_Ada.html b/doc/NML_Ada.html new file mode 100644 index 0000000..6421538 --- /dev/null +++ b/doc/NML_Ada.html @@ -0,0 +1,659 @@ + + + + +NML Guide (Ada Version) + + + + + + + + + + + + +

The NML Programmer's Guide (Ada Version)

+ + +

Introduction

+

+The Real-Time Control System (RCS) library is a C++/C/Java/ada class library intended for multi-platform real-time distributed applications. It has been +compiled and tested on several platforms including Linux, MacOs X, QNX, VxWorks, MS Windows and several UNIX Versions. This document describes the use of the Neutral Message Language (NML) components of the library.

+

The Communication Management System +(CMS) provides access to a fixed-size buffer of general data to +multiple reader or writer processes on the same processor, across a +backplane, or over a network. Regardless of the communication method +required, the interface to CMS is uniform. Methods are provided to +encode all of the basic C data types in a machine independent or +neutral format, and to return them to the native format. A CMS_HEADER +is added to each buffer which provides information about whether the +buffer has been written or read from last, whether the buffer is new +to a particular process and the size of the last write to the buffer. +CMS uses a configuration file so that users can change communications +protocols or parameters without recompiling or relinking the +applications.

+

The Neutral Message Language (NML) provides a higher level interface to CMS. It provides a mechanism for +handling multiple types of messages in the same buffer as well as +simplifying the interface for encoding and decoding buffers in neutral +format and the configuration mechanism. End user applications now see NML almost exclusively while CMS only peeks through when examining some of the automatically generated code.

+ +

Terminology

+ +

The figure below +illustrates the structure of a typical RCS application using NML. The +application is distributed across three computers. Processes 1, 2, and +3 are able to write directly into the shared memory buffers they use +because they are located in the same computer or backplane. It is for +this reason that they are labeled "LOCAL". Processes 4,5 and 6 can +only access the buffers through an NML Server and are therefore +labeled "REMOTE". The description might need to be complicated in a +system with buffers in more than one machine. Processes would then +need to be described as local or remote with respect to a particular +buffer.

+ +

NML Example System

+

NML servers must be run for +each buffer that will be accessed by remote processes. They read and +write to the buffer in the same way as local processes on the behalf +of remote processes.

+

NML uses configuration files to store information about which processes communicate with +which buffers and how. Most of the options available to NML programmers are chosen by specifying them in the +configuration file. (The configuration files are ascii text files with a format described under "Writing NML Configuration Files".)Some systems use an NML Configuration server instead of or in addition to the NML Configuration files. See NML Configuration Server.

+

NML is message-based rather than +stream-based. Each successful read operation retrieves the data sent +in exactly one write operation. Unless queuing is enabled, each write +operation moves one message into the buffer replacing any previous +message.

+

More than one type of message can be sent to the same buffer so a +unique type identifier is always contained in the message. After a +read operation, the process must use this identifier to determine the +type of message before using any of the data in the message. Each type +of message implies a particular data structure. Most messages are +user-defined.

+

Messages are called encoded if they have been +translated into a machine-independent or neutral format such as the +eXternal Data Representation (XDR). Buffers are called encoded if the +messages in them are to be encoded which is established in the +configuration file. NML servers can encode and decode messages on +behalf of remote processes. An NML vocabulary defines the set of +messages that may be used in an application and provides the necessary +functions for encoding and decoding the messages. All buffers in an application could share a common vocabulary or each buffer could have its own associated vocabulary.

+

The next figure shows the structure of a single +concurrent process module using NML (the memory buffer appears to be +local to the application)

+

On the left is a key. Light blue-green boxes are modules from the RCS library. White boxes are modules the user is expected to complete. Green rectancgle with rounded corners is a shared memory buffer. Arrows chow the communications channels. On the right : The white box Application Routines (user) over light blue-green box NML library Routines(rcslib) over white box User-defined Format function over white box user defined update functions over light blue-green box CMS update functions over light green box CMS Communications Functions over arrow to green outline labeled shared memory buffer.

+

The +applications routines initialize and use objects from class NML and +NMLmsg which depend on some user-defined functions. The format +function selects from a set of user defined update functions for each +aggregate type the user will need to pass to the memory buffer. The +update function for each aggregate type is built by updating each +member inpidually using CMS routines for the basic C data types. +These basic update routines write to and read from internal CMS +buffers which are themselves read or written to memory buffers that +are available to other concurrent processes using the CMS +Communications Routines.

+ +

Notation

+ +

I like lots of examples.

+ +
+
+
+     Commands users are expected to enter at a command prompt will look like this.
+
+
+
+ +
+
+
+     Computer program generated example output will look like this.
+
+
+
+ +
+
+
+Text files listed in line look like this.
+
+
+
+ +

Compiling and Linking

+ +

Currently the Ada Spec and Body files are just kept in the src/ada directory when the RCS library source code is extracted. So for example to compile and link an example that uses NML in file "example.adb" containing a main procedure "Example" on a system where the source code was extracted into "/path/to/rcslib-version/" and the code was compiled with prefix or install directory set to "/path/to/rcslib_install_dir" run:

+ +
+
+
+gnatmake example -I/path/to/rcslib-version/src/ada -L/path/to/rcslib_install_dir/lib
+
+
+
+ +

Check for a README file in the source code archive and +http://www.isd.mel.nist.gov/projects/rcslib/getrcs.html +for more up-to-date or detailed compiling instructions.

+ +

+Designing an NML Application.

+ +

Because NML is configurable, programmers can choose between +protocols with higher performance but which may be more restrictive or +require more expensive hardware or those that are less restrictive or +require less expensive more widely available hardware. By making a +buffer local to a process you can improve the performance of that +process. By moving processes you may be able to reduce the load on one +CPU or increase the number of processes able to use the faster local +protocol. Using servers to provide remote access to buffers frees +local processes from being slowed down by the communications with +remote processes.

+

+Example: Robot Controller/Supervisor +Design

+

A controller for a robot must poll a variety of inputs +and perform some computations every "n" milliseconds and a +remote supervisor should be able to check the status of the robot when +needed.

+

The next figure shows one possible design for this +application. Because the controller can write directly to the shared +memory buffer, writing the status takes a minimum time for the +controller. Using the NML server allows the supervisor to be located +almost anywhere and on almost any host.

+ +

Controller/Supervisor System Diagram

+

+

+Summary of Design Suggestions.

+
  1. Avoid +overloading any CPU by assigning too many processes to it or building +a single process which must do too much work.
  2. +
  3. Place buffers +so that they may be accessed locally by the most time-critical +process(es).
  4. +
  5. Use the "LOCAL" protocol whenever possible. +
  6. +
  7. Only use neutrally encoded buffers when necessary.(i.e. +backplane communications between different types of processors) +
  8. +

+Programming with NML

+

+NML applications programmers need to create a message +vocabulary and associated format function, write a configuration file, +create an NML object, and use the read and write member functions. +

+

+Creating an NML Vocabulary (Format Functions, Update Functions, and Message Definitions) +

+

The message vocabulary is a set of C++ classes, derived from +NMLmsg that map directly to a set of Ada record types, which can be thought of as data structures that are copied +into the NML buffer during a write operation, and copied out during a +read operation. Each class is associated with a unique identifier, a +positive integer, that allows readers to identify which message is +present in the buffer. Besides the particular data members of the +class, each class also needs an update function which calls CMS +methods to convert the data members to types CMS can handle. +Currently, CMS provides support for the basic C language built-in +types.

+ +

To enable CMS to neutrally +format the data in the buffer or to allow NML servers to encode and +decode the data for remote processes, a format function is required. +This format function is nothing more than a switch statement, +associating NML identifiers with the update functions of particular +NML message classes. The format function can be manually programmed as +will be described below, or it can be automatically generated using +the NML Code Generator.

+

Variable Length Arrays

+

Some advanced users define messages with variable length arrays. +There are several ways to do this, but the simplest and most convenient way +is ussually to use the DECLARE_NML_DYNAMIC_LENGTH_ARRAY macro. The macro +has special meaning to the NML Code Generator. The result is an array with +a constant maximum size but where only the first name_length elements are sent + across the network with each remote read or write. Local reads and writes can be forced to use the condensed version by setting the neutral configuration +file flag to 1. +

+

For your information the text of the macro is:

+
+
+#define DECLARE_NML_DYNAMIC_LENGTH_ARRAY(type, name, size) int name##_length; type name[size]; 
+
+
+ +

+Example: Message Definition.

+

Files needed for this example include: nml_ex1.hh, nml_ex1.cc

+
Here is nml_ex1.hh
+ +
+
 
+
+/* nml_ex1.hh */ 
+
+#ifndef NML_EX1_HH 
+#define NML_EX1_HH 
+#include "rcs.hh"
+
+/* Give the new structure a unique id number */
+/* The name is ussually constructed by taking the class or struct name 
+and adding "_TYPE" to it. */
+#define EXAMPLE_MSG_TYPE 101 
+
+/* The id number must be unique within a CMS
+buffer, i.e. the number must be different than the id of any other
+type that might be written to a particular buffer. For simplicity it
+is recommended that the id number also be unique within an
+application. */
+
+/* Define the new message structure */ 
+struct EXAMPLE_MSG: public NMLmsg {
+
+	/* The constructor needs to store the id number */
+ 	/* and the size of the new structure */
+	/* by passing them as arguments to the base class constructor. */
+ 	EXAMPLE_MSG():NMLmsg(EXAMPLE_MSG_TYPE, sizeof(EXAMPLE_MSG)){};
+
+	/* Each new type needs to overload the update function. */
+	void update(CMS *cms);
+
+	/* Data in this new message format. */
+	float f;
+	char c;
+	int i; 
+	DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, da, 100);
+	
+};
+
+/* Declare the NML Format function. */ 
+int ex_format(NMLTYPE type, void *buf, CMS *cms);
+
+#endif  /* End of NML_EMC_HH */ 
+
+
+
+ +

This will then be used to generate the following Ada Spec and body.

+ +

This is the command that was used.

+
+
+
+java -jar ~/rcslib/plat/java/lib/CodeGenCmdLine.jar nml_ex1.hh
+
+
+
+ +

Ada Spec File:

+ +
+
+
+--
+--	New Ada Spec File starts here.
+--	This file should be named nml_ex1_n_ada.ads
+--	Automatically generated by NML CodeGen Java Applet.
+--	on Wed Sep 01 14:17:00 EDT 2004
+--
+
+with Nml_Msg; use Nml_Msg;
+with Cms;
+
+with Posemath_N_Ada;  use Posemath_N_Ada;
+
+
+--	Some standard Ada Packages we always need.
+with Unchecked_Deallocation;
+with Unchecked_Conversion;
+with Interfaces.C; use Interfaces.C;
+
+package nml_ex1_n_ada is
+
+	-- Create Ada versions of the Enumeration types.
+
+	function Format(Nml_Type : in long;
+			Msg : in NmlMsg_Access;
+			Cms_Ptr : in Cms.Cms_Access)
+				return int;
+
+	pragma Export(C,Format,"ada_nml_ex1_n_ada_format");
+
+
+	-- Redefine the C++ NML message classes as Ada Records.
+
+	EXAMPLE_MSG_TYPE : constant := 101;
+
+	type EXAMPLE_MSG is new NMLmsg with
+ 		record
+			f : c_float;
+			c : char;
+			i : int;
+			da_length : int;
+			da : Cms.Int_Array(1..100);
+		end record;
+
+	type EXAMPLE_MSG_Access is access all EXAMPLE_MSG;
+	procedure Initialize(Msg : in out EXAMPLE_MSG);
+	function NmlMsg_to_EXAMPLE_MSG is new Unchecked_Conversion(NmlMsg_Access,EXAMPLE_MSG_Access);
+	procedure Update_Internal_EXAMPLE_MSG(Cms_Ptr : in Cms.Cms_Access; Msg : in out EXAMPLE_MSG);
+	procedure Free is new Unchecked_Deallocation(EXAMPLE_MSG,EXAMPLE_MSG_Access);
+	type EXAMPLE_MSG_Array is array(Integer range <>) of EXAMPLE_MSG;
+
+
+end nml_ex1_n_ada;
+
+-- End of Ada spec file  nml_ex1_n_ada.ads
+
+
+
+ +

Here is the corresponding body with Format and Update functions.

+ +
+
+
+--
+--	New Ada Body File starts here.
+--	This file should be named nml_ex1_n_ada.adb
+--	Automatically generated by NML CodeGen Java Applet.
+--	on Wed Sep 01 14:22:44 EDT 2004
+--
+
+with Nml_Msg; use Nml_Msg;
+
+with Posemath_N_Ada;  use Posemath_N_Ada;
+
+with Cms;
+
+
+--	Some standard Ada Packages we always need.
+with Unchecked_Deallocation;
+with Unchecked_Conversion;
+with Interfaces.C; use Interfaces.C;
+with Interfaces.C.Strings; use Interfaces.C.Strings;
+
+package body nml_ex1_n_ada is
+
+	-- Create some common variables  and functions needed for updating Enumeration types.
+
+	-- Every NMLmsg type needs an update and an initialize function.
+
+	procedure Initialize(Msg : in out EXAMPLE_MSG) is
+	begin
+		Msg.NmlType := EXAMPLE_MSG_TYPE;
+		Msg.Size := EXAMPLE_MSG'Size/8;
+	end Initialize;
+
+	procedure Update_EXAMPLE_MSG(Cms_Ptr : in Cms.Cms_Access; Msg : in EXAMPLE_MSG_Access) is
+	begin
+		Cms.Begin_Class(Cms_Ptr,"EXAMPLE_MSG","");
+		Msg.NmlType := EXAMPLE_MSG_TYPE;
+		Msg.Size := EXAMPLE_MSG'Size/8;
+		Cms.Update_C_Float(Cms_Ptr, "f", Msg.f);
+		Cms.Update_Char(Cms_Ptr, "c", Msg.c);
+		Cms.Update_Int(Cms_Ptr, "i", Msg.i);
+		Cms.Update_Dla_Length(Cms_Ptr,"da_length", Msg.da_Length);
+		Cms.Update_Int_Dla(Cms_Ptr, "da", Msg.da,Msg.da_length,100);
+		Cms.End_Class(Cms_Ptr,"EXAMPLE_MSG","");
+	end Update_EXAMPLE_MSG;
+
+	procedure Update_Internal_EXAMPLE_MSG(Cms_Ptr : in Cms.Cms_Access; Msg : in out EXAMPLE_MSG) is
+	begin
+		Cms.Begin_Class(Cms_Ptr,"EXAMPLE_MSG","");
+		Msg.NmlType := EXAMPLE_MSG_TYPE;
+		Msg.Size := EXAMPLE_MSG'Size/8;
+		Cms.Update_C_Float(Cms_Ptr, "f", Msg.f);
+		Cms.Update_Char(Cms_Ptr, "c", Msg.c);
+		Cms.Update_Int(Cms_Ptr, "i", Msg.i);
+		Cms.Update_Dla_Length(Cms_Ptr,"da_length", Msg.da_Length);
+		Cms.Update_Int_Dla(Cms_Ptr, "da", Msg.da,Msg.da_length,100);
+		Cms.End_Class(Cms_Ptr,"EXAMPLE_MSG","");
+	end Update_Internal_EXAMPLE_MSG;
+
+
+
+	NameList : constant Char_Array(1..24) := (
+		'E','X','A','M','P','L','E','_','M','S','G',nul,
+		nul,nul,nul,nul,nul,nul,nul,nul,nul,nul,nul,nul
+		);
+
+	IdList : constant Cms.Long_Array(1..2) := (
+		EXAMPLE_MSG_TYPE, -- 101, 0
+		-1);
+
+	SizeList : constant Cms.Size_T_Array(1..2) := (
+		EXAMPLE_MSG'Size/8,
+		0);
+	Symbol_Lookup_EXAMPLE_MSG_Name : constant Interfaces.C.Strings.Chars_Ptr := Interfaces.C.Strings.New_String("EXAMPLE_MSG");
+
+	function Symbol_Lookup(Nml_Type : in long) return Interfaces.C.Strings.Chars_Ptr;
+	pragma Export(C,Symbol_Lookup,"ada_nml_ex1_n_ada_symbol_lookup");
+
+	function Symbol_Lookup(Nml_Type : in long) return Interfaces.C.Strings.Chars_Ptr is
+	begin
+		case Nml_Type is
+			 when EXAMPLE_MSG_TYPE	=>	return Symbol_Lookup_EXAMPLE_MSG_Name;
+			 when others	=>	return Null_Ptr;
+		end case;
+	end Symbol_Lookup;
+
+	function Format(Nml_Type : in long;
+			Msg : in NmlMsg_Access;
+			Cms_Ptr : in Cms.Cms_Access)
+				return int is
+		Checked_Nml_Type : long;
+
+	begin
+		Checked_Nml_Type := Cms.Check_Type_Info(Cms_Ptr,Nml_Type,
+			NmlMsg_Access_To_Limited_Controlled_Access(Msg),
+			"nml_ex1_n_ada",
+			Symbol_Lookup'Access,
+			NameList,IdList,SizeList,2,12);
+
+		if Msg = Null then
+			return 0;
+		end if;
+
+		case Checked_Nml_Type is
+			when EXAMPLE_MSG_TYPE	=>	Update_EXAMPLE_MSG(Cms_Ptr, NmlMsg_to_EXAMPLE_MSG(Msg));
+			when others	=>	return 0;
+		end case;
+		return 1;
+	end Format;
+
+end nml_ex1_n_ada;
+
+-- End of Ada Body file  nml_ex1_n_ada.adb
+
+
+
+ +

NOTE: All the NML updates are +identical except that the body should call the CMS update function for +each member in the structure. The update function has been overloaded +to accept references to all of the basic C data types (ints, floats, +etc.) Depending on the CMS mode the update functions will either store +their argument in a neutrally encoded buffer or decode the buffer and +store the output in the variables passed to the update functions. Just as +with the format function, the update functions can be either manually coded +or generated automatically with the NML Code +Generator. +

+

+Creating an NML Connection Object +

+ +

The CreateConnection function prototyped in nml.ads is as follows:

+ +
+
+
+   function CreateConnection(NewCallBackFunction : in Format_Callback_Func;
+                             BufferName,ProcessName,ConfigSource: in String)
+                            return NmlConnection_Access;
+
+   function Valid(Connection : in NmlConnection_Access) return Boolean;
+
+
+
+
+ +

The parameters are: the NewCallBackFunction which is the address +of the FormatFunction which is normally automatically generated specific +to the types of messages, BufferName the name of the buffer to make a connection to which should match an entry in the configuration file and the name +passed by other processes with which you will communicate with, a process name +which identifies the calling process in the configuration file, and ConfigSource which is either a file name in the format described in nmlcfg.html or the location of an nml configuration server as described in +nmlcfgsvr.html. After creating a connection one +should normally check that it is valid using the Valid function.

+ +

+Reading NML Data

+ +

These are the member functions used to perform +read:

+ +
+
+
+function Read(Connection : in NmlConnection_Access) return Integer;
+
+function Peek(Connection : in NmlConnection_Access) return Integer;
+
+function Blocking_Read(Connection : in NmlConnection_Access;
+                          Timeout : Interfaces.C.Double ) return Integer;
+
+function Get_Address(Connection : in NmlConnection_Access) return NmlMsg_Access;
+function Get_Last_Error_Type(Connection : in NmlConnection_Access)
+                               return NML_ERROR_TYPE;
+
+
+
+
+
+ +

Either the read, peek or blocking_read functions can be used to retrieve the message which is then stored in local memory and either the type of message, +or zero indicatating no new data or -1 indicating an error occured. After one knows the type of data one can use Get_Address to make the data available +through a variable of the appropriate type. Read will check buffer to see if a +new message has been written and remove it from the queue if this is a queued buffer or mark the buffer as having been read otherwise. Peek does the same +thing but leaves the message in the queue where it then might be read by another process or for this one through another connection object at does not mark the buffer as having been read. Blocking_read waits until a new message is available or until the timeout occurs and reads the buffer as read would when a new +message is available. For non-queued buffers NML keeps track of the last messageread through each connection object, so if a second process reads from the same buffer it will see messages as new even if it has already been read by the first process, since it is in fact new to the second process. If an error occurs one can call Get_Last_Error_Type to determine what kind of corrective action to take, more descriptive info is also logged to where ever the rcs_print_destination is set to, which is normally stdout.

+ +

+Writing NML Data

+ +

The write function is the following:

+ +
+
+
+function Write(Connection : in NmlConnection_Access; Message : in NmlMsg_Access) return Integer;
+
+function Get_Last_Error_Type(Connection : in NmlConnection_Access)
+                               return NML_ERROR_TYPE;
+
+
+
+ +

The write function copies the given message into the buffer associated +whith this connection object.

+ +
+
+
+
+with Nml;
+use Nml;
+with Mynmlmsg;
+use Mynmlmsg;
+with Ada.Text_IO;
+with Ada.Integer_Text_IO;
+with Unchecked_Conversion;
+with Interfaces.C;
+
+procedure Nmltest is
+   Connection1 :  NmlConnection_Access;
+   Connection2 :  NmlConnection_Access;
+   Read_Msg : Mynmlmsg_Type_Access;
+   Msg :  Mynmlmsg_Type_Access;
+   Ok : Integer := 0;
+   Msg_Type : Integer;
+
+begin
+   Msg := new Mynmlmsg_Type;
+   Msg.AnotherInt := 67;
+   Connection1 := Nml.CreateConnection(Mynmlmsg.Format'Access,"b1","proc","nmlcfgsvr::::options=neutral=1");
+   Connection2 := Nml.CreateConnection(Mynmlmsg.Format'Access,"b1","proc","nmlcfgsvr::::options=neutral=1");
+   Ok := Nml.Write(Connection1,NmlMsg_Access(Msg));
+   Msg_Type := Nml.Read(Connection2);
+   if Msg_Type = 1001 then
+      Read_Msg := Mynmlmsg.NmlMsg_Access_To_Mynmlmsg_Type_Access(Nml.Get_Address(Connection2));
+      Ada.Text_IO.Put("Read_Msg.AnotherInt=");
+      Ada.Integer_Text_IO.Put(Integer(Read_Msg.AnotherInt));
+      Ada.Text_IO.New_Line;
+   end if;
+   Nml.Free(Connection2);
+   Nml.Free(Connection1);
+
+end Nmltest;
+
+
+
+
+ +
+ +

Last Modified: October 24,2004

+ +

If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

+

To be automatically sent information on updates to the RCS library, please +subscribe to the "nist_rcs" mailing list on http://www.onelist.com.

+ + + + diff --git a/doc/NML_XML.html b/doc/NML_XML.html new file mode 100644 index 0000000..8ef7d09 --- /dev/null +++ b/doc/NML_XML.html @@ -0,0 +1,1482 @@ + + + + +NML AND XML + + + + + + + + + +

NML support for XML

+ + + + +

Introduction

+

According to World Wide Web Consortium (W3C) at http://www.w3.org/XML/:

+

Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere.

+

The Neutral Message Language (NML) provides a way of defining and transmitting messages over a network or between processes using a variety of protocols. Typically messages passed between processes on the same computer use shared memory and use a raw binary format specific to the operating system, compiler and processor architecture in use. Messages across a network are typically sent using the eXternal Data Representation (XDR) which is also a binary format but is not specific to a particular operating system or processor. While XDR is usually more efficient than XML, NML can be configured to compose and/or parse XML. There is also an experimental program that allows XML Schemas with some restrictions to be automatically converted to NML message classes. XML also allows a little more flexibility in defining the NML message structures, and the use of XML allows for some additional error checking and debugging support. NML never produces and currently can not parse mixed content. The XML messages we deal with here must be small enough to be stored entirely in memory.

+ +

Notation

+ +

I like lots of examples.

+ +
+
+
+     Examples are in boxes like this.
+
+
+
+ +

Occasionally I need to highlight more formal prototypes and definitions.

+ +
+
+
+     Prototypes are in boxes like this.
+
+
+
+ +

Configuration File Options

+ +

See NML Configuration Files for a complete description of the configuration files. There are three options that might be of interest here. +The string "xml" can replace "xdr" or "disp" at the end of the buffer line to force all remote communication to use the XML format for the data rather than XDR or comma delimited ascii text. "xmldiff" can be used in the same place and instructs NML only to send the variables that changed from the last message. This generally can not be used with classes generated from external XML schema since it requires that maxOccurs for any element not be set greater than one. It is also incompatible with setting the option +cms->add_array_indexes_to_name=false described below. +The string "xmllog" placed at the end of either a process line or buffer line does not change the way processes communicate but causes one process or all processes to log each message received or sent to a file in XML format. Buffers that may contain messages that contain unions or NML_UNBOUNDED_ARRAYS must have the option "xml" set and must have neutral set to 1 on the buffer line.

+ + +

Using the XML within a C++ Application

+ +

In the section NML C++ Headers and the Code Generation Tool details will be given on how to define the NML message classes and how their definition will affect the generated or expected XML. Combining this with changes in the NML configuration file would allow existing NML applications to begin passing messages in XML rather than XDR without any changes to the user written source code. The next section describes functions that new applications could use to make use of NML and XML within their application.

+ +

Reading and writing XML files

+ +

The simplest way to use XML would probably be to use it to allow NML messages to persist between runs of the application.

+

The following functions could be used.

+ +
+
+
+NMLmsg *NML::readMsgFromXmlFile (const char *filename)
+int     NML::xmlMsgSaveAs (NMLmsg * nml_msg, const char *filename)
+
+
+
+ + +

in myconf.h

+ +
+
+
+#ifndef MY_CONF_H
+#define MY_CONF_H
+
+#include <rcs.hh>
+
+#define MY_CONF_TYPE 10001
+
+class MY_CONF : public NMLmsg
+{
+ public:
+  MY_CONF();
+  void update(CMS *);
+
+  double p_gain;
+  double i_gain;
+  double d_gain;
+};
+
+#endif
+
+
+
+ +

in writeconf.cc

+ +
+
+
+#include "myconf.h"
+#include "myconf_n_codegen_protos.hh"
+
+int 
+main(int argc, const char **argv)
+{
+  NML nml(MY_CONF_format,0,0,0);
+  
+  MY_CONF cf;
+  
+  cf.p_gain=0.99;
+  cf.i_gain=0.01;
+  cf.d_gain=0.02;
+  nml.xmlMsgSaveAs(&cf,"myconf.xml");
+  exit(0);
+}
+
+
+
+ +

Passing zero for the buffer name, process name and configuration file to the NML constructor only works if you are not interested in actually communicating with another process. This can be compiled and run with the following series of commands:

+ +
+
+nml_codegen myconf.h
+g++ writeconf.cc myconf_n.cc -Ipathtorcslibinclude -Lpathtorcsliblibs -lrcs -o writeconf
+./writeconf
+
+
+ +

This should create the following file for myconf.xml:

+ +
+
+
+<?xml version="1.0"?>
+<MY_CONF>
+	<!--MY_CONF MY_CONF-->
+	<p_gain>0.99</p_gain>
+	<i_gain>0.01</i_gain>
+	<d_gain>0.02</d_gain>
+
+</MY_CONF>
+
+
+
+ +

in readconf.cc

+ +
+
+
+#include "myconf.h"
+#include "myconf_n_codegen_protos.hh"
+
+#include <stdio.h>
+
+int 
+main(int argc, const char **argv)
+{
+  NML nml(MY_CONF_format,0,0,0);
+  
+  
+  MY_CONF *cf = (MY_CONF *) nml.readMsgFromXmlFile("myconf.xml");
+  if(NULL != cf)
+    {
+      printf("p:%f\ni:%f\nd:%f\n",cf->p_gain,cf->i_gain,cf->d_gain);
+    }
+
+  exit(0);
+}
+
+
+
+ +

Use the following commands to compile and run:

+ +
+
+g++ readconf.cc myconf_n.cc -Ipathtorcslibinclude -Lpathtorcsliblibs -lrcs -o readconf
+./readconf
+
+
+ +

The following output should be produced:

+ +
+
+
+p:0.990000
+i:0.010000
+d:0.020000
+
+
+
+ +

When NML reads the XML data it currently does not do a full validation +using a schema. This means if the messages were generated with a schema and +the input is in invalid NML may or may not print an error and return NULL. However if it is grossly wrong an error message is very likely. Full validation might be added to a future version but it would most likely reduce performance. If this is necessary for your application you may want to check with a third party +XML Schema validator before the call to readMsgFromXmlFile.

+ +

Additional XML Functions

+ +

The following can be used to convert between XML stored in a character string and an NML message. After a call to xml2msg the message is retrieved with +NML::get_address().

+ +
+
+
+NMLTYPE       NML::xml2msg (const char *string)
+const char *  NML::msg2xml (NMLmsg * nml_msg)
+
+
+
+ +

XML Schema

+ +

According to World Wide Web Consortium (W3C) at http://www.w3.org/XML/Schema:

+

XML Schemas express shared vocabularies and allow machines to carry out rules made by people. They provide a means for defining the structure, content and semantics of XML documents. +

+ +

The following functions can be used to generate an XML Schema that describes the XML messages that can be sent or received from a given NML channel.

+ +
+
+
+const char *  NML::xmlSchema (void)
+int           NML::xmlSchemaSaveAs (const char *filename)
+
+
+
+ + +

in writeconfschema.cc

+ +
+
+
+#include "myconf.h"
+#include "myconf_n_codegen_protos.hh"
+
+int 
+main(int argc, const char **argv)
+{
+  NML nml(MY_CONF_format,0,0,0);
+  
+  nml.xmlSchemaSaveAs("myconf.xsd");
+  exit(0);
+}
+
+
+
+ + +

Use the following commands to compile and run:

+ +
+
+g++ writeconfschema.cc myconf_n.cc -Ipathtorcslibinclude -Lpathtorcsliblibs -lrcs -o writeconfschema
+./writeconfschema
+
+
+ +

The output stored in myconf.xsd should be:

+ +
+
+
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+	<xsd:element name="MY_CONF" type="MY_CONF"/>
+
+
+	<xsd:complexType name="MY_CONF">
+		<xsd:sequence>
+			<xsd:element name="p_gain" type="xsd:double"/>
+			<xsd:element name="i_gain" type="xsd:double"/>
+			<xsd:element name="d_gain" type="xsd:double"/>
+		</xsd:sequence>
+	</xsd:complexType>
+
+</xsd:schema>
+
+
+
+ +

One can use third party tools to prove that messages such as +myconf.xml conform to the requirements expressed in schemas such as myconf.xsd. Unfortunately NML does not currently include it's own XML validator and therefore will not check every message received for strict conformance.

+ +

Adding some style

+ +

There are a number of options that one might want to set that do not affect the content used by NML. To do this the following function was added:

+ +
+
+
+      int NML::xmlSetStyleProperty (const char *propstr)
+
+
+
+ +

propstr is always of the form property=value

+

The two properties currently defined that are useful are AFTER_XML_DECLARATION which sets a string that will always be added after the xml declaration ( <?xml version="1.0"?> ) and the first or root node and XML_ROOT_START which sets a string that will be added at the end of the root start tag.

+ +
+
+
+     nml.xmlSetStyleProperty("XML_ROOT_START= xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"myconf.xsd\" ");
+     nml.xmlSetStyleProperty("AFTER_XML_DECLARATION=<?xml-stylesheet href=\"myconf.xsl\" type=\"text/xsl\"?>\n");
+
+
+
+ +

Adding the code above to the previous example, should modify the output to produce the following:

+ +
+
+
+<?xml version="1.0"?>
+<?xml-stylesheet href="myconf.xsl" type="text/xsl"?>
+<MY_CONF xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="myconf.xsd" >
+	<!--MY_CONF MY_CONF-->
+	<p_gain>0.99</p_gain>
+	<i_gain>0.01</i_gain>
+	<d_gain>0.02</d_gain>
+
+</MY_CONF>
+
+
+
+ +

The example adds information about the location of an external schema and an XSL style sheet. (See http://www.w3.org/Style/XSL for more information. on XSL style sheets.)

+ +
+
+
+<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" lang="en">
+<head><title>My Configuration</title></head>
+<body>
+
+<table border="1" >
+<tr><th>Gain</th><th>Value</th></tr>
+<tr><td>Proportional</td><td><xsl:value-of select="MY_CONF/p_gain"/></td></tr>
+<tr><td>Integral</td><td><xsl:value-of select="MY_CONF/i_gain"/></td></tr>
+<tr><td>Derivative</td><td><xsl:value-of select="MY_CONF/d_gain"/></td></tr>
+</table>
+
+</body>
+</html>
+
+
+
+ + + +

Viewing the xml file,myconf.xml, in some of the newer web browsers should display something like this: +( This would be more likely to work if our web server put "Content-Type: text/xml" instead of "Content-type: text/plain" in the HTTP header, so some browsers only work if you save both the xml and xsl files and then reopen them as local files. ) +

+ +

Screen capture of Netscape showing a small table with Gains and Values, Proportional:0.99,Integral:0.01,Derivative:0.02

+ +

The xsd2nmlh tool

+ +

While generating XML Schema from a C++ class definition is relatively straight forward the reverse is more complicated and error prone. A tool that at least will attempt this is xsd2nmlh.

+ +

The tool is run from the command line and takes two arguments [schemafile] [nmlheaderfile].

+ +

The following command will create myconf2.h:

+ +
+
+xsd2nmlh myconf.xsd myconf2.h 
+
+
+ +

myconf2.h will be very similar to the original myconf.h, since we have +now come full circle.

+ +
+
+
+// This file automatically generated
+// from myconf.xsd
+// on Fri Jul 11 13:47:20 2003
+
+// by xsd2nmlh
+
+
+#ifndef myconf2_header_included
+#define myconf2_header_included
+
+#include "rcs.hh"
+
+
+#define DO_NOT_ADD_INDEXES_TO_ARRAY_NAMES
+#define myconf2_URI_STRING_LENGTH 64
+#define myconf2_STRING_LENGTH 64
+#define myconf2_UNBOUNDED_LENGTH 10
+
+#define MY_CONF_TYPE 	847201
+
+
+class MY_CONF : public NMLmsg
+{
+public:
+	MY_CONF();
+	void update(CMS *);
+
+	double p_gain;
+	double i_gain;
+	double d_gain;
+};
+
+#endif
+ 	// myconf2_header_included
+
+
+
+ +

The tool has a number of limitations. It can only handle schemas that are +fully expressed in a single file. It can not work if the schema uses types such as lists and mixed content that NML currently does not support. There are a number of schema types which only roughly correspond with C++ types. For example a positiveInteger is replaced with an unsigned int, even though an unsigned int could be zero and is limited to 32 bits. Schemas can include a number of requirements that NML currently has no way to enforce, strings that match regular expressions, numbers with min and max values etc. In these cases it is left up to the application developer to ensure that the values inside NML messages do not violate the schema's constraints.

+ +

HTTP services

+ +

To make the live data available in a web browser one can use set the global variable cms_force_http_port to a non zero integer before a call to run_nml_servers or nml_start. The default port for HTTP is 80, however on many systems special permission is required to use that port, so the following example uses port 8090.

+ +

I am using a new header for this example:

+ +
+
+
+#ifndef CLOCK_HH
+#define CLOCK_HH
+
+#include "rcs.hh"
+
+#define MY_CLOCK_TYPE 1001
+
+class MY_CLOCK: public NMLmsg
+{
+public:
+  MY_CLOCK();
+  void update(CMS *);
+  
+  CMS_TIME now;
+};
+
+
+#endif
+
+
+
+ +

The following code runs an HTTP server and periodically updates the message in shared memory so that the time is correct.

+ +
+
+
+#include "clock.hh"
+#include "clock_n_codegen_protos.hh"
+
+#include <signal.h>
+
+static int quit_clock=0;
+
+static void clock_control_c_handler(int sig)
+{
+  quit_clock=1;
+}
+
+int main(int argc, const char *argv)
+{
+
+  cms_force_http_port=8090;
+
+  signal(SIGINT,clock_control_c_handler);
+
+  NML nml(MY_CLOCK_format,"clock_buf","clock_proc","clock.nml");
+  MY_CLOCK clk;
+
+  nml_start();
+
+  while(!quit_clock)
+    {
+      get_current_cms_time(&clk.now);
+      nml.write(clk);
+      sleep(1);
+    }
+  
+  nml_cleanup();
+}
+
+
+
+ +

This is one of the few examples in this document that requires an NML configuration file (clock.nml).

+ +
+
+
+#		SHMEM	host	   size	neut    RPC# 	buffer#	 max_proc key
+B clock_buf 	SHMEM 	localhost  1000	0 	0	 1       25 	1023 TCP=2001
+
+# processes:
+# name		buffer	type	host 		ops	server 	timeout	master 	c_num
+P clock_proc	clock_buf LOCAL	localhost 	RW	2	0.5  	1	1
+
+
+
+ +

You should be able to see the live data by pointing a web browser to http://localhost:8090/clock_buf.xml This link only works if you are running the server on your machine. The time will not update automatically, so you will need to reload to see the changes. It could be made to update more automatically by using an XSL style sheet.

+ +

Since the HTTP server only allows remote processes to read the data, you may need to run a second NML server using one of the normal NML protocols, for remote writers.

+ +

Reading NML messages from an HTTP server producing the appropriate XML can be done using the HttpXmlNml class:

+ +
+
+
+class HttpXmlNml : protected NML
+{
+public:
+  HttpXmlNml(NML_FORMAT_PTR f_ptr, const char *url);
+
+  NMLmsg *readMsg();
+  
+  . . .
+
+
+
+ +

Each call to readMsg will attempt to read the url that was provided in the constructor and expect that to be XML which the format function can convert into an NML message.

+ +
+
+
+#include "clock.hh"
+#include "clock_n_codegen_protos.hh"
+
+#include "httpnml.hh"
+
+int main(int argc, const char **argv)
+{
+  HttpXmlNml hxn(MY_CLOCK_format,"http://localhost:8090/clock_buf.xml");
+
+  while(1)
+    {
+      MY_CLOCK *clk = (MY_CLOCK *) hxn.readMsg();
+      if(clk)
+	{
+	  printf("%02d:%02d:%02.0f\n",clk->now.hours,clk->now.minutes,clk->now.seconds);
+	}
+      sleep(1);
+   }
+}
+
+
+
+ +

NML C++ Headers and the Code Generation Tool

+ + +

Building an NML/XML application.

+ +

Building an application that uses XML and NML can be similar to the process as is used for building any other NML Application. It is illustrated in the +diagram below:

+ +

Diagram of NML build process: A pale yellow rectangle labeled 'User  Written C++ Header, defining NML messages(*.hh)' is above an arrow pointing to a pale green oval labeled 'NML CodeGen'. This oval is above arrows pointing to a pale blue box labeled 'Automatically Generated C++ header  with prototypes  for init and format  functions.(*n_codegen_prototypes.hh)', another labeled 'Automatically Generated C++ file with update, init and format functions.(*_n.hh)' and a group labeled 'Java Files').Below the pale blue boxes just described and on the left is a pale yellow box labeled 'User Written C++ Application with main() and calls to high level NML functions'. To the right of this is an orange oval labeled 'C++ Compiler and Linker'. Arrows go from the pale blue box above labeled 'Automatically Generated C++ file with update, init and format functions.(*_n.hh)' and from the the pale yellow box to the left labeled 'User Written C++ Application with main() and calls to high level NML functions' to the orange oval labeled 'C++ Compiler and Linker'. The orange oval is above an arrow pointing to a pale blue box labeled 'NML C++ Application'. To the left of this pale blue box are arrows going both from and to a group of grey boxes labeld 'XML files'. To the right of the last blue box are arrows going both from and to a group of grey boxes labeled 'NML Shared Memory Buffers'.

+ + + + +

NML messages are defined in C++ header files as classes or structures. In order to convert back and forth from the raw binary format specific to the current operating system and processor to a neutral format such as XDR or comma delimited ascii that can be passed between different platforms it is necessary to create some functions that are specific to the user defined classes. In the context of NML I call these the "update" and "format" functions described in The NML Programmer's Guide (C++ Version). The simple update and format functions described there unfortunately do not work well with XML because there is a great deal more information needed than just the type, order and current value of the variables being updated. The XML generating and parsing routines need information about tag and attribute names, which strings correspond with which enumeration values etc.So for example instead of calling cms->update(x); the code needs to call cms->update_with_name("x",x);. The new update_with_name functions will still generate or parse XDR the same as the old update function but can also generate or parse readable XML. Just like the update functions were, the update_with_name functions are overloaded to handle all the basic C data types.

+

The CodeGen tool has been modified to generate the newer style update +functions, but for backwards compatibility only does this if run from +the command line with the option "update_with_name=true". There is also a new command line only version of CodeGen called either CodeGenCmdLine.jar or nml_codegen which works the same except the default is changed so one needs to add "update_with_name=false" to force the use of the older functions. +

+ +

+CodeGen.jar is now deprecated. -- modified 2008-05-13. +

+ +

+The option generate_symbol_lookups=true is required for all XML operations. + -- added 2008-05-13 +

+ +

The following code should be in nml_xml1.hh:

+ +
+
+
+#include "rcs.hh"
+
+#define A_TYPE 10001
+
+class A : public NMLmsg
+{
+public:
+  A();
+  void update(CMS *);
+
+  char href[40]; 
+  char label[40];
+};
+
+
+
+ +

The following command will generate the code for nml_xml1.hh:

+ +
+
+java -jar pathtorcslib/plat/java/lib/CodeGenCmdLine.jar generate_symbol_lookups=true nml_xml1.hh
+
+
+ +

The following code was generated which uses update_with_name and can be used for both XML and XDR in the file:

+ +
+
+
+/*
+*	New C++ File starts here.
+*	This file should be named nml_xml1.cc
+*/
+
+// Include all NML, CMS, and RCS classes and functions
+#include "rcs.hh"
+
+// Include command and status message definitions
+#include "nml_xml1.hh"
+
+// Include externally supplied prototypes
+#include "nml_xml1_n_codegen_protos.hh"
+
+
+
+#ifndef MAX_NML_XML1_NAME_LENGTH
+#define MAX_NML_XML1_NAME_LENGTH 2
+#endif
+#ifndef NML_XML1_NAME_LIST_LENGTH
+#define NML_XML1_NAME_LIST_LENGTH 2
+#endif
+
+
+/* This list must be in alphabetical order and the three lists must correspond. */
+const char nml_xml1_name_list[NML_XML1_NAME_LIST_LENGTH][MAX_NML_XML1_NAME_LENGTH]= {
+	"A", /* 0,10001 */
+	""};
+const NMLTYPE nml_xml1_id_list[NML_XML1_NAME_LIST_LENGTH]= {
+	A_TYPE, /* 0,10001 */
+	-1};
+const size_t nml_xml1_size_list[NML_XML1_NAME_LIST_LENGTH]= {
+	sizeof(A),
+	0};
+const char *nml_xml1_symbol_lookup(long type);
+
+
+// Enumerated Type Constants
+
+/*
+*	NML/CMS Format function : nml_xml1_format
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 08:42:17 GMT-05:00 2003
+*/
+int nml_xml1_format(NMLTYPE type, void *buffer, CMS *cms)
+{
+
+	type = cms->check_type_info(type,buffer,"nml_xml1",
+		(cms_symbol_lookup_function_t) nml_xml1_symbol_lookup,
+		(const char **)nml_xml1_name_list,
+		nml_xml1_id_list,nml_xml1_size_list,
+		NML_XML1_NAME_LIST_LENGTH,
+		MAX_NML_XML1_NAME_LENGTH);
+
+	switch(type)
+	{
+	case A_TYPE:
+		((A *) buffer)->update(cms);
+		break;
+
+	default:
+		return(0);
+	}
+	return 1;
+}
+
+
+// NML Symbol Lookup Function
+const char *nml_xml1_symbol_lookup(long type)
+{
+	switch(type)
+	{
+	case A_TYPE:
+		return "A";
+	default:
+		return"UNKNOWN";
+		break;
+	}
+	return(NULL);
+}
+
+/*
+*	NML/CMS Update function for A
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 08:42:18 GMT-05:00 2003
+*/
+void A::update(CMS *cms)
+{
+
+	cms->beginClass("A","NMLmsg");
+	cms->update_with_name("href",href,40);
+	cms->update_with_name("label",label,40);
+
+	cms->endClass("A","NMLmsg");
+
+}
+
+/*
+*	Constructor for A
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 08:42:19 GMT-05:00 2003
+*/
+A::A()
+	: NMLmsg(A_TYPE,sizeof(A))
+{
+	for(int i_href=0; i_href< 40; i_href++)
+	{
+		((char*)href)[i_href]  = (char) 0;
+	}
+	for(int i_label=0; i_label< 40; i_label++)
+	{
+		((char*)label)[i_label]  = (char) 0;
+	}
+
+}
+
+
+
+ + +

The following is simultaneously produced in nml_xml1_n_codegen_protos.hh

+ +
+
+
+/*
+*	New C++ Header  File starts here.
+*	This file should be named nml_xml1_n_codegen_protos.hh
+*/
+
+#ifndef nml_xml1_n_codegen_protos_hh_included
+#define nml_xml1_n_codegen_protos_hh_included
+
+// Include all NML, CMS, and RCS classes and functions
+#include "rcs.hh"
+
+// Include command and status message definitions
+#include "nml_xml1.hh"
+
+// Forward Function Prototypes
+
+
+#ifndef MAX_NML_XML1_NAME_LENGTH
+#define MAX_NML_XML1_NAME_LENGTH 2
+#endif
+#ifndef NML_XML1_NAME_LIST_LENGTH
+#define NML_XML1_NAME_LIST_LENGTH 2
+#endif
+
+
+/* This list must be in alphabetical order and the three lists must correspond. */
+extern const char nml_xml1_name_list[NML_XML1_NAME_LIST_LENGTH][MAX_NML_XML1_NAME_LENGTH];
+extern const NMLTYPE nml_xml1_id_list[NML_XML1_NAME_LIST_LENGTH];
+extern const size_t nml_xml1_size_list[NML_XML1_NAME_LIST_LENGTH];
+extern const char *nml_xml1_symbol_lookup(long type);
+
+
+// Enumerated Type Constants
+
+extern int nml_xml1_format(NMLTYPE type, void *buffer, CMS *cms);
+
+#endif
+	/* # endif nml_xml1_n_codegen_protos_hh_included */ 
+
+
+
+ + +

Any of the following commands will produce much simpler shorter output that will work only with XDR:

+ +
+
+nml_codegen nml_xml1.hh update_with_name=false
+
+java -jar pathtorcslib/plat/java/lib/CodeGenCmdLine.jar nml_xml1.hh update_with_name=false
+
+java -jar pathtorcslib/plat/java/lib/CodeGen.jar nml_xml1.hh display_on=false
+
+
+ +

The following code was produced in nml_xml1_n.cc:

+ +
+
+
+/*
+*	New C++ File starts here.
+*	This file should be named nml_xml1.cpp
+*/
+
+// Include all NML, CMS, and RCS classes and functions
+#include "rcs.hh"
+
+// Include command and status message definitions
+#include "nml_xml1.hh"
+
+// Include externally supplied prototypes
+#include "nml_xml1_n_codegen_protos.hh"
+
+
+/*
+*	NML/CMS Format function : nml_xml1_format
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 07:24:12 GMT-05:00 2003
+*/
+int nml_xml1_format(NMLTYPE type, void *buffer, CMS *cms)
+{
+	switch(type)
+	{
+	case A_TYPE:
+		((A *) buffer)->update(cms);
+		break;
+
+	default:
+		return(0);
+	}
+	return 1;
+}
+
+
+// NML Symbol Lookup Function
+const char *nml_xml1_symbol_lookup(long type)
+{
+	switch(type)
+	{
+	case A_TYPE:
+		return "A";
+	default:
+		return"UNKNOWN";
+		break;
+	}
+	return(NULL);
+}
+
+/*
+*	NML/CMS Update function for A
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 07:24:14 GMT-05:00 2003
+*/
+void A::update(CMS *cms)
+{
+	cms->update(href,40);
+	cms->update(label,40);
+
+}
+
+/*
+*	Constructor for A
+*	Automatically generated by NML CodeGen Java Applet.
+*	on Thu Jul 03 07:24:15 GMT-05:00 2003
+*/
+A::A()
+	: NMLmsg(A_TYPE,sizeof(A))
+{
+	for(int i_href=0; i_href< 40; i_href++)
+	{
+		((char*)href)[i_href]  = (char) 0;
+	}
+	for(int i_label=0; i_label< 40; i_label++)
+	{
+		((char*)label)[i_label]  = (char) 0;
+	}
+
+}
+
+
+
+ +

The following is simultaneously produced in nml_xml1_n_codegen_protos.hh:

+ +
+
+
+/*
+*	New C++ Header  File starts here.
+*	This file should be named nml_xml1_n_codegen_protos.hh
+*/
+
+#ifndef nml_xml1_n_codegen_protos_hh_included
+#define nml_xml1_n_codegen_protos_hh_included
+
+// Include all NML, CMS, and RCS classes and functions
+#include "rcs.hh"
+
+// Include command and status message definitions
+#include "nml_xml1.hh"
+
+// Forward Function Prototypes
+
+extern int nml_xml1_format(NMLTYPE type, void *buffer, CMS *cms);
+
+#endif
+	/* # endif nml_xml1_n_codegen_protos_hh_included */ 
+
+
+
+ +

The main differences between the two syles are as follows:

+
    +
  • The new version creates three arrays nml_xml1_name_list, nml_xml1_id_list, and nml_xml1_size_list that are used when decoding XML in order to associate a unique integer with each possible global XML tag. (The tags will by default match class names although one could override this.) The size is used to check pointer references and to allow possible subsequent copies or moves of the data structure within NML to copy only the necessary number of bytes. The name list is put into alphabetical order so that it can be searched more quickly and the id list and size list are ordered so as to correspond with the name list.
  • +
  • The first line of the format function makes a call to cms->check_type_info which either looks up the tag name from the integer id or the id from the tag name, depending on whether we are generating or parsing xml. Looking up the tag name from the integer is done with nml_xml1_symbol_lookup function. For XDR, it simply returns the integer it was passed.
  • +
  • Each update function begins and ends with a call to cms->beginClass and cms->endClass. The tag names are expected to correspond with tag names and these functions are added to ensure that for every start tag there is a corresponding end tag. For XDR, these functions return immediately without doing anything.
  • +
  • Each call to update a variable uses update_with_name and passes a tag name.
  • +
  • There are a number of other differences that only become apparent when more complicated structures are used that contain enum's, union's NML_UNBOUNDED_ARRAYS, arrays of structures etc.
  • +
+ +

Changing the Tag Name

+ +

It is sometimes useful to make the XML tag name be some string which could not be a legal C++ class name or variable name.ie <my-tag/>. One could edit the generated code, but if you need to repeatedly edit the code it would probably be easier to add the special comment "//name=my-tag" the code generator recognizes to the header file. The alternative tagname begins after the "=" sign and ends just before the first space, carriage-return, new line, asterick, slash or comma character.

+ +
+
+
+        char label[40]; //name=my-label
+
+
+
+ +

produces :

+ +
+
+
+	cms->update_with_name("my-label",label,40);
+
+
+
+ + +

This will mean XML similar to <my-label> . . .</my-label> would be produced or expected.

+ +

If name is set to the empty string by placing a newline directly after the "=". then that variable will get or set the content of the class tag that contains it.

+ +

Using attributes

+ +

XML lets data be stored either in either elements or attributes. NML uses elements by default but will update or expect the code to be +in attributes instead if update_attribute_with_name is called. The comment "//attribute" in the header file is recognized by the code generator for this purpose. Only character arrays and non array variables of standard C++ data types (int,float,double ..) can be attributes. Structures, unions and arrays of non character types must be elements not attributes.

+ + +
+
+
+        char href[40]; //attribute
+
+
+
+ + +

produces :

+ +
+
+
+	cms->update_attribute_with_name("href",href,40);
+
+
+
+ + +

This will then produce or expect XML with the href embedded in the start tag of the class which contains it. ie <A href="..."> ... </A>.

+ +

Default Values

+ +

XML allows some elements and attributes to be missing. It is fairly useful to be able to specify a value that will +be used when the corresponding element or attribute is missing. The comment "//default=value" is recognized by the code generator.

+

The code generator will make two changes to the code created.

+ +
    +
  1. If a constructor or initialize function is created, it will set the variable to that value.
  2. +
  3. A call to cms->next_update_default("value") will be added before the call to update that variable.
  4. +
+ + +
+
+
+        char href[40]; //attribute,default=http://www.nist.gov
+
+
+
+ + +

produces :

+ +
+
+
+        cms->next_update_default("http://www.nist.gov");
+	cms->update_attribute_with_name("href",href,40);
+
+
+
+ + +

and

+ +
+
+
+A::A()
+	: NMLmsg(A_TYPE,sizeof(A))
+{
+	href[0]='h';
+	href[1]='t';
+	href[2]='t';
+	href[3]='p';
+	href[4]=':';
+	href[5]='/';
+	href[6]='/';
+	href[7]='w';
+	href[8]='w';
+	href[9]='w';
+	href[10]='.';
+	href[11]='n';
+	href[12]='i';
+	href[13]='s';
+	href[14]='t';
+	href[15]='.';
+	href[16]='g';
+	href[17]='o';
+	href[18]='v';
+	href[19]=0;
+ . . .
+
+
+
+ + +

This does not precisely correspond to the way the XML Schema default attribute works at least for elements. According to XML Schema Part 0: Primer on the World Wide Web Consortium (W3C) website:

+ +

Default values of both attributes and elements are declared using the default attribute, although this attribute has a slightly different consequence in each case. When an attribute is declared with a default value, the value of the attribute is whatever value appears as the attribute's value in an instance document; if the attribute does not appear in the instance document, the schema processor provides the attribute with a value equal to that of the default attribute. Note that default values for attributes only make sense if the attributes themselves are optional, and so it is an error to specify both a default value and anything other than a value of optional for use.

+ +

The schema processor treats defaulted elements slightly differently. When an element is declared with a default value, the value of the element is whatever value appears as the element's content in the instance document; if the element appears without any content, the schema processor provides the element with a value equal to that of the default attribute. However, if the element does not appear in the instance document, the schema processor does not provide the element at all. In summary, the differences between element and attribute defaults can be stated as: Default attribute values apply when attributes are missing, and default element values apply when elements are empty.

+ +

Currently NML is treating both attributes and elements in the same way. If an empty tag such as <mytag/> were read during the update of a character array the first character will be set to zero, while only if the tag does not occur at all will the default be copied into the array. If the variable is not a character array the empty tag will be considered invalid data and an error printed. Perhaps a future version of NML will address this inconsistancy.

+ + +

NML_UNBOUNDED_ARRAY

+ +

NML does not usually allow pointer types. The reason is that if one copies a data structure containing pointer(s) in C++ the object(s) pointed to are not copied, so now there are two pointers to the same object. That might be what you want in some cases, but if one of those pointers is then accessed by another process you will depending on the operating system either halt with some kind of memory access violation or access the object with no mutual exclusion protection. This means that one process might be using it while another changes it and that usually causes very difficult to diagnose problems.

+

XML often contains tags that can occur and unbounded number of times. The only way to store these is to use a pointer that can be used to dynamically allocate however much memory is required.

+

The following macro is defined in nmlmsg.hh ( which is included by rcs.hh):

+
+
+
+#define DECLARE_NML_UNBOUNDED_ARRAY(type, name) int name##_length; type *name; int name##_size_allocated;
+
+
+
+ +

The use of this macro acts both as a signal to the code generator and as a way of defining three variables on one +line reusing the name.

+

This can then be used to create three variables to correspond to each unbounded array. A pointer to either NULL or an area of memory allocated for the array, the length or the number of items on the array that are intended to be sent with the next write or were received in the most recent read, and the size_allocated or the number of items that could be stored without needing to allocate a bigger array.

+

Dealing with this requires some special care. Before writing a message that contains unbounded you should allocate the amount of space needed and set both the corresponding _length and size_allocated. Be aware that if you read a message that contains an unbounded that the memory may be freed during the next read or write on that channel, so you may need to allocate space for a separate copy to keep before making another call to NML::read or NML::write. If you receive multiple types of messages from the same channel you need to free the unboundeds each time to avoid a memory leak. Whenever you free an unbounded you should set the length and size_allocated to zero and the pointer to NULL, to prevent a subsequent NML read or write from accessing that memory. In the configuration file, neutral must be set to one and the encoding method must be "xml". The size of the buffer set in the configuration file is still finite and needs to be made big enough to accommodate the xml encoded data.

+ +

For unbounded arrays of characters the macro SET_NML_UNBOUNDED_STRING also defined in nmlmsg.hh included by rcs.hh will conveniently set the pointer and update both the length and size_allocated variables.

+ +
+
+
+#define SET_NML_UNBOUNDED_STRING(name, string)  name=strdup(string); name##_length = strlen(name); name##_size_allocated=name##_length+1;
+
+
+
+ +

The following example uses unbouded arrays.

+ +
+
+
+#include "rcs.hh"
+
+#define A_TYPE               10001
+#define LIST_OF_ANCHORS_TYPE 10002
+
+class A : public NMLmsg
+{
+public:
+  A();
+  void update(CMS *);
+
+  DECLARE_NML_UNBOUNDED_ARRAY(char,href); //attribute,default=http://www.nist.gov
+  DECLARE_NML_UNBOUNDED_ARRAY(char,label); //name=
+};
+
+class LIST_OF_ANCHORS : public NMLmsg
+{
+public:
+  LIST_OF_ANCHORS();
+  void update(CMS *);
+
+  DECLARE_NML_UNBOUNDED_ARRAY(A,alist);
+};
+
+
+
+ + +

produces

+ +
+
+
+void A::update(CMS *cms)
+{
+
+	cms->beginClass("A","NMLmsg");
+	cms->next_update_default("http://www.nist.gov");
+	cms->update_unbounded_attribute_with_name("href",&href,href_length,href_size_allocated);
+	cms->update_unbounded_with_name("",&label,label_length,label_size_allocated);
+
+	cms->endClass("A","NMLmsg");
+
+}
+
+
+
+ + +

. . .

+ +
+
+
+void LIST_OF_ANCHORS::update(CMS *cms)
+{
+
+	cms->beginClass("LIST_OF_ANCHORS","NMLmsg");
+	cms->beginStructUnboundedArray("alist",((void **) &alist),alist_length,alist_size_allocated,sizeof(A));
+	if(0 != alist)
+	{
+		for(int i_alist=0; i_alist < alist_length && i_alist < alist_size_allocated ; i_alist++)
+		{
+			cms->beginStructArrayElem("alist", i_alist);
+			alist[i_alist].update(cms);
+			cms->endStructArrayElem("alist", i_alist);
+		}
+	}
+	cms->endStructUnboundedArray("alist",((void **) &alist),alist_length,alist_size_allocated,sizeof(A));
+
+	cms->endClass("LIST_OF_ANCHORS","NMLmsg");
+
+}
+
+
+
+ + + +

. . .

+ +
+
+
+A::A()
+	: NMLmsg(A_TYPE,sizeof(A))
+{
+	SET_NML_UNBOUNDED_STRING(	href,"http://www.nist.gov");
+	label=0;
+	label_length=0;
+	label_size_allocated=0;
+}
+
+
+
+ + +

. . .

+ +
+
+
+LIST_OF_ANCHORS::LIST_OF_ANCHORS()
+	: NMLmsg(LIST_OF_ANCHORS_TYPE,sizeof(LIST_OF_ANCHORS))
+{
+	alist=0;
+	alist_length=0;
+	alist_size_allocated=0;
+
+}
+
+
+
+ + +

Updating simple types like character arrays only requires changing +the cms->update_with_name to cms->update_unbounded_with_name and adding an additional parameter. For arrays of data structures, several steps are required. The data structure is allocated or checked for size in beginStructUnboundedArray. Then each element of the array is updated and those updates are surrounded by calls to cms->beginStructArrayElem and cms->endStructArrayElem. The constructors force unbounded arrays without default values to zero or NULL, indicating no memory is allocated for it. Memory is allocated in the constructor and the size_allocated and length values set appropriately for unbounded character arrays that have default values.

+ +

Array Indexes

+ +

There are several ways arrays could be represented in XML. Consider the array:

+ +
+
+
+    int i[5];
+
+
+
+ + +

Assume that i[0] = 0, i[1] = 1, etc.One way to represent the array which would correspond to a list in XML schema. Enclose the entire array in a single set of tags and use a delimiter such as a space between the elements.

+ +
+
+
+     <i>0 1 2 3 4</i>
+
+
+
+ + +

There are a couple of problems with this method. If the list is very large,while the position of each element is perfectly clear to programs parsing the data it is hard for a human looking only at the text to find for example element number 152. It is more difficult to send only part of an array this way. For example if only element number 152 needs to be changed one still needs to send the preceding 151 elements just so the element we want to send is in the correct position. Another problem is that we can not handle arrays of data structures this way.This method is not currently supported by NML, but could perhaps be added in the future using alternative update functions and a hot comment similar to the way attributes are handled.

+ +

What NML will do by default is to use separate start and end tags for each element and add -array_index to each tag name so that the following would result:

+ +
+
+
+    <i-0>0</i-0><i-1>1</i-1><i-2>2</i-2><i-3>3</i-3><i-4>4</i-4>
+
+
+
+ + +

While this looks rather ugly, it allows one to find any element without counting the preceding elements and it allows the use of the configuration option "xmldiff" where only elements that change are sent.

+ +

In order to be compatible with some externally generated schemas there is an option of not using the array indexes. If the header file contains the line:

+
+
+
+#define DO_NOT_ADD_INDEXES_TO_ARRAY_NAMES 1
+
+
+
+ + +

Then the code generator will add the following line to the beginning of the +format function:

+ +
+
+
+	cms->add_array_indexes_to_name=false;
+
+
+
+ + +

The output of the previous example would then be:

+ +
+
+
+    <i>0</i><i>1</i><i>2</i><i>3</i><i>4</i>
+
+
+
+ + +

In this case the position and order of the elements again becomes critical. "xmldiff" can not be used with this option.

+ +

Another option which I considered but have not yet implemented would be to use an attribute as the array index. This would look something like this:

+ +
+
+
+    <i index="0">0</i><i index="1">1</i><i index="2">2</i><i index="3">3</i><i index="4">4</i>
+
+
+
+ + +

The two downsides to this approach are that it is the most verbose and that since all the end tags are identical it can be somewhat more difficult to see which start tag matches which end tag when just looking at the output in a text editor.

+ +

Dates and Times

+ +

XML defines several special formats for dates and times. CMS defines in cms.hh (which is included by rcs.hh) several structures for dates and times including:

+ +
+
+
+struct CMS_DURATION
+{
+  long years;
+  long months;
+  long days;
+  long hours;
+  long minutes;
+  double seconds;
+};
+
+struct CMS_DATE_TIME
+{
+  long years;
+  long months;
+  long days;
+  long hours;
+  long minutes;
+  double seconds;
+  int timezoneoffsethours;
+};
+
+struct CMS_TIME 
+{
+  int hours;
+  int minutes;
+  double seconds;
+  int timezoneoffsethours;
+};
+
+struct CMS_DATE 
+{
+  long years;
+  long months;
+  long days;
+};
+
+
+
+ +

The update functions for these classes have been overloaded to generate and +expect date and time formats correspondig to the XML schema types time,date,datetime, and duration.

+ +

The following functions may be convenient for setting the structures to the current date and/or time.

+ +
+
+
+     void get_current_cms_date_time(struct CMS_DATE_TIME *dt);
+     void get_current_cms_time(struct CMS_TIME  *t);
+     void get_current_cms_date(struct CMS_DATE *d);
+
+
+
+ +

Java Support

+ +

Whenever the code generator is used a series of java class files will also be generated. The classes generated can be configured to use XML with the same configuration file options the C++ code responds to. In addition the class rcs.nml.XMLFormatConverter can be used on its own to read a URL and parse XML for NML messages.

+ +
+
+
+package rcs.nml;
+
+public class XMLFormatConverter extends NMLFormatConverterBase
+{
+
+  public void SetMessageDictionary(NMLMessageDictionary new_dict)
+  {
+      . . .
+  }
+
+  public NMLmsg readXmlFromURL(java.net.URL url)
+  { 
+     . . .
+  }
+ 
+. . .
+}
+
+
+
+ +

The following code should run with the previous clock server to print the +time over and over on the command line. The rcs.jar file needs to be on the +classpath both to compile and to run. The class clock_MsgDict is created by the code generator and provides the XMLFormatConverter with information about the +particular NML classes that might be used in this application.

+ +
+
+
+public class clockread
+{
+    public static void main(String args[])
+    {
+	try
+	    {
+		clock_MsgDict cmd = new clock_MsgDict();
+		rcs.nml.XMLFormatConverter xfc = new rcs.nml.XMLFormatConverter();
+		xfc.SetMessageDictionary(cmd);
+		java.net.URL url = new java.net.URL("http://localhost:8090/clock_buf.xml");
+		while(true)
+		    {
+			MY_CLOCK clk = (MY_CLOCK) xfc.readXmlFromURL(url);
+			if(null != clk)
+			    {
+				System.out.println(clk.now.hours+":"+clk.now.minutes+":"+clk.now.seconds);
+			    }
+		    }
+	    }
+	catch(Exception e)
+	    {
+		e.printStackTrace();
+	    }
+    }
+}
+
+
+
+ + +
+ +

Last Modified: 28-Jul-2003

+ +

If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

+ + + + diff --git a/doc/NMLbuild3.png b/doc/NMLbuild3.png new file mode 100644 index 0000000..1b41854 Binary files /dev/null and b/doc/NMLbuild3.png differ diff --git a/doc/NMLcfg-June-2004.html b/doc/NMLcfg-June-2004.html new file mode 100644 index 0000000..43ac066 --- /dev/null +++ b/doc/NMLcfg-June-2004.html @@ -0,0 +1,376 @@ + + + + +NML Configuration Files + + + + + +

Writing NML Configuration Files.

+ +

Most of the options available in CMS are specified in a +configuration file. There should be one line in the file for every +buffer that is required and every process using CMS should have one +line for every buffer it accesses. Currently there is no difference +between a CMS configuration file and an NML configuration file. The files +may contain only ASCII characters, and can be generated with any text editor. +

+

Update 9-Apr-2004: See The NML Configuration Server for information on how this information can be determined at run-time and also for some extensions to this format.

+ +

Lines beginning with # or white space are comments.

+

Lines beginning with B specify information about a particular buffer and are +called buffer lines.

+

Lines beginning with P specify information about how a particular process accesses a buffer and are called process lines.

+ +

Before writing the details of the buffer and process lines, you will need to +review the major buffer and process types available.

+ +

Buffer and Process Types

+ +

+Local processes can connect to buffers using GLOBMEM, SHMEM, FILEMEM or LOCMEM. +Remote processes can connect using TCP, UDP or RPC.

+ +

GLOBMEM

+ +

GLOBMEM is intended for communication across a VME backplane between processors with minimal operating system intervention, which allows greater portability and interoperability than SHMEM, but users need to specify the addresses of +memory to use and mutual exclusion is implemented with a set of locks in memory rather than with semaphores provided by the operating system. GLOBMEM may also +be used with a Bit3 ISA or EISA to VME adapter.

+ +

SHMEM

+ +

SHMEM is intended for communications between tasks managed by the same operating system. The operating system allocates the memory to be shared so users +do not need to specify one. Users have a choice of mutual exclusion techniques with include something similar to GLOBMEM's method, using an operating system semaphore or mutex, or disabling and enabling context switching or interrupts during the appropriate critical sections.

+ +
Mutual Exclusion for Shared Memory
+

One of the most significant ways of optimizing shared memory accesses is +to choose a the fastest form of mutual exclusion that still allows the application to run reliably. Mutual Exclusion is used to prevent multiple tasks, threads, or processors from using the same resource at the same time. This is necessary when using shared memory to prevent a process from reading the shared memory +while only part of the message has been written or vice versa. Here are the +currently available options:(One of them can be placed on the buffer line after the shared memory key.)

+

+"mutex=os_sem" This is the default. An operating system semaphore +is created using the same key used for shared memory. This semaphore is taken +before each read or write and released afterwards. If another process already +has taken but not released the semaphore when the semaphore is taken the +operating system puts the process to sleep until the semaphore is released. +This is reliable, however the operating system calls to take and release +the semaphore take from 100 to 500 microseconds depending on CPU and operating +system to execute. This is a very long time compared to the time required +to copy small messages (less than 10k) into the shared memory area. +

+

"mutex=none" The library will make no attempt to provide +mutual exclusion. This is a very dangerous option that is only recommended when +some other form of mutual exclusion is implemented on top of NML. One example might be to use only a single semaphore for multiple buffers like this:

+ +
+	. . .
+	rcs_sem_wait( . . .);
+	type1 = nml1->read(); // configured not to provide mutual exclusion internally 
+	type2 = nml2->read(); // configured not to provide mutual exclusion internally 
+	type3 = nml3->read(); // configured not to provide mutual exclusion internally 
+	rcs_sem_post( . . .);
+	. . .
+
+ +

+"mutex=no_interrupts" If there is only a single processor running +multiple tasks or threads, most operating systems will be prevented from switching tasks, or threads as long as interrupts are disabled. Since disabling and enabling interupts is often much faster than the semaphore calls, this can be +an efficient means of mutual exclusion. Currently this option will only work +under Lynx and VxWorks. Under Lynx it is necessary to run the process as root. +You also need to know how long your system can tolerate having interrupts +disabled. +

+ +

+"mutex=no_switching" Some operating systems allow you to disable +task switching which can be used just as disabling interrupts above, except that it is a little gentler in that it only prevents other tasks from executing +but allows hardware interrupts to execute. Currently this option will only work under Lynx and VxWorks. Under Lynx it is necessary to run the process as root. +

+ +

+"mutex=mao split" This is an experimental option. It provides mutual +exclusion by splitting the buffer in half. At any given time one half is +used for reading while the other half is used for writing. Only at the end of +a write is a flag changed that switches which half is used for what. A small +area at the beginning of the buffer is used for registering which processes are +reading and which are writing at any given time. This allows many readers and one writer to access the buffer simultaneously without allowing any reader to get a partial message or require semaphore calls. However situations can occur where it is necessary to force one of the processes to wait, or return an error. When a process is forced to wait there is currently no provision for priority +inheritance, which means that currently while most of the time this option is +very fast compared to the others, it can occasionally take significantly longer or timeout. +

+ + +

FILEMEM

+ +

FILEMEM is useful primarily for debugging. Messages are read from and written to a file, or messages may be read from one file and written to another. Record locking is used to provide mutual exclusion. This is the least efficient method, however the output file can be used for post-mortem analysis and scripts can +be written and used as the input file for unit testing. FILEMEM buffers must have neutral set to 1 and add "disp" to the bufferline to use the displayable method of neutral data encoding. The input file can be set by adding "in=<filename>" at the end of the bufferline or it defaults to waiting for input from stdin, the output file can be set with "out=<filename>" or it defauls to stdout.

+ +

LOCMEM

+ +

LOCMEM is useful when many modules are linked together in one thread of execution but you want to write them such that each module uses the NML API just as it would if it needed to communicate with the other modules running separately. There is no need for any mutual exclusion mechanism and memory is obtained with a simple malloc so the operating system will not exceed its limits for +semaphores or shared memory segments. +

+ +

RPC

+ +

RPC stands for "Remote Procedure Call". There are two incompatible types of RPC, although they are both intended for the same purpose. CMS uses ONC RPC which is available on more of the platforms we were interested in rather than the NCS RPC which was chosen by OSF and is distributed with Visual C++. RPC was the first remote connection method available to NML users. Originally RPC was required for its dispatch services and eXternal Data Representation interface but these +features are now provided in CMS on top of TCP or UDP. NML users that select RPC will not need to use any of the RPC API (just as they would not use any of the sockets API if TCP or UDP were selected), however they can check to see that the servers are registered with rpcinfo.

+

Update 9-Apr-2004: RPC is now deprecated.

+ + +

TCP

+ +

TCP stands for "Transmission Control Protocol". This is the recommended method for remote connection, for most applications. It is more reliable and can handle larger messages than UDP and is more widely available than RPC.

+ +

STCP

+ +

STCP is a simplified form of the software on top of TCP. It is useful +for as an interface to languages other than C++/Java where creating a +binary version of the NML message structure(s) is difficult and/or there is no +version of the RCS library available. It allows that applications in that language to send +and receive simple text strings with low-level socket functions, while C++ and +Java applications still use the normal NML API. It must be used with the +display neutral encoding method. This means "disp" or "xml" must be placed on the bufferline and "xdr" or "ascii" must be removed if present.

+ + +

UDP

+ +

UDP stands for "User Datagram Protocol". UDP is sometimes faster than TCP since it eliminates some of the error checking but messages should not exceed 512 bytes.

+ +

Buffer Lines

+

Lines declaring buffers should have the following +format:

+
 
+B 	name	type	host	size	neut	RPC# 	buffer# max_procs [Type-spec data]
+
+

B is the literal character identifying the line as describing a +buffer. +

+ +

name is a string identifying the buffer. +

+ +

type is a string which can currently be "SHMEM" for shared memory +buffers used for communications between processes on the same CPU , +"GLOBMEM" for global memory buffers on a VME or EISA backplane, +"LOCMEM" for a communications between functions run within +the same process (multi-threaded applications should never use LOCMEM), + or "PHANTOM" +for buffers that use phantom functions. +

+ +

host is a the name of the host for the buffer. If remote processes +need to access the buffer they will look for an NML server on this host. +

+ +

size is size of the buffer in decimal. +

+ +

neut should be either 0 or 1. 1 indicates that the data stored in +the buffer should be formatted into a machine independent or neutral +format. Remote processes can still access buffers with a O even when +running on a processor using incompatible types because the NML server +can encode and decode automatically. However, the buffer itself must be +encoded(neut=1) if the buffer will be accessed locally by processors of incompatible types. +

+ +

RPC# - A remote procedure call number. All buffers that will be +accessed using the same server should have the same RPC#. RPC program +numbers 0x20000000 to 0x30000000 are for users to define. You may use +the rpcinfo command on UNIX workstations to determine which numbers are +already being used. Currently, the RPC# here is still required as a place holder even if TCP or UDP were to be used instead. This allows for some backward compatibility with configuration files written before TCP or UDP were options, however this backward compatibility may be dropped in the future. +

+

Update 9-Apr-2004: Use of RPC is now deprecated. A TCP port or UDP port should always be specified, so the RPC# will ignored. 0 is typically used as a placeholder for this parameter. +

+ +

buffer# - A server for more than one buffer will use the buffer +number to determine which buffer to access for each request. Give each +buffer a unique buffer number. +

+ +

max_procs- The maximum number of processes allowed to use this +buffer.(If the total possible connections equals n then the connection +number in the process lines may be 0 to n-1.) +

+ +

The area following the max_procs number is used to store information +relevant to particular types of buffers, or to set options that have defaults. +

+ +

GLOBMEM buffers require a physical address. + The physical address may be specified +with 1 or more address equations of the form "???_addr=0xnnnnnnnn" where +??? may be a host name, process name or bus name. +

+ +

SHMEM buffers expect an integer key in the type specific area. +The key needs to be a unique shared memory key on your system. For +many UNIX systems the command "ipcs" can tell you which +shared memory keys are in use. All of the NML buffers using SHMEM on +a particular host need to have different keys. +

+ +

To configure the use of TCP or UDP instead of RPC for remote access +to the buffer, add either "TCP=" or "UDP=" and a port number to the buffer line. Use a port number greater than 1024 since ports 1-1023 are reserved for processes with user ID 0. It is recommended that you select a port between 5000 and 32000 to minimize the chance of conflicting with another application.

+ +

To use an alternative neutral encoding scheme where the messages are converted to ascii or plain text strings, add the word "ascii" to the buffer line. Or add "disp" to use an neutral encoding scheme that produces text strings with look much better for display. (The "disp" is required for FILEMEM.)

+

Update 9-Apr-2004: Use of "ascii" encoding is deprecated. For compatibility with previous versions of NML "xdr" should no be explicitly placed on the bufferline. A warning may be printed if no method is explicitly mentioned. XDR stands for "External Data Representation" a standard used by RPC. Two new encoding options available are "packed" and "xml". See NML support for XML for information concerning xml. "packed" encoding is unique to NML, it is binary similiar to XDR but not compaible with it. It packs structures more tightly and avoids byte-endian conversions when not necessary by adding the original endian type to the message. "packed" is the new default. +

+

Update 14-Jun-2004: "packedl64" can be used to +store long and unsigned long types in 64 bits. This is only useful if used on +a system that uses 64 bit longs and unsigned longs, such as Itanium systems. +(See NML 64bit long notes.)

+

To set the input file for FILEMEM add "in=" and the filename to the buffer line. Without this FILEMEM will use stdin.

+ +

To set the output file for FILEMEM add "out=" and the filename to the buffer line. Without this FILEMEM will use stdout.

+ +

To force FILEMEM to limit the number of messages in the output file add +"max_out=" and the maximum number of messages to store in the output file. When this limit is reached the file will be overwritten starting at the beginning.

+ +

To enable queuing of messages in the buffer, add the word "queue" to the buffer line.

+ +

To enable supplemental timing diagnostic information to be logged to the buffer, add the word "diag" to the buffer line.( See Supplementary NML Timing Diagnostics Tools.)

+ +

To create a second semaphore needed for blocking_reads, add "bsem=<key>" where key is a unique semaphore key on that host. The key should +also be different thatn the shmem key(s).

+ +

To force backwards version compatibility, add "version=<version number>".

+ +

To force the server to send confirmation messages back to a remote writer add "confirm_write". This allows a remote writer to detect problems such as a full queue or if a write_if_read failed because the buffer was not read but it +reduces performance.

+ +

To set the baudrate to use on an RS232 serial port add "baud_rate=n" where n is and integer baud rate. The baud rates available depend on your +hardware and operating system. The default is 9600. This parameter has no effect on non-serial port communications.

+ +

To prevent GLOBMEM from using "taskLock()/taskUnlock()" under VxWorks add "NO_TASK_LOCK". Note: the taskLock() is needed when multiple tasks on the same processor access the same GLOBMEM buffer, to ensure deadlocks do not occur. This tag can also be placed on the process line to effect only that process rather than all processes accessing this buffer.

+ + +

Process Lines

+ +

Process lines should have the following format: +

+ +
+P 	name	buffer	type	host 	ops 	server 	timeout master 	c_num
+
+

P is the literal character identifying the line as describing a +process. +

+ +

name is a string matching the process name passed to the CMS config +function or the NML constructor. +

+ +

buffer is the string matching the identifier used in a buffer line +to which this process intends to connect. +

+ +

type is a string which can currently be "LOCAL" , "REMOTE", or +"PHANTOM". +

+ +

host is the name of the processor that the process is expected to +run on. +

+ +

ops is a string indicating whether the process will read or write. +

+ +

server should be either 0, 1, 2, or 3. +A 1 indicates that this process is +responsible for running a server for the buffer, +a 2 indicates that the nml_start function +should spawn a server for the buffer, and a 0 is for processes that +will neither spawn nor run a server for the buffer.

+

Update 9-Apr-2004: 3 indicates that a server should be spawned immediately rather than waiting for nml_start to be called. Unlike the other options, the TCP port or UDP port can not be shared with any other buffers. +

+ +

timeout is the time in seconds for the process to wait for the +mutual exclusion semaphore or for an RPC call to return before an error is reported. A time can be +specified in floating point and the timeout is measured as close as possible +for the given platform and process type or "INF" to never timeout. +

+ +

master is a flag which should be 0 or 1, to indicate whether this process should create and initialize this buffer. On some operating systems there +must be one and only one master process, on some there can be multiple masters. +The parameter is ignored for REMOTE processes. There must be atleast one master that is a local process started before non-master and remote processes are started.

+

Update 9-Apr-2004: On some operating systems even non-masters can be started first and they will create the buffer, making this parameter almost irrelavent. We may attempt to eliminate this behavior in the future. For maximum portability, setting only a single process to be the master and ensuring it is started first is still recommended.

+ +

c_num is the connection number for this process.c_num must be +between 0 and n-1 where n is the number of total_connections specified +on the buffer line. +

+ +

The area of the process line after the connection number is used to +choose some options that have defaults. These options can be added in any +order.

+ +

To have a remote processes set the non-blocking flag on its socket, add +"poll".

+ +

To have a remote process setup a subscription with a TCP server add, +"sub=<subscription interval>". The subscription interval is given +in seconds as a floating point number. Example: To setup subscription interval +of 20 milliseconds add "sub=0.02".

+ + +

To prevent GLOBMEM from using "taskLock()/taskUnlock()" under VxWorks add "NO_TASK_LOCK". Note: the taskLock() is needed when multiple tasks on the same processor access the same GLOBMEM buffer, to ensure deadlocks do not occur. This tag can also be placed on the buffer line to effect all processes accessing this buffer.

+ +

To have a process use an RS232 serial port for communications add "serialPortDevName=<name>" where name is a device name such as "/dev/ttyb" or "COM2:". In addition the process must either be a +server or be REMOTE. This is available only on certain platforms. By default, +the port will be set to 9600 baud, 8 data bits, 1 stop bit, no parity.

+ + +

Example: NML Configuration File

+ +

This configuration file provides a possible configuration file for +the rest of the examples in this document. On your system, at the very least the host names will have to be changed. Although ex_buf4 is never used by any of the examples, but it is included as an example of the use of GLOBMEM.(The tab-stops on your browser or text editor may not make the columns line up neatly. NML only needs "some" white space between the items so feel free to add/remove tabs and spaces as needed for better appearance.)

+ +
+ex_cfg.nml
+ +
+# ex_cfg.nml
+
+# buffers:
+# name		type	host	size	neut RPC# 	buffer#	 max_proc [type-spec]
+#		GLOBMEM	host	size	neut RPC# 	buffer#	 max_proc phys_addr
+#		SHMEM	host	size	neut RPC# 	buffer#	 max_proc key 
+B ex_buf1	SHMEM	dopey	512	0    0	        1	 11 	101 TCP=5001 
+B ex_buf2	SHMEM	dopey	512	0    0	        2	 4 	102 TCP=5001 
+B ex_buf3	GLOBMEM	vx40	512	0    0	        3	 4 	vme_addr=0x4e00000 TCP=5002
+
+
+# processes:
+# name		buffer	type	host 	ops	server 	timeout	master 	c_num
+P ex1_proc	ex_buf1	LOCAL	dopey 	W	0	INF 	1	0
+P ex2_proc	ex_buf1	LOCAL	dopey 	W	0	INF 	1	1
+P ex2_proc	ex_buf2	LOCAL	dopey 	W	0	INF 	1	1
+P ex3_proc	ex_buf1	LOCAL	dopey 	R	0	INF 	1	2
+P ex4_proc	ex_buf1	LOCAL	dopey 	W	0	INF 	0	3
+P ex5_proc	ex_buf1	PHANTOM	dopey 	W	0	0.5 	1	4
+P ex6_proc	ex_buf1	LOCAL	dopey 	W	0	0.5 	1	5
+P ex8_proc	ex_buf1	REMOTE	rosie 	RW	0	10.0 	0	6
+P ex8_svr	ex_buf1	LOCAL	dopey 	RW	1 	5.0 	1	8
+P ex8_svr	ex_buf2	LOCAL	dopey 	RW	1 	5.0 	1	8
+P ex9_svr	ex_buf1	LOCAL	dopey 	RW	1 	5.0 	1	9
+P ex9_svr	ex_buf2	LOCAL	dopey 	RW	1 	5.0 	1	9
+P ex10_svr	ex_buf1	LOCAL	dopey 	RW	1 	5.0 	1	10
+P ex10_svr	ex_buf2	LOCAL	dopey 	RW	1 	5.0 	1	10
+
+ + +
+ +

Last Modified: 9-Apr-2004

+

If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

+ + + + + + diff --git a/doc/NMLcfg.html b/doc/NMLcfg.html new file mode 100644 index 0000000..5eb6730 --- /dev/null +++ b/doc/NMLcfg.html @@ -0,0 +1,406 @@ + + + + +NML Configuration Files + + + + + +

Writing NML Configuration Files.

+ +

Most of the options available in CMS are specified in a +configuration file. There should be one line in the file for every +buffer that is required and every process using CMS should have one +line for every buffer it accesses. Currently there is no difference +between a CMS configuration file and an NML configuration file. The files +may contain only ASCII characters, and can be generated with any text editor. +

+

Update 9-Apr-2004: See The NML Configuration Server for information on how this information can be determined at run-time and also for some extensions to this format.

+ +

Lines beginning with # or white space are comments.

+

Lines beginning with B specify information about a particular buffer and are +called buffer lines.

+

Lines beginning with P specify information about how a particular process accesses a buffer and are called process lines.

+ +

Before writing the details of the buffer and process lines, you will need to +review the major buffer and process types available.

+ +

Buffer and Process Types

+ +

+Local processes can connect to buffers using GLOBMEM, SHMEM, FILEMEM or LOCMEM. +Remote processes can connect using TCP, UDP or RPC.

+ +

GLOBMEM

+ +

GLOBMEM is intended for communication across a VME backplane between processors with minimal operating system intervention, which allows greater portability and interoperability than SHMEM, but users need to specify the addresses of +memory to use and mutual exclusion is implemented with a set of locks in memory rather than with semaphores provided by the operating system. GLOBMEM may also +be used with a Bit3 ISA or EISA to VME adapter.

+ +

SHMEM

+ +

SHMEM is intended for communications between tasks managed by the same operating system. The operating system allocates the memory to be shared so users +do not need to specify one. Users have a choice of mutual exclusion techniques with include something similar to GLOBMEM's method, using an operating system semaphore or mutex, or disabling and enabling context switching or interrupts during the appropriate critical sections.

+ +
Mutual Exclusion for Shared Memory
+

One of the most significant ways of optimizing shared memory accesses is +to choose a the fastest form of mutual exclusion that still allows the application to run reliably. Mutual Exclusion is used to prevent multiple tasks, threads, or processors from using the same resource at the same time. This is necessary when using shared memory to prevent a process from reading the shared memory +while only part of the message has been written or vice versa. Here are the +currently available options:(One of them can be placed on the buffer line after the shared memory key.)

+

+"mutex=os_sem" This is the default. An operating system semaphore +is created using the same key used for shared memory. This semaphore is taken +before each read or write and released afterwards. If another process already +has taken but not released the semaphore when the semaphore is taken the +operating system puts the process to sleep until the semaphore is released. +This is reliable, however the operating system calls to take and release +the semaphore take from 100 to 500 microseconds depending on CPU and operating +system to execute. This is a very long time compared to the time required +to copy small messages (less than 10k) into the shared memory area. +

+

"mutex=none" The library will make no attempt to provide +mutual exclusion. This is a very dangerous option that is only recommended when +some other form of mutual exclusion is implemented on top of NML. One example might be to use only a single semaphore for multiple buffers like this:

+ +
+	. . .
+	rcs_sem_wait( . . .);
+	type1 = nml1->read(); // configured not to provide mutual exclusion internally 
+	type2 = nml2->read(); // configured not to provide mutual exclusion internally 
+	type3 = nml3->read(); // configured not to provide mutual exclusion internally 
+	rcs_sem_post( . . .);
+	. . .
+
+ +

+"mutex=no_interrupts" If there is only a single processor running +multiple tasks or threads, most operating systems will be prevented from switching tasks, or threads as long as interrupts are disabled. Since disabling and enabling interupts is often much faster than the semaphore calls, this can be +an efficient means of mutual exclusion. Currently this option will only work +under Lynx and VxWorks. Under Lynx it is necessary to run the process as root. +You also need to know how long your system can tolerate having interrupts +disabled. +

+ +

+"mutex=no_switching" Some operating systems allow you to disable +task switching which can be used just as disabling interrupts above, except that it is a little gentler in that it only prevents other tasks from executing +but allows hardware interrupts to execute. Currently this option will only work under Lynx and VxWorks. Under Lynx it is necessary to run the process as root. +

+ +

+"mutex=mao split" This is an experimental option. It provides mutual +exclusion by splitting the buffer in half. At any given time one half is +used for reading while the other half is used for writing. Only at the end of +a write is a flag changed that switches which half is used for what. A small +area at the beginning of the buffer is used for registering which processes are +reading and which are writing at any given time. This allows many readers and one writer to access the buffer simultaneously without allowing any reader to get a partial message or require semaphore calls. However situations can occur where it is necessary to force one of the processes to wait, or return an error. When a process is forced to wait there is currently no provision for priority +inheritance, which means that currently while most of the time this option is +very fast compared to the others, it can occasionally take significantly longer or timeout. +

+ + +

FILEMEM

+ +

FILEMEM is useful primarily for debugging. Messages are read from and written to a file, or messages may be read from one file and written to another. Record locking is used to provide mutual exclusion. This is the least efficient method, however the output file can be used for post-mortem analysis and scripts can +be written and used as the input file for unit testing. FILEMEM buffers must have neutral set to 1 and add "disp" to the bufferline to use the displayable method of neutral data encoding. The input file can be set by adding "in=<filename>" at the end of the bufferline or it defaults to waiting for input from stdin, the output file can be set with "out=<filename>" or it defauls to stdout.

+ +

LOCMEM

+ +

LOCMEM is useful when many modules are linked together in one thread of execution but you want to write them such that each module uses the NML API just as it would if it needed to communicate with the other modules running separately. There is no need for any mutual exclusion mechanism and memory is obtained with a simple malloc so the operating system will not exceed its limits for +semaphores or shared memory segments. +

+ +

TCP

+ +

TCP stands for "Transmission Control Protocol". This is the recommended method for remote connection, for most applications. It is more reliable and can handle larger messages than UDP and is more widely available than RPC.

+ +

STCP

+ +

STCP is a simplified form of the software on top of TCP. It is useful +for as an interface to languages other than C++/Java where creating a +binary version of the NML message structure(s) is difficult and/or there is no +version of the RCS library available. It allows that applications in that language to send +and receive simple text strings with low-level socket functions, while C++ and +Java applications still use the normal NML API. It must be used with the +display neutral encoding method. This means "disp" or "xml" must be placed on the bufferline and "xdr" or "ascii" must be removed if present.

+ + +

UDP

+ +

UDP stands for "User Datagram Protocol". UDP is sometimes faster than TCP since it eliminates some of the error checking but messages should not exceed 512 bytes.

+ +

Buffer Lines

+

Lines declaring buffers should have the following +format:

+
 
+B 	name	type	host	size	neut	RPC# 	buffer# max_procs [Type-spec data]
+
+

B is the literal character identifying the line as describing a +buffer. +

+ +

name is a string identifying the buffer. +

+ +

type is a string which can currently be "SHMEM" for shared memory +buffers used for communications between processes on the same CPU , +"GLOBMEM" for global memory buffers on a VME or EISA backplane, +"LOCMEM" for a communications between functions run within +the same process (multi-threaded applications should never use LOCMEM), + or "PHANTOM" +for buffers that use phantom functions. +

+ +

host is a the name of the host for the buffer. If remote processes +need to access the buffer they will look for an NML server on this host. +

+ +

size is size of the buffer in decimal. +

+ +

neut should be either 0 or 1. 1 indicates that the data stored in +the buffer should be formatted into a machine independent or neutral +format. Remote processes can still access buffers with a O even when +running on a processor using incompatible types because the NML server +can encode and decode automatically. However, the buffer itself must be +encoded(neut=1) if the buffer will be accessed locally by processors of incompatible types. +

+ +

RPC# - A remote procedure call number. +

+

Update 9-Apr-2004: Use of RPC is now deprecated. A TCP port or UDP port should always be specified, so the RPC# will ignored. 0 is typically used as a placeholder for this parameter. +

+ +

buffer# - A server for more than one buffer will use the buffer +number to determine which buffer to access for each request. Give each +buffer a unique buffer number. +

+ +

max_procs- The maximum number of processes allowed to use this +buffer.(If the total possible connections equals n then the connection +number in the process lines may be 0 to n-1.)Update February.2005The limit is only enforced for local processes connected tho GLOBMEM or when mutex=mao. +

+ +

The area following the max_procs number is used to store information +relevant to particular types of buffers, or to set options that have defaults. +

+ +

GLOBMEM buffers require a physical address. + The physical address may be specified +with 1 or more address equations of the form "???_addr=0xnnnnnnnn" where +??? may be a host name, process name or bus name. +

+ +

SHMEM buffers expect an integer key in the type specific area. +The key needs to be a unique shared memory key on your system. For +many UNIX systems the command "ipcs" can tell you which +shared memory keys are in use. All of the NML buffers using SHMEM on +a particular host need to have different keys. +

+ +

To configure the use of TCP or UDP instead of RPC for remote access +to the buffer, add either "TCP=" or "UDP=" and a port number to the buffer line. Use a port number greater than 1024 since ports 1-1023 are reserved for processes with user ID 0. It is recommended that you select a port between 5000 and 32000 to minimize the chance of conflicting with another application.

+ +

To use an alternative neutral encoding scheme where the messages are converted to ascii or plain text strings, add the word "ascii" to the buffer line. Or add "disp" to use an neutral encoding scheme that produces text strings with look much better for display. (The "disp" is required for FILEMEM.)

+

Update 9-Apr-2004: Use of "ascii" encoding is deprecated. For compatibility with previous versions of NML "xdr" should no be explicitly placed on the bufferline. A warning may be printed if no method is explicitly mentioned. XDR stands for "External Data Representation" a standard used by RPC. Two new encoding options available are "packed" and "xml". See NML support for XML for information concerning xml. "packed" encoding is unique to NML, it is binary similiar to XDR but not compaible with it. It packs structures more tightly and avoids byte-endian conversions when not necessary by adding the original endian type to the message. "packed" is the new default. +

+

Update 14-Jun-2004: "packedl64" can be used to +store long and unsigned long types in 64 bits. This is only useful if used on +a system that uses 64 bit longs and unsigned longs, such as Itanium systems. +(See NML 64bit long notes.)

+ +

To set the input file for FILEMEM add "in=" and the filename to the buffer line. Without this FILEMEM will use stdin.

+ +

To set the output file for FILEMEM add "out=" and the filename to the buffer line. Without this FILEMEM will use stdout.

+ +

To force FILEMEM to limit the number of messages in the output file add +"max_out=" and the maximum number of messages to store in the output file. When this limit is reached the file will be overwritten starting at the beginning.

+ +

To enable queuing of messages in the buffer, add the word "queue" to the buffer line. The size of the buffer determines how many messages can be simultaneously queued. Ie a 10k buffer might have 2 5k messages, 10 1k messages or even a combo like 1 5k message and 5 1k messages. The server allocates several temperary buffers that are only ever used for 1 message at a time. If the buffer size is much larger than the size of the largest message adding "max_message_size=" and a smaller size may reduce the amount of memory needed by the server without reducing the number of small messages that could be stored. Updated 29-Aug-2008

+ +

To enable supplemental timing diagnostic information to be logged to the buffer, add the word "diag" to the buffer line.( See Supplementary NML Timing Diagnostics Tools.)

+ +

To create a second semaphore needed for blocking_reads, add "bsem=<key>" where key is a unique semaphore key on that host. The key should +also be different thatn the shmem key(s).

+ +

To force backwards version compatibility, add "version=<version number>".

+ +

To force the server to send confirmation messages back to a remote writer add "confirm_write". This allows a remote writer to detect problems such as a full queue or if a write_if_read failed because the buffer was not read but it +reduces performance.

+ +

To set the baudrate to use on an RS232 serial port add "baud_rate=n" where n is and integer baud rate. The baud rates available depend on your +hardware and operating system. The default is 9600. This parameter has no effect on non-serial port communications.

+ +

To prevent GLOBMEM from using "taskLock()/taskUnlock()" under VxWorks add "NO_TASK_LOCK". Note: the taskLock() is needed when multiple tasks on the same processor access the same GLOBMEM buffer, to ensure deadlocks do not occur. This tag can also be placed on the process line to effect only that process rather than all processes accessing this buffer.

+ +

Update February-2005: To select the use of IPV6 addresses and protocols instead of the default IPV4 addressess and protocols for remote TCP,STCP and UDP connections add "use_ipv6" . Warning: IPV6 addresses beginning with hexidecimal digits fe8,fe9,fea, or feb are link-local addresses. Many systems default to only having a link-local IPV6 address. These require binding to specific interfaces and therefore currently do not work with NML.

+ +

Update March-2006: To indicate that a local clone buffer will be used on a given host add "cloned_on=<hostname/ip_address>" process on this host will read from a local shared memory copy of the buffer rather than to original remote buffer. One process on this hostshould have "do_cloning" set on the process line. Also a blocking semaphore is needed since the cloning uses a blocking_read.

+ +

Update February-2009: To set the name of the format function that should be used with the buffer use "format_name=" . The format name should not include the final "_format" If the NML constructor should have been passed ex_format as the first argument, the tag in the nml file "format_name=ex" would accept this. If the format name does not match +the process will print an error message, NML::valid() will return false, and +NML::error_type will be set to NML_FORMAT_NAME_DOES_NOT_MATCH_ERROR. "format=" is also accepted as a shorter verion of "format_name=".

+ +

Update February-2009: To set the name of the header file that defines the types of messages used with this buffer. Add "header=". +It can be used by some tools including the Java diagnostics tool, and can serve as additional documentation. If format_name is not set then it will check for a +format name that is a substring of the header name. +

+ +

Update February-2009: To set the name of the C++ source file that includes the automatically generated format and update function implementations add "format_source=" +It can be used by some tools including the Java diagnostics tool, and can serve as additional documentation. If format_name is not set then it will check for a +format name that is a substring of the format source file name. +

+ +

Process Lines

+ +

Process lines should have the following format: +

+ +
+P 	name	buffer	type	host 	ops 	server 	timeout master 	c_num
+
+

P is the literal character identifying the line as describing a +process. +

+ +

name is a string matching the process name passed to the CMS config +function or the NML constructor. Update 2005.Februaryif the name is given is "default" then the information will be used by any process without an explicit process line already given. +

+ +

buffer is the string matching the identifier used in a buffer line +to which this process intends to connect. Update 2005.February if the name is given is "default" then the information will be used by the given process for any buffer without an explicit process line already given. Having default set for both the process name and buffer name matches all combinations. +

+ +

type is a string which can currently be "LOCAL" , "REMOTE","AUTO". LOCAL processes normally connect directly to the buffer via shared memory regardless of the buffer or process hosts. REMOTE process always use UDP or TCP to connect even when running on the same machine. Update 2005.February AUTO processes attempt to determine if a LOCAL direct shared memory connection is possible and to use it if it appears to be and connect via the REMOTE method otherwise. Servers should always be LOCAL. +

+ +

host is the name of the processor that the process is expected to run on. Update February-2005: This is not used unless bind_proc_host is added to the end of the process line. +

+ +

ops is a string indicating whether the process will read or write. R, W or RW +

+ +

server should be either 0, 1, 2, or 3. +A 1 indicates that this process is +responsible for running a server for the buffer, +a 2 indicates that the nml_start function +should spawn a server for the buffer, and a 0 is for processes that +will neither spawn nor run a server for the buffer.

+

Update 9-Apr-2004: 3 indicates that a server should be spawned immediately rather than waiting for nml_start to be called. Unlike the other options, the TCP port or UDP port can not be shared with any other buffers. +

+ +

timeout is the time in seconds for the process to wait for the +mutual exclusion semaphore or for an RPC call to return before an error is reported. A time can be +specified in floating point and the timeout is measured as close as possible +for the given platform and process type or "INF" to never timeout. +

+ +

master is a flag which should be 0 or 1, to indicate whether this process should create and initialize this buffer. On some operating systems there +must be one and only one master process, on some there can be multiple masters. +The parameter is ignored for REMOTE processes. There must be atleast one master that is a local process started before non-master and remote processes are started.

+

Update 9-Apr-2004: On some operating systems even non-masters can be started first and they will create the buffer, making this parameter almost irrelavent. We may attempt to eliminate this behavior in the future. For maximum portability, setting only a single process to be the master and ensuring it is started first is still recommended.

+ +

c_num is the connection number for this process.c_num must be between 0 and n-1 where n is the number of total_connections specified +on the buffer line. Update February-2005: This is not used unless the BufferType is GLOBMEM or mutex=mao is specified and autocnum is not specified.

+ +

The area of the process line after the connection number is used to +choose some options that have defaults. These options can be added in any +order.

+ +

To have a remote processes set the non-blocking flag on its socket, add +"poll". A remote process with the poll flag set will not expect a remote server to reply when read or peek is called, but rather +to get that data in some future call to read or peek so data is generally delayed by one or more cycles but less time is spent waiting for the server.

+ +

To have a remote process setup a subscription with a TCP server add, +"sub=<subscription interval>". The subscription interval is given +in seconds as a floating point number. Example: To setup subscription interval +of 20 milliseconds add "sub=0.02".

+ +

To prevent GLOBMEM from using "taskLock()/taskUnlock()" under VxWorks add "NO_TASK_LOCK". Note: the taskLock() is needed when multiple tasks on the same processor access the same GLOBMEM buffer, to ensure deadlocks do not occur. This tag can also be placed on the buffer line to effect all processes accessing this buffer.

+ +

To have a process use an RS232 serial port for communications add "serialPortDevName=<name>" where name is a device name such as "/dev/ttyb" or "COM2:". In addition the process must either be a +server or be REMOTE. This is available only on certain platforms. By default, +the port will be set to 9600 baud, 8 data bits, 1 stop bit, no parity.

+ +

Update February-2005: "bind_proc_host" forces the process to bind to the specific address in the host field on the process line. It is necessary for some IPv6 addresses on some platforms where binding to "any" address is not allowed.

+ +

Update March-2006: To have a remote process ignore a connection failure add "ignore_connect_err" allowing another alternative way of having a remote process +start earlier than the server it needs. The process will attempt to make another connection each time a function that needs one such as read or write is called until a successful connection is made.

+ +

Update March-2006: To skip the usual checking for a remote process to verify that buffer name matches the buffer name known to server add "no_verify_buf" and +perhaps speed up the startup process.

+ +

Update March-2006: "read_timeout=", "write_timeout=",or "connect_timeout=" override the previously set timeout but only for read/peek operations, or write operations, or when connecting.

+ +

Update March-2006: To make this process responsible for creating a local clone buffer and for spawning a thread to maintain it by copying data from this remote buffer add "do_cloning". The local clone buffer +is a buffer that will be available on this host for other processes that need the same data.

+ +

Update February-2009: "retry=" sets a UDP retry period. To have an effect it must be on the client process line of a remote client +on a buffer accessed via UDP. Value set should be a period in seconds for a response from the server to wait before automatically resending a request. +

+ + +

Update July-2009: "do_not_print_errors" prevents errors from this particular buffer and process from being printed. It could be used if known/unimportant errors from this buffer are making it potentially more difficult to seee errors related to other buffers. +

+ +

Update July-2009: "do_not_print_timeout_errors" prevents errors from this particular buffer and process from being printed if they are related to a timeout. On some systems timeouts are common. It could be used if known/unimportant errors from this buffer are making it potentially more difficult to seee errors related to other buffers. +

+ + +

Example: NML Configuration File

+ +

This configuration file provides a possible configuration file for +the rest of the examples in this document. On your system, at the very least the host names will have to be changed. Although ex_buf4 is never used by any of the examples, but it is included as an example of the use of GLOBMEM.(The tab-stops on your browser or text editor may not make the columns line up neatly. NML only needs "some" white space between the items so feel free to add/remove tabs and spaces as needed for better appearance.)

+ +
+ex_cfg.nml
+ +
+# ex_cfg.nml
+
+# buffers:
+# name		type	host	        size	neut RPC# 	buffer#	 max_proc [type-spec]
+#		GLOBMEM	host	        size	neut RPC# 	buffer#	 max_proc phys_addr
+#		SHMEM	host	        size	neut RPC# 	buffer#	 max_proc key 
+B ex_buf1	SHMEM	localhost	512	0    0	 	1	 * 	101 TCP=5001 format_name=ex packed
+B ex_buf2	SHMEM	localhost	512	0    0	 	2	 * 	102 TCP=5001 format_name=ex packed
+B ex_buf3	GLOBMEM	vx40		512	0    0	 	3	 * 	vme_addr=0x4e00000 format_name=ex packed
+
+# processes:
+# name		buffer	type	host 	ops	server 	timeout	master 	c_num
+P ex1_proc	ex_buf1	LOCAL	mypc 	W	0	INF 	1	0
+P ex2_proc	ex_buf1	LOCAL	mypc 	W	0	INF 	1	1
+P ex2_proc	ex_buf2	LOCAL	mypc 	W	0	INF 	1	1
+P ex3_proc	ex_buf1	LOCAL	mypc 	R	0	INF 	1	2
+P ex4_proc	ex_buf1	LOCAL	mypc 	W	0	INF 	0	3
+P ex5_proc	ex_buf1	PHANTOM	192.168.1.1 	W	0	0.5 	1	4
+P ex6_proc	ex_buf1	LOCAL	192.168.1.1 	RW	0	0.5 	1	5
+P ex8_proc	ex_buf1	REMOTE	rosie 	RW	0	10.0 	0	6
+P ex8_svr	ex_buf1	LOCAL	192.168.1.1 	RW	1 	5.0 	1	8
+P ex8_svr	ex_buf2	LOCAL	192.168.1.1 	RW	1 	5.0 	1	8
+P ex9_svr	ex_buf1	LOCAL	192.168.1.1 	RW	1 	5.0 	1	9
+P ex9_svr	ex_buf2	LOCAL	192.168.1.1 	RW	1 	5.0 	1	9
+P ex10_svr	ex_buf1	LOCAL	192.168.1.1 	RW	1 	5.0 	1	10
+P ex10_svr	ex_buf2	LOCAL	192.168.1.1 	RW	1 	5.0 	1	10
+
+# special default process line that is matched by anybody looking for a process
+# line and is not explicitly listed above.
+P default       default AUTO	anyhost 	RW	0 	5.0 	0	11
+
+ + +
+ +

Last Modified: February-2009

+

If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

+ + + + + + diff --git a/doc/NMLcpp.html b/doc/NMLcpp.html new file mode 100644 index 0000000..4948022 --- /dev/null +++ b/doc/NMLcpp.html @@ -0,0 +1,1415 @@ + + + + +NML Guide (C++ Version) + + + + + + + + + +

The NML Programmer's Guide (C++ Version)

+ +

+ + + +
+ +

Introduction

+ +

The Real-Time Control System (RCS) library is a C++ class library intended +for multi-platform real-time distributed applications. It has been compiled and tested on several platforms including MS Windows, Mac OS X, Linux, and several UNIX systems. This document describes the use of the Neutral Message Language (NML) components of the library.

+ +

The Communication Management System +(CMS) provides access to a fixed-size buffer of general data to +multiple reader or writer processes on the same processor, across a +backplane, or over a network. Regardless of the communication method +required, the interface to CMS is uniform. Methods are provided to +encode all of the basic C data types in a machine independent or +neutral format, and to return them to the native format. A CMS_HEADER +is added to each buffer which provides information about whether the +buffer has been written or read from last, whether the buffer is new +to a particular process and the size of the last write to the buffer. +CMS uses a configuration file so that users can change communications +protocols or parameters without recompiling or relinking the +applications.

+

The Neutral Message Language (NML), formerly known as the Neutral +Manufacturing Language, provides a higher level interface to CMS. It provides a mechanism for +handling multiple types of messages in the same buffer as well as +simplifying the interface for encoding and decoding buffers in neutral +format and the configuration mechanism.

+

Most of the examples have corresponding text +files which can be down-loaded and compiled. The examples are included +both directly in this document for easy reading and as separate +text-only files which are ready to be compiled. (WWW Users: You may +have to use your browser's "Save" or "SaveAs" +command to get the files.) Unfortunately, given the variety of systems +and compilers that are available it is impossible for me to give +detailed compiling instructions here. However the following form +should work on most systems.(All typed on one line.)

+
+[C++ Compiler] -I[Location of RCS Include Files] [Example C++ File(s)] [RCS Library for Platform] -o [Executable File]
+
+

Since a working knowledge of C++ will be very helpful for understanding or using the RCS library utilities you may want to review +"A Quick C++ Introduction for RCS Library Users".

+ +

Notation

+ +

I like lots of examples.

+ +
+
+
+     Commands users are expected to enter at a command prompt will look like this.
+
+
+
+ +
+
+
+     Computer program generated example output will look like this.
+
+
+
+ +
+
+
+Text files listed in line look like this.
+
+
+
+ +

All of the example files referred to are in +rcslib_doc_examples.zip.

+ +

Terminology

+ +

The figure below illustrates the structure of a typical RCS application using NML. The +application is distributed across three computers. Processes 1, 2, and +3 are able to write directly into the shared memory buffers they use +because they are located in the same computer or backplane. It is for +this reason that they are labeled "LOCAL". Processes 4,5 and 6 can +only access the buffers through an NML Server and are therefore +labeled "REMOTE". The description might need to be complicated in a +system with buffers in more than one machine. Processes would then +need to be described as local or remote with respect to a particular +buffer.

+

NML Example System

+

NML servers must be run for +each buffer that will be accessed by remote processes. They read and +write to the buffer in the same way as local processes on the behalf +of remote processes.

+

NML uses configuration files to store information about which processes communicate with +which buffers and how. Most of the options available to NML programmers are chosen by specifying them in the +configuration file. (The configuration files are ascii text files with a format described under "Writing NML Configuration Files".)

+

NML is message-based rather than +stream-based. Each successful read operation retrieves the data sent +in exactly one write operation. Unless queuing is enabled, each write +operation moves one message into the buffer replacing any previous +message.

+

More than one type of message can be sent to the same buffer so a +unique type identifier is always contained in the message. After a +read operation, the process must use this identifier to determine the +type of message before using any of the data in the message. Each type +of message implies a particular data structure. Most messages are +user-defined.

+

Messages are called encoded if they have been +translated into a machine-independent or neutral format such as the +eXternal Data Representation (XDR). Buffers are called encoded if the +messages in them are to be encoded which is established in the +configuration file. NML servers can encode and decode messages on +behalf of remote processes. An NML vocabulary defines the set of +messages that may be used in an application and provides the necessary +functions for encoding and decoding the messages.

+

Header File

+

All of the necessary header files will be included if +rcs.hh is included.

+

Classes

+

The following classes provide the programming interface for CMS and NML:

+ +

NML
NMLmsg
NML_SERVER

+ +

CMS
CMS_HEADER
CMS_SERVER

+

CMS_USER

+

These classes are detailed in the following sections.

+

NML Application +Structure

+

The next figure shows the structure of a single +concurrent process module using NML (the memory buffer appears to be +local to the application)

+ +

On the left is a key. Light blue-green boxes are modules from the RCS library. White boxes are modules the user is expected to complete. Green rectancgle with rounded corners is a shared memory buffer. Arrows chow the communications channels. On the right : The white box Application Routines (user) over light blue-green box NML library Routines(rcslib) over white box User-defined Format function over white box user defined update functions over light blue-green box CMS update functions over light green box CMS Communications Functions over arrow to green outline labeled shared memory buffer.

+ +

The applications routines initialize and use objects from class NML and +NMLmsg which depend on some user-defined functions. The format +function selects from a set of user defined update functions for each +aggregate type the user will need to pass to the memory buffer. The +update function for each aggregate type is built by updating each +member inpidually using CMS routines for the basic C data types. +These basic update routines write to and read from internal CMS +buffers which are themselves read or written to memory buffers that +are available to other concurrent processes using the CMS +Communications Routines.

+ + +

Designing an NML Application.

+ +

Because NML is configurable, programmers can choose between +protocols with higher performance but which may be more restrictive or +require more expensive hardware or those that are less restrictive or +require less expensive more widely available hardware. By making a +buffer local to a process you can improve the performance of that +process. By moving processes you may be able to reduce the load on one +CPU or increase the number of processes able to use the faster local +protocol. Using servers to provide remote access to buffers frees +local processes from being slowed down by the communications with +remote processes.

+ +

Example: Robot Controller/Supervisor Design

+ +

A controller for a robot must poll a variety of inputs +and perform some computations every "n" milliseconds and a +remote supervisor should be able to check the status of the robot when +needed.

+

The next figure shows one possible design for this +application. Because the controller can write directly to the shared +memory buffer, writing the status takes a minimum time for the +controller. Using the NML server allows the supervisor to be located +almost anywhere and on almost any host.

+ +

Controller/Supervisor System Diagram

+

+ +

Summary of Design Suggestions.

+ +
    +
  1. Avoid +overloading any CPU by assigning too many processes to it or building +a single process which must do too much work.
  2. +
  3. Place buffers +so that they may be accessed locally by the most time-critical +process(es).
  4. +
  5. Use the "LOCAL" protocol whenever possible. +
  6. +
  7. Only use neutrally encoded buffers when necessary.(i.e. +backplane communications between different types of processors) or buffers +with dynamic length arrays. +
  8. +
+ +

Programming with NML

+ + +

NML applications programmers need to create a message +vocabulary and associated format function, write a configuration file, +create an NML object, and use the read and write member functions. +

+ +

Creating an NML Vocabulary (Format Functions, Update Functions, and Message Definitions)

+ +

The message vocabulary is a set of C++ classes, derived from +NMLmsg, which can be thought of as data structures that are copied +into the NML buffer during a write operation, and copied out during a +read operation. Each class is associated with a unique identifier, a +positive integer, that allows readers to identify which message is +present in the buffer. Besides the particular data members of the +class, each class also needs an update function which calls CMS +methods to convert the data members to types CMS can handle. +Currently, CMS provides support for the basic C language built-in +types. "long long" and "unsigned long long" types +are not really standard built in types and are not supported. One should read +NML 64bit long notes before assuming a long or unsigned long will store 64 bits insead of 32 bits, or before assuming a long double stores more than 64 bits. +(See "Trouble Shooting - +Insufficient Arguments Error")

+ +

To enable CMS to neutrally +format the data in the buffer or to allow NML servers to encode and +decode the data for remote processes, a format function is required. +This format function is nothing more than a switch statement, +associating NML identifiers with the update functions of particular +NML message classes. The format function can be manually programmed as but it is recommended to have it be automatically generated using the NML Code Generator.

+ +

Variable Length Arrays

+

Some advanced users define messages with variable length arrays. +There are several ways to do this, but the simplest and most convenient way +is ussually to use the DECLARE_NML_DYNAMIC_LENGTH_ARRAY macro. The macro +has special meaning to the NML Code Generator. The result is an array with +a constant maximum size but where only the first name_length elements are sent + across the network with each remote read or write. Local reads and writes can be forced to use the condensed version by setting the neutral configuration +file flag to 1. +

+

For your information the text of the macro is:

+
+#define DECLARE_NML_DYNAMIC_LENGTH_ARRAY(type, name, size) int name##_length; type name[size]; 
+
+ +

Example: Message Definition.

+ +

Files needed for this example include: nml_ex1.hh, nml_ex1.cc

+ +
Here is nml_ex1.hh
+ +
+
 
+/* nml_ex1.hh */ 
+
+#ifndef NML_EX1_HH 
+#define NML_EX1_HH 
+#include "rcs.hh"
+
+/* Give the new structure a unique id number */ 
+#define EXAMPLE_MSG_TYPE 101 
+
+/* The id number must be unique within a CMS
+buffer, i.e. the number must be different than the id of any other
+type that might be written to a particular buffer. For simplicity it
+is recommended that the id number also be unique within an
+application. */
+
+/* Define the new message structure */ 
+struct EXAMPLE_MSG: public NMLmsg {
+
+	/* The constructor needs to store the id number */
+ 	/* and the size of the new structure */
+	/* by passing them as arguments to the base class constructor. */
+ 	EXAMPLE_MSG():NMLmsg(EXAMPLE_MSG_TYPE, sizeof(EXAMPLE_MSG)){};
+
+	/* Each new type needs to overload the update function. */
+	void update(CMS *cms);
+
+	/* Data in this new message format. */
+	float f;
+	char c;
+	int i; 
+	DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, da, 100);
+	
+};
+
+/* Declare the NML Format function. */ 
+int ex_format(NMLTYPE type, void *buf, CMS *cms);
+
+#endif  /* End of NML_EMC_HH */ 
+
+
+ + +

Creating an NML Object

+ + +

NML has several constructors, but most users will use the + following.

+

NML(NML_FORMAT_PTR f_ptr, char * + buf, char *proc, char *file);

+ +

The parameters are:
f_ptr = <address of format +function to use>;
buf = <name of the buffer to +connect to as specified in configuration file>;
proc += <name under which to access the buffer>;
file = +<name of the configuration file>;

+

+ +

There is also a constructor that takes a buffer line and process line as +arguments rather than expecting to retrieve them from a configuration file. +It is important for the application to ensure that the arguments contain +consistant parameters given the options passed by other applications with +which it will communicate. +

+
+NML(const char *bufferline, const char *processline);
+
+ +

If the second constructor is used the format function needs to be set +before any read or write, or even before one checks for a valid connection. The +function to use for this is:

+ +
+int NML::prefix_format_chain (NML_FORMAT_PTR);
+
+ +

This function can also be used multiple times regardless of which constructor is called. Then each time the format function would need to be called each +format function in the list will be called until one returns a non-zero value. This might be useful for a channel that will collect messages from multiple types of applications each with its own format function or distrubute messages to multiple types of applications each with its own format function. One needs to be careful to ensure that message types do not conflict. Another option would be to have the java code generator load multiple header files and then generate a single format function combining all the message updates. +

+ +

Reading NML Data

+ +

If you examine + many of the communications interfaces you'll find a function that + looks like the UNIX read function.

+

/* UNIX general purpose + read. */

+

int read(int fd, char *buf, int nbyte);

+

/* + UNIX Read from message queue. */

+

int msgrcv(int msqid, struct + msgbuf *, int msgsz, long msgtyp, int msgflg);

+

/* Read from a + socket (often used for TCP/IP) */

+

int recv(int socket, char + *buf, int len, int flags);

+

Notice that the first parameter is + an identifier of the source to read, the second parameter is some type + of pointer to a buffer, and the third parameter is a measure of the + size of the buffer. Unfortunately this is a rather poor model for + configurable message-based communication because the program receiving + a message must be able to create a buffer large enough to hold the + incoming message even though there is no way it can know the size of + the new message. NML solves this problem by providing users access to + a local buffer that was created based on the size specified in the + configuration file and will contain a copy of the incoming message + after a read operation. +

+ +

These are the member functions used to perform read:

+ +

NMLTYPE NML::read();

+

If the read is successful +the message currently in the global CMS buffer will be copied into a +local buffer for this process. The address of this local buffer is +available through the member function get_address. If the buffer is +encoded the format function will be called to return the message to +native format. The message should be some user defined type derived +from NMLmsg.The member NML::error_type can be examined to see the +cause of NML::read returning -1. +(See "Handling Errors" ) If +queuing is enabled on this buffer this read will remove the message +from the queue so that other processes that are reading +from this buffer will see the next message on the queue and +potentially miss this one.

+ +

+

Returns:

+

0 if the +buffer has not been written to since the last read or
-1 if an error +occurred; or
the type id of the message received if the buffer +contains new data.

+

NMLmsg *NML::get_address();

+ +

This function returns a pointer to the NML data stored during an +NML::read() operation.

+

+ + +

Example: Reading from an NML Channel.

+ +

Files needed for this example include: +nml_ex3.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+ +
nml_ex3.cc
+ +
+
 
+/* nml_ex3.cc */ 
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+int main(int argc, const char **argv) 
+{
+	RCS_TIMER timer(0.1);
+	NML example_nml(ex_format, "ex_buf1","ex3_proc", "ex_cfg.nml");
+	EXAMPLE_MSG *example_msg_ptr;
+	int quit = 0;
+
+	while(!quit)
+	{
+		switch(example_nml.read())
+		{
+		case -1:
+			rcs_print( "A communications error occurred.\n");
+			quit = 1;
+			break;
+
+		case 0:
+			/* The buffer contains the same message */
+			/* you read last time. */
+			break;
+
+		case EXAMPLE_MSG_TYPE:
+			example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address();
+			rcs_print(" We have a new example message. \n");
+			rcs_print(" The value of its members are:\n ");
+			rcs_print(" f=%f, c=%c, i=%d\n ",
+				example_msg_ptr->f,
+				example_msg_ptr->c,
+				example_msg_ptr->i);
+			quit = 1;
+			break;
+		}
+		timer.wait();
+	} 
+} 
+
+
+ +

Compile with:*

+ +
+
+
+## Set RCS lib install directory.
+## likely needs to adjusted for your system.
+RCSLIB_DIR=~/rcslib/; 
+
+## Set the path for finding librcs.so
+LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
+export LD_LIBRARY_PATH;
+
+## Create nml_ex1.cc from nml_ex1.hh
+java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
+
+g++ nml_ex3.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex3
+
+
+ +

This example also uses the RCS_TIMER class and the rcs_print function described in +the guide for the RCS Library Lower Level +Utilities. The symbolic constant VXWORKS should be defined only if +you wish to compile the example for VxWorks. If you try to run this +example, it will wait for something to be written into the buffer. To +write something into the buffer, you can use the example in +Writing NML Data

+ +

NMLTYPE NML::blocking_read(double timeout);

+

This performs the same function as the read() above except that if there +is no new data the calling process will be put to sleep until either another process writes to the buffer or the timeout occurs. The timeout is given in seconds. to wait indefinitely provide a negative timeout. It is necessary to add +"bsem=<key>" to the buffer line of the NML configuration file in order to be able to perform a blocking read.

+

+

Returns:

+

-1 if an error +occurred; or
the type id of the message received if/when the buffer +contains new data.

+ +

NMLTYPE NML::peek();

+ +

/* Read an NML message from a CMS buffer without +changing the was_read flag */

+ +

Peek works exactly the +same as read except that the flag that lets others know when the +buffer is read is not changed and if queuing is enabled the message is +not removed from the queue. This could be useful if you need to monitor +a buffer without letting other processes using the buffer know. The +member NML::error_type can be examined to see the cause of NML::peek +returning -1.(See "Handling +Errors")

+ +

Returns:
0 if the buffer has not been +written to since the last read;
-1 if an error occurred; or
the +type id of the message received if the buffer contains new data.

+ +

Writing NML Data

+ +

If you examine many of the communications interfaces you'll find a +function that looks like the UNIX write function.

+ +

/* UNIX general purpose write. */

+ +

int write(int fd, char *buf, int +nbyte);

+ +

/* UNIX Send to a message queue. */

+ +

int msgsnd(int msqid, struct msgbuf *, int msgsz, long msgtyp, int +msgflg);

+ +

/* Output to a socket (often used for TCP/IP) */

+ +

int send(int socket, char *msg, int len, int flags);

+ +

Notice +that the first parameter is an identifier of the destination to write, +the second parameter is some type of pointer to a buffer, and the +third parameter is a measure of the size of the buffer. However C++ +allows us to considerably simplify this interface, by storing the size +of a message when its constructed and by overloading the write +function to accept either references or pointers to messages. All of +the NML write functions are non-blocking.

+

These are the +member functions used to perform writes:

+

/* Write an NML +message into a CMS buffer */

+

int NML::write(NMLmsg +&nml_msg); /* Reference version. */

+

int +NML::write(NMLmsg *nml_msg); /* Pointer version. */

+ +

nml_msg should be a pointer or reference to an object of +some user defined type derived from NMLmsg. If the buffer is +configured to be in a neutral format the message will be encoded +before it is written to the CMS buffer. The write functions overwrite +the message currently in the buffer if queuing is not enabled. The +member NML::error_type can be examined to see the cause of NML write +returning -1.(See "Handling +Errors" )

+ +

Returns: +
0 if successful; +
-1 otherwise.

+ +

Example: Writing to an NML Channel.

+

Files needed for this example include: nml_ex4.cc, +nml_ex1.hh, nml_ex1.cc, ex_cfg.nml

+ +
Here is nml_ex4.cc
+ +
+
 
+/* nml_ex4.cc */
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+int main()
+{
+	NML example_nml(ex_format, "ex_buf1", "ex4_proc", "ex_cfg.nml");
+	EXAMPLE_MSG example_msg;
+	example_msg.f = 123.456;
+	example_msg.c = 'c';
+	example_msg.i = 99;
+	example_nml.write(example_msg);
+}
+
+
+
+ +

Compile with:*

+ + +
+
+
+## Set RCS lib install directory.
+## likely needs to adjusted for your system.
+RCSLIB_DIR=~/rcslib/; 
+
+## Set the path for finding librcs.so
+LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
+export LD_LIBRARY_PATH;
+
+## Create nml_ex1.cc from nml_ex1.hh
+java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
+
+g++ nml_ex4.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex4
+
+
+ +

This example writes a message into a buffer. To +read the message use the example in Reading NML Data

+ +

/* Write an NML message into a CMS buffer if it has been read. */

+ +

int NML::write_if_read(NMLmsg &nml_msg); /* Reference version. */

+

int NML::write_if_read(NMLmsg *nml_msg); /* Pointer version. */

+ +

These functions combine the operations of +writing and checking if a buffer has been read. It checks to see if +the buffer has been read. If it has then it writes the message into +the buffer just as write would, but if not it returns -1. Since there +is only one access to the buffer, there is no way for another process +to write into the buffer between the check and the write. The member +NML::error_type can be examined to see the cause of NML write_if_read +returning -1. +(See "Handling Errors")

+

Returns: +
0 if successful; +
-1 otherwise.

+ +

Note:

+

This may not work as expected with remote processes unless "CONFIRM_WRITE" +is added the the corresponding BufferLine in the NML file. From "The NML Configuration Files" documentation:

+

To force the server to send confirmation messages back to a remote writer add "confirm_write". This allows a remote writer to detect problems such as a full queue or if a write_if_read failed because the buffer was not read but it reduces performance.

+ +

Checking If Data Has Been Read.

+

If queuing is not enabled then a +flag is kept in every CMS buffer called was_read. Every time a write +is performed on the buffer the flag is set to 0. Every time a read is +performed on the buffer the flag is set to 1. The check_if_read +function just returns the value of that flag. To avoid overwriting a +buffer that has not been read yet, it is better to use the +write_if_read function. The member NML::error_type can be examined to +see the cause of NML::check_if_read returning -1. +(See"Handling Errors" )

+

If queuing is enabled then the check_if_read function returns 1 +only if all of the messages in the buffer have been read meaning that +the queue is empty.

+ +

Here is the prototype:

+ +

int NML::check_if_read();

+ +

Returns: +
0 The buffer contains a message that has never been read. +
1 The buffer contains a message that has been read at least once. +
-1 An error occurred that prevented NML from determining +whether the buffer has been read.

+ +

Getting the Message Count.

+ +

The number of messages that have been successfully written to the buffer over its lifetime is saved in the buffer and can be retreived for diagnostic or monitoring purposes.

+ + +

Here is the prototype:

+ +

int NML::get_msg_count();

+ +

Returns: +
-1 Some error prevented the message count from being retrieved . +
otherwise the number of messages written to that buffer over its lifetime. +

+ + +

Getting the Queue Length

+ +

If queing is enabled the number of messages queued in the buffer, can +be obtained.

+ +

Here is the prototype:

+ +

int NML::get_queue_length();

+ +

Returns: +
-1 Some error prevented the queue length from being retrieved . +
otherwise the number of messages currently queued in the buffer. +

+ +

Getting the Space Left In A Queued Buffer.

+ +

The mechanism for queuing in NML stores the queue in a fixed length buffer. It could perhaps store many small messages or only a few larger ones, or some combination. The number of bytes free in the buffer can be used to estimate how many more messages can be written to the buffer before it is full.

+ + +

Here is the prototype:

+ +

int NML::get_space_available();

+ +

Returns: +
-1 Some error prevented the space available from being retrieved . +
otherwise the number of bytes that are free in a queued buffer is returned. +

+ +

Clearing a buffer.

+ +

You may +want to clear a buffer to preempt previously sent messages still in +the queue or to ensure that residual data in a buffer is not mistaken +for NML messages.

+

int NML::clear();

+ +

Returns: +
0 The buffer was successfully cleared. +
-1 An error occurred.

+ +

Loading an NML Configuration file to memory.

+

In order to start up a process faster, it is possible to load the configuration file in to memory before creating several NML channels that use the same +file. The file can later be unloaded to free the previously allocated memory.

+ +

Example: Loading a config file for faster startup.

+ +
+
 
+
+. . .
+	load_nml_config_file( "ex_cfg.nml" );
+	NML example_nml1(ex_format, "ex_buf1","ex4_proc", "ex_cfg.nml");
+	NML example_nml2(ex_format, "ex_buf2","ex4_proc", "ex_cfg.nml");
+	NML example_nml3(ex_format, "ex_buf3","ex4_proc", "ex_cfg.nml");
+	NML example_nml4(ex_format, "ex_buf4","ex4_proc", "ex_cfg.nml");
+. . .
+
+	unload_nml_config_file( "ex_cfg.nml" );
+. . .
+
+
+ +

Converting an NMLmsg to a string.

+ +

It is occasionally helpful to be able to display the contents of any +NMLmsg in a string. To accomplish this you will need an NML object which +was initialized with a format function that handles your message type.

+ +

const char * NML::msg2str(NMLmsg *);

+

const char * NML::msg2str(NMLmsg &);

+ +

Returns: +
This function returns a pointer to a string with each member of the NML message converted to a string and separated with commas if successful or NULL otherwise. The first two members will be the type and size of the message. The string may be cleared on the next call to read, write, check_if_read, peek, write_if_read, clear, or msg2str with that NML object, or when that NML object is deleted, so the string should be displayed or copied before any of these operations occur.

+ + +

Overriding the NML configuration file.

+ +

Occasionally, it may be helpful to override some of the options in +the configuration file. For example a program will only connect to one host +each time it is run, but each time it might be a different host, instead of changing the config file each time, it might be convenient to let the host be specified on the command line. The following functions set static global variables +common to all tasks in multithreaded environments like VxWorks, but unique to each process in more traditional environments like sunos5

+ +
+extern void nmlSetHostAlias(const char *hostName, const char *hostAlias);
+extern void nmlClearHostAliases();
+extern void nmlAllowNormalConnection();
+extern void nmlForceRemoteConnection();
+extern void nmlForceLocalConnection();
+
+ +

nmlSetHostAlias adds another host/alias pair to a linked list. Whenever +a hostname is read from the configuration file this list is checked to see +if it matches one of the aliases, and if so it is effectively replaced with +the corresponding host name. nmlClearHostAliases deletes the entire list. +nmlForceRemoteConnection forces the ProcessType to be read as REMOTE for +all following connections. nmlForceLocalConnection forces the ProcessType to be read as LOCAL for all following connection. nmlAllowNormalConnection returns it to the default behavior where the value in the configuration file is honored. +

+ +

Here's an example using it to allow the user to select a host from the +command line. NOTE: The example only works when localhost is specified in +the config file and the process type for "bReader" is REMOTE.

+ +
+
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+int main(int argc, char **argv)
+{
+
+  if(argc > 1)
+    {
+      nmlSetHostAlias(argv[1],"localhost");
+    }
+  NML example_nml(ex_format, "ex_buf1", "bReader", "ex_cfg.nml");
+  
+  if(!example_nml.valid())
+    {
+      rcs_print_error("Bad.\n");
+    }
+  else
+    {
+      rcs_print("Good.\n");
+    }
+
+}
+
+
+ +

Compile with:*

+ +
+
+
+## Set RCS lib install directory.
+## likely needs to adjusted for your system.
+RCSLIB_DIR=~/rcslib/; 
+
+## Set the path for finding librcs.so
+LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
+export LD_LIBRARY_PATH;
+
+## Create nml_ex1.cc from nml_ex1.hh
+java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
+
+g++ nml_set_host_alias_ex.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_set_host_alias_ex
+
+
+ +

Using Phantom Buffers.

+ +

Use of PHANTOM Buffers has been deprecated.

+ + + +

Handling Errors

+ +

When the +NML member functions cannot perform their task they try to provide +developers with some information that may allow them to resolve the +problem. This information is available in several forms.

+ +

The functions NML::read(), NML::write(), NML::peek(), and +NML::write_if_read() return -1 if an error occurred. +NML::get_address() returns NULL if an error occurs.

+ +

Messages are printed to character display devices or stored in a linked list +with the rcs_print_error facility. (See the document "RCS Lower Level +Utilities" for more information on the rcs_print_error facility. ) +Often several messages are issued for the same error, because if an +error occurs at a low level the low level function will print an error +and return a value indicating an error to a higher level function +which may then also print an error. This allows the user to see the +detail available at the lower level and the context available at the +higher level.

+ +

NML::error_type is a variable set by NML functions that fail. It may +have one the following values:

+ +
    +
  • NML_NO_ERROR - No error was recognized.
  • +
  • NML_INVALID_CONFIGURATION - A problem with the +configuration file is indicated.
  • +
  • NML_BUFFER_NOT_READ - +Operations like write_if_read will only succeed if the message +currently in the buffer has been read.
  • +
  • NML_TIMED_OUT - An operation timed out.
  • +
  • NML_FORMAT_ERROR - Could indicate that +there was a problem with the user defined format and update functions, +that the size of the buffer is not large enough for one of the +messages, or that a message was received that no format function +recognizes.
  • +
  • NML_NO_MASTER_ERROR - Something needs to be +initialized by the process that is configured to be the buffer master. +Check that a master is configured and running.
  • + +
  • NML_INTERNAL_CMS_ERROR - A CMS operation failed for a reason not +previously given.
  • +
+ +

int NML::valid();

+ +

NML::valid() returns 0 if the object was not properly constructed +or if an error has occurred severe enough that it is unlikely that any +of the other NML operations on this object will succeed or 1 if +everything seems to be in order.

+ +

Example: Checking Error Status

+ +

Files needed for this example include: +nml_ex6.cc, +nml_ex1.hh, +nml_ex1.cc, +ex_cfg.nml

+ +
Here is nml_ex6.cc
+ +
+
 
+/* nml_ex6.cc */
+
+#include "rcs.hh" 
+#include "nml_ex1.hh"
+
+#include <stdio.h>
+
+/* This example prompts the user when NML times out to see if it
+should try again. */
+
+main() {
+	NML example_nml(ex_format, "ex_buf1","ex6_proc", "ex_cfg.nml");
+	EXAMPLE_MSG *example_msg_ptr;
+	char input_array[10];
+
+	TRY_AGAIN:
+
+	switch(example_nml.read())
+	{
+	case -1:
+		if(example_nml.error_type == NML_TIMED_OUT)
+		{
+			rcs_print("NML timed out\n");
+			rcs_print("Do you want to try again? (y/n)");
+			fgets(input_array,sizeof(input_array),stdin);
+			if(input_array[0] == 'y')
+				goto TRY_AGAIN;
+
+		}
+		break;
+
+	case 0:
+		/* The buffer contains the same message you read last time. */
+		break;
+
+	case EXAMPLE_MSG_TYPE:
+		example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address();
+		/* We have a new example message. */
+		break;
+
+	} 
+} 
+
+
+ +

The Section called "Writing an NML Configuration +File" has been moved to it's own page at http://www.isd.mel.nist.gov/projects/rcslib/NMLcfg.html.

+ +

Spawning and Killing NML Servers

+ +

NML servers allow remote processes to access local buffers. The code +for the servers has already been included in the RCS library but you +must still start and stop them. There are several ways for you to +control when servers are spawned and killed. +

+ +

Using the run_nml_servers function.

+ +

void run_nml_servers(); +

+ +

Each time an NML object is created it is added to a global list. In operating systems like LynxOs and SunOs that use heavy-weight +threads each process has its own list. In operating systems like VxWorks +that use light-weight threads the list is shared by all processes +currently running that use NML. The function run_nml_servers reads the +lists, checks for the server configuration flag, and groups the buffers +with the same RPC, TCP or UDP number. For each different RPC, TCP or UDP program number a server +is spawned to handle requests for the group of buffers with that RPC, TCP or UDP +number. If all of the RPC, TCP or UDP numbers were the same the current process would +become the server for all the buffers on the list that have a non-zero +server configuration flag. This function will not return. + +Using run_nml_servers() has several advantages over nml_start(), nml_cleanup() described later and is generally the preferred method. +

+
    +
  • If the server is also the master it will have no runtime dependancies in other words it does not need anything else to start before it starts making startup more consistant and reliable.
  • +
  • On most operating systems seperating the server code from user code makes profiling or debugging either of them easier.
  • +
+ +

Example: Two NML buffers with a single process server.

+ +

Files needed for this example include: +nml_ex9.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+ +
nml_ex9.cc
+ +
+
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+int main(int argc,const char**argv)
+{
+	NML nml1(ex_format, "ex_buf1","ex9_svr","ex_cfg.nml");
+	NML nml2(ex_format, "ex_buf2","ex9_svr","ex_cfg.nml");
+
+	run_nml_servers(); /* This never returns. */
+}
+
+
+ +

Compile with:*

+ +
+
+
+## Set RCS lib install directory.
+## likely needs to adjusted for your system.
+RCSLIB_DIR=~/rcslib/; 
+
+## Set the path for finding librcs.so
+LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
+export LD_LIBRARY_PATH;
+
+## Create nml_ex1.cc from nml_ex1.hh
+java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
+
+g++ nml_ex9.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex9
+
+
+ +

+

Using the nml_start and nml_cleanup functions.

+ +

void nml_start(); +

+ +

void nml_cleanup() +

+ +

The nml_start function works like run_nml_servers except that it may +spawn an additional process(es) so that it will return. The nml_cleanup +function deletes all NML_SERVER objects and all NML objects so that all +servers that were spawned will be stopped with SIGINT. +

+ +

Example: Two NML buffers with servers and application code with single main.

+ +

Files needed for this example include: +nml_ex10.cc, nml_ex1.hh, +nml_ex1.cc, ex_cfg.nml

+ +
nml_ex10.cc
+ +
+
+/* nml_ex10.cc */
+#include "rcs.hh"
+#include "nml_ex1.hh"
+
+main()
+{
+	NML nml1(ex_format, "ex_buf1","ex10_svr","ex_cfg.nml");
+	NML nml2(ex_format, "ex_buf2","ex10_svr","ex_cfg.nml");
+
+	/* Spawn 2 servers and continue. */
+	nml_start(); 
+
+	/* . . . */
+	/* Perform some processing. */
+	/* . . . */
+
+
+	/* Kill the 2 servers and close NML channels. */
+	nml_cleanup();
+}
+
+
+ + +

Warning: Do NOT use any nml objects after calling nml_cleanup. +

+ +

User Command Utilities.

+ +

There are several utilities that can be used directly by users +without any additional programming. +

+ +

Testing for the existence of NML buffers.

+ +

nmltest [config_file local_host] +

+ +

The nmltest program reads the config_file and attempts to connect to +every buffer in the file. If it succeeds the buffer exists. If it does +not either the master for the buffer was not started, or the server was not +started, or the config file contains an error. It attempts to use the +local protocol for buffers on the local_host. If you do not specify the +config_file or local host it will prompt you for them. It also reports +the type and size of message if any in the buffer and some other +information which may be useful. +

+ +

Determining the performance of NML on a particular system.

+ +

nmlperf [config_file local_host master iterations increments +detailed_output display_mode] +

+ +

perfsvr [config_file local_host] +

+ +

The performance of NML varies depending on the system you are +running under and the type of protocol used by CMS. The nmlperf program +connects to every buffer in config_file. It uses the local protocol if +the buffer is on local_host. It initializes the buffer if master equals +1. It writes and reads the buffer with messages from a minimum size to +the size of the buffer for iterations times with increments different +sizes. If detailed_output equals 1 then it will display the time for +every read and write. display_mode can be "B" for bytes-per-second or +"M" for messages-per-second. +

+ +

If you don't specify all the parameters then +you will be prompted for them. The perfsvr program is run on a +remote machine to allow testing of remote protocols. +

+ +

Removing Unwanted Buffers

+ +

nmlclean [config_file local_host] +

+ +

Occasionally severe errors cause programs to exit without deleting +the NML buffers that they create. The nmlclean program attempts to free +all of the operating system resources associated with buffers in the +config_file on local_host and to kill the NML servers that are running. +

+ +

Using NML Script Files.

+ +

The NML Script files previously described here have been deprecated.

+ + + + +

Trouble Shooting

+ +

Here is a list of some of the problems that NML users have +encountered and some tips for resolving them. +

+ +

Compile Time Errors.

+ +

While compiling one of the update functions for the NML vocabulary, +the compiler complains that there are insufficient arguments for one of +the CMS::update functions. +

+ + + +

When I am trying to initialize an NML channel, I get the following +error: +

+ +

shmget failed: No such file or directory. +

+ +

Solution: The master was probably not started before this +non-master. Start the master first. +

+ +

When I am trying to initialize an NML channel, I get the following +error. +

+ +

shmget failed: Invalid argument. +

+ +

Solution: This usually happens when the shared memory buffer exists +but it's not the size that this process expects. Check that all of the +processes are using the same configuration file and that the +configuration file hasn't changed since the master process started. Also +check the shared memory buffer with "ipcs" command to make sure no one +else has created the buffer with a different size. +

+ +

When I am trying to initialize an NML channel to a remote host, my +program gets hung. +

+ +

Solution: Check that the host specified for the buffer in the +configuration file is correct, up and running and that the programs host +can ping the remote host. If the host is not up and running or you can't +ping it call your system administrator. +

+ + + + +
+ +

Last Modified: June 17, 2009

+ + +

*Commands are generally appropriate for Linux/Unix/MacOS by just pasting them into a terminal. For Windows install Cygwin and Java Develeper's Kit, set the PATH to add the JDK dir and paste the commands into cygwin.

+ + +

If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

+

To be automatically sent information on updates to the RCS library, please +subscribe to the "nist_rcs" mailing list on http://www.onelist.com.

+ + + + diff --git a/doc/NMLjava.html b/doc/NMLjava.html new file mode 100644 index 0000000..af5231a --- /dev/null +++ b/doc/NMLjava.html @@ -0,0 +1,728 @@ + + + + NML Programmer`s Guide (Java Version) + + + + + + + +

+

The NML Programmer's Guide (Java Version)

+ +
+

Introduction

+

The Real-Time Control System (RCS) library is a class library intended +for multi-platform real-time distributed applications. There are now 2 versions of the library, one in C++ and the other in Java. The Java version currently does not provide all of the functionality of the C++ version, but the client-side communications classes for NML have been re-written in Java. This document +describes the use of the Neutral Message Language (NML) +components of the library.

+

The Communication Management System +(CMS) provides access to a fixed-size buffer of general data to +multiple reader or writer processes on the same processor, across a +backplane, or over a network. Regardless of the communication method +required, the interface to CMS is uniform. Methods are provided to +encode all of the basic C/Java data types in a machine independent or +neutral format, and to return them to the native format. A CMS_HEADER +is added to each buffer which provides information about whether the +buffer has been written or read from last, whether the buffer is new +to a particular process and the size of the last write to the buffer. +CMS uses a configuration file so that users can change communications +protocols or parameters without recompiling or relinking the +applications.

+

The Neutral Message Language (NML) +provides a higher level interface to CMS. It provides a mechanism for +handling multiple types of messages in the same buffer as well as +simplifying the interface for encoding and decoding buffers in neutral +format and the configuration mechanism.

+ +

+Terminology

+

The figure below +illustrates the structure of a typical RCS application using NML. The +application is distributed across three computers. Processes 1, 2, and +3 are able to write directly into the shared memory buffers they use +because they are located in the same computer or backplane. It is for +this reason that they are labeled "LOCAL". Processes 4,5 and 6 can +only access the buffers through an NML Server and are therefore +labeled "REMOTE". The description might need to be complicated in a +system with buffers in more than one machine. Processes would then +need to be described as local or remote with respect to a particular +buffer.

+

NML Example System

+

NML servers must be run for +each buffer that will be accessed by remote processes. They read and +write to the buffer in the same way as local processes on the behalf +of remote processes.

+

NML uses configuration files to store information about which processes communicate with +which buffers and how. Most of the options available to NML programmers are chosen by specifying them in the +configuration file. (The configuration files are ascii text files with a format described under +"Writing NML Configuration Files".)

+

NML is message-based rather than +stream-based. Each successful read operation retrieves the data sent +in exactly one write operation. Unless queuing is enabled, each write +operation moves one message into the buffer replacing any previous +message.

+

More than one type of message can be sent to the same buffer so a +unique type identifier is always contained in the message. After a +read operation, the process must use this identifier to determine the +type of message before using any of the data in the message. Each type +of message implies a particular data structure. Most messages are +user-defined.

+

Messages are called encoded if they have been +translated into a machine-independent or neutral format such as the +eXternal Data Representation (XDR). Buffers are called encoded if the +messages in them are to be encoded which is established in the +configuration file. NML servers can encode and decode messages on +behalf of remote processes. An NML vocabulary defines the set of +messages that may be used in an application and provides the necessary +functions for encoding and decoding the messages.

+

Header File

+

All of the necessary header files will be included if +rcs.hh is included.

+

Classes

+

The following classes provide the programming interface for CMS and NML:

+ +

NML
NMLmsg
NML_SERVER

+ +

CMS
CMS_HEADER
CMS_SERVER

+

CMS_USER

+

These +classes are detailed in the following sections.

+

NML Application +Structure

+

The next figure shows the structure of a single +concurrent process module using NML (the memory buffer appears to be +local to the application)

+

On the left is a key. Light blue-green boxes are modules from the RCS library. White boxes are modules the user is expected to complete. Green rectancgle with rounded corners is a shared memory buffer. Arrows chow the communications channels. On the right : The white box Application Routines (user) over light blue-green box NML library Routines(rcslib) over white box User-defined Format function over white box user defined update functions over light blue-green box CMS update functions over light green box CMS Communications Functions over arrow to green outline labeled shared memory buffer.

+

The applications routines initialize and use objects from class NML and +NMLmsg which depend on some user-defined functions. The format +function selects from a set of user defined update functions for each +aggregate type the user will need to pass to the memory buffer. The +update function for each aggregate type is built by updating each +member individually using CMS routines for the basic C data types. +These basic update routines write to and read from internal CMS +buffers which are themselves read or written to memory buffers that +are available to other concurrent processes using the CMS +Communications Routines.

+ + +

+Designing an NML Application.

+ +

Because NML is configurable, programmers can choose between +protocols with higher performance but which may be more restrictive or +require more expensive hardware or those that are less restrictive or +require less expensive more widely available hardware. By making a +buffer local to a process you can improve the performance of that +process. By moving processes you may be able to reduce the load on one +CPU or increase the number of processes able to use the faster local +protocol. Using servers to provide remote access to buffers frees +local processes from being slowed down by the communications with +remote processes. Currently the NML communications servers and most-likely the +real-time modules need to be written in C++, however GUI's, diagnostics tools, +and upper level supervisors with less-rigid time deadlines can be written in +Java and use NML to communicate with C++ parts of the application.

+

+Example: Robot Controller/Supervisor +Design

+

A controller for a robot must poll a variety of inputs +and perform some computations every "n" milliseconds and a +remote supervisor should be able to check the status of the robot when +needed.

+

The next figure shows one possible design for this +application. Because the controller can write directly to the shared +memory buffer, writing the status takes a minimum time for the +controller. Using the NML server allows the supervisor to be located +almost anywhere and on almost any host.

+

Controller/Supervisor System Diagram

+

+

+Summary of Design Suggestions.

+
  1. Avoid +overloading any CPU by assigning too many processes to it or building +a single process which must do too much work.
  2. +
  3. Place buffers +so that they may be accessed locally by the most time-critical +process(es).
  4. +
  5. Use the "LOCAL" protocol whenever possible. +
  6. +
  7. Only use neutrally encoded buffers when necessary.(i.e. +backplane communications between different types of processors) +
  8. +

+Programming with NML +

+

+NML applications programmers need to create a message +vocabulary and associated format function, write a configuration file, +create an NML object, and use the read and write member functions. +

+

+Creating an NML Vocabulary (Format Functions, Update Functions, and Message Definitions) +

+

The message vocabulary is a set of C++/Java classes, derived from +NMLmsg, which can be thought of as data structures that are copied +into the NML buffer during a write operation, and copied out during a +read operation. Each class is associated with a unique identifier, a +positive integer, that allows readers to identify which message is +present in the buffer. Besides the particular data members of the +class, each class also needs an update function which calls CMS +methods to convert the data members to types CMS can handle. +Currently, CMS provides support for the basic C/Java language built-in +types. However, avoid using enums or long doubles in NML messages. +(See "Trouble Shooting - +Insufficient Arguments Error")

+

To enable CMS to neutrally +format the data in the buffer or to allow NML servers to encode and +decode the data for remote processes, a format function is required. +This format function is nothing more than a switch statement, +associating NML identifiers with the update functions of particular +NML message classes. The format function can be manually programmed as +will be described below, or it can be automatically generated using +the NML Code Generator.

+

+Example: Message Definition.

+

Files needed for this example include: nml_ex1MsgDict.java, EXAMPLE_MSG.java +

+

Both EXAMPLE_MSG.java, and nml_ex1MsgDict.java were generated from +nml_ex1.hh using the NML Code Generator. nml_ex1.hh is also used in the C++ examples.

+ +
 
+/*
+*	New Java File starts here.
+*	This file should be named nml_ex1_MsgDict.java
+*	Automatically generated by NML CodeGen Java Applet.
+*	with command line arguments :  generate_for_java=true generate_for_cpp=false HHFile=nml_ex1.hh
+*	RCS_VERSION=2009.12.17_1575*
+*	.gen script :
+*		0:load nml_ex1.hh
+*		1:clear
+*		2:select_from_file nml_ex1.hh
+*		3:generate Java dict>nml_ex1_MsgDict.java
+*		4:generate Java classes >*
+*		5:exit
+*
+*/
+
+// Import NML classes and interfaces
+import rcs.nml.*;
+
+import java.util.Hashtable;
+/*
+*	Class definition for nml_ex1_MsgDict
+*	Automatically generated by NML CodeGen Java Applet.
+*/
+public class nml_ex1_MsgDict implements NMLMessageDictionary
+{
+
+	// Define an object of every message class.
+	private EXAMPLE_MSG EXAMPLE_MSG_object = null;
+
+	// ID Type Constants
+	public static final int EXAMPLE_MSG_TYPE  = 101;
+
+	// Sizes useful for C++ compat and preallocating byte storage. 
+	//(not used for normal NML reads/writes).
+	public long getEstimatedSize(final int _type)
+	{
+		switch(_type)
+		{
+			case EXAMPLE_MSG_TYPE: /*101*/
+				return 232;
+		default:
+			break;
+		}
+		return 232; /* maximum */
+	}
+
+	public long getMaxEstimatedSize() {
+		return 232;
+	}
+
+
+
+	//Define an NML_ENUM_INFO object for the type ID's
+	NML_ENUM_INFO nml_enum_info_for_type_names =null;
+
+
+	//Create a constructor to setup the NML_ENUM_INFO object.
+	public nml_ex1_MsgDict()
+	{
+		nml_enum_info_for_type_names= new NML_ENUM_INFO();
+		nml_enum_info_for_type_names.name="nml_ex1_MsgDict";
+		Hashtable h1 = new Hashtable();
+		Hashtable h2 = new Hashtable();
+		Integer I = null;
+		String  S = null;
+		I=new Integer(EXAMPLE_MSG_TYPE);
+		S="EXAMPLE_MSG";
+		h1.put(I,S); h2.put(S,I);
+		nml_enum_info_for_type_names.int_to_string_hash=h1;
+		nml_enum_info_for_type_names.string_to_int_hash=h2;
+	}
+
+
+
+	// Miscellaneous Pre-Defined Values
+
+	// Enumerated Type Constants
+
+
+	// NML Format Function
+	public int formatMsg(NMLFormatConverter nml_fc)
+	{
+		int return_val=0;
+		nml_fc.check_type_info(nml_enum_info_for_type_names);
+
+		switch(nml_fc.msg_type)
+		{
+		case EXAMPLE_MSG_TYPE: /*101*/
+			if(null == EXAMPLE_MSG_object) { 
+				EXAMPLE_MSG_object = new EXAMPLE_MSG();
+			}
+			nml_fc.msg_to_update  = EXAMPLE_MSG_object;
+			EXAMPLE_MSG_object.update(nml_fc);
+			break;
+
+		default:
+			return_val=-1;
+			break;
+		}
+		return(return_val);
+	}
+
+}
+
+ +
+/*
+*	New Java File starts here.
+*	This file should be named EXAMPLE_MSG.java
+*/
+
+// Import all NML, CMS, and RCS classes and interfaces
+import rcs.nml.*;
+import rcs.nml.NMLFormatConverter;
+import rcs.nml.NMLMessageDictionary;
+import rcs.nml.NMLmsg;
+import rcs.nml.RCS_CMD_MSG;
+import rcs.nml.RCS_STAT_MSG;
+
+/*
+*	Class definition for EXAMPLE_MSG
+*	Automatically generated by RCS Java Diagnostics Tool.
+*	on Thu Jun 05 13:38:12 EDT 1997
+*/
+public class EXAMPLE_MSG extends NMLmsg
+{
+	float f = 0;
+	byte c = 0;
+	int i = 0;
+
+
+	// Constructor 
+	public EXAMPLE_MSG()
+	{
+		super(101);
+	}
+
+
+	public void update(NMLFormatConverter nml_fc)
+	{
+		super.update(nml_fc);
+		f  = nml_fc.update(f );
+		c  = nml_fc.update(c );
+		i  = nml_fc.update(i );
+
+	}
+}
+
+ +

These two files could also be generated with the command.

+
+java -jar CodeGenCmdLine.jar generate_for_java=true generate_for_cpp=false nml_ex1.hh
+
+ +

Whether you generate the source files or download them, the should be +compiled with this command.

+ +
+javac -classpath rcs.jar EXAMPLE_MSG.java  nml_ex1_MsgDict.java
+
+ +

It is normal to see the following notes. (We could change the code to use +safer checked functions but then the code would no longer compile with older +jdk's. The files rcs.jar and CodeGenCmdLine.jar are available on the NIST ftp site o +r can be built with the rcslib to be found in the bin directory or plat/java/lib directory.

+ +
+Note: nml_ex1_MsgDict.java uses unchecked or unsafe operations.
+Note: Recompile with -Xlint:unchecked for details.
+
+ + +

NOTE: All the NML updates are +identical except that the body should call the NMLFormatConverter +update function for each member in the class. +The update function has been overloaded +to accept references to all of the basic data types (ints, floats, +etc.) Depending on the NMLFormatConverter mode the update functions will either store +their argument in a neutrally encoded buffer or decode the buffer and +store the output in the variables passed to the update functions. Just as +with the format function, the update functions can be either manually coded +or generated automatically with the NML Code +Generator. +

+ +

+Creating an NML Object +

+

NMLConnection has several constructors, but most users will use the +following.

+

NMLConnection(NMLMessageDictionary msg_dict, + String buf, String proc, String file) throws NMLException

+ +

The parameters are:
msg_dict = < message dictionary object +to use>;
buf = <name of the buffer to +connect to as specified in configuration file>;
proc += <name under which to access the buffer>;
file = +<name of the configuration file>;

+ +

+Example: +Constructors

+

Files needed for this example include: nml_ex1MsgDict.java, EXAMPLE_MSG.java,nml_ex2.java +

+
+/* nml_ex2.java */
+
+//Import the custom message dictionary
+// Normally one would have something like import package.nml_ex1_MsgDict;
+// but since we are not using packages we don't need the import.
+
+// Import all NML, CMS, and RCS classes and interfaces
+import rcs.nml.*;
+	
+public class nml_ex2
+{
+	public static void main(String args[]) throws Exception
+	{	
+		/* NML( format function, buffer name, process name, configuration file ) */
+		NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), "ex_buf1","ex2_proc", "ex_cfg.nml");
+	} 
+}
+
+ +

Compile with:

+ +
+javac -classpath rcs.jar nml_ex2.java nml_ex1_MsgDict.java EXAMPLE_MSG.java
+
+ +

To run it you need to first start the server in the background. The server must be written in C++ and is example 9 in the NML C++ Programmer's Guide.

+ +
+# Compile command depends on OS and compiler versions.
+g++ nml_ex9.cc nml_ex1.cc rcslib/lib/librcs.a -lpthread -o nml_ex9
+./nm_ex9 &
+
+ +

To run the java app.

+ +
+java -classpath rcs.jar nml_ex2
+
+ +

This example normally has no output or effect.

+ +

+Reading NML Data

+

These are the member functions used to perform +reads:

+ +
+
o + public NMLmsg peek() throws NMLException() +
+
Read an NMLmsg but do not change the was_read flag. +
+
o + public String peekDataString() throws NMLException() +
+
+ Reads an NMLmsg using peek() and converts it to a String. +
+
o + public NMLmsg read() throws NMLException() +
+
+ Read a NMLmsg. +
+
o + public String readDataString() throws NMLException() +
+
+ Reads an NMLmsg and converts it to a String. +
+
+

There is a difference between these functions and the C++ versions. +The C++ functions NML::read() and NML::peek() return an integer indicating +what type of message if any was read and the actual data is stored in +the area that can be found by calling NML::get_address(). But in java these functions return references to NMLmsg objects or null if there was no message to read, and there is no get_address function. (References are as close as Java gets to pointers.) The reason is that Java has two features that are not commonly +available in C++: Run-time type checking and automatic garbage collection. +In Java, it is not possible to simply create one static memory area to +deposit all the NML messages recieved there, on the other hand once the +objects are created, casting them to the wrong class causes a +ClassCastException unlike C++ which would just let the object be +used in inappropriate ways as long as there was an explicit cast.

+

If an error occurs that makes it +impossible to read from this NML buffer, an NMLException is thrown.

+

Peek works exactly the +same as read except that the flag that lets others know when the +buffer is read is not changed and if queuing is enabled the message is +not removed from the queue. This could be useful if you need to monitor +a buffer without letting other processes using the buffer know.

+ +

+Example: Reading from an NML +Channel.

+

Files needed in this example include: nml_ex1MsgDict.java, EXAMPLE_MSG.java, nml_ex3.java

+
+
+// Import the custom message dictionary and message classes
+// import nml_ex1MsgDict; -- import not needed since not using packages
+// import EXAMPLE_MSG; -- import not needed since not using packages
+
+// Import all NML, CMS, and RCS classes and interfaces
+import rcs.nml.*;
+import rcs.utils.*;
+
+class nml_ex3
+{
+  public static void main(String args[])  throws Exception
+  {	
+    /* NMLConnection( message dictionary, buffer name, process name, configuration file ) */
+    NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), 
+						  "ex_buf1",
+						  "ex3_java_proc", 
+						  "ex_cfg.nml");
+		
+    EXAMPLE_MSG msg = null;
+    while(msg == null)
+    {
+      msg = (EXAMPLE_MSG) example_nml.read();
+      Thread.sleep(100);	/* Sleep for 100 milliseconds. */
+    }
+    /* Print something to the console to indicate a message was recieved. */
+    System.out.println("Message recieved: f = "+msg.f+", c = "+msg.c+", i = "+msg.i);
+  } 
+}
+
+ +

+Compile with: +

+ +
+javac -classpath rcs.jar nml_ex3.java nml_ex1_MsgDict.java EXAMPLE_MSG.java
+
+ +

To run it you need to first start the server in the background. The server must be written in C++ and is example 9 in the NML C++ Programmer's Guide.

+ +
+# Compile command depends on OS and compiler versions.
+g++ nml_ex9.cc nml_ex1.cc rcslib/lib/librcs.a -lpthread -o nml_ex9
+./nm_ex9 &
+
+ +

To run the java app.

+ +
+java -classpath rcs.jar nml_ex3
+
+ + +

If you try to run this +example, it will wait for something to be written into the buffer. To +write something into the buffer, you can use the example in +"Writing NML Data". You will also need +an NML server. The program nml_ex9 which is described in the C++ version of this guide under "Using the run_nml_servers function." can be used as the NML server.

+ +

+Writing NML Data

+ +

These are the member functions used to perform +writes:

+ +
+
+o +write +
+
+
+ public int write(NMLmsg msg)
+
+
+
Writes an NMLmsg.
+
+
Parameters:
+
msg - the NMLmsg to write.
+
Returns:
+
0 if the writ*e was successful, -1 if there was an error
+
+
+
+ +
+o +writeDataString +
+
+
+ public int writeDataString(String dataString)
+
+
+
Convert a String to an NMLmsg and then write it to the buffer.
+
+
Parameters:
+
dataString - string to write
+
Returns:
+
0 if the write was successful, -1 otherwise
+
+
+
+
+ +

The equivalent of the write_if_read() function in C++ has +not been implemented yet.

+ +

+Example: Writing to an NML Channel. +

+

Files needed in this example include: nml_ex1MsgDict.java, EXAMPLE_MSG.java, nml_ex4.java

+
+// Import the custom message dictionary and message classes
+// import nml_ex1MsgDict; -- import not needed, not using packages
+// import EXAMPLE_MSG; -- import not needed, not using packages
+
+// Import all NML, CMS, and RCS classes and interfaces
+import rcs.*;
+import rcs.nml.*;
+import rcs.utils.*;
+
+class nml_ex4
+{
+  public static void main(String args[]) throws Exception
+  {	
+    /* NMLConnection( message dictionary, buffer name, process name, configuration file ) */
+    NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), 
+						  "ex_buf1",
+						  "ex2_proc", 
+						  "ex_cfg.nml");
+		
+    EXAMPLE_MSG msg = new EXAMPLE_MSG();
+    msg.f = (float) 3.14;
+    msg.c = (byte) '1';
+    msg.i = 1024;
+    example_nml.write(msg);
+ 
+   System.out.println("Sent message: f = "+msg.f+", c = "+msg.c+", i = "+msg.i);
+  } 
+}
+
+ +

Compile with:

+ +
+javac -classpath rcs.jar nml_ex4.java nml_ex1_MsgDict.java EXAMPLE_MSG.java
+
+ +

Before running start the NML server, see previous examples.

+ +

To run the java app.

+ +
+java -classpath rcs.jar:. nml_ex4
+
+ +

+It should print: +

+ +
+Sent message: f = 3.14, c = 49, i = 1024
+
+ +

This example writes a message into a buffer. To +read the message use the example in Reading NML Data

+ +

Handling Errors

+ +

Errors from NML can be dealt with more rigorously by catching +NMLException.

+ +

+Example: Catching an NMLException. +

+ +
+. . . 
+	try
+	{
+		/* NMLConnection( message dictionary, buffer name, process name, configuration file ) */
+		NMLConnection example_nml = new NMLConnection(new nml_ex1MsgDict(), 
+						  "ex_buf1",
+						  "ex3_java_proc", 
+						  "ex_cfg.nml");
+		
+		EXAMPLE_MSG msg = null;
+		while(msg == null)
+		{
+		  msg = (EXAMPLE_MSG) example_nml.read();
+		  Thread.sleep(100);	/* Sleep for 100 milliseconds. */
+		}
+	}
+	catch(NMLException nml_except)
+	{
+		System.out.println("Sorry can't read from NML.");
+		return(-1);
+	}
+	return(0);
+. . .
+
+ +

The Section called "Writing an NML Configuration +File" has been moved to it's own page at http://www.isd.mel.nist.gov/projects/rcs_lib/NMLcfg.html.

+ + + +
+ +

Last Modified: Feb 1,2010

+ + +

If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

+ + + + diff --git a/doc/NMLtoc.html b/doc/NMLtoc.html new file mode 100644 index 0000000..c868302 --- /dev/null +++ b/doc/NMLtoc.html @@ -0,0 +1,85 @@ + + +NML Guide Table of Contents +

The Neutral Message Language

+ +
  • See other RCS Library Documents.
  • +
    +
    +

    The NML Programmer's Guide - Table Of Contents

    + +
    +

    Last Modified: 10/19/98

    +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + diff --git a/doc/README.DOS b/doc/README.DOS new file mode 100644 index 0000000..cd98bcf --- /dev/null +++ b/doc/README.DOS @@ -0,0 +1,120 @@ +Because I do not expect users to have gnumake ready to be used for DOS and MS-WINDOWS +there are several additional steps required for creating the +Real-time Control Systems(RCS) Library for DOS or Windows. + +1. You will need to change the names of *.cc files to *.cpp files, and you will probably want to unix2dos the files as well. You can accomplish this from a UNIX host such as a Sunos 4 workstation by running a command such as: + +gnumake -k PLAT=win16bor sources + +Since no actual compiling will occur you could just as easily use any of the win* or dos* plat, but win16bor is intended for 16-bit MS-Windows version with a Borland C++ compiler. + +2. You will need to create a project file using the your compiler's development environment. + +Since the server code will not work on DOS or Windows exclude the following files from the project: + +nml_srv.cpp +cms_srv.cpp +sem.cpp +_sem.c +shm.cpp +_shm.c +shmem.cpp +_table.c +table.cpp +rpc_svr.cpp +tcp_svr.cpp +udp_svr.cpp +and all files in the nml, pcio, node, and pmac subdirectories + +Also eliminate the following files because they are intended to be part of stand-alone applications rather than part of the library. + +nmlperf.cpp +perfsvr.cpp +nmltest.cpp +perftype.cpp +nmlclean.cpp +nmlwatch.cpp +printest.cpp +windlg.c +perfdlg.cpp +testtimer.cpp +testtable.cpp + + + +This should leave the following list. + +_physmem.c +_timer.c +bit3.cpp +bt_remid.c +btcommon.c +btecard.c +cmd_msg.cpp +cms.cpp +cms_aup.cpp +cms_cfg.cpp +cms_in.cpp +cms_up.cpp +cms_xup.cpp +globmem.cpp +nml.cpp +nmlmsg.cpp +phantom.cpp +rcs_prnt.cpp +readn.c +recvmsgt.c +recvn.c +rpcintrf.cpp +rpcmem.cpp +sendmsgt.c +sendn.c +sokintrf.cpp +tcp_opts.cpp +tcpmem.cpp +timer.cpp +udp_opts.cpp +udpmem.cpp +win_prnt.cpp +writen.c +xdr_msg.cpp + + +Do one of the following: + +1. Obtain a copy of the PC-NFS Programmer's Toolkit for the appropriate platform.(Unfortunately this costs $$$), and add its includes to the directories searched for include files. + + +OR + +2. Add the define NO_DCE_RPC as a compile line option and eliminate the following files from the project. + +rpcintrf.cpp +xdr_msg.cpp +rpcmem.cpp +cms_xup.cpp + + +Finally, for strictly DOS without MS-Windows versions you may also want to eliminate win_prnt.cpp. + + + +*************************************************************** +Additional Notes: +If you are only interested in the RCS_LINKED_LIST class +linklist.cpp does not require any functions from other parts of +the library so you could compile only it and link linklist.obj with +your application instead of the whole RCS library. + +If you have any problems with the RCS library, please do not hesitate +to call me, Will Shackleford, at (301) 975-4286 or reach me via e-mail at +shackle@cme.nist.gov. + + + + + + +----------------------------------------------------------------------- +Last Modified: 08/25/99 + diff --git a/doc/Screenshot-ex_msg_file.EXAMPLE_MSG_TYPE.png b/doc/Screenshot-ex_msg_file.EXAMPLE_MSG_TYPE.png new file mode 100644 index 0000000..b53eed6 Binary files /dev/null and b/doc/Screenshot-ex_msg_file.EXAMPLE_MSG_TYPE.png differ diff --git a/doc/appstrut.gif b/doc/appstrut.gif new file mode 100644 index 0000000..423499c Binary files /dev/null and b/doc/appstrut.gif differ diff --git a/doc/bugs.html b/doc/bugs.html new file mode 100644 index 0000000..a178f8b --- /dev/null +++ b/doc/bugs.html @@ -0,0 +1,98 @@ + + + + +RCS/NML Bugs + + + + + + + +

    How to report RCS and NML Bugs or get support:

    +

    I can not guarantee to be able to provide support, whether I can or not +depends on what projects I am working on as well as how many reports/questions arrive around the same time and the availability of various computer resources, however I do intend to at least try.

    +

    Create an email with the following information.

    +
      +
    • A description of the problem.
    • +
    • The exact version of RCS library being used. If this is being run on +a NIST computer this might be whatever is installed in a given directory on given host otherwise I need the name of the tar.gz file it came from, or you can check rcsvers.hh
    • +
    • The operating system, compiler and CPU architecture.
    • +
    • A log of any compiler or run-time error messages produced. If it is more +than a page or two I ussually want the first page with errors. + If it involves a graphical tool you can usually get a screen shot by pressing the print screen key, saving to a file and attach that to the email.
    • +
    • The name of the project and how/if it impacts NIST or the US Federal Government. If someone else on the same project contacts me sometimes it is useful to +be able to make the connection. I also hate to play favorites, but someday it might be necessary to make sure the NIST related problems are solved first.
    • +
    • If any of the information needs to be kept secret to protect intellectual property, privacy or security, please let me know otherwise I would like to post +at least the more interesting bugs or questions and thier resolution on the +website.
    • +
    • If you can create a simple program than demonstrates the problem without requiring any special hardware/software that is not widely/freely available and you can send me the source for that it might be very helpful.
    • +
    • The NML configuration file is often helpful.
    • +
    + +

    Send the email to shackle@nist.gov.

    + +

    Do not be afraid to send additional emails a couple of days later if you do not get a response or an excessively terse one. I might have more time a couple of days later but I do not ussually go back to the old emails since it is likely the problem was by that time solved or completely given up on.

    + +
    +

    Previously reported problems:

    + +
      +
    • +
      +
      +
      +Opening NML channel mapsout...done
      +initialize maps we need to start nav data first
      +nml.cc 155: !ERROR! void *NML::operator new() called with size (336) < sizeof(NML) (616) the code calling NML was probably not compiled with the correct header file version. 
      +
      +I still can run the program even I got the above error. 
      +
      +
      +
      + +
      +
      +
      +This is typically caused by compiling with -I pointing to the headers for one version 
      +of NML and linking with another version or changing the rcslib version between the time 
      +of the compile and the link if rcslib is statically linked or between the compile and 
      +the run if the library is dynamically linked.  You might theoretically run anyway, but 
      +it is probably a good idea to clean this up. 
      +
      +
      +
      +
    • +
    + +
    + +
    Software Disclaimer +

    This software was produced by the National Institute of Standards and Technology (NIST), an agency of the U.S. government, and by statute is not subject to copyright in the United States. Recipients of this software assume all responsibility associated with its operation, modification, maintenance, and subsequent redistribution.

    +
    +
    + + + + diff --git a/doc/c++_ex1.cc b/doc/c++_ex1.cc new file mode 100644 index 0000000..814b1aa --- /dev/null +++ b/doc/c++_ex1.cc @@ -0,0 +1,27 @@ +#include + +class CLASS_A { + public: // Defines the access for the following members. + int first_member; + float second_member; + void function_member(); +}; + +void CLASS_A::function_member() +{ + printf("first_member = %d, second_member = %lf\n", + first_member, second_member); +} + +CLASS_A first_instance_of_A; +CLASS_A second_instance_of_A; + +main() +{ + first_instance_of_A.first_member = 123; + first_instance_of_A.second_member = 3.14; + second_instance_of_A.first_member = 501; + second_instance_of_A.second_member = 2.718; + first_instance_of_A.function_member(); + second_instance_of_A.function_member(); +} diff --git a/doc/c++_ex2.cc b/doc/c++_ex2.cc new file mode 100644 index 0000000..5f2aec5 --- /dev/null +++ b/doc/c++_ex2.cc @@ -0,0 +1,31 @@ +#include + +class CLASS_B { + public: + CLASS_B(char *name); +}; + +CLASS_B::CLASS_B(char *name) +{ + printf("Constructor for CLASS_B called with name = %s.\n",name); +} + +CLASS_B outside_B("outside"); + +void my_function(); + +main() +{ + CLASS_B main_B("main"); + my_function(); +} + +void my_function() +{ + CLASS_B my_fuction_B("my_function"); + CLASS_B *ptr_to_B; + + ptr_to_B = new CLASS_B("new"); + + delete ptr_to_B; // See Destructors +} diff --git a/doc/c++_ex3.cc b/doc/c++_ex3.cc new file mode 100644 index 0000000..55c49eb --- /dev/null +++ b/doc/c++_ex3.cc @@ -0,0 +1,43 @@ +#include + +class CLASS_C { + public: + CLASS_C(char *_name); // This is the constructor declaration. + ~CLASS_C(); // This is the constructor declaration. + char *name; +}; + +CLASS_C::CLASS_C(char *_name) +{ + name = _name; + printf("Constructor for CLASS_C called with name = %s.\n",name); +} + +CLASS_C::~CLASS_C() +{ + printf("Destructor for CLASS_C called with name = %s.\n",name); +} + +// VxWorks users should probably not +// declare objects with constructors here. +CLASS_C outside_C("outside"); + +void my_function(); + +main() +{ + CLASS_C main_C("main"); + my_function(); + //exit(0); +} + +void my_function() +{ + CLASS_C my_function_C("my_function"); + CLASS_C *ptr_to_C; + + ptr_to_C = new CLASS_C("new"); + + delete ptr_to_C; // See Destructors +} + diff --git a/doc/c++_ex4.cc b/doc/c++_ex4.cc new file mode 100644 index 0000000..40b8b61 --- /dev/null +++ b/doc/c++_ex4.cc @@ -0,0 +1,20 @@ +#include + +void output(int i) +{ + printf("output int: %d\n",i); +} + +void output(float f) +{ + printf("output float: %f\n",f); +} +main() +{ + int integer; + float floating_point; + integer = 501; + floating_point = 1.41; + output(integer); + output(floating_point); +} diff --git a/doc/c++_ex5.cc b/doc/c++_ex5.cc new file mode 100644 index 0000000..6ecae95 --- /dev/null +++ b/doc/c++_ex5.cc @@ -0,0 +1,32 @@ +#include + +class BASE_CLASS_A { + public: + int ia; + void print_ia(); +}; + +class DERIVED_CLASS_B: public BASE_CLASS_A { + public: + float fb; + void print_fb(); +}; + +void BASE_CLASS_A::print_ia() +{ + printf("ia = %d\n", ia); +} + +void DERIVED_CLASS_B::print_fb() +{ + printf("fb = %f\n", fb); +} + +main() +{ + DERIVED_CLASS_B b; + b.ia = 1; + b.fb = 2.0; + b.print_ia(); + b.print_fb(); +} diff --git a/doc/c++_ex6.cc b/doc/c++_ex6.cc new file mode 100644 index 0000000..ee9fffd --- /dev/null +++ b/doc/c++_ex6.cc @@ -0,0 +1,62 @@ +#include + +class BASE_CLASS_C { + public: + BASE_CLASS_C(char *_name) {name = _name;} ; + char *name; + virtual void virtual_function(); + void non_virtual_function(); +}; + +void BASE_CLASS_C::virtual_function() +{ + printf("BASE_CLASS_C::virtual_function called with name = %s\n",name); +} + +void BASE_CLASS_C::non_virtual_function() +{ + printf("BASE_CLASS_C::non_virtual_function called with name = %s\n",name); +} + +class DERIVED_CLASS_D: public BASE_CLASS_C { + public: + DERIVED_CLASS_D(char *_name): BASE_CLASS_C(_name) {}; + virtual void virtual_function(); + void non_virtual_function(); +}; + +void DERIVED_CLASS_D::virtual_function() +{ + printf("DERIVED_CLASS_D::virtual_function called with name = %s\n",name); +} + +void DERIVED_CLASS_D::non_virtual_function() +{ + printf("DERIVED_CLASS_D::non_virtual_function called with name = %s\n",name); +} + +int function_using_ptr_to_base_class(BASE_CLASS_C *ptr_to_c) +{ + ptr_to_c->virtual_function(); + ptr_to_c->non_virtual_function(); +} + +main() +{ + BASE_CLASS_C c("c"); + DERIVED_CLASS_D d("d"); + + printf("calling c.virtual_function()\n"); + c.virtual_function(); + printf("calling c.non_virtual_function()\n"); + c.non_virtual_function(); + printf("calling d.virtual_function()\n"); + d.virtual_function(); + printf("calling d.non_virtual_function()\n"); + d.non_virtual_function(); + + printf("calling function_using_ptr_to_base_class(&c)\n"); + function_using_ptr_to_base_class(&c); + printf("calling function_using_ptr_to_base_class(&d)\n"); + function_using_ptr_to_base_class(&d); +} diff --git a/doc/cgtester.hh b/doc/cgtester.hh new file mode 100644 index 0000000..208b1a3 --- /dev/null +++ b/doc/cgtester.hh @@ -0,0 +1,186 @@ + + +#ifndef CGTESTER_HH +#define CGTESTER_HH + +#define DO_NOT_ADD_INDEXES_TO_ARRAY_NAMES 1 + +#include "rcs.hh" + +#define EXAMPLE_MESSAGE_TYPE (101) +#define INSIDE_COMMAND_TYPE (1001) +#define INSIDE_STATUS_TYPE (2001) + + +enum enumtest{ c=7,d, e, a=7, b}; + +class nonupdateableClass : public NML { +public: + nonupdateableClass(); + void *ptr; +}; + +class INSIDE_COMMAND_BASE: public RCS_CMD_MSG +{ +public: + INSIDE_COMMAND_BASE(NMLTYPE t,size_t s) : RCS_CMD_MSG(t,s) {}; + void update(CMS *); + int inside_command_base_int; +}; + + +class INSIDE_COMMAND: public INSIDE_COMMAND_BASE +{ +public: + INSIDE_COMMAND() : INSIDE_COMMAND_BASE(INSIDE_COMMAND_TYPE,sizeof(INSIDE_COMMAND)) {}; + void update(CMS *); + int inside_command_int; +}; + + + +class INSIDE_STATUS_BASE: public RCS_STAT_MSG +{ +public: + INSIDE_STATUS_BASE(NMLTYPE t,size_t s) : RCS_STAT_MSG(t,s) {}; + void update(CMS *); + int inside_status_base_int; +}; + + +class INSIDE_STATUS: public INSIDE_STATUS_BASE +{ +public: + INSIDE_STATUS() : INSIDE_STATUS_BASE(INSIDE_STATUS_TYPE,sizeof(INSIDE_STATUS)) {}; + void update(CMS *); + int inside_status_int; +}; + + + + +typedef struct _mystruct { + + INSIDE_STATUS is; + int i; /* default=10 */ + char c; + float f; + double d; + int ia[3]; + char ca[3]; + unsigned char hexdata[10]; + char name[60]; + + int i_attribute; //attribute,default=10 + char c_attribute; //attribute + float f_attribute; //attribute + double d_attribute; //attribute + char ca_attribute[10]; //attribute + + enum enumtest enumtestvar; + + + enum enumtest enumtestvar_array[5]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(enum enumtest, enumtest_dla,5); + //DECLARE_NML_UNBOUNDED_ARRAY(enum enumtest, enumtest_unbounded); + + float fa[3]; + double da[3]; + PM_CARTESIAN cart; + PM_CARTESIAN cart_array[3]; + PM_HOMOGENEOUS homo; + PM_HOMOGENEOUS homo_array[3]; + INSIDE_COMMAND ic; + INSIDE_COMMAND ic_array[3]; + + + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,cart_dynamic_array,10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_HOMOGENEOUS, homo_dynamic_array,10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(INSIDE_COMMAND, ic_dynamic_array,10); + + DECLARE_NML_UNBOUNDED_ARRAY(char,initialized_cda_unbounded); //default=foobar + + DECLARE_NML_UNBOUNDED_ARRAY(char,cda_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(int,ida_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(float,fda_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(double,dda_unbounded); + //DECLARE_NML_UNBOUNDED_ARRAY(PM_CARTESIAN,cart_unbounded); + //DECLARE_NML_UNBOUNDED_ARRAY(PM_HOMOGENEOUS, homo_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(INSIDE_COMMAND, ic_unbounded); + +}mystruct; + + +class EXAMPLE_MESSAGE: public NMLmsg +{ +public: + EXAMPLE_MESSAGE(); + void update(CMS *); + + INSIDE_STATUS is; + int i; /* default=10 */ + char c; + float f; + double d; + int ia[3]; + char ca[3]; + unsigned char hexdata[10]; + char name[60]; + + int i_attribute; //attribute,default=10 + char c_attribute; //attribute + float f_attribute; //attribute + double d_attribute; //attribute + char ca_attribute[10]; //attribute + enum enumtest enumtestvar; + + + enum RCS_STATUS rcsstatus; + enum enumtest enumtestvar_array[5]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(enum enumtest, enumtest_dla,5); + //DECLARE_NML_UNBOUNDED_ARRAY(enum enumtest, enumtest_unbounded); + + float fa[3]; /*default=5.0*/ + double da[3]; + PM_CARTESIAN cart; + PM_CARTESIAN cart_array[3]; + PM_HOMOGENEOUS homo; + PM_HOMOGENEOUS homo_array[3]; + INSIDE_COMMAND ic; + INSIDE_COMMAND ic_array[3]; + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,cart_dynamic_array,10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_HOMOGENEOUS, homo_dynamic_array,10); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(INSIDE_COMMAND, ic_dynamic_array,10); + + + DECLARE_NML_UNBOUNDED_ARRAY(char,cda_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(int,ida_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(float,fda_unbounded); + DECLARE_NML_UNBOUNDED_ARRAY(double,dda_unbounded); + //DECLARE_NML_UNBOUNDED_ARRAY(PM_CARTESIAN,cart_unbounded_array); + //DECLARE_NML_UNBOUNDED_ARRAY(PM_HOMOGENEOUS, homo_unbounded_array); + DECLARE_NML_UNBOUNDED_ARRAY(INSIDE_COMMAND, ic_unbounded_array); + + mystruct s; + mystruct sa[3]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(mystruct,sda, 10); + DECLARE_NML_UNBOUNDED_ARRAY(mystruct,sda_unbounded); + long lastvar; +}; + +/* Declare the NML Format function. */ +int cgtester_format(NMLTYPE type, void *buf, CMS *cms); + +#endif + + diff --git a/doc/cgtester_n_codegen_protos.hh b/doc/cgtester_n_codegen_protos.hh new file mode 100644 index 0000000..aa3b8f0 --- /dev/null +++ b/doc/cgtester_n_codegen_protos.hh @@ -0,0 +1,80 @@ +/* +* New C++ Header File starts here. +* This file should be named cgtester_n_codegen_protos.hh +*/ + +#ifndef cgtester_n_codegen_protos_hh_included +#define cgtester_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "cgtester.hh" + +// Forward Function Prototypes +extern void mystruct_update(CMS *cms, mystruct *x); +extern void initialize_mystruct(mystruct *x); +extern void NML_UNBOUNDED_LENGTH_ARRAY_INSIDE_COMMAND_update(CMS *cms, NML_UNBOUNDED_LENGTH_ARRAY INSIDE_COMMAND *x); +extern void void_update(CMS *cms, void *x); +extern void NML_UNBOUNDED_LENGTH_ARRAY_mystruct_update(CMS *cms, NML_UNBOUNDED_LENGTH_ARRAY mystruct *x); + + +#ifndef MAX_CGTESTER_NAME_LENGTH +#define MAX_CGTESTER_NAME_LENGTH 16 +#endif +#ifndef CGTESTER_NAME_LIST_LENGTH +#define CGTESTER_NAME_LIST_LENGTH 4 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char cgtester_name_list[CGTESTER_NAME_LIST_LENGTH][MAX_CGTESTER_NAME_LENGTH]; +extern const NMLTYPE cgtester_id_list[CGTESTER_NAME_LIST_LENGTH]; +extern const size_t cgtester_size_list[CGTESTER_NAME_LIST_LENGTH]; +extern const char *cgtester_symbol_lookup(long type); + + +// Enumerated Type Constants + +// RCS_STATUS +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_LENGTH */ + +extern const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]; + +extern const char *cgtester_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_info_struct; + +// enumtest +#ifndef MAX_ENUM_ENUMTEST_STRING_LENGTH +#define MAX_ENUM_ENUMTEST_STRING_LENGTH 2 +#endif + /* MAX_ENUM_ENUMTEST_STRING_LENGTH */ +#ifndef ENUM_ENUMTEST_LENGTH +#define ENUM_ENUMTEST_LENGTH 6 +#endif + /* ENUM_ENUMTEST_LENGTH */ + +extern const char enum_enumtest_string_list[ENUM_ENUMTEST_LENGTH][MAX_ENUM_ENUMTEST_STRING_LENGTH]; + +extern const int enum_enumtest_int_list[ENUM_ENUMTEST_LENGTH]; + +extern const char *cgtester_enum_enumtest_symbol_lookup(long v); + +extern const struct cms_enum_info enum_enumtest_info_struct; + +extern int cgtester_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif cgtester_n_codegen_protos_hh_included */ + diff --git a/doc/cms_hier.gif b/doc/cms_hier.gif new file mode 100644 index 0000000..0333367 Binary files /dev/null and b/doc/cms_hier.gif differ diff --git a/doc/cms_types.hh b/doc/cms_types.hh new file mode 120000 index 0000000..d6b95c0 --- /dev/null +++ b/doc/cms_types.hh @@ -0,0 +1 @@ +../src/cms/cms_types.hh \ No newline at end of file diff --git a/doc/design-codegen.gif b/doc/design-codegen.gif new file mode 100644 index 0000000..f4b879e Binary files /dev/null and b/doc/design-codegen.gif differ diff --git a/doc/design-files.gif b/doc/design-files.gif new file mode 100644 index 0000000..b9d0833 Binary files /dev/null and b/doc/design-files.gif differ diff --git a/doc/design-hierarchy.1.gif b/doc/design-hierarchy.1.gif new file mode 100644 index 0000000..735a020 Binary files /dev/null and b/doc/design-hierarchy.1.gif differ diff --git a/doc/design-hierarchy.gif b/doc/design-hierarchy.gif new file mode 100644 index 0000000..443aa0e Binary files /dev/null and b/doc/design-hierarchy.gif differ diff --git a/doc/design-loops.gif b/doc/design-loops.gif new file mode 100644 index 0000000..584e9d3 Binary files /dev/null and b/doc/design-loops.gif differ diff --git a/doc/design-options.gif b/doc/design-options.gif new file mode 100644 index 0000000..a740c4a Binary files /dev/null and b/doc/design-options.gif differ diff --git a/doc/diag.jnlp b/doc/diag.jnlp new file mode 100644 index 0000000..f790ad5 --- /dev/null +++ b/doc/diag.jnlp @@ -0,0 +1,26 @@ + + + + RCS Diagnostics Tool + Will Shackleford + + Display Data from running RCS application. + + + + + + + + + + + + + + + + + diff --git a/doc/diag_details.png b/doc/diag_details.png new file mode 100644 index 0000000..0001d61 Binary files /dev/null and b/doc/diag_details.png differ diff --git a/doc/diag_details_small.png b/doc/diag_details_small.png new file mode 100644 index 0000000..8a1e6b4 Binary files /dev/null and b/doc/diag_details_small.png differ diff --git a/doc/diag_graph.png b/doc/diag_graph.png new file mode 100644 index 0000000..a45faea Binary files /dev/null and b/doc/diag_graph.png differ diff --git a/doc/diag_graph_small.png b/doc/diag_graph_small.png new file mode 100644 index 0000000..07f0ee8 Binary files /dev/null and b/doc/diag_graph_small.png differ diff --git a/doc/diag_hierarchy.png b/doc/diag_hierarchy.png new file mode 100644 index 0000000..357f1c1 Binary files /dev/null and b/doc/diag_hierarchy.png differ diff --git a/doc/diag_hierarchy_small.png b/doc/diag_hierarchy_small.png new file mode 100644 index 0000000..5d2dea7 Binary files /dev/null and b/doc/diag_hierarchy_small.png differ diff --git a/doc/diag_splash.gif b/doc/diag_splash.gif new file mode 100644 index 0000000..864854d Binary files /dev/null and b/doc/diag_splash.gif differ diff --git a/doc/diagicon.jpg b/doc/diagicon.jpg new file mode 100644 index 0000000..606d519 Binary files /dev/null and b/doc/diagicon.jpg differ diff --git a/doc/dirtable.html b/doc/dirtable.html new file mode 100644 index 0000000..0ad7a73 --- /dev/null +++ b/doc/dirtable.html @@ -0,0 +1,432 @@ + + +RCS Directory Tree Table + + +

    RCS Directory Tree Table

    + +
    +

    NOTES:

    +
    +NOTE:It is +not necessary for every application to have all of the subdirectories under +"plat". +
    +
    +NOTE:Names in italics should be replaced with meaningful application-specific +names. +
    +
    +NOTE:If you insist on printing this out, you may need the postscript version because some browsers don't print the table as +well as they display it. +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Directory TreeDescription








    appMain Application Directory
    docDocumentation Directory
    srcSource Directory
    MakefileTop-level Makefile
    Makefile.appApplication Include Makefile
    src_subdirectory1Example Source Subdirectory
    MakefileSubdirectory Makefile
    SCCSSouce Code Control System archive
    src_subdirectory2Example Source Subdirectory
    MakefileSubdirectory Makefile
    SCCSSouce Code Control System archive
    src_subdirectory3Example Source Subdirectory
    MakefileSubdirectory Makefile
    SCCSSouce Code Control System archive
    . . .
    platPlatforms Directory
    sunos4Sun4 + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    sunos5Sun5/Solaris + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    sunos4CCSun4 + CenterLine Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    sunos5CCSun5 or Solaris + CenterLine Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    irix5SGI Irix5 + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    vxworks5.1VxWorks5.1 + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    vxworks5.1CCVxWorks5.1 + CenterLine Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    lynxosPCLynxOs 2.2 for x86 + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    lynxosVMELynxOs 2.2 for VME + GNU Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    dos_borDOS + Borland C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    dos_mscDOS + Microsoft C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    win16bor16-bit MS Windows + Borland C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    win16msc16-bit MS Windows + Visual C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    win32bor32-bit MS Windows + Borland C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    win32msc32-bit Windows + Visual C++ Compiler
    +bin +libbinaries(bin), libraries(lib)
    +include +srcsource(src), include files(include)
    +
    diff --git a/doc/dirtable.noimages.html b/doc/dirtable.noimages.html new file mode 100644 index 0000000..936f2f8 --- /dev/null +++ b/doc/dirtable.noimages.html @@ -0,0 +1,424 @@ + + +RCS Directory Tree Table + + +

    RCS Directory Tree Table

    +
    +

    NOTES:

    +
    +It is +not necessary for every application to have all of the subdirectories under +"plat". +
    +
    +Names in italics should be replaced with meaningful application-specific +names. +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Directory Tree|Description







    |
    app|Main Application Directory
    doc|Documentation Directory
    src|Source Directory
    Makefile|Top-level Makefile
    Makefile.app|Application Include Makefile
    src_subdirectory1|Example Source Subdirectory
    Makefile|Subdirectory Makefile
    SCCS|Souce Code Control System archive
    src_subdirectory2|Example Source Subdirectory
    Makefile|Subdirectory Makefile
    SCCS|Souce Code Control System archive
    src_subdirectory3|Example Source Subdirectory
    Makefile|Subdirectory Makefile
    SCCS|Souce Code Control System archive
    . . .|
    plat|Platforms Directory
    sunos4|Sun4 + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    sunos5|Sun5/Solaris + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    sunos4CC|Sun4 + CenterLine Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    sunos5CC|Sun5 or Solaris + CenterLine Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    irix5|SGI Irix5 + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    vxworks5.1|VxWorks5.1 + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    vxworks5.1CC|VxWorks5.1 + CenterLine Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    lynxosPC|LynxOs 2.2 for x86 + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    lynxosVME|LynxOs 2.2 for VME + GNU Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    dos_bor|DOS + Borland C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    dos_msc|DOS + Microsoft C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    win16bor|16-bit MS Windows + Borland C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    win16msc|16-bit MS Windows + Visual C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    win32bor|32-bit MS Windows + Borland C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    win32msc|32-bit Windows + Visual C++ Compiler
    +bin +lib|binaries(bin), libraries(lib)
    +include +src|source(src), include files(include)
    +
    diff --git a/doc/dirtable.noimages.ps b/doc/dirtable.noimages.ps new file mode 100644 index 0000000..58c5b1f Binary files /dev/null and b/doc/dirtable.noimages.ps differ diff --git a/doc/dirtable.ps b/doc/dirtable.ps new file mode 100644 index 0000000..1026ead Binary files /dev/null and b/doc/dirtable.ps differ diff --git a/doc/dirtree.gif b/doc/dirtree.gif new file mode 100644 index 0000000..f10d9a8 Binary files /dev/null and b/doc/dirtree.gif differ diff --git a/doc/echo_types.hh b/doc/echo_types.hh new file mode 100644 index 0000000..9c82f35 --- /dev/null +++ b/doc/echo_types.hh @@ -0,0 +1,27 @@ +#ifndef ECHO_TYPES_HH +#define ECHO_TYPES_HH + +#include "rcs.hh" + +#define ECHO_QUERY_TYPE 101 +#define ECHO_REPLY_TYPE 102 + +class ECHO_QUERY: public NML_QUERY_MSG +{ +public: + ECHO_QUERY(); + void update(CMS *); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,line,80); +}; + +class ECHO_REPLY: public NMLmsg +{ +public: + ECHO_REPLY(); + void update(CMS *); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,line,80); +}; + +extern int ECHO_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif diff --git a/doc/echo_types_n_codegen_protos.hh b/doc/echo_types_n_codegen_protos.hh new file mode 100644 index 0000000..16a6a74 --- /dev/null +++ b/doc/echo_types_n_codegen_protos.hh @@ -0,0 +1,39 @@ +/* +* New C++ Header File starts here. +* This file should be named echo_types_n_codegen_protos.hh +*/ + +#ifndef echo_types_n_codegen_protos_hh_included +#define echo_types_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "echo_types.hh" + +// Forward Function Prototypes + + +#ifndef MAX_ECHO_NAME_LENGTH +#define MAX_ECHO_NAME_LENGTH 11 +#endif +#ifndef ECHO_NAME_LIST_LENGTH +#define ECHO_NAME_LIST_LENGTH 3 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char ECHO_name_list[ECHO_NAME_LIST_LENGTH][MAX_ECHO_NAME_LENGTH]; +extern const NMLTYPE ECHO_id_list[ECHO_NAME_LIST_LENGTH]; +extern const size_t ECHO_size_list[ECHO_NAME_LIST_LENGTH]; +extern const char *ECHO_symbol_lookup(long type); + + +// Enumerated Type Constants + +extern int ECHO_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif echo_types_n_codegen_protos_hh_included */ + diff --git a/doc/emc.ini b/doc/emc.ini new file mode 100644 index 0000000..8670360 --- /dev/null +++ b/doc/emc.ini @@ -0,0 +1,672 @@ +; Minimill parameters + +[VERSION] +VERSION = Desktop Minimill + +; passwords for each level of access +[Passwords] +Operator=Operator +Programmer=Programmer +Maintenance=Maintenance +OEM=OEM + +[TOOL TABLE] +FILENAME=tool.tbl + +[FONT] +FONT SIZE=LARGE + +[UNIT] +LINEAR=INCH +ROTARY=degree + +[STATE] +FILENAME = emc.stf + +[MACHINE] +AXES=6 +X_HOME = 369.65 +X_HOME_OFFSET = 5.0 +X_NEG_LIMIT = -1000 +X_POS_LIMIT = +1000 +Y_HOME = 143.95 +Y_HOME_OFFSET = 5.0 +Y_NEG_LIMIT = -1000 +Y_POS_LIMIT = +1000 +Z_HOME = 236.32 +Z_HOME_OFFSET = 5.0 +Z_NEG_LIMIT = -1000 +Z_POS_LIMIT = +1000 +B_HOME = 0.0 +B_NEG_LIMIT = -400 +B_POS_LIMIT = 400 + +; speeds in mm/sec +DEFAULT_FEED_RATE = 25.4 +; don't mess with the one below +MAX_FEED_RATE = 48.0 +DEFAULT_TRAVERSE_RATE = 48.0 +; don't mess with the one below-- 2885 mm/min is max from KT manual +MAX_TRAVERSE_RATE = 48.0 + +[X_AXIS] +BIAS=0 +P=200000 +I=10000 +D=1280 +VF=0 +AF=0 +COUNTS_PER_MM=1578.4 +HOMING_METHOD=SIMPLE + +[Y_AXIS] +BIAS=0 +P=30000 +I=10000 +D=1280 +VF=0 +AF=0 +COUNTS_PER_MM=1578.4 +HOMING_METHOD = SIMPLE + +[Z_AXIS] +BIAS=0 +P=30000 +I=10000 +D=1280 +VF=0 +AF=0 +COUNTS_PER_MM=1578.4 +HOMING_METHOD = SIMPLE + +[B_AXIS] +BIAS=0 +P=30000 +I=10000 +D=1280 +VF=0 +AF=0 +COUNTS_PER_DEGREE=2000 +HOMING_METHOD = SIMPLE +JOG_SENSE=+1 + +[SPINDLE] +BIAS=0 +P=1000000 +P_LOW=1000000 +P_MED=1000000 +P_HIGH=1000000 +I=0 +D=0 +VF=0 +AF=0 +HOME_SENSE = 1 +COUNTS_PER_REV = 4096 +TOOL_CHANGE_POS = 2183 +SLEW_RATE = 1000.0 +; WAIT_FACTOR = 0.002 +WAIT_FACTOR = 0 + +[PALLET SHUTTLE] +SAFE_X = 360.0 +SAFE_Z = 225.0 +SAFE_B = 0.0 + +[TOOL CHANGE] +SAFE_Y = 135.0 +SAFE_Z = 220.0 + +; Messages +;[SERVO ERROR] +[ERROR] +1000=Unimplemented servo function +1001=Request to enable an axis while not in manual mode +1002=Axis out-of-range for enabling +1003=Request to disable an axis while not in manual mode +1004=Axis out-of-range for disabling +1005=Request to home axis while not in manual mode +1006=Atempt to home an axis not in range +1007=Attempt to jog an axis while not in manual mode +1008=Attempt to jog an axis not in range +1009=Attempt to stop a jog, while not in manual mode +1010=Axis out-of-range specified for stopping a jog +1011=Contouring command requested +1012=Request to incrementally jog an axis while not in manual mode +1013=Attempt to incrementally jog an axis while not in manual mode +1014=Request to absolutely jog an axis while not in manual mode +1015=Attempt to absolutely jog an axis not in range +1101=Axis 1 negative overtravel +1102=Axis 1 positive overtravel +1103=Axis 2 negative overtravel +1104=Axis 2 positive overtravel +1105=Axis 3 negative overtravel +1106=Axis 3 positive overtravel +1107=Axis 4 negative overtravel +1108=Axis 4 positive overtravel +1109=Axis 5 negative overtravel +1110=Axis 5 positive overtravel +1111=Axis 6 negative overtravel +1112=Axis 6 positive overtravel +1113=Axis 7 negative overtravel +1114=Axis 7 positive overtravel +1115=Axis 8 negative overtravel +1116=Axis 8 positive overtravel +1120=Can't communicate with servo controller +1121=Axis out-of-range for selecting scale factors +1122=Axis overtravel +1123=Request to move an axis out of bounds + +;[TRAJ ERROR] +1200=unimplemented trajectory function +1201=specified traverse rate is out of range +1202=specified feed rate is out of range +1203=specified feed rate override is out of range +1204=specified plane for arc move is out of range +1205=specified time for dwell is negative +1206=invalid axes specified for slaving +1207=negative ratio specified for slaving +1208=invalid mode in controller for slaving +1210=can't communicate with trajectory controller +1211=invalid internal state in trajectory controller +1212=bad units detected in trajectory controller + +;[IO ERROR] +1300 = Unimplemented IO error +1301 = Can't communicate with spindle controller +1302 = Spindle disabled +1303 = Request to prep for a tool while another tool is in the claw +1304 = Request to load or unload a tool with no tool in changer or spindle + +;[INTERP ERROR] +0= Unspecified error +1= B-axis value greater than 359.999 +2= Bad character used +3= Bad format real number +4= Bad format unsigned integer +5= Bad tool radius value with cutter radius comp +6= Cannot change origin with canned cycle +7= Cannot change origin with cutter radius comp +8= Cannot change units with cutter radius comp +9= Cannot do G1 with zero feed rate +10= Cannot do canned cycle in incremental distance mode +11= Cannot do canned cycle in inverse time feed mode +12= Cannot do canned cycle with zero feed rate +13= Cannot have concave corner with cutter radius comp +14= Cannot make arc with zero feed rate +15= Cannot perform G84 unless spindle is turning +16= Cannot put a B-axis command in a canned cycle +17= Cannot turn cutter radius comp on out of XY-plane +18= Cannot turn cutter radius comp on when already on +19= Cannot use G0 with cutter radius comp +20= Cannot use M25 in incremental distance mode +21= Cannot use XZ plane with cutter radius comp +22= Cannot use YZ plane with cutter radius comp +23= Cannot use a G code for motion with G4 +24= Cannot use a G code for motion with G98 +25= Cannot use axis commands with G4 +26= Cannot use inverse time feed with cutter radius comp +27= Command too long +28= Concave corner with cutter radius comp +29= Coordinate setting given with G80 +30= Cutter gouging with cutter radius comp +31= D word missing with cutter radius comp on +32= D word on line with no cutter comp on (G41 or G42) command +33= Dwell time missing with G4 +34= E word missing in G83 or G87 canned cycle +35= E word on line with no X, Y, or Z +36= E word used without G83 or G87 +37= F word missing with inverse time G1 move +38= F word missing with inverse time arc move +39= Feed rate must be zero to use G0 +40= File ended with no stopping command given +41= G code out of range +42= I and J words missing for arc in XY-plane +43= I and K words missing for arc in XZ-plane +44= I word given for arc in YZ-plane +45= I word on line with no X, Y, or Z +46= J and K words missing for arc in YZ-plane +47= J word given for arc in XZ-plane +48= J word on line with no X, Y, or Z +49= K word given for arc in XY-plane +50= K word on line with no X, Y, or Z +51= Line number greater than 99999 +52= M code greater than 99 +53= Multiple B words on one line +54= Multiple D words on one line +55= Multiple E word settings on one line +56= Multiple F words on one line +57= Multiple I words on one line +58= Multiple J words on one line +59= Multiple K words on one line +60= Multiple P word tool length offsets on one line +61= Multiple R words on one line +62= Multiple S word spindle speed settings on one line +63= Multiple T words on one line +64= Multiple X words on one line +65= Multiple Y words on one line +66= Multiple Z words on one line +67= Must use G0 with M25 +68= Negative F word found +69= Negative spindle speed found +70= Nested comment found +71= No digits found while reading number +72= Null missing after newline +73= Percent sign not first item on first line +74= R clearance plane unspecified in canned cycle +75= R value less than Z value in canned cycle +76= R word on line with no X, Y, or Z +77= R word used outside a canned cycle +78= Radius to end of arc differs from radius to start of arc +79= Too many G codes on line +80= Too many M codes on line +81= Tool index out of bounds +82= Tool offset index differs from current slot +83= Tool radius not less than arc radius with cutter radius comp +84= Two G codes used from same modal group +85= Two M codes used from same modal group +86= Unable to open file +87= Unclosed comment found +88= Unknown G code used +89= Unknown M code used +90= Unknown tool_id used +91= X and Y words missing for arc in XY-plane +92= X and Z words missing for arc in XZ-plane +93= X, Y, Z, and B words all missing with G0 or G1 +94= Y and Z words missing for arc in YZ-plane +95= Z value unspecified in canned cycle +96= Zero or negative E word found +200= B_turn setting not -1, 0, or 1 in utility_enhance_block +201= Code is not G0 or G1 in convert_straight +202= Code is not G0 to G3 or G80 to G89 in convert_motion +203= Code is not G17, G18, or G19 in convert_set_plane +204= Code is not G2 or G3 in arc_data +205= Code is not G2 or G3 in arc_data_comp +206= Code is not G40, G41, or G42 in convert_cutter_compensation +207= Code is not G70 or G71 in convert_length_units +208= Code is not G90 or G91 in convert_distance_mode +209= Code is not G93 or G94 in convert_feed_mode +210= Code is not G98 or G99 in convert_axis_offset +211= Code is not M0, M1, M2, M30 or M60 in convert_stop +212= Cycle code not G81 to G89 in convert_cycle +213= Plane is not XY, YZ, or XZ in convert_arc +214= Read_b should not have been called +215= Read_comment should not have been called +216= Read_d should not have been called +217= Read_delta should not have been called +218= Read_f should not have been called +219= Read_g should not have been called +220= Read_i should not have been called +221= Read_j should not have been called +222= Read_k should not have been called +223= Read_line_number should not have been called +224= Read_m should not have been called +225= Read_r should not have been called +226= Read_spindle_speed should not have been called +227= Read_tool_id should not have been called +228= Read_tool_length_offset should not have been called +229= Read_x should not have been called +230= Read_y should not have been called +231= Read_z should not have been called +232= Side fails to be right or left in convert_straight_comp1 +233= Side fails to be right or left in convert_straight_comp2 +234= Sscanf failure in read_integer_unsigned +235= Sscanf failure in read_real + +;[WMSA ERROR] +1401=request to transition to invalid mode +1402=invalid controller mode detected +1403=request to transition to invalid state +1404=invalid controller state detected +1405=request to reset estop when not estopped + +; Machine I/O Description +[INPUTROW 1] +0=Axis Overtravel (34LS1) +1=Spnd Overtemp (1TAS1) +2=Chgr Stop (104LS1) +3=Unused +4=Hyd. Level OK (1FS1) +5=Lube Level OK (2FS1) +6=Axis Overtemp (2TAS1) +7=Magazine Jog (I4PB1) +8=Tool Unclamp (25PB1) +9=Overload OL +10=Master Start (19PB1) +11=Block Stop (3T6S1) + +[INPUTROW 2] +0=Cycle Start (14PB1) +1=Cycle Stop (16PB1) +2=E-stop/Spnd Reset (17PB1) +3=Standard Grid (47PB1) +4=Edit Clear (28SS1) +5=Clear Rdy (2SPB1) +6=Clear Active (2SPB2) +7=Clear All (2SPB3) +8=Manual (6SS1) +9=Blk by Blk (6SS2) +10=Jog - (3SPB1) +11=Jog + (3SPB2) + +[INPUTROW 3] +0=Unused +1=ToolChg Pin Retracted(10PAS1) +2=Cont Overtemp (7TAS1) +3=Punch Ready (PR) +4=Edit Enter (28SS3) +5=Alarm Reset (ALRESET) +6=Spnd Stopped (2CRS1) +7=Spnd Enable (12SS1) +8=Option Stop (13SS1) +9=Coolant Enable (14SS1) +10=Punch Start (20SS1) +11=Unused + +[INPUTROW 4] +0=Chgr Housing In (2PRS1) +1=Chgr Housing Out (2PRS1) +2=Arm In (6PRS1) +3=Arm Out (5PRS1) +4=Arm @0 deg. (4PRS1) +5=Arm @180 deg. (7PRS1) +6=Magazine Auto (23PB1) +7=Shot Pin Advd. (32LS1) +8=Shot Pin Rtn.(32LS2) +9=Axis Select (24SS4) +10=Axis Select (24SS2) +11=Axis Select (24SS1) + +[INPUTROW 5] +0=KB Strobe (KBSTB) +1=Display Ready (Disprdy) +2=KB Bit 6 +3=KB Bit 5 +4=KB Bit 4 +5=KB Bit 3 +6=KB Bit 2 +7=KB Bit 1 +8=Block Delete (11551) +9=Read out PMDI (22554) +10=Read out PMDI (22552) +11=Read out PMDI (22551) + +[INPUTROW 6] +0=Program tape/mfr load (17551) +1=Program tape/mfr load (17552) +2=Program tape/mfr load (17553) +3=Punch ASCII (19551) +4=Punch Stop (20552) +5=80% Feedrate (5558) +6=Edit on (28551) +7=40% Feedrate (5554) +8=Axis Inversion (9551) +9=20% Feedrate (5552) +10=Axis Inversion (9552) +11=10% Feedrate (5551) + +[INPUTROW 7] +0=F Grid (102LS1) +1=X Grid (103LS1) +2=Tool Chg Parked (8PRSI) +3=Tool Chg @ TCP (9PRSI) +4=SPDL-SPD Hi Range (26LS1) +5=SPDL-SPD Med Range (27LS1) +6=SPDL-SPD Lo range (28LS1) +7=Y Grid Position (29LS1) +8= +9=tool reader (15LS1) +10=tool reader (14LS1) +11=tool reader (13LS1) + +[INPUTROW 8] +0=12LS1 +1=11LS1 +2=10LS1 +3=9LS1 +4=8LS1 +5=7LS1 +6=6LS1 +7=5LS1 +8=4LS1 +9=3LS1 +10=2LS1 +11=1LS1 + +[INPUTROW 9] +0=Pallet UNCLPD 40LS2 +1=No Pallet 41 LS1 +2=Shuttle 1 advanced 46 LS1 +3=Shuttle 1 Returned 46 LS2 +4=Shuttle 2 advanced 47 LS1 +5=Shuttle 2 Returned 47 LS2 +6=fPallet Shuttle Pos 48 LS1 +7=Shuttle CW 49 LS1 +8=Shuttle CCw 49 LS2 +9=fPallet CLMPD 40 LS1 +10=Tape Reader Alt 1552 +11=SH Enable 15551 + +[INPUTROW 10] +0=Socket Counter 1 PAS1 +1=Magazine CLPD 21 LS1 +2=Magazine Unclpd +3=Pallet ready 26 PB1 +4=Pallet Load 27 PB1 +5=Pallet Unload 27 PB2 +6=Shuttle Rotate 28 PB1 +7=PAL Auto uncl 26551 +8=Tape reader Lower 1551 +9=Tape reader Upper 1553 +10=TBL SH Pos N 39 LS1 + + +[INPUTROW 11] +[INPUTROW 12] + + +[OUTPUTROW 1] +0=Mag CW 1 SOL +1=Mag CCW 2 SOL +2=Mag Unclamp 3 SOL +3= +4= +5=ARM Out to tool Out of smmm 6 SOL +6=Mag Lube 67 SOL +7=Rotate ARM 180 8 SOL +8=Tool Chgr Press on 9 SOL +9= +10=ARM Advance to SPDL 68 SOL +11=Shot Pin Retract 69 SOL + + +[OUTPUTROW 2] +0=Shot Pin Advance 11 SOL +1=Collet Unclamp 12 SOL +2=SPDL Hi SPD 13 SOL +3=SPDL Med SPD 14 SOL +4=SPDL Air 15 SOL +5=Mist Coolant Air 16/17 SOL +6=Table Clamp 45 SOL +7=Rotate to SPDL Pos 4 SOL +8=Pallet Unclmap 34 SOL +9=Y Lube 35 SOL +10=Z Lube 36 SOL +11=X Lube 37 SOL + +[OUTPUTROW 3] +0=Cycle Start 9 CR +1= +2=E-Stop Reset 3 CR +3=Hydrau Pump 2M +4=Flood Coolant 3M +5=SPDL Enable 1 CRS +6= +7= +8= +9=Standard Grid 1 LT +10=Metric Input 11 LT +11=SPDL Enabled 12 LT + +[OUTPUTROW 4] +0=VISC +1=CLR +2=Write +3=CP +4=CC48 +5=CC47 +6=CD CHG +7=CD CH5 +8=CD CH4 +9=CD CH3 +10=CD CH2 +11=CD CH1 + +[OUTPUTROW 5] +0=PUMP 101 SOL +1=PULSE 102 SOL +2=MIST 103 SOL +3=UNAEG 104 SOL +4=Coolant to Ne.... 105 SOL +5=Coolant to Tool 106 SOL +6= +7= +8= +9= +10 +11= + +[OUTPUTROW 6] +0= +1= +2= +3=Punch +4=CH8 +5=CH7 +6=CH6 +7=CH5 +8=CH4 +9=CH3 +10=CH2 +11=CH1 + +[OUTPUTROW 7] +0=Upper Reader LT +1=Lower Reader LT +2=Pallet Ready 26 PB Lite? +3=SH1 Advance 22 SOL +4=SH1 Return 23 SOL +5=SH2 Advance 24 SOL +6=SH2 Return 25 SOL +7=Shuttle CW 28 SOL +8=Shuttle CCW 29 SOL +9=Pallet Air 30 SOL +10= +11=SH Power 8CR + +[NML] +1001 = NML_SERVO_WM +1003 = NML_TRAJ_WM +1005 = NML_IO_WM +1007 = NML_INTERP_WM +1009 = NML_WMSA_WM +1010 = NML_HME_WM + +101 = NML_SERVO_INIT +103 = NML_SERVO_EXIT +105 = NML_SERVO_SET_CYCLE +107 = NML_SERVO_SET_GAINS +109 = NML_SERVO_SET_OFFSET +111 = NML_SERVO_ENABLE +113 = NML_SERVO_DISABLE +115 = NML_SERVO_HOME +117 = NML_SERVO_JOG +119 = NML_SERVO_JOG_STOP +121 = NML_SERVO_POS +123 = NML_SERVO_INCR_JOG +124 = NML_SERVO_ABS_JOG +125 = NML_SERVO_SET_SCALE +127 = NML_SERVO_HALT + +201 = NML_TRAJ_INIT +203 = NML_TRAJ_EXIT +205 = NML_TRAJ_SET_CYCLE +207 = NML_TRAJ_SET_NEIGHBORHOOD +209 = NML_TRAJ_SET_OFFSET +211 = NML_TRAJ_SET_TRAVERSE_RATE +213 = NML_TRAJ_SET_FEED_RATE +214 = NML_TRAJ_SET_FEED_OVERRIDE +215 = NML_TRAJ_STRAIGHT_TRAVERSE +217 = NML_TRAJ_STRAIGHT_FEED +219 = NML_TRAJ_ARC_FEED +221 = NML_TRAJ_PAUSE +223 = NML_TRAJ_RESUME +230 = NML_TRAJ_SET_ORIGIN +231 = NML_TRAJ_USE_ORIGIN +251 = NML_TRAJ_USE_TOOL_LENGTH_OFFSET +260 = NML_TRAJ_START_SEQUENCE +261 = NML_TRAJ_STOP_SEQUENCE +263 = NML_TRAJ_DWELL +264 = NML_TRAJ_SLAVE +265 = NML_TRAJ_HALT + +321 = NML_IO_INIT +323 = NML_IO_EXIT +303 = NML_IO_SPINDLE_ON +305 = NML_IO_SPINDLE_OFF +307 = NML_IO_SPINDLE_RETRACT +308 = NML_IO_SPINDLE_ROTATE +309 = NML_IO_MIST_ON +311 = NML_IO_MIST_OFF +313 = NML_IO_FLOOD_ON +315 = NML_IO_FLOOD_OFF +317 = NML_IO_SET_SPEED_OVERRIDE +320 = NML_IO_READ_TOOL_TABLE +324 = NML_IO_PREP_FOR_TOOL +325 = NML_IO_LOAD_TOOL +326 = NML_IO_UNLOAD_TOOL +327 = NML_IO_SHUTTLE_PALLETS +330 = NML_IO_EXECUTE_CYCLE +331 = NML_IO_PENDANT_MODE +332 = NML_IO_COOLANT_MODE +333 = NML_IO_SET_POCKET_NUMBER +334 = NML_IO_SHUTTLE_MODE +335 = NML_IO_PALLET_MODE +340 = NML_IO_MODE +341 = NML_IO_STATE +343 = NML_IO_CYCLE_START +344 = NML_IO_CYCLE_STOP +345 = NML_IO_PREP_FOR_GEAR_CHANGE +346 = NML_IO_CHANGE_GEARS +347 = NML_IO_ORIENT_SPINDLE +348 = NML_IO_HALT +349 = NML_IO_USE_SPINDLE_FORCE_TYPE +350 = NML_IO_USE_NO_SPINDLE_FORCE_TYPE +351 = NML_IO_ARC_SPINDLE_FORCE_TYPE +352 = NML_IO_SET_TOOL_NUMBER_TYPE +353 = NML_IO_SET_PALLET_NUMBER_TYPE + +401 = NML_INTERP_INIT +403 = NML_INTERP_EXIT +405 = NML_INTERP_OPEN +407 = NML_INTERP_READ +409 = NML_INTERP_EXECUTE +410 = NML_INTERP_RUN +411 = NML_INTERP_PAUSE +413 = NML_INTERP_RESUME +415 = NML_INTERP_HALT +417 = NML_INTERP_CLOSE +419 = NML_INTERP_SINGLE_BLOCK +421 = NML_INTERP_BLOCK_DELETE +422 = NML_INTERP_STEP +425 = NML_INTERP_OPTIONAL_STOP + +501 = NML_WMSA_INIT +503 = NML_WMSA_EXIT +505 = NML_WMSA_MODE +507 = NML_WMSA_STATE +508 = NML_WMSA_HALT + +600 = NML_SET_PARAMETER +601 = NML_GENERIC + + diff --git a/doc/emc_links.html b/doc/emc_links.html new file mode 100644 index 0000000..b986a1d --- /dev/null +++ b/doc/emc_links.html @@ -0,0 +1,45 @@ + + + + +EMC (Enhanced Machine Controller) links + + + + +

    EMC (Enhanced Machine Controller) links

    +

    I noticed a number of visitors to the RCS library web page were looking for +a link to EMC. EMC was one of the first major applications to use the RCS library. Here is a list that I hope will be helpful.

    + +
    +
    http://www.LinuxCNC.org
    +
    LinuxCNC.org: +Home for users of the Enhanced Machine Controller +a free and powerful PC-based CNC machinery Controller
    +
    http://www.isd.mel.nist.gov/projects/_emc/
    +
    Old NIST EMC web page. No longer maintained. (Notice the underscore in "/_emc".)
    +
    http://sourceforge.net/projects/emc
    +
    SourceForge project page for EMC with CVS, mailing lists some downloads etc.
    +
    http://www.sherline.com/emc
    +
    An EMC download mirror.
    +
    ftp://ftp.isd.mel.nist.gov/pub/
    +
    NIST ISD Public FTP site which includes some old EMC stuff.
    +
    Back to main index
    +
    +
    + +
    + +
    +Commercial Product Disclaimer +
    +
    +DISCLAIMER: +Certain commercial equipment, instruments, or materials are identified in this paper to specify the experimental procedure adequately. Such identification is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that the materials or equipment identified are necessarily the best available for the purpose. +
    +
    +
    + + + diff --git a/doc/exCmd.hh b/doc/exCmd.hh new file mode 100644 index 0000000..e0865c4 --- /dev/null +++ b/doc/exCmd.hh @@ -0,0 +1,79 @@ + +// Prevent Multiple Inclusion +#ifndef EXCMD_HH +#define EXCMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +enum exCmdMsgType { + EX_CONFIG_TYPE=6001, + EX_GOTO_POINT_TYPE, + EX_HALT_TYPE, + EX_INIT_TYPE +}; + +// Define the NML Message Classes + +// Command Classes +class EX_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + EX_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class EX_GOTO_POINT : public RCS_CMD_MSG +{ +public: + + //Constructor + EX_GOTO_POINT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN point; + +}; + +class EX_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + EX_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class EX_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + EX_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int exCmd_format(NMLTYPE, void *, CMS *); + +#endif // EXCMD_HH diff --git a/doc/exCmd_n.cc b/doc/exCmd_n.cc new file mode 100644 index 0000000..8eecead --- /dev/null +++ b/doc/exCmd_n.cc @@ -0,0 +1,189 @@ +/* +* New C++ File starts here. +* This file should be named exCmd.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=exCmd.hh +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.01.26_1339 Compiled on Fri Feb 6 08:31:09 EST 2009 for the java platform. +* $Id: CodeGenCommon.java 1341 2009-02-05 21:22:54Z shackle $ +* +* .gen script : +* 0:load exCmd.hh +* 1:clear +* 2:select_from_file exCmd.hh +* 3:generate C++ protos>exCmd_n_codegen_protos.hh +* 4:generate C++ format>exCmd_n.cc +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "exCmd.hh" + +// Include externally supplied prototypes +#include "exCmd_n_codegen_protos.hh" + + + +#ifndef EXCMD_NAME_LIST_LENGTH +#define EXCMD_NAME_LIST_LENGTH 5 +#endif + +const NMLTYPE exCmd_id_list[EXCMD_NAME_LIST_LENGTH]= { + EX_CONFIG_TYPE, /* 0,6001 */ + EX_GOTO_POINT_TYPE, /* 1,6002 */ + EX_HALT_TYPE, /* 2,6003 */ + EX_INIT_TYPE, /* 3,6004 */ + -1}; +const size_t exCmd_size_list[EXCMD_NAME_LIST_LENGTH]= { + sizeof(EX_CONFIG), + sizeof(EX_GOTO_POINT), + sizeof(EX_HALT), + sizeof(EX_INIT), + 0}; + + +// Enumerated Type Constants + +/* +Estimated_size EX_CONFIG 24 +Estimated_size EX_GOTO_POINT 48 +Estimated_size EX_HALT 24 +Estimated_size EX_INIT 24 +Estimated_size MAXIMUM 48 +*/ +/* +* NML/CMS Format function : exCmd_format +*/ +int exCmd_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"exCmd", + (cms_symbol_lookup_function_t) 0, + (const char **) 0, + exCmd_id_list,exCmd_size_list, + EXCMD_NAME_LIST_LENGTH, + 0); + + switch(type) + { + case EX_CONFIG_TYPE: + ((EX_CONFIG *) buffer)->update(cms); + break; + case EX_GOTO_POINT_TYPE: + ((EX_GOTO_POINT *) buffer)->update(cms); + break; + case EX_HALT_TYPE: + ((EX_HALT *) buffer)->update(cms); + break; + case EX_INIT_TYPE: + ((EX_INIT *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + +/* +* NML/CMS Update function for EX_CONFIG +* from exCmd.hh:0 +*/ +void EX_CONFIG::update(CMS *cms) +{ + + cms->beginClass("EX_CONFIG","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("EX_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for EX_GOTO_POINT +* from exCmd.hh:31 +*/ +void EX_GOTO_POINT::update(CMS *cms) +{ + + cms->beginClass("EX_GOTO_POINT","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + cms->update_with_name("point",point); + + cms->endClass("EX_GOTO_POINT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for EX_HALT +* from exCmd.hh:46 +*/ +void EX_HALT::update(CMS *cms) +{ + + cms->beginClass("EX_HALT","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("EX_HALT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for EX_INIT +* from exCmd.hh:60 +*/ +void EX_INIT::update(CMS *cms) +{ + + cms->beginClass("EX_INIT","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("EX_INIT","RCS_CMD_MSG"); + +} + +/* +* Constructor for EX_CONFIG +* from exCmd.hh:0 +*/ +EX_CONFIG::EX_CONFIG() + : RCS_CMD_MSG(EX_CONFIG_TYPE,sizeof(EX_CONFIG)) +{ + +} + +/* +* Constructor for EX_GOTO_POINT +* from exCmd.hh:31 +*/ +EX_GOTO_POINT::EX_GOTO_POINT() + : RCS_CMD_MSG(EX_GOTO_POINT_TYPE,sizeof(EX_GOTO_POINT)) +{ + +} + +/* +* Constructor for EX_HALT +* from exCmd.hh:46 +*/ +EX_HALT::EX_HALT() + : RCS_CMD_MSG(EX_HALT_TYPE,sizeof(EX_HALT)) +{ + +} + +/* +* Constructor for EX_INIT +* from exCmd.hh:60 +*/ +EX_INIT::EX_INIT() + : RCS_CMD_MSG(EX_INIT_TYPE,sizeof(EX_INIT)) +{ + +} + diff --git a/doc/exCmd_n_codegen_protos.hh b/doc/exCmd_n_codegen_protos.hh new file mode 100644 index 0000000..a621a24 --- /dev/null +++ b/doc/exCmd_n_codegen_protos.hh @@ -0,0 +1,47 @@ +/* +* New C++ Header File starts here. +* This file should be named exCmd_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=exCmd.hh +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.01.26_1339 Compiled on Fri Feb 6 08:31:09 EST 2009 for the java platform. +* $Id: CodeGenCommon.java 1341 2009-02-05 21:22:54Z shackle $ +* +* .gen script : +* 0:load exCmd.hh +* 1:clear +* 2:select_from_file exCmd.hh +* 3:generate C++ protos>exCmd_n_codegen_protos.hh +* +*/ + +#ifndef exCmd_n_codegen_protos_hh_included +#define exCmd_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "exCmd.hh" + +// Forward Function Prototypes + + +#ifndef MAX_EXCMD_NAME_LENGTH +#define MAX_EXCMD_NAME_LENGTH 14 +#endif +#ifndef EXCMD_NAME_LIST_LENGTH +#define EXCMD_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE exCmd_id_list[EXCMD_NAME_LIST_LENGTH]; +extern const size_t exCmd_size_list[EXCMD_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int exCmd_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif exCmd_n_codegen_protos_hh_included */ + diff --git a/doc/exStat.hh b/doc/exStat.hh new file mode 100644 index 0000000..2b6fee9 --- /dev/null +++ b/doc/exStat.hh @@ -0,0 +1,35 @@ +// Prevent Multiple Inclusion +#ifndef EXSTAT_HH +#define EXSTAT_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +enum exStatMsgType { + EX_STATUS_TYPE=6000 +}; + +// Define the NML Message Classes + +// Status Class +class EX_STATUS : public RCS_STAT_MSG +{ +public: + + // Normal Constructor + EX_STATUS(); + + // Constructor used by derived classes + EX_STATUS(NMLTYPE t, size_t s) : RCS_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN position; + +}; + +extern int exStat_format(NMLTYPE, void *, CMS *); + +#endif // EXSTAT_HH diff --git a/doc/exStat_n.cc b/doc/exStat_n.cc new file mode 100644 index 0000000..42ffaf4 --- /dev/null +++ b/doc/exStat_n.cc @@ -0,0 +1,97 @@ +/* +* New C++ File starts here. +* This file should be named exStat.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=exStat.hh +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.01.26_1339 Compiled on Fri Feb 6 08:31:09 EST 2009 for the java platform. +* $Id: CodeGenCommon.java 1341 2009-02-05 21:22:54Z shackle $ +* +* .gen script : +* 0:load exStat.hh +* 1:clear +* 2:select_from_file exStat.hh +* 3:generate C++ protos>exStat_n_codegen_protos.hh +* 4:generate C++ format>exStat_n.cc +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "exStat.hh" + +// Include externally supplied prototypes +#include "exStat_n_codegen_protos.hh" + + + +#ifndef EXSTAT_NAME_LIST_LENGTH +#define EXSTAT_NAME_LIST_LENGTH 2 +#endif + +const NMLTYPE exStat_id_list[EXSTAT_NAME_LIST_LENGTH]= { + EX_STATUS_TYPE, /* 0,6000 */ + -1}; +const size_t exStat_size_list[EXSTAT_NAME_LIST_LENGTH]= { + sizeof(EX_STATUS), + 0}; + + +// Enumerated Type Constants + +/* +Estimated_size EX_STATUS 152 +Estimated_size MAXIMUM 152 +*/ +/* +* NML/CMS Format function : exStat_format +*/ +int exStat_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"exStat", + (cms_symbol_lookup_function_t) 0, + (const char **) 0, + exStat_id_list,exStat_size_list, + EXSTAT_NAME_LIST_LENGTH, + 0); + + switch(type) + { + case EX_STATUS_TYPE: + ((EX_STATUS *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + +/* +* NML/CMS Update function for EX_STATUS +* from exStat.hh:0 +*/ +void EX_STATUS::update(CMS *cms) +{ + + cms->beginClass("EX_STATUS","RCS_STAT_MSG"); + + RCS_STAT_MSG::update_stat_msg_base(cms); + cms->update_with_name("position",position); + + cms->endClass("EX_STATUS","RCS_STAT_MSG"); + +} + +/* +* Constructor for EX_STATUS +* from exStat.hh:0 +*/ +EX_STATUS::EX_STATUS() + : RCS_STAT_MSG(EX_STATUS_TYPE,sizeof(EX_STATUS)) +{ + +} + diff --git a/doc/exStat_n_codegen_protos.hh b/doc/exStat_n_codegen_protos.hh new file mode 100644 index 0000000..ae32cf9 --- /dev/null +++ b/doc/exStat_n_codegen_protos.hh @@ -0,0 +1,47 @@ +/* +* New C++ Header File starts here. +* This file should be named exStat_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=exStat.hh +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.01.26_1339 Compiled on Fri Feb 6 08:31:09 EST 2009 for the java platform. +* $Id: CodeGenCommon.java 1341 2009-02-05 21:22:54Z shackle $ +* +* .gen script : +* 0:load exStat.hh +* 1:clear +* 2:select_from_file exStat.hh +* 3:generate C++ protos>exStat_n_codegen_protos.hh +* +*/ + +#ifndef exStat_n_codegen_protos_hh_included +#define exStat_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "exStat.hh" + +// Forward Function Prototypes + + +#ifndef MAX_EXSTAT_NAME_LENGTH +#define MAX_EXSTAT_NAME_LENGTH 10 +#endif +#ifndef EXSTAT_NAME_LIST_LENGTH +#define EXSTAT_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE exStat_id_list[EXSTAT_NAME_LIST_LENGTH]; +extern const size_t exStat_size_list[EXSTAT_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int exStat_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif exStat_n_codegen_protos_hh_included */ + diff --git a/doc/ex_cfg.nml b/doc/ex_cfg.nml new file mode 100644 index 0000000..d019092 --- /dev/null +++ b/doc/ex_cfg.nml @@ -0,0 +1,31 @@ +# ex_cfg.nml + +# buffers: +# name type host size neut RPC# buffer# max_proc [type-spec] +# GLOBMEM host size neut RPC# buffer# max_proc phys_addr +# SHMEM host size neut RPC# buffer# max_proc key +B ex_buf1 SHMEM localhost 512 0 0 1 * 101 TCP=5001 format_name=ex packed +B ex_buf2 SHMEM localhost 512 0 0 2 * 102 TCP=5001 format_name=ex packed +B ex_buf3 GLOBMEM vx40 512 0 0 3 * vme_addr=0x4e00000 format_name=ex packed + + +# processes: +# name buffer type host ops server timeout master c_num +P ex1_proc ex_buf1 LOCAL localhost W 0 INF 1 0 +P ex2_proc ex_buf1 LOCAL localhost W 0 INF 1 1 +P ex2_proc ex_buf2 LOCAL localhost W 0 INF 1 1 +P ex3_proc ex_buf1 LOCAL localhost R 0 INF 1 2 +P ex4_proc ex_buf1 LOCAL localhost W 0 INF 0 3 +P ex5_proc ex_buf1 PHANTOM localhost W 0 0.5 1 4 +P ex6_proc ex_buf1 LOCAL localhost RW 0 0.5 1 5 +P ex8_proc ex_buf1 REMOTE rosie RW 0 10.0 0 6 +P ex8_svr ex_buf1 LOCAL localhost RW 1 5.0 1 8 +P ex8_svr ex_buf3 LOCAL localhost RW 1 5.0 1 8 +P ex9_svr ex_buf1 LOCAL localhost RW 1 5.0 1 9 +P ex9_svr ex_buf2 LOCAL localhost RW 1 5.0 1 9 +P ex10_svr ex_buf1 LOCAL localhost RW 2 5.0 1 10 +P ex10_svr ex_buf2 LOCAL localhost RW 2 5.0 1 10 + +# special default process line that is matched by anybody looking for a process +# line and is not explicitly listed above. +P default default AUTO anyhost RW 0 5.0 0 11 diff --git a/doc/ex_cfgD.nml b/doc/ex_cfgD.nml new file mode 100644 index 0000000..8c0b475 --- /dev/null +++ b/doc/ex_cfgD.nml @@ -0,0 +1,28 @@ +# ex_cfg.nml + +# buffers: +# name type host size neut RPC# buffer# max_proc [type-spec] +# GLOBMEM host size neut RPC# buffer# max_proc phys_addr +# SHMEM host size neut RPC# buffer# max_proc key +B ex_buf1 SHMEM localhost 512 0 0x20001050 1 11 101 UDP=5001 ascii +B ex_buf2 SHMEM localhost 512 0 0x20001050 2 11 102 UDP=5001 ascii +B ex_buf3 SHMEM localhost 512 0 0x20001051 2 11 102 UDP=5002 ascii +B ex_buf3 GLOBMEM vx40 512 0 0x20001060 3 11 vme_addr=4e00000 + + +# processes: +# name buffer type host ops server timeout master c_num +P ex1_proc ex_buf1 LOCAL localhost W 0 INF 1 0 +P ex2_proc ex_buf1 LOCAL localhost W 0 INF 1 1 +P ex2_proc ex_buf2 LOCAL localhost W 0 INF 1 1 +P ex3_proc ex_buf1 LOCAL localhost R 0 INF 1 2 +P ex4_proc ex_buf1 LOCAL localhost W 0 INF 0 3 +P ex5_proc ex_buf1 PHANTOM localhost W 0 0.5 1 4 +P ex6_proc ex_buf1 LOCAL localhost W 0 0.5 1 5 +P ex8_proc ex_buf1 REMOTE rosie RW 0 10.0 0 6 +P ex8_svr ex_buf1 LOCAL localhost RW 1 5.0 1 8 +P ex8_svr ex_buf3 LOCAL localhost RW 1 5.0 1 8 +P ex9_svr ex_buf1 LOCAL localhost RW 1 5.0 1 9 +P ex9_svr ex_buf2 LOCAL localhost RW 1 5.0 1 9 +P ex10_svr ex_buf1 LOCAL localhost RW 1 5.0 1 10 +P ex10_svr ex_buf2 LOCAL localhost RW 1 5.0 1 10 diff --git a/doc/ex_msg_file.EXAMPLE_MSG_TYPE b/doc/ex_msg_file.EXAMPLE_MSG_TYPE new file mode 100644 index 0000000..e43bd9f Binary files /dev/null and b/doc/ex_msg_file.EXAMPLE_MSG_TYPE differ diff --git a/doc/ex_msg_file.xml b/doc/ex_msg_file.xml new file mode 100644 index 0000000..9f88d49 --- /dev/null +++ b/doc/ex_msg_file.xml @@ -0,0 +1,2 @@ + +0.0123.456001990990000
      0
    0
    \ No newline at end of file diff --git a/doc/ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE b/doc/ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE new file mode 100644 index 0000000..9b4ee60 Binary files /dev/null and b/doc/ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE differ diff --git a/doc/ex_packed_to_xml.cc b/doc/ex_packed_to_xml.cc new file mode 100644 index 0000000..e35b8cc --- /dev/null +++ b/doc/ex_packed_to_xml.cc @@ -0,0 +1,18 @@ +#include "nml_ex1.hh" + +int main(int argc, const char **argv) +{ + if(argc != 3) + { + rcs_print_error("run with packed_file xml_file\n"); + rcs_exit(1); + } + + NML nml(ex_format,0,0,0); + + nml.write_encoded_data_to_file( + nml.read_encoded_data_from_file(argv[1], + CMS_PACKED_ENCODING), + CMS_XML_ENCODING, + argv[2]); +} diff --git a/doc/ex_set.html b/doc/ex_set.html new file mode 100644 index 0000000..1687161 --- /dev/null +++ b/doc/ex_set.html @@ -0,0 +1,35 @@ + + +RCS Library Example Set Instructions + + +

    Instructions for getting and using the RCS Library Example Set

    +

    The examples in the other RCS Library documents are available together in one set, which also includes makefiles and a directory structure for multi-platform development.

    +
      +
    1. Get examples.tar.Z(35k) or examples.zip(25k)
    2. +
        +
      • For examples.tar.Z:
      • +
          +
        1. Uncompresss the file by using the "uncompress" program.
        2. +
        3. Extract all of the files from the tar file by using "tar -xvf examples.tar"
        4. +
        +
      • For examples.zip:
      • +
        1. Uncompress and extract the files with "pkunzip".
        2. +
        +
      +
    3. In the newly created src directory edit Makefile.include so that EXAMPLE_APP_DIRECTORY is the directory where you extracted files from examples.tar. If necessary, change PROGTOOLS_DIRECTORY to point to the directory where the RCS programmer's tools have been installed.
    4. +
    5. Run "gnumake PLAT=???" from the src directory with ??? replaced by one of the following: sunos4, sunos5, vxworks5.1, lynxosPC or lynxosVME.
    6. +
    7. Run the programs created in the bin directory of the appropriate plat sub-directory after reading the on-line documentation to determine what each example is supposed to do.
    8. +
    +
    +

    Last Modified: 11/18/96

    + +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + + diff --git a/doc/ex_v2_msg_file.EXAMPLE_MSG_TYPE b/doc/ex_v2_msg_file.EXAMPLE_MSG_TYPE new file mode 100644 index 0000000..c0609c5 Binary files /dev/null and b/doc/ex_v2_msg_file.EXAMPLE_MSG_TYPE differ diff --git a/doc/ex_v2_xml_to_packed.cc b/doc/ex_v2_xml_to_packed.cc new file mode 100644 index 0000000..d274413 --- /dev/null +++ b/doc/ex_v2_xml_to_packed.cc @@ -0,0 +1,18 @@ +#include "nml_ex1_v2.hh" + +int main(int argc, const char **argv) +{ + if(argc != 3) + { + rcs_print_error("run with xml_file packed_file\n"); + rcs_exit(1); + } + + NML nml(ex_format,0,0,0); + + nml.write_encoded_data_to_file( + nml.read_encoded_data_from_file(argv[1], + CMS_XML_ENCODING), + CMS_PACKED_ENCODING, + argv[2]); +} diff --git a/doc/examine_logged_data.cc b/doc/examine_logged_data.cc new file mode 100644 index 0000000..9801d4b --- /dev/null +++ b/doc/examine_logged_data.cc @@ -0,0 +1,25 @@ + +#include "nml_ex1.hh" + +int main(int argc, const char **argv) +{ + if(argc<2) + { + rcs_print_error("Need filename argument.\n"); + rcs_exit(1); + } + + NML nml(ex_format, 0,0,0); + EXAMPLE_MSG *example_msg_ptr = ( EXAMPLE_MSG *) + nml.read_encoded_data_from_file(argv[1], + CMS_PACKED_ENCODING); + + rcs_print(" %s:. \n"); + rcs_print(" The value of its members are:\n "); + rcs_print(" f=%f, c=%c, i=%d\n ", + example_msg_ptr->f, + example_msg_ptr->c, + example_msg_ptr->i); +} + +x diff --git a/doc/exampleMsgDict.java b/doc/exampleMsgDict.java new file mode 100644 index 0000000..bff4a75 --- /dev/null +++ b/doc/exampleMsgDict.java @@ -0,0 +1,106 @@ +/* +* New Java File starts here. +* This file should be named exampleMsgDict.java +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=nml_ex1.hh -o exampleMsgDict.java +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.06.05_1506:1507 Compiled on Mon Jun 8 09:24:56 EDT 2009 for the java platform. +* $Id: CodeGenCommon.java 1514 2009-06-12 20:09:37Z shackle $ +* +* .gen script : +* 0:load nml_ex1.hh +* 1:clear +* 2:select_from_file nml_ex1.hh +* 3:generate Java dict>exampleMsgDict.java +* 4:generate Java classes >* +* 5:exit +* +*/ + +// Import NML classes and interfaces +import rcs.nml.*; + +import java.util.Hashtable; +/* +* Class definition for exampleMsgDict +* Automatically generated by NML CodeGen Java Applet. +*/ +public class exampleMsgDict implements NMLMessageDictionary +{ + + // Define an object of every message class. + private EXAMPLE_MSG EXAMPLE_MSG_object = null; + + // ID Type Constants + public static final int EXAMPLE_MSG_TYPE = 101; + + // Sizes useful for C++ compat and preallocating byte storage. + //(not used for normal NML reads/writes). + public long getEstimatedSize(final int _type) + { + switch(_type) + { + case EXAMPLE_MSG_TYPE: /*101*/ + return 232; + default: + break; + } + return 232; /* maximum */ + } + + public long getMaxEstimatedSize() { + return 232; + } + + + + //Define an NML_ENUM_INFO object for the type ID's + NML_ENUM_INFO nml_enum_info_for_type_names =null; + + + //Create a constructor to setup the NML_ENUM_INFO object. + public exampleMsgDict() + { + nml_enum_info_for_type_names= new NML_ENUM_INFO(); + nml_enum_info_for_type_names.name="exampleMsgDict"; + Hashtable h1 = new Hashtable(); + Hashtable h2 = new Hashtable(); + Integer I = null; + String S = null; + I=new Integer(EXAMPLE_MSG_TYPE); + S="EXAMPLE_MSG"; + h1.put(I,S); h2.put(S,I); + nml_enum_info_for_type_names.int_to_string_hash=h1; + nml_enum_info_for_type_names.string_to_int_hash=h2; + } + + + + // Miscellaneous Pre-Defined Values + + // Enumerated Type Constants + + + // NML Format Function + public int formatMsg(NMLFormatConverter nml_fc) + { + int return_val=0; + nml_fc.check_type_info(nml_enum_info_for_type_names); + + switch(nml_fc.msg_type) + { + case EXAMPLE_MSG_TYPE: /*101*/ + if(null == EXAMPLE_MSG_object) { + EXAMPLE_MSG_object = new EXAMPLE_MSG(); + } + nml_fc.msg_to_update = EXAMPLE_MSG_object; + EXAMPLE_MSG_object.update(nml_fc); + break; + + default: + return_val=-1; + break; + } + return(return_val); + } + +} diff --git a/doc/fig1.gif b/doc/fig1.gif new file mode 100644 index 0000000..b9a5d38 Binary files /dev/null and b/doc/fig1.gif differ diff --git a/doc/foldcl.gif b/doc/foldcl.gif new file mode 100644 index 0000000..2699793 Binary files /dev/null and b/doc/foldcl.gif differ diff --git a/doc/folder03.gif b/doc/folder03.gif new file mode 100644 index 0000000..1a8f5c6 Binary files /dev/null and b/doc/folder03.gif differ diff --git a/doc/folder05.gif b/doc/folder05.gif new file mode 100644 index 0000000..41de52a Binary files /dev/null and b/doc/folder05.gif differ diff --git a/doc/foldercl.gif b/doc/foldercl.gif new file mode 100644 index 0000000..5362aad Binary files /dev/null and b/doc/foldercl.gif differ diff --git a/doc/folderop.gif b/doc/folderop.gif new file mode 100644 index 0000000..75e5483 Binary files /dev/null and b/doc/folderop.gif differ diff --git a/doc/foldop.gif b/doc/foldop.gif new file mode 100644 index 0000000..7c3d48c Binary files /dev/null and b/doc/foldop.gif differ diff --git a/doc/for_option_1.c b/doc/for_option_1.c new file mode 100644 index 0000000..6bd6677 --- /dev/null +++ b/doc/for_option_1.c @@ -0,0 +1,266 @@ +From szabo@cme.nist.gov Mon Aug 8 08:27:59 1994 +Return-Path: +Received: from cme.nist.gov (quickmail.cme.nist.gov) by stella.cme.nist.gov (4.1/SMI-3.2-del.7) + id AA13260; Mon, 8 Aug 94 08:27:55 EDT +Message-Id: <9408081227.AA13260@stella.cme.nist.gov> +Date: 8 Aug 1994 08:27:32 -0500 +From: "Sandor Szabo" +Subject: Re: recent controller node i +To: huang@cme.nist.gov +Cc: legowik@cme.nist.gov, "John Michaloski" , + proctor@cme.nist.gov, "Will Shackleford" +Content-Length: 11456 +X-Lines: 250 +Status: RO + + Reply to: RE>recent controller node issues +I believe issue 1 is somewhat more involved. What we had discussed is whether +a single OIfunction within a Node can handle all OI requirements for any type +of planner. A problem in defining the OIfunction is that OI requirements vary +and can be quite complex. Here is a partial list of OI interactions: + +1) noncritical data display - data is displayed to the operator in a +continuous fashion at some specific location on a screen. The data may be +sampled at any time and the currently displayed data may be overwritten without +concern. The operator may select what data is displayed. An example is the +current joint angles or tool frame of a robot. + +2) critical data display - data is displayed at a screen but it is important +that it not be lost and that the operator see it. This might be state +information that is changing relatively fast. The operator does not have the +ability to select whether to display or not (this might cause the operator to +miss important info). The applications programmer is responsible for ensuring +the data is displayed appropriately. An example is a lost message (maybe due +to communications failure). + +3) operator interaction - the operator needs to interact with the control +system in a tightly coupled fashion. Specific prompts are displayed to the +operator (lights, messages, warning buzzers, etc.) and the response dictates +how the controller will proceed. An example might be designing and +constructing a bridge from a CAD model. An ingenious company has developed an +off-line system that allows designer to design a bridge and develop plans for +how the bridge is constructed. During construction a planner helps the +construction crew build the bridge based upon the plans created by the bridge +designers. Real world conditions may require the plan be modified. The +planner interacts with the site manager and allows various changes in the +field. Some changes, that don't exceed kinematic or dynamic constraints, are +allowed and the manager is told to continue erecting the bridge. Other changes +require that the planner halt construction until the bridge designers are +consulted. + +What is the model for implementing these interactions? Where does the code go? + What interfaces and libraries are used to simplify coding? Who is responsible +for developing the code? How are the impacts of changes to the system +minimized? + +One of the goals of the consolidation project (and the Consolidated Robot +Controller, CRC) was to build a programming environment that allowed an +application programmer to select planners (or plans) from a library based upon +the application. Each planner might have it's own OI requirements (i.e., a +device and planner specific code to interact with the device) which are +isolated in plannerOi routines. The CRC generic node template has the +responsibility to call the planner when the appropriate command was received. +An example is the joystick planner for the Consolidate Robot Controller. The +call to the joystickPlanner consists of: + +void + joyPlanner() +{ + /* see if planner needs to initialized */ + if( !joyInitialized ) + { + joyInit(); + joyInitialized = TRUE; + } + + if( primNewCommand ) + joyNewCmd(); + + joyInterpCmd(); /* interpret key commands */ + joyDecelerate(); /* decelerate inactive axes */ + joyCalcNewJoints(); /* calculate new position */ + joyUpdatePanel(joyUpdatePtr, + joyUpdateCnt, + &joyUpdateIndex); /* update the current control panel */ +} + +Code that is specific to the OI is in joyInterpCmd() (handles requests such as +selecting coordinate frame, modify speed, etc. and puts it into the format +required by the planner) and joyUpdatePanel() (determines how the data is +displayed on the terminal). The routines joyDecelerate() and +joyCalcNewJoints() are essentially the plans that shape the robot trajectory +based on inputs (called key commands) from the operator terminal device. The +joyDecelerate routine is interesting since it reflects how the plan must be +modified based on the characteristics of the OI, in this case, if no command is +received within some period, it is assumed that the operator has released the +joystick (stopped sending keys) and that the robot should slow down along the +current specified trajectory (different devices may handle how a joystick is +released in different manners). + +Different people may implement this functionality in different ways. Our +approach reflects two design considerations: +1) We want robot behavior to be concentrated in the planning and execution +modules. +2) Where behavior is dependent on OI interactions, those interactions appear +close to the planning and execution modules. + +Within the plannerOI routines (i.e., joyInterpCmd and joyUpdatePanel) are the +interactions with a specific device, in this case a hand held terminal. All +interactions with a hand held terminal (HT) take place through a defined +interface and are serviced by the htServer (see Handheld Terminal Library +Guide). Our goals were to allow several nodes to interact with the HT and to +allow for several types of hand held or dumb terminal devices. A terminal is +defined as a keyboard and screen (a touch screen is mapped in to additional +keys). We developed an interface which allows any program to make requests to +display data on the screen (for fixed periods of time), to display screen +prompts that allow the operator to enter string messages, to change panels +(Panels consist of screens which provide fixed buttons, graphics and messages) +and to receive key strokes (which are often interpreted as commands). + +How do you program the HT. Well our assumption was that there would be +programmers responsible for developing the plans for each node in the +controller. Each programmer would design the necessary operator interfaces and +make the appropriate OI calls. If there were critical interactions between the +operator and the planner, they were handled within the plan. One problem with +this distributed approach is conflicts in the use of the screen. We decided +that the conflicts would be resolved by negotiation between the node +programmers. + +Getting back to your item 1 regarding OIfunctions, and whether a single +OIfunction within a Node can handle all OI requirements for any type of +planner, I don't believe that options (a) or (b) are necessarily the only +implementations. I would propose option (c), coupled (not scattered) with +planning and execution. I think the discussion at Fridays Tool meeting with +ATR brought out this type of OI, when the operator was coupled to a node in the +control system. I'm not convinced the Node OIfunction can contain all the OI +interactions without making things more complex. There may be some generic OI +functionality that can be handled by an OIfunction (possibly OI interaction 1 +above, where a request for data from a node is handled). I am for isolating +planning and OI code. Maybe an alternative approach might be to create planner +and executor classes that contains the OI functions (there may be a way to pass +the functions to a OIfunction but I'm not sure it's worth it). Another +suggestion I have is to simplify the Node class definition and run time +behavior. For those who want to add certain types of structure and utilities, +they can build other classes that inherit the more basic Node class +functionality. I would like to discuss what we did with the CRC as an example +of a more basic node. +Sandor. + +-------------------------------------- +Date: 8/4/94 5:49 PM +To: Sandor Szabo +From: Hui-Min Huang +Hi: + +Does the following writeup pretty much capture what we (some of us) have +discussed about the node template recently? I thought something like this +helps clarify issues. It also helps both us and other people understanding how +the template would work. I'll put it in +/home/manta/rcs/plat.generic/src/rcs/doc/node_issue_log where the +node_sers_guide and CMS_users_guide are. I volunteer to update it, or, you may +just add new issues in. + +Hui + +========================================================= +CONTROLLER NODE ISSUE LOG + +1. Implementation of the Operator Interface (OI) function + +Options: +(a) As a module in the node that handles all the I/O between the node and the +devices. +(b) As a process running concurrently with the node. +(c) Scattered wherever I/O is needed (e.g., with a planner as Sandor +implemented) + +Resolution: +Leave optional between (a) and (b) depending on the execution time and +communication load (see below). + +Discussion: +Option (a) reduces communication bottleneck if the node and the devices +communicate frequently. Option (b) reduces the cycling time of a controller +node, since the the OI may deal with the following issues and which may make it +a complex function: + +* parsing through command scripts; +* parsing strings; +* operator cmd execution timing--execute right away, after the current cmd +done, delay for certain time, delay until another condition met; +* handshaking between human input and the controller: + -- operator hitting a key repeatedly, to ignore, to queue, or to barf? + -- some devices require a status back every cycle. +* multiple OI devices to a node--arbitration; +* one device to multiple nodes; + +2. OI to enter at the same level as the corresponding controller or one level +higher. + +Options: +(a) Same level +(b) On level higher + +Resolution: +Use (a) + +Discussion: +(a) is more intuitive from a human understanding perspective. It also +eliminates the need to have to implement an upper level node just for the sake +of handling OI. + +3. Timing for operator to take over control + +Options: +(a) Allowing operator to take over at any time as long as he switches the mode +to tele-operation. +(b) Operator to take over only under the preprogrammed and controlled +conditions ("computer determines whether OI is allowed") + +Resolution: +TBD + +Discussion: +Ideally human should be in charge. Practically the worry is that, say, if we +allow an operator to take over low level control, the high levels may lose +track of world state and won't be able to resume once the mode switched back to +auto. The counter argument is that separate status buffers are still used to +send up status during tele mode, along with the updated world model. I.e., the +upper nodes continue computing everything else other than sending commands +down. + +4. Whether and how to allow human and computer combined execution of plans. + +Options: +(a) The parent decomposes the plan to a series of plans at every point where +human input is expected. The parent switches mode for the son controller when +sending the plans. +(b) The parent does not decompose. Include in the plan the mode switching +statements and allow human to interact closely with the controller, execution +can stop to wait for human input if necessary. +(c) Templates do not dictate this level of detail. + +Resolution: +TBD + +Discussion: +Might be application specific. + +5. At what state should the system be brought up? + +Options: +(a) Include in the template a built in Init command that automatically ripples +through all the nodes and gets executed when the system starts up. The system +will be ready to execute the real missions. +(b) Requires that the user enter an initialization command before allowing any +other commands. + +Resolution: +(a) + +Discussion: +Unless applications have their specific start up procedures. + + + + diff --git a/doc/future_mods.html b/doc/future_mods.html new file mode 100644 index 0000000..2b66a6d --- /dev/null +++ b/doc/future_mods.html @@ -0,0 +1,23 @@ + + +RCS LIBRARY Requests + + + + + + + + + + + +
    DATEUSERPLATFORMCOMMENT
    Thu May 21 16:27:32 EDT 1998 me all +test +
    Thu May 21 16:05:11 EDT 1998 russell java +make CodeGen accept consts instead of just #defines for array_lengths and types +
    Thu May 21 13:33:46 EDT 1998 huang java +RCS Design Tool, delete + add command creates bad interface header file. +
    + + \ No newline at end of file diff --git a/doc/getrcs.html b/doc/getrcs.html new file mode 100644 index 0000000..fc9b41f --- /dev/null +++ b/doc/getrcs.html @@ -0,0 +1,176 @@ + + + +RCS Library Installation Instructions + + + + +
    +

    Instructions for getting and making the
    Real-time Control Systems(RCS) Library.

    +
    +
    + +
      +
    1. Get the source at + + http://www.isd.mel.nist.gov/projects/rcslib/rcslib-2014.05.14.tar.gz + +
    2. +
    3. Extract files from rcslib-2014.05.14.tar.gz
    4. +
        +
      1. Uncompress the file by using +"gunzip rcslib-2014.05.14.tar.gz +
      2. Extract all of the files from the tar file by using " +tar -xf rcslib-2014.05.14.tar +

        With newer versions of GNU tar one can uncompress and extract with one +command."tar -xzf rcslib-2014.05.14.tar" +

      3. +
      +
    5. Build the RCS library. +
        +
      • To build using the autoconf/automake generated build system: +
          +
        • +
          +

          cd rcslib-2014.05.14 +./configure +make +# The make check is optional, but gives a little more confidence that +# everything will work, or if there is an option/function to stay away from. +make check +make install +

          +
        • +
        • There are lots of features that can be enabled or disabled by +configure. Run "./configure ––help" for a list. For example to build the smallest possible library use "––disable-ALL" and then enable only the features you actually need. ( ./configure ––disable-ALL ––enable-shmem ) Setting the environment variables CC,CXX,CFLAGS,CXXFLAGS,CPPFLAGS or LDFLAGS can be useful too. +
        • +
        • The command "make install" may require root or administrator +access. If this is a problem set prefix=directory to a directory you have write access to.
        • +
        • If you want to build for multiple platforms and use the same +source directory, use the command etc/multiplatbuild.sh. Each time it is +run the library will be installed into a platform specific subdirectory of +.multiplatinstalls and symbolic links set up for lib include and bin in +the top level directory. This should also eliminate the need for root access. +
        • +
        +
      • +
      • To build with the older static Makefiles: +
          +
        • +
          +

          +

          cd rcslib-2014.05.14 +make USE_OLD_RCSLIB_MAKEFILES=1 +

          +
        • +
        • +

          The "make" program needs to be GNU make. You can use the following command to check:

          +
          +make -v
          +
          +

          There are similar programs also called "make" from other sources that generally do not work. Sometimes GNU make is installed on your system under the name "gmake" or "gnumake".

          +
        • +
        • +

          If you do not specify a platform the script rcslib/etc/platname will be run +to guess the platform name. If it fails or guesses incorrectly you should either set the environment variable "PLAT" or set it on the make command line. To set the environment variable use either + "setenv PLAT platname" or + "PLAT=platname; export PLAT" depending on the +type of shell you have. To set the platform on the command line run: +"make PLAT=platname" +The string to use for platname should match the base of one of the .def +files in the rcslib/etc directory. For example setting PLAT=sunos5 would +use the definitions in rcslib/etc/sunos5.def.

          +

          If no .def file exists for your platform you should copy one of the other .def files and edit it with a text editor as necessary.

          +
        • +
        +
      • +
      • For Windows: +
          +
        • Use MinGW: +

          Download and install first MinGW and then MSYS from http://www.mingw.org.Be sure to save the rcslib tar file under the "root" directory of MSYS ie "C:\msys\1.0\" or a sub-directory of this. Then, from within the MSYS tool either run:

          +
          +tar -xzf rcslib-2014.05.14.tar
          +

          +

          cd rcslib-2014.05.14 +./configure +make +make install +

          +

          or use the older makefiles :

          +
          +

          +

          cd rcslib-2014.05.14 +export PLAT=mingw32 +make PLAT=mingw32 +

          +
        • +
        • If you must use VC++, there is a solutions file in + rcslib-2014.05.14/etc/win_vc_2010_express/rcs/rcs.sln. +
        • +

          + + +
        +
      • +
    6. + +
    7. To build your own applications: +

      If you built with the old static Makefile, +you need to add the following line to your compiler options +where pathtorcslib and platname will depend on your system:
      +-Ipathtorcslib/plat/platname/include

      +

      The following also needs to be added to the linker options:
      +-Lpathtorcslib/plat/platname/lib -lrcs

      +

      For configure/autoconf based builds the flags will be different since the paths are different but typically only the -lrcs flag is needed since configure +will install files in the default location expected by the compiler.

      +

      Also depending on your platform you may need to add some additional libraries to the linker options. The libraries themselves are expected to be provided with your operating system or compiler but still need to be explicitly requested in the linker options. For example windows needs "-lws2_32 -lwininet" while Solaris needs "-lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 -ldl" If you get undefined symbols you can check the CLINK variable of the platforms .def file or your operating systems documentation on the functions that +were undefined to determine what libraries to add. configure will also print the LIBS it is using which are also generally needed for applications. Also, since RCS is a C++ library you generally will want to link with the C++ compiler rather than directly with ld or with the C compiler or you may end up missing the standard C++ libraries.

      +
    8. +
    9. OPTIONAL: Build the java tools and jar files +

      While the precompiled version of the java code can be run on multiple platforms and therefore somewhat reduce the need for recompiling. The precompiled code might not be the latest.

      +

      To build from source: Download and install a Developer's Kit for Java such as the SDK for Java 2 Standard Edition (J2SE) from http://java.sun.com/.

      +

      With the java bin directory on your PATH run:

      +
      +cd pathtorcslib/src/java
      +make PLAT=java
      +
      +Sometimes it is necessary to add JDK_DIR=path_to_j2se_sdk to the make command line if you have multiple java programs on your path. The compiled byte code will be placed in several jar files and subdirectories in pathtorcslib/plat/java/lib/. +
    10. +
    + +

    For the diagnostics tool or code generator, + download diag_NB.jar or CodeGenCmdLine.jar, and a Java Runtime tool such as from http://java.sun.com/ and run with the command "java -jar <jarfile>". (See +the instructions for each tool.) The diagnotics tool now requires JDK or JRE 1.6 as well as plotter_NB.jar,rcs.jar, CodeGenCmdLine.jar, and swing-layout-1.0.jar.

    +

    Alternatively run diag tool through Java WebStart with this link:

    +

    http://www.isd.mel.nist.gov/projects/rcslib/diag.jnlp

    +

    or with all Java classes in one .Jar file here:

    +

    http://www.isd.mel.nist.gov/projects/rcslib/rcsjava.jar

    + +
    +

    Last Modified: 2014.05.14

    + +

    If you have questions or comments regarding this page, please +contact +Will Shackleford +at

    shackle@cme.nist.gov
    + +
    +Commercial Product Disclaimer +
    +DISCLAIMER: Certain commercial equipment, instruments, or materials are identified in this paper to specify the experimental procedure adequately. Such identification is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that the materials or equipment identified are necessarily the best available for the purpose. +

    + +


    +Software Disclaimer +
    +DISCLAIMER: This software was produced by the National Institute of Standards and Technology (NIST), an agency of the U.S. government, and by statute is not subject to copyright in the United States. Recipients of this software assume all responsibility associated with its operation, modification, maintenance, and subsequent redistribution. +
    See NIST Administration Manual 4.09.07 b and Appendix I
    +

    +


    + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..3eb1634 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,209 @@ + + + + +RCS Library + + + + + + + + +

    Real-Time Control Systems Library –– Software and Documentation

    + +

    The Real-Time Control Systems library is an archive of + free C++, Java and Ada code, scripts, tools, makefiles, and documentation + developed to aid programmers of software to be used in real-time control + systems (especially those using the Reference + Model Architecture for Intelligent Systems Design).

    + +

    The following documents describe the library in more detail:

    + + + + + + +
    Diagnostics Tool (Hierarchy View)Diagnostics Tool (Graph View)
    + + +

    Download

    + +
    + + + + +
    NML Tutorial
    +
    A 90-page tutorial presentation on NML (PDF format)
    +
    Report Bugs/Get Support
    +
    ----
    + +
    The NML Programmer's Guide (C++ Version)
    +
    Describes the use of the Neutral Message Language(NML) components + of the library and related parts of the Communication Management + System(CMS). It includes distributed application development in + C++ and creating custom NML vocabularies. (Examples and function + prototypes are given in C++.)
    + +
    The NML Programmer's Guide (Java Version)
    +
    Describes the use of the Neutral Message Language(NML) components + of the library and related parts of the Communication Management + System(CMS). It includes distributed application development in + Java and creating custom NML vocabularies. (Examples and function + prototypes are given in Java.) See also + JavaDoc Generated Docs or + Zip archive of JavaDoc Generated Docs
    + +
    The NML Programmer's Guide (Ada Version)
    +
    Describes the use of the Neutral Message Language(NML) components + of the library and related parts of the Communication Management + System(CMS). It includes distributed application development in + Ada and creating custom NML vocabularies. (Examples and function + prototypes are given in Ada.) Added October 24,2004
    + +
    The NML Configuration Files
    +
    Describes writing an NML Configuration file and the options available. Updated March,2006
    + +
    The Version 2.0 NML Configuration File + Format and Tool
    +
    Describes a newer experimental version of the NML Configuration + file, the options available and a tool needed to convert the new + format to the old format.
    + +
    The NML Configuration Server
    +
    Describes a program that can be used instead of or in addition to + NML Configuration files. It determines the information normally stored in + a configuration file as NML applications run. Added April,2004
    + +
    NML Message Files
    +
    Describes the file format, API for reading and writing and tools for displaying data in NML Packed Message Files. Added June,2009
    + +
    The NML_SET class
    +
    The NML Set class is a class intended to make it easier to write applications to monitor or interact with multiple NML buffers especially when the number of such buffers is not fixed or known when the application starts. It is designed to work with the NML Configuration Server. Added July,2004
    + +
    NML support for XML
    +
    Describes a number of ways NML can be used to read or + send XML.
    + +
    NML Subdivisions
    +
    Describes some extensions to NML that allow advanced users to + access subdivisions within an NML buffer.
    + +
    The NML Query/Reply Service
    +
    Describes some extensions to NML that allow advanced users to + create Query/Reply Services more easily.
    + +
    NML Performance Results
    +
    A summary of the results of some performance tests run on NML, + including some hints at optimizing NML and running your own tests.
    + +
    Supplementary NML Timing Diagnostics + Tools
    +
    Describes some tools and configuration options that allow users + to obtained detailed information on the timing of reads and writes + to thier NML buffers.
    + +
    NML Code Generator Instructions
    +
    Instructions for using the NML Code Generator to create C++ update and format functions or Java NML definitions. Updated March,2006
    + +
    NML_MODULE
    +
    Describes the NML_MODULE base class which can be used to provide + a template or framework for RCS applications.
    + +
    RCS Java-based Diagnostics Tool
    +
    A tool written as a java applet that allows programmers to see + the status and send commands to any RCS module.
    + +
    RCS Java-based Diagnostics Tool Instructions
    +
    Instructions on how to build applications for use with the diagnostics + tool.
    + +
    RCS-Design Tool
    +
    A tool written as a java applet that allows programmers to create + RCS applications graphically and generates source code.
    + +
    RCS-Design Tool Instructions
    +
    Instructions on how to build applications with the RCS-Design + tool.
    + +
    RCS Data Plotter
    +
    A Java applet which plots data on a cartesian or polar graph, + read either in real-time or from a text file.
    + +
    Socket Interface to NML
    +
    Describes how to connect to an NML server using sockets directly. + This information should also be useful for other languages where + the C++ NML client interface is not available.
    + +
    RCS Posemath Library
    +
    A library of classes for representing positions, rotations, and + translations in a variety of coordinate systems and the functions + to add/subtract/multiply/divide/convert them. For more info on posemath + you may also want to check out: Karl + Murphy's Posemath Examples
    + +
    RCS Library Lower Level Utilities
    +
    Describes many of the lower level utilities used to create the + NODE, CMS, and NML components of the RCS Library but which may be + useful on their own. Includes timers, semaphores, linked-lists, + printing, and windows functions.
    + +
    RCS Library Installation Instructions
    +
    Provides instructions for getting and making the RCS Library.
    + +
    RCS Library Version Functions
    +
    Documentation for some functions for determining at run-time which + version of the RCS library your using.
    + + +
    EMC (Enhanced Machine Controller) links
    +
    + +
    + +
    + +
    +
    Commercial Product Disclaimer
    +
    Certain commercial equipment, + instruments, or materials are identified in this paper to specify + the experimental procedure adequately. Such identification is not + intended to imply recommendation or endorsement by the National Institute + of Standards and Technology, nor is it intended to imply that the + materials or equipment identified are necessarily the best available + for the purpose. +
    + +
    Software Disclaimer/Copywrite Release
    +
    This software was developed at the National Institute of Standards and + Technology by employees of the Federal Government in the course of their + official duties. Pursuant to title 17 Section 105 of the United States + Code this software is not subject to copyright protection and is in the + public domain. NIST Real-Time Control System software is an experimental + system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its + quality, reliability, or any other characteristic. We would appreciate + acknowledgement if the software is used. This software can be + redistributed and/or modified freely provided that any derivative works + bear some notice that they are derived from it, and any modified + versions bear some notice that they have been modified. +
    +
    + +
    + +

    Last Modified: October 1, 2009

    +

    If you have questions or comments regarding this page + please contact Will Shackleford at shackle@nist.gov

    + + + diff --git a/doc/javadesign.html b/doc/javadesign.html new file mode 100644 index 0000000..422cc7d --- /dev/null +++ b/doc/javadesign.html @@ -0,0 +1,152 @@ + + +Java-based Design Tool for RCS Applications + + +

    The RCS Design Tool Instructions

    + +

    Introduction

    + + +The National Institute of Standards and Technology (NIST) has been using the Real-time Control System (RCS) Reference Model Architecture for building control systems based on a hierarchy of cyclically executing control modules. The RCS-Design tool is a Java-based program that allows users to layout a hierarchy of these +controllers and automatically generate the source code, makefiles and configuration files needed to build and run the application. + +

    Views

    + +A drop down list in the upper right corner of the design tool allows the user +to select from several different views. + +
    +
    Hierarchy
    +
    The Hierarchy view contains a large blue area on the right where a graphic of the hierarchy will be shown, and some controls for adding modules/commands on the left.(See Picture.)
    +
    Options
    +
    The options view allows the user modify miscellaneous options.(See Picture.)
    +
    Loops
    +
    The loops view allows the user to group modules in loops that are run inside the same process and set some options for the loop. (See Picture.)
    +
    NML Code Generation
    +
    The NML Code Generation view allows the user to generate NML update functions, format functions and constructors in C++ or Java. (See Picture.)
    +
    Files View
    +
    The files view allows the user to view or edit all of the files in the project created by the RCS-Design tool. (See Picture.)
    +
    + +

    Top Buttons

    + +A row of buttons on the top is available regardless of selected view. + +
    +
    Create Source
    +
    Create all the source and configuration files in the application.
    +
    Print
    +
    Print the graphic of the hierarchy.
    +
    Make
    +
    Run the makefile interpreter to compile the application.
    +
    Run
    +
    Run the application and the diagnostics tool to control it.
    +
    Import
    +
    Import another controller into this application. A dialog window will +open for the user to select the ".cfg" file of the controller to import. The top-level module of the selected controller will be added as a subordinate of the currently selected module.
    +
    Open
    +
    Open the ".cfg" of a controller to view/modify.
    +
    New
    +
    Begin working on a new application.
    +
    + +

    Hierarchy View

    + +The hierachy view provides a graphic of the controller's hierachy. +Subordinates are placed below their supervisor with a line connecting them. +Supervisors send commands to thier subordinates and monitor the subordinates +status. The currently selected module will be black. + +

    The module can be selected either by clicking on its icon or its name in +the modules list. To add an additional module, enter the name in the text +field under "Add Module". It will be a subordinate of the +currently selected module. A module can be deleted by selecting it and +clicking the "Delete Module" button. + +

    Under the "Delete Module" button is a drop down list that allows +the user to select what information is displayed about the current module. There are the following choices:

    + +
    +
    Subordinates
    +
    This option provides a list of subordinates. The hierarchy can be reorganized by selecting and deselecting subordinates in the list.
    +
    Commands
    +
    This option provides a list of commands that the module will accept. Commands can be added or deleted from the list.
    +
    Aux. Channel
    +
    This option provides a list of auxilliary channels. Auxilliary channels provide a general method of communication that can be used between any two modules regardless of where they are in the hierarchy.
    +
    + +

    Options View

    + +

    The following is a list of options that can be controlled from this view: (Many of these options can also be set on the command-line when the RCS-Design tool is run as a stand-alone application.)

    + +
    +
    Application Directory
    +
    The directory where the release version of the application should be placed.
    +
    User Directory
    +
    The directory where the development version for this user should be placed.
    +
    RCS Library Directory
    +
    The directory where the RCS Library is installed.
    +
    Application Name
    +
    A name that is used in several source files to keep the files in this application unique. It is recommended that the name contain no spaces or punctuation. It must be less than 5 characters to work in DOS.
    +
    C++ Source File Extension
    +
    The extension to use for C++ source files. (ie. .cpp, .C, .cc)
    +
    C++ Header File Extension
    +
    The extension to use for C++ header files. (ie. .hpp, .h, .hh)
    +
    C++ Object File Extension
    +
    The extension that your C++ compiler adds to object files. (ie, .o, .obj)
    +
    Make Command
    +
    A command that when executed will invoke the makefile interpreter. There are some scripts included in the RCS library to solve some problems that occur on +some systems when the make interpreter is invoked directly.
    +
    Run Command
    +
    A command to execute to run the application. A script-file is normally automatically generated for this purpose.
    +
    Platforms List
    +
    For each platform there is a directory for object files and a .def file +which specifies the compiler options, what compiler to use etc. The user can build the same application for multiple platforms by just selecting different platforms before each "make".
    +
    Replace Existing File
    +
    When a file already exist and the user tries to create the file again either though the "Files View" or with the "Create Source" the tool can either replace it with an updated version, leave it alone or ask the user.
    +
    Use Merger
    +
    If this checkbox is checked then whenever the tool replaces a file it will +do a line-by-line comparison of the new file with the old file and attempt +to preserve user edits in the old file and merge the two together.
    +
    Make Backups
    +
    When the tool replaces an existing file it will first rename the file according to the following formula if this checkbox is checked:
    +<original file name>+".~n~", where n is an +integer that makes the backup unique.
    (This preserves your work but can create a large number of backup files, all the backups can be deleted by clicking the "Remove Backups" button.)
    +
    Development Platform
    +
    If UNIX is selected the makefiles generated are compatible with the +GNU make program, if Windows 95/NT is selected the makefiles will be compatible with NMAKE a program that comes with Microsoft Visual C++.
    +
    Libraries
    +
    List the extra object libraries that should be linked into your application.
    +
    Includes
    +
    List the extra directories where the compiler should look for include files.
    +
    Debug
    +
    Print out a variety of messages as you use the tool for debugging the tool.
    +
    + +

    Loops View

    + +The loops view allows the user to group modules into loops. Each loop +may have a differnt cycle time. + +

    NML Code Generation

    + +See http://www.isd.mel.nist.gov/projects/rcslib/CodeGen-Instructions.html + +

    Files View

    + +The files view allows you to see and update each of the files in the application. If the file does not exist or is not up-to-date when you select it from the list it will be created and displayed. Otherwise, it will just be displayed. +If you edit code in the text area you can save your changes with the "Save" button. To reintegrate changes from one of the other views click the +"Update" button. + + +
    + +

    Last Modified: 04/09/98

    +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/javadiag.html b/doc/javadiag.html new file mode 100644 index 0000000..bbcf1a8 --- /dev/null +++ b/doc/javadiag.html @@ -0,0 +1,253 @@ + + +RCS/NML Diagnostics Tool + + + + +

    The RCS/NML Diagnostics Tool Instructions

    + +

    Introduction

    + +

    The diagnostic tool allows programmers to see the current command +and status of every module in his controller and to send commands to any +module. The tool determines which commands each module will accept and +the parameters of each status and command message using +some of the C++ header files the application is expected to be built +with and an architecture file to provide information on how the controller +fits together. +

    + +

    The applet can be viewed in an offline mode here. +To see it connected to a running controller you will need to contact +Will Shackleford +to start one of our controllers. +

    + +

    Please also check out the intstructional videos at + +http://www.isd.mel.nist.gov/projects/rcslib/rcs_diag_videos/. +

    + +

    Creating the Architecture File

    + +

    The architecture file is a simple text file that provides information +on where the header files are how the modules are connected. The following are +sample architecture files.

    + +
    +
    emc.arc
    +
    The Enhanced Machine Controller Architecture
    +
    ngis.arc
    +
    The Next Generation Inspection System Architecture (incomplete)
    +
    + +

    The files consist of a series of module blocks ( one for each module +in the controller). Each module block has a module name followed by +a series of module attributes separated by semi-colons and surrounded by braces.

    + +
    +MODULE_NAME{
    +	MODULE_ATTRIBUTE=value;	
    +	MODULE_ATTRIBUTE=value;	
    +	MODULE_ATTRIBUTE=value;
    +}
    +
    + +

    +The following are the currently defined module attributes. +

    + +

    child

    +Each module can have multiple children. The child modules are modules that +this module sends commands to and/or reads the status of. + +

    cmd_buffer_name

    +The name of the buffer in the NML configuration file with command information +for this module. + +

    cmd_configuration_file

    +The file name of an NML configuration file with the command port and buffer +number in it. + +

    cmd_port

    +The cmd_port is the TCP port where commands for this module should be sent. This value should be taken from the NML configuration file. If a cmd_configuration_file is specified the data in that file will supercede this. + +

    cmd_buffer_number

    +The buffer number of the command buffer for this module. This value should be taken from the NML configuration file. + +

    cmd_types_file

    +The C++ header file which contains the NMLmsg definitions for the commands that this module accepts. + +

    stat_buffer_name

    +The name of the buffer in the NML configuration file with status information +for this module. + +

    stat_configuration_file

    +The file name of an NML configuration file with the status port and buffer +number in it. + +

    stat_port

    +The stat_port is the TCP port where status for this module can be read. This value should be taken from the NML configuration file. If a stat_configuration_file is specified that data will supercede this. + +

    stat_buffer_number

    +The buffer number of the status buffer for this module. This value should be taken from the NML configuration file.If a stat_configuration_file is specified that data will supercede this. + +

    stat_types_file

    +The C++ header file which contains the NMLmsg definitions for the status messages that this module may send out. You can use the same file for command and status if you prefer, in which case set the cmd_types_file attribute and omit this one. + + +

    stat_types_file

    +The C++ header file which contains the NMLmsg definitions for the status messages that this module may send out. You can use the same file for command and status if you prefer, in which case set the cmd_types_file attribute and omit this one. + +

    predefined_types_file

    +Each module can have multiple predefined types files. These are C++ header files that should be read for struct, class and/or enum definitions that will be used +inside either command or status messages. It is necessary to include these +here because the tool ignores #include directives within the header file. + +

    SourceCodeDirectory

    +This optional attribute allows the user to specify a directory other than the "current directory" to look for source code files to be displayed in the State-Table View. + +

    Special Rules for the Header Files

    + +The purpose of using C++ header files to provide the type information is to +make adding variables to command and status messages or adding new commands and status messages as simple and painless as possible. However the tool is not +a C++ compiler and so there are some issues to be aware of. + +
      +
    1. #include directives are ignored. Use the predefined_types_file attribute +in the architecture file instead.
    2. +
    3. #if directives are considered false unless JAVA_DIAG_APPLET_FORCE_TRUE is +defined.
    4. +
    5. Only one variable should be defined on a line.
    6. +
    7. Surround things that should not be parsed by the tool with +#ifndef JAVA_DIAG_APPLET and #endif. This includes:
    8. +
        +
      • Multiple line functions and macros. (Most functions don't belong in +the header file any way.)
      • +
      • Variables included in the message but not updated in the NML update function.
      • +
      • Large classes which will never be sent as NML messages and will just +slow down the tool and eat up more memory to include.
      • +
      +
    9. The order of variables in their declaration should match the order in +the update functions.
    10. +
    11. Each NML message should have a #define in the same header file + giving the message type id formed by adding _TYPE to the + class name. For example for class NML_TASKEX_INIT there + should be a #define NML_TASKEX_INIT_TYPE 101 +
    12. +
    13. Enumerated data types cause a problem for the NML update function but +the diagnostics tool can use them. So you may want to do something like this, +which will make the communications work as before but make the tool display +WMSA_MANUAL instead of 2.: +
      +enum WMSA_MODE
      +{
      +	WMSA_AUTO,
      +	WMSA_MDI,
      +	WMSA_MANUAL
      +};
      +
      +class NML_WMSA_WM: public NMLmsg
      +{
      +. . .
      +#ifdef JAVA_DIAG_APPLET
      + WMSA_MODE mode;
      +#else
      + int mode;
      +#endif
      +. . .
      +
      +
    + +

    Using the Diagnostics Tool

    + +

    To use the diagnostics tool you will need a Web browser that supports +Java. If the browser has a Just-In Time (JIT) Compiler, the applet will run +much faster. + +When you start the applet, depending on some parameters that are set in +the HTML page that includes it, it may automatically load an architecture file +and then it may connect to a running controller. Otherwise you would enter the +name or URL of an architecture file, to load it and click the checkbox next +to "NOT CONNECTED" to connect to the corresponding controller. If the controller is running the checkbox will eventually say "CONNECTED (n out of m)". (n is the number of modules which successfully connected and +m is the total number of modules. -- You can check the Java Console or log file for some explanation of why a module didn't connect.)

    + +

    Here is a screen dump of the top part of the applet:

    + +screen dump of top + +

    Under the heading of modules is the list of modules that were loaded. If you +select one of the modules the commands that module accepts will be displayed +in the list next to it under available commands. Selecting one of the available +commands shows the parameters for that command under the command to send. After editing the commands by selecting them and entering appropriate values +in the text box below you can send the command by pressing the send button. +The current command and status are displayed below that in with all of +their parameters. Next there is a checkbox for specifying whether to read the +error log. The error log is a special NML buffer that any module can write. The text of messages written there will be appended to the text area beneath the +checkbox. Also a special NML_DISPLAY message can be sent to cause the +browser showing the applet to automatically jump to a certain URL. This has +been used for providing special instructions to an operator. Instead of telling +the operator to load tool X with just text it can jump him/her to a page +with a picture of the tool and formatted instructions on how to load it.

    + +

    The hierarchy itself is shown at the bottom of the applet:

    + +screen dump of bottom + +

    Each module lists its current command followed by its status. The modules are color coded.

    + +
    +
    WHITE=DONE
    +
    The module has completed all the commands it was given, or the +status was unknown.
    +
    GREEN=EXECUTING
    +
    The module is still working on the current command.
    +
    RED=ERROR
    +
    The module is reporting some internal error.
    +
    GREY=NOT CONNECTED
    +
    The tool is unable to communicate with this module.
    +
    + +

    Handling Some Browser Security Restrictions

    + +

    Most browsers do not allow applets to connect to hosts other than the one +the applet was loaded from. This is a problem since usually the computer +running the controller is not a web server. There are 2 work arounds for this +problem. +

    + +
      +
    1. Use a browser that allows you to disable the Java Security Manager. +Usually these are made for Java developers, such as appletviewer which comes +with the Java Developer's Kit (JDK) or by running Internet Explorer from +within Visual J++.
    2. +
    3. Use tcpproxy to temporarily turn your host into a Web server. The tcpproxy +server allows some port on the remote machine accept requests and respond to +replies on a port the machine it is running on.
      +
      +tcpproxy [local_port] [remote_host] [remote_port] 
      +
      +So if I am on the machine cosmos I could run:
      +
      +tcpproxy 3000 www.isd.mel.nist.gov 80 
      +
      +Now if I go to web pages starting with "http://cosmos:3000/" I will see the same web pages I would see at "http://www.isd.mel.nist.gov/" but my +browser will believe it loaded the applet from cosmos and allow the tool to +connect directly to the controller on cosmos. +
    4. + +
    5. +Use a browser that accepts the Digital-Signature and then gives the user the option of relaxing security. Currently Internet Explorer 3.0 and later and Netscape 4.0 or later accept digital-signatures. +
    + +
    + +

    Last Modified: October 1, 2009

    +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/javadoc/allclasses-frame.html b/doc/javadoc/allclasses-frame.html new file mode 100644 index 0000000..bd02ac6 --- /dev/null +++ b/doc/javadoc/allclasses-frame.html @@ -0,0 +1,299 @@ + + + + + + +All Classes + + + + + + + + + + + +All Classes +
    + + + + + +
    auxBufferPreserve +
    +BufferInfo +
    +ChannelInfo +
    +CMS_DATE +
    +CMS_TIME +
    +CodeGen +
    +CodeGenCmdLine +
    +CodeGenCommon +
    +CodeGenCommonInterface +
    +CorrectedPipedInputStream +
    +CorrectedPipedOutputStream +
    +CountButton +
    +CountButtonInterface +
    +CountList +
    +CountListInterface +
    +debugInfo +
    +diag_NB_UI +
    +DiagError +
    +DiagErrorAppendInterface +
    +DiagNMLMsgDict +
    +DiagNMLMsgDictCreator +
    +DiagNMLMsgDictCreatorInterface +
    +DiagNMLMsgDictInterface +
    +diagPreserve +
    +EnumTypeInfo +
    +errlogMsgDict +
    +FakeFastListPanel +
    +FastListContainer +
    +FastListPanel +
    +FastListPanelInterface +
    +fullScreenJPanelClass +
    +HierarchyPanel +
    +ImageJFrame +
    +ImageJPanel +
    +jcrypt +
    +JListFastListPanel +
    +JPaintablePanel +
    +LineFitTester +
    +LoadHierarchyUpdateInterface +
    +LogTimeEntry +
    +MessageFileJFrame +
    +ModifiedFileDialog +
    +ModuleInfo +
    +ModuleInfoInterface +
    +modulePreserve +
    +MsgToTimeStamp +
    +NML_DISPLAY +
    +NML_ENUM_INFO +
    +NML_ERROR +
    +NML_TEXT +
    +NMLBufferConfigInfo +
    +NMLConfigInfo +
    +NMLConnection +
    +NMLConnectionCreator +
    +NMLConnectionCreatorInterface +
    +NMLConnectionInterface +
    +NMLErrorAppender +
    +NMLException +
    +NMLFormatConverter +
    +NMLFormatConverterBase +
    +NMLFormatConvertErrCallbackInterface +
    +NMLMessageDictionary +
    +NMLmsg +
    +NMLSingleVarLog +
    +NMLSingleVarLogItem +
    +PackedFileReader +
    +PackedFileWriter +
    +PackedFormatConverter +
    +PainterInterface +
    +PlotData +
    +PlotGraphJPanel +
    +plotSetPreserve +
    +plotter_NB_UI +
    +plotterJFrame +
    +plotTrackerPreserve +
    +PM_CARTESIAN +
    +PM_CIRCLE +
    +PM_CYLINDRICAL +
    +PM_EULER_ZYX +
    +PM_EULER_ZYZ +
    +PM_HOMOGENEOUS +
    +PM_LINE +
    +PM_POSE +
    +PM_QUATERNION +
    +PM_ROTATION_MATRIX +
    +PM_ROTATION_VECTOR +
    +PM_RPY +
    +PM_SPHERICAL +
    +PM_XYA +
    +PmCartesian +
    +PmCircle +
    +PmCylindrical +
    +PmEulerZyx +
    +PmEulerZyz +
    +PmException +
    +PmHomogeneous +
    +PmLine +
    +PmPose +
    +PmQuaternion +
    +PmRotationMatrix +
    +PmRotationVector +
    +PmRpy +
    +PmSpherical +
    +Posemath +
    +RCS_CMD_MSG +
    +RCS_STAT_MSG +
    +RCS_STAT_MSG_V2 +
    +rcs_states +
    +RCS_VERSION +
    +rcsDesign +
    +rcsDesignGui +
    +SaveImage +
    +SaveImage.BAYER_PATTERN +
    +ServerInfo +
    +SimpleFileFilter +
    +StackTracePrinter +
    +StandAloneApplet +
    +StatsTextJFrame +
    +STI_TokenizerInterface +
    +StringFuncs +
    +StrToInt +
    +StrToLong +
    +StructureTypeInfo +
    +time_tracker +
    +URL_and_FileLoader +
    +URlLoadInfoFrame +
    +URLLoadInfoJPanel +
    +URLLoadInfoPanel +
    +URLLoadInfoPanelInterface +
    +WatchJPanel +
    +WatchVarEditor +
    +XDRFormatConverter +
    +XMLFileReader +
    +XMLFileWriter +
    +XMLFormatConverter +
    +
    + + + diff --git a/doc/javadoc/allclasses-noframe.html b/doc/javadoc/allclasses-noframe.html new file mode 100644 index 0000000..4797af3 --- /dev/null +++ b/doc/javadoc/allclasses-noframe.html @@ -0,0 +1,299 @@ + + + + + + +All Classes + + + + + + + + + + + +All Classes +
    + + + + + +
    auxBufferPreserve +
    +BufferInfo +
    +ChannelInfo +
    +CMS_DATE +
    +CMS_TIME +
    +CodeGen +
    +CodeGenCmdLine +
    +CodeGenCommon +
    +CodeGenCommonInterface +
    +CorrectedPipedInputStream +
    +CorrectedPipedOutputStream +
    +CountButton +
    +CountButtonInterface +
    +CountList +
    +CountListInterface +
    +debugInfo +
    +diag_NB_UI +
    +DiagError +
    +DiagErrorAppendInterface +
    +DiagNMLMsgDict +
    +DiagNMLMsgDictCreator +
    +DiagNMLMsgDictCreatorInterface +
    +DiagNMLMsgDictInterface +
    +diagPreserve +
    +EnumTypeInfo +
    +errlogMsgDict +
    +FakeFastListPanel +
    +FastListContainer +
    +FastListPanel +
    +FastListPanelInterface +
    +fullScreenJPanelClass +
    +HierarchyPanel +
    +ImageJFrame +
    +ImageJPanel +
    +jcrypt +
    +JListFastListPanel +
    +JPaintablePanel +
    +LineFitTester +
    +LoadHierarchyUpdateInterface +
    +LogTimeEntry +
    +MessageFileJFrame +
    +ModifiedFileDialog +
    +ModuleInfo +
    +ModuleInfoInterface +
    +modulePreserve +
    +MsgToTimeStamp +
    +NML_DISPLAY +
    +NML_ENUM_INFO +
    +NML_ERROR +
    +NML_TEXT +
    +NMLBufferConfigInfo +
    +NMLConfigInfo +
    +NMLConnection +
    +NMLConnectionCreator +
    +NMLConnectionCreatorInterface +
    +NMLConnectionInterface +
    +NMLErrorAppender +
    +NMLException +
    +NMLFormatConverter +
    +NMLFormatConverterBase +
    +NMLFormatConvertErrCallbackInterface +
    +NMLMessageDictionary +
    +NMLmsg +
    +NMLSingleVarLog +
    +NMLSingleVarLogItem +
    +PackedFileReader +
    +PackedFileWriter +
    +PackedFormatConverter +
    +PainterInterface +
    +PlotData +
    +PlotGraphJPanel +
    +plotSetPreserve +
    +plotter_NB_UI +
    +plotterJFrame +
    +plotTrackerPreserve +
    +PM_CARTESIAN +
    +PM_CIRCLE +
    +PM_CYLINDRICAL +
    +PM_EULER_ZYX +
    +PM_EULER_ZYZ +
    +PM_HOMOGENEOUS +
    +PM_LINE +
    +PM_POSE +
    +PM_QUATERNION +
    +PM_ROTATION_MATRIX +
    +PM_ROTATION_VECTOR +
    +PM_RPY +
    +PM_SPHERICAL +
    +PM_XYA +
    +PmCartesian +
    +PmCircle +
    +PmCylindrical +
    +PmEulerZyx +
    +PmEulerZyz +
    +PmException +
    +PmHomogeneous +
    +PmLine +
    +PmPose +
    +PmQuaternion +
    +PmRotationMatrix +
    +PmRotationVector +
    +PmRpy +
    +PmSpherical +
    +Posemath +
    +RCS_CMD_MSG +
    +RCS_STAT_MSG +
    +RCS_STAT_MSG_V2 +
    +rcs_states +
    +RCS_VERSION +
    +rcsDesign +
    +rcsDesignGui +
    +SaveImage +
    +SaveImage.BAYER_PATTERN +
    +ServerInfo +
    +SimpleFileFilter +
    +StackTracePrinter +
    +StandAloneApplet +
    +StatsTextJFrame +
    +STI_TokenizerInterface +
    +StringFuncs +
    +StrToInt +
    +StrToLong +
    +StructureTypeInfo +
    +time_tracker +
    +URL_and_FileLoader +
    +URlLoadInfoFrame +
    +URLLoadInfoJPanel +
    +URLLoadInfoPanel +
    +URLLoadInfoPanelInterface +
    +WatchJPanel +
    +WatchVarEditor +
    +XDRFormatConverter +
    +XMLFileReader +
    +XMLFileWriter +
    +XMLFormatConverter +
    +
    + + + diff --git a/doc/javadoc/constant-values.html b/doc/javadoc/constant-values.html new file mode 100644 index 0000000..609d899 --- /dev/null +++ b/doc/javadoc/constant-values.html @@ -0,0 +1,1522 @@ + + + + + + +Constant Field Values + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Constant Field Values

    +
    +
    +Contents + + + + + + +
    +diagapplet.CodeGen.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diagapplet.CodeGen.CodeGenCommonInterface
    +public static final java.lang.Stringndla_len_string"length_for_nml_dynamic_length_array"
    +public static final java.lang.Stringndla_string"NML_DYNAMIC_LENGTH_ARRAY"
    +public static final java.lang.StringPARAM_AddSetHeader"add_set_header"
    +public static final java.lang.StringPARAM_ConfigFile"ConfigFile"
    +public static final java.lang.StringPARAM_CreatePrintSizesFile"create_print_sizes_file"
    +public static final java.lang.StringPARAM_DebugOn"debug_on"
    +public static final java.lang.StringPARAM_DisplayOn"display_on"
    +public static final java.lang.StringPARAM_DlaLengthInit"dla_length_init"
    +public static final java.lang.StringPARAM_GenerateAllEnumSymbolLookups"generate_all_enum_symbol_lookups"
    +public static final java.lang.StringPARAM_GenerateForAda"generate_for_ada"
    +public static final java.lang.StringPARAM_GenerateForAllLangs"generate_for_all_langs"
    +public static final java.lang.StringPARAM_GenerateForC"generate_for_c"
    +public static final java.lang.StringPARAM_GenerateForCPP"generate_for_cpp"
    +public static final java.lang.StringPARAM_GenerateForJava"generate_for_java"
    +public static final java.lang.StringPARAM_GenerateSymbolLookups"generate_symbol_lookups"
    +public static final java.lang.StringPARAM_HeaderFile"HeaderFile"
    +public static final java.lang.StringPARAM_HFile"HFile"
    +public static final java.lang.StringPARAM_HHFile"HHFile"
    +public static final java.lang.StringPARAM_HierarchyFile"HierarchyFile"
    +public static final java.lang.StringPARAM_JavaPackageName"java_package_name"
    +public static final java.lang.StringPARAM_NoErrlog"no_errlog"
    +public static final java.lang.StringPARAM_PrintScript"print_script"
    +public static final java.lang.StringPARAM_ScriptFile"script"
    +public static final java.lang.StringPARAM_SelectFromAllFiles"select_from_all_files"
    +public static final java.lang.StringPARAM_SizesFileName"sizes_filename"
    +public static final java.lang.StringPARAM_UpdateWithName"update_with_name"
    +public static final java.lang.StringPARAM_UseDefaultTypes"UseDefaultTypes"
    +public static final java.lang.Stringunbounded_string"NML_UNBOUNDED_LENGTH_ARRAY"
    + +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diagapplet.CodeGen.ModuleInfo
    +public static final java.lang.StringId"$Id: ModuleInfo.java 1845 2011-11-04 18:22:11Z shackle $"
    +public static final intRCS_CODEGEN_APPLICATION_TYPE6
    +public static final intRCS_CONTROLLER_APPLICATION_TYPE2
    +public static final intRCS_CUSTOM_APPLICATION_TYPE1
    +public static final intRCS_DESIGN_APPLICATION_TYPE5
    +public static final intRCS_DIAGNOSTICS_APPLICATION_TYPE4
    +public static final intRCS_GUI_APPLICATION_TYPE3
    + +

    + +

    + + + + + +
    +diagapplet.plotter.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diagapplet.plotter.PlotGraphJPanel
    +public static final intANGLE_DEGREE_UNITS1
    +public static final intANGLE_RAD_UNITS2
    +public static final intANGLE_RADPI_UNITS3
    +public static final java.lang.StringPROP_X_GRID"X_Grid"
    +public static final java.lang.StringPROP_Y_GRID"Y_Grid"
    + +

    + +

    + + + + + +
    +diagapplet.utils.*
    + +

    + + + + + + + + + + + + +
    diagapplet.utils.FakeFastListPanel
    +public static final booleandisplay_ontrue
    + +

    + +

    + + + + + + + + + + + + +
    diagapplet.utils.JListFastListPanel
    +public static final booleandisplay_ontrue
    + +

    + +

    + + + + + +
    +rcs.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + +
    rcs.RCS_VERSION
    +public static final java.lang.Stringdate_string"Tue Sep 27 08:36:35 EDT 2011"
    +public static final java.lang.Stringinfo_string"@(#) RCS_LIBRARY_VERSION: 2011.08.15_1829 Compiled on Tue Sep 27 08:36:35 EDT 2011 for the java platform.\n"
    +public static final java.lang.Stringversion_string"2011.08.15_1829"
    + +

    + +

    + + + + + +
    +rcs.nml.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + +
    rcs.nml.errlogMsgDict
    +public static final intNML_DISPLAY_TYPE3
    +public static final intNML_ERROR_TYPE1
    +public static final intNML_TEXT_TYPE2
    + +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcs.nml.NMLConnection
    +protected static final intCMS_CHECK_IF_READ_ACCESS2
    +protected static final intCMS_PEEK_ACCESS3
    +protected static final intCMS_READ_ACCESS1
    +protected static final intCMS_WRITE_ACCESS4
    +protected static final intCMS_WRITE_IF_READ_ACCESS5
    +protected static final intNML_ASCII_ENCODING_TYPE4
    +protected static final intNML_DISP_ENCODING_TYPE5
    +protected static final intNML_PACKED_ENCODING_TYPE8
    +protected static final intNML_PACKEDL64_ENCODING_TYPE9
    +protected static final intNML_STCP_PROTOCOL_TYPE1
    +protected static final intNML_TCP_PROTOCOL_TYPE2
    +protected static final intNML_UDP_PROTOCOL_TYPE3
    +protected static final intNML_XDR_ENCODING_TYPE6
    +protected static final intNML_XML_ENCODING_TYPE7
    +protected static final intREMOTE_CMS_BLOCKING_READ_REQUEST_TYPE11
    +protected static final intREMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE13
    +protected static final intREMOTE_CMS_CLOSE_SINGLE_VAR_LOG_REQUEST_TYPE30
    +protected static final intREMOTE_CMS_GET_BUF_NAME_REQUEST_TYPE12
    +protected static final intREMOTE_CMS_GET_DIAG_INFO_REQUEST_TYPE15
    +protected static final intREMOTE_CMS_GET_IS_CLEAR_REQUEST_TYPE27
    +protected static final intREMOTE_CMS_GET_KEYS_REQUEST_TYPE7
    +protected static final intREMOTE_CMS_GET_MSG_COUNT_REQUEST_TYPE16
    +protected static final intREMOTE_CMS_GET_MSG_TYPE_REQUEST_TYPE31
    +protected static final intREMOTE_CMS_GET_QUEUE_LENGTH_REQUEST_TYPE17
    +protected static final intREMOTE_CMS_GET_READ_COUNT_REQUEST_TYPE26
    +protected static final intREMOTE_CMS_GET_SINGLE_VAR_LOG_REQUEST_TYPE29
    +protected static final intREMOTE_CMS_GET_SPACE_AVAILABLE_REQUEST_TYPE18
    +protected static final intREMOTE_CMS_LOGIN_REQUEST_TYPE8
    +protected static final intREMOTE_CMS_READ_COMBINED_REQUEST_TYPE10
    +protected static final intREMOTE_CMS_READ_REQUEST_TYPE1
    +protected static final intREMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE14
    +protected static final intREMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE9
    +protected static final intREMOTE_CMS_SETUP_SINGLE_VAR_LOG_REQUEST_TYPE28
    +protected static final intREMOTE_CMS_WAIT_FOR_ANYTHING_REQUEST_TYPE25
    +protected static final intREMOTE_CMS_WAIT_FOR_CLEAR_REQUEST_TYPE24
    +protected static final intREMOTE_CMS_WAIT_FOR_QUEUE_LENGTH_REQUEST_TYPE23
    +protected static final intREMOTE_CMS_WAIT_FOR_READ_REQUEST_TYPE22
    +protected static final intREMOTE_CMS_WAIT_FOR_WRITE_REQUEST_TYPE21
    +protected static final intREMOTE_CMS_WRITE_REQUEST_TYPE2
    +protected static final intREMOTE_CMS_WRITE_WITH_BITWISE_OP_REQUEST_TYPE20
    +protected static final intREMOTE_CMS_WRITE_WITH_PRIORITY_REQUEST_TYPE19
    + +

    + +

    + + + + + + + + + + + + +
    rcs.nml.NMLFormatConverterBase
    +public static final booleansave_var_namesfalse
    + +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcs.nml.RCS_STAT_MSG
    +public static final intRCS_DONE1
    +public static final intRCS_ERROR3
    +public static final intRCS_EXEC2
    +public static final intUNINITIALIZED_STATUS-1
    + +

    + +

    + + + + + +
    +rcs.posemath.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcs.posemath.PmException
    +public static final intPM_DIV_ERR-4
    +public static final intPM_ERR-1
    +public static final intPM_IMPL_ERR-2
    +public static final intPM_NORM_ERR-3
    + +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcs.posemath.Posemath
    +public static final doubleCART_FUZZ1.0E-4
    +public static final doubleDBL_MAX971.0
    +public static final doubleDOUBLE_FUZZ2.220446049250313E-16
    +public static final doubleDOUBLECP_FUZZ1.0842021724855044E-19
    +public static final doubleE_EPSILON0.005
    +public static final doublePI3.141592653589793
    +public static final doublePI_21.5707963267948966
    +public static final doublePI_40.7853981633974483
    +public static final doublePM_2_PI6.283185307179586
    +public static final intPM_DIV_ERR-4
    +public static final intPM_ERR-1
    +public static final intPM_IMPL_ERR-2
    +public static final intPM_NORM_ERR-3
    +public static final doublePM_PI3.141592653589793
    +public static final doublePM_PI_21.5707963267948966
    +public static final doublePM_PI_40.7853981633974483
    +public static final intPM_X0
    +public static final intPM_Y1
    +public static final intPM_Z2
    +public static final doubleQ_FUZZ3.0E-4
    +public static final doubleQS_FUZZ3.0E-4
    +public static final doubleQSIN_FUZZ3.0E-4
    +public static final doubleRPY_P_FUZZ0.001
    +public static final doubleRS_FUZZ1.0E-4
    +public static final doubleSINGULAR_EPSILON1.0E-4
    +public static final doubleSQRT_FUZZ-2.0E-4
    +public static final doubleUNIT_QUAT_FUZZ0.01
    +public static final doubleUNIT_SC_FUZZ0.01
    +public static final doubleUNIT_VEC_FUZZ0.01
    +public static final doubleV_FUZZ5.0E-4
    +public static final doubleZYX_Y_FUZZ0.001
    +public static final doubleZYZ_Y_FUZZ0.001
    + +

    + +

    + + + + + +
    +rcs.utils.*
    + +

    + + + + + + + + + + + + +
    rcs.utils.CorrectedPipedInputStream
    +public static final booleandebug_onfalse
    + +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcs.utils.rcs_states
    +public static final intADMIN_INITIALIZED2
    +public static final intADMIN_SHUT_DOWN3
    +public static final intADMIN_UNINITIALIZED1
    +public static final intNEW_COMMAND-2
    +public static final intNOP_STATE-3
    +public static final intRCS_ADMIN_ZERO0
    +public static final intS00
    +public static final intS11
    +public static final intS1010
    +public static final intS1111
    +public static final intS1212
    +public static final intS1313
    +public static final intS1414
    +public static final intS1515
    +public static final intS1616
    +public static final intS1717
    +public static final intS1818
    +public static final intS22
    +public static final intS33
    +public static final intS44
    +public static final intS55
    +public static final intS66
    +public static final intS77
    +public static final intS88
    +public static final intS99
    +public static final intSE0-10
    +public static final intSE1-11
    +public static final intSE2-12
    +public static final intSE3-13
    +public static final intSE4-14
    +public static final intSE5-15
    +public static final intSE6-16
    +public static final intSE7-17
    +public static final intSE8-18
    +public static final intSE9-19
    +public static final intUNINITIALIZED_STATE-1
    + +

    + +

    + + + + + +
    +rcsdesign.*
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    rcsdesign.rcsDesign
    +protected static final intCHECK_IN_FILES4
    +protected static final intCLEANUP6
    +protected static final intCREATE_SOURCE3
    +protected static final intDO_NOTHING1
    +protected static final intMAX_FILE_PANEL_HEIGHT_DEFAULT1400
    +protected static final intMAX_FILE_PANEL_WIDTH_DEFAULT1400
    +protected static final intMAX_FILE_TEXT_LENGTH_DEFAULT50
    +protected static final intMAX_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT1400
    +protected static final intMAX_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT1400
    +public static final intMAX_FILE_TEXT_WIDTH_DEFAULT100
    +protected static final intMAX_HIERARCHY_PANEL_HEIGHT_DEFAULT500
    +protected static final intMAX_HIERARCHY_PANEL_WIDTH_DEFAULT600
    +protected static final intMIN_FILE_PANEL_HEIGHT_DEFAULT200
    +protected static final intMIN_FILE_PANEL_WIDTH_DEFAULT200
    +protected static final intMIN_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT150
    +protected static final intMIN_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT150
    +protected static final intMIN_HIERARCHY_PANEL_HEIGHT_DEFAULT150
    +protected static final intMIN_HIERARCHY_PANEL_WIDTH_DEFAULT150
    +protected static final intREAD_CONFIGURATION2
    +protected static final intUPDATE_FILE5
    + +

    + +

    +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/deprecated-list.html b/doc/javadoc/deprecated-list.html new file mode 100644 index 0000000..ffc2f8b --- /dev/null +++ b/doc/javadoc/deprecated-list.html @@ -0,0 +1,159 @@ + + + + + + +Deprecated List + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Deprecated API

    +
    +
    +Contents + + + + + + + + + +
    +Deprecated Methods
    diagapplet.CodeGen.CodeGen.main(String[]) +
    +          Use CodeGenCmdLine instead. 
    +  +

    +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/BufferInfo.html b/doc/javadoc/diagapplet/CodeGen/BufferInfo.html new file mode 100644 index 0000000..40cb31d --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/BufferInfo.html @@ -0,0 +1,907 @@ + + + + + + +BufferInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class BufferInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.BufferInfo
    +
    +
    +
    +
    public class BufferInfo
    extends java.lang.Object
    + + +

    +Stores referencees to all of the information needed by the Design or Diagnostics tools + related to a single NML Buffer. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + booleanbufferline_headers_checked + +
    +           
    + java.util.HashtablechannelsHashtable + +
    +          Hashtable matching module Names to ChannelInfo objects associated with this buffer.
    + java.lang.StringconfigFile + +
    +          NML Configuration file associated with this buffer.
    + booleanhas_been_plotted + +
    +          Has the diagnosics tool already plotted this buffer since reading it?
    + intid + +
    +          Integer Id used only by Design Tool.
    + intlast_selected_msg_index + +
    +           
    + intmax_plot_var_number + +
    +          The hightest variable number needed for plotting.
    + java.lang.Stringmessage_data + +
    +          Message data after conversion to a comma delimited string.
    + ModuleInfoInterfacemi + +
    +          ModuleInfo associated with this buffer.
    + java.lang.StringName + +
    +          Name of buffer used in NML constructor and config file.
    + intnew_data_count + +
    +          How many times have we read new data from this buffer? Can be used to determine + if plotting/redisplay etc is necessary.
    + DiagNMLMsgDictInterfaceread_msg_dict + +
    +          NMLMessageDictionary associated with the read channel.
    + NMLConnectionInterfaceread_nml + +
    +          Connection used by Diagnostics tool for reading from this buffer.
    + java.util.List<java.lang.String>readerNames + +
    +          List of all the names of all processes known to read from this buffer.
    + ServerInfosi + +
    +          ServerInfo associated with this buffer.
    + DiagNMLMsgDictInterfacewrite_msg_dict + +
    +          NMLMessageDictionary associated with the write channel.
    + NMLConnectionInterfacewrite_nml + +
    +          Connection used by Diagnostics tool for writing to this buffer.
    + java.util.List<java.lang.String>writerNames + +
    +          List of all the names of all processes known to write to this buffer.
    +  + + + + + + + + + + +
    +Constructor Summary
    BufferInfo() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + NMLConnectionInterfacecreateExtraChannel() + +
    +          Create an extra channel cloning the options in the read channel.
    +static NMLFormatConvertErrCallbackInterfaceget_nml_format_err_callback() + +
    +           
    + java.lang.String[]getBufferLineHeaders() + +
    +           
    + java.lang.StringgetMessageData(int read_id) + +
    +          Read data from the buffer and convert to a comma delimited string.
    + java.util.VectorgetMsgsAvailable() + +
    +          Get the list of messages that can be sent and received from this buffer.
    + java.lang.StringGetPreviousMessage(java.lang.Long l) + +
    +           
    + java.util.HashtablegetPreviousMessagesHashtable() + +
    +           
    + booleanisConnected() + +
    +          Getter for property connected.
    + voidsetConnected(boolean connected) + +
    +          Setter for property connected.
    + voidSetNMLConfigFile(java.lang.String new_config_file) + +
    +          Change to a new configuration file.
    + voidSetPreviousMessage(java.lang.String s) + +
    +           
    + voidsetPreviousMessagesHashtable(java.util.Hashtable _ht) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + intwriteDataString(java.lang.String s) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +bufferline_headers_checked

    +
    +public boolean bufferline_headers_checked
    +
    +
    +
    +
    +
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    Name of buffer used in NML constructor and config file. +

    +

    +
    +
    +
    + +

    +si

    +
    +public ServerInfo si
    +
    +
    ServerInfo associated with this buffer. Used only by Design tool. +

    +

    +
    +
    +
    + +

    +id

    +
    +public int id
    +
    +
    Integer Id used only by Design Tool. +

    +

    +
    +
    +
    + +

    +readerNames

    +
    +public java.util.List<java.lang.String> readerNames
    +
    +
    List of all the names of all processes known to read from this buffer. + Used only by Design tool. +

    +

    +
    +
    +
    + +

    +writerNames

    +
    +public java.util.List<java.lang.String> writerNames
    +
    +
    List of all the names of all processes known to write to this buffer. + Used only by Design tool. +

    +

    +
    +
    +
    + +

    +channelsHashtable

    +
    +public java.util.Hashtable channelsHashtable
    +
    +
    Hashtable matching module Names to ChannelInfo objects associated with this buffer. + Used only by Design tool. +

    +

    +
    +
    +
    + +

    +configFile

    +
    +public java.lang.String configFile
    +
    +
    NML Configuration file associated with this buffer. +

    +

    +
    +
    +
    + +

    +last_selected_msg_index

    +
    +public int last_selected_msg_index
    +
    +
    +
    +
    +
    + +

    +write_nml

    +
    +public NMLConnectionInterface write_nml
    +
    +
    Connection used by Diagnostics tool for writing to this buffer. +

    +

    +
    +
    +
    + +

    +read_nml

    +
    +public NMLConnectionInterface read_nml
    +
    +
    Connection used by Diagnostics tool for reading from this buffer. +

    +

    +
    +
    +
    + +

    +max_plot_var_number

    +
    +public int max_plot_var_number
    +
    +
    The hightest variable number needed for plotting. Messages only needed for + plotting can stop being parsed after this number. +

    +

    +
    +
    +
    + +

    +has_been_plotted

    +
    +public boolean has_been_plotted
    +
    +
    Has the diagnosics tool already plotted this buffer since reading it? +

    +

    +
    +
    +
    + +

    +message_data

    +
    +public java.lang.String message_data
    +
    +
    Message data after conversion to a comma delimited string. + Same as last string returned by getMessageData() +

    +

    +
    +
    +
    + +

    +new_data_count

    +
    +public int new_data_count
    +
    +
    How many times have we read new data from this buffer? Can be used to determine + if plotting/redisplay etc is necessary. +

    +

    +
    +
    +
    + +

    +read_msg_dict

    +
    +public DiagNMLMsgDictInterface read_msg_dict
    +
    +
    NMLMessageDictionary associated with the read channel. +

    +

    +
    +
    +
    + +

    +write_msg_dict

    +
    +public DiagNMLMsgDictInterface write_msg_dict
    +
    +
    NMLMessageDictionary associated with the write channel. +

    +

    +
    +
    +
    + +

    +mi

    +
    +public ModuleInfoInterface mi
    +
    +
    ModuleInfo associated with this buffer. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +BufferInfo

    +
    +public BufferInfo()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getBufferLineHeaders

    +
    +public java.lang.String[] getBufferLineHeaders()
    +
    +
    +
    +
    +
    +
    + +

    +getPreviousMessagesHashtable

    +
    +public java.util.Hashtable getPreviousMessagesHashtable()
    +
    +
    +
    +
    +
    +
    + +

    +setPreviousMessagesHashtable

    +
    +public void setPreviousMessagesHashtable(java.util.Hashtable _ht)
    +
    +
    +
    +
    +
    +
    + +

    +get_nml_format_err_callback

    +
    +public static NMLFormatConvertErrCallbackInterface get_nml_format_err_callback()
    +
    +
    +
    +
    +
    +
    + +

    +SetPreviousMessage

    +
    +public void SetPreviousMessage(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +GetPreviousMessage

    +
    +public java.lang.String GetPreviousMessage(java.lang.Long l)
    +
    +
    +
    +
    +
    +
    + +

    +writeDataString

    +
    +public int writeDataString(java.lang.String s)
    +                    throws NMLException
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +SetNMLConfigFile

    +
    +public void SetNMLConfigFile(java.lang.String new_config_file)
    +
    +
    Change to a new configuration file. Disconnecting and reconnecting with new + parameters each of the NML Connections as necessary. +

    +

    +
    Parameters:
    new_config_file -
    +
    +
    +
    + +

    +getMsgsAvailable

    +
    +public java.util.Vector getMsgsAvailable()
    +
    +
    Get the list of messages that can be sent and received from this buffer. +

    +

    + +
    Returns:
    Vector of messages available.
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getMessageData

    +
    +public java.lang.String getMessageData(int read_id)
    +
    +
    Read data from the buffer and convert to a comma delimited string. +

    +

    +
    Parameters:
    read_id - used to determine if this data is new if data has been written into the buffer + but still has the same id as read_id then the data will be considered old. +
    Returns:
    comma delimeted string
    +
    +
    +
    + +

    +createExtraChannel

    +
    +public NMLConnectionInterface createExtraChannel()
    +
    +
    Create an extra channel cloning the options in the read channel. +

    +

    + +
    Returns:
    extra nml channel
    +
    +
    +
    + +

    +isConnected

    +
    +public boolean isConnected()
    +
    +
    Getter for property connected. +

    +

    + +
    Returns:
    Value of property connected.
    +
    +
    +
    + +

    +setConnected

    +
    +public void setConnected(boolean connected)
    +
    +
    Setter for property connected. +

    +

    +
    Parameters:
    connected - New value of property connected.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/ChannelInfo.html b/doc/javadoc/diagapplet/CodeGen/ChannelInfo.html new file mode 100644 index 0000000..4456ff0 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/ChannelInfo.html @@ -0,0 +1,353 @@ + + + + + + +ChannelInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class ChannelInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.ChannelInfo
    +
    +
    +
    +
    public class ChannelInfo
    extends java.lang.Object
    + + +

    +Information needed by the RCS Design tool related to a single NML channel. + (Each channel connects a seperate process to a seperate NML buffer.) +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + intid + +
    +           
    + booleanisWriter + +
    +           
    + java.lang.StringModuleName + +
    +           
    + java.lang.StringName + +
    +           
    +static intnum_channels + +
    +           
    + booleanupdateEveryCycle + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    ChannelInfo() + +
    +           
    +  + + + + + + + +
    +Method Summary
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    +
    +
    +
    + +

    +ModuleName

    +
    +public java.lang.String ModuleName
    +
    +
    +
    +
    +
    + +

    +isWriter

    +
    +public boolean isWriter
    +
    +
    +
    +
    +
    + +

    +updateEveryCycle

    +
    +public boolean updateEveryCycle
    +
    +
    +
    +
    +
    + +

    +id

    +
    +public int id
    +
    +
    +
    +
    +
    + +

    +num_channels

    +
    +public static int num_channels
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +ChannelInfo

    +
    +public ChannelInfo()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/CodeGen.html b/doc/javadoc/diagapplet/CodeGen/CodeGen.html new file mode 100644 index 0000000..cdb7a38 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/CodeGen.html @@ -0,0 +1,1009 @@ + + + + + + +CodeGen + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class CodeGen

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by java.applet.Applet
    +                  extended by diagapplet.CodeGen.CodeGen
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class CodeGen
    extends java.applet.Applet
    implements java.lang.Runnable, java.awt.event.ActionListener
    + + +

    +Main Class for applet CodeGen only needed for Graphical CodeGen and RCS Design Tool. + not needed for newer recommended CodeGenCmdLine +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.applet.Applet
    java.applet.Applet.AccessibleApplet
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +          Set to true to have many fuctions print degub info to System.out.
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    CodeGen() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidactionPerformed(java.awt.event.ActionEvent evt) + +
    +           
    + voiddestroy() + +
    +           
    + java.lang.StringgetAppletInfo() + +
    +          Old VisualJ APPLET INFO SUPPORT: + The getAppletInfo() method returns a string describing the applet's + author, copyright date, or miscellaneous information.
    + java.lang.StringGetParameter(java.lang.String strName, + java.lang.String[] args) + +
    +          From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameter() method is a replacement for the getParameter() method + defined by Applet.
    + java.lang.String[][]getParameterInfo() + +
    +          Old VisualJ PARAMETER SUPPORT + The getParameterInfo() method returns an array of strings describing + the parameters understood by this applet.
    + voidGetParameters(java.lang.String[] args) + +
    +          From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameters() method retrieves the values of each of the applet's + parameters and stores them in variables.
    + voidinit() + +
    +           
    + voidInitializeClassList() + +
    +          Used by RCS Design tool.
    + voidLoadHierarchy() + +
    +          See CodeGenCommon.LoadHierarchy()
    +static voidmain(java.lang.String[] args) + +
    +          Deprecated. Use CodeGenCmdLine instead.
    + voidpaint(java.awt.Graphics g) + +
    +           
    + voidRingBell() + +
    +          Ring a bell to indicate an error if it has been more than 2.5 seconds since the + last error.
    + voidrun() + +
    +          Old VisualJ THREAD SUPPORT + The run() method is called when the applet's thread is started.
    + voidRunScriptFile(java.lang.String new_script_file) + +
    +          Run a .gen script file.
    + voidset_ClassList(FastListPanelInterface flp) + +
    +          Set the ClassList.
    + voidset_inside_diagapplet(boolean b) + +
    +          Set the inside_diagapplet property, see CodeGenCommon.set_preserve_modules_hashtable()
    + voidset_m_ConfigFile(java.lang.String str) + +
    +          Set the configFile.
    + voidset_m_fStandAlone(boolean b) + +
    +          Set the m_fStandAlone property.
    + voidset_m_hierarchyFile(java.lang.String str) + +
    +          Set the hierarchyFile.
    + voidset_m_loadingPanel(URLLoadInfoPanelInterface lp) + +
    +          Set the loadingPanel.
    + voidset_m_modulesCountList(CountListInterface lst) + +
    +          Set modulesCountList.
    + voidset_m_modulesHashTable(java.util.Hashtable ht) + +
    +          Set the modulesHashTable.
    + voidset_preserve_modules_hashtable(boolean b) + +
    +          Set the preserve modules hashtable property, see CodeGenCommon.set_preserve_modules_hashtable()
    + voidset_serversHashtable(java.util.Hashtable ht) + +
    +          Set the serversHashTable.
    + + + + + + + +
    Methods inherited from class java.applet.Applet
    getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    Set to true to have many fuctions print degub info to System.out. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CodeGen

    +
    +public CodeGen()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +set_m_fStandAlone

    +
    +public void set_m_fStandAlone(boolean b)
    +
    +
    Set the m_fStandAlone property. When the property is true the gui will not attempt + to resize itself or parse applet options. + Used only by the Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    b -
    +
    +
    +
    + +

    +RingBell

    +
    +public void RingBell()
    +
    +
    Ring a bell to indicate an error if it has been more than 2.5 seconds since the + last error. + (Time limit prevents long list of errors from being really annoying.) +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +GetParameter

    +
    +public java.lang.String GetParameter(java.lang.String strName,
    +                                     java.lang.String[] args)
    +
    +
    From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameter() method is a replacement for the getParameter() method + defined by Applet. This method returns the value of the specified parameter; + unlike the original getParameter() method, this method works when the applet + is run as a standalone application, as well as when run within an HTML page. + This method is called by GetParameters(). +--------------------------------------------------------------------------- +

    +

    +
    +
    +
    +
    Parameters:
    strName - name of parameter to retrieve
    args - command line args if run from main() +
    Returns:
    value corresponding to strName
    +
    +
    +
    + +

    +GetParameters

    +
    +public void GetParameters(java.lang.String[] args)
    +
    +
    From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameters() method retrieves the values of each of the applet's + parameters and stores them in variables. This method works both when the + applet is run as a standalone application and when it's run within an HTML + page. When the applet is run as a standalone application, this method is + called by the main() method, which passes it the command-line arguments. + When the applet is run within an HTML page, this method is called by the + init() method with args == null. +--------------------------------------------------------------------------- +

    +

    +
    +
    +
    +
    Parameters:
    args - command line args if called from main()
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    Deprecated. Use CodeGenCmdLine instead. +

    +

    Run the graphical tool. +

    +

    +
    +
    +
    +
    Parameters:
    args -
    +
    +
    +
    + +

    +InitializeClassList

    +
    +public void InitializeClassList()
    +                         throws java.lang.Exception
    +
    +
    Used by RCS Design tool. Initializes the class list. +

    +

    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +actionPerformed

    +
    +public void actionPerformed(java.awt.event.ActionEvent evt)
    +
    +
    +
    Specified by:
    actionPerformed in interface java.awt.event.ActionListener
    +
    +
    +
    +
    +
    +
    + +

    +getAppletInfo

    +
    +public java.lang.String getAppletInfo()
    +
    +
    Old VisualJ APPLET INFO SUPPORT: + The getAppletInfo() method returns a string describing the applet's + author, copyright date, or miscellaneous information. +-------------------------------------------------------------------------- +

    +

    +
    Overrides:
    getAppletInfo in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +getParameterInfo

    +
    +public java.lang.String[][] getParameterInfo()
    +
    +
    Old VisualJ PARAMETER SUPPORT + The getParameterInfo() method returns an array of strings describing + the parameters understood by this applet. + + CodeGen Parameter Information: + { "Name", "Type", "Description" }, +-------------------------------------------------------------------------- +

    +

    +
    Overrides:
    getParameterInfo in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +init

    +
    +public void init()
    +
    +
    +
    Overrides:
    init in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +LoadHierarchy

    +
    +public void LoadHierarchy()
    +                   throws java.lang.Exception
    +
    +
    See CodeGenCommon.LoadHierarchy() +

    +

    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +destroy

    +
    +public void destroy()
    +
    +
    +
    Overrides:
    destroy in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +paint

    +
    +public void paint(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paint in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +RunScriptFile

    +
    +public void RunScriptFile(java.lang.String new_script_file)
    +
    +
    Run a .gen script file. The script file may contain a list of headers to parse in what order and + which update/format files functions to generate to which output files in what order. +

    +

    +
    +
    +
    +
    Parameters:
    new_script_file -
    +
    +
    +
    + +

    +run

    +
    +public void run()
    +
    +
    Old VisualJ THREAD SUPPORT + The run() method is called when the applet's thread is started. If + your applet performs any ongoing activities without waiting for user + input, the code for implementing that behavior typically goes here. For + example, for an applet that performs animation, the run() method controls + the display of images. +-------------------------------------------------------------------------- +

    +

    +
    Specified by:
    run in interface java.lang.Runnable
    +
    +
    +
    +
    +
    +
    + +

    +set_preserve_modules_hashtable

    +
    +public void set_preserve_modules_hashtable(boolean b)
    +
    +
    Set the preserve modules hashtable property, see CodeGenCommon.set_preserve_modules_hashtable() +

    +

    +
    +
    +
    +
    Parameters:
    b -
    +
    +
    +
    + +

    +set_inside_diagapplet

    +
    +public void set_inside_diagapplet(boolean b)
    +
    +
    Set the inside_diagapplet property, see CodeGenCommon.set_preserve_modules_hashtable() +

    +

    +
    +
    +
    +
    Parameters:
    b -
    +
    +
    +
    + +

    +set_m_hierarchyFile

    +
    +public void set_m_hierarchyFile(java.lang.String str)
    +
    +
    Set the hierarchyFile. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    str -
    +
    +
    +
    + +

    +set_m_ConfigFile

    +
    +public void set_m_ConfigFile(java.lang.String str)
    +
    +
    Set the configFile. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    str -
    +
    +
    +
    + +

    +set_m_modulesHashTable

    +
    +public void set_m_modulesHashTable(java.util.Hashtable ht)
    +
    +
    Set the modulesHashTable. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    ht -
    +
    +
    +
    + +

    +set_serversHashtable

    +
    +public void set_serversHashtable(java.util.Hashtable ht)
    +
    +
    Set the serversHashTable. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    ht -
    +
    +
    +
    + +

    +set_m_loadingPanel

    +
    +public void set_m_loadingPanel(URLLoadInfoPanelInterface lp)
    +
    +
    Set the loadingPanel. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    lp -
    +
    +
    +
    + +

    +set_ClassList

    +
    +public void set_ClassList(FastListPanelInterface flp)
    +
    +
    Set the ClassList. Used only by Design tool. +

    +

    +
    +
    +
    +
    Parameters:
    flp -
    +
    +
    +
    + +

    +set_m_modulesCountList

    +
    +public void set_m_modulesCountList(CountListInterface lst)
    +
    +
    Set modulesCountList. Used only by Design Tool. +

    +

    +
    +
    +
    +
    Parameters:
    lst -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/CodeGenCmdLine.html b/doc/javadoc/diagapplet/CodeGen/CodeGenCmdLine.html new file mode 100644 index 0000000..d7d35fc --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/CodeGenCmdLine.html @@ -0,0 +1,259 @@ + + + + + + +CodeGenCmdLine + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class CodeGenCmdLine

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.CodeGenCmdLine
    +
    +
    +
    +
    public class CodeGenCmdLine
    extends java.lang.Object
    + + +

    +The command line only version of the CodeGenerator and generally newer preferred + method of creating format/update functions. Uses fake interfaceses GUI classes to eliminate + dependancies on java.awt and javax.swing needed by the older graphical tool. (CodeGen.java) +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    CodeGenCmdLine() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    +static voidmain(java.lang.String[] args) + +
    +          Main function, call with "--help" to see full list of possible arguments.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +CodeGenCmdLine

    +
    +public CodeGenCmdLine()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    Main function, call with "--help" to see full list of possible arguments. + or the name of a C++ header file to generate the defualt format and update functions. +

    +

    +
    Parameters:
    args -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/CodeGenCommon.html b/doc/javadoc/diagapplet/CodeGen/CodeGenCommon.html new file mode 100644 index 0000000..1474f7d --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/CodeGenCommon.html @@ -0,0 +1,4631 @@ + + + + + + +CodeGenCommon + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class CodeGenCommon

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.CodeGenCommon
    +
    +
    +
    +
    public class CodeGenCommon
    extends java.lang.Object
    + + +

    +Parses NML C++ header files and .gen files to generate C++ format and update functions, + C,Java, and Ada class definitions and information for the Diagnostics and + Design tools. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.Stringc_prototypes_header_string + +
    +           
    +static booleandebug_estimated_size + +
    +           
    +static booleanforce_keep_admin_state_enum + +
    +           
    +static booleanforce_keep_status_enum + +
    +           
    + booleanhave_prototypes_header + +
    +           
    + java.lang.Stringlast_java_classname + +
    +           
    +static LoadHierarchyUpdateInterfacelhui + +
    +           
    +static booleanno_enums + +
    +           
    +static booleanno_format + +
    +           
    +static booleanno_swig + +
    +           
    + booleanprint_est_size_info + +
    +           
    + java.lang.Stringprototypes_header_string + +
    +           
    + + + + + + + +
    Fields inherited from interface diagapplet.CodeGen.CodeGenCommonInterface
    ndla_len_string, ndla_string, PARAM_AddSetHeader, PARAM_ConfigFile, PARAM_CreatePrintSizesFile, PARAM_DebugOn, PARAM_DisplayOn, PARAM_DlaLengthInit, PARAM_GenerateAllEnumSymbolLookups, PARAM_GenerateForAda, PARAM_GenerateForAllLangs, PARAM_GenerateForC, PARAM_GenerateForCPP, PARAM_GenerateForJava, PARAM_GenerateSymbolLookups, PARAM_HeaderFile, PARAM_HFile, PARAM_HHFile, PARAM_HierarchyFile, PARAM_JavaPackageName, PARAM_NoErrlog, PARAM_PrintScript, PARAM_ScriptFile, PARAM_SelectFromAllFiles, PARAM_SizesFileName, PARAM_UpdateWithName, PARAM_UseDefaultTypes, unbounded_string
    +  + + + + + + + + + + +
    +Constructor Summary
    CodeGenCommon() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddAlphabatizedItem(FastListPanelInterface lst, + java.lang.String item, + boolean select_it) + +
    +           
    + voidAddAuxBufferModule(java.lang.String buffer_name, + java.lang.String header, + java.lang.String nml_file) + +
    +          Adds Information related to an auxilliary buffer.
    + voidappend_includePath(java.lang.String str) + +
    +           
    + booleanCheckForCppClass(java.lang.String cpp_type) + +
    +           
    + booleanCheckForCppEnum(java.lang.String cpp_type) + +
    +           
    + booleanCheckForCppPosemathClass(java.lang.String cpp_type) + +
    +           
    + booleanCheckForJavaClass(java.lang.String java_type) + +
    +           
    + booleanCheckForJavaStatic(java.lang.String java_type) + +
    +           
    + voidClearAll() + +
    +           
    + java.lang.StringConvertCppTypeToJavaType(java.lang.String cpp_type) + +
    +           
    + voidCreateC_UpdateFunction(StructureTypeInfo type_info) + +
    +           
    + voidCreateCppConstructor(StructureTypeInfo type_info) + +
    +           
    + voidCreateCppInitializer(StructureTypeInfo type_info) + +
    +           
    + voidCreateCppUpdateFunction(StructureTypeInfo type_info) + +
    +           
    + voidCreateJavaDefinition(StructureTypeInfo type_info) + +
    +           
    + voidCreateJavaUpdateFunction(StructureTypeInfo type_info) + +
    +           
    + java.lang.StringcreateScript(java.lang.String[] args) + +
    +           
    +static voidDebugPrint(java.lang.String s) + +
    +           
    +static voidDebugPrint2(java.lang.String s) + +
    +           
    +static voidErrorPrint(java.lang.String s) + +
    +           
    + voidEstimateSize(StructureTypeInfo type_info) + +
    +           
    + java.lang.Stringfind_common_root(java.lang.String[] strs) + +
    +           
    + voidGenerateAdaBody() + +
    +           
    + voidGenerateAdaSpec() + +
    +           
    + voidGenerateC_FormatFunction() + +
    +           
    + voidGenerateC_PrototypesHeader() + +
    +           
    + voidGenerateC_StartOfFile() + +
    +           
    + voidGenerateC_UpdateFunction(java.lang.String class_name) + +
    +           
    + voidGenerateC_UpdateFunctions() + +
    +           
    + voidGenerateCppConstructor(java.lang.String class_name) + +
    +           
    + voidGenerateCppConstructors() + +
    +           
    + voidGenerateCppEnumInfo(java.lang.String[] selected_classes) + +
    +           
    + voidGenerateCppFormatFunction() + +
    +           
    + voidGenerateCppInitializer(java.lang.String class_name) + +
    +           
    + voidGenerateCppPrototypesHeader() + +
    +           
    + voidGenerateCppStartOfFile() + +
    +           
    + voidGenerateCppUpdateFunction(java.lang.String class_name) + +
    +           
    + voidGenerateCppUpdateFunctions() + +
    +           
    + voidGenerateJavaClass(java.lang.String class_name) + +
    +           
    + voidGenerateJavaClasses() + +
    +           
    + voidGenerateJavaMessageDict() + +
    +           
    + voidGeneratePrintSizesFile() + +
    +           
    +static booleanget_add_set_header() + +
    +           
    + java.lang.Stringget_base_name(java.lang.String str) + +
    +           
    + FastListPanelInterfaceget_ClassList() + +
    +          Get the ClassList property.
    + diagapplet.CodeGen.CodeGenTextAreaInterfaceget_codeTextArea() + +
    +           
    + diagapplet.CodeGen.CodeGenTextFieldInterfaceget_configFileTextField() + +
    +           
    + java.lang.Stringget_cppFileName() + +
    +           
    + booleanget_debug_on() + +
    +           
    + DiagNMLMsgDictCreatorInterfaceget_diag_dict_creator() + +
    +          Get the diag_dict_creator property.
    + booleanget_display_on() + +
    +           
    + intget_error_count() + +
    +           
    + java.util.Vectorget_extraActionsVector() + +
    +          Returns an extrActionsVector().
    + java.util.Vectorget_extraTabsVector() + +
    +          Returns an extrTabsVector().
    + booleanget_first_cpp_function() + +
    +           
    + booleanget_first_java_class() + +
    +           
    + booleanget_force_reload_file() + +
    +           
    +static booleanget_generate_all_enum_symbol_lookups() + +
    +           
    + booleanget_generate_cpp_constructors_needed() + +
    +           
    + booleanget_generate_cpp_format_function_needed() + +
    +           
    + booleanget_generate_cpp_update_functions_needed() + +
    +           
    + booleanget_generate_java_classes_needed() + +
    +           
    + booleanget_generate_java_dictionary_needed() + +
    +           
    +static booleanget_generate_symbol_lookups() + +
    +           
    + booleanget_generating_code() + +
    +           
    + java.lang.Stringget_includePath() + +
    +           
    + diagapplet.CodeGen.CodeGenTextFieldInterfaceget_includePathField() + +
    +           
    + booleanget_inside_diagapplet() + +
    +           
    + booleanget_is_loading_hierarchy() + +
    +           
    + java.lang.Stringget_javaFileName() + +
    +           
    + java.lang.Stringget_lastIncludePath() + +
    +           
    + java.lang.Stringget_m_ConfigFile() + +
    +           
    + java.lang.Stringget_m_hierarchyFile() + +
    +          Get the hierarchyFile property.
    + CountButtonInterfaceget_m_hierarchyFileLoadButton() + +
    +           
    + URLLoadInfoPanelInterfaceget_m_loadingPanel() + +
    +           
    + CountListInterfaceget_m_modulesCountList() + +
    +           
    + java.util.Hashtableget_m_modulesHashTable() + +
    +          Returns the modulesHashTable property.
    + FastListPanelInterfaceget_m_modulesList() + +
    +          Get the ModulesList property.
    + NMLConnectionCreatorInterfaceget_nml_creator() + +
    +          Get the nml_creator property.
    + java.util.Hashtableget_optionsHashTable() + +
    +          Returns the optionsHashTable property.
    + booleanget_print_prompt() + +
    +           
    + booleanget_reload_hierarchy_needed() + +
    +           
    + booleanget_run_needed() + +
    +           
    + booleanget_RunIndependantly() + +
    +           
    + booleanget_running_script() + +
    +           
    + booleanget_running() + +
    +           
    + booleanget_script_file_ran() + +
    +           
    + java.lang.Stringget_script() + +
    +           
    + java.util.Hashtableget_serversHashtable() + +
    +           
    + FastListPanelInterfaceget_serversList() + +
    +           
    +static booleanget_static_debug_on() + +
    +           
    + booleanget_update_with_name() + +
    +           
    + java.lang.StringGetCppVarDef(java.lang.String var, + StructureTypeInfo type_info) + +
    +           
    + java.lang.StringGetEnumTypeName(java.lang.String vardef) + +
    +           
    + java.lang.StringGetFormatFunctionNameBase(java.lang.String[] selected_classes) + +
    +           
    + java.lang.StringGetParameter(java.lang.String strName, + java.lang.String[] args) + +
    +          Return the value of the matching strName if one exist(), optionally + searching command line args given in args.
    + voidGetParameters(java.lang.String[] args) + +
    +           
    + voidInitializeClassList() + +
    +           
    + booleanis_generic(java.lang.String str) + +
    +           
    + booleanis_interrupt_loading() + +
    +          Return the value of the interrupt_loading property.
    + booleanis_preserve_modules_hashtable() + +
    +           
    + booleanIsDouble(java.lang.String str) + +
    +           
    + booleanIsInteger(java.lang.String str) + +
    +           
    + booleanIsNMLMsg(java.lang.String classname) + +
    +           
    + booleanIsNonUpdatebleClass(StructureTypeInfo type_info) + +
    +           
    + booleanIsRcsStatMsg(java.lang.String classname) + +
    +           
    + booleanIsRcsStatMsgV2(java.lang.String classname) + +
    +           
    + voidLoadHierarchy() + +
    +          Load the hierarchy parsing the file set with set_m_hierarchyFile().
    + voidLoadHierarchyNewThread(java.lang.String HierarchyName, + LoadHierarchyUpdateInterface _lhui) + +
    +           
    + voidMakeListGeneric(FastListPanelInterface lst) + +
    +           
    + voidParseOptionsInfo() + +
    +           
    +static voidprintHelp() + +
    +           
    + voidPrintInfo(java.lang.String options) + +
    +           
    + voidPrintInfo(StructureTypeInfo type_info, + java.lang.String var_prefix, + int varnum, + int offset) + +
    +           
    +static java.lang.Stringremove_leading_whitespace_static(java.lang.String str) + +
    +           
    + java.lang.Stringremove_leading_whitespace(java.lang.String str) + +
    +           
    + java.lang.String[]RemoveDuplicates(java.lang.String[] list) + +
    +           
    + java.lang.StringRemoveStartingEndingSpace(java.lang.String str) + +
    +           
    + voidResetGenericClasses() + +
    +           
    + voidRingBell() + +
    +           
    + voidRunLineOfScript(java.lang.String line_of_script) + +
    +           
    +static voidRunLineOfScriptStatic(java.lang.String line_of_script) + +
    +           
    + voidRunScript() + +
    +           
    + voidRunScript(java.lang.String new_script) + +
    +           
    + voidSelectByFromFile(java.lang.String filename) + +
    +           
    + voidSelectFromAllFiles() + +
    +           
    +static voidset_add_set_header(boolean _add_set_header) + +
    +           
    + voidset_ClassList(FastListPanelInterface flp) + +
    +          Set the ClassList property.
    + voidset_codeTextArea(diagapplet.CodeGen.CodeGenTextAreaInterface cta) + +
    +           
    + voidset_configFileTextField(diagapplet.CodeGen.CodeGenTextFieldInterface cgtfi) + +
    +           
    + voidset_cppFileName(java.lang.String str) + +
    +           
    + voidset_debug_on(boolean dbg) + +
    +           
    + voidset_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator) + +
    +          Set a diag_dict_creator property.
    + voidset_display_on(boolean dispon) + +
    +           
    + voidset_first_cpp_function(boolean b) + +
    +           
    + voidset_first_java_class(boolean b) + +
    +           
    + voidset_force_reload_file(boolean b) + +
    +           
    +static voidset_generate_all_enum_symbol_lookups(boolean _generate_all_enum_symbol_lookups) + +
    +           
    + voidset_generate_cpp_constructors_needed(boolean b) + +
    +           
    + voidset_generate_cpp_format_function_needed(boolean b) + +
    +           
    + voidset_generate_cpp_update_functions_needed(boolean b) + +
    +           
    + voidset_generate_java_classes_needed(boolean b) + +
    +           
    + voidset_generate_java_dictionary_needed(boolean b) + +
    +           
    +static voidset_generate_symbol_lookups(boolean _generate_symbol_lookups) + +
    +           
    + voidset_generating_code(boolean b) + +
    +           
    + voidset_includePath(java.lang.String str) + +
    +           
    + voidset_includePathField(diagapplet.CodeGen.CodeGenTextFieldInterface cgtfi) + +
    +           
    + voidset_inside_diagapplet(boolean b) + +
    +           
    + voidset_interrupt_loading(boolean b) + +
    +          Set the value of the interrupt_loading property.
    + voidset_is_loading_hierarchy(boolean b) + +
    +           
    + voidset_javaFileName(java.lang.String str) + +
    +           
    + voidset_lastIncludePath(java.lang.String s) + +
    +           
    + voidset_m_ConfigFile(java.lang.String str) + +
    +           
    + voidset_m_hierarchyFile(java.lang.String str) + +
    +          Set the hierarchyFile property.
    + voidset_m_hierarchyFileLoadButton(CountButtonInterface cbi) + +
    +           
    + voidset_m_loadingPanel(URLLoadInfoPanelInterface lp) + +
    +           
    + voidset_m_modulesCountList(CountListInterface lst) + +
    +           
    + voidset_m_modulesHashTable(java.util.Hashtable ht) + +
    +          Sets the modulesHashTable property.
    + voidset_m_modulesList(FastListPanelInterface lst) + +
    +          Set the ModulesList property.
    + voidset_nml_creator(NMLConnectionCreatorInterface _nml_creator) + +
    +          Set the nml_creator property.
    + voidset_optionsHashTable(java.util.Hashtable ht) + +
    +           
    + voidset_preserve_modules_hashtable(boolean b) + +
    +           
    + voidset_print_prompt(boolean pp) + +
    +           
    + voidset_reload_hierarchy_needed(boolean b) + +
    +           
    + voidset_run_needed(boolean b) + +
    +           
    + voidset_RunIndependantly(boolean b) + +
    +           
    + voidset_running_script(boolean b) + +
    +           
    + voidset_running(boolean b) + +
    +           
    + voidset_script_file_ran(boolean b) + +
    +           
    + voidset_script(java.lang.String scrf) + +
    +           
    + voidset_serversHashtable(java.util.Hashtable ht) + +
    +           
    + voidset_serversList(FastListPanelInterface lst) + +
    +           
    +static voidset_static_debug_on(boolean dbg) + +
    +           
    + voidset_update_with_name(boolean b) + +
    +           
    + voidSetFormatFunctionName(java.lang.String[] selected_classes) + +
    +           
    + voidSetOutputFile(java.lang.String str) + +
    +           
    +static voidSetOutputFileName(java.lang.String _output_filename) + +
    +           
    + voidsetVisible(boolean visible) + +
    +           
    + booleanVarIsUnsigned(java.lang.String vardef) + +
    +           
    +static voidWarningPrint(java.lang.String s) + +
    +           
    + voidWriteOutput(java.lang.String str) + +
    +           
    + voidWriteToFos(java.io.FileOutputStream fos, + java.lang.String str) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +force_keep_status_enum

    +
    +public static boolean force_keep_status_enum
    +
    +
    +
    +
    +
    + +

    +force_keep_admin_state_enum

    +
    +public static boolean force_keep_admin_state_enum
    +
    +
    +
    +
    +
    + +

    +debug_estimated_size

    +
    +public static boolean debug_estimated_size
    +
    +
    +
    +
    +
    + +

    +last_java_classname

    +
    +public java.lang.String last_java_classname
    +
    +
    +
    +
    +
    + +

    +no_enums

    +
    +public static boolean no_enums
    +
    +
    +
    +
    +
    + +

    +no_swig

    +
    +public static boolean no_swig
    +
    +
    +
    +
    +
    + +

    +no_format

    +
    +public static boolean no_format
    +
    +
    +
    +
    +
    + +

    +c_prototypes_header_string

    +
    +public java.lang.String c_prototypes_header_string
    +
    +
    +
    +
    +
    + +

    +have_prototypes_header

    +
    +public boolean have_prototypes_header
    +
    +
    +
    +
    +
    + +

    +prototypes_header_string

    +
    +public java.lang.String prototypes_header_string
    +
    +
    +
    +
    +
    + +

    +print_est_size_info

    +
    +public boolean print_est_size_info
    +
    +
    +
    +
    +
    + +

    +lhui

    +
    +public static LoadHierarchyUpdateInterface lhui
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CodeGenCommon

    +
    +public CodeGenCommon()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +SetOutputFileName

    +
    +public static void SetOutputFileName(java.lang.String _output_filename)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_extraActionsVector

    +
    +public java.util.Vector get_extraActionsVector()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Returns an extrActionsVector(). + It is a vector of strings read from the config file. + The diagnostics tool adds an menu item at run time for each item in the vector. +

    +

    +
    +
    +
    + +
    Returns:
    extraActionsVector()
    +
    +
    +
    + +

    +get_extraTabsVector

    +
    +public java.util.Vector get_extraTabsVector()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Returns an extrTabsVector(). + It is a vector of strings read from the config file. + The diagnostics tool adds a tab at run time for each item in the vector. +

    +

    +
    +
    +
    + +
    Returns:
    extraTabsVector()
    +
    +
    +
    + +

    +get_generate_symbol_lookups

    +
    +public static boolean get_generate_symbol_lookups()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_symbol_lookups

    +
    +public static void set_generate_symbol_lookups(boolean _generate_symbol_lookups)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_all_enum_symbol_lookups

    +
    +public static void set_generate_all_enum_symbol_lookups(boolean _generate_all_enum_symbol_lookups)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_all_enum_symbol_lookups

    +
    +public static boolean get_generate_all_enum_symbol_lookups()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_add_set_header

    +
    +public static void set_add_set_header(boolean _add_set_header)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_add_set_header

    +
    +public static boolean get_add_set_header()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint

    +
    +public static void DebugPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint2

    +
    +public static void DebugPrint2(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_error_count

    +
    +public int get_error_count()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +WarningPrint

    +
    +public static void WarningPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setVisible

    +
    +public void setVisible(boolean visible)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RingBell

    +
    +public void RingBell()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GetParameter

    +
    +public java.lang.String GetParameter(java.lang.String strName,
    +                                     java.lang.String[] args)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Return the value of the matching strName if one exist(), optionally + searching command line args given in args. + Parameters can also be found in environment variables or the options section + of the diag file. +

    +

    +
    +
    +
    + +
    Returns:
    value
    +
    +
    +
    + +

    +GeneratePrintSizesFile

    +
    +public void GeneratePrintSizesFile()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GetParameters

    +
    +public void GetParameters(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +printHelp

    +
    +public static void printHelp()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +createScript

    +
    +public java.lang.String createScript(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckForCppEnum

    +
    +public boolean CheckForCppEnum(java.lang.String cpp_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckForCppClass

    +
    +public boolean CheckForCppClass(java.lang.String cpp_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckForCppPosemathClass

    +
    +public boolean CheckForCppPosemathClass(java.lang.String cpp_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GetEnumTypeName

    +
    +public java.lang.String GetEnumTypeName(java.lang.String vardef)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +VarIsUnsigned

    +
    +public boolean VarIsUnsigned(java.lang.String vardef)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GetCppVarDef

    +
    +public java.lang.String GetCppVarDef(java.lang.String var,
    +                                     StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ConvertCppTypeToJavaType

    +
    +public java.lang.String ConvertCppTypeToJavaType(java.lang.String cpp_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckForJavaStatic

    +
    +public boolean CheckForJavaStatic(java.lang.String java_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckForJavaClass

    +
    +public boolean CheckForJavaClass(java.lang.String java_type)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateJavaDefinition

    +
    +public void CreateJavaDefinition(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateJavaUpdateFunction

    +
    +public void CreateJavaUpdateFunction(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateC_UpdateFunction

    +
    +public void CreateC_UpdateFunction(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateCppUpdateFunction

    +
    +public void CreateCppUpdateFunction(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +PrintInfo

    +
    +public void PrintInfo(java.lang.String options)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +PrintInfo

    +
    +public void PrintInfo(StructureTypeInfo type_info,
    +                      java.lang.String var_prefix,
    +                      int varnum,
    +                      int offset)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateCppInitializer

    +
    +public void CreateCppInitializer(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateCppConstructor

    +
    +public void CreateCppConstructor(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateJavaClass

    +
    +public void GenerateJavaClass(java.lang.String class_name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateJavaClasses

    +
    +public void GenerateJavaClasses()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsNonUpdatebleClass

    +
    +public boolean IsNonUpdatebleClass(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateC_UpdateFunction

    +
    +public void GenerateC_UpdateFunction(java.lang.String class_name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppUpdateFunction

    +
    +public void GenerateCppUpdateFunction(java.lang.String class_name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +WriteOutput

    +
    +public void WriteOutput(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppInitializer

    +
    +public void GenerateCppInitializer(java.lang.String class_name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppConstructor

    +
    +public void GenerateCppConstructor(java.lang.String class_name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateC_UpdateFunctions

    +
    +public void GenerateC_UpdateFunctions()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppUpdateFunctions

    +
    +public void GenerateCppUpdateFunctions()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppConstructors

    +
    +public void GenerateCppConstructors()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +find_common_root

    +
    +public java.lang.String find_common_root(java.lang.String[] strs)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsRcsStatMsg

    +
    +public boolean IsRcsStatMsg(java.lang.String classname)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsRcsStatMsgV2

    +
    +public boolean IsRcsStatMsgV2(java.lang.String classname)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsNMLMsg

    +
    +public boolean IsNMLMsg(java.lang.String classname)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GetFormatFunctionNameBase

    +
    +public java.lang.String GetFormatFunctionNameBase(java.lang.String[] selected_classes)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateAdaSpec

    +
    +public void GenerateAdaSpec()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateAdaBody

    +
    +public void GenerateAdaBody()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateC_PrototypesHeader

    +
    +public void GenerateC_PrototypesHeader()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateC_StartOfFile

    +
    +public void GenerateC_StartOfFile()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppStartOfFile

    +
    +public void GenerateCppStartOfFile()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RemoveDuplicates

    +
    +public java.lang.String[] RemoveDuplicates(java.lang.String[] list)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppPrototypesHeader

    +
    +public void GenerateCppPrototypesHeader()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +EstimateSize

    +
    +public void EstimateSize(StructureTypeInfo type_info)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +WriteToFos

    +
    +public void WriteToFos(java.io.FileOutputStream fos,
    +                       java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppEnumInfo

    +
    +public void GenerateCppEnumInfo(java.lang.String[] selected_classes)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +SetFormatFunctionName

    +
    +public void SetFormatFunctionName(java.lang.String[] selected_classes)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateCppFormatFunction

    +
    +public void GenerateCppFormatFunction()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +SetOutputFile

    +
    +public void SetOutputFile(java.lang.String str)
    +                   throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +GenerateC_FormatFunction

    +
    +public void GenerateC_FormatFunction()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_base_name

    +
    +public java.lang.String get_base_name(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_optionsHashTable

    +
    +public java.util.Hashtable get_optionsHashTable()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Returns the optionsHashTable property. + This is a Hashtable macthing String option names to String values. + Options can be set with command line parameters, int the options section of + a config file or .diag file or with environment variables. + The use of a generic hashtable rather than Hashtable is to maintain Java 1.4 compatibility. +

    +

    +
    +
    +
    + +
    Returns:
    the hashtable.
    +
    +
    +
    + +

    +set_optionsHashTable

    +
    +public void set_optionsHashTable(java.util.Hashtable ht)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RemoveStartingEndingSpace

    +
    +public java.lang.String RemoveStartingEndingSpace(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsInteger

    +
    +public boolean IsInteger(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsDouble

    +
    +public boolean IsDouble(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +GenerateJavaMessageDict

    +
    +public void GenerateJavaMessageDict()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ClearAll

    +
    +public void ClearAll()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAlphabatizedItem

    +
    +public void AddAlphabatizedItem(FastListPanelInterface lst,
    +                                java.lang.String item,
    +                                boolean select_it)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +is_generic

    +
    +public boolean is_generic(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +SelectByFromFile

    +
    +public void SelectByFromFile(java.lang.String filename)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +SelectFromAllFiles

    +
    +public void SelectFromAllFiles()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +InitializeClassList

    +
    +public void InitializeClassList()
    +                         throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +ResetGenericClasses

    +
    +public void ResetGenericClasses()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ParseOptionsInfo

    +
    +public void ParseOptionsInfo()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAuxBufferModule

    +
    +public void AddAuxBufferModule(java.lang.String buffer_name,
    +                               java.lang.String header,
    +                               java.lang.String nml_file)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Adds Information related to an auxilliary buffer. + Only used by diagnostics tool. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadHierarchyNewThread

    +
    +public void LoadHierarchyNewThread(java.lang.String HierarchyName,
    +                                   LoadHierarchyUpdateInterface _lhui)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadHierarchy

    +
    +public void LoadHierarchy()
    +                   throws java.lang.Exception
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Load the hierarchy parsing the file set with set_m_hierarchyFile(). +

    +

    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +remove_leading_whitespace

    +
    +public java.lang.String remove_leading_whitespace(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +remove_leading_whitespace_static

    +
    +public static java.lang.String remove_leading_whitespace_static(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +MakeListGeneric

    +
    +public void MakeListGeneric(FastListPanelInterface lst)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RunScript

    +
    +public void RunScript(java.lang.String new_script)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RunLineOfScriptStatic

    +
    +public static void RunLineOfScriptStatic(java.lang.String line_of_script)
    +                                  throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +RunLineOfScript

    +
    +public void RunLineOfScript(java.lang.String line_of_script)
    +                     throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +RunScript

    +
    +public void RunScript()
    +               throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_static_debug_on

    +
    +public static boolean get_static_debug_on()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_static_debug_on

    +
    +public static void set_static_debug_on(boolean dbg)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_debug_on

    +
    +public boolean get_debug_on()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_debug_on

    +
    +public void set_debug_on(boolean dbg)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_includePath

    +
    +public java.lang.String get_includePath()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +append_includePath

    +
    +public void append_includePath(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_includePath

    +
    +public void set_includePath(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_print_prompt

    +
    +public boolean get_print_prompt()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_print_prompt

    +
    +public void set_print_prompt(boolean pp)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_display_on

    +
    +public boolean get_display_on()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_display_on

    +
    +public void set_display_on(boolean dispon)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_script

    +
    +public java.lang.String get_script()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_script

    +
    +public void set_script(java.lang.String scrf)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_ClassList

    +
    +public FastListPanelInterface get_ClassList()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Get the ClassList property. Depending on whether this is run from a graphical tool or not + the ClassList may simply wrap a Vector of strings of the class names or a Graphical widget + for displaying selecting them. +

    +

    +
    +
    +
    + +
    Returns:
    ClassList
    +
    +
    +
    + +

    +set_ClassList

    +
    +public void set_ClassList(FastListPanelInterface flp)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set the ClassList property. Depending on whether this is run from a graphical tool or not + the ClassList may simply wrap a Vector of strings of the class names or a Graphical widget + for displaying selecting them. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_cppFileName

    +
    +public java.lang.String get_cppFileName()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_cppFileName

    +
    +public void set_cppFileName(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_javaFileName

    +
    +public java.lang.String get_javaFileName()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_javaFileName

    +
    +public void set_javaFileName(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_codeTextArea

    +
    +public diagapplet.CodeGen.CodeGenTextAreaInterface get_codeTextArea()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_codeTextArea

    +
    +public void set_codeTextArea(diagapplet.CodeGen.CodeGenTextAreaInterface cta)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_hierarchyFile

    +
    +public java.lang.String get_m_hierarchyFile()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Get the hierarchyFile property. A string containing the name/URL of the last loaded hiearchyFile + optionally including the path. +

    +

    +
    +
    +
    + +
    Returns:
    hierarchy file name.
    +
    +
    +
    + +

    +set_m_hierarchyFile

    +
    +public void set_m_hierarchyFile(java.lang.String str)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set the hierarchyFile property. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_ConfigFile

    +
    +public java.lang.String get_m_ConfigFile()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_m_ConfigFile

    +
    +public void set_m_ConfigFile(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_includePathField

    +
    +public diagapplet.CodeGen.CodeGenTextFieldInterface get_includePathField()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_includePathField

    +
    +public void set_includePathField(diagapplet.CodeGen.CodeGenTextFieldInterface cgtfi)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_configFileTextField

    +
    +public diagapplet.CodeGen.CodeGenTextFieldInterface get_configFileTextField()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_configFileTextField

    +
    +public void set_configFileTextField(diagapplet.CodeGen.CodeGenTextFieldInterface cgtfi)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_reload_hierarchy_needed

    +
    +public boolean get_reload_hierarchy_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_reload_hierarchy_needed

    +
    +public void set_reload_hierarchy_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_java_classes_needed

    +
    +public boolean get_generate_java_classes_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_java_classes_needed

    +
    +public void set_generate_java_classes_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_java_dictionary_needed

    +
    +public boolean get_generate_java_dictionary_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_java_dictionary_needed

    +
    +public void set_generate_java_dictionary_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_cpp_update_functions_needed

    +
    +public boolean get_generate_cpp_update_functions_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_cpp_update_functions_needed

    +
    +public void set_generate_cpp_update_functions_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_cpp_format_function_needed

    +
    +public boolean get_generate_cpp_format_function_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_cpp_format_function_needed

    +
    +public void set_generate_cpp_format_function_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generate_cpp_constructors_needed

    +
    +public boolean get_generate_cpp_constructors_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generate_cpp_constructors_needed

    +
    +public void set_generate_cpp_constructors_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_RunIndependantly

    +
    +public boolean get_RunIndependantly()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_RunIndependantly

    +
    +public void set_RunIndependantly(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_first_java_class

    +
    +public boolean get_first_java_class()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_first_java_class

    +
    +public void set_first_java_class(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_first_cpp_function

    +
    +public boolean get_first_cpp_function()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_first_cpp_function

    +
    +public void set_first_cpp_function(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_running

    +
    +public boolean get_running()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_running

    +
    +public void set_running(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_run_needed

    +
    +public boolean get_run_needed()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_run_needed

    +
    +public void set_run_needed(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_is_loading_hierarchy

    +
    +public boolean get_is_loading_hierarchy()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_is_loading_hierarchy

    +
    +public void set_is_loading_hierarchy(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_generating_code

    +
    +public boolean get_generating_code()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_generating_code

    +
    +public void set_generating_code(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_running_script

    +
    +public boolean get_running_script()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_running_script

    +
    +public void set_running_script(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_force_reload_file

    +
    +public boolean get_force_reload_file()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_force_reload_file

    +
    +public void set_force_reload_file(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_modulesHashTable

    +
    +public java.util.Hashtable get_m_modulesHashTable()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Returns the modulesHashTable property. + This is a HashTable matching module names (Strings) to ModuleInfo objects. + The use of a generic hashtable rather than Hashtable is to maintain Java 1.4 compatibility. +

    +

    +
    +
    +
    + +
    Returns:
    m_modulesHashTable
    +
    +
    +
    + +

    +set_m_modulesHashTable

    +
    +public void set_m_modulesHashTable(java.util.Hashtable ht)
    +
    +
    Sets the modulesHashTable property. + This is a HashTable matching module names (Strings) to ModuleInfo objects. + The use of a generic hashtable is to maintain Java 1.4 compatibility. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_serversHashtable

    +
    +public java.util.Hashtable get_serversHashtable()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_serversHashtable

    +
    +public void set_serversHashtable(java.util.Hashtable ht)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_loadingPanel

    +
    +public URLLoadInfoPanelInterface get_m_loadingPanel()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_m_loadingPanel

    +
    +public void set_m_loadingPanel(URLLoadInfoPanelInterface lp)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_script_file_ran

    +
    +public boolean get_script_file_ran()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_script_file_ran

    +
    +public void set_script_file_ran(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_inside_diagapplet

    +
    +public boolean get_inside_diagapplet()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_inside_diagapplet

    +
    +public void set_inside_diagapplet(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_hierarchyFileLoadButton

    +
    +public CountButtonInterface get_m_hierarchyFileLoadButton()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_m_hierarchyFileLoadButton

    +
    +public void set_m_hierarchyFileLoadButton(CountButtonInterface cbi)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_lastIncludePath

    +
    +public java.lang.String get_lastIncludePath()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_lastIncludePath

    +
    +public void set_lastIncludePath(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_update_with_name

    +
    +public boolean get_update_with_name()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_update_with_name

    +
    +public void set_update_with_name(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +is_preserve_modules_hashtable

    +
    +public boolean is_preserve_modules_hashtable()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_preserve_modules_hashtable

    +
    +public void set_preserve_modules_hashtable(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +is_interrupt_loading

    +
    +public boolean is_interrupt_loading()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Return the value of the interrupt_loading property. + It is generally set from one thread to end a long CodeGen function in another + thread safely and needs to be checked from wihin each loop. +

    +

    +
    +
    +
    + +
    Returns:
    interrupt_loading property.
    +
    +
    +
    + +

    +set_interrupt_loading

    +
    +public void set_interrupt_loading(boolean b)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set the value of the interrupt_loading property. + This should cause any function likely to take a long time in another thread + to return an error quickly. +

    +

    +
    +
    +
    +
    Parameters:
    b - new value of interupt_loading property.
    +
    +
    +
    + +

    +set_nml_creator

    +
    +public void set_nml_creator(NMLConnectionCreatorInterface _nml_creator)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set the nml_creator property. + Used only by the diagnostics tools. + This object create NMLConnecton objects indirectly in a way to avoid + circular dependancy. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_nml_creator

    +
    +public NMLConnectionCreatorInterface get_nml_creator()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Get the nml_creator property. +

    +

    +
    +
    +
    + +
    Returns:
    nml_creator.
    +
    +
    +
    + +

    +set_diag_dict_creator

    +
    +public void set_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set a diag_dict_creator property. + Only used by diagnostics tool. + This object create DiagNMLMsgDict objects indirectly in a way to avoid + circular dependancy. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_diag_dict_creator

    +
    +public DiagNMLMsgDictCreatorInterface get_diag_dict_creator()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Get the diag_dict_creator property. + Only used by diagnostics tool. +

    +

    +
    +
    +
    + +
    Returns:
    diag_dict_creator
    +
    +
    +
    + +

    +get_m_modulesList

    +
    +public FastListPanelInterface get_m_modulesList()
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Get the ModulesList property. Depending on whether this is run from a graphical tool or not + the ModulesList may simply wrap a Vector of strings of the module names or a Graphical widget + for displaying selecting them. +

    +

    +
    +
    +
    + +
    Returns:
    modulesList
    +
    +
    +
    + +

    +set_m_modulesList

    +
    +public void set_m_modulesList(FastListPanelInterface lst)
    +
    +
    Description copied from interface: CodeGenCommonInterface
    +
    Set the ModulesList property. Depending on whether this is run from a graphical tool or not + the ModulesList may simply wrap a Vector of strings of the module names or a Graphical widget + for displaying selecting them. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +get_m_modulesCountList

    +
    +public CountListInterface get_m_modulesCountList()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_m_modulesCountList

    +
    +public void set_m_modulesCountList(CountListInterface lst)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_serversList

    +
    +public FastListPanelInterface get_serversList()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_serversList

    +
    +public void set_serversList(FastListPanelInterface lst)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/CodeGenCommonInterface.html b/doc/javadoc/diagapplet/CodeGen/CodeGenCommonInterface.html new file mode 100644 index 0000000..71352c1 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/CodeGenCommonInterface.html @@ -0,0 +1,1166 @@ + + + + + + +CodeGenCommonInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface CodeGenCommonInterface

    +
    +
    +
    public interface CodeGenCommonInterface
    + + +

    +Provides an interface for the Diagnostics tool and Design Tools to CodeGenCommon + without a circular dependancy that directly using the class would cause. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static java.lang.Stringndla_len_string + +
    +           
    +static java.lang.Stringndla_string + +
    +           
    +static java.lang.StringPARAM_AddSetHeader + +
    +           
    +static java.lang.StringPARAM_ConfigFile + +
    +           
    +static java.lang.StringPARAM_CreatePrintSizesFile + +
    +           
    +static java.lang.StringPARAM_DebugOn + +
    +           
    +static java.lang.StringPARAM_DisplayOn + +
    +           
    +static java.lang.StringPARAM_DlaLengthInit + +
    +           
    +static java.lang.StringPARAM_GenerateAllEnumSymbolLookups + +
    +           
    +static java.lang.StringPARAM_GenerateForAda + +
    +           
    +static java.lang.StringPARAM_GenerateForAllLangs + +
    +           
    +static java.lang.StringPARAM_GenerateForC + +
    +           
    +static java.lang.StringPARAM_GenerateForCPP + +
    +           
    +static java.lang.StringPARAM_GenerateForJava + +
    +           
    +static java.lang.StringPARAM_GenerateSymbolLookups + +
    +           
    +static java.lang.StringPARAM_HeaderFile + +
    +           
    +static java.lang.StringPARAM_HFile + +
    +           
    +static java.lang.StringPARAM_HHFile + +
    +           
    +static java.lang.StringPARAM_HierarchyFile + +
    +           
    +static java.lang.StringPARAM_JavaPackageName + +
    +           
    +static java.lang.StringPARAM_NoErrlog + +
    +           
    +static java.lang.StringPARAM_PrintScript + +
    +           
    +static java.lang.StringPARAM_ScriptFile + +
    +           
    +static java.lang.StringPARAM_SelectFromAllFiles + +
    +           
    +static java.lang.StringPARAM_SizesFileName + +
    +           
    +static java.lang.StringPARAM_UpdateWithName + +
    +           
    +static java.lang.StringPARAM_UseDefaultTypes + +
    +           
    +static java.lang.Stringunbounded_string + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddAuxBufferModule(java.lang.String buffer_name, + java.lang.String header, + java.lang.String nml_file) + +
    +          Adds Information related to an auxilliary buffer.
    + FastListPanelInterfaceget_ClassList() + +
    +          Get the ClassList property.
    + DiagNMLMsgDictCreatorInterfaceget_diag_dict_creator() + +
    +          Get the diag_dict_creator property.
    + java.util.Vectorget_extraActionsVector() + +
    +          Returns an extrActionsVector().
    + java.util.Vectorget_extraTabsVector() + +
    +          Returns an extrTabsVector().
    + java.lang.Stringget_m_hierarchyFile() + +
    +          Get the hierarchyFile property.
    + java.util.Hashtableget_m_modulesHashTable() + +
    +          Returns the modulesHashTable property.
    + FastListPanelInterfaceget_m_modulesList() + +
    +          Get the ModulesList property.
    + NMLConnectionCreatorInterfaceget_nml_creator() + +
    +          Get the nml_creator property.
    + java.util.Hashtableget_optionsHashTable() + +
    +          Returns the optionsHashTable property.
    + java.lang.StringGetParameter(java.lang.String strName, + java.lang.String[] args) + +
    +          Return the value of the matching strName if one exist(), optionally + searching command line args given in args.
    + booleanis_interrupt_loading() + +
    +          Return the value of the interrupt_loading property.
    + voidLoadHierarchy() + +
    +          Load the hierarchy parsing the file set with set_m_hierarchyFile().
    + voidset_ClassList(FastListPanelInterface flp) + +
    +          Set the ClassList property.
    + voidset_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator) + +
    +          Set a diag_dict_creator property.
    + voidset_interrupt_loading(boolean b) + +
    +          Set the value of the interrupt_loading property.
    + voidset_m_hierarchyFile(java.lang.String str) + +
    +          Set the hierarchyFile property.
    + voidset_m_modulesList(FastListPanelInterface lst) + +
    +          Set the ModulesList property.
    + voidset_nml_creator(NMLConnectionCreatorInterface _nml_creator) + +
    +          Set the nml_creator property.
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +PARAM_HierarchyFile

    +
    +static final java.lang.String PARAM_HierarchyFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_ConfigFile

    +
    +static final java.lang.String PARAM_ConfigFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_HeaderFile

    +
    +static final java.lang.String PARAM_HeaderFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_HFile

    +
    +static final java.lang.String PARAM_HFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_HHFile

    +
    +static final java.lang.String PARAM_HHFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_ScriptFile

    +
    +static final java.lang.String PARAM_ScriptFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_DebugOn

    +
    +static final java.lang.String PARAM_DebugOn
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_UpdateWithName

    +
    +static final java.lang.String PARAM_UpdateWithName
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_CreatePrintSizesFile

    +
    +static final java.lang.String PARAM_CreatePrintSizesFile
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_SelectFromAllFiles

    +
    +static final java.lang.String PARAM_SelectFromAllFiles
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_SizesFileName

    +
    +static final java.lang.String PARAM_SizesFileName
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateSymbolLookups

    +
    +static final java.lang.String PARAM_GenerateSymbolLookups
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateAllEnumSymbolLookups

    +
    +static final java.lang.String PARAM_GenerateAllEnumSymbolLookups
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_AddSetHeader

    +
    +static final java.lang.String PARAM_AddSetHeader
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateForC

    +
    +static final java.lang.String PARAM_GenerateForC
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateForAllLangs

    +
    +static final java.lang.String PARAM_GenerateForAllLangs
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateForCPP

    +
    +static final java.lang.String PARAM_GenerateForCPP
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateForJava

    +
    +static final java.lang.String PARAM_GenerateForJava
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_GenerateForAda

    +
    +static final java.lang.String PARAM_GenerateForAda
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_JavaPackageName

    +
    +static final java.lang.String PARAM_JavaPackageName
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_DlaLengthInit

    +
    +static final java.lang.String PARAM_DlaLengthInit
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_DisplayOn

    +
    +static final java.lang.String PARAM_DisplayOn
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_UseDefaultTypes

    +
    +static final java.lang.String PARAM_UseDefaultTypes
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_NoErrlog

    +
    +static final java.lang.String PARAM_NoErrlog
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PARAM_PrintScript

    +
    +static final java.lang.String PARAM_PrintScript
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ndla_string

    +
    +static final java.lang.String ndla_string
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ndla_len_string

    +
    +static final java.lang.String ndla_len_string
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +unbounded_string

    +
    +static final java.lang.String unbounded_string
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Method Detail
    + +

    +is_interrupt_loading

    +
    +boolean is_interrupt_loading()
    +
    +
    Return the value of the interrupt_loading property. + It is generally set from one thread to end a long CodeGen function in another + thread safely and needs to be checked from wihin each loop. +

    +

    + +
    Returns:
    interrupt_loading property.
    +
    +
    +
    + +

    +set_interrupt_loading

    +
    +void set_interrupt_loading(boolean b)
    +
    +
    Set the value of the interrupt_loading property. + This should cause any function likely to take a long time in another thread + to return an error quickly. +

    +

    +
    Parameters:
    b - new value of interupt_loading property.
    +
    +
    +
    + +

    +get_m_modulesHashTable

    +
    +java.util.Hashtable get_m_modulesHashTable()
    +
    +
    Returns the modulesHashTable property. + This is a HashTable matching module names (Strings) to ModuleInfo objects. + The use of a generic hashtable rather than Hashtable is to maintain Java 1.4 compatibility. +

    +

    + +
    Returns:
    m_modulesHashTable
    +
    +
    +
    + +

    +get_optionsHashTable

    +
    +java.util.Hashtable get_optionsHashTable()
    +
    +
    Returns the optionsHashTable property. + This is a Hashtable macthing String option names to String values. + Options can be set with command line parameters, int the options section of + a config file or .diag file or with environment variables. + The use of a generic hashtable rather than Hashtable is to maintain Java 1.4 compatibility. +

    +

    + +
    Returns:
    the hashtable.
    +
    +
    +
    + +

    +get_m_hierarchyFile

    +
    +java.lang.String get_m_hierarchyFile()
    +
    +
    Get the hierarchyFile property. A string containing the name/URL of the last loaded hiearchyFile + optionally including the path. +

    +

    + +
    Returns:
    hierarchy file name.
    +
    +
    +
    + +

    +set_m_hierarchyFile

    +
    +void set_m_hierarchyFile(java.lang.String str)
    +
    +
    Set the hierarchyFile property. +

    +

    +
    Parameters:
    str -
    +
    +
    +
    + +

    +get_ClassList

    +
    +FastListPanelInterface get_ClassList()
    +
    +
    Get the ClassList property. Depending on whether this is run from a graphical tool or not + the ClassList may simply wrap a Vector of strings of the class names or a Graphical widget + for displaying selecting them. +

    +

    + +
    Returns:
    ClassList
    +
    +
    +
    + +

    +set_ClassList

    +
    +void set_ClassList(FastListPanelInterface flp)
    +
    +
    Set the ClassList property. Depending on whether this is run from a graphical tool or not + the ClassList may simply wrap a Vector of strings of the class names or a Graphical widget + for displaying selecting them. +

    +

    +
    Parameters:
    flp -
    +
    +
    +
    + +

    +get_m_modulesList

    +
    +FastListPanelInterface get_m_modulesList()
    +
    +
    Get the ModulesList property. Depending on whether this is run from a graphical tool or not + the ModulesList may simply wrap a Vector of strings of the module names or a Graphical widget + for displaying selecting them. +

    +

    + +
    Returns:
    modulesList
    +
    +
    +
    + +

    +set_m_modulesList

    +
    +void set_m_modulesList(FastListPanelInterface lst)
    +
    +
    Set the ModulesList property. Depending on whether this is run from a graphical tool or not + the ModulesList may simply wrap a Vector of strings of the module names or a Graphical widget + for displaying selecting them. +

    +

    +
    Parameters:
    lst -
    +
    +
    +
    + +

    +LoadHierarchy

    +
    +void LoadHierarchy()
    +                   throws java.lang.Exception
    +
    +
    Load the hierarchy parsing the file set with set_m_hierarchyFile(). +

    +

    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +set_diag_dict_creator

    +
    +void set_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator)
    +
    +
    Set a diag_dict_creator property. + Only used by diagnostics tool. + This object create DiagNMLMsgDict objects indirectly in a way to avoid + circular dependancy. +

    +

    +
    Parameters:
    _diag_dict_creator -
    +
    +
    +
    + +

    +get_diag_dict_creator

    +
    +DiagNMLMsgDictCreatorInterface get_diag_dict_creator()
    +
    +
    Get the diag_dict_creator property. + Only used by diagnostics tool. +

    +

    + +
    Returns:
    diag_dict_creator
    +
    +
    +
    + +

    +set_nml_creator

    +
    +void set_nml_creator(NMLConnectionCreatorInterface _nml_creator)
    +
    +
    Set the nml_creator property. + Used only by the diagnostics tools. + This object create NMLConnecton objects indirectly in a way to avoid + circular dependancy. +

    +

    +
    Parameters:
    _nml_creator -
    +
    +
    +
    + +

    +get_nml_creator

    +
    +NMLConnectionCreatorInterface get_nml_creator()
    +
    +
    Get the nml_creator property. +

    +

    + +
    Returns:
    nml_creator.
    +
    +
    +
    + +

    +GetParameter

    +
    +java.lang.String GetParameter(java.lang.String strName,
    +                              java.lang.String[] args)
    +
    +
    Return the value of the matching strName if one exist(), optionally + searching command line args given in args. + Parameters can also be found in environment variables or the options section + of the diag file. +

    +

    +
    Parameters:
    strName -
    args - +
    Returns:
    value
    +
    +
    +
    + +

    +AddAuxBufferModule

    +
    +void AddAuxBufferModule(java.lang.String buffer_name,
    +                        java.lang.String header,
    +                        java.lang.String nml_file)
    +
    +
    Adds Information related to an auxilliary buffer. + Only used by diagnostics tool. +

    +

    +
    Parameters:
    buffer_name -
    header -
    nml_file -
    +
    +
    +
    + +

    +get_extraActionsVector

    +
    +java.util.Vector get_extraActionsVector()
    +
    +
    Returns an extrActionsVector(). + It is a vector of strings read from the config file. + The diagnostics tool adds an menu item at run time for each item in the vector. +

    +

    + +
    Returns:
    extraActionsVector()
    +
    +
    +
    + +

    +get_extraTabsVector

    +
    +java.util.Vector get_extraTabsVector()
    +
    +
    Returns an extrTabsVector(). + It is a vector of strings read from the config file. + The diagnostics tool adds a tab at run time for each item in the vector. +

    +

    + +
    Returns:
    extraTabsVector()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDict.html b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDict.html new file mode 100644 index 0000000..0f88144 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDict.html @@ -0,0 +1,567 @@ + + + + + + +DiagNMLMsgDict + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class DiagNMLMsgDict

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.DiagNMLMsgDict
    +
    +
    +
    All Implemented Interfaces:
    DiagNMLMsgDictInterface, NMLMessageDictionary
    +
    +
    +
    +
    public class DiagNMLMsgDict
    extends java.lang.Object
    implements NMLMessageDictionary, DiagNMLMsgDictInterface
    + + +

    +* NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages. + They are generally created using the CodeGenerator and therefore have type information + built in at compile-time. The Diag version must discover the type information at runtime. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +          When set to true debug_on enables extra calls to System.out for debugging.
    +  + + + + + + + + + + +
    +Constructor Summary
    DiagNMLMsgDict() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidbytesNotUsed(int bytes_in_input_stream, + java.lang.String bufName, + boolean warn_given) + +
    +          Used to log a warning message if the dictionary results do not + match the expected input.
    +static voidErrorPrint(java.lang.String s) + +
    +           
    + intformatMsg(NMLFormatConverter NMLfc) + +
    +          This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function.
    + intget_failed_count() + +
    +          Returns the number of errors that have occured related to this dictionary.
    + longgetEstimatedSize(int _type) + +
    +           
    + longgetMaxEstimatedSize() + +
    +           
    + voidmiscError() + +
    +          Log Information about this dictionary when generic NML error occurs.
    + voidmiscError(java.lang.Exception e) + +
    +          Log Information about this dictionary when NML error occurs with a related Exception + called by NMLFormatConvertErrCallbackInterface
    + voidSetModuleInfoObject(ModuleInfoInterface o) + +
    +          Used to set a ModuleInfo object, needed for this to function.
    + voidtokensNotUsed(int num_tokens, + java.lang.String input_string, + boolean warn_given) + +
    +          Used to log a warning message if the dictionary results do not + match the expected input.
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static volatile boolean debug_on
    +
    +
    When set to true debug_on enables extra calls to System.out for debugging. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +DiagNMLMsgDict

    +
    +public DiagNMLMsgDict()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getEstimatedSize

    +
    +public long getEstimatedSize(int _type)
    +
    +
    +
    Specified by:
    getEstimatedSize in interface NMLMessageDictionary
    +
    +
    +
    +
    +
    +
    + +

    +getMaxEstimatedSize

    +
    +public long getMaxEstimatedSize()
    +
    +
    +
    Specified by:
    getMaxEstimatedSize in interface NMLMessageDictionary
    +
    +
    +
    +
    +
    +
    + +

    +tokensNotUsed

    +
    +public void tokensNotUsed(int num_tokens,
    +                          java.lang.String input_string,
    +                          boolean warn_given)
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Used to log a warning message if the dictionary results do not + match the expected input. +

    +

    +
    Specified by:
    tokensNotUsed in interface DiagNMLMsgDictInterface
    +
    +
    +
    Parameters:
    num_tokens - -- number tokens in input_string
    input_string - -- comma delimited string to be parsed
    warn_given - -- if already warned do not warn again.
    +
    +
    +
    + +

    +bytesNotUsed

    +
    +public void bytesNotUsed(int bytes_in_input_stream,
    +                         java.lang.String bufName,
    +                         boolean warn_given)
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Used to log a warning message if the dictionary results do not + match the expected input. +

    +

    +
    Specified by:
    bytesNotUsed in interface DiagNMLMsgDictInterface
    +
    +
    +
    Parameters:
    bytes_in_input_stream - -- number of bytes read
    bufName - -- NML buffer name
    warn_given - -- if already warned do not warn again.
    +
    +
    +
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +miscError

    +
    +public void miscError()
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Log Information about this dictionary when generic NML error occurs. + called by NMLFormatConvertErrCallbackInterface +

    +

    +
    Specified by:
    miscError in interface DiagNMLMsgDictInterface
    +
    +
    +
    +
    +
    +
    + +

    +miscError

    +
    +public void miscError(java.lang.Exception e)
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Log Information about this dictionary when NML error occurs with a related Exception + called by NMLFormatConvertErrCallbackInterface +

    +

    +
    Specified by:
    miscError in interface DiagNMLMsgDictInterface
    +
    +
    +
    +
    +
    +
    + +

    +SetModuleInfoObject

    +
    +public void SetModuleInfoObject(ModuleInfoInterface o)
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Used to set a ModuleInfo object, needed for this to function. + The non type safe use of an object parameter +

    +

    +
    Specified by:
    SetModuleInfoObject in interface DiagNMLMsgDictInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_failed_count

    +
    +public int get_failed_count()
    +
    +
    Description copied from interface: DiagNMLMsgDictInterface
    +
    Returns the number of errors that have occured related to this dictionary. + incremented automatically. +

    +

    +
    Specified by:
    get_failed_count in interface DiagNMLMsgDictInterface
    +
    +
    + +
    Returns:
    failed_count.
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +formatMsg

    +
    +public int formatMsg(NMLFormatConverter NMLfc)
    +
    +
    Description copied from interface: NMLMessageDictionary
    +
    This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function. +

    +

    +
    Specified by:
    formatMsg in interface NMLMessageDictionary
    +
    +
    +
    Parameters:
    NMLfc - a format converter object which provides methods + for updating all the basic types and is used to update + the message, member-by-member. +
    Returns:
    The function should return 0 if it is successful, -1 + otherwise.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreator.html b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreator.html new file mode 100644 index 0000000..6951cf4 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreator.html @@ -0,0 +1,273 @@ + + + + + + +DiagNMLMsgDictCreator + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class DiagNMLMsgDictCreator

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.DiagNMLMsgDictCreator
    +
    +
    +
    All Implemented Interfaces:
    DiagNMLMsgDictCreatorInterface
    +
    +
    +
    +
    public class DiagNMLMsgDictCreator
    extends java.lang.Object
    implements DiagNMLMsgDictCreatorInterface
    + + +

    +Objects of this class are passed from the diagnositcs tool and design tool to the CodeGen + objects as a way of indirectly passing DiagNMLMsgDicts() without introducing + unnecessary compile-time dependancies. + + The need to eliminate circular dependancies came from seperately compiling each java + file in a Makefile with a variety of compilers. It is likely no longer necessary + to eliminate the circular dependancies. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    DiagNMLMsgDictCreator() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + DiagNMLMsgDictInterfacecreate(boolean cmd_stream, + boolean stat_stream) + +
    +          Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +DiagNMLMsgDictCreator

    +
    +public DiagNMLMsgDictCreator()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +create

    +
    +public DiagNMLMsgDictInterface create(boolean cmd_stream,
    +                                      boolean stat_stream)
    +
    +
    Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream. +

    +

    +
    Specified by:
    create in interface DiagNMLMsgDictCreatorInterface
    +
    +
    +
    Parameters:
    cmd_stream -
    stat_stream - +
    Returns:
    ane DiagNMLMsgDict object.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.html b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.html new file mode 100644 index 0000000..102eb49 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictCreatorInterface.html @@ -0,0 +1,224 @@ + + + + + + +DiagNMLMsgDictCreatorInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface DiagNMLMsgDictCreatorInterface

    +
    +
    All Known Implementing Classes:
    DiagNMLMsgDictCreator
    +
    +
    +
    +
    public interface DiagNMLMsgDictCreatorInterface
    + + +

    +Interface that allows the Diagnostics tool and Design tool to pass + DiagNMLMsgDictCreator's to the CodeGen without the CodeGen having an explicit + dependancy on DiagNMLMsgDictCreator(). + + The need to eliminate circular dependancies came from seperately compiling each java + file in a Makefile with a variety of compilers. It is likely no longer necessary + to eliminate the circular dependancies. +

    + +

    +


    + +

    + + + + + + + + + + + + +
    +Method Summary
    + DiagNMLMsgDictInterfacecreate(boolean cmd_stream, + boolean stat_stream) + +
    +          Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +create

    +
    +DiagNMLMsgDictInterface create(boolean cmd_stream,
    +                               boolean stat_stream)
    +
    +
    Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream. +

    +

    +
    Parameters:
    cmd_stream -
    stat_stream - +
    Returns:
    new dictionary object
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictInterface.html b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictInterface.html new file mode 100644 index 0000000..ca01288 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/DiagNMLMsgDictInterface.html @@ -0,0 +1,379 @@ + + + + + + +DiagNMLMsgDictInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface DiagNMLMsgDictInterface

    +
    +
    All Superinterfaces:
    NMLMessageDictionary
    +
    +
    +
    All Known Implementing Classes:
    DiagNMLMsgDict
    +
    +
    +
    +
    public interface DiagNMLMsgDictInterface
    extends NMLMessageDictionary
    + + +

    +NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages. + They are generally created using the CodeGenerator and therefore have type information + built in at compile-time. The Diag version must discover the type information at runtime. + + This interface allows the CodeGen code to interact with a DiagNMLMsgDict without an + explicit dependancy. + + Many of the functions added relate to logging error messages. + + The need to eliminate circular dependancies came from seperately compiling each java + file in a Makefile with a variety of compilers. It is likely no longer necessary + to eliminate the circular dependancies. +

    + +

    +

    +
    See Also:
    NMLFormatConvertErrCallbackInterface
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidbytesNotUsed(int bytes_in_input_stream, + java.lang.String bufName, + boolean warn_given) + +
    +          Used to log a warning message if the dictionary results do not + match the expected input.
    + intget_failed_count() + +
    +          Returns the number of errors that have occured related to this dictionary.
    + voidmiscError() + +
    +          Log Information about this dictionary when generic NML error occurs.
    + voidmiscError(java.lang.Exception e) + +
    +          Log Information about this dictionary when NML error occurs with a related Exception + called by NMLFormatConvertErrCallbackInterface
    + voidSetModuleInfoObject(ModuleInfoInterface mi) + +
    +          Used to set a ModuleInfo object, needed for this to function.
    + voidtokensNotUsed(int num_tokens, + java.lang.String input_string, + boolean warn_given) + +
    +          Used to log a warning message if the dictionary results do not + match the expected input.
    + + + + + + + +
    Methods inherited from interface rcs.nml.NMLMessageDictionary
    formatMsg, getEstimatedSize, getMaxEstimatedSize
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +SetModuleInfoObject

    +
    +void SetModuleInfoObject(ModuleInfoInterface mi)
    +
    +
    Used to set a ModuleInfo object, needed for this to function. + The non type safe use of an object parameter +

    +

    +
    +
    +
    +
    Parameters:
    mi -
    +
    +
    +
    + +

    +get_failed_count

    +
    +int get_failed_count()
    +
    +
    Returns the number of errors that have occured related to this dictionary. + incremented automatically. +

    +

    +
    +
    +
    + +
    Returns:
    failed_count.
    +
    +
    +
    + +

    +tokensNotUsed

    +
    +void tokensNotUsed(int num_tokens,
    +                   java.lang.String input_string,
    +                   boolean warn_given)
    +
    +
    Used to log a warning message if the dictionary results do not + match the expected input. +

    +

    +
    +
    +
    +
    Parameters:
    num_tokens - -- number tokens in input_string
    input_string - -- comma delimited string to be parsed
    warn_given - -- if already warned do not warn again.
    +
    +
    +
    + +

    +bytesNotUsed

    +
    +void bytesNotUsed(int bytes_in_input_stream,
    +                  java.lang.String bufName,
    +                  boolean warn_given)
    +
    +
    Used to log a warning message if the dictionary results do not + match the expected input. +

    +

    +
    +
    +
    +
    Parameters:
    bytes_in_input_stream - -- number of bytes read
    bufName - -- NML buffer name
    warn_given - -- if already warned do not warn again.
    +
    +
    +
    + +

    +miscError

    +
    +void miscError()
    +
    +
    Log Information about this dictionary when generic NML error occurs. + called by NMLFormatConvertErrCallbackInterface +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +miscError

    +
    +void miscError(java.lang.Exception e)
    +
    +
    Log Information about this dictionary when NML error occurs with a related Exception + called by NMLFormatConvertErrCallbackInterface +

    +

    +
    +
    +
    +
    Parameters:
    e -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/EnumTypeInfo.html b/doc/javadoc/diagapplet/CodeGen/EnumTypeInfo.html new file mode 100644 index 0000000..6882695 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/EnumTypeInfo.html @@ -0,0 +1,456 @@ + + + + + + +EnumTypeInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class EnumTypeInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.EnumTypeInfo
    +
    +
    +
    +
    public class EnumTypeInfo
    extends java.lang.Object
    + + +

    +A class that includes informataion on the various values and their assocated names + with any enumeration. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.StringCppQualifiedName + +
    +           
    + booleangenerate_symbol_lookup + +
    +           
    + java.util.Hashtablehashtable + +
    +           
    + java.lang.StringInfo + +
    +           
    + booleaninsideNameSpace + +
    +           
    + java.lang.StringName + +
    +           
    + java.lang.StringNameSpace + +
    +           
    + java.util.Hashtableoverride_names_hashtable + +
    +           
    + java.util.Hashtablereverse_hashtable + +
    +           
    + booleantypedef + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    EnumTypeInfo() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    +
    +
    +
    + +

    +Info

    +
    +public java.lang.String Info
    +
    +
    +
    +
    +
    + +

    +NameSpace

    +
    +public java.lang.String NameSpace
    +
    +
    +
    +
    +
    + +

    +CppQualifiedName

    +
    +public java.lang.String CppQualifiedName
    +
    +
    +
    +
    +
    + +

    +insideNameSpace

    +
    +public boolean insideNameSpace
    +
    +
    +
    +
    +
    + +

    +hashtable

    +
    +public java.util.Hashtable hashtable
    +
    +
    +
    +
    +
    + +

    +reverse_hashtable

    +
    +public java.util.Hashtable reverse_hashtable
    +
    +
    +
    +
    +
    + +

    +override_names_hashtable

    +
    +public java.util.Hashtable override_names_hashtable
    +
    +
    +
    +
    +
    + +

    +typedef

    +
    +public boolean typedef
    +
    +
    +
    +
    +
    + +

    +generate_symbol_lookup

    +
    +public boolean generate_symbol_lookup
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +EnumTypeInfo

    +
    +public EnumTypeInfo()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/LoadHierarchyUpdateInterface.html b/doc/javadoc/diagapplet/CodeGen/LoadHierarchyUpdateInterface.html new file mode 100644 index 0000000..900bbb5 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/LoadHierarchyUpdateInterface.html @@ -0,0 +1,261 @@ + + + + + + +LoadHierarchyUpdateInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface LoadHierarchyUpdateInterface

    +
    +
    +
    public interface LoadHierarchyUpdateInterface
    + + +

    +An interface used to update a graphical progress bar and status text with information + on the progress loading a hierarchy, configuration file etc. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voiddone() + +
    +          Send notice that the task is completed/file read etc.
    + voidupdate_internal(java.lang.String name, + int part, + int total) + +
    +          Update a second progress bar with details of a subtask.
    + voidupdate_main(java.lang.String name, + int part, + int total) + +
    +          Update the progress bar that task name has completed part of total.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +update_main

    +
    +void update_main(java.lang.String name,
    +                 int part,
    +                 int total)
    +
    +
    Update the progress bar that task name has completed part of total. +

    +

    +
    Parameters:
    name - name of file to be loaded/task to be completed
    part - lines of the file read or number of subparts of task completed
    total - total number of lines in file to real or total subtasks to be accomplished.
    +
    +
    +
    + +

    +update_internal

    +
    +void update_internal(java.lang.String name,
    +                     int part,
    +                     int total)
    +
    +
    Update a second progress bar with details of a subtask. +

    +

    +
    Parameters:
    name - name of file to be loaded/task to be completed
    part - lines of the file read or number of subparts of task completed
    total - total number of lines in file to real or total subtasks to be accomplished.
    +
    +
    +
    + +

    +done

    +
    +void done()
    +
    +
    Send notice that the task is completed/file read etc. +

    +

    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/ModuleInfo.html b/doc/javadoc/diagapplet/CodeGen/ModuleInfo.html new file mode 100644 index 0000000..ade73a4 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/ModuleInfo.html @@ -0,0 +1,4414 @@ + + + + + + +ModuleInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class ModuleInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.ModuleInfo
    +
    +
    +
    All Implemented Interfaces:
    ModuleInfoInterface
    +
    +
    +
    +
    public class ModuleInfo
    extends java.lang.Object
    implements ModuleInfoInterface
    + + +

    +Class contains references to all information taken from a Module section of + a diag or hierarchy file. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + booleanadding_aux_channel + +
    +           
    +static java.util.VectorAllAuxChannels + +
    +           
    +static intanonymous_enum_number + +
    +           
    +static intapplication_type + +
    +           
    + booleanarrayLengthTooLong + +
    +           
    + java.util.Vectoraux_type_files + +
    +           
    + java.util.VectorAuxAvailableMessageFilters + +
    +           
    + java.util.VectorAuxInputNames + +
    +           
    + java.util.VectorauxMessages + +
    +           
    + java.util.VectorAuxOutputNames + +
    +           
    + java.util.VectorAuxUpdateEveryCycleNames + +
    +           
    +static booleanbad_simple_long_math + +
    +           
    + java.util.VectorbaseClassChildrenNames + +
    +           
    + java.lang.StringbaseClassCmdsTypeFile + +
    +           
    + java.lang.StringbaseClassName + +
    +           
    + java.lang.StringbaseClassStatsTypeFile + +
    +           
    + java.lang.StringbaseModuleName + +
    +           
    + java.util.Vectorchildren_names + +
    +           
    + booleancmd_has_been_plotted + +
    +           
    + longcmd_msg_type + +
    +           
    + java.lang.Stringcmd_name_exclude_pattern + +
    +           
    + java.lang.Stringcmd_name_pattern + +
    +           
    + java.util.Hashtablecmd_plotting_variables + +
    +           
    + java.lang.StringcmdData + +
    +           
    + java.lang.StringcmdFormatFunction + +
    +           
    + java.util.VectorcmdsAdded + +
    +           
    + java.util.VectorcmdsAvailable + +
    +           
    +static java.util.HashtablecmdsAvailHashtable + +
    +           
    + java.util.VectorcmdsBaseClass + +
    +           
    + java.lang.StringcmdsTypeFile + +
    +           
    +static booleancodegen_generate_format_only + +
    +           
    +static booleancodegen_select_from_all_files + +
    +           
    + intcommands_sent + +
    +           
    + java.lang.Stringcommon_cmd_base + +
    +           
    + java.util.Hashtableconflict_m_structInfoHashTable + +
    +           
    + booleancreated_from_header + +
    +           
    +static intcur_file_line + +
    +           
    +static java.lang.Stringcur_file_name + +
    +           
    + intcurrent_command_to_send_variable_selected + +
    +           
    + intcurrent_command_variable_selected + +
    +           
    + intcurrent_status_variable_selected + +
    +           
    + java.lang.StringcurrentAttributeInfo + +
    +           
    + java.lang.StringcurrentDefaultValue + +
    +           
    + java.lang.StringcurrentOverrideName + +
    +           
    + doublecycle_time + +
    +           
    +static booleandebug_on + +
    +           
    +static java.lang.StringDefaultNMLConfigurationFile + +
    +           
    + java.util.HashtabledefinedValues + +
    +           
    + java.util.Vectordeleted_commands + +
    +          A list of deleted commands used by the Design tool when remerging old code.
    + java.util.VectordeletedAuxInputNames + +
    +           
    + java.util.VectordeletedAuxOutputNames + +
    +           
    + java.lang.StringdesignLog + +
    +           
    + intecho_serial_number + +
    +           
    +static java.lang.StringerrlogData + +
    +           
    + java.util.VectorexternalIncludeDirectories + +
    +           
    + java.util.VectorexternalLibraries + +
    +           
    +static java.util.VectorextraHeaderFiles + +
    +           
    + java.lang.StringFormatFunction + +
    +           
    +static booleangenerate_enum_symbol_lookup + +
    +           
    + intgeneration + +
    +           
    +static java.util.VectorheaderFiles + +
    +           
    + java.lang.Stringhost + +
    +           
    + intHTTPport + +
    +           
    +static java.lang.StringId + +
    +           
    +static java.util.Vectorignored_header_list + +
    +           
    + booleanimporting + +
    +           
    + java.lang.StringInfo + +
    +           
    +static booleaninterrupt_loading + +
    +           
    + booleanis_connected + +
    +           
    + intlast_echo_serial_number_displayed + +
    +           
    + longlast_new_command_time + +
    +           
    + longlast_new_echo_serial_time + +
    +           
    + longlast_new_stat_time + +
    +           
    + intlast_selected_command_index + +
    +           
    + intlast_serial_number_displayed + +
    +           
    + java.lang.StringlastCmdName + +
    +           
    + java.lang.StringlastStatName + +
    +           
    +static LoadHierarchyUpdateInterfacelhui + +
    +          Object that can notify a progres bar etc of progress.
    + booleanline_to_sub_drawn + +
    +           
    + NMLConnectionInterfacem_cmd_read_Connection + +
    +           
    +static java.util.Hashtablem_cmd_structInfoHashTable + +
    +           
    + NMLConnectionInterfacem_cmd_write_Connection + +
    +           
    +static java.util.Hashtablem_enumInfoHashTable + +
    +           
    +static java.util.Hashtablem_loadedPreDefinedTypes + +
    +           
    + URLLoadInfoPanelInterfacem_loadingPanel + +
    +           
    + NMLConnectionInterfacem_stat_read_Connection + +
    +           
    +static java.util.Hashtablem_stat_structInfoHashTable + +
    +           
    + NMLConnectionInterfacem_stat_write_Connection + +
    +           
    +static java.util.Hashtablem_structInfoByNameHashTable + +
    +           
    +static java.util.Hashtablem_structInfoHashTable + +
    +           
    + java.lang.StringMainLoopName + +
    +           
    + intmax_children_in_generation + +
    +           
    + intmax_cmd_var_number + +
    +           
    +static intmax_module_number + +
    +           
    + intmax_stat_var_number + +
    +           
    + intmodule_number + +
    +           
    + java.lang.StringmoduleClassName + +
    +           
    + java.util.VectorModulesReadingAuxOutput + +
    +           
    + java.lang.StringName + +
    +           
    + java.lang.StringndlaInfo + +
    +           
    + java.lang.StringndlaName + +
    +           
    + booleannew_cmd + +
    +           
    + intnew_cmd_count + +
    +           
    + booleannew_command + +
    +           
    + booleannew_command_drawn + +
    +           
    + intnew_data_count + +
    +           
    +static booleannew_errlog + +
    +           
    + booleannew_stat + +
    +           
    + intnew_stat_count + +
    +           
    + booleannew_status + +
    +           
    + booleannew_status_drawn + +
    +           
    + java.lang.StringNMLConfigurationFile + +
    +           
    + booleanno_cmd + +
    +          Does this module have no associated command buffer?
    +static booleanno_errlog + +
    +           
    +static booleanno_errlog_env_tested + +
    +           
    + booleanno_stat + +
    +          Dos this module have no associated status buffer?
    +static intnum_modules + +
    +           
    + ModuleInfoparent + +
    +           
    + java.lang.Stringparse_error_string + +
    +           
    +static booleanparse_error_to_send + +
    +           
    + booleanpositioned + +
    +           
    + java.util.Vectorpredefined_type_files + +
    +           
    + booleanpreset_x + +
    +           
    + booleanpreset_y + +
    +           
    + java.util.Hashtableprevious_commands + +
    +           
    +static java.lang.Stringprevious_url_loaded + +
    +           
    + java.lang.StringprimaryStatusType + +
    +           
    +static intRCS_CODEGEN_APPLICATION_TYPE + +
    +           
    +static intRCS_CONTROLLER_APPLICATION_TYPE + +
    +           
    +static intRCS_CUSTOM_APPLICATION_TYPE + +
    +           
    +static intRCS_DESIGN_APPLICATION_TYPE + +
    +           
    +static intRCS_DIAGNOSTICS_APPLICATION_TYPE + +
    +           
    +static intRCS_GUI_APPLICATION_TYPE + +
    +           
    +static booleanread_nml_configs + +
    +           
    + java.lang.StringreleaseIncludeDirectory + +
    +           
    + java.lang.StringreleaseLibrary + +
    +           
    + booleansending_short_string + +
    +          Variable temporarily set to true only by the diagnostics hierarchy view when + sending a message string that only contains the type and size placeholder.
    + intserial_number + +
    +           
    + java.lang.StringSourceCodeDirectory + +
    +           
    +static java.util.HashtablestartingDefinedValues + +
    +           
    + booleanstat_has_been_plotted + +
    +           
    + longstat_msg_type + +
    +           
    + java.util.Hashtablestat_plotting_variables + +
    +           
    + java.lang.StringstatData + +
    +           
    + java.lang.StringstatFormatFunction + +
    +           
    + java.util.VectorstatMsgsAvailable + +
    +           
    + intstats_sent + +
    +           
    + java.lang.StringstatsTypeFile + +
    +           
    + java.lang.Stringstatus_type_name + +
    +           
    + java.lang.Stringsubsystem + +
    +           
    + java.lang.StringSymbolLookup + +
    +           
    + java.lang.StringunboundedInfo + +
    +           
    + java.lang.StringunboundedName + +
    +           
    + booleanupdate_next_aux_every_cycle + +
    +           
    + intupdateCmdDataErrors + +
    +           
    + intupdateStatDataErrors + +
    +           
    +static booleanUseDefaultTypes + +
    +           
    + intwriteCmdsFailedInARow + +
    +           
    + intwriteStatsFailedInARow + +
    +           
    + intx + +
    +           
    + inty + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    ModuleInfo(DiagNMLMsgDictCreatorInterface diag_dict_creator_param, + NMLConnectionCreatorInterface nml_creator_param) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddAllAuxMessages() + +
    +           
    + voidAddAllAuxMessagesFromHeader() + +
    +           
    + voidaddAuxAvailableMessageFilter(java.lang.String s) + +
    +           
    + voidAddAuxInput(java.lang.String name) + +
    +           
    + voidAddAuxInputType(java.lang.String valueString) + +
    +           
    + voidAddAuxOutput(java.lang.String name) + +
    +           
    +static voidAddCmdLineDefaultValue(java.lang.String name, + java.lang.String value) + +
    +           
    +static voidAddDCmdOption(java.lang.String arg) + +
    +           
    +static voidAddDefaultTypes() + +
    +           
    +static voidaddExcludedIncludePattern(java.lang.String p) + +
    +           
    +static voidAddExtraHeader(java.lang.String header) + +
    +           
    + voidAddHeader(java.lang.String header) + +
    +           
    + voidCheckIncludedFile(java.lang.String include_file) + +
    +           
    +static voidClearStaticData() + +
    +           
    + intconnect() + +
    +           
    + NMLConnectionInterfacecreateExtraCommandChannel() + +
    +           
    + NMLConnectionInterfacecreateExtraStatusChannel() + +
    +           
    + intdisconnect() + +
    +           
    +static intdoArrayLengthMath(java.lang.String str) + +
    +           
    +static longdoSimpleLongMath(java.lang.String str) + +
    +           
    + DiagNMLMsgDictInterfaceget_aux_diag_msg_read_dict() + +
    +           
    + DiagNMLMsgDictInterfaceget_aux_diag_msg_write_dict() + +
    +           
    + NMLMessageDictionaryget_cmd_msg_dict() + +
    +           
    + java.util.Hashtableget_conflict_m_structInfoHashTable() + +
    +          Get a Hashtable that matches long identifiers to StructureTypeInfo objects + used to resolve conflicts when more than one StructureTypeInfo is associated with + the same id in the global hashtable.
    + booleanget_created_from_header() + +
    +          Was the module created from a C++ header file? (As opposed to a module section of a + hierarchy file.)
    +static java.lang.Stringget_last_loading_module_string() + +
    +          Get a string for debuggin purposes.
    + NMLConnectionCreatorInterfaceget_nml_creator() + +
    +          Get the NMLConnectionCreator associated with this module.
    +static NMLFormatConvertErrCallbackInterfaceget_nml_format_err_callback() + +
    +           
    + NMLMessageDictionaryget_stat_msg_dict() + +
    +           
    + java.util.VectorgetAuxAvailableMessageFilters() + +
    +          Get the list of filters of the form buffername:pattern to select available messages for a buffer.
    + java.util.VectorgetAuxMessages() + +
    +          Get the list of messages that can be sent or recieved to auxilliary buffers associated + with this module.
    + java.lang.StringgetFormatFunction() + +
    +          Get the name of the C++ format function.
    + java.lang.StringgetName() + +
    +          Get the name property.
    + java.lang.StringgetSymbolLookup() + +
    +          Get the name of the C++ format function.
    +static booleanis_check_errlog_flag_set() + +
    +           
    + booleanIsAncestor(java.lang.String str) + +
    +           
    + booleanisMathString(java.lang.String str) + +
    +           
    + intLoadAuxTypeFile(java.lang.String type_file_string) + +
    +           
    + intLoadAuxTypes() + +
    +           
    + intLoadInfo() + +
    +           
    + intLoadInfo(java.lang.String new_cmdsTypeFile, + java.lang.String new_statsTypeFile) + +
    +           
    + intLoadPredefinedTypeFile(java.lang.String type_file_string) + +
    +           
    + intLoadPredefinedTypes() + +
    +           
    + booleanlogin(java.lang.String name, + java.lang.String passwd) + +
    +           
    +static java.lang.StringreadErrlogData() + +
    +           
    + java.lang.StringRemoveStartingEndingSpace(java.lang.String str) + +
    +           
    + java.lang.StringReplaceDefinedValues(java.lang.String inStr, + int rdv_recurse_count, + java.util.Hashtable usedDefines) + +
    +           
    + voidsetHost(java.lang.String new_host) + +
    +           
    + voidSetNMLConfigFile(java.lang.String new_config_file) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + java.lang.StringupdateCmdData() + +
    +           
    + java.lang.StringupdateStatData() + +
    +           
    + voidwriteCmd(java.lang.String cmdString) + +
    +           
    + voidwriteStat(java.lang.String statString) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +lhui

    +
    +public static LoadHierarchyUpdateInterface lhui
    +
    +
    Object that can notify a progres bar etc of progress. +

    +

    +
    +
    +
    + +

    +sending_short_string

    +
    +public boolean sending_short_string
    +
    +
    Variable temporarily set to true only by the diagnostics hierarchy view when + sending a message string that only contains the type and size placeholder. + Other variables in the message are set to zero or taken from the last message. +

    +

    +
    +
    +
    + +

    +preset_x

    +
    +public boolean preset_x
    +
    +
    +
    +
    +
    + +

    +preset_y

    +
    +public boolean preset_y
    +
    +
    +
    +
    +
    + +

    +adding_aux_channel

    +
    +public boolean adding_aux_channel
    +
    +
    +
    +
    +
    + +

    +Id

    +
    +public static final java.lang.String Id
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ignored_header_list

    +
    +public static java.util.Vector ignored_header_list
    +
    +
    +
    +
    +
    + +

    +no_cmd

    +
    +public boolean no_cmd
    +
    +
    Does this module have no associated command buffer? +

    +

    +
    +
    +
    + +

    +no_stat

    +
    +public boolean no_stat
    +
    +
    Dos this module have no associated status buffer? +

    +

    +
    +
    +
    + +

    +deleted_commands

    +
    +public java.util.Vector deleted_commands
    +
    +
    A list of deleted commands used by the Design tool when remerging old code. +

    +

    +
    +
    +
    + +

    +designLog

    +
    +public java.lang.String designLog
    +
    +
    +
    +
    +
    + +

    +importing

    +
    +public boolean importing
    +
    +
    +
    +
    +
    + +

    +moduleClassName

    +
    +public java.lang.String moduleClassName
    +
    +
    +
    +
    +
    + +

    +subsystem

    +
    +public java.lang.String subsystem
    +
    +
    +
    +
    +
    + +

    +baseClassName

    +
    +public java.lang.String baseClassName
    +
    +
    +
    +
    +
    + +

    +baseModuleName

    +
    +public java.lang.String baseModuleName
    +
    +
    +
    +
    +
    + +

    +ModulesReadingAuxOutput

    +
    +public java.util.Vector ModulesReadingAuxOutput
    +
    +
    +
    +
    +
    + +

    +AuxInputNames

    +
    +public java.util.Vector AuxInputNames
    +
    +
    +
    +
    +
    + +

    +AuxOutputNames

    +
    +public java.util.Vector AuxOutputNames
    +
    +
    +
    +
    +
    + +

    +AuxUpdateEveryCycleNames

    +
    +public java.util.Vector AuxUpdateEveryCycleNames
    +
    +
    +
    +
    +
    + +

    +update_next_aux_every_cycle

    +
    +public boolean update_next_aux_every_cycle
    +
    +
    +
    +
    +
    + +

    +deletedAuxInputNames

    +
    +public java.util.Vector deletedAuxInputNames
    +
    +
    +
    +
    +
    + +

    +deletedAuxOutputNames

    +
    +public java.util.Vector deletedAuxOutputNames
    +
    +
    +
    +
    +
    + +

    +externalIncludeDirectories

    +
    +public java.util.Vector externalIncludeDirectories
    +
    +
    +
    +
    +
    + +

    +externalLibraries

    +
    +public java.util.Vector externalLibraries
    +
    +
    +
    +
    +
    + +

    +releaseLibrary

    +
    +public java.lang.String releaseLibrary
    +
    +
    +
    +
    +
    + +

    +releaseIncludeDirectory

    +
    +public java.lang.String releaseIncludeDirectory
    +
    +
    +
    +
    +
    + +

    +AllAuxChannels

    +
    +public static java.util.Vector AllAuxChannels
    +
    +
    +
    +
    +
    + +

    +positioned

    +
    +public boolean positioned
    +
    +
    +
    +
    +
    + +

    +previous_commands

    +
    +public java.util.Hashtable previous_commands
    +
    +
    +
    +
    +
    + +

    +SourceCodeDirectory

    +
    +public java.lang.String SourceCodeDirectory
    +
    +
    +
    +
    +
    + +

    +cmd_name_pattern

    +
    +public java.lang.String cmd_name_pattern
    +
    +
    +
    +
    +
    + +

    +cmd_name_exclude_pattern

    +
    +public java.lang.String cmd_name_exclude_pattern
    +
    +
    +
    +
    +
    + +

    +current_command_variable_selected

    +
    +public int current_command_variable_selected
    +
    +
    +
    +
    +
    + +

    +current_command_to_send_variable_selected

    +
    +public int current_command_to_send_variable_selected
    +
    +
    +
    +
    +
    + +

    +current_status_variable_selected

    +
    +public int current_status_variable_selected
    +
    +
    +
    +
    +
    + +

    +new_status

    +
    +public boolean new_status
    +
    +
    +
    +
    +
    + +

    +new_status_drawn

    +
    +public boolean new_status_drawn
    +
    +
    +
    +
    +
    + +

    +new_command

    +
    +public boolean new_command
    +
    +
    +
    +
    +
    + +

    +new_command_drawn

    +
    +public boolean new_command_drawn
    +
    +
    +
    +
    +
    + +

    +line_to_sub_drawn

    +
    +public boolean line_to_sub_drawn
    +
    +
    +
    +
    +
    + +

    +last_new_stat_time

    +
    +public long last_new_stat_time
    +
    +
    +
    +
    +
    + +

    +last_new_command_time

    +
    +public long last_new_command_time
    +
    +
    +
    +
    +
    + +

    +last_new_echo_serial_time

    +
    +public long last_new_echo_serial_time
    +
    +
    +
    +
    +
    + +

    +serial_number

    +
    +public int serial_number
    +
    +
    +
    +
    +
    + +

    +last_serial_number_displayed

    +
    +public int last_serial_number_displayed
    +
    +
    +
    +
    +
    + +

    +echo_serial_number

    +
    +public int echo_serial_number
    +
    +
    +
    +
    +
    + +

    +last_echo_serial_number_displayed

    +
    +public int last_echo_serial_number_displayed
    +
    +
    +
    +
    +
    + +

    +FormatFunction

    +
    +public java.lang.String FormatFunction
    +
    +
    +
    +
    +
    + +

    +SymbolLookup

    +
    +public java.lang.String SymbolLookup
    +
    +
    +
    +
    +
    + +

    +cmdFormatFunction

    +
    +public java.lang.String cmdFormatFunction
    +
    +
    +
    +
    +
    + +

    +statFormatFunction

    +
    +public java.lang.String statFormatFunction
    +
    +
    +
    +
    +
    + +

    +last_selected_command_index

    +
    +public int last_selected_command_index
    +
    +
    +
    +
    +
    + +

    +generate_enum_symbol_lookup

    +
    +public static boolean generate_enum_symbol_lookup
    +
    +
    +
    +
    +
    + +

    +AuxAvailableMessageFilters

    +
    +public java.util.Vector AuxAvailableMessageFilters
    +
    +
    +
    +
    +
    + +

    +read_nml_configs

    +
    +public static boolean read_nml_configs
    +
    +
    +
    +
    +
    + +

    +created_from_header

    +
    +public boolean created_from_header
    +
    +
    +
    +
    +
    + +

    +DefaultNMLConfigurationFile

    +
    +public static java.lang.String DefaultNMLConfigurationFile
    +
    +
    +
    +
    +
    + +

    +NMLConfigurationFile

    +
    +public java.lang.String NMLConfigurationFile
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +host

    +
    +public java.lang.String host
    +
    +
    +
    +
    +
    + +

    +interrupt_loading

    +
    +public static boolean interrupt_loading
    +
    +
    +
    +
    +
    + +

    +status_type_name

    +
    +public java.lang.String status_type_name
    +
    +
    +
    +
    +
    + +

    +cmd_msg_type

    +
    +public long cmd_msg_type
    +
    +
    +
    +
    +
    + +

    +stat_msg_type

    +
    +public long stat_msg_type
    +
    +
    +
    +
    +
    + +

    +max_cmd_var_number

    +
    +public int max_cmd_var_number
    +
    +
    +
    +
    +
    + +

    +max_stat_var_number

    +
    +public int max_stat_var_number
    +
    +
    +
    +
    +
    + +

    +cmd_plotting_variables

    +
    +public java.util.Hashtable cmd_plotting_variables
    +
    +
    +
    +
    +
    + +

    +stat_plotting_variables

    +
    +public java.util.Hashtable stat_plotting_variables
    +
    +
    +
    +
    +
    + +

    +cmd_has_been_plotted

    +
    +public boolean cmd_has_been_plotted
    +
    +
    +
    +
    +
    + +

    +stat_has_been_plotted

    +
    +public boolean stat_has_been_plotted
    +
    +
    +
    +
    +
    + +

    +previous_url_loaded

    +
    +public static java.lang.String previous_url_loaded
    +
    +
    +
    +
    +
    + +

    +new_data_count

    +
    +public int new_data_count
    +
    +
    +
    +
    +
    + +

    +m_loadingPanel

    +
    +public URLLoadInfoPanelInterface m_loadingPanel
    +
    +
    +
    +
    +
    + +

    +parse_error_to_send

    +
    +public static boolean parse_error_to_send
    +
    +
    +
    +
    +
    + +

    +HTTPport

    +
    +public int HTTPport
    +
    +
    +
    +
    +
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    +
    +
    +
    + +

    +predefined_type_files

    +
    +public java.util.Vector predefined_type_files
    +
    +
    +
    +
    +
    + +

    +aux_type_files

    +
    +public java.util.Vector aux_type_files
    +
    +
    +
    +
    +
    + +

    +baseClassCmdsTypeFile

    +
    +public java.lang.String baseClassCmdsTypeFile
    +
    +
    +
    +
    +
    + +

    +baseClassStatsTypeFile

    +
    +public java.lang.String baseClassStatsTypeFile
    +
    +
    +
    +
    +
    + +

    +cmdsTypeFile

    +
    +public java.lang.String cmdsTypeFile
    +
    +
    +
    +
    +
    + +

    +statsTypeFile

    +
    +public java.lang.String statsTypeFile
    +
    +
    +
    +
    +
    + +

    +primaryStatusType

    +
    +public java.lang.String primaryStatusType
    +
    +
    +
    +
    +
    + +

    +cmdsAvailable

    +
    +public java.util.Vector cmdsAvailable
    +
    +
    +
    +
    +
    + +

    +statMsgsAvailable

    +
    +public java.util.Vector statMsgsAvailable
    +
    +
    +
    +
    +
    + +

    +cmdsAdded

    +
    +public java.util.Vector cmdsAdded
    +
    +
    +
    +
    +
    + +

    +cmdsBaseClass

    +
    +public java.util.Vector cmdsBaseClass
    +
    +
    +
    +
    +
    + +

    +auxMessages

    +
    +public java.util.Vector auxMessages
    +
    +
    +
    +
    +
    + +

    +children_names

    +
    +public java.util.Vector children_names
    +
    +
    +
    +
    +
    + +

    +baseClassChildrenNames

    +
    +public java.util.Vector baseClassChildrenNames
    +
    +
    +
    +
    +
    + +

    +parent

    +
    +public ModuleInfo parent
    +
    +
    +
    +
    +
    + +

    +Info

    +
    +public java.lang.String Info
    +
    +
    +
    +
    +
    + +

    +cmdData

    +
    +public java.lang.String cmdData
    +
    +
    +
    +
    +
    + +

    +statData

    +
    +public java.lang.String statData
    +
    +
    +
    +
    +
    + +

    +errlogData

    +
    +public static java.lang.String errlogData
    +
    +
    +
    +
    +
    + +

    +lastCmdName

    +
    +public java.lang.String lastCmdName
    +
    +
    +
    +
    +
    + +

    +lastStatName

    +
    +public java.lang.String lastStatName
    +
    +
    +
    +
    +
    + +

    +is_connected

    +
    +public boolean is_connected
    +
    +
    +
    +
    +
    + +

    +module_number

    +
    +public int module_number
    +
    +
    +
    +
    +
    + +

    +num_modules

    +
    +public static int num_modules
    +
    +
    +
    +
    +
    + +

    +max_module_number

    +
    +public static int max_module_number
    +
    +
    +
    +
    +
    + +

    +generation

    +
    +public int generation
    +
    +
    +
    +
    +
    + +

    +max_children_in_generation

    +
    +public int max_children_in_generation
    +
    +
    +
    +
    +
    + +

    +x

    +
    +public int x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public int y
    +
    +
    +
    +
    +
    + +

    +new_cmd

    +
    +public boolean new_cmd
    +
    +
    +
    +
    +
    + +

    +new_stat

    +
    +public boolean new_stat
    +
    +
    +
    +
    +
    + +

    +new_errlog

    +
    +public static boolean new_errlog
    +
    +
    +
    +
    +
    + +

    +parse_error_string

    +
    +public java.lang.String parse_error_string
    +
    +
    +
    +
    +
    + +

    +m_cmd_read_Connection

    +
    +public NMLConnectionInterface m_cmd_read_Connection
    +
    +
    +
    +
    +
    + +

    +m_cmd_write_Connection

    +
    +public NMLConnectionInterface m_cmd_write_Connection
    +
    +
    +
    +
    +
    + +

    +m_stat_read_Connection

    +
    +public NMLConnectionInterface m_stat_read_Connection
    +
    +
    +
    +
    +
    + +

    +m_stat_write_Connection

    +
    +public NMLConnectionInterface m_stat_write_Connection
    +
    +
    +
    +
    +
    + +

    +no_errlog

    +
    +public static boolean no_errlog
    +
    +
    +
    +
    +
    + +

    +no_errlog_env_tested

    +
    +public static boolean no_errlog_env_tested
    +
    +
    +
    +
    +
    + +

    +conflict_m_structInfoHashTable

    +
    +public java.util.Hashtable conflict_m_structInfoHashTable
    +
    +
    +
    +
    +
    + +

    +m_structInfoHashTable

    +
    +public static java.util.Hashtable m_structInfoHashTable
    +
    +
    +
    +
    +
    + +

    +m_cmd_structInfoHashTable

    +
    +public static java.util.Hashtable m_cmd_structInfoHashTable
    +
    +
    +
    +
    +
    + +

    +m_stat_structInfoHashTable

    +
    +public static java.util.Hashtable m_stat_structInfoHashTable
    +
    +
    +
    +
    +
    + +

    +m_structInfoByNameHashTable

    +
    +public static java.util.Hashtable m_structInfoByNameHashTable
    +
    +
    +
    +
    +
    + +

    +m_enumInfoHashTable

    +
    +public static java.util.Hashtable m_enumInfoHashTable
    +
    +
    +
    +
    +
    + +

    +cmdsAvailHashtable

    +
    +public static java.util.Hashtable cmdsAvailHashtable
    +
    +
    +
    +
    +
    + +

    +m_loadedPreDefinedTypes

    +
    +public static java.util.Hashtable m_loadedPreDefinedTypes
    +
    +
    +
    +
    +
    + +

    +currentDefaultValue

    +
    +public java.lang.String currentDefaultValue
    +
    +
    +
    +
    +
    + +

    +currentOverrideName

    +
    +public java.lang.String currentOverrideName
    +
    +
    +
    +
    +
    + +

    +ndlaName

    +
    +public java.lang.String ndlaName
    +
    +
    +
    +
    +
    + +

    +ndlaInfo

    +
    +public java.lang.String ndlaInfo
    +
    +
    +
    +
    +
    + +

    +unboundedName

    +
    +public java.lang.String unboundedName
    +
    +
    +
    +
    +
    + +

    +unboundedInfo

    +
    +public java.lang.String unboundedInfo
    +
    +
    +
    +
    +
    + +

    +currentAttributeInfo

    +
    +public java.lang.String currentAttributeInfo
    +
    +
    +
    +
    +
    + +

    +MainLoopName

    +
    +public java.lang.String MainLoopName
    +
    +
    +
    +
    +
    + +

    +cycle_time

    +
    +public double cycle_time
    +
    +
    +
    +
    +
    + +

    +headerFiles

    +
    +public static java.util.Vector headerFiles
    +
    +
    +
    +
    +
    + +

    +extraHeaderFiles

    +
    +public static java.util.Vector extraHeaderFiles
    +
    +
    +
    +
    +
    + +

    +UseDefaultTypes

    +
    +public static boolean UseDefaultTypes
    +
    +
    +
    +
    +
    + +

    +arrayLengthTooLong

    +
    +public boolean arrayLengthTooLong
    +
    +
    +
    +
    +
    + +

    +common_cmd_base

    +
    +public java.lang.String common_cmd_base
    +
    +
    +
    +
    +
    + +

    +RCS_CUSTOM_APPLICATION_TYPE

    +
    +public static final int RCS_CUSTOM_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_CONTROLLER_APPLICATION_TYPE

    +
    +public static final int RCS_CONTROLLER_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_GUI_APPLICATION_TYPE

    +
    +public static final int RCS_GUI_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_DIAGNOSTICS_APPLICATION_TYPE

    +
    +public static final int RCS_DIAGNOSTICS_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_DESIGN_APPLICATION_TYPE

    +
    +public static final int RCS_DESIGN_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_CODEGEN_APPLICATION_TYPE

    +
    +public static final int RCS_CODEGEN_APPLICATION_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +application_type

    +
    +public static int application_type
    +
    +
    +
    +
    +
    + +

    +writeCmdsFailedInARow

    +
    +public int writeCmdsFailedInARow
    +
    +
    +
    +
    +
    + +

    +commands_sent

    +
    +public volatile int commands_sent
    +
    +
    +
    +
    +
    + +

    +writeStatsFailedInARow

    +
    +public int writeStatsFailedInARow
    +
    +
    +
    +
    +
    + +

    +stats_sent

    +
    +public volatile int stats_sent
    +
    +
    +
    +
    +
    + +

    +updateCmdDataErrors

    +
    +public int updateCmdDataErrors
    +
    +
    +
    +
    +
    + +

    +new_cmd_count

    +
    +public int new_cmd_count
    +
    +
    +
    +
    +
    + +

    +updateStatDataErrors

    +
    +public int updateStatDataErrors
    +
    +
    +
    +
    +
    + +

    +new_stat_count

    +
    +public int new_stat_count
    +
    +
    +
    +
    +
    + +

    +bad_simple_long_math

    +
    +public static boolean bad_simple_long_math
    +
    +
    +
    +
    +
    + +

    +startingDefinedValues

    +
    +public static java.util.Hashtable startingDefinedValues
    +
    +
    +
    +
    +
    + +

    +definedValues

    +
    +public java.util.Hashtable definedValues
    +
    +
    +
    +
    +
    + +

    +cur_file_name

    +
    +public static volatile java.lang.String cur_file_name
    +
    +
    +
    +
    +
    + +

    +cur_file_line

    +
    +public static volatile int cur_file_line
    +
    +
    +
    +
    +
    + +

    +codegen_select_from_all_files

    +
    +public static boolean codegen_select_from_all_files
    +
    +
    +
    +
    +
    + +

    +codegen_generate_format_only

    +
    +public static boolean codegen_generate_format_only
    +
    +
    +
    +
    +
    + +

    +anonymous_enum_number

    +
    +public static int anonymous_enum_number
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +ModuleInfo

    +
    +public ModuleInfo(DiagNMLMsgDictCreatorInterface diag_dict_creator_param,
    +                  NMLConnectionCreatorInterface nml_creator_param)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_last_loading_module_string

    +
    +public static java.lang.String get_last_loading_module_string()
    +
    +
    Get a string for debuggin purposes. +

    +

    +
    +
    +
    + +
    Returns:
    last_loading_module_string;
    +
    +
    +
    + +

    +get_nml_format_err_callback

    +
    +public static NMLFormatConvertErrCallbackInterface get_nml_format_err_callback()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getAuxAvailableMessageFilters

    +
    +public java.util.Vector getAuxAvailableMessageFilters()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the list of filters of the form buffername:pattern to select available messages for a buffer. +

    +

    +
    Specified by:
    getAuxAvailableMessageFilters in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    AuxMessages vector.
    +
    +
    +
    + +

    +addAuxAvailableMessageFilter

    +
    +public void addAuxAvailableMessageFilter(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getFormatFunction

    +
    +public java.lang.String getFormatFunction()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the name of the C++ format function. +

    +

    +
    Specified by:
    getFormatFunction in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    format function name
    +
    +
    +
    + +

    +getSymbolLookup

    +
    +public java.lang.String getSymbolLookup()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the name of the C++ format function. +

    +

    +
    Specified by:
    getSymbolLookup in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    format function name
    +
    +
    +
    + +

    +get_created_from_header

    +
    +public boolean get_created_from_header()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Was the module created from a C++ header file? (As opposed to a module section of a + hierarchy file.) +

    +

    +
    Specified by:
    get_created_from_header in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    created_from_header
    +
    +
    +
    + +

    +getName

    +
    +public java.lang.String getName()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the name property. +

    +

    +
    Specified by:
    getName in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    name
    +
    +
    +
    + +

    +SetNMLConfigFile

    +
    +public void SetNMLConfigFile(java.lang.String new_config_file)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_conflict_m_structInfoHashTable

    +
    +public java.util.Hashtable get_conflict_m_structInfoHashTable()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get a Hashtable that matches long identifiers to StructureTypeInfo objects + used to resolve conflicts when more than one StructureTypeInfo is associated with + the same id in the global hashtable. +

    +

    +
    Specified by:
    get_conflict_m_structInfoHashTable in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    conflict_m_structInfoHashTable
    +
    +
    +
    + +

    +AddExtraHeader

    +
    +public static void AddExtraHeader(java.lang.String header)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +get_cmd_msg_dict

    +
    +public NMLMessageDictionary get_cmd_msg_dict()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_stat_msg_dict

    +
    +public NMLMessageDictionary get_stat_msg_dict()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_aux_diag_msg_write_dict

    +
    +public DiagNMLMsgDictInterface get_aux_diag_msg_write_dict()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_aux_diag_msg_read_dict

    +
    +public DiagNMLMsgDictInterface get_aux_diag_msg_read_dict()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_nml_creator

    +
    +public NMLConnectionCreatorInterface get_nml_creator()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the NMLConnectionCreator associated with this module. +

    +

    +
    Specified by:
    get_nml_creator in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    nml_creator
    +
    +
    +
    + +

    +createExtraCommandChannel

    +
    +public NMLConnectionInterface createExtraCommandChannel()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +createExtraStatusChannel

    +
    +public NMLConnectionInterface createExtraStatusChannel()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAuxInput

    +
    +public void AddAuxInput(java.lang.String name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAuxOutput

    +
    +public void AddAuxOutput(java.lang.String name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddDefaultTypes

    +
    +public static void AddDefaultTypes()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +writeCmd

    +
    +public void writeCmd(java.lang.String cmdString)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +writeStat

    +
    +public void writeStat(java.lang.String statString)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +is_check_errlog_flag_set

    +
    +public static boolean is_check_errlog_flag_set()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +readErrlogData

    +
    +public static java.lang.String readErrlogData()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +updateCmdData

    +
    +public java.lang.String updateCmdData()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +updateStatData

    +
    +public java.lang.String updateStatData()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setHost

    +
    +public void setHost(java.lang.String new_host)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +isMathString

    +
    +public boolean isMathString(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ReplaceDefinedValues

    +
    +public java.lang.String ReplaceDefinedValues(java.lang.String inStr,
    +                                             int rdv_recurse_count,
    +                                             java.util.Hashtable usedDefines)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +doArrayLengthMath

    +
    +public static int doArrayLengthMath(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +doSimpleLongMath

    +
    +public static long doSimpleLongMath(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +addExcludedIncludePattern

    +
    +public static void addExcludedIncludePattern(java.lang.String p)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckIncludedFile

    +
    +public void CheckIncludedFile(java.lang.String include_file)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RemoveStartingEndingSpace

    +
    +public java.lang.String RemoveStartingEndingSpace(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddDCmdOption

    +
    +public static void AddDCmdOption(java.lang.String arg)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddCmdLineDefaultValue

    +
    +public static void AddCmdLineDefaultValue(java.lang.String name,
    +                                          java.lang.String value)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ClearStaticData

    +
    +public static void ClearStaticData()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadPredefinedTypeFile

    +
    +public int LoadPredefinedTypeFile(java.lang.String type_file_string)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadAuxTypeFile

    +
    +public int LoadAuxTypeFile(java.lang.String type_file_string)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadPredefinedTypes

    +
    +public int LoadPredefinedTypes()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadAuxTypes

    +
    +public int LoadAuxTypes()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddHeader

    +
    +public void AddHeader(java.lang.String header)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAuxInputType

    +
    +public void AddAuxInputType(java.lang.String valueString)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadInfo

    +
    +public int LoadInfo(java.lang.String new_cmdsTypeFile,
    +                    java.lang.String new_statsTypeFile)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +LoadInfo

    +
    +public int LoadInfo()
    +             throws java.lang.Exception
    +
    +
    +
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +connect

    +
    +public int connect()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +login

    +
    +public boolean login(java.lang.String name,
    +                     java.lang.String passwd)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +disconnect

    +
    +public int disconnect()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAllAuxMessagesFromHeader

    +
    +public void AddAllAuxMessagesFromHeader()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddAllAuxMessages

    +
    +public void AddAllAuxMessages()
    +
    +
    +
    Specified by:
    AddAllAuxMessages in interface ModuleInfoInterface
    +
    +
    +
    +
    +
    +
    + +

    +getAuxMessages

    +
    +public java.util.Vector getAuxMessages()
    +
    +
    Description copied from interface: ModuleInfoInterface
    +
    Get the list of messages that can be sent or recieved to auxilliary buffers associated + with this module. +

    +

    +
    Specified by:
    getAuxMessages in interface ModuleInfoInterface
    +
    +
    + +
    Returns:
    AuxMessages vector.
    +
    +
    +
    + +

    +IsAncestor

    +
    +public boolean IsAncestor(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/ModuleInfoInterface.html b/doc/javadoc/diagapplet/CodeGen/ModuleInfoInterface.html new file mode 100644 index 0000000..5be443e --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/ModuleInfoInterface.html @@ -0,0 +1,395 @@ + + + + + + +ModuleInfoInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface ModuleInfoInterface

    +
    +
    All Known Implementing Classes:
    ModuleInfo
    +
    +
    +
    +
    public interface ModuleInfoInterface
    + + +

    +Interface to the ModuleInfo class, used to reduce circlular dependancies. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddAllAuxMessages() + +
    +           
    + java.util.Hashtableget_conflict_m_structInfoHashTable() + +
    +          Get a Hashtable that matches long identifiers to StructureTypeInfo objects + used to resolve conflicts when more than one StructureTypeInfo is associated with + the same id in the global hashtable.
    + booleanget_created_from_header() + +
    +          Was the module created from a C++ header file? (As opposed to a module section of a + hierarchy file.)
    + NMLConnectionCreatorInterfaceget_nml_creator() + +
    +          Get the NMLConnectionCreator associated with this module.
    + java.util.VectorgetAuxAvailableMessageFilters() + +
    +          Get the list of filters of the form buffername:pattern to select available messages for a buffer.
    + java.util.VectorgetAuxMessages() + +
    +          Get the list of messages that can be sent or recieved to auxilliary buffers associated + with this module.
    + java.lang.StringgetFormatFunction() + +
    +          Get the name of the C++ format function.
    + java.lang.StringgetName() + +
    +          Get the name property.
    + java.lang.StringgetSymbolLookup() + +
    +          Get the name of the C++ format function.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +get_created_from_header

    +
    +boolean get_created_from_header()
    +
    +
    Was the module created from a C++ header file? (As opposed to a module section of a + hierarchy file.) +

    +

    + +
    Returns:
    created_from_header
    +
    +
    +
    + +

    +getName

    +
    +java.lang.String getName()
    +
    +
    Get the name property. +

    +

    + +
    Returns:
    name
    +
    +
    +
    + +

    +getFormatFunction

    +
    +java.lang.String getFormatFunction()
    +
    +
    Get the name of the C++ format function. +

    +

    + +
    Returns:
    format function name
    +
    +
    +
    + +

    +getSymbolLookup

    +
    +java.lang.String getSymbolLookup()
    +
    +
    Get the name of the C++ format function. +

    +

    + +
    Returns:
    format function name
    +
    +
    +
    + +

    +getAuxMessages

    +
    +java.util.Vector getAuxMessages()
    +
    +
    Get the list of messages that can be sent or recieved to auxilliary buffers associated + with this module. +

    +

    + +
    Returns:
    AuxMessages vector.
    +
    +
    +
    + +

    +getAuxAvailableMessageFilters

    +
    +java.util.Vector getAuxAvailableMessageFilters()
    +
    +
    Get the list of filters of the form buffername:pattern to select available messages for a buffer. +

    +

    + +
    Returns:
    AuxMessages vector.
    +
    +
    +
    + +

    +AddAllAuxMessages

    +
    +void AddAllAuxMessages()
    +
    +
    +
    +
    +
    +
    + +

    +get_nml_creator

    +
    +NMLConnectionCreatorInterface get_nml_creator()
    +
    +
    Get the NMLConnectionCreator associated with this module. +

    +

    + +
    Returns:
    nml_creator
    +
    +
    +
    + +

    +get_conflict_m_structInfoHashTable

    +
    +java.util.Hashtable get_conflict_m_structInfoHashTable()
    +
    +
    Get a Hashtable that matches long identifiers to StructureTypeInfo objects + used to resolve conflicts when more than one StructureTypeInfo is associated with + the same id in the global hashtable. +

    +

    + +
    Returns:
    conflict_m_structInfoHashTable
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/STI_TokenizerInterface.html b/doc/javadoc/diagapplet/CodeGen/STI_TokenizerInterface.html new file mode 100644 index 0000000..c827eea --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/STI_TokenizerInterface.html @@ -0,0 +1,348 @@ + + + + + + +STI_TokenizerInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Interface STI_TokenizerInterface

    +
    +
    All Superinterfaces:
    java.util.Enumeration
    +
    +
    +
    +
    public interface STI_TokenizerInterface
    extends java.util.Enumeration
    + + +

    +An interface that partially replaces the StringTokenizer while adding + an ability to skipInfo in a structure or array using data + parsed by ModuleInfo etc. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + booleanhasMoreElements() + +
    +           
    + booleanhasMoreTokens() + +
    +           
    + java.lang.ObjectnextElement() + +
    +           
    + java.lang.StringnextToken() + +
    +           
    + booleanskipInfoTokenInSameArray() + +
    +           
    + booleanskipInfoTokenInSameStruct() + +
    +           
    + voidthrowAwayToken() + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +nextToken

    +
    +java.lang.String nextToken()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +throwAwayToken

    +
    +void throwAwayToken()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +hasMoreTokens

    +
    +boolean hasMoreTokens()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +nextElement

    +
    +java.lang.Object nextElement()
    +
    +
    +
    Specified by:
    nextElement in interface java.util.Enumeration
    +
    +
    +
    +
    +
    +
    + +

    +hasMoreElements

    +
    +boolean hasMoreElements()
    +
    +
    +
    Specified by:
    hasMoreElements in interface java.util.Enumeration
    +
    +
    +
    +
    +
    +
    + +

    +skipInfoTokenInSameStruct

    +
    +boolean skipInfoTokenInSameStruct()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +skipInfoTokenInSameArray

    +
    +boolean skipInfoTokenInSameArray()
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/ServerInfo.html b/doc/javadoc/diagapplet/CodeGen/ServerInfo.html new file mode 100644 index 0000000..37768c6 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/ServerInfo.html @@ -0,0 +1,425 @@ + + + + + + +ServerInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class ServerInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.ServerInfo
    +
    +
    +
    +
    public class ServerInfo
    extends java.lang.Object
    + + +

    +Information about a server tracked only by Design tool. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.util.VectorbufferNames + +
    +           
    +static intcount + +
    +           
    + java.lang.StringHost + +
    +           
    + intid + +
    +           
    + java.lang.StringInfo + +
    +           
    + java.lang.StringName + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    ServerInfo(java.lang.String _name, + java.lang.String _info) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +protected  voidParseInfo() + +
    +           
    +protected  voidSetValue(java.lang.String var, + java.lang.String val) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    +
    +
    +
    + +

    +Info

    +
    +public java.lang.String Info
    +
    +
    +
    +
    +
    + +

    +Host

    +
    +public java.lang.String Host
    +
    +
    +
    +
    +
    + +

    +bufferNames

    +
    +public java.util.Vector bufferNames
    +
    +
    +
    +
    +
    + +

    +id

    +
    +public int id
    +
    +
    +
    +
    +
    + +

    +count

    +
    +public static int count
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +ServerInfo

    +
    +public ServerInfo(java.lang.String _name,
    +                  java.lang.String _info)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +ParseInfo

    +
    +protected void ParseInfo()
    +
    +
    +
    +
    +
    +
    + +

    +SetValue

    +
    +protected void SetValue(java.lang.String var,
    +                        java.lang.String val)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/StringFuncs.html b/doc/javadoc/diagapplet/CodeGen/StringFuncs.html new file mode 100644 index 0000000..3e43713 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/StringFuncs.html @@ -0,0 +1,367 @@ + + + + + + +StringFuncs + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class StringFuncs

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.StringFuncs
    +
    +
    +
    +
    public class StringFuncs
    extends java.lang.Object
    + + +

    +Class with some utility funtions used handling Strings, environment variables etc. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    StringFuncs() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static java.lang.Stringgetenv(java.lang.String s) + +
    +           
    +static java.lang.StringGetParameter(java.lang.String strName, + java.lang.String[] args, + java.util.Hashtable optionsHashtable, + java.lang.String[] unused_args) + +
    +           
    +static java.lang.Stringreplace_white_space(java.lang.String in) + +
    +           
    +static java.lang.StringreplaceAllInString(java.lang.String orig_str, + java.lang.String findme, + java.lang.String replace_with) + +
    +           
    +static java.lang.StringreplaceFirstInString(java.lang.String orig_str, + java.lang.String findme, + java.lang.String replace_with) + +
    +           
    +static java.lang.String[]SortClassList(java.lang.String[] orig_classlist, + diagapplet.CodeGen.CodeGenCommonInterface2 cgc, + java.util.Hashtable sin) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +StringFuncs

    +
    +public StringFuncs()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +SortClassList

    +
    +public static java.lang.String[] SortClassList(java.lang.String[] orig_classlist,
    +                                               diagapplet.CodeGen.CodeGenCommonInterface2 cgc,
    +                                               java.util.Hashtable sin)
    +
    +
    +
    +
    +
    +
    + +

    +GetParameter

    +
    +public static java.lang.String GetParameter(java.lang.String strName,
    +                                            java.lang.String[] args,
    +                                            java.util.Hashtable optionsHashtable,
    +                                            java.lang.String[] unused_args)
    +
    +
    +
    +
    +
    +
    + +

    +getenv

    +
    +public static java.lang.String getenv(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +replaceAllInString

    +
    +public static java.lang.String replaceAllInString(java.lang.String orig_str,
    +                                                  java.lang.String findme,
    +                                                  java.lang.String replace_with)
    +
    +
    +
    +
    +
    +
    + +

    +replaceFirstInString

    +
    +public static java.lang.String replaceFirstInString(java.lang.String orig_str,
    +                                                    java.lang.String findme,
    +                                                    java.lang.String replace_with)
    +
    +
    +
    +
    +
    +
    + +

    +replace_white_space

    +
    +public static java.lang.String replace_white_space(java.lang.String in)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/StructureTypeInfo.html b/doc/javadoc/diagapplet/CodeGen/StructureTypeInfo.html new file mode 100644 index 0000000..b625598 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/StructureTypeInfo.html @@ -0,0 +1,1353 @@ + + + + + + +StructureTypeInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.CodeGen +
    +Class StructureTypeInfo

    +
    +java.lang.Object
    +  extended by diagapplet.CodeGen.StructureTypeInfo
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Comparable
    +
    +
    +
    +
    public class StructureTypeInfo
    extends java.lang.Object
    implements java.lang.Comparable
    + + +

    +Class with information about one C++ structure. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + booleanc_struct_redefined + +
    +           
    + java.lang.StringC_UpdateFunction + +
    +           
    + booleanconflicts + +
    +           
    + booleanconstructor_declared + +
    +           
    + booleanconstructor_declared_and_not_inlined + +
    +           
    + booleancontains_pointers + +
    +           
    + booleancontains_unrecognized_type + +
    +           
    + java.lang.StringCppConstructor + +
    +           
    + java.lang.StringCppQualifiedName + +
    +           
    + java.lang.StringCppUpdateFunction + +
    +           
    +static booleandebug_on + +
    +           
    + intdependancy_rank + +
    +           
    + booleandependancy_rank_determined + +
    +           
    + java.lang.StringDerivedFrom + +
    +           
    + booleandestructor_declared + +
    +           
    + booleandestructor_declared_and_not_inlined + +
    +           
    + intestimated_size + +
    +           
    + ModuleInfoInterfacefirst_module_used_in + +
    +           
    + java.lang.StringfromFile + +
    +           
    + intfromLine + +
    +           
    + booleangeneric + +
    +           
    + booleanhave_initialize + +
    +           
    + java.lang.StringHiddenInfo + +
    +           
    + longId + +
    +           
    + booleaninside_namespace + +
    +           
    + booleanis_nml_msg + +
    +           
    + booleanis_rcs_cmd_msg + +
    +           
    + booleanis_rcs_stat_msg + +
    +           
    + booleanis_union + +
    +           
    + java.lang.StringJavaClassArrayInitializers + +
    +           
    + java.lang.StringJavaDefinition + +
    +           
    + java.lang.StringJavaUpdateFunction + +
    +           
    + java.lang.StringName + +
    +           
    + java.lang.StringNameSpace + +
    +           
    + booleanon_aux_msg_list + +
    +           
    + java.lang.StringPreFinalPassInfo + +
    +           
    + java.lang.StringRawInfo + +
    +           
    + booleanselected + +
    +           
    + intsti_number + +
    +           
    + java.lang.Stringtype_id_string + +
    +           
    + java.lang.StringUnqualifiedDerivedFrom + +
    +           
    + java.util.HashtableVarnameAttributeInfoHashTable + +
    +           
    + java.util.HashtableVarnameNDLAHashTable + +
    +           
    + java.util.HashtableVarnameOverridesHashTable + +
    +           
    + java.util.HashtableVarnameToDefaultsHashTable + +
    +           
    + java.util.HashtableVarnameUnboundedHashTable + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    StructureTypeInfo() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intcompareTo(java.lang.Object o) + +
    +           
    +static voidDebugPrint(java.lang.String s) + +
    +           
    +static voidDebugPrint2(java.lang.String s) + +
    +           
    +static voidErrorPrint(java.lang.String s) + +
    +           
    + intget_var_count_size() + +
    +           
    + java.lang.StringgetBaseClassExpandedPreFinalPassInfo(java.util.Hashtable structInfoByNameHashtable, + boolean skip_command_stat) + +
    +           
    + STI_TokenizerInterfacegetInfoTokenizer() + +
    +           
    + booleaninfoContains(java.lang.String str) + +
    +           
    + voidsetInfo(java.lang.String newinfo) + +
    +           
    + voidsetPreFinalPassInfoToInfo() + +
    +           
    + voidstartInfoTokens() + +
    +           
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Name

    +
    +public java.lang.String Name
    +
    +
    +
    +
    +
    + +

    +NameSpace

    +
    +public java.lang.String NameSpace
    +
    +
    +
    +
    +
    + +

    +CppQualifiedName

    +
    +public java.lang.String CppQualifiedName
    +
    +
    +
    +
    +
    + +

    +inside_namespace

    +
    +public boolean inside_namespace
    +
    +
    +
    +
    +
    + +

    +Id

    +
    +public long Id
    +
    +
    +
    +
    +
    + +

    +type_id_string

    +
    +public java.lang.String type_id_string
    +
    +
    +
    +
    +
    + +

    +RawInfo

    +
    +public java.lang.String RawInfo
    +
    +
    +
    +
    +
    + +

    +HiddenInfo

    +
    +public java.lang.String HiddenInfo
    +
    +
    +
    +
    +
    + +

    +PreFinalPassInfo

    +
    +public java.lang.String PreFinalPassInfo
    +
    +
    +
    +
    +
    + +

    +CppUpdateFunction

    +
    +public java.lang.String CppUpdateFunction
    +
    +
    +
    +
    +
    + +

    +C_UpdateFunction

    +
    +public java.lang.String C_UpdateFunction
    +
    +
    +
    +
    +
    + +

    +CppConstructor

    +
    +public java.lang.String CppConstructor
    +
    +
    +
    +
    +
    + +

    +JavaDefinition

    +
    +public java.lang.String JavaDefinition
    +
    +
    +
    +
    +
    + +

    +JavaClassArrayInitializers

    +
    +public java.lang.String JavaClassArrayInitializers
    +
    +
    +
    +
    +
    + +

    +DerivedFrom

    +
    +public java.lang.String DerivedFrom
    +
    +
    +
    +
    +
    + +

    +UnqualifiedDerivedFrom

    +
    +public java.lang.String UnqualifiedDerivedFrom
    +
    +
    +
    +
    +
    + +

    +JavaUpdateFunction

    +
    +public java.lang.String JavaUpdateFunction
    +
    +
    +
    +
    +
    + +

    +is_rcs_cmd_msg

    +
    +public boolean is_rcs_cmd_msg
    +
    +
    +
    +
    +
    + +

    +is_rcs_stat_msg

    +
    +public boolean is_rcs_stat_msg
    +
    +
    +
    +
    +
    + +

    +first_module_used_in

    +
    +public ModuleInfoInterface first_module_used_in
    +
    +
    +
    +
    +
    + +

    +fromFile

    +
    +public java.lang.String fromFile
    +
    +
    +
    +
    +
    + +

    +fromLine

    +
    +public int fromLine
    +
    +
    +
    +
    +
    + +

    +generic

    +
    +public boolean generic
    +
    +
    +
    +
    +
    + +

    +destructor_declared

    +
    +public boolean destructor_declared
    +
    +
    +
    +
    +
    + +

    +constructor_declared

    +
    +public boolean constructor_declared
    +
    +
    +
    +
    +
    + +

    +destructor_declared_and_not_inlined

    +
    +public boolean destructor_declared_and_not_inlined
    +
    +
    +
    +
    +
    + +

    +constructor_declared_and_not_inlined

    +
    +public boolean constructor_declared_and_not_inlined
    +
    +
    +
    +
    +
    + +

    +selected

    +
    +public boolean selected
    +
    +
    +
    +
    +
    + +

    +is_nml_msg

    +
    +public boolean is_nml_msg
    +
    +
    +
    +
    +
    + +

    +is_union

    +
    +public boolean is_union
    +
    +
    +
    +
    +
    + +

    +VarnameToDefaultsHashTable

    +
    +public java.util.Hashtable VarnameToDefaultsHashTable
    +
    +
    +
    +
    +
    + +

    +VarnameOverridesHashTable

    +
    +public java.util.Hashtable VarnameOverridesHashTable
    +
    +
    +
    +
    +
    + +

    +VarnameAttributeInfoHashTable

    +
    +public java.util.Hashtable VarnameAttributeInfoHashTable
    +
    +
    +
    +
    +
    + +

    +VarnameNDLAHashTable

    +
    +public java.util.Hashtable VarnameNDLAHashTable
    +
    +
    +
    +
    +
    + +

    +VarnameUnboundedHashTable

    +
    +public java.util.Hashtable VarnameUnboundedHashTable
    +
    +
    +
    +
    +
    + +

    +have_initialize

    +
    +public boolean have_initialize
    +
    +
    +
    +
    +
    + +

    +c_struct_redefined

    +
    +public boolean c_struct_redefined
    +
    +
    +
    +
    +
    + +

    +dependancy_rank

    +
    +public int dependancy_rank
    +
    +
    +
    +
    +
    + +

    +dependancy_rank_determined

    +
    +public boolean dependancy_rank_determined
    +
    +
    +
    +
    +
    + +

    +sti_number

    +
    +public int sti_number
    +
    +
    +
    +
    +
    + +

    +on_aux_msg_list

    +
    +public boolean on_aux_msg_list
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +estimated_size

    +
    +public int estimated_size
    +
    +
    +
    +
    +
    + +

    +conflicts

    +
    +public boolean conflicts
    +
    +
    +
    +
    +
    + +

    +contains_pointers

    +
    +public boolean contains_pointers
    +
    +
    +
    +
    +
    + +

    +contains_unrecognized_type

    +
    +public boolean contains_unrecognized_type
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +StructureTypeInfo

    +
    +public StructureTypeInfo()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getBaseClassExpandedPreFinalPassInfo

    +
    +public java.lang.String getBaseClassExpandedPreFinalPassInfo(java.util.Hashtable structInfoByNameHashtable,
    +                                                             boolean skip_command_stat)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_var_count_size

    +
    +public int get_var_count_size()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint2

    +
    +public static void DebugPrint2(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint

    +
    +public static void DebugPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +compareTo

    +
    +public int compareTo(java.lang.Object o)
    +              throws java.lang.ClassCastException
    +
    +
    +
    Specified by:
    compareTo in interface java.lang.Comparable
    +
    +
    + +
    Throws: +
    java.lang.ClassCastException
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +setInfo

    +
    +public void setInfo(java.lang.String newinfo)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setPreFinalPassInfoToInfo

    +
    +public void setPreFinalPassInfoToInfo()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +startInfoTokens

    +
    +public void startInfoTokens()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +infoContains

    +
    +public boolean infoContains(java.lang.String str)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getInfoTokenizer

    +
    +public STI_TokenizerInterface getInfoTokenizer()
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/BufferInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/BufferInfo.html new file mode 100644 index 0000000..f321662 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/BufferInfo.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.BufferInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.BufferInfo

    +
    +No usage of diagapplet.CodeGen.BufferInfo +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/ChannelInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/ChannelInfo.html new file mode 100644 index 0000000..4c9ca7f --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/ChannelInfo.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.ChannelInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.ChannelInfo

    +
    +No usage of diagapplet.CodeGen.ChannelInfo +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/CodeGen.html b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGen.html new file mode 100644 index 0000000..5a4fcb4 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGen.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.CodeGen + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.CodeGen

    +
    + + + + + + + + + +
    +Packages that use CodeGen
    rcsdesign  
    +  +

    + + + + + +
    +Uses of CodeGen in rcsdesign
    +  +

    + + + + + + + + + +
    Fields in rcsdesign declared as CodeGen
    + CodeGenrcsDesignGui.codeGenerationApplet + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCmdLine.html b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCmdLine.html new file mode 100644 index 0000000..6d1a254 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCmdLine.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.CodeGenCmdLine + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.CodeGenCmdLine

    +
    +No usage of diagapplet.CodeGen.CodeGenCmdLine +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommon.html b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommon.html new file mode 100644 index 0000000..02d31a2 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommon.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.CodeGenCommon + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.CodeGenCommon

    +
    +No usage of diagapplet.CodeGen.CodeGenCommon +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommonInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommonInterface.html new file mode 100644 index 0000000..d222461 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/CodeGenCommonInterface.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.CodeGenCommonInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.CodeGenCommonInterface

    +
    +No usage of diagapplet.CodeGen.CodeGenCommonInterface +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDict.html b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDict.html new file mode 100644 index 0000000..0435010 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDict.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.DiagNMLMsgDict + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.DiagNMLMsgDict

    +
    +No usage of diagapplet.CodeGen.DiagNMLMsgDict +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreator.html b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreator.html new file mode 100644 index 0000000..2744121 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreator.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.DiagNMLMsgDictCreator + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.DiagNMLMsgDictCreator

    +
    +No usage of diagapplet.CodeGen.DiagNMLMsgDictCreator +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreatorInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreatorInterface.html new file mode 100644 index 0000000..c2de2aa --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictCreatorInterface.html @@ -0,0 +1,144 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.DiagNMLMsgDictCreatorInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.DiagNMLMsgDictCreatorInterface

    +
    + + + + + + + + + +
    +Packages that use DiagNMLMsgDictCreatorInterface
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of DiagNMLMsgDictCreatorInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Classes in diagapplet.CodeGen that implement DiagNMLMsgDictCreatorInterface
    + classDiagNMLMsgDictCreator + +
    +          Objects of this class are passed from the diagnositcs tool and design tool to the CodeGen + objects as a way of indirectly passing DiagNMLMsgDicts() without introducing + unnecessary compile-time dependancies.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return DiagNMLMsgDictCreatorInterface
    + DiagNMLMsgDictCreatorInterfaceCodeGenCommon.get_diag_dict_creator() + +
    +           
    + DiagNMLMsgDictCreatorInterfaceCodeGenCommonInterface.get_diag_dict_creator() + +
    +          Get the diag_dict_creator property.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type DiagNMLMsgDictCreatorInterface
    + voidCodeGenCommon.set_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator) + +
    +           
    + voidCodeGenCommonInterface.set_diag_dict_creator(DiagNMLMsgDictCreatorInterface _diag_dict_creator) + +
    +          Set a diag_dict_creator property.
    +  +

    + + + + + + + + +
    Constructors in diagapplet.CodeGen with parameters of type DiagNMLMsgDictCreatorInterface
    ModuleInfo(DiagNMLMsgDictCreatorInterface diag_dict_creator_param, + NMLConnectionCreatorInterface nml_creator_param) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictInterface.html new file mode 100644 index 0000000..75a9264 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/DiagNMLMsgDictInterface.html @@ -0,0 +1,147 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.DiagNMLMsgDictInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.DiagNMLMsgDictInterface

    +
    + + + + + + + + + +
    +Packages that use DiagNMLMsgDictInterface
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of DiagNMLMsgDictInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Classes in diagapplet.CodeGen that implement DiagNMLMsgDictInterface
    + classDiagNMLMsgDict + +
    +          * NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    +  +

    + + + + + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as DiagNMLMsgDictInterface
    + DiagNMLMsgDictInterfaceBufferInfo.read_msg_dict + +
    +          NMLMessageDictionary associated with the read channel.
    + DiagNMLMsgDictInterfaceBufferInfo.write_msg_dict + +
    +          NMLMessageDictionary associated with the write channel.
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return DiagNMLMsgDictInterface
    + DiagNMLMsgDictInterfaceDiagNMLMsgDictCreator.create(boolean cmd_stream, + boolean stat_stream) + +
    +          Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream.
    + DiagNMLMsgDictInterfaceDiagNMLMsgDictCreatorInterface.create(boolean cmd_stream, + boolean stat_stream) + +
    +          Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream.
    + DiagNMLMsgDictInterfaceModuleInfo.get_aux_diag_msg_read_dict() + +
    +           
    + DiagNMLMsgDictInterfaceModuleInfo.get_aux_diag_msg_write_dict() + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/EnumTypeInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/EnumTypeInfo.html new file mode 100644 index 0000000..83f2682 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/EnumTypeInfo.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.EnumTypeInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.EnumTypeInfo

    +
    + + + + + + + + + +
    +Packages that use EnumTypeInfo
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of EnumTypeInfo in diagapplet.utils
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils that return EnumTypeInfo
    + EnumTypeInfoWatchJPanel.getEnumTypeInfo(int row) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/LoadHierarchyUpdateInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/LoadHierarchyUpdateInterface.html new file mode 100644 index 0000000..dec66eb --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/LoadHierarchyUpdateInterface.html @@ -0,0 +1,104 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.LoadHierarchyUpdateInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.LoadHierarchyUpdateInterface

    +
    + + + + + + + + + +
    +Packages that use LoadHierarchyUpdateInterface
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of LoadHierarchyUpdateInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as LoadHierarchyUpdateInterface
    +static LoadHierarchyUpdateInterfaceCodeGenCommon.lhui + +
    +           
    +static LoadHierarchyUpdateInterfaceModuleInfo.lhui + +
    +          Object that can notify a progres bar etc of progress.
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type LoadHierarchyUpdateInterface
    + voidCodeGenCommon.LoadHierarchyNewThread(java.lang.String HierarchyName, + LoadHierarchyUpdateInterface _lhui) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfo.html new file mode 100644 index 0000000..b885f05 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfo.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.ModuleInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.ModuleInfo

    +
    + + + + + + + + + +
    +Packages that use ModuleInfo
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of ModuleInfo in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as ModuleInfo
    + ModuleInfoModuleInfo.parent + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfoInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfoInterface.html new file mode 100644 index 0000000..d80fd2d --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/ModuleInfoInterface.html @@ -0,0 +1,128 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.ModuleInfoInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.ModuleInfoInterface

    +
    + + + + + + + + + +
    +Packages that use ModuleInfoInterface
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of ModuleInfoInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Classes in diagapplet.CodeGen that implement ModuleInfoInterface
    + classModuleInfo + +
    +          Class contains references to all information taken from a Module section of + a diag or hierarchy file.
    +  +

    + + + + + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as ModuleInfoInterface
    + ModuleInfoInterfaceStructureTypeInfo.first_module_used_in + +
    +           
    + ModuleInfoInterfaceBufferInfo.mi + +
    +          ModuleInfo associated with this buffer.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type ModuleInfoInterface
    + voidDiagNMLMsgDict.SetModuleInfoObject(ModuleInfoInterface o) + +
    +           
    + voidDiagNMLMsgDictInterface.SetModuleInfoObject(ModuleInfoInterface mi) + +
    +          Used to set a ModuleInfo object, needed for this to function.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/STI_TokenizerInterface.html b/doc/javadoc/diagapplet/CodeGen/class-use/STI_TokenizerInterface.html new file mode 100644 index 0000000..1116c06 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/STI_TokenizerInterface.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Interface diagapplet.CodeGen.STI_TokenizerInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.CodeGen.STI_TokenizerInterface

    +
    + + + + + + + + + +
    +Packages that use STI_TokenizerInterface
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of STI_TokenizerInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen that return STI_TokenizerInterface
    + STI_TokenizerInterfaceStructureTypeInfo.getInfoTokenizer() + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/ServerInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/ServerInfo.html new file mode 100644 index 0000000..e78ce29 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/ServerInfo.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.ServerInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.ServerInfo

    +
    + + + + + + + + + +
    +Packages that use ServerInfo
    diagapplet.CodeGen  
    +  +

    + + + + + +
    +Uses of ServerInfo in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as ServerInfo
    + ServerInfoBufferInfo.si + +
    +          ServerInfo associated with this buffer.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/StringFuncs.html b/doc/javadoc/diagapplet/CodeGen/class-use/StringFuncs.html new file mode 100644 index 0000000..d46433e --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/StringFuncs.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.StringFuncs + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.StringFuncs

    +
    +No usage of diagapplet.CodeGen.StringFuncs +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/class-use/StructureTypeInfo.html b/doc/javadoc/diagapplet/CodeGen/class-use/StructureTypeInfo.html new file mode 100644 index 0000000..0558552 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/class-use/StructureTypeInfo.html @@ -0,0 +1,231 @@ + + + + + + + +Uses of Class diagapplet.CodeGen.StructureTypeInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.CodeGen.StructureTypeInfo

    +
    + + + + + + + + + + + + + + + + + +
    +Packages that use StructureTypeInfo
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of StructureTypeInfo in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type StructureTypeInfo
    + voidMessageFileJFrame.SetTypeInfo(StructureTypeInfo _sti, + java.util.Hashtable _ht) + +
    +           
    +  +

    + + + + + +
    +Uses of StructureTypeInfo in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type StructureTypeInfo
    + voidCodeGenCommon.CreateC_UpdateFunction(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.CreateCppConstructor(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.CreateCppInitializer(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.CreateCppUpdateFunction(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.CreateJavaDefinition(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.CreateJavaUpdateFunction(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.EstimateSize(StructureTypeInfo type_info) + +
    +           
    + java.lang.StringCodeGenCommon.GetCppVarDef(java.lang.String var, + StructureTypeInfo type_info) + +
    +           
    + booleanCodeGenCommon.IsNonUpdatebleClass(StructureTypeInfo type_info) + +
    +           
    + voidCodeGenCommon.PrintInfo(StructureTypeInfo type_info, + java.lang.String var_prefix, + int varnum, + int offset) + +
    +           
    +  +

    + + + + + +
    +Uses of StructureTypeInfo in diagapplet.utils
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils that return StructureTypeInfo
    + StructureTypeInfoWatchJPanel.getStructureTypeInfo() + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils with parameters of type StructureTypeInfo
    + voidWatchJPanel.SetTypeInfo(StructureTypeInfo _sti, + java.util.Hashtable _ht) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/package-frame.html b/doc/javadoc/diagapplet/CodeGen/package-frame.html new file mode 100644 index 0000000..afad0a2 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/package-frame.html @@ -0,0 +1,75 @@ + + + + + + +diagapplet.CodeGen + + + + + + + + + + + +diagapplet.CodeGen + + + + +
    +Interfaces  + +
    +CodeGenCommonInterface +
    +DiagNMLMsgDictCreatorInterface +
    +DiagNMLMsgDictInterface +
    +LoadHierarchyUpdateInterface +
    +ModuleInfoInterface +
    +STI_TokenizerInterface
    + + + + + + +
    +Classes  + +
    +BufferInfo +
    +ChannelInfo +
    +CodeGen +
    +CodeGenCmdLine +
    +CodeGenCommon +
    +DiagNMLMsgDict +
    +DiagNMLMsgDictCreator +
    +EnumTypeInfo +
    +ModuleInfo +
    +ServerInfo +
    +StringFuncs +
    +StructureTypeInfo
    + + + + diff --git a/doc/javadoc/diagapplet/CodeGen/package-summary.html b/doc/javadoc/diagapplet/CodeGen/package-summary.html new file mode 100644 index 0000000..8685af1 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/package-summary.html @@ -0,0 +1,247 @@ + + + + + + +diagapplet.CodeGen + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package diagapplet.CodeGen +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Interface Summary
    CodeGenCommonInterfaceProvides an interface for the Diagnostics tool and Design Tools to CodeGenCommon + without a circular dependancy that directly using the class would cause.
    DiagNMLMsgDictCreatorInterfaceInterface that allows the Diagnostics tool and Design tool to pass + DiagNMLMsgDictCreator's to the CodeGen without the CodeGen having an explicit + dependancy on DiagNMLMsgDictCreator().
    DiagNMLMsgDictInterfaceNMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    LoadHierarchyUpdateInterfaceAn interface used to update a graphical progress bar and status text with information + on the progress loading a hierarchy, configuration file etc.
    ModuleInfoInterfaceInterface to the ModuleInfo class, used to reduce circlular dependancies.
    STI_TokenizerInterfaceAn interface that partially replaces the StringTokenizer while adding + an ability to skipInfo in a structure or array using data + parsed by ModuleInfo etc.
    +  + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    BufferInfoStores referencees to all of the information needed by the Design or Diagnostics tools + related to a single NML Buffer.
    ChannelInfoInformation needed by the RCS Design tool related to a single NML channel.
    CodeGenMain Class for applet CodeGen only needed for Graphical CodeGen and RCS Design Tool.
    CodeGenCmdLineThe command line only version of the CodeGenerator and generally newer preferred + method of creating format/update functions.
    CodeGenCommonParses NML C++ header files and .gen files to generate C++ format and update functions, + C,Java, and Ada class definitions and information for the Diagnostics and + Design tools.
    DiagNMLMsgDict* NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    DiagNMLMsgDictCreatorObjects of this class are passed from the diagnositcs tool and design tool to the CodeGen + objects as a way of indirectly passing DiagNMLMsgDicts() without introducing + unnecessary compile-time dependancies.
    EnumTypeInfoA class that includes informataion on the various values and their assocated names + with any enumeration.
    ModuleInfoClass contains references to all information taken from a Module section of + a diag or hierarchy file.
    ServerInfoInformation about a server tracked only by Design tool.
    StringFuncsClass with some utility funtions used handling Strings, environment variables etc.
    StructureTypeInfoClass with information about one C++ structure.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/package-tree.html b/doc/javadoc/diagapplet/CodeGen/package-tree.html new file mode 100644 index 0000000..e6ff8b5 --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/package-tree.html @@ -0,0 +1,175 @@ + + + + + + +diagapplet.CodeGen Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package diagapplet.CodeGen +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +

    +Interface Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/CodeGen/package-use.html b/doc/javadoc/diagapplet/CodeGen/package-use.html new file mode 100644 index 0000000..88aba9b --- /dev/null +++ b/doc/javadoc/diagapplet/CodeGen/package-use.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Package diagapplet.CodeGen + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    diagapplet.CodeGen

    +
    + + + + + + + + + + + + + + + + + + + + + +
    +Packages that use diagapplet.CodeGen
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    rcsdesign  
    +  +

    + + + + + + + + +
    +Classes in diagapplet.CodeGen used by diagapplet
    StructureTypeInfo + +
    +          Class with information about one C++ structure.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Classes in diagapplet.CodeGen used by diagapplet.CodeGen
    DiagNMLMsgDictCreatorInterface + +
    +          Interface that allows the Diagnostics tool and Design tool to pass + DiagNMLMsgDictCreator's to the CodeGen without the CodeGen having an explicit + dependancy on DiagNMLMsgDictCreator().
    DiagNMLMsgDictInterface + +
    +          NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    LoadHierarchyUpdateInterface + +
    +          An interface used to update a graphical progress bar and status text with information + on the progress loading a hierarchy, configuration file etc.
    ModuleInfo + +
    +          Class contains references to all information taken from a Module section of + a diag or hierarchy file.
    ModuleInfoInterface + +
    +          Interface to the ModuleInfo class, used to reduce circlular dependancies.
    ServerInfo + +
    +          Information about a server tracked only by Design tool.
    STI_TokenizerInterface + +
    +          An interface that partially replaces the StringTokenizer while adding + an ability to skipInfo in a structure or array using data + parsed by ModuleInfo etc.
    StructureTypeInfo + +
    +          Class with information about one C++ structure.
    +  +

    + + + + + + + + + + + +
    +Classes in diagapplet.CodeGen used by diagapplet.utils
    EnumTypeInfo + +
    +          A class that includes informataion on the various values and their assocated names + with any enumeration.
    StructureTypeInfo + +
    +          Class with information about one C++ structure.
    +  +

    + + + + + + + + +
    +Classes in diagapplet.CodeGen used by rcsdesign
    CodeGen + +
    +          Main Class for applet CodeGen only needed for Graphical CodeGen and RCS Design Tool.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/HierarchyPanel.html b/doc/javadoc/diagapplet/HierarchyPanel.html new file mode 100644 index 0000000..ebd8364 --- /dev/null +++ b/doc/javadoc/diagapplet/HierarchyPanel.html @@ -0,0 +1,1278 @@ + + + + + + +HierarchyPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class HierarchyPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by diagapplet.HierarchyPanel
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ComponentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class HierarchyPanel
    extends java.awt.Panel
    implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.ComponentListener
    + + +

    +Heavy weight panel component used in old original diagnostics applet and current RCS Design Tool. + New diagnostics tool uses a JPaintablePanel with HierarchyDraw as a replacement. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    + booleandesign_mode + +
    +           
    + java.awt.ScrollbarhorzScrollbar + +
    +           
    +static intMAX_HEIGHT + +
    +           
    +static intMAX_WIDTH + +
    +           
    +static intMIN_HEIGHT + +
    +           
    +static intMIN_WIDTH + +
    +           
    +static intMODULE_HEIGHT + +
    +           
    +static intMODULE_WIDTH + +
    +           
    +static intMODULE_X_SPACING + +
    +           
    +static intMODULE_XOFFSET + +
    +           
    +static intMODULE_Y_SPACING + +
    +           
    +static intMODULE_YOFFSET + +
    +           
    +protected  CountListmodulesCountList + +
    +           
    + java.awt.FrameparentFrame + +
    +           
    + intscroll_x + +
    +           
    + intscroll_y + +
    +           
    +static booleanupdating_hierarchy + +
    +           
    + java.awt.ScrollbarvertScrollbar + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    HierarchyPanel() + +
    +           
    HierarchyPanel(int new_width, + int new_height) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidclear() + +
    +           
    + voidcomponentHidden(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentMoved(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentResized(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentShown(java.awt.event.ComponentEvent evt) + +
    +           
    + intcomputeMaxX() + +
    +           
    + intcomputeMaxY() + +
    +           
    + voidFindAllParents(java.util.Hashtable modulesHashTable, + URLLoadInfoPanelInterface loadingPanel) + +
    +           
    + java.awt.DimensiongetMinimumSize() + +
    +           
    + java.lang.StringgetModulesListSelectedItem() + +
    +           
    + java.awt.DimensiongetPreferredSize() + +
    +           
    + voidhandle_mouseDragged() + +
    +           
    + voidmonitored_repaint() + +
    +           
    + voidmouseClicked(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseDragged(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseEntered(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseExited(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseMoved(java.awt.event.MouseEvent evt) + +
    +           
    + voidmousePressed(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseReleased(java.awt.event.MouseEvent evt) + +
    +           
    + voidpaint(java.awt.Graphics g) + +
    +           
    + voidpaintHierarchy(java.awt.Graphics g) + +
    +           
    + voidprint() + +
    +           
    + voidreset() + +
    +           
    + voidsetCountList(CountList cli) + +
    +           
    + booleanUpdateDisplay(boolean force_repaint) + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify, getAccessibleContext
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +updating_hierarchy

    +
    +public static boolean updating_hierarchy
    +
    +
    +
    +
    +
    + +

    +scroll_x

    +
    +public int scroll_x
    +
    +
    +
    +
    +
    + +

    +scroll_y

    +
    +public int scroll_y
    +
    +
    +
    +
    +
    + +

    +MODULE_WIDTH

    +
    +public static int MODULE_WIDTH
    +
    +
    +
    +
    +
    + +

    +MODULE_HEIGHT

    +
    +public static int MODULE_HEIGHT
    +
    +
    +
    +
    +
    + +

    +MODULE_XOFFSET

    +
    +public static int MODULE_XOFFSET
    +
    +
    +
    +
    +
    + +

    +MODULE_YOFFSET

    +
    +public static int MODULE_YOFFSET
    +
    +
    +
    +
    +
    + +

    +MODULE_X_SPACING

    +
    +public static int MODULE_X_SPACING
    +
    +
    +
    +
    +
    + +

    +MODULE_Y_SPACING

    +
    +public static int MODULE_Y_SPACING
    +
    +
    +
    +
    +
    + +

    +MAX_HEIGHT

    +
    +public static int MAX_HEIGHT
    +
    +
    +
    +
    +
    + +

    +MAX_WIDTH

    +
    +public static int MAX_WIDTH
    +
    +
    +
    +
    +
    + +

    +MIN_HEIGHT

    +
    +public static int MIN_HEIGHT
    +
    +
    +
    +
    +
    + +

    +MIN_WIDTH

    +
    +public static int MIN_WIDTH
    +
    +
    +
    +
    +
    + +

    +horzScrollbar

    +
    +public java.awt.Scrollbar horzScrollbar
    +
    +
    +
    +
    +
    + +

    +vertScrollbar

    +
    +public java.awt.Scrollbar vertScrollbar
    +
    +
    +
    +
    +
    + +

    +design_mode

    +
    +public boolean design_mode
    +
    +
    +
    +
    +
    + +

    +modulesCountList

    +
    +protected CountList modulesCountList
    +
    +
    +
    +
    +
    + +

    +parentFrame

    +
    +public java.awt.Frame parentFrame
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +HierarchyPanel

    +
    +public HierarchyPanel(int new_width,
    +                      int new_height)
    +
    +
    +
    + +

    +HierarchyPanel

    +
    +public HierarchyPanel()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +setCountList

    +
    +public void setCountList(CountList cli)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getModulesListSelectedItem

    +
    +public java.lang.String getModulesListSelectedItem()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +monitored_repaint

    +
    +public void monitored_repaint()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clear

    +
    +public void clear()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +reset

    +
    +public void reset()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getPreferredSize

    +
    +public java.awt.Dimension getPreferredSize()
    +
    +
    +
    Overrides:
    getPreferredSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +getMinimumSize

    +
    +public java.awt.Dimension getMinimumSize()
    +
    +
    +
    Overrides:
    getMinimumSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +mouseEntered

    +
    +public void mouseEntered(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseEntered in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseExited

    +
    +public void mouseExited(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseExited in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +computeMaxY

    +
    +public int computeMaxY()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +computeMaxX

    +
    +public int computeMaxX()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +mouseClicked

    +
    +public void mouseClicked(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseClicked in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mousePressed

    +
    +public void mousePressed(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mousePressed in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseMoved

    +
    +public void mouseMoved(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseMoved in interface java.awt.event.MouseMotionListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseDragged

    +
    +public void mouseDragged(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseDragged in interface java.awt.event.MouseMotionListener
    +
    +
    +
    +
    +
    +
    + +

    +handle_mouseDragged

    +
    +public void handle_mouseDragged()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +mouseReleased

    +
    +public void mouseReleased(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseReleased in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +UpdateDisplay

    +
    +public boolean UpdateDisplay(boolean force_repaint)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +print

    +
    +public void print()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +paint

    +
    +public void paint(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paint in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +paintHierarchy

    +
    +public void paintHierarchy(java.awt.Graphics g)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +FindAllParents

    +
    +public void FindAllParents(java.util.Hashtable modulesHashTable,
    +                           URLLoadInfoPanelInterface loadingPanel)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +componentResized

    +
    +public void componentResized(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentResized in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentShown

    +
    +public void componentShown(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentShown in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentHidden

    +
    +public void componentHidden(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentHidden in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentMoved

    +
    +public void componentMoved(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentMoved in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/JPaintablePanel.html b/doc/javadoc/diagapplet/JPaintablePanel.html new file mode 100644 index 0000000..faeccc7 --- /dev/null +++ b/doc/javadoc/diagapplet/JPaintablePanel.html @@ -0,0 +1,438 @@ + + + + + + +JPaintablePanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class JPaintablePanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.JPaintablePanel
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class JPaintablePanel
    extends javax.swing.JPanel
    + + +

    +A JPanel that calls a seperate PainterInterface object to do its painting. + Used by ImageJPanel and diag_NB_UI. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    +protected  PainterInterfacepainter + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    JPaintablePanel() + +
    +          Creates a new instance of JPaintablePanel
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    +protected  voidpaintComponent(java.awt.Graphics g) + +
    +           
    + voidset_painter(PainterInterface _painter) + +
    +          Set the external painter object that will be used every time the panel needs to be repainted.
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +painter

    +
    +protected PainterInterface painter
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +JPaintablePanel

    +
    +public JPaintablePanel()
    +
    +
    Creates a new instance of JPaintablePanel +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +set_painter

    +
    +public void set_painter(PainterInterface _painter)
    +
    +
    Set the external painter object that will be used every time the panel needs to be repainted. +

    +

    +
    Parameters:
    _painter -
    +
    +
    +
    + +

    +paintComponent

    +
    +protected void paintComponent(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paintComponent in class javax.swing.JComponent
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/MessageFileJFrame.html b/doc/javadoc/diagapplet/MessageFileJFrame.html new file mode 100644 index 0000000..7ff5135 --- /dev/null +++ b/doc/javadoc/diagapplet/MessageFileJFrame.html @@ -0,0 +1,610 @@ + + + + + + +MessageFileJFrame + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class MessageFileJFrame

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.MessageFileJFrame
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class MessageFileJFrame
    extends javax.swing.JFrame
    + + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    + javax.swing.JFrameparent + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    MessageFileJFrame() + +
    +          Creates new form MessageFileJFrame
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidLoadDataStringFile(java.io.File f) + +
    +           
    + voidLoadDataStringFile(java.lang.String fileName) + +
    +           
    + voidLoadPackedFile(java.io.File f) + +
    +           
    + voidLoadXMLFile(java.io.File f) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + voidset_hashtable_by_id(java.util.Hashtable _hashtable_by_id) + +
    +           
    + voidSetDataInfo(java.util.Enumeration e) + +
    +           
    + voidsetNmlMessageDictionary(NMLMessageDictionary _nml_dict) + +
    +           
    + voidSetTypeInfo(StructureTypeInfo _sti, + java.util.Hashtable _ht) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +parent

    +
    +public javax.swing.JFrame parent
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +MessageFileJFrame

    +
    +public MessageFileJFrame()
    +
    +
    Creates new form MessageFileJFrame +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +LoadPackedFile

    +
    +public void LoadPackedFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +LoadXMLFile

    +
    +public void LoadXMLFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +setNmlMessageDictionary

    +
    +public void setNmlMessageDictionary(NMLMessageDictionary _nml_dict)
    +
    +
    +
    +
    +
    +
    + +

    +set_hashtable_by_id

    +
    +public void set_hashtable_by_id(java.util.Hashtable _hashtable_by_id)
    +
    +
    +
    +
    +
    +
    + +

    +SetTypeInfo

    +
    +public void SetTypeInfo(StructureTypeInfo _sti,
    +                        java.util.Hashtable _ht)
    +
    +
    +
    +
    +
    +
    + +

    +SetDataInfo

    +
    +public void SetDataInfo(java.util.Enumeration e)
    +
    +
    +
    +
    +
    +
    + +

    +LoadDataStringFile

    +
    +public void LoadDataStringFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +LoadDataStringFile

    +
    +public void LoadDataStringFile(java.lang.String fileName)
    +
    +
    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    Parameters:
    args - the command line arguments
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/PainterInterface.html b/doc/javadoc/diagapplet/PainterInterface.html new file mode 100644 index 0000000..aca5dd6 --- /dev/null +++ b/doc/javadoc/diagapplet/PainterInterface.html @@ -0,0 +1,256 @@ + + + + + + +PainterInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Interface PainterInterface

    +
    +
    +
    public interface PainterInterface
    + + +

    +Interface that allows the creation classes resposible for painting a component without + needing to be derived from java.awt.Component or javax.swing.JComponent. + Used by ImageJPanel and JPaintablePanel. + Implemented by ImagePainter +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + java.awt.Rectangleget_selected_rect() + +
    +          Get rectangle stored with set_selected_rect().
    + voidpaintComponent(java.awt.Graphics g) + +
    +          Paint to the graphics object.
    + voidset_selected_rect(java.awt.Rectangle rect) + +
    +          Store a rectangle typically selected by the user via Mouse or MouseMotion event.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +paintComponent

    +
    +void paintComponent(java.awt.Graphics g)
    +
    +
    Paint to the graphics object. Typically called by a components paintComponent() method. +

    +

    +
    Parameters:
    g - Grahics object used for painting.
    +
    +
    +
    + +

    +get_selected_rect

    +
    +java.awt.Rectangle get_selected_rect()
    +
    +
    Get rectangle stored with set_selected_rect(). +

    +

    + +
    Returns:
    rectangle last selected.
    +
    +
    +
    + +

    +set_selected_rect

    +
    +void set_selected_rect(java.awt.Rectangle rect)
    +
    +
    Store a rectangle typically selected by the user via Mouse or MouseMotion event. +

    +

    +
    Parameters:
    rect -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/auxBufferPreserve.html b/doc/javadoc/diagapplet/auxBufferPreserve.html new file mode 100644 index 0000000..25abd31 --- /dev/null +++ b/doc/javadoc/diagapplet/auxBufferPreserve.html @@ -0,0 +1,369 @@ + + + + + + +auxBufferPreserve + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class auxBufferPreserve

    +
    +java.lang.Object
    +  extended by diagapplet.auxBufferPreserve
    +
    +
    +
    +
    public class auxBufferPreserve
    extends java.lang.Object
    + + +

    +Stores all of the information related to one auxBuffer in the hierarchy + kept between sessions by the diagnostics tool. + Everything is accessed though getter/setter functions to be compatible with + XMLDecoder/XMLEncoder as the files are saved in XML +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    auxBufferPreserve() + +
    +          Creates a new instance of auxBufferPreserve
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intgetLastSelectedMessageIndex() + +
    +          Getter for property lastSelectedMessageIndex.
    + java.lang.StringgetName() + +
    +          Getter for property name.
    + java.util.Hashtable<java.lang.Long,java.lang.String>getPreviousMessages() + +
    +          Getter for property PreviousMessages.
    + voidsetLastSelectedMessageIndex(int lastSelectedMessageIndex) + +
    +          Setter for property lastSelectedMessageIndex.
    + voidsetName(java.lang.String name) + +
    +          Setter for property name.
    + voidsetPreviousMessages(java.util.Hashtable<java.lang.Long,java.lang.String> _PreviousMessages) + +
    +          Setter for property PreviousMessages.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +auxBufferPreserve

    +
    +public auxBufferPreserve()
    +
    +
    Creates a new instance of auxBufferPreserve +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +getName

    +
    +public java.lang.String getName()
    +
    +
    Getter for property name. +

    +

    + +
    Returns:
    Value of property name.
    +
    +
    +
    + +

    +setName

    +
    +public void setName(java.lang.String name)
    +
    +
    Setter for property name. +

    +

    +
    Parameters:
    name - New value of property name.
    +
    +
    +
    + +

    +getPreviousMessages

    +
    +public java.util.Hashtable<java.lang.Long,java.lang.String> getPreviousMessages()
    +
    +
    Getter for property PreviousMessages. +

    +

    + +
    Returns:
    Value of property PreviousMessages.
    +
    +
    +
    + +

    +setPreviousMessages

    +
    +public void setPreviousMessages(java.util.Hashtable<java.lang.Long,java.lang.String> _PreviousMessages)
    +
    +
    Setter for property PreviousMessages. +

    +

    +
    Parameters:
    _PreviousMessages - New value of property PreviousMessages.
    +
    +
    +
    + +

    +getLastSelectedMessageIndex

    +
    +public int getLastSelectedMessageIndex()
    +
    +
    Getter for property lastSelectedMessageIndex. +

    +

    + +
    Returns:
    Value of property lastSelectedMessageIndex.
    +
    +
    +
    + +

    +setLastSelectedMessageIndex

    +
    +public void setLastSelectedMessageIndex(int lastSelectedMessageIndex)
    +
    +
    Setter for property lastSelectedMessageIndex. +

    +

    +
    Parameters:
    lastSelectedMessageIndex - New value of property lastSelectedMessageIndex.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/HierarchyPanel.html b/doc/javadoc/diagapplet/class-use/HierarchyPanel.html new file mode 100644 index 0000000..4b7537c --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/HierarchyPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.HierarchyPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.HierarchyPanel

    +
    +No usage of diagapplet.HierarchyPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/JPaintablePanel.html b/doc/javadoc/diagapplet/class-use/JPaintablePanel.html new file mode 100644 index 0000000..3d9a7c1 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/JPaintablePanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.JPaintablePanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.JPaintablePanel

    +
    +No usage of diagapplet.JPaintablePanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/MessageFileJFrame.html b/doc/javadoc/diagapplet/class-use/MessageFileJFrame.html new file mode 100644 index 0000000..97b5cc6 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/MessageFileJFrame.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.MessageFileJFrame + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.MessageFileJFrame

    +
    +No usage of diagapplet.MessageFileJFrame +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/PainterInterface.html b/doc/javadoc/diagapplet/class-use/PainterInterface.html new file mode 100644 index 0000000..95de0a3 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/PainterInterface.html @@ -0,0 +1,124 @@ + + + + + + + +Uses of Interface diagapplet.PainterInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.PainterInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use PainterInterface
    diagapplet  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of PainterInterface in diagapplet
    +  +

    + + + + + + + + + +
    Fields in diagapplet declared as PainterInterface
    +protected  PainterInterfaceJPaintablePanel.painter + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type PainterInterface
    + voidJPaintablePanel.set_painter(PainterInterface _painter) + +
    +          Set the external painter object that will be used every time the panel needs to be repainted.
    +  +

    + + + + + +
    +Uses of PainterInterface in diagapplet.utils
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils with parameters of type PainterInterface
    + voidImageJPanel.setSub_painter(PainterInterface sub_painter) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/auxBufferPreserve.html b/doc/javadoc/diagapplet/class-use/auxBufferPreserve.html new file mode 100644 index 0000000..65aaac9 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/auxBufferPreserve.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class diagapplet.auxBufferPreserve + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.auxBufferPreserve

    +
    + + + + + + + + + +
    +Packages that use auxBufferPreserve
    diagapplet  
    +  +

    + + + + + +
    +Uses of auxBufferPreserve in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet that return types with arguments of type auxBufferPreserve
    + java.util.Vector<auxBufferPreserve>diagPreserve.getAuxBuffersVector() + +
    +           
    +  +

    + + + + + + + + + +
    Method parameters in diagapplet with type arguments of type auxBufferPreserve
    + voiddiagPreserve.setAuxBuffersVector(java.util.Vector<auxBufferPreserve> AuxBuffersVector) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/diagPreserve.html b/doc/javadoc/diagapplet/class-use/diagPreserve.html new file mode 100644 index 0000000..3e5809d --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/diagPreserve.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.diagPreserve + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.diagPreserve

    +
    +No usage of diagapplet.diagPreserve +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/diag_NB_UI.html b/doc/javadoc/diagapplet/class-use/diag_NB_UI.html new file mode 100644 index 0000000..1737e43 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/diag_NB_UI.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.diag_NB_UI + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.diag_NB_UI

    +
    +No usage of diagapplet.diag_NB_UI +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/modulePreserve.html b/doc/javadoc/diagapplet/class-use/modulePreserve.html new file mode 100644 index 0000000..ee2140e --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/modulePreserve.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class diagapplet.modulePreserve + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.modulePreserve

    +
    + + + + + + + + + +
    +Packages that use modulePreserve
    diagapplet  
    +  +

    + + + + + +
    +Uses of modulePreserve in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet that return types with arguments of type modulePreserve
    + java.util.Vector<modulePreserve>diagPreserve.getModulesVector() + +
    +          Getter for property ModulesVector.
    +  +

    + + + + + + + + + +
    Method parameters in diagapplet with type arguments of type modulePreserve
    + voiddiagPreserve.setModulesVector(java.util.Vector<modulePreserve> ModulesVector) + +
    +          Setter for property ModulesVector.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/plotSetPreserve.html b/doc/javadoc/diagapplet/class-use/plotSetPreserve.html new file mode 100644 index 0000000..c40eb2d --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/plotSetPreserve.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class diagapplet.plotSetPreserve + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotSetPreserve

    +
    + + + + + + + + + +
    +Packages that use plotSetPreserve
    diagapplet  
    +  +

    + + + + + +
    +Uses of plotSetPreserve in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet that return plotSetPreserve
    + plotSetPreservediagPreserve.getPlotSet() + +
    +          Getter for property plotSet.
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type plotSetPreserve
    + voiddiagPreserve.setPlotSet(plotSetPreserve plotSet) + +
    +          Setter for property plotSet.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/class-use/plotTrackerPreserve.html b/doc/javadoc/diagapplet/class-use/plotTrackerPreserve.html new file mode 100644 index 0000000..4b0af16 --- /dev/null +++ b/doc/javadoc/diagapplet/class-use/plotTrackerPreserve.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class diagapplet.plotTrackerPreserve + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotTrackerPreserve

    +
    + + + + + + + + + +
    +Packages that use plotTrackerPreserve
    diagapplet  
    +  +

    + + + + + +
    +Uses of plotTrackerPreserve in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet that return types with arguments of type plotTrackerPreserve
    + java.util.Vector<plotTrackerPreserve>plotSetPreserve.getPlotList() + +
    +          Getter for property plotList.
    +  +

    + + + + + + + + + +
    Method parameters in diagapplet with type arguments of type plotTrackerPreserve
    + voidplotSetPreserve.setPlotList(java.util.Vector<plotTrackerPreserve> plotList) + +
    +          Setter for property plotList.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/diagPreserve.html b/doc/javadoc/diagapplet/diagPreserve.html new file mode 100644 index 0000000..4a0603d --- /dev/null +++ b/doc/javadoc/diagapplet/diagPreserve.html @@ -0,0 +1,1237 @@ + + + + + + +diagPreserve + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class diagPreserve

    +
    +java.lang.Object
    +  extended by diagapplet.diagPreserve
    +
    +
    +
    All Implemented Interfaces:
    java.io.Serializable
    +
    +
    +
    +
    public class diagPreserve
    extends java.lang.Object
    implements java.io.Serializable
    + + +

    +Stores all of the information kept between sessions by the diagnostics tool. + Everything is accessed though getter/setter functions to be compatible with + XMLDecoder/XMLEncoder as the files are saved in XML +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + + + + + +
    +Field Summary
    +protected  booleanAutomatically_Keep_and_Use_PlotSets + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    diagPreserve() + +
    +          Creates a new instance of diagPreserve
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + booleanget_connected() + +
    +          Get the value of connected flag from last run.
    + java.util.Vector<java.lang.String>get_recentNmlConfigFileVector() + +
    +          Get Recent NML Config Files.
    + java.util.Vector<auxBufferPreserve>getAuxBuffersVector() + +
    +           
    + java.lang.StringgetDefaultNMLConfigFile() + +
    +          Getter for property defaultNMLConfigFile.
    + intgetHeight() + +
    +          Getter for property height.
    + java.util.Vector<modulePreserve>getModulesVector() + +
    +          Getter for property ModulesVector.
    + plotSetPreservegetPlotSet() + +
    +          Getter for property plotSet.
    + java.util.Vector<java.lang.String>getRecentPlotSets() + +
    +          Getter for property recentPlotSets.
    + java.lang.StringgetSelectedAuxChannel() + +
    +          Getter for property selectedAuxChannel.
    + java.lang.StringgetSelectedModule() + +
    +          Getter for property selectedModule.
    + intgetSelectedTab() + +
    +          Getter for property selectedTab.
    + intgetWidth() + +
    +          Getter for property width.
    + intgetWindow_state() + +
    +          Getter for property window_state.
    + intgetX() + +
    +          Getter for property x.
    + intgetY() + +
    +          Getter for property y.
    + booleanis_connected() + +
    +          Get the value of connected flag from last run.
    + booleanisAuto_connect_disconnect() + +
    +          Getter for property auto_connect_disconnect.
    + booleanisAutomatically_Keep_and_Use_PlotSets() + +
    +          Get the value of Automatically_Keep_and_Use_PlotSets
    + booleanisMoved() + +
    +          Getter for property moved.
    + booleanisResized() + +
    +          Getter for property resized.
    + voidset_connected(boolean _connected) + +
    +          Set a flag so the diagnostics too will reconnect or not when next restarted.
    + voidset_recentNmlConfigFileVector(java.util.Vector<java.lang.String> _recentNmlConfigFileVector) + +
    +          Set The vector of strings of NML config file names.
    + voidsetAuto_connect_disconnect(boolean auto_connect_disconnect) + +
    +          Setter for property auto_connect_disconnect.
    + voidsetAutomatically_Keep_and_Use_PlotSets(boolean Automatically_Keep_and_Use_PlotSets) + +
    +          Set the value of Automatically_Keep_and_Use_PlotSets
    + voidsetAuxBuffersVector(java.util.Vector<auxBufferPreserve> AuxBuffersVector) + +
    +           
    + voidsetDefaultNMLConfigFile(java.lang.String defaultNMLConfigFile) + +
    +          Setter for property defaultNMLConfigFile.
    + voidsetHeight(int height) + +
    +          Setter for property height.
    + voidsetModulesVector(java.util.Vector<modulePreserve> ModulesVector) + +
    +          Setter for property ModulesVector.
    + voidsetMoved(boolean moved) + +
    +          Setter for property moved.
    + voidsetPlotSet(plotSetPreserve plotSet) + +
    +          Setter for property plotSet.
    + voidsetRecentPlotSets(java.util.Vector<java.lang.String> recentPlotSets) + +
    +          Setter for property recentPlotSets.
    + voidsetResized(boolean resized) + +
    +          Setter for property resized.
    + voidsetSelectedAuxChannel(java.lang.String selectedAuxChannel) + +
    +          Setter for property selectedAuxChannel.
    + voidsetSelectedModule(java.lang.String selectedModule) + +
    +          Setter for property selectedModule.
    + voidsetSelectedTab(int selectedTab) + +
    +          Setter for property selectedTab.
    + voidsetWidth(int width) + +
    +          Setter for property width.
    + voidsetWindow_state(int window_state) + +
    +          Setter for property window_state.
    + voidsetX(int x) + +
    +          Setter for property x.
    + voidsetY(int y) + +
    +          Setter for property y.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Automatically_Keep_and_Use_PlotSets

    +
    +protected boolean Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +diagPreserve

    +
    +public diagPreserve()
    +
    +
    Creates a new instance of diagPreserve +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +isAutomatically_Keep_and_Use_PlotSets

    +
    +public boolean isAutomatically_Keep_and_Use_PlotSets()
    +
    +
    Get the value of Automatically_Keep_and_Use_PlotSets +

    +

    +
    +
    +
    + +
    Returns:
    the value of Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    + +

    +setAutomatically_Keep_and_Use_PlotSets

    +
    +public void setAutomatically_Keep_and_Use_PlotSets(boolean Automatically_Keep_and_Use_PlotSets)
    +
    +
    Set the value of Automatically_Keep_and_Use_PlotSets +

    +

    +
    +
    +
    +
    Parameters:
    Automatically_Keep_and_Use_PlotSets - new value of Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    + +

    +get_recentNmlConfigFileVector

    +
    +public java.util.Vector<java.lang.String> get_recentNmlConfigFileVector()
    +
    +
    Get Recent NML Config Files. +

    +

    +
    +
    +
    + +
    Returns:
    Vector of strings of names of previously used NML config files.
    +
    +
    +
    + +

    +set_recentNmlConfigFileVector

    +
    +public void set_recentNmlConfigFileVector(java.util.Vector<java.lang.String> _recentNmlConfigFileVector)
    +
    +
    Set The vector of strings of NML config file names. +

    +

    +
    +
    +
    +
    Parameters:
    _recentNmlConfigFileVector -
    +
    +
    +
    + +

    +set_connected

    +
    +public void set_connected(boolean _connected)
    +
    +
    Set a flag so the diagnostics too will reconnect or not when next restarted. + (It may be over written with a setting on the command line or in the diagnostics + config file.) +

    +

    +
    +
    +
    +
    Parameters:
    _connected -
    +
    +
    +
    + +

    +get_connected

    +
    +public boolean get_connected()
    +
    +
    Get the value of connected flag from last run. +

    +

    +
    +
    +
    + +
    Returns:
    Was the tool connected when state last saved?
    +
    +
    +
    + +

    +is_connected

    +
    +public boolean is_connected()
    +
    +
    Get the value of connected flag from last run. + (redundant with get_connected.) +

    +

    +
    +
    +
    + +
    Returns:
    Was the tool connected when state last saved?
    +
    +
    +
    + +

    +getSelectedModule

    +
    +public java.lang.String getSelectedModule()
    +
    +
    Getter for property selectedModule. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property selectedModule ( the name of the last selected module. )
    +
    +
    +
    + +

    +setSelectedModule

    +
    +public void setSelectedModule(java.lang.String selectedModule)
    +
    +
    Setter for property selectedModule. +

    +

    +
    +
    +
    +
    Parameters:
    selectedModule - New value of property selectedModule (the name of the selected module).
    +
    +
    +
    + +

    +getModulesVector

    +
    +public java.util.Vector<modulePreserve> getModulesVector()
    +
    +
    Getter for property ModulesVector. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property ModulesVector. + (Vector containing one modulePreserve object for each module in the hierarchy.)
    +
    +
    +
    + +

    +setModulesVector

    +
    +public void setModulesVector(java.util.Vector<modulePreserve> ModulesVector)
    +
    +
    Setter for property ModulesVector. +

    +

    +
    +
    +
    +
    Parameters:
    ModulesVector - New value of property ModulesVector. + (Vector containing one modulePreserve object for each module in the hierarchy.)
    +
    +
    +
    + +

    +getSelectedAuxChannel

    +
    +public java.lang.String getSelectedAuxChannel()
    +
    +
    Getter for property selectedAuxChannel. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property selectedAuxChannel.
    +
    +
    +
    + +

    +setSelectedAuxChannel

    +
    +public void setSelectedAuxChannel(java.lang.String selectedAuxChannel)
    +
    +
    Setter for property selectedAuxChannel. +

    +

    +
    +
    +
    +
    Parameters:
    selectedAuxChannel - New value of property selectedAuxChannel.
    +
    +
    +
    + +

    +getSelectedTab

    +
    +public int getSelectedTab()
    +
    +
    Getter for property selectedTab. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property selectedTab.
    +
    +
    +
    + +

    +setSelectedTab

    +
    +public void setSelectedTab(int selectedTab)
    +
    +
    Setter for property selectedTab. +

    +

    +
    +
    +
    +
    Parameters:
    selectedTab - New value of property selectedTab.
    +
    +
    +
    + +

    +getPlotSet

    +
    +public plotSetPreserve getPlotSet()
    +
    +
    Getter for property plotSet. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property plotSet.
    +
    +
    +
    + +

    +setPlotSet

    +
    +public void setPlotSet(plotSetPreserve plotSet)
    +
    +
    Setter for property plotSet. +

    +

    +
    +
    +
    +
    Parameters:
    plotSet - New value of property plotSet.
    +
    +
    +
    + +

    +getRecentPlotSets

    +
    +public java.util.Vector<java.lang.String> getRecentPlotSets()
    +
    +
    Getter for property recentPlotSets. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property recentPlotSets.
    +
    +
    +
    + +

    +setRecentPlotSets

    +
    +public void setRecentPlotSets(java.util.Vector<java.lang.String> recentPlotSets)
    +
    +
    Setter for property recentPlotSets. +

    +

    +
    +
    +
    +
    Parameters:
    recentPlotSets - New value of property recentPlotSets.
    +
    +
    +
    + +

    +isMoved

    +
    +public boolean isMoved()
    +
    +
    Getter for property moved. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property moved.
    +
    +
    +
    + +

    +setMoved

    +
    +public void setMoved(boolean moved)
    +
    +
    Setter for property moved. +

    +

    +
    +
    +
    +
    Parameters:
    moved - New value of property moved.
    +
    +
    +
    + +

    +getX

    +
    +public int getX()
    +
    +
    Getter for property x. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property x.
    +
    +
    +
    + +

    +setX

    +
    +public void setX(int x)
    +
    +
    Setter for property x. +

    +

    +
    +
    +
    +
    Parameters:
    x - New value of property x.
    +
    +
    +
    + +

    +getY

    +
    +public int getY()
    +
    +
    Getter for property y. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property y.
    +
    +
    +
    + +

    +setY

    +
    +public void setY(int y)
    +
    +
    Setter for property y. +

    +

    +
    +
    +
    +
    Parameters:
    y - New value of property y.
    +
    +
    +
    + +

    +isResized

    +
    +public boolean isResized()
    +
    +
    Getter for property resized. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property resized.
    +
    +
    +
    + +

    +setResized

    +
    +public void setResized(boolean resized)
    +
    +
    Setter for property resized. +

    +

    +
    +
    +
    +
    Parameters:
    resized - New value of property resized.
    +
    +
    +
    + +

    +getWidth

    +
    +public int getWidth()
    +
    +
    Getter for property width. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property width.
    +
    +
    +
    + +

    +setWidth

    +
    +public void setWidth(int width)
    +
    +
    Setter for property width. +

    +

    +
    +
    +
    +
    Parameters:
    width - New value of property width.
    +
    +
    +
    + +

    +getHeight

    +
    +public int getHeight()
    +
    +
    Getter for property height. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property height.
    +
    +
    +
    + +

    +setHeight

    +
    +public void setHeight(int height)
    +
    +
    Setter for property height. +

    +

    +
    +
    +
    +
    Parameters:
    height - New value of property height.
    +
    +
    +
    + +

    +getDefaultNMLConfigFile

    +
    +public java.lang.String getDefaultNMLConfigFile()
    +
    +
    Getter for property defaultNMLConfigFile. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property defaultNMLConfigFile.
    +
    +
    +
    + +

    +setDefaultNMLConfigFile

    +
    +public void setDefaultNMLConfigFile(java.lang.String defaultNMLConfigFile)
    +
    +
    Setter for property defaultNMLConfigFile. +

    +

    +
    +
    +
    +
    Parameters:
    defaultNMLConfigFile - New value of property defaultNMLConfigFile.
    +
    +
    +
    + +

    +getWindow_state

    +
    +public int getWindow_state()
    +
    +
    Getter for property window_state. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property window_state.
    +
    +
    +
    + +

    +setWindow_state

    +
    +public void setWindow_state(int window_state)
    +
    +
    Setter for property window_state. +

    +

    +
    +
    +
    +
    Parameters:
    window_state - New value of property window_state.
    +
    +
    +
    + +

    +isAuto_connect_disconnect

    +
    +public boolean isAuto_connect_disconnect()
    +
    +
    Getter for property auto_connect_disconnect. +

    +

    +
    +
    +
    + +
    Returns:
    Value of property auto_connect_disconnect.
    +
    +
    +
    + +

    +setAuto_connect_disconnect

    +
    +public void setAuto_connect_disconnect(boolean auto_connect_disconnect)
    +
    +
    Setter for property auto_connect_disconnect. +

    +

    +
    +
    +
    +
    Parameters:
    auto_connect_disconnect - New value of property auto_connect_disconnect.
    +
    +
    +
    + +

    +getAuxBuffersVector

    +
    +public java.util.Vector<auxBufferPreserve> getAuxBuffersVector()
    +
    +
    +
    +
    +
    + +
    Returns:
    the AuxBuffersVector
    +
    +
    +
    + +

    +setAuxBuffersVector

    +
    +public void setAuxBuffersVector(java.util.Vector<auxBufferPreserve> AuxBuffersVector)
    +
    +
    +
    +
    +
    +
    Parameters:
    AuxBuffersVector - the AuxBuffersVector to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/diag_NB_UI.html b/doc/javadoc/diagapplet/diag_NB_UI.html new file mode 100644 index 0000000..644d036 --- /dev/null +++ b/doc/javadoc/diagapplet/diag_NB_UI.html @@ -0,0 +1,631 @@ + + + + + + +diag_NB_UI + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class diag_NB_UI

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.diag_NB_UI
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class diag_NB_UI
    extends javax.swing.JFrame
    + + +

    +Main class used for running the newer Swing based diagnostics tool. + The new version of the tool does not support being run as an applet. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    +protected  booleanAutomatically_Keep_and_Use_PlotSets + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    diag_NB_UI() + +
    +          Creates new form diag_NB_UI
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAutoSavePlotSet() + +
    +           
    +protected  voidfinalize() + +
    +           
    + booleanisAutomatically_Keep_and_Use_PlotSets() + +
    +          Get the value of Automatically_Keep_and_Use_PlotSets
    + voidLoadAuxBuffersFromNmlConfigFile(java.lang.String configuration_file) + +
    +          Searches the NML configuration file and adds a new AuxBuffer for each buffer that + is not queued and has the "header=" option set.
    +static voidmain(java.lang.String[] _args) + +
    +          Main function --normally opens a new Diagnostics Window + run with --help to see available command line options.
    +static voidPrintError(java.lang.String s) + +
    +          Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists.
    +static voidPrintException(java.lang.Throwable e) + +
    +          Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists.
    + voidsetAutomatically_Keep_and_Use_PlotSets(boolean Automatically_Keep_and_Use_PlotSets) + +
    +          Set the value of Automatically_Keep_and_Use_PlotSets
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Automatically_Keep_and_Use_PlotSets

    +
    +protected boolean Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +diag_NB_UI

    +
    +public diag_NB_UI()
    +
    +
    Creates new form diag_NB_UI +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +PrintException

    +
    +public static void PrintException(java.lang.Throwable e)
    +
    +
    Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists. (Ussually there is only one diag_NB_UI) + Also the first 4 exceptions open Popup Message dialogs. +

    +

    +
    Parameters:
    e - -- the exception/throwable to print.
    +
    +
    +
    + +

    +PrintError

    +
    +public static void PrintError(java.lang.String s)
    +
    +
    Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists. (Ussually there is only one diag_NB_UI) + Also the first 4 strings with open Popup Message dialogs. +

    +

    +
    Parameters:
    s - -- error string to print.
    +
    +
    +
    + +

    +isAutomatically_Keep_and_Use_PlotSets

    +
    +public boolean isAutomatically_Keep_and_Use_PlotSets()
    +
    +
    Get the value of Automatically_Keep_and_Use_PlotSets +

    +

    + +
    Returns:
    the value of Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    + +

    +setAutomatically_Keep_and_Use_PlotSets

    +
    +public void setAutomatically_Keep_and_Use_PlotSets(boolean Automatically_Keep_and_Use_PlotSets)
    +
    +
    Set the value of Automatically_Keep_and_Use_PlotSets +

    +

    +
    Parameters:
    Automatically_Keep_and_Use_PlotSets - new value of Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    + +

    +finalize

    +
    +protected void finalize()
    +                 throws java.lang.Throwable
    +
    +
    +
    Overrides:
    finalize in class java.lang.Object
    +
    +
    + +
    Throws: +
    java.lang.Throwable
    +
    +
    +
    + +

    +AutoSavePlotSet

    +
    +public void AutoSavePlotSet()
    +
    +
    +
    +
    +
    +
    + +

    +LoadAuxBuffersFromNmlConfigFile

    +
    +public void LoadAuxBuffersFromNmlConfigFile(java.lang.String configuration_file)
    +
    +
    Searches the NML configuration file and adds a new AuxBuffer for each buffer that + is not queued and has the "header=" option set. +

    +

    +
    Parameters:
    configuration_file -
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] _args)
    +
    +
    Main function --normally opens a new Diagnostics Window + run with --help to see available command line options. +

    +

    +
    Parameters:
    _args -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/modulePreserve.html b/doc/javadoc/diagapplet/modulePreserve.html new file mode 100644 index 0000000..ffc6080 --- /dev/null +++ b/doc/javadoc/diagapplet/modulePreserve.html @@ -0,0 +1,369 @@ + + + + + + +modulePreserve + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class modulePreserve

    +
    +java.lang.Object
    +  extended by diagapplet.modulePreserve
    +
    +
    +
    +
    public class modulePreserve
    extends java.lang.Object
    + + +

    +Stores all of the information related to one module in the hierarchy + kept between sessions by the diagnostics tool. + Everything is accessed though getter/setter functions to be compatible with + XMLDecoder/XMLEncoder as the files are saved in XML +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    modulePreserve() + +
    +          Creates a new instance of modulePreserve
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intgetLastSelectedCommandIndex() + +
    +          Getter for property lastSelectedCommandIndex.
    + java.lang.StringgetName() + +
    +          Getter for property name.
    + java.util.Hashtable<java.lang.Long,java.lang.String>getPreviousCommands() + +
    +          Getter for property PreviousCommands.
    + voidsetLastSelectedCommandIndex(int lastSelectedCommandIndex) + +
    +          Setter for property lastSelectedCommandIndex.
    + voidsetName(java.lang.String name) + +
    +          Setter for property name.
    + voidsetPreviousCommands(java.util.Hashtable<java.lang.Long,java.lang.String> _PreviousCommands) + +
    +          Setter for property PreviousCommands.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +modulePreserve

    +
    +public modulePreserve()
    +
    +
    Creates a new instance of modulePreserve +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +getName

    +
    +public java.lang.String getName()
    +
    +
    Getter for property name. +

    +

    + +
    Returns:
    Value of property name.
    +
    +
    +
    + +

    +setName

    +
    +public void setName(java.lang.String name)
    +
    +
    Setter for property name. +

    +

    +
    Parameters:
    name - New value of property name.
    +
    +
    +
    + +

    +getPreviousCommands

    +
    +public java.util.Hashtable<java.lang.Long,java.lang.String> getPreviousCommands()
    +
    +
    Getter for property PreviousCommands. +

    +

    + +
    Returns:
    Value of property PreviousCommands.
    +
    +
    +
    + +

    +setPreviousCommands

    +
    +public void setPreviousCommands(java.util.Hashtable<java.lang.Long,java.lang.String> _PreviousCommands)
    +
    +
    Setter for property PreviousCommands. +

    +

    +
    Parameters:
    _PreviousCommands - New value of property PreviousCommands.
    +
    +
    +
    + +

    +getLastSelectedCommandIndex

    +
    +public int getLastSelectedCommandIndex()
    +
    +
    Getter for property lastSelectedCommandIndex. +

    +

    + +
    Returns:
    Value of property lastSelectedCommandIndex.
    +
    +
    +
    + +

    +setLastSelectedCommandIndex

    +
    +public void setLastSelectedCommandIndex(int lastSelectedCommandIndex)
    +
    +
    Setter for property lastSelectedCommandIndex. +

    +

    +
    Parameters:
    lastSelectedCommandIndex - New value of property lastSelectedCommandIndex.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/package-frame.html b/doc/javadoc/diagapplet/package-frame.html new file mode 100644 index 0000000..0146c82 --- /dev/null +++ b/doc/javadoc/diagapplet/package-frame.html @@ -0,0 +1,59 @@ + + + + + + +diagapplet + + + + + + + + + + + +diagapplet + + + + +
    +Interfaces  + +
    +PainterInterface
    + + + + + + +
    +Classes  + +
    +auxBufferPreserve +
    +diag_NB_UI +
    +diagPreserve +
    +HierarchyPanel +
    +JPaintablePanel +
    +MessageFileJFrame +
    +modulePreserve +
    +plotSetPreserve +
    +plotTrackerPreserve
    + + + + diff --git a/doc/javadoc/diagapplet/package-summary.html b/doc/javadoc/diagapplet/package-summary.html new file mode 100644 index 0000000..9637e47 --- /dev/null +++ b/doc/javadoc/diagapplet/package-summary.html @@ -0,0 +1,204 @@ + + + + + + +diagapplet + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package diagapplet +

    + + + + + + + + + +
    +Interface Summary
    PainterInterfaceInterface that allows the creation classes resposible for painting a component without + needing to be derived from java.awt.Component or javax.swing.JComponent.
    +  + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    auxBufferPreserveStores all of the information related to one auxBuffer in the hierarchy + kept between sessions by the diagnostics tool.
    diag_NB_UIMain class used for running the newer Swing based diagnostics tool.
    diagPreserveStores all of the information kept between sessions by the diagnostics tool.
    HierarchyPanelHeavy weight panel component used in old original diagnostics applet and current RCS Design Tool.
    JPaintablePanelA JPanel that calls a seperate PainterInterface object to do its painting.
    MessageFileJFrame 
    modulePreserveStores all of the information related to one module in the hierarchy + kept between sessions by the diagnostics tool.
    plotSetPreserveStores all of the information kept between sessions about a single PlotSet by the diagnostics tool.
    plotTrackerPreserveStores all of the information kept between sessions about a single plot by the diagnostics tool.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/package-tree.html b/doc/javadoc/diagapplet/package-tree.html new file mode 100644 index 0000000..be67991 --- /dev/null +++ b/doc/javadoc/diagapplet/package-tree.html @@ -0,0 +1,181 @@ + + + + + + +diagapplet Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package diagapplet +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    +
      +
    • java.lang.Object
        +
      • diagapplet.auxBufferPreserve
      • java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable) +
          +
        • java.awt.Container
            +
          • javax.swing.JComponent (implements java.io.Serializable) +
              +
            • javax.swing.JPanel (implements javax.accessibility.Accessible) + +
            +
          • java.awt.Panel (implements javax.accessibility.Accessible) +
              +
            • diagapplet.HierarchyPanel (implements java.awt.event.ComponentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener) +
            +
          • java.awt.Window (implements javax.accessibility.Accessible) +
              +
            • java.awt.Frame (implements java.awt.MenuContainer) +
                +
              • javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants) + +
              +
            +
          +
        +
      • diagapplet.diagPreserve (implements java.io.Serializable) +
      • diagapplet.modulePreserve
      • diagapplet.plotSetPreserve
      • diagapplet.plotTrackerPreserve
      +
    +

    +Interface Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/package-use.html b/doc/javadoc/diagapplet/package-use.html new file mode 100644 index 0000000..5a7f4a1 --- /dev/null +++ b/doc/javadoc/diagapplet/package-use.html @@ -0,0 +1,116 @@ + + + + + + + +Uses of Package diagapplet + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    diagapplet

    +
    + + + + + + + + + + + + + +
    +Packages that use diagapplet
    diagapplet  
    diagapplet.utils  
    +  +

    + + + + + + + + + + + + + + + + + + + + +
    +Classes in diagapplet used by diagapplet
    auxBufferPreserve + +
    +          Stores all of the information related to one auxBuffer in the hierarchy + kept between sessions by the diagnostics tool.
    modulePreserve + +
    +          Stores all of the information related to one module in the hierarchy + kept between sessions by the diagnostics tool.
    PainterInterface + +
    +          Interface that allows the creation classes resposible for painting a component without + needing to be derived from java.awt.Component or javax.swing.JComponent.
    plotSetPreserve + +
    +          Stores all of the information kept between sessions about a single PlotSet by the diagnostics tool.
    plotTrackerPreserve + +
    +          Stores all of the information kept between sessions about a single plot by the diagnostics tool.
    +  +

    + + + + + + + + +
    +Classes in diagapplet used by diagapplet.utils
    PainterInterface + +
    +          Interface that allows the creation classes resposible for painting a component without + needing to be derived from java.awt.Component or javax.swing.JComponent.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotSetPreserve.html b/doc/javadoc/diagapplet/plotSetPreserve.html new file mode 100644 index 0000000..cff2c4a --- /dev/null +++ b/doc/javadoc/diagapplet/plotSetPreserve.html @@ -0,0 +1,368 @@ + + + + + + +plotSetPreserve + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class plotSetPreserve

    +
    +java.lang.Object
    +  extended by diagapplet.plotSetPreserve
    +
    +
    +
    +
    public class plotSetPreserve
    extends java.lang.Object
    + + +

    +Stores all of the information kept between sessions about a single PlotSet by the diagnostics tool. + Everything is accessed though getter/setter functions to be compatible with + XMLDecoder/XMLEncoder as the files are saved in XML +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    plotSetPreserve() + +
    +          Creates a new instance of plotSetPreserve
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intgetFuncArg() + +
    +          Getter for property funcArg.
    + intgetGraphFunction() + +
    +          Getter for property graphFunction.
    + java.util.Vector<plotTrackerPreserve>getPlotList() + +
    +          Getter for property plotList.
    + voidsetFuncArg(int funcArg) + +
    +          Setter for property funcArg.
    + voidsetGraphFunction(int graphFunction) + +
    +          Setter for property graphFunction.
    + voidsetPlotList(java.util.Vector<plotTrackerPreserve> plotList) + +
    +          Setter for property plotList.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +plotSetPreserve

    +
    +public plotSetPreserve()
    +
    +
    Creates a new instance of plotSetPreserve +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +getPlotList

    +
    +public java.util.Vector<plotTrackerPreserve> getPlotList()
    +
    +
    Getter for property plotList. +

    +

    + +
    Returns:
    Value of property plotList.
    +
    +
    +
    + +

    +setPlotList

    +
    +public void setPlotList(java.util.Vector<plotTrackerPreserve> plotList)
    +
    +
    Setter for property plotList. +

    +

    +
    Parameters:
    plotList - New value of property plotList.
    +
    +
    +
    + +

    +getGraphFunction

    +
    +public int getGraphFunction()
    +
    +
    Getter for property graphFunction. +

    +

    + +
    Returns:
    Value of property graphFunction.
    +
    +
    +
    + +

    +setGraphFunction

    +
    +public void setGraphFunction(int graphFunction)
    +
    +
    Setter for property graphFunction. +

    +

    +
    Parameters:
    graphFunction - New value of property graphFunction.
    +
    +
    +
    + +

    +getFuncArg

    +
    +public int getFuncArg()
    +
    +
    Getter for property funcArg. +

    +

    + +
    Returns:
    Value of property funcArg.
    +
    +
    +
    + +

    +setFuncArg

    +
    +public void setFuncArg(int funcArg)
    +
    +
    Setter for property funcArg. +

    +

    +
    Parameters:
    funcArg - New value of property funcArg.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotTrackerPreserve.html b/doc/javadoc/diagapplet/plotTrackerPreserve.html new file mode 100644 index 0000000..ecf5bb5 --- /dev/null +++ b/doc/javadoc/diagapplet/plotTrackerPreserve.html @@ -0,0 +1,691 @@ + + + + + + +plotTrackerPreserve + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet +
    +Class plotTrackerPreserve

    +
    +java.lang.Object
    +  extended by diagapplet.plotTrackerPreserve
    +
    +
    +
    +
    public class plotTrackerPreserve
    extends java.lang.Object
    + + +

    +Stores all of the information kept between sessions about a single plot by the diagnostics tool. + Everything is accessed though getter/setter functions to be compatible with + XMLDecoder/XMLEncoder as the files are saved in XML +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    plotTrackerPreserve() + +
    +          Creates a new instance of plotTrackerPreserve
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringgetBufferName() + +
    +          Getter for property BufferName.
    + java.lang.StringgetModuleName() + +
    +          Getter for property moduleName.
    + longgetMsgType() + +
    +          Getter for property msgType.
    + java.lang.StringgetName() + +
    +          Getter for property name.
    + java.lang.StringgetStiName() + +
    +          Getter for property stiName.
    + java.lang.StringgetVariableName() + +
    +          Getter for property variableName.
    + intgetVariableNumber() + +
    +          Getter for property variableNumber.
    + booleanisIsArray() + +
    +          Getter for property isArray.
    + booleanisIsAux() + +
    +          Getter for property isAux.
    + booleanisIsCmd() + +
    +          Getter for property isCmd.
    + voidsetBufferName(java.lang.String bufferName) + +
    +          Setter for property bufferName.
    + voidsetIsArray(boolean isArray) + +
    +          Setter for property isArray.
    + voidsetIsAux(boolean isAux) + +
    +          Setter for property isAux.
    + voidsetIsCmd(boolean isCmd) + +
    +          Setter for property isCmd.
    + voidsetModuleName(java.lang.String moduleName) + +
    +          Setter for property moduleName.
    + voidsetMsgType(long msgType) + +
    +          Setter for property msgType.
    + voidsetName(java.lang.String name) + +
    +          Setter for property name.
    + voidsetStiName(java.lang.String stiName) + +
    +          Setter for property stiName.
    + voidsetVariableName(java.lang.String variableName) + +
    +          Setter for property variableName.
    + voidsetVariableNumber(int variableNumber) + +
    +          Setter for property variableNumber.
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +plotTrackerPreserve

    +
    +public plotTrackerPreserve()
    +
    +
    Creates a new instance of plotTrackerPreserve +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getName

    +
    +public java.lang.String getName()
    +
    +
    Getter for property name. +

    +

    + +
    Returns:
    Value of property name.
    +
    +
    +
    + +

    +setName

    +
    +public void setName(java.lang.String name)
    +
    +
    Setter for property name. +

    +

    +
    Parameters:
    name - New value of property name.
    +
    +
    +
    + +

    +isIsAux

    +
    +public boolean isIsAux()
    +
    +
    Getter for property isAux. +

    +

    + +
    Returns:
    Value of property isAux.
    +
    +
    +
    + +

    +setIsAux

    +
    +public void setIsAux(boolean isAux)
    +
    +
    Setter for property isAux. +

    +

    +
    Parameters:
    isAux - New value of property isAux.
    +
    +
    +
    + +

    +isIsCmd

    +
    +public boolean isIsCmd()
    +
    +
    Getter for property isCmd. +

    +

    + +
    Returns:
    Value of property isCmd.
    +
    +
    +
    + +

    +setIsCmd

    +
    +public void setIsCmd(boolean isCmd)
    +
    +
    Setter for property isCmd. +

    +

    +
    Parameters:
    isCmd - New value of property isCmd.
    +
    +
    +
    + +

    +isIsArray

    +
    +public boolean isIsArray()
    +
    +
    Getter for property isArray. +

    +

    + +
    Returns:
    Value of property isArray.
    +
    +
    +
    + +

    +setIsArray

    +
    +public void setIsArray(boolean isArray)
    +
    +
    Setter for property isArray. +

    +

    +
    Parameters:
    isArray - New value of property isArray.
    +
    +
    +
    + +

    +getModuleName

    +
    +public java.lang.String getModuleName()
    +
    +
    Getter for property moduleName. +

    +

    + +
    Returns:
    Value of property moduleName.
    +
    +
    +
    + +

    +setModuleName

    +
    +public void setModuleName(java.lang.String moduleName)
    +
    +
    Setter for property moduleName. +

    +

    +
    Parameters:
    moduleName - New value of property moduleName.
    +
    +
    +
    + +

    +getBufferName

    +
    +public java.lang.String getBufferName()
    +
    +
    Getter for property BufferName. +

    +

    + +
    Returns:
    Value of property BufferName.
    +
    +
    +
    + +

    +setBufferName

    +
    +public void setBufferName(java.lang.String bufferName)
    +
    +
    Setter for property bufferName. +

    +

    +
    Parameters:
    bufferName - New value of property bufferName.
    +
    +
    +
    + +

    +getVariableNumber

    +
    +public int getVariableNumber()
    +
    +
    Getter for property variableNumber. +

    +

    + +
    Returns:
    Value of property variableNumber.
    +
    +
    +
    + +

    +setVariableNumber

    +
    +public void setVariableNumber(int variableNumber)
    +
    +
    Setter for property variableNumber. +

    +

    +
    Parameters:
    variableNumber - New value of property variableNumber.
    +
    +
    +
    + +

    +getVariableName

    +
    +public java.lang.String getVariableName()
    +
    +
    Getter for property variableName. +

    +

    + +
    Returns:
    Value of property variableName.
    +
    +
    +
    + +

    +setVariableName

    +
    +public void setVariableName(java.lang.String variableName)
    +
    +
    Setter for property variableName. +

    +

    +
    Parameters:
    variableName - New value of property variableName.
    +
    +
    +
    + +

    +getStiName

    +
    +public java.lang.String getStiName()
    +
    +
    Getter for property stiName. +

    +

    + +
    Returns:
    Value of property stiName.
    +
    +
    +
    + +

    +setStiName

    +
    +public void setStiName(java.lang.String stiName)
    +
    +
    Setter for property stiName. +

    +

    +
    Parameters:
    stiName - New value of property stiName.
    +
    +
    +
    + +

    +getMsgType

    +
    +public long getMsgType()
    +
    +
    Getter for property msgType. +

    +

    + +
    Returns:
    Value of property msgType.
    +
    +
    +
    + +

    +setMsgType

    +
    +public void setMsgType(long msgType)
    +
    +
    Setter for property msgType. +

    +

    +
    Parameters:
    msgType - New value of property msgType.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/PlotData.html b/doc/javadoc/diagapplet/plotter/PlotData.html new file mode 100644 index 0000000..0fbaa7b --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/PlotData.html @@ -0,0 +1,1443 @@ + + + + + + +PlotData + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.plotter +
    +Class PlotData

    +
    +java.lang.Object
    +  extended by diagapplet.plotter.PlotData
    +
    +
    +
    +
    public class PlotData
    extends java.lang.Object
    + + +

    +Class containing all of the data for a single plot. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.Stringadd_to_key + +
    +           
    + java.lang.Stringadd_to_short_key + +
    +           
    + booleanarray_type + +
    +           
    + intcurrent_size + +
    +           
    + booleandelete_me + +
    +           
    + doublederivmean + +
    +           
    +static intfixed_size + +
    +           
    + java.lang.Stringheading_string + +
    +           
    + doubleintegral + +
    +           
    + booleanis_y_plot + +
    +           
    + intlast_compare_index + +
    +           
    + diagapplet.plotter.PlotPointlast_pp_set + +
    +           
    + intlast_pp_set_index + +
    +           
    + doublelast_x + +
    +           
    + doublelast_y + +
    +           
    + booleanmark_points + +
    +           
    + doublemax_orig_x + +
    +           
    + doublemax_orig_y + +
    +           
    + doublemax_pre_f_x + +
    +           
    + doublemax_pre_f_y + +
    +           
    + doublemax_time + +
    +           
    + doublemax_x + +
    +           
    + doublemax_y + +
    +           
    + doublemean + +
    +           
    + doublemin_orig_x + +
    +           
    + doublemin_orig_y + +
    +           
    + doublemin_pre_f_x + +
    +           
    + doublemin_pre_f_y + +
    +           
    + doublemin_time + +
    +           
    + doublemin_x + +
    +           
    + doublemin_y + +
    +           
    + java.lang.Stringname + +
    +           
    + booleanno_key + +
    +           
    + intnum + +
    +           
    + intp2_count + +
    +           
    + booleanpainting + +
    +           
    + intpoint_count + +
    +           
    + booleanprint_v + +
    +           
    + java.lang.Stringshort_name + +
    +           
    + doublestddev + +
    +           
    + intv_offset + +
    +           
    + intv_out_of_range_count + +
    +           
    + PlotDatay_plot_data + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    PlotData() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidaddPlotPoint(diagapplet.plotter.PlotPoint pp) + +
    +           
    + voidAddX(double ax) + +
    +           
    + voidCheckPoint(diagapplet.plotter.PlotPoint pp) + +
    +           
    + voidclear_v() + +
    +           
    + intget_num_points() + +
    +           
    + java.awt.ColorgetLine_color() + +
    +           
    + diagapplet.plotter.PlotPointgetPlotPointAt(int i) + +
    +           
    + java.awt.ColorgetPoint_color() + +
    +           
    + booleangetShow(int i) + +
    +           
    + java.lang.StringgetStatsString() + +
    +           
    + booleanisVisible() + +
    +           
    + voidRecheckAllPoints() + +
    +           
    + voidset_size(int size) + +
    +           
    + voidset_v(java.util.Vector<diagapplet.plotter.PlotPoint> new_v) + +
    +           
    + voidsetLine_color(java.awt.Color line_color) + +
    +           
    + voidsetPlotPointAt(diagapplet.plotter.PlotPoint pp, + int i) + +
    +           
    + voidsetPoint_color(java.awt.Color point_color) + +
    +           
    + voidsetShow(int i, + boolean _show) + +
    +          Make this data set visible on plotter number i
    + voidsetShowAll(int total_plotters, + boolean _show) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + intv_size() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +num

    +
    +public final int num
    +
    +
    +
    +
    +
    + +

    +name

    +
    +public java.lang.String name
    +
    +
    +
    +
    +
    + +

    +short_name

    +
    +public java.lang.String short_name
    +
    +
    +
    +
    +
    + +

    +add_to_short_key

    +
    +public java.lang.String add_to_short_key
    +
    +
    +
    +
    +
    + +

    +add_to_key

    +
    +public java.lang.String add_to_key
    +
    +
    +
    +
    +
    + +

    +integral

    +
    +public double integral
    +
    +
    +
    +
    +
    + +

    +stddev

    +
    +public double stddev
    +
    +
    +
    +
    +
    + +

    +derivmean

    +
    +public double derivmean
    +
    +
    +
    +
    +
    + +

    +mean

    +
    +public double mean
    +
    +
    +
    +
    +
    + +

    +point_count

    +
    +public int point_count
    +
    +
    +
    +
    +
    + +

    +last_x

    +
    +public double last_x
    +
    +
    +
    +
    +
    + +

    +last_y

    +
    +public double last_y
    +
    +
    +
    +
    +
    + +

    +last_compare_index

    +
    +public int last_compare_index
    +
    +
    +
    +
    +
    + +

    +array_type

    +
    +public boolean array_type
    +
    +
    +
    +
    +
    + +

    +delete_me

    +
    +public boolean delete_me
    +
    +
    +
    +
    +
    + +

    +mark_points

    +
    +public boolean mark_points
    +
    +
    +
    +
    +
    + +

    +current_size

    +
    +public int current_size
    +
    +
    +
    +
    +
    + +

    +v_offset

    +
    +public int v_offset
    +
    +
    +
    +
    +
    + +

    +p2_count

    +
    +public int p2_count
    +
    +
    +
    +
    +
    + +

    +heading_string

    +
    +public java.lang.String heading_string
    +
    +
    +
    +
    +
    + +

    +painting

    +
    +public boolean painting
    +
    +
    +
    +
    +
    + +

    +last_pp_set

    +
    +public diagapplet.plotter.PlotPoint last_pp_set
    +
    +
    +
    +
    +
    + +

    +last_pp_set_index

    +
    +public int last_pp_set_index
    +
    +
    +
    +
    +
    + +

    +y_plot_data

    +
    +public PlotData y_plot_data
    +
    +
    +
    +
    +
    + +

    +no_key

    +
    +public boolean no_key
    +
    +
    +
    +
    +
    + +

    +print_v

    +
    +public boolean print_v
    +
    +
    +
    +
    +
    + +

    +is_y_plot

    +
    +public boolean is_y_plot
    +
    +
    +
    +
    +
    + +

    +max_x

    +
    +public double max_x
    +
    +
    +
    +
    +
    + +

    +min_x

    +
    +public double min_x
    +
    +
    +
    +
    +
    + +

    +max_y

    +
    +public double max_y
    +
    +
    +
    +
    +
    + +

    +min_y

    +
    +public double min_y
    +
    +
    +
    +
    +
    + +

    +max_orig_x

    +
    +public double max_orig_x
    +
    +
    +
    +
    +
    + +

    +min_orig_x

    +
    +public double min_orig_x
    +
    +
    +
    +
    +
    + +

    +max_orig_y

    +
    +public double max_orig_y
    +
    +
    +
    +
    +
    + +

    +min_orig_y

    +
    +public double min_orig_y
    +
    +
    +
    +
    +
    + +

    +max_pre_f_x

    +
    +public double max_pre_f_x
    +
    +
    +
    +
    +
    + +

    +min_pre_f_x

    +
    +public double min_pre_f_x
    +
    +
    +
    +
    +
    + +

    +max_pre_f_y

    +
    +public double max_pre_f_y
    +
    +
    +
    +
    +
    + +

    +min_pre_f_y

    +
    +public double min_pre_f_y
    +
    +
    +
    +
    +
    + +

    +min_time

    +
    +public double min_time
    +
    +
    +
    +
    +
    + +

    +max_time

    +
    +public double max_time
    +
    +
    +
    +
    +
    + +

    +fixed_size

    +
    +public static int fixed_size
    +
    +
    +
    +
    +
    + +

    +v_out_of_range_count

    +
    +public int v_out_of_range_count
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PlotData

    +
    +public PlotData()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_num_points

    +
    +public int get_num_points()
    +
    +
    +
    +
    +
    +
    + +

    +AddX

    +
    +public void AddX(double ax)
    +
    +
    +
    +
    +
    +
    + +

    +CheckPoint

    +
    +public void CheckPoint(diagapplet.plotter.PlotPoint pp)
    +
    +
    +
    +
    +
    +
    + +

    +set_size

    +
    +public void set_size(int size)
    +
    +
    +
    +
    +
    +
    + +

    +RecheckAllPoints

    +
    +public void RecheckAllPoints()
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +setPlotPointAt

    +
    +public void setPlotPointAt(diagapplet.plotter.PlotPoint pp,
    +                           int i)
    +
    +
    +
    +
    +
    +
    + +

    +addPlotPoint

    +
    +public void addPlotPoint(diagapplet.plotter.PlotPoint pp)
    +
    +
    +
    +
    +
    +
    + +

    +getPlotPointAt

    +
    +public diagapplet.plotter.PlotPoint getPlotPointAt(int i)
    +
    +
    +
    +
    +
    +
    + +

    +v_size

    +
    +public int v_size()
    +
    +
    +
    +
    +
    +
    + +

    +set_v

    +
    +public void set_v(java.util.Vector<diagapplet.plotter.PlotPoint> new_v)
    +
    +
    +
    +
    +
    +
    + +

    +clear_v

    +
    +public void clear_v()
    +
    +
    +
    +
    +
    +
    + +

    +getLine_color

    +
    +public java.awt.Color getLine_color()
    +
    +
    + +
    Returns:
    the line_color
    +
    +
    +
    + +

    +setLine_color

    +
    +public void setLine_color(java.awt.Color line_color)
    +
    +
    +
    Parameters:
    line_color - the line_color to set
    +
    +
    +
    + +

    +isVisible

    +
    +public boolean isVisible()
    +
    +
    +
    +
    +
    +
    + +

    +getPoint_color

    +
    +public java.awt.Color getPoint_color()
    +
    +
    + +
    Returns:
    the point_color
    +
    +
    +
    + +

    +setPoint_color

    +
    +public void setPoint_color(java.awt.Color point_color)
    +
    +
    +
    Parameters:
    point_color - the point_color to set
    +
    +
    +
    + +

    +getShow

    +
    +public boolean getShow(int i)
    +
    +
    + +
    Returns:
    the show
    +
    +
    +
    + +

    +setShowAll

    +
    +public void setShowAll(int total_plotters,
    +                       boolean _show)
    +
    +
    +
    +
    +
    +
    + +

    +setShow

    +
    +public void setShow(int i,
    +                    boolean _show)
    +
    +
    Make this data set visible on plotter number i +

    +

    +
    Parameters:
    i - which panel to change show state for
    _show - the show to set
    +
    +
    +
    + +

    +getStatsString

    +
    +public java.lang.String getStatsString()
    +                                throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/PlotGraphJPanel.html b/doc/javadoc/diagapplet/plotter/PlotGraphJPanel.html new file mode 100644 index 0000000..56ae9b6 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/PlotGraphJPanel.html @@ -0,0 +1,2427 @@ + + + + + + +PlotGraphJPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.plotter +
    +Class PlotGraphJPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.plotter.PlotGraphJPanel
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class PlotGraphJPanel
    extends javax.swing.JPanel
    + + +

    +JPanel for the actual graph without the controls around the outside. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static intANGLE_DEGREE_UNITS + +
    +           
    + intangle_lines + +
    +           
    +static intANGLE_RAD_UNITS + +
    +           
    +static intANGLE_RADPI_UNITS + +
    +           
    + intangle_unit_type + +
    +           
    + java.awt.Coloraxis_color + +
    +           
    + java.awt.Colorback_color + +
    +           
    + booleanc_mode + +
    +           
    +static java.text.DecimalFormatdf_exponent + +
    +           
    +static java.text.DecimalFormatdf_noexponent + +
    +           
    + booleane_mode + +
    +           
    + java.lang.Stringextra_sh_str + +
    +           
    + java.awt.Colorgrid_color + +
    +           
    + booleanis_full_screen + +
    +           
    + booleank2_mode + +
    +           
    + java.util.ArrayList<PlotData>keyVector + +
    +           
    + booleanl_mode + +
    +           
    + booleanlabel_grid + +
    +           
    + booleanlabel_points + +
    +           
    + booleanm_color + +
    +           
    + booleanmark_points + +
    +           
    + intmax_points_per_plot + +
    +           
    + intpaint_count + +
    +           
    + java.util.Hashtable<java.lang.String,PlotData>plots + +
    +           
    + intplotter_num + +
    +           
    +static java.lang.StringPROP_X_GRID + +
    +           
    +static java.lang.StringPROP_Y_GRID + +
    +           
    + intradius_lines + +
    +           
    + intrepaint_count + +
    +           
    + intrepaint_max_tm_millis + +
    +           
    + booleanrepaint_needed + +
    +           
    + booleanrescale_to_selected_rectangle_needed + +
    +           
    + booleans_mode + +
    +           
    + booleanset_l_mode_on_paint + +
    +           
    + java.lang.Stringshort_extra_sh_str + +
    +           
    + booleanshow_axis + +
    +           
    + booleanshow_grid + +
    +           
    + booleanshow_key + +
    +           
    + booleanshow_lines + +
    +           
    + booleanshow_rect + +
    +           
    + java.lang.ObjectSyncObject + +
    +           
    + booleanuse_buffer + +
    +           
    +protected  doubleX_Grid + +
    +           
    + booleanxy_mode + +
    +           
    +protected  doubleY_Grid + +
    +           
    + java.awt.Colorzero_rad_color + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    PlotGraphJPanel() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddPlot(PlotData pd) + +
    +           
    + voidAddPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidAddPointToArrayPlot(PlotData pd, + int index, + double x, + double y, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidAddPointToPlot(PlotData pd, + double x, + double y, + boolean connected, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidClearAllData() + +
    +           
    + booleanColorsTooClose(java.awt.Color c1, + java.awt.Color c2, + long min_diff) + +
    +           
    + booleanColorTooClosePreviousPlot(java.awt.Color c1, + long min_diff) + +
    +           
    + voidCopySettings(PlotGraphJPanel pgjp_to_copy) + +
    +           
    + voidDebugPrint(java.lang.String s) + +
    +           
    +static voidDebugPrint2(java.lang.String s) + +
    +           
    + voidequalizeAxis() + +
    +           
    + voidErrorPrint(java.lang.String s) + +
    +           
    + voidFitToGraph() + +
    +           
    + voidFitY() + +
    +           
    +static java.lang.Stringformat_double(double d) + +
    +           
    + booleanget_array_mode() + +
    +           
    + intget_point_size_limit() + +
    +           
    + java.awt.image.BufferedImagegetImage() + +
    +           
    + java.awt.image.BufferedImagegetImage(java.awt.Dimension d) + +
    +           
    + java.awt.image.BufferedImagegetImage(int _width, + int _height) + +
    +           
    + intgetMax_plots_to_show() + +
    +          Getter for property max_plots_to_show.
    + PlotDataGetPlot(java.lang.String name) + +
    +           
    + doublegetX_Grid() + +
    +          Get the value of X_Grid
    + doublegetY_Grid() + +
    +          Get the value of Y_Grid
    + voidHandleResize() + +
    +           
    + voidLoadOptions() + +
    +           
    + voidmouseClicked(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseDragged(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseEntered(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseExited(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseMoved(java.awt.event.MouseEvent evt) + +
    +           
    + voidmousePressed(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseReleased(java.awt.event.MouseEvent evt) + +
    +           
    + voidpaintAll(java.awt.Graphics g) + +
    +           
    + voidpaintCartesianGrid(java.awt.Graphics g) + +
    +           
    +protected  voidpaintComponent(java.awt.Graphics g) + +
    +           
    + voidpaintDraggingRect(java.awt.Graphics g) + +
    +           
    + voidpaintGraph(java.awt.Graphics g) + +
    +           
    + voidrefresh() + +
    +           
    + voidRemoveAllPlots() + +
    +           
    + voidRemovePlot(java.lang.String name) + +
    +           
    + voidResetColors() + +
    +           
    + voidResetMinXToZero() + +
    +           
    + voidSaveOptions() + +
    +           
    + voidScrollRight() + +
    +           
    + voidset_array_mode(boolean _array_mode) + +
    +           
    + voidset_plot_group_number(int _plot_group_number) + +
    +           
    + voidset_point_size_limit(int _new_point_size_limit) + +
    +           
    + voidSetInnerArea(double min_x, + double max_x, + double min_y, + double max_y) + +
    +           
    + voidSetKeyListener(java.awt.event.KeyListener kl) + +
    +           
    + voidsetMax_plots_to_show(int max_plots_to_show) + +
    +          Setter for property max_plots_to_show.
    + voidSetOuterArea(double min_x, + double max_x, + double min_y, + double max_y) + +
    +           
    + voidsetPlotOrder(java.lang.String s) + +
    +           
    + voidSetReverseX(boolean _new_reverse_x) + +
    +           
    + voidsetX_Grid(double X_Grid) + +
    +          Set the value of X_Grid
    + voidsetY_Grid(double Y_Grid) + +
    +          Set the value of Y_Grid
    + java.lang.StringtoString() + +
    +           
    + voidUpdateDisplay(boolean force_repaint) + +
    +           
    + voidZoom(double scale_factor) + +
    +           
    + voidZoomIn() + +
    +           
    + voidZoomOut() + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +use_buffer

    +
    +public boolean use_buffer
    +
    +
    +
    +
    +
    + +

    +max_points_per_plot

    +
    +public int max_points_per_plot
    +
    +
    +
    +
    +
    + +

    +SyncObject

    +
    +public java.lang.Object SyncObject
    +
    +
    +
    +
    +
    + +

    +plotter_num

    +
    +public int plotter_num
    +
    +
    +
    +
    +
    + +

    +repaint_count

    +
    +public int repaint_count
    +
    +
    +
    +
    +
    + +

    +paint_count

    +
    +public int paint_count
    +
    +
    +
    +
    +
    + +

    +repaint_max_tm_millis

    +
    +public int repaint_max_tm_millis
    +
    +
    +
    +
    +
    + +

    +show_lines

    +
    +public boolean show_lines
    +
    +
    +
    +
    +
    + +

    +show_key

    +
    +public volatile boolean show_key
    +
    +
    +
    +
    +
    + +

    +k2_mode

    +
    +public volatile boolean k2_mode
    +
    +
    +
    +
    +
    + +

    +s_mode

    +
    +public volatile boolean s_mode
    +
    +
    +
    +
    +
    + +

    +c_mode

    +
    +public volatile boolean c_mode
    +
    +
    +
    +
    +
    + +

    +l_mode

    +
    +public volatile boolean l_mode
    +
    +
    +
    +
    +
    + +

    +e_mode

    +
    +public volatile boolean e_mode
    +
    +
    +
    +
    +
    + +

    +xy_mode

    +
    +public volatile boolean xy_mode
    +
    +
    +
    +
    +
    + +

    +repaint_needed

    +
    +public boolean repaint_needed
    +
    +
    +
    +
    +
    + +

    +rescale_to_selected_rectangle_needed

    +
    +public boolean rescale_to_selected_rectangle_needed
    +
    +
    +
    +
    +
    + +

    +show_grid

    +
    +public boolean show_grid
    +
    +
    +
    +
    +
    + +

    +show_axis

    +
    +public boolean show_axis
    +
    +
    +
    +
    +
    + +

    +label_grid

    +
    +public boolean label_grid
    +
    +
    +
    +
    +
    + +

    +mark_points

    +
    +public boolean mark_points
    +
    +
    +
    +
    +
    + +

    +label_points

    +
    +public boolean label_points
    +
    +
    +
    +
    +
    + +

    +axis_color

    +
    +public java.awt.Color axis_color
    +
    +
    +
    +
    +
    + +

    +grid_color

    +
    +public java.awt.Color grid_color
    +
    +
    +
    +
    +
    + +

    +back_color

    +
    +public java.awt.Color back_color
    +
    +
    +
    +
    +
    + +

    +plots

    +
    +public java.util.Hashtable<java.lang.String,PlotData> plots
    +
    +
    +
    +
    +
    + +

    +m_color

    +
    +public boolean m_color
    +
    +
    +
    +
    +
    + +

    +show_rect

    +
    +public volatile boolean show_rect
    +
    +
    +
    +
    +
    + +

    +ANGLE_DEGREE_UNITS

    +
    +public static final int ANGLE_DEGREE_UNITS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ANGLE_RAD_UNITS

    +
    +public static final int ANGLE_RAD_UNITS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ANGLE_RADPI_UNITS

    +
    +public static final int ANGLE_RADPI_UNITS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +angle_unit_type

    +
    +public int angle_unit_type
    +
    +
    +
    +
    +
    + +

    +radius_lines

    +
    +public int radius_lines
    +
    +
    +
    +
    +
    + +

    +angle_lines

    +
    +public int angle_lines
    +
    +
    +
    +
    +
    + +

    +zero_rad_color

    +
    +public java.awt.Color zero_rad_color
    +
    +
    +
    +
    +
    + +

    +df_noexponent

    +
    +public static java.text.DecimalFormat df_noexponent
    +
    +
    +
    +
    +
    + +

    +df_exponent

    +
    +public static java.text.DecimalFormat df_exponent
    +
    +
    +
    +
    +
    + +

    +set_l_mode_on_paint

    +
    +public boolean set_l_mode_on_paint
    +
    +
    +
    +
    +
    + +

    +is_full_screen

    +
    +public boolean is_full_screen
    +
    +
    +
    +
    +
    + +

    +keyVector

    +
    +public java.util.ArrayList<PlotData> keyVector
    +
    +
    +
    +
    +
    + +

    +extra_sh_str

    +
    +public java.lang.String extra_sh_str
    +
    +
    +
    +
    +
    + +

    +short_extra_sh_str

    +
    +public java.lang.String short_extra_sh_str
    +
    +
    +
    +
    +
    + +

    +X_Grid

    +
    +protected double X_Grid
    +
    +
    +
    +
    +
    + +

    +PROP_X_GRID

    +
    +public static final java.lang.String PROP_X_GRID
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +Y_Grid

    +
    +protected double Y_Grid
    +
    +
    +
    +
    +
    + +

    +PROP_Y_GRID

    +
    +public static final java.lang.String PROP_Y_GRID
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PlotGraphJPanel

    +
    +public PlotGraphJPanel()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +CopySettings

    +
    +public void CopySettings(PlotGraphJPanel pgjp_to_copy)
    +
    +
    +
    +
    +
    +
    + +

    +SetKeyListener

    +
    +public void SetKeyListener(java.awt.event.KeyListener kl)
    +
    +
    +
    +
    +
    +
    + +

    +refresh

    +
    +public void refresh()
    +
    +
    +
    +
    +
    +
    + +

    +HandleResize

    +
    +public void HandleResize()
    +
    +
    +
    +
    +
    +
    + +

    +SaveOptions

    +
    +public void SaveOptions()
    +
    +
    +
    +
    +
    +
    + +

    +LoadOptions

    +
    +public void LoadOptions()
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage()
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage(java.awt.Dimension d)
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage(int _width,
    +                                             int _height)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.awt.Component
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint2

    +
    +public static void DebugPrint2(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint

    +
    +public void DebugPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +ErrorPrint

    +
    +public void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +format_double

    +
    +public static java.lang.String format_double(double d)
    +
    +
    +
    +
    +
    +
    + +

    +set_array_mode

    +
    +public void set_array_mode(boolean _array_mode)
    +
    +
    +
    +
    +
    +
    + +

    +get_array_mode

    +
    +public boolean get_array_mode()
    +
    +
    +
    +
    +
    +
    + +

    +Zoom

    +
    +public void Zoom(double scale_factor)
    +
    +
    +
    +
    +
    +
    + +

    +ZoomOut

    +
    +public void ZoomOut()
    +
    +
    +
    +
    +
    +
    + +

    +ZoomIn

    +
    +public void ZoomIn()
    +
    +
    +
    +
    +
    +
    + +

    +ScrollRight

    +
    +public void ScrollRight()
    +
    +
    +
    +
    +
    +
    + +

    +FitToGraph

    +
    +public void FitToGraph()
    +
    +
    +
    +
    +
    +
    + +

    +FitY

    +
    +public void FitY()
    +
    +
    +
    +
    +
    +
    + +

    +SetReverseX

    +
    +public void SetReverseX(boolean _new_reverse_x)
    +
    +
    +
    +
    +
    +
    + +

    +mouseClicked

    +
    +public void mouseClicked(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mouseEntered

    +
    +public void mouseEntered(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mouseExited

    +
    +public void mouseExited(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mousePressed

    +
    +public void mousePressed(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mouseMoved

    +
    +public void mouseMoved(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mouseDragged

    +
    +public void mouseDragged(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +mouseReleased

    +
    +public void mouseReleased(java.awt.event.MouseEvent evt)
    +
    +
    +
    +
    +
    +
    + +

    +ResetMinXToZero

    +
    +public void ResetMinXToZero()
    +
    +
    +
    +
    +
    +
    + +

    +ColorTooClosePreviousPlot

    +
    +public boolean ColorTooClosePreviousPlot(java.awt.Color c1,
    +                                         long min_diff)
    +
    +
    +
    +
    +
    +
    + +

    +ColorsTooClose

    +
    +public boolean ColorsTooClose(java.awt.Color c1,
    +                              java.awt.Color c2,
    +                              long min_diff)
    +
    +
    +
    +
    +
    +
    + +

    +AddPlot

    +
    +public void AddPlot(PlotData pd,
    +                    java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +AddPlot

    +
    +public void AddPlot(PlotData pd)
    +
    +
    +
    +
    +
    +
    + +

    +ResetColors

    +
    +public void ResetColors()
    +
    +
    +
    +
    +
    +
    + +

    +GetPlot

    +
    +public PlotData GetPlot(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +RemoveAllPlots

    +
    +public void RemoveAllPlots()
    +
    +
    +
    +
    +
    +
    + +

    +ClearAllData

    +
    +public void ClearAllData()
    +
    +
    +
    +
    +
    +
    + +

    +RemovePlot

    +
    +public void RemovePlot(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToPlot

    +
    +public void AddPointToPlot(PlotData pd,
    +                           double x,
    +                           double y,
    +                           boolean connected,
    +                           double pre_f_x,
    +                           double pre_f_y)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToArrayPlot

    +
    +public void AddPointToArrayPlot(PlotData pd,
    +                                int index,
    +                                double x,
    +                                double y,
    +                                double pre_f_x,
    +                                double pre_f_y)
    +
    +
    +
    +
    +
    +
    + +

    +equalizeAxis

    +
    +public void equalizeAxis()
    +
    +
    +
    +
    +
    +
    + +

    +UpdateDisplay

    +
    +public void UpdateDisplay(boolean force_repaint)
    +
    +
    +
    +
    +
    +
    + +

    +setPlotOrder

    +
    +public void setPlotOrder(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +getX_Grid

    +
    +public double getX_Grid()
    +
    +
    Get the value of X_Grid +

    +

    + +
    Returns:
    the value of X_Grid
    +
    +
    +
    + +

    +setX_Grid

    +
    +public void setX_Grid(double X_Grid)
    +
    +
    Set the value of X_Grid +

    +

    +
    Parameters:
    X_Grid - new value of X_Grid
    +
    +
    +
    + +

    +getY_Grid

    +
    +public double getY_Grid()
    +
    +
    Get the value of Y_Grid +

    +

    + +
    Returns:
    the value of Y_Grid
    +
    +
    +
    + +

    +setY_Grid

    +
    +public void setY_Grid(double Y_Grid)
    +
    +
    Set the value of Y_Grid +

    +

    +
    Parameters:
    Y_Grid - new value of Y_Grid
    +
    +
    +
    + +

    +paintCartesianGrid

    +
    +public void paintCartesianGrid(java.awt.Graphics g)
    +
    +
    +
    +
    +
    +
    + +

    +paintComponent

    +
    +protected void paintComponent(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paintComponent in class javax.swing.JComponent
    +
    +
    +
    +
    +
    +
    + +

    +paintAll

    +
    +public void paintAll(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paintAll in class java.awt.Component
    +
    +
    +
    +
    +
    +
    + +

    +set_point_size_limit

    +
    +public void set_point_size_limit(int _new_point_size_limit)
    +
    +
    +
    +
    +
    +
    + +

    +get_point_size_limit

    +
    +public int get_point_size_limit()
    +
    +
    +
    +
    +
    +
    + +

    +paintDraggingRect

    +
    +public void paintDraggingRect(java.awt.Graphics g)
    +
    +
    +
    +
    +
    +
    + +

    +paintGraph

    +
    +public void paintGraph(java.awt.Graphics g)
    +
    +
    +
    +
    +
    +
    + +

    +SetOuterArea

    +
    +public void SetOuterArea(double min_x,
    +                         double max_x,
    +                         double min_y,
    +                         double max_y)
    +
    +
    +
    +
    +
    +
    + +

    +SetInnerArea

    +
    +public void SetInnerArea(double min_x,
    +                         double max_x,
    +                         double min_y,
    +                         double max_y)
    +
    +
    +
    +
    +
    +
    + +

    +set_plot_group_number

    +
    +public void set_plot_group_number(int _plot_group_number)
    +
    +
    +
    +
    +
    +
    + +

    +getMax_plots_to_show

    +
    +public int getMax_plots_to_show()
    +
    +
    Getter for property max_plots_to_show. +

    +

    + +
    Returns:
    Value of property max_plots_to_show.
    +
    +
    +
    + +

    +setMax_plots_to_show

    +
    +public void setMax_plots_to_show(int max_plots_to_show)
    +
    +
    Setter for property max_plots_to_show. +

    +

    +
    Parameters:
    max_plots_to_show - New value of property max_plots_to_show.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/StatsTextJFrame.html b/doc/javadoc/diagapplet/plotter/StatsTextJFrame.html new file mode 100644 index 0000000..fca8711 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/StatsTextJFrame.html @@ -0,0 +1,443 @@ + + + + + + +StatsTextJFrame + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.plotter +
    +Class StatsTextJFrame

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.plotter.StatsTextJFrame
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class StatsTextJFrame
    extends javax.swing.JFrame
    + + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    StatsTextJFrame() + +
    +          Creates new form StatsTextJFrame
    StatsTextJFrame(java.lang.String s) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +StatsTextJFrame

    +
    +public StatsTextJFrame()
    +
    +
    Creates new form StatsTextJFrame +

    +

    +
    + +

    +StatsTextJFrame

    +
    +public StatsTextJFrame(java.lang.String s)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    Parameters:
    args - the command line arguments
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/class-use/PlotData.html b/doc/javadoc/diagapplet/plotter/class-use/PlotData.html new file mode 100644 index 0000000..b4dccc6 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/class-use/PlotData.html @@ -0,0 +1,272 @@ + + + + + + + +Uses of Class diagapplet.plotter.PlotData + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotter.PlotData

    +
    + + + + + + + + + +
    +Packages that use PlotData
    diagapplet.plotter  
    +  +

    + + + + + +
    +Uses of PlotData in diagapplet.plotter
    +  +

    + + + + + + + + + +
    Fields in diagapplet.plotter declared as PlotData
    + PlotDataPlotData.y_plot_data + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Fields in diagapplet.plotter with type parameters of type PlotData
    + java.util.ArrayList<PlotData>PlotGraphJPanel.keyVector + +
    +           
    + java.util.Hashtable<java.lang.String,PlotData>PlotGraphJPanel.plots + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet.plotter that return PlotData
    + PlotDataPlotGraphJPanel.GetPlot(java.lang.String name) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.plotter with parameters of type PlotData
    + voidplotter_NB_UI.AddArrayPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidPlotGraphJPanel.AddPlot(PlotData pd) + +
    +           
    + voidplotterJFrame.AddPlot(PlotData pd) + +
    +           
    + voidplotter_NB_UI.AddPlot(PlotData pd) + +
    +           
    + voidPlotGraphJPanel.AddPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidplotter_NB_UI.AddPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidplotterJFrame.AddPointToArrayPlot(PlotData pd, + int index, + double pre_f_y) + +
    +           
    + voidplotter_NB_UI.AddPointToArrayPlot(PlotData pd, + int index, + double pre_f_y) + +
    +           
    + voidPlotGraphJPanel.AddPointToArrayPlot(PlotData pd, + int index, + double x, + double y, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidplotterJFrame.AddPointToPlot(PlotData pd, + double pre_f_x, + double pre_f_y, + boolean connected) + +
    +           
    + voidplotter_NB_UI.AddPointToPlot(PlotData pd, + double pre_f_x, + double pre_f_y, + boolean connected) + +
    +           
    + voidPlotGraphJPanel.AddPointToPlot(PlotData pd, + double x, + double y, + boolean connected, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidplotterJFrame.AddPointToPlot(PlotData pd, + double x, + double y, + boolean connected, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidplotter_NB_UI.AddPointToPlot(PlotData pd, + double x, + double y, + boolean connected, + double pre_f_x, + double pre_f_y) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/class-use/PlotGraphJPanel.html b/doc/javadoc/diagapplet/plotter/class-use/PlotGraphJPanel.html new file mode 100644 index 0000000..564e879 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/class-use/PlotGraphJPanel.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.plotter.PlotGraphJPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotter.PlotGraphJPanel

    +
    + + + + + + + + + +
    +Packages that use PlotGraphJPanel
    diagapplet.plotter  
    +  +

    + + + + + +
    +Uses of PlotGraphJPanel in diagapplet.plotter
    +  +

    + + + + + + + + + +
    Methods in diagapplet.plotter with parameters of type PlotGraphJPanel
    + voidPlotGraphJPanel.CopySettings(PlotGraphJPanel pgjp_to_copy) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/class-use/StatsTextJFrame.html b/doc/javadoc/diagapplet/plotter/class-use/StatsTextJFrame.html new file mode 100644 index 0000000..9779729 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/class-use/StatsTextJFrame.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.plotter.StatsTextJFrame + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotter.StatsTextJFrame

    +
    +No usage of diagapplet.plotter.StatsTextJFrame +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/class-use/plotterJFrame.html b/doc/javadoc/diagapplet/plotter/class-use/plotterJFrame.html new file mode 100644 index 0000000..42240c4 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/class-use/plotterJFrame.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.plotter.plotterJFrame + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotter.plotterJFrame

    +
    +No usage of diagapplet.plotter.plotterJFrame +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/class-use/plotter_NB_UI.html b/doc/javadoc/diagapplet/plotter/class-use/plotter_NB_UI.html new file mode 100644 index 0000000..b1e756b --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/class-use/plotter_NB_UI.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.plotter.plotter_NB_UI + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.plotter.plotter_NB_UI

    +
    +No usage of diagapplet.plotter.plotter_NB_UI +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/package-frame.html b/doc/javadoc/diagapplet/plotter/package-frame.html new file mode 100644 index 0000000..80af5fe --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/package-frame.html @@ -0,0 +1,40 @@ + + + + + + +diagapplet.plotter + + + + + + + + + + + +diagapplet.plotter + + + + +
    +Classes  + +
    +PlotData +
    +PlotGraphJPanel +
    +plotter_NB_UI +
    +plotterJFrame +
    +StatsTextJFrame
    + + + + diff --git a/doc/javadoc/diagapplet/plotter/package-summary.html b/doc/javadoc/diagapplet/plotter/package-summary.html new file mode 100644 index 0000000..5b0bd72 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/package-summary.html @@ -0,0 +1,171 @@ + + + + + + +diagapplet.plotter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package diagapplet.plotter +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    PlotDataClass containing all of the data for a single plot.
    PlotGraphJPanelJPanel for the actual graph without the controls around the outside.
    plotter_NB_UIContain JPanel with PlotGraphJPanel in the center surrounded by several controls.
    plotterJFrameSeperate Frame with only a plotter_NB_UI inside.
    StatsTextJFrame 
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/package-tree.html b/doc/javadoc/diagapplet/plotter/package-tree.html new file mode 100644 index 0000000..9d6c39b --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/package-tree.html @@ -0,0 +1,171 @@ + + + + + + +diagapplet.plotter Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package diagapplet.plotter +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    +
      +
    • java.lang.Object
        +
      • java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable) +
          +
        • java.awt.Container
            +
          • javax.swing.JComponent (implements java.io.Serializable) + +
          • java.awt.Window (implements javax.accessibility.Accessible) +
              +
            • java.awt.Frame (implements java.awt.MenuContainer) +
                +
              • javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants) + +
              +
            +
          +
        +
      • diagapplet.plotter.PlotData
      +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/package-use.html b/doc/javadoc/diagapplet/plotter/package-use.html new file mode 100644 index 0000000..b39f739 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/package-use.html @@ -0,0 +1,75 @@ + + + + + + + +Uses of Package diagapplet.plotter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    diagapplet.plotter

    +
    + + + + + + + + + +
    +Packages that use diagapplet.plotter
    diagapplet.plotter  
    +  +

    + + + + + + + + + + + +
    +Classes in diagapplet.plotter used by diagapplet.plotter
    PlotData + +
    +          Class containing all of the data for a single plot.
    PlotGraphJPanel + +
    +          JPanel for the actual graph without the controls around the outside.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/plotterJFrame.html b/doc/javadoc/diagapplet/plotter/plotterJFrame.html new file mode 100644 index 0000000..de79b6b --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/plotterJFrame.html @@ -0,0 +1,885 @@ + + + + + + +plotterJFrame + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.plotter +
    +Class plotterJFrame

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.plotter.plotterJFrame
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class plotterJFrame
    extends javax.swing.JFrame
    + + +

    +Seperate Frame with only a plotter_NB_UI inside. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    plotterJFrame() + +
    +          Creates new form plotterJFrame
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddPlot(PlotData pd) + +
    +           
    + voidAddPointToArrayPlot(PlotData pd, + int index, + double pre_f_y) + +
    +           
    + voidAddPointToPlot(PlotData pd, + double pre_f_x, + double pre_f_y, + boolean connected) + +
    +           
    + voidClear() + +
    +           
    + voidFitToGraph() + +
    +           
    + voidFitY() + +
    +           
    + booleanis_paused() + +
    +           
    + voidLoadFile(java.lang.String fname) + +
    +           
    + voidLoadFloatArray(java.lang.String name, + float[] fa) + +
    +          Loads an arrays into a single plot and displays it.
    + voidLoadXYFloatArrays(java.lang.String name, + float[] xA, + float[] yA) + +
    +          Loads two arrays into a single plot and displays it.
    +static voidmain(java.lang.String[] _args) + +
    +          Main -- opens and displays a new Frame reading in optional files to plot.
    + java.awt.image.BufferedImageplotToImage() + +
    +           
    + java.awt.image.BufferedImageplotToImage(int width, + int height) + +
    +           
    + voidSaveFile(java.lang.String fileName) + +
    +           
    + voidScrollRight() + +
    +           
    + voidset_auto_fit_to_graph(boolean _auto_fit_to_graph) + +
    +           
    + voidSetEqualizeAxis(boolean _e_mode) + +
    +           
    + voidsetFuncArg(int i) + +
    +           
    + voidsetGraphFunction(int i) + +
    +           
    + voidsetGraphFunction(java.lang.String s) + +
    +           
    + voidSetGraphLimits(double new_x_show_area_min, + double new_x_show_area_max, + double new_y_show_area_min, + double new_y_show_area_max) + +
    +           
    + voidsetSplit(boolean _new_s_mode) + +
    +           
    +static plotterJFrameShowFile(java.lang.String fname) + +
    +          Open a new plotterFrame to show only this file.
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +plotterJFrame

    +
    +public plotterJFrame()
    +
    +
    Creates new form plotterJFrame +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +plotToImage

    +
    +public java.awt.image.BufferedImage plotToImage()
    +
    +
    +
    +
    +
    +
    + +

    +plotToImage

    +
    +public java.awt.image.BufferedImage plotToImage(int width,
    +                                                int height)
    +
    +
    +
    +
    +
    +
    + +

    +SetEqualizeAxis

    +
    +public void SetEqualizeAxis(boolean _e_mode)
    +
    +
    +
    +
    +
    +
    + +

    +set_auto_fit_to_graph

    +
    +public void set_auto_fit_to_graph(boolean _auto_fit_to_graph)
    +
    +
    +
    +
    +
    +
    + +

    +SetGraphLimits

    +
    +public void SetGraphLimits(double new_x_show_area_min,
    +                           double new_x_show_area_max,
    +                           double new_y_show_area_min,
    +                           double new_y_show_area_max)
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunction

    +
    +public void setGraphFunction(int i)
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunction

    +
    +public void setGraphFunction(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +setFuncArg

    +
    +public void setFuncArg(int i)
    +
    +
    +
    +
    +
    +
    + +

    +setSplit

    +
    +public void setSplit(boolean _new_s_mode)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToPlot

    +
    +public void AddPointToPlot(PlotData pd,
    +                           double pre_f_x,
    +                           double pre_f_y,
    +                           boolean connected)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToArrayPlot

    +
    +public void AddPointToArrayPlot(PlotData pd,
    +                                int index,
    +                                double pre_f_y)
    +
    +
    +
    +
    +
    +
    + +

    +AddPlot

    +
    +public void AddPlot(PlotData pd)
    +
    +
    +
    +
    +
    +
    + +

    +FitY

    +
    +public void FitY()
    +
    +
    +
    +
    +
    +
    + +

    +FitToGraph

    +
    +public void FitToGraph()
    +
    +
    +
    +
    +
    +
    + +

    +ScrollRight

    +
    +public void ScrollRight()
    +
    +
    +
    +
    +
    +
    + +

    +is_paused

    +
    +public boolean is_paused()
    +
    +
    +
    +
    +
    +
    + +

    +Clear

    +
    +public void Clear()
    +
    +
    +
    +
    +
    +
    + +

    +LoadXYFloatArrays

    +
    +public void LoadXYFloatArrays(java.lang.String name,
    +                              float[] xA,
    +                              float[] yA)
    +
    +
    Loads two arrays into a single plot and displays it. The two arrays should be + the same length or points will only be plotted up to the shorter of the two. +

    +

    +
    Parameters:
    name - -- name of the plot
    xA - -- x axis array
    yA - -- y axis array
    +
    +
    +
    + +

    +LoadFloatArray

    +
    +public void LoadFloatArray(java.lang.String name,
    +                           float[] fa)
    +
    +
    Loads an arrays into a single plot and displays it. +

    +

    +
    Parameters:
    name - -- name of the plot
    fa - -- float array to plot.
    +
    +
    +
    + +

    +ShowFile

    +
    +public static plotterJFrame ShowFile(java.lang.String fname)
    +
    +
    Open a new plotterFrame to show only this file. +

    +

    +
    Parameters:
    fname - file name of csv file to plot +
    Returns:
    the frame that was openned.
    +
    +
    +
    + +

    +LoadFile

    +
    +public void LoadFile(java.lang.String fname)
    +
    +
    +
    +
    +
    +
    + +

    +SaveFile

    +
    +public void SaveFile(java.lang.String fileName)
    +
    +
    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] _args)
    +
    +
    Main -- opens and displays a new Frame reading in optional files to plot. +

    +

    +
    Parameters:
    _args - the command line arguments or list of CSV files to plot.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/plotter/plotter_NB_UI.html b/doc/javadoc/diagapplet/plotter/plotter_NB_UI.html new file mode 100644 index 0000000..0fac3c3 --- /dev/null +++ b/doc/javadoc/diagapplet/plotter/plotter_NB_UI.html @@ -0,0 +1,1873 @@ + + + + + + +plotter_NB_UI + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.plotter +
    +Class plotter_NB_UI

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.plotter.plotter_NB_UI
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class plotter_NB_UI
    extends javax.swing.JPanel
    + + +

    +Contain JPanel with PlotGraphJPanel in the center surrounded by several controls. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + +
    +Field Summary
    +protected  booleanapply_absolute_value + +
    +           
    +protected  booleanUse_Interpolation + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    plotter_NB_UI() + +
    +          Creates new form plotter_NB_UI
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddArrayPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidaddClearActionListener(java.awt.event.ActionListener _al) + +
    +           
    + voidAddDeleteActionListener(java.awt.event.ActionListener al) + +
    +           
    + voidAddPlot(PlotData pd) + +
    +           
    + voidAddPlot(PlotData pd, + java.lang.String name) + +
    +           
    + voidAddPointToArrayPlot(PlotData pd, + int index, + double pre_f_y) + +
    +           
    + voidAddPointToPlot(PlotData pd, + double pre_f_x, + double pre_f_y, + boolean connected) + +
    +           
    + voidAddPointToPlot(PlotData pd, + double x, + double y, + boolean connected, + double pre_f_x, + double pre_f_y) + +
    +           
    + voidcheckComboBoxFunc(int new_function_selected) + +
    +           
    + voidCheckRecalcPlots() + +
    +           
    + voidClear() + +
    +           
    + java.lang.StringComputeStatsString() + +
    +           
    + voidFitToGraph() + +
    +           
    + voidFitY() + +
    +           
    + voidForceRecheckComboFunc() + +
    +           
    + booleanget_array_mode() + +
    +           
    + intget_num_plots() + +
    +           
    + booleanget_paused() + +
    +           
    + intgetFuncArg() + +
    +           
    + intgetGraphFunction() + +
    +           
    + java.awt.image.BufferedImagegetImage() + +
    +           
    + java.awt.image.BufferedImagegetImage(java.awt.Dimension d) + +
    +           
    + java.lang.StringgetPlot_order() + +
    +           
    + booleanisApply_absolute_value() + +
    +          Get the value of apply_absolute_value
    + booleanisLocked() + +
    +           
    + booleanisNosplit() + +
    +          Get the value of nosplit
    + booleanisUse_Interpolation() + +
    +          Get the value of Use_Interpolation
    + voidloadFile(java.lang.String fileName) + +
    +           
    + voidLoadFloatArray(java.lang.String name, + float[] fa) + +
    +          Loads an arrays into a single plot and displays it.
    + voidLoadXYFloatArrays(java.lang.String name, + float[] xA, + float[] yA) + +
    +          Loads two arrays into a single plot and displays it.
    + java.awt.image.BufferedImageplotToImage() + +
    +           
    + java.awt.image.BufferedImageplotToImage(int width, + int height) + +
    +           
    + voidrefresh() + +
    +           
    + voidReloadFile() + +
    +           
    + voidResetMinXToZero() + +
    +           
    + voidSaveFile(java.lang.String fileName) + +
    +           
    + voidSaveStatsFile(java.io.File f) + +
    +           
    + voidScrollRight() + +
    +           
    + voidset_auto_fit_to_graph(boolean _auto_fit_to_graph) + +
    +           
    + voidset_point_size_limit(int _new_point_size_limit) + +
    +           
    + voidsetApply_absolute_value(boolean apply_absolute_value) + +
    +          Set the value of apply_absolute_value
    + voidSetEqualizeAxis(boolean _e_mode) + +
    +           
    + voidsetFieldSelectPattern(java.lang.String _pattern) + +
    +           
    + voidsetFuncArg(int _func_arg) + +
    +           
    + voidsetFuncArg(java.lang.String s) + +
    +           
    + voidsetGraphFunction(int i) + +
    +           
    + voidsetGraphFunction(java.lang.String function_name) + +
    +           
    + voidsetGraphFunctionDERIVATIVE() + +
    +           
    + voidsetGraphFunctionDEVIATION() + +
    +           
    + voidsetGraphFunctionDIFF() + +
    +           
    + voidsetGraphFunctionINTEGRAL() + +
    +           
    + voidsetGraphFunctionNEGATIVEX() + +
    +           
    + voidsetGraphFunctionNormal() + +
    +           
    + voidsetGraphFunctionPPDIFF() + +
    +           
    + voidsetGraphFunctionPPDIFFMODPI() + +
    +           
    + voidsetGraphFunctionSingle() + +
    +           
    + voidsetGraphFunctionSMOOTH() + +
    +           
    + voidsetGraphFunctionVS() + +
    +           
    + voidsetGraphFunctionXY() + +
    +           
    + voidsetGraphFunctionXZ() + +
    +           
    + voidsetGraphFunctionYZ() + +
    +           
    + voidSetGraphLimits(double new_x_show_area_min, + double new_x_show_area_max, + double new_y_show_area_min, + double new_y_show_area_max) + +
    +           
    + voidSetInnerArea(double min_x, + double max_x, + double min_y, + double max_y) + +
    +           
    + voidSetKeyListener(java.awt.event.KeyListener kl) + +
    +           
    + voidsetNosplit(boolean nosplit) + +
    +          Set the value of nosplit
    + voidSetOuterArea(double min_x, + double max_x, + double min_y, + double max_y) + +
    +           
    + voidsetPlot_order(java.lang.String plot_order) + +
    +           
    + voidSetReverseX(boolean _new_reverse_x) + +
    +           
    + voidsetShowKey(boolean _b) + +
    +           
    + voidsetSplit(boolean _s_mode) + +
    +           
    + voidsetUse_Interpolation(boolean Use_Interpolation) + +
    +          Set the value of Use_Interpolation
    + voidZoomIn() + +
    +           
    + voidZoomOut() + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +Use_Interpolation

    +
    +protected boolean Use_Interpolation
    +
    +
    +
    +
    +
    + +

    +apply_absolute_value

    +
    +protected boolean apply_absolute_value
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +plotter_NB_UI

    +
    +public plotter_NB_UI()
    +
    +
    Creates new form plotter_NB_UI +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +get_array_mode

    +
    +public boolean get_array_mode()
    +
    +
    +
    +
    +
    +
    + +

    +FitY

    +
    +public void FitY()
    +
    +
    +
    +
    +
    +
    + +

    +SetEqualizeAxis

    +
    +public void SetEqualizeAxis(boolean _e_mode)
    +
    +
    +
    +
    +
    +
    + +

    +plotToImage

    +
    +public java.awt.image.BufferedImage plotToImage()
    +
    +
    +
    +
    +
    +
    + +

    +plotToImage

    +
    +public java.awt.image.BufferedImage plotToImage(int width,
    +                                                int height)
    +
    +
    +
    +
    +
    +
    + +

    +set_auto_fit_to_graph

    +
    +public void set_auto_fit_to_graph(boolean _auto_fit_to_graph)
    +
    +
    +
    +
    +
    +
    + +

    +getPlot_order

    +
    +public java.lang.String getPlot_order()
    +
    +
    + +
    Returns:
    the plot_order
    +
    +
    +
    + +

    +setPlot_order

    +
    +public void setPlot_order(java.lang.String plot_order)
    +
    +
    +
    Parameters:
    plot_order - the plot_order to set
    +
    +
    +
    + +

    +isUse_Interpolation

    +
    +public boolean isUse_Interpolation()
    +
    +
    Get the value of Use_Interpolation +

    +

    + +
    Returns:
    the value of Use_Interpolation
    +
    +
    +
    + +

    +setUse_Interpolation

    +
    +public void setUse_Interpolation(boolean Use_Interpolation)
    +
    +
    Set the value of Use_Interpolation +

    +

    +
    Parameters:
    Use_Interpolation - new value of Use_Interpolation
    +
    +
    +
    + +

    +SaveFile

    +
    +public void SaveFile(java.lang.String fileName)
    +
    +
    +
    +
    +
    +
    + +

    +AddDeleteActionListener

    +
    +public void AddDeleteActionListener(java.awt.event.ActionListener al)
    +
    +
    +
    +
    +
    +
    + +

    +checkComboBoxFunc

    +
    +public void checkComboBoxFunc(int new_function_selected)
    +
    +
    +
    +
    +
    +
    + +

    +setSplit

    +
    +public void setSplit(boolean _s_mode)
    +
    +
    +
    +
    +
    +
    + +

    +Clear

    +
    +public void Clear()
    +
    +
    +
    +
    +
    +
    + +

    +addClearActionListener

    +
    +public void addClearActionListener(java.awt.event.ActionListener _al)
    +
    +
    +
    +
    +
    +
    + +

    +setShowKey

    +
    +public void setShowKey(boolean _b)
    +
    +
    +
    +
    +
    +
    + +

    +FitToGraph

    +
    +public void FitToGraph()
    +
    +
    +
    +
    +
    +
    + +

    +ZoomOut

    +
    +public void ZoomOut()
    +
    +
    +
    +
    +
    +
    + +

    +ZoomIn

    +
    +public void ZoomIn()
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage()
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage(java.awt.Dimension d)
    +
    +
    +
    +
    +
    +
    + +

    +SetKeyListener

    +
    +public void SetKeyListener(java.awt.event.KeyListener kl)
    +
    +
    +
    +
    +
    +
    + +

    +SetGraphLimits

    +
    +public void SetGraphLimits(double new_x_show_area_min,
    +                           double new_x_show_area_max,
    +                           double new_y_show_area_min,
    +                           double new_y_show_area_max)
    +
    +
    +
    +
    +
    +
    + +

    +SetReverseX

    +
    +public void SetReverseX(boolean _new_reverse_x)
    +
    +
    +
    +
    +
    +
    + +

    +ComputeStatsString

    +
    +public java.lang.String ComputeStatsString()
    +                                    throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +SaveStatsFile

    +
    +public void SaveStatsFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +ReloadFile

    +
    +public void ReloadFile()
    +
    +
    +
    +
    +
    +
    + +

    +get_num_plots

    +
    +public int get_num_plots()
    +
    +
    +
    +
    +
    +
    + +

    +LoadXYFloatArrays

    +
    +public void LoadXYFloatArrays(java.lang.String name,
    +                              float[] xA,
    +                              float[] yA)
    +
    +
    Loads two arrays into a single plot and displays it. The two arrays should be + the same length or points will only be plotted up to the shorter of the two. +

    +

    +
    Parameters:
    name - -- name of the plot
    xA - -- x axis array
    yA - -- y axis array
    +
    +
    +
    + +

    +LoadFloatArray

    +
    +public void LoadFloatArray(java.lang.String name,
    +                           float[] fa)
    +
    +
    Loads an arrays into a single plot and displays it. +

    +

    +
    Parameters:
    name - -- name of the plot
    fa - -- float array to plot.
    +
    +
    +
    + +

    +isNosplit

    +
    +public boolean isNosplit()
    +
    +
    Get the value of nosplit +

    +

    + +
    Returns:
    the value of nosplit
    +
    +
    +
    + +

    +setNosplit

    +
    +public void setNosplit(boolean nosplit)
    +
    +
    Set the value of nosplit +

    +

    +
    Parameters:
    nosplit - new value of nosplit
    +
    +
    +
    + +

    +loadFile

    +
    +public void loadFile(java.lang.String fileName)
    +
    +
    +
    +
    +
    +
    + +

    +ForceRecheckComboFunc

    +
    +public void ForceRecheckComboFunc()
    +
    +
    +
    +
    +
    +
    + +

    +ScrollRight

    +
    +public void ScrollRight()
    +
    +
    +
    +
    +
    +
    + +

    +isLocked

    +
    +public boolean isLocked()
    +
    +
    +
    +
    +
    +
    + +

    +AddPlot

    +
    +public void AddPlot(PlotData pd,
    +                    java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +AddArrayPlot

    +
    +public void AddArrayPlot(PlotData pd,
    +                         java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +AddPlot

    +
    +public void AddPlot(PlotData pd)
    +
    +
    +
    +
    +
    +
    + +

    +refresh

    +
    +public void refresh()
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToPlot

    +
    +public void AddPointToPlot(PlotData pd,
    +                           double pre_f_x,
    +                           double pre_f_y,
    +                           boolean connected)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToArrayPlot

    +
    +public void AddPointToArrayPlot(PlotData pd,
    +                                int index,
    +                                double pre_f_y)
    +
    +
    +
    +
    +
    +
    + +

    +AddPointToPlot

    +
    +public void AddPointToPlot(PlotData pd,
    +                           double x,
    +                           double y,
    +                           boolean connected,
    +                           double pre_f_x,
    +                           double pre_f_y)
    +
    +
    +
    +
    +
    +
    + +

    +SetOuterArea

    +
    +public void SetOuterArea(double min_x,
    +                         double max_x,
    +                         double min_y,
    +                         double max_y)
    +
    +
    +
    +
    +
    +
    + +

    +SetInnerArea

    +
    +public void SetInnerArea(double min_x,
    +                         double max_x,
    +                         double min_y,
    +                         double max_y)
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionNormal

    +
    +public void setGraphFunctionNormal()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionVS

    +
    +public void setGraphFunctionVS()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionXY

    +
    +public void setGraphFunctionXY()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionXZ

    +
    +public void setGraphFunctionXZ()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionYZ

    +
    +public void setGraphFunctionYZ()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionSingle

    +
    +public void setGraphFunctionSingle()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionSMOOTH

    +
    +public void setGraphFunctionSMOOTH()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionDEVIATION

    +
    +public void setGraphFunctionDEVIATION()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionDERIVATIVE

    +
    +public void setGraphFunctionDERIVATIVE()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionINTEGRAL

    +
    +public void setGraphFunctionINTEGRAL()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionDIFF

    +
    +public void setGraphFunctionDIFF()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionPPDIFF

    +
    +public void setGraphFunctionPPDIFF()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionPPDIFFMODPI

    +
    +public void setGraphFunctionPPDIFFMODPI()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunctionNEGATIVEX

    +
    +public void setGraphFunctionNEGATIVEX()
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunction

    +
    +public void setGraphFunction(java.lang.String function_name)
    +
    +
    +
    +
    +
    +
    + +

    +setGraphFunction

    +
    +public void setGraphFunction(int i)
    +
    +
    +
    +
    +
    +
    + +

    +getGraphFunction

    +
    +public int getGraphFunction()
    +
    +
    +
    +
    +
    +
    + +

    +getFuncArg

    +
    +public int getFuncArg()
    +
    +
    +
    +
    +
    +
    + +

    +setFuncArg

    +
    +public void setFuncArg(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +setFuncArg

    +
    +public void setFuncArg(int _func_arg)
    +
    +
    +
    +
    +
    +
    + +

    +isApply_absolute_value

    +
    +public boolean isApply_absolute_value()
    +
    +
    Get the value of apply_absolute_value +

    +

    + +
    Returns:
    the value of apply_absolute_value
    +
    +
    +
    + +

    +setApply_absolute_value

    +
    +public void setApply_absolute_value(boolean apply_absolute_value)
    +
    +
    Set the value of apply_absolute_value +

    +

    +
    Parameters:
    apply_absolute_value - new value of apply_absolute_value
    +
    +
    +
    + +

    +CheckRecalcPlots

    +
    +public void CheckRecalcPlots()
    +
    +
    +
    +
    +
    +
    + +

    +ResetMinXToZero

    +
    +public void ResetMinXToZero()
    +
    +
    +
    +
    +
    +
    + +

    +get_paused

    +
    +public boolean get_paused()
    +
    +
    +
    +
    +
    +
    + +

    +set_point_size_limit

    +
    +public void set_point_size_limit(int _new_point_size_limit)
    +
    +
    +
    +
    +
    +
    + +

    +setFieldSelectPattern

    +
    +public void setFieldSelectPattern(java.lang.String _pattern)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/CountButton.html b/doc/javadoc/diagapplet/utils/CountButton.html new file mode 100644 index 0000000..4bfdf2c --- /dev/null +++ b/doc/javadoc/diagapplet/utils/CountButton.html @@ -0,0 +1,418 @@ + + + + + + +CountButton + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class CountButton

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Button
    +          extended by diagapplet.utils.CountButton
    +
    +
    +
    All Implemented Interfaces:
    CountButtonInterface, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class CountButton
    extends java.awt.Button
    implements java.awt.event.ActionListener, CountButtonInterface
    + + +

    +Button with count so diagapplet can see when it has be pressed. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Button
    java.awt.Button.AccessibleAWTButton
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    + intcount + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    CountButton(java.lang.String str) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidactionPerformed(java.awt.event.ActionEvent evt) + +
    +           
    + intget_count() + +
    +           
    + voidset_count(int i) + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Button
    addActionListener, addNotify, getAccessibleContext, getActionCommand, getActionListeners, getLabel, getListeners, paramString, processActionEvent, processEvent, removeActionListener, setActionCommand, setLabel
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface diagapplet.utils.CountButtonInterface
    setLabel
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +count

    +
    +public int count
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CountButton

    +
    +public CountButton(java.lang.String str)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_count

    +
    +public int get_count()
    +
    +
    +
    Specified by:
    get_count in interface CountButtonInterface
    +
    +
    +
    +
    +
    +
    + +

    +set_count

    +
    +public void set_count(int i)
    +
    +
    +
    Specified by:
    set_count in interface CountButtonInterface
    +
    +
    +
    +
    +
    +
    + +

    +actionPerformed

    +
    +public void actionPerformed(java.awt.event.ActionEvent evt)
    +
    +
    +
    Specified by:
    actionPerformed in interface java.awt.event.ActionListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/CountButtonInterface.html b/doc/javadoc/diagapplet/utils/CountButtonInterface.html new file mode 100644 index 0000000..c6c6c83 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/CountButtonInterface.html @@ -0,0 +1,249 @@ + + + + + + +CountButtonInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Interface CountButtonInterface

    +
    +
    All Known Implementing Classes:
    CountButton
    +
    +
    +
    +
    public interface CountButtonInterface
    + + +

    +Interface for CountButton +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intget_count() + +
    +           
    + voidset_count(int i) + +
    +           
    + voidsetLabel(java.lang.String str) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +get_count

    +
    +int get_count()
    +
    +
    +
    +
    +
    +
    + +

    +set_count

    +
    +void set_count(int i)
    +
    +
    +
    +
    +
    +
    + +

    +setLabel

    +
    +void setLabel(java.lang.String str)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/CountList.html b/doc/javadoc/diagapplet/utils/CountList.html new file mode 100644 index 0000000..a32724d --- /dev/null +++ b/doc/javadoc/diagapplet/utils/CountList.html @@ -0,0 +1,408 @@ + + + + + + +CountList + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class CountList

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.List
    +          extended by diagapplet.utils.CountList
    +
    +
    +
    All Implemented Interfaces:
    CountListInterface, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class CountList
    extends java.awt.List
    implements java.awt.event.ItemListener, CountListInterface
    + + +

    +AWT List object that counts events. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.List
    java.awt.List.AccessibleAWTList
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + +
    +Field Summary
    + intcount + +
    +           
    +static StandAloneAppletparent_applet + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    CountList() + +
    +           
    CountList(int rows, + boolean multipleSelections) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voiditemStateChanged(java.awt.event.ItemEvent event) + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.List
    add, add, addActionListener, addItem, addItem, addItemListener, addNotify, allowsMultipleSelections, clear, countItems, delItem, delItems, deselect, getAccessibleContext, getActionListeners, getItem, getItemCount, getItemListeners, getItems, getListeners, getMinimumSize, getMinimumSize, getPreferredSize, getPreferredSize, getRows, getSelectedIndex, getSelectedIndexes, getSelectedItem, getSelectedItems, getSelectedObjects, getVisibleIndex, isIndexSelected, isMultipleMode, isSelected, makeVisible, minimumSize, minimumSize, paramString, preferredSize, preferredSize, processActionEvent, processEvent, processItemEvent, remove, remove, removeActionListener, removeAll, removeItemListener, removeNotify, replaceItem, select, setMultipleMode, setMultipleSelections
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface diagapplet.utils.CountListInterface
    add, getItem, getItemCount, select
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +count

    +
    +public int count
    +
    +
    +
    +
    +
    + +

    +parent_applet

    +
    +public static StandAloneApplet parent_applet
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CountList

    +
    +public CountList()
    +
    +
    +
    + +

    +CountList

    +
    +public CountList(int rows,
    +                 boolean multipleSelections)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +itemStateChanged

    +
    +public void itemStateChanged(java.awt.event.ItemEvent event)
    +
    +
    +
    Specified by:
    itemStateChanged in interface java.awt.event.ItemListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/CountListInterface.html b/doc/javadoc/diagapplet/utils/CountListInterface.html new file mode 100644 index 0000000..fe8f5a9 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/CountListInterface.html @@ -0,0 +1,268 @@ + + + + + + +CountListInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Interface CountListInterface

    +
    +
    All Known Implementing Classes:
    CountList
    +
    +
    +
    +
    public interface CountListInterface
    + + +

    +Interface to CountList +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd(java.lang.String str) + +
    +           
    + java.lang.StringgetItem(int i) + +
    +           
    + intgetItemCount() + +
    +           
    + voidselect(int i) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +add

    +
    +void add(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +getItemCount

    +
    +int getItemCount()
    +
    +
    +
    +
    +
    +
    + +

    +select

    +
    +void select(int i)
    +
    +
    +
    +
    +
    +
    + +

    +getItem

    +
    +java.lang.String getItem(int i)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/DiagError.html b/doc/javadoc/diagapplet/utils/DiagError.html new file mode 100644 index 0000000..a4d1fb3 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/DiagError.html @@ -0,0 +1,350 @@ + + + + + + +DiagError + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class DiagError

    +
    +java.lang.Object
    +  extended by diagapplet.utils.DiagError
    +
    +
    +
    +
    public class DiagError
    extends java.lang.Object
    + + +

    +Class that should be used so that errors are visible in diag error log text area. + and also System.err. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    +static booleanshutting_down + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    DiagError() + +
    +          Creates a new instance of DiagError
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static voidAddDiagErrorAppender(DiagErrorAppendInterface deai) + +
    +           
    +static voidClearErrorAppendersList() + +
    +           
    +static voidPrintException(java.lang.Exception e) + +
    +           
    +static voidprintln(java.lang.String s) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +shutting_down

    +
    +public static boolean shutting_down
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +DiagError

    +
    +public DiagError()
    +
    +
    Creates a new instance of DiagError +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +AddDiagErrorAppender

    +
    +public static void AddDiagErrorAppender(DiagErrorAppendInterface deai)
    +
    +
    +
    +
    +
    +
    + +

    +ClearErrorAppendersList

    +
    +public static void ClearErrorAppendersList()
    +
    +
    +
    +
    +
    +
    + +

    +PrintException

    +
    +public static void PrintException(java.lang.Exception e)
    +
    +
    +
    +
    +
    +
    + +

    +println

    +
    +public static void println(java.lang.String s)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/DiagErrorAppendInterface.html b/doc/javadoc/diagapplet/utils/DiagErrorAppendInterface.html new file mode 100644 index 0000000..be56f0b --- /dev/null +++ b/doc/javadoc/diagapplet/utils/DiagErrorAppendInterface.html @@ -0,0 +1,208 @@ + + + + + + +DiagErrorAppendInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Interface DiagErrorAppendInterface

    +
    +
    +
    public interface DiagErrorAppendInterface
    + + +

    +An interface that connects DiagError to the diagnostics tool. +

    + +

    +


    + +

    + + + + + + + + + + + + +
    +Method Summary
    + voidAppendError(java.lang.String s) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +AppendError

    +
    +void AppendError(java.lang.String s)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/FakeFastListPanel.html b/doc/javadoc/diagapplet/utils/FakeFastListPanel.html new file mode 100644 index 0000000..66e3826 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/FakeFastListPanel.html @@ -0,0 +1,764 @@ + + + + + + +FakeFastListPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class FakeFastListPanel

    +
    +java.lang.Object
    +  extended by diagapplet.utils.FakeFastListPanel
    +
    +
    +
    All Implemented Interfaces:
    FastListPanelInterface
    +
    +
    +
    +
    public class FakeFastListPanel
    extends java.lang.Object
    implements FastListPanelInterface
    + + +

    +Tracks the same data as FastListPane without any actual display. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    +static booleandisplay_on + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    FakeFastListPanel() + +
    +           
    FakeFastListPanel(int rows, + int cols, + boolean set_multipleSelections, + java.lang.Object p) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd(java.lang.String s) + +
    +           
    + voidadd(java.lang.String s, + int index) + +
    +           
    + voidadd(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidclear() + +
    +           
    + intcountItems() + +
    +           
    + voiddeselect(int index) + +
    +           
    + java.lang.StringgetItem(int index) + +
    +           
    + intgetItemCount() + +
    +           
    + intgetSelectedIndex() + +
    +           
    + int[]getSelectedIndexes() + +
    +           
    + java.lang.StringgetSelectedItem() + +
    +           
    + java.lang.String[]getSelectedItems() + +
    +           
    + java.lang.Object[]getSelectedObjects() + +
    +           
    + intgetSelectedVarNumber() + +
    +           
    + intgetVarNumber(int index) + +
    +           
    + booleanisSelected(int index) + +
    +           
    + voidremoveAll() + +
    +           
    + voidreplaceItem(java.lang.String s, + int index) + +
    +           
    + voidreplaceItem(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidselect(int index) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +display_on

    +
    +public static final boolean display_on
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +FakeFastListPanel

    +
    +public FakeFastListPanel()
    +
    +
    +
    + +

    +FakeFastListPanel

    +
    +public FakeFastListPanel(int rows,
    +                         int cols,
    +                         boolean set_multipleSelections,
    +                         java.lang.Object p)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +add

    +
    +public void add(java.lang.String s)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index,
    +                int var_number)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index,
    +                        int var_number)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +removeAll

    +
    +public void removeAll()
    +
    +
    +
    Specified by:
    removeAll in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +clear

    +
    +public void clear()
    +
    +
    +
    Specified by:
    clear in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +select

    +
    +public void select(int index)
    +
    +
    +
    Specified by:
    select in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +deselect

    +
    +public void deselect(int index)
    +
    +
    +
    Specified by:
    deselect in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +isSelected

    +
    +public boolean isSelected(int index)
    +
    +
    +
    Specified by:
    isSelected in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndex

    +
    +public int getSelectedIndex()
    +
    +
    +
    Specified by:
    getSelectedIndex in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItem

    +
    +public java.lang.String getSelectedItem()
    +
    +
    +
    Specified by:
    getSelectedItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedVarNumber

    +
    +public int getSelectedVarNumber()
    +
    +
    +
    Specified by:
    getSelectedVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndexes

    +
    +public int[] getSelectedIndexes()
    +
    +
    +
    Specified by:
    getSelectedIndexes in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItems

    +
    +public java.lang.String[] getSelectedItems()
    +
    +
    +
    Specified by:
    getSelectedItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedObjects

    +
    +public java.lang.Object[] getSelectedObjects()
    +
    +
    +
    Specified by:
    getSelectedObjects in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getItem

    +
    +public java.lang.String getItem(int index)
    +
    +
    +
    Specified by:
    getItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getVarNumber

    +
    +public int getVarNumber(int index)
    +
    +
    +
    Specified by:
    getVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +countItems

    +
    +public int countItems()
    +
    +
    +
    Specified by:
    countItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getItemCount

    +
    +public int getItemCount()
    +
    +
    +
    Specified by:
    getItemCount in interface FastListPanelInterface
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/FastListContainer.html b/doc/javadoc/diagapplet/utils/FastListContainer.html new file mode 100644 index 0000000..5c83501 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/FastListContainer.html @@ -0,0 +1,380 @@ + + + + + + +FastListContainer + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class FastListContainer

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by diagapplet.utils.FastListContainer
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.AdjustmentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class FastListContainer
    extends java.awt.Panel
    implements java.awt.event.AdjustmentListener
    + + +

    +Container that adds scrollbars to FastListPanel. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    FastListContainer(FastListPanel internal_flpanel) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadjustmentValueChanged(java.awt.event.AdjustmentEvent evt) + +
    +           
    + voidUpdateScrollbars() + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify, getAccessibleContext
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +FastListContainer

    +
    +public FastListContainer(FastListPanel internal_flpanel)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +UpdateScrollbars

    +
    +public void UpdateScrollbars()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +adjustmentValueChanged

    +
    +public void adjustmentValueChanged(java.awt.event.AdjustmentEvent evt)
    +
    +
    +
    Specified by:
    adjustmentValueChanged in interface java.awt.event.AdjustmentListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/FastListPanel.html b/doc/javadoc/diagapplet/utils/FastListPanel.html new file mode 100644 index 0000000..92da155 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/FastListPanel.html @@ -0,0 +1,1584 @@ + + + + + + +FastListPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class FastListPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by diagapplet.utils.FastListPanel
    +
    +
    +
    All Implemented Interfaces:
    FastListPanelInterface, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class FastListPanel
    extends java.awt.Panel
    implements java.awt.event.MouseListener, java.awt.ItemSelectable, FastListPanelInterface, java.awt.event.KeyListener
    + + +

    +AWT Panel that was used as replacement for AWT List as it could be updated faster than the + older AWT List implementation. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static java.awt.Fontcommon_font + +
    +           
    +static intcommon_font_height + +
    +           
    +static intcommon_font_width + +
    +           
    + intcount + +
    +           
    +static booleandebug_on + +
    +           
    +static booleandisplay_on + +
    +           
    + intlines_visible + +
    +           
    + booleanlist_changed + +
    +           
    + FastListContainermyContainer + +
    +           
    + booleannewOpenStructure + +
    +           
    + java.util.VectoropenStructures + +
    +           
    + booleanrepaint_needed + +
    +           
    + java.util.Vectorselected_indexes + +
    +           
    + intstart_line + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    FastListPanel(int rows, + int cols, + boolean set_multipleSelections, + java.awt.Container p) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd(java.lang.String s) + +
    +           
    + voidadd(java.lang.String s, + int index) + +
    +           
    + voidadd(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidaddActionListener(java.awt.event.ActionListener l) + +
    +           
    + voidaddItemListener(java.awt.event.ItemListener l) + +
    +           
    + voidAddOpenStructure(java.lang.String struct) + +
    +           
    + voidclear() + +
    +           
    + intcountItems() + +
    +           
    +static voidDebugPrint(java.lang.String s) + +
    +           
    +static voidDebugPrint2(java.lang.String s) + +
    +           
    + voiddeselect(int index) + +
    +           
    +static voidErrorPrint(java.lang.String s) + +
    +           
    + java.lang.StringgetItem(int index) + +
    +           
    + intgetItemCount() + +
    +           
    + java.awt.DimensiongetMinimumSize() + +
    +           
    + java.awt.DimensiongetPreferredSize() + +
    +           
    + intgetSelectedIndex() + +
    +           
    + int[]getSelectedIndexes() + +
    +           
    + java.lang.StringgetSelectedItem() + +
    +           
    + java.lang.String[]getSelectedItems() + +
    +           
    + java.lang.Object[]getSelectedObjects() + +
    +           
    + intgetSelectedVarNumber() + +
    +           
    + intgetVarNumber(int index) + +
    +           
    + voidhandleKeyEvent(java.awt.event.KeyEvent e) + +
    +           
    + booleanIsOpenStructure(java.lang.String struct) + +
    +           
    + booleanisSelected(int index) + +
    +           
    + voidkeyPressed(java.awt.event.KeyEvent e) + +
    +           
    + voidkeyReleased(java.awt.event.KeyEvent e) + +
    +           
    + voidkeyTyped(java.awt.event.KeyEvent e) + +
    +           
    + voidmakeVisible(int index) + +
    +           
    + voidmouseClicked(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseEntered(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseExited(java.awt.event.MouseEvent evt) + +
    +           
    + voidmousePressed(java.awt.event.MouseEvent evt) + +
    +           
    + voidmouseReleased(java.awt.event.MouseEvent evt) + +
    +           
    + voidpaint(java.awt.Graphics g) + +
    +           
    + voidremoveActionListener(java.awt.event.ActionListener l) + +
    +           
    + voidremoveAll() + +
    +           
    + voidremoveItemListener(java.awt.event.ItemListener l) + +
    +           
    + voidRemoveOpenStructure(java.lang.String struct) + +
    +           
    + voidreplaceItem(java.lang.String s, + int index) + +
    +           
    + voidreplaceItem(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidselect(int index) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify, getAccessibleContext
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +selected_indexes

    +
    +public java.util.Vector selected_indexes
    +
    +
    +
    +
    +
    + +

    +openStructures

    +
    +public java.util.Vector openStructures
    +
    +
    +
    +
    +
    + +

    +newOpenStructure

    +
    +public boolean newOpenStructure
    +
    +
    +
    +
    +
    + +

    +myContainer

    +
    +public FastListContainer myContainer
    +
    +
    +
    +
    +
    + +

    +lines_visible

    +
    +public int lines_visible
    +
    +
    +
    +
    +
    + +

    +start_line

    +
    +public int start_line
    +
    +
    +
    +
    +
    + +

    +count

    +
    +public volatile int count
    +
    +
    +
    +
    +
    + +

    +repaint_needed

    +
    +public boolean repaint_needed
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +display_on

    +
    +public static boolean display_on
    +
    +
    +
    +
    +
    + +

    +list_changed

    +
    +public volatile boolean list_changed
    +
    +
    +
    +
    +
    + +

    +common_font

    +
    +public static java.awt.Font common_font
    +
    +
    +
    +
    +
    + +

    +common_font_height

    +
    +public static int common_font_height
    +
    +
    +
    +
    +
    + +

    +common_font_width

    +
    +public static int common_font_width
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +FastListPanel

    +
    +public FastListPanel(int rows,
    +                     int cols,
    +                     boolean set_multipleSelections,
    +                     java.awt.Container p)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +DebugPrint

    +
    +public static void DebugPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +DebugPrint2

    +
    +public static void DebugPrint2(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddOpenStructure

    +
    +public void AddOpenStructure(java.lang.String struct)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +IsOpenStructure

    +
    +public boolean IsOpenStructure(java.lang.String struct)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RemoveOpenStructure

    +
    +public void RemoveOpenStructure(java.lang.String struct)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.awt.Component
    +
    +
    +
    +
    +
    +
    + +

    +getPreferredSize

    +
    +public java.awt.Dimension getPreferredSize()
    +
    +
    +
    Overrides:
    getPreferredSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +getMinimumSize

    +
    +public java.awt.Dimension getMinimumSize()
    +
    +
    +
    Overrides:
    getMinimumSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index,
    +                int var_number)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index,
    +                        int var_number)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +removeAll

    +
    +public void removeAll()
    +
    +
    +
    Specified by:
    removeAll in interface FastListPanelInterface
    Overrides:
    removeAll in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +clear

    +
    +public void clear()
    +
    +
    +
    Specified by:
    clear in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +select

    +
    +public void select(int index)
    +
    +
    +
    Specified by:
    select in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +deselect

    +
    +public void deselect(int index)
    +
    +
    +
    Specified by:
    deselect in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +makeVisible

    +
    +public void makeVisible(int index)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +isSelected

    +
    +public boolean isSelected(int index)
    +
    +
    +
    Specified by:
    isSelected in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +mousePressed

    +
    +public void mousePressed(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mousePressed in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseEntered

    +
    +public void mouseEntered(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseEntered in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseExited

    +
    +public void mouseExited(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseExited in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseReleased

    +
    +public void mouseReleased(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseReleased in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +mouseClicked

    +
    +public void mouseClicked(java.awt.event.MouseEvent evt)
    +
    +
    +
    Specified by:
    mouseClicked in interface java.awt.event.MouseListener
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndex

    +
    +public int getSelectedIndex()
    +
    +
    +
    Specified by:
    getSelectedIndex in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItem

    +
    +public java.lang.String getSelectedItem()
    +
    +
    +
    Specified by:
    getSelectedItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedVarNumber

    +
    +public int getSelectedVarNumber()
    +
    +
    +
    Specified by:
    getSelectedVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndexes

    +
    +public int[] getSelectedIndexes()
    +
    +
    +
    Specified by:
    getSelectedIndexes in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItems

    +
    +public java.lang.String[] getSelectedItems()
    +
    +
    +
    Specified by:
    getSelectedItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedObjects

    +
    +public java.lang.Object[] getSelectedObjects()
    +
    +
    +
    Specified by:
    getSelectedObjects in interface FastListPanelInterface
    Specified by:
    getSelectedObjects in interface java.awt.ItemSelectable
    +
    +
    +
    +
    +
    +
    + +

    +getItem

    +
    +public java.lang.String getItem(int index)
    +
    +
    +
    Specified by:
    getItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getVarNumber

    +
    +public int getVarNumber(int index)
    +
    +
    +
    Specified by:
    getVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +countItems

    +
    +public int countItems()
    +
    +
    +
    Specified by:
    countItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getItemCount

    +
    +public int getItemCount()
    +
    +
    +
    Specified by:
    getItemCount in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +paint

    +
    +public void paint(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paint in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +addItemListener

    +
    +public void addItemListener(java.awt.event.ItemListener l)
    +
    +
    +
    Specified by:
    addItemListener in interface java.awt.ItemSelectable
    +
    +
    +
    +
    +
    +
    + +

    +removeItemListener

    +
    +public void removeItemListener(java.awt.event.ItemListener l)
    +
    +
    +
    Specified by:
    removeItemListener in interface java.awt.ItemSelectable
    +
    +
    +
    +
    +
    +
    + +

    +addActionListener

    +
    +public void addActionListener(java.awt.event.ActionListener l)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +removeActionListener

    +
    +public void removeActionListener(java.awt.event.ActionListener l)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +keyPressed

    +
    +public void keyPressed(java.awt.event.KeyEvent e)
    +
    +
    +
    Specified by:
    keyPressed in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +keyReleased

    +
    +public void keyReleased(java.awt.event.KeyEvent e)
    +
    +
    +
    Specified by:
    keyReleased in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +keyTyped

    +
    +public void keyTyped(java.awt.event.KeyEvent e)
    +
    +
    +
    Specified by:
    keyTyped in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +handleKeyEvent

    +
    +public void handleKeyEvent(java.awt.event.KeyEvent e)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/FastListPanelInterface.html b/doc/javadoc/diagapplet/utils/FastListPanelInterface.html new file mode 100644 index 0000000..4a0b72a --- /dev/null +++ b/doc/javadoc/diagapplet/utils/FastListPanelInterface.html @@ -0,0 +1,584 @@ + + + + + + +FastListPanelInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Interface FastListPanelInterface

    +
    +
    All Known Implementing Classes:
    FakeFastListPanel, FastListPanel, JListFastListPanel
    +
    +
    +
    +
    public interface FastListPanelInterface
    + + +

    +Common interface to FastListPanel and FakeFastListPanel. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd(java.lang.String s) + +
    +           
    + voidadd(java.lang.String s, + int index) + +
    +           
    + voidadd(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidclear() + +
    +           
    + intcountItems() + +
    +           
    + voiddeselect(int index) + +
    +           
    + java.lang.StringgetItem(int index) + +
    +           
    + intgetItemCount() + +
    +           
    + intgetSelectedIndex() + +
    +           
    + int[]getSelectedIndexes() + +
    +           
    + java.lang.StringgetSelectedItem() + +
    +           
    + java.lang.String[]getSelectedItems() + +
    +           
    + java.lang.Object[]getSelectedObjects() + +
    +           
    + intgetSelectedVarNumber() + +
    +           
    + intgetVarNumber(int index) + +
    +           
    + booleanisSelected(int index) + +
    +           
    + voidremoveAll() + +
    +           
    + voidreplaceItem(java.lang.String s, + int index) + +
    +           
    + voidreplaceItem(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidselect(int index) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +add

    +
    +void add(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +void add(java.lang.String s,
    +         int index)
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +void add(java.lang.String s,
    +         int index,
    +         int var_number)
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +void replaceItem(java.lang.String s,
    +                 int index)
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +void replaceItem(java.lang.String s,
    +                 int index,
    +                 int var_number)
    +
    +
    +
    +
    +
    +
    + +

    +removeAll

    +
    +void removeAll()
    +
    +
    +
    +
    +
    +
    + +

    +clear

    +
    +void clear()
    +
    +
    +
    +
    +
    +
    + +

    +select

    +
    +void select(int index)
    +
    +
    +
    +
    +
    +
    + +

    +deselect

    +
    +void deselect(int index)
    +
    +
    +
    +
    +
    +
    + +

    +isSelected

    +
    +boolean isSelected(int index)
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndex

    +
    +int getSelectedIndex()
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItem

    +
    +java.lang.String getSelectedItem()
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedVarNumber

    +
    +int getSelectedVarNumber()
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndexes

    +
    +int[] getSelectedIndexes()
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItems

    +
    +java.lang.String[] getSelectedItems()
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedObjects

    +
    +java.lang.Object[] getSelectedObjects()
    +
    +
    +
    +
    +
    +
    + +

    +getItem

    +
    +java.lang.String getItem(int index)
    +
    +
    +
    +
    +
    +
    + +

    +getVarNumber

    +
    +int getVarNumber(int index)
    +
    +
    +
    +
    +
    +
    + +

    +countItems

    +
    +int countItems()
    +
    +
    +
    +
    +
    +
    + +

    +getItemCount

    +
    +int getItemCount()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/ImageJFrame.html b/doc/javadoc/diagapplet/utils/ImageJFrame.html new file mode 100644 index 0000000..6b7e44a --- /dev/null +++ b/doc/javadoc/diagapplet/utils/ImageJFrame.html @@ -0,0 +1,453 @@ + + + + + + +ImageJFrame + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class ImageJFrame

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.utils.ImageJFrame
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class ImageJFrame
    extends javax.swing.JFrame
    + + +

    +A swing Jframe that adds controls to an ImageJPanel to display + scale, and cycle through a set of images. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    ImageJFrame() + +
    +          Creates new form ImageJFrame
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + voidLoadImageFileVector(java.util.Vector<java.io.File> image_file_vector) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +ImageJFrame

    +
    +public ImageJFrame()
    +
    +
    Creates new form ImageJFrame +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +LoadImageFileVector

    +
    +public void LoadImageFileVector(java.util.Vector<java.io.File> image_file_vector)
    +
    +
    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    Parameters:
    args - the command line arguments
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/ImageJPanel.html b/doc/javadoc/diagapplet/utils/ImageJPanel.html new file mode 100644 index 0000000..6d35221 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/ImageJPanel.html @@ -0,0 +1,971 @@ + + + + + + +ImageJPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class ImageJPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.utils.ImageJPanel
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class ImageJPanel
    extends javax.swing.JPanel
    + + +

    +Swing JPanel that displays an image inside a scrollpane. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + +
    +Field Summary
    + diagapplet.utils.ImagePainterimg_painter + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    ImageJPanel() + +
    +          Creates new form ImageJPanel
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAddMark(byte red, + byte green, + byte blue, + int x, + int y) + +
    +           
    + voidAddPaintablePanelMouseListener(java.awt.event.MouseListener ml) + +
    +           
    + voidAddPaintablePanelMouseMotionListener(java.awt.event.MouseMotionListener mml) + +
    +           
    + voidAddRunOnSelecteRectChange(java.lang.Runnable r) + +
    +           
    + voidClearCenterPosition() + +
    +           
    + voidClearImage() + +
    +           
    + voidClearMarks() + +
    +           
    + voidCombineByteArray(byte[] ba, + int x, + int y, + int w, + int h) + +
    +           
    + java.io.Fileget_last_saved_image_file() + +
    +           
    + doubleget_scale() + +
    +           
    + java.awt.Rectangleget_selected_scaled_rect() + +
    +           
    + intget_xstart() + +
    +           
    + intget_ystart() + +
    +           
    + java.awt.image.BufferedImageGetByteArrayImage() + +
    +           
    + java.awt.image.BufferedImagegetImage() + +
    +           
    + voidLoadByteArray(byte[] ba, + int w, + int h) + +
    +           
    + voidLoadImage(java.awt.image.BufferedImage _img) + +
    +           
    + voidLoadImage(java.lang.String s) + +
    +           
    + voidLoadImageF(java.io.File f) + +
    +           
    + voidrefresh() + +
    +           
    + voidScroll_To_XY(int x, + int y) + +
    +           
    + voidset_hide_byte_array(boolean _hide_byte_array) + +
    +           
    + voidset_record_images(boolean _b) + +
    +           
    + voidset_show_selected_rect(boolean _show) + +
    +           
    + voidSetCenterPosition(int x, + int y) + +
    +           
    + voidSetFit(boolean f) + +
    +           
    + voidSetStartPos(int x, + int y) + +
    +           
    + voidsetSub_painter(PainterInterface sub_painter) + +
    +           
    + voidSetZoom(int z) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +img_painter

    +
    +public diagapplet.utils.ImagePainter img_painter
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +ImageJPanel

    +
    +public ImageJPanel()
    +
    +
    Creates new form ImageJPanel +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +AddRunOnSelecteRectChange

    +
    +public void AddRunOnSelecteRectChange(java.lang.Runnable r)
    +
    +
    +
    +
    +
    +
    + +

    +setSub_painter

    +
    +public void setSub_painter(PainterInterface sub_painter)
    +
    +
    +
    +
    +
    +
    + +

    +refresh

    +
    +public void refresh()
    +
    +
    +
    +
    +
    +
    + +

    +get_xstart

    +
    +public int get_xstart()
    +
    +
    +
    +
    +
    +
    + +

    +get_ystart

    +
    +public int get_ystart()
    +
    +
    +
    +
    +
    +
    + +

    +get_scale

    +
    +public double get_scale()
    +
    +
    +
    +
    +
    +
    + +

    +SetFit

    +
    +public void SetFit(boolean f)
    +
    +
    +
    +
    +
    +
    + +

    +SetZoom

    +
    +public void SetZoom(int z)
    +
    +
    +
    +
    +
    +
    + +

    +LoadByteArray

    +
    +public void LoadByteArray(byte[] ba,
    +                          int w,
    +                          int h)
    +
    +
    +
    +
    +
    +
    + +

    +LoadImage

    +
    +public void LoadImage(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +LoadImageF

    +
    +public void LoadImageF(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +LoadImage

    +
    +public void LoadImage(java.awt.image.BufferedImage _img)
    +
    +
    +
    +
    +
    +
    + +

    +ClearImage

    +
    +public void ClearImage()
    +
    +
    +
    +
    +
    +
    + +

    +SetStartPos

    +
    +public void SetStartPos(int x,
    +                        int y)
    +
    +
    +
    +
    +
    +
    + +

    +CombineByteArray

    +
    +public void CombineByteArray(byte[] ba,
    +                             int x,
    +                             int y,
    +                             int w,
    +                             int h)
    +
    +
    +
    +
    +
    +
    + +

    +ClearMarks

    +
    +public void ClearMarks()
    +
    +
    +
    +
    +
    +
    + +

    +AddMark

    +
    +public void AddMark(byte red,
    +                    byte green,
    +                    byte blue,
    +                    int x,
    +                    int y)
    +
    +
    +
    +
    +
    +
    + +

    +get_last_saved_image_file

    +
    +public java.io.File get_last_saved_image_file()
    +
    +
    +
    +
    +
    +
    + +

    +SetCenterPosition

    +
    +public void SetCenterPosition(int x,
    +                              int y)
    +
    +
    +
    +
    +
    +
    + +

    +ClearCenterPosition

    +
    +public void ClearCenterPosition()
    +
    +
    +
    +
    +
    +
    + +

    +set_show_selected_rect

    +
    +public void set_show_selected_rect(boolean _show)
    +
    +
    +
    +
    +
    +
    + +

    +set_record_images

    +
    +public void set_record_images(boolean _b)
    +
    +
    +
    +
    +
    +
    + +

    +AddPaintablePanelMouseListener

    +
    +public void AddPaintablePanelMouseListener(java.awt.event.MouseListener ml)
    +
    +
    +
    +
    +
    +
    + +

    +AddPaintablePanelMouseMotionListener

    +
    +public void AddPaintablePanelMouseMotionListener(java.awt.event.MouseMotionListener mml)
    +
    +
    +
    +
    +
    +
    + +

    +Scroll_To_XY

    +
    +public void Scroll_To_XY(int x,
    +                         int y)
    +
    +
    +
    +
    +
    +
    + +

    +get_selected_scaled_rect

    +
    +public java.awt.Rectangle get_selected_scaled_rect()
    +
    +
    +
    +
    +
    +
    + +

    +set_hide_byte_array

    +
    +public void set_hide_byte_array(boolean _hide_byte_array)
    +
    +
    +
    +
    +
    +
    + +

    +GetByteArrayImage

    +
    +public java.awt.image.BufferedImage GetByteArrayImage()
    +
    +
    +
    +
    +
    +
    + +

    +getImage

    +
    +public java.awt.image.BufferedImage getImage()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/JListFastListPanel.html b/doc/javadoc/diagapplet/utils/JListFastListPanel.html new file mode 100644 index 0000000..2925c58 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/JListFastListPanel.html @@ -0,0 +1,744 @@ + + + + + + +JListFastListPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class JListFastListPanel

    +
    +java.lang.Object
    +  extended by diagapplet.utils.JListFastListPanel
    +
    +
    +
    All Implemented Interfaces:
    FastListPanelInterface
    +
    +
    +
    +
    public class JListFastListPanel
    extends java.lang.Object
    implements FastListPanelInterface
    + + +

    +Swing version of FastListPanel +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    +static booleandisplay_on + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    JListFastListPanel(javax.swing.JList _jlist) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd(java.lang.String s) + +
    +           
    + voidadd(java.lang.String s, + int index) + +
    +           
    + voidadd(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidclear() + +
    +           
    + intcountItems() + +
    +           
    + voiddeselect(int index) + +
    +           
    + java.lang.StringgetItem(int index) + +
    +           
    + intgetItemCount() + +
    +           
    + intgetSelectedIndex() + +
    +           
    + int[]getSelectedIndexes() + +
    +           
    + java.lang.StringgetSelectedItem() + +
    +           
    + java.lang.String[]getSelectedItems() + +
    +           
    + java.lang.Object[]getSelectedObjects() + +
    +           
    + intgetSelectedVarNumber() + +
    +           
    + intgetVarNumber(int index) + +
    +           
    + booleanisSelected(int index) + +
    +           
    + voidremoveAll() + +
    +           
    + voidreplaceItem(java.lang.String s, + int index) + +
    +           
    + voidreplaceItem(java.lang.String s, + int index, + int var_number) + +
    +           
    + voidselect(int index) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +display_on

    +
    +public static final boolean display_on
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +JListFastListPanel

    +
    +public JListFastListPanel(javax.swing.JList _jlist)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +add

    +
    +public void add(java.lang.String s)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public void add(java.lang.String s,
    +                int index,
    +                int var_number)
    +
    +
    +
    Specified by:
    add in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +replaceItem

    +
    +public void replaceItem(java.lang.String s,
    +                        int index,
    +                        int var_number)
    +
    +
    +
    Specified by:
    replaceItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +removeAll

    +
    +public void removeAll()
    +
    +
    +
    Specified by:
    removeAll in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +clear

    +
    +public void clear()
    +
    +
    +
    Specified by:
    clear in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +select

    +
    +public void select(int index)
    +
    +
    +
    Specified by:
    select in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +deselect

    +
    +public void deselect(int index)
    +
    +
    +
    Specified by:
    deselect in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +isSelected

    +
    +public boolean isSelected(int index)
    +
    +
    +
    Specified by:
    isSelected in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndex

    +
    +public int getSelectedIndex()
    +
    +
    +
    Specified by:
    getSelectedIndex in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItem

    +
    +public java.lang.String getSelectedItem()
    +
    +
    +
    Specified by:
    getSelectedItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedVarNumber

    +
    +public int getSelectedVarNumber()
    +
    +
    +
    Specified by:
    getSelectedVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedIndexes

    +
    +public int[] getSelectedIndexes()
    +
    +
    +
    Specified by:
    getSelectedIndexes in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedItems

    +
    +public java.lang.String[] getSelectedItems()
    +
    +
    +
    Specified by:
    getSelectedItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getSelectedObjects

    +
    +public java.lang.Object[] getSelectedObjects()
    +
    +
    +
    Specified by:
    getSelectedObjects in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getItem

    +
    +public java.lang.String getItem(int index)
    +
    +
    +
    Specified by:
    getItem in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getVarNumber

    +
    +public int getVarNumber(int index)
    +
    +
    +
    Specified by:
    getVarNumber in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +countItems

    +
    +public int countItems()
    +
    +
    +
    Specified by:
    countItems in interface FastListPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +getItemCount

    +
    +public int getItemCount()
    +
    +
    +
    Specified by:
    getItemCount in interface FastListPanelInterface
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/ModifiedFileDialog.html b/doc/javadoc/diagapplet/utils/ModifiedFileDialog.html new file mode 100644 index 0000000..a35230f --- /dev/null +++ b/doc/javadoc/diagapplet/utils/ModifiedFileDialog.html @@ -0,0 +1,995 @@ + + + + + + +ModifiedFileDialog + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class ModifiedFileDialog

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Dialog
    +                  extended by diagapplet.utils.ModifiedFileDialog
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class ModifiedFileDialog
    extends java.awt.Dialog
    implements java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.WindowListener, java.awt.event.ItemListener
    + + +

    +Custom AWT File Dialog to select a file. + Used only in old CodeGen and Design tool. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Dialog
    java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + booleancancel + +
    +           
    +static booleandebug_on + +
    +           
    + booleandone + +
    +           
    + java.lang.Stringfilename + +
    +           
    +static intLOAD + +
    +           
    + intmode + +
    +           
    +static intSAVE + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Dialog
    DEFAULT_MODALITY_TYPE
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    ModifiedFileDialog(java.awt.Frame parent, + java.lang.String title, + int _mode) + +
    +           
    ModifiedFileDialog(java.awt.Frame parent, + java.lang.String title, + int _mode, + java.lang.String dir, + java.lang.String filter) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidactionPerformed(java.awt.event.ActionEvent evt) + +
    +           
    + java.lang.StringgetDirectory() + +
    +           
    + java.lang.StringgetFile() + +
    +           
    + voidinit(java.lang.String title, + int _mode, + java.lang.String dir, + java.lang.String filter) + +
    +           
    + voiditemStateChanged(java.awt.event.ItemEvent evt) + +
    +           
    + voidkeyPressed(java.awt.event.KeyEvent evt) + +
    +           
    + voidkeyReleased(java.awt.event.KeyEvent evt) + +
    +           
    + voidkeyTyped(java.awt.event.KeyEvent evt) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + voidsetDirectory(java.lang.String dir) + +
    +           
    + voidsetFile(java.lang.String file) + +
    +           
    + voidtryAutoComplete() + +
    +           
    + voidupdateDisplay() + +
    +           
    + voidwait_for_done() + +
    +           
    + voidwindowActivated(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowClosed(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowClosing(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowDeactivated(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowDeiconified(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowIconified(java.awt.event.WindowEvent evt) + +
    +           
    + voidwindowOpened(java.awt.event.WindowEvent evt) + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Dialog
    addNotify, getAccessibleContext, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, paramString, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +filename

    +
    +public java.lang.String filename
    +
    +
    +
    +
    +
    + +

    +done

    +
    +public boolean done
    +
    +
    +
    +
    +
    + +

    +cancel

    +
    +public boolean cancel
    +
    +
    +
    +
    +
    + +

    +mode

    +
    +public int mode
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +LOAD

    +
    +public static int LOAD
    +
    +
    +
    +
    +
    + +

    +SAVE

    +
    +public static int SAVE
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +ModifiedFileDialog

    +
    +public ModifiedFileDialog(java.awt.Frame parent,
    +                          java.lang.String title,
    +                          int _mode,
    +                          java.lang.String dir,
    +                          java.lang.String filter)
    +
    +
    +
    + +

    +ModifiedFileDialog

    +
    +public ModifiedFileDialog(java.awt.Frame parent,
    +                          java.lang.String title,
    +                          int _mode)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +setDirectory

    +
    +public void setDirectory(java.lang.String dir)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setFile

    +
    +public void setFile(java.lang.String file)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getFile

    +
    +public java.lang.String getFile()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +wait_for_done

    +
    +public void wait_for_done()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getDirectory

    +
    +public java.lang.String getDirectory()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +init

    +
    +public void init(java.lang.String title,
    +                 int _mode,
    +                 java.lang.String dir,
    +                 java.lang.String filter)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +itemStateChanged

    +
    +public void itemStateChanged(java.awt.event.ItemEvent evt)
    +
    +
    +
    Specified by:
    itemStateChanged in interface java.awt.event.ItemListener
    +
    +
    +
    +
    +
    +
    + +

    +actionPerformed

    +
    +public void actionPerformed(java.awt.event.ActionEvent evt)
    +
    +
    +
    Specified by:
    actionPerformed in interface java.awt.event.ActionListener
    +
    +
    +
    +
    +
    +
    + +

    +updateDisplay

    +
    +public void updateDisplay()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +keyPressed

    +
    +public void keyPressed(java.awt.event.KeyEvent evt)
    +
    +
    +
    Specified by:
    keyPressed in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +keyReleased

    +
    +public void keyReleased(java.awt.event.KeyEvent evt)
    +
    +
    +
    Specified by:
    keyReleased in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +tryAutoComplete

    +
    +public void tryAutoComplete()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +keyTyped

    +
    +public void keyTyped(java.awt.event.KeyEvent evt)
    +
    +
    +
    Specified by:
    keyTyped in interface java.awt.event.KeyListener
    +
    +
    +
    +
    +
    +
    + +

    +windowOpened

    +
    +public void windowOpened(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowOpened in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowClosing

    +
    +public void windowClosing(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowClosing in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowClosed

    +
    +public void windowClosed(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowClosed in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowIconified

    +
    +public void windowIconified(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowIconified in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowDeiconified

    +
    +public void windowDeiconified(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowDeiconified in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowActivated

    +
    +public void windowActivated(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowActivated in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +windowDeactivated

    +
    +public void windowDeactivated(java.awt.event.WindowEvent evt)
    +
    +
    +
    Specified by:
    windowDeactivated in interface java.awt.event.WindowListener
    +
    +
    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/SaveImage.BAYER_PATTERN.html b/doc/javadoc/diagapplet/utils/SaveImage.BAYER_PATTERN.html new file mode 100644 index 0000000..7be5c6c --- /dev/null +++ b/doc/javadoc/diagapplet/utils/SaveImage.BAYER_PATTERN.html @@ -0,0 +1,355 @@ + + + + + + +SaveImage.BAYER_PATTERN + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Enum SaveImage.BAYER_PATTERN

    +
    +java.lang.Object
    +  extended by java.lang.Enum<SaveImage.BAYER_PATTERN>
    +      extended by diagapplet.utils.SaveImage.BAYER_PATTERN
    +
    +
    +
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<SaveImage.BAYER_PATTERN>
    +
    +
    +
    Enclosing class:
    SaveImage
    +
    +
    +
    +
    public static enum SaveImage.BAYER_PATTERN
    extends java.lang.Enum<SaveImage.BAYER_PATTERN>
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Enum Constant Summary
    BGGR + +
    +           
    GBRG + +
    +           
    GRBG + +
    +           
    RGGB + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    +static SaveImage.BAYER_PATTERNvalueOf(java.lang.String name) + +
    +          Returns the enum constant of this type with the specified name.
    +static SaveImage.BAYER_PATTERN[]values() + +
    +          Returns an array containing the constants of this enum type, in +the order they are declared.
    + + + + + + + +
    Methods inherited from class java.lang.Enum
    clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    + + + + + + + +
    Methods inherited from class java.lang.Object
    getClass, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Enum Constant Detail
    + +

    +BGGR

    +
    +public static final SaveImage.BAYER_PATTERN BGGR
    +
    +
    +
    +
    +
    + +

    +GRBG

    +
    +public static final SaveImage.BAYER_PATTERN GRBG
    +
    +
    +
    +
    +
    + +

    +RGGB

    +
    +public static final SaveImage.BAYER_PATTERN RGGB
    +
    +
    +
    +
    +
    + +

    +GBRG

    +
    +public static final SaveImage.BAYER_PATTERN GBRG
    +
    +
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +values

    +
    +public static SaveImage.BAYER_PATTERN[] values()
    +
    +
    Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
    +for (SaveImage.BAYER_PATTERN c : SaveImage.BAYER_PATTERN.values())
    +    System.out.println(c);
    +
    +

    +

    + +
    Returns:
    an array containing the constants of this enum type, in +the order they are declared
    +
    +
    +
    + +

    +valueOf

    +
    +public static SaveImage.BAYER_PATTERN valueOf(java.lang.String name)
    +
    +
    Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

    +

    +
    Parameters:
    name - the name of the enum constant to be returned. +
    Returns:
    the enum constant with the specified name +
    Throws: +
    java.lang.IllegalArgumentException - if this enum type has no constant +with the specified name +
    java.lang.NullPointerException - if the argument is null
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/SaveImage.html b/doc/javadoc/diagapplet/utils/SaveImage.html new file mode 100644 index 0000000..af78a69 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/SaveImage.html @@ -0,0 +1,402 @@ + + + + + + +SaveImage + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class SaveImage

    +
    +java.lang.Object
    +  extended by diagapplet.utils.SaveImage
    +
    +
    +
    +
    public class SaveImage
    extends java.lang.Object
    + + +

    +Set of utilities for saving images. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Nested Class Summary
    +static classSaveImage.BAYER_PATTERN + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    SaveImage() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static byte[]bayer_NearestNeighbor(byte[] bayer, + int width, + int height, + SaveImage.BAYER_PATTERN pattern) + +
    +           
    +static java.awt.image.BufferedImageBayerByteArrayToImage(byte[] ba, + int width, + int height) + +
    +           
    +static java.awt.image.BufferedImageBayerByteArrayToImage(byte[] bayer_ba, + int width, + int height, + SaveImage.BAYER_PATTERN pattern) + +
    +           
    +static java.awt.image.BufferedImageByteArrayToImage(byte[] ba, + int width, + int height) + +
    +           
    +static voidSaveImageAs(java.awt.Image img, + java.awt.Component parent) + +
    +           
    +static voidSaveImageFileBySuffix(java.awt.Image img_in, + java.lang.String filename) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +SaveImage

    +
    +public SaveImage()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +bayer_NearestNeighbor

    +
    +public static byte[] bayer_NearestNeighbor(byte[] bayer,
    +                                           int width,
    +                                           int height,
    +                                           SaveImage.BAYER_PATTERN pattern)
    +
    +
    +
    +
    +
    +
    + +

    +BayerByteArrayToImage

    +
    +public static java.awt.image.BufferedImage BayerByteArrayToImage(byte[] bayer_ba,
    +                                                                 int width,
    +                                                                 int height,
    +                                                                 SaveImage.BAYER_PATTERN pattern)
    +                                                          throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +ByteArrayToImage

    +
    +public static java.awt.image.BufferedImage ByteArrayToImage(byte[] ba,
    +                                                            int width,
    +                                                            int height)
    +                                                     throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +BayerByteArrayToImage

    +
    +public static java.awt.image.BufferedImage BayerByteArrayToImage(byte[] ba,
    +                                                                 int width,
    +                                                                 int height)
    +                                                          throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +SaveImageAs

    +
    +public static void SaveImageAs(java.awt.Image img,
    +                               java.awt.Component parent)
    +
    +
    +
    +
    +
    +
    + +

    +SaveImageFileBySuffix

    +
    +public static void SaveImageFileBySuffix(java.awt.Image img_in,
    +                                         java.lang.String filename)
    +                                  throws java.io.IOException
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/StandAloneApplet.html b/doc/javadoc/diagapplet/utils/StandAloneApplet.html new file mode 100644 index 0000000..f98ee55 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/StandAloneApplet.html @@ -0,0 +1,708 @@ + + + + + + +StandAloneApplet + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class StandAloneApplet

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by java.applet.Applet
    +                  extended by diagapplet.utils.StandAloneApplet
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    Direct Known Subclasses:
    rcsDesignGui
    +
    +
    +
    +
    public class StandAloneApplet
    extends java.applet.Applet
    implements java.awt.event.ComponentListener
    + + +

    +Wrapper that allows a class to be run as an applet or standalone outside a browser. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.applet.Applet
    java.applet.Applet.AccessibleApplet
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    + booleaninitialized + +
    +           
    + booleaninside_init + +
    +           
    + booleaninside_resizeable_window + +
    +           
    + java.awt.Dimensionlast_size + +
    +           
    + booleanm_fStandAlone + +
    +           
    + java.lang.Threadmain_applet_thread + +
    +           
    + intrepaint_count + +
    +           
    +static longresize_next_time + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    StandAloneApplet() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + booleancanShutdown() + +
    +           
    + voidcleanup() + +
    +           
    + voidcomponentHidden(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentMoved(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentResized(java.awt.event.ComponentEvent evt) + +
    +           
    + voidcomponentShown(java.awt.event.ComponentEvent evt) + +
    +           
    + voidmanual_resize(int new_width, + int new_height) + +
    +           
    + voidstartShutdown() + +
    +           
    + + + + + + + +
    Methods inherited from class java.applet.Applet
    destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +m_fStandAlone

    +
    +public volatile boolean m_fStandAlone
    +
    +
    +
    +
    +
    + +

    +main_applet_thread

    +
    +public volatile java.lang.Thread main_applet_thread
    +
    +
    +
    +
    +
    + +

    +last_size

    +
    +public volatile java.awt.Dimension last_size
    +
    +
    +
    +
    +
    + +

    +initialized

    +
    +public volatile boolean initialized
    +
    +
    +
    +
    +
    + +

    +inside_init

    +
    +public volatile boolean inside_init
    +
    +
    +
    +
    +
    + +

    +inside_resizeable_window

    +
    +public volatile boolean inside_resizeable_window
    +
    +
    +
    +
    +
    + +

    +repaint_count

    +
    +public volatile int repaint_count
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +resize_next_time

    +
    +public static long resize_next_time
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +StandAloneApplet

    +
    +public StandAloneApplet()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +manual_resize

    +
    +public void manual_resize(int new_width,
    +                          int new_height)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +cleanup

    +
    +public void cleanup()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +startShutdown

    +
    +public void startShutdown()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +canShutdown

    +
    +public boolean canShutdown()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +componentResized

    +
    +public void componentResized(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentResized in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentShown

    +
    +public void componentShown(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentShown in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentHidden

    +
    +public void componentHidden(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentHidden in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    +
    + +

    +componentMoved

    +
    +public void componentMoved(java.awt.event.ComponentEvent evt)
    +
    +
    +
    Specified by:
    componentMoved in interface java.awt.event.ComponentListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/URLLoadInfoJPanel.html b/doc/javadoc/diagapplet/utils/URLLoadInfoJPanel.html new file mode 100644 index 0000000..a725b81 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/URLLoadInfoJPanel.html @@ -0,0 +1,697 @@ + + + + + + +URLLoadInfoJPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class URLLoadInfoJPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.utils.URLLoadInfoJPanel
    +
    +
    +
    All Implemented Interfaces:
    URLLoadInfoPanelInterface, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class URLLoadInfoJPanel
    extends javax.swing.JPanel
    implements URLLoadInfoPanelInterface
    + + +

    +Swing JPanel used for displaying progress while loading a URL/File. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + intbytes_read + +
    +           
    + intcontent_length + +
    +           
    +static booleandebug_on + +
    +           
    +static booleanignore_repaint_requests + +
    +           
    + java.lang.StringURLname + +
    +           
    + booleanuse_color + +
    +           
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    URLLoadInfoJPanel() + +
    +          Creates new form URLLoadInfoJPanel
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidforce_repaint(int i) + +
    +           
    + intget_bytes_read() + +
    +           
    + intget_content_length() + +
    +           
    + java.lang.Stringget_URLname() + +
    +           
    + voidinc_bytes_read(int _bytes_read_inc) + +
    +           
    + voidset_bytes_read(int _bytes_read) + +
    +           
    + voidset_content_length(int _content_length) + +
    +           
    + voidset_URLname(java.lang.String _URLName) + +
    +           
    + voidupdateDisplay() + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface diagapplet.utils.URLLoadInfoPanelInterface
    repaint
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +ignore_repaint_requests

    +
    +public static boolean ignore_repaint_requests
    +
    +
    +
    +
    +
    + +

    +use_color

    +
    +public boolean use_color
    +
    +
    +
    +
    +
    + +

    +URLname

    +
    +public java.lang.String URLname
    +
    +
    +
    +
    +
    + +

    +content_length

    +
    +public int content_length
    +
    +
    +
    +
    +
    + +

    +bytes_read

    +
    +public int bytes_read
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +URLLoadInfoJPanel

    +
    +public URLLoadInfoJPanel()
    +
    +
    Creates new form URLLoadInfoJPanel +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +set_bytes_read

    +
    +public void set_bytes_read(int _bytes_read)
    +                    throws java.lang.Exception
    +
    +
    +
    Specified by:
    set_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +inc_bytes_read

    +
    +public void inc_bytes_read(int _bytes_read_inc)
    +                    throws java.lang.Exception
    +
    +
    +
    Specified by:
    inc_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_bytes_read

    +
    +public int get_bytes_read()
    +
    +
    +
    Specified by:
    get_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +set_content_length

    +
    +public void set_content_length(int _content_length)
    +
    +
    +
    Specified by:
    set_content_length in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_content_length

    +
    +public int get_content_length()
    +
    +
    +
    Specified by:
    get_content_length in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +set_URLname

    +
    +public void set_URLname(java.lang.String _URLName)
    +
    +
    +
    Specified by:
    set_URLname in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_URLname

    +
    +public java.lang.String get_URLname()
    +
    +
    +
    Specified by:
    get_URLname in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +updateDisplay

    +
    +public void updateDisplay()
    +
    +
    +
    Specified by:
    updateDisplay in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +force_repaint

    +
    +public void force_repaint(int i)
    +
    +
    +
    Specified by:
    force_repaint in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/URLLoadInfoPanel.html b/doc/javadoc/diagapplet/utils/URLLoadInfoPanel.html new file mode 100644 index 0000000..6d351ad --- /dev/null +++ b/doc/javadoc/diagapplet/utils/URLLoadInfoPanel.html @@ -0,0 +1,764 @@ + + + + + + +URLLoadInfoPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class URLLoadInfoPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by diagapplet.utils.URLLoadInfoPanel
    +
    +
    +
    All Implemented Interfaces:
    URLLoadInfoPanelInterface, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class URLLoadInfoPanel
    extends java.awt.Panel
    implements URLLoadInfoPanelInterface
    + + +

    +AWT Panel for displaying progress while loading a URL. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + intbytes_read + +
    +           
    + intcontent_length + +
    +           
    +static booleandebug_on + +
    +           
    +static booleanignore_repaint_requests + +
    +           
    + java.lang.StringURLname + +
    +           
    + booleanuse_color + +
    +           
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    URLLoadInfoPanel() + +
    +           
    URLLoadInfoPanel(int pref_width, + int pref_height) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidforce_repaint(int max_tries) + +
    +           
    + intget_bytes_read() + +
    +           
    + intget_content_length() + +
    +           
    + java.lang.Stringget_URLname() + +
    +           
    + java.awt.DimensiongetMinimumSize() + +
    +           
    + java.awt.DimensiongetPreferredSize() + +
    +           
    + voidinc_bytes_read(int _bytes_read_inc) + +
    +           
    + voidpaint(java.awt.Graphics g) + +
    +           
    + voidset_bytes_read(int _bytes_read) + +
    +           
    + voidset_content_length(int _content_length) + +
    +           
    + voidset_URLname(java.lang.String _URLname) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdateDisplay() + +
    +           
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify, getAccessibleContext
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface diagapplet.utils.URLLoadInfoPanelInterface
    repaint
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +ignore_repaint_requests

    +
    +public static boolean ignore_repaint_requests
    +
    +
    +
    +
    +
    + +

    +use_color

    +
    +public boolean use_color
    +
    +
    +
    +
    +
    + +

    +URLname

    +
    +public java.lang.String URLname
    +
    +
    +
    +
    +
    + +

    +content_length

    +
    +public int content_length
    +
    +
    +
    +
    +
    + +

    +bytes_read

    +
    +public int bytes_read
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +URLLoadInfoPanel

    +
    +public URLLoadInfoPanel()
    +
    +
    +
    + +

    +URLLoadInfoPanel

    +
    +public URLLoadInfoPanel(int pref_width,
    +                        int pref_height)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +set_bytes_read

    +
    +public void set_bytes_read(int _bytes_read)
    +
    +
    +
    Specified by:
    set_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_bytes_read

    +
    +public int get_bytes_read()
    +
    +
    +
    Specified by:
    get_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +set_content_length

    +
    +public void set_content_length(int _content_length)
    +
    +
    +
    Specified by:
    set_content_length in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_content_length

    +
    +public int get_content_length()
    +
    +
    +
    Specified by:
    get_content_length in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +set_URLname

    +
    +public void set_URLname(java.lang.String _URLname)
    +
    +
    +
    Specified by:
    set_URLname in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +get_URLname

    +
    +public java.lang.String get_URLname()
    +
    +
    +
    Specified by:
    get_URLname in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.awt.Component
    +
    +
    +
    +
    +
    +
    + +

    +getPreferredSize

    +
    +public java.awt.Dimension getPreferredSize()
    +
    +
    +
    Overrides:
    getPreferredSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +getMinimumSize

    +
    +public java.awt.Dimension getMinimumSize()
    +
    +
    +
    Overrides:
    getMinimumSize in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +updateDisplay

    +
    +public void updateDisplay()
    +
    +
    +
    Specified by:
    updateDisplay in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +force_repaint

    +
    +public void force_repaint(int max_tries)
    +
    +
    +
    Specified by:
    force_repaint in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    +
    + +

    +paint

    +
    +public void paint(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paint in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +inc_bytes_read

    +
    +public void inc_bytes_read(int _bytes_read_inc)
    +
    +
    +
    Specified by:
    inc_bytes_read in interface URLLoadInfoPanelInterface
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/URLLoadInfoPanelInterface.html b/doc/javadoc/diagapplet/utils/URLLoadInfoPanelInterface.html new file mode 100644 index 0000000..68bdd93 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/URLLoadInfoPanelInterface.html @@ -0,0 +1,389 @@ + + + + + + +URLLoadInfoPanelInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Interface URLLoadInfoPanelInterface

    +
    +
    All Known Implementing Classes:
    URLLoadInfoJPanel, URLLoadInfoPanel
    +
    +
    +
    +
    public interface URLLoadInfoPanelInterface
    + + +

    +Common interface to the Swing and AWT Panels for displaying progress while loading + a URL/File. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidforce_repaint(int i) + +
    +           
    + intget_bytes_read() + +
    +           
    + intget_content_length() + +
    +           
    + java.lang.Stringget_URLname() + +
    +           
    + voidinc_bytes_read(int _bytes_read_inc) + +
    +           
    + voidrepaint() + +
    +           
    + voidset_bytes_read(int _bytes_read) + +
    +           
    + voidset_content_length(int _content_length) + +
    +           
    + voidset_URLname(java.lang.String _URLName) + +
    +           
    + voidupdateDisplay() + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +set_bytes_read

    +
    +void set_bytes_read(int _bytes_read)
    +                    throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +inc_bytes_read

    +
    +void inc_bytes_read(int _bytes_read_inc)
    +                    throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_bytes_read

    +
    +int get_bytes_read()
    +
    +
    +
    +
    +
    +
    + +

    +set_content_length

    +
    +void set_content_length(int _content_length)
    +
    +
    +
    +
    +
    +
    + +

    +get_content_length

    +
    +int get_content_length()
    +
    +
    +
    +
    +
    +
    + +

    +set_URLname

    +
    +void set_URLname(java.lang.String _URLName)
    +
    +
    +
    +
    +
    +
    + +

    +get_URLname

    +
    +java.lang.String get_URLname()
    +
    +
    +
    +
    +
    +
    + +

    +updateDisplay

    +
    +void updateDisplay()
    +
    +
    +
    +
    +
    +
    + +

    +force_repaint

    +
    +void force_repaint(int i)
    +
    +
    +
    +
    +
    +
    + +

    +repaint

    +
    +void repaint()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/URlLoadInfoFrame.html b/doc/javadoc/diagapplet/utils/URlLoadInfoFrame.html new file mode 100644 index 0000000..4121ff6 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/URlLoadInfoFrame.html @@ -0,0 +1,453 @@ + + + + + + +URlLoadInfoFrame + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class URlLoadInfoFrame

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Window
    +              extended by java.awt.Frame
    +                  extended by javax.swing.JFrame
    +                      extended by diagapplet.utils.URlLoadInfoFrame
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    +
    +
    +
    +
    public class URlLoadInfoFrame
    extends javax.swing.JFrame
    + + +

    +Swing JFrame that includes only a URLLoadInfoJPanel for + displaying progress while loading a URL or file. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JFrame
    javax.swing.JFrame.AccessibleJFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Frame
    java.awt.Frame.AccessibleAWTFrame
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Window
    java.awt.Window.AccessibleAWTWindow
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JFrame
    accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
    + + + + + + + +
    Fields inherited from class java.awt.Frame
    CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface javax.swing.WindowConstants
    DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    URlLoadInfoFrame() + +
    +          Creates new form URlLoadInfoFrame
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + URLLoadInfoPanelInterfaceget_uRLLoadInfoPanel() + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JFrame
    addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
    + + + + + + + +
    Methods inherited from class java.awt.Frame
    addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
    + + + + + + + +
    Methods inherited from class java.awt.Window
    addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface java.awt.MenuContainer
    getFont, postEvent
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +URlLoadInfoFrame

    +
    +public URlLoadInfoFrame()
    +
    +
    Creates new form URlLoadInfoFrame +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    Parameters:
    args - the command line arguments
    +
    +
    +
    + +

    +get_uRLLoadInfoPanel

    +
    +public URLLoadInfoPanelInterface get_uRLLoadInfoPanel()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/WatchJPanel.html b/doc/javadoc/diagapplet/utils/WatchJPanel.html new file mode 100644 index 0000000..77f83a1 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/WatchJPanel.html @@ -0,0 +1,1081 @@ + + + + + + +WatchJPanel + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class WatchJPanel

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.utils.WatchJPanel
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class WatchJPanel
    extends javax.swing.JPanel
    + + +

    +Swing JPanel that replaces FastListPanel in newer diagnostics tools for + displaying lists of variables in hierarchical structures. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    WatchJPanel() + +
    +          Creates new form WatchJPanel
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidaddListSelectionListener(javax.swing.event.ListSelectionListener _lsl) + +
    +           
    + voidClear() + +
    +           
    + voidCollapseAll() + +
    +           
    + voidDumpDataString() + +
    +           
    + voidDumpDataStringFile(java.io.File f, + java.lang.String data_string) + +
    +           
    + voidDumpText() + +
    +           
    + voidExpandAll() + +
    +           
    + java.lang.StringgetDataString() + +
    +           
    + EnumTypeInfogetEnumTypeInfo(int row) + +
    +           
    + longgetId() + +
    +           
    + booleanGetIsArray() + +
    +           
    + booleanGetIsEnumeration(int row) + +
    +           
    + booleanGetIsNewStruct() + +
    +           
    + java.lang.StringGetSelectedValue() + +
    +           
    + StructureTypeInfogetStructureTypeInfo() + +
    +           
    + javax.swing.table.TableCellEditorgetTableColumnCellEditor(int column) + +
    +           
    + java.lang.StringgetValueStringForVarNumber(int var_number) + +
    +           
    + java.lang.StringGetVarName() + +
    +           
    + intGetVarNum() + +
    +           
    + voidLoadDataString() + +
    +           
    + voidLoadDataStringFile(java.io.File f) + +
    +           
    + voidLoadPackedFile(java.io.File f) + +
    +           
    + voidLoadXMLFile(java.io.File f) + +
    +           
    + voidSavePackedFile(java.io.File f) + +
    +           
    + voidSaveXMLFile(java.io.File f) + +
    +           
    + voidSelectRow(int selectedRow) + +
    +           
    + voidset_hashtable_by_id(java.util.Hashtable _hashtable_by_id) + +
    +           
    + voidsetChangeIdRunnable(java.lang.Runnable _r) + +
    +           
    + voidSetDataInfo(java.util.Enumeration e) + +
    +           
    + voidSetDefault(java.lang.String default_string) + +
    +           
    + voidsetEditable(boolean _editable) + +
    +           
    + voidsetNmlMessageDictionary(NMLMessageDictionary _nml_dict) + +
    +           
    + voidsetRecordAll(boolean _recordAll) + +
    +           
    + voidSetRowValue(int row, + java.lang.String s) + +
    +           
    + voidsetTableCellEditor(int column, + javax.swing.table.TableCellEditor _tce) + +
    +           
    + voidSetTypeInfo(StructureTypeInfo _sti, + java.util.Hashtable _ht) + +
    +           
    + voidsetValueForVarNumber(int var_number, + double value) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +WatchJPanel

    +
    +public WatchJPanel()
    +
    +
    Creates new form WatchJPanel +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +setChangeIdRunnable

    +
    +public void setChangeIdRunnable(java.lang.Runnable _r)
    +
    +
    +
    +
    +
    +
    + +

    +getTableColumnCellEditor

    +
    +public javax.swing.table.TableCellEditor getTableColumnCellEditor(int column)
    +
    +
    +
    +
    +
    +
    + +

    +setTableCellEditor

    +
    +public void setTableCellEditor(int column,
    +                               javax.swing.table.TableCellEditor _tce)
    +
    +
    +
    +
    +
    +
    + +

    +SetDefault

    +
    +public void SetDefault(java.lang.String default_string)
    +
    +
    +
    +
    +
    +
    + +

    +setValueForVarNumber

    +
    +public void setValueForVarNumber(int var_number,
    +                                 double value)
    +
    +
    +
    +
    +
    +
    + +

    +getValueStringForVarNumber

    +
    +public java.lang.String getValueStringForVarNumber(int var_number)
    +
    +
    +
    +
    +
    +
    + +

    +SetRowValue

    +
    +public void SetRowValue(int row,
    +                        java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +setEditable

    +
    +public void setEditable(boolean _editable)
    +
    +
    +
    +
    +
    +
    + +

    +addListSelectionListener

    +
    +public void addListSelectionListener(javax.swing.event.ListSelectionListener _lsl)
    +
    +
    +
    +
    +
    +
    + +

    +GetVarNum

    +
    +public int GetVarNum()
    +
    +
    +
    +
    +
    +
    + +

    +GetSelectedValue

    +
    +public java.lang.String GetSelectedValue()
    +
    +
    +
    +
    +
    +
    + +

    +GetVarName

    +
    +public java.lang.String GetVarName()
    +
    +
    +
    +
    +
    +
    + +

    +GetIsNewStruct

    +
    +public boolean GetIsNewStruct()
    +
    +
    +
    +
    +
    +
    + +

    +GetIsEnumeration

    +
    +public boolean GetIsEnumeration(int row)
    +
    +
    +
    +
    +
    +
    + +

    +getEnumTypeInfo

    +
    +public EnumTypeInfo getEnumTypeInfo(int row)
    +
    +
    +
    +
    +
    +
    + +

    +GetIsArray

    +
    +public boolean GetIsArray()
    +
    +
    +
    +
    +
    +
    + +

    +setNmlMessageDictionary

    +
    +public void setNmlMessageDictionary(NMLMessageDictionary _nml_dict)
    +
    +
    +
    +
    +
    +
    + +

    +Clear

    +
    +public void Clear()
    +
    +
    +
    +
    +
    +
    + +

    +getStructureTypeInfo

    +
    +public StructureTypeInfo getStructureTypeInfo()
    +
    +
    +
    +
    +
    +
    + +

    +SelectRow

    +
    +public void SelectRow(int selectedRow)
    +
    +
    +
    +
    +
    +
    + +

    +set_hashtable_by_id

    +
    +public void set_hashtable_by_id(java.util.Hashtable _hashtable_by_id)
    +
    +
    +
    +
    +
    +
    + +

    +SetTypeInfo

    +
    +public void SetTypeInfo(StructureTypeInfo _sti,
    +                        java.util.Hashtable _ht)
    +
    +
    +
    +
    +
    +
    + +

    +SetDataInfo

    +
    +public void SetDataInfo(java.util.Enumeration e)
    +
    +
    +
    +
    +
    +
    + +

    +getId

    +
    +public long getId()
    +
    +
    +
    +
    +
    +
    + +

    +getDataString

    +
    +public java.lang.String getDataString()
    +
    +
    +
    +
    +
    +
    + +

    +DumpText

    +
    +public void DumpText()
    +
    +
    +
    +
    +
    +
    + +

    +DumpDataStringFile

    +
    +public void DumpDataStringFile(java.io.File f,
    +                               java.lang.String data_string)
    +
    +
    +
    +
    +
    +
    + +

    +DumpDataString

    +
    +public void DumpDataString()
    +
    +
    +
    +
    +
    +
    + +

    +LoadDataString

    +
    +public void LoadDataString()
    +
    +
    +
    +
    +
    +
    + +

    +LoadDataStringFile

    +
    +public void LoadDataStringFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +LoadPackedFile

    +
    +public void LoadPackedFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +SavePackedFile

    +
    +public void SavePackedFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +LoadXMLFile

    +
    +public void LoadXMLFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +SaveXMLFile

    +
    +public void SaveXMLFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +ExpandAll

    +
    +public void ExpandAll()
    +
    +
    +
    +
    +
    +
    + +

    +CollapseAll

    +
    +public void CollapseAll()
    +
    +
    +
    +
    +
    +
    + +

    +setRecordAll

    +
    +public void setRecordAll(boolean _recordAll)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/WatchVarEditor.html b/doc/javadoc/diagapplet/utils/WatchVarEditor.html new file mode 100644 index 0000000..c33d6f6 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/WatchVarEditor.html @@ -0,0 +1,375 @@ + + + + + + +WatchVarEditor + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class WatchVarEditor

    +
    +java.lang.Object
    +  extended by javax.swing.AbstractCellEditor
    +      extended by diagapplet.utils.WatchVarEditor
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.ItemListener, java.io.Serializable, java.util.EventListener, javax.swing.CellEditor, javax.swing.table.TableCellEditor
    +
    +
    +
    +
    public class WatchVarEditor
    extends javax.swing.AbstractCellEditor
    implements javax.swing.table.TableCellEditor, java.awt.event.ActionListener, java.awt.event.ItemListener
    + + +

    +Cell Editor for the variables in WatchJPanel table. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.AbstractCellEditor
    changeEvent, listenerList
    +  + + + + + + + + + + +
    +Constructor Summary
    WatchVarEditor() + +
    +          Creates a new instance of WatchVarEditor
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidactionPerformed(java.awt.event.ActionEvent e) + +
    +           
    + java.lang.ObjectgetCellEditorValue() + +
    +           
    + java.awt.ComponentgetTableCellEditorComponent(javax.swing.JTable table, + java.lang.Object value, + boolean isSelected, + int row, + int column) + +
    +           
    + voiditemStateChanged(java.awt.event.ItemEvent e) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.AbstractCellEditor
    addCellEditorListener, cancelCellEditing, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    + + + + + + + +
    Methods inherited from interface javax.swing.CellEditor
    addCellEditorListener, cancelCellEditing, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +WatchVarEditor

    +
    +public WatchVarEditor()
    +
    +
    Creates a new instance of WatchVarEditor +

    +

    + + + + + + + + +
    +Method Detail
    + +

    +getCellEditorValue

    +
    +public java.lang.Object getCellEditorValue()
    +
    +
    +
    Specified by:
    getCellEditorValue in interface javax.swing.CellEditor
    +
    +
    +
    +
    +
    +
    + +

    +getTableCellEditorComponent

    +
    +public java.awt.Component getTableCellEditorComponent(javax.swing.JTable table,
    +                                                      java.lang.Object value,
    +                                                      boolean isSelected,
    +                                                      int row,
    +                                                      int column)
    +
    +
    +
    Specified by:
    getTableCellEditorComponent in interface javax.swing.table.TableCellEditor
    +
    +
    +
    +
    +
    +
    + +

    +actionPerformed

    +
    +public void actionPerformed(java.awt.event.ActionEvent e)
    +
    +
    +
    Specified by:
    actionPerformed in interface java.awt.event.ActionListener
    +
    +
    +
    +
    +
    +
    + +

    +itemStateChanged

    +
    +public void itemStateChanged(java.awt.event.ItemEvent e)
    +
    +
    +
    Specified by:
    itemStateChanged in interface java.awt.event.ItemListener
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/CountButton.html b/doc/javadoc/diagapplet/utils/class-use/CountButton.html new file mode 100644 index 0000000..b6d0e28 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/CountButton.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.CountButton + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.CountButton

    +
    +No usage of diagapplet.utils.CountButton +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/CountButtonInterface.html b/doc/javadoc/diagapplet/utils/class-use/CountButtonInterface.html new file mode 100644 index 0000000..9170d54 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/CountButtonInterface.html @@ -0,0 +1,124 @@ + + + + + + + +Uses of Interface diagapplet.utils.CountButtonInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.utils.CountButtonInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use CountButtonInterface
    diagapplet.CodeGen  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of CountButtonInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen that return CountButtonInterface
    + CountButtonInterfaceCodeGenCommon.get_m_hierarchyFileLoadButton() + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type CountButtonInterface
    + voidCodeGenCommon.set_m_hierarchyFileLoadButton(CountButtonInterface cbi) + +
    +           
    +  +

    + + + + + +
    +Uses of CountButtonInterface in diagapplet.utils
    +  +

    + + + + + + + + + +
    Classes in diagapplet.utils that implement CountButtonInterface
    + classCountButton + +
    +          Button with count so diagapplet can see when it has be pressed.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/CountList.html b/doc/javadoc/diagapplet/utils/class-use/CountList.html new file mode 100644 index 0000000..632ffa4 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/CountList.html @@ -0,0 +1,124 @@ + + + + + + + +Uses of Class diagapplet.utils.CountList + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.CountList

    +
    + + + + + + + + + + + + + +
    +Packages that use CountList
    diagapplet  
    rcsdesign  
    +  +

    + + + + + +
    +Uses of CountList in diagapplet
    +  +

    + + + + + + + + + +
    Fields in diagapplet declared as CountList
    +protected  CountListHierarchyPanel.modulesCountList + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type CountList
    + voidHierarchyPanel.setCountList(CountList cli) + +
    +           
    +  +

    + + + + + +
    +Uses of CountList in rcsdesign
    +  +

    + + + + + + + + + +
    Fields in rcsdesign declared as CountList
    + CountListrcsDesignGui.modulesList + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/CountListInterface.html b/doc/javadoc/diagapplet/utils/class-use/CountListInterface.html new file mode 100644 index 0000000..035b552 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/CountListInterface.html @@ -0,0 +1,132 @@ + + + + + + + +Uses of Interface diagapplet.utils.CountListInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.utils.CountListInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use CountListInterface
    diagapplet.CodeGen  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of CountListInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen that return CountListInterface
    + CountListInterfaceCodeGenCommon.get_m_modulesCountList() + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type CountListInterface
    + voidCodeGen.set_m_modulesCountList(CountListInterface lst) + +
    +          Set modulesCountList.
    + voidCodeGenCommon.set_m_modulesCountList(CountListInterface lst) + +
    +           
    +  +

    + + + + + +
    +Uses of CountListInterface in diagapplet.utils
    +  +

    + + + + + + + + + +
    Classes in diagapplet.utils that implement CountListInterface
    + classCountList + +
    +          AWT List object that counts events.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/DiagError.html b/doc/javadoc/diagapplet/utils/class-use/DiagError.html new file mode 100644 index 0000000..60691d7 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/DiagError.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.DiagError + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.DiagError

    +
    +No usage of diagapplet.utils.DiagError +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/DiagErrorAppendInterface.html b/doc/javadoc/diagapplet/utils/class-use/DiagErrorAppendInterface.html new file mode 100644 index 0000000..4b8afdb --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/DiagErrorAppendInterface.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Interface diagapplet.utils.DiagErrorAppendInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.utils.DiagErrorAppendInterface

    +
    + + + + + + + + + +
    +Packages that use DiagErrorAppendInterface
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of DiagErrorAppendInterface in diagapplet.utils
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils with parameters of type DiagErrorAppendInterface
    +static voidDiagError.AddDiagErrorAppender(DiagErrorAppendInterface deai) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/FakeFastListPanel.html b/doc/javadoc/diagapplet/utils/class-use/FakeFastListPanel.html new file mode 100644 index 0000000..e8bda3f --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/FakeFastListPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.FakeFastListPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.FakeFastListPanel

    +
    +No usage of diagapplet.utils.FakeFastListPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/FastListContainer.html b/doc/javadoc/diagapplet/utils/class-use/FastListContainer.html new file mode 100644 index 0000000..62cafc6 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/FastListContainer.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class diagapplet.utils.FastListContainer + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.FastListContainer

    +
    + + + + + + + + + +
    +Packages that use FastListContainer
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of FastListContainer in diagapplet.utils
    +  +

    + + + + + + + + + +
    Fields in diagapplet.utils declared as FastListContainer
    + FastListContainerFastListPanel.myContainer + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/FastListPanel.html b/doc/javadoc/diagapplet/utils/class-use/FastListPanel.html new file mode 100644 index 0000000..9d47671 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/FastListPanel.html @@ -0,0 +1,77 @@ + + + + + + + +Uses of Class diagapplet.utils.FastListPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.FastListPanel

    +
    + + + + + + + + + +
    +Packages that use FastListPanel
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of FastListPanel in diagapplet.utils
    +  +

    + + + + + + + + +
    Constructors in diagapplet.utils with parameters of type FastListPanel
    FastListContainer(FastListPanel internal_flpanel) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/FastListPanelInterface.html b/doc/javadoc/diagapplet/utils/class-use/FastListPanelInterface.html new file mode 100644 index 0000000..cc0e00f --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/FastListPanelInterface.html @@ -0,0 +1,231 @@ + + + + + + + +Uses of Interface diagapplet.utils.FastListPanelInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.utils.FastListPanelInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use FastListPanelInterface
    diagapplet.CodeGen  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of FastListPanelInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return FastListPanelInterface
    + FastListPanelInterfaceCodeGenCommon.get_ClassList() + +
    +           
    + FastListPanelInterfaceCodeGenCommonInterface.get_ClassList() + +
    +          Get the ClassList property.
    + FastListPanelInterfaceCodeGenCommon.get_m_modulesList() + +
    +           
    + FastListPanelInterfaceCodeGenCommonInterface.get_m_modulesList() + +
    +          Get the ModulesList property.
    + FastListPanelInterfaceCodeGenCommon.get_serversList() + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type FastListPanelInterface
    + voidCodeGenCommon.AddAlphabatizedItem(FastListPanelInterface lst, + java.lang.String item, + boolean select_it) + +
    +           
    + voidCodeGenCommon.MakeListGeneric(FastListPanelInterface lst) + +
    +           
    + voidCodeGen.set_ClassList(FastListPanelInterface flp) + +
    +          Set the ClassList.
    + voidCodeGenCommon.set_ClassList(FastListPanelInterface flp) + +
    +           
    + voidCodeGenCommonInterface.set_ClassList(FastListPanelInterface flp) + +
    +          Set the ClassList property.
    + voidCodeGenCommon.set_m_modulesList(FastListPanelInterface lst) + +
    +           
    + voidCodeGenCommonInterface.set_m_modulesList(FastListPanelInterface lst) + +
    +          Set the ModulesList property.
    + voidCodeGenCommon.set_serversList(FastListPanelInterface lst) + +
    +           
    +  +

    + + + + + +
    +Uses of FastListPanelInterface in diagapplet.utils
    +  +

    + + + + + + + + + + + + + + + + + +
    Classes in diagapplet.utils that implement FastListPanelInterface
    + classFakeFastListPanel + +
    +          Tracks the same data as FastListPane without any actual display.
    + classFastListPanel + +
    +          AWT Panel that was used as replacement for AWT List as it could be updated faster than the + older AWT List implementation.
    + classJListFastListPanel + +
    +          Swing version of FastListPanel
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/ImageJFrame.html b/doc/javadoc/diagapplet/utils/class-use/ImageJFrame.html new file mode 100644 index 0000000..15d85c6 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/ImageJFrame.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.ImageJFrame + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.ImageJFrame

    +
    +No usage of diagapplet.utils.ImageJFrame +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/ImageJPanel.html b/doc/javadoc/diagapplet/utils/class-use/ImageJPanel.html new file mode 100644 index 0000000..b87017f --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/ImageJPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.ImageJPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.ImageJPanel

    +
    +No usage of diagapplet.utils.ImageJPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/JListFastListPanel.html b/doc/javadoc/diagapplet/utils/class-use/JListFastListPanel.html new file mode 100644 index 0000000..6c2b111 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/JListFastListPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.JListFastListPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.JListFastListPanel

    +
    +No usage of diagapplet.utils.JListFastListPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/ModifiedFileDialog.html b/doc/javadoc/diagapplet/utils/class-use/ModifiedFileDialog.html new file mode 100644 index 0000000..437cf7d --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/ModifiedFileDialog.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.ModifiedFileDialog + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.ModifiedFileDialog

    +
    +No usage of diagapplet.utils.ModifiedFileDialog +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/SaveImage.BAYER_PATTERN.html b/doc/javadoc/diagapplet/utils/class-use/SaveImage.BAYER_PATTERN.html new file mode 100644 index 0000000..ef44ee2 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/SaveImage.BAYER_PATTERN.html @@ -0,0 +1,118 @@ + + + + + + + +Uses of Class diagapplet.utils.SaveImage.BAYER_PATTERN + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.SaveImage.BAYER_PATTERN

    +
    + + + + + + + + + +
    +Packages that use SaveImage.BAYER_PATTERN
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of SaveImage.BAYER_PATTERN in diagapplet.utils
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.utils that return SaveImage.BAYER_PATTERN
    +static SaveImage.BAYER_PATTERNSaveImage.BAYER_PATTERN.valueOf(java.lang.String name) + +
    +          Returns the enum constant of this type with the specified name.
    +static SaveImage.BAYER_PATTERN[]SaveImage.BAYER_PATTERN.values() + +
    +          Returns an array containing the constants of this enum type, in +the order they are declared.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.utils with parameters of type SaveImage.BAYER_PATTERN
    +static byte[]SaveImage.bayer_NearestNeighbor(byte[] bayer, + int width, + int height, + SaveImage.BAYER_PATTERN pattern) + +
    +           
    +static java.awt.image.BufferedImageSaveImage.BayerByteArrayToImage(byte[] bayer_ba, + int width, + int height, + SaveImage.BAYER_PATTERN pattern) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/SaveImage.html b/doc/javadoc/diagapplet/utils/class-use/SaveImage.html new file mode 100644 index 0000000..c1edfa2 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/SaveImage.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.SaveImage + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.SaveImage

    +
    +No usage of diagapplet.utils.SaveImage +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/StandAloneApplet.html b/doc/javadoc/diagapplet/utils/class-use/StandAloneApplet.html new file mode 100644 index 0000000..9c9f939 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/StandAloneApplet.html @@ -0,0 +1,116 @@ + + + + + + + +Uses of Class diagapplet.utils.StandAloneApplet + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.StandAloneApplet

    +
    + + + + + + + + + + + + + +
    +Packages that use StandAloneApplet
    diagapplet.utils  
    rcsdesign  
    +  +

    + + + + + +
    +Uses of StandAloneApplet in diagapplet.utils
    +  +

    + + + + + + + + + +
    Fields in diagapplet.utils declared as StandAloneApplet
    +static StandAloneAppletCountList.parent_applet + +
    +           
    +  +

    + + + + + +
    +Uses of StandAloneApplet in rcsdesign
    +  +

    + + + + + + + + + + + + + +
    Subclasses of StandAloneApplet in rcsdesign
    + classrcsDesign + +
    +          Main class for RCS Design tool.
    + classrcsDesignGui + +
    +          Graphical base class for RCS Design tool.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoJPanel.html b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoJPanel.html new file mode 100644 index 0000000..c1c4a89 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoJPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.URLLoadInfoJPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.URLLoadInfoJPanel

    +
    +No usage of diagapplet.utils.URLLoadInfoJPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanel.html b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanel.html new file mode 100644 index 0000000..72bd9b6 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.URLLoadInfoPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.URLLoadInfoPanel

    +
    +No usage of diagapplet.utils.URLLoadInfoPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanelInterface.html b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanelInterface.html new file mode 100644 index 0000000..2040c5f --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/URLLoadInfoPanelInterface.html @@ -0,0 +1,202 @@ + + + + + + + +Uses of Interface diagapplet.utils.URLLoadInfoPanelInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    diagapplet.utils.URLLoadInfoPanelInterface

    +
    + + + + + + + + + + + + + + + + + +
    +Packages that use URLLoadInfoPanelInterface
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    +  +

    + + + + + +
    +Uses of URLLoadInfoPanelInterface in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type URLLoadInfoPanelInterface
    + voidHierarchyPanel.FindAllParents(java.util.Hashtable modulesHashTable, + URLLoadInfoPanelInterface loadingPanel) + +
    +           
    +  +

    + + + + + +
    +Uses of URLLoadInfoPanelInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as URLLoadInfoPanelInterface
    + URLLoadInfoPanelInterfaceModuleInfo.m_loadingPanel + +
    +           
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen that return URLLoadInfoPanelInterface
    + URLLoadInfoPanelInterfaceCodeGenCommon.get_m_loadingPanel() + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type URLLoadInfoPanelInterface
    + voidCodeGen.set_m_loadingPanel(URLLoadInfoPanelInterface lp) + +
    +          Set the loadingPanel.
    + voidCodeGenCommon.set_m_loadingPanel(URLLoadInfoPanelInterface lp) + +
    +           
    +  +

    + + + + + +
    +Uses of URLLoadInfoPanelInterface in diagapplet.utils
    +  +

    + + + + + + + + + + + + + +
    Classes in diagapplet.utils that implement URLLoadInfoPanelInterface
    + classURLLoadInfoJPanel + +
    +          Swing JPanel used for displaying progress while loading a URL/File.
    + classURLLoadInfoPanel + +
    +          AWT Panel for displaying progress while loading a URL.
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils that return URLLoadInfoPanelInterface
    + URLLoadInfoPanelInterfaceURlLoadInfoFrame.get_uRLLoadInfoPanel() + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/URlLoadInfoFrame.html b/doc/javadoc/diagapplet/utils/class-use/URlLoadInfoFrame.html new file mode 100644 index 0000000..00640a2 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/URlLoadInfoFrame.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.URlLoadInfoFrame + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.URlLoadInfoFrame

    +
    +No usage of diagapplet.utils.URlLoadInfoFrame +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/WatchJPanel.html b/doc/javadoc/diagapplet/utils/class-use/WatchJPanel.html new file mode 100644 index 0000000..439d501 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/WatchJPanel.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.WatchJPanel + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.WatchJPanel

    +
    +No usage of diagapplet.utils.WatchJPanel +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/WatchVarEditor.html b/doc/javadoc/diagapplet/utils/class-use/WatchVarEditor.html new file mode 100644 index 0000000..c8ffd0e --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/WatchVarEditor.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.WatchVarEditor + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.WatchVarEditor

    +
    +No usage of diagapplet.utils.WatchVarEditor +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/class-use/fullScreenJPanelClass.html b/doc/javadoc/diagapplet/utils/class-use/fullScreenJPanelClass.html new file mode 100644 index 0000000..27b9636 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/class-use/fullScreenJPanelClass.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class diagapplet.utils.fullScreenJPanelClass + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    diagapplet.utils.fullScreenJPanelClass

    +
    +No usage of diagapplet.utils.fullScreenJPanelClass +

    +


    + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/fullScreenJPanelClass.html b/doc/javadoc/diagapplet/utils/fullScreenJPanelClass.html new file mode 100644 index 0000000..99651d1 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/fullScreenJPanelClass.html @@ -0,0 +1,402 @@ + + + + + + +fullScreenJPanelClass + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +diagapplet.utils +
    +Class fullScreenJPanelClass

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by javax.swing.JComponent
    +              extended by javax.swing.JPanel
    +                  extended by diagapplet.utils.fullScreenJPanelClass
    +
    +
    +
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    +
    +
    +
    +
    public class fullScreenJPanelClass
    extends javax.swing.JPanel
    + + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JPanel
    javax.swing.JPanel.AccessibleJPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class javax.swing.JComponent
    javax.swing.JComponent.AccessibleJComponent
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class javax.swing.JComponent
    accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    fullScreenJPanelClass() + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + voidpaintComponent(java.awt.Graphics g) + +
    +           
    + voidSetImage(java.awt.image.BufferedImage _img_in) + +
    +           
    + + + + + + + +
    Methods inherited from class javax.swing.JPanel
    getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
    + + + + + + + +
    Methods inherited from class javax.swing.JComponent
    addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +fullScreenJPanelClass

    +
    +public fullScreenJPanelClass()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +SetImage

    +
    +public void SetImage(java.awt.image.BufferedImage _img_in)
    +
    +
    +
    +
    +
    +
    + +

    +paintComponent

    +
    +public void paintComponent(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paintComponent in class javax.swing.JComponent
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/package-frame.html b/doc/javadoc/diagapplet/utils/package-frame.html new file mode 100644 index 0000000..b70a98b --- /dev/null +++ b/doc/javadoc/diagapplet/utils/package-frame.html @@ -0,0 +1,96 @@ + + + + + + +diagapplet.utils + + + + + + + + + + + +diagapplet.utils + + + + +
    +Interfaces  + +
    +CountButtonInterface +
    +CountListInterface +
    +DiagErrorAppendInterface +
    +FastListPanelInterface +
    +URLLoadInfoPanelInterface
    + + + + + + +
    +Classes  + +
    +CountButton +
    +CountList +
    +DiagError +
    +FakeFastListPanel +
    +FastListContainer +
    +FastListPanel +
    +fullScreenJPanelClass +
    +ImageJFrame +
    +ImageJPanel +
    +JListFastListPanel +
    +ModifiedFileDialog +
    +SaveImage +
    +StandAloneApplet +
    +URlLoadInfoFrame +
    +URLLoadInfoJPanel +
    +URLLoadInfoPanel +
    +WatchJPanel +
    +WatchVarEditor
    + + + + + + +
    +Enums  + +
    +SaveImage.BAYER_PATTERN
    + + + + diff --git a/doc/javadoc/diagapplet/utils/package-summary.html b/doc/javadoc/diagapplet/utils/package-summary.html new file mode 100644 index 0000000..5d41be9 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/package-summary.html @@ -0,0 +1,272 @@ + + + + + + +diagapplet.utils + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package diagapplet.utils +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Interface Summary
    CountButtonInterfaceInterface for CountButton
    CountListInterfaceInterface to CountList
    DiagErrorAppendInterfaceAn interface that connects DiagError to the diagnostics tool.
    FastListPanelInterfaceCommon interface to FastListPanel and FakeFastListPanel.
    URLLoadInfoPanelInterfaceCommon interface to the Swing and AWT Panels for displaying progress while loading + a URL/File.
    +  + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    CountButtonButton with count so diagapplet can see when it has be pressed.
    CountListAWT List object that counts events.
    DiagErrorClass that should be used so that errors are visible in diag error log text area.
    FakeFastListPanelTracks the same data as FastListPane without any actual display.
    FastListContainerContainer that adds scrollbars to FastListPanel.
    FastListPanelAWT Panel that was used as replacement for AWT List as it could be updated faster than the + older AWT List implementation.
    fullScreenJPanelClass 
    ImageJFrameA swing Jframe that adds controls to an ImageJPanel to display + scale, and cycle through a set of images.
    ImageJPanelSwing JPanel that displays an image inside a scrollpane.
    JListFastListPanelSwing version of FastListPanel
    ModifiedFileDialogCustom AWT File Dialog to select a file.
    SaveImageSet of utilities for saving images.
    StandAloneAppletWrapper that allows a class to be run as an applet or standalone outside a browser.
    URlLoadInfoFrameSwing JFrame that includes only a URLLoadInfoJPanel for + displaying progress while loading a URL or file.
    URLLoadInfoJPanelSwing JPanel used for displaying progress while loading a URL/File.
    URLLoadInfoPanelAWT Panel for displaying progress while loading a URL.
    WatchJPanelSwing JPanel that replaces FastListPanel in newer diagnostics tools for + displaying lists of variables in hierarchical structures.
    WatchVarEditorCell Editor for the variables in WatchJPanel table.
    +  + +

    + + + + + + + + + +
    +Enum Summary
    SaveImage.BAYER_PATTERN 
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/package-tree.html b/doc/javadoc/diagapplet/utils/package-tree.html new file mode 100644 index 0000000..ad93236 --- /dev/null +++ b/doc/javadoc/diagapplet/utils/package-tree.html @@ -0,0 +1,213 @@ + + + + + + +diagapplet.utils Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package diagapplet.utils +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    +
      +
    • java.lang.Object
        +
      • javax.swing.AbstractCellEditor (implements javax.swing.CellEditor, java.io.Serializable) +
          +
        • diagapplet.utils.WatchVarEditor (implements java.awt.event.ActionListener, java.awt.event.ItemListener, javax.swing.table.TableCellEditor) +
        +
      • java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable) +
          +
        • java.awt.Button (implements javax.accessibility.Accessible) + +
        • java.awt.Container
            +
          • javax.swing.JComponent (implements java.io.Serializable) + +
          • java.awt.Panel (implements javax.accessibility.Accessible) + +
          • java.awt.Window (implements javax.accessibility.Accessible) +
              +
            • java.awt.Dialog
                +
              • diagapplet.utils.ModifiedFileDialog (implements java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.WindowListener) +
              +
            • java.awt.Frame (implements java.awt.MenuContainer) +
                +
              • javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants) + +
              +
            +
          +
        • java.awt.List (implements javax.accessibility.Accessible, java.awt.ItemSelectable) + +
        +
      • diagapplet.utils.DiagError
      • diagapplet.utils.FakeFastListPanel (implements diagapplet.utils.FastListPanelInterface) +
      • diagapplet.utils.JListFastListPanel (implements diagapplet.utils.FastListPanelInterface) +
      • diagapplet.utils.SaveImage
      +
    +

    +Interface Hierarchy +

    + +

    +Enum Hierarchy +

    +
      +
    • java.lang.Object
        +
      • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
      +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/diagapplet/utils/package-use.html b/doc/javadoc/diagapplet/utils/package-use.html new file mode 100644 index 0000000..1fd330c --- /dev/null +++ b/doc/javadoc/diagapplet/utils/package-use.html @@ -0,0 +1,208 @@ + + + + + + + +Uses of Package diagapplet.utils + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    diagapplet.utils

    +
    + + + + + + + + + + + + + + + + + + + + + +
    +Packages that use diagapplet.utils
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    rcsdesign  
    +  +

    + + + + + + + + + + + +
    +Classes in diagapplet.utils used by diagapplet
    CountList + +
    +          AWT List object that counts events.
    URLLoadInfoPanelInterface + +
    +          Common interface to the Swing and AWT Panels for displaying progress while loading + a URL/File.
    +  +

    + + + + + + + + + + + + + + + + + +
    +Classes in diagapplet.utils used by diagapplet.CodeGen
    CountButtonInterface + +
    +          Interface for CountButton
    CountListInterface + +
    +          Interface to CountList
    FastListPanelInterface + +
    +          Common interface to FastListPanel and FakeFastListPanel.
    URLLoadInfoPanelInterface + +
    +          Common interface to the Swing and AWT Panels for displaying progress while loading + a URL/File.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Classes in diagapplet.utils used by diagapplet.utils
    CountButtonInterface + +
    +          Interface for CountButton
    CountListInterface + +
    +          Interface to CountList
    DiagErrorAppendInterface + +
    +          An interface that connects DiagError to the diagnostics tool.
    FastListContainer + +
    +          Container that adds scrollbars to FastListPanel.
    FastListPanel + +
    +          AWT Panel that was used as replacement for AWT List as it could be updated faster than the + older AWT List implementation.
    FastListPanelInterface + +
    +          Common interface to FastListPanel and FakeFastListPanel.
    SaveImage.BAYER_PATTERN + +
    +           
    StandAloneApplet + +
    +          Wrapper that allows a class to be run as an applet or standalone outside a browser.
    URLLoadInfoPanelInterface + +
    +          Common interface to the Swing and AWT Panels for displaying progress while loading + a URL/File.
    +  +

    + + + + + + + + + + + +
    +Classes in diagapplet.utils used by rcsdesign
    CountList + +
    +          AWT List object that counts events.
    StandAloneApplet + +
    +          Wrapper that allows a class to be run as an applet or standalone outside a browser.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/help-doc.html b/doc/javadoc/help-doc.html new file mode 100644 index 0000000..c756831 --- /dev/null +++ b/doc/javadoc/help-doc.html @@ -0,0 +1,217 @@ + + + + + + +API Help + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +How This API Document Is Organized

    +
    +This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

    +Overview

    +
    + +

    +The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    +

    +Package

    +
    + +

    +Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

      +
    • Interfaces (italic)
    • Classes
    • Enums
    • Exceptions
    • Errors
    • Annotation Types
    +
    +

    +Class/Interface

    +
    + +

    +Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      +
    • Class inheritance diagram
    • Direct Subclasses
    • All Known Subinterfaces
    • All Known Implementing Classes
    • Class/interface declaration
    • Class/interface description +

      +

    • Nested Class Summary
    • Field Summary
    • Constructor Summary
    • Method Summary +

      +

    • Field Detail
    • Constructor Detail
    • Method Detail
    +Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
    + +

    +Annotation Type

    +
    + +

    +Each annotation type has its own separate page with the following sections:

      +
    • Annotation Type declaration
    • Annotation Type description
    • Required Element Summary
    • Optional Element Summary
    • Element Detail
    +
    + +

    +Enum

    +
    + +

    +Each enum has its own separate page with the following sections:

      +
    • Enum declaration
    • Enum description
    • Enum Constant Summary
    • Enum Constant Detail
    +
    +

    +Tree (Class Hierarchy)

    +
    +There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
      +
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    +
    +

    +Deprecated API

    +
    +The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
    +

    +Index

    +
    +The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
    +

    +Prev/Next

    +These links take you to the next or previous class, interface, package, or related page.

    +Frames/No Frames

    +These links show and hide the HTML frames. All pages are available with or without frames. +

    +

    +Serialized Form

    +Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

    +

    +Constant Field Values

    +The Constant Field Values page lists the static final fields and their values. +

    + + +This help file applies to API documentation generated using the standard doclet. + +
    +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/index-all.html b/doc/javadoc/index-all.html new file mode 100644 index 0000000..bf70d96 --- /dev/null +++ b/doc/javadoc/index-all.html @@ -0,0 +1,9548 @@ + + + + + + +Index + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +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
    +

    +A

    +
    +
    a - +Variable in class rcs.posemath.PM_XYA +
      +
    accept(File, String) - +Method in class rcs.utils.SimpleFileFilter +
      +
    actionPerformed(ActionEvent) - +Method in class diagapplet.CodeGen.CodeGen +
      +
    actionPerformed(ActionEvent) - +Method in class diagapplet.utils.CountButton +
      +
    actionPerformed(ActionEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    actionPerformed(ActionEvent) - +Method in class diagapplet.utils.WatchVarEditor +
      +
    actionPerformed(ActionEvent) - +Method in class rcsdesign.rcsDesign +
      +
    add(String) - +Method in interface diagapplet.utils.CountListInterface +
      +
    add(String) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    add(String, int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    add(String, int, int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    add(String) - +Method in class diagapplet.utils.FastListPanel +
      +
    add(String, int) - +Method in class diagapplet.utils.FastListPanel +
      +
    add(String, int, int) - +Method in class diagapplet.utils.FastListPanel +
      +
    add(String) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    add(String, int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    add(String, int, int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    add(String) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    add(String, int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    add(String, int, int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    add(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    add(PmCartesian) - +Method in class rcs.posemath.PmCartesian +
      +
    add(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    add(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    add_array_indexes_to_name - +Variable in class rcs.nml.NMLFormatConverter +
      +
    add_process_line(String, String) - +Method in class rcs.nml.NMLBufferConfigInfo +
      +
    add_to_key - +Variable in class diagapplet.plotter.PlotData +
      +
    add_to_output_string(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    add_to_output_string(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    add_to_short_key - +Variable in class diagapplet.plotter.PlotData +
      +
    addActionListener(ActionListener) - +Method in class diagapplet.utils.FastListPanel +
      +
    AddAllAuxMessages() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddAllAuxMessages() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
      +
    AddAllAuxMessagesFromHeader() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddAlphabatizedItem(FastListPanelInterface, String, boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    AddArrayPlot(PlotData, String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    addAuxAvailableMessageFilter(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddAuxBufferModule(String, String, String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    AddAuxBufferModule(String, String, String) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Adds Information related to an auxilliary buffer. +
    AddAuxInput(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddAuxInputType(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddAuxOutput(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    addClearActionListener(ActionListener) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddCmdLineDefaultValue(String, String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddDCmdOption(String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddDefaultTypes() - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddDeleteActionListener(ActionListener) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddDiagErrorAppender(DiagErrorAppendInterface) - +Static method in class diagapplet.utils.DiagError +
      +
    addExcludedIncludePattern(String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddExtraHeader(String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    AddHeader(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    addIncludeField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addIncludeLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    adding_aux_channel - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    addItemListener(ItemListener) - +Method in class diagapplet.utils.FastListPanel +
      +
    addLibField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addLibLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    addListSelectionListener(ListSelectionListener) - +Method in class diagapplet.utils.WatchJPanel +
      +
    addmainLoopField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addmainLoopLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    AddMark(byte, byte, byte, int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    addModuleField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addModuleLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    AddNMLErrorAppender(NMLErrorAppender) - +Static method in class rcs.nml.NMLConnection +
    Add an opject to be called with each error to append messages. +
    AddOpenStructure(String) - +Method in class diagapplet.utils.FastListPanel +
      +
    AddPaintablePanelMouseListener(MouseListener) - +Method in class diagapplet.utils.ImageJPanel +
      +
    AddPaintablePanelMouseMotionListener(MouseMotionListener) - +Method in class diagapplet.utils.ImageJPanel +
      +
    addPlatField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addPlatLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    AddPlot(PlotData, String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    AddPlot(PlotData) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    AddPlot(PlotData, String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddPlot(PlotData) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddPlot(PlotData) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    addPlotPoint(PlotPoint) - +Method in class diagapplet.plotter.PlotData +
      +
    AddPointToArrayPlot(PlotData, int, double, double, double, double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    AddPointToArrayPlot(PlotData, int, double) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddPointToArrayPlot(PlotData, int, double) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    AddPointToPlot(PlotData, double, double, boolean, double, double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    AddPointToPlot(PlotData, double, double, boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddPointToPlot(PlotData, double, double, boolean, double, double) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    AddPointToPlot(PlotData, double, double, boolean) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    AddRunOnSelecteRectChange(Runnable) - +Method in class diagapplet.utils.ImageJPanel +
      +
    addServerField - +Variable in class rcsdesign.rcsDesignGui +
      +
    addServerLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    AddToBufferList(String) - +Method in class rcsdesign.rcsDesign +
      +
    AddToSearchPath(String) - +Static method in class rcs.utils.URL_and_FileLoader +
      +
    AddX(double) - +Method in class diagapplet.plotter.PlotData +
      +
    adjustmentValueChanged(AdjustmentEvent) - +Method in class diagapplet.utils.FastListContainer +
      +
    adjustmentValueChanged(AdjustmentEvent) - +Method in class rcsdesign.rcsDesign +
      +
    ADMIN_INITIALIZED - +Static variable in class rcs.utils.rcs_states +
      +
    ADMIN_SHUT_DOWN - +Static variable in class rcs.utils.rcs_states +
      +
    admin_state - +Variable in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    ADMIN_UNINITIALIZED - +Static variable in class rcs.utils.rcs_states +
      +
    Alert(String) - +Method in class rcsdesign.rcsDesignGui +
      +
    align(int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    align(int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    align_bytes - +Static variable in class rcs.nml.PackedFormatConverter +
      +
    align_bytes - +Static variable in class rcs.nml.XDRFormatConverter +
      +
    align_bytes - +Static variable in class rcs.nml.XMLFormatConverter +
      +
    AllAuxChannels - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    always_update_cmd_msg - +Variable in class rcs.nml.NMLFormatConverter +
      +
    always_update_stat_msg - +Variable in class rcs.nml.NMLFormatConverter +
      +
    angle - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    angle - +Variable in class rcs.posemath.PmCircle +
      +
    ANGLE_DEGREE_UNITS - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    angle_lines - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    ANGLE_RAD_UNITS - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    ANGLE_RADPI_UNITS - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    angle_unit_type - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    anonymous_enum_number - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    appdirField - +Variable in class rcsdesign.rcsDesignGui +
      +
    appdirLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    append_includePath(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    AppendError(String) - +Method in interface diagapplet.utils.DiagErrorAppendInterface +
      +
    AppendError(String) - +Method in interface rcs.nml.NMLErrorAppender +
      +
    application_type - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    apply_absolute_value - +Variable in class diagapplet.plotter.plotter_NB_UI +
      +
    appnameField - +Variable in class rcsdesign.rcsDesignGui +
      +
    appnameLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    array_type - +Variable in class diagapplet.plotter.PlotData +
      +
    array_val - +Variable in class rcs.nml.NMLFormatConverter +
      +
    arrayLengthTooLong - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    auto_align - +Static variable in class rcs.nml.PackedFormatConverter +
      +
    auto_align - +Static variable in class rcs.nml.XDRFormatConverter +
      +
    auto_align - +Static variable in class rcs.nml.XMLFormatConverter +
      +
    auto_checkin - +Variable in class rcsdesign.rcsDesignGui +
      +
    auto_checkout - +Variable in class rcsdesign.rcsDesignGui +
      +
    autoCheckInCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    autoCheckOutCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    Automatically_Keep_and_Use_PlotSets - +Variable in class diagapplet.diag_NB_UI +
      +
    Automatically_Keep_and_Use_PlotSets - +Variable in class diagapplet.diagPreserve +
      +
    autoname() - +Method in class rcs.nml.XMLFormatConverter +
      +
    AutoSavePlotSet() - +Method in class diagapplet.diag_NB_UI +
      +
    aux_type_files - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    AuxAvailableMessageFilters - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    auxBufferPreserve - Class in diagapplet
    Stores all of the information related to one auxBuffer in the hierarchy + kept between sessions by the diagnostics tool.
    auxBufferPreserve() - +Constructor for class diagapplet.auxBufferPreserve +
    Creates a new instance of auxBufferPreserve +
    AuxInputNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    auxMessages - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    AuxOutputNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    AuxUpdateEveryCycleNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    available() - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    avg - +Variable in class rcs.nml.time_tracker +
    Average difference in time between consecutive calls to cycle(). +
    axis_color - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    +
    +

    +B

    +
    +
    back_color - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    bad_host - +Variable in class rcs.nml.NMLConnection +
      +
    bad_simple_long_math - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    bad_token - +Static variable in class rcs.utils.StrToInt +
      +
    bad_token - +Static variable in class rcs.utils.StrToLong +
      +
    base_class_name - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    baseClassChildrenNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    baseClassCmdsTypeFile - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    baseClassName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    baseClassStatsTypeFile - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    baseModuleName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    bayer_NearestNeighbor(byte[], int, int, SaveImage.BAYER_PATTERN) - +Static method in class diagapplet.utils.SaveImage +
      +
    BayerByteArrayToImage(byte[], int, int, SaveImage.BAYER_PATTERN) - +Static method in class diagapplet.utils.SaveImage +
      +
    BayerByteArrayToImage(byte[], int, int) - +Static method in class diagapplet.utils.SaveImage +
      +
    beginBaseClass(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    beginBaseClass(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    beginBaseClass(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    beginClass(String, String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    beginClass(String, String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    beginClass(String, String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    beginClassArrayElem(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    beginClassArrayElem(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    beginClassArrayElem(String, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    beginClassVar(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    beginClassVar(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    beginClassVar(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    browserCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    browserCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    buffer_configurations - +Variable in class rcs.nml.NMLConfigInfo +
      +
    buffer_line - +Variable in class rcs.nml.NMLBufferConfigInfo +
      +
    buffer_line - +Variable in exception rcs.nml.NMLException +
      +
    buffer_name - +Variable in class rcs.nml.NMLBufferConfigInfo +
      +
    buffer_name - +Variable in exception rcs.nml.NMLException +
    The buffer name of the NMLConnection that was being used, + when the exception was thrown. +
    BufferInfo - Class in diagapplet.CodeGen
    Stores referencees to all of the information needed by the Design or Diagnostics tools + related to a single NML Buffer.
    BufferInfo() - +Constructor for class diagapplet.CodeGen.BufferInfo +
      +
    bufferline_headers_checked - +Variable in class diagapplet.CodeGen.BufferInfo +
      +
    bufferNames - +Variable in class diagapplet.CodeGen.ServerInfo +
      +
    bufName - +Variable in class rcs.nml.NMLFormatConverter +
      +
    bufsInServerLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    bufsInServerList - +Variable in class rcsdesign.rcsDesignGui +
      +
    ByteArrayToImage(byte[], int, int) - +Static method in class diagapplet.utils.SaveImage +
      +
    bytes_in_input_stream - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    bytes_in_input_stream_known - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    bytes_not_used_warning_given - +Variable in class rcs.nml.NMLFormatConverter +
      +
    bytes_read - +Variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    bytes_read - +Variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    bytes_read - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    bytesNotUsed(int, String, boolean) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    bytesNotUsed(int, String, boolean) - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Used to log a warning message if the dictionary results do not + match the expected input. +
    bytesNotUsed(NMLMessageDictionary, int, String, boolean) - +Method in interface rcs.nml.NMLFormatConvertErrCallbackInterface +
      +
    +
    +

    +C

    +
    +
    c_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    c_prototypes_header_string - +Variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    c_struct_redefined - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    C_UpdateFunction - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    cancel - +Variable in class diagapplet.utils.ModifiedFileDialog +
      +
    cancelUDPSubscription() - +Method in class rcs.nml.NMLConnection +
      +
    canShutdown() - +Method in class diagapplet.utils.StandAloneApplet +
      +
    canShutdown() - +Method in class rcsdesign.rcsDesign +
      +
    CART_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    cartListToMagArray(List<? extends PM_CARTESIAN>) - +Static method in class rcs.posemath.Posemath +
      +
    center - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    center - +Variable in class rcs.posemath.PmCircle +
      +
    centroid(PM_CARTESIAN[]) - +Static method in class rcs.posemath.Posemath +
      +
    centroid(List<? extends PM_CARTESIAN>) - +Static method in class rcs.posemath.Posemath +
      +
    ChannelInfo - Class in diagapplet.CodeGen
    Information needed by the RCS Design tool related to a single NML channel.
    ChannelInfo() - +Constructor for class diagapplet.CodeGen.ChannelInfo +
      +
    channelsHashtable - +Variable in class diagapplet.CodeGen.BufferInfo +
    Hashtable matching module Names to ChannelInfo objects associated with this buffer. +
    CHECK_IN_FILES - +Static variable in class rcsdesign.rcsDesign +
      +
    check_type_info(NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverter +
      +
    check_type_info(NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    check_type_info(NML_ENUM_INFO) - +Method in class rcs.nml.XMLFormatConverter +
      +
    check_unsigneds - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    checkComboBoxFunc(int) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    CheckForCppClass(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CheckForCppEnum(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CheckForCppPosemathClass(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CheckForJavaClass(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CheckForJavaStatic(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CheckInAllFiles() - +Method in class rcsdesign.rcsDesign +
      +
    CheckIncludedFile(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    checkInCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    checkInCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    checkInEverythingButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    CheckInFile(File) - +Method in class rcsdesign.rcsDesign +
      +
    CheckInFile(File) - +Method in class rcsdesign.rcsDesignGui +
      +
    CheckInSearchPath(String) - +Static method in class rcs.utils.URL_and_FileLoader +
      +
    checkOutCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    checkOutCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    CheckOutFile(File) - +Method in class rcsdesign.rcsDesign +
      +
    CheckOutFile(File) - +Method in class rcsdesign.rcsDesignGui +
      +
    CheckPatternMatch(String, String) - +Static method in class rcs.utils.SimpleFileFilter +
      +
    CheckPoint(PlotPoint) - +Method in class diagapplet.plotter.PlotData +
      +
    CheckRecalcPlots() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    children_names - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    class_name - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    class_var_name - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    classVarArrayIndex - +Variable in class rcs.nml.NMLFormatConverter +
      +
    cleanup() - +Method in class diagapplet.utils.StandAloneApplet +
      +
    CLEANUP - +Static variable in class rcsdesign.rcsDesign +
      +
    cleanup() - +Method in class rcsdesign.rcsDesign +
      +
    cleanup_in_background() - +Method in class rcsdesign.rcsDesign +
      +
    clear() - +Method in class diagapplet.HierarchyPanel +
      +
    Clear() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    Clear() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    clear() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    clear() - +Method in class diagapplet.utils.FastListPanel +
      +
    clear() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    clear() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    Clear() - +Method in class diagapplet.utils.WatchJPanel +
      +
    clear_v() - +Method in class diagapplet.plotter.PlotData +
      +
    ClearAll() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    ClearAllData() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ClearCenterPosition() - +Method in class diagapplet.utils.ImageJPanel +
      +
    ClearErrorAppendersList() - +Static method in class diagapplet.utils.DiagError +
      +
    ClearImage() - +Method in class diagapplet.utils.ImageJPanel +
      +
    ClearMarks() - +Method in class diagapplet.utils.ImageJPanel +
      +
    ClearStaticData() - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    ClearStaticData() - +Static method in class rcs.nml.NMLConnection +
    Clear any data saved from previously read configuration files. +
    clone() - +Method in class rcs.nml.NMLmsg +
      +
    clone() - +Method in class rcs.nml.time_tracker +
      +
    clone() - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    clone() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    clone() - +Method in class rcs.posemath.PM_LINE +
      +
    clone() - +Method in class rcs.posemath.PM_POSE +
      +
    clone() - +Method in class rcs.posemath.PM_QUATERNION +
      +
    clone() - +Method in class rcs.posemath.PM_ROTATION_VECTOR +
      +
    clone() - +Method in class rcs.posemath.PM_RPY +
      +
    clone() - +Method in class rcs.posemath.PM_XYA +
      +
    clone() - +Method in class rcs.posemath.PmCartesian +
      +
    clone() - +Method in class rcs.posemath.PmPose +
      +
    clone() - +Method in class rcs.posemath.PmQuaternion +
      +
    clone() - +Method in class rcs.posemath.PmRotationVector +
      +
    clone() - +Method in class rcs.posemath.PmRpy +
      +
    close() - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    close() - +Method in class rcs.utils.CorrectedPipedOutputStream +
      +
    close() - +Method in class rcs.utils.URL_and_FileLoader +
      +
    closeSingleVarLog(int) - +Method in class rcs.nml.NMLConnection +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +
    closeSingleVarLog(int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +
    cmd_has_been_plotted - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmd_msg_type - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmd_msg_updated - +Variable in class rcs.nml.NMLFormatConverter +
      +
    cmd_name_exclude_pattern - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmd_name_pattern - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmd_plotting_variables - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdData - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdFormatFunction - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdsAdded - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdsAvailable - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdsAvailHashtable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdsBaseClass - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cmdsTypeFile - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    CMS_CHECK_IF_READ_ACCESS - +Static variable in class rcs.nml.NMLConnection +
      +
    CMS_DATE - Class in rcs.nml
    Date structure wih built in NML update and + a special update format for XML.
    CMS_DATE() - +Constructor for class rcs.nml.CMS_DATE +
      +
    CMS_DATE(String) - +Constructor for class rcs.nml.CMS_DATE +
      +
    CMS_PEEK_ACCESS - +Static variable in class rcs.nml.NMLConnection +
      +
    CMS_READ_ACCESS - +Static variable in class rcs.nml.NMLConnection +
      +
    CMS_TIME - Class in rcs.nml
    Date structure wih built in NML update and + a special update format for XML.
    CMS_TIME() - +Constructor for class rcs.nml.CMS_TIME +
      +
    CMS_TIME(String) - +Constructor for class rcs.nml.CMS_TIME +
      +
    CMS_WRITE_ACCESS - +Static variable in class rcs.nml.NMLConnection +
      +
    CMS_WRITE_IF_READ_ACCESS - +Static variable in class rcs.nml.NMLConnection +
      +
    CodeGen - Class in diagapplet.CodeGen
    Main Class for applet CodeGen only needed for Graphical CodeGen and RCS Design Tool.
    CodeGen() - +Constructor for class diagapplet.CodeGen.CodeGen +
      +
    codegen_generate_format_only - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    codegen_select_from_all_files - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    CodeGenCmdLine - Class in diagapplet.CodeGen
    The command line only version of the CodeGenerator and generally newer preferred + method of creating format/update functions.
    CodeGenCmdLine() - +Constructor for class diagapplet.CodeGen.CodeGenCmdLine +
      +
    CodeGenCommon - Class in diagapplet.CodeGen
    Parses NML C++ header files and .gen files to generate C++ format and update functions, + C,Java, and Ada class definitions and information for the Diagnostics and + Design tools.
    CodeGenCommon() - +Constructor for class diagapplet.CodeGen.CodeGenCommon +
      +
    CodeGenCommonInterface - Interface in diagapplet.CodeGen
    Provides an interface for the Diagnostics tool and Design Tools to CodeGenCommon + without a circular dependancy that directly using the class would cause.
    codeGenerationApplet - +Variable in class rcsdesign.rcsDesignGui +
      +
    CollapseAll() - +Method in class diagapplet.utils.WatchJPanel +
      +
    ColorsTooClose(Color, Color, long) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ColorTooClosePreviousPlot(Color, long) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    CombineByteArray(byte[], int, int, int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    command_type - +Variable in class rcs.nml.RCS_STAT_MSG +
    Subordinates ussually set this to the type of the command + they are currently executing or just completed. +
    commands_sent - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    common_cmd_base - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    common_font - +Static variable in class diagapplet.utils.FastListPanel +
      +
    common_font_height - +Static variable in class diagapplet.utils.FastListPanel +
      +
    common_font_width - +Static variable in class diagapplet.utils.FastListPanel +
      +
    compare(String) - +Static method in class rcs.RCS_VERSION +
    Compare the version of the library with some other version. +
    compareTo(Object) - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    componentHidden(ComponentEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    componentHidden(ComponentEvent) - +Method in class diagapplet.utils.StandAloneApplet +
      +
    componentMoved(ComponentEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    componentMoved(ComponentEvent) - +Method in class diagapplet.utils.StandAloneApplet +
      +
    componentResized(ComponentEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    componentResized(ComponentEvent) - +Method in class diagapplet.utils.StandAloneApplet +
      +
    componentShown(ComponentEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    componentShown(ComponentEvent) - +Method in class diagapplet.utils.StandAloneApplet +
      +
    computeLineFitErrors(PM_LINE, List<? extends PmCartesian>) - +Static method in class rcs.posemath.Posemath +
    Compute an array of errors or the distance between + each point in list l to line line. +
    computeMaxX() - +Method in class diagapplet.HierarchyPanel +
      +
    computeMaxY() - +Method in class diagapplet.HierarchyPanel +
      +
    ComputeStatsString() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    config_file - +Variable in exception rcs.nml.NMLException +
    The configuration file read by the NMLConnection that was being used, + when the exception was thrown. +
    configFile - +Variable in class diagapplet.CodeGen.BufferInfo +
    NML Configuration file associated with this buffer. +
    conflict_m_structInfoHashTable - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    conflicts - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    connect() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    connect() - +Method in class rcs.nml.NMLConnection +
    Connect or reconnect to the sockets as appropriate. +
    connect() - +Method in interface rcs.nml.NMLConnectionInterface +
    Connect or reconnect to the sockets as appropriate. +
    connectNoThrow() - +Method in class rcs.nml.NMLConnection +
    Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception. +
    connectNoThrow() - +Method in interface rcs.nml.NMLConnectionInterface +
    Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception. +
    constructor_declared - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    constructor_declared_and_not_inlined - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    contains_pointers - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    contains_unrecognized_type - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    content_length - +Variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    content_length - +Variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    content_length - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    convert(String) - +Static method in class rcs.utils.StrToInt +
      +
    convert(String) - +Static method in class rcs.utils.StrToLong +
      +
    ConvertCppTypeToJavaType(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    convertMsgToRawData(byte[], int, NMLmsg) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    convertMsgToRawData(NMLmsg) - +Method in class rcs.nml.PackedFormatConverter +
      +
    convertMsgToRawData(byte[], int, NMLmsg) - +Method in class rcs.nml.XMLFormatConverter +
      +
    convertMsgToString(NMLmsg) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    convertMsgToString(NMLmsg) - +Method in class rcs.nml.PackedFileReader +
    Use FormatConverter to get a string representation of the message. +
    convertMsgToString(NMLmsg) - +Method in class rcs.nml.XMLFileReader +
      +
    convertMsgToString(NMLmsg) - +Method in class rcs.nml.XMLFormatConverter +
      +
    convertMsgToXML(NMLmsg) - +Method in class rcs.nml.XMLFormatConverter +
      +
    convertRawDataToMsg(byte[], int, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    convertRawDataToMsg(byte[], int, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    convertStringToMsg(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    convertStringToMsg(String) - +Method in class rcs.nml.PackedFileWriter +
      +
    convertStringToMsg(String) - +Method in class rcs.nml.XMLFileWriter +
      +
    convertXMLToMsg(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    CopySettings(PlotGraphJPanel) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    CorrectedPipedInputStream - Class in rcs.utils
    This class provides the same interface as java.io.PipedInputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written.
    CorrectedPipedInputStream() - +Constructor for class rcs.utils.CorrectedPipedInputStream +
      +
    CorrectedPipedInputStream(CorrectedPipedOutputStreamInterface) - +Constructor for class rcs.utils.CorrectedPipedInputStream +
      +
    CorrectedPipedOutputStream - Class in rcs.utils
    This class provides the same interface as java.io.PipedOutputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written.
    CorrectedPipedOutputStream() - +Constructor for class rcs.utils.CorrectedPipedOutputStream +
      +
    CorrectedPipedOutputStream(CorrectedPipedInputStreamInterface) - +Constructor for class rcs.utils.CorrectedPipedOutputStream +
      +
    count - +Static variable in class diagapplet.CodeGen.ServerInfo +
      +
    count - +Variable in class diagapplet.utils.CountButton +
      +
    count - +Variable in class diagapplet.utils.CountList +
      +
    count - +Variable in class diagapplet.utils.FastListPanel +
      +
    count - +Variable in class rcs.nml.time_tracker +
    Number of times cycle was called since last reset. +
    CountButton - Class in diagapplet.utils
    Button with count so diagapplet can see when it has be pressed.
    CountButton(String) - +Constructor for class diagapplet.utils.CountButton +
      +
    CountButtonInterface - Interface in diagapplet.utils
    Interface for CountButton
    countItems() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    countItems() - +Method in class diagapplet.utils.FastListPanel +
      +
    countItems() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    countItems() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    CountList - Class in diagapplet.utils
    AWT List object that counts events.
    CountList() - +Constructor for class diagapplet.utils.CountList +
      +
    CountList(int, boolean) - +Constructor for class diagapplet.utils.CountList +
      +
    CountListInterface - Interface in diagapplet.utils
    Interface to CountList
    CppConstructor - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    cppExtField - +Variable in class rcsdesign.rcsDesignGui +
      +
    cppExtLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    CppQualifiedName - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    CppQualifiedName - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    CppUpdateFunction - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    create(boolean, boolean) - +Method in class diagapplet.CodeGen.DiagNMLMsgDictCreator +
    Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream. +
    create(boolean, boolean) - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictCreatorInterface +
    Create a new DiagNMLMsgDict() object and set the fields cmd_stream and + stat_stream. +
    CREATE_SOURCE - +Static variable in class rcsdesign.rcsDesign +
      +
    CreateBufferList() - +Method in class rcsdesign.rcsDesign +
      +
    CreateC_UpdateFunction(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CreateCppConstructor(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CreateCppInitializer(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CreateCppUpdateFunction(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    created_from_header - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    createExtraChannel() - +Method in class diagapplet.CodeGen.BufferInfo +
    Create an extra channel cloning the options in the read channel. +
    createExtraCommandChannel() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    createExtraStatusChannel() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    CreateJavaDefinition(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    CreateJavaUpdateFunction(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    createLogTimeEntryList(File, File, boolean, int, MsgToTimeStamp) - +Method in class rcs.nml.PackedFileReader +
    Create a list to use as an index into a large ".COMBINED" file with + multiple messages in it using the ".index" file created by the logRecorder + at the same time +
    createScript(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    Creator - +Static variable in class rcs.nml.NMLConnection +
    Creator singleton used to avoid circular dependancies in old + diagapplet/codegen/rcs design code. +
    cross(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    cross(PM_CYLINDRICAL, PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    crypt(String, String) - +Static method in class rcs.utils.jcrypt +
    Encrypts a passwd. +
    csvSync(File, File, PrintStream) - +Static method in class rcs.posemath.Posemath +
      +
    csvToHomMats(String, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvToHomMatsChk(String, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvToList(String, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvToListF(File, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvToPoseList(String, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvToPoseListF(File, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvWithTimeToPoseList(String, List<Double>, int, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    csvWithTimeToPoseListF(File, List<Double>, int, int, int, int, int, int, int) - +Static method in class rcs.posemath.Posemath +
      +
    cur_file_line - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cur_file_name - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    current_command_to_send_variable_selected - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    current_command_variable_selected - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    current_directory - +Static variable in class rcs.utils.URL_and_FileLoader +
      +
    current_fti - +Variable in class rcsdesign.rcsDesignGui +
      +
    current_size - +Variable in class diagapplet.plotter.PlotData +
      +
    current_status_variable_selected - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    currentAttributeInfo - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    currentDefaultValue - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    currentLoadedFile - +Variable in class rcsdesign.rcsDesignGui +
      +
    currentOverrideName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cycle() - +Method in class rcs.nml.time_tracker +
    Called periodically to measure the wall clock statistics of a periodic function. +
    cycle_time - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    cycletimeField - +Variable in class rcsdesign.rcsDesignGui +
      +
    cycletimeLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    +
    +

    +D

    +
    +
    data_has_64bit_longs - +Variable in class rcs.nml.PackedFormatConverter +
      +
    date_string - +Static variable in class rcs.RCS_VERSION +
    String in which the library was compiled is stored. +
    days - +Variable in class rcs.nml.CMS_DATE +
      +
    DBL_MAX - +Static variable in class rcs.posemath.Posemath +
      +
    debug_estimated_size - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    debug_file_loading - +Static variable in class rcs.utils.URL_and_FileLoader +
      +
    debug_on - +Static variable in class diagapplet.CodeGen.CodeGen +
    Set to true to have many fuctions print degub info to System.out. +
    debug_on - +Static variable in class diagapplet.CodeGen.DiagNMLMsgDict +
    When set to true debug_on enables extra calls to System.out for debugging. +
    debug_on - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    debug_on - +Static variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    debug_on - +Static variable in class diagapplet.HierarchyPanel +
      +
    debug_on - +Static variable in class diagapplet.utils.FakeFastListPanel +
      +
    debug_on - +Static variable in class diagapplet.utils.FastListPanel +
      +
    debug_on - +Static variable in class diagapplet.utils.JListFastListPanel +
      +
    debug_on - +Static variable in class diagapplet.utils.ModifiedFileDialog +
      +
    debug_on - +Static variable in class diagapplet.utils.StandAloneApplet +
      +
    debug_on - +Static variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    debug_on - +Static variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    debug_on - +Static variable in class rcs.nml.debugInfo +
      +
    debug_on - +Static variable in class rcs.nml.NMLFormatConverterBase +
      +
    debug_on - +Static variable in class rcs.nml.XDRFormatConverter +
      +
    debug_on - +Static variable in class rcs.nml.XMLFormatConverter +
      +
    debug_on - +Static variable in class rcs.posemath.Posemath +
      +
    debug_on - +Static variable in class rcs.utils.CorrectedPipedInputStream +
      +
    debug_on - +Static variable in class rcs.utils.SimpleFileFilter +
      +
    debug_on - +Static variable in class rcs.utils.URL_and_FileLoader +
      +
    debug_on - +Static variable in class rcsdesign.rcsDesignGui +
      +
    debugInfo - Class in rcs.nml
    Allows control of whether and to which print stream NML debug prints + are done in the rest of the NML java classes.
    debugInfo() - +Constructor for class rcs.nml.debugInfo +
      +
    DebugPrint(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    DebugPrint(String) - +Static method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    DebugPrint(String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    DebugPrint(String) - +Static method in class diagapplet.utils.FastListPanel +
      +
    DebugPrint2(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    DebugPrint2(String) - +Static method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    DebugPrint2(String) - +Static method in class diagapplet.plotter.PlotGraphJPanel +
      +
    DebugPrint2(String) - +Static method in class diagapplet.utils.FastListPanel +
      +
    debugPrintStream - +Static variable in class rcs.nml.debugInfo +
      +
    decoding - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    default_use_caches - +Static variable in class rcs.utils.URL_and_FileLoader +
      +
    default_version_control_checkin_command - +Variable in class rcsdesign.rcsDesignGui +
      +
    default_version_control_checkout_command - +Variable in class rcsdesign.rcsDesignGui +
      +
    default_version_control_directory - +Variable in class rcsdesign.rcsDesignGui +
      +
    default_version_control_symlink_command - +Variable in class rcsdesign.rcsDesignGui +
      +
    default_version_control_type - +Variable in class rcsdesign.rcsDesignGui +
      +
    DefaultNMLConfigurationFile - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    DefaultProcessLine - +Variable in class rcs.nml.NMLConfigInfo +
      +
    definedValues - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    delete_me - +Variable in class diagapplet.plotter.PlotData +
      +
    deleted_commands - +Variable in class diagapplet.CodeGen.ModuleInfo +
    A list of deleted commands used by the Design tool when remerging old code. +
    deletedAuxInputNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    deletedAuxOutputNames - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    delIncludeButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    delLibButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    delmainLoopButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    delPlatButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    delServerButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    dependancy_rank - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    dependancy_rank_determined - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    DerivedFrom - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    derivmean - +Variable in class diagapplet.plotter.PlotData +
      +
    deselect(int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    deselect(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    deselect(int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    deselect(int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    design_mode - +Variable in class diagapplet.HierarchyPanel +
      +
    designLog - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    destroy() - +Method in class diagapplet.CodeGen.CodeGen +
      +
    destroy() - +Method in class rcsdesign.rcsDesign +
      +
    destructor_declared - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    destructor_declared_and_not_inlined - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    devPlatTypeGroup - +Variable in class rcsdesign.rcsDesignGui +
      +
    devPlatTypeLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    df_exponent - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    df_noexponent - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    diag_cmd - +Variable in class rcsdesign.rcsDesignGui +
      +
    diag_NB_UI - Class in diagapplet
    Main class used for running the newer Swing based diagnostics tool.
    diag_NB_UI() - +Constructor for class diagapplet.diag_NB_UI +
    Creates new form diag_NB_UI +
    diagapplet - package diagapplet
     
    diagapplet.CodeGen - package diagapplet.CodeGen
     
    diagapplet.plotter - package diagapplet.plotter
     
    diagapplet.utils - package diagapplet.utils
     
    diagCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    diagCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    DiagError - Class in diagapplet.utils
    Class that should be used so that errors are visible in diag error log text area.
    DiagError() - +Constructor for class diagapplet.utils.DiagError +
    Creates a new instance of DiagError +
    DiagErrorAppendInterface - Interface in diagapplet.utils
    An interface that connects DiagError to the diagnostics tool.
    DiagNMLMsgDict - Class in diagapplet.CodeGen
    * NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    DiagNMLMsgDict() - +Constructor for class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    DiagNMLMsgDictCreator - Class in diagapplet.CodeGen
    Objects of this class are passed from the diagnositcs tool and design tool to the CodeGen + objects as a way of indirectly passing DiagNMLMsgDicts() without introducing + unnecessary compile-time dependancies.
    DiagNMLMsgDictCreator() - +Constructor for class diagapplet.CodeGen.DiagNMLMsgDictCreator +
      +
    DiagNMLMsgDictCreatorInterface - Interface in diagapplet.CodeGen
    Interface that allows the Diagnostics tool and Design tool to pass + DiagNMLMsgDictCreator's to the CodeGen without the CodeGen having an explicit + dependancy on DiagNMLMsgDictCreator().
    DiagNMLMsgDictInterface - Interface in diagapplet.CodeGen
    NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    diagnostics_mode - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    diagnostics_mode_string_max - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    diagPreserve - Class in diagapplet
    Stores all of the information kept between sessions by the diagnostics tool.
    diagPreserve() - +Constructor for class diagapplet.diagPreserve +
    Creates a new instance of diagPreserve +
    disconnect() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    disconnect() - +Method in class rcs.nml.NMLConnection +
    Disconnect this object from the NML server. +
    disconnect() - +Method in interface rcs.nml.NMLConnectionInterface +
    Disconnect closing all sockets. +
    disp(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    display - +Variable in class rcs.nml.NML_DISPLAY +
      +
    display_on - +Static variable in class diagapplet.utils.FakeFastListPanel +
      +
    display_on - +Static variable in class diagapplet.utils.FastListPanel +
      +
    display_on - +Static variable in class diagapplet.utils.JListFastListPanel +
      +
    dist_from_line(PM_LINE, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    distFrom(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    distFrom(PmCartesian) - +Method in class rcs.posemath.PmCartesian +
      +
    distFromPath(PM_CARTESIAN, PM_CARTESIAN[]) - +Static method in class rcs.posemath.Posemath +
    Return the minimum distance of the point p from the path specified by + the array of waypoints. +
    distFromXY(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    divide(PM_CARTESIAN, double) - +Static method in class rcs.posemath.Posemath +
      +
    divide(PM_CYLINDRICAL, double) - +Static method in class rcs.posemath.Posemath +
      +
    divide(PM_ROTATION_VECTOR, double) - +Static method in class rcs.posemath.Posemath +
      +
    divide(PM_QUATERNION, double) - +Static method in class rcs.posemath.Posemath +
      +
    do_not_print_errors - +Static variable in class rcs.nml.NMLConnection +
      +
    DO_NOTHING - +Static variable in class rcsdesign.rcsDesign +
      +
    doArrayLengthMath(String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    done() - +Method in interface diagapplet.CodeGen.LoadHierarchyUpdateInterface +
    Send notice that the task is completed/file read etc. +
    done - +Variable in class diagapplet.utils.ModifiedFileDialog +
      +
    doSimpleLongMath(String) - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    dot(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    dot(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    dot(PM_CYLINDRICAL, PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    DOUBLE_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    DOUBLECP_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    DumpDataString() - +Method in class diagapplet.utils.WatchJPanel +
      +
    DumpDataStringFile(File, String) - +Method in class diagapplet.utils.WatchJPanel +
      +
    DumpText() - +Method in class diagapplet.utils.WatchJPanel +
      +
    +
    +

    +E

    +
    +
    E_EPSILON - +Static variable in class rcs.posemath.Posemath +
      +
    e_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    echo_serial_number - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    echo_serial_number - +Variable in class rcs.nml.RCS_STAT_MSG +
    Subordinates ussually set this to the serial_number of the command + they are currently executing or just completed. +
    elapsed - +Variable in class rcs.nml.time_tracker +
    Current time minus start. +
    end - +Variable in class rcs.posemath.PM_LINE +
      +
    end - +Variable in class rcs.posemath.PmLine +
      +
    endBaseClass(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    endBaseClass(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    endBaseClass(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    endClass(String, String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    endClass(String, String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    endClass(String, String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    endClassArrayElem(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    endClassArrayElem(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    endClassArrayElem(String, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    endClassVar(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    endClassVar(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    endClassVar(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    EnumTypeInfo - Class in diagapplet.CodeGen
    A class that includes informataion on the various values and their assocated names + with any enumeration.
    EnumTypeInfo() - +Constructor for class diagapplet.CodeGen.EnumTypeInfo +
      +
    equalizeAxis() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    equals(PmCartesian) - +Method in class rcs.posemath.PmCartesian +
      +
    equals(PmCylindrical) - +Method in class rcs.posemath.PmCartesian +
      +
    equals(PmSpherical) - +Method in class rcs.posemath.PmCartesian +
      +
    equals(PmCylindrical) - +Method in class rcs.posemath.PmCylindrical +
      +
    equals(PmCartesian) - +Method in class rcs.posemath.PmCylindrical +
      +
    equals(PmSpherical) - +Method in class rcs.posemath.PmCylindrical +
      +
    equals(PmPose) - +Method in class rcs.posemath.PmPose +
      +
    equals(PmHomogeneous) - +Method in class rcs.posemath.PmPose +
      +
    equals(PmQuaternion) - +Method in class rcs.posemath.PmQuaternion +
      +
    equals(PmRotationMatrix) - +Method in class rcs.posemath.PmQuaternion +
      +
    equals(PmRotationVector) - +Method in class rcs.posemath.PmQuaternion +
      +
    errlogData - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    errlogMsgDict - Class in rcs.nml
    Implements an NML message dictionary for a set of messages + usually used for logging errors and/or communication + with a generic operator interface.
    errlogMsgDict() - +Constructor for class rcs.nml.errlogMsgDict +
      +
    error - +Variable in class rcs.nml.NML_ERROR +
      +
    error_in_update - +Variable in class rcs.nml.NMLFormatConverter +
      +
    error_in_update_string - +Variable in class rcs.nml.NMLFormatConverter +
      +
    ErrorPrint(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    ErrorPrint(String) - +Static method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    ErrorPrint(String) - +Static method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    ErrorPrint(String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ErrorPrint(String) - +Static method in class diagapplet.utils.FastListPanel +
      +
    ErrorPrint(String) - +Static method in class rcs.utils.StrToInt +
      +
    ErrorPrint(String) - +Static method in class rcs.utils.StrToLong +
      +
    estimated_size - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    EstimateSize(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    ExecuteInDirectory(String, String) - +Method in class rcsdesign.rcsDesign +
      +
    ExpandAll() - +Method in class diagapplet.utils.WatchJPanel +
      +
    externalIncludeDirectories - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    externalLibraries - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    extra_sh_str - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    extraHeaderFiles - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    +
    +

    +F

    +
    +
    F - +Variable in class rcs.nml.LogTimeEntry +
      +
    FakeFastListPanel - Class in diagapplet.utils
    Tracks the same data as FastListPane without any actual display.
    FakeFastListPanel() - +Constructor for class diagapplet.utils.FakeFastListPanel +
      +
    FakeFastListPanel(int, int, boolean, Object) - +Constructor for class diagapplet.utils.FakeFastListPanel +
      +
    FastListContainer - Class in diagapplet.utils
    Container that adds scrollbars to FastListPanel.
    FastListContainer(FastListPanel) - +Constructor for class diagapplet.utils.FastListContainer +
      +
    FastListPanel - Class in diagapplet.utils
    AWT Panel that was used as replacement for AWT List as it could be updated faster than the + older AWT List implementation.
    FastListPanel(int, int, boolean, Container) - +Constructor for class diagapplet.utils.FastListPanel +
      +
    FastListPanelInterface - Interface in diagapplet.utils
    Common interface to FastListPanel and FakeFastListPanel.
    file_name - +Variable in class rcs.nml.NMLConfigInfo +
      +
    fileAsterixLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileCheckinDirectoryField - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileCheckinDirectoryLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileCheckinTypeChoice - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileCheckinTypeLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileCheckOutCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    filename - +Variable in class diagapplet.utils.ModifiedFileDialog +
      +
    filesList - +Variable in class rcsdesign.rcsDesignGui +
      +
    filesListLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileTextArea - +Variable in class rcsdesign.rcsDesignGui +
      +
    fileTextLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    finalize() - +Method in class diagapplet.diag_NB_UI +
      +
    finalize() - +Method in class rcs.nml.NMLConnection +
      +
    find_common_root(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    FindAllParents(Hashtable, URLLoadInfoPanelInterface) - +Method in class diagapplet.HierarchyPanel +
      +
    findStillPoints(List<Double>, List<PM_POSE>, double, int, List<Double>) - +Static method in class rcs.posemath.Posemath +
      +
    findStillTimes(String[]) - +Static method in class rcs.posemath.Posemath +
      +
    first_format_error - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    first_module_used_in - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    first_update_error_occured - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    fitCircle2D_XY(List<? extends PmCartesian>) - +Static method in class rcs.posemath.Posemath +
    Ignores the z value in each element of the list and returns a circle + fit with least-squares error to x,y points +
    fitLine(List<? extends PmCartesian>) - +Static method in class rcs.posemath.Posemath +
    Ignores the z value in each element of the list and returns a line + fit with least-squares error to x,y points +
    fitLines(List<? extends PM_CARTESIAN>, double, int) - +Static method in class rcs.posemath.Posemath +
      +
    FitToGraph() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    FitToGraph() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    FitToGraph() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    FitY() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    FitY() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    FitY() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    fixed_size - +Static variable in class diagapplet.plotter.PlotData +
      +
    force_keep_admin_state_enum - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    force_keep_status_enum - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    force_repaint(int) - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    force_repaint(int) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    force_repaint(int) - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    ForceRecheckComboFunc() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    format_converter - +Variable in class rcs.nml.NMLConnection +
      +
    format_double(double) - +Static method in class diagapplet.plotter.PlotGraphJPanel +
      +
    FormatFunction - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    formatMsg(NMLFormatConverter) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    formatMsg(NMLFormatConverter) - +Method in class rcs.nml.errlogMsgDict +
      +
    formatMsg(NMLFormatConverter) - +Method in interface rcs.nml.NMLMessageDictionary +
    This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function. +
    fromFile - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    fromLine - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    fullScreenJPanelClass - Class in diagapplet.utils
     
    fullScreenJPanelClass() - +Constructor for class diagapplet.utils.fullScreenJPanelClass +
      +
    +
    +

    +G

    +
    +
    generate_enum_symbol_lookup - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    generate_symbol_lookup - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    GenerateAdaBody() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateAdaSpec() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateC_FormatFunction() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateC_PrototypesHeader() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateC_StartOfFile() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateC_UpdateFunction(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateC_UpdateFunctions() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppConstructor(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppConstructors() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppEnumInfo(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppFormatFunction() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppInitializer(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppPrototypesHeader() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppStartOfFile() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppUpdateFunction(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateCppUpdateFunctions() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateJavaClass(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateJavaClasses() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GenerateJavaMessageDict() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GeneratePrintSizesFile() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    generation - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    generic - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    get_add_set_header() - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_array_mode() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    get_array_mode() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    get_attribute(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    get_aux_diag_msg_read_dict() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_aux_diag_msg_write_dict() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_base_name(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_buffer_name() - +Method in class rcs.nml.NMLConnection +
    Get the buffer name. +
    get_buffer_name() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the buffer name. +
    get_buffer_number() - +Method in class rcs.nml.NMLConnection +
    Get the buffer_number for this buffer. +
    get_buffer_number() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the buffer_number for this buffer. +
    get_bytes_read() - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    get_bytes_read() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    get_bytes_read() - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    get_ClassList() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_ClassList() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Get the ClassList property. +
    get_cmd_msg_dict() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_codeTextArea() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_configFileTextField() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_configuration_file() - +Method in class rcs.nml.NMLConnection +
    Get the name of the NML configuration file being used. +
    get_configuration_file() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the name of the NML configuration file being used. +
    get_conflict_m_structInfoHashTable() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_conflict_m_structInfoHashTable() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get a Hashtable that matches long identifiers to StructureTypeInfo objects + used to resolve conflicts when more than one StructureTypeInfo is associated with + the same id in the global hashtable. +
    get_connect_time() - +Method in class rcs.nml.NMLConnection +
    Get the time in milliseconds when the last connect() was attempted. +
    get_connect_time() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the time in milliseconds when the last connect() was attempted. +
    get_connected() - +Method in class diagapplet.diagPreserve +
    Get the value of connected flag from last run. +
    get_content(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    get_content_length() - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    get_content_length() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    get_content_length() - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    get_count() - +Method in class diagapplet.utils.CountButton +
      +
    get_count() - +Method in interface diagapplet.utils.CountButtonInterface +
      +
    get_cppFileName() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_created_from_header() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_created_from_header() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Was the module created from a C++ header file? (As opposed to a module section of a + hierarchy file.) +
    get_debug_on() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_decoding() - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_decoding() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_diag_dict_creator() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_diag_dict_creator() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Get the diag_dict_creator property. +
    get_diagnostics_mode() - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_diagnostics_mode() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_diagnostics_mode_string_max() - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_diagnostics_mode_string_max() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_disconnect_time() - +Method in class rcs.nml.NMLConnection +
    Get the time in milliseconds when the last disconnect() was attempted. +
    get_disconnect_time() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the time in milliseconds when the last disconnect() was attempted. +
    get_display_on() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_error_count() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_extraActionsVector() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_extraActionsVector() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Returns an extrActionsVector(). +
    get_extraTabsVector() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_extraTabsVector() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Returns an extrTabsVector(). +
    get_failed_count() - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    get_failed_count() - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Returns the number of errors that have occured related to this dictionary. +
    get_first_cpp_function() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_first_java_class() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_force_reload_file() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_all_enum_symbol_lookups() - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_cpp_constructors_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_cpp_format_function_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_cpp_update_functions_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_java_classes_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_java_dictionary_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generate_symbol_lookups() - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_generating_code() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_host() - +Method in class rcs.nml.NMLConnection +
    Get the host name where the buffer is supposed to be located. +
    get_host() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the host name where the buffer is supposed to be located. +
    get_includePath() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_includePathField() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_inside_diagapplet() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_is_loading_hierarchy() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_javaFileName() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_last_exception_string() - +Method in class rcs.nml.NMLConnection +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +
    get_last_exception_string() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the message string associated with the last exception thrown including + those printed but caught internally by NoThrow functions. +
    get_last_id_read() - +Method in class rcs.nml.NMLConnection +
    Each message has an id used to determine if it is new. +
    get_last_id_read() - +Method in interface rcs.nml.NMLConnectionInterface +
    Each message has an id used to determine if it is new. +
    get_last_loading_module_string() - +Static method in class diagapplet.CodeGen.ModuleInfo +
    Get a string for debuggin purposes. +
    get_last_saved_image_file() - +Method in class diagapplet.utils.ImageJPanel +
      +
    get_lastIncludePath() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_length_of_unbounded(String, String, Object[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_length_of_unbounded(String, String, Object[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_length_of_unbounded(String, String, Object[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    get_m_ConfigFile() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_hierarchyFile() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_hierarchyFile() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Get the hierarchyFile property. +
    get_m_hierarchyFileLoadButton() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_loadingPanel() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_modulesCountList() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_modulesHashTable() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_modulesHashTable() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Returns the modulesHashTable property. +
    get_m_modulesList() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_m_modulesList() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Get the ModulesList property. +
    get_msg_count() - +Method in class rcs.nml.NMLConnection +
      +
    get_msg_count() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the number of messages that have been successfully written to the buffer, + including messages written by other processes/systems. +
    get_msg_type() - +Method in class rcs.nml.NMLConnection +
      +
    get_msg_type() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the type of message in the currently in the buffer. +
    get_nml_creator() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_nml_creator() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Get the nml_creator property. +
    get_nml_creator() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_nml_creator() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the NMLConnectionCreator associated with this module. +
    get_nml_format_err_callback() - +Static method in class diagapplet.CodeGen.BufferInfo +
      +
    get_nml_format_err_callback() - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_num_plots() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    get_num_points() - +Method in class diagapplet.plotter.PlotData +
      +
    get_optionsHashTable() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_optionsHashTable() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Returns the optionsHashTable property. +
    get_paused() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    get_pipe_data() - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    get_pipe_data() - +Method in class rcs.utils.CorrectedPipedOutputStream +
      +
    get_point_size_limit() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    get_port() - +Method in class rcs.nml.NMLConnection +
    Return the TCP or UDP port number associated with this connection. +
    get_port() - +Method in interface rcs.nml.NMLConnectionInterface +
    Return the TCP or UDP port number associated with this connection. +
    get_print_prompt() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_process_name() - +Method in class rcs.nml.NMLConnection +
    Get the process name. +
    get_process_name() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the process name. +
    get_raw_data_size() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_recentNmlConfigFileVector() - +Method in class diagapplet.diagPreserve +
    Get Recent NML Config Files. +
    get_reload_hierarchy_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_returned_buffer_name() - +Method in class rcs.nml.NMLConnection +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. +
    get_returned_buffer_name() - +Method in interface rcs.nml.NMLConnectionInterface +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. +
    get_run_needed() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_RunIndependantly() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_running() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_running_script() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_scale() - +Method in class diagapplet.utils.ImageJPanel +
      +
    get_script() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_script_file_ran() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_SearchPath() - +Static method in class rcs.utils.URL_and_FileLoader +
      +
    get_selected_rect() - +Method in interface diagapplet.PainterInterface +
    Get rectangle stored with set_selected_rect(). +
    get_selected_scaled_rect() - +Method in class diagapplet.utils.ImageJPanel +
      +
    get_serversHashtable() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_serversList() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_stat_msg_dict() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    get_static_debug_on() - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_token_count() - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_token_count() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_update_with_name() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    get_uRLLoadInfoPanel() - +Method in class diagapplet.utils.URlLoadInfoFrame +
      +
    get_URLname() - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    get_URLname() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    get_URLname() - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    get_use_string() - +Method in class rcs.nml.NMLFormatConverter +
      +
    get_use_string() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    get_var_count_size() - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    get_xstart() - +Method in class diagapplet.utils.ImageJPanel +
      +
    get_ystart() - +Method in class diagapplet.utils.ImageJPanel +
      +
    getA() - +Method in class rcs.posemath.PM_XYA +
      +
    GetAllConfigInfoFromServer(String) - +Static method in class rcs.nml.NMLConnection +
      +
    getAllocation_size_max() - +Method in class rcs.nml.NMLConnection +
      +
    getAllocation_size_max() - +Method in interface rcs.nml.NMLConnectionInterface +
      +
    getAngle() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getAppletInfo() - +Method in class diagapplet.CodeGen.CodeGen +
    Old VisualJ APPLET INFO SUPPORT: + The getAppletInfo() method returns a string describing the applet's + author, copyright date, or miscellaneous information. +
    getAppletInfo() - +Method in class rcsdesign.rcsDesign +
      +
    getAuxAvailableMessageFilters() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    getAuxAvailableMessageFilters() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the list of filters of the form buffername:pattern to select available messages for a buffer. +
    getAuxBuffersVector() - +Method in class diagapplet.diagPreserve +
      +
    getAuxMessages() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    getAuxMessages() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the list of messages that can be sent or recieved to auxilliary buffers associated + with this module. +
    getBaseClassExpandedPreFinalPassInfo(Hashtable, boolean) - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    getBufferedReader() - +Method in class rcs.utils.URL_and_FileLoader +
      +
    getBufferLine() - +Method in class rcs.nml.NMLConnection +
    Get the buffer line from the configuration file. +
    getBufferLine() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the buffer line from the configuration file. +
    getBufferLineHeaders() - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    getBufferName() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property BufferName. +
    GetByteArrayImage() - +Method in class diagapplet.utils.ImageJPanel +
      +
    getCause() - +Method in exception rcs.nml.NMLException +
      +
    getCellEditorValue() - +Method in class diagapplet.utils.WatchVarEditor +
      +
    getCenter() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getCk1Pose() - +Static method in class rcs.posemath.Posemath +
      +
    getCk2Pose() - +Static method in class rcs.posemath.Posemath +
      +
    GetConfigInfo(String) - +Static method in class rcs.nml.NMLConnection +
    Parse or return configution info from a previously parsed NML configuration file. +
    GetCppVarDef(String, StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    getDataString() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getDefaultNMLConfigFile() - +Method in class diagapplet.diagPreserve +
    Getter for property defaultNMLConfigFile. +
    getDefaultPlat() - +Method in class rcsdesign.rcsDesign +
      +
    getDirectory() - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    getEnd() - +Method in class rcs.posemath.PM_LINE +
      +
    getEnumTypeInfo(int) - +Method in class diagapplet.utils.WatchJPanel +
      +
    GetEnumTypeName(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    getenv(String) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    GetErrorString(int) - +Static method in exception rcs.posemath.PmException +
      +
    getEstimatedSize(int) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    getEstimatedSize(int) - +Method in class rcs.nml.errlogMsgDict +
      +
    getEstimatedSize(int) - +Method in interface rcs.nml.NMLMessageDictionary +
      +
    getF() - +Method in class rcs.nml.LogTimeEntry +
    Get the value of F +
    getFile() - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    getFileNameOrURL() - +Method in class rcs.nml.LogTimeEntry +
    Get the value of FileNameOrURL +
    getFilesListItem(int) - +Method in class rcsdesign.rcsDesign +
      +
    GetFormatConverter() - +Method in class rcs.nml.NMLConnection +
    This functions gets the NMLFormatConverter for this connection. +
    getFormatFunction() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    getFormatFunction() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the name of the C++ format function. +
    GetFormatFunctionNameBase(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    getFuncArg() - +Method in class diagapplet.plotSetPreserve +
    Getter for property funcArg. +
    getFuncArg() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    getGraphFunction() - +Method in class diagapplet.plotSetPreserve +
    Getter for property graphFunction. +
    getGraphFunction() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    getHeight() - +Method in class diagapplet.diagPreserve +
    Getter for property height. +
    getId() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getImage() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    getImage(Dimension) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    getImage(int, int) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    getImage() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    getImage(Dimension) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    getImage() - +Method in class diagapplet.utils.ImageJPanel +
      +
    getInfoTokenizer() - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    GetIsArray() - +Method in class diagapplet.utils.WatchJPanel +
      +
    GetIsEnumeration(int) - +Method in class diagapplet.utils.WatchJPanel +
      +
    GetIsNewStruct() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getItem(int) - +Method in interface diagapplet.utils.CountListInterface +
      +
    getItem(int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getItem(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    getItem(int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getItem(int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getItemCount() - +Method in interface diagapplet.utils.CountListInterface +
      +
    getItemCount() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getItemCount() - +Method in class diagapplet.utils.FastListPanel +
      +
    getItemCount() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getItemCount() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getLastSelectedCommandIndex() - +Method in class diagapplet.modulePreserve +
    Getter for property lastSelectedCommandIndex. +
    getLastSelectedMessageIndex() - +Method in class diagapplet.auxBufferPreserve +
    Getter for property lastSelectedMessageIndex. +
    getLine_color() - +Method in class diagapplet.plotter.PlotData +
      +
    getMax_plots_to_show() - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Getter for property max_plots_to_show. +
    getMaxEstimatedSize() - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    getMaxEstimatedSize() - +Method in class rcs.nml.errlogMsgDict +
      +
    getMaxEstimatedSize() - +Method in interface rcs.nml.NMLMessageDictionary +
      +
    getMaxLen() - +Method in class rcs.nml.LogTimeEntry +
    Get the value of MaxLen +
    getMessageData(int) - +Method in class diagapplet.CodeGen.BufferInfo +
    Read data from the buffer and convert to a comma delimited string. +
    GetMessageDictionary() - +Method in class rcs.nml.NMLConnection +
    This functions gets the NMLMessageDictionary for this connection. +
    GetMessageDictionary() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    getMessageFromInputStream(DataInputStream) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    getMinimumSize() - +Method in class diagapplet.HierarchyPanel +
      +
    getMinimumSize() - +Method in class diagapplet.utils.FastListPanel +
      +
    getMinimumSize() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    getModuleName() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property moduleName. +
    getModulesListSelectedItem() - +Method in class diagapplet.HierarchyPanel +
      +
    getModulesVector() - +Method in class diagapplet.diagPreserve +
    Getter for property ModulesVector. +
    getMsgsAvailable() - +Method in class diagapplet.CodeGen.BufferInfo +
    Get the list of messages that can be sent and received from this buffer. +
    getMsgType() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property msgType. +
    getName() - +Method in class diagapplet.auxBufferPreserve +
    Getter for property name. +
    getName() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    getName() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the name property. +
    getName() - +Method in class diagapplet.modulePreserve +
    Getter for property name. +
    getName() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property name. +
    getNormal() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getNoThrowErrorCount() - +Method in class rcs.nml.NMLConnection +
    Get the number of times a NoThrow fuction returned -1 for this object. +
    getNoThrowErrorCount() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the number of times a NoThrow fuction returned -1 for this object. +
    getOffset() - +Method in class rcs.nml.LogTimeEntry +
    Get the value of Offset +
    getP() - +Method in class rcs.posemath.PmRpy +
      +
    GetParameter(String, String[]) - +Method in class diagapplet.CodeGen.CodeGen +
    From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameter() method is a replacement for the getParameter() method + defined by Applet. +
    GetParameter(String, String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GetParameter(String, String[]) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Return the value of the matching strName if one exist(), optionally + searching command line args given in args. +
    GetParameter(String, String[], Hashtable, String[]) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    getParameterInfo() - +Method in class diagapplet.CodeGen.CodeGen +
    Old VisualJ PARAMETER SUPPORT + The getParameterInfo() method returns an array of strings describing + the parameters understood by this applet. +
    getParameterInfo() - +Method in class rcsdesign.rcsDesign +
      +
    GetParameters(String[]) - +Method in class diagapplet.CodeGen.CodeGen +
    From old VisualJ STANDALONE APPLICATION SUPPORT + The GetParameters() method retrieves the values of each of the applet's + parameters and stores them in variables. +
    GetParameters(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    GetPlot(String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    getPlot_order() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    getPlotList() - +Method in class diagapplet.plotSetPreserve +
    Getter for property plotList. +
    getPlotPointAt(int) - +Method in class diagapplet.plotter.PlotData +
      +
    getPlotSet() - +Method in class diagapplet.diagPreserve +
    Getter for property plotSet. +
    getPoint_color() - +Method in class diagapplet.plotter.PlotData +
      +
    getPreferredSize() - +Method in class diagapplet.HierarchyPanel +
      +
    getPreferredSize() - +Method in class diagapplet.utils.FastListPanel +
      +
    getPreferredSize() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    getPreviousCommands() - +Method in class diagapplet.modulePreserve +
    Getter for property PreviousCommands. +
    GetPreviousMessage(Long) - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    getPreviousMessages() - +Method in class diagapplet.auxBufferPreserve +
    Getter for property PreviousMessages. +
    getPreviousMessagesHashtable() - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    getProcessLine(String) - +Method in class rcs.nml.NMLBufferConfigInfo +
      +
    getR() - +Method in class rcs.posemath.PmRpy +
      +
    getRadius() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getRecentPlotSets() - +Method in class diagapplet.diagPreserve +
    Getter for property recentPlotSets. +
    getRequest_sent_time_millis() - +Method in class rcs.nml.NMLConnection +
    Get the value of request_sent_time_millis +
    getrHelix() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getrPerp() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getrTan() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getS() - +Method in class rcs.posemath.PmQuaternion +
      +
    getSelectedAuxChannel() - +Method in class diagapplet.diagPreserve +
    Getter for property selectedAuxChannel. +
    getSelectedIndex() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedIndex() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedIndex() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedIndex() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getSelectedIndexes() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedIndexes() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedIndexes() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedIndexes() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getSelectedItem() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedItem() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedItem() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedItem() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getSelectedItems() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedItems() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedItems() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedItems() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getSelectedModule() - +Method in class diagapplet.diagPreserve +
    Getter for property selectedModule. +
    getSelectedObjects() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedObjects() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedObjects() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedObjects() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getSelectedTab() - +Method in class diagapplet.diagPreserve +
    Getter for property selectedTab. +
    GetSelectedValue() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getSelectedVarNumber() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getSelectedVarNumber() - +Method in class diagapplet.utils.FastListPanel +
      +
    getSelectedVarNumber() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getSelectedVarNumber() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getShow(int) - +Method in class diagapplet.plotter.PlotData +
      +
    getSingleVarLog(int) - +Method in class rcs.nml.NMLConnection +
    Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog() +
    getSingleVarLog(int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog() +
    getSpiral() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    getStart() - +Method in class rcs.posemath.PM_LINE +
      +
    getStatsString() - +Method in class diagapplet.plotter.PlotData +
      +
    getStiName() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property stiName. +
    getStructureTypeInfo() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getSymbolLookup() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    getSymbolLookup() - +Method in interface diagapplet.CodeGen.ModuleInfoInterface +
    Get the name of the C++ format function. +
    getTableCellEditorComponent(JTable, Object, boolean, int, int) - +Method in class diagapplet.utils.WatchVarEditor +
      +
    getTableColumnCellEditor(int) - +Method in class diagapplet.utils.WatchJPanel +
      +
    getTimeStamp() - +Method in class rcs.nml.LogTimeEntry +
    Get the value of TimeStamp +
    getUseCaches() - +Method in class rcs.utils.URL_and_FileLoader +
      +
    getuVec() - +Method in class rcs.posemath.PM_LINE +
      +
    getValueStringForVarNumber(int) - +Method in class diagapplet.utils.WatchJPanel +
      +
    getVariableName() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property variableName. +
    getVariableNumber() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property variableNumber. +
    GetVarName() - +Method in class diagapplet.utils.WatchJPanel +
      +
    GetVarNum() - +Method in class diagapplet.utils.WatchJPanel +
      +
    getVarNumber(int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    getVarNumber(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    getVarNumber(int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    getVarNumber(int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    getVersionString() - +Method in class rcs.nml.NMLFormatConverter +
      +
    getVersionString() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    getWidth() - +Method in class diagapplet.diagPreserve +
    Getter for property width. +
    getWindow_state() - +Method in class diagapplet.diagPreserve +
    Getter for property window_state. +
    getX() - +Method in class diagapplet.diagPreserve +
    Getter for property x. +
    getX() - +Method in class rcs.posemath.PM_XYA +
      +
    getX() - +Method in class rcs.posemath.PmCartesian +
      +
    getX() - +Method in class rcs.posemath.PmQuaternion +
      +
    getX_Grid() - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Get the value of X_Grid +
    getY() - +Method in class diagapplet.diagPreserve +
    Getter for property y. +
    getY() - +Method in class rcs.posemath.PM_XYA +
      +
    getY() - +Method in class rcs.posemath.PmCartesian +
      +
    getY() - +Method in class rcs.posemath.PmQuaternion +
      +
    getY() - +Method in class rcs.posemath.PmRpy +
      +
    getY_Grid() - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Get the value of Y_Grid +
    getZ() - +Method in class rcs.posemath.PmCartesian +
      +
    getZ() - +Method in class rcs.posemath.PmQuaternion +
      +
    grid_color - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    +
    +

    +H

    +
    +
    handle_mouseDragged() - +Method in class diagapplet.HierarchyPanel +
      +
    HandleErrorInUpdate(Exception) - +Method in class rcs.nml.PackedFormatConverter +
      +
    handleKeyEvent(KeyEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    HandleResize() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    has_been_plotted - +Variable in class diagapplet.CodeGen.BufferInfo +
    Has the diagnosics tool already plotted this buffer since reading it? +
    hashtable - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    hasMoreElements() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    hasMoreTokens() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    have_initialize - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    have_prototypes_header - +Variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    header_dir_vector - +Variable in class rcs.nml.NMLConfigInfo +
      +
    headerFiles - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    heading_string - +Variable in class diagapplet.plotter.PlotData +
      +
    HiddenInfo - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    hide_errors - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    HierarchyPanel - Class in diagapplet
    Heavy weight panel component used in old original diagnostics applet and current RCS Design Tool.
    HierarchyPanel(int, int) - +Constructor for class diagapplet.HierarchyPanel +
      +
    HierarchyPanel() - +Constructor for class diagapplet.HierarchyPanel +
      +
    homMatsChk(double[][], double[][], double[][], double[][]) - +Static method in class rcs.posemath.Posemath +
      +
    homMatsPrePostMult(double[][], double[][], double[][]) - +Static method in class rcs.posemath.Posemath +
      +
    homMatsToPoseList(double[][]) - +Static method in class rcs.posemath.Posemath +
      +
    horzScrollbar - +Variable in class diagapplet.HierarchyPanel +
      +
    host - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    Host - +Variable in class diagapplet.CodeGen.ServerInfo +
      +
    hours - +Variable in class rcs.nml.CMS_TIME +
      +
    hppExtField - +Variable in class rcsdesign.rcsDesignGui +
      +
    hppExtLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    HTTPhost - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    HTTPport - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    HTTPport - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    +
    +

    +I

    +
    +
    id - +Variable in class diagapplet.CodeGen.BufferInfo +
    Integer Id used only by Design Tool. +
    id - +Variable in class diagapplet.CodeGen.ChannelInfo +
      +
    Id - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    id - +Variable in class diagapplet.CodeGen.ServerInfo +
      +
    Id - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    ignore_repaint_requests - +Static variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    ignore_repaint_requests - +Static variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    ignored_header_list - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    ImageJFrame - Class in diagapplet.utils
    A swing Jframe that adds controls to an ImageJPanel to display + scale, and cycle through a set of images.
    ImageJFrame() - +Constructor for class diagapplet.utils.ImageJFrame +
    Creates new form ImageJFrame +
    ImageJPanel - Class in diagapplet.utils
    Swing JPanel that displays an image inside a scrollpane.
    ImageJPanel() - +Constructor for class diagapplet.utils.ImageJPanel +
    Creates new form ImageJPanel +
    img_painter - +Variable in class diagapplet.utils.ImageJPanel +
      +
    ImportController() - +Method in class rcsdesign.rcsDesign +
      +
    ImportController(String, String, String) - +Method in class rcsdesign.rcsDesign +
      +
    importing - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    in_line_segment(PM_LINE, PM_CARTESIAN, double) - +Static method in class rcs.posemath.Posemath +
      +
    inc_bytes_read(int) - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    inc_bytes_read(int) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    inc_bytes_read(int) - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    include_dir_vector - +Variable in class rcs.nml.NMLConfigInfo +
      +
    includesLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    includesList - +Variable in class rcsdesign.rcsDesignGui +
      +
    Info - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    Info - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    Info - +Variable in class diagapplet.CodeGen.ServerInfo +
      +
    info_string - +Static variable in class rcs.RCS_VERSION +
    String in which a brief message describing the library, it's version + and compile date etc. +
    infoContains(String) - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    init() - +Method in class diagapplet.CodeGen.CodeGen +
      +
    init(String, int, String, String) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    init() - +Method in class rcsdesign.rcsDesign +
      +
    InitializeClassList() - +Method in class diagapplet.CodeGen.CodeGen +
    Used by RCS Design tool. +
    InitializeClassList() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    initialized - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    InitializeLists() - +Method in class rcsdesign.rcsDesign +
      +
    input_stream - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    input_string - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    input_string_tokenizer - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    inside_alert - +Variable in class rcsdesign.rcsDesignGui +
      +
    inside_init - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    inside_namespace - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    inside_query - +Variable in class rcsdesign.rcsDesignGui +
      +
    inside_resizeable_window - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    inside_run - +Variable in class rcsdesign.rcsDesignGui +
      +
    insideNameSpace - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    int_to_string_hash - +Variable in class rcs.nml.NML_ENUM_INFO +
      +
    integral - +Variable in class diagapplet.plotter.PlotData +
      +
    internal_exception - +Variable in exception rcs.nml.NMLException +
    If an exception was thrown by some function called from within + NML such as a socket call, the exception will be caught and + wrapped in an NMLException and then thrown. +
    interrupt_file_loading - +Static variable in class rcs.utils.URL_and_FileLoader +
      +
    interrupt_loading - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    intersection(PM_LINE) - +Method in class rcs.posemath.PM_LINE +
      +
    intersection(PM_LINE, PM_LINE) - +Static method in class rcs.posemath.Posemath +
      +
    inv() - +Method in class rcs.posemath.PM_XYA +
      +
    inv(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    inv(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    inv(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    inv(PM_POSE) - +Static method in class rcs.posemath.Posemath +
      +
    inv(PM_XYA) - +Static method in class rcs.posemath.Posemath +
      +
    inv(PM_HOMOGENEOUS) - +Static method in class rcs.posemath.Posemath +
      +
    is_check_errlog_flag_set() - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    is_connected - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    is_connected() - +Method in class diagapplet.diagPreserve +
    Get the value of connected flag from last run. +
    is_connected() - +Method in class rcs.nml.NMLConnection +
    Get the value of the connected property. +
    is_connected() - +Method in interface rcs.nml.NMLConnectionInterface +
    Get the value of the connected property. +
    is_full_screen - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    IS_FUZZ(double, double) - +Static method in class rcs.posemath.Posemath +
      +
    is_generic(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    is_interrupt_loading() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    is_interrupt_loading() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Return the value of the interrupt_loading property. +
    is_local - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    is_nml_msg - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    is_paused() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    is_preserve_modules_hashtable() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    is_rcs_cmd_msg - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    is_rcs_stat_msg - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    is_union - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    is_y_plot - +Variable in class diagapplet.plotter.PlotData +
      +
    IsAncestor(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    isApply_absolute_value() - +Method in class diagapplet.plotter.plotter_NB_UI +
    Get the value of apply_absolute_value +
    isAuto_connect_disconnect() - +Method in class diagapplet.diagPreserve +
    Getter for property auto_connect_disconnect. +
    isAutomatically_Keep_and_Use_PlotSets() - +Method in class diagapplet.diag_NB_UI +
    Get the value of Automatically_Keep_and_Use_PlotSets +
    isAutomatically_Keep_and_Use_PlotSets() - +Method in class diagapplet.diagPreserve +
    Get the value of Automatically_Keep_and_Use_PlotSets +
    isConnected() - +Method in class diagapplet.CodeGen.BufferInfo +
    Getter for property connected. +
    isDefault_poll_state() - +Static method in class rcs.nml.NMLConnection +
      +
    IsDouble(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    IsInteger(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    isIsArray() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property isArray. +
    isIsAux() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property isAux. +
    isIsCmd() - +Method in class diagapplet.plotTrackerPreserve +
    Getter for property isCmd. +
    isLocked() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    isMathString(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    isMoved() - +Method in class diagapplet.diagPreserve +
    Getter for property moved. +
    IsNMLMsg(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    IsNonUpdatebleClass(StructureTypeInfo) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    isNorm(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    isNorm(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    isNorm(PM_ROTATION_VECTOR) - +Static method in class rcs.posemath.Posemath +
      +
    isNorm(PM_ROTATION_MATRIX) - +Static method in class rcs.posemath.Posemath +
      +
    isNorm(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    isNosplit() - +Method in class diagapplet.plotter.plotter_NB_UI +
    Get the value of nosplit +
    IsOpenStructure(String) - +Method in class diagapplet.utils.FastListPanel +
      +
    isPoll() - +Method in class rcs.nml.NMLConnection +
      +
    IsRcsStatMsg(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    IsRcsStatMsgV2(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    isRead_only() - +Method in class rcs.nml.NMLConnection +
      +
    isResized() - +Method in class diagapplet.diagPreserve +
    Getter for property resized. +
    isSelected(int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    isSelected(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    isSelected(int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    isSelected(int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    isUse_Interpolation() - +Method in class diagapplet.plotter.plotter_NB_UI +
    Get the value of Use_Interpolation +
    isVisible() - +Method in class diagapplet.plotter.PlotData +
      +
    isWrite_only() - +Method in class rcs.nml.NMLConnection +
      +
    isWriter - +Variable in class diagapplet.CodeGen.ChannelInfo +
      +
    items_list - +Variable in class rcs.nml.NMLSingleVarLog +
      +
    itemStateChanged(ItemEvent) - +Method in class diagapplet.utils.CountList +
      +
    itemStateChanged(ItemEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    itemStateChanged(ItemEvent) - +Method in class diagapplet.utils.WatchVarEditor +
      +
    itemStateChanged(ItemEvent) - +Method in class rcsdesign.rcsDesign +
      +
    +
    +

    +J

    +
    +
    JavaClassArrayInitializers - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    javaCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    javaCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    JavaDefinition - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    javaSetupArea - +Variable in class rcsdesign.rcsDesignGui +
      +
    javaSetupLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    JavaUpdateFunction - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    jcrypt - Class in rcs.utils
    This class provides a Java-based implementation of the unix crypt command.
    JListFastListPanel - Class in diagapplet.utils
    Swing version of FastListPanel
    JListFastListPanel(JList) - +Constructor for class diagapplet.utils.JListFastListPanel +
      +
    JPaintablePanel - Class in diagapplet
    A JPanel that calls a seperate PainterInterface object to do its painting.
    JPaintablePanel() - +Constructor for class diagapplet.JPaintablePanel +
    Creates a new instance of JPaintablePanel +
    +
    +

    +K

    +
    +
    k2_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    keep_old_configs - +Static variable in class rcs.nml.NMLConnection +
    Should NML store configuration data to make + connecting to new buffers faster? + + Default : true +
    keyPressed(KeyEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    keyPressed(KeyEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    keyReleased(KeyEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    keyReleased(KeyEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    keyTyped(KeyEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    keyTyped(KeyEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    keyVector - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    +
    +

    +L

    +
    +
    l64_mode - +Variable in class rcs.nml.PackedFormatConverter +
      +
    l_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    label_grid - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    label_points - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    last - +Variable in class rcs.nml.time_tracker +
    Last time cycle was called +
    last_bad_rotmat - +Static variable in class rcs.posemath.Posemath +
      +
    last_compare_index - +Variable in class diagapplet.plotter.PlotData +
      +
    last_echo_serial_number_displayed - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_items_sent_size - +Variable in class rcs.nml.NMLSingleVarLog +
      +
    last_java_classname - +Variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    last_msg_read - +Variable in class rcs.nml.NMLConnection +
      +
    last_new_command_time - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_new_echo_serial_time - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_new_stat_time - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_pp_set - +Variable in class diagapplet.plotter.PlotData +
      +
    last_pp_set_index - +Variable in class diagapplet.plotter.PlotData +
      +
    last_selected_command_index - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_selected_msg_index - +Variable in class diagapplet.CodeGen.BufferInfo +
      +
    last_serial_number_displayed - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    last_size - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    last_x - +Variable in class diagapplet.plotter.PlotData +
      +
    last_y - +Variable in class diagapplet.plotter.PlotData +
      +
    lastCmdName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    lastStatName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    lhui - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    lhui - +Static variable in class diagapplet.CodeGen.ModuleInfo +
    Object that can notify a progres bar etc of progress. +
    libsLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    libsList - +Variable in class rcsdesign.rcsDesignGui +
      +
    limitString(String, int) - +Static method in class rcs.nml.XMLFormatConverter +
      +
    line - +Variable in class rcs.nml.RCS_STAT_MSG +
    Modules that use simple state tables ussually provide + the last line matched in the state table here. +
    line_to_sub_drawn - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    LineFitTester - Class in rcs.posemath
     
    LineFitTester() - +Constructor for class rcs.posemath.LineFitTester +
      +
    lines_read - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    lines_visible - +Variable in class diagapplet.utils.FastListPanel +
      +
    list_changed - +Variable in class diagapplet.utils.FastListPanel +
      +
    list_modules_by_number - +Variable in class rcsdesign.rcsDesignGui +
      +
    LOAD - +Static variable in class diagapplet.utils.ModifiedFileDialog +
      +
    LoadAuxBuffersFromNmlConfigFile(String) - +Method in class diagapplet.diag_NB_UI +
    Searches the NML configuration file and adds a new AuxBuffer for each buffer that + is not queued and has the "header=" option set. +
    LoadAuxTypeFile(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadAuxTypes() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadByteArray(byte[], int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    LoadDataString() - +Method in class diagapplet.utils.WatchJPanel +
      +
    LoadDataStringFile(File) - +Method in class diagapplet.MessageFileJFrame +
      +
    LoadDataStringFile(String) - +Method in class diagapplet.MessageFileJFrame +
      +
    LoadDataStringFile(File) - +Method in class diagapplet.utils.WatchJPanel +
      +
    loader - +Variable in class rcs.nml.NMLConfigInfo +
      +
    loadFile(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    LoadFile(String) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    LoadFloatArray(String, float[]) - +Method in class diagapplet.plotter.plotter_NB_UI +
    Loads an arrays into a single plot and displays it. +
    LoadFloatArray(String, float[]) - +Method in class diagapplet.plotter.plotterJFrame +
    Loads an arrays into a single plot and displays it. +
    LoadHierarchy() - +Method in class diagapplet.CodeGen.CodeGen +
    See CodeGenCommon.LoadHierarchy() +
    LoadHierarchy() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    LoadHierarchy() - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Load the hierarchy parsing the file set with set_m_hierarchyFile(). +
    LoadHierarchyNewThread(String, LoadHierarchyUpdateInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    LoadHierarchyUpdateInterface - Interface in diagapplet.CodeGen
    An interface used to update a graphical progress bar and status text with information + on the progress loading a hierarchy, configuration file etc.
    LoadImage(String) - +Method in class diagapplet.utils.ImageJPanel +
      +
    LoadImage(BufferedImage) - +Method in class diagapplet.utils.ImageJPanel +
      +
    LoadImageF(File) - +Method in class diagapplet.utils.ImageJPanel +
      +
    LoadImageFileVector(Vector<File>) - +Method in class diagapplet.utils.ImageJFrame +
      +
    LoadInfo(String, String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadInfo() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadListsFromCurModule() - +Method in class rcsdesign.rcsDesign +
      +
    LoadOptions() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    LoadPackedFile(File) - +Method in class diagapplet.MessageFileJFrame +
      +
    LoadPackedFile(File) - +Method in class diagapplet.utils.WatchJPanel +
      +
    LoadPredefinedTypeFile(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadPredefinedTypes() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    LoadXMLFile(File) - +Method in class diagapplet.MessageFileJFrame +
      +
    LoadXMLFile(File) - +Method in class diagapplet.utils.WatchJPanel +
      +
    LoadXYFloatArrays(String, float[], float[]) - +Method in class diagapplet.plotter.plotter_NB_UI +
    Loads two arrays into a single plot and displays it. +
    LoadXYFloatArrays(String, float[], float[]) - +Method in class diagapplet.plotter.plotterJFrame +
    Loads two arrays into a single plot and displays it. +
    login(String, String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    login(String, String) - +Method in class rcs.nml.NMLConnection +
    This function allows the application to gain access to + NML servers with security enabled. +
    loginNoThrow(String, String) - +Method in class rcs.nml.NMLConnection +
    Login to an NML server using a name and passwd. +
    loginNoThrow(String, String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Login to an NML server using a name and passwd. +
    loginTCP(String, String) - +Method in class rcs.nml.NMLConnection +
      +
    LogTimeEntry - Class in rcs.nml
    Class representing one entry in an indexed log.
    LogTimeEntry(String, double, int, int) - +Constructor for class rcs.nml.LogTimeEntry +
    Constructor to initialize all properties. +
    +
    +

    +M

    +
    +
    m_cmd_read_Connection - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_cmd_structInfoHashTable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_cmd_write_Connection - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_color - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    m_enumInfoHashTable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_fStandAlone - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    m_loadedPreDefinedTypes - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_loadingPanel - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_stat_read_Connection - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_stat_structInfoHashTable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_stat_write_Connection - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_structInfoByNameHashTable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    m_structInfoHashTable - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    mag() - +Method in class rcs.posemath.PmCartesian +
      +
    mag(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    mag(PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    mag(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    mag(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    main(String[]) - +Static method in class diagapplet.CodeGen.CodeGen +
    Deprecated. Use CodeGenCmdLine instead. +
    main(String[]) - +Static method in class diagapplet.CodeGen.CodeGenCmdLine +
    Main function, call with "--help" to see full list of possible arguments. +
    main(String[]) - +Static method in class diagapplet.diag_NB_UI +
    Main function --normally opens a new Diagnostics Window + run with --help to see available command line options. +
    main(String[]) - +Static method in class diagapplet.MessageFileJFrame +
      +
    main(String[]) - +Static method in class diagapplet.plotter.plotterJFrame +
    Main -- opens and displays a new Frame reading in optional files to plot. +
    main(String[]) - +Static method in class diagapplet.plotter.StatsTextJFrame +
      +
    main(String[]) - +Static method in class diagapplet.utils.ImageJFrame +
      +
    main(String[]) - +Static method in class diagapplet.utils.ModifiedFileDialog +
      +
    main(String[]) - +Static method in class diagapplet.utils.URlLoadInfoFrame +
      +
    main(String[]) - +Static method in class rcs.nml.PackedFileReader +
      +
    main(String[]) - +Static method in class rcs.posemath.LineFitTester +
      +
    main(String[]) - +Static method in class rcs.posemath.Posemath +
      +
    main(String[]) - +Static method in class rcs.RCS_VERSION +
    Running this class as a stand-alone application displays + the RCS Library version information and the Java System + properties. +
    main(String[]) - +Static method in class rcs.utils.jcrypt +
    Main function called when the class is run as a standalone program. +
    main(String[]) - +Static method in class rcs.utils.StrToInt +
      +
    main(String[]) - +Static method in class rcs.utils.StrToLong +
      +
    main(String[]) - +Static method in class rcsdesign.rcsDesign +
      +
    main_applet_thread - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    main_window - +Static variable in class rcsdesign.rcsDesign +
      +
    mainLoopHostField - +Variable in class rcsdesign.rcsDesignGui +
      +
    mainLoopHostLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    mainLoopLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    mainLoopList - +Variable in class rcsdesign.rcsDesignGui +
      +
    MainLoopName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    makeBackupsCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    makeCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    makeCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    MakeListGeneric(FastListPanelInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    makeVisible(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    manual_resize(int, int) - +Method in class diagapplet.utils.StandAloneApplet +
      +
    mark_points - +Variable in class diagapplet.plotter.PlotData +
      +
    mark_points - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    MarkAllFiles() - +Method in class rcsdesign.rcsDesign +
      +
    MarkCommonFiles() - +Method in class rcsdesign.rcsDesign +
      +
    MarkLoopFiles(String) - +Method in class rcsdesign.rcsDesign +
      +
    MarkModuleFiles(String, boolean) - +Method in class rcsdesign.rcsDesign +
      +
    max - +Variable in class rcs.nml.time_tracker +
    Maximum difference in time between consecutive calls to cycle() +
    max_children_in_generation - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    max_cmd_var_number - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    MAX_FILE_PANEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_FILE_PANEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_FILE_TEXT_LENGTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_FILE_TEXT_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_HEIGHT - +Static variable in class diagapplet.HierarchyPanel +
      +
    MAX_HIERARCHY_PANEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MAX_HIERARCHY_PANEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    max_module_number - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    max_orig_x - +Variable in class diagapplet.plotter.PlotData +
      +
    max_orig_y - +Variable in class diagapplet.plotter.PlotData +
      +
    max_plot_var_number - +Variable in class diagapplet.CodeGen.BufferInfo +
    The hightest variable number needed for plotting. +
    max_points_per_plot - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    max_pre_f_x - +Variable in class diagapplet.plotter.PlotData +
      +
    max_pre_f_y - +Variable in class diagapplet.plotter.PlotData +
      +
    max_stat_var_number - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    max_time - +Variable in class diagapplet.plotter.PlotData +
      +
    MAX_WIDTH - +Static variable in class diagapplet.HierarchyPanel +
      +
    max_x - +Variable in class diagapplet.plotter.PlotData +
      +
    max_y - +Variable in class diagapplet.plotter.PlotData +
      +
    maxA(double[]) - +Static method in class rcs.posemath.Posemath +
      +
    mean - +Variable in class diagapplet.plotter.PlotData +
      +
    mean(List<Double>) - +Static method in class rcs.posemath.Posemath +
      +
    mean(Double[]) - +Static method in class rcs.posemath.Posemath +
      +
    mean(double[]) - +Static method in class rcs.posemath.Posemath +
      +
    message - +Variable in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    message_data - +Variable in class diagapplet.CodeGen.BufferInfo +
    Message data after conversion to a comma delimited string. +
    message_dictionary - +Variable in class rcs.nml.NMLConnection +
      +
    message_length - +Variable in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    MessageFileJFrame - Class in diagapplet
     
    MessageFileJFrame() - +Constructor for class diagapplet.MessageFileJFrame +
    Creates new form MessageFileJFrame +
    mi - +Variable in class diagapplet.CodeGen.BufferInfo +
    ModuleInfo associated with this buffer. +
    min - +Variable in class rcs.nml.time_tracker +
    Minimum difference in time between consecutive calls to cycle() +
    MIN_FILE_PANEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MIN_FILE_PANEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MIN_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MIN_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MIN_HEIGHT - +Static variable in class diagapplet.HierarchyPanel +
      +
    MIN_HIERARCHY_PANEL_HEIGHT_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    MIN_HIERARCHY_PANEL_WIDTH_DEFAULT - +Static variable in class rcsdesign.rcsDesign +
      +
    min_orig_x - +Variable in class diagapplet.plotter.PlotData +
      +
    min_orig_y - +Variable in class diagapplet.plotter.PlotData +
      +
    min_pre_f_x - +Variable in class diagapplet.plotter.PlotData +
      +
    min_pre_f_y - +Variable in class diagapplet.plotter.PlotData +
      +
    min_time - +Variable in class diagapplet.plotter.PlotData +
      +
    MIN_WIDTH - +Static variable in class diagapplet.HierarchyPanel +
      +
    min_x - +Variable in class diagapplet.plotter.PlotData +
      +
    min_y - +Variable in class diagapplet.plotter.PlotData +
      +
    minutes - +Variable in class rcs.nml.CMS_TIME +
      +
    miscError() - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    miscError(Exception) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    miscError() - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Log Information about this dictionary when generic NML error occurs. +
    miscError(Exception) - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Log Information about this dictionary when NML error occurs with a related Exception + called by NMLFormatConvertErrCallbackInterface +
    miscError(NMLMessageDictionary) - +Method in interface rcs.nml.NMLFormatConvertErrCallbackInterface +
      +
    miscError(NMLMessageDictionary, Exception) - +Method in interface rcs.nml.NMLFormatConvertErrCallbackInterface +
      +
    mode - +Variable in class diagapplet.utils.ModifiedFileDialog +
      +
    ModifiedFileDialog - Class in diagapplet.utils
    Custom AWT File Dialog to select a file.
    ModifiedFileDialog(Frame, String, int, String, String) - +Constructor for class diagapplet.utils.ModifiedFileDialog +
      +
    ModifiedFileDialog(Frame, String, int) - +Constructor for class diagapplet.utils.ModifiedFileDialog +
      +
    modsInLoopLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    modsInLoopList - +Variable in class rcsdesign.rcsDesignGui +
      +
    MODULE_HEIGHT - +Static variable in class diagapplet.HierarchyPanel +
      +
    module_number - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    MODULE_WIDTH - +Static variable in class diagapplet.HierarchyPanel +
      +
    MODULE_X_SPACING - +Static variable in class diagapplet.HierarchyPanel +
      +
    MODULE_XOFFSET - +Static variable in class diagapplet.HierarchyPanel +
      +
    MODULE_Y_SPACING - +Static variable in class diagapplet.HierarchyPanel +
      +
    MODULE_YOFFSET - +Static variable in class diagapplet.HierarchyPanel +
      +
    moduleClassName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    ModuleInfo - Class in diagapplet.CodeGen
    Class contains references to all information taken from a Module section of + a diag or hierarchy file.
    ModuleInfo(DiagNMLMsgDictCreatorInterface, NMLConnectionCreatorInterface) - +Constructor for class diagapplet.CodeGen.ModuleInfo +
      +
    ModuleInfoInterface - Interface in diagapplet.CodeGen
    Interface to the ModuleInfo class, used to reduce circlular dependancies.
    ModuleName - +Variable in class diagapplet.CodeGen.ChannelInfo +
      +
    modulePreserve - Class in diagapplet
    Stores all of the information related to one module in the hierarchy + kept between sessions by the diagnostics tool.
    modulePreserve() - +Constructor for class diagapplet.modulePreserve +
    Creates a new instance of modulePreserve +
    modulesCountList - +Variable in class diagapplet.HierarchyPanel +
      +
    modulesList - +Variable in class rcsdesign.rcsDesignGui +
      +
    ModulesReadingAuxOutput - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    monitored_repaint() - +Method in class diagapplet.HierarchyPanel +
      +
    monitored_repaint() - +Method in class rcsdesign.rcsDesign +
      +
    months - +Variable in class rcs.nml.CMS_DATE +
      +
    mouseClicked(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseClicked(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mouseClicked(MouseEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    mouseDragged(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseDragged(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mouseEntered(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseEntered(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mouseEntered(MouseEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    mouseExited(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseExited(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mouseExited(MouseEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    mouseMoved(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseMoved(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mousePressed(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mousePressed(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mousePressed(MouseEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    mouseReleased(MouseEvent) - +Method in class diagapplet.HierarchyPanel +
      +
    mouseReleased(MouseEvent) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    mouseReleased(MouseEvent) - +Method in class diagapplet.utils.FastListPanel +
      +
    msg_dict - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    msg_size - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    msg_to_update - +Variable in class rcs.nml.NMLFormatConverter +
    Message being updated. +
    msg_type - +Variable in class rcs.nml.NMLFormatConverter +
    The type of message being converted. +
    MsgToTimeStamp - Interface in rcs.nml
    Interface passed to tell indexer how to get a timestamp + double seconds since epoch 12:00 AM Jan 1, 1970
    MsgToTimeStamp(NMLmsg) - +Method in interface rcs.nml.MsgToTimeStamp +
    Return the timestamp that should be associated with this message + used for indexing log files. +
    mswinCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    multiply(double) - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    multiply(double) - +Method in class rcs.posemath.PmCartesian +
      +
    multiply(PM_XYA, List<? extends PM_CARTESIAN>) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_XYA, PM_CARTESIAN[]) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_POSE, PM_CARTESIAN[]) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(double, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_CARTESIAN, double) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(double, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PmCartesian, double) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(double, PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_CYLINDRICAL, double) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_ROTATION_VECTOR, double) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(double, PM_ROTATION_VECTOR) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_ROTATION_MATRIX, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_ROTATION_MATRIX, PM_ROTATION_MATRIX) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_QUATERNION, double) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(double, PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_QUATERNION, PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PmQuaternion, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_XYA, PM_XYA) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_XYA, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_POSE, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    multiply(PM_POSE, PM_POSE) - +Static method in class rcs.posemath.Posemath +
      +
    myContainer - +Variable in class diagapplet.utils.FastListPanel +
      +
    +
    +

    +N

    +
    +
    Name - +Variable in class diagapplet.CodeGen.BufferInfo +
    Name of buffer used in NML constructor and config file. +
    Name - +Variable in class diagapplet.CodeGen.ChannelInfo +
      +
    Name - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    Name - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    Name - +Variable in class diagapplet.CodeGen.ServerInfo +
      +
    Name - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    name - +Variable in class diagapplet.plotter.PlotData +
      +
    name - +Variable in class rcs.nml.NML_ENUM_INFO +
      +
    name - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    NameSpace - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    NameSpace - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    nci - +Variable in exception rcs.nml.NMLException +
      +
    ndla_len_string - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    ndla_string - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    ndlaInfo - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    ndlaName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    neg(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    neg(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    new_cmd - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_cmd_count - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_command - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    NEW_COMMAND - +Static variable in class rcs.utils.rcs_states +
      +
    new_command_drawn - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_data_count - +Variable in class diagapplet.CodeGen.BufferInfo +
    How many times have we read new data from this buffer? Can be used to determine + if plotting/redisplay etc is necessary. +
    new_data_count - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_errlog - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_stat - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_stat_count - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_status - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    new_status_drawn - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    NewController() - +Method in class rcsdesign.rcsDesign +
      +
    NewNMLConnection() - +Method in class rcs.nml.NMLConnectionCreator +
      +
    NewNMLConnection() - +Method in interface rcs.nml.NMLConnectionCreatorInterface +
    Create a new NMLConnnection. +
    newOpenStructure - +Variable in class diagapplet.utils.FastListPanel +
      +
    next_default - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    next_update_default(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    next_update_default(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    nextElement() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    nextToken() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    nfceci - +Variable in class rcs.nml.NMLConnection +
      +
    nfceci - +Variable in class rcs.nml.NMLFormatConverterBase +
    True when the data from the network is being converted into a message in + this hosts format, false when a message on this host is being converted to + a neutral format. +
    NML_ASCII_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_DISP_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_DISPLAY - Class in rcs.nml
    Class used to send an operator interface a small text message to display.
    NML_DISPLAY() - +Constructor for class rcs.nml.NML_DISPLAY +
      +
    NML_DISPLAY_TYPE - +Static variable in class rcs.nml.errlogMsgDict +
      +
    NML_ENUM_INFO - Class in rcs.nml
    Information stored about an enumeration passed via NML.
    NML_ENUM_INFO() - +Constructor for class rcs.nml.NML_ENUM_INFO +
      +
    nml_enum_info_for_RCS_ADMIN_STATE - +Static variable in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    nml_enum_info_for_RCS_STATUS - +Static variable in class rcs.nml.RCS_STAT_MSG +
      +
    NML_ERROR - Class in rcs.nml
    Generic class used to send an operator inteface as small text error message.
    NML_ERROR() - +Constructor for class rcs.nml.NML_ERROR +
      +
    NML_ERROR_TYPE - +Static variable in class rcs.nml.errlogMsgDict +
      +
    NML_PACKED_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_PACKEDL64_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_STCP_PROTOCOL_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_TCP_PROTOCOL_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_TEXT - Class in rcs.nml
    Class used to send an operator interface a small text message to display.
    NML_TEXT() - +Constructor for class rcs.nml.NML_TEXT +
      +
    NML_TEXT_TYPE - +Static variable in class rcs.nml.errlogMsgDict +
      +
    NML_UDP_PROTOCOL_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_XDR_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NML_XML_ENCODING_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    NMLBufferConfigInfo - Class in rcs.nml
    Class encapsulating information from the configuration file/server about an NML buffer.
    NMLBufferConfigInfo() - +Constructor for class rcs.nml.NMLBufferConfigInfo +
      +
    nmlcfgsvr - +Variable in class rcs.nml.NMLConfigInfo +
      +
    NMLConfigInfo - Class in rcs.nml
    Class encapsulating all informaation from an NML configuration file/server.
    NMLConfigInfo() - +Constructor for class rcs.nml.NMLConfigInfo +
      +
    NMLConfigurationFile - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    NMLConnection - Class in rcs.nml
    Class for connecting to NML buffers, ussually via network sockets.
    NMLConnection() - +Constructor for class rcs.nml.NMLConnection +
    This constructs an NMLConnection which will not work until + the host and port are set manually or + by reading the NML configuration file with ReadNMLConfigurationFile(). +
    NMLConnection(NMLMessageDictionary, String, String, String) - +Constructor for class rcs.nml.NMLConnection +
    This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately. +
    NMLConnection(NMLMessageDictionary, String, String, String, String[]) - +Constructor for class rcs.nml.NMLConnection +
    This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately. +
    NMLConnectionCreator - Class in rcs.nml
    Creates NMLConnections.
    NMLConnectionCreator() - +Constructor for class rcs.nml.NMLConnectionCreator +
      +
    NMLConnectionCreatorInterface - Interface in rcs.nml
    Interface to NMLConnectionCreator used by CodeGenerator and Diagnostics tool to avoid + circular dependancies.
    NMLConnectionInterface - Interface in rcs.nml
    An interface to NMLConnection used by CodeGenenerator and diagnostics tool to + avoid circular dependancies.
    NMLErrorAppender - Interface in rcs.nml
    Interface used to pass a function that will be called when errors occur so that + they might be log to a TextField of file etc.
    NMLException - Exception in rcs.nml
    The base class for all exceptions thrown by NML.
    NMLException(String, NMLConnectionInterface) - +Constructor for exception rcs.nml.NMLException +
      +
    NMLException(String, NMLConnectionInterface, Exception) - +Constructor for exception rcs.nml.NMLException +
      +
    NMLFormatConverter - Class in rcs.nml
    interface each NMLmsg should use to implement it's update function.
    NMLFormatConverter() - +Constructor for class rcs.nml.NMLFormatConverter +
      +
    NMLFormatConverterBase - Class in rcs.nml
    This class is the base class for all classes used by NML to convert + local data types to some neutral format usable by many different types of + hosts.
    NMLFormatConverterBase() - +Constructor for class rcs.nml.NMLFormatConverterBase +
      +
    NMLFormatConvertErrCallbackInterface - Interface in rcs.nml
    Interface for classes to be called when NML errors occur during formatting to provide + more informative error messages.
    NMLMessageDictionary - Interface in rcs.nml
    The NMLMessageDictionary interface is used to create + custom message sets for NML.
    NMLmsg - Class in rcs.nml
    This is the abstract base class of all messages sent or + recieved via NML.
    NMLmsg() - +Constructor for class rcs.nml.NMLmsg +
      +
    NMLmsg(int) - +Constructor for class rcs.nml.NMLmsg +
    This constructor is to be used by derived types. +
    NMLSingleVarLog - Class in rcs.nml
    The class is used to store the value a single variable extracted + from a large or potentially large message and that was automatically + collected at some frequency.
    NMLSingleVarLog() - +Constructor for class rcs.nml.NMLSingleVarLog +
      +
    NMLSingleVarLogItem - Class in rcs.nml
    Object stored in NMLSingeVarLog items_list;
    NMLSingleVarLogItem() - +Constructor for class rcs.nml.NMLSingleVarLogItem +
      +
    no_cmd - +Variable in class diagapplet.CodeGen.ModuleInfo +
    Does this module have no associated command buffer? +
    no_enums - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    no_errlog - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    no_errlog_env_tested - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    no_format - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    no_key - +Variable in class diagapplet.plotter.PlotData +
      +
    no_stat - +Variable in class diagapplet.CodeGen.ModuleInfo +
    Dos this module have no associated status buffer? +
    no_swig - +Static variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    NOP_STATE - +Static variable in class rcs.utils.rcs_states +
      +
    norm() - +Method in class rcs.posemath.PmRpy +
      +
    norm(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    norm(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
      +
    norm(PM_ROTATION_VECTOR) - +Static method in class rcs.posemath.Posemath +
      +
    norm(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    normal - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    normal - +Variable in class rcs.posemath.PmCircle +
      +
    now - +Variable in class rcs.nml.time_tracker +
    Current time when cycle was called. +
    num - +Variable in class diagapplet.plotter.PlotData +
      +
    num_channels - +Static variable in class diagapplet.CodeGen.ChannelInfo +
      +
    num_modules - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    +
    +

    +O

    +
    +
    objExtField - +Variable in class rcsdesign.rcsDesignGui +
      +
    objExtLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    on_aux_msg_list - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    OpenController() - +Method in class rcsdesign.rcsDesign +
      +
    openStructures - +Variable in class diagapplet.utils.FastListPanel +
      +
    orig_args - +Static variable in class rcsdesign.rcsDesign +
      +
    output_data_size - +Variable in class rcs.nml.NMLConnection +
      +
    output_stream - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    output_string_buffer - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    override_names_hashtable - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    overwriteAlwaysCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    overwriteGroup - +Variable in class rcsdesign.rcsDesignGui +
      +
    overwriteLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    overwriteNeverCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    overwritePromptCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    +
    +

    +P

    +
    +
    p - +Variable in class rcs.posemath.PmRpy +
      +
    p2_count - +Variable in class diagapplet.plotter.PlotData +
      +
    PackedFileReader - Class in rcs.nml
    Class that allows the reading of packed files directly without using + an NMLConnection.
    PackedFileReader(NMLMessageDictionary, boolean) - +Constructor for class rcs.nml.PackedFileReader +
    Create a PackedFileReader for reading log files of a given set of types. +
    PackedFileWriter - Class in rcs.nml
    Class that allows the writing of packed files directly without using + an NMLConnection.
    PackedFileWriter(NMLMessageDictionary, boolean) - +Constructor for class rcs.nml.PackedFileWriter +
      +
    PackedFormatConverter - Class in rcs.nml
    The PackedFormatConverter converts NML message classes to Packed.
    PackedFormatConverter(boolean) - +Constructor for class rcs.nml.PackedFormatConverter +
      +
    paint(Graphics) - +Method in class diagapplet.CodeGen.CodeGen +
      +
    paint(Graphics) - +Method in class diagapplet.HierarchyPanel +
      +
    paint(Graphics) - +Method in class diagapplet.utils.FastListPanel +
      +
    paint(Graphics) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    paint(Graphics) - +Method in class rcsdesign.rcsDesign +
      +
    paint_count - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    paintAll(Graphics) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    paintCartesianGrid(Graphics) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    paintComponent(Graphics) - +Method in class diagapplet.JPaintablePanel +
      +
    paintComponent(Graphics) - +Method in interface diagapplet.PainterInterface +
    Paint to the graphics object. +
    paintComponent(Graphics) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    paintComponent(Graphics) - +Method in class diagapplet.utils.fullScreenJPanelClass +
      +
    paintDraggingRect(Graphics) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    painter - +Variable in class diagapplet.JPaintablePanel +
      +
    PainterInterface - Interface in diagapplet
    Interface that allows the creation classes resposible for painting a component without + needing to be derived from java.awt.Component or javax.swing.JComponent.
    paintGraph(Graphics) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    paintHierarchy(Graphics) - +Method in class diagapplet.HierarchyPanel +
      +
    painting - +Variable in class diagapplet.plotter.PlotData +
      +
    PARAM_AddSetHeader - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_ConfigFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_CreatePrintSizesFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_DebugOn - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_DisplayOn - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_DlaLengthInit - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateAllEnumSymbolLookups - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateForAda - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateForAllLangs - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateForC - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateForCPP - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateForJava - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_GenerateSymbolLookups - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_HeaderFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_HFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_HHFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_HierarchyFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_JavaPackageName - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_NoErrlog - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_PrintScript - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_ScriptFile - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_SelectFromAllFiles - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_SizesFileName - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_UpdateWithName - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    PARAM_UseDefaultTypes - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    parent - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    parent - +Variable in class diagapplet.MessageFileJFrame +
      +
    parent_applet - +Static variable in class diagapplet.utils.CountList +
      +
    parentFrame - +Variable in class diagapplet.HierarchyPanel +
      +
    parentFrame - +Variable in class rcsdesign.rcsDesignGui +
      +
    parse_error_string - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    parse_error_to_send - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    ParseAdditionalOptions(String[]) - +Method in class rcs.nml.NMLConnection +
      +
    ParseInfo() - +Method in class diagapplet.CodeGen.ServerInfo +
      +
    ParseOptionsInfo() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    pattern - +Variable in class rcs.utils.SimpleFileFilter +
      +
    peek() - +Method in class rcs.nml.NMLConnection +
    Read an NMLmsg but do not change the was_read flag. +
    peek_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    peekDataString() - +Method in class rcs.nml.NMLConnection +
    Reads an NMLmsg using peek() and converts it to a String. +
    peekDataStringNoThrow() - +Method in class rcs.nml.NMLConnection +
    Peek a message and convert it to a comma delimeted string. +
    peekDataStringNoThrow() - +Method in interface rcs.nml.NMLConnectionInterface +
    Peek a message and convert it to a comma delimeted string. +
    peekSTCPDataString() - +Method in class rcs.nml.NMLConnection +
      +
    peekTCP() - +Method in class rcs.nml.NMLConnection +
      +
    peekTCP_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    peekUDP() - +Method in class rcs.nml.NMLConnection +
      +
    peekUDP_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    phi - +Variable in class rcs.posemath.PmSpherical +
      +
    PI - +Static variable in class rcs.posemath.Posemath +
      +
    PI_2 - +Static variable in class rcs.posemath.Posemath +
      +
    PI_4 - +Static variable in class rcs.posemath.Posemath +
      +
    platLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    platList - +Variable in class rcsdesign.rcsDesignGui +
      +
    PlotData - Class in diagapplet.plotter
    Class containing all of the data for a single plot.
    PlotData() - +Constructor for class diagapplet.plotter.PlotData +
      +
    PlotGraphJPanel - Class in diagapplet.plotter
    JPanel for the actual graph without the controls around the outside.
    PlotGraphJPanel() - +Constructor for class diagapplet.plotter.PlotGraphJPanel +
      +
    plots - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    plotSetPreserve - Class in diagapplet
    Stores all of the information kept between sessions about a single PlotSet by the diagnostics tool.
    plotSetPreserve() - +Constructor for class diagapplet.plotSetPreserve +
    Creates a new instance of plotSetPreserve +
    plotter_NB_UI - Class in diagapplet.plotter
    Contain JPanel with PlotGraphJPanel in the center surrounded by several controls.
    plotter_NB_UI() - +Constructor for class diagapplet.plotter.plotter_NB_UI +
    Creates new form plotter_NB_UI +
    plotter_num - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    plotterJFrame - Class in diagapplet.plotter
    Seperate Frame with only a plotter_NB_UI inside.
    plotterJFrame() - +Constructor for class diagapplet.plotter.plotterJFrame +
    Creates new form plotterJFrame +
    plotToImage() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    plotToImage(int, int) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    plotToImage() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    plotToImage(int, int) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    plotTrackerPreserve - Class in diagapplet
    Stores all of the information kept between sessions about a single plot by the diagnostics tool.
    plotTrackerPreserve() - +Constructor for class diagapplet.plotTrackerPreserve +
    Creates a new instance of plotTrackerPreserve +
    PM_2_PI - +Static variable in class rcs.posemath.Posemath +
      +
    PM_CARTESIAN - Class in rcs.posemath
     
    PM_CARTESIAN() - +Constructor for class rcs.posemath.PM_CARTESIAN +
      +
    PM_CARTESIAN(PmCartesian) - +Constructor for class rcs.posemath.PM_CARTESIAN +
      +
    PM_CARTESIAN(double, double, double) - +Constructor for class rcs.posemath.PM_CARTESIAN +
      +
    PM_CARTESIAN(PM_CYLINDRICAL) - +Constructor for class rcs.posemath.PM_CARTESIAN +
      +
    PM_CIRCLE - Class in rcs.posemath
     
    PM_CIRCLE() - +Constructor for class rcs.posemath.PM_CIRCLE +
      +
    PM_CYLINDRICAL - Class in rcs.posemath
     
    PM_CYLINDRICAL() - +Constructor for class rcs.posemath.PM_CYLINDRICAL +
      +
    PM_CYLINDRICAL(double, double, double) - +Constructor for class rcs.posemath.PM_CYLINDRICAL +
      +
    PM_CYLINDRICAL(PM_CARTESIAN) - +Constructor for class rcs.posemath.PM_CYLINDRICAL +
      +
    PM_DIV_ERR - +Static variable in exception rcs.posemath.PmException +
      +
    PM_DIV_ERR - +Static variable in class rcs.posemath.Posemath +
      +
    PM_ERR - +Static variable in exception rcs.posemath.PmException +
      +
    PM_ERR - +Static variable in class rcs.posemath.Posemath +
      +
    PM_EULER_ZYX - Class in rcs.posemath
     
    PM_EULER_ZYX(double, double, double) - +Constructor for class rcs.posemath.PM_EULER_ZYX +
      +
    PM_EULER_ZYX() - +Constructor for class rcs.posemath.PM_EULER_ZYX +
      +
    PM_EULER_ZYZ - Class in rcs.posemath
     
    PM_EULER_ZYZ(double, double, double) - +Constructor for class rcs.posemath.PM_EULER_ZYZ +
      +
    PM_EULER_ZYZ() - +Constructor for class rcs.posemath.PM_EULER_ZYZ +
      +
    PM_HOMOGENEOUS - Class in rcs.posemath
     
    PM_HOMOGENEOUS() - +Constructor for class rcs.posemath.PM_HOMOGENEOUS +
      +
    PM_HOMOGENEOUS(float[]) - +Constructor for class rcs.posemath.PM_HOMOGENEOUS +
      +
    PM_HOMOGENEOUS(PM_CARTESIAN, PM_ROTATION_MATRIX) - +Constructor for class rcs.posemath.PM_HOMOGENEOUS +
      +
    PM_IMPL_ERR - +Static variable in exception rcs.posemath.PmException +
      +
    PM_IMPL_ERR - +Static variable in class rcs.posemath.Posemath +
      +
    PM_LINE - Class in rcs.posemath
     
    PM_LINE() - +Constructor for class rcs.posemath.PM_LINE +
      +
    PM_LINE(PM_CARTESIAN, PM_CARTESIAN) - +Constructor for class rcs.posemath.PM_LINE +
      +
    PM_NORM_ERR - +Static variable in exception rcs.posemath.PmException +
      +
    PM_NORM_ERR - +Static variable in class rcs.posemath.Posemath +
      +
    PM_PI - +Static variable in class rcs.posemath.Posemath +
      +
    PM_PI_2 - +Static variable in class rcs.posemath.Posemath +
      +
    PM_PI_4 - +Static variable in class rcs.posemath.Posemath +
      +
    PM_POSE - Class in rcs.posemath
     
    PM_POSE() - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(PmCartesian, PmQuaternion) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(PmCartesian, PmRpy) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(double, double, double, double, double, double, double) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(PM_XYA) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(PmHomogeneous) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_POSE(double[][]) - +Constructor for class rcs.posemath.PM_POSE +
      +
    PM_PRINT_ERROR - +Static variable in class rcs.posemath.Posemath +
      +
    PM_QUATERNION - Class in rcs.posemath
     
    PM_QUATERNION() - +Constructor for class rcs.posemath.PM_QUATERNION +
      +
    PM_QUATERNION(double, double, double, double) - +Constructor for class rcs.posemath.PM_QUATERNION +
      +
    PM_QUATERNION(PM_ROTATION_VECTOR) - +Constructor for class rcs.posemath.PM_QUATERNION +
      +
    PM_ROTATION_MATRIX - Class in rcs.posemath
     
    PM_ROTATION_MATRIX(PmCartesian, PmCartesian, PmCartesian) - +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
      +
    PM_ROTATION_MATRIX() - +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
      +
    PM_ROTATION_MATRIX(double, double, double, double, double, double, double, double, double) - +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
      +
    PM_ROTATION_MATRIX(PM_ROTATION_VECTOR) - +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
      +
    PM_ROTATION_VECTOR - Class in rcs.posemath
     
    PM_ROTATION_VECTOR() - +Constructor for class rcs.posemath.PM_ROTATION_VECTOR +
      +
    PM_ROTATION_VECTOR(double, double, double, double) - +Constructor for class rcs.posemath.PM_ROTATION_VECTOR +
      +
    PM_RPY - Class in rcs.posemath
     
    PM_RPY(double, double, double) - +Constructor for class rcs.posemath.PM_RPY +
      +
    PM_RPY() - +Constructor for class rcs.posemath.PM_RPY +
      +
    PM_RPY(PmQuaternion) - +Constructor for class rcs.posemath.PM_RPY +
      +
    PM_SPHERICAL - Class in rcs.posemath
     
    PM_SPHERICAL() - +Constructor for class rcs.posemath.PM_SPHERICAL +
      +
    PM_SPHERICAL(double, double, double) - +Constructor for class rcs.posemath.PM_SPHERICAL +
      +
    PM_X - +Static variable in class rcs.posemath.Posemath +
      +
    PM_XYA - Class in rcs.posemath
     
    PM_XYA(double, double, double) - +Constructor for class rcs.posemath.PM_XYA +
      +
    PM_XYA() - +Constructor for class rcs.posemath.PM_XYA +
      +
    PM_XYA(PmCartesian) - +Constructor for class rcs.posemath.PM_XYA +
      +
    PM_XYA(PmPose) - +Constructor for class rcs.posemath.PM_XYA +
      +
    PM_XYA(PM_POSE) - +Constructor for class rcs.posemath.PM_XYA +
      +
    PM_Y - +Static variable in class rcs.posemath.Posemath +
      +
    PM_Z - +Static variable in class rcs.posemath.Posemath +
      +
    pmAxisAngleQuatConvert(int, double, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
    Store a quaternion based on a single rotation about an axis +
    pmCartCartAdd(PmCartesian, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartCompare(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartCross(PmCartesian, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartDisp(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartDot(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartProj(PmCartesian, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCartSub(PmCartesian, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCentroid(List<? extends PmCartesian>) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCentroid(PmCartesian[]) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartCylConvert(PmCartesian, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    PmCartesian - Class in rcs.posemath
     
    PmCartesian() - +Constructor for class rcs.posemath.PmCartesian +
      +
    PmCartesian(double, double, double) - +Constructor for class rcs.posemath.PmCartesian +
      +
    pmCartInv(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartIsNorm(PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartMag(PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartNeg(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartNorm(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartPlaneProj(PmCartesian, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartScalDiv(PmCartesian, double, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartScalMult(PmCartesian, double, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmCartSphConvert(PmCartesian, PmSpherical) - +Static method in class rcs.posemath.Posemath +
    Convert a PmCartesian to PmSpherical +
    PmCircle - Class in rcs.posemath
     
    PmCircle() - +Constructor for class rcs.posemath.PmCircle +
      +
    pmCircleInit(PmCircle, PmPose, PmPose, PmCartesian, PmCartesian, int) - +Static method in class rcs.posemath.Posemath +
      +
    pmCirclePoint(PmCircle, double, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmClose(double, double, double) - +Static method in class rcs.posemath.Posemath +
    Determine if a within eps of b. +
    pmCylCartConvert(PmCylindrical, PmCartesian) - +Static method in class rcs.posemath.Posemath +
    Convert cylindrical to cartesian. +
    pmCylCylAdd(PmCylindrical, PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylCylCompare(PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylCylCross(PmCylindrical, PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylCylDot(PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylCylSub(PmCylindrical, PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    PmCylindrical - Class in rcs.posemath
     
    pmCylInv(PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylIsNorm(PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylMag(PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylNeg(PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylNorm(PmCylindrical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylScalDiv(PmCylindrical, double, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylScalMult(PmCylindrical, double, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
      +
    pmCylSphConvert(PmCylindrical, PmSpherical) - +Static method in class rcs.posemath.Posemath +
    Convert a cylindrical to a spherical +
    pmErrno - +Variable in exception rcs.posemath.PmException +
      +
    pmErrno - +Static variable in class rcs.posemath.Posemath +
      +
    PmEulerZyx - Class in rcs.posemath
     
    PmEulerZyx(double, double, double) - +Constructor for class rcs.posemath.PmEulerZyx +
      +
    PmEulerZyx() - +Constructor for class rcs.posemath.PmEulerZyx +
      +
    PmEulerZyz - Class in rcs.posemath
     
    PmEulerZyz(double, double, double) - +Constructor for class rcs.posemath.PmEulerZyz +
      +
    PmEulerZyz() - +Constructor for class rcs.posemath.PmEulerZyz +
      +
    PmException - Exception in rcs.posemath
     
    PmException(int, String) - +Constructor for exception rcs.posemath.PmException +
      +
    pmHomInv(PmHomogeneous, PmHomogeneous) - +Static method in class rcs.posemath.Posemath +
      +
    PmHomogeneous - Class in rcs.posemath
     
    PmHomogeneous(float[]) - +Constructor for class rcs.posemath.PmHomogeneous +
      +
    PmHomogeneous(double[][]) - +Constructor for class rcs.posemath.PmHomogeneous +
      +
    PmHomogeneous() - +Constructor for class rcs.posemath.PmHomogeneous +
      +
    PmHomogeneous(PmCartesian, PmRotationMatrix) - +Constructor for class rcs.posemath.PmHomogeneous +
      +
    pmHomPoseConvert(PmHomogeneous, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    PmLine - Class in rcs.posemath
     
    PmLine() - +Constructor for class rcs.posemath.PmLine +
      +
    pmLineInit(PmLine, PmPose, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmLinePoint(PmLine, double, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatCartMult(PmRotationMatrix, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatInv(PmRotationMatrix, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatIsNorm(PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatMatMult(PmRotationMatrix, PmRotationMatrix, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatNorm(PmRotationMatrix, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatQuatConvert(PmRotationMatrix, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatRotConvert(PmRotationMatrix, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatRpyConvert(PmRotationMatrix, PmRpy) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatZyxConvert(PmRotationMatrix, PmEulerZyx) - +Static method in class rcs.posemath.Posemath +
      +
    pmMatZyzConvert(PmRotationMatrix, PmEulerZyz) - +Static method in class rcs.posemath.Posemath +
      +
    PmPose - Class in rcs.posemath
     
    PmPose() - +Constructor for class rcs.posemath.PmPose +
      +
    PmPose(PmCartesian, PmQuaternion) - +Constructor for class rcs.posemath.PmPose +
      +
    PmPose(PmCartesian, PmRpy) - +Constructor for class rcs.posemath.PmPose +
      +
    PmPose(PmHomogeneous) - +Constructor for class rcs.posemath.PmPose +
      +
    PmPose(double[][]) - +Constructor for class rcs.posemath.PmPose +
      +
    PmPose(double, double, double, double, double, double, double) - +Constructor for class rcs.posemath.PmPose +
      +
    pmPoseCartMult(PmPose, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    pmPoseHomConvert(PmPose, PmHomogeneous) - +Static method in class rcs.posemath.Posemath +
      +
    pmPoseInv(PmPose, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmPosePoseCompare(PmPose, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmPosePoseMult(PmPose, PmPose, PmPose) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatAxisAngleMult(PmQuaternion, int, double) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatAxisAngleMult(PmQuaternion, int, double, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatCartMult(PmQuaternion, PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    PmQuaternion - Class in rcs.posemath
     
    PmQuaternion() - +Constructor for class rcs.posemath.PmQuaternion +
      +
    PmQuaternion(PmRpy) - +Constructor for class rcs.posemath.PmQuaternion +
      +
    PmQuaternion(double, double, double, double) - +Constructor for class rcs.posemath.PmQuaternion +
      +
    pmQuatInv(PmQuaternion, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatIsNorm(PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatMag(PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatMatConvert(PmQuaternion, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatNorm(PmQuaternion, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatQuatCompare(PmQuaternion, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatQuatMult(PmQuaternion, PmQuaternion, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatRotConvert(PmQuaternion, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
    Convert a quaternion to a rotation vector +
    pmQuatRpyConvert(PmQuaternion, PmRpy) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatScalDiv(PmQuaternion, double, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatScalMult(PmQuaternion, double, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatZyxConvert(PmQuaternion, PmEulerZyx) - +Static method in class rcs.posemath.Posemath +
      +
    pmQuatZyzConvert(PmQuaternion, PmEulerZyz) - +Static method in class rcs.posemath.Posemath +
      +
    PmRotationMatrix - Class in rcs.posemath
     
    PmRotationMatrix(PmCartesian, PmCartesian, PmCartesian) - +Constructor for class rcs.posemath.PmRotationMatrix +
      +
    PmRotationMatrix() - +Constructor for class rcs.posemath.PmRotationMatrix +
      +
    PmRotationMatrix(double, double, double, double, double, double, double, double, double) - +Constructor for class rcs.posemath.PmRotationMatrix +
      +
    PmRotationVector - Class in rcs.posemath
     
    PmRotationVector() - +Constructor for class rcs.posemath.PmRotationVector +
      +
    PmRotationVector(double, double, double, double) - +Constructor for class rcs.posemath.PmRotationVector +
      +
    pmRotIsNorm(PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmRotMatConvert(PmRotationVector, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
    Convert a rotation vector to a rotation matrix. +
    pmRotNorm(PmRotationVector, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmRotQuatConvert(PmRotationVector, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
    Convert a rotation vector to a quaternion +
    pmRotRpyConvert(PmRotationVector, PmRpy) - +Static method in class rcs.posemath.Posemath +
      +
    pmRotScalDiv(PmRotationVector, double, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmRotScalMult(PmRotationVector, double, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    PmRpy - Class in rcs.posemath
     
    pmRpyMatConvert(PmRpy, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmRpyQuatConvert(PmRpy, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmRpyRotConvert(PmRpy, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmRpyZyxConvert(PmRpy, PmEulerZyx) - +Static method in class rcs.posemath.Posemath +
      +
    pmRpyZyzConvert(PmRpy, PmEulerZyz) - +Static method in class rcs.posemath.Posemath +
      +
    pmSphCartConvert(PmSpherical, PmCartesian) - +Static method in class rcs.posemath.Posemath +
    Convert PmSherical to PmCartesian +
    pmSphCylConvert(PmSpherical, PmCylindrical) - +Static method in class rcs.posemath.Posemath +
    Convert a spherical to cylindrical +
    PmSpherical - Class in rcs.posemath
     
    PmSpherical(double, double, double) - +Constructor for class rcs.posemath.PmSpherical +
      +
    PmSpherical() - +Constructor for class rcs.posemath.PmSpherical +
      +
    pmSq(double) - +Static method in class rcs.posemath.Posemath +
    Square of x or x*x. +
    pmSqrt(double) - +Static method in class rcs.posemath.Posemath +
    Square root function that adds some extra checks similiar to the + C++ pmSqrt() primarily only exists for converting C++ apps. +
    pmZyxMatConvert(PmEulerZyx, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyxQuatConvert(PmEulerZyx, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyxRotConvert(PmEulerZyx, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyxRpyConvert(PmEulerZyx, PmRpy) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyxZyzConvert(PmEulerZyx, PmEulerZyz) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyzMatConvert(PmEulerZyz, PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyzQuatConvert(PmEulerZyz, PmQuaternion) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyzRotConvert(PmEulerZyz, PmRotationVector) - +Static method in class rcs.posemath.Posemath +
      +
    pmZyzRpyConvert(PmEulerZyz, PmRpy) - +Static method in class rcs.posemath.Posemath +
      +
    point_count - +Variable in class diagapplet.plotter.PlotData +
      +
    point_on_line(PM_LINE, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    point_on_line(PM_LINE, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    point_on_line(PM_CARTESIAN, PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    point_on_line_segment(PM_CARTESIAN, PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    poseListChk(PM_POSE, List<? extends PM_POSE>, PM_POSE, List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    poseListInv(List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    poseListPoseListMultiply(List<? extends PM_POSE>, List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    poseListRandom(int, double, double) - +Static method in class rcs.posemath.Posemath +
      +
    poseListToCartList(List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    poseListToHomMats(List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    poseListToRpyList(List<? extends PM_POSE>) - +Static method in class rcs.posemath.Posemath +
      +
    Posemath - Class in rcs.posemath
    Class created only for its static functions to convert and manipulate + the pose representations in the rest of the package.
    Posemath() - +Constructor for class rcs.posemath.Posemath +
      +
    positioned - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    predefined_type_files - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    PreFinalPassInfo - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    prePostMultiplyList(List<? extends PM_POSE>, PM_POSE, PM_POSE) - +Static method in class rcs.posemath.Posemath +
      +
    preset_x - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    preset_y - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    previous_commands - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    previous_url_loaded - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    previously_read_nml_configurations - +Static variable in class rcs.nml.NMLConnection +
      +
    primaryStatusType - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    print() - +Method in class diagapplet.HierarchyPanel +
      +
    print() - +Static method in class rcs.RCS_VERSION +
    Function that prints the info_string to System.out +
    print_est_size_info - +Variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    print_v - +Variable in class diagapplet.plotter.PlotData +
      +
    printCorrelationShifts(String, int, String, int, double, double, double, PrintStream) - +Static method in class rcs.posemath.Posemath +
      +
    PrintError(String) - +Static method in class diagapplet.diag_NB_UI +
    Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists. +
    PrintException(Throwable) - +Static method in class diagapplet.diag_NB_UI +
    Prints a specially formatted version of the Exception/Throwable including stack tracke both to + stderr and appended to + the Error Panel TextField of the First created instance of diag_NB_UI if one + exists. +
    PrintException(Exception) - +Static method in class diagapplet.utils.DiagError +
      +
    printHelp() - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    PrintInfo(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    PrintInfo(StructureTypeInfo, String, int, int) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    println(String) - +Static method in class diagapplet.utils.DiagError +
      +
    printThreadInfo() - +Static method in class rcsdesign.rcsDesignGui +
      +
    printWhereAmI() - +Static method in class rcs.utils.rcs_states +
    Get a formatted stack trace. +
    proj(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    PROP_X_GRID - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    PROP_Y_GRID - +Static variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    protocol_option - +Variable in class rcs.nml.NMLConnection +
      +
    prototypes_header_string - +Variable in class diagapplet.CodeGen.CodeGenCommon +
      +
    +
    +

    +Q

    +
    +
    Q_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    QS_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    QSIN_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    Query(String) - +Method in class rcsdesign.rcsDesignGui +
      +
    +
    +

    +R

    +
    +
    r - +Variable in class rcs.posemath.PmCylindrical +
      +
    r - +Variable in class rcs.posemath.PmRpy +
      +
    r - +Variable in class rcs.posemath.PmSpherical +
      +
    radius - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    radius - +Variable in class rcs.posemath.PmCircle +
      +
    radius_lines - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    raw_data_size - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    RawInfo - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    rcs - package rcs
     
    rcs.nml - package rcs.nml
     
    rcs.posemath - package rcs.posemath
     
    rcs.utils - package rcs.utils
     
    RCS_ADMIN_ZERO - +Static variable in class rcs.utils.rcs_states +
      +
    RCS_CMD_MSG - Class in rcs.nml
    Base class for NML command messages.
    RCS_CMD_MSG() - +Constructor for class rcs.nml.RCS_CMD_MSG +
      +
    RCS_CMD_MSG(int) - +Constructor for class rcs.nml.RCS_CMD_MSG +
      +
    RCS_CODEGEN_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_CONTROLLER_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_CUSTOM_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_DESIGN_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_DIAGNOSTICS_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_DONE - +Static variable in class rcs.nml.RCS_STAT_MSG +
    Value for status if the module has completed the last command + it was given. +
    RCS_ERROR - +Static variable in class rcs.nml.RCS_STAT_MSG +
    Value for status if the module has encountered an error. +
    RCS_EXEC - +Static variable in class rcs.nml.RCS_STAT_MSG +
    Value for status if the module is still executing the last command + it was given. +
    RCS_GUI_APPLICATION_TYPE - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    RCS_STAT_MSG - Class in rcs.nml
    Base class for NML status messages.
    RCS_STAT_MSG() - +Constructor for class rcs.nml.RCS_STAT_MSG +
      +
    RCS_STAT_MSG(int) - +Constructor for class rcs.nml.RCS_STAT_MSG +
    Derived classes should use this constructor by placing + super(_type) in the first line of thier constructors. +
    RCS_STAT_MSG_V2 - Class in rcs.nml
    A second version of the RCS_STAT_MSG used for base messages of RCS status + perhaps considered for use in moast.
    RCS_STAT_MSG_V2() - +Constructor for class rcs.nml.RCS_STAT_MSG_V2 +
      +
    RCS_STAT_MSG_V2(int) - +Constructor for class rcs.nml.RCS_STAT_MSG_V2 +
      +
    rcs_states - Class in rcs.utils
     
    rcs_states() - +Constructor for class rcs.utils.rcs_states +
      +
    RCS_VERSION - Class in rcs
    Class for checking at run-time which version of the RCS Library + is being used.
    RCS_VERSION() - +Constructor for class rcs.RCS_VERSION +
      +
    rcsdesign - package rcsdesign
     
    rcsDesign - Class in rcsdesign
    Main class for RCS Design tool.
    rcsDesign() - +Constructor for class rcsdesign.rcsDesign +
      +
    rcsDesignGui - Class in rcsdesign
    Graphical base class for RCS Design tool.
    rcsDesignGui() - +Constructor for class rcsdesign.rcsDesignGui +
      +
    rcslibdirField - +Variable in class rcsdesign.rcsDesignGui +
      +
    rcslibdirLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    read() - +Method in class rcs.nml.NMLConnection +
    Read a NMLmsg. +
    read() - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    read(byte[]) - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    read(byte[], int, int) - +Method in class rcs.utils.CorrectedPipedInputStream +
      +
    read_config_count - +Static variable in class rcsdesign.rcsDesign +
      +
    READ_CONFIGURATION - +Static variable in class rcsdesign.rcsDesign +
      +
    read_errlog_string() - +Method in class rcs.nml.NMLConnection +
      +
    read_errlog_string() - +Method in interface rcs.nml.NMLConnectionInterface +
      +
    read_msg_dict - +Variable in class diagapplet.CodeGen.BufferInfo +
    NMLMessageDictionary associated with the read channel. +
    read_nml - +Variable in class diagapplet.CodeGen.BufferInfo +
    Connection used by Diagnostics tool for reading from this buffer. +
    read_nml_configs - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    read_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    read_request_sent - +Variable in class rcs.nml.NMLConnection +
      +
    readDataString() - +Method in class rcs.nml.NMLConnection +
    Reads an NMLmsg and converts it to a String. +
    readDataStringNoThrow() - +Method in class rcs.nml.NMLConnection +
    Read a message and convert it to a comma delimeted string. +
    readDataStringNoThrow() - +Method in interface rcs.nml.NMLConnectionInterface +
    Read a message and convert it to a comma delimeted string. +
    readerNames - +Variable in class diagapplet.CodeGen.BufferInfo +
    List of all the names of all processes known to read from this buffer. +
    readErrlogData() - +Static method in class diagapplet.CodeGen.ModuleInfo +
      +
    ReadEverything() - +Method in class rcsdesign.rcsDesign +
      +
    ReadFile(String) - +Method in class rcs.nml.PackedFileReader +
    Read the entire file or URL and parse it into an NMLmsg of the appropriate type. +
    ReadFile(String, int) - +Method in class rcs.nml.PackedFileReader +
    Read the first maxlen bytes out of a file and convert it to an + NMLmsg. +
    ReadFile(File) - +Method in class rcs.nml.PackedFileReader +
    Read the entire message in the pointed to file and convert it to + an NMLmsg. +
    ReadFile(File, int) - +Method in class rcs.nml.PackedFileReader +
    Read the first max_len bytes from a file and convert it to an NML message. +
    ReadFile(String) - +Method in class rcs.nml.XMLFileReader +
      +
    ReadFile(File) - +Method in class rcs.nml.XMLFileReader +
      +
    ReadFileIntoTextArea(String, String, FileTypeInfo) - +Method in class rcsdesign.rcsDesignGui +
      +
    ReadFileSection(String, int, int) - +Method in class rcs.nml.PackedFileReader +
    Read a section of a large file containing many messages. +
    ReadFileSection(File, int, int) - +Method in class rcs.nml.PackedFileReader +
    Read a message from a large ".COMBINED" file that contains multiple messages. +
    ReadIndexes(String, boolean) - +Static method in class rcs.nml.PackedFileReader +
    Read an indexFile as created by the logRecorder into an integer array. +
    ReadIndexes(File, boolean) - +Static method in class rcs.nml.PackedFileReader +
    Read an indexFile as created by the logRecorder into an integer array. +
    readLine() - +Method in class rcs.utils.URL_and_FileLoader +
      +
    ReadNMLConfigurationFile(String, String, String) - +Method in class rcs.nml.NMLConnection +
    This function reads configuration information from the NML configuration file. +
    ReadNMLConfigurationFile() - +Method in class rcs.nml.NMLConnection +
    Rereadn the NML Configuration file. +
    ReadNMLConfigurationFileNoThrow() - +Method in class rcs.nml.NMLConnection +
    Reread the NML Configuration and reconnect. +
    ReadNMLConfigurationFileNoThrow() - +Method in interface rcs.nml.NMLConnectionInterface +
    Reread the NML Configuration and reconnect. +
    readSTCPDataString() - +Method in class rcs.nml.NMLConnection +
      +
    readTCP() - +Method in class rcs.nml.NMLConnection +
      +
    readTCP_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    readUDP() - +Method in class rcs.nml.NMLConnection +
      +
    readUDP_raw_data() - +Method in class rcs.nml.NMLConnection +
      +
    readXmlFromFile(String) - +Method in class rcs.nml.XMLFormatConverter +
      +
    readXmlFromURL(URL) - +Method in class rcs.nml.XMLFormatConverter +
      +
    RecheckAllPoints() - +Method in class diagapplet.plotter.PlotData +
      +
    refresh() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    refresh() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    refresh() - +Method in class diagapplet.utils.ImageJPanel +
      +
    releaseIncludeDirectory - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    releaseLibrary - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    ReloadFile() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    REMOTE_CMS_BLOCKING_READ_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_CLOSE_SINGLE_VAR_LOG_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_BUF_NAME_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_DIAG_INFO_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_IS_CLEAR_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_KEYS_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_MSG_COUNT_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_MSG_TYPE_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_QUEUE_LENGTH_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_READ_COUNT_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_SINGLE_VAR_LOG_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_GET_SPACE_AVAILABLE_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_LOGIN_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_READ_COMBINED_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_READ_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_SETUP_SINGLE_VAR_LOG_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WAIT_FOR_ANYTHING_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WAIT_FOR_CLEAR_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WAIT_FOR_QUEUE_LENGTH_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WAIT_FOR_READ_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WAIT_FOR_WRITE_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WRITE_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WRITE_WITH_BITWISE_OP_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    REMOTE_CMS_WRITE_WITH_PRIORITY_REQUEST_TYPE - +Static variable in class rcs.nml.NMLConnection +
      +
    remove_leading_whitespace(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    remove_leading_whitespace_static(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    removeActionListener(ActionListener) - +Method in class diagapplet.utils.FastListPanel +
      +
    removeAll() - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    removeAll() - +Method in class diagapplet.utils.FastListPanel +
      +
    removeAll() - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    removeAll() - +Method in class diagapplet.utils.JListFastListPanel +
      +
    RemoveAllPlots() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    RemoveBackups() - +Method in class rcsdesign.rcsDesign +
      +
    removeBackupsButton - +Variable in class rcsdesign.rcsDesignGui +
      +
    RemoveDuplicates(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    removeItemListener(ItemListener) - +Method in class diagapplet.utils.FastListPanel +
      +
    RemoveOpenStructure(String) - +Method in class diagapplet.utils.FastListPanel +
      +
    RemovePlot(String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    RemoveStartingEndingSpace(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    RemoveStartingEndingSpace(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    repaint() - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    repaint_count - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    repaint_count - +Variable in class diagapplet.utils.StandAloneApplet +
      +
    repaint_max_tm_millis - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    repaint_needed - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    repaint_needed - +Variable in class diagapplet.utils.FastListPanel +
      +
    replace_white_space(String) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    replaceAllInString(String, String, String) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    ReplaceDefinedValues(String, int, Hashtable) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    replaceFirstInString(String, String, String) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    replaceItem(String, int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    replaceItem(String, int, int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    replaceItem(String, int) - +Method in class diagapplet.utils.FastListPanel +
      +
    replaceItem(String, int, int) - +Method in class diagapplet.utils.FastListPanel +
      +
    replaceItem(String, int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    replaceItem(String, int, int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    replaceItem(String, int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    replaceItem(String, int, int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    request_sent_time_millis - +Variable in class rcs.nml.NMLConnection +
      +
    rescale_to_selected_rectangle_needed - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    reset() - +Method in class diagapplet.HierarchyPanel +
      +
    reset() - +Method in class rcs.nml.time_tracker +
    Reset all statistics and start the clock from now. +
    ResetColors() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ResetGenericClasses() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    ResetMinXToZero() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ResetMinXToZero() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    resize_next_time - +Static variable in class diagapplet.utils.StandAloneApplet +
      +
    reverse_hashtable - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    rewind() - +Method in class rcs.nml.NMLFormatConverterBase +
    Function that should be called before every message or string is parsed. +
    rHelix - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    rHelix - +Variable in class rcs.posemath.PmCircle +
      +
    RingBell() - +Method in class diagapplet.CodeGen.CodeGen +
    Ring a bell to indicate an error if it has been more than 2.5 seconds since the + last error. +
    RingBell() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    rot - +Variable in class rcs.posemath.PmHomogeneous +
      +
    rot - +Variable in class rcs.posemath.PmPose +
      +
    rPerp - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    rPerp - +Variable in class rcs.posemath.PmCircle +
      +
    RPY_P_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    rpyListToMagArray(List<? extends PM_RPY>) - +Static method in class rcs.posemath.Posemath +
      +
    RS_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    rTan - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    rTan - +Variable in class rcs.posemath.PmCircle +
      +
    run() - +Method in class diagapplet.CodeGen.CodeGen +
    Old VisualJ THREAD SUPPORT + The run() method is called when the applet's thread is started. +
    run() - +Method in class rcsdesign.rcsDesign +
      +
    run_function - +Variable in class rcsdesign.rcsDesign +
      +
    runCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    runCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    RunLineOfScript(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    RunLineOfScriptStatic(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    RunScript(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    RunScript() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    RunScriptFile(String) - +Method in class diagapplet.CodeGen.CodeGen +
    Run a .gen script file. +
    +
    +

    +S

    +
    +
    s - +Variable in class rcs.posemath.PmQuaternion +
      +
    s - +Variable in class rcs.posemath.PmRotationVector +
      +
    S0 - +Static variable in class rcs.utils.rcs_states +
      +
    S1 - +Static variable in class rcs.utils.rcs_states +
      +
    S10 - +Static variable in class rcs.utils.rcs_states +
      +
    S11 - +Static variable in class rcs.utils.rcs_states +
      +
    S12 - +Static variable in class rcs.utils.rcs_states +
      +
    S13 - +Static variable in class rcs.utils.rcs_states +
      +
    S14 - +Static variable in class rcs.utils.rcs_states +
      +
    S15 - +Static variable in class rcs.utils.rcs_states +
      +
    S16 - +Static variable in class rcs.utils.rcs_states +
      +
    S17 - +Static variable in class rcs.utils.rcs_states +
      +
    S18 - +Static variable in class rcs.utils.rcs_states +
      +
    S2 - +Static variable in class rcs.utils.rcs_states +
      +
    S3 - +Static variable in class rcs.utils.rcs_states +
      +
    S4 - +Static variable in class rcs.utils.rcs_states +
      +
    S5 - +Static variable in class rcs.utils.rcs_states +
      +
    S6 - +Static variable in class rcs.utils.rcs_states +
      +
    S7 - +Static variable in class rcs.utils.rcs_states +
      +
    S8 - +Static variable in class rcs.utils.rcs_states +
      +
    S9 - +Static variable in class rcs.utils.rcs_states +
      +
    s_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    SAVE - +Static variable in class diagapplet.utils.ModifiedFileDialog +
      +
    save_var_names - +Static variable in class rcs.nml.NMLFormatConverterBase +
      +
    SaveFile(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SaveFile(String) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    SaveImage - Class in diagapplet.utils
    Set of utilities for saving images.
    SaveImage() - +Constructor for class diagapplet.utils.SaveImage +
      +
    SaveImage.BAYER_PATTERN - Enum in diagapplet.utils
     
    SaveImageAs(Image, Component) - +Static method in class diagapplet.utils.SaveImage +
      +
    SaveImageFileBySuffix(Image, String) - +Static method in class diagapplet.utils.SaveImage +
      +
    SaveOptions() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    SavePackedFile(File) - +Method in class diagapplet.utils.WatchJPanel +
      +
    SaveStatsFile(File) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SaveXMLFile(File) - +Method in class diagapplet.utils.WatchJPanel +
      +
    screenChoice - +Variable in class rcsdesign.rcsDesignGui +
      +
    Scroll_To_XY(int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    scroll_x - +Variable in class diagapplet.HierarchyPanel +
      +
    scroll_y - +Variable in class diagapplet.HierarchyPanel +
      +
    ScrollRight() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ScrollRight() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    ScrollRight() - +Method in class diagapplet.plotter.plotterJFrame +
      +
    SE0 - +Static variable in class rcs.utils.rcs_states +
      +
    SE1 - +Static variable in class rcs.utils.rcs_states +
      +
    SE2 - +Static variable in class rcs.utils.rcs_states +
      +
    SE3 - +Static variable in class rcs.utils.rcs_states +
      +
    SE4 - +Static variable in class rcs.utils.rcs_states +
      +
    SE5 - +Static variable in class rcs.utils.rcs_states +
      +
    SE6 - +Static variable in class rcs.utils.rcs_states +
      +
    SE7 - +Static variable in class rcs.utils.rcs_states +
      +
    SE8 - +Static variable in class rcs.utils.rcs_states +
      +
    SE9 - +Static variable in class rcs.utils.rcs_states +
      +
    seconds - +Variable in class rcs.nml.CMS_TIME +
      +
    select(int) - +Method in interface diagapplet.utils.CountListInterface +
      +
    select(int) - +Method in class diagapplet.utils.FakeFastListPanel +
      +
    select(int) - +Method in class diagapplet.utils.FastListPanel +
      +
    select(int) - +Method in interface diagapplet.utils.FastListPanelInterface +
      +
    select(int) - +Method in class diagapplet.utils.JListFastListPanel +
      +
    SelectByFromFile(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    selected - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    selected_indexes - +Variable in class diagapplet.utils.FastListPanel +
      +
    SelectFromAllFiles() - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    SelectRow(int) - +Method in class diagapplet.utils.WatchJPanel +
      +
    sending_short - +Variable in class rcs.nml.NMLFormatConverter +
      +
    sending_short_string - +Variable in class diagapplet.CodeGen.ModuleInfo +
    Variable temporarily set to true only by the diagnostics hierarchy view when + sending a message string that only contains the type and size placeholder. +
    sendMsgToOutputStream(DataOutputStream, NMLmsg) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    serial_number - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    serial_number - +Variable in class rcs.nml.RCS_CMD_MSG +
    Applications ussually increment the serial number each + time a command is sent, this number is ussually echoed + back in the status message so that supervisors can tell + which command is currently executing or just completed. +
    serverHostField - +Variable in class rcsdesign.rcsDesignGui +
      +
    serverHostLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    ServerInfo - Class in diagapplet.CodeGen
    Information about a server tracked only by Design tool.
    ServerInfo(String, String) - +Constructor for class diagapplet.CodeGen.ServerInfo +
      +
    serverLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    serverList - +Variable in class rcsdesign.rcsDesignGui +
      +
    set_add_array_indexes_to_name(boolean) - +Method in class rcs.nml.XMLFileReader +
      +
    set_add_array_indexes_to_name(boolean) - +Method in class rcs.nml.XMLFileWriter +
      +
    set_add_set_header(boolean) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_array_mode(boolean) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    set_array_val(int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    set_auto_fit_to_graph(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    set_auto_fit_to_graph(boolean) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    set_buffer_name(String) - +Method in class rcs.nml.NMLConnection +
    Set the buffer name. +
    set_buffer_name(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the buffer name. +
    set_buffer_number(int) - +Method in class rcs.nml.NMLConnection +
    Set the buffer_number for this buffer. +
    set_buffer_number(int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the buffer_number for this buffer. +
    set_bytes_read(int) - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    set_bytes_read(int) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    set_bytes_read(int) - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    set_ClassList(FastListPanelInterface) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the ClassList. +
    set_ClassList(FastListPanelInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_ClassList(FastListPanelInterface) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set the ClassList property. +
    set_classVarArrayIndex(int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    set_codeTextArea(CodeGenTextAreaInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_config_debug_on(boolean) - +Static method in class rcs.nml.NMLConnection +
    Print messages to the console/stderr to debug the config related code. +
    set_configFileTextField(CodeGenTextFieldInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_configuration_file(String) - +Method in class rcs.nml.NMLConnection +
    Set the name of the NML configuration file. +
    set_configuration_file(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the name of the NML configuration file. +
    set_connected(boolean) - +Method in class diagapplet.diagPreserve +
    Set a flag so the diagnostics too will reconnect or not when next restarted. +
    set_content_length(int) - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    set_content_length(int) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    set_content_length(int) - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    set_count(int) - +Method in class diagapplet.utils.CountButton +
      +
    set_count(int) - +Method in interface diagapplet.utils.CountButtonInterface +
      +
    set_cppFileName(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_debug_on(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_diag_dict_creator(DiagNMLMsgDictCreatorInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_diag_dict_creator(DiagNMLMsgDictCreatorInterface) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set a diag_dict_creator property. +
    set_diagnostics_mode(boolean) - +Method in class rcs.nml.NMLFormatConverter +
      +
    set_diagnostics_mode(boolean) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    set_diagnostics_mode_string_max(int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    set_diagnostics_mode_string_max(int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    set_display_on(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_do_not_print_diag_overflow_err(boolean) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    set_first_cpp_function(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_first_java_class(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_force_reload_file(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_all_enum_symbol_lookups(boolean) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_cpp_constructors_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_cpp_format_function_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_cpp_update_functions_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_java_classes_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_java_dictionary_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generate_symbol_lookups(boolean) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_generating_code(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_hashtable_by_id(Hashtable) - +Method in class diagapplet.MessageFileJFrame +
      +
    set_hashtable_by_id(Hashtable) - +Method in class diagapplet.utils.WatchJPanel +
      +
    set_hide_byte_array(boolean) - +Method in class diagapplet.utils.ImageJPanel +
      +
    set_host(String) - +Method in class rcs.nml.NMLConnection +
    Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt. +
    set_host(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt. +
    set_includePath(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_includePathField(CodeGenTextFieldInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_inside_diagapplet(boolean) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the inside_diagapplet property, see CodeGenCommon.set_preserve_modules_hashtable() +
    set_inside_diagapplet(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_interrupt_loading(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_interrupt_loading(boolean) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set the value of the interrupt_loading property. +
    set_is_loading_hierarchy(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_javaFileName(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_l_mode_on_paint - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    set_last_id_read(int) - +Method in class rcs.nml.NMLConnection +
    Set the id which will be compared with messages recieved to determine if + the message is new. +
    set_last_id_read(int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the id which will be compared with messages recieved to determine if + the message is new. +
    set_lastIncludePath(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_ConfigFile(String) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the configFile. +
    set_m_ConfigFile(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_fStandAlone(boolean) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the m_fStandAlone property. +
    set_m_hierarchyFile(String) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the hierarchyFile. +
    set_m_hierarchyFile(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_hierarchyFile(String) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set the hierarchyFile property. +
    set_m_hierarchyFileLoadButton(CountButtonInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_loadingPanel(URLLoadInfoPanelInterface) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the loadingPanel. +
    set_m_loadingPanel(URLLoadInfoPanelInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_modulesCountList(CountListInterface) - +Method in class diagapplet.CodeGen.CodeGen +
    Set modulesCountList. +
    set_m_modulesCountList(CountListInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_modulesHashTable(Hashtable) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the modulesHashTable. +
    set_m_modulesHashTable(Hashtable) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_modulesList(FastListPanelInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_m_modulesList(FastListPanelInterface) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set the ModulesList property. +
    set_nml_creator(NMLConnectionCreatorInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_nml_creator(NMLConnectionCreatorInterface) - +Method in interface diagapplet.CodeGen.CodeGenCommonInterface +
    Set the nml_creator property. +
    set_optionsHashTable(Hashtable) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_painter(PainterInterface) - +Method in class diagapplet.JPaintablePanel +
    Set the external painter object that will be used every time the panel needs to be repainted. +
    set_plot_group_number(int) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    set_point_size_limit(int) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    set_point_size_limit(int) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    set_port(int) - +Method in class rcs.nml.NMLConnection +
    Set the TCP or UDP port to be used for the next time a connect() is performed. +
    set_port(int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the TCP or UDP port to be used for the next time a connect() is performed. +
    set_preserve_modules_hashtable(boolean) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the preserve modules hashtable property, see CodeGenCommon.set_preserve_modules_hashtable() +
    set_preserve_modules_hashtable(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_print_prompt(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_process_name(String) - +Method in class rcs.nml.NMLConnection +
    Set the process name. +
    set_process_name(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the process name. +
    set_read_debug_on(boolean) - +Method in class rcs.nml.NMLConnection +
      +
    set_recentNmlConfigFileVector(Vector<String>) - +Method in class diagapplet.diagPreserve +
    Set The vector of strings of NML config file names. +
    set_record_images(boolean) - +Method in class diagapplet.utils.ImageJPanel +
      +
    set_reload_hierarchy_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_run_needed(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_RunIndependantly(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_running(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_running_script(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_script(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_script_file_ran(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_selected_rect(Rectangle) - +Method in interface diagapplet.PainterInterface +
    Store a rectangle typically selected by the user via Mouse or MouseMotion event. +
    set_serversHashtable(Hashtable) - +Method in class diagapplet.CodeGen.CodeGen +
    Set the serversHashTable. +
    set_serversHashtable(Hashtable) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_serversList(FastListPanelInterface) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_show_selected_rect(boolean) - +Method in class diagapplet.utils.ImageJPanel +
      +
    set_size(int) - +Method in class diagapplet.plotter.PlotData +
      +
    set_static_debug_on(boolean) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_update_with_name(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    set_URLname(String) - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    set_URLname(String) - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    set_URLname(String) - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    set_v(Vector<PlotPoint>) - +Method in class diagapplet.plotter.PlotData +
      +
    set_write_debug_on(boolean) - +Method in class rcs.nml.NMLConnection +
      +
    setA(double) - +Method in class rcs.posemath.PM_XYA +
      +
    setAllocation_size_max(int) - +Method in class rcs.nml.NMLConnection +
      +
    setAllocation_size_max(int) - +Method in interface rcs.nml.NMLConnectionInterface +
      +
    setAngle(double) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setApply_absolute_value(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
    Set the value of apply_absolute_value +
    setAuto_connect_disconnect(boolean) - +Method in class diagapplet.diagPreserve +
    Setter for property auto_connect_disconnect. +
    setAutomatically_Keep_and_Use_PlotSets(boolean) - +Method in class diagapplet.diag_NB_UI +
    Set the value of Automatically_Keep_and_Use_PlotSets +
    setAutomatically_Keep_and_Use_PlotSets(boolean) - +Method in class diagapplet.diagPreserve +
    Set the value of Automatically_Keep_and_Use_PlotSets +
    setAuxBuffersVector(Vector<auxBufferPreserve>) - +Method in class diagapplet.diagPreserve +
      +
    setBufferName(String) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property bufferName. +
    SetBufName(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    SetBufName(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    setCenter(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    SetCenterPosition(int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    setChangeIdRunnable(Runnable) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setConnected(boolean) - +Method in class diagapplet.CodeGen.BufferInfo +
    Setter for property connected. +
    setCountList(CountList) - +Method in class diagapplet.HierarchyPanel +
      +
    SetDataInfo(Enumeration) - +Method in class diagapplet.MessageFileJFrame +
      +
    SetDataInfo(Enumeration) - +Method in class diagapplet.utils.WatchJPanel +
      +
    SetDefault(String) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setDefault_poll_state(boolean) - +Static method in class rcs.nml.NMLConnection +
      +
    setDefaultNMLConfigFile(String) - +Method in class diagapplet.diagPreserve +
    Setter for property defaultNMLConfigFile. +
    setDiagInfo() - +Method in class rcs.nml.NMLConnection +
    Send additional diagnostics info to server so it can better track which process + is doing what. +
    setDirectory(String) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    setEditable(boolean) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setEnd(PM_CARTESIAN) - +Method in class rcs.posemath.PM_LINE +
      +
    SetEqualizeAxis(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SetEqualizeAxis(boolean) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    SetErrorInUpdate(String) - +Method in class rcs.nml.NMLFormatConverter +
      +
    SetErrorInUpdate(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    setF(File) - +Method in class rcs.nml.LogTimeEntry +
    Set the value of F +
    setFieldSelectPattern(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setFile(String) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    SetFit(boolean) - +Method in class diagapplet.utils.ImageJPanel +
      +
    SetFormatConverter(NMLFormatConverter) - +Method in class rcs.nml.NMLConnection +
    This functions sets the NMLFormatConverter for this connection. +
    SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface) - +Method in class rcs.nml.NMLConnection +
    Set an interface that will have its member functions called for various errors. +
    SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set an interface that will have its member functions called for various errors. +
    SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    SetFormatFunctionName(String[]) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    setFuncArg(int) - +Method in class diagapplet.plotSetPreserve +
    Setter for property funcArg. +
    setFuncArg(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setFuncArg(int) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setFuncArg(int) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    setGraphFunction(int) - +Method in class diagapplet.plotSetPreserve +
    Setter for property graphFunction. +
    setGraphFunction(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunction(int) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunction(int) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    setGraphFunction(String) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    setGraphFunctionDERIVATIVE() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionDEVIATION() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionDIFF() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionINTEGRAL() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionNEGATIVEX() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionNormal() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionPPDIFF() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionPPDIFFMODPI() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionSingle() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionSMOOTH() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionVS() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionXY() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionXZ() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setGraphFunctionYZ() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SetGraphLimits(double, double, double, double) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SetGraphLimits(double, double, double, double) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    setHeight(int) - +Method in class diagapplet.diagPreserve +
    Setter for property height. +
    setHost(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    SetImage(BufferedImage) - +Method in class diagapplet.utils.fullScreenJPanelClass +
      +
    setInfo(String) - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    SetInnerArea(double, double, double, double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    SetInnerArea(double, double, double, double) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setIsArray(boolean) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property isArray. +
    setIsAux(boolean) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property isAux. +
    setIsCmd(boolean) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property isCmd. +
    SetKeyListener(KeyListener) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    SetKeyListener(KeyListener) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setLabel(String) - +Method in interface diagapplet.utils.CountButtonInterface +
      +
    setLastSelectedCommandIndex(int) - +Method in class diagapplet.modulePreserve +
    Setter for property lastSelectedCommandIndex. +
    setLastSelectedMessageIndex(int) - +Method in class diagapplet.auxBufferPreserve +
    Setter for property lastSelectedMessageIndex. +
    setLine_color(Color) - +Method in class diagapplet.plotter.PlotData +
      +
    setMax_plots_to_show(int) - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Setter for property max_plots_to_show. +
    SetMessageDictionary(NMLMessageDictionary) - +Method in class rcs.nml.NMLConnection +
    This functions sets the NMLMessageDictionary for this connection. +
    SetMessageDictionary(NMLMessageDictionary) - +Method in interface rcs.nml.NMLConnectionInterface +
    Set the message dictionary. +
    SetMessageDictionary(NMLMessageDictionary) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    SetModuleInfoObject(ModuleInfoInterface) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    SetModuleInfoObject(ModuleInfoInterface) - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Used to set a ModuleInfo object, needed for this to function. +
    setModuleName(String) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property moduleName. +
    setModulesVector(Vector<modulePreserve>) - +Method in class diagapplet.diagPreserve +
    Setter for property ModulesVector. +
    setMoved(boolean) - +Method in class diagapplet.diagPreserve +
    Setter for property moved. +
    setMsgType(long) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property msgType. +
    setName(String) - +Method in class diagapplet.auxBufferPreserve +
    Setter for property name. +
    setName(String) - +Method in class diagapplet.modulePreserve +
    Setter for property name. +
    setName(String) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property name. +
    SetNMLConfigFile(String) - +Method in class diagapplet.CodeGen.BufferInfo +
    Change to a new configuration file. +
    SetNMLConfigFile(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    setNmlMessageDictionary(NMLMessageDictionary) - +Method in class diagapplet.MessageFileJFrame +
      +
    setNmlMessageDictionary(NMLMessageDictionary) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setNormal(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setNosplit(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
    Set the value of nosplit +
    SetOuterArea(double, double, double, double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    SetOuterArea(double, double, double, double) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    SetOutputFile(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    SetOutputFileName(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    setP(double) - +Method in class rcs.posemath.PmRpy +
      +
    setPlot_order(String) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setPlotList(Vector<plotTrackerPreserve>) - +Method in class diagapplet.plotSetPreserve +
    Setter for property plotList. +
    setPlotOrder(String) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    setPlotPointAt(PlotPoint, int) - +Method in class diagapplet.plotter.PlotData +
      +
    setPlotSet(plotSetPreserve) - +Method in class diagapplet.diagPreserve +
    Setter for property plotSet. +
    setPoint_color(Color) - +Method in class diagapplet.plotter.PlotData +
      +
    setPoll(boolean) - +Method in class rcs.nml.NMLConnection +
      +
    setPreFinalPassInfoToInfo() - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    setPreviousCommands(Hashtable<Long, String>) - +Method in class diagapplet.modulePreserve +
    Setter for property PreviousCommands. +
    SetPreviousMessage(String) - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    setPreviousMessages(Hashtable<Long, String>) - +Method in class diagapplet.auxBufferPreserve +
    Setter for property PreviousMessages. +
    setPreviousMessagesHashtable(Hashtable) - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    setR(double) - +Method in class rcs.posemath.PmRpy +
      +
    setRadius(double) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setRead_only(boolean) - +Method in class rcs.nml.NMLConnection +
      +
    setRecentPlotSets(Vector<String>) - +Method in class diagapplet.diagPreserve +
    Setter for property recentPlotSets. +
    setRecordAll(boolean) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setResized(boolean) - +Method in class diagapplet.diagPreserve +
    Setter for property resized. +
    SetReverseX(boolean) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    SetReverseX(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setrHelix(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    SetRowValue(int, String) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setrPerp(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setrTan(PM_CARTESIAN) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setS(double) - +Method in class rcs.posemath.PmQuaternion +
      +
    setSelectedAuxChannel(String) - +Method in class diagapplet.diagPreserve +
    Setter for property selectedAuxChannel. +
    setSelectedModule(String) - +Method in class diagapplet.diagPreserve +
    Setter for property selectedModule. +
    setSelectedTab(int) - +Method in class diagapplet.diagPreserve +
    Setter for property selectedTab. +
    setShow(int, boolean) - +Method in class diagapplet.plotter.PlotData +
    Make this data set visible on plotter number i +
    setShowAll(int, boolean) - +Method in class diagapplet.plotter.PlotData +
      +
    setShowKey(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setSpiral(double) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    setSplit(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    setSplit(boolean) - +Method in class diagapplet.plotter.plotterJFrame +
      +
    setStart(PM_CARTESIAN) - +Method in class rcs.posemath.PM_LINE +
      +
    SetStartPos(int, int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    setStiName(String) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property stiName. +
    setSub_painter(PainterInterface) - +Method in class diagapplet.utils.ImageJPanel +
      +
    setSubscriptionPeriod(double) - +Method in class rcs.nml.NMLConnection +
    Tell the server to send this process messages from the buffer every period + seconds without needing a request message. +
    setTableCellEditor(int, TableCellEditor) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setTCPDiagInfo() - +Method in class rcs.nml.NMLConnection +
      +
    setTCPSubscriptionPeriod(double) - +Method in class rcs.nml.NMLConnection +
      +
    SetTypeInfo(StructureTypeInfo, Hashtable) - +Method in class diagapplet.MessageFileJFrame +
      +
    SetTypeInfo(StructureTypeInfo, Hashtable) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setUDPSubscriptionPeriod(double) - +Method in class rcs.nml.NMLConnection +
      +
    setupSingleVarLog(String, int, double, int) - +Method in class rcs.nml.NMLConnection +
    Setup a single variable log. +
    setupSingleVarLog(String, int, double, int) - +Method in interface rcs.nml.NMLConnectionInterface +
    Setup a single variable log. +
    setUse_Interpolation(boolean) - +Method in class diagapplet.plotter.plotter_NB_UI +
    Set the value of Use_Interpolation +
    setUseCaches(boolean) - +Method in class rcs.utils.URL_and_FileLoader +
      +
    setuVec(PM_CARTESIAN) - +Method in class rcs.posemath.PM_LINE +
      +
    SetValue(String, String) - +Method in class diagapplet.CodeGen.ServerInfo +
      +
    setValueForVarNumber(int, double) - +Method in class diagapplet.utils.WatchJPanel +
      +
    setVariableName(String) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property variableName. +
    setVariableNumber(int) - +Method in class diagapplet.plotTrackerPreserve +
    Setter for property variableNumber. +
    setVisible(boolean) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    setWidth(int) - +Method in class diagapplet.diagPreserve +
    Setter for property width. +
    setWindow_state(int) - +Method in class diagapplet.diagPreserve +
    Setter for property window_state. +
    setWithString(String) - +Method in class rcs.nml.CMS_DATE +
      +
    setWithString(String) - +Method in class rcs.nml.CMS_TIME +
      +
    setWrite_only(boolean) - +Method in class rcs.nml.NMLConnection +
      +
    setX(int) - +Method in class diagapplet.diagPreserve +
    Setter for property x. +
    setX(double) - +Method in class rcs.posemath.PM_XYA +
      +
    setX(double) - +Method in class rcs.posemath.PmCartesian +
      +
    setX(double) - +Method in class rcs.posemath.PmQuaternion +
      +
    setX_Grid(double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Set the value of X_Grid +
    setY(int) - +Method in class diagapplet.diagPreserve +
    Setter for property y. +
    setY(double) - +Method in class rcs.posemath.PM_XYA +
      +
    setY(double) - +Method in class rcs.posemath.PmCartesian +
      +
    setY(double) - +Method in class rcs.posemath.PmQuaternion +
      +
    setY(double) - +Method in class rcs.posemath.PmRpy +
      +
    setY_Grid(double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
    Set the value of Y_Grid +
    setZ(double) - +Method in class rcs.posemath.PmCartesian +
      +
    setZ(double) - +Method in class rcs.posemath.PmQuaternion +
      +
    SetZoom(int) - +Method in class diagapplet.utils.ImageJPanel +
      +
    shiftedSumOfProducts(List<Double>, List<Double>, double) - +Static method in class rcs.posemath.Posemath +
      +
    short_extra_sh_str - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    short_name - +Variable in class diagapplet.plotter.PlotData +
      +
    show_axis - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    show_grid - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    show_key - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    show_lines - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    show_rect - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    ShowFile(String) - +Static method in class diagapplet.plotter.plotterJFrame +
    Open a new plotterFrame to show only this file. +
    shutting_down - +Static variable in class diagapplet.utils.DiagError +
      +
    si - +Variable in class diagapplet.CodeGen.BufferInfo +
    ServerInfo associated with this buffer. +
    SimpleFileFilter - Class in rcs.utils
    FilenameFilter which checks for a pattern match used by design tool.
    SimpleFileFilter(String) - +Constructor for class rcs.utils.SimpleFileFilter +
      +
    singleDirCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    SINGULAR_EPSILON - +Static variable in class rcs.posemath.Posemath +
      +
    size - +Variable in class rcs.nml.NMLmsg +
    not used in Java +
    skipInfoTokenInSameArray() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    skipInfoTokenInSameStruct() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    SortClassList(String[], CodeGenCommonInterface2, Hashtable) - +Static method in class diagapplet.CodeGen.StringFuncs +
      +
    source_file - +Variable in class rcs.nml.RCS_STAT_MSG +
    Modules that use simple state tables may provide the + name of the source file of the state table that is + currently being used here. +
    source_line - +Variable in class rcs.nml.RCS_STAT_MSG +
    Modules that use simple state tables ussually provide + the last line matched in the state table here. +
    SourceCodeDirectory - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    spiral - +Variable in class rcs.posemath.PM_CIRCLE +
      +
    spiral - +Variable in class rcs.posemath.PmCircle +
      +
    splitToLines(List<? extends PM_CARTESIAN>, int, double[], int[]) - +Static method in class rcs.posemath.Posemath +
      +
    SQRT_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    StackTracePrinter - Class in rcs.utils
    Utilities for printing StackTrace info with old JDK 1.4 API's
    StackTracePrinter() - +Constructor for class rcs.utils.StackTracePrinter +
      +
    StandAloneApplet - Class in diagapplet.utils
    Wrapper that allows a class to be run as an applet or standalone outside a browser.
    StandAloneApplet() - +Constructor for class diagapplet.utils.StandAloneApplet +
      +
    start - +Variable in class rcs.nml.time_tracker +
    Time when constructed or reset. +
    start - +Variable in class rcs.posemath.PM_LINE +
      +
    start - +Variable in class rcs.posemath.PmLine +
      +
    start() - +Method in class rcsdesign.rcsDesign +
      +
    start_line - +Variable in class diagapplet.utils.FastListPanel +
      +
    start_updates() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    start_updates() - +Method in class rcs.nml.PackedFormatConverter +
      +
    startInfoTokens() - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    startingDefinedValues - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    startShutdown() - +Method in class diagapplet.utils.StandAloneApplet +
      +
    startShutdown() - +Method in class rcsdesign.rcsDesign +
      +
    stat_has_been_plotted - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    stat_msg_type - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    stat_msg_updated - +Variable in class rcs.nml.NMLFormatConverter +
      +
    stat_plotting_variables - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    statData - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    state - +Variable in class rcs.nml.RCS_STAT_MSG +
    Modules that use simple state tables ussually provide + the current state here. +
    state_default(RCS_STAT_MSG) - +Static method in class rcs.utils.rcs_states +
    Sets the stat.source_line and stat.source_file, + called when all state_match()'s fail. +
    state_match(RCS_STAT_MSG, int) - +Static method in class rcs.utils.rcs_states +
    Checks stat.state == stateIn and sets the source_file and source line + so that one can check which line of the state table matched. +
    state_new(RCS_STAT_MSG) - +Static method in class rcs.utils.rcs_states +
    Sets the source file and source line. +
    state_next(RCS_STAT_MSG, int) - +Static method in class rcs.utils.rcs_states +
    Sets stat.state to the next state. +
    statFormatFunction - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    statMsgsAvailable - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    stats_sent - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    StatsTextJFrame - Class in diagapplet.plotter
     
    StatsTextJFrame() - +Constructor for class diagapplet.plotter.StatsTextJFrame +
    Creates new form StatsTextJFrame +
    StatsTextJFrame(String) - +Constructor for class diagapplet.plotter.StatsTextJFrame +
      +
    statsTypeFile - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    status - +Variable in class rcs.nml.RCS_STAT_MSG +
    The status of the module is ussually set to either + UNINITIALIZED_STATUS, RCS_DONE, RCS_EXEC, or RCS_ERROR, depending on + whether the module is currently executing a command + or has encountered an error. +
    status_next(RCS_STAT_MSG, int) - +Static method in class rcs.utils.rcs_states +
    Sets stat.status to the next status +
    status_type_name - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    stddev - +Variable in class diagapplet.plotter.PlotData +
      +
    stddev(double[]) - +Static method in class rcs.posemath.Posemath +
      +
    stddev(Double[]) - +Static method in class rcs.posemath.Posemath +
      +
    stddev(List<Double>) - +Static method in class rcs.posemath.Posemath +
      +
    sti_number - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    STI_TokenizerInterface - Interface in diagapplet.CodeGen
    An interface that partially replaces the StringTokenizer while adding + an ability to skipInfo in a structure or array using data + parsed by ModuleInfo etc.
    stop() - +Method in class rcsdesign.rcsDesign +
      +
    str - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    string_to_int_hash - +Variable in class rcs.nml.NML_ENUM_INFO +
      +
    StringFuncs - Class in diagapplet.CodeGen
    Class with some utility funtions used handling Strings, environment variables etc.
    StringFuncs() - +Constructor for class diagapplet.CodeGen.StringFuncs +
      +
    StringToSucceed - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    StrToInt - Class in rcs.utils
    Convert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing.
    StrToInt() - +Constructor for class rcs.utils.StrToInt +
      +
    StrToLong - Class in rcs.utils
    Convert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing.
    StrToLong() - +Constructor for class rcs.utils.StrToLong +
      +
    StructureTypeInfo - Class in diagapplet.CodeGen
    Class with information about one C++ structure.
    StructureTypeInfo() - +Constructor for class diagapplet.CodeGen.StructureTypeInfo +
      +
    subsystem - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    subtract(PM_CARTESIAN, PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
      +
    subtract(PmCartesian, PmCartesian) - +Static method in class rcs.posemath.Posemath +
      +
    SymbolLookup - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    symLinkCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    symLinkCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    SyncObject - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    +
    +

    +T

    +
    +
    terminalCommandField - +Variable in class rcsdesign.rcsDesignGui +
      +
    terminalCommandLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    text - +Variable in class rcs.nml.NML_TEXT +
      +
    text_file_needs_saving - +Variable in class rcsdesign.rcsDesignGui +
      +
    textValueChanged(TextEvent) - +Method in class rcsdesign.rcsDesign +
      +
    theta - +Variable in class rcs.posemath.PmCylindrical +
      +
    theta - +Variable in class rcs.posemath.PmSpherical +
      +
    throw_away_token() - +Method in class rcs.nml.NMLFormatConverter +
      +
    throw_away_token() - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    ThrowableFileName(Throwable, int) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableTextToFileName(String, int) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableTextToLine(String, int) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableTextToShortList(String) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableToLine(Throwable, int) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableToShortList(Throwable) - +Static method in class rcs.utils.StackTracePrinter +
      +
    ThrowableToStackTraceString(Throwable) - +Static method in class rcs.utils.StackTracePrinter +
      +
    throwAwayToken() - +Method in interface diagapplet.CodeGen.STI_TokenizerInterface +
      +
    time_tracker - Class in rcs.nml
    Simple class to track wall-clock performance time.
    time_tracker() - +Constructor for class rcs.nml.time_tracker +
      +
    timestamp - +Variable in class rcs.nml.NMLSingleVarLogItem +
      +
    toCart(PM_SPHERICAL) - +Static method in class rcs.posemath.Posemath +
    Convert PM_SPHERICAL to PM_CARTESIAN +
    toCart(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
    Convert a cylindrical to a cartesian +
    toCyl(PM_SPHERICAL) - +Static method in class rcs.posemath.Posemath +
    Convert a spherical to cylindrical +
    toHom(PM_POSE) - +Static method in class rcs.posemath.Posemath +
      +
    tokenizer - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    tokens_not_used_warning_given - +Variable in class rcs.nml.NMLFormatConverter +
      +
    tokensNotUsed(int, String, boolean) - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    tokensNotUsed(int, String, boolean) - +Method in interface diagapplet.CodeGen.DiagNMLMsgDictInterface +
    Used to log a warning message if the dictionary results do not + match the expected input. +
    tokensNotUsed(NMLMessageDictionary, int, String, boolean) - +Method in interface rcs.nml.NMLFormatConvertErrCallbackInterface +
      +
    toMat(PM_ROTATION_VECTOR) - +Static method in class rcs.posemath.Posemath +
    Convert rotation vector to rotation matrix +
    toMat(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
    Convert a quaternion to a rotation matrix. +
    toMatdd() - +Method in class rcs.posemath.PmHomogeneous +
      +
    toMatdd() - +Method in class rcs.posemath.PmPose +
      +
    toMatf() - +Method in class rcs.posemath.PmHomogeneous +
      +
    toMatFloatArrayTranspose() - +Method in class rcs.posemath.PmPose +
      +
    toMatfTranspose() - +Method in class rcs.posemath.PmHomogeneous +
      +
    toPose(PM_HOMOGENEOUS) - +Static method in class rcs.posemath.Posemath +
      +
    toPose(double[][]) - +Static method in class rcs.posemath.Posemath +
      +
    toQuat(PM_ROTATION_VECTOR) - +Static method in class rcs.posemath.Posemath +
    Convert a rotation vector to a quaternion +
    toQuat(PM_ROTATION_MATRIX) - +Static method in class rcs.posemath.Posemath +
      +
    toQuat(PM_EULER_ZYZ) - +Static method in class rcs.posemath.Posemath +
      +
    toQuat(PM_EULER_ZYX) - +Static method in class rcs.posemath.Posemath +
      +
    toQuat(PM_RPY) - +Static method in class rcs.posemath.Posemath +
      +
    toRot(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
    Convert quaternion to a rotation vector +
    toRot(PM_RPY) - +Static method in class rcs.posemath.Posemath +
      +
    toRpy(PM_QUATERNION) - +Static method in class rcs.posemath.Posemath +
      +
    toRpy(PmRotationMatrix) - +Static method in class rcs.posemath.Posemath +
      +
    toSph(PM_CARTESIAN) - +Static method in class rcs.posemath.Posemath +
    Convert a PM_CARTESIAN to PM_SPHERICAL +
    toSph(PM_CYLINDRICAL) - +Static method in class rcs.posemath.Posemath +
    Convert a cylindrical to a spherical +
    toString() - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    toString() - +Method in class diagapplet.CodeGen.DiagNMLMsgDict +
      +
    toString() - +Method in class diagapplet.CodeGen.EnumTypeInfo +
      +
    toString() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    toString() - +Method in class diagapplet.CodeGen.ServerInfo +
      +
    toString() - +Method in class diagapplet.CodeGen.StructureTypeInfo +
      +
    toString() - +Method in class diagapplet.plotter.PlotData +
      +
    toString() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    toString() - +Method in class diagapplet.plotTrackerPreserve +
      +
    toString() - +Method in class diagapplet.utils.FastListPanel +
      +
    toString() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    toString() - +Method in class rcs.nml.CMS_DATE +
      +
    toString() - +Method in class rcs.nml.CMS_TIME +
      +
    toString() - +Method in class rcs.nml.LogTimeEntry +
      +
    toString() - +Method in class rcs.nml.NMLBufferConfigInfo +
      +
    toString() - +Method in class rcs.nml.NMLConnection +
      +
    toString() - +Method in class rcs.nml.NMLFormatConverter +
      +
    toString() - +Method in class rcs.nml.NMLSingleVarLog +
      +
    toString() - +Method in class rcs.nml.PackedFormatConverter +
      +
    toString() - +Method in class rcs.nml.time_tracker +
      +
    toString() - +Method in class rcs.nml.XDRFormatConverter +
      +
    toString() - +Method in class rcs.nml.XMLFormatConverter +
      +
    toString() - +Method in class rcs.posemath.PM_CIRCLE +
      +
    toString() - +Method in class rcs.posemath.PM_LINE +
      +
    toString() - +Method in class rcs.posemath.PM_XYA +
      +
    toString() - +Method in class rcs.posemath.PmCartesian +
      +
    toString() - +Method in class rcs.posemath.PmCylindrical +
      +
    toString() - +Method in class rcs.posemath.PmPose +
      +
    toString() - +Method in class rcs.posemath.PmQuaternion +
      +
    toString() - +Method in class rcs.posemath.PmRotationMatrix +
      +
    toString() - +Method in class rcs.posemath.PmRpy +
      +
    toString() - +Method in class rcs.RCS_VERSION +
    Function that returns the info_string. +
    toString() - +Method in class rcs.utils.URL_and_FileLoader +
      +
    tran - +Variable in class rcs.posemath.PmHomogeneous +
      +
    tran - +Variable in class rcs.posemath.PmPose +
      +
    tryAutoComplete() - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    TryNameSucceeded - +Variable in class rcs.utils.URL_and_FileLoader +
      +
    tstArray() - +Static method in class rcs.posemath.Posemath +
      +
    tt - +Variable in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    type - +Variable in class rcs.nml.NMLmsg +
    Unique Identifier for the type of message +
    type_id_string - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    type_string - +Variable in class rcs.nml.NMLFormatConverter +
      +
    typedef - +Variable in class diagapplet.CodeGen.EnumTypeInfo +
      +
    +
    +

    +U

    +
    +
    UDP_get_msg_count() - +Method in class rcs.nml.NMLConnection +
      +
    UDP_get_msg_type() - +Method in class rcs.nml.NMLConnection +
      +
    unbounded_string - +Static variable in interface diagapplet.CodeGen.CodeGenCommonInterface +
      +
    unboundedInfo - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    unboundedName - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    UNINITIALIZED_STATE - +Static variable in class rcs.utils.rcs_states +
      +
    UNINITIALIZED_STATUS - +Static variable in class rcs.nml.RCS_STAT_MSG +
    Value for status if the module has not yet been initialized. +
    UNIT_QUAT_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    UNIT_SC_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    UNIT_VEC_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    unixCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    unknown_hosts_vector - +Static variable in class rcs.nml.NMLConnection +
      +
    UnqualifiedDerivedFrom - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.CMS_DATE +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.CMS_TIME +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.NML_DISPLAY +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.NML_ERROR +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.NML_TEXT +
      +
    update(boolean) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(boolean[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(byte) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(byte[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(char) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(char[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(short) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(short[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(int[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(long) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(long[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(float) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(float[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(double) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(double[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update(boolean) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(boolean[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(byte) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(byte[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(char) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(char[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(short) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(short[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(int[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(long) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(long[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(float) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(float[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(double) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(double[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.NMLmsg +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +
    update(boolean) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(byte) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(byte[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(char) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(char[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(short) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(short[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(int[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(long) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(long[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(float) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(float[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(double) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(double[], int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.RCS_CMD_MSG +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.RCS_STAT_MSG +
    update function for the RCS_STAT_MSG members. +
    update(NMLFormatConverter) - +Method in class rcs.nml.RCS_STAT_MSG_V2 +
      +
    update(NMLFormatConverter) - +Method in class rcs.nml.time_tracker +
      +
    update(boolean) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(byte) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(byte[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(char) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(char[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(short) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(short[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(int[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(long) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(long[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(float) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(float[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(double) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(double[], int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    update(boolean) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(boolean[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(byte) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(byte[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(char) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(char[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(short) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(short[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(int[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(long) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(long[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(float) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(float[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(double) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(double[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_CARTESIAN +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_CIRCLE +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_CYLINDRICAL +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_EULER_ZYX +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_EULER_ZYZ +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_HOMOGENEOUS +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_LINE +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_POSE +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_QUATERNION +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_ROTATION_MATRIX +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_ROTATION_VECTOR +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_RPY +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_SPHERICAL +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PM_XYA +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmCartesian +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmCircle +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmCylindrical +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmEulerZyx +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmEulerZyz +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmHomogeneous +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmLine +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmPose +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmQuaternion +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmRotationMatrix +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmRotationVector +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmRpy +
      +
    update(NMLFormatConverter) - +Method in class rcs.posemath.PmSpherical +
      +
    update_attribute_enumeration_with_name(String, int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_enumeration_with_name(String, int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, boolean) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, float) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, double) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, float[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, double[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_attribute_with_name(String, boolean) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, float) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, double) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, float[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, double[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_attribute_with_name(String, byte[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, char[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, short[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, int[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, long[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, float[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, double[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, boolean) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, byte) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, char) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, short) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, long) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, float) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_attribute_with_name(String, double) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_CMS_DATE(CMS_DATE) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_CMS_DATE(CMS_DATE) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_CMS_DATE(CMS_DATE) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_CMS_TIME(CMS_TIME) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_CMS_TIME(CMS_TIME) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_CMS_TIME(CMS_TIME) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_dla_length_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_dla_length_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_dla_length_with_name(String, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_enumeration_array_with_name(String, int[], int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_enumeration_array_with_name(String, int[], int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_enumeration_array_with_name(String, int[], int, NML_ENUM_INFO) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_enumeration_with_name(String, int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_enumeration_with_name(String, int, NML_ENUM_INFO) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_enumeration_with_name(String, int, NML_ENUM_INFO) - +Method in class rcs.nml.XMLFormatConverter +
      +
    UPDATE_FILE - +Static variable in class rcsdesign.rcsDesign +
      +
    update_for_non_xml(NMLFormatConverter) - +Method in class rcs.nml.CMS_DATE +
      +
    update_for_non_xml(NMLFormatConverter) - +Method in class rcs.nml.CMS_TIME +
      +
    update_internal(String, int, int) - +Method in interface diagapplet.CodeGen.LoadHierarchyUpdateInterface +
    Update a second progress bar with details of a subtask. +
    update_main(String, int, int) - +Method in interface diagapplet.CodeGen.LoadHierarchyUpdateInterface +
    Update the progress bar that task name has completed part of total. +
    update_next_aux_every_cycle - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    update_pre_check(String) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_attribute_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_attribute_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_attribute_with_name(String, byte[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_unsigned_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_unsigned_with_name(String, short[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_unsigned_with_name(String, int[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_unsigned_with_name(String, long[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_unsigned_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_unsigned_with_name(String, short[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_unsigned_with_name(String, int[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_unsigned_with_name(String, long[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, short[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, int[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, long[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, float[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, double[]) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unbounded_with_name(String, byte[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, short[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, int[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, long[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, float[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, double[]) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unbounded_with_name(String, byte[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_with_name(String, short[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_with_name(String, int[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_with_name(String, long[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_with_name(String, float[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unbounded_with_name(String, double[]) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_unsigned(byte[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(char) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(char[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(short) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(short[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(int[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(long) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(long[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned(byte) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(byte[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(char) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(char[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(short) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(short[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(int[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(long) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned(long[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_unsigned_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_unsigned_with_name(String, byte[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, boolean) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, boolean[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, float) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, float[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, double) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, double[], int) - +Method in class rcs.nml.NMLFormatConverter +
      +
    update_with_name(String, boolean) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, boolean[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, byte) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, byte[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, char) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, char[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, short) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, short[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, int[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, long) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, long[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, float) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, float[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, double) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, double[], int) - +Method in class rcs.nml.NMLFormatConverterBase +
      +
    update_with_name(String, boolean) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, byte) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, char) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, short) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, long) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, float) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, double) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, byte[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, boolean[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, char[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, short[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, int[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, long[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, float[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    update_with_name(String, double[], int) - +Method in class rcs.nml.XMLFormatConverter +
      +
    UpdateAuxStuff(String) - +Method in class rcsdesign.rcsDesign +
      +
    updateCmdData() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    updateCmdDataErrors - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    UpdateDisplay(boolean) - +Method in class diagapplet.HierarchyPanel +
      +
    UpdateDisplay(boolean) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    updateDisplay() - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    updateDisplay() - +Method in class diagapplet.utils.URLLoadInfoJPanel +
      +
    updateDisplay() - +Method in class diagapplet.utils.URLLoadInfoPanel +
      +
    updateDisplay() - +Method in interface diagapplet.utils.URLLoadInfoPanelInterface +
      +
    updateEveryCycle - +Variable in class diagapplet.CodeGen.ChannelInfo +
      +
    UpdateScrollbars() - +Method in class diagapplet.utils.FastListContainer +
      +
    updateStatData() - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    updateStatDataErrors - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    UpdateWriter() - +Method in class rcsdesign.rcsDesign +
      +
    updating_files - +Variable in class rcsdesign.rcsDesign +
      +
    updating_hierarchy - +Static variable in class diagapplet.HierarchyPanel +
      +
    updating_unsigned - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    URL_and_FileLoader - Class in rcs.utils
    Class used to read text files one line at a time + either as a local file or via an HTTP server.
    URL_and_FileLoader(InputStream) - +Constructor for class rcs.utils.URL_and_FileLoader +
      +
    URL_and_FileLoader(String) - +Constructor for class rcs.utils.URL_and_FileLoader +
      +
    URlLoadInfoFrame - Class in diagapplet.utils
    Swing JFrame that includes only a URLLoadInfoJPanel for + displaying progress while loading a URL or file.
    URlLoadInfoFrame() - +Constructor for class diagapplet.utils.URlLoadInfoFrame +
    Creates new form URlLoadInfoFrame +
    URLLoadInfoJPanel - Class in diagapplet.utils
    Swing JPanel used for displaying progress while loading a URL/File.
    URLLoadInfoJPanel() - +Constructor for class diagapplet.utils.URLLoadInfoJPanel +
    Creates new form URLLoadInfoJPanel +
    URLLoadInfoPanel - Class in diagapplet.utils
    AWT Panel for displaying progress while loading a URL.
    URLLoadInfoPanel() - +Constructor for class diagapplet.utils.URLLoadInfoPanel +
      +
    URLLoadInfoPanel(int, int) - +Constructor for class diagapplet.utils.URLLoadInfoPanel +
      +
    URLLoadInfoPanelInterface - Interface in diagapplet.utils
    Common interface to the Swing and AWT Panels for displaying progress while loading + a URL/File.
    URLname - +Variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    URLname - +Variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    use_buffer - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    use_color - +Variable in class diagapplet.utils.URLLoadInfoJPanel +
      +
    use_color - +Variable in class diagapplet.utils.URLLoadInfoPanel +
      +
    Use_Interpolation - +Variable in class diagapplet.plotter.plotter_NB_UI +
      +
    use_string - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    used - +Variable in class rcs.nml.NMLBufferConfigInfo +
      +
    UseDefaultTypes - +Static variable in class diagapplet.CodeGen.ModuleInfo +
      +
    useJavaInScriptsCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    useMergerCheckbox - +Variable in class rcsdesign.rcsDesignGui +
      +
    userdirField - +Variable in class rcsdesign.rcsDesignGui +
      +
    userdirLabel - +Variable in class rcsdesign.rcsDesignGui +
      +
    uVec - +Variable in class rcs.posemath.PM_LINE +
      +
    uVec - +Variable in class rcs.posemath.PmLine +
      +
    +
    +

    +V

    +
    +
    V_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    v_offset - +Variable in class diagapplet.plotter.PlotData +
      +
    v_out_of_range_count - +Variable in class diagapplet.plotter.PlotData +
      +
    v_size() - +Method in class diagapplet.plotter.PlotData +
      +
    value - +Variable in class rcs.nml.NMLSingleVarLogItem +
      +
    valueOf(String) - +Static method in enum diagapplet.utils.SaveImage.BAYER_PATTERN +
    Returns the enum constant of this type with the specified name. +
    valueOf(String) - +Static method in class rcs.posemath.PM_CARTESIAN +
      +
    valueOf(String) - +Static method in class rcs.posemath.PM_XYA +
      +
    valueOf(String) - +Static method in class rcs.posemath.PmCartesian +
      +
    values() - +Static method in enum diagapplet.utils.SaveImage.BAYER_PATTERN +
    Returns an array containing the constants of this enum type, in +the order they are declared. +
    var_name - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    var_name_list - +Variable in class rcs.nml.NMLFormatConverterBase +
      +
    VarIsUnsigned(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    VarnameAttributeInfoHashTable - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    VarnameNDLAHashTable - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    VarnameOverridesHashTable - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    VarnameToDefaultsHashTable - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    VarnameUnboundedHashTable - +Variable in class diagapplet.CodeGen.StructureTypeInfo +
      +
    verify_bufname() - +Method in class rcs.nml.NMLConnection +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. +
    verify_bufname() - +Method in interface rcs.nml.NMLConnectionInterface +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. +
    verify_bufnameTCP() - +Method in class rcs.nml.NMLConnection +
      +
    version_string - +Static variable in class rcs.RCS_VERSION +
    String in which the version number 2011.08.15_1829 is stored. +
    vertScrollbar - +Variable in class diagapplet.HierarchyPanel +
      +
    +
    +

    +W

    +
    +
    wait_for_done() - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    WarningPrint(String) - +Static method in class diagapplet.CodeGen.CodeGenCommon +
      +
    waste(int) - +Method in class rcs.nml.PackedFormatConverter +
      +
    waste(int) - +Method in class rcs.nml.XDRFormatConverter +
      +
    WatchJPanel - Class in diagapplet.utils
    Swing JPanel that replaces FastListPanel in newer diagnostics tools for + displaying lists of variables in hierarchical structures.
    WatchJPanel() - +Constructor for class diagapplet.utils.WatchJPanel +
    Creates new form WatchJPanel +
    WatchVarEditor - Class in diagapplet.utils
    Cell Editor for the variables in WatchJPanel table.
    WatchVarEditor() - +Constructor for class diagapplet.utils.WatchVarEditor +
    Creates a new instance of WatchVarEditor +
    weightedAvg(PM_CARTESIAN, double, PM_CARTESIAN, double) - +Static method in class rcs.posemath.Posemath +
    Adds two PM_CARTESIANS and returns a weightedAvg + ie. +
    weightedAvg(PM_POSE, double, PM_POSE, double) - +Static method in class rcs.posemath.Posemath +
    Adds two PM_POSES and returns a weightedAvg + ie. +
    windowActivated(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowClosed(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowClosing(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowDeactivated(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowDeiconified(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowIconified(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    windowOpened(WindowEvent) - +Method in class diagapplet.utils.ModifiedFileDialog +
      +
    write(NMLmsg) - +Method in class rcs.nml.NMLConnection +
    Writes an NMLmsg. +
    write(int) - +Method in class rcs.utils.CorrectedPipedOutputStream +
      +
    write(byte[]) - +Method in class rcs.utils.CorrectedPipedOutputStream +
      +
    write(byte[], int, int) - +Method in class rcs.utils.CorrectedPipedOutputStream +
      +
    write_msg_dict - +Variable in class diagapplet.CodeGen.BufferInfo +
    NMLMessageDictionary associated with the write channel. +
    write_nml - +Variable in class diagapplet.CodeGen.BufferInfo +
    Connection used by Diagnostics tool for writing to this buffer. +
    writeCmd(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    writeCmdsFailedInARow - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    writeDataString(String) - +Method in class diagapplet.CodeGen.BufferInfo +
      +
    writeDataString(String) - +Method in class rcs.nml.NMLConnection +
    Convert the string into an NMLmsg and send it to this channel. +
    writeDataString(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Convert the string into an NMLmsg and send it to this channel. +
    writeDataStringNoThrow(String) - +Method in class rcs.nml.NMLConnection +
    Convert the string into an NMLmsg and send it to this channel. +
    writeDataStringNoThrow(String) - +Method in interface rcs.nml.NMLConnectionInterface +
    Convert the string into an NMLmsg and send it to this channel. +
    WriteFile(String, NMLmsg) - +Method in class rcs.nml.PackedFileWriter +
      +
    WriteFile(File, NMLmsg) - +Method in class rcs.nml.PackedFileWriter +
      +
    WriteFile(String, NMLmsg) - +Method in class rcs.nml.XMLFileWriter +
      +
    WriteFile(File, NMLmsg) - +Method in class rcs.nml.XMLFileWriter +
      +
    WriteOutput(String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    writerNames - +Variable in class diagapplet.CodeGen.BufferInfo +
    List of all the names of all processes known to write to this buffer. +
    writeStat(String) - +Method in class diagapplet.CodeGen.ModuleInfo +
      +
    writeStatsFailedInARow - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    writeSTCPDataString(String) - +Method in class rcs.nml.NMLConnection +
      +
    writeTCP(NMLmsg) - +Method in class rcs.nml.NMLConnection +
      +
    writeTimeAndPoseList(List<Double>, List<PM_POSE>, PrintStream) - +Static method in class rcs.posemath.Posemath +
      +
    writeTimeAndPoseListS(List<Double>, List<PM_POSE>, String) - +Static method in class rcs.posemath.Posemath +
      +
    WriteToFos(FileOutputStream, String) - +Method in class diagapplet.CodeGen.CodeGenCommon +
      +
    writeUDP(NMLmsg) - +Method in class rcs.nml.NMLConnection +
      +
    +
    +

    +X

    +
    +
    x - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    x - +Variable in class rcs.posemath.PM_XYA +
      +
    x - +Variable in class rcs.posemath.PmCartesian +
      +
    x - +Variable in class rcs.posemath.PmEulerZyx +
      +
    x - +Variable in class rcs.posemath.PmQuaternion +
      +
    x - +Variable in class rcs.posemath.PmRotationMatrix +
      +
    x - +Variable in class rcs.posemath.PmRotationVector +
      +
    X_Grid - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    XDRFormatConverter - Class in rcs.nml
    The XDRFormatConverter converts NML message classes to XDR.
    XDRFormatConverter() - +Constructor for class rcs.nml.XDRFormatConverter +
      +
    XMLFileReader - Class in rcs.nml
     
    XMLFileReader(NMLMessageDictionary) - +Constructor for class rcs.nml.XMLFileReader +
      +
    XMLFileWriter - Class in rcs.nml
     
    XMLFileWriter(NMLMessageDictionary) - +Constructor for class rcs.nml.XMLFileWriter +
      +
    XMLFormatConverter - Class in rcs.nml
    Used internally by NML to convert messages to and from XML.
    XMLFormatConverter() - +Constructor for class rcs.nml.XMLFormatConverter +
      +
    xy_mode - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    +
    +

    +Y

    +
    +
    y - +Variable in class diagapplet.CodeGen.ModuleInfo +
      +
    y - +Variable in class rcs.posemath.PM_XYA +
      +
    y - +Variable in class rcs.posemath.PmCartesian +
      +
    y - +Variable in class rcs.posemath.PmEulerZyx +
      +
    y - +Variable in class rcs.posemath.PmEulerZyz +
      +
    y - +Variable in class rcs.posemath.PmQuaternion +
      +
    y - +Variable in class rcs.posemath.PmRotationMatrix +
      +
    y - +Variable in class rcs.posemath.PmRotationVector +
      +
    y - +Variable in class rcs.posemath.PmRpy +
      +
    Y_Grid - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    y_plot_data - +Variable in class diagapplet.plotter.PlotData +
      +
    years - +Variable in class rcs.nml.CMS_DATE +
      +
    +
    +

    +Z

    +
    +
    z - +Variable in class rcs.posemath.PmCartesian +
      +
    z - +Variable in class rcs.posemath.PmCylindrical +
      +
    z - +Variable in class rcs.posemath.PmEulerZyx +
      +
    z - +Variable in class rcs.posemath.PmEulerZyz +
      +
    z - +Variable in class rcs.posemath.PmQuaternion +
      +
    z - +Variable in class rcs.posemath.PmRotationMatrix +
      +
    z - +Variable in class rcs.posemath.PmRotationVector +
      +
    zero_rad_color - +Variable in class diagapplet.plotter.PlotGraphJPanel +
      +
    Zoom(double) - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ZoomIn() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ZoomIn() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    ZoomOut() - +Method in class diagapplet.plotter.PlotGraphJPanel +
      +
    ZoomOut() - +Method in class diagapplet.plotter.plotter_NB_UI +
      +
    zp - +Variable in class rcs.posemath.PmEulerZyz +
      +
    ZYX_Y_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    ZYZ_Y_FUZZ - +Static variable in class rcs.posemath.Posemath +
      +
    +
    +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 + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/index.html b/doc/javadoc/index.html new file mode 100644 index 0000000..c05a20c --- /dev/null +++ b/doc/javadoc/index.html @@ -0,0 +1,39 @@ + + + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/doc/javadoc/overview-frame.html b/doc/javadoc/overview-frame.html new file mode 100644 index 0000000..8372838 --- /dev/null +++ b/doc/javadoc/overview-frame.html @@ -0,0 +1,58 @@ + + + + + + +Overview List + + + + + + + + + + + + + + + +
    +
    + + + + + +
    All Classes +

    + +Packages +
    +diagapplet +
    +diagapplet.CodeGen +
    +diagapplet.plotter +
    +diagapplet.utils +
    +rcs +
    +rcs.nml +
    +rcs.posemath +
    +rcs.utils +
    +rcsdesign +
    +

    + +

    +  + + diff --git a/doc/javadoc/overview-summary.html b/doc/javadoc/overview-summary.html new file mode 100644 index 0000000..f0a31b6 --- /dev/null +++ b/doc/javadoc/overview-summary.html @@ -0,0 +1,181 @@ + + + + + + +Overview + + + + + + + + + + + + +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Packages
    diagapplet 
    diagapplet.CodeGen 
    diagapplet.plotter 
    diagapplet.utils 
    rcs 
    rcs.nml 
    rcs.posemath 
    rcs.utils 
    rcsdesign 
    + +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/overview-tree.html b/doc/javadoc/overview-tree.html new file mode 100644 index 0000000..3f8863f --- /dev/null +++ b/doc/javadoc/overview-tree.html @@ -0,0 +1,287 @@ + + + + + + +Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For All Packages

    +
    +
    +
    Package Hierarchies:
    diagapplet, diagapplet.CodeGen, diagapplet.plotter, diagapplet.utils, rcs, rcs.nml, rcs.posemath, rcs.utils, rcsdesign
    +
    +

    +Class Hierarchy +

    + +

    +Interface Hierarchy +

    + +

    +Enum Hierarchy +

    +
      +
    • java.lang.Object
        +
      • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
      +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/package-list b/doc/javadoc/package-list new file mode 100644 index 0000000..2eb47ca --- /dev/null +++ b/doc/javadoc/package-list @@ -0,0 +1,9 @@ +diagapplet +diagapplet.CodeGen +diagapplet.plotter +diagapplet.utils +rcs +rcs.nml +rcs.posemath +rcs.utils +rcsdesign diff --git a/doc/javadoc/rcs/RCS_VERSION.html b/doc/javadoc/rcs/RCS_VERSION.html new file mode 100644 index 0000000..1a373f7 --- /dev/null +++ b/doc/javadoc/rcs/RCS_VERSION.html @@ -0,0 +1,423 @@ + + + + + + +RCS_VERSION + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs +
    +Class RCS_VERSION

    +
    +java.lang.Object
    +  extended by rcs.RCS_VERSION
    +
    +
    +
    +
    public class RCS_VERSION
    extends java.lang.Object
    + + +

    +Class for checking at run-time which version of the RCS Library + is being used. +

    + Related Documentation:
    + RCS Library,
    + RCS Version Functions
    +
    + Source Code:
    + RCS_VERSION.java
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static java.lang.Stringdate_string + +
    +          String in which the library was compiled is stored.
    +static java.lang.Stringinfo_string + +
    +          String in which a brief message describing the library, it's version + and compile date etc.
    +static java.lang.Stringversion_string + +
    +          String in which the version number 2011.08.15_1829 is stored.
    +  + + + + + + + + + + +
    +Constructor Summary
    RCS_VERSION() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static intcompare(java.lang.String str_to_compare) + +
    +          Compare the version of the library with some other version.
    +static voidmain(java.lang.String[] args) + +
    +          Running this class as a stand-alone application displays + the RCS Library version information and the Java System + properties.
    +static voidprint() + +
    +          Function that prints the info_string to System.out
    + java.lang.StringtoString() + +
    +          Function that returns the info_string.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +version_string

    +
    +public static final java.lang.String version_string
    +
    +
    String in which the version number 2011.08.15_1829 is stored. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +date_string

    +
    +public static final java.lang.String date_string
    +
    +
    String in which the library was compiled is stored. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +info_string

    +
    +public static final java.lang.String info_string
    +
    +
    String in which a brief message describing the library, it's version + and compile date etc. is stored. +

    +

    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +RCS_VERSION

    +
    +public RCS_VERSION()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    Function that returns the info_string. +

    +

    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    + +
    Returns:
    info_string
    +
    +
    +
    + +

    +print

    +
    +public static void print()
    +
    +
    Function that prints the info_string to System.out +

    +

    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    Running this class as a stand-alone application displays + the RCS Library version information and the Java System + properties. +

    +

    +
    Parameters:
    args - NOT used.
    +
    +
    +
    + +

    +compare

    +
    +public static int compare(java.lang.String str_to_compare)
    +
    +
    Compare the version of the library with some other version. + If the argument only includes a major version number, the + minor version number is ignored. +

    +

    +
    Parameters:
    str_to_compare - A version to compare with the library being used. +
    Returns:
    0 if the versions are match, a negative number if + the library is older than the version passed as an argument, + or a positive number if the library is newer than the + version passed as an argument.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/class-use/RCS_VERSION.html b/doc/javadoc/rcs/class-use/RCS_VERSION.html new file mode 100644 index 0000000..516b1bc --- /dev/null +++ b/doc/javadoc/rcs/class-use/RCS_VERSION.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.RCS_VERSION + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.RCS_VERSION

    +
    +No usage of rcs.RCS_VERSION +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/CMS_DATE.html b/doc/javadoc/rcs/nml/CMS_DATE.html new file mode 100644 index 0000000..39813f1 --- /dev/null +++ b/doc/javadoc/rcs/nml/CMS_DATE.html @@ -0,0 +1,401 @@ + + + + + + +CMS_DATE + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class CMS_DATE

    +
    +java.lang.Object
    +  extended by rcs.nml.CMS_DATE
    +
    +
    +
    +
    public class CMS_DATE
    extends java.lang.Object
    + + +

    +Date structure wih built in NML update and + a special update format for XML. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + longdays + +
    +           
    + longmonths + +
    +           
    + longyears + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    CMS_DATE() + +
    +           
    CMS_DATE(java.lang.String str) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidsetWithString(java.lang.String str) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate_for_non_xml(NMLFormatConverter nml_fc) + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +years

    +
    +public long years
    +
    +
    +
    +
    +
    + +

    +months

    +
    +public long months
    +
    +
    +
    +
    +
    + +

    +days

    +
    +public long days
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CMS_DATE

    +
    +public CMS_DATE()
    +
    +
    +
    + +

    +CMS_DATE

    +
    +public CMS_DATE(java.lang.String str)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +setWithString

    +
    +public void setWithString(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +update_for_non_xml

    +
    +public void update_for_non_xml(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/CMS_TIME.html b/doc/javadoc/rcs/nml/CMS_TIME.html new file mode 100644 index 0000000..ffe2ca0 --- /dev/null +++ b/doc/javadoc/rcs/nml/CMS_TIME.html @@ -0,0 +1,401 @@ + + + + + + +CMS_TIME + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class CMS_TIME

    +
    +java.lang.Object
    +  extended by rcs.nml.CMS_TIME
    +
    +
    +
    +
    public class CMS_TIME
    extends java.lang.Object
    + + +

    +Date structure wih built in NML update and + a special update format for XML. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + longhours + +
    +           
    + longminutes + +
    +           
    + doubleseconds + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    CMS_TIME() + +
    +           
    CMS_TIME(java.lang.String str) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidsetWithString(java.lang.String str) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate_for_non_xml(NMLFormatConverter nml_fc) + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +hours

    +
    +public long hours
    +
    +
    +
    +
    +
    + +

    +minutes

    +
    +public long minutes
    +
    +
    +
    +
    +
    + +

    +seconds

    +
    +public double seconds
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CMS_TIME

    +
    +public CMS_TIME()
    +
    +
    +
    + +

    +CMS_TIME

    +
    +public CMS_TIME(java.lang.String str)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +setWithString

    +
    +public void setWithString(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +update_for_non_xml

    +
    +public void update_for_non_xml(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/LogTimeEntry.html b/doc/javadoc/rcs/nml/LogTimeEntry.html new file mode 100644 index 0000000..043a807 --- /dev/null +++ b/doc/javadoc/rcs/nml/LogTimeEntry.html @@ -0,0 +1,434 @@ + + + + + + +LogTimeEntry + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class LogTimeEntry

    +
    +java.lang.Object
    +  extended by rcs.nml.LogTimeEntry
    +
    +
    +
    +
    public class LogTimeEntry
    extends java.lang.Object
    + + +

    +Class representing one entry in an indexed log. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    +protected  java.io.FileF + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    LogTimeEntry(java.lang.String _FileNameOrURL, + double _TimeStamp, + int _Offset, + int _MaxLen) + +
    +          Constructor to initialize all properties.
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + java.io.FilegetF() + +
    +          Get the value of F
    + java.lang.StringgetFileNameOrURL() + +
    +          Get the value of FileNameOrURL
    + intgetMaxLen() + +
    +          Get the value of MaxLen
    + intgetOffset() + +
    +          Get the value of Offset
    + doublegetTimeStamp() + +
    +          Get the value of TimeStamp
    + voidsetF(java.io.File F) + +
    +          Set the value of F
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +F

    +
    +protected java.io.File F
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +LogTimeEntry

    +
    +public LogTimeEntry(java.lang.String _FileNameOrURL,
    +                    double _TimeStamp,
    +                    int _Offset,
    +                    int _MaxLen)
    +
    +
    Constructor to initialize all properties. +

    +

    +
    Parameters:
    _FileNameOrURL - file name or URL to load data from
    _TimeStamp - timestamp in seconds since 1970
    _Offset - offset in file for this data
    _MaxLen - bytes starting at offset that should be read for this message.
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getF

    +
    +public java.io.File getF()
    +
    +
    Get the value of F +

    +

    + +
    Returns:
    the value of F
    +
    +
    +
    + +

    +setF

    +
    +public void setF(java.io.File F)
    +
    +
    Set the value of F +

    +

    +
    Parameters:
    F - new value of F
    +
    +
    +
    + +

    +getFileNameOrURL

    +
    +public java.lang.String getFileNameOrURL()
    +
    +
    Get the value of FileNameOrURL +

    +

    + +
    Returns:
    the value of FileNameOrURL
    +
    +
    +
    + +

    +getTimeStamp

    +
    +public double getTimeStamp()
    +
    +
    Get the value of TimeStamp +

    +

    + +
    Returns:
    the value of TimeStamp
    +
    +
    +
    + +

    +getOffset

    +
    +public int getOffset()
    +
    +
    Get the value of Offset +

    +

    + +
    Returns:
    the value of Offset
    +
    +
    +
    + +

    +getMaxLen

    +
    +public int getMaxLen()
    +
    +
    Get the value of MaxLen +

    +

    + +
    Returns:
    the value of MaxLen
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/MsgToTimeStamp.html b/doc/javadoc/rcs/nml/MsgToTimeStamp.html new file mode 100644 index 0000000..2c4972c --- /dev/null +++ b/doc/javadoc/rcs/nml/MsgToTimeStamp.html @@ -0,0 +1,215 @@ + + + + + + +MsgToTimeStamp + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface MsgToTimeStamp

    +
    +
    +
    public interface MsgToTimeStamp
    + + +

    +Interface passed to tell indexer how to get a timestamp + double seconds since epoch 12:00 AM Jan 1, 1970 +

    + +

    +


    + +

    + + + + + + + + + + + + +
    +Method Summary
    + doubleMsgToTimeStamp(NMLmsg msg) + +
    +          Return the timestamp that should be associated with this message + used for indexing log files.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +MsgToTimeStamp

    +
    +double MsgToTimeStamp(NMLmsg msg)
    +
    +
    Return the timestamp that should be associated with this message + used for indexing log files. Unfortunately different messages use different + variables for this and some with different epochs/units etc. +

    +

    +
    Parameters:
    msg - +
    Returns:
    time in seconds associated with this message since Jan 1,1970.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLBufferConfigInfo.html b/doc/javadoc/rcs/nml/NMLBufferConfigInfo.html new file mode 100644 index 0000000..cf7877b --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLBufferConfigInfo.html @@ -0,0 +1,369 @@ + + + + + + +NMLBufferConfigInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLBufferConfigInfo

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLBufferConfigInfo
    +
    +
    +
    +
    public class NMLBufferConfigInfo
    extends java.lang.Object
    + + +

    +Class encapsulating information from the configuration file/server about an NML buffer. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.Stringbuffer_line + +
    +           
    + java.lang.Stringbuffer_name + +
    +           
    + booleanused + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLBufferConfigInfo() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd_process_line(java.lang.String process_name, + java.lang.String process_line) + +
    +           
    + java.lang.StringgetProcessLine(java.lang.String process_name) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +buffer_name

    +
    +public java.lang.String buffer_name
    +
    +
    +
    +
    +
    + +

    +buffer_line

    +
    +public java.lang.String buffer_line
    +
    +
    +
    +
    +
    + +

    +used

    +
    +public boolean used
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLBufferConfigInfo

    +
    +public NMLBufferConfigInfo()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getProcessLine

    +
    +public java.lang.String getProcessLine(java.lang.String process_name)
    +
    +
    +
    +
    +
    +
    + +

    +add_process_line

    +
    +public void add_process_line(java.lang.String process_name,
    +                             java.lang.String process_line)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLConfigInfo.html b/doc/javadoc/rcs/nml/NMLConfigInfo.html new file mode 100644 index 0000000..62d5e6f --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLConfigInfo.html @@ -0,0 +1,370 @@ + + + + + + +NMLConfigInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLConfigInfo

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLConfigInfo
    +
    +
    +
    +
    public class NMLConfigInfo
    extends java.lang.Object
    + + +

    +Class encapsulating all informaation from an NML configuration file/server. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.util.Hashtablebuffer_configurations + +
    +           
    + java.lang.StringDefaultProcessLine + +
    +           
    + java.lang.Stringfile_name + +
    +           
    + java.util.Vectorheader_dir_vector + +
    +           
    + java.util.Vectorinclude_dir_vector + +
    +           
    + URL_and_FileLoaderloader + +
    +           
    + java.lang.Stringnmlcfgsvr + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLConfigInfo() + +
    +           
    +  + + + + + + + +
    +Method Summary
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +file_name

    +
    +public java.lang.String file_name
    +
    +
    +
    +
    +
    + +

    +buffer_configurations

    +
    +public java.util.Hashtable buffer_configurations
    +
    +
    +
    +
    +
    + +

    +loader

    +
    +public URL_and_FileLoader loader
    +
    +
    +
    +
    +
    + +

    +nmlcfgsvr

    +
    +public java.lang.String nmlcfgsvr
    +
    +
    +
    +
    +
    + +

    +include_dir_vector

    +
    +public java.util.Vector include_dir_vector
    +
    +
    +
    +
    +
    + +

    +header_dir_vector

    +
    +public java.util.Vector header_dir_vector
    +
    +
    +
    +
    +
    + +

    +DefaultProcessLine

    +
    +public java.lang.String DefaultProcessLine
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLConfigInfo

    +
    +public NMLConfigInfo()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLConnection.html b/doc/javadoc/rcs/nml/NMLConnection.html new file mode 100644 index 0000000..51456ee --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLConnection.html @@ -0,0 +1,3875 @@ + + + + + + +NMLConnection + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLConnection

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLConnection
    +
    +
    +
    All Implemented Interfaces:
    NMLConnectionInterface
    +
    +
    +
    +
    public class NMLConnection
    extends java.lang.Object
    implements NMLConnectionInterface
    + + +

    +Class for connecting to NML buffers, ussually via network sockets.
    +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +protected  booleanbad_host + +
    +           
    +protected static intCMS_CHECK_IF_READ_ACCESS + +
    +           
    +protected static intCMS_PEEK_ACCESS + +
    +           
    +protected static intCMS_READ_ACCESS + +
    +           
    +protected static intCMS_WRITE_ACCESS + +
    +           
    +protected static intCMS_WRITE_IF_READ_ACCESS + +
    +           
    +static NMLConnectionCreatorCreator + +
    +          Creator singleton used to avoid circular dependancies in old + diagapplet/codegen/rcs design code.
    +static booleando_not_print_errors + +
    +           
    +protected  NMLFormatConverterBaseformat_converter + +
    +           
    +static booleankeep_old_configs + +
    +          Should NML store configuration data to make + connecting to new buffers faster? + + Default : true
    +protected  NMLmsglast_msg_read + +
    +           
    +protected  NMLMessageDictionarymessage_dictionary + +
    +           
    +protected  NMLFormatConvertErrCallbackInterfacenfceci + +
    +           
    +protected static intNML_ASCII_ENCODING_TYPE + +
    +           
    +protected static intNML_DISP_ENCODING_TYPE + +
    +           
    +protected static intNML_PACKED_ENCODING_TYPE + +
    +           
    +protected static intNML_PACKEDL64_ENCODING_TYPE + +
    +           
    +protected static intNML_STCP_PROTOCOL_TYPE + +
    +           
    +protected static intNML_TCP_PROTOCOL_TYPE + +
    +           
    +protected static intNML_UDP_PROTOCOL_TYPE + +
    +           
    +protected static intNML_XDR_ENCODING_TYPE + +
    +           
    +protected static intNML_XML_ENCODING_TYPE + +
    +           
    +protected  intoutput_data_size + +
    +           
    +protected static java.util.Hashtablepreviously_read_nml_configurations + +
    +           
    +protected  intprotocol_option + +
    +           
    +protected  booleanread_request_sent + +
    +           
    +protected static intREMOTE_CMS_BLOCKING_READ_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_CLOSE_SINGLE_VAR_LOG_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_BUF_NAME_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_DIAG_INFO_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_IS_CLEAR_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_KEYS_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_MSG_COUNT_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_MSG_TYPE_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_QUEUE_LENGTH_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_READ_COUNT_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_SINGLE_VAR_LOG_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_GET_SPACE_AVAILABLE_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_LOGIN_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_READ_COMBINED_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_READ_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_SETUP_SINGLE_VAR_LOG_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WAIT_FOR_ANYTHING_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WAIT_FOR_CLEAR_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WAIT_FOR_QUEUE_LENGTH_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WAIT_FOR_READ_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WAIT_FOR_WRITE_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WRITE_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WRITE_WITH_BITWISE_OP_REQUEST_TYPE + +
    +           
    +protected static intREMOTE_CMS_WRITE_WITH_PRIORITY_REQUEST_TYPE + +
    +           
    +protected  longrequest_sent_time_millis + +
    +           
    +protected static java.util.Vectorunknown_hosts_vector + +
    +           
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    NMLConnection() + +
    +          This constructs an NMLConnection which will not work until + the host and port are set manually or + by reading the NML configuration file with ReadNMLConfigurationFile().
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile, + java.lang.String[] _additional_options) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static voidAddNMLErrorAppender(NMLErrorAppender nea) + +
    +          Add an opject to be called with each error to append messages.
    +protected  intcancelUDPSubscription() + +
    +           
    +static voidClearStaticData() + +
    +          Clear any data saved from previously read configuration files.
    + intcloseSingleVarLog(int var_log_number) + +
    +          Stop collecting data on a single variable setup in setupSingleVarLog().
    + intconnect() + +
    +          Connect or reconnect to the sockets as appropriate.
    + intconnectNoThrow() + +
    +          Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception.
    + voiddisconnect() + +
    +          Disconnect this object from the NML server.
    +protected  voidfinalize() + +
    +           
    + java.lang.Stringget_buffer_name() + +
    +          Get the buffer name.
    + intget_buffer_number() + +
    +          Get the buffer_number for this buffer.
    + java.lang.Stringget_configuration_file() + +
    +          Get the name of the NML configuration file being used.
    + longget_connect_time() + +
    +          Get the time in milliseconds when the last connect() was attempted.
    + longget_disconnect_time() + +
    +          Get the time in milliseconds when the last disconnect() was attempted.
    + java.lang.Stringget_host() + +
    +          Get the host name where the buffer is supposed to be located.
    + java.lang.Stringget_last_exception_string() + +
    +          Stop collecting data on a single variable setup in setupSingleVarLog().
    + intget_last_id_read() + +
    +          Each message has an id used to determine if it is new.
    + intget_msg_count() + +
    +          Get the number of messages that have been successfully written to the buffer, + including messages written by other processes/systems.
    + intget_msg_type() + +
    +          Get the type of message in the currently in the buffer.
    + intget_port() + +
    +          Return the TCP or UDP port number associated with this connection.
    + java.lang.Stringget_process_name() + +
    +          Get the process name.
    + java.lang.Stringget_returned_buffer_name() + +
    +          When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number.
    +static NMLConfigInfoGetAllConfigInfoFromServer(java.lang.String server) + +
    +           
    + intgetAllocation_size_max() + +
    +           
    + java.lang.StringgetBufferLine() + +
    +          Get the buffer line from the configuration file.
    +static NMLConfigInfoGetConfigInfo(java.lang.String configuration_file) + +
    +          Parse or return configution info from a previously parsed NML configuration file.
    + NMLFormatConverterGetFormatConverter() + +
    +          This functions gets the NMLFormatConverter for this connection.
    + NMLMessageDictionaryGetMessageDictionary() + +
    +          This functions gets the NMLMessageDictionary for this connection.
    + intgetNoThrowErrorCount() + +
    +          Get the number of times a NoThrow fuction returned -1 for this object.
    + longgetRequest_sent_time_millis() + +
    +          Get the value of request_sent_time_millis
    + NMLSingleVarLoggetSingleVarLog(int var_log_number) + +
    +          Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog()
    + booleanis_connected() + +
    +          Get the value of the connected property.
    +static booleanisDefault_poll_state() + +
    +           
    + booleanisPoll() + +
    +           
    + booleanisRead_only() + +
    +           
    + booleanisWrite_only() + +
    +           
    + booleanlogin(java.lang.String name, + java.lang.String passwd) + +
    +          This function allows the application to gain access to + NML servers with security enabled.
    + booleanloginNoThrow(java.lang.String _name, + java.lang.String _passwd) + +
    +          Login to an NML server using a name and passwd.
    +protected  booleanloginTCP(java.lang.String name, + java.lang.String passwd) + +
    +           
    + voidParseAdditionalOptions(java.lang.String[] _additional_options) + +
    +           
    +protected  voidpeek_raw_data() + +
    +           
    + NMLmsgpeek() + +
    +          Read an NMLmsg but do not change the was_read flag.
    + java.lang.StringpeekDataString() + +
    +          Reads an NMLmsg using peek() and converts it to a String.
    + java.lang.StringpeekDataStringNoThrow() + +
    +          Peek a message and convert it to a comma delimeted string.
    +protected  java.lang.StringpeekSTCPDataString() + +
    +           
    +protected  voidpeekTCP_raw_data() + +
    +           
    +protected  NMLmsgpeekTCP() + +
    +           
    +protected  voidpeekUDP_raw_data() + +
    +           
    +protected  NMLmsgpeekUDP() + +
    +           
    + java.lang.Stringread_errlog_string() + +
    +           
    +protected  voidread_raw_data() + +
    +           
    + NMLmsgread() + +
    +          Read a NMLmsg.
    + java.lang.StringreadDataString() + +
    +          Reads an NMLmsg and converts it to a String.
    + java.lang.StringreadDataStringNoThrow() + +
    +          Read a message and convert it to a comma delimeted string.
    + voidReadNMLConfigurationFile() + +
    +          Rereadn the NML Configuration file.
    + voidReadNMLConfigurationFile(java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile) + +
    +          This function reads configuration information from the NML configuration file.
    + voidReadNMLConfigurationFileNoThrow() + +
    +          Reread the NML Configuration and reconnect.
    +protected  java.lang.StringreadSTCPDataString() + +
    +           
    +protected  voidreadTCP_raw_data() + +
    +           
    +protected  NMLmsgreadTCP() + +
    +           
    +protected  voidreadUDP_raw_data() + +
    +           
    +protected  NMLmsgreadUDP() + +
    +           
    + voidset_buffer_name(java.lang.String _buffer_name) + +
    +          Set the buffer name.
    + voidset_buffer_number(int _buffer_number) + +
    +          Set the buffer_number for this buffer.
    +static voidset_config_debug_on(boolean b) + +
    +          Print messages to the console/stderr to debug the config related code.
    + voidset_configuration_file(java.lang.String _configuration_file) + +
    +          Set the name of the NML configuration file.
    + voidset_host(java.lang.String _host) + +
    +          Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt.
    + voidset_last_id_read(int _id) + +
    +          Set the id which will be compared with messages recieved to determine if + the message is new.
    + voidset_port(int _port) + +
    +          Set the TCP or UDP port to be used for the next time a connect() is performed.
    + voidset_process_name(java.lang.String _process_name) + +
    +          Set the process name.
    + voidset_read_debug_on(boolean b) + +
    +           
    + voidset_write_debug_on(boolean b) + +
    +           
    + voidsetAllocation_size_max(int allocation_size_max) + +
    +           
    +static voidsetDefault_poll_state(boolean aDefault_poll_state) + +
    +           
    + intsetDiagInfo() + +
    +          Send additional diagnostics info to server so it can better track which process + is doing what.
    + voidSetFormatConverter(NMLFormatConverter new_fc) + +
    +          This functions sets the NMLFormatConverter for this connection.
    + voidSetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +          Set an interface that will have its member functions called for various errors.
    + voidSetMessageDictionary(NMLMessageDictionary new_dict) + +
    +          This functions sets the NMLMessageDictionary for this connection.
    + voidsetPoll(boolean poll) + +
    +           
    + voidsetRead_only(boolean read_only) + +
    +           
    + intsetSubscriptionPeriod(double period) + +
    +          Tell the server to send this process messages from the buffer every period + seconds without needing a request message.
    +protected  intsetTCPDiagInfo() + +
    +           
    +protected  intsetTCPSubscriptionPeriod(double period) + +
    +           
    +protected  intsetUDPSubscriptionPeriod(double period) + +
    +           
    + intsetupSingleVarLog(java.lang.String varname, + int maxlogsize, + double period, + int type) + +
    +          Setup a single variable log.
    + voidsetWrite_only(boolean write_only) + +
    +           
    + java.lang.StringtoString() + +
    +           
    +protected  intUDP_get_msg_count() + +
    +           
    +protected  intUDP_get_msg_type() + +
    +           
    + booleanverify_bufname() + +
    +          When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number.
    +protected  booleanverify_bufnameTCP() + +
    +           
    + intwrite(NMLmsg msg) + +
    +          Writes an NMLmsg.
    + intwriteDataString(java.lang.String dataString) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    + intwriteDataStringNoThrow(java.lang.String dataString) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    +protected  intwriteSTCPDataString(java.lang.String dataString) + +
    +           
    +protected  intwriteTCP(NMLmsg msg) + +
    +           
    +protected  intwriteUDP(NMLmsg msg) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +previously_read_nml_configurations

    +
    +protected static java.util.Hashtable previously_read_nml_configurations
    +
    +
    +
    +
    +
    + +

    +format_converter

    +
    +protected NMLFormatConverterBase format_converter
    +
    +
    +
    +
    +
    + +

    +message_dictionary

    +
    +protected NMLMessageDictionary message_dictionary
    +
    +
    +
    +
    +
    + +

    +NML_STCP_PROTOCOL_TYPE

    +
    +protected static final int NML_STCP_PROTOCOL_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_TCP_PROTOCOL_TYPE

    +
    +protected static final int NML_TCP_PROTOCOL_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_UDP_PROTOCOL_TYPE

    +
    +protected static final int NML_UDP_PROTOCOL_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +protocol_option

    +
    +protected int protocol_option
    +
    +
    +
    +
    +
    + +

    +NML_ASCII_ENCODING_TYPE

    +
    +protected static final int NML_ASCII_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_DISP_ENCODING_TYPE

    +
    +protected static final int NML_DISP_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_XDR_ENCODING_TYPE

    +
    +protected static final int NML_XDR_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_XML_ENCODING_TYPE

    +
    +protected static final int NML_XML_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_PACKED_ENCODING_TYPE

    +
    +protected static final int NML_PACKED_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_PACKEDL64_ENCODING_TYPE

    +
    +protected static final int NML_PACKEDL64_ENCODING_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_READ_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_READ_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WRITE_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WRITE_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_KEYS_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_KEYS_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_LOGIN_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_LOGIN_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_SET_SUBSCRIPTION_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_READ_COMBINED_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_READ_COMBINED_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_BLOCKING_READ_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_BLOCKING_READ_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_BUF_NAME_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_BUF_NAME_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_CANCEL_SUBSCRIPTION_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_SET_DIAG_INFO_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_DIAG_INFO_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_DIAG_INFO_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_MSG_COUNT_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_MSG_COUNT_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_QUEUE_LENGTH_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_QUEUE_LENGTH_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_SPACE_AVAILABLE_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_SPACE_AVAILABLE_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WRITE_WITH_PRIORITY_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WRITE_WITH_PRIORITY_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WRITE_WITH_BITWISE_OP_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WRITE_WITH_BITWISE_OP_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WAIT_FOR_WRITE_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WAIT_FOR_WRITE_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WAIT_FOR_READ_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WAIT_FOR_READ_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WAIT_FOR_QUEUE_LENGTH_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WAIT_FOR_QUEUE_LENGTH_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WAIT_FOR_CLEAR_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WAIT_FOR_CLEAR_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_WAIT_FOR_ANYTHING_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_WAIT_FOR_ANYTHING_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_READ_COUNT_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_READ_COUNT_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_IS_CLEAR_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_IS_CLEAR_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_SETUP_SINGLE_VAR_LOG_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_SETUP_SINGLE_VAR_LOG_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_SINGLE_VAR_LOG_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_SINGLE_VAR_LOG_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_CLOSE_SINGLE_VAR_LOG_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_CLOSE_SINGLE_VAR_LOG_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +REMOTE_CMS_GET_MSG_TYPE_REQUEST_TYPE

    +
    +protected static final int REMOTE_CMS_GET_MSG_TYPE_REQUEST_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +bad_host

    +
    +protected boolean bad_host
    +
    +
    +
    +
    +
    + +

    +unknown_hosts_vector

    +
    +protected static java.util.Vector unknown_hosts_vector
    +
    +
    +
    +
    +
    + +

    +CMS_READ_ACCESS

    +
    +protected static final int CMS_READ_ACCESS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CMS_CHECK_IF_READ_ACCESS

    +
    +protected static final int CMS_CHECK_IF_READ_ACCESS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CMS_PEEK_ACCESS

    +
    +protected static final int CMS_PEEK_ACCESS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CMS_WRITE_ACCESS

    +
    +protected static final int CMS_WRITE_ACCESS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CMS_WRITE_IF_READ_ACCESS

    +
    +protected static final int CMS_WRITE_IF_READ_ACCESS
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +output_data_size

    +
    +protected int output_data_size
    +
    +
    +
    +
    +
    + +

    +last_msg_read

    +
    +protected NMLmsg last_msg_read
    +
    +
    +
    +
    +
    + +

    +read_request_sent

    +
    +protected boolean read_request_sent
    +
    +
    +
    +
    +
    + +

    +do_not_print_errors

    +
    +public static boolean do_not_print_errors
    +
    +
    +
    +
    +
    + +

    +nfceci

    +
    +protected NMLFormatConvertErrCallbackInterface nfceci
    +
    +
    +
    +
    +
    + +

    +keep_old_configs

    +
    +public static boolean keep_old_configs
    +
    +
    Should NML store configuration data to make + connecting to new buffers faster? + + Default : true +

    +

    +
    +
    +
    + +

    +request_sent_time_millis

    +
    +protected long request_sent_time_millis
    +
    +
    +
    +
    +
    + +

    +Creator

    +
    +public static final NMLConnectionCreator Creator
    +
    +
    Creator singleton used to avoid circular dependancies in old + diagapplet/codegen/rcs design code. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLConnection

    +
    +public NMLConnection()
    +
    +
    This constructs an NMLConnection which will not work until + the host and port are set manually or + by reading the NML configuration file with ReadNMLConfigurationFile(). + Most users should use the other constructor with several parameters. +

    +

    +
    See Also:
    NMLConnection(rcs.nml.NMLMessageDictionary, java.lang.String, java.lang.String, java.lang.String), +ReadNMLConfigurationFile(java.lang.String, java.lang.String, java.lang.String)
    +
    +
    + +

    +NMLConnection

    +
    +public NMLConnection(NMLMessageDictionary msg_dict,
    +                     java.lang.String BufferName,
    +                     java.lang.String ProcessName,
    +                     java.lang.String ConfigurationFile)
    +              throws NMLException
    +
    +
    This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately. + This is the constructor most users should use. +

    +

    +
    Parameters:
    msg_dict - the NMLMessageDictionary for this connection to use (the NMLMessageDictionary allows this Connection to determine the message structure from the message type)
    BufferName - the name of the buffer to connect to, (must match one of the buffers in the configuration file.)
    ProcessName - the name of the process that will use this connection (must match one of the process names in the configuration file)
    ConfigurationFile - the file name or URL of an NML configuration file (URL's should either be complete, or they can be relative to + rcs.utils.URL_and_FileLoader.current_directory) +
    Throws: +
    NMLException - If the configuration file can not be read, the file is improperly formatted or the buffer or process can + can not be found in it.
    +
    +
    + +

    +NMLConnection

    +
    +public NMLConnection(NMLMessageDictionary msg_dict,
    +                     java.lang.String BufferName,
    +                     java.lang.String ProcessName,
    +                     java.lang.String ConfigurationFile,
    +                     java.lang.String[] _additional_options)
    +              throws NMLException
    +
    +
    This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately. + This is the constructor most users should use. +

    +

    +
    Parameters:
    msg_dict - the NMLMessageDictionary for this connection to use (the NMLMessageDictionary allows this Connection to determine the message structure from the message type)
    BufferName - the name of the buffer to connect to, (must match one of the buffers in the configuration file.)
    ProcessName - the name of the process that will use this connection (must match one of the process names in the configuration file)
    ConfigurationFile - the file name or URL of an NML configuration file (URL's should either be complete, or they can be relative to + rcs.utils.URL_and_FileLoader.current_directory)
    _additional_options - +
    Throws: +
    NMLException - If the configuration file can not be read, the file is improperly formatted or the buffer or process can + can not be found in it.
    +
    + + + + + + + + +
    +Method Detail
    + +

    +isDefault_poll_state

    +
    +public static boolean isDefault_poll_state()
    +
    +
    +
    +
    +
    + +
    Returns:
    the default_poll_state
    +
    +
    +
    + +

    +setDefault_poll_state

    +
    +public static void setDefault_poll_state(boolean aDefault_poll_state)
    +
    +
    +
    +
    +
    +
    Parameters:
    aDefault_poll_state - the default_poll_state to set
    +
    +
    +
    + +

    +get_connect_time

    +
    +public long get_connect_time()
    +
    +
    Get the time in milliseconds when the last connect() was attempted. + (To determin how long it has been since the last connection subtract + from the current time given with System.currentTimeMillis(); +

    +

    +
    Specified by:
    get_connect_time in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    connect_time
    +
    +
    +
    + +

    +get_disconnect_time

    +
    +public long get_disconnect_time()
    +
    +
    Get the time in milliseconds when the last disconnect() was attempted. + (To determin how long it has been since disconnected subtract + from the current time given with System.currentTimeMillis(); +

    +

    +
    Specified by:
    get_disconnect_time in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    disconnect_time
    +
    +
    +
    + +

    +get_last_exception_string

    +
    +public java.lang.String get_last_exception_string()
    +
    +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +

    +

    +
    Specified by:
    get_last_exception_string in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    0 ok, -1 comm error in sending close request.
    +
    +
    +
    + +

    +get_last_id_read

    +
    +public int get_last_id_read()
    +
    +
    Each message has an id used to determine if it is new. +

    +

    +
    Specified by:
    get_last_id_read in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    id of last message read.
    +
    +
    +
    + +

    +set_last_id_read

    +
    +public void set_last_id_read(int _id)
    +
    +
    Set the id which will be compared with messages recieved to determine if + the message is new. + A message in new if its id does not equal the value set here. +

    +

    +
    Specified by:
    set_last_id_read in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _id -
    +
    +
    +
    + +

    +get_returned_buffer_name

    +
    +public java.lang.String get_returned_buffer_name()
    +
    +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. + If this is not the same as the buffer passed to the constructor it indicates + that configuration used by the server is inconsistant with the one being used by this process. + Regardless the value is stored and can be retrieved later with + get_returned_buffer_name(). +

    +

    +
    Specified by:
    get_returned_buffer_name in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    returned_buffer_name
    +
    +
    +
    + +

    +getNoThrowErrorCount

    +
    +public int getNoThrowErrorCount()
    +
    +
    Get the number of times a NoThrow fuction returned -1 for this object. +

    +

    +
    Specified by:
    getNoThrowErrorCount in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    noThrowErrorCount.
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +AddNMLErrorAppender

    +
    +public static void AddNMLErrorAppender(NMLErrorAppender nea)
    +
    +
    Add an opject to be called with each error to append messages. + Multiple appenders can be added. +

    +

    +
    +
    +
    +
    Parameters:
    nea -
    +
    +
    +
    + +

    +SetMessageDictionary

    +
    +public void SetMessageDictionary(NMLMessageDictionary new_dict)
    +
    +
    This functions sets the NMLMessageDictionary for this connection. + The purpose of the NMLMessageDictionary is to provide a means + for the NMLConnection to determine the structure of messages being + sent or received using a message type. (An integer passed within + all NML messages.) +

    +

    +
    Specified by:
    SetMessageDictionary in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    new_dict - the NMLMessageDictionary for this NMLConnection to use.
    See Also:
    NMLMessageDictionary
    +
    +
    +
    + +

    +SetFormatConvertErrCallback

    +
    +public void SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci)
    +
    +
    Set an interface that will have its member functions called for various errors. + Used by the diagnostics tools to improve error reporting. +

    +

    +
    Specified by:
    SetFormatConvertErrCallback in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    new_nfceci -
    +
    +
    +
    + +

    +GetMessageDictionary

    +
    +public NMLMessageDictionary GetMessageDictionary()
    +                                          throws NMLException
    +
    +
    This functions gets the NMLMessageDictionary for this connection. +

    +

    +
    +
    +
    + +
    Returns:
    the implementation of NMLMessageDictionary used by this + NMLConnection +
    Throws: +
    NMLException
    See Also:
    SetMessageDictionary(rcs.nml.NMLMessageDictionary), +NMLMessageDictionary
    +
    +
    +
    + +

    +SetFormatConverter

    +
    +public void SetFormatConverter(NMLFormatConverter new_fc)
    +                        throws NMLException
    +
    +
    This functions sets the NMLFormatConverter for this connection. + The NMLFormatConverter is resposible for converting each of + the basic data types to some neutral format that can be + used on many different platforms. Most users should either accept + the default (XDRFormatConverter) or allow the format to be specified + in the NML configuration file rather than calling this function + directly. +

    +

    +
    +
    +
    +
    Parameters:
    new_fc - the NMLFormatConverter for this Connection to use. +
    Throws: +
    NMLException
    See Also:
    NMLFormatConverter
    +
    +
    +
    + +

    +GetFormatConverter

    +
    +public NMLFormatConverter GetFormatConverter()
    +                                      throws NMLException
    +
    +
    This functions gets the NMLFormatConverter for this connection. +

    +

    +
    +
    +
    + +
    Returns:
    the NMLFormatConverter for this connection +
    Throws: +
    NMLException
    See Also:
    SetFormatConverter(rcs.nml.NMLFormatConverter)
    +
    +
    +
    + +

    +ParseAdditionalOptions

    +
    +public void ParseAdditionalOptions(java.lang.String[] _additional_options)
    +                            throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +ReadNMLConfigurationFile

    +
    +public void ReadNMLConfigurationFile(java.lang.String BufferName,
    +                                     java.lang.String ProcessName,
    +                                     java.lang.String ConfigurationFile)
    +                              throws NMLException
    +
    +
    This function reads configuration information from the NML configuration file. +

    +

    +
    +
    +
    +
    Parameters:
    BufferName - the name of the buffer to connect to, (must match one of the buffers in the configuration file.)
    ProcessName - the name of the process that will use this connection (must match one of the process names in the configuration file)
    ConfigurationFile - the file name or URL of an NML configuration file (URL's should either be complete, or they can be relative to + rcs.utils.URL_and_FileLoader.current_directory) +
    Throws: +
    NMLException - If the configuration file can not be read, the file is improperly formatted or the buffer or process can + can not be found in it.
    +
    +
    +
    + +

    +ClearStaticData

    +
    +public static void ClearStaticData()
    +
    +
    Clear any data saved from previously read configuration files. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +GetConfigInfo

    +
    +public static NMLConfigInfo GetConfigInfo(java.lang.String configuration_file)
    +
    +
    Parse or return configution info from a previously parsed NML configuration file. +

    +

    +
    +
    +
    +
    Parameters:
    configuration_file - +
    Returns:
    nml configuraton info
    +
    +
    +
    + +

    +GetAllConfigInfoFromServer

    +
    +public static NMLConfigInfo GetAllConfigInfoFromServer(java.lang.String server)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ReadNMLConfigurationFile

    +
    +public void ReadNMLConfigurationFile()
    +                              throws NMLException
    +
    +
    Rereadn the NML Configuration file. +

    +

    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +finalize

    +
    +protected void finalize()
    +
    +
    +
    Overrides:
    finalize in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +connect

    +
    +public int connect()
    +            throws NMLException
    +
    +
    Connect or reconnect to the sockets as appropriate. + Most errors throw an exception. Unfortunately the return value also + needs to be checked since a few errors only cause a -1 return value. + + NOTE: ReadNMLConfigurationFile and the NMLConnection() constructor with 4 arguments. + call connect() internally so it is only necessary to call this if + the first connect() failed, or disconnect() was called or the 0 arguments + constructor was used to createt the NMLConnection. + * +

    +

    +
    Specified by:
    connect in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    0 connect was ok. -1 error occured. +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +disconnect

    +
    +public void disconnect()
    +
    +
    Disconnect this object from the NML server. This + allows the NML server to shutdown and come back up + while preserving the configuration information in this + object. + + All reads and writes will fail while the object is disconnected. +

    +

    +
    Specified by:
    disconnect in interface NMLConnectionInterface
    +
    +
    +
    +
    +
    +
    + +

    +login

    +
    +public boolean login(java.lang.String name,
    +                     java.lang.String passwd)
    +              throws NMLException
    +
    +
    This function allows the application to gain access to + NML servers with security enabled. +

    +

    +
    +
    +
    +
    Parameters:
    name - the login name of the user running the client program
    passwd - the passwd of the user to login as. +
    Returns:
    true if login was successful +
    Throws: +
    NMLException - If the login could not be attempted because the connection to the + NML server failed. (If the passwd is wrong it returns false.)
    +
    +
    +
    + +

    +verify_bufname

    +
    +public boolean verify_bufname()
    +
    +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. + If this is not the same as the buffer passed to the constructor it indicates + that configuration used by the server is inconsistant with the one being used by this process. +

    +

    +
    Specified by:
    verify_bufname in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    true if the host could be contacted and returned the expected buffername, or false if the + server could not be contacted or the buffernames do not match.
    +
    +
    +
    + +

    +read

    +
    +public NMLmsg read()
    +            throws NMLException
    +
    +
    Read a NMLmsg. +

    +

    +
    +
    +
    + +
    Returns:
    null if the message in the + buffer has already been read by this NMLConnection, otherwise it + returns the NMLmsg read. +
    Throws: +
    NMLException - The read failed (ussually because of some network error).
    +
    +
    +
    + +

    +setDiagInfo

    +
    +public int setDiagInfo()
    +
    +
    Send additional diagnostics info to server so it can better track which process + is doing what. +

    +

    +
    +
    +
    + +
    Returns:
    0 for success, -1 for error
    +
    +
    +
    + +

    +setTCPDiagInfo

    +
    +protected int setTCPDiagInfo()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setupSingleVarLog

    +
    +public int setupSingleVarLog(java.lang.String varname,
    +                             int maxlogsize,
    +                             double period,
    +                             int type)
    +
    +
    Setup a single variable log. + Occationally it is useful to read only a single variable from a large message and + there for reduce the amount of bandwidth required to log that variable. +

    +

    +
    Specified by:
    setupSingleVarLog in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    varname - name of the variable to log
    maxlogsize - maximum number of variable updates to store
    period - time in seconds between checks to see if the variable changed.
    type - type of expected message, no data is logged when other message types are in the buffer. +
    Returns:
    -1 if an error occurs, positive integer id of the log otherwise
    +
    +
    +
    + +

    +getSingleVarLog

    +
    +public NMLSingleVarLog getSingleVarLog(int var_log_number)
    +
    +
    Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog() +

    +

    +
    Specified by:
    getSingleVarLog in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    var_log_number - +
    Returns:
    singleVarLog
    +
    +
    +
    + +

    +closeSingleVarLog

    +
    +public int closeSingleVarLog(int var_log_number)
    +
    +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +

    +

    +
    Specified by:
    closeSingleVarLog in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    var_log_number - +
    Returns:
    0 ok, -1 comm error in sending close request.
    +
    +
    +
    + +

    +setSubscriptionPeriod

    +
    +public int setSubscriptionPeriod(double period)
    +
    +
    Tell the server to send this process messages from the buffer every period + seconds without needing a request message. +

    +

    +
    +
    +
    +
    Parameters:
    period - +
    Returns:
    0 for success, -1 for error
    +
    +
    +
    + +

    +setUDPSubscriptionPeriod

    +
    +protected int setUDPSubscriptionPeriod(double period)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +cancelUDPSubscription

    +
    +protected int cancelUDPSubscription()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setTCPSubscriptionPeriod

    +
    +protected int setTCPSubscriptionPeriod(double period)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +read_raw_data

    +
    +protected void read_raw_data()
    +                      throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +verify_bufnameTCP

    +
    +protected boolean verify_bufnameTCP()
    +                             throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +readTCP_raw_data

    +
    +protected void readTCP_raw_data()
    +                         throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +readTCP

    +
    +protected NMLmsg readTCP()
    +                  throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +readUDP

    +
    +protected NMLmsg readUDP()
    +                  throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +readUDP_raw_data

    +
    +protected void readUDP_raw_data()
    +                         throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +peek

    +
    +public NMLmsg peek()
    +            throws NMLException
    +
    +
    Read an NMLmsg but do not change the was_read flag. +

    +

    +
    +
    +
    + +
    Returns:
    null if the message in the + buffer has already been read by this NMLConnection or no message + has yet been written to the buffer, otherwise it + returns the NMLmsg read. +
    Throws: +
    NMLException - The peek failed.
    +
    +
    +
    + +

    +peek_raw_data

    +
    +protected void peek_raw_data()
    +                      throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +getRequest_sent_time_millis

    +
    +public long getRequest_sent_time_millis()
    +
    +
    Get the value of request_sent_time_millis +

    +

    +
    +
    +
    + +
    Returns:
    the value of request_sent_time_millis
    +
    +
    +
    + +

    +peekTCP_raw_data

    +
    +protected void peekTCP_raw_data()
    +                         throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +peekTCP

    +
    +protected NMLmsg peekTCP()
    +                  throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +peekUDP

    +
    +protected NMLmsg peekUDP()
    +                  throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +peekUDP_raw_data

    +
    +protected void peekUDP_raw_data()
    +                         throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +UDP_get_msg_count

    +
    +protected int UDP_get_msg_count()
    +                         throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +UDP_get_msg_type

    +
    +protected int UDP_get_msg_type()
    +                        throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +readDataString

    +
    +public java.lang.String readDataString()
    +                                throws NMLException
    +
    +
    Reads an NMLmsg and converts it to a String. +

    +

    +
    +
    +
    + +
    Returns:
    null if the message in the + buffer has already been read by this NMLConnection or no message + has yet been written to the buffer, otherwise it + returns the NMLmsg read converted to a string. + The string is a comma separated list of the parameters + in the NMLmsg in the order they are updated, starting with + the type and size. +
    Throws: +
    NMLException - The read failed.
    See Also:
    read()
    +
    +
    +
    + +

    +readSTCPDataString

    +
    +protected java.lang.String readSTCPDataString()
    +                                       throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +peekDataString

    +
    +public java.lang.String peekDataString()
    +                                throws NMLException
    +
    +
    Reads an NMLmsg using peek() and converts it to a String. +

    +

    +
    +
    +
    + +
    Returns:
    null if the message in the + buffer has already been read by this NMLConnection or no message + has yet been written to the buffer, otherwise it + returns the NMLmsg read converted to a string. + The string is a comma separated list of the parameters + in the NMLmsg in the order they are updated, starting with + the type and size. +
    Throws: +
    NMLException - The peek failed.
    See Also:
    peek()
    +
    +
    +
    + +

    +peekSTCPDataString

    +
    +protected java.lang.String peekSTCPDataString()
    +                                       throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +loginTCP

    +
    +protected boolean loginTCP(java.lang.String name,
    +                           java.lang.String passwd)
    +                    throws NMLException
    +
    +
    +
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +writeTCP

    +
    +protected int writeTCP(NMLmsg msg)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +writeUDP

    +
    +protected int writeUDP(NMLmsg msg)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +write

    +
    +public int write(NMLmsg msg)
    +          throws NMLException
    +
    +
    Writes an NMLmsg. +

    +

    +
    +
    +
    +
    Parameters:
    msg - the NMLmsg to write. +
    Returns:
    0 if the write was successful, -1 if there was an error +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +writeDataString

    +
    +public int writeDataString(java.lang.String dataString)
    +                    throws NMLException
    +
    +
    Convert the string into an NMLmsg and send it to this channel. + Depending on the server configuration the string may also be sent directly to + the server to be converted on the server end. + The string should be comma delimited starting with the type and size. + ie: + 1001,0,99 +

    +

    +
    Specified by:
    writeDataString in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    dataString - string to be converted +
    Returns:
    0 write ok, -1 an error occured. +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +writeDataStringNoThrow

    +
    +public int writeDataStringNoThrow(java.lang.String dataString)
    +
    +
    Convert the string into an NMLmsg and send it to this channel. + Depending on the server configuration the string may also be sent directly to + the server to be converted on the server end. + The string should be comma delimited starting with the type and size. + ie: + 1001,0,99 + + The same as writeDataString except it never throws an exception merely prints + a message and returns -1. +

    +

    +
    Specified by:
    writeDataStringNoThrow in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    dataString - string to be converted +
    Returns:
    0 write ok, -1 an error occured.
    +
    +
    +
    + +

    +writeSTCPDataString

    +
    +protected int writeSTCPDataString(java.lang.String dataString)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +get_host

    +
    +public java.lang.String get_host()
    +
    +
    Get the host name where the buffer is supposed to be located. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    get_host in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    host
    +
    +
    +
    + +

    +set_host

    +
    +public void set_host(java.lang.String _host)
    +
    +
    Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt. Either host names or IP addresses + can be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    set_host in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _host -
    +
    +
    +
    + +

    +get_configuration_file

    +
    +public java.lang.String get_configuration_file()
    +
    +
    Get the name of the NML configuration file being used. +

    +

    +
    Specified by:
    get_configuration_file in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    configuration_file
    +
    +
    +
    + +

    +set_configuration_file

    +
    +public void set_configuration_file(java.lang.String _configuration_file)
    +
    +
    Set the name of the NML configuration file. + This should be followed with ReadNMLConfigurationFileNoThrow() to actually have + the configration file read. +

    +

    +
    Specified by:
    set_configuration_file in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _configuration_file -
    +
    +
    +
    + +

    +get_buffer_name

    +
    +public java.lang.String get_buffer_name()
    +
    +
    Get the buffer name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Specified by:
    get_buffer_name in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    buffer_name
    +
    +
    +
    + +

    +set_buffer_name

    +
    +public void set_buffer_name(java.lang.String _buffer_name)
    +
    +
    Set the buffer name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Specified by:
    set_buffer_name in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _buffer_name -
    +
    +
    +
    + +

    +get_process_name

    +
    +public java.lang.String get_process_name()
    +
    +
    Get the process name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Specified by:
    get_process_name in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    process_name
    +
    +
    +
    + +

    +set_process_name

    +
    +public void set_process_name(java.lang.String _process_name)
    +
    +
    Set the process name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Specified by:
    set_process_name in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _process_name -
    +
    +
    +
    + +

    +readDataStringNoThrow

    +
    +public java.lang.String readDataStringNoThrow()
    +
    +
    Read a message and convert it to a comma delimeted string. + Depending on the server configuration the string might also be sent + from a server that did the conversion on the server side. + + It marks the buffer as read and removes the message from the queue if + the buffer is queued. + + It is the same as readDataString except it prints a error message and + returns -1 instead of throwing an exception. +

    +

    +
    Specified by:
    readDataStringNoThrow in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    message read in comma delimited form.
    +
    +
    +
    + +

    +peekDataStringNoThrow

    +
    +public java.lang.String peekDataStringNoThrow()
    +
    +
    Peek a message and convert it to a comma delimeted string. + Depending on the server configuration the string might also be sent + from a server that did the conversion on the server side. + + Peeking is the same as reading except that it does not modify the + buffer it reads. It does not mark the buffer as read or remove the message + from a queued_buffer. + + It is the same as peekDataString except it prints a error message and + returns -1 instead of throwing an exception. +

    +

    +
    Specified by:
    peekDataStringNoThrow in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    message read in comma delimited form.
    +
    +
    +
    + +

    +get_port

    +
    +public int get_port()
    +
    +
    Return the TCP or UDP port number associated with this connection. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    get_port in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    port number
    +
    +
    +
    + +

    +set_port

    +
    +public void set_port(int _port)
    +
    +
    Set the TCP or UDP port to be used for the next time a connect() is performed. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    set_port in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _port -
    +
    +
    +
    + +

    +get_buffer_number

    +
    +public int get_buffer_number()
    +
    +
    Get the buffer_number for this buffer. + The buffer number is sent with each request to the server to identify which buffer + should be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    get_buffer_number in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    buffer_number
    +
    +
    +
    + +

    +set_buffer_number

    +
    +public void set_buffer_number(int _buffer_number)
    +
    +
    Set the buffer_number for this buffer. + The buffer number is sent with each request to the server to identify which buffer + should be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Specified by:
    set_buffer_number in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _buffer_number -
    +
    +
    +
    + +

    +ReadNMLConfigurationFileNoThrow

    +
    +public void ReadNMLConfigurationFileNoThrow()
    +
    +
    Reread the NML Configuration and reconnect. + + Same as ReadNMLConfiguration() except errors are only printed to + stderr and no exceptions are thrown. +

    +

    +
    Specified by:
    ReadNMLConfigurationFileNoThrow in interface NMLConnectionInterface
    +
    +
    +
    +
    +
    +
    + +

    +connectNoThrow

    +
    +public int connectNoThrow()
    +
    +
    Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception. + + ReadNMLConfigurationFile and the NMLConnection() constructor with 4 arguments. + call connect() internally so it is only necessary to call this if + the first connect() failed, or disconnect() was called or the 0 arguments + constructor was used to createt the NMLConnection. +

    +

    +
    Specified by:
    connectNoThrow in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    0 connect was ok. -1 error occured.
    +
    +
    +
    + +

    +is_connected

    +
    +public boolean is_connected()
    +
    +
    Get the value of the connected property. Set to true by a successful connect() + or constructor set to false by disconnect(). +

    +

    +
    Specified by:
    is_connected in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    Is the Channel and its underlying socket connected?
    +
    +
    +
    + +

    +loginNoThrow

    +
    +public boolean loginNoThrow(java.lang.String _name,
    +                            java.lang.String _passwd)
    +
    +
    Login to an NML server using a name and passwd. + + + Same as login except that it never throws exceptions +

    +

    +
    Specified by:
    loginNoThrow in interface NMLConnectionInterface
    +
    +
    +
    Parameters:
    _name -
    _passwd - +
    Returns:
    true if successful, false otherwise
    +
    +
    +
    + +

    +getBufferLine

    +
    +public java.lang.String getBufferLine()
    +
    +
    Get the buffer line from the configuration file. +

    +

    +
    Specified by:
    getBufferLine in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    BufferLine
    +
    +
    +
    + +

    +set_read_debug_on

    +
    +public void set_read_debug_on(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_write_debug_on

    +
    +public void set_write_debug_on(boolean b)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +set_config_debug_on

    +
    +public static void set_config_debug_on(boolean b)
    +
    +
    Print messages to the console/stderr to debug the config related code. +

    +

    +
    +
    +
    +
    Parameters:
    b -
    +
    +
    +
    + +

    +read_errlog_string

    +
    +public java.lang.String read_errlog_string()
    +                                    throws NMLException
    +
    +
    +
    Specified by:
    read_errlog_string in interface NMLConnectionInterface
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +get_msg_type

    +
    +public int get_msg_type()
    +                 throws NMLException
    +
    +
    Description copied from interface: NMLConnectionInterface
    +
    Get the type of message in the currently in the buffer. + NOTEL: another process may change this before you have a chance to read the + message. +

    +

    +
    Specified by:
    get_msg_type in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    msg_type +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +get_msg_count

    +
    +public int get_msg_count()
    +                  throws NMLException
    +
    +
    Description copied from interface: NMLConnectionInterface
    +
    Get the number of messages that have been successfully written to the buffer, + including messages written by other processes/systems. +

    +

    +
    Specified by:
    get_msg_count in interface NMLConnectionInterface
    +
    +
    + +
    Returns:
    msg_count +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +isRead_only

    +
    +public boolean isRead_only()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setRead_only

    +
    +public void setRead_only(boolean read_only)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +isWrite_only

    +
    +public boolean isWrite_only()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +setWrite_only

    +
    +public void setWrite_only(boolean write_only)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getAllocation_size_max

    +
    +public int getAllocation_size_max()
    +
    +
    +
    Specified by:
    getAllocation_size_max in interface NMLConnectionInterface
    +
    +
    +
    +
    +
    +
    + +

    +setAllocation_size_max

    +
    +public void setAllocation_size_max(int allocation_size_max)
    +
    +
    +
    Specified by:
    setAllocation_size_max in interface NMLConnectionInterface
    +
    +
    +
    +
    +
    +
    + +

    +isPoll

    +
    +public boolean isPoll()
    +
    +
    +
    +
    +
    + +
    Returns:
    the poll
    +
    +
    +
    + +

    +setPoll

    +
    +public void setPoll(boolean poll)
    +
    +
    +
    +
    +
    +
    Parameters:
    poll - the poll to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLConnectionCreator.html b/doc/javadoc/rcs/nml/NMLConnectionCreator.html new file mode 100644 index 0000000..53436c7 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLConnectionCreator.html @@ -0,0 +1,268 @@ + + + + + + +NMLConnectionCreator + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLConnectionCreator

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLConnectionCreator
    +
    +
    +
    All Implemented Interfaces:
    NMLConnectionCreatorInterface
    +
    +
    +
    +
    public class NMLConnectionCreator
    extends java.lang.Object
    implements NMLConnectionCreatorInterface
    + + +

    +Creates NMLConnections. + Connections created this way need to call SetMessageDict(), SetBufferName(), and + ReadNMLConfigurationFile() before they will be connected and usable. + + This class only exists to eliminate a circular dependancy in CodeGen, etc. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    NMLConnectionCreator() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + NMLConnectionInterfaceNewNMLConnection() + +
    +          Create a new NMLConnnection.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLConnectionCreator

    +
    +public NMLConnectionCreator()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +NewNMLConnection

    +
    +public NMLConnectionInterface NewNMLConnection()
    +
    +
    Description copied from interface: NMLConnectionCreatorInterface
    +
    Create a new NMLConnnection. +

    +

    +
    Specified by:
    NewNMLConnection in interface NMLConnectionCreatorInterface
    +
    +
    + +
    Returns:
    NMLConnection
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLConnectionCreatorInterface.html b/doc/javadoc/rcs/nml/NMLConnectionCreatorInterface.html new file mode 100644 index 0000000..b620a4e --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLConnectionCreatorInterface.html @@ -0,0 +1,215 @@ + + + + + + +NMLConnectionCreatorInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface NMLConnectionCreatorInterface

    +
    +
    All Known Implementing Classes:
    NMLConnectionCreator
    +
    +
    +
    +
    public interface NMLConnectionCreatorInterface
    + + +

    +Interface to NMLConnectionCreator used by CodeGenerator and Diagnostics tool to avoid + circular dependancies. +

    + +

    +


    + +

    + + + + + + + + + + + + +
    +Method Summary
    + NMLConnectionInterfaceNewNMLConnection() + +
    +          Create a new NMLConnnection.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +NewNMLConnection

    +
    +NMLConnectionInterface NewNMLConnection()
    +
    +
    Create a new NMLConnnection. +

    +

    + +
    Returns:
    NMLConnection
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLConnectionInterface.html b/doc/javadoc/rcs/nml/NMLConnectionInterface.html new file mode 100644 index 0000000..bfc21e2 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLConnectionInterface.html @@ -0,0 +1,1205 @@ + + + + + + +NMLConnectionInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface NMLConnectionInterface

    +
    +
    All Known Implementing Classes:
    NMLConnection
    +
    +
    +
    +
    public interface NMLConnectionInterface
    + + +

    +An interface to NMLConnection used by CodeGenenerator and diagnostics tool to + avoid circular dependancies. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intcloseSingleVarLog(int var_log_number) + +
    +          Stop collecting data on a single variable setup in setupSingleVarLog().
    + intconnect() + +
    +          Connect or reconnect to the sockets as appropriate.
    + intconnectNoThrow() + +
    +          Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception.
    + voiddisconnect() + +
    +          Disconnect closing all sockets.
    + java.lang.Stringget_buffer_name() + +
    +          Get the buffer name.
    + intget_buffer_number() + +
    +          Get the buffer_number for this buffer.
    + java.lang.Stringget_configuration_file() + +
    +          Get the name of the NML configuration file being used.
    + longget_connect_time() + +
    +          Get the time in milliseconds when the last connect() was attempted.
    + longget_disconnect_time() + +
    +          Get the time in milliseconds when the last disconnect() was attempted.
    + java.lang.Stringget_host() + +
    +          Get the host name where the buffer is supposed to be located.
    + java.lang.Stringget_last_exception_string() + +
    +          Get the message string associated with the last exception thrown including + those printed but caught internally by NoThrow functions.
    + intget_last_id_read() + +
    +          Each message has an id used to determine if it is new.
    + intget_msg_count() + +
    +          Get the number of messages that have been successfully written to the buffer, + including messages written by other processes/systems.
    + intget_msg_type() + +
    +          Get the type of message in the currently in the buffer.
    + intget_port() + +
    +          Return the TCP or UDP port number associated with this connection.
    + java.lang.Stringget_process_name() + +
    +          Get the process name.
    + java.lang.Stringget_returned_buffer_name() + +
    +          When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number.
    + intgetAllocation_size_max() + +
    +           
    + java.lang.StringgetBufferLine() + +
    +          Get the buffer line from the configuration file.
    + intgetNoThrowErrorCount() + +
    +          Get the number of times a NoThrow fuction returned -1 for this object.
    + NMLSingleVarLoggetSingleVarLog(int var_log_number) + +
    +          Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog()
    + booleanis_connected() + +
    +          Get the value of the connected property.
    + booleanloginNoThrow(java.lang.String name, + java.lang.String passwd) + +
    +          Login to an NML server using a name and passwd.
    + java.lang.StringpeekDataStringNoThrow() + +
    +          Peek a message and convert it to a comma delimeted string.
    + java.lang.Stringread_errlog_string() + +
    +           
    + java.lang.StringreadDataStringNoThrow() + +
    +          Read a message and convert it to a comma delimeted string.
    + voidReadNMLConfigurationFileNoThrow() + +
    +          Reread the NML Configuration and reconnect.
    + voidset_buffer_name(java.lang.String _buffer_name) + +
    +          Set the buffer name.
    + voidset_buffer_number(int _buffer_number) + +
    +          Set the buffer_number for this buffer.
    + voidset_configuration_file(java.lang.String _configuration_file) + +
    +          Set the name of the NML configuration file.
    + voidset_host(java.lang.String s) + +
    +          Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt.
    + voidset_last_id_read(int _id) + +
    +          Set the id which will be compared with messages recieved to determine if + the message is new.
    + voidset_port(int _port) + +
    +          Set the TCP or UDP port to be used for the next time a connect() is performed.
    + voidset_process_name(java.lang.String _process_name) + +
    +          Set the process name.
    + voidsetAllocation_size_max(int allocation_size_max) + +
    +           
    + voidSetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +          Set an interface that will have its member functions called for various errors.
    + voidSetMessageDictionary(NMLMessageDictionary new_dict) + +
    +          Set the message dictionary.
    + intsetupSingleVarLog(java.lang.String varname, + int maxlogsize, + double period, + int type) + +
    +          Setup a single variable log.
    + booleanverify_bufname() + +
    +          When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number.
    + intwriteDataString(java.lang.String s) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    + intwriteDataStringNoThrow(java.lang.String s) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +get_connect_time

    +
    +long get_connect_time()
    +
    +
    Get the time in milliseconds when the last connect() was attempted. + (To determin how long it has been since the last connection subtract + from the current time given with System.currentTimeMillis(); +

    +

    + +
    Returns:
    connect_time
    +
    +
    +
    + +

    +get_disconnect_time

    +
    +long get_disconnect_time()
    +
    +
    Get the time in milliseconds when the last disconnect() was attempted. + (To determin how long it has been since disconnected subtract + from the current time given with System.currentTimeMillis(); +

    +

    + +
    Returns:
    disconnect_time
    +
    +
    +
    + +

    +get_returned_buffer_name

    +
    +java.lang.String get_returned_buffer_name()
    +
    +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. + If this is not the same as the buffer passed to the constructor it indicates + that configuration used by the server is inconsistant with the one being used by this process. + Regardless the value is stored and can be retrieved later with + get_returned_buffer_name(). +

    +

    + +
    Returns:
    returned_buffer_name
    +
    +
    +
    + +

    +verify_bufname

    +
    +boolean verify_bufname()
    +
    +
    When the NMLConnection performs a verify bufname (which it normally + does in the constructor) it requests the buffername from + the server that corresponds to the selected port and buffer number. + If this is not the same as the buffer passed to the constructor it indicates + that configuration used by the server is inconsistant with the one being used by this process. +

    +

    + +
    Returns:
    true if the host could be contacted and returned the expected buffername, or false if the + server could not be contacted or the buffernames do not match.
    +
    +
    +
    + +

    +get_host

    +
    +java.lang.String get_host()
    +
    +
    Get the host name where the buffer is supposed to be located. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    + +
    Returns:
    host
    +
    +
    +
    + +

    +set_host

    +
    +void set_host(java.lang.String s)
    +
    +
    Set the host name where the buffer is supposed to be located which + will be used for the next connection attempt. Either host names or IP addresses + can be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Parameters:
    s -
    +
    +
    +
    + +

    +get_port

    +
    +int get_port()
    +
    +
    Return the TCP or UDP port number associated with this connection. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    + +
    Returns:
    port number
    +
    +
    +
    + +

    +set_port

    +
    +void set_port(int _port)
    +
    +
    Set the TCP or UDP port to be used for the next time a connect() is performed. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Parameters:
    _port -
    +
    +
    +
    + +

    +get_buffer_number

    +
    +int get_buffer_number()
    +
    +
    Get the buffer_number for this buffer. + The buffer number is sent with each request to the server to identify which buffer + should be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    + +
    Returns:
    buffer_number
    +
    +
    +
    + +

    +set_buffer_number

    +
    +void set_buffer_number(int _buffer_number)
    +
    +
    Set the buffer_number for this buffer. + The buffer number is sent with each request to the server to identify which buffer + should be used. + This is normally obtained from the BufferLine of the config file or from the nmlcfgsvr. +

    +

    +
    Parameters:
    _buffer_number -
    +
    +
    +
    + +

    +get_configuration_file

    +
    +java.lang.String get_configuration_file()
    +
    +
    Get the name of the NML configuration file being used. +

    +

    + +
    Returns:
    configuration_file
    +
    +
    +
    + +

    +set_configuration_file

    +
    +void set_configuration_file(java.lang.String _configuration_file)
    +
    +
    Set the name of the NML configuration file. + This should be followed with ReadNMLConfigurationFileNoThrow() to actually have + the configration file read. +

    +

    +
    Parameters:
    _configuration_file -
    +
    +
    +
    + +

    +get_buffer_name

    +
    +java.lang.String get_buffer_name()
    +
    +
    Get the buffer name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    + +
    Returns:
    buffer_name
    +
    +
    +
    + +

    +set_buffer_name

    +
    +void set_buffer_name(java.lang.String _buffer_name)
    +
    +
    Set the buffer name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Parameters:
    _buffer_name -
    +
    +
    +
    + +

    +get_process_name

    +
    +java.lang.String get_process_name()
    +
    +
    Get the process name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    + +
    Returns:
    process_name
    +
    +
    +
    + +

    +set_process_name

    +
    +void set_process_name(java.lang.String _process_name)
    +
    +
    Set the process name. + + This is normally set by being passed as an argument to the NMLConnection() constructor. +

    +

    +
    Parameters:
    _process_name -
    +
    +
    +
    + +

    +disconnect

    +
    +void disconnect()
    +
    +
    Disconnect closing all sockets. +

    +

    +
    +
    +
    +
    + +

    +connectNoThrow

    +
    +int connectNoThrow()
    +
    +
    Connect as connect() but simply print a message to strderr and return -1 + in case of an error rather than throwing an exception. + + NOTE: ReadNMLConfigurationFile and the NMLConnection() constructor with 4 arguments. + call connect() internally so it is only necessary to call this if + the first connect() failed, or disconnect() was called or the 0 arguments + constructor was used to createt the NMLConnection. +

    +

    + +
    Returns:
    0 connect was ok. -1 error occured.
    +
    +
    +
    + +

    +connect

    +
    +int connect()
    +            throws java.lang.Exception
    +
    +
    Connect or reconnect to the sockets as appropriate. + Most errors throw an exception. Unfortunately the return value also + needs to be checked since a few errors only cause a -1 return value. + + NOTE: ReadNMLConfigurationFile and the NMLConnection() constructor with 4 arguments. + call connect() internally so it is only necessary to call this if + the first connect() failed, or disconnect() was called or the 0 arguments + constructor was used to createt the NMLConnection. + * +

    +

    + +
    Returns:
    0 connect was ok. -1 error occured. +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +writeDataString

    +
    +int writeDataString(java.lang.String s)
    +                    throws NMLException
    +
    +
    Convert the string into an NMLmsg and send it to this channel. + Depending on the server configuration the string may also be sent directly to + the server to be converted on the server end. + The string should be comma delimited starting with the type and size. + ie: + 1001,0,99 +

    +

    +
    Parameters:
    s - string to be converted +
    Returns:
    0 write ok, -1 an error occured. +
    Throws: +
    NMLException
    +
    +
    +
    + +

    +writeDataStringNoThrow

    +
    +int writeDataStringNoThrow(java.lang.String s)
    +
    +
    Convert the string into an NMLmsg and send it to this channel. + Depending on the server configuration the string may also be sent directly to + the server to be converted on the server end. + The string should be comma delimited starting with the type and size. + ie: + 1001,0,99 + + The same as writeDataString except it never throws an exception merely prints + a message and returns -1. +

    +

    +
    Parameters:
    s - string to be converted +
    Returns:
    0 write ok, -1 an error occured.
    +
    +
    +
    + +

    +readDataStringNoThrow

    +
    +java.lang.String readDataStringNoThrow()
    +
    +
    Read a message and convert it to a comma delimeted string. + Depending on the server configuration the string might also be sent + from a server that did the conversion on the server side. + + It marks the buffer as read and removes the message from the queue if + the buffer is queued. + + It is the same as readDataString except it prints a error message and + returns -1 instead of throwing an exception. +

    +

    + +
    Returns:
    message read in comma delimited form.
    +
    +
    +
    + +

    +peekDataStringNoThrow

    +
    +java.lang.String peekDataStringNoThrow()
    +
    +
    Peek a message and convert it to a comma delimeted string. + Depending on the server configuration the string might also be sent + from a server that did the conversion on the server side. + + Peeking is the same as reading except that it does not modify the + buffer it reads. It does not mark the buffer as read or remove the message + from a queued_buffer. + + It is the same as peekDataString except it prints a error message and + returns -1 instead of throwing an exception. +

    +

    + +
    Returns:
    message read in comma delimited form.
    +
    +
    +
    + +

    +is_connected

    +
    +boolean is_connected()
    +
    +
    Get the value of the connected property. Set to true by a successful connect() + or constructor set to false by disconnect(). +

    +

    + +
    Returns:
    Is the Channel and its underlying socket connected?
    +
    +
    +
    + +

    +loginNoThrow

    +
    +boolean loginNoThrow(java.lang.String name,
    +                     java.lang.String passwd)
    +
    +
    Login to an NML server using a name and passwd. +

    +

    +
    Parameters:
    name -
    passwd - +
    Returns:
    true if successful, false otherwise
    +
    +
    +
    + +

    +getBufferLine

    +
    +java.lang.String getBufferLine()
    +
    +
    Get the buffer line from the configuration file. +

    +

    + +
    Returns:
    BufferLine
    +
    +
    +
    + +

    +getNoThrowErrorCount

    +
    +int getNoThrowErrorCount()
    +
    +
    Get the number of times a NoThrow fuction returned -1 for this object. +

    +

    + +
    Returns:
    noThrowErrorCount.
    +
    +
    +
    + +

    +get_msg_type

    +
    +int get_msg_type()
    +                 throws java.lang.Exception
    +
    +
    Get the type of message in the currently in the buffer. + NOTEL: another process may change this before you have a chance to read the + message. +

    +

    + +
    Returns:
    msg_type +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_msg_count

    +
    +int get_msg_count()
    +                  throws java.lang.Exception
    +
    +
    Get the number of messages that have been successfully written to the buffer, + including messages written by other processes/systems. +

    +

    + +
    Returns:
    msg_count +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_last_id_read

    +
    +int get_last_id_read()
    +
    +
    Each message has an id used to determine if it is new. +

    +

    + +
    Returns:
    id of last message read.
    +
    +
    +
    + +

    +set_last_id_read

    +
    +void set_last_id_read(int _id)
    +
    +
    Set the id which will be compared with messages recieved to determine if + the message is new. + A message in new if its id does not equal the value set here. +

    +

    +
    Parameters:
    _id -
    +
    +
    +
    + +

    +ReadNMLConfigurationFileNoThrow

    +
    +void ReadNMLConfigurationFileNoThrow()
    +
    +
    Reread the NML Configuration and reconnect. + + Same as ReadNMLConfiguration() except errors are only printed to + stderr and no exceptions are thrown. +

    +

    +
    +
    +
    +
    + +

    +SetMessageDictionary

    +
    +void SetMessageDictionary(NMLMessageDictionary new_dict)
    +
    +
    Set the message dictionary. + The message dictionary sets the set of message types that can be read or written + from this channel. +

    +

    +
    Parameters:
    new_dict -
    +
    +
    +
    + +

    +SetFormatConvertErrCallback

    +
    +void SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci)
    +
    +
    Set an interface that will have its member functions called for various errors. + Used by the diagnostics tools to improve error reporting. +

    +

    +
    Parameters:
    new_nfceci -
    +
    +
    +
    + +

    +setupSingleVarLog

    +
    +int setupSingleVarLog(java.lang.String varname,
    +                      int maxlogsize,
    +                      double period,
    +                      int type)
    +
    +
    Setup a single variable log. + Occationally it is useful to read only a single variable from a large message and + there for reduce the amount of bandwidth required to log that variable. +

    +

    +
    Parameters:
    varname - name of the variable to log
    maxlogsize - maximum number of variable updates to store
    period - time in seconds between checks to see if the variable changed.
    type - type of expected message, no data is logged when other message types are in the buffer. +
    Returns:
    -1 if an error occurs, positive integer id of the log used with getSingleVarLog(), and closeSingleVarLog()
    +
    +
    +
    + +

    +getSingleVarLog

    +
    +NMLSingleVarLog getSingleVarLog(int var_log_number)
    +
    +
    Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog() +

    +

    +
    Parameters:
    var_log_number - +
    Returns:
    singleVarLog
    +
    +
    +
    + +

    +closeSingleVarLog

    +
    +int closeSingleVarLog(int var_log_number)
    +
    +
    Stop collecting data on a single variable setup in setupSingleVarLog(). +

    +

    +
    Parameters:
    var_log_number - +
    Returns:
    0 ok, -1 comm error in sending close request.
    +
    +
    +
    + +

    +get_last_exception_string

    +
    +java.lang.String get_last_exception_string()
    +
    +
    Get the message string associated with the last exception thrown including + those printed but caught internally by NoThrow functions. +

    +

    + +
    Returns:
    exception_string
    +
    +
    +
    + +

    +getAllocation_size_max

    +
    +int getAllocation_size_max()
    +
    +
    +
    +
    +
    +
    + +

    +setAllocation_size_max

    +
    +void setAllocation_size_max(int allocation_size_max)
    +
    +
    +
    +
    +
    +
    + +

    +read_errlog_string

    +
    +java.lang.String read_errlog_string()
    +                                    throws NMLException
    +
    +
    + +
    Throws: +
    NMLException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLErrorAppender.html b/doc/javadoc/rcs/nml/NMLErrorAppender.html new file mode 100644 index 0000000..cc7892f --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLErrorAppender.html @@ -0,0 +1,209 @@ + + + + + + +NMLErrorAppender + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface NMLErrorAppender

    +
    +
    +
    public interface NMLErrorAppender
    + + +

    +Interface used to pass a function that will be called when errors occur so that + they might be log to a TextField of file etc. +

    + +

    +


    + +

    + + + + + + + + + + + + +
    +Method Summary
    + voidAppendError(java.lang.String s) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +AppendError

    +
    +void AppendError(java.lang.String s)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLException.html b/doc/javadoc/rcs/nml/NMLException.html new file mode 100644 index 0000000..c17466a --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLException.html @@ -0,0 +1,415 @@ + + + + + + +NMLException + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLException

    +
    +java.lang.Object
    +  extended by java.lang.Throwable
    +      extended by java.lang.Exception
    +          extended by rcs.nml.NMLException
    +
    +
    +
    All Implemented Interfaces:
    java.io.Serializable
    +
    +
    +
    +
    public class NMLException
    extends java.lang.Exception
    + + +

    +The base class for all exceptions thrown by NML. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.Stringbuffer_line + +
    +           
    + java.lang.Stringbuffer_name + +
    +          The buffer name of the NMLConnection that was being used, + when the exception was thrown.
    + java.lang.Stringconfig_file + +
    +          The configuration file read by the NMLConnection that was being used, + when the exception was thrown.
    + java.lang.Exceptioninternal_exception + +
    +          If an exception was thrown by some function called from within + NML such as a socket call, the exception will be caught and + wrapped in an NMLException and then thrown.
    + NMLConnectionInterfacenci + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    NMLException(java.lang.String _message, + NMLConnectionInterface _nci) + +
    +           
    NMLException(java.lang.String _message, + NMLConnectionInterface _nci, + java.lang.Exception _internal_exception) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + java.lang.ThrowablegetCause() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +buffer_name

    +
    +public java.lang.String buffer_name
    +
    +
    The buffer name of the NMLConnection that was being used, + when the exception was thrown. +

    +

    +
    +
    +
    + +

    +config_file

    +
    +public java.lang.String config_file
    +
    +
    The configuration file read by the NMLConnection that was being used, + when the exception was thrown. +

    +

    +
    +
    +
    + +

    +internal_exception

    +
    +public java.lang.Exception internal_exception
    +
    +
    If an exception was thrown by some function called from within + NML such as a socket call, the exception will be caught and + wrapped in an NMLException and then thrown. +

    +

    +
    +
    +
    + +

    +nci

    +
    +public NMLConnectionInterface nci
    +
    +
    +
    +
    +
    + +

    +buffer_line

    +
    +public java.lang.String buffer_line
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLException

    +
    +public NMLException(java.lang.String _message,
    +                    NMLConnectionInterface _nci)
    +
    +
    +
    + +

    +NMLException

    +
    +public NMLException(java.lang.String _message,
    +                    NMLConnectionInterface _nci,
    +                    java.lang.Exception _internal_exception)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getCause

    +
    +public java.lang.Throwable getCause()
    +
    +
    +
    Overrides:
    getCause in class java.lang.Throwable
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLFormatConvertErrCallbackInterface.html b/doc/javadoc/rcs/nml/NMLFormatConvertErrCallbackInterface.html new file mode 100644 index 0000000..5b0055c --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLFormatConvertErrCallbackInterface.html @@ -0,0 +1,280 @@ + + + + + + +NMLFormatConvertErrCallbackInterface + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface NMLFormatConvertErrCallbackInterface

    +
    +
    +
    public interface NMLFormatConvertErrCallbackInterface
    + + +

    +Interface for classes to be called when NML errors occur during formatting to provide + more informative error messages. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidbytesNotUsed(NMLMessageDictionary nmd, + int bytes_in_input_stream, + java.lang.String bufName, + boolean warn_given) + +
    +           
    + voidmiscError(NMLMessageDictionary nmd) + +
    +           
    + voidmiscError(NMLMessageDictionary nmd, + java.lang.Exception e) + +
    +           
    + voidtokensNotUsed(NMLMessageDictionary nmd, + int num_tokens, + java.lang.String input_string, + boolean warn_given) + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +tokensNotUsed

    +
    +void tokensNotUsed(NMLMessageDictionary nmd,
    +                   int num_tokens,
    +                   java.lang.String input_string,
    +                   boolean warn_given)
    +
    +
    +
    +
    +
    +
    + +

    +bytesNotUsed

    +
    +void bytesNotUsed(NMLMessageDictionary nmd,
    +                  int bytes_in_input_stream,
    +                  java.lang.String bufName,
    +                  boolean warn_given)
    +
    +
    +
    +
    +
    +
    + +

    +miscError

    +
    +void miscError(NMLMessageDictionary nmd)
    +
    +
    +
    +
    +
    +
    + +

    +miscError

    +
    +void miscError(NMLMessageDictionary nmd,
    +               java.lang.Exception e)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLFormatConverter.html b/doc/javadoc/rcs/nml/NMLFormatConverter.html new file mode 100644 index 0000000..2afda46 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLFormatConverter.html @@ -0,0 +1,2820 @@ + + + + + + +NMLFormatConverter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLFormatConverter

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLFormatConverter
    +
    +
    +
    Direct Known Subclasses:
    NMLFormatConverterBase
    +
    +
    +
    +
    public abstract class NMLFormatConverter
    extends java.lang.Object
    + + +

    +interface each NMLmsg should use to implement it's update function. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + booleanadd_array_indexes_to_name + +
    +           
    + booleanalways_update_cmd_msg + +
    +           
    + booleanalways_update_stat_msg + +
    +           
    +protected  intarray_val + +
    +           
    + java.lang.StringbufName + +
    +           
    + booleanbytes_not_used_warning_given + +
    +           
    +protected  intclassVarArrayIndex + +
    +           
    + booleancmd_msg_updated + +
    +           
    + booleanerror_in_update + +
    +           
    + java.lang.Stringerror_in_update_string + +
    +           
    + java.lang.Objectmsg_to_update + +
    +          Message being updated.
    + intmsg_type + +
    +          The type of message being converted.
    + booleansending_short + +
    +           
    + booleanstat_msg_updated + +
    +           
    + booleantokens_not_used_warning_given + +
    +           
    + java.lang.Stringtype_string + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLFormatConverter() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +abstract  voidadd_to_output_string(java.lang.String s) + +
    +           
    +abstract  voidbeginBaseClass(java.lang.String name) + +
    +           
    +abstract  voidbeginClass(java.lang.String name, + java.lang.String base) + +
    +           
    +abstract  voidbeginClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    +abstract  voidbeginClassVar(java.lang.String name) + +
    +           
    +abstract  intcheck_type_info(NML_ENUM_INFO info) + +
    +           
    +abstract  voidendBaseClass(java.lang.String name) + +
    +           
    +abstract  voidendClass(java.lang.String name, + java.lang.String base) + +
    +           
    +abstract  voidendClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    +abstract  voidendClassVar(java.lang.String name) + +
    +           
    +abstract  booleanget_decoding() + +
    +           
    +abstract  intget_diagnostics_mode_string_max() + +
    +           
    +abstract  booleanget_diagnostics_mode() + +
    +           
    +abstract  intget_length_of_unbounded(java.lang.String typename, + java.lang.String varname, + java.lang.Object[] oarray) + +
    +           
    +abstract  intget_token_count() + +
    +           
    +abstract  booleanget_use_string() + +
    +           
    +abstract  java.lang.StringgetVersionString() + +
    +           
    +abstract  voidnext_update_default(java.lang.String s) + +
    +           
    + voidset_array_val(int _array_val) + +
    +           
    + voidset_classVarArrayIndex(int _classVarArrayIndex) + +
    +           
    +abstract  voidset_diagnostics_mode_string_max(int len) + +
    +           
    +abstract  voidset_diagnostics_mode(boolean dm) + +
    +           
    +abstract  voidSetBufName(java.lang.String bname) + +
    +           
    +abstract  voidSetErrorInUpdate(java.lang.String str) + +
    +           
    +abstract  voidthrow_away_token() + +
    +           
    + java.lang.StringtoString() + +
    +           
    +abstract  intupdate_attribute_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    +abstract  booleanupdate_attribute_with_name(java.lang.String name, + boolean x) + +
    +           
    +abstract  byteupdate_attribute_with_name(java.lang.String name, + byte x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate_attribute_with_name(java.lang.String name, + char x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    +abstract  doubleupdate_attribute_with_name(java.lang.String name, + double x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    +abstract  floatupdate_attribute_with_name(java.lang.String name, + float x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    +abstract  intupdate_attribute_with_name(java.lang.String name, + int x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    +abstract  longupdate_attribute_with_name(java.lang.String name, + long x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate_attribute_with_name(java.lang.String name, + short x) + +
    +           
    +abstract  voidupdate_attribute_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    +abstract  voidupdate_CMS_DATE(CMS_DATE date) + +
    +           
    +abstract  voidupdate_CMS_TIME(CMS_TIME time) + +
    +           
    +abstract  intupdate_dla_length_with_name(java.lang.String name, + int x) + +
    +           
    +abstract  voidupdate_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    +abstract  intupdate_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    +abstract  byte[]update_unbounded_attribute_with_name(java.lang.String name, + byte[] x) + +
    +           
    +abstract  byte[]update_unbounded_unsigned_with_name(java.lang.String name, + byte[] x) + +
    +           
    +abstract  int[]update_unbounded_unsigned_with_name(java.lang.String name, + int[] x) + +
    +           
    +abstract  long[]update_unbounded_unsigned_with_name(java.lang.String name, + long[] x) + +
    +           
    +abstract  short[]update_unbounded_unsigned_with_name(java.lang.String name, + short[] x) + +
    +           
    +abstract  byte[]update_unbounded_with_name(java.lang.String name, + byte[] x) + +
    +           
    +abstract  double[]update_unbounded_with_name(java.lang.String name, + double[] x) + +
    +           
    +abstract  float[]update_unbounded_with_name(java.lang.String name, + float[] x) + +
    +           
    +abstract  int[]update_unbounded_with_name(java.lang.String name, + int[] x) + +
    +           
    +abstract  long[]update_unbounded_with_name(java.lang.String name, + long[] x) + +
    +           
    +abstract  short[]update_unbounded_with_name(java.lang.String name, + short[] x) + +
    +           
    +abstract  byteupdate_unsigned_with_name(java.lang.String name, + byte x) + +
    +           
    +abstract  voidupdate_unsigned_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate_unsigned_with_name(java.lang.String name, + char x) + +
    +           
    +abstract  voidupdate_unsigned_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    +abstract  intupdate_unsigned_with_name(java.lang.String name, + int x) + +
    +           
    +abstract  voidupdate_unsigned_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    +abstract  longupdate_unsigned_with_name(java.lang.String name, + long x) + +
    +           
    +abstract  voidupdate_unsigned_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate_unsigned_with_name(java.lang.String name, + short x) + +
    +           
    +abstract  voidupdate_unsigned_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    +abstract  voidupdate_unsigned(byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate_unsigned(char x) + +
    +           
    +abstract  voidupdate_unsigned(char[] x, + int num_elements) + +
    +           
    +abstract  intupdate_unsigned(int x) + +
    +           
    +abstract  voidupdate_unsigned(int[] x, + int num_elements) + +
    +           
    +abstract  longupdate_unsigned(long x) + +
    +           
    +abstract  voidupdate_unsigned(long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate_unsigned(short x) + +
    +           
    +abstract  voidupdate_unsigned(short[] x, + int num_elements) + +
    +           
    +abstract  booleanupdate_with_name(java.lang.String name, + boolean x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + boolean[] x, + int num_elements) + +
    +           
    +abstract  byteupdate_with_name(java.lang.String name, + byte x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate_with_name(java.lang.String name, + char x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    +abstract  doubleupdate_with_name(java.lang.String name, + double x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    +abstract  floatupdate_with_name(java.lang.String name, + float x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    +abstract  intupdate_with_name(java.lang.String name, + int x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    +abstract  longupdate_with_name(java.lang.String name, + long x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate_with_name(java.lang.String name, + short x) + +
    +           
    +abstract  voidupdate_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    +abstract  booleanupdate(boolean x) + +
    +           
    +abstract  voidupdate(boolean[] x, + int num_elements) + +
    +           
    +abstract  byteupdate(byte x) + +
    +           
    +abstract  voidupdate(byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate(char x) + +
    +           
    +abstract  voidupdate(char[] x, + int num_elements) + +
    +           
    +abstract  doubleupdate(double x) + +
    +           
    +abstract  voidupdate(double[] x, + int num_elements) + +
    +           
    +abstract  floatupdate(float x) + +
    +           
    +abstract  voidupdate(float[] x, + int num_elements) + +
    +           
    +abstract  intupdate(int x) + +
    +           
    +abstract  voidupdate(int[] x, + int num_elements) + +
    +           
    +abstract  longupdate(long x) + +
    +           
    +abstract  voidupdate(long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate(short x) + +
    +           
    +abstract  voidupdate(short[] x, + int num_elements) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +msg_to_update

    +
    +public java.lang.Object msg_to_update
    +
    +
    Message being updated. +

    +

    +
    +
    +
    + +

    +msg_type

    +
    +public int msg_type
    +
    +
    The type of message being converted. +

    +

    +
    +
    +
    + +

    +type_string

    +
    +public java.lang.String type_string
    +
    +
    +
    +
    +
    + +

    +bufName

    +
    +public java.lang.String bufName
    +
    +
    +
    +
    +
    + +

    +stat_msg_updated

    +
    +public boolean stat_msg_updated
    +
    +
    +
    +
    +
    + +

    +cmd_msg_updated

    +
    +public boolean cmd_msg_updated
    +
    +
    +
    +
    +
    + +

    +error_in_update

    +
    +public boolean error_in_update
    +
    +
    +
    +
    +
    + +

    +always_update_stat_msg

    +
    +public boolean always_update_stat_msg
    +
    +
    +
    +
    +
    + +

    +always_update_cmd_msg

    +
    +public boolean always_update_cmd_msg
    +
    +
    +
    +
    +
    + +

    +add_array_indexes_to_name

    +
    +public boolean add_array_indexes_to_name
    +
    +
    +
    +
    +
    + +

    +sending_short

    +
    +public boolean sending_short
    +
    +
    +
    +
    +
    + +

    +error_in_update_string

    +
    +public java.lang.String error_in_update_string
    +
    +
    +
    +
    +
    + +

    +tokens_not_used_warning_given

    +
    +public boolean tokens_not_used_warning_given
    +
    +
    +
    +
    +
    + +

    +bytes_not_used_warning_given

    +
    +public boolean bytes_not_used_warning_given
    +
    +
    +
    +
    +
    + +

    +array_val

    +
    +protected int array_val
    +
    +
    +
    +
    +
    + +

    +classVarArrayIndex

    +
    +protected int classVarArrayIndex
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLFormatConverter

    +
    +public NMLFormatConverter()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +set_array_val

    +
    +public void set_array_val(int _array_val)
    +
    +
    +
    +
    +
    +
    + +

    +set_classVarArrayIndex

    +
    +public void set_classVarArrayIndex(int _classVarArrayIndex)
    +
    +
    +
    +
    +
    +
    + +

    +getVersionString

    +
    +public abstract java.lang.String getVersionString()
    +
    +
    +
    +
    +
    +
    + +

    +SetErrorInUpdate

    +
    +public abstract void SetErrorInUpdate(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +SetBufName

    +
    +public abstract void SetBufName(java.lang.String bname)
    +
    +
    +
    +
    +
    +
    + +

    +add_to_output_string

    +
    +public abstract void add_to_output_string(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +throw_away_token

    +
    +public abstract void throw_away_token()
    +
    +
    +
    +
    +
    +
    + +

    +get_decoding

    +
    +public abstract boolean get_decoding()
    +
    +
    +
    +
    +
    +
    + +

    +get_use_string

    +
    +public abstract boolean get_use_string()
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract boolean update(boolean x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(boolean[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract byte update(byte x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(byte[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract char update(char x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(char[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract short update(short x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(short[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract int update(int x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(int[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract long update(long x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(long[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract float update(float x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(float[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract double update(double x)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(double[] x,
    +                            int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract boolean update_with_name(java.lang.String name,
    +                                         boolean x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      boolean[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract byte update_with_name(java.lang.String name,
    +                                      byte x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      byte[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract char update_with_name(java.lang.String name,
    +                                      char x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      char[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract short update_with_name(java.lang.String name,
    +                                       short x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      short[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract int update_with_name(java.lang.String name,
    +                                     int x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      int[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract long update_with_name(java.lang.String name,
    +                                      long x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      long[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract float update_with_name(java.lang.String name,
    +                                       float x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      float[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract double update_with_name(java.lang.String name,
    +                                        double x)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public abstract void update_with_name(java.lang.String name,
    +                                      double[] x,
    +                                      int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract void update_unsigned(byte[] x,
    +                                     int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract char update_unsigned(char x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract void update_unsigned(char[] x,
    +                                     int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract short update_unsigned(short x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract void update_unsigned(short[] x,
    +                                     int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract int update_unsigned(int x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract void update_unsigned(int[] x,
    +                                     int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract long update_unsigned(long x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public abstract void update_unsigned(long[] x,
    +                                     int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract byte update_unsigned_with_name(java.lang.String name,
    +                                               byte x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract void update_unsigned_with_name(java.lang.String name,
    +                                               byte[] x,
    +                                               int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract char update_unsigned_with_name(java.lang.String name,
    +                                               char x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract void update_unsigned_with_name(java.lang.String name,
    +                                               char[] x,
    +                                               int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract short update_unsigned_with_name(java.lang.String name,
    +                                                short x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract void update_unsigned_with_name(java.lang.String name,
    +                                               short[] x,
    +                                               int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract int update_unsigned_with_name(java.lang.String name,
    +                                              int x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract void update_unsigned_with_name(java.lang.String name,
    +                                               int[] x,
    +                                               int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract long update_unsigned_with_name(java.lang.String name,
    +                                               long x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public abstract void update_unsigned_with_name(java.lang.String name,
    +                                               long[] x,
    +                                               int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +beginClass

    +
    +public abstract void beginClass(java.lang.String name,
    +                                java.lang.String base)
    +
    +
    +
    +
    +
    +
    + +

    +endClass

    +
    +public abstract void endClass(java.lang.String name,
    +                              java.lang.String base)
    +
    +
    +
    +
    +
    +
    + +

    +beginBaseClass

    +
    +public abstract void beginBaseClass(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +endBaseClass

    +
    +public abstract void endBaseClass(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +beginClassVar

    +
    +public abstract void beginClassVar(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +endClassVar

    +
    +public abstract void endClassVar(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +beginClassArrayElem

    +
    +public abstract void beginClassArrayElem(java.lang.String name,
    +                                         int elemnum)
    +
    +
    +
    +
    +
    +
    + +

    +endClassArrayElem

    +
    +public abstract void endClassArrayElem(java.lang.String name,
    +                                       int elemnum)
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_with_name

    +
    +public abstract int update_enumeration_with_name(java.lang.String name,
    +                                                 int enumin,
    +                                                 NML_ENUM_INFO info)
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_array_with_name

    +
    +public abstract void update_enumeration_array_with_name(java.lang.String name,
    +                                                        int[] enumin,
    +                                                        int num_elements,
    +                                                        NML_ENUM_INFO info)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_enumeration_with_name

    +
    +public abstract int update_attribute_enumeration_with_name(java.lang.String name,
    +                                                           int enumin,
    +                                                           NML_ENUM_INFO info)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract boolean update_attribute_with_name(java.lang.String name,
    +                                                   boolean x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract byte update_attribute_with_name(java.lang.String name,
    +                                                byte x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                byte[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract char update_attribute_with_name(java.lang.String name,
    +                                                char x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract short update_attribute_with_name(java.lang.String name,
    +                                                 short x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract int update_attribute_with_name(java.lang.String name,
    +                                               int x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract long update_attribute_with_name(java.lang.String name,
    +                                                long x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract float update_attribute_with_name(java.lang.String name,
    +                                                 float x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract double update_attribute_with_name(java.lang.String name,
    +                                                  double x)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                char[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                short[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                int[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                long[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                float[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public abstract void update_attribute_with_name(java.lang.String name,
    +                                                double[] x,
    +                                                int num_elements)
    +
    +
    +
    +
    +
    +
    + +

    +check_type_info

    +
    +public abstract int check_type_info(NML_ENUM_INFO info)
    +
    +
    +
    +
    +
    +
    + +

    +get_length_of_unbounded

    +
    +public abstract int get_length_of_unbounded(java.lang.String typename,
    +                                            java.lang.String varname,
    +                                            java.lang.Object[] oarray)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_attribute_with_name

    +
    +public abstract byte[] update_unbounded_attribute_with_name(java.lang.String name,
    +                                                            byte[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract byte[] update_unbounded_with_name(java.lang.String name,
    +                                                  byte[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract short[] update_unbounded_with_name(java.lang.String name,
    +                                                   short[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract int[] update_unbounded_with_name(java.lang.String name,
    +                                                 int[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract long[] update_unbounded_with_name(java.lang.String name,
    +                                                  long[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public abstract byte[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                           byte[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public abstract short[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                            short[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public abstract int[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                          int[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public abstract long[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                           long[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract float[] update_unbounded_with_name(java.lang.String name,
    +                                                   float[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public abstract double[] update_unbounded_with_name(java.lang.String name,
    +                                                    double[] x)
    +
    +
    +
    +
    +
    +
    + +

    +update_dla_length_with_name

    +
    +public abstract int update_dla_length_with_name(java.lang.String name,
    +                                                int x)
    +
    +
    +
    +
    +
    +
    + +

    +next_update_default

    +
    +public abstract void next_update_default(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_TIME

    +
    +public abstract void update_CMS_TIME(CMS_TIME time)
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_DATE

    +
    +public abstract void update_CMS_DATE(CMS_DATE date)
    +
    +
    +
    +
    +
    +
    + +

    +get_token_count

    +
    +public abstract int get_token_count()
    +
    +
    +
    +
    +
    +
    + +

    +set_diagnostics_mode

    +
    +public abstract void set_diagnostics_mode(boolean dm)
    +
    +
    +
    +
    +
    +
    + +

    +get_diagnostics_mode

    +
    +public abstract boolean get_diagnostics_mode()
    +
    +
    +
    +
    +
    +
    + +

    +set_diagnostics_mode_string_max

    +
    +public abstract void set_diagnostics_mode_string_max(int len)
    +
    +
    +
    +
    +
    +
    + +

    +get_diagnostics_mode_string_max

    +
    +public abstract int get_diagnostics_mode_string_max()
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLFormatConverterBase.html b/doc/javadoc/rcs/nml/NMLFormatConverterBase.html new file mode 100644 index 0000000..c6db5b6 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLFormatConverterBase.html @@ -0,0 +1,3614 @@ + + + + + + +NMLFormatConverterBase + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLFormatConverterBase

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLFormatConverter
    +      extended by rcs.nml.NMLFormatConverterBase
    +
    +
    +
    Direct Known Subclasses:
    PackedFormatConverter, XDRFormatConverter, XMLFormatConverter
    +
    +
    +
    +
    public abstract class NMLFormatConverterBase
    extends NMLFormatConverter
    + + +

    +This class is the base class for all classes used by NML to convert + local data types to some neutral format usable by many different types of + hosts. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.lang.Stringbase_class_name + +
    +           
    +protected  intbytes_in_input_stream + +
    +           
    +protected  booleanbytes_in_input_stream_known + +
    +           
    + booleancheck_unsigneds + +
    +           
    + java.lang.Stringclass_name + +
    +           
    + java.lang.Stringclass_var_name + +
    +           
    +static booleandebug_on + +
    +           
    + booleandecoding + +
    +           
    +protected  booleandiagnostics_mode + +
    +           
    +protected  intdiagnostics_mode_string_max + +
    +           
    + booleanfirst_format_error + +
    +           
    +protected  booleanfirst_update_error_occured + +
    +           
    + booleanhide_errors + +
    +           
    +protected  java.io.DataInputStreaminput_stream + +
    +           
    +protected  java.lang.Stringinput_string + +
    +           
    +protected  java.util.StringTokenizerinput_string_tokenizer + +
    +           
    +protected  NMLMessageDictionarymsg_dict + +
    +           
    +protected  longmsg_size + +
    +           
    +protected  java.lang.Stringnext_default + +
    +           
    +protected  NMLFormatConvertErrCallbackInterfacenfceci + +
    +          True when the data from the network is being converted into a message in + this hosts format, false when a message on this host is being converted to + a neutral format.
    +protected  java.io.DataOutputStreamoutput_stream + +
    +           
    +protected  java.lang.StringBufferoutput_string_buffer + +
    +           
    +protected  intraw_data_size + +
    +           
    +static booleansave_var_names + +
    +           
    + booleanupdating_unsigned + +
    +           
    +protected  booleanuse_string + +
    +           
    +protected  java.lang.Stringvar_name + +
    +           
    + java.util.Vectorvar_name_list + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverter
    add_array_indexes_to_name, always_update_cmd_msg, always_update_stat_msg, array_val, bufName, bytes_not_used_warning_given, classVarArrayIndex, cmd_msg_updated, error_in_update, error_in_update_string, msg_to_update, msg_type, sending_short, stat_msg_updated, tokens_not_used_warning_given, type_string
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLFormatConverterBase() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidadd_to_output_string(java.lang.String s) + +
    +           
    + voidbeginBaseClass(java.lang.String name) + +
    +           
    + voidbeginClass(java.lang.String name, + java.lang.String base) + +
    +           
    + voidbeginClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    + voidbeginClassVar(java.lang.String name) + +
    +           
    + intcheck_type_info(NML_ENUM_INFO info) + +
    +           
    +protected  intconvertMsgToRawData(byte[] b, + int size, + NMLmsg msg) + +
    +           
    +protected  java.lang.StringconvertMsgToString(NMLmsg msg) + +
    +           
    +protected  NMLmsgconvertRawDataToMsg(byte[] b, + int offset, + int size) + +
    +           
    +protected  NMLmsgconvertStringToMsg(java.lang.String str) + +
    +           
    + voidendBaseClass(java.lang.String name) + +
    +           
    + voidendClass(java.lang.String name, + java.lang.String base) + +
    +           
    + voidendClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    + voidendClassVar(java.lang.String name) + +
    +           
    + booleanget_decoding() + +
    +           
    + intget_diagnostics_mode_string_max() + +
    +           
    + booleanget_diagnostics_mode() + +
    +           
    + intget_length_of_unbounded(java.lang.String typename, + java.lang.String varname, + java.lang.Object[] oarray) + +
    +           
    + intget_raw_data_size() + +
    +           
    + intget_token_count() + +
    +           
    + booleanget_use_string() + +
    +           
    + NMLMessageDictionaryGetMessageDictionary() + +
    +           
    +protected  NMLmsggetMessageFromInputStream(java.io.DataInputStream dis) + +
    +           
    + java.lang.StringgetVersionString() + +
    +           
    + voidnext_update_default(java.lang.String s) + +
    +           
    + voidrewind() + +
    +          Function that should be called before every message or string is parsed.
    +protected  intsendMsgToOutputStream(java.io.DataOutputStream dos, + NMLmsg msg) + +
    +           
    + voidset_diagnostics_mode_string_max(int len) + +
    +           
    + voidset_diagnostics_mode(boolean dm) + +
    +           
    + voidset_do_not_print_diag_overflow_err(boolean _do_not_print_diag_overflow_err) + +
    +           
    + voidSetBufName(java.lang.String bname) + +
    +           
    + voidSetErrorInUpdate(java.lang.String s) + +
    +           
    + voidSetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +           
    + voidSetMessageDictionary(NMLMessageDictionary new_dict) + +
    +           
    + voidstart_updates() + +
    +           
    + voidthrow_away_token() + +
    +           
    + intupdate_attribute_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + booleanupdate_attribute_with_name(java.lang.String name, + boolean x) + +
    +           
    + byteupdate_attribute_with_name(java.lang.String name, + byte x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + charupdate_attribute_with_name(java.lang.String name, + char x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    + doubleupdate_attribute_with_name(java.lang.String name, + double x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    + floatupdate_attribute_with_name(java.lang.String name, + float x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    + intupdate_attribute_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    + longupdate_attribute_with_name(java.lang.String name, + long x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    + shortupdate_attribute_with_name(java.lang.String name, + short x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    + voidupdate_CMS_DATE(CMS_DATE date) + +
    +           
    + voidupdate_CMS_TIME(CMS_TIME time) + +
    +           
    + intupdate_dla_length_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    + intupdate_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + voidupdate_pre_check(java.lang.String name) + +
    +           
    + byte[]update_unbounded_attribute_with_name(java.lang.String name, + byte[] x) + +
    +           
    + byte[]update_unbounded_unsigned_with_name(java.lang.String name, + byte[] x) + +
    +           
    + int[]update_unbounded_unsigned_with_name(java.lang.String name, + int[] x) + +
    +           
    + long[]update_unbounded_unsigned_with_name(java.lang.String name, + long[] x) + +
    +           
    + short[]update_unbounded_unsigned_with_name(java.lang.String name, + short[] x) + +
    +           
    + byte[]update_unbounded_with_name(java.lang.String name, + byte[] x) + +
    +           
    + double[]update_unbounded_with_name(java.lang.String name, + double[] x) + +
    +           
    + float[]update_unbounded_with_name(java.lang.String name, + float[] x) + +
    +           
    + int[]update_unbounded_with_name(java.lang.String name, + int[] x) + +
    +           
    + long[]update_unbounded_with_name(java.lang.String name, + long[] x) + +
    +           
    + short[]update_unbounded_with_name(java.lang.String name, + short[] x) + +
    +           
    + byteupdate_unsigned_with_name(java.lang.String name, + byte x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + charupdate_unsigned_with_name(java.lang.String name, + char x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    + intupdate_unsigned_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    + longupdate_unsigned_with_name(java.lang.String name, + long x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    + shortupdate_unsigned_with_name(java.lang.String name, + short x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    + byteupdate_unsigned(byte x) + +
    +           
    + voidupdate_unsigned(byte[] x, + int num_elements) + +
    +           
    + charupdate_unsigned(char x) + +
    +           
    + voidupdate_unsigned(char[] x, + int num_elements) + +
    +           
    + intupdate_unsigned(int x) + +
    +           
    + voidupdate_unsigned(int[] x, + int num_elements) + +
    +           
    + longupdate_unsigned(long x) + +
    +           
    + voidupdate_unsigned(long[] x, + int num_elements) + +
    +           
    + shortupdate_unsigned(short x) + +
    +           
    + voidupdate_unsigned(short[] x, + int num_elements) + +
    +           
    + booleanupdate_with_name(java.lang.String name, + boolean x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + boolean[] x, + int num_elements) + +
    +           
    + byteupdate_with_name(java.lang.String name, + byte x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + charupdate_with_name(java.lang.String name, + char x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    + doubleupdate_with_name(java.lang.String name, + double x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    + floatupdate_with_name(java.lang.String name, + float x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    + intupdate_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    + longupdate_with_name(java.lang.String name, + long x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    + shortupdate_with_name(java.lang.String name, + short x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    + booleanupdate(boolean x) + +
    +           
    + voidupdate(boolean[] x, + int num_elements) + +
    +           
    +abstract  byteupdate(byte x) + +
    +           
    +abstract  voidupdate(byte[] x, + int num_elements) + +
    +           
    +abstract  charupdate(char x) + +
    +           
    +abstract  voidupdate(char[] x, + int num_elements) + +
    +           
    +abstract  doubleupdate(double x) + +
    +           
    +abstract  voidupdate(double[] x, + int num_elements) + +
    +           
    +abstract  floatupdate(float x) + +
    +           
    +abstract  voidupdate(float[] x, + int num_elements) + +
    +           
    +abstract  intupdate(int x) + +
    +           
    +abstract  voidupdate(int[] x, + int num_elements) + +
    +           
    +abstract  longupdate(long x) + +
    +           
    +abstract  voidupdate(long[] x, + int num_elements) + +
    +           
    +abstract  shortupdate(short x) + +
    +           
    +abstract  voidupdate(short[] x, + int num_elements) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverter
    set_array_val, set_classVarArrayIndex, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +nfceci

    +
    +protected NMLFormatConvertErrCallbackInterface nfceci
    +
    +
    True when the data from the network is being converted into a message in + this hosts format, false when a message on this host is being converted to + a neutral format. +

    +

    +
    +
    +
    + +

    +decoding

    +
    +public boolean decoding
    +
    +
    +
    +
    +
    + +

    +first_format_error

    +
    +public boolean first_format_error
    +
    +
    +
    +
    +
    + +

    +updating_unsigned

    +
    +public boolean updating_unsigned
    +
    +
    +
    +
    +
    + +

    +check_unsigneds

    +
    +public boolean check_unsigneds
    +
    +
    +
    +
    +
    + +

    +hide_errors

    +
    +public boolean hide_errors
    +
    +
    +
    +
    +
    + +

    +first_update_error_occured

    +
    +protected boolean first_update_error_occured
    +
    +
    +
    +
    +
    + +

    +use_string

    +
    +protected boolean use_string
    +
    +
    +
    +
    +
    + +

    +diagnostics_mode

    +
    +protected boolean diagnostics_mode
    +
    +
    +
    +
    +
    + +

    +diagnostics_mode_string_max

    +
    +protected int diagnostics_mode_string_max
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +output_string_buffer

    +
    +protected java.lang.StringBuffer output_string_buffer
    +
    +
    +
    +
    +
    + +

    +input_string

    +
    +protected java.lang.String input_string
    +
    +
    +
    +
    +
    + +

    +next_default

    +
    +protected java.lang.String next_default
    +
    +
    +
    +
    +
    + +

    +input_stream

    +
    +protected java.io.DataInputStream input_stream
    +
    +
    +
    +
    +
    + +

    +input_string_tokenizer

    +
    +protected java.util.StringTokenizer input_string_tokenizer
    +
    +
    +
    +
    +
    + +

    +output_stream

    +
    +protected java.io.DataOutputStream output_stream
    +
    +
    +
    +
    +
    + +

    +msg_size

    +
    +protected long msg_size
    +
    +
    +
    +
    +
    + +

    +raw_data_size

    +
    +protected int raw_data_size
    +
    +
    +
    +
    +
    + +

    +msg_dict

    +
    +protected NMLMessageDictionary msg_dict
    +
    +
    +
    +
    +
    + +

    +bytes_in_input_stream

    +
    +protected int bytes_in_input_stream
    +
    +
    +
    +
    +
    + +

    +bytes_in_input_stream_known

    +
    +protected boolean bytes_in_input_stream_known
    +
    +
    +
    +
    +
    + +

    +var_name

    +
    +protected java.lang.String var_name
    +
    +
    +
    +
    +
    + +

    +var_name_list

    +
    +public java.util.Vector var_name_list
    +
    +
    +
    +
    +
    + +

    +save_var_names

    +
    +public static final boolean save_var_names
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +class_name

    +
    +public java.lang.String class_name
    +
    +
    +
    +
    +
    + +

    +base_class_name

    +
    +public java.lang.String base_class_name
    +
    +
    +
    +
    +
    + +

    +class_var_name

    +
    +public java.lang.String class_var_name
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLFormatConverterBase

    +
    +public NMLFormatConverterBase()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getVersionString

    +
    +public java.lang.String getVersionString()
    +
    +
    +
    Specified by:
    getVersionString in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +SetFormatConvertErrCallback

    +
    +public void SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci)
    +
    +
    +
    +
    +
    +
    + +

    +set_diagnostics_mode

    +
    +public void set_diagnostics_mode(boolean dm)
    +
    +
    +
    Specified by:
    set_diagnostics_mode in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +get_diagnostics_mode

    +
    +public boolean get_diagnostics_mode()
    +
    +
    +
    Specified by:
    get_diagnostics_mode in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +set_diagnostics_mode_string_max

    +
    +public void set_diagnostics_mode_string_max(int len)
    +
    +
    +
    Specified by:
    set_diagnostics_mode_string_max in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +get_diagnostics_mode_string_max

    +
    +public int get_diagnostics_mode_string_max()
    +
    +
    +
    Specified by:
    get_diagnostics_mode_string_max in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +SetBufName

    +
    +public void SetBufName(java.lang.String bname)
    +
    +
    +
    Specified by:
    SetBufName in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +SetMessageDictionary

    +
    +public void SetMessageDictionary(NMLMessageDictionary new_dict)
    +
    +
    +
    +
    +
    +
    + +

    +get_token_count

    +
    +public int get_token_count()
    +
    +
    +
    Specified by:
    get_token_count in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +add_to_output_string

    +
    +public void add_to_output_string(java.lang.String s)
    +
    +
    +
    Specified by:
    add_to_output_string in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +get_decoding

    +
    +public boolean get_decoding()
    +
    +
    +
    Specified by:
    get_decoding in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +get_use_string

    +
    +public boolean get_use_string()
    +
    +
    +
    Specified by:
    get_use_string in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +SetErrorInUpdate

    +
    +public void SetErrorInUpdate(java.lang.String s)
    +
    +
    +
    Specified by:
    SetErrorInUpdate in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +throw_away_token

    +
    +public void throw_away_token()
    +
    +
    +
    Specified by:
    throw_away_token in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +rewind

    +
    +public void rewind()
    +
    +
    Function that should be called before every message or string is parsed. +

    +

    +
    +
    +
    +
    + +

    +start_updates

    +
    +public void start_updates()
    +
    +
    +
    +
    +
    +
    + +

    +GetMessageDictionary

    +
    +public NMLMessageDictionary GetMessageDictionary()
    +
    +
    +
    +
    +
    +
    + +

    +convertRawDataToMsg

    +
    +protected NMLmsg convertRawDataToMsg(byte[] b,
    +                                     int offset,
    +                                     int size)
    +
    +
    +
    +
    +
    +
    + +

    +convertStringToMsg

    +
    +protected NMLmsg convertStringToMsg(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +set_do_not_print_diag_overflow_err

    +
    +public void set_do_not_print_diag_overflow_err(boolean _do_not_print_diag_overflow_err)
    +
    +
    +
    +
    +
    +
    + +

    +get_raw_data_size

    +
    +public int get_raw_data_size()
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToRawData

    +
    +protected int convertMsgToRawData(byte[] b,
    +                                  int size,
    +                                  NMLmsg msg)
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToString

    +
    +protected java.lang.String convertMsgToString(NMLmsg msg)
    +
    +
    +
    +
    +
    +
    + +

    +getMessageFromInputStream

    +
    +protected NMLmsg getMessageFromInputStream(java.io.DataInputStream dis)
    +
    +
    +
    +
    +
    +
    + +

    +sendMsgToOutputStream

    +
    +protected int sendMsgToOutputStream(java.io.DataOutputStream dos,
    +                                    NMLmsg msg)
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public boolean update(boolean x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(boolean[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract byte update(byte x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(byte[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract char update(char x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(char[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract short update(short x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(short[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract int update(int x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(int[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract long update(long x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(long[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract float update(float x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(float[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract double update(double x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public abstract void update(double[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +beginClass

    +
    +public void beginClass(java.lang.String name,
    +                       java.lang.String base)
    +
    +
    +
    Specified by:
    beginClass in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +endClass

    +
    +public void endClass(java.lang.String name,
    +                     java.lang.String base)
    +
    +
    +
    Specified by:
    endClass in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +beginBaseClass

    +
    +public void beginBaseClass(java.lang.String name)
    +
    +
    +
    Specified by:
    beginBaseClass in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +endBaseClass

    +
    +public void endBaseClass(java.lang.String name)
    +
    +
    +
    Specified by:
    endBaseClass in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +beginClassVar

    +
    +public void beginClassVar(java.lang.String name)
    +
    +
    +
    Specified by:
    beginClassVar in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +endClassVar

    +
    +public void endClassVar(java.lang.String name)
    +
    +
    +
    Specified by:
    endClassVar in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +beginClassArrayElem

    +
    +public void beginClassArrayElem(java.lang.String name,
    +                                int elemnum)
    +
    +
    +
    Specified by:
    beginClassArrayElem in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +endClassArrayElem

    +
    +public void endClassArrayElem(java.lang.String name,
    +                              int elemnum)
    +
    +
    +
    Specified by:
    endClassArrayElem in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +check_type_info

    +
    +public int check_type_info(NML_ENUM_INFO info)
    +
    +
    +
    Specified by:
    check_type_info in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_with_name

    +
    +public int update_enumeration_with_name(java.lang.String name,
    +                                        int enumin,
    +                                        NML_ENUM_INFO info)
    +
    +
    +
    Specified by:
    update_enumeration_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_array_with_name

    +
    +public void update_enumeration_array_with_name(java.lang.String name,
    +                                               int[] enumin,
    +                                               int num_elements,
    +                                               NML_ENUM_INFO info)
    +
    +
    +
    Specified by:
    update_enumeration_array_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_enumeration_with_name

    +
    +public int update_attribute_enumeration_with_name(java.lang.String name,
    +                                                  int enumin,
    +                                                  NML_ENUM_INFO info)
    +
    +
    +
    Specified by:
    update_attribute_enumeration_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public byte update_unsigned(byte x)
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public void update_unsigned(byte[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public char update_unsigned(char x)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public void update_unsigned(char[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public short update_unsigned(short x)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public void update_unsigned(short[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public int update_unsigned(int x)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public void update_unsigned(int[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public long update_unsigned(long x)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned

    +
    +public void update_unsigned(long[] x,
    +                            int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public byte update_unsigned_with_name(java.lang.String name,
    +                                      byte x)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      byte[] x,
    +                                      int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public char update_unsigned_with_name(java.lang.String name,
    +                                      char x)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      char[] x,
    +                                      int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public short update_unsigned_with_name(java.lang.String name,
    +                                       short x)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      short[] x,
    +                                      int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public int update_unsigned_with_name(java.lang.String name,
    +                                     int x)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      int[] x,
    +                                      int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public long update_unsigned_with_name(java.lang.String name,
    +                                      long x)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      long[] x,
    +                                      int num_elements)
    +
    +
    +
    Specified by:
    update_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_pre_check

    +
    +public void update_pre_check(java.lang.String name)
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public boolean update_with_name(java.lang.String name,
    +                                boolean x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             boolean[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public byte update_with_name(java.lang.String name,
    +                             byte x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             byte[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public char update_with_name(java.lang.String name,
    +                             char x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             char[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public short update_with_name(java.lang.String name,
    +                              short x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             short[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public int update_with_name(java.lang.String name,
    +                            int x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             int[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public long update_with_name(java.lang.String name,
    +                             long x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             long[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public float update_with_name(java.lang.String name,
    +                              float x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             float[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public double update_with_name(java.lang.String name,
    +                               double x)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             double[] x,
    +                             int num_elements)
    +
    +
    +
    Specified by:
    update_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public boolean update_attribute_with_name(java.lang.String name,
    +                                          boolean x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public byte update_attribute_with_name(java.lang.String name,
    +                                       byte x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       byte[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public char update_attribute_with_name(java.lang.String name,
    +                                       char x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public short update_attribute_with_name(java.lang.String name,
    +                                        short x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public int update_attribute_with_name(java.lang.String name,
    +                                      int x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public long update_attribute_with_name(java.lang.String name,
    +                                       long x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public float update_attribute_with_name(java.lang.String name,
    +                                        float x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public double update_attribute_with_name(java.lang.String name,
    +                                         double x)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       char[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       short[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       int[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       long[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       float[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       double[] x,
    +                                       int num_elements)
    +
    +
    +
    Specified by:
    update_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +get_length_of_unbounded

    +
    +public int get_length_of_unbounded(java.lang.String typename,
    +                                   java.lang.String varname,
    +                                   java.lang.Object[] oarray)
    +
    +
    +
    Specified by:
    get_length_of_unbounded in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public byte[] update_unbounded_with_name(java.lang.String name,
    +                                         byte[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public short[] update_unbounded_with_name(java.lang.String name,
    +                                          short[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public int[] update_unbounded_with_name(java.lang.String name,
    +                                        int[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public long[] update_unbounded_with_name(java.lang.String name,
    +                                         long[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public byte[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                  byte[] x)
    +
    +
    +
    Specified by:
    update_unbounded_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public short[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                   short[] x)
    +
    +
    +
    Specified by:
    update_unbounded_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public int[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                 int[] x)
    +
    +
    +
    Specified by:
    update_unbounded_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_unsigned_with_name

    +
    +public long[] update_unbounded_unsigned_with_name(java.lang.String name,
    +                                                  long[] x)
    +
    +
    +
    Specified by:
    update_unbounded_unsigned_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public float[] update_unbounded_with_name(java.lang.String name,
    +                                          float[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public double[] update_unbounded_with_name(java.lang.String name,
    +                                           double[] x)
    +
    +
    +
    Specified by:
    update_unbounded_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_dla_length_with_name

    +
    +public int update_dla_length_with_name(java.lang.String name,
    +                                       int x)
    +
    +
    +
    Specified by:
    update_dla_length_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_TIME

    +
    +public void update_CMS_TIME(CMS_TIME time)
    +
    +
    +
    Specified by:
    update_CMS_TIME in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_DATE

    +
    +public void update_CMS_DATE(CMS_DATE date)
    +
    +
    +
    Specified by:
    update_CMS_DATE in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_attribute_with_name

    +
    +public byte[] update_unbounded_attribute_with_name(java.lang.String name,
    +                                                   byte[] x)
    +
    +
    +
    Specified by:
    update_unbounded_attribute_with_name in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +next_update_default

    +
    +public void next_update_default(java.lang.String s)
    +
    +
    +
    Specified by:
    next_update_default in class NMLFormatConverter
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLMessageDictionary.html b/doc/javadoc/rcs/nml/NMLMessageDictionary.html new file mode 100644 index 0000000..6c38f62 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLMessageDictionary.html @@ -0,0 +1,265 @@ + + + + + + +NMLMessageDictionary + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Interface NMLMessageDictionary

    +
    +
    All Known Subinterfaces:
    DiagNMLMsgDictInterface
    +
    +
    +
    All Known Implementing Classes:
    DiagNMLMsgDict, errlogMsgDict
    +
    +
    +
    +
    public interface NMLMessageDictionary
    + + +

    +The NMLMessageDictionary interface is used to create + custom message sets for NML. It's primary function is + to match an integer type identifier with a particular + message class and update the class. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intformatMsg(NMLFormatConverter NMLfc) + +
    +          This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function.
    + longgetEstimatedSize(int _type) + +
    +           
    + longgetMaxEstimatedSize() + +
    +           
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +formatMsg

    +
    +int formatMsg(NMLFormatConverter NMLfc)
    +
    +
    This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function. +

    +

    +
    Parameters:
    NMLfc - a format converter object which provides methods + for updating all the basic types and is used to update + the message, member-by-member. +
    Returns:
    The function should return 0 if it is successful, -1 + otherwise.
    +
    +
    +
    + +

    +getEstimatedSize

    +
    +long getEstimatedSize(int _type)
    +
    +
    +
    +
    +
    +
    + +

    +getMaxEstimatedSize

    +
    +long getMaxEstimatedSize()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLSingleVarLog.html b/doc/javadoc/rcs/nml/NMLSingleVarLog.html new file mode 100644 index 0000000..2b08756 --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLSingleVarLog.html @@ -0,0 +1,313 @@ + + + + + + +NMLSingleVarLog + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLSingleVarLog

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLSingleVarLog
    +
    +
    +
    +
    public class NMLSingleVarLog
    extends java.lang.Object
    + + +

    +The class is used to store the value a single variable extracted + from a large or potentially large message and that was automatically + collected at some frequency. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    + NMLSingleVarLogItem[]items_list + +
    +           
    + intlast_items_sent_size + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLSingleVarLog() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +items_list

    +
    +public NMLSingleVarLogItem[] items_list
    +
    +
    +
    +
    +
    + +

    +last_items_sent_size

    +
    +public int last_items_sent_size
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLSingleVarLog

    +
    +public NMLSingleVarLog()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLSingleVarLogItem.html b/doc/javadoc/rcs/nml/NMLSingleVarLogItem.html new file mode 100644 index 0000000..af824af --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLSingleVarLogItem.html @@ -0,0 +1,280 @@ + + + + + + +NMLSingleVarLogItem + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLSingleVarLogItem

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLSingleVarLogItem
    +
    +
    +
    +
    public class NMLSingleVarLogItem
    extends java.lang.Object
    + + +

    +Object stored in NMLSingeVarLog items_list; +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    + doubletimestamp + +
    +           
    + doublevalue + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NMLSingleVarLogItem() + +
    +           
    +  + + + + + + + +
    +Method Summary
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +timestamp

    +
    +public double timestamp
    +
    +
    +
    +
    +
    + +

    +value

    +
    +public double value
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLSingleVarLogItem

    +
    +public NMLSingleVarLogItem()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NML_DISPLAY.html b/doc/javadoc/rcs/nml/NML_DISPLAY.html new file mode 100644 index 0000000..037f994 --- /dev/null +++ b/doc/javadoc/rcs/nml/NML_DISPLAY.html @@ -0,0 +1,323 @@ + + + + + + +NML_DISPLAY + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NML_DISPLAY

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.NML_DISPLAY
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class NML_DISPLAY
    extends NMLmsg
    + + +

    +Class used to send an operator interface a small text message to display. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    + byte[]display + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + +
    +Constructor Summary
    NML_DISPLAY() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +display

    +
    +public byte[] display
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NML_DISPLAY

    +
    +public NML_DISPLAY()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    Description copied from class: NMLmsg
    +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +

    +

    +
    Overrides:
    update in class NMLmsg
    +
    +
    +
    Parameters:
    nml_fc - NMLFormatConverter that provides functions for updating + all of the basic data types.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NML_ENUM_INFO.html b/doc/javadoc/rcs/nml/NML_ENUM_INFO.html new file mode 100644 index 0000000..4dbd143 --- /dev/null +++ b/doc/javadoc/rcs/nml/NML_ENUM_INFO.html @@ -0,0 +1,298 @@ + + + + + + +NML_ENUM_INFO + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NML_ENUM_INFO

    +
    +java.lang.Object
    +  extended by rcs.nml.NML_ENUM_INFO
    +
    +
    +
    +
    public class NML_ENUM_INFO
    extends java.lang.Object
    + + +

    +Information stored about an enumeration passed via NML. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.util.Hashtableint_to_string_hash + +
    +           
    + java.lang.Stringname + +
    +           
    + java.util.Hashtablestring_to_int_hash + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    NML_ENUM_INFO() + +
    +           
    +  + + + + + + + +
    +Method Summary
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +name

    +
    +public java.lang.String name
    +
    +
    +
    +
    +
    + +

    +int_to_string_hash

    +
    +public java.util.Hashtable int_to_string_hash
    +
    +
    +
    +
    +
    + +

    +string_to_int_hash

    +
    +public java.util.Hashtable string_to_int_hash
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NML_ENUM_INFO

    +
    +public NML_ENUM_INFO()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NML_ERROR.html b/doc/javadoc/rcs/nml/NML_ERROR.html new file mode 100644 index 0000000..e20fb12 --- /dev/null +++ b/doc/javadoc/rcs/nml/NML_ERROR.html @@ -0,0 +1,323 @@ + + + + + + +NML_ERROR + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NML_ERROR

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.NML_ERROR
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class NML_ERROR
    extends NMLmsg
    + + +

    +Generic class used to send an operator inteface as small text error message. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    + byte[]error + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + +
    +Constructor Summary
    NML_ERROR() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +error

    +
    +public byte[] error
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NML_ERROR

    +
    +public NML_ERROR()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    Description copied from class: NMLmsg
    +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +

    +

    +
    Overrides:
    update in class NMLmsg
    +
    +
    +
    Parameters:
    nml_fc - NMLFormatConverter that provides functions for updating + all of the basic data types.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NML_TEXT.html b/doc/javadoc/rcs/nml/NML_TEXT.html new file mode 100644 index 0000000..f8c2422 --- /dev/null +++ b/doc/javadoc/rcs/nml/NML_TEXT.html @@ -0,0 +1,323 @@ + + + + + + +NML_TEXT + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NML_TEXT

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.NML_TEXT
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class NML_TEXT
    extends NMLmsg
    + + +

    +Class used to send an operator interface a small text message to display. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    + byte[]text + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + +
    +Constructor Summary
    NML_TEXT() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +text

    +
    +public byte[] text
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NML_TEXT

    +
    +public NML_TEXT()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    Description copied from class: NMLmsg
    +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +

    +

    +
    Overrides:
    update in class NMLmsg
    +
    +
    +
    Parameters:
    nml_fc - NMLFormatConverter that provides functions for updating + all of the basic data types.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/NMLmsg.html b/doc/javadoc/rcs/nml/NMLmsg.html new file mode 100644 index 0000000..9bc6dac --- /dev/null +++ b/doc/javadoc/rcs/nml/NMLmsg.html @@ -0,0 +1,390 @@ + + + + + + +NMLmsg + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class NMLmsg

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    NML_DISPLAY, NML_ERROR, NML_TEXT, RCS_CMD_MSG, RCS_STAT_MSG
    +
    +
    +
    +
    public abstract class NMLmsg
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +This is the abstract base class of all messages sent or + recieved via NML. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    +protected  longsize + +
    +          not used in Java
    + inttype + +
    +          Unique Identifier for the type of message
    +  + + + + + + + + + + + + + + + +
    +Constructor Summary
    +protected NMLmsg() + +
    +           
    + NMLmsg(int _type) + +
    +          This constructor is to be used by derived types.
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + NMLmsgclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +type

    +
    +public int type
    +
    +
    Unique Identifier for the type of message +

    +

    +
    +
    +
    + +

    +size

    +
    +protected long size
    +
    +
    not used in Java +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +NMLmsg

    +
    +protected NMLmsg()
    +
    +
    +
    + +

    +NMLmsg

    +
    +public NMLmsg(int _type)
    +
    +
    This constructor is to be used by derived types. +

    + Example: +
    + class MY_MSG extends NMLmsg
    + {
    +       int i;
    +       double d;
    +
    +       public MY_MSG()
    +       {
    +               super(1001);
    +       }
    + }
    + 
    +

    +

    +
    Parameters:
    _type - Unique Identifier for the type of message
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +

    +

    +
    +
    +
    +
    Parameters:
    nml_fc - NMLFormatConverter that provides functions for updating + all of the basic data types.
    +
    +
    +
    + +

    +clone

    +
    +public NMLmsg clone()
    +             throws java.lang.CloneNotSupportedException
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    + +
    Throws: +
    java.lang.CloneNotSupportedException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/PackedFileReader.html b/doc/javadoc/rcs/nml/PackedFileReader.html new file mode 100644 index 0000000..fc708fc --- /dev/null +++ b/doc/javadoc/rcs/nml/PackedFileReader.html @@ -0,0 +1,540 @@ + + + + + + +PackedFileReader + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class PackedFileReader

    +
    +java.lang.Object
    +  extended by rcs.nml.PackedFileReader
    +
    +
    +
    +
    public class PackedFileReader
    extends java.lang.Object
    + + +

    +Class that allows the reading of packed files directly without using + an NMLConnection. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    PackedFileReader(NMLMessageDictionary _dict, + boolean _l64_mode) + +
    +          Create a PackedFileReader for reading log files of a given set of types.
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringconvertMsgToString(NMLmsg inMsg) + +
    +          Use FormatConverter to get a string representation of the message.
    + java.util.List<LogTimeEntry>createLogTimeEntryList(java.io.File combinedFile, + java.io.File indexFile, + boolean indexIsLittleEndian, + int maxlen, + MsgToTimeStamp mtts) + +
    +          Create a list to use as an index into a large ".COMBINED" file with + multiple messages in it using the ".index" file created by the logRecorder + at the same time
    +static voidmain(java.lang.String[] args) + +
    +           
    + NMLmsgReadFile(java.io.File f) + +
    +          Read the entire message in the pointed to file and convert it to + an NMLmsg.
    + NMLmsgReadFile(java.io.File f, + int max_len) + +
    +          Read the first max_len bytes from a file and convert it to an NML message.
    + NMLmsgReadFile(java.lang.String fileName) + +
    +          Read the entire file or URL and parse it into an NMLmsg of the appropriate type.
    + NMLmsgReadFile(java.lang.String fileName, + int maxlen) + +
    +          Read the first maxlen bytes out of a file and convert it to an + NMLmsg.
    + NMLmsgReadFileSection(java.io.File f, + int offset, + int max_len) + +
    +          Read a message from a large ".COMBINED" file that contains multiple messages.
    + NMLmsgReadFileSection(java.lang.String fileName, + int offset, + int maxlen) + +
    +          Read a section of a large file containing many messages.
    +static int[]ReadIndexes(java.io.File indexFile, + boolean littleEndian) + +
    +          Read an indexFile as created by the logRecorder into an integer array.
    +static int[]ReadIndexes(java.lang.String indexFileName, + boolean littleEndian) + +
    +          Read an indexFile as created by the logRecorder into an integer array.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PackedFileReader

    +
    +public PackedFileReader(NMLMessageDictionary _dict,
    +                        boolean _l64_mode)
    +
    +
    Create a PackedFileReader for reading log files of a given set of types. +

    +

    +
    Parameters:
    _dict - MessageDictionary with auto-generated format functions to parse + this specific file types.
    _l64_mode - should longs be stored or expected to be 64-bit instead of 32-bit
    +
    + + + + + + + + +
    +Method Detail
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.lang.String fileName)
    +
    +
    Read the entire file or URL and parse it into an NMLmsg of the appropriate type. +

    +

    +
    Parameters:
    fileName - the path to a file, or a filename in the current directory or + a URL beginning with "http://" +
    Returns:
    message from given file.
    +
    +
    +
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.lang.String fileName,
    +                       int maxlen)
    +
    +
    Read the first maxlen bytes out of a file and convert it to an + NMLmsg. It is typically used to extract just a timestamp in one of the first variables + of a large message. +

    +

    +
    Parameters:
    fileName - fileName or path or URL to read.
    maxlen - number of bytes to actually read. +
    Returns:
    message from file. (variables stored after maxlen will be all zero.)
    +
    +
    +
    + +

    +ReadFileSection

    +
    +public NMLmsg ReadFileSection(java.lang.String fileName,
    +                              int offset,
    +                              int maxlen)
    +                       throws java.lang.Exception
    +
    +
    Read a section of a large file containing many messages. +

    +

    +
    Parameters:
    fileName - filename or path to file or URL starting with "http://"
    offset - number of bytes from beginning of file to location of the + desired message
    maxlen - maximum number of bytes in the message +
    Returns:
    message from the file. +
    Throws: +
    java.lang.Exception - throws exception of offset or max_len exceeds the size of file or
    +
    +
    +
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.io.File f)
    +
    +
    Read the entire message in the pointed to file and convert it to + an NMLmsg. +

    +

    +
    Parameters:
    f - the file to read. +
    Returns:
    message from File.
    +
    +
    +
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.io.File f,
    +                       int max_len)
    +
    +
    Read the first max_len bytes from a file and convert it to an NML message. + It is typically used to get a timestamp which is one of the first few variables + in a large message. + Variables from more than max_len bytes into the file will be left zero. +

    +

    +
    Parameters:
    f - file to read
    max_len - maximum number of bytes to read. +
    Returns:
    the message for the given file with variables after max_len left zero.
    +
    +
    +
    + +

    +ReadIndexes

    +
    +public static int[] ReadIndexes(java.lang.String indexFileName,
    +                                boolean littleEndian)
    +                         throws java.lang.Exception
    +
    +
    Read an indexFile as created by the logRecorder into an integer array. +

    +

    +
    Parameters:
    indexFileName - name of the index file.
    littleEndian - was the log recorder run on a littleEndian platform + (probably true) +
    Returns:
    integer array with the indexes +
    Throws: +
    java.lang.Exception - occurs if the file does not exist or can not be read.
    +
    +
    +
    + +

    +ReadIndexes

    +
    +public static int[] ReadIndexes(java.io.File indexFile,
    +                                boolean littleEndian)
    +                         throws java.lang.Exception
    +
    +
    Read an indexFile as created by the logRecorder into an integer array. +

    +

    +
    Parameters:
    indexFile - file to read
    littleEndian - was the log recorder run on a littleEndian platform + (probably true) +
    Returns:
    integer array with the indexes +
    Throws: +
    java.lang.Exception - occurs if the file does not exist or can not be read.
    +
    +
    +
    + +

    +createLogTimeEntryList

    +
    +public java.util.List<LogTimeEntry> createLogTimeEntryList(java.io.File combinedFile,
    +                                                           java.io.File indexFile,
    +                                                           boolean indexIsLittleEndian,
    +                                                           int maxlen,
    +                                                           MsgToTimeStamp mtts)
    +                                                    throws java.lang.Exception
    +
    +
    Create a list to use as an index into a large ".COMBINED" file with + multiple messages in it using the ".index" file created by the logRecorder + at the same time +

    +

    +
    Parameters:
    combinedFile - large file with multiple messages to read
    indexFile - index file with list of position offsets only
    indexIsLittleEndian - true if the logRecorder was run on a + little-endian platform
    maxlen - number of bytes of each message that needs to be read to get + the time stamp.
    mtts - class to get timestamp out of custom message types. +
    Returns:
    list of LogTimeEntry objects useful for finding a message at a given time. +
    Throws: +
    java.lang.Exception - are thrown if one of files does not exist or is not readable.
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    + +

    +ReadFileSection

    +
    +public NMLmsg ReadFileSection(java.io.File f,
    +                              int offset,
    +                              int max_len)
    +                       throws java.lang.Exception
    +
    +
    Read a message from a large ".COMBINED" file that contains multiple messages. +

    +

    +
    Parameters:
    f - file to read
    offset - offset in bytes to the desired message
    max_len - number of bytes to read from desired message +
    Returns:
    message read from that part of the file. +
    Throws: +
    java.lang.Exception - throws exception of offset or max_len exceeds the size of file or + file is not readable.
    +
    +
    +
    + +

    +convertMsgToString

    +
    +public java.lang.String convertMsgToString(NMLmsg inMsg)
    +
    +
    Use FormatConverter to get a string representation of the message. +

    +

    +
    Parameters:
    inMsg - +
    Returns:
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/PackedFileWriter.html b/doc/javadoc/rcs/nml/PackedFileWriter.html new file mode 100644 index 0000000..65628c6 --- /dev/null +++ b/doc/javadoc/rcs/nml/PackedFileWriter.html @@ -0,0 +1,299 @@ + + + + + + +PackedFileWriter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class PackedFileWriter

    +
    +java.lang.Object
    +  extended by rcs.nml.PackedFileWriter
    +
    +
    +
    +
    public class PackedFileWriter
    extends java.lang.Object
    + + +

    +Class that allows the writing of packed files directly without using + an NMLConnection. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    PackedFileWriter(NMLMessageDictionary _dict, + boolean _l64_mode) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + NMLmsgconvertStringToMsg(java.lang.String str) + +
    +           
    + voidWriteFile(java.io.File curFile, + NMLmsg _msg) + +
    +           
    + voidWriteFile(java.lang.String fileName, + NMLmsg _msg) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PackedFileWriter

    +
    +public PackedFileWriter(NMLMessageDictionary _dict,
    +                        boolean _l64_mode)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +WriteFile

    +
    +public void WriteFile(java.lang.String fileName,
    +                      NMLmsg _msg)
    +
    +
    +
    +
    +
    +
    + +

    +WriteFile

    +
    +public void WriteFile(java.io.File curFile,
    +                      NMLmsg _msg)
    +
    +
    +
    +
    +
    +
    + +

    +convertStringToMsg

    +
    +public NMLmsg convertStringToMsg(java.lang.String str)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/PackedFormatConverter.html b/doc/javadoc/rcs/nml/PackedFormatConverter.html new file mode 100644 index 0000000..ac1bd03 --- /dev/null +++ b/doc/javadoc/rcs/nml/PackedFormatConverter.html @@ -0,0 +1,843 @@ + + + + + + +PackedFormatConverter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class PackedFormatConverter

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLFormatConverter
    +      extended by rcs.nml.NMLFormatConverterBase
    +          extended by rcs.nml.PackedFormatConverter
    +
    +
    +
    +
    public class PackedFormatConverter
    extends NMLFormatConverterBase
    + + +

    +The PackedFormatConverter converts NML message classes to Packed. + Most users should not use it directly. + +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static byte[]align_bytes + +
    +           
    +static booleanauto_align + +
    +           
    + booleandata_has_64bit_longs + +
    +           
    + booleanl64_mode + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverterBase
    base_class_name, bytes_in_input_stream, bytes_in_input_stream_known, check_unsigneds, class_name, class_var_name, debug_on, decoding, diagnostics_mode, diagnostics_mode_string_max, first_format_error, first_update_error_occured, hide_errors, input_stream, input_string, input_string_tokenizer, msg_dict, msg_size, next_default, nfceci, output_stream, output_string_buffer, raw_data_size, save_var_names, updating_unsigned, use_string, var_name, var_name_list
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverter
    add_array_indexes_to_name, always_update_cmd_msg, always_update_stat_msg, array_val, bufName, bytes_not_used_warning_given, classVarArrayIndex, cmd_msg_updated, error_in_update, error_in_update_string, msg_to_update, msg_type, sending_short, stat_msg_updated, tokens_not_used_warning_given, type_string
    +  + + + + + + + + + + +
    +Constructor Summary
    PackedFormatConverter(boolean _l64_mode) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidalign(int align_factor) + +
    +           
    + byte[]convertMsgToRawData(NMLmsg _msg) + +
    +           
    + voidHandleErrorInUpdate(java.lang.Exception e) + +
    +           
    + voidstart_updates() + +
    +           
    + java.lang.StringtoString() + +
    +           
    + booleanupdate(boolean x) + +
    +           
    + byteupdate(byte x) + +
    +           
    + voidupdate(byte[] x, + int num_elements) + +
    +           
    + charupdate(char x) + +
    +           
    + voidupdate(char[] x, + int num_elements) + +
    +           
    + doubleupdate(double x) + +
    +           
    + voidupdate(double[] x, + int num_elements) + +
    +           
    + floatupdate(float x) + +
    +           
    + voidupdate(float[] x, + int num_elements) + +
    +           
    + intupdate(int x) + +
    +           
    + voidupdate(int[] x, + int num_elements) + +
    +           
    + longupdate(long x) + +
    +           
    + voidupdate(long[] x, + int num_elements) + +
    +           
    + shortupdate(short x) + +
    +           
    + voidupdate(short[] x, + int num_elements) + +
    +           
    + voidwaste(int bytes_to_waste) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverterBase
    add_to_output_string, beginBaseClass, beginClass, beginClassArrayElem, beginClassVar, check_type_info, convertMsgToRawData, convertMsgToString, convertRawDataToMsg, convertStringToMsg, endBaseClass, endClass, endClassArrayElem, endClassVar, get_decoding, get_diagnostics_mode_string_max, get_diagnostics_mode, get_length_of_unbounded, get_raw_data_size, get_token_count, get_use_string, GetMessageDictionary, getMessageFromInputStream, getVersionString, next_update_default, rewind, sendMsgToOutputStream, set_diagnostics_mode_string_max, set_diagnostics_mode, set_do_not_print_diag_overflow_err, SetBufName, SetErrorInUpdate, SetFormatConvertErrCallback, SetMessageDictionary, throw_away_token, update_attribute_enumeration_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_CMS_DATE, update_CMS_TIME, update_dla_length_with_name, update_enumeration_array_with_name, update_enumeration_with_name, update_pre_check, update_unbounded_attribute_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverter
    set_array_val, set_classVarArrayIndex
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +align_bytes

    +
    +public static byte[] align_bytes
    +
    +
    +
    +
    +
    + +

    +auto_align

    +
    +public static boolean auto_align
    +
    +
    +
    +
    +
    + +

    +data_has_64bit_longs

    +
    +public boolean data_has_64bit_longs
    +
    +
    +
    +
    +
    + +

    +l64_mode

    +
    +public boolean l64_mode
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PackedFormatConverter

    +
    +public PackedFormatConverter(boolean _l64_mode)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +HandleErrorInUpdate

    +
    +public void HandleErrorInUpdate(java.lang.Exception e)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +align

    +
    +public void align(int align_factor)
    +           throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +waste

    +
    +public void waste(int bytes_to_waste)
    +           throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +start_updates

    +
    +public void start_updates()
    +
    +
    +
    Overrides:
    start_updates in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public boolean update(boolean x)
    +
    +
    +
    Overrides:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public byte update(byte x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(byte[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public char update(char x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(char[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public short update(short x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(short[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public int update(int x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(int[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public long update(long x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(long[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public float update(float x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(float[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public double update(double x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(double[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToRawData

    +
    +public byte[] convertMsgToRawData(NMLmsg _msg)
    +                           throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/RCS_CMD_MSG.html b/doc/javadoc/rcs/nml/RCS_CMD_MSG.html new file mode 100644 index 0000000..34dd4ad --- /dev/null +++ b/doc/javadoc/rcs/nml/RCS_CMD_MSG.html @@ -0,0 +1,354 @@ + + + + + + +RCS_CMD_MSG + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class RCS_CMD_MSG

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.RCS_CMD_MSG
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class RCS_CMD_MSG
    extends NMLmsg
    + + +

    +Base class for NML command messages. +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    + intserial_number + +
    +          Applications ussually increment the serial number each + time a command is sent, this number is ussually echoed + back in the status message so that supervisors can tell + which command is currently executing or just completed.
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + + + + + + +
    +Constructor Summary
    +protected RCS_CMD_MSG() + +
    +           
    + RCS_CMD_MSG(int _type) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +serial_number

    +
    +public int serial_number
    +
    +
    Applications ussually increment the serial number each + time a command is sent, this number is ussually echoed + back in the status message so that supervisors can tell + which command is currently executing or just completed. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +RCS_CMD_MSG

    +
    +protected RCS_CMD_MSG()
    +
    +
    +
    + +

    +RCS_CMD_MSG

    +
    +public RCS_CMD_MSG(int _type)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    Description copied from class: NMLmsg
    +
    This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts. +

    +

    +
    Overrides:
    update in class NMLmsg
    +
    +
    +
    Parameters:
    nml_fc - NMLFormatConverter that provides functions for updating + all of the basic data types.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/RCS_STAT_MSG.html b/doc/javadoc/rcs/nml/RCS_STAT_MSG.html new file mode 100644 index 0000000..da13822 --- /dev/null +++ b/doc/javadoc/rcs/nml/RCS_STAT_MSG.html @@ -0,0 +1,613 @@ + + + + + + +RCS_STAT_MSG + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class RCS_STAT_MSG

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.RCS_STAT_MSG
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    RCS_STAT_MSG_V2
    +
    +
    +
    +
    public class RCS_STAT_MSG
    extends NMLmsg
    + + +

    +Base class for NML status messages. +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + longcommand_type + +
    +          Subordinates ussually set this to the type of the command + they are currently executing or just completed.
    + intecho_serial_number + +
    +          Subordinates ussually set this to the serial_number of the command + they are currently executing or just completed.
    + intline + +
    +          Modules that use simple state tables ussually provide + the last line matched in the state table here.
    +static NML_ENUM_INFOnml_enum_info_for_RCS_STATUS + +
    +           
    +static intRCS_DONE + +
    +          Value for status if the module has completed the last command + it was given.
    +static intRCS_ERROR + +
    +          Value for status if the module has encountered an error.
    +static intRCS_EXEC + +
    +          Value for status if the module is still executing the last command + it was given.
    + byte[]source_file + +
    +          Modules that use simple state tables may provide the + name of the source file of the state table that is + currently being used here.
    + intsource_line + +
    +          Modules that use simple state tables ussually provide + the last line matched in the state table here.
    + intstate + +
    +          Modules that use simple state tables ussually provide + the current state here.
    + intstatus + +
    +          The status of the module is ussually set to either + UNINITIALIZED_STATUS, RCS_DONE, RCS_EXEC, or RCS_ERROR, depending on + whether the module is currently executing a command + or has encountered an error.
    +static intUNINITIALIZED_STATUS + +
    +          Value for status if the module has not yet been initialized.
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + + + + + + +
    +Constructor Summary
    +protected RCS_STAT_MSG() + +
    +           
    + RCS_STAT_MSG(int _type) + +
    +          Derived classes should use this constructor by placing + super(_type) in the first line of thier constructors.
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          update function for the RCS_STAT_MSG members.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +nml_enum_info_for_RCS_STATUS

    +
    +public static NML_ENUM_INFO nml_enum_info_for_RCS_STATUS
    +
    +
    +
    +
    +
    + +

    +command_type

    +
    +public long command_type
    +
    +
    Subordinates ussually set this to the type of the command + they are currently executing or just completed. + The templates do this automatically. +

    +

    +
    +
    +
    + +

    +echo_serial_number

    +
    +public int echo_serial_number
    +
    +
    Subordinates ussually set this to the serial_number of the command + they are currently executing or just completed. + The templates do this automatically. +

    +

    +
    +
    +
    + +

    +UNINITIALIZED_STATUS

    +
    +public static final int UNINITIALIZED_STATUS
    +
    +
    Value for status if the module has not yet been initialized. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_DONE

    +
    +public static final int RCS_DONE
    +
    +
    Value for status if the module has completed the last command + it was given. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_EXEC

    +
    +public static final int RCS_EXEC
    +
    +
    Value for status if the module is still executing the last command + it was given. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RCS_ERROR

    +
    +public static final int RCS_ERROR
    +
    +
    Value for status if the module has encountered an error. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +status

    +
    +public int status
    +
    +
    The status of the module is ussually set to either + UNINITIALIZED_STATUS, RCS_DONE, RCS_EXEC, or RCS_ERROR, depending on + whether the module is currently executing a command + or has encountered an error. + The templates do this automatically. +

    +

    +
    +
    +
    + +

    +state

    +
    +public int state
    +
    +
    Modules that use simple state tables ussually provide + the current state here. + The templates do this automatically. +

    +

    +
    +
    +
    + +

    +line

    +
    +public int line
    +
    +
    Modules that use simple state tables ussually provide + the last line matched in the state table here. + The line here is meant as the number of if(STATE_MATCH(...) + encountered before one was true. + The templates do this automatically. +

    +

    +
    +
    +
    + +

    +source_line

    +
    +public int source_line
    +
    +
    Modules that use simple state tables ussually provide + the last line matched in the state table here. + The line here is meant as the line number in the source + code of the if(STATE_MATCH( . . .) that was true. + The templates do this automatically. + The diagnostics tool uses this for the "state table" + display. +

    +

    +
    +
    +
    + +

    +source_file

    +
    +public byte[] source_file
    +
    +
    Modules that use simple state tables may provide the + name of the source file of the state table that is + currently being used here. + The templates do this automatically. + The diagnostics tool uses this for the "state table" + display. +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +RCS_STAT_MSG

    +
    +protected RCS_STAT_MSG()
    +
    +
    +
    + +

    +RCS_STAT_MSG

    +
    +public RCS_STAT_MSG(int _type)
    +
    +
    Derived classes should use this constructor by placing + super(_type) in the first line of thier constructors. +

    +

    +
    Parameters:
    _type - the integer identifier of the derived class
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    update function for the RCS_STAT_MSG members. Derived + classes that have data members that should be communicated + should override this function and place super.update(nml_fc) in + the first line. +

    +

    +
    Overrides:
    update in class NMLmsg
    +
    +
    +
    Parameters:
    nml_fc - the NMLFormatConverter used to convert basic + data types to neutral formats and back.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/RCS_STAT_MSG_V2.html b/doc/javadoc/rcs/nml/RCS_STAT_MSG_V2.html new file mode 100644 index 0000000..c87dae5 --- /dev/null +++ b/doc/javadoc/rcs/nml/RCS_STAT_MSG_V2.html @@ -0,0 +1,422 @@ + + + + + + +RCS_STAT_MSG_V2 + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class RCS_STAT_MSG_V2

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLmsg
    +      extended by rcs.nml.RCS_STAT_MSG
    +          extended by rcs.nml.RCS_STAT_MSG_V2
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class RCS_STAT_MSG_V2
    extends RCS_STAT_MSG
    + + +

    +A second version of the RCS_STAT_MSG used for base messages of RCS status + perhaps considered for use in moast. + WARNING: Maintaining this has proven somewhat difficult so it is recommended that + you use the original RCS_STAT_MSG or even derive your own status messages from + NMLmsg base class unless you are working with a project that has already adopted it. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + intadmin_state + +
    +           
    + byte[]message + +
    +           
    + intmessage_length + +
    +           
    +static NML_ENUM_INFOnml_enum_info_for_RCS_ADMIN_STATE + +
    +           
    + time_trackertt + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.RCS_STAT_MSG
    command_type, echo_serial_number, line, nml_enum_info_for_RCS_STATUS, RCS_DONE, RCS_ERROR, RCS_EXEC, source_file, source_line, state, status, UNINITIALIZED_STATUS
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLmsg
    size, type
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    RCS_STAT_MSG_V2() + +
    +           
    RCS_STAT_MSG_V2(int nml_type) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +          update function for the RCS_STAT_MSG members.
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLmsg
    clone
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +nml_enum_info_for_RCS_ADMIN_STATE

    +
    +public static NML_ENUM_INFO nml_enum_info_for_RCS_ADMIN_STATE
    +
    +
    +
    +
    +
    + +

    +admin_state

    +
    +public int admin_state
    +
    +
    +
    +
    +
    + +

    +tt

    +
    +public time_tracker tt
    +
    +
    +
    +
    +
    + +

    +message_length

    +
    +public int message_length
    +
    +
    +
    +
    +
    + +

    +message

    +
    +public byte[] message
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +RCS_STAT_MSG_V2

    +
    +public RCS_STAT_MSG_V2()
    +
    +
    +
    + +

    +RCS_STAT_MSG_V2

    +
    +public RCS_STAT_MSG_V2(int nml_type)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    Description copied from class: RCS_STAT_MSG
    +
    update function for the RCS_STAT_MSG members. Derived + classes that have data members that should be communicated + should override this function and place super.update(nml_fc) in + the first line. +

    +

    +
    Overrides:
    update in class RCS_STAT_MSG
    +
    +
    +
    Parameters:
    nml_fc - the NMLFormatConverter used to convert basic + data types to neutral formats and back.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/XDRFormatConverter.html b/doc/javadoc/rcs/nml/XDRFormatConverter.html new file mode 100644 index 0000000..93692ff --- /dev/null +++ b/doc/javadoc/rcs/nml/XDRFormatConverter.html @@ -0,0 +1,764 @@ + + + + + + +XDRFormatConverter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class XDRFormatConverter

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLFormatConverter
    +      extended by rcs.nml.NMLFormatConverterBase
    +          extended by rcs.nml.XDRFormatConverter
    +
    +
    +
    +
    public class XDRFormatConverter
    extends NMLFormatConverterBase
    + + +

    +The XDRFormatConverter converts NML message classes to XDR. + XDR stands for eXternal Data Representation. + Most users should not use it directly. + +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static byte[]align_bytes + +
    +           
    +static booleanauto_align + +
    +           
    +static booleandebug_on + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverterBase
    base_class_name, bytes_in_input_stream, bytes_in_input_stream_known, check_unsigneds, class_name, class_var_name, decoding, diagnostics_mode, diagnostics_mode_string_max, first_format_error, first_update_error_occured, hide_errors, input_stream, input_string, input_string_tokenizer, msg_dict, msg_size, next_default, nfceci, output_stream, output_string_buffer, raw_data_size, save_var_names, updating_unsigned, use_string, var_name, var_name_list
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverter
    add_array_indexes_to_name, always_update_cmd_msg, always_update_stat_msg, array_val, bufName, bytes_not_used_warning_given, classVarArrayIndex, cmd_msg_updated, error_in_update, error_in_update_string, msg_to_update, msg_type, sending_short, stat_msg_updated, tokens_not_used_warning_given, type_string
    +  + + + + + + + + + + +
    +Constructor Summary
    XDRFormatConverter() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidalign(int align_factor) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + booleanupdate(boolean x) + +
    +           
    + byteupdate(byte x) + +
    +           
    + voidupdate(byte[] x, + int num_elements) + +
    +           
    + charupdate(char x) + +
    +           
    + voidupdate(char[] x, + int num_elements) + +
    +           
    + doubleupdate(double x) + +
    +           
    + voidupdate(double[] x, + int num_elements) + +
    +           
    + floatupdate(float x) + +
    +           
    + voidupdate(float[] x, + int num_elements) + +
    +           
    + intupdate(int x) + +
    +           
    + voidupdate(int[] x, + int num_elements) + +
    +           
    + longupdate(long x) + +
    +           
    + voidupdate(long[] x, + int num_elements) + +
    +           
    + shortupdate(short x) + +
    +           
    + voidupdate(short[] x, + int num_elements) + +
    +           
    + voidwaste(int bytes_to_waste) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverterBase
    add_to_output_string, beginBaseClass, beginClass, beginClassArrayElem, beginClassVar, check_type_info, convertMsgToRawData, convertMsgToString, convertRawDataToMsg, convertStringToMsg, endBaseClass, endClass, endClassArrayElem, endClassVar, get_decoding, get_diagnostics_mode_string_max, get_diagnostics_mode, get_length_of_unbounded, get_raw_data_size, get_token_count, get_use_string, GetMessageDictionary, getMessageFromInputStream, getVersionString, next_update_default, rewind, sendMsgToOutputStream, set_diagnostics_mode_string_max, set_diagnostics_mode, set_do_not_print_diag_overflow_err, SetBufName, SetErrorInUpdate, SetFormatConvertErrCallback, SetMessageDictionary, start_updates, throw_away_token, update_attribute_enumeration_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_attribute_with_name, update_CMS_DATE, update_CMS_TIME, update_dla_length_with_name, update_enumeration_array_with_name, update_enumeration_with_name, update_pre_check, update_unbounded_attribute_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unbounded_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update_with_name, update
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverter
    set_array_val, set_classVarArrayIndex
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +align_bytes

    +
    +public static byte[] align_bytes
    +
    +
    +
    +
    +
    + +

    +auto_align

    +
    +public static boolean auto_align
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +XDRFormatConverter

    +
    +public XDRFormatConverter()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +align

    +
    +public void align(int align_factor)
    +           throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +waste

    +
    +public void waste(int bytes_to_waste)
    +           throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +update

    +
    +public boolean update(boolean x)
    +
    +
    +
    Overrides:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public byte update(byte x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(byte[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public char update(char x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(char[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public short update(short x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(short[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public int update(int x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(int[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public long update(long x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(long[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public float update(float x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(float[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public double update(double x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(double[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/XMLFileReader.html b/doc/javadoc/rcs/nml/XMLFileReader.html new file mode 100644 index 0000000..ed801b8 --- /dev/null +++ b/doc/javadoc/rcs/nml/XMLFileReader.html @@ -0,0 +1,307 @@ + + + + + + +XMLFileReader + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class XMLFileReader

    +
    +java.lang.Object
    +  extended by rcs.nml.XMLFileReader
    +
    +
    +
    +
    public class XMLFileReader
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    XMLFileReader(NMLMessageDictionary _dict) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringconvertMsgToString(NMLmsg inMsg) + +
    +           
    + NMLmsgReadFile(java.io.File curFile) + +
    +           
    + NMLmsgReadFile(java.lang.String fileName) + +
    +           
    + voidset_add_array_indexes_to_name(boolean _add_array_indexes_to_name) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +XMLFileReader

    +
    +public XMLFileReader(NMLMessageDictionary _dict)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +set_add_array_indexes_to_name

    +
    +public void set_add_array_indexes_to_name(boolean _add_array_indexes_to_name)
    +
    +
    +
    +
    +
    +
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.lang.String fileName)
    +
    +
    +
    +
    +
    +
    + +

    +ReadFile

    +
    +public NMLmsg ReadFile(java.io.File curFile)
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToString

    +
    +public java.lang.String convertMsgToString(NMLmsg inMsg)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/XMLFileWriter.html b/doc/javadoc/rcs/nml/XMLFileWriter.html new file mode 100644 index 0000000..b535254 --- /dev/null +++ b/doc/javadoc/rcs/nml/XMLFileWriter.html @@ -0,0 +1,311 @@ + + + + + + +XMLFileWriter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class XMLFileWriter

    +
    +java.lang.Object
    +  extended by rcs.nml.XMLFileWriter
    +
    +
    +
    +
    public class XMLFileWriter
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    XMLFileWriter(NMLMessageDictionary _dict) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + NMLmsgconvertStringToMsg(java.lang.String str) + +
    +           
    + voidset_add_array_indexes_to_name(boolean _add_array_indexes_to_name) + +
    +           
    + voidWriteFile(java.io.File curFile, + NMLmsg _msg) + +
    +           
    + voidWriteFile(java.lang.String fileName, + NMLmsg _msg) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +XMLFileWriter

    +
    +public XMLFileWriter(NMLMessageDictionary _dict)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +set_add_array_indexes_to_name

    +
    +public void set_add_array_indexes_to_name(boolean _add_array_indexes_to_name)
    +
    +
    +
    +
    +
    +
    + +

    +WriteFile

    +
    +public void WriteFile(java.lang.String fileName,
    +                      NMLmsg _msg)
    +
    +
    +
    +
    +
    +
    + +

    +WriteFile

    +
    +public void WriteFile(java.io.File curFile,
    +                      NMLmsg _msg)
    +
    +
    +
    +
    +
    +
    + +

    +convertStringToMsg

    +
    +public NMLmsg convertStringToMsg(java.lang.String str)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/XMLFormatConverter.html b/doc/javadoc/rcs/nml/XMLFormatConverter.html new file mode 100644 index 0000000..7ca3ec5 --- /dev/null +++ b/doc/javadoc/rcs/nml/XMLFormatConverter.html @@ -0,0 +1,2291 @@ + + + + + + +XMLFormatConverter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class XMLFormatConverter

    +
    +java.lang.Object
    +  extended by rcs.nml.NMLFormatConverter
    +      extended by rcs.nml.NMLFormatConverterBase
    +          extended by rcs.nml.XMLFormatConverter
    +
    +
    +
    +
    public class XMLFormatConverter
    extends NMLFormatConverterBase
    + + +

    +Used internally by NML to convert messages to and from XML. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static byte[]align_bytes + +
    +           
    +static booleanauto_align + +
    +           
    +static booleandebug_on + +
    +           
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverterBase
    base_class_name, bytes_in_input_stream, bytes_in_input_stream_known, check_unsigneds, class_name, class_var_name, decoding, diagnostics_mode, diagnostics_mode_string_max, first_format_error, first_update_error_occured, hide_errors, input_stream, input_string, input_string_tokenizer, msg_dict, msg_size, next_default, nfceci, output_stream, output_string_buffer, raw_data_size, save_var_names, updating_unsigned, use_string, var_name, var_name_list
    + + + + + + + +
    Fields inherited from class rcs.nml.NMLFormatConverter
    add_array_indexes_to_name, always_update_cmd_msg, always_update_stat_msg, array_val, bufName, bytes_not_used_warning_given, classVarArrayIndex, cmd_msg_updated, error_in_update, error_in_update_string, msg_to_update, msg_type, sending_short, stat_msg_updated, tokens_not_used_warning_given, type_string
    +  + + + + + + + + + + +
    +Constructor Summary
    XMLFormatConverter() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +protected  java.lang.Stringautoname() + +
    +           
    + voidbeginBaseClass(java.lang.String name) + +
    +           
    + voidbeginClass(java.lang.String name, + java.lang.String base) + +
    +           
    + voidbeginClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    + voidbeginClassVar(java.lang.String name) + +
    +           
    + intcheck_type_info(NML_ENUM_INFO info) + +
    +           
    +protected  intconvertMsgToRawData(byte[] b, + int size, + NMLmsg msg) + +
    +           
    +protected  java.lang.StringconvertMsgToString(NMLmsg msg) + +
    +           
    + java.lang.StringconvertMsgToXML(NMLmsg msg) + +
    +           
    +protected  NMLmsgconvertRawDataToMsg(byte[] b, + int offset, + int size) + +
    +           
    + NMLmsgconvertXMLToMsg(java.lang.String xml) + +
    +           
    + voidendBaseClass(java.lang.String name) + +
    +           
    + voidendClass(java.lang.String name, + java.lang.String base) + +
    +           
    + voidendClassArrayElem(java.lang.String name, + int elemnum) + +
    +           
    + voidendClassVar(java.lang.String name) + +
    +           
    + java.lang.Stringget_attribute(java.lang.String name) + +
    +           
    + java.lang.Stringget_content(java.lang.String name) + +
    +           
    + intget_length_of_unbounded(java.lang.String typename, + java.lang.String varname, + java.lang.Object[] oarray) + +
    +           
    +static java.lang.StringlimitString(java.lang.String str, + int maxlen) + +
    +           
    + NMLmsgreadXmlFromFile(java.lang.String filename) + +
    +           
    + NMLmsgreadXmlFromURL(java.net.URL url) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + booleanupdate_attribute_with_name(java.lang.String name, + boolean x) + +
    +           
    + byteupdate_attribute_with_name(java.lang.String name, + byte x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + charupdate_attribute_with_name(java.lang.String name, + char x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    + doubleupdate_attribute_with_name(java.lang.String name, + double x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    + floatupdate_attribute_with_name(java.lang.String name, + float x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    + intupdate_attribute_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    + longupdate_attribute_with_name(java.lang.String name, + long x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    + shortupdate_attribute_with_name(java.lang.String name, + short x) + +
    +           
    + voidupdate_attribute_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    + voidupdate_CMS_DATE(CMS_DATE date) + +
    +           
    + voidupdate_CMS_TIME(CMS_TIME time) + +
    +           
    + intupdate_dla_length_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    + intupdate_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + byte[]update_unbounded_attribute_with_name(java.lang.String name, + byte[] x) + +
    +           
    + byte[]update_unbounded_with_name(java.lang.String name, + byte[] x) + +
    +           
    + double[]update_unbounded_with_name(java.lang.String name, + double[] x) + +
    +           
    + float[]update_unbounded_with_name(java.lang.String name, + float[] x) + +
    +           
    + int[]update_unbounded_with_name(java.lang.String name, + int[] x) + +
    +           
    + long[]update_unbounded_with_name(java.lang.String name, + long[] x) + +
    +           
    + short[]update_unbounded_with_name(java.lang.String name, + short[] x) + +
    +           
    + voidupdate_unsigned_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + booleanupdate_with_name(java.lang.String name, + boolean x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + boolean[] x, + int num_elements) + +
    +           
    + byteupdate_with_name(java.lang.String name, + byte x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + byte[] x, + int num_elements) + +
    +           
    + charupdate_with_name(java.lang.String name, + char x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + char[] x, + int num_elements) + +
    +           
    + doubleupdate_with_name(java.lang.String name, + double x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + double[] x, + int num_elements) + +
    +           
    + floatupdate_with_name(java.lang.String name, + float x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + float[] x, + int num_elements) + +
    +           
    + intupdate_with_name(java.lang.String name, + int x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + int[] x, + int num_elements) + +
    +           
    + longupdate_with_name(java.lang.String name, + long x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + long[] x, + int num_elements) + +
    +           
    + shortupdate_with_name(java.lang.String name, + short x) + +
    +           
    + voidupdate_with_name(java.lang.String name, + short[] x, + int num_elements) + +
    +           
    + booleanupdate(boolean x) + +
    +           
    + voidupdate(boolean[] x, + int num_elements) + +
    +           
    + byteupdate(byte x) + +
    +           
    + voidupdate(byte[] x, + int num_elements) + +
    +           
    + charupdate(char x) + +
    +           
    + voidupdate(char[] x, + int num_elements) + +
    +           
    + doubleupdate(double x) + +
    +           
    + voidupdate(double[] x, + int num_elements) + +
    +           
    + floatupdate(float x) + +
    +           
    + voidupdate(float[] x, + int num_elements) + +
    +           
    + intupdate(int x) + +
    +           
    + voidupdate(int[] x, + int num_elements) + +
    +           
    + longupdate(long x) + +
    +           
    + voidupdate(long[] x, + int num_elements) + +
    +           
    + shortupdate(short x) + +
    +           
    + voidupdate(short[] x, + int num_elements) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverterBase
    add_to_output_string, convertStringToMsg, get_decoding, get_diagnostics_mode_string_max, get_diagnostics_mode, get_raw_data_size, get_token_count, get_use_string, GetMessageDictionary, getMessageFromInputStream, getVersionString, next_update_default, rewind, sendMsgToOutputStream, set_diagnostics_mode_string_max, set_diagnostics_mode, set_do_not_print_diag_overflow_err, SetBufName, SetErrorInUpdate, SetFormatConvertErrCallback, SetMessageDictionary, start_updates, throw_away_token, update_attribute_enumeration_with_name, update_pre_check, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unbounded_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned_with_name, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned, update_unsigned
    + + + + + + + +
    Methods inherited from class rcs.nml.NMLFormatConverter
    set_array_val, set_classVarArrayIndex
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +align_bytes

    +
    +public static byte[] align_bytes
    +
    +
    +
    +
    +
    + +

    +auto_align

    +
    +public static boolean auto_align
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +XMLFormatConverter

    +
    +public XMLFormatConverter()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +convertMsgToString

    +
    +protected java.lang.String convertMsgToString(NMLmsg msg)
    +
    +
    +
    Overrides:
    convertMsgToString in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToXML

    +
    +public java.lang.String convertMsgToXML(NMLmsg msg)
    +
    +
    +
    +
    +
    +
    + +

    +readXmlFromFile

    +
    +public NMLmsg readXmlFromFile(java.lang.String filename)
    +
    +
    +
    +
    +
    +
    + +

    +readXmlFromURL

    +
    +public NMLmsg readXmlFromURL(java.net.URL url)
    +
    +
    +
    +
    +
    +
    + +

    +limitString

    +
    +public static java.lang.String limitString(java.lang.String str,
    +                                           int maxlen)
    +
    +
    +
    +
    +
    +
    + +

    +convertRawDataToMsg

    +
    +protected NMLmsg convertRawDataToMsg(byte[] b,
    +                                     int offset,
    +                                     int size)
    +
    +
    +
    Overrides:
    convertRawDataToMsg in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +convertMsgToRawData

    +
    +protected int convertMsgToRawData(byte[] b,
    +                                  int size,
    +                                  NMLmsg msg)
    +
    +
    +
    Overrides:
    convertMsgToRawData in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +convertXMLToMsg

    +
    +public NMLmsg convertXMLToMsg(java.lang.String xml)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class NMLFormatConverter
    +
    +
    +
    +
    +
    +
    + +

    +autoname

    +
    +protected java.lang.String autoname()
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public boolean update(boolean x)
    +
    +
    +
    Overrides:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(boolean[] x,
    +                   int num_elements)
    +
    +
    +
    Overrides:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public byte update(byte x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(byte[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public char update(char x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(char[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public short update(short x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(short[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public int update(int x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(int[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public long update(long x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(long[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public float update(float x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(float[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public double update(double x)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(double[] x,
    +                   int num_elements)
    +
    +
    +
    Specified by:
    update in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +get_content

    +
    +public java.lang.String get_content(java.lang.String name)
    +                             throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +get_attribute

    +
    +public java.lang.String get_attribute(java.lang.String name)
    +                               throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +update_with_name

    +
    +public boolean update_with_name(java.lang.String name,
    +                                boolean x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public byte update_with_name(java.lang.String name,
    +                             byte x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public char update_with_name(java.lang.String name,
    +                             char x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public short update_with_name(java.lang.String name,
    +                              short x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public int update_with_name(java.lang.String name,
    +                            int x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public long update_with_name(java.lang.String name,
    +                             long x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public float update_with_name(java.lang.String name,
    +                              float x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public double update_with_name(java.lang.String name,
    +                               double x)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             byte[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             boolean[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unsigned_with_name

    +
    +public void update_unsigned_with_name(java.lang.String name,
    +                                      byte[] x,
    +                                      int num_elements)
    +
    +
    +
    Overrides:
    update_unsigned_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             char[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             short[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             int[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             long[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             float[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_with_name

    +
    +public void update_with_name(java.lang.String name,
    +                             double[] x,
    +                             int num_elements)
    +
    +
    +
    Overrides:
    update_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +check_type_info

    +
    +public int check_type_info(NML_ENUM_INFO info)
    +
    +
    +
    Overrides:
    check_type_info in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +beginBaseClass

    +
    +public void beginBaseClass(java.lang.String name)
    +
    +
    +
    Overrides:
    beginBaseClass in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +endBaseClass

    +
    +public void endBaseClass(java.lang.String name)
    +
    +
    +
    Overrides:
    endBaseClass in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +beginClass

    +
    +public void beginClass(java.lang.String name,
    +                       java.lang.String base)
    +
    +
    +
    Overrides:
    beginClass in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +endClass

    +
    +public void endClass(java.lang.String name,
    +                     java.lang.String base)
    +
    +
    +
    Overrides:
    endClass in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +beginClassVar

    +
    +public void beginClassVar(java.lang.String name)
    +
    +
    +
    Overrides:
    beginClassVar in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +endClassVar

    +
    +public void endClassVar(java.lang.String name)
    +
    +
    +
    Overrides:
    endClassVar in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +beginClassArrayElem

    +
    +public void beginClassArrayElem(java.lang.String name,
    +                                int elemnum)
    +
    +
    +
    Overrides:
    beginClassArrayElem in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +endClassArrayElem

    +
    +public void endClassArrayElem(java.lang.String name,
    +                              int elemnum)
    +
    +
    +
    Overrides:
    endClassArrayElem in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_with_name

    +
    +public int update_enumeration_with_name(java.lang.String name,
    +                                        int enumin,
    +                                        NML_ENUM_INFO info)
    +
    +
    +
    Overrides:
    update_enumeration_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_enumeration_array_with_name

    +
    +public void update_enumeration_array_with_name(java.lang.String name,
    +                                               int[] enumin,
    +                                               int num_elements,
    +                                               NML_ENUM_INFO info)
    +
    +
    +
    Overrides:
    update_enumeration_array_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       byte[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       char[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       short[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       int[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       long[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       float[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public void update_attribute_with_name(java.lang.String name,
    +                                       double[] x,
    +                                       int num_elements)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public boolean update_attribute_with_name(java.lang.String name,
    +                                          boolean x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public byte update_attribute_with_name(java.lang.String name,
    +                                       byte x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public char update_attribute_with_name(java.lang.String name,
    +                                       char x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public short update_attribute_with_name(java.lang.String name,
    +                                        short x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public int update_attribute_with_name(java.lang.String name,
    +                                      int x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public long update_attribute_with_name(java.lang.String name,
    +                                       long x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public float update_attribute_with_name(java.lang.String name,
    +                                        float x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_attribute_with_name

    +
    +public double update_attribute_with_name(java.lang.String name,
    +                                         double x)
    +
    +
    +
    Overrides:
    update_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_dla_length_with_name

    +
    +public int update_dla_length_with_name(java.lang.String name,
    +                                       int x)
    +
    +
    +
    Overrides:
    update_dla_length_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +get_length_of_unbounded

    +
    +public int get_length_of_unbounded(java.lang.String typename,
    +                                   java.lang.String varname,
    +                                   java.lang.Object[] oarray)
    +
    +
    +
    Overrides:
    get_length_of_unbounded in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_attribute_with_name

    +
    +public byte[] update_unbounded_attribute_with_name(java.lang.String name,
    +                                                   byte[] x)
    +
    +
    +
    Overrides:
    update_unbounded_attribute_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public byte[] update_unbounded_with_name(java.lang.String name,
    +                                         byte[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public short[] update_unbounded_with_name(java.lang.String name,
    +                                          short[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public int[] update_unbounded_with_name(java.lang.String name,
    +                                        int[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public long[] update_unbounded_with_name(java.lang.String name,
    +                                         long[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public float[] update_unbounded_with_name(java.lang.String name,
    +                                          float[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_unbounded_with_name

    +
    +public double[] update_unbounded_with_name(java.lang.String name,
    +                                           double[] x)
    +
    +
    +
    Overrides:
    update_unbounded_with_name in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_TIME

    +
    +public void update_CMS_TIME(CMS_TIME time)
    +
    +
    +
    Overrides:
    update_CMS_TIME in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    +
    + +

    +update_CMS_DATE

    +
    +public void update_CMS_DATE(CMS_DATE date)
    +
    +
    +
    Overrides:
    update_CMS_DATE in class NMLFormatConverterBase
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/CMS_DATE.html b/doc/javadoc/rcs/nml/class-use/CMS_DATE.html new file mode 100644 index 0000000..d986cdc --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/CMS_DATE.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class rcs.nml.CMS_DATE + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.CMS_DATE

    +
    + + + + + + + + + +
    +Packages that use CMS_DATE
    rcs.nml  
    +  +

    + + + + + +
    +Uses of CMS_DATE in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type CMS_DATE
    +abstract  voidNMLFormatConverter.update_CMS_DATE(CMS_DATE date) + +
    +           
    + voidNMLFormatConverterBase.update_CMS_DATE(CMS_DATE date) + +
    +           
    + voidXMLFormatConverter.update_CMS_DATE(CMS_DATE date) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/CMS_TIME.html b/doc/javadoc/rcs/nml/class-use/CMS_TIME.html new file mode 100644 index 0000000..1fb566c --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/CMS_TIME.html @@ -0,0 +1,95 @@ + + + + + + + +Uses of Class rcs.nml.CMS_TIME + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.CMS_TIME

    +
    + + + + + + + + + +
    +Packages that use CMS_TIME
    rcs.nml  
    +  +

    + + + + + +
    +Uses of CMS_TIME in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type CMS_TIME
    +abstract  voidNMLFormatConverter.update_CMS_TIME(CMS_TIME time) + +
    +           
    + voidNMLFormatConverterBase.update_CMS_TIME(CMS_TIME time) + +
    +           
    + voidXMLFormatConverter.update_CMS_TIME(CMS_TIME time) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/LogTimeEntry.html b/doc/javadoc/rcs/nml/class-use/LogTimeEntry.html new file mode 100644 index 0000000..5603002 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/LogTimeEntry.html @@ -0,0 +1,85 @@ + + + + + + + +Uses of Class rcs.nml.LogTimeEntry + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.LogTimeEntry

    +
    + + + + + + + + + +
    +Packages that use LogTimeEntry
    rcs.nml  
    +  +

    + + + + + +
    +Uses of LogTimeEntry in rcs.nml
    +  +

    + + + + + + + + + +
    Methods in rcs.nml that return types with arguments of type LogTimeEntry
    + java.util.List<LogTimeEntry>PackedFileReader.createLogTimeEntryList(java.io.File combinedFile, + java.io.File indexFile, + boolean indexIsLittleEndian, + int maxlen, + MsgToTimeStamp mtts) + +
    +          Create a list to use as an index into a large ".COMBINED" file with + multiple messages in it using the ".index" file created by the logRecorder + at the same time
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/MsgToTimeStamp.html b/doc/javadoc/rcs/nml/class-use/MsgToTimeStamp.html new file mode 100644 index 0000000..fbaa607 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/MsgToTimeStamp.html @@ -0,0 +1,85 @@ + + + + + + + +Uses of Interface rcs.nml.MsgToTimeStamp + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.MsgToTimeStamp

    +
    + + + + + + + + + +
    +Packages that use MsgToTimeStamp
    rcs.nml  
    +  +

    + + + + + +
    +Uses of MsgToTimeStamp in rcs.nml
    +  +

    + + + + + + + + + +
    Methods in rcs.nml with parameters of type MsgToTimeStamp
    + java.util.List<LogTimeEntry>PackedFileReader.createLogTimeEntryList(java.io.File combinedFile, + java.io.File indexFile, + boolean indexIsLittleEndian, + int maxlen, + MsgToTimeStamp mtts) + +
    +          Create a list to use as an index into a large ".COMBINED" file with + multiple messages in it using the ".index" file created by the logRecorder + at the same time
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLBufferConfigInfo.html b/doc/javadoc/rcs/nml/class-use/NMLBufferConfigInfo.html new file mode 100644 index 0000000..ee44d0f --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLBufferConfigInfo.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.NMLBufferConfigInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLBufferConfigInfo

    +
    +No usage of rcs.nml.NMLBufferConfigInfo +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLConfigInfo.html b/doc/javadoc/rcs/nml/class-use/NMLConfigInfo.html new file mode 100644 index 0000000..8e39c15 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLConfigInfo.html @@ -0,0 +1,87 @@ + + + + + + + +Uses of Class rcs.nml.NMLConfigInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLConfigInfo

    +
    + + + + + + + + + +
    +Packages that use NMLConfigInfo
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLConfigInfo in rcs.nml
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.nml that return NMLConfigInfo
    +static NMLConfigInfoNMLConnection.GetAllConfigInfoFromServer(java.lang.String server) + +
    +           
    +static NMLConfigInfoNMLConnection.GetConfigInfo(java.lang.String configuration_file) + +
    +          Parse or return configution info from a previously parsed NML configuration file.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLConnection.html b/doc/javadoc/rcs/nml/class-use/NMLConnection.html new file mode 100644 index 0000000..df426e1 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLConnection.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.NMLConnection + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLConnection

    +
    +No usage of rcs.nml.NMLConnection +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLConnectionCreator.html b/doc/javadoc/rcs/nml/class-use/NMLConnectionCreator.html new file mode 100644 index 0000000..d3a00dc --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLConnectionCreator.html @@ -0,0 +1,80 @@ + + + + + + + +Uses of Class rcs.nml.NMLConnectionCreator + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLConnectionCreator

    +
    + + + + + + + + + +
    +Packages that use NMLConnectionCreator
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLConnectionCreator in rcs.nml
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as NMLConnectionCreator
    +static NMLConnectionCreatorNMLConnection.Creator + +
    +          Creator singleton used to avoid circular dependancies in old + diagapplet/codegen/rcs design code.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLConnectionCreatorInterface.html b/doc/javadoc/rcs/nml/class-use/NMLConnectionCreatorInterface.html new file mode 100644 index 0000000..490c445 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLConnectionCreatorInterface.html @@ -0,0 +1,171 @@ + + + + + + + +Uses of Interface rcs.nml.NMLConnectionCreatorInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.NMLConnectionCreatorInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use NMLConnectionCreatorInterface
    diagapplet.CodeGen  
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLConnectionCreatorInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return NMLConnectionCreatorInterface
    + NMLConnectionCreatorInterfaceCodeGenCommon.get_nml_creator() + +
    +           
    + NMLConnectionCreatorInterfaceCodeGenCommonInterface.get_nml_creator() + +
    +          Get the nml_creator property.
    + NMLConnectionCreatorInterfaceModuleInfo.get_nml_creator() + +
    +           
    + NMLConnectionCreatorInterfaceModuleInfoInterface.get_nml_creator() + +
    +          Get the NMLConnectionCreator associated with this module.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type NMLConnectionCreatorInterface
    + voidCodeGenCommon.set_nml_creator(NMLConnectionCreatorInterface _nml_creator) + +
    +           
    + voidCodeGenCommonInterface.set_nml_creator(NMLConnectionCreatorInterface _nml_creator) + +
    +          Set the nml_creator property.
    +  +

    + + + + + + + + +
    Constructors in diagapplet.CodeGen with parameters of type NMLConnectionCreatorInterface
    ModuleInfo(DiagNMLMsgDictCreatorInterface diag_dict_creator_param, + NMLConnectionCreatorInterface nml_creator_param) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLConnectionCreatorInterface in rcs.nml
    +  +

    + + + + + + + + + +
    Classes in rcs.nml that implement NMLConnectionCreatorInterface
    + classNMLConnectionCreator + +
    +          Creates NMLConnections.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLConnectionInterface.html b/doc/javadoc/rcs/nml/class-use/NMLConnectionInterface.html new file mode 100644 index 0000000..a37fc9b --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLConnectionInterface.html @@ -0,0 +1,243 @@ + + + + + + + +Uses of Interface rcs.nml.NMLConnectionInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.NMLConnectionInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use NMLConnectionInterface
    diagapplet.CodeGen  
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLConnectionInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields in diagapplet.CodeGen declared as NMLConnectionInterface
    + NMLConnectionInterfaceModuleInfo.m_cmd_read_Connection + +
    +           
    + NMLConnectionInterfaceModuleInfo.m_cmd_write_Connection + +
    +           
    + NMLConnectionInterfaceModuleInfo.m_stat_read_Connection + +
    +           
    + NMLConnectionInterfaceModuleInfo.m_stat_write_Connection + +
    +           
    + NMLConnectionInterfaceBufferInfo.read_nml + +
    +          Connection used by Diagnostics tool for reading from this buffer.
    + NMLConnectionInterfaceBufferInfo.write_nml + +
    +          Connection used by Diagnostics tool for writing to this buffer.
    +  +

    + + + + + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return NMLConnectionInterface
    + NMLConnectionInterfaceBufferInfo.createExtraChannel() + +
    +          Create an extra channel cloning the options in the read channel.
    + NMLConnectionInterfaceModuleInfo.createExtraCommandChannel() + +
    +           
    + NMLConnectionInterfaceModuleInfo.createExtraStatusChannel() + +
    +           
    +  +

    + + + + + +
    +Uses of NMLConnectionInterface in rcs.nml
    +  +

    + + + + + + + + + +
    Classes in rcs.nml that implement NMLConnectionInterface
    + classNMLConnection + +
    +          Class for connecting to NML buffers, ussually via network sockets.
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as NMLConnectionInterface
    + NMLConnectionInterfaceNMLException.nci + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.nml that return NMLConnectionInterface
    + NMLConnectionInterfaceNMLConnectionCreator.NewNMLConnection() + +
    +           
    + NMLConnectionInterfaceNMLConnectionCreatorInterface.NewNMLConnection() + +
    +          Create a new NMLConnnection.
    +  +

    + + + + + + + + + + + +
    Constructors in rcs.nml with parameters of type NMLConnectionInterface
    NMLException(java.lang.String _message, + NMLConnectionInterface _nci) + +
    +           
    NMLException(java.lang.String _message, + NMLConnectionInterface _nci, + java.lang.Exception _internal_exception) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLErrorAppender.html b/doc/javadoc/rcs/nml/class-use/NMLErrorAppender.html new file mode 100644 index 0000000..1313e19 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLErrorAppender.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Interface rcs.nml.NMLErrorAppender + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.NMLErrorAppender

    +
    + + + + + + + + + +
    +Packages that use NMLErrorAppender
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLErrorAppender in rcs.nml
    +  +

    + + + + + + + + + +
    Methods in rcs.nml with parameters of type NMLErrorAppender
    +static voidNMLConnection.AddNMLErrorAppender(NMLErrorAppender nea) + +
    +          Add an opject to be called with each error to append messages.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLException.html b/doc/javadoc/rcs/nml/class-use/NMLException.html new file mode 100644 index 0000000..3aac3ee --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLException.html @@ -0,0 +1,400 @@ + + + + + + + +Uses of Class rcs.nml.NMLException + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLException

    +
    + + + + + + + + + + + + + +
    +Packages that use NMLException
    diagapplet.CodeGen  
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLException in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen that throw NMLException
    + intBufferInfo.writeDataString(java.lang.String s) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLException in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml that throw NMLException
    + intNMLConnection.connect() + +
    +          Connect or reconnect to the sockets as appropriate.
    + intNMLConnection.get_msg_count() + +
    +           
    + intNMLConnection.get_msg_type() + +
    +           
    + NMLFormatConverterNMLConnection.GetFormatConverter() + +
    +          This functions gets the NMLFormatConverter for this connection.
    + NMLMessageDictionaryNMLConnection.GetMessageDictionary() + +
    +          This functions gets the NMLMessageDictionary for this connection.
    + booleanNMLConnection.login(java.lang.String name, + java.lang.String passwd) + +
    +          This function allows the application to gain access to + NML servers with security enabled.
    +protected  booleanNMLConnection.loginTCP(java.lang.String name, + java.lang.String passwd) + +
    +           
    + voidNMLConnection.ParseAdditionalOptions(java.lang.String[] _additional_options) + +
    +           
    +protected  voidNMLConnection.peek_raw_data() + +
    +           
    + NMLmsgNMLConnection.peek() + +
    +          Read an NMLmsg but do not change the was_read flag.
    + java.lang.StringNMLConnection.peekDataString() + +
    +          Reads an NMLmsg using peek() and converts it to a String.
    +protected  java.lang.StringNMLConnection.peekSTCPDataString() + +
    +           
    +protected  voidNMLConnection.peekTCP_raw_data() + +
    +           
    +protected  NMLmsgNMLConnection.peekTCP() + +
    +           
    +protected  voidNMLConnection.peekUDP_raw_data() + +
    +           
    +protected  NMLmsgNMLConnection.peekUDP() + +
    +           
    + java.lang.StringNMLConnection.read_errlog_string() + +
    +           
    + java.lang.StringNMLConnectionInterface.read_errlog_string() + +
    +           
    +protected  voidNMLConnection.read_raw_data() + +
    +           
    + NMLmsgNMLConnection.read() + +
    +          Read a NMLmsg.
    + java.lang.StringNMLConnection.readDataString() + +
    +          Reads an NMLmsg and converts it to a String.
    + voidNMLConnection.ReadNMLConfigurationFile() + +
    +          Rereadn the NML Configuration file.
    + voidNMLConnection.ReadNMLConfigurationFile(java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile) + +
    +          This function reads configuration information from the NML configuration file.
    +protected  java.lang.StringNMLConnection.readSTCPDataString() + +
    +           
    +protected  voidNMLConnection.readTCP_raw_data() + +
    +           
    +protected  NMLmsgNMLConnection.readTCP() + +
    +           
    +protected  voidNMLConnection.readUDP_raw_data() + +
    +           
    +protected  NMLmsgNMLConnection.readUDP() + +
    +           
    + voidNMLConnection.SetFormatConverter(NMLFormatConverter new_fc) + +
    +          This functions sets the NMLFormatConverter for this connection.
    +protected  booleanNMLConnection.verify_bufnameTCP() + +
    +           
    + intNMLConnection.write(NMLmsg msg) + +
    +          Writes an NMLmsg.
    + intNMLConnection.writeDataString(java.lang.String dataString) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    + intNMLConnectionInterface.writeDataString(java.lang.String s) + +
    +          Convert the string into an NMLmsg and send it to this channel.
    +  +

    + + + + + + + + + + + +
    Constructors in rcs.nml that throw NMLException
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile, + java.lang.String[] _additional_options) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLFormatConvertErrCallbackInterface.html b/doc/javadoc/rcs/nml/class-use/NMLFormatConvertErrCallbackInterface.html new file mode 100644 index 0000000..a096522 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLFormatConvertErrCallbackInterface.html @@ -0,0 +1,158 @@ + + + + + + + +Uses of Interface rcs.nml.NMLFormatConvertErrCallbackInterface + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.NMLFormatConvertErrCallbackInterface

    +
    + + + + + + + + + + + + + +
    +Packages that use NMLFormatConvertErrCallbackInterface
    diagapplet.CodeGen  
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLFormatConvertErrCallbackInterface in diagapplet.CodeGen
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return NMLFormatConvertErrCallbackInterface
    +static NMLFormatConvertErrCallbackInterfaceBufferInfo.get_nml_format_err_callback() + +
    +           
    +static NMLFormatConvertErrCallbackInterfaceModuleInfo.get_nml_format_err_callback() + +
    +           
    +  +

    + + + + + +
    +Uses of NMLFormatConvertErrCallbackInterface in rcs.nml
    +  +

    + + + + + + + + + + + + + +
    Fields in rcs.nml declared as NMLFormatConvertErrCallbackInterface
    +protected  NMLFormatConvertErrCallbackInterfaceNMLConnection.nfceci + +
    +           
    +protected  NMLFormatConvertErrCallbackInterfaceNMLFormatConverterBase.nfceci + +
    +          True when the data from the network is being converted into a message in + this hosts format, false when a message on this host is being converted to + a neutral format.
    +  +

    + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type NMLFormatConvertErrCallbackInterface
    + voidNMLConnection.SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +          Set an interface that will have its member functions called for various errors.
    + voidNMLConnectionInterface.SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +          Set an interface that will have its member functions called for various errors.
    + voidNMLFormatConverterBase.SetFormatConvertErrCallback(NMLFormatConvertErrCallbackInterface new_nfceci) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLFormatConverter.html b/doc/javadoc/rcs/nml/class-use/NMLFormatConverter.html new file mode 100644 index 0000000..58cb568 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLFormatConverter.html @@ -0,0 +1,519 @@ + + + + + + + +Uses of Class rcs.nml.NMLFormatConverter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLFormatConverter

    +
    + + + + + + + + + + + + + + + + + +
    +Packages that use NMLFormatConverter
    diagapplet.CodeGen  
    rcs.nml  
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of NMLFormatConverter in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Methods in diagapplet.CodeGen with parameters of type NMLFormatConverter
    + intDiagNMLMsgDict.formatMsg(NMLFormatConverter NMLfc) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLFormatConverter in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Subclasses of NMLFormatConverter in rcs.nml
    + classNMLFormatConverterBase + +
    +          This class is the base class for all classes used by NML to convert + local data types to some neutral format usable by many different types of + hosts.
    + classPackedFormatConverter + +
    +          The PackedFormatConverter converts NML message classes to Packed.
    + classXDRFormatConverter + +
    +          The XDRFormatConverter converts NML message classes to XDR.
    + classXMLFormatConverter + +
    +          Used internally by NML to convert messages to and from XML.
    +  +

    + + + + + + + + + +
    Methods in rcs.nml that return NMLFormatConverter
    + NMLFormatConverterNMLConnection.GetFormatConverter() + +
    +          This functions gets the NMLFormatConverter for this connection.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type NMLFormatConverter
    + intNMLMessageDictionary.formatMsg(NMLFormatConverter NMLfc) + +
    +          This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function.
    + interrlogMsgDict.formatMsg(NMLFormatConverter nml_fc) + +
    +           
    + voidNMLConnection.SetFormatConverter(NMLFormatConverter new_fc) + +
    +          This functions sets the NMLFormatConverter for this connection.
    + voidCMS_DATE.update_for_non_xml(NMLFormatConverter nml_fc) + +
    +           
    + voidCMS_TIME.update_for_non_xml(NMLFormatConverter nml_fc) + +
    +           
    + voidCMS_DATE.update(NMLFormatConverter nml_fc) + +
    +           
    + voidCMS_TIME.update(NMLFormatConverter nml_fc) + +
    +           
    + voidNML_DISPLAY.update(NMLFormatConverter nml_fc) + +
    +           
    + voidNML_ERROR.update(NMLFormatConverter nml_fc) + +
    +           
    + voidNML_TEXT.update(NMLFormatConverter nml_fc) + +
    +           
    + voidNMLmsg.update(NMLFormatConverter nml_fc) + +
    +          This function should be overloaded to provide a function + that will convert this message to a nuetral format that can + be used, by many different types of hosts.
    + voidRCS_CMD_MSG.update(NMLFormatConverter nml_fc) + +
    +           
    + voidRCS_STAT_MSG.update(NMLFormatConverter nml_fc) + +
    +          update function for the RCS_STAT_MSG members.
    + voidRCS_STAT_MSG_V2.update(NMLFormatConverter nml_fc) + +
    +           
    + voidtime_tracker.update(NMLFormatConverter nml_fc) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLFormatConverter in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type NMLFormatConverter
    + voidPM_CARTESIAN.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_CIRCLE.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_CYLINDRICAL.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_EULER_ZYX.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_EULER_ZYZ.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_HOMOGENEOUS.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_LINE.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_POSE.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_QUATERNION.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_ROTATION_MATRIX.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_ROTATION_VECTOR.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_RPY.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_SPHERICAL.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPM_XYA.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmCartesian.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmCircle.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmCylindrical.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmEulerZyx.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmEulerZyz.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmHomogeneous.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmLine.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmPose.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmQuaternion.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmRotationMatrix.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmRotationVector.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmRpy.update(NMLFormatConverter nml_fc) + +
    +           
    + voidPmSpherical.update(NMLFormatConverter nml_fc) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLFormatConverterBase.html b/doc/javadoc/rcs/nml/class-use/NMLFormatConverterBase.html new file mode 100644 index 0000000..b2554e1 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLFormatConverterBase.html @@ -0,0 +1,111 @@ + + + + + + + +Uses of Class rcs.nml.NMLFormatConverterBase + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLFormatConverterBase

    +
    + + + + + + + + + +
    +Packages that use NMLFormatConverterBase
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLFormatConverterBase in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + +
    Subclasses of NMLFormatConverterBase in rcs.nml
    + classPackedFormatConverter + +
    +          The PackedFormatConverter converts NML message classes to Packed.
    + classXDRFormatConverter + +
    +          The XDRFormatConverter converts NML message classes to XDR.
    + classXMLFormatConverter + +
    +          Used internally by NML to convert messages to and from XML.
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as NMLFormatConverterBase
    +protected  NMLFormatConverterBaseNMLConnection.format_converter + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLMessageDictionary.html b/doc/javadoc/rcs/nml/class-use/NMLMessageDictionary.html new file mode 100644 index 0000000..63f311a --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLMessageDictionary.html @@ -0,0 +1,384 @@ + + + + + + + +Uses of Interface rcs.nml.NMLMessageDictionary + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Interface
    rcs.nml.NMLMessageDictionary

    +
    + + + + + + + + + + + + + + + + + + + + + +
    +Packages that use NMLMessageDictionary
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLMessageDictionary in diagapplet
    +  +

    + + + + + + + + + +
    Methods in diagapplet with parameters of type NMLMessageDictionary
    + voidMessageFileJFrame.setNmlMessageDictionary(NMLMessageDictionary _nml_dict) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLMessageDictionary in diagapplet.CodeGen
    +  +

    + + + + + + + + + +
    Subinterfaces of NMLMessageDictionary in diagapplet.CodeGen
    + interfaceDiagNMLMsgDictInterface + +
    +          NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    +  +

    + + + + + + + + + +
    Classes in diagapplet.CodeGen that implement NMLMessageDictionary
    + classDiagNMLMsgDict + +
    +          * NMLMessageDictionaries allow the marshalling and unmarshalling of NML messages.
    +  +

    + + + + + + + + + + + + + +
    Methods in diagapplet.CodeGen that return NMLMessageDictionary
    + NMLMessageDictionaryModuleInfo.get_cmd_msg_dict() + +
    +           
    + NMLMessageDictionaryModuleInfo.get_stat_msg_dict() + +
    +           
    +  +

    + + + + + +
    +Uses of NMLMessageDictionary in diagapplet.utils
    +  +

    + + + + + + + + + +
    Methods in diagapplet.utils with parameters of type NMLMessageDictionary
    + voidWatchJPanel.setNmlMessageDictionary(NMLMessageDictionary _nml_dict) + +
    +           
    +  +

    + + + + + +
    +Uses of NMLMessageDictionary in rcs.nml
    +  +

    + + + + + + + + + +
    Classes in rcs.nml that implement NMLMessageDictionary
    + classerrlogMsgDict + +
    +          Implements an NML message dictionary for a set of messages + usually used for logging errors and/or communication + with a generic operator interface.
    +  +

    + + + + + + + + + + + + + +
    Fields in rcs.nml declared as NMLMessageDictionary
    +protected  NMLMessageDictionaryNMLConnection.message_dictionary + +
    +           
    +protected  NMLMessageDictionaryNMLFormatConverterBase.msg_dict + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.nml that return NMLMessageDictionary
    + NMLMessageDictionaryNMLConnection.GetMessageDictionary() + +
    +          This functions gets the NMLMessageDictionary for this connection.
    + NMLMessageDictionaryNMLFormatConverterBase.GetMessageDictionary() + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type NMLMessageDictionary
    + voidNMLFormatConvertErrCallbackInterface.bytesNotUsed(NMLMessageDictionary nmd, + int bytes_in_input_stream, + java.lang.String bufName, + boolean warn_given) + +
    +           
    + voidNMLFormatConvertErrCallbackInterface.miscError(NMLMessageDictionary nmd) + +
    +           
    + voidNMLFormatConvertErrCallbackInterface.miscError(NMLMessageDictionary nmd, + java.lang.Exception e) + +
    +           
    + voidNMLConnection.SetMessageDictionary(NMLMessageDictionary new_dict) + +
    +          This functions sets the NMLMessageDictionary for this connection.
    + voidNMLConnectionInterface.SetMessageDictionary(NMLMessageDictionary new_dict) + +
    +          Set the message dictionary.
    + voidNMLFormatConverterBase.SetMessageDictionary(NMLMessageDictionary new_dict) + +
    +           
    + voidNMLFormatConvertErrCallbackInterface.tokensNotUsed(NMLMessageDictionary nmd, + int num_tokens, + java.lang.String input_string, + boolean warn_given) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + +
    Constructors in rcs.nml with parameters of type NMLMessageDictionary
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    NMLConnection(NMLMessageDictionary msg_dict, + java.lang.String BufferName, + java.lang.String ProcessName, + java.lang.String ConfigurationFile, + java.lang.String[] _additional_options) + +
    +          This constuctor creates a fully functional NML Connection + using the application defined NMLMessageDictionary, read + the NML configuration file, and connects immediately.
    PackedFileReader(NMLMessageDictionary _dict, + boolean _l64_mode) + +
    +          Create a PackedFileReader for reading log files of a given set of types.
    PackedFileWriter(NMLMessageDictionary _dict, + boolean _l64_mode) + +
    +           
    XMLFileReader(NMLMessageDictionary _dict) + +
    +           
    XMLFileWriter(NMLMessageDictionary _dict) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLSingleVarLog.html b/doc/javadoc/rcs/nml/class-use/NMLSingleVarLog.html new file mode 100644 index 0000000..d4cdedd --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLSingleVarLog.html @@ -0,0 +1,89 @@ + + + + + + + +Uses of Class rcs.nml.NMLSingleVarLog + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLSingleVarLog

    +
    + + + + + + + + + +
    +Packages that use NMLSingleVarLog
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLSingleVarLog in rcs.nml
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.nml that return NMLSingleVarLog
    + NMLSingleVarLogNMLConnection.getSingleVarLog(int var_log_number) + +
    +          Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog()
    + NMLSingleVarLogNMLConnectionInterface.getSingleVarLog(int var_log_number) + +
    +          Get a NMLSingleVaLog object associated with the var_log_number that should have been + returned by setupSingleVarLog()
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLSingleVarLogItem.html b/doc/javadoc/rcs/nml/class-use/NMLSingleVarLogItem.html new file mode 100644 index 0000000..41a8b46 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLSingleVarLogItem.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcs.nml.NMLSingleVarLogItem + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLSingleVarLogItem

    +
    + + + + + + + + + +
    +Packages that use NMLSingleVarLogItem
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLSingleVarLogItem in rcs.nml
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as NMLSingleVarLogItem
    + NMLSingleVarLogItem[]NMLSingleVarLog.items_list + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NML_DISPLAY.html b/doc/javadoc/rcs/nml/class-use/NML_DISPLAY.html new file mode 100644 index 0000000..5deb651 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NML_DISPLAY.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.NML_DISPLAY + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NML_DISPLAY

    +
    +No usage of rcs.nml.NML_DISPLAY +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NML_ENUM_INFO.html b/doc/javadoc/rcs/nml/class-use/NML_ENUM_INFO.html new file mode 100644 index 0000000..52a7155 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NML_ENUM_INFO.html @@ -0,0 +1,202 @@ + + + + + + + +Uses of Class rcs.nml.NML_ENUM_INFO + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NML_ENUM_INFO

    +
    + + + + + + + + + +
    +Packages that use NML_ENUM_INFO
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NML_ENUM_INFO in rcs.nml
    +  +

    + + + + + + + + + + + + + +
    Fields in rcs.nml declared as NML_ENUM_INFO
    +static NML_ENUM_INFORCS_STAT_MSG_V2.nml_enum_info_for_RCS_ADMIN_STATE + +
    +           
    +static NML_ENUM_INFORCS_STAT_MSG.nml_enum_info_for_RCS_STATUS + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type NML_ENUM_INFO
    +abstract  intNMLFormatConverter.check_type_info(NML_ENUM_INFO info) + +
    +           
    + intNMLFormatConverterBase.check_type_info(NML_ENUM_INFO info) + +
    +           
    + intXMLFormatConverter.check_type_info(NML_ENUM_INFO info) + +
    +           
    +abstract  intNMLFormatConverter.update_attribute_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + intNMLFormatConverterBase.update_attribute_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    +abstract  voidNMLFormatConverter.update_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    + voidNMLFormatConverterBase.update_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    + voidXMLFormatConverter.update_enumeration_array_with_name(java.lang.String name, + int[] enumin, + int num_elements, + NML_ENUM_INFO info) + +
    +           
    +abstract  intNMLFormatConverter.update_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + intNMLFormatConverterBase.update_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    + intXMLFormatConverter.update_enumeration_with_name(java.lang.String name, + int enumin, + NML_ENUM_INFO info) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NML_ERROR.html b/doc/javadoc/rcs/nml/class-use/NML_ERROR.html new file mode 100644 index 0000000..cd4a4c6 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NML_ERROR.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.NML_ERROR + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NML_ERROR

    +
    +No usage of rcs.nml.NML_ERROR +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NML_TEXT.html b/doc/javadoc/rcs/nml/class-use/NML_TEXT.html new file mode 100644 index 0000000..9ebee5e --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NML_TEXT.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.NML_TEXT + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NML_TEXT

    +
    +No usage of rcs.nml.NML_TEXT +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/NMLmsg.html b/doc/javadoc/rcs/nml/class-use/NMLmsg.html new file mode 100644 index 0000000..6181462 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/NMLmsg.html @@ -0,0 +1,502 @@ + + + + + + + +Uses of Class rcs.nml.NMLmsg + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.NMLmsg

    +
    + + + + + + + + + +
    +Packages that use NMLmsg
    rcs.nml  
    +  +

    + + + + + +
    +Uses of NMLmsg in rcs.nml
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Subclasses of NMLmsg in rcs.nml
    + classNML_DISPLAY + +
    +          Class used to send an operator interface a small text message to display.
    + classNML_ERROR + +
    +          Generic class used to send an operator inteface as small text error message.
    + classNML_TEXT + +
    +          Class used to send an operator interface a small text message to display.
    + classRCS_CMD_MSG + +
    +          Base class for NML command messages.
    + classRCS_STAT_MSG + +
    +          Base class for NML status messages.
    + classRCS_STAT_MSG_V2 + +
    +          A second version of the RCS_STAT_MSG used for base messages of RCS status + perhaps considered for use in moast.
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as NMLmsg
    +protected  NMLmsgNMLConnection.last_msg_read + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml that return NMLmsg
    + NMLmsgNMLmsg.clone() + +
    +           
    +protected  NMLmsgNMLFormatConverterBase.convertRawDataToMsg(byte[] b, + int offset, + int size) + +
    +           
    +protected  NMLmsgXMLFormatConverter.convertRawDataToMsg(byte[] b, + int offset, + int size) + +
    +           
    +protected  NMLmsgNMLFormatConverterBase.convertStringToMsg(java.lang.String str) + +
    +           
    + NMLmsgPackedFileWriter.convertStringToMsg(java.lang.String str) + +
    +           
    + NMLmsgXMLFileWriter.convertStringToMsg(java.lang.String str) + +
    +           
    + NMLmsgXMLFormatConverter.convertXMLToMsg(java.lang.String xml) + +
    +           
    +protected  NMLmsgNMLFormatConverterBase.getMessageFromInputStream(java.io.DataInputStream dis) + +
    +           
    + NMLmsgNMLConnection.peek() + +
    +          Read an NMLmsg but do not change the was_read flag.
    +protected  NMLmsgNMLConnection.peekTCP() + +
    +           
    +protected  NMLmsgNMLConnection.peekUDP() + +
    +           
    + NMLmsgNMLConnection.read() + +
    +          Read a NMLmsg.
    + NMLmsgPackedFileReader.ReadFile(java.io.File f) + +
    +          Read the entire message in the pointed to file and convert it to + an NMLmsg.
    + NMLmsgXMLFileReader.ReadFile(java.io.File curFile) + +
    +           
    + NMLmsgPackedFileReader.ReadFile(java.io.File f, + int max_len) + +
    +          Read the first max_len bytes from a file and convert it to an NML message.
    + NMLmsgPackedFileReader.ReadFile(java.lang.String fileName) + +
    +          Read the entire file or URL and parse it into an NMLmsg of the appropriate type.
    + NMLmsgXMLFileReader.ReadFile(java.lang.String fileName) + +
    +           
    + NMLmsgPackedFileReader.ReadFile(java.lang.String fileName, + int maxlen) + +
    +          Read the first maxlen bytes out of a file and convert it to an + NMLmsg.
    + NMLmsgPackedFileReader.ReadFileSection(java.io.File f, + int offset, + int max_len) + +
    +          Read a message from a large ".COMBINED" file that contains multiple messages.
    + NMLmsgPackedFileReader.ReadFileSection(java.lang.String fileName, + int offset, + int maxlen) + +
    +          Read a section of a large file containing many messages.
    +protected  NMLmsgNMLConnection.readTCP() + +
    +           
    +protected  NMLmsgNMLConnection.readUDP() + +
    +           
    + NMLmsgXMLFormatConverter.readXmlFromFile(java.lang.String filename) + +
    +           
    + NMLmsgXMLFormatConverter.readXmlFromURL(java.net.URL url) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.nml with parameters of type NMLmsg
    +protected  intNMLFormatConverterBase.convertMsgToRawData(byte[] b, + int size, + NMLmsg msg) + +
    +           
    +protected  intXMLFormatConverter.convertMsgToRawData(byte[] b, + int size, + NMLmsg msg) + +
    +           
    + byte[]PackedFormatConverter.convertMsgToRawData(NMLmsg _msg) + +
    +           
    +protected  java.lang.StringNMLFormatConverterBase.convertMsgToString(NMLmsg msg) + +
    +           
    + java.lang.StringPackedFileReader.convertMsgToString(NMLmsg inMsg) + +
    +          Use FormatConverter to get a string representation of the message.
    + java.lang.StringXMLFileReader.convertMsgToString(NMLmsg inMsg) + +
    +           
    +protected  java.lang.StringXMLFormatConverter.convertMsgToString(NMLmsg msg) + +
    +           
    + java.lang.StringXMLFormatConverter.convertMsgToXML(NMLmsg msg) + +
    +           
    + doubleMsgToTimeStamp.MsgToTimeStamp(NMLmsg msg) + +
    +          Return the timestamp that should be associated with this message + used for indexing log files.
    +protected  intNMLFormatConverterBase.sendMsgToOutputStream(java.io.DataOutputStream dos, + NMLmsg msg) + +
    +           
    + intNMLConnection.write(NMLmsg msg) + +
    +          Writes an NMLmsg.
    + voidPackedFileWriter.WriteFile(java.io.File curFile, + NMLmsg _msg) + +
    +           
    + voidXMLFileWriter.WriteFile(java.io.File curFile, + NMLmsg _msg) + +
    +           
    + voidPackedFileWriter.WriteFile(java.lang.String fileName, + NMLmsg _msg) + +
    +           
    + voidXMLFileWriter.WriteFile(java.lang.String fileName, + NMLmsg _msg) + +
    +           
    +protected  intNMLConnection.writeTCP(NMLmsg msg) + +
    +           
    +protected  intNMLConnection.writeUDP(NMLmsg msg) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/PackedFileReader.html b/doc/javadoc/rcs/nml/class-use/PackedFileReader.html new file mode 100644 index 0000000..5013c81 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/PackedFileReader.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.PackedFileReader + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.PackedFileReader

    +
    +No usage of rcs.nml.PackedFileReader +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/PackedFileWriter.html b/doc/javadoc/rcs/nml/class-use/PackedFileWriter.html new file mode 100644 index 0000000..4eca6e0 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/PackedFileWriter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.PackedFileWriter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.PackedFileWriter

    +
    +No usage of rcs.nml.PackedFileWriter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/PackedFormatConverter.html b/doc/javadoc/rcs/nml/class-use/PackedFormatConverter.html new file mode 100644 index 0000000..94fccdf --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/PackedFormatConverter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.PackedFormatConverter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.PackedFormatConverter

    +
    +No usage of rcs.nml.PackedFormatConverter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/RCS_CMD_MSG.html b/doc/javadoc/rcs/nml/class-use/RCS_CMD_MSG.html new file mode 100644 index 0000000..0fe6707 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/RCS_CMD_MSG.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.RCS_CMD_MSG + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.RCS_CMD_MSG

    +
    +No usage of rcs.nml.RCS_CMD_MSG +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG.html b/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG.html new file mode 100644 index 0000000..3256d36 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG.html @@ -0,0 +1,146 @@ + + + + + + + +Uses of Class rcs.nml.RCS_STAT_MSG + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.RCS_STAT_MSG

    +
    + + + + + + + + + + + + + +
    +Packages that use RCS_STAT_MSG
    rcs.nml  
    rcs.utils  
    +  +

    + + + + + +
    +Uses of RCS_STAT_MSG in rcs.nml
    +  +

    + + + + + + + + + +
    Subclasses of RCS_STAT_MSG in rcs.nml
    + classRCS_STAT_MSG_V2 + +
    +          A second version of the RCS_STAT_MSG used for base messages of RCS status + perhaps considered for use in moast.
    +  +

    + + + + + +
    +Uses of RCS_STAT_MSG in rcs.utils
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.utils with parameters of type RCS_STAT_MSG
    +static voidrcs_states.state_default(RCS_STAT_MSG stat) + +
    +          Sets the stat.source_line and stat.source_file, + called when all state_match()'s fail.
    +static booleanrcs_states.state_match(RCS_STAT_MSG stat, + int stateIn) + +
    +          Checks stat.state == stateIn and sets the source_file and source line + so that one can check which line of the state table matched.
    +static voidrcs_states.state_new(RCS_STAT_MSG stat) + +
    +          Sets the source file and source line.
    +static voidrcs_states.state_next(RCS_STAT_MSG stat, + int next) + +
    +          Sets stat.state to the next state.
    +static voidrcs_states.status_next(RCS_STAT_MSG stat, + int next) + +
    +          Sets stat.status to the next status
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG_V2.html b/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG_V2.html new file mode 100644 index 0000000..8726ccb --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/RCS_STAT_MSG_V2.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.RCS_STAT_MSG_V2 + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.RCS_STAT_MSG_V2

    +
    +No usage of rcs.nml.RCS_STAT_MSG_V2 +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/XDRFormatConverter.html b/doc/javadoc/rcs/nml/class-use/XDRFormatConverter.html new file mode 100644 index 0000000..ff63ac0 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/XDRFormatConverter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.XDRFormatConverter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.XDRFormatConverter

    +
    +No usage of rcs.nml.XDRFormatConverter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/XMLFileReader.html b/doc/javadoc/rcs/nml/class-use/XMLFileReader.html new file mode 100644 index 0000000..beab5e8 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/XMLFileReader.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.XMLFileReader + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.XMLFileReader

    +
    +No usage of rcs.nml.XMLFileReader +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/XMLFileWriter.html b/doc/javadoc/rcs/nml/class-use/XMLFileWriter.html new file mode 100644 index 0000000..7669a50 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/XMLFileWriter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.XMLFileWriter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.XMLFileWriter

    +
    +No usage of rcs.nml.XMLFileWriter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/XMLFormatConverter.html b/doc/javadoc/rcs/nml/class-use/XMLFormatConverter.html new file mode 100644 index 0000000..6cb2550 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/XMLFormatConverter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.XMLFormatConverter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.XMLFormatConverter

    +
    +No usage of rcs.nml.XMLFormatConverter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/debugInfo.html b/doc/javadoc/rcs/nml/class-use/debugInfo.html new file mode 100644 index 0000000..09c4320 --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/debugInfo.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.debugInfo + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.debugInfo

    +
    +No usage of rcs.nml.debugInfo +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/errlogMsgDict.html b/doc/javadoc/rcs/nml/class-use/errlogMsgDict.html new file mode 100644 index 0000000..4a4e78c --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/errlogMsgDict.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.nml.errlogMsgDict + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.errlogMsgDict

    +
    +No usage of rcs.nml.errlogMsgDict +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/class-use/time_tracker.html b/doc/javadoc/rcs/nml/class-use/time_tracker.html new file mode 100644 index 0000000..f76304c --- /dev/null +++ b/doc/javadoc/rcs/nml/class-use/time_tracker.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcs.nml.time_tracker + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.nml.time_tracker

    +
    + + + + + + + + + +
    +Packages that use time_tracker
    rcs.nml  
    +  +

    + + + + + +
    +Uses of time_tracker in rcs.nml
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as time_tracker
    + time_trackerRCS_STAT_MSG_V2.tt + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/debugInfo.html b/doc/javadoc/rcs/nml/debugInfo.html new file mode 100644 index 0000000..f0742cc --- /dev/null +++ b/doc/javadoc/rcs/nml/debugInfo.html @@ -0,0 +1,281 @@ + + + + + + +debugInfo + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class debugInfo

    +
    +java.lang.Object
    +  extended by rcs.nml.debugInfo
    +
    +
    +
    +
    public class debugInfo
    extends java.lang.Object
    + + +

    +Allows control of whether and to which print stream NML debug prints + are done in the rest of the NML java classes. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    +static java.io.PrintStreamdebugPrintStream + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    debugInfo() + +
    +           
    +  + + + + + + + +
    +Method Summary
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +debugPrintStream

    +
    +public static java.io.PrintStream debugPrintStream
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +debugInfo

    +
    +public debugInfo()
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/errlogMsgDict.html b/doc/javadoc/rcs/nml/errlogMsgDict.html new file mode 100644 index 0000000..26af9e3 --- /dev/null +++ b/doc/javadoc/rcs/nml/errlogMsgDict.html @@ -0,0 +1,389 @@ + + + + + + +errlogMsgDict + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class errlogMsgDict

    +
    +java.lang.Object
    +  extended by rcs.nml.errlogMsgDict
    +
    +
    +
    All Implemented Interfaces:
    NMLMessageDictionary
    +
    +
    +
    +
    public class errlogMsgDict
    extends java.lang.Object
    implements NMLMessageDictionary
    + + +

    +Implements an NML message dictionary for a set of messages + usually used for logging errors and/or communication + with a generic operator interface. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static intNML_DISPLAY_TYPE + +
    +           
    +static intNML_ERROR_TYPE + +
    +           
    +static intNML_TEXT_TYPE + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    errlogMsgDict() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intformatMsg(NMLFormatConverter nml_fc) + +
    +          This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function.
    + longgetEstimatedSize(int _type) + +
    +           
    + longgetMaxEstimatedSize() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +NML_DISPLAY_TYPE

    +
    +public static final int NML_DISPLAY_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_ERROR_TYPE

    +
    +public static final int NML_ERROR_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NML_TEXT_TYPE

    +
    +public static final int NML_TEXT_TYPE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +errlogMsgDict

    +
    +public errlogMsgDict()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +getEstimatedSize

    +
    +public long getEstimatedSize(int _type)
    +
    +
    +
    Specified by:
    getEstimatedSize in interface NMLMessageDictionary
    +
    +
    +
    +
    +
    +
    + +

    +getMaxEstimatedSize

    +
    +public long getMaxEstimatedSize()
    +
    +
    +
    Specified by:
    getMaxEstimatedSize in interface NMLMessageDictionary
    +
    +
    +
    +
    +
    +
    + +

    +formatMsg

    +
    +public int formatMsg(NMLFormatConverter nml_fc)
    +
    +
    Description copied from interface: NMLMessageDictionary
    +
    This function should use NMLfc.type to select an + object of the appropriate class, set NMLfc.msg_to_update + to it, and call the objects update(NMLFormatConverter) function. +

    +

    +
    Specified by:
    formatMsg in interface NMLMessageDictionary
    +
    +
    +
    Parameters:
    nml_fc - a format converter object which provides methods + for updating all the basic types and is used to update + the message, member-by-member. +
    Returns:
    The function should return 0 if it is successful, -1 + otherwise.
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/package-frame.html b/doc/javadoc/rcs/nml/package-frame.html new file mode 100644 index 0000000..08c29e9 --- /dev/null +++ b/doc/javadoc/rcs/nml/package-frame.html @@ -0,0 +1,120 @@ + + + + + + +rcs.nml + + + + + + + + + + + +rcs.nml + + + + +
    +Interfaces  + +
    +MsgToTimeStamp +
    +NMLConnectionCreatorInterface +
    +NMLConnectionInterface +
    +NMLErrorAppender +
    +NMLFormatConvertErrCallbackInterface +
    +NMLMessageDictionary
    + + + + + + +
    +Classes  + +
    +CMS_DATE +
    +CMS_TIME +
    +debugInfo +
    +errlogMsgDict +
    +LogTimeEntry +
    +NML_DISPLAY +
    +NML_ENUM_INFO +
    +NML_ERROR +
    +NML_TEXT +
    +NMLBufferConfigInfo +
    +NMLConfigInfo +
    +NMLConnection +
    +NMLConnectionCreator +
    +NMLFormatConverter +
    +NMLFormatConverterBase +
    +NMLmsg +
    +NMLSingleVarLog +
    +NMLSingleVarLogItem +
    +PackedFileReader +
    +PackedFileWriter +
    +PackedFormatConverter +
    +RCS_CMD_MSG +
    +RCS_STAT_MSG +
    +RCS_STAT_MSG_V2 +
    +time_tracker +
    +XDRFormatConverter +
    +XMLFileReader +
    +XMLFileWriter +
    +XMLFormatConverter
    + + + + + + +
    +Exceptions  + +
    +NMLException
    + + + + diff --git a/doc/javadoc/rcs/nml/package-summary.html b/doc/javadoc/rcs/nml/package-summary.html new file mode 100644 index 0000000..a93ea58 --- /dev/null +++ b/doc/javadoc/rcs/nml/package-summary.html @@ -0,0 +1,334 @@ + + + + + + +rcs.nml + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package rcs.nml +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Interface Summary
    MsgToTimeStampInterface passed to tell indexer how to get a timestamp + double seconds since epoch 12:00 AM Jan 1, 1970
    NMLConnectionCreatorInterfaceInterface to NMLConnectionCreator used by CodeGenerator and Diagnostics tool to avoid + circular dependancies.
    NMLConnectionInterfaceAn interface to NMLConnection used by CodeGenenerator and diagnostics tool to + avoid circular dependancies.
    NMLErrorAppenderInterface used to pass a function that will be called when errors occur so that + they might be log to a TextField of file etc.
    NMLFormatConvertErrCallbackInterfaceInterface for classes to be called when NML errors occur during formatting to provide + more informative error messages.
    NMLMessageDictionaryThe NMLMessageDictionary interface is used to create + custom message sets for NML.
    +  + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    CMS_DATEDate structure wih built in NML update and + a special update format for XML.
    CMS_TIMEDate structure wih built in NML update and + a special update format for XML.
    debugInfoAllows control of whether and to which print stream NML debug prints + are done in the rest of the NML java classes.
    errlogMsgDictImplements an NML message dictionary for a set of messages + usually used for logging errors and/or communication + with a generic operator interface.
    LogTimeEntryClass representing one entry in an indexed log.
    NML_DISPLAYClass used to send an operator interface a small text message to display.
    NML_ENUM_INFOInformation stored about an enumeration passed via NML.
    NML_ERRORGeneric class used to send an operator inteface as small text error message.
    NML_TEXTClass used to send an operator interface a small text message to display.
    NMLBufferConfigInfoClass encapsulating information from the configuration file/server about an NML buffer.
    NMLConfigInfoClass encapsulating all informaation from an NML configuration file/server.
    NMLConnectionClass for connecting to NML buffers, ussually via network sockets.
    NMLConnectionCreatorCreates NMLConnections.
    NMLFormatConverterinterface each NMLmsg should use to implement it's update function.
    NMLFormatConverterBaseThis class is the base class for all classes used by NML to convert + local data types to some neutral format usable by many different types of + hosts.
    NMLmsgThis is the abstract base class of all messages sent or + recieved via NML.
    NMLSingleVarLogThe class is used to store the value a single variable extracted + from a large or potentially large message and that was automatically + collected at some frequency.
    NMLSingleVarLogItemObject stored in NMLSingeVarLog items_list;
    PackedFileReaderClass that allows the reading of packed files directly without using + an NMLConnection.
    PackedFileWriterClass that allows the writing of packed files directly without using + an NMLConnection.
    PackedFormatConverterThe PackedFormatConverter converts NML message classes to Packed.
    RCS_CMD_MSGBase class for NML command messages.
    RCS_STAT_MSGBase class for NML status messages.
    RCS_STAT_MSG_V2A second version of the RCS_STAT_MSG used for base messages of RCS status + perhaps considered for use in moast.
    time_trackerSimple class to track wall-clock performance time.
    XDRFormatConverterThe XDRFormatConverter converts NML message classes to XDR.
    XMLFileReader 
    XMLFileWriter 
    XMLFormatConverterUsed internally by NML to convert messages to and from XML.
    +  + +

    + + + + + + + + + +
    +Exception Summary
    NMLExceptionThe base class for all exceptions thrown by NML.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/package-tree.html b/doc/javadoc/rcs/nml/package-tree.html new file mode 100644 index 0000000..1745256 --- /dev/null +++ b/doc/javadoc/rcs/nml/package-tree.html @@ -0,0 +1,174 @@ + + + + + + +rcs.nml Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package rcs.nml +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +

    +Interface Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/nml/package-use.html b/doc/javadoc/rcs/nml/package-use.html new file mode 100644 index 0000000..cf84b69 --- /dev/null +++ b/doc/javadoc/rcs/nml/package-use.html @@ -0,0 +1,327 @@ + + + + + + + +Uses of Package rcs.nml + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    rcs.nml

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Packages that use rcs.nml
    diagapplet  
    diagapplet.CodeGen  
    diagapplet.utils  
    rcs.nml  
    rcs.posemath  
    rcs.utils  
    +  +

    + + + + + + + + +
    +Classes in rcs.nml used by diagapplet
    NMLMessageDictionary + +
    +          The NMLMessageDictionary interface is used to create + custom message sets for NML.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + +
    +Classes in rcs.nml used by diagapplet.CodeGen
    NMLConnectionCreatorInterface + +
    +          Interface to NMLConnectionCreator used by CodeGenerator and Diagnostics tool to avoid + circular dependancies.
    NMLConnectionInterface + +
    +          An interface to NMLConnection used by CodeGenenerator and diagnostics tool to + avoid circular dependancies.
    NMLException + +
    +          The base class for all exceptions thrown by NML.
    NMLFormatConverter + +
    +          interface each NMLmsg should use to implement it's update function.
    NMLFormatConvertErrCallbackInterface + +
    +          Interface for classes to be called when NML errors occur during formatting to provide + more informative error messages.
    NMLMessageDictionary + +
    +          The NMLMessageDictionary interface is used to create + custom message sets for NML.
    +  +

    + + + + + + + + +
    +Classes in rcs.nml used by diagapplet.utils
    NMLMessageDictionary + +
    +          The NMLMessageDictionary interface is used to create + custom message sets for NML.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Classes in rcs.nml used by rcs.nml
    CMS_DATE + +
    +          Date structure wih built in NML update and + a special update format for XML.
    CMS_TIME + +
    +          Date structure wih built in NML update and + a special update format for XML.
    LogTimeEntry + +
    +          Class representing one entry in an indexed log.
    MsgToTimeStamp + +
    +          Interface passed to tell indexer how to get a timestamp + double seconds since epoch 12:00 AM Jan 1, 1970
    NML_ENUM_INFO + +
    +          Information stored about an enumeration passed via NML.
    NMLConfigInfo + +
    +          Class encapsulating all informaation from an NML configuration file/server.
    NMLConnectionCreator + +
    +          Creates NMLConnections.
    NMLConnectionCreatorInterface + +
    +          Interface to NMLConnectionCreator used by CodeGenerator and Diagnostics tool to avoid + circular dependancies.
    NMLConnectionInterface + +
    +          An interface to NMLConnection used by CodeGenenerator and diagnostics tool to + avoid circular dependancies.
    NMLErrorAppender + +
    +          Interface used to pass a function that will be called when errors occur so that + they might be log to a TextField of file etc.
    NMLException + +
    +          The base class for all exceptions thrown by NML.
    NMLFormatConverter + +
    +          interface each NMLmsg should use to implement it's update function.
    NMLFormatConverterBase + +
    +          This class is the base class for all classes used by NML to convert + local data types to some neutral format usable by many different types of + hosts.
    NMLFormatConvertErrCallbackInterface + +
    +          Interface for classes to be called when NML errors occur during formatting to provide + more informative error messages.
    NMLMessageDictionary + +
    +          The NMLMessageDictionary interface is used to create + custom message sets for NML.
    NMLmsg + +
    +          This is the abstract base class of all messages sent or + recieved via NML.
    NMLSingleVarLog + +
    +          The class is used to store the value a single variable extracted + from a large or potentially large message and that was automatically + collected at some frequency.
    NMLSingleVarLogItem + +
    +          Object stored in NMLSingeVarLog items_list;
    RCS_STAT_MSG + +
    +          Base class for NML status messages.
    time_tracker + +
    +          Simple class to track wall-clock performace time.
    +  +

    + + + + + + + + +
    +Classes in rcs.nml used by rcs.posemath
    NMLFormatConverter + +
    +          interface each NMLmsg should use to implement it's update function.
    +  +

    + + + + + + + + +
    +Classes in rcs.nml used by rcs.utils
    RCS_STAT_MSG + +
    +          Base class for NML status messages.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/nml/time_tracker.html b/doc/javadoc/rcs/nml/time_tracker.html new file mode 100644 index 0000000..0154c12 --- /dev/null +++ b/doc/javadoc/rcs/nml/time_tracker.html @@ -0,0 +1,537 @@ + + + + + + +time_tracker + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.nml +
    +Class time_tracker

    +
    +java.lang.Object
    +  extended by rcs.nml.time_tracker
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class time_tracker
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +Simple class to track wall-clock performance time. + All times are given in seconds but precise to .001 s. + (Exact accuracy depends on Operating System, JRE etc ) + Absolute times are in seconds since Jan,1 1970 UTC aka "unix time" although + see the pages for System.currentTimeMillis() +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubleavg + +
    +          Average difference in time between consecutive calls to cycle().
    + intcount + +
    +          Number of times cycle was called since last reset.
    + doubleelapsed + +
    +          Current time minus start.
    + doublelast + +
    +          Last time cycle was called
    + doublemax + +
    +          Maximum difference in time between consecutive calls to cycle()
    + doublemin + +
    +          Minimum difference in time between consecutive calls to cycle()
    + doublenow + +
    +          Current time when cycle was called.
    + doublestart + +
    +          Time when constructed or reset.
    +  + + + + + + + + + + +
    +Constructor Summary
    time_tracker() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + time_trackerclone() + +
    +           
    + voidcycle() + +
    +          Called periodically to measure the wall clock statistics of a periodic function.
    + voidreset() + +
    +          Reset all statistics and start the clock from now.
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +count

    +
    +public int count
    +
    +
    Number of times cycle was called since last reset. +

    +

    +
    +
    +
    + +

    +last

    +
    +public double last
    +
    +
    Last time cycle was called +

    +

    +
    +
    +
    + +

    +now

    +
    +public double now
    +
    +
    Current time when cycle was called. +

    +

    +
    +
    +
    + +

    +start

    +
    +public double start
    +
    +
    Time when constructed or reset. +

    +

    +
    +
    +
    + +

    +elapsed

    +
    +public double elapsed
    +
    +
    Current time minus start. +

    +

    +
    +
    +
    + +

    +min

    +
    +public double min
    +
    +
    Minimum difference in time between consecutive calls to cycle() +

    +

    +
    +
    +
    + +

    +max

    +
    +public double max
    +
    +
    Maximum difference in time between consecutive calls to cycle() +

    +

    +
    +
    +
    + +

    +avg

    +
    +public double avg
    +
    +
    Average difference in time between consecutive calls to cycle(). +

    +

    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +time_tracker

    +
    +public time_tracker()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +reset

    +
    +public void reset()
    +
    +
    Reset all statistics and start the clock from now. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +cycle

    +
    +public void cycle()
    +
    +
    Called periodically to measure the wall clock statistics of a periodic function. +

    +

    +
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public time_tracker clone()
    +                   throws java.lang.CloneNotSupportedException
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    + +
    Throws: +
    java.lang.CloneNotSupportedException
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/package-frame.html b/doc/javadoc/rcs/package-frame.html new file mode 100644 index 0000000..c832b88 --- /dev/null +++ b/doc/javadoc/rcs/package-frame.html @@ -0,0 +1,32 @@ + + + + + + +rcs + + + + + + + + + + + +rcs + + + + +
    +Classes  + +
    +RCS_VERSION
    + + + + diff --git a/doc/javadoc/rcs/package-summary.html b/doc/javadoc/rcs/package-summary.html new file mode 100644 index 0000000..5d1e86f --- /dev/null +++ b/doc/javadoc/rcs/package-summary.html @@ -0,0 +1,156 @@ + + + + + + +rcs + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package rcs +

    + + + + + + + + + +
    +Class Summary
    RCS_VERSIONClass for checking at run-time which version of the RCS Library + is being used.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/package-tree.html b/doc/javadoc/rcs/package-tree.html new file mode 100644 index 0000000..2fd770f --- /dev/null +++ b/doc/javadoc/rcs/package-tree.html @@ -0,0 +1,151 @@ + + + + + + +rcs Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package rcs +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/package-use.html b/doc/javadoc/rcs/package-use.html new file mode 100644 index 0000000..8d0bf11 --- /dev/null +++ b/doc/javadoc/rcs/package-use.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Package rcs + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    rcs

    +
    +No usage of rcs +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/LineFitTester.html b/doc/javadoc/rcs/posemath/LineFitTester.html new file mode 100644 index 0000000..5001814 --- /dev/null +++ b/doc/javadoc/rcs/posemath/LineFitTester.html @@ -0,0 +1,250 @@ + + + + + + +LineFitTester + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class LineFitTester

    +
    +java.lang.Object
    +  extended by rcs.posemath.LineFitTester
    +
    +
    +
    +
    public class LineFitTester
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    LineFitTester() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +LineFitTester

    +
    +public LineFitTester()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_CARTESIAN.html b/doc/javadoc/rcs/posemath/PM_CARTESIAN.html new file mode 100644 index 0000000..c40fa12 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_CARTESIAN.html @@ -0,0 +1,467 @@ + + + + + + +PM_CARTESIAN + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_CARTESIAN

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmCartesian
    +      extended by rcs.posemath.PM_CARTESIAN
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_CARTESIAN
    extends PmCartesian
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmCartesian
    x, y, z
    +  + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_CARTESIAN() + +
    +           
    PM_CARTESIAN(double startx, + double starty, + double startz) + +
    +           
    PM_CARTESIAN(PM_CYLINDRICAL c) + +
    +           
    PM_CARTESIAN(PmCartesian p) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_CARTESIANadd(PM_CARTESIAN c) + +
    +           
    + PM_CARTESIANclone() + +
    +           
    + doubledistFrom(PM_CARTESIAN p) + +
    +           
    + doubledistFromXY(PM_CARTESIAN p) + +
    +           
    + PM_CARTESIANmultiply(double d) + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    +static PM_CARTESIANvalueOf(java.lang.String s) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmCartesian
    add, distFrom, equals, equals, equals, getX, getY, getZ, mag, setX, setY, setZ, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_CARTESIAN

    +
    +public PM_CARTESIAN()
    +
    +
    +
    + +

    +PM_CARTESIAN

    +
    +public PM_CARTESIAN(PmCartesian p)
    +
    +
    +
    + +

    +PM_CARTESIAN

    +
    +public PM_CARTESIAN(double startx,
    +                    double starty,
    +                    double startz)
    +
    +
    +
    + +

    +PM_CARTESIAN

    +
    +public PM_CARTESIAN(PM_CYLINDRICAL c)
    +             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmCartesian
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public PM_CARTESIAN add(PM_CARTESIAN c)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public PM_CARTESIAN multiply(double d)
    +
    +
    +
    Overrides:
    multiply in class PmCartesian
    +
    +
    +
    +
    +
    +
    + +

    +distFrom

    +
    +public double distFrom(PM_CARTESIAN p)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +distFromXY

    +
    +public double distFromXY(PM_CARTESIAN p)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_CARTESIAN clone()
    +
    +
    +
    Overrides:
    clone in class PmCartesian
    +
    +
    +
    +
    +
    +
    + +

    +valueOf

    +
    +public static PM_CARTESIAN valueOf(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_CIRCLE.html b/doc/javadoc/rcs/posemath/PM_CIRCLE.html new file mode 100644 index 0000000..290c135 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_CIRCLE.html @@ -0,0 +1,824 @@ + + + + + + +PM_CIRCLE + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_CIRCLE

    +
    +java.lang.Object
    +  extended by rcs.posemath.PM_CIRCLE
    +
    +
    +
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable
    +
    +
    +
    +
    public class PM_CIRCLE
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    + + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubleangle + +
    +           
    + PM_CARTESIANcenter + +
    +           
    + PM_CARTESIANnormal + +
    +           
    + doubleradius + +
    +           
    + PM_CARTESIANrHelix + +
    +           
    + PM_CARTESIANrPerp + +
    +           
    + PM_CARTESIANrTan + +
    +           
    + doublespiral + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    PM_CIRCLE() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_CIRCLEclone() + +
    +           
    + doublegetAngle() + +
    +           
    + PM_CARTESIANgetCenter() + +
    +           
    + PM_CARTESIANgetNormal() + +
    +           
    + doublegetRadius() + +
    +           
    + PM_CARTESIANgetrHelix() + +
    +           
    + PM_CARTESIANgetrPerp() + +
    +           
    + PM_CARTESIANgetrTan() + +
    +           
    + doublegetSpiral() + +
    +           
    + voidsetAngle(double angle) + +
    +           
    + voidsetCenter(PM_CARTESIAN center) + +
    +           
    + voidsetNormal(PM_CARTESIAN normal) + +
    +           
    + voidsetRadius(double radius) + +
    +           
    + voidsetrHelix(PM_CARTESIAN rHelix) + +
    +           
    + voidsetrPerp(PM_CARTESIAN rPerp) + +
    +           
    + voidsetrTan(PM_CARTESIAN rTan) + +
    +           
    + voidsetSpiral(double spiral) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +center

    +
    +public PM_CARTESIAN center
    +
    +
    +
    +
    +
    + +

    +normal

    +
    +public PM_CARTESIAN normal
    +
    +
    +
    +
    +
    + +

    +rTan

    +
    +public PM_CARTESIAN rTan
    +
    +
    +
    +
    +
    + +

    +rPerp

    +
    +public PM_CARTESIAN rPerp
    +
    +
    +
    +
    +
    + +

    +rHelix

    +
    +public PM_CARTESIAN rHelix
    +
    +
    +
    +
    +
    + +

    +radius

    +
    +public double radius
    +
    +
    +
    +
    +
    + +

    +angle

    +
    +public double angle
    +
    +
    +
    +
    +
    + +

    +spiral

    +
    +public double spiral
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_CIRCLE

    +
    +public PM_CIRCLE()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getCenter

    +
    +public PM_CARTESIAN getCenter()
    +
    +
    +
    +
    +
    + +
    Returns:
    the center
    +
    +
    +
    + +

    +setCenter

    +
    +public void setCenter(PM_CARTESIAN center)
    +
    +
    +
    +
    +
    +
    Parameters:
    center - the center to set
    +
    +
    +
    + +

    +getNormal

    +
    +public PM_CARTESIAN getNormal()
    +
    +
    +
    +
    +
    + +
    Returns:
    the normal
    +
    +
    +
    + +

    +setNormal

    +
    +public void setNormal(PM_CARTESIAN normal)
    +
    +
    +
    +
    +
    +
    Parameters:
    normal - the normal to set
    +
    +
    +
    + +

    +getrTan

    +
    +public PM_CARTESIAN getrTan()
    +
    +
    +
    +
    +
    + +
    Returns:
    the rTan
    +
    +
    +
    + +

    +setrTan

    +
    +public void setrTan(PM_CARTESIAN rTan)
    +
    +
    +
    +
    +
    +
    Parameters:
    rTan - the rTan to set
    +
    +
    +
    + +

    +getrPerp

    +
    +public PM_CARTESIAN getrPerp()
    +
    +
    +
    +
    +
    + +
    Returns:
    the rPerp
    +
    +
    +
    + +

    +setrPerp

    +
    +public void setrPerp(PM_CARTESIAN rPerp)
    +
    +
    +
    +
    +
    +
    Parameters:
    rPerp - the rPerp to set
    +
    +
    +
    + +

    +getrHelix

    +
    +public PM_CARTESIAN getrHelix()
    +
    +
    +
    +
    +
    + +
    Returns:
    the rHelix
    +
    +
    +
    + +

    +setrHelix

    +
    +public void setrHelix(PM_CARTESIAN rHelix)
    +
    +
    +
    +
    +
    +
    Parameters:
    rHelix - the rHelix to set
    +
    +
    +
    + +

    +getRadius

    +
    +public double getRadius()
    +
    +
    +
    +
    +
    + +
    Returns:
    the radius
    +
    +
    +
    + +

    +setRadius

    +
    +public void setRadius(double radius)
    +
    +
    +
    +
    +
    +
    Parameters:
    radius - the radius to set
    +
    +
    +
    + +

    +getAngle

    +
    +public double getAngle()
    +
    +
    +
    +
    +
    + +
    Returns:
    the angle
    +
    +
    +
    + +

    +setAngle

    +
    +public void setAngle(double angle)
    +
    +
    +
    +
    +
    +
    Parameters:
    angle - the angle to set
    +
    +
    +
    + +

    +getSpiral

    +
    +public double getSpiral()
    +
    +
    +
    +
    +
    + +
    Returns:
    the spiral
    +
    +
    +
    + +

    +setSpiral

    +
    +public void setSpiral(double spiral)
    +
    +
    +
    +
    +
    +
    Parameters:
    spiral - the spiral to set
    +
    +
    +
    + +

    +clone

    +
    +public PM_CIRCLE clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_CYLINDRICAL.html b/doc/javadoc/rcs/posemath/PM_CYLINDRICAL.html new file mode 100644 index 0000000..df6d915 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_CYLINDRICAL.html @@ -0,0 +1,323 @@ + + + + + + +PM_CYLINDRICAL + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_CYLINDRICAL

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmCylindrical
    +      extended by rcs.posemath.PM_CYLINDRICAL
    +
    +
    +
    +
    public class PM_CYLINDRICAL
    extends PmCylindrical
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmCylindrical
    r, theta, z
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_CYLINDRICAL() + +
    +           
    PM_CYLINDRICAL(double starttheta, + double startr, + double startz) + +
    +           
    PM_CYLINDRICAL(PM_CARTESIAN v) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmCylindrical
    equals, equals, equals, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_CYLINDRICAL

    +
    +public PM_CYLINDRICAL()
    +
    +
    +
    + +

    +PM_CYLINDRICAL

    +
    +public PM_CYLINDRICAL(double starttheta,
    +                      double startr,
    +                      double startz)
    +               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_CYLINDRICAL

    +
    +public PM_CYLINDRICAL(PM_CARTESIAN v)
    +               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmCylindrical
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_EULER_ZYX.html b/doc/javadoc/rcs/posemath/PM_EULER_ZYX.html new file mode 100644 index 0000000..cc5748f --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_EULER_ZYX.html @@ -0,0 +1,290 @@ + + + + + + +PM_EULER_ZYX + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_EULER_ZYX

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmEulerZyx
    +      extended by rcs.posemath.PM_EULER_ZYX
    +
    +
    +
    +
    public class PM_EULER_ZYX
    extends PmEulerZyx
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmEulerZyx
    x, y, z
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PM_EULER_ZYX() + +
    +           
    PM_EULER_ZYX(double startz, + double starty, + double startx) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_EULER_ZYX

    +
    +public PM_EULER_ZYX(double startz,
    +                    double starty,
    +                    double startx)
    +
    +
    +
    + +

    +PM_EULER_ZYX

    +
    +public PM_EULER_ZYX()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmEulerZyx
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_EULER_ZYZ.html b/doc/javadoc/rcs/posemath/PM_EULER_ZYZ.html new file mode 100644 index 0000000..37e334a --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_EULER_ZYZ.html @@ -0,0 +1,290 @@ + + + + + + +PM_EULER_ZYZ + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_EULER_ZYZ

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmEulerZyz
    +      extended by rcs.posemath.PM_EULER_ZYZ
    +
    +
    +
    +
    public class PM_EULER_ZYZ
    extends PmEulerZyz
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmEulerZyz
    y, z, zp
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PM_EULER_ZYZ() + +
    +           
    PM_EULER_ZYZ(double startz, + double starty, + double startzp) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_EULER_ZYZ

    +
    +public PM_EULER_ZYZ(double startz,
    +                    double starty,
    +                    double startzp)
    +
    +
    +
    + +

    +PM_EULER_ZYZ

    +
    +public PM_EULER_ZYZ()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmEulerZyz
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_HOMOGENEOUS.html b/doc/javadoc/rcs/posemath/PM_HOMOGENEOUS.html new file mode 100644 index 0000000..74b50eb --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_HOMOGENEOUS.html @@ -0,0 +1,311 @@ + + + + + + +PM_HOMOGENEOUS + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_HOMOGENEOUS

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmHomogeneous
    +      extended by rcs.posemath.PM_HOMOGENEOUS
    +
    +
    +
    +
    public class PM_HOMOGENEOUS
    extends PmHomogeneous
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmHomogeneous
    rot, tran
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_HOMOGENEOUS() + +
    +           
    PM_HOMOGENEOUS(float[] homf) + +
    +           
    PM_HOMOGENEOUS(PM_CARTESIAN starttran, + PM_ROTATION_MATRIX startrot) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmHomogeneous
    toMatdd, toMatf, toMatfTranspose
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_HOMOGENEOUS

    +
    +public PM_HOMOGENEOUS()
    +
    +
    +
    + +

    +PM_HOMOGENEOUS

    +
    +public PM_HOMOGENEOUS(float[] homf)
    +
    +
    +
    + +

    +PM_HOMOGENEOUS

    +
    +public PM_HOMOGENEOUS(PM_CARTESIAN starttran,
    +                      PM_ROTATION_MATRIX startrot)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmHomogeneous
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_LINE.html b/doc/javadoc/rcs/posemath/PM_LINE.html new file mode 100644 index 0000000..6202712 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_LINE.html @@ -0,0 +1,553 @@ + + + + + + +PM_LINE + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_LINE

    +
    +java.lang.Object
    +  extended by rcs.posemath.PM_LINE
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_LINE
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + PM_CARTESIANend + +
    +           
    + PM_CARTESIANstart + +
    +           
    + PM_CARTESIANuVec + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PM_LINE() + +
    +           
    PM_LINE(PM_CARTESIAN _start, + PM_CARTESIAN _end) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_LINEclone() + +
    +           
    + PM_CARTESIANgetEnd() + +
    +           
    + PM_CARTESIANgetStart() + +
    +           
    + PM_CARTESIANgetuVec() + +
    +           
    + PM_CARTESIANintersection(PM_LINE l) + +
    +           
    + voidsetEnd(PM_CARTESIAN end) + +
    +           
    + voidsetStart(PM_CARTESIAN start) + +
    +           
    + voidsetuVec(PM_CARTESIAN uVec) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +start

    +
    +public PM_CARTESIAN start
    +
    +
    +
    +
    +
    + +

    +end

    +
    +public PM_CARTESIAN end
    +
    +
    +
    +
    +
    + +

    +uVec

    +
    +public PM_CARTESIAN uVec
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_LINE

    +
    +public PM_LINE()
    +
    +
    +
    + +

    +PM_LINE

    +
    +public PM_LINE(PM_CARTESIAN _start,
    +               PM_CARTESIAN _end)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_LINE clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +intersection

    +
    +public PM_CARTESIAN intersection(PM_LINE l)
    +                          throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +getStart

    +
    +public PM_CARTESIAN getStart()
    +
    +
    +
    +
    +
    + +
    Returns:
    the start
    +
    +
    +
    + +

    +setStart

    +
    +public void setStart(PM_CARTESIAN start)
    +
    +
    +
    +
    +
    +
    Parameters:
    start - the start to set
    +
    +
    +
    + +

    +getEnd

    +
    +public PM_CARTESIAN getEnd()
    +
    +
    +
    +
    +
    + +
    Returns:
    the end
    +
    +
    +
    + +

    +setEnd

    +
    +public void setEnd(PM_CARTESIAN end)
    +
    +
    +
    +
    +
    +
    Parameters:
    end - the end to set
    +
    +
    +
    + +

    +getuVec

    +
    +public PM_CARTESIAN getuVec()
    +
    +
    +
    +
    +
    + +
    Returns:
    the uVec
    +
    +
    +
    + +

    +setuVec

    +
    +public void setuVec(PM_CARTESIAN uVec)
    +
    +
    +
    +
    +
    +
    Parameters:
    uVec - the uVec to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_POSE.html b/doc/javadoc/rcs/posemath/PM_POSE.html new file mode 100644 index 0000000..142ba8b --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_POSE.html @@ -0,0 +1,431 @@ + + + + + + +PM_POSE + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_POSE

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmPose
    +      extended by rcs.posemath.PM_POSE
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_POSE
    extends PmPose
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmPose
    rot, tran
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_POSE() + +
    +           
    PM_POSE(double[][] dd) + +
    +           
    PM_POSE(double tranx, + double trany, + double tranz, + double rots, + double rotx, + double roty, + double rotz) + +
    +           
    PM_POSE(PM_XYA xya) + +
    +           
    PM_POSE(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    PM_POSE(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PM_POSE(PmHomogeneous h) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_POSEclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmPose
    equals, equals, toMatdd, toMatFloatArrayTranspose, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_POSE

    +
    +public PM_POSE()
    +
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(PmCartesian starttran,
    +               PmQuaternion startrot)
    +
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(PmCartesian starttran,
    +               PmRpy startrpy)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(double tranx,
    +               double trany,
    +               double tranz,
    +               double rots,
    +               double rotx,
    +               double roty,
    +               double rotz)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(PM_XYA xya)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(PmHomogeneous h)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_POSE

    +
    +public PM_POSE(double[][] dd)
    +        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmPose
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_POSE clone()
    +
    +
    +
    Overrides:
    clone in class PmPose
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_QUATERNION.html b/doc/javadoc/rcs/posemath/PM_QUATERNION.html new file mode 100644 index 0000000..8e6ac82 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_QUATERNION.html @@ -0,0 +1,350 @@ + + + + + + +PM_QUATERNION + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_QUATERNION

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmQuaternion
    +      extended by rcs.posemath.PM_QUATERNION
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_QUATERNION
    extends PmQuaternion
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmQuaternion
    s, x, y, z
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_QUATERNION() + +
    +           
    PM_QUATERNION(double starts, + double startx, + double starty, + double startz) + +
    +           
    PM_QUATERNION(PM_ROTATION_VECTOR rv) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_QUATERNIONclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmQuaternion
    equals, equals, equals, getS, getX, getY, getZ, setS, setX, setY, setZ, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_QUATERNION

    +
    +public PM_QUATERNION()
    +
    +
    +
    + +

    +PM_QUATERNION

    +
    +public PM_QUATERNION(double starts,
    +                     double startx,
    +                     double starty,
    +                     double startz)
    +              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_QUATERNION

    +
    +public PM_QUATERNION(PM_ROTATION_VECTOR rv)
    +              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmQuaternion
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_QUATERNION clone()
    +
    +
    +
    Overrides:
    clone in class PmQuaternion
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_ROTATION_MATRIX.html b/doc/javadoc/rcs/posemath/PM_ROTATION_MATRIX.html new file mode 100644 index 0000000..25ad0e1 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_ROTATION_MATRIX.html @@ -0,0 +1,348 @@ + + + + + + +PM_ROTATION_MATRIX + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_ROTATION_MATRIX

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRotationMatrix
    +      extended by rcs.posemath.PM_ROTATION_MATRIX
    +
    +
    +
    +
    public class PM_ROTATION_MATRIX
    extends PmRotationMatrix
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmRotationMatrix
    x, y, z
    +  + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_ROTATION_MATRIX() + +
    +           
    PM_ROTATION_MATRIX(double xx, + double xy, + double xz, + double yx, + double yy, + double yz, + double zx, + double zy, + double zz) + +
    +           
    PM_ROTATION_MATRIX(PM_ROTATION_VECTOR rv) + +
    +           
    PM_ROTATION_MATRIX(PmCartesian startx, + PmCartesian starty, + PmCartesian startz) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmRotationMatrix
    toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_ROTATION_MATRIX

    +
    +public PM_ROTATION_MATRIX(PmCartesian startx,
    +                          PmCartesian starty,
    +                          PmCartesian startz)
    +
    +
    +
    + +

    +PM_ROTATION_MATRIX

    +
    +public PM_ROTATION_MATRIX()
    +
    +
    +
    + +

    +PM_ROTATION_MATRIX

    +
    +public PM_ROTATION_MATRIX(double xx,
    +                          double xy,
    +                          double xz,
    +                          double yx,
    +                          double yy,
    +                          double yz,
    +                          double zx,
    +                          double zy,
    +                          double zz)
    +
    +
    +
    + +

    +PM_ROTATION_MATRIX

    +
    +public PM_ROTATION_MATRIX(PM_ROTATION_VECTOR rv)
    +                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmRotationMatrix
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_ROTATION_VECTOR.html b/doc/javadoc/rcs/posemath/PM_ROTATION_VECTOR.html new file mode 100644 index 0000000..71be8d9 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_ROTATION_VECTOR.html @@ -0,0 +1,325 @@ + + + + + + +PM_ROTATION_VECTOR + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_ROTATION_VECTOR

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRotationVector
    +      extended by rcs.posemath.PM_ROTATION_VECTOR
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_ROTATION_VECTOR
    extends PmRotationVector
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmRotationVector
    s, x, y, z
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PM_ROTATION_VECTOR() + +
    +           
    PM_ROTATION_VECTOR(double starts, + double startx, + double starty, + double startz) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.Objectclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_ROTATION_VECTOR

    +
    +public PM_ROTATION_VECTOR()
    +
    +
    +
    + +

    +PM_ROTATION_VECTOR

    +
    +public PM_ROTATION_VECTOR(double starts,
    +                          double startx,
    +                          double starty,
    +                          double startz)
    +                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmRotationVector
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public java.lang.Object clone()
    +                       throws java.lang.CloneNotSupportedException
    +
    +
    +
    Overrides:
    clone in class PmRotationVector
    +
    +
    + +
    Throws: +
    java.lang.CloneNotSupportedException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_RPY.html b/doc/javadoc/rcs/posemath/PM_RPY.html new file mode 100644 index 0000000..b993230 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_RPY.html @@ -0,0 +1,343 @@ + + + + + + +PM_RPY + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_RPY

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRpy
    +      extended by rcs.posemath.PM_RPY
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_RPY
    extends PmRpy
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmRpy
    p, r, y
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_RPY() + +
    +           
    PM_RPY(double startr, + double startp, + double starty) + +
    +           
    PM_RPY(PmQuaternion q) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_RPYclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class rcs.posemath.PmRpy
    getP, getR, getY, norm, setP, setR, setY, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_RPY

    +
    +public PM_RPY(double startr,
    +              double startp,
    +              double starty)
    +
    +
    +
    + +

    +PM_RPY

    +
    +public PM_RPY()
    +
    +
    +
    + +

    +PM_RPY

    +
    +public PM_RPY(PmQuaternion q)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmRpy
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_RPY clone()
    +
    +
    +
    Overrides:
    clone in class PmRpy
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_SPHERICAL.html b/doc/javadoc/rcs/posemath/PM_SPHERICAL.html new file mode 100644 index 0000000..6881ac5 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_SPHERICAL.html @@ -0,0 +1,290 @@ + + + + + + +PM_SPHERICAL + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_SPHERICAL

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmSpherical
    +      extended by rcs.posemath.PM_SPHERICAL
    +
    +
    +
    +
    public class PM_SPHERICAL
    extends PmSpherical
    + + +

    +


    + +

    + + + + + + + +
    +Field Summary
    + + + + + + + +
    Fields inherited from class rcs.posemath.PmSpherical
    phi, r, theta
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PM_SPHERICAL() + +
    +           
    PM_SPHERICAL(double starttheta, + double startphi, + double startr) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_SPHERICAL

    +
    +public PM_SPHERICAL()
    +
    +
    +
    + +

    +PM_SPHERICAL

    +
    +public PM_SPHERICAL(double starttheta,
    +                    double startphi,
    +                    double startr)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    Overrides:
    update in class PmSpherical
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PM_XYA.html b/doc/javadoc/rcs/posemath/PM_XYA.html new file mode 100644 index 0000000..f7f4f99 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PM_XYA.html @@ -0,0 +1,621 @@ + + + + + + +PM_XYA + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PM_XYA

    +
    +java.lang.Object
    +  extended by rcs.posemath.PM_XYA
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_XYA
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublea + +
    +           
    + doublex + +
    +           
    + doubley + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_XYA() + +
    +           
    PM_XYA(double _x, + double _y, + double _a) + +
    +           
    PM_XYA(PM_POSE p) + +
    +           
    PM_XYA(PmCartesian c) + +
    +           
    PM_XYA(PmPose p) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_XYAclone() + +
    +           
    + doublegetA() + +
    +           
    + doublegetX() + +
    +           
    + doublegetY() + +
    +           
    + PM_XYAinv() + +
    +           
    + voidsetA(double a) + +
    +           
    + voidsetX(double x) + +
    +           
    + voidsetY(double y) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    +static PM_XYAvalueOf(java.lang.String s) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +a

    +
    +public double a
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_XYA

    +
    +public PM_XYA(double _x,
    +              double _y,
    +              double _a)
    +
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA()
    +
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA(PmCartesian c)
    +
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA(PmPose p)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA(PM_POSE p)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +inv

    +
    +public PM_XYA inv()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_XYA clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +valueOf

    +
    +public static PM_XYA valueOf(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getX

    +
    +public double getX()
    +
    +
    +
    +
    +
    + +
    Returns:
    the x
    +
    +
    +
    + +

    +setX

    +
    +public void setX(double x)
    +
    +
    +
    +
    +
    +
    Parameters:
    x - the x to set
    +
    +
    +
    + +

    +getY

    +
    +public double getY()
    +
    +
    +
    +
    +
    + +
    Returns:
    the y
    +
    +
    +
    + +

    +setY

    +
    +public void setY(double y)
    +
    +
    +
    +
    +
    +
    Parameters:
    y - the y to set
    +
    +
    +
    + +

    +getA

    +
    +public double getA()
    +
    +
    +
    +
    +
    + +
    Returns:
    the a
    +
    +
    +
    + +

    +setA

    +
    +public void setA(double a)
    +
    +
    +
    +
    +
    +
    Parameters:
    y - the y to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmCartesian.html b/doc/javadoc/rcs/posemath/PmCartesian.html new file mode 100644 index 0000000..8378023 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmCartesian.html @@ -0,0 +1,716 @@ + + + + + + +PmCartesian + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmCartesian

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmCartesian
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    PM_CARTESIAN
    +
    +
    +
    +
    public class PmCartesian
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublex + +
    +           
    + doubley + +
    +           
    + doublez + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PmCartesian() + +
    +           
    PmCartesian(double startx, + double starty, + double startz) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PmCartesianadd(PmCartesian c) + +
    +           
    + java.lang.Objectclone() + +
    +           
    + doubledistFrom(PmCartesian p) + +
    +           
    + booleanequals(PmCartesian v) + +
    +           
    + booleanequals(PmCylindrical c) + +
    +           
    + booleanequals(PmSpherical s) + +
    +           
    + doublegetX() + +
    +           
    + doublegetY() + +
    +           
    + doublegetZ() + +
    +           
    + doublemag() + +
    +           
    + PmCartesianmultiply(double d) + +
    +           
    + voidsetX(double x) + +
    +           
    + voidsetY(double y) + +
    +           
    + voidsetZ(double z) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    +static PmCartesianvalueOf(java.lang.String s) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmCartesian

    +
    +public PmCartesian()
    +
    +
    +
    + +

    +PmCartesian

    +
    +public PmCartesian(double startx,
    +                   double starty,
    +                   double startz)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +mag

    +
    +public double mag()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +distFrom

    +
    +public double distFrom(PmCartesian p)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmCartesian v)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmCylindrical c)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmSpherical s)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public PmCartesian add(PmCartesian c)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public PmCartesian multiply(double d)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +valueOf

    +
    +public static PmCartesian valueOf(java.lang.String s)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public java.lang.Object clone()
    +                       throws java.lang.CloneNotSupportedException
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    + +
    Throws: +
    java.lang.CloneNotSupportedException
    +
    +
    +
    + +

    +getX

    +
    +public double getX()
    +
    +
    +
    +
    +
    + +
    Returns:
    the x
    +
    +
    +
    + +

    +setX

    +
    +public void setX(double x)
    +
    +
    +
    +
    +
    +
    Parameters:
    x - the x to set
    +
    +
    +
    + +

    +getY

    +
    +public double getY()
    +
    +
    +
    +
    +
    + +
    Returns:
    the y
    +
    +
    +
    + +

    +setY

    +
    +public void setY(double y)
    +
    +
    +
    +
    +
    +
    Parameters:
    y - the y to set
    +
    +
    +
    + +

    +getZ

    +
    +public double getZ()
    +
    +
    +
    +
    +
    + +
    Returns:
    the z
    +
    +
    +
    + +

    +setZ

    +
    +public void setZ(double z)
    +
    +
    +
    +
    +
    +
    Parameters:
    z - the z to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmCircle.html b/doc/javadoc/rcs/posemath/PmCircle.html new file mode 100644 index 0000000..af1ffc3 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmCircle.html @@ -0,0 +1,412 @@ + + + + + + +PmCircle + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmCircle

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmCircle
    +
    +
    +
    +
    public class PmCircle
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubleangle + +
    +           
    + PmCartesiancenter + +
    +           
    + PmCartesiannormal + +
    +           
    + doubleradius + +
    +           
    + PmCartesianrHelix + +
    +           
    + PmCartesianrPerp + +
    +           
    + PmCartesianrTan + +
    +           
    + doublespiral + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    PmCircle() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +center

    +
    +public PmCartesian center
    +
    +
    +
    +
    +
    + +

    +normal

    +
    +public PmCartesian normal
    +
    +
    +
    +
    +
    + +

    +rTan

    +
    +public PmCartesian rTan
    +
    +
    +
    +
    +
    + +

    +rPerp

    +
    +public PmCartesian rPerp
    +
    +
    +
    +
    +
    + +

    +rHelix

    +
    +public PmCartesian rHelix
    +
    +
    +
    +
    +
    + +

    +radius

    +
    +public double radius
    +
    +
    +
    +
    +
    + +

    +angle

    +
    +public double angle
    +
    +
    +
    +
    +
    + +

    +spiral

    +
    +public double spiral
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmCircle

    +
    +public PmCircle()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmCylindrical.html b/doc/javadoc/rcs/posemath/PmCylindrical.html new file mode 100644 index 0000000..4c9d9b6 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmCylindrical.html @@ -0,0 +1,380 @@ + + + + + + +PmCylindrical + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmCylindrical

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmCylindrical
    +
    +
    +
    Direct Known Subclasses:
    PM_CYLINDRICAL
    +
    +
    +
    +
    public class PmCylindrical
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubler + +
    +           
    + doubletheta + +
    +           
    + doublez + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + booleanequals(PmCartesian v) + +
    +           
    + booleanequals(PmCylindrical c) + +
    +           
    + booleanequals(PmSpherical s) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +theta

    +
    +public double theta
    +
    +
    +
    +
    +
    + +

    +r

    +
    +public double r
    +
    +
    +
    +
    +
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmCylindrical c)
    +               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmCartesian v)
    +               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmSpherical s)
    +               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmEulerZyx.html b/doc/javadoc/rcs/posemath/PmEulerZyx.html new file mode 100644 index 0000000..41e391d --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmEulerZyx.html @@ -0,0 +1,343 @@ + + + + + + +PmEulerZyx + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmEulerZyx

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmEulerZyx
    +
    +
    +
    Direct Known Subclasses:
    PM_EULER_ZYX
    +
    +
    +
    +
    public class PmEulerZyx
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublex + +
    +           
    + doubley + +
    +           
    + doublez + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PmEulerZyx() + +
    +           
    PmEulerZyx(double startz, + double starty, + double startx) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmEulerZyx

    +
    +public PmEulerZyx(double startz,
    +                  double starty,
    +                  double startx)
    +
    +
    +
    + +

    +PmEulerZyx

    +
    +public PmEulerZyx()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmEulerZyz.html b/doc/javadoc/rcs/posemath/PmEulerZyz.html new file mode 100644 index 0000000..5b45796 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmEulerZyz.html @@ -0,0 +1,343 @@ + + + + + + +PmEulerZyz + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmEulerZyz

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmEulerZyz
    +
    +
    +
    Direct Known Subclasses:
    PM_EULER_ZYZ
    +
    +
    +
    +
    public class PmEulerZyz
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubley + +
    +           
    + doublez + +
    +           
    + doublezp + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PmEulerZyz() + +
    +           
    PmEulerZyz(double startz, + double starty, + double startzp) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +zp

    +
    +public double zp
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmEulerZyz

    +
    +public PmEulerZyz(double startz,
    +                  double starty,
    +                  double startzp)
    +
    +
    +
    + +

    +PmEulerZyz

    +
    +public PmEulerZyz()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmException.html b/doc/javadoc/rcs/posemath/PmException.html new file mode 100644 index 0000000..7a4123c --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmException.html @@ -0,0 +1,376 @@ + + + + + + +PmException + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmException

    +
    +java.lang.Object
    +  extended by java.lang.Throwable
    +      extended by java.lang.Exception
    +          extended by rcs.posemath.PmException
    +
    +
    +
    All Implemented Interfaces:
    java.io.Serializable
    +
    +
    +
    +
    public class PmException
    extends java.lang.Exception
    + + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static intPM_DIV_ERR + +
    +           
    +static intPM_ERR + +
    +           
    +static intPM_IMPL_ERR + +
    +           
    +static intPM_NORM_ERR + +
    +           
    + intpmErrno + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    PmException(int errno, + java.lang.String msg) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    +protected static java.lang.StringGetErrorString(int errno) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Throwable
    fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +PM_DIV_ERR

    +
    +public static final int PM_DIV_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_ERR

    +
    +public static final int PM_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_IMPL_ERR

    +
    +public static final int PM_IMPL_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_NORM_ERR

    +
    +public static final int PM_NORM_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +pmErrno

    +
    +public int pmErrno
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmException

    +
    +public PmException(int errno,
    +                   java.lang.String msg)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +GetErrorString

    +
    +protected static java.lang.String GetErrorString(int errno)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmHomogeneous.html b/doc/javadoc/rcs/posemath/PmHomogeneous.html new file mode 100644 index 0000000..dcc7a81 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmHomogeneous.html @@ -0,0 +1,408 @@ + + + + + + +PmHomogeneous + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmHomogeneous

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmHomogeneous
    +
    +
    +
    Direct Known Subclasses:
    PM_HOMOGENEOUS
    +
    +
    +
    +
    public class PmHomogeneous
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    + PmRotationMatrixrot + +
    +           
    + PmCartesiantran + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PmHomogeneous() + +
    +           
    PmHomogeneous(double[][] matdd) + +
    +           
    PmHomogeneous(float[] matf) + +
    +           
    PmHomogeneous(PmCartesian starttran, + PmRotationMatrix startrot) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + double[][]toMatdd() + +
    +           
    + float[]toMatf() + +
    +           
    + float[]toMatfTranspose() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +tran

    +
    +public PmCartesian tran
    +
    +
    +
    +
    +
    + +

    +rot

    +
    +public PmRotationMatrix rot
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmHomogeneous

    +
    +public PmHomogeneous(float[] matf)
    +
    +
    +
    + +

    +PmHomogeneous

    +
    +public PmHomogeneous(double[][] matdd)
    +
    +
    +
    + +

    +PmHomogeneous

    +
    +public PmHomogeneous()
    +
    +
    +
    + +

    +PmHomogeneous

    +
    +public PmHomogeneous(PmCartesian starttran,
    +                     PmRotationMatrix startrot)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +toMatf

    +
    +public float[] toMatf()
    +
    +
    +
    +
    +
    +
    + +

    +toMatfTranspose

    +
    +public float[] toMatfTranspose()
    +
    +
    +
    +
    +
    +
    + +

    +toMatdd

    +
    +public double[][] toMatdd()
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmLine.html b/doc/javadoc/rcs/posemath/PmLine.html new file mode 100644 index 0000000..0e57c20 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmLine.html @@ -0,0 +1,322 @@ + + + + + + +PmLine + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmLine

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmLine
    +
    +
    +
    +
    public class PmLine
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + PmPoseend + +
    +           
    + PmPosestart + +
    +           
    + PmCartesianuVec + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    PmLine() + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +start

    +
    +public PmPose start
    +
    +
    +
    +
    +
    + +

    +end

    +
    +public PmPose end
    +
    +
    +
    +
    +
    + +

    +uVec

    +
    +public PmCartesian uVec
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmLine

    +
    +public PmLine()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmPose.html b/doc/javadoc/rcs/posemath/PmPose.html new file mode 100644 index 0000000..1a8ff7e --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmPose.html @@ -0,0 +1,563 @@ + + + + + + +PmPose + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmPose

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmPose
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    PM_POSE
    +
    +
    +
    +
    public class PmPose
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    + PmQuaternionrot + +
    +           
    + PmCartesiantran + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PmPose() + +
    +           
    PmPose(double[][] dd) + +
    +           
    PmPose(double tranx, + double trany, + double tranz, + double rots, + double rotx, + double roty, + double rotz) + +
    +           
    PmPose(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    PmPose(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PmPose(PmHomogeneous hom) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PmPoseclone() + +
    +           
    + booleanequals(PmHomogeneous h) + +
    +           
    + booleanequals(PmPose p) + +
    +           
    + double[][]toMatdd() + +
    +           
    + float[]toMatFloatArrayTranspose() + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +tran

    +
    +public PmCartesian tran
    +
    +
    +
    +
    +
    + +

    +rot

    +
    +public PmQuaternion rot
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmPose

    +
    +public PmPose()
    +
    +
    +
    + +

    +PmPose

    +
    +public PmPose(PmCartesian starttran,
    +              PmQuaternion startrot)
    +
    +
    +
    + +

    +PmPose

    +
    +public PmPose(PmCartesian starttran,
    +              PmRpy startrpy)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PmPose

    +
    +public PmPose(PmHomogeneous hom)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PmPose

    +
    +public PmPose(double[][] dd)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PmPose

    +
    +public PmPose(double tranx,
    +              double trany,
    +              double tranz,
    +              double rots,
    +              double rotx,
    +              double roty,
    +              double rotz)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmPose p)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmHomogeneous h)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +clone

    +
    +public PmPose clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +toMatFloatArrayTranspose

    +
    +public float[] toMatFloatArrayTranspose()
    +                                 throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toMatdd

    +
    +public double[][] toMatdd()
    +                   throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmQuaternion.html b/doc/javadoc/rcs/posemath/PmQuaternion.html new file mode 100644 index 0000000..4a57c18 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmQuaternion.html @@ -0,0 +1,692 @@ + + + + + + +PmQuaternion + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmQuaternion

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmQuaternion
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    PM_QUATERNION
    +
    +
    +
    +
    public class PmQuaternion
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubles + +
    +           
    + doublex + +
    +           
    + doubley + +
    +           
    + doublez + +
    +           
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PmQuaternion() + +
    +           
    PmQuaternion(double starts, + double startx, + double startz, + double starty) + +
    +           
    PmQuaternion(PmRpy rpy) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PmQuaternionclone() + +
    +           
    + booleanequals(PmQuaternion pq) + +
    +           
    + booleanequals(PmRotationMatrix prm) + +
    +           
    + booleanequals(PmRotationVector prv) + +
    +           
    + doublegetS() + +
    +           
    + doublegetX() + +
    +           
    + doublegetY() + +
    +           
    + doublegetZ() + +
    +           
    + voidsetS(double s) + +
    +           
    + voidsetX(double x) + +
    +           
    + voidsetY(double y) + +
    +           
    + voidsetZ(double z) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +s

    +
    +public double s
    +
    +
    +
    +
    +
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmQuaternion

    +
    +public PmQuaternion()
    +
    +
    +
    + +

    +PmQuaternion

    +
    +public PmQuaternion(PmRpy rpy)
    +             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PmQuaternion

    +
    +public PmQuaternion(double starts,
    +                    double startx,
    +                    double startz,
    +                    double starty)
    +             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmQuaternion pq)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmRotationMatrix prm)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +equals

    +
    +public boolean equals(PmRotationVector prv)
    +               throws PmException
    +
    +
    +
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +clone

    +
    +public PmQuaternion clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getS

    +
    +public double getS()
    +
    +
    +
    +
    +
    + +
    Returns:
    the s
    +
    +
    +
    + +

    +setS

    +
    +public void setS(double s)
    +
    +
    +
    +
    +
    +
    Parameters:
    s - the s to set
    +
    +
    +
    + +

    +getX

    +
    +public double getX()
    +
    +
    +
    +
    +
    + +
    Returns:
    the x
    +
    +
    +
    + +

    +setX

    +
    +public void setX(double x)
    +
    +
    +
    +
    +
    +
    Parameters:
    x - the x to set
    +
    +
    +
    + +

    +getY

    +
    +public double getY()
    +
    +
    +
    +
    +
    + +
    Returns:
    the y
    +
    +
    +
    + +

    +setY

    +
    +public void setY(double y)
    +
    +
    +
    +
    +
    +
    Parameters:
    y - the y to set
    +
    +
    +
    + +

    +getZ

    +
    +public double getZ()
    +
    +
    +
    +
    +
    + +
    Returns:
    the z
    +
    +
    +
    + +

    +setZ

    +
    +public void setZ(double z)
    +
    +
    +
    +
    +
    +
    Parameters:
    z - the z to set
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmRotationMatrix.html b/doc/javadoc/rcs/posemath/PmRotationMatrix.html new file mode 100644 index 0000000..429c3f5 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmRotationMatrix.html @@ -0,0 +1,395 @@ + + + + + + +PmRotationMatrix + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmRotationMatrix

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRotationMatrix
    +
    +
    +
    Direct Known Subclasses:
    PM_ROTATION_MATRIX
    +
    +
    +
    +
    public class PmRotationMatrix
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + PmCartesianx + +
    +           
    + PmCartesiany + +
    +           
    + PmCartesianz + +
    +           
    +  + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PmRotationMatrix() + +
    +           
    PmRotationMatrix(double xx, + double xy, + double xz, + double yx, + double yy, + double yz, + double zx, + double zy, + double zz) + +
    +           
    PmRotationMatrix(PmCartesian startx, + PmCartesian starty, + PmCartesian startz) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +x

    +
    +public PmCartesian x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public PmCartesian y
    +
    +
    +
    +
    +
    + +

    +z

    +
    +public PmCartesian z
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmRotationMatrix

    +
    +public PmRotationMatrix(PmCartesian startx,
    +                        PmCartesian starty,
    +                        PmCartesian startz)
    +
    +
    +
    + +

    +PmRotationMatrix

    +
    +public PmRotationMatrix()
    +
    +
    +
    + +

    +PmRotationMatrix

    +
    +public PmRotationMatrix(double xx,
    +                        double xy,
    +                        double xz,
    +                        double yx,
    +                        double yy,
    +                        double yz,
    +                        double zx,
    +                        double zy,
    +                        double zz)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmRotationVector.html b/doc/javadoc/rcs/posemath/PmRotationVector.html new file mode 100644 index 0000000..7a5f298 --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmRotationVector.html @@ -0,0 +1,399 @@ + + + + + + +PmRotationVector + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmRotationVector

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRotationVector
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    PM_ROTATION_VECTOR
    +
    +
    +
    +
    public class PmRotationVector
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doubles + +
    +           
    + doublex + +
    +           
    + doubley + +
    +           
    + doublez + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PmRotationVector() + +
    +           
    PmRotationVector(double starts, + double startx, + double starty, + double startz) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + java.lang.Objectclone() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +s

    +
    +public double s
    +
    +
    +
    +
    +
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +z

    +
    +public double z
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmRotationVector

    +
    +public PmRotationVector()
    +
    +
    +
    + +

    +PmRotationVector

    +
    +public PmRotationVector(double starts,
    +                        double startx,
    +                        double starty,
    +                        double startz)
    +                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public java.lang.Object clone()
    +                       throws java.lang.CloneNotSupportedException
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    + +
    Throws: +
    java.lang.CloneNotSupportedException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmRpy.html b/doc/javadoc/rcs/posemath/PmRpy.html new file mode 100644 index 0000000..e223a8e --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmRpy.html @@ -0,0 +1,499 @@ + + + + + + +PmRpy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmRpy

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmRpy
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    PM_RPY
    +
    +
    +
    +
    public class PmRpy
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublep + +
    +           
    + doubler + +
    +           
    + doubley + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PmRpyclone() + +
    +           
    + doublegetP() + +
    +           
    + doublegetR() + +
    +           
    + doublegetY() + +
    +           
    + voidnorm() + +
    +           
    + voidsetP(double p) + +
    +           
    + voidsetR(double r) + +
    +           
    + voidsetY(double y) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +r

    +
    +public double r
    +
    +
    +
    +
    +
    + +

    +p

    +
    +public double p
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PmRpy clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +getR

    +
    +public double getR()
    +
    +
    +
    +
    +
    + +
    Returns:
    the r
    +
    +
    +
    + +

    +setR

    +
    +public void setR(double r)
    +
    +
    +
    +
    +
    +
    Parameters:
    r - the r to set
    +
    +
    +
    + +

    +getP

    +
    +public double getP()
    +
    +
    +
    +
    +
    + +
    Returns:
    the p
    +
    +
    +
    + +

    +setP

    +
    +public void setP(double p)
    +
    +
    +
    +
    +
    +
    Parameters:
    p - the p to set
    +
    +
    +
    + +

    +getY

    +
    +public double getY()
    +
    +
    +
    +
    +
    + +
    Returns:
    the y
    +
    +
    +
    + +

    +setY

    +
    +public void setY(double y)
    +
    +
    +
    +
    +
    +
    Parameters:
    y - the y to set
    +
    +
    +
    + +

    +norm

    +
    +public void norm()
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/PmSpherical.html b/doc/javadoc/rcs/posemath/PmSpherical.html new file mode 100644 index 0000000..0317fae --- /dev/null +++ b/doc/javadoc/rcs/posemath/PmSpherical.html @@ -0,0 +1,343 @@ + + + + + + +PmSpherical + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class PmSpherical

    +
    +java.lang.Object
    +  extended by rcs.posemath.PmSpherical
    +
    +
    +
    Direct Known Subclasses:
    PM_SPHERICAL
    +
    +
    +
    +
    public class PmSpherical
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublephi + +
    +           
    + doubler + +
    +           
    + doubletheta + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    PmSpherical() + +
    +           
    PmSpherical(double starttheta, + double startphi, + double startr) + +
    +           
    +  + + + + + + + + + + + +
    +Method Summary
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +theta

    +
    +public double theta
    +
    +
    +
    +
    +
    + +

    +phi

    +
    +public double phi
    +
    +
    +
    +
    +
    + +

    +r

    +
    +public double r
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PmSpherical

    +
    +public PmSpherical(double starttheta,
    +                   double startphi,
    +                   double startr)
    +
    +
    +
    + +

    +PmSpherical

    +
    +public PmSpherical()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/Posemath.html b/doc/javadoc/rcs/posemath/Posemath.html new file mode 100644 index 0000000..5827e05 --- /dev/null +++ b/doc/javadoc/rcs/posemath/Posemath.html @@ -0,0 +1,6344 @@ + + + + + + +Posemath + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.posemath +
    +Class Posemath

    +
    +java.lang.Object
    +  extended by rcs.posemath.Posemath
    +
    +
    +
    +
    public class Posemath
    extends java.lang.Object
    + + +

    +Class created only for its static functions to convert and manipulate + the pose representations in the rest of the package. + Adapted from _posemath.c and posemath.cc. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static doubleCART_FUZZ + +
    +           
    +static doubleDBL_MAX + +
    +           
    +static booleandebug_on + +
    +           
    +static doubleDOUBLE_FUZZ + +
    +           
    +static doubleDOUBLECP_FUZZ + +
    +           
    +static doubleE_EPSILON + +
    +           
    +static PmRotationMatrixlast_bad_rotmat + +
    +           
    +static doublePI + +
    +           
    +static doublePI_2 + +
    +           
    +static doublePI_4 + +
    +           
    +static doublePM_2_PI + +
    +           
    +static intPM_DIV_ERR + +
    +           
    +static intPM_ERR + +
    +           
    +static intPM_IMPL_ERR + +
    +           
    +static intPM_NORM_ERR + +
    +           
    +static doublePM_PI + +
    +           
    +static doublePM_PI_2 + +
    +           
    +static doublePM_PI_4 + +
    +           
    +static booleanPM_PRINT_ERROR + +
    +           
    +static intPM_X + +
    +           
    +static intPM_Y + +
    +           
    +static intPM_Z + +
    +           
    +static intpmErrno + +
    +           
    +static doubleQ_FUZZ + +
    +           
    +static doubleQS_FUZZ + +
    +           
    +static doubleQSIN_FUZZ + +
    +           
    +static doubleRPY_P_FUZZ + +
    +           
    +static doubleRS_FUZZ + +
    +           
    +static doubleSINGULAR_EPSILON + +
    +           
    +static doubleSQRT_FUZZ + +
    +           
    +static doubleUNIT_QUAT_FUZZ + +
    +           
    +static doubleUNIT_SC_FUZZ + +
    +           
    +static doubleUNIT_VEC_FUZZ + +
    +           
    +static doubleV_FUZZ + +
    +           
    +static doubleZYX_Y_FUZZ + +
    +           
    +static doubleZYZ_Y_FUZZ + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    Posemath() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static PM_CARTESIANadd(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PmCartesianadd(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static double[]cartListToMagArray(java.util.List<? extends PM_CARTESIAN> clin) + +
    +           
    +static PM_CARTESIANcentroid(java.util.List<? extends PM_CARTESIAN> l) + +
    +           
    +static PM_CARTESIANcentroid(PM_CARTESIAN[] l) + +
    +           
    +static double[]computeLineFitErrors(PM_LINE line, + java.util.List<? extends PmCartesian> l) + +
    +          Compute an array of errors or the distance between + each point in list l to line line.
    +static PM_CARTESIANcross(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CYLINDRICALcross(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static voidcsvSync(java.io.File f1, + java.io.File f2, + java.io.PrintStream psOut) + +
    +           
    +static double[][]csvToHomMats(java.lang.String filename, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static double[][]csvToHomMatsChk(java.lang.String filename, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static java.util.List<java.lang.Double>csvToList(java.lang.String filename, + int pos) + +
    +           
    +static java.util.List<java.lang.Double>csvToListF(java.io.File f, + int pos) + +
    +           
    +static java.util.List<PM_POSE>csvToPoseList(java.lang.String filename, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static java.util.List<PM_POSE>csvToPoseListF(java.io.File f, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static java.util.List<PM_POSE>csvWithTimeToPoseList(java.lang.String filename, + java.util.List<java.lang.Double> timeList, + int time_pos, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static java.util.List<PM_POSE>csvWithTimeToPoseListF(java.io.File f, + java.util.List<java.lang.Double> timeList, + int time_pos, + int x_pos, + int y_pos, + int z_pos, + int roll_pos, + int pitch_pos, + int yaw_pos) + +
    +           
    +static doubledisp(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static doubledist_from_line(PM_LINE line, + PM_CARTESIAN c) + +
    +           
    +static doubledistFromPath(PM_CARTESIAN p, + PM_CARTESIAN[] waypoints) + +
    +          Return the minimum distance of the point p from the path specified by + the array of waypoints.
    +static PM_CARTESIANdivide(PM_CARTESIAN v, + double d) + +
    +           
    +static PM_CYLINDRICALdivide(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_QUATERNIONdivide(PM_QUATERNION q, + double s) + +
    +           
    +static PM_ROTATION_VECTORdivide(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static doubledot(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static doubledot(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static doubledot(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static java.util.List<PM_POSE>findStillPoints(java.util.List<java.lang.Double> tlist, + java.util.List<PM_POSE> posList, + double velThresh, + int avg_thresh, + java.util.List<java.lang.Double> stillTimes) + +
    +           
    +static voidfindStillTimes(java.lang.String[] args) + +
    +           
    +static PM_CIRCLEfitCircle2D_XY(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a circle + fit with least-squares error to x,y points
    +static PM_LINEfitLine(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a line + fit with least-squares error to x,y points
    +static java.util.List<PM_LINE>fitLines(java.util.List<? extends PM_CARTESIAN> l, + double tolerance, + int max_lines) + +
    +           
    +static PM_POSEgetCk1Pose() + +
    +           
    +static PM_POSEgetCk2Pose() + +
    +           
    +static java.util.List<PM_POSE>homMatsChk(double[][] X, + double[][] A, + double[][] Y, + double[][] B) + +
    +           
    +static java.util.List<PM_POSE>homMatsPrePostMult(double[][] X, + double[][] A, + double[][] Y) + +
    +           
    +static java.util.List<PM_POSE>homMatsToPoseList(double[][] dd) + +
    +           
    +static booleanin_line_segment(PM_LINE l, + PM_CARTESIAN c1, + double tol) + +
    +           
    +static PM_CARTESIANintersection(PM_LINE l1, + PM_LINE l2) + +
    +           
    +static PM_CARTESIANinv(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALinv(PM_CYLINDRICAL v) + +
    +           
    +static PM_HOMOGENEOUSinv(PM_HOMOGENEOUS h) + +
    +           
    +static PM_POSEinv(PM_POSE p) + +
    +           
    +static PM_QUATERNIONinv(PM_QUATERNION q1) + +
    +           
    +static PM_XYAinv(PM_XYA p) + +
    +           
    +static booleanIS_FUZZ(double a, + double fuzz) + +
    +           
    +static booleanisNorm(PM_CARTESIAN v) + +
    +           
    +static booleanisNorm(PM_CYLINDRICAL v) + +
    +           
    +static booleanisNorm(PM_QUATERNION q1) + +
    +           
    +static booleanisNorm(PM_ROTATION_MATRIX m) + +
    +           
    +static booleanisNorm(PM_ROTATION_VECTOR r) + +
    +           
    +static doublemag(PM_CARTESIAN v) + +
    +           
    +static doublemag(PM_CYLINDRICAL v1) + +
    +           
    +static doublemag(PM_QUATERNION q) + +
    +           
    +static doublemag(PmCartesian v) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    +static doublemaxA(double[] da) + +
    +           
    +static doublemean(double[] da) + +
    +           
    +static doublemean(java.lang.Double[] da) + +
    +           
    +static doublemean(java.util.List<java.lang.Double> l) + +
    +           
    +static PM_CARTESIANmultiply(double d, + PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALmultiply(double d, + PM_CYLINDRICAL c) + +
    +           
    +static PM_QUATERNIONmultiply(double s, + PM_QUATERNION q) + +
    +           
    +static PmRotationVectormultiply(double s, + PM_ROTATION_VECTOR r) + +
    +           
    +static PmCartesianmultiply(double d, + PmCartesian v) + +
    +           
    +static PM_CARTESIANmultiply(PM_CARTESIAN v, + double d) + +
    +           
    +static PM_CYLINDRICALmultiply(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_CARTESIANmultiply(PM_POSE p1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIAN[]multiply(PM_POSE pose, + PM_CARTESIAN[] l) + +
    +           
    +static PM_POSEmultiply(PM_POSE p1, + PM_POSE p2) + +
    +           
    +static PM_QUATERNIONmultiply(PM_QUATERNION q, + double s) + +
    +           
    +static PM_QUATERNIONmultiply(PM_QUATERNION q1, + PM_QUATERNION q2) + +
    +           
    +static PM_CARTESIANmultiply(PM_ROTATION_MATRIX m, + PM_CARTESIAN v) + +
    +           
    +static PM_ROTATION_MATRIXmultiply(PM_ROTATION_MATRIX m1, + PM_ROTATION_MATRIX m2) + +
    +           
    +static PM_ROTATION_VECTORmultiply(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static java.util.ArrayList<PM_CARTESIAN>multiply(PM_XYA xya, + java.util.List<? extends PM_CARTESIAN> l) + +
    +           
    +static PM_CARTESIANmultiply(PM_XYA p1, + PM_CARTESIAN p2) + +
    +           
    +static PM_CARTESIAN[]multiply(PM_XYA xya, + PM_CARTESIAN[] l) + +
    +           
    +static PM_XYAmultiply(PM_XYA p1, + PM_XYA p2) + +
    +           
    +static PmCartesianmultiply(PmCartesian v, + double d) + +
    +           
    +static PM_CARTESIANmultiply(PmQuaternion q1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANneg(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALneg(PM_CYLINDRICAL v) + +
    +           
    +static PM_CARTESIANnorm(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALnorm(PM_CYLINDRICAL v) + +
    +           
    +static PM_QUATERNIONnorm(PM_QUATERNION q1) + +
    +           
    +static PM_ROTATION_VECTORnorm(PM_ROTATION_VECTOR r) + +
    +           
    +static intpmAxisAngleQuatConvert(int axis, + double a, + PmQuaternion q) + +
    +          Store a quaternion based on a single rotation about an axis
    +static intpmCartCartAdd(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static booleanpmCartCartCompare(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intpmCartCartCross(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static doublepmCartCartDisp(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static doublepmCartCartDot(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intpmCartCartProj(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intpmCartCartSub(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static PmCartesianpmCartCentroid(java.util.List<? extends PmCartesian> l) + +
    +           
    +static PmCartesianpmCartCentroid(PmCartesian[] l) + +
    +           
    +static intpmCartCylConvert(PmCartesian v, + PmCylindrical c) + +
    +           
    +static intpmCartInv(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static booleanpmCartIsNorm(PmCartesian v) + +
    +           
    +static doublepmCartMag(PmCartesian v) + +
    +           
    +static intpmCartNeg(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static intpmCartNorm(PmCartesian v, + PmCartesian vout) + +
    +           
    +static intpmCartPlaneProj(PmCartesian v, + PmCartesian normal, + PmCartesian vout) + +
    +           
    +static intpmCartScalDiv(PmCartesian v1, + double d, + PmCartesian vout) + +
    +           
    +static intpmCartScalMult(PmCartesian v1, + double d, + PmCartesian vout) + +
    +           
    +static intpmCartSphConvert(PmCartesian v, + PmSpherical s) + +
    +          Convert a PmCartesian to PmSpherical
    +static intpmCircleInit(PmCircle circle, + PmPose start, + PmPose end, + PmCartesian center, + PmCartesian normal, + int turn) + +
    +           
    +static intpmCirclePoint(PmCircle circle, + double angle, + PmPose point) + +
    +           
    +static booleanpmClose(double a, + double b, + double eps) + +
    +          Determine if a within eps of b.
    +static intpmCylCartConvert(PmCylindrical c, + PmCartesian v) + +
    +          Convert cylindrical to cartesian.
    +static intpmCylCylAdd(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static booleanpmCylCylCompare(PmCylindrical v1, + PmCylindrical v2) + +
    +           
    +static intpmCylCylCross(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static doublepmCylCylDot(PmCylindrical c1, + PmCylindrical c2) + +
    +           
    +static intpmCylCylSub(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static intpmCylInv(PmCylindrical c, + PmCylindrical cout) + +
    +           
    +static booleanpmCylIsNorm(PmCylindrical v) + +
    +           
    +static doublepmCylMag(PmCylindrical c) + +
    +           
    +static intpmCylNeg(PmCylindrical v1, + PmCylindrical vout) + +
    +           
    +static intpmCylNorm(PmCylindrical v, + PmCylindrical vout) + +
    +           
    +static intpmCylScalDiv(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intpmCylScalMult(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intpmCylSphConvert(PmCylindrical c, + PmSpherical s) + +
    +          Convert a cylindrical to a spherical
    +static intpmHomInv(PmHomogeneous h1, + PmHomogeneous h2) + +
    +           
    +static intpmHomPoseConvert(PmHomogeneous h, + PmPose p) + +
    +           
    +static intpmLineInit(PmLine line, + PmPose start, + PmPose end) + +
    +           
    +static intpmLinePoint(PmLine line, + double len, + PmPose point) + +
    +           
    +static intpmMatCartMult(PmRotationMatrix m, + PmCartesian v, + PmCartesian vout) + +
    +           
    +static intpmMatInv(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static booleanpmMatIsNorm(PmRotationMatrix m) + +
    +           
    +static intpmMatMatMult(PmRotationMatrix m1, + PmRotationMatrix m2, + PmRotationMatrix mout) + +
    +           
    +static intpmMatNorm(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static intpmMatQuatConvert(PmRotationMatrix m, + PmQuaternion q) + +
    +           
    +static intpmMatRotConvert(PmRotationMatrix m, + PmRotationVector r) + +
    +           
    +static intpmMatRpyConvert(PmRotationMatrix m, + PmRpy rpy) + +
    +           
    +static intpmMatZyxConvert(PmRotationMatrix m, + PmEulerZyx zyx) + +
    +           
    +static intpmMatZyzConvert(PmRotationMatrix m, + PmEulerZyz zyz) + +
    +           
    +static intpmPoseCartMult(PmPose p1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intpmPoseHomConvert(PmPose p, + PmHomogeneous h) + +
    +           
    +static intpmPoseInv(PmPose p1, + PmPose p2) + +
    +           
    +static booleanpmPosePoseCompare(PmPose p1, + PmPose p2) + +
    +           
    +static intpmPosePoseMult(PmPose p1, + PmPose p2, + PmPose pout) + +
    +           
    +static PmQuaternionpmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle) + +
    +           
    +static intpmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle, + PmQuaternion pq) + +
    +           
    +static intpmQuatCartMult(PmQuaternion q1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intpmQuatInv(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanpmQuatIsNorm(PmQuaternion q1) + +
    +           
    +static doublepmQuatMag(PmQuaternion q) + +
    +           
    +static intpmQuatMatConvert(PmQuaternion q, + PmRotationMatrix m) + +
    +           
    +static intpmQuatNorm(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanpmQuatQuatCompare(PmQuaternion q1, + PmQuaternion q2) + +
    +           
    +static intpmQuatQuatMult(PmQuaternion q1, + PmQuaternion q2, + PmQuaternion qout) + +
    +           
    +static intpmQuatRotConvert(PmQuaternion q, + PmRotationVector r) + +
    +          Convert a quaternion to a rotation vector
    +static intpmQuatRpyConvert(PmQuaternion q, + PmRpy rpy) + +
    +           
    +static intpmQuatScalDiv(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intpmQuatScalMult(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intpmQuatZyxConvert(PmQuaternion q, + PmEulerZyx zyx) + +
    +           
    +static intpmQuatZyzConvert(PmQuaternion q, + PmEulerZyz zyz) + +
    +           
    +static booleanpmRotIsNorm(PmRotationVector r) + +
    +           
    +static intpmRotMatConvert(PmRotationVector r, + PmRotationMatrix m) + +
    +          Convert a rotation vector to a rotation matrix.
    +static intpmRotNorm(PmRotationVector r, + PmRotationVector rout) + +
    +           
    +static intpmRotQuatConvert(PmRotationVector r, + PmQuaternion q) + +
    +          Convert a rotation vector to a quaternion
    +static intpmRotRpyConvert(PmRotationVector r, + PmRpy rpy) + +
    +           
    +static intpmRotScalDiv(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intpmRotScalMult(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intpmRpyMatConvert(PmRpy rpy, + PmRotationMatrix m) + +
    +           
    +static intpmRpyQuatConvert(PmRpy rpy, + PmQuaternion q) + +
    +           
    +static intpmRpyRotConvert(PmRpy rpy, + PmRotationVector r) + +
    +           
    +static intpmRpyZyxConvert(PmRpy rpy, + PmEulerZyx zyx) + +
    +           
    +static intpmRpyZyzConvert(PmRpy rpy, + PmEulerZyz zyz) + +
    +           
    +static intpmSphCartConvert(PmSpherical s, + PmCartesian v) + +
    +          Convert PmSherical to PmCartesian
    +static intpmSphCylConvert(PmSpherical s, + PmCylindrical c) + +
    +          Convert a spherical to cylindrical
    +static doublepmSq(double x) + +
    +          Square of x or x*x.
    +static doublepmSqrt(double x) + +
    +          Square root function that adds some extra checks similiar to the + C++ pmSqrt() primarily only exists for converting C++ apps.
    +static intpmZyxMatConvert(PmEulerZyx zyx, + PmRotationMatrix m) + +
    +           
    +static intpmZyxQuatConvert(PmEulerZyx zyx, + PmQuaternion q) + +
    +           
    +static intpmZyxRotConvert(PmEulerZyx zyx, + PmRotationVector r) + +
    +           
    +static intpmZyxRpyConvert(PmEulerZyx zyx, + PmRpy rpy) + +
    +           
    +static intpmZyxZyzConvert(PmEulerZyx zyx, + PmEulerZyz zyz) + +
    +           
    +static intpmZyzMatConvert(PmEulerZyz zyz, + PmRotationMatrix m) + +
    +           
    +static intpmZyzQuatConvert(PmEulerZyz zyz, + PmQuaternion q) + +
    +           
    +static intpmZyzRotConvert(PmEulerZyz zyz, + PmRotationVector r) + +
    +           
    +static intpmZyzRpyConvert(PmEulerZyz zyz, + PmRpy rpy) + +
    +           
    +static PM_CARTESIANpoint_on_line_segment(PM_CARTESIAN s, + PM_CARTESIAN e, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANpoint_on_line(PM_CARTESIAN s, + PM_CARTESIAN u, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANpoint_on_line(PM_LINE line, + PM_CARTESIAN p) + +
    +           
    +static PmCartesianpoint_on_line(PM_LINE line, + PmCartesian p) + +
    +           
    +static java.util.List<PM_POSE>poseListChk(PM_POSE X, + java.util.List<? extends PM_POSE> A, + PM_POSE Y, + java.util.List<? extends PM_POSE> B) + +
    +           
    +static java.util.List<PM_POSE>poseListInv(java.util.List<? extends PM_POSE> plin) + +
    +           
    +static java.util.List<PM_POSE>poseListPoseListMultiply(java.util.List<? extends PM_POSE> pl1, + java.util.List<? extends PM_POSE> pl2) + +
    +           
    +static java.util.List<PM_POSE>poseListRandom(int size, + double angle_noise, + double cart_noise) + +
    +           
    +static java.util.List<PM_CARTESIAN>poseListToCartList(java.util.List<? extends PM_POSE> plin) + +
    +           
    +static double[][]poseListToHomMats(java.util.List<? extends PM_POSE> l) + +
    +           
    +static java.util.List<PM_RPY>poseListToRpyList(java.util.List<? extends PM_POSE> plin) + +
    +           
    +static java.util.List<PM_POSE>prePostMultiplyList(java.util.List<? extends PM_POSE> l, + PM_POSE pre, + PM_POSE post) + +
    +           
    +static voidprintCorrelationShifts(java.lang.String fname1, + int f1, + java.lang.String fname2, + int f2, + double start_shift, + double end_shift, + double inc, + java.io.PrintStream ps) + +
    +           
    +static PM_CARTESIANproj(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static double[]rpyListToMagArray(java.util.List<? extends PM_RPY> rlin) + +
    +           
    +static doubleshiftedSumOfProducts(java.util.List<java.lang.Double> l1, + java.util.List<java.lang.Double> l2, + double dshift) + +
    +           
    +static java.util.List<PM_LINE>splitToLines(java.util.List<? extends PM_CARTESIAN> l, + int num_lines, + double[] max_error, + int[] best_indexes) + +
    +           
    +static doublestddev(double[] da) + +
    +           
    +static doublestddev(java.lang.Double[] da) + +
    +           
    +static doublestddev(java.util.List<java.lang.Double> da) + +
    +           
    +static PM_CARTESIANsubtract(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PmCartesiansubtract(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static PM_CARTESIANtoCart(PM_CYLINDRICAL v) + +
    +          Convert a cylindrical to a cartesian
    +static PM_CARTESIANtoCart(PM_SPHERICAL v) + +
    +          Convert PM_SPHERICAL to PM_CARTESIAN
    +static PM_CYLINDRICALtoCyl(PM_SPHERICAL s) + +
    +          Convert a spherical to cylindrical
    +static PM_HOMOGENEOUStoHom(PM_POSE p) + +
    +           
    +static PM_ROTATION_MATRIXtoMat(PM_QUATERNION v) + +
    +          Convert a quaternion to a rotation matrix.
    +static PM_ROTATION_MATRIXtoMat(PM_ROTATION_VECTOR v) + +
    +          Convert rotation vector to rotation matrix
    +static PM_POSEtoPose(double[][] dd) + +
    +           
    +static PM_POSEtoPose(PM_HOMOGENEOUS h) + +
    +           
    +static PM_QUATERNIONtoQuat(PM_EULER_ZYX v) + +
    +           
    +static PM_QUATERNIONtoQuat(PM_EULER_ZYZ v) + +
    +           
    +static PM_QUATERNIONtoQuat(PM_ROTATION_MATRIX m) + +
    +           
    +static PM_QUATERNIONtoQuat(PM_ROTATION_VECTOR v) + +
    +          Convert a rotation vector to a quaternion
    +static PM_QUATERNIONtoQuat(PM_RPY v) + +
    +           
    +static PM_ROTATION_VECTORtoRot(PM_QUATERNION v) + +
    +          Convert quaternion to a rotation vector
    +static PM_ROTATION_VECTORtoRot(PM_RPY rpy) + +
    +           
    +static PM_RPYtoRpy(PM_QUATERNION v) + +
    +           
    +static PM_RPYtoRpy(PmRotationMatrix m) + +
    +           
    +static PM_SPHERICALtoSph(PM_CARTESIAN v) + +
    +          Convert a PM_CARTESIAN to PM_SPHERICAL
    +static PM_SPHERICALtoSph(PM_CYLINDRICAL c) + +
    +          Convert a cylindrical to a spherical
    +static double[][]tstArray() + +
    +           
    +static PM_CARTESIANweightedAvg(PM_CARTESIAN c1, + double s1, + PM_CARTESIAN c2, + double s2) + +
    +          Adds two PM_CARTESIANS and returns a weightedAvg + ie.
    +static PM_POSEweightedAvg(PM_POSE p1, + double s1, + PM_POSE p2, + double s2) + +
    +          Adds two PM_POSES and returns a weightedAvg + ie.
    +static voidwriteTimeAndPoseList(java.util.List<java.lang.Double> tlist, + java.util.List<PM_POSE> posList, + java.io.PrintStream psOut) + +
    +           
    +static voidwriteTimeAndPoseListS(java.util.List<java.lang.Double> tlist, + java.util.List<PM_POSE> posList, + java.lang.String fname) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +pmErrno

    +
    +public static int pmErrno
    +
    +
    +
    +
    +
    + +

    +PM_PRINT_ERROR

    +
    +public static boolean PM_PRINT_ERROR
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +CART_FUZZ

    +
    +public static final double CART_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +DOUBLECP_FUZZ

    +
    +public static final double DOUBLECP_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +DOUBLE_FUZZ

    +
    +public static final double DOUBLE_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +E_EPSILON

    +
    +public static final double E_EPSILON
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_2_PI

    +
    +public static final double PM_2_PI
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_DIV_ERR

    +
    +public static final int PM_DIV_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_ERR

    +
    +public static final int PM_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_IMPL_ERR

    +
    +public static final int PM_IMPL_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_NORM_ERR

    +
    +public static final int PM_NORM_ERR
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_PI

    +
    +public static final double PM_PI
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_PI_2

    +
    +public static final double PM_PI_2
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_PI_4

    +
    +public static final double PM_PI_4
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +QSIN_FUZZ

    +
    +public static final double QSIN_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +QS_FUZZ

    +
    +public static final double QS_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +Q_FUZZ

    +
    +public static final double Q_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RPY_P_FUZZ

    +
    +public static final double RPY_P_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +RS_FUZZ

    +
    +public static final double RS_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SINGULAR_EPSILON

    +
    +public static final double SINGULAR_EPSILON
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SQRT_FUZZ

    +
    +public static final double SQRT_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +UNIT_QUAT_FUZZ

    +
    +public static final double UNIT_QUAT_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +UNIT_SC_FUZZ

    +
    +public static final double UNIT_SC_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +UNIT_VEC_FUZZ

    +
    +public static final double UNIT_VEC_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +V_FUZZ

    +
    +public static final double V_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ZYX_Y_FUZZ

    +
    +public static final double ZYX_Y_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ZYZ_Y_FUZZ

    +
    +public static final double ZYZ_Y_FUZZ
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +DBL_MAX

    +
    +public static final double DBL_MAX
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PI

    +
    +public static final double PI
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PI_2

    +
    +public static final double PI_2
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PI_4

    +
    +public static final double PI_4
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_X

    +
    +public static final int PM_X
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_Y

    +
    +public static final int PM_Y
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +PM_Z

    +
    +public static final int PM_Z
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +last_bad_rotmat

    +
    +public static PmRotationMatrix last_bad_rotmat
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +Posemath

    +
    +public Posemath()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +writeTimeAndPoseListS

    +
    +public static void writeTimeAndPoseListS(java.util.List<java.lang.Double> tlist,
    +                                         java.util.List<PM_POSE> posList,
    +                                         java.lang.String fname)
    +
    +
    +
    +
    +
    +
    + +

    +writeTimeAndPoseList

    +
    +public static void writeTimeAndPoseList(java.util.List<java.lang.Double> tlist,
    +                                        java.util.List<PM_POSE> posList,
    +                                        java.io.PrintStream psOut)
    +                                 throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvSync

    +
    +public static void csvSync(java.io.File f1,
    +                           java.io.File f2,
    +                           java.io.PrintStream psOut)
    +                    throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +shiftedSumOfProducts

    +
    +public static double shiftedSumOfProducts(java.util.List<java.lang.Double> l1,
    +                                          java.util.List<java.lang.Double> l2,
    +                                          double dshift)
    +
    +
    +
    +
    +
    +
    + +

    +printCorrelationShifts

    +
    +public static void printCorrelationShifts(java.lang.String fname1,
    +                                          int f1,
    +                                          java.lang.String fname2,
    +                                          int f2,
    +                                          double start_shift,
    +                                          double end_shift,
    +                                          double inc,
    +                                          java.io.PrintStream ps)
    +                                   throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +                 throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +findStillTimes

    +
    +public static void findStillTimes(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    + +

    +fitLine

    +
    +public static PM_LINE fitLine(java.util.List<? extends PmCartesian> l)
    +
    +
    Ignores the z value in each element of the list and returns a line + fit with least-squares error to x,y points +

    +

    +
    Parameters:
    l - list of PmCartesian points to fit +
    Returns:
    PM_LINE with start,end and unit vector of the line.
    +
    +
    +
    + +

    +weightedAvg

    +
    +public static PM_CARTESIAN weightedAvg(PM_CARTESIAN c1,
    +                                       double s1,
    +                                       PM_CARTESIAN c2,
    +                                       double s2)
    +
    +
    Adds two PM_CARTESIANS and returns a weightedAvg + ie. c1*s1+c2*s2; +

    +

    +
    Parameters:
    c1 - first PM_CARTESIAN to add
    s1 - weighting scale factor for c1
    c2 - second PM_CARTESIAN to add
    s2 - weighting scale factor for c2 +
    Returns:
    c1*s1+c2*s2
    +
    +
    +
    + +

    +weightedAvg

    +
    +public static PM_POSE weightedAvg(PM_POSE p1,
    +                                  double s1,
    +                                  PM_POSE p2,
    +                                  double s2)
    +                           throws PmException
    +
    +
    Adds two PM_POSES and returns a weightedAvg + ie. c1*s1+c2*s2; +

    +

    +
    Parameters:
    c1 - first PM_POSE to add
    s1 - weighting scale factor for c1
    c2 - second PM_POSE to add
    s2 - weighting scale factor for c2 +
    Returns:
    c1*s1+c2*s2 +
    Throws: +
    PmException
    +
    +
    +
    + +

    +computeLineFitErrors

    +
    +public static double[] computeLineFitErrors(PM_LINE line,
    +                                            java.util.List<? extends PmCartesian> l)
    +
    +
    Compute an array of errors or the distance between + each point in list l to line line. +

    +

    +
    Parameters:
    line - line points should be near
    l - list of points near line +
    Returns:
    array of errors
    +
    +
    +
    + +

    +fitCircle2D_XY

    +
    +public static PM_CIRCLE fitCircle2D_XY(java.util.List<? extends PmCartesian> l)
    +
    +
    Ignores the z value in each element of the list and returns a circle + fit with least-squares error to x,y points +

    +

    +
    Parameters:
    l - list of PmCartesian points to fit +
    Returns:
    PM_CIRCLE with center and radius of the fitted circle.
    +
    +
    +
    + +

    +IS_FUZZ

    +
    +public static boolean IS_FUZZ(double a,
    +                              double fuzz)
    +                       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmSqrt

    +
    +public static double pmSqrt(double x)
    +                     throws PmException
    +
    +
    Square root function that adds some extra checks similiar to the + C++ pmSqrt() primarily only exists for converting C++ apps. + Otherwise use Math.sqrt(). +

    +

    +
    Parameters:
    x - number to take square root of +
    Returns:
    square root of x +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmSq

    +
    +public static double pmSq(double x)
    +
    +
    Square of x or x*x. +

    +

    +
    Parameters:
    x - number to square +
    Returns:
    square of x
    +
    +
    +
    + +

    +pmClose

    +
    +public static boolean pmClose(double a,
    +                              double b,
    +                              double eps)
    +
    +
    Determine if a within eps of b. +

    +

    +
    Parameters:
    a -
    b -
    eps - +
    Returns:
    (Math.abs(a - b) < eps)
    +
    +
    +
    + +

    +pmCartCylConvert

    +
    +public static int pmCartCylConvert(PmCartesian v,
    +                                   PmCylindrical c)
    +
    +
    +
    +
    +
    +
    + +

    +toSph

    +
    +public static PM_SPHERICAL toSph(PM_CARTESIAN v)
    +
    +
    Convert a PM_CARTESIAN to PM_SPHERICAL +

    +

    +
    Parameters:
    v - cartesian to convert +
    Returns:
    v in spherical coords
    +
    +
    +
    + +

    +pmCartSphConvert

    +
    +public static int pmCartSphConvert(PmCartesian v,
    +                                   PmSpherical s)
    +
    +
    Convert a PmCartesian to PmSpherical +

    +

    +
    Parameters:
    v - cartesian to convert
    s - spherical to store converted results in +
    Returns:
    0
    +
    +
    +
    + +

    +toCart

    +
    +public static PM_CARTESIAN toCart(PM_SPHERICAL v)
    +
    +
    Convert PM_SPHERICAL to PM_CARTESIAN +

    +

    +
    Parameters:
    v - cartesian to convert +
    Returns:
    v in spherical coords
    +
    +
    +
    + +

    +pmSphCartConvert

    +
    +public static int pmSphCartConvert(PmSpherical s,
    +                                   PmCartesian v)
    +
    +
    Convert PmSherical to PmCartesian +

    +

    +
    Parameters:
    s - spherical to convert
    v - cartesian to store converted result +
    Returns:
    0
    +
    +
    +
    + +

    +toCyl

    +
    +public static PM_CYLINDRICAL toCyl(PM_SPHERICAL s)
    +
    +
    Convert a spherical to cylindrical +

    +

    +
    Parameters:
    s - spherical to convert +
    Returns:
    s in cylindrical coordinates.
    +
    +
    +
    + +

    +pmSphCylConvert

    +
    +public static int pmSphCylConvert(PmSpherical s,
    +                                  PmCylindrical c)
    +
    +
    Convert a spherical to cylindrical +

    +

    +
    Parameters:
    s - spherical to convert
    c - cylindrical to store converted value +
    Returns:
    0
    +
    +
    +
    + +

    +toCart

    +
    +public static PM_CARTESIAN toCart(PM_CYLINDRICAL v)
    +
    +
    Convert a cylindrical to a cartesian +

    +

    +
    Parameters:
    v - cylindrical to convert +
    Returns:
    v in cartesian coords
    +
    +
    +
    + +

    +pmCylCartConvert

    +
    +public static int pmCylCartConvert(PmCylindrical c,
    +                                   PmCartesian v)
    +
    +
    Convert cylindrical to cartesian. +

    +

    +
    Parameters:
    c - cylindrical to convert
    v - cartesian to store result +
    Returns:
    0
    +
    +
    +
    + +

    +toSph

    +
    +public static PM_SPHERICAL toSph(PM_CYLINDRICAL c)
    +
    +
    Convert a cylindrical to a spherical +

    +

    +
    Parameters:
    c - cylindrical to convert +
    Returns:
    c in spherical coordinates
    +
    +
    +
    + +

    +pmCylSphConvert

    +
    +public static int pmCylSphConvert(PmCylindrical c,
    +                                  PmSpherical s)
    +
    +
    Convert a cylindrical to a spherical +

    +

    +
    Parameters:
    c - cylindrical to convert
    s - spherical to store result +
    Returns:
    0
    +
    +
    +
    + +

    +pmAxisAngleQuatConvert

    +
    +public static int pmAxisAngleQuatConvert(int axis,
    +                                         double a,
    +                                         PmQuaternion q)
    +                                  throws PmException
    +
    +
    Store a quaternion based on a single rotation about an axis +

    +

    +
    Parameters:
    axis - either PM_X,PM_Y, or PM_Z
    a - angle in radians for rotation
    q - quaternion to store result +
    Returns:
    0 +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toQuat

    +
    +public static PM_QUATERNION toQuat(PM_ROTATION_VECTOR v)
    +                            throws PmException
    +
    +
    Convert a rotation vector to a quaternion +

    +

    +
    Parameters:
    v - rotation vector to convert +
    Returns:
    v as a quaternion +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotQuatConvert

    +
    +public static int pmRotQuatConvert(PmRotationVector r,
    +                                   PmQuaternion q)
    +                            throws PmException
    +
    +
    Convert a rotation vector to a quaternion +

    +

    +
    Parameters:
    r - rotation vector to convert
    q - quaternion to store result +
    Returns:
    0 +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toMat

    +
    +public static PM_ROTATION_MATRIX toMat(PM_ROTATION_VECTOR v)
    +                                throws PmException
    +
    +
    Convert rotation vector to rotation matrix +

    +

    +
    Parameters:
    v - rotation vector to convert (must be normalized) +
    Returns:
    v as a rotation matrix +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotMatConvert

    +
    +public static int pmRotMatConvert(PmRotationVector r,
    +                                  PmRotationMatrix m)
    +                           throws PmException
    +
    +
    Convert a rotation vector to a rotation matrix. +

    +

    +
    Parameters:
    r - rotation vector to convert
    m - rotation matrix to store result +
    Returns:
    0 +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotRpyConvert

    +
    +public static int pmRotRpyConvert(PmRotationVector r,
    +                                  PmRpy rpy)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toRot

    +
    +public static PM_ROTATION_VECTOR toRot(PM_QUATERNION v)
    +                                throws PmException
    +
    +
    Convert quaternion to a rotation vector +

    +

    +
    Parameters:
    v - quaternion to convert (must be normalized) +
    Returns:
    v as a rotation vector +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatRotConvert

    +
    +public static int pmQuatRotConvert(PmQuaternion q,
    +                                   PmRotationVector r)
    +                            throws PmException
    +
    +
    Convert a quaternion to a rotation vector +

    +

    +
    Parameters:
    q - quaternion to convert
    r - rotation vector to store result +
    Returns:
    0 +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toMat

    +
    +public static PM_ROTATION_MATRIX toMat(PM_QUATERNION v)
    +                                throws PmException
    +
    +
    Convert a quaternion to a rotation matrix. +

    +

    +
    Parameters:
    v - quaternion to convert (must be normalized) +
    Returns:
    v as a rotation matrix +
    Throws: +
    PmException
    +
    +
    +
    + +

    +distFromPath

    +
    +public static double distFromPath(PM_CARTESIAN p,
    +                                  PM_CARTESIAN[] waypoints)
    +
    +
    Return the minimum distance of the point p from the path specified by + the array of waypoints. The distance is the distance to the closest line + segment specified by each pair of consecutive points. +

    +

    +
    Parameters:
    p - point we want to know how close it is to a path
    waypoints - array of waypoints to specify a path. +
    Returns:
    distance to nearest line segment in whatever units (p and waypoints are in)
    +
    +
    +
    + +

    +maxA

    +
    +public static double maxA(double[] da)
    +
    +
    +
    +
    +
    +
    + +

    +splitToLines

    +
    +public static java.util.List<PM_LINE> splitToLines(java.util.List<? extends PM_CARTESIAN> l,
    +                                                   int num_lines,
    +                                                   double[] max_error,
    +                                                   int[] best_indexes)
    +
    +
    +
    +
    +
    +
    + +

    +fitLines

    +
    +public static java.util.List<PM_LINE> fitLines(java.util.List<? extends PM_CARTESIAN> l,
    +                                               double tolerance,
    +                                               int max_lines)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static java.util.ArrayList<PM_CARTESIAN> multiply(PM_XYA xya,
    +                                                         java.util.List<? extends PM_CARTESIAN> l)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN[] multiply(PM_XYA xya,
    +                                      PM_CARTESIAN[] l)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN[] multiply(PM_POSE pose,
    +                                      PM_CARTESIAN[] l)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartCentroid

    +
    +public static PmCartesian pmCartCentroid(java.util.List<? extends PmCartesian> l)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartCentroid

    +
    +public static PmCartesian pmCartCentroid(PmCartesian[] l)
    +
    +
    +
    +
    +
    +
    + +

    +centroid

    +
    +public static PM_CARTESIAN centroid(PM_CARTESIAN[] l)
    +
    +
    +
    +
    +
    +
    + +

    +centroid

    +
    +public static PM_CARTESIAN centroid(java.util.List<? extends PM_CARTESIAN> l)
    +
    +
    +
    +
    +
    +
    + +

    +pmQuatMatConvert

    +
    +public static int pmQuatMatConvert(PmQuaternion q,
    +                                   PmRotationMatrix m)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatZyzConvert

    +
    +public static int pmQuatZyzConvert(PmQuaternion q,
    +                                   PmEulerZyz zyz)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatZyxConvert

    +
    +public static int pmQuatZyxConvert(PmQuaternion q,
    +                                   PmEulerZyx zyx)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toRpy

    +
    +public static PM_RPY toRpy(PM_QUATERNION v)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatRpyConvert

    +
    +public static int pmQuatRpyConvert(PmQuaternion q,
    +                                   PmRpy rpy)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatRotConvert

    +
    +public static int pmMatRotConvert(PmRotationMatrix m,
    +                                  PmRotationVector r)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toQuat

    +
    +public static PM_QUATERNION toQuat(PM_ROTATION_MATRIX m)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatQuatConvert

    +
    +public static int pmMatQuatConvert(PmRotationMatrix m,
    +                                   PmQuaternion q)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatZyzConvert

    +
    +public static int pmMatZyzConvert(PmRotationMatrix m,
    +                                  PmEulerZyz zyz)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatZyxConvert

    +
    +public static int pmMatZyxConvert(PmRotationMatrix m,
    +                                  PmEulerZyx zyx)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatRpyConvert

    +
    +public static int pmMatRpyConvert(PmRotationMatrix m,
    +                                  PmRpy rpy)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toRpy

    +
    +public static PM_RPY toRpy(PmRotationMatrix m)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyzRotConvert

    +
    +public static int pmZyzRotConvert(PmEulerZyz zyz,
    +                                  PmRotationVector r)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toQuat

    +
    +public static PM_QUATERNION toQuat(PM_EULER_ZYZ v)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyzQuatConvert

    +
    +public static int pmZyzQuatConvert(PmEulerZyz zyz,
    +                                   PmQuaternion q)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyzMatConvert

    +
    +public static int pmZyzMatConvert(PmEulerZyz zyz,
    +                                  PmRotationMatrix m)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyzRpyConvert

    +
    +public static int pmZyzRpyConvert(PmEulerZyz zyz,
    +                                  PmRpy rpy)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyxRotConvert

    +
    +public static int pmZyxRotConvert(PmEulerZyx zyx,
    +                                  PmRotationVector r)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toQuat

    +
    +public static PM_QUATERNION toQuat(PM_EULER_ZYX v)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyxQuatConvert

    +
    +public static int pmZyxQuatConvert(PmEulerZyx zyx,
    +                                   PmQuaternion q)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyxMatConvert

    +
    +public static int pmZyxMatConvert(PmEulerZyx zyx,
    +                                  PmRotationMatrix m)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyxZyzConvert

    +
    +public static int pmZyxZyzConvert(PmEulerZyx zyx,
    +                                  PmEulerZyz zyz)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmZyxRpyConvert

    +
    +public static int pmZyxRpyConvert(PmEulerZyx zyx,
    +                                  PmRpy rpy)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRpyRotConvert

    +
    +public static int pmRpyRotConvert(PmRpy rpy,
    +                                  PmRotationVector r)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toRot

    +
    +public static PM_ROTATION_VECTOR toRot(PM_RPY rpy)
    +                                throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toQuat

    +
    +public static PM_QUATERNION toQuat(PM_RPY v)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRpyQuatConvert

    +
    +public static int pmRpyQuatConvert(PmRpy rpy,
    +                                   PmQuaternion q)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRpyMatConvert

    +
    +public static int pmRpyMatConvert(PmRpy rpy,
    +                                  PmRotationMatrix m)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRpyZyzConvert

    +
    +public static int pmRpyZyzConvert(PmRpy rpy,
    +                                  PmEulerZyz zyz)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRpyZyxConvert

    +
    +public static int pmRpyZyxConvert(PmRpy rpy,
    +                                  PmEulerZyx zyx)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toPose

    +
    +public static PM_POSE toPose(PM_HOMOGENEOUS h)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toHom

    +
    +public static PM_HOMOGENEOUS toHom(PM_POSE p)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmPoseHomConvert

    +
    +public static int pmPoseHomConvert(PmPose p,
    +                                   PmHomogeneous h)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmHomPoseConvert

    +
    +public static int pmHomPoseConvert(PmHomogeneous h,
    +                                   PmPose p)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartCartCompare

    +
    +public static boolean pmCartCartCompare(PmCartesian v1,
    +                                        PmCartesian v2)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +dot

    +
    +public static double dot(PmCartesian v1,
    +                         PmCartesian v2)
    +
    +
    +
    +
    +
    +
    + +

    +dot

    +
    +public static double dot(PM_CARTESIAN v1,
    +                         PM_CARTESIAN v2)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartCartDot

    +
    +public static double pmCartCartDot(PmCartesian v1,
    +                                   PmCartesian v2)
    +
    +
    +
    +
    +
    +
    + +

    +cross

    +
    +public static PM_CARTESIAN cross(PM_CARTESIAN v1,
    +                                 PM_CARTESIAN v2)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartCartCross

    +
    +public static int pmCartCartCross(PmCartesian v1,
    +                                  PmCartesian v2,
    +                                  PmCartesian vout)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +mag

    +
    +public static double mag(PM_CARTESIAN v)
    +
    +
    +
    +
    +
    +
    + +

    +mag

    +
    +public static double mag(PmCartesian v)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartMag

    +
    +public static double pmCartMag(PmCartesian v)
    +
    +
    +
    +
    +
    +
    + +

    +disp

    +
    +public static double disp(PM_CARTESIAN v1,
    +                          PM_CARTESIAN v2)
    +                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartCartDisp

    +
    +public static double pmCartCartDisp(PmCartesian v1,
    +                                    PmCartesian v2)
    +                             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +add

    +
    +public static PM_CARTESIAN add(PM_CARTESIAN v1,
    +                               PM_CARTESIAN v2)
    +
    +
    +
    +
    +
    +
    + +

    +add

    +
    +public static PmCartesian add(PmCartesian v1,
    +                              PmCartesian v2)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartCartAdd

    +
    +public static int pmCartCartAdd(PmCartesian v1,
    +                                PmCartesian v2,
    +                                PmCartesian vout)
    +
    +
    +
    +
    +
    +
    + +

    +subtract

    +
    +public static PM_CARTESIAN subtract(PM_CARTESIAN v1,
    +                                    PM_CARTESIAN v2)
    +
    +
    +
    +
    +
    +
    + +

    +subtract

    +
    +public static PmCartesian subtract(PmCartesian v1,
    +                                   PmCartesian v2)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartCartSub

    +
    +public static int pmCartCartSub(PmCartesian v1,
    +                                PmCartesian v2,
    +                                PmCartesian vout)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(double d,
    +                                    PM_CARTESIAN v)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(PM_CARTESIAN v,
    +                                    double d)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PmCartesian multiply(double d,
    +                                   PmCartesian v)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PmCartesian multiply(PmCartesian v,
    +                                   double d)
    +
    +
    +
    +
    +
    +
    + +

    +pmCartScalMult

    +
    +public static int pmCartScalMult(PmCartesian v1,
    +                                 double d,
    +                                 PmCartesian vout)
    +
    +
    +
    +
    +
    +
    + +

    +divide

    +
    +public static PM_CARTESIAN divide(PM_CARTESIAN v,
    +                                  double d)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartScalDiv

    +
    +public static int pmCartScalDiv(PmCartesian v1,
    +                                double d,
    +                                PmCartesian vout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +neg

    +
    +public static PM_CARTESIAN neg(PM_CARTESIAN v)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartNeg

    +
    +public static int pmCartNeg(PmCartesian v1,
    +                            PmCartesian vout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_CARTESIAN inv(PM_CARTESIAN v)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartInv

    +
    +public static int pmCartInv(PmCartesian v1,
    +                            PmCartesian vout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +norm

    +
    +public static PM_CARTESIAN norm(PM_CARTESIAN v)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartNorm

    +
    +public static int pmCartNorm(PmCartesian v,
    +                             PmCartesian vout)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +isNorm

    +
    +public static boolean isNorm(PM_CARTESIAN v)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartIsNorm

    +
    +public static boolean pmCartIsNorm(PmCartesian v)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +proj

    +
    +public static PM_CARTESIAN proj(PM_CARTESIAN v1,
    +                                PM_CARTESIAN v2)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartCartProj

    +
    +public static int pmCartCartProj(PmCartesian v1,
    +                                 PmCartesian v2,
    +                                 PmCartesian vout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCartPlaneProj

    +
    +public static int pmCartPlaneProj(PmCartesian v,
    +                                  PmCartesian normal,
    +                                  PmCartesian vout)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylCylAdd

    +
    +public static int pmCylCylAdd(PmCylindrical c1,
    +                              PmCylindrical c2,
    +                              PmCylindrical cout)
    +                       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylCylSub

    +
    +public static int pmCylCylSub(PmCylindrical c1,
    +                              PmCylindrical c2,
    +                              PmCylindrical cout)
    +                       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CYLINDRICAL multiply(double d,
    +                                      PM_CYLINDRICAL c)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CYLINDRICAL multiply(PM_CYLINDRICAL c,
    +                                      double d)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylScalMult

    +
    +public static int pmCylScalMult(PmCylindrical v1,
    +                                double d,
    +                                PmCylindrical vout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +divide

    +
    +public static PM_CYLINDRICAL divide(PM_CYLINDRICAL c,
    +                                    double d)
    +                             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylScalDiv

    +
    +public static int pmCylScalDiv(PmCylindrical v1,
    +                               double d,
    +                               PmCylindrical vout)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylCylCompare

    +
    +public static boolean pmCylCylCompare(PmCylindrical v1,
    +                                      PmCylindrical v2)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +dot

    +
    +public static double dot(PM_CYLINDRICAL v1,
    +                         PM_CYLINDRICAL v2)
    +                  throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylCylDot

    +
    +public static double pmCylCylDot(PmCylindrical c1,
    +                                 PmCylindrical c2)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +mag

    +
    +public static double mag(PM_CYLINDRICAL v1)
    +                  throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylMag

    +
    +public static double pmCylMag(PmCylindrical c)
    +                       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +cross

    +
    +public static PM_CYLINDRICAL cross(PM_CYLINDRICAL v1,
    +                                   PM_CYLINDRICAL v2)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylCylCross

    +
    +public static int pmCylCylCross(PmCylindrical c1,
    +                                PmCylindrical c2,
    +                                PmCylindrical cout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +neg

    +
    +public static PM_CYLINDRICAL neg(PM_CYLINDRICAL v)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylNeg

    +
    +public static int pmCylNeg(PmCylindrical v1,
    +                           PmCylindrical vout)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +norm

    +
    +public static PM_CYLINDRICAL norm(PM_CYLINDRICAL v)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylNorm

    +
    +public static int pmCylNorm(PmCylindrical v,
    +                            PmCylindrical vout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_CYLINDRICAL inv(PM_CYLINDRICAL v)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylInv

    +
    +public static int pmCylInv(PmCylindrical c,
    +                           PmCylindrical cout)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +isNorm

    +
    +public static boolean isNorm(PM_CYLINDRICAL v)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCylIsNorm

    +
    +public static boolean pmCylIsNorm(PmCylindrical v)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatAxisAngleMult

    +
    +public static PmQuaternion pmQuatAxisAngleMult(PmQuaternion q,
    +                                               int axis,
    +                                               double angle)
    +                                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatAxisAngleMult

    +
    +public static int pmQuatAxisAngleMult(PmQuaternion q,
    +                                      int axis,
    +                                      double angle,
    +                                      PmQuaternion pq)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_ROTATION_VECTOR multiply(PM_ROTATION_VECTOR r,
    +                                          double s)
    +                                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PmRotationVector multiply(double s,
    +                                        PM_ROTATION_VECTOR r)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotScalMult

    +
    +public static int pmRotScalMult(PmRotationVector r,
    +                                double s,
    +                                PmRotationVector rout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +divide

    +
    +public static PM_ROTATION_VECTOR divide(PM_ROTATION_VECTOR r,
    +                                        double s)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotScalDiv

    +
    +public static int pmRotScalDiv(PmRotationVector r,
    +                               double s,
    +                               PmRotationVector rout)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +isNorm

    +
    +public static boolean isNorm(PM_ROTATION_VECTOR r)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotIsNorm

    +
    +public static boolean pmRotIsNorm(PmRotationVector r)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +norm

    +
    +public static PM_ROTATION_VECTOR norm(PM_ROTATION_VECTOR r)
    +                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmRotNorm

    +
    +public static int pmRotNorm(PmRotationVector r,
    +                            PmRotationVector rout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatNorm

    +
    +public static int pmMatNorm(PmRotationMatrix m,
    +                            PmRotationMatrix mout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +isNorm

    +
    +public static boolean isNorm(PM_ROTATION_MATRIX m)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatIsNorm

    +
    +public static boolean pmMatIsNorm(PmRotationMatrix m)
    +                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatInv

    +
    +public static int pmMatInv(PmRotationMatrix m,
    +                           PmRotationMatrix mout)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(PM_ROTATION_MATRIX m,
    +                                    PM_CARTESIAN v)
    +                             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatCartMult

    +
    +public static int pmMatCartMult(PmRotationMatrix m,
    +                                PmCartesian v,
    +                                PmCartesian vout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_ROTATION_MATRIX multiply(PM_ROTATION_MATRIX m1,
    +                                          PM_ROTATION_MATRIX m2)
    +                                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmMatMatMult

    +
    +public static int pmMatMatMult(PmRotationMatrix m1,
    +                               PmRotationMatrix m2,
    +                               PmRotationMatrix mout)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatQuatCompare

    +
    +public static boolean pmQuatQuatCompare(PmQuaternion q1,
    +                                        PmQuaternion q2)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +mag

    +
    +public static double mag(PM_QUATERNION q)
    +                  throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatMag

    +
    +public static double pmQuatMag(PmQuaternion q)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +norm

    +
    +public static PM_QUATERNION norm(PM_QUATERNION q1)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatNorm

    +
    +public static int pmQuatNorm(PmQuaternion q1,
    +                             PmQuaternion qout)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_QUATERNION inv(PM_QUATERNION q1)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatInv

    +
    +public static int pmQuatInv(PmQuaternion q1,
    +                            PmQuaternion qout)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +isNorm

    +
    +public static boolean isNorm(PM_QUATERNION q1)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatIsNorm

    +
    +public static boolean pmQuatIsNorm(PmQuaternion q1)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_QUATERNION multiply(PM_QUATERNION q,
    +                                     double s)
    +                              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_QUATERNION multiply(double s,
    +                                     PM_QUATERNION q)
    +                              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatScalMult

    +
    +public static int pmQuatScalMult(PmQuaternion q,
    +                                 double s,
    +                                 PmQuaternion qout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +divide

    +
    +public static PM_QUATERNION divide(PM_QUATERNION q,
    +                                   double s)
    +                            throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatScalDiv

    +
    +public static int pmQuatScalDiv(PmQuaternion q,
    +                                double s,
    +                                PmQuaternion qout)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_QUATERNION multiply(PM_QUATERNION q1,
    +                                     PM_QUATERNION q2)
    +                              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatQuatMult

    +
    +public static int pmQuatQuatMult(PmQuaternion q1,
    +                                 PmQuaternion q2,
    +                                 PmQuaternion qout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(PmQuaternion q1,
    +                                    PM_CARTESIAN v2)
    +                             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmQuatCartMult

    +
    +public static int pmQuatCartMult(PmQuaternion q1,
    +                                 PmCartesian v2,
    +                                 PmCartesian vout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmPosePoseCompare

    +
    +public static boolean pmPosePoseCompare(PmPose p1,
    +                                        PmPose p2)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_POSE inv(PM_POSE p)
    +                   throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_XYA inv(PM_XYA p)
    +                  throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_XYA multiply(PM_XYA p1,
    +                              PM_XYA p2)
    +
    +
    +
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(PM_XYA p1,
    +                                    PM_CARTESIAN p2)
    +
    +
    +
    +
    +
    +
    + +

    +pmPoseInv

    +
    +public static int pmPoseInv(PmPose p1,
    +                            PmPose p2)
    +                     throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_CARTESIAN multiply(PM_POSE p1,
    +                                    PM_CARTESIAN v2)
    +                             throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmPoseCartMult

    +
    +public static int pmPoseCartMult(PmPose p1,
    +                                 PmCartesian v2,
    +                                 PmCartesian vout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +multiply

    +
    +public static PM_POSE multiply(PM_POSE p1,
    +                               PM_POSE p2)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmPosePoseMult

    +
    +public static int pmPosePoseMult(PmPose p1,
    +                                 PmPose p2,
    +                                 PmPose pout)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +inv

    +
    +public static PM_HOMOGENEOUS inv(PM_HOMOGENEOUS h)
    +                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmHomInv

    +
    +public static int pmHomInv(PmHomogeneous h1,
    +                           PmHomogeneous h2)
    +                    throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmLineInit

    +
    +public static int pmLineInit(PmLine line,
    +                             PmPose start,
    +                             PmPose end)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmLinePoint

    +
    +public static int pmLinePoint(PmLine line,
    +                              double len,
    +                              PmPose point)
    +                       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +pmCircleInit

    +
    +public static int pmCircleInit(PmCircle circle,
    +                               PmPose start,
    +                               PmPose end,
    +                               PmCartesian center,
    +                               PmCartesian normal,
    +                               int turn)
    +                        throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +findStillPoints

    +
    +public static java.util.List<PM_POSE> findStillPoints(java.util.List<java.lang.Double> tlist,
    +                                                      java.util.List<PM_POSE> posList,
    +                                                      double velThresh,
    +                                                      int avg_thresh,
    +                                                      java.util.List<java.lang.Double> stillTimes)
    +                                               throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +prePostMultiplyList

    +
    +public static java.util.List<PM_POSE> prePostMultiplyList(java.util.List<? extends PM_POSE> l,
    +                                                          PM_POSE pre,
    +                                                          PM_POSE post)
    +
    +
    +
    +
    +
    +
    + +

    +poseListToHomMats

    +
    +public static double[][] poseListToHomMats(java.util.List<? extends PM_POSE> l)
    +
    +
    +
    +
    +
    +
    + +

    +poseListChk

    +
    +public static java.util.List<PM_POSE> poseListChk(PM_POSE X,
    +                                                  java.util.List<? extends PM_POSE> A,
    +                                                  PM_POSE Y,
    +                                                  java.util.List<? extends PM_POSE> B)
    +                                           throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +poseListRandom

    +
    +public static java.util.List<PM_POSE> poseListRandom(int size,
    +                                                     double angle_noise,
    +                                                     double cart_noise)
    +                                              throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +toPose

    +
    +public static PM_POSE toPose(double[][] dd)
    +                      throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +homMatsPrePostMult

    +
    +public static java.util.List<PM_POSE> homMatsPrePostMult(double[][] X,
    +                                                         double[][] A,
    +                                                         double[][] Y)
    +                                                  throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +homMatsChk

    +
    +public static java.util.List<PM_POSE> homMatsChk(double[][] X,
    +                                                 double[][] A,
    +                                                 double[][] Y,
    +                                                 double[][] B)
    +                                          throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +poseListToCartList

    +
    +public static java.util.List<PM_CARTESIAN> poseListToCartList(java.util.List<? extends PM_POSE> plin)
    +
    +
    +
    +
    +
    +
    + +

    +poseListToRpyList

    +
    +public static java.util.List<PM_RPY> poseListToRpyList(java.util.List<? extends PM_POSE> plin)
    +
    +
    +
    +
    +
    +
    + +

    +cartListToMagArray

    +
    +public static double[] cartListToMagArray(java.util.List<? extends PM_CARTESIAN> clin)
    +
    +
    +
    +
    +
    +
    + +

    +rpyListToMagArray

    +
    +public static double[] rpyListToMagArray(java.util.List<? extends PM_RPY> rlin)
    +
    +
    +
    +
    +
    +
    + +

    +mean

    +
    +public static double mean(java.util.List<java.lang.Double> l)
    +
    +
    +
    +
    +
    +
    + +

    +mean

    +
    +public static double mean(java.lang.Double[] da)
    +
    +
    +
    +
    +
    +
    + +

    +mean

    +
    +public static double mean(double[] da)
    +
    +
    +
    +
    +
    +
    + +

    +stddev

    +
    +public static double stddev(double[] da)
    +
    +
    +
    +
    +
    +
    + +

    +stddev

    +
    +public static double stddev(java.lang.Double[] da)
    +
    +
    +
    +
    +
    +
    + +

    +stddev

    +
    +public static double stddev(java.util.List<java.lang.Double> da)
    +
    +
    +
    +
    +
    +
    + +

    +poseListPoseListMultiply

    +
    +public static java.util.List<PM_POSE> poseListPoseListMultiply(java.util.List<? extends PM_POSE> pl1,
    +                                                               java.util.List<? extends PM_POSE> pl2)
    +
    +
    +
    +
    +
    +
    + +

    +poseListInv

    +
    +public static java.util.List<PM_POSE> poseListInv(java.util.List<? extends PM_POSE> plin)
    +
    +
    +
    +
    +
    +
    + +

    +homMatsToPoseList

    +
    +public static java.util.List<PM_POSE> homMatsToPoseList(double[][] dd)
    +
    +
    +
    +
    +
    +
    + +

    +csvToPoseListF

    +
    +public static java.util.List<PM_POSE> csvToPoseListF(java.io.File f,
    +                                                     int x_pos,
    +                                                     int y_pos,
    +                                                     int z_pos,
    +                                                     int roll_pos,
    +                                                     int pitch_pos,
    +                                                     int yaw_pos)
    +                                              throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvToPoseList

    +
    +public static java.util.List<PM_POSE> csvToPoseList(java.lang.String filename,
    +                                                    int x_pos,
    +                                                    int y_pos,
    +                                                    int z_pos,
    +                                                    int roll_pos,
    +                                                    int pitch_pos,
    +                                                    int yaw_pos)
    +                                             throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvWithTimeToPoseListF

    +
    +public static java.util.List<PM_POSE> csvWithTimeToPoseListF(java.io.File f,
    +                                                             java.util.List<java.lang.Double> timeList,
    +                                                             int time_pos,
    +                                                             int x_pos,
    +                                                             int y_pos,
    +                                                             int z_pos,
    +                                                             int roll_pos,
    +                                                             int pitch_pos,
    +                                                             int yaw_pos)
    +                                                      throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvWithTimeToPoseList

    +
    +public static java.util.List<PM_POSE> csvWithTimeToPoseList(java.lang.String filename,
    +                                                            java.util.List<java.lang.Double> timeList,
    +                                                            int time_pos,
    +                                                            int x_pos,
    +                                                            int y_pos,
    +                                                            int z_pos,
    +                                                            int roll_pos,
    +                                                            int pitch_pos,
    +                                                            int yaw_pos)
    +                                                     throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvToListF

    +
    +public static java.util.List<java.lang.Double> csvToListF(java.io.File f,
    +                                                          int pos)
    +                                                   throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +csvToList

    +
    +public static java.util.List<java.lang.Double> csvToList(java.lang.String filename,
    +                                                         int pos)
    +                                                  throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    +
    + +

    +getCk1Pose

    +
    +public static PM_POSE getCk1Pose()
    +
    +
    +
    +
    +
    +
    + +

    +getCk2Pose

    +
    +public static PM_POSE getCk2Pose()
    +
    +
    +
    +
    +
    +
    + +

    +csvToHomMatsChk

    +
    +public static double[][] csvToHomMatsChk(java.lang.String filename,
    +                                         int x_pos,
    +                                         int y_pos,
    +                                         int z_pos,
    +                                         int roll_pos,
    +                                         int pitch_pos,
    +                                         int yaw_pos)
    +
    +
    +
    +
    +
    +
    + +

    +csvToHomMats

    +
    +public static double[][] csvToHomMats(java.lang.String filename,
    +                                      int x_pos,
    +                                      int y_pos,
    +                                      int z_pos,
    +                                      int roll_pos,
    +                                      int pitch_pos,
    +                                      int yaw_pos)
    +
    +
    +
    +
    +
    +
    + +

    +pmCirclePoint

    +
    +public static int pmCirclePoint(PmCircle circle,
    +                                double angle,
    +                                PmPose point)
    +                         throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +point_on_line

    +
    +public static PmCartesian point_on_line(PM_LINE line,
    +                                        PmCartesian p)
    +
    +
    +
    +
    +
    +
    + +

    +point_on_line

    +
    +public static PM_CARTESIAN point_on_line(PM_LINE line,
    +                                         PM_CARTESIAN p)
    +
    +
    +
    +
    +
    +
    + +

    +point_on_line

    +
    +public static PM_CARTESIAN point_on_line(PM_CARTESIAN s,
    +                                         PM_CARTESIAN u,
    +                                         PM_CARTESIAN p)
    +
    +
    +
    +
    +
    +
    + +

    +dist_from_line

    +
    +public static double dist_from_line(PM_LINE line,
    +                                    PM_CARTESIAN c)
    +
    +
    +
    +
    +
    +
    + +

    +point_on_line_segment

    +
    +public static PM_CARTESIAN point_on_line_segment(PM_CARTESIAN s,
    +                                                 PM_CARTESIAN e,
    +                                                 PM_CARTESIAN p)
    +
    +
    +
    +
    +
    +
    + +

    +tstArray

    +
    +public static double[][] tstArray()
    +
    +
    +
    +
    +
    +
    + +

    +intersection

    +
    +public static PM_CARTESIAN intersection(PM_LINE l1,
    +                                        PM_LINE l2)
    +                                 throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    +
    + +

    +in_line_segment

    +
    +public static boolean in_line_segment(PM_LINE l,
    +                                      PM_CARTESIAN c1,
    +                                      double tol)
    +                               throws java.lang.Exception
    +
    +
    + +
    Throws: +
    java.lang.Exception
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_CARTESIAN.html b/doc/javadoc/rcs/posemath/class-use/PM_CARTESIAN.html new file mode 100644 index 0000000..8f22d55 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_CARTESIAN.html @@ -0,0 +1,709 @@ + + + + + + + +Uses of Class rcs.posemath.PM_CARTESIAN + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_CARTESIAN

    +
    + + + + + + + + + +
    +Packages that use PM_CARTESIAN
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_CARTESIAN in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields in rcs.posemath declared as PM_CARTESIAN
    + PM_CARTESIANPM_CIRCLE.center + +
    +           
    + PM_CARTESIANPM_LINE.end + +
    +           
    + PM_CARTESIANPM_CIRCLE.normal + +
    +           
    + PM_CARTESIANPM_CIRCLE.rHelix + +
    +           
    + PM_CARTESIANPM_CIRCLE.rPerp + +
    +           
    + PM_CARTESIANPM_CIRCLE.rTan + +
    +           
    + PM_CARTESIANPM_LINE.start + +
    +           
    + PM_CARTESIANPM_LINE.uVec + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_CARTESIAN
    +static PM_CARTESIANPosemath.add(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    + PM_CARTESIANPM_CARTESIAN.clone() + +
    +           
    +static PM_CARTESIANPosemath.cross(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.divide(PM_CARTESIAN v, + double d) + +
    +           
    + PM_CARTESIANPM_CIRCLE.getCenter() + +
    +           
    + PM_CARTESIANPM_LINE.getEnd() + +
    +           
    + PM_CARTESIANPM_CIRCLE.getNormal() + +
    +           
    + PM_CARTESIANPM_CIRCLE.getrHelix() + +
    +           
    + PM_CARTESIANPM_CIRCLE.getrPerp() + +
    +           
    + PM_CARTESIANPM_CIRCLE.getrTan() + +
    +           
    + PM_CARTESIANPM_LINE.getStart() + +
    +           
    + PM_CARTESIANPM_LINE.getuVec() + +
    +           
    +static PM_CARTESIANPosemath.intersection(PM_LINE l1, + PM_LINE l2) + +
    +           
    +static PM_CARTESIANPosemath.inv(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.multiply(double d, + PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_CARTESIAN v, + double d) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_POSE p1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_QUATERNION q1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_ROTATION_MATRIX m, + PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.neg(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.norm(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line_segment(PM_CARTESIAN s, + PM_CARTESIAN e, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line(PM_CARTESIAN s, + PM_CARTESIAN u, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line(PM_LINE line, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.proj(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.subtract(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.toCart(PM_CYLINDRICAL v) + +
    +          Convert a cylindrical to a cartesian
    +static PM_CARTESIANPosemath.toCart(PM_SPHERICAL v) + +
    +          Convert PM_SPHERICAL to PM_CARTESIAN
    +static PM_CARTESIANPmCartesian.valueOf(java.lang.String s) + +
    +           
    +static PM_CARTESIANPosemath.weightedAvg(PM_CARTESIAN c1, + double s1, + PM_CARTESIAN c2, + double s2) + +
    +          Adds two PM_CARTESIANS and returns a weightedAvg + ie.
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_CARTESIAN
    +static PM_CARTESIANPosemath.add(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.cross(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static doublePosemath.disp(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    + doublePM_CARTESIAN.distFrom(PM_CARTESIAN p) + +
    +           
    + doublePM_CARTESIAN.distFromXY(PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.divide(PM_CARTESIAN v, + double d) + +
    +           
    +static doublePosemath.dot(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.inv(PM_CARTESIAN v) + +
    +           
    +static booleanPosemath.isNorm(PM_CARTESIAN v) + +
    +           
    +static doublePosemath.mag(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.multiply(double d, + PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_CARTESIAN v, + double d) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_POSE p1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_QUATERNION q1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_ROTATION_MATRIX m, + PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.neg(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.norm(PM_CARTESIAN v) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line_segment(PM_CARTESIAN s, + PM_CARTESIAN e, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line(PM_CARTESIAN s, + PM_CARTESIAN u, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line(PM_LINE line, + PM_CARTESIAN p) + +
    +           
    +static PM_CARTESIANPosemath.proj(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    + voidPM_CIRCLE.setCenter(PM_CARTESIAN center) + +
    +           
    + voidPM_LINE.setEnd(PM_CARTESIAN end) + +
    +           
    + voidPM_CIRCLE.setNormal(PM_CARTESIAN normal) + +
    +           
    + voidPM_CIRCLE.setrHelix(PM_CARTESIAN rHelix) + +
    +           
    + voidPM_CIRCLE.setrPerp(PM_CARTESIAN rPerp) + +
    +           
    + voidPM_CIRCLE.setrTan(PM_CARTESIAN rTan) + +
    +           
    + voidPM_LINE.setStart(PM_CARTESIAN start) + +
    +           
    + voidPM_LINE.setuVec(PM_CARTESIAN uVec) + +
    +           
    +static PM_CARTESIANPosemath.subtract(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_SPHERICALPosemath.toSph(PM_CARTESIAN v) + +
    +          Convert a PM_CARTESIAN to PM_SPHERICAL
    +static PM_CARTESIANPosemath.weightedAvg(PM_CARTESIAN c1, + double s1, + PM_CARTESIAN c2, + double s2) + +
    +          Adds two PM_CARTESIANS and returns a weightedAvg + ie.
    +  +

    + + + + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_CARTESIAN
    PM_CYLINDRICAL(PM_CARTESIAN v) + +
    +           
    PM_HOMOGENEOUS(PM_CARTESIAN starttran, + PM_ROTATION_MATRIX startrot) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_CIRCLE.html b/doc/javadoc/rcs/posemath/class-use/PM_CIRCLE.html new file mode 100644 index 0000000..aaadf61 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_CIRCLE.html @@ -0,0 +1,88 @@ + + + + + + + +Uses of Class rcs.posemath.PM_CIRCLE + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_CIRCLE

    +
    + + + + + + + + + +
    +Packages that use PM_CIRCLE
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_CIRCLE in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_CIRCLE
    + PM_CIRCLEPM_CIRCLE.clone() + +
    +           
    +static PM_CIRCLEPosemath.fitCircle2D_XY(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a circle + fit with least-squares error to x,y points
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_CYLINDRICAL.html b/doc/javadoc/rcs/posemath/class-use/PM_CYLINDRICAL.html new file mode 100644 index 0000000..6871298 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_CYLINDRICAL.html @@ -0,0 +1,262 @@ + + + + + + + +Uses of Class rcs.posemath.PM_CYLINDRICAL + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_CYLINDRICAL

    +
    + + + + + + + + + +
    +Packages that use PM_CYLINDRICAL
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_CYLINDRICAL in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_CYLINDRICAL
    +static PM_CYLINDRICALPosemath.cross(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static PM_CYLINDRICALPosemath.divide(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_CYLINDRICALPosemath.inv(PM_CYLINDRICAL v) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(double d, + PM_CYLINDRICAL c) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_CYLINDRICALPosemath.neg(PM_CYLINDRICAL v) + +
    +           
    +static PM_CYLINDRICALPosemath.norm(PM_CYLINDRICAL v) + +
    +           
    +static PM_CYLINDRICALPosemath.toCyl(PM_SPHERICAL s) + +
    +          Convert a spherical to cylindrical
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_CYLINDRICAL
    +static PM_CYLINDRICALPosemath.cross(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static PM_CYLINDRICALPosemath.divide(PM_CYLINDRICAL c, + double d) + +
    +           
    +static doublePosemath.dot(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static PM_CYLINDRICALPosemath.inv(PM_CYLINDRICAL v) + +
    +           
    +static booleanPosemath.isNorm(PM_CYLINDRICAL v) + +
    +           
    +static doublePosemath.mag(PM_CYLINDRICAL v1) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(double d, + PM_CYLINDRICAL c) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_CYLINDRICALPosemath.neg(PM_CYLINDRICAL v) + +
    +           
    +static PM_CYLINDRICALPosemath.norm(PM_CYLINDRICAL v) + +
    +           
    +static PM_CARTESIANPosemath.toCart(PM_CYLINDRICAL v) + +
    +          Convert a cylindrical to a cartesian
    +static PM_SPHERICALPosemath.toSph(PM_CYLINDRICAL c) + +
    +          Convert a cylindrical to a spherical
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_CYLINDRICAL
    PM_CARTESIAN(PM_CYLINDRICAL c) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYX.html b/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYX.html new file mode 100644 index 0000000..276b6bf --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYX.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcs.posemath.PM_EULER_ZYX + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_EULER_ZYX

    +
    + + + + + + + + + +
    +Packages that use PM_EULER_ZYX
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_EULER_ZYX in rcs.posemath
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_EULER_ZYX
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYX v) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYZ.html b/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYZ.html new file mode 100644 index 0000000..b1c3d3e --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_EULER_ZYZ.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcs.posemath.PM_EULER_ZYZ + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_EULER_ZYZ

    +
    + + + + + + + + + +
    +Packages that use PM_EULER_ZYZ
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_EULER_ZYZ in rcs.posemath
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_EULER_ZYZ
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYZ v) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_HOMOGENEOUS.html b/doc/javadoc/rcs/posemath/class-use/PM_HOMOGENEOUS.html new file mode 100644 index 0000000..ea72169 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_HOMOGENEOUS.html @@ -0,0 +1,103 @@ + + + + + + + +Uses of Class rcs.posemath.PM_HOMOGENEOUS + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_HOMOGENEOUS

    +
    + + + + + + + + + +
    +Packages that use PM_HOMOGENEOUS
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_HOMOGENEOUS in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_HOMOGENEOUS
    +static PM_HOMOGENEOUSPosemath.inv(PM_HOMOGENEOUS h) + +
    +           
    +static PM_HOMOGENEOUSPosemath.toHom(PM_POSE p) + +
    +           
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_HOMOGENEOUS
    +static PM_HOMOGENEOUSPosemath.inv(PM_HOMOGENEOUS h) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_LINE.html b/doc/javadoc/rcs/posemath/class-use/PM_LINE.html new file mode 100644 index 0000000..9a25fa3 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_LINE.html @@ -0,0 +1,133 @@ + + + + + + + +Uses of Class rcs.posemath.PM_LINE + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_LINE

    +
    + + + + + + + + + +
    +Packages that use PM_LINE
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_LINE in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_LINE
    + PM_LINEPM_LINE.clone() + +
    +           
    +static PM_LINEPosemath.fitLine(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a line + fit with least-squares error to x,y points
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_LINE
    +static double[]Posemath.computeLineFitErrors(PM_LINE line, + java.util.List<? extends PmCartesian> l) + +
    +          Compute an array of errors or the distance between + each point in list l to line line.
    +static PM_CARTESIANPosemath.intersection(PM_LINE l1, + PM_LINE l2) + +
    +           
    +static PM_CARTESIANPosemath.point_on_line(PM_LINE line, + PM_CARTESIAN p) + +
    +           
    +static PmCartesianPosemath.point_on_line(PM_LINE line, + PmCartesian p) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_POSE.html b/doc/javadoc/rcs/posemath/class-use/PM_POSE.html new file mode 100644 index 0000000..8f90184 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_POSE.html @@ -0,0 +1,144 @@ + + + + + + + +Uses of Class rcs.posemath.PM_POSE + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_POSE

    +
    + + + + + + + + + +
    +Packages that use PM_POSE
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_POSE in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_POSE
    +static PM_POSEPosemath.inv(PM_POSE p) + +
    +           
    +static PM_POSEPosemath.multiply(PM_POSE p1, + PM_POSE p2) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_POSE
    +static PM_POSEPosemath.inv(PM_POSE p) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_POSE p1, + PM_CARTESIAN v2) + +
    +           
    +static PM_POSEPosemath.multiply(PM_POSE p1, + PM_POSE p2) + +
    +           
    +static PM_HOMOGENEOUSPosemath.toHom(PM_POSE p) + +
    +           
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_POSE
    PM_XYA(PM_POSE p) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_QUATERNION.html b/doc/javadoc/rcs/posemath/class-use/PM_QUATERNION.html new file mode 100644 index 0000000..7900c76 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_QUATERNION.html @@ -0,0 +1,272 @@ + + + + + + + +Uses of Class rcs.posemath.PM_QUATERNION + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_QUATERNION

    +
    + + + + + + + + + +
    +Packages that use PM_QUATERNION
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_QUATERNION in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_QUATERNION
    +static PM_QUATERNIONPosemath.divide(PM_QUATERNION q, + double s) + +
    +           
    +static PM_QUATERNIONPosemath.inv(PM_QUATERNION q1) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(double s, + PM_QUATERNION q) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q, + double s) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q1, + PM_QUATERNION q2) + +
    +           
    +static PM_QUATERNIONPosemath.norm(PM_QUATERNION q1) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYX v) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYZ v) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_MATRIX m) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_VECTOR v) + +
    +          Convert a rotation vector to a quaternion
    +static PM_QUATERNIONPosemath.toQuat(PM_RPY v) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_QUATERNION
    +static PM_QUATERNIONPosemath.divide(PM_QUATERNION q, + double s) + +
    +           
    +static PM_QUATERNIONPosemath.inv(PM_QUATERNION q1) + +
    +           
    +static booleanPosemath.isNorm(PM_QUATERNION q1) + +
    +           
    +static doublePosemath.mag(PM_QUATERNION q) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(double s, + PM_QUATERNION q) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q, + double s) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_QUATERNION q1, + PM_CARTESIAN v2) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q1, + PM_QUATERNION q2) + +
    +           
    +static PM_QUATERNIONPosemath.norm(PM_QUATERNION q1) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_QUATERNION v) + +
    +          Convert a quaternion to a rotation matrix.
    +static PM_ROTATION_VECTORPosemath.toRot(PM_QUATERNION v) + +
    +          Convert quaternion to a rotation vector
    +static PM_RPYPosemath.toRpy(PM_QUATERNION v) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_MATRIX.html b/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_MATRIX.html new file mode 100644 index 0000000..83e8dab --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_MATRIX.html @@ -0,0 +1,153 @@ + + + + + + + +Uses of Class rcs.posemath.PM_ROTATION_MATRIX + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_ROTATION_MATRIX

    +
    + + + + + + + + + +
    +Packages that use PM_ROTATION_MATRIX
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_ROTATION_MATRIX in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_ROTATION_MATRIX
    +static PM_ROTATION_MATRIXPosemath.multiply(PM_ROTATION_MATRIX m1, + PM_ROTATION_MATRIX m2) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_QUATERNION v) + +
    +          Convert a quaternion to a rotation matrix.
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_ROTATION_VECTOR v) + +
    +          Convert rotation vector to rotation matrix
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_ROTATION_MATRIX
    +static booleanPosemath.isNorm(PM_ROTATION_MATRIX m) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_ROTATION_MATRIX m, + PM_CARTESIAN v) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.multiply(PM_ROTATION_MATRIX m1, + PM_ROTATION_MATRIX m2) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_MATRIX m) + +
    +           
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_ROTATION_MATRIX
    PM_HOMOGENEOUS(PM_CARTESIAN starttran, + PM_ROTATION_MATRIX startrot) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_VECTOR.html b/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_VECTOR.html new file mode 100644 index 0000000..1aa32c3 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_ROTATION_VECTOR.html @@ -0,0 +1,192 @@ + + + + + + + +Uses of Class rcs.posemath.PM_ROTATION_VECTOR + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_ROTATION_VECTOR

    +
    + + + + + + + + + +
    +Packages that use PM_ROTATION_VECTOR
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_ROTATION_VECTOR in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_ROTATION_VECTOR
    +static PM_ROTATION_VECTORPosemath.divide(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static PM_ROTATION_VECTORPosemath.multiply(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static PM_ROTATION_VECTORPosemath.norm(PM_ROTATION_VECTOR r) + +
    +           
    +static PM_ROTATION_VECTORPosemath.toRot(PM_QUATERNION v) + +
    +          Convert quaternion to a rotation vector
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_ROTATION_VECTOR
    +static PM_ROTATION_VECTORPosemath.divide(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static booleanPosemath.isNorm(PM_ROTATION_VECTOR r) + +
    +           
    +static PmRotationVectorPosemath.multiply(double s, + PM_ROTATION_VECTOR r) + +
    +           
    +static PM_ROTATION_VECTORPosemath.multiply(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static PM_ROTATION_VECTORPosemath.norm(PM_ROTATION_VECTOR r) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_ROTATION_VECTOR v) + +
    +          Convert rotation vector to rotation matrix
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_VECTOR v) + +
    +          Convert a rotation vector to a quaternion
    +  +

    + + + + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_ROTATION_VECTOR
    PM_QUATERNION(PM_ROTATION_VECTOR rv) + +
    +           
    PM_ROTATION_MATRIX(PM_ROTATION_VECTOR rv) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_RPY.html b/doc/javadoc/rcs/posemath/class-use/PM_RPY.html new file mode 100644 index 0000000..5870601 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_RPY.html @@ -0,0 +1,103 @@ + + + + + + + +Uses of Class rcs.posemath.PM_RPY + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_RPY

    +
    + + + + + + + + + +
    +Packages that use PM_RPY
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_RPY in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_RPY
    + PM_RPYPM_RPY.clone() + +
    +           
    +static PM_RPYPosemath.toRpy(PM_QUATERNION v) + +
    +           
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_RPY
    +static PM_QUATERNIONPosemath.toQuat(PM_RPY v) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_SPHERICAL.html b/doc/javadoc/rcs/posemath/class-use/PM_SPHERICAL.html new file mode 100644 index 0000000..e40fa6b --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_SPHERICAL.html @@ -0,0 +1,111 @@ + + + + + + + +Uses of Class rcs.posemath.PM_SPHERICAL + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_SPHERICAL

    +
    + + + + + + + + + +
    +Packages that use PM_SPHERICAL
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_SPHERICAL in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_SPHERICAL
    +static PM_SPHERICALPosemath.toSph(PM_CARTESIAN v) + +
    +          Convert a PM_CARTESIAN to PM_SPHERICAL
    +static PM_SPHERICALPosemath.toSph(PM_CYLINDRICAL c) + +
    +          Convert a cylindrical to a spherical
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_SPHERICAL
    +static PM_CARTESIANPosemath.toCart(PM_SPHERICAL v) + +
    +          Convert PM_SPHERICAL to PM_CARTESIAN
    +static PM_CYLINDRICALPosemath.toCyl(PM_SPHERICAL s) + +
    +          Convert a spherical to cylindrical
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PM_XYA.html b/doc/javadoc/rcs/posemath/class-use/PM_XYA.html new file mode 100644 index 0000000..dcc92fb --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PM_XYA.html @@ -0,0 +1,143 @@ + + + + + + + +Uses of Class rcs.posemath.PM_XYA + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PM_XYA

    +
    + + + + + + + + + +
    +Packages that use PM_XYA
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PM_XYA in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PM_XYA
    + PM_XYAPM_XYA.clone() + +
    +           
    + PM_XYAPM_XYA.inv() + +
    +           
    +static PM_XYAPosemath.inv(PM_XYA p) + +
    +           
    +static PM_XYAPosemath.multiply(PM_XYA p1, + PM_XYA p2) + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PM_XYA
    +static PM_XYAPosemath.inv(PM_XYA p) + +
    +           
    +static PM_XYAPosemath.multiply(PM_XYA p1, + PM_XYA p2) + +
    +           
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PM_XYA
    PM_POSE(PM_XYA xya) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmCartesian.html b/doc/javadoc/rcs/posemath/class-use/PmCartesian.html new file mode 100644 index 0000000..c8307f3 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmCartesian.html @@ -0,0 +1,642 @@ + + + + + + + +Uses of Class rcs.posemath.PmCartesian + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmCartesian

    +
    + + + + + + + + + +
    +Packages that use PmCartesian
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmCartesian in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmCartesian in rcs.posemath
    + classPM_CARTESIAN + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields in rcs.posemath declared as PmCartesian
    + PmCartesianPmCircle.center + +
    +           
    + PmCartesianPmCircle.normal + +
    +           
    + PmCartesianPmCircle.rHelix + +
    +           
    + PmCartesianPmCircle.rPerp + +
    +           
    + PmCartesianPmCircle.rTan + +
    +           
    + PmCartesianPmHomogeneous.tran + +
    +           
    + PmCartesianPmPose.tran + +
    +           
    + PmCartesianPmLine.uVec + +
    +           
    + PmCartesianPmRotationMatrix.x + +
    +           
    + PmCartesianPmRotationMatrix.y + +
    +           
    + PmCartesianPmRotationMatrix.z + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that return PmCartesian
    +static PmCartesianPosemath.add(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static PmCartesianPosemath.multiply(double d, + PmCartesian v) + +
    +           
    +static PmCartesianPosemath.multiply(PmCartesian v, + double d) + +
    +           
    +static PmCartesianPosemath.point_on_line(PM_LINE line, + PmCartesian p) + +
    +           
    +static PmCartesianPosemath.subtract(PmCartesian v1, + PmCartesian v2) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmCartesian
    +static PmCartesianPosemath.add(PmCartesian v1, + PmCartesian v2) + +
    +           
    + doublePmCartesian.distFrom(PmCartesian p) + +
    +           
    +static doublePosemath.dot(PmCartesian v1, + PmCartesian v2) + +
    +           
    + booleanPmCartesian.equals(PmCartesian v) + +
    +           
    + booleanPmCylindrical.equals(PmCartesian v) + +
    +           
    +static doublePosemath.mag(PmCartesian v) + +
    +           
    +static PmCartesianPosemath.multiply(double d, + PmCartesian v) + +
    +           
    +static PmCartesianPosemath.multiply(PmCartesian v, + double d) + +
    +           
    +static intPosemath.pmCartCartAdd(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static booleanPosemath.pmCartCartCompare(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intPosemath.pmCartCartCross(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static doublePosemath.pmCartCartDisp(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static doublePosemath.pmCartCartDot(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intPosemath.pmCartCartProj(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartCartSub(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartCylConvert(PmCartesian v, + PmCylindrical c) + +
    +           
    +static intPosemath.pmCartInv(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static booleanPosemath.pmCartIsNorm(PmCartesian v) + +
    +           
    +static doublePosemath.pmCartMag(PmCartesian v) + +
    +           
    +static intPosemath.pmCartNeg(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartNorm(PmCartesian v, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartPlaneProj(PmCartesian v, + PmCartesian normal, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartScalDiv(PmCartesian v1, + double d, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartScalMult(PmCartesian v1, + double d, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartSphConvert(PmCartesian v, + PmSpherical s) + +
    +          Convert a PmCartesian to PmSpherical
    +static intPosemath.pmCircleInit(PmCircle circle, + PmPose start, + PmPose end, + PmCartesian center, + PmCartesian normal, + int turn) + +
    +           
    +static intPosemath.pmCylCartConvert(PmCylindrical c, + PmCartesian v) + +
    +          Convert cylindrical to cartesian.
    +static intPosemath.pmMatCartMult(PmRotationMatrix m, + PmCartesian v, + PmCartesian vout) + +
    +           
    +static intPosemath.pmPoseCartMult(PmPose p1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmQuatCartMult(PmQuaternion q1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmSphCartConvert(PmSpherical s, + PmCartesian v) + +
    +          Convert PmSherical to PmCartesian
    +static PmCartesianPosemath.point_on_line(PM_LINE line, + PmCartesian p) + +
    +           
    +static PmCartesianPosemath.subtract(PmCartesian v1, + PmCartesian v2) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + +
    Method parameters in rcs.posemath with type arguments of type PmCartesian
    +static double[]Posemath.computeLineFitErrors(PM_LINE line, + java.util.List<? extends PmCartesian> l) + +
    +          Compute an array of errors or the distance between + each point in list l to line line.
    +static PM_CIRCLEPosemath.fitCircle2D_XY(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a circle + fit with least-squares error to x,y points
    +static PM_LINEPosemath.fitLine(java.util.List<? extends PmCartesian> l) + +
    +          Ignores the z value in each element of the list and returns a line + fit with least-squares error to x,y points
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PmCartesian
    PM_CARTESIAN(PmCartesian p) + +
    +           
    PM_POSE(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    PM_POSE(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PM_ROTATION_MATRIX(PmCartesian startx, + PmCartesian starty, + PmCartesian startz) + +
    +           
    PmHomogeneous(PmCartesian starttran, + PmRotationMatrix startrot) + +
    +           
    PmPose(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    PmPose(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PmRotationMatrix(PmCartesian startx, + PmCartesian starty, + PmCartesian startz) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmCircle.html b/doc/javadoc/rcs/posemath/class-use/PmCircle.html new file mode 100644 index 0000000..bc604cb --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmCircle.html @@ -0,0 +1,94 @@ + + + + + + + +Uses of Class rcs.posemath.PmCircle + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmCircle

    +
    + + + + + + + + + +
    +Packages that use PmCircle
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmCircle in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmCircle
    +static intPosemath.pmCircleInit(PmCircle circle, + PmPose start, + PmPose end, + PmCartesian center, + PmCartesian normal, + int turn) + +
    +           
    +static intPosemath.pmCirclePoint(PmCircle circle, + double angle, + PmPose point) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmCylindrical.html b/doc/javadoc/rcs/posemath/class-use/PmCylindrical.html new file mode 100644 index 0000000..788ec72 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmCylindrical.html @@ -0,0 +1,250 @@ + + + + + + + +Uses of Class rcs.posemath.PmCylindrical + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmCylindrical

    +
    + + + + + + + + + +
    +Packages that use PmCylindrical
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmCylindrical in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmCylindrical in rcs.posemath
    + classPM_CYLINDRICAL + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmCylindrical
    + booleanPmCartesian.equals(PmCylindrical c) + +
    +           
    + booleanPmCylindrical.equals(PmCylindrical c) + +
    +           
    +static intPosemath.pmCartCylConvert(PmCartesian v, + PmCylindrical c) + +
    +           
    +static intPosemath.pmCylCartConvert(PmCylindrical c, + PmCartesian v) + +
    +          Convert cylindrical to cartesian.
    +static intPosemath.pmCylCylAdd(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static booleanPosemath.pmCylCylCompare(PmCylindrical v1, + PmCylindrical v2) + +
    +           
    +static intPosemath.pmCylCylCross(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static doublePosemath.pmCylCylDot(PmCylindrical c1, + PmCylindrical c2) + +
    +           
    +static intPosemath.pmCylCylSub(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static intPosemath.pmCylInv(PmCylindrical c, + PmCylindrical cout) + +
    +           
    +static booleanPosemath.pmCylIsNorm(PmCylindrical v) + +
    +           
    +static doublePosemath.pmCylMag(PmCylindrical c) + +
    +           
    +static intPosemath.pmCylNeg(PmCylindrical v1, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylNorm(PmCylindrical v, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylScalDiv(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylScalMult(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylSphConvert(PmCylindrical c, + PmSpherical s) + +
    +          Convert a cylindrical to a spherical
    +static intPosemath.pmSphCylConvert(PmSpherical s, + PmCylindrical c) + +
    +          Convert a spherical to cylindrical
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmEulerZyx.html b/doc/javadoc/rcs/posemath/class-use/PmEulerZyx.html new file mode 100644 index 0000000..6b578f6 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmEulerZyx.html @@ -0,0 +1,159 @@ + + + + + + + +Uses of Class rcs.posemath.PmEulerZyx + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmEulerZyx

    +
    + + + + + + + + + +
    +Packages that use PmEulerZyx
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmEulerZyx in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmEulerZyx in rcs.posemath
    + classPM_EULER_ZYX + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmEulerZyx
    +static intPosemath.pmMatZyxConvert(PmRotationMatrix m, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmQuatZyxConvert(PmQuaternion q, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmRpyZyxConvert(PmRpy rpy, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmZyxMatConvert(PmEulerZyx zyx, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyxQuatConvert(PmEulerZyx zyx, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyxRotConvert(PmEulerZyx zyx, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyxRpyConvert(PmEulerZyx zyx, + PmRpy rpy) + +
    +           
    +static intPosemath.pmZyxZyzConvert(PmEulerZyx zyx, + PmEulerZyz zyz) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmEulerZyz.html b/doc/javadoc/rcs/posemath/class-use/PmEulerZyz.html new file mode 100644 index 0000000..a9793f4 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmEulerZyz.html @@ -0,0 +1,159 @@ + + + + + + + +Uses of Class rcs.posemath.PmEulerZyz + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmEulerZyz

    +
    + + + + + + + + + +
    +Packages that use PmEulerZyz
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmEulerZyz in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmEulerZyz in rcs.posemath
    + classPM_EULER_ZYZ + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmEulerZyz
    +static intPosemath.pmMatZyzConvert(PmRotationMatrix m, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmQuatZyzConvert(PmQuaternion q, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmRpyZyzConvert(PmRpy rpy, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmZyxZyzConvert(PmEulerZyx zyx, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmZyzMatConvert(PmEulerZyz zyz, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyzQuatConvert(PmEulerZyz zyz, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyzRotConvert(PmEulerZyz zyz, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyzRpyConvert(PmEulerZyz zyz, + PmRpy rpy) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmException.html b/doc/javadoc/rcs/posemath/class-use/PmException.html new file mode 100644 index 0000000..18ba7fe --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmException.html @@ -0,0 +1,1488 @@ + + + + + + + +Uses of Class rcs.posemath.PmException + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmException

    +
    + + + + + + + + + +
    +Packages that use PmException
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmException in rcs.posemath
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath that throw PmException
    +static PM_CARTESIANPosemath.cross(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CYLINDRICALPosemath.cross(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    +static doublePosemath.disp(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_CARTESIANPosemath.divide(PM_CARTESIAN v, + double d) + +
    +           
    +static PM_CYLINDRICALPosemath.divide(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_QUATERNIONPosemath.divide(PM_QUATERNION q, + double s) + +
    +           
    +static PM_ROTATION_VECTORPosemath.divide(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static doublePosemath.dot(PM_CYLINDRICAL v1, + PM_CYLINDRICAL v2) + +
    +           
    + booleanPmCartesian.equals(PmCartesian v) + +
    +           
    + booleanPmCylindrical.equals(PmCartesian v) + +
    +           
    + booleanPmCartesian.equals(PmCylindrical c) + +
    +           
    + booleanPmCylindrical.equals(PmCylindrical c) + +
    +           
    + booleanPmPose.equals(PmHomogeneous h) + +
    +           
    + booleanPmPose.equals(PmPose p) + +
    +           
    + booleanPmQuaternion.equals(PmQuaternion pq) + +
    +           
    + booleanPmQuaternion.equals(PmRotationMatrix prm) + +
    +           
    + booleanPmQuaternion.equals(PmRotationVector prv) + +
    +           
    + booleanPmCartesian.equals(PmSpherical s) + +
    +           
    + booleanPmCylindrical.equals(PmSpherical s) + +
    +           
    +static PM_CARTESIANPosemath.intersection(PM_LINE l1, + PM_LINE l2) + +
    +           
    +static PM_CARTESIANPosemath.inv(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALPosemath.inv(PM_CYLINDRICAL v) + +
    +           
    +static PM_HOMOGENEOUSPosemath.inv(PM_HOMOGENEOUS h) + +
    +           
    +static PM_POSEPosemath.inv(PM_POSE p) + +
    +           
    +static PM_QUATERNIONPosemath.inv(PM_QUATERNION q1) + +
    +           
    +static PM_XYAPosemath.inv(PM_XYA p) + +
    +           
    +static booleanPosemath.IS_FUZZ(double a, + double fuzz) + +
    +           
    +static booleanPosemath.isNorm(PM_CARTESIAN v) + +
    +           
    +static booleanPosemath.isNorm(PM_CYLINDRICAL v) + +
    +           
    +static booleanPosemath.isNorm(PM_QUATERNION q1) + +
    +           
    +static booleanPosemath.isNorm(PM_ROTATION_MATRIX m) + +
    +           
    +static booleanPosemath.isNorm(PM_ROTATION_VECTOR r) + +
    +           
    +static doublePosemath.mag(PM_CYLINDRICAL v1) + +
    +           
    +static doublePosemath.mag(PM_QUATERNION q) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(double d, + PM_CYLINDRICAL c) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(double s, + PM_QUATERNION q) + +
    +           
    +static PmRotationVectorPosemath.multiply(double s, + PM_ROTATION_VECTOR r) + +
    +           
    +static PM_CYLINDRICALPosemath.multiply(PM_CYLINDRICAL c, + double d) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_POSE p1, + PM_CARTESIAN v2) + +
    +           
    +static PM_POSEPosemath.multiply(PM_POSE p1, + PM_POSE p2) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q, + double s) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_QUATERNION q1, + PM_CARTESIAN v2) + +
    +           
    +static PM_QUATERNIONPosemath.multiply(PM_QUATERNION q1, + PM_QUATERNION q2) + +
    +           
    +static PM_CARTESIANPosemath.multiply(PM_ROTATION_MATRIX m, + PM_CARTESIAN v) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.multiply(PM_ROTATION_MATRIX m1, + PM_ROTATION_MATRIX m2) + +
    +           
    +static PM_ROTATION_VECTORPosemath.multiply(PM_ROTATION_VECTOR r, + double s) + +
    +           
    +static PM_CARTESIANPosemath.neg(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALPosemath.neg(PM_CYLINDRICAL v) + +
    +           
    +static PM_CARTESIANPosemath.norm(PM_CARTESIAN v) + +
    +           
    +static PM_CYLINDRICALPosemath.norm(PM_CYLINDRICAL v) + +
    +           
    +static PM_QUATERNIONPosemath.norm(PM_QUATERNION q1) + +
    +           
    +static PM_ROTATION_VECTORPosemath.norm(PM_ROTATION_VECTOR r) + +
    +           
    +static intPosemath.pmAxisAngleQuatConvert(int axis, + double a, + PmQuaternion q) + +
    +          Store a quaternion based on a single rotation about an axis
    +static booleanPosemath.pmCartCartCompare(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intPosemath.pmCartCartCross(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static doublePosemath.pmCartCartDisp(PmCartesian v1, + PmCartesian v2) + +
    +           
    +static intPosemath.pmCartCartProj(PmCartesian v1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartInv(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static booleanPosemath.pmCartIsNorm(PmCartesian v) + +
    +           
    +static intPosemath.pmCartNeg(PmCartesian v1, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartNorm(PmCartesian v, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartPlaneProj(PmCartesian v, + PmCartesian normal, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCartScalDiv(PmCartesian v1, + double d, + PmCartesian vout) + +
    +           
    +static intPosemath.pmCircleInit(PmCircle circle, + PmPose start, + PmPose end, + PmCartesian center, + PmCartesian normal, + int turn) + +
    +           
    +static intPosemath.pmCirclePoint(PmCircle circle, + double angle, + PmPose point) + +
    +           
    +static intPosemath.pmCylCylAdd(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static booleanPosemath.pmCylCylCompare(PmCylindrical v1, + PmCylindrical v2) + +
    +           
    +static intPosemath.pmCylCylCross(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static doublePosemath.pmCylCylDot(PmCylindrical c1, + PmCylindrical c2) + +
    +           
    +static intPosemath.pmCylCylSub(PmCylindrical c1, + PmCylindrical c2, + PmCylindrical cout) + +
    +           
    +static intPosemath.pmCylInv(PmCylindrical c, + PmCylindrical cout) + +
    +           
    +static booleanPosemath.pmCylIsNorm(PmCylindrical v) + +
    +           
    +static doublePosemath.pmCylMag(PmCylindrical c) + +
    +           
    +static intPosemath.pmCylNeg(PmCylindrical v1, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylNorm(PmCylindrical v, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylScalDiv(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmCylScalMult(PmCylindrical v1, + double d, + PmCylindrical vout) + +
    +           
    +static intPosemath.pmHomInv(PmHomogeneous h1, + PmHomogeneous h2) + +
    +           
    +static intPosemath.pmHomPoseConvert(PmHomogeneous h, + PmPose p) + +
    +           
    +static intPosemath.pmLineInit(PmLine line, + PmPose start, + PmPose end) + +
    +           
    +static intPosemath.pmLinePoint(PmLine line, + double len, + PmPose point) + +
    +           
    +static intPosemath.pmMatCartMult(PmRotationMatrix m, + PmCartesian v, + PmCartesian vout) + +
    +           
    +static intPosemath.pmMatInv(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static booleanPosemath.pmMatIsNorm(PmRotationMatrix m) + +
    +           
    +static intPosemath.pmMatMatMult(PmRotationMatrix m1, + PmRotationMatrix m2, + PmRotationMatrix mout) + +
    +           
    +static intPosemath.pmMatNorm(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static intPosemath.pmMatQuatConvert(PmRotationMatrix m, + PmQuaternion q) + +
    +           
    +static intPosemath.pmMatRotConvert(PmRotationMatrix m, + PmRotationVector r) + +
    +           
    +static intPosemath.pmMatRpyConvert(PmRotationMatrix m, + PmRpy rpy) + +
    +           
    +static intPosemath.pmMatZyxConvert(PmRotationMatrix m, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmMatZyzConvert(PmRotationMatrix m, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmPoseCartMult(PmPose p1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmPoseHomConvert(PmPose p, + PmHomogeneous h) + +
    +           
    +static intPosemath.pmPoseInv(PmPose p1, + PmPose p2) + +
    +           
    +static booleanPosemath.pmPosePoseCompare(PmPose p1, + PmPose p2) + +
    +           
    +static intPosemath.pmPosePoseMult(PmPose p1, + PmPose p2, + PmPose pout) + +
    +           
    +static PmQuaternionPosemath.pmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle) + +
    +           
    +static intPosemath.pmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle, + PmQuaternion pq) + +
    +           
    +static intPosemath.pmQuatCartMult(PmQuaternion q1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmQuatInv(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanPosemath.pmQuatIsNorm(PmQuaternion q1) + +
    +           
    +static doublePosemath.pmQuatMag(PmQuaternion q) + +
    +           
    +static intPosemath.pmQuatMatConvert(PmQuaternion q, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmQuatNorm(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanPosemath.pmQuatQuatCompare(PmQuaternion q1, + PmQuaternion q2) + +
    +           
    +static intPosemath.pmQuatQuatMult(PmQuaternion q1, + PmQuaternion q2, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatRotConvert(PmQuaternion q, + PmRotationVector r) + +
    +          Convert a quaternion to a rotation vector
    +static intPosemath.pmQuatRpyConvert(PmQuaternion q, + PmRpy rpy) + +
    +           
    +static intPosemath.pmQuatScalDiv(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatScalMult(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatZyxConvert(PmQuaternion q, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmQuatZyzConvert(PmQuaternion q, + PmEulerZyz zyz) + +
    +           
    +static booleanPosemath.pmRotIsNorm(PmRotationVector r) + +
    +           
    +static intPosemath.pmRotMatConvert(PmRotationVector r, + PmRotationMatrix m) + +
    +          Convert a rotation vector to a rotation matrix.
    +static intPosemath.pmRotNorm(PmRotationVector r, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRotQuatConvert(PmRotationVector r, + PmQuaternion q) + +
    +          Convert a rotation vector to a quaternion
    +static intPosemath.pmRotScalDiv(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRotScalMult(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRpyMatConvert(PmRpy rpy, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmRpyQuatConvert(PmRpy rpy, + PmQuaternion q) + +
    +           
    +static intPosemath.pmRpyRotConvert(PmRpy rpy, + PmRotationVector r) + +
    +           
    +static intPosemath.pmRpyZyxConvert(PmRpy rpy, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmRpyZyzConvert(PmRpy rpy, + PmEulerZyz zyz) + +
    +           
    +static doublePosemath.pmSqrt(double x) + +
    +          Square root function that adds some extra checks similiar to the + C++ pmSqrt() primarily only exists for converting C++ apps.
    +static intPosemath.pmZyxMatConvert(PmEulerZyx zyx, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyxQuatConvert(PmEulerZyx zyx, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyxRotConvert(PmEulerZyx zyx, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyxRpyConvert(PmEulerZyx zyx, + PmRpy rpy) + +
    +           
    +static intPosemath.pmZyxZyzConvert(PmEulerZyx zyx, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmZyzMatConvert(PmEulerZyz zyz, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyzQuatConvert(PmEulerZyz zyz, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyzRotConvert(PmEulerZyz zyz, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyzRpyConvert(PmEulerZyz zyz, + PmRpy rpy) + +
    +           
    +static PM_CARTESIANPosemath.proj(PM_CARTESIAN v1, + PM_CARTESIAN v2) + +
    +           
    +static PM_HOMOGENEOUSPosemath.toHom(PM_POSE p) + +
    +           
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_QUATERNION v) + +
    +          Convert a quaternion to a rotation matrix.
    +static PM_ROTATION_MATRIXPosemath.toMat(PM_ROTATION_VECTOR v) + +
    +          Convert rotation vector to rotation matrix
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYX v) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_EULER_ZYZ v) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_MATRIX m) + +
    +           
    +static PM_QUATERNIONPosemath.toQuat(PM_ROTATION_VECTOR v) + +
    +          Convert a rotation vector to a quaternion
    +static PM_QUATERNIONPosemath.toQuat(PM_RPY v) + +
    +           
    +static PM_ROTATION_VECTORPosemath.toRot(PM_QUATERNION v) + +
    +          Convert quaternion to a rotation vector
    +static PM_RPYPosemath.toRpy(PM_QUATERNION v) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Constructors in rcs.posemath that throw PmException
    PM_CARTESIAN(PM_CYLINDRICAL c) + +
    +           
    PM_CYLINDRICAL(double starttheta, + double startr, + double startz) + +
    +           
    PM_CYLINDRICAL(PM_CARTESIAN v) + +
    +           
    PM_POSE(double tranx, + double trany, + double tranz, + double rots, + double rotx, + double roty, + double rotz) + +
    +           
    PM_POSE(PM_XYA xya) + +
    +           
    PM_POSE(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PM_QUATERNION(double starts, + double startx, + double starty, + double startz) + +
    +           
    PM_QUATERNION(PM_ROTATION_VECTOR rv) + +
    +           
    PM_ROTATION_MATRIX(PM_ROTATION_VECTOR rv) + +
    +           
    PM_ROTATION_VECTOR(double starts, + double startx, + double starty, + double startz) + +
    +           
    PM_XYA(PM_POSE p) + +
    +           
    PM_XYA(PmPose p) + +
    +           
    PmPose(double tranx, + double trany, + double tranz, + double rots, + double rotx, + double roty, + double rotz) + +
    +           
    PmPose(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PmQuaternion(double starts, + double startx, + double startz, + double starty) + +
    +           
    PmQuaternion(PmRpy rpy) + +
    +           
    PmRotationVector(double starts, + double startx, + double starty, + double startz) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmHomogeneous.html b/doc/javadoc/rcs/posemath/class-use/PmHomogeneous.html new file mode 100644 index 0000000..d0ae5d2 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmHomogeneous.html @@ -0,0 +1,122 @@ + + + + + + + +Uses of Class rcs.posemath.PmHomogeneous + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmHomogeneous

    +
    + + + + + + + + + +
    +Packages that use PmHomogeneous
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmHomogeneous in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmHomogeneous in rcs.posemath
    + classPM_HOMOGENEOUS + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmHomogeneous
    + booleanPmPose.equals(PmHomogeneous h) + +
    +           
    +static intPosemath.pmHomInv(PmHomogeneous h1, + PmHomogeneous h2) + +
    +           
    +static intPosemath.pmHomPoseConvert(PmHomogeneous h, + PmPose p) + +
    +           
    +static intPosemath.pmPoseHomConvert(PmPose p, + PmHomogeneous h) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmLine.html b/doc/javadoc/rcs/posemath/class-use/PmLine.html new file mode 100644 index 0000000..79d651f --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmLine.html @@ -0,0 +1,91 @@ + + + + + + + +Uses of Class rcs.posemath.PmLine + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmLine

    +
    + + + + + + + + + +
    +Packages that use PmLine
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmLine in rcs.posemath
    +  +

    + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmLine
    +static intPosemath.pmLineInit(PmLine line, + PmPose start, + PmPose end) + +
    +           
    +static intPosemath.pmLinePoint(PmLine line, + double len, + PmPose point) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmPose.html b/doc/javadoc/rcs/posemath/class-use/PmPose.html new file mode 100644 index 0000000..b7816d8 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmPose.html @@ -0,0 +1,232 @@ + + + + + + + +Uses of Class rcs.posemath.PmPose + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmPose

    +
    + + + + + + + + + +
    +Packages that use PmPose
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmPose in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmPose in rcs.posemath
    + classPM_POSE + +
    +           
    +  +

    + + + + + + + + + + + + + +
    Fields in rcs.posemath declared as PmPose
    + PmPosePmLine.end + +
    +           
    + PmPosePmLine.start + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmPose
    + booleanPmPose.equals(PmPose p) + +
    +           
    +static intPosemath.pmCircleInit(PmCircle circle, + PmPose start, + PmPose end, + PmCartesian center, + PmCartesian normal, + int turn) + +
    +           
    +static intPosemath.pmCirclePoint(PmCircle circle, + double angle, + PmPose point) + +
    +           
    +static intPosemath.pmHomPoseConvert(PmHomogeneous h, + PmPose p) + +
    +           
    +static intPosemath.pmLineInit(PmLine line, + PmPose start, + PmPose end) + +
    +           
    +static intPosemath.pmLinePoint(PmLine line, + double len, + PmPose point) + +
    +           
    +static intPosemath.pmPoseCartMult(PmPose p1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmPoseHomConvert(PmPose p, + PmHomogeneous h) + +
    +           
    +static intPosemath.pmPoseInv(PmPose p1, + PmPose p2) + +
    +           
    +static booleanPosemath.pmPosePoseCompare(PmPose p1, + PmPose p2) + +
    +           
    +static intPosemath.pmPosePoseMult(PmPose p1, + PmPose p2, + PmPose pout) + +
    +           
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PmPose
    PM_XYA(PmPose p) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmQuaternion.html b/doc/javadoc/rcs/posemath/class-use/PmQuaternion.html new file mode 100644 index 0000000..e3b47bc --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmQuaternion.html @@ -0,0 +1,355 @@ + + + + + + + +Uses of Class rcs.posemath.PmQuaternion + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmQuaternion

    +
    + + + + + + + + + +
    +Packages that use PmQuaternion
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmQuaternion in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmQuaternion in rcs.posemath
    + classPM_QUATERNION + +
    +           
    +  +

    + + + + + + + + + +
    Fields in rcs.posemath declared as PmQuaternion
    + PmQuaternionPmPose.rot + +
    +           
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath that return PmQuaternion
    +static PmQuaternionPosemath.pmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmQuaternion
    + booleanPmQuaternion.equals(PmQuaternion pq) + +
    +           
    +static intPosemath.pmAxisAngleQuatConvert(int axis, + double a, + PmQuaternion q) + +
    +          Store a quaternion based on a single rotation about an axis
    +static intPosemath.pmMatQuatConvert(PmRotationMatrix m, + PmQuaternion q) + +
    +           
    +static PmQuaternionPosemath.pmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle) + +
    +           
    +static intPosemath.pmQuatAxisAngleMult(PmQuaternion q, + int axis, + double angle, + PmQuaternion pq) + +
    +           
    +static intPosemath.pmQuatCartMult(PmQuaternion q1, + PmCartesian v2, + PmCartesian vout) + +
    +           
    +static intPosemath.pmQuatInv(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanPosemath.pmQuatIsNorm(PmQuaternion q1) + +
    +           
    +static doublePosemath.pmQuatMag(PmQuaternion q) + +
    +           
    +static intPosemath.pmQuatMatConvert(PmQuaternion q, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmQuatNorm(PmQuaternion q1, + PmQuaternion qout) + +
    +           
    +static booleanPosemath.pmQuatQuatCompare(PmQuaternion q1, + PmQuaternion q2) + +
    +           
    +static intPosemath.pmQuatQuatMult(PmQuaternion q1, + PmQuaternion q2, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatRotConvert(PmQuaternion q, + PmRotationVector r) + +
    +          Convert a quaternion to a rotation vector
    +static intPosemath.pmQuatRpyConvert(PmQuaternion q, + PmRpy rpy) + +
    +           
    +static intPosemath.pmQuatScalDiv(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatScalMult(PmQuaternion q, + double s, + PmQuaternion qout) + +
    +           
    +static intPosemath.pmQuatZyxConvert(PmQuaternion q, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmQuatZyzConvert(PmQuaternion q, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmRotQuatConvert(PmRotationVector r, + PmQuaternion q) + +
    +          Convert a rotation vector to a quaternion
    +static intPosemath.pmRpyQuatConvert(PmRpy rpy, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyxQuatConvert(PmEulerZyx zyx, + PmQuaternion q) + +
    +           
    +static intPosemath.pmZyzQuatConvert(PmEulerZyz zyz, + PmQuaternion q) + +
    +           
    +  +

    + + + + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PmQuaternion
    PM_POSE(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    PmPose(PmCartesian starttran, + PmQuaternion startrot) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmRotationMatrix.html b/doc/javadoc/rcs/posemath/class-use/PmRotationMatrix.html new file mode 100644 index 0000000..45878e0 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmRotationMatrix.html @@ -0,0 +1,262 @@ + + + + + + + +Uses of Class rcs.posemath.PmRotationMatrix + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmRotationMatrix

    +
    + + + + + + + + + +
    +Packages that use PmRotationMatrix
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmRotationMatrix in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmRotationMatrix in rcs.posemath
    + classPM_ROTATION_MATRIX + +
    +           
    +  +

    + + + + + + + + + +
    Fields in rcs.posemath declared as PmRotationMatrix
    + PmRotationMatrixPmHomogeneous.rot + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmRotationMatrix
    + booleanPmQuaternion.equals(PmRotationMatrix prm) + +
    +           
    +static intPosemath.pmMatCartMult(PmRotationMatrix m, + PmCartesian v, + PmCartesian vout) + +
    +           
    +static intPosemath.pmMatInv(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static booleanPosemath.pmMatIsNorm(PmRotationMatrix m) + +
    +           
    +static intPosemath.pmMatMatMult(PmRotationMatrix m1, + PmRotationMatrix m2, + PmRotationMatrix mout) + +
    +           
    +static intPosemath.pmMatNorm(PmRotationMatrix m, + PmRotationMatrix mout) + +
    +           
    +static intPosemath.pmMatQuatConvert(PmRotationMatrix m, + PmQuaternion q) + +
    +           
    +static intPosemath.pmMatRotConvert(PmRotationMatrix m, + PmRotationVector r) + +
    +           
    +static intPosemath.pmMatRpyConvert(PmRotationMatrix m, + PmRpy rpy) + +
    +           
    +static intPosemath.pmMatZyxConvert(PmRotationMatrix m, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmMatZyzConvert(PmRotationMatrix m, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmQuatMatConvert(PmQuaternion q, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmRotMatConvert(PmRotationVector r, + PmRotationMatrix m) + +
    +          Convert a rotation vector to a rotation matrix.
    +static intPosemath.pmRpyMatConvert(PmRpy rpy, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyxMatConvert(PmEulerZyx zyx, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmZyzMatConvert(PmEulerZyz zyz, + PmRotationMatrix m) + +
    +           
    +  +

    + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PmRotationMatrix
    PmHomogeneous(PmCartesian starttran, + PmRotationMatrix startrot) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmRotationVector.html b/doc/javadoc/rcs/posemath/class-use/PmRotationVector.html new file mode 100644 index 0000000..8050e7d --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmRotationVector.html @@ -0,0 +1,212 @@ + + + + + + + +Uses of Class rcs.posemath.PmRotationVector + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmRotationVector

    +
    + + + + + + + + + +
    +Packages that use PmRotationVector
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmRotationVector in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmRotationVector in rcs.posemath
    + classPM_ROTATION_VECTOR + +
    +           
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath that return PmRotationVector
    +static PmRotationVectorPosemath.multiply(double s, + PM_ROTATION_VECTOR r) + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmRotationVector
    + booleanPmQuaternion.equals(PmRotationVector prv) + +
    +           
    +static intPosemath.pmMatRotConvert(PmRotationMatrix m, + PmRotationVector r) + +
    +           
    +static intPosemath.pmQuatRotConvert(PmQuaternion q, + PmRotationVector r) + +
    +          Convert a quaternion to a rotation vector
    +static booleanPosemath.pmRotIsNorm(PmRotationVector r) + +
    +           
    +static intPosemath.pmRotMatConvert(PmRotationVector r, + PmRotationMatrix m) + +
    +          Convert a rotation vector to a rotation matrix.
    +static intPosemath.pmRotNorm(PmRotationVector r, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRotQuatConvert(PmRotationVector r, + PmQuaternion q) + +
    +          Convert a rotation vector to a quaternion
    +static intPosemath.pmRotScalDiv(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRotScalMult(PmRotationVector r, + double s, + PmRotationVector rout) + +
    +           
    +static intPosemath.pmRpyRotConvert(PmRpy rpy, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyxRotConvert(PmEulerZyx zyx, + PmRotationVector r) + +
    +           
    +static intPosemath.pmZyzRotConvert(PmEulerZyz zyz, + PmRotationVector r) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmRpy.html b/doc/javadoc/rcs/posemath/class-use/PmRpy.html new file mode 100644 index 0000000..511c94c --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmRpy.html @@ -0,0 +1,212 @@ + + + + + + + +Uses of Class rcs.posemath.PmRpy + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmRpy

    +
    + + + + + + + + + +
    +Packages that use PmRpy
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmRpy in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmRpy in rcs.posemath
    + classPM_RPY + +
    +           
    +  +

    + + + + + + + + + +
    Methods in rcs.posemath that return PmRpy
    + PmRpyPmRpy.clone() + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmRpy
    +static intPosemath.pmMatRpyConvert(PmRotationMatrix m, + PmRpy rpy) + +
    +           
    +static intPosemath.pmQuatRpyConvert(PmQuaternion q, + PmRpy rpy) + +
    +           
    +static intPosemath.pmRpyMatConvert(PmRpy rpy, + PmRotationMatrix m) + +
    +           
    +static intPosemath.pmRpyQuatConvert(PmRpy rpy, + PmQuaternion q) + +
    +           
    +static intPosemath.pmRpyRotConvert(PmRpy rpy, + PmRotationVector r) + +
    +           
    +static intPosemath.pmRpyZyxConvert(PmRpy rpy, + PmEulerZyx zyx) + +
    +           
    +static intPosemath.pmRpyZyzConvert(PmRpy rpy, + PmEulerZyz zyz) + +
    +           
    +static intPosemath.pmZyxRpyConvert(PmEulerZyx zyx, + PmRpy rpy) + +
    +           
    +static intPosemath.pmZyzRpyConvert(PmEulerZyz zyz, + PmRpy rpy) + +
    +           
    +  +

    + + + + + + + + + + + + + + +
    Constructors in rcs.posemath with parameters of type PmRpy
    PM_POSE(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PmPose(PmCartesian starttran, + PmRpy startrpy) + +
    +           
    PmQuaternion(PmRpy rpy) + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/PmSpherical.html b/doc/javadoc/rcs/posemath/class-use/PmSpherical.html new file mode 100644 index 0000000..d4099c4 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/PmSpherical.html @@ -0,0 +1,139 @@ + + + + + + + +Uses of Class rcs.posemath.PmSpherical + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.PmSpherical

    +
    + + + + + + + + + +
    +Packages that use PmSpherical
    rcs.posemath  
    +  +

    + + + + + +
    +Uses of PmSpherical in rcs.posemath
    +  +

    + + + + + + + + + +
    Subclasses of PmSpherical in rcs.posemath
    + classPM_SPHERICAL + +
    +           
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Methods in rcs.posemath with parameters of type PmSpherical
    + booleanPmCartesian.equals(PmSpherical s) + +
    +           
    + booleanPmCylindrical.equals(PmSpherical s) + +
    +           
    +static intPosemath.pmCartSphConvert(PmCartesian v, + PmSpherical s) + +
    +          Convert a PmCartesian to PmSpherical
    +static intPosemath.pmCylSphConvert(PmCylindrical c, + PmSpherical s) + +
    +          Convert a cylindrical to a spherical
    +static intPosemath.pmSphCartConvert(PmSpherical s, + PmCartesian v) + +
    +          Convert PmSherical to PmCartesian
    +static intPosemath.pmSphCylConvert(PmSpherical s, + PmCylindrical c) + +
    +          Convert a spherical to cylindrical
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/class-use/Posemath.html b/doc/javadoc/rcs/posemath/class-use/Posemath.html new file mode 100644 index 0000000..ee17559 --- /dev/null +++ b/doc/javadoc/rcs/posemath/class-use/Posemath.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.posemath.Posemath + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.posemath.Posemath

    +
    +No usage of rcs.posemath.Posemath +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/posemath/package-frame.html b/doc/javadoc/rcs/posemath/package-frame.html new file mode 100644 index 0000000..39aa634 --- /dev/null +++ b/doc/javadoc/rcs/posemath/package-frame.html @@ -0,0 +1,99 @@ + + + + + + +rcs.posemath + + + + + + + + + + + +rcs.posemath + + + + +
    +Classes  + +
    +LineFitTester +
    +PM_CARTESIAN +
    +PM_CIRCLE +
    +PM_CYLINDRICAL +
    +PM_EULER_ZYX +
    +PM_EULER_ZYZ +
    +PM_HOMOGENEOUS +
    +PM_LINE +
    +PM_POSE +
    +PM_QUATERNION +
    +PM_ROTATION_MATRIX +
    +PM_ROTATION_VECTOR +
    +PM_RPY +
    +PM_SPHERICAL +
    +PM_XYA +
    +PmCartesian +
    +PmCircle +
    +PmCylindrical +
    +PmEulerZyx +
    +PmEulerZyz +
    +PmHomogeneous +
    +PmLine +
    +PmPose +
    +PmQuaternion +
    +PmRotationMatrix +
    +PmRotationVector +
    +PmRpy +
    +PmSpherical +
    +Posemath
    + + + + + + +
    +Exceptions  + +
    +PmException
    + + + + diff --git a/doc/javadoc/rcs/posemath/package-summary.html b/doc/javadoc/rcs/posemath/package-summary.html new file mode 100644 index 0000000..75346df --- /dev/null +++ b/doc/javadoc/rcs/posemath/package-summary.html @@ -0,0 +1,282 @@ + + + + + + +rcs.posemath + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package rcs.posemath +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    LineFitTester 
    PM_CARTESIAN 
    PM_CIRCLE 
    PM_CYLINDRICAL 
    PM_EULER_ZYX 
    PM_EULER_ZYZ 
    PM_HOMOGENEOUS 
    PM_LINE 
    PM_POSE 
    PM_QUATERNION 
    PM_ROTATION_MATRIX 
    PM_ROTATION_VECTOR 
    PM_RPY 
    PM_SPHERICAL 
    PM_XYA 
    PmCartesian 
    PmCircle 
    PmCylindrical 
    PmEulerZyx 
    PmEulerZyz 
    PmHomogeneous 
    PmLine 
    PmPose 
    PmQuaternion 
    PmRotationMatrix 
    PmRotationVector 
    PmRpy 
    PmSpherical 
    PosemathClass created only for its static functions to convert and manipulate + the pose representations in the rest of the package.
    +  + +

    + + + + + + + + + +
    +Exception Summary
    PmException 
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/package-tree.html b/doc/javadoc/rcs/posemath/package-tree.html new file mode 100644 index 0000000..e7bebb8 --- /dev/null +++ b/doc/javadoc/rcs/posemath/package-tree.html @@ -0,0 +1,190 @@ + + + + + + +rcs.posemath Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package rcs.posemath +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/posemath/package-use.html b/doc/javadoc/rcs/posemath/package-use.html new file mode 100644 index 0000000..aa9ccb3 --- /dev/null +++ b/doc/javadoc/rcs/posemath/package-use.html @@ -0,0 +1,231 @@ + + + + + + + +Uses of Package rcs.posemath + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    rcs.posemath

    +
    + + + + + + + + + +
    +Packages that use rcs.posemath
    rcs.posemath  
    +  +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Classes in rcs.posemath used by rcs.posemath
    PM_CARTESIAN + +
    +           
    PM_CIRCLE + +
    +           
    PM_CYLINDRICAL + +
    +           
    PM_EULER_ZYX + +
    +           
    PM_EULER_ZYZ + +
    +           
    PM_HOMOGENEOUS + +
    +           
    PM_LINE + +
    +           
    PM_POSE + +
    +           
    PM_QUATERNION + +
    +           
    PM_ROTATION_MATRIX + +
    +           
    PM_ROTATION_VECTOR + +
    +           
    PM_RPY + +
    +           
    PM_SPHERICAL + +
    +           
    PM_XYA + +
    +           
    PmCartesian + +
    +           
    PmCircle + +
    +           
    PmCylindrical + +
    +           
    PmEulerZyx + +
    +           
    PmEulerZyz + +
    +           
    PmException + +
    +           
    PmHomogeneous + +
    +           
    PmLine + +
    +           
    PmPose + +
    +           
    PmQuaternion + +
    +           
    PmRotationMatrix + +
    +           
    PmRotationVector + +
    +           
    PmRpy + +
    +           
    PmSpherical + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/CorrectedPipedInputStream.html b/doc/javadoc/rcs/utils/CorrectedPipedInputStream.html new file mode 100644 index 0000000..a9c48dd --- /dev/null +++ b/doc/javadoc/rcs/utils/CorrectedPipedInputStream.html @@ -0,0 +1,459 @@ + + + + + + +CorrectedPipedInputStream + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class CorrectedPipedInputStream

    +
    +java.lang.Object
    +  extended by java.io.InputStream
    +      extended by rcs.utils.CorrectedPipedInputStream
    +
    +
    +
    All Implemented Interfaces:
    java.io.Closeable
    +
    +
    +
    +
    public class CorrectedPipedInputStream
    extends java.io.InputStream
    + + +

    +This class provides the same interface as java.io.PipedInputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written. + CorrectedPipedInputStream/CorrectedPipedOutputStream only block + for mutual exclusion but will allow any amount of data(atleast + until you run out of memory) to be written to the pipe without waiting + for a read. + +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    +
    + 
    +

    + +

    +

    +
    See Also:
    CorrectedPipedOutputStream
    +
    + +

    + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    CorrectedPipedInputStream() + +
    +           
    CorrectedPipedInputStream(rcs.utils.CorrectedPipedOutputStreamInterface out) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + intavailable() + +
    +           
    + voidclose() + +
    +           
    + rcs.utils.CorrectedPipeDataget_pipe_data() + +
    +           
    + intread() + +
    +           
    + intread(byte[] b) + +
    +           
    + intread(byte[] b, + int off, + int len) + +
    +           
    + + + + + + + +
    Methods inherited from class java.io.InputStream
    mark, markSupported, reset, skip
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +debug_on

    +
    +public static final boolean debug_on
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +CorrectedPipedInputStream

    +
    +public CorrectedPipedInputStream()
    +
    +
    +
    + +

    +CorrectedPipedInputStream

    +
    +public CorrectedPipedInputStream(rcs.utils.CorrectedPipedOutputStreamInterface out)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_pipe_data

    +
    +public rcs.utils.CorrectedPipeData get_pipe_data()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +available

    +
    +public int available()
    +
    +
    +
    Overrides:
    available in class java.io.InputStream
    +
    +
    +
    +
    +
    +
    + +

    +close

    +
    +public void close()
    +
    +
    +
    Specified by:
    close in interface java.io.Closeable
    Overrides:
    close in class java.io.InputStream
    +
    +
    +
    +
    +
    +
    + +

    +read

    +
    +public int read()
    +         throws java.io.IOException
    +
    +
    +
    Specified by:
    read in class java.io.InputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    +
    + +

    +read

    +
    +public int read(byte[] b)
    +         throws java.io.IOException
    +
    +
    +
    Overrides:
    read in class java.io.InputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    +
    + +

    +read

    +
    +public int read(byte[] b,
    +                int off,
    +                int len)
    +         throws java.io.IOException
    +
    +
    +
    Overrides:
    read in class java.io.InputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/CorrectedPipedOutputStream.html b/doc/javadoc/rcs/utils/CorrectedPipedOutputStream.html new file mode 100644 index 0000000..06478fb --- /dev/null +++ b/doc/javadoc/rcs/utils/CorrectedPipedOutputStream.html @@ -0,0 +1,401 @@ + + + + + + +CorrectedPipedOutputStream + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class CorrectedPipedOutputStream

    +
    +java.lang.Object
    +  extended by java.io.OutputStream
    +      extended by rcs.utils.CorrectedPipedOutputStream
    +
    +
    +
    All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable
    +
    +
    +
    +
    public class CorrectedPipedOutputStream
    extends java.io.OutputStream
    + + +

    +This class provides the same interface as java.io.PipedOutputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written. + CorrectedPipedInputStream/CorrectedPipedOutputStream only block + for mutual exclusion but will allow any amount of data(atleast + until you run out of memory) to be written to the pipe without waiting + for a read. + +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    +
    + 
    +

    + +

    +

    +
    See Also:
    CorrectedPipedInputStream
    +
    + +

    + + + + + + + + + + + + + + +
    +Constructor Summary
    CorrectedPipedOutputStream() + +
    +           
    CorrectedPipedOutputStream(rcs.utils.CorrectedPipedInputStreamInterface in) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidclose() + +
    +           
    + rcs.utils.CorrectedPipeDataget_pipe_data() + +
    +           
    + voidwrite(byte[] b) + +
    +           
    + voidwrite(byte[] b, + int off, + int len) + +
    +           
    + voidwrite(int b) + +
    +           
    + + + + + + + +
    Methods inherited from class java.io.OutputStream
    flush
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +CorrectedPipedOutputStream

    +
    +public CorrectedPipedOutputStream()
    +
    +
    +
    + +

    +CorrectedPipedOutputStream

    +
    +public CorrectedPipedOutputStream(rcs.utils.CorrectedPipedInputStreamInterface in)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_pipe_data

    +
    +public rcs.utils.CorrectedPipeData get_pipe_data()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +close

    +
    +public void close()
    +
    +
    +
    Specified by:
    close in interface java.io.Closeable
    Overrides:
    close in class java.io.OutputStream
    +
    +
    +
    +
    +
    +
    + +

    +write

    +
    +public void write(int b)
    +           throws java.io.IOException
    +
    +
    +
    Specified by:
    write in class java.io.OutputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    +
    + +

    +write

    +
    +public void write(byte[] b)
    +           throws java.io.IOException
    +
    +
    +
    Overrides:
    write in class java.io.OutputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    +
    + +

    +write

    +
    +public void write(byte[] b,
    +                  int off,
    +                  int len)
    +           throws java.io.IOException
    +
    +
    +
    Overrides:
    write in class java.io.OutputStream
    +
    +
    + +
    Throws: +
    java.io.IOException
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/SimpleFileFilter.html b/doc/javadoc/rcs/utils/SimpleFileFilter.html new file mode 100644 index 0000000..a432033 --- /dev/null +++ b/doc/javadoc/rcs/utils/SimpleFileFilter.html @@ -0,0 +1,340 @@ + + + + + + +SimpleFileFilter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class SimpleFileFilter

    +
    +java.lang.Object
    +  extended by rcs.utils.SimpleFileFilter
    +
    +
    +
    All Implemented Interfaces:
    java.io.FilenameFilter
    +
    +
    +
    +
    public class SimpleFileFilter
    extends java.lang.Object
    implements java.io.FilenameFilter
    + + +

    +FilenameFilter which checks for a pattern match used by design tool. +

    + +

    +


    + +

    + + + + + + + + + + + + + + + +
    +Field Summary
    +static booleandebug_on + +
    +           
    + java.lang.Stringpattern + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    SimpleFileFilter(java.lang.String _pattern) + +
    +           
    +  + + + + + + + + + + + + + + + +
    +Method Summary
    + booleanaccept(java.io.File dir, + java.lang.String name) + +
    +           
    +static booleanCheckPatternMatch(java.lang.String word, + java.lang.String pat) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +pattern

    +
    +public java.lang.String pattern
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +SimpleFileFilter

    +
    +public SimpleFileFilter(java.lang.String _pattern)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +CheckPatternMatch

    +
    +public static boolean CheckPatternMatch(java.lang.String word,
    +                                        java.lang.String pat)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +accept

    +
    +public boolean accept(java.io.File dir,
    +                      java.lang.String name)
    +
    +
    +
    Specified by:
    accept in interface java.io.FilenameFilter
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/StackTracePrinter.html b/doc/javadoc/rcs/utils/StackTracePrinter.html new file mode 100644 index 0000000..46e153d --- /dev/null +++ b/doc/javadoc/rcs/utils/StackTracePrinter.html @@ -0,0 +1,376 @@ + + + + + + +StackTracePrinter + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class StackTracePrinter

    +
    +java.lang.Object
    +  extended by rcs.utils.StackTracePrinter
    +
    +
    +
    +
    public class StackTracePrinter
    extends java.lang.Object
    + + +

    +Utilities for printing StackTrace info with old JDK 1.4 API's +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Constructor Summary
    StackTracePrinter() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static java.lang.StringThrowableFileName(java.lang.Throwable t, + int stack_level) + +
    +           
    +static java.lang.StringThrowableTextToFileName(java.lang.String exceptionText, + int stack_level) + +
    +           
    +static intThrowableTextToLine(java.lang.String exceptionText, + int stack_level) + +
    +           
    +static java.lang.StringThrowableTextToShortList(java.lang.String exceptionText) + +
    +           
    +static intThrowableToLine(java.lang.Throwable t, + int stack_level) + +
    +           
    +static java.lang.StringThrowableToShortList(java.lang.Throwable t) + +
    +           
    +static java.lang.StringThrowableToStackTraceString(java.lang.Throwable t) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Constructor Detail
    + +

    +StackTracePrinter

    +
    +public StackTracePrinter()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +ThrowableToStackTraceString

    +
    +public static java.lang.String ThrowableToStackTraceString(java.lang.Throwable t)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableTextToFileName

    +
    +public static java.lang.String ThrowableTextToFileName(java.lang.String exceptionText,
    +                                                       int stack_level)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableToShortList

    +
    +public static java.lang.String ThrowableToShortList(java.lang.Throwable t)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableTextToShortList

    +
    +public static java.lang.String ThrowableTextToShortList(java.lang.String exceptionText)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableFileName

    +
    +public static java.lang.String ThrowableFileName(java.lang.Throwable t,
    +                                                 int stack_level)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableToLine

    +
    +public static int ThrowableToLine(java.lang.Throwable t,
    +                                  int stack_level)
    +
    +
    +
    +
    +
    +
    + +

    +ThrowableTextToLine

    +
    +public static int ThrowableTextToLine(java.lang.String exceptionText,
    +                                      int stack_level)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/StrToInt.html b/doc/javadoc/rcs/utils/StrToInt.html new file mode 100644 index 0000000..26c8968 --- /dev/null +++ b/doc/javadoc/rcs/utils/StrToInt.html @@ -0,0 +1,332 @@ + + + + + + +StrToInt + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class StrToInt

    +
    +java.lang.Object
    +  extended by rcs.utils.StrToInt
    +
    +
    +
    +
    public class StrToInt
    extends java.lang.Object
    + + +

    +Convert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    +static booleanbad_token + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    StrToInt() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static intconvert(java.lang.String str) + +
    +           
    +static voidErrorPrint(java.lang.String s) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +bad_token

    +
    +public static boolean bad_token
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +StrToInt

    +
    +public StrToInt()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +convert

    +
    +public static int convert(java.lang.String str)
    +                   throws java.lang.NumberFormatException
    +
    +
    + +
    Throws: +
    java.lang.NumberFormatException
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/StrToLong.html b/doc/javadoc/rcs/utils/StrToLong.html new file mode 100644 index 0000000..9a8a3ca --- /dev/null +++ b/doc/javadoc/rcs/utils/StrToLong.html @@ -0,0 +1,332 @@ + + + + + + +StrToLong + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class StrToLong

    +
    +java.lang.Object
    +  extended by rcs.utils.StrToLong
    +
    +
    +
    +
    public class StrToLong
    extends java.lang.Object
    + + +

    +Convert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing. +

    + +

    +


    + +

    + + + + + + + + + + + +
    +Field Summary
    +static booleanbad_token + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    StrToLong() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static longconvert(java.lang.String str) + +
    +           
    +static voidErrorPrint(java.lang.String s) + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +bad_token

    +
    +public static boolean bad_token
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +StrToLong

    +
    +public StrToLong()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +ErrorPrint

    +
    +public static void ErrorPrint(java.lang.String s)
    +
    +
    +
    +
    +
    +
    + +

    +convert

    +
    +public static long convert(java.lang.String str)
    +                    throws java.lang.NumberFormatException
    +
    +
    + +
    Throws: +
    java.lang.NumberFormatException
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/URL_and_FileLoader.html b/doc/javadoc/rcs/utils/URL_and_FileLoader.html new file mode 100644 index 0000000..065e852 --- /dev/null +++ b/doc/javadoc/rcs/utils/URL_and_FileLoader.html @@ -0,0 +1,735 @@ + + + + + + +URL_and_FileLoader + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class URL_and_FileLoader

    +
    +java.lang.Object
    +  extended by rcs.utils.URL_and_FileLoader
    +
    +
    +
    +
    public class URL_and_FileLoader
    extends java.lang.Object
    + + +

    +Class used to read text files one line at a time + either as a local file or via an HTTP server. +

    + Related Documentation:
    + RCS Library, NML Programmers Guide (Java Version)
    +
    + 
    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + intbytes_read + +
    +           
    + intcontent_length + +
    +           
    +static java.lang.Stringcurrent_directory + +
    +           
    +static booleandebug_file_loading + +
    +           
    +static booleandebug_on + +
    +           
    +static booleandefault_use_caches + +
    +           
    + java.lang.StringHTTPhost + +
    +           
    + intHTTPport + +
    +           
    +static booleaninterrupt_file_loading + +
    +           
    + booleanis_local + +
    +           
    + intlines_read + +
    +           
    + java.lang.Stringname + +
    +           
    + java.lang.Stringstr + +
    +           
    + java.lang.StringStringToSucceed + +
    +           
    + java.util.StringTokenizertokenizer + +
    +           
    + booleanTryNameSucceeded + +
    +           
    +  + + + + + + + + + + + + + +
    +Constructor Summary
    URL_and_FileLoader(java.io.InputStream is) + +
    +           
    URL_and_FileLoader(java.lang.String _name) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static voidAddToSearchPath(java.lang.String new_dir) + +
    +           
    +static booleanCheckInSearchPath(java.lang.String new_dir) + +
    +           
    + voidclose() + +
    +           
    +static java.util.Vectorget_SearchPath() + +
    +           
    + java.io.BufferedReadergetBufferedReader() + +
    +           
    + booleangetUseCaches() + +
    +           
    + java.lang.StringreadLine() + +
    +           
    + voidsetUseCaches(boolean _cache) + +
    +           
    + java.lang.StringtoString() + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +content_length

    +
    +public int content_length
    +
    +
    +
    +
    +
    + +

    +bytes_read

    +
    +public int bytes_read
    +
    +
    +
    +
    +
    + +

    +lines_read

    +
    +public int lines_read
    +
    +
    +
    +
    +
    + +

    +default_use_caches

    +
    +public static boolean default_use_caches
    +
    +
    +
    +
    +
    + +

    +interrupt_file_loading

    +
    +public static boolean interrupt_file_loading
    +
    +
    +
    +
    +
    + +

    +debug_file_loading

    +
    +public static boolean debug_file_loading
    +
    +
    +
    +
    +
    + +

    +current_directory

    +
    +public static java.lang.String current_directory
    +
    +
    +
    +
    +
    + +

    +name

    +
    +public java.lang.String name
    +
    +
    +
    +
    +
    + +

    +is_local

    +
    +public boolean is_local
    +
    +
    +
    +
    +
    + +

    +HTTPport

    +
    +public int HTTPport
    +
    +
    +
    +
    +
    + +

    +HTTPhost

    +
    +public java.lang.String HTTPhost
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +str

    +
    +public java.lang.String str
    +
    +
    +
    +
    +
    + +

    +tokenizer

    +
    +public java.util.StringTokenizer tokenizer
    +
    +
    +
    +
    +
    + +

    +TryNameSucceeded

    +
    +public boolean TryNameSucceeded
    +
    +
    +
    +
    +
    + +

    +StringToSucceed

    +
    +public java.lang.String StringToSucceed
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +URL_and_FileLoader

    +
    +public URL_and_FileLoader(java.io.InputStream is)
    +
    +
    +
    + +

    +URL_and_FileLoader

    +
    +public URL_and_FileLoader(java.lang.String _name)
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +get_SearchPath

    +
    +public static java.util.Vector get_SearchPath()
    +
    +
    +
    +
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    Overrides:
    toString in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +setUseCaches

    +
    +public void setUseCaches(boolean _cache)
    +
    +
    +
    +
    +
    +
    + +

    +getUseCaches

    +
    +public boolean getUseCaches()
    +
    +
    +
    +
    +
    +
    + +

    +CheckInSearchPath

    +
    +public static boolean CheckInSearchPath(java.lang.String new_dir)
    +
    +
    +
    +
    +
    +
    + +

    +AddToSearchPath

    +
    +public static void AddToSearchPath(java.lang.String new_dir)
    +
    +
    +
    +
    +
    +
    + +

    +readLine

    +
    +public java.lang.String readLine()
    +
    +
    +
    +
    +
    +
    + +

    +getBufferedReader

    +
    +public java.io.BufferedReader getBufferedReader()
    +
    +
    +
    +
    +
    +
    + +

    +close

    +
    +public void close()
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/CorrectedPipedInputStream.html b/doc/javadoc/rcs/utils/class-use/CorrectedPipedInputStream.html new file mode 100644 index 0000000..3394034 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/CorrectedPipedInputStream.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.CorrectedPipedInputStream + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.CorrectedPipedInputStream

    +
    +No usage of rcs.utils.CorrectedPipedInputStream +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/CorrectedPipedOutputStream.html b/doc/javadoc/rcs/utils/class-use/CorrectedPipedOutputStream.html new file mode 100644 index 0000000..685a789 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/CorrectedPipedOutputStream.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.CorrectedPipedOutputStream + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.CorrectedPipedOutputStream

    +
    +No usage of rcs.utils.CorrectedPipedOutputStream +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/SimpleFileFilter.html b/doc/javadoc/rcs/utils/class-use/SimpleFileFilter.html new file mode 100644 index 0000000..fc5df17 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/SimpleFileFilter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.SimpleFileFilter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.SimpleFileFilter

    +
    +No usage of rcs.utils.SimpleFileFilter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/StackTracePrinter.html b/doc/javadoc/rcs/utils/class-use/StackTracePrinter.html new file mode 100644 index 0000000..d3eb474 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/StackTracePrinter.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.StackTracePrinter + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.StackTracePrinter

    +
    +No usage of rcs.utils.StackTracePrinter +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/StrToInt.html b/doc/javadoc/rcs/utils/class-use/StrToInt.html new file mode 100644 index 0000000..7d5f63e --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/StrToInt.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.StrToInt + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.StrToInt

    +
    +No usage of rcs.utils.StrToInt +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/StrToLong.html b/doc/javadoc/rcs/utils/class-use/StrToLong.html new file mode 100644 index 0000000..17c2d9c --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/StrToLong.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.StrToLong + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.StrToLong

    +
    +No usage of rcs.utils.StrToLong +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/URL_and_FileLoader.html b/doc/javadoc/rcs/utils/class-use/URL_and_FileLoader.html new file mode 100644 index 0000000..1f86059 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/URL_and_FileLoader.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcs.utils.URL_and_FileLoader + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.URL_and_FileLoader

    +
    + + + + + + + + + +
    +Packages that use URL_and_FileLoader
    rcs.nml  
    +  +

    + + + + + +
    +Uses of URL_and_FileLoader in rcs.nml
    +  +

    + + + + + + + + + +
    Fields in rcs.nml declared as URL_and_FileLoader
    + URL_and_FileLoaderNMLConfigInfo.loader + +
    +           
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/jcrypt.html b/doc/javadoc/rcs/utils/class-use/jcrypt.html new file mode 100644 index 0000000..6ced08a --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/jcrypt.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.jcrypt + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.jcrypt

    +
    +No usage of rcs.utils.jcrypt +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/class-use/rcs_states.html b/doc/javadoc/rcs/utils/class-use/rcs_states.html new file mode 100644 index 0000000..0101234 --- /dev/null +++ b/doc/javadoc/rcs/utils/class-use/rcs_states.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcs.utils.rcs_states + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcs.utils.rcs_states

    +
    +No usage of rcs.utils.rcs_states +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/jcrypt.html b/doc/javadoc/rcs/utils/jcrypt.html new file mode 100644 index 0000000..2de4121 --- /dev/null +++ b/doc/javadoc/rcs/utils/jcrypt.html @@ -0,0 +1,251 @@ + + + + + + +jcrypt + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class jcrypt

    +
    +java.lang.Object
    +  extended by rcs.utils.jcrypt
    +
    +
    +
    +
    public class jcrypt
    extends java.lang.Object
    + + +

    +This class provides a Java-based implementation of the unix crypt command. + + I downloaded this file from http://www.zeh.com/local/jfd/crypt.htm on March, 25 1997, and used it +in rcs.nml.NMLConnection.login(). +

    +

    + +

    +


    + +

    + + + + + + + + + + + + + + + + +
    +Method Summary
    +static java.lang.Stringcrypt(java.lang.String original, + java.lang.String salt) + +
    +          Encrypts a passwd.
    +static voidmain(java.lang.String[] args) + +
    +          Main function called when the class is run as a standalone program.
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Method Detail
    + +

    +crypt

    +
    +public static final java.lang.String crypt(java.lang.String original,
    +                                           java.lang.String salt)
    +
    +
    Encrypts a passwd. +

    +

    +
    Parameters:
    original - Password or key before encryption.
    salt - 2 letter string used during encryption and returned at the beggining of the resulting encrypted string. +
    Returns:
    the encrypted passwd with the salt included as the first 2 characters.
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    Main function called when the class is run as a standalone program. +

    +

    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/package-frame.html b/doc/javadoc/rcs/utils/package-frame.html new file mode 100644 index 0000000..a42d59c --- /dev/null +++ b/doc/javadoc/rcs/utils/package-frame.html @@ -0,0 +1,48 @@ + + + + + + +rcs.utils + + + + + + + + + + + +rcs.utils + + + + +
    +Classes  + +
    +CorrectedPipedInputStream +
    +CorrectedPipedOutputStream +
    +jcrypt +
    +rcs_states +
    +SimpleFileFilter +
    +StackTracePrinter +
    +StrToInt +
    +StrToLong +
    +URL_and_FileLoader
    + + + + diff --git a/doc/javadoc/rcs/utils/package-summary.html b/doc/javadoc/rcs/utils/package-summary.html new file mode 100644 index 0000000..e30e1b8 --- /dev/null +++ b/doc/javadoc/rcs/utils/package-summary.html @@ -0,0 +1,196 @@ + + + + + + +rcs.utils + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package rcs.utils +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Class Summary
    CorrectedPipedInputStreamThis class provides the same interface as java.io.PipedInputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written.
    CorrectedPipedOutputStreamThis class provides the same interface as java.io.PipedOutputStream + except that it corrects the problem that when java.io.PipedOutputStream + has 1k or more written to it, it blocks until the some of the data is read + from the input pipe before more can be written.
    jcryptThis class provides a Java-based implementation of the unix crypt command.
    rcs_states 
    SimpleFileFilterFilenameFilter which checks for a pattern match used by design tool.
    StackTracePrinterUtilities for printing StackTrace info with old JDK 1.4 API's
    StrToIntConvert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing.
    StrToLongConvert a string to an integer accepting a somewhat larger range of strings + than String.parseInt() and adding some additional error printing.
    URL_and_FileLoaderClass used to read text files one line at a time + either as a local file or via an HTTP server.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/package-tree.html b/doc/javadoc/rcs/utils/package-tree.html new file mode 100644 index 0000000..0fb80e5 --- /dev/null +++ b/doc/javadoc/rcs/utils/package-tree.html @@ -0,0 +1,158 @@ + + + + + + +rcs.utils Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package rcs.utils +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcs/utils/package-use.html b/doc/javadoc/rcs/utils/package-use.html new file mode 100644 index 0000000..6b54cf3 --- /dev/null +++ b/doc/javadoc/rcs/utils/package-use.html @@ -0,0 +1,70 @@ + + + + + + + +Uses of Package rcs.utils + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    rcs.utils

    +
    + + + + + + + + + +
    +Packages that use rcs.utils
    rcs.nml  
    +  +

    + + + + + + + + +
    +Classes in rcs.utils used by rcs.nml
    URL_and_FileLoader + +
    +          Class used to read text files one line at a time + either as a local file or via an HTTP server.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcs/utils/rcs_states.html b/doc/javadoc/rcs/utils/rcs_states.html new file mode 100644 index 0000000..aa22759 --- /dev/null +++ b/doc/javadoc/rcs/utils/rcs_states.html @@ -0,0 +1,1036 @@ + + + + + + +rcs_states + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcs.utils +
    +Class rcs_states

    +
    +java.lang.Object
    +  extended by rcs.utils.rcs_states
    +
    +
    +
    +
    public class rcs_states
    extends java.lang.Object
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +static intADMIN_INITIALIZED + +
    +           
    +static intADMIN_SHUT_DOWN + +
    +           
    +static intADMIN_UNINITIALIZED + +
    +           
    +static intNEW_COMMAND + +
    +           
    +static intNOP_STATE + +
    +           
    +static intRCS_ADMIN_ZERO + +
    +           
    +static intS0 + +
    +           
    +static intS1 + +
    +           
    +static intS10 + +
    +           
    +static intS11 + +
    +           
    +static intS12 + +
    +           
    +static intS13 + +
    +           
    +static intS14 + +
    +           
    +static intS15 + +
    +           
    +static intS16 + +
    +           
    +static intS17 + +
    +           
    +static intS18 + +
    +           
    +static intS2 + +
    +           
    +static intS3 + +
    +           
    +static intS4 + +
    +           
    +static intS5 + +
    +           
    +static intS6 + +
    +           
    +static intS7 + +
    +           
    +static intS8 + +
    +           
    +static intS9 + +
    +           
    +static intSE0 + +
    +           
    +static intSE1 + +
    +           
    +static intSE2 + +
    +           
    +static intSE3 + +
    +           
    +static intSE4 + +
    +           
    +static intSE5 + +
    +           
    +static intSE6 + +
    +           
    +static intSE7 + +
    +           
    +static intSE8 + +
    +           
    +static intSE9 + +
    +           
    +static intUNINITIALIZED_STATE + +
    +           
    +  + + + + + + + + + + +
    +Constructor Summary
    rcs_states() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    +static java.lang.StringprintWhereAmI() + +
    +          Get a formatted stack trace.
    +static voidstate_default(RCS_STAT_MSG stat) + +
    +          Sets the stat.source_line and stat.source_file, + called when all state_match()'s fail.
    +static booleanstate_match(RCS_STAT_MSG stat, + int stateIn) + +
    +          Checks stat.state == stateIn and sets the source_file and source line + so that one can check which line of the state table matched.
    +static voidstate_new(RCS_STAT_MSG stat) + +
    +          Sets the source file and source line.
    +static voidstate_next(RCS_STAT_MSG stat, + int next) + +
    +          Sets stat.state to the next state.
    +static voidstatus_next(RCS_STAT_MSG stat, + int next) + +
    +          Sets stat.status to the next status
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +RCS_ADMIN_ZERO

    +
    +public static final int RCS_ADMIN_ZERO
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ADMIN_UNINITIALIZED

    +
    +public static final int ADMIN_UNINITIALIZED
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ADMIN_INITIALIZED

    +
    +public static final int ADMIN_INITIALIZED
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +ADMIN_SHUT_DOWN

    +
    +public static final int ADMIN_SHUT_DOWN
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +UNINITIALIZED_STATE

    +
    +public static final int UNINITIALIZED_STATE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NEW_COMMAND

    +
    +public static final int NEW_COMMAND
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +NOP_STATE

    +
    +public static final int NOP_STATE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE0

    +
    +public static final int SE0
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE1

    +
    +public static final int SE1
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE2

    +
    +public static final int SE2
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE3

    +
    +public static final int SE3
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE4

    +
    +public static final int SE4
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE5

    +
    +public static final int SE5
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE6

    +
    +public static final int SE6
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE7

    +
    +public static final int SE7
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE8

    +
    +public static final int SE8
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +SE9

    +
    +public static final int SE9
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S0

    +
    +public static final int S0
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S1

    +
    +public static final int S1
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S2

    +
    +public static final int S2
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S3

    +
    +public static final int S3
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S4

    +
    +public static final int S4
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S5

    +
    +public static final int S5
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S6

    +
    +public static final int S6
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S7

    +
    +public static final int S7
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S8

    +
    +public static final int S8
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S9

    +
    +public static final int S9
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S10

    +
    +public static final int S10
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S11

    +
    +public static final int S11
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S12

    +
    +public static final int S12
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S13

    +
    +public static final int S13
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S14

    +
    +public static final int S14
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S15

    +
    +public static final int S15
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S16

    +
    +public static final int S16
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S17

    +
    +public static final int S17
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +S18

    +
    +public static final int S18
    +
    +
    +
    See Also:
    Constant Field Values
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +rcs_states

    +
    +public rcs_states()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +printWhereAmI

    +
    +public static java.lang.String printWhereAmI()
    +
    +
    Get a formatted stack trace. +

    +

    + +
    Returns:
    String with formatted stack trace.
    +
    +
    +
    + +

    +state_match

    +
    +public static boolean state_match(RCS_STAT_MSG stat,
    +                                  int stateIn)
    +
    +
    Checks stat.state == stateIn and sets the source_file and source line + so that one can check which line of the state table matched. +

    +

    +
    Parameters:
    stat - The status message to be written out via NML.
    stateIn - state to check, (NEW_COMMAND, or one of the S? values defined above.) +
    Returns:
    stat.state == stateIn
    +
    +
    +
    + +

    +state_new

    +
    +public static void state_new(RCS_STAT_MSG stat)
    +
    +
    Sets the source file and source line. + (seems a little redundant especially if you just called state_match()) +

    +

    +
    Parameters:
    stat -
    +
    +
    +
    + +

    +state_next

    +
    +public static void state_next(RCS_STAT_MSG stat,
    +                              int next)
    +
    +
    Sets stat.state to the next state. +

    +

    +
    Parameters:
    stat -
    next - (NEW_COMMAND, or one of the S* constants in this class.)
    +
    +
    +
    + +

    +status_next

    +
    +public static void status_next(RCS_STAT_MSG stat,
    +                               int next)
    +
    +
    Sets stat.status to the next status +

    +

    +
    Parameters:
    stat -
    next -
    +
    +
    +
    + +

    +state_default

    +
    +public static void state_default(RCS_STAT_MSG stat)
    +
    +
    Sets the stat.source_line and stat.source_file, + called when all state_match()'s fail. +

    +

    +
    Parameters:
    stat -
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcsdesign/class-use/rcsDesign.html b/doc/javadoc/rcsdesign/class-use/rcsDesign.html new file mode 100644 index 0000000..cbfae04 --- /dev/null +++ b/doc/javadoc/rcsdesign/class-use/rcsDesign.html @@ -0,0 +1,43 @@ + + + + + + + +Uses of Class rcsdesign.rcsDesign + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcsdesign.rcsDesign

    +
    +No usage of rcsdesign.rcsDesign +

    +


    + +
    + + + diff --git a/doc/javadoc/rcsdesign/class-use/rcsDesignGui.html b/doc/javadoc/rcsdesign/class-use/rcsDesignGui.html new file mode 100644 index 0000000..a8fbb20 --- /dev/null +++ b/doc/javadoc/rcsdesign/class-use/rcsDesignGui.html @@ -0,0 +1,79 @@ + + + + + + + +Uses of Class rcsdesign.rcsDesignGui + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Class
    rcsdesign.rcsDesignGui

    +
    + + + + + + + + + +
    +Packages that use rcsDesignGui
    rcsdesign  
    +  +

    + + + + + +
    +Uses of rcsDesignGui in rcsdesign
    +  +

    + + + + + + + + + +
    Subclasses of rcsDesignGui in rcsdesign
    + classrcsDesign + +
    +          Main class for RCS Design tool.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcsdesign/package-frame.html b/doc/javadoc/rcsdesign/package-frame.html new file mode 100644 index 0000000..83797b1 --- /dev/null +++ b/doc/javadoc/rcsdesign/package-frame.html @@ -0,0 +1,34 @@ + + + + + + +rcsdesign + + + + + + + + + + + +rcsdesign + + + + +
    +Classes  + +
    +rcsDesign +
    +rcsDesignGui
    + + + + diff --git a/doc/javadoc/rcsdesign/package-summary.html b/doc/javadoc/rcsdesign/package-summary.html new file mode 100644 index 0000000..8836638 --- /dev/null +++ b/doc/javadoc/rcsdesign/package-summary.html @@ -0,0 +1,159 @@ + + + + + + +rcsdesign + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +

    +Package rcsdesign +

    + + + + + + + + + + + + + +
    +Class Summary
    rcsDesignMain class for RCS Design tool.
    rcsDesignGuiGraphical base class for RCS Design tool.
    +  + +

    +

    +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcsdesign/package-tree.html b/doc/javadoc/rcsdesign/package-tree.html new file mode 100644 index 0000000..86817c5 --- /dev/null +++ b/doc/javadoc/rcsdesign/package-tree.html @@ -0,0 +1,167 @@ + + + + + + +rcsdesign Class Hierarchy + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Hierarchy For Package rcsdesign +

    +
    +
    +
    Package Hierarchies:
    All Packages
    +
    +

    +Class Hierarchy +

    +
      +
    • java.lang.Object
        +
      • java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable) +
          +
        • java.awt.Container
            +
          • java.awt.Panel (implements javax.accessibility.Accessible) +
              +
            • java.applet.Applet
                +
              • diagapplet.utils.StandAloneApplet (implements java.awt.event.ComponentListener) +
                  +
                • rcsdesign.rcsDesignGui
                    +
                  • rcsdesign.rcsDesign (implements java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.ItemListener, java.lang.Runnable, java.awt.event.TextListener) +
                  +
                +
              +
            +
          +
        +
      +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcsdesign/package-use.html b/doc/javadoc/rcsdesign/package-use.html new file mode 100644 index 0000000..5bffd0c --- /dev/null +++ b/doc/javadoc/rcsdesign/package-use.html @@ -0,0 +1,69 @@ + + + + + + + +Uses of Package rcsdesign + + + + + + + + + + + + +
    + +
    +
    +

    +Uses of Package
    rcsdesign

    +
    + + + + + + + + + +
    +Packages that use rcsdesign
    rcsdesign  
    +  +

    + + + + + + + + +
    +Classes in rcsdesign used by rcsdesign
    rcsDesignGui + +
    +          Graphical base class for RCS Design tool.
    +  +

    +


    + +
    + + + diff --git a/doc/javadoc/rcsdesign/rcsDesign.html b/doc/javadoc/rcsdesign/rcsDesign.html new file mode 100644 index 0000000..adbaecb --- /dev/null +++ b/doc/javadoc/rcsdesign/rcsDesign.html @@ -0,0 +1,1741 @@ + + + + + + +rcsDesign + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcsdesign +
    +Class rcsDesign

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by java.applet.Applet
    +                  extended by diagapplet.utils.StandAloneApplet
    +                      extended by rcsdesign.rcsDesignGui
    +                          extended by rcsdesign.rcsDesign
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.ComponentListener, java.awt.event.ItemListener, java.awt.event.TextListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    +
    public class rcsDesign
    extends rcsDesignGui
    implements java.lang.Runnable, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.TextListener, java.awt.event.AdjustmentListener
    + + +

    +Main class for RCS Design tool. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.applet.Applet
    java.applet.Applet.AccessibleApplet
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    +protected static intCHECK_IN_FILES + +
    +           
    +protected static intCLEANUP + +
    +           
    +protected static intCREATE_SOURCE + +
    +           
    +protected static intDO_NOTHING + +
    +           
    +protected static java.awt.Framemain_window + +
    +           
    +protected static intMAX_FILE_PANEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMAX_FILE_PANEL_WIDTH_DEFAULT + +
    +           
    +protected static intMAX_FILE_TEXT_LENGTH_DEFAULT + +
    +           
    +protected static intMAX_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMAX_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT + +
    +           
    +static intMAX_FILE_TEXT_WIDTH_DEFAULT + +
    +           
    +protected static intMAX_HIERARCHY_PANEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMAX_HIERARCHY_PANEL_WIDTH_DEFAULT + +
    +           
    +protected static intMIN_FILE_PANEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMIN_FILE_PANEL_WIDTH_DEFAULT + +
    +           
    +protected static intMIN_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMIN_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT + +
    +           
    +protected static intMIN_HIERARCHY_PANEL_HEIGHT_DEFAULT + +
    +           
    +protected static intMIN_HIERARCHY_PANEL_WIDTH_DEFAULT + +
    +           
    +protected static java.lang.String[]orig_args + +
    +           
    +protected static intread_config_count + +
    +           
    +protected static intREAD_CONFIGURATION + +
    +           
    +protected  intrun_function + +
    +           
    +protected static intUPDATE_FILE + +
    +           
    +protected  booleanupdating_files + +
    +           
    + + + + + + + +
    Fields inherited from class rcsdesign.rcsDesignGui
    addIncludeField, addIncludeLabel, addLibField, addLibLabel, addmainLoopField, addmainLoopLabel, addModuleField, addModuleLabel, addPlatField, addPlatLabel, addServerField, addServerLabel, appdirField, appdirLabel, appnameField, appnameLabel, auto_checkin, auto_checkout, autoCheckInCheckbox, autoCheckOutCheckbox, browserCommandField, browserCommandLabel, bufsInServerLabel, bufsInServerList, checkInCommandField, checkInCommandLabel, checkInEverythingButton, checkOutCommandField, checkOutCommandLabel, codeGenerationApplet, cppExtField, cppExtLabel, current_fti, currentLoadedFile, cycletimeField, cycletimeLabel, debug_on, default_version_control_checkin_command, default_version_control_checkout_command, default_version_control_directory, default_version_control_symlink_command, default_version_control_type, delIncludeButton, delLibButton, delmainLoopButton, delPlatButton, delServerButton, devPlatTypeGroup, devPlatTypeLabel, diag_cmd, diagCommandField, diagCommandLabel, fileAsterixLabel, fileCheckinDirectoryField, fileCheckinDirectoryLabel, fileCheckinTypeChoice, fileCheckinTypeLabel, fileCheckOutCheckbox, filesList, filesListLabel, fileTextArea, fileTextLabel, hppExtField, hppExtLabel, includesLabel, includesList, inside_alert, inside_query, inside_run, javaCommandField, javaCommandLabel, javaSetupArea, javaSetupLabel, libsLabel, libsList, list_modules_by_number, mainLoopHostField, mainLoopHostLabel, mainLoopLabel, mainLoopList, makeBackupsCheckbox, makeCommandField, makeCommandLabel, modsInLoopLabel, modsInLoopList, modulesList, mswinCheckbox, objExtField, objExtLabel, overwriteAlwaysCheckbox, overwriteGroup, overwriteLabel, overwriteNeverCheckbox, overwritePromptCheckbox, parentFrame, platLabel, platList, rcslibdirField, rcslibdirLabel, removeBackupsButton, runCommandField, runCommandLabel, screenChoice, serverHostField, serverHostLabel, serverLabel, serverList, singleDirCheckbox, symLinkCommandField, symLinkCommandLabel, terminalCommandField, terminalCommandLabel, text_file_needs_saving, unixCheckbox, useJavaInScriptsCheckbox, useMergerCheckbox, userdirField, userdirLabel
    + + + + + + + +
    Fields inherited from class diagapplet.utils.StandAloneApplet
    initialized, inside_init, inside_resizeable_window, last_size, m_fStandAlone, main_applet_thread, repaint_count, resize_next_time
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    rcsDesign() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidactionPerformed(java.awt.event.ActionEvent evt) + +
    +           
    +protected  voidAddToBufferList(java.lang.String name) + +
    +           
    + voidadjustmentValueChanged(java.awt.event.AdjustmentEvent evt) + +
    +           
    + booleancanShutdown() + +
    +           
    +protected  voidCheckInAllFiles() + +
    +           
    + voidCheckInFile(java.io.File f) + +
    +           
    + voidCheckOutFile(java.io.File f) + +
    +           
    +protected  voidcleanup_in_background() + +
    +           
    + voidcleanup() + +
    +           
    +protected  voidCreateBufferList() + +
    +           
    + voiddestroy() + +
    +           
    +protected  voidExecuteInDirectory(java.lang.String directory, + java.lang.String command) + +
    +           
    + java.lang.StringgetAppletInfo() + +
    +           
    +protected  java.lang.StringgetDefaultPlat() + +
    +           
    +protected  java.lang.StringgetFilesListItem(int i) + +
    +           
    + java.lang.String[][]getParameterInfo() + +
    +           
    +protected  voidImportController() + +
    +           
    +protected  voidImportController(java.lang.String importdir, + java.lang.String filename, + java.lang.String subsystem) + +
    +           
    + voidinit() + +
    +           
    +protected  voidInitializeLists() + +
    +           
    + voiditemStateChanged(java.awt.event.ItemEvent evt) + +
    +           
    +protected  voidLoadListsFromCurModule() + +
    +           
    +static voidmain(java.lang.String[] args) + +
    +           
    +protected  voidMarkAllFiles() + +
    +           
    +protected  voidMarkCommonFiles() + +
    +           
    +protected  voidMarkLoopFiles(java.lang.String loopName) + +
    +           
    +protected  voidMarkModuleFiles(java.lang.String moduleName, + boolean include_intf) + +
    +           
    +protected  voidmonitored_repaint() + +
    +           
    +protected  voidNewController() + +
    +           
    +protected  voidOpenController() + +
    +           
    + voidpaint(java.awt.Graphics g) + +
    +           
    +protected  voidReadEverything() + +
    +           
    +protected  voidRemoveBackups() + +
    +           
    + voidrun() + +
    +           
    + voidstart() + +
    +           
    + voidstartShutdown() + +
    +           
    + voidstop() + +
    +           
    + voidtextValueChanged(java.awt.event.TextEvent evt) + +
    +           
    +protected  booleanUpdateAuxStuff(java.lang.String aux) + +
    +           
    +protected  voidUpdateWriter() + +
    +           
    + + + + + + + +
    Methods inherited from class rcsdesign.rcsDesignGui
    Alert, printThreadInfo, Query, ReadFileIntoTextArea
    + + + + + + + +
    Methods inherited from class diagapplet.utils.StandAloneApplet
    componentHidden, componentMoved, componentResized, componentShown, manual_resize
    + + + + + + + +
    Methods inherited from class java.applet.Applet
    getAccessibleContext, getAppletContext, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +MAX_FILE_TEXT_WIDTH_DEFAULT

    +
    +public static final int MAX_FILE_TEXT_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_FILE_TEXT_LENGTH_DEFAULT

    +
    +protected static final int MAX_FILE_TEXT_LENGTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT

    +
    +protected static final int MIN_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT

    +
    +protected static final int MIN_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT

    +
    +protected static final int MAX_FILE_TEXT_PANEL_PIXEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT

    +
    +protected static final int MAX_FILE_TEXT_PANEL_PIXEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_HIERARCHY_PANEL_WIDTH_DEFAULT

    +
    +protected static final int MIN_HIERARCHY_PANEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_HIERARCHY_PANEL_HEIGHT_DEFAULT

    +
    +protected static final int MIN_HIERARCHY_PANEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_HIERARCHY_PANEL_HEIGHT_DEFAULT

    +
    +protected static final int MAX_HIERARCHY_PANEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_HIERARCHY_PANEL_WIDTH_DEFAULT

    +
    +protected static final int MAX_HIERARCHY_PANEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_FILE_PANEL_WIDTH_DEFAULT

    +
    +protected static final int MIN_FILE_PANEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MIN_FILE_PANEL_HEIGHT_DEFAULT

    +
    +protected static final int MIN_FILE_PANEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_FILE_PANEL_HEIGHT_DEFAULT

    +
    +protected static final int MAX_FILE_PANEL_HEIGHT_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +MAX_FILE_PANEL_WIDTH_DEFAULT

    +
    +protected static final int MAX_FILE_PANEL_WIDTH_DEFAULT
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +orig_args

    +
    +protected static java.lang.String[] orig_args
    +
    +
    +
    +
    +
    + +

    +main_window

    +
    +protected static java.awt.Frame main_window
    +
    +
    +
    +
    +
    + +

    +read_config_count

    +
    +protected static int read_config_count
    +
    +
    +
    +
    +
    + +

    +DO_NOTHING

    +
    +protected static final int DO_NOTHING
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +READ_CONFIGURATION

    +
    +protected static final int READ_CONFIGURATION
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CREATE_SOURCE

    +
    +protected static final int CREATE_SOURCE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CHECK_IN_FILES

    +
    +protected static final int CHECK_IN_FILES
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +UPDATE_FILE

    +
    +protected static final int UPDATE_FILE
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +CLEANUP

    +
    +protected static final int CLEANUP
    +
    +
    +
    See Also:
    Constant Field Values
    +
    +
    + +

    +run_function

    +
    +protected int run_function
    +
    +
    +
    +
    +
    + +

    +updating_files

    +
    +protected boolean updating_files
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +rcsDesign

    +
    +public rcsDesign()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +monitored_repaint

    +
    +protected void monitored_repaint()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +AddToBufferList

    +
    +protected void AddToBufferList(java.lang.String name)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CreateBufferList

    +
    +protected void CreateBufferList()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckOutFile

    +
    +public void CheckOutFile(java.io.File f)
    +
    +
    +
    Overrides:
    CheckOutFile in class rcsDesignGui
    +
    +
    +
    +
    +
    +
    + +

    +CheckInFile

    +
    +public void CheckInFile(java.io.File f)
    +
    +
    +
    Overrides:
    CheckInFile in class rcsDesignGui
    +
    +
    +
    +
    +
    +
    + +

    +ExecuteInDirectory

    +
    +protected void ExecuteInDirectory(java.lang.String directory,
    +                                  java.lang.String command)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +main

    +
    +public static void main(java.lang.String[] args)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +UpdateWriter

    +
    +protected void UpdateWriter()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getDefaultPlat

    +
    +protected java.lang.String getDefaultPlat()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getAppletInfo

    +
    +public java.lang.String getAppletInfo()
    +
    +
    +
    Overrides:
    getAppletInfo in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +getParameterInfo

    +
    +public java.lang.String[][] getParameterInfo()
    +
    +
    +
    Overrides:
    getParameterInfo in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +init

    +
    +public void init()
    +
    +
    +
    Overrides:
    init in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +ReadEverything

    +
    +protected void ReadEverything()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +InitializeLists

    +
    +protected void InitializeLists()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ImportController

    +
    +protected void ImportController()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +OpenController

    +
    +protected void OpenController()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +NewController

    +
    +protected void NewController()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +ImportController

    +
    +protected void ImportController(java.lang.String importdir,
    +                                java.lang.String filename,
    +                                java.lang.String subsystem)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +getFilesListItem

    +
    +protected java.lang.String getFilesListItem(int i)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +RemoveBackups

    +
    +protected void RemoveBackups()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +CheckInAllFiles

    +
    +protected void CheckInAllFiles()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +itemStateChanged

    +
    +public void itemStateChanged(java.awt.event.ItemEvent evt)
    +
    +
    +
    Specified by:
    itemStateChanged in interface java.awt.event.ItemListener
    +
    +
    +
    +
    +
    +
    + +

    +actionPerformed

    +
    +public void actionPerformed(java.awt.event.ActionEvent evt)
    +
    +
    +
    Specified by:
    actionPerformed in interface java.awt.event.ActionListener
    +
    +
    +
    +
    +
    +
    + +

    +canShutdown

    +
    +public boolean canShutdown()
    +
    +
    +
    Overrides:
    canShutdown in class StandAloneApplet
    +
    +
    +
    +
    +
    +
    + +

    +startShutdown

    +
    +public void startShutdown()
    +
    +
    +
    Overrides:
    startShutdown in class StandAloneApplet
    +
    +
    +
    +
    +
    +
    + +

    +cleanup

    +
    +public void cleanup()
    +
    +
    +
    Overrides:
    cleanup in class StandAloneApplet
    +
    +
    +
    +
    +
    +
    + +

    +cleanup_in_background

    +
    +protected void cleanup_in_background()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +MarkCommonFiles

    +
    +protected void MarkCommonFiles()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +MarkAllFiles

    +
    +protected void MarkAllFiles()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +MarkLoopFiles

    +
    +protected void MarkLoopFiles(java.lang.String loopName)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +MarkModuleFiles

    +
    +protected void MarkModuleFiles(java.lang.String moduleName,
    +                               boolean include_intf)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +textValueChanged

    +
    +public void textValueChanged(java.awt.event.TextEvent evt)
    +
    +
    +
    Specified by:
    textValueChanged in interface java.awt.event.TextListener
    +
    +
    +
    +
    +
    +
    + +

    +adjustmentValueChanged

    +
    +public void adjustmentValueChanged(java.awt.event.AdjustmentEvent evt)
    +
    +
    +
    Specified by:
    adjustmentValueChanged in interface java.awt.event.AdjustmentListener
    +
    +
    +
    +
    +
    +
    + +

    +UpdateAuxStuff

    +
    +protected boolean UpdateAuxStuff(java.lang.String aux)
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +start

    +
    +public void start()
    +
    +
    +
    Overrides:
    start in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +stop

    +
    +public void stop()
    +
    +
    +
    Overrides:
    stop in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +run

    +
    +public void run()
    +
    +
    +
    Specified by:
    run in interface java.lang.Runnable
    +
    +
    +
    +
    +
    +
    + +

    +destroy

    +
    +public void destroy()
    +
    +
    +
    Overrides:
    destroy in class java.applet.Applet
    +
    +
    +
    +
    +
    +
    + +

    +paint

    +
    +public void paint(java.awt.Graphics g)
    +
    +
    +
    Overrides:
    paint in class java.awt.Container
    +
    +
    +
    +
    +
    +
    + +

    +LoadListsFromCurModule

    +
    +protected void LoadListsFromCurModule()
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/rcsdesign/rcsDesignGui.html b/doc/javadoc/rcsdesign/rcsDesignGui.html new file mode 100644 index 0000000..6279873 --- /dev/null +++ b/doc/javadoc/rcsdesign/rcsDesignGui.html @@ -0,0 +1,2629 @@ + + + + + + +rcsDesignGui + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + +

    + +rcsdesign +
    +Class rcsDesignGui

    +
    +java.lang.Object
    +  extended by java.awt.Component
    +      extended by java.awt.Container
    +          extended by java.awt.Panel
    +              extended by java.applet.Applet
    +                  extended by diagapplet.utils.StandAloneApplet
    +                      extended by rcsdesign.rcsDesignGui
    +
    +
    +
    All Implemented Interfaces:
    java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
    +
    +
    +
    Direct Known Subclasses:
    rcsDesign
    +
    +
    +
    +
    public class rcsDesignGui
    extends StandAloneApplet
    + + +

    +Graphical base class for RCS Design tool. +

    + +

    +

    +
    See Also:
    Serialized Form
    +
    + +

    + + + + + + + +
    +Nested Class Summary
    + + + + + + + +
    Nested classes/interfaces inherited from class java.applet.Applet
    java.applet.Applet.AccessibleApplet
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Panel
    java.awt.Panel.AccessibleAWTPanel
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Container
    java.awt.Container.AccessibleAWTContainer
    +  + + + + + + + + +
    Nested classes/interfaces inherited from class java.awt.Component
    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + java.awt.TextFieldaddIncludeField + +
    +           
    + java.awt.LabeladdIncludeLabel + +
    +           
    + java.awt.TextFieldaddLibField + +
    +           
    + java.awt.LabeladdLibLabel + +
    +           
    + java.awt.TextFieldaddmainLoopField + +
    +           
    + java.awt.LabeladdmainLoopLabel + +
    +           
    + java.awt.TextFieldaddModuleField + +
    +           
    + java.awt.LabeladdModuleLabel + +
    +           
    + java.awt.TextFieldaddPlatField + +
    +           
    + java.awt.LabeladdPlatLabel + +
    +           
    + java.awt.TextFieldaddServerField + +
    +           
    + java.awt.LabeladdServerLabel + +
    +           
    + java.awt.TextFieldappdirField + +
    +           
    + java.awt.LabelappdirLabel + +
    +           
    + java.awt.TextFieldappnameField + +
    +           
    + java.awt.LabelappnameLabel + +
    +           
    + booleanauto_checkin + +
    +           
    + booleanauto_checkout + +
    +           
    + java.awt.CheckboxautoCheckInCheckbox + +
    +           
    + java.awt.CheckboxautoCheckOutCheckbox + +
    +           
    + java.awt.TextFieldbrowserCommandField + +
    +           
    + java.awt.LabelbrowserCommandLabel + +
    +           
    + java.awt.LabelbufsInServerLabel + +
    +           
    + java.awt.ListbufsInServerList + +
    +           
    + java.awt.TextFieldcheckInCommandField + +
    +           
    + java.awt.LabelcheckInCommandLabel + +
    +           
    + java.awt.ButtoncheckInEverythingButton + +
    +           
    + java.awt.TextFieldcheckOutCommandField + +
    +           
    + java.awt.LabelcheckOutCommandLabel + +
    +           
    + CodeGencodeGenerationApplet + +
    +           
    + java.awt.TextFieldcppExtField + +
    +           
    + java.awt.LabelcppExtLabel + +
    +           
    + rcsdesign.FileTypeInfocurrent_fti + +
    +           
    + java.lang.StringcurrentLoadedFile + +
    +           
    + java.awt.TextFieldcycletimeField + +
    +           
    + java.awt.LabelcycletimeLabel + +
    +           
    +static booleandebug_on + +
    +           
    + java.lang.Stringdefault_version_control_checkin_command + +
    +           
    + java.lang.Stringdefault_version_control_checkout_command + +
    +           
    + java.lang.Stringdefault_version_control_directory + +
    +           
    + java.lang.Stringdefault_version_control_symlink_command + +
    +           
    + java.lang.Stringdefault_version_control_type + +
    +           
    + java.awt.ButtondelIncludeButton + +
    +           
    + java.awt.ButtondelLibButton + +
    +           
    + java.awt.ButtondelmainLoopButton + +
    +           
    + java.awt.ButtondelPlatButton + +
    +           
    + java.awt.ButtondelServerButton + +
    +           
    + java.awt.CheckboxGroupdevPlatTypeGroup + +
    +           
    + java.awt.LabeldevPlatTypeLabel + +
    +           
    + java.lang.Stringdiag_cmd + +
    +           
    + java.awt.TextFielddiagCommandField + +
    +           
    + java.awt.LabeldiagCommandLabel + +
    +           
    + java.awt.LabelfileAsterixLabel + +
    +           
    + java.awt.TextFieldfileCheckinDirectoryField + +
    +           
    + java.awt.LabelfileCheckinDirectoryLabel + +
    +           
    + java.awt.ChoicefileCheckinTypeChoice + +
    +           
    + java.awt.LabelfileCheckinTypeLabel + +
    +           
    + java.awt.CheckboxfileCheckOutCheckbox + +
    +           
    + java.awt.ListfilesList + +
    +           
    + java.awt.LabelfilesListLabel + +
    +           
    + java.awt.TextAreafileTextArea + +
    +           
    + java.awt.LabelfileTextLabel + +
    +           
    + java.awt.TextFieldhppExtField + +
    +           
    + java.awt.LabelhppExtLabel + +
    +           
    + java.awt.LabelincludesLabel + +
    +           
    + java.awt.ListincludesList + +
    +           
    + booleaninside_alert + +
    +           
    + booleaninside_query + +
    +           
    + booleaninside_run + +
    +           
    + java.awt.TextFieldjavaCommandField + +
    +           
    + java.awt.LabeljavaCommandLabel + +
    +           
    + java.awt.TextAreajavaSetupArea + +
    +           
    + java.awt.LabeljavaSetupLabel + +
    +           
    + java.awt.LabellibsLabel + +
    +           
    + java.awt.ListlibsList + +
    +           
    + booleanlist_modules_by_number + +
    +           
    + java.awt.TextFieldmainLoopHostField + +
    +           
    + java.awt.LabelmainLoopHostLabel + +
    +           
    + java.awt.LabelmainLoopLabel + +
    +           
    + java.awt.ListmainLoopList + +
    +           
    + java.awt.CheckboxmakeBackupsCheckbox + +
    +           
    + java.awt.TextFieldmakeCommandField + +
    +           
    + java.awt.LabelmakeCommandLabel + +
    +           
    + java.awt.LabelmodsInLoopLabel + +
    +           
    + java.awt.ListmodsInLoopList + +
    +           
    + CountListmodulesList + +
    +           
    + java.awt.CheckboxmswinCheckbox + +
    +           
    + java.awt.TextFieldobjExtField + +
    +           
    + java.awt.LabelobjExtLabel + +
    +           
    + java.awt.CheckboxoverwriteAlwaysCheckbox + +
    +           
    + java.awt.CheckboxGroupoverwriteGroup + +
    +           
    + java.awt.LabeloverwriteLabel + +
    +           
    + java.awt.CheckboxoverwriteNeverCheckbox + +
    +           
    + java.awt.CheckboxoverwritePromptCheckbox + +
    +           
    + java.awt.FrameparentFrame + +
    +           
    + java.awt.LabelplatLabel + +
    +           
    + java.awt.ListplatList + +
    +           
    + java.awt.TextFieldrcslibdirField + +
    +           
    + java.awt.LabelrcslibdirLabel + +
    +           
    + java.awt.ButtonremoveBackupsButton + +
    +           
    + java.awt.TextFieldrunCommandField + +
    +           
    + java.awt.LabelrunCommandLabel + +
    +           
    + java.awt.ChoicescreenChoice + +
    +           
    + java.awt.TextFieldserverHostField + +
    +           
    + java.awt.LabelserverHostLabel + +
    +           
    + java.awt.LabelserverLabel + +
    +           
    + java.awt.ListserverList + +
    +           
    + java.awt.CheckboxsingleDirCheckbox + +
    +           
    + java.awt.TextFieldsymLinkCommandField + +
    +           
    + java.awt.LabelsymLinkCommandLabel + +
    +           
    + java.awt.TextFieldterminalCommandField + +
    +           
    + java.awt.LabelterminalCommandLabel + +
    +           
    + booleantext_file_needs_saving + +
    +           
    + java.awt.CheckboxunixCheckbox + +
    +           
    + java.awt.CheckboxuseJavaInScriptsCheckbox + +
    +           
    + java.awt.CheckboxuseMergerCheckbox + +
    +           
    + java.awt.TextFielduserdirField + +
    +           
    + java.awt.LabeluserdirLabel + +
    +           
    + + + + + + + +
    Fields inherited from class diagapplet.utils.StandAloneApplet
    initialized, inside_init, inside_resizeable_window, last_size, m_fStandAlone, main_applet_thread, repaint_count, resize_next_time
    + + + + + + + +
    Fields inherited from class java.awt.Component
    BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
    + + + + + + + +
    Fields inherited from interface java.awt.image.ImageObserver
    ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    +  + + + + + + + + + + +
    +Constructor Summary
    rcsDesignGui() + +
    +           
    +  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + voidAlert(java.lang.String str) + +
    +           
    + voidCheckInFile(java.io.File f) + +
    +           
    + voidCheckOutFile(java.io.File f) + +
    +           
    +static voidprintThreadInfo() + +
    +           
    + rcsdesign.QueryDialogQuery(java.lang.String str) + +
    +           
    + voidReadFileIntoTextArea(java.lang.String s, + java.lang.String label, + rcsdesign.FileTypeInfo fti) + +
    +           
    + + + + + + + +
    Methods inherited from class diagapplet.utils.StandAloneApplet
    canShutdown, cleanup, componentHidden, componentMoved, componentResized, componentShown, manual_resize, startShutdown
    + + + + + + + +
    Methods inherited from class java.applet.Applet
    destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, init, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, start, stop
    + + + + + + + +
    Methods inherited from class java.awt.Panel
    addNotify
    + + + + + + + +
    Methods inherited from class java.awt.Container
    add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
    + + + + + + + +
    Methods inherited from class java.awt.Component
    action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
    + + + + + + + +
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +currentLoadedFile

    +
    +public java.lang.String currentLoadedFile
    +
    +
    +
    +
    +
    + +

    +filesListLabel

    +
    +public java.awt.Label filesListLabel
    +
    +
    +
    +
    +
    + +

    +fileTextLabel

    +
    +public java.awt.Label fileTextLabel
    +
    +
    +
    +
    +
    + +

    +filesList

    +
    +public java.awt.List filesList
    +
    +
    +
    +
    +
    + +

    +fileTextArea

    +
    +public java.awt.TextArea fileTextArea
    +
    +
    +
    +
    +
    + +

    +codeGenerationApplet

    +
    +public CodeGen codeGenerationApplet
    +
    +
    +
    +
    +
    + +

    +overwriteGroup

    +
    +public java.awt.CheckboxGroup overwriteGroup
    +
    +
    +
    +
    +
    + +

    +overwriteAlwaysCheckbox

    +
    +public java.awt.Checkbox overwriteAlwaysCheckbox
    +
    +
    +
    +
    +
    + +

    +overwritePromptCheckbox

    +
    +public java.awt.Checkbox overwritePromptCheckbox
    +
    +
    +
    +
    +
    + +

    +overwriteNeverCheckbox

    +
    +public java.awt.Checkbox overwriteNeverCheckbox
    +
    +
    +
    +
    +
    + +

    +debug_on

    +
    +public static boolean debug_on
    +
    +
    +
    +
    +
    + +

    +makeBackupsCheckbox

    +
    +public java.awt.Checkbox makeBackupsCheckbox
    +
    +
    +
    +
    +
    + +

    +singleDirCheckbox

    +
    +public java.awt.Checkbox singleDirCheckbox
    +
    +
    +
    +
    +
    + +

    +screenChoice

    +
    +public java.awt.Choice screenChoice
    +
    +
    +
    +
    +
    + +

    +inside_alert

    +
    +public boolean inside_alert
    +
    +
    +
    +
    +
    + +

    +inside_query

    +
    +public boolean inside_query
    +
    +
    +
    +
    +
    + +

    +inside_run

    +
    +public boolean inside_run
    +
    +
    +
    +
    +
    + +

    +diag_cmd

    +
    +public java.lang.String diag_cmd
    +
    +
    +
    +
    +
    + +

    +libsLabel

    +
    +public java.awt.Label libsLabel
    +
    +
    +
    +
    +
    + +

    +libsList

    +
    +public java.awt.List libsList
    +
    +
    +
    +
    +
    + +

    +addLibLabel

    +
    +public java.awt.Label addLibLabel
    +
    +
    +
    +
    +
    + +

    +addLibField

    +
    +public java.awt.TextField addLibField
    +
    +
    +
    +
    +
    + +

    +delLibButton

    +
    +public java.awt.Button delLibButton
    +
    +
    +
    +
    +
    + +

    +includesLabel

    +
    +public java.awt.Label includesLabel
    +
    +
    +
    +
    +
    + +

    +includesList

    +
    +public java.awt.List includesList
    +
    +
    +
    +
    +
    + +

    +addIncludeLabel

    +
    +public java.awt.Label addIncludeLabel
    +
    +
    +
    +
    +
    + +

    +addIncludeField

    +
    +public java.awt.TextField addIncludeField
    +
    +
    +
    +
    +
    + +

    +delIncludeButton

    +
    +public java.awt.Button delIncludeButton
    +
    +
    +
    +
    +
    + +

    +mainLoopLabel

    +
    +public java.awt.Label mainLoopLabel
    +
    +
    +
    +
    +
    + +

    +mainLoopList

    +
    +public java.awt.List mainLoopList
    +
    +
    +
    +
    +
    + +

    +addmainLoopLabel

    +
    +public java.awt.Label addmainLoopLabel
    +
    +
    +
    +
    +
    + +

    +addmainLoopField

    +
    +public java.awt.TextField addmainLoopField
    +
    +
    +
    +
    +
    + +

    +delmainLoopButton

    +
    +public java.awt.Button delmainLoopButton
    +
    +
    +
    +
    +
    + +

    +modsInLoopLabel

    +
    +public java.awt.Label modsInLoopLabel
    +
    +
    +
    +
    +
    + +

    +modsInLoopList

    +
    +public java.awt.List modsInLoopList
    +
    +
    +
    +
    +
    + +

    +mainLoopHostLabel

    +
    +public java.awt.Label mainLoopHostLabel
    +
    +
    +
    +
    +
    + +

    +mainLoopHostField

    +
    +public java.awt.TextField mainLoopHostField
    +
    +
    +
    +
    +
    + +

    +cycletimeLabel

    +
    +public java.awt.Label cycletimeLabel
    +
    +
    +
    +
    +
    + +

    +cycletimeField

    +
    +public java.awt.TextField cycletimeField
    +
    +
    +
    +
    +
    + +

    +serverLabel

    +
    +public java.awt.Label serverLabel
    +
    +
    +
    +
    +
    + +

    +serverList

    +
    +public java.awt.List serverList
    +
    +
    +
    +
    +
    + +

    +addServerLabel

    +
    +public java.awt.Label addServerLabel
    +
    +
    +
    +
    +
    + +

    +addServerField

    +
    +public java.awt.TextField addServerField
    +
    +
    +
    +
    +
    + +

    +delServerButton

    +
    +public java.awt.Button delServerButton
    +
    +
    +
    +
    +
    + +

    +bufsInServerLabel

    +
    +public java.awt.Label bufsInServerLabel
    +
    +
    +
    +
    +
    + +

    +bufsInServerList

    +
    +public java.awt.List bufsInServerList
    +
    +
    +
    +
    +
    + +

    +serverHostLabel

    +
    +public java.awt.Label serverHostLabel
    +
    +
    +
    +
    +
    + +

    +serverHostField

    +
    +public java.awt.TextField serverHostField
    +
    +
    +
    +
    +
    + +

    +javaCommandLabel

    +
    +public java.awt.Label javaCommandLabel
    +
    +
    +
    +
    +
    + +

    +javaCommandField

    +
    +public java.awt.TextField javaCommandField
    +
    +
    +
    +
    +
    + +

    +javaSetupLabel

    +
    +public java.awt.Label javaSetupLabel
    +
    +
    +
    +
    +
    + +

    +javaSetupArea

    +
    +public java.awt.TextArea javaSetupArea
    +
    +
    +
    +
    +
    + +

    +useJavaInScriptsCheckbox

    +
    +public java.awt.Checkbox useJavaInScriptsCheckbox
    +
    +
    +
    +
    +
    + +

    +appnameLabel

    +
    +public java.awt.Label appnameLabel
    +
    +
    +
    +
    +
    + +

    +appnameField

    +
    +public java.awt.TextField appnameField
    +
    +
    +
    +
    +
    + +

    +appdirLabel

    +
    +public java.awt.Label appdirLabel
    +
    +
    +
    +
    +
    + +

    +appdirField

    +
    +public java.awt.TextField appdirField
    +
    +
    +
    +
    +
    + +

    +userdirLabel

    +
    +public java.awt.Label userdirLabel
    +
    +
    +
    +
    +
    + +

    +userdirField

    +
    +public java.awt.TextField userdirField
    +
    +
    +
    +
    +
    + +

    +rcslibdirLabel

    +
    +public java.awt.Label rcslibdirLabel
    +
    +
    +
    +
    +
    + +

    +rcslibdirField

    +
    +public java.awt.TextField rcslibdirField
    +
    +
    +
    +
    +
    + +

    +platLabel

    +
    +public java.awt.Label platLabel
    +
    +
    +
    +
    +
    + +

    +platList

    +
    +public java.awt.List platList
    +
    +
    +
    +
    +
    + +

    +addPlatLabel

    +
    +public java.awt.Label addPlatLabel
    +
    +
    +
    +
    +
    + +

    +addPlatField

    +
    +public java.awt.TextField addPlatField
    +
    +
    +
    +
    +
    + +

    +delPlatButton

    +
    +public java.awt.Button delPlatButton
    +
    +
    +
    +
    +
    + +

    +overwriteLabel

    +
    +public java.awt.Label overwriteLabel
    +
    +
    +
    +
    +
    + +

    +useMergerCheckbox

    +
    +public java.awt.Checkbox useMergerCheckbox
    +
    +
    +
    +
    +
    + +

    +removeBackupsButton

    +
    +public java.awt.Button removeBackupsButton
    +
    +
    +
    +
    +
    + +

    +devPlatTypeLabel

    +
    +public java.awt.Label devPlatTypeLabel
    +
    +
    +
    +
    +
    + +

    +devPlatTypeGroup

    +
    +public java.awt.CheckboxGroup devPlatTypeGroup
    +
    +
    +
    +
    +
    + +

    +unixCheckbox

    +
    +public java.awt.Checkbox unixCheckbox
    +
    +
    +
    +
    +
    + +

    +mswinCheckbox

    +
    +public java.awt.Checkbox mswinCheckbox
    +
    +
    +
    +
    +
    + +

    +cppExtLabel

    +
    +public java.awt.Label cppExtLabel
    +
    +
    +
    +
    +
    + +

    +cppExtField

    +
    +public java.awt.TextField cppExtField
    +
    +
    +
    +
    +
    + +

    +hppExtLabel

    +
    +public java.awt.Label hppExtLabel
    +
    +
    +
    +
    +
    + +

    +hppExtField

    +
    +public java.awt.TextField hppExtField
    +
    +
    +
    +
    +
    + +

    +objExtLabel

    +
    +public java.awt.Label objExtLabel
    +
    +
    +
    +
    +
    + +

    +objExtField

    +
    +public java.awt.TextField objExtField
    +
    +
    +
    +
    +
    + +

    +makeCommandLabel

    +
    +public java.awt.Label makeCommandLabel
    +
    +
    +
    +
    +
    + +

    +makeCommandField

    +
    +public java.awt.TextField makeCommandField
    +
    +
    +
    +
    +
    + +

    +runCommandLabel

    +
    +public java.awt.Label runCommandLabel
    +
    +
    +
    +
    +
    + +

    +runCommandField

    +
    +public java.awt.TextField runCommandField
    +
    +
    +
    +
    +
    + +

    +terminalCommandLabel

    +
    +public java.awt.Label terminalCommandLabel
    +
    +
    +
    +
    +
    + +

    +terminalCommandField

    +
    +public java.awt.TextField terminalCommandField
    +
    +
    +
    +
    +
    + +

    +diagCommandLabel

    +
    +public java.awt.Label diagCommandLabel
    +
    +
    +
    +
    +
    + +

    +diagCommandField

    +
    +public java.awt.TextField diagCommandField
    +
    +
    +
    +
    +
    + +

    +browserCommandLabel

    +
    +public java.awt.Label browserCommandLabel
    +
    +
    +
    +
    +
    + +

    +browserCommandField

    +
    +public java.awt.TextField browserCommandField
    +
    +
    +
    +
    +
    + +

    +fileCheckinTypeLabel

    +
    +public java.awt.Label fileCheckinTypeLabel
    +
    +
    +
    +
    +
    + +

    +fileCheckinTypeChoice

    +
    +public java.awt.Choice fileCheckinTypeChoice
    +
    +
    +
    +
    +
    + +

    +fileCheckinDirectoryLabel

    +
    +public java.awt.Label fileCheckinDirectoryLabel
    +
    +
    +
    +
    +
    + +

    +fileCheckinDirectoryField

    +
    +public java.awt.TextField fileCheckinDirectoryField
    +
    +
    +
    +
    +
    + +

    +checkOutCommandLabel

    +
    +public java.awt.Label checkOutCommandLabel
    +
    +
    +
    +
    +
    + +

    +checkOutCommandField

    +
    +public java.awt.TextField checkOutCommandField
    +
    +
    +
    +
    +
    + +

    +checkInCommandLabel

    +
    +public java.awt.Label checkInCommandLabel
    +
    +
    +
    +
    +
    + +

    +checkInCommandField

    +
    +public java.awt.TextField checkInCommandField
    +
    +
    +
    +
    +
    + +

    +symLinkCommandLabel

    +
    +public java.awt.Label symLinkCommandLabel
    +
    +
    +
    +
    +
    + +

    +symLinkCommandField

    +
    +public java.awt.TextField symLinkCommandField
    +
    +
    +
    +
    +
    + +

    +checkInEverythingButton

    +
    +public java.awt.Button checkInEverythingButton
    +
    +
    +
    +
    +
    + +

    +autoCheckInCheckbox

    +
    +public java.awt.Checkbox autoCheckInCheckbox
    +
    +
    +
    +
    +
    + +

    +autoCheckOutCheckbox

    +
    +public java.awt.Checkbox autoCheckOutCheckbox
    +
    +
    +
    +
    +
    + +

    +fileCheckOutCheckbox

    +
    +public java.awt.Checkbox fileCheckOutCheckbox
    +
    +
    +
    +
    +
    + +

    +fileAsterixLabel

    +
    +public java.awt.Label fileAsterixLabel
    +
    +
    +
    +
    +
    + +

    +modulesList

    +
    +public CountList modulesList
    +
    +
    +
    +
    +
    + +

    +addModuleLabel

    +
    +public java.awt.Label addModuleLabel
    +
    +
    +
    +
    +
    + +

    +addModuleField

    +
    +public java.awt.TextField addModuleField
    +
    +
    +
    +
    +
    + +

    +current_fti

    +
    +public rcsdesign.FileTypeInfo current_fti
    +
    +
    +
    +
    +
    + +

    +text_file_needs_saving

    +
    +public boolean text_file_needs_saving
    +
    +
    +
    +
    +
    + +

    +list_modules_by_number

    +
    +public boolean list_modules_by_number
    +
    +
    +
    +
    +
    + +

    +default_version_control_type

    +
    +public java.lang.String default_version_control_type
    +
    +
    +
    +
    +
    + +

    +default_version_control_directory

    +
    +public java.lang.String default_version_control_directory
    +
    +
    +
    +
    +
    + +

    +default_version_control_checkout_command

    +
    +public java.lang.String default_version_control_checkout_command
    +
    +
    +
    +
    +
    + +

    +default_version_control_checkin_command

    +
    +public java.lang.String default_version_control_checkin_command
    +
    +
    +
    +
    +
    + +

    +default_version_control_symlink_command

    +
    +public java.lang.String default_version_control_symlink_command
    +
    +
    +
    +
    +
    + +

    +auto_checkin

    +
    +public boolean auto_checkin
    +
    +
    +
    +
    +
    + +

    +auto_checkout

    +
    +public boolean auto_checkout
    +
    +
    +
    +
    +
    + +

    +parentFrame

    +
    +public java.awt.Frame parentFrame
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +rcsDesignGui

    +
    +public rcsDesignGui()
    +
    +
    + + + + + + + + +
    +Method Detail
    + +

    +printThreadInfo

    +
    +public static void printThreadInfo()
    +
    +
    +
    +
    +
    +
    + +

    +Query

    +
    +public rcsdesign.QueryDialog Query(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +Alert

    +
    +public void Alert(java.lang.String str)
    +
    +
    +
    +
    +
    +
    + +

    +ReadFileIntoTextArea

    +
    +public void ReadFileIntoTextArea(java.lang.String s,
    +                                 java.lang.String label,
    +                                 rcsdesign.FileTypeInfo fti)
    +
    +
    +
    +
    +
    +
    + +

    +CheckOutFile

    +
    +public void CheckOutFile(java.io.File f)
    +
    +
    +
    +
    +
    +
    + +

    +CheckInFile

    +
    +public void CheckInFile(java.io.File f)
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/resources/background.gif b/doc/javadoc/resources/background.gif new file mode 100644 index 0000000..f471940 Binary files /dev/null and b/doc/javadoc/resources/background.gif differ diff --git a/doc/javadoc/resources/inherit.gif b/doc/javadoc/resources/inherit.gif new file mode 100644 index 0000000..c814867 Binary files /dev/null and b/doc/javadoc/resources/inherit.gif differ diff --git a/doc/javadoc/resources/tab.gif b/doc/javadoc/resources/tab.gif new file mode 100644 index 0000000..1a73a83 Binary files /dev/null and b/doc/javadoc/resources/tab.gif differ diff --git a/doc/javadoc/resources/titlebar.gif b/doc/javadoc/resources/titlebar.gif new file mode 100644 index 0000000..17443b3 Binary files /dev/null and b/doc/javadoc/resources/titlebar.gif differ diff --git a/doc/javadoc/resources/titlebar_end.gif b/doc/javadoc/resources/titlebar_end.gif new file mode 100644 index 0000000..3ad78d4 Binary files /dev/null and b/doc/javadoc/resources/titlebar_end.gif differ diff --git a/doc/javadoc/serialized-form.html b/doc/javadoc/serialized-form.html new file mode 100644 index 0000000..9160c58 --- /dev/null +++ b/doc/javadoc/serialized-form.html @@ -0,0 +1,10006 @@ + + + + + + +Serialized Form + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + +
    + +
    + + + +
    +
    +

    +Serialized Form

    +
    +
    + + + + + +
    +Package diagapplet
    + +

    + + + + + +
    +Class diagapplet.diag_NB_UI extends javax.swing.JFrame implements Serializable
    + +

    +serialVersionUID: 2613940L + +

    + + + + + +
    +Serialized Fields
    + +

    +cgc

    +
    +CodeGenCommonInterface cgc
    +
    +
    +
    +
    +
    +

    +hierarchy_loader

    +
    +diagapplet.HierarchyLoad_NB_UI hierarchy_loader
    +
    +
    +
    +
    +
    +

    +hierarchyDraw

    +
    +diagapplet.HierarchyDraw hierarchyDraw
    +
    +
    +
    +
    +
    +

    +modulesList

    +
    +JListFastListPanel modulesList
    +
    +
    +
    +
    +
    +

    +cmdToSendVariables

    +
    +java.util.Vector<E> cmdToSendVariables
    +
    +
    +
    +
    +
    +

    +cmdToSendValues

    +
    +java.util.Vector<E> cmdToSendValues
    +
    +
    +
    +
    +
    +

    +curModule

    +
    +ModuleInfo curModule
    +
    +
    +
    +
    +
    +

    +recentFile

    +
    +java.io.File recentFile
    +
    +
    +
    +
    +
    +

    +recentVector

    +
    +java.util.Vector<E> recentVector
    +
    +
    +
    +
    +
    +

    +ExecutingBackgroundSwingWorker

    +
    +javax.swing.SwingWorker<T,V> ExecutingBackgroundSwingWorker
    +
    +
    +
    +
    +
    +

    +backgroundSwingWorkerQueue

    +
    +java.util.Queue<E> backgroundSwingWorkerQueue
    +
    +
    +
    +
    +
    +

    +javax_swing_timer

    +
    +javax.swing.Timer javax_swing_timer
    +
    +
    +
    +
    +
    +

    +refreshTime_milliseconds

    +
    +int refreshTime_milliseconds
    +
    +
    +
    +
    +
    +

    +plot_tracker_hashtable

    +
    +java.util.Hashtable<K,V> plot_tracker_hashtable
    +
    +
    +
    +
    +
    +

    +cmd_selected_var_number

    +
    +int cmd_selected_var_number
    +
    +
    +
    +
    +
    +

    +cmd_selected_var_name

    +
    +java.lang.String cmd_selected_var_name
    +
    +
    +
    +
    +
    +

    +status_selected_var_number

    +
    +int status_selected_var_number
    +
    +
    +
    +
    +
    +

    +status_selected_var_name

    +
    +java.lang.String status_selected_var_name
    +
    +
    +
    +
    +
    +

    +aux_selected_var_number

    +
    +int aux_selected_var_number
    +
    +
    +
    +
    +
    +

    +aux_selected_var_name

    +
    +java.lang.String aux_selected_var_name
    +
    +
    +
    +
    +
    +

    +cycle_count

    +
    +int cycle_count
    +
    +
    +
    +
    +
    +

    +first_nml_single_var_log_timestamp_set

    +
    +boolean first_nml_single_var_log_timestamp_set
    +
    +
    +
    +
    +
    +

    +first_nml_single_var_log_timestamp

    +
    +double first_nml_single_var_log_timestamp
    +
    +
    +
    +
    +
    +

    +new_point_count

    +
    +int new_point_count
    +
    +
    +
    +
    +
    +

    +total_point_count

    +
    +int total_point_count
    +
    +
    +
    +
    +
    +

    +last_total_point_count

    +
    +int last_total_point_count
    +
    +
    +
    +
    +
    +

    +fit_done

    +
    +boolean fit_done
    +
    +
    +
    +
    +
    +

    +last_hierarchy_loaded

    +
    +java.lang.String last_hierarchy_loaded
    +
    +
    +
    +
    +
    +

    +dp

    +
    +diagPreserve dp
    +
    +
    +
    +
    +
    +

    +cmdToSendIdString

    +
    +java.lang.String cmdToSendIdString
    +
    +
    +
    +
    +
    +

    +statusToSendIdString

    +
    +java.lang.String statusToSendIdString
    +
    +
    +
    +
    +
    +

    +auxMsgToSendIdString

    +
    +java.lang.String auxMsgToSendIdString
    +
    +
    +
    +
    +
    +

    +last_status_id_long

    +
    +long last_status_id_long
    +
    +
    +
    +
    +
    +

    +last_cmd_id_long

    +
    +long last_cmd_id_long
    +
    +
    +
    +
    +
    +

    +last_aux_id_long

    +
    +long last_aux_id_long
    +
    +
    +
    +
    +
    +

    +last_cmds_count_update_time

    +
    +long last_cmds_count_update_time
    +
    +
    +
    +
    +
    +

    +last_stats_count_update_time

    +
    +long last_stats_count_update_time
    +
    +
    +
    +
    +
    +

    +last_aux_count_update_time

    +
    +long last_aux_count_update_time
    +
    +
    +
    +
    +
    +

    +auxBuffersHashtable

    +
    +java.util.Hashtable<K,V> auxBuffersHashtable
    +
    +
    +
    +
    +
    +

    +curAuxBuffer

    +
    +BufferInfo curAuxBuffer
    +
    +
    +
    +
    +
    +

    +double_buffer_nml

    +
    +boolean double_buffer_nml
    +
    +
    +
    +
    +
    +

    +plot_updated

    +
    +boolean plot_updated
    +
    +
    +
    +
    +
    +

    +num_connected

    +
    +int num_connected
    +
    +
    +
    +
    +
    +

    +refreshTime_millis

    +
    +long refreshTime_millis
    +
    +
    +
    +
    +
    +

    +input_headers

    +
    +java.lang.String input_headers
    +
    +
    +
    +
    +
    +

    +message_files

    +
    +java.lang.String message_files
    +
    +
    +
    +
    +
    +

    +list_modules_by_number

    +
    +boolean list_modules_by_number
    +
    +
    +
    +
    +
    +

    +connectOnStartup

    +
    +boolean connectOnStartup
    +
    +
    +
    +
    +
    +

    +param_set_diag_minimized

    +
    +boolean param_set_diag_minimized
    +
    +
    +
    +
    +
    +

    +param_set_diag_auto_connect_disconnect

    +
    +boolean param_set_diag_auto_connect_disconnect
    +
    +
    +
    +
    +
    +

    +dp_plot_list_loaded

    +
    +boolean dp_plot_list_loaded
    +
    +
    +
    +
    +
    +

    +cmd_to_send_set_count

    +
    +int cmd_to_send_set_count
    +
    +
    +
    +
    +
    +

    +cmd_to_send_sent_count

    +
    +int cmd_to_send_sent_count
    +
    +
    +
    +
    +
    +

    +cmdToSendString

    +
    +java.lang.String cmdToSendString
    +
    +
    +
    +
    +
    +

    +cmdToSendModule

    +
    +ModuleInfo cmdToSendModule
    +
    +
    +
    +
    +
    +

    +status_to_send_set_count

    +
    +int status_to_send_set_count
    +
    +
    +
    +
    +
    +

    +status_to_send_sent_count

    +
    +int status_to_send_sent_count
    +
    +
    +
    +
    +
    +

    +statusToSendString

    +
    +java.lang.String statusToSendString
    +
    +
    +
    +
    +
    +

    +aux_to_send_set_count

    +
    +int aux_to_send_set_count
    +
    +
    +
    +
    +
    +

    +aux_to_send_sent_count

    +
    +int aux_to_send_sent_count
    +
    +
    +
    +
    +
    +

    +auxToSendString

    +
    +java.lang.String auxToSendString
    +
    +
    +
    +
    +
    +

    +cmdToSendWve

    +
    +WatchVarEditor cmdToSendWve
    +
    +
    +
    +
    +
    +

    +auxToSendWve

    +
    +WatchVarEditor auxToSendWve
    +
    +
    +
    +
    +
    +

    +delayed_job_to_do

    +
    +boolean delayed_job_to_do
    +
    +
    +
    +
    +
    +

    +ni_to_override_connected

    +
    +diagapplet.diag_NB_UI.NmlInfo ni_to_override_connected
    +
    +
    +
    +
    +
    +

    +ni_connect_override

    +
    +boolean ni_connect_override
    +
    +
    +
    +
    +
    +

    +tab_selected

    +
    +boolean tab_selected
    +
    +
    +
    +
    +
    +

    +jcbmi_laf_vector

    +
    +java.util.Vector<E> jcbmi_laf_vector
    +
    +
    +
    +
    +
    +

    +extraTabVector

    +
    +java.util.Vector<E> extraTabVector
    +
    +
    +
    +
    +
    +

    +last_cmd_to_send_id

    +
    +long last_cmd_to_send_id
    +
    +
    +
    +
    +
    +

    +bgExecuteStackTrace

    +
    +java.lang.StackTraceElement[] bgExecuteStackTrace
    +
    +
    +
    +
    +
    +

    +bgExecuteThread

    +
    +java.lang.Thread bgExecuteThread
    +
    +
    +
    +
    +
    +

    +bgExecute_time

    +
    +long bgExecute_time
    +
    +
    +
    +
    +
    +

    +bgQueueAddExecuteStackTrace

    +
    +java.lang.StackTraceElement[] bgQueueAddExecuteStackTrace
    +
    +
    +
    +
    +
    +

    +bgQueueAddExecuteThread

    +
    +java.lang.Thread bgQueueAddExecuteThread
    +
    +
    +
    +
    +
    +

    +bgQueueAddExecute_time

    +
    +long bgQueueAddExecute_time
    +
    +
    +
    +
    +
    +

    +bgNextExecuteStackTrace

    +
    +java.lang.StackTraceElement[] bgNextExecuteStackTrace
    +
    +
    +
    +
    +
    +

    +bgNextExecuteThread

    +
    +java.lang.Thread bgNextExecuteThread
    +
    +
    +
    +
    +
    +

    +bgNextExecute_time

    +
    +long bgNextExecute_time
    +
    +
    +
    +
    +
    +

    +last_bgExecuteStackTrace

    +
    +java.lang.StackTraceElement[] last_bgExecuteStackTrace
    +
    +
    +
    +
    +
    +

    +last_bgExecuteThread

    +
    +java.lang.Thread last_bgExecuteThread
    +
    +
    +
    +
    +
    +

    +last_bgExecute_time

    +
    +long last_bgExecute_time
    +
    +
    +
    +
    +
    +

    +last_queue_add_size

    +
    +int last_queue_add_size
    +
    +
    +
    +
    +
    +

    +cmd_line

    +
    +java.lang.String cmd_line
    +
    +
    +
    +
    +
    +

    +Automatically_Keep_and_Use_PlotSets

    +
    +boolean Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    +
    +
    +

    +update_current_status_next

    +
    +boolean update_current_status_next
    +
    +
    +
    +
    +
    +

    +last_next_bg_queue_size

    +
    +int last_next_bg_queue_size
    +
    +
    +
    +
    +
    +

    +last_bad_cmd_idLong

    +
    +java.lang.Long last_bad_cmd_idLong
    +
    +
    +
    +
    +
    +

    +last_bad_type_time

    +
    +long last_bad_type_time
    +
    +
    +
    +
    +
    +

    +handling_missing_type

    +
    +boolean handling_missing_type
    +
    +
    +
    +
    +
    +

    +nml_hashtable

    +
    +java.util.Hashtable<K,V> nml_hashtable
    +
    +
    +
    +
    +
    +

    +last_nml_table_row_updated

    +
    +int last_nml_table_row_updated
    +
    +
    +
    +
    +
    +

    +connected_nml_table_updates

    +
    +int connected_nml_table_updates
    +
    +
    +
    +
    +
    +

    +nonconnected_nml_table_updates

    +
    +int nonconnected_nml_table_updates
    +
    +
    +
    +
    +
    +

    +last_num_connected_ucd

    +
    +int last_num_connected_ucd
    +
    +
    +
    +
    +
    +

    +last_table_row_count

    +
    +int last_table_row_count
    +
    +
    +
    +
    +
    +

    +last_jScrollBarAdjustVar_ivalue

    +
    +int last_jScrollBarAdjustVar_ivalue
    +
    +
    +
    +
    +
    +

    +module_cmd_popup

    +
    +javax.swing.JPopupMenu module_cmd_popup
    +
    +
    +
    +
    +
    +

    +last_nml_dir

    +
    +java.io.File last_nml_dir
    +
    +
    +
    +
    +
    +

    +no_select_aux_channel_load_nml_table

    +
    +boolean no_select_aux_channel_load_nml_table
    +
    +
    +
    +
    +
    +

    +connectToAllThread

    +
    +java.lang.Thread connectToAllThread
    +
    +
    +
    +
    +
    +

    +skip_once_flag_set

    +
    +boolean skip_once_flag_set
    +
    +
    +
    +
    +
    +

    +last_dir

    +
    +java.io.File last_dir
    +
    +
    +
    +
    +
    +

    +nmlcfgsvrStr

    +
    +java.lang.String nmlcfgsvrStr
    +
    +
    +
    +
    +
    +

    +last_header_dir

    +
    +java.io.File last_header_dir
    +
    +
    +
    +
    +
    +

    +jButtonAdjustCmdToSend

    +
    +javax.swing.JButton jButtonAdjustCmdToSend
    +
    +
    +
    +
    +
    +

    +jButtonAdjusterClose

    +
    +javax.swing.JButton jButtonAdjusterClose
    +
    +
    +
    +
    +
    +

    +jButtonCancel

    +
    +javax.swing.JButton jButtonCancel
    +
    +
    +
    +
    +
    +

    +jButtonPlotAuxArray

    +
    +javax.swing.JButton jButtonPlotAuxArray
    +
    +
    +
    +
    +
    +

    +jButtonPlotAuxVar

    +
    +javax.swing.JButton jButtonPlotAuxVar
    +
    +
    +
    +
    +
    +

    +jButtonPlotCmdArray

    +
    +javax.swing.JButton jButtonPlotCmdArray
    +
    +
    +
    +
    +
    +

    +jButtonPlotCmdVar

    +
    +javax.swing.JButton jButtonPlotCmdVar
    +
    +
    +
    +
    +
    +

    +jButtonPlotStatusArray

    +
    +javax.swing.JButton jButtonPlotStatusArray
    +
    +
    +
    +
    +
    +

    +jButtonPlotStatusVar

    +
    +javax.swing.JButton jButtonPlotStatusVar
    +
    +
    +
    +
    +
    +

    +jButtonSendAuxMsg

    +
    +javax.swing.JButton jButtonSendAuxMsg
    +
    +
    +
    +
    +
    +

    +jButtonSendDetailsCommand

    +
    +javax.swing.JButton jButtonSendDetailsCommand
    +
    +
    +
    +
    +
    +

    +jButtonSkipOne

    +
    +javax.swing.JButton jButtonSkipOne
    +
    +
    +
    +
    +
    +

    +jCheckBoxAuxChannelConnected

    +
    +javax.swing.JCheckBox jCheckBoxAuxChannelConnected
    +
    +
    +
    +
    +
    +

    +jCheckBoxDetailsModuleConnected

    +
    +javax.swing.JCheckBox jCheckBoxDetailsModuleConnected
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemAutoConnectDisconnectAsNeeded

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemAutoConnectDisconnectAsNeeded
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemAutoSavePlotSets

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemAutoSavePlotSets
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemConnected

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemConnected
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemFullscreen

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemFullscreen
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemShowAdjusterWindow

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemShowAdjusterWindow
    +
    +
    +
    +
    +
    +

    +jCheckBoxModifyStatus

    +
    +javax.swing.JCheckBox jCheckBoxModifyStatus
    +
    +
    +
    +
    +
    +

    +jCheckBoxSendEachAdjustmentChange

    +
    +javax.swing.JCheckBox jCheckBoxSendEachAdjustmentChange
    +
    +
    +
    +
    +
    +

    +jComboBoxSelectAdjustVar

    +
    +javax.swing.JComboBox jComboBoxSelectAdjustVar
    +
    +
    +
    +
    +
    +

    +jDialogConnecting

    +
    +javax.swing.JDialog jDialogConnecting
    +
    +
    +
    +
    +
    +

    +jFormattedTextFieldAdjusterValue

    +
    +javax.swing.JFormattedTextField jFormattedTextFieldAdjusterValue
    +
    +
    +
    +
    +
    +

    +jFrameAdjustVar

    +
    +javax.swing.JFrame jFrameAdjustVar
    +
    +
    +
    +
    +
    +

    +jLabel1

    +
    +javax.swing.JLabel jLabel1
    +
    +
    +
    +
    +
    +

    +jLabel10

    +
    +javax.swing.JLabel jLabel10
    +
    +
    +
    +
    +
    +

    +jLabel11

    +
    +javax.swing.JLabel jLabel11
    +
    +
    +
    +
    +
    +

    +jLabel12

    +
    +javax.swing.JLabel jLabel12
    +
    +
    +
    +
    +
    +

    +jLabel13

    +
    +javax.swing.JLabel jLabel13
    +
    +
    +
    +
    +
    +

    +jLabel15

    +
    +javax.swing.JLabel jLabel15
    +
    +
    +
    +
    +
    +

    +jLabel16

    +
    +javax.swing.JLabel jLabel16
    +
    +
    +
    +
    +
    +

    +jLabel17

    +
    +javax.swing.JLabel jLabel17
    +
    +
    +
    +
    +
    +

    +jLabel18

    +
    +javax.swing.JLabel jLabel18
    +
    +
    +
    +
    +
    +

    +jLabel19

    +
    +javax.swing.JLabel jLabel19
    +
    +
    +
    +
    +
    +

    +jLabel2

    +
    +javax.swing.JLabel jLabel2
    +
    +
    +
    +
    +
    +

    +jLabel20

    +
    +javax.swing.JLabel jLabel20
    +
    +
    +
    +
    +
    +

    +jLabel21

    +
    +javax.swing.JLabel jLabel21
    +
    +
    +
    +
    +
    +

    +jLabel24

    +
    +javax.swing.JLabel jLabel24
    +
    +
    +
    +
    +
    +

    +jLabel25

    +
    +javax.swing.JLabel jLabel25
    +
    +
    +
    +
    +
    +

    +jLabel26

    +
    +javax.swing.JLabel jLabel26
    +
    +
    +
    +
    +
    +

    +jLabel27

    +
    +javax.swing.JLabel jLabel27
    +
    +
    +
    +
    +
    +

    +jLabel3

    +
    +javax.swing.JLabel jLabel3
    +
    +
    +
    +
    +
    +

    +jLabel4

    +
    +javax.swing.JLabel jLabel4
    +
    +
    +
    +
    +
    +

    +jLabel5

    +
    +javax.swing.JLabel jLabel5
    +
    +
    +
    +
    +
    +

    +jLabel6

    +
    +javax.swing.JLabel jLabel6
    +
    +
    +
    +
    +
    +

    +jLabel7

    +
    +javax.swing.JLabel jLabel7
    +
    +
    +
    +
    +
    +

    +jLabel8

    +
    +javax.swing.JLabel jLabel8
    +
    +
    +
    +
    +
    +

    +jLabel9

    +
    +javax.swing.JLabel jLabel9
    +
    +
    +
    +
    +
    +

    +jLabelAuxMsgToSendType

    +
    +javax.swing.JLabel jLabelAuxMsgToSendType
    +
    +
    +
    +
    +
    +

    +jLabelAuxRecvd

    +
    +javax.swing.JLabel jLabelAuxRecvd
    +
    +
    +
    +
    +
    +

    +jLabelAuxType

    +
    +javax.swing.JLabel jLabelAuxType
    +
    +
    +
    +
    +
    +

    +jLabelCmdsRecvd

    +
    +javax.swing.JLabel jLabelCmdsRecvd
    +
    +
    +
    +
    +
    +

    +jLabelCurBuffer

    +
    +javax.swing.JLabel jLabelCurBuffer
    +
    +
    +
    +
    +
    +

    +jLabelNMLBufferLine

    +
    +javax.swing.JLabel jLabelNMLBufferLine
    +
    +
    +
    +
    +
    +

    +jLabelNMLConfigFile

    +
    +javax.swing.JLabel jLabelNMLConfigFile
    +
    +
    +
    +
    +
    +

    +jLabelNMLNumConnectedOfTotal

    +
    +javax.swing.JLabel jLabelNMLNumConnectedOfTotal
    +
    +
    +
    +
    +
    +

    +jLabelNumBuffers

    +
    +javax.swing.JLabel jLabelNumBuffers
    +
    +
    +
    +
    +
    +

    +jLabelNumConnected

    +
    +javax.swing.JLabel jLabelNumConnected
    +
    +
    +
    +
    +
    +

    +jLabelNumFailed

    +
    +javax.swing.JLabel jLabelNumFailed
    +
    +
    +
    +
    +
    +

    +jLabelNumTried

    +
    +javax.swing.JLabel jLabelNumTried
    +
    +
    +
    +
    +
    +

    +jLabelStatusRecvd

    +
    +javax.swing.JLabel jLabelStatusRecvd
    +
    +
    +
    +
    +
    +

    +jListAuxChannels

    +
    +javax.swing.JList jListAuxChannels
    +
    +
    +
    +
    +
    +

    +jListAuxMessagesAvailable

    +
    +javax.swing.JList jListAuxMessagesAvailable
    +
    +
    +
    +
    +
    +

    +jListCmdsAvailable

    +
    +javax.swing.JList jListCmdsAvailable
    +
    +
    +
    +
    +
    +

    +jListModules

    +
    +javax.swing.JList jListModules
    +
    +
    +
    +
    +
    +

    +jMenuBarMain

    +
    +javax.swing.JMenuBar jMenuBarMain
    +
    +
    +
    +
    +
    +

    +jMenuConnections

    +
    +javax.swing.JMenu jMenuConnections
    +
    +
    +
    +
    +
    +

    +jMenuConnectionsRecentNmlFiles

    +
    +javax.swing.JMenu jMenuConnectionsRecentNmlFiles
    +
    +
    +
    +
    +
    +

    +jMenuExtras

    +
    +javax.swing.JMenu jMenuExtras
    +
    +
    +
    +
    +
    +

    +jMenuFile

    +
    +javax.swing.JMenu jMenuFile
    +
    +
    +
    +
    +
    +

    +jMenuFileRecent

    +
    +javax.swing.JMenu jMenuFileRecent
    +
    +
    +
    +
    +
    +

    +jMenuHelp

    +
    +javax.swing.JMenu jMenuHelp
    +
    +
    +
    +
    +
    +

    +jMenuItemDumpStruct

    +
    +javax.swing.JMenuItem jMenuItemDumpStruct
    +
    +
    +
    +
    +
    +

    +jMenuItemFileDebugDump

    +
    +javax.swing.JMenuItem jMenuItemFileDebugDump
    +
    +
    +
    +
    +
    +

    +jMenuItemFileEditDiagCfg

    +
    +javax.swing.JMenuItem jMenuItemFileEditDiagCfg
    +
    +
    +
    +
    +
    +

    +jMenuItemFileEditNml

    +
    +javax.swing.JMenuItem jMenuItemFileEditNml
    +
    +
    +
    +
    +
    +

    +jMenuItemFileExit

    +
    +javax.swing.JMenuItem jMenuItemFileExit
    +
    +
    +
    +
    +
    +

    +jMenuItemFileOpen

    +
    +javax.swing.JMenuItem jMenuItemFileOpen
    +
    +
    +
    +
    +
    +

    +jMenuItemHelpRcsLibrary

    +
    +javax.swing.JMenuItem jMenuItemHelpRcsLibrary
    +
    +
    +
    +
    +
    +

    +jMenuItemOpenInputHeader

    +
    +javax.swing.JMenuItem jMenuItemOpenInputHeader
    +
    +
    +
    +
    +
    +

    +jMenuItemOpenMsgFile

    +
    +javax.swing.JMenuItem jMenuItemOpenMsgFile
    +
    +
    +
    +
    +
    +

    +jMenuItemOpenNmlCfgsvrConnection

    +
    +javax.swing.JMenuItem jMenuItemOpenNmlCfgsvrConnection
    +
    +
    +
    +
    +
    +

    +jMenuItemOpenNmlConfigFile

    +
    +javax.swing.JMenuItem jMenuItemOpenNmlConfigFile
    +
    +
    +
    +
    +
    +

    +jMenuItemPlottingOpenPlotSet

    +
    +javax.swing.JMenuItem jMenuItemPlottingOpenPlotSet
    +
    +
    +
    +
    +
    +

    +jMenuItemPlottingSavePlotSet

    +
    +javax.swing.JMenuItem jMenuItemPlottingSavePlotSet
    +
    +
    +
    +
    +
    +

    +jMenuItemPrintHierarchy

    +
    +javax.swing.JMenuItem jMenuItemPrintHierarchy
    +
    +
    +
    +
    +
    +

    +jMenuLookAndFeel

    +
    +javax.swing.JMenu jMenuLookAndFeel
    +
    +
    +
    +
    +
    +

    +jMenuPlotting

    +
    +javax.swing.JMenu jMenuPlotting
    +
    +
    +
    +
    +
    +

    +jMenuPlottingRecentPlotSets

    +
    +javax.swing.JMenu jMenuPlottingRecentPlotSets
    +
    +
    +
    +
    +
    +

    +jMenuView

    +
    +javax.swing.JMenu jMenuView
    +
    +
    +
    +
    +
    +

    +jPaintablePanelHierarchyInner

    +
    +JPaintablePanel jPaintablePanelHierarchyInner
    +
    +
    +
    +
    +
    +

    +jPanel1

    +
    +javax.swing.JPanel jPanel1
    +
    +
    +
    +
    +
    +

    +jPanel2

    +
    +javax.swing.JPanel jPanel2
    +
    +
    +
    +
    +
    +

    +jPanelAuxChannels

    +
    +javax.swing.JPanel jPanelAuxChannels
    +
    +
    +
    +
    +
    +

    +jPanelDetails

    +
    +javax.swing.JPanel jPanelDetails
    +
    +
    +
    +
    +
    +

    +jPanelErrorPanel

    +
    +javax.swing.JPanel jPanelErrorPanel
    +
    +
    +
    +
    +
    +

    +jPanelHierarchyOuter

    +
    +javax.swing.JPanel jPanelHierarchyOuter
    +
    +
    +
    +
    +
    +

    +jPanelNML

    +
    +javax.swing.JPanel jPanelNML
    +
    +
    +
    +
    +
    +

    +jProgressBarConnectToAll

    +
    +javax.swing.JProgressBar jProgressBarConnectToAll
    +
    +
    +
    +
    +
    +

    +jProgressBarConnectToAllConnected

    +
    +javax.swing.JProgressBar jProgressBarConnectToAllConnected
    +
    +
    +
    +
    +
    +

    +jProgressBarConnectToAllFailed

    +
    +javax.swing.JProgressBar jProgressBarConnectToAllFailed
    +
    +
    +
    +
    +
    +

    +jScrollBarAdjustVar

    +
    +javax.swing.JScrollBar jScrollBarAdjustVar
    +
    +
    +
    +
    +
    +

    +jScrollPane1

    +
    +javax.swing.JScrollPane jScrollPane1
    +
    +
    +
    +
    +
    +

    +jScrollPane2

    +
    +javax.swing.JScrollPane jScrollPane2
    +
    +
    +
    +
    +
    +

    +jScrollPane3

    +
    +javax.swing.JScrollPane jScrollPane3
    +
    +
    +
    +
    +
    +

    +jScrollPane4

    +
    +javax.swing.JScrollPane jScrollPane4
    +
    +
    +
    +
    +
    +

    +jScrollPane5

    +
    +javax.swing.JScrollPane jScrollPane5
    +
    +
    +
    +
    +
    +

    +jScrollPane6

    +
    +javax.swing.JScrollPane jScrollPane6
    +
    +
    +
    +
    +
    +

    +jScrollPane7

    +
    +javax.swing.JScrollPane jScrollPane7
    +
    +
    +
    +
    +
    +

    +jScrollPaneDetailsText

    +
    +javax.swing.JScrollPane jScrollPaneDetailsText
    +
    +
    +
    +
    +
    +

    +jScrollPaneHierarchy

    +
    +javax.swing.JScrollPane jScrollPaneHierarchy
    +
    +
    +
    +
    +
    +

    +jScrollPaneModulesList

    +
    +javax.swing.JScrollPane jScrollPaneModulesList
    +
    +
    +
    +
    +
    +

    +jTabbedPane1

    +
    +javax.swing.JTabbedPane jTabbedPane1
    +
    +
    +
    +
    +
    +

    +jTableNML

    +
    +javax.swing.JTable jTableNML
    +
    +
    +
    +
    +
    +

    +jTextAreaErrs

    +
    +javax.swing.JTextArea jTextAreaErrs
    +
    +
    +
    +
    +
    +

    +jTextField3

    +
    +javax.swing.JTextField jTextField3
    +
    +
    +
    +
    +
    +

    +jTextFieldAdjustVarIncrement

    +
    +javax.swing.JTextField jTextFieldAdjustVarIncrement
    +
    +
    +
    +
    +
    +

    +jTextFieldAdjustVarMax

    +
    +javax.swing.JTextField jTextFieldAdjustVarMax
    +
    +
    +
    +
    +
    +

    +jTextFieldAdjustVarMin

    +
    +javax.swing.JTextField jTextFieldAdjustVarMin
    +
    +
    +
    +
    +
    +

    +jTextFieldCmdToSendMsgType

    +
    +javax.swing.JTextField jTextFieldCmdToSendMsgType
    +
    +
    +
    +
    +
    +

    +jTextFieldCurrentCommandMsgType

    +
    +javax.swing.JTextField jTextFieldCurrentCommandMsgType
    +
    +
    +
    +
    +
    +

    +jTextFieldCurrentStatusType

    +
    +javax.swing.JTextField jTextFieldCurrentStatusType
    +
    +
    +
    +
    +
    +

    +jTextPaneAuxBottom

    +
    +javax.swing.JTextPane jTextPaneAuxBottom
    +
    +
    +
    +
    +
    +

    +jTextPaneDetailsBottom

    +
    +javax.swing.JTextPane jTextPaneDetailsBottom
    +
    +
    +
    +
    +
    +

    +jTextPaneNmlError

    +
    +javax.swing.JTextPane jTextPaneNmlError
    +
    +
    +
    +
    +
    +

    +plotter_NB_UI1

    +
    +plotter_NB_UI plotter_NB_UI1
    +
    +
    +
    +
    +
    +

    +watchJPanelAuxMsgToSend

    +
    +WatchJPanel watchJPanelAuxMsgToSend
    +
    +
    +
    +
    +
    +

    +watchJPanelAuxView

    +
    +WatchJPanel watchJPanelAuxView
    +
    +
    +
    +
    +
    +

    +watchJPanelCmdToSend

    +
    +WatchJPanel watchJPanelCmdToSend
    +
    +
    +
    +
    +
    +

    +watchJPanelDetailsCmd

    +
    +WatchJPanel watchJPanelDetailsCmd
    +
    +
    +
    +
    +
    +

    +watchJPanelDetailsStatus

    +
    +WatchJPanel watchJPanelDetailsStatus
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.diagPreserve extends java.lang.Object implements Serializable
    + +

    +serialVersionUID: 2613939L + +

    + + + + + +
    +Serialized Fields
    + +

    +Automatically_Keep_and_Use_PlotSets

    +
    +boolean Automatically_Keep_and_Use_PlotSets
    +
    +
    +
    +
    +
    +

    +recentNmlConfigFileVector

    +
    +java.util.Vector<E> recentNmlConfigFileVector
    +
    +
    Holds the value of the recentNmlConfigFileVector property. + List of recent NML file names. +

    +

    +
    +
    +
    +

    +connected

    +
    +boolean connected
    +
    +
    Holds the value of the connected property. + Is/Should the diag tool automatically connect to the NML buffers? + (It may be over written with a setting on the command line or in the diagnostics + config file.) +

    +

    +
    +
    +
    +

    +selectedModule

    +
    +java.lang.String selectedModule
    +
    +
    Holds value of property selectedModule. + The name of the last selected module. +

    +

    +
    +
    +
    +

    +ModulesVector

    +
    +java.util.Vector<E> ModulesVector
    +
    +
    Holds value of property ModulesVector. + Vector containing one modulePreserve object for each module in the hierarchy. +

    +

    +
    +
    +
    +

    +AuxBuffersVector

    +
    +java.util.Vector<E> AuxBuffersVector
    +
    +
    Holds value of property ModulesVector. + Vector containing one modulePreserve object for each module in the hierarchy. +

    +

    +
    +
    +
    +

    +selectedAuxChannel

    +
    +java.lang.String selectedAuxChannel
    +
    +
    Holds value of property selectedAuxChannel. + (The name of the last selected auxilliary channel.) +

    +

    +
    +
    +
    +

    +selectedTab

    +
    +int selectedTab
    +
    +
    Holds value of property selectedTab. +

    +

    +
    +
    +
    +

    +plotSet

    +
    +plotSetPreserve plotSet
    +
    +
    Holds value of property plotSet. +

    +

    +
    +
    +
    +

    +recentPlotSets

    +
    +java.util.Vector<E> recentPlotSets
    +
    +
    Holds value of property recentPlotSets. +

    +

    +
    +
    +
    +

    +moved

    +
    +boolean moved
    +
    +
    Holds value of property moved. +

    +

    +
    +
    +
    +

    +x

    +
    +int x
    +
    +
    Holds value of property x. +

    +

    +
    +
    +
    +

    +y

    +
    +int y
    +
    +
    Holds value of property y. +

    +

    +
    +
    +
    +

    +resized

    +
    +boolean resized
    +
    +
    Holds value of property resized. +

    +

    +
    +
    +
    +

    +width

    +
    +int width
    +
    +
    Holds value of property width. +

    +

    +
    +
    +
    +

    +height

    +
    +int height
    +
    +
    Holds value of property height. +

    +

    +
    +
    +
    +

    +defaultNMLConfigFile

    +
    +java.lang.String defaultNMLConfigFile
    +
    +
    Holds value of property defaultNMLConfigFile. +

    +

    +
    +
    +
    +

    +window_state

    +
    +int window_state
    +
    +
    Holds value of property window_state. +

    +

    +
    +
    +
    +

    +auto_connect_disconnect

    +
    +boolean auto_connect_disconnect
    +
    +
    Holds value of property auto_connect_disconnect. +

    +

    +
    +
    + +

    + + + + + +
    +Class diagapplet.HierarchyPanel extends java.awt.Panel implements Serializable
    + +

    +serialVersionUID: 2613910L + +

    + + + + + +
    +Serialized Fields
    + +

    +diag_update_object

    +
    +diagapplet.diag_update_interface diag_update_object
    +
    +
    +
    +
    +
    +

    +moduleShowingCommands

    +
    +ModuleInfo moduleShowingCommands
    +
    +
    +
    +
    +
    +

    +force_next_repaint

    +
    +boolean force_next_repaint
    +
    +
    +
    +
    +
    +

    +painting

    +
    +boolean painting
    +
    +
    +
    +
    +
    +

    +highlighted_command

    +
    +int highlighted_command
    +
    +
    +
    +
    +
    +

    +new_threshold

    +
    +long new_threshold
    +
    +
    +
    +
    +
    +

    +max_number_in_generation

    +
    +int max_number_in_generation
    +
    +
    +
    +
    +
    +

    +max_generations

    +
    +int max_generations
    +
    +
    +
    +
    +
    +

    +current_module

    +
    +int current_module
    +
    +
    +
    +
    +
    +

    +scroll_x

    +
    +int scroll_x
    +
    +
    +
    +
    +
    +

    +scroll_y

    +
    +int scroll_y
    +
    +
    +
    +
    +
    +

    +lastx

    +
    +int lastx
    +
    +
    +
    +
    +
    +

    +lasty

    +
    +int lasty
    +
    +
    +
    +
    +
    +

    +min_y

    +
    +int min_y
    +
    +
    +
    +
    +
    +

    +max_y

    +
    +int max_y
    +
    +
    +
    +
    +
    +

    +min_x

    +
    +int min_x
    +
    +
    +
    +
    +
    +

    +max_x

    +
    +int max_x
    +
    +
    +
    +
    +
    +

    +use_color

    +
    +boolean use_color
    +
    +
    +
    +
    +
    +

    +paint_hierarchy_count

    +
    +int paint_hierarchy_count
    +
    +
    +
    +
    +
    +

    +mouse_clicked_count

    +
    +int mouse_clicked_count
    +
    +
    +
    +
    +
    +

    +last_mouse_clicked_count

    +
    +int last_mouse_clicked_count
    +
    +
    +
    +
    +
    +

    +mouse_clicked_x

    +
    +int mouse_clicked_x
    +
    +
    +
    +
    +
    +

    +mouse_clicked_y

    +
    +int mouse_clicked_y
    +
    +
    +
    +
    +
    +

    +mouse_pressed_count

    +
    +int mouse_pressed_count
    +
    +
    +
    +
    +
    +

    +last_mouse_pressed_count

    +
    +int last_mouse_pressed_count
    +
    +
    +
    +
    +
    +

    +mouse_pressed_x

    +
    +int mouse_pressed_x
    +
    +
    +
    +
    +
    +

    +mouse_pressed_y

    +
    +int mouse_pressed_y
    +
    +
    +
    +
    +
    +

    +mouse_released_count

    +
    +int mouse_released_count
    +
    +
    +
    +
    +
    +

    +last_mouse_released_count

    +
    +int last_mouse_released_count
    +
    +
    +
    +
    +
    +

    +mouse_released_x

    +
    +int mouse_released_x
    +
    +
    +
    +
    +
    +

    +mouse_released_y

    +
    +int mouse_released_y
    +
    +
    +
    +
    +
    +

    +mouse_dragged_count

    +
    +int mouse_dragged_count
    +
    +
    +
    +
    +
    +

    +last_mouse_dragged_count

    +
    +int last_mouse_dragged_count
    +
    +
    +
    +
    +
    +

    +mouse_dragged_x

    +
    +int mouse_dragged_x
    +
    +
    +
    +
    +
    +

    +mouse_dragged_y

    +
    +int mouse_dragged_y
    +
    +
    +
    +
    +
    +

    +d

    +
    +java.awt.Dimension d
    +
    +
    +
    +
    +
    +

    +buffer_image

    +
    +java.awt.Image buffer_image
    +
    +
    +
    +
    +
    +

    +modulesList

    +
    +FastListPanelInterface modulesList
    +
    +
    +
    +
    +
    +

    +horzScrollbar

    +
    +java.awt.Scrollbar horzScrollbar
    +
    +
    +
    +
    +
    +

    +vertScrollbar

    +
    +java.awt.Scrollbar vertScrollbar
    +
    +
    +
    +
    +
    +

    +design_mode

    +
    +boolean design_mode
    +
    +
    +
    +
    +
    +

    +repaint_count

    +
    +int repaint_count
    +
    +
    +
    +
    +
    +

    +list_modules_by_number

    +
    +boolean list_modules_by_number
    +
    +
    +
    +
    +
    +

    +modulesCountList

    +
    +CountList modulesCountList
    +
    +
    +
    +
    +
    +

    +last_notify_millis

    +
    +long last_notify_millis
    +
    +
    +
    +
    +
    +

    +last_paint_millis

    +
    +long last_paint_millis
    +
    +
    +
    +
    +
    +

    +parentFrame

    +
    +java.awt.Frame parentFrame
    +
    +
    +
    +
    +
    +

    +printing

    +
    +boolean printing
    +
    +
    +
    +
    +
    +

    +last_temp_d

    +
    +java.awt.Dimension last_temp_d
    +
    +
    +
    +
    +
    +

    +line_width

    +
    +int line_width
    +
    +
    +
    +
    +
    +

    +line_style

    +
    +java.lang.String line_style
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.JPaintablePanel extends javax.swing.JPanel implements Serializable
    + +

    +serialVersionUID: 2613936L + +

    + + + + + +
    +Serialized Fields
    + +

    +painter

    +
    +PainterInterface painter
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.MessageFileJFrame extends javax.swing.JFrame implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +parent

    +
    +javax.swing.JFrame parent
    +
    +
    +
    +
    +
    +

    +jButtonPlotSelectedArray

    +
    +javax.swing.JButton jButtonPlotSelectedArray
    +
    +
    +
    +
    +
    +

    +jMenu1

    +
    +javax.swing.JMenu jMenu1
    +
    +
    +
    +
    +
    +

    +jMenuBar1

    +
    +javax.swing.JMenuBar jMenuBar1
    +
    +
    +
    +
    +
    +

    +jMenuPackedFileOpen

    +
    +javax.swing.JMenu jMenuPackedFileOpen
    +
    +
    +
    +
    +
    +

    +jTextFieldMessageType

    +
    +javax.swing.JTextField jTextFieldMessageType
    +
    +
    +
    +
    +
    +

    +watchJPanel1

    +
    +WatchJPanel watchJPanel1
    +
    +
    +
    +
    +
    + + + + + +
    +Package diagapplet.CodeGen
    + +

    + + + + + +
    +Class diagapplet.CodeGen.CodeGen extends java.applet.Applet implements Serializable
    + +

    +serialVersionUID: 2613915L + +

    + + + + + +
    +Serialized Fields
    + +

    +cgc

    +
    +diagapplet.CodeGen.CodeGenCommonInterface2 cgc
    +
    +
    +
    +
    +
    +

    +Layout

    +
    +java.awt.GridBagLayout Layout
    +
    +
    +
    +
    +
    +

    +m_browseLocalButton

    +
    +CountButton m_browseLocalButton
    +
    +
    +
    +
    +
    +

    +SaveFileButton

    +
    +java.awt.Button SaveFileButton
    +
    +
    +
    +
    +
    +

    +GenerateJavaClassdefButton

    +
    +java.awt.Button GenerateJavaClassdefButton
    +
    +
    +
    +
    +
    +

    +GenerateJavaMessageDictButton

    +
    +java.awt.Button GenerateJavaMessageDictButton
    +
    +
    +
    +
    +
    +

    +GenerateCppUpdateFunctionButton

    +
    +java.awt.Button GenerateCppUpdateFunctionButton
    +
    +
    +
    +
    +
    +

    +GenerateCppFormatFunctionButton

    +
    +java.awt.Button GenerateCppFormatFunctionButton
    +
    +
    +
    +
    +
    +

    +GenerateCppConstructorsButton

    +
    +java.awt.Button GenerateCppConstructorsButton
    +
    +
    +
    +
    +
    +

    +DebugCheckbox

    +
    +java.awt.Checkbox DebugCheckbox
    +
    +
    +
    +
    +
    +

    +LabelA

    +
    +java.awt.Label LabelA
    +
    +
    +
    +
    +
    +

    +LabelB

    +
    +java.awt.Label LabelB
    +
    +
    +
    +
    +
    +

    +codeTextArea

    +
    +diagapplet.CodeGen.CodeGenTextAreaWrapper codeTextArea
    +
    +
    +
    +
    +
    +

    +configFileTextField

    +
    +diagapplet.CodeGen.CodeGenTextFieldWrapper configFileTextField
    +
    +
    +
    +
    +
    +

    +ClassList

    +
    +FastListPanel ClassList
    +
    +
    +
    +
    +
    +

    +ClassListContainer

    +
    +FastListContainer ClassListContainer
    +
    +
    +
    +
    +
    +

    +includePathLabel

    +
    +java.awt.Label includePathLabel
    +
    +
    +
    +
    +
    +

    +includePathField

    +
    +diagapplet.CodeGen.CodeGenTextFieldWrapper includePathField
    +
    +
    +
    +
    +
    +

    +ClearButton

    +
    +java.awt.Button ClearButton
    +
    +
    +
    +
    +
    +

    +m_hierarchyFileLoadButton

    +
    +CountButton m_hierarchyFileLoadButton
    +
    +
    +
    +
    +
    +

    +repaint_needed

    +
    +boolean repaint_needed
    +
    +
    +
    +
    +
    +

    +ready_to_load

    +
    +boolean ready_to_load
    +
    +
    +
    +
    +
    +

    +m_fStandAlone

    +
    +boolean m_fStandAlone
    +
    +
    +
    +
    +
    +

    +m_CodeGen

    +
    +java.lang.Thread m_CodeGen
    +
    +
    +
    +
    +
    +

    +codegen_cycles

    +
    +int codegen_cycles
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.CodeGen.StructureList extends java.lang.Object implements Serializable
    + +

    +


    + + + + + +
    +Package diagapplet.plotter
    + +

    + + + + + +
    +Class diagapplet.plotter.PlotGraphJPanel extends javax.swing.JPanel implements Serializable
    + +

    +serialVersionUID: 2613905L + +

    + + + + + +
    +Serialized Fields
    + +

    +use_buffer

    +
    +boolean use_buffer
    +
    +
    +
    +
    +
    +

    +max_points_per_plot

    +
    +int max_points_per_plot
    +
    +
    +
    +
    +
    +

    +screen_map

    +
    +diagapplet.plotter.PlotGraphScreenMap screen_map
    +
    +
    +
    +
    +
    +

    +array_mode_screen_map

    +
    +diagapplet.plotter.PlotGraphScreenMap array_mode_screen_map
    +
    +
    +
    +
    +
    +

    +SyncObject

    +
    +java.lang.Object SyncObject
    +
    +
    +
    +
    +
    +

    +plotter_num

    +
    +int plotter_num
    +
    +
    +
    +
    +
    +

    +max_scroll_x

    +
    +int max_scroll_x
    +
    +
    +
    +
    +
    +

    +max_scroll_y

    +
    +int max_scroll_y
    +
    +
    +
    +
    +
    +

    +repaint_count

    +
    +int repaint_count
    +
    +
    +
    +
    +
    +

    +paint_count

    +
    +int paint_count
    +
    +
    +
    +
    +
    +

    +repaint_just_issued

    +
    +boolean repaint_just_issued
    +
    +
    +
    +
    +
    +

    +line_style

    +
    +java.lang.String line_style
    +
    +
    +
    +
    +
    +

    +line_width

    +
    +int line_width
    +
    +
    +
    +
    +
    +

    +last_plots_to_show

    +
    +int last_plots_to_show
    +
    +
    +
    +
    +
    +

    +repaint_max_tm_millis

    +
    +int repaint_max_tm_millis
    +
    +
    +
    +
    +
    +

    +array_mode

    +
    +boolean array_mode
    +
    +
    +
    +
    +
    +

    +show_lines

    +
    +boolean show_lines
    +
    +
    +
    +
    +
    +

    +show_key

    +
    +boolean show_key
    +
    +
    +
    +
    +
    +

    +k2_mode

    +
    +boolean k2_mode
    +
    +
    +
    +
    +
    +

    +s_mode

    +
    +boolean s_mode
    +
    +
    +
    +
    +
    +

    +c_mode

    +
    +boolean c_mode
    +
    +
    +
    +
    +
    +

    +l_mode

    +
    +boolean l_mode
    +
    +
    +
    +
    +
    +

    +e_mode

    +
    +boolean e_mode
    +
    +
    +
    +
    +
    +

    +xy_mode

    +
    +boolean xy_mode
    +
    +
    +
    +
    +
    +

    +repaint_needed

    +
    +boolean repaint_needed
    +
    +
    +
    +
    +
    +

    +rescale_to_selected_rectangle_needed

    +
    +boolean rescale_to_selected_rectangle_needed
    +
    +
    +
    +
    +
    +

    +show_grid

    +
    +boolean show_grid
    +
    +
    +
    +
    +
    +

    +show_axis

    +
    +boolean show_axis
    +
    +
    +
    +
    +
    +

    +label_grid

    +
    +boolean label_grid
    +
    +
    +
    +
    +
    +

    +mark_points

    +
    +boolean mark_points
    +
    +
    +
    +
    +
    +

    +label_points

    +
    +boolean label_points
    +
    +
    +
    +
    +
    +

    +axis_color

    +
    +java.awt.Color axis_color
    +
    +
    +
    +
    +
    +

    +grid_color

    +
    +java.awt.Color grid_color
    +
    +
    +
    +
    +
    +

    +back_color

    +
    +java.awt.Color back_color
    +
    +
    +
    +
    +
    +

    +plots

    +
    +java.util.Hashtable<K,V> plots
    +
    +
    +
    +
    +
    +

    +m_color

    +
    +boolean m_color
    +
    +
    +
    +
    +
    +

    +show_rect

    +
    +boolean show_rect
    +
    +
    +
    +
    +
    +

    +selected_rectangle

    +
    +java.awt.Rectangle selected_rectangle
    +
    +
    +
    +
    +
    +

    +angle_unit_type

    +
    +int angle_unit_type
    +
    +
    +
    +
    +
    +

    +radius_lines

    +
    +int radius_lines
    +
    +
    +
    +
    +
    +

    +angle_lines

    +
    +int angle_lines
    +
    +
    +
    +
    +
    +

    +zero_rad_color

    +
    +java.awt.Color zero_rad_color
    +
    +
    +
    +
    +
    +

    +set_l_mode_on_paint

    +
    +boolean set_l_mode_on_paint
    +
    +
    +
    +
    +
    +

    +current_line_color

    +
    +java.awt.Color current_line_color
    +
    +
    +
    +
    +
    +

    +current_point_color

    +
    +java.awt.Color current_point_color
    +
    +
    +
    +
    +
    +

    +fullScreenJFrame

    +
    +javax.swing.JFrame fullScreenJFrame
    +
    +
    +
    +
    +
    +

    +is_full_screen

    +
    +boolean is_full_screen
    +
    +
    +
    +
    +
    +

    +bi

    +
    +java.awt.image.BufferedImage bi
    +
    +
    +
    +
    +
    +

    +plot_clicking_on

    +
    +int plot_clicking_on
    +
    +
    +
    +
    +
    +

    +time_of_last_click

    +
    +long time_of_last_click
    +
    +
    +
    +
    +
    +

    +clearing_plots

    +
    +boolean clearing_plots
    +
    +
    +
    +
    +
    +

    +keyVector

    +
    +java.util.ArrayList<E> keyVector
    +
    +
    +
    +
    +
    +

    +order_array

    +
    +java.lang.String[] order_array
    +
    +
    +
    +
    +
    +

    +keyVectorComparator

    +
    +java.util.Comparator<T> keyVectorComparator
    +
    +
    +
    +
    +
    +

    +last_x

    +
    +int last_x
    +
    +
    +
    +
    +
    +

    +last_y

    +
    +int last_y
    +
    +
    +
    +
    +
    +

    +extra_sh_str

    +
    +java.lang.String extra_sh_str
    +
    +
    +
    +
    +
    +

    +short_extra_sh_str

    +
    +java.lang.String short_extra_sh_str
    +
    +
    +
    +
    +
    +

    +last_x1

    +
    +int last_x1
    +
    +
    +
    +
    +
    +

    +last_x2

    +
    +int last_x2
    +
    +
    +
    +
    +
    +

    +last_y1

    +
    +int last_y1
    +
    +
    +
    +
    +
    +

    +last_y2

    +
    +int last_y2
    +
    +
    +
    +
    +
    +

    +font

    +
    +java.awt.Font font
    +
    +
    +
    +
    +
    +

    +fm

    +
    +java.awt.FontMetrics fm
    +
    +
    +
    +
    +
    +

    +label_string

    +
    +java.lang.String label_string
    +
    +
    +
    +
    +
    +

    +theta_min_last

    +
    +double theta_min_last
    +
    +
    +
    +
    +
    +

    +theta_max_last

    +
    +double theta_max_last
    +
    +
    +
    +
    +
    +

    +r_min_last

    +
    +double r_min_last
    +
    +
    +
    +
    +
    +

    +r_max_last

    +
    +double r_max_last
    +
    +
    +
    +
    +
    +

    +r_spacing

    +
    +double r_spacing
    +
    +
    +
    +
    +
    +

    +scale_change

    +
    +int scale_change
    +
    +
    +
    +
    +
    +

    +first_paint_cart_grid

    +
    +boolean first_paint_cart_grid
    +
    +
    +
    +
    +
    +

    +first_bad_dims

    +
    +boolean first_bad_dims
    +
    +
    +
    +
    +
    +

    +first_bad_num_y_lines

    +
    +boolean first_bad_num_y_lines
    +
    +
    +
    +
    +
    +

    +first_bad_num_x_lines

    +
    +boolean first_bad_num_x_lines
    +
    +
    +
    +
    +
    +

    +X_Grid

    +
    +double X_Grid
    +
    +
    +
    +
    +
    +

    +Y_Grid

    +
    +double Y_Grid
    +
    +
    +
    +
    +
    +

    +bufferImage

    +
    +java.awt.Image bufferImage
    +
    +
    +
    +
    +
    +

    +image_needs_to_be_updated

    +
    +boolean image_needs_to_be_updated
    +
    +
    +
    +
    +
    +

    +point_size_limit

    +
    +int point_size_limit
    +
    +
    +
    +
    +
    +

    +last_height

    +
    +int last_height
    +
    +
    +
    +
    +
    +

    +plot_group_number

    +
    +int plot_group_number
    +
    +
    +
    +
    +
    +

    +max_plots_to_show

    +
    +int max_plots_to_show
    +
    +
    Holds value of property max_plots_to_show. +

    +

    +
    +
    + +

    + + + + + +
    +Class diagapplet.plotter.plotter_NB_UI extends javax.swing.JPanel implements Serializable
    + +

    +serialVersionUID: 2613932L + +

    + + + + + +
    +Serialized Fields
    + +

    +paused

    +
    +boolean paused
    +
    +
    +
    +
    +
    +

    +clearing_plots

    +
    +boolean clearing_plots
    +
    +
    +
    +
    +
    +

    +mouse_down

    +
    +boolean mouse_down
    +
    +
    +
    +
    +
    +

    +last_dir

    +
    +java.io.File last_dir
    +
    +
    +
    +
    +
    +

    +point_added_since_check_recalc_plots

    +
    +boolean point_added_since_check_recalc_plots
    +
    +
    +
    +
    +
    +

    +setup_options_table_done

    +
    +boolean setup_options_table_done
    +
    +
    +
    +
    +
    +

    +auto_fit_to_graph

    +
    +boolean auto_fit_to_graph
    +
    +
    +
    +
    +
    +

    +ixy_vector

    +
    +java.util.Vector<E> ixy_vector
    +
    +
    +
    +
    +
    +

    +ixy_columns

    +
    +int ixy_columns
    +
    +
    +
    +
    +
    +

    +colvec

    +
    +java.util.Vector<E> colvec
    +
    +
    +
    +
    +
    +

    +Use_Interpolation

    +
    +boolean Use_Interpolation
    +
    +
    +
    +
    +
    +

    +jpop

    +
    +javax.swing.JPopupMenu jpop
    +
    +
    +
    +
    +
    +

    +jpopFullScreenCheckboxMenuItem

    +
    +javax.swing.JCheckBoxMenuItem jpopFullScreenCheckboxMenuItem
    +
    +
    +
    +
    +
    +

    +jpopNoFullScreenMenuItem

    +
    +javax.swing.JMenuItem jpopNoFullScreenMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSaveImageMenuItem

    +
    +javax.swing.JMenuItem jpopSaveImageMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSetZoomMenuItem

    +
    +javax.swing.JMenuItem jpopSetZoomMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSetFitMenuItem

    +
    +javax.swing.JMenuItem jpopSetFitMenuItem
    +
    +
    +
    +
    +
    +

    +last_press_was_popup

    +
    +boolean last_press_was_popup
    +
    +
    +
    +
    +
    +

    +last_xTextField_changed_count

    +
    +int last_xTextField_changed_count
    +
    +
    +
    +
    +
    +

    +last_yTextField_changed_count

    +
    +int last_yTextField_changed_count
    +
    +
    +
    +
    +
    +

    +last_scrollbar_changed_count

    +
    +int last_scrollbar_changed_count
    +
    +
    +
    +
    +
    +

    +pl

    +
    +diagapplet.plotter.PlotLoader pl
    +
    +
    +
    +
    +
    +

    +loadInfoFrame

    +
    +URlLoadInfoFrame loadInfoFrame
    +
    +
    +
    +
    +
    +

    +nosplit

    +
    +boolean nosplit
    +
    +
    +
    +
    +
    +

    +recalculating_plots

    +
    +boolean recalculating_plots
    +
    +
    +
    +
    +
    +

    +plot_data_to_compare

    +
    +PlotData plot_data_to_compare
    +
    +
    +
    +
    +
    +

    +last_function_selected

    +
    +int last_function_selected
    +
    +
    +
    +
    +
    +

    +function_selected

    +
    +int function_selected
    +
    +
    +
    +
    +
    +

    +function_argument

    +
    +int function_argument
    +
    +
    +
    +
    +
    +

    +apply_absolute_value

    +
    +boolean apply_absolute_value
    +
    +
    +
    +
    +
    +

    +func_choice_single_cleared_s_mode

    +
    +boolean func_choice_single_cleared_s_mode
    +
    +
    +
    +
    +
    +

    +jButton1

    +
    +javax.swing.JButton jButton1
    +
    +
    +
    +
    +
    +

    +jButtonAxis

    +
    +javax.swing.JButton jButtonAxis
    +
    +
    +
    +
    +
    +

    +jButtonBackground

    +
    +javax.swing.JButton jButtonBackground
    +
    +
    +
    +
    +
    +

    +jButtonClear

    +
    +javax.swing.JButton jButtonClear
    +
    +
    +
    +
    +
    +

    +jButtonClearDataOnly

    +
    +javax.swing.JButton jButtonClearDataOnly
    +
    +
    +
    +
    +
    +

    +jButtonCloseOptions

    +
    +javax.swing.JButton jButtonCloseOptions
    +
    +
    +
    +
    +
    +

    +jButtonDataClose

    +
    +javax.swing.JButton jButtonDataClose
    +
    +
    +
    +
    +
    +

    +jButtonDataSave

    +
    +javax.swing.JButton jButtonDataSave
    +
    +
    +
    +
    +
    +

    +jButtonDeleteMarked

    +
    +javax.swing.JButton jButtonDeleteMarked
    +
    +
    +
    +
    +
    +

    +jButtonGrid

    +
    +javax.swing.JButton jButtonGrid
    +
    +
    +
    +
    +
    +

    +jButtonHideAll

    +
    +javax.swing.JButton jButtonHideAll
    +
    +
    +
    +
    +
    +

    +jButtonOptions

    +
    +javax.swing.JButton jButtonOptions
    +
    +
    +
    +
    +
    +

    +jButtonShowAll

    +
    +javax.swing.JButton jButtonShowAll
    +
    +
    +
    +
    +
    +

    +jButtonShowData

    +
    +javax.swing.JButton jButtonShowData
    +
    +
    +
    +
    +
    +

    +jButtonStats

    +
    +javax.swing.JButton jButtonStats
    +
    +
    +
    +
    +
    +

    +jButtonZoomIn

    +
    +javax.swing.JButton jButtonZoomIn
    +
    +
    +
    +
    +
    +

    +jButtonZoomOut

    +
    +javax.swing.JButton jButtonZoomOut
    +
    +
    +
    +
    +
    +

    +jCheckBoxApplyAbsY

    +
    +javax.swing.JCheckBox jCheckBoxApplyAbsY
    +
    +
    +
    +
    +
    +

    +jCheckBoxK2

    +
    +javax.swing.JCheckBox jCheckBoxK2
    +
    +
    +
    +
    +
    +

    +jCheckBoxReverseX

    +
    +javax.swing.JCheckBox jCheckBoxReverseX
    +
    +
    +
    +
    +
    +

    +jCheckBoxShowGrid

    +
    +javax.swing.JCheckBox jCheckBoxShowGrid
    +
    +
    +
    +
    +
    +

    +jComboBoxFunc

    +
    +javax.swing.JComboBox jComboBoxFunc
    +
    +
    +
    +
    +
    +

    +jFrameData

    +
    +javax.swing.JFrame jFrameData
    +
    +
    +
    +
    +
    +

    +jFrameOptions

    +
    +javax.swing.JFrame jFrameOptions
    +
    +
    +
    +
    +
    +

    +jLabel1

    +
    +javax.swing.JLabel jLabel1
    +
    +
    +
    +
    +
    +

    +jLabel2

    +
    +javax.swing.JLabel jLabel2
    +
    +
    +
    +
    +
    +

    +jLabel3

    +
    +javax.swing.JLabel jLabel3
    +
    +
    +
    +
    +
    +

    +jLabel4

    +
    +javax.swing.JLabel jLabel4
    +
    +
    +
    +
    +
    +

    +jLabel5

    +
    +javax.swing.JLabel jLabel5
    +
    +
    +
    +
    +
    +

    +jLabel6

    +
    +javax.swing.JLabel jLabel6
    +
    +
    +
    +
    +
    +

    +jLabel7

    +
    +javax.swing.JLabel jLabel7
    +
    +
    +
    +
    +
    +

    +jLabelPlotGroup

    +
    +javax.swing.JLabel jLabelPlotGroup
    +
    +
    +
    +
    +
    +

    +jLabelPlotsPerGroup

    +
    +javax.swing.JLabel jLabelPlotsPerGroup
    +
    +
    +
    +
    +
    +

    +jLabelXMaxMin

    +
    +javax.swing.JLabel jLabelXMaxMin
    +
    +
    +
    +
    +
    +

    +jLabelXScale

    +
    +javax.swing.JLabel jLabelXScale
    +
    +
    +
    +
    +
    +

    +jLabelYScale

    +
    +javax.swing.JLabel jLabelYScale
    +
    +
    +
    +
    +
    +

    +jPanel1

    +
    +javax.swing.JPanel jPanel1
    +
    +
    +
    +
    +
    +

    +jScrollBarHorz

    +
    +javax.swing.JScrollBar jScrollBarHorz
    +
    +
    +
    +
    +
    +

    +jScrollBarVert

    +
    +javax.swing.JScrollBar jScrollBarVert
    +
    +
    +
    +
    +
    +

    +jScrollPane1

    +
    +javax.swing.JScrollPane jScrollPane1
    +
    +
    +
    +
    +
    +

    +jScrollPanelOptonsTable

    +
    +javax.swing.JScrollPane jScrollPanelOptonsTable
    +
    +
    +
    +
    +
    +

    +jSpinnerFuncArg

    +
    +javax.swing.JSpinner jSpinnerFuncArg
    +
    +
    +
    +
    +
    +

    +jSpinnerPlotGroup

    +
    +javax.swing.JSpinner jSpinnerPlotGroup
    +
    +
    +
    +
    +
    +

    +jSpinnerPlotsPerGroup

    +
    +javax.swing.JSpinner jSpinnerPlotsPerGroup
    +
    +
    +
    +
    +
    +

    +jTableData

    +
    +javax.swing.JTable jTableData
    +
    +
    +
    +
    +
    +

    +jTableOptions

    +
    +javax.swing.JTable jTableOptions
    +
    +
    +
    +
    +
    +

    +jTextFieldXMax

    +
    +javax.swing.JTextField jTextFieldXMax
    +
    +
    +
    +
    +
    +

    +jTextFieldXMin

    +
    +javax.swing.JTextField jTextFieldXMin
    +
    +
    +
    +
    +
    +

    +jTextFieldYMax

    +
    +javax.swing.JTextField jTextFieldYMax
    +
    +
    +
    +
    +
    +

    +jTextFieldYMin

    +
    +javax.swing.JTextField jTextFieldYMin
    +
    +
    +
    +
    +
    +

    +jToggleButtonArrayMode

    +
    +javax.swing.JToggleButton jToggleButtonArrayMode
    +
    +
    +
    +
    +
    +

    +jToggleButtonCMode

    +
    +javax.swing.JToggleButton jToggleButtonCMode
    +
    +
    +
    +
    +
    +

    +jToggleButtonEqualizeAxis

    +
    +javax.swing.JToggleButton jToggleButtonEqualizeAxis
    +
    +
    +
    +
    +
    +

    +jToggleButtonKey

    +
    +javax.swing.JToggleButton jToggleButtonKey
    +
    +
    +
    +
    +
    +

    +jToggleButtonLockDisplay

    +
    +javax.swing.JToggleButton jToggleButtonLockDisplay
    +
    +
    +
    +
    +
    +

    +jToggleButtonPause

    +
    +javax.swing.JToggleButton jToggleButtonPause
    +
    +
    +
    +
    +
    +

    +jToggleButtonSplit

    +
    +javax.swing.JToggleButton jToggleButtonSplit
    +
    +
    +
    +
    +
    +

    +jToolBar1

    +
    +javax.swing.JToolBar jToolBar1
    +
    +
    +
    +
    +
    +

    +plotGraphJPanel1

    +
    +PlotGraphJPanel plotGraphJPanel1
    +
    +
    +
    +
    +
    +

    +fullScreenPlotGraphJPanel

    +
    +PlotGraphJPanel fullScreenPlotGraphJPanel
    +
    +
    +
    +
    +
    +

    +cur_pgjp

    +
    +PlotGraphJPanel cur_pgjp
    +
    +
    +
    +
    +
    +

    +plot_order

    +
    +java.lang.String plot_order
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.plotter.plotterJFrame extends javax.swing.JFrame implements Serializable
    + +

    +serialVersionUID: 2613933L + +

    + + + + + +
    +Serialized Fields
    + +

    +recentFile

    +
    +java.io.File recentFile
    +
    +
    +
    +
    +
    +

    +recentVector

    +
    +java.util.Vector<E> recentVector
    +
    +
    +
    +
    +
    +

    +last_dir

    +
    +java.io.File last_dir
    +
    +
    +
    +
    +
    +

    +auto_fit_to_graph

    +
    +boolean auto_fit_to_graph
    +
    +
    +
    +
    +
    +

    +rnum

    +
    +int rnum
    +
    +
    +
    +
    +
    +

    +random_i

    +
    +double random_i
    +
    +
    +
    +
    +
    +

    +random_r

    +
    +java.util.Random random_r
    +
    +
    +
    +
    +
    +

    +random_swing_timer

    +
    +javax.swing.Timer random_swing_timer
    +
    +
    +
    +
    +
    +

    +random_y

    +
    +double random_y
    +
    +
    +
    +
    +
    +

    +random_pd

    +
    +PlotData random_pd
    +
    +
    +
    +
    +
    +

    +jCheckBoxMenuItemDebug

    +
    +javax.swing.JCheckBoxMenuItem jCheckBoxMenuItemDebug
    +
    +
    +
    +
    +
    +

    +jMenuBar1

    +
    +javax.swing.JMenuBar jMenuBar1
    +
    +
    +
    +
    +
    +

    +jMenuExtras

    +
    +javax.swing.JMenu jMenuExtras
    +
    +
    +
    +
    +
    +

    +jMenuFile

    +
    +javax.swing.JMenu jMenuFile
    +
    +
    +
    +
    +
    +

    +jMenuFileRecent

    +
    +javax.swing.JMenu jMenuFileRecent
    +
    +
    +
    +
    +
    +

    +jMenuItemExit

    +
    +javax.swing.JMenuItem jMenuItemExit
    +
    +
    +
    +
    +
    +

    +jMenuItemFileOpen

    +
    +javax.swing.JMenuItem jMenuItemFileOpen
    +
    +
    +
    +
    +
    +

    +jMenuItemRandomContinous

    +
    +javax.swing.JMenuItem jMenuItemRandomContinous
    +
    +
    +
    +
    +
    +

    +jMenuItemRandomTest

    +
    +javax.swing.JMenuItem jMenuItemRandomTest
    +
    +
    +
    +
    +
    +

    +jMenuItemReload

    +
    +javax.swing.JMenuItem jMenuItemReload
    +
    +
    +
    +
    +
    +

    +jMenuItemResetMinXToZero

    +
    +javax.swing.JMenuItem jMenuItemResetMinXToZero
    +
    +
    +
    +
    +
    +

    +jMenuItemSave

    +
    +javax.swing.JMenuItem jMenuItemSave
    +
    +
    +
    +
    +
    +

    +jMenuItemSineTest

    +
    +javax.swing.JMenuItem jMenuItemSineTest
    +
    +
    +
    +
    +
    +

    +jMenuItemStopRandomContinous

    +
    +javax.swing.JMenuItem jMenuItemStopRandomContinous
    +
    +
    +
    +
    +
    +

    +jMenuTests

    +
    +javax.swing.JMenu jMenuTests
    +
    +
    +
    +
    +
    +

    +plotter_NB_UI1

    +
    +plotter_NB_UI plotter_NB_UI1
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.plotter.StatsTextJFrame extends javax.swing.JFrame implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +jScrollPane1

    +
    +javax.swing.JScrollPane jScrollPane1
    +
    +
    +
    +
    +
    +

    +jTextArea1

    +
    +javax.swing.JTextArea jTextArea1
    +
    +
    +
    +
    +
    + + + + + +
    +Package diagapplet.utils
    + +

    + + + + + +
    +Class diagapplet.utils.CountButton extends java.awt.Button implements Serializable
    + +

    +serialVersionUID: 2613895L + +

    + + + + + +
    +Serialized Fields
    + +

    +count

    +
    +int count
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.CountList extends java.awt.List implements Serializable
    + +

    +serialVersionUID: 2613896L + +

    + + + + + +
    +Serialized Fields
    + +

    +count

    +
    +int count
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.FastListContainer extends java.awt.Panel implements Serializable
    + +

    +serialVersionUID: 2613900L + +

    + + + + + +
    +Serialized Fields
    + +

    +flpanel

    +
    +FastListPanel flpanel
    +
    +
    +
    +
    +
    +

    +innerPanel

    +
    +java.awt.Panel innerPanel
    +
    +
    +
    +
    +
    +

    +innerLayout

    +
    +java.awt.GridBagLayout innerLayout
    +
    +
    +
    +
    +
    +

    +lm

    +
    +java.awt.FlowLayout lm
    +
    +
    +
    +
    +
    +

    +sideScrollbar

    +
    +java.awt.Scrollbar sideScrollbar
    +
    +
    +
    +
    +
    +

    +bottomScrollbar

    +
    +java.awt.Scrollbar bottomScrollbar
    +
    +
    +
    +
    +
    +

    +last_sideScrollbar_value

    +
    +int last_sideScrollbar_value
    +
    +
    +
    +
    +
    +

    +last_bottomScrollbar_value

    +
    +int last_bottomScrollbar_value
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.FastListPanel extends java.awt.Panel implements Serializable
    + +

    +serialVersionUID: 2613899L + +

    + + + + + +
    +Serialized Fields
    + +

    +items

    +
    +java.util.Vector<E> items
    +
    +
    +
    +
    +
    +

    +num_items

    +
    +int num_items
    +
    +
    +
    +
    +
    +

    +last_line_selected

    +
    +int last_line_selected
    +
    +
    +
    +
    +
    +

    +selected_indexes

    +
    +java.util.Vector<E> selected_indexes
    +
    +
    +
    +
    +
    +

    +openStructures

    +
    +java.util.Vector<E> openStructures
    +
    +
    +
    +
    +
    +

    +newOpenStructure

    +
    +boolean newOpenStructure
    +
    +
    +
    +
    +
    +

    +myContainer

    +
    +FastListContainer myContainer
    +
    +
    +
    +
    +
    +

    +d

    +
    +java.awt.Dimension d
    +
    +
    +
    +
    +
    +

    +font_height

    +
    +int font_height
    +
    +
    +
    +
    +
    +

    +font_width

    +
    +int font_width
    +
    +
    +
    +
    +
    +

    +selected_index

    +
    +int selected_index
    +
    +
    +
    +
    +
    +

    +lines_visible

    +
    +int lines_visible
    +
    +
    +
    +
    +
    +

    +start_line

    +
    +int start_line
    +
    +
    +
    +
    +
    +

    +chars_visible

    +
    +int chars_visible
    +
    +
    +
    +
    +
    +

    +maxlinelength

    +
    +int maxlinelength
    +
    +
    +
    +
    +
    +

    +char_offset

    +
    +int char_offset
    +
    +
    +
    +
    +
    +

    +font_descent

    +
    +int font_descent
    +
    +
    +
    +
    +
    +

    +selected_line

    +
    +int selected_line
    +
    +
    +
    +
    +
    +

    +select_color

    +
    +java.awt.Color select_color
    +
    +
    +
    +
    +
    +

    +count

    +
    +int count
    +
    +
    +
    +
    +
    +

    +repaint_needed

    +
    +boolean repaint_needed
    +
    +
    +
    +
    +
    +

    +m_useColor

    +
    +boolean m_useColor
    +
    +
    +
    +
    +
    +

    +multipleSelections

    +
    +boolean multipleSelections
    +
    +
    +
    +
    +
    +

    +trueParent

    +
    +java.awt.Container trueParent
    +
    +
    +
    +
    +
    +

    +list_changed

    +
    +boolean list_changed
    +
    +
    +
    +
    +
    +

    +max_lines_listed

    +
    +int max_lines_listed
    +
    +
    +
    +
    +
    +

    +flpItem

    +
    +diagapplet.utils.FastListPanelItem flpItem
    +
    +
    +
    +
    +
    +

    +s_array

    +
    +java.lang.String[] s_array
    +
    +
    +
    +
    +
    +

    +b_array

    +
    +boolean[] b_array
    +
    +
    +
    +
    +
    +

    +select_background_color

    +
    +java.awt.Color select_background_color
    +
    +
    +
    +
    +
    +

    +_ItemListener

    +
    +java.awt.event.ItemListener _ItemListener
    +
    +
    +
    +
    +
    +

    +_ActionListener

    +
    +java.awt.event.ActionListener _ActionListener
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.fullScreenJPanelClass extends javax.swing.JPanel implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +img

    +
    +java.awt.Image img
    +
    +
    +
    +
    +
    +

    +x_off

    +
    +int x_off
    +
    +
    +
    +
    +
    +

    +y_off

    +
    +int y_off
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.ImageJFrame extends javax.swing.JFrame implements Serializable
    + +

    +serialVersionUID: 2613938L + +

    + + + + + +
    +Serialized Fields
    + +

    +image_files

    +
    +java.io.File[] image_files
    +
    +
    +
    +
    +
    +

    +swTimer

    +
    +javax.swing.Timer swTimer
    +
    +
    +
    +
    +
    +

    +backgroundSwingWorker

    +
    +javax.swing.SwingWorker<T,V> backgroundSwingWorker
    +
    +
    +
    +
    +
    +

    +delay

    +
    +int delay
    +
    +
    +
    +
    +
    +

    +image_number

    +
    +int image_number
    +
    +
    +
    +
    +
    +

    +fit

    +
    +boolean fit
    +
    +
    +
    +
    +
    +

    +last_dir

    +
    +java.io.File last_dir
    +
    +
    +
    +
    +
    +

    +imageJPanel1

    +
    +ImageJPanel imageJPanel1
    +
    +
    +
    +
    +
    +

    +jCheckBoxFit

    +
    +javax.swing.JCheckBox jCheckBoxFit
    +
    +
    +
    +
    +
    +

    +jLabel1

    +
    +javax.swing.JLabel jLabel1
    +
    +
    +
    +
    +
    +

    +jLabel2

    +
    +javax.swing.JLabel jLabel2
    +
    +
    +
    +
    +
    +

    +jLabelFrameNumber

    +
    +javax.swing.JLabel jLabelFrameNumber
    +
    +
    +
    +
    +
    +

    +jMenu1

    +
    +javax.swing.JMenu jMenu1
    +
    +
    +
    +
    +
    +

    +jMenuBar1

    +
    +javax.swing.JMenuBar jMenuBar1
    +
    +
    +
    +
    +
    +

    +jMenuItemFileOpen

    +
    +javax.swing.JMenuItem jMenuItemFileOpen
    +
    +
    +
    +
    +
    +

    +jMenuItemSaveAs

    +
    +javax.swing.JMenuItem jMenuItemSaveAs
    +
    +
    +
    +
    +
    +

    +jSlider1

    +
    +javax.swing.JSlider jSlider1
    +
    +
    +
    +
    +
    +

    +jSpinnerSpeed

    +
    +javax.swing.JSpinner jSpinnerSpeed
    +
    +
    +
    +
    +
    +

    +jSpinnerZoom

    +
    +javax.swing.JSpinner jSpinnerZoom
    +
    +
    +
    +
    +
    +

    +jToggleButtonPause

    +
    +javax.swing.JToggleButton jToggleButtonPause
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.ImageJPanel extends javax.swing.JPanel implements Serializable
    + +

    +serialVersionUID: 2613936L + +

    + + + + + +
    +Serialized Fields
    + +

    +img_painter

    +
    +diagapplet.utils.ImagePainter img_painter
    +
    +
    +
    +
    +
    +

    +select_rect_change_runnable_vector

    +
    +java.util.Vector<E> select_rect_change_runnable_vector
    +
    +
    +
    +
    +
    +

    +select_rect

    +
    +java.awt.Rectangle select_rect
    +
    +
    +
    +
    +
    +

    +mouse_released

    +
    +boolean mouse_released
    +
    +
    +
    +
    +
    +

    +x

    +
    +int x
    +
    +
    +
    +
    +
    +

    +y

    +
    +int y
    +
    +
    +
    +
    +
    +

    +jpop

    +
    +javax.swing.JPopupMenu jpop
    +
    +
    +
    +
    +
    +

    +jpopFullScreenCheckboxMenuItem

    +
    +javax.swing.JCheckBoxMenuItem jpopFullScreenCheckboxMenuItem
    +
    +
    +
    +
    +
    +

    +jpopNoFullScreenMenuItem

    +
    +javax.swing.JMenuItem jpopNoFullScreenMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSaveImageMenuItem

    +
    +javax.swing.JMenuItem jpopSaveImageMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSetZoomMenuItem

    +
    +javax.swing.JMenuItem jpopSetZoomMenuItem
    +
    +
    +
    +
    +
    +

    +jpopSetFitMenuItem

    +
    +javax.swing.JMenuItem jpopSetFitMenuItem
    +
    +
    +
    +
    +
    +

    +is_full_screen

    +
    +boolean is_full_screen
    +
    +
    +
    +
    +
    +

    +fullScreenJPanel

    +
    +fullScreenJPanelClass fullScreenJPanel
    +
    +
    +
    +
    +
    +

    +fullScreenJFrame

    +
    +javax.swing.JFrame fullScreenJFrame
    +
    +
    +
    +
    +
    +

    +jPaintablePanel2

    +
    +JPaintablePanel jPaintablePanel2
    +
    +
    +
    +
    +
    +

    +jScrollPane1

    +
    +javax.swing.JScrollPane jScrollPane1
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.ModifiedFileDialog extends java.awt.Dialog implements Serializable
    + +

    +serialVersionUID: 2613903L + +

    + + + + + +
    +Serialized Fields
    + +

    +filterLabel

    +
    +java.awt.Label filterLabel
    +
    +
    +
    +
    +
    +

    +filterField

    +
    +java.awt.TextField filterField
    +
    +
    +
    +
    +
    +

    +filenameLabel

    +
    +java.awt.Label filenameLabel
    +
    +
    +
    +
    +
    +

    +filenameField

    +
    +java.awt.TextField filenameField
    +
    +
    +
    +
    +
    +

    +sortbyLabel

    +
    +java.awt.Label sortbyLabel
    +
    +
    +
    +
    +
    +

    +sortbyGroup

    +
    +java.awt.CheckboxGroup sortbyGroup
    +
    +
    +
    +
    +
    +

    +sortbyNameCheckbox

    +
    +java.awt.Checkbox sortbyNameCheckbox
    +
    +
    +
    +
    +
    +

    +sortbySizeCheckbox

    +
    +java.awt.Checkbox sortbySizeCheckbox
    +
    +
    +
    +
    +
    +

    +sortbyDateCheckbox

    +
    +java.awt.Checkbox sortbyDateCheckbox
    +
    +
    +
    +
    +
    +

    +unsortedCheckbox

    +
    +java.awt.Checkbox unsortedCheckbox
    +
    +
    +
    +
    +
    +

    +filename

    +
    +java.lang.String filename
    +
    +
    +
    +
    +
    +

    +dirLabel

    +
    +java.awt.Label dirLabel
    +
    +
    +
    +
    +
    +

    +dirList

    +
    +FastListPanel dirList
    +
    +
    +
    +
    +
    +

    +dirListContainer

    +
    +FastListContainer dirListContainer
    +
    +
    +
    +
    +
    +

    +fileLabel

    +
    +java.awt.Label fileLabel
    +
    +
    +
    +
    +
    +

    +fileList

    +
    +FastListPanel fileList
    +
    +
    +
    +
    +
    +

    +fileListContainer

    +
    +FastListContainer fileListContainer
    +
    +
    +
    +
    +
    +

    +okButton

    +
    +java.awt.Button okButton
    +
    +
    +
    +
    +
    +

    +cancelButton

    +
    +java.awt.Button cancelButton
    +
    +
    +
    +
    +
    +

    +refreshButton

    +
    +java.awt.Button refreshButton
    +
    +
    +
    +
    +
    +

    +gbl

    +
    +java.awt.GridBagLayout gbl
    +
    +
    +
    +
    +
    +

    +done

    +
    +boolean done
    +
    +
    +
    +
    +
    +

    +cancel

    +
    +boolean cancel
    +
    +
    +
    +
    +
    +

    +mode

    +
    +int mode
    +
    +
    +
    +
    +
    +

    +dirFile

    +
    +java.io.File dirFile
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.StandAloneApplet extends java.applet.Applet implements Serializable
    + +

    +serialVersionUID: 2613901L + +

    + + + + + +
    +Serialized Fields
    + +

    +m_fStandAlone

    +
    +boolean m_fStandAlone
    +
    +
    +
    +
    +
    +

    +main_applet_thread

    +
    +java.lang.Thread main_applet_thread
    +
    +
    +
    +
    +
    +

    +last_size

    +
    +java.awt.Dimension last_size
    +
    +
    +
    +
    +
    +

    +initialized

    +
    +boolean initialized
    +
    +
    +
    +
    +
    +

    +inside_init

    +
    +boolean inside_init
    +
    +
    +
    +
    +
    +

    +inside_resizeable_window

    +
    +boolean inside_resizeable_window
    +
    +
    +
    +
    +
    +

    +repaint_count

    +
    +int repaint_count
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.URlLoadInfoFrame extends javax.swing.JFrame implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +uRLLoadInfoJPanel1

    +
    +URLLoadInfoJPanel uRLLoadInfoJPanel1
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.URLLoadInfoJPanel extends javax.swing.JPanel implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +use_color

    +
    +boolean use_color
    +
    +
    +
    +
    +
    +

    +last_repaint_time

    +
    +long last_repaint_time
    +
    +
    +
    +
    +
    +

    +URLname

    +
    +java.lang.String URLname
    +
    +
    +
    +
    +
    +

    +content_length

    +
    +int content_length
    +
    +
    +
    +
    +
    +

    +bytes_read

    +
    +int bytes_read
    +
    +
    +
    +
    +
    +

    +prefDim

    +
    +java.awt.Dimension prefDim
    +
    +
    +
    +
    +
    +

    +last_percent_done

    +
    +int last_percent_done
    +
    +
    +
    +
    +
    +

    +jLabel1

    +
    +javax.swing.JLabel jLabel1
    +
    +
    +
    +
    +
    +

    +jProgressBar1

    +
    +javax.swing.JProgressBar jProgressBar1
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.URLLoadInfoPanel extends java.awt.Panel implements Serializable
    + +

    +serialVersionUID: 2613898L + +

    + + + + + +
    +Serialized Fields
    + +

    +use_color

    +
    +boolean use_color
    +
    +
    +
    +
    +
    +

    +last_repaint_time

    +
    +long last_repaint_time
    +
    +
    +
    +
    +
    +

    +URLname

    +
    +java.lang.String URLname
    +
    +
    +
    +
    +
    +

    +content_length

    +
    +int content_length
    +
    +
    +
    +
    +
    +

    +bytes_read

    +
    +int bytes_read
    +
    +
    +
    +
    +
    +

    +prefDim

    +
    +java.awt.Dimension prefDim
    +
    +
    +
    +
    +
    +

    +repainted

    +
    +boolean repainted
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.WatchJPanel extends javax.swing.JPanel implements Serializable
    + +

    +serialVersionUID: 2613934L + +

    + + + + + +
    +Serialized Fields
    + +

    +wtm

    +
    +diagapplet.utils.WatchTableModel wtm
    +
    +
    +
    +
    +
    +

    +rowSM

    +
    +javax.swing.ListSelectionModel rowSM
    +
    +
    +
    +
    +
    +

    +tcr

    +
    +javax.swing.table.TableCellRenderer tcr
    +
    +
    +
    +
    +
    +

    +changeIdRunnable

    +
    +java.lang.Runnable changeIdRunnable
    +
    +
    +
    +
    +
    +

    +nml_dict

    +
    +NMLMessageDictionary nml_dict
    +
    +
    +
    +
    +
    +

    +last_selected_row

    +
    +int last_selected_row
    +
    +
    +
    +
    +
    +

    +hashtable_by_id

    +
    +java.util.Hashtable<K,V> hashtable_by_id
    +
    +
    +
    +
    +
    +

    +last_id

    +
    +long last_id
    +
    +
    +
    +
    +
    +

    +last_saved_message_string_to_show

    +
    +java.lang.String last_saved_message_string_to_show
    +
    +
    +
    +
    +
    +

    +last_saved_message_id

    +
    +long last_saved_message_id
    +
    +
    +
    +
    +
    +

    +jpop

    +
    +javax.swing.JPopupMenu jpop
    +
    +
    +
    +
    +
    +

    +recordAll

    +
    +boolean recordAll
    +
    +
    +
    +
    +
    +

    +JCheckBoxMenuItemXmlAddArrayIndexes

    +
    +javax.swing.JCheckBoxMenuItem JCheckBoxMenuItemXmlAddArrayIndexes
    +
    +
    +
    +
    +
    +

    +jScrollPane1

    +
    +javax.swing.JScrollPane jScrollPane1
    +
    +
    +
    +
    +
    +

    +jTable1

    +
    +javax.swing.JTable jTable1
    +
    +
    +
    +
    + +

    + + + + + +
    +Class diagapplet.utils.WatchVarEditor extends javax.swing.AbstractCellEditor implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +jcb

    +
    +javax.swing.JComboBox jcb
    +
    +
    +
    +
    +
    +

    +jtf

    +
    +javax.swing.JTextField jtf
    +
    +
    +
    +
    +
    +

    +is_enum

    +
    +boolean is_enum
    +
    +
    +
    +
    +
    +

    +eti

    +
    +EnumTypeInfo eti
    +
    +
    +
    +
    +
    +

    +val_was_zero

    +
    +boolean val_was_zero
    +
    +
    +
    +
    +
    +

    +editorBorder

    +
    +javax.swing.border.Border editorBorder
    +
    +
    +
    +
    +
    + + + + + +
    +Package rcs.nml
    + +

    + + + + + +
    +Class rcs.nml.NMLException extends java.lang.Exception implements Serializable
    + +

    +serialVersionUID: 2613893L + +

    + + + + + +
    +Serialized Fields
    + +

    +buffer_name

    +
    +java.lang.String buffer_name
    +
    +
    The buffer name of the NMLConnection that was being used, + when the exception was thrown. +

    +

    +
    +
    +
    +

    +config_file

    +
    +java.lang.String config_file
    +
    +
    The configuration file read by the NMLConnection that was being used, + when the exception was thrown. +

    +

    +
    +
    +
    +

    +internal_exception

    +
    +java.lang.Exception internal_exception
    +
    +
    If an exception was thrown by some function called from within + NML such as a socket call, the exception will be caught and + wrapped in an NMLException and then thrown. +

    +

    +
    +
    +
    +

    +nci

    +
    +NMLConnectionInterface nci
    +
    +
    +
    +
    +
    +

    +buffer_line

    +
    +java.lang.String buffer_line
    +
    +
    +
    +
    +
    + + + + + +
    +Package rcs.posemath
    + +

    + + + + + +
    +Class rcs.posemath.PM_CIRCLE extends java.lang.Object implements Serializable
    + +

    + + + + + +
    +Serialized Fields
    + +

    +center

    +
    +PM_CARTESIAN center
    +
    +
    +
    +
    +
    +

    +normal

    +
    +PM_CARTESIAN normal
    +
    +
    +
    +
    +
    +

    +rTan

    +
    +PM_CARTESIAN rTan
    +
    +
    +
    +
    +
    +

    +rPerp

    +
    +PM_CARTESIAN rPerp
    +
    +
    +
    +
    +
    +

    +rHelix

    +
    +PM_CARTESIAN rHelix
    +
    +
    +
    +
    +
    +

    +radius

    +
    +double radius
    +
    +
    +
    +
    +
    +

    +angle

    +
    +double angle
    +
    +
    +
    +
    +
    +

    +spiral

    +
    +double spiral
    +
    +
    +
    +
    + +

    + + + + + +
    +Class rcs.posemath.PmException extends java.lang.Exception implements Serializable
    + +

    +serialVersionUID: 2613894L + +

    + + + + + +
    +Serialized Fields
    + +

    +pmErrno

    +
    +int pmErrno
    +
    +
    +
    +
    +
    + + + + + +
    +Package rcsdesign
    + +

    + + + + + +
    +Class rcsdesign.rcsDesign extends rcsDesignGui implements Serializable
    + +

    +serialVersionUID: 2613925L + +

    + + + + + +
    +Serialized Fields
    + +

    +update_all_files

    +
    +boolean update_all_files
    +
    +
    +
    +
    +
    +

    +lm

    +
    +java.awt.FlowLayout lm
    +
    +
    +
    +
    +
    +

    +innerPanel

    +
    +java.awt.Panel innerPanel
    +
    +
    +
    +
    +
    +

    +innerLayout

    +
    +java.awt.GridBagLayout innerLayout
    +
    +
    +
    +
    +
    +

    +goButton

    +
    +CountButton goButton
    +
    +
    +
    +
    +
    +

    +printButton

    +
    +java.awt.Button printButton
    +
    +
    +
    +
    +
    +

    +makeButton

    +
    +java.awt.Button makeButton
    +
    +
    +
    +
    +
    +

    +runButton

    +
    +java.awt.Button runButton
    +
    +
    +
    +
    +
    +

    +importButton

    +
    +java.awt.Button importButton
    +
    +
    +
    +
    +
    +

    +openButton

    +
    +java.awt.Button openButton
    +
    +
    +
    +
    +
    +

    +newButton

    +
    +java.awt.Button newButton
    +
    +
    +
    +
    +
    +

    +diagButton

    +
    +java.awt.Button diagButton
    +
    +
    +
    +
    +
    +

    +helpButton

    +
    +java.awt.Button helpButton
    +
    +
    +
    +
    +
    +

    +loadPanel

    +
    +URLLoadInfoPanel loadPanel
    +
    +
    +
    +
    +
    +

    +choicePanel

    +
    +java.awt.Panel choicePanel
    +
    +
    +
    +
    +
    +

    +choicePanelLayout

    +
    +java.awt.CardLayout choicePanelLayout
    +
    +
    +
    +
    +
    +

    +optionsPanel

    +
    +java.awt.Panel optionsPanel
    +
    +
    +
    +
    +
    +

    +optionsPanelLayout

    +
    +java.awt.FlowLayout optionsPanelLayout
    +
    +
    +
    +
    +
    +

    +optionsInnerPanel

    +
    +java.awt.Panel optionsInnerPanel
    +
    +
    +
    +
    +
    +

    +optionsInnerLayout

    +
    +java.awt.GridBagLayout optionsInnerLayout
    +
    +
    +
    +
    +
    +

    +currentViewString

    +
    +java.lang.String currentViewString
    +
    +
    +
    +
    +
    +

    +prevViewString

    +
    +java.lang.String prevViewString
    +
    +
    +
    +
    +
    +

    +lastFileSelected

    +
    +java.lang.String lastFileSelected
    +
    +
    +
    +
    +
    +

    +debugCheckbox

    +
    +java.awt.Checkbox debugCheckbox
    +
    +
    +
    +
    +
    +

    +printHashtablesButton

    +
    +java.awt.Button printHashtablesButton
    +
    +
    +
    +
    +
    +

    +reading_config_file

    +
    +boolean reading_config_file
    +
    +
    +
    +
    +
    +

    +creating_new_controller

    +
    +boolean creating_new_controller
    +
    +
    +
    +
    +
    +

    +loopsPanel

    +
    +java.awt.Panel loopsPanel
    +
    +
    +
    +
    +
    +

    +loopsLayout

    +
    +java.awt.FlowLayout loopsLayout
    +
    +
    +
    +
    +
    +

    +loopsInnerPanel

    +
    +java.awt.Panel loopsInnerPanel
    +
    +
    +
    +
    +
    +

    +loopsInnerLayout

    +
    +java.awt.GridBagLayout loopsInnerLayout
    +
    +
    +
    +
    +
    +

    +hierarchyOuterPanel

    +
    +java.awt.Panel hierarchyOuterPanel
    +
    +
    +
    +
    +
    +

    +hierarchyOuterLayout

    +
    +java.awt.FlowLayout hierarchyOuterLayout
    +
    +
    +
    +
    +
    +

    +hierarchyInnerPanel

    +
    +java.awt.Panel hierarchyInnerPanel
    +
    +
    +
    +
    +
    +

    +hierarchyInnerLayout

    +
    +java.awt.GridBagLayout hierarchyInnerLayout
    +
    +
    +
    +
    +
    +

    +modulesLabel

    +
    +java.awt.Label modulesLabel
    +
    +
    +
    +
    +
    +

    +delModuleButton

    +
    +java.awt.Button delModuleButton
    +
    +
    +
    +
    +
    +

    +CmdOrSubChoice

    +
    +java.awt.Choice CmdOrSubChoice
    +
    +
    +
    +
    +
    +

    +CmdOrSubPanel

    +
    +java.awt.Panel CmdOrSubPanel
    +
    +
    +
    +
    +
    +

    +CmdOrSubLayout

    +
    +java.awt.CardLayout CmdOrSubLayout
    +
    +
    +
    +
    +
    +

    +cmdPanel

    +
    +java.awt.Panel cmdPanel
    +
    +
    +
    +
    +
    +

    +cmdLayout

    +
    +java.awt.FlowLayout cmdLayout
    +
    +
    +
    +
    +
    +

    +cmdInnerPanel

    +
    +java.awt.Panel cmdInnerPanel
    +
    +
    +
    +
    +
    +

    +cmdInnerLayout

    +
    +java.awt.GridBagLayout cmdInnerLayout
    +
    +
    +
    +
    +
    +

    +subPanel

    +
    +java.awt.Panel subPanel
    +
    +
    +
    +
    +
    +

    +subLayout

    +
    +java.awt.FlowLayout subLayout
    +
    +
    +
    +
    +
    +

    +cmdLabel

    +
    +java.awt.Label cmdLabel
    +
    +
    +
    +
    +
    +

    +cmdList

    +
    +java.awt.List cmdList
    +
    +
    +
    +
    +
    +

    +addcmdLabel

    +
    +java.awt.Label addcmdLabel
    +
    +
    +
    +
    +
    +

    +addcmdField

    +
    +java.awt.TextField addcmdField
    +
    +
    +
    +
    +
    +

    +delcmdButton

    +
    +java.awt.Button delcmdButton
    +
    +
    +
    +
    +
    +

    +subordinatesLabel

    +
    +java.awt.Label subordinatesLabel
    +
    +
    +
    +
    +
    +

    +subordinatesList

    +
    +java.awt.List subordinatesList
    +
    +
    +
    +
    +
    +

    +auxPanel

    +
    +java.awt.Panel auxPanel
    +
    +
    +
    +
    +
    +

    +auxLayout

    +
    +java.awt.FlowLayout auxLayout
    +
    +
    +
    +
    +
    +

    +auxInnerPanel

    +
    +java.awt.Panel auxInnerPanel
    +
    +
    +
    +
    +
    +

    +auxInnerLayout

    +
    +java.awt.GridBagLayout auxInnerLayout
    +
    +
    +
    +
    +
    +

    +auxLabel

    +
    +java.awt.Label auxLabel
    +
    +
    +
    +
    +
    +

    +auxList

    +
    +java.awt.List auxList
    +
    +
    +
    +
    +
    +

    +delauxButton

    +
    +java.awt.Button delauxButton
    +
    +
    +
    +
    +
    +

    +addauxLabel

    +
    +java.awt.Label addauxLabel
    +
    +
    +
    +
    +
    +

    +addauxField

    +
    +java.awt.TextField addauxField
    +
    +
    +
    +
    +
    +

    +auxTypeGroup

    +
    +java.awt.CheckboxGroup auxTypeGroup
    +
    +
    +
    +
    +
    +

    +auxInputCheckbox

    +
    +java.awt.Checkbox auxInputCheckbox
    +
    +
    +
    +
    +
    +

    +auxOutputCheckbox

    +
    +java.awt.Checkbox auxOutputCheckbox
    +
    +
    +
    +
    +
    +

    +auxUpdateCheckbox

    +
    +java.awt.Checkbox auxUpdateCheckbox
    +
    +
    +
    +
    +
    +

    +hierarchyPanel

    +
    +HierarchyPanel hierarchyPanel
    +
    +
    +
    +
    +
    +

    +hierarchyHorzScrollbar

    +
    +java.awt.Scrollbar hierarchyHorzScrollbar
    +
    +
    +
    +
    +
    +

    +hierarchyVertScrollbar

    +
    +java.awt.Scrollbar hierarchyVertScrollbar
    +
    +
    +
    +
    +
    +

    +codegenOuterPanel

    +
    +java.awt.Panel codegenOuterPanel
    +
    +
    +
    +
    +
    +

    +codegenOuterLayout

    +
    +java.awt.FlowLayout codegenOuterLayout
    +
    +
    +
    +
    +
    +

    +codegenInnerPanel

    +
    +java.awt.Panel codegenInnerPanel
    +
    +
    +
    +
    +
    +

    +codegenInnerLayout

    +
    +java.awt.GridBagLayout codegenInnerLayout
    +
    +
    +
    +
    +
    +

    +filesPanel

    +
    +java.awt.Panel filesPanel
    +
    +
    +
    +
    +
    +

    +filesLayout

    +
    +java.awt.FlowLayout filesLayout
    +
    +
    +
    +
    +
    +

    +filesInnerPanel

    +
    +java.awt.Panel filesInnerPanel
    +
    +
    +
    +
    +
    +

    +filesInnerLayout

    +
    +java.awt.GridBagLayout filesInnerLayout
    +
    +
    +
    +
    +
    +

    +saveFileButton

    +
    +java.awt.Button saveFileButton
    +
    +
    +
    +
    +
    +

    +updateFileButton

    +
    +java.awt.Button updateFileButton
    +
    +
    +
    +
    +
    +

    +updateAllFilesButton

    +
    +java.awt.Button updateAllFilesButton
    +
    +
    +
    +
    +
    +

    +shutting_down

    +
    +boolean shutting_down
    +
    +
    +
    +
    +
    +

    +writer

    +
    +rcsdesign.rcsDesignWriter writer
    +
    +
    +
    +
    +
    +

    +hierarchy_modified

    +
    +boolean hierarchy_modified
    +
    +
    +
    +
    +
    +

    +read_everything_needed

    +
    +boolean read_everything_needed
    +
    +
    +
    +
    +
    +

    +file_list_needs_to_be_modified

    +
    +boolean file_list_needs_to_be_modified
    +
    +
    +
    +
    +
    +

    +browser_cmd

    +
    +java.lang.String browser_cmd
    +
    +
    +
    +
    +
    +

    +default_plat

    +
    +java.lang.String default_plat
    +
    +
    +
    +
    +
    +

    +java_plat

    +
    +java.lang.String java_plat
    +
    +
    +
    +
    +
    +

    +font_size

    +
    +int font_size
    +
    +
    +
    +
    +
    +

    +font_name

    +
    +java.lang.String font_name
    +
    +
    +
    +
    +
    +

    +max_file_text_length

    +
    +int max_file_text_length
    +
    +
    +
    +
    +
    +

    +max_file_text_width

    +
    +int max_file_text_width
    +
    +
    +
    +
    +
    +

    +min_file_text_panel_pixel_width

    +
    +int min_file_text_panel_pixel_width
    +
    +
    +
    +
    +
    +

    +min_file_text_panel_pixel_height

    +
    +int min_file_text_panel_pixel_height
    +
    +
    +
    +
    +
    +

    +max_file_text_panel_pixel_height

    +
    +int max_file_text_panel_pixel_height
    +
    +
    +
    +
    +
    +

    +max_file_text_panel_pixel_width

    +
    +int max_file_text_panel_pixel_width
    +
    +
    +
    +
    +
    +

    +min_hierarchy_panel_width

    +
    +int min_hierarchy_panel_width
    +
    +
    +
    +
    +
    +

    +min_hierarchy_panel_height

    +
    +int min_hierarchy_panel_height
    +
    +
    +
    +
    +
    +

    +max_hierarchy_panel_height

    +
    +int max_hierarchy_panel_height
    +
    +
    +
    +
    +
    +

    +max_hierarchy_panel_width

    +
    +int max_hierarchy_panel_width
    +
    +
    +
    +
    +
    +

    +min_file_panel_width

    +
    +int min_file_panel_width
    +
    +
    +
    +
    +
    +

    +min_file_panel_height

    +
    +int min_file_panel_height
    +
    +
    +
    +
    +
    +

    +max_file_panel_height

    +
    +int max_file_panel_height
    +
    +
    +
    +
    +
    +

    +max_file_panel_width

    +
    +int max_file_panel_width
    +
    +
    +
    +
    +
    +

    +m_useColor

    +
    +boolean m_useColor
    +
    +
    +
    +
    +
    +

    +ImportDir

    +
    +java.lang.String ImportDir
    +
    +
    +
    +
    +
    +

    +useMerger

    +
    +boolean useMerger
    +
    +
    +
    +
    +
    +

    +makeBackups

    +
    +boolean makeBackups
    +
    +
    +
    +
    +
    +

    +singleDir

    +
    +boolean singleDir
    +
    +
    +
    +
    +
    +

    +param_set_version_control_directory

    +
    +boolean param_set_version_control_directory
    +
    +
    +
    +
    +
    +

    +param_set_version_control_checkout_command

    +
    +boolean param_set_version_control_checkout_command
    +
    +
    +
    +
    +
    +

    +param_set_version_control_checkin_command

    +
    +boolean param_set_version_control_checkin_command
    +
    +
    +
    +
    +
    +

    +execute_in_dir_command

    +
    +java.lang.String execute_in_dir_command
    +
    +
    +
    +
    +
    +

    +PARAM_ConfigFile

    +
    +java.lang.String PARAM_ConfigFile
    +
    +
    +
    +
    +
    +

    +PARAM_UserDir

    +
    +java.lang.String PARAM_UserDir
    +
    +
    +
    +
    +
    +

    +PARAM_RcsLibDir

    +
    +java.lang.String PARAM_RcsLibDir
    +
    +
    +
    +
    +
    +

    +PARAM_AppDir

    +
    +java.lang.String PARAM_AppDir
    +
    +
    +
    +
    +
    +

    +PARAM_AppName

    +
    +java.lang.String PARAM_AppName
    +
    +
    +
    +
    +
    +

    +PARAM_FinalScript

    +
    +java.lang.String PARAM_FinalScript
    +
    +
    +
    +
    +
    +

    +PARAM_useColor

    +
    +java.lang.String PARAM_useColor
    +
    +
    +
    +
    +
    +

    +PARAM_CppExt

    +
    +java.lang.String PARAM_CppExt
    +
    +
    +
    +
    +
    +

    +PARAM_HppExt

    +
    +java.lang.String PARAM_HppExt
    +
    +
    +
    +
    +
    +

    +PARAM_ObjExt

    +
    +java.lang.String PARAM_ObjExt
    +
    +
    +
    +
    +
    +

    +PARAM_MakeCommand

    +
    +java.lang.String PARAM_MakeCommand
    +
    +
    +
    +
    +
    +

    +PARAM_TerminalCommand

    +
    +java.lang.String PARAM_TerminalCommand
    +
    +
    +
    +
    +
    +

    +PARAM_DevPlat

    +
    +java.lang.String PARAM_DevPlat
    +
    +
    +
    +
    +
    +

    +PARAM_DiagCmd

    +
    +java.lang.String PARAM_DiagCmd
    +
    +
    +
    +
    +
    +

    +PARAM_BrowserCmd

    +
    +java.lang.String PARAM_BrowserCmd
    +
    +
    +
    +
    +
    +

    +PARAM_JavaCmdPrefix

    +
    +java.lang.String PARAM_JavaCmdPrefix
    +
    +
    +
    +
    +
    +

    +PARAM_JavaClasspathSeparator

    +
    +java.lang.String PARAM_JavaClasspathSeparator
    +
    +
    +
    +
    +
    +

    +PARAM_UseJavaInScripts

    +
    +java.lang.String PARAM_UseJavaInScripts
    +
    +
    +
    +
    +
    +

    +PARAM_JavaSetup

    +
    +java.lang.String PARAM_JavaSetup
    +
    +
    +
    +
    +
    +

    +PARAM_JavaSetupFileName

    +
    +java.lang.String PARAM_JavaSetupFileName
    +
    +
    +
    +
    +
    +

    +PARAM_ImportDir

    +
    +java.lang.String PARAM_ImportDir
    +
    +
    +
    +
    +
    +

    +PARAM_UseMerger

    +
    +java.lang.String PARAM_UseMerger
    +
    +
    +
    +
    +
    +

    +PARAM_MakeBackups

    +
    +java.lang.String PARAM_MakeBackups
    +
    +
    +
    +
    +
    +

    +PARAM_SingleDir

    +
    +java.lang.String PARAM_SingleDir
    +
    +
    +
    +
    +
    +

    +PARAM_PLAT

    +
    +java.lang.String PARAM_PLAT
    +
    +
    +
    +
    +
    +

    +PARAM_VCT

    +
    +java.lang.String PARAM_VCT
    +
    +
    +
    +
    +
    +

    +PARAM_CHECKOUT_COMMAND

    +
    +java.lang.String PARAM_CHECKOUT_COMMAND
    +
    +
    +
    +
    +
    +

    +PARAM_CHECKIN_COMMAND

    +
    +java.lang.String PARAM_CHECKIN_COMMAND
    +
    +
    +
    +
    +
    +

    +PARAM_SYMLINK_COMMAND

    +
    +java.lang.String PARAM_SYMLINK_COMMAND
    +
    +
    +
    +
    +
    +

    +PARAM_VC_DIRECTORY

    +
    +java.lang.String PARAM_VC_DIRECTORY
    +
    +
    +
    +
    +
    +

    +PARAM_EXEC_IN_DIR_COMMAND

    +
    +java.lang.String PARAM_EXEC_IN_DIR_COMMAND
    +
    +
    +
    +
    +
    +

    +PARAM_AUTO_CHECKIN

    +
    +java.lang.String PARAM_AUTO_CHECKIN
    +
    +
    +
    +
    +
    +

    +PARAM_AUTO_CHECKOUT

    +
    +java.lang.String PARAM_AUTO_CHECKOUT
    +
    +
    +
    +
    +
    +

    +PARAM_LIST_MODULES_BY_NUMBER

    +
    +java.lang.String PARAM_LIST_MODULES_BY_NUMBER
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_HEIGHT

    +
    +java.lang.String PARAM_MAX_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_WIDTH

    +
    +java.lang.String PARAM_MAX_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_HEIGHT

    +
    +java.lang.String PARAM_MIN_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_WIDTH

    +
    +java.lang.String PARAM_MIN_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_FONT_SIZE

    +
    +java.lang.String PARAM_FONT_SIZE
    +
    +
    +
    +
    +
    +

    +PARAM_FONT_NAME

    +
    +java.lang.String PARAM_FONT_NAME
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_FILE_TEXT_LENGTH

    +
    +java.lang.String PARAM_MAX_FILE_TEXT_LENGTH
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_FILE_TEXT_WIDTH

    +
    +java.lang.String PARAM_MAX_FILE_TEXT_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_HIERARCHY_PANEL_HEIGHT

    +
    +java.lang.String PARAM_MAX_HIERARCHY_PANEL_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_HIERARCHY_PANEL_WIDTH

    +
    +java.lang.String PARAM_MAX_HIERARCHY_PANEL_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_HIERARCHY_PANEL_HEIGHT

    +
    +java.lang.String PARAM_MIN_HIERARCHY_PANEL_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_HIERARCHY_PANEL_WIDTH

    +
    +java.lang.String PARAM_MIN_HIERARCHY_PANEL_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_FILE_TEXT_PANEL_PIXEL_HEIGHT

    +
    +java.lang.String PARAM_MAX_FILE_TEXT_PANEL_PIXEL_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MAX_FILE_TEXT_PANEL_PIXEL_WIDTH

    +
    +java.lang.String PARAM_MAX_FILE_TEXT_PANEL_PIXEL_WIDTH
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_FILE_TEXT_PANEL_PIXEL_HEIGHT

    +
    +java.lang.String PARAM_MIN_FILE_TEXT_PANEL_PIXEL_HEIGHT
    +
    +
    +
    +
    +
    +

    +PARAM_MIN_FILE_TEXT_PANEL_PIXEL_WIDTH

    +
    +java.lang.String PARAM_MIN_FILE_TEXT_PANEL_PIXEL_WIDTH
    +
    +
    +
    +
    +
    +

    +first_init

    +
    +boolean first_init
    +
    +
    +
    +
    +
    +

    +preferredFont

    +
    +java.awt.Font preferredFont
    +
    +
    +
    +
    +
    +

    +rcslibwarndir

    +
    +java.lang.String rcslibwarndir
    +
    +
    +
    +
    +
    +

    +GeneratingEverything

    +
    +boolean GeneratingEverything
    +
    +
    +
    +
    +
    +

    +modulesInMainLoopChanged

    +
    +boolean modulesInMainLoopChanged
    +
    +
    +
    +
    +
    +

    +bufsInServerChanged

    +
    +boolean bufsInServerChanged
    +
    +
    +
    +
    +
    +

    +last_modulesSelected_index

    +
    +int last_modulesSelected_index
    +
    +
    +
    +
    +
    +

    +fileToUpdate

    +
    +rcsdesign.FileTypeInfo fileToUpdate
    +
    +
    +
    +
    +
    +

    +lastFailedToSaveTextFile

    +
    +java.lang.String lastFailedToSaveTextFile
    +
    +
    +
    +
    +
    +

    +in_resizable_window

    +
    +boolean in_resizable_window
    +
    +
    +
    +
    +
    +

    +old_width

    +
    +int old_width
    +
    +
    +
    +
    +
    +

    +old_height

    +
    +int old_height
    +
    +
    +
    +
    +
    +

    +resizing

    +
    +boolean resizing
    +
    +
    +
    +
    +
    +

    +resize_width

    +
    +int resize_width
    +
    +
    +
    +
    +
    +

    +resize_height

    +
    +int resize_height
    +
    +
    +
    +
    +
    +

    +last_hierarchyHorzScrollbar_arg

    +
    +int last_hierarchyHorzScrollbar_arg
    +
    +
    +
    +
    +
    +

    +last_hierarchyVertScrollbar_arg

    +
    +int last_hierarchyVertScrollbar_arg
    +
    +
    +
    +
    +
    +

    +generateEverything_thread

    +
    +java.lang.Thread generateEverything_thread
    +
    +
    +
    +
    +
    +

    +run_function

    +
    +int run_function
    +
    +
    +
    +
    +
    +

    +updating_files

    +
    +boolean updating_files
    +
    +
    +
    +
    +
    +

    +config_file_date

    +
    +long config_file_date
    +
    +
    +
    +
    +
    +

    +currentModuleNameForAddFileTypeInfo

    +
    +java.lang.String currentModuleNameForAddFileTypeInfo
    +
    +
    +
    +
    +
    +

    +currentServerNameForAddFileTypeInfo

    +
    +java.lang.String currentServerNameForAddFileTypeInfo
    +
    +
    +
    +
    +
    +

    +currentLoopNameForAddFileTypeInfo

    +
    +java.lang.String currentLoopNameForAddFileTypeInfo
    +
    +
    +
    +
    +
    +

    +currentAuxForAddFileTypeInfo

    +
    +java.lang.String currentAuxForAddFileTypeInfo
    +
    +
    +
    +
    +
    +

    +module_log_date

    +
    +long module_log_date
    +
    +
    +
    +
    +
    +

    +list_generated

    +
    +boolean list_generated
    +
    +
    +
    +
    + +

    + + + + + +
    +Class rcsdesign.rcsDesignGui extends StandAloneApplet implements Serializable
    + +

    +serialVersionUID: 2613921L + +

    + + + + + +
    +Serialized Fields
    + +

    +currentLoadedFile

    +
    +java.lang.String currentLoadedFile
    +
    +
    +
    +
    +
    +

    +filesListLabel

    +
    +java.awt.Label filesListLabel
    +
    +
    +
    +
    +
    +

    +fileTextLabel

    +
    +java.awt.Label fileTextLabel
    +
    +
    +
    +
    +
    +

    +filesList

    +
    +java.awt.List filesList
    +
    +
    +
    +
    +
    +

    +fileTextArea

    +
    +java.awt.TextArea fileTextArea
    +
    +
    +
    +
    +
    +

    +codeGenerationApplet

    +
    +CodeGen codeGenerationApplet
    +
    +
    +
    +
    +
    +

    +overwriteGroup

    +
    +java.awt.CheckboxGroup overwriteGroup
    +
    +
    +
    +
    +
    +

    +overwriteAlwaysCheckbox

    +
    +java.awt.Checkbox overwriteAlwaysCheckbox
    +
    +
    +
    +
    +
    +

    +overwritePromptCheckbox

    +
    +java.awt.Checkbox overwritePromptCheckbox
    +
    +
    +
    +
    +
    +

    +overwriteNeverCheckbox

    +
    +java.awt.Checkbox overwriteNeverCheckbox
    +
    +
    +
    +
    +
    +

    +makeBackupsCheckbox

    +
    +java.awt.Checkbox makeBackupsCheckbox
    +
    +
    +
    +
    +
    +

    +singleDirCheckbox

    +
    +java.awt.Checkbox singleDirCheckbox
    +
    +
    +
    +
    +
    +

    +screenChoice

    +
    +java.awt.Choice screenChoice
    +
    +
    +
    +
    +
    +

    +inside_alert

    +
    +boolean inside_alert
    +
    +
    +
    +
    +
    +

    +inside_query

    +
    +boolean inside_query
    +
    +
    +
    +
    +
    +

    +inside_run

    +
    +boolean inside_run
    +
    +
    +
    +
    +
    +

    +diag_cmd

    +
    +java.lang.String diag_cmd
    +
    +
    +
    +
    +
    +

    +libsLabel

    +
    +java.awt.Label libsLabel
    +
    +
    +
    +
    +
    +

    +libsList

    +
    +java.awt.List libsList
    +
    +
    +
    +
    +
    +

    +addLibLabel

    +
    +java.awt.Label addLibLabel
    +
    +
    +
    +
    +
    +

    +addLibField

    +
    +java.awt.TextField addLibField
    +
    +
    +
    +
    +
    +

    +delLibButton

    +
    +java.awt.Button delLibButton
    +
    +
    +
    +
    +
    +

    +includesLabel

    +
    +java.awt.Label includesLabel
    +
    +
    +
    +
    +
    +

    +includesList

    +
    +java.awt.List includesList
    +
    +
    +
    +
    +
    +

    +addIncludeLabel

    +
    +java.awt.Label addIncludeLabel
    +
    +
    +
    +
    +
    +

    +addIncludeField

    +
    +java.awt.TextField addIncludeField
    +
    +
    +
    +
    +
    +

    +delIncludeButton

    +
    +java.awt.Button delIncludeButton
    +
    +
    +
    +
    +
    +

    +mainLoopLabel

    +
    +java.awt.Label mainLoopLabel
    +
    +
    +
    +
    +
    +

    +mainLoopList

    +
    +java.awt.List mainLoopList
    +
    +
    +
    +
    +
    +

    +addmainLoopLabel

    +
    +java.awt.Label addmainLoopLabel
    +
    +
    +
    +
    +
    +

    +addmainLoopField

    +
    +java.awt.TextField addmainLoopField
    +
    +
    +
    +
    +
    +

    +delmainLoopButton

    +
    +java.awt.Button delmainLoopButton
    +
    +
    +
    +
    +
    +

    +modsInLoopLabel

    +
    +java.awt.Label modsInLoopLabel
    +
    +
    +
    +
    +
    +

    +modsInLoopList

    +
    +java.awt.List modsInLoopList
    +
    +
    +
    +
    +
    +

    +mainLoopHostLabel

    +
    +java.awt.Label mainLoopHostLabel
    +
    +
    +
    +
    +
    +

    +mainLoopHostField

    +
    +java.awt.TextField mainLoopHostField
    +
    +
    +
    +
    +
    +

    +cycletimeLabel

    +
    +java.awt.Label cycletimeLabel
    +
    +
    +
    +
    +
    +

    +cycletimeField

    +
    +java.awt.TextField cycletimeField
    +
    +
    +
    +
    +
    +

    +serverLabel

    +
    +java.awt.Label serverLabel
    +
    +
    +
    +
    +
    +

    +serverList

    +
    +java.awt.List serverList
    +
    +
    +
    +
    +
    +

    +addServerLabel

    +
    +java.awt.Label addServerLabel
    +
    +
    +
    +
    +
    +

    +addServerField

    +
    +java.awt.TextField addServerField
    +
    +
    +
    +
    +
    +

    +delServerButton

    +
    +java.awt.Button delServerButton
    +
    +
    +
    +
    +
    +

    +bufsInServerLabel

    +
    +java.awt.Label bufsInServerLabel
    +
    +
    +
    +
    +
    +

    +bufsInServerList

    +
    +java.awt.List bufsInServerList
    +
    +
    +
    +
    +
    +

    +serverHostLabel

    +
    +java.awt.Label serverHostLabel
    +
    +
    +
    +
    +
    +

    +serverHostField

    +
    +java.awt.TextField serverHostField
    +
    +
    +
    +
    +
    +

    +javaCommandLabel

    +
    +java.awt.Label javaCommandLabel
    +
    +
    +
    +
    +
    +

    +javaCommandField

    +
    +java.awt.TextField javaCommandField
    +
    +
    +
    +
    +
    +

    +javaSetupLabel

    +
    +java.awt.Label javaSetupLabel
    +
    +
    +
    +
    +
    +

    +javaSetupArea

    +
    +java.awt.TextArea javaSetupArea
    +
    +
    +
    +
    +
    +

    +useJavaInScriptsCheckbox

    +
    +java.awt.Checkbox useJavaInScriptsCheckbox
    +
    +
    +
    +
    +
    +

    +appnameLabel

    +
    +java.awt.Label appnameLabel
    +
    +
    +
    +
    +
    +

    +appnameField

    +
    +java.awt.TextField appnameField
    +
    +
    +
    +
    +
    +

    +appdirLabel

    +
    +java.awt.Label appdirLabel
    +
    +
    +
    +
    +
    +

    +appdirField

    +
    +java.awt.TextField appdirField
    +
    +
    +
    +
    +
    +

    +userdirLabel

    +
    +java.awt.Label userdirLabel
    +
    +
    +
    +
    +
    +

    +userdirField

    +
    +java.awt.TextField userdirField
    +
    +
    +
    +
    +
    +

    +rcslibdirLabel

    +
    +java.awt.Label rcslibdirLabel
    +
    +
    +
    +
    +
    +

    +rcslibdirField

    +
    +java.awt.TextField rcslibdirField
    +
    +
    +
    +
    +
    +

    +platLabel

    +
    +java.awt.Label platLabel
    +
    +
    +
    +
    +
    +

    +platList

    +
    +java.awt.List platList
    +
    +
    +
    +
    +
    +

    +addPlatLabel

    +
    +java.awt.Label addPlatLabel
    +
    +
    +
    +
    +
    +

    +addPlatField

    +
    +java.awt.TextField addPlatField
    +
    +
    +
    +
    +
    +

    +delPlatButton

    +
    +java.awt.Button delPlatButton
    +
    +
    +
    +
    +
    +

    +overwriteLabel

    +
    +java.awt.Label overwriteLabel
    +
    +
    +
    +
    +
    +

    +useMergerCheckbox

    +
    +java.awt.Checkbox useMergerCheckbox
    +
    +
    +
    +
    +
    +

    +removeBackupsButton

    +
    +java.awt.Button removeBackupsButton
    +
    +
    +
    +
    +
    +

    +devPlatTypeLabel

    +
    +java.awt.Label devPlatTypeLabel
    +
    +
    +
    +
    +
    +

    +devPlatTypeGroup

    +
    +java.awt.CheckboxGroup devPlatTypeGroup
    +
    +
    +
    +
    +
    +

    +unixCheckbox

    +
    +java.awt.Checkbox unixCheckbox
    +
    +
    +
    +
    +
    +

    +mswinCheckbox

    +
    +java.awt.Checkbox mswinCheckbox
    +
    +
    +
    +
    +
    +

    +cppExtLabel

    +
    +java.awt.Label cppExtLabel
    +
    +
    +
    +
    +
    +

    +cppExtField

    +
    +java.awt.TextField cppExtField
    +
    +
    +
    +
    +
    +

    +hppExtLabel

    +
    +java.awt.Label hppExtLabel
    +
    +
    +
    +
    +
    +

    +hppExtField

    +
    +java.awt.TextField hppExtField
    +
    +
    +
    +
    +
    +

    +objExtLabel

    +
    +java.awt.Label objExtLabel
    +
    +
    +
    +
    +
    +

    +objExtField

    +
    +java.awt.TextField objExtField
    +
    +
    +
    +
    +
    +

    +makeCommandLabel

    +
    +java.awt.Label makeCommandLabel
    +
    +
    +
    +
    +
    +

    +makeCommandField

    +
    +java.awt.TextField makeCommandField
    +
    +
    +
    +
    +
    +

    +runCommandLabel

    +
    +java.awt.Label runCommandLabel
    +
    +
    +
    +
    +
    +

    +runCommandField

    +
    +java.awt.TextField runCommandField
    +
    +
    +
    +
    +
    +

    +terminalCommandLabel

    +
    +java.awt.Label terminalCommandLabel
    +
    +
    +
    +
    +
    +

    +terminalCommandField

    +
    +java.awt.TextField terminalCommandField
    +
    +
    +
    +
    +
    +

    +diagCommandLabel

    +
    +java.awt.Label diagCommandLabel
    +
    +
    +
    +
    +
    +

    +diagCommandField

    +
    +java.awt.TextField diagCommandField
    +
    +
    +
    +
    +
    +

    +browserCommandLabel

    +
    +java.awt.Label browserCommandLabel
    +
    +
    +
    +
    +
    +

    +browserCommandField

    +
    +java.awt.TextField browserCommandField
    +
    +
    +
    +
    +
    +

    +fileCheckinTypeLabel

    +
    +java.awt.Label fileCheckinTypeLabel
    +
    +
    +
    +
    +
    +

    +fileCheckinTypeChoice

    +
    +java.awt.Choice fileCheckinTypeChoice
    +
    +
    +
    +
    +
    +

    +fileCheckinDirectoryLabel

    +
    +java.awt.Label fileCheckinDirectoryLabel
    +
    +
    +
    +
    +
    +

    +fileCheckinDirectoryField

    +
    +java.awt.TextField fileCheckinDirectoryField
    +
    +
    +
    +
    +
    +

    +checkOutCommandLabel

    +
    +java.awt.Label checkOutCommandLabel
    +
    +
    +
    +
    +
    +

    +checkOutCommandField

    +
    +java.awt.TextField checkOutCommandField
    +
    +
    +
    +
    +
    +

    +checkInCommandLabel

    +
    +java.awt.Label checkInCommandLabel
    +
    +
    +
    +
    +
    +

    +checkInCommandField

    +
    +java.awt.TextField checkInCommandField
    +
    +
    +
    +
    +
    +

    +symLinkCommandLabel

    +
    +java.awt.Label symLinkCommandLabel
    +
    +
    +
    +
    +
    +

    +symLinkCommandField

    +
    +java.awt.TextField symLinkCommandField
    +
    +
    +
    +
    +
    +

    +checkInEverythingButton

    +
    +java.awt.Button checkInEverythingButton
    +
    +
    +
    +
    +
    +

    +autoCheckInCheckbox

    +
    +java.awt.Checkbox autoCheckInCheckbox
    +
    +
    +
    +
    +
    +

    +autoCheckOutCheckbox

    +
    +java.awt.Checkbox autoCheckOutCheckbox
    +
    +
    +
    +
    +
    +

    +fileCheckOutCheckbox

    +
    +java.awt.Checkbox fileCheckOutCheckbox
    +
    +
    +
    +
    +
    +

    +fileAsterixLabel

    +
    +java.awt.Label fileAsterixLabel
    +
    +
    +
    +
    +
    +

    +modulesList

    +
    +CountList modulesList
    +
    +
    +
    +
    +
    +

    +addModuleLabel

    +
    +java.awt.Label addModuleLabel
    +
    +
    +
    +
    +
    +

    +addModuleField

    +
    +java.awt.TextField addModuleField
    +
    +
    +
    +
    +
    +

    +current_fti

    +
    +rcsdesign.FileTypeInfo current_fti
    +
    +
    +
    +
    +
    +

    +text_file_needs_saving

    +
    +boolean text_file_needs_saving
    +
    +
    +
    +
    +
    +

    +list_modules_by_number

    +
    +boolean list_modules_by_number
    +
    +
    +
    +
    +
    +

    +default_version_control_type

    +
    +java.lang.String default_version_control_type
    +
    +
    +
    +
    +
    +

    +default_version_control_directory

    +
    +java.lang.String default_version_control_directory
    +
    +
    +
    +
    +
    +

    +default_version_control_checkout_command

    +
    +java.lang.String default_version_control_checkout_command
    +
    +
    +
    +
    +
    +

    +default_version_control_checkin_command

    +
    +java.lang.String default_version_control_checkin_command
    +
    +
    +
    +
    +
    +

    +default_version_control_symlink_command

    +
    +java.lang.String default_version_control_symlink_command
    +
    +
    +
    +
    +
    +

    +auto_checkin

    +
    +boolean auto_checkin
    +
    +
    +
    +
    +
    +

    +auto_checkout

    +
    +boolean auto_checkout
    +
    +
    +
    +
    +
    +

    +parentFrame

    +
    +java.awt.Frame parentFrame
    +
    +
    +
    +
    + +

    +


    + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + diff --git a/doc/javadoc/stylesheet.css b/doc/javadoc/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/doc/javadoc/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/doc/javaintf.html b/doc/javaintf.html new file mode 100644 index 0000000..58dc98c --- /dev/null +++ b/doc/javaintf.html @@ -0,0 +1,119 @@ + + +Java Interface to NML + + +

    Connecting to NML from languages (such as Java) other than C++ via sockets.

    +
    + +

    Introduction

    +

    When using languages other than C++ with NML, there are several problems. +The header files with the NML message definitions can not be included. The libraries for managing the NML communications are not available. In the case of +a Java applet the NML configuration file might also not be available. +One solution to this problem is to link together C++ code with +the code written in another language into a single program. This was the approach used in the EMC Graphical User Interface which is primarily written in +Visual Basic. Another approach is that the program written in non-C++ +connect via sockets to an NML server. However because the NML server has +many options writing the client might require a great deal of work to support +all the options. Here I will choose a set of options that simplifies the +interface for a Java client and describe how the client can be written. +

    +

    NML Configuration

    +

    On each buffer line for buffers remove any of the following if they were there: (TCP=?, UDP=?, ascii, xdr). +Then add "STCP=" to set the remote protocol to a simplified TC P protocol to the end of each buffer line. Unlike the normal TCP protocol, each +buffer must have a unique port. + Add "disp" to set the updater type to the ascii display type. +

    +

    Java Socket Code

    +

    +To open a connection create a new socket, making sure to match the host +and port from the NML configuration file. +

    +	String host = "giskard.cme.nist.gov";
    +	int port = 2001;
    +	Socket nmlsocket;
    +	nmlSocket = new Socket(host, port);
    +
    +

    +Then create a DataInputStream and DataOutputStream using that socket. +

    +
    +	DataOutputStream nmlOs;
    +	DataInputStream nmlIs;
    +	nmlOs = new DataOutputStream(nmlSocket.GetOutputStream);
    +	nmlIs = new DataInputStream(nmlSocket.GetInputStream);
    +
    +

    +To read from an NML buffer, write "read:\n" or "peek:" to +the DataOutputStream, then read a line from the DataInputStream. The line will +contain the NML message beginning with the type and size of the message and followed by members in the order the update functions are called. (The size indicates the size of the structure in C++ not the length of the string returned. -- Ignore it.) The parameters are separated by commas. Below is an example of how to parse this string. +

    +
    +	// Receive the current position.
    +	String nmlMsgString;
    +	long type;
    +	long size;
    +	float x;
    +	int index;
    +	nmlOs.writeBytes("read:\n");
    +	nmlMsgString = nmlIs.ReadLine();
    +	// nmlMsgString might look like this "8010,32,5.0,-25.0,0.7"
    +	type = (Long.valueOf(nmlMsgString)).longValue();
    +	index = nmlMsgString.indexOf(",");
    +	size = (Long.valueOf(nmlMsgString.substring(index))).longValue();
    +	index = nmlMsgString.indexOf(",",index);
    +	x = (Float.valueOf(nmlMsgString.substring(index))).floatValue();
    +
    +To write to a NML buffer send write "write:" or "write_if_read:" followed by the message in the same form as they are read in, beginning with the type and size followed by members separated by commas. It is not necessary to provide all of the members of the message. Members omitted from the end of the string will be considered to be zero. It is also not necessary to +calculate the size of the message, but a place holder is necessary if there are any other members to set in the string. +
    +	// Send the command to goto x,0,0
    +	nmlOs.writeBytes("8001,0," + (new Double(x)).toString());
    +
    + +

    A Complete Example

    +

    +This example consists of 3 programs: + +

      +
    1. A C++ pseudo controller +which accepts commands and updates a world model buffer. (wtimer.cc,timetype.cc, and timetype.hh)
    2. +
    3. A C++ server which passes messages back and forth between remote processes and the local buffers read and updated by the controller.(timesvr.cc,timetype.cc, and timetype.hh)
    4. +
    5. A Java Applet that sends +commands when buttons are pushed and polls the world model for display. +(socapplet.java and CountButton.java)
    6. +
    + +

    +The applet looks somewhat like a stopwatch. The controller doesn't have any +hardware to control so I simulate world model by just updating the time +in the world model buffer. Since we lack the computing resources here +to run a separate controller for each user that starts the applet, pressing +reset, start, or stop changes not only your display but also the display +of anyone else viewing this applet. +

    + +

    +Viewing the applet has been disabled as it +can't be supported on our new webserver.

    + + + +
    + +

    Last Modified: 08/25/99

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + diff --git a/doc/javaintf_old.html b/doc/javaintf_old.html new file mode 100644 index 0000000..8185f81 --- /dev/null +++ b/doc/javaintf_old.html @@ -0,0 +1,123 @@ + + +Java Interface to NML + + +

    Connecting to NML from languages (such as Java) other than C++ via sockets.

    +
    +
    + +A large change in the Java NML Interface is in the process of being +documented. The information in this file is essentially correct, but it +is insufficient to use with the new NML Code Generator. +. +
    +
    + +
    +

    Introduction

    +

    When using languages other than C++ with NML, there are several problems. +The header files with the NML message definitions can not be included. The libraries for managing the NML communications are not available. In the case of +a Java applet the NML configuration file might also not be available. +One solution to this problem is to link together C++ code with +the code written in another language into a single program. This was the approach used in the EMC Graphical User Interface which is primarily written in +Visual Basic. Another approach is that the program written in non-C++ +connect via sockets to an NML server. However because the NML server has +many options writing the client might require a great deal of work to support +all the options. Here I will choose a set of options that simplifies the +interface for a Java client and describe how the client can be written. +

    +

    NML Configuration

    +

    On each buffer line for buffers remove any of the following if they were there: (TCP=?, UDP=?, ascii, xdr). +Then add "STCP=" to set the remote protocol to a simplified TC P protocol to the end of each buffer line. Unlike the normal TCP protocol, each +buffer must have a unique port. + Add "disp" to set the updater type to the ascii display type. +

    +

    Java Socket Code

    +

    +To open a connection create a new socket, making sure to match the host +and port from the NML configuration file. +

    +	String host = "giskard.cme.nist.gov";
    +	int port = 2001;
    +	Socket nmlsocket;
    +	nmlSocket = new Socket(host, port);
    +
    +

    +Then create a DataInputStream and DataOutputStream using that socket. +

    +
    +	DataOutputStream nmlOs;
    +	DataInputStream nmlIs;
    +	nmlOs = new DataOutputStream(nmlSocket.GetOutputStream);
    +	nmlIs = new DataInputStream(nmlSocket.GetInputStream);
    +
    +

    +To read from an NML buffer, write "read:\n" or "peek:" to +the DataOutputStream, then read a line from the DataInputStream. The line will +contain the NML message beginning with the type and size of the message and followed by members in the order the update functions are called. (The size indicates the size of the structure in C++ not the length of the string returned. -- Ignore it.) The parameters are separated by commas. Below is an example of how to parse this string. +

    +
    +	// Receive the current position.
    +	String nmlMsgString;
    +	long type;
    +	long size;
    +	float x;
    +	int index;
    +	nmlOs.writeBytes("read:\n");
    +	nmlMsgString = nmlIs.ReadLine();
    +	// nmlMsgString might look like this "8010,32,5.0,-25.0,0.7"
    +	type = (Long.valueOf(nmlMsgString)).longValue();
    +	index = nmlMsgString.indexOf(",");
    +	size = (Long.valueOf(nmlMsgString.substring(index))).longValue();
    +	index = nmlMsgString.indexOf(",",index);
    +	x = (Float.valueOf(nmlMsgString.substring(index))).floatValue();
    +
    +To write to a NML buffer send write "write:" or "write_if_read:" followed by the message in the same form as they are read in, beginning with the type and size followed by members separated by commas. It is not necessary to provide all of the members of the message. Members omitted from the end of the string will be considered to be zero. It is also not necessary to +calculate the size of the message, but a place holder is necessary if there are any other members to set in the string. +
    +	// Send the command to goto x,0,0
    +	nmlOs.writeBytes("8001,0," + (new Double(x)).toString());
    +
    + +

    A Complete Example

    +

    +This example consists of 3 programs: + +

      +
    1. A C++ pseudo controller +which accepts commands and updates a world model buffer. (wtimer.cc,timetype.cc, and timetype.hh)
    2. +
    3. A C++ server which passes messages back and forth between remote processes and the local buffers read and updated by the controller.(timesvr.cc,timetype.cc, and timetype.hh)
    4. +
    5. A Java Applet that sends +commands when buttons are pushed and polls the world model for display. +(socapplet.java and CountButton.java)
    6. +
    + +

    +The applet looks somewhat like a stopwatch. The controller doesn't have any +hardware to control so I simulate world model by just updating the time +in the world model buffer. Since we lack the computing resources here +to run a separate controller for each user that starts the applet, pressing +reset, start, or stop changes not only your display but also the display +of anyone else viewing this applet. +

    + +
    View the Applet +
    + + +
    + +

    Last Modified: 03/25/97

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + diff --git a/doc/l64notes.html b/doc/l64notes.html new file mode 100644 index 0000000..2026655 --- /dev/null +++ b/doc/l64notes.html @@ -0,0 +1,34 @@ + + + + +NML 64bit long notes + + + + + +

    NML 64bit long notes

    + +

    Currently most C and C++ compilers use long integers that contain only 32 bits. Compilers for ia64 processors are the primary exception. The compilers for ia64 generally use 32 bits for normal integers (just as most other compilers do) and 64 bits for long integers. Java uses 64 bit longs on all processors. XDR, the eXternal Data Representation stores only 32 bits for longs. This means if you are on an ia64 bit machine and a long needs to be sent remotely that exceeds the range of a 32 bit integer (-2147483648, 21474836487) a run-time error will occur. If instead "packedl64" encoding were selected instead of XDR then 64 bits would be transfered and no error would occur on the sending side. However if the remote reciever ran on a system using 32bit longs and again the value exceeded the range of a 32 bit integer then a run-time warning would be logged, the value of that particular long would be undefined but the rest of the message would still be transfered. To force an error in this last case instead of a warning, one could also add "fail_on_overflow" to the buffer line. The error would still occur on the recieving side and not the sending side. Differences in byte order and differences in address offsets between sender and reciever caused both by different alignment rules and by the differences in the size of the basic data types are handled transparently by NML using either encoding scheme. Only the differences in range should application programmers be concerned about. +I have yet to make a decision or to thoroughly test the other encoding formats on the consequences of sending long integers that exceed the range of a 32 bit integer. An error/warning may occur on the sending side or the recieving side depending on the encoding method.

    +

    The "long double" type has always been problematic its size ranges from 80 bits to 128 bits. NML always converts first to 64 bit double before sending it. The range is checked and an error occurs when sending a value that +can not be represented in a 64 bit double. Unfortunately there is no way to check that the loss in precision is not significant, so it only makes sense to define long double's in messages that will either be passed between identical machines and use the "FORCE_RAW" option or will only be passed between local processes on the same system.

    + +

    Conclusion:

    + +

    The simplest rule to follow would be to assume it is only safe to send long integers that exceed the range of a 32-bit integer (-2147483648, 21474836487) if "packedl64" encoding is used and all processes are either running on machines that store long integers in 64 bits or they are written in Java.

    + +
    + +

    Last Modified: June 9,2004

    +

    If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + + diff --git a/doc/make.gif b/doc/make.gif new file mode 100644 index 0000000..30069e9 Binary files /dev/null and b/doc/make.gif differ diff --git a/doc/make2.gif b/doc/make2.gif new file mode 100644 index 0000000..387dd3a Binary files /dev/null and b/doc/make2.gif differ diff --git a/doc/mcps.cpp b/doc/mcps.cpp new file mode 100644 index 0000000..ed8011d --- /dev/null +++ b/doc/mcps.cpp @@ -0,0 +1,313 @@ +/* +mcps.cpp + +This C++ file defines member functions for the class MCPS_MODULE +It was generated with rcsdesign +with template version 1.0 + +MODIFICATIONS: +1-Dec-97 Modified with RCS-Design tool. +17-Nov-97 Modified with RCS-Design tool. +13-Nov-97 Modified with RCS-Design tool. +5-Nov-97 Modified with RCS-Design tool. +3-Nov-97 Modified with RCS-Design tool. +30-Oct-97 Modified with RCS-Design tool. +23-Oct-97 Modified with RCS-Design tool. +22-Oct-97 Modified with RCS-Design tool. +21-Oct-97 Modified with RCS-Design tool. +21-Oct-97 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "mcps.hpp" // MCPS_MODULE definitions +#include "mcpsn.hpp" // NML Commands and Status definitions for mcps +#include "mcexmon.hpp" // NML Commands and Status definitions for mcexmo +#include "mcexton.hpp" // NML Commands and Status definitions for mcexto + +// Auxilliary Input NML Message Files +#include "mcps_auxinn.hpp" // NML Messages for mcps_auxin + +// Auxilliary Output NML Message Files +#include "mcps_auxoutn.hpp" // NML Messages for mcps_auxout +#include "mcexmon.hpp" // NML Commands and Status definitions for mcexmo + +// Constructor +MCPS_MODULE::MCPS_MODULE() +{ + + // Set up NML Channels + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "mcps", "isam.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(mcpsFormat, "mcps_cmd", "mcps", "isam.nml")); + setStatChannel(new RCS_STAT_CHANNEL(mcpsFormat, "mcps_sts", "mcps", "isam.nml"), &mcps_status); + + mcexmo_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(mcexmoFormat, "mcexmo_cmd", "mcps", "isam.nml"), + new RCS_STAT_CHANNEL(mcexmoFormat, "mcexmo_sts", "mcps", "isam.nml")); + mcexmo_status = (MCEXMO_STATUS *) statusInData[mcexmo_sub_num]; + + mcexto_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(mcextoFormat, "mcexto_cmd", "mcps", "isam.nml"), + new RCS_STAT_CHANNEL(mcextoFormat, "mcexto_sts", "mcps", "isam.nml")); + mcexto_status = (MCEXTO_STATUS *) statusInData[mcexto_sub_num]; + + // Auxilliary Input NML Channels + //mcps_auxin + MCPS_AUXIN_CHANNEL = new NML(mcps_auxinFormat, "mcps_auxin", "mcps", "isam.nml"); + mcps_auxin_data = (MCPS_AUXIN_MSG *) MCPS_AUXIN_CHANNEL->get_address(); + + // Auxilliary Output NML Channels + //mcps_auxout + MCPS_AUXOUT_CHANNEL = new NML(mcps_auxoutFormat, "mcps_auxout", "mcps", "isam.nml"); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void MCPS_MODULE::PRE_PROCESS() +{ + + // Auxilliary Input NML Channels + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void MCPS_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case MCPS_INIT_TYPE: + INIT((MCPS_INIT *)commandInData); + break; + + case MCPS_HALT_TYPE: + HALT((MCPS_HALT *)commandInData); + break; + + case MCPS_HOME_TYPE: + HOME((MCPS_HOME *)commandInData); + break; + + case MCPS_MOVE_TYPE: + MOVE((MCPS_MOVE *)commandInData); + break; + + case MCPS_CUT_TYPE: + CUT((MCPS_CUT *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void MCPS_MODULE::POST_PROCESS() +{ + // Post-Processing Code + + // Auxilliary Output NML Channels +} + +// Command Functions + +/* +INIT + +Parameter(s): +MCPS_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void MCPS_MODULE::INIT(MCPS_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + MCEXMO_INIT mcexmoInitMsg; + MCEXTO_INIT mcextoInitMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&mcexmoInitMsg, mcexmo_sub_num); + sendCommand(&mcextoInitMsg, mcexto_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + mcexmo_status->status == RCS_DONE && + mcexto_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +MCPS_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void MCPS_MODULE::HALT(MCPS_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + MCEXMO_HALT mcexmoHaltMsg; + MCEXTO_HALT mcextoHaltMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&mcexmoHaltMsg, mcexmo_sub_num); + sendCommand(&mcextoHaltMsg, mcexto_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + mcexmo_status->status == RCS_DONE && + mcexto_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HOME + +Parameter(s): +MCPS_HOME *cmd_in -- NML Message sent from superior. + +*/ +void MCPS_MODULE::HOME(MCPS_HOME *cmd_in) +{ + // Put state table for MCPS_HOME here. +} + +/* +MOVE + +Parameter(s): +MCPS_MOVE *cmd_in -- NML Message sent from superior. + +*/ +void MCPS_MODULE::MOVE(MCPS_MOVE *cmd_in) +{ + // Put state table for MCPS_MOVE here. +} + +/* +CUT + +Parameter(s): +MCPS_CUT *cmd_in -- NML Message sent from superior. + +*/ +void MCPS_MODULE::CUT(MCPS_CUT *cmd_in) +{ + // Put state table for MCPS_CUT here. +} + + + + + + + + + + + + + + + + + + + diff --git a/doc/message_files.html b/doc/message_files.html new file mode 100644 index 0000000..36ccec6 --- /dev/null +++ b/doc/message_files.html @@ -0,0 +1,800 @@ + + + + +NML Message Files + + + + + + +

    NML Message Files

    + + + +

    Introduction

    + +

    Data logging and playback are very important during the development of intelligent systems especially in unstructured environments where simulation of sufficient accuracy is impractical. Ideally the logged data can be used to present a number of potential candidate algorithms the exact environment that it would have experienced had it been run when the data was collected. If the application gets all of itst inputs though NML this can be accomplished by writing the logged data back to the NML channels it was recorded from during data collection. For systems with a few scalar variables developers often wrote custom data logging code that would save the files in a text, CSV or XML file. Corresponding custom code to parse the files for playback also needed to be written. The advantage of these formats are that the data files are somewhat self documenting, can be read back on any platfrom rather than just the platfrom they are written from, and can be imported into various analysis or display tools. However when the data frames get larger the overhead of converting the data to ascii becomes more prohibitive. For some formats like CSV the self-documenting nature disappears since a text file with a list of 10 variables might have meaning but a list of 10,000 probably requires a more application specific display. There may also be a tendancy not to add all variables to the log file, which means default values have to be assumed during playback and performance during playback becomes more likely to be different than performance in the real world. Another approach is to simply write the binary data structure as stored in the programs memory out to disk. This is very simple and efficient, however the data can only be read back in reliably on the platform and in the same programming language as it was written with. If additional documentation is not kept with the data it may be impossible understand the format later. The approach here is to combine these using the data mashalling built into NML so that one could write the data with the simplicity and efficiency of dumping binary with the portability and openness of the text formats. +

    + +

    Notation

    + +

    I like lots of examples.

    + +
    +
    +
    +     Commands users are expected to enter at a command prompt will look like this.
    +
    +
    +
    + +
    +
    +
    +     Computer program generated example output will look like this.
    +
    +
    +
    + +
    +
    +
    +Text files listed in line look like this.
    +
    +
    +
    + +

    All of the example files referred to are in +rcslib_doc_examples.zip.

    + +

    C++ API

    + +

    +From the header file "nml.hh": +

    + +
    +
    +// ...
    +
    +class NML
    +{
    +
    +// ...
    +
    +
    +  /*
    +    Get a multi-line string that describes the offset to each variable 
    +    of the given message type and encoding method
    +    as well as other properties such as its type, whether it is an array or 
    +    dynamic length array. The first line is a header line and then one line
    +    for each variable with comma seperated fields.
    +    The buffer the string is written to may be overwritten by subsequent
    +    operations on this NML object and will be freed when this 
    +    NML object is deleted.
    +  */
    +  const char *getEncodedMessageMemoryMap(NMLmsg *nml_msgP,
    +					 const int encoding_method);
    +
    +
    +  /*
    +    Writes the string that would have been obtained with 
    +    getEncodedMessageMemoryMap to the file filename.
    +  */
    +  void writeEncodedMessageMemoryMapToFile(NMLmsg *nml_msgP,
    +					  const int encoding_method,
    +					  const char *filename);
    +
    +
    +  /*
    +    Get a multi-line string that describes the offset to each variable 
    +    of the given message type as stored in memory on this platform
    +    as well as other properties such as its type, whether it is an array or 
    +    dynamic length array. The first line is a header line and then one line
    +    for each variable with comma seperated fields.
    +    The buffer the string is written to may be overwritten by subsequent
    +    operations on this NML object and will be freed when this 
    +    NML object is deleted.
    +  */
    +  const char *getRawMessageMemoryMap(NMLmsg *nml_msgP);
    +
    +
    +  /*
    +    Writes the string that would have been obtained with 
    +    getRawMessageMemoryMap to the file filename.
    +  */
    +  void writeRawMessageMemoryMapToFile(NMLmsg *nml_msgP,
    +				      const char *filename);
    +
    +
    +  /* 
    +     Run the given nml_msg through the NML data marshalling using the given
    +     encoding_method but do not send it anywhere. 
    +     The encoded version of the data will be pointed to by encoded_data pointer
    +     and the size stored in encoded_size. The buffer encoded_data points to may
    +     be overwritten by subsequent operations on this NML object. The buffer will
    +     be freed when this NML object is deleted.
    +  */
    +  void msg_to_encoded_data(NMLmsg *nml_msg, 
    +		   void *&encoded_data, 
    +                   long &encoded_size,
    +		   const int  _encoding_method);
    +
    +  /* 
    +     Read a message file and pass the contents through 
    +     the NML data marshalling using the given
    +     encoding_method.
    +     Return a pointer to the decoded message that can then be cast to 
    +     a message pointer of the appropriate type.
    +     The buffer storing the message returned to may
    +     be overwritten by subsequent operations on this NML object. The buffer will
    +     be freed when this NML object is deleted.
    +  */
    +  NMLmsg *read_encoded_data_from_file (const char *filename, 
    +				       const int _encoding_method);
    +
    +  /* 
    +     Run the given nml_msg through the NML data marshalling using the given
    +     encoding_method and write the resulting encoded data to the file filaname. 
    +  */
    +  void write_encoded_data_to_file(NMLmsg *nml_msg, 
    +        const int _encoding_method, 
    +        const char *filename);
    +
    +
    +  /* 
    +     Pass the provided encoded_data through 
    +     the NML data marshalling using the given
    +     encoding_method.
    +     Return a pointer to the decoded message that can then be cast to 
    +     a message pointer of the appropriate type.
    +     The buffer storing the message returned to may
    +     be overwritten by subsequent operations on this NML object. The buffer will
    +     be freed when this NML object is deleted.
    +  */
    +  NMLmsg * encoded_data_to_msg(
    +		    void *encoded_data, 
    +		    long encoded_size,
    +		    const int _encoding_method);
    +
    +
    +// ... 
    +
    +};
    +
    +// ... 
    +
    +
    + +

    The encoding methods are listed in "cms_types.hh:

    + +
    +
    +// ...
    +
    +enum CMS_NEUTRAL_ENCODING_METHOD
    +{
    +  CMS_NO_ENCODING,
    +  CMS_XDR_ENCODING,
    +  CMS_ASCII_ENCODING,
    +  CMS_DISPLAY_ASCII_ENCODING,
    +  CMS_XML_ENCODING,
    +  CMS_PACKED_ENCODING,
    +  CMS_PACKEDL64_ENCODING
    +};
    +
    +// ...
    +
    +
    + + +

    Simple DATA Logger

    + +

    The following provides an extremely simple data logger using the +API. (Extending the example from NMLcpp.html)

    + +

    simple_data_logger.cc:

    + +
    +
    +
    +#include "nml_ex1.hh"
    +
    +int main()
    +{
    +  NML nml(ex_format,"ex_buf1","simple_data_logger","ex_cfg.nml");
    +
    +  nml.read();
    +  nml.write_encoded_data_to_file(nml.get_address(),
    +				 CMS_PACKED_ENCODING,
    +				 "ex_msg_file.EXAMPLE_MSG_TYPE");
    +}
    +
    +
    + +

    Compile and run with:*

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Create nml_ex1.cc from nml_ex1.hh
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
    +
    +## Compile examples:
    +g++ nml_ex9.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex9
    +g++ nml_ex4.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex4
    +g++ nml_ex3.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex3
    +g++ simple_data_logger.cc nml_ex1.cc -I "${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o simple_data_logger
    +
    + ## NML server
    +./nml_ex9 &
    +
    +##  write something into the buffer.
    +./nml_ex4; 
    +
    +## Log the data from the nml buffer to a file.
    +./simple_data_logger ;
    +
    +## Kill the previously spawned server
    +killall -INT nml_ex9
    +
    +
    +
    + +

    This should create a file named "ex_msg_file.EXAMPLE_MSG_TYPE".

    + +

    Simple DATA Playback

    + +

    The following provides a very simple program to playback the data recorded with the previous example: simple_data_playback.cc

    + +
    +
    +
    +#include "nml_ex1.hh"
    +
    +int main()
    +{
    +  NML nml(ex_format,"ex_buf1","simple_data_playback","ex_cfg.nml");
    +
    +  nml.write(nml.read_encoded_data_from_file("ex_msg_file.EXAMPLE_MSG_TYPE",
    +					    CMS_PACKED_ENCODING));
    +}
    +
    +
    + +

    It could be run with something like the following:*

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Create nml_ex1.cc from nml_ex1.hh
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
    +
    +## Compile examples:
    +g++ nml_ex9.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex9
    +g++ nml_ex4.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex4
    +g++ nml_ex3.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex3
    +g++ simple_data_playback.cc nml_ex1.cc -I "${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o simple_data_playback
    +
    + ## NML server
    +./nml_ex9 &
    +
    + ## Write the file "ex_msg_file.EXAMPLE_MSG_TYPE" back to the NML buffer.
    +./simple_data_playback ;
    +
    +##  Read the NML buffer and do something with it.
    +./nml_ex3; 
    +
    +## Kill the previously spawned server
    +killall -INT nml_ex9
    +
    +
    +
    + +

    Running nml_ex3 should produce:

    + +
    +
    + We have a new example message. 
    + The value of its members are:
    +  f=123.456001, c=c, i=99
    +
    +
    + +

    The point of this somewhat silly exercize is that now we can produce as many versions of nml_ex3 as we want and test them against the same data produced on the real system. The tests can be performed on pretty much any computer without the risks or hassles of running on the real system, and without the development costs of creating a simulator. When the ideal nml_ex3 is finally found it should be ready to be compiled to run on the real system without modification. Of course a more complicated logger and playback system would probably log and playback a series of messages rather than just one but that is easily enough added with a simple while loop.

    + +

    Examine the logged data

    + +

    There are several options for examining the logged data. Using the playback program as in the previous example is one. Another is to write a custom viewer such as the following examine_logged_data.cc:

    + +
    +
    +
    +#include "nml_ex1.hh"
    +
    +int main(int argc, const char **argv) 
    +{
    +  if(argc < 2)
    +    {
    +      rcs_print_error("Need filename argument.\n");
    +      rcs_exit(1);
    +    }
    +
    +  NML nml(ex_format, 0,0,0);
    +  EXAMPLE_MSG *example_msg_ptr = ( EXAMPLE_MSG *)
    +    nml.read_encoded_data_from_file(argv[1],
    +				    CMS_PACKED_ENCODING);
    +	
    +  rcs_print(" %s:. \n");
    +  rcs_print(" The value of its members are:\n ");
    +  rcs_print(" f=%f, c=%c, i=%d\n ",
    +	    example_msg_ptr->f,
    +	    example_msg_ptr->c,
    +	    example_msg_ptr->i);
    +}
    +
    +
    + +

    Compile and run with:*

    + + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Create nml_ex1.cc from nml_ex1.hh
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
    +
    +## Compile examples:
    +g++ examine_logged_data.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o examine_logged_data
    +
    +## Display the logged data.
    +./examine_logged_data ex_msg_file.EXAMPLE_MSG_TYPE
    +
    +
    +
    + +

    .. should produce:

    + +
    +
    + ex_msg_file.EXAMPLE_MSG_TYPE:. 
    + The value of its members are:
    +  f=123.456001, c=c, i=99
    +
    +
    + +

    The most interesting thing about the example is that it passes 0,0,0 as the last three arguments to the NML constructror. This means there is no need for an NML config file or server and no shared memory segments or sockets used. The NML channel is being used only to read the file. Of course this viewer was hardly worth the trouble since it just prints some variable values out that could easily be obtained with either of the next two methods without writing any code.

    + +

    View the logged data using the diag tool.

    + +

    To tell the diagnostics tool display a message file at startup:

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +java -jar "${RCSLIB_DIR}"/bin/diag_NB.jar input_headers=nml_ex1.hh message_files=ex_msg_file.EXAMPLE_MSG_TYPE
    +
    +
    + +

    The message_files and input_headers can both be set to a list of files. +The files should be seperated with ':' on Unix/Linux and with ';' on MS Windows. +The message_files lists the files to display while the input headers is the list of C++ header files which define those messages.

    + +

    Screen shot showing message file in diag tool.

    + +

    Obtaining the memory map.

    + +

    The memory map file provides the information needed to determine the position of each variable in the file. The first character in the file is either 'L' (0x4c) to indicate the file is little-endian or 'B' (0x42) to indicate the file is big-endian. It can be read with a text-editor or opened with a spread sheet program. To generate the file write a program such as this "write_mem_map.cc"which really only needs to be run once.

    + + +
    +
    +#include "nml_ex1.hh"
    +
    +int main(int argc, const char **argv) 
    +{
    + NML nml(ex_format, 0,0,0);
    + EXAMPLE_MSG example_msg;
    + 
    + nml.writeEncodedMessageMemoryMapToFile(&example_msg,
    +					CMS_PACKED_ENCODING,
    +					"EXAMPLE_MSG_TYPE_map.csv");
    +}
    +
    +
    + +

    To compile and run:

    + + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Create nml_ex1.cc from nml_ex1.hh
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
    +
    +## Compile examples:
    +g++ write_mem_map.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o write_mem_map
    +
    +./write_mem_map
    +
    +
    + +

    This produces the following file "EXAMPLE_MSG_TYPE_map.csv":

    + +
    + + + + + + + + + + + + + + + + +
    typenamesizeoffsetelsizearraylenoffset_fromdla_maxlencomment
    long,type,4,1,4,0,,0,,
    long,size,4,5,4,0,,0,,
    double,d,8,9,8,0,,0,,
    float,f,4,17,4,0,,0,,
    char,c,1,21,1,0,,0,,
    short,s,2,22,2,0,,0,,
    int,i,4,24,4,0,,0,,
    long,l,4,28,4,0,,0,,
    uchar,uc,1,32,1,0,,0,,
    ushort,us,2,33,2,0,,0,,
    uint,ui,4,35,4,0,,0,,
    ulong,ul,4,39,4,0,,0,,
    int,da_length,4,43,4,0,,0,#dynamic_length,
    double_array,da,8,47,0,20,,20,#dynamic_length_array,
    +
    + +

    The first field is the C type of each variable. The second field is the name of the variable. The next field is the size of the variable. For static arrays this will be the size of the entire array for dynamic length arrays it is the size of only the first element. The offset is either an offset from the begininning or the file (in which case the offset from field will be blank) or the offset to the end of the last dynamic length array (in which case the offset from field will list this variable). For static arrays the next field lists the size of one element in the array. If there are no dynamic length arrays in the message or only one at the end the next field is blank indicating that the offsets are from the beginning of the file. Dynamic length arrays that have a maximum length list the value in the next field. Finally a comment field indicates the beginning and end of dynamic length arrays.

    + +

    nml_packed_file_to_csv

    + +

    The program nml_packed_file_to_csv can be used to display the values of each variable and also computes the final offsets given the current lengths of any dynamic length arrays.

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +"${RCSLIB_DIR}/bin/nml_packed_file_to_csv" EXAMPLE_MSG_TYPE_map.csv ex_msg_file.EXAMPLE_MSG_TYPE
    +
    +
    +
    + +

    produces:

    + +
    +
    +running_on_big_endian = 0
    +file_is_big_endian = 0
    +swap_byte_order=0
    +0x0001,	        long,	                          type,	101
    +0x0005,	        long,	                          size,	208
    +0x0009,	      double,	                             d,	0.000000
    +0x0011,	       float,	                             f,	1.234560e+02
    +0x0015,	        char,	                             c,	c (99,0x63)
    +0x0016,	       short,	                             s,	0
    +0x0018,	         int,	                             i,	99
    +0x001C,	        long,	                             l,	0
    +0x0021,	      ushort,	                            us,	0
    +0x0023,	        uint,	                            ui,	0
    +0x0027,	       ulong,	                            ul,	0
    +0x002B,	         int,	                     da_length,	0
    +
    +
    + +

    Upgrading the Format

    + +

    Often after data has been collected a decision is made to change the format of the message that was stored. The data collected in the old format represents a substantial data collection and testing effort. To use the old data with new programs it needs to be updated. Converting to XML and back is one way of accomplishing that. In nml_ex1_v2.hh the EXAMPLE_MSG class was modified to remove the first variable d and add an additional variable name at the end and thus changing the offset to every variable.

    + +

    ex_packed_to_xml.cc includes and links with the old header and format function to convert the packed file to xml.

    + +
    +
    +#include "nml_ex1.hh"
    +
    +int main(int argc, const char **argv)
    +{
    +  if(argc != 3)
    +    {
    +      rcs_print_error("run with packed_file xml_file\n");
    +      rcs_exit(1);
    +    }
    +
    +  NML nml(ex_format,0,0,0);
    +  
    +  nml.write_encoded_data_to_file(
    +				 nml.read_encoded_data_from_file(argv[1],CMS_PACKED_ENCODING),
    +				 CMS_XML_ENCODING,
    +				 argv[2]);
    +}
    +
    +
    + +

    ex_v2_xml_to_packed.cc includes the new header and links with the new format function to convert the XML back to the packed format.

    + +
    +
    +#include "nml_ex1_v2.hh"
    +
    +int main(int argc, const char **argv)
    +{
    +  if(argc != 3)
    +    {
    +      rcs_print_error("run with xml_file packed_file\n");
    +      rcs_exit(1);
    +    }
    +
    +  NML nml(ex_format,0,0,0);
    +  
    +  nml.write_encoded_data_to_file(
    +				 nml.read_encoded_data_from_file(argv[1],
    +								 CMS_XML_ENCODING),
    +				 CMS_PACKED_ENCODING,
    +				 argv[2]);
    +}
    +
    +
    + +

    Compile and perform the conversion using the following:*

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Generate nml_ex1.cc and nml_ex1_v2.cc
    +## Note the addition of generate_symbol_lookups=true which is needed anytime you 
    +## use XML related functions.
    +
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar generate_symbol_lookups=true nml_ex1.hh -o nml_ex1.cc
    +
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar generate_symbol_lookups=true nml_ex1_v2.hh -o nml_ex1_v2.cc
    +
    +## Complile the examples.
    +g++ ex_packed_to_xml.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o ex_packed_to_xml
    +
    +g++ ex_v2_xml_to_packed.cc nml_ex1_v2.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o ex_v2_xml_to_packed
    +
    +## Convert the OLD format packed file to XML
    +./ex_packed_to_xml ex_msg_file.EXAMPLE_MSG_TYPE ex_msg_file.xml
    +
    +## Convert the XML file to the new format
    +./ex_v2_xml_to_packed ex_msg_file.xml ex_v2_msg_file.EXAMPLE_MSG_TYPE
    +
    +## Display the new file to check it.
    +java -jar "${RCSLIB_DIR}"/bin/diag_NB.jar input_headers=nml_ex1_v2.hh message_files=ex_v2_msg_file.EXAMPLE_MSG_TYPE
    +
    +
    +
    + +

    Variable that were added since the version change will be set to zero, variables common to both versions have transferred the values. Deleted variables are gone without affecting the rest of the structure.

    + +

    Java API

    + +

    The two classes "rcs.nml.PackedFileReader" and "rcs.nml.PackedFileWriter" provide the interface to read and write these files from within a java program.

    + +

    The first example reads the file similiar to examine_logged_data.cc is called pfr_ex.java:

    + +
    +
    +import rcs.nml.PackedFileReader;
    +
    +public class pfr_ex
    +{    
    +    static public void main(String args[])
    +    {
    +	PackedFileReader pfr = new PackedFileReader(new exampleMsgDict(),false);
    +	EXAMPLE_MSG ex_msg = (EXAMPLE_MSG) pfr.ReadFile(args[0]);
    +	System.out.println("ex_msg.f="+ex_msg.f);	
    +	System.out.println("ex_msg.c="+Character.toString((char)ex_msg.c));	
    +	System.out.println("ex_msg.i="+ex_msg.i);
    +    }
    +}
    +
    +
    + +

    Compile and run with:*

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the class path for java compiler and run time.
    +CLASSPATH="${RCSLIB_DIR}"/bin/rcs.jar:.;
    +export CLASSPATH;
    +
    +## Generate exampleMsgDict.java and EXAMPLE_MSG.java
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o exampleMsg.java
    +
    +## Compile to produce java byte code .class files.
    +javac pfr_ex.java EXAMPLE_MSG.java exampleMsgDict.java
    +
    +## Run the compiled file.
    +java pfr_ex ex_msg_file.EXAMPLE_MSG_TYPE
    +
    +
    +
    + +

    It should produce:

    + +
    +
    +ex_msg.f=123.456
    +ex_msg.c=c
    +ex_msg.i=99
    +
    +
    + +

    Finally an example that writes the data read from the ex_buf1 channel pfw_ex.java

    + +
    +
    +import rcs.nml.PackedFileWriter;
    +import rcs.nml.NMLConnection;
    +
    +public class pfw_ex
    +{    
    +    static public void main(String args[]) throws Exception
    +    {
    +	NMLConnection nml = new NMLConnection(new exampleMsgDict(),
    +					     "ex_buf1",
    +					     "pfw_ex",
    +					     "ex_cfg.nml");
    +	PackedFileWriter pfw = new PackedFileWriter(new exampleMsgDict(),false);
    +	pfw.WriteFile(args[0],nml.read());
    +    }
    +}
    +
    +
    + +

    Compile and run with:*

    + +
    +
    +
    +## Set RCS lib install directory.
    +## likely needs to adjusted for your system.
    +RCSLIB_DIR=~/rcslib/; 
    +
    +## Set the path for finding librcs.so
    +LD_LIBRARY_PATH="${RCSLIB_DIR}/lib/:${LD_LIBRARY_PATH}";
    +export LD_LIBRARY_PATH;
    +
    +## Create nml_ex1.cc from nml_ex1.hh
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o nml_ex1.cc
    +
    +## Compile examples:
    +g++ nml_ex9.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex9
    +g++ nml_ex4.cc nml_ex1.cc -I"${RCSLIB_DIR}"/include -L "${RCSLIB_DIR}"/lib -lrcs -o nml_ex4
    +
    +## Set the class path for java compiler and run time.
    +CLASSPATH="${RCSLIB_DIR}"/bin/rcs.jar:.;
    +export CLASSPATH;
    +
    +## Generate exampleMsgDict.java and EXAMPLE_MSG.java
    +java -jar "${RCSLIB_DIR}"/bin/CodeGenCmdLine.jar nml_ex1.hh -o exampleMsg.java
    +
    +## Compile to produce java byte code .class files.
    +javac pfw_ex.java EXAMPLE_MSG.java exampleMsgDict.java
    +
    + ## NML server
    +./nml_ex9 &
    +
    +##  write something into the buffer.
    +./nml_ex4; 
    +
    +## Run java program to copy the message from the buffer into the file .
    +java pfw_ex ex_msg_file_from_java_pfw.EXAMPLE_MSG_TYPE
    +
    +## Kill the previously spawned server
    +killall -INT nml_ex9
    +
    +
    +
    + + +

    *Commands are generally appropriate for Linux/Unix/MacOS by just pasting them into a terminal. For Windows install Cygwin and Java Develeper's Kit, set the PATH to add the JDK dir and paste the commands into cygwin.

    + + + + diff --git a/doc/mods.html b/doc/mods.html new file mode 100644 index 0000000..358b880 --- /dev/null +++ b/doc/mods.html @@ -0,0 +1,72 @@ + + +RCS LIBRARY MODIFICATIONS + + + + + + + + + + + + + + + + + + +
    DATEVERSIONPLATFORMCOMMENT
    Wed Oct 11 10:11:11 EDT 2000 4.37 linux_2_2_14 +Modify inifile function to remove trailing whitespace from variable values, enates problems with dosified ini files. +. +
    Fri Sep 22 11:36:10 EDT 2000 4.35 rtlinux_2_2 +a number of minor bug-fixes. nmlcfg should not complain about retry, +semaphore timeout more accurate and not cause compile warning., compile with NO_RTL for linux boxes without rtlinux. +. +
    Fri Sep 22 11:11:09 EDT 2000 4.35 sunos5 +a number of minor bug-fixes. nmlcfg should not complain about retry, +semaphore timeout more accurate and not cause compile warning., compile with NO_RTL for linux boxes without rtlinux. +. +
    Fri Sep 22 10:56:46 EDT 2000 4.35 sunos_5_6 +a number of minor bug-fixes. nmlcfg should not complain about retry, +semaphore timeout more accurate and not cause compile warning., compile with NO_RTL for linux boxes without rtlinux. +. +
    Fri Sep 22 10:39:05 EDT 2000 4.35 linux_2_2_14 +a number of minor bug-fixes. nmlcfg should not complain about retry, +semaphore timeout more accurate and not cause compile warning., compile with NO_RTL for linux boxes without rtlinux. +. +
    Fri Sep 22 10:16:36 EDT 2000 4.35 linux_2_2_14 +a number of minor bug-fixes. nmlcfg should not complain about retry, +semaphore timeout more accurate and not cause compile warning., compile with NO_RTL for linux boxes without rtlinux. +. +
    Wed Aug 30 16:14:47 EDT 2000 4.34 java +fixing a problem with the missing jarInfo.txt files +. +
    Wed Aug 30 16:09:10 EDT 2000 4.34 java1_2 +fixing a problem with the missing jarInfo.txt files +. +
    Tue Aug 29 14:17:11 EDT 2000 4.33 java1_2 +The NML CodeGen program was fixed so that it won't generate a cast from +enum to int that won't passed the latest hyper-picky version of gcc. +. +
    Wed Jul 26 11:24:17 EDT 2000 4.31 linux_2_2_14 +We need to test the new install script since directories changed and the +change from local RCS to sourceforge CVS. +Some mods Fred made accidentally last Friday need to be undone. +I am adding some additional logging to the TCP server and client code in +hopes of being able to solve some serial number mismatch problems. +rcs_print_debug adds a pid and time stamp to each line. +. +
    Tue Jul 25 16:22:01 EDT 2000 4.30 linux_2_2_14 +We need to test the new install script since directories changed and the +change from local RCS to sourceforge CVS. +Some mods Fred made accidentally last Friday need to be undone. +I am adding some additional logging to the TCP server and client code in +hopes of being able to solve some serial number mismatch problems. +. +
    + + \ No newline at end of file diff --git a/doc/more_for_option_1.c b/doc/more_for_option_1.c new file mode 100644 index 0000000..45731c8 --- /dev/null +++ b/doc/more_for_option_1.c @@ -0,0 +1,211 @@ +From szabo@cme.nist.gov Mon Aug 8 14:50:45 1994 +Return-Path: +Received: from cme.nist.gov (durer.cme.nist.gov) by stella.cme.nist.gov (4.1/SMI-3.2-del.7) + id AA14122; Mon, 8 Aug 94 14:50:44 EDT +Received: from stella.cme.nist.gov by cme.nist.gov (4.1/SMI-3.2-del.8) + id AA01004; Mon, 8 Aug 94 14:50:31 EDT +Received: from cme.nist.gov (quickmail.cme.nist.gov) by stella.cme.nist.gov (4.1/SMI-3.2-del.7) + id AA14117; Mon, 8 Aug 94 14:50:41 EDT +Message-Id: <9408081850.AA14117@stella.cme.nist.gov> +Date: 8 Aug 1994 14:50:09 -0500 +From: "Sandor Szabo" +Subject: Re: recent controller node +To: "Will Shackleford" +Cc: huang@cme.nist.gov, legowik@cme.nist.gov, + "John Michaloski" , proctor@cme.nist.gov +Content-Length: 7855 +X-Lines: 191 +Status: RO + + Reply to: RE>>recent controller node i +I just love written debates. {For those who don't give a rat's derriere, skip +the rest of this message.} +>>> My comments <<< are listed below. + +-------------------------------------- +Date: 8/8/94 11:06 AM +To: Sandor Szabo +From: Will Shackleford +---------- +X-Sun-Data-Type: text +X-Sun-Data-Description: text +X-Sun-Data-Name: text +X-Sun-Content-Lines: 1 + + +---------- +X-Sun-Data-Type: default +X-Sun-Data-Name: OI_arguments +X-Sun-Content-Lines: 87 + + + +I would like to summarize my arguments against option C of issue 1. + +>>> In summary, options a, b, and c are all valid. Option c addresses the case +where a planner decides when an operator interaction is required, not a generic +OIfunction. If there are functions that are common to all OI's , then they +should go in a generic OIfunction. I believe you have a good list of some of +those functions, other functionality may be premature (see comments below). +Why don't you propose a first set of functionality and we can all agree on +them.<<< + +I will illustrate using the following example for each point. + +EXAMPLE: +The designer is first told to develop a controller that will allow a person +with one of those old Atari joysticks to control a toy train. The output of +the joystick is to floats corresponding to the deflection in the x and y +directions. (called Jx and Jy) + +If she uses method a or b she would develop a node with a command like +move_train at velocity Vx(a command parameter), and an operator interface +module that converts deflections on the joystick to move_train command. The +control +code will see a move_train command from the operator the same as a move_train +command from above. + +the OI would include something like + +Vx = Jx * Joystick_scale_factor; + + +and the control code would produce a voltage for a digital to analog converter +that(Vdac) drives the train that would look something like + +Vdac = Vx* Velocity_to_Voltage; + +If she uses method c she would develop a single joystick planner in a node that +get a follow_joystick command with something like + +Vdac = Jx * Joystick_to_Voltage; + + + +1. Separate the control of OI devices from the control of Robot Control +Devices. + +There should be a large variety of OI devices that can allow the operator to +see or enter the same type of information. (Ex: Most modern programs let me +choose whether to use the mouse to choose commands from a menu or to enter +control keys ) + +If in our example we decided to use the arrow keys on a keyboard to replace the +joystick and we used either method a or b. + +Then we only need to replace the OI module to produce something like + +switch(key) +{ +case UP_ARROW; + Vx = +VELOCITY; +case DOWN_ARROW; + Vx = -VELOCITY; +} + +We don't have to know anything about the joystick OI that we are replacing and +we only have to know the published command interface for the control section of +the node. + +However if we used method c we would have to search through the control code +for references to joystick variables and to know how our new code should +operate it is likely that we would have to understand the joystick we were +replacing. + +>>> Yes I agree. In the example code I presented there is a clear separation +between the planner and the OI software. OI devices can be easily swapped as +long as the interfaces are consistent. The question was whether the OI +specific software developed for a planner should be separated again and placed +into a generic OIfunction that resides in the Node. <<< + +2. Allow superior control modules to reuse control code developed for OI +modules. + +Both operators and superior modules are clients of the the node, they request +that the node perform certain tasks, sometimes these tasks may be different but +much more often they will overlap. In fact it is the amount of overlap that can +be achieved that should dictate with which node an operator interacts. + +In this example if method a or b was used nothing has to be done to the node at +all, but if method c was used a new planner intended to be used by a superior +module must now be developed. + +>>> From our previous discussions, I believe you are proposing that every +operator input message be treated as a new command, i.e., the interface to the +superior is identical to the operator interface. This is a good idea sometimes +(for example at the top of the hierarchy where the only superior is the +operator). At lower levels there are many pitfalls to beware of. The superior +may become out of sync with the subordinate. Also sending a new command when a +planner requires operator input will cause the current planner to be +interrupted, its state saved, and then restarted (by a new command from the +operator?). This may be more difficult to program. <<< + + +3. Allow OI modules to reuse control code developed for superior control +modules. + +The reuse can also go the other way, if the control node were given a command +like goto_point_on_track using either a or b the OI could be modified +immediately to take advantage of this. Using method c we would need to write an +entirely new planner that gets the point form the operator. + +>>>Hopefully you wouldn't have to write an entirely new planner. Again, I +propose an interface between the planner and the OI software. If everyone met +the syntax and behavior of the interface, there would only be code to switch +the source of the command. This is what I did at the Emove level.<<< + +4. Allow multiple OI modules for either multiple operators, multiple locations +for the operator or multiple types of OI devices to be used simultaneously. + +A planner developed with a single OI in mind is hard to change to handle if +method c is chosen, however if either method a or b is used the control planner +sees only a single command message at any time regardless of whether that +message +comes from the same source every time or from a different source every cycle. + +>>> In any approach, as long as the interface meets the specification, you can +have multiple anythings. Again, approach C only states that "all" OI code +dosn't go into a generic OIfunction. <<< + +5. Allow the systems team to provide more generic utilities. + +If all of the OI is done using modules with a consistent interface there is a +great deal more that the systems team can do. (Utilities for controlling when +OI requests are accepted, linked lists of multiple oi interfaces, opening and +closing communications channels, spawning CMS servers) However if OI is +scattered throughout the control planners there is less that can be done +"generically". + +>>> OI isn't scattered thoughout, it exists in clearly defined places in +conjunction with the specifics of a given planner. The main advantage in C is +that the planner decides when the OI interactions takes place, not the generic +OIfunction. <<< + +6. Seperate OI and control modules should make each smaller and simpler. +>>><<< + +Conclusion: + +I believe that all three types of OI from Sandor's message can be handled with +either a or b. So I would suggest the following OI policy. + + +1. We will not do anything that specifically prevents an applications +programmer from using method c, but if they do they will not have the same +level of support in the node class as if they had used a or b. + +2. We should investigate trying to use methods a and b in as many different +types of OI interactions as possible to see if we can actually identify a type +of OI where method c really has significant advantages. (In other words, try a +or b first.) + +>>> a, b or c are all viable options. Most of the utilities you described look +good, and I hope we can use them in any of the options. I am concerned about +treating all operator messages as commands and how that will affect the +complexity of planners. You should give some thought before you spend alot of +time on it. Any comments from other implementors?<<< + + + + + diff --git a/doc/myconf.xml b/doc/myconf.xml new file mode 100644 index 0000000..3b3f6fd --- /dev/null +++ b/doc/myconf.xml @@ -0,0 +1,9 @@ + + + + + 0.99 + 0.01 + 0.02 + + diff --git a/doc/myconf.xsd b/doc/myconf.xsd new file mode 100644 index 0000000..8067ef9 --- /dev/null +++ b/doc/myconf.xsd @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/myconf.xsl b/doc/myconf.xsl new file mode 100644 index 0000000..a69c266 --- /dev/null +++ b/doc/myconf.xsl @@ -0,0 +1,20 @@ + + + + + +My Configuration + + + + + + + +
    GainValue
    Proportional
    Integral
    Derivative
    + + + +
    +
    diff --git a/doc/myhosts b/doc/myhosts new file mode 100644 index 0000000..7ffe69d --- /dev/null +++ b/doc/myhosts @@ -0,0 +1,4 @@ +# Set host aliases. +define host1=localhost + + diff --git a/doc/netscape-myconf-xml.png b/doc/netscape-myconf-xml.png new file mode 100644 index 0000000..850ff10 Binary files /dev/null and b/doc/netscape-myconf-xml.png differ diff --git a/doc/newnmlcfg-Oct-1999.html b/doc/newnmlcfg-Oct-1999.html new file mode 100644 index 0000000..f3aa1bb --- /dev/null +++ b/doc/newnmlcfg-Oct-1999.html @@ -0,0 +1,260 @@ + + +Version 2.0 NML Configuration Files + + + +

    The Version 2.0 NML Configuration File Format and Tool

    + +

    Background

    + +

    The version 1 configuration file format described in "Writing NML Configuration Files" has remained stable since 1995 except for some rarely used options that can be placed at the end of buffer and process lines . That format is also the only format that NML constructors can +currently use directly and it is the format generated by the +NML Configuration File Builder (a +CGI script and HTML form) and by the RCS Design Tool (a Java application).

    +

    In May 1999, the configuration format described here was proposed. The goals for this new configuration format were the following:

    +
      +
    • Easier for multiple organizations to share configuration files.
    • +
    • Less verbose files made possible by allowing users to specify only items that need to be different than the default.
    • +
    • Fewer errors caused by novice users.
    • +
    • Eliminate some tedious tasks.
    • +
    +

    The version 2 configuration format is supported only through a tool that takes files written in the new format and produces files in the older format. These files can then be used in an application in the same way as files written by hand in the older format or generated by one of the graphical tools.

    +

    The reader for this document is expected to be familiar with either C++ or Java, the NML Programmer's Guide, C++ Version/Java Version, and with the the older configuration file format.

    + + +

    Configuration File Line Types

    + +

    The new configuration files are ASCII text files, that contain eight different types of lines that can be idenfied by the first character or word on the line:

    + + + +

    + + + + + + + + + + + + + + + + + + + +
    +

    Starting Word or Character +

    +

    Line Description. +

    +

    # +

    +

    Comment Lines have no effect on the output file. +

    +

    ## +

    +

    Insert lines have the same effect as regular comment + lines except that they are inserted as comments in the + output file. +

    +

    include +

    +

    Include lines cause the contents of another file to be + read as if the text were included at that point in the + original file. +

    +

    define +

    +

    Definition lines define a variable that can be used + through the rest of the file, by preceding the variable name + with "$" and surrounding it with parentheses "( )" like this "$(varname)" + . +

    +

    buffer_default +

    +

    Buffer Default lines set defaults that affect buffer + lines that occur after this line. +

    +

    b +

    +

    Buffer lines begin with must contain "name=" and + the name of the buffer somewhere on the line. These lines + are used to create and entry for a particular buffer. +

    +

    process_default +

    +

    Process Default lines set defaults that affect process + lines that occur after this line. +

    +

    p +

    +

    Process lines must contain either "name=" or + "bufname=" somewhere on the line and are used to + create an entry linking a particular process to a particular + buffer. For proper checking process lines must occur after + the buffer line for the buffer the process is connecting to. + +

    + +

    Buffer Variables

    + +

    The following variables with the exception of "name" can be set either on a buffer line to modify only one buffer or on a buffer default line to affect several buffers:

    + +
    +
    name
    +
    The name used as an argument to the NML constructor in the C++ or Java code. It must be unique. There is no default value, this variable must be set on each line with a "b ".
    +
    buftype
    +
    The type of buffer to create which can be shmem,globmem,filemem,locmem or phantom. The default value is shmem.
    +
    host
    +
    The host name where a server must be run if any processes are going to connect remotely. The default value is localhost.
    +
    size
    +
    The size of the largest message that can be sent to the buffer. The amount of memory allocated will be slightly larger than this to accomodate some handshaking flags. The default value is 960.
    +
    neutral
    +
    Whether the local buffer should be neutrally encoded. Buffers should be neutrally encoded if they can be accessed by multiple CPU types by a Bit3 adaptor for example or to force messages to go through format and update functions that significantly reduces message size such as when variable length arrays are used. Messages are always neutrally encoded when sent over a network. The default value is false.
    +
    bufnumber
    +
    A unique number used to identify the buffer within a server. The default value is calculated based on the position of the buffer line in the file. If its default value is modified with a default buffer line the default value for subsequent lines will still be incremented from this starting value.
    +
    max_proc
    +
    The maximum number of processes that can connect to a buffer locally. It does not affect remote processes or shmem buffers using the default mutual exclusion mechanism. The default value is calculated based on the number of processes connecting to this buffer.
    +
    key
    +
    A unique number used to identify the shared memory and semaphore used for mutual exclusion in a shared memory buffer. It is relavent when using the "ipcs" or "ipcrm" commands. The default value is calculated based on the position of the buffer line in the file.
    +
    bsem
    +
    A unique number used to identify the semaphore used for blocking reads. Ther default value is -1, so blocking reads are not allowed by default. However if the value is changed with a default buffer line then subsequent lines will increment this starting value.
    +
    vme_addr
    +
    The VME address used for GLOBMEM on a VME backplane. The default value is 0 which is unusable. However if the default value is changed with a default buffer line then subsequent buffers will use the sum of this values plus the size of the preceding buffers.
    +
    remotetype
    +
    The protocol that should be used by remote processes connecting to this buffer which could be tcp,stcp, or udp. The default value is tcp.
    +
    port
    +
    The TCP or UDP port used by remote processes. The default value is 30000.
    +
    enc
    +
    The nuetral encoding method which can be xdr,ascii,or disp. The default value is xdr.
    +
    queue
    +
    Whether messages in this buffer should be queued. Setting it to a value greater than 1 also multiplies the size of the buffer by this value.The default value is 0.
    +
    diag
    +
    Whether to enable supplemental timing diagnostic information to be logged to the buffer. ( See Supplementary NML Timing Diagnostics Tools.)
    +
    + + +

    There are some additional flags that were available in the old configuration file that the new tool will not recognize. This will produce a wargning but the old flag should simply be pasted to the end of the generated buffer line which should allow the use of the unrecognized flag.

    + + +

    Process Variables

    + +

    The following variables can be place either on a process line to affect only one process connection to one buffer or on a default process line to affect multiple connections:

    + +
    +
    name
    +
    The name of the process that is passed to the NML constructor in the C++ or Java constructor. There is no default value, this variable must be set.
    +
    bufname
    +
    The name of the buffer that this process is connecting to. There is no default value, this variable must be set.
    +
    proctype
    +
    The type of process which can be local or remote. The default is remote.
    +
    host
    +
    The name of the host this process is running on. It is currently only used to comment the output file. The default value is localhost.
    +
    ops
    +
    The operations allowed by this process on this buffer which can be r, w,or rw. (For READ_ONLY, WRITE_ONLY, and READ_WRITE respectively) The default value is rw.
    +
    timeout
    +
    The time in seconds to allow before this process should timeout waiting for a read or write specified as a double or "INF" to indicate infinity.The default value is infinity.
    +
    master
    +
    Whether this process will be the master of this buffer. The master creates and clears the buffer when it is started. The default value is false.
    +
    server
    +
    Whether this process will act as a server for this buffer. The value of 2 has the special meaning that the process will spawn a server but then continue to access the buffer locally. The default value is false or 0.
    +
    c_num
    +
    The connection number which should be unique among processes connecting to the same buffer locally. The default value is calculated based on the number of processes that connected to this buffer before.
    +
    sub
    +
    The subscription interval in seconds for remote processes. The default value is -1 which indicates no subscription.
    +
    + +

    Tool Command Line Arguments

    + +

    The program "nmlcfg" converts files from the new format to the old format which must be done because the NML constructors can not currently read the new format.

    + +

    All command line not preceded by one of the following flags +is considered to be input files that should be in the new format. If more +than one input file is specified they are read in the order they occur and only one output file will be produced.

    + +

    Here are the additional flags:

    + +
    +
    -D name=value
    +
    Defines a value on the command line just as if a define line was used.
    +
    -I directory
    +
    Adds a directory to a list of directories to be searched if a include line is found.
    +
    -o output_file
    +
    Specified the file where the old format file will be written.
    +
    + +

    Examples

    + +

    The following example includes a separate file that can be modified to +change the host name, 2 buffers, and 3 processes connecting to it.

    + +

    The file "myhosts" contains the following.

    + +
    +# Set host aliases.
    +define host1=dopey
    +
    + +

    The file "ex.nml" contains the following:

    + +
    +include myhosts
    +
    +buffer_default host=$(host1)
    +b name=ex_cmd
    +b name=ex_stat
    +
    +process_default server=1 master=1 proctype=local name=mysvr
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    +process_default server=0 master=0
    +
    +process_default name=pl
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    +
    +process_default name=ex
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    + +

    The old style config file generated is this:

    + +
    +# Buffers:
    +#       name       type               host      size    neut    0       buf#    max_proc        . . .
    +B     ex_cmd    SHMEM                dopey      1024    0       0       1       4       10001   TCP=30000  xdr
    +B    ex_stat    SHMEM                dopey      1024    0       0       2       4       10002   TCP=30000  xdr
    + 
    + 
    +# Processes: 
    +#       Name        Buffer            type            host             ops      server  timeout         master  c_num    . . .
    +P      mysvr        ex_cmd           LOCAL       localhost              RW      1       INF             1       0           
    +P      mysvr       ex_stat           LOCAL       localhost              RW      1       INF             1       0           
    + 
    +P         pl        ex_cmd           LOCAL       localhost              RW      0       INF             0       1           
    +P         pl       ex_stat           LOCAL       localhost              RW      0       INF             0       1           
    + 
    +P         ex        ex_cmd           LOCAL       localhost              RW      0       INF             0       2           
    +P         ex       ex_stat           LOCAL       localhost              RW      0       INF             0       2           
    +
    + +
    + +

    Last Modified: 15-Oct-1999

    +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/newnmlcfg.html b/doc/newnmlcfg.html new file mode 100644 index 0000000..0dffc10 --- /dev/null +++ b/doc/newnmlcfg.html @@ -0,0 +1,344 @@ + + +Version 2.0 NML Configuration Files + + + +

    The Version 2.0 NML Configuration File Format and Tool

    + +

    Background

    + +

    The version 1 configuration file format described in "Writing NML Configuration Files" has remained stable since 1995 except for some rarely used options that can be placed at the end of buffer and process lines . That format is also the only format that NML constructors can +currently use directly and it is the format generated by the +NML Configuration File Builder (a +CGI script and HTML form) and by the RCS Design Tool (a Java application).

    +

    In May 1999, the configuration format described here was proposed. The goals for this new configuration format were the following:

    +
      +
    • Easier for multiple organizations to share configuration files.
    • +
    • Less verbose files made possible by allowing users to specify only items that need to be different than the default.
    • +
    • Fewer errors caused by novice users.
    • +
    • Eliminate some tedious tasks.
    • +
    +

    The version 2 configuration format is supported only through a tool that takes files written in the new format and produces files in the older format. These files can then be used in an application in the same way as files written by hand in the older format or generated by one of the graphical tools.

    +

    The reader for this document is expected to be familiar with either C++ or Java, the NML Programmer's Guide, C++ Version/Java Version, and with the the older configuration file format.

    + + +

    Configuration File Line Types

    + +

    The new configuration files are ASCII text files, that contain eight different types of lines that can be idenfied by the first character or word on the line:

    + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Starting Word or Character +

    +

    Line Description. +

    +

    # +

    +

    Comment Lines starting with a single '#' have no effect on the output file. Comment lines starting with "##" are also placed in the output file. +

    +

    ## +

    +

    Insert lines have the same effect as regular comment + lines except that they are inserted as comments in the + output file. +

    +

    include +

    +

    Include lines cause the contents of another file to be + read as if the text were included at that point in the + original file. +

    +

    define +

    +

    Definition lines define a variable that can be used + through the rest of the file, by preceding the variable name + with "$" and surrounding it with parentheses "( )" like this "$(varname)" + . +

    +

    define +

    +

    Definition lines define a variable that can be used + through the rest of the file, by preceding the variable name + with "$" and surrounding it with parentheses "( )" like this "$(varname)" + . +

    +

    format_source_pattern +

    +

    + Update February-2009: + Sets a pattern that will be used to determine the format_source from + the format name by replacing the first "%s" in the pattern + with the format_name. +

    +

    format_header_pattern +

    +

    + Update February-2009: + Sets a pattern that will be used to determine the header from + the format name by replacing the first "%s" in the pattern + with the format_name. +

    +

    buffer_default +

    +

    Buffer Default lines set defaults that affect buffer + lines that occur after this line. +

    +

    b +

    +

    Buffer lines begin with must contain "name=" and + the name of the buffer somewhere on the line. These lines + are used to create and entry for a particular buffer. +

    +

    process_default +

    +

    Process Default lines set defaults that affect process + lines that occur after this line. +

    +

    p +

    +

    Process lines must contain either "name=" or + "bufname=" somewhere on the line and are used to + create an entry linking a particular process to a particular + buffer. For proper checking process lines must occur after + the buffer line for the buffer the process is connecting to. + +

    + +

    Buffer Variables

    + +

    The following variables with the exception of "name" can be set either on a buffer line to modify only one buffer or on a buffer default line to affect several buffers:

    + +
    +
    name
    +
    The name used as an argument to the NML constructor in the C++ or Java code. It must be unique. There is no default value, this variable must be set on each line with a "b ".
    +
    buftype
    +
    The type of buffer to create which can be shmem,globmem,filemem,locmem or phantom. The default value is shmem.
    +
    host
    +
    The host name where a server must be run if any processes are going to connect remotely. The default value is localhost.
    +
    size
    +
    The size of the largest message that can be sent to the buffer. The amount of memory allocated will be slightly larger than this to accomodate some handshaking flags. The default value is 960.
    +
    neutral
    +
    Whether the local buffer should be neutrally encoded. Buffers should be neutrally encoded if they can be accessed by multiple CPU types by a Bit3 adaptor for example or to force messages to go through format and update functions that significantly reduces message size such as when variable length arrays are used. Messages are always neutrally encoded when sent over a network. The default value is false.
    +
    bufnumber
    +
    A unique number used to identify the buffer within a server. The default value is calculated based on the position of the buffer line in the file. If its default value is modified with a default buffer line the default value for subsequent lines will still be incremented from this starting value.
    +
    max_proc
    +
    The maximum number of processes that can connect to a buffer locally. It does not affect remote processes or shmem buffers using the default mutual exclusion mechanism. The default value is calculated based on the number of processes connecting to this buffer. +Update February 2005: The number is ignored unless GLOBMEM or +mutex=mao is specified. +
    +
    key
    +
    A unique number used to identify the shared memory and semaphore used for mutual exclusion in a shared memory buffer. It is relavent when using the "ipcs" or "ipcrm" commands. The default value is calculated based on the position of the buffer line in the file.
    +
    bsem
    +
    A unique number used to identify the semaphore used for blocking reads. Ther default value is -1, so blocking reads are not allowed by default. However if the value is changed with a default buffer line then subsequent lines will increment this starting value.
    +
    vme_addr
    +
    The VME address used for GLOBMEM on a VME backplane. The default value is 0 which is unusable. However if the default value is changed with a default buffer line then subsequent buffers will use the sum of this values plus the size of the preceding buffers.
    +
    remotetype
    +
    The protocol that should be used by remote processes connecting to this buffer which could be tcp,stcp, or udp. The default value is tcp.
    +
    port
    +
    The TCP or UDP port used by remote processes. The default value is 30000.
    +
    enc
    +
    The nuetral encoding method which can be xdr,ascii,or disp. The default value is xdr.
    +
    queue
    +
    Whether messages in this buffer should be queued. Setting it to a value greater than 1 also multiplies the size of the buffer by this value.The default value is 0.
    +
    diag
    +
    Whether to enable supplemental timing diagnostic information to be logged to the buffer. ( See Supplementary NML Timing Diagnostics Tools.)
    +
    format_name
    +
    Update February-2009: + Sets the name of the format function that should be used with the buffer. The format name should not include the final "_format" If the NML constructor should have been passed ex_format as the first argument, the tag in the nml file "format_name=ex" would accept this. If the format name does not match the process will print an error message, NML::valid() will return false, and NML::error_type will be set to NML_FORMAT_NAME_DOES_NOT_MATCH_ERROR. If format_source_pattern or format_header_pattern is used then the format_name and either format_source or header was not set explicitly the format_name will be used to determine them. If the size is not set explicitly it can be determined by searching for the comment with the line "Estimated_size MAXIMUM" followed by a size to use for the buffer in the generated source file. "format=" is also accepted as a shorter verion of "format_name=". +
    +
    format_source
    +
    Update February-2009: + Sets the name of the C++ file with the autogenerated format and update functions that should be used with the buffer. If the size is not set explicitly it can be determined by searching for the comment with the line "Estimated_size MAXIMUM" followed by a size to use for the buffer in the generated format source file. +
    +
    header
    +
    Update February-2009: + Sets the name of the C++ header file with the definitions of the message classes that should be used with the buffer. If neither the format_source nor format_name is set explicitly the format source will be assumed to be the base of the deader name plus "_n.cc". If the size is not set explicitly it can be determined by searching for the comment with the line "Estimated_size MAXIMUM" followed by a size to use for the buffer in the generated format source file. +
    +
    + + +

    There are some additional flags that were available in the old configuration file that the new tool will not recognize. This will produce a wargning but the old flag should simply be pasted to the end of the generated buffer line which should allow the use of the unrecognized flag.

    + + +

    Process Variables

    + +

    The following variables can be place either on a process line to affect only one process connection to one buffer or on a default process line to affect multiple connections:

    + +
    +
    name
    +
    The name of the process that is passed to the NML constructor in the C++ or Java constructor. There is no default value, this variable must be set. +Update February.2005: The special value of "default" will match any name. The paremeters on this line affect any process not specifically mentioned earlier in the file. It is different than setting a process_default parameter in that setting a process default affects all processes subsequently named while this typically affects processes not mentioned in the file at all.Setting both the process name and buffer name to default matches any combination. +
    +
    bufname
    +
    The name of the buffer that this process is connecting to. There is no default value, this variable must be set. +Update February.2005: The special value of "default" will match any buffer name. The paremeters on this line affect any buffer for this process not specifically mentioned earlier in the file. It is different than setting a process_default parameter in that setting a process default affects all buffers subsequently named while this typically affects buffers not mentioned in the file at all. Setting both the process name and buffer name to default matches any combination. +
    +
    proctype
    +
    The type of process which can be local, remote or auto. Local processes use some form of shared memory directly, remote processes go through TCP, or UDP and require a server. Processes set to auto will attempt to determine if direct shared memory access is possible by comparing IP addresses.Update February 2005 +The default is auto.
    +
    host
    +
    The name of the host this process is running on. It is currently only used to comment the output file. The default value is localhost.
    +
    ops
    +
    The operations allowed by this process on this buffer which can be r, w,or rw. (For READ_ONLY, WRITE_ONLY, and READ_WRITE respectively) The default value is rw.
    +
    timeout
    +
    The time in seconds to allow before this process should timeout waiting for a read or write specified as a double or "INF" to indicate infinity.The default value is infinity.
    +
    master
    +
    Whether this process will be the master of this buffer. The master creates and clears the buffer when it is started. The default value is false.
    +
    server
    +
    Whether this process will act as a server for this buffer. The value of 2 has the special meaning that the process will spawn a server but then continue to access the buffer locally. The default value is false or 0.
    +
    c_num
    +
    The connection number which should be unique among processes connecting to the same buffer locally. The default value is calculated based on the number of processes that connected to this buffer before. +Update February 2005: The number is ignored unless GLOBMEM or +mutex=mao is specified. +
    +
    sub
    +
    The subscription interval in seconds for remote processes. The default value is -1 which indicates no subscription.
    +
    + +

    Tool Command Line Arguments

    + +

    The program "nmlcfg" converts files from the new format to the old format which must be done because the NML constructors can not currently read the new format.

    + +

    All command line not preceded by one of the following flags +is considered to be input files that should be in the new format. If more +than one input file is specified they are read in the order they occur and only one output file will be produced.

    + +

    Here are the additional flags:

    + +
    +
    -D name=value
    +
    Defines a value on the command line just as if a define line was used.
    +
    -I directory
    +
    Adds a directory to a list of directories to be searched if a include line is found.
    +
    -o output_file
    +
    Specified the file where the old format file will be written.
    +
    + +

    Examples

    + +

    The following example includes a separate file that can be modified to +change the host name, 2 buffers, and 3 processes connecting to it.

    + +

    The file myhosts contains the following.

    + +
    +# Set host aliases.
    +define host1=localhost
    +
    + +

    The file newnmlcfgex.cfg + contains the following:

    + +
    +include myhosts
    +
    +# Set the pattern used to find the header file by:
    +# Replace %s with the value from format_name to find find the main
    +# C++ header file associated with the buffer that prototypes the format function.
    +format_header_pattern %s.hh
    +
    +# Set the pattern used to find Estimated_Sizes and format 
    +# function implementation.
    +# Replace %s with the value from format_name to find the main
    +# C++ file associated with the buffer with the autogenerated format function
    +# implementation.
    +# if the next line is not recognized you need atleast version 
    +format_source_pattern %s_n.cc
    +
    +buffer_default host=$(host1)
    +b name=ex_cmd format_name=exCmd
    +b name=ex_stat format_name=exStat
    +
    +process_default server=1 master=1 proctype=local name=mysvr
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    +process_default server=0 master=0
    +
    +process_default name=pl
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    +
    +process_default name=ex
    +p bufname=ex_cmd
    +p bufname=ex_stat
    +
    +## Double pound comment get preserved in output config file.
    +## Special default process line that will be used by any process that does not match above.
    +p bufname=default name=default proctype=auto server=0 master=0
    +
    +
    + +

    The old style/output config file generated is this newnmlcfgex.nml.

    + +
    +# newnmlcfgex.nml
    + 
    +
    +# Buffers:
    +#       name 	   type  	      host 	size 	neut 	0 	buf# 	max_proc 	. . .
    +B     ex_cmd 	SHMEM    	     localhost 	128 	0 	* 	1 	* 	35001 	TCP=20001  format_name=exCmd format_source=exCmd_n.cc header=exCmd.hh packed
    +B    ex_stat 	SHMEM    	     localhost 	256 	0 	* 	2 	* 	35002 	TCP=20002  format_name=exStat format_source=exStat_n.cc header=exStat.hh packed
    + 
    +
    +# Processes: 
    +#       Name 	    Buffer 	      type 	      host 	       ops 	server 	timeout 	master 	c_num  	 . . .
    +P      mysvr 	    ex_cmd 	     LOCAL 	 localhost 	        RW 	1 	INF     	1 	0 	
    +P      mysvr 	   ex_stat 	     LOCAL 	 localhost 	        RW 	1 	INF     	1 	0 	
    + 
    +P         pl 	    ex_cmd 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	1 	
    +P         pl 	   ex_stat 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	1 	
    + 
    +P         ex 	    ex_cmd 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
    +P         ex 	   ex_stat 	     LOCAL 	 localhost 	        RW 	0 	INF     	0 	2 	
    +
    +# Double pound comment get preserved in output config file.
    +# Special default process line that will be used by any process that does not match above.
    +P    default 	   default 	      AUTO 	 localhost 	        RW 	0 	INF     	0 	0 	
    +
    + +

    The files exCmd.hh,exCmd_n.cc, exStat.hh and exStat_n.cc also had an effect on the output.

    + +
    + +

    Last Modified: February-2009

    +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/newnmlcfgex.cfg b/doc/newnmlcfgex.cfg new file mode 100644 index 0000000..ef86aa1 --- /dev/null +++ b/doc/newnmlcfgex.cfg @@ -0,0 +1,37 @@ +include myhosts + +# Set the pattern used to find the header file bty: +# Replace %s with the value from format_name to find find the main +# C++ header file associated with the buffer that prototypes the format function. +format_header_pattern %s.hh + +# Set the pattern used to find Estimated_Sizes and format +# function implementation. +# Replace %s with the value from format_name to find the main +# C++ file associated with the buffer with the autogenerated format function +# implementation. +# if the next line is not recognized you need atleast version +format_source_pattern %s_n.cc + +buffer_default host=$(host1) +b name=ex_cmd format_name=exCmd +b name=ex_stat format_name=exStat + +process_default server=1 master=1 proctype=local name=mysvr +p bufname=ex_cmd +p bufname=ex_stat + +process_default server=0 master=0 + +process_default name=pl +p bufname=ex_cmd +p bufname=ex_stat + + +process_default name=ex +p bufname=ex_cmd +p bufname=ex_stat + +## Double pound comment get preserved in output config file. +## Special default process line that will be used by any process that does not match above. +p bufname=default name=default proctype=auto server=0 master=0 diff --git a/doc/newnmlcfgex.nml b/doc/newnmlcfgex.nml new file mode 100644 index 0000000..68e2f6e --- /dev/null +++ b/doc/newnmlcfgex.nml @@ -0,0 +1,24 @@ +# newnmlcfgex.nml + + +# Buffers: +# name type host size neut 0 buf# max_proc . . . +B ex_cmd SHMEM localhost 128 0 * 1 * 35001 TCP=20001 format_name=exCmd format_source=exCmd_n.cc header=exCmd.hh packed +B ex_stat SHMEM localhost 256 0 * 2 * 35002 TCP=20002 format_name=exStat format_source=exStat_n.cc header=exStat.hh packed + + +# Processes: +# Name Buffer type host ops server timeout master c_num . . . +P mysvr ex_cmd LOCAL localhost RW 1 INF 1 0 +P mysvr ex_stat LOCAL localhost RW 1 INF 1 0 + +P pl ex_cmd LOCAL localhost RW 0 INF 0 1 +P pl ex_stat LOCAL localhost RW 0 INF 0 1 + +P ex ex_cmd LOCAL localhost RW 0 INF 0 2 +P ex ex_stat LOCAL localhost RW 0 INF 0 2 + +# Double pound comment get preserved in output config file. +# Special default process line that will be used by any process that does not match above. +P default default AUTO localhost RW 0 INF 0 0 + diff --git a/doc/nml-tutorial.pdf b/doc/nml-tutorial.pdf new file mode 100644 index 0000000..26a3b8c Binary files /dev/null and b/doc/nml-tutorial.pdf differ diff --git a/doc/nml.hh b/doc/nml.hh new file mode 120000 index 0000000..a9edc2a --- /dev/null +++ b/doc/nml.hh @@ -0,0 +1 @@ +../src/cms/nml.hh \ No newline at end of file diff --git a/doc/nml_emc.hh b/doc/nml_emc.hh new file mode 100644 index 0000000..3e685f5 --- /dev/null +++ b/doc/nml_emc.hh @@ -0,0 +1,1741 @@ + +#ifndef NML_EMC_HH +#define NML_EMC_HH + +/* + To add a message, do the following: + + 1. #define a new NML_ id for the message, at the appropriate level + (SERVO, TRAJ, etc.), in this file. + 2. declare a derived class of NMLmsg, following the format for the + existing ones, and stick in any arguments, in this file. + 3. prototype the function called when that message is received, + in this file. + 4. In nml_emc.cc, modify the format function switch to include a + label for the id in (1). + 5. In nml_emc.cc, add an update method for the new derived class, + calling cms->update for each argument. + 6. Update the ini file with the type number and string. + 7. Add the definition of the function prototyped in (3), in the + style of the particular board/code which implements the level, + e.g., servo.pmac.cc, hme.pmac.cc. + 8. Modify the appropriate 'wrapper' for the level so that the function + is called when the NML id is received, e.g., in hme.cc, seq.cc, + canonlist.cc . + 9. Make an entry in the manual pages, in man/manl . + + To add new WM data, do the following: + + 1. make an entry in the WM for the appropriate level (e.g., + NML_SERVO_WM .), in this file. + 2. prototype the access function called to get the WM data out + of the board/code which implements the level, in this file. + 3. in nml_emc.cc, modify the update method for the WM of the level + to include updates of the added WM data. + 4. Add the definition of the function prototyped in (2), in the + style of the particular board/code which implements the level. + 5. Update the WM copying section of the hme main() loop to call + the function every cycle. + 6. Make an entry in the manual pages, in man/manl . + + */ + +/* + This file contains the ID's and C++ class declarations for the EMC + NML messages and world model data; and function prototypes for the + functions invoked when NML messages are received. + + Adding messages here means that you must add msg id's, classes, + function prototypes in this file, and update the nmlformat() function, + and add the class definition in nml.emc.cc . + + Modification history: + + 22-Aug-1995 Fred Proctor added SERVO_WM::home_offset + 15-Aug-1995 Fred Proctor added NML_PARAMETER + 19-Jul-1995 Fred Proctor added io power state + 6-Jul-1995 Fred Proctor added spindle force commands + 11-May-1995 Will Shackleford added sequencer_state, sequencer_cmd_type, and + sequencer_queue_length to the NML_HME_WM. + 5-May-1995 Fred Proctor added home_side to io wm. + 28-Apr-1995 Will Shackleford changed NML_INTERP_UNION into an NMLmsg. + 28-Apr-1995 Will Shackleford changed NML_INTERP_LIST to use RCS_LINKED_LIST. + 11-Apr-1995 Fred Proctor added gear to io wm + 18-Mar-1995 Fred Proctor checked out before GM trip + 9-Mar-1995 Fred Proctor added gear changes + 8-Mar-1995 Fred Proctor added interpreter optional stop; io cycle + start, stop + 3-Mar-1995 Fred Proctor added bias to gains structure; added units + and servo scale; + 1-Mar-1995 Fred Proctor pulled out code from NML_INTERP_NODE, + NML_INTERP_LIST classes and put in .cc file (compiler wants to + inline code in header, an can't in general-- code should go in + .cc files) + 27-Feb-1995 Fred Proctor removed unused cms args; added int arg to + nml_servo_set_gains(); added gains to servo WM and associated access + function servo_wm_gains(); created constructors for some types; + changed NML_POSE to NML_ROTPOSE; + 26-Feb-1995 Fred Proctor removed traj cutter comp functions + 24-Feb-1995 Fred Proctor added NML id string table; WMSA_ESTOP_RESET + as arg to WMSA_STATE; + 23-Feb-1995 Fred Proctor added error string table + 18-Feb-1995 Fred Proctor inited error strings in interp wm to null; + inited error_num to 0 in all wms; upped NML_JOINT_MAX to 6; added + tool_file string to io wm; created NML_POSE type + 17-Feb-1995 Fred Proctor added #defines for return values for + nml_interp_read(). + 16-Feb-1995 Fred Proctor added 'errors' text field to interp wm + 11-Feb-1995 Fred Proctor added traj origin, rot origin back in-- + intent is to have implementations of these functions use the + canonical interface, so single point of contact is used for + external origin access (e.g., indication) and interpreter. + Added io into hme WM. + 8-Feb-1995 Fred Proctor removed traj units, origin stuff + 1-Feb-1995 Fred Proctor added NML_ROTATION type. Added + NML_IO_READ_TOOL_TABLE. + 27-Jan-1995 Fred Proctor removed tool arg from load_tool; added + NML_IO_SHUTTLE_PALLETS + 25-Jan-1995 Fred Proctor added NML_TRAJ_ABS_JOG, NML_TRAJ_SLAVE; + added a 'j' field in NML_INTERP_UNION + 30-Dec-1994 Fred Proctor added nml_io_execute_cycle(), ATR tool + change stuff for IO, and io_wm_busy() + 27-Dec-1994 Fred Proctor added single block, block delete + 15-Dec-1994 Fred Proctor upped NML_TOOL_MAX to 128; added declaration + for traj_wm_b() for B axis + 7-Dec-1994 Fred Proctor added #defines for default and max feed and + traverse rates + 2-Dec-1994 Fred Proctor added feed, speed overrides in traj and io + WMs + 29-Nov-1994 Fred Proctor added #defines for interp file and command + string lens + 22-Oct-1994 Fred Proctor removed kinematics declaration, since it + was already in here. + 18-Oct-1994 Sandor Szabo added kinematics declaration. Kinematics found + in hme/minimill.cc + 6-Oct-1994 Fred Proctor added nml_wait_ready() + 29-Sep-1994 Fred Proctor added more INTERP commands + 19-Aug-1994 Fred Proctor added cutter radius comp and tool offset + messages to traj + 6-Aug-1994 Fred Proctor added NML_TRAJ_ORIGIN, and origin to traj wm + 30-Jul-1994 Fred Proctor pulled WM data out of HME, put it in WMSA, + and included WMSA. This makes the HME an pure aggregate, with no + stuff of its own. + 29-Jul-1994 Steve Legowik corrected enumeration syntax in WM types + (see #ifndef LYNX) + 22-Jul-1994 Fred Proctor added HME_NOMODE and HME_NOSTATE, to + signify that HME WM is in unknown (startup) state + 22-Jul-1994 Fred Proctor added NML_TRAJ_PAUSE and NML_TRAJ_RESUME + to implement a feed hold feature-- RCS may want to define these as + implicit messages. Added paused to NML_TRAJ_WM. + 18-Jul-1994 Fred Proctor added nml_io_init, exit (left out); + still need to add them for interp and higher ones. FIXME + 14-Jul-1994 Fred Proctor added HME stuff, for port of minimill + controller to Monarch + */ + +extern "C" { +#include /* NULL */ +} + +#include "rcs.hh" +#include "canon.hh" /* CANON_PLANE, etc. */ + +/* error logger function */ +void nml_log_error(unsigned long int error, ...); + +/* Data primitives */ + +typedef unsigned int NML_PARAMETER; + +/* units type */ +typedef unsigned int NML_UNITS; + +/* distance units */ +#define NML_DISTANCE_UNITS_MM 1001 +#define NML_DISTANCE_UNITS_CM 1002 +#define NML_DISTANCE_UNITS_METERS 1003 +#define NML_DISTANCE_UNITS_INCHES 1011 +#define NML_DISTANCE_UNITS_FEET 1012 + +/* angular units */ +#define NML_ANGULAR_UNITS_RADIANS 2001 +#define NML_ANGULAR_UNITS_DEGREES 2002 +#define NML_ANGULAR_UNITS_GRADS 2003 + +struct NML_CARTESIAN +{ + NML_CARTESIAN() {} + NML_CARTESIAN(double _x, double _y, double _z) {x = _x; y = _y; z = _z;} + double x; + double y; + double z; + void update(CMS *); +}; + +struct NML_ROTATION +{ + NML_ROTATION() {} + NML_ROTATION(double _a, double _b, double _c) {a = _a; b = _b; c = _c;} + double a; + double b; + double c; + void update(CMS *); +}; + +struct NML_ROTPOSE +{ + NML_ROTPOSE() {} + NML_ROTPOSE(double _x, double _y, double _z, + double _a, double _b, double _c); + NML_CARTESIAN cart; + NML_ROTATION rot; + void update(CMS *); +}; + +#define NML_JOINT_MAX 6 /* 6-axis support, for now */ + +struct NML_JOINT /* avoid arrays, so we can use stack */ +{ + NML_JOINT(); + NML_JOINT(double _j); + double &operator [] (int n); + + private: + double j[NML_JOINT_MAX], none; +}; + +struct NML_JOINT_FLAG /* avoid arrays, so we can use stack */ +{ + NML_JOINT_FLAG(); + NML_JOINT_FLAG(int _f); + int &operator [] (int n); + + private: + int f[NML_JOINT_MAX], none; +}; + +/* How we report errors in NML: + Errors are written into the WM of each control node. + Errors are cleared when new commands are received. + Errors consists of an integer ID, and descriptive text. + */ +#define NML_ERROR_MAX 16 /* number of ints for error ids */ + +/* Registry of WM data types */ + +#define NML_SERVO_WM_TYPE ((NMLTYPE) 1001) +#define NML_TRAJ_WM_TYPE ((NMLTYPE) 1003) +#define NML_IO_WM_TYPE ((NMLTYPE) 1005) +#define NML_INTERP_WM_TYPE ((NMLTYPE) 1007) +#define NML_WMSA_WM_TYPE ((NMLTYPE) 1009) +#define NML_HME_WM_TYPE ((NMLTYPE) 1010) + +/* NML types for World Model information */ + +struct NML_SERVO_GAINS +{ + NML_SERVO_GAINS() {} + NML_SERVO_GAINS(double _bias, double _p, double _i, double _d, + double _vf, double _af) + { + bias = _bias, p = _p, i = _i, d = _d, vf = _vf, af = _af; + } + double bias; /* additive output bias */ + double p; /* proportional constant multiplier */ + double i; /* integral constant multiplier */ + double d; /* derivative constant multiplier */ + double vf; /* velocity feedforward */ + double af; /* acceleration feedforward */ +}; + +/* structure for representing scaling from servo coordinates (encoder + ticks, etc.) to servo external units reported in wm (mm, degrees, etc.) */ +struct NML_SERVO_SCALE +{ + NML_SERVO_SCALE() {a = b = 1.0;} /* init to 1-- divides are done */ + NML_SERVO_SCALE(double _a, double _b) {a = _a, b = _b;} + /* coefficients such that user units = a(sensor value)+b */ + double a; + double b; +}; + +class NML_SERVO_WM : public NMLmsg +{ + public: + NML_SERVO_WM() : NMLmsg(NML_SERVO_WM_TYPE, sizeof(NML_SERVO_WM)) {}; + void update(CMS *cms); + + double cycle; /* # of seconds in a servo cycle */ + NML_UNITS units[NML_JOINT_MAX]; /* external units used for each axis */ + NML_SERVO_SCALE scale[NML_JOINT_MAX]; /* scale for internal->external */ + NML_SERVO_GAINS gains[NML_JOINT_MAX]; /* gains for each axis */ + NML_JOINT pos; /* current position */ + NML_JOINT vel; /* current velocity */ + NML_JOINT acc; /* current acceleration */ + NML_JOINT delta; /* diff between pos and commanded */ + NML_JOINT offset; /* stick offsets here */ + NML_JOINT_FLAG home; /* non-zero means corr. axis is homed */ + NML_JOINT home_offset; /* offsets from trigger to call 0 */ + NML_JOINT_FLAG limit; /* +/- means corr. axis at +/- limit */ + NML_JOINT homepos; /* abs. position when homed */ + NML_JOINT poslimit, neglimit; + /* abs. position when at pos or neg limit */ + NML_JOINT_FLAG homing; /* non-zero means homing */ + NML_JOINT_FLAG jogging; /* non-zero means jogging */ +}; + +/* prototypes of servo WM access functions */ +extern const double servo_wm_cycle(); +extern const NML_UNITS servo_wm_units(int axis); /* external units for axis */ +extern const NML_SERVO_SCALE servo_wm_scale(int axis); /* conversion */ +extern const NML_SERVO_GAINS servo_wm_gains(int axis); /* gains for axis */ +extern const NML_JOINT servo_wm_pos(); /* current position */ +extern const NML_JOINT servo_wm_vel(); /* current velocity */ +extern const NML_JOINT servo_wm_acc(); /* current acceleration */ +extern const NML_JOINT servo_wm_delta(); /* diff between pos and commanded */ +extern const NML_JOINT servo_wm_offset(); /* stick offsets here */ +extern const NML_JOINT_FLAG servo_wm_home(); /* non-zero means homed */ +extern const NML_JOINT servo_wm_home_offset(); +extern const NML_JOINT_FLAG servo_wm_limit(); /* +/- means at +/- limit */ +extern const NML_JOINT servo_wm_homepos(); /* home pos, in servo units */ +extern const NML_JOINT servo_wm_poslimit(); /* positive limit, in servo units */ +extern const NML_JOINT servo_wm_neglimit(); /* neg limit, in servo units */ +extern const NML_JOINT_FLAG servo_wm_homing(); +extern const NML_JOINT_FLAG servo_wm_jogging(); + +extern NML_ROTPOSE servo_forward_kinematics(NML_JOINT &joint); +extern NML_JOINT servo_inverse_kinematics(NML_ROTPOSE &pose); +extern int nml_servo_set_home_offset(int axis, double offset); + +/* system defaults for feed and traverse rate-- controller will + come up with these values in effect */ +extern double NML_TRAJ_DEFAULT_FEED_RATE; +extern double NML_TRAJ_MAX_FEED_RATE; +extern double NML_TRAJ_DEFAULT_TRAVERSE_RATE; +extern double NML_TRAJ_MAX_TRAVERSE_RATE; + +class NML_TRAJ_WM : public NMLmsg +{ + public: + NML_TRAJ_WM() : NMLmsg(NML_TRAJ_WM_TYPE, sizeof(NML_TRAJ_WM)) {}; + void update(CMS *cms); + + double cycle; /* # of seconds in a traj cycle */ + double neighborhood; /* how close for completion */ + int inpos; /* non-zero means we're there */ + int queue; /* number of pending motions */ + NML_ROTPOSE pos; /* current position */ + NML_ROTPOSE vel; /* current velocity */ + NML_ROTPOSE acc; /* current acceleration */ + NML_ROTPOSE delta; /* diff between pos and commanded */ + NML_ROTPOSE offset; /* stick offsets here */ + NML_ROTPOSE difference; /* distance to go until end of current move */ + double feed; /* current feedrate for linear moves */ + double traverse; /* current traverse rate for free moves */ + double feed_override; /* positive scale factor for feed */ + int feed_override_disabled; /* non-zero means disabled */ + int paused; /* non-zero means motion paused */ + NML_ROTPOSE origin; /* offset from abs origin; base for moves */ + CANON_ORIGIN origin_type; /* absolute, or part coords (ref'ed to + 'origin' above) */ + double tool_offset; /* tool length offset */ +}; + +/* prototypes of traj WM access functions */ +extern const double traj_wm_cycle(); +extern const double traj_wm_neighborhood(); +extern const int traj_wm_inpos(); +extern const int traj_wm_queue(); +extern const NML_ROTPOSE traj_wm_pos(); +extern const NML_ROTPOSE traj_wm_vel(); +extern const NML_ROTPOSE traj_wm_acc(); +extern const NML_ROTPOSE traj_wm_delta(); +extern const NML_ROTPOSE traj_wm_offset(); +extern const double traj_wm_feed(); +extern const double traj_wm_traverse(); +extern const double traj_wm_feed_override(); +extern const int traj_wm_feed_override_disabled(); +extern const int traj_wm_paused(); +extern const NML_ROTPOSE traj_wm_origin(); +extern const CANON_ORIGIN traj_wm_origin_type(); +extern const double traj_wm_tool_offset(); +extern const NML_ROTPOSE traj_wm_difference(); + +/* how many tools we allow */ +#define NML_TOOL_FILENAME_LEN 80 /* number of chars in a file name */ +#define NML_TOOL_MAX 68 /* number of tools, and associated offsets */ +struct TOOL_TABLE +{ + int id; + double length; + double diameter; +}; + +/* allowable values for NML_IO_WM::status */ +#define NML_IO_STATUS_DONE 1 /* cmd done */ +#define NML_IO_STATUS_EXEC 2 /* cmd still running */ +#define NML_IO_STATUS_ERROR_TOO_LONG 4 /* timed out */ +#define NML_IO_STATUS_ERROR_INIT_COND 5 /* initial conditions not met */ + +/* AC power status */ +#define NML_IO_POWER_ON 1 /* normal */ +#define NML_IO_POWER_OFF 2 /* it's off */ +#define NML_IO_POWER_LOW 3 /* it's going off */ + +/* Emergency stop */ +#define NML_IO_ESTOP_ON 1 /* estop button depressed */ +#define NML_IO_ESTOP_OFF 2 /* estop button released */ + +class NML_IO_WM : public NMLmsg +{ + public: + NML_IO_WM() : NMLmsg(NML_IO_WM_TYPE, sizeof(NML_IO_WM)) {}; + void update(CMS *cms); + + int tool; /* current tool */ + int tool_in_changer; /* current tool in the loading claw */ + int spindle; /* non-zero means spindle enabled */ + int pallet; /* current pallet on table */ + double speed; /* commanded spindle speed */ + double delta; /* spindle position, from home */ + int mist; /* non-zero means mist coolant on */ + int flood; /* non-zero means flood coolant on */ + double speed_override; /* scale factor for spindle speed */ + int speed_override_disabled; /* non-zero means override disabled */ + int pendant_mode; /* enabled, disabled */ + int coolant_mode; /* on, off, auto */ + int shuttle_mode; /* enabled, disabled */ + int pallet_mode; /* auto, unclamp */ + int pocket; /* current pocket of the tool magazine */ + int gear; /* 1=low, 2=med, 3=high */ + NML_JOINT_FLAG home_side; /* <0 = negative side, >0 = positive side */ + int busy; /* non-zero means IO is active, and motion + should not be initiated */ + int status; /* done, exec, errors */ + int power; /* AC power state */ + int estop; /* state of the ESTOP */ + int spindle_busy; /* non-zero means spindle moving */ + int spindle_enable_state; /* 1 = spindle enabled */ + + /* tool_table contains offsets assigned to tools, for indices in range + 0..NML_TOOL_MAX. Index 0 will not be used for machines that start + at slot (pocket) 1, but one can always reference + tool_table[NML_TOOL_MAX] and get the last tool, or + tool_table[1] and get the tool in slot 1, or + tool_table[0] and get the tool in slot 0, if such + a slot exists. */ + TOOL_TABLE tool_table[NML_TOOL_MAX+1]; + char tool_file[NML_TOOL_FILENAME_LEN]; +}; + +/* prototypes for io WM access functions */ +extern const int io_wm_tool(); +extern const int io_wm_tool_in_changer(); +extern const int io_wm_spindle(); +extern const int io_wm_pallet(); +extern const double io_wm_speed(); +extern const double io_wm_delta(); +extern const int io_wm_mist(); +extern const int io_wm_flood(); +extern const double io_wm_speed_override(); +extern const int io_wm_speed_override_disabled(); +extern const int io_wm_pendant_mode(); +extern const int io_wm_coolant_mode(); +extern const int io_wm_shuttle_mode(); +extern const int io_wm_pallet_mode(); +extern const int io_wm_pocket(); +extern const int io_wm_gear(); +extern const NML_JOINT_FLAG io_wm_home_side(); +extern const int io_wm_busy(); +extern const int io_wm_status(); +extern const int io_wm_power(); +extern const int io_wm_estop(); +extern const int io_wm_spindle_busy(); +extern const int io_wm_spindle_enable_state(); +extern const TOOL_TABLE io_wm_tool_table(int index); +extern const char *io_wm_tool_file(); +/* FIXME-- io_wm_mode(),state() ? */ + +/* interpreter states */ +#define INTERP_IDLE 1 +#define INTERP_RUNNING 2 +#define INTERP_PAUSED 3 + +#define NML_INTERP_FILE_LEN 80 +#define NML_INTERP_COMMAND_LEN 80 + +/* return values from functions */ +#define NML_INTERP_READ_OK 0 +#define NML_INTERP_READ_ERROR -1 +#define NML_INTERP_READ_EOF 1 + +class NML_INTERP_WM : public NMLmsg +{ + public: + NML_INTERP_WM() : NMLmsg(NML_INTERP_WM_TYPE, sizeof(NML_INTERP_WM)) {}; + void update(CMS *cms); + + char file[NML_INTERP_FILE_LEN]; /* name of program being interpreted */ + char command[NML_INTERP_COMMAND_LEN]; /* text of line being interpreted */ + int line; /* last line read (reads ahead) */ + int mode; /* one of INTERP_IDLE, ... */ + NML_CARTESIAN offset; /* work zero (part) origin */ + int single_block; /* non-zero if single stepping */ + int block_delete; /* non-zero means optional delete active */ + int optional_stop; /* non-zero means optional stop active */ +}; + +/* prototypes of interpreter WM access functions */ +extern const char *interp_wm_file(); +extern const char *interp_wm_command(); +extern const int interp_wm_line(); +extern const int interp_wm_mode(); +extern const NML_CARTESIAN interp_wm_offset(); +extern const int interp_wm_single_block(); +extern const int interp_wm_block_delete(); +extern const int interp_wm_optional_stop(); + +/* WMSA modes and states */ + +#define WMSA_NOMODE 0 +#define WMSA_EDIT 1 +#define WMSA_AUTO 2 +#define WMSA_MDI 3 +#define WMSA_MANUAL 4 + +#define WMSA_NOSTATE 0 +#define WMSA_OFF 1 /* turn machine off */ +#define WMSA_ON 2 /* turn machine on */ +#define WMSA_ESTOP 3 /* estop the machine */ +#define WMSA_ESTOP_RESET 4 /* reset the estop */ + +class NML_WMSA_WM : public NMLmsg +{ + public: + NML_WMSA_WM() : NMLmsg(NML_WMSA_WM_TYPE, sizeof(NML_WMSA_WM)) + { + mode = WMSA_NOMODE, state = WMSA_NOSTATE; + }; + void update(CMS *cms); + + int mode; + int state; +}; + +/* prototypes of WMSA WM access functions */ +extern const int wmsa_wm_mode(); +extern const int wmsa_wm_state(); + +#define HME_CODES_SIZE 9 + +class NML_HME_WM : public NMLmsg +{ + public: + NML_HME_WM() : NMLmsg(NML_HME_WM_TYPE, sizeof(NML_HME_WM)) + { + int t; + for (t = 0; t < NML_ERROR_MAX; t++) + error[t] = 0; + error_num = 0; + }; + void update(CMS *cms); + + /* need to incorporate SERVO, TRAJ, IO stuff as well, since + HME is interface to this stuff in aggregated controller */ + NML_SERVO_WM servo; + NML_TRAJ_WM traj; + NML_INTERP_WM interp; + NML_WMSA_WM wmsa; + NML_IO_WM io; + + unsigned long int error[NML_ERROR_MAX]; /* error status */ + int error_num; /* cumulative errors */ + int report_error(unsigned long int _error); + + /* additional HME WM data; some is KT800-specific */ + int sequencer_state; + NMLTYPE sequencer_cmd_type; + int sequencer_queue_length; + + /* active G codes, etc. -- first element is line number, + rest are -1 (invalid), or active code. */ + int active_g_codes[HME_CODES_SIZE]; + int active_m_codes[HME_CODES_SIZE]; + + /* current line executing */ + int active_line; +}; + +/* Registry of NML data type identifiers */ + +/* NML messages to servo */ + +#define NML_SERVO_INIT_TYPE ((NMLTYPE) 101) +#define NML_SERVO_EXIT_TYPE ((NMLTYPE) 103) +#define NML_SERVO_SET_CYCLE_TYPE ((NMLTYPE) 105) +#define NML_SERVO_SET_GAINS_TYPE ((NMLTYPE) 107) +#define NML_SERVO_SET_LIMITS_TYPE ((NMLTYPE) 108) +#define NML_SERVO_SET_OFFSET_TYPE ((NMLTYPE) 109) +#define NML_SERVO_ENABLE_TYPE ((NMLTYPE) 111) +#define NML_SERVO_DISABLE_TYPE ((NMLTYPE) 113) +#define NML_SERVO_HOME_TYPE ((NMLTYPE) 115) +#define NML_SERVO_JOG_TYPE ((NMLTYPE) 117) +#define NML_SERVO_JOG_STOP_TYPE ((NMLTYPE) 119) +#define NML_SERVO_POS_TYPE ((NMLTYPE) 121) +#define NML_SERVO_INCR_JOG_TYPE ((NMLTYPE) 123) +#define NML_SERVO_ABS_JOG_TYPE ((NMLTYPE) 124) +#define NML_SERVO_SET_SCALE_TYPE ((NMLTYPE) 125) +#define NML_SERVO_HALT_TYPE ((NMLTYPE) 127) + +/* NML messages to TRAJ */ + +#define NML_TRAJ_INIT_TYPE ((NMLTYPE) 201) +#define NML_TRAJ_EXIT_TYPE ((NMLTYPE) 203) +#define NML_TRAJ_SET_CYCLE_TYPE ((NMLTYPE) 205) +#define NML_TRAJ_SET_NEIGHBORHOOD_TYPE ((NMLTYPE) 207) +#define NML_TRAJ_SET_OFFSET_TYPE ((NMLTYPE) 209) +#define NML_TRAJ_SET_TRAVERSE_RATE_TYPE ((NMLTYPE) 211) +#define NML_TRAJ_SET_FEED_RATE_TYPE ((NMLTYPE) 213) +#define NML_TRAJ_SET_FEED_OVERRIDE_TYPE ((NMLTYPE) 214) +#define NML_TRAJ_STRAIGHT_TRAVERSE_TYPE ((NMLTYPE) 215) +#define NML_TRAJ_STRAIGHT_FEED_TYPE ((NMLTYPE) 217) +#define NML_TRAJ_ARC_FEED_TYPE ((NMLTYPE) 219) +#define NML_TRAJ_PAUSE_TYPE ((NMLTYPE) 221) +#define NML_TRAJ_RESUME_TYPE ((NMLTYPE) 223) +#define NML_TRAJ_SET_ORIGIN_TYPE ((NMLTYPE) 230) +#define NML_TRAJ_USE_ORIGIN_TYPE ((NMLTYPE) 231) +#define NML_TRAJ_USE_TOOL_LENGTH_OFFSET_TYPE ((NMLTYPE) 251) +#define NML_TRAJ_START_SEQUENCE_TYPE ((NMLTYPE) 260) +#define NML_TRAJ_STOP_SEQUENCE_TYPE ((NMLTYPE) 261) +#define NML_TRAJ_DWELL_TYPE ((NMLTYPE) 263) +#define NML_TRAJ_SLAVE_TYPE ((NMLTYPE) 264) +#define NML_TRAJ_HALT_TYPE ((NMLTYPE) 265) +#define NML_TRAJ_DISABLE_FEED_OVERRIDE_TYPE ((NMLTYPE) 266) + +/* NML messages to IO */ + +#define NML_IO_INIT_TYPE ((NMLTYPE) 321) +#define NML_IO_EXIT_TYPE ((NMLTYPE) 323) +#define NML_IO_SPINDLE_ON_TYPE ((NMLTYPE) 303) +#define NML_IO_SPINDLE_OFF_TYPE ((NMLTYPE) 305) +#define NML_IO_SPINDLE_RETRACT_TYPE ((NMLTYPE) 307) +#define NML_IO_SPINDLE_ROTATE_TYPE ((NMLTYPE) 308) +#define NML_IO_MIST_ON_TYPE ((NMLTYPE) 309) +#define NML_IO_MIST_OFF_TYPE ((NMLTYPE) 311) +#define NML_IO_FLOOD_ON_TYPE ((NMLTYPE) 313) +#define NML_IO_FLOOD_OFF_TYPE ((NMLTYPE) 315) +#define NML_IO_SET_SPEED_OVERRIDE_TYPE ((NMLTYPE) 317) +#define NML_IO_READ_TOOL_TABLE_TYPE ((NMLTYPE) 320) +#define NML_IO_PREP_FOR_TOOL_TYPE ((NMLTYPE) 324) +#define NML_IO_LOAD_TOOL_TYPE ((NMLTYPE) 325) +#define NML_IO_UNLOAD_TOOL_TYPE ((NMLTYPE) 326) +#define NML_IO_SHUTTLE_PALLETS_TYPE ((NMLTYPE) 327) +#define NML_IO_EXECUTE_CYCLE_TYPE ((NMLTYPE) 330) +#define NML_IO_PENDANT_MODE_TYPE ((NMLTYPE) 331) +#define NML_IO_COOLANT_MODE_TYPE ((NMLTYPE) 332) +#define NML_IO_SET_POCKET_NUMBER_TYPE ((NMLTYPE) 333) +#define NML_IO_SHUTTLE_MODE_TYPE ((NMLTYPE) 334) +#define NML_IO_PALLET_MODE_TYPE ((NMLTYPE) 335) +#define NML_IO_MODE_TYPE ((NMLTYPE) 340) +#define NML_IO_STATE_TYPE ((NMLTYPE) 341) +#define NML_IO_CYCLE_START_TYPE ((NMLTYPE) 343) +#define NML_IO_CYCLE_STOP_TYPE ((NMLTYPE) 344) +#define NML_IO_PREP_FOR_GEAR_CHANGE_TYPE ((NMLTYPE) 345) +#define NML_IO_CHANGE_GEARS_TYPE ((NMLTYPE) 346) +#define NML_IO_ORIENT_SPINDLE_TYPE ((NMLTYPE) 347) +#define NML_IO_HALT_TYPE ((NMLTYPE) 348) +#define NML_IO_USE_SPINDLE_FORCE_TYPE ((NMLTYPE) 349) +#define NML_IO_USE_NO_SPINDLE_FORCE_TYPE ((NMLTYPE) 350) +#define NML_IO_ARC_SPINDLE_FORCE_TYPE ((NMLTYPE) 351) +#define NML_IO_SET_TOOL_NUMBER_TYPE ((NMLTYPE) 352) +#define NML_IO_SET_PALLET_NUMBER_TYPE ((NMLTYPE) 353) +#define NML_IO_DISABLE_SPEED_OVERRIDE_TYPE ((NMLTYPE) 354) + +/* NML messages to INTERP */ + +#define NML_INTERP_INIT_TYPE ((NMLTYPE) 401) +#define NML_INTERP_EXIT_TYPE ((NMLTYPE) 403) +#define NML_INTERP_OPEN_TYPE ((NMLTYPE) 405) +#define NML_INTERP_READ_TYPE ((NMLTYPE) 407) +#define NML_INTERP_EXECUTE_TYPE ((NMLTYPE) 409) +#define NML_INTERP_RUN_TYPE ((NMLTYPE) 410) +#define NML_INTERP_PAUSE_TYPE ((NMLTYPE) 411) +#define NML_INTERP_RESUME_TYPE ((NMLTYPE) 413) +#define NML_INTERP_HALT_TYPE ((NMLTYPE) 415) +#define NML_INTERP_CLOSE_TYPE ((NMLTYPE) 417) +#define NML_INTERP_SINGLE_BLOCK_TYPE ((NMLTYPE) 419) +#define NML_INTERP_BLOCK_DELETE_TYPE ((NMLTYPE) 421) +#define NML_INTERP_STEP_TYPE ((NMLTYPE) 422) +#define NML_INTERP_OPTIONAL_STOP_TYPE ((NMLTYPE) 425) /* sets mode */ +#define NML_INTERP_UNION_TYPE ((NMLTYPE) 426) +#define NML_INTERP_EXEC_OPTIONAL_STOP_TYPE ((NMLTYPE) 427) /* does it */ + +/* nml messages to WMSA */ + +#define NML_WMSA_INIT_TYPE ((NMLTYPE) 501) +#define NML_WMSA_EXIT_TYPE ((NMLTYPE) 503) +#define NML_WMSA_MODE_TYPE ((NMLTYPE) 505) +#define NML_WMSA_STATE_TYPE ((NMLTYPE) 507) +#define NML_WMSA_HALT_TYPE ((NMLTYPE) 508) + +/* Generic NML messages */ +#define NML_SET_PARAMETER_TYPE ((NMLTYPE) 600) +#define NML_GENERIC_TYPE ((NMLTYPE) 601) + +/* Note: no specific NML messages to HME-- HME aggregates WMSA, + TRAJ, SERVO, and IO */ + +/* timed-out wait for read-ready status on NML channel. Returns + 0 if OK, -1 if timed out. */ +extern int nml_wait_ready(NML *, double timeout = 0.030, int times = 33); + +/* NML formatting function prototype */ +extern int nmlformat(NMLTYPE type, void *buffer, CMS *cms); + +/* Application data types */ + +/* NML types for SERVO */ + +class NML_SERVO_INIT : public NMLmsg +{ + public: + NML_SERVO_INIT() : NMLmsg(NML_SERVO_INIT_TYPE, sizeof(NML_SERVO_INIT)) {}; + void update(); +}; +extern int nml_servo_init(); + +class NML_SERVO_EXIT : public NMLmsg +{ + public: + NML_SERVO_EXIT() : NMLmsg(NML_SERVO_EXIT_TYPE, sizeof(NML_SERVO_EXIT)) {}; + void update(); +}; +extern int nml_servo_exit(); + +class NML_SERVO_SET_CYCLE : public NMLmsg +{ + public: + NML_SERVO_SET_CYCLE() : NMLmsg(NML_SERVO_SET_CYCLE_TYPE, sizeof(NML_SERVO_SET_CYCLE)) {}; + void update(CMS *cms); + + double cycle; +}; +extern int nml_servo_set_cycle(double cycle); + +class NML_SERVO_SET_GAINS : public NMLmsg +{ + public: + NML_SERVO_SET_GAINS() : NMLmsg(NML_SERVO_SET_GAINS_TYPE, sizeof(NML_SERVO_SET_GAINS)) {}; + void update(CMS *cms); + + int axis; + NML_SERVO_GAINS gains; +}; +extern int nml_servo_set_gains(int axis, NML_SERVO_GAINS gains); + +class NML_SERVO_SET_LIMITS : public NMLmsg +{ + public: + NML_SERVO_SET_LIMITS() : NMLmsg(NML_SERVO_SET_LIMITS_TYPE, sizeof(NML_SERVO_SET_LIMITS)) {}; + void update(CMS *cms); + + int axis; + double pos; + double neg; +}; +extern int nml_servo_set_limits(int axis, double pos, double neg); + +class NML_SERVO_SET_OFFSET : public NMLmsg +{ + public: + NML_SERVO_SET_OFFSET() : NMLmsg(NML_SERVO_SET_OFFSET_TYPE, sizeof(NML_SERVO_SET_OFFSET)) {}; + void update(CMS *cms); + + NML_JOINT offset; +}; +extern int nml_servo_set_offset(NML_JOINT &offset); + +class NML_SERVO_ENABLE : public NMLmsg +{ + public: + NML_SERVO_ENABLE() : NMLmsg(NML_SERVO_ENABLE_TYPE, sizeof(NML_SERVO_ENABLE)) {}; + void update(CMS *cms); + + int axis; +}; +extern int nml_servo_enable(int axis); + +class NML_SERVO_DISABLE : public NMLmsg +{ + public: + NML_SERVO_DISABLE() : NMLmsg(NML_SERVO_DISABLE_TYPE, sizeof(NML_SERVO_DISABLE)) {}; + void update(CMS *cms); + + int axis; +}; +extern int nml_servo_disable(int axis); + +class NML_SERVO_HOME : public NMLmsg +{ + public: + NML_SERVO_HOME() : NMLmsg(NML_SERVO_HOME_TYPE, sizeof(NML_SERVO_HOME)) {}; + void update(CMS *cms); + + int axis; +}; +extern int nml_servo_home(int axis); + +class NML_SERVO_JOG : public NMLmsg +{ + public: + NML_SERVO_JOG() : NMLmsg(NML_SERVO_JOG_TYPE, sizeof(NML_SERVO_JOG)) {}; + void update(CMS *cms); + + int axis; + double speed; +}; +extern int nml_servo_jog(int axis, double speed); + +class NML_SERVO_JOG_STOP : public NMLmsg +{ + public: + NML_SERVO_JOG_STOP() : NMLmsg(NML_SERVO_JOG_STOP_TYPE, sizeof(NML_SERVO_JOG_STOP)) {}; + void update(CMS *cms); + + int axis; +}; +extern int nml_servo_jog_stop(int axis); + +class NML_SERVO_POS : public NMLmsg +{ + public: + NML_SERVO_POS() : NMLmsg(NML_SERVO_POS_TYPE, sizeof(NML_SERVO_POS)) {}; + void update(CMS *cms); + + NML_JOINT joint; +}; +extern int nml_servo_pos(NML_JOINT &joint); + +class NML_SERVO_INCR_JOG : public NMLmsg +{ + public: + NML_SERVO_INCR_JOG() : NMLmsg(NML_SERVO_INCR_JOG_TYPE, sizeof(NML_SERVO_INCR_JOG)) {}; + void update(CMS *cms); + + int axis; + double speed; + double incr; +}; +extern int nml_servo_incr_jog(int axis, double speed, double incr); + +class NML_SERVO_ABS_JOG : public NMLmsg +{ + public: + NML_SERVO_ABS_JOG() : NMLmsg(NML_SERVO_ABS_JOG_TYPE, sizeof(NML_SERVO_ABS_JOG)) {}; + void update(CMS *cms); + + int axis; + double speed; + double abspos; +}; +extern int nml_servo_abs_jog(int axis, double speed, double abspos); + +class NML_SERVO_SET_SCALE : public NMLmsg +{ + public: + NML_SERVO_SET_SCALE() : NMLmsg(NML_SERVO_SET_SCALE_TYPE, sizeof(NML_SERVO_SET_SCALE)) {}; + void update(CMS *cms); + + int axis; + NML_SERVO_SCALE scale; +}; +extern int nml_servo_set_scale(int axis, NML_SERVO_SCALE scale); + +class NML_SERVO_HALT : public NMLmsg +{ + public: + NML_SERVO_HALT() : NMLmsg(NML_SERVO_HALT_TYPE, sizeof(NML_SERVO_HALT)) {}; + void update(); +}; +extern int nml_servo_halt(); + +/* NML types for TRAJ */ + +class NML_TRAJ_INIT : public NMLmsg +{ + public: + NML_TRAJ_INIT() : NMLmsg(NML_TRAJ_INIT_TYPE, sizeof(NML_TRAJ_INIT)) {}; + void update(); +}; +/* Initializes any parameters for the traj level-- WM data such + as traverse and feed rates, and feed override. Board-specific stuff + would go here too. */ +extern int nml_traj_init(); + +class NML_TRAJ_EXIT : public NMLmsg +{ + public: + NML_TRAJ_EXIT() : NMLmsg(NML_TRAJ_EXIT_TYPE, sizeof(NML_TRAJ_EXIT)) {}; + void update(); +}; +/* called when traj level is no longer needed. Put any board-specific + cleanup in here. */ +extern int nml_traj_exit(); + +class NML_TRAJ_SET_CYCLE : public NMLmsg +{ + public: + NML_TRAJ_SET_CYCLE() : NMLmsg(NML_TRAJ_SET_CYCLE_TYPE, sizeof(NML_TRAJ_SET_CYCLE)) {}; + void update(CMS *cms); + + double cycle; +}; +/* sets the trajectory interpolation time */ +extern int nml_traj_set_cycle(double cycle); + +class NML_TRAJ_SET_NEIGHBORHOOD : public NMLmsg +{ + public: + NML_TRAJ_SET_NEIGHBORHOOD() : NMLmsg(NML_TRAJ_SET_NEIGHBORHOOD_TYPE, sizeof(NML_TRAJ_SET_NEIGHBORHOOD)) {}; + void update(CMS *cms); + + double neighborhood; +}; +/* sets the delta, in currently active units, within which motions + will be deemed to be in position (as reported in inpos) */ +extern int nml_traj_set_neighborhood(double neighborhood); + +class NML_TRAJ_SET_OFFSET : public NMLmsg +{ + public: + NML_TRAJ_SET_OFFSET() : NMLmsg(NML_TRAJ_SET_OFFSET_TYPE, sizeof(NML_TRAJ_SET_OFFSET)) {}; + void update(CMS *cms); + + NML_ROTPOSE offset; +}; +/* set the post-added offset */ +extern int nml_traj_set_offset(NML_ROTPOSE &offset); + +class NML_TRAJ_SET_TRAVERSE_RATE : public NMLmsg +{ + public: + NML_TRAJ_SET_TRAVERSE_RATE() : NMLmsg(NML_TRAJ_SET_TRAVERSE_RATE_TYPE, sizeof(NML_TRAJ_SET_TRAVERSE_RATE)) {}; + void update(CMS *cms); + + double rate; +}; +/* set the vector speed used for all subsequent traverse moves, as called + by nml_traj_straight_traverse. It does *not* affect the feed rate at + which already-queued straight traverses will take place (the override + will affect any queued motions) */ +extern int nml_traj_set_traverse_rate(double rate); + +class NML_TRAJ_SET_FEED_RATE : public NMLmsg +{ + public: + NML_TRAJ_SET_FEED_RATE() : NMLmsg(NML_TRAJ_SET_FEED_RATE_TYPE, sizeof(NML_TRAJ_SET_FEED_RATE)) {}; + void update(CMS *cms); + + double rate; +}; +/* set the vector speed used for all subsequent straight and arc + feeds, as called by nml_traj_straight_feed or nml_traj_arc_feed. It + does *not* affect the feed rate at which already-queued straight feeds + will take place (the override will affect any queued motions) + */ +extern int nml_traj_set_feed_rate(double rate); + +class NML_TRAJ_SET_FEED_OVERRIDE : public NMLmsg +{ + public: + NML_TRAJ_SET_FEED_OVERRIDE() : NMLmsg(NML_TRAJ_SET_FEED_OVERRIDE_TYPE, sizeof(NML_TRAJ_SET_FEED_OVERRIDE)) {}; + void update(CMS *cms); + + double override; +}; +/* set the scale factor used to scale all feeds (straight, arc, and traverse) + immediately, that is, the current move and any already queued or subsequent + moves vector speed will be scaled by this factor as soon as the function + is called. */ +extern int nml_traj_set_feed_override(double override); + +class NML_TRAJ_STRAIGHT_TRAVERSE : public NMLmsg +{ + public: + NML_TRAJ_STRAIGHT_TRAVERSE() : NMLmsg(NML_TRAJ_STRAIGHT_TRAVERSE_TYPE, sizeof(NML_TRAJ_STRAIGHT_TRAVERSE)) {}; + void update(CMS *cms); + + NML_ROTPOSE pos; +}; +/* move in a straight line at the feed rate set by the last call to + nml_traj_set_traverse_rate */ +extern int nml_traj_straight_traverse(NML_ROTPOSE &pos); + +class NML_TRAJ_STRAIGHT_FEED : public NMLmsg +{ + public: + NML_TRAJ_STRAIGHT_FEED() : NMLmsg(NML_TRAJ_STRAIGHT_FEED_TYPE, sizeof(NML_TRAJ_STRAIGHT_FEED)) {}; + void update(CMS *cms); + + NML_ROTPOSE pos; +}; +/* move in a straight line at the feed rate set by the last call to + nml_traj_set_feed_rate */ +extern int nml_traj_straight_feed(NML_ROTPOSE &pos); + +class NML_TRAJ_ARC_FEED : public NMLmsg +{ + public: + NML_TRAJ_ARC_FEED() : NMLmsg(NML_TRAJ_ARC_FEED_TYPE, sizeof(NML_TRAJ_ARC_FEED)) {}; + void update(CMS *cms); + + double first_axis; + double second_axis; + double rotation; + double axis_end_point; + CANON_PLANE plane; +}; +/* move in an arc at the feed rate set by the last call to + nml_traj_set_feed_rate */ +extern int nml_traj_arc_feed(double f, double s, double r, double aep, + CANON_PLANE plane); + +class NML_TRAJ_PAUSE : public NMLmsg +{ + public: + NML_TRAJ_PAUSE() : NMLmsg(NML_TRAJ_PAUSE_TYPE, sizeof(NML_TRAJ_PAUSE)) {}; + void update(); +}; +/* pause the current motion, until the next call to nml_traj_resume. This + will affect the current motion, or any subsequent motions if none is + running now but some are called for later. */ +extern int nml_traj_pause(); + +class NML_TRAJ_RESUME : public NMLmsg +{ + public: + NML_TRAJ_RESUME() : NMLmsg(NML_TRAJ_RESUME_TYPE, sizeof(NML_TRAJ_RESUME)) {}; + void update(); +}; +/* resume the current motion that was paused due to nml_traj_pause, and + don't pause any subsequent motions if none is paused right now. */ +extern int nml_traj_resume(); + +class NML_TRAJ_SET_ORIGIN : public NMLmsg +{ + public: + NML_TRAJ_SET_ORIGIN() : NMLmsg(NML_TRAJ_SET_ORIGIN_TYPE, sizeof(NML_TRAJ_SET_ORIGIN)) {}; + void update(CMS *cms); + + NML_ROTPOSE origin; +}; +extern int nml_traj_set_origin(NML_ROTPOSE &origin); + +class NML_TRAJ_USE_ORIGIN : public NMLmsg +{ + public: + NML_TRAJ_USE_ORIGIN() : NMLmsg(NML_TRAJ_USE_ORIGIN_TYPE, sizeof(NML_TRAJ_USE_ORIGIN)) {}; + void update(CMS *cms); + + CANON_ORIGIN origin; +}; +extern int nml_traj_use_origin(CANON_ORIGIN origin); + +class NML_TRAJ_USE_TOOL_LENGTH_OFFSET : public NMLmsg +{ + public: + NML_TRAJ_USE_TOOL_LENGTH_OFFSET() : + NMLmsg(NML_TRAJ_USE_TOOL_LENGTH_OFFSET_TYPE, + sizeof(NML_TRAJ_USE_TOOL_LENGTH_OFFSET)) {}; + void update(CMS *cms); + + double length; +}; +extern int nml_traj_use_tool_length_offset(double length); + +class NML_TRAJ_START_SEQUENCE : public NMLmsg +{ + public: + NML_TRAJ_START_SEQUENCE() : + NMLmsg(NML_TRAJ_START_SEQUENCE_TYPE, + sizeof(NML_TRAJ_START_SEQUENCE)) {}; + void update(); +}; +/* call this just prior to the beginning of the first move in any + queued move sequence */ +extern int nml_traj_start_sequence(); + +class NML_TRAJ_STOP_SEQUENCE : public NMLmsg +{ + public: + NML_TRAJ_STOP_SEQUENCE() : + NMLmsg(NML_TRAJ_STOP_SEQUENCE_TYPE, + sizeof(NML_TRAJ_STOP_SEQUENCE)) {}; + void update(); +}; +/* call this just after the last move in any queued move sequence, to + signify that motion will stop after the last move. */ +extern int nml_traj_stop_sequence(); + +class NML_TRAJ_DWELL : public NMLmsg +{ + public: + NML_TRAJ_DWELL() : + NMLmsg(NML_TRAJ_DWELL_TYPE, + sizeof(NML_TRAJ_DWELL)) {}; + void update(CMS *cms); + + double time; /* in seconds */ +}; +/* wait at zero speed for the specified time, in seconds. This takes + effect after the last queued motion, not immediately. */ +extern int nml_traj_dwell(double time); + +class NML_TRAJ_SLAVE : public NMLmsg +{ + public: + NML_TRAJ_SLAVE() : NMLmsg(NML_TRAJ_SLAVE_TYPE, sizeof(NML_TRAJ_SLAVE)) {}; + void update(CMS *cms); + + int master; /* master axis number, 1..NML_JOINT_MAX */ + int slave; /* slave axis number */ + double ratio; /* slave units/master units */ +}; +/* slave/unslave axes-- if master is 0, then unslave slave axis; + else use master axis as source for driving slave axis, at + ratio master units/slave units */ +extern int nml_traj_slave(int master, int slave, double ratio); + +class NML_TRAJ_HALT : public NMLmsg +{ + public: + NML_TRAJ_HALT() : NMLmsg(NML_TRAJ_HALT_TYPE, sizeof(NML_TRAJ_HALT)) {}; + void update(); +}; +extern int nml_traj_halt(); + +class NML_TRAJ_DISABLE_FEED_OVERRIDE : public NMLmsg +{ + public: + NML_TRAJ_DISABLE_FEED_OVERRIDE() : NMLmsg(NML_TRAJ_DISABLE_FEED_OVERRIDE_TYPE, sizeof(NML_TRAJ_DISABLE_FEED_OVERRIDE)) {}; + void update(CMS *cms); + + int disabled; +}; +/* called when traj level is no longer needed. Put any board-specific + cleanup in here. */ +extern int nml_traj_disable_feed_override(int disabled); + +/* NML messages to IO */ + +class NML_IO_INIT : public NMLmsg +{ + public: + NML_IO_INIT() : NMLmsg(NML_IO_INIT_TYPE, sizeof(NML_IO_INIT)) {}; + void update(); +}; +extern int nml_io_init(); + +class NML_IO_EXIT : public NMLmsg +{ + public: + NML_IO_EXIT() : NMLmsg(NML_IO_EXIT_TYPE, sizeof(NML_IO_EXIT)) {}; + void update(); +}; +extern int nml_io_exit(); + +class NML_IO_SPINDLE_ON : public NMLmsg +{ + public: + NML_IO_SPINDLE_ON() : NMLmsg(NML_IO_SPINDLE_ON_TYPE, sizeof(NML_IO_SPINDLE_ON)) {}; + void update(CMS *cms); + + double speed; +}; +extern int nml_io_spindle_on(double speed); + +class NML_IO_SPINDLE_ROTATE : public NMLmsg +{ + public: + NML_IO_SPINDLE_ROTATE() : NMLmsg(NML_IO_SPINDLE_ROTATE_TYPE, sizeof(NML_IO_SPINDLE_ROTATE)) {}; + void update(CMS *cms); + + double incr; /* where, in degrees, from here = 0 */ + double speed; /* how fast, in rpms */ +}; +extern int nml_io_spindle_rotate(double incr, double speed); + +class NML_IO_SPINDLE_OFF : public NMLmsg +{ + public: + NML_IO_SPINDLE_OFF() : NMLmsg(NML_IO_SPINDLE_OFF_TYPE, sizeof(NML_IO_SPINDLE_OFF)) {}; + void update(); +}; +extern int nml_io_spindle_off(); + +class NML_IO_SPINDLE_RETRACT : public NMLmsg +{ + public: + NML_IO_SPINDLE_RETRACT() : NMLmsg(NML_IO_SPINDLE_RETRACT_TYPE, sizeof(NML_IO_SPINDLE_RETRACT)) {}; + void update(); +}; +extern int nml_io_spindle_retract(); + +class NML_IO_MIST_ON : public NMLmsg +{ + public: + NML_IO_MIST_ON() : NMLmsg(NML_IO_MIST_ON_TYPE, sizeof(NML_IO_MIST_ON)) {}; + void update(); +}; +extern int nml_io_mist_on(); + +class NML_IO_MIST_OFF : public NMLmsg +{ + public: + NML_IO_MIST_OFF() : NMLmsg(NML_IO_MIST_OFF_TYPE, sizeof(NML_IO_MIST_OFF)) {}; + void update(); +}; +extern int nml_io_mist_off(); + +class NML_IO_FLOOD_ON : public NMLmsg +{ + public: + NML_IO_FLOOD_ON() : NMLmsg(NML_IO_FLOOD_ON_TYPE, sizeof(NML_IO_FLOOD_ON)) {}; + void update(); +}; +extern int nml_io_flood_on(); + +class NML_IO_FLOOD_OFF : public NMLmsg +{ + public: + NML_IO_FLOOD_OFF() : NMLmsg(NML_IO_FLOOD_OFF_TYPE, sizeof(NML_IO_FLOOD_OFF)) {}; + void update(); +}; +extern int nml_io_flood_off(); + +class NML_IO_SET_SPEED_OVERRIDE : public NMLmsg +{ + public: + NML_IO_SET_SPEED_OVERRIDE() : NMLmsg(NML_IO_SET_SPEED_OVERRIDE_TYPE, sizeof(NML_IO_SET_SPEED_OVERRIDE)) {}; + void update(CMS *cms); + + double override; +}; +extern int nml_io_set_speed_override(double override); + +class NML_IO_READ_TOOL_TABLE : public NMLmsg +{ + public: + NML_IO_READ_TOOL_TABLE() : NMLmsg(NML_IO_READ_TOOL_TABLE_TYPE, sizeof(NML_IO_READ_TOOL_TABLE)) {}; + void update(CMS *cms); + + char file[NML_TOOL_FILENAME_LEN]; +}; +extern int nml_io_read_tool_table(char *file); + +class NML_IO_PREP_FOR_TOOL : public NMLmsg +{ + public: + NML_IO_PREP_FOR_TOOL() : NMLmsg(NML_IO_PREP_FOR_TOOL_TYPE, + sizeof(NML_IO_PREP_FOR_TOOL)) {}; + void update(CMS *cms); + + int tool; +}; +extern int nml_io_prep_for_tool(int tool); + +class NML_IO_LOAD_TOOL : public NMLmsg +{ + public: + NML_IO_LOAD_TOOL() : NMLmsg(NML_IO_LOAD_TOOL_TYPE, + sizeof(NML_IO_LOAD_TOOL)) {}; + void update(); +}; +extern int nml_io_load_tool(); + +class NML_IO_UNLOAD_TOOL : public NMLmsg +{ + public: + NML_IO_UNLOAD_TOOL() : NMLmsg(NML_IO_UNLOAD_TOOL_TYPE, + sizeof(NML_IO_UNLOAD_TOOL)) {}; + void update(); +}; +extern int nml_io_unload_tool(); + +class NML_IO_SHUTTLE_PALLETS : public NMLmsg +{ + public: + NML_IO_SHUTTLE_PALLETS() : NMLmsg(NML_IO_SHUTTLE_PALLETS_TYPE, + sizeof(NML_IO_SHUTTLE_PALLETS)) {}; + void update(); +}; +extern int nml_io_shuttle_pallets(); + +class NML_IO_EXECUTE_CYCLE : public NMLmsg +{ + public: + NML_IO_EXECUTE_CYCLE() : NMLmsg(NML_IO_EXECUTE_CYCLE_TYPE, + sizeof(NML_IO_EXECUTE_CYCLE)) {}; + void update(); +}; +extern int nml_io_execute_cycle(); + +#define NML_IO_PENDANT_MODE_ENABLE 1 +#define NML_IO_PENDANT_MODE_DISABLE 2 +class NML_IO_PENDANT_MODE : public NMLmsg +{ + public: + NML_IO_PENDANT_MODE() : NMLmsg(NML_IO_PENDANT_MODE_TYPE, + sizeof(NML_IO_PENDANT_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_io_pendant_mode(int mode); + +#define NML_IO_COOLANT_MODE_ON 1 +#define NML_IO_COOLANT_MODE_OFF 2 +#define NML_IO_COOLANT_MODE_AUTO 3 +class NML_IO_COOLANT_MODE : public NMLmsg +{ + public: + NML_IO_COOLANT_MODE() : NMLmsg(NML_IO_COOLANT_MODE_TYPE, + sizeof(NML_IO_COOLANT_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_io_coolant_mode(int mode); + +class NML_IO_SET_POCKET_NUMBER : public NMLmsg +{ + public: + NML_IO_SET_POCKET_NUMBER() : NMLmsg(NML_IO_SET_POCKET_NUMBER_TYPE, + sizeof(NML_IO_SET_POCKET_NUMBER)) {}; + void update(CMS *cms); + + int pocket; +}; +extern int nml_io_set_pocket_number(int pocket); + +class NML_IO_SET_TOOL_NUMBER : public NMLmsg +{ + public: + NML_IO_SET_TOOL_NUMBER() : NMLmsg(NML_IO_SET_TOOL_NUMBER_TYPE, + sizeof(NML_IO_SET_TOOL_NUMBER)) {}; + void update(CMS *cms); + + int tool; +}; +extern int nml_io_set_tool_number(int tool); + +class NML_IO_SET_PALLET_NUMBER : public NMLmsg +{ + public: + NML_IO_SET_PALLET_NUMBER() : NMLmsg(NML_IO_SET_PALLET_NUMBER_TYPE, + sizeof(NML_IO_SET_PALLET_NUMBER)) {}; + void update(CMS *cms); + + int pallet; +}; +extern int nml_io_set_pallet_number(int pallet); + +#define NML_IO_SHUTTLE_MODE_ENABLE 1 +#define NML_IO_SHUTTLE_MODE_DISABLE 2 +class NML_IO_SHUTTLE_MODE : public NMLmsg +{ + public: + NML_IO_SHUTTLE_MODE() : NMLmsg(NML_IO_SHUTTLE_MODE_TYPE, + sizeof(NML_IO_SHUTTLE_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_io_shuttle_mode(int mode); + +#define NML_IO_PALLET_MODE_AUTO 1 +#define NML_IO_PALLET_MODE_UNCLAMP 2 +class NML_IO_PALLET_MODE : public NMLmsg +{ + public: + NML_IO_PALLET_MODE() : NMLmsg(NML_IO_PALLET_MODE_TYPE, + sizeof(NML_IO_PALLET_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_io_pallet_mode(int mode); + +class NML_IO_MODE : public NMLmsg +{ + public: + NML_IO_MODE() : NMLmsg(NML_IO_MODE_TYPE, sizeof(NML_IO_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_io_mode(int mode); + +class NML_IO_STATE : public NMLmsg +{ + public: + NML_IO_STATE() : NMLmsg(NML_IO_STATE_TYPE, sizeof(NML_IO_STATE)) {}; + void update(CMS *cms); + + int state; +}; +extern int nml_io_state(int state); + +class NML_IO_CYCLE_START : public NMLmsg +{ + public: + NML_IO_CYCLE_START() : NMLmsg(NML_IO_CYCLE_START_TYPE, sizeof(NML_IO_CYCLE_START)) {}; + void update(); +}; +extern int nml_io_cycle_start(); + +class NML_IO_CYCLE_STOP : public NMLmsg +{ + public: + NML_IO_CYCLE_STOP() : NMLmsg(NML_IO_CYCLE_STOP_TYPE, sizeof(NML_IO_CYCLE_STOP)) {}; + void update(); +}; +extern int nml_io_cycle_stop(); + +class NML_IO_PREP_FOR_GEAR_CHANGE : public NMLmsg +{ + public: + NML_IO_PREP_FOR_GEAR_CHANGE() : NMLmsg(NML_IO_PREP_FOR_GEAR_CHANGE_TYPE, sizeof(NML_IO_PREP_FOR_GEAR_CHANGE)) {}; + void update(); +}; +extern int nml_io_prep_for_gear_change(); + +class NML_IO_CHANGE_GEARS : public NMLmsg +{ + public: + NML_IO_CHANGE_GEARS() : NMLmsg(NML_IO_CHANGE_GEARS_TYPE, sizeof(NML_IO_CHANGE_GEARS)) {}; + void update(CMS *cms); + + int gear; +}; +extern int nml_io_change_gears(int gear); + +class NML_IO_ORIENT_SPINDLE : public NMLmsg +{ + public: + NML_IO_ORIENT_SPINDLE() : NMLmsg(NML_IO_ORIENT_SPINDLE_TYPE, sizeof(NML_IO_ORIENT_SPINDLE)) {}; + void update(CMS *cms); + + double orientation; /* degrees */ + int direction; /* one of the CANON_DIRECTIONS */ +}; +extern int nml_io_orient_spindle(double orientation, int direction); + +class NML_IO_HALT : public NMLmsg +{ + public: + NML_IO_HALT() : NMLmsg(NML_IO_HALT_TYPE, sizeof(NML_IO_HALT)) {}; + void update(); +}; +extern int nml_io_halt(); + +class NML_IO_USE_SPINDLE_FORCE : public NMLmsg +{ + public: + NML_IO_USE_SPINDLE_FORCE() : NMLmsg(NML_IO_USE_SPINDLE_FORCE_TYPE, sizeof(NML_IO_USE_SPINDLE_FORCE)) {}; + void update(CMS *cms); + + double force; /* units=newtons */ + double direction; /* orientation from 0, units=degrees */ +}; +extern int nml_io_use_spindle_force(double force, double direction); + +class NML_IO_USE_NO_SPINDLE_FORCE : public NMLmsg +{ + public: + NML_IO_USE_NO_SPINDLE_FORCE() : NMLmsg(NML_IO_USE_NO_SPINDLE_FORCE_TYPE, sizeof(NML_IO_USE_NO_SPINDLE_FORCE)) {}; + void update(); +}; +extern int nml_io_use_no_spindle_force(); + +class NML_IO_ARC_SPINDLE_FORCE : public NMLmsg +{ + public: + NML_IO_ARC_SPINDLE_FORCE() : NMLmsg(NML_IO_ARC_SPINDLE_FORCE_TYPE, sizeof(NML_IO_ARC_SPINDLE_FORCE)) {}; + void update(CMS *cms); + + double force; /* units=newtons */ + double start; /* beginning orientation, units=degrees */ + double end; /* ending orientation, units=degrees */ + double rate; /* degrees/sec, + = CW, - = CCW */ +}; +extern int nml_io_arc_spindle_force(double force, double direction); + +class NML_IO_DISABLE_SPEED_OVERRIDE : public NMLmsg +{ + public: + NML_IO_DISABLE_SPEED_OVERRIDE() : NMLmsg(NML_IO_DISABLE_SPEED_OVERRIDE_TYPE, sizeof(NML_IO_DISABLE_SPEED_OVERRIDE)) {}; + void update(CMS *cms); + + int disabled; +}; +/* called when traj level is no longer needed. Put any board-specific + cleanup in here. */ +extern int nml_io_disable_speed_override(int disabled); + +/* NML types for INTERP */ + +class NML_INTERP_INIT : public NMLmsg +{ + public: + NML_INTERP_INIT() : NMLmsg(NML_INTERP_INIT_TYPE, sizeof(NML_INTERP_INIT)) {}; + void update(); +}; +extern int nml_interp_init(); + +class NML_INTERP_EXIT : public NMLmsg +{ + public: + NML_INTERP_EXIT() : NMLmsg(NML_INTERP_EXIT_TYPE, sizeof(NML_INTERP_EXIT)) {}; + void update(); +}; +extern int nml_interp_exit(); + +class NML_INTERP_OPEN : public NMLmsg +{ + public: + NML_INTERP_OPEN() : NMLmsg(NML_INTERP_OPEN_TYPE, sizeof(NML_INTERP_OPEN)) {}; + void update(CMS *cms); + + char file[NML_INTERP_FILE_LEN]; +}; +extern int nml_interp_open(char *file); + +class NML_INTERP_READ : public NMLmsg +{ + public: + NML_INTERP_READ() : NMLmsg(NML_INTERP_READ_TYPE, sizeof(NML_INTERP_READ)) {}; + void update(); +}; +extern int nml_interp_read(); + +class NML_INTERP_PAUSE : public NMLmsg +{ + public: + NML_INTERP_PAUSE() : NMLmsg(NML_INTERP_PAUSE_TYPE, sizeof(NML_INTERP_PAUSE)) {}; + void update(); +}; +extern int nml_interp_pause(); + +class NML_INTERP_RESUME : public NMLmsg +{ + public: + NML_INTERP_RESUME() : NMLmsg(NML_INTERP_RESUME_TYPE, sizeof(NML_INTERP_RESUME)) {}; + void update(); +}; +extern int nml_interp_resume(); + +class NML_INTERP_EXECUTE : public NMLmsg +{ + public: + NML_INTERP_EXECUTE() : NMLmsg(NML_INTERP_EXECUTE_TYPE, sizeof(NML_INTERP_EXECUTE)) {}; + void update(CMS *cms); + + char command[NML_INTERP_COMMAND_LEN]; +}; +extern int nml_interp_execute(char *command); + +class NML_INTERP_RUN : public NMLmsg +{ + public: + NML_INTERP_RUN() : NMLmsg(NML_INTERP_RUN_TYPE, sizeof(NML_INTERP_RUN)) {}; + void update(CMS *cms); + + char file[NML_INTERP_FILE_LEN]; +}; +extern int nml_interp_run(char *command); + +class NML_INTERP_HALT : public NMLmsg +{ + public: + NML_INTERP_HALT() : NMLmsg(NML_INTERP_HALT_TYPE, sizeof(NML_INTERP_HALT)) {}; + void update(); +}; +extern int nml_interp_halt(); + +class NML_INTERP_CLOSE : public NMLmsg +{ + public: + NML_INTERP_CLOSE() : NMLmsg(NML_INTERP_CLOSE_TYPE, sizeof(NML_INTERP_CLOSE)) {}; + void update(); +}; +extern int nml_interp_close(); + +class NML_INTERP_SINGLE_BLOCK : public NMLmsg +{ + public: + NML_INTERP_SINGLE_BLOCK() : NMLmsg(NML_INTERP_SINGLE_BLOCK_TYPE, sizeof(NML_INTERP_SINGLE_BLOCK)) {}; + void update(CMS *cms); + + int on; +}; +extern int nml_interp_single_block(int on); + +class NML_INTERP_BLOCK_DELETE : public NMLmsg +{ + public: + NML_INTERP_BLOCK_DELETE() : NMLmsg(NML_INTERP_BLOCK_DELETE_TYPE, sizeof(NML_INTERP_BLOCK_DELETE)) {}; + void update(CMS *cms); + + int on; +}; +extern int nml_interp_block_delete(int on); + +class NML_INTERP_STEP : public NMLmsg +{ + public: + NML_INTERP_STEP() : NMLmsg(NML_INTERP_STEP_TYPE, sizeof(NML_INTERP_STEP)) {}; + void update(); +}; +extern int nml_interp_step(); + +class NML_INTERP_OPTIONAL_STOP : public NMLmsg +{ + public: + NML_INTERP_OPTIONAL_STOP() : NMLmsg(NML_INTERP_OPTIONAL_STOP_TYPE, sizeof(NML_INTERP_OPTIONAL_STOP)) {}; + void update(CMS *cms); + + int on; /* non-zero means turn on, else off */ +}; +extern int nml_interp_optional_stop(int on); +class NML_INTERP_EXEC_OPTIONAL_STOP : public NMLmsg +{ + public: + NML_INTERP_EXEC_OPTIONAL_STOP() : NMLmsg(NML_INTERP_EXEC_OPTIONAL_STOP_TYPE, sizeof(NML_INTERP_EXEC_OPTIONAL_STOP)) {}; + void update(); +}; +extern int nml_interp_exec_optional_stop(); + +/* NML types for WMSA */ + +class NML_WMSA_INIT : public NMLmsg +{ + public: + NML_WMSA_INIT() : NMLmsg(NML_WMSA_INIT_TYPE, sizeof(NML_WMSA_INIT)) {}; + void update(); +}; +extern int nml_wmsa_init(); + +class NML_WMSA_EXIT : public NMLmsg +{ + public: + NML_WMSA_EXIT() : NMLmsg(NML_WMSA_EXIT_TYPE, sizeof(NML_WMSA_EXIT)) {}; + void update(); +}; +extern int nml_wmsa_exit(); + +class NML_WMSA_MODE : public NMLmsg +{ + public: + NML_WMSA_MODE() : NMLmsg(NML_WMSA_MODE_TYPE, sizeof(NML_WMSA_MODE)) {}; + void update(CMS *cms); + + int mode; +}; +extern int nml_wmsa_mode(int mode); + +class NML_WMSA_STATE : public NMLmsg +{ + public: + NML_WMSA_STATE() : NMLmsg(NML_WMSA_STATE_TYPE, sizeof(NML_WMSA_STATE)) {}; + void update(CMS *cms); + + int state; +}; +extern int nml_wmsa_state(int state); + +class NML_WMSA_HALT : public NMLmsg +{ + public: + NML_WMSA_HALT() : NMLmsg(NML_WMSA_HALT_TYPE, sizeof(NML_WMSA_HALT)) {}; + void update(); +}; +extern int nml_wmsa_halt(); + +#define NML_PARAMETER_LEN 80 /* length of chars in parameter */ +class NML_SET_PARAMETER : public NMLmsg +{ + public: + NML_SET_PARAMETER() : NMLmsg(NML_SET_PARAMETER_TYPE, sizeof(NML_SET_PARAMETER)) {}; + void update(CMS *cms); + + NML_PARAMETER type; + char parameter[NML_PARAMETER_LEN]; +}; +extern int nml_set_parameter(NML_PARAMETER type, char *parameter); +/* extension stub */ +extern int x_nml_set_parameter(NML_PARAMETER type, char *parameter); + +/* Diagnostics */ + +#define NML_GENERIC_MESSAGE_LEN 80 /* chars in the generic arg */ +class NML_GENERIC : public NMLmsg +{ + public: + NML_GENERIC() : NMLmsg(NML_GENERIC_TYPE, sizeof(NML_GENERIC)) {}; + void update(CMS *cms); + + char message[NML_GENERIC_MESSAGE_LEN]; +}; +extern int nml_generic(char *message); + +#define MAX_EMC_NML_COMMAND_SIZE 1000 + +/* INTERP LIST */ +struct NML_INTERP_LIST_NODE { + int line_number; + char command[MAX_EMC_NML_COMMAND_SIZE]; +}; + +class NML_INTERP_LIST +{ + public: + NML_INTERP_LIST(); + ~NML_INTERP_LIST(); + + int append(NMLmsg &); + int append(NMLmsg *); + NMLmsg *get(); + NMLmsg *get_last(); + void clear(); + void print(); + int len(); + int get_line_number(); + + private: + RCS_LINKED_LIST *linked_list_ptr; + int line_number; + NML_INTERP_LIST_NODE temp_node; +}; + +/* + PARAMETERS + + Parameters are C++ constants mirroring the .ini file settings, + used with nml_set_parameter(). The numbers need only + be unique among these parameters in this file. They need not match + up with any numbers in the .ini file, although keeping the same + names is a convention for readability. +*/ + +#define DEFAULT_FEED_RATE 101 +#define MAX_FEED_RATE 102 +#define DEFAULT_TRAVERSE_RATE 103 +#define MAX_TRAVERSE_RATE 104 +#define X_HOME_OFFSET 105 +#define Y_HOME_OFFSET 106 +#define Z_HOME_OFFSET 107 +#define B_HOME_OFFSET 108 + +#endif /* #ifndef NML_EMC_HH */ + diff --git a/doc/nml_emc.html b/doc/nml_emc.html new file mode 100644 index 0000000..d0d5c23 --- /dev/null +++ b/doc/nml_emc.html @@ -0,0 +1,16 @@ + + +The NML-EMC Message Set + +This area is under construction. +

    Sorry, No HTML documentation is currently available for the EMC NML vocabulary.

    +
    +

    Last Modified: 08/25/99

    + +
  • See other RCS Library Documents.
  • +
    +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + diff --git a/doc/nml_ex.gif b/doc/nml_ex.gif new file mode 100644 index 0000000..14db706 Binary files /dev/null and b/doc/nml_ex.gif differ diff --git a/doc/nml_ex1.cc b/doc/nml_ex1.cc new file mode 100644 index 0000000..220fd0d --- /dev/null +++ b/doc/nml_ex1.cc @@ -0,0 +1,121 @@ +/* +* New C++ File starts here. +* This file should be named nml_ex1.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=nml_ex1.hh -o nml_ex1.cc +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.06.05_1506:1507 Compiled on Mon Jun 8 09:24:56 EDT 2009 for the java platform. +* $Id: CodeGenCommon.java 1514 2009-06-12 20:09:37Z shackle $ +* +* .gen script : +* 0:load nml_ex1.hh +* 1:clear +* 2:select_from_file nml_ex1.hh +* 3:generate C++ format>nml_ex1.cc +* 4:generate C++ update>nml_ex1.cc +* 5:generate C++ constructor>nml_ex1.cc +* 6:exit +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_ex1.hh" + +// Forward Function Prototypes + + +#ifndef EX_NAME_LIST_LENGTH +#define EX_NAME_LIST_LENGTH 2 +#endif + +const NMLTYPE ex_id_list[EX_NAME_LIST_LENGTH]= { + EXAMPLE_MSG_TYPE, /* 0,101 */ + -1}; +const size_t ex_size_list[EX_NAME_LIST_LENGTH]= { + sizeof(EXAMPLE_MSG), + 0}; + + +// Enumerated Type Constants + +/* +Estimated_size EXAMPLE_MSG 248 +Estimated_size MAXIMUM 248 +*/ +/* +* NML/CMS Format function : ex_format +*/ +int ex_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"ex", + (cms_symbol_lookup_function_t) 0, + (const char **) 0, + ex_id_list,ex_size_list, + EX_NAME_LIST_LENGTH, + 0); + + switch(type) + { + case EXAMPLE_MSG_TYPE: + ((EXAMPLE_MSG *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + +/* +* NML/CMS Update function for EXAMPLE_MSG +* from nml_ex1.hh:0 +*/ +void EXAMPLE_MSG::update(CMS *cms) +{ + + cms->beginClass("EXAMPLE_MSG","NMLmsg"); + cms->update_with_name("d",d); + cms->update_with_name("f",f); + cms->update_with_name("c",c); + cms->update_with_name("s",s); + cms->update_with_name("i",i); + cms->update_with_name("l",l); + cms->update_with_name("uc",uc); + cms->update_with_name("us",us); + cms->update_with_name("ui",ui); + cms->update_with_name("ul",ul); + cms->update_dla_length_with_name("da_length",da_length); + cms->update_dla_with_name("da",da,da_length,20); + + cms->endClass("EXAMPLE_MSG","NMLmsg"); + +} + +/* +* Constructor for EXAMPLE_MSG +* from nml_ex1.hh:0 +*/ +EXAMPLE_MSG::EXAMPLE_MSG() + : NMLmsg(EXAMPLE_MSG_TYPE,sizeof(EXAMPLE_MSG)) +{ + d = (double) 0; + f = (float) 0; + c = (char) 0; + s = (short) 0; + i = (int) 0; + l = (long) 0; + uc = (unsigned char) 0; + us = (unsigned short) 0; + ui = (unsigned int) 0; + ul = (unsigned long) 0; + da_length = (int) 0; + for(int i_da=0; i_da< 20; i_da++) + { + ((double*)da)[i_da] = (double) 0; + } + +} + diff --git a/doc/nml_ex1.hh b/doc/nml_ex1.hh new file mode 100644 index 0000000..e3c8474 --- /dev/null +++ b/doc/nml_ex1.hh @@ -0,0 +1,69 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* nml_ex1.hh */ +#ifndef NML_EX1_HH +#define NML_EX1_HH +#include "rcs.hh" + +/* Give the new structure a unique id number */ +#define EXAMPLE_MSG_TYPE 101 +/* The id number must be unique within a CMS buffer, i.e. the number +must be different than the id of any other type that might be written to +a particular buffer. For simplicity it is recommended that the id number +also be unique within an application. */ + +/* Define the new message structure */ +struct EXAMPLE_MSG: public NMLmsg +{ + /* The constructor needs to store the id number */ + /* and the size of the new structure */ + /* by passing them as arguments to the base class constructor. */ + EXAMPLE_MSG(); + + /* Each new type needs to overload the update function. */ + void update(CMS *cms); + + /* Data in this new message format. */ + double d; + float f; + char c; + short s; + int i; + long l; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long ul; + + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, da, 20); +}; + +/* Declare the NML Format function. */ +int ex_format(NMLTYPE type, void *buf, CMS *cms); + +extern char *TEST_CFG; + +#endif /* End of NML_EMC_HH */ diff --git a/doc/nml_ex10.cc b/doc/nml_ex10.cc new file mode 100644 index 0000000..b990208 --- /dev/null +++ b/doc/nml_ex10.cc @@ -0,0 +1,57 @@ +/* nml_ex10.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +main() +{ + /* NML( format function, buffer name, process name, configuration file ) */ + NML nml1(ex_format, "ex_buf1","ex10_svr","ex_cfg.nml"); + EXAMPLE_MSG example_msg; + + RCS_TIMER timer(5.); + + /* Spawn server and continue. */ + nml_start(); + rcs_print( "Server started..\n" ); + timer.wait(); + + /* set values to something */ + rcs_print( "Sending message 1 at %f\n", etime() ); + example_msg.f = 123.456; + example_msg.c = 'a'; + example_msg.i = 99; + nml1.write(example_msg); + timer.wait(); + + rcs_print( "Sending message 2 at %f\n", etime() ); + example_msg.f = 456.456; + example_msg.c = 'd'; + example_msg.i = 100; + nml1.write(example_msg); + timer.wait(); + + rcs_print( "Sending message 3 at %f\n", etime() ); + example_msg.f = 789.012; + example_msg.c = 'b'; + example_msg.i = 101; + nml1.write(example_msg); + timer.wait(); + + rcs_print( "Sending message 4 at %f\n", etime() ); + example_msg.f = 789.012; + example_msg.c = 'b'; + example_msg.i = 101; + nml1.write(example_msg); + timer.wait(); + + rcs_print( "Sending message 5 at %f\n", etime() ); + example_msg.f = 789.012; + example_msg.c = 'b'; + example_msg.i = 101; + nml1.write(example_msg); + timer.wait(); + + + /* Kill the 2 servers and close NML channels. */ + nml_cleanup(); +} diff --git a/doc/nml_ex1_MsgDict.java b/doc/nml_ex1_MsgDict.java new file mode 100644 index 0000000..4a14b4b --- /dev/null +++ b/doc/nml_ex1_MsgDict.java @@ -0,0 +1,104 @@ +/* +* New Java File starts here. +* This file should be named nml_ex1_MsgDict.java +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : generate_for_java=true generate_for_cpp=false HHFile=/home/shackle/nml_ex1.hh +* RCS_VERSION=2009.12.17_1575* +* .gen script : +* 0:load /home/shackle/nml_ex1.hh +* 1:clear +* 2:select_from_file /home/shackle/nml_ex1.hh +* 3:generate Java dict>/home/shackle/nml_ex1_MsgDict.java +* 4:generate Java classes >* +* 5:exit +* +*/ + +// Import NML classes and interfaces +import rcs.nml.*; + +import java.util.Hashtable; +/* +* Class definition for nml_ex1_MsgDict +* Automatically generated by NML CodeGen Java Applet. +*/ +public class nml_ex1_MsgDict implements NMLMessageDictionary +{ + + // Define an object of every message class. + private EXAMPLE_MSG EXAMPLE_MSG_object = null; + + // ID Type Constants + public static final int EXAMPLE_MSG_TYPE = 101; + + // Sizes useful for C++ compat and preallocating byte storage. + //(not used for normal NML reads/writes). + public long getEstimatedSize(final int _type) + { + switch(_type) + { + case EXAMPLE_MSG_TYPE: /*101*/ + return 232; + default: + break; + } + return 232; /* maximum */ + } + + public long getMaxEstimatedSize() { + return 232; + } + + + + //Define an NML_ENUM_INFO object for the type ID's + NML_ENUM_INFO nml_enum_info_for_type_names =null; + + + //Create a constructor to setup the NML_ENUM_INFO object. + public nml_ex1_MsgDict() + { + nml_enum_info_for_type_names= new NML_ENUM_INFO(); + nml_enum_info_for_type_names.name="nml_ex1_MsgDict"; + Hashtable h1 = new Hashtable(); + Hashtable h2 = new Hashtable(); + Integer I = null; + String S = null; + I=new Integer(EXAMPLE_MSG_TYPE); + S="EXAMPLE_MSG"; + h1.put(I,S); h2.put(S,I); + nml_enum_info_for_type_names.int_to_string_hash=h1; + nml_enum_info_for_type_names.string_to_int_hash=h2; + } + + + + // Miscellaneous Pre-Defined Values + + // Enumerated Type Constants + + + // NML Format Function + public int formatMsg(NMLFormatConverter nml_fc) + { + int return_val=0; + nml_fc.check_type_info(nml_enum_info_for_type_names); + + switch(nml_fc.msg_type) + { + case EXAMPLE_MSG_TYPE: /*101*/ + if(null == EXAMPLE_MSG_object) { + EXAMPLE_MSG_object = new EXAMPLE_MSG(); + } + nml_fc.msg_to_update = EXAMPLE_MSG_object; + EXAMPLE_MSG_object.update(nml_fc); + break; + + default: + return_val=-1; + break; + } + return(return_val); + } + +} diff --git a/doc/nml_ex1_n.cc b/doc/nml_ex1_n.cc new file mode 100644 index 0000000..766bb3f --- /dev/null +++ b/doc/nml_ex1_n.cc @@ -0,0 +1,96 @@ +/* +* New C++ File starts here. +* This file should be named nml_ex1.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=nml_ex1.hh -o /tmp/nml_ex1.cc +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.06.05_1506:1507 Compiled on Mon Jun 8 09:24:56 EDT 2009 for the java platform. +* $Id: CodeGenCommon.java 1512 2009-06-10 13:23:49Z shackle $ +* +* .gen script : +* 0:load nml_ex1.hh +* 1:clear +* 2:select_from_file nml_ex1.hh +* 3:generate C++ protos>nml_ex1_n_codegen_protos.hh +* 4:generate C++ format>nml_ex1_n.cc +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_ex1.hh" + +// Include externally supplied prototypes +#include "nml_ex1_n_codegen_protos.hh" + + + +#ifndef EX_NAME_LIST_LENGTH +#define EX_NAME_LIST_LENGTH 2 +#endif + +const NMLTYPE ex_id_list[EX_NAME_LIST_LENGTH]= { + EXAMPLE_MSG_TYPE, /* 0,101 */ + -1}; +const size_t ex_size_list[EX_NAME_LIST_LENGTH]= { + sizeof(EXAMPLE_MSG), + 0}; + + +// Enumerated Type Constants + +/* +Estimated_size EXAMPLE_MSG 248 +Estimated_size MAXIMUM 248 +*/ +/* +* NML/CMS Format function : ex_format +*/ +int ex_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"ex", + (cms_symbol_lookup_function_t) 0, + (const char **) 0, + ex_id_list,ex_size_list, + EX_NAME_LIST_LENGTH, + 0); + + switch(type) + { + case EXAMPLE_MSG_TYPE: + ((EXAMPLE_MSG *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + +/* +* NML/CMS Update function for EXAMPLE_MSG +* from nml_ex1.hh:0 +*/ +void EXAMPLE_MSG::update(CMS *cms) +{ + + cms->beginClass("EXAMPLE_MSG","NMLmsg"); + cms->update_with_name("d",d); + cms->update_with_name("f",f); + cms->update_with_name("c",c); + cms->update_with_name("s",s); + cms->update_with_name("i",i); + cms->update_with_name("l",l); + cms->update_with_name("uc",uc); + cms->update_with_name("us",us); + cms->update_with_name("ui",ui); + cms->update_with_name("ul",ul); + cms->update_dla_length_with_name("da_length",da_length); + cms->update_dla_with_name("da",da,da_length,20); + + cms->endClass("EXAMPLE_MSG","NMLmsg"); + +} + diff --git a/doc/nml_ex1_n_codegen_protos.hh b/doc/nml_ex1_n_codegen_protos.hh new file mode 100644 index 0000000..73f980b --- /dev/null +++ b/doc/nml_ex1_n_codegen_protos.hh @@ -0,0 +1,47 @@ +/* +* New C++ Header File starts here. +* This file should be named nml_ex1_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=nml_ex1.hh -o /tmp/nml_ex1.cc +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.06.05_1506:1507 Compiled on Mon Jun 8 09:24:56 EDT 2009 for the java platform. +* $Id: CodeGenCommon.java 1512 2009-06-10 13:23:49Z shackle $ +* +* .gen script : +* 0:load nml_ex1.hh +* 1:clear +* 2:select_from_file nml_ex1.hh +* 3:generate C++ protos>nml_ex1_n_codegen_protos.hh +* +*/ + +#ifndef nml_ex1_n_codegen_protos_hh_included +#define nml_ex1_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_ex1.hh" + +// Forward Function Prototypes + + +#ifndef MAX_EX_NAME_LENGTH +#define MAX_EX_NAME_LENGTH 12 +#endif +#ifndef EX_NAME_LIST_LENGTH +#define EX_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE ex_id_list[EX_NAME_LIST_LENGTH]; +extern const size_t ex_size_list[EX_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int ex_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif nml_ex1_n_codegen_protos_hh_included */ + diff --git a/doc/nml_ex1_v2.cc b/doc/nml_ex1_v2.cc new file mode 100644 index 0000000..c76fc2b --- /dev/null +++ b/doc/nml_ex1_v2.cc @@ -0,0 +1,148 @@ +/* +* New C++ File starts here. +* This file should be named nml_ex1_v2.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : generate_symbol_lookups=true HHFile=nml_ex1_v2.hh -o nml_ex1_v2.cc +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2009.06.05_1506:1507 Compiled on Mon Jun 8 09:24:56 EDT 2009 for the java platform. +* $Id: CodeGenCommon.java 1514 2009-06-12 20:09:37Z shackle $ +* +* .gen script : +* 0:load nml_ex1_v2.hh +* 1:clear +* 2:select_from_file nml_ex1_v2.hh +* 3:generate C++ format>nml_ex1_v2.cc +* 4:generate C++ update>nml_ex1_v2.cc +* 5:generate C++ constructor>nml_ex1_v2.cc +* 6:exit +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_ex1_v2.hh" + +// Forward Function Prototypes + + +#ifndef MAX_EX_NAME_LENGTH +#define MAX_EX_NAME_LENGTH 12 +#endif +#ifndef EX_NAME_LIST_LENGTH +#define EX_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char ex_name_list[EX_NAME_LIST_LENGTH][MAX_EX_NAME_LENGTH]= { + "EXAMPLE_MSG", /* 0,101 */ + ""}; +const NMLTYPE ex_id_list[EX_NAME_LIST_LENGTH]= { + EXAMPLE_MSG_TYPE, /* 0,101 */ + -1}; +const size_t ex_size_list[EX_NAME_LIST_LENGTH]= { + sizeof(EXAMPLE_MSG), + 0}; +const char *ex_symbol_lookup(long type); + + +// Enumerated Type Constants + +/* +Estimated_size EXAMPLE_MSG 250 +Estimated_size MAXIMUM 250 +*/ +/* +* NML/CMS Format function : ex_format +*/ +int ex_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"ex", + (cms_symbol_lookup_function_t) ex_symbol_lookup, + (const char **)ex_name_list, + ex_id_list,ex_size_list, + EX_NAME_LIST_LENGTH, + MAX_EX_NAME_LENGTH); + + switch(type) + { + case EXAMPLE_MSG_TYPE: + ((EXAMPLE_MSG *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + + +// NML Symbol Lookup Function +const char *ex_symbol_lookup(long type) +{ + switch(type) + { + case EXAMPLE_MSG_TYPE: + return "EXAMPLE_MSG"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for EXAMPLE_MSG +* from nml_ex1_v2.hh:0 +*/ +void EXAMPLE_MSG::update(CMS *cms) +{ + + cms->beginClass("EXAMPLE_MSG","NMLmsg"); + cms->update_with_name("f",f); + cms->update_with_name("c",c); + cms->update_with_name("s",s); + cms->update_with_name("i",i); + cms->update_with_name("l",l); + cms->update_with_name("uc",uc); + cms->update_with_name("us",us); + cms->update_with_name("ui",ui); + cms->update_with_name("ul",ul); + cms->update_dla_length_with_name("da_length",da_length); + cms->update_dla_with_name("da",da,da_length,20); + cms->update_with_name("name",(char *) name,10); + + cms->endClass("EXAMPLE_MSG","NMLmsg"); + +} + +/* +* Constructor for EXAMPLE_MSG +* from nml_ex1_v2.hh:0 +*/ +EXAMPLE_MSG::EXAMPLE_MSG() + : NMLmsg(EXAMPLE_MSG_TYPE,sizeof(EXAMPLE_MSG)) +{ + f = (float) 0; + c = (char) 0; + s = (short) 0; + i = (int) 0; + l = (long) 0; + uc = (unsigned char) 0; + us = (unsigned short) 0; + ui = (unsigned int) 0; + ul = (unsigned long) 0; + da_length = (int) 0; + for(int i_da=0; i_da< 20; i_da++) + { + ((double*)da)[i_da] = (double) 0; + } + for(int i_name=0; i_name< 10; i_name++) + { + ((char*)name)[i_name] = (char) 0; + } + +} + diff --git a/doc/nml_ex1_v2.hh b/doc/nml_ex1_v2.hh new file mode 100644 index 0000000..613ffc8 --- /dev/null +++ b/doc/nml_ex1_v2.hh @@ -0,0 +1,69 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* nml_ex1_v2.hh */ +#ifndef NML_EX1_V2_HH +#define NML_EX1_V2_HH +#include "rcs.hh" + +/* Give the new structure a unique id number */ +#define EXAMPLE_MSG_TYPE 101 + +/* The id number must be unique within a CMS buffer, i.e. the number +must be different than the id of any other type that might be written to +a particular buffer. For simplicity it is recommended that the id number +also be unique within an application. */ + +/* Define the new message structure */ +struct EXAMPLE_MSG: public NMLmsg +{ + /* The constructor needs to store the id number */ + /* and the size of the new structure */ + /* by passing them as arguments to the base class constructor. */ + EXAMPLE_MSG(); + + /* Each new type needs to overload the update function. */ + void update(CMS *cms); + + /* Data in this new message format. */ + float f; + char c; + short s; + int i; + long l; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long ul; + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, da, 20); + char name[10]; +}; + +/* Declare the NML Format function. */ +int ex_format(NMLTYPE type, void *buf, CMS *cms); + +extern char *TEST_CFG; + +#endif /* End of NML_EMC_HH */ diff --git a/doc/nml_ex2.cc b/doc/nml_ex2.cc new file mode 100644 index 0000000..9bc6bdd --- /dev/null +++ b/doc/nml_ex2.cc @@ -0,0 +1,10 @@ +/* nml_ex2.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +main() +{ + /* NML( format function, buffer name, process name, configuration file ) */ + NML example01_nml(ex_format, "ex_buf01", "ex2_proc", "ex_cfg.nml"); + +} diff --git a/doc/nml_ex2.java b/doc/nml_ex2.java new file mode 100644 index 0000000..7531d67 --- /dev/null +++ b/doc/nml_ex2.java @@ -0,0 +1,17 @@ +/* nml_ex2.java */ + +//Import the custom message dictionary +// Normally one would have something like import package.nml_ex1_MsgDict; +// but since we are not using packages we don't need the import. + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.nml.*; + +public class nml_ex2 +{ + public static void main(String args[]) throws Exception + { + /* NML( format function, buffer name, process name, configuration file ) */ + NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), "ex_buf1","ex2_proc", "ex_cfg.nml"); + } +} diff --git a/doc/nml_ex3.cc b/doc/nml_ex3.cc new file mode 100644 index 0000000..942129d --- /dev/null +++ b/doc/nml_ex3.cc @@ -0,0 +1,39 @@ +/* nml_ex3.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +int main(int argc, const char **argv) +{ + RCS_TIMER timer(0.1); + NML example_nml(ex_format, "ex_buf1","ex3_proc", "ex_cfg.nml"); + EXAMPLE_MSG *example_msg_ptr; + int quit = 0; + + while(!quit) + { + switch(example_nml.read()) + { + case -1: + rcs_print( "A communications error occurred.\n"); + quit = 1; + break; + + case 0: + /* The buffer contains the same message */ + /* you read last time. */ + break; + + case EXAMPLE_MSG_TYPE: + example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address(); + rcs_print(" We have a new example message. \n"); + rcs_print(" The value of its members are:\n "); + rcs_print(" f=%f, c=%c, i=%d\n ", + example_msg_ptr->f, + example_msg_ptr->c, + example_msg_ptr->i); + quit = 1; + break; + } + timer.wait(); + } +} diff --git a/doc/nml_ex3.java b/doc/nml_ex3.java new file mode 100644 index 0000000..8d73d31 --- /dev/null +++ b/doc/nml_ex3.java @@ -0,0 +1,28 @@ +// Import the custom message dictionary and message classes +// import nml_ex1MsgDict; -- import not needed since not using packages +// import EXAMPLE_MSG; -- import not needed since not using packages + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.nml.*; +import rcs.utils.*; + +class nml_ex3 +{ + public static void main(String args[]) throws Exception + { + /* NMLConnection( message dictionary, buffer name, process name, configuration file ) */ + NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), + "ex_buf1", + "ex3_java_proc", + "ex_cfg.nml"); + + EXAMPLE_MSG msg = null; + while(msg == null) + { + msg = (EXAMPLE_MSG) example_nml.read(); + Thread.sleep(100); /* Sleep for 100 milliseconds. */ + } + /* Print something to the console to indicate a message was recieved. */ + System.out.println("Message recieved: f = "+msg.f+", c = "+msg.c+", i = "+msg.i); + } +} diff --git a/doc/nml_ex4.cc b/doc/nml_ex4.cc new file mode 100644 index 0000000..7c73970 --- /dev/null +++ b/doc/nml_ex4.cc @@ -0,0 +1,13 @@ +/* nml_ex4.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +int main() +{ + NML example_nml(ex_format, "ex_buf1", "ex4_proc", "ex_cfg.nml"); + EXAMPLE_MSG example_msg; + example_msg.f = 123.456; + example_msg.c = 'c'; + example_msg.i = 99; + example_nml.write(example_msg); +} diff --git a/doc/nml_ex4.java b/doc/nml_ex4.java new file mode 100644 index 0000000..cf878ce --- /dev/null +++ b/doc/nml_ex4.java @@ -0,0 +1,29 @@ + +// Import the custom message dictionary and message classes +// import nml_ex1MsgDict; -- import not needed, not using packages +// import EXAMPLE_MSG; -- import not needed, not using packages + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; + +class nml_ex4 +{ + public static void main(String args[]) throws Exception + { + /* NMLConnection( message dictionary, buffer name, process name, configuration file ) */ + NMLConnection example_nml = new NMLConnection(new nml_ex1_MsgDict(), + "ex_buf1", + "ex2_proc", + "ex_cfg.nml"); + + EXAMPLE_MSG msg = new EXAMPLE_MSG(); + msg.f = (float) 3.14; + msg.c = (byte) '1'; + msg.i = 1024; + example_nml.write(msg); + + System.out.println("Sent message: f = "+msg.f+", c = "+msg.c+", i = "+msg.i); + } +} diff --git a/doc/nml_ex5.cc b/doc/nml_ex5.cc new file mode 100644 index 0000000..babd487 --- /dev/null +++ b/doc/nml_ex5.cc @@ -0,0 +1,23 @@ +/* nml_ex5.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +/* This example uses the PHANTOM writes to catch writes of a specific type of msg. */ + +int my_write(NMLmsg *msg) +{ + if(msg->type == EXAMPLE_MSG_TYPE) + { + rcs_print("Wrote EXAMPLE_MSG.\n"); + } +} + + +main() +{ + NML example_nml(ex_format, "ex_buf1", "ex5_proc", "ex_cfg.nml"); + example_nml.phantom_write = my_write; + EXAMPLE_MSG example_msg; + /* . . . */ + example_nml.write(example_msg); +} diff --git a/doc/nml_ex6.cc b/doc/nml_ex6.cc new file mode 100644 index 0000000..fd6bd6e --- /dev/null +++ b/doc/nml_ex6.cc @@ -0,0 +1,47 @@ +/* nml_ex6.cc */ + +#include "rcs.hh" +#include "nml_ex1.hh" + +#include + +/* This example prompts the user when NML times out to see if it should try again. */ + +main() +{ + NML example_nml(ex_format, "ex_buf1", "ex6_proc", "ex_cfg.nml"); + EXAMPLE_MSG *example_msg_ptr; + char input_array[10]; + + TRY_AGAIN: + + switch(example_nml.read()) + { + case -1: + if(example_nml.error_type == NML_TIMED_OUT) + { + rcs_print("NML timed out\n"); + rcs_print("Do you want to try again? (y/n)"); + fgets(input_array,sizeof(input_array),stdin); + if(input_array[0] == 'y') + goto TRY_AGAIN; + } + break; + + case 0: + /* The buffer contains the same message you read last time. */ + break; + + case EXAMPLE_MSG_TYPE: + example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address(); + /* We have a new example message. */ + break; + + } +} + + + + + + diff --git a/doc/nml_ex8.cc b/doc/nml_ex8.cc new file mode 100644 index 0000000..8b08b02 --- /dev/null +++ b/doc/nml_ex8.cc @@ -0,0 +1,18 @@ +/* nml_ex8.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" + +main() +{ + char string[40]; + NML_SERVER srv1(ex_format,"ex_buf1","ex8_svr","ex_cfg.nml"); + NML_SERVER srv2(ex_format,"ex_buf3","ex8_svr","ex_cfg.nml"); + + srv1.spawn(); + srv2.spawn(); + + rcs_print("Press to kill servers.\n"); + gets(string); + + /* Destructors for srv1, srv2 called implicitly. */ +} diff --git a/doc/nml_ex9.cc b/doc/nml_ex9.cc new file mode 100644 index 0000000..24d65fd --- /dev/null +++ b/doc/nml_ex9.cc @@ -0,0 +1,11 @@ +#include "rcs.hh" +#include "nml_ex1.hh" + + +int main(int argc,const char **argv) +{ + NML nml1(ex_format, "ex_buf1","ex9_svr","ex_cfg.nml"); + NML nml2(ex_format, "ex_buf2","ex9_svr","ex_cfg.nml"); + + run_nml_servers(); /* This never returns. */ +} diff --git a/doc/nml_module.html b/doc/nml_module.html new file mode 100644 index 0000000..71b6b9b --- /dev/null +++ b/doc/nml_module.html @@ -0,0 +1,481 @@ + + + + +nml_module + + + + + + + + +

    NML_MODULE

    +

    Table of Contents

    + +

     Defining a New Class for a Control Module

    +

    Writing the Main Loop(s)

    +

     List of NML_MODULE Member Functions and Variables

    +

     

    + +

    Introduction

    +

    NML_MODULE is a base class for RCS control modules that primarily use NML for communications. +This has sometimes been referred to as the RCS Template, although it is not defined with the C++ keyword template. +It is used by deriving an application specific class from NML_MODULE and overloading some of the functions. The NML_MODULE provides each +module with a consistent structure and performs some of the common chores such as measuring performance, initializing NML and checking for +new commands. +Many of the tasks for setting up a module can also be performed automatically with the RCS Design Tool.

    +

    Defining a New Class for a Control Module

    +
    In order for the main program to create an instance of this module, it needs to have a definition of the class in a C++ header file. 
    +The following provides an example:
    +/*
    +mcps.hpp
    +
    +This C++ header file defines the class MCPS_MODULE
    +It was generated with the RCS-Design tool.
    +
    +MODIFICATIONS:
    +1-Dec-97	Modified by RCS-Design tool.
    +21-Oct-97	Created by RCS-Design tool.
    +
    +*/
    +
    +// Prevent Multiple Inclusion
    +#ifndef MCPS_HPP
    +#define MCPS_HPP
    +
    +// Include Files
    +#include "rcs.hh" 	// Common RCS definitions
    +#include "nml_mod.hh" 	// NML_MODULE definitions
    +#include "mcpsn.hpp" 	// NML Commands and Status definitions for mcps
    +#include "mcexmon.hpp" 	// NML Commands and Status definitions for mcexmo
    +#include "mcexton.hpp" 	// NML Commands and Status definitions for mcexto
    +
    +// Auxilliary Input NML Message Files
    +#include "mcps_auxinn.hpp"	// NML Messages for mcps_auxin
    +
    +// Auxilliary Output NML Message Files
    +#include "mcps_auxoutn.hpp"	// NML Messages for mcps_auxout
    +
    +class MCPS_MODULE: public NML_MODULE
    +{
    +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +public:
    +
    +	MCPS_MODULE(); // Constructor
    +
    +	// Overloaded Virtual Functions
    +	void PRE_PROCESS();
    +	void DECISION_PROCESS();
    +	void POST_PROCESS();
    +
    +	// Command Functions
    +	void INIT(MCPS_INIT *);
    +	void HALT(MCPS_HALT *);
    +	void HOME(MCPS_HOME *);
    +	void MOVE(MCPS_MOVE *);
    +	void CUT(MCPS_CUT *);
    +
    +	// Convenience Variables
    +	MCPS_STATUS mcps_status;
    +	int mcexmo_sub_num;
    +	MCEXMO_STATUS *mcexmo_status;
    +	int mcexto_sub_num;
    +	MCEXTO_STATUS *mcexto_status;
    +
    +	// Auxiliary Input NML Channels
    +	NML *MCPS_AUXIN_CHANNEL;	// NML Channel for mcps_auxin
    +	MCPS_AUXIN_MSG *mcps_auxin_data;	// NML Data for mcps_auxin
    +
    +	// Auxiliary Output NML Channels
    +	NML *MCPS_AUXOUT_CHANNEL;	// NML Channel for mcps_auxout
    +	MCPS_AUXOUT_MSG mcps_auxout_data;	//NML Data for mcps_auxout
    +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +
    +private:
    +	// Add custom variables and functions here.
    +
    +};
    +
    +#endif 	// MCPS_HPP
    +

    The header needs to include seven other C++ header files. "rcs.hh" contains definitions for most of the utilities in the RCS Library. " +nml_mod.hh" contains the base class NML_MODULE. "mcpsn.hpp" contains definitions for the NML interface to this module, the classes that +can be sent as commands such as MCPS_INIT, MCPS_HALT, MCPS_HOME, MCPS_CUT, and MCPS_MOVE and the class used to provide status to its +superior MCPS_STATUS. "mcexmon.hpp" and "mcexton.hpp" provide the NML messages for the two subordinates mcexmo and mcexto. +"mcps_auxinn.hpp" provides the message MCPS_AUXIN_MSG read from the auxiliary input channel. "mcps_auxoutn.hpp" provides the message +MCPS_AUXOUT_MSG sent to the auxiliary output channel.

    +

    The functions PRE_PROCESS, DECISION_PROCESS, and POST_PROCESS are defined in the NML_MODULE base class but typically overloaded in +each control module. These functions are called every cycle by the NML_MODULE::controller function which is not normally overloaded. +(RCS uses cyclic processing, normally with a constant cycle time such as 30 ms set as a parameter to the RCS_TIMER constructor +in the main loop.)

    +

    PRE_PROCESS is normally used for retrieving inputs and performing simple conversions needed every cycle and by multiple commands. +For example, one might read an encoder input and multiply by a scale factor to convert encoder ticks to mm. For more complicated sensor +processing, it may be better to develop a separate module just for sensory processing or even an entire hierarchy. It can also be used to +read any auxiliary input.

    +

    DECISION_PROCESS usually calls one of the command functions based on the current command type. The command functions for this module +are INIT, HALT, MOVE, CUT and HOME.

    +

    POST_PROCESS is normally used for writing outputs and performing simple conversions on the outputs needed every cycle by multiple +commands. +For example, one might multiply a commanded velocity by a scale factor before writing a voltage to a DAC (Digital-to-Analog Converter). +It can also be used to write any auxiliary output.

    +

    The command functions usually contain state tables made up of multiple "if ... else if ... " blocks. The state tables are designed so +that only a small amount of processing needs to occur each cycle and long complex commands are spread over many cycles. The current line +in the state table is the first line where the conditions for the if are true. This line is highlighted within the +RCS Diagnostics tool.

    +

    The variable mcps_status will be passed as a parameter to NML_MODULE::setStatChannel inside the constructor. Then it will be sent to +the NML channel every cycle. Information can be sent to the superior just by defining the appropriate variable in MCPS_STATUS and +setting it in one of the command functions, PRE_PROCESS or POST_PROCESS.

    +

    The variable mcexmo_sub_num recieves the subordinate number returned by NML_MODULE::addSubordinate() that is needed by the function +sendCommand() to send commands to the mcexmo module. The variable mcexmo_status is set to point to the buffer where status data from the +mcexmo module will be updated every cycle.

    +

    The comments "// RCS-Design-MERGE-DISABLE" and "// RCS-Design-MERGE-ENABLE" separate out an area of the file users of the +RCS-Design tool may wish to avoid editing, since those edits will be deleted if the file is modified with the RCS Design tool.

    +

    The following are segments from the actual code for the MCPS control module. (Click here to see the complete file, +"mcps.cc".)

    +
    // Constructor
    +MCPS_MODULE::MCPS_MODULE()
    +{
    +
    +	// Set up NML Channels
    +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +	setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "mcps", "isam.nml"));
    +	setCmdChannel(new RCS_CMD_CHANNEL(mcpsFormat, "mcps_cmd", "mcps", "isam.nml"));
    +	setStatChannel(new RCS_STAT_CHANNEL(mcpsFormat, "mcps_sts", "mcps", "isam.nml"), &mcps_status);
    +
    +	mcexmo_sub_num = 
    +	addSubordinate(
    +		new RCS_CMD_CHANNEL(mcexmoFormat, "mcexmo_cmd", "mcps", "isam.nml"),
    +		new  RCS_STAT_CHANNEL(mcexmoFormat, "mcexmo_sts", "mcps", "isam.nml"));
    +	mcexmo_status = (MCEXMO_STATUS *)  statusInData[mcexmo_sub_num];
    +
    +	mcexto_sub_num = 
    +	addSubordinate(
    +		new RCS_CMD_CHANNEL(mcextoFormat, "mcexto_cmd", "mcps", "isam.nml"),
    +		new  RCS_STAT_CHANNEL(mcextoFormat, "mcexto_sts", "mcps", "isam.nml"));
    +	mcexto_status = (MCEXTO_STATUS *)  statusInData[mcexto_sub_num];
    +
    +	// Auxiliary Input NML Channels
    +	//mcps_auxin
    +	MCPS_AUXIN_CHANNEL = new NML(mcps_auxinFormat, "mcps_auxin", "mcps", "isam.nml");
    +	mcps_auxin_data = (MCPS_AUXIN_MSG *) MCPS_AUXIN_CHANNEL->get_address();
    +
    +	// Auxilliary Output NML Channels
    +	//mcps_auxout
    +	MCPS_AUXOUT_CHANNEL = new NML(mcps_auxoutFormat, "mcps_auxout", "mcps", "isam.nml");
    +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +	// Add additional code to initialize the module here.
    +
    +}
    +

    The constructor is used to setup the NML channels for the module as well as any other initialization that needs to be done. +The command, status and error log channels for this subordinate are setup with the functions NML_MODULE::setCmdChannel(), +NML_MODULE::setStatChannel(), and NML_MODULE::setErrorLogChannel. The connections to each subordinate are setup with +NML_MODULE::addSubordinate(). Finally, any auxiliary inputs or outputs are setup.

    +
    /*
    +DECISION_PROCESS
    +
    +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command.
    +It is expected to call a command function based on commandInData->type.
    +
    +*/
    +void MCPS_MODULE::DECISION_PROCESS()
    +{
    +	switch(commandInData->type)
    +	{
    +		// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +	case MCPS_INIT_TYPE:
    +		INIT((MCPS_INIT *)commandInData);
    +		break;
    +
    +	case MCPS_HALT_TYPE:
    +		HALT((MCPS_HALT *)commandInData);
    +		break;
    +
    +	case MCPS_HOME_TYPE:
    +		HOME((MCPS_HOME *)commandInData);
    +		break;
    +
    +	case MCPS_MOVE_TYPE:
    +		MOVE((MCPS_MOVE *)commandInData);
    +		break;
    +
    +	case MCPS_CUT_TYPE:
    +		CUT((MCPS_CUT *)commandInData);
    +		break;
    +		// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +
    +	default:
    +		logError("The command %d is not recognized.",commandInData->type);
    +		break;
    +	}
    +}
    +

    The DECISION_PROCESS function calls the appropriate command function based on the current command type and passes commandInData +to that function.

    +
    +/*
    +INIT
    +
    +Parameter(s):
    +MCPS_INIT *cmd_in -- NML Message sent from superior.
    +
    +Most Modules will have an INIT command.
    +The INIT function is expected to initialize any variables that may be
    +in an uninitialized or unknown state, send INIT commands to its subordinates,
    +wait for the subordinates to be DONE and then inform its superior that it is done
    +The state tables should use the STATE_MATCH macro so the diagnostics tool can 
    +highlight the current line in the state table.
    +
    +*/
    +void MCPS_MODULE::INIT(MCPS_INIT *cmd_in)
    +{
    +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +	MCEXMO_INIT mcexmoInitMsg;
    +	MCEXTO_INIT mcextoInitMsg;
    +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +
    +	if(STATE_MATCH(NEW_COMMAND))
    +	{
    +		// Send an INIT command to all subordinates.
    +		// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +		sendCommand(&mcexmoInitMsg, mcexmo_sub_num);
    +		sendCommand(&mcextoInitMsg, mcexto_sub_num);
    +		// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +
    +		stateNext(S1);
    +		// Reinitialize variables here.
    +
    +	}
    +	// Wait for all subordinates to report done.
    +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
    +
    +	else if(STATE_MATCH(S1,
    +		mcexmo_status->status == RCS_DONE &&
    +		mcexto_status->status == RCS_DONE &&
    +		1))
    +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
    +
    +	{
    +		status = RCS_DONE;
    +		stateNext(S2);
    +	}
    +	else if(STATE_MATCH(S2))
    +	{
    +		// Idle State
    +	}
    +}
    +
    +The INIT function provides a good example for a command function.  When a new command is received, the state is set to NEW_COMMAND. 
    +On the first cycle, the state table sends commands to its subordinates, mcexmo and mcexto, with the sendCommand function, sets the state 
    +to S1 and returns. The next cycle the state table checks to if the status of both mcexmo and mcexto is RCS_DONE. If so the state table 
    +sets its own status to  RCS_DONE and state to S2.
    +

    Writing the Main Loop(s)

    +

    In order to run the module it is necessary to call its controller() function from the main function for the program. In addition, the +programmer has the option of combining several modules in the same executable with eliminates some of the task switching and mutual +exclusion overhead and allows for tighter synchronization. It is a good idea to keep the code in this file to a minimum so that the +application can be reorganized easily.

    +

    The following is an example:

    +
    /*
    +	isammain.cc
    +
    +	This file provides the C++ main function which
    +	creates and runs the following control modules:
    +
    +		MOTION_MODULE
    +		MCWM_MODULE
    +		MCEXTO_MODULE
    +		MCVJ_MODULE
    +		MCSP_MODULE
    +		MCPS_MODULE
    +		MCPL_MODULE
    +		MCEXMO_MODULE
    +		TOOL_MODULE
    +
    +	MODIFICATIONS:
    +	1-Dec-97	Created.
    +
    +*/
    +
    +// Include Files
    +#include <stdlib.h>	// exit()
    +#include <signal.h>	// SIGINT, signal()
    +#include "rcs.hh" 	// Common RCS definitions
    +#include "nml_mod.hh" 	// NML_MODULE definitions
    +#include "motion.hpp"	// definition of MOTION_MODULE
    +#include "mcwm.hpp"	// definition of MCWM_MODULE
    +#include "mcexto.hpp"	// definition of MCEXTO_MODULE
    +#include "mcvj.hpp"	// definition of MCVJ_MODULE
    +#include "mcsp.hpp"	// definition of MCSP_MODULE
    +#include "mcps.hpp"	// definition of MCPS_MODULE
    +#include "mcpl.hpp"	// definition of MCPL_MODULE
    +#include "mcexmo.hpp"	// definition of MCEXMO_MODULE
    +#include "tool.hpp"	// definition of TOOL_MODULE
    +
    +// flag signifying main loop is to terminate
    +int isam_done = 0;
    +
    +//signal handler for ^C
    +extern "C" void isam_quit(int sig);
    +void isam_quit(int sig)
    +{
    +	isam_done = 1;
    +}
    +
    +// main loop, running 9 controller(s)
    +int main(int argc, char **argv)
    +{
    +
    +	set_rcs_print_destination(RCS_PRINT_TO_STDOUT);
    +
    +	RCS_TIMER *timer = new RCS_TIMER(0.1);
    +	MOTION_MODULE *motion = new MOTION_MODULE();
    +	MCWM_MODULE *mcwm = new MCWM_MODULE();
    +	MCEXTO_MODULE *mcexto = new MCEXTO_MODULE();
    +	MCVJ_MODULE *mcvj = new MCVJ_MODULE();
    +	MCSP_MODULE *mcsp = new MCSP_MODULE();
    +	MCPS_MODULE *mcps = new MCPS_MODULE();
    +	MCPL_MODULE *mcpl = new MCPL_MODULE();
    +	MCEXMO_MODULE *mcexmo = new MCEXMO_MODULE();
    +	TOOL_MODULE *tool = new TOOL_MODULE();
    +
    +	// set the SIGINT handler
    +	signal(SIGINT, isam_quit);
    +
    +	// enter main loop
    +	while(!isam_done)
    +	{
    +		motion->controller();
    +		mcwm->controller();
    +		mcexto->controller();
    +		mcvj->controller();
    +		mcsp->controller();
    +		mcps->controller();
    +		mcpl->controller();
    +		mcexmo->controller();
    +		tool->controller();
    +
    +		timer->wait();
    +	}
    +
    +	// Delete Modules
    +	delete motion;
    +	delete mcwm;
    +	delete mcexto;
    +	delete mcvj;
    +	delete mcsp;
    +	delete mcps;
    +	delete mcpl;
    +	delete mcexmo;
    +	delete tool;
    +
    +	// Delete Timer
    +	delete timer;
    +}
    +
    +
    The file simply includes the header file containing the definition of each of the control module classes and creates one object from +each class. +Inside a while loop the controller function is called for each object followed by a function that puts the process to sleep until time +for the next cycle. +The RCS_TIMER::wait function is specifically designed for this and sleeps a period that varies depending on the amount of processing the +modules do so that the period between cycles remains consistent. +For example, if for one cycle the sum of the time required to run all of the controllers is 40 ms and the timer was initialized at +0.1s = 100ms. The wait function will put the process to sleep 60 ms so the total time for the cycle is 100 ms. +(See RCS Library Lower Level Utilities.) +It is necessary to have some way of breaking the loop to shutdown the controller gracefully, in this example I have setup a signal handler +for "<CNTRL> C" to do this.
    +
     
    +
    +

    List of NML_MODULE Member Functions and Variables

    +

    The functions and variables for NML_MODULE are listed here in alphabetical order.

    +
    +
    int addSubordinate(RCS_CMD_CHANNEL *, RCS_STAT_CHANNEL *);
    +
    The addSubordinate function is normally called from within the module's constructor to set an NML channel to send commands to a +particular subordinate and another NML channel to check for status updates from that subordinate every cycle. +It returns the subordinate's number used to identify it in calls to sendCommand and as an index into the statusInData array.
    +
    int checkDclock();
    +
    Returns 1 if the count down delay timer has expired, 0 otherwise.
    +
    RCS_CMD_MSG *commandInData;
    +
    The variable commandInData points to an area of memory where commands are placed when they are received
    +
    void controller();
    +
    The controller function is called every cycle from the main loop. It reads the NML input buffers, calls the functions PRE_PROCESS, +DECISION_PROCESS, and POST_PROCESS, writes to the NML output buffers, and updates the performance metrics.
    +
    virtual void DECISION_PROCESS();
    +
    The DECISION_PROCESS function is called by the controller function. Its purpose is to call one of the command functions based on the +current command type.
    +
    int loadDclock(double seconds);
    +
    Initializes a count down delay clock with will expire causing checkDclock to return 1 after the number of seconds specified. +Fractions of a second are allowed. The actual resolution depends on the accuracy of the system clock.
    +
    void logError(const char *fmt, ...);
    +
    The logError function logs a message to the NML channel specified with setErrorLogChannel. The message will contain a string created +from the format and variable number of arguments using the printf conventions. The message can be retrieved and displayed by the RCS +Diagnostics tool or a custom GUI. (Graphical User Interface)
    +
    void logText(const char *fmt, ...);
    +
    The logText function logs a message to the NML channel specified with setErrorLogChannel. The message will contain a string created +from the format and variable number of arguments using the printf conventions. The message can be retrieved and displayed by the RCS +Diagnostics tool or a custom GUI. (Graphical User Interface)
    +
    void modifyCommand(RCS_CMD_MSG *, int subordinate_number);
    +
    Sends the command specified by the first argument to the subordinate specified by the second in the same way as sendCommand except +that the serial number is not incremented. The subordinate will not see this as a new command but rather continue processing the old +command but with the new parameters.
    +
    virtual void POST_PROCESS();
    +
    The POST_PROCESS function is called by the controller function after DECISION_PROCESS. Its purpose is to perform simple conversions +and output processing and write any auxiliary outputs that need to be done every cycle regardless of the current command or state.
    +
    virtual void PRE_PROCESS();
    +
    The PRE_PROCESS function is called by the controller function before DECISION_PROCESS. Its purpose is to perform simple conversions +and sensory processing and read any auxiliary inputs that need to be done every cycle regardless of the current command or state.
    +
    void requestDisplay(const char *url);
    +
    The requestDisplay function logs a message to the NML channel specified with setErrorLogChannel. The message will contain a string +with the URL. (Universal Resource Locator). The RCS Diagnostics tool or a custom GUI (Graphical User Interface) can have a web browser +automatically open to the URL, where extended pre-written instructions for the operator would be located.
    +
    void sendCommand(RCS_CMD_MSG *, int subordinate_number);
    +
    Sends the command specified by the first argument to the subordinate specified by the second.
    +
    void setCmdChannel(RCS_CMD_CHANNEL *);
    +
    The setCmdChannel function is normally called from within the module's constructor to set an NML channel to check for +commands every cycle.
    +
    void setErrorLogChannel(NML *);
    +
    The setErrorLogChannel function is normally called from within the module's constructor to set an NML channel where error +messages will be written when logError is called.
    +
    void setStatChannel(RCS_STAT_CHANNEL *, RCS_STAT_MSG *);
    +
    The setStatChannel function is normally called from within the module's constructor to set an NML channel and the address of a +message to be written out every cycle with status information for the module's superior.
    +
    int STATE_MATCH(int state, int conds);
    +
    The STATE_MATCH function is used within the state tables and allows the current line in the state table to be tracked in the +diagnostics tool. It returns a non-zero integer if the current state is equal to the first argument and the second argument +evaluates to a non-zero number, otherwise it returns zero.
    +
    int status;
    +
    The current status of this module. This value is always sent to the +supervisor. It should normally be equal to one of the following symbolic constants: RCS_EXEC,RCS_DONE, or RCS_ERROR. +The rest of the data sent to the +superior can be accessed at RCS_STAT_MSG *statusOutData, but users of the +RCS-Design tool will ussually find it more convenient to use the +variable that is automatically created of the form _status. This +variable points to the same location but has a module-specific type.
    +
    RCS_STAT_MSG **statusInData;
    +
    The statusInData variable points to an array of buffers where the statuses of subordinates are placed when they are received. +Users of the RCS-Design tool will ussually find it more convenient to use the +variable that is automatically created of the form <module_name>_status. This +variable points to the same location but has a module-specific type. +
    +
    RCS_STAT_MSG *statusOutData;
    +
    Pointer to the buffer of data that will be sent to this module's superior. + Users of the RCS-Design tool will ussually find it more convenient to use the +variable that is automatically created of the form <module_name>_status. This +variable points to the same location but has a module-specific type. +
    +
    +


    +

    Last Modified: %H%

    +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, + please contact Will Shackleford at +shackle@cme.nist.gov

    + + diff --git a/doc/nml_old_ex3.cc b/doc/nml_old_ex3.cc new file mode 100644 index 0000000..f63c8e4 --- /dev/null +++ b/doc/nml_old_ex3.cc @@ -0,0 +1,55 @@ +/* cgtest_read.cc */ +#include "rcs.hh" +#include "nml_ex1.hh" +#include +#include +static int quit=0; +static void cgtest_read_sigint_handler(int sig) +{ + quit = 1; +} + +#ifdef VXWORKS +extern "C" void cgtest_read(); + +void cgtest_read() +#else +main() +#endif +{ + RCS_TIMER timer(2.0); + NML example_nml(ex_format, "ex_buf1", "ex3_proc", "ex_cfg.nml"); + EXAMPLE_MSG *example_msg_ptr; + //signal(SIGINT,cgtest_read_sigint_handler); + set_rcs_print_flag(PRINT_EVERYTHING); + set_rcs_print_file("something.log"); + set_rcs_print_destination(RCS_PRINT_TO_FILE); + printf("cgtest_read: Press ^C to exit.\n"); + + while(!quit) + { + switch(example_nml.read()) + { + case -1: + printf( "A communications error occurred.\n"); + break; + + case 0: + /* The buffer contains the same message */ + /* you read last time. */ + printf("no new data.\n"); + break; + + case EXAMPLE_MSG_TYPE: + example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address(); + printf(" We have a new example message. \n"); + printf(" The value of its members are:\n "); + printf(" f=%f, c=%c, i=%d\n ", + example_msg_ptr->f, + example_msg_ptr->c, + example_msg_ptr->i); + break; + } + timer.wait(); + } +} diff --git a/doc/nml_set_host_alias_ex.cc b/doc/nml_set_host_alias_ex.cc new file mode 100644 index 0000000..375c6e1 --- /dev/null +++ b/doc/nml_set_host_alias_ex.cc @@ -0,0 +1,22 @@ +#include "rcs.hh" +#include "nml_ex1.hh" + +int main(int argc, char **argv) +{ + + if(argc > 1) + { + nmlSetHostAlias(argv[1],"localhost"); + } + NML example_nml(ex_format, "ex_buf1", "bReader", "ex_cfg.nml"); + + if(!example_nml.valid()) + { + rcs_print_error("Bad.\n"); + } + else + { + rcs_print("Good.\n"); + } + +} diff --git a/doc/nml_test_format.hh b/doc/nml_test_format.hh new file mode 100644 index 0000000..dd8ebec --- /dev/null +++ b/doc/nml_test_format.hh @@ -0,0 +1,104 @@ + +#ifndef NML_TEST_FORMAT_HH +#define NML_TEST_FORMAT_HH + +#include "rcs.hh" + +#define TEST_MESSAGE_TYPE (101) +#define SIMPLER_MSG_TYPE (102) +#define QTEST_MSG_TYPE (103) +#define BOP_MSG_TYPE (104) + +enum enumtest{ a, b}; + +typedef struct _teststruct { + + bool b; + int i; + char c; + float f; + double d; + bool bool_array[4]; + int ia[4]; + char ca[4]; + float fa[4]; + double da[4]; + double two_d_array[4][4]; + double three_d_array[4][4][4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 8); + +}teststruct; + + +class TEST_MESSAGE: public NMLmsg +{ +public: + TEST_MESSAGE(); + void update(CMS *); + + bool b; + char c; + double d; + int i; + float f; + bool bool_array[4]; + int ia[4]; + char ca[4]; + float fa[4]; + double da[4]; + double two_d_array[4][4]; + double three_d_array[4][4][4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 8); + teststruct s; + teststruct sa[4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(teststruct,sda, 4); + enum enumtest enumtestvar; + long lastvar; +}; + +class SIMPLER_MSG : public NMLmsg +{ +public: + SIMPLER_MSG(); + void update(CMS *); + + int i; + char cbuf[80]; +}; + +class QTEST_MSG: public NMLmsg +{ +public: + QTEST_MSG(); + void update(CMS *); + + int priority; + int pchanges_count; + int count; + int pid; + char line[105]; + double time; +}; + +class BOP_MSG: public NMLmsg +{ +public: + BOP_MSG(); + void update(CMS *); + + unsigned long ula[4]; +}; + + +/* Declare the NML Format function. */ +int nml_test_format(NMLTYPE type, void *buf, CMS *cms); + +#endif + + diff --git a/doc/nml_test_format_bak.hh b/doc/nml_test_format_bak.hh new file mode 100644 index 0000000..83d9d1f --- /dev/null +++ b/doc/nml_test_format_bak.hh @@ -0,0 +1,100 @@ + +#ifndef NML_TEST_FORMAT_HH +#define NML_TEST_FORMAT_HH + +#include "rcs.hh" + +#define TEST_MESSAGE_TYPE (101) +#define SIMPLER_MSG_TYPE (102) +#define QTEST_MSG_TYPE (103) +#define BOP_MSG_TYPE (104) + +enum enumtest{ a, b}; + +typedef struct _teststruct { + + int i; + char c; + float f; + double d; + int ia[4]; + char ca[4]; + float fa[4]; + double da[4]; + double two_d_array[4][4]; + double three_d_array[4][4][4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 8); + +}teststruct; + + +class TEST_MESSAGE: public NMLmsg +{ +public: + TEST_MESSAGE(); + void update(CMS *); + + char c; + double d; + int i; + float f; + int ia[4]; + char ca[4]; + float fa[4]; + double da[4]; + double two_d_array[4][4]; + double three_d_array[4][4][4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,cda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,ida, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fda, 8); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double,dda, 8); + teststruct s; + teststruct sa[4]; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(teststruct,sda, 4); + enum enumtest enumtestvar; + long lastvar; +}; + +class SIMPLER_MSG : public NMLmsg +{ +public: + SIMPLER_MSG(); + void update(CMS *); + + int i; + char cbuf[80]; +}; + +class QTEST_MSG: public NMLmsg +{ +public: + QTEST_MSG(); + void update(CMS *); + + int priority; + int pchanges_count; + int count; + int pid; + char line[105]; + double time; +}; + +class BOP_MSG: public NMLmsg +{ +public: + BOP_MSG(); + void update(CMS *); + + unsigned long ula[4]; +}; + + +/* Declare the NML Format function. */ +int nml_test_format(NMLTYPE type, void *buf, CMS *cms); + +#endif + + diff --git a/doc/nml_test_format_n.cc b/doc/nml_test_format_n.cc new file mode 100644 index 0000000..606c515 --- /dev/null +++ b/doc/nml_test_format_n.cc @@ -0,0 +1,476 @@ +/* +* New C++ File starts here. +* This file should be named nml_test_format.cc +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_test_format.hh" + +// Include externally supplied prototypes +#include "nml_test_format_n_codegen_protos.hh" + + + +#ifndef MAX_NML_TEST_NAME_LENGTH +#define MAX_NML_TEST_NAME_LENGTH 13 +#endif +#ifndef NML_TEST_NAME_LIST_LENGTH +#define NML_TEST_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char nml_test_name_list[NML_TEST_NAME_LIST_LENGTH][MAX_NML_TEST_NAME_LENGTH]= { + "BOP_MSG", /* 0,104 */ + "QTEST_MSG", /* 1,103 */ + "SIMPLER_MSG", /* 2,102 */ + "TEST_MESSAGE", /* 3,101 */ + ""}; +const NMLTYPE nml_test_id_list[NML_TEST_NAME_LIST_LENGTH]= { + BOP_MSG_TYPE, /* 0,104 */ + QTEST_MSG_TYPE, /* 1,103 */ + SIMPLER_MSG_TYPE, /* 2,102 */ + TEST_MESSAGE_TYPE, /* 3,101 */ + -1}; +const size_t nml_test_size_list[NML_TEST_NAME_LIST_LENGTH]= { + sizeof(BOP_MSG), + sizeof(QTEST_MSG), + sizeof(SIMPLER_MSG), + sizeof(TEST_MESSAGE), + 0}; +const char *nml_test_symbol_lookup(long type); + + +// Enumerated Type Constants + +// enumtest +#ifndef MAX_ENUM_ENUMTEST_STRING_LENGTH +#define MAX_ENUM_ENUMTEST_STRING_LENGTH 2 +#endif +#ifndef ENUM_ENUMTEST_LENGTH +#define ENUM_ENUMTEST_LENGTH 3 +#endif + +const char enum_enumtest_string_list[ENUM_ENUMTEST_LENGTH][MAX_ENUM_ENUMTEST_STRING_LENGTH]= { + "a", /* 0,0 */ + "b", /* 1,1 */ + ""}; + +const int enum_enumtest_int_list[ENUM_ENUMTEST_LENGTH]= { + a, /* 0,0 */ + b, /* 1,1 */ + }; + +const char *nml_test_enum_enumtest_symbol_lookup(long v) +{ + switch(v) + { + case a: return("a"); /* 0 */ + case b: return("b"); /* 1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_enumtest_info_struct={ + "enumtest", + (const char **)enum_enumtest_string_list, + enum_enumtest_int_list, + MAX_ENUM_ENUMTEST_STRING_LENGTH, + ENUM_ENUMTEST_LENGTH, + (cms_symbol_lookup_function_t)nml_test_enum_enumtest_symbol_lookup + }; + +/* +* NML/CMS Format function : nml_test_format +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +int nml_test_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"nml_test", + (cms_symbol_lookup_function_t) nml_test_symbol_lookup, + (const char **)nml_test_name_list, + nml_test_id_list,nml_test_size_list, + NML_TEST_NAME_LIST_LENGTH, + MAX_NML_TEST_NAME_LENGTH); + + switch(type) + { + case BOP_MSG_TYPE: + ((BOP_MSG *) buffer)->update(cms); + break; + case QTEST_MSG_TYPE: + ((QTEST_MSG *) buffer)->update(cms); + break; + case SIMPLER_MSG_TYPE: + ((SIMPLER_MSG *) buffer)->update(cms); + break; + case TEST_MESSAGE_TYPE: + ((TEST_MESSAGE *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + + +// NML Symbol Lookup Function +const char *nml_test_symbol_lookup(long type) +{ + switch(type) + { + case BOP_MSG_TYPE: + return "BOP_MSG"; + case QTEST_MSG_TYPE: + return "QTEST_MSG"; + case SIMPLER_MSG_TYPE: + return "SIMPLER_MSG"; + case TEST_MESSAGE_TYPE: + return "TEST_MESSAGE"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for QTEST_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void QTEST_MSG::update(CMS *cms) +{ + + cms->beginClass("QTEST_MSG","NMLmsg"); + cms->update_with_name("priority",priority); + cms->update_with_name("pchanges_count",pchanges_count); + cms->update_with_name("count",count); + cms->update_with_name("pid",pid); + cms->update_with_name("line",line,105); + cms->update_with_name("time",time); + + cms->endClass("QTEST_MSG","NMLmsg"); + +} + + +/* +* NML/CMS Update function for TEST_MESSAGE +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void TEST_MESSAGE::update(CMS *cms) +{ + + cms->beginClass("TEST_MESSAGE","NMLmsg"); + cms->update_with_name("b",b); + cms->update_with_name("c",c); + cms->update_with_name("d",d); + cms->update_with_name("i",i); + cms->update_with_name("f",f); + cms->update_with_name("bool_array",bool_array,4); + cms->update_with_name("ia",ia,4); + cms->update_with_name("ca",ca,4); + cms->update_with_name("fa",fa,4); + cms->update_with_name("da",da,4); + cms->update_with_name("two_d_array",(double *) two_d_array,16); + cms->update_with_name("three_d_array",(double *) three_d_array,64); + cms->update_dla_length_with_name("cda_length",cda_length); + cms->update_dla_with_name("cda",cda,cda_length,8); + cms->update_dla_length_with_name("ida_length",ida_length); + cms->update_dla_with_name("ida",ida,ida_length,8); + cms->update_dla_length_with_name("fda_length",fda_length); + cms->update_dla_with_name("fda",fda,fda_length,8); + cms->update_dla_length_with_name("dda_length",dda_length); + cms->update_dla_with_name("dda",dda,dda_length,8); + cms->beginClassVar("s"); + teststruct_update(cms,&s); + cms->endClassVar("s"); + for(int i_sa = 0;i_sa < 4 ;i_sa++) + { + cms->beginStructArrayElem("sa",i_sa); + teststruct_update(cms,&(sa[i_sa])); + cms->endStructArrayElem("sa",i_sa); + } + cms->update_dla_length_with_name("sda_length",sda_length); + cms->beginStructDynamicArray("sda",sda_length,4); + for(int i_sda = 0;i_sda < sda_length ;i_sda++) + { + cms->beginStructArrayElem("sda",i_sda); + teststruct_update(cms,&(sda[i_sda])); + cms->endStructArrayElem("sda",i_sda); + } + cms->endStructDynamicArray("sda",sda_length,4); + enumtestvar= (enum enumtest) cms->update_enumeration_with_name("enumtestvar", (int)enumtestvar,(void*)&enumtestvar,&enum_enumtest_info_struct); + cms->update_with_name("lastvar",lastvar); + + cms->endClass("TEST_MESSAGE","NMLmsg"); + +} + + +/* +* NML/CMS Update function for teststruct +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void teststruct_update(CMS *cms,teststruct *x) +{ + + cms->beginClass("teststruct",0); + cms->update_with_name("b",x->b); + cms->update_with_name("i",x->i); + cms->update_with_name("c",x->c); + cms->update_with_name("f",x->f); + cms->update_with_name("d",x->d); + cms->update_with_name("bool_array",x->bool_array,4); + cms->update_with_name("ia",x->ia,4); + cms->update_with_name("ca",x->ca,4); + cms->update_with_name("fa",x->fa,4); + cms->update_with_name("da",x->da,4); + cms->update_with_name("two_d_array",(double *) x->two_d_array,16); + cms->update_with_name("three_d_array",(double *) x->three_d_array,64); + cms->update_dla_length_with_name("cda_length",x->cda_length); + cms->update_dla_with_name("cda",x->cda, x->cda_length,8); + cms->update_dla_length_with_name("ida_length",x->ida_length); + cms->update_dla_with_name("ida",x->ida, x->ida_length,8); + cms->update_dla_length_with_name("fda_length",x->fda_length); + cms->update_dla_with_name("fda",x->fda, x->fda_length,8); + cms->update_dla_length_with_name("dda_length",x->dda_length); + cms->update_dla_with_name("dda",x->dda, x->dda_length,8); + + cms->endClass("teststruct",0); + +} + + +/* +* NML/CMS Update function for BOP_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void BOP_MSG::update(CMS *cms) +{ + + cms->beginClass("BOP_MSG","NMLmsg"); + cms->update_with_name("ula",ula,4); + + cms->endClass("BOP_MSG","NMLmsg"); + +} + + +/* +* NML/CMS Update function for SIMPLER_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void SIMPLER_MSG::update(CMS *cms) +{ + + cms->beginClass("SIMPLER_MSG","NMLmsg"); + cms->update_with_name("i",i); + cms->update_with_name("cbuf",cbuf,80); + + cms->endClass("SIMPLER_MSG","NMLmsg"); + +} + +/* +* Constructor for QTEST_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +QTEST_MSG::QTEST_MSG() + : NMLmsg(QTEST_MSG_TYPE,sizeof(QTEST_MSG)) +{ + priority = (int) 0; + pchanges_count = (int) 0; + count = (int) 0; + pid = (int) 0; + for(int i_line=0; i_line< 105; i_line++) + { + ((char*)line)[i_line] = (char) 0; + } + time = (double) 0; + +} + +/* +* Constructor for TEST_MESSAGE +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +TEST_MESSAGE::TEST_MESSAGE() + : NMLmsg(TEST_MESSAGE_TYPE,sizeof(TEST_MESSAGE)) +{ + b = (bool) 0; + c = (char) 0; + d = (double) 0; + i = (int) 0; + f = (float) 0; + for(int i_bool_array=0; i_bool_array< 4; i_bool_array++) + { + ((bool*)bool_array)[i_bool_array] = (bool) 0; + } + for(int i_ia=0; i_ia< 4; i_ia++) + { + ((int*)ia)[i_ia] = (int) 0; + } + for(int i_ca=0; i_ca< 4; i_ca++) + { + ((char*)ca)[i_ca] = (char) 0; + } + for(int i_fa=0; i_fa< 4; i_fa++) + { + ((float*)fa)[i_fa] = (float) 0; + } + for(int i_da=0; i_da< 4; i_da++) + { + ((double*)da)[i_da] = (double) 0; + } + for(int i_two_d_array=0; i_two_d_array< 16; i_two_d_array++) + { + ((double*)two_d_array)[i_two_d_array] = (double) 0; + } + for(int i_three_d_array=0; i_three_d_array< 64; i_three_d_array++) + { + ((double*)three_d_array)[i_three_d_array] = (double) 0; + } + cda_length = (int) 0; + for(int i_cda=0; i_cda< 8; i_cda++) + { + ((char*)cda)[i_cda] = (char) 0; + } + ida_length = (int) 0; + for(int i_ida=0; i_ida< 8; i_ida++) + { + ((int*)ida)[i_ida] = (int) 0; + } + fda_length = (int) 0; + for(int i_fda=0; i_fda< 8; i_fda++) + { + ((float*)fda)[i_fda] = (float) 0; + } + dda_length = (int) 0; + for(int i_dda=0; i_dda< 8; i_dda++) + { + ((double*)dda)[i_dda] = (double) 0; + } + initialize_teststruct( &(s)); + for(int i_sa=0; i_sa< 4; i_sa++) + { + initialize_teststruct( &(sa[i_sa])); + } + sda_length = (int) 0; + for(int i_sda=0; i_sda< 4; i_sda++) + { + initialize_teststruct( &(sda[i_sda])); + } + enumtestvar = (enum enumtest) b; /*1*/ + lastvar = (long) 0; + +} + +/* +* Initializer for teststruct +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:14 EST 2004 +*/ +void initialize_teststruct(teststruct* x) +{ + x->b = (bool) 0; + x->i = (int) 0; + x->c = (char) 0; + x->f = (float) 0; + x->d = (double) 0; + for(int i_bool_array=0; i_bool_array< 4; i_bool_array++) + { + ((bool*) x->bool_array)[i_bool_array] = (bool) 0; + } + for(int i_ia=0; i_ia< 4; i_ia++) + { + ((int*) x->ia)[i_ia] = (int) 0; + } + for(int i_ca=0; i_ca< 4; i_ca++) + { + ((char*) x->ca)[i_ca] = (char) 0; + } + for(int i_fa=0; i_fa< 4; i_fa++) + { + ((float*) x->fa)[i_fa] = (float) 0; + } + for(int i_da=0; i_da< 4; i_da++) + { + ((double*) x->da)[i_da] = (double) 0; + } + for(int i_two_d_array=0; i_two_d_array< 16; i_two_d_array++) + { + ((double*) x->two_d_array)[i_two_d_array] = (double) 0; + } + for(int i_three_d_array=0; i_three_d_array< 64; i_three_d_array++) + { + ((double*) x->three_d_array)[i_three_d_array] = (double) 0; + } + x->cda_length = (int) 0; + for(int i_cda=0; i_cda< 8; i_cda++) + { + ((char*) x->cda)[i_cda] = (char) 0; + } + x->ida_length = (int) 0; + for(int i_ida=0; i_ida< 8; i_ida++) + { + ((int*) x->ida)[i_ida] = (int) 0; + } + x->fda_length = (int) 0; + for(int i_fda=0; i_fda< 8; i_fda++) + { + ((float*) x->fda)[i_fda] = (float) 0; + } + x->dda_length = (int) 0; + for(int i_dda=0; i_dda< 8; i_dda++) + { + ((double*) x->dda)[i_dda] = (double) 0; + } + +} + +/* +* Constructor for BOP_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:15 EST 2004 +*/ +BOP_MSG::BOP_MSG() + : NMLmsg(BOP_MSG_TYPE,sizeof(BOP_MSG)) +{ + for(int i_ula=0; i_ula< 4; i_ula++) + { + ((unsigned long*)ula)[i_ula] = (unsigned long) 0; + } + +} + +/* +* Constructor for SIMPLER_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sun Mar 21 10:40:15 EST 2004 +*/ +SIMPLER_MSG::SIMPLER_MSG() + : NMLmsg(SIMPLER_MSG_TYPE,sizeof(SIMPLER_MSG)) +{ + i = (int) 0; + for(int i_cbuf=0; i_cbuf< 80; i_cbuf++) + { + ((char*)cbuf)[i_cbuf] = (char) 0; + } + +} + diff --git a/doc/nml_test_format_n_codegen_protos.hh b/doc/nml_test_format_n_codegen_protos.hh new file mode 100644 index 0000000..743dbd9 --- /dev/null +++ b/doc/nml_test_format_n_codegen_protos.hh @@ -0,0 +1,59 @@ +/* +* New C++ Header File starts here. +* This file should be named nml_test_format_n_codegen_protos.hh +*/ + +#ifndef nml_test_format_n_codegen_protos_hh_included +#define nml_test_format_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "nml_test_format.hh" + +// Forward Function Prototypes +extern void teststruct_update(CMS *cms, teststruct *x); +extern void initialize_teststruct(teststruct *x); + + +#ifndef MAX_NML_TEST_NAME_LENGTH +#define MAX_NML_TEST_NAME_LENGTH 13 +#endif +#ifndef NML_TEST_NAME_LIST_LENGTH +#define NML_TEST_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char nml_test_name_list[NML_TEST_NAME_LIST_LENGTH][MAX_NML_TEST_NAME_LENGTH]; +extern const NMLTYPE nml_test_id_list[NML_TEST_NAME_LIST_LENGTH]; +extern const size_t nml_test_size_list[NML_TEST_NAME_LIST_LENGTH]; +extern const char *nml_test_symbol_lookup(long type); + + +// Enumerated Type Constants + +// enumtest +#ifndef MAX_ENUM_ENUMTEST_STRING_LENGTH +#define MAX_ENUM_ENUMTEST_STRING_LENGTH 2 +#endif + /* MAX_ENUM_ENUMTEST_STRING_LENGTH */ +#ifndef ENUM_ENUMTEST_LENGTH +#define ENUM_ENUMTEST_LENGTH 3 +#endif + /* ENUM_ENUMTEST_LENGTH */ + +extern const char enum_enumtest_string_list[ENUM_ENUMTEST_LENGTH][MAX_ENUM_ENUMTEST_STRING_LENGTH]; + +extern const int enum_enumtest_int_list[ENUM_ENUMTEST_LENGTH]; + +extern const char *nml_test_enum_enumtest_symbol_lookup(long v); + +extern const struct cms_enum_info enum_enumtest_info_struct; + +extern int nml_test_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif nml_test_format_n_codegen_protos_hh_included */ + diff --git a/doc/nml_test_nmlset.cc b/doc/nml_test_nmlset.cc new file mode 100644 index 0000000..8e03384 --- /dev/null +++ b/doc/nml_test_nmlset.cc @@ -0,0 +1,203 @@ + + +#include "rcs.hh" // Required for all RCS library applications. +#include "nmlset.hh" // Declare the NMLSET,NMLDOMAINSET and NMLDOMAINSET_MEMBER classes. + +#include "nml_test_format.hh" // Specific message classes for these examples. + +// Standard C/C++ headers +#include +#include +#include + + +// Setup Control-C signal handler for quitting this application. +static void (*old_sigint_handler)(int) =0; +static bool sigint_occured=false; + +static void sigint_handler(int sig) +{ + if(old_sigint_handler && old_sigint_handler != SIG_IGN && + old_sigint_handler != SIG_DFL) + { + (*old_sigint_handler)(sig); + } + sigint_occured=true; +} + + +int +main(int argc, const char **argv) +{ + // Parse/handle the command line arguments. + if(argc < 4) + { + fprintf(stderr,"nml_test_nmlset usage: bufferlist procname cfgsvrlist [buffersneeded] [maxcycles]\n"); + exit(1); + } + int bufsneeded = -1; + if(argc >= 5) + { + bufsneeded = strtol(argv[4],0,0); + printf("bufsneeded=%d\n",bufsneeded); + } + int maxcycles = -1; + if(argc >= 6) + { + maxcycles = strtol(argv[5],0,0); + printf("maxcycles=%d\n",maxcycles); + } + int bufsread = 0; + int cycles = 0; + bool error_occured=false; + + + // Create an NMLSET class object that will be used to + // monitor all buffers in the ; delimited list in argv[1] on + // nmlcfgsvr's listed in the ; delimeted list in argv[3], + // pass argv[2] as our ProcessName. + NMLSET s(nml_test_format,argv[1],argv[2],argv[3]); + printf("NMLSET s(nml_test_format,argv[1]=%s,argv[2]=%s,argv[3]=%s);\n", + argv[1],argv[2],argv[3]); + + int *lastnum = 0; + if(bufsneeded > 0) + { + lastnum = new int[bufsneeded]; + } + for(int k = 0; k < bufsneeded; k++) + { + lastnum[k] = 0; + } + + // Setup the signal handler so we can gracefully quit when + // someone presses Control-C. + old_sigint_handler = signal(SIGINT,sigint_handler); + + while(!sigint_occured) + { + cycles++; + if(maxcycles > 0 && cycles > maxcycles) + { + break; + } + printf("cycles=%d\n",cycles); + printf("\n**********************************************************\n"); + + // Check all of the configuration servers to see if there are new + // buffers that match our criterea. If a server won't respond after + // 1.0 seconds go on to the next one or return if it is the last one. + s.update_set(1.0); + printf("s..update_set(1.0);\n"); + + // NMLSETS are divided into NMLDOMAINSETS, there could be an + // infinite number, so we run though the list, by calling s.get_first_domainset() and then s.get_next_domainset() until it returns NULL. + NMLDOMAINSET *nd = s.get_first_domainset(); + printf("NMLDOMAINSET *nd = s.get_first_domainset();\nnd=%p\n", + (void*)nd); + while(nd) + { + printf("nd->getdomainname() = %s\n",nd->getdomainname()); + printf("nd->cfgsvrname() = %s\n",nd->getcfgsvrname()); + + // Each NMLDOMAINSET has a fixed randomly accessible list of + // members. The member id's correspond to the position of the + // buffer name in the bufferlist passed when the top level NMLSET + // object was created. + for(int i=0; i <= nd->get_max_member_id(); i++) + { + NMLDOMAINSET_MEMBER *nm = nd->get_member(i); + printf("NMLDOMAINSET_MEMBER *nm = nd->get_member(i=%d);\nnm=%p\n",i,nm); + + if(nm) + { + if(nm->cms && nm->cms->BufferName) + { + printf("nm->cms->BufferName=%s\n",nm->cms->BufferName); + } + NMLTYPE t; + + // NMLDOMAINSET_MEMBER is publically derived from NML + // so we can do anything with nm that we could do + // with an NML *, including read, write, peek, get_address() + // etc. + t = nm->peek(); + if(t < 0) + { + error_occured=true; + } + printf("nm->peek() returned %d\n",t); + if(t == TEST_MESSAGE_TYPE) + { + TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address(); + printf("TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();\ntm=%p\n",(void *)tm); + printf("tm->i = %d, tm->lastvar=%d\n",tm->i,tm->lastvar); + int j=0; + if(tm->lastvar > 0 && bufsneeded > 0) + { + for(j =0; j < bufsread; j++) + { + printf("j=%d,lastnum[j]=%d,bufsread=%d\n", + j,lastnum[j],bufsread); + if(lastnum[j] == tm->lastvar) + { + break; + } + } + printf("j=%d,lastnum[j]=%d,bufsread=%d\n", + j,lastnum[j],bufsread); + if(lastnum[j] == 0 && j == bufsread) + { + printf("new buffer found. -- bufsread=%d, j=%d,lastnum[j]=%d,tm->lastvar=%d\n", + bufsread,j,lastnum[j],tm->lastvar); + lastnum[j] = tm->lastvar; + bufsread++; + if(bufsread >= bufsneeded) + { + break; + } + } + } + } + else + { + // Deleting an NMLDOMAINSET_MEMBER removes it from + // its parent NMLDOMAINSET. + printf("delete nm;\n"); + delete nm; + } + } + } + if(bufsneeded > 0 && bufsread >= bufsneeded) + { + break; + } + nd = s.get_next_domainset(); + printf("NMLDOMAINSET *nd = s.get_next_domainset();\nnd=%p\n", + (void*)nd); + } + if(bufsneeded > 0 && bufsread >= bufsneeded) + { + break; + } + printf("esleep(2.5);\n"); + fflush(stdout); + esleep(2.5); + } + + // clean up the signal handler. + signal(SIGINT,old_sigint_handler); + + + // Set the return value so we can use this program in test scripts. + if(error_occured) + { + exit(2); + } + if(cycles > maxcycles && maxcycles > 0) + { + exit(3); + } + exit(0); +} + diff --git a/doc/nml_test_read.cc b/doc/nml_test_read.cc new file mode 100644 index 0000000..d365d8b --- /dev/null +++ b/doc/nml_test_read.cc @@ -0,0 +1,116 @@ + +#include "nml_test_format.hh" + +#include +#include +#include +#include + +static bool sigint_occured=false; + +static void my_sigint_handler(int sig) +{ + sigint_occured=true; +} + +int +main(int argc, char **argv) +{ + int repeat_count; + double repeat_delay; + repeat_count=0; + repeat_delay=1.0; + set_rcs_print_destination(RCS_PRINT_TO_STDERR); + + if(argc < 5) + { + fprintf(stderr,"usage : bufname procname configfile lastvar\n"); + exit(127); + } + if(argc >= 6) + { + repeat_count=strtol(argv[5],0,0); + } + if(argc >= 7) + { + repeat_delay =strtod(argv[6],0); + } + + NML *nml = new NML(nml_test_format,argv[1],argv[2],argv[3]); + if(0 == nml) + { + exit(126); + } + if(!nml->valid()) + { + fprintf(stderr,"nml->valid() check failed.\n"); + delete nml; + exit(125); + } + int t; + if(TEST_MESSAGE_TYPE != (t = nml->read())) + { + fprintf(stderr,"nml->read() returned %d when %d was expected.\n", t,TEST_MESSAGE_TYPE); + delete nml; + exit(124); + } + TEST_MESSAGE *tst_msg = (TEST_MESSAGE *) nml->get_address(); + if(0 == tst_msg) + { + fprintf(stderr,"nml->get_address() returned NULL\n"); + delete nml; + exit(123); + } + int expected_last_var=strtol(argv[4],0,0); + if(tst_msg->lastvar != expected_last_var) + { + fprintf(stderr,"expected_last_var(%d) != tst_msg->last_var(%ld)\n", + expected_last_var, tst_msg->lastvar); + delete nml; + exit(122); + } + int i=0; + void (*old_handler)(int)=0; + if(repeat_count != 0) + { + old_handler = signal(SIGINT,my_sigint_handler); + } + for(i=0; + ((i < repeat_count || repeat_count < 0) && !sigint_occured) ; i++) + { + esleep(repeat_delay); + t = nml->read(); + rcs_print("nml->read() returned %d\n",t); + switch(t) + { + case TEST_MESSAGE_TYPE: + tst_msg = (TEST_MESSAGE *) nml->get_address(); + rcs_print("tst_msg->i=%d\n",tst_msg->i); + if(tst_msg->lastvar != expected_last_var) + { + fprintf(stderr,"expected_last_var(%d) != tst_msg->last_var(%ld)\n", + expected_last_var, tst_msg->lastvar); + signal(SIGINT,old_handler); + delete nml; + exit(122); + } + break; + + case 0: + break; + + case -1: + default: + fprintf(stderr,"Bad return value from read.\n"); + signal(SIGINT,old_handler); + delete nml; + exit(122); + } + } + if(repeat_count != 0) + { + signal(SIGINT,old_handler); + } + delete nml; + exit(0); +} diff --git a/doc/nml_test_server.cc b/doc/nml_test_server.cc new file mode 100644 index 0000000..e782419 --- /dev/null +++ b/doc/nml_test_server.cc @@ -0,0 +1,38 @@ + +#include "nml_test_format.hh" + + +#include +#include +#include + +int +main(int argc, char **argv) +{ + NML *nml_ptr; + rcs_print("nml_test_server: %s compiled on %s at %s\n",__FILE__,__DATE__,__TIME__); + print_rcs_version(); + + if(argc < 3) + { + fprintf(stderr,"usage : bufname procname configfile\n"); + exit(-1); + } + + nml_ptr = new NML(nml_test_format,argv[1],argv[2],argv[3]); + rcs_print("nml_ptr=%p\n",nml_ptr); + + if(!nml_ptr) + { + fprintf(stderr,"OUT-OF-MEMORY\n"); + exit(127); + } + if(!nml_ptr->valid()) + { + fprintf(stderr,"nml_ptr->valid() check failed.\n"); + exit(-1); + } + printf("Starting NML server(s) . . . \n"); + run_nml_servers(); + exit(0); +} diff --git a/doc/nml_test_write.cc b/doc/nml_test_write.cc new file mode 100644 index 0000000..01b5dc2 --- /dev/null +++ b/doc/nml_test_write.cc @@ -0,0 +1,95 @@ + +#include "nml_test_format.hh" + +#include +#include +#include +#include + +static bool sigint_occured=false; + +static void my_sigint_handler(int sig) +{ + sigint_occured=true; +} + +int +main(int argc, char **argv) +{ + int repeat_count; + double repeat_delay; + NML *nml; + set_rcs_print_destination(RCS_PRINT_TO_STDERR); + nml=0; + repeat_count=0; + repeat_delay=1.0; + + if(argc < 5) + { + fprintf(stderr,"usage : bufname procname configfile lastvar\n"); + exit(127); + } + if(argc >= 6) + { + repeat_count=strtol(argv[5],0,0); + } + if(argc >= 7) + { + repeat_delay =strtod(argv[6],0); + } + void (*old_handler)(int)=0; + if(repeat_count != 0) + { + old_handler = signal(SIGINT,my_sigint_handler); + } + + nml = new NML(nml_test_format,argv[1],argv[2],argv[3]); + if(nml == 0) + { + exit(126); + } + if(!nml->valid()) + { + fprintf(stderr,"nml->valid() check failed.\n"); + delete nml; + nml=0; + exit(125); + } + int t; + TEST_MESSAGE tst_msg; + tst_msg.lastvar=strtol(argv[4],0,0); + if((t = nml->write(tst_msg))) + { + fprintf(stderr,"nml->write() returned %d\n", t); + delete nml; + nml=0; + exit(124); + } + int i=0; + for(i = 0 ; + ((i < repeat_count || repeat_count < 0) && !sigint_occured) ; i++) + { + tst_msg.i=i; + rcs_print("tst_msg.i=%d\n",tst_msg.i); + esleep(repeat_delay); + if((t = nml->write(tst_msg))) + { + fprintf(stderr,"nml->write() returned %d\n", t); + signal(SIGINT,old_handler); + delete nml; + nml=0; + exit(124); + } + } + if(repeat_count != 0) + { + signal(SIGINT,old_handler); + } + + if(nml) + { + delete nml; + nml=0; + } + exit(0); +} diff --git a/doc/nmlbuild.html b/doc/nmlbuild.html new file mode 100644 index 0000000..ff21749 --- /dev/null +++ b/doc/nmlbuild.html @@ -0,0 +1,89 @@ + + +NML Configuration File Builder + + +

    NML Configuration File Builder

    +

    This form provides an interface to the CGI program which generates NML configuration files. After filling in the form press submit and the new NML file +will be created and displayed. Use your browsers "Save As ..." command to save the NML file where you can use it. The program makes several assumptions about your project that can be changed by editing the NML configuration +file with a text editor using information from The NML Programmer's Guide. All buffer and process +names need to be atleast 2 characters long and can be separated with +new lines, spaces, tabs, or commas. None of the fields are required, you may +leave any or all of them blank. The program will place all buffers on +the same host and give them all the same master and server. +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    +buffers:
    +
    +local processes:
    +
    +remote processes:
    +
    +master: + +server: +
    +timeout for local processes:
    +
    +timeout for remote processes:
    +buffer host: + +remote host: +
    +buffer type:
    SHMEM
    +GLOBMEM
    +
    +remote connection type:
    TCP with ascii encoding +
    RPC with XDR encoding +
    +buffer size:
    +VME address:
    +first shared memory key:
    +nuetral buffers: +
    +TCP port:

    +RPC program number:
    +
    + +
    + +
    +
    +
    + +

    Last Modified: December 18,1996

    + + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/nmlcfgsvr.html b/doc/nmlcfgsvr.html new file mode 100644 index 0000000..cfb40b4 --- /dev/null +++ b/doc/nmlcfgsvr.html @@ -0,0 +1,1346 @@ + + + + +NML Configuration Server + + + + + + +

    NML Configuration Server

    + + + +

    Introduction

    + +

    The NML configuration server provides an alternative method of providing the kind of information normally placed in NML configuration files to NML applications. It can be used to provide NML servers and applications with information concerning how they should connect and transmit data to each other but it is not directly involved in each transfer. It is contacted over a TCP connection whenever an NML channel is created, and sometimes when one is deleted and the name of the configuration file matches a particular syntax or the configuration file contains some new syntax. With each contact it not only provides the information that would have been stored in the configuration file, but updates its own internal memory model of what a virtual configuration file would contain, so that later requests for related information obtain corresponding information. This allows existing NML applications could use the configuration server without modification of the source code however the they will need to be linked with a new version of the RCS library.

    + +

    Notation

    + +

    I like lots of examples.

    + +
    +
    +
    +     Commands users are expected to enter at a command prompt will look like this.
    +
    +
    +
    + +
    +
    +
    +     Computer program generated example output will look like this.
    +
    +
    +
    + +
    +
    +
    +Text files listed in line look like this.
    +
    +
    +
    + + +

    Examples

    + +

    It is convenient for testing to have a set of applications where the buffer name, process name and configuration file can be set from the command line. I do not expect most applications to be built this way but it allows us to experiment with a number of different scenarios without recompiling anything. To run the demonstrations you need four programs nmlcfgsvr which should have been built along with the RCS library and three programs just for testing: nml_test_server, nml_test_write and nml_test_read. The source for the three test programs includes: +nml_test_server.cc, +nml_test_write.cc, +nml_test_read.cc, +nml_test_format.hh, +nml_test_format_n.cc, and +nml_test_format_n_codegen_protos.hh. They should be in the src/test directory of the expanded RCS library source archive or you can download them from the last set of links.

    + +

    Compiling the test programs:

    + +

    Exactly how you compile them depends on your operating system, compiler and +how directories are laid out. This worked for me:

    + +
    +
    +
    +g++ -Ircslib_install_dir/include -Ircslib-2004.3/src/test  rcslib-2004.3/src/test/nml_test_server.cc rcslib-2004.3/src/test/nml_test_format_n.cc -Lrcslib_install_dir/lib -lrcs -o nml_test_server
    +
    +g++ -Ircslib_install_dir/include -Ircslib-2004.3/src/test  rcslib-2004.3/src/test/nml_test_write.cc rcslib-2004.3/src/test/nml_test_format_n.cc -Lrcslib_install_dir/lib -lrcs -o nml_test_write
    +
    +g++ -Ircslib_install_dir/include -Ircslib-2004.3/src/test  rcslib-2004.3/src/test/nml_test_read.cc rcslib-2004.3/src/test/nml_test_format_n.cc -Lrcslib_install_dir/lib -lrcs -o nml_test_read
    +
    +
    +
    + +

    rcslib_install_dir is unique to my system. Generally that needs to be replaced in all commands with something appropriate to your system, or you could use a symbolic link to make that work.

    +

    So did this:

    + +
    +
    +
    +make -C rcslib-2004.3/src/test/ -f Makefile.extra_tests clean nml_test_server nml_test_write nml_test_read
    +
    +
    +
    + +

    Running some demonstrations:

    + +

    Start the nmlcfgsvr:

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr
    +
    +
    +
    + +

    It produces the following output:

    + +
    +
    +
    +Registering server on TCP port 11671, my_hostname=fakehost.fakenet.com, my_ipstring=240.9.78.68.
    +If you run other instances of nmlcfgsvr that could interact with processes run on this system or vice-versa, it would be safer to set --startkey to a value far enough away from the value used here 785482752(0x2ED18400) to avoid conflicts.
    +
    +
    +
    + +

    Of Course your IP address and hostname will not be the same. If you are using DHCP and do not have a unique statically configured hostname, the information may be too generic to be useful, otherwise it will hopefully be a convenience for doing the remote tests. If the value of my_ipstring=127.0.0.1, then you will need to use the --localip option to set the string to something you will need to obtain from some system utility. The local tests should work regardless. 11671 is the current default, but it may be changed. It also warns about the fact that the shared memory starting key was not set. The keys need to be unique for each buffer. The nmlcfgsvr will start with the start key and just keep incrementing from there. If two different nmlcfgsvr's are connected to from the same host, then might cause conflicts by using the same key for different buffers. startkey is chosen if it is not given on the command line based on the hosts ip and the port number in a way that is intended to make these conflicts very unlikely. You may need to set the LD_LIBRARY_PATH environment variable to ensure librcs.so can be found.

    + +

    Start an NML server for buffer "b1":

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b1 svr nmlcfgsvr: 
    +
    +
    +
    + +

    The env command is a standard UNIX command that runs another program with +a given environment variable(s) set to particular value(s). There are lots of other ways of accomplishing this. On some systems you will need to use setenv or export command. However the variable should not be set when running the other test programs, so a separate terminal or window might need to be used. Since there is no config file to tell the system that this process should act as a server, the environment variable NML_SET_TO_SERVER needs to be set. We could also eliminate the need for this by editing the nml_test_server.cc source code. nml_test_server is written to take its first argument an pass it as the buffer name, its second and pass it as the process name and and its third argument and pass it as the configuration file name. The NML constructors recognize a configuration file name that starts with "nmlcfgsvr:" to indicate that it should not read a configuration file at all but rather connect to an NML configuration server. With no hostname or port number appended the connection will be to the default port on the local system.

    + +

    The output should look something like this:

    + +
    +
    +
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 10 2004 at 15:16:15 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +nml_ptr=0x804bf60
    +Starting NML server(s) . . . 
    +
    +
    +
    + +

    This is just some diagnostics output. You could edit nml_test_server.cc to get rid of it. If there had been ERROR or WARNING messages, I would look at those +more carefully.

    + +

    Examine the virtual configuration file.

    + +
    +
    +
    +telnet 127.0.0.1 11671
    +
    +
    +
    + +
    +
    +
    +Trying 127.0.0.1...
    +Connected to localhost.localdomain (127.0.0.1).
    +Escape character is '^]'.
    +
    +
    +
    + +
    +
    +
    +list
    +
    +
    +
    + +
    +
    +
    +#BEGIN_LIST
    +B       b1      SHMEM   240.9.78.68     10240   0       0       2       64     785482768        TCP=59860 bsem=785482769  packed confirm_write nmlcfgsvr=240.9.78.68:11671
    +#END_LIST
    +
    +
    +
    + +
    +
    +
    +       [CONTROL-D]
    +
    +
    +
    + +
    +
    +
    +Socket closed to host with IP address 127.0.0.1. (quit command received.)
    +Connection closed by foreign host.
    +
    +
    +
    + +

    The second argument to telnet changes the port it normally uses. "list" is one of a few commands that can be sent to the nmlcfgsvr. The output contains what could have been written into a configuration file and been used but is instead being generated by the server. The server has chosen a number of default values for options that may or may not be appropriate in every situation or they might just not be the most efficient choices. The buffer type was chosen as SHMEM. SHMEM is available for more platforms but GLOBMEM might have allowed faster more direct access to the data for the right kind of system. The buffer size was chosen as 10240 this was chosen to be somewhat larger than the maximum message size passed to CMS::check_type_info in the format function. A user might know that the largest message from the format function will never actually be sent to this buffer and the size is unnecessarily large. On the other hand if the message contained unbounded arrays the size could actually be too small. The data is to be stored in raw format (neutral=0). This is better for multiple local reader or writer processes most of the time, but it may be less efficient if the buffer is primarily accessed remotely or if dynamic length arrays are used. It also will not work at all if unbounded arrays are used. It will use TCP, which works for larger messages and for blocking operations, but UDP could have been a more efficient choice. The timeout chosen was infinity (INF). There are various ways to change these defaults, but these are some of the pitfalls of trying to use a computer program rather than a skilled human system integrator.

    + + +

    Write some data into "b1".

    + +
    +
    +
    +nml_test_write b1 writer nmlcfgsvr: 1
    +
    +
    +
    + +

    There will be no output if everything goes well. +The arguments to nml_test_write are the same as those for nml_test_server except that an additional fourth argument is an integer that will be used to set a variable in the test message to be sent. nml_test_read can then check to see that this is the number we expect an thus track writes correspond with which reads. +

    + +

    Read the data from "b1".

    + +
    +
    +
    +nml_test_read b1 reader nmlcfgsvr: 1
    +
    +
    +
    + +

    There will be no output since the read is successful and contains the data +we expect. However replacing the 1 with a 2 produces:

    + +
    +
    +
    +nml_test_read b1 reader nmlcfgsvr: 2
    +
    +
    +
    + +
    +
    +
    +expected_last_var(2) != tst_msg->last_var(1)
    +
    +
    +
    + +

    +Launch a "b2" server and verify its data is independent of the "b1". +

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b2 svr2  nmlcfgsvr: &
    +nml_test_write b2 writer nmlcfgsvr: 2
    +nml_test_read b2 reader nmlcfgsvr: 2
    +nml_test_read b1 reader nmlcfgsvr: 1
    +
    +
    +
    + +

    Except for some diagnostics output from the server there is no output. The lack of output from the last read verifies that despite writing a 2 into buffer b2, buffer b1 still has 1 in the lastvar variable.

    + +

    Run a parallel set of tests connected to a separate configuration server.

    +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr --port 50000
    +env NML_SET_TO_SERVER=1 nml_test_server b1 svr nmlcfgsvr::50000 &
    +env NML_SET_TO_SERVER=1 nml_test_server b2 svr2 nmlcfgsvr::50000 &
    +nml_test_write b1 writer nmlcfgsvr::50000 11
    +nml_test_write b2 writer nmlcfgsvr::50000 12
    +nml_test_read b1 reader nmlcfgsvr::50000 11
    +nml_test_read b2 reader nmlcfgsvr::50000 12
    +nml_test_read b1 reader nmlcfgsvr: 1
    +nml_test_read b2 reader nmlcfgsvr: 2
    +
    +
    +
    + +

    Other than the diagnostics output from starting the servers there is no output, which means all the reads and writes succeed and the reads get what they expect. The buffers "b1" and "b2" created from configuration info from the configuration server on port 50000 are independent from each other and from the buffers of the same name created on the default 11671 port.

    + +

    To test remote connections, login to another system, and run:

    + +
    +
    +
    +nml_test_server b3 svr3 nmlcfgsvr:240.9.78.68        &
    +nml_test_server b3 svr3 nmlcfgsvr:240.9.78.68:50000  &
    +nml_test_read  b1 reader nmlcfgsvr:240.9.78.68 1
    +nml_test_read  b2 reader nmlcfgsvr:240.9.78.68 2
    +nml_test_read  b1 reader nmlcfgsvr:240.9.78.68:50000 11
    +nml_test_read  b2 reader nmlcfgsvr:240.9.78.68:50000 12
    +nml_test_write b1 writer nmlcfgsvr:240.9.78.68       1001
    +nml_test_write b2 writer nmlcfgsvr:240.9.78.68       1002
    +nml_test_write b3 writer nmlcfgsvr:240.9.78.68       1003
    +nml_test_write b1 writer nmlcfgsvr:240.9.78.68:50000 101
    +nml_test_write b2 writer nmlcfgsvr:240.9.78.68:50000 102
    +nml_test_write b3 writer nmlcfgsvr:240.9.78.68:50000 103
    +nml_test_read b1 reader nmlcfgsvr:240.9.78.68       1001
    +nml_test_read b2 reader nmlcfgsvr:240.9.78.68       1002
    +nml_test_read b3 reader nmlcfgsvr:240.9.78.68       1003
    +nml_test_read b1 reader nmlcfgsvr:240.9.78.68:50000 101
    +nml_test_read b2 reader nmlcfgsvr:240.9.78.68:50000 102
    +nml_test_read b3 reader nmlcfgsvr:240.9.78.68:50000 103
    +
    +
    +
    + +

    Again there was no output other than diagnostics output from starting the servers, which means all the reads and writes succeed and the reads get what they expect. The IP address "240.9.78.68" happened to be where I ran the nmlcfgsvr and the first set of tests. It will be different on your system. The IP address in these commands does not indicate where the data itself is stored, or from where it was read or written only where the information is about where and how it is stored. None of these test programs happen to be written to use more than one buffer. However since the config file parameter is passed to each new NML channel separately it is straight forward to create a single process that connects to several buffers using information from different nmlcfgsvr instances on different ports and/or hosts and perhaps some buffers using normal NML configuration files.

    + +

    A serious problem that exists with these types of systems is that it creates additional ways for the system to fail and makes building a robust system harder. If nmlcfgsvr was never started the other programs would hang forever during the NML constructor. This could be changed if the timeout were set, then the other programs would print an error message and exit. The test programs are written, to exit if NML::valid() returns 0. They could have been written to wait and try again, or to try to continue running in some diminished capacity doing things that do not require accessing that buffer.

    + +

    Try this:

    + +
    +
    +
    +killall -INT nmlcfgsvr
    +killall -INT nml_test_server
    +env NML_SET_TO_SERVER=1 nml_test_server b1 svr  nmlcfgsvr: 
    +
    +
    +
    + +

    The killall program sends a signal (usually intended to terminate) all the instances (aka tasks,threads or processes) of a particular program. If your system does not have killall the same thing can be accomplished in multiple steps using ps and kill or TaskManager or by pressing [CTRL][C] in the windows those programs are running in. The -INT option is optional but recommended since those programs are written to do some additional cleanup when they receive SIGINT or signal 2. The killall programs may or may not produce some output. nml_test_server will print:

    + +
    +
    +
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 07:56:52 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +
    +
    +
    + +

    Notice that it did not print the following which it printed in previous runs.This is because the test program is stuck in the NML constructor.

    + +
    +
    +
    +Starting NML server(s) . . . 
    +
    +
    +
    + +

    After 10 seconds it should print:

    + +
    +
    +
    +(time=1315.0851,pid=6410): /local/shackle/rcslib/src/cms/sokintrf.c 1537: !WARNING! Connecting to 127.0.0.1:11671 has taken longer than 10 seconds. I am configured to wait forever. Check that the server is running or will run.
    +
    +
    +
    + +

    In another window or terminal start the nmlcfgsvr program with:

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr
    +
    +
    +
    + +

    In the first window where nml_test_server was run, +there should finally be:

    + +
    +
    +
    +Starting NML server(s) . . . 
    +
    +
    +
    + +

    This indicates the server has finally started and we should be able to go on and do things as before.

    + +

    Now try this:

    + +
    +
    +
    +killall -INT nmlcfgsvr
    +killall -INT nml_test_server
    +env NML_SET_TO_SERVER=1 nml_test_server b1 svr  nmlcfgsvr:::10.0 
    +
    +
    +
    + +

    The program should output:

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b2 svr2 nmlcfgsvr:::10.0
    +nml_test_server: rcslib-2004.3/src/test/nml_test_server.cc compiled on Mar 18 2004 at 15:55:49
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 07:56:52 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +
    +
    +
    + +

    There should be a pause where it waits about 10 seconds. It will then print this:

    + +
    +
    +
    +(time=3287.9642,pid=6490): /local/shackle/rcslib/src/cms/sokintrf.c 1899: !ERROR! connect error: 111 -- Connection refused
    +(time=3287.9646,pid=6490): /local/shackle/rcslib/src/cms/sokintrf.c 1901: !ERROR! Error trying to connect to TCP port 11671 of host 127.0.0.1.
    +(time=3287.9648,pid=6490): /local/shackle/rcslib/src/cms/nmlcfgsvr_clntcalls.cc 196: !ERROR! nmlcfgsvr_connect(::10.0) failed.
    +nml_ptr=0x804bf60
    +nml_ptr->valid() check failed.
    +
    +
    +
    + +

    Since a timeout was set for connecting to the nmlcfgsvr, the program quit rather than waiting forever. The application could try a different nmlcfgsvr on another host or port, however the application can not assume that information retrieved from another server would be the same as if the original configuration server had been contacted.

    + +

    What if instead of nmlcfgsvr not being started, nml_test_server was not started?

    + +

    Try this:

    + +
    +
    +
    +killall -INT nmlcfgsvr
    +killall -INT nml_test_server
    +rcslib_install_dir/bin/nmlcfgsvr &
    +nml_test_write b1 writer nmlcfgsvr: 1
    +nml_test_read b1 reader nmlcfgsvr: 1
    +
    +
    +
    +
    + +

    The error that results is this:

    + +
    +
    +
    +nml->read() returned 0 when 101 was expected.
    +
    +
    +
    + +

    What happened is that buffer b1 was created and deleted twice. The default rule is that if a buffer does not exist when it is asked for it will be created and if it does the process will just attach to the existing buffer. When the last process using the buffer exits the buffer should be deleted. So nml_test_write found that the buffer did not exist, created it , wrote a message into it, then deleted the buffer. nml_test_read found that the buffer no longer existed, created it, found it empty, considered that an error, printed the message, deleted the buffer again and exited. Most NML applications might not consider an empty buffer to be an error and just check again later but nml_test_read does. 101 is just the type of the test message that nml_test_write writes and nml_test_read expects.

    + +

    Another way to run things would be to do this:

    + +
    +
    +
    +killall -INT nmlcfgsvr
    +killall -INT nml_test_server
    +rcslib_install_dir/bin/nmlcfgsvr &
    +nml_test_write b1 writer nmlcfgsvr::::create=wait 1
    +
    +
    +
    + +

    The prompt should have never comeback after starting nml_test_write. It is now set not to create the buffer itself but to wait for another process to create it.Run the following in another window or terminal:

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b1 svr nmlcfgsvr: &
    +
    +
    +
    + +

    nml_test_write should have returned and finally with nml_test_server now running in the background, the following read should succeed and therefore have no output:

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr::::create=wait 1
    +
    +
    +
    + +

    Another problem could occur if nmlcfgsvr were killed, or the system it was running on lost power while other NML applications continued to run based on its data. To simulate this run the following in separate windows.

    + +

    In one window ...

    + +
    +
    +
    +nml_test_write b1 writer nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    In another window ...

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    The output in the write window should look like this:

    + +
    +
    +
    +. . .
    +tst_msg.i=346
    +tst_msg.i=347
    +tst_msg.i=348
    +tst_msg.i=349
    +tst_msg.i=350
    +tst_msg.i=351
    +tst_msg.i=352
    +tst_msg.i=353
    +tst_msg.i=354
    +tst_msg.i=355
    +. . .
    +
    +
    +
    + +

    The two additional arguments to nml_test_write say to repeat the write (-1) times which for this test means forever every 0.5 seconds.The value of the variable i in the test message is incremented with every write. A stream of these messages should be continuously scrolling off the screen.

    + +

    The output from the nml_test_read window should look like this:

    + +
    +
    +
    +. . .
    +tst_msg->i=1190
    +nml->read() returned 101
    +tst_msg->i=1191
    +nml->read() returned 101
    +tst_msg->i=1192
    +nml->read() returned 101
    +tst_msg->i=1193
    +nml->read() returned 101
    +tst_msg->i=1194
    +nml->read() returned 101
    +tst_msg->i=1195
    +. . .
    +
    +
    +
    + +

    The additional arguments to nml_test_read work the same as for nml_test_write. The read will be repeated (-1) times which means forever every 0.5 seconds. If a new message has been read it will print the value NML::read returned which is the type of the test message and the value of the i variable in the test message which should correspond with the value nml_test_write printed. They do not correspond above because there was a substantial delay between copying and pasting from one window and from the other. There should be a stream of these messages slowly scrolling off the screen.

    + +

    If nml_test_write is killed, then the output of nml_test_read should change to:

    + +
    +
    +
    +. . .
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +. . .
    +
    +
    +
    + +

    This output should again slowly scroll off the screen. With nmlcfgsvr running in the background, it should be possible to kill and restart nml_test_read and nml_test_write in any order and not see any problems other than the fact that nml_test_read prints a series of returned 0 when nml_test_write is not running. (If one of them were run remotely and the nml_test_server were not run then an error would occur when the one acting as server were killed, while the other continued to run. Both are written to exit after a single error. However they could have been written to continue and recover from this sort of error, independent of whether nmlcfgsvr was used.)

    + +

    Finally seeing the effect of nmlcfgsvr dying as the system runs is possible. With both nml_test_read and nml_test_write running, kill the nmlcfgsvr. The output from both nml_test_read and nml_test_write should be completely unaffected, by the nmlcfgsvr's death. Both continue to scroll out the same series of messages that they were before nmlcfgsvr's death.

    + +

    However there are still some hidden problems lurking in our system. To see this without restarting nmlcfgsvr, kill and restart nml_test_read. It will now hang. Despite the fact that the buffer nml_test_read wants to connect to exists and nml_test_write is merrily writing messages to it, nml_test_read can not find that out is therefore hung. Kill nml_test_read.

    + +

    Now with nml_test_write still running, try this:

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr &
    +nml_test_read b2 readr nmlcfgsvr: 1 
    +
    +
    +
    + +

    The output should look like this:

    + +
    +
    +
    +Registering server on TCP port 11671, my_hostname=fakehost.fakenet.com, my_ipst
    +ring=240.9.78.68.
    +(time=1717.3069,pid=20728): /local/shackle/rcslib/src/cms/shmem.cc 466: !ERROR! 
    +Shared memory buffers b2 and b1 conflict. (key=11673(0x2D99))
    +(time=1717.3324,pid=20728): /local/shackle/rcslib/src/cms/cms_cfg.cc 1564: !ERRO
    +R! cms_config: -11(CMS_RESOURCE_CONFLICT_ERROR: Two or more CMS buffers are tryi
    +ng to use the same resource.) Error occurred during SHMEM create.
    +(time=1717.3467,pid=20728): /local/shackle/rcslib/src/cms/nml.cc 511: !ERROR! NM
    +L: cms_create_from_lines returned -1.
    +
    +**********************************************************
    +* Current Directory = /local/shackle
    +* @(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 15:18:06 for
    + the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (R
    +ed Hat Linux 3.2.2-5) $ .
    +
    +**********************************************************
    +* BufferName = b2
    +* BufferType = 0
    +* ProcessName = readr
    +* Configuration File = nmlcfgsvr:
    +* CMS Status = -11 (CMS_RESOURCE_CONFLICT_ERROR: Two or more CMS buffers are try
    +ing to use the same resource.)
    +* Recent errors repeated:
    +
    +Shared memory buffers b2 and b1 conflict. (key=11673(0x2D99))
    +
    +cms_config: -11(CMS_RESOURCE_CONFLICT_ERROR: Two or more CMS buffers are trying 
    +to use the same res
    +NML: cms_create_from_lines returned -1.
    +
    +* BufferLine: B         b2      SHMEM   240.9.78.68     10240   0       0      2
    +        64      11673   TCP=11673 bsem=11674  packed nmlcfgsvr=240.9.78.68:11671
    +* ProcessLine: P        readr   b2      LOCAL   127.0.0.1       RW      3      I
    +NF      1       1
    +* error_type = 0 (NML_NO_ERROR)
    +************************************************************
    +
    +nml->valid() check failed.
    +
    +
    +
    + +

    Notice that nml_test_read tried to connect to b2 rather than b1. Since nmlcfgsvr had died and was restarted since nml_test_write which was still running had started it did not know that b1 existed. It therefore allocated the same resource, a shared memory key, for b2 that was already being used for b1. A more complicated resource allocation method might have avoided this. If nmlcfgsvr had allocated the keys randomly rather than in sequence a conflict would have been much less likely. If nml_test_read had collected more information about the resources being used before connecting to nmlcfgsvr it could have forwarded that information and nmlcfgsvr could have avoided the keys in use. nml_test_read could also be written to respond to the error by informing nmlcfgsvr and requesting a new set of configuration data. Some or all of these approaches might have value and might be implemented in some future version of NML, however they will not solve the following problem:

    + +

    With nml_test_write still running, and the restarted nmlcfgsvr running, +restart nml_test_read to connect to b1.

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    The output should be:

    + +
    +
    +
    +nml->read() returned 0 when 101 was expected.
    +
    +
    +
    + +

    The problem is that nmlcfgsvr still does not know that b1 exists. So when nml_test_read asks for it, they effectively create another independent b1 just as if another instance of nmlcfgsvr had been contacted on another host or port. This new b1 has never been written to. The first call to NML::read() returns 0 which nml_test_read considers an error.

    + +

    Both problems could be avoided by preserving the state of virtual configuration file within nmlcfgsvr as it is shutdown and restarted. I considered two methods of doing this but implemented only one. The more straight forward option would be to save to a file during shutdown and reread the file during startup. However since it is probably impossible to ensure that there will be time during shutdown to write the file the file must be written with each change, in fact the file must be written before the client is sent word of the status of any request that causes a change. nmlcfgsvr will close the file and use the operating system sync() function before sending a response to a client. Another approach that has not been implemented would be to send the data over a network to another instance of nmlcfgsvr. While this might eliminate the need to have nonvolatile writeable storage on the system nmlcfgsvr runs on, it seems to be extremely problematic.

    + +

    Kill all nml_test_write and restart the nmlcfgsvr with file synchronization on.

    + +
    +
    +
    +killall -INT nml_test_write
    +killall -INT nml_test_read
    +killall -INT nml_test_server
    +killall -INT nmlcfgsvr
    +rcslib_install_dir/bin/nmlcfgsvr --filesync &
    +
    +
    +
    + +

    The extra killalls may produce some output, but the main output should be:

    +
    +
    +
    +Can't read either nmlcfgsvr_file_sync1.nml or nmlcfgsvr_file_sync2.nml
    +Registering server on TCP port 11671, my_hostname=fakehost.fakenet.com, my_ipstring=240.9.78.68.
    +
    +
    +
    + +

    The first message is output because this is the first time the --filesync option was used and therefore no NML files to reread are available. The reason it mentions two different files is that the nmlcfgsvr will alternate between writing one and the other so that if it were killed while writing one the other would still preserve the system state.

    + +

    Start nml_test_write and nml_test_read in separate windows with the +continuous repeat option as before.

    + +

    In one window ...

    + +
    +
    +
    +nml_test_write b1 writer nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    In another window ...

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    Now kill nmlcfgsvr and restart nmlcfgsvr.

    + +
    +
    +
    +killall -INT nmlcfgsvr
    +rcslib_install_dir/bin/nmlcfgsvr --filesync &
    +
    +
    +
    + +

    nml_test_read and nml_test_write should continue scrolling out the same messages they were. This time the output from nmlcfgsvr does not mention not being able to read nmlcfgsvr_file_sync1.nml or nmlcfgsvr_file_sync2.nml, since they were created the last time.

    + +

    Repeat the test of accessing b2 first after restarting nmlcfgsvr.

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b2 svr2 nmlcfgsvr: &
    +nml_test_write b2 writer nmlcfgsvr::::create=wait 2
    +nml_test_read b2 readr nmlcfgsvr:::::create=wait 2 
    +
    +
    +
    + +

    This time there should be no resource conflict since b2 now gets a different set of resources, than b1 is using since nmlcfgsvr knows that b1 is using them.

    + +

    Start a new instance of nml_test_read.

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr: 1 -1 0.5
    +
    +
    +
    + +

    It should start scrolling out the same set of messages nml_test_write is sending, indicating that it has connected to the existing buffer rather than creating a new independent one as occurred after doing the same thing after restarting nmlcfgsvr without --filesync.

    + +

    There is yet another problem however. What happens if the state of the system changes between killing nmlcfgsvr and restarting it? It is impossible for any new buffer to be created, since any process that tried to connect to the nmlcfgsvr to create one would either timeout or hang. However it is quite possible for a buffer to be deleted during this time. In fact if a process died even while the nmlcfgsvr were running it might die but be unable to report this to the nmlcfgsvr either due to the way it died or due to a missing network connection at the time. In either case the nmlcfgsvr, could enter a state where it believes a buffer exits that has since been deleted. nmlcfgsvr usually avoids entering this state when starting up by checking each buffer in the file sync file, by contacting the server that should be running for that buffer and sending a request to it to verify the buffer name matches the buffer number that was generated when the buffer was created. If they do not match or no reply is received after a timeout, nmlcfgsvr will consider the buffer deleted.

    + +

    Restart the nmlcfgsvr fresh by deleting the file synchronization files first.

    + +
    +
    +
    +killall -INT nml_test_write
    +killall -INT nml_test_read
    +killall -INT nml_test_server
    +killall -INT nmlcfgsvr
    +rm nmlcfgsvr_file_sync1.nml 
    +rm nmlcfgsvr_file_sync2.nml
    +rcslib_install_dir/bin/nmlcfgsvr --filesync &
    +
    +
    +
    + +

    Login to a remote system in a separate window, start nml_test_write, replacing "240.9.78.68" with IP address or hostname of the system nmlcfgsvr was started on.

    + +
    +
    +
    +nml_test_write b1 writer nmlcfgsvr:240.9.78.68 1 -1 0.5
    +
    +
    +
    + +

    Now start nml_test_read with option to wait for nml_test_write to create b1.

    + +
    +
    +
    +nml_test_read b1 readr nmlcfgsvr: 1
    +
    +
    +
    + +

    nml_test_read should have returned immediately, having finally received the configuration data from nmlcfgsvr. It then goes on th read the message it expects from the buffer with the value of last_var it expects and therefore exits silently.

    + +

    First kill nmlcfgsvr, then kill nml_test_write. The following output should +come from nml_test_write which is the indication that it was unable to contact the nmlcfgsvr which was killed first.

    + +
    +
    +
    +(time=1261.6826,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1899: !ERROR! connect error: 111 -- Connection refused
    +(time=1261.6832,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1901: !ERROR! Error trying to connect to TCP port 11671 of host 127.0.0.1.
    +(time=1261.6834,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/nmlcfgsvr_clntcalls.cc 205: !ERROR! nmlcfgsvr_connect(240.9.78.68:11671) failed.
    +(time=1266.7225,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1899: !ERROR! connect error: 111 -- Connection refused
    +(time=1266.7228,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1901: !ERROR! Error trying to connect to TCP port 11671 of host 127.0.0.1.
    +(time=1266.7229,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/nmlcfgsvr_clntcalls.cc 205: !ERROR! nmlcfgsvr_connect(240.9.78.68:11671) failed.
    +(time=1271.7625,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1899: !ERROR! connect error: 111 -- Connection refused
    +(time=1271.7628,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1901: !ERROR! Error trying to connect to TCP port 11671 of host 127.0.0.1.
    +(time=1271.7629,pid=24275,thread=16384): /local/shackle/rcslib/src/cms/nmlcfgsvr_clntcalls.cc 205: !ERROR! nmlcfgsvr_connect(240.9.78.68:11671) failed.
    +
    +
    +
    + +

    Restart the nmlcfgsvr with checking the sync file disabled.

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr --filesync --nofsynccheck &
    +
    +
    +
    + +

    Restart the writer on a different system, than it was started on the first time.

    + +
    +
    +
    +nml_test_write b1 writer nmlcfgsvr:240.9.78.68: 1 -1 0.5
    +
    +
    +
    + +

    nml_test_write hangs for about 10 seconds and then prints this:

    + +
    +
    +
    +(time=672.5194,pid=30415,thread=16384): /local/shackle/rcslib/src/cms/sokintrf.c 1537: !WARNING! Connecting to 240.9.78.214:1800 has taken longer than 10 seconds. I am configured to wait forever. Check that the server is running or will run.
    +
    +
    +
    + +

    "240.9.78.214" happens to be the system I ran nml_test_write on the last time. Since b1 was never deleted from the system. nmlcfgsvr is telling nml_test_write to connect to where the buffer used to be and nml_test_write is waiting forever for that system to respond. The default checking of the buffers as nmlcfgsvr would normally eliminate this problem. Of course it is possible that the was only temporarily unavailable at the time the nmlcfgsvr starts and the buffer is therefore unnecessarily deleted. Another option would be to have one process connect with create=new, which indicates to nmlcfgsvr that it delete any existing buffer of that name and create new one without doing any extra checks. This means this process would normally have to be started first or the other processes connecting would need to connect with create=wait, or the other process could end up creating a buffer that later would be deleted.

    + +

    Passing the configuration file as a command line argument is convenient for testing and running these simple examples but existing NML applications are not generally written this way. If you needed to connect to several NML buffers with different options it becomes rather unweildy.

    + +

    The following is an example NML configuration file (redirect.nml) that redirects queries to nmlcfgsvr:

    + +
    +
    +
    +
    +# Buffer lines
    +
    +# connect to one nmlcfgsvr if we are looking for b1
    +B b1 nmlcfgsvr::50000
    +
    +#connect to a different nmlcfgsvr if we are looking for queued_buffer and set the option queue=10
    +B queued_buffer nmlcfgsvr:240.9.78.68:::options=queue=10
    +
    +# Process lines
    +
    +# if this process is named "svr" use the new create type and set the server flag to 1
    +P svr default nmlcfgsvr_options=create=new set_to_server=1
    +
    +# if this process is not named above but the buffer is
    +#       then  use the checkwait createtype and set the timeout to 0.5
    +P default  default nmlcfgsvr_options=create=checkwait timeout=0.5
    +
    +# If we read this far without finding a matching buffer line and process line connect to nmlcfgsvr.
    +nmlcfgsvr:
    +
    +
    +
    +
    + +

    The IP address "240.9.78.68" will need to be edited to match your system.

    + +

    The following list of commands should exercize this configuration file.

    + +
    +
    +
    +killall -INT nml_test_write
    +killall -INT nml_test_read
    +killall -INT nml_test_server
    +killall -INT nmlcfgsvr
    +rcslib_install_dir/bin/nmlcfgsvr --port 50000 &
    +
    +
    +
    +
    +
    +
    +Registering server on TCP port 50000, my_hostname=feed.dmz.cme.nist.gov, my_ip_string=129.6.78.68.
    +If you run other instances of nmlcfgsvr that could interact with processes run on this system or vice-versa,
    + it would be safer to set --startkey to a value far enough away from the value used here 1504838656(0x59B20400) to avoid conflicts
    +
    +
    +
    +
    +
    +
    +nml_test_server b1 svr redirect.nml &
    +
    +
    +
    +
    +
    +
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 15:18:06 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +nml_ptr=0x804b1d8
    +Starting NML server(s) . . . 
    +
    +
    +
    +
    +
    +
    +nml_test_write b1 writer redirect.nml 77 
    +nml_test_read b1 reader redirect.nml 77 
    +
    +
    +
    +
    +
    +
    +        
    +
    +
    +
    +

    Because the buffer name is "b1" nml_test_server, nml_test_write and nml_test_read connect to nmlcfgsvr on port 50000. nml_test_write and nml_test_read produce no output because everything goes as expected.

    + +
    +
    +
    +killall -INT nml_test_server
    +killall -INT nmlcfgsvr
    +rcslib_install_dir/bin/nmlcfgsvr &
    +
    +
    +
    +
    +
    +
    +Registering server on TCP port 11671, my_hostname=feed.dmz.cme.nist.gov, my_ip_string=129.6.78.68.
    +If you run other instances of nmlcfgsvr that could interact with processes run on this system or vice-versa,
    + it would be safer to set --startkey to a value far enough away from the value used here 785482752(0x2ED18400) to avoid conflicts.
    +
    +
    +
    +
    +
    +
    +nml_test_server queued_buffer svr redirect.nml &
    +
    +
    +
    +
    +
    +
    +nml_test_server: rcslib-2004.3/src/test/nml_test_server.cc compiled on Mar 30 2004 at 10:39:07
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 15:18:06 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +nml_ptr=0x804b1d8
    +Starting NML server(s) . . . 
    +
    +
    +
    +
    +
    +
    +nml_test_write queued_buffer writer redirect.nml 1 20 0.5
    +
    +
    +
    + +
    +
    +
    +tst_msg.i=0
    +tst_msg.i=1
    +tst_msg.i=2
    +tst_msg.i=3
    +tst_msg.i=4
    +tst_msg.i=5
    +tst_msg.i=6
    +tst_msg.i=7
    +tst_msg.i=8
    +tst_msg.i=9
    +tst_msg.i=10
    +(time=2449.8462,pid=23705,thread=16384): /local/shackle/rcslib/src/cms/
    +cms_in.cc 2283: !ERROR! CMS: queued_buffer message queue is full.
    +(time=2449.8497,pid=23705,thread=16384): /local/shackle/rcslib/src/cms/
    +cms_in.cc 2284: !ERROR! (continued) CMS: Message requires 8896 bytes bu
    +t only 0 bytes are left.
    +
    +**********************************************************
    +* Current Directory = /local/shackle
    +* @(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 15:
    +18:06 for the autoconf-i586-pc-linux-gnu platform with compiler version
    + 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +
    +**********************************************************
    +* BufferName = queued_buffer
    +* BufferType = 0
    +* ProcessName = writer
    +* Configuration File = redirect.nml
    +* CMS Status = -7 (CMS_QUEUE_FULL:=  A write failed because queuing was
    + enabled but there was no room to add to the queue. )
    +* Recent errors repeated:
    +
    +CMS: queued_buffer message queue is full.
    +
    +(continued) CMS: Message requires 8896 bytes but only 0 bytes are left.
    +
    +
    +* BufferLine: B         queued_buffer   SHMEM   129.6.78.68     102400 
    +0       0       2       64      785482752       TCP=39235 bsem=78548275
    +3  queue packed confirm_write nmlcfgsvr=129.6.78.68:11671
    +* ProcessLine: P        writer  queued_buffer   LOCAL   129.6.78.68   R
    +W       0       0.500000        0       2 waitformaster
    +* error_type = 8 (NML_QUEUE_FULL_ERROR)
    +************************************************************
    +
    +nml->write() returned -1
    +
    +
    +
    +
    +
    +
    +nml_test_read queued_buffer reader redirect.nml 1 20 0.5
    +
    +
    +
    +
    +
    +
    +nml->read() returned 101
    +tst_msg->i=0
    +nml->read() returned 101
    +tst_msg->i=1
    +nml->read() returned 101
    +tst_msg->i=2
    +nml->read() returned 101
    +tst_msg->i=3
    +nml->read() returned 101
    +tst_msg->i=4
    +nml->read() returned 101
    +tst_msg->i=5
    +nml->read() returned 101
    +tst_msg->i=6
    +nml->read() returned 101
    +tst_msg->i=7
    +nml->read() returned 101
    +tst_msg->i=8
    +nml->read() returned 101
    +tst_msg->i=9
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +
    +
    +
    + +

    Because the buffer name was "queued_buffer" nml_test_write, nml_test_read and nml_test_write connect the configuration server on 240.9.78.68 or whatever you replaced this with and the option "queue=10" is set. nml_test_write is passed arguments suggesting it try to write into the buffer twenty times.It is only able to do so ten times before an error occurs because the buffer is queued and there is only enough space for ten messages. It exits after getting the error. nml_test_read also tries to read twenty times, the first ten times it retrieves a message off the queue after that read returns zero since the queue is empty.

    + +
    +
    +
    +env NML_SET_TO_SERVER=1 nml_test_server b2 svr redirect.nml &
    +
    +
    +
    +
    +
    +
    +nml_test_server: rcslib-2004.3/src/test/nml_test_server.cc compiled on Mar 30 2004 at 10:39:07
    +@(#)$Info: RCS_LIBRARY_VERSION 2004.3 Compiled on  Mar 19 2004 at 15:18:06 for the autoconf-i586-pc-linux-gnu platform with compiler version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) $ .
    +nml_ptr=0x804b1d8
    +Starting NML server(s) . . . 
    +
    +
    +
    +
    +
    +
    +nml_test_write b2 writer redirect.nml 1 20 0.5 
    +
    +
    +
    +
    +
    +
    +tst_msg.i=0
    +tst_msg.i=1
    +tst_msg.i=2
    +tst_msg.i=3
    +tst_msg.i=4
    +tst_msg.i=5
    +tst_msg.i=6
    +tst_msg.i=7
    +tst_msg.i=8
    +tst_msg.i=9
    +tst_msg.i=10
    +tst_msg.i=11
    +tst_msg.i=12
    +tst_msg.i=13
    +tst_msg.i=14
    +tst_msg.i=15
    +tst_msg.i=16
    +tst_msg.i=17
    +tst_msg.i=18
    +tst_msg.i=19
    +
    +
    +
    +
    +
    +
    +nml_test_read b2 reader redirect.nml 1 20 0.5
    +
    +
    +
    +
    +
    +
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +nml->read() returned 0
    +
    +
    +
    + +

    Buffer "b2" is never mentioned anywhere in the configuration file + redirect.nml but because the last line of that file begins with "nmlcfgsvr:" all three test programs contact the nmlcfgsvr just as if "nmlcfgsvr:" had been passed to the NML constructors directly instead of redirect.nml. Because this buffer is not queued each write simply overwrites the previous one, so nml_test_write writes into the buffer 20 times without error. nml_test_read only gets a message the first time it reads. nml_test_read does not print the first read's return value so only returned 0 is printed.

    + +

    Pseudo File Name Syntax

    + +

    The nmlcfgsvr can be contacted using the existing NML API, by passing a string to the as +the configuration file argument of the NML constructor. This string has the following syntax in +partially expanded BNF.

    + +
    +
    +pseudo_file := nmlcfgsvr:[[[<ip_address>|<hostname>]:[<port>]]:[<create_timeout>]][:create=<createtype>][:options=<optionslist>]
    +
    +createtype := get |
    +              create |
    +	      create_exclusive |
    +	      wait |
    +	      new |
    +	      checkget |
    +	      checkcreate | 
    +	      checkcreate_exclusive | 
    +	      checkwait
    +
    +optionslist := <optionitem> | 
    +                <optionslist> " " <optionitem>
    +
    +optionitem := queue[=<queuemultiplier>] |
    +              neutral=<neutral_flag< |
    +              confirm_write=<confirm_write_flag< |
    +              set_to_server=<server_flag< |
    +	      size=<buffer_size> |
    +	      remotetype=<remotetype>
    +              timeout=<timeout> |
    +	      plineadd=<"process_line_additions"> 
    +
    +
    + +

    The ip_address or hostname and port provide the location at which nmlcfgsvr can be contacted via TCP. The create_timeout provides a timeout in seconds for the time to contact nmlcfgsvr. (Use a decimal point to get higher resolution. ie 0.05 = 50 milliseconds.) The queuemultiplier increases the size so that the size of the buffer is sufficient to store 10 of the largest messages on the queue. (ie queue=10 size=200 is approximately the same as queue=1 size=2000). The queuemultiplier is mainly useful for specifying the maximum queue length when letting the size be chosen automatically. neutral_flag can be set to either 0 or 1 to determine whether the data is stored in neutral format internally or in the processors native format. This does not affect remote communications which are neutrally encoded regardless. confirm_write can be set to either 0 or 1 to determine whether a remote writer will wait for confirmation before returning from the write function. Remote writes can be significantly faster with this set to 0 but some errors will not be detected and multiple messages could be queued within the network. server_flag can be set to 0,1 or 2. This value is placed in the server field of the generated process line. By default it will be 3 if the buffer is new, indicating a server for this process should be spawned immediately and 0 otherwise.buffer_size is the integer size of the shared memory area to be allocated. remotetype sets the protocol for remote communications. Setting it to "udp" forces the use of UDP instead of the default TCP. timeout changes the time before read and write operations return with an error code and is independant of the create_timeout. The plineadd option allows arbitrary string to be attached to the end of the process line for setting unusual process specific options. The value of plineadd needs to be surrounded with quotation marks if it contains spaces. Only the timeout option and plineadd option have any effect when attaching to an existing buffer rather than creating a new one.

    + +

    The createtype has the following possible values:

    + +
    +
    get
    +
    If another process has created a buffer with the given name, attach to it otherwise +fail immediately.
    +
    create
    +
    If another process has created a buffer with the given name, attach to it otherwise create +a new buffer with the given name.
    +
    create_exclusive
    +
    If another process has created a buffer with the given name fail immediately, otherwise +create a new buffer with the given name.
    +
    wait
    +
    If another process has created a buffer with the given name, attach to it otherwise wait +until another process creates it or the create_timeout expires.
    +
    new
    +
    If another process has created a buffer with the given name, delete the information associated with it and create new buffer with the same name. If the buffer never existed in the first place create a new buffer with the given name
    +
    checkget
    +
    If another process has created a buffer with the given name, check it by sending a request to the server for this buffer asking for a verification of the buffer name and number. If the buffer exists and the response is correct attach to it, otherwise fail immediately.
    +
    checkcreate
    +
    If another process has created a buffer with the given name, check it by sending a request to the server for this buffer asking for a verification of the buffer name and number. If the buffer exists and the response is correct attach to it, otherwise if the buffer exists but the check fails delete the information associated with the existing buffer and create a new buffer with the given name. If the buffer never existed in the first place create a new buffer with the given name.
    +
    checkcreate_exclusive
    +
    If another process has created a buffer with the given name, check it by sending a request to the server for this buffer asking for a verification of the buffer name and number. If the buffer exists and the response is correct then fail immediately, otherwise if the buffer exists but the check fails delete the information associated with the existing buffer and create a new buffer with the given name. If the buffer never existed in the first place create a new buffer with the given name.
    +
    checkwait
    +
    If another process has created a buffer with the given name, check it by sending a request to the server for this buffer asking for a verification of the buffer name and number. If the buffer exists and the response is correct then attach to it, otherwise if the buffer exists but the check fails wait and repeat the check periodically until either the check succeeds or another process creates a new buffer with the given name or the timeout occurs. If the buffer never existed in the first place, wait until it is created or the create_timeout expires.
    +
    + + +

    Invoking nmlcfgsvr

    + +

    nmlcfssvr accepts the following command line arguments:

    + +
    +
    +
    +nmlcfgsvr usage: [--port <port>] [--localip <Internet-Address>] [--startfile <startfile>] [--check] [--debug] [--help] [--startkey <startkey>] [--filesync [<filesyncprefix>]] [--nofsynccheck] [--no_confirm_write_default] [--bsem_needed]
    +
    +
    +
    + +
    +
    --port
    +
    port is a TCP/IP port number that the server will bind to and listen for requests on.
    +
    --localport
    +
    Internet-Address is an IP address in the standard numbers-and-dots notation that remote systems should use to contact processes that connected to the configuration server through the local loopback address. A reasonable value can usually be guessed on simple systems on a LAN with static IP addresses. This is printed as my_ipstring.
    +
    --startfile
    +
    startfile is a file that will be parsed on startup containing a series of commands that follow the nmlcfgsvr protocol that can further configure nmlcfgsvr.
    +
    --check
    +
    Treat all requests as if they asked for the buffer to be checked first. The check involves requesting the NML server to verify the buffer name and number. If the checke fails the request proceeds and if the buffer did not previously exist.
    +
    --debug
    +
    Print a series of debug messages to stdout.
    +
    --help
    +
    Print the usage information.
    +
    --startkey
    +
    Each shared memory buffer needs a unique integer key. nmlcfgsvr begins issuing keys with a startkey and increments the key each time a buffer is created. If multiple configuration servers are used from the same host the keys might conflict. To avoid this it might be necessary to explicitly set the startkey.
    +
    --filesync
    +
    If the current state of the buffers needs to be preserved when nmlcfgsvr dies and is restarted, this can be accomplished by enabling file synchronization. When this is enabled a text file will be written each time the buffer states are modified, and read when nmlcfgsvr is restarted. The optional filesyncprefix allows multiple independent nmlcfgsvr processes to be run on the same system, or to simply have the files saved and restored from a directory other than the current. The prefix replaces the default "nmlcfgsvr_file_sync" before "1.nml" and "2.nml" in the filenames that are saved and restored.
    +
    --nofsynccheck
    +
    By default when using "--filesync" each buffer is checked at startup. It is checked by sending a request to its server to verify the buffer name and number. If the check fails the +buffer is considered to have been deleted. This option inhibits the checks.
    +
    --bsem_needed
    +
    Assumes all new buffers created need blocking semaphores(bsems) by default.
    +
    --no_confirm_write_default
    +
    Disables adding "confirm_write" to buffers by default.
    + +
    + +

    The nmlcfgsvr Protocol

    + +

    The protocol used by nmlcfgsvr uses only ASCII printable and white-space characters. +It is compatible with telnet. It is also used in the startup file. Requests to nmlcfgsvr that are received can be terminated with either a new-line or a carriage-return character or both in either order. Empty lines in requests are ignored. The reply lines generated by nmlcfgsvr are always ended with carriage-return followed by a new-line character. No reply line can ever exceed 512 bytes.

    + +

    The following requests are available:

    + +
    +
    +list
    +get  <buffername> [<processname>] [<optionslist>]
    +create <buffername> [<processname>] [<optionslist>]
    +create_exclusive <buffername> [<processname>] [<optionslist>]
    +wait  <buffername> [<processname>] [<optionslist>]
    +new  <buffername> [<processname>] [<optionslist>]
    +checkget  <buffername> [<processname>] [<optionslist>]
    +checkcreate <buffername> [<processname>] [<optionslist>]
    +checkcreate_exclusive <buffername> [<processname>] [<optionslist>]
    +checkwait  <buffername> [<processname>] [<optionslist>]
    +delete <buffername> [<processname>]
    +
    +
    + +

    Nine of the commands : get,create,create_exclusive,wait,new,checkget,checkcreate,checkcreate_exclusive, and checkwait. Create the given buffer with the createtype described in the Pseudo File Name Syntax section. The buffername is always required. The processname is not required except it is needed as a placeholder if any options are added. The options available are the same as for the optionslist in the psuedo file name. If any of these commands succeed two lines are returned first a buffer line and then a process line with the same syntax as used in an NML configuration file, otherwise only "NO" is returned. The two additional commands are "delete" which deletes a buffer and "list" which lists all buffers. The list output begins with "#BEGIN_LIST" and ends with "#END_LIST" Between these buffers are listed in the same format as an NML configuration file. Even recently deleted buffers are listed. Recently deleted buffers have "nmlcfgsvr-deleted=true" appended to the end of the bufferline.

    + +

    Configuration File Extensions

    + +

    There are three ways existing NML files can be modified to use +the nmlcfgsvr.

    + +
      +
    1. Set the buffer type on a buffer line to something following the +Pseudo File Name Syntax form , redirects attempts to create that specific buffer to the nmlcfgsvr.
    2. +
    3. If "nmlcfgsvr_options=" is on the process line the rest of the +line is appended to the optionslist passed to nmlcfgsvr.
    4. +
    5. If a line begins with something following the +Pseudo File Name Syntax form, all attempts to create any buffer that does not have a bufferline above it will be redirected the the nmlcfgsvr.
    6. +
    + +
    + +

    Last Modified: 31-Mar-2004

    +

    If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + + diff --git a/doc/nmlperf.cc b/doc/nmlperf.cc new file mode 100644 index 0000000..1d4fbc4 --- /dev/null +++ b/doc/nmlperf.cc @@ -0,0 +1,695 @@ + +/* Program Name to print at startup. */ +static char program_id[] = "nmlperf compiled on " __DATE__; + +#include "rcs_defs.hh" /* EXTERN_C_STD_HEADERS */ + +#ifdef SUN +#define USE_TIMES_FUNCTION +#else +#define USE_CLOCK_FUNCTION +#endif + +#ifdef EXTERN_C_STD_HEADERS +extern "C" { +#endif +#include /* exit() */ +#include /* strcmp() */ +#include /* SIGINT, signal */ +#include // clock() +#ifdef USE_TIMES_FUNCTION +#include // times() +#endif +#ifndef VXWORKS +#include +#endif + + +#ifdef EXTERN_C_STD_HEADERS +} +#endif + +#include "rcs.hh" /* NML, */ +#include "perftype.hh" /* perf_type_format, */ + /* NML_PERFORMANCE_TEST_MSG */ + + +enum DISPLAY_MODE { + INVALID_DISPLAY_MODE, + BYTES_PER_SEC_MODE, + MSG_PER_SEC_MODE + }; + + +enum CONNECT_STATUS { + CS_NOT_ATTEMPTED = 0, + CS_FAILED, + CS_SUCCEEDED +}; + +char CS_ARRAY[3][3] = { "NA", "F", "S"}; +static unsigned char nmlperf_stop_flag = 0; + +void nmlperf_stop() +{ + nmlperf_stop_flag = 1; +} + + +int nml_perf_read_test(NML *); +int nml_perf_write_test(NML *, int message_size); +int nml_perf_combined_test(NML *, int message_size); + +int nmlperf_control_c_count = 0; +void control_c_handler(int sig) +{ + nmlperf_control_c_count++; +} + +long nmlperf_max_message_count = -1; +double nmlperf_min_cycle_time = -1.0; + + +#if defined(VXWORKS) || defined(WINDOWS_GUI) +extern "C" { +int nmlperf(); +int nmlperf_go(int priority); +} + +#ifdef VXWORKS +#include "taskLib.h" +int nmlperf_def_iterations =1000; +char *nmlperf_def_timeout ="0.1"; + +int nmlperf_go(int priority) +{ + return taskSpawn("tNmlperf", priority, VX_FP_TASK, 0x4000, (FUNCPTR) nmlperf, + 0, 0, 0, 0, 0, 0, 0, 0,0,0); +} + +#endif + +char *nmlperf_config_file="test.nml"; +char *nmlperf_buffer_name="testbuf"; +char *nmlperf_proc_name="nmlperf"; +char *nmlperf_test_type="C"; +long nmlperf_message_size=100; + +int nmlperf() +#else +int main(int argc, char **argv) +#endif +{ + NML *nml = NULL; +#if !defined(VXWORKS) && !defined(WINDOWS_GUI) + char config_file[CMS_CONFIG_LINELEN]; + char buffer_name[CMS_CONFIG_LINELEN]; + char proc_name[CMS_CONFIG_LINELEN]; + char test_type[20]; + char message_size_string[20]; + unsigned long message_size; +#else + char *config_file=nmlperf_config_file; + char *buffer_name=nmlperf_buffer_name; + char *proc_name=nmlperf_proc_name; + char *test_type=nmlperf_test_type; + long message_size=nmlperf_message_size; + +#endif + char display_mode_string[20]; + RCS_LINKED_LIST *output_list; + char master_string[20]; + char check_match_string[20]; + char iterations_string[20]; + char increments_string[20]; + char detailed_output_string[20]; + char connection_number_string[20]; + char count_string[20]; + output_list = new RCS_LINKED_LIST; + int buffers_tested = 0; + + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + rcs_print("\nNML Performance Testing Program\n"); +#if !defined(VXWORKS) && !defined(WINDOWS_GUI) + rcs_print("Configuration File? (test.nml) "); + gets(config_file); + if(strlen(config_file) < 2) + { + strcpy(config_file, "test.nml"); + } + rcs_print("Buffer Name? (testbuf) "); + gets(buffer_name); + if(strlen(buffer_name) < 2) + { + strcpy(buffer_name, "testbuf"); + } + rcs_print("Process Name? (nmlperf) "); + gets(proc_name); + if(strlen(proc_name) < 2) + { + strcpy(proc_name, "nmlperf"); + } + rcs_print("Maximum Message Count (Infinite) ?"); + gets(count_string); + if(strlen(count_string) > 2) + { + errno = 0; + nmlperf_max_message_count = strtol(count_string, NULL,0); + if(errno != 0) + { + nmlperf_max_message_count = -1; + } + } +#endif + + nml = new NML(perf_types_format, buffer_name, proc_name, config_file); + if(NULL == nml) + { + exit(-1); + } + if(!nml->valid()) + { + delete nml; + exit(-1); + } + + +#if !defined(VXWORKS) && !defined(WINDOWS_GUI) + rcs_print("\n \tThere are 3 different tests that can be performed.\n"); + rcs_print("The Read test only reads from the buffer, unless the write test is run is also run there will be no new data available for the read.\n"); + rcs_print("The Write test only writes to the buffer.\n"); + rcs_print("The Combined test alternates reads and writes.\n"); + rcs_print("Test Type ( R = Read, W = Write, C = Combined)?\n"); + gets(test_type); +#endif + switch(test_type[0]) + { + case 'w': + case 'W': +#if !defined(VXWORKS) && !defined(WINDOWS_GUI) + rcs_print("Message Size?"); + gets(message_size_string); + message_size = strtol(message_size_string,NULL, 0); +#endif + nml_perf_write_test(nml, message_size); + break; + + + case 'c': + case 'C': +#if !defined(VXWORKS) && !defined(WINDOWS_GUI) + rcs_print("Message Size?"); + gets(message_size_string); + message_size = strtol(message_size_string,NULL, 0); +#endif + nml_perf_combined_test(nml, message_size); + break; + + + case 'r': + case 'R': + nml_perf_read_test(nml); + break; + + default: + rcs_print_error("Invalid test type.\n"); + } + + delete nml; + exit(-1); +} + +int nml_perf_write_test(NML *nml, int message_size) +{ +#ifdef USE_TIMES_FUNCTION + struct tms tms_buffer; +#endif + + double start_time; + double end_time; + int data_type = 0; + + clock_t cpu_used_start_time; + clock_t cpu_used_end_time; + double total_cpu_time_used; + double total_time_used; + double last_time; + double max_time = 0; + double min_time = 1E6; + double cur_time = 0; + double time_dif = 0; + NML_PERFORMANCE_TEST_MSG *test_msg = NULL; + rcs_print("NML Write Only Performance Test\n"); + set_real_test_msg_size(message_size); + test_msg = new NML_PERFORMANCE_TEST_MSG(); + test_msg->size = message_size; + nmlperf_control_c_count = 0; + signal(SIGINT, control_c_handler); + rcs_print("Press ^C to end the test.\n"); + unsigned long messages_written = 0; + +#ifdef USE_CLOCK_FUNCTION + cpu_used_start_time = clock(); +#endif + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_start_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + + cur_time = last_time = start_time = etime(); + RCS_TIMER *timer = NULL; + if(nmlperf_min_cycle_time > 1e-6) + { + timer = new RCS_TIMER(nmlperf_min_cycle_time); + } + int errors = 0; + + while(nmlperf_control_c_count == 0) + { + data_type++; + data_type = data_type%6; + test_msg->test_type = data_type; + test_msg->compute_array_length(); + if(nml->write(test_msg) < 0) + { + errors++; + } + messages_written++; + cur_time = etime(); + time_dif = cur_time - last_time; + if(time_dif > max_time) + { + max_time = time_dif; + } + if(time_dif < min_time) + { + min_time = time_dif; + } + last_time = cur_time; + if(nmlperf_max_message_count > 0) + { + if(nmlperf_max_message_count < messages_written) + { + break; + } + } + if(nmlperf_min_cycle_time > 1e-6) + { + timer->wait(); + } + + } + + end_time = etime(); + +#ifdef USE_CLOCK_FUNCTION + cpu_used_end_time = clock(); +#endif + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_end_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + + total_cpu_time_used = (cpu_used_end_time - cpu_used_start_time) *clk_tck(); + total_time_used = end_time - start_time; + + rcs_print("The test took %f seconds in real time \n", total_time_used); + if(total_cpu_time_used > 0) + { + rcs_print(" and used %f seconds of CPU time.\n", total_cpu_time_used); + } + + rcs_print("%d messages were written.\n", messages_written); + rcs_print("Message Size:%d\n", message_size); + if(total_time_used > 0) + { + rcs_print("Bytes written per second : %f\n", message_size*messages_written/total_time_used); + } + if(errors > 0) + { + rcs_print("%d errors occurred.\n", errors); + } + if(total_time_used > 0.0) + { + rcs_print("Messages written per second: %f\n", messages_written/total_time_used); + } + rcs_print("Minimum time to write a message = %f\n", min_time); + rcs_print("Maximum time to write a message = %f\n", max_time); + if(messages_written > 0) + { + rcs_print("Average time to write a message = %f\n", total_time_used/messages_written); + if(total_cpu_time_used > 0) + { + rcs_print("Average CPU time used to write a message = %f\n", total_cpu_time_used/messages_written); + } + } + rcs_print("BufferLine: %s", nml->cms->BufferLine); + rcs_print("ProcessLine: %s\n", nml->cms->ProcessLine); + return 0; +} + + + + +int nml_perf_combined_test(NML *nml, int message_size) +{ + NML *nml2 = new NML(nml,-1,-1); /* Make a clone of the original nml channel but with + separate socket sessions, local buffers, and status + variables. */ + +#ifdef USE_TIMES_FUNCTION + struct tms tms_buffer; +#endif + + double start_time; + double end_time; + int data_type = 0; + clock_t cpu_used_start_time; + clock_t cpu_used_end_time; + double total_cpu_time_used; + double total_time_used; + double last_time; + double max_time = 0; + int latency_count=0; + double min_time = 1E6; + double cur_time = 0; + double time_dif = 0; + NMLTYPE read_return_value; + unsigned long messages_received = 0; + unsigned long read_returned_no_new_data_count = 0; + rcs_print("NML Combined Read/Write Performance Test\n"); + NML_PERFORMANCE_TEST_MSG *test_msg = NULL; + set_real_test_msg_size(message_size); + test_msg = new NML_PERFORMANCE_TEST_MSG(); + test_msg->size = message_size; + nmlperf_control_c_count = 0; + signal(SIGINT, control_c_handler); + rcs_print("Press ^C to end the test.\n"); + unsigned long messages_written = 0; + +#ifdef USE_CLOCK_FUNCTION + cpu_used_start_time = clock(); +#endif + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_start_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + + cur_time = last_time = start_time = etime(); + NML_PERFORMANCE_TEST_MSG *recvd_msg = (NML_PERFORMANCE_TEST_MSG *)nml2->get_address(); + RCS_TIMER *timer = NULL; + if(nmlperf_min_cycle_time > 1e-6) + { + timer = new RCS_TIMER(nmlperf_min_cycle_time); + } + int errors = 0; + + while(nmlperf_control_c_count == 0) + { + data_type++; + data_type = data_type%6; + test_msg->test_type = data_type; + test_msg->serial_number = messages_written; + test_msg->compute_array_length(); + last_time = etime(); + if(nml->write(test_msg) < 0) + { + errors++; + } + cur_time = etime(); + time_dif = cur_time - last_time; + if(time_dif > max_time) + { + max_time = time_dif; + } + if(time_dif < min_time) + { + min_time = time_dif; + } + messages_written++; + if(nmlperf_min_cycle_time > 1e-6) + { + timer->wait(); + } + last_time = etime(); + read_return_value = nml2->read(); + if(read_return_value < 0) + { + errors++; + } + if(read_return_value > 0) + { + int serial_difference = (messages_written - recvd_msg->serial_number); + if(serial_difference > 1) + { + latency_count += (serial_difference-1); + } + messages_received++; + } + else + { + read_returned_no_new_data_count++; + } + cur_time = etime(); + time_dif = cur_time - last_time; + if(time_dif > max_time) + { + max_time = time_dif; + } + if(time_dif < min_time) + { + min_time = time_dif; + } + last_time = cur_time; + if(nmlperf_max_message_count > 0) + { + if(nmlperf_max_message_count < messages_written +messages_received+ + read_returned_no_new_data_count ) + { + break; + } + } + if(nmlperf_min_cycle_time > 1e-6) + { + timer->wait(); + } + + } + + end_time = etime(); + + +#ifdef USE_CLOCK_FUNCTION + cpu_used_end_time = clock(); +#endif + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_end_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + + total_cpu_time_used = (cpu_used_end_time - cpu_used_start_time) *clk_tck(); + + total_time_used = end_time - start_time; + + rcs_print("The test took %f seconds in real time \n", total_time_used); + if(total_cpu_time_used > 0) + { + rcs_print(" and used %f seconds of CPU time.\n", total_cpu_time_used); + } + + if(errors > 0) + { + rcs_print("%d errors occurred.\n",errors); + } + + rcs_print("%d messages were written.\n", messages_written); + rcs_print("%d messages were received.\n", messages_received); + if(total_time_used > 0) + { + rcs_print("Throughput (Messages per Second): %f\n", messages_received/total_time_used); + } + rcs_print("Message Size:%d\n", message_size); + if(total_time_used > 0) + { + rcs_print("Bytes read per second : %f\n", message_size*messages_received/total_time_used); + } + rcs_print("Read returned No New data %d times.\n", read_returned_no_new_data_count); + rcs_print("Minimum time to read or write a message = %f\n", min_time); + rcs_print("Maximum time to read or write a message = %f\n", max_time); + double avg_time = total_time_used/messages_written/2.0; + rcs_print("Average time to read or write a message = %f\n",avg_time); + if(messages_received > 0) + { + rcs_print("Latency: %f\n", latency_count/messages_received *avg_time); + } + else + { + rcs_print("Latency: Unknown\n"); + } + + if(total_cpu_time_used > 0 && messages_written > 0) + { + rcs_print("Average CPU time used to read/write a message = %f\n", total_cpu_time_used/messages_written/2); + } + rcs_print("BufferLine: %s", nml->cms->BufferLine); + rcs_print("ProcessLine: %s\n", nml->cms->ProcessLine); + delete nml2; + + + return 0; +} + + + +int nml_perf_read_test(NML *nml) +{ +#ifdef USE_TIMES_FUNCTION + struct tms tms_buffer; +#endif + + clock_t cpu_used_start_time; + clock_t cpu_used_end_time; + double total_cpu_time_used; + + double start_time; + double end_time; + double total_time_used; + double last_time; + double max_time = 0; + double min_time = 1E6; + double cur_time = 0; + double time_dif = 0; + NMLTYPE read_return_value; + unsigned long messages_received = 0; + unsigned long read_returned_no_new_data_count = 0; + nmlperf_control_c_count = 0; + rcs_print("NML Read Only Performance Test\n"); + signal(SIGINT, control_c_handler); + rcs_print("Press ^C to end the test.\n"); + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_start_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + +#ifdef USE_CLOCK_FUNCTION + cpu_used_start_time = clock(); +#endif + + RCS_TIMER *timer = NULL; + if(nmlperf_min_cycle_time > 1e-6) + { + timer = new RCS_TIMER(nmlperf_min_cycle_time); + } + int bytes_received = 0; + + NMLmsg *recvdmsg = nml->get_address(); + + // Throw the first read away for more acuracy. + read_return_value = nml->read(); + + cur_time = last_time = start_time = etime(); + + int errors = 0; + + while(nmlperf_control_c_count == 0) + { + read_return_value = nml->read(); + if(read_return_value < 0) + { + errors++; + } + if(nmlperf_control_c_count != 0) + { + // throw the last read away for more accuracy. + break; + } + if(read_return_value > 0) + { + bytes_received += recvdmsg->size; + messages_received++; + } + else + { + read_returned_no_new_data_count++; + } + cur_time = etime(); + time_dif = cur_time - last_time; + if(time_dif > max_time) + { + max_time = time_dif; + } + if(time_dif < min_time) + { + min_time = time_dif; + } + last_time = cur_time; + if(nmlperf_max_message_count > 0) + { + if(nmlperf_max_message_count < messages_received+ + read_returned_no_new_data_count ) + { + break; + } + } + if(nmlperf_min_cycle_time > 1e-6) + { + timer->wait(); + } + } + + end_time = etime(); + +#ifdef USE_CLOCK_FUNCTION + cpu_used_end_time = clock(); +#endif + +#ifdef USE_TIMES_FUNCTION + times(&tms_buffer); + cpu_used_end_time = tms_buffer.tms_utime + tms_buffer.tms_stime ; +#endif + + total_cpu_time_used = (cpu_used_end_time - cpu_used_start_time) *clk_tck(); + + total_time_used = end_time - start_time; + rcs_print("The test took %f seconds in real time \n", total_time_used); + if(total_cpu_time_used > 0) + { + rcs_print(" and used %f seconds of CPU time.\n", total_cpu_time_used); + } + + if(errors > 0) + { + rcs_print("%d errors occurred.\n", errors); + } + + rcs_print("%d messages were received.\n", messages_received); + if(total_time_used > 0.0) + { + rcs_print("Throughput: %f\n", messages_received/total_time_used); + } + rcs_print("Bytes received:%d\n", bytes_received); + if(total_time_used > 0) + { + rcs_print("Bytes read per second : %f\n", bytes_received/total_time_used); + } + rcs_print("Read returned No New data %d times.\n", read_returned_no_new_data_count); + rcs_print("Minimum time to call read() = %f\n", min_time); + rcs_print("Maximum time to call read() = %f\n", max_time); + rcs_print("Average time to call_read = %f\n", total_time_used/(messages_received + read_returned_no_new_data_count)); + rcs_print("Average time between new data received= %f\n", total_time_used/messages_received); + + if(total_cpu_time_used > 0 && (messages_received + read_returned_no_new_data_count) > 0) + { + rcs_print("Average CPU time used to call read() = %f\n", total_cpu_time_used/(messages_received + read_returned_no_new_data_count)); + } + rcs_print("BufferLine: %s", nml->cms->BufferLine); + rcs_print("ProcessLine: %s\n", nml->cms->ProcessLine); + + return 0; +} diff --git a/doc/nmlperf.hh b/doc/nmlperf.hh new file mode 100644 index 0000000..1827cac --- /dev/null +++ b/doc/nmlperf.hh @@ -0,0 +1,21 @@ + + +#ifndef NMLPERF_HH +#define NMLPERF_HH + + + + + extern "C" { + void nmlperf(char *config_file, + char *host_name, + int master, + int iterations, int increments, + int detailed_output, DISPLAY_MODE display_mode, + int connection_number, int check_match, int timeout_micros); + + void nmlperf_stop(); + } + + #endif + diff --git a/doc/nmlperf.html b/doc/nmlperf.html new file mode 100644 index 0000000..3e25475 --- /dev/null +++ b/doc/nmlperf.html @@ -0,0 +1,127 @@ + + +NML Performance Measures + + + +

    NML Performance Measures

    +

    Introduction

    +

    This document will describe various methods that have been used to test +the performance of NML, the results of some of those tests and how they +might be used to optimize NML-based applications. It assumes that the +reader is familiar with either the NML C++ Interface or the NML Java Interface and with the options available in the NML Configuration Files.

    +

    Factors Affecting Performance

    +

    Unfortunately, the performance of NML can not be effectively characterized by a single number. Instead we need a series of tests and performance measures that take all of the following factors into account.

    +
    +
    Platform: -- CPU, Operating System, and compiler
    +
    Because NML is portable, there are a large number of platforms that should be tested. In systems with multiple platforms communicating, the number of possible combinations is infinite.
    +
    Options/Protocols -- Methods of communicating selected within the configuration file
    +
    Because NML is flexible there are a large number of options and protocols that should be considered.
    +
    Application Type/Performance Measure
    +
    Different applications can use NML in different ways and are likely to be interested in different measures of the performance. These measures will be defined in a later section.
    +
    Message Size
    +
    Generally for large messages the times, latencies and CPU load used will +be proportional to the size of the message. For small messages the message size may have little effect.
    +
    +

    Performance Measures

    +

    Different types of applications will be interested in different measures of +NML performance.

    +
    +
    Maximum Read/Write Time.
    +
    -- maximum amount of time spent during the test that between a call to NML::read() or NML::write() and it returning control to the calling function. It does not matter whether the CPU was available to process other tasks during that time or not. Maximum time measures can be greatly influenced by the system clock resolution. The resolution of clocks for reading vary from 1 microsecond to 20 milliseconds. Applications that need to run at a deterministic cycle time should pay close attention to this number. It can generally be controlled with the timeout option. NIST does not guarantee that the value will never be exceeded. +
    +
    Average Read/Write Time.
    +
    -- average amount of time spent during the test between a call to NML::read() or NML::write() and it returning control to the calling function. It does not matter whether the CPU was available to process other tasks during that time or not. The effect of poor system clock resolution is less since the measurement is made over many reads. Applications that will be the only one of interest running on their CPU or applications for platforms where information the average CPU time used is not available should consider this number.
    +
    Average CPU Time Used for a Read/Write
    +
    -- average time spent by the CPU on the calling process per call to NML::read or NML::write() during a particular test. Since the operating system may swap out the process during a read or write or NML may block temporarily on a socket or semaphore this will be less than the average read/write time. This number is important to applications that should run on operating systems where it is important to reserve time for other applications on the same CPU should.
    +
    Throughput
    +
    -- average number of new messages that were received per second during a particular test. Since NML::read() can return and indicate "No New Data" this number will less than the number of calls to NML::read that occurred per second. Since calls to NML::write may overwrite each other it may also be less than the number of calls to NML::write per second. This number is of importance to applications that are tightly bound to one input. Since most RCS applications poll multiple inputs and do not care if they miss messages this number is of lesser importance to RCS applications. +
    Latency
    +
    -- average length of time required between a the return of a write and that the beginning of a read with the same message being received for a particular test. This number is important to some applications that have a long chain of modules that pass along a piece of data, applications that send large messages over a network and applications that check for data only asynchronously. However for most applications the latency will be sufficiently small so that its exact value is not relevant.
    +
    +

    NMLPERF - The NML Performance Testing Program

    +

    The program that we will used to perform most of the tests is called nmlperf.The source code for the NMLPERF program consists of 3 files:

    +
    +
    perftype.hh
    +
    -- a C++ header file that contains declarations for the +NML_PERFORMANCE_TEST_MSG class which will be used to create the messages to be exchanged. The class is somewhat complicated. Because NML may need to convert messages from their native format to a neutral format such as XDR. XDR may be more efficient at converting certain data types than others. The class essentially contains a variable length array of a union of all the basic data types. An integer in the message will indicate to the update function which type of data the union is considered to currently contain and therefore which conversion +is necessary. Rather than report different numbers for each data type we will +rotate the data type constantly through each. The array length is also modified with each message so that the message length stays the same. So when the message contains characters it needs an array length that is four times larger than when it contains long integers. Special new and delete operators allow the message to be created at any size. The function set_real_test_msg size is used before a call to new to set the size that the message should be created.
    +
    perftype.cc
    +
    -- a C++ source file that contains the code for the NML format function, +perf_types_format, the update function for NML_PERFORMANCE_TEST_MSG as well as +the special new and delete operators.
    +
    nmlperf.cc
    +
    -- a C++ source file that contains the main function for the nmlperf program. When the program is started it will ask the user for the buffer name, process name and configuration file to use, and the maximum number of messages to read or write (which can be infinite). It will then create one NML object using those parameters and check that it is valid. If it is valid it will ask which role to play in the performance test, write only, read only or a combination alternating read and write. For the write or combination mode it will ask what size message to create. It will then perform the test by repeatedly reading or writing from the channel until the maximum number of messages were written or read or until the user presses Control-C. Finally, it prints out the information collected.
    +
    +

    An additional program must be run for some tests. The program perfsvr connects to each buffer with a given host name and provides an NML server for the buffer. There are currently no performance measures made within perfsvr. However it must be running for nmlperf to connect remotely and test the performance of the remote protocols. The source code is available for review at perfsvr.cc.

    + +

    Platform Details

    +

    In the test results summary I have included the hostnames so that readers can look up the +exact details of the platform used for each test.

    + +
    +
    dopey(sunos5)
    +
    Sun Ultra 1 Creator, CPU Type: sparc, Number of CPUs: 1, App Architecture: sparc, Kernel Architecture: sun4u,OS Name: SunOS,OS Version: 5.5.1, Kernel Version: SunOS Release 5.5.1 Version Generic_103640-08 [UNIX(R) System V Release 4.0], gcc version: 2.7.2.1, System Clock Interval: 10ms
    +
    rolle(sunos5)
    +
    Sun SparcStation 20, CPU Type: sparc, Number of CPUs: 1,App Architecture: sparc, Kernel Architecture : sun4m, OS Name : SunOS,OS Version: 5.5.Kernel Version: SunOS Release 5.5 Version Generic_103093-06 [UNIX(R) System V Release 4.0], gcc version: 2.7.2.1, System Clock Interval: 10ms
    +
    vx10(vxworks5.3)
    +
    Motorola MVME162-22, CPU Type: 25MHz MC68040, Number of CPUs:1, OS Name: VxWorks (for Motorola MVME162), +OS Version: 5.3.1, Kernel Version: WIND version 2.5, gcc version: cygnus-2.7.2-960126
    +
    feed(win32msc), System Clock Interval: 200 microseconds
    +
    Windows NT PC, CPU Type: 133MHz Pentium, Number of CPUs: 1, OS Name: Windows NT, OS Version: 4.0(Build 1381: Service Pack 3), Visual C++ Version: 5.0
    +
    + +

    It is also worth noting that all of the hosts were on the same Class C subnet connected with 10 Mbs Ethernet. Other computers could use the same network and network utilization averaged around 2% without +the performance test traffic, however significant bursts seem to occur every few +minutes. These observations are based on watching the graph of the NT Performance Monitor Network +Utilization chart.

    + +

    Test Results Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Test # Test PlatformBuffer LocationRead/WriteProtocolOptionsSizeMax. TimeAvg. TimeCPU TimeThroughputLatency
    1dopey(sunos5)dopey(sunos5)BothSHMEMdefault2000.0120.0001130.00011244380.0
    2dopey(sunos5)dopey(sunos5)BothSHMEMqueue2000.0200.0001180.00011742500.0
    3dopey(sunos5)dopey(sunos5)BothSHMEMmutex=mao split2000.0120.0000130.000012399140.0
    4dopey(sunos5)dopey(sunos5)BothTCPdefault2000.0970.0007120.0002917020.0
    5rolle(sunos5)dopey(sunos5)BothTCPdefault2000.0350.0014710.0006713350.0
    6rolle(sunos5)dopey(sunos5)BothTCPpoll2000.2180.0004270.0003601840.002565
    7rolle(sunos5)dopey(sunos5)BothTCPconfirm_write2001.5320.0031270.0007711590.0
    8rolle(sunos5)dopey(sunos5)WriteTCPconfirm_write2000.5690.0030970.000707----
    9rolle(sunos5)dopey(sunos5)WriteTCPdefault2000.0060.0005210.000463----
    10dopey(sunos5)dopey(sunos5)BothUDPdefault2000.0720.0005370.0002209310.0
    11dopey(sunos5)dopey(sunos5)BothUDPpoll2000.0160.0001890.000140150.000140
    12rolle(sunos5)dopey(sunos5)BothUDPdefault2000.0580.0012100.0004614100.0
    13rolle(sunos5)dopey(sunos5)BothUDPpoll2000.0050.0005270.000452430.011061
    14rolle(sunos5)dopey(sunos5)BothTCPdefault1000000.4610.1690320.0309982.96--
    15vx10(vxworks5.3)vx10(vxworks5.3)BothSHMEMdefault2000.00020.000107--46730.0
    16vx10(vxworks5.3)vx10(vxworks5.3)BothSHMEMmutex=no_switching2000.00020.000067--75000.0
    17vx10(vxworks5.3)vx10/vx11 backplaneBothGLOBMEMdefault2000.00040.000184--27130.0
    18vx10(vxworks5.3)vx10/vx11 backplaneBothGLOBMEMlock_bus2000.00020.000141--35530.0
    19vx10(vxworks5.3)dopey(sunos5)BothTCPdefault2003.49360.012991--37.80.0
    20vx10(vxworks5.3)dopey(sunos5)WriteTCPdefault2000.03440.00143------
    21vx10(vxworks5.3)dopey(sunos5)WriteTCPdefault100003.4860.069465------
    22vx10(vxworks5.3)dopey(sunos5)WriteUDPdefault2000.00280.001099------
    23feed(win32msc)feed(win32msc)BothSHMEMdefault2000.0110.000041--122130.0
    24feed(win32msc)dopey(sunos5)BothTCPdefault2000.130.001349--370--
    25feed(win32msc)feed(win32msc)BothTCPdefault2000.0200.001220--409--
    + +

    Interpreting the Results

    + +

    Here are some of the conclusions I draw from these tests.

    + +
      +
    • Shared Memory was 4 to 40 times faster than using TCP or UDP even when both processes ran on the same host.
    • +
    • Eliminating the delays caused by semaphores by using an alternate mutex mechanism can improve shared memory speeds for small messages by about a factor of between 2 and 10.
    • +
    • The "poll" option significantly improved average and maximum read times but decreased throughput and increased latency.
    • +
    • The "confirm_write" option is about twice as slow as the default without the confirmation for small messages( < 1K).
    • +
    • Backplane GLOBMEM is 50% to 100% slower than single board SHMEM.
    • +
    + + + + + + diff --git a/doc/nmlperf.rh b/doc/nmlperf.rh new file mode 100644 index 0000000..fa89785 --- /dev/null +++ b/doc/nmlperf.rh @@ -0,0 +1,34 @@ +//{{NO_DEPENDENCIES}} +// App Studio generated include file. +// Used by NMLPERF.RC +// +#define MAIN_WINDOW_DIALOG 1 +#define MAIN_WINDOW_DIAG 1 +#define IDS_TITLE_STRING 1 +#define DLGINIT_2 2 +#define IDI_ICON1 101 +#define IDI_APP_ICON 101 +#define IDC_CONFIG_FILE_EDIT 103 +#define IDC_HOSTNAME_EDIT 104 +#define IDC_GROUPBOX1 105 +#define IDC_BPS_DISPLAY_RADIO 106 +#define IDC_MPS_DISPLAY_RADIO 107 +#define IDC_ITERATIONS_EDIT 108 +#define IDC_INCREMENTS_EDIT 109 +#define IDC_DETAILED_OUT_CHECKBOX 110 +#define IDC_START_BUTTON 111 +#define IDC_STOP_BUTTON 112 +#define IDC_MASTER_CHECKBOX 113 +#define IDC_CHECKMATCH_CHECKBOX 114 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/doc/nmlqr.html b/doc/nmlqr.html new file mode 100644 index 0000000..691f680 --- /dev/null +++ b/doc/nmlqr.html @@ -0,0 +1,303 @@ + + +NML Query/Reply Service + + +

    NML Query/Reply Service

    + +

    Introduction

    + +

    NML was originally designed for applications that would post data to +buffers without any concern for which processes would read the buffer or send commands to buffers to be read by a process which would have no need to be concerned with which process sent the message. However some applications are built around the notion of returning reply messages only to the process that originally sent a corresponding query message. There are several ways to accomplish this using the original NML API however these extensions hopefully make building such systems easier.

    + +

    NML Configuration File Options

    + +

    Each query/reply service requires 3 NML buffers. A queued channel that to send queries to the server, a subdivided channel for replies and another queued channel used to establish unique ids for each client. The names of those buffers must end with "Query", "Reply" and "ID" and begin with the same base. (echoQuery, echoReply, and echoID are the buffer names from the example below.) The number of subdivisions for the reply buffer will determine how many clients the service will support at the same time.

    + +

    To use subdivisions just add "subdiv=<# of subdivisions>" at the end of the buffer line. You may also need to increase the buffer size since the area allocated for each subdivision will be the buffer size minus some overhead divided by the number of subdivisions. Currently, subdivisions cannot be used with STCP,RPC, subscriptions or broadcast options.

    + +

    NML API Extensions

    + +

    There are 2 classes for providing or using the service: NML_QR_SERVER and NML_QR_CLIENT. The same program might use the NML_QR_SERVER for one service and the NML_QR_CLIENT for another service. For each service, there can be many clients but only 1 server.

    + +

    The NML_QR_SERVER class provides the interface to be used by programs that will accept queries and return replies. Here is it's C++ definition.

    + +
    +
    +class NML_QR_SERVER
    +{
    +public:
    +
    +// Constructor	
    +  NML_QR_SERVER(NML_FORMAT_PTR f_ptr, char *qr_name, char *process_name,
    +		char *config_file);
    +
    +// Destructor
    +  ~NML_QR_SERVER();
    +
    +// Read the next query or return 0 if there are no new queries.
    +  NMLTYPE readQuery();
    +
    +// Wait for the next query and read it unless the timeout expires
    +  NMLTYPE waitForQuery(double timeout);
    +
    +// Return the address where queries are stored.
    +  NMLmsg *getQueryAddress();
    +
    +// Send a reply to the last query.
    +  int replyToLastQuery(NMLmsg *message_to_send);
    +
    +// Check to see if this server and all its internal NML buffers were properly constructed.
    +  int valid();
    +
    +// Delete and reconstruct each of the internal NML buffers.
    +  int reset();
    +};
    +
    +
    + +

    The constructor takes arguments similiar to an NML object except that the qr_name is used to create three seperate buffer names by adding "Query","Reply" and "ID" to it. The format function passed in the first argument must handle both the query and reply message types. readQuery performs and NML::read on the query buffer and also checks for clients connecting or disconnecting. waitForQuery performs an NML::blocking_read on the query buffer and also checks for clients connecting or disconnecting. getQueryAddress returns the NML::get_address() value for the query buffer. replyToLastQuery writes the message given into the subdivision of the reply buffer indicated by the last query message recieved. valid checks to see that all the query, reply and id channels are all valid. reset will delete all the NML buffers and recreate them. reset is typically called only after valid returned 0, if the reset is successful it will return a non-zero value and the return value of valid should also become nonzero.

    + +

    It is important to call readQuery() or waitForQuery() periodically or new +clients will not be able to connect.

    + +P>The NML_QR_CLIENT class provides the interface to be used by programs that will send queries and expect replies in return. Here is it's C++ definition.

    + +
    +
    +class NML_QR_CLIENT
    +{
    +public:
    +
    +// Constructor
    +  NML_QR_CLIENT(NML_FORMAT_PTR f_ptr, char *qr_name, char *process_name,
    +		char *config_file);
    +
    +// Destructor
    +  ~NML_QR_CLIENT();
    +  
    +// send a query message to the server
    +  int sendQuery(NML_QUERY_MSG *);
    +
    +// read the next reply or return 0 if no reply has been recieved.
    +  NMLTYPE readReply();
    +
    +// wait for the next reply to be recieved or until the timeout occurs
    +  NMLTYPE waitForReply(double timeout);
    +
    +// return the address where replies are recieved
    +  NMLmsg *getReplyAddress();
    +
    +// Check to see that all the internal NML buffers were properly constructed
    +// and that the server had not used up all the subdivisions.
    +  int valid();
    +
    +// Delete and recreate all the internal NML buffers and retry the server for 
    +// a valid connection.
    +  int reset();
    +};
    +
    +
    + +

    The constructor takes arguments similiar to an NML object except that the qr_name is used to create three seperate buffer names by adding "Query","Reply" and "ID" to it. The format function passed in the first argument must handle both the query and reply message types. sendQuery performs and NML::write on the query buffer. readReply and waitForReply perform an NML::read and NML::blocking_read respectively on the subdivision of the reply buffer associated with this process. getReplyAddress returns the NML::get_address() value for the reply buffer. valid checks to see that all the query, reply and id channels are all valid and that the id is valid. reset will delete all the NML buffers and recreate them and attempt to get a new id from the server. reset is typically called only after valid returned 0, if the reset is successful it will return a non-zero value and the return value of valid should also become nonzero.

    + +

    sendQuery takes a pointer to a NML_QUERY_MSG. NML_QUERY_MSG is derived from +NMLmsg but adds an id used to for replying to the query. All query messages must be derived from NML_QUERY_MSG.

    + +

    The Java versions of these classes are not yet available.

    + +

    Example

    + +

    The example below is similiar to the UNIX echo server for TCP. Multiple clients type a line at a time that is then sent to the server and the server sends back a message with a copy of that line. The server also prints the line and the client id associated with each message. Notice that if you run multiple instances of the client that although the source code and therefore process_name for each client is the same the id's will be unique. +

    + + + +

    Here is the NML configuration file:

    + +
    +# buffers:
    +# name		type	host		size	neut    RPC# 	buffer#	 max_proc [type-spec]
    +
    +
    +B echoQuery	SHMEM	localhost 10000	0 0x20001050	 1       12 	101 TCP=6001 bsem=201 queue
    +B echoReply	SHMEM	localhost 20000	0 0x20001050	 2       12 	102 TCP=6001 bsem=202 subdiv=100
    +B echoID	SHMEM	localhost 10000	0 0x20001050	 3       12 	103 TCP=6001 bsem=203 queue
    +
    +# processes:
    +# name		buffer	       type	host 		ops	server 	timeout	master 	c_num
    +P echoclnt 	echoQuery	REMOTE	REMOTEhost 	W	0	INF 	0	0
    +P echoclnt 	echoReply	REMOTE	REMOTEhost 	R	0	INF 	0	0
    +P echoclnt 	echoID		REMOTE	REMOTEhost 	R	0	INF 	0	0
    +
    +P echosvr 	echoQuery	LOCAL	localhost 	R	2	INF 	1	1
    +P echosvr 	echoReply	LOCAL	localhost 	W	2	INF 	1	1
    +P echosvr 	echoID		LOCAL	localhost 	W	2	INF 	1	1
    +
    +
    +
    + + +

    Here is the header file defining the NML messages.

    + +
    +
    +#ifndef ECHO_TYPES_HH
    +#define ECHO_TYPES_HH
    +
    +#include "rcs.hh"
    +
    +#define ECHO_QUERY_TYPE 101
    +#define ECHO_REPLY_TYPE 102
    +
    +class ECHO_QUERY: public NML_QUERY_MSG
    +{
    +public:
    +  ECHO_QUERY();
    +  void update(CMS *);
    +  char line[80];
    +};
    +
    +class ECHO_REPLY: public NMLmsg
    +{
    +public:
    +  ECHO_REPLY();
    +  void update(CMS *);
    +  char line[80];
    +};
    +
    +extern int ECHO_format(NMLTYPE type, void *buffer, CMS *cms);
    +
    +#endif
    +
    +
    + +

    Here is the server C++ code:

    + +
    +
    +
    +#include "rcs.hh"
    +
    +#include <signal.h>
    +#include <stdio.h>
    +#include <stdlib.h>
    +#include <string.h>
    +
    +#include "echo_types.hh"
    +
    +int echo_svr_quit = 0;
    +
    +void sigint_handler(int sig)
    +{
    +  echo_svr_quit = 1;
    +}
    +  
    +
    +int main()
    +{
    +  signal(SIGINT,sigint_handler);
    +  
    +  NML_QR_SERVER echoQrServer(ECHO_format, "echo","echosvr","ex_cfg.nml");
    +  nml_start();
    +  printf("echosvr started . . .\n");
    +  ECHO_QUERY *eqMsg;
    +  ECHO_REPLY erMsg;
    +
    +  while(!echo_svr_quit)
    +    {
    +      switch(echoQrServer.waitForQuery(NML_NO_TIMEOUT))
    +	{
    +	case ECHO_QUERY_TYPE:
    +	  eqMsg = (ECHO_QUERY *) echoQrServer.getQueryAddress();
    +	  printf("Client %d sent %s\n",eqMsg->subdiv_for_reply, eqMsg->line);
    +	  strncpy(erMsg.line, eqMsg->line, 80);
    +	  echoQrServer.replyToLastQuery(&erMsg);
    +	  break;
    +	  
    +	case 0:
    +	  // no query
    +	  break;
    +
    +	case -1:
    +	default:
    +	  // error 
    +	  echo_svr_quit = 1;
    +	  break;
    +	  
    +	}
    +    }
    +}
    +
    +
    + + +

    Here is the client C++ code:

    + +
    +
    +#include "rcs.hh"
    +
    +#include <signal.h>
    +#include <stdio.h>
    +
    +#include "echo_types.hh"
    +
    +int echo_clnt_quit = 0;
    +
    +void sigint_handler(int sig)
    +{
    +  echo_clnt_quit = 1;
    +}
    +  
    +
    +int main()
    +{
    +  signal(SIGINT,sigint_handler);
    +  
    +  NML_QR_CLIENT echoQrClient(ECHO_format, "echo","echoclnt","ex_cfg.nml");
    +  printf("echoclnt started . . .\n");
    +  while(!echo_clnt_quit)
    +    {
    +      ECHO_QUERY eqMsg;
    +      ECHO_REPLY *erMsg;
    +      fgets(eqMsg.line,80,stdin);
    +      echoQrClient.sendQuery(&eqMsg);
    +      switch(echoQrClient.waitForReply(NML_NO_TIMEOUT))
    +	{
    +	case ECHO_REPLY_TYPE:
    +	  erMsg = (ECHO_REPLY *) echoQrClient.getReplyAddress();
    +	  printf("Server sent back %s\n",erMsg->line);
    +	  break;
    +	  
    +	case 0:
    +	  // no query
    +	  break;
    +
    +	case -1:
    +	default:
    +	  // error 
    +	  echo_clnt_quit = 1;
    +	  break;
    +	  
    +	}
    +    }
    +}
    +
    +
    + +
    + +

    Last Modified: March 17,1999

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + diff --git a/doc/nmlset.html b/doc/nmlset.html new file mode 100644 index 0000000..64e4ef8 --- /dev/null +++ b/doc/nmlset.html @@ -0,0 +1,757 @@ + + + + +NMLSET Class + + + + + + +

    NMLSET Class

    + + + +

    Introduction

    + +

    The NML Set class is a class intended to make it easier to write applications to monitor or interact with multiple NML buffers especially when the number of such buffers is not fixed or known when the application starts. It is designed to work with the NML Configuration Server, see http://www.isd.mel.nist.gov/projects/rcslib/nmlcfgsvr.html.

    + +

    Notation

    + +

    I like lots of examples.

    + +
    +
    +
    +     Commands users are expected to enter at a command prompt will look like this.
    +
    +
    +
    + +
    +
    +
    +     Computer program generated example output will look like this.
    +
    +
    +
    + +
    +
    +
    +Text files listed in line look like this.
    +
    +
    +
    + +

    Examples

    + +

    It is convenient for testing to have a set of applications where the buffer name, process name and configuration file can be set from the command line. I do not expect most applications to be built this way but it allows us to experiment with a number of different scenarios without recompiling anything. To run the demonstrations you need four programs nmlcfgsvr which should have been built along with the RCS library and two programs just for testing: nml_test_write, nml_test_nmlset. The source for the three test programs includes: +nml_test_nmlset.cc, +nml_test_write.cc, +nml_test_format.hh, +nml_test_format_n.cc, and +nml_test_format_n_codegen_protos.hh. (nml_test_format_n.cc, and nml_test_format_n_codegen_protos.hh were autogenerated from nml_test_format.hh using the NML Code Generator see http://www.isd.mel.nist.gov/projects/rcslib/CodeGen-Instructions.html.) They should be in the src/test directory of the expanded RCS library source archive or you can download them from the last set of links.

    + +

    Compiling the test programs:

    + +

    Exactly how you compile them depends on your operating system, compiler and +how directories are laid out. This worked for me:

    + +
    +
    +
    +g++ -Ircslib_install_dir/include -Ircslib-2004.6/src/test  rcslib-2004.6/src/test/nml_test_write.cc rcslib-2004.6/src/test/nml_test_format_n.cc -Lrcslib_install_dir/lib -lrcs -o nml_test_write
    +
    +g++ -Ircslib_install_dir/include -Ircslib-2004.6/src/test  rcslib-2004.6/src/test/nml_test_nmlset.cc rcslib-2004.6/src/test/nml_test_format_n.cc -Lrcslib_install_dir/lib -lrcs -o nml_test_nmlset
    +
    +
    +
    + +

    rcslib_install_dir is unique to my system. Generally that needs to be replaced in all commands with something appropriate to your system, or you could use a symbolic link to make that work.

    + +

    The programs should also be built if "make check" were run.

    + + +

    Running some demonstrations:

    + +

    The examples work as follows: Two instances of the nmlcfgsvr are launched. The nml_test_nmlset application begins monitoring those servers for a set of buffers to be created. Multiple instances of nml_test_write are launched each creating a new buffer and repeatedly writing to it. The nml_test_nmlset will repeatedly print some cryptic information indicating how many buffers have been created and the current data in each one.

    + +

    Start the nmlcfgsvr:

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr &
    +
    +
    +
    + +

    Start another nmlcfgsvr connecte to port 50000:

    + +
    +
    +
    +rcslib_install_dir/bin/nmlcfgsvr --port 50000 &
    +
    +
    +
    + +

    Start the nml_test_nmlset application:

    + +
    +
    +
    +./nml_test_nmlset b1\;b2 ntns nmlcfgsvr:\;nmlcfgsvr::50000 
    +
    +
    +
    + +

    The three command line arguments are passed to the NMLSET constructor. The first argument is a semicolon delimited list of buffer names, the second argument is a process name, which currently has no impact, and the third argument is a semicolon seperated list of nmlcfgsvrs. The semicolons need to be escaped with a backslash to prevent the shell from breaking the command there.

    + +

    The nml_test_nmlset application will poll both the nmlcfgsvr's wait 2 seconds and then try again. It prints a cycle count, giving the number of times it has done this and a line of astericks to seperate the output in each cycle. At the beginning there is no other output because there are no buffers created matching the nmlset criteria.

    + +

    Start several instances of nml_test_write to create different buffers. +These could be launched from different terminals or just backgrounded in one terminal. You would probably want to take notice of the the change in the nml_test_nmlset programs output as each program is started or killed and experiment with killing and starting them in different orders.

    + +
    +
    +
    +./nml_test_write b1 ntw nmlcfgsvr: 199 -1 &
    +./nml_test_write b2 ntw nmlcfgsvr: 198 -1 &
    +./nml_test_write b1 ntw nmlcfgsvr::50000  197 -1 &
    +./nml_test_write b2 ntw nmlcfgsvr::50000  196 -1 &
    +env NMLCFGSVR_DOMAIN=d2 ./nml_test_write b1 ntw nmlcfgsvr: 195 -1 &
    +env NMLCFGSVR_DOMAIN=d2 ./nml_test_write b2 ntw nmlcfgsvr: 194 -1 &
    +env NMLCFGSVR_DOMAIN=d2 ./nml_test_write b1 ntw nmlcfgsvr::50000  193 -1 &
    +env NMLCFGSVR_DOMAIN=d2 ./nml_test_write b2 ntw nmlcfgsvr::50000  192 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b1 ntw nmlcfgsvr: 191 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b2 ntw nmlcfgsvr: 190 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b1 ntw nmlcfgsvr::50000  189 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b2 ntw nmlcfgsvr::50000  188 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b1 ntw nmlcfgsvr: 187 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b2 ntw nmlcfgsvr: 186 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b1 ntw nmlcfgsvr::50000  185 -1 &
    +env NMLCFGSVR_DOMAIN=~newnmldomain~ ./nml_test_write b2 ntw nmlcfgsvr::50000  184 -1 &
    +
    +
    +
    + +

    The first argument to nml_test_write is the buffer name, the second is the process name, the third is the NML configuration file name or nmlcfgsvr pseudo file name, the fourth is an integer that the lastvar variable of the test message will be set to make it easy to identify which instance of nml_test_write wrote which message being displayed by the nml_test_nmlset application, and the fifth argument is the repeat count with -1 indicating that nml_test_write should repeat forever. The env command is used to run another command in a modified environment. The environment variable NMLCFGSVR_DOMAIN allows multiple independant buffers with the same name to be created on the same nmlcfgsvr. The value of "~newnmldomain~" has special significance in that it means a new unique domain name is used for each process. Once all of these processes are running there should be sixteen independant NML buffers created. Eight will be named b1 and eight will be named b2. Four of the eight that are named b1 will be registered with the nmlcfgsvr that is bound to default port and four will be registered to the nmlcfgsvr bound to port 5000. Within each set of four the buffers are distinguished only by their domain which was set using the environment variable NMLCFGSVR_DOMAIN.

    + +

    Looking at the status of one of the nmlcfgsvr's might make things clearer.

    + +
    +
    +
    +telnet localhost 50000
    +
    +
    +
    +
    +
    +
    +Trying 127.0.0.1...
    +Connected to localhost.localdomain (127.0.0.1).
    +Escape character is '^]'.
    +
    +
    +
    +
    +
    +
    +list
    +
    +
    +
    +
    +
    +
    +#BEGIN_LIST
    +B       b1      SHMEM   192.168.1.68     9728    0       0       2       *      1504838656      TCP=37841 bsem=1504838657  packed confirm_write nmlcfgsvr=192.168.1.68:50000
    +B       b2      SHMEM   192.168.1.68     9728    0       0       3       *      1504838658      TCP=37842 bsem=1504838659  packed confirm_write nmlcfgsvr=192.168.1.68:50000
    +B       b1      SHMEM   192.168.1.68     9728    0       0       4       *      1504838660      TCP=37845 bsem=1504838661  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=d2
    +B       b2      SHMEM   192.168.1.68     9728    0       0       5       *      1504838662      TCP=37846 bsem=1504838663  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=d2
    +B       b1      SHMEM   192.168.1.68     9728    0       0       6       *      1504838664      TCP=37865 bsem=1504838665  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=nd.1.ryf.jyo81.tn5.VClyf1.frTIb1.jKg2.
    +B       b2      SHMEM   192.168.1.68     9728    0       0       7       *      1504838666      TCP=37866 bsem=1504838667  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=nd.2.zCf.jyo81.tn5.VClyf1.frTIb1.ZzC2.
    +B       b1      SHMEM   192.168.1.68     9728    0       0       8       *      1504838668      TCP=37867 bsem=1504838669  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=nd.3.HGf.jyo81.tn5.VClyf1.frTIb1.VnM2.
    +B       b2      SHMEM   192.168.1.68     9728    0       0       9       *      1504838670      TCP=37869 bsem=1504838671  packed confirm_write nmlcfgsvr=192.168.1.68:50000 domain=nd.4.XOf.jyo81.tn5.VClyf1.frTIb1.9ou3.
    +#END_LIST
    +
    +
    +
    +
    +
    +
    +         (press [CTRL]-D )
    +
    +
    +
    +
    +
    +
    +Connection closed by foreign host.
    +
    +
    +
    + +

    This is the output from only one of the nmlcfgsvr's which is why there are +only eight buffers rather than sixteen. Each of the four b1 buffers has a different TCP port, Shared memory key, buffer number and +domain. ( Unfortunately the domain is at the end of the line and depending on browser font settings and screen resolution/paper size +have likely scrolled of the right side of the screen/page.) +

    + +

    For reference here is the source code for the nml_test_nmlset application:

    + +
    +
    +
    +#include "rcs.hh"		// Required for all RCS library applications.
    +#include "nmlset.hh"		// Declare the NMLSET,NMLDOMAINSET and NMLDOMAINSET_MEMBER classes.
    +
    +#include "nml_test_format.hh"	// Specific message classes for these examples.
    +
    +// Standard C/C++ headers
    +#include <stdlib.h>
    +#include <signal.h>
    +#include <stdio.h>
    +
    +
    +// Setup Control-C signal handler for quitting this application.
    +static void (*old_sigint_handler)(int) =0;
    +static bool sigint_occured=false;
    +
    +static void sigint_handler(int sig)
    +{
    +  if(old_sigint_handler && old_sigint_handler != SIG_IGN &&
    +     old_sigint_handler != SIG_DFL)
    +    {
    +      (*old_sigint_handler)(sig);
    +    }
    +  sigint_occured=true;
    +}
    +
    + 
    +int
    +main(int argc, const char **argv)
    +{
    +  // Parse/handle  the command line arguments.
    +  if(argc < 4)
    +    {
    +      fprintf(stderr,"nml_test_nmlset usage: bufferlist procname cfgsvrlist [buffersneeded] [maxcycles]\n");
    +      exit(1);
    +    }
    +  int bufsneeded = -1;
    +  if(argc >= 5)
    +    {
    +      bufsneeded = strtol(argv[4],0,0);
    +      printf("bufsneeded=%d\n",bufsneeded);
    +    }
    +  int maxcycles = -1;
    +  if(argc >= 6)
    +    {
    +      maxcycles = strtol(argv[5],0,0);
    +      printf("maxcycles=%d\n",maxcycles);
    +    }
    +  int bufsread = 0;
    +  int cycles = 0;
    +  bool error_occured=false;
    + 
    +
    +  // Create an NMLSET class object that will be used to
    +  // monitor all buffers in the ; delimited list in argv[1] on
    +  // nmlcfgsvr's listed in the ; delimeted list in argv[3],
    +  // pass argv[2] as our ProcessName.
    +  NMLSET s(nml_test_format,argv[1],argv[2],argv[3]);
    +  printf("NMLSET s(nml_test_format,argv[1]=%s,argv[2]=%s,argv[3]=%s);\n",
    +	 argv[1],argv[2],argv[3]);
    +
    +  int *lastnum = 0;
    +  if(bufsneeded > 0)
    +    {
    +      lastnum = new int[bufsneeded];
    +    }
    +  for(int k = 0; k < bufsneeded; k++)
    +    {
    +      lastnum[k] = 0;
    +    }
    +
    +  // Setup the signal handler so we can gracefully quit when
    +  // someone presses Control-C.
    +  old_sigint_handler = signal(SIGINT,sigint_handler);
    +  
    +  while(!sigint_occured)
    +    {
    +      cycles++;
    +      if(maxcycles > 0 && cycles > maxcycles)
    +	{
    +	  break;
    +	}
    +      printf("cycles=%d\n",cycles);
    +      printf("\n**********************************************************\n");
    +
    +      // Check all of the configuration servers to see if there are new
    +      // buffers that match our criteria. If a server won't respond after
    +      // 1.0 seconds go on to the next one or return if it is the last one.
    +      s.update_set(1.0);
    +      printf("s..update_set(1.0);\n");
    +
    +      // NMLSETS are divided into NMLDOMAINSETS, there could be an
    +      // infinite number, so we run though the list, by calling s.get_first_domainset() and then s.get_next_domainset() until it returns NULL.
    +      NMLDOMAINSET *nd = s.get_first_domainset();
    +      printf("NMLDOMAINSET *nd = s.get_first_domainset();\nnd=%p\n",
    +	     (void*)nd);
    +      while(nd)
    +	{
    +	  printf("nd->getdomainname() = %s\n",nd->getdomainname());
    +	  printf("nd->cfgsvrname() = %s\n",nd->getcfgsvrname());
    +	  
    +	  // Each NMLDOMAINSET has a fixed randomly accessible list of 
    +	  // members. The member id's correspond to the position of the
    +	  // buffer name in the bufferlist passed when the top level NMLSET
    +	  // object was created.
    +	  for(int i=0; i <= nd->get_max_member_id(); i++)
    +	    {
    +	      NMLDOMAINSET_MEMBER *nm = nd->get_member(i);
    +	      printf("NMLDOMAINSET_MEMBER *nm = nd->get_member(i=%d);\nnm=%p\n",i,nm);
    +
    +	      if(nm)
    +		{
    +		  if(nm->cms && nm->cms->BufferName)
    +		    {
    +		      printf("nm->cms->BufferName=%s\n",nm->cms->BufferName);
    +		    }
    +		  NMLTYPE t;
    +
    +		  // NMLDOMAINSET_MEMBER is publically derived from NML
    +		  // so we can do anything with nm that we could do 
    +		  // with an NML *, including read, write, peek, get_address()
    +		  // etc.
    +		  t = nm->peek();
    +		  if(t < 0)
    +		    {
    +		      error_occured=true;
    +		    }
    +		  printf("nm->peek() returned %d\n",t);
    +		  if(t == TEST_MESSAGE_TYPE)
    +		    {
    +		      TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +		      printf("TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();\ntm=%p\n",(void *)tm);
    +		      printf("tm->i = %d, tm->lastvar=%d\n",tm->i,tm->lastvar);
    +		      int j=0;
    +		      if(tm->lastvar > 0 && bufsneeded > 0)
    +			{
    +			  for(j =0; j < bufsread; j++)
    +			    {
    +			      printf("j=%d,lastnum[j]=%d,bufsread=%d\n",
    +				     j,lastnum[j],bufsread);
    +			      if(lastnum[j] == tm->lastvar)
    +				{
    +				  break;
    +				}
    +			    }
    +			  printf("j=%d,lastnum[j]=%d,bufsread=%d\n",
    +				 j,lastnum[j],bufsread);
    +			  if(lastnum[j] == 0 && j == bufsread)
    +			    {
    +			      printf("new buffer found. -- bufsread=%d, j=%d,lastnum[j]=%d,tm->lastvar=%d\n",
    +				     bufsread,j,lastnum[j],tm->lastvar);
    +			      lastnum[j] = tm->lastvar;
    +			      bufsread++;
    +			      if(bufsread >= bufsneeded)
    +				{
    +				  break;
    +				}
    +			    }
    +			}
    +		    }
    +		  else
    +		    {
    +		      // Deleting an NMLDOMAINSET_MEMBER removes it from
    +		      // its parent NMLDOMAINSET.
    +		      printf("delete nm;\n");
    +		      delete nm;
    +		    }
    +		}
    +	    }
    +	  if(bufsneeded > 0 && bufsread >= bufsneeded)
    +	    {
    +	      break;
    +	    }
    +	  nd = s.get_next_domainset();
    +	  printf("NMLDOMAINSET *nd = s.get_next_domainset();\nnd=%p\n",
    +		 (void*)nd);
    +	}
    +      if(bufsneeded > 0 && bufsread >= bufsneeded)
    +	{
    +	  break;
    +	}
    +      printf("esleep(2.5);\n");
    +      fflush(stdout);
    +      esleep(2.5);
    +    }
    +
    +  // clean up the signal handler.
    +  signal(SIGINT,old_sigint_handler);
    +
    +
    +  // Set the return value so we can use this program in test scripts.
    +  if(error_occured)
    +    {
    +      exit(2);
    +    }
    +  if(cycles > maxcycles && maxcycles > 0)
    +    {
    +      exit(3);
    +    }
    +  exit(0);
    +}
    +
    +
    +
    + +

    The program is somewhat more verbose than an example should be due to its dual use as an implementation testing program. +The key points to notice are that:

    +
      +
    • An NMLSET object named s is created when the program is first started using the command line arguments and a pointer to the nml_test_format function which is declared in nml_test_format.hh and allows this particular NMLSET object and the NMLDOMAINSET and NMLDOMAINSET_MEMBER objects that will later be obtained from it to decode and encode messages specific to this example.
    • +
    • Each cycle s.update_set() is called. Only during this call can the possible NMLDOMAINSET and NMLDOMAINSET_MEMBER objects than can be obtained from this set change.
    • +
    • After calling s.update_set(), a list of NMLDOMAINSET objects is obtained by first calling s.get_first_domainset() and then calling s.get_next_domainset() until an NULL pointer is returned.
    • +
    • Each NMLDOMAINSET stores a list of NML connection objects within a single domain.
    • +
    • Each of these NML connection objects is obtained by calling nd->get_member(). The returned pointer is of type NMLDOMAINSET_MEMBER *.
    • +
    • Since NMLDOMAINSET_MEMBER is publically derived from NML it can be used just any other NML object could be used as described in +The NML Programmer's Guide (C++ Version). Except that programmer's should be aware that it should not be dereferenced after the NMLDOMAINSET it was obtained from is deleted, or the NMLSET from which that was obtained is deleted. +
    • +
    + +

    The following is a portion of the output from the nml_test_nmlset application:

    + +
    +
    +
    +cycles=33
    +
    +**********************************************************
    +s..update_set(1.0);
    +NMLDOMAINSET *nd = s.get_first_domainset();
    +nd=0x9fbc208
    +nd->getdomainname() = 
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fb77d0
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fb9948
    +tm->i = 53, tm->lastvar=199
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fbc2a8
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fbe420
    +tm->i = 52, tm->lastvar=198
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fc5668
    +nd->getdomainname() = d2
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fc0c98
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fc2e10
    +tm->i = 47, tm->lastvar=195
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fd3620
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fd5780
    +tm->i = 44, tm->lastvar=194
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fca0d0
    +nd->getdomainname() = 
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fc5700
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fc7878
    +tm->i = 46, tm->lastvar=197
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fca170
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fcc2e8
    +tm->i = 47, tm->lastvar=196
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fd3530
    +nd->getdomainname() = nd.1.kH1.jyo81.d4a.VClyf1.WHgIb1.Xju1.
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fceb60
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fd0cd8
    +tm->i = 46, tm->lastvar=187
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=(nil)
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fdc9c0
    +nd->getdomainname() = d2
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fd7ff0
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fda168
    +tm->i = 46, tm->lastvar=193
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fdca58
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fdebd0
    +tm->i = 46, tm->lastvar=192
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fe5e10
    +nd->getdomainname() = nd.3.Kq2.jyo81.d4a.VClyf1.ZHgIb1.6ZE.
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fe1440
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fe35b8
    +tm->i = 44, tm->lastvar=191
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=(nil)
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fea8c0
    +nd->getdomainname() = nd.2.Cm2.jyo81.d4a.VClyf1.ZHgIb1.Fdk.
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=(nil)
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fe5f28
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fe8088
    +tm->i = 44, tm->lastvar=190
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9fef368
    +nd->getdomainname() = nd.1.me2.jyo81.tn5.VClyf1.YHgIb1.KNJ3.
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9fea9b0
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fecb10
    +tm->i = 44, tm->lastvar=185
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=(nil)
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9ff3e10
    +nd->getdomainname() = nd.2.ui2.jyo81.tn5.VClyf1.ZHgIb1.Fo6.
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=(nil)
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9fef458
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9ff15b8
    +tm->i = 44, tm->lastvar=184
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9ff88b8
    +nd->getdomainname() = nd.4.8D2.jyo81.d4a.VClyf1.ZHgIb1.qL91.
    +nd->cfgsvrname() = 
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=(nil)
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9ff3f00
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9ff6060
    +tm->i = 44, tm->lastvar=186
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0x9ffd368
    +nd->getdomainname() = nd.4.0z2.jyo81.tn5.VClyf1.ZHgIb1.wHX.
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=0x9ff89d0
    +nm->cms->BufferName=b1
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9ffab30
    +tm->i = 44, tm->lastvar=189
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=(nil)
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=0xa001e18
    +nd->getdomainname() = nd.3.Su2.jyo81.tn5.VClyf1.ZHgIb1.PbN.
    +nd->cfgsvrname() = :50000
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=0);
    +nm=(nil)
    +NMLDOMAINSET_MEMBER *nm = nd->get_member(i=1);
    +nm=0x9ffd480
    +nm->cms->BufferName=b2
    +nm->peek() returned 101
    +TEST_MESSAGE *tm = (TEST_MESSAGE *) nm->get_address();
    +tm=0x9fff5e0
    +tm->i = 44, tm->lastvar=188
    +NMLDOMAINSET *nd = s.get_next_domainset();
    +nd=(nil)
    +esleep(2.5);
    +cycles=34
    +
    +**********************************************************
    +
    +
    +
    + +

    Notes concerning the above output:

    +
      +
    • There were twelve NMLDOMAINSET objects returned in the single cycle +overwhich output was obtained.
    • +
    • Four of them had both a b1 and a b2, four had only a b1 and four had only a b2.
    • +
    • Seperate NMLDOMAINSET objets were returned with the same domainname when +they corresponded to different cfgsvrs.
    • +
    • The connection to a b2 buffer was always retrieved with nd->get_member(1) even when +there was no b1 buffer and nd->get_member(0) had therefore returned NULL.
    • +
    • The nmlcfgsvr names do not include the common "nmlcfgsvr:" prefix.
    • +
    + +

    API Reference

    + +

    NMLSET

    + +

    NMLSET is the main class from which objects of type NMLDOMAINSET and NMLDOMAINSET_MEMBER are obtained.

    + +

    From "nmlset.hh":

    + +
    +
    +
    +class NMLSET
    +{
    +public:
    +  NMLSET(NML_FORMAT_PTR f_ptr, 
    +	 const char *buflist, 
    +	 const char *procname, 
    +	 const char *cfglist);
    +  ~NMLSET();
    +
    +  class NMLDOMAINSET  *get_first_domainset();
    +  class NMLDOMAINSET  *get_next_domainset();
    +  void update_set(double _timeout);
    +
    +// Other private functions and data members skipped.
    +// . . .
    +
    +};
    +
    +
    +
    + +

    The constructor takes four arguments. The format function is used with all of the NML channels created through this NMLSET. If the +channels need different format functions, pass NULL for this argument and use NML::prefix_format_function() to set the format function on each NMLDOMAINSET_MEMBER obtained later. The buflist is a semicolon delimited list of buffer names. The procname is the name of the calling process it is passed to the each nmlcfgsvr and could be used if the nmlcfgsvr needed to be configured to handle this process differently or more likely just to improve diagnostics output, but is typically ignored. The cfglist is a semicolon delimited list of nmlcfgsvrs see +NML Configuration Server:Pseudo File Name Syntax. update_set() queries the nmlcfgsvrs for new domains or additional buffers from the list in the existing domains. The timout is passed to each attempt to query so since multiple queries occur over the update_set the time update_set takes to return could be longer than the timeout. A timeout of -1.0 can be used if the queries should never timeout. The functions get_first_domainset and get_next_domainset should be used to iterrate through the list of NMLDOMAINSETs. If the NMLSET object is deleted, pointers to NMLDOMAINSET and NMLDOMAINSET_MEMBERS optained through it should no longer be accessed as they will be deleted as well.

    + +

    NMLDOMAINSET

    + +

    NMLDOMAINSET class is used to store the is of NML connections obtained within a single domain.

    + +

    From "nmlset.hh":

    + +
    +
    +
    +class NMLDOMAINSET
    +{
    +public:
    +  ~NMLDOMAINSET();
    +
    +  class NMLDOMAINSET_MEMBER  *get_member(int id);
    +  const char *getdomainname() const;
    +  const char *getcfgsvrname() const;
    +  int get_max_member_id() const;
    + 
    +// Private members and functions skipped.
    +// . . .
    +};
    +
    +
    +
    + +

    get_member() returns the NMLDOMAINSET_MEMBER associated with a given NML connection. It should not be accessed after the NMLDOMAINSET object is deleted. The id should be between 0 and get_max_member_id. NULL will be returned by get_member if no valid NML connection could be obtained for this buffer in the current domain. get_max_member_id always returns an integer one less than the number of buffers in the list passed to the NMLSET constructor. getdomainname returns the domain name associated with this object. The getcfgsvrname() returns the portion of the nmlcfgsvr's pseudo file name after the "nmlcfgsvr:" prefix.

    + +
    + +

    Last Modified: July 12,2004

    + +

    If you have questions or comments regarding this page please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + + diff --git a/doc/nmlspace.gif b/doc/nmlspace.gif new file mode 100755 index 0000000..e4267e3 Binary files /dev/null and b/doc/nmlspace.gif differ diff --git a/doc/nmlsubdiv.html b/doc/nmlsubdiv.html new file mode 100644 index 0000000..b8e3359 --- /dev/null +++ b/doc/nmlsubdiv.html @@ -0,0 +1,155 @@ + + +NML Subdivisions + + +

    NML Subdivisions

    + +

    Introduction

    +

    While most NML applications need only a couple of undivided NML buffers for communications a few applications might need a large number of NML buffers if they could not be subdivided. NML subdivisions were aimed at two types of applications.

    + +
      +
    • Applications that need to share large amounts of data that can be subdivided into sections that do not need to be syncrhonized which each other.
    • +
    • Applications that need to provide a query/reply service where many programs can query the service and get replies unique to their query.
    • +
    + +

    An additional layer of software described in The NML Query/Reply Service builds on NML subdivisions to provide an easier to use interface for applications desiring to create/use a query/reply service. So the remainder of this document will focus on the first type of application.

    + +

    NML Configuration File Changes

    + +

    To use subdivisions just add "subdiv=<# of subdivisions>" at the end of the buffer line. You may also need to increase the buffer size since the area allocated for each subdivision will be the buffer size minus some overhead divided by the number of subdivisions. Currently, subdivisions cannot be used with STCP,RPC, subscriptions or broadcast options.

    + +

    NML API Extensions

    + +

    The NML API is essentially the same as before except that several alternate functions that end with "_subdivision" and take an additional integer to specify which subdivision should be used. The subdivision number should be between 0 and 1 less than the number of subdivisions established in the configuration file.

    + +

    Here are the C++ prototypes for these functions:

    + +
    +  int     NML::write_subdivision(int subdiv, NMLmsg  &nml_msg); 
    +  int     NML::write_subdivision(int subdiv,NMLmsg  *nml_msg); 
    +  int     NML::write_if_read_subdivision(int subdiv,NMLmsg  &nml_msg); 
    +  int      NML::write_if_read_subdivision(int subdiv,NMLmsg  *nml_msg); 
    +  NMLTYPE  NML::read_subdivision(int subdiv);
    +  NMLTYPE NML:: blocking_read_subdivision(int subdiv, double timeout); 
    +  NMLTYPE  NML::peek_subdivision(int subdiv);	
    +  NMLmsg * NML::get_address_subdivision(int subdiv);
    +
    + +

    For more information on what each function does refer to their non subdivision counterparts in NML Programmers Guide(C++ Version).

    + +

    One additional function was also added to allow users to determine how many +subdivisions are available for a particular buffer. Here is it's C++ prototype.

    + +
    +  int NML::get_total_subdivisions();
    +
    + +

    The Java versions of these functions are not yet available.

    + +

    Example

    + +

    The example described in this section consists of a writer that sends out a large array and a reader that is only interested in one particular element of the array.

    + +

    Here is the configuration file used:

    + +
    +# buffers:
    +# name		type	host		size	neut    RPC# 	buffer#	 max_proc [type-spec]
    +#		SHMEM	host		size	neut    RPC# 	buffer#	 max_proc key
    +
    +B subdiv_buf1	SHMEM	localhost 		20000	0 0x20001050	 1       12 	1001 TCP=6001 subdiv=100
    +
    +
    +# processes:
    +# name		buffer	       type	host 		ops	server 	timeout	master 	c_num
    +P subdiv_reader	subdiv_buf1	LOCAL	localhost 	R	0	INF 	1	0
    +P subdiv_writer	subdiv_buf1	LOCAL	localhost 	W	0	INF 	0	1
    +
    +
    + +

    Here is the code for the writer.

    + +
    +#include "rcs.hh"
    +#include "nml_ex1.hh"
    +
    +
    +main()
    +{
    +  NML example_nml(ex_format, "subdiv_buf1", "subdiv_writer", "ex_cfg.nml");
    +  EXAMPLE_MSG example_msg[100];
    +  int count;
    +  while(1)
    +    {
    +      count ++;
    +      for(int i = 0; i < 100; i++)
    +	{
    +	  example_msg[i].i = i;
    +	  example_msg[i].f = etime();
    +	  example_msg[i].c = 'a' +count%26;
    +
    +	  example_nml.write_subdivision(i,example_msg[i]);
    +	}
    +      rcs_print("%d\r",count);
    +      esleep(0.1);
    +    }
    +}
    +
    +
    + +

    Here is the C++ code for the reader.

    + +
    +#include "rcs.hh"
    +#include "nml_ex1.hh"
    +
    +main()
    +{
    +	RCS_TIMER timer(0.1);
    +	NML example_nml(ex_format, "subdiv_buf1", "subdiv_reader", "ex_cfg.nml");
    +	EXAMPLE_MSG *example_msg_ptr;
    +	int quit=0;
    +
    +	while(!quit)
    +	{
    +		switch(example_nml.read_subdivision(3))
    +		{
    +		case -1:
    +			rcs_print( "A communications error occurred.\n");
    +			quit = 1;
    +			break;
    +
    +		case 0:
    +			/* The buffer contains the same message */
    +			/* you read last time. */
    +			break;
    +
    +		case EXAMPLE_MSG_TYPE:
    +			example_msg_ptr = (EXAMPLE_MSG *)example_nml.get_address_subdivision(3);
    +			rcs_print(" We have a new example message. \n");
    +			rcs_print(" The value of its members are:\n ");
    +			rcs_print(" f=%f, c=%c, i=%d\n ", 
    +				example_msg_ptr->f,
    +				example_msg_ptr->c,
    +				example_msg_ptr->i);
    +			break;
    +		}
    +		timer.wait();
    +	}
    +}
    +
    + +
    + +

    Last Modified: March 17,1999

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + \ No newline at end of file diff --git a/doc/node.issue.log b/doc/node.issue.log new file mode 100644 index 0000000..7d638c5 --- /dev/null +++ b/doc/node.issue.log @@ -0,0 +1,72 @@ +RECENT CONTROLLER NODE ISSUES + +1. Implementation of the Operator Interface (OI) function + +Options: +(a) As a module in the node that handles all the I/O between the node and the devices. +(b) As a process running concurrently with the node. +(c) Scattered wherever I/O is needed (e.g., with a planner as Sandor implemented) + +Resolution: +Leave optional between (a) and (b) depending on the execution time and communication load (see below). + +Discussion: +Option (a) reduces communication bottleneck if the node and the devices communicate frequently. Option (b) reduces the cycling time of a controller node, since the the OI may deal with the following issues and which may make it a complex function: + +* parsing through command scripts; +* parsing strings; +* operator cmd execution timing--execute right away, after the current cmd done, delay for certain time, delay until another condition met; +* handshaking between human input and the controller: + -- operator hitting a key repeatedly, to ignore, to queue, or to barf? + -- some devices require a status back every cycle. +* multiple OI devices to a node--arbitration; +* one device to multiple nodes; + +2. OI to enter at the same level as the corresponding controller or one level higher. + +Options: +(a) Same level +(b) On level higher + +Resolution: +Use (a) + +Discussion: +(a) is more intuitive from a human understanding perspective. It also eliminates the need to have to implement an upper level node just for the sake of handling OI. + +3. Timing for operator to take over control + +Options: +(a) Allowing operator to take over at any time as long as he switches the mode to tele-operation. +(b) Operator to take over only under the preprogrammed and controlled conditions (Òcomputer determines whether OI is allowedÓ) + +Resolution: +TBD + +Discussion: +Ideally human should be in charge. Practically the worry is that, say, if we allow an operator to take over low level control, the high levels may lose track of world state and wonÕt be able to resume once the mode switched back to auto. The counter argument is that separate status buffers are still used to send up status during tele mode, along with the updated world model. I.e., the upper nodes continue computing everything else other than sending commands down. + +4. Whether and how to allow human and computer combined execution of plans. + +Options: +(a) The parent decomposes the plan to a series of plans at every point where human input is expected. The parent switches mode for the son controller when sending the plans. +(b) The parent does not decompose. Include in the plan the mode switching statements and allow human to interact closely with the controller, execution can stop to wait for human input if necessary. +(c) Templates do not dictate this level of detail. + +Resolution: +TBD + +Discussion: +Might be application specific. + +5. At what state should the system be brought up? + +Options: +(a) Include in the template a built in Init command that automatically ripples through all the nodes and gets executed when the system starts up. The system will be ready to execute the real missions. +(b) Requires that the user enter an initialization command before allowing any other commands. + +Resolution: +(a) + +Discussion: +Unless applications have their specific start up procedures. diff --git a/doc/papers/Appendix.htm b/doc/papers/Appendix.htm new file mode 100644 index 0000000..2971c76 --- /dev/null +++ b/doc/papers/Appendix.htm @@ -0,0 +1,26 @@ + + + + +Appendix + + + +

    Appendix

    +


    +Figure A1. RCS Design Tool -- Hierarchy View

    +

    +
    +
    Figure A2. RCS-Design Tool - Files View

    +

    +
    +Figure A3. RCS Diagnostics Tool - Hierarchy View

    +

    +
    +Figure A4. RCS Diagnostics Tool - Details View

    +


    +Figure A5. RCS Diagnostics Tool - Graph View

    +

    +
    +Figure A6. RCS Diagnostics Tool - State Table View

    + diff --git a/doc/papers/Image12.gif b/doc/papers/Image12.gif new file mode 100644 index 0000000..ef4b400 Binary files /dev/null and b/doc/papers/Image12.gif differ diff --git a/doc/papers/Image13.gif b/doc/papers/Image13.gif new file mode 100644 index 0000000..4c02ca6 Binary files /dev/null and b/doc/papers/Image13.gif differ diff --git a/doc/papers/Image14.gif b/doc/papers/Image14.gif new file mode 100644 index 0000000..213c381 Binary files /dev/null and b/doc/papers/Image14.gif differ diff --git a/doc/papers/Image15.gif b/doc/papers/Image15.gif new file mode 100644 index 0000000..3f56744 Binary files /dev/null and b/doc/papers/Image15.gif differ diff --git a/doc/papers/Image16.gif b/doc/papers/Image16.gif new file mode 100644 index 0000000..c698458 Binary files /dev/null and b/doc/papers/Image16.gif differ diff --git a/doc/papers/Image17.gif b/doc/papers/Image17.gif new file mode 100644 index 0000000..c820aa9 Binary files /dev/null and b/doc/papers/Image17.gif differ diff --git a/doc/papers/Image18.gif b/doc/papers/Image18.gif new file mode 100644 index 0000000..5846e2a Binary files /dev/null and b/doc/papers/Image18.gif differ diff --git a/doc/papers/devproc.gif b/doc/papers/devproc.gif new file mode 100644 index 0000000..6e521ad Binary files /dev/null and b/doc/papers/devproc.gif differ diff --git a/doc/papers/javatool.htm b/doc/papers/javatool.htm new file mode 100644 index 0000000..d7d1fe5 --- /dev/null +++ b/doc/papers/javatool.htm @@ -0,0 +1,135 @@ + + + + + Java-based Tools for Development and Diagnosis of Real-Time Control Systems + + + + +

    Proceedings of ASME:

    +

    Computers in Engineering Conference

    +

    Atlanta, Georgia September 16-18, 1998

    +

    Put Paper Number Here

    +

    +

    Java-based Tools for Development and Diagnosis of Real-Time Control Systems

    +

     

    + + + + + + + + + + + +
    +

    Will Shackleford/ NIST

    +

    Fredrick M. Proctor/NIST

    +

     

    +

     

    +

     

    + +

    +

    +

    Abstract

    +

    The National Institute of Standards and Technology (NIST) has been using the Real-time Control System (RCS) Reference Model Architecture for building control systems based on a hierarchy of cyclically executing control modules. This paper describes the work done to build Java tools that allow developers to lay out their hierarchy according to RCS tenets and view or change the inputs and outputs of each module at run-time.

    +

    introduction

    +

    This paper describes the Java tools built for RCS and their relationship to the Real-time Control System (RCS) Reference Model Architecture. An overview of the other software tools and libraries created for developing RCS applications is presented. Several of the unique challenges and strategies encountered in building tools of this sort in Java are also presented.

    +

    BackGround

    +

    Early work by Albus [1,2] and Barbera [3] in the Automated Manufacturing Research Facility (AMRF) led to the first definition of the Real-Time Control Systems engineering approach focusing primarily on software design. Later, software templates were created to make it easier to use RCS, encourage consistency both between modules in an application and between applications, and provide better structure (see Quintero [4]). Libraries of software were also created. These include:

    + +
      +

    • Neutral Manufacturing Language (NML) for communications
    • +

    • Portable Application Programming Interfaces (API) for accessing operating systems services
    • +

    • Functions for coordinate system transformations
    • +

    • A base class for NML control modules.
    + +

    Makefile definitions and directory structures were developed to allow multiple programmers to work together to build applications which run on multiple platforms. Before the tools were developed, control systems were built by copying and renaming several C++ source files, doing several search and replace operations and then populating the source files with the appropriate functionality for that particular application. Information on how the control system was behaving was gathered by running source code debuggers and/or by watching displays of custom built graphical interfaces. This information was used to diagnose problems and suggest improvement.

    +

    GOALS

    +

    Goals for developing the tools are as follows:

    +
      + +

    1. Allow current users of the RCS source files to quickly and inexpensively develop applications of higher quality.
    2. +

    3. Provide means for initiating new RCS developers with a much shorter learning curve.
    4. +

    5. Allow problems to be found and diagnosed more easily.
    6. +

    7. Provide means to control or view the activity of a control system remotely through a web browser.
    8. +

    9. Provide a new perspective from which to view RCS and feed this back into our research into open architecture controllers and intelligent systems.
    + +

     

    +

    Development Process

    +

    Figure 1 shows a diagram of the development process and the position of the tools we built within it. The process begins with analysis of the control problem and a design of the RCS architecture. Although we do not provide any tools for this part of the process, it is essential. Once the developer has a basic idea of the hardware to control and the major tasks this system will be asked to perform, the developer can proceed to draw the hierarchy inside the RCS Design Tool. The hierarchy will consist of several cyclically executing control modules. Each module receives commands from its superior and sends commands to one or more subordinate modules. Subordinates provide status information to their superiors. The control modules will be examined in more detail later.

    +

     

    + +

    The design tool then generates the C++ source code with stubs, makefiles, and configuration files. The source code may be edited either with a separate text editor or within the design tool. A makefile interpreter is run to call the compiler and generate the executable(s). These executables may be tested by running them with the RCS Diagnostics Tool. The diagnostics tool shows a hierarchy that is identical to the one from the design tool except that the current commands and status from the running controller are displayed. The tool also allows variables to be plotted, state tables to be examined, and errors to be logged. After each step of the process, the developer decides whether to proceed or go back to an earlier point in the process. Therefore, there is a need to be able modify to the existing system and allow as many options as possible to be kept open at each level.

    +

    rcs design Tool

    +

    The purpose of the RCS Design tool is to provide a graphical view of the application hierarchy and to generate the C++ source code, configuration files and makefiles needed to build the application. Several views may be selected by a drop-down list in the upper left.

    + +
      +

    • Hierarchy View, Figure A1 - The left side has a set of controls used to add modules, select subordinates, and add commands and auxiliary channels. The right side has a graphical depiction of the hierarchy. The selected module appears highlighted. As the user enters modules in the "Add Module" text field on the left, the modules are added as subordinates of the selected module.
    • +

    • Files View, Figure A2 - This is a convenient place to view or modify the generated source code and configuration files. A list of all the files needed to build and run the application is on the left of files view. A simple text editor showing the file selected from the list is located on the right.
    • +

    • Options View -This view is populated with controls to change miscellaneous options such as the directories where files are written. (Not Shown)
    • +

    • Loops View - The developer may use this view to assign modules to execution loops. All the modules in the same execution loop are linked together at compile time and must run on the same host at the same cycle time. However, there are advantages in synchronization to having the modules linked together. (Not Shown)
    + +

    Buttons for creating the source code, running the makefile interpreter, running the application, and printing the graphical view of the hierarchy are located at the top of the design tool. A progress bar shows the progress and name of major tasks, such as creating source, which may take a few seconds.

    +

    Generated FILES

    +

    The design tool generates several different types of files. The detailed information needed to understand and work with each type of file is provided on the RCS Library Web Page [5]. An overview follows. The example files may also be found on the website.

    +

    NML message header files are C++ header files that define the classes of objects that can be sent to the module as commands or received from the module as status. We usually name the file according to the following convention <module name>+'n.'+<C++ header ext.>. (Some programmers prefer .h as a C++ header extension while others use .hh or .hpp to distinguish them from C header files. This is an option in the design tool.) The design tool generates a class for every command entered and one class for status. The programmer will probably add variables to these classes

    +

    Module header files define the C++ class that contains all the functions for the module. These functions are called by the NML_MODULE base class when the appropriate message is received, or every cycle, but are not used by other modules directly.

    +

    Module source files provide stubs for each command that the module accepts. Inside these stubs, the programmer is expected to add state tables related to each command and probably send commands to its subordinates using NML communication channels that have already been set up. The state tables for INIT and HALT are already set up by the design tool. The code from the state table can be made available to the diagnostics tool so the current line in the state table can be watched.

    +

    Main source files contain the main function used to start execution. The main function creates an object for each type of module. Each module's controller function is called inside a loop that pauses for a timer each cycle to provide consistent cycle times.

    +

    Other files generated include:

    +

    1. NML Configuration files that allow communications parameters and protocols to be selected.

    +

    2. Makefiles that control how the source code is compiled.

    +

    3. A configuration file used by the RCS Diagnostics Tool.

    +

    4. A shell script that allows multiple executables to be started with a single command.

    +

    Source Code Merger

    +

    One problem code generators often have is a conflict between the automatic tool generating code and the programmer manually creating or modifying code in the same file with a separate text editor. A programmer may already have edited code inside a module and then decide to add a command or subordinate to that by running the code generator. Unless the code generator keeps the manual edits, the programmer might lose the work he has already done.

    +

    To solve this problem, the tool uses a component called the merger that allows both user edits and automatically generated code to be merged in the same file. The position of the merger within the RCS-Design Tool is shown in Figure 2. To the rest of the design tool, the merger appears to be an object with functionality that is similar to an output stream. As each line is written, it is compared to see if it matches a line that already exists in the file. If the line does not match any of the lines in the file, it is inserted in a position that keeps it in order with the lines that do match. The conditions for a match were altered to make the merger work more effectively. Because loading a file in some editors changes the way tabs and spaces or new lines are stored, the white space is stripped out before the comparison is made. In addition, a nesting level is computed for each line. The nesting level must match for the lines to be considered matches. The merger can be disabled either for short periods inside the code using special comments or for the whole file using an option inside the tool. When the merger is disabled, the output is sent directly to the file without checking the old source file.

    + + +

    RCS DiAGNOSTICS TOOL

    +

    Once the software has been compiled, it must be tested. Previously, we tested our systems with traditional source code debuggers. However, by developing a diagnostics tool specifically for RCS applications, we can provide many features that traditional source code debuggers do not.

    +
      + +

    1. Show the entire hierarchy in one view with the current commands and status.
    2. +

    3. Highlight the current line in the state table.
    4. +

    5. Allow data to be taken from the system without stopping it.
    6. +

    7. Allow multiple programmers to simultaneously view the state of the machine across a LAN or the Internet.
    8. +

    9. Control the system by sending commands to any module.
    + +

    When the tool is started, it needs to load a configuration file. The user can type the file name or URL of the configuration file into the text box at the top. The location can also be pre-set with the HTML tag <PARAM name="ConfigurationFile" value="app.cfg"> if the tool is to be loaded from a website dedicated to that application.

    +

    A diagnostics configuration file can be generated by the design tool or manually created with a text editor. This file provides information on the relationships between modules and the locations of the other files used in the application such as module source files, communications message headers, and communications configuration files that the diagnostics tool can use. It is not necessary to provide all of the files. For example, if the programmer preferred not to provide the module source code, the state table display would not be available. However, the developer could still send commands and examine status from the module.

    +

    The RCS Diagnostics tool has several views that can be selected with the drop-down list in the upper left.

    + +
      +

    • The hierarchy view, shown in Figure A3, provides a graphical representation of the hierarchy similar to the one in the design tool except that each module displays the current command and status type of the module. The color of the boxes in the hierarchy change depending on the status type. (DONE, EXECUTING, ERROR) Clicking on any of the boxes brings up a menu of the commands that can be sent to that module.
    • +

    • The details view, shown in Figure A4, provides much more information about one particular module selected with a list control. The information includes the current value of every variable in the current command and status classes rather than just the type. Any variable can be selected and added to the list of variables that are logged for plotting.
    • +

    • The graph view, shown in Figure A5, shows a running plot of each variable that was selected from the details view for plotting versus time.
    • +

    • The state table view, shown in Figure A6, displays the source code of the currently selected module with the current line in the state table highlighted.
    + +

     

    +

    Java Challenges

    +

    Java has some unique advantages for this type of application, but it also creates some special challenges as well. Since the Java code must be able to run on any platform, some platform specific functions are not available. For these tools, functions are needed for setting file permissions, interpreting makefiles and creating symbolic links. A recommended approach for handling this limitation is to check System.getProperties ("os.name") and then call Runtime.getRuntime().exec( ... ). This technique is not 100% Pure Java, but it allows operating system dependant code to be localized for porting between platforms.

    +

    Security barriers built into web browsers introduce some restrictions on running Java code within web browsers. One restriction is that applets generally may not open socket connections to hosts other than the web server from which they were loaded. This might for example prevent the diagnostics tool from being able to communicate with some or all of the modules. The following strategies can be used to solve this problem:

    +
      + +

    1. Run a web server on the same host as the control system and have browsers download the applet from it. Free or very inexpensive web servers are available for most platforms. This strategy allows the applet to connect to the modules on that host in almost any browser that supports Java.
    2. +

    3. Run a proxy program. A simple program called tcpproxy is included in the RCS library. It may run on the web server and accept requests from applets, forward them to the appropriate host where the modules run, and forwards the replies from the modules back to the applet. It can also be used on the host where the modules run to forward requests to the web server. Since the applet only needs to open a connection to the same host from which it was loaded, no security exception occurs.
    4. +

    5. Sign the applet. Microsoft Internet Explorer 3+, Netscape Navigator 4+ and HotJava all provide means of identifying signed applets and will allow those applets to connect to any host after the user warning. Unfortunately, they use three different types of files to store the signatures. This provides the minimum overhead on the server side. However, this method does not allow users with other browsers or with concerns about letting go of the security protections to communicate with the modules.
    + +

    The challenges and advantages of Java seem closely linked. The cost for improved portability is the lack of some operating system specific functions. Building an application to run inside a web browser allows it to be distributed more easily and provides the user with better security; however, it requires some additional work to get the same flexibility.

    +

    CONCLUSIONS

    +

    RCS provides a very good match for graphical software design and diagnostics tools. RCS hierarchies are abstract enough to provide a high level graphical view of the application, yet concrete enough to be used for building and testing real applications. Using Java to build those tools allows them to be distributed to multiple platforms easily. Although Java also creates some challenges, those challenges can be overcome without too many burdens.

    +

    References

    +

    [1] Albus, J. S., "Outline for a Theory of Intelligence," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 21, No.3, May/June 1991.

    +

    [2] Albus, J. S., "RCS: A Reference Model Architecture for Intelligent Control," Computer, May 1992.

    +

    [3] Barbera, A.J., Albus, J.S., M.L. Fitzgerald, and L.S. Haynes, "RCS: The NBS Real-Time Control System," Robots 8 Conference and Exposition, Detroit, MI June 1984.

    +

    [4] Quintero, R., Barbera, A.J., "A Software Template Approach to Building Complex Large-Scale Intelligent Control Systems," 8th IEEE International Symposium on Intelligent Control, Chicago, IL, September 25-27, 1993.

    +

    [5] Shackleford, W. , "RCS Library Web Page", http://isd.cme.nist.gov/proj/rcs_lib.

    +

     

    +

    Appendix

    + + diff --git a/doc/papers/merger.gif b/doc/papers/merger.gif new file mode 100644 index 0000000..4c52cb6 Binary files /dev/null and b/doc/papers/merger.gif differ diff --git a/doc/perfsvr.cc b/doc/perfsvr.cc new file mode 100644 index 0000000..bf6dba3 --- /dev/null +++ b/doc/perfsvr.cc @@ -0,0 +1,186 @@ +/* Program Name to print at startup. */ +static char program_id[] = "perfsvr version 1.7 compiled on " __DATE__; + +#include "cms_cfg.hh" /* CMS_CONFIG_LINELEN */ +#include "nml.hh" /* NML, NMLTYPE */ +#include "nml_srv.hh" /* run_nml_servers() */ +#include "nmlmsg.hh" /* NMLmsg */ +#include "cms.hh" /* CMS */ +#include "rcs_prnt.hh" /* rcs_print_error() */ +#include "timer.hh" /* etime() */ +#include "perftype.hh" /* perf_types_format() */ + +extern "C" { +#include /* printf() */ +#include /* exit() */ +#include /* strcmp() */ +} + +#ifdef VXWORKS +#include "vxWorks.h" +#include "taskLib.h" +#endif + +#define MAX_NML_CHANNELS 100 +char *default_perfsvr_config_file="test.nml"; +char *default_perfsvr_host_name="localhost"; + +extern "C" int run_perfsvr(char *config_file, char *host_name); + +#ifdef VXWORKS +extern "C" void perfsvr(char *config_file, char *host_name, int print_everything); + +void perfsvr(char *config_file, char *host_name, int print_everything) +#else +int main(int argc, char **argv) +#endif +{ + + + //set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + //set_rcs_print_flag(PRINT_EVERYTHING); + + /* Print File name, version, and compile date. */ + rcs_puts(program_id); + +#ifndef VXWORKS + char config_file[80]; + char host_name[80]; + printf("PERFSVR:\n"); + if(argc > 2) + { + /* Get host_name and config_file from command line */ + strcpy(config_file, argv[1]); + strcpy(host_name, argv[2]); + } + else + { + /* Prompt user for config_file and host name */ + printf("Configuration File? [%s]", default_perfsvr_config_file); + gets(config_file); + if(config_file[0] == 0) + { + strncpy(config_file, default_perfsvr_config_file, 80); + } + + printf("Host Name? [%s]", default_perfsvr_host_name); + gets(host_name); + if(host_name[0] == 0) + { + strncpy(host_name, default_perfsvr_host_name, 80); + } +} + + + printf("print everything ? (y/n) "); + char print_everything[16]; + fgets(print_everything, 16, stdin); + if(print_everything[0] == 'y' || print_everything[0] == 'Y') + { + set_rcs_print_flag(PRINT_EVERYTHING); + } + run_perfsvr(config_file,host_name); +#else + + if(config_file == NULL) + { + config_file = default_perfsvr_config_file; + } + if(host_name == NULL) + { + host_name = default_perfsvr_host_name; + } + + if(print_everything == 1) + { + set_rcs_print_flag(PRINT_EVERYTHING); + } + taskSpawn("tperfsvr",100,VX_FP_TASK,0x4000, (FUNCPTR) run_perfsvr, + config_file, host_name,0,0,0, + 0,0,0,0,0); +#endif +} + +int run_perfsvr(char *config_file, char *host_name) +{ + FILE *fp; + char proc_line[CMS_CONFIG_LINELEN]; + char line[CMS_CONFIG_LINELEN]; + int line_len, line_number = 0; + char buffer_name[CMS_CONFIG_LINELEN]; + char buffer_host[CMS_CONFIG_LINELEN]; + RCS_LINKED_LIST *output_list; + NML *nml_channel[MAX_NML_CHANNELS]; + int num_nml_channels; + + /* Open the configuration file. */ + if ((fp = fopen(config_file, "r")) == NULL) + { + rcs_print_error("nmlperf: Can't open '%s'\n", config_file); + exit(-1); + } + + /* Read the configuration file line by line to find buffers. */ + num_nml_channels = 0; + while (!feof(fp) && num_nml_channels < MAX_NML_CHANNELS) + { + NML *lc_nml = (NML *) NULL; + NML *rc_nml = (NML *) NULL; + + if ((fgets(line, CMS_CONFIG_LINELEN, fp)) == NULL) + { + break; + } + + line_number++; + line_len = strlen(line); + if(line_len > CMS_CONFIG_LINELEN) + { + rcs_print_error("cms_cfg: Line length of line number %d in %s exceeds max length of %d", line_number, config_file, CMS_CONFIG_LINELEN); + } + + if(line_len > 1) + { + if(line[line_len-2] == '\\' ) + { + if ((fgets(line+line_len-2, CMS_CONFIG_LINELEN-line_len, fp)) == NULL) + { + break; + } + line_number++; + } + } + + if(line[0] != 'B') + { + continue; + } + + sscanf(line+1, "%s %*s %s", buffer_name, buffer_host); + + /* Try to connect locally if the buffer host matches this one. */ + + if(!strcmp(buffer_host, host_name)) + { + printf("\nAttempting to connect to %s locally . . .\n",buffer_name); + sprintf(proc_line, "P perfsvr %s LOCAL %s RW 1 5 1 0\n", + buffer_name, buffer_host); + nml_channel[num_nml_channels] = new NML(line, proc_line); + nml_channel[num_nml_channels]->prefix_format_chain(perf_types_format); + nml_channel[num_nml_channels]->add_to_channel_list(); + nml_channel[num_nml_channels]->register_with_server(); + num_nml_channels++; + } + } + + if(NULL != fp) + { + fclose(fp); + fp = NULL; + } + + printf("Press Control-C to stop server(s).\n"); + run_nml_servers(); + return 0; +} + diff --git a/doc/perftype.cc b/doc/perftype.cc new file mode 100644 index 0000000..41cb67d --- /dev/null +++ b/doc/perftype.cc @@ -0,0 +1,153 @@ +extern "C" { +#include +#include /* malloc(), free() */ +} + +#include "perftype.hh" +#include "rcs_prnt.hh" /* rcs_print_error() */ +#include "cms.hh" /* CMS */ +#include "nml.hh" /* NML */ + +size_t real_test_msg_size = 0; +size_t test_msg_buffer_size = 0; +void *test_msg_buffer = NULL; + + +// This function exists because sparcworks_sun4 header files +// define free as int free(char *) instead of void free(void *); +static void corrected_free(void *ptr) +{ +#ifdef sparcworks_sun4 + free((char *) ptr); +#else + free(ptr); +#endif +} + +int perf_types_format(NMLTYPE type, void *buffer, CMS *cms) +{ + switch(type) + { + case NML_PERFORMANCE_TEST_MSG_TYPE: + ((NML_PERFORMANCE_TEST_MSG *) buffer)->update(cms); + break; + default: + rcs_print_error("perf_types_format: Unknown Type.(%d) (mode = %d)\n", type,cms->mode); + return(-1); + } + return(0); +} + + +void NML_PERFORMANCE_TEST_MSG::update(CMS *cms) +{ + cms->update(serial_number); + cms->update(test_type); + cms->update(array_length); + switch(test_type) + { + case CHAR_TEST: + cms->update(&char_data, (array_length > 0)?array_length:1); + break; + case SHORT_TEST: + cms->update(&short_data, (array_length > 0)?array_length:1); + break; + case INT_TEST: + cms->update(&int_data, (array_length > 0)?array_length:1); + break; + case LONG_TEST: + cms->update(&long_data, (array_length > 0)?array_length:1); + break; + case FLOAT_TEST: + cms->update(&float_data, (array_length > 0)?array_length:1); + break; + case DOUBLE_TEST: + cms->update(&double_data, (array_length > 0)?array_length:1); + break; + } +} + +void NML_PERFORMANCE_TEST_MSG::compute_array_length() +{ + size_t array_unit_size, base_size, org_size; + org_size = size; + + switch(test_type) + { + case CHAR_TEST: + array_unit_size = sizeof(char); + break; + case SHORT_TEST: + array_unit_size = sizeof(short); + break; + case INT_TEST: + array_unit_size = sizeof(int); + break; + case LONG_TEST: + array_unit_size = sizeof(long); + break; + case FLOAT_TEST: + array_unit_size = sizeof(float); + break; + case DOUBLE_TEST: + array_unit_size = sizeof(double); + break; + default: + rcs_print_error("PERFTYPE: Invalid test type. (%ld)\n", test_type); + array_unit_size = 1; + break; + } + base_size = sizeof(NML_PERFORMANCE_TEST_MSG)-sizeof(double); + array_length = (size-base_size)/array_unit_size; + if(array_length > 0) + { + size = array_length*array_unit_size + base_size; + } + else + { + rcs_print_error("NML_PERFORMANCE_TEST_MSG::compute_array_length() - array_length <= 0\n"); + } +} + +void *NML_PERFORMANCE_TEST_MSG::operator new(unsigned int size) +{ + if(test_msg_buffer_size > size && test_msg_buffer_size > real_test_msg_size + && test_msg_buffer != NULL) + { + return test_msg_buffer; + } + if(test_msg_buffer != NULL) + { + corrected_free(test_msg_buffer); + test_msg_buffer = NULL; + } + if(real_test_msg_size > size) + { + test_msg_buffer_size = real_test_msg_size; + return(test_msg_buffer = calloc(real_test_msg_size,1)); + } + test_msg_buffer_size = size; + return(test_msg_buffer = calloc(size,1)); +} + +void NML_PERFORMANCE_TEST_MSG::operator delete(void *ptr) +{ + if(ptr != test_msg_buffer && ptr != NULL) + { + corrected_free(ptr); + } +} + +void delete_test_msg_buffer() +{ + if(NULL != test_msg_buffer) + { + corrected_free(test_msg_buffer); + test_msg_buffer = NULL; + } +} + +void set_real_test_msg_size(size_t size) +{ + real_test_msg_size = size; +} diff --git a/doc/perftype.hh b/doc/perftype.hh new file mode 100644 index 0000000..58a5ef4 --- /dev/null +++ b/doc/perftype.hh @@ -0,0 +1,63 @@ +/* + * Filename: perftype.hh + * + * Purpose: + * Defines the message class for messages that will be used by nmlperf and + * perfsvr. + */ + +#ifndef PERFTYPE_HH +#define PERFTYPE_HH + +#include "nmlmsg.hh" /* NMLmsg */ + +#define NML_PERFORMANCE_TEST_MSG_TYPE ((NMLTYPE) 0xff) + +class NML_PERFORMANCE_TEST_MSG: public NMLmsg +{ + public: + NML_PERFORMANCE_TEST_MSG(): NMLmsg(NML_PERFORMANCE_TEST_MSG_TYPE, sizeof(NML_PERFORMANCE_TEST_MSG)) {}; + void update(CMS *); + int serial_number; + int test_type; + long array_length; + +#ifndef JAVA_DIAG_APPLET + union { + char char_data; + short short_data; + int int_data; + long long_data; + float float_data; + double double_data; + }; + void compute_array_length(); + void *operator new(unsigned int); + void operator delete(void *); +#endif + +}; + +enum TEST_TYPE{ + CHAR_TEST, + SHORT_TEST, + INT_TEST, + LONG_TEST, + FLOAT_TEST, + DOUBLE_TEST +}; + +extern "C" { +#include /* size_t */ +} + +extern void set_real_test_msg_size(size_t); +extern void delete_test_msg_buffer(); +extern size_t real_test_msg_size; +extern size_t test_msg_buffer_size; +extern void *test_msg_buffer; +extern int perf_types_format(NMLTYPE type, void *buffer, CMS *cms); + + + +#endif /* !PTYPES_HH */ diff --git a/doc/pfr_ex.java b/doc/pfr_ex.java new file mode 100644 index 0000000..caae0be --- /dev/null +++ b/doc/pfr_ex.java @@ -0,0 +1,15 @@ + + +import rcs.nml.PackedFileReader; + +public class pfr_ex +{ + static public void main(String args[]) + { + PackedFileReader pfr = new PackedFileReader(new exampleMsgDict(),false); + EXAMPLE_MSG ex_msg = (EXAMPLE_MSG) pfr.ReadFile(args[0]); + System.out.println("ex_msg.f="+ex_msg.f); + System.out.println("ex_msg.c="+Character.toString((char)ex_msg.c)); + System.out.println("ex_msg.i="+ex_msg.i); + } +} diff --git a/doc/pfw_ex.java b/doc/pfw_ex.java new file mode 100644 index 0000000..095b849 --- /dev/null +++ b/doc/pfw_ex.java @@ -0,0 +1,17 @@ + + +import rcs.nml.PackedFileWriter; +import rcs.nml.NMLConnection; + +public class pfw_ex +{ + static public void main(String args[]) throws Exception + { + NMLConnection nml = new NMLConnection(new exampleMsgDict(), + "ex_buf1", + "pfw_ex", + "ex_cfg.nml"); + PackedFileWriter pfw = new PackedFileWriter(new exampleMsgDict(),false); + pfw.WriteFile(args[0],nml.read()); + } +} diff --git a/doc/plattable.gif b/doc/plattable.gif new file mode 100644 index 0000000..bd4800b Binary files /dev/null and b/doc/plattable.gif differ diff --git a/doc/plattable.html b/doc/plattable.html new file mode 100644 index 0000000..43e18ea --- /dev/null +++ b/doc/plattable.html @@ -0,0 +1,56 @@ + + +RCS Library -- Platforms Tested Table + + +

    Update

    +

    On 3-Apr-2003 I noticed that this document in extremely out of date. +The RCS library runs on many flavors or Unix, Linux, Windows, VxWorks and +Mac OS X, with compilers and processors not listed here. Check the FTP site +or email Will Shackleford at shackle@cme.nist.gov if you need more info.

    +
    +

    The Table of Tested Platforms for the RCS Library

    +
    + + + + + + + + + + + + + + + + + + + + + +
    Machine TypeOperating SystemCompilerAdditional Network SoftwarePlatform Name
    486/PentiumMS-DOSBorland C++PC-NFSdos_bor
    486/PentiumMS-DOSMicrosoft C++PC-NFSdos_msc
    486/Pentium16-bit Windows 3.1Borland C++PC-NFSwin16bor
    486/Pentium16-bit Windows 3.1Microsoft C++PC-NFSwin16msc
    486/Pentium32-bit Windows (NT/95/98)Borland C++PC-NFSwin32bor
    486/Pentium32-bit Windows (NT/95/98)Microsoft C++PC-NFSwin32msc
    486/PentiumLynxOs 2.1-2.2g++ (GNU C++)included with OSlynxosPC
    486/PentiumLynxOs 2.3g++ (GNU C++)included with OSlynxosPC23
    486/PentiumLinux 2.0.3g++ (GNU C++)included with OSlinux
    MVME 167LynxOsg++ (GNU C++)included with OSlynxosVME
    Heurikon HK68/V3DVxWorks 5.1g++ (GNU C++)included with OSvxworks5.1
    MVME 167,162,147VxWorks 5.1g++ (GNU C++)included with OSvxworks5.1
    MVME 162VxWorks 5.3g++ (GNU C++)included with OSvxworks5.3
    CETIA (PowerPC)VxWorks 5.3g++ (GNU C++)included with OSvxworksppc5.3
    Sun WorkStationSunOs 4 or 5g++ (GNU C++)included with OSsunos4 or sunos5
    Sun WorkStationSunOs 5CenterLine CCincluded with OSsunos5CC
    Sun WorkStationSunOs 5Sparcworksincluded with OSsparcworks_sun5
    SGI WorkStationIRIX 5.xg++ (GNU C++)included with OSirix5
    SGI WorkStationIRIX 6.xg++ (GNU C++)included with OSirix6
    + +
    +

    Notes:

    +
      +
    1. +The 32-bit Windows Libraries work under both Windows 95 & 98 and Windows NT 3.5 & 4.0. +
    2. +
    + +

    Last Modified: 08/25/99

    + +

    See other RCS Library Documents.

    + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + diff --git a/doc/plotter.jnlp b/doc/plotter.jnlp new file mode 100644 index 0000000..1e1ef73 --- /dev/null +++ b/doc/plotter.jnlp @@ -0,0 +1,27 @@ + + + + XY Data Plotter + Will Shackleford + + Display Data plotted on XY graph. + + + + + + + + + + + + + + + + + diff --git a/doc/posemath_examples.html b/doc/posemath_examples.html new file mode 100644 index 0000000..a7fc1a8 --- /dev/null +++ b/doc/posemath_examples.html @@ -0,0 +1,509 @@ + + +posemath examples + + + + +

      +

    + +

    Using the Posemath +Library

    + +

    by

    + +

    Karl Murphy +

    + +

    Updated 4/14/99

    + +

     

    + +

    This gives examples of how to use the +posemath library, part of the RCS libary. Most of the examples are +given in C. Posemath also supports C++ and the corresponding code is +more compact due to operator overloading.

    + +

    See Also RCS +lib Document on posemath

    + +

    Introduction

    + +

    A Vector is a 3 dimentional quantity that has magnitude and +direction. A vector is not a point although a vector can be +used to represent the relative position between two points. A vector +is not fixed in space, it only has magnitude and direction. Imagine +an arrow that can be slid all around (although not rotated).

    + +

     

    + +

    A Reference Frame is a set of three mutually perpendicular +unit vectors, often denoted x, y, and z, and an +associated point called the origin.

    + +

     

    + +

    Vectors

    + +

    Given a reference frame A and a vector v, there +exists 3 unique scalars, vx, vy, and vz such that

    + +

     

    + +

    v = vx x + vy y + vz x

    + +

     

    + +

    The representation of the vector v in the reference frame A +is the three scalar values, [vx, vy, vz]T. Note that vx is the dot +product of v and x, etc. The values [vx, vy, vz] are +called v in A and are the representation used most +often in posemath. The three scalars are meaningless without an +associated reference frame.

    + +

     

    + +

    Example 1

    + +

    The vector v is the relative position of point P +from the origin of frame A. Express the vector in posemath +notation.

    + +

    + +

    PmCartesian v = {10, 5, 0}; /* vector v in frame A */ +

    + +

     

    + +

    The position of a point relative to a reference frame is the +vector from the origin of the frame to the point expressed in the +frame. The representation of v (the vector from the origin of +A to P) is different in different frames that have +different orientations but always has the same magnitude. The +position of P in different frames might also have different +magnitudes.

    + +

    Posemath also supports cylindrical and spherical representations. +

    + +

     

    + +

    Reference Frame +Rotations

    + +

    Coordinate frames can be rotated relative to one another. There +are many ways to represent rotations. A rotation matrix is a 3x3 +matrix where the columns are the representations of the x, +y, and z axis of the rotated frame expressed in the +unrotated frame. See the figure below.

    + +

     

    + +

    + +

     

    + +

    The elements of the matrix are the dot products of the various +axis (ay dot bz = -1).

    + +

    The vector representation in a rotated frame can be calculated by +using normal vector - matrix multiplication as shown below.

    + +

    + +

    Strictly speaking, the vectors va and vb are the +same, they both span from the origin to the point P, even +thought their representations in the two frames are different.

    + +

     

    + +

    Besides the rotation matrix, posemath supports many +representations for rotations. One of which, the quaternion, is a +strange but computationally nice representation. It has a scalar and +vector part. The scalar is the cosine of half angle of rotation and +the vector is the unit rotation vector multiplied by the sine of the +half angle. I told you it was weird. Because of the computational +niceties, posemath routines have a bias toward using quaternions. +When you use them, think of them as a rotation matrix. pmPrintf() +will even convert them to a matrix and print them that way.

    + +

     

    + +

    Example 2

    + +

    Rotate bv to get av as shown in the figure above. +

    + +

     

    + +

    PmCartesian av; /* vector av in frame A */

    + +

    PmCartesian bv = {10, 0, -5}; /* vector bv in frame B */ +

    + +

    PmQuaternion rq; /* the rotation expressed as

    + +

    a quaternion */

    + +

    PmRotationMatrix rm; /* the rotation expressed as

    + +

    a matrix */

    + +

     

    + +

    /* Method 1 */

    + +

    rm = (PmRotationMatrix) {{1,0,0},{0,0,1},{0,-1,0}};

    + +

     

    + +

    /* When reading a matrix, quaterian, unit vector, etc. +

    + +

    as ASCII you should normalize it if not all +-1 & 0's. +

    + +

    We will do it anyway */

    + +

    pmMatNorm( rm, &rm );

    + +

     

    + +

    pmMatCartMult( rm, bv, &av );

    + +

     

    + +

    /* Method 2 */

    + +

    /* represent the rotation as a quaternion */

    + +

    pmAxisAngleQuatConvert( PM_X, PM_PI / 2, &rq);

    + +

    /* or */

    + +

    pmMatQuatConvert( rm, &rq);

    + +

    pmQuatCartMult( rq, bv, &av );

    + +

     

    + +

    /* print rm as a quaternion and as a rotation matrix */ +

    + +

    pmPrintf("As a quat %q, as a matrix \n%Q\n", rq, rq); +

    + +

     

    + +

    /* in C++ */

    + +

    av = rq * bv;

    + +

     

    + +

    Example 2b

    + +

    Now the other way: Rotate av to get bv as shown in +the figure above.

    + +

     

    + +

    PmQuaternion rqInv; /* the rotation inverse */

    + +

    pmQuatInv(rq, &rqInv); /* invert rq */

    + +

    pmQuatCartMult( rqInv, av, &bv );

    + +

     

    + +

    /* in C++ */

    + +

    bv = (-rq) * av; // (-rq) is the inverse of rq

    + +

     

    + +

    Example 3

    + +

    Given the pan tilt unit and the coordinate frames as shown, +compute the rotation from the mount to the camera. Neglect +translations

    + +

    + +

    double pan, tilt; /* pan and tilt in rads */

    + +

    PmQuaternion panTilt; /* pan tilt rotation */

    + +

     

    + +

    pmAxisAngleQuatConvert( PM_Y, pan, &panTilt);

    + +

    pmQuatAxisAngleMult( panTilt, PM_X, tilt, &panTilt); +

    + +

     

    + +

    Reference Frame +Transforms

    + +

    The transformation from one coordinate frame to another requires +translation and rotation. One representation is the homogeneous +transformation, a 4 x 4 matrix with the rotation matrix in the upper +left, the translation vector on the right, and a row of 3 zeros and a +1 along the bottom. The bottom row can be used to represent other +transformations such as a change in scale, but these are not +currently supported in posemath. The position of a point relative to +a new reference frame can be calculated using normal vector - matrix +multiplication as shown below. (A 1 is added to the end of each +vector representation for proper matrix multiplication.)

    + +

    The translation is expressed in the non-rotated frame.

    + +

    av = T * bv

    + +

    where

    + +

    av = [10, 5, 0, 1]T

    + +

    bv = [10, 7, -5, 1]T

    + +

    + +

     

    + +

    The posemath library supports homogeneous transforms but is biased +toward a different representation, the pose, a quaternion and +a cartesian translation. It is often easier to think of the pose as a +homogeneous transform.

    + +

     

    + +

    Example 4

    + +

    What is the pose for the above transform. Calculate av +given bv.

    + +

     

    + +

    PmCartesian av; /* vector av in frame A */

    + +

    PmCartesian bv = {10, 7, -5}; /* vector bv in frame B */ +

    + +

    PmPose t; /* transform w/ the rotation

    + +

    expressed as a quaternion */

    + +

    PmPose t_inv; /* inverse t */

    + +

     

    + +

    /* represent the rotation as a quaternion */

    + +

    pmAxisAngleQuatConvert( PM_X, PM_PI / 2, &t.rot); +

    + +

     

    + +

    /* tran in un-rotated frame. One element at a time */ +

    + +

    t.tran.x = t.tran.y = 0;

    + +

    t.tran.z = -7;

    + +

     

    + +

    pmPoseCartMult( t, bv, &av ); /* calc av given bv */ +

    + +

     

    + +

    /* print t with a quaternion and with a rotation matrix */ +

    + +

    pmPrintf("As a quat %p, as a matrix \n%P\n", t, t);

    + +

     

    + +

     

    + +

    Example 4b

    + +

    Now the other way: Calculate bv given av.

    + +

     

    + +

    pmPoseInv( t, &t_inv); /* invert t */

    + +

    pmPoseCartMult( t, av, &bv ); /* calc bv given av */ +

    + +

     

    + +

    /* in C++ */

    + +

    bv = (-t) * av;

    + +

     

    + +

     

    + +

    Example 5

    + +

    Given the two frames, Vehicle and Mount as shown in +the figure below calculate the transformation from Vehicle to +Mount.

    + +

     

    + +

    + +

     

    + +

    PmPose mount; /* transform from Vehicle to Mount */

    + +

     

    + +

    /* the translation is in the base frame (ie vehicle) */ +

    + +

    mount.tran.x = 1.05;

    + +

    mount.tran.y = 0.2;

    + +

    mount.tran.z = -0.8;

    + +

     

    + +

    /* rotate to align X axis */

    + +

    pmAxisAngleQuatConvert( PM_Z, PM_PI / 2, &mount.rot); +

    + +

     

    + +

    /* rotate to almost align Y & Z axis */

    + +

    pmQuatAxisAngleMult( mount.rot, PM_X, PM_PI / 2, +&mount.rot);

    + +

     

    + +

    /* rotate for 10 deg offset */

    + +

    pmQuatAxisAngleMult( mount.rot, PM_X, 10.0 * TO_RAD, +&mount.rot);

    + +

     

    + +

    Multiple Transforms +

    + +

    Multiple transformation are computed using matrix multiplication +when using Homogeneous Transformations and by using pose +multiplication when using poses. Either way, the rules are the same. +Multiplication is associative,

    + +

    (T1 * T2) * T3 = T1 * (T2 * +T3)

    + +

    but not commutative (in general)

    + +

    T1 * T2 != T2 * T1

    + +

    Manipulate equations by pre- and post-multiplying by inverses. +Drawing a simple sketch showing the frames and relative transforms +can help. As you traverse from one frame to the next, post-multiply +by the transform if you are traversing in the direction of the arrow, +and post-multiply by the INVERSE of the transform if you are +traversing in the opposite direction.

    + +

    + +

     

    + +

    Example 6

    + +

    Given the pose of the vehicle in world frame, the pose of the +mount in vehicle frame, the pose of the camera due to the pan tilt, +and the x, y, z measurement of a rock in camera coordinates (see +above examples), what is the position of the rock in the world frame? +

    + +

    + +

     

    + +

    PmPose dr, mount, pt; /* these are set elsewhere */

    + +

    PmCartesian obst, meas; /* meas is set elsewhere */

    + +

     

    + +

    PmPose ttt; /* world to camera, temp pose*/

    + +

     

    + +

    pmPosePoseMult( dr, mount, &ttt); /* mount in world +*/

    + +

    pmPosePoseMult( ttt, pt, &ttt); /* camera in world */ +

    + +

     

    + +

    pmPoseCartMult( ttt, meas, &obst); /* rock in my world +*/

    + +

     

    + +

    /* in c++ */

    + +

    obst = dr * mount * pt * meas; // rock on!

    + +

     

    + +

     

    + +

    Example 7

    + +

    A vehicle has two navigation sensors, a dead reckoning unit and a +gps unit. The DR unit measures vehicle orientation and distance +traveled since start up (in northing, easting, and down). The GPS +measures the position of the antenna relative to the UTM zone (in +northing, easting, and down). The DR_Base and the UTM_Base have the +same orientation. Calculate the drift, ie, the offset of the DR_Base. +In practice, this drift would be filtered to take out noise in the +gps measurement.

    + +

    + +

    PmPose dr;

    + +

    PmCartesian drift, antenna, gps;

    + +

    PmCartesian ttt; /* dr_base to antenna vector */

    + +

     

    + +

    pmPoseCartMult( dr, antenna, &ttt);

    + +

    pmCartCartSub( gps, ttt, &drift);

    + +

    /* note we can subtract because there is no rotation between +

    + +

    the two bases, */

    + +

     

    + +

     

    + +

     

    + +

     

    + + diff --git a/doc/posemath_examples_files/image%20047.gif b/doc/posemath_examples_files/image%20047.gif new file mode 100644 index 0000000..8ee9067 Binary files /dev/null and b/doc/posemath_examples_files/image%20047.gif differ diff --git a/doc/posemath_examples_files/image%20089.gif b/doc/posemath_examples_files/image%20089.gif new file mode 100644 index 0000000..209cfdc Binary files /dev/null and b/doc/posemath_examples_files/image%20089.gif differ diff --git a/doc/posemath_examples_files/image%20166.gif b/doc/posemath_examples_files/image%20166.gif new file mode 100644 index 0000000..fd0a73c Binary files /dev/null and b/doc/posemath_examples_files/image%20166.gif differ diff --git a/doc/posemath_examples_files/image%20188.gif b/doc/posemath_examples_files/image%20188.gif new file mode 100644 index 0000000..029b8a7 Binary files /dev/null and b/doc/posemath_examples_files/image%20188.gif differ diff --git a/doc/posemath_examples_files/image%20358.gif b/doc/posemath_examples_files/image%20358.gif new file mode 100644 index 0000000..a111682 Binary files /dev/null and b/doc/posemath_examples_files/image%20358.gif differ diff --git a/doc/posemath_examples_files/image%20462.gif b/doc/posemath_examples_files/image%20462.gif new file mode 100644 index 0000000..7968199 Binary files /dev/null and b/doc/posemath_examples_files/image%20462.gif differ diff --git a/doc/posemath_examples_files/image%20467.gif b/doc/posemath_examples_files/image%20467.gif new file mode 100644 index 0000000..32b6d86 Binary files /dev/null and b/doc/posemath_examples_files/image%20467.gif differ diff --git a/doc/posemath_examples_files/image%20842.gif b/doc/posemath_examples_files/image%20842.gif new file mode 100644 index 0000000..2fff4a2 Binary files /dev/null and b/doc/posemath_examples_files/image%20842.gif differ diff --git a/doc/posemath_examples_files/image%20893.gif b/doc/posemath_examples_files/image%20893.gif new file mode 100644 index 0000000..646cc6a Binary files /dev/null and b/doc/posemath_examples_files/image%20893.gif differ diff --git a/doc/posemathdoc/AllNames.html b/doc/posemathdoc/AllNames.html new file mode 100644 index 0000000..2ab58e4 --- /dev/null +++ b/doc/posemathdoc/AllNames.html @@ -0,0 +1,1200 @@ + + + + + + + Index of all Fields and Methods + + + + +
    All Packages  Class Hierarchy

    +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 + +
    +

    + Index of all Fields and Methods +

    + +

    + A +

    +
    +
    add(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    add(PM_CYLINDRICAL, PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    angle. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    angle. +Variable in class rcs.posemath.PmCircle +
    +
    + + +
    +

    + C +

    +
    +
    CART_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    center. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    center. +Variable in class rcs.posemath.PmCircle +
    +
    clone(). +Method in class rcs.posemath.PM_CARTESIAN +
    +
    cross(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    cross(PM_CYLINDRICAL, PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    + +
    +

    + D +

    +
    +
    DBL_MAX. +Static variable in class rcs.posemath.Posemath +
    +
    debug_on. +Static variable in class rcs.posemath.Posemath +
    +
    disp(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    divide(PM_CARTESIAN, double). +Static method in class rcs.posemath.Posemath +
    +
    divide(PM_CYLINDRICAL, double). +Static method in class rcs.posemath.Posemath +
    +
    divide(PM_QUATERNION, double). +Static method in class rcs.posemath.Posemath +
    +
    divide(PM_ROTATION_VECTOR, double). +Static method in class rcs.posemath.Posemath +
    +
    dot(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    dot(PM_CYLINDRICAL, PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    DOUBLE_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    DOUBLECP_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    + +
    +

    + E +

    +
    +
    E_EPSILON. +Static variable in class rcs.posemath.Posemath +
    +
    end. +Variable in class rcs.posemath.PM_LINE +
    +
    end. +Variable in class rcs.posemath.PmLine +
    +
    equals(PmCartesian). +Method in class rcs.posemath.PmCartesian +
    +
    equals(PmCartesian). +Method in class rcs.posemath.PmCylindrical +
    +
    equals(PmCylindrical). +Method in class rcs.posemath.PmCartesian +
    +
    equals(PmCylindrical). +Method in class rcs.posemath.PmCylindrical +
    +
    equals(PmQuaternion). +Method in class rcs.posemath.PmQuaternion +
    +
    equals(PmRotationMatrix). +Method in class rcs.posemath.PmQuaternion +
    +
    equals(PmRotationVector). +Method in class rcs.posemath.PmQuaternion +
    +
    equals(PmSpherical). +Method in class rcs.posemath.PmCartesian +
    +
    equals(PmSpherical). +Method in class rcs.posemath.PmCylindrical +
    +
    + + +
    +

    + G +

    +
    +
    GetErrorString(int). +Static method in class rcs.posemath.PmException +
    +
    + + +
    +

    + I +

    +
    +
    inv(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    inv(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    inv(PM_HOMOGENEOUS). +Static method in class rcs.posemath.Posemath +
    +
    inv(PM_POSE). +Static method in class rcs.posemath.Posemath +
    +
    inv(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    IS_FUZZ(double, double). +Static method in class rcs.posemath.Posemath +
    +
    isNorm(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    isNorm(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    isNorm(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    isNorm(PM_ROTATION_MATRIX). +Static method in class rcs.posemath.Posemath +
    +
    isNorm(PM_ROTATION_VECTOR). +Static method in class rcs.posemath.Posemath +
    +
    + + + + +
    +

    + M +

    +
    +
    mag(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    mag(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    mag(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    main(String[]). +Static method in class rcs.posemath.testpm +
    +
    multiply(double, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    multiply(double, PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    multiply(double, PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    multiply(double, PM_ROTATION_VECTOR). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_CARTESIAN, double). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_CYLINDRICAL, double). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_POSE, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_POSE, PM_POSE). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_QUATERNION, double). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_QUATERNION, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_QUATERNION, PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_ROTATION_MATRIX, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_ROTATION_MATRIX, PM_ROTATION_MATRIX). +Static method in class rcs.posemath.Posemath +
    +
    multiply(PM_ROTATION_VECTOR, double). +Static method in class rcs.posemath.Posemath +
    +
    + +
    +

    + N +

    +
    +
    neg(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    neg(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    norm(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    norm(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    norm(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    norm(PM_ROTATION_VECTOR). +Static method in class rcs.posemath.Posemath +
    +
    normal. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    normal. +Variable in class rcs.posemath.PmCircle +
    +
    + + +
    +

    + P +

    +
    +
    p. +Variable in class rcs.posemath.PmRpy +
    +
    phi. +Variable in class rcs.posemath.PmSpherical +
    +
    PI. +Static variable in class rcs.posemath.Posemath +
    +
    PI_2. +Static variable in class rcs.posemath.Posemath +
    +
    PI_4. +Static variable in class rcs.posemath.Posemath +
    +
    PM_2_PI. +Static variable in class rcs.posemath.Posemath +
    +
    PM_CARTESIAN(). +Constructor for class rcs.posemath.PM_CARTESIAN +
    +
    PM_CARTESIAN(double, double, double). +Constructor for class rcs.posemath.PM_CARTESIAN +
    +
    PM_CARTESIAN(PM_CYLINDRICAL). +Constructor for class rcs.posemath.PM_CARTESIAN +
    +
    PM_CIRCLE(). +Constructor for class rcs.posemath.PM_CIRCLE +
    +
    PM_CYLINDRICAL(). +Constructor for class rcs.posemath.PM_CYLINDRICAL +
    +
    PM_CYLINDRICAL(double, double, double). +Constructor for class rcs.posemath.PM_CYLINDRICAL +
    +
    PM_CYLINDRICAL(PM_CARTESIAN). +Constructor for class rcs.posemath.PM_CYLINDRICAL +
    +
    PM_DIV_ERR. +Static variable in class rcs.posemath.Posemath +
    +
    PM_ERR. +Static variable in class rcs.posemath.Posemath +
    +
    PM_EULER_ZYX(). +Constructor for class rcs.posemath.PM_EULER_ZYX +
    +
    PM_EULER_ZYX(double, double, double). +Constructor for class rcs.posemath.PM_EULER_ZYX +
    +
    PM_EULER_ZYX(PM_ROTATION_VECTOR). +Constructor for class rcs.posemath.PM_EULER_ZYX +
    +
    PM_EULER_ZYZ(). +Constructor for class rcs.posemath.PM_EULER_ZYZ +
    +
    PM_EULER_ZYZ(double, double, double). +Constructor for class rcs.posemath.PM_EULER_ZYZ +
    +
    PM_EULER_ZYZ(PM_ROTATION_VECTOR). +Constructor for class rcs.posemath.PM_EULER_ZYZ +
    +
    PM_HOMOGENEOUS(). +Constructor for class rcs.posemath.PM_HOMOGENEOUS +
    +
    PM_HOMOGENEOUS(PM_CARTESIAN, PM_ROTATION_MATRIX). +Constructor for class rcs.posemath.PM_HOMOGENEOUS +
    +
    PM_IMPL_ERR. +Static variable in class rcs.posemath.Posemath +
    +
    PM_LINE(). +Constructor for class rcs.posemath.PM_LINE +
    +
    PM_NORM_ERR. +Static variable in class rcs.posemath.Posemath +
    +
    PM_PI. +Static variable in class rcs.posemath.Posemath +
    +
    PM_PI_2. +Static variable in class rcs.posemath.Posemath +
    +
    PM_PI_4. +Static variable in class rcs.posemath.Posemath +
    +
    PM_POSE(). +Constructor for class rcs.posemath.PM_POSE +
    +
    PM_POSE(double, double, double, double, double, double, double). +Constructor for class rcs.posemath.PM_POSE +
    +
    PM_POSE(PmCartesian, PmQuaternion). +Constructor for class rcs.posemath.PM_POSE +
    +
    PM_PRINT_ERROR. +Static variable in class rcs.posemath.Posemath +
    +
    PM_QUATERNION(). +Constructor for class rcs.posemath.PM_QUATERNION +
    +
    PM_QUATERNION(double, double, double, double). +Constructor for class rcs.posemath.PM_QUATERNION +
    +
    PM_QUATERNION(PM_ROTATION_VECTOR). +Constructor for class rcs.posemath.PM_QUATERNION +
    +
    PM_ROTATION_MATRIX(). +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
    +
    PM_ROTATION_MATRIX(double, double, double, double, double, double, double, double, double). +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
    +
    PM_ROTATION_MATRIX(PM_ROTATION_VECTOR). +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
    +
    PM_ROTATION_MATRIX(PmCartesian, PmCartesian, PmCartesian). +Constructor for class rcs.posemath.PM_ROTATION_MATRIX +
    +
    PM_ROTATION_VECTOR(). +Constructor for class rcs.posemath.PM_ROTATION_VECTOR +
    +
    PM_ROTATION_VECTOR(double, double, double, double). +Constructor for class rcs.posemath.PM_ROTATION_VECTOR +
    +
    PM_SPHERICAL(). +Constructor for class rcs.posemath.PM_SPHERICAL +
    +
    PM_SPHERICAL(double, double, double). +Constructor for class rcs.posemath.PM_SPHERICAL +
    +
    PM_X. +Static variable in class rcs.posemath.Posemath +
    +
    PM_Y. +Static variable in class rcs.posemath.Posemath +
    +
    PM_Z. +Static variable in class rcs.posemath.Posemath +
    +
    pmAxisAngleQuatConvert(int, double, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartAdd(PmCartesian, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartCompare(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartCross(PmCartesian, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartDisp(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartDot(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartProj(PmCartesian, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCartSub(PmCartesian, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartCylConvert(PmCartesian, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    PmCartesian(). +Constructor for class rcs.posemath.PmCartesian +
    +
    PmCartesian(double, double, double). +Constructor for class rcs.posemath.PmCartesian +
    +
    pmCartInv(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartIsNorm(PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartMag(PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartNeg(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartNorm(PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartPlaneProj(PmCartesian, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartScalDiv(PmCartesian, double, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartScalMult(PmCartesian, double, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCartSphConvert(PmCartesian, PmSpherical). +Static method in class rcs.posemath.Posemath +
    +
    PmCircle(). +Constructor for class rcs.posemath.PmCircle +
    +
    pmCircleInit(PmCircle, PmPose, PmPose, PmCartesian, PmCartesian, int). +Static method in class rcs.posemath.Posemath +
    +
    pmCirclePoint(PmCircle, double, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmClose(double, double, double). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCartConvert(PmCylindrical, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCylAdd(PmCylindrical, PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCylCompare(PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCylCross(PmCylindrical, PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCylDot(PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylCylSub(PmCylindrical, PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylInv(PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylIsNorm(PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylMag(PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylNeg(PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylNorm(PmCylindrical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylScalDiv(PmCylindrical, double, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylScalMult(PmCylindrical, double, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    pmCylSphConvert(PmCylindrical, PmSpherical). +Static method in class rcs.posemath.Posemath +
    +
    pmErrno. +Variable in class rcs.posemath.PmException +
    +
    pmErrno. +Static variable in class rcs.posemath.Posemath +
    +
    PmEulerZyx(). +Constructor for class rcs.posemath.PmEulerZyx +
    +
    PmEulerZyx(double, double, double). +Constructor for class rcs.posemath.PmEulerZyx +
    +
    PmEulerZyz(). +Constructor for class rcs.posemath.PmEulerZyz +
    +
    PmEulerZyz(double, double, double). +Constructor for class rcs.posemath.PmEulerZyz +
    +
    PmException(int, String). +Constructor for class rcs.posemath.PmException +
    +
    pmHomInv(PmHomogeneous, PmHomogeneous). +Static method in class rcs.posemath.Posemath +
    +
    PmHomogeneous(). +Constructor for class rcs.posemath.PmHomogeneous +
    +
    PmHomogeneous(PmCartesian, PmRotationMatrix). +Constructor for class rcs.posemath.PmHomogeneous +
    +
    pmHomPoseConvert(PmHomogeneous, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    PmLine(). +Constructor for class rcs.posemath.PmLine +
    +
    pmLineInit(PmLine, PmPose, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmLinePoint(PmLine, double, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmMatCartMult(PmRotationMatrix, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmMatInv(PmRotationMatrix, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmMatIsNorm(PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmMatMatMult(PmRotationMatrix, PmRotationMatrix, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmMatNorm(PmRotationMatrix, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmMatQuatConvert(PmRotationMatrix, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmMatRotConvert(PmRotationMatrix, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmMatRpyConvert(PmRotationMatrix, PmRpy). +Static method in class rcs.posemath.Posemath +
    +
    pmMatZyxConvert(PmRotationMatrix, PmEulerZyx). +Static method in class rcs.posemath.Posemath +
    +
    pmMatZyzConvert(PmRotationMatrix, PmEulerZyz). +Static method in class rcs.posemath.Posemath +
    +
    PmPose(). +Constructor for class rcs.posemath.PmPose +
    +
    PmPose(double, double, double, double, double, double, double). +Constructor for class rcs.posemath.PmPose +
    +
    PmPose(PmCartesian, PmQuaternion). +Constructor for class rcs.posemath.PmPose +
    +
    pmPoseCartMult(PmPose, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmPoseHomConvert(PmPose, PmHomogeneous). +Static method in class rcs.posemath.Posemath +
    +
    pmPoseInv(PmPose, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmPosePoseCompare(PmPose, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmPosePoseMult(PmPose, PmPose, PmPose). +Static method in class rcs.posemath.Posemath +
    +
    pmPrintError(String, int). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatAxisAngleMult(PmQuaternion, int, double). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatAxisAngleMult(PmQuaternion, int, double, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatCartMult(PmQuaternion, PmCartesian, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    PmQuaternion(). +Constructor for class rcs.posemath.PmQuaternion +
    +
    PmQuaternion(double, double, double, double). +Constructor for class rcs.posemath.PmQuaternion +
    +
    pmQuatInv(PmQuaternion, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatIsNorm(PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatMag(PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatMatConvert(PmQuaternion, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatNorm(PmQuaternion, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatQuatCompare(PmQuaternion, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatQuatMult(PmQuaternion, PmQuaternion, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatRotConvert(PmQuaternion, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatRpyConvert(PmQuaternion, PmRpy). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatScalDiv(PmQuaternion, double, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatScalMult(PmQuaternion, double, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatZyxConvert(PmQuaternion, PmEulerZyx). +Static method in class rcs.posemath.Posemath +
    +
    pmQuatZyzConvert(PmQuaternion, PmEulerZyz). +Static method in class rcs.posemath.Posemath +
    +
    PmRotationMatrix(). +Constructor for class rcs.posemath.PmRotationMatrix +
    +
    PmRotationMatrix(). +Method in class rcs.posemath.PmRotationMatrix +
    +
    PmRotationMatrix(double, double, double, double, double, double, double, double, double). +Constructor for class rcs.posemath.PmRotationMatrix +
    +
    PmRotationMatrix(PmCartesian, PmCartesian, PmCartesian). +Constructor for class rcs.posemath.PmRotationMatrix +
    +
    PmRotationVector(). +Constructor for class rcs.posemath.PmRotationVector +
    +
    PmRotationVector(double, double, double, double). +Constructor for class rcs.posemath.PmRotationVector +
    +
    pmRotIsNorm(PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmRotMatConvert(PmRotationVector, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmRotNorm(PmRotationVector, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmRotQuatConvert(PmRotationVector, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmRotRpyConvert(PmRotationVector, PmRpy). +Static method in class rcs.posemath.Posemath +
    +
    pmRotScalDiv(PmRotationVector, double, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmRotScalMult(PmRotationVector, double, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmRotZyxConvert(PmRotationVector, PmEulerZyx). +Static method in class rcs.posemath.Posemath +
    +
    pmRotZyzConvert(PmRotationVector, PmEulerZyz). +Static method in class rcs.posemath.Posemath +
    +
    pmRpyMatConvert(PmRpy, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmRpyQuatConvert(PmRpy, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmRpyRotConvert(PmRpy, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmRpyZyxConvert(PmRpy, PmEulerZyx). +Static method in class rcs.posemath.Posemath +
    +
    pmRpyZyzConvert(PmRpy, PmEulerZyz). +Static method in class rcs.posemath.Posemath +
    +
    pmSphCartConvert(PmSpherical, PmCartesian). +Static method in class rcs.posemath.Posemath +
    +
    pmSphCylConvert(PmSpherical, PmCylindrical). +Static method in class rcs.posemath.Posemath +
    +
    PmSpherical(). +Constructor for class rcs.posemath.PmSpherical +
    +
    PmSpherical(double, double, double). +Constructor for class rcs.posemath.PmSpherical +
    +
    pmSq(double). +Static method in class rcs.posemath.Posemath +
    +
    pmSqrt(double). +Static method in class rcs.posemath.Posemath +
    +
    pmZyxMatConvert(PmEulerZyx, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmZyxQuatConvert(PmEulerZyx, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmZyxRotConvert(PmEulerZyx, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmZyxRpyConvert(PmEulerZyx, PmRpy). +Static method in class rcs.posemath.Posemath +
    +
    pmZyxZyzConvert(PmEulerZyx, PmEulerZyz). +Static method in class rcs.posemath.Posemath +
    +
    pmZyzMatConvert(PmEulerZyz, PmRotationMatrix). +Static method in class rcs.posemath.Posemath +
    +
    pmZyzQuatConvert(PmEulerZyz, PmQuaternion). +Static method in class rcs.posemath.Posemath +
    +
    pmZyzRotConvert(PmEulerZyz, PmRotationVector). +Static method in class rcs.posemath.Posemath +
    +
    pmZyzRpyConvert(PmEulerZyz, PmRpy). +Static method in class rcs.posemath.Posemath +
    +
    Posemath(). +Constructor for class rcs.posemath.Posemath +
    +
    proj(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    + +
    +

    + Q +

    +
    +
    Q_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    QS_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    QSIN_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    + +
    +

    + R +

    +
    +
    r. +Variable in class rcs.posemath.PmCylindrical +
    +
    r. +Variable in class rcs.posemath.PmRpy +
    +
    r. +Variable in class rcs.posemath.PmSpherical +
    +
    radius. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    radius. +Variable in class rcs.posemath.PmCircle +
    +
    rHelix. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    rHelix. +Variable in class rcs.posemath.PmCircle +
    +
    rot. +Variable in class rcs.posemath.PmHomogeneous +
    +
    rot. +Variable in class rcs.posemath.PmPose +
    +
    rPerp. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    rPerp. +Variable in class rcs.posemath.PmCircle +
    +
    RPY_P_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    RS_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    rTan. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    rTan. +Variable in class rcs.posemath.PmCircle +
    +
    + +
    +

    + S +

    +
    +
    s. +Variable in class rcs.posemath.PmQuaternion +
    +
    s. +Variable in class rcs.posemath.PmRotationVector +
    +
    SINGULAR_EPSILON. +Static variable in class rcs.posemath.Posemath +
    +
    spiral. +Variable in class rcs.posemath.PM_CIRCLE +
    +
    spiral. +Variable in class rcs.posemath.PmCircle +
    +
    SQRT_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    start. +Variable in class rcs.posemath.PM_LINE +
    +
    start. +Variable in class rcs.posemath.PmLine +
    +
    subtract(PM_CARTESIAN, PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    subtract(PM_CYLINDRICAL, PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    + +
    +

    + T +

    +
    +
    testAssert(boolean). +Static method in class rcs.posemath.testpm +
    +
    testAssert(boolean, String). +Static method in class rcs.posemath.testpm +
    +
    testpm(). +Constructor for class rcs.posemath.testpm +
    +
    theta. +Variable in class rcs.posemath.PmCylindrical +
    +
    theta. +Variable in class rcs.posemath.PmSpherical +
    +
    toCart(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    toCart(PM_SPHERICAL). +Static method in class rcs.posemath.Posemath +
    +
    toCyl(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    toCyl(PM_SPHERICAL). +Static method in class rcs.posemath.Posemath +
    +
    toHom(PM_POSE). +Static method in class rcs.posemath.Posemath +
    +
    toMat(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    toMat(PM_ROTATION_VECTOR). +Static method in class rcs.posemath.Posemath +
    +
    toQuat(PM_EULER_ZYX). +Static method in class rcs.posemath.Posemath +
    +
    toQuat(PM_EULER_ZYZ). +Static method in class rcs.posemath.Posemath +
    +
    toQuat(PM_ROTATION_MATRIX). +Static method in class rcs.posemath.Posemath +
    +
    toQuat(PM_ROTATION_VECTOR). +Static method in class rcs.posemath.Posemath +
    +
    toQuat(PM_RPY). +Static method in class rcs.posemath.Posemath +
    +
    toRot(PM_QUATERNION). +Static method in class rcs.posemath.Posemath +
    +
    toSph(PM_CARTESIAN). +Static method in class rcs.posemath.Posemath +
    +
    toSph(PM_CYLINDRICAL). +Static method in class rcs.posemath.Posemath +
    +
    toString(). +Method in class rcs.posemath.PmCartesian +
    +
    toString(). +Method in class rcs.posemath.PmCylindrical +
    +
    toString(). +Method in class rcs.posemath.PmPose +
    +
    toString(). +Method in class rcs.posemath.PmQuaternion +
    +
    toString(). +Method in class rcs.posemath.PmRotationMatrix +
    +
    tran. +Variable in class rcs.posemath.PmHomogeneous +
    +
    tran. +Variable in class rcs.posemath.PmPose +
    +
    + +
    +

    + U +

    +
    +
    UNIT_QUAT_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    UNIT_SC_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    UNIT_VEC_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_CARTESIAN +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_CIRCLE +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_CYLINDRICAL +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_EULER_ZYX +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_EULER_ZYZ +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_HOMOGENEOUS +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_LINE +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_POSE +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_QUATERNION +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_ROTATION_MATRIX +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_ROTATION_VECTOR +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_RPY +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PM_SPHERICAL +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmCartesian +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmCircle +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmCylindrical +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmEulerZyx +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmEulerZyz +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmHomogeneous +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmLine +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmPose +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmQuaternion +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmRotationMatrix +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmRotationVector +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmRpy +
    +
    update(NMLFormatConverter). +Method in class rcs.posemath.PmSpherical +
    +
    uVec. +Variable in class rcs.posemath.PM_LINE +
    +
    uVec. +Variable in class rcs.posemath.PmLine +
    +
    + +
    +

    + V +

    +
    +
    V_FUZZ. +Static variable in class rcs.posemath.Posemath +
    +
    + + +
    +

    + X +

    +
    +
    x. +Variable in class rcs.posemath.PmCartesian +
    +
    x. +Variable in class rcs.posemath.PmEulerZyx +
    +
    x. +Variable in class rcs.posemath.PmQuaternion +
    +
    x. +Variable in class rcs.posemath.PmRotationMatrix +
    +
    x. +Variable in class rcs.posemath.PmRotationVector +
    +
    + +
    +

    + Y +

    +
    +
    y. +Variable in class rcs.posemath.PmCartesian +
    +
    y. +Variable in class rcs.posemath.PmEulerZyx +
    +
    y. +Variable in class rcs.posemath.PmEulerZyz +
    +
    y. +Variable in class rcs.posemath.PmQuaternion +
    +
    y. +Variable in class rcs.posemath.PmRotationMatrix +
    +
    y. +Variable in class rcs.posemath.PmRotationVector +
    +
    y. +Variable in class rcs.posemath.PmRpy +
    +
    + + diff --git a/doc/posemathdoc/PoseMathCpp.htm b/doc/posemathdoc/PoseMathCpp.htm new file mode 100644 index 0000000..47810d9 --- /dev/null +++ b/doc/posemathdoc/PoseMathCpp.htm @@ -0,0 +1,417 @@ + + + + +PM: Pose Mathematics for Path Planning + + + +

    POSEMATH

    +

    Pose Mathematics

    +

    for Path Planning

    +

    POSEMATH: Pose Mathematics for Path Planning

    + +

    Code Organization

    +

    Naming Conventions

    +

    Usage

    +

    Units

    +

    Translational Representations

    +

    Rotational Representations

    +

    Combined Representations

    +

    Functions and Operators

    +

    Translational Functions

    +

    Rotational Functions

    +

    Combined Functions

    +

    Automatic Conversions in C++

    + + +

    Appendix B: Programming Reference

    +

    + +

    Karl Murphy's Posemath Examples

    +

    +

    +

    POSEMATH: Pose Mathematics for Path Planning

    +

    POSEMATH is a library of software for representing and manipulating locations in three-dimensional space. POSEMATH can be used by either C or C++ programmers to define coordinate systems and the position and orientation of frames within coordinate systems, and to manipulate these frames to plan manipulator paths.

    +

    Code Organization

    +

    The POSEMATH software consists of three modules: the pose math code proper, support for printed output and diagnostics, and a sine-cosine utility which enables using the single-instruction sine and cosine on some platforms for efficiency. Each module consists of a code (.c) and header (.h) file. The code is written so that it will compile in both the C and C++ languages, using the ANSI C++ built-in compiler symbol __cplusplus for selection. Debug output can be enabled with the PM_DEBUG symbol. Defining this as a compiler switch will enable diagnostic printing messages when errors are encountered. Leaving it undefined will disable diagnostic printing messages.

    +

    The code is compiled into four separate libraries, for C or C++, and with debug output enabled or disabled. Here are the details:

    +

    +
    + +

    _posemath.c C implementation of pose math functions

    +

    posemath.cc C++ implementation of pose math functions

    +

    posemath.h Declarations for pose math code, for C and C++

    +

    _mathprnt.c Printed output code, for C

    +

    mathprnt.cc Printed output code, for C++

    +

    mathprnt.h Declarations for printed output code, for C and C++

    +

    sincos.c C implementation of processor-specific single-instruction sine and cosine functions

    +

    sincos.h Declarations for single-instruction sine and cosine, for C and C++

    +

    +

    For Unix and related operating systems, compiled libraries are:

    +

    +

    libpm.a All code compiled for C or C++ linkage, no diagnostics

    +

    libpmdb.a All code compiled for C or C++ linkage, diagnostics included (PM_PRINT_ERROR defined)

    +

    +

    For Microsoft Windows and related operating systems, compiled libraries are:

    +

    +

    libpm.a All code compiled for C or C++ static linkage, no diagnostics

    +

    pm.dll All code compiled for C or C++ dynamic linkage, no diagnostics

    +

    + + + + + + + + +

    Note that there is no diagnostics support for Microsoft Windows applications, as there is no traditional console available for these messages.

    +

    Programmers need only include posemath.h in their code to use the basic POSEMATH library. If printed output is desired, programmers should include mathprnt.h. This file declares the C++ iostream operators for output, and the C counterparts to the printf() functions.

    +

    Naming Conventions

    +

    C data types in POSEMATH are prefixed with Pm, and follow the case-change convention where the subsequent words in the descriptive name are concatenated with leading capitals, e.g., PmRotationVector. C++ data types are prefixed with PM_ , and are all capital letters with perhaps some additional underscores, e.g., PM_ROTATION_VECTOR. In C, they are declared as structure types with typedef struct. In C++, they are declared as classes. C functions begin with pm, and are followed by the POSEMATH C abbreviations for each type. For example,

    +

    +

    PmCartesian the C Cartesian data type

    +

    PM_CARTESIAN the C++ Cartesian data type

    +

    pmCartCartCross() C function for cross product of two PmCartesian types

    +

    +

    C++ versions of the C functions are implemented using operator overloading as much as possible. Where functions are required or more intuitive, these are implemented as overloaded functions and hence do not require a unique prefix. For example,

    +

    +

    norm() C++ normalization function for all C++ types

    +

    isNorm() C++ normalization predicate for all C++ types

    +

     

    +

    Usage

    +

    POSEMATH is based in C, with C++ added to make coding easier and more intuitive. Functions that result in a data type take pointers to the result as their last argument, and return an integer error code. For example, the function that computes the cross product of two Cartesian vectors is declared as

    +

    +

    int pmCartCartCross(PmCartesian v1, PmCartesian v2, PmCartesian * vout);

    +

    +

    C programmers must supply a pointer to existing storage for a PmCartesian for the result of the cross product of v1 and v2.

    +

    For some functions, such as the predicate pmCartCartCompare, the return value is the only result, and no pointer to results need be passed.

    +

    For C++, additional syntactic interfaces make programs easier to read. This is accomplished through overloading of functions and operators. For example, the multiplication operator * is overloaded to take a scalar and a Cartesian vector, and results in a scaled Cartesian vector. In C, this looks like:

    +

    +

    PmCartesian a, b;

    +

    double s;

    +

    int error;

    +

    +

    error = pmCartScalMult(a, s, &b);

    +

    +

    The error code can be checked to see if the result is valid (although in this case scalar-vector multiplies are always valid). In C++, the code looks like:

    +

    +

    PM_CARTESIAN a, b;

    +

    double s;

    +

    +

    b = a * s;

    +

    +

    which is much more intuitive. However, since the return value is the vector itself, the programmer cannot check the result for validity as before. POSEMATH provides a global integer variable, pmErrno, which is set to 0 when the result of a function or operation is valid, and to a non-zero error code if the function or operation is invalid. C++ programmers using the compact operator syntax should check pmErrno in place of the integer return code in the corresponding function.

    +

    The integer return code from the C functions and pmErrno are identical, and are declared in the header file posemath.h. These codes include:

    +

    +

    PM_ERR unspecified error

    +

    PM_IMPL_ERR function not implemented

    +

    PM_NORM_ERR argument should have been normalized

    +

    PM_DIV_ERR divide by zero attempted

    +

    +

    The use of a global variable pmErrno means that the C++ code is not thread-safe or reentrant. If this is a requirement, then the C functions must be used. This does not mean that the C language needs to be used: the C functions can be called from C++ code, but the programmer loses the syntactic compactness resulting from function- and operator overloading.

    +

    Units

    +

    Units are immaterial for translation quantities, and are assumed to be radians for angular quantities.

    +

    Translational Representations

    +

    In our three-dimensional universe, the location of a point in space is uniquely determined by three numbers. These numbers usually represent the coordinates of the point in each of three perpendicular axes, relative to some known origin. The numbers can be thought of as the distance along each axis that the point traversed (or translated) as it moved from the origin to its location.

    +

    Translation is often referred to as position. Common translational representations include Cartesian coordinates (X, Y, and Z) and spherical coordinates (azimuth, altitude, and range).

    +

    POSEMATH supports three translational representations: Cartesian, cylindrical, and spherical. These are defined as:

    +

    +
    +
    + + + + + + + + + +
    +C struct + +C++ class + +fields + +C abbreviation +
    PmCartesianPM_CARTESIANx, y, zCart
    PmCylindricalPM_CYLINDRICALtheta, r, zCyl
    PmSphericalPM_SPHERICALtheta, phi, rSph
    +
    +

    + +

    Fields are of type double. Values for the fields of each type are unconstrained. For example, the values for the angular fields is not required to lie in the range 0 to 2π, or -π to π. However, if these types are returned or result from calculations, they may be normalized to lie within the range [0, 2π) using the rotational equivalence that 0 equals 2π, π equals 3π, etc.

    +

    All translational representations are equivalent, in the sense that a location in space expressed in one representation can be converted to any of the other representations. The numbers will in general be different, but the location they represent is the same. POSEMATH provides functions to convert between these representations. Using the POSEMATH naming conventions, these function declarations are:

    +

    +

    int pmCartCylConvert(PmCartesian, PmCylindrical *);

    +

    int pmCartSphConvert(PmCartesian, PmSpherical *);

    +

    int pmCylCartConvert(PmCylindrical, PmCartesian *);

    +

    int pmCylSphConvert(PmCylindrical, PmSpherical *);

    +

    int pmSphCartConvert(PmSpherical, PmCartesian *);

    +

    int pmSphCylConvert(PmSpherical, PmCylindrical *);

    +

    +

    The first argument is the type to be converted from. The second argument is a pointer to the object to be converted to. The integer return value is 0 if successful, PM_NORM_ERR if unsuccessful, or PM_IMPL_ERR if unimplemented. For example, converting from a PmCartesian v to a PmSpherical s looks like:

    +

    +

    pmCartCylConvert(v, &s);

    +

    +

    For C++ programmers, converting between types can be done using the = operator, which has been overloaded to call these functions. Extending the above example, converting from a Cartesian to spherical coordinate representation in C++ looks like:

    +

    +

    s = v;

    +

    +

    Since the return value of the = operator is the converted type, the programmer should check the value of pmErrno for proper conversion if desired.

    +

    Rotational Representations

    +

    In addition to a location in space, an object has an orientation. Like location, orientation requires three numbers to be uniquely specified. The numbers can be thought of as the angles that the object is inclined to with respect to some reference planes.

    +

    Rotational representations often use more than three numbers to specify orientation. This may be to make the representation more intuitive, or for computational efficiency.

    +

    POSEMATH supports six rotational representations: rotation vectors, rotation matrices, quaternions, ZYZ Euler angles, ZYX Euler angles, and roll-pitch-yaw. These are defined as:

    +

    +
    +
    + + +
    + + + + + + + + + + + + +
    +C struct + +C++ class + +fields + +C abbreviation +
    PmRotationVectorPM_ROTATION_VECTORs, x, y, zRot
    PmRotationMatrixPM_ROTATION_MATRIXPmCartesian x, y, zMat
    PmQuaternionPM_QUATERNIONs, x, y, zQuat
    PmEulerZyzPM_EULER_ZYZz, y, zpZyz
    PmEulerZyxPM_EULER_ZYXz, y, xZyx
    PmRpyPM_RPYr, p, yRpy
    +
    +

    + +

    Fields are of type double, except for a PmRotationMatrix, whose fields are of type PmCartesian. Values for the fields of each type may be constrained. For example, each PmCartesian element of a PmRotationMatrix must have a magnitude of 1.0 (each must be a unit vector), and they must be mutually perpendicular. Normalization functions are provided which take any of these rotational types as their first argument, a pointer to the same rotational type as their second argument, and place the normalization of the first into the second. PM_NORM_ERR is returned if the normalization could not take place. This will occur if the first argument is entirely 0. For example, normalizing a PmQuaternion q looks like:

    +

    +

    PmQuaternion q;

    +

    +

    pmQuatNorm(q, &q);

    +

    +

    C++ programmers can use the overloaded function norm() to accomplish the same thing in a cleaner way:

    +

    +

    PM_QUATERNION q;

    +

    +

    q = norm(q);

    +

    +

    Since the error code is not returned directly, C++ programmer should check pmErrno to make sure the conversion was successful.

    +

    All rotational representations are equivalent, in the sense that a rotation in space expressed in one representation can be converted to any of the other representations. The numbers will in general be different, but the rotation they represent is the same. POSEMATH provides functions to convert between these representations. Using the POSEMATH naming conventions, these function declarations are:

    +

    +

    int pmRotMatConvert(PmRotationVector, PmRotationMatrix *);

    +

    int pmQuatZyzConvert(PmQuaternion, PmEulerZyz *);

    +

    int pmZyxRpyConvert(PmEulerZyz, PmRpy *);

    +

    +

    (Not all of the functions are listed). The first argument is the type to be converted from. The second argument is a pointer to the object to be converted to. The integer return value is 0 if successful, PM_NORM_ERR if unsuccessful, or PM_IMPL_ERR if the function is unimplemented. For example, converting from a PmQuaternion q to a PmRotationMatrix m looks like:

    +

    +

    pmQuatMatConvert(q, &m);

    +

    +

    For C++ programmers, converting between types can be done using the = operator, which has been overloaded to call these functions. Extending the above example, converting from a PM_QUATERNION q to a PM_ROTATION_MATRIX m in C++ looks like:

    +

    +

    m = q;

    +

    +

    Since the return value of the = operator is the converted type, the programmer should check the value of pmErrno for proper conversion if desired.

    +

    Axis-Angle Representations

    +

    Another rotational type, the axis-angle, is provided for representing rotations about one of the principal Cartesian axes by a given angle. This type, PmAxis, is the same for both C and C++ and may take the values PM_X, PM_Y, and PM_Z only, which represent rotations about the X, Y, and Z Cartesian axes, respectively. These functions are provided:

    +

    +

    int pmAxisAngleQuatConvert(PmAxis, double, PmQuaternion *);

    +

    int pmQuatAxisAngleMult(PmQuaternion, PmAxis,

    +

    double, PmQuaternion *);

    +

    +

    The first converts a rotation about the given axis by the given angle to a quaternion. The second computes the rotation resulting from an initial quaterion in the base frame, then a rotation by the given axis-angle in the quaternion frame.

    +

    Combined Representations

    +

    The complete representation of an objectÆs location and orientation in space requires both translational and rotational representations. Of the many combinations of translational and rotational types possible, the two most common have been defined. These are the homogeneous transform and the pose.

    +

    The homogeneous transform uses a Cartesian translation representation and a rotation matrix for rotation. The pose uses a Cartesian translation representation and a quaternion. These are defined as:

    +

    +
    +
    + + +
    + + + + + + + + +
    +C struct + +C++ class + +fields + +C abbreviation +
    PmHomogeneousPM_HOMOGENEOUSPmCartesian tran, PmRotationMatrix rotHom
    PmPosePM_POSEPmCartesian tran,PmQuaternion rotPose
    +
    +

    + +

    Since these combined representations include elements which require normalization, normalization functions are provided which take any of these combined types as their first argument, a pointer to the same combined type as their second argument, and place the normalization of the first into the second. PM_NORM_ERR is returned if the normalization could not take place. For example, normalizing a PmPose p looks like:

    +

    +

    pmPoseNorm(p, &p);

    +

    +

    C++ programmers can use the overloaded function norm() to accomplish the same thing in a cleaner way:

    +

    +

    PM_POSE p;

    +

    +

    p = norm(p);

    +

    +

    Since the error code is not returned directly, C++ programmer should check pmErrno to make sure the conversion was successful.

    +

    All combined representations are equivalent, in the sense that a position and orientation in space expressed in one representation can be converted to any of the other representations. The numbers will in general be different, but the position and orientation they represent is the same. POSEMATH provides functions to convert between these representations. Using the POSEMATH naming conventions, these function declarations are:

    +

    +

    int pmPoseHomConvert(PmPose, PmHomogeneous *);

    +

    int pmHomPoseConvert(PmHomogeneous, PmPose *);

    +

    +

    The first argument is the type to be converted from. The second argument is a pointer to the object to be converted to. The integer return value is 0 if successful, PM_NORM_ERR if unsuccessful, or PM_IMPL_ERR if the function is unimplemented. For example, converting from a PmPose p to a PmHomogeneous h looks like:

    +

    +

    pmPoseHomConvert(p, &h);

    +

    +

    For C++ programmers, converting between types can be done using the = operator, which has been overloaded to call these functions. Extending the above example, converting from a PM_POSE p to a PM_HOMOGENEOUS h in C++ looks like:

    +

    +

    h = p;

    +

    +

    Since the return value of the = operator is the converted type, the programmer should check the value of pmErrno for proper conversion if desired.

    +

    Functions and Operators

    +

    Mathematical operations for translational and rotational types are provided to carry out calculations typical of manipulator path planning in three-space. In general, functions that work on a particular representation will also work on other equivalent representations.

    +

    Detailed descriptions of each function are found in Appendix B.

    +

    Translational Functions

    +

    The translational data representations are used to represent position vectors, and all the typical vector operations have been provided. These include comparison, the dot product, cross product, norm (unit vector), magnitude, sum, difference, magnitude of difference (displacement), scalar multiply and divide, and generalized inverse.

    +

    For C functions that take two arguments, the arguments must be the same type. For C++ overloaded functions or operators that take two arguments, they may be of different type. In this case, the constructors are called to do the conversions automatically.

    +

    Return values for all the C functions are integer error codes, with the exception of the predicate functions which return 1 if it is true or 0 if not.

    +

    Return values for all the C++ functions are the result that corresponds to the last argument of the C functions. The global variable pmErrno should be checked to see if the function was successful.

    +

    Following the POSEMATH naming conventions, these functions are prefixed with pm, the abbreviated names of their arguments, and the operation. In the table below, X indicates any of the translation types (PmCartesian, PmCylindrical, or PmSpherical), and s indicates a scalar double type.

    +

    +
    +
    + + + + + + + + + + + + + + + + + + +

    function

    C versionC++ version
    equality predicatepmXXCompare(X,X)==, !=
    type conversionpmXXConvert(X,X)=
    dot productpmXXDot(X,X,X*)dot(X,X)
    cross productpmXXCross(X,X,X*)cross(X,X)
    magnitudepmXMag(X,s*)mag(X)
    normalization (unit)pmXNorm(X,X*)norm(X)
    norm predicatepmXIsNorm(X)isNorm(X)
    displacementpmXXDisp(X,X,s*)disp(X,X)
    sumpmXXAdd(X,X,X*)X+X
    differencepmXXSub(X,X,X*)X-X
    scalar multiplypmXScalMult(X,s,X*)X*s, s*X
    scalar dividepmXScalDiv(X,s,X*)X/s
    additive inversepmXNeg(X,X*)-X
    inverse (X dot X-1 = 1)pmXInv(X,X*)inv(X)
    projectionpmXXProj(X,X,X*)proj(X,X)
    +
    +

     

    +
    +

    Rotational Functions

    + +

    The rotational data representations are used to represent rotations in space of one reference frame relative to another. Functions that operate on these rotational types and combinations of translational and rotational types include comparison, normalization into valid range, checking for normal range, inverse, multiplication by a scalar (scaling the rotation about the constant direction), vector multiply (resulting in a rotation of the vector), and rotational multiply (concatenation of several rotations).

    +

    For C functions that take two arguments, the arguments must be the same type. For C++ overloaded functions or operators that take two arguments, they may be of different type. In this case, the constructors are called to do the conversions automatically.

    +

    Return values for all the C functions are integer error codes, with the exception of the predicate functions which return 1 if it is true or 0 if not.

    +

    Return values for all the C++ functions are the result that corresponds to the last argument of the C functions. The global variable pmErrno should be checked to see if the function was successful.

    +

    Following the POSEMATH naming conventions, these functions are prefixed with pm, the abbreviated names of their arguments, and the operation. In the table below, R indicates any of the rotation types (PmRotationVector, PmRotationMatrix, PmQuaternion, PmEulerZyz, PmEulerZyx, or PmRpy), X indicates any of the translation types (PmCartesian, PmCylindrical, or PmSpherical), and s indicates a scalar double type.

    +

    +
    +
    + + + + + + + + + + + + + +

    function

    C versionC++ version
    equality predicatepmRRCompare(R,R)==, !=
    type conversionpmRRConvert(R,R)=
    magnitudepmRMag(R,s*)mag(R)
    normalizationpmRNorm(R,R*)norm(R)
    norm predicatepmRIsNorm(R)isNorm(R)
    scalar multiplypmRScalMult(R,s,R*)R*s, s*R
    scalar dividepmRScalDiv(R,s,R*)R/s
    vector multiplypmRXMult(R,X,X*)R*X, X*R
    rotation multiplypmRRMult(R,R,R*)R*R
    inversepmRInv(R,R*)inv(R), -R
    +
    +

     

    +
    + +

    Combined Functions

    + +

    The combined representations are used to represent the position and orientation in space of one reference frame relative to another. In POSEMATH, the position and orientation of a reference frame is termed a pose. Although the PmPose type appears to have some preference as a pose representation, both PmPose and PmHomogeneous are pose types. Poses contain both translational and rotational representations. Functions which operate on poses manipulate individual poses, and convert vectors or poses in one reference frame into another. These functions include comparison, normalization into valid range, checking for normal range, inverse, and multiplications between poses and translations, rotations, and other poses.

    +

    For C functions which take two arguments, the arguments must be the same type. For C++ overloaded functions or operators which take two arguments, they may be of different type. In this case, the constructors are called to do the conversions automatically.

    +

    Return values for all the C functions are integer error codes, with the exception of the predicate functions which return 1 if it is true or 0 if not.

    +

    Return values for all the C++ functions are the result that corresponds to the last argument of the C functions. The global variable pmErrno should be checked to see if the function was successful.

    +

    Following the POSEMATH naming conventions, these functions are prefixed with pm, the abbreviated names of their arguments, and the operation. In the table below, R indicates any of the translation types (PmCartesian, PmCylindrical, or PmSpherical), X indicates any of the translation types (PmCartesian, PmCylindrical, or PmSpherical), and s indicates a scalar double type.

    +

    +
    +
    + + + + + + + + + +

    function

    C versionC++ version
    equality predicatepmPPCompare(P,P)==, !=
    normalizationpmPNorm(P,P*)norm(P)
    norm predicatepmPIsNorm(R)isNorm(P)
    inversepmPInv(P,P*)inv(P), -P
    vector multiplypmPVMult(R,X,X*)R*X, X*R
    rotation multiplypmRRMult(R,R,R*)R*R
    +
    +

     

    +

    Automatic Conversions in C++

    +

    As of this writing, not all of the C conversion functions have been implemented. C programmers should check Appendix B for functions that they intend to use. Some functions whose existence is implied may be stubbed to return PM_IMPL_ERR, or not exist at all. This apparent laziness is due to the combinatorics of the conversion functions, particularly among the rotational types.

    +

    For example, there is no C function pmZyzRpyConvert which converts a PmEulerZyz to a PmRpy. The function may not exist, in which case the compiler will flag calls to it, or it may be stubbed to return PM_IMPL_ERR, in which case a run-time error will occur. Ultimately, all the C functions will be implemented in some fashion, but currently they are not. In this case, the C programmer must convert the ZYZ Euler to a rotation matrix, and from a rotation matrix to a roll-pitch-yaw representation, as shown below for the PmEulerZyz zyz and PmRpy rpy:

    +

    +

    PmRotationMatrix mat;

    +

    pmZyzMatConvert(zyz, &mat);

    +

    pmMatRpyConvert(mat, &rpy);

    +

    +

    C++ programmers are luckier. Each data representation class has constructors and assignment operators which initialize or assign its representation from any other representation. This may have been accomplished directly, if equivalent C conversion functions exist, or via conversion to some intermediate type. C++ programmers can use the = operator directly:

    +

    +

    rpy = zyz;

    +

    +

    In this case, the POSEMATH implementation for PM_RPY::operator = (PM_EULER_ZYZ) does the conversion to the intermediate rotation matrix format and out again automatically.

    +

    +

    Appendix B: Programming Reference

    +

    C functions are intended be used by C programmers, since the arguments are of the C types. C++ programmers should use the C++ overloaded operators and functions.

    +

    C++ programmers can use the C functions by explicitly converting the C++ types to C types, and back again. toType(src, dst) macros have been provided to accomplish this, where Type is the C abbrevation (e.g., Cart, Cyl, Pose), src is the source to be converted, and dst is the result. These exploit the fact that the fields for both the C and C++ data types have the same names.

    +

    Unless indicated otherwise, all functions return an integer error code, which is 0 upon success or one of the error codes defined in posemath.h. This error code is also written to the global variable pmErrno.

    +

    There is a bias in the POSEMATH implementation toward using PmCartesian for translation types, PmQuaternion for rotational types, and PmPose for pose types. This is primarily due to the computational efficiency of the quaternion, meaning that programs that use quaternion representations will execute faster than programs using, for example, rotation matrices or Euler angles. In the descriptions of the functions that follow, any translational type can be substituted for PmCartesian, any rotational type can be substituted for PmQuaternion, and any pose type can be substituted for PmPose.

    +

    +

    pmQuatCartMult(PmQuaternion q, PmCartesian v, PmCartesian * vout);

    +

    + +

    Sets vout to the vector resulting from a rotation of v specified by q. Corresponds to C++ operator *, q * v. Operator * is not commutative.

    +

    + +

    pmQuatQuatMult(PmQuaternion q1, PmQuaternion q2, PmCartesian * qout);

    +

    + +

    Sets qout to the quaternion representing a rotation first by q2 in the base frame, then by q1 in the q2 frame. Corresponds to C++ operator *, which is not commutative: q1*q2 ¹ + q2*q1, in general.

    +

    + +

    pmPoseCartMult(PmPose p, PmCartesian v, PmCartesian vout);

    +

    + +

    Sets vout to the vector representing a transformation by the pose p. Corresponds to C++ operator *, p * v. Operator * is not commutative (in fact, v * p yields p whose translation is added by v).

    +

    + +

    pmPosePoseMult(PmPose p1, PmPose p2, PmPose pout);

    +

    + +

    Sets pout to the pose representating a transformation first by p1 in the base frame, then by p2 in the p1 frame. Corresponds to C++ operator *, which is not commutative: p1*p2 ¹ + p2*p1, in general.

    +

    + + diff --git a/doc/posemathdoc/index.html b/doc/posemathdoc/index.html new file mode 100644 index 0000000..fdef29f --- /dev/null +++ b/doc/posemathdoc/index.html @@ -0,0 +1,26 @@ + + +RCS Posemath Library + + + +

    RCS Pose Mathematics Library

    +

    +The library contains a group of classes for representing +positions, translations and rotations in several different +coordinate systems.

    + + +

    +The C++ version of the documentation is much more complete so most java +users will want to review the C++ documentation as well.

    + +

    C++ documentation

    + +

    Java (javadoc generated) documentation

    + +

    Karl Murphy's Posemath Examples

    + + + + \ No newline at end of file diff --git a/doc/posemathdoc/packages.html b/doc/posemathdoc/packages.html new file mode 100644 index 0000000..b5f6b6b --- /dev/null +++ b/doc/posemathdoc/packages.html @@ -0,0 +1,17 @@ + + + + + + + Package Index + + + + +
    API User's Guide  Class Hierarchy  Index

    +

    +Package Index +

    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_CARTESIAN.html b/doc/posemathdoc/rcs.posemath.PM_CARTESIAN.html new file mode 100644 index 0000000..8b08d2a --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_CARTESIAN.html @@ -0,0 +1,110 @@ + + + + + + + Class rcs.posemath.PM_CARTESIAN + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_CARTESIAN +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmCartesian
    +           |
    +           +----rcs.posemath.PM_CARTESIAN
    +
    +
    +
    +
    public class PM_CARTESIAN +
    extends PmCartesian +
    implements Cloneable +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_CARTESIAN() +
    +
     o + PM_CARTESIAN(double, double, double) +
    +
     o + PM_CARTESIAN(PM_CYLINDRICAL) +
    +
    +

    + Method Index +

    +
    +
     o + clone() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_CARTESIAN +
    + public PM_CARTESIAN()
    +
    + o +PM_CARTESIAN +
    + public PM_CARTESIAN(double startx,
    +                     double starty,
    +                     double startz)
    +
    + o +PM_CARTESIAN +
    + public PM_CARTESIAN(PM_CYLINDRICAL c) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmCartesian +
    +
    + o +clone +
    + public Object clone()
    +
    +
    +
    +
    Overrides: +
    clone in class Object +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_CIRCLE.html b/doc/posemathdoc/rcs.posemath.PM_CIRCLE.html new file mode 100644 index 0000000..eb04a03 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_CIRCLE.html @@ -0,0 +1,142 @@ + + + + + + + Class rcs.posemath.PM_CIRCLE + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_CIRCLE +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PM_CIRCLE
    +
    +
    +
    +
    public class PM_CIRCLE +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + angle +
    +
     o + center +
    +
     o + normal +
    +
     o + radius +
    +
     o + rHelix +
    +
     o + rPerp +
    +
     o + rTan +
    +
     o + spiral +
    +
    +

    + Constructor Index +

    +
    +
     o + PM_CIRCLE() +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +center +
    + public PM_CARTESIAN center
    +
    + o +normal +
    + public PM_CARTESIAN normal
    +
    + o +rTan +
    + public PM_CARTESIAN rTan
    +
    + o +rPerp +
    + public PM_CARTESIAN rPerp
    +
    + o +rHelix +
    + public PM_CARTESIAN rHelix
    +
    + o +radius +
    + public double radius
    +
    + o +angle +
    + public double angle
    +
    + o +spiral +
    + public double spiral
    +
    + +

    + Constructors +

    + + o +PM_CIRCLE +
    + public PM_CIRCLE()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_CYLINDRICAL.html b/doc/posemathdoc/rcs.posemath.PM_CYLINDRICAL.html new file mode 100644 index 0000000..da889c6 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_CYLINDRICAL.html @@ -0,0 +1,95 @@ + + + + + + + Class rcs.posemath.PM_CYLINDRICAL + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_CYLINDRICAL +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmCylindrical
    +           |
    +           +----rcs.posemath.PM_CYLINDRICAL
    +
    +
    +
    +
    public class PM_CYLINDRICAL +
    extends PmCylindrical +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_CYLINDRICAL() +
    +
     o + PM_CYLINDRICAL(double, double, double) +
    +
     o + PM_CYLINDRICAL(PM_CARTESIAN) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_CYLINDRICAL +
    + public PM_CYLINDRICAL()
    +
    + o +PM_CYLINDRICAL +
    + public PM_CYLINDRICAL(double starttheta,
    +                       double startr,
    +                       double startz) throws PmException
    +
    + o +PM_CYLINDRICAL +
    + public PM_CYLINDRICAL(PM_CARTESIAN v) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmCylindrical +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_EULER_ZYX.html b/doc/posemathdoc/rcs.posemath.PM_EULER_ZYX.html new file mode 100644 index 0000000..73c7fb4 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_EULER_ZYX.html @@ -0,0 +1,95 @@ + + + + + + + Class rcs.posemath.PM_EULER_ZYX + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_EULER_ZYX +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmEulerZyx
    +           |
    +           +----rcs.posemath.PM_EULER_ZYX
    +
    +
    +
    +
    public class PM_EULER_ZYX +
    extends PmEulerZyx +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_EULER_ZYX() +
    +
     o + PM_EULER_ZYX(double, double, double) +
    +
     o + PM_EULER_ZYX(PM_ROTATION_VECTOR) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_EULER_ZYX +
    + public PM_EULER_ZYX(double startz,
    +                     double starty,
    +                     double startx)
    +
    + o +PM_EULER_ZYX +
    + public PM_EULER_ZYX()
    +
    + o +PM_EULER_ZYX +
    + public PM_EULER_ZYX(PM_ROTATION_VECTOR rv) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmEulerZyx +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_EULER_ZYZ.html b/doc/posemathdoc/rcs.posemath.PM_EULER_ZYZ.html new file mode 100644 index 0000000..e46c3d0 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_EULER_ZYZ.html @@ -0,0 +1,95 @@ + + + + + + + Class rcs.posemath.PM_EULER_ZYZ + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_EULER_ZYZ +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmEulerZyz
    +           |
    +           +----rcs.posemath.PM_EULER_ZYZ
    +
    +
    +
    +
    public class PM_EULER_ZYZ +
    extends PmEulerZyz +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_EULER_ZYZ() +
    +
     o + PM_EULER_ZYZ(double, double, double) +
    +
     o + PM_EULER_ZYZ(PM_ROTATION_VECTOR) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_EULER_ZYZ +
    + public PM_EULER_ZYZ(double startz,
    +                     double starty,
    +                     double startzp)
    +
    + o +PM_EULER_ZYZ +
    + public PM_EULER_ZYZ()
    +
    + o +PM_EULER_ZYZ +
    + public PM_EULER_ZYZ(PM_ROTATION_VECTOR rv) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmEulerZyz +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_HOMOGENEOUS.html b/doc/posemathdoc/rcs.posemath.PM_HOMOGENEOUS.html new file mode 100644 index 0000000..ed83e39 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_HOMOGENEOUS.html @@ -0,0 +1,86 @@ + + + + + + + Class rcs.posemath.PM_HOMOGENEOUS + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_HOMOGENEOUS +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmHomogeneous
    +           |
    +           +----rcs.posemath.PM_HOMOGENEOUS
    +
    +
    +
    +
    public class PM_HOMOGENEOUS +
    extends PmHomogeneous +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_HOMOGENEOUS() +
    +
     o + PM_HOMOGENEOUS(PM_CARTESIAN, PM_ROTATION_MATRIX) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_HOMOGENEOUS +
    + public PM_HOMOGENEOUS()
    +
    + o +PM_HOMOGENEOUS +
    + public PM_HOMOGENEOUS(PM_CARTESIAN starttran,
    +                       PM_ROTATION_MATRIX startrot)
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmHomogeneous +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_LINE.html b/doc/posemathdoc/rcs.posemath.PM_LINE.html new file mode 100644 index 0000000..897616f --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_LINE.html @@ -0,0 +1,102 @@ + + + + + + + Class rcs.posemath.PM_LINE + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_LINE +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PM_LINE
    +
    +
    +
    +
    public class PM_LINE +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + end +
    +
     o + start +
    +
     o + uVec +
    +
    +

    + Constructor Index +

    +
    +
     o + PM_LINE() +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +start +
    + public PM_CARTESIAN start
    +
    + o +end +
    + public PM_CARTESIAN end
    +
    + o +uVec +
    + public PM_CARTESIAN uVec
    +
    + +

    + Constructors +

    + + o +PM_LINE +
    + public PM_LINE()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_POSE.html b/doc/posemathdoc/rcs.posemath.PM_POSE.html new file mode 100644 index 0000000..de6e043 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_POSE.html @@ -0,0 +1,100 @@ + + + + + + + Class rcs.posemath.PM_POSE + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_POSE +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmPose
    +           |
    +           +----rcs.posemath.PM_POSE
    +
    +
    +
    +
    public class PM_POSE +
    extends PmPose +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_POSE() +
    +
     o + PM_POSE(double, double, double, double, double, double, double) +
    +
     o + PM_POSE(PmCartesian, PmQuaternion) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_POSE +
    + public PM_POSE()
    +
    + o +PM_POSE +
    + public PM_POSE(PmCartesian starttran,
    +                PmQuaternion startrot)
    +
    + o +PM_POSE +
    + public PM_POSE(double tranx,
    +                double trany,
    +                double tranz,
    +                double rots,
    +                double rotx,
    +                double roty,
    +                double rotz) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmPose +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_QUATERNION.html b/doc/posemathdoc/rcs.posemath.PM_QUATERNION.html new file mode 100644 index 0000000..bb7404c --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_QUATERNION.html @@ -0,0 +1,96 @@ + + + + + + + Class rcs.posemath.PM_QUATERNION + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_QUATERNION +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmQuaternion
    +           |
    +           +----rcs.posemath.PM_QUATERNION
    +
    +
    +
    +
    public class PM_QUATERNION +
    extends PmQuaternion +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_QUATERNION() +
    +
     o + PM_QUATERNION(double, double, double, double) +
    +
     o + PM_QUATERNION(PM_ROTATION_VECTOR) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_QUATERNION +
    + public PM_QUATERNION()
    +
    + o +PM_QUATERNION +
    + public PM_QUATERNION(double starts,
    +                      double startx,
    +                      double starty,
    +                      double startz) throws PmException
    +
    + o +PM_QUATERNION +
    + public PM_QUATERNION(PM_ROTATION_VECTOR rv) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmQuaternion +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_ROTATION_MATRIX.html b/doc/posemathdoc/rcs.posemath.PM_ROTATION_MATRIX.html new file mode 100644 index 0000000..bf48834 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_ROTATION_MATRIX.html @@ -0,0 +1,111 @@ + + + + + + + Class rcs.posemath.PM_ROTATION_MATRIX + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_ROTATION_MATRIX +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRotationMatrix
    +           |
    +           +----rcs.posemath.PM_ROTATION_MATRIX
    +
    +
    +
    +
    public class PM_ROTATION_MATRIX +
    extends PmRotationMatrix +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_ROTATION_MATRIX() +
    +
     o + PM_ROTATION_MATRIX(double, double, double, double, double, double, double, double, double) +
    +
     o + PM_ROTATION_MATRIX(PM_ROTATION_VECTOR) +
    +
     o + PM_ROTATION_MATRIX(PmCartesian, PmCartesian, PmCartesian) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_ROTATION_MATRIX +
    + public PM_ROTATION_MATRIX(PmCartesian startx,
    +                           PmCartesian starty,
    +                           PmCartesian startz)
    +
    + o +PM_ROTATION_MATRIX +
    + public PM_ROTATION_MATRIX()
    +
    + o +PM_ROTATION_MATRIX +
    + public PM_ROTATION_MATRIX(double xx,
    +                           double xy,
    +                           double xz,
    +                           double yx,
    +                           double yy,
    +                           double yz,
    +                           double zx,
    +                           double zy,
    +                           double zz)
    +
    + o +PM_ROTATION_MATRIX +
    + public PM_ROTATION_MATRIX(PM_ROTATION_VECTOR rv) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmRotationMatrix +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_ROTATION_VECTOR.html b/doc/posemathdoc/rcs.posemath.PM_ROTATION_VECTOR.html new file mode 100644 index 0000000..2a151e9 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_ROTATION_VECTOR.html @@ -0,0 +1,88 @@ + + + + + + + Class rcs.posemath.PM_ROTATION_VECTOR + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_ROTATION_VECTOR +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRotationVector
    +           |
    +           +----rcs.posemath.PM_ROTATION_VECTOR
    +
    +
    +
    +
    public class PM_ROTATION_VECTOR +
    extends PmRotationVector +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_ROTATION_VECTOR() +
    +
     o + PM_ROTATION_VECTOR(double, double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_ROTATION_VECTOR +
    + public PM_ROTATION_VECTOR()
    +
    + o +PM_ROTATION_VECTOR +
    + public PM_ROTATION_VECTOR(double starts,
    +                           double startx,
    +                           double starty,
    +                           double startz) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmRotationVector +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_RPY.html b/doc/posemathdoc/rcs.posemath.PM_RPY.html new file mode 100644 index 0000000..7eccc4a --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_RPY.html @@ -0,0 +1,59 @@ + + + + + + + Class rcs.posemath.PM_RPY + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_RPY +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRpy
    +           |
    +           +----rcs.posemath.PM_RPY
    +
    +
    +
    +
    public class PM_RPY +
    extends PmRpy +
    +
    + +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmRpy +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_SPHERICAL.html b/doc/posemathdoc/rcs.posemath.PM_SPHERICAL.html new file mode 100644 index 0000000..0c02f63 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_SPHERICAL.html @@ -0,0 +1,87 @@ + + + + + + + Class rcs.posemath.PM_SPHERICAL + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PM_SPHERICAL +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmSpherical
    +           |
    +           +----rcs.posemath.PM_SPHERICAL
    +
    +
    +
    +
    public class PM_SPHERICAL +
    extends PmSpherical +
    +
    + +

    + Constructor Index +

    +
    +
     o + PM_SPHERICAL() +
    +
     o + PM_SPHERICAL(double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Constructors +

    + + o +PM_SPHERICAL +
    + public PM_SPHERICAL()
    +
    + o +PM_SPHERICAL +
    + public PM_SPHERICAL(double starttheta,
    +                     double startphi,
    +                     double startr)
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    Overrides: +
    update in class PmSpherical +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PM_XYA.html b/doc/posemathdoc/rcs.posemath.PM_XYA.html new file mode 100644 index 0000000..0906ba3 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PM_XYA.html @@ -0,0 +1,317 @@ + + + + + + + +PM_XYA + + + + + + + + + + + + +
    + +
    + +

    + +rcs.posemath +
    +Class PM_XYA

    +
    +java.lang.Object
    +  extended by rcs.posemath.PM_XYA
    +
    +
    +
    All Implemented Interfaces:
    java.lang.Cloneable
    +
    +
    +
    +
    public class PM_XYA
    extends java.lang.Object
    implements java.lang.Cloneable
    + + +

    +


    + +

    + + + + + + + + + + + + + + + + + + + +
    +Field Summary
    + doublea + +
    +           
    + doublex + +
    +           
    + doubley + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Constructor Summary
    PM_XYA() + +
    +           
    PM_XYA(double _x, + double _y, + double _a) + +
    +           
    PM_XYA(PM_POSE p) + +
    +           
    PM_XYA(PmPose p) + +
    +           
    +  + + + + + + + + + + + + + + + + + + + +
    +Method Summary
    + PM_XYAclone() + +
    +           
    + PM_XYAinv() + +
    +           
    + voidupdate(NMLFormatConverter nml_fc) + +
    +           
    + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +  +

    + + + + + + + + +
    +Field Detail
    + +

    +x

    +
    +public double x
    +
    +
    +
    +
    +
    + +

    +y

    +
    +public double y
    +
    +
    +
    +
    +
    + +

    +a

    +
    +public double a
    +
    +
    +
    +
    + + + + + + + + +
    +Constructor Detail
    + +

    +PM_XYA

    +
    +public PM_XYA(double _x,
    +              double _y,
    +              double _a)
    +
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA()
    +
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA(PmPose p)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    +
    + +

    +PM_XYA

    +
    +public PM_XYA(PM_POSE p)
    +       throws PmException
    +
    +
    + +
    Throws: +
    PmException
    +
    + + + + + + + + +
    +Method Detail
    + +

    +inv

    +
    +public PM_XYA inv()
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    +clone

    +
    +public PM_XYA clone()
    +
    +
    +
    Overrides:
    clone in class java.lang.Object
    +
    +
    +
    +
    +
    +
    + +

    +update

    +
    +public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    + + + diff --git a/doc/posemathdoc/rcs.posemath.PmCartesian.html b/doc/posemathdoc/rcs.posemath.PmCartesian.html new file mode 100644 index 0000000..c85a322 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmCartesian.html @@ -0,0 +1,151 @@ + + + + + + + Class rcs.posemath.PmCartesian + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmCartesian +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmCartesian
    +
    +
    +
    +
    public class PmCartesian +
    extends Object +
    implements Cloneable +
    +
    + +

    + Variable Index +

    +
    +
     o + x +
    +
     o + y +
    +
     o + z +
    +
    +

    + Constructor Index +

    +
    +
     o + PmCartesian() +
    +
     o + PmCartesian(double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + equals(PmCartesian) +
    +
     o + equals(PmCylindrical) +
    +
     o + equals(PmSpherical) +
    +
     o + toString() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +x +
    + public double x
    +
    + o +y +
    + public double y
    +
    + o +z +
    + public double z
    +
    + +

    + Constructors +

    + + o +PmCartesian +
    + public PmCartesian()
    +
    + o +PmCartesian +
    + public PmCartesian(double startx,
    +                    double starty,
    +                    double startz)
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    + o +equals +
    + public boolean equals(PmCartesian v) throws PmException
    +
    + o +equals +
    + public boolean equals(PmCylindrical c) throws PmException
    +
    + o +equals +
    + public boolean equals(PmSpherical s) throws PmException
    +
    + o +toString +
    + public String toString()
    +
    +
    +
    +
    Overrides: +
    toString in class Object +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmCircle.html b/doc/posemathdoc/rcs.posemath.PmCircle.html new file mode 100644 index 0000000..852b3b4 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmCircle.html @@ -0,0 +1,142 @@ + + + + + + + Class rcs.posemath.PmCircle + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmCircle +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmCircle
    +
    +
    +
    +
    public class PmCircle +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + angle +
    +
     o + center +
    +
     o + normal +
    +
     o + radius +
    +
     o + rHelix +
    +
     o + rPerp +
    +
     o + rTan +
    +
     o + spiral +
    +
    +

    + Constructor Index +

    +
    +
     o + PmCircle() +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +center +
    + public PmCartesian center
    +
    + o +normal +
    + public PmCartesian normal
    +
    + o +rTan +
    + public PmCartesian rTan
    +
    + o +rPerp +
    + public PmCartesian rPerp
    +
    + o +rHelix +
    + public PmCartesian rHelix
    +
    + o +radius +
    + public double radius
    +
    + o +angle +
    + public double angle
    +
    + o +spiral +
    + public double spiral
    +
    + +

    + Constructors +

    + + o +PmCircle +
    + public PmCircle()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmCylindrical.html b/doc/posemathdoc/rcs.posemath.PmCylindrical.html new file mode 100644 index 0000000..0bab4f0 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmCylindrical.html @@ -0,0 +1,122 @@ + + + + + + + Class rcs.posemath.PmCylindrical + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmCylindrical +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmCylindrical
    +
    +
    +
    +
    public class PmCylindrical +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + r +
    +
     o + theta +
    +
     o + z +
    +
    +

    + Method Index +

    +
    +
     o + equals(PmCartesian) +
    +
     o + equals(PmCylindrical) +
    +
     o + equals(PmSpherical) +
    +
     o + toString() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +theta +
    + public double theta
    +
    + o +r +
    + public double r
    +
    + o +z +
    + public double z
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    + o +equals +
    + public boolean equals(PmCylindrical c) throws PmException
    +
    + o +equals +
    + public boolean equals(PmCartesian v) throws PmException
    +
    + o +equals +
    + public boolean equals(PmSpherical s) throws PmException
    +
    + o +toString +
    + public String toString()
    +
    +
    +
    +
    Overrides: +
    toString in class Object +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmEulerZyx.html b/doc/posemathdoc/rcs.posemath.PmEulerZyx.html new file mode 100644 index 0000000..3ac4154 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmEulerZyx.html @@ -0,0 +1,112 @@ + + + + + + + Class rcs.posemath.PmEulerZyx + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmEulerZyx +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmEulerZyx
    +
    +
    +
    +
    public class PmEulerZyx +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + x +
    +
     o + y +
    +
     o + z +
    +
    +

    + Constructor Index +

    +
    +
     o + PmEulerZyx() +
    +
     o + PmEulerZyx(double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +z +
    + public double z
    +
    + o +y +
    + public double y
    +
    + o +x +
    + public double x
    +
    + +

    + Constructors +

    + + o +PmEulerZyx +
    + public PmEulerZyx(double startz,
    +                   double starty,
    +                   double startx)
    +
    + o +PmEulerZyx +
    + public PmEulerZyx()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmEulerZyz.html b/doc/posemathdoc/rcs.posemath.PmEulerZyz.html new file mode 100644 index 0000000..9a9bfb5 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmEulerZyz.html @@ -0,0 +1,112 @@ + + + + + + + Class rcs.posemath.PmEulerZyz + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmEulerZyz +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmEulerZyz
    +
    +
    +
    +
    public class PmEulerZyz +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + y +
    +
     o + z +
    +
     o + zp +
    +
    +

    + Constructor Index +

    +
    +
     o + PmEulerZyz() +
    +
     o + PmEulerZyz(double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +z +
    + public double z
    +
    + o +y +
    + public double y
    +
    + o +zp +
    + public double zp
    +
    + +

    + Constructors +

    + + o +PmEulerZyz +
    + public PmEulerZyz(double startz,
    +                   double starty,
    +                   double startzp)
    +
    + o +PmEulerZyz +
    + public PmEulerZyz()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmException.html b/doc/posemathdoc/rcs.posemath.PmException.html new file mode 100644 index 0000000..b4d5ac3 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmException.html @@ -0,0 +1,91 @@ + + + + + + + Class rcs.posemath.PmException + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmException +

    +
    +java.lang.Object
    +   |
    +   +----java.lang.Throwable
    +           |
    +           +----java.lang.Exception
    +                   |
    +                   +----rcs.posemath.PmException
    +
    +
    +
    +
    public class PmException +
    extends Exception +
    +
    + +

    + Variable Index +

    +
    +
     o + pmErrno +
    +
    +

    + Constructor Index +

    +
    +
     o + PmException(int, String) +
    +
    +

    + Method Index +

    +
    +
     o + GetErrorString(int) +
    +
    + +

    + Variables +

    + o +pmErrno +
    + public int pmErrno
    +
    + +

    + Constructors +

    + + o +PmException +
    + public PmException(int errno,
    +                    String msg)
    +
    + +

    + Methods +

    + o +GetErrorString +
    + protected static String GetErrorString(int errno)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmHomogeneous.html b/doc/posemathdoc/rcs.posemath.PmHomogeneous.html new file mode 100644 index 0000000..f0dac42 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmHomogeneous.html @@ -0,0 +1,103 @@ + + + + + + + Class rcs.posemath.PmHomogeneous + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmHomogeneous +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmHomogeneous
    +
    +
    +
    +
    public class PmHomogeneous +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + rot +
    +
     o + tran +
    +
    +

    + Constructor Index +

    +
    +
     o + PmHomogeneous() +
    +
     o + PmHomogeneous(PmCartesian, PmRotationMatrix) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +tran +
    + public PmCartesian tran
    +
    + o +rot +
    + public PmRotationMatrix rot
    +
    + +

    + Constructors +

    + + o +PmHomogeneous +
    + public PmHomogeneous()
    +
    + o +PmHomogeneous +
    + public PmHomogeneous(PmCartesian starttran,
    +                      PmRotationMatrix startrot)
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmLine.html b/doc/posemathdoc/rcs.posemath.PmLine.html new file mode 100644 index 0000000..02c978c --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmLine.html @@ -0,0 +1,102 @@ + + + + + + + Class rcs.posemath.PmLine + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmLine +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmLine
    +
    +
    +
    +
    public class PmLine +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + end +
    +
     o + start +
    +
     o + uVec +
    +
    +

    + Constructor Index +

    +
    +
     o + PmLine() +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +start +
    + public PmPose start
    +
    + o +end +
    + public PmPose end
    +
    + o +uVec +
    + public PmCartesian uVec
    +
    + +

    + Constructors +

    + + o +PmLine +
    + public PmLine()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmPose.html b/doc/posemathdoc/rcs.posemath.PmPose.html new file mode 100644 index 0000000..76ad725 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmPose.html @@ -0,0 +1,131 @@ + + + + + + + Class rcs.posemath.PmPose + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmPose +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmPose
    +
    +
    +
    +
    public class PmPose +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + rot +
    +
     o + tran +
    +
    +

    + Constructor Index +

    +
    +
     o + PmPose() +
    +
     o + PmPose(double, double, double, double, double, double, double) +
    +
     o + PmPose(PmCartesian, PmQuaternion) +
    +
    +

    + Method Index +

    +
    +
     o + toString() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +tran +
    + public PmCartesian tran
    +
    + o +rot +
    + public PmQuaternion rot
    +
    + +

    + Constructors +

    + + o +PmPose +
    + public PmPose()
    +
    + o +PmPose +
    + public PmPose(PmCartesian starttran,
    +               PmQuaternion startrot)
    +
    + o +PmPose +
    + public PmPose(double tranx,
    +               double trany,
    +               double tranz,
    +               double rots,
    +               double rotx,
    +               double roty,
    +               double rotz) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    + o +toString +
    + public String toString()
    +
    +
    +
    +
    Overrides: +
    toString in class Object +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmQuaternion.html b/doc/posemathdoc/rcs.posemath.PmQuaternion.html new file mode 100644 index 0000000..2efae22 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmQuaternion.html @@ -0,0 +1,159 @@ + + + + + + + Class rcs.posemath.PmQuaternion + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmQuaternion +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmQuaternion
    +
    +
    +
    +
    public class PmQuaternion +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + s +
    +
     o + x +
    +
     o + y +
    +
     o + z +
    +
    +

    + Constructor Index +

    +
    +
     o + PmQuaternion() +
    +
     o + PmQuaternion(double, double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + equals(PmQuaternion) +
    +
     o + equals(PmRotationMatrix) +
    +
     o + equals(PmRotationVector) +
    +
     o + toString() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +s +
    + public double s
    +
    + o +x +
    + public double x
    +
    + o +y +
    + public double y
    +
    + o +z +
    + public double z
    +
    + +

    + Constructors +

    + + o +PmQuaternion +
    + public PmQuaternion()
    +
    + o +PmQuaternion +
    + public PmQuaternion(double starts,
    +                     double startx,
    +                     double startz,
    +                     double starty) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    + o +toString +
    + public String toString()
    +
    +
    +
    +
    Overrides: +
    toString in class Object +
    +
    + o +equals +
    + public boolean equals(PmQuaternion pq) throws PmException
    +
    + o +equals +
    + public boolean equals(PmRotationMatrix prm) throws PmException
    +
    + o +equals +
    + public boolean equals(PmRotationVector prv) throws PmException
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmRotationMatrix.html b/doc/posemathdoc/rcs.posemath.PmRotationMatrix.html new file mode 100644 index 0000000..5580efe --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmRotationMatrix.html @@ -0,0 +1,150 @@ + + + + + + + Class rcs.posemath.PmRotationMatrix + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmRotationMatrix +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRotationMatrix
    +
    +
    +
    +
    public class PmRotationMatrix +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + x +
    +
     o + y +
    +
     o + z +
    +
    +

    + Constructor Index +

    +
    +
     o + PmRotationMatrix() +
    +
     o + PmRotationMatrix(double, double, double, double, double, double, double, double, double) +
    +
     o + PmRotationMatrix(PmCartesian, PmCartesian, PmCartesian) +
    +
    +

    + Method Index +

    +
    +
     o + PmRotationMatrix() +
    +
     o + toString() +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +x +
    + public PmCartesian x
    +
    + o +y +
    + public PmCartesian y
    +
    + o +z +
    + public PmCartesian z
    +
    + +

    + Constructors +

    + + o +PmRotationMatrix +
    + public PmRotationMatrix(PmCartesian startx,
    +                         PmCartesian starty,
    +                         PmCartesian startz)
    +
    + o +PmRotationMatrix +
    + public PmRotationMatrix()
    +
    + o +PmRotationMatrix +
    + public PmRotationMatrix(double xx,
    +                         double xy,
    +                         double xz,
    +                         double yx,
    +                         double yy,
    +                         double yz,
    +                         double zx,
    +                         double zy,
    +                         double zz)
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    + o +PmRotationMatrix +
    + public void PmRotationMatrix()
    +
    + o +toString +
    + public String toString()
    +
    +
    +
    +
    Overrides: +
    toString in class Object +
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmRotationVector.html b/doc/posemathdoc/rcs.posemath.PmRotationVector.html new file mode 100644 index 0000000..1148182 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmRotationVector.html @@ -0,0 +1,121 @@ + + + + + + + Class rcs.posemath.PmRotationVector + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmRotationVector +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRotationVector
    +
    +
    +
    +
    public class PmRotationVector +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + s +
    +
     o + x +
    +
     o + y +
    +
     o + z +
    +
    +

    + Constructor Index +

    +
    +
     o + PmRotationVector() +
    +
     o + PmRotationVector(double, double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +s +
    + public double s
    +
    + o +x +
    + public double x
    +
    + o +y +
    + public double y
    +
    + o +z +
    + public double z
    +
    + +

    + Constructors +

    + + o +PmRotationVector +
    + public PmRotationVector()
    +
    + o +PmRotationVector +
    + public PmRotationVector(double starts,
    +                         double startx,
    +                         double starty,
    +                         double startz) throws PmException
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmRpy.html b/doc/posemathdoc/rcs.posemath.PmRpy.html new file mode 100644 index 0000000..055be17 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmRpy.html @@ -0,0 +1,84 @@ + + + + + + + Class rcs.posemath.PmRpy + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmRpy +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmRpy
    +
    +
    +
    +
    public class PmRpy +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + p +
    +
     o + r +
    +
     o + y +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +r +
    + public double r
    +
    + o +p +
    + public double p
    +
    + o +y +
    + public double y
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.PmSpherical.html b/doc/posemathdoc/rcs.posemath.PmSpherical.html new file mode 100644 index 0000000..1be9ca5 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.PmSpherical.html @@ -0,0 +1,112 @@ + + + + + + + Class rcs.posemath.PmSpherical + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.PmSpherical +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.PmSpherical
    +
    +
    +
    +
    public class PmSpherical +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + phi +
    +
     o + r +
    +
     o + theta +
    +
    +

    + Constructor Index +

    +
    +
     o + PmSpherical() +
    +
     o + PmSpherical(double, double, double) +
    +
    +

    + Method Index +

    +
    +
     o + update(NMLFormatConverter) +
    +
    + +

    + Variables +

    + o +theta +
    + public double theta
    +
    + o +phi +
    + public double phi
    +
    + o +r +
    + public double r
    +
    + +

    + Constructors +

    + + o +PmSpherical +
    + public PmSpherical(double starttheta,
    +                    double startphi,
    +                    double startr)
    +
    + o +PmSpherical +
    + public PmSpherical()
    +
    + +

    + Methods +

    + o +update +
    + public void update(NMLFormatConverter nml_fc)
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.Posemath.html b/doc/posemathdoc/rcs.posemath.Posemath.html new file mode 100644 index 0000000..6f58df5 --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.Posemath.html @@ -0,0 +1,1789 @@ + + + + + + + Class rcs.posemath.Posemath + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.Posemath +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.Posemath
    +
    +
    +
    +
    public class Posemath +
    extends Object +
    +
    + +

    + Variable Index +

    +
    +
     o + CART_FUZZ +
    +
     o + DBL_MAX +
    +
     o + debug_on +
    +
     o + DOUBLE_FUZZ +
    +
     o + DOUBLECP_FUZZ +
    +
     o + E_EPSILON +
    +
     o + PI +
    +
     o + PI_2 +
    +
     o + PI_4 +
    +
     o + PM_2_PI +
    +
     o + PM_DIV_ERR +
    +
     o + PM_ERR +
    +
     o + PM_IMPL_ERR +
    +
     o + PM_NORM_ERR +
    +
     o + PM_PI +
    +
     o + PM_PI_2 +
    +
     o + PM_PI_4 +
    +
     o + PM_PRINT_ERROR +
    +
     o + PM_X +
    +
     o + PM_Y +
    +
     o + PM_Z +
    +
     o + pmErrno +
    +
     o + Q_FUZZ +
    +
     o + QS_FUZZ +
    +
     o + QSIN_FUZZ +
    +
     o + RPY_P_FUZZ +
    +
     o + RS_FUZZ +
    +
     o + SINGULAR_EPSILON +
    +
     o + SQRT_FUZZ +
    +
     o + UNIT_QUAT_FUZZ +
    +
     o + UNIT_SC_FUZZ +
    +
     o + UNIT_VEC_FUZZ +
    +
     o + V_FUZZ +
    +
     o + ZYX_Y_FUZZ +
    +
     o + ZYZ_Y_FUZZ +
    +
    +

    + Constructor Index +

    +
    +
     o + Posemath() +
    +
    +

    + Method Index +

    +
    +
     o + add(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + add(PM_CYLINDRICAL, PM_CYLINDRICAL) +
    +
     o + cross(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + cross(PM_CYLINDRICAL, PM_CYLINDRICAL) +
    +
     o + disp(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + divide(PM_CARTESIAN, double) +
    +
     o + divide(PM_CYLINDRICAL, double) +
    +
     o + divide(PM_QUATERNION, double) +
    +
     o + divide(PM_ROTATION_VECTOR, double) +
    +
     o + dot(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + dot(PM_CYLINDRICAL, PM_CYLINDRICAL) +
    +
     o + inv(PM_CARTESIAN) +
    +
     o + inv(PM_CYLINDRICAL) +
    +
     o + inv(PM_HOMOGENEOUS) +
    +
     o + inv(PM_POSE) +
    +
     o + inv(PM_QUATERNION) +
    +
     o + IS_FUZZ(double, double) +
    +
     o + isNorm(PM_CARTESIAN) +
    +
     o + isNorm(PM_CYLINDRICAL) +
    +
     o + isNorm(PM_QUATERNION) +
    +
     o + isNorm(PM_ROTATION_MATRIX) +
    +
     o + isNorm(PM_ROTATION_VECTOR) +
    +
     o + mag(PM_CARTESIAN) +
    +
     o + mag(PM_CYLINDRICAL) +
    +
     o + mag(PM_QUATERNION) +
    +
     o + multiply(double, PM_CARTESIAN) +
    +
     o + multiply(double, PM_CYLINDRICAL) +
    +
     o + multiply(double, PM_QUATERNION) +
    +
     o + multiply(double, PM_ROTATION_VECTOR) +
    +
     o + multiply(PM_CARTESIAN, double) +
    +
     o + multiply(PM_CYLINDRICAL, double) +
    +
     o + multiply(PM_POSE, PM_CARTESIAN) +
    +
     o + multiply(PM_POSE, PM_POSE) +
    +
     o + multiply(PM_QUATERNION, double) +
    +
     o + multiply(PM_QUATERNION, PM_CARTESIAN) +
    +
     o + multiply(PM_QUATERNION, PM_QUATERNION) +
    +
     o + multiply(PM_ROTATION_MATRIX, PM_CARTESIAN) +
    +
     o + multiply(PM_ROTATION_MATRIX, PM_ROTATION_MATRIX) +
    +
     o + multiply(PM_ROTATION_VECTOR, double) +
    +
     o + neg(PM_CARTESIAN) +
    +
     o + neg(PM_CYLINDRICAL) +
    +
     o + norm(PM_CARTESIAN) +
    +
     o + norm(PM_CYLINDRICAL) +
    +
     o + norm(PM_QUATERNION) +
    +
     o + norm(PM_ROTATION_VECTOR) +
    +
     o + pmAxisAngleQuatConvert(int, double, PmQuaternion) +
    +
     o + pmCartCartAdd(PmCartesian, PmCartesian, PmCartesian) +
    +
     o + pmCartCartCompare(PmCartesian, PmCartesian) +
    +
     o + pmCartCartCross(PmCartesian, PmCartesian, PmCartesian) +
    +
     o + pmCartCartDisp(PmCartesian, PmCartesian) +
    +
     o + pmCartCartDot(PmCartesian, PmCartesian) +
    +
     o + pmCartCartProj(PmCartesian, PmCartesian, PmCartesian) +
    +
     o + pmCartCartSub(PmCartesian, PmCartesian, PmCartesian) +
    +
     o + pmCartCylConvert(PmCartesian, PmCylindrical) +
    +
     o + pmCartInv(PmCartesian, PmCartesian) +
    +
     o + pmCartIsNorm(PmCartesian) +
    +
     o + pmCartMag(PmCartesian) +
    +
     o + pmCartNeg(PmCartesian, PmCartesian) +
    +
     o + pmCartNorm(PmCartesian, PmCartesian) +
    +
     o + pmCartPlaneProj(PmCartesian, PmCartesian, PmCartesian) +
    +
     o + pmCartScalDiv(PmCartesian, double, PmCartesian) +
    +
     o + pmCartScalMult(PmCartesian, double, PmCartesian) +
    +
     o + pmCartSphConvert(PmCartesian, PmSpherical) +
    +
     o + pmCircleInit(PmCircle, PmPose, PmPose, PmCartesian, PmCartesian, int) +
    +
     o + pmCirclePoint(PmCircle, double, PmPose) +
    +
     o + pmClose(double, double, double) +
    +
     o + pmCylCartConvert(PmCylindrical, PmCartesian) +
    +
     o + pmCylCylAdd(PmCylindrical, PmCylindrical, PmCylindrical) +
    +
     o + pmCylCylCompare(PmCylindrical, PmCylindrical) +
    +
     o + pmCylCylCross(PmCylindrical, PmCylindrical, PmCylindrical) +
    +
     o + pmCylCylDot(PmCylindrical, PmCylindrical) +
    +
     o + pmCylCylSub(PmCylindrical, PmCylindrical, PmCylindrical) +
    +
     o + pmCylInv(PmCylindrical, PmCylindrical) +
    +
     o + pmCylIsNorm(PmCylindrical) +
    +
     o + pmCylMag(PmCylindrical) +
    +
     o + pmCylNeg(PmCylindrical, PmCylindrical) +
    +
     o + pmCylNorm(PmCylindrical, PmCylindrical) +
    +
     o + pmCylScalDiv(PmCylindrical, double, PmCylindrical) +
    +
     o + pmCylScalMult(PmCylindrical, double, PmCylindrical) +
    +
     o + pmCylSphConvert(PmCylindrical, PmSpherical) +
    +
     o + pmHomInv(PmHomogeneous, PmHomogeneous) +
    +
     o + pmHomPoseConvert(PmHomogeneous, PmPose) +
    +
     o + pmLineInit(PmLine, PmPose, PmPose) +
    +
     o + pmLinePoint(PmLine, double, PmPose) +
    +
     o + pmMatCartMult(PmRotationMatrix, PmCartesian, PmCartesian) +
    +
     o + pmMatInv(PmRotationMatrix, PmRotationMatrix) +
    +
     o + pmMatIsNorm(PmRotationMatrix) +
    +
     o + pmMatMatMult(PmRotationMatrix, PmRotationMatrix, PmRotationMatrix) +
    +
     o + pmMatNorm(PmRotationMatrix, PmRotationMatrix) +
    +
     o + pmMatQuatConvert(PmRotationMatrix, PmQuaternion) +
    +
     o + pmMatRotConvert(PmRotationMatrix, PmRotationVector) +
    +
     o + pmMatRpyConvert(PmRotationMatrix, PmRpy) +
    +
     o + pmMatZyxConvert(PmRotationMatrix, PmEulerZyx) +
    +
     o + pmMatZyzConvert(PmRotationMatrix, PmEulerZyz) +
    +
     o + pmPoseCartMult(PmPose, PmCartesian, PmCartesian) +
    +
     o + pmPoseHomConvert(PmPose, PmHomogeneous) +
    +
     o + pmPoseInv(PmPose, PmPose) +
    +
     o + pmPosePoseCompare(PmPose, PmPose) +
    +
     o + pmPosePoseMult(PmPose, PmPose, PmPose) +
    +
     o + pmPrintError(String, int) +
    +
     o + pmQuatAxisAngleMult(PmQuaternion, int, double) +
    +
     o + pmQuatAxisAngleMult(PmQuaternion, int, double, PmQuaternion) +
    +
     o + pmQuatCartMult(PmQuaternion, PmCartesian, PmCartesian) +
    +
     o + pmQuatInv(PmQuaternion, PmQuaternion) +
    +
     o + pmQuatIsNorm(PmQuaternion) +
    +
     o + pmQuatMag(PmQuaternion) +
    +
     o + pmQuatMatConvert(PmQuaternion, PmRotationMatrix) +
    +
     o + pmQuatNorm(PmQuaternion, PmQuaternion) +
    +
     o + pmQuatQuatCompare(PmQuaternion, PmQuaternion) +
    +
     o + pmQuatQuatMult(PmQuaternion, PmQuaternion, PmQuaternion) +
    +
     o + pmQuatRotConvert(PmQuaternion, PmRotationVector) +
    +
     o + pmQuatRpyConvert(PmQuaternion, PmRpy) +
    +
     o + pmQuatScalDiv(PmQuaternion, double, PmQuaternion) +
    +
     o + pmQuatScalMult(PmQuaternion, double, PmQuaternion) +
    +
     o + pmQuatZyxConvert(PmQuaternion, PmEulerZyx) +
    +
     o + pmQuatZyzConvert(PmQuaternion, PmEulerZyz) +
    +
     o + pmRotIsNorm(PmRotationVector) +
    +
     o + pmRotMatConvert(PmRotationVector, PmRotationMatrix) +
    +
     o + pmRotNorm(PmRotationVector, PmRotationVector) +
    +
     o + pmRotQuatConvert(PmRotationVector, PmQuaternion) +
    +
     o + pmRotRpyConvert(PmRotationVector, PmRpy) +
    +
     o + pmRotScalDiv(PmRotationVector, double, PmRotationVector) +
    +
     o + pmRotScalMult(PmRotationVector, double, PmRotationVector) +
    +
     o + pmRotZyxConvert(PmRotationVector, PmEulerZyx) +
    +
     o + pmRotZyzConvert(PmRotationVector, PmEulerZyz) +
    +
     o + pmRpyMatConvert(PmRpy, PmRotationMatrix) +
    +
     o + pmRpyQuatConvert(PmRpy, PmQuaternion) +
    +
     o + pmRpyRotConvert(PmRpy, PmRotationVector) +
    +
     o + pmRpyZyxConvert(PmRpy, PmEulerZyx) +
    +
     o + pmRpyZyzConvert(PmRpy, PmEulerZyz) +
    +
     o + pmSphCartConvert(PmSpherical, PmCartesian) +
    +
     o + pmSphCylConvert(PmSpherical, PmCylindrical) +
    +
     o + pmSq(double) +
    +
     o + pmSqrt(double) +
    +
     o + pmZyxMatConvert(PmEulerZyx, PmRotationMatrix) +
    +
     o + pmZyxQuatConvert(PmEulerZyx, PmQuaternion) +
    +
     o + pmZyxRotConvert(PmEulerZyx, PmRotationVector) +
    +
     o + pmZyxRpyConvert(PmEulerZyx, PmRpy) +
    +
     o + pmZyxZyzConvert(PmEulerZyx, PmEulerZyz) +
    +
     o + pmZyzMatConvert(PmEulerZyz, PmRotationMatrix) +
    +
     o + pmZyzQuatConvert(PmEulerZyz, PmQuaternion) +
    +
     o + pmZyzRotConvert(PmEulerZyz, PmRotationVector) +
    +
     o + pmZyzRpyConvert(PmEulerZyz, PmRpy) +
    +
     o + proj(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + subtract(PM_CARTESIAN, PM_CARTESIAN) +
    +
     o + subtract(PM_CYLINDRICAL, PM_CYLINDRICAL) +
    +
     o + toCart(PM_CYLINDRICAL) +
    +
     o + toCart(PM_SPHERICAL) +
    +
     o + toCyl(PM_CARTESIAN) +
    +
     o + toCyl(PM_SPHERICAL) +
    +
     o + toHom(PM_POSE) +
    +
     o + toMat(PM_QUATERNION) +
    +
     o + toMat(PM_ROTATION_VECTOR) +
    +
     o + toQuat(PM_EULER_ZYX) +
    +
     o + toQuat(PM_EULER_ZYZ) +
    +
     o + toQuat(PM_ROTATION_MATRIX) +
    +
     o + toQuat(PM_ROTATION_VECTOR) +
    +
     o + toQuat(PM_RPY) +
    +
     o + toRot(PM_QUATERNION) +
    +
     o + toSph(PM_CARTESIAN) +
    +
     o + toSph(PM_CYLINDRICAL) +
    +
    + +

    + Variables +

    + o +pmErrno +
    + public static int pmErrno
    +
    + o +PM_PRINT_ERROR +
    + public static boolean PM_PRINT_ERROR
    +
    + o +debug_on +
    + public static boolean debug_on
    +
    + o +CART_FUZZ +
    + public static final double CART_FUZZ
    +
    + o +DOUBLECP_FUZZ +
    + public static final double DOUBLECP_FUZZ
    +
    + o +DOUBLE_FUZZ +
    + public static final double DOUBLE_FUZZ
    +
    + o +E_EPSILON +
    + public static final double E_EPSILON
    +
    + o +PM_2_PI +
    + public static final double PM_2_PI
    +
    + o +PM_DIV_ERR +
    + public static final int PM_DIV_ERR
    +
    + o +PM_ERR +
    + public static final int PM_ERR
    +
    + o +PM_IMPL_ERR +
    + public static final int PM_IMPL_ERR
    +
    + o +PM_NORM_ERR +
    + public static final int PM_NORM_ERR
    +
    + o +PM_PI +
    + public static final double PM_PI
    +
    + o +PM_PI_2 +
    + public static final double PM_PI_2
    +
    + o +PM_PI_4 +
    + public static final double PM_PI_4
    +
    + o +QSIN_FUZZ +
    + public static final double QSIN_FUZZ
    +
    + o +QS_FUZZ +
    + public static final double QS_FUZZ
    +
    + o +Q_FUZZ +
    + public static final double Q_FUZZ
    +
    + o +RPY_P_FUZZ +
    + public static final double RPY_P_FUZZ
    +
    + o +RS_FUZZ +
    + public static final double RS_FUZZ
    +
    + o +SINGULAR_EPSILON +
    + public static final double SINGULAR_EPSILON
    +
    + o +SQRT_FUZZ +
    + public static final double SQRT_FUZZ
    +
    + o +UNIT_QUAT_FUZZ +
    + public static final double UNIT_QUAT_FUZZ
    +
    + o +UNIT_SC_FUZZ +
    + public static final double UNIT_SC_FUZZ
    +
    + o +UNIT_VEC_FUZZ +
    + public static final double UNIT_VEC_FUZZ
    +
    + o +V_FUZZ +
    + public static final double V_FUZZ
    +
    + o +ZYX_Y_FUZZ +
    + public static final double ZYX_Y_FUZZ
    +
    + o +ZYZ_Y_FUZZ +
    + public static final double ZYZ_Y_FUZZ
    +
    + o +DBL_MAX +
    + public static final double DBL_MAX
    +
    + o +PI +
    + public static final double PI
    +
    + o +PI_2 +
    + public static final double PI_2
    +
    + o +PI_4 +
    + public static final double PI_4
    +
    + o +PM_X +
    + public static final int PM_X
    +
    + o +PM_Y +
    + public static final int PM_Y
    +
    + o +PM_Z +
    + public static final int PM_Z
    +
    + +

    + Constructors +

    + + o +Posemath +
    + public Posemath()
    +
    + +

    + Methods +

    + o +pmPrintError +
    + protected static void pmPrintError(String str,
    +                                    int new_errno) throws PmException
    +
    + o +IS_FUZZ +
    + public static boolean IS_FUZZ(double a,
    +                               double fuzz) throws PmException
    +
    + o +pmSqrt +
    + public static double pmSqrt(double x) throws PmException
    +
    + o +pmSq +
    + public static double pmSq(double x) throws PmException
    +
    + o +pmClose +
    + public static boolean pmClose(double a,
    +                               double b,
    +                               double eps)
    +
    + o +toCyl +
    + public static PM_CYLINDRICAL toCyl(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartCylConvert +
    + public static int pmCartCylConvert(PmCartesian v,
    +                                    PmCylindrical c) throws PmException
    +
    + o +toSph +
    + public static PM_SPHERICAL toSph(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartSphConvert +
    + public static int pmCartSphConvert(PmCartesian v,
    +                                    PmSpherical s) throws PmException
    +
    + o +toCart +
    + public static PM_CARTESIAN toCart(PM_SPHERICAL v) throws PmException
    +
    + o +pmSphCartConvert +
    + public static int pmSphCartConvert(PmSpherical s,
    +                                    PmCartesian v) throws PmException
    +
    + o +toCyl +
    + public static PM_CYLINDRICAL toCyl(PM_SPHERICAL s) throws PmException
    +
    + o +pmSphCylConvert +
    + public static int pmSphCylConvert(PmSpherical s,
    +                                   PmCylindrical c) throws PmException
    +
    + o +toCart +
    + public static PM_CARTESIAN toCart(PM_CYLINDRICAL v) throws PmException
    +
    + o +pmCylCartConvert +
    + public static int pmCylCartConvert(PmCylindrical c,
    +                                    PmCartesian v) throws PmException
    +
    + o +toSph +
    + public static PM_SPHERICAL toSph(PM_CYLINDRICAL c) throws PmException
    +
    + o +pmCylSphConvert +
    + public static int pmCylSphConvert(PmCylindrical c,
    +                                   PmSpherical s) throws PmException
    +
    + o +pmAxisAngleQuatConvert +
    + public static int pmAxisAngleQuatConvert(int axis,
    +                                          double a,
    +                                          PmQuaternion q) throws PmException
    +
    + o +toQuat +
    + public static PM_QUATERNION toQuat(PM_ROTATION_VECTOR v) throws PmException
    +
    + o +pmRotQuatConvert +
    + public static int pmRotQuatConvert(PmRotationVector r,
    +                                    PmQuaternion q) throws PmException
    +
    + o +toMat +
    + public static PM_ROTATION_MATRIX toMat(PM_ROTATION_VECTOR v) throws PmException
    +
    + o +pmRotMatConvert +
    + public static int pmRotMatConvert(PmRotationVector r,
    +                                   PmRotationMatrix m) throws PmException
    +
    + o +pmRotZyzConvert +
    + public static int pmRotZyzConvert(PmRotationVector r,
    +                                   PmEulerZyz zyz) throws PmException
    +
    + o +pmRotZyxConvert +
    + public static int pmRotZyxConvert(PmRotationVector r,
    +                                   PmEulerZyx zyx) throws PmException
    +
    + o +pmRotRpyConvert +
    + public static int pmRotRpyConvert(PmRotationVector r,
    +                                   PmRpy rpy) throws PmException
    +
    + o +toRot +
    + public static PM_ROTATION_VECTOR toRot(PM_QUATERNION v) throws PmException
    +
    + o +pmQuatRotConvert +
    + public static int pmQuatRotConvert(PmQuaternion q,
    +                                    PmRotationVector r) throws PmException
    +
    + o +toMat +
    + public static PM_ROTATION_MATRIX toMat(PM_QUATERNION v) throws PmException
    +
    + o +pmQuatMatConvert +
    + public static int pmQuatMatConvert(PmQuaternion q,
    +                                    PmRotationMatrix m) throws PmException
    +
    + o +pmQuatZyzConvert +
    + public static int pmQuatZyzConvert(PmQuaternion q,
    +                                    PmEulerZyz zyz) throws PmException
    +
    + o +pmQuatZyxConvert +
    + public static int pmQuatZyxConvert(PmQuaternion q,
    +                                    PmEulerZyx zyx) throws PmException
    +
    + o +pmQuatRpyConvert +
    + public static int pmQuatRpyConvert(PmQuaternion q,
    +                                    PmRpy rpy) throws PmException
    +
    + o +pmMatRotConvert +
    + public static int pmMatRotConvert(PmRotationMatrix m,
    +                                   PmRotationVector r) throws PmException
    +
    + o +toQuat +
    + public static PM_QUATERNION toQuat(PM_ROTATION_MATRIX m) throws PmException
    +
    + o +pmMatQuatConvert +
    + public static int pmMatQuatConvert(PmRotationMatrix m,
    +                                    PmQuaternion q) throws PmException
    +
    + o +pmMatZyzConvert +
    + public static int pmMatZyzConvert(PmRotationMatrix m,
    +                                   PmEulerZyz zyz) throws PmException
    +
    + o +pmMatZyxConvert +
    + public static int pmMatZyxConvert(PmRotationMatrix m,
    +                                   PmEulerZyx zyx) throws PmException
    +
    + o +pmMatRpyConvert +
    + public static int pmMatRpyConvert(PmRotationMatrix m,
    +                                   PmRpy rpy) throws PmException
    +
    + o +pmZyzRotConvert +
    + public static int pmZyzRotConvert(PmEulerZyz zyz,
    +                                   PmRotationVector r) throws PmException
    +
    + o +toQuat +
    + public static PM_QUATERNION toQuat(PM_EULER_ZYZ v) throws PmException
    +
    + o +pmZyzQuatConvert +
    + public static int pmZyzQuatConvert(PmEulerZyz zyz,
    +                                    PmQuaternion q) throws PmException
    +
    + o +pmZyzMatConvert +
    + public static int pmZyzMatConvert(PmEulerZyz zyz,
    +                                   PmRotationMatrix m) throws PmException
    +
    + o +pmZyzRpyConvert +
    + public static int pmZyzRpyConvert(PmEulerZyz zyz,
    +                                   PmRpy rpy) throws PmException
    +
    + o +pmZyxRotConvert +
    + public static int pmZyxRotConvert(PmEulerZyx zyx,
    +                                   PmRotationVector r) throws PmException
    +
    + o +toQuat +
    + public static PM_QUATERNION toQuat(PM_EULER_ZYX v) throws PmException
    +
    + o +pmZyxQuatConvert +
    + public static int pmZyxQuatConvert(PmEulerZyx zyx,
    +                                    PmQuaternion q) throws PmException
    +
    + o +pmZyxMatConvert +
    + public static int pmZyxMatConvert(PmEulerZyx zyx,
    +                                   PmRotationMatrix m) throws PmException
    +
    + o +pmZyxZyzConvert +
    + public static int pmZyxZyzConvert(PmEulerZyx zyx,
    +                                   PmEulerZyz zyz) throws PmException
    +
    + o +pmZyxRpyConvert +
    + public static int pmZyxRpyConvert(PmEulerZyx zyx,
    +                                   PmRpy rpy) throws PmException
    +
    + o +pmRpyRotConvert +
    + public static int pmRpyRotConvert(PmRpy rpy,
    +                                   PmRotationVector r) throws PmException
    +
    + o +toQuat +
    + public static PM_QUATERNION toQuat(PM_RPY v) throws PmException
    +
    + o +pmRpyQuatConvert +
    + public static int pmRpyQuatConvert(PmRpy rpy,
    +                                    PmQuaternion q) throws PmException
    +
    + o +pmRpyMatConvert +
    + public static int pmRpyMatConvert(PmRpy rpy,
    +                                   PmRotationMatrix m) throws PmException
    +
    + o +pmRpyZyzConvert +
    + public static int pmRpyZyzConvert(PmRpy rpy,
    +                                   PmEulerZyz zyz) throws PmException
    +
    + o +pmRpyZyxConvert +
    + public static int pmRpyZyxConvert(PmRpy rpy,
    +                                   PmEulerZyx zyx) throws PmException
    +
    + o +toHom +
    + public static PM_HOMOGENEOUS toHom(PM_POSE p) throws PmException
    +
    + o +pmPoseHomConvert +
    + public static int pmPoseHomConvert(PmPose p,
    +                                    PmHomogeneous h) throws PmException
    +
    + o +pmHomPoseConvert +
    + public static int pmHomPoseConvert(PmHomogeneous h,
    +                                    PmPose p) throws PmException
    +
    + o +pmCartCartCompare +
    + public static boolean pmCartCartCompare(PmCartesian v1,
    +                                         PmCartesian v2) throws PmException
    +
    + o +dot +
    + public static double dot(PM_CARTESIAN v1,
    +                          PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartDot +
    + public static double pmCartCartDot(PmCartesian v1,
    +                                    PmCartesian v2) throws PmException
    +
    + o +cross +
    + public static PM_CARTESIAN cross(PM_CARTESIAN v1,
    +                                  PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartCross +
    + public static int pmCartCartCross(PmCartesian v1,
    +                                   PmCartesian v2,
    +                                   PmCartesian vout) throws PmException
    +
    + o +mag +
    + public static double mag(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartMag +
    + public static double pmCartMag(PmCartesian v) throws PmException
    +
    + o +disp +
    + public static double disp(PM_CARTESIAN v1,
    +                           PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartDisp +
    + public static double pmCartCartDisp(PmCartesian v1,
    +                                     PmCartesian v2) throws PmException
    +
    + o +add +
    + public static PM_CARTESIAN add(PM_CARTESIAN v1,
    +                                PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartAdd +
    + public static int pmCartCartAdd(PmCartesian v1,
    +                                 PmCartesian v2,
    +                                 PmCartesian vout) throws PmException
    +
    + o +subtract +
    + public static PM_CARTESIAN subtract(PM_CARTESIAN v1,
    +                                     PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartSub +
    + public static int pmCartCartSub(PmCartesian v1,
    +                                 PmCartesian v2,
    +                                 PmCartesian vout) throws PmException
    +
    + o +multiply +
    + public static PM_CARTESIAN multiply(double d,
    +                                     PM_CARTESIAN v) throws PmException
    +
    + o +multiply +
    + public static PM_CARTESIAN multiply(PM_CARTESIAN v,
    +                                     double d) throws PmException
    +
    + o +pmCartScalMult +
    + public static int pmCartScalMult(PmCartesian v1,
    +                                  double d,
    +                                  PmCartesian vout) throws PmException
    +
    + o +divide +
    + public static PM_CARTESIAN divide(PM_CARTESIAN v,
    +                                   double d) throws PmException
    +
    + o +pmCartScalDiv +
    + public static int pmCartScalDiv(PmCartesian v1,
    +                                 double d,
    +                                 PmCartesian vout) throws PmException
    +
    + o +neg +
    + public static PM_CARTESIAN neg(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartNeg +
    + public static int pmCartNeg(PmCartesian v1,
    +                             PmCartesian vout) throws PmException
    +
    + o +inv +
    + public static PM_CARTESIAN inv(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartInv +
    + public static int pmCartInv(PmCartesian v1,
    +                             PmCartesian vout) throws PmException
    +
    + o +norm +
    + public static PM_CARTESIAN norm(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartNorm +
    + public static int pmCartNorm(PmCartesian v,
    +                              PmCartesian vout) throws PmException
    +
    + o +isNorm +
    + public static boolean isNorm(PM_CARTESIAN v) throws PmException
    +
    + o +pmCartIsNorm +
    + public static boolean pmCartIsNorm(PmCartesian v) throws PmException
    +
    + o +proj +
    + public static PM_CARTESIAN proj(PM_CARTESIAN v1,
    +                                 PM_CARTESIAN v2) throws PmException
    +
    + o +pmCartCartProj +
    + public static int pmCartCartProj(PmCartesian v1,
    +                                  PmCartesian v2,
    +                                  PmCartesian vout) throws PmException
    +
    + o +pmCartPlaneProj +
    + public static int pmCartPlaneProj(PmCartesian v,
    +                                   PmCartesian normal,
    +                                   PmCartesian vout) throws PmException
    +
    + o +add +
    + public static PM_CYLINDRICAL add(PM_CYLINDRICAL c1,
    +                                  PM_CYLINDRICAL c2) throws PmException
    +
    + o +pmCylCylAdd +
    + public static int pmCylCylAdd(PmCylindrical c1,
    +                               PmCylindrical c2,
    +                               PmCylindrical cout) throws PmException
    +
    + o +subtract +
    + public static PM_CYLINDRICAL subtract(PM_CYLINDRICAL c1,
    +                                       PM_CYLINDRICAL c2) throws PmException
    +
    + o +pmCylCylSub +
    + public static int pmCylCylSub(PmCylindrical c1,
    +                               PmCylindrical c2,
    +                               PmCylindrical cout) throws PmException
    +
    + o +multiply +
    + public static PM_CYLINDRICAL multiply(double d,
    +                                       PM_CYLINDRICAL c) throws PmException
    +
    + o +multiply +
    + public static PM_CYLINDRICAL multiply(PM_CYLINDRICAL c,
    +                                       double d) throws PmException
    +
    + o +pmCylScalMult +
    + public static int pmCylScalMult(PmCylindrical v1,
    +                                 double d,
    +                                 PmCylindrical vout) throws PmException
    +
    + o +divide +
    + public static PM_CYLINDRICAL divide(PM_CYLINDRICAL c,
    +                                     double d) throws PmException
    +
    + o +pmCylScalDiv +
    + public static int pmCylScalDiv(PmCylindrical v1,
    +                                double d,
    +                                PmCylindrical vout) throws PmException
    +
    + o +pmCylCylCompare +
    + public static boolean pmCylCylCompare(PmCylindrical v1,
    +                                       PmCylindrical v2) throws PmException
    +
    + o +dot +
    + public static double dot(PM_CYLINDRICAL v1,
    +                          PM_CYLINDRICAL v2) throws PmException
    +
    + o +pmCylCylDot +
    + public static double pmCylCylDot(PmCylindrical c1,
    +                                  PmCylindrical c2) throws PmException
    +
    + o +mag +
    + public static double mag(PM_CYLINDRICAL v1) throws PmException
    +
    + o +pmCylMag +
    + public static double pmCylMag(PmCylindrical c) throws PmException
    +
    + o +cross +
    + public static PM_CYLINDRICAL cross(PM_CYLINDRICAL v1,
    +                                    PM_CYLINDRICAL v2) throws PmException
    +
    + o +pmCylCylCross +
    + public static int pmCylCylCross(PmCylindrical c1,
    +                                 PmCylindrical c2,
    +                                 PmCylindrical cout) throws PmException
    +
    + o +neg +
    + public static PM_CYLINDRICAL neg(PM_CYLINDRICAL v) throws PmException
    +
    + o +pmCylNeg +
    + public static int pmCylNeg(PmCylindrical v1,
    +                            PmCylindrical vout) throws PmException
    +
    + o +norm +
    + public static PM_CYLINDRICAL norm(PM_CYLINDRICAL v) throws PmException
    +
    + o +pmCylNorm +
    + public static int pmCylNorm(PmCylindrical v,
    +                             PmCylindrical vout) throws PmException
    +
    + o +inv +
    + public static PM_CYLINDRICAL inv(PM_CYLINDRICAL v) throws PmException
    +
    + o +pmCylInv +
    + public static int pmCylInv(PmCylindrical v,
    +                            PmCylindrical vout) throws PmException
    +
    + o +isNorm +
    + public static boolean isNorm(PM_CYLINDRICAL v) throws PmException
    +
    + o +pmCylIsNorm +
    + public static boolean pmCylIsNorm(PmCylindrical v) throws PmException
    +
    + o +pmQuatAxisAngleMult +
    + public static PmQuaternion pmQuatAxisAngleMult(PmQuaternion q,
    +                                                int axis,
    +                                                double angle) throws PmException
    +
    + o +pmQuatAxisAngleMult +
    + public static int pmQuatAxisAngleMult(PmQuaternion q,
    +                                       int axis,
    +                                       double angle,
    +                                       PmQuaternion pq) throws PmException
    +
    + o +multiply +
    + public static PM_ROTATION_VECTOR multiply(PM_ROTATION_VECTOR r,
    +                                           double s) throws PmException
    +
    + o +multiply +
    + public static PmRotationVector multiply(double s,
    +                                         PM_ROTATION_VECTOR r) throws PmException
    +
    + o +pmRotScalMult +
    + public static int pmRotScalMult(PmRotationVector r,
    +                                 double s,
    +                                 PmRotationVector rout) throws PmException
    +
    + o +divide +
    + public static PM_ROTATION_VECTOR divide(PM_ROTATION_VECTOR r,
    +                                         double s) throws PmException
    +
    + o +pmRotScalDiv +
    + public static int pmRotScalDiv(PmRotationVector r,
    +                                double s,
    +                                PmRotationVector rout) throws PmException
    +
    + o +isNorm +
    + public static boolean isNorm(PM_ROTATION_VECTOR r) throws PmException
    +
    + o +pmRotIsNorm +
    + public static boolean pmRotIsNorm(PmRotationVector r) throws PmException
    +
    + o +norm +
    + public static PM_ROTATION_VECTOR norm(PM_ROTATION_VECTOR r) throws PmException
    +
    + o +pmRotNorm +
    + public static int pmRotNorm(PmRotationVector r,
    +                             PmRotationVector rout) throws PmException
    +
    + o +pmMatNorm +
    + public static int pmMatNorm(PmRotationMatrix m,
    +                             PmRotationMatrix mout) throws PmException
    +
    + o +isNorm +
    + public static boolean isNorm(PM_ROTATION_MATRIX m) throws PmException
    +
    + o +pmMatIsNorm +
    + public static boolean pmMatIsNorm(PmRotationMatrix m) throws PmException
    +
    + o +pmMatInv +
    + public static int pmMatInv(PmRotationMatrix m,
    +                            PmRotationMatrix mout) throws PmException
    +
    + o +multiply +
    + public static PM_CARTESIAN multiply(PM_ROTATION_MATRIX m,
    +                                     PM_CARTESIAN v) throws PmException
    +
    + o +pmMatCartMult +
    + public static int pmMatCartMult(PmRotationMatrix m,
    +                                 PmCartesian v,
    +                                 PmCartesian vout) throws PmException
    +
    + o +multiply +
    + public static PM_ROTATION_MATRIX multiply(PM_ROTATION_MATRIX m1,
    +                                           PM_ROTATION_MATRIX m2) throws PmException
    +
    + o +pmMatMatMult +
    + public static int pmMatMatMult(PmRotationMatrix m1,
    +                                PmRotationMatrix m2,
    +                                PmRotationMatrix mout) throws PmException
    +
    + o +pmQuatQuatCompare +
    + public static boolean pmQuatQuatCompare(PmQuaternion q1,
    +                                         PmQuaternion q2) throws PmException
    +
    + o +mag +
    + public static double mag(PM_QUATERNION q) throws PmException
    +
    + o +pmQuatMag +
    + public static double pmQuatMag(PmQuaternion q) throws PmException
    +
    + o +norm +
    + public static PM_QUATERNION norm(PM_QUATERNION q1) throws PmException
    +
    + o +pmQuatNorm +
    + public static int pmQuatNorm(PmQuaternion q1,
    +                              PmQuaternion qout) throws PmException
    +
    + o +inv +
    + public static PM_QUATERNION inv(PM_QUATERNION q1) throws PmException
    +
    + o +pmQuatInv +
    + public static int pmQuatInv(PmQuaternion q1,
    +                             PmQuaternion qout) throws PmException
    +
    + o +isNorm +
    + public static boolean isNorm(PM_QUATERNION q1) throws PmException
    +
    + o +pmQuatIsNorm +
    + public static boolean pmQuatIsNorm(PmQuaternion q1) throws PmException
    +
    + o +multiply +
    + public static PM_QUATERNION multiply(PM_QUATERNION q,
    +                                      double s) throws PmException
    +
    + o +multiply +
    + public static PM_QUATERNION multiply(double s,
    +                                      PM_QUATERNION q) throws PmException
    +
    + o +pmQuatScalMult +
    + public static int pmQuatScalMult(PmQuaternion q,
    +                                  double s,
    +                                  PmQuaternion qout) throws PmException
    +
    + o +divide +
    + public static PM_QUATERNION divide(PM_QUATERNION q,
    +                                    double s) throws PmException
    +
    + o +pmQuatScalDiv +
    + public static int pmQuatScalDiv(PmQuaternion q,
    +                                 double s,
    +                                 PmQuaternion qout) throws PmException
    +
    + o +multiply +
    + public static PM_QUATERNION multiply(PM_QUATERNION q1,
    +                                      PM_QUATERNION q2) throws PmException
    +
    + o +pmQuatQuatMult +
    + public static int pmQuatQuatMult(PmQuaternion q1,
    +                                  PmQuaternion q2,
    +                                  PmQuaternion qout) throws PmException
    +
    + o +multiply +
    + public static PM_CARTESIAN multiply(PM_QUATERNION q1,
    +                                     PM_CARTESIAN v2) throws PmException
    +
    + o +pmQuatCartMult +
    + public static int pmQuatCartMult(PmQuaternion q1,
    +                                  PmCartesian v2,
    +                                  PmCartesian vout) throws PmException
    +
    + o +pmPosePoseCompare +
    + public static boolean pmPosePoseCompare(PmPose p1,
    +                                         PmPose p2) throws PmException
    +
    + o +inv +
    + public static PM_POSE inv(PM_POSE p) throws PmException
    +
    + o +pmPoseInv +
    + public static int pmPoseInv(PmPose p1,
    +                             PmPose p2) throws PmException
    +
    + o +multiply +
    + public static PM_CARTESIAN multiply(PM_POSE p1,
    +                                     PM_CARTESIAN v2) throws PmException
    +
    + o +pmPoseCartMult +
    + public static int pmPoseCartMult(PmPose p1,
    +                                  PmCartesian v2,
    +                                  PmCartesian vout) throws PmException
    +
    + o +multiply +
    + public static PM_POSE multiply(PM_POSE p1,
    +                                PM_POSE p2) throws PmException
    +
    + o +pmPosePoseMult +
    + public static int pmPosePoseMult(PmPose p1,
    +                                  PmPose p2,
    +                                  PmPose pout) throws PmException
    +
    + o +inv +
    + public static PM_HOMOGENEOUS inv(PM_HOMOGENEOUS h) throws PmException
    +
    + o +pmHomInv +
    + public static int pmHomInv(PmHomogeneous h1,
    +                            PmHomogeneous h2) throws PmException
    +
    + o +pmLineInit +
    + public static int pmLineInit(PmLine line,
    +                              PmPose start,
    +                              PmPose end) throws PmException
    +
    + o +pmLinePoint +
    + public static int pmLinePoint(PmLine line,
    +                               double len,
    +                               PmPose point) throws PmException
    +
    + o +pmCircleInit +
    + public static int pmCircleInit(PmCircle circle,
    +                                PmPose start,
    +                                PmPose end,
    +                                PmCartesian center,
    +                                PmCartesian normal,
    +                                int turn) throws PmException
    +
    + o +pmCirclePoint +
    + public static int pmCirclePoint(PmCircle circle,
    +                                 double angle,
    +                                 PmPose point) throws PmException
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/rcs.posemath.testpm.html b/doc/posemathdoc/rcs.posemath.testpm.html new file mode 100644 index 0000000..c6ffb0b --- /dev/null +++ b/doc/posemathdoc/rcs.posemath.testpm.html @@ -0,0 +1,86 @@ + + + + + + + Class rcs.posemath.testpm + + + + +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    +
    +

    + Class rcs.posemath.testpm +

    +
    +java.lang.Object
    +   |
    +   +----rcs.posemath.testpm
    +
    +
    +
    +
    public class testpm +
    extends Object +
    +
    + +

    + Constructor Index +

    +
    +
     o + testpm() +
    +
    +

    + Method Index +

    +
    +
     o + main(String[]) +
    +
     o + testAssert(boolean) +
    +
     o + testAssert(boolean, String) +
    +
    + +

    + Constructors +

    + + o +testpm +
    + public testpm()
    +
    + +

    + Methods +

    + o +testAssert +
    + public static void testAssert(boolean test) throws Exception
    +
    + o +testAssert +
    + public static void testAssert(boolean test,
    +                               String msg)
    +
    + o +main +
    + public static void main(String args[])
    +
    +
    +
    +All Packages  Class Hierarchy  This Package  Previous  Next  Index
    + + diff --git a/doc/posemathdoc/tree.html b/doc/posemathdoc/tree.html new file mode 100644 index 0000000..e6ee882 --- /dev/null +++ b/doc/posemathdoc/tree.html @@ -0,0 +1,79 @@ + + + + + + + Class Hierarchy + + + + +
    All Packages  Index

    +

    + Class Hierarchy +

    + + + diff --git a/doc/qC++toc.html b/doc/qC++toc.html new file mode 100644 index 0000000..87b1a1a --- /dev/null +++ b/doc/qC++toc.html @@ -0,0 +1,25 @@ + + +Table of Contents for C++ Intro + +

    A Quick C++ Introduction for RCS Library Users.

    + +
  • See other RCS Library Documents.
  • +
    +
    +

    Table Of Contents

    + +
    +

    Last Modified: 08/25/99

    +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + diff --git a/doc/quickC++.html b/doc/quickC++.html new file mode 100644 index 0000000..1b21b9a --- /dev/null +++ b/doc/quickC++.html @@ -0,0 +1,412 @@ + + + +Quick C++ Introduction + + + +

    A Quick C++ Introduction for RCS Library Users.

    + +
    +

    This introduction to C++ is provided primarily for C programmers who +need to learn just enough C++ to use the RCS Library.

    +

    Classes

    +

    Classes in C++ define types of data structures and the functions +that operate on those data structures. Instances of the class are called +objects. While the variables and functions in the definition of the +class are called members.

    +

    Example: c++_ex1.cc

    +
    #include <stdio.h>
    +
    +class CLASS_A {
    +  public:	// Defines the access for the following members.
    +	int first_data_member;
    +	float second_data_member;
    +	void function_member();
    +};
    +
    +void CLASS_A::function_member()
    +{
    +	printf("first_member = %d, second_member = %lf\n", 
    +	first_member, second_member);
    +}
    +
    +CLASS_A first_instance_of_A;
    +CLASS_A second_instance_of_A;
    +
    +main()
    +{
    +	first_instance_of_A.first_member = 123;
    +	first_instance_of_A.second_member = 3.14;
    +	second_instance_of_A.first_member = 501;
    +	second_instance_of_A.second_member = 2.718;
    +	first_instance_of_A.function_member();
    +	second_instance_of_A.function_member();
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    first_member = 123, second_member = 3.140000
    +first_member = 501, second_member = 2.718000
    +
    +

    The first_instance_of_A and the second_instance_of_A are objects. +Both objects of the same class contain the same type of data and provide +the same functions but the value of the data for different objects can +be different. The keyword public is used to set access permissions so +that the members following it can be used anywhere that an object of +CLASS_A can be used. The remainder of this document uses only public +members. For information on private and protected member access see the +references at the end of +this document.

    +

    Constructors

    +

    Constuctors are functions which are called whenever a new instance +of a class is created. They are often used to initialize the data in the +class. In NML, constructors allocate memory, initialize communications +channels, read configuration files, set the type and size of messages, +and perform almost all of the run-time setup necessary for NML to work. +There are several times when instances of a class can be created.

    +
      +
    • before main is called
    • +
    • when a function is called in which the object is declared
    • +
    • when the "new" operator is used
    • +
    +

    Constructors are declared as member functions with the +same name as the class. Constructors may also have arguments. If a +constructor has arguments, then the arguments should be added to the +declaration of any object of that class and when the new operator is +used.

    +

    Example: c++_ex2.cc

    +
    +#include <stdio.h>
    +
    +class CLASS_B {
    +  public:
    +	CLASS_B(char *name); // This is the constructor declaration.
    +};
    +
    +CLASS_B::CLASS_B(char *name)
    +{
    +	printf("Constructor for CLASS_B called with name = %s.\n",name);
    +}
    +
    +
    +// VxWorks users should probably not 
    +// declare objects with constructors here.
    +CLASS_B outside_B("outside"); 
    +
    +void my_function();
    +
    +main()
    +{	
    +	CLASS_B main_B("main");
    +	my_function();
    +}
    +
    +void my_function()
    +{
    +	CLASS_B my_function_B("my_function");
    +	CLASS_B *ptr_to_B;
    +
    +	ptr_to_B = new CLASS_B("new");
    +
    +	delete ptr_to_B; // See Destructors
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    Constructor for CLASS_B called with name = outside.
    +Constructor for CLASS_B called with name = main.
    +Constructor for CLASS_B called with name = my_function.
    +Constructor for CLASS_B called with name = new.
    +
    +

    VxWorks users should not declare objects with +constructors outside of functions, as outside_B is declared unless they +use a special C++ loader that calls the constructors of objects declared +outside of functions. The default "ld" loader does not call the +constructor in this case, which means the object may not be properly +initialized.

    +

    Destructors

    +

    Destructors are functions that are called whenever an object of the +class is destroyed. Destructors are often used to deallocate memory, +close communications channels and files, and to return the system to +some known or stable state. Objects may be destroyed after the function +they were declared in returns, when the delete operator is used or when +the program is over. Destructors are declared with the same name as the +class except that they are preceded with a "~". Destructors can not have +arguments.

    +

    Example: c++_ex3.cc

    +
    #include <stdio.h>
    +
    +class CLASS_C {
    +  public:
    +	CLASS_C(char *_name); // This is the constructor declaration.
    +	~CLASS_C(); // This is the destructor declaration.
    +	char *name;
    +};
    +
    +CLASS_C::CLASS_C(char *_name)
    +{	
    +	name = _name;
    +	printf("Constructor for CLASS_C called with name = %s.\n",name);
    +}
    +
    +CLASS_C::~CLASS_C()
    +{	
    +	printf("Destructor for CLASS_C called with name = %s.\n",name);
    +}
    +
    +// VxWorks users should probably not 
    +// declare objects with constructors here.
    +CLASS_C outside_C("outside"); 
    +
    +void my_function();
    +
    +main()
    +{	
    +	CLASS_C main_C("main");
    +	my_function();
    +	//exit(0);
    +}
    +
    +void my_function()
    +{
    +	CLASS_C my_function_C("my_function");
    +	CLASS_C *ptr_to_C;
    +
    +	ptr_to_C = new CLASS_C("new");
    +
    +	delete ptr_to_C; // See Destructors
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    Constructor for CLASS_C called with name = outside.
    +Constructor for CLASS_C called with name = main.
    +Constructor for CLASS_C called with name = my_function.
    +Constructor for CLASS_C called with name = new.
    +Destructor for CLASS_C called with name = new.
    +Destructor for CLASS_C called with name = my_function.
    +Destructor for CLASS_C called with name = main.
    +Destructor for CLASS_C called with name = outside.
    +
    +

    Unfortunately, if the exit +is uncommented then the following output results.

    +
    Constructor for CLASS_C called with name = outside.
    +Constructor for CLASS_C called with name = main.
    +Constructor for CLASS_C called with name = my_function.
    +Constructor for CLASS_C called with name = new.
    +Destructor for CLASS_C called with name = new.
    +Destructor for CLASS_C called with name = my_function.
    +Destructor for CLASS_C called with name = outside.
    +
    +

    Notice that the destructor for main_C was never called which could +mean that the program would not properly clean up something associated +with that object. For this reason, I recommend using the new and delete +operators whenever possible and to avoid using the exit function.

    +

    Overloaded Functions

    +

    In C only one function in a given scope with the same name is +allowed. However, in C++ more than one function in the same scope can +have the same name as long as the functions have different arguments. +Such functions are called overloaded. Constructors, stand-alone and +class member functions can all be overloaded.

    +

    Example: c++_ex4.cc

    +
    #include <stdio.h>
    +
    +void output(int i)
    +{
    +	printf("output int: %d\n",i);
    +}
    +
    +void output(float f)
    +{
    +	printf("output float: %f\n",f);
    +}
    +
    +main()
    +{
    +	int integer;
    +	float floating_point;
    +	integer = 501;
    +	floating_point = 1.41;
    +	output(integer);
    +	output(floating_point);
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    output int: 501
    +output float: 1.410000
    +
    +

    The function output was overloaded so that you can give it either an +integer or a floating point number and it will print the value out.

    +

    Inheritance

    +

    Inheritance in C++ allows programmers to create classes that are +extended or modified versions of existing classes without modifying the +original class. The derived class will have all of the members of +original class plus any members of it's own. If the original class had +virtual member +functions, they can effectively be replaced in the derived class by +declaring new functions with the same name and arguments.

    +

    Example: c++_ex5.cc

    +
    #include <stdio.h>
    +
    +class BASE_CLASS_A {
    +  public:
    +	int ia;
    +	void print_ia();
    +};
    +
    +class DERIVED_CLASS_B: public BASE_CLASS_A {
    +  public:
    +	float fb;
    +	void print_fb();
    +};
    +
    +void BASE_CLASS_A::print_ia()
    +{
    +	printf("ia = %d\n", ia);
    +}
    +
    +void DERIVED_CLASS_B::print_fb()
    +{
    +	printf("fb = %f\n", fb);
    +}
    +
    +main()
    +{
    +	DERIVED_CLASS_B b;
    +	b.ia = 1;
    +	b.fb = 2.0;
    +	b.print_ia();
    +	b.print_fb();
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    ia = 1
    +fb = 2.000000
    +
    +

    The example shows that DERIVED_CLASS_B could be used as if it were +defined as it is below.

    +
    class DERIVED_CLASS_B {
    +  public:
    +	int ia; // inherited from BASE_CLASS_A
    +	void print_ia(); // inherited from BASE_CLASS_A
    +	float fb; // added to derived class
    +	void print_fb(); // added to derived class
    +};
    +
    +

    Virtual Functions

    +

    Virtual functions allow programmers to write code that is extremely +general, because the selection of which functions are called does not +occur until run-time. To use virtual functions in this way it is +necessary to call them through a pointer to the base class, because +only by using a pointer can the type of object passed to a function be +changed at run-time. It is necessary to declare the function virtual to +obtain run-time binding because of the following fact. If a function which is not virtual +is overloaded in a derived class, then the derived class version of the function will be used if +the derived class is used explicitly, but not if it is used though a +pointer to the base class.

    +

    Example: c++_ex6.cc

    +
    #include <stdio.h>
    +
    +class BASE_CLASS_C {
    +  public:
    +	BASE_CLASS_C(char *_name) {name = _name;} ;
    +	char *name;
    +	virtual void virtual_function();
    +	void non_virtual_function();
    +};
    +
    +void BASE_CLASS_C::virtual_function()
    +{
    +	printf("BASE_CLASS_C::virtual_function called with name = %s\n",name);
    +}
    +
    +void BASE_CLASS_C::non_virtual_function()
    +{
    +	printf("BASE_CLASS_C::non_virtual_function called with name = %s\n",name);
    +}
    +
    +class DERIVED_CLASS_D: public BASE_CLASS_C {
    +  public:
    +	DERIVED_CLASS_D(char *_name): BASE_CLASS_C(_name) {};
    +	virtual void virtual_function();
    +	void non_virtual_function();
    +};
    +	
    +void DERIVED_CLASS_D::virtual_function()
    +{
    +	printf("DERIVED_CLASS_D::virtual_function called with name = %s\n",name);
    +}
    +
    +void DERIVED_CLASS_D::non_virtual_function()
    +{
    +	printf("DERIVED_CLASS_D::non_virtual_function called with name = %s\n",name);
    +}
    +
    +int function_using_ptr_to_base_class(BASE_CLASS_C *ptr_to_c)
    +{
    +	ptr_to_c->virtual_function();
    +	ptr_to_c->non_virtual_function();
    +}
    +
    +main()
    +{
    +	BASE_CLASS_C c("c");
    +	DERIVED_CLASS_D d("d");
    +
    +	printf("calling c.virtual_function()\n");
    +	c.virtual_function();
    +	printf("calling c.non_virtual_function()\n");
    +	c.non_virtual_function();
    +	printf("calling d.virtual_function()\n");
    +	d.virtual_function();
    +	printf("calling d.non_virtual_function()\n");
    +	d.non_virtual_function();
    +	
    +	printf("calling function_using_ptr_to_base_class(&c;)\n");
    +	function_using_ptr_to_base_class(&c;);	
    +	printf("calling function_using_ptr_to_base_class(&d;)\n");
    +	function_using_ptr_to_base_class(&d;);
    +}
    +
    +

    This example produces the following output after being compiled and +run.

    +
    calling c.virtual_function()
    +BASE_CLASS_C::virtual_function called with name = c
    +calling c.non_virtual_function()
    +BASE_CLASS_C::non_virtual_function called with name = c
    +calling d.virtual_function()
    +DERIVED_CLASS_D::virtual_function called with name = d
    +calling d.non_virtual_function()
    +DERIVED_CLASS_D::non_virtual_function called with name = d
    +calling function_using_ptr_to_base_class(&c;)
    +BASE_CLASS_C::virtual_function called with name = c
    +BASE_CLASS_C::non_virtual_function called with name = c
    +calling function_using_ptr_to_base_class(&d;)
    +DERIVED_CLASS_D::virtual_function called with name = d
    +BASE_CLASS_C::non_virtual_function called with name = d
    +
    +

    Notice the last two lines of the output where the program ends up +calling the virtual_function of the derived_class and the +non_virtual_function of the base class. Also notice that this example +shows how to use an inline constructor and how to pass an argument from +the constructor of a derived class to the constructor of the base class.

    +
    +

    Last Modified: 08/25/99

    + +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + diff --git a/doc/rcsvers.html b/doc/rcsvers.html new file mode 100644 index 0000000..a3f27f4 --- /dev/null +++ b/doc/rcsvers.html @@ -0,0 +1,90 @@ + + +RCS Library Version Functions + + +

    RCS Version Functions

    +

    Version numbers

    +

    The RCS versions numbers are 2 decimal numbers separated by a +decimal point. For example iin "2.7", the major version number is +2 and the minor version number is 7. If two programs communicate there should +be no problem if the versions of RCS used differ only by +a minor version number, but if they differ by a major version number then it +is likely that one or both programs may need to be updated.

    +

    C++ Functions

    +

    There are several ways that programmers can test the RCS version.

    +

    RCS_VERSION

    +

    RCS_VERSION is a macro defined in rcs.hh, of the form "m.n", +where m is the major version number and n is minor version number.

    +

    print_rcs_version

    +

    This function prints a line describing the RCS library, it's version, +date compiled etc.

    +

    rcs_version_compare

    +
    +int rcs_version_compare(const char * compversion);
    +
    +

    +This function allows users to determine if the RCS library linked in +is newer or older than a particular version. +It returns 0 if the version matches, -1 if the RCS library linked in +is older than compversion, and +1 if the RCS library linked in +is newer than compversion. +If no minor number is included in compversion any version with the +given major number will return 0. +

    Example 1:

    +
    +main()
    +{
    +	if(rcs_version_compare("2.5") < 0)
    +	{
    +		printf("RCS library older than 2.5\n");
    +	}
    +}
    +
    +

    Example 2:

    +
    +// This example shows how to test if the rcs.hh included matches the
    +// library that is linked in.
    +main()
    +{
    +	if(rcs_version_compare(RCS_VERSION) != 0)
    +	{
    +		printf("RCS library and header file don't match.\n");
    +	}
    +}
    +

    Example 2:

    +
    +// Only compare major number.
    +main()
    +{
    +	if(rcs_version_compare("2") != 0)
    +	{
    +		printf("RCS library is not version 2.\n");
    +	}
    +	else
    +	{
    +		printf("RCS library is version 2. (It could be 2.0 or 2.99, we don't care.)\n");
    +	}
    +
    +}
    +
    +

    +

    Using What to determine the Version

    +The SCCS what command can be used to determine the version of +the library linked into an executable. +
    +	what executable_file | grep RCS_LIBRARY_VERSION
    +
    +output:
    +        RCS_LIBRARY_VERSION: 2.9 Compiled on  May  6 1997 at 15:55:35 for the  sunos5 platform.
    +
    +
    +
    + +

    Java Functions

    +

    Not Implemented yet.

    +

    See Also

    +The list of modifications. + + + diff --git a/doc/redirect.nml b/doc/redirect.nml new file mode 100644 index 0000000..5d9935c --- /dev/null +++ b/doc/redirect.nml @@ -0,0 +1,21 @@ + +# Buffer lines + +# connect to one nmlcfgsvr if we are looking for b1 +B b1 nmlcfgsvr::50000 + +#connect to a different nmlcfgsvr if we are looking for queued_buffer and set the option queue=10 +B queued_buffer nmlcfgsvr:129.6.78.68:::options=queue=10 + +# Process lines + +# if this process is named "svr" use the new create type and set the server flag to 1 +P svr default nmlcfgsvr_options=create=new set_to_server=1 + +# if this process is not named above but the buffer is +# then use the checkwait createtype and set the timeout to 0.5 +P default default nmlcfgsvr_options=create=checkwait timeout=0.5 + +# If we read this far without finding a matching buffer line and process line connect to nmlcfgsvr. +nmlcfgsvr: + diff --git a/doc/references.html b/doc/references.html new file mode 100644 index 0000000..3811e4b --- /dev/null +++ b/doc/references.html @@ -0,0 +1,23 @@ + + +RCS Library - References + + +

    References for the RCS Library Documents

    +
    +
      +
    1. Ellis, Margeret A. and Stroustrup, Bjarne, The Annotated C++ Reference Manual, AT&T Bell Telephone Laboratories, 1990
    2. +
    3. Stevens, Richard W., UNIX Network Programming, PTR Prentice-Hall Inc., 1990
    4. +
    5. Stevens, Richard W., Advanced Programming in the UNIX Environment, Addison-Wesley Publishing Company, 1992
    6. +
    7. Petzold, Charles, Programming Windows 3.1, Microsoft Press, 1992
    8. +
    +
    + +

    Last Modified: 10/26/95

    +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + diff --git a/doc/reloader.html b/doc/reloader.html new file mode 100644 index 0000000..6fdd1e6 --- /dev/null +++ b/doc/reloader.html @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/doc/roots.cc b/doc/roots.cc new file mode 100644 index 0000000..b28bf75 --- /dev/null +++ b/doc/roots.cc @@ -0,0 +1,16 @@ +#include "roots.hh" +#include "rcs.hh" +#include + +/* Function for computing the roots of a quadratic. */ +void compute_roots( double A, double B, double C, double &root1, double &root2) +{ + if(B*B-4*A*C < 0) + { + rcs_print("compute_roots: Can't compute square root of %lf\n", + B*B-4*A*C); + return; + } + root1 = (-B+sqrt(B*B-4*A*C))/(2*A); + root2 = (-B-sqrt(B*B-4*A*C))/(2*A); +} diff --git a/doc/roots.hh b/doc/roots.hh new file mode 100644 index 0000000..4821034 --- /dev/null +++ b/doc/roots.hh @@ -0,0 +1,8 @@ +/* roots.hh */ +#ifndef ROOTS_HH +#define ROOTS_HH + +/* Function for computing the roots of a quadratic. */ +void compute_roots( double A, double B, double C, double &root1, double &root2); + +#endif /* end of ROOTS_HH */ diff --git a/doc/simple_data_logger.cc b/doc/simple_data_logger.cc new file mode 100644 index 0000000..5102aaf --- /dev/null +++ b/doc/simple_data_logger.cc @@ -0,0 +1,13 @@ + + +#include "nml_ex1.hh" + +int main() +{ + NML nml(ex_format,"ex_buf1","simple_data_logger","ex_cfg.nml"); + + nml.read(); + nml.write_encoded_data_to_file(nml.get_address(), + CMS_PACKED_ENCODING, + "ex_msg_file.EXAMPLE_MSG_TYPE"); +} diff --git a/doc/simple_data_playback.cc b/doc/simple_data_playback.cc new file mode 100644 index 0000000..99e0306 --- /dev/null +++ b/doc/simple_data_playback.cc @@ -0,0 +1,13 @@ + + +#include "nml_ex1.hh" + +int main(int argc, const char **argv) +{ + NML nml(ex_format,"ex_buf1","simple_data_playback","ex_cfg.nml"); + + nml.write(nml.read_encoded_data_from_file("ex_msg_file.EXAMPLE_MSG_TYPE", + CMS_PACKED_ENCODING)); + + +} diff --git a/doc/socapplet/CountButton.class b/doc/socapplet/CountButton.class new file mode 100644 index 0000000..abcddd2 Binary files /dev/null and b/doc/socapplet/CountButton.class differ diff --git a/doc/socapplet/CountButton.dep b/doc/socapplet/CountButton.dep new file mode 100644 index 0000000..86291fb --- /dev/null +++ b/doc/socapplet/CountButton.dep @@ -0,0 +1 @@ +c:\windows\java\classes\classes.zip diff --git a/doc/socapplet/CountButton.java b/doc/socapplet/CountButton.java new file mode 100644 index 0000000..4f78f56 --- /dev/null +++ b/doc/socapplet/CountButton.java @@ -0,0 +1,16 @@ +import java.awt.*; + +// Button to reset time. +public class CountButton extends Button +{ + int count = 0; + public CountButton(String str) + { + setLabel(str); + } + public boolean action(Event evt, Object what) + { + count++; + return true; + } +} diff --git a/doc/socapplet/delete_logs.cgi b/doc/socapplet/delete_logs.cgi new file mode 100755 index 0000000..770f83d --- /dev/null +++ b/doc/socapplet/delete_logs.cgi @@ -0,0 +1,12 @@ +#!/bin/csh -f + +echo Content type: text/html +cat kill_servers_top.html + +umask 000 +echo rm 'ls *.log' +rm *.log +echo rm 'ls *.err' +rm *.err +echo rm 'ls *.pid' +rm *.pid diff --git a/doc/socapplet/javaintf.html b/doc/socapplet/javaintf.html new file mode 100644 index 0000000..204208f --- /dev/null +++ b/doc/socapplet/javaintf.html @@ -0,0 +1,121 @@ +%D% + + + + +Java Inteface to NML + + +

    Connecting to NML from languages (such as Java) other than C++ via sockets.

    +
    +

    Introduction

    +

    When using languages other than C++ with NML, there are several problems. +The header files with the NML message definitions can not be included. The libraries for managing the NML communications are not available. In the case of +a Java applet the NML configuration file might also not be available. +One solution to this problem is to link together C++ code with +the code written in another language into a single program. This was the approach used in the EMC Graphical User Interface which is primarily written in +Visual Basic. Another approach is that the program written in non-C++ +connect via sockets to an NML server. However because the NML server has +many options writing the client might require a great deal of work to support +all the options. Here I will choose a set of options that simplifies the +interface for a Java client and describe how the client can be written. +

    +

    NML Configuration

    +

    On each buffer line for buffers remove any of the following if they were there: (TCP=?, UDP=?, ascii, xdr). +Then add "STCP=" to set the remote protocol to a simplified TCP protocol to the end of each buffer line. Unlike the normal TCP protocol, each +buffer must have a unique port. + Add "disp" to set the updater type to the ascii display type. +

    +

    Java Socket Code

    +

    +To open a connection create a new socket, making sure to match the host +and port from the NML configuration file. +

    +	String host = "giskard.cme.nist.gov";
    +	int port = 2001;
    +	Socket nmlsocket;
    +	nmlSocket = new Socket(host, port);
    +
    +

    +Then create a DataInputStream and DataOutputStream using that socket. +

    +
    +	DataOutputStream nmlOs;
    +	DataInputStream nmlIs;
    +	nmlOs = new DataOutputStream(nmlSocket.GetOutputStream);
    +	nmlIs = new DataInputStream(nmlSocket.GetInputStream);
    +
    +

    +To read from an NML buffer, write "read:\n" or "peek:" to +the DataOutputStream, then read a line from the DataInputStream. The line will +contain the NML message beginning with the type and size of the message and followed by members in the order the update functions are called. (The size indicates the size of the structure in C++ not the length of the string returned. -- Ignore it.) The parameters are seperated by commas. Below is an example of how to parse this string. +

    +
    +	// Recieve the current position.
    +	String nmlMsgString;
    +	long type;
    +	long size;
    +	float x;
    +	int index;
    +	nmlOs.writeBytes("read:\n");
    +	nmlMsgString = nmlIs.ReadLine();
    +	// nmlMsgString might look like this "8010,32,5.0,-25.0,0.7"
    +	type = Long.valueOf(nmlMsgString);
    +	index = nmlMsgString.indexOf(",");
    +	size = Long.valueOf(nmlMsgString.substring(index));
    +	index = nmlMsgString.indexOf(",",index);
    +	x = Float.valueOf(nmlMsgString.substring(index));
    +
    +To write to a NML buffer send write "write:" or "write_if_read:" followed by the message in the same form as they are read in, begining with the type and size followed by members seperated by commas. It is not neccessary to provide all of the members of the message. Members ommitted from the end of the string will be considered to be zero. It is also not neccessary to +calculate the size of the message, but a place holder is neccessary if there are any other members to set in the string. +
    +	// Send the command to goto x,0,0
    +	nmlOs.writeBytes("8001,0," + Double(x).toString());
    +
    + +

    A Complete Example

    +

    +This example consists of 3 programs: + +

      +
    1. A C++ pseudo controller +which accepts commands and updates a world model buffer. (wtimer.cc,timetype.cc, and timetype.hh)
    2. +
    3. A C++ server which passes messages back and forth between remote processes and the local buffers read and updated by the controller.(timesvr.cc,timetype.cc, and timetype.hh)
    4. +
    5. A Java Applet that sends +commands when buttons are pushed and polls the world model for display. +(socapplet.java and CountButton.java)
    6. +
    + +

    +The applet looks somewhat like a stopwatch. The controller doesn't have any +hardware to control so I simulate world model by just updating the time +in the world model buffer. Since we lack the computing resources here +to run a separate controller for each user that starts the applet, pressing +reset, start, or stop changes not only your display but also the display +of anyone else veiwing this applet. +

    + +
    View the Applet +
    + + +
    + +

    Last Modified: %H%

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + diff --git a/doc/socapplet/kill_servers.cgi b/doc/socapplet/kill_servers.cgi new file mode 100755 index 0000000..19c6f42 --- /dev/null +++ b/doc/socapplet/kill_servers.cgi @@ -0,0 +1,16 @@ +#!/bin/sh + +umask 000 +echo Content type: text/html +cat kill_servers_top.html + +echo kill -2 `cat timesvr.pid` +kill -2 `cat timesvr.pid` +echo kill -2 `cat wtimer.pid` +kill -2 `cat wtimer.pid` + +#\rm -f timesvr.pid >> kill_server.log +#\rm -f wtimer.pid >> kill_server.log + +cat kill_servers_bottom.html + diff --git a/doc/socapplet/kill_servers.html b/doc/socapplet/kill_servers.html new file mode 100644 index 0000000..7f366a3 --- /dev/null +++ b/doc/socapplet/kill_servers.html @@ -0,0 +1,8 @@ + + + + +Socapplet Kill Servers Response + + +
    diff --git a/doc/socapplet/kill_servers.top.html b/doc/socapplet/kill_servers.top.html
    new file mode 100644
    index 0000000..7f366a3
    --- /dev/null
    +++ b/doc/socapplet/kill_servers.top.html
    @@ -0,0 +1,8 @@
    +
    +
    +
    +
    +Socapplet Kill Servers Response
    +
    +
    +
    diff --git a/doc/socapplet/kill_servers_bottom.html b/doc/socapplet/kill_servers_bottom.html
    new file mode 100644
    index 0000000..1d1599d
    --- /dev/null
    +++ b/doc/socapplet/kill_servers_bottom.html
    @@ -0,0 +1,4 @@
    +
    +
    + + \ No newline at end of file diff --git a/doc/socapplet/kill_servers_top.html b/doc/socapplet/kill_servers_top.html new file mode 100644 index 0000000..8c3f5f1 --- /dev/null +++ b/doc/socapplet/kill_servers_top.html @@ -0,0 +1,9 @@ + + + + +Socapplet Kill Servers Response + + +
    +kill_servers output:
    diff --git a/doc/socapplet/socapplet.cgi b/doc/socapplet/socapplet.cgi
    new file mode 100755
    index 0000000..5b7d479
    --- /dev/null
    +++ b/doc/socapplet/socapplet.cgi
    @@ -0,0 +1,7 @@
    +#!/bin/csh
    +
    +./start_servers.cgi
    +echo Content-type: text/html
    +echo
    +echo
    +cat socapplet.html
    diff --git a/doc/socapplet/socapplet.class b/doc/socapplet/socapplet.class
    new file mode 100644
    index 0000000..52efc87
    Binary files /dev/null and b/doc/socapplet/socapplet.class differ
    diff --git a/doc/socapplet/socapplet.dep b/doc/socapplet/socapplet.dep
    new file mode 100644
    index 0000000..b72ae8b
    --- /dev/null
    +++ b/doc/socapplet/socapplet.dep
    @@ -0,0 +1,2 @@
    +.\CountButton.class
    +c:\windows\java\classes\classes.zip
    diff --git a/doc/socapplet/socapplet.html b/doc/socapplet/socapplet.html
    new file mode 100644
    index 0000000..ffb8daa
    --- /dev/null
    +++ b/doc/socapplet/socapplet.html
    @@ -0,0 +1,19 @@
    +
    +
    +
    +
    +Example Java/NML Applet
    +
    +
    +
    + + + +
    +Return to the documentation. + + diff --git a/doc/socapplet/socapplet.java b/doc/socapplet/socapplet.java new file mode 100644 index 0000000..96c036f --- /dev/null +++ b/doc/socapplet/socapplet.java @@ -0,0 +1,339 @@ +//****************************************************************************** +// socapplet.java: Applet +// +//****************************************************************************** +import java.applet.*; +import java.awt.*; +import java.net.*; +import java.io.*; +import CountButton; + + + +//============================================================================== +// Main Class for applet socapplet +// +//============================================================================== +public class socapplet extends Applet implements Runnable +{ + Socket timeSocket = null; + DataOutputStream timeOs = null; + DataInputStream timeIs = null; + String time_reply_string = null; + Socket controlSocket = null; + DataOutputStream controlOs = null; + DataInputStream controlIs = null; + String control_reply_string = null; + boolean time_request_made = false; + CountButton start_button = null; + int last_start_button_count = 0; + CountButton stop_button = null; + int last_stop_button_count = 0; + CountButton reset_button = null; + int last_reset_button_count = 0; + double time = 0.0; + Label time_label = null; + // Members for applet parameters + // = + //-------------------------------------------------------------------------- + private String m_host = "windale"; + private int m_time_port = 3005; + private int m_control_port = 3006; + + + // Parameter names. To change a name of a parameter, you need only make + // a single change. Simply modify the value of the parameter string below. + //-------------------------------------------------------------------------- + private final String PARAM_host = "host"; + private final String PARAM_time_port = "time_port"; + private final String PARAM_control_port = "control_port"; + + + + // THREAD SUPPORT: + // m_socapplet is the Thread object for the applet + //-------------------------------------------------------------------------- + Thread m_socapplet = null; + + + + // socapplet Class Constructor + //-------------------------------------------------------------------------- + public socapplet() + { + // TODO: Add constructor code here + } + + // APPLET INFO SUPPORT: + // The getAppletInfo() method returns a string describing the applet's + // author, copyright date, or miscellaneous information. + //-------------------------------------------------------------------------- + public String getAppletInfo() + { + return "Name: socapplet\r\n" + + "Author: Will Shackleford\r\n" + + "Created with Microsoft Visual J++ Version 1.0"; + } + + // PARAMETER SUPPORT + // The getParameterInfo() method returns an array of strings describing + // the parameters understood by this applet. + // + // emcjava Parameter Information: + // { "Name", "Type", "Description" }, + //-------------------------------------------------------------------------- + public String[][] getParameterInfo() + { + String[][] info = + { + { PARAM_host, "String", "Host Running NML Server" }, + { PARAM_time_port, "int", "Port on which NML server listens for timebuf." }, + { PARAM_control_port, "int", "Port on which NML server listens for controlbuf." }, + }; + return info; + } + + // The init() method is called by the AWT when an applet is first loaded or + // reloaded. Override this method to perform whatever initialization your + // applet needs, such as initializing data structures, loading images or + // fonts, creating frame windows, setting the layout manager, or adding UI + // components. + //-------------------------------------------------------------------------- + public void init() + { + String param; + // host: Host Running NML Server + //-------------------------------------------------------------- + param = getParameter(PARAM_host); + if (param != null) + m_host = param; + + // port: Port on which NML server listens. + //-------------------------------------------------------------- + param = getParameter(PARAM_time_port); + if (param != null) + m_time_port = Integer.parseInt(param); + + // port: Port on which NML server listens. + //-------------------------------------------------------------- + param = getParameter(PARAM_control_port); + if (param != null) + m_control_port = Integer.parseInt(param); + +// If you use a ResourceWizard-generated "time creator" class to + // arrange times in your applet, you may want to call its + // Createtimes() method from within this method. Remove the following + // call to resize() before adding the call to Createtimes(); + // Createtimes() does its own resizing. + //---------------------------------------------------------------------- + resize(320, 240); + + // TODO: Place additional initialization code here + try { + timeSocket = new Socket(m_host, m_time_port); + timeOs = new DataOutputStream(timeSocket.getOutputStream()); + timeIs = new DataInputStream(timeSocket.getInputStream()); + controlSocket = new Socket(m_host, m_control_port); + controlOs = new DataOutputStream(controlSocket.getOutputStream()); + controlIs = new DataInputStream(controlSocket.getInputStream()); + } catch (UnknownHostException e) { + //g.drawString("Don't know about host: dopey",10,20); + } catch (IOException e) { + //g.drawString("Couldn't get I/O for the connection to: taranis", 10,20); + } + time_reply_string = "ERR: No data yet."; + control_reply_string = "ERR: No data yet."; + start_button = new CountButton("Start"); + add(start_button); + stop_button = new CountButton("Stop"); + add(stop_button); + reset_button = new CountButton("Reset"); + add(reset_button); + //setBackground(new Color(0,0,255)); + setBackground(new Color(255,255,255)); + time_label = new Label("Time: 0.0000"); + //Font label_font = time_label.getFont(); + //time_label.setFont(new Font(label_font.getName(), label_font.BOLD,20)); + add(time_label); + + +} + + // Place additional applet clean up code here. destroy() is called when + // when you applet is terminating and being unloaded. + //------------------------------------------------------------------------- + public void destroy() + { + // TODO: Place applet cleanup code here + try{ + + if(timeOs != null) + { + timeOs.close(); + timeOs = null; + } + if(timeIs != null); + { + timeIs.close(); + timeIs = null; + } + if(timeSocket != null) + { + timeSocket.close(); + timeSocket = null; + } + if(controlOs != null) + { + controlOs.close(); + controlOs = null; + } + if(controlIs != null); + { + controlIs.close(); + controlIs = null; + } + if(controlSocket != null) + { + controlSocket.close(); + controlSocket = null; + } + } catch (IOException e) { + //g.drawString("Couldn't get I/O for the connection to: taranis", 10,20); + } + +} + + // socapplet Paint Handler + //-------------------------------------------------------------------------- + public void paint(Graphics g) + { + // TODO: Place applet paint code here + //g.drawString("Running: " + Math.random(), 10, 20); + //DataInputStream stdIn = new DataInputStream(System.in); + + + if (timeSocket != null && timeOs != null && timeIs != null + && controlSocket != null && controlOs != null && controlIs != null) { + try { + String userInput; + + //while ((userInput = stdIn.readLine()) != null) { + if(!time_request_made) + { + //g.drawString("Sending Request. . .", 40,60); + userInput = "read:\n"; + timeOs.writeBytes(userInput); + //os.writeByte('\n'); + time_request_made = true; + //g.drawString("done.", 80,60); + } + else + { + //g.drawString("Recieving reply. . .", 40,60); + time_reply_string = timeIs.readLine(); + time_request_made = false; + //g.drawString("done.", 80,60); + } + //g.drawString("echo: " + time_reply_string, 20, 40); + //g.drawString("Start count " + start_button.count, 20, 80); + //g.drawString("Stop count " + stop_button.count, 20, 100); + //g.drawString("Reset count " + reset_button.count, 20, 120); + if(!time_reply_string.startsWith("ERR")) + { + int time_index = time_reply_string.lastIndexOf(","); + time_index = time_reply_string.lastIndexOf(",",time_index-1); + String time_string = time_reply_string.substring(time_index+1); + Double dtime = new Double(0).valueOf(time_string); + time = dtime.doubleValue(); + //g.setColor(new Color(255,255,255)); + //g.drawString( dtime.toString(), 10,60); + time_label.setText(dtime.toString()); + } + if(start_button.count != last_start_button_count) + { + controlOs.writeBytes("write: 2001\n"); + last_start_button_count = start_button.count; + } + if(stop_button.count != last_stop_button_count) + { + controlOs.writeBytes("write: 2002\n"); + last_stop_button_count = stop_button.count; + } + if(reset_button.count != last_reset_button_count) + { + controlOs.writeBytes("write: 2003\n"); + last_reset_button_count = reset_button.count; + } + + } catch (IOException e) { + g.drawString("I/O failed "+e.getMessage(), 10,20); + } + } + else + { + g.drawString("null Socket or stream.", 20, 40); + } // + + } + + // The start() method is called when the page containing the applet + // first appears on the screen. The AppletWizard's initial implementation + // of this method starts execution of the applet's thread. + //-------------------------------------------------------------------------- + public void start() + { + if (m_socapplet == null) + { + m_socapplet = new Thread(this); + m_socapplet.start(); + } + // TODO: Place additional applet start code here + } + + // The stop() method is called when the page containing the applet is + // no longer on the screen. The AppletWizard's initial implementation of + // this method stops execution of the applet's thread. + //-------------------------------------------------------------------------- + public void stop() + { + if (m_socapplet != null) + { + m_socapplet.stop(); + m_socapplet = null; + } + + // TODO: Place additional applet stop code here + } + + // THREAD SUPPORT + // The run() method is called when the applet's thread is started. If + // your applet performs any ongoing activities without waiting for user + // input, the code for implementing that behavior typically goes here. For + // example, for an applet that performs animation, the run() method times + // the display of images. + //-------------------------------------------------------------------------- + public void run() + { + while (true) + { + try + { + repaint(); + // TODO: Add additional thread-specific code here + Thread.sleep(50); + } + catch (InterruptedException e) + { + // TODO: Place exception-handling code here in case an + // InterruptedException is thrown by Thread.sleep(), + // meaning that another thread has interrupted this one + stop(); + } + } + } + + + + // TODO: Place additional applet code here + +} diff --git a/doc/socapplet/socapplet.mak b/doc/socapplet/socapplet.mak new file mode 100644 index 0000000..128db4f --- /dev/null +++ b/doc/socapplet/socapplet.mak @@ -0,0 +1,170 @@ +# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 +# ** DO NOT EDIT ** + +# TARGTYPE "Java Virtual Machine Java Workspace" 0x0809 + +!IF "$(CFG)" == "" +CFG=socapplet - Java Virtual Machine Debug +!MESSAGE No configuration specified. Defaulting to socapplet - Java Virtual\ + Machine Debug. +!ENDIF + +!IF "$(CFG)" != "socapplet - Java Virtual Machine Release" && "$(CFG)" !=\ + "socapplet - Java Virtual Machine Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE on this makefile +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "socapplet.mak" CFG="socapplet - Java Virtual Machine Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "socapplet - Java Virtual Machine Release" (based on\ + "Java Virtual Machine Java Workspace") +!MESSAGE "socapplet - Java Virtual Machine Debug" (based on\ + "Java Virtual Machine Java Workspace") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +################################################################################ +# Begin Project +# PROP Target_Last_Scanned "socapplet - Java Virtual Machine Debug" +JAVA=jvc.exe + +!IF "$(CFG)" == "socapplet - Java Virtual Machine Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "" +# PROP BASE Intermediate_Dir "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "" +# PROP Intermediate_Dir "" +# PROP Target_Dir "" +OUTDIR=. +INTDIR=. + +ALL : "$(OUTDIR)\socapplet.class" "$(OUTDIR)\socapplet.dep"\ + "$(OUTDIR)\CountButton.class" "$(OUTDIR)\CountButton.dep" + +CLEAN : + -@erase "$(INTDIR)\CountButton.class" + -@erase "$(INTDIR)\CountButton.dep" + -@erase "$(INTDIR)\socapplet.class" + -@erase "$(INTDIR)\socapplet.dep" + +# ADD BASE JAVA /O +# ADD JAVA /O + +!ELSEIF "$(CFG)" == "socapplet - Java Virtual Machine Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "" +# PROP BASE Intermediate_Dir "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "" +# PROP Intermediate_Dir "" +# PROP Target_Dir "" +OUTDIR=. +INTDIR=. + +ALL : "$(OUTDIR)\socapplet.class" "$(OUTDIR)\socapplet.dep"\ + "$(OUTDIR)\CountButton.class" "$(OUTDIR)\CountButton.dep" + +CLEAN : + -@erase "$(INTDIR)\CountButton.class" + -@erase "$(INTDIR)\CountButton.dep" + -@erase "$(INTDIR)\socapplet.class" + -@erase "$(INTDIR)\socapplet.dep" + +# ADD BASE JAVA /g +# ADD JAVA /g + +!ENDIF + +################################################################################ +# Begin Target + +# Name "socapplet - Java Virtual Machine Release" +# Name "socapplet - Java Virtual Machine Debug" + +!IF "$(CFG)" == "socapplet - Java Virtual Machine Release" + +!ELSEIF "$(CFG)" == "socapplet - Java Virtual Machine Debug" + +!ENDIF + +################################################################################ +# Begin Source File + +SOURCE=.\socapplet.java + +!IF "$(CFG)" == "socapplet - Java Virtual Machine Release" + + +"$(INTDIR)\socapplet.class" : $(SOURCE) "$(INTDIR)" + +"$(INTDIR)\socapplet.dep" : $(SOURCE) "$(INTDIR)" + + +!ELSEIF "$(CFG)" == "socapplet - Java Virtual Machine Debug" + + +"$(INTDIR)\socapplet.class" : $(SOURCE) "$(INTDIR)" + +"$(INTDIR)\socapplet.dep" : $(SOURCE) "$(INTDIR)" + + +!ENDIF + +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\socapplet.html + +!IF "$(CFG)" == "socapplet - Java Virtual Machine Release" + +!ELSEIF "$(CFG)" == "socapplet - Java Virtual Machine Debug" + +!ENDIF + +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\CountButton.java + +!IF "$(CFG)" == "socapplet - Java Virtual Machine Release" + + +"$(INTDIR)\CountButton.class" : $(SOURCE) "$(INTDIR)" + +"$(INTDIR)\CountButton.dep" : $(SOURCE) "$(INTDIR)" + + +!ELSEIF "$(CFG)" == "socapplet - Java Virtual Machine Debug" + + +"$(INTDIR)\CountButton.class" : $(SOURCE) "$(INTDIR)" + +"$(INTDIR)\CountButton.dep" : $(SOURCE) "$(INTDIR)" + + +!ENDIF + +# End Source File +# End Target +# End Project +################################################################################ diff --git a/doc/socapplet/socapplet.mdp b/doc/socapplet/socapplet.mdp new file mode 100644 index 0000000..13aa3f7 Binary files /dev/null and b/doc/socapplet/socapplet.mdp differ diff --git a/doc/socapplet/socapplet.ncb b/doc/socapplet/socapplet.ncb new file mode 100644 index 0000000..d241c85 Binary files /dev/null and b/doc/socapplet/socapplet.ncb differ diff --git a/doc/socapplet/socapplet.nml b/doc/socapplet/socapplet.nml new file mode 100644 index 0000000..f1d1426 --- /dev/null +++ b/doc/socapplet/socapplet.nml @@ -0,0 +1,18 @@ +#Buffers: +# Name Type Host size neut? RPC# buffer# max_procs| key +B timebuf SHMEM dopey 0x100 0 20001001 1 2 1103 STCP=3005 disp + +B controlbuf SHMEM dopey 0x100 0 20001001 2 2 1104 STCP=3006 disp + + +#Processes: +# Name Buffer Type Host Ops server? timeout master? c_num + +P timer timebuf LOCAL dopey RW 0 INF 1 1 +P timesvr timebuf LOCAL dopey RW 1 INF 0 0 + +P timer controlbuf LOCAL dopey RW 0 INF 1 1 +P timesvr controlbuf LOCAL dopey RW 1 INF 0 0 + + + diff --git a/doc/socapplet/start_servers.cgi b/doc/socapplet/start_servers.cgi new file mode 100755 index 0000000..8dff2cd --- /dev/null +++ b/doc/socapplet/start_servers.cgi @@ -0,0 +1,26 @@ +#!/bin/csh + +umask 000 +echo BEGIN >>start_servers.log +date >> start_servers.log + +if ( -f wtimler.run) exit; +if ( -f timsvr.run) exit; + +\rm -f wtimer.log +\rm -f timesvr.log +touch wtimer.run +touch timesvr.run +touch wtimer.log +touch timesvr.log +chmod -f a+rw *.{run,log,err} +nice /depot/www-isd/staff/shackleford/socapplet/wtimer >> wtimer.log & +sleep 2 +nice /depot/www-isd/staff/shackleford/socapplet/timesvr >> timesvr.log & +sleep 2 + + +ps -ael | grep time >>start_servers.log +ipcs >> start_servers.log +ls -x *.{log,err,pid,run} >> start_servers.log +echo END >>start_servers.log diff --git a/doc/socapplet/start_servers.log b/doc/socapplet/start_servers.log new file mode 100644 index 0000000..7a2f362 --- /dev/null +++ b/doc/socapplet/start_servers.log @@ -0,0 +1,1408 @@ +BEGIN +Thu Apr 9 09:44:21 EDT 1998 +BEGIN +Thu Apr 9 09:44:49 EDT 1998 +BEGIN +Thu Apr 9 09:45:47 EDT 1998 + 8 S 60001 4978 4974 0 76 24 f64b8330 524 f62a62b6 ? 0:00 timesvr + 8 S 60001 4974 4940 1 96 24 f63d3cc8 524 f62a646e ? 0:00 timesvr + 8 S 60001 4842 1 0 53 24 f624d9a0 527 f62a637e ? 0:00 wtimer + 8 S 60001 4979 4974 0 86 24 f63d3668 524 f62a6f86 ? 0:00 timesvr + 8 S 60001 4961 4940 0 53 24 f6128018 527 f62a650e ? 0:00 wtimer +IPC status from as of Thu Apr 9 09:45:52 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Thu Apr 9 09:54:04 EDT 1998 + 8 S 60001 5145 5140 0 99 24 f5fd5998 524 f62a62b6 ? 0:00 timesvr + 8 S 60001 5140 5127 1 99 24 f64b8330 524 f62a6266 ? 0:00 timesvr + 8 S 60001 5144 5140 0 93 24 f63d3668 524 f62a65ae ? 0:00 timesvr + 8 S 60001 5136 5127 0 53 24 f6128018 527 f61e3a2e ? 0:00 wtimer +IPC status from as of Thu Apr 9 09:54:09 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Thu Apr 9 12:35:41 EDT 1998 + 8 S 60001 6016 6011 0 86 24 f620ccd0 524 f62a6bc6 ? 0:00 timesvr + 8 S 60001 6007 5998 0 53 24 f6285320 527 f62a669e ? 0:00 wtimer + 8 S 60001 6011 5998 0 96 24 f63d4328 524 f62a641e ? 0:00 timesvr + 8 S 60001 6015 6011 0 76 24 f624d9a0 524 f62a655e ? 0:00 timesvr +IPC status from as of Thu Apr 9 12:35:46 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Apr 12 06:31:14 EDT 1998 + 8 S 60001 29334 29330 0 80 24 f6128cd8 524 f647f7e6 ? 0:00 timesvr + 8 S 60001 29330 29317 0 99 24 f60b7ce0 524 f647f746 ? 0:00 timesvr + 8 S 60001 29335 29330 0 90 24 f636f988 524 f647f76e ? 0:00 timesvr + 8 S 60001 29326 29317 1 53 24 f5f96338 527 f647f926 ? 0:00 wtimer +IPC status from as of Sun Apr 12 06:31:20 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Apr 15 16:44:37 EDT 1998 + 8 S 60001 13581 13576 0 86 24 f5da2660 524 f5d6c27e ? 0:00 timesvr + 8 S 60001 13576 13563 1 96 24 f620c010 524 f5d6cd46 ? 0:00 timesvr + 8 S 60001 13580 13576 0 76 24 f61f4668 524 f61e3be6 ? 0:00 timesvr + 8 S 60001 13572 13563 0 53 24 f64b7cd0 527 f5d6c45e ? 0:00 wtimer +IPC status from as of Wed Apr 15 16:44:42 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri Apr 17 15:38:28 EDT 1998 + 8 S 60001 22375 22371 0 56 24 f6235668 524 f61e4af6 ? 0:00 timesvr + 8 S 60001 22371 22358 1 76 24 f61e2320 524 f5d6ca76 ? 0:00 timesvr + 8 S 60001 22367 22358 1 53 24 f636e668 527 f5d6cb66 ? 0:00 wtimer + 8 S 60001 22376 22371 0 66 24 f64b8330 524 f5d6ca9e ? 0:00 timesvr +IPC status from as of Fri Apr 17 15:38:33 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Apr 20 04:14:41 EDT 1998 + 8 S 60001 6270 6266 0 73 24 f60b7ce0 524 f61e4bbe ? 0:00 timesvr + 8 S 60001 6266 6253 1 93 24 f6045660 524 f61e416e ? 0:00 timesvr + 8 S 60001 6271 6266 0 83 24 f636e668 524 f61e4056 ? 0:00 timesvr + 8 S 60001 6262 6253 1 53 24 f6046980 527 f61e4c86 ? 0:00 wtimer +IPC status from as of Mon Apr 20 04:14:47 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Apr 20 15:22:34 EDT 1998 + 8 S 60001 10405 10401 0 81 24 f610bcc8 524 f5d6c1de ? 0:00 timesvr + 8 S 60001 10406 10401 0 91 24 f620d990 524 f61e3646 ? 0:00 timesvr + 8 S 60001 10397 10388 0 53 24 f6151cd0 527 f61e4236 ? 0:00 wtimer + 8 S 60001 10401 10388 1 99 24 f624cce0 524 f61e33c6 ? 0:00 timesvr +IPC status from as of Mon Apr 20 15:22:39 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Apr 21 01:46:22 EDT 1998 + 8 S 60001 14093 14089 0 57 24 f624cce0 524 f61e33c6 ? 0:00 timesvr + 8 S 60001 14089 14076 1 77 24 f610bcc8 524 f6222766 ? 0:00 timesvr + 8 S 60001 14094 14089 0 67 24 f64b8990 524 f62229e6 ? 0:00 timesvr + 8 S 60001 14085 14076 1 53 24 f6151cd0 527 f62228f6 ? 0:00 wtimer +IPC status from as of Tue Apr 21 01:46:27 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +BEGIN +Wed Apr 29 19:28:54 EDT 1998 + 8 S 60001 53 28 1 92 24 f6026008 524 f66c0d5e ? 0:00 timesvr + 8 S 60001 63 54 0 83 24 f5da2660 524 f66a7f76 ? 0:00 timesvr + 8 S 60001 61 53 0 72 24 f636ecc8 524 f634226e ? 0:00 timesvr + 8 S 60001 54 27 1 93 24 f6026cc8 524 f66a7e86 ? 0:00 timesvr + 8 S 60001 47 28 1 53 24 f5b97cd0 527 f5d6c6de ? 0:00 wtimer + 8 S 60001 45 27 0 53 24 f6045660 527 f66c09ee ? 0:00 wtimer +IPC status from as of Wed Apr 29 19:28:59 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +END +BEGIN +Thu Apr 30 12:54:30 EDT 1998 + 8 S 60001 8754 8749 0 78 24 f5b97010 524 f66a71b6 ? 0:00 timesvr + 8 S 60001 8749 8736 1 88 24 f6129998 524 f66a7d96 ? 0:00 timesvr + 8 S 60001 8745 8736 1 53 24 f6027988 527 f66a73e6 ? 0:00 wtimer + 8 S 60001 8753 8749 0 68 24 f6045660 524 f66a7b8e ? 0:00 timesvr +IPC status from as of Thu Apr 30 12:54:36 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- shackle ksg +m 101 0x00000450 --rw-rw-rw- shackle ksg +Semaphores: +s 65536 0x0000044f --ra-ra-ra- shackle ksg +s 65537 0x00000450 --ra-ra-ra- shackle ksg +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat May 2 18:57:15 EDT 1998 + 8 S 60001 1214 1209 0 60 24 f61f0010 524 f61cbfa6 ? 0:00 timesvr + 8 S 60001 1205 1196 1 53 24 f61f1330 527 f61cbeb6 ? 0:00 wtimer + 8 S 60001 1209 1196 1 61 24 f61b2000 524 f60d0026 ? 0:00 timesvr + 8 S 60001 1213 1209 0 59 24 f6174cd8 524 f61cbcfe ? 0:00 timesvr +IPC status from as of Sat May 2 18:57:20 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x0000044f --rw-rw-rw- nobody nobody +m 1 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x0000044f --ra-ra-ra- nobody nobody +s 1 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 5 14:41:21 EDT 1998 + 8 S 60001 16039 16030 0 53 24 f63e6338 527 f6573fde ? 0:00 wtimer + 8 S 60001 16048 16043 0 67 24 f61f0670 524 f6427afe ? 0:00 timesvr + 8 S 60001 16043 16030 1 77 24 f61d4328 524 f65738ae ? 0:00 timesvr + 8 S 60001 16047 16043 0 57 24 f63e6998 524 f65737e6 ? 0:00 timesvr +IPC status from as of Tue May 5 14:41:26 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- nobody nobody +m 101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 65536 0x0000044f --ra-ra-ra- nobody nobody +s 65537 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 5 14:42:19 EDT 1998 + 8 S 60001 16073 16060 1 98 24 f6174cd8 524 f642787e ? 0:00 timesvr + 8 S 60001 16069 16060 0 53 24 f63e8340 527 f642778e ? 0:00 wtimer + 8 S 60001 16039 1 0 53 24 f63e6338 527 f6573fde ? 0:00 wtimer + 8 S 60001 16048 16043 0 53 24 f61f0670 524 f6427afe ? 0:00 timesvr + 8 S 60001 16043 1 0 77 24 f61d4328 524 f65738ae ? 0:00 timesvr + 8 S 60001 16047 16043 0 53 24 f63e6998 524 f65737e6 ? 0:00 timesvr +IPC status from as of Tue May 5 14:42:24 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- nobody nobody +m 101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 65536 0x0000044f --ra-ra-ra- nobody nobody +s 65537 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 5 15:44:29 EDT 1998 + 8 S 60001 16477 16468 0 53 24 f63e6338 527 f657385e ? 0:00 wtimer + 8 S 60001 16486 16482 0 76 24 f61d4988 524 f65736f6 ? 0:00 timesvr + 8 S 60001 16482 16468 1 96 24 f6174cd8 524 f6573d36 ? 0:00 timesvr + 8 S 60001 16487 16482 0 86 24 f61b2660 524 f657371e ? 0:00 timesvr +IPC status from as of Tue May 5 15:44:34 1998 +Message Queue facility not in system. +Shared Memory: +m 200 0x0000044f --rw-rw-rw- nobody nobody +m 201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 131072 0x0000044f --ra-ra-ra- nobody nobody +s 131073 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat May 9 08:15:21 EDT 1998 + 8 S 60001 5968 5964 0 73 24 f60f6660 524 f64ce55e ? 0:00 timesvr + 8 S 60001 5964 5951 1 93 24 f60f6cc0 524 f64ce7de ? 0:00 timesvr + 8 S 60001 5960 5951 0 53 24 f613c988 527 f5d79e76 ? 0:00 wtimer + 8 S 60001 5969 5964 0 83 24 f6576988 524 f64ce82e ? 0:00 timesvr +IPC status from as of Sat May 9 08:15:27 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 1 0x0000044f --rw-rw-rw- nobody nobody +m 2 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 1 0x0000044f --ra-ra-ra- nobody nobody +s 2 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon May 11 03:12:43 EDT 1998 + 8 S 60001 7728 7719 1 53 24 f6471320 527 f64ce356 ? 0:00 wtimer + 8 S 60001 7736 7732 0 65 24 f6470660 524 f5d798fe ? 0:00 timesvr + 8 S 60001 7737 7732 0 75 24 f6567338 524 f64ce536 ? 0:00 timesvr + 8 S 60001 7732 7719 1 85 24 f5f0a330 524 f5d797e6 ? 0:00 timesvr +IPC status from as of Mon May 11 03:12:49 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 101 0x0000044f --rw-rw-rw- nobody nobody +m 102 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 65537 0x0000044f --ra-ra-ra- nobody nobody +s 65538 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon May 11 03:13:31 EDT 1998 + 8 S 60001 7728 1 0 53 24 f6471320 527 f64ce356 ? 0:00 wtimer + 8 S 60001 7801 7792 0 53 24 f6575668 527 f5d79606 ? 0:00 wtimer + 8 S 60001 7805 7792 1 99 24 f6575cc8 524 f5d796a6 ? 0:00 timesvr + 8 S 60001 7736 7732 0 53 24 f6470660 524 f5d798fe ? 0:00 timesvr + 8 S 60001 7737 7732 0 53 24 f6567338 524 f64ce536 ? 0:00 timesvr + 8 S 60001 7732 1 0 85 24 f5f0a330 524 f5d797e6 ? 0:00 timesvr +IPC status from as of Mon May 11 03:13:36 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 101 0x0000044f --rw-rw-rw- nobody nobody +m 102 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 65537 0x0000044f --ra-ra-ra- nobody nobody +s 65538 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 12 03:11:17 EDT 1998 + 8 S 60001 11661 11648 0 76 24 f6573cc0 524 f60d872e ? 0:00 timesvr + 8 S 60001 11657 11648 1 53 24 f6573000 527 f61dc70e ? 0:00 wtimer + 8 S 60001 11665 11661 0 56 24 f6567338 524 f5d7958e ? 0:00 timesvr + 8 S 60001 11666 11661 0 66 24 f6574320 524 f5d797e6 ? 0:00 timesvr +IPC status from as of Tue May 12 03:11:22 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 201 0x00000067 --rw-rw-rw- stephen ksg +m 202 0x00000068 --rw-rw-rw- stephen ksg +m 3 0x0000044f --rw-rw-rw- nobody nobody +m 4 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 131073 0x00000067 --ra-ra-ra- stephen ksg +s 131074 0x00000068 --ra-ra-ra- stephen ksg +s 3 0x0000044f --ra-ra-ra- nobody nobody +s 4 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 12 08:16:18 EDT 1998 + 8 S 60001 12041 12036 0 96 24 f60f6cc0 524 f5d796f6 ? 0:00 timesvr + 8 S 60001 12036 12023 0 99 24 f656dcc0 524 f5d79e76 ? 0:00 timesvr + 8 S 60001 12032 12023 0 53 24 f656e320 527 f5d79246 ? 0:00 wtimer + 8 S 60001 12040 12036 0 86 24 f65a2990 524 f5d79106 ? 0:00 timesvr +IPC status from as of Tue May 12 08:16:23 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 201 0x00000067 --rw-rw-rw- stephen ksg +m 202 0x00000068 --rw-rw-rw- stephen ksg +m 103 0x0000044f --rw-rw-rw- nobody nobody +m 104 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 131073 0x00000067 --ra-ra-ra- stephen ksg +s 131074 0x00000068 --ra-ra-ra- stephen ksg +s 65539 0x0000044f --ra-ra-ra- nobody nobody +s 65540 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat May 16 08:46:17 EDT 1998 + 8 S 60001 6337 6333 0 66 24 f665d668 524 f6055d56 ? 0:00 timesvr + 8 S 60001 6333 6320 0 86 24 f656e980 524 f605578e ? 0:00 timesvr + 8 S 60001 6329 6320 1 53 24 f6373cd0 527 f605564e ? 0:00 wtimer + 8 S 60001 6338 6333 0 76 24 f644a020 524 f6055676 ? 0:00 timesvr +IPC status from as of Sat May 16 08:46:23 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 201 0x00000067 --rw-rw-rw- stephen ksg +m 202 0x00000068 --rw-rw-rw- stephen ksg +m 203 0x00000066 --rw-rw-rw- stephen ksg +m 904 0x0000044f --rw-rw-rw- nobody nobody +m 705 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 131073 0x00000067 --ra-ra-ra- stephen ksg +s 131074 0x00000068 --ra-ra-ra- stephen ksg +s 131075 0x00000066 --ra-ra-ra- stephen ksg +s 589828 0x0000044f --ra-ra-ra- nobody nobody +s 458757 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 19 20:36:55 EDT 1998 + 8 S 60001 27361 27357 0 56 24 f656dcc0 524 f5ffda16 ? 0:00 timesvr + 8 S 60001 27353 27344 0 53 24 f6374330 527 f5ffdd5e ? 0:00 wtimer + 8 S 60001 27357 27344 0 76 24 f613b008 524 f5ffd8fe ? 0:00 timesvr + 8 S 60001 27362 27357 0 66 24 f6152010 524 f5ffd926 ? 0:00 timesvr +IPC status from as of Tue May 19 20:37:00 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 201 0x00000067 --rw-rw-rw- stephen ksg +m 202 0x00000068 --rw-rw-rw- stephen ksg +m 203 0x00000066 --rw-rw-rw- stephen ksg +m 1004 0x0000044f --rw-rw-rw- nobody nobody +m 805 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 131073 0x00000067 --ra-ra-ra- stephen ksg +s 131074 0x00000068 --ra-ra-ra- stephen ksg +s 131075 0x00000066 --ra-ra-ra- stephen ksg +s 655364 0x0000044f --ra-ra-ra- nobody nobody +s 524293 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat May 23 07:38:30 EDT 1998 + 8 S 60001 24335 24331 0 76 24 f613c988 524 f6568666 ? 0:00 timesvr + 8 S 60001 24331 24318 0 96 24 f665d008 524 f65686b6 ? 0:00 timesvr + 8 S 60001 24336 24331 0 86 24 f613b008 524 f6568706 ? 0:00 timesvr + 8 S 60001 24327 24318 0 53 24 f6152010 527 f5ffdf66 ? 0:00 wtimer +IPC status from as of Sat May 23 07:38:36 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x00000065 --rw-rw-rw- stephen ksg +m 201 0x00000067 --rw-rw-rw- stephen ksg +m 202 0x00000068 --rw-rw-rw- stephen ksg +m 203 0x00000066 --rw-rw-rw- stephen ksg +m 1104 0x0000044f --rw-rw-rw- nobody nobody +m 905 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x00000065 --ra-ra-ra- stephen ksg +s 131073 0x00000067 --ra-ra-ra- stephen ksg +s 131074 0x00000068 --ra-ra-ra- stephen ksg +s 131075 0x00000066 --ra-ra-ra- stephen ksg +s 720900 0x0000044f --ra-ra-ra- nobody nobody +s 589829 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue May 26 12:18:26 EDT 1998 + 8 S 60001 805 796 1 53 24 f6344998 527 f61b3b96 ? 0:00 wtimer + 8 S 60001 809 796 1 77 24 f6366680 524 f61b3556 ? 0:00 timesvr + 8 S 60001 813 809 0 57 24 f6366020 524 f61b37ae ? 0:00 timesvr + 8 S 60001 814 809 0 67 24 f6390cc0 524 f61b3916 ? 0:00 timesvr +IPC status from as of Tue May 26 12:18:31 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x0000044f --rw-rw-rw- nobody nobody +m 1 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x0000044f --ra-ra-ra- nobody nobody +s 1 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Thu May 28 04:24:15 EDT 1998 + 8 S 60001 4848 4835 0 93 24 f6390660 524 f6472bee ? 0:00 timesvr + 8 S 60001 4853 4848 0 83 24 f65a3018 524 f6472e6e ? 0:00 timesvr + 8 S 60001 4852 4848 0 73 24 f65a4338 524 f647219e ? 0:00 timesvr + 8 S 60001 4844 4835 0 53 24 f6343018 527 f6472cde ? 0:00 wtimer +IPC status from as of Thu May 28 04:24:21 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- nobody nobody +m 101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 65536 0x0000044f --ra-ra-ra- nobody nobody +s 65537 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Thu May 28 09:41:10 EDT 1998 + 8 S 60001 6305 6300 0 66 24 f65a3cd8 524 f5fbea16 ? 0:00 timesvr + 8 S 60001 6296 6287 0 53 24 f65a3678 527 f5fbece6 ? 0:00 wtimer + 8 S 60001 6300 6287 0 76 24 f658b008 524 f5fbe9ee ? 0:00 timesvr + 8 S 60001 6304 6300 0 56 24 f6266328 524 f5fbef3e ? 0:00 timesvr +IPC status from as of Thu May 28 09:41:15 1998 +Message Queue facility not in system. +Shared Memory: +m 200 0x0000044f --rw-rw-rw- nobody nobody +m 201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 131072 0x0000044f --ra-ra-ra- nobody nobody +s 131073 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri May 29 02:20:46 EDT 1998 + 8 S 60001 12755 12746 0 53 24 f619f320 527 f5cdff76 ? 0:00 wtimer + 8 S 60001 12764 12760 0 55 24 f6343018 524 f5cdff4e ? 0:00 timesvr + 8 S 60001 12760 12746 0 75 24 f60e8000 524 f5cdffc6 ? 0:00 timesvr + 8 S 60001 12765 12760 0 65 24 f60f1cc8 524 f6472d7e ? 0:00 timesvr +IPC status from as of Fri May 29 02:20:52 1998 +Message Queue facility not in system. +Shared Memory: +m 300 0x0000044f --rw-rw-rw- nobody nobody +m 301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 196608 0x0000044f --ra-ra-ra- nobody nobody +s 196609 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri May 29 12:33:27 EDT 1998 + 8 S 60001 16100 16094 0 75 24 f65a3018 524 f5cdf3be ? 0:00 timesvr + 8 S 60001 16090 16081 1 53 24 f61d0008 527 f5cdf40e ? 0:00 wtimer + 8 S 60001 16094 16081 1 75 24 f619f320 524 f60719fe ? 0:00 timesvr + 8 S 60001 16099 16094 0 55 24 f65a4338 524 f5cdf5c6 ? 0:00 timesvr +IPC status from as of Fri May 29 12:33:33 1998 +Message Queue facility not in system. +Shared Memory: +m 400 0x0000044f --rw-rw-rw- nobody nobody +m 401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 262144 0x0000044f --ra-ra-ra- nobody nobody +s 262145 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri May 29 12:35:31 EDT 1998 + 8 S 60001 16126 16117 0 53 24 f65a3cd8 527 f5cdf45e ? 0:00 wtimer + 8 S 60001 16130 16117 0 99 24 f65a3678 524 f5fbe296 ? 0:00 timesvr + 8 S 60001 16100 16094 0 75 24 f65a3018 524 f5cdf3be ? 0:00 timesvr + 8 S 60001 16090 1 0 53 24 f61d0008 527 f5cdf40e ? 0:00 wtimer + 8 S 60001 16094 1 0 75 24 f619f320 524 f60719fe ? 0:00 timesvr + 8 S 60001 16099 16094 0 55 24 f65a4338 524 f5cdf5c6 ? 0:00 timesvr +IPC status from as of Fri May 29 12:35:36 1998 +Message Queue facility not in system. +Shared Memory: +m 400 0x0000044f --rw-rw-rw- nobody nobody +m 401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 262144 0x0000044f --ra-ra-ra- nobody nobody +s 262145 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri May 29 12:35:43 EDT 1998 + 8 S 60001 16126 1 0 53 24 f65a3cd8 527 f5cdf45e ? 0:00 wtimer + 8 S 60001 16130 1 0 99 24 f65a3678 524 f5fbe296 ? 0:00 timesvr + 8 S 60001 16100 16094 0 75 24 f65a3018 524 f5cdf3be ? 0:00 timesvr + 8 S 60001 16090 1 0 53 24 f61d0008 527 f5cdf40e ? 0:00 wtimer + 8 S 60001 16157 16143 0 99 24 f6343018 524 f607181e ? 0:00 timesvr + 8 S 60001 16094 1 0 75 24 f619f320 524 f60719fe ? 0:00 timesvr + 8 S 60001 16152 16143 0 53 24 f6200670 527 f5cdfb8e ? 0:00 wtimer + 8 S 60001 16099 16094 0 55 24 f65a4338 524 f5cdf5c6 ? 0:00 timesvr +IPC status from as of Fri May 29 12:35:48 1998 +Message Queue facility not in system. +Shared Memory: +m 400 0x0000044f --rw-rw-rw- nobody nobody +m 401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 262144 0x0000044f --ra-ra-ra- nobody nobody +s 262145 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri May 29 18:03:47 EDT 1998 + 8 S 60001 18232 18218 1 99 24 f65a3678 524 f5cdf90e ? 0:00 timesvr + 8 S 60001 18236 18232 0 86 24 f6200670 524 f5cdfa4e ? 0:00 timesvr + 8 S 60001 18227 18218 0 53 24 f6343018 527 f5fbef3e ? 0:00 wtimer + 8 S 60001 18237 18232 0 96 24 f658b668 524 f64724be ? 0:00 timesvr +IPC status from as of Fri May 29 18:03:52 1998 +Message Queue facility not in system. +Shared Memory: +m 500 0x0000044f --rw-rw-rw- nobody nobody +m 501 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 327680 0x0000044f --ra-ra-ra- nobody nobody +s 327681 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat May 30 07:00:12 EDT 1998 + 8 S 60001 20666 20657 1 53 24 f65a3cd8 527 f607186e ? 0:00 wtimer + 8 S 60001 20675 20670 0 77 24 f65a7340 524 f6686fce ? 0:00 timesvr + 8 S 60001 20674 20670 0 67 24 f619f320 524 f5cdf45e ? 0:00 timesvr + 8 S 60001 20670 20657 1 87 24 f6266988 524 f5cdf6b6 ? 0:00 timesvr +IPC status from as of Sat May 30 07:00:17 1998 +Message Queue facility not in system. +Shared Memory: +m 600 0x0000044f --rw-rw-rw- nobody nobody +m 601 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 393216 0x0000044f --ra-ra-ra- nobody nobody +s 393217 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 1 04:26:03 EDT 1998 + 8 S 60001 28472 28467 0 75 24 f66fc328 524 f67124be ? 0:00 timesvr + 8 S 60001 28463 28454 0 53 24 f6200670 527 f6712536 ? 0:00 wtimer + 8 S 60001 28467 28454 1 85 24 f6343018 524 f67124e6 ? 0:00 timesvr + 8 S 60001 28471 28467 0 75 24 f65a6020 524 f67125ae ? 0:00 timesvr +IPC status from as of Mon Jun 1 04:26:09 1998 +Message Queue facility not in system. +Shared Memory: +m 700 0x0000044f --rw-rw-rw- nobody nobody +m 701 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 458752 0x0000044f --ra-ra-ra- nobody nobody +s 458753 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jun 2 09:55:44 EDT 1998 + 8 S 60001 28085 28080 0 67 24 f66fb008 524 f6712a5e ? 0:00 timesvr + 8 S 60001 28075 28064 1 53 24 f658b668 527 f6b3e0b6 ? 0:00 wtimer + 8 S 60001 28080 28064 1 77 24 f613ccd0 524 f6b3e746 ? 0:00 timesvr + 8 S 60001 28084 28080 0 57 24 f670e020 524 f6b3eb56 ? 0:00 timesvr +IPC status from as of Tue Jun 2 09:55:50 1998 +Message Queue facility not in system. +Shared Memory: +m 800 0x0000044f --rw-rw-rw- nobody nobody +m 801 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 524288 0x0000044f --ra-ra-ra- nobody nobody +s 524289 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri Jun 5 23:13:09 EDT 1998 + 8 S 60001 1879 1870 0 53 24 f670e680 527 f6712306 ? 0:00 wtimer + 8 S 60001 1888 1883 0 83 24 f5dee998 524 f5c7a8ee ? 0:00 timesvr + 8 S 60001 1883 1870 0 93 24 f60f1cc8 524 f68bc666 ? 0:00 timesvr + 8 S 60001 1887 1883 0 73 24 f65a6020 524 f60717a6 ? 0:00 timesvr +IPC status from as of Fri Jun 5 23:13:15 1998 +Message Queue facility not in system. +Shared Memory: +m 900 0x0000044f --rw-rw-rw- nobody nobody +m 901 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 589824 0x0000044f --ra-ra-ra- nobody nobody +s 589825 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jun 6 08:17:15 EDT 1998 + 8 S 60001 4334 4329 0 96 24 f65a4998 524 f68bc9d6 ? 0:00 timesvr + 8 S 60001 4329 4316 1 99 24 f670f340 524 f68bc666 ? 0:00 timesvr + 8 S 60001 4325 4316 0 53 24 f6200cd0 527 f6712306 ? 0:00 wtimer + 8 S 60001 4333 4329 0 86 24 f65a3cd8 524 f68bcde6 ? 0:00 timesvr +IPC status from as of Sat Jun 6 08:17:20 1998 +Message Queue facility not in system. +Shared Memory: +m 1000 0x0000044f --rw-rw-rw- nobody nobody +m 1001 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 655360 0x0000044f --ra-ra-ra- nobody nobody +s 655361 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 8 00:27:51 EDT 1998 + 8 S 60001 12636 12627 1 53 24 f6343cd8 527 f5c7a48e ? 0:00 wtimer + 8 S 60001 12640 12627 1 85 24 f658c988 524 f6712306 ? 0:00 timesvr + 8 S 60001 12645 12640 0 75 24 f613ccd0 524 f5c7a376 ? 0:00 timesvr + 8 S 60001 12644 12640 0 65 24 f670e680 524 f5c7a0ce ? 0:00 timesvr +IPC status from as of Mon Jun 8 00:27:58 1998 +Message Queue facility not in system. +Shared Memory: +m 1100 0x0000044f --rw-rw-rw- nobody nobody +m 1101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 720896 0x0000044f --ra-ra-ra- nobody nobody +s 720897 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 8 08:29:35 EDT 1998 + 8 S 60001 14636 14627 0 53 24 f5dedcd8 527 f65bad06 ? 0:00 wtimer + 8 S 60001 14640 14627 1 85 24 f613c010 524 f65badf6 ? 0:00 timesvr + 8 S 60001 14644 14640 0 65 24 f6200cd0 524 f5c7abbe ? 0:00 timesvr + 8 S 60001 14645 14640 0 75 24 f65a7340 524 f5c7ad4e ? 0:00 timesvr +IPC status from as of Mon Jun 8 08:29:41 1998 +Message Queue facility not in system. +Shared Memory: +m 1200 0x0000044f --rw-rw-rw- nobody nobody +m 1201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 786432 0x0000044f --ra-ra-ra- nobody nobody +s 786433 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 8 10:56:13 EDT 1998 + 8 S 60001 15716 15702 1 85 24 f6200cd0 524 f65ba676 ? 0:00 timesvr + 8 S 60001 15711 15702 1 53 24 f670f340 527 f65ba5fe ? 0:00 wtimer + 8 S 60001 15721 15716 0 75 24 f66fc988 524 f6b3e066 ? 0:00 timesvr + 8 S 60001 15720 15716 0 65 24 f65a6020 524 f5c7ad4e ? 0:00 timesvr +IPC status from as of Mon Jun 8 10:56:19 1998 +Message Queue facility not in system. +Shared Memory: +m 1300 0x0000044f --rw-rw-rw- nobody nobody +m 1301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 851968 0x0000044f --ra-ra-ra- nobody nobody +s 851969 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 8 13:00:42 EDT 1998 + 8 S 60001 17191 17178 1 96 24 f6343cd8 524 f68bcac6 ? 0:00 timesvr + 8 S 60001 17196 17191 0 86 24 f6367340 524 f5c7a056 ? 0:00 timesvr + 8 S 60001 17195 17191 0 76 24 f6366680 524 f65ba446 ? 0:00 timesvr + 8 S 60001 17187 17178 0 53 24 f670f340 527 f5c7a48e ? 0:00 wtimer +IPC status from as of Mon Jun 8 13:00:47 1998 +Message Queue facility not in system. +Shared Memory: +m 1400 0x0000044f --rw-rw-rw- nobody nobody +m 1401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 917504 0x0000044f --ra-ra-ra- nobody nobody +s 917505 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jun 9 00:41:07 EDT 1998 + 8 S 60001 22654 22649 0 65 24 f6200cd0 524 f65ba946 ? 0:00 timesvr + 8 S 60001 22653 22649 0 55 24 f65a6020 524 f65ba9be ? 0:00 timesvr + 8 S 60001 22645 22636 0 53 24 f65a3678 527 f65ba3f6 ? 0:00 wtimer + 8 S 60001 22649 22636 0 75 24 f65a3cd8 524 f65babee ? 0:00 timesvr +IPC status from as of Tue Jun 9 00:41:12 1998 +Message Queue facility not in system. +Shared Memory: +m 1500 0x0000044f --rw-rw-rw- nobody nobody +m 1501 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 983040 0x0000044f --ra-ra-ra- nobody nobody +s 983041 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Jun 10 07:03:19 EDT 1998 + 8 S 60001 4802 4797 0 63 24 f60f1cc8 524 f59499ee ? 0:00 timesvr + 8 S 60001 4797 4782 0 73 24 f6367340 524 f5949c46 ? 0:00 timesvr + 8 S 60001 4792 4782 0 53 24 f65a3cd8 527 f65ba9e6 ? 0:00 wtimer + 8 S 60001 4801 4797 0 53 24 f5d5e338 524 f65ba05e ? 0:00 timesvr +IPC status from as of Wed Jun 10 07:03:24 1998 +Message Queue facility not in system. +Shared Memory: +m 1700 0x0000044f --rw-rw-rw- nobody nobody +m 1701 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1114112 0x0000044f --ra-ra-ra- nobody nobody +s1114113 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri Jun 12 18:45:42 EDT 1998 + 8 S 60001 759 750 1 53 24 f65a6020 527 f5ebca76 ? 0:00 wtimer + 8 S 60001 767 763 0 57 24 f6789010 524 f5ebca26 ? 0:00 timesvr + 8 S 60001 768 763 0 67 24 f65a4338 524 f5949516 ? 0:00 timesvr + 8 S 60001 763 750 1 77 24 f5dedcd8 524 f65bac3e ? 0:00 timesvr +IPC status from as of Fri Jun 12 18:45:47 1998 +Message Queue facility not in system. +Shared Memory: +m 1800 0x0000044f --rw-rw-rw- nobody nobody +m 1801 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1179648 0x0000044f --ra-ra-ra- nobody nobody +s1179649 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jun 13 09:28:45 EDT 1998 + 8 S 60001 3225 3220 0 75 24 f678a330 524 f59496ce ? 0:00 timesvr + 8 S 60001 3224 3220 0 65 24 f6265cc8 524 f5ebc576 ? 0:00 timesvr + 8 S 60001 3216 3207 1 53 24 f5dee998 527 f5ebca9e ? 0:00 wtimer + 8 S 60001 3220 3207 1 85 24 f6343678 524 f5ebc72e ? 0:00 timesvr +IPC status from as of Sat Jun 13 09:28:50 1998 +Message Queue facility not in system. +Shared Memory: +m 1900 0x0000044f --rw-rw-rw- nobody nobody +m 1901 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1245184 0x0000044f --ra-ra-ra- nobody nobody +s1245185 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Jun 14 20:27:51 EDT 1998 + 8 S 60001 7608 7595 1 77 24 f66fc988 524 f5e4a5fe ? 0:00 timesvr + 8 S 60001 7613 7608 0 67 24 f65a3cd8 524 f5e4aafe ? 0:00 timesvr + 8 S 60001 7612 7608 0 57 24 f61d0008 524 f5e4a126 ? 0:00 timesvr + 8 S 60001 7604 7595 1 53 24 f5f87660 527 f5e4a14e ? 0:00 wtimer +IPC status from as of Sun Jun 14 20:27:57 1998 +Message Queue facility not in system. +Shared Memory: +m 2000 0x0000044f --rw-rw-rw- nobody nobody +m 2001 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1310720 0x0000044f --ra-ra-ra- nobody nobody +s1310721 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jun 15 17:46:07 EDT 1998 + 8 S 60001 15593 15584 0 53 24 f619ecc0 527 f68bc40e ? 0:00 wtimer + 8 S 60001 15602 15597 0 86 24 f678c998 524 f61b3f06 ? 0:00 timesvr + 8 S 60001 15601 15597 0 76 24 f61d1988 524 f65bada6 ? 0:00 timesvr + 8 S 60001 15597 15584 1 96 24 f615c680 524 f5e4a23e ? 0:00 timesvr +IPC status from as of Mon Jun 15 17:46:13 1998 +Message Queue facility not in system. +Shared Memory: +m 2100 0x0000044f --rw-rw-rw- nobody nobody +m 2101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1376256 0x0000044f --ra-ra-ra- nobody nobody +s1376257 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jun 20 07:46:41 EDT 1998 + 8 S 60001 6888 6879 1 53 24 f6789670 527 f6326a4e ? 0:00 wtimer + 8 S 60001 6892 6879 1 85 24 f6343cd8 524 f59498fe ? 0:00 timesvr + 8 S 60001 6897 6892 0 75 24 f61d0668 524 f6435446 ? 0:00 timesvr + 8 S 60001 6896 6892 0 65 24 f670ece0 524 f65d63c6 ? 0:00 timesvr +IPC status from as of Sat Jun 20 07:46:47 1998 +Message Queue facility not in system. +Shared Memory: +m 2200 0x0000044f --rw-rw-rw- nobody nobody +m 2201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1441792 0x0000044f --ra-ra-ra- nobody nobody +s1441793 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Jun 21 03:37:51 EDT 1998 + 8 S 60001 10468 10459 0 53 24 f615c680 527 f6435d06 ? 0:00 wtimer + 8 S 60001 10477 10472 0 59 24 f6266988 524 f64353a6 ? 0:00 timesvr + 8 S 60001 10472 10459 0 79 24 f6390660 524 f65d67d6 ? 0:00 timesvr + 8 S 60001 10478 10472 0 69 24 f61d0668 524 f643523e ? 0:00 timesvr +IPC status from as of Sun Jun 21 03:37:57 1998 +Message Queue facility not in system. +Shared Memory: +m 2300 0x0000044f --rw-rw-rw- nobody nobody +m 2301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1507328 0x0000044f --ra-ra-ra- nobody nobody +s1507329 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jun 27 16:26:36 EDT 1998 + 8 S 60001 15499 15490 1 53 24 f638ccc0 527 f61d9736 ? 0:00 wtimer + 8 S 60001 15503 15490 0 76 24 f615c668 524 f64be52e ? 0:00 timesvr + 8 S 60001 15508 15503 0 66 24 f5e91668 524 f64be5ce ? 0:00 timesvr + 8 S 60001 15507 15503 0 56 24 f638d980 524 f64be696 ? 0:00 timesvr +IPC status from as of Sat Jun 27 16:26:42 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x0000044f --rw-rw-rw- nobody nobody +m 1 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x0000044f --ra-ra-ra- nobody nobody +s 1 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jun 30 14:11:19 EDT 1998 + 8 S 60001 301 296 0 66 24 f5fc9330 524 f5cf0f86 ? 0:00 timesvr + 8 S 60001 292 283 1 53 24 f615c668 527 f5cf0d56 ? 0:00 wtimer + 8 S 60001 300 296 0 56 24 f5fc8670 524 f5cf0d7e ? 0:00 timesvr + 8 S 60001 296 283 0 76 24 f6514020 524 f64be02e ? 0:00 timesvr +IPC status from as of Tue Jun 30 14:11:25 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- nobody nobody +m 101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 65536 0x0000044f --ra-ra-ra- nobody nobody +s 65537 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jun 30 20:55:38 EDT 1998 + 8 S 60001 1016 1003 1 79 24 f5fc9330 524 f64bde36 ? 0:00 timesvr + 8 S 60001 1012 1003 1 53 24 f6557680 527 f64be02e ? 0:00 wtimer + 8 S 60001 1021 1016 0 69 24 f660c020 524 f64bdf26 ? 0:00 timesvr + 8 S 60001 1020 1016 0 59 24 f5fc8670 524 f63d3cde ? 0:00 timesvr +IPC status from as of Tue Jun 30 20:55:43 1998 +Message Queue facility not in system. +Shared Memory: +m 200 0x0000044f --rw-rw-rw- nobody nobody +m 201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 131072 0x0000044f --ra-ra-ra- nobody nobody +s 131073 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jun 30 21:04:33 EDT 1998 + 8 S 60001 1016 1 0 79 24 f5fc9330 524 f64bde36 ? 0:00 timesvr + 8 S 60001 1012 1 0 53 24 f6557680 527 f64be02e ? 0:00 wtimer + 8 S 60001 1052 1043 0 53 24 f63b2988 527 f64be2fe ? 0:00 wtimer + 8 S 60001 1021 1016 0 53 24 f660c020 524 f64bdf26 ? 0:00 timesvr + 8 S 60001 1056 1043 1 99 24 f660cce0 524 f5cf0946 ? 0:00 timesvr + 8 S 60001 1020 1016 0 53 24 f5fc8670 524 f63d3cde ? 0:00 timesvr +IPC status from as of Tue Jun 30 21:04:38 1998 +Message Queue facility not in system. +Shared Memory: +m 200 0x0000044f --rw-rw-rw- nobody nobody +m 201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 131072 0x0000044f --ra-ra-ra- nobody nobody +s 131073 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 4 12:33:43 EDT 1998 + 8 S 60001 10391 10382 0 53 24 f66e9cc0 527 f5ecae26 ? 0:00 wtimer + 8 S 60001 10400 10395 0 67 24 f5fc9330 524 f5cf0a36 ? 0:00 timesvr + 8 S 60001 10395 10382 1 77 24 f66e8340 524 f5eca9ee ? 0:00 timesvr + 8 S 60001 10399 10395 0 57 24 f6461338 524 f5ecad86 ? 0:00 timesvr +IPC status from as of Sat Jul 4 12:33:49 1998 +Message Queue facility not in system. +Shared Memory: +m 300 0x0000044f --rw-rw-rw- nobody nobody +m 301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 196608 0x0000044f --ra-ra-ra- nobody nobody +s 196609 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Jul 8 00:03:51 EDT 1998 + 8 S 60001 20560 20547 1 96 24 f61cccc0 524 f66e1896 ? 0:00 timesvr + 8 S 60001 20564 20560 0 76 24 f636a020 524 f66e17ce ? 0:00 timesvr + 8 S 60001 20565 20560 0 86 24 f6514ce0 524 f66e1986 ? 0:00 timesvr + 8 S 60001 20556 20547 1 53 24 f6558340 527 f66e1f9e ? 0:00 wtimer +IPC status from as of Wed Jul 8 00:03:56 1998 +Message Queue facility not in system. +Shared Memory: +m 400 0x0000044f --rw-rw-rw- nobody nobody +m 401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 262144 0x0000044f --ra-ra-ra- nobody nobody +s 262145 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Thu Jul 9 22:19:48 EDT 1998 + 8 S 60001 27080 27067 1 75 24 f60a4660 524 f671b376 ? 0:00 timesvr + 8 S 60001 27076 27067 0 53 24 f63b2988 527 f5eca476 ? 0:00 wtimer + 8 S 60001 27084 27080 0 55 24 f60a4000 524 f671b326 ? 0:00 timesvr + 8 S 60001 27085 27080 0 65 24 f6198340 524 f671b2d6 ? 0:00 timesvr +IPC status from as of Thu Jul 9 22:19:53 1998 +Message Queue facility not in system. +Shared Memory: +m 500 0x0000044f --rw-rw-rw- nobody nobody +m 501 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 327680 0x0000044f --ra-ra-ra- nobody nobody +s 327681 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri Jul 10 12:09:04 EDT 1998 + 8 S 60001 28468 28463 0 86 24 f6514ce0 524 f671b056 ? 0:00 timesvr + 8 S 60001 28463 28450 0 96 24 f63b2328 524 f66e12f6 ? 0:00 timesvr + 8 S 60001 28467 28463 0 76 24 f658c000 524 f671b84e ? 0:00 timesvr + 8 S 60001 28459 28450 0 53 24 f60a4cc0 527 f671b4b6 ? 0:00 wtimer +IPC status from as of Fri Jul 10 12:09:09 1998 +Message Queue facility not in system. +Shared Memory: +m 600 0x0000044f --rw-rw-rw- nobody nobody +m 601 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 393216 0x0000044f --ra-ra-ra- nobody nobody +s 393217 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 11 15:00:18 EDT 1998 + 8 S 60001 12282 12273 0 53 24 f615d988 527 f5efbc6e ? 0:00 wtimer + 8 S 60001 12291 12286 0 58 24 f6173670 524 f671b9b6 ? 0:00 timesvr + 8 S 60001 12292 12286 0 68 24 f658c000 524 f5efb85e ? 0:00 timesvr + 8 S 60001 12286 12273 0 78 24 f6514ce0 524 f5efb836 ? 0:00 timesvr +IPC status from as of Sat Jul 11 15:00:23 1998 +Message Queue facility not in system. +Shared Memory: +m 700 0x0000044f --rw-rw-rw- nobody nobody +m 701 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 458752 0x0000044f --ra-ra-ra- nobody nobody +s 458753 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 11 21:29:01 EDT 1998 + 8 S 60001 16253 16249 0 73 24 f65589a0 524 f5efb886 ? 0:00 timesvr + 8 S 60001 16254 16249 0 83 24 f615d988 524 f671b0ce ? 0:00 timesvr + 8 S 60001 16245 16236 1 53 24 f6173cd0 527 f5efbc6e ? 0:00 wtimer + 8 S 60001 16249 16236 1 93 24 f6173670 524 f5efb7be ? 0:00 timesvr +IPC status from as of Sat Jul 11 21:29:07 1998 +Message Queue facility not in system. +Shared Memory: +m 800 0x0000044f --rw-rw-rw- nobody nobody +m 801 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 524288 0x0000044f --ra-ra-ra- nobody nobody +s 524289 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jul 13 20:10:22 EDT 1998 + 8 S 60001 18469 18460 0 53 24 f6198340 527 f5efb58e ? 0:00 wtimer + 8 S 60001 18477 18473 0 76 24 f6174990 524 f5efbc6e ? 0:00 timesvr + 8 S 60001 18473 18460 1 96 24 f660c680 524 f66d9896 ? 0:00 timesvr + 8 S 60001 18478 18473 0 86 24 f6174330 524 f66d99ae ? 0:00 timesvr +IPC status from as of Mon Jul 13 20:10:28 1998 +Message Queue facility not in system. +Shared Memory: +m 900 0x0000044f --rw-rw-rw- nobody nobody +m 901 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 589824 0x0000044f --ra-ra-ra- nobody nobody +s 589825 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Jul 14 17:20:31 EDT 1998 + 8 S 60001 3169 3164 0 87 24 f606b680 524 f66d97f6 ? 0:00 timesvr + 8 S 60001 3164 3151 1 97 24 f606bce0 524 f66e1efe ? 0:00 timesvr + 8 S 60001 3168 3164 0 77 24 f606b020 524 f5eca71e ? 0:00 timesvr + 8 S 60001 3160 3151 0 53 24 f60bb020 527 f66d9d1e ? 0:00 wtimer +IPC status from as of Tue Jul 14 17:20:37 1998 +Message Queue facility not in system. +Shared Memory: +m 1000 0x0000044f --rw-rw-rw- nobody nobody +m 1001 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 655360 0x0000044f --ra-ra-ra- nobody nobody +s 655361 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Jul 15 00:08:06 EDT 1998 + 8 S 60001 6861 6857 0 76 24 f62f5670 524 f66d99ae ? 0:00 timesvr + 8 S 60001 6857 6844 1 96 24 f606b680 524 f66d9d1e ? 0:00 timesvr + 8 S 60001 6862 6857 0 86 24 f62f5010 524 f66d940e ? 0:00 timesvr + 8 S 60001 6853 6844 1 53 24 f606b020 527 f66e1576 ? 0:00 wtimer +IPC status from as of Wed Jul 15 00:08:12 1998 +Message Queue facility not in system. +Shared Memory: +m 1100 0x0000044f --rw-rw-rw- nobody nobody +m 1101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 720896 0x0000044f --ra-ra-ra- nobody nobody +s 720897 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 18 08:50:26 EDT 1998 + 8 S 60001 28504 28495 0 53 24 f6461338 527 f5c82fce ? 0:00 wtimer + 8 S 60001 28508 28495 0 96 24 f606b020 524 f5c82a56 ? 0:00 timesvr + 8 S 60001 28513 28508 0 86 24 f6198340 524 f5fe3b76 ? 0:00 timesvr + 8 S 60001 28512 28508 0 76 24 f658ccc0 524 f5fe38ce ? 0:00 timesvr +IPC status from as of Sat Jul 18 08:50:32 1998 +Message Queue facility not in system. +Shared Memory: +m 1200 0x0000044f --rw-rw-rw- nobody nobody +m 1201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 786432 0x0000044f --ra-ra-ra- nobody nobody +s 786433 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Jul 19 00:53:53 EDT 1998 + 8 S 60001 2130 2125 0 75 24 f63b2328 524 f5fe3496 ? 0:00 timesvr + 8 S 60001 2125 2108 1 75 24 f658c660 524 f5fe36ee ? 0:00 timesvr + 8 S 60001 2120 2108 1 53 24 f606c9a0 527 f5fe33a6 ? 0:00 wtimer + 8 S 60001 2129 2125 0 55 24 f606b680 524 f5fe35ae ? 0:00 timesvr +IPC status from as of Sun Jul 19 00:53:59 1998 +Message Queue facility not in system. +Shared Memory: +m 1300 0x0000044f --rw-rw-rw- nobody nobody +m 1301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 851968 0x0000044f --ra-ra-ra- nobody nobody +s 851969 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Jul 19 13:14:44 EDT 1998 + 8 S 60001 5101 5096 0 88 24 f606c9a0 524 f5fe38ce ? 0:00 timesvr + 8 S 60001 5096 5083 1 98 24 f615d328 524 f5fe36ee ? 0:00 timesvr + 8 S 60001 5100 5096 0 78 24 f606b680 524 f5fe319e ? 0:00 timesvr + 8 S 60001 5092 5083 1 53 24 f6514ce0 527 f5fe3216 ? 0:00 wtimer +IPC status from as of Sun Jul 19 13:14:50 1998 +Message Queue facility not in system. +Shared Memory: +m 1400 0x0000044f --rw-rw-rw- nobody nobody +m 1401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 917504 0x0000044f --ra-ra-ra- nobody nobody +s 917505 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Jul 19 17:26:39 EDT 1998 + 8 S 60001 6100 6091 1 53 24 f636b9a0 527 f5fe3a86 ? 0:00 wtimer + 8 S 60001 6109 6104 0 73 24 f606b680 524 f5fe3216 ? 0:00 timesvr + 8 S 60001 6108 6104 0 63 24 f6198340 524 f5cf02de ? 0:00 timesvr + 8 S 60001 6104 6091 0 83 24 f6461338 524 f5fe373e ? 0:00 timesvr +IPC status from as of Sun Jul 19 17:26:45 1998 +Message Queue facility not in system. +Shared Memory: +m 1500 0x0000044f --rw-rw-rw- nobody nobody +m 1501 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 983040 0x0000044f --ra-ra-ra- nobody nobody +s 983041 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jul 20 13:04:11 EDT 1998 + 8 S 60001 13095 13085 0 86 24 f6174330 524 f5cf02de ? 0:00 timesvr + 8 S 60001 13077 13066 1 53 24 f658c000 527 f5fe373e ? 0:00 wtimer + 8 S 60001 13085 13066 1 96 24 f61cc000 524 f5e5f3be ? 0:00 timesvr + 8 S 60001 13094 13085 0 76 24 f636b9a0 524 f5e5fb66 ? 0:00 timesvr +IPC status from as of Mon Jul 20 13:04:17 1998 +Message Queue facility not in system. +Shared Memory: +m 1600 0x0000044f --rw-rw-rw- nobody nobody +m 1601 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1048576 0x0000044f --ra-ra-ra- nobody nobody +s1048577 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 25 07:13:21 EDT 1998 + 8 S 60001 26065 26052 1 99 24 f6557ce0 524 f6735c5e ? 0:00 timesvr + 8 S 60001 26061 26052 0 53 24 f6173010 527 f66fc086 ? 0:00 wtimer + 8 S 60001 26069 26065 0 81 24 f62f5cd0 524 f66fc05e ? 0:00 timesvr + 8 S 60001 26070 26065 0 91 24 f6197680 524 f66fc14e ? 0:00 timesvr +IPC status from as of Sat Jul 25 07:13:27 1998 +Message Queue facility not in system. +Shared Memory: +m 1700 0x0000044f --rw-rw-rw- nobody nobody +m 1701 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1114112 0x0000044f --ra-ra-ra- nobody nobody +s1114113 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Jul 25 13:36:15 EDT 1998 + 8 S 60001 27589 27576 1 99 24 f641ace0 524 f66fcd56 ? 0:00 timesvr + 8 S 60001 27593 27589 0 88 24 f6197680 524 f673593e ? 0:00 timesvr + 8 S 60001 27585 27576 0 53 24 f62f5cd0 527 f5fe3266 ? 0:00 wtimer + 8 S 60001 27594 27589 0 98 24 f6461338 524 f66fc126 ? 0:00 timesvr +IPC status from as of Sat Jul 25 13:36:20 1998 +Message Queue facility not in system. +Shared Memory: +m 1800 0x0000044f --rw-rw-rw- nobody nobody +m 1801 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1179648 0x0000044f --ra-ra-ra- nobody nobody +s1179649 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jul 27 11:56:02 EDT 1998 + 8 S 60001 9086 9082 0 76 24 f620e660 524 f5e79f76 ? 0:00 timesvr + 8 S 60001 9077 9068 0 53 24 f5dd6330 527 f66fcf5e ? 0:00 wtimer + 8 S 60001 9082 9068 1 96 24 f65159a0 524 f5e5fdbe ? 0:00 timesvr + 8 S 60001 9087 9082 0 86 24 f6173670 524 f66fca36 ? 0:00 timesvr +IPC status from as of Mon Jul 27 11:56:07 1998 +Message Queue facility not in system. +Shared Memory: +m 1900 0x0000044f --rw-rw-rw- nobody nobody +m 1901 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1245184 0x0000044f --ra-ra-ra- nobody nobody +s1245185 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Mon Jul 27 11:56:37 EDT 1998 + 8 S 60001 9112 9099 0 98 24 f606b020 524 f6735ede ? 0:00 timesvr + 8 S 60001 9086 9082 0 39 24 f620e660 524 f5bd3528 ? 0:00 timesvr + 8 S 60001 9077 1 0 53 24 f5dd6330 527 f66fcf5e ? 0:00 wtimer + 8 S 60001 9082 1 0 96 24 f65159a0 524 f5e5fdbe ? 0:00 timesvr + 8 S 60001 9108 9099 0 53 24 f6514680 527 f5e5f95e ? 0:00 wtimer + 8 S 60001 9087 9082 0 59 24 f6173670 524 f66fca36 ? 0:00 timesvr +IPC status from as of Mon Jul 27 11:56:42 1998 +Message Queue facility not in system. +Shared Memory: +m 1900 0x0000044f --rw-rw-rw- nobody nobody +m 1901 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1245184 0x0000044f --ra-ra-ra- nobody nobody +s1245185 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Jul 29 05:56:13 EDT 1998 + 8 S 60001 28922 28909 1 77 24 f6231678 524 f5e7927e ? 0:00 timesvr + 8 S 60001 28927 28922 0 67 24 f62f5cd0 524 f5e79d46 ? 0:00 timesvr + 8 S 60001 28926 28922 0 57 24 f6173cd0 524 f5e7931e ? 0:00 timesvr + 8 S 60001 28918 28909 0 53 24 f611e000 527 f5e791de ? 0:00 wtimer +IPC status from as of Wed Jul 29 05:56:18 1998 +Message Queue facility not in system. +Shared Memory: +m 2000 0x0000044f --rw-rw-rw- nobody nobody +m 2001 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1310720 0x0000044f --ra-ra-ra- nobody nobody +s1310721 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Fri Jul 31 09:03:24 EDT 1998 + 8 S 60001 17358 17353 0 86 24 f6514020 524 f5dd85d6 ? 0:00 timesvr + 8 S 60001 17349 17340 0 53 24 f641a020 527 f5dd8a36 ? 0:00 wtimer + 8 S 60001 17357 17353 0 76 24 f6557680 524 f67351e6 ? 0:00 timesvr + 8 S 60001 17353 17340 0 96 24 f61cc000 524 f5dd8266 ? 0:00 timesvr +IPC status from as of Fri Jul 31 09:03:30 1998 +Message Queue facility not in system. +Shared Memory: +m 2100 0x0000044f --rw-rw-rw- nobody nobody +m 2101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1376256 0x0000044f --ra-ra-ra- nobody nobody +s1376257 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Aug 2 00:25:17 EDT 1998 + 8 S 60001 28105 28096 1 53 24 f6557680 527 f59543fe ? 0:00 wtimer + 8 S 60001 28110 28096 0 73 24 f61ee988 524 f5954976 ? 0:00 timesvr + 8 S 60001 28115 28110 0 63 24 f5dd6330 524 f59543d6 ? 0:00 timesvr + 8 S 60001 28114 28110 0 53 24 f5da6980 524 f5954476 ? 0:00 timesvr +IPC status from as of Sun Aug 2 00:25:23 1998 +Message Queue facility not in system. +Shared Memory: +m 2200 0x0000044f --rw-rw-rw- nobody nobody +m 2201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s1441792 0x0000044f --ra-ra-ra- nobody nobody +s1441793 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Tue Aug 4 08:17:44 EDT 1998 + 8 S 60001 2564 2551 1 79 24 f612c988 524 f64b614e ? 0:00 timesvr + 8 S 60001 2560 2551 0 53 24 f65c3330 527 f61c0286 ? 0:00 wtimer + 8 S 60001 2569 2564 0 69 24 f6520988 524 f64b6216 ? 0:00 timesvr + 8 S 60001 2568 2564 0 59 24 f620ccd0 524 f61c0876 ? 0:00 timesvr +IPC status from as of Tue Aug 4 08:17:50 1998 +Message Queue facility not in system. +Shared Memory: +m 0 0x0000044f --rw-rw-rw- nobody nobody +m 1 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 0 0x0000044f --ra-ra-ra- nobody nobody +s 1 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Aug 5 14:12:52 EDT 1998 + 8 S 60001 17832 17823 1 53 24 f6341020 527 f625e80e ? 0:00 wtimer + 8 S 60001 17840 17836 0 96 24 f63429a0 524 f5f0ce5e ? 0:00 timesvr + 8 S 60001 17836 17823 1 99 24 f620d330 524 f64b6a0e ? 0:00 timesvr + 8 S 60001 17841 17836 0 99 24 f651f668 524 f625ecbe ? 0:00 timesvr +IPC status from as of Wed Aug 5 14:12:58 1998 +Message Queue facility not in system. +Shared Memory: +m 100 0x0000044f --rw-rw-rw- nobody nobody +m 101 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 65536 0x0000044f --ra-ra-ra- nobody nobody +s 65537 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Wed Aug 5 18:02:11 EDT 1998 + 8 S 60001 20188 20174 0 86 24 f5dd2670 524 f625e886 ? 0:00 timesvr + 8 S 60001 20184 20174 1 53 24 f612bcc8 527 f625e976 ? 0:00 wtimer + 8 S 60001 20192 20188 0 66 24 f620d330 524 f5f0cf76 ? 0:00 timesvr + 8 S 60001 20193 20188 0 76 24 f63429a0 524 f625e836 ? 0:00 timesvr +IPC status from as of Wed Aug 5 18:02:16 1998 +Message Queue facility not in system. +Shared Memory: +m 200 0x0000044f --rw-rw-rw- nobody nobody +m 201 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 131072 0x0000044f --ra-ra-ra- nobody nobody +s 131073 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sat Aug 8 21:19:42 EDT 1998 + 8 S 60001 13900 13891 1 53 24 f6415988 527 f63c76e6 ? 0:00 wtimer + 8 S 60001 13909 13904 0 75 24 f651f008 524 f641aa5e ? 0:00 timesvr + 8 S 60001 13904 13891 1 85 24 f64e1980 524 f641aa36 ? 0:00 timesvr + 8 S 60001 13908 13904 0 65 24 f65c2670 524 f641ae6e ? 0:00 timesvr +IPC status from as of Sat Aug 8 21:19:48 1998 +Message Queue facility not in system. +Shared Memory: +m 300 0x0000044f --rw-rw-rw- nobody nobody +m 301 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 196608 0x0000044f --ra-ra-ra- nobody nobody +s 196609 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Aug 9 13:28:50 EDT 1998 + 8 S 60001 16936 16923 1 99 24 f6415328 524 f641a82e ? 0:00 timesvr + 8 S 60001 16932 16923 1 53 24 f64e1980 527 f641a766 ? 0:00 wtimer + 8 S 60001 16941 16936 0 96 24 f5da3320 524 f641a8a6 ? 0:00 timesvr + 8 S 60001 16940 16936 0 86 24 f620d330 524 f641ab76 ? 0:00 timesvr +IPC status from as of Sun Aug 9 13:28:55 1998 +Message Queue facility not in system. +Shared Memory: +m 400 0x0000044f --rw-rw-rw- nobody nobody +m 401 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 262144 0x0000044f --ra-ra-ra- nobody nobody +s 262145 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END +BEGIN +Sun Aug 9 14:29:51 EDT 1998 + 8 S 60001 17200 17195 0 99 24 f64e1320 524 f641a626 ? 0:00 timesvr + 8 S 60001 17199 17195 0 96 24 f6415988 524 f641a78e ? 0:00 timesvr + 8 S 60001 17195 17182 1 99 24 f65c3330 524 f641a8a6 ? 0:00 timesvr + 8 S 60001 17191 17182 0 53 24 f6415328 527 f641ad2e ? 0:00 wtimer +IPC status from as of Sun Aug 9 14:29:56 1998 +Message Queue facility not in system. +Shared Memory: +m 500 0x0000044f --rw-rw-rw- nobody nobody +m 501 0x00000450 --rw-rw-rw- nobody nobody +Semaphores: +s 327680 0x0000044f --ra-ra-ra- nobody nobody +s 327681 0x00000450 --ra-ra-ra- nobody nobody +start_servers.log timesvr.log timesvr.pid timesvr.run +wtimer.log wtimer.pid wtimer.run +END diff --git a/doc/socapplet/timesvr.cc b/doc/socapplet/timesvr.cc new file mode 100644 index 0000000..0f8ac22 --- /dev/null +++ b/doc/socapplet/timesvr.cc @@ -0,0 +1,119 @@ +/**************************************************************************** +* File: timesvr.cc +* +* This file provides the code for an NML server that can be launched and +* killed by CGI script(s). It provides remote access to the time and +* control buffers used +* by the Java/NML inteface applet example. +*****************************************************************************/ + +#include "rcs.hh" // class NML, spawn_nml_servers(), kill_nml_servers(), esleep() + +#include "timetype.hh" // timetype_format() +#include // system(), exit() +#include // signal(), SIGINT +#include // getpid() +#include // fopen(), fputs(), fclose() +#include // errno, +#include // strerror() + +// Private Global Variables +static NML *nmltime = NULL; +static NML *nmlcontrol = NULL; + +// Private Functions +static void kill_timesvr(int); +static void save_pid(); + +static double time_limit; + +/***************** MAIN *******************************************/ +int main(int argc, char **argv) +{ + // Store the pid of this process in a file, to be used by master CGI script. + save_pid(); + + // Install signal handler so master CGI script can kill this process cleanly. + signal(SIGINT, kill_timesvr); + + // Connect to NML channels to provide access to. + nmltime = new NML(timetype_format,"timebuf","timesvr","socapplet.nml"); + nmlcontrol = new NML(timetype_format,"controlbuf","timesvr","socapplet.nml"); + + // Verify local connections. + if(NULL == nmltime || NULL == nmlcontrol) + { + kill_timesvr(2); + } + if(!nmltime->valid() || !nmltime->valid()) + { + kill_timesvr(2); + } + + if(argc > 1) + { + time_limit = strtod(argv[1],NULL); + } + else + { + time_limit = 1000; + } + + if(time_limit > 0) + { + // Spawn the server(s) neccessary to provide access to the channels that were opened. + rcs_print("Spawning NML servers . . . (time_limit = %f)\n",time_limit); + spawn_nml_servers(); + + // Wait until it is time to die. + esleep(time_limit); + + // Kill the servers spawned and cleanup. + kill_timesvr(2); + } + else + { + rcs_print("Running NML servers . . .(no time_limit) \n"); + run_nml_servers(); + } +} + +// Control-C or SIGINT Signal Handler +void kill_timesvr(int id) +{ + rcs_print("Killing NML servers . . .\n"); + kill_nml_servers(); + system("\\rm -f timesvr.run"); + if(NULL != nmltime) + { + delete nmltime; + nmltime = NULL; + } + if(NULL != nmlcontrol) + { + delete nmlcontrol; + nmlcontrol = NULL; + } + exit(0); +} + +// Function used to save the process id to a file, so the master CGI script can kill this +// process if necessary. +void save_pid() +{ + int mypid = getpid(); + FILE *pidfile = fopen("timesvr.pid","w"); + char buf[80]; + if(NULL == pidfile) + { + rcs_print_error("Can't open timesvr.pid. errno = %d -- %s.\n", + errno, strerror(errno)); + kill_timesvr(0); + } + sprintf(buf,"%d",mypid); + fputs(buf,pidfile); + fclose(pidfile); + system("chmod -f a+rw timesvr.pid"); + pidfile = NULL; +} + diff --git a/doc/socapplet/timesvr.log b/doc/socapplet/timesvr.log new file mode 100644 index 0000000..7d7a8f8 --- /dev/null +++ b/doc/socapplet/timesvr.log @@ -0,0 +1,4 @@ +Spawning NML servers . . . (time_limit = 1000.000000) +Spawning NML servers . . . (time_limit = 1000.000000) +Spawning NML servers . . . (time_limit = 1000.000000) +Killing NML servers . . . diff --git a/doc/socapplet/timesvr.pid b/doc/socapplet/timesvr.pid new file mode 100644 index 0000000..caea9e7 --- /dev/null +++ b/doc/socapplet/timesvr.pid @@ -0,0 +1 @@ +17195 \ No newline at end of file diff --git a/doc/socapplet/timetype.cc b/doc/socapplet/timetype.cc new file mode 100644 index 0000000..40b49e8 --- /dev/null +++ b/doc/socapplet/timetype.cc @@ -0,0 +1,49 @@ + + +#include "rcs.hh" +#include "timetype.hh" + +int timetype_format(NMLTYPE type, void *buf, CMS *cms) +{ + switch(type) + { + case NML_TIME_TYPE: + ((NML_TIME *) buf)->update(cms); + return 1; + case NML_START_TIMER_TYPE: + ((NML_START_TIMER *) buf)->update(cms); + return 1; + case NML_STOP_TIMER_TYPE: + ((NML_STOP_TIMER *) buf)->update(cms); + return 1; + case NML_RESET_TIMER_TYPE: + ((NML_RESET_TIMER *) buf)->update(cms); + return 1; + + default: + return 0; + } + return 0; +} + + +void NML_TIME::update(CMS *cms) +{ + cms->update(time); +} + + + +void NML_RESET_TIMER::update(CMS *cms) +{ +} + +void NML_STOP_TIMER::update(CMS *cms) +{ +} + +void NML_START_TIMER::update(CMS *cms) +{ +} + + diff --git a/doc/socapplet/timetype.hh b/doc/socapplet/timetype.hh new file mode 100644 index 0000000..812d770 --- /dev/null +++ b/doc/socapplet/timetype.hh @@ -0,0 +1,54 @@ +/*************************************************************************** +* File: timetype.hh +* +* This C++ Header file defines the messages that will be used by the +* wtimer psuedo controller. +* +***************************************************************************/ + +#ifndef TIMETYPE_HH +#define TIMETYPE_HH + +#include "rcs.hh" // class NMLmsg, class CMS + +#define NML_TIME_TYPE (1001) +#define NML_START_TIMER_TYPE (2001) +#define NML_STOP_TIMER_TYPE (2002) +#define NML_RESET_TIMER_TYPE (2003) + +class NML_TIME: public NMLmsg +{ +public: + NML_TIME(): NMLmsg(NML_TIME_TYPE, sizeof(NML_TIME)) {}; + void update(CMS *); + double time; +}; + + +class NML_START_TIMER: public NMLmsg +{ +public: + NML_START_TIMER(): NMLmsg(NML_START_TIMER_TYPE, sizeof(NML_START_TIMER)) {}; + void update(CMS *); +}; + + +class NML_STOP_TIMER: public NMLmsg +{ +public: + NML_STOP_TIMER(): NMLmsg(NML_STOP_TIMER_TYPE, sizeof(NML_STOP_TIMER)) {}; + void update(CMS *); +}; + +class NML_RESET_TIMER: public NMLmsg +{ +public: + NML_RESET_TIMER(): NMLmsg(NML_RESET_TIMER_TYPE, sizeof(NML_RESET_TIMER)) {}; + void update(CMS *); +}; + + +int timetype_format(NMLTYPE, void *, CMS *); + + +#endif diff --git a/doc/socapplet/wtimer.cc b/doc/socapplet/wtimer.cc new file mode 100644 index 0000000..069563b --- /dev/null +++ b/doc/socapplet/wtimer.cc @@ -0,0 +1,222 @@ +/****************************************************************** +* File: wtimer.cc +* +* This file contains the code for a psuedo controller that accepts +* NML commands and posts the time to an NML world model buffer. +* Unfortunately a fair amount of additional code was needed to +* allow the controller to be started from a CGI script easily. +* +****************************************************************/ + +// Main RCS Library include file +#include "rcs.hh" // class NML, etime(), esleep(), rcs_print() + +// Message specific include file for this Application +#include "timetype.hh" // timetype_format(), class NML_TIME + +// Standard System include files +#include // signal(), SIGINT +#include // system(), exit() +#include // getpid() +#include // fopen(), fputs(), fclose() +#include // errno +#include // strerror() + + +// Private global variables +static int quit_timer_var = 0; +static int timer_stopped = 0; +static NML *time_channel; +static NML *control_channel; + +// Private functions +static void save_pid(); +static void quit_timer_func(int); +static void exit_wtimer(); +static float time_limit = 980; + +/***************** MAIN *******************************************/ +int main(int argc, char **argv) +{ + NML_TIME nmltime; + double orig_start_time, start_time, stop_time; + NMLTYPE control_type; + + if(argc > 1) + { + time_limit = strtod(argv[1],NULL); + } + + // We want the master CGI script to be able to kill this process. + // so we will save the pid in a file. + rcs_print("Saving PID . . .\n"); + save_pid(); + + // Record the start time so we can kill this process after about 20 minutes. + orig_start_time = etime(); + + // Print some debug messages. + rcs_print("Initiallizing time_channel ...\n"); + + // Connect the World Model Buffer. + time_channel = new NML(timetype_format, "timebuf", "timer", "socapplet.nml"); + + // Verify that the connection to the World Model Buffer was successful. + if(NULL == time_channel) + { + // Cleanup and exit. + exit_wtimer(); + } + if(!time_channel->valid()) + { + // Cleanup and exit. + exit_wtimer(); + } + + + // Print some debug messages. + rcs_print("Initiallizing time_channel ...\n"); + + // Connect to the command buffer. + control_channel = new NML(timetype_format, "controlbuf", "timer", "socapplet.nml"); + + // Verify that the connection to the command buffer was successful. + if(NULL == control_channel) + { + // Cleanup and exit. + exit_wtimer(); + } + if(!control_channel->valid()) + { + // Cleanup and exit. + exit_wtimer(); + } + + // Install signal handler so master CGI script can kill this process cleanly. + signal(SIGINT, quit_timer_func); + + // Reset/Initialize Variables + quit_timer_var = 0; + timer_stopped = 0; + start_time = etime(); + + // Print more debug messages. + rcs_print("Timer starting (%f)... (time_limit = %f)\n",start_time,time_limit); + + // Main Loop + while(!quit_timer_var) + { + // Read the command buffer. + switch(control_type = control_channel->read()) + { + case 0: + break; + + case -1: + quit_timer_var = 1; + break; + + case NML_RESET_TIMER_TYPE: + start_time = etime(); + stop_time = 0.0; + nmltime.time = 0; + if(time_channel->write(nmltime)<0) + { + quit_timer_var = 1; + break; + } + break; + + case NML_STOP_TIMER_TYPE: + if(!timer_stopped) + { + stop_time = etime() - start_time; + timer_stopped = 1; + } + break; + + case NML_START_TIMER_TYPE: + if(timer_stopped) + { + start_time = etime() - stop_time; + timer_stopped = 0; + } + break; + + defualt: + rcs_print_error("Invalid reset type %d\n", control_type); + quit_timer_var = 1; + break; + } + if(!timer_stopped) + { + nmltime.time = etime() - start_time; + if(time_channel->write(nmltime)<0) + { + break; + } + } + + // Let other processes run. + esleep(0.5); + + // Check to see if it is time to die. + if(etime() - orig_start_time > time_limit && time_limit > 0) + { + quit_timer_var = 1; + break; + } + } + + // Cleanup and exit. + exit_wtimer(); + +} // end main() + + +void exit_wtimer() +{ + // Print some debug message. + rcs_print("Timer exiting.(%f)\n",etime()); + + // Disconnect from the NML channels. + if(NULL != control_channel) + { + delete control_channel; + control_channel = NULL; + } + if(NULL != time_channel) + { + delete time_channel; + time_channel = NULL; + } + // Delete this file to indicate to master CGI script that this process has finished. + system("\\rm -f wtimer.run"); + exit(0); +} + +// Control-C or SIGINT Signal Handler +void quit_timer_func(int i) +{ + quit_timer_var = 1; +} + + +// Fuction to save this process' PID in a file. +void save_pid() +{ + int mypid = getpid(); + char buf[80]; + FILE *pidfile = fopen("wtimer.pid","w"); + if(NULL == pidfile) + { + system("\\rm -f wtimer.run"); + rcs_print_error("Can't open wtimer.pid. errno = %d -- %s\n", errno, strerror(errno)); + exit(-1); + } + sprintf(buf,"%d",mypid); + fputs(buf,pidfile); + fclose(pidfile); + pidfile = NULL; + system("chmod -f a+rw wtimer.pid"); +} diff --git a/doc/socapplet/wtimer.log b/doc/socapplet/wtimer.log new file mode 100644 index 0000000..e885147 --- /dev/null +++ b/doc/socapplet/wtimer.log @@ -0,0 +1,5 @@ +Saving PID . . . +Initiallizing time_channel ... +Initiallizing time_channel ... +Timer starting (902687392.202842)... (time_limit = 980.000000) +Timer exiting.(902688372.270116) diff --git a/doc/socapplet/wtimer.pid b/doc/socapplet/wtimer.pid new file mode 100644 index 0000000..c831b12 --- /dev/null +++ b/doc/socapplet/wtimer.pid @@ -0,0 +1 @@ +17191 \ No newline at end of file diff --git a/doc/sockintf.html b/doc/sockintf.html new file mode 100644 index 0000000..9e8b32a --- /dev/null +++ b/doc/sockintf.html @@ -0,0 +1,126 @@ + + +Socket Interface to NML + + +

    Connecting to NML from languages other than C++ or Java via sockets.

    +
    +
    +CAUTION +The Java NML Interface was changed since this document was written. Although the interface described here is still avialable and the examples are written in java. Java programmers should probably see NML Programmers Interface (Java Version). +
    +
    + +
    +

    Introduction

    +

    When using languages other than C++ with NML, there are several problems. +The header files with the NML message definitions can not be included. The libraries for managing the NML communications are not available. In the case of +a Java applet the NML configuration file might also not be available. +One solution to this problem is to link together C++ code with +the code written in another language into a single program. This was the approach used in the EMC Graphical User Interface which is primarily written in +Visual Basic. Another approach is that the program written in non-C++ +connect via sockets to an NML server. However because the NML server has +many options writing the client might require a great deal of work to support +all the options. Also, the default interface requires handling binary +data which can more difficult to deal with than text, especially in scripting languages. Here I will choose a set of options that simplifies the interface for a Java client and describe how the client can be written. +

    +

    NML Configuration

    +

    On each buffer line for buffers remove any of the following if they were there: (TCP=?, UDP=?, ascii, xdr). +Then add "STCP=" to set the remote protocol to a simplified TC P protocol to the end of each buffer line. Unlike the normal TCP protocol, each +buffer must have a unique port. + Add "disp" to set the updater type to the ascii display type. +

    +

    Java Socket Code

    +

    +To open a connection create a new socket, making sure to match the host +and port from the NML configuration file. +

    +	String host = "giskard.cme.nist.gov";
    +	int port = 2001;
    +	Socket nmlsocket;
    +	nmlSocket = new Socket(host, port);
    +
    +

    +Then create a DataInputStream and DataOutputStream using that socket. +

    +
    +	DataOutputStream nmlOs;
    +	DataInputStream nmlIs;
    +	nmlOs = new DataOutputStream(nmlSocket.GetOutputStream);
    +	nmlIs = new DataInputStream(nmlSocket.GetInputStream);
    +
    +

    +To read from an NML buffer, write "read:\n" or "peek:" to +the DataOutputStream, then read a line from the DataInputStream. The line will +contain the NML message beginning with the type and size of the message and followed by members in the order the update functions are called. (The size indicates the size of the structure in C++ not the length of the string returned. -- Ignore it.) The parameters are separated by commas. Below is an example of how to parse this string. +

    +
    +	// Receive the current position.
    +	String nmlMsgString;
    +	long type;
    +	long size;
    +	float x;
    +	int index;
    +	nmlOs.writeBytes("read:\n");
    +	nmlMsgString = nmlIs.ReadLine();
    +	// nmlMsgString might look like this "8010,32,5.0,-25.0,0.7"
    +	type = (Long.valueOf(nmlMsgString)).longValue();
    +	index = nmlMsgString.indexOf(",");
    +	size = (Long.valueOf(nmlMsgString.substring(index))).longValue();
    +	index = nmlMsgString.indexOf(",",index);
    +	x = (Float.valueOf(nmlMsgString.substring(index))).floatValue();
    +
    +To write to a NML buffer send write "write:" or "write_if_read:" followed by the message in the same form as they are read in, beginning with the type and size followed by members separated by commas. It is not necessary to provide all of the members of the message. Members omitted from the end of the string will be considered to be zero. It is also not necessary to +calculate the size of the message, but a place holder is necessary if there are any other members to set in the string. +
    +	// Send the command to goto x,0,0
    +	nmlOs.writeBytes("8001,0," + (new Double(x)).toString());
    +
    + +

    A Complete Example

    +

    +This example consists of 3 programs: + +

      +
    1. A C++ pseudo controller +which accepts commands and updates a world model buffer. (wtimer.cc,timetype.cc, and timetype.hh)
    2. +
    3. A C++ server which passes messages back and forth between remote processes and the local buffers read and updated by the controller.(timesvr.cc,timetype.cc, and timetype.hh)
    4. +
    5. A Java Applet that sends +commands when buttons are pushed and polls the world model for display. +(socapplet.java and CountButton.java)
    6. +
    + +

    +The applet looks somewhat like a stopwatch. The controller doesn't have any +hardware to control so I simulate world model by just updating the time +in the world model buffer. Since we lack the computing resources here +to run a separate controller for each user that starts the applet, pressing +reset, start, or stop changes not only your display but also the display +of anyone else viewing this applet. +

    + +

    +NOTE:This applet that used to be here no longer works from this web page and has not worked for some time +because of some security settings placed on this +web server by our IT department.

    + + + +
    + +

    Last Modified: 03/25/97

    + + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + + + diff --git a/doc/timesvr.cc b/doc/timesvr.cc new file mode 100644 index 0000000..0f8ac22 --- /dev/null +++ b/doc/timesvr.cc @@ -0,0 +1,119 @@ +/**************************************************************************** +* File: timesvr.cc +* +* This file provides the code for an NML server that can be launched and +* killed by CGI script(s). It provides remote access to the time and +* control buffers used +* by the Java/NML inteface applet example. +*****************************************************************************/ + +#include "rcs.hh" // class NML, spawn_nml_servers(), kill_nml_servers(), esleep() + +#include "timetype.hh" // timetype_format() +#include // system(), exit() +#include // signal(), SIGINT +#include // getpid() +#include // fopen(), fputs(), fclose() +#include // errno, +#include // strerror() + +// Private Global Variables +static NML *nmltime = NULL; +static NML *nmlcontrol = NULL; + +// Private Functions +static void kill_timesvr(int); +static void save_pid(); + +static double time_limit; + +/***************** MAIN *******************************************/ +int main(int argc, char **argv) +{ + // Store the pid of this process in a file, to be used by master CGI script. + save_pid(); + + // Install signal handler so master CGI script can kill this process cleanly. + signal(SIGINT, kill_timesvr); + + // Connect to NML channels to provide access to. + nmltime = new NML(timetype_format,"timebuf","timesvr","socapplet.nml"); + nmlcontrol = new NML(timetype_format,"controlbuf","timesvr","socapplet.nml"); + + // Verify local connections. + if(NULL == nmltime || NULL == nmlcontrol) + { + kill_timesvr(2); + } + if(!nmltime->valid() || !nmltime->valid()) + { + kill_timesvr(2); + } + + if(argc > 1) + { + time_limit = strtod(argv[1],NULL); + } + else + { + time_limit = 1000; + } + + if(time_limit > 0) + { + // Spawn the server(s) neccessary to provide access to the channels that were opened. + rcs_print("Spawning NML servers . . . (time_limit = %f)\n",time_limit); + spawn_nml_servers(); + + // Wait until it is time to die. + esleep(time_limit); + + // Kill the servers spawned and cleanup. + kill_timesvr(2); + } + else + { + rcs_print("Running NML servers . . .(no time_limit) \n"); + run_nml_servers(); + } +} + +// Control-C or SIGINT Signal Handler +void kill_timesvr(int id) +{ + rcs_print("Killing NML servers . . .\n"); + kill_nml_servers(); + system("\\rm -f timesvr.run"); + if(NULL != nmltime) + { + delete nmltime; + nmltime = NULL; + } + if(NULL != nmlcontrol) + { + delete nmlcontrol; + nmlcontrol = NULL; + } + exit(0); +} + +// Function used to save the process id to a file, so the master CGI script can kill this +// process if necessary. +void save_pid() +{ + int mypid = getpid(); + FILE *pidfile = fopen("timesvr.pid","w"); + char buf[80]; + if(NULL == pidfile) + { + rcs_print_error("Can't open timesvr.pid. errno = %d -- %s.\n", + errno, strerror(errno)); + kill_timesvr(0); + } + sprintf(buf,"%d",mypid); + fputs(buf,pidfile); + fclose(pidfile); + system("chmod -f a+rw timesvr.pid"); + pidfile = NULL; +} + diff --git a/doc/timetype.cc b/doc/timetype.cc new file mode 100644 index 0000000..40b49e8 --- /dev/null +++ b/doc/timetype.cc @@ -0,0 +1,49 @@ + + +#include "rcs.hh" +#include "timetype.hh" + +int timetype_format(NMLTYPE type, void *buf, CMS *cms) +{ + switch(type) + { + case NML_TIME_TYPE: + ((NML_TIME *) buf)->update(cms); + return 1; + case NML_START_TIMER_TYPE: + ((NML_START_TIMER *) buf)->update(cms); + return 1; + case NML_STOP_TIMER_TYPE: + ((NML_STOP_TIMER *) buf)->update(cms); + return 1; + case NML_RESET_TIMER_TYPE: + ((NML_RESET_TIMER *) buf)->update(cms); + return 1; + + default: + return 0; + } + return 0; +} + + +void NML_TIME::update(CMS *cms) +{ + cms->update(time); +} + + + +void NML_RESET_TIMER::update(CMS *cms) +{ +} + +void NML_STOP_TIMER::update(CMS *cms) +{ +} + +void NML_START_TIMER::update(CMS *cms) +{ +} + + diff --git a/doc/timetype.hh b/doc/timetype.hh new file mode 100644 index 0000000..812d770 --- /dev/null +++ b/doc/timetype.hh @@ -0,0 +1,54 @@ +/*************************************************************************** +* File: timetype.hh +* +* This C++ Header file defines the messages that will be used by the +* wtimer psuedo controller. +* +***************************************************************************/ + +#ifndef TIMETYPE_HH +#define TIMETYPE_HH + +#include "rcs.hh" // class NMLmsg, class CMS + +#define NML_TIME_TYPE (1001) +#define NML_START_TIMER_TYPE (2001) +#define NML_STOP_TIMER_TYPE (2002) +#define NML_RESET_TIMER_TYPE (2003) + +class NML_TIME: public NMLmsg +{ +public: + NML_TIME(): NMLmsg(NML_TIME_TYPE, sizeof(NML_TIME)) {}; + void update(CMS *); + double time; +}; + + +class NML_START_TIMER: public NMLmsg +{ +public: + NML_START_TIMER(): NMLmsg(NML_START_TIMER_TYPE, sizeof(NML_START_TIMER)) {}; + void update(CMS *); +}; + + +class NML_STOP_TIMER: public NMLmsg +{ +public: + NML_STOP_TIMER(): NMLmsg(NML_STOP_TIMER_TYPE, sizeof(NML_STOP_TIMER)) {}; + void update(CMS *); +}; + +class NML_RESET_TIMER: public NMLmsg +{ +public: + NML_RESET_TIMER(): NMLmsg(NML_RESET_TIMER_TYPE, sizeof(NML_RESET_TIMER)) {}; + void update(CMS *); +}; + + +int timetype_format(NMLTYPE, void *, CMS *); + + +#endif diff --git a/doc/timingdiag.html b/doc/timingdiag.html new file mode 100644 index 0000000..20ae2c6 --- /dev/null +++ b/doc/timingdiag.html @@ -0,0 +1,205 @@ + + +NML Timing Diagnostics + + + +

    Supplementary NML Timing Diagnostics Tools

    + +

    Introduction

    + +

    Prior to October, 1999 we had the following tools that could be used to +measure the performance of NML, or diagnose problems within NML.

    + +
    + +
    nmlperf
    +
    A C++ command-line program that could be used to measure the performance of NML with various options and on different platforms. Although this is good for getting a picture of what the effect of various options are on performance and for comparing platforms and protocols, it doesn't directly measure a particular application or allow one to discover for example that a buffer is being read to frequently or infrequently. (See NML Performance Results.) +
    +
    nmltest
    +
    A C++ command-line program that could be used to test for the existance of certain application buffers and servers and discover some flaws in the configuration file. A message count could give you some idea of how often the buffer +was being written to, but prior to the modifications discussed below there was no way to determine how often it was being read or by whom. Also the message +count did not work, when nmltest connected remotely.
    +
    diagapplet
    +
    A graphical Java program that could be run inside a web-browser as a stand-alone application. This is the only generic tool that would interpret the application data inside the NML buffer, and the only one that would repeatedly update the display. It could give one some sense of how often the status buffer was being written by watching the heartbeat, but there was no way to find out how often reads were occuring. Also this tool needed access to additional configuration files and header files to be completely functional and NML applications that did not use the RCS-Design tool generally did not have these already set these up. (See RCS Java-based Diagnostics Tool and RCS Java-based Diagnostics Tool Instructions)
    +
    rcs_info
    +
    A function that could be called from within the VxWorks shell or from within an application to print the current state of several NML related variables.
    +
    + +

    During October, 1999 it was decided that NML needed to be modified so that a great deal more diagnostic information could be logged into NML buffers. A "diag" option was added to the buffer line of the configuration files that turned on the additional logging informaion and the nmltest program and rcs_info function were modified to display this additional information. The modifications to the "RCS Java-based Diagnostics Tool" have yet to be done. +

    + +

    Modifying the Configuration Files

    + + +

    For Version 1.0 configuration file users

    + +

    To enable the additional diagnostics logging add "diag" to the end of the buffer line. The additional diagnostics information requires 144 bytes per process connecting, so you may need to increase the size of the buffer manually. It is neccessary to make sure that theprocess connection numbers are unique even when the configuration options would not have otherwise required this. Currently these additional diagnostics features do not work with FILEMEM, STCPMEM, or UDP.

    + + +

    For Version 2.0+ configuration file users

    + +

    To enable the additional diagnostics logging add "diag=1" to the end of the buffer line or buffer default line. As was mentioned above, The additional diagnostics information requires 144 bytes per process connecting. This overhead will be automatically accounted for by the nmlcfg program by automatically increasing the size of SHMEM buffers. (At this time this is not done for GLOBMEM buffers.) It is neccessary to make sure that theprocess connection numbers are unique even when the configuration options would not have otherwise required this. The nmlcfg program will generate unique process connection numbers so that this is not an issue for most 2.0 users. Currently these additional diagnostics features do not work with FILEMEM, STCPMEM, or UDP.

    + + +

    Using nmltest

    + +

    To ensure that you get all of the diagnostic information available it is best to add a line in the configuration file for process "nmltest" and the buffer of interest and to test one buffer at a time. nmltest should not be the master for the buffer since the master zeroes all the diagnostic information. The program itself is a command line program located in a directory that depends on where the RCS library was installed and which platform you are using. At ISD, for example the sunos5 version is at:

    + +
    +/isd/proj/rcslib/plat/sunos5/bin/nmltest
    +
    + +

    Here's an example of it's output, with user input is in bold. For questions that appear to have no +answer the user simply responded by pressing the <Return> or <Enter> key. For most unix systems if the program has not yet been built change directories to src/cms directory and use the command "gmake nmltest PLAT=<your_platform>", for other systems link "nmltest.cc" or "nmltest.cpp" with the RCS library.

    + +
    +***** NML Test Program **************************
    + This program can be used to test whether all buffers
    + in a configuration file can be connected to or it can test
    + only one buffer/process connection.
    + It is best to use a version of nmltest using the same version
    + of the RCS library your application(s) use.
    +Just press enter when prompted to accept default.
    +@(#) RCS_LIBRARY_VERSION: 3.72 Compiled on  Oct  8 1999 at 13:01:19 for the sunos5 platform with compiler version 2.7.2.1 .
    +nmltest version 1.5 compiled onOct  8 1999
    + 
    + 
    +Configuration File? ex_cfg.nml
    +Test all buffers in the file? [yn] (default = No) 
    +Buffer Name? ex_buf1
    +Process Name? nmltest
    +RCS_CMD_CHANNEL ? [yn] (default = No)  
    +RCS_STAT_CHANNEL ? [yn] (default = No)  
    +Dump Hex Data ? [yn] (default = No)  
    +Show Diagnostics Info? [yn] (default = No)  y
    +Use_Passwd? [yn] (default = No) 
    +Calling constructor . . .
    +Constructor returned d4fc8.
    +nmltest_format called.
    +NML::peek() returned 101
    + 
    +nml->cms->header.write_id = 0
    +nml->cms->header.was_read = 0
    +NMLmsg *msg = nml->get_address() = d8498
    +msg->type = 101
    +msg->size = 422
    +********************************************
    +* Diagnostics for ex_buf1
    +Last writer = 2 (bWriter)
    +Last reader = 1 (bReader)
    +
    +Info for process bReader:
    +         Host and system info: squid, Motorola MVME162,VxWorks
    +         Process Id: 3156792
    +         RCS Library Version: 3.720000
    +         Last operation:  1 (READ)
    +         msg_id: 4770
    +         msg_size: 422
    +         msg_type: 101
    +         number_of_accesses: 1474
    +         number_of_new_messages: 1006
    +         bytes_moved: 459884.000000
    +         first_access_time: 939740314.080460 :  Tue Oct 12 10:58:34 1999
    + 
    +         last_access_time: 939740401.347127  : Tue Oct 12 11:00:01 1999
    + 
    +         Maximum time between accesses: 3.200000
    +         Minumum time between accesses: 0.016667
    +         Time between first and last access: 87.266667 -- 0:1:27
    +         Average time between accesses: 0.059204
    +         Average time between new messages: 0.086746
    +         Average bytes moved per second: 5269.870131
    +         Average bytes moved per message: 457.141153
    + 
    +Info for process bWriter:
    +         Host and system info: squid, Motorola MVME162,VxWorks
    +         Process Id: 3126784
    +         RCS Library Version: 3.720000
    +         Last operation:  4 (WRITE)
    +         msg_id: 4779
    +         msg_size: 422
    +         msg_type: 101
    +         number_of_accesses: 4779
    +         number_of_new_messages: 4779
    +         bytes_moved: 2130988.000000
    +         first_access_time: 939740321.863793 :  Tue Oct 12 10:58:41 1999
    +         last_access_time: 939740401.497127  : Tue Oct 12 11:00:01 1999
    + 
    +         Maximum time between accesses: 0.016667
    +         Minumum time between accesses: 0.016667
    +         Time between first and last access: 79.633333 -- 0:1:19
    +         Average time between accesses: 0.016663
    +         Average time between new messages: 0.016663
    +         Average bytes moved per second: 26760.000003
    +         Average bytes moved per message: 445.906675
    + 
    +Info for process nmltest:
    +         Host and system info: dopey, SunOS 5.5.1,SUNW,Ultra-
    +         Process Id: 28777
    +         RCS Library Version: 3.720000
    +         Last operation:  1 (READ)
    +         msg_id: 4779
    +         msg_size: 422
    +         msg_type: 101
    +         number_of_accesses: 1
    +         number_of_new_messages: 1
    +         bytes_moved: 0.000000
    +         first_access_time: 939740401.497127 :  Tue Oct 12 11:00:01 1999
    +         last_access_time: 939740401.497127  : Tue Oct 12 11:00:01 1999
    + 
    +********************************************
    + 
    +

    Hopefully both the questions and the output are self-explanatory. If you +have any doubts about the meaning or accuracy of this output please send email to shackle@nist.gov. + +

    Using rcs_info

    + +

    nmltest is convenient for occasional use since it does not require the user +to write any code but if you frequently want the diagnostics information writing a short stand-alone program that captures all the information of interest without asking for any input might be a good idea.

    + +

    As you create NML channels they are added to a linked list. The function +rcs_info() gets the diagnostic data from each channel on the list and prints it out in a format similiar to nmltest.

    + +

    Here's an example of it's use

    + +
    +
    +#include "rcs.hh"
    +
    +main()
    +{
    +	// Create list of channels.
    +	NML *nml1 = new NML( . . .);	
    +	NML *nml2 = new NML( . . .);	
    +	NML *nml3 = new NML( . . .);
    +	
    +	// Print diagnostic info for all of those channels with diagnostics enabled. 
    +	rcs_info();	
    +
    +}
    +
    + +

    Just as when using nmltest you will probably want to make sure that this +process has a unique process name, connection number and that it is not the +master.

    + +

    Accessing the diagnostic info directly

    + +

    It is possible to get the diagnostic information using the function get_diagnostics_info() prototyped below and then display the information obtained in some custom way. (See the files "nmldiag.hh" and "cmsdiag.hh" for the details on the format of the class NML_DIAGNOSTICS_INFO.) +

    + +
    +	NML_DIAGNOSTICS_INFO *NML::get_diagnostics_info();
    +
    + + +
    + +

    Last Modified: 10/15/99

    +

    If you have questions or comments regarding this page please +contact Will Shackleford at shackle@nist.gov

    + + + diff --git a/doc/tools/Image1.gif b/doc/tools/Image1.gif new file mode 100644 index 0000000..51d90dd Binary files /dev/null and b/doc/tools/Image1.gif differ diff --git a/doc/tools/Image10.gif b/doc/tools/Image10.gif new file mode 100644 index 0000000..905fd3c Binary files /dev/null and b/doc/tools/Image10.gif differ diff --git a/doc/tools/Image11.gif b/doc/tools/Image11.gif new file mode 100644 index 0000000..ab0776d Binary files /dev/null and b/doc/tools/Image11.gif differ diff --git a/doc/tools/Image12.gif b/doc/tools/Image12.gif new file mode 100644 index 0000000..fdccb5d Binary files /dev/null and b/doc/tools/Image12.gif differ diff --git a/doc/tools/Image2.gif b/doc/tools/Image2.gif new file mode 100644 index 0000000..25287ae Binary files /dev/null and b/doc/tools/Image2.gif differ diff --git a/doc/tools/Image3.gif b/doc/tools/Image3.gif new file mode 100644 index 0000000..f5c0a60 Binary files /dev/null and b/doc/tools/Image3.gif differ diff --git a/doc/tools/Image4.gif b/doc/tools/Image4.gif new file mode 100644 index 0000000..daffc81 Binary files /dev/null and b/doc/tools/Image4.gif differ diff --git a/doc/tools/Image5.gif b/doc/tools/Image5.gif new file mode 100644 index 0000000..0767892 Binary files /dev/null and b/doc/tools/Image5.gif differ diff --git a/doc/tools/Image6.gif b/doc/tools/Image6.gif new file mode 100644 index 0000000..d37ef00 Binary files /dev/null and b/doc/tools/Image6.gif differ diff --git a/doc/tools/Image7.gif b/doc/tools/Image7.gif new file mode 100644 index 0000000..fadd795 Binary files /dev/null and b/doc/tools/Image7.gif differ diff --git a/doc/tools/Image8.gif b/doc/tools/Image8.gif new file mode 100644 index 0000000..406e1cb Binary files /dev/null and b/doc/tools/Image8.gif differ diff --git a/doc/tools/Image9.gif b/doc/tools/Image9.gif new file mode 100644 index 0000000..b3129fa Binary files /dev/null and b/doc/tools/Image9.gif differ diff --git a/doc/tools/rcs-tools-walk-through-pc-version b/doc/tools/rcs-tools-walk-through-pc-version new file mode 120000 index 0000000..5c6c544 --- /dev/null +++ b/doc/tools/rcs-tools-walk-through-pc-version @@ -0,0 +1 @@ +rcs-tools-walk-through-pc-version.html \ No newline at end of file diff --git a/doc/tools/rcs-tools-walk-through-pc-version.html b/doc/tools/rcs-tools-walk-through-pc-version.html new file mode 100644 index 0000000..775c66b --- /dev/null +++ b/doc/tools/rcs-tools-walk-through-pc-version.html @@ -0,0 +1,340 @@ + + + + +RCS-Tools-Walk-Through-PC-version + + + + + + +

    RCS Tools Walk-through (PC-Version)

    +

    Introduction

    +

    The Real-Time Control System (RCS) tools include C++ class libraries, Java Programs, scripts, and makefiles. This walk-through provides step by step instructions to build a sample application and test it using the RCS tools. These instructions were tested on a 133 MHZ Pentium with Windows NT 4.0 service pack 3, Microsoft Visual C++ 4.2, the Java Developer's Kit (JDK) 1.1.3, WinZip 6.2 (32-Bit) for Windows NT, and Netscape Communicator 4.03. If you have any problems following these instructions, please contact Will Shackleford. The example will be a single axis machine tool controller. +You may also download the example controller instead of building it yourself at ftp://ftp.isd.mel.nist.gov/pub/emc/rcslib/rcs_ex.zip

    +
      + +
    1. If you have not already done so, install Microsoft Visual C++, the Java Developer's Kit, and the RCS Library. The Java Developer's Kit can be obtained from http://www.javasoft.com/. You will need both the Visual C++ and Java versions of the RCS Library. Download ftp://ftp.isd.mel.nist.gov/pub/emc/rcslib/rcs32msc.zip and unzip it in c:\ so that it should create a directory c:\rcslib. Download ftp://ftp.isd.mel.nist.gov/pub/emc/rcslib/rcsjava.zip and unzip it in c:\ so that adds the directory c:\rcslib\plat\java to directory tree already created.
    2. +
    3. Make the directory c:\rcs_ex.
    4. +
    5. Right mouse click on the desktop and select "New" and then "Shortcut".
    6. +
    7. For command line enter: "c:\jdk1.1.3\bin\java -classpath c:\jdk1.1.3\lib\classes.zip;c:\rcslib\plat\java\lib; rcsdesign.rcsDesign", for the name enter "RCS-Design". (If you installed the JDK in another directory besides c:\jdk1.1.3 modify the command-line to match.)
    8. +
    9. After the shortcut is created right-click on it again, select "Properties", then the "ShortCut" tab, and change the Start In directory to "c:\rcs_ex".
    10. +
    11. Double Click on the RCS-Design shortcut, which should bring up this:
      +first screen shot
    12. +
    13. This is the options screen of the RCS-Design tool. Under Java Command replace "java" with the complete path to the Java Runtime program. Under "Java Setup" add "SET CLASSPATH=" and the complete path to the classes.zip file. Switch to the Hierarchy Screen by selecting "Hierarchy" from the drop-down list in the upper-left corner which currently says "Options". The screen should look like this:
      +second screen shot
    14. +
    15. In the text field under "Add Module", type "emove" and press enter. Do the same for prim and tool. Select the prim module, and add servo. When your done the hierarchy should look like this:
      +third screen shot
    16. +
    17. In this example, we are building a controller for a machine tool. The emove level will accept commands to drill to a certain position or to change the drill bit. The tool controller will control the hardware necessary to change the drill bit once the position is moved back to zero. The prim controller will break down large moves from the emove level into small increments to send commanded positions to the servo module. The servo module will modify the output to a motor to make the actual position track the commanded position as closely as possible.
    18. +
    19. Select the emove module. Select "Commands" from the drop-down list in the middle of the left side that currently says "Subordinates". Under "Add Command", type "goto" and press enter. Add the command "change_tool". The screen should look like this:
      +fourth screen shot
    20. +
    21. Select the prim module and add the command "goto", select the tool module and add the command "change_tool", select the servo module and add the command "goto".
    22. +
    23. Select "Loops" from the drop-down list in the upper left that currently says "Hierarchy". The screen should look like this:
      +fifth screen shot
    24. +
    25. By default the tool assigns all the modules to the same loop at the same cycle time. However I want to run the servo module 5 times faster than the others, so I need to assign it to its own loop. Type "servo" under "Add Main Loop" and press enter. With rcs_ex selected under Main Loops click servo under "Modules In Loop" so that it will not be selected. Select servo under "Main Loops", then under "Modules In Loop" select servo. With servo selected under "Main Loops", enter 0.02 under "Cycle Time".
    26. +
    27. To check that the last step was correct. Select "rcs_ex" under "Main Loops". Under "Modules In Loop", emove, tool, and prim should be selected but servo should not and the cycle time should be 0.1. The screen should look like this:
      +sixth screen shot
    28. +
    29. Select "servo" under "Main Loops". Under "Modules In Loop" only servo should be selected. The cycle time should be 0.02. The screen should look like this:
      +seventh screen shot
    30. +
    31. Press the button that says "Create Source" to create the first version of our controller. Wait until a dialog box says, "RCS Application Created" then click on OK.
    32. +
    33. Select "Files" from the drop-down list in the upper-left. Select "src/intf/emoven.hpp" from the list of "Application Files". The screen should look like this:
      +eighth screen shot
    34. +
    35. Emoven.hpp is a C++ header file that defines the messages that the emove module will accept as commands or provide as status. To add some variables to the status message emove provides to the rest of the world paste the bold lines into the text area on the right. (When I copied from Internet Explorer half the new lines were lost. If you have Netscape handy, you may want to switch to it.)
    36. +
      class EMOVE_STATUS : public RCS_STAT_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_STATUS();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	int tool;
      +	double position;
      +};
      +
    37. Add the bold lines to the command messages so we will be able to tell the emove level where to go, or which tool to load.
    38. +
      class EMOVE_GOTO : public RCS_CMD_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_GOTO();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	double position;
      +};
      +
      +class EMOVE_CHANGE_TOOL : public RCS_CMD_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_CHANGE_TOOL();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	int tool;
      +};
      +
    39. Click the "Save" button to save your changes.
    40. +
    41. Select the file "src/intf/primn.hpp" from the "Application Files" list and add the variable "double position;" to PRIM_STATUS and PRIM_GOTO.
    42. +
    43. Select the file "src/intf/servon.hpp" from the "Application Files" list and add the variable "double position;" to SERVO_STATUS and SERVO_GOTO.
    44. +
    45. Select the file "src/intf/tooln.hpp" from the "Application Files" list and add the variable "int tool;" to TOOL_STATUS and TOOL_GOTO.
    46. +
    47. Select the file "src/emove/emove.cpp" from the "Application Files" list. Find the function EMOVE_MODULE::GOTO. This function will be called after the emove message recieves the EMOVE_GOTO command, and again every 100 milliseconds after that until the command is complete. Paste the bold text below into the function. This state table will send PRIM a PRIM_GOTO command and then wait for prim to be done before reporting that it is done.
    48. +
      +void EMOVE_MODULE::GOTO(EMOVE_GOTO *cmd_in)
      +{
      +	// Put state table for EMOVE_GOTO here.
      +	PRIM_GOTO primGoToMsg;
      +	
      +	primGoToMsg.position = cmd_in->position;
      +
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		sendCommand(&primGoToMsg, prim_sub_num);
      +		
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1,
      +		prim_status->status == RCS_DONE))
      +	{
      +		status = RCS_DONE;
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2))
      +	{
      +		// Idle State
      +	}
      +}
      +
    49. Find the function EMOVE_MODULE::CHANGE_TOOL. Paste the bold text below into the function. This state table will first send prim a PRIM_GOTO with position zero and then send TOOL_CHANGE_TOOL to the tool module.
    50. +
      +void EMOVE_MODULE::CHANGE_TOOL(EMOVE_CHANGE_TOOL *cmd_in)
      +{
      +	// Put state table for EMOVE_CHANGE_TOOL here.
      +
      +	PRIM_GOTO primGoToMsg;
      +	TOOL_CHANGE_TOOL toolChangeToolMsg;
      +	primGoToMsg.position = 0.0;
      +	toolChangeToolMsg.tool = cmd_in->tool;
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		sendCommand(&primGoToMsg, prim_sub_num);
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1,
      +		prim_status->status == RCS_DONE))
      +	{
      +		sendCommand(&toolChangeToolMsg, tool_sub_num);
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2,
      +		tool_status->status == RCS_DONE))
      +	{
      +		status = RCS_DONE;
      +		stateNext(S3);
      +	}
      +	else if(STATE_MATCH(S3))
      +	{
      +		// Idle State
      +	}
      +}
      +
    51. Find the function EMOVE_MODULE::POST_PROCESS. The post process function is called every cycle (100 ms) after the command functions regardless of the current command or status. This will copy the status variables tool and position from the status messages of prim and tool. Paste the bold text below into the function.
    52. +
      +void EMOVE_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	emove_status.position  = prim_status->position;
      +	emove_status.tool = tool_status->tool;
      +}
      +Save your changes to emove.cpp by clicking the "Save" button.
      +Select "src/tool/tool.cpp" from the "Application Files" list. Find the function TOOL_MODULE::CHANGE_TOOL. Paste the bold text below into the function. This just simulates the rest of the tool changer by updating the status value to match the commanded tool.
      +
      +void TOOL_MODULE::CHANGE_TOOL(TOOL_CHANGE_TOOL *cmd_in)
      +{
      +	// Put state table for TOOL_CHANGE_TOOL here.
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		tool_status.tool = cmd_in->tool;
      +		status = RCS_DONE;
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1))
      +	{
      +		// idle state
      +	}
      +}
      +
    53. Select "src/prim/prim.cpp" from the "Application Files" list Paste the bold text below into the appropriate functions. The PRIM_GOTO state table should keep sending SERVO_GOTO messages each one INCREMENT closer to the goal until servo is within INCREMENT and then it passes on the final position.
    54. +
      +void PRIM_MODULE::GOTO(PRIM_GOTO *cmd_in)
      +{
      +	// Put state table for PRIM_GOTO here.
      +	SERVO_GOTO servoGoToMsg;
      +	const double INCREMENT = 0.1;
      +	
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		if( cmd_in->position - servo_status->position > INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position+INCREMENT;
      +			stateNext(S1);
      +		}
      +		else if( cmd_in->position - servo_status->position < -INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position-INCREMENT;
      +			stateNext(S1);
      +		}
      +		else
      +		{
      +			servoGoToMsg.position = cmd_in->position;
      +			stateNext(S2);
      +		}
      +		sendCommand(&servoGoToMsg, servo_sub_num);
      +	}
      +	else if(STATE_MATCH(S1, 
      +		servo_status->status  == RCS_DONE))
      +	{
      +		if( cmd_in->position - servo_status->position > INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position+INCREMENT;
      +		}
      +		else if( cmd_in->position - servo_status->position < -INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position-INCREMENT;
      +		}
      +		else
      +		{
      +			servoGoToMsg.position = cmd_in->position;
      +			stateNext(S2);
      +		}
      +		sendCommand(&servoGoToMsg, servo_sub_num);
      +	}
      +	else if(STATE_MATCH(S2, 
      +			servo_status->status  == RCS_DONE))
      +	{
      +		status = RCS_DONE;	
      +		stateNext(S3);
      +	}
      +	else if(STATE_MATCH(S3))
      +	{
      +		// idle state
      +	}
      +}
      +// . . .
      +void PRIM_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	prim_status.position  = servo_status->position;
      +}
      +Select "src/servo/servo.hpp" from the "Application Files" list. Paste the bold text below into the the SERVO_MODULE definition.  This adds some additional variables that will be preserved across mutiple cycles.
      +
      +class SERVO_MODULE: public NML_MODULE
      +{
      +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
      +
      +public:
      +
      +	SERVO_MODULE(); // Constructor
      +
      +	// Overloaded Virtual Functions
      +	void PRE_PROCESS();
      +	void DECISION_PROCESS();
      +	void POST_PROCESS();
      +
      +	// Command Functions
      +	void INIT(SERVO_INIT *);
      +	void HALT(SERVO_HALT *);
      +	void GOTO(SERVO_GOTO *);
      +
      +	// Convenience Variables
      +	SERVO_STATUS servo_status;
      +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
      +
      +
      +private:
      +	// Add custom variables and functions here.
      +	int output;
      +	double velocity;
      +	double commanded_position;
      +	double actual_position;
      +
      +};
      +
    55. Select "src/servo/servo.cpp" from the "Application Files" list. Paste the bold text below into the appropriate functions. The constructor is used to initialize everything to a known state. The plant is simulated in PRE_PROCESS by assuming the velocity is proportional to the output to the motor. The output to the motor is computed in POST_PROCESS. Add #include <math.h> near the top of the file with the other includes for the definition of the fabs function.
    56. +
      +SERVO_MODULE::SERVO_MODULE()
      +{
      +
      +	// Set up NML Channels
      +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
      +
      +	setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "servo", "rcs_ex.nml"));
      +	setCmdChannel(new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "servo", "rcs_ex.nml"));
      +	setStatChannel(new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "servo", "rcs_ex.nml"), &servo_status);
      +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
      +
      +
      +	// Add additional code to initialize the module here.
      +	output = 0;
      +	velocity = 0.0;
      +	commanded_position = 0.0;
      +	actual_position = 0.0;
      +
      +}
      +// . . .
      +void SERVO_MODULE::PRE_PROCESS()
      +{
      +	// Pre-Processing Code
      +	velocity =  (double) output / 100.0;
      +	actual_position += (velocity*last_cycle_time);
      +}
      +// . . .
      +void SERVO_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	output = (int) ((commanded_position - actual_position)*100.0);
      +	servo_status.position = actual_position;
      +}
      +// . . .
      +void SERVO_MODULE::GOTO(SERVO_GOTO *cmd_in)
      +{
      +	// Put state table for SERVO_GOTO here.
      +	const double INRANGE = 0.01;
      +
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		commanded_position = cmd_in->position;
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1, 
      +		fabs(commanded_position - actual_position) < INRANGE))
      +	{
      +		commanded_position = actual_position;
      +		status = RCS_DONE;
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2))
      +	{
      +		// idle
      +	}
      +}
      +
    57. Open up a DOS Command Prompt. Change directories to c:\rcs_ex. Run NMAKE to compile everything. You could also click the "Make" button to accomplish the same thing.
    58. +
    59. If everything compiled, run rcs_ex.bat to start the controller and the Diagnostics Program. You will need to press a key 3 times since the batch file pauses after starting each part of the controller.( A common problem is not having java on the PATH or not having classes.zip in the CLASSPATH, you may want to check this if the diagnostics program doesn't come up.) The screen should look like this:

    60. +first screen shot of diag tool +
    61. Click the red checkbox that says "NOT CONNECTED" at the top. It should turn green and say connected 4 out of 4.
    62. +
    63. This is the hierarchy screen. You can see the current command and status of every module from here. Hold down the mouse over the emove module. A list will appear. Select EMOVE_INIT and release the mouse. The modules should turn green for a fraction of a second, indicating they are executing. The outline of the modules will turn red for a second indicating they have a new command. (If you don't see these effects you may want to reduce the refresh time using the slider in the upper right.)
    64. +
    65. Hold down the mouse over any of the modules and select HALT. That module and its subordinates should list a halt command as their current command.
    66. +
    67. Select "Details" from the drop-down list in the upper-left that currently says "Hierarchy". The screen should look like this:

    68. +another screen shot of diagnostics tool +
    69. Under "Commands Available" select EMOVE_GOTO. Under "Cmd To Send" select double position. Above the modify/clear buttons, enter 0.5 for the position and click "Modify". Click "Send". This will cause the emove module to start executing the goto command. Under "Current Status" you should see the position. Depending on your screen resolution you may need to click the "Down" button under this list to find the position variable. The position should increase over a couple of seconds to about 4.9E-1. It doesn't quite get to 0.5 because our servo level considers a difference of 0.01 to be in-range.
    70. +
    71. Send a CHANGE_TOOL command to emove after setting the tool parameter to 99. The position should count back to zero and just after it reaches zero the value of tool should change to 99.
    72. +
    73. Select the position variable under "Current Status". Check the "Plot this Status Variable" checkbox under the list. Send an EMOVE_GOTO message to emove again with a position of 0.5. Select "Graph" from the drop-down list in the upper-left that currently says "Details". Wait for the position to get almost to 0.5 and then click "Stop All Plotting". Then click "Fit to Graph". You should see the following graph:

    74. +screenshot of graph made with diagnostics tool +
    75. Congratulations!!! You have built and tested an RCS controller.
    + + diff --git a/doc/tools/rcs-tools-walk-through-unix-version.html b/doc/tools/rcs-tools-walk-through-unix-version.html new file mode 100644 index 0000000..3743235 --- /dev/null +++ b/doc/tools/rcs-tools-walk-through-unix-version.html @@ -0,0 +1,333 @@ + + + +RCS-Tools-Walk-Through-UNIX-version + +BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000EE" VLINK="551A8B" ALINK="#FF0000" > +

    RCS Tools Walk-through (UNIX-Version)

    +

    Introduction

    +

    The Real-Time Control System (RCS) tools include C++ class libraries, Java Programs, scripts, and makefiles. This walk-through provides step by step instructions to build a sample application and test it using the RCS tools. If you have any problems following these instructions, please contact Will Shackleford. The example will be a single axis machine tool controller. +You may also download the example controller instead of building it yourself at ftp://isdftp.cme.nist.gov/pub/emc/rcslib/rcs_ex.tar.Z

    +
      + +
    1. If you have not already done so, install the Java Developer's Kit and the RCS Library. The Java Developer's Kit can be obtained from http://www.javasoft.com/. You will need both the C++ and Java versions of the RCS Library for this exercize. Go to http://isd.cme.nist.gov/proj/rcs_lib/getrcs.html for instructions on downloading and installing the RCS Library. ( NOTE for NIST ISD Staff: The RCS Library is installed in /proj/rcslib and the Java Developer's Kit is installed in /depot/jdk. )
    2. +
    3. Make a directory called rcs_ex and cd to it.
    4. + +
    5. Double Click on the RCS-Design shortcut, which should bring up this:
      +
    6. +
    7. This is the options screen of the RCS-Design tool. Under Java Command replace "java" with the complete path to the Java Runtime program. Under "Java Setup" add "SET CLASSPATH=" and the complete path to the classes.zip file. Switch to the Hierarchy Screen by selecting "Hierarchy" from the drop-down list in the upper-left corner which currently says "Options". The screen should look like this:
      +
    8. +
    9. In the text field under "Add Module", type "emove" and press enter. Do the same for prim and tool. Select the prim module, and add servo. When your done the hierarchy should look like this:
      +
    10. +
    11. In this example, we are building a controller for a machine tool. The emove level will accept commands to drill to a certain position or to change the drill bit. The tool controller will control the hardware necessary to change the drill bit once the position is moved back to zero. The prim controller will break down large moves from the emove level into small increments to send commanded positions to the servo module. The servo module will modify the output to a motor to make the actual position track the commanded position as closely as possible.
    12. +
    13. Select the emove module. Select "Commands" from the drop-down list in the middle of the left side that currently says "Subordinates". Under "Add Command", type "goto" and press enter. Add the command "change_tool". The screen should look like this:
      +
    14. +
    15. Select the prim module and add the command "goto", select the tool module and add the command "change_tool", select the servo module and add the command "goto".
    16. +
    17. Select "Loops" from the drop-down list in the upper left that currently says "Hierarchy". The screen should look like this:
      +
    18. +
    19. By default the tool assigns all the modules to the same loop at the same cycle time. However I want to run the servo module 5 times faster than the others, so I need to assign it to its own loop. Type "servo" under "Add Main Loop" and press enter. With rcs_ex selected under Main Loops click servo under "Modules In Loop" so that it will not be selected. Select servo under "Main Loops", then under "Modules In Loop" select servo. With servo selected under "Main Loops", enter 0.02 under "Cycle Time".
    20. +
    21. To check that the last step was correct. Select "rcs_ex" under "Main Loops". Under "Modules In Loop", emove, tool, and prim should be selected but servo should not and the cycle time should be 0.1. The screen should look like this:
      +
    22. +
    23. Select "servo" under "Main Loops". Under "Modules In Loop" only servo should be selected. The cycle time should be 0.02. The screen should look like this:
      +
    24. +
    25. Press the button that says "Create Source" to create the first version of our controller. Wait until a dialog box says, "RCS Application Created" then click on OK.
    26. +
    27. Select "Files" from the drop-down list in the upper-left. Select "src/intf/emoven.hpp" from the list of "Application Files". The screen should look like this:
      +
    28. +
    29. Emoven.hpp is a C++ header file that defines the messages that the emove module will accept as commands or provide as status. To add some variables to the status message emove provides to the rest of the world paste the bold lines into the text area on the right. (When I copied from Internet Explorer half the new lines were lost. If you have Netscape handy, you may want to switch to it.)
    30. +
      class EMOVE_STATUS : public RCS_STAT_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_STATUS();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	int tool;
      +	double position;
      +};
      +
    31. Add the bold lines to the command messages so we will be able to tell the emove level where to go, or which tool to load.
    32. +
      class EMOVE_GOTO : public RCS_CMD_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_GOTO();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	double position;
      +};
      +
      +class EMOVE_CHANGE_TOOL : public RCS_CMD_MSG
      +{
      +public:
      +
      +	//Constructor
      +	EMOVE_CHANGE_TOOL();
      +
      +	// CMS Update Function
      +	void update(CMS *);
      +
      +	// Place custom variables here.
      +	int tool;
      +};
      +
    33. Click the "Save" button to save your changes.
    34. +
    35. Select the file "src/intf/primn.hpp" from the "Application Files" list and add the variable "double position;" to PRIM_STATUS and PRIM_GOTO.
    36. +
    37. Select the file "src/intf/servon.hpp" from the "Application Files" list and add the variable "double position;" to SERVO_STATUS and SERVO_GOTO.
    38. +
    39. Select the file "src/intf/tooln.hpp" from the "Application Files" list and add the variable "int tool;" to TOOL_STATUS and TOOL_GOTO.
    40. +
    41. Select the file "src/emove/emove.cpp" from the "Application Files" list. Find the function EMOVE_MODULE::GOTO. This function will be called after the emove message recieves the EMOVE_GOTO command, and again every 100 milliseconds after that until the command is complete. Paste the bold text below into the function. This state table will send PRIM a PRIM_GOTO command and then wait for prim to be done before reporting that it is done.
    42. +
      +void EMOVE_MODULE::GOTO(EMOVE_GOTO *cmd_in)
      +{
      +	// Put state table for EMOVE_GOTO here.
      +	PRIM_GOTO primGoToMsg;
      +	
      +	primGoToMsg.position = cmd_in->position;
      +
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		sendCommand(&primGoToMsg, prim_sub_num);
      +		
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1,
      +		prim_status->status == RCS_DONE))
      +	{
      +		status = RCS_DONE;
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2))
      +	{
      +		// Idle State
      +	}
      +}
      +
    43. Find the function EMOVE_MODULE::CHANGE_TOOL. Paste the bold text below into the function. This state table will first send prim a PRIM_GOTO with position zero and then send TOOL_CHANGE_TOOL to the tool module.
    44. +
      +void EMOVE_MODULE::CHANGE_TOOL(EMOVE_CHANGE_TOOL *cmd_in)
      +{
      +	// Put state table for EMOVE_CHANGE_TOOL here.
      +
      +	PRIM_GOTO primGoToMsg;
      +	TOOL_CHANGE_TOOL toolChangeToolMsg;
      +	primGoToMsg.position = 0.0;
      +	toolChangeToolMsg.tool = cmd_in->tool;
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		sendCommand(&primGoToMsg, prim_sub_num);
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1,
      +		prim_status->status == RCS_DONE))
      +	{
      +		sendCommand(&toolChangeToolMsg, tool_sub_num);
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2,
      +		tool_status->status == RCS_DONE))
      +	{
      +		status = RCS_DONE;
      +		stateNext(S3);
      +	}
      +	else if(STATE_MATCH(S3))
      +	{
      +		// Idle State
      +	}
      +}
      +
    45. Find the function EMOVE_MODULE::POST_PROCESS. The post process function is called every cycle (100 ms) after the command functions regardless of the current command or status. This will copy the status variables tool and position from the status messages of prim and tool. Paste the bold text below into the function.
    46. +
      +void EMOVE_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	emove_status.position  = prim_status->position;
      +	emove_status.tool = tool_status->tool;
      +}
      +Save your changes to emove.cpp by clicking the "Save" button.
      +Select "src/tool/tool.cpp" from the "Application Files" list. Find the function TOOL_MODULE::CHANGE_TOOL. Paste the bold text below into the function. This just simulates the rest of the tool changer by updating the status value to match the commanded tool.
      +
      +void TOOL_MODULE::CHANGE_TOOL(TOOL_CHANGE_TOOL *cmd_in)
      +{
      +	// Put state table for TOOL_CHANGE_TOOL here.
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		tool_status.tool = cmd_in->tool;
      +		status = RCS_DONE;
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1))
      +	{
      +		// idle state
      +	}
      +}
      +
    47. Select "src/prim/prim.cpp" from the "Application Files" list Paste the bold text below into the appropriate functions. The PRIM_GOTO state table should keep sending SERVO_GOTO messages each one INCREMENT closer to the goal until servo is within INCREMENT and then it passes on the final position.
    48. +
      +void PRIM_MODULE::GOTO(PRIM_GOTO *cmd_in)
      +{
      +	// Put state table for PRIM_GOTO here.
      +	SERVO_GOTO servoGoToMsg;
      +	const double INCREMENT = 0.1;
      +	
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		if( cmd_in->position - servo_status->position > INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position+INCREMENT;
      +			stateNext(S1);
      +		}
      +		else if( cmd_in->position - servo_status->position < -INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position-INCREMENT;
      +			stateNext(S1);
      +		}
      +		else
      +		{
      +			servoGoToMsg.position = cmd_in->position;
      +			stateNext(S2);
      +		}
      +		sendCommand(&servoGoToMsg, servo_sub_num);
      +	}
      +	else if(STATE_MATCH(S1, 
      +		servo_status->status  == RCS_DONE))
      +	{
      +		if( cmd_in->position - servo_status->position > INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position+INCREMENT;
      +		}
      +		else if( cmd_in->position - servo_status->position < -INCREMENT)
      +		{
      +			servoGoToMsg.position = servo_status->position-INCREMENT;
      +		}
      +		else
      +		{
      +			servoGoToMsg.position = cmd_in->position;
      +			stateNext(S2);
      +		}
      +		sendCommand(&servoGoToMsg, servo_sub_num);
      +	}
      +	else if(STATE_MATCH(S2, 
      +			servo_status->status  == RCS_DONE))
      +	{
      +		status = RCS_DONE;	
      +		stateNext(S3);
      +	}
      +	else if(STATE_MATCH(S3))
      +	{
      +		// idle state
      +	}
      +}
      +// . . .
      +void PRIM_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	prim_status.position  = servo_status->position;
      +}
      +Select "src/servo/servo.hpp" from the "Application Files" list. Paste the bold text below into the the SERVO_MODULE definition.  This adds some additional variables that will be preserved across mutiple cycles.
      +
      +class SERVO_MODULE: public NML_MODULE
      +{
      +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
      +
      +public:
      +
      +	SERVO_MODULE(); // Constructor
      +
      +	// Overloaded Virtual Functions
      +	void PRE_PROCESS();
      +	void DECISION_PROCESS();
      +	void POST_PROCESS();
      +
      +	// Command Functions
      +	void INIT(SERVO_INIT *);
      +	void HALT(SERVO_HALT *);
      +	void GOTO(SERVO_GOTO *);
      +
      +	// Convenience Variables
      +	SERVO_STATUS servo_status;
      +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
      +
      +
      +private:
      +	// Add custom variables and functions here.
      +	int output;
      +	double velocity;
      +	double commanded_position;
      +	double actual_position;
      +
      +};
      +
    49. Select "src/servo/servo.cpp" from the "Application Files" list. Paste the bold text below into the appropriate functions. The constructor is used to initialize everything to a known state. The plant is simulated in PRE_PROCESS by assuming the velocity is proportional to the output to the motor. The output to the motor is computed in POST_PROCESS. Add #include <math.h> near the top of the file with the other includes for the definition of the fabs function.
    50. +
      +SERVO_MODULE::SERVO_MODULE()
      +{
      +
      +	// Set up NML Channels
      +	// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool.
      +
      +	setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "servo", "rcs_ex.nml"));
      +	setCmdChannel(new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "servo", "rcs_ex.nml"));
      +	setStatChannel(new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "servo", "rcs_ex.nml"), &servo_status);
      +	// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool.
      +
      +
      +	// Add additional code to initialize the module here.
      +	output = 0;
      +	velocity = 0.0;
      +	commanded_position = 0.0;
      +	actual_position = 0.0;
      +
      +}
      +// . . .
      +void SERVO_MODULE::PRE_PROCESS()
      +{
      +	// Pre-Processing Code
      +	velocity =  (double) output / 100.0;
      +	actual_position += (velocity*last_cycle_time);
      +}
      +// . . .
      +void SERVO_MODULE::POST_PROCESS()
      +{
      +	// Post-Processing Code
      +	output = (int) ((commanded_position - actual_position)*100.0);
      +	servo_status.position = actual_position;
      +}
      +// . . .
      +void SERVO_MODULE::GOTO(SERVO_GOTO *cmd_in)
      +{
      +	// Put state table for SERVO_GOTO here.
      +	const double INRANGE = 0.01;
      +
      +	if(STATE_MATCH(NEW_COMMAND))
      +	{
      +		commanded_position = cmd_in->position;
      +		stateNext(S1);
      +	}
      +	else if(STATE_MATCH(S1, 
      +		fabs(commanded_position - actual_position) < INRANGE))
      +	{
      +		commanded_position = actual_position;
      +		status = RCS_DONE;
      +		stateNext(S2);
      +	}
      +	else if(STATE_MATCH(S2))
      +	{
      +		// idle
      +	}
      +}
      +
    51. Open up a DOS Command Prompt. Change directories to c:\rcs_ex. Run NMAKE to compile everything. You could also click the "Make" button to accomplish the same thing.
    52. +
    53. If everything compiled, run rcs_ex.bat to start the controller and the Diagnostics Program. You will need to press a key 3 times since the batch file pauses after starting each part of the controller.( A common problem is not having java on the PATH or not having classes.zip in the CLASSPATH, you may want to check this if the diagnostics program doesn't come up.) The screen should look like this:

    54. + +
    55. Click the red checkbox that says "NOT CONNECTED" at the top. It should turn green and say connected 4 out of 4.
    56. +
    57. This is the hierarchy screen. You can see the current command and status of every module from here. Hold down the mouse over the emove module. A list will appear. Select EMOVE_INIT and release the mouse. The modules should turn green for a fraction of a second, indicating they are executing. The outline of the modules will turn red for a second indicating they have a new command. (If you don't see these effects you may want to reduce the refresh time using the slider in the upper right.)
    58. +
    59. Hold down the mouse over any of the modules and select HALT. That module and its subordinates should list a halt command as their current command.
    60. +
    61. Select "Details" from the drop-down list in the upper-left that currently says "Hierarchy". The screen should look like this:

    62. + +
    63. Under "Commands Available" select EMOVE_GOTO. Under "Cmd To Send" select double position. Above the modify/clear buttons, enter 0.5 for the position and click "Modify". Click "Send". This will cause the emove module to start executing the goto command. Under "Current Status" you should see the position. Depending on your screen resolution you may need to click the "Down" button under this list to find the position variable. The position should increase over a couple of seconds to about 4.9E-1. It doesn't quite get to 0.5 because our servo level considers a difference of 0.01 to be in-range.
    64. +
    65. Send a CHANGE_TOOL command to emove after setting the tool parameter to 99. The position should count back to zero and just after it reaches zero the value of tool should change to 99.
    66. +
    67. Select the position variable under "Current Status". Check the "Plot this Status Variable" checkbox under the list. Send an EMOVE_GOTO message to emove again with a position of 0.5. Select "Graph" from the drop-down list in the upper-left that currently says "Details". Wait for the position to get almost to 0.5 and then click "Stop All Plotting". Then click "Fit to Graph". You should see the following graph:

    68. + +
    69. Congratulations!!! You have built and tested an RCS controller.
    + + diff --git a/doc/utilex1.cc b/doc/utilex1.cc new file mode 100644 index 0000000..2689440 --- /dev/null +++ b/doc/utilex1.cc @@ -0,0 +1,15 @@ +#include "rcs.hh" + + +main() +{ + RCS_TIMER timer(0.02);/* Initialize timer for 20 millisecond cycles. */ + + while(1) + { + /* Do some processing. */ + + timer.wait(); /* Wait for the end of cycle. */ + } +} + diff --git a/doc/utilex2.cc b/doc/utilex2.cc new file mode 100644 index 0000000..0119e59 --- /dev/null +++ b/doc/utilex2.cc @@ -0,0 +1,20 @@ +#include "rcs.hh" +#include + +int my_sync_func(void *arg) +{ + getchar(); + return(0); +} + +main() +{ + RCS_TIMER timer(0.02, my_sync_func, NULL); + + while(1) + { + /* Do some processing. */ + + timer.wait(); + } +} diff --git a/doc/utilex3.hh b/doc/utilex3.hh new file mode 100644 index 0000000..50ba096 --- /dev/null +++ b/doc/utilex3.hh @@ -0,0 +1,19 @@ +/* utilex3.hh */ +#ifndef UTILEX3_HH +#define UTILEX3_HH + +#ifdef __cplusplus +extern "C" { +#endif +#include /* defines the S_IXXXX permision flags */ +#ifdef __cplusplus +} /* END of extern "C" */ +#endif + +/* ID that processes connecting to this semaphore must agree on. */ +#define MY_SEM_ID 101 + +/* Permissions Mode for rw_rw_r__ */ +#define MY_SEM_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH) + +#endif /* end of UTILEX3_HH */ diff --git a/doc/utilex3a.cc b/doc/utilex3a.cc new file mode 100644 index 0000000..a299cef --- /dev/null +++ b/doc/utilex3a.cc @@ -0,0 +1,19 @@ +/* utilex3a.cc */ +#include "utilex3.hh" +#include "rcs.hh" + + /* Process A */ +main() +{ + RCS_SEMAPHORE my_sem(MY_SEM_ID, /* Both processes must agree on id. */ + RCS_SEMAPHORE_CREATE, /* Create the semaphore. */ + 0.100, /* timeout = 100 milliseconds */ + MY_SEM_MODE, /* Set permissions for semaphore */ + 1); /* Initial State */ + + if(-1 != my_sem.wait()) + { + /* Access shared resource. */ + my_sem.post(); + } +} diff --git a/doc/utilex3b.cc b/doc/utilex3b.cc new file mode 100644 index 0000000..f137ed0 --- /dev/null +++ b/doc/utilex3b.cc @@ -0,0 +1,17 @@ +/* utilex3b.cc */ +#include "utilex3.hh" +#include "rcs.hh" + +/* Process B */ +main() +{ + RCS_SEMAPHORE my_sem(MY_SEM_ID, /* Both processes must agree on id. */ + RCS_SEMAPHORE_NOCREATE, /* Do not Create the semaphore. */ + 0.100); /* timeout = 100 milliseconds */ + + if(-1 != my_sem.wait()) + { + /* Access shared resource. */ + my_sem.post(); + } +} diff --git a/doc/utilex4.cc b/doc/utilex4.cc new file mode 100644 index 0000000..028eba1 --- /dev/null +++ b/doc/utilex4.cc @@ -0,0 +1,43 @@ +#include "rcs.hh" + +class MY_STRUCT { + public: + int count; +}; + +RCS_LINKED_LIST *my_list; +int compute_total_count(RCS_LINKED_LIST *my_list); + +main() +{ + int totalCount; + MY_STRUCT S1, S2, S3; + my_list = new RCS_LINKED_LIST(); /* Initialize and create linked list. */ + + /* Store S1 on the end of list. */ + my_list->store_at_tail(&S1, sizeof(MY_STRUCT), 0); + + /* Store S2 on the end of list. */ + my_list->store_at_tail(&S2, sizeof(MY_STRUCT), 0); + + /* Store S3 on the end of list. */ + my_list->store_at_tail(&S3, sizeof(MY_STRUCT), 0); + + totalCount = compute_total_count(my_list); +} + +int compute_total_count(RCS_LINKED_LIST *my_list) +{ + MY_STRUCT *ptr_to_struct; + int total_count = 0; + + /* Get first object and initialize the internal pointer to start of list. */ + ptr_to_struct = (MY_STRUCT *) my_list->get_head(); + + while(NULL != ptr_to_struct) + { + total_count += ptr_to_struct->count; + ptr_to_struct = (MY_STRUCT *) my_list->get_next(); + } + return(total_count); +} diff --git a/doc/utilex5u.cc b/doc/utilex5u.cc new file mode 100644 index 0000000..77dc46b --- /dev/null +++ b/doc/utilex5u.cc @@ -0,0 +1,13 @@ +#include "rcs.hh" +#include "roots.hh" + +/* A UNIX or DOS Application which uses compute_roots. */ +main() +{ + double r1, r2; + /* Send all the rcs_print messages to the standard output. */ + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + /* Try to compute the roots of a quadratic that will cause an error.*/ + compute_roots(1, 2, -1, r1, r2); +} diff --git a/doc/utilex5w.cpp b/doc/utilex5w.cpp new file mode 100644 index 0000000..811e2b1 --- /dev/null +++ b/doc/utilex5w.cpp @@ -0,0 +1,34 @@ +#include "rcs.hh" +#include "win_prnt.hh" +#include "roots.hh" +#include ; + +/* A Windows Application which uses compute_roots. */ +int PASCAL WinMain( HANDLE hInstance, + HANDLE hPrevInstance, + LPSTR lpszCmdParam, + int nCmdShow) +{ + double r1, r2; + MSG msg; + + /* Store all the rcs_print messages in a linked list + that a window can display later. */ + set_rcs_print_destination(RCS_PRINT_TO_LIST); + + /* Create a window to show rcs_print messages, + and display it as an icon to start. + It has no parent window. */ + create_rcs_print_window(hInstance, SW_MINIMIZE, NULL); + + /* Compute the roots of a quadratic that will produce an error. */ + compute_roots(1, 1, 1, r1, r2); + + /* Wait for someone to kill this process. */ + while(GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + return(msg.wParam); +} diff --git a/doc/utils.html b/doc/utils.html new file mode 100755 index 0000000..1e29280 --- /dev/null +++ b/doc/utils.html @@ -0,0 +1,685 @@ + + + +RCS Library Utilities Guide + + + +

    RCS Library Lower Level Utilities

    + +
    +

    Introduction

    +

    The Real-Time Control Systems(RCS) library includes several utilities that aid portability of +source code. The most significant +utilities CMS/NML and the NODE class are described in separate documents. +This guide will expose some of the lower level classes and functions +which were used in constructing the higher level utilities but may also +be useful on their own. To use the utilities link with the RCS library +and include "rcs.hh" just as you would to use CMS/NML or the NODE class. +Some utilities are not +available under all of the platforms. See the "Platforms Supported" line +under each major heading.

    +

    Most of the examples have corresponding text files which can be +down loaded and compiled. (WWW Users: The examples are included both directly in this document for easy reading and as separate text-only files which are ready to be compiled.) Unfortunately, given the variety of systems +and compilers that are available it is impossible for me to give +detailed compiling instructions here. However the following form should +work on most systems.(All typed on one line.)

    +
    [C++ Compiler] -I[Location of RCS Include Files] [Example C++ File(s)] [RCS Library for Platform]  -o [Executable File]
    +

    For users of Sun4 computers on the NIST, ISD LAN the first example +would be compiled like this.

    +
    g++ -I/home/manta/rcslib/plat/sunos4/include utilex1.cc /home/manta/rcslib/plat/sunos4/lib/librcs.a  -o utilex1
    +

    Since a working knowledge of C++ will be very helpful for +understanding or using the RCS library utilities you may want to + review "A Quick C++ Introduction for RCS Library Users".

    +

    The RCS_TIMER Class.

    +

    Platforms Supported: All

    +

    Programmers can create RCS_TIMER objects to synchronize to the +system clock or to some other event(s).

    +

    To synchronize a cyclic process to the system clock:

    +
      +
    1. Initialize the RCS_TIMER object with the cycle period.
    2. +
    3. Call RCS_TIMER::wait() at the end of each cycle.
    4. +
    +

    The cycle period will be rounded up to the resolution of the system +clock or the most precise time measuring or sleeping function available for the +given platform. RCS_TIMER::wait() will wait the remainder of the cycle +period since the last call. The units for the cycle time are seconds.

    +

    Example: utilex1.cc

    +
    #include "rcs.hh"
    +
    +main()
    +{
    +	RCS_TIMER timer(0.02);/* Initialize timer for 20 millisecond cycles. */
    +
    + 	while(1)
    + 	{
    +		/* Do some processing. */
    +		timer.wait();        /* Wait for the end of cycle. */
    +	}
    +}
    +
    +

    To synchronize to some other event(s):

    +
      +
    1. Create a function that takes a (void *) as an argument and +returns an int.
    2. +
    3. Initialize the RCS_TIMER object with a cycle period used only for +diagnostics, the address of the function and a parameter for the +function.
    4. +
    5. Use RCS_TIMER::wait().
    6. +
    +

    The user's function should return 0 when the event to synchronize to +occurs or -1 if an error occurs. The argument passed to the users +function will be whatever was passed as the third parameter to the +constructor of the RCS_TIMER or NULL if no third argument is given. This +argument could be used by the synchronizing function to know which timer +is calling it if the synchronization function is called by more than one +timer. Nothing will force the function to return within the cycle period +but there are ways to check if the function took longer than the cycle +period after it returns.

    +

    Example:utilex2.cc

    +
    #include "rcs.hh"
    +#include <stdio.h> 
    +
    +int my_sync_func(void *arg)
    +{
    +	 getchar();
    +	 return(0);
    +}
    +
    +main()
    +{
    +	RCS_TIMER timer(0.02, my_sync_func, NULL);
    +
    + 	while(1)
    +	{
    +		 /* Do some processing. */
    +
    +		timer.wait();
    +	}
    +}
    +
    +

    Constructor:

    +

    RCS_TIMER::RCS_TIMER(double _interval, RCS_TIMERFUNC _function = NULL, +void *_arg = NULL);

    +

    Initialize a new RCS_TIMER object. _interval is the cycle period. +_function is an optional function for synchronizing to an event other +than the system clock. _arg is a parameter that will be passed to +function.

    +

    The wait Function

    +

    int RCS_TIMER::wait();

    +

    Wait until the end of interval or until a user function returns. +

    +

    Returns:
    0 for success, the number of cycles missed if it +missed some cycles, or
    -1 if some other error occurred.

    +

    The load Function

    +

    double RCS_TIMER::load();

    +

    Returns the percentage of loading by the cyclic process. If the process +spends all of its time waiting for the synchronizing event then it +returns 0.0. If it spends all of its time doing something else before +calling wait then it returns 1.0. The load percentage is the average load over +all of the previous cycles.

    +

    The sync Function

    +

    void RCS_TIMER::sync();

    +

    Restart the wait interval now.

    +

    Other Time Functions.

    +

    The esleep Function

    +

    Platforms Supported: All

    +

    void esleep(double _secs);

    +

    Go to sleep for _secs seconds. The time will be rounded up to the +resolution of the system clock or the most precise sleep or delay +function available for the given platform.

    +

    The etime Function

    +

    double etime();

    +

    Return the number of seconds from some event. The time will be +rounded up to the resolution of the system clock or the most precise +time measuring function available for the given platform. For the value +returned to mean anything you need to be able to compare it with a value +stored from a previous call to etime().

    +

    The RCS_SEMAPHORE Class.

    +

    Platforms Supported: All except DOS and Windows.

    +

    RCS_SEMAPHORE objects can be used for mutual exclusion of resources +shared by multiple processes on the same host.

    +

    To use:

    +
      +
    1. Create or attach to the semaphore by initializing the RCS_SEMAPHORE +object. You will need an id agreed on by the all the processes using the +semaphore and you must specify which process is responsible for creating +the semaphore.
    2. +
    3. Surround accesses to the shared resource with RCS_SEMAPHORE::wait() +and RCS_SEMAPHORE::post()
    4. +
    +

    Example: utilex3a.cc, +utilex3b.cc, utilex3.hh

    +

    utilex3a.hh

    +
    /* utilex3.hh */
    +#ifndef UTILEX3_HH
    +#define UTILEX3_HH
    +
    +#ifdef __cplusplus
    +extern "C" {
    +#endif
    +#include <sys/stat.h>   /* defines the S_IXXXX permission flags */
    +#ifdef __cplusplus
    +} /* END of extern "C" */
    +#endif
    +
    +/* ID that processes connecting to this semaphore must agree on. */
    +#define MY_SEM_ID 101
    +
    +/* Permissions Mode for rw_rw_r__ */
    +#define MY_SEM_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH) 
    +
    +#endif	/* end of UTILEX3_HH */
    +
    +

    utilex3a.cc

    +
    /* utilex3a.cc */
    +#include "utilex3.hh"
    +#include "rcs.hh"
    +
    + /* Process A */
    +main()
    +{
    +	RCS_SEMAPHORE my_sem(MY_SEM_ID, /* Both processes must agree on id. */
    +		RCS_SEMAPHORE_CREATE,   /* Create the semaphore. */ 
    +		0.100,    /* timeout = 100 milliseconds */
    +		MY_SEM_MODE,   /* Set permissions for semaphore */
    + 		1);          /* Initial State */
    +
    +	 if(-1 != my_sem.wait())
    +	{
    +		/* Access shared resource. */
    +		my_sem.post();
    +	} 
    +}
    +
    +

    utilex3b.cc

    +
    /* utilex3b.cc */
    +#include "utilex3.hh"
    +#include "rcs.hh"
    +
    +/* Process B */
    +main()
    +{
    +	RCS_SEMAPHORE my_sem(MY_SEM_ID, /* Both processes must agree on id. */
    +		RCS_SEMAPHORE_NOCREATE,   /* Do not Create the semaphore. */ 
    +		0.100); /* timeout = 100 milliseconds */
    +
    +	if(-1 != my_sem.wait())
    +	{
    +	    /* Access shared resource. */
    +	   my_sem.post();
    +	}
    +} 
    +
    +

    Constructor:

    +

    RCS_SEMAPHORE::RCS_SEMAPHORE(unsigned long int _id, int _oflag, double _timeout, int _mode = DEFAULT_SEM_MODE, int _state = 0);

    +

    Initializes an RCS_SEMAPHORE object. If _oflag equals +RCS_SEMAPHORE_CREATE a semaphore is created. If _oflag equals +RCS_SEMAPHORE_NOCREATE the process will try to attach to a semaphore +that must already have been created with the same _id. If _timeout is +positive, then calls to RCS_SEMAPHORE::wait() will return -1 after +timeout seconds. If _timeout is negative, then RCS_SEMAPHORE::wait() will +wait indefinitely for the semaphore to be available. If _timeout is zero, +then RCS_SEMAPHORE::wait() will return immediately with 0 if the +semaphore was available or -1 if it was not. The _mode determines which +users will have permission to use the semaphore. You can or together +symbolic constants from sys/stat.h. The default value of _mode, DEFAULT_SEM_MODE, allows read and write access to everyone. The _mode will be ignored if the +process is not creating the semaphore. The _state should be 1 to make the +semaphore immediately available. The _state will be ignored if the process is not creating the semaphore.

    +

    The wait Function

    +

    int RCS_SEMAPHORE::wait();

    +

    Wait for the semaphore to be available and then take it. See the +constructors parameters for several options affecting its behavior. +Returns 0 for success or -1 for failure.

    +

    The trywait Function

    +

    int RCS_SEMAPHORE::trywait();

    +

    If the semaphore is available take it. Returns 0 for success or -1 +for failure.

    +

    The post Function

    +

    int RCS_SEMAPHORE::post();

    +

    Release the semaphore. Returns 0 for success or -1 for failure.

    +

    The getvalue Function

    +

    int RCS_SEMAPHORE::getvalue();

    +

    Test to see if the semaphore is available but don't take it even if +it is. Returns a positive integer if the semaphore is available or 0 if +it is not.

    +

    The RCS_LINKED_LIST Class.

    +

    Platforms Supported: All.

    +

    RCS_LINKED_LIST objects can be used for a variety of linked list +applications. It includes an internal pointer that keeps track of the +current node.

    +

    To use:

    +
      +
    1. Initialize a linked list.
    2. +
    3. Store some objects on the list.
    4. +
    5. Perform some operations on the objects on the list.
    6. +
    +

    Example: utilex4.cc

    +
    +#include "rcs.hh"
    +
    +class MY_STRUCT {
    +  public:
    +	 int count;
    +};
    +
    +RCS_LINKED_LIST *my_list;
    +int compute_total_count(RCS_LINKED_LIST *my_list);
    +
    +main()
    +{
    +	int totalCount;
    +	MY_STRUCT S1, S2, S3;
    +	my_list = new RCS_LINKED_LIST();   /* Initialize and create linked list. */
    +	
    +	/* Store S1 on the end of list. */
    +	my_list->store_at_tail(&S1, sizeof(MY_STRUCT), 0); 
    +
    +	/* Store S2 on the end of list. */
    +	my_list->store_at_tail(&S2, sizeof(MY_STRUCT), 0); 
    +
    +	/* Store S3 on the end of list. */
    +	my_list->store_at_tail(&S3, sizeof(MY_STRUCT), 0); 
    +
    +	totalCount = compute_total_count(my_list);
    +}
    +
    +int compute_total_count(RCS_LINKED_LIST *my_list)
    +{
    +	MY_STRUCT *ptr_to_struct;
    +	int total_count = 0;
    +
    +	/* Get first object and initialize the internal pointer to start of list. */
    +	ptr_to_struct = (MY_STRUCT *) my_list->get_head(); 
    +
    +	while(NULL != ptr_to_struct)
    +	{
    +		total_count += ptr_to_struct->count;
    +		ptr_to_struct = (MY_STRUCT *) my_list->get_next();
    +	}
    +	return(total_count);	
    +}
    +
    +

    Constructor

    +

    RCS_LINKED_LIST::RCS_LINKED_LIST();

    +

    Initializes the linked list.

    +

    The store_at_head +Function

    +

    int RCS_LINKED_LIST::store_at_head(void *_data, size_t +_size, int _copy);

    +

    Creates a new node and places it at the beginning of the list. If +_copy is nonzero then this function will malloc _size +bytes and copy _size bytes from the address starting at +_data there and the get functions will return a pointer to +the copy of the object. If _copy is zero then the +_data pointer will be stored and the get functions will +return a pointer to the original object.

    +

    Returns a positive integer id that can be used to select this node +later if successful or -1 if an error occurred.

    +

    The store_at_tail +Function

    +

    int RCS_LINKED_LIST::store_at_tail(void *_data, size_t +_size, int _copy);

    +

    Creates a new node and places it at the end of the list. If _copy +is nonzero then this function will malloc _size bytes and +copy _size bytes from the address starting at _data +there and the get functions will return a pointer to the copy of the +object. If _copy is zero then the +_data pointer will be stored and the get functions will +return a pointer to the original object.

    +

    Returns a positive integer id that can be used to select this node +later if successful or -1 if an error occurred.

    +

    The +store_before_current_node Function

    +

    int RCS_LINKED_LIST::store_before_current_node(void *_data, +size_t _size, int _copy);

    +

    Creates a new node and places it before the current node. If _copy +is nonzero then this function will malloc _size bytes and +copy _size bytes from the address starting at _data +there and the get functions will return a pointer to the copy of the +object. If _copy is zero then the +_data pointer will be stored and the get functions will +return a pointer to the original object.

    +

    Returns a positive integer id that can be used to select this node +later if successful or -1 if an error occurred.

    +

    The +store_after_current_node Function

    +

    int RCS_LINKED_LIST::store_after_current_node(void *_data, +size_t +_size, int _copy);

    +

    Creates a new node and places it after the current node. If _copy +is nonzero then this function will malloc _size bytes and +copy _size bytes from the address starting at _data +there and the get functions will return a pointer to the copy of the +object. If _copy is zero then the +_data pointer will be stored and the get functions will +return a pointer to the original object.

    +

    Returns a positive integer id that can be used to select this node +later if successful or -1 if an error occurred.

    +

    The get_head Function

    +

    void *RCS_LINKED_LIST::get_head();

    +

    Get the address of the first object on the list and set the current +node to the beginning of the list.

    +

    If the list is empty get_head returns null. Depending on how the object was stored the address this +function returns may be the address of the original object or of a copy.

    +

    The get_tail Function

    +

    void *RCS_LINKED_LIST::get_tail();

    +

    Get the address of the object at the end of the list and set the +current node to the end of the list. If the list is empty get_tail +returns null. Depending on how the object was stored the address this +function returns may be the address of the original object or of a copy.

    +

    The get_next Function

    +

    void *RCS_LINKED_LIST::get_next();

    +

    Get the address of the next object on the list and move the current +node one step closer to the tail.. If the list is empty get_tail returns +null. Depending on how the object was stored the address this +function returns may be the address of the original object or of a copy.

    +

    The get_last Function

    +

    void *RCS_LINKED_LIST::get_last();

    +

    Get the address of the previous object on the list and move the +current node one step closer to the head.. If the list is empty get_tail +returns null. Depending on how the object was stored the address this +function returns may be the address of the original object or of a copy.

    +

    The +delete_current_node Function

    +

    void RCS_LINKED_LIST::delete_current_node();

    +

    Remove the current node from the list and free any memory associated +with it. Some extra pointers keep track of the node that was before and +after the deleted node so that the next call to get_next or get_last will return the same object as if the +current node was not deleted.

    +

    The delete_node +Function

    +

    void RCS_LINKED_LIST::delete_node(int id);

    +

    Delete the node with the associated id.

    +

    The +set_list_sizing_mode Function

    +

    void RCS_LINKED_LIST::set_list_sizing_mode(int _maximum_size, +LIST_SIZING_MODE _new_mode);

    +

    Sets a sizing mode and the maximum number of nodes allowed on the +list. The sizing mode determines what happens when there is an attempt +to add another node to the list after it has reached the _maximum_size. +The following are the possible values for +_new_mode:

    +
      +
    • DELETE_FROM_TAIL: Remove one node from the tail of the list to make +room for the new node.
    • +
    • DELETE_FROM_HEAD: Remove one node from the head of the list to make +room for the new node.
    • +
    • STOP_AT_MAX: Return -1 if an attempt is made to add a new node when +the list is full.
    • +
    • NO_MAXIMUM_SIZE: Allow the list to grow until all available memory +is used up.
    • +
    +

    Destructor

    +

    RCS_LINKED_LIST::~RCS_LINKED_LIST();

    +

    Removes every node from the list and frees all the memory associated +with the nodes or the list itself.

    +

    RCS Print Functions.

    +

    Platforms Supported: All

    +

    Although ANSI C provides input/output facilities such as printf +these functions may not be appropriate under certain circumstances. For +example, under Windows unless you compile with the EasyWin(Borland C++) +or QuickWin(Visual C++) option there will be no window created to catch +printf messages, and there are some limitations if you choose the +EasyWin or QuickWin options. The RCS print functions work much like the +ANSI C facilities but can more easily redirect their output. Controlling +where the output of the RCS print functions goes also controls the error +messages of CMS/NML and the debug messages of the NODE class.

    +

    Example: roots.cc, roots.hh, + utilex5u.cc, utilex5w.cc +

    +

    roots.hh

    +
    /* roots.hh */
    +#ifndef ROOTS_HH
    +#define ROOTS_HH
    +
    +/* Function for computing the roots of a quadratic. */
    +void compute_roots( double A, double B, double C, double &root1, double &root2);
    +
    +#endif /* end of ROOTS_HH */
    +
    +

    roots.cc

    +
    #include "roots.hh"
    +#include "rcs.hh"
    +#include <math.h>
    +
    +/* Function for computing the roots of a quadratic. */
    +void compute_roots( double A, double B, double C, double &root1, double &root2)
    +{
    +	if(B*B-4*A*C < 0)
    +	{
    +		rcs_print("compute_roots: Can't compute square root of %lf\n",
    +			  B*B-4*A*C);
    +		 return;
    +	}
    +	root1 = (-B+sqrt(B*B-4*A*C))/(2*A);
    +	root2 = (-B-sqrt(B*B-4*A*C))/(2*A);
    +}
    +
    +

    utilex5u.cc

    +
    #include "rcs.hh"
    +#include "roots.hh"
    +
    +/* A UNIX or DOS Application which uses compute_roots. */
    +main()
    +{
    +	double r1, r2;
    +	/* Send all the rcs_print messages to the standard output. */
    +	set_rcs_print_destination(RCS_PRINT_TO_STDOUT);
    +	
    +	/* Try to compute the roots of a quadratic that will cause an error.*/
    +	compute_roots(1, 1, 1, r1, r2);
    +}
    +
    +

    utilex5w.cpp

    +
    #include "rcs.hh"
    +#include "roots.hh"
    +#include <windows.h>
    +
    +/* A Windows Application which uses compute_roots. */
    +int PASCAL WinMain( HANDLE hInstance, 
    +		   HANDLE hPrevInstance, 
    +		   LPSTR lpszCmdParam,
    +			int nCmdShow)
    +{
    +	double r1, r2;
    +	MSG msg;
    +
    +	/* Store all the rcs_print messages in a linked list 
    +	   that a window can display later. */
    +	set_rcs_print_destination(RCS_PRINT_TO_LIST);
    +
    +	/* Create a window to show rcs_print messages, 
    +	   and display it as an icon to start.
    + 	It has no parent window. */
    +	create_rcs_print_window(hInstance, SW_MINIMIZE, NULL); 
    +
    +	/* Compute the roots of a quadratic that will produce an error. */
    +	compute_roots(1, 1, 1, r1, r2);
    +
    +	/* Wait for someone to kill this process. */
    +	while(GetMessage(&msg, NULL, 0, 0))
    +	{
    +	  TranslateMessage(&msg);
    +	  DispatchMessage(&msg);
    +	}
    +	return(msg.wParam);
    +}
    +
    +

    The Windows Application also uses the create_rcs_print_window function described under Windows Functions.

    +

    The rcs_print Function

    +

    int rcs_print(char *_fmt, . . .);

    +

    Prints a message using the _fmt format string and +optional additional arguments using the printf conventions.

    +

    The rcs_print_error Function

    +

    int rcs_print_error(char *_fmt, . . .);

    +

    Prints a message using the _fmt format string and +optional additional arguments using the printf conventions if the +PRINT_RCS_ERRORS flag is set. (See set_rcs_print_flag().)

    +

    The rcs_print_debug Function

    +

    int rcs_print_debug(long _flag_to_check, char *_fmt, +. . .);

    +

    .Prints a message using the _fmt format string and +optional additional arguments using the printf conventions if the +corresponding flag to _flag_to_check is set. (See +set_rcs_print_flag().)

    +

    The rcs_vprint Function.

    +

    int rcs_vprint(char *_fmt, va_list _va_args);

    +

    Prints a message using the _fmt format string and the +_va_args using the vprintf conventions.

    +

    The rcs_puts Function

    +

    int rcs_puts(char *_str);

    +

    Prints the string _str and adds a new line character at +the end following the puts convention.

    +

    The +strip_control_characters Function

    +

    char *strip_control_characters(char *_dest, char *_src);

    +

    Removes new lines, carriage returns and tabs from the _src +string and stores the result in the _dest string if the +_dest pointer does not equal NULL. If the _dest +pointer equals NULL the new string is stored in an internal array.

    +

    Returns the dest pointer or the address of the internal array where +the new string was stored.

    +

    The +set_rcs_print_destination Function

    +

    void set_rcs_print_destination(RCS_PRINT_DESTINATION_TYPE _type);

    +

    Changes where the output of the rcs_print functions is directed. The +following choices are available:

    +
    +
    RCS_PRINT_TO_STDOUT
    +
    Print to stdout.
    +
    RCS_PRINT_TO_LOGGER
    +
    Currently prints to stdout, except under VxWorks where it uses the logMsg function, which is non-blocking.
    +
    RCS_PRINT_TO_STDERR
    +
    Print to stderr
    +
    RCS_PRINT_TO_NULL
    +
    Make all rcs_print functions return without doing anything.
    +
    RCS_PRINT_TO_LIST
    +
    Store all rcs_print messages in a linked list, so that later they +can be displayed in a separate window, or used in some other way. The +current list sizing mode defaults to a maximum size of 256 with excess nodes being deleted from the head.
    +
    +

    The set_rcs_print_flag +Function

    +

    void set_rcs_print_flag(long flag_to_set);

    +

    An internal 32 bit integer contains a set of flags that are checked +whenever an rcs_print_debug or rcs_print_error occurs to determine if +the message should be printed or not. Programmers can define their own +flags in the most significant byte or turn on or off several NODE or +CMS/NML debug messages.

    +

    The current messages that can be turned on or off are:

    +


    /* Print MODE flags. */ +
    PRINT_RCS_ERRORS /* ON by default.*/ +
    PRINT_NODE_CONSTRUCTORS +
    PRINT_NODE_DESTRUCTORS +
    PRINT_CMS_CONSTRUCTORS +
    PRINT_CMS_DESTRUCTORS +
    PRINT_NML_CONSTRUCTORS +
    PRINT_NML_DESTRUCTORS +
    PRINT_COMMANDS_RECIEVED +
    PRINT_COMMANDS_SENT +
    PRINT_STATUS_RECIEVED +
    PRINT_STATUS_SENT +
    PRINT_NODE_CYCLES +
    PRINT_NODE_MISSED_CYCLES +
    PRINT_NODE_CYCLE_TIMES +
    PRINT_NODE_PROCESS_TIMES +
    PRINT_NEW_WM +
    PRINT_NODE_ABORT +

    +

    The clear_rcs_print_flag +Function

    +

    void clear_rcs_print_flag(long flag_to_clear);

    +

    Clears a flag set with set_rcs_print_flag.

    +

    The get_rcs_print_list +Function

    +

    RCS_LINKED_LIST *get_rcs_print_list();

    +

    Returns the address of the linked list where messages may have been +stored.

    +

    The clean_rcs_print_list Function

    +

    void clean_print_list();

    +

    Deletes the linked list where messages may have been stored.

    +

    The +set_rcs_print_list_sizing_mode Function

    +

    void set_rcs_print_list_sizing_mode(int max_size, LIST_SIZING_MODE +mode);

    +

    The print list will have a default maximum size of 256 and it will +delete nodes from the head of the list to make room for new nodes. To +change these settings it is preferable to use this function rather than +getting the print list and using RCS_LINKED_LIST::set_list_sizing_mode() +since it works regardless of whether the print list has been initialized +yet.

    +

    Windows Functions

    +

    Platforms Supported: MS-Windows 3.11, Windows 95, and Windows NT +with Borland C++ or Microsoft Visual C++

    After the messages from +rcs_print have been stored in the linked list, Windows programs can go +through the list themselves or create a special window to display these +messages automatically.

    +

    To create a window for the rcs_print messages:

    +
      +
    1. Call create_rcs_print_window().
    2. +
    +

    The +create_rcs_print_window Function

    +

    HWND create_rcs_print_window(HANDLE hInstance, int nCmdShow, HWND +hwndParent);

    +

    Creates a window to display rcs_print messages. It will be updated +automatically when the rcs_print function is called or when one of its +windows controls are used. The hInstance parameter should equal the first +parameter passed to WinMain. The nCmdShow will be passed to ShowWindow. +See the Windows API for ShowWindows options. The two most common values +of nCmdShow are SW_MINIMIZE to start the window as an icon or +SW_SHOWNORMAL to open the window immediately. You can create the window +as a child of hwndParent or set hwndParent to NULL to make the window +independent. +

    +

    The +remove_rcs_print_window Function

    +

    void remove_rcs_print_window();

    +

    Send the WM_DESTROY message to the rcs print window.

    + + +

    Internet Functions

    + +The RCS library includes a simple inteface for reading text files +over the internet which is similar to the C functions in stdio.h. +These functions sit on top of either the library from the World Wide Web Consortium or the Internet API (Application Programmer`s Interface) in the +ActiveX SDK (Software Developer's Kit) included with Microsoft Visual C++ Version 4.2 and later.

    + +Here are the functions:

    + +

    +int inet_file_init(char *agent_name, char *version, int debug);
    +INET_FILE *inet_file_open(char *url, char *type);
    +char *inet_file_gets(char *buf, int maxlen, INET_FILE *fp);
    +int inet_file_eof(INET_FILE *fp);
    +int inet_file_close(INET_FILE *fp);
    +int inet_file_exit();
    +
    + +inet_file_init can be called before any calls to the other functions to set +the agent_name, and version and to turn on debugging. The agent_name and version string are supplied to any HTTP servers you connect to mostly just for logging statistics about which browser is more popular. If debug is nonzero +several diagnostics messages will be printed to stdout. If you never call inet_file_init it will be called with the first inet_file_open with a default agent_name, and version string and debugging off. The url passed to inet_file_open can be any valid URL or file name on your local system. For local filenames it +is NOT necessary to use "file:\\" at the beginning. The type should always be "r" for read-only. inet_file_gets stores one line up to +maxlen bytes in the buffer buf. inet_file_eof returns zero if there is more of +the file to read and nonzero otherwise. inet_file_close should be used to +close each INET_FILE handle and inet_file_exit should be called only just before the application exits to free up some memory/resources.

    + + + +


    +

    Last Modified: 03/23/00

    + +

    If you have questions or comments regarding this page or you would like to be notified of changes to the RCS library via email, please +contact Will Shackleford at shackle@cme.nist.gov

    + + + diff --git a/doc/utilstoc.html b/doc/utilstoc.html new file mode 100644 index 0000000..e8e9932 --- /dev/null +++ b/doc/utilstoc.html @@ -0,0 +1,84 @@ + + +Table of Contents - Utilities Guide + + +

    Table of Contents for the RCS Library Lower Level Utilities

    + +
  • See other RCS Library Documents.
  • +
    +
    + +
    +

    Last Modified: 08/25/99

    +

    If you have questions or comments regarding this page, please +contact Will Shackleford at

    shackle@cme.nist.gov

    + + + + + + + diff --git a/doc/vbar.gif b/doc/vbar.gif new file mode 100644 index 0000000..bb7607f Binary files /dev/null and b/doc/vbar.gif differ diff --git a/doc/vrmlnml_outline.html b/doc/vrmlnml_outline.html new file mode 100644 index 0000000..98b66d0 --- /dev/null +++ b/doc/vrmlnml_outline.html @@ -0,0 +1,51 @@ + +
    +Implementation of VRML/Java web-based animation and communications for +the NGIS Real-time Controller
    +
    +
    +Paper should be about 5-6 pages in length  typical conference paper +size
    +
    +
    Abstract
    +
    +Introduction
    +        NGIS +Overview
    +Controllers over the web
    +
    +Nomenclature
    +
    +NGIS NML controller
    +
    +Communications within the controller
    +
    +Modeling the Cordax in VRML
    +        VRML +overview
    +        Existing +Deneb model
    +        Deneb +-> VRML translator (Sandy Resslers group)
    +
    +Creating Java interface files from existing C++ code
    +
    +Web-based Java communication with the controller via NML
    +        NML +connection between client and web server
    +        TCP +Proxy
    +        Low +bandwidth connection (only sending joint positions)
    +
    +Controlling the Cordax VRML model with the controller
    +        Java +applet -> VRML plugin communication
    +External Authoring Interface
    +                
    +Conclusions
    +
    +Acknowledgements
    +
    +References
    +
    diff --git a/doc/write_mem_map.cc b/doc/write_mem_map.cc new file mode 100644 index 0000000..b25c20a --- /dev/null +++ b/doc/write_mem_map.cc @@ -0,0 +1,13 @@ + + +#include "nml_ex1.hh" + +int main(int argc, const char **argv) +{ + NML nml(ex_format, 0,0,0); + EXAMPLE_MSG example_msg; + + nml.writeEncodedMessageMemoryMapToFile(&example_msg, + CMS_PACKED_ENCODING, + "EXAMPLE_MSG_TYPE_map.csv"); +} diff --git a/doc/write_mem_map_v2.cc b/doc/write_mem_map_v2.cc new file mode 100644 index 0000000..9bf5b00 --- /dev/null +++ b/doc/write_mem_map_v2.cc @@ -0,0 +1,13 @@ + + +#include "nml_ex1_v2.hh" + +int main(int argc, const char **argv) +{ + NML nml(ex_format, 0,0,0); + EXAMPLE_MSG example_msg; + + nml.writeEncodedMessageMemoryMapToFile(&example_msg, + CMS_PACKED_ENCODING, + "EXAMPLE_MSG_TYPE_map_v2.csv"); +} diff --git a/doc/wtimer.cc b/doc/wtimer.cc new file mode 100644 index 0000000..069563b --- /dev/null +++ b/doc/wtimer.cc @@ -0,0 +1,222 @@ +/****************************************************************** +* File: wtimer.cc +* +* This file contains the code for a psuedo controller that accepts +* NML commands and posts the time to an NML world model buffer. +* Unfortunately a fair amount of additional code was needed to +* allow the controller to be started from a CGI script easily. +* +****************************************************************/ + +// Main RCS Library include file +#include "rcs.hh" // class NML, etime(), esleep(), rcs_print() + +// Message specific include file for this Application +#include "timetype.hh" // timetype_format(), class NML_TIME + +// Standard System include files +#include // signal(), SIGINT +#include // system(), exit() +#include // getpid() +#include // fopen(), fputs(), fclose() +#include // errno +#include // strerror() + + +// Private global variables +static int quit_timer_var = 0; +static int timer_stopped = 0; +static NML *time_channel; +static NML *control_channel; + +// Private functions +static void save_pid(); +static void quit_timer_func(int); +static void exit_wtimer(); +static float time_limit = 980; + +/***************** MAIN *******************************************/ +int main(int argc, char **argv) +{ + NML_TIME nmltime; + double orig_start_time, start_time, stop_time; + NMLTYPE control_type; + + if(argc > 1) + { + time_limit = strtod(argv[1],NULL); + } + + // We want the master CGI script to be able to kill this process. + // so we will save the pid in a file. + rcs_print("Saving PID . . .\n"); + save_pid(); + + // Record the start time so we can kill this process after about 20 minutes. + orig_start_time = etime(); + + // Print some debug messages. + rcs_print("Initiallizing time_channel ...\n"); + + // Connect the World Model Buffer. + time_channel = new NML(timetype_format, "timebuf", "timer", "socapplet.nml"); + + // Verify that the connection to the World Model Buffer was successful. + if(NULL == time_channel) + { + // Cleanup and exit. + exit_wtimer(); + } + if(!time_channel->valid()) + { + // Cleanup and exit. + exit_wtimer(); + } + + + // Print some debug messages. + rcs_print("Initiallizing time_channel ...\n"); + + // Connect to the command buffer. + control_channel = new NML(timetype_format, "controlbuf", "timer", "socapplet.nml"); + + // Verify that the connection to the command buffer was successful. + if(NULL == control_channel) + { + // Cleanup and exit. + exit_wtimer(); + } + if(!control_channel->valid()) + { + // Cleanup and exit. + exit_wtimer(); + } + + // Install signal handler so master CGI script can kill this process cleanly. + signal(SIGINT, quit_timer_func); + + // Reset/Initialize Variables + quit_timer_var = 0; + timer_stopped = 0; + start_time = etime(); + + // Print more debug messages. + rcs_print("Timer starting (%f)... (time_limit = %f)\n",start_time,time_limit); + + // Main Loop + while(!quit_timer_var) + { + // Read the command buffer. + switch(control_type = control_channel->read()) + { + case 0: + break; + + case -1: + quit_timer_var = 1; + break; + + case NML_RESET_TIMER_TYPE: + start_time = etime(); + stop_time = 0.0; + nmltime.time = 0; + if(time_channel->write(nmltime)<0) + { + quit_timer_var = 1; + break; + } + break; + + case NML_STOP_TIMER_TYPE: + if(!timer_stopped) + { + stop_time = etime() - start_time; + timer_stopped = 1; + } + break; + + case NML_START_TIMER_TYPE: + if(timer_stopped) + { + start_time = etime() - stop_time; + timer_stopped = 0; + } + break; + + defualt: + rcs_print_error("Invalid reset type %d\n", control_type); + quit_timer_var = 1; + break; + } + if(!timer_stopped) + { + nmltime.time = etime() - start_time; + if(time_channel->write(nmltime)<0) + { + break; + } + } + + // Let other processes run. + esleep(0.5); + + // Check to see if it is time to die. + if(etime() - orig_start_time > time_limit && time_limit > 0) + { + quit_timer_var = 1; + break; + } + } + + // Cleanup and exit. + exit_wtimer(); + +} // end main() + + +void exit_wtimer() +{ + // Print some debug message. + rcs_print("Timer exiting.(%f)\n",etime()); + + // Disconnect from the NML channels. + if(NULL != control_channel) + { + delete control_channel; + control_channel = NULL; + } + if(NULL != time_channel) + { + delete time_channel; + time_channel = NULL; + } + // Delete this file to indicate to master CGI script that this process has finished. + system("\\rm -f wtimer.run"); + exit(0); +} + +// Control-C or SIGINT Signal Handler +void quit_timer_func(int i) +{ + quit_timer_var = 1; +} + + +// Fuction to save this process' PID in a file. +void save_pid() +{ + int mypid = getpid(); + char buf[80]; + FILE *pidfile = fopen("wtimer.pid","w"); + if(NULL == pidfile) + { + system("\\rm -f wtimer.run"); + rcs_print_error("Can't open wtimer.pid. errno = %d -- %s\n", errno, strerror(errno)); + exit(-1); + } + sprintf(buf,"%d",mypid); + fputs(buf,pidfile); + fclose(pidfile); + pidfile = NULL; + system("chmod -f a+rw wtimer.pid"); +} diff --git a/doc/www_list.html b/doc/www_list.html new file mode 100644 index 0000000..e69de29 diff --git a/etc/CodeGen b/etc/CodeGen new file mode 100755 index 0000000..703ea36 --- /dev/null +++ b/etc/CodeGen @@ -0,0 +1,50 @@ +#! /bin/sh + +set -x; + +prog=`which $0 | grep $0` +rcslib_etc_dir=${prog%/*} +rcslib_dir=${rcslib_etc_dir%/*} + +echo rcslib_dir = $rcslib_dir + +if test "x${JAVA_COMMAND}" = "x" ; then + JAVA_COMMAND=java; +fi + +if test '(' '!' -x `which ${JAVA_COMMAND}` ')' -o '(' -d `which ${JAVA_COMMAND}` ')' ; then + + if test "x${JDK_DIR}" = "x" ; then + JDK_DIR=`$rcslib_etc_dir/jdk_dir.sh` + fi + + if test -x "${JDK_DIR}/bin/${JAVA_COMMAND}" ; then + JAVA_COMMAND="${JDK_DIR}/bin/${JAVA_COMMAND}"; + fi +fi + +if test -f "${rcslib_dir}/plat/java/lib/diagapplet/CodeGen/CodeGenCmdLine.class" ; then + CODEGEN_ARG="-classpath ${rcslib_dir}/plat/java/lib diagapplet.CodeGen.CodeGenCmdLine"; +elif test -f "${rcslib_dir}/plat/java/lib/diagapplet/CodeGen/CodeGen.class" ; then + CODEGEN_ARG="-classpath ${rcslib_dir}/plat/java/lib diagapplet.CodeGen.CodeGen"; +elif test -f "${rcslib_dir}/plat/java/lib/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/plat/java/lib/CodeGenCmdLine.jar"; +elif test -f "${rcslib_dir}/plat/java/lib/CodeGen.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/plat/java/lib/CodeGen.jar"; +elif test -f "${rcslib_dir}/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/CodeGenCmdLine.jar"; +elif test -f "${rcslib_dir}/bin/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/bin/CodeGenCmdLine.jar"; +fi + +export JAVA_COMMAND +export JDK_DIR +export CODEGEN_ARG + +echo ${JAVA_COMMAND} ${CODEGEN_ARG} $* +${JAVA_COMMAND} ${CODEGEN_ARG} $* + +echo CodeGen exited. + + + diff --git a/etc/CodeGen.sh b/etc/CodeGen.sh new file mode 100755 index 0000000..876060c --- /dev/null +++ b/etc/CodeGen.sh @@ -0,0 +1,97 @@ +#! /bin/bash + +if test "x${DEBUG}" != "x" ; then + set -x; + echo "Running $0 $*"; + pwd +fi + +t=${0##*/} +d=${0%$t} +if test "x${d}" = "x" ; then + prog=`which $t | grep $t` + rcslib_etc_dir=${prog%/*} +else + rcslib_etc_dir=$d; +fi + +rcslib_dir=`(cd ${rcslib_etc_dir} ; cd .. ; pwd )`; + +#echo rcslib_dir = $rcslib_dir + + +if test "x${JAVA_COMMAND}" = "x" ; then + if test "x${JRE_DIR}" = "x" ; then + JRE_DIR=`$rcslib_etc_dir/jre_dir.sh` + fi + if test "x${JRE_DIR}" != "x" -a -x "${JRE_DIR}/bin/java" ; then + JAVA_COMMAND="${JRE_DIR}/bin/java"; + else + JAVA_COMMAND=java; + fi + + if test '(' '!' -x `which ${JAVA_COMMAND}` ')' -o '(' -d `which ${JAVA_COMMAND}` ')' ; then + + if test "x${JDK_DIR}" = "x" ; then + JDK_DIR=`$rcslib_etc_dir/jdk_dir.sh` + fi + + if test -x "${JDK_DIR}/bin/${JAVA_COMMAND}" ; then + JAVA_COMMAND="${JDK_DIR}/bin/${JAVA_COMMAND}"; + fi + + fi +fi + +if test "x${JDK_DIR}" != "x" ; then + for jli_dir in `find -L "${JDK_DIR}" -name jli -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${jli_dir}" + done + for lib_dir in `find -L "${JDK_DIR}" -name lib -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${lib_dir}" + done + for i386_dir in `find -L "${JDK_DIR}" -name i386 -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${i386_dir}" + done +fi + +if test "x${JRE_DIR}" != "x" -a "x${JRE_DIR/jre/xxx}" != "x" ; then + for jli_dir in `find -L "${JRE_DIR}" -name jli -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${jli_dir}" + done + for lib_dir in `find -L "${JRE_DIR}" -name lib -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${lib_dir}" + done + for i386_dir in `find -L "${JRE_DIR}" -name i386 -type d` ; do + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${i386_dir}" + done +fi + + +if test -f "${rcslib_dir}/plat/java/lib/diagapplet/CodeGen/CodeGenCmdLine.class" ; then + CODEGEN_ARG="-classpath ${rcslib_dir}/plat/java/lib diagapplet.CodeGen.CodeGenCmdLine"; +elif test -f "${rcslib_dir}/plat/java/lib/diagapplet/CodeGen/CodeGen.class" ; then + CODEGEN_ARG="-classpath ${rcslib_dir}/plat/java/lib diagapplet.CodeGen.CodeGen"; +elif test -f "${rcslib_dir}/plat/java/lib/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/plat/java/lib/CodeGenCmdLine.jar"; +elif test -f "${rcslib_dir}/plat/java/lib/CodeGen.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/plat/java/lib/CodeGen.jar"; +elif test -f "${rcslib_dir}/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/CodeGenCmdLine.jar"; +elif test -f "${rcslib_dir}/bin/CodeGenCmdLine.jar" ; then + CODEGEN_ARG="-jar ${rcslib_dir}/bin/CodeGenCmdLine.jar"; +fi + +export JAVA_COMMAND +export JDK_DIR +export JRE_DIR +export CODEGEN_ARG +export LD_LIBRARY_PATH + +echo ${JAVA_COMMAND} ${CODEGEN_ARG} $* +${JAVA_COMMAND} ${CODEGEN_ARG} $* + +#echo CodeGen exited. + + + diff --git a/etc/FinishUp b/etc/FinishUp new file mode 100755 index 0000000..3e67f25 --- /dev/null +++ b/etc/FinishUp @@ -0,0 +1,39 @@ +#!/bin/csh -X + +echo Running $0 + +chmod a+rx ./run.* + +if($UserDir == "") then + exit +endif + +if (! -d $UserDir ) then + exit +endif + +cd $UserDir +chmod a+rx run.* + +chmod a+r src +chmod a+r plat +cd src +chmod a+r * + + +if($AppDir == "") then + exit +endif + + +if (! -d $AppDir ) then + exit +endif + +cd $UserDir +chmod a+rx run.* + +chmod a+r src +chmod a+r plat +cd src +chmod a+r * diff --git a/etc/IRIX_6_5.def b/etc/IRIX_6_5.def new file mode 100644 index 0000000..bfb6932 --- /dev/null +++ b/etc/IRIX_6_5.def @@ -0,0 +1,62 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -o32 -D$(PLAT) -DSGI -D__SGI__ -DPLATNAME=\"$(PLAT)\" -nostdinc -I/usr/include + +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + + + + +DYNAMIC_LINK_FLAG = -ignore_unresolved -shared -o32 \ No newline at end of file diff --git a/etc/JavaSetup b/etc/JavaSetup new file mode 100644 index 0000000..943a61f --- /dev/null +++ b/etc/JavaSetup @@ -0,0 +1,4 @@ +#!/bin/csh + +setenv LD_LIBRARY_PATH /isd/depot/jdk/lib +setenv CLASSPATH /isd/depot/jdk/lib/classes.zip diff --git a/etc/Makefile b/etc/Makefile new file mode 100644 index 0000000..6239686 --- /dev/null +++ b/etc/Makefile @@ -0,0 +1,12 @@ + + +all: + ../etc/multiplatbuild.sh + +config: + ../etc/multiplatbuild.sh config $(CONFIG_ARGS) + +clean distclean check distcheck install: + ../etc/multiplatbuild.sh $@ + +.PHONY: all config clean distclean check distcheck install diff --git a/etc/RCS-Design b/etc/RCS-Design new file mode 100755 index 0000000..f73eedd --- /dev/null +++ b/etc/RCS-Design @@ -0,0 +1,59 @@ +#!/bin/csh +umask 0 + +setenv | grep rcslib_dir +if ( $status != 0 ) then +set prog=`unalias which; which $0` +echo Program Name $prog +unalias cd +unalias pwd +set rcslib_etc_dir=$prog:h +if ( ! -d $rcslib_etc_dir ) then +if ( -d ../../rcslib/etc ) then + set rcslib_etc_dir=../../rcslib/etc +else if ( -d ../rcslib/etc ) then + set rcslib_etc_dir=../rcslib/etc +else if ( -d ${0:h} ) then + set rcslib_etc_dir=${0:h} +else if ( -d ${0:h}/../../rcslib/etc ) then + set rcslib_etc_dir=${0:h}/../../rcslib/etc +endif +endif +echo RCS Library Etc Directory $rcslib_etc_dir + +set rcslib_dir=$rcslib_etc_dir:h +echo RCS Library Directory $rcslib_dir + +else +set rcslib_etc_dir=$rcslib_dir/etc +echo RCS Library Etc Directory $rcslib_etc_dir +endif + + +setenv | grep JDK_DIR +if( $status != 0 ) then +setenv JDK_DIR `$rcslib_etc_dir/jdk_dir.sh` +endif +echo JDK Directory $JDK_DIR +setenv LD_LIBRARY_PATH $JDK_DIR/lib +echo LD_LIBRARY_PATH $LD_LIBRARY_PATH +set path = ($JDK_DIR/bin $path ) + + +setenv | grep PLAT +if ( $status != 0 ) then + setenv PLAT `$rcslib_etc_dir/platname` + echo PLAT $PLAT +endif + + +$JDK_DIR/bin/java -help |& grep 'jar' >/dev/null +if ( -f $rcslib_dir/plat/java/lib/rcsDesign.jar && $status == 0 ) then + echo ${JDK_DIR}/bin/java -jar ${rcslib_dir}/plat/java/lib/rcsDesign.jar PLAT=$PLAT RcsLibDir=$rcslib_dir FinalScript=$rcslib_etc_dir/FinishUp MakeCmdPrefix="$rcslib_etc_dir/run_make "\$"USER_DIR "\$"PLAT" RunCmdPrefix="xterm -sb -sl 500 -e $rcslib_etc_dir/run " DiagCmd=$rcslib_etc_dir/diagnostics-J1.1 JavaCmdPrefix=$JDK_DIR/bin/java ImportDir=$rcslib_dir/controllers ExecInDirCommand="$rcslib_etc_dir/exec_in_dir "\$"dir "\$"command " $argv + ${JDK_DIR}/bin/java -jar ${rcslib_dir}/plat/java/lib/rcsDesign.jar PLAT=$PLAT RcsLibDir=$rcslib_dir FinalScript=$rcslib_etc_dir/FinishUp MakeCmdPrefix="$rcslib_etc_dir/run_make "\$"USER_DIR "\$"PLAT" RunCmdPrefix="xterm -sb -sl 500 -e $rcslib_etc_dir/run " DiagCmd=$rcslib_etc_dir/diagnostics-J1.1 JavaCmdPrefix=$JDK_DIR/bin/java ImportDir=$rcslib_dir/controllers ExecInDirCommand="$rcslib_etc_dir/exec_in_dir "\$"dir "\$"command " $argv +else + echo ${JDK_DIR}/bin/java -classpath ${JDK_DIR}/lib/classes.zip:${rcslib_dir}/plat/java/lib/ rcsdesign.rcsDesign PLAT=$PLAT RcsLibDir=$rcslib_dir FinalScript=$rcslib_etc_dir/FinishUp MakeCmdPrefix="$rcslib_etc_dir/run_make "\$"USER_DIR "\$"PLAT" RunCmdPrefix="xterm -sb -sl 500 -e $rcslib_etc_dir/run " DiagCmd=$rcslib_etc_dir/diagnostics-J1.1 JavaCmdPrefix=$JDK_DIR/bin/java ImportDir=$rcslib_dir/controllers ExecInDirCommand="$rcslib_etc_dir/exec_in_dir "\$"dir "\$"command " $argv + ${JDK_DIR}/bin/java -classpath ${JDK_DIR}/lib/classes.zip:${rcslib_dir}/plat/java/lib/ rcsdesign.rcsDesign PLAT=$PLAT RcsLibDir=$rcslib_dir FinalScript=$rcslib_etc_dir/FinishUp MakeCmdPrefix="$rcslib_etc_dir/run_make "\$"USER_DIR "\$"PLAT" RunCmdPrefix="xterm -sb -sl 500 -e $rcslib_etc_dir/run " DiagCmd=$rcslib_etc_dir/diagnostics-J1.1 JavaCmdPrefix=$JDK_DIR/bin/java ImportDir=$rcslib_dir/controllers ExecInDirCommand="$rcslib_etc_dir/exec_in_dir "\$"dir "\$"command " $argv +endif + + diff --git a/etc/README.TXT b/etc/README.TXT new file mode 100644 index 0000000..015220a --- /dev/null +++ b/etc/README.TXT @@ -0,0 +1,63 @@ + + +Here's some info on how it works. +If I enter make without any arguments it will make the first target it encounters in the "Makefile" in the current directory. + +This should be the line from Makefile.generic that looks like this. +The $(DEVP_0BJS) variable is just the variables $(OBJS) that users set in their +application makefiles with a path to the platform specific directory tacked on to each file. The same goes for $(DEVP_LIBS), and $(DEVP_BINS) + +all: $(DEVP_OBJS) $(DEVP_LIBS) $(DEVP_BINS) + + +The make utility sees that "all" it first needs to make the files listed in $(DEVP_OBJS). There is a rule in Makefile.generic for creating .o files from .cc files with the same name. + +Then the make utility sees that to make the files listed in $(DEVP_BINS) there is no rule in Makefile.generic but there should be one for each particular file +in the application Makefile. + +In our example it should find + +$(DEVP_BIN_DIR)/rti: $(DEVP_LIB_DIR)/rti.o $(RCS_PLATLIB)/librcs.a + $(CPLUSPLUS) $(CPLUSPLUSLINK) $^ -o $@ + + +If the workspace directory were /users/shackle/my_workspace and we are compiling under Lynxos the variables expand like this + +DEVP_BIN_DIR = /users/shackle/my_workspace/plat/lynxos/bin +DEVP_LIB_DIR = /users/shackle/my_workspace/plat/lynxos/lib +RCS_PLATLIB = /home/boole/rcslib/plat/lynxos/lib +CPLUSPLUS = g++ # From Makefile.lynxos +CPLUSPLUSLINK = /lib/librpc.a /lib/libbsd.a /lib/libg++.a # From Makefile.lynxos +$^ = (The dependancies of the current rule) + = $(DEVP_LIB_DIR)/rti.o $(RCS_PLATLIB)/librcs.a +$@ = (The Target of the current rule) + = $(DEVP_BIN_DIR)/rti + + +For us mere humans all the rule says is to make the rti program link rti.o and +librcs.a using g++. The variables just specify the details like which directories the various files are in etc. I could have included the directories directly rather than using the variables but that would mean I would have to write a different rule for each platform and if I moved the workspace or another user wanted to execute the same makefile from his/her own workspace then the makefile would have to be edited again. + + +Other variables of interest: + +DEVP_LIB_DIR - Developers directory for libraries and object files. +DEVP_INCLUDE_DIR - Developers archive directory for header files +DEVP_SRC_DIR - Developers archive directory for souce files. +DEVP_BIN_DIR - Developers directory for executable binaries. + +RELEASE_LIB_DIR - Application release directory for libraries and object files. +RELEASE_INCLUDE_DIR - Application release archive directory for header files +RELEASE_SRC_DIR - Application release archive directory for souce files. +RELEASE_BIN_DIR - Application release directory for executable binaries. + +PLAT - Name of the platform that your compiling for. + +RCS_PLATLIB - Location of the RCS library (Often called librcs.a) +RCS_PLATBIN - Location of utility programs associated with RCS library +RCS_INCLUDE - Location of header files associated with the RCS library + +CFLAGS - Flags set in on of the Makefile.$(PLAT) files for compiling C +LOCAL_CFLAGS - May be set by the application makefile it will add additional flags for compiling C + +CPLUSPLUSFLAGS - Flags set in on of the Makefile.$(PLAT) files for compiling C +LOCAL_CPLUSPLUSFLAGS - May be set by the application makefile it will add additional flags for compiling C diff --git a/etc/addnewline.sed b/etc/addnewline.sed new file mode 100644 index 0000000..5d1dbe3 --- /dev/null +++ b/etc/addnewline.sed @@ -0,0 +1,2 @@ +s/$(DEVP_LIB_DIR)/\ +$(DEVP_LIB_DIR)/ diff --git a/etc/attach_gdb.sh b/etc/attach_gdb.sh new file mode 100755 index 0000000..02efc7d --- /dev/null +++ b/etc/attach_gdb.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +if test "x${DEBUG}" != "x" ; then + set -x; +fi + +#pwd +#echo $0 $* + +if test $# -lt 1 ; then + echo "Please specify .running file to attach to"; + exit 1; +fi + +if test "x${1}" != "x" ; then + if test -f "${1}.running" ; then + pid=`grep "pid=" "${1}.running" | awk '{print $2}'`; + prog=`grep "prog=" "${1}.running" | awk '{print $2}'`; + elif test "${1%.running}x" != "${1}x" -a -f "${1}" ; then + pid=`grep "pid=" "${1}" | awk '{print $2}'`; + prog=`grep "prog=" "${1}" | awk '{print $2}'`; + fi +fi + +echo "pid=${pid}" + +if test "x${pid}" = "x" ; then + echo "No pid found in .running file" + b=${1:0:13} + c=${b##*/} + d=${c%%.*} + pid=`ps -eo pid,cmd | grep "${d}" | grep -iv "screen" | grep -iv "run_cmd_and_wait" | head -n 1 | awk '{print $1}'`; +fi + +if test "x${prog}" = "x" ; then + echo "No prog found in .running file" + prog=${1%%.*} +fi + +uid_p=`ps -o uid ${pid} | tail -n 1 | awk '{print $1}'` +uid_n=`ps -o uid $$ | tail -n 1 | awk '{print $1}'` + +if test "x${uid_p}" = "x0" -a "x${uid_n}" != "x0" ; then + echo "sudo gdb ${prog} ${pid};" + sudo gdb ${prog} ${pid}; +else + echo "gdb ${prog} ${pid}" + gdb ${prog} ${pid} +fi + + diff --git a/etc/attach_screen.sh b/etc/attach_screen.sh new file mode 100755 index 0000000..4b53c1e --- /dev/null +++ b/etc/attach_screen.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +if test "x${DEBUG}" != "x" ; then + set -x; +fi + +#pwd +#echo $0 $* + +if test $# -lt 1; then + echo "Please specify .running file to attach to"; + exit 1; +fi + +if test "x${1}" != "x" ; then + if test -f "${1}" -a '!' -h "${1}" -a "x${1##*.}" = "running" ; then + pid=`grep "pid=" "${1}" | awk '{print $2}'`; + ppid=`grep "ppid=" "${1}" | awk '{print $2}'`; + fi +fi + + +scount=`screen -ls | grep Detach | grep "${1}" | wc -l` +if test "x${scount}" = "x1" ; then + if test '!' -f "$1" -o "x${1##*.}" != "running" ; then + screen -r -d `screen -ls | grep Detach | grep "${1}" | awk '{print $1}'` && exit 0; + fi +fi + +uid=`id -u`; +su_scount=0; + +if test "x${scount}" != "x1" -a "x${uid}" = "x0" ; then + su_scount=`sudo screen -ls | grep tach | grep "${1}" | wc -l`; + if test "x${scount}" = "x1" ; then + if test '!' -f "$1" -o "x${1##*.}" != "running" ; then + sudo screen -r -d `sudo screen -ls | grep Detach | grep "${1}" | awk '{print $1}'` && exit 0; + fi + fi +fi + + +if test "x${pid}" = "x" ; then + echo "No pid found in .running file" + b=${1:0:13} + c=${b##*/} + d=${c%%.*} + pid=`ps -eo pid,cmd | grep "${d}" | grep -iv "screen" | head -n 1 | awk '{print $1}'`; +fi + +if test "x${pid}" = "x" ; then + echo "Can't find pid with ps." + e=${1:0:13} + f=${e##*/} + g=${f%%.*} + pppid=`screen -ls | grep ${g} | awk '{print $1}' | head -n 1`; +else + if test "x${ppid}" = "x" ; then + ppid=`ps -o ppid ${pid} | tail -n 1 | awk '{print $1}'`; + fi + + pppid=`ps -o ppid ${ppid} | tail -n 1 | awk '{print $1}'`; +fi + +uid_p=`ps -o uid ${pid} | tail -n 1 | awk '{print $1}'` +uid_n=`ps -o uid $$ | tail -n 1 | awk '{print $1}'` + +pid_to_attach=${pid}; + + +if test "x${uid_p}" = "x0" -a "x${uid_n}" != "x0" ; then + if sudo screen -ls | grep tach | awk '{print $1}' | grep "${pid}." > /dev/null; then + pid_to_attach=${pid}; + elif sudo screen -ls | grep tach | awk '{print $1}' | grep "${ppid}." > /dev/null; then + pid_to_attach=${ppid}; + else + pid_to_attach=${pppid}; + fi + sudo screen -r ${pid_to_attach}; +else + if screen -ls | grep tach | awk '{print $1}' | grep "${pid}." > /dev/null; then + pid_to_attach=${pid}; + elif screen -ls | grep tach | awk '{print $1}' | grep "${ppid}." > /dev/null; then + pid_to_attach=${ppid}; + else + pid_to_attach=${pppid}; + fi + screen -r ${pid_to_attach}; +fi + diff --git a/etc/cc_to_cpp.sh b/etc/cc_to_cpp.sh new file mode 100755 index 0000000..c453cb0 --- /dev/null +++ b/etc/cc_to_cpp.sh @@ -0,0 +1,41 @@ +#! /bin/sh + +set -x + +dir=$1 + +if test "x${dir}" = "x" ; then + dir=etc/win_vc++_2008_express; +fi + +if test '!' -d etc; then + mkdir etc; +fi + +if test '!' -d "${dir}"; then + mkdir "${dir}"; +fi + +if test '!' -d "${dir}"/rcs; then + mkdir "${dir}"/rcs; +fi + +cc_list=`find src -name \*.cc`; + +for cc_file in ${cc_list} ; do + fname=${cc_file##*/} + base=${fname%%.cc} + cp -f ${cc_file} "${dir}"/rcs/${base}.cpp; +done + +c_list=$(find src -name \*.c) +cp -f ${c_list} "${dir}"/rcs + +h_list=$(find src -name \*.h) +cp -f ${h_list} "${dir}"/rcs + +hh_list=$(find src -name \*.hh) +cp -f ${hh_list} "${dir}"/rcs + + + diff --git a/etc/check_core_files.sh b/etc/check_core_files.sh new file mode 100755 index 0000000..e4d8a8a --- /dev/null +++ b/etc/check_core_files.sh @@ -0,0 +1,99 @@ +#!/bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; +fi + + +d=${0%/*} +dir0=${0%/*}; +if test ! -d ${dir0} ; then + this_f=`which check_core_files.sh` + script_dir=${this_f%/*}; + dir0=`pwd`; + dir0_abs=`pwd`; +else + dir0_abs=`cd $dir0 ; pwd` +fi + + + +if test "x${script_dir}" = "x" ; then + if test -x ./debug_core.sh ; then + script_dir=./; + elif test -x "${dir0_abs}/debug_core.sh" ; then + script_dir="${dir0_abs}/"; + elif test -x "${RCSLIB_DIR}/bin/debug_core.sh" ; then + script_dir="${RCSLIB_DIR}/bin/"; + elif test -x "${RCSLIB_DIR}/etc/debug_core.sh" ; then + script_dir="${RCSLIB_DIR}/etc/"; + fi +fi + +sudo_rm=rm +core_files=`echo core*` +if test "x${core_files}" != "x" -a "x${core_files}" != "xcore*" ; then + echo "Core files are stored in bin directory:"; + for c in ${core_files} ; do + ls -l $c ; + if test -d "$c" ; then + continue; + fi + if test '!' -r $c ; then + sudo file $c; + else + file $c; + fi + if test '!' -w $c ; then + sudo_rm="sudo rm" + fi + echo "Debug this core file(y/n)?" + read confirm_debug; + if test "x${confirm_debug}" = "xy" ; then + echo "${script_dir}debug_core.sh $c"; + ${script_dir}debug_core.sh $c; + fi + done; + echo ""; + echo "Delete all core files (y/n)?" + read confirm_delete; + if test "x${confirm_delete}" != "xy" ; then + exit 1; + fi + ${sudo_rm} -f ${core_files}; +fi + +sudo_rm=rm +if test "x${PLAYBACK_DIR}" != "x" ; then + core_files=`find ${PLAYBACK_DIR} -xdev -name core\*` + if test "x${core_files}" != "x" -a "x${core_files}" != "xcore*" ; then + echo "Core files are stored in bin directory:"; + for c in ${core_files} ; do + ls -l $c ; + if test -d "$c" ; then + continue; + fi + if test '!' -r $c ; then + sudo file $c; + else + file $c; + fi + if test '!' -w $c ; then + sudo_rm="sudo rm" + fi + echo "Debug this core file(y/n)?" + read confirm_debug; + if test "x${confirm_debug}" = "xy" ; then + echo "${script_dir}debug_core.sh $c"; + ${script_dir}debug_core.sh $c; + fi + done; + echo ""; + echo "Delete all core files (y/n)?" + read confirm_delete; + if test "x${confirm_delete}" != "xy" ; then + exit 1; + fi + ${sudo_rm} -f ${core_files}; + fi +fi diff --git a/etc/check_testnml_extras.sh b/etc/check_testnml_extras.sh new file mode 100755 index 0000000..fe7b825 --- /dev/null +++ b/etc/check_testnml_extras.sh @@ -0,0 +1,98 @@ +#!/bin/sh + +TESTNAME="EXTRAS" + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log" ; then + rm "${tmpdir}/${TESTNAME}testnml.log" ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/test_extras.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/test_extras.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +JDK_DIR0=`${etcdir}/jdk_dir.sh` +if test "x${JDK_DIR0}" != "x" ; then + JDK_DIR=`(cd ${JDK_DIR0} ; pwd )`; + export JDK_DIR +fi + +if test -f "${HOME}/.SKIP_RCSLIB_EXTRA_TESTS" ; then + echo " ---- Skipping extras test ${HOME}/.SKIP_RCSLIB_EXTRA_TESTS exists." + exit 0; +fi + +if test "x${SKIP_RCSLIB_EXTRA_TESTS}" != "x" ; then + echo " ---- Skipping extras test SKIP_RCSLIB_EXTRA_TESTS environment variable set."; + exit 0; +fi + +if test "x${JDK_DIR}" = "x" ; then + echo " ---- Skipping extras test no Java Developers Kit found." + exit 0; +fi + +( "${etcdir}/test_extras.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; + if test -f "${HOME}/.ignore_nml_extras_test" ; then + echo " --- ${TESTNAME} failure ignored."; + sts=0; + exit 0; + else + echo " ---- touch ${HOME}/.ignore_nml_extras_test to ignore this in the future"; + fi +else + echo " --- ${TESTNAME} support test PASSED." + if test -f "${HOME}/.ignore_nml_extras_test" ; then + echo " ---- Removing ${HOME}/.ignore_nml_extras_test"; + rm "${HOME}/.ignore_nml_extras_test" ; + fi +fi + +exit ${sts} + + + + + + diff --git a/etc/check_testnml_filemem.sh b/etc/check_testnml_filemem.sh new file mode 100755 index 0000000..794af71 --- /dev/null +++ b/etc/check_testnml_filemem.sh @@ -0,0 +1,77 @@ +#!/bin/sh + +TESTNAME="FILEMEM" +NMLCFG_OPTIONS="-D B1OPTS=buftype=filemem%%%disp%%%neutral=1%%%infile=${HOME}/.tmp/filememfile%%%outfile=${HOME}/.tmp/filememfile" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=yes +NML_TEST_REMOTE=no + + +if test -f ${HOME}/.run_filemem_check ; then + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/tni_${TESTNAME}_$$ && touch /tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/tni_${TESTNAME}_$$ && touch ${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir ${tmpdir} && chmod u+w ${tmpdir} || true) >/dev/null 2>/dev/null ; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d ${tmpdir} ; then + mkdir ${tmpdir} +fi + +touch ${tmpdir}/${TESTNAME}testnml.log +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( ${etcdir}/testnml_internal.sh 2>&1 ) >${tmpdir}/${TESTNAME}testnml.log + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; + echo " ---- IGNORING FILEMEM ERROR" + echo " ---- IGNORING FILEMEM ERROR" >&2 + sts=0 +else + echo " --- ${TESTNAME} support test PASSED." +fi + +else + echo " ---- Skipping filemem check"; + echo " ---- touch ${HOME}/.run_filemem_check to actually run this test." + sts=0 +fi + +exit ${sts} + + diff --git a/etc/check_testnml_gdrs_im_packed.sh b/etc/check_testnml_gdrs_im_packed.sh new file mode 100755 index 0000000..6e2d83f --- /dev/null +++ b/etc/check_testnml_gdrs_im_packed.sh @@ -0,0 +1,71 @@ +#!/bin/sh +# FIXME : CVS keeps squashing execute permission on this file. +# + +TESTNAME="GDRS_IM_with_PACKED_ENCODING" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=gdrs_im%%%packed" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/tni_${TESTNAME}_$$ && touch /tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/tni_${TESTNAME}_$$ && touch ${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir ${tmpdir} && chmod u+w ${tmpdir} || true) >/dev/null 2>/dev/null ; + +if test -f ${tmpdir}/${TESTNAME}testnml.log; then + rm ${tmpdir}/${TESTNAME}testnml.log ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d ${tmpdir} ; then + mkdir ${tmpdir} +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( ${etcdir}/testnml_internal.sh 2>&1 ) >${tmpdir}/${TESTNAME}testnml.log + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + diff --git a/etc/check_testnml_gdrs_im_xdr.sh b/etc/check_testnml_gdrs_im_xdr.sh new file mode 100755 index 0000000..2ace6ed --- /dev/null +++ b/etc/check_testnml_gdrs_im_xdr.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +TESTNAME="GDRS_IM_with_XDR" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=gdrs_im%%%xdr" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/tni_${TESTNAME}_$$ && touch /tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/tni_${TESTNAME}_$$ && touch ${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir ${tmpdir} && chmod u+w ${tmpdir} || true) >/dev/null 2>/dev/null ; + +if test -f ${tmpdir}/${TESTNAME}testnml.log; then + rm ${tmpdir}/${TESTNAME}testnml.log ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d ${tmpdir} ; then + mkdir ${tmpdir} +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( ${etcdir}/testnml_internal.sh 2>&1 ) >${tmpdir}/${TESTNAME}testnml.log + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + diff --git a/etc/check_testnml_globmem.sh b/etc/check_testnml_globmem.sh new file mode 100755 index 0000000..b8294e0 --- /dev/null +++ b/etc/check_testnml_globmem.sh @@ -0,0 +1,76 @@ +#!/bin/sh + + +TESTNAME="GLOBMEM" +NMLCFG_OPTIONS="-D B1OPTS=" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=yes +NML_TEST_REMOTE=no + +export TESTNAME +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE +export NMLCFG_OPTIONS + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log"; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${HOME}/.tmp" ; then + mkdir "${HOME}/.tmp"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +if test "x${LOG_TO_STDOUT}" = "x" ; then + + ( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log"; +else + set -x ; + . "${etcdir}/testnml_internal.sh"; +fi + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_locmem_tcp_packed.sh b/etc/check_testnml_locmem_tcp_packed.sh new file mode 100755 index 0000000..d14fc02 --- /dev/null +++ b/etc/check_testnml_locmem_tcp_packed.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +TESTNAME="LOCMEM_TCP_PACKED" +NMLCFG_OPTIONS="-D B1OPTS=buftype=locmem%%%neutral=1%%%remotetype=tcp%%%packed" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=no +NML_TEST_REMOTE=yes + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +touch "${tmpdir}/${TESTNAME}testnml.log"; +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + + diff --git a/etc/check_testnml_nmlcfgsvr.sh b/etc/check_testnml_nmlcfgsvr.sh new file mode 100755 index 0000000..be238b6 --- /dev/null +++ b/etc/check_testnml_nmlcfgsvr.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +TESTNAME="NMLCFGSVR" + + +export TESTNAME + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}" + +if test "x${tmpdir}" = "x" ; then + tmpdir="/tmp/"; +fi +export tmpdir; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +touch "${tmpdir}/${TESTNAME}testnml.log"; +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnmlcfgsvr_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log"; + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + + diff --git a/etc/check_testnml_oemem.sh b/etc/check_testnml_oemem.sh new file mode 100755 index 0000000..7239b73 --- /dev/null +++ b/etc/check_testnml_oemem.sh @@ -0,0 +1,67 @@ +#!/bin/sh + +TESTNAME="OEMEM" +NMLCFG_OPTIONS="--OEMODE -D B1OPTS=buftype=oemem" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no +NML_TEST_REMOTE=yes + + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/tni_${TESTNAME}_$$ && touch /tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/tni_${TESTNAME}_$$ && touch ${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$ && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir ${tmpdir} && chmod u+w ${tmpdir} || true) >/dev/null 2>/dev/null ; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d ${tmpdir} ; then + mkdir ${tmpdir} +fi + +touch ${tmpdir}/${TESTNAME}testnml.log + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( ${etcdir}/testnml_internal.sh 2>&1 ) >${tmpdir}/${TESTNAME}testnml.log + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + + diff --git a/etc/check_testnml_shmem.sh b/etc/check_testnml_shmem.sh new file mode 100755 index 0000000..617eea3 --- /dev/null +++ b/etc/check_testnml_shmem.sh @@ -0,0 +1,74 @@ +#!/bin/sh + + +TESTNAME="SHMEM" +NMLCFG_OPTIONS="-D B1OPTS=" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=yes +NML_TEST_REMOTE=no + +export TESTNAME +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE +export NMLCFG_OPTIONS + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log"; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- $0 $*" +echo " ---- from " `pwd` +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -x "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +if test "x${LOG_TO_STDOUT}" = "x" ; then + + ( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log"; +else + set -x ; + . "${etcdir}/testnml_internal.sh"; +fi + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_stcpdisp.sh b/etc/check_testnml_stcpdisp.sh new file mode 100755 index 0000000..e3387d4 --- /dev/null +++ b/etc/check_testnml_stcpdisp.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +TESTNAME="STCP_with_DISP" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=stcp%%%disp" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +# get_queue_length() and get_space_available() not implemented for this platform. +NO_SINGLE_PROCESS_QUEUE_TEST=1; + + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE +export NO_SINGLE_PROCESS_QUEUE_TEST + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log"; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}"; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" \ + -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_stcpxml.sh b/etc/check_testnml_stcpxml.sh new file mode 100755 index 0000000..b821f22 --- /dev/null +++ b/etc/check_testnml_stcpxml.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +TESTNAME="STCP_with_XML" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=stcp%%%xml" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}" +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed." ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_tcppacked.sh b/etc/check_testnml_tcppacked.sh new file mode 100755 index 0000000..ed26b4f --- /dev/null +++ b/etc/check_testnml_tcppacked.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +TESTNAME="TCP_with_PACKED_ENCODING" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=tcp%%%packed" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log"; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_tcpraw.sh b/etc/check_testnml_tcpraw.sh new file mode 100755 index 0000000..d4298bf --- /dev/null +++ b/etc/check_testnml_tcpraw.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +TESTNAME="TCP_with_FORCE_RAW" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=tcp%%%force_raw" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}" +fi + +etcdir=etc + +if test '!' -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log"; + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_tcpxdr.sh b/etc/check_testnml_tcpxdr.sh new file mode 100755 index 0000000..fb346da --- /dev/null +++ b/etc/check_testnml_tcpxdr.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +TESTNAME="TCP_with_XDR" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=tcp%%%xdr" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log" ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " ---- ${TESTNAME} support test FAILED. sts=${sts}" ; +else + echo " ---- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_tcpxml.sh b/etc/check_testnml_tcpxml.sh new file mode 100755 index 0000000..3e5dd1d --- /dev/null +++ b/etc/check_testnml_tcpxml.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +TESTNAME="TCP_with_XML" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=tcp%%%xml" +NML_TEST_BLOCKING=yes +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log" ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" \ + -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc"; + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} diff --git a/etc/check_testnml_udppacked.sh b/etc/check_testnml_udppacked.sh new file mode 100755 index 0000000..f1685a1 --- /dev/null +++ b/etc/check_testnml_udppacked.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# FIXME : CVS keeps squashing execute permission on this file. +# + +TESTNAME="UDP_with_PACKED_ENCODING" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=udp%%%packed" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d "${temp_dir}" ; then + (mkdir "${temp_dir}" || true ); + (mkdir -p "${temp_dir}" || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log"; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc"; + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + diff --git a/etc/check_testnml_udpxdr.sh b/etc/check_testnml_udpxdr.sh new file mode 100755 index 0000000..db39668 --- /dev/null +++ b/etc/check_testnml_udpxdr.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +TESTNAME="UDP_with_XDR" +NMLCFG_OPTIONS="-D B1OPTS=remotetype=udp%%%xdr" +NML_TEST_BLOCKING=no +NML_TEST_LOCAL=no + +export TESTNAME +export NMLCFG_OPTIONS +export NML_TEST_BLOCKING +export NML_TEST_LOCAL +export NML_TEST_REMOTE + + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "/tmp/tni_${TESTNAME}_$$" && touch "/tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="/tmp/tni_${TESTNAME}_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir "${HOME}/.tmp" && mkdir "${HOME}/.tmp/tni_${TESTNAME}_$$" && touch "${HOME}/.tmp/tni_${TESTNAME}_$$/.touch_$$" && temp_dir="${HOME}/.tmp/tni_${TESTNAME}_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}"; + +( mkdir "${tmpdir}" && chmod u+w "${tmpdir}" || true) >/dev/null 2>/dev/null ; + +if test -f "${tmpdir}/${TESTNAME}testnml.log"; then + rm "${tmpdir}/${TESTNAME}testnml.log" ; +fi +( sync ) >/dev/null 2>/dev/null +( sync ) >/dev/null 2>/dev/null + + + +echo " ---- Testing ${TESTNAME} support" +echo " ---- If this test fails or hangs check" +echo " ---- ${tmpdir}/${TESTNAME}testnml.log" + +if test '!' -d "${tmpdir}" ; then + mkdir "${tmpdir}"; +fi + +etcdir=etc + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" \ + -a -f "${srcdir}/etc/testnml_internal.sh" ; then + etcdir="${srcdir}/etc" + fi +fi + +( "${etcdir}/testnml_internal.sh" 2>&1 ) >"${tmpdir}/${TESTNAME}testnml.log" + +sts=$? + +if test ${sts} -ne 0 ; then + echo " --- ${TESTNAME} support test failed. sts=${sts}" ; +else + echo " --- ${TESTNAME} support test PASSED." +fi + +exit ${sts} + diff --git a/etc/clean b/etc/clean new file mode 100755 index 0000000..fefe9af --- /dev/null +++ b/etc/clean @@ -0,0 +1,35 @@ +#! /bin/sh + + +corefiles=`find . -type f -user ${USER} -name core\*` +if [ ${#corefiles} -gt 0 ] ; then + echo "Remove core files :" ${corefiles} " ? (y/n)" + read confirm + if [ x${confirm} = xy ] ; then + chmod u+w ${corefiles} + \rm -f ${corefiles} + fi +fi + +poundfiles=`find . -type f -user ${USER} -name \#\*` +if [ ${#poundfiles} -gt 0 ] ; then + echo "Remove pound files :" ${poundfiles} " ? (y/n)" + read confirm + if [ x${confirm} = xy ] ; then + chmod u+w ${poundfiles} + \rm -f ${poundfiles} + fi +fi + + +tildefiles=`find . -type f -user ${USER} -name \*.~\*` +if [ ${#tildefiles} -gt 0 ] ; then + echo "Remove tilde files :" ${tildefiles} " ? (y/n)" + read confirm + if [ x${confirm} = xy ] ; then + chmod u+w ${tildefiles} + \rm -f ${tildefiles} + fi +fi + + diff --git a/etc/clean_build.sh b/etc/clean_build.sh new file mode 100755 index 0000000..75e4d94 --- /dev/null +++ b/etc/clean_build.sh @@ -0,0 +1,14 @@ +#! /bin/sh + +if test -f Makefile ; then + make distclean; +fi + +chmod a+rw -R .lib* .dep* .multiplat* .last* plat lib/* include/* bin/* 2>/dev/null + +\rm -rf .lib* .dep* .multiplat* .last* plat lib/* include/* bin/* +chmod a+rw -R /tmp/extra_test_dir /tmp/tni_* /tmp/distcheckhome *.xml /tmp/nml_test* /tmp/*.nml /tmp/logstat* /tmp/rcsvers* /tmp/jdk* /tmp/jre* /tmp/mpb* /tmp/configure* /tmp/Makefile* /tmp/extra_tests* 2>/dev/null +\rm -rf /tmp/extra_test_dir /tmp/tni_* /tmp/distcheckhome /tmp/rcslib* /tmp/*.xml /tmp/*.nml /tmp/logstat* /tmp/rcsvers* /tmp/jdk* /tmp/jre* /tmp/mpb* /tmp/configure* /tmp/Makefile* /tmp/extra_tests* +sudo -n \rm -rf /tmp/extra_test_dir /tmp/tni_* /tmp/distcheckhome /tmp/rcslib* /tmp/*.xml /tmp/*.nml /tmp/logstat* /tmp/rcsvers* /tmp/jdk* /tmp/jre* /tmp/mpb* /tmp/configure* /tmp/Makefile* /tmp/extra_tests* + + diff --git a/etc/darwin.def b/etc/darwin.def new file mode 100644 index 0000000..ce38cd3 --- /dev/null +++ b/etc/darwin.def @@ -0,0 +1,86 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = darwin + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +SEARCH_PATH_FLAG = +RCS_LIB_SEARCH_PATH= + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DDARWIN -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -L/usr/lib -Ddarwin -Wno-long-double + +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -dynamic -lm -lc -lcc_dynamic -lstdc++ + + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +NO_STRIP_FOR_LIBS=1 + + +# disable SCCS make rule for Darwin +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +MKDIR_CMD=mkdir -p +DYNAMIC_LIB_BUILD_TOOL=libtool diff --git a/etc/darwin_1_3.def b/etc/darwin_1_3.def new file mode 100644 index 0000000..ce38cd3 --- /dev/null +++ b/etc/darwin_1_3.def @@ -0,0 +1,86 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = darwin + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +SEARCH_PATH_FLAG = +RCS_LIB_SEARCH_PATH= + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DDARWIN -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -L/usr/lib -Ddarwin -Wno-long-double + +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -dynamic -lm -lc -lcc_dynamic -lstdc++ + + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +NO_STRIP_FOR_LIBS=1 + + +# disable SCCS make rule for Darwin +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +MKDIR_CMD=mkdir -p +DYNAMIC_LIB_BUILD_TOOL=libtool diff --git a/etc/debug_core.sh b/etc/debug_core.sh new file mode 100755 index 0000000..1889979 --- /dev/null +++ b/etc/debug_core.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; +fi + +orig_dir=`pwd`; + +d=${0%/*} + +dir0=${0%/*}; +if test ! -d ${dir0} ; then + this_f=`which debug_core.sh` + script_dir=${this_f%/*}; + dir0=`pwd`; + dir0_abs=`pwd`; +else + dir0_abs=`cd $dir0 ; pwd` +fi + +if test "x${script_dir}" = "x" ; then + if test -x ./debug_core.sh ; then + script_dir=./; + elif test -x "${dir0_abs}/debug_core.sh" ; then + script_dir="${dir0_abs}/"; + elif test -x "${RCSLIB_DIR}/bin/debug_core.sh" ; then + script_dir="${RCSLIB_DIR}/bin/"; + elif test -x "${RCSLIB_DIR}/etc/debug_core.sh" ; then + script_dir="${RCSLIB_DIR}/etc/"; + fi +fi + +if test $# -lt 1 ; then + echo "Usage: pass a core file."; + cfin=`ls -1 core* | head -n 1`; +else + cfin=$1; +fi + +core_dir=${cfin%/*}; +if test "x${core_dir}" != "x" -a "x${core_dir}" != "x." -a "x${core_dir}" != "x${1%%/*}" ; then + core_dir=`(cd ${core_dir}; pwd)`; + core_f=${cfin##*/}; + core="${core_dir}/${core_f}"; +else + core=$cfin; + core_dir=`pwd` + core="${core_dir}/${cfin}"; +fi + + +execfile=`${script_dir}execfile_from_core.sh ${core}`; + +if test '!' -r ${core} ; then + echo "sudo gdb ${execfile} ${core}" + sudo gdb --exec=${execfile} --core=${core} +else + echo "gdb --exec=${execfile} --core=${core}" + gdb ${execfile} ${core} +fi + + diff --git a/etc/determineplat.def b/etc/determineplat.def new file mode 100644 index 0000000..e3d8191 --- /dev/null +++ b/etc/determineplat.def @@ -0,0 +1,134 @@ + +ifdef DEBUG_RCS_MAKE +$(warning DETERMINE_PLAT_DEF_INCLUDED=$(DETERMINE_PLAT_DEF_INCLUDED) ) +endif + +ifndef DETERMINE_PLAT_DEF_INCLUDED +DETERMINE_PLAT_DEF_INCLUDED=1 + +# Set default RCS directory +ifndef RCSLIB_MAIN_DIR +RCSLIB_MAIN_DIR := $(shell if test -d ../rcslib ; then cd ../rcslib; pwd ; \ + elif test -d ../../rcslib ; then cd ../../rcslib; pwd ; \ + elif test -d ../../../rcslib ; then cd ../../../rcslib ; pwd; \ + elif test -d ../../../../rcslib ; then cd ../../../../rcslib ; pwd; \ + elif test -d ../rcslib-2004.2 ; then cd ../rcslib-2004.2; pwd ; \ + elif test -d ../../rcslib-2004.2 ; then cd ../../rcslib-2004.2; pwd ; \ + elif test -d ../../../rcslib-2004.2 ; then cd ../../../rcslib-2004.2 ; pwd; \ + elif test -d ../../../../rcslib-2004.2 ; then cd ../../../../rcslib-2004.2 ; pwd; \ + fi ) +endif + +ifdef DEBUG_RCS_MAKE +$(warning RCSLIB_MAIN_DIR=$(RCSLIB_MAIN_DIR) ) +endif + +ifndef MAKEFILES_DIR +MAKEFILES_DIR:=$(shell cd $(RCSLIB_MAIN_DIR)/etc >/dev/null 2>/dev/null; pwd) +endif + +ifdef DEBUG_RCS_MAKE +$(warning MAKEFILES_DIR=$(MAKEFILES_DIR) ) +endif + +ifdef RTLINUX +ifndef RTLPLAT +RTLPLAT := $(shell $(RCSLIB_MAIN_DIR)/etc/rtlplatname ) +endif +PLAT := $(RTLPLAT) +else +ifndef PLAT +ifneq (java, $(findstring java,$(PLAT))) +COMPUTED_PLAT := $(shell $(RCSLIB_MAIN_DIR)/etc/platname ) +else +RESET_PLAT=0 +endif +PLAT:=$(COMPUTED_PLAT) +endif +ifeq ($(PLAT),) +ifneq (java, $(findstring java,$(PLAT))) +COMPUTED_PLAT := $(shell $(RCSLIB_MAIN_DIR)/etc/platname ) +else +RESET_PLAT=0 +endif +PLAT:=$(COMPUTED_PLAT) +endif + +ifdef DEBUG_RCS_MAKE +$(warning PLAT=$(PLAT) ) +$(warning RTLINUX=$(RTLINUX) ) +$(warning RTLPLAT=$(RTLPLAT) ) +$(warning COMPUTED_PLAT=$(COMPUTED_PLAT) ) +$(warning RESET_PLAT=$(RESET_PLAT) ) +endif + +ifdef USER_DIR +ifndef USER_PLAT +ifeq (~, $(findstring ~,$(USER_DIR))) +USER_PLAT := $(shell ( \ + if test -d $(USER_DIR) -a ! -d $(USER_DIR)/plat ; then \ + mkdir $(USER_DIR)/plat; \ + fi; \ + if test -d $(USER_DIR)/plat -a ! -d $(USER_DIR)/plat/$(PLAT) ; then \ + mkdir $(USER_DIR)/plat/$(PLAT); \ + fi; \ + cd $(USER_DIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +ifeq (../, $(findstring ../,$(USER_DIR))) +USER_PLAT := $(shell ( \ + if test -d $(USER_DIR) -a ! -d $(USER_DIR)/plat ; then \ + mkdir $(USER_DIR)/plat; \ + fi; \ + if test -d $(USER_DIR)/plat -a ! -d $(USER_DIR)/plat/$(PLAT) ; then \ + mkdir $(USER_DIR)/plat/$(PLAT); \ + fi; \ + cd $(USER_DIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +USER_PLAT := $(USER_DIR)/plat/$(PLAT) +endif +endif +endif + +ifdef USE_TMP +DEVP_DIR = /tmp/$(notdir $(USER_DIR))/plat/$(PLAT) +else +DEVP_DIR = $(USER_PLAT) +endif + +# end of ifdef USER_DIR +endif + +ifdef DEBUG_RCS_MAKE +$(warning PLAT=$(PLAT) ) +$(warning MAKEFILES_DIR=$(MAKEFILES_DIR) ) +$(warning USER_DIR=$(USER_DIR) ) +$(warning DEVP_DIR=$(DEVP_DIR) ) +$(warning USER_PLAT=$(USER_PLAT) ) +endif + +ifneq ($(PLAT),) +ifneq ($(PLAT),java) +ifndef PLAT_DEF_INCLUDED +ifdef MAKEFILES_DIR +default : all + +include $(MAKEFILES_DIR)/$(PLAT).def +else +include $(PLAT).def +endif +PLAT_DEF_INCLUDED=1 +endif +endif +endif +endif + +endif + +ifndef PLAT +$(error PLAT undefined.); +endif + +ifeq ($(PLAT),) +$(error PLAT not set.) +endif + diff --git a/etc/diag_NB.sh b/etc/diag_NB.sh new file mode 100755 index 0000000..4aa0b64 --- /dev/null +++ b/etc/diag_NB.sh @@ -0,0 +1,103 @@ +#! /bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; +fi + +\rm -f diag.running; + +dir0=${0%/*}; +dir0_abs=`cd $dir0 ; pwd` + +if test "x${script_dir}" = "x" ; then + if test -x ./diag_NB.sh ; then + script_dir=./; + elif test -x "${dir0_abs}/diag_NB.sh" ; then + script_dir="${dir0_abs}/"; + elif test -x "${RCSLIB_DIR}/bin/diag_NB.sh" ; then + script_dir="${RCSLIB_DIR}/bin/"; + elif test -x "${RCSLIB_DIR}/etc/diag_NB.sh" ; then + script_dir="${RCSLIB_DIR}/etc/"; + fi +fi + +if echo "${PATH}" | grep -v "/usr/java/current" >/dev/null 2>/dev/null ; then + if test -d "/usr/java/currentJava/bin" ; then + PATH="/usr/java/currentJava/bin:${PATH}"; + elif test -d "/usr/java/current_java/bin" ; then + PATH="/usr/java/current_java/bin:${PATH}"; + fi + export PATH; +fi + +if test -x ${script_dir}jdk_dir.sh ; then + JDK_DIR=`${script_dir}jdk_dir.sh`; +fi + +if test -x ${script_dir}jre_dir.sh ; then + JRE_DIR=`${script_dir}jre_dir.sh`; +fi + +JAVA=java; + +if test -x "${JDK_DIR}/bin/java" ; then + JAVA="${JDK_DIR}/bin/java"; +fi + +if test -x "${JRE_DIR}/bin/java" ; then + JAVA="${JRE_DIR}/bin/java"; +fi + +if test "x${DEBUG}" = "x1" ; then + echo 'ls -ld /usr/java/?urrent*ava' + ls -ld /usr/java/?urrent*ava; +fi + + +if test "x${DEBUG}" = "x1" ; then + + echo "JRE_DIR=${JRE_DIR}"; + echo "JDK_DIR=${JDK_DIR}"; + echo "JAVA=${JAVA}"; + + echo "which java"; + which java; + echo "which ${JAVA}"; + which "${JAVA}"; + + echo "java -version"; + java -version; + echo "${JAVA} -version"; + "${JAVA}" -version; + + echo + echo +fi + + +if test "x${CONFIG_NML}" = "x" -a "x${DIAG_FILE}" != "x" ; then + if grep 'getenv' "${DIAG_FILE}" | grep 'CONFIG_NML' >/dev/null 2>/dev/null; then + echo "" + echo "Please set CONFIG_NML environment variable."; + exit 1; + fi +fi + +if test "x${DIAG_NB_JAR}" = "x" ; then + DIAG_NB_JAR=`${script_dir}find_diag_NB_jar.sh`; +fi + + +if test "x${DEBUG}" != "x" ; then + export JAVA_DIAG_FLAGS="${JAVA_DIAG_FLAGS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n "; + echo "${JAVA}" ${JAVA_DIAG_FLAGS} -jar "${DIAG_NB_JAR}" ${DIAG_FILE} $*; + echo + echo + +fi + +echo JAVA="${JAVA}"; +"${JAVA}" -version; +"${JAVA}" ${JAVA_DIAG_FLAGS} -jar "${DIAG_NB_JAR}" ${DIAG_FILE} $*; +\rm -f diag.running; + diff --git a/etc/diagnostics b/etc/diagnostics new file mode 100755 index 0000000..7a84865 --- /dev/null +++ b/etc/diagnostics @@ -0,0 +1,57 @@ +#!/bin/csh + +if ( $?rcslib_dir != 1 ) then +set prog=`which $0 | grep $0` +set rcslib_etc_dir=$prog:h +set rcslib_dir=$rcslib_etc_dir:h +endif + +if($?RCSLIBDIR != 1) then + set RCSLIBDIR = $rcslib_dir +endif + +echo RCSLIBDIR = $RCSLIBDIR + + +setenv | grep JDK_DIR +if( $status != 0 ) then +setenv JDK_DIR `$RCSLIBDIR/etc/jdk_dir` +endif +echo JDK Directory $JDK_DIR +setenv LD_LIBRARY_PATH $JDK_DIR/lib +echo LD_LIBRARY_PATH $LD_LIBRARY_PATH +set path = ($JDK_DIR/bin $path ) + + +if ( -f $JDK_DIR/lib/classes.zip ) then +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar ) then +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib/diagapplet.jar +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/diagapplet.jar +endif +else +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/ +endif +endif +setenv CLASSPATH $CLASSPATH +endif + +$JDK_DIR/bin/java -help |& grep 'jar' >/dev/null + +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar && $status == 0 ) then +echo $JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv +$JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv + +else + +echo CLASSPATH = $CLASSPATH +echo $JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagappletMain $argv +$JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagapplet $argv +endif + + +echo diagapplet exited. diff --git a/etc/diagnostics-J1.1 b/etc/diagnostics-J1.1 new file mode 100755 index 0000000..7a84865 --- /dev/null +++ b/etc/diagnostics-J1.1 @@ -0,0 +1,57 @@ +#!/bin/csh + +if ( $?rcslib_dir != 1 ) then +set prog=`which $0 | grep $0` +set rcslib_etc_dir=$prog:h +set rcslib_dir=$rcslib_etc_dir:h +endif + +if($?RCSLIBDIR != 1) then + set RCSLIBDIR = $rcslib_dir +endif + +echo RCSLIBDIR = $RCSLIBDIR + + +setenv | grep JDK_DIR +if( $status != 0 ) then +setenv JDK_DIR `$RCSLIBDIR/etc/jdk_dir` +endif +echo JDK Directory $JDK_DIR +setenv LD_LIBRARY_PATH $JDK_DIR/lib +echo LD_LIBRARY_PATH $LD_LIBRARY_PATH +set path = ($JDK_DIR/bin $path ) + + +if ( -f $JDK_DIR/lib/classes.zip ) then +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar ) then +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib/diagapplet.jar +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/diagapplet.jar +endif +else +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/ +endif +endif +setenv CLASSPATH $CLASSPATH +endif + +$JDK_DIR/bin/java -help |& grep 'jar' >/dev/null + +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar && $status == 0 ) then +echo $JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv +$JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv + +else + +echo CLASSPATH = $CLASSPATH +echo $JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagappletMain $argv +$JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagapplet $argv +endif + + +echo diagapplet exited. diff --git a/etc/diagnostics-J1.2 b/etc/diagnostics-J1.2 new file mode 100755 index 0000000..7a84865 --- /dev/null +++ b/etc/diagnostics-J1.2 @@ -0,0 +1,57 @@ +#!/bin/csh + +if ( $?rcslib_dir != 1 ) then +set prog=`which $0 | grep $0` +set rcslib_etc_dir=$prog:h +set rcslib_dir=$rcslib_etc_dir:h +endif + +if($?RCSLIBDIR != 1) then + set RCSLIBDIR = $rcslib_dir +endif + +echo RCSLIBDIR = $RCSLIBDIR + + +setenv | grep JDK_DIR +if( $status != 0 ) then +setenv JDK_DIR `$RCSLIBDIR/etc/jdk_dir` +endif +echo JDK Directory $JDK_DIR +setenv LD_LIBRARY_PATH $JDK_DIR/lib +echo LD_LIBRARY_PATH $LD_LIBRARY_PATH +set path = ($JDK_DIR/bin $path ) + + +if ( -f $JDK_DIR/lib/classes.zip ) then +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar ) then +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib/diagapplet.jar +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/diagapplet.jar +endif +else +if($?CLASSPATH == 1) then + set CLASSPATH = $CLASSPATH\:$JDK_DIR/classes.zip\:$RCSLIBDIR/plat/java/lib +else + set CLASSPATH = $JDK_DIR/classes.zip:$RCSLIBDIR/plat/java/lib/ +endif +endif +setenv CLASSPATH $CLASSPATH +endif + +$JDK_DIR/bin/java -help |& grep 'jar' >/dev/null + +if ( -f $RCSLIBDIR/plat/java/lib/diagapplet.jar && $status == 0 ) then +echo $JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv +$JDK_DIR/bin/java -jar $RCSLIBDIR/plat/java/lib/diagapplet.jar $argv + +else + +echo CLASSPATH = $CLASSPATH +echo $JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagappletMain $argv +$JDK_DIR/bin/java -classpath $CLASSPATH diagapplet.diagapplet $argv +endif + + +echo diagapplet exited. diff --git a/etc/each_screen.sh b/etc/each_screen.sh new file mode 100755 index 0000000..cfbfcf5 --- /dev/null +++ b/etc/each_screen.sh @@ -0,0 +1,8 @@ +#!/bin/sh + + +for s in `screen -ls $* | grep Detached | awk '{printf("%s ", $1);}'`; do + screen -r $s; +done + + diff --git a/etc/exec_in_dir b/etc/exec_in_dir new file mode 100755 index 0000000..4b21254 --- /dev/null +++ b/etc/exec_in_dir @@ -0,0 +1,7 @@ +#!/bin/csh +# changes to a particular directory and executes a single command. + + +cd $1 + +$2 $3 $4 $5 $6 $7 $8 diff --git a/etc/execfile_from_core.sh b/etc/execfile_from_core.sh new file mode 100755 index 0000000..83dbc04 --- /dev/null +++ b/etc/execfile_from_core.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; + echo "Running execfile_from_core.sh $* from " `pwd` >&2; +fi + +gdb --batch --core $1 | grep "Core was generated by" | awk '{print $5}' | sed s#\`##g | sed s#\'##g | sed s#\\.\$## | sed s#^\\./##; diff --git a/etc/find_diag_NB_jar.sh b/etc/find_diag_NB_jar.sh new file mode 100755 index 0000000..2cd9370 --- /dev/null +++ b/etc/find_diag_NB_jar.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if test "x${DIAG_NB_JAR}" = "x" ; then + if test -f ./diag_NB.jar; then + export DIAG_NB_JAR=./diag_NB.jar; + elif test -f ../rcslib/bin/diag_NB.jar; then + export DIAG_NB_JAR=../rcslib/bin/diag_NB.jar; + elif test -f ../rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=../rcslib/plat/java/lib/diag_NB.jar; + elif test -f ${HOME}/rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=${HOME}/rcslib/plat/java/lib/diag_NB.jar; + elif test -f ${HOME}/rcslib/bin/diag_NB.jar; then + export DIAG_NB_JAR=${HOME}/rcslib/bin/diag_NB.jar; + elif test -f /usr/local/rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=/usr/local/rcslib/plat/java/lib/diag_NB.jar; + elif test -f /usr/local/rcslib/bin/diag_NB.jar; then + export DIAG_NB_JAR=/usr/local/rcslib/bin/diag_NB.jar; + elif test -f /local/rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=/local/rcslib/plat/java/lib/diag_NB.jar; + elif test -f /local/rcslib/bin/diag_NB.jar; then + export DIAG_NB_JAR=/local/rcslib/bin/diag_NB.jar; + elif test -f /working/rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=/working/rcslib/plat/java/lib/diag_NB.jar; + elif test -f /working/rcslib/bin/diag_NB.jar; then + export DIAG_NB_JAR=/working/rcslib/bin/diag_NB.jar; + elif test -f /mxproj/rcslib/rcslib/plat/java/lib/diag_NB.jar; then + export DIAG_NB_JAR=/mxproj/rcslib/rcslib/plat/java/lib/diag_NB.jar; + fi +fi + +echo "${DIAG_NB_JAR}"; + +if test "x${DIAG_NB_JAR}" != "x" ; then + test -f "${DIAG_NB_JAR}" >/dev/null 2>/dev/null; +else + false; +fi diff --git a/etc/find_plotter_NB_jar.sh b/etc/find_plotter_NB_jar.sh new file mode 100755 index 0000000..ddcb7ca --- /dev/null +++ b/etc/find_plotter_NB_jar.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +if test "x${PLOTTER_NB_JAR}" = "x" ; then + if test -f ./plotter_NB.jar; then + export PLOTTER_NB_JAR=./plotter_NB.jar; + elif test -f ../rcslib/bin/plotter_NB.jar; then + export PLOTTER_NB_JAR=../rcslib/bin/plotter_NB.jar; + elif test -f ../rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=../rcslib/plat/java/lib/plotter_NB.jar; + elif test -f ${HOME}/rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=${HOME}/rcslib/plat/java/lib/plotter_NB.jar; + elif test -f ${HOME}/rcslib/bin/plotter_NB.jar; then + export PLOTTER_NB_JAR=${HOME}/rcslib/bin/plotter_NB.jar; + elif test -f /usr/local/rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=/usr/local/rcslib/plat/java/lib/plotter_NB.jar; + elif test -f /usr/local/rcslib/bin/plotter_NB.jar; then + export PLOTTER_NB_JAR=/usr/local/rcslib/bin/plotter_NB.jar; + elif test -f /local/rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=/local/rcslib/plat/java/lib/plotter_NB.jar; + elif test -f /local/rcslib/bin/plotter_NB.jar; then + export PLOTTER_NB_JAR=/local/rcslib/bin/plotter_NB.jar; + elif test -f /working/rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=/working/rcslib/plat/java/lib/plotter_NB.jar; + elif test -f /working/rcslib/bin/plotter_NB.jar; then + export PLOTTER_NB_JAR=/working/rcslib/bin/plotter_NB.jar; + elif test -f /mxproj/rcslib/rcslib/plat/java/lib/plotter_NB.jar; then + export PLOTTER_NB_JAR=/mxproj/rcslib/rcslib/plat/java/lib/plotter_NB.jar; + fi +fi + +echo "${PLOTTER_NB_JAR}"; + +if test "x${PLOTTER_NB_JAR}" != "x" ; then + test -f "${PLOTTER_NB_JAR}" >/dev/null 2>/dev/null; +else + false; +fi diff --git a/etc/findsources.sh b/etc/findsources.sh new file mode 100755 index 0000000..f0c7cbb --- /dev/null +++ b/etc/findsources.sh @@ -0,0 +1,114 @@ +#! /bin/sh + +echo "This script should not be used anymore." +exit 9 + +if [ ! -d etc -o ! -d src ] ; then + echo "This script is being run from the wrong directory."; + exit -1 +fi + +if [ ! -w etc ] ; then + echo "Can not run this script without write access to etc directory." + exit -1 +fi + + +if [ -f etc/default_sources ] ; then + rm etc/default_sources +fi + +touch etc/default_sources + +for i in src/os_intf src/cms src/node src/print src/posemath src/stg_clss src/nt_xdr ; do + find $i -xdev -type f -a -name \*.cc -a -not -exec grep NOT_A_DEFAULT_RCSLIB_SOURCE {} \; -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/default_sources + find $i -xdev -type f -a -name \*.c -a -not -exec grep NOT_A_DEFAULT_RCSLIB_SOURCE {} \; -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/default_sources +done + +if [ -f etc/nondefault_sources ] ; then + rm etc/nondefault_sources +fi + +touch etc/nondefault_sources + +find src -xdev -type f -a -name \*.cc -a -exec grep NOT_A_DEFAULT_RCSLIB_SOURCE {} \; -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/nondefault_sources +find src -xdev -type f -a -name \*.c -a -exec grep NOT_A_DEFAULT_RCSLIB_SOURCE {} \; -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/nondefault_sources + +find src/java -xdev -type f -a -name \*.java >>etc/nondefault_sources +echo src/java/rcs/update_ver >>etc/nondefault_sources +echo src/java/rcs/RCS_VERSION.java.perm >>etc/nondefault_sources +find src -xdev -type f -a -name Make\* -a -not -name \*~ -a -not -name \*# >>etc/nondefault_sources +find src -xdev -type f -a -name \*.nml -o -name \*.nml2 >> etc/nondefault_sources + +find src -xdev -type f -a -name \*.tex >>etc/nondefault_sources +find src -xdev -type f -a -name \*.lyx >>etc/nondefault_sources +find src -xdev -type f -a -name \*.htm >>etc/nondefault_sources +find src -xdev -type f -a -name \*.html >>etc/nondefault_sources +find src -xdev -type f -a -name \*.txt -a -not -regex ./plat.\* >>etc/nondefault_sources +find src -xdev -type f -a -name \*.run >>etc/nondefault_sources +find src -xdev -type f -a -name \*.sh >>etc/nondefault_sources +find src -xdev -type f -a -name \*.ini >>etc/nondefault_sources +find src -xdev -type f -a -name \*.tbl >>etc/nondefault_sources +find src -xdev -type f -a -name \*.var >>etc/nondefault_sources +find src -xdev -type f -a -name \*.tcl >>etc/nondefault_sources +find src -xdev -type f -a -name \*.tool_default >>etc/nondefault_sources +find src -xdev -type f -a -name \*.gen >>etc/nondefault_sources + + +find etc -xdev -type f -a -name \*.tex >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.lyx >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.htm >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.html >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.txt -a -not -regex ./plat.\* >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.run >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.sh >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.ini >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.tbl >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.var >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.tcl >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.tool_default >>etc/nondefault_sources +find etc -xdev -type f -a -name \*.gen >>etc/nondefault_sources + +echo Makefile.am.head 2>/dev/null >>etc/nondefault_sources +echo INSTALL.configure 2>/dev/null >>etc/nondefault_sources + +if [ -f nmlclean.log ] ; then rm nmlclean.log ; fi + + +if [ -f etc/headers ] ; then + rm etc/headers +fi + +touch etc/headers + +find src -name \*.h -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/headers +find src -name \*.hh -print | grep -v NOT_A_DEFAULT_RCSLIB_SOURCE >>etc/headers + + +if [ -f Makefile.am ] ; then + rm Makefile.am +fi + +touch Makefile.am + +if [ -f Makefile.am.head ] ; then + cat Makefile.am.head >>Makefile.am +fi + +echo >>Makefile.am +echo -n "librcs_la_SOURCES= src/rcsvers.c" >>Makefile.am +cat etc/default_sources | awk '{printf("\\\n\t%s",$1);} \ +END {printf("\n");}' >>Makefile.am +echo >>Makefile.am +echo -n "EXTRA_DIST=etc" >>Makefile.am +cat etc/nondefault_sources | awk '{printf("\\\n\t%s",$1);} \ +END {printf("\n");}' >>Makefile.am +echo >>Makefile.am +echo -n "noinst_HEADERS=" >>Makefile.am +cat etc/headers | awk '{printf("\\\n\t%s",$1);} \ +END {printf("\n");}' >>Makefile.am +echo >>Makefile.am + +if [ -f Makefile.am.tail ] ; then + cat Makefile.am.tail >>Makefile.am +fi diff --git a/etc/first_screen.sh b/etc/first_screen.sh new file mode 100755 index 0000000..dd84943 --- /dev/null +++ b/etc/first_screen.sh @@ -0,0 +1,4 @@ +#!/bin/sh + + +screen -r `screen -ls $* | grep Detached | head -n 1 | awk '{print $1}'`; diff --git a/etc/generic.def b/etc/generic.def new file mode 100644 index 0000000..8e37abe --- /dev/null +++ b/etc/generic.def @@ -0,0 +1,1258 @@ +# ;; -*- mode: makefile; -*- + +# Makefile.generic: +# Makefile definitions to be included in makefiles +# for RCS Utilities and Applications +# (non-platform specific definitions only) +# - compatible with GNU Make versions 3.55+ + +ORIG_PLAT=$(PLAT) + +ifdef DEBUG_RCS_MAKE +$(warning PLAT=$(PLAT) ) +$(warning LOCAL_CFLAGS=$(LOCAL_CFLAGS) ) +endif + +ifndef ECHO_MARK +ifndef ECHO_EVERYTHING +ECHO_MARK=@ +else +ECHO_MARK= +endif +endif + +ifndef IGNORE_MARK +ifndef IGNORE_NONE +IGNORE_MARK=- +else +IGNORE_MARK= +endif +endif + +ifndef MKDIR_CMD +MKDIR_CMD=install -d +endif + + +ifeq ($(MAKELEVEL),0) +ifndef PLAT +RESET_PLAT=1 +else + +ifdef RTLINUX +ifneq (rtlinux, $(findstring rtlinux,$(PLAT))) +ifneq (java, $(findstring java,$(PLAT))) +RESET_PLAT=1 +else +RESET_PLAT=0 +endif +else +RESET_PLAT=0 +endif + +else +RESET_PLAT=0 +endif +endif +else +RESET_PLAT=0 +endif + +# Set default RCS directory +ifndef RCSLIB_MAIN_DIR +RCSLIB_MAIN_DIR := $(shell if test -d ../rcslib ; then cd ../rcslib; pwd ; \ + elif test -d ../../rcslib ; then cd ../../rcslib; pwd ; \ + elif test -d ../../../rcslib ; then cd ../../../rcslib ; pwd; \ + elif test -d ../../../../rcslib ; then cd ../../../../rcslib ; pwd; \ + fi ) +endif + +ifndef MAKEFILES_DIR +MAKEFILES_DIR:=$(shell cd $(RCSLIB_MAIN_DIR)/etc >/dev/null 2>/dev/null; pwd) +endif + +# Set default target +ifndef DEFAULT_TARGET +DEFAULT_TARGET = all +endif + +default: $(DEFAULT_TARGET) + + +ifndef APPNAME +APPNAME:=$(notdir $(APPDIR)) +endif + +# Set default user directory. +ifndef USER_DIR +CURDIR:=$(shell pwd) +USER_DIR_SEDCMD:=sed s\#$(APPNAME)/sr.\*\$$\#$(APPNAME)\# +USER_DIR:=$(shell pwd | $(USER_DIR_SEDCMD)) +endif +# USER_DIR = $(HOME)/$(notdir $(APPDIR)) + +ifdef DEBUG_RCS_MAKE +$(warning USER_DIR=$(USER_DIR)) +$(warning USER_PLAT=$(USER_PLAT) ) +endif + +ifndef PLAT +ifndef DETERMINE_PLAT_DEF_INCLUDED +include $(MAKEFILES_DIR)/determineplat.def +DETERMINE_PLAT_DEF_INCLUDED=1 +endif +else +ifndef USER_PLAT +ifeq (~, $(findstring ~,$(USER_DIR))) +USER_PLAT := $(shell ( \ + if test -d $(USER_DIR) -a ! -d $(USER_DIR)/plat ; then \ + chmod u+w $(USER_DIR); \ + mkdir $(USER_DIR)/plat; \ + fi; \ + if test -d $(USER_DIR)/plat -a ! -d $(USER_DIR)/plat/$(PLAT) ; then \ + mkdir $(USER_DIR)/plat/$(PLAT); \ + fi; \ + cd $(USER_DIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +ifeq (../, $(findstring ../,$(USER_DIR))) +USER_PLAT := $(shell ( \ + if test -d $(USER_DIR) -a ! -d $(USER_DIR)/plat ; then \ + chmod u+w $(USER_DIR); \ + mkdir $(USER_DIR)/plat; \ + fi; \ + if test -d $(USER_DIR)/plat -a ! -d $(USER_DIR)/plat/$(PLAT) ; then \ + mkdir $(USER_DIR)/plat/$(PLAT); \ + fi; \ + cd $(USER_DIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +USER_PLAT := $(USER_DIR)/plat/$(PLAT) +endif +endif +endif + + +ifndef USER_PLAT +USER_PLAT := $(USER_DIR)/plat/$(PLAT) +endif + +ifdef DEBUG_RCS_MAKE +$(warning USER_PLAT=$(USER_PLAT) ) +endif + +ifdef USE_TMP +DEVP_DIR = /tmp/$(notdir $(USER_DIR))/plat/$(PLAT) +else +DEVP_DIR = $(USER_PLAT) +endif + +ifdef DEBUG_RCS_MAKE +$(warning DEVP_DIR=$(DEVP_DIR) ) +endif + +ifndef PLAT_DEF_INCLUDED +ifdef MAKEFILES_DIR +include $(MAKEFILES_DIR)/$(PLAT).def +else +include $(PLAT).def +endif +PLAT_DEF_INCLUDED=1 +endif +endif + +ifdef DEBUG_RCS_MAKE +$(warning RESET_PLAT=$(RESET_PLAT) ) +endif + +ifeq ($(RESET_PLAT),1) +.DEFAULT: remake_with_plat + + +remake_with_plat: + $(IGNORE_MARK)$(ECHO_MARK) echo The plat was not set initially, re-running Makefile with PLAT set. + $(MAKE) $(EXTRA_MAKEFLAGS) $(MAKECMDGOALS) $(MFLAGS) PLAT=$(PLAT) + $(ECHO_MARK)echo The following error was deliberately inserted to prevent running the make twice. + $(ECHO_MARK)test foo = goo + +.FORCE: remake_with_plat + + +ifneq (,$(MAKECMDGOALS)) + +$(MAKECMDGOALS): remake_with_plat + +endif + +%: remake_with_plat + + +%.o: remake_with_plat +%.obj: remake_with_plat +%.c: remake_with_plat +%.cc: remake_with_plat +%.cpp: remake_with_plat +%.h: remake_with_plat +%.hh: remake_with_plat +%.hpp: remake_with_plat + +do_sub_makes: remake_with_plat + + +LIBS= +OBJS= +HEADERS= +SOURCES= + +headers depend all: remake_with_plat + +clean: remove_deps remake_clean + +.PHONY: remake_clean + +remake_clean: + $(IGNORE_MARK)$(ECHO_MARK) echo The plat was not set initially, re-running Makefile with PLAT set. + $(MAKE) clean $(MFLAGS) PLAT=$(PLAT) + $(ECHO_MARK)echo The following error was deliberately inserted to prevent running the make twice. + $(ECHO_MARK)test foo = goo + +.PHONY: clean headers depend all do_sub_makes + +else + +ifeq (all, $(findstring all,$(MAKECMDGOALS))) +BUILDING_ALL=1 +endif + +ifeq (,$(MAKECMDGOALS)) +BUILDING_ALL=1 +endif + + + +#Prevent Multiple Inclusion Warnings +#ifndef GENERIC_MAKEFILE_ALREADY_INCLUDED +GENERIC_MAKEFILE_ALREADY_INCLUDED = 1 + +# Set default RCS directory +ifndef RCSLIB_MAIN_DIR +RCSLIB_MAIN_DIR = /proj/rcslib +endif + + +ifndef MAKEFILES_DIR +MAKEFILES_DIR:=$(shell cd $(RCSLIB_MAIN_DIR); pwd)/etc +endif + +echo_plat: + echo $(MAKEFILES_DIR) + +.PHONY: echo_plat + +ifndef RCS_LIBRARY_NAME +RCS_LIBRARY_NAME = librcs.a +endif + +ifndef RCS_DEBUG_LIBRARY_NAME +RCS_DEBUG_LIBRARY_NAME = librcsd.a +endif + +ifndef RCS_SHARED_LIBRARY_NAME +RCS_SHARED_LIBRARY_NAME = librcs.so +endif + +# Define variables for directories. + +# The directory stucture under APPDIR or USER_DIR should look like: +# APPDIR/ +# src/ /* Active Source Files */ +# +# plat/ +# sunos4/ . . . +# sunos5/ . . . +# vxworks5.1/ . . . +# where sunos4, sunos5, vxworks5.1 etc are possible values for $(PLAT) +# Each platform directory should have a directory structure under it like: +# APP_PLAT/ +# src/ /* Archived Source files. */ +# lib/ /* Object and Library files. */ +# bin/ /* Binaries and executables. */ +# include/ /* .h and .hh files */ + +ifndef RCS_PLAT +RCS_PLAT := $(shell cd $(RCSLIB_MAIN_DIR); \ + cd plat >/dev/null 2>/dev/null || (chmod u+w .; mkdir plat; cd plat;); \ + pwd ) +endif + +RCS_INCLUDE = $(RCS_PLAT)/$(PLAT)/include +RCS_PLATBIN = $(RCS_PLAT)/$(PLAT)/bin +RCS_PLATLIB = $(RCS_PLAT)/$(PLAT)/lib +RCS_LIBRARY = $(RCS_PLATLIB)/$(RCS_LIBRARY_NAME) +RCS_DEBUG_LIBRARY = $(RCS_PLATLIB)/$(RCS_DEBUG_LIBRARY_NAME) +RCS_SHARED_LIBRARY = $(RCS_PLATLIB)/$(RCS_SHARED_LIBRARY_NAME) +DEBUG_RCS_LIBRARY = $(RCS_DEBUG_LIBRARY) + +RCS_INCLUDE_DIR = $(RCS_INCLUDE) +RCS_BIN_DIR = $(RCS_PLATBIN) +RCS_LIB_DIR = $(RCS_PLATLIB) +RCS_SRC_DIR = $(RCS_PLAT)/$(PLAT)/src + + +ifndef RCS_SHARED_LIBRARY_NAME_W_VERSION +RCS_SHARED_LIBRARY_NAME = librcs$(RCS_VERSION).so +endif + +ifndef PHONY_INCLUDE_DIR +PHONY_INCLUDE_DIR = $(MAKEFILES_DIR)/phony/include +endif + +# Set default application directory. +ifndef APPDIR +APPDIR = $(USER_DIR) +NOINSTALL=1 +endif + +ifeq ($(APPDIR),$(USER_DIR)) +NOINSTALL=1 +endif + +ifndef ENABLE_RCSLIB_INSTALL +ifeq ($(APPDIR),$(RCSLIB_MAIN_DIR)) +NOINSTALL=1 +endif +endif + + + + +# Release Directories and Files + +ifndef APP_PLAT +ifeq (~, $(findstring ~,$(APPDIR))) +APP_PLAT := $(shell ( \ + if test -d $(APPDIR) -a ! -d $(APPDIR)/plat ; then \ + chmod u+w $(APPDIR) 2>/dev/null; \ + mkdir $(APPDIR)/plat; \ + fi; \ + if test -d $(APPDIR)/plat -a ! -d $(APPDIR)/plat/$(PLAT) ; then \ + mkdir $(APPDIR)/plat/$(PLAT); \ + fi; \ + cd $(APPDIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +ifeq (../, $(findstring ../,$(APPDIR))) +APP_PLAT := $(shell ( \ + if test -d $(APPDIR) -a ! -d $(APPDIR)/plat ; then \ + chmod u+w $(APPDIR) 2>/dev/null; \ + mkdir $(APPDIR)/plat; \ + fi; \ + if test -d $(APPDIR)/plat -a ! -d $(APPDIR)/plat/$(PLAT) ; then \ + mkdir $(APPDIR)/plat/$(PLAT); \ + fi; \ + cd $(APPDIR)/plat/$(PLAT) >/dev/null 2>/dev/null; pwd)) +else +APP_PLAT := $(APPDIR)/plat/$(PLAT) +endif +endif +endif + +RELEASE_DIR = $(APP_PLAT) + + +ifndef SUB_DIR +RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/include +RELEASE_SRC_DIR = $(RELEASE_DIR)/src +RELEASE_LIB_DIR = $(RELEASE_DIR)/lib +RELEASE_BIN_DIR = $(RELEASE_DIR)/bin +else +RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/include/$(SUB_DIR) +RELEASE_SRC_DIR = $(RELEASE_DIR)/src/$(SUB_DIR) +RELEASE_LIB_DIR = $(RELEASE_DIR)/lib/$(SUB_DIR) +RELEASE_BIN_DIR = $(RELEASE_DIR)/bin/$(SUB_DIR) +endif + +RELEASE_HEADERS = $(HEADERS:%=$(RELEASE_INCLUDE_DIR)/%) +RELEASE_LIBS = $(LIBS:%=$(RELEASE_LIB_DIR)/%) +ifdef OBJ_EXTENSION +RELEASE_OBJS = $(OBJS:%.o=$(RELEASE_LIB_DIR)/%.$(OBJ_EXTENSION)) +else +RELEASE_OBJS = $(OBJS:%=$(RELEASE_LIB_DIR)/%) +endif +RELEASE_BINS = $(BINS:%=$(RELEASE_BIN_DIR)/%) +PRE_RELEASE_SRCS = $(SRCS:%=$(RELEASE_SRC_DIR)/%) + +RELEASE_PLATBIN = $(RELEASE_BIN_DIR) +RELEASE_PLATLIB = $(RELEASE_LIB_DIR) + +ifndef ARCHIVE_DIRECTORY +ARCHIVE_DIRECTORY = $(APPDIR)/archive +endif + +# Development Directories and Files + +ifndef NO_DIR_SETUP +ifndef SUB_DIR +ifndef DEVP_INCLUDE_DIR +DEVP_INCLUDE_DIR = $(DEVP_DIR)/include +endif +ifndef DEVP_SRC_DIR +DEVP_SRC_DIR = $(DEVP_DIR)/src +endif +ifndef DEVP_LIB_DIR +DEVP_LIB_DIR = $(DEVP_DIR)/lib +endif +ifndef DEVP_BIN_DIR +DEVP_BIN_DIR = $(DEVP_DIR)/bin +endif +else +ifndef DEVP_INCLUDE_DIR +DEVP_INCLUDE_DIR = $(DEVP_DIR)/include/$(SUB_DIR) +endif +ifndef DEVP_SRC_DIR +DEVP_SRC_DIR = $(DEVP_DIR)/src/$(SUB_DIR) +endif +ifndef DEVP_LIB_DIR +DEVP_LIB_DIR = $(DEVP_DIR)/lib/$(SUB_DIR) +endif +ifndef DEVP_BIN_DIR +DEVP_BIN_DIR = $(DEVP_DIR)/bin/$(SUB_DIR) +endif +endif +endif + +ifdef DEBUG_RCS_MAKE +$(warning DEVP_DIR=$(DEVP_DIR) ) +$(warning DEVP_INCLUDE_DIR=$(DEVP_INCLUDE_DIR) ) +$(warning DEVP_LIB_DIR=$(DEVP_LIB_DIR) ) +endif + +DEVP_HEADERS = $(HEADERS:%=$(DEVP_INCLUDE_DIR)/%) +PRE_DEVP_SRCS = $(SRCS:%=$(DEVP_SRC_DIR)/%) +DEVP_LIBS = $(LIBS:%=$(DEVP_LIB_DIR)/%) +DEVP_OBJS = $(OBJS:%=$(DEVP_LIB_DIR)/%) +DEVP_BINS = $(BINS:%=$(DEVP_BIN_DIR)/%) +OBJECT_CENTER_SRC_FILES = $(SRCS:%.cc=$(DEVP_LIB_DIR)/%.src) + +DEVP_PLATBIN = $(DEVP_BIN_DIR) +DEVP_PLATLIB = $(DEVP_LIB_DIR) + +ifdef USE_TMP +make_dirs: make_tmp_dirs +endif + +depend: make_dirs + +make_dirs: + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_DIR) ; then $(MKDIR_CMD) $(DEVP_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_LIB_DIR) ; then $(MKDIR_CMD) $(DEVP_LIB_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_SRC_DIR) ; then $(MKDIR_CMD) $(DEVP_SRC_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_INCLUDE_DIR) ; then $(MKDIR_CMD) $(DEVP_INCLUDE_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_BIN_DIR) ; then $(MKDIR_CMD) $(DEVP_BIN_DIR); fi + +make_release_dirs: + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(RELEASE_DIR) ; then $(MKDIR_CMD) $(RELEASE_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(RELEASE_LIB_DIR) ; then $(MKDIR_CMD) $(RELEASE_LIB_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(DEVP_BIN_DIR) ; then $(MKDIR_CMD) $(DEVP_BIN_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(RELEASE_SRC_DIR) ; then $(MKDIR_CMD) $(RELEASE_SRC_DIR); fi + $(IGNORE_MARK)$(ECHO_MARK) \ + if test '!' -d $(RELEASE_INCLUDE_DIR) ; then $(MKDIR_CMD) $(RELEASE_INCLUDE_DIR); fi + +.PHONY: make_dirs make_release_dirs + +ifeq (linux, $(findstring linux,$(PLAT)) ) +$(MAKEFILES_DIR)/$(PLAT).def : $(MAKEFILES_DIR)/linux.def + -( if test -w $(MAKEFILES_DIR) -a -f $^ -a ! -f $@ ; then \ + cp $^ $@; \ + fi; ) + +endif + + +# Include the platform specific Makefile definitions. +ifndef PLAT_DEF_INCLUDED +include $(MAKEFILES_DIR)/$(PLAT).def +PLAT_DEF_INCLUDED=1 +endif + + +ifndef NO_JAVA +ifndef JAVA_BASE_DEF_INCLUDED +include $(MAKEFILES_DIR)/javabase.def +JAVA_BASE_DEF_INCLUDED=1 +endif +endif + +ifdef USE_STATIC_RCSLIB +USE_STATIC_RCS_LIB=1 +endif + + +ifndef NO_RCS_VERSION +ifndef RCS_VERSION +ifdef COMPILING_RCSLIB +ifdef TOP_SRCDIR +RCS_VERSION := $(shell grep RCS_VERSION $(TOP_SRCDIR)/src/rcsvers.hh | awk -F'[ \"]' '{printf("%s",$$4);}') +RCS_DATE := $(shell date +%y\ %m\ %d | awk '{printf("%d.%d-%d",$$1,$$2,$$3);}') +#RCS_VERSION := $(RCS_VERSION)-$(RCS_DATE) +# TOP_SRCDIR +else + +ifdef USER_DIR +RCS_VERSION := $(shell grep RCS_VERSION $(USER_DIR)/src/rcsvers.hh | awk -F'[ \"]' '{printf("%s",$$4);}') +RCS_DATE := $(shell date +%y\ %m\ %d | awk '{printf("%d.%d-%d",$$1,$$2,$$3);}') +#RCS_VERSION := $(RCS_VERSION)-$(RCS_DATE) +# USER_DIR +endif + +# TOP_SRCDIR +endif + +# COMPILING_RCSLIB +else + +ifdef USE_RCS_VERSION_ON_LINK +RCS_VERSION := $(shell grep RCS_VERSION $(RCS_INCLUDE)/rcsvers.hh | awk -F'[ \"]' '{printf("%s",$$4);}') +RCS_SO_LIBNAME := $(shell ls -t1 $(RCS_PLATLIB)/librcs$(RCS_VERSION)*.so | head -n 1 ) +RCS_DATE := $(subst $(RCS_PLATLIB)/librcs$(RCS_VERSION)-,,$(RCS_SO_LIBNAME)) +RCS_DATE := $(subst .so,,$(RCS_DATE)) +# RCS_VERSION := $(RCS_VERSION)-$(RCS_DATE) +# USE_RCS_VERSION_ON_LINK +endif + +# COMPILING_RCSLIB +endif + +# RCS_VERSION +endif + +# NO_RCS_VERSION +endif + + +ifdef USE_STATIC_RCS_LIB +RCS_L_FLAG=$(RCS_PLATLIB)/$(RCS_LIBRARY_NAME) +RCS_LINK_FLAG=$(RCS_L_FLAG) + +else + +ifndef RCS_L_FLAG +ifdef USE_RCS_VERSION_ON_LINK +RCS_L_FLAG=-lrcs$(RCS_VERSION) +else +RCS_L_FLAG=-lrcs +endif +endif + +ifndef POSEMATH_L_FLAG +POSEMATH_L_FLAG=-lpm +endif + + +ifndef RCS_LINK_FLAG +ifdef NO_RCS_SEARCH_PATH +RCS_LINK_FLAG = -L$(RCS_PLATLIB) $(RCS_L_FLAG) $(POSEMATH_L_FLAG) +else +RCS_LINK_FLAG = -L$(RCS_PLATLIB) $(RCS_L_FLAG) $(POSEMATH_L_FLAG) $(SEARCH_PATH_FLAG) $(RCS_LIB_SEARCH_PATH) +endif +endif +endif + +# Set Final value of SRCS file with PLAT specific EXTENSIONS +RELEASE_SRCS = $(PRE_RELEASE_SRCS:%.cc=%.$(CPLUSPLUS_EXTENSION)) +DEVP_SRCS = $(PRE_DEVP_SRCS:%.cc=%.$(CPLUSPLUS_EXTENSION)) + +# Generic patterns + +# Pattern rules for C and C++ compilation + +# Set default compiler setup +ifndef COMPILER_SETUP +COMPILER_SETUP = test +else + +ifndef COMPILER_SETUP_WITH_SEMICOLON +COMPILER_SETUP_WITH_SEMICOLON = $(COMPILER_SETUP); +endif +endif + +ifdef DEBUG_RCS_MAKE +$(warning LOCAL_CFLAGS=$(LOCAL_CFLAGS) ) +$(warning CFLAGS=$(CFLAGS) ) +$(warning LOCAL_CPLUSPLUSFLAGS=$(LOCAL_CPLUSPLUSFLAGS) ) +$(warning CPLUSPLUSFLAGS=$(CPLUSPLUSFLAGS) ) +$(warning CC=$(CC) ) +$(warning CPLUSPLUS=$(CPLUSPLUS) ) +endif + + +ifndef COMPILING_RCSLIB + +$(DEVP_LIB_DIR)/%.o: %.c %.h + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.c + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc %.hh + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.obj: %.cpp %.hpp + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.obj: %.cpp + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + + +else # COMPILING_RCSLIB + +$(DEVP_LIB_DIR)/%.o: %.c %.h + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.c + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc %.hh + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc + ( $(COMPILER_SETUP_WITH_SEMICOLON) \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +endif + +# Pattern Rules for copying to the release directory. +INSTALL_COMMANDS = \ + $(IGNORE_MARK)$(ECHO_MARK) echo installing $@; \ + \rm -f $@; \ + cp $< $@; \ + chmod a+rw $@; \ + chmod o-w $@; + +INSTALL_BIN_COMMANDS = \ + $(INSTALL_COMMANDS) \ + chmod a+x $@; + + +$(DEVP_SRC_DIR)/%.cc: %.cc + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_SRC_DIR)/%.cpp: %.cpp + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_SRC_DIR)/%.rc: %.rc + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_SRC_DIR)/%.c: %.c + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_SRC_DIR)/%.s: %.s + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.$(CPLUSPLUS_EXTENSION): %.cc + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.c: %.c + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.s: %.s + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + + +$(DEVP_INCLUDE_DIR)/%.hh: %.hh + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/%.hpp: %.hpp + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/%.h: %.h + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/%.rh: %.rh + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + + +$(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%.hh: %.hh + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + +$(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%.hpp: %.hpp + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%.h: %.h + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod a+rw $@ + $(IGNORE_MARK)$(ECHO_MARK)chmod o-w $@ + + +ifndef NOINSTALL + +$(RELEASE_INCLUDE_DIR)/%: $(DEVP_INCLUDE_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_LIB_DIR)/%: $(DEVP_LIB_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_BIN_DIR)/%: $(DEVP_BIN_DIR)/% + $(INSTALL_BIN_COMMANDS) + +$(RELEASE_SRC_DIR)/%: $(DEVP_SRC_DIR)/% + $(INSTALL_COMMANDS) + + +endif + +# Phony Targets + +ifdef SUB_DIR +all: make_dirs + +make_dirs : make_sub_dirs + +make_sub_dirs: + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(DEVP_DIR)/lib/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(DEVP_DIR)/src/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(DEVP_DIR)/bin/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(DEVP_DIR)/include/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(RELEASE_DIR)/lib/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(RELEASE_DIR)/src/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(RELEASE_DIR)/bin/$(SUB_DIR); + $(IGNORE_MARK)$(ECHO_MARK) $(MKDIR_CMD) $(RELEASE_DIR)/include/$(SUB_DIR); + +.PHONY: make_sub_dirs + +endif # SUB_DIR + +all: make_dirs headers sources + +headers: +sources: + +ifndef NO_COMPILING +all: make_dirs depend objs libs + +depend: + +objs: depend +libs: depend objs + +objs: $(DEVP_OBJS) + +libs: $(DEVP_LIBS) + +.PHONY: libs objs +ifndef NO_BINS +all: bins +bins: make_dirs +bins: $(DEVP_BINS) + +.PHONY: bins +endif +# NO_BINS + +endif +#NO_COMPILING + + +make_tmp_dirs: + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp; then mkdir /tmp; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR)); then mkdir /tmp/$(notdir $(USER_DIR)); fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat; then mkdir /tmp/$(notdir $(USER_DIR))/plat; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat/$(PLAT); then mkdir /tmp/$(notdir $(USER_DIR))/plat/$(PLAT); fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/lib; then mkdir /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/lib; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/src; then mkdir /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/src; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/bin; then mkdir /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/bin; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/include; then mkdir /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/include; fi; ) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat; then mkdir $(USER_DIR)/plat; fi;) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat/$(PLAT); then mkdir $(USER_DIR)/plat/$(PLAT); fi;) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat/$(PLAT)/lib; then mkdir $(USER_DIR)/plat/$(PLAT)/lib; fi;) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat/$(PLAT)/src; then mkdir $(USER_DIR)/plat/$(PLAT)/src; fi;) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat/$(PLAT)/bin; then mkdir $(USER_DIR)/plat/$(PLAT)/bin; fi;) + $(IGNORE_MARK)$(ECHO_MARK)( if test ! -d $(USER_DIR)/plat/$(PLAT)/include; then mkdir $(USER_DIR)/plat/$(PLAT)/include; fi;) + +copy_tmp_bins: + $(IGNORE_MARK)(cp /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/bin/* $(USER_DIR)/plat/$(PLAT)/bin) + $(IGNORE_MARK)(cp /tmp/$(notdir $(USER_DIR))/plat/$(PLAT)/bin/*.a $(USER_DIR)/plat/$(PLAT)/bin) + +.PHONY: copy_tmp_bins make_tmp_dirs + +sources: $(DEVP_HEADERS) $(DEVP_SRCS) + +sources_message: + $(IGNORE_MARK)$(ECHO_MARK) echo Sources = $(DEVP_SRCS) + +headers: $(DEVP_HEADERS) + +headers_message: + $(IGNORE_MARK)$(ECHO_MARK) echo Headers = $(DEVP_HEADERS) + + +ifeq ($(MAKELEVEL), 0) +depend: headers sources depend_message depend_commands +else +depend: depend_commands +endif + +depend_message: + $(IGNORE_MARK)$(ECHO_MARK) echo Updating dependancies. + + +ifndef MAKEDEPEND_CFLAGS +MAKEDEPEND_CFLAGS= $(filter -I%,$(CFLAGS)) +endif + +ifndef MAKEDEPEND_CPLUSPLUSFLAGS +MAKEDEPEND_CPLUSPLUSFLAGS= $(filter -I%,$(CPLUSPLUSFLAGS)) +endif + +ifdef NO_DEPENDS +depend_commands: + -$(ECHO_MARK)echo Skipping Depends. + +else # NO_DEPENDS + +ifndef SRCS +depend_commands: + $(IGNORE_MARK)$(ECHO_MARK)echo No sources. + +else # SRCS + + +ifdef USE_GPP_M + +ifndef COMPILING_RCSLIB + +depend_commands: + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) touch .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .gpp_m_errors + $(IGNORE_MARK)$(ECHO_MARK) touch .gpp_m_errors + $(IGNORE_MARK)$(ECHO_MARK)(if [ ! -z "$(SRCS)" ] ; then (g++ -M $(LOCAL_CFLAGS) $(CFLAGS) $(CPLUSPLUSFLAGS) -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) -DMAKEDEPEND=1 $(SRCS) >.depend.$(PLAT) ) 2>.gpp_m_errors; exit 0; fi;) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) touch .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) cp .depend.$(PLAT) .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#\[a-z,_,/,0-9,A-Z\]\*\[.\]o:#plat/$(PLAT)/lib/\&# | sed s#/usr/include/\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/usr/src/rt\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/itl/apps/gcc\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/usr/lib/gcc-lib/\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/usr/include/\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/usr/src/rt\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/itl/apps/gcc\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g | sed s#/usr/lib/gcc-lib/\[a-z,_,/,0-9,A-Z\]\*\[.\]h\ #\ #g > .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) mv .depend.std_headers_removed .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) rm -f .depend + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#plat/$(PLAT)/lib#\\$$\(DEVP_LIB_DIR\)# | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# | sed -f $(RCSLIB_MAIN_DIR)/etc/addnewline.sed >> .depend + $(IGNORE_MARK)$(ECHO_MARK)\rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK)cp .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK)cp .depend .depend.$(REAL_PLAT) + +else # COMPILING_RCSLIB + +depend_commands: + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) touch .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .gpp_m_errors + $(IGNORE_MARK)$(ECHO_MARK) touch .gpp_m_errors + $(IGNORE_MARK)$(ECHO_MARK) (if [ ! -z "$(SRCS)" ] ; then (g++ -M $(LOCAL_CFLAGS) $(CFLAGS) $(CPLUSPLUSFLAGS) -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -DMAKEDEPEND=1 $(SRCS) >.depend.$(PLAT) ) 2>.gpp_m_errors; exit 0; fi) + $(IGNORE_MARK)$(ECHO_MARK) (if [ ! -s .gpp_m_errors ] ; then \rm -f .gpp_m_errors; fi;) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) touch .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) cp .depend.$(PLAT) .depend.$(PLAT).first_pass + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#/usr/include/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/usr/src/rt\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/itl/apps/gcc\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/usr/lib/gcc-lib/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/usr/include/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/usr/src/rt\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/itl/apps/gcc\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g | sed s#/usr/lib/gcc-lib/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g > .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) mv .depend.std_headers_removed .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) rm -f .depend + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT).second_pass + $(IGNORE_MARK)$(ECHO_MARK) touch .depend.$(PLAT).second_pass + $(IGNORE_MARK)$(ECHO_MARK) cp .depend.$(PLAT) .depend.$(PLAT).second_pass + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#\^\[a-z,_,/,A-Z,0-9\]\*\[.\]o:#\\$$\(DEVP_LIB_DIR\)/\&# | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# | sed -f $(RCSLIB_MAIN_DIR)/etc/addnewline.sed >> .depend + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) cp .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK)cp .depend .depend.$(REAL_PLAT) + +endif # COMPILING_RCSLIB + +else # USE_GPP_M + +ifndef COMPILING_RCSLIB + +depend_commands: + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) touch .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .makedepend.log .makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) touch .makedepend.log .makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) ( $(MAKEDEPEND) \ + -f .depend.$(PLAT) \ + -p$$\(DEVP_LIB_DIR\)/ \ + -- $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(RCS_INCLUDE) -I$(PHONY_INCLUDE_DIR) \ + $(MAKEDEPEND_CFLAGS) $(MAKEDEPEND_CPLUSPLUSFLAGS) -DMAKEDEPEND=1 \ + -I/usr/include/g++-2 \ + -- $(SRCS) >.makedepend.log) 2>.makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#/usr/include/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g > .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) mv .depend.std_headers_removed .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) rm -f .depend + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# >> .depend + $(IGNORE_MARK)$(ECHO_MARK)cp .depend.$(PLAT) .depend.$(REAL_PLAT) + + +else # COMPILING_RCSLIB + +depend_commands: + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) touch .depend .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .makedepend.log .makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) touch .makedepend.log .makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) (thisdir=`pwd`; cd $(DEVP_SRC_DIR); $(MAKEDEPEND) \ + -f $${thisdir}/.depend.$(PLAT) \ + -p$$\(DEVP_LIB_DIR\)/ \ + -- $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(DEVP_DIR)/include -I$(PHONY_INCLUDE_DIR) \ + $(MAKEDEPEND_CFLAGS) $(MAKEDEPEND_CPLUSPLUSFLAGS) -DMAKEDEPEND=1 \ + -I/usr/include/g++-2 \ + -- $(SRCS) >.makedepend.log) 2>.makedepend.err + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#/usr/include/\[a-z,_,/,A-Z,0-9\]\*\[.\]h\ #\ #g > .depend.std_headers_removed + $(IGNORE_MARK)$(ECHO_MARK) \rm -f .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) mv .depend.std_headers_removed .depend.$(PLAT) + $(IGNORE_MARK)$(ECHO_MARK) rm -f .depend + $(IGNORE_MARK)$(ECHO_MARK) cat .depend.$(PLAT) | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# | \ + grep -v PHONY_INCLUDE_DIR >> .depend + $(IGNORE_MARK)$(ECHO_MARK)cp .depend.$(PLAT) .depend.$(REAL_PLAT) + + +endif # COMPILING_RCSLIB + +endif # USE_GPP_M + +endif # SRCS + +endif # NO_DEPENDS + +clean_all: clean delete + +clean: remove_deps clean_commands + +clean_commands: + $(IGNORE_MARK)\rm -f $(DEVP_OBJS) + $(IGNORE_MARK)\rm -f $(DEVP_LIBS) + $(IGNORE_MARK)\rm -f $(DEVP_BINS) + $(IGNORE_MARK)\rm -f $(DEVP_SRCS) + $(IGNORE_MARK)\rm -f $(DEVP_HEADERS) + + +delete: delete_commands + +delete_commands: + $(IGNORE_MARK)\rm -f $(RELEASE_OBJS) + $(IGNORE_MARK)\rm -f $(RELEASE_LIBS) + $(IGNORE_MARK)\rm -f $(RELEASE_SRCS) + $(IGNORE_MARK)\rm -f $(RELEASE_BINS) + $(IGNORE_MARK)\rm -f $(RELEASE_HEADERS) + + + +ifdef NO_COMPILING +install: make_release_dirs $(RELEASE_HEADERS) $(RELEASE_SRCS) $(RELEASE_LIBS) $(RELEASE_BINS) \ + log_install_message + +else +ifneq ($(PLAT), lynx) +install: make_release_dirs $(RELEASE_HEADERS) $(RELEASE_SRCS) $(RELEASE_LIBS) \ + $(RELEASE_BINS) log_install_message +else +install: make_release_dirs depend_commands $(RELEASE_HEADERS) $(RELEASE_SRCS) \ + $(RELEASE_LIBS) \ + $(RELEASE_BINS) log_install_message + +endif +endif + +force_install: force_install_commands + +force_install_commands: + -install -m 664 $(DEVP_HEADERS) $(RELEASE_INCLUDE_DIR) + -install -m 664 $(DEVP_LIBS) $(RELEASE_LIB_DIR) + -install -m 664 $(DEVP_OBJS) $(RELEASE_LIB_DIR) + -install -m 664 $(DEVP_BINS) $(RELEASE_BIN_DIR) + -install -m 664 $(DEVP_SRCS) $(RELEASE_SRC_DIR) + +blind_install: + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $(RELEASE_BIN_DIR)/* + $(IGNORE_MARK)\cp $(DEVP_BIN_DIR)/* $(RELEASE_BIN_DIR) + $(IGNORE_MARK)$(ECHO_MARK)chmod 664 $(RELEASE_BIN_DIR)/* + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $(RELEASE_LIB_DIR)/* + $(IGNORE_MARK)\cp $(DEVP_LIB_DIR)/* $(RELEASE_LIB_DIR) + $(IGNORE_MARK)$(ECHO_MARK)chmod 664 $(RELEASE_LIB_DIR)/* + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $(RELEASE_SRC_DIR)/* + $(IGNORE_MARK)\cp $(DEVP_SRC_DIR)/* $(RELEASE_SRC_DIR) + $(IGNORE_MARK)$(ECHO_MARK)chmod 664 $(RELEASE_SRC_DIR)/* + $(IGNORE_MARK)$(ECHO_MARK)\rm -f $(RELEASE_INCLUDE_DIR)/* + $(IGNORE_MARK)\cp $(DEVP_INCLUDE_DIR)/* $(RELEASE_INCLUDE_DIR) + $(IGNORE_MARK)$(ECHO_MARK)chmod 664 $(RELEASE_INCLUDE_DIR)/* + +log_install_message: + $(IGNORE_MARK)$(ECHO_MARK) if (test ! -f $(APPDIR)/.log )\ + then touch $(APPDIR)/.log; chmod 666 $(APPDIR)/.log; \ + fi; + $(IGNORE_MARK)$(ECHO_MARK)echo Logging install message. + $(IGNORE_MARK)$(ECHO_MARK)echo On `date`, $(LOGNAME) installed `pwd` >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo for $(PLAT) to $(RELEASE_DIR) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo using $(HOST) with $(osrev) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo Headers = $(HEADERS) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo Srcs = $(SRCS) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo Objs = $(OBJS) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo Libs = $(LIBS) >>$(APPDIR)/.log + $(IGNORE_MARK)$(ECHO_MARK)echo Bins = $(BINS) >>$(APPDIR)/.log + +print_variables: + $(IGNORE_MARK)$(ECHO_MARK)echo OBJS = $(OBJS) + $(IGNORE_MARK)$(ECHO_MARK)echo LIBS = $(LIBS) + $(IGNORE_MARK)$(ECHO_MARK)echo BINS = $(BINS) + $(IGNORE_MARK)$(ECHO_MARK)echo SRCS = $(SRCS) + $(IGNORE_MARK)$(ECHO_MARK)echo HEADERS = $(HEADERS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_OBJS = $(DEVP_OBJS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_LIBS = $(DEVP_LIBS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_BINS = $(DEVP_BINS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_SRCS = $(DEVP_SRCS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_HEADERS = $(DEVP_HEADERS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_OBJS = $(RELEASE_OBJS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_LIBS = $(RELEASE_LIBS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_BINS = $(RELEASE_BINS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_SRCS = $(RELEASE_SRCS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_HEADERS = $(RELEASE_HEADERS) + + +# Declare PHONY targets to be PHONY + +# load_source: $(OBJECT_CENTER_SRC_FILES) loadsource_message + +release_headers : $(RELEASE_HEADERS) + +# load_source_message: +# echo $(OBJECT_CENTER_SRC_FILES) +# .PHONY load_source load_source_message + +.PHONY: all install depend depend_commands force_install force_install_commands + +.PHONY: delete delete_commands sources headers release_headers + +.PHONY: clean clean_commands clean_all log_install_message sources_message + +#.PHONY: run_setup_script + + +# Local dependancies + +HAVE_PLAT_DEPEND=$(shell if [ -f .depend.$(PLAT) ] ; then echo yes; else echo no; fi) +HAVE_DEPEND=$(shell if [ -f .depend ] ; then echo yes; else echo no; fi) +USE_AUTO_DEPENDS=yes + +ifeq (yes, $(HAVE_PLAT_DEPEND)) +USE_SEPARATE_DEPENDS=1 + +else + +ifeq (no, $(HAVE_DEPEND)) +USE_AUTO_DEPENDS=no +endif +endif + +ifneq (no, $(USE_AUTO_DEPENDS)) +ifdef USE_SEPARATE_DEPENDS +ifdef REAL_PLAT +include .depend.$(REAL_PLAT) +else +include .depend.$(PLAT) +endif +else +ifndef NEVER_USE_GENERIC_DEPEND +include .depend +endif +endif + +ifdef REAL_PLAT +.depend.$(REAL_PLAT): + -touch $@ +endif + +ifneq ($(strip $(PLAT)), $(strip $(REAL_PLAT))) + +.depend.$(PLAT): + -touch $@ + +endif + +.depend: + -touch $@ + +endif + +.PRECIOUS: $(SRCS) $(HEADERS) $(RELEASE_SRCS) $(RELEASE_HEADERS) + + +#endif +# to match ifndef MAKEFILE_GENERIC_ALREADY_INCLUDED +#endif + + +# Create a phony target for debug purposes. + +printenv_gendef_commands: + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_VERSION = $(RCS_VERSION) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_SO_LIBNAME = $(RCS_SO_LIBNAME) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_DATE = $(RCS_DATE) + $(IGNORE_MARK)$(ECHO_MARK)echo PLAT = $(PLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_PLAT = $(REAL_PLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_RCSPLAT = $(REAL_RCSPLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo TEST_VAR = $(TEST_VAR) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_INSTALL_DIRECTORY = $(RCS_INSTALL_DIRECTORY) + $(IGNORE_MARK)$(ECHO_MARK)echo RCSLIB_MAIN_DIR = $(RCSLIB_MAIN_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo GENERIC_MAKEFILE = $(GENERIC_MAKEFILE) + $(IGNORE_MARK)$(ECHO_MARK)echo APPDIR = $(APPDIR) + $(IGNORE_MARK)$(ECHO_MARK)echo USER_DIR = $(USER_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo MAKEFILES_DIR = $(MAKEFILES_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_LIBRARY_NAME = $(RCS_LIBRARY_NAME) + $(IGNORE_MARK)$(ECHO_MARK)echo PHONY_INCLUDE_DIR = $(PHONY_INCLUDE_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_INCLUDE = $(RCS_INCLUDE) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_PLATBIN = $(RCS_PLATBIN) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_PLATLIB = $(RCS_PLATLIB) + $(IGNORE_MARK)$(ECHO_MARK)echo RCS_LIBRARY = $(RCS_LIBRARY) + $(IGNORE_MARK)$(ECHO_MARK)echo ARCHIVE_DIRECTORY = $(ARCHIVE_DIRECTORY) + $(IGNORE_MARK)$(ECHO_MARK)echo CFLAGS = $(CFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo MAKEDEPEND_CFLAGS = $(MAKEDEPEND_CFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo LOCAL_CFLAGS = $(LOCAL_CFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo CPLUSPLUSFLAGS = $(CPLUSPLUSFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo MAKEDEPEND_CPLUSPLUSFLAGS = $(MAKEDEPEND_CPLUSPLUSFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo LOCAL_CPLUSPLUSFLAGS = $(LOCAL_CPLUSPLUSFLAGS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEFAULT_TARGET = $(DEFAULT_TARGET) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_DIR = $(RELEASE_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_INCLUDE_DIR = $(RELEASE_INCLUDE_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_LIB_DIR = $(RELEASE_LIB_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_BIN_DIR = $(RELEASE_BIN_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_SRC_DIR = $(RELEASE_SRC_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_HEADERS = $(RELEASE_HEADERS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_LIBS = $(RELEASE_LIBS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_OBJS = $(RELEASE_OBJS) + $(IGNORE_MARK)$(ECHO_MARK)echo RELEASE_BINS = $(RELEASE_BINS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_DIR = $(DEVP_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_INCLUDE_DIR = $(DEVP_INCLUDE_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_LIB_DIR = $(DEVP_LIB_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_BIN_DIR = $(DEVP_BIN_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_SRC_DIR = $(DEVP_SRC_DIR) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_HEADERS = $(DEVP_HEADERS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_LIBS = $(DEVP_LIBS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_OBJS = $(DEVP_OBJS) + $(IGNORE_MARK)$(ECHO_MARK)echo DEVP_BINS = $(DEVP_BINS) + $(IGNORE_MARK)$(ECHO_MARK)printenv + +printenv : printenv_gendef_commands + +.PHONY: printenv printenv_gendef_commands + + +ifndef DYNAMIC_LIB_BUILD_TOOL +DYNAMIC_LIB_BUILD_TOOL=$(LD) +endif + +remove_deps: + -echo Removing dependancy files. + -\rm -f .dep* + -\rm -f `find . -name .dep\*` + +.PHONY: remove_deps + + +endif + diff --git a/etc/generic_gnuwin32.def b/etc/generic_gnuwin32.def new file mode 100644 index 0000000..a6a1bb1 --- /dev/null +++ b/etc/generic_gnuwin32.def @@ -0,0 +1,595 @@ +# Makefile.generic: +# Makefile definitions to be included in makefiles +# for RCS Utilities and Applications +# (non-platform specific definitions only) +# - compatible with GNU Make versions 3.55+ + + +#Prevent Multiple Inclusion Warnings +#ifndef GENERIC_MAKEFILE_ALREADY_INCLUDED +GENERIC_MAKEFILE_ALREADY_INCLUDED = 1 + +# Set default target +ifndef DEFAULT_TARGET +DEFAULT_TARGET = all +endif + +default: $(DEFAULT_TARGET) + +# Set default RCS directory +ifndef RCSLIB_MAIN_DIR +RCSLIB_MAIN_DIR = /isd/proj/rcslib +endif + + +ifndef MAKEFILES_DIR +MAKEFILES_DIR = $(RCSLIB_MAIN_DIR)/etc +endif + +echo_plat: + echo $(MAKEFILES_DIR) + +ifndef DIR_SEP +DIR_SEP = / +endif + +.PHONY: echo_plat + +ifndef RCS_LIBRARY_NAME +RCS_LIBRARY_NAME = librcs.a +endif + +ifndef PHONY_INCLUDE_DIR +PHONY_INCLUDE_DIR = $(MAKEFILES_DIR)/phony/include +endif + +ifndef PLAT +PLAT = $(osrev) +endif + + +# Define variables for directories. + +# The directory stucture under APPDIR or USER_DIR should look like: +# APPDIR/ +# src/ /* Active Source Files */ +# +# plat/ +# sunos4/ . . . +# sunos5/ . . . +# vxworks5.1/ . . . +# where sunos4, sunos5, vxworks5.1 etc are possible values for $(PLAT) +# Each platform directory should have a directory structure under it like: +# APP_PLAT/ +# src/ /* Archived Source files. */ +# lib/ /* Object and Library files. */ +# bin/ /* Binaries and executables. */ +# include/ /* .h and .hh files */ + +RCS_INCLUDE = $(RCSLIB_MAIN_DIR)/plat/$(PLAT)/include +RCS_PLATBIN = $(RCSLIB_MAIN_DIR)/plat/$(PLAT)/bin +RCS_PLATLIB = $(RCSLIB_MAIN_DIR)/plat/$(PLAT)/lib +RCS_LIBRARY = $(RCS_PLATLIB)/$(RCS_LIBRARY_NAME) + +RCS_INCLUDE_DIR = $(RCS_INCLUDE) +RCS_BIN_DIR = $(RCS_PLATBIN) +RCS_LIB_DIR = $(RCS_PLATLIB) +RCS_SRC_DIR = $(RCSLIB_MAIN_DIR)/plat/$(PLAT)/src + +# Set default application directory. + + +# Set default user directory. +ifndef USER_DIR +USER_DIR = $(HOME)/$(notdir $(APPDIR)) +endif + +# Set default compiler setup +ifndef COMPILER_SETUP +COMPILER_SETUP = test +endif + +APP_PLAT = $(APPDIR)/plat/$(PLAT) +USER_PLAT = $(USER_DIR)/plat/$(PLAT) + +# Release Directories and Files + +RELEASE_DIR = $(APP_PLAT) +RELEASE_INCLUDE_DIR = $(RELEASE_DIR)/include +RELEASE_HEADERS = $(HEADERS:%=$(RELEASE_INCLUDE_DIR)/%) +RELEASE_LIB_DIR = $(RELEASE_DIR)/lib +RELEASE_LIBS = $(LIBS:%=$(RELEASE_LIB_DIR)/%) +ifdef OBJ_EXTENSION +RELEASE_OBJS = $(OBJS:%.o=$(RELEASE_LIB_DIR)/%.$(OBJ_EXTENSION)) +else +RELEASE_OBJS = $(OBJS:%=$(RELEASE_LIB_DIR)/%) +endif +RELEASE_BIN_DIR = $(RELEASE_DIR)/bin +RELEASE_BINS = $(BINS:%=$(RELEASE_BIN_DIR)/%) +RELEASE_SRC_DIR = $(RELEASE_DIR)/src +PRE_RELEASE_SRCS = $(SRCS:%=$(RELEASE_SRC_DIR)/%) + +RELEASE_PLATBIN = $(RELEASE_BIN_DIR) +RELEASE_PLATLIB = $(RELEASE_LIB_DIR) + +ifndef ARCHIVE_DIRECTORY +ARCHIVE_DIRECTORY = $(APPDIR)/archive +endif + +# Development Directories and Files + +DEVP_DIR = $(USER_PLAT) +DEVP_INCLUDE_DIR = $(DEVP_DIR)/include +DEVP_HEADERS = $(HEADERS:%=$(DEVP_INCLUDE_DIR)/%) +DEVP_SRC_DIR = $(DEVP_DIR)/src +PRE_DEVP_SRCS = $(SRCS:%=$(DEVP_SRC_DIR)/%) +DEVP_LIB_DIR = $(DEVP_DIR)/lib +DEVP_LIBS = $(LIBS:%=$(DEVP_LIB_DIR)/%) +DEVP_OBJS = $(OBJS:%=$(DEVP_LIB_DIR)/%) +DEVP_BIN_DIR = $(DEVP_DIR)/bin +DEVP_BINS = $(BINS:%=$(DEVP_BIN_DIR)/%) +OBJECT_CENTER_SRC_FILES = $(SRCS:%.cc=$(DEVP_LIB_DIR)/%.src) + +DEVP_PLATBIN = $(DEVP_BIN_DIR) +DEVP_PLATLIB = $(DEVP_LIB_DIR) + +# Include the platform specific Makefile definitions. +include $(MAKEFILES_DIR)/$(PLAT).def + + +ifndef JAVA_RUNTIME +ifndef JAVA_TOOLS_DIR +JAVA_RUNTIME = java +else +JAVA_RUNTIME = $(JAVA_TOOLS_DIR)/java +endif +endif + +ifndef JAVA_TOOLS_DIR +JAVA_TOOLS_DIR=/depot/jit/usr/java/bin +endif + +ifndef CLASSPATH +CLASSPATH = .:/depot/jit/usr/java/lib/classes.zip +endif + +ifndef JAVA_CLASSPATH +JAVA_CLASSPATH = $(CLASSPATH) +endif + +# Set Final value of SRCS file with PLAT specific EXTENSIONS +RELEASE_SRCS = $(PRE_RELEASE_SRCS:%.cc=%.$(CPLUSPLUS_EXTENSION)) +DEVP_SRCS = $(PRE_DEVP_SRCS:%.cc=%.$(CPLUSPLUS_EXTENSION)) + +# Generic patterns + +# Pattern rules for C and C++ compilation + +/users/shackle/%.o: %.d + echo foo + +$(DEVP_LIB_DIR)/%.o: %.c + ( $(COMPILER_SETUP); \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.c + ( $(COMPILER_SETUP); \ + $(CC) $< -c $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc %.hh + ( $(COMPILER_SETUP); \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.o: %.cc + ( $(COMPILER_SETUP); \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/%.src: %.cc %.hh + !load $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ + +$(DEVP_LIB_DIR)/%.src: %.cc + !load $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS) -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ + +$(DEVP_LIB_DIR)/$(SUB_LIB_DIR)/%.o: %.c %.h + ( $(COMPILER_SETUP); \ + $(CC) $< -c $(LOCAL_CFLAGS) -I$(DEVP_INCLUDE_DIR) \ + -I$(RCS_INCLUDE) $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/$(SUB_LIB_DIR)/%.o: %.c + ( $(COMPILER_SETUP); \ + $(CC) $< -c $(LOCAL_CFLAGS) -I$(DEVP_INCLUDE_DIR) \ + -I$(RCS_INCLUDE) $(CFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/$(SUB_LIB_DIR)/%.o: %.cc %.hh + ( $(COMPILER_SETUP); \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +$(DEVP_LIB_DIR)/$(SUB_LIB_DIR)/%.o: %.cc + ( $(COMPILER_SETUP); \ + $(CPLUSPLUS) $< -c $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) -o $@ ) + +# Pattern Rules for copying to the release directory. +INSTALL_COMMANDS = \ + -@ echo installing $@; \ + \rm -f $@; \ + cp $< $@; \ + chmod a+rw $@; \ + chmod o-w $@; + +INSTALL_BIN_COMMANDS = \ + $(INSTALL_COMMANDS) \ + chmod a+x $@; + +$(DEVP_SRC_DIR)/%.$(CPLUSPLUS_EXTENSION): %.cc + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_SRC_DIR)/%.rc: %.rc + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_SRC_DIR)/%.c: %.c + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_SRC_DIR)/%.s: %.s + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.$(CPLUSPLUS_EXTENSION): %.cc + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.c: %.c + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + + +$(DEVP_SRC_DIR)/$(SUB_SRC_DIR)/%.s: %.s + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + + +$(DEVP_INCLUDE_DIR)/%.hh: %.hh + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + + +$(DEVP_INCLUDE_DIR)/%.h: %.h + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/%.rh: %.rh + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%.hh: %.hh + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + +$(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%.h: %.h + -@\rm -f $@; + $(COPY_SOURCE_COMMAND) $< $@ + -@chmod a+rw $@ + -@chmod o-w $@ + + +$(RELEASE_INCLUDE_DIR)/%: $(DEVP_INCLUDE_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_LIB_DIR)/%: $(DEVP_LIB_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_BIN_DIR)/%: $(DEVP_BIN_DIR)/% + $(INSTALL_BIN_COMMANDS) + +$(RELEASE_SRC_DIR)/%: $(DEVP_SRC_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/%: \ + $(DEVP_INCLUDE_DIR)/$(SUB_INCLUDE_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_LIB_DIR)/$(SUB_LIB_DIR)/%: $(DEVP_LIB_DIR)/$(SUB_LIB_DIR)/% + $(INSTALL_COMMANDS) + +$(RELEASE_BIN_DIR)/$(SUB_BIN_DIR)/%: $(DEVP_BIN_DIR)/$(SUB_BIN_DIR)/% + $(INSTALL_BIN_COMMANDS) + +# Phony Targets + + +ifdef NO_COMPILING +all: $(DEVP_HEADERS) $(DEVP_SRCS) + +else +all: $(DEVP_HEADERS) $(DEVP_SRCS) $(DEVP_OBJS) $(DEVP_LIBS) $(DEVP_BINS) + +endif + + + +sources: $(DEVP_HEADERS) $(DEVP_SRCS) sources_message + +sources_message: + -@ echo Sources = $(DEVP_SRCS) + +headers: $(DEVP_HEADERS) headers_message + +headers_message: + -@ echo Headers = $(DEVP_HEADERS) + +# Print a Warning for chip users. +lynx_warn: + -@ echo NOTE: On chip make_dirs and make_depend don't function \ + -@ echo properly. + -@ echo *To create directory structure for lynx plats run: + -@ echo gnumake make_dirs PLAT=lynx + -@ echo from a sun. + -@ echo *To update dependancies run: + -@ echo gnumake depend PLAT=lynx + -@ echo from a sun. +# This odd rule structure allows a master Makefile to add commands for +# depend all clean or install like executing sub-makes with these targets. + +ifeq ($(MAKELEVEL), 0) +depend: depend_message depend_commands +else +depend: depend_commands +endif + +depend_message: + -@ echo Updating dependancies. + +ifdef SUB_LIB_DIR +depend_commands: + -@ if (test ! -f .depend.$(PLAT) )\ + then touch .depend.$(PLAT); \ + fi; + -$(MAKEDEPEND)\ + -f .depend.$(PLAT) \ + -p$$\(DEVP_LIB_DIR\)/$$\(SUB_LIB_DIR\)/ \ + -- $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) -I$(PHONY_INCLUDE_DIR) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) \ + -- $(notdir $(SRCS)) + -@ rm -f .depend + -@ cat .depend.$(PLAT) | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# >> .depend + + +else # SUB_LIB_DEF defined? + +depend_commands: + -@ if (test ! -f .depend.$(PLAT) )\ + then touch .depend.$(PLAT); \ + fi; + -$(MAKEDEPEND) \ + -f .depend.$(PLAT) \ + -p$$\(DEVP_LIB_DIR\)/ \ + -- $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) -I$(PHONY_INCLUDE_DIR) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) \ + -- $(SRCS) + -@ rm -f .depend + -@ cat .depend.$(PLAT) | sed s#$(RCS_INCLUDE)#$$\(RCS_INCLUDE\)# | \ + sed s#$(DEVP_INCLUDE_DIR)#$$\(DEVP_INCLUDE_DIR\)# | \ + sed s#$(PHONY_INCLUDE_DIR)#$$\(PHONY_INCLUDE_DIR\)# >> .depend + + + + +endif # SUB_LIB_DEF defined? + +clean_all: clean delete + +clean: clean_commands + +clean_commands: + -\rm -f $(DEVP_OBJS) + -\rm -f $(DEVP_LIBS) + -\rm -f $(DEVP_BINS) + -\rm -f $(DEVP_HEADERS) + + +delete: delete_commands + +delete_commands: + -\rm -f $(RELEASE_OBJS) + -\rm -f $(RELEASE_LIBS) + -\rm -f $(RELEASE_SRCS) + -\rm -f $(RELEASE_BINS) + -\rm -f $(RELEASE_HEADERS) + + +ifdef NO_COMPILING +install: $(RELEASE_HEADERS) $(RELEASE_SRCS) $(RELEASE_LIBS) $(RELEASE_BINS) \ + log_install_message + +else +ifneq ($(PLAT), lynx) +install: $(RELEASE_HEADERS) $(RELEASE_SRCS) $(RELEASE_OBJS) $(RELEASE_LIBS) \ + $(RELEASE_BINS) log_install_message +else +install: depend $(RELEASE_HEADERS) $(RELEASE_SRCS) $(RELEASE_OBJS) \ + $(RELEASE_LIBS) \ + $(RELEASE_BINS) log_install_message + +endif +endif + +force_install: force_install_commands + +force_install_commands: + -install -m 664 $(DEVP_HEADERS) $(RELEASE_INCLUDE_DIR) + -install -m 664 $(DEVP_LIBS) $(RELEASE_LIB_DIR) + -install -m 664 $(DEVP_OBJS) $(RELEASE_LIB_DIR) + -install -m 664 $(DEVP_BINS) $(RELEASE_BIN_DIR) + -install -m 664 $(DEVP_SRCS) $(RELEASE_SRC_DIR) + +blind_install: + -@\rm -f $(RELEASE_BIN_DIR)/* + -\cp $(DEVP_BIN_DIR)/* $(RELEASE_BIN_DIR) + -@chmod 664 $(RELEASE_BIN_DIR)/* + -@\rm -f $(RELEASE_LIB_DIR)/* + -\cp $(DEVP_LIB_DIR)/* $(RELEASE_LIB_DIR) + -@chmod 664 $(RELEASE_LIB_DIR)/* + -@\rm -f $(RELEASE_SRC_DIR)/* + -\cp $(DEVP_SRC_DIR)/* $(RELEASE_SRC_DIR) + -@chmod 664 $(RELEASE_SRC_DIR)/* + -@\rm -f $(RELEASE_INCLUDE_DIR)/* + -\cp $(DEVP_INCLUDE_DIR)/* $(RELEASE_INCLUDE_DIR) + -@chmod 664 $(RELEASE_INCLUDE_DIR)/* + +log_install_message: + -@ if (test ! -f $(APPDIR)/.log )\ + then touch $(APPDIR)/.log; chmod 666 $(APPDIR)/.log; \ + fi; + -@echo Logging install message. + -@echo On `date`, $(LOGNAME) installed `pwd` >>$(APPDIR)/.log + -@echo for $(PLAT) to $(RELEASE_DIR) >>$(APPDIR)/.log + -@echo using $(HOST) with $(osrev) >>$(APPDIR)/.log + -@echo Headers = $(HEADERS) >>$(APPDIR)/.log + -@echo Srcs = $(SRCS) >>$(APPDIR)/.log + -@echo Objs = $(OBJS) >>$(APPDIR)/.log + -@echo Libs = $(LIBS) >>$(APPDIR)/.log + -@echo Bins = $(BINS) >>$(APPDIR)/.log + +print_variables: + -@echo OBJS = $(OBJS) + -@echo LIBS = $(LIBS) + -@echo BINS = $(BINS) + -@echo SRCS = $(SRCS) + -@echo HEADERS = $(HEADERS) + -@echo DEVP_OBJS = $(DEVP_OBJS) + -@echo DEVP_LIBS = $(DEVP_LIBS) + -@echo DEVP_BINS = $(DEVP_BINS) + -@echo DEVP_SRCS = $(DEVP_SRCS) + -@echo DEVP_HEADERS = $(DEVP_HEADERS) + -@echo RELEASE_OBJS = $(RELEASE_OBJS) + -@echo RELEASE_LIBS = $(RELEASE_LIBS) + -@echo RELEASE_BINS = $(RELEASE_BINS) + -@echo RELEASE_SRCS = $(RELEASE_SRCS) + -@echo RELEASE_HEADERS = $(RELEASE_HEADERS) + + +# Declare PHONY targets to be PHONY + +# load_source: $(OBJECT_CENTER_SRC_FILES) loadsource_message + +# load_source_message: +# echo $(OBJECT_CENTER_SRC_FILES) +# .PHONY load_source load_source_message + +.PHONY: all install depend depend_commands force_install force_install_commands + +.PHONY: delete delete_commands sources headers + +.PHONY: clean clean_commands clean_all log_install_message sources_message + +#.PHONY: run_setup_script + + +# Local dependancies + +ifdef USE_SEPARATE_DEPENDS +include .depend.$(PLAT) +else +include .depend +endif + +.depend.$(PLAT): + touch .depend + cp .depend $@ + + +.depend: + touch $@ + +.PRECIOUS: $(SRCS) $(HEADERS) $(RELEASE_SRCS) $(RELEASE_HEADERS) + + +#endif +# to match ifndef MAKEFILE_GENERIC_ALREADY_INCLUDED +#endif + + +# Create a phony target for debug purposes. + +printenv: + -@echo PLAT = $(PLAT) + -@echo RCS_INSTALL_DIRECTORY = $(RCS_INSTALL_DIRECTORY) + -@echo RCSLIB_MAIN_DIR = $(RCSLIB_MAIN_DIR) + -@echo GENERIC_MAKEFILE = $(GENERIC_MAKEFILE) + -@echo APPDIR = $(APPDIR) + -@echo USER_DIR = $(USER_DIR) + -@echo MAKEFILES_DIR = $(MAKEFILES_DIR) + -@echo RCS_LIBRARY_NAME = $(RCS_LIBRARY_NAME) + -@echo PHONY_INCLUDE_DIR = $(PHONY_INCLUDE_DIR) + -@echo RCS_INCLUDE = $(RCS_INCLUDE) + -@echo RCS_PLATBIN = $(RCS_PLATBIN) + -@echo RCS_PLATLIB = $(RCS_PLATLIB) + -@echo RCS_LIBRARY = $(RCS_LIBRARY) + -@echo ARCHIVE_DIRECTORY = $(ARCHIVE_DIRECTORY) + -@echo CFLAGS = $(CFLAGS) + -@echo LOCAL_CFLAGS = $(LOCAL_CFLAGS) + -@echo CPLUSPLUSFLAGS = $(CPLUSPLUSFLAGS) + -@echo LOCAL_CPLUSPLUSFLAGS = $(LOCAL_CPLUSPLUSFLAGS) + -@echo DEFAULT_TARGET = $(DEFAULT_TARGET) + -@echo RELEASE_DIR = $(RELEASE_DIR) + -@echo RELEASE_INCLUDE_DIR = $(RELEASE_INCLUDE_DIR) + -@echo RELEASE_LIB_DIR = $(RELEASE_LIB_DIR) + -@echo RELEASE_BIN_DIR = $(RELEASE_BIN_DIR) + -@echo RELEASE_SRC_DIR = $(RELEASE_SRC_DIR) + -@echo RELEASE_HEADERS = $(RELEASE_HEADERS) + -@echo RELEASE_LIBS = $(RELEASE_LIBS) + -@echo RELEASE_OBJS = $(RELEASE_OBJS) + -@echo RELEASE_BINS = $(RELEASE_BINS) + -@echo DEVP_DIR = $(DEVP_DIR) + -@echo DEVP_INCLUDE_DIR = $(DEVP_INCLUDE_DIR) + -@echo DEVP_LIB_DIR = $(DEVP_LIB_DIR) + -@echo DEVP_BIN_DIR = $(DEVP_BIN_DIR) + -@echo DEVP_SRC_DIR = $(DEVP_SRC_DIR) + -@echo DEVP_HEADERS = $(DEVP_HEADERS) + -@echo DEVP_LIBS = $(DEVP_LIBS) + -@echo DEVP_OBJS = $(DEVP_OBJS) + -@echo DEVP_BINS = $(DEVP_BINS) + -@printenv + +.PHONY: printenv diff --git a/etc/getlibtool.sh b/etc/getlibtool.sh new file mode 100755 index 0000000..f8e3ae7 --- /dev/null +++ b/etc/getlibtool.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +libtoolize -f -c && exit 0 + +for i in /usr/local/share/libtool /usr/share/libtool /usr/local/libtool ; do + if [ -d $i -a -f $i/ltmain.sh -a -f $i/ltconfig -a -x $i/ltconfig ] ; then + echo Getting libtool files from from $i + \rm -f config.* lt* + cp $i/config.* . + cp $i/lt* . + ./ltconfig ./ltmain.sh + ./libtool --version + exit 0 + fi +done diff --git a/etc/havertai.sh b/etc/havertai.sh new file mode 100755 index 0000000..62d2e1d --- /dev/null +++ b/etc/havertai.sh @@ -0,0 +1,78 @@ +#!/bin/sh + +if test "x${HAVE_RTAI}" != "x" ; then + echo ${HAVE_RTAI} + exit 0 +fi + +UNAME_A=`uname -a` +FULL_UNAME=`echo "${UNAME_A}_${CC}" | sed 'y# #_#' | sed 'y#/#_#' | sed 'y#-#_#' | sed 'y#:#_#' 2>/dev/null` 2>/dev/null + +if test "x${FULL_UNAME}" != "x" ; then + if test -f ~/.have_rtai.${FULL_UNAME} ; then + HAVE_RTAI=`head -n 1 ~/.have_rtai.${FULL_UNAME} 2>/dev/null` 2>/dev/null + export HAVE_RTAI; + fi +fi + +if test "x${HAVE_RTAI}" != "x" ; then + echo ${HAVE_RTAI} + exit 0 +fi + +if test ! -f .rtai_guess_warn -a ! -f ~/.rtai_guess_warn ; then + echo "Trying to determine if RTAI is installed." 1>&2 + echo "Set the environment variable HAVE_RTAI to YES or NO to override." 1>&2 + touch .rtai_guess_warn >/dev/null 2>/dev/null + touch ~/.rtai_guess_warn >/dev/null 2>/dev/null +fi + +ECHO_CMD=echo +# I would like to make this echo -n which eliminates annecessary and troublesome +# newline unfortunately on some platforms this causes the whole line to be lost. + +if [ -e ~/.no_rtai -o -e ./.no_rtai ] ; then + NO_RTAI=1 + export NO_RTAI; +fi + +if [ -e ~/.no_realtime -o -e ./.no_realtime ] ; then + NO_REALTIME=1 + export NO_REALTIME; +fi + +if [ "x${NO_RTAI}" != "x" ] ; then + $ECHO_CMD "NO" + \rm -f ~/.have_rtai.* 2>/dev/null ; + exit 0 +fi + +if [ "x${NO_REALTIME}" != "x" ] ; then + $ECHO_CMD "NO" + \rm -f ~/.have_rtai.* 2>/dev/null ; + exit 0 +fi + + +if uname -a | grep Linux > /dev/null 2> /dev/null ; then + if test -x /sbin/ksyms && /sbin/ksyms -a | grep rthal > /dev/null 2> /dev/null; then + HAVE_RTAI=YES + else + HAVE_RTAI=NO + fi + +else + HAVE_RTAI=NO +fi + +if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.have_rtai.* 2>/dev/null ; + echo ${HAVE_RTAI} > ~/.have_rtai.${FULL_UNAME} 2>/dev/null ; +fi + +${ECHO_CMD} ${HAVE_RTAI} +exit 0 + + + + diff --git a/etc/havertlinux.sh b/etc/havertlinux.sh new file mode 100755 index 0000000..3b27bf7 --- /dev/null +++ b/etc/havertlinux.sh @@ -0,0 +1,82 @@ +#!/bin/sh + + +if test "x${HAVE_RTLINUX}" != "x" ; then + echo ${HAVE_RTLINUX} + exit 0 +fi +UNAME_A=`uname -a` +FULL_UNAME=`echo "${UNAME_A}_${CC}" | sed 'y# #_#' | sed 'y#/#_#' | sed 'y#-#_#' | sed 'y#:#_#' 2>/dev/null` 2>/dev/null + +if test "x${FULL_UNAME}" != "x" ; then + if test -f ~/.have_rtlinux.${FULL_UNAME} ; then + HAVE_RTLINUX=`head -n 1 ~/.have_rtlinux.${FULL_UNAME} 2>/dev/null` 2>/dev/null + export HAVE_RTLINUX; + fi +fi + +if test "x${HAVE_RTLINUX}" != "x" ; then + echo ${HAVE_RTLINUX} + exit 0 +fi + +if test ! -f .rtlinux_guess_warn -a ! -f ~/.rtlinux_guess_warn ; then + echo "Trying to determine if RTLINUX is installed." 1>&2 + echo "Set the environment variable HAVE_RTLINUX to YES or NO to override." 1>&2 + touch .rtlinux_guess_warn >/dev/null 2>/dev/null + touch ~/.rtlinux_guess_warn >/dev/null 2>/dev/null +fi + + + + + +ECHO_CMD=echo +# I would like to make this echo -n which eliminates annecessary and troublesome +# newline unfortunately on some platforms this causes the whole line to be lost. +if [ -e ~/.no_rtl -o -e ./.no_rtl ] ; then + NO_RTL=1 + export NO_RTL; +fi + +if [ -e ~/.no_realtime -o -e ./.no_realtime ] ; then + NO_REALTIME=1 + export NO_REALTIME; +fi + +if [ "x${NO_RTL}" != "x" ] ; then + $ECHO_CMD "NO" + exit 0 +fi + +if [ "x${NO_REALTIME}" != "x" ] ; then + $ECHO_CMD "NO" + exit 0 +fi + + + +if uname -a | grep Linux > /dev/null 2> /dev/null ; then + if test ! -x /sbin/ksyms ; then + HAVE_RTLINUX=NO; + elif /sbin/ksyms -a | grep rtlinux > /dev/null 2> /dev/null; then + HAVE_RTLINUX=YES + elif /sbin/ksyms -a | grep rtl_get_soft_irq > /dev/null 2> /dev/null; then + HAVE_RTLINUX=YES + else + HAVE_RTLINUX=NO + fi +else + HAVE_RTLINUX="NO -- NOT Linux" +fi + +export HAVE_RTLINUX + +if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.have_rtlinux.* 2>/dev/null ; + echo ${HAVE_RTLINUX} > ~/.have_rtlinux.${FULL_UNAME} 2>/dev/null ; +fi + +${ECHO_CMD} ${HAVE_RTLINUX} +exit 0 + diff --git a/etc/ipc-clear b/etc/ipc-clear new file mode 100755 index 0000000..42a8a82 --- /dev/null +++ b/etc/ipc-clear @@ -0,0 +1,5 @@ +#!/bin/sh + +set -x +ipcrm `ipcs -s | gawk '{if($1 != "0x00000000" && $1 != "") printf("-s %s\n",$2);}' | grep -vi sh | grep -vi si | grep -vi se` +ipcrm `ipcs -m | gawk '{if($1 != "0x00000000" && $1 != "") printf("-m %s\n",$2);}' | grep -vi sh | grep -vi si | grep -vi se` diff --git a/etc/ipc-clear.sh b/etc/ipc-clear.sh new file mode 100755 index 0000000..42a8a82 --- /dev/null +++ b/etc/ipc-clear.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +set -x +ipcrm `ipcs -s | gawk '{if($1 != "0x00000000" && $1 != "") printf("-s %s\n",$2);}' | grep -vi sh | grep -vi si | grep -vi se` +ipcrm `ipcs -m | gawk '{if($1 != "0x00000000" && $1 != "") printf("-m %s\n",$2);}' | grep -vi sh | grep -vi si | grep -vi se` diff --git a/etc/irix5.def b/etc/irix5.def new file mode 100644 index 0000000..e9f3f92 --- /dev/null +++ b/etc/irix5.def @@ -0,0 +1,31 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +# The C and C++ compilation flags to be used. +CFLAGS = -D$(PLAT) -D__SGI__ -DSGI +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc diff --git a/etc/irix6.3.def b/etc/irix6.3.def new file mode 100644 index 0000000..e139587 --- /dev/null +++ b/etc/irix6.3.def @@ -0,0 +1,43 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +# The C and C++ compilation flags to be used. +CFLAGS = -D$(PLAT) -D__SGI__ -DPLATNAME=\"$(PLAT)\" +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +SCCS/s.% : % + sccs get $< + +% : RCS/%,v + co $@ diff --git a/etc/irix6.def b/etc/irix6.def new file mode 100644 index 0000000..af749d3 --- /dev/null +++ b/etc/irix6.def @@ -0,0 +1,64 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -D$(PLAT) -DSGI -D__SGI__ -DPLATNAME=\"$(PLAT)\" + +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +# MAKEDEPEND = makedepend +USE_GPP_M=1 +NO_JAVA=1 + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + + + + +DYNAMIC_LINK_FLAG = -ignore_unresolved -shared -o32 \ No newline at end of file diff --git a/etc/irix64.def b/etc/irix64.def new file mode 100644 index 0000000..61dbbfe --- /dev/null +++ b/etc/irix64.def @@ -0,0 +1,59 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix6 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -o64 -D$(PLAT) -DSGI -D__SGI__ -DPLATNAME=\"$(PLAT)\" + +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +DYNAMIC_LINK_FLAG = -ignore_unresolved -shared \ No newline at end of file diff --git a/etc/irix6_n32.def b/etc/irix6_n32.def new file mode 100644 index 0000000..7cd99e3 --- /dev/null +++ b/etc/irix6_n32.def @@ -0,0 +1,62 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix6 + +# The C compiler. +CC = /usr/freeware/bin/gcc + +# The C++ compiler. +CPLUSPLUS = /usr/freeware/bin/g++ + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -D$(PLAT) -Dirix6 -DSGI -DIRIX -D__SGI__ -DPLATNAME=\"$(PLAT)\" -DNO_IOSTREAM + +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = /usr/freeware/bin/as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + + + + +DYNAMIC_LINK_FLAG = -ignore_unresolved -shared \ No newline at end of file diff --git a/etc/irix6_o32.def b/etc/irix6_o32.def new file mode 100644 index 0000000..7474d6d --- /dev/null +++ b/etc/irix6_o32.def @@ -0,0 +1,62 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = irix6 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -o32 -D$(PLAT) -DSGI -D__SGI__ -DPLATNAME=\"$(PLAT)\" + +CLINK = -lm +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND = makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +CPLUSPLUS_EXTENSION = cc + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + + + + +DYNAMIC_LINK_FLAG = -ignore_unresolved -shared -o32 \ No newline at end of file diff --git a/etc/java.def b/etc/java.def new file mode 100644 index 0000000..9005bc7 --- /dev/null +++ b/etc/java.def @@ -0,0 +1,285 @@ + + +ifndef NO_SUBDIRS +.PHONY : do_sub_dirs + +all: do_sub_dirs +endif + +ifdef JAVA_CLASSES +ifndef CLASSES +CLASSES = $(JAVA_CLASSES) +endif +endif + +ifdef JAVA_SOURCES +ifndef CLASSES +CLASSES = $(subst .java,.class, $(JAVA_SOURCES)) +endif +endif + +ifndef JAVA_SOURCES +COMPILE_SEPARATELY=1 +endif + +OLD_JAVA=1 +ifndef JDK_DIR +JDK_DIR:=$(shell $(RCSLIB_MAIN_DIR)/etc/jdk_dir) +endif + +ifdef JDK_DIR + +JAVA_SETUP = JDK_DIR=$(JDK_DIR); export JDK_DIR; LD_LIBRARY_PATH=$(JDK_DIR)/lib; export LD_LIBRARY_PATH; +ifndef JAVA_BASE_CLASSES_ARCHIVE +JAVA_BASE_CLASSES_ARCHIVE = $(JDK_DIR)/lib/classes.zip +endif + +JAVA_TOOLS_DIR = $(JDK_DIR)/bin + +endif + +ifndef JAVA_COMPILER +JAVA_COMPILER=$(shell if [ -x $(JAVA_TOOLS_DIR)/javac ] ; then echo $(JAVA_TOOLS_DIR)/javac; elif which javac >/dev/null 2>/dev/null ; then which javac; elif which jikes >/dev/null 2>/dev/null ; then which jikes; fi ) +endif + + +ifdef USER_DIR +ifndef COMPILING_RCSLIB + +ifdef LOCAL_CLASSPATH +CLASSPATH = $(JAVA_BASE_CLASSES_ARCHIVE):$(LOCAL_CLASSPATH):$(DEVP_DIR)/lib:$(RCSLIB_MAIN_DIR)/plat/java/lib +else +CLASSPATH = $(JAVA_BASE_CLASSES_ARCHIVE):$(DEVP_DIR)/lib:$(RCSLIB_MAIN_DIR)/plat/java/lib +endif + +else + +ifdef LOCAL_CLASSPATH +CLASSPATH = $(JAVA_BASE_CLASSES_ARCHIVE):$(LOCAL_CLASSPATH):$(DEVP_DIR)/lib +else +CLASSPATH = $(JAVA_BASE_CLASSES_ARCHIVE):$(DEVP_DIR)/lib +endif + +endif + +DOC_JAVA_SOURCES = $(JAVA_SOURCES:%=$(DOC_DIR)/%) +RELEASE_DOC_DIR = $(RELEASE_DIR)/java_doc + + +$(DOC_DIR)/%.java: %.java + -cp $< $@; + chmod 0664 $@; + +%.class:%.java + $(JAVA_COMPILER) $(LOCAL_JAVA_FLAGS) -classpath $(CLASSPATH) $< +$(DOC_DIR)/$(PACKAGE_NAME).%.html:%.java + $(JAVA_TOOLS_DIR)/javadoc -noindex -notree -classpath $(CLASSPATH) -d $(DOC_DIR) $< + +$(DOC_DIR)/Package-$(PACKAGE_NAME).html: $(JAVA_SOURCES) + $(JAVA_TOOLS_DIR)/javadoc -classpath $(CLASSPATH) -d $(DOC_DIR) $(PACKAGE_NAME) + + +ifdef PACKAGE_NAME + +documentation: make_doc_dir $(DOC_DIR)/Package-$(PACKAGE_NAME).html $(DOC_JAVA_SOURCES) + +else + +documentation: make_doc_dir $(DOC_JAVA_SOURCES) + +endif + +make_doc_dir: + -@( if test ! -d $(DOC_DIR); then mkdir $(DOC_DIR); fi;) + -@( if test ! -d $(RELEASE_DOC_DIR); then mkdir $(RELEASE_DOC_DIR); fi;) + +compile_all: make_lib_dir + $(JAVA_COMPILER) $(LOCAL_JAVA_FLAGS) -classpath $(CLASSPATH) -d $(DEVP_DIR)/lib $(JAVA_SOURCES) + +.PHONY: compile_all + + +ifdef COMPILE_SEPARATELY + +all: classes install_devp_classes_sources + +else + +all: compile_all install_devp_classes_sources + +endif + +ifdef PACKAGE_NAME + +PACKAGE_DIR=$(subst .,/,$(PACKAGE_NAME)) +SUB_DIR=$(PACKAGE_DIR) + +DEVP_LIB_DIR = $(DEVP_DIR)/lib/$(PACKAGE_DIR) +DEVP_SRC_DIR = $(DEVP_DIR)/src/$(PACKAGE_DIR) +RELEASE_LIB_DIR = $(RELEASE_DIR)/lib/$(PACKAGE_DIR) +RELEASE_SRC_DIR = $(RELEASE_DIR)/src/$(PACKAGE_DIR) + +endif + + +ifdef CLASSES + +DEVP_CLASSES = $(CLASSES:%=$(DEVP_LIB_DIR)/%) + +$(DEVP_LIB_DIR)/%.class: %.java + $(JAVA_COMPILER) $(LOCAL_JAVA_FLAGS) -classpath $(CLASSPATH) -d $(DEVP_DIR)/lib $< + +endif + + +classes: make_lib_dir + + +ifdef SKIP_MAKE_LIB_DIR + +make_lib_dir: + +else + +make_lib_dir: + -@( if test ! -d $(USER_DIR)/plat; then \ + chmod u+w $(USER_DIR) 2>/dev/null; \ + mkdir -p $(USER_DIR)/plat; chmod u+w $(USER_DIR)/plat; fi;) + -@( if test ! -d $(DEVP_DIR); then mkdir -p $(DEVP_DIR); chmod u+w $(DEVP_DIR); fi;) + -@( if test ! -d $(DEVP_DIR)/lib; then mkdir -p $(DEVP_DIR)/lib; chmod u+w $(DEVP_DIR)/lib; fi;) + -@( if test ! -d $(DEVP_LIB_DIR); then mkdir -p $(DEVP_LIB_DIR); chmod u+w $(DEVP_LIB_DIR); fi;) + -@( if test ! -d $(DEVP_DIR)/src; then mkdir -p $(DEVP_DIR)/src; chmod u+w $(DEVP_DIR)/src; fi;) + -@( if test ! -d $(DEVP_SRC_DIR); then mkdir -p $(DEVP_SRC_DIR); chmod u+w $(DEVP_SRC_DIR); fi;) + -@( if test ! -d $(APPDIR)/plat; then \ + chmod u+w $(APPDIR) 2>/dev/null; \ + mkdir -p $(APPDIR)/plat; chmod u+w $(APPDIR)/plat; fi;) + -@( if test ! -d $(RELEASE_DIR); then mkdir -p $(RELEASE_DIR); chmod u+w $(RELEASE_DIR); fi;) + -@( if test ! -d $(RELEASE_DIR)/lib; then mkdir -p $(RELEASE_DIR)/lib; chmod u+w $(RELEASE_DIR)/lib; fi;) + -@( if test ! -d $(RELEASE_LIB_DIR); then mkdir -p $(RELEASE_LIB_DIR); chmod u+w $(RELEASE_LIB_DIR); fi;) + -@( if test ! -d $(RELEASE_DIR)/src; then mkdir -p $(RELEASE_DIR)/src; chmod u+w $(RELEASE_DIR)/src; fi;) + -@( if test ! -d $(RELEASE_SRC_DIR); then mkdir -p $(RELEASE_SRC_DIR); chmod u+w $(RELEASE_SRC_DIR); fi;) + +endif + +install: classes install_devp_classes_sources install_classes_sources + +classes: + +clean: remove_devp_classes_srcs + +remove_devp_classes_srcs: + -(if ls *.java > /dev/null 2> /dev/null ; then \ + JAVA_FILES=`echo *.java`; echo JAVA_FILES = $${JAVA_FILES:?}; \ + if test -d $(DEVP_SRC_DIR) ; then cd $(DEVP_SRC_DIR) && mv $$JAVA_FILES /tmp; fi;\ + fi;) + -(if ls *.class > /dev/null 2> /dev/null ; then \ + CLASS_FILES=`echo *.class`; echo CLASS_FILES = $${CLASS_FILES:?}; \ + \rm -f *.class; \ + if test -d $(DEVP_SRC_DIR) ; then cd $(DEVP_LIB_DIR) && \rm -f $$CLASS_FILES; fi; \ + fi;) + + +ifndef DEVP_CLASSES + +install_devp_classes_sources: + -(if ls *.java > /dev/null 2> /dev/null ; then \ + JAVA_FILES=`echo *.java`; echo JAVA_FILES = $${JAVA_FILES:?}; \ + cp $$JAVA_FILES $(DEVP_SRC_DIR); cd $(DEVP_SRC_DIR); chmod 0664 $$JAVA_FILES; \ + fi;) + -(if ls *.class > /dev/null 2> /dev/null ; then \ + CLASS_FILES=`echo *.class`; echo CLASS_FILES = $${CLASS_FILES:?}; \ + cp $$CLASS_FILES $(DEVP_LIB_DIR); cd $(DEVP_LIB_DIR); chmod 0664 $$CLASS_FILES; \ + fi;) + + +else + +install_devp_classes_sources: $(DEVP_CLASSES) + -(if ls *.java > /dev/null 2> /dev/null ; then \ + JAVA_FILES=`echo *.java`; echo JAVA_FILES = $${JAVA_FILES:?}; \ + cp $$JAVA_FILES $(DEVP_SRC_DIR); cd $(DEVP_SRC_DIR); chmod 0664 $$JAVA_FILES; \ + fi;) + + +endif + + +install_classes_sources: + -(cd $(DEVP_SRC_DIR); if ls *.java > /dev/null 2> /dev/null ; then \ + JAVA_FILES=`echo *.java`; echo JAVA_FILES = $${JAVA_FILES:?}; \ + cp $$JAVA_FILES $(RELEASE_SRC_DIR); cd $(RELEASE_SRC_DIR); chmod 0664 $$JAVA_FILES; \ + fi;) + -(cd $(DEVP_LIB_DIR); if ls *.class > /dev/null 2> /dev/null ; then \ + CLASS_FILES=`echo *.class`; echo CLASS_FILES = $${CLASS_FILES:?}; \ + cp $$CLASS_FILES $(RELEASE_LIB_DIR); cd $(RELEASE_LIB_DIR); chmod 0664 $$CLASS_FILES; \ + fi;) + + +install_documentation: + -(cd $(DOC_DIR); \ + if ls *.java > /dev/null 2> /dev/null ; then \ + cd $(DOC_DIR); \ + JAVA_FILES=`echo *.java`; echo JAVA_FILES = $${JAVA_FILES:?}; \ + cp $$JAVA_FILES $(RELEASE_DOC_DIR); cd $(RELEASE_DOC_DIR); chmod 0664 $$JAVA_FILES; \ + fi;) + -(cd $(DOC_DIR); \ + if ls *.html > /dev/null 2> /dev/null ; then \ + cd $(DOC_DIR); \ + HTML_FILES=`echo *.html`; echo HTML_FILES = $${HTML_FILES:?}; \ + cp $$HTML_FILES $(RELEASE_DOC_DIR); cd $(RELEASE_DOC_DIR); chmod 0664 $$HTML_FILES; \ + fi;) + -(cd $(DOC_DIR); \ + if test -d images; then \ + if test ! -d $(RELEASE_DOC_DIR)/images; then \ + mkdir $(RELEASE_DOC_DIR)/images; \ + cp $(DOC_DIR)/images/* $(RELEASE_DOC_DIR)/images/ ; \ + fi; \ + fi;) + + + +.PHONY: documentation classes make_doc_dir install_classes_sources install_documentation +.PHONY: install_devp_classes_sources make_lib_dir remove_devp_classes_srcs + + +endif + + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + + + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = rcs.jar + +SCCS/s.% : % + sccs get $< + +% : RCS/%,v + co $@ + + +printenv: print_java_defs + +print_java_defs: + -@echo DOC_DIR = $(DOC_DIR) + -@echo PACKAGE_NAME = $(PACKAGE_NAME) + -@echo LOCAL_CLASSPATH = $(LOCAL_CLASSPATH) + -@echo CLASSPATH = $(CLASSPATH) + -@echo CLASSES = $(CLASSES) + -@echo DEVP_CLASSES = $(DEVP_CLASSES) + -@echo DOC_JAVA_SOURCES = $(DOC_JAVA_SOURCES) + -@echo RELEASE_DOC_DIR = $(RELEASE_DOC_DIR) + -@echo JAVA_COMPILER = $(JAVA_COMPILER) + -@echo JAVA_TOOLS_DIR = $(JAVA_TOOLS_DIR) + -@echo JDK_DIR = $(JDK_DIR) + +# The library archiver and ranlib programs. +ifndef JAR +AR:=$(shell if [ -x $(JAVA_TOOLS_DIR)/jar ] ; then echo $(JAVA_TOOLS_DIR)/jar; elif which jar 1> /dev/null 2> /dev/null; then which jar; fi ) +JAR:=$(AR) +endif + +RANLIB=echo "no ranlib for ..." diff --git a/etc/javabase.def b/etc/javabase.def new file mode 100644 index 0000000..43bab7f --- /dev/null +++ b/etc/javabase.def @@ -0,0 +1,74 @@ + +#JDK_DIR=/usr/local/jdk +ifndef JDK_DIR +JDK_DIR:=$(shell $(RCSLIB_MAIN_DIR)/etc/jdk_dir) +endif + +ifdef OLD_JAVA +ifndef JAVA_SETUP +JAVA_SETUP = JDK_DIR=$(JDK_DIR); export JDK_DIR; LD_LIBRARY_PATH=$(JDK_DIR)/lib; export LD_LIBRARY_PATH; +endif + +ifndef JAVA_BASE_CLASSES_ARCHIVE +JAVA_BASE_CLASSES_ARCHIVE = $(JDK_DIR)/lib/classes.zip +endif + +else + +ifndef JAVA_SETUP +JAVA_SETUP = JDK_DIR=$(JDK_DIR); export JDK_DIR; +endif + + +endif +# OLD_JAVA + +ifndef JAVA_TOOLS_DIR +JAVA_TOOLS_DIR = $(JDK_DIR)/bin +endif + +ifndef JAVA_RUNTIME +ifndef JAVA_TOOLS_DIR +JAVA_RUNTIME = $(JAVA_SETUP) java +else +JAVA_RUNTIME = $(JAVA_SETUP) $(JAVA_TOOLS_DIR)/java +endif +endif + + +ifdef OLD_JAVA + +ifndef CLASSPATH +ifdef JAVA_BASE_CLASSES_ARCHIVE +CLASSPATH = .:$(JAVA_BASE_CLASSES_ARCHIVE) +else +CLASSPATH = .:/depot/jdk/lib/classes.zip +endif +endif +# CLASSPATH + +ifndef JAVA_CLASSPATH +JAVA_CLASSPATH = $(CLASSPATH) +endif + +endif +# OLD_JAVA + + +NML_CODEGEN = $(RCSLIB_MAIN_DIR)/etc/CodeGen + + +ifdef USE_GCJ + +ifndef GCJ +GCJ=gcj +endif + +$(DEVP_SRC_DIR)/%.java: %.java + cp $^ $@ + +$(DEVP_LIB_DIR)/%.o : %.java + $(GCJ) -c $(LOCAL_GCJ_FLAGS) $< -o $@ + + +endif diff --git a/etc/jdk_dir.sh b/etc/jdk_dir.sh new file mode 100755 index 0000000..b21b0fb --- /dev/null +++ b/etc/jdk_dir.sh @@ -0,0 +1,192 @@ +#! /bin/bash + +#set -x + +if test "x${JDK_DIR}" = "x" ; then + +if test -f "/tmp/jdk_${USER}_dir" ; then + if date -r /tmp/jdk_${USER}_dir >/dev/null 2>/dev/null ; then + jdate=`date +%s -r /tmp/jdk_${USER}_dir`; + ndate=`echo $jdate | awk '{print $1+300}'`; + cdate=`date +%s`; + if test ${cdate} -lt ${ndate} ; then + JDK_DIR=`cat /tmp/jdk_${USER}_dir`; + if test "x${JDK_DIR}" != "x" ; then + export JDK_DIR; + echo "${JDK_DIR}"; + exit 0; + fi + fi + fi +fi + +uname_s=`uname -s`; +uname_m=`uname -m`; +uname_r=`uname -r`; + +JDK_LIST= +NEWEST_JDK= + +if test -f "${HOME}"/.skip_icedtea_java ; then + export SKIP_ICEDTEA_JAVA=1; +fi + +if test -f "${HOME}"/.skip_java_1_7 ; then + export SKIP_JAVA_1_7=1; +fi + +if uname -s | grep "SunOS" >/dev/null 2>/dev/null ; then + if test -d "/mxproj/rcslib/jdk/${uname_s}-${uname_m}-${uname_r}/" ; then + JDK_DIR="/mxproj/rcslib/jdk/${uname_s}-${uname_m}-${uname_r}/current_java/"; + export JDK_DIR; + echo "${JDK_DIR}" >/tmp/jdk_${USER}_dir; + echo "${JDK_DIR}" + exit 0; + fi +fi + +if test -d /itl/apps ; then + base_dir=/itl/apps + if test "x${uname_s}" != "x" -a "x${uname_m}" != "x" -a "x${uname_r}" != "x" ; then + for dir in "${base_dir}"/j?sdk* "${base_dir}"/jdk* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/j?sdk\*" -a "x${dir}" != "x"${base_dir}"/jdk\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/${uname_s}-${uname_m}-${uname_r}/bin/java -a -x ${dir}/${uname_s}-${uname_m}-${uname_r}/bin/javac ; then + JDK_LIST="${JDK_LIST} ${dir}/${uname_s}-${uname_m}-${uname_r}"; + fi + fi + done + fi +fi + +PATH_LIST=`echo ${PATH} | sed 's#/bin:# #g' | sed 's#/bin/:# #g' | sed 's#/bin$# #' | sed 's#/bin/$# #'` + +base_dir_list="${HOME} /usr/java /usr/lib/jvm /usr/lib /usr /usr/local /usr/share /usr/local/share /opt ${PATH_LIST}" + +for base_dir in ${base_dir_list} ; do + if test "x"${base_dir}"" != "x" ; then + if test -d "${base_dir}"; then + for dir in "${base_dir}" "${base_dir}"/?urrent*ava "${base_dir}"/java-* "${base_dir}"/j?sdk* "${base_dir}"/jdk* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/j?sdk\*" -a "x${dir}" != "x"${base_dir}"/jdk\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/bin/java -a -x ${dir}/bin/javac ; then + JDK_LIST="${dir} ${JDK_LIST}"; + fi + fi + done + fi + if test -d "${base_dir}"/java; then + for dir in "${base_dir}"/java "${base_dir}"/?urrent*ava "${base_dir}"/java/j?sdk* "${base_dir}"/java/jdk* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/java/j?sdk\*" -a "x${dir}" != "x"${base_dir}"x/java/jdk\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/bin/java -a -x ${dir}/bin/javac ; then + JDK_LIST="${dir} ${JDK_LIST}"; + fi + fi + done + fi + fi +done + +#echo JDK_LIST=${JDK_LIST} +if test -f "/tmp/jdk_${USER}_list.txt" ; then + rm "/tmp/jdk_${USER}_list.txt" >/dev/null 2>/dev/null; +fi +umask_orig=`umask 2>/dev/null`; +if test "x${umask_orig}" != "x" ; then + umask 0; +fi + +for dir in ${JDK_LIST} end_dir_list ; do + if test "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + JDK_DIR=${dir}; + LAST_JAVAC_PROG=""; + JAVAC_PROG="${JDK_DIR}/bin/javac"; + while test "x${JAVAC_PROG}" != "x" -a -L "${JAVAC_PROG}" -a "x${JAVAC_PROG}" != "x${LAST_JAVA_PROG}"; do + #ls -l "${JAVAC_PROG}"; + LAST_JAVAC_PROG=${JAVAC_PROG}; + JAVAC_PROG=`ls -l "${JAVAC_PROG}" | awk '{print $10}'`; + #echo "JAVAC_PROG=${JAVAC_PROG}"; + if test "x${JAVAC_PROG%/bin/javac}" != "x" -a "x${JAVAC_PROG%/bin/javac}" != "x${JAVA_PROG}" ; then + JDK_DIR="${JAVAC_PROG%/bin/javac}"; + #echo "JDK_DIR=${JDK_DIR}"; + fi + done + if test "x${SKIP_ICEDTEA_JAVA}" != "x" -a "x${JDK_DIR}" != "x${JDK_DIR/icedtea/}" ; then + continue; + fi + if test "x${SKIP_JAVA_1_7}" != "x" -a "x${JDK_DIR}" != "x${JDK_DIR/java-1.7/}" ; then + continue; + fi + + jdk_version=`${JDK_DIR}/bin/javac -version 2>&1 | grep javac | awk '{print $2}'` + if test "x${SKIP_JAVA_1_7}" != "x" -a "x${jdk_version}" != "x${jdk_version/1.7/}" ; then + continue; + fi + if test "${jdk_version}x" != "x" ; then + echo "${jdk_version} ${JDK_DIR}" | awk '{printf("%s \t%s\n",$1,$2);}' >>/tmp/jdk_${USER}_list.txt + chmod ug+w "/tmp/jdk_${USER}_list.txt" >/dev/null 2>/dev/null; + fi + fi +done + +JDK_DIR= + +if test -f "/tmp/jdk_${USER}_list.txt" ; then + + if test -f "/tmp/jdk_${USER}_sorted_list.txt" ; then + rm "/tmp/jdk_${USER}_sorted_list.txt" >/dev/null 2>/dev/null; + fi + + sort "/tmp/jdk_${USER}_list.txt" > "/tmp/jdk_${USER}_sorted_list.txt"; + chmod ug+w "/tmp/jdk_${USER}_sorted_list.txt" >/dev/null 2>/dev/null; + + tailcmd="tail -1" + + if tail -n 1 /tmp/tailtest.txt >/dev/null 2>/dev/null ; then + + if test -f /tmp/tailtest.txt ; then + rm /tmp/tailtest.txt >/dev/null 2>/dev/null; + fi + + cat >/tmp/tailtest.txt </dev/null 2>/dev/null; + fi + + if test -f /tmp/jdk_${USER}_sorted_list.txt ; then + NEWEST_JDK=`${tailcmd} /tmp/jdk_${USER}_sorted_list.txt | awk '{print($2);}'` + fi + + JDK_DIR=${NEWEST_JDK} + export JDK_DIR + +fi +# if test -f /tmp/jdk_${USER}_list.txt + + +fi +# if test "x${JDK_DIR}" = "x" ; then +# JDK_DIR not already set. + +if test "x${JDK_DIR}" != "x" ; then + echo "${JDK_DIR}" >"/tmp/jdk_${USER}_dir"; + chmod ug+rw "/tmp/jdk_${USER}_dir" >/dev/null 2>/dev/null; + chmod ug+rw "/tmp/jdk_${USER}_list.txt" >/dev/null 2>/dev/null; + chmod ug+rw "/tmp/jdk_${USER}_sorted_list.txt" >/dev/null 2>/dev/null; +fi + +if test "x${umask_orig}" != "x" ; then + umask "${umask_orig}"; +fi + +echo ${JDK_DIR} + diff --git a/etc/jre_dir.sh b/etc/jre_dir.sh new file mode 100755 index 0000000..736f57e --- /dev/null +++ b/etc/jre_dir.sh @@ -0,0 +1,211 @@ +#!/bin/bash + +if test "x${DEBUG}" != "x" ; then + set -x; + echo "Running $0 $*"; + pwd +fi + +t=${0##*/} +d=${0%$t} +if test "x${d}" = "x" ; then + prog=`which $t | grep $t` + rcslib_etc_dir=${prog%/*} +else + rcslib_etc_dir=$d; +fi + +rcslib_dir=${rcslib_etc_dir%/*} + +if test -f /tmp/jre_${USER}_dir ; then + if date -r /tmp/jre_${USER}_dir >/dev/null 2>/dev/null ; then + jdate=`date +%s -r /tmp/jre_${USER}_dir`; + ndate=`echo $jdate | awk '{print $1+300}'`; + cdate=`date +%s`; + if test ${cdate} -lt ${ndate} ; then + JRE_DIR=`cat /tmp/jre_${USER}_dir`; + if test "x${JRE_DIR}" != "x" ; then + export JRE_DIR; + echo "${JRE_DIR}"; + exit 0; + fi + fi + fi +fi + +uname_s=`uname -s`; +uname_m=`uname -m`; +uname_r=`uname -r`; + +JRE_LIST= +NEWEST_JRE= + +if test -f "${HOME}"/.skip_icedtea_java ; then + export SKIP_ICEDTEA_JAVA=1; +fi + +if test -f "${HOME}"/.skip_java_1_7 ; then + export SKIP_JAVA_1_7=1; +fi + +if uname -s | grep "SunOS" >/dev/null 2>/dev/null ; then + + if test -d "/mxproj/rcslib/jre/${uname_s}-${uname_m}-${uname_r}/" ; then + JRE_DIR="/mxproj/rcslib/jre/${uname_s}-${uname_m}-${uname_r}/current_java/"; + export JRE_DIR; + echo "${JRE_DIR}" >/tmp/jre_${USER}_dir; + echo "${JRE_DIR}" + exit 0; + fi + + if test -d /itl/apps ; then + base_dir=/itl/apps + if test "x${uname_s}" != "x" -a "x${uname_m}" != "x" -a "x${uname_r}" != "x" ; then + for dir in "${base_dir}"/jre* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/jre\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/${uname_s}-${uname_m}-${uname_r}/bin/java ; then + JRE_LIST="${JRE_LIST} ${dir}/${uname_s}-${uname_m}-${uname_r}"; + fi + fi + done + fi + fi +fi + +PATH_LIST=`echo ${PATH} | sed 's#/bin:# #g' | sed 's#/bin/:# #g' | sed 's#/bin$# #' | sed 's#/bin/$# #'` + +parent_dir=`( cd .. ; pwd )`; +cur_dir=`pwd`; + +base_dir_list="${cur_dir} ${parent_dir} ${HOME} /usr/java /usr/lib/jvm /usr/lib /usr /usr/local /usr/share /usr/local/share /opt ${PATH_LIST}" + +for base_dir in ${base_dir_list} ; do + if test "x"${base_dir}"" != "x" ; then + if test -d "${base_dir}"; then + for dir in "${base_dir}" "${base_dir}"/?urrent*ava "${base_dir}"/jre* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/jre\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/bin/java ; then + JRE_LIST="${dir} ${JRE_LIST}"; + fi + fi + done + fi + if test -d "${base_dir}"/java; then + for dir in "${base_dir}"/java "${base_dir}"/?urrent*ava "${base_dir}"/java/j?sdk* "${base_dir}"/java/jre* end_dir_list ; do + if test "x${dir}" != "x"${base_dir}"/java/j?sdk\*" -a "x${dir}" != "x"${base_dir}"x/java/jre\*" -a "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + if test -x ${dir}/bin/java ; then + JRE_LIST="${dir} ${JRE_LIST}"; + fi + fi + done + fi + fi +done + +jdk_dir=`${rcslib_etc_dir}/jdk_dir.sh`; +if test "x${jdk_dir}" != "x" -a -x "${jdk_dir}/bin/java" ; then + JRE_LIST="${jdk_dir} ${JRE_LIST} ${jdk_dir}"; +fi + +#echo JRE_LIST=${JRE_LIST} +if test -f /tmp/jre_${USER}_list.txt ; then + rm /tmp/jre_${USER}_list.txt >/dev/null 2>/dev/null; +fi +umask_orig=`umask 2>/dev/null`; +if test "x${umask_orig}" != "x" ; then + umask 0; +fi + +for dir in ${JRE_LIST} end_dir_list ; do + if test "x${dir}" != "x" -a "x${dir}" != "xend_dir_list" ; then + JRE_DIR=${dir}; + LAST_JAVA_PROG=""; + JAVA_PROG="${JRE_DIR}/bin/java"; + while test -L "${JAVA_PROG}" -a "x${JAVA_PROG}" != "x${LAST_JAVA_PROG}"; do + #ls -l "${JAVA_PROG}"; + LAST_JAVA_PROG=${JAVA_PROG}; + JAVA_PROG=`ls -l "${JAVA_PROG}" | awk '{print $10}'`; + #echo "JAVA_PROG=${JAVA_PROG}"; + if test "x${JAVA_PROG%/bin/java}" != "x" -a "x${JAVA_PROG%/bin/java}" != "x${JAVA_PROG}" ; then + JRE_DIR="${JAVA_PROG%/bin/java}"; + #echo "JRE_DIR=${JRE_DIR}"; + fi + done + if test "x${SKIP_ICEDTEA_JAVA}" != "x" -a "x${JRE_DIR}" != "x${JRE_DIR/icedtea/}" ; then + continue; + fi + if test "x${SKIP_JAVA_1_7}" != "x" -a "x${JRE_DIR}" != "x${JRE_DIR/java-1.7/}" ; then + continue; + fi + jre_version=`${JRE_DIR}/bin/java -version 2>&1 | grep version | grep java | sed 's#"##g' | awk '{print $3}'` + + if test "x${SKIP_JAVA_1_7}" != "x" -a "x${jre_version}" != "x${jre_version/1.7/}" ; then + continue; + fi + + JRE_DIR=`echo ${JRE_DIR} | sed 's#//#/#g'`; + if test "${jre_version}x" != "x" ; then + echo "${jre_version}0 ${JRE_DIR}" | awk '{printf("%s \t%s\n",$1,$2);}' >>/tmp/jre_${USER}_list.txt + chmod ug+w /tmp/jre_${USER}_list.txt >/dev/null 2>/dev/null; + fi + fi +done + +JRE_DIR= + +if test -f /tmp/jre_${USER}_list.txt ; then + + if test -f /tmp/jre_${USER}_sorted_list.txt ; then + rm /tmp/jre_${USER}_sorted_list.txt >/dev/null 2>/dev/null; + fi + + sort /tmp/jre_${USER}_list.txt >/tmp/jre_${USER}_sorted_list.txt + chmod ug+w /tmp/jre_${USER}_sorted_list.txt >/dev/null 2>/dev/null; + + tailcmd="tail -1" + + if tail -n 1 /tmp/tailtest.txt >/dev/null 2>/dev/null ; then + + if test -f /tmp/tailtest.txt ; then + rm /tmp/tailtest.txt >/dev/null 2>/dev/null; + fi + + cat >/tmp/tailtest.txt </dev/null 2>/dev/null; + fi + + if test -f /tmp/jre_${USER}_sorted_list.txt ; then + NEWEST_JRE=`${tailcmd} /tmp/jre_${USER}_sorted_list.txt | awk '{print($2);}'` + fi + + JRE_DIR=${NEWEST_JRE} + export JRE_DIR + +fi +# if test -f /tmp/jre_${USER}_list.txt + +if test "x${JRE_DIR}" != "x" ; then + echo "${JRE_DIR}" >/tmp/jre_${USER}_dir; + chmod ug+rw /tmp/jre_${USER}_dir >/dev/null 2>/dev/null; + chmod ug+rw /tmp/jre_${USER}_list.txt >/dev/null 2>/dev/null; + chmod ug+rw /tmp/jre_${USER}_sorted_list.txt >/dev/null 2>/dev/null; +fi + +if test "x${umask_orig}" != "x" ; then + umask "${umask_orig}"; +fi + +echo ${JRE_DIR} + diff --git a/etc/kill_with_timeout.sh b/etc/kill_with_timeout.sh new file mode 100755 index 0000000..3c686fe --- /dev/null +++ b/etc/kill_with_timeout.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +if test "x${DEBUG}" != "x" ; then + set -x; +fi + +#pwd +#echo $0 $* + +if test $# -lt 3 ; then + echo "Usage: program_to_kill times_to_wait wait_delay"; + exit 1; +fi + +target=${1} + +if test "x${4}" != "x" ; then + if test -f "${4}" ; then + pid=`grep "pid=" "${4}" | grep -v "ppid=" | head -n 1 | awk '{print $2}'`; + fi +fi + +if test "x${pid}" != "x" ; then + + if ps -p "${pid}" >/dev/null ; then + true; + else + if test "x${DEBUG}" = "x1" ; then + echo "kill_with_timeout target ${target} not running." + fi + exit 0; + fi + kill -INT "${pid}" + +else + + if ps -eo cmd | awk '{printf(" %s %s %s \n",$1,$2,$3);}' | grep -v grep | grep -v ssh | grep -v kill | grep -v stop | grep -iv screen | grep -v start | grep -v run | grep "${target} " >/dev/null ; then + true; + else + if test "x${DEBUG}" = "x1" ; then + echo "kill_with_timeout target ${target} not running." + fi + exit 0; + fi + killall -INT "${target}" +fi + + +max_tries=$2; +delay=$3; + +echo "Killing ${target} with -INT and then waiting ${max_tries} delays of ${delay} second before killing with -KILL". +#echo "Killing ${target} with -INT and then waiting ${max_tries} delays of ${delay} second before killing with -KILL". >&2 + + +tries=0 +if test "x${pid}" != "x" ; then + + while test ${tries} -lt ${max_tries} && ps -p "${pid}" >&2 ; do + let tries++; + ps -l "${pid}" + echo " -- waiting for $1 to die : ${tries} of ${max_tries} " + sleep ${delay}; + done + +else + + while test ${tries} -lt ${max_tries} && ps -eo cmd | awk '{printf(" %s %s %s \n",$1,$2,$3);}' | grep -v grep | grep -v emacs | grep -v ssh | grep -v kill | grep -v stop | grep -iv screen | grep -v start | grep -v run | grep "${target} " >&2 ; do + let tries++; + echo " -- waiting for $1 to die : ${tries} of ${max_tries} " + sleep ${delay}; + done +fi + +echo ""; + +if test "x${pid}" != "x" ; then + + if test ${tries} -ge ${max_tries} && ps -p "${pid}" >&2 ; then + + if test -f $1.running; then + ./attach_gdb.sh $1.running; + fi + + echo "${target} would not die after killall -INT ${target} and waiting ${tries} . resorting to killall -KILL ${target}"; + kill -KILL ${pid} + fi + +else + if test ${tries} -ge ${max_tries} && ps -eo cmd | awk '{printf(" %s %s %s \n",$1,$2,$3);}' | grep -v grep | grep -v emacs | grep -v ssh | grep -v kill | grep -v stop | grep -iv screen | grep -v start | grep -v run | grep "${target} " >&2 ; then + echo "${target} would not die after killall -INT ${target} and waiting ${tries} . resorting to killall -KILL ${target}"; + killall -w -KILL ${target} + fi +fi + +echo ""; diff --git a/etc/last_screen.sh b/etc/last_screen.sh new file mode 100755 index 0000000..b268017 --- /dev/null +++ b/etc/last_screen.sh @@ -0,0 +1,4 @@ +#!/bin/sh + + +screen -r `screen -ls $* | grep Detached | tail -n 1 | awk '{print $1}'`; diff --git a/etc/linux.def b/etc/linux.def new file mode 100644 index 0000000..2b98966 --- /dev/null +++ b/etc/linux.def @@ -0,0 +1,173 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = linux + +# The C compiler. +ifndef CC +CC = gcc +endif + +ifndef CXX +CXX = g++ +endif + +# The C++ compiler. +ifndef CPLUSPLUS +CPLUSPLUS = $(CXX) +endif +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEBUG_FLAG +DEBUG_FLAG = -g +endif +endif + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +ifdef NO_RTL +HAVE_RTLINUX:=NO +else +HAVE_RTLINUX:=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/havertlinux.sh )) +endif + +ifeq ($(HAVE_RTLINUX),YES) +HAVE_RTL_FLAG=-DHAVE_RTL +HAVE_RTL=1 + +#RT Linux header files are needed by the non-realtime linux apps sometimes +# primarily for mbuff and rtfifo definitions. +RTLINUX:=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/rtlinuxdir.sh) ) +RTINCLUDE=$(strip -I$(RTLINUX)/include ) +RTPOSIXINCLUDE=$(strip $(RTINCLUDE)/posix ) + +else +HAVE_RTL_FLAG=-DNO_RTL +NO_RTL=1 + +endif + +REAL_PLAT := $(shell $(RCSLIB_MAIN_DIR)/etc/realplat.sh $(PLAT) $(RCSLIB_MAIN_DIR) ) + +REAL_RCSPLAT := $(shell cd $(RCSLIB_MAIN_DIR)/plat/$(REAL_PLAT); pwd ) + + +SEARCH_PATH_FLAG = -Xlinker -rpath -Xlinker +RCS_LIB_SEARCH_PATH= $(REAL_RCSPLAT)/lib \ + $(SEARCH_PATH_FLAG) $(RCS_PLATLIB) + + +XML_INC= +XML_LINK= + +ifdef USE_LIBXML2 +XML_INC = -I/usr/include/libxml2 -DUSE_LIBXML2 +XML_LINK = -lxml2 +endif + +ifdef USE_XML +OPT_XML_INC=$(XML_INC) -DUSE_XML +OPT_XML_LINK=$(XML_LINK) +endif + + +ifndef NO_PIC +PIC_FLAG=-fPIC +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(PIC_FLAG) $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -Dlinux -DHAVE_LIBDL -DHAVE_TCL_EXTEND -DLINUX_KERNEL_2_2 -fstrict-aliasing $(HAVE_RTL_FLAG) $(OPT_XML_INC) -DHAVE_FSYNC -DHAVE_SNPRINTF + +CLINK = -ldl -lrt -lpthread $(OPT_XML_LINK) +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) -DNO_IOSTREAM +CPLUSPLUSLINK = $(CLINK) + +# Flags for compiling and linking X Windows apps +XINC = -I/usr/include +XLINK = -L/usr/X11/lib -L/usr/X11R6/lib -lXaw + +# Flags for compiling and linking Tcl apps +TCL_INC=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/tcltkincflags.sh)) +TCL_LINK=$(shell $(RCSLIB_MAIN_DIR)/etc/tcltklibflags.sh ) +TK_LINK= + + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +#MAKEDEPEND = /usr/X11R6/bin/makedepend +USE_GPP_M=1 + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -shared +DYNAMIC_LIB_BUILD_TOOL=gcc + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +JDK_DIR=/usr/local/jdk + + +printenv_linuxdef_commands: + $(IGNORE_MARK)$(ECHO_MARK)echo HAVE_RTLINUX=$(HAVE_RTLINUX) + $(IGNORE_MARK)$(ECHO_MARK)echo NO_RTL=$(NO_RTL) + $(IGNORE_MARK)$(ECHO_MARK)echo HAVE_RTL_FLAG=$(HAVE_RTL_FLAG) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_PLAT=$(REAL_PLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_RCSPLAT=$(REAL_RCSPLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo RTLINUX=$(RTLINUX) + $(IGNORE_MARK)$(ECHO_MARK)echo RTINCLUDE=$(RTINCLUDE) + $(IGNORE_MARK)$(ECHO_MARK)echo RTPOSIXINCLUDE=$(RTPOSIXINCLUDE) + +printenv : printenv_linuxdef_commands + +.PHONY: printenv_linuxdef_commands + + + + + + + + + + + diff --git a/etc/linux_3_13_0_24_generic.def b/etc/linux_3_13_0_24_generic.def new file mode 120000 index 0000000..8edb637 --- /dev/null +++ b/etc/linux_3_13_0_24_generic.def @@ -0,0 +1 @@ +linux_3_13_0_24_generic_x86_64_glibc_2_19_gcc___.def \ No newline at end of file diff --git a/etc/linux_3_2_0_39_generic.def b/etc/linux_3_2_0_39_generic.def new file mode 120000 index 0000000..7be9952 --- /dev/null +++ b/etc/linux_3_2_0_39_generic.def @@ -0,0 +1 @@ +linux_3_2_0_39_generic_x86_64_glibc_2_15_gcc___.def \ No newline at end of file diff --git a/etc/linux_3_2_0_40_generic.def b/etc/linux_3_2_0_40_generic.def new file mode 120000 index 0000000..eea46f7 --- /dev/null +++ b/etc/linux_3_2_0_40_generic.def @@ -0,0 +1 @@ +linux_3_2_0_40_generic_x86_64_glibc_2_15_gcc___.def \ No newline at end of file diff --git a/etc/linux_3_2_0_53_generic.def b/etc/linux_3_2_0_53_generic.def new file mode 120000 index 0000000..b6077c8 --- /dev/null +++ b/etc/linux_3_2_0_53_generic.def @@ -0,0 +1 @@ +linux_3_2_0_53_generic_x86_64_glibc_2_15_gcc___.def \ No newline at end of file diff --git a/etc/linux_rtai.def b/etc/linux_rtai.def new file mode 100644 index 0000000..9b90fb2 --- /dev/null +++ b/etc/linux_rtai.def @@ -0,0 +1,137 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = linux + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + +# The C compiler. +ifndef CC +CC = gcc +endif + +ifndef CXX +CXX = g++ +endif + +# The C++ compiler. +ifndef CPLUSPLUS +CPLUSPLUS = $(CXX) +endif +CPLUSPLUS_EXTENSION = cc + +KERNEL_DIR:=$(shell $(RCSLIB_MAIN_DIR)/etc/linuxkerneldir) + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + +NO_RTL=1 + +#RT Linux header files are needed by the non-realtime linux apps sometimes +# primarily for mbuff and rtfifo definitions. +RTAI_DIR := $(shell $(RCSLIB_MAIN_DIR)/etc/rtaidir ) + +RTAI_INCLUDE = -I$(RTAI_DIR)/include + + +SEARCH_PATH_FLAG = -Xlinker -rpath -Xlinker + +RCS_LIB_SEARCH_PATH=$(RCS_PLATLIB) + +XML_INC= +XML_LINK= + +ifdef USE_LIBXML2 +XML_INC = -I/usr/include/libxml2 -DUSE_LIBXML2 +XML_LINK = -lxml2 +endif + +ifdef USE_XML +OPT_XML_INC=$(XML_INC) -DUSE_XML +OPT_XML_LINK=$(XML_LINK) +endif + +ifdef DEBUG_MEMORY +DEBUG_MEMORY_FLAG=-DDEBUG_MEMORY +endif + + +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -I$(KERNEL_DIR)/include -D$(PLAT) -DPLATNAME=\"$(PLAT)\" $(RTAI_INCLUDE) -Dlinux -DHAVE_LIBDL -DLINUX_KERNEL_2_4 -fstrict-aliasing -DNO_RTL -DHAVE_RTAI $(OPT_XML_INC) $(DEBUG_MEMORY_FLAG) -DHAVE_FSYNC + +ifdef DEBUG_LINKING +CLINK = -Xlinker --verbose --Xlinker -ldl -lrt -lpthread $(OPT_XML_LINK) +else +CLINK = -ldl -lrt -lpthread $(OPT_XML_LINK) +endif + +ifndef CPLUSPLUSLINK +CPLUSPLUSLINK=$(CLINK) +endif + + +# Flags for compiling and linking X Windows apps +XINC = -I/usr/include +XLINK = -L/usr/X11/lib -L/usr/X11R6/lib -lXaw + +# Flags for compiling and linking Tcl apps +TCL_INC=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/tcltkincflags.sh)) +TCL_LINK=$(shell $(RCSLIB_MAIN_DIR)/etc/tcltklibflags.sh ) +TK_LINK= + + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -shared +DYNAMIC_LIB_BUILD_TOOL=gcc + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + + + + + + + + diff --git a/etc/linux_rtl.def b/etc/linux_rtl.def new file mode 100644 index 0000000..ef12791 --- /dev/null +++ b/etc/linux_rtl.def @@ -0,0 +1,165 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = linux + +# The C compiler. +ifndef CC +CC = gcc +endif + +ifndef CXX +CXX = g++ +endif + +# The C++ compiler. +ifndef CPLUSPLUS +CPLUSPLUS = $(CXX) +endif + +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + + + +ifdef NO_RTL +HAVE_RTLINUX:=NO +else +HAVE_RTLINUX:=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/havertlinux.sh )) +endif + +ifeq ($(HAVE_RTLINUX),YES) +HAVE_RTL_FLAG=-DHAVE_RTL +HAVE_RTL=1 + +#RT Linux header files are needed by the non-realtime linux apps sometimes +# primarily for mbuff and rtfifo definitions. +RTLINUX:=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/rtlinuxdir.sh) ) +RTINCLUDE=$(strip -I$(RTLINUX)/include ) +RTPOSIXINCLUDE=$(strip $(RTINCLUDE)/posix ) + +else +HAVE_RTL_FLAG=-DNO_RTL +NO_RTL=1 + +endif + +REAL_PLAT := $(shell $(RCSLIB_MAIN_DIR)/etc/realplat.sh $(PLAT) $(RCSLIB_MAIN_DIR) ) + +REAL_RCSPLAT := $(shell cd $(RCSLIB_MAIN_DIR)/plat/$(REAL_PLAT); pwd ) + + +SEARCH_PATH_FLAG = -Xlinker -rpath -Xlinker +RCS_LIB_SEARCH_PATH= $(REAL_RCSPLAT)/lib \ + $(SEARCH_PATH_FLAG) $(RCS_PLATLIB) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/proj/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/isd/proj/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/usr/local/nist/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/usr/local/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/opt/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/usr/share/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/usr/local/share/rcslib,$(RCS_PLATLIB)) \ + $(SEARCH_PATH_FLAG) $(subst $(RCSLIB_MAIN_DIR),/rcslib,$(RCS_PLATLIB)) \ + + +XML_INC= +XML_LINK= + +ifdef USE_LIBXML2 +XML_INC = -I/usr/include/libxml2 -DUSE_LIBXML2 +XML_LINK = -lxml2 +endif + +ifdef USE_XML +OPT_XML_INC=$(XML_INC) -DUSE_XML +OPT_XML_LINK=$(XML_LINK) +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DLINUX -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -D__RT__ -L/usr/lib $(RTINCLUDE) -Dlinux -DHAVE_LIBDL -DHAVE_TCL_EXTEND -DLINUX_KERNEL_2_2 -fstrict-aliasing $(HAVE_RTL_FLAG) $(OPT_XML_INC) -DHAVE_FSYNC + +CLINK = -ldl -lpthread -lrt $(OPT_XML_LINK) +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# Flags for compiling and linking X Windows apps +XINC = -I/usr/include +XLINK = -L/usr/X11/lib -L/usr/X11R6/lib -lXaw + +# Flags for compiling and linking Tcl apps +TCL_INC=$(strip $(shell $(RCSLIB_MAIN_DIR)/etc/tcltkincflags.sh)) +TCL_LINK=$(shell $(RCSLIB_MAIN_DIR)/etc/tcltklibflags.sh ) +TK_LINK = + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +#MAKEDEPEND = /usr/X11R6/bin/makedepend +USE_GPP_M=1 + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -shared +DYNAMIC_LIB_BUILD_TOOL=gcc + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +JDK_DIR=/usr/local/jdk + + +printenv_linuxdef_commands: + $(IGNORE_MARK)$(ECHO_MARK)echo HAVE_RTLINUX=$(HAVE_RTLINUX) + $(IGNORE_MARK)$(ECHO_MARK)echo NO_RTL=$(NO_RTL) + $(IGNORE_MARK)$(ECHO_MARK)echo HAVE_RTL_FLAG=$(HAVE_RTL_FLAG) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_PLAT=$(REAL_PLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo REAL_RCSPLAT=$(REAL_RCSPLAT) + $(IGNORE_MARK)$(ECHO_MARK)echo RTLINUX=$(RTLINUX) + $(IGNORE_MARK)$(ECHO_MARK)echo RTINCLUDE=$(RTINCLUDE) + $(IGNORE_MARK)$(ECHO_MARK)echo RTPOSIXINCLUDE=$(RTPOSIXINCLUDE) + + + +printenv : printenv_linuxdef_commands + +.PHONY: printenv_linuxdef_commands + + diff --git a/etc/linuxdir b/etc/linuxdir new file mode 100755 index 0000000..affe6fd --- /dev/null +++ b/etc/linuxdir @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "/usr/src/linux-2.4.20" diff --git a/etc/linuxkerneldir b/etc/linuxkerneldir new file mode 100755 index 0000000..fe4aec7 --- /dev/null +++ b/etc/linuxkerneldir @@ -0,0 +1,114 @@ +#!/bin/bash + + +if test "x${KERNEL_SOURCE_DIR}" != "x" ; then + echo ${KERNEL_SOURCE_DIR}; + exit 0; +fi + +FULL_UNAME=`uname -a | sed 'y# #_#' | sed 'y#/#_#' | sed 'y#-#_#' | sed 'y#:#_#' 2>/dev/null`_${CC} 2>/dev/null + +if test "x${FULL_UNAME}" != "x" ; then + if test -f ~/.kernel_source_dir.${FULL_UNAME} ; then + KERNEL_SOURCE_DIR=`head -n 1 ~/.kernel_source_dir.${FULL_UNAME} 2>/dev/null` 2>/dev/null + export KERNEL_SOURCE_DIR; + fi +fi + +if test "x${KERNEL_SOURCE_DIR}" != "x" ; then + echo ${KERNEL_SOURCE_DIR} + exit 0 +fi + +if test ! -f .kernel_src_dir_guess_warn -a ! -f ~/.kernel_src_dir_guess_warn ; then + echo "Trying to guess Linux Kernel source directory." 1>&2 + echo "Set the environment variable KERNEL_SOURCE_DIR to override this." 1>&2 + touch .kernel_src_dir_guess_warn >/dev/null 2>/dev/null + touch ~/.kernel_src_dir_guess_warn >/dev/null 2>/dev/null +fi + + +\rm -f /tmp/linktest* >/dev/null 2>/dev/null + + ( cd /tmp ; touch linktestfile$$ ; ln -s linktestfile$$ linktestfile$$.link ); >/dev/null 2>/dev/null + +#ls -l /tmp/link* + +if test -h /tmp/linktestfile$$.link -a '!' -h /tmp/linktestfile$$ ; then + LINK_FLAG=-h; +else + LINK_FLAG=-L; +fi + +\rm -f /tmp/linktest* >/dev/null 2>/dev/null + +if test ${LINK_FLAG} /usr/src/linux ; then + KERNEL_SOURCE_DIR=/usr/src/linux + export KERNEL_SOURCE_DIR + if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.kernel_source_dir.* 2>/dev/null ; + echo ${KERNEL_SOURCE_DIR} > ~/.kernel_source_dir.${FULL_UNAME} 2>/dev/null ; + fi + echo ${KERNEL_SOURCE_DIR} + exit 0 +fi + +verfiles= +rev=`uname -r` + +function search_list { + + for i in $verfiles ; do + if [ ! -f $i ] ; then + continue; + fi + if grep UTS_RELEASE $i >/dev/null 2>/dev/null ; then + irev=`grep UTS_RELEASE $i | gawk '{print $3}' | sed 's.[" ]..g'` + if [ ${#irev} -gt 0 ] ; then + if [ "$irev" = "$rev" ] ; then + export KERNEL_SOURCE_DIR=`echo $i | sed s%/include/linux/version.h%%` + if test ! -f ~/.kernel_source_dir_printed ; then + echo "KERNEL_SOURCE_DIR=${KERNEL_SOURCE_DIR}" 1>&2 + touch ~/.kernel_source_dir_printed + fi + echo $KERNEL_SOURCE_DIR + if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.kernel_source_dir.* 2>/dev/null >/dev/null ; + echo ${KERNEL_SOURCE_DIR} > ~/.kernel_source_dir.${FULL_UNAME} 2>/dev/null ; + fi + + exit 0 + fi + fi + fi + + done + +} + +# try locate first it is ussually faster +if [ -x `which locate 2>/dev/null` ] ; then + verfiles=`locate '/usr/src/*/include/linux/version.h'` + + rev=`uname -r` + search_list +fi + + +# Locate doesn't exist or +verfiles=`find /usr/src/ -name version.h 2>/dev/null` +search_list + +KERNEL_SOURCE_DIR=/usr/src/linux +echo "Could not find Linux kernel source directory, trying ${KERNEL_SOURCE_DIR} anyway" 1>&2 + + +if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.kernel_source_dir.* 2>/dev/null >/dev/null ; +fi + +echo ${KERNEL_SOURCE_DIR} + + +exit -1 + diff --git a/etc/linuxppc.def b/etc/linuxppc.def new file mode 100644 index 0000000..d71685a --- /dev/null +++ b/etc/linuxppc.def @@ -0,0 +1,69 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = linux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) -DLINUX -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -D__RT__ +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# Flags for compiling and linking X Windows apps +XINC = -I/usr/include +XLINK = -L/usr/X11/lib -lXaw + +# Flags for compiling and linking Tcl apps +TCL_INC = +TCL_LINK = -ltclx -ltcl -ldl + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -dy -G + + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + + diff --git a/etc/makePlatWin32.sh b/etc/makePlatWin32.sh new file mode 100755 index 0000000..6deea86 --- /dev/null +++ b/etc/makePlatWin32.sh @@ -0,0 +1,48 @@ +#! /bin/sh + +# This script was contributed by Rashmi Patel, of GDRS +# it should be used with the project/workspace files +# under etc/winvnet and Microsoft Visual C++ .net +# for older Visual Studio C++ 6.0 see cc_to_cpp.sh + +set -x; + +if test '!' -d plat; then + mkdir plat; +fi + +if test '!' -d plat/win32; then + mkdir plat/win32; +fi + +if test '!' -d plat/win32/include; then + mkdir plat/win32/include; +fi + +if test '!' -d plat/win32/src; then + mkdir plat/win32/src; +fi + +if test '!' -d plat/win32/lib; then + mkdir plat/win32/lib; +fi + +cc_list=`find src -name \*.cc`; + +for cc_file in ${cc_list} ; do + fname=${cc_file##*/} + base=${fname%%.cc} + cp -f ${cc_file} plat/win32/src/${cc_file}; +done + +c_list=$(find src -name \*.c) +cp -f ${c_list} plat/win32/src + +h_list=$(find src -name \*.h) +cp -f ${h_list} plat/win32/include + +hh_list=$(find src -name \*.hh) +cp -f ${hh_list} plat/win32/include + + + diff --git a/etc/mingw32.def b/etc/mingw32.def new file mode 100644 index 0000000..4f30cb7 --- /dev/null +++ b/etc/mingw32.def @@ -0,0 +1,186 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = mingw32 + + +ifneq (,$(MINGW32_DIR)) +MINGW32_INCLUDE=-I$(MINGW32_DIR)/include +MINGW32_BIN:=$(shell if test -d $(MINGW32_DIR)/bin/ ; then echo $(MINGW32_DIR)/bin/ ; fi) +MINGW32_LINK_FLAG=-L$(MINGW32_DIR)/lib +MINGW32_GCC_PREFIX_FLAG:=$(shell \ + if test -d $(MINGW32_DIR)/lib/gcc-lib ; then \ + echo -B$(MINGW32_BIN) -B$(MINGW32_DIR)/lib/gcc-lib ; \ + elif cd $(MINGW32_DIR) && cd .. && test -d ./lib/gcc-lib ; then \ + echo -B$(MINGW32_BIN) -B`cd $(MINGW32_DIR) && cd .. && pwd`/lib/gcc-lib/ ; \ + fi ) +endif + + + + +# The C compiler. +ifdef CC +CC_ORIG:=$(CC) +else +CC_ORIG:=gcc +endif + +CC:=$(shell \ + if $(MINGW32_BIN)mingw32-gcc --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-gcc ; \ + elif mingw32-gcc --version >/dev/null 2>/dev/null; \ + then echo mingw32-gcc ; \ + elif $(MINGW32_BIN)$(CC_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(CC_ORIG) ; \ + else echo $(CC_ORIG) ; \ + fi ) + + +# The C++ compiler. +ifdef CXX +CXX_ORIG:=$(CXX) +else +CXX_ORIG:=g++ +endif + +CXX:=$(shell \ + if $(MINGW32_BIN)mingw32-g++ --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-g++ ; \ + elif mingw32-g++ --version >/dev/null 2>/dev/null; \ + then echo mingw32-g++ ; \ + elif $(MINGW32_BIN)$(CXX_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(CXX_ORIG) ; \ + else echo $(CXX_ORIG) ; \ + fi ) + + +CPLUSPLUS:=$(CXX) +CPLUSPLUS_EXTENSION = cc + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + + +EXE_EXT=.exe + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -D$(PLAT) -DPLATNAME=\"$(PLAT)\" $(MINGW32_INCLUDE) $(MINGW32_GCC_PREFIX_FLAG) -DNO_VSNPRINTF -DHAVE__VSNPRINTF -DNO_SNPRINTF -DHAVE__SNPRINTF -DNO_DCE_RPC -DMULTITHREADED -DUSE_XML +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) $(MINGW32_LINK_FLAG) -lws2_32 + + + + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +#MAKEDEPEND = /usr/X11R6/bin/makedepend +USE_GPP_M=1 + +# The library archiver and ranlib programs. +ifdef AR +AR_ORIG:=$(AR) +else +AR_ORIG:=ar +endif + +AR:=$(shell \ + if $(MINGW32_BIN)mingw32-ar --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-ar ; \ + elif mingw32-ar --version >/dev/null 2>/dev/null; \ + then echo mingw32-ar ; \ + elif $(MINGW32_BIN)$(AR_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(AR_ORIG) ; \ + else echo $(AR_ORIG) ; \ + fi ) + +ifdef RANLIB +RANLIB_ORIG:=$(RANLIB) +else +RANLIB_ORIG:=ranlib +endif + +RANLIB:=$(shell \ + if $(MINGW32_BIN)mingw32-ranlib --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-ranlib ; \ + elif mingw32-ranlib --version >/dev/null 2>/dev/null; \ + then echo mingw32-ranlib ; \ + elif $(MINGW32_BIN)$(RANLIB_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(RANLIB_ORIG) ; \ + else echo $(RANLIB_ORIG) ; \ + fi ) + +# The assembler. +ifdef AS +AS_ORIG:=$(AS) +else +AS_ORIG:=as +endif + +AS:=$(shell \ + if $(MINGW32_BIN)mingw32-as --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-as ; \ + elif mingw32-as --version >/dev/null 2>/dev/null; \ + then echo mingw32-as ; \ + elif $(MINGW32_BIN)$(AS_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(AS_ORIG) ; \ + else echo $(AS_ORIG) ; \ + fi ) + +ifdef LD +LD_ORIG:=$(LD) +else +LD_ORIG:=ld +endif + +LD:=$(shell \ + if $(MINGW32_BIN)mingw32-ld --version >/dev/null 2>/dev/null ; \ + then echo $(MINGW32_BIN)mingw32-ld ; \ + elif mingw32-ld --version >/dev/null 2>/dev/null; \ + then echo mingw32-ld ; \ + elif $(MINGW32_BIN)$(LD_ORIG) --version >/dev/null 2>/dev/null; \ + then echo $(MINGW32_BIN)$(LD_ORIG) ; \ + else echo $(LD_ORIG) ; \ + fi ) + + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +#DYNAMIC_LINK_FLAG = -shared +#DYNAMIC_LIB_BUILD_TOOL=gcc + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = rcs.lib +# STRIP = mingw32-strip +STRIP=echo + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +all: make_dirs + + + + + + + diff --git a/etc/multiplatbuild.sh b/etc/multiplatbuild.sh new file mode 100755 index 0000000..33db75b --- /dev/null +++ b/etc/multiplatbuild.sh @@ -0,0 +1,1475 @@ +#!/bin/sh + +if test "x${DEBUG}" != x ; then + set -x +fi + +( \rm -rf ~/.tmp/*;\rm -rf /tmp/mpb_*; \rm -rf /tmp/tni_*; \rm -rf /dev/shm/mpb_* ; \rm -rf /dev/shm/tni_*; \rm -f /tmp/nml_codegen_auto_*.gen; \rm -f /tmp/jdk_*.txt; ) >/dev/null 2>/dev/null + +unalias ls >/dev/null 2>/dev/null +unalias rm >/dev/null 2>/dev/null +unalias mv >/dev/null 2>/dev/null +unalias cp >/dev/null 2>/dev/null +unalias cat >/dev/null 2>/dev/null +unalias cd >/dev/null 2>/dev/null + +if test "x${PLAT}" != "x" ; then + PLAT1=${PLAT} +fi + +if test "x${HOME}" = "x" ; then + HOME=~ +fi + + +CXXFLAGS="${CXXFLAGS} ${RCSLIB_CXXFLAGS} " +if test -f ${HOME}/.rcslib_cxxflags ; then + for f in `cat ${HOME}/.rcslib_cxxflags`; do + CXXFLAGS="${CXXFLAGS} ${f}"; + done +fi + + +CFLAGS="${CFLAGS} ${RCSLIB_CFLAGS} " +if test -f ${HOME}/.rcslib_cflags ; then + for f in `cat ${HOME}/.rcslib_cflags`; do + CFLAGS="${CFLAGS} ${f}"; + done +fi + +echo "CXXFLAGS=${CXXFLAGS}" +echo "CFLAGS=${CFLAGS}" + +my_home=${HOME} + +uname_s=`uname -s`; + +if test "${CC}x" = "x" -o "x${CC}" = "xgcc" ; then + case $UNAME_M in + i686) CPUFLAGS="-march=i686";; + i586) CPUFLAGS="-march=i586";; + esac + + if test "x${CPUFLAGS}" != "x" ; then + if echo "x${CFLAGS}" | grep -v "mcpu" >/dev/null 2>/dev/null ; then + CFLAGS="${CFLAGS} ${CPUFLAGS}"; + fi + if echo "x${CXXFLAGS}" | grep -v "mcpu" >/dev/null 2>/dev/null ; then + CXXFLAGS="${CXXFLAGS} ${CPUFLAGS}"; + fi + fi + + if test "x${NO_WALL_FLAG}" = "x" ; then + + echo "x${CFLAGS}x" | grep "Wall" > /dev/null ; + if test "x$?" != "x0" ; then + CFLAGS="${CFLAGS} -Wall"; + export CFLAGS; + fi + + echo "x${CXXFLAGS}x" | grep "Wall" > /dev/null ; + if test "x$?" != "x0" ; then + CXXFLAGS="${CXXFLAGS} -Wall"; + export CXXFLAGS; + fi + fi + + if test "x${NO_WERROR_FLAG}" = "x" -a "x${uname_s}" = "xLinux" -a "x${USER}" = "xshackle" ; then + + echo "x${CFLAGS}x" | grep "Werror" > /dev/null ; + if test "x$?" != "x0" ; then + CFLAGS="${CFLAGS} -Werror"; + export CFLAGS; + fi + + echo "x${CXXFLAGS}x" | grep "Werror" > /dev/null ; + if test "x$?" != "x0" ; then + CXXFLAGS="${CXXFLAGS} -Werror"; + export CXXFLAGS; + fi + fi + if test "x${NO_DEBUG_FLAG}" = "x" -a "x${uname_s}" = "xLinux" -a "x${USER}" = "xshackle" ; then + + echo "x${CFLAGS}x" | grep "g" > /dev/null ; + if test "x$?" != "x0" ; then + CFLAGS="${CFLAGS} -g"; + export CFLAGS; + fi + + echo "x${CXXFLAGS}x" | grep "g" > /dev/null ; + if test "x$?" != "x0" ; then + CXXFLAGS="${CXXFLAGS} -g"; + export CXXFLAGS; + fi + fi +fi + + +echo "CXXFLAGS=${CXXFLAGS}"; +echo "CFLAGS=${CFLAGS}"; + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/mpb_$$ && touch /tmp/mpb_$$/.touch_$$ && temp_dir="/tmp/mpb_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/mpb_$$ && touch ${HOME}/.tmp/mpb_$$/.touch_$$ && temp_dir="${HOME}/.tmp/mpb_$$"; +fi + +if test \! -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +echo temp_dir=${temp_dir} + +startdir=`pwd` + +test_cmd=test + +( touch ${HOME}/testot1.tst ) >/dev/null 2>/dev/null +sleep 1 +( touch ${HOME}/testot2.tst ) >/dev/null 2>/dev/null + +if ( /bin/test ${HOME}/testot1.tst -ot ${HOME}/testot2.tst ) >/dev/null 2>/dev/null ; then + if ( test ${HOME}/testot1.tst -ot ${HOME}/testot2.tst ) >/dev/null 2>/dev/null ; then + test_cmd=test + else + test_cmd=/bin/test + fi +fi + +( \rm -f ${HOME}/testot1.tst ) >/dev/null 2>/dev/null +( \rm -f ${HOME}/testot2.tst ) >/dev/null 2>/dev/null + +#echo ${test_cmd} + +if ${test_cmd} \! -d ${temp_dir} ; then + mkdir ${temp_dir}; +fi + +if ${test_cmd} "x${rcsdir}" = "x" ; then + + progdir=`echo $0 | sed 's#/multiplatbuild.sh##' | sed 's#multiplatbuild.sh##'` + if ${test_cmd} "x${progdir}" != "x" ; then + if ( cd ${progdir} && cd .. && ${test_cmd} -f src/rcs.hh ) ; then + cd ${progdir} + cd .. + rcsdir=`pwd` + fi + fi + +fi + +if ${test_cmd} "x${rcsdir}" = "x" ; then + + if ${test_cmd} -f src/rcs.hh ; then + rcsdir=`pwd` + elif ${test_cmd} -f ../src/rcs.hh ; then + rcsdir=`cd ..; pwd` + elif ${test_cmd} -f ../../src/rcs.hh ; then + rcsdir=`cd ../..; pwd` + elif ${test_cmd} -f ../../../src/rcs.hh ; then + rcsdir=`cd ../../.. ; pwd` + elif ${test_cmd} -f ../../../../src/rcs.hh ; then + rcsdir=`cd ../../../.. ; pwd` + fi +fi + +if ${test_cmd} "x${rcsdir}" = "x" ; then + echo "Can not determine rcsdir." >&2 + exit 1 +fi + +if test -f "${rcsdir}/lastconfig/make.log" ; then + \rm -f "${rcsdir}/lastconfig/make.log"; +fi + +make_log="${temp_dir}/make_${pid}.log"; + +if test -d "${rcsdir}/lastconfig/" -a -w "${rcsdir}/lastconfig/" ; then + make_log="${rcsdir}/lastconfig/make.log"; +fi + + + +( \rm -f ${rcsdir}/src/rcs_svn_vers.hh.* ) >/dev/null 2>/dev/null; +( \rm -f ${rcsdir}/src/java/rcs/RCS_VERSION.java.r* ) >/dev/null 2>/dev/null; +( \rm -f ${rcsdir}/src/java/rcs/RCS_VERSION.java.mine ) >/dev/null 2>/dev/null; +( \rm -f ${rcsdir}/src/java/rcs/RCS_VERSION.java.[0-9]* ) >/dev/null 2>/dev/null; + + +which svnversion +if test "x$?" = "x0" -a -w ${rcsdir}/src/rcsvers.c -a -f ${rcsdir}/src/rcsvers.c -a -d ${rcsdir}/.svn -a -f ~/.DO_RCSLIB_SVN_CHECK ; then + ( cd ${rcsdir} ; \ + svn_n=`svnversion -n .`; \ + svn_ns=`svnversion -n . | sed 's#:.*##' | sed s#M##`; \ + last_svn_n=`cat ${rcsdir}/.last_rcs_svn | sed 's#:.*##' | sed s#M##`; \ + echo "last_svn_n=${last_svn_n} svn_n=${svn_n} svn_ns=${svn_ns}"; \ + if test "x${svn_ns}" != "x${last_svn_n}" -o \! -f ${rcsdir}/src/rcs_svn_vers.hh; then \ + if test "x${SSH_AGENT_PID}" != "x" -a "x${SSH_AUTH_SOCK}" != "x" ; then \ + svn propset svn_n "${svn_n}" "${rcsdir}/src/rcs.hh"; \ + svn propset svn_n "${svn_n}" "${rcsdir}/src/rcs_svn_vers.hh"; \ + svn propset svn_n "${svn_n}" "${rcsdir}/src/rcs/RCS_VERSION.java"; \ + svn propset svn_n "${svn_n}" "${rcsdir}/src/rcs/RCS_VERSION.java.perm" "${rcsdir}/src/rcs_svn_vers.hh" "${rcsdir}/src/rcs/RCS_VERSION.java" "${rcsdir}/src/rcs/RCS_VERSION.java.perm" ; \ + svn ci -m "change svn_n prop to ${svn_n}" "${rcsdir}/src/rcs.hh"; \ + fi ; \ + echo "${svn_n}" > "${rcsdir}/.last_rcs_svn"; \ + ##mv ${rcsdir}/src/rcsvers.c /tmp; \ + ##cat /tmp/rcsvers.c | sed "s/#define RCS_SVN_VERS.*/#define RCS_SVN_VERS \"SVN_VER=${svn_n}\"/" > src/rcsvers.c; \ + ##echo "#define RCS_SVN_VERS \"SVN_VER=${svn_n}\"" >src/rcs_svn_vers.hh; \ + \rm -f "${rcsdir}/.lastbuild/rcsvers.lo"; \ + \rm -f "${rcsdir}/.lastbuild/rcsvers.o"; \ + \rm -f "${rcsdir}/.lastbuild/.libs/rcsvers.o"; \ + \rm -f "${rcsdir}/.lastbuild/src/rcsvers.c"; \ + \rm -f "${rcsdir}/src/rcs_svn_vers.hh.r*"; \ + \rm -f "${rcsdir}/src/rcs_svn_vers.hh.R*"; \ + \rm -f "${rcsdir}/src/rcs_svn_vers.hh.mine"; \ + \rm -f "${rcsdir}/src/java/rcs/RCS_VERSION.java.r*"; \ + \rm -f "${rcsdir}/src/java/rcs/RCS_VERSION.java.R*"; \ + \rm -f "${rcsdir}/src/java/rcs/RCS_VERSION.java.mine"; \ + fi; \ + ) +fi + +find ${rcsdir}/src/ -name rcs\*ver\*.r[0-9][0-9][0-9] -exec \rm -f \{\} \; ; +find ${rcsdir}/src/ -name rcs\*ver\*.mine -exec \rm -f \{\} \; ; +find ${rcsdir}/src/test -name nml_test_format\*.r[0-9][0-9][0-9] -exec \rm -f \{\} \; ; +find ${rcsdir}/src/test -name nml_test_format\*.mine -exec \rm -f \{\} \; ; +find ${rcsdir}/src/test -name otherheader\*.r[0-9][0-9][0-9] -exec \rm -f \{\} \; ; +find ${rcsdir}/src/test -name otherheader\*.mine -exec \rm -f \{\} \; ; + + +if ${test_cmd} -f ${HOME}/tailtest.txt ; then + \rm -f ${HOME}/tailtest.txt >/dev/null 2>/dev/null; +fi + +cat >${HOME}/tailtest.txt </dev/null 2>/dev/null ; then + if ${test_cmd} 3 = `cat ${HOME}/tailtest.txt | tail -n 1 2>/dev/null` ; then + TAIL1='tail -n 1' + fi + fi +fi + +if ${test_cmd} "x${TAIL1}" = "x" ; then + if cat ${HOME}/tailtest.txt | tail -1 >/dev/null 2>/dev/null ; then + if ${test_cmd} 3 = `cat ${HOME}/tailtest.txt | tail -1 2>/dev/null` ; then + TAIL1='tail -1' + fi + fi +fi + +if ${test_cmd} "x${TAIL1}" = "x" ; then + TAIL1='tail -n 1' +fi + +if ${test_cmd} -f ${HOME}/tailtest.txt ; then + \rm -f ${HOME}/tailtest.txt >/dev/null 2>/dev/null; +fi + +if ${test_cmd} "x${CC}" = "x" ; then + if ( qcc -v ) >/dev/null 2>/dev/null ; then + CC=qcc; + elif ( gcc -v ) >/dev/null 2>/dev/null ; then + CC=gcc; + elif ( /usr/bin/gcc -v ) >/dev/null 2>/dev/null ; then + CC=/usr/bin/gcc; + elif ( cc -v ) >/dev/null 2>/dev/null ; then + CC=cc; + fi +fi + +if ${test_cmd} "x${CC_V_CMD}" = "x" ; then + if ${CC} -v 2>/dev/null >/dev/null ; then + CC_V_CMD="${CC} -v"; + fi +fi + +if ${test_cmd} "x${CC_V_CMD}" = "x" ; then + if ${CC} --version 2>/dev/null >/dev/null ; then + CC_V_CMD="${CC} --version"; + fi +fi + +if ${test_cmd} "x${CC_V_CMD}" = "x" ; then + if ${CC} -V 2>/dev/null >/dev/null ; then + CC_V_CMD="${CC} -V"; + fi +fi + +if ${test_cmd} "x${CC_V_CMD}" = "x" ; then + if ${CC} -V 2>&1 | grep -i version >/dev/null ; then + CC_V_CMD="${CC} -V"; + fi +fi + +if ${test_cmd} "x${CC_V_CMD}" = "x" ; then + CC_V=`echo ${CC} | ${TAIL1}` +else + if ${CC_V_CMD} 2>&1 | grep -i version >/dev/null 2>/dev/null ; then + CC_V=`${CC_V_CMD} 2>&1 | grep -i version | grep -v "GNU ld version" | ${TAIL1}` + else + CC_V=`${CC_V_CMD} 2>&1 | ${TAIL1}` + fi +fi + +CC_NAME=`echo ${CC}_${CC_V} | sed 'y#., ()-:;/!?|*&<>{}#__________________#' | sed 'y|#|_|' | sed 's#gcc_gcc#gcc#g' | sed 's#${CC}_${CC}#${CC}#g' | awk '{printf("%.50s",$1);}' ` +echo "CC_NAME=${CC_NAME}" + +UNAME_S=`uname -s | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|' | awk '{printf("%.30s",$1);}'` +UNAME_R=`uname -r | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|' | awk '{printf("%.30s",$1);}'` +UNAME_M=`uname -m | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|' | awk '{printf("%.30s",$1);}'` + +CPUFLAGS= + + +host_arg_found=no; +disable_java_arg= +for arg in $* ; do + if ${test_cmd} "x${host_arg_found}" = "xyes" ; then + host_arg=${arg}; + break; + fi + if ${test_cmd} "x${arg}" = "x--host" ; then + host_arg_found=yes; + fi +done + +if ${test_cmd} -f ${HOME}/.rebuild_rcslib_configure ; then + REBUILD_RCSLIB_CONFIGURE=yes +fi + +( \ +if test "x${DEBUG}" != x ; then \ + set -x; \ +fi; \ +if ${test_cmd} "x${REBUILD_RCSLIB_CONFIGURE}" = "xyes" ; then + if ${test_cmd} ${rcsdir}/configure -ot ${rcsdir}/aclocal.m4 -o \ + ${rcsdir}/configure -ot ${rcsdir}/acinclude.m4 ; then + + (cd ${rcsdir}; aclocal || (echo "aclocal failed." >&2 ; exit 1 ) || exit 1) || exit 1; + fi + + if ${test_cmd} ${rcsdir}/Makefile.in -ot ${rcsdir}/Makefile.am ; then + ls -l ${rcsdir}/Makefile.in + ls -l ${rcsdir}/Makefile.am + (cd ${rcsdir} ; automake || (echo "automake failed." >&2 ; exit 1 ) || exit 1) || exit 1; + ls -l ${rcsdir}/Makefile.in + touch ${rcsdir}/Makefile.in + ls -l ${rcsdir}/Makefile.in + + fi + + if ${test_cmd} ${rcsdir}/rcs_config.h.in -ot ${rcsdir}/configure.ac ; then + ls -l ${rcsdir}/rcs_config.h.in + ls -l ${rcsdir}/configure.ac + (cd ${rcsdir}; autoheader || (echo "autoheader failed." >&2 ; exit 1 ) || exit 1) || exit 1; + touch ${rcsdir}/rcs_config.h.in + ls -l ${rcsdir}/rcs_config.h.in + fi + + if ${test_cmd} ${rcsdir}/configure -ot ${rcsdir}/aclocal.m4 -o \ + ${rcsdir}/configure -ot ${rcsdir}/acinclude.m4 -o \ + ${rcsdir}/configure -ot ${rcsdir}/Makefile.in -o \ + ${rcsdir}/configure -ot ${rcsdir}/configure.ac -o \ + ${rcsdir}/configure -ot ${rcsdir}/rcs_config.h.in ; then + + ls -l ${rcsdir}/configure + ls -l ${rcsdir}/aclocal.m4 + ls -l ${rcsdir}/Makefile.in + ls -l ${rcsdir}/configure.ac + ls -l ${rcsdir}/rcs_config.h.in + + (cd ${rcsdir} ; autoconf || (echo "autoconf failed." ; exit 1 ) || exit 1) || exit 1; + ls -l ${rcsdir}/configure + touch ${rcsdir}/configure + ls -l ${rcsdir}/configure + fi +fi +) || exit 1; + + +if ${test_cmd} "x${CC}" = "xmingw32-gcc" -a "x${host_arg_found}" = "xno" -a "x${UNAME_S}" = "xLinux" ; then + host_arg='i386-pc-mingw32'; + host_arg_to_add="--host ${host_arg} --disable-shared --disable-ALLJAVA"; +fi + +if ${test_cmd} "x${CC}" = "xi386-mingw32msvc-gcc" -a "x${host_arg_found}" = "xno" -a "x${UNAME_S}" = "xLinux" ; then + host_arg='i386-pc-mingw32'; + host_arg_to_add="--host ${host_arg} --disable-ALLJAVA"; +fi + +if ${test_cmd} "x${MULTIPLAT_CROSS_HOST}" != "x" ; then + host_arg="${MULTIPLAT_CROSS_HOST}"; + host_arg_to_add="--host ${host_arg} --disable-ALLJAVA"; +fi + +if ${test_cmd} "x${host_arg}" != "x" ; then + UNAME_S=${host_arg}_cross_compiled_under_${UNAME_S}; +fi + +if ${test_cmd} "x${UNAME_S}" = "xLinux" ; then + if ${test_cmd} "x`${rcsdir}/etc/havertlinux.sh | head -n 1`" = "xYES" ; then + UNAME_S=Linux_with_rtlinux; + elif ${test_cmd} "x`${rcsdir}/etc/havertai.sh | head -n 1`" = "xYES" ; then + UNAME_S=Linux_with_rtai; + fi +fi + +LIBC_NAME=NOT_GLIBC + +if ${test_cmd} -f /usr/include/features.h -a "x${host_arg}" = "x" ; then + if grep _GLIBC /usr/include/features.h >/dev/null 2>/dev/null ; then + GLIBC_MAJOR_VERSION=`grep __GLIBC__ /usr/include/features.h | grep '#define' | grep -v PREREQ | head -n 1 | awk '{printf("%s",$3);}'` + GLIBC_MINOR_VERSION=`grep __GLIBC_MINOR__ /usr/include/features.h | grep '#define' | grep -v PREREQ | head -n 1 | awk '{printf("%s",$3);}'` + LIBC_NAME=GLIBC_${GLIBC_MAJOR_VERSION}_${GLIBC_MINOR_VERSION} + else + LIBC_NAME=NOT_GLIBC + fi +else + LIBC_NAME=NOT_GLIBC +fi + +if ${test_cmd} "x${host_arg}" = "x" ; then + rel_install_dir=.multiplatinstalls/${UNAME_S}/${UNAME_R}/${UNAME_M}/${LIBC_NAME}/${CC_NAME} +else + rel_install_dir=.multiplatinstalls/`echo ${host_arg}| sed y#-#/#`/${CC_NAME} +fi + +if test "x${rcslib_config_name}" != "x" ; then + rel_install_dir=${rel_install_dir}/${rcslib_config_name} +fi + +install_dir=${rcsdir}/${rel_install_dir} + +echo "install_dir=${install_dir}" >&2 +if ${test_cmd} \! -d ${install_dir} ; then + mkdir -p ${install_dir} || (echo "mkdir -p ${install_dir} failed." >&2 ; exit 127 ) || exit 127 +fi + +if ${test_cmd} "x${host_arg}" = "x" ; then + rel_build_dir=.multiplatbuilds/${UNAME_S}/${UNAME_R}/${UNAME_M}/${LIBC_NAME}/${CC_NAME} +else + rel_build_dir=.multiplatbuilds/`echo ${host_arg} | sed y#-#/#`/${CC_NAME} +fi + +if test "x${rcslib_config_name}" != "x" ; then + rel_build_dir=${rel_build_dir}/${rcslib_config_name} +fi + +build_dir=${rcsdir}/${rel_build_dir} + +echo "build_dir=${build_dir}" >&2 +if ${test_cmd} \! -d ${build_dir} ; then + mkdir -p ${build_dir} || (echo "mkdir -p ${build_dir} failed." >&2 ; exit 127 ) +fi + +cd ${build_dir} || (echo "cd ${build_dir} failed." >&2 ; exit 127 ) || exit 127 + +if ${test_cmd} -f ${build_dir}/Makefile ; then + if ${test_cmd} ${build_dir}/Makefile -ot ${rcsdir}/configure -o \ + ${build_dir}/libtool -ot ${rcsdir}/configure -o \ + ${build_dir}/rcs_config.h -ot ${rcsdir}/configure -o \ + '(' -d ${build_dir}/.deps -a ${build_dir}/.deps -ot ${rcsdir}/configure ')' ; then + ( \ + if test "x${DEBUG}" != x ; then \ + set -x ; \ + ls -l ${build_dir}/Makefile ; \ + ls -l ${build_dir}/libtool ; \ + ls -l ${rcsdir}/configure ; \ + ls -ld ${build_dir}/.deps; \ + ls -l ${build_dir}/rcs_config.h; \ + fi + ) + ( if test "x${DEBUG}" != x ; then set -x ; fi; cd ${build_dir} ; \rm -r -f Makefile* .dep* .conf* conf* libtool src *.{lo,o,la,a,so,loT} rcs_config.h gmem.out stamp-h1 >/dev/null 2>/dev/null) + fi +fi + +if ${test_cmd} "x${host_arg}" = "x" ; then + PLAT=`(cd ${rcsdir}; platname_safe_mode=yes; export platname_safe_mode; . ${rcsdir}/etc/platname) 2>/dev/null` +else + PLAT=${UNAME_S} +fi + +echo rcsdir=${rcsdir} +echo host_arg=${host_arg} +echo PLAT=${PLAT} +echo UNAME_S=${UNAME_S} + +PLAT=`echo ${PLAT} | sed s#/.\*\$\## | sed y#.,\ \(\)-:\;/\|\!\?\*\&\<\>\{\}#__________________# | sed y\|#\|_\| | sed s#__#_#g | cut -c 1-71 ` + +echo PLAT=${PLAT} + +LONG_PLAT=${PLAT} +if test "x${LONG_PLAT}" != "x" ; then + PLAT=`echo ${LONG_PLAT} | awk '{printf("%.60s",$1);}'` +fi + +echo PLAT=${PLAT} +export PLAT + +mkdir -p ${rcsdir}/plat || (echo "mkdir -p ${rcsdir}/plat failed." >&2 ; exit 127 ) || exit 127 + +\rm -f ${HOME}/linktest* >/dev/null 2>/dev/null + +pid=$$ + + ( cd ${temp_dir} ; touch linktestfile${pid} ; ln -s "linktestfile${pid}" "linktestfile${pid}.link" ); >/dev/null 2>/dev/null + +#ls -l ${HOME}/link* + +if ${test_cmd} -h ${HOME}/linktestfile${pid}.link -a \! -h ${HOME}/linktestfile${pid} ; then + LINK_FLAG=-h; +else + LINK_FLAG=-L; +fi + +\rm -f ${HOME}/linktest* >/dev/null 2>/dev/null + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${PLAT} ; then + rm ${rcsdir}/plat/${PLAT} || ( echo "Can not remove old symbolic link." >&2 ; exit 127 ) || exit 127 +fi + +if test "x${PLAT}" != "x" ; then + + if test -d ${rcsdir}/plat/${PLAT} ; then + (cd ${rcsdir}/plat && (mkdir -p ".moved.${pid}" ; mv "${PLAT}" ".moved.${pid}" ) ) || (echo "Can not move old plat out of the way." >&2 ; exit 127 ) || exit 127 + fi + + ( cd ${rcsdir}/plat && ln -s "../${rel_install_dir}" "${PLAT}" || exit 127 ) || ( echo "Can not setup symbolic link. PLAT=${PLAT} install_dir=${install_dir} " >&2 ; exit 127 ) || exit 127 + +fi + + +if test "x${PLAT1}" != "x" -a "x${PLAT1}" != "x${PLAT}" ; then + + if test -d ${rcsdir}/plat/${PLAT1} ; then + (cd ${rcsdir}/plat && (mkdir -p ".moved.${pid}" ; mv "${PLAT1}" ".moved.${pid}" ) ) || (echo "Can not move old plat out of the way." >&2 ; exit 127 ) || exit 127 + fi + + ( cd ${rcsdir}/plat && ln -s "../${rel_install_dir}" "${PLAT1}" || exit 127 ) || ( echo "Can not setup symbolic link. PLAT1=${PLAT1} install_dir=${install_dir} " >&2 ; exit 127 ) || exit 127 + +fi + + +if test "x${host_arg}" = "x" ; then + + ( cd ${rcsdir} ; PLAT=; rm ${HOME}/.platname* ; mkdir_cmd=true; . ${rcsdir}/etc/platname >/dev/null; 2>/dev/null; + if ${test_cmd} "x${ORIG_PLAT}" != "x" -a "x${ORIG_PLAT}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${ORIG_PLAT} ; then + rm ${rcsdir}/plat/${ORIG_PLAT} ; + elif ${test_cmd} -d ${rcsdir}/plat/${ORIG_PLAT} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${ORIG_PLAT} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${ORIG_PLAT}" ) + fi + if ${test_cmd} "x${ETC_RELEASE_PLAT}" != "x" -a "x${ETC_RELEASE_PLAT}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${ETC_RELEASE_PLAT} ; then + rm ${rcsdir}/plat/${ETC_RELEASE_PLAT} ; + elif ${test_cmd} -d ${rcsdir}/plat/${ETC_RELEASE_PLAT} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${ETC_RELEASE_PLAT} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${ETC_RELEASE_PLAT}" ) + fi + if ${test_cmd} "x${DEBIAN_PLAT}" != "x" -a "x${DEBIAN_PLAT}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${DEBIAN_PLAT} ; then + rm ${rcsdir}/plat/${DEBIAN_PLAT} ; + elif ${test_cmd} -d ${rcsdir}/plat/${DEBIAN_PLAT} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${DEBIAN_PLAT} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${DEBIAN_PLAT}"; ) + fi + if ${test_cmd} "x${REDHAT_PLAT}" != "x" -a "x${REDHAT_PLAT}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${REDHAT_PLAT} ; then + rm ${rcsdir}/plat/${REDHAT_PLAT} ; + elif ${test_cmd} -d ${rcsdir}/plat/${REDHAT_PLAT} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${REDHAT_PLAT} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${REDHAT_PLAT}" ) + fi + if ${test_cmd} "x${OLD_PLAT}" != "x" -a "x${OLD_PLAT}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${OLD_PLAT} ; then + rm ${rcsdir}/plat/${OLD_PLAT} ; + elif ${test_cmd} -d ${rcsdir}/plat/${OLD_PLAT} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${OLD_PLAT} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${OLD_PLAT}" ) + fi + if ${test_cmd} "x${PLATBASE}" != "x" -a "x${PLATBASE}" != "x${PLAT}" ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/${PLATBASE} ; then + rm ${rcsdir}/plat/${PLATBASE} ; + elif ${test_cmd} -d ${rcsdir}/plat/${PLATBASE} ; then + ( mkdir -p ${rcsdir}/plat/.moved.${pid}/ ) >/dev/null 2>/dev/null; + mv ${rcsdir}/plat/${PLATBASE} ${rcsdir}/plat/.moved.${pid}/ + fi + (cd ${rcsdir}/plat/ ; ln -s "../${rel_install_dir}" "${PLATBASE}" ) + fi + )>/dev/null 2>/dev/null; + +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/.lastbuild ; then + \rm -f ${rcsdir}/.lastbuild >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastbuild ; then + (cd ${rcsdir} ; mv .lastbuild .lastbuild.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${build_dir} ; then + (cd ${rcsdir} ; ln -s "${rel_build_dir}" .lastbuild) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/.lastinstall ; then + \rm -f ${rcsdir}/.lastinstall >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall ; then + (cd ${rcsdir} ; mv .lastinstall .lastinstall.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${install_dir} ; then + (cd ${rcsdir} ; ln -s "${rel_install_dir}" .lastinstall) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/lib ; then + \rm -f ${rcsdir}/lib >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/lib ; then + ( cd ${rcsdir}; mv lib lib.${pid} ) >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/lib ; then + (cd ${rcsdir} ; ln -s ".lastinstall/lib" .) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/bin ; then + \rm -f ${rcsdir}/bin >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/bin ; then + ( cd ${rcsdir}; mv bin bin.${pid} ) >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/bin ; then + (cd ${rcsdir} ; ln -s ".lastinstall/bin" .) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/include ; then + \rm -f ${rcsdir}/include >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/include ; then + ( cd ${rcsdir}; mv include include.${pid} ) >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/include ; then + (cd ${rcsdir} ; ln -s ".lastinstall/include" .) +fi + + +if ${test_cmd} -f "${HOME}/.${HOST}.${PLAT}.rcslib_configure_options" ; then + CONFIG_OPTS=`cat ${HOME}/.${HOST}.${PLAT}.rcslib_configure_options` +fi + +( \rm -f ${temp_dir}/do_rcslib_post_install_*.sh ) >/dev/null 2>/dev/null + +chmod u+w ${temp_dir} +chmod u+w ${temp_dir}/* +touch ${temp_dir}/make${pid}.sh +chmod u+w ${temp_dir}/make${pid}.sh + +cat >${temp_dir}/do_rcslib_post_install_${pid}.sh </dev/null +fi + +(cd ${rcsdir}/plat/java/lib && \ + for jarfile in *.jar endjarfiles ; do + if ${test_cmd} "x${jarfile}" != "xendjarfiles" -a ${LINK_FLAG} ${jarfile} ; then + rm ${jarfile}; + fi + done +) >/dev/null 2>/dev/null + +if ${test_cmd} -d ${install_dir}/bin ; then + +( cd ${install_dir}/bin && \ + for jarfile in *.jar endjarfiles; do \ + if ${test_cmd} "x${jarfile}" != "xendjarfiles" -a "x${jarfile}" != "x" ; then \ + (cd ${rcsdir}/plat/java/lib && \ + ln -s "../../../${rel_install_dir}/bin/${jarfile}" .; ); \ + fi; \ + done; \ +) >/dev/null 2>/dev/null +fi + +if ${test_cmd} -d ${install_dir}/lib ; then + +(cd ${install_dir}/lib && \ + if ${test_cmd} -f librcs.a -a ! -f librcsd.a ; then \ + if ${test_cmd} ${LINK_FLAG} librcsd.a ; then \ + rm librcsd.a; \ + fi; \ + ln -s librcs.a librcsd.a; \ + fi \ +) >/dev/null 2>/dev/null + +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/.lastinstall ; then + \rm -f ${rcsdir}/.lastinstall >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall ; then + (cd ${rcsdir} ; mv .lastinstall .lastinstall.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${install_dir} ; then + (cd ${rcsdir} ; ln -s "${rel_install_dir}" .lastinstall) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/lib ; then + \rm -f ${rcsdir}/lib >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/lib ; then + (cd ${rcsdir} ; mv lib .lib.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/lib ; then + (cd ${rcsdir} ; ln -s ".lastinstall/lib" .) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/bin ; then + \rm -f ${rcsdir}/bin >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/bin ; then + (cd ${rcsdir} ; mv bin .bin.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/bin ; then + (cd ${rcsdir} ; ln -s ".lastinstall/bin" .) +fi + +if ${test_cmd} ${LINK_FLAG} ${rcsdir}/include ; then + \rm -f ${rcsdir}/include >/dev/null 2>/dev/null ; +fi + +if ${test_cmd} -d ${rcsdir}/include ; then + (cd ${rcsdir} ; mv include .include.${pid} ) >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d ${rcsdir}/.lastinstall/include ; then + (cd ${rcsdir} ; ln -s ".lastinstall/include" .) +fi + +if ${test_cmd} -f ${install_dir}/lib/librcsrtai.a ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/realtime ; then + \rm -f ${rcsdir}/plat/realtime; + fi + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/rtai ; then + \rm -f ${rcsdir}/plat/rtai; + fi + if ${test_cmd} -d ${rcsdir}/plat/realtime ; then + (cd ${rcsdir}/plat; mv realtime ".realtime.${pid}" ) + fi + if ${test_cmd} -d ${rcsdir}/plat/rtai ; then + (cd ${rcsdir}/plat; mv rtai ".rtai.${pid}" ) + fi + if ${test_cmd} -d ${rcsdir}/plat/.multiplatbuild_rtai ; then + ( \rm -r -f ${rcsdir}/plat/.multiplatbuild_rtai ) >/dev/null 2>/dev/null + fi + ( cd ${rcsdir}/plat ; \ + mkdir .multiplatbuild_rtai; \ + ln -s .multiplatbuild_rtai rtai ; \ + ln -s .multiplatbuild_rtai realtime ; \ + cd .multiplatbuild_rtai; \ + mkdir lib; \ + ln -s "../../${rel_install_dir}/include" .; \ + cd lib; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtai.a" .; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtai.a" librcs.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtai.a" librcsd.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtai.a" libposemath.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtai.a" libpm.a ; \ + ) + +elif ${test_cmd} -f ${install_dir}/lib/librcsrtl.a ; then + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/realtime ; then + \rm -f ${rcsdir}/plat/realtime; + fi + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/rtlinux ; then + \rm -f ${rcsdir}/plat/rtlinux; + fi + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/rtlinux_3_0 ; then + \rm -f ${rcsdir}/plat/rtlinux_3_0; + fi + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/rtlinux_3_2 ; then + \rm -f ${rcsdir}/plat/rtlinux_3_2; + fi + if ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/rtlinux_2_2 ; then + \rm -f ${rcsdir}/plat/rtlinux_2_2; + fi + if ${test_cmd} -d ${rcsdir}/plat/realtime ; then + (cd ${rcsdir}/plat; mv realtime ".realtime.${pid}" ) + fi + if ${test_cmd} -d ${rcsdir}/plat/rtlinux ; then + (cd ${rcsdir}/plat; mv rtlinux ".rtlinux.${pid}" ) + fi + if ${test_cmd} -d ${rcsdir}/plat/.multiplatbuild_rtlinux ; then + ( \rm -r -f ${rcsdir}/plat/.multiplatbuild_rtlinux ) >/dev/null 2>/dev/null + fi + ( cd ${rcsdir}/plat ; \ + mkdir .multiplatbuild_rtlinux; \ + ln -s .multiplatbuild_rtlinux rtlinux ; \ + if test \! -d rtlinux_3_0 ; then ln -s .multiplatbuild_rtlinux rtlinux_3_0 ; fi ; \ + if test \! -d rtlinux_3_2 ; then ln -s .multiplatbuild_rtlinux rtlinux_3_2 ; fi ; \ + if test \! -d rtlinux_2_2 ; then ln -s .multiplatbuild_rtlinux rtlinux_2_2 ; fi ; \ + ln -s .multiplatbuild_rtlinux realtime ; \ + cd .multiplatbuild_rtlinux; \ + mkdir lib; \ + ln -s "../../${rel_install_dir}/include" .; \ + cd lib; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtl.a" .; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtl.a" librcs.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtl.a" librcsd.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtl.a" libposemath.a ; \ + ln -s "../../../${rel_install_dir}/lib/librcsrtl.a" libpm.a ; \ + ) +elif ${test_cmd} -f ${install_dir}/lib/libposemath.a ; then + if ${test_cmd} ${LINK_FLAG} ${install_dir}/lib/libpm.a; then + \rm -f ${install_dir}/lib/libpm.a; + fi + (cd ${install_dir}/lib ; \ + ln -s libposemath.a libpm.a; ) 2>/dev/null >/dev/null +fi + + +if ${test_cmd} -f "${rcsdir}/${rel_build_dir}/plat/java/lib/rcs.jar" -o -f "${rcsdir}/${rel_build_dir}/plat/java/lib/rcs/RCS_VERSION.class" ; then + if ${test_cmd} \! -d ${rcsdir}/plat/java ; then + (cd ${rcsdir}/plat ; ln -s ../${rel_build_dir}/plat/java . ) ; + elif ${test_cmd} ${LINK_FLAG} ${rcsdir}/plat/java ; then + (cd ${rcsdir}/plat/; rm java ; ln -s ../${rel_build_dir}/plat/java . ) ; + else + (cd ${rcsdir}/plat; mv java .java_${pid} ; ln -s ../${rel_build_dir}/plat/java . ) ; + fi +fi + +if ${test_cmd} -f ${home}/.tmp/make${pid}.sh ; then + rm ${home}/.tmp/make${pid}.sh +fi + +EOF + +chmod a+x ${temp_dir}/do_rcslib_post_install_${pid}.sh + +ORIG_CFLAGS=${CFLAGS} +ORIG_CXXFLAGS=${CXXFLAGS} + +if test "x${CFLAGS}" != "x" ; then + if echo "${CFLAGS}" | grep -- -Werror ; then + CFLAGS=`echo " ${CFLAGS}" | sed s/-Werror//` + if test "x${CXXFLAGS}" != "x" ; then + CXXFLAGS=`echo " ${CXXFLAGS}" | sed s/-Werror//`; + fi + ADD_WERROR=yes; + fi +fi + +if test "x${MAKE_CMD}" = "x" ; then + MAKE_CMD=make; +fi + +echo CFLAGS="${CFLAGS}" +echo CXXFLAGS="${CXXFLAGS}" +echo CPPFLAGS="${CPPFLAGS}" +echo LDFLAGS="${LDFLAGS}" +echo CC="${CC}" +echo CXX="${CXX}" +echo MULTIPLAT_MAKEFLAGS="${MULTIPLAT_MAKEFLAGS}" +echo MAKE_CMD=${MAKE_CMD} + +if ${test_cmd} $# -lt 1 ; then + + if ${test_cmd} \! -f Makefile ; then + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} ${CONFIG_OPTS} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + + if test -f "${rcsdir}/rcs_config.h" -a -d "${rcsdir}/lastconfig/" -a -w "$rcsdir}/lastconfig/" ; then + cp -p "${rcsdir}/rcs_config.h" "${rcsdir}/lastconfig/"; + fi + + if test -f "${rcsdir}/config.log" -a -d "${rcsdir}/lastconfig/" ; then + cp -p "${rcsdir}/config.log" "${rcsdir}/lastconfig/"; + fi + fi + touch ${rcsdir}/src/rcsvers.c + make_args="${MULTIPLAT_MAKEFLAGS}" + echo make_args=${make_args} + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh; + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != "x"; then + ls -l ${temp_dir}/make${pid}.sh + cat ${temp_dir}/make${pid}.sh + fi + \rm -f ${temp_dir}/MAKE_FAILED + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1) | tee -a "${make_log}") || (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 127; + fi + make_args="${MULTIPLAT_MAKEFLAGS} install" + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != "x"; then + ls -l ${temp_dir}/make${pid}.sh + cat ${temp_dir}/make${pid}.sh + fi + \rm -f ${temp_dir}/MAKE_FAILED; + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1) | tee -a "${make_log}") || (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 127; + fi + mkdir -p ${install_dir}/src + cp "${builddir}"/*.h "${install_dir}/src" 2>/dev/null + cp "${builddir}"/*.log "${install_dir}/src" + (cd ${rcsdir} ; + find src -type f -name \*.c -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.cc -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.cpp -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.h -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.hh -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.hpp -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.ads -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.adb -exec cp \{\} "${install_dir}/src" \; ; + find src -type f -name \*.java -exec cp \{\} "${install_dir}/src" \; ; + ); + +elif ${test_cmd} "x${1}" = "xconfig" ; then + if ${test_cmd} "x${2}" = "x--help" ; then + set +x; + fi + if ${test_cmd} $# -gt 9 ; then + echo "TOO many arguments" + echo "TOO many arguments" >&2 + exit 1 + fi + if test -d ~/.tmp; then + \rm -rf ~/.tmp; + mkdir ~/.tmp; + fi + if ${test_cmd} -f Makefile -a "x${2}" != "x--help" ; then + ${MAKE_CMD} distclean || exit 1 + fi + if ${test_cmd} "x${2}" != "x--help" ; then + echo $2 $3 $4 $5 $6 $7 $8 $9 > "${HOME}/.${HOST}.${PLAT}.rcslib_configure_options" + cp ${HOME}/.${HOST}.${PLAT}.rcslib_configure_options ${build_dir} + set > ${build_dir}/.config_set_env.${pid} + fi + config_command="${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} $2 $3 $4 $5 $6 $7 $8 $9" + if ${test_cmd} "x${2}" != "x--help" ; then + echo ${config_command} > ${home}/.rcslib_config_command.${HOST} + echo ${config_command} > ${build_dir}/.config_command.${pid} + if test "x${DEBUG}" != "x"; then + ls -l ${build_dir}/.config_command.${pid} + cat ${build_dir}/.config_command.${pid} + fi + fi + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${config_command} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + if ${test_cmd} "x${2}" = "x--help" ; then + exit 1; + fi + earg_list=""; + for carg in ${config_command} ; do + if echo "${carg}" | grep -- "--enable" ; then + if test "x${carg}" != "x--enable-shared" -a "x${carg}" != "x--enable-static" ; then + carg_converted=`echo ${carg} | sed s/-/_/g` + earg_list="${earg_list} ${carg_converted}"; + fi + fi + done + grep set_ ${build_dir}/config.log | sed s/-/_/g >${temp_dir}/config_sets${pid}.log + if test "x${earg_list}" != "x"; then + for earg in ${earg_list} ; do + if test "x${earg}" != "x" ; then + if grep -i -- "set_${earg}" ${temp_dir}/config_sets${pid}.log; then + echo "${earg} found set in config.log" . + else + echo "set_${earg} not found in config.log" + echo "set_${earg} not found in config.log" >&2 + mv ${build_dir}/Makefile ${build_dir}/Makefile.trashed.${pid} + exit 1 + fi + fi + done + fi + earg_list=""; + for carg in ${config_command} ; do + if test "x${carg}" != "x--disable-shared" -a "x${carg}" != "x--disable-static" ; then + if echo "${carg}" | grep -- "--disable" ; then + carg_converted=`echo ${carg} | sed s/--dis/--en/ | sed s/-/_/g` + earg_list="${earg_list} ${carg_converted}"; + fi + fi + done + if test "x${earg_list}" != "x"; then + for earg in ${earg_list} ; do + if test "x${earg}" != "x" ; then + if grep -i -- "set_${earg}" ${temp_dir}/config_sets${pid}.log; then + echo "${earg} found set in config.log" . + else + echo "${earg} not found in config.log" + echo "${earg} not found in config.log" >&2 + mv ${build_dir}/Makefile ${build_dir}/Makefile.trashed.${pid} + exit 1 + fi + fi + done + fi + + + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + +elif ${test_cmd} "x${1}" = "xmake" ; then + if ${test_cmd} \! -f Makefile; then + cp ${HOME}/.${HOST}.${PLAT}.rcslib_configure_options ${build_dir}/.${HOST}.${PLAT}.rcslib_configure_options.${pid} + set > ${build_dir}/.config_set_env.${pid} + config_command="${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} ${CONFIG_OPTS}" + echo ${config_command} > ${build_dir}/.config_command.${pid} + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${config_command} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + fi + touch ${rcsdir}/src/rcsvers.c + + for arg in $* ; do + if echo "$arg" | grep "=" >/dev/null ; then + eval ${arg} + fi + done + + if test "x${prefix}" != "x" -a -f ${build_dir}/librcs.la ; then + rm ${build_dir}/librcs.la; + fi + + make_args="${MULTIPLAT_MAKEFLAGS} ${2} ${3} ${4} ${5} ${6} ${7} ${8}" + echo make_args=${make_args} + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh; + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != "x"; then + ls -l ${temp_dir}/make${pid}.sh + cat ${temp_dir}/make${pid}.sh + fi + \rm -f ${temp_dir}/MAKE_FAILED + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1 )| tee -a "${make_log}") || (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 127; + fi + if test "x${DEBUG}" != x ; then + set -x + set + fi + mkdir -p ${build_dir}/src + cp "${builddir}"/*.h "${build_dir}/src" + cp "${builddir}"/*.log "${build_dir}/src" + ( cd ${rcsdir} ; + find src -type f -name \*.c -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.cc -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.cpp -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.h -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.hh -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.hpp -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.ads -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.adb -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.java -exec cp \{\} "${build_dir}/src" \; ; + ) + + if test "x${prefix}" != "x" ; then + prefix_dir="${prefix}" + install_dir="${prefix}" + mkdir -p ${prefix}/src + mkdir -p ${prefix}/plat/java/lib + if test -d ${rcsdir}/plat/java/lib -a -d ${prefix}/plat/java/lib ; then + cp ${rcsdir}/plat/java/lib/*.jar ${prefix}/plat/java/lib + if test -d ${rcsdir}/plat/java/lib/rcs ; then + cp -r ${rcsdir}/plat/java/lib/rcs ${prefix}/plat/java/lib; + fi + if test -d ${rcsdir}/plat/java/lib/diagapplet ; then + cp -r ${rcsdir}/plat/java/lib/diagapplet ${prefix}/plat/java/lib; + fi + fi + if test -d ${build_dir}/plat/java/lib -a -d ${prefix}/plat/java/lib ; then + cp ${build_dir}/plat/java/lib/*.jar ${prefix}/plat/java/lib + if test -d ${build_dir}/plat/java/lib/rcs ; then + cp -r ${build_dir}/plat/java/lib/rcs ${prefix}/plat/java/lib; + fi + if test -d ${build_dir}/plat/java/lib/diagapplet ; then + cp -r ${build_dir}/plat/java/lib/diagapplet ${prefix}/plat/java/lib; + fi + fi + cp "${build_dir}"/*.h "${prefix_dir}/src" + cp "${build_dir}"/*.log "${prefix_dir}/src" + ( cd ${rcsdir} ; + find src -type f -name \*.c -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.cc -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.cpp -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.h -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.hh -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.hpp -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.ads -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.adb -exec cp \{\} "${prefix_dir}/src" \; ; + find src -type f -name \*.java -exec cp \{\} "${prefix_dir}/src" \; ; + ) + fi + +elif ${test_cmd} "x${1}" = "xcheck" ; then + if ${test_cmd} \! -f Makefile; then + cp ${HOME}/.${HOST}.${PLAT}.rcslib_configure_options ${build_dir}/.${HOST}.${PLAT}.rcslib_configure_options.${pid} + set > ${build_dir}/.config_set_env.${pid} + config_command="${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} ${CONFIG_OPTS}" + echo ${config_command} > ${build_dir}/.config_command.${pid} + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${config_command} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + fi + touch ${rcsdir}/src/rcsvers.c + make_args="${MULTIPLAT_MAKEFLAGS}" + echo make_args=${make_args} + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh; + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != "x"; then + ls -l ${temp_dir}/make${pid}.sh + cat ${temp_dir}/make${pid}.sh + fi + \rm -f ${temp_dir}/MAKE_FAILED + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1) | tee -a "${make_log}") || (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 127; + fi + make_args="${MULTIPLAT_MAKEFLAGS} install" + echo make_args=${make_args} + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh; + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + \rm -f ${temp_dir}/MAKE_FAILED + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1 ) | tee -a "${make_log}") || (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 127; + fi + ( ${temp_dir}/do_rcslib_post_install_${pid}.sh || true ) + make_args="${MULTIPLAT_MAKEFLAGS} check" + echo make_args=${make_args} + echo "#! /bin/sh" > ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != x ; then + echo "set -x" >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CFLAGS}" != "x" ; then + echo "CFLAGS=\"${ORIG_CFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" ; then + echo "CXXFLAGS=\"${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + echo export CXXFLAGS >> ${temp_dir}/make${pid}.sh + fi + if test "x${ORIG_CXXFLAGS}" != "x" -o "x${ORIG_CFLAGS}" != "x" ; then + echo ${MAKE_CMD} ${make_args} "\"CFLAGS=${ORIG_CFLAGS}\"" "\"CXXFLAGS=${ORIG_CXXFLAGS}\"" >> ${temp_dir}/make${pid}.sh + else + echo ${MAKE_CMD} ${make_args} " || exit 1 " >> ${temp_dir}/make${pid}.sh + fi + echo "sts=\$?" >> ${temp_dir}/make${pid}.sh + echo "if test \"x\${sts}\" != \"x0\" ; then" >> ${temp_dir}/make${pid}.sh + echo "touch ${temp_dir}/MAKE_FAILED;" >> ${temp_dir}/make${pid}.sh + echo "fi" >> ${temp_dir}/make${pid}.sh + echo "echo \$0 returned \${sts}" >> ${temp_dir}/make${pid}.sh + echo "exit \${sts}" >> ${temp_dir}/make${pid}.sh + chmod a+x ${temp_dir}/make${pid}.sh + if test "x${DEBUG}" != "x"; then + ls -l ${temp_dir}/make${pid}.sh + cat ${temp_dir}/make${pid}.sh + fi + \rm -f ${temp_dir}/MAKE_FAILED; + (( if test "x${DEBUG}" != x ; then set -x ; fi; /bin/sh ${temp_dir}/make${pid}.sh 2>&1 ) | tee -a "${make_log}")|| (echo " ${MAKE_CMD} ${make_args} failed." >&2 ; exit 127 ) || exit 127 + if test -f ${temp_dir}/MAKE_FAILED ; then + exit 1; + fi + mkdir -p ${build_dir}/src + cp "${builddir}"/*.h "${build_dir}/src" + cp "${builddir}"/*.log "${build_dir}/src" + ( cd ${rcsdir} ; + find src -type f -name \*.c -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.cc -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.cpp -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.h -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.hh -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.hpp -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.ads -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.adb -exec cp \{\} "${build_dir}/src" \; ; + find src -type f -name \*.java -exec cp \{\} "${build_dir}/src" \; ; + ) + +elif ${test_cmd} "x${1}" = "xdistclean" ; then + if test -d ${install_dir} ; then + \rm -r -f ${install_dir} ; + fi + if test -d ${build_dir} ; then + \rm -r -f ${build_dir} ; + fi + if test -d ${rcsdir}/plat/${PLAT} ; then + \rm -r -f ${rcsdir}/plat/${PLAT}; + fi + + \rm -rf ${rcsdir}/.lastinstall; + \rm -rf ${rcsdir}/.lastbuild; + \rm -rf ${rcsdir}/lib; + \rm -rf ${rcsdir}/bin; + \rm -rf ${rcsdir}/include; + exit 0; + +elif ${test_cmd} "x${1}" = "xclean" ; then + if test -d ${install_dir} ; then + \rm -r -f ${install_dir} ; + fi + + if test -d ${rcsdir}/plat/${PLAT} ; then + \rm -r -f ${rcsdir}/plat/${PLAT}; + fi + + \rm -rf ${rcsdir}/.lastinstall; + \rm -rf ${rcsdir}/lib; + \rm -rf ${rcsdir}/bin; + \rm -rf ${rcsdir}/include; + + if test -d ${build_dir} ; then + make -C ${build_dir} clean ; + fi + exit 0; + +elif ${test_cmd} "x${1}" = "xdist" ; then + if ${test_cmd} \! -f Makefile ; then + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} ${CONFIG_OPTS} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + fi + SAFE_PATH="/bin:/usr/bin"; + if test -d /tmp/distcheckhome ; then + \rm -r -f /tmp/distcheckhome + fi + mkdir /tmp/distcheckhome + ( ( if test "x${DEBUG}" != x ; then set -x ; fi; env -i "PATH=${SAFE_PATH}" "HOME=/tmp/distcheckhome" ${MAKE_CMD} dist 2>&1 ) | tee dist.${pid}.log) || (echo "${MAKE_CMD} dist failed." >&2 ; exit 127 ) || exit 127 + if ${test_cmd} "x${build_dir}" != "x${rcsdir}" ; then + ( if test "x${DEBUG}" != x ; then set -x ; fi; cd ${build_dir} ; + for archive in rcs*.tar.gz ; do + echo "archive=${archive}" + if ${test_cmd} "x${archive}" != "x" ; then + if ${test_cmd} \! -f "${rcsdir}/${archive}" -a -f "./${archive}" ; then + cp "${archive}" "${rcsdir}"; + elif ${test_cmd} -f "./${archive}" -a -f "${rcsdir}/${archive}" -a "./${archive}" -nt "${rcsdir}/${archive}"; then + mv "${rcsdir}/${archive}" ${temp_dir}; + cp "${archive}" "${rcsdir}"; + fi + fi + done + ) + fi + + +elif ${test_cmd} "x${1}" = "xdistcheck" ; then + \rm -rf /tmp/tni_* + \rm -rf /tmp/*.nml + \rm -rf /tmp/*.log + \rm -rf /tmp/jdk_* + \rm -rf /tmp/kill*sh + \rm -rf /tmp/jre_* + \rm -rf /tmp/getrcs.html* + \rm -rf /tmp/distcheckhome* + if ${test_cmd} \! -f Makefile ; then + ( if test "x${DEBUG}" != x ; then set -x ; fi; ${rcsdir}/configure --prefix=${install_dir} ${host_arg_to_add} ${CONFIG_OPTS} ) || (echo "configure failed." >&2 ; exit 127 ) || exit 127 + \rm -f ${build_dir}/*.{a,la,so} + \rm -f ${build_dir}/.libs/*.{a,la,so} + fi + SAFE_PATH="/bin:/usr/bin"; + if test -d /tmp/distcheckhome ; then + \rm -r -f /tmp/distcheckhome + fi + mkdir /tmp/distcheckhome + (( if test "x${DEBUG}" != x ; then set -x ; fi ; cd /tmp/distcheckhome/ ; "${rcsdir}/configure" ; pwd ; env -i "PATH=${SAFE_PATH}" "HOME=/tmp/distcheckhome" ${MAKE_CMD} distcheck 2>&1 ) | tee distcheck.${pid}.log) || (echo "${MAKE_CMD} distcheck failed." >&2 ; exit 127 ) || exit 127 + if ${test_cmd} "x${build_dir}" != "x${rcsdir}" ; then + ( if test "x${DEBUG}" != x ; then set -x ; fi; cd /tmp/distcheckhome ; + for archive in rcs*.tar.gz ; do + echo "archive=${archive}"; + if ${test_cmd} "x${archive}" != "x" ; then + if ${test_cmd} \! -f "${rcsdir}/${archive}" -a -f "./${archive}" ; then + cp "${archive}" "${rcsdir}"; + elif ${test_cmd} -f "./${archive}" -a -f "${rcsdir}/${archive}" -a "./${archive}" -nt "${rcsdir}/${archive}"; then + mv "${rcsdir}/${archive}" ${temp_dir}; + cp "${archive}" "${rcsdir}"; + fi + fi + done + ) + fi +fi + + +${temp_dir}/do_rcslib_post_install_${pid}.sh + +echo "Any files created by this script in ${temp_dir} are temporary and may be deleted." + +if test -f "${rcsdir}/.lastbuild/rcs_config.h" -a -d "${rcsdir}/lastconfig/" ; then + cp -p "${rcsdir}/.lastbuild/rcs_config.h" "${rcsdir}/lastconfig/"; +fi + +if test -f "${rcsdir}/.lastbuild/config.log" -a -d "${rcsdir}/lastconfig/" ; then + cp -p "${rcsdir}/.lastbuild/config.log" "${rcsdir}/lastconfig/"; +fi + +if test -f "${rcsdir}/lastconfig/make.log" -a -d "${temp_dir}" ; then + cp -p "${rcsdir}/lastconfig/make.log" "${temp_dir}/make_${pid}.log"; +fi + +echo "rcsdir=${rcsdir}" >&2 +echo "install_dir=${install_dir}" >&2 +echo "build_dir=${build_dir}" >&2 +echo "PLAT=${PLAT}" >&2 + +if test -f "${HOME}/.rcslib_split_debug" ; then + (cd "${install_dir}/lib" ; "${rcsdir}/etc/splitdebug.sh" `find . -name lib\*so\* -not -name \*a -not -name \*.debug -not -name \*.h -not -name libtool -perm /111 -type f` ); + (cd "${install_dir}/bin" ; "${rcsdir}/etc/splitdebug.sh" `find . -not -name \*.sh -not -name \*.bash -not -name \*.jar -not -name \*.debug -not -name \*.h -not -name libtool -perm /111 -type f` ); +fi + + +exit 0 + + + + + + + diff --git a/etc/nmakegen.def b/etc/nmakegen.def new file mode 100755 index 0000000..748329d --- /dev/null +++ b/etc/nmakegen.def @@ -0,0 +1,325 @@ +# Makefile.generic: +# Makefile definitions to be !INCLUDEd in makefiles +# for RCS Utilities and Applications +# (non-platform specific definitions only) +# - compatible with GNU Make versions 3.55+ + + +#Prevent Multiple Inclusion Warnings +#!IFNDEF GENERIC_MAKEFILE_ALREADY_INCLUDED +GENERIC_MAKEFILE_ALREADY_INCLUDED = 1 + + +# Set default platform +!IFNDEF PLAT +PLAT=win32msc +!ENDIF + +# Set default target +!IFNDEF DEFAULT_TARGET +DEFAULT_TARGET = all +!ENDIF + +default: $(DEFAULT_TARGET) + +# Set default RCS directory +!IFNDEF RCSLIB_MAIN_DIR +RCSLIB_MAIN_DIR = c:\rcslib +!ENDIF + + +!IFNDEF MAKEFILES_DIR +MAKEFILES_DIR = $(RCSLIB_MAIN_DIR)\etc +!ENDIF + +echo_plat: + echo $(MAKEFILES_DIR) + +.PHONY: echo_plat + +!IFNDEF RCS_LIBRARY_NAME +RCS_LIBRARY_NAME = librcs.a +!ENDIF + +!IFNDEF PHONY_INCLUDE_DIR +PHONY_INCLUDE_DIR = $(MAKEFILES_DIR)\phony\include +!ENDIF + +!IFNDEF PLAT +PLAT = $(osrev) +!ENDIF + + +# Define variables for directories. + +# The directory stucture under APPDIR or USER_DIR should look like: +# APPDIR\ +# src\ \* Active Source Files *\ +# +# plat\ +# sunos4\ . . . +# sunos5\ . . . +# vxworks5.1\ . . . +# where sunos4, sunos5, vxworks5.1 etc are possible values for $(PLAT) +# Each platform directory should have a directory structure under it like: +# APP_PLAT\ +# src\ /* Archived Source files. */ +# lib\ /* Object and Library files. */ +# bin\ /* Binaries and executables. */ +# !INCLUDE\ /* .h and .hh files */ + +RCS_INCLUDE = $(RCSLIB_MAIN_DIR)\plat\$(PLAT)\include +RCS_PLATBIN = $(RCSLIB_MAIN_DIR)\plat\$(PLAT)\bin +RCS_PLATLIB = $(RCSLIB_MAIN_DIR)\plat\$(PLAT)\lib + + +RCS_LIB_DIR = $(RCS_PLATLIB) +RCS_BIN_DIR = $(RCS_PLATBIN) +RCS_INCLUDE_DIR = $(RCS_INCLUDE) + +# Set default application directory. +!IFNDEF APPDIR +APPDIR = $(RCSDIR) +!ENDIF + +# Set default user directory. +!IFNDEF USER_DIR +USER_DIR = $(HOME)\$(notdir $(APPDIR)) +!ENDIF + +# Set default compiler setup +!IFNDEF COMPILER_SETUP +COMPILER_SETUP = test +!ENDIF + +APP_PLAT = $(APPDIR)\plat\$(PLAT) +USER_PLAT = $(USER_DIR)\plat\$(PLAT) + +# Release Directories and Files + +RELEASE_DIR = $(APP_PLAT) +RELEASE_INCLUDE_DIR = $(RELEASE_DIR)\include +RELEASE_LIB_DIR = $(RELEASE_DIR)\lib +RELEASE_BIN_DIR = $(RELEASE_DIR)\bin +RELEASE_SRC_DIR = $(RELEASE_DIR)\src + +!IFNDEF ARCHIVE_DIRECTORY +ARCHIVE_DIRECTORY = $(APPDIR)\archive +!ENDIF + +# Development Directories and Files + +DEVP_DIR = $(USER_PLAT) +DEVP_INCLUDE_DIR = $(DEVP_DIR)\include +DEVP_SRC_DIR = $(DEVP_DIR)\src +DEVP_LIB_DIR = $(DEVP_DIR)\lib +DEVP_BIN_DIR = $(DEVP_DIR)\bin + +# Include the platform specific Makefile definitions. +!INCLUDE $(MAKEFILES_DIR)\$(PLAT).def + + +RCS_LIBRARY = $(RCS_PLATLIB)\rcs.lib + +!IFNDEF JAVA_RUNTIME + +!IFDEF JAVA_TOOLS_DIR +JAVA_RUNTIME = $(JAVA_TOOLS_DIR)\java + +!ELSE + +JAVA_RUNTIME = java + +!ENDIF + +!ENDIF + +# Generic patterns + +# Pattern rules for C and C++ compilation + +.IGNORE: + +.c{$(DEVP_LIB_DIR)}.obj: + $(CC) /c $< $(LOCAL_CFLAGS) \ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) /Fo$@ + + +$(CPLUSPLUS_EXTENSION){$(DEVP_LIB_DIR)}.obj: + $(CPLUSPLUS) /c $< $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RELEASE_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) /Fo$@ + +.c{$(DEVP_LIB_DIR)\$(SUB_LIB_DIR)}.obj: + $(CC) /c $< $(LOCAL_CFLAGS) -I$(DEVP_INCLUDE_DIR) \ + -I$(RCS_INCLUDE) $(CFLAGS) /Fo$@ ) + + +.$(CPLUSPLUS_EXTENSION){$(DEVP_LIB_DIR)\$(SUB_LIB_DIR)}.obj: + $(CPLUSPLUS) /c $< $(LOCAL_CFLAGS) $(LOCAL_CPLUSPLUSFLAGS)\ + -I$(DEVP_INCLUDE_DIR) -I$(RCS_INCLUDE) \ + $(CFLAGS) $(CPLUSPLUSFLAGS) /Fo$@ + + + +# Phony Targets + +!IFDEF NO_COMPILING +all: headers sources + +!ELSE +all: headers sources $(DEVP_OBJS) $(DEVP_LIBS) $(DEVP_BINS) + +!ENDIF + +sources: sources_commands + +sources_commands: $(HEADERS) + copy *.$(CPLUSPLUS_EXTENSION) $(DEVP_SRC_DIR) + copy *.c $(DEVP_INCLUDE_DIR) + + +headers: headers_commands + + +headers_commands: $(HEADERS) + copy *.hpp $(DEVP_INCLUDE_DIR) + copy *.hh $(DEVP_INCLUDE_DIR) + copy *.hxx $(DEVP_INCLUDE_DIR) + copy *.h $(DEVP_INCLUDE_DIR) + + +clean_all: clean delete + +clean: clean_commands + +clean_commands: + -del $(DEVP_OBJS) + -del $(DEVP_LIBS) + -del $(DEVP_BINS) + -del $(DEVP_HEADERS) + + +delete: delete_commands + +delete_commands: + -del $(RELEASE_OBJS) + -del $(RELEASE_LIBS) + -del $(RELEASE_SRCS) + -del $(RELEASE_BINS) + -del $(RELEASE_HEADERS) + + +!IFDEF TOP_LEVEL +install: all + -copy *.$(CPLUSPLUS_EXTENSION) $(RELEASE_SRC_DIR) + -copy *.c $(RELEASE_SRC_DIR) + -copy *.h $(RELEASE_INCLUDE_DIR) + -copy *.hh $(RELEASE_INCLUDE_DIR) + -copy *.hpp $(RELEASE_INCLUDE_DIR) + -copy $(DEVP_BIN_DIR)\*.exe $(RELEASE_BIN_DIR) + -copy $(DEVP_BIN_DIR)\*.dll $(RELEASE_BIN_DIR) + -copy $(DEVP_BIN_DIR)\*.lib $(RELEASE_BIN_DIR) + -copy $(DEVP_BIN_DIR)\*.com $(RELEASE_BIN_DIR) + -copy $(DEVP_LIB_DIR)\*.lib $(RELEASE_LIB_DIR) + +!ELSE + +install: all + -copy *.$(CPLUSPLUS_EXTENSION) $(RELEASE_SRC_DIR) + -copy *.c $(RELEASE_SRC_DIR) + -copy *.h $(RELEASE_INCLUDE_DIR) + -copy *.hh $(RELEASE_INCLUDE_DIR) + -copy *.hpp $(RELEASE_INCLUDE_DIR) + +!ENDIF + + +print_variables: + -@echo OBJS = $(OBJS) + -@echo LIBS = $(LIBS) + -@echo BINS = $(BINS) + -@echo SRCS = $(SRCS) + -@echo HEADERS = $(HEADERS) + -@echo DEVP_OBJS = $(DEVP_OBJS) + -@echo DEVP_LIBS = $(DEVP_LIBS) + -@echo DEVP_BINS = $(DEVP_BINS) + -@echo DEVP_SRCS = $(DEVP_SRCS) + -@echo DEVP_HEADERS = $(DEVP_HEADERS) + -@echo RELEASE_OBJS = $(RELEASE_OBJS) + -@echo RELEASE_LIBS = $(RELEASE_LIBS) + -@echo RELEASE_BINS = $(RELEASE_BINS) + -@echo RELEASE_SRCS = $(RELEASE_SRCS) + -@echo RELEASE_HEADERS = $(RELEASE_HEADERS) + + +# Declare PHONY targets to be PHONY + +# load_source: $(OBJECT_CENTER_SRC_FILES) loadsource_message + +# load_source_message: +# echo $(OBJECT_CENTER_SRC_FILES) +# .PHONY load_source load_source_message + +.PHONY: all install depend depend_commands force_install force_install_commands + +.PHONY: delete delete_commands sources headers + +.PHONY: clean clean_commands clean_all log_install_message sources_message + +#.PHONY: run_setup_script + + + +.PRECIOUS: $(SRCS) $(HEADERS) $(RELEASE_SRCS) $(RELEASE_HEADERS) + + +#!ENDIF +# to match !IFNDEF MAKEFILE_GENERIC_ALREADY_INCLUDED +#!ENDIF + + +# Create a phony target for debug purposes. + +printenv: + -@echo PLAT = $(PLAT) + -@echo RCS_INSTALL_DIRECTORY = $(RCS_INSTALL_DIRECTORY) + -@echo RCSLIB_MAIN_DIR = $(RCSLIB_MAIN_DIR) + -@echo GENERIC_MAKEFILE = $(GENERIC_MAKEFILE) + -@echo APPDIR = $(APPDIR) + -@echo USER_DIR = $(USER_DIR) + -@echo MAKEFILES_DIR = $(MAKEFILES_DIR) + -@echo RCS_LIBRARY_NAME = $(RCS_LIBRARY_NAME) + -@echo PHONY_INCLUDE_DIR = $(PHONY_INCLUDE_DIR) + -@echo RCS_INCLUDE = $(RCS_INCLUDE) + -@echo RCS_PLATBIN = $(RCS_PLATBIN) + -@echo RCS_PLATLIB = $(RCS_PLATLIB) + -@echo RCS_LIBRARY = $(RCS_LIBRARY) + -@echo ARCHIVE_DIRECTORY = $(ARCHIVE_DIRECTORY) + -@echo CFLAGS = $(CFLAGS) + -@echo LOCAL_CFLAGS = $(LOCAL_CFLAGS) + -@echo CPLUSPLUSFLAGS = $(CPLUSPLUSFLAGS) + -@echo LOCAL_CPLUSPLUSFLAGS = $(LOCAL_CPLUSPLUSFLAGS) + -@echo DEFAULT_TARGET = $(DEFAULT_TARGET) + -@echo RELEASE_DIR = $(RELEASE_DIR) + -@echo RELEASE_INCLUDE_DIR = $(RELEASE_INCLUDE_DIR) + -@echo RELEASE_LIB_DIR = $(RELEASE_LIB_DIR) + -@echo RELEASE_BIN_DIR = $(RELEASE_BIN_DIR) + -@echo RELEASE_SRC_DIR = $(RELEASE_SRC_DIR) + -@echo RELEASE_HEADERS = $(RELEASE_HEADERS) + -@echo RELEASE_LIBS = $(RELEASE_LIBS) + -@echo RELEASE_OBJS = $(RELEASE_OBJS) + -@echo RELEASE_BINS = $(RELEASE_BINS) + -@echo DEVP_DIR = $(DEVP_DIR) + -@echo DEVP_INCLUDE_DIR = $(DEVP_INCLUDE_DIR) + -@echo DEVP_LIB_DIR = $(DEVP_LIB_DIR) + -@echo DEVP_BIN_DIR = $(DEVP_BIN_DIR) + -@echo DEVP_SRC_DIR = $(DEVP_SRC_DIR) + -@echo DEVP_HEADERS = $(DEVP_HEADERS) + -@echo DEVP_LIBS = $(DEVP_LIBS) + -@echo DEVP_OBJS = $(DEVP_OBJS) + -@echo DEVP_BINS = $(DEVP_BINS) + -@printenv + +.PHONY: printenv diff --git a/etc/platname b/etc/platname new file mode 100755 index 0000000..d23ed6e --- /dev/null +++ b/etc/platname @@ -0,0 +1,769 @@ +#!/bin/sh +#set -x + +# 20-Jun-2003 WPS moved this to the front and add warning message +# This allows this script to be more or less manually bypassed +if test "x${PLAT}" != "x" ; then + echo ${PLAT} + exit 0 +fi + +FULL_UNAME_LONG=`uname -a | sed 'y# #_#' | sed 'y#/#_#' | sed 'y#-#_#' | sed 'y#:#_#' 2>/dev/null`_${CC} 2>/dev/null + +FULL_UNAME=`echo ${FULL_UNAME_LONG} | awk '{printf("%.60s",$1);}'` + +if test "x${FULL_UNAME}" != "x" ; then + if test -f ~/.platname.${FULL_UNAME} ; then + PLAT=`head -n 1 ~/.platname.${FULL_UNAME} 2>/dev/null` 2>/dev/null + export PLAT; + fi +fi + +if test "x${PLAT}" != "x" ; then + echo ${PLAT} + exit 0 +fi + +unalias -a 2>/dev/null >/dev/null + +if test "x${platname_safe_mode}" != "xyes" ; then + +if test "x${test_cmd}" = "x" ; then + test_cmd=test; +fi + +if test "x${mv_cmd}" = "x" ; then + mv_cmd=mv; +fi + +if test "x${cp_cmd}" = "x" ; then + cp_cmd=cp; +fi + +if test "x${ln_cmd}" = "x" ; then + ln_cmd=ln; +fi + +if test "x${rm_cmd}" = "x" ; then + rm_cmd=rm; +fi + +if test "x${mkdir_cmd}" = "x" ; then + mkdir_cmd=mkdir; +fi + +if test "x${touch_cmd}" = "x" ; then + touch_cmd=mkdir; +fi + +else + +if test "x${test_cmd}" = "x" ; then + test_cmd=test; +fi + +if test "x${rm_cmd}" = "x" ; then + rm_cmd=true; +fi + +if test "x${mv_cmd}" = "x" ; then + mv_cmd=true; +fi + +if test "x${cp_cmd}" = "x" ; then + cp_cmd=true; +fi + +if test "x${ln_cmd}" = "x" ; then + ln_cmd=true; +fi + +if test "x${mkdir_cmd}" = "x" ; then + mkdir_cmd=true; +fi + +if test "x${touch_cmd}" = "x" ; then + touch_cmd=true; +fi + +# safe_mode +fi + + +if ${test_cmd} ! -f .platname_guess_warn -a ! -f ~/.platname_guess_warn ; then + + echo "Platform name is being guessed. Set the environment variable PLAT to override." 1>&2 + # Touch the platname_guess_warn files so we don't have to see this warning + # too many times. + touch .platname_guess_warn >/dev/null 2>/dev/null + touch ~/.platname_guess_warn >/dev/null 2>/dev/null + +fi + + +# 18JUN03 MGS made some additions to this file so that it would work on the 2.18 BDI +# Hopefully, it won't break anything else... + +# Uncomment the next line to aid in troubleshooting this script +#set -x + +# Save the original path and working directory +ORIGINAL_PATH=$PATH +ORIGINAL_DIR=`pwd` + +# Change to the directory containing this script +# cd ${0}/.. doesn't work with bash 2.05 and relative path names, so +# if ${0} ends up evaluating to ../etc/platname then cd ../etc/platname/.. produces# this error ../etc/platname: line 14: cd: ../etc/platname/..: No such file or directory + +if echo ${0} | grep platname >/dev/null 2>/dev/null ; then + + cd0dir1=`echo ${0} | sed s#/platname## | sed s#platname##` + cd0dir2= + if echo "$cd0dir1" | grep etc >/dev/null 2>/dev/null ; then + if ${test_cmd} -d "$cd0dir1" ; then + cd0dir2=`(cd "$cd0dir1" ; pwd )` + fi + fi + + if ${test_cmd} -d "${cd0dir2}" -a "x" != "x${cd0dir2}" -a "x${ORIGINAL_DIR}" != "x${cd0dir2}" ; then + cd "${cd0dir2}"; + fi +fi + + +# Add this directory to the PATH environment variable +# so the the which `$PROGRAM_NAME...` command doesn't fail +# We'll restore the original path at the end of the file +PATH=$PATH:`pwd` + +if ${test_cmd} "x${which_cmd}" = "x" ; then + which_cmd=which + if ${test_cmd} -x /usr/bin/which ; then + which_cmd=/usr/bin/which; + fi +fi + +if ${test_cmd} "x${mkdir_cmd}" = "x" ; then + mkdir_cmd=mkdir +fi + +# Change back to the original directory +cd $ORIGINAL_DIR + +if ${test_cmd} "0${HOME}" = 0 ; then + HOME=`(cd ~ ; pwd)`; + export HOME +fi + +if ${test_cmd} -f $HOME/.debug_scripts ; then + set -x +fi + +${rm_cmd} -r -f /tmp/platnametestfile$$ >/dev/null 2>/dev/null +touch /tmp/platnametestfile$$ + + ( cd /tmp ; ${ln_cmd} -s platnametestfile$$ platnametestfile$$.link ); + +#ls -l /tmp/platname* + +if ${test_cmd} -h /tmp/platnametestfile$$.link -a '!' -h /tmp/platnametest$$ ; then + LINK_FLAG=-h; +else + LINK_FLAG=-L; +fi + +${rm_cmd} -r -f /tmp/platnametestfile$$.link >/dev/null 2>/dev/null +${rm_cmd} -r -f /tmp/platnametestfile$$ >/dev/null 2>/dev/null + +if ${test_cmd} -x rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd rcslib/etc >/dev/null 2>/dev/null; pwd)` +elif ${test_cmd} -x ../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../rcslib/etc >/dev/null 2>/dev/null; pwd)` +elif ${test_cmd} -x ../../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../rcslib/etc >/dev/null 2>/dev/null; pwd)` +elif ${test_cmd} -x etc/platname ; then + RCSLIB_ETC_DIR=`(cd etc >/dev/null 2>/dev/null; pwd)` +elif ${test_cmd} -x ../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../etc >/dev/null 2>/dev/null; pwd)` +elif ${test_cmd} -x ../../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../etc >/dev/null 2>/dev/null; pwd)` +fi + +if ${test_cmd} "x${RCSLIB_ETC_DIR}" = "x" ; then + + if echo ${0} | grep platname >/dev/null 2>/dev/null ; then + PROGRAM_NAME=${0} + else + PROGRAM_NAME=platname + fi + + RCSLIB_ETC_DIR=`(${which_cmd} ${PROGRAM_NAME} | sed s#/platname## | sed s#platname##) 2>/dev/null` +fi + +if ${test_cmd} -x $RCSLIB_ETC_DIR/platname ; then + RCSLIB_ETC_DIR=`(cd ${RCSLIB_ETC_DIR} ; pwd)` +fi + +if ${test_cmd} ! -x $RCSLIB_ETC_DIR/platname ; then + if ${test_cmd} -x ./etc/platname ; then + RCSLIB_ETC_DIR=`(cd ./etc ; pwd)` + elif ${test_cmd} -x ../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../etc ; pwd)` + elif ${test_cmd} -x ../../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../etc ; pwd)` + elif ${test_cmd} -x ../../../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../etc ; pwd)` + elif ${test_cmd} -x ../../../../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../../etc ; pwd)` + elif ${test_cmd} -x ../../../../../etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../../../etc ; pwd)` + elif ${test_cmd} -x ./rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ./rcslib/etc ; pwd)` + elif ${test_cmd} -x ../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../rcslib/etc ; pwd)` + elif ${test_cmd} -x ../../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../rcslib/etc ; pwd)` + elif ${test_cmd} -x ../../../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../rcslib/etc ; pwd)` + elif ${test_cmd} -x ../../../../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../../rcslib/etc ; pwd)` + elif ${test_cmd} -x ../../../../../rcslib/etc/platname ; then + RCSLIB_ETC_DIR=`(cd ../../../../../rcslib/etc ; pwd)` + fi +fi + + +GAWKCMD=gawk +if ${test_cmd} ! -x /usr/bin/gawk -a ! -x /bin/gawk -a ! -x /itl/links/generic/bin/gawk -a '(' -x /usr/bin/awk -o -x /bin/awk ')' ; then + GAWKCMD=awk +fi + +PLATBASE=`uname -s | $GAWKCMD '{print(tolower($1))}'` + +PLAT=`uname -srm | sed 'y/ /_/' | sed 'y/./_/' | sed 'y/-/_/' | $GAWKCMD '{ print (tolower ( $1 ) ) }'` + +if ${test_cmd} -f ~/.no_rtl -o -f ./.no_rtl ; then + NO_RTL=1 + export NO_RTL; + NO_REALTIME=1; + export NO_REALTIME; +fi + +if ${test_cmd} -f ~/.no_rtai -o -f ./.no_rtai ; then + NO_RTAI=1; + export NO_RTAI; + NO_REALTIME=1; + export NO_REALTIME; +fi + +if ${test_cmd} -f ~/.no_realtime -o -f ./.no_realtime ; then + NO_REALTIME=1 + export NO_REALTIME; +fi + +if ${test_cmd} "x${NO_RTL}" != "x" ; then + NO_REALTIME=1; + export NO_REALTIME; +fi + +if ${test_cmd} "x${NO_RTAI}" != "x" ; then + NO_REALTIME=1; + export NO_REALTIME; +fi + +if ${test_cmd} ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${PLAT}.def -a -w ${RCSLIB_ETC_DIR} -a -d ${RCSLIB_ETC_DIR} ; then + ${rm_cmd} ${RCSLIB_ETC_DIR}/${PLAT}.def >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ./plat/${PLAT} -a -w ./plat/${PLAT} -a -d ./plat ; then + ${rm_cmd} ./plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../plat/${PLAT} -a -w ../plat/${PLAT} -a -d ../plat ; then + ${rm_cmd} ../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../../plat/${PLAT} -a -w ../../plat/${PLAT} -a -d ../../plat ; then + ${rm_cmd} ../../plat/${PLAT} >/dev/null 2>/dev/null; +fi + + +if ${test_cmd} $PLATBASE = "linux" ; then + if ${test_cmd} "x${NO_REALTIME}" = "x" ; then + HAVERTLINUX=`$RCSLIB_ETC_DIR/havertlinux.sh` + if echo $HAVERTLINUX | grep YES >/dev/null 2>/dev/null ; then + PLAT_END=`echo $PLAT | sed s/linux_//` + PLAT=`echo "linux_rtl_"$PLAT_END` + PLATBASE=linux_rtl + fi + HAVERTAI=`$RCSLIB_ETC_DIR/havertai.sh` + if echo $HAVERTAI | grep YES >/dev/null 2>/dev/null ; then +#cat /proc/ksyms 2>/dev/null | grep rthal > /dev/null 2>/dev/null ; then + PLAT_END=`echo $PLAT | sed s/linux_//` + PLAT=`echo "linux_rtai_"$PLAT_END` + PLATBASE=linux_rtai + fi + fi +fi + +if ${test_cmd} ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${PLAT}.def -a -w ${RCSLIB_ETC_DIR} -a -d ${RCSLIB_ETC_DIR} ; then + ${rm_cmd} ${RCSLIB_ETC_DIR}/${PLAT}.def >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ./plat/${PLAT} -a -w ./plat/${PLAT} -a -d ./plat ; then + ${rm_cmd} ./plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../plat/${PLAT} -a -w ../plat/${PLAT} -a -d ../plat ; then + ${rm_cmd} ../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../../plat/${PLAT} -a -w ../../plat/${PLAT} -a -d ../../plat ; then + ${rm_cmd} ../../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +OLD_PLAT=`uname -sr | sed 'y/ /_/' | sed 'y/./_/' | sed s/-rtl.\*\$// | sed 'y/-/_/' | $GAWKCMD '{ printf ( "%s",tolower ( $1 ) ) }'` + +if ${test_cmd} ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${OLD_PLAT}.def -a -w ${RCSLIB_ETC_DIR} -a -d ${RCSLIB_ETC_DIR} ; then + ${rm_cmd} ${RCSLIB_ETC_DIR}/${OLD_PLAT}.def >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ./plat/${OLD_PLAT} -a -w ./plat/${OLD_PLAT} -a -d ./plat ; then + ${rm_cmd} ./plat/${OLD_PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../plat/${OLD_PLAT} -a -w ../plat/${OLD_PLAT} -a -d ../plat ; then + ${rm_cmd} ../plat/${OLD_PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../../plat/${OLD_PLAT} -a -w ../../plat/${OLD_PLAT} -a -d ../../plat ; then + ${rm_cmd} ../../plat/${OLD_PLAT} >/dev/null 2>/dev/null; +fi + + +if ${test_cmd} -f /usr/include/features.h ; then + if grep _GLIBC /usr/include/features.h >/dev/null 2>/dev/null ; then + GLIBC_MAJOR_VERSION=`grep __GLIBC__ /usr/include/features.h | grep '#define' | grep -v PREREQ | head -n 1 | awk '{printf("%s",$3);}'` + GLIBC_MINOR_VERSION=`grep __GLIBC_MINOR__ /usr/include/features.h | grep '#define' | grep -v PREREQ | head -n 1 | awk '{printf("%s",$3);}'` + PLAT=`echo $PLAT"_glibc_"$GLIBC_MAJOR_VERSION"_"$GLIBC_MINOR_VERSION` + fi +fi + +if ${test_cmd} "x${CC}" != "x" ; then + C_COMPILER=${CC} +fi + + +if ${test_cmd} "0$C_COMPILER" = "0" ; then + if ${which_cmd} gcc >/dev/null 2>/dev/null ; then + C_COMPILER=gcc; + export C_COMPILER; + elif ${which_cmd} cc >/dev/null 2>/dev/null ; then + C_COMPILER=cc; + exprot C_COMPILER; + fi +fi + +if ${which_cmd} $C_COMPILER >/dev/null 2>/dev/null ; then + C_COMPILER_VERSION=`$C_COMPILER -v 2>&1 | grep version | awk '{print $3}'` + PLAT=`echo $PLAT"_"$C_COMPILER"_"$C_COMPILER_VERSION | sed 'y/ /_/' | sed 'y/./_/' | sed 'y/-/_/' | $GAWKCMD '{ print (tolower ( $1 ) ) }'` +fi + +PLAT=`echo ${PLAT} | sed 's#/.*$##' | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|'` + +ORIG_PLAT=$PLAT + +if ${test_cmd} ${LINK_FLAG} ./plat/${PLAT} -a -w ./plat/${PLAT} -a -d ./plat ; then + ${rm_cmd} ./plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../plat/${PLAT} -a -w ../plat/${PLAT} -a -d ../plat ; then + ${rm_cmd} ../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../../plat/${PLAT} -a -w ../../plat/${PLAT} -a -d ../../plat ; then + ${rm_cmd} ../../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} -d $RCSLIB_ETC_DIR ; then + + while ( ${test_cmd} "!" -f ${RCSLIB_ETC_DIR}/${PLAT}.def -a "!" ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${PLAT}.def -a "0${PLAT}" != 0 ) && ( echo ${PLAT} | grep _ ) ; do + if ${test_cmd} ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${PLAT}.def -a -w ${RCSLIB_ETC_DIR}; then + ${rm_cmd} ${RCSLIB_ETC_DIR}/${PLAT}.def >/dev/null 2>/dev/null; + fi + PLAT=`echo $PLAT | sed 's/_[^_]*$//'` + done +fi + +if ${test_cmd} "!" -f ${RCSLIB_ETC_DIR}/${PLAT}.def -a "!" ${LINK_FLAG} ${RCSLIB_ETC_DIR}/${PLAT}.def ; then + PLAT=unknown + echo ${PLAT} + exit 0 +fi + + +if ${test_cmd} ${LINK_FLAG} ./plat/${PLAT} -a -w ./plat/${PLAT} -a -d ./plat ; then + ${rm_cmd} ./plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../plat/${PLAT} -a -w ../plat/${PLAT} -a -d ../plat ; then + ${rm_cmd} ../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} ../../plat/${PLAT} -a -w ../../plat/${PLAT} -a -d ../../plat ; then + ${rm_cmd} ../../plat/${PLAT} >/dev/null 2>/dev/null; +fi + +if ${test_cmd} ${LINK_FLAG} $RCSLIB_ETC_DIR/$PLAT.def ; then + NEWPLAT=`ls -l $RCSLIB_ETC_DIR/$PLAT.def | sed 's/^.*-> //' | sed 's#^.*/##' | sed 's/[.]def//' | sed 'y/ /_/' | sed 'y/./_/' | sed 'y/-/_/' | $GAWKCMD '{ print (tolower ( $1 ) ) }' ` + if ${test_cmd} 0$NEWPLAT != 0 ; then + PLAT=$NEWPLAT + fi +fi + + +if test "x${platname_safe_mode}" = "xyes" ; then + + PLAT=`echo ${PLAT} | sed 's#/.*$##' | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|'` + + export PLAT + echo $PLAT + exit 0 +fi + + +if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$ORIG_PLAT ; then + ( cd plat; ${mkdir_cmd} $ORIG_PLAT; cd $ORIG_PLAT; ${mkdir_cmd} lib src include bin;); +fi +if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$ORIG_PLAT ; then + ( cd ../plat; ${mkdir_cmd} $ORIG_PLAT; cd $ORIG_PLAT; ${mkdir_cmd} lib src include bin ); +fi +if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$ORIG_PLAT ; then + ( cd ../../plat; ${mkdir_cmd} $ORIG_PLAT; cd $ORIG_PLAT; ${mkdir_cmd} lib src include bin ); +fi + +if ${test_cmd} 0$ORIG_PLAT != 0$PLAT ; then + + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ${LINK_FLAG} $RCSLIB_ETC_DIR/$ORIG_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR; ${rm_cmd} -f $ORIG_PLAT.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$ORIG_PLAT.def ; then + (cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $PLAT.def $ORIG_PLAT.def; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a -d ./plat/$PLAT -a '!' ${LINK_FLAG} ./plat/$PLAT ; then + ( cd plat; ${mv_cmd} $PLAT old_dir_$PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a -d ../plat/$PLAT -a '!' ${LINK_FLAG} ../plat/$PLAT ; then + ( cd ../plat; ${mv_cmd} $PLAT old_dir_$PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a -d ../../plat/$PLAT -a '!' ${LINK_FLAG} ../../plat/$PLAT ; then + ( cd ../../plat; ${mv_cmd} $PLAT old_dir_$PLAT; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/$PLAT ; then + ( cd plat; ${rm_cmd} -f $PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/$PLAT ; then + ( cd ../plat; ${rm_cmd} -f $PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/$PLAT ; then + ( cd ../../plat; ${rm_cmd} -f $PLAT; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$PLAT ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$PLAT ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$PLAT ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $PLAT; ); + fi +fi + +if ${test_cmd} -f /etc/redhat-release ; then + +# /etc/redhat_relaese on a 2.18 BDI contains the following lines: +# Realtime Linux for EMC +# Based on RH 6.0 6.1, and 6.2 Linux +# MGS added an extra sed operation at the end of this line +# to remove the comma at the end of the fifth element - "6.1,". + REDHAT_VERSION=`cat /etc/redhat-release | awk '{print $5}' | sed 'y/./_/' | sed 'y/-/_/' | sed 's/,//'` +# MGS also added an extra sed operation at the end of this line +# to remove the space between "redhat_" and "6_1". + REDHAT_PLAT=`echo "redhat_"$REDHAT_VERSION | sed 's/ //'` +# Uncomment these echo statements to see the result of the variable assignments: +#echo $REDHAT_VERSION +#echo $REDHAT_PLAT + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ${LINK_FLAG} $RCSLIB_ETC_DIR/$REDHAT_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR; ${rm_cmd} -f $REDHAT_PLAT.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$REDHAT_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $ORIG_PLAT.def $REDHAT_PLAT.def; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/$REDHAT_PLAT ; then + ( cd plat; ${rm_cmd} -f $REDHAT_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/$REDHAT_PLAT ; then + ( cd ../plat; ${rm_cmd} -f $REDHAT_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/$REDHAT_PLAT ; then + ( cd ../../plat; ${rm_cmd} -f $REDHAT_PLAT; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$REDHAT_PLAT ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $REDHAT_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$REDHAT_PLAT ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $REDHAT_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$REDHAT_PLAT ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $REDHAT_PLAT; ); + fi + +fi + +if ${test_cmd} 0$PLATBASE != 0$ORIG_PLAT ; then + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ${LINK_FLAG} $RCSLIB_ETC_DIR/$PLATBASE.def ; then + ( cd $RCSLIB_ETC_DIR; ${rm_cmd} -f $PLATBASE.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$PLATBASE.def ; then + ( cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $ORIG_PLAT.def $PLATBASE.def; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a -d ./plat/$PLATBASE -a '!' ${LINK_FLAG} ./plat/$PLATBASE ; then + ( cd plat; ${mv_cmd} $PLATBASE old_dir_$PLATBASE; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a -d ../plat/$PLATBASE -a '!' ${LINK_FLAG} ../plat/$PLATBASE ; then + ( cd ../plat; ${mv_cmd} $PLATBASE old_dir_$PLATBASE; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a -d ../../plat/$PLATBASE -a '!' ${LINK_FLAG} ../../plat/$PLATBASE ; then + ( cd ../../plat; ${mv_cmd} $PLATBASE old_dir_$PLATBASE; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/$PLATBASE ; then + ( cd plat; ${rm_cmd} -f $PLATBASE; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/$PLATBASE ; then + ( cd ../plat; ${rm_cmd} -f $PLATBASE; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/$PLATBASE ; then + ( cd ../../plat; ${rm_cmd} -f $PLATBASE; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$PLATBASE ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $PLATBASE; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$PLATBASE ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $PLATBASE; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$PLATBASE ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $PLATBASE; ); + fi +fi + +if ${test_cmd} 0$OLD_PLAT != 0$ORIG_PLAT ; then + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ${LINK_FLAG} $RCSLIB_ETC_DIR/$OLD_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR; ${rm_cmd} -f $OLD_PLAT.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$OLD_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $ORIG_PLAT.def $OLD_PLAT.def; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/$OLD_PLAT ; then + ( cd plat; ${rm_cmd} -f $OLD_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/$OLD_PLAT ; then + ( cd ../plat; ${rm_cmd} -f $OLD_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/$OLD_PLAT ; then + ( cd ../../plat; ${rm_cmd} -f $OLD_PLAT; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a -d ./plat/$OLD_PLAT -a '!' ${LINK_FLAG} ./plat/$OLD_PLAT ; then + ( cd plat; ${mv_cmd} $OLD_PLAT old_dir_$OLD_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a -d ../plat/$OLD_PLAT -a '!' ${LINK_FLAG} ../plat/$OLD_PLAT ; then + ( cd ../plat; ${mv_cmd} $OLD_PLAT old_dir_$OLD_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a -d ../../plat/$OLD_PLAT -a '!' ${LINK_FLAG} ../../plat/$OLD_PLAT ; then + ( cd ../../plat; ${mv_cmd} $OLD_PLAT old_dir_$OLD_PLAT; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$OLD_PLAT ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $OLD_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$OLD_PLAT ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $OLD_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$OLD_PLAT ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $OLD_PLAT; ); + fi +fi + +if ${test_cmd} 0$PLAT_IS_REALTIME != 01 ; then + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/nonrealtime ; then + ( cd plat; ${rm_cmd} -f nonrealtime; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/nonrealtime ; then + ( cd ../plat; ${rm_cmd} -f nonrealtime; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/nonrealtime ; then + ( cd ../../plat; ${rm_cmd} -f nonrealtime; ); + fi + + + if ${test_cmd} -w ./plat -a -d ./plat -a -d ./plat/nonrealtime -a '!' ${LINK_FLAG} ./plat/nonrealtime ; then + ( cd plat; ${mv_cmd} nonrealtime old_dir_nonrealtime; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a -d ../plat/nonrealtime -a '!' ${LINK_FLAG} ../plat/nonrealtime ; then + ( cd ../plat; ${mv_cmd} nonrealtime old_dir_nonrealtime; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a -d ../../plat/nonrealtime -a '!' ${LINK_FLAG} ../../plat/nonrealtime ; then + ( cd ../../plat; ${mv_cmd} nonrealtime old_dir_nonrealtime; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/nonrealtime -a ! ${LINK_FLAG} ./plat/nonrealtime ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT nonrealtime; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/nonrealtime -a ! ${LINK_FLAG} ../plat/nonrealtime ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT nonrealtime; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/nonrealtime -a ! ${LINK_FLAG} ../../plat/nonrealtime ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT nonrealtime; ); + fi + +else + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/realtime ; then + ( cd plat; ${rm_cmd} -f realtime; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/realtime ; then + ( cd ../plat; ${rm_cmd} -f realtime; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/realtime ; then + ( cd ../../plat; ${rm_cmd} -f realtime; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/realtime ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT realtime; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/realtime ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT realtime; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/realtime ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT realtime; ); + fi +fi + +if ${test_cmd} -f /etc/debian_version ; then + DEBIAN_VERSION=`cat /etc/debian_version | sed "y/./_/" | sed "y/-/_/" | sed "y#/#_#"` + DEBIAN_PLAT=`echo "debian_"$DEBIAN_VERSION` + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ${LINK_FLAG} $RCSLIB_ETC_DIR/$DEBIAN_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR; ${rm_cmd} -f $DEBIAN_PLAT.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$DEBIAN_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $ORIG_PLAT.def $DEBIAN_PLAT.def; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ${LINK_FLAG} ./plat/$DEBIAN_PLAT ; then + ( cd plat; ${rm_cmd} -f $DEBIAN_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ${LINK_FLAG} ../plat/$DEBIAN_PLAT ; then + ( cd ../plat; ${rm_cmd} -f $DEBIAN_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ${LINK_FLAG} ../../plat/$DEBIAN_PLAT ; then + ( cd ../../plat; ${rm_cmd} -f $DEBIAN_PLAT; ); + fi + + + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$DEBIAN_PLAT ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $DEBIAN_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$DEBIAN_PLAT ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $DEBIAN_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$DEBIAN_PLAT ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $DEBIAN_PLAT; ); + fi + +fi + + +# This will add a link for Solaris version if we are running solaris. +if ${test_cmd} -f /etc/release ; then + ETC_RELEASE_NAME=`head -n 1 /etc/release | awk '{print $1}'` + ETC_RELEASE_VERSION=`head -n 1 /etc/release | awk '{print $2}'` + ETC_RELEASE_PLAT=`echo $ETC_RELEASE_NAME"_"$ETC_RELEASE_VERSION | sed "y/ /_/" | sed "y/./_/" | sed "y/-/_/" | $GAWKCMD '{ print (tolower ( $1 ) ) }'` + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$ETC_RELEASE_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR ; ${rm_cmd} -f $ETC_RELEASE_PLAT.def; ); + fi + + if ${test_cmd} -w $RCSLIB_ETC_DIR -a -d $RCSLIB_ETC_DIR -a ! -f $RCSLIB_ETC_DIR/$ETC_RELEASE_PLAT.def ; then + ( cd $RCSLIB_ETC_DIR ; ${ln_cmd} -s $ORIG_PLAT.def $ETC_RELEASE_PLAT.def; ); + fi + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$ETC_RELEASE_PLAT ; then + ( cd plat; ${rm_cmd} -f $ETC_RELEASE_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$ETC_RELEASE_PLAT ; then + ( cd ../plat; ${rm_cmd} -f $ETC_RELEASE_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$ETC_RELEASE_PLAT ; then + ( cd ../../plat; ${rm_cmd} -f $ETC_RELEASE_PLAT; ); + fi + + + + if ${test_cmd} -w ./plat -a -d ./plat -a ! -d ./plat/$ETC_RELEASE_PLAT ; then + ( cd plat; ${ln_cmd} -s $ORIG_PLAT $ETC_RELEASE_PLAT; ); + fi + if ${test_cmd} -w ../plat -a -d ../plat -a ! -d ../plat/$ETC_RELEASE_PLAT ; then + ( cd ../plat; ${ln_cmd} -s $ORIG_PLAT $ETC_RELEASE_PLAT; ); + fi + if ${test_cmd} -w ../../plat -a -d ../../plat -a ! -d ../../plat/$ETC_RELEASE_PLAT ; then + ( cd ../../plat; ${ln_cmd} -s $ORIG_PLAT $ETC_RELEASE_PLAT; ); + fi +fi + +# Here's where we restore the original path +PATH=$ORIGINAL_PATH + +if ${test_cmd} "x${FULL_UNAME}" != "x" ; then + ${rm_cmd} -f ~/.platname.* >/dev/null 2>/dev/null ; + ( echo "${PLAT}" > "~/.platname.${FULL_UNAME}" 2>/dev/null ; ) 2>/dev/null +fi + +PLAT=`echo ${PLAT} | sed 's#/.*$##' | sed 'y#., ()-:;/|!?*&<>{}#__________________#' | sed 'y|#|_|'` + +export PLAT +echo $PLAT + + + + + + + + + + + diff --git a/etc/plot.sh b/etc/plot.sh new file mode 100755 index 0000000..d81dcf4 --- /dev/null +++ b/etc/plot.sh @@ -0,0 +1,93 @@ +#! /bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; +fi + +dir0=${0%/*}; +dir0_abs=`cd $dir0 ; pwd` + +if test "x${script_dir}" = "x" ; then + if test -x ./plot.sh ; then + script_dir=./; + elif test -x "${dir0_abs}/plot.sh" ; then + script_dir="${dir0_abs}/"; + elif test -x "${RCSLIB_DIR}/bin/plot.sh" ; then + script_dir="${RCSLIB_DIR}/bin/"; + elif test -x "${RCSLIB_DIR}/etc/plot.sh" ; then + script_dir="${RCSLIB_DIR}/etc/"; + fi +fi + +if echo "${PATH}" | grep -v "/usr/java/current" >/dev/null 2>/dev/null ; then + if test -d "/usr/java/currentJava/bin" ; then + PATH="/usr/java/currentJava/bin:${PATH}"; + elif test -d "/usr/java/current_java/bin" ; then + PATH="/usr/java/current_java/bin:${PATH}"; + fi + export PATH; +fi + +if test -x ${script_dir}jdk_dir.sh ; then + JDK_DIR=`${script_dir}jdk_dir.sh`; +fi + +if test -x ${script_dir}jre_dir.sh ; then + JRE_DIR=`${script_dir}jre_dir.sh`; +fi + +JAVA=java; + +if test -x "${JDK_DIR}/bin/java" ; then + JAVA="${JDK_DIR}/bin/java"; +fi + +if test -x "${JRE_DIR}/bin/java" ; then + JAVA="${JRE_DIR}/bin/java"; +fi + +if test "x${DEBUG}" = "x1" ; then + echo 'ls -ld /usr/java/?urrent*ava' + ls -ld /usr/java/?urrent*ava; +fi + + +if test "x${DEBUG}" = "x1" ; then + + echo "JRE_DIR=${JRE_DIR}"; + echo "JDK_DIR=${JDK_DIR}"; + echo "JAVA=${JAVA}"; + + echo "which java"; + which java; + echo "which ${JAVA}"; + which "${JAVA}"; + + echo "java -version"; + java -version; + echo "${JAVA} -version"; + "${JAVA}" -version; + + echo + echo +fi + + +if test "x${PLOTTER_NB_JAR}" = "x" ; then + PLOTTER_NB_JAR=`${script_dir}find_plotter_NB_jar.sh`; +fi + + +if test "x${DEBUG}" != "x" ; then + export JAVA_PLOTTER_FLAGS="${JAVA_PLOTTER_FLAGS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n "; + echo "${JAVA}" ${JAVA_PLOTTER_FLAGS} -jar "${PLOTTER_NB_JAR}" $*; + echo + echo + +fi + +echo JAVA="${JAVA}"; +"${JAVA}" -version; +( set -x; "${JAVA}" ${JAVA_PLOTTER_FLAGS} -jar "${PLOTTER_NB_JAR}" $*; ) + + diff --git a/etc/qnx_6_00.def b/etc/qnx_6_00.def new file mode 100644 index 0000000..8c61997 --- /dev/null +++ b/etc/qnx_6_00.def @@ -0,0 +1,80 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = qnx + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + + +SEARCH_PATH_FLAG = +RCS_LIB_SEARCH_PATH= + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -Dqnx -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -L/usr/lib -Dqnx + +CLINK = -lrpc -lsocket +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -shared + + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + + + +# disable SCCS make rule for qnx +% : SCCS/s.% + @true + +% :: RCS/%,v + @true + + +MKDIR_CMD=mkdir -p diff --git a/etc/qnx_6_1.def b/etc/qnx_6_1.def new file mode 100644 index 0000000..03bf985 --- /dev/null +++ b/etc/qnx_6_1.def @@ -0,0 +1,82 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = qnx + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + + +SEARCH_PATH_FLAG = +RCS_LIB_SEARCH_PATH= + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -Dqnx -D$(PLAT) -DPLATNAME=\"$(PLAT)\" -L/usr/lib + +CLINK = -lrpc -lsocket +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) -fhonor-std -fno-builtin +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +DYNAMIC_LINK_FLAG = -shared + + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a +STRIP = strip + + + +# disable SCCS make rule for qnx +% : SCCS/s.% + @true + +% :: RCS/%,v + @true + + +MKDIR_CMD=mkdir -p + +RCS_LINK_FLAG=$(RCS_PLATLIB)/librcs.a diff --git a/etc/realplat.sh b/etc/realplat.sh new file mode 100755 index 0000000..762a562 --- /dev/null +++ b/etc/realplat.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +if [ -f ~/.debug_scripts ] ; then + set -x + echo '$#='$# + echo '$0='$0 + echo '$1='$1 + echo '$2='$2 +fi + +if [ $# -gt 0 ] ; then + PLAT=$1 +fi + +if [ $# -gt 1 ] ; then + RCSLIB_MAIN_DIR=$2 +fi + +if [ -d ${RCSLIB_MAIN_DIR} -a '!' -e ${RCSLIB_MAIN_DIR}/plat ] ; then + mkdir ${RCSLIB_MAIN_DIR}/plat; +fi + +cd ${RCSLIB_MAIN_DIR}/plat ; + + +if [ ! -h ${PLAT} ] ; then + echo ${PLAT} ; +else + ls -l ${PLAT} | sed 's#^l.*-> ##' ; +fi diff --git a/etc/rebuildconfig.sh b/etc/rebuildconfig.sh new file mode 100755 index 0000000..d391c5b --- /dev/null +++ b/etc/rebuildconfig.sh @@ -0,0 +1,19 @@ +#! /bin/sh + +set -x + +if [ ! -d etc -o ! -d src -o ! -f configure.ac -o ! -x etc/findsources.sh -o ! -f src/rcsvers.hh ] ; then + echo "This script is being run from the wrong directory" + exit -1 +fi + +if [ ! -w . -o ! -w etc ] ; then + echo "You need write permission to run this script." +fi + +#find etc -lname \*.def -exec rm {} \; + +# etc/findsources.sh && \ + +aclocal && autoheader && automake && \ +autoconf && ./configure && make diff --git a/etc/rtai.def b/etc/rtai.def new file mode 100644 index 0000000..fc4718c --- /dev/null +++ b/etc/rtai.def @@ -0,0 +1,87 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtai +PLAT=RTAI + +# The C compiler. +ifndef CC +CC = gcc +endif + +ifndef CXX +CXX=g++ +endif + +# The C++ compiler. +ifndef CPLUSPLUS +CPLUSPLUS = $(CXX) +endif + +CPLUSPLUS_EXTENSION = cc + + +RTAI_DIR := $(shell $(RCSLIB_MAIN_DIR)/etc/rtaidir ) + +KERNEL_DIR:=$(shell $(RCSLIB_MAIN_DIR)/etc/linuxkerneldir) + +RTAI_INCLUDE:=-I$(RTAI_DIR)/include + +include $(RTAI_DIR)/Rules.make + +CFLAGS :=$(CFLAGS_FP) + +CFLAGS += -DUSE_RTAI $(RTAI_INCLUDE) + +BUILD_REALTIMEONLY=1 + +NO_CPLUSPLUS=1 + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 -ffast-math +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" -Dnocplusplus -Drealtimeonly -I$(KERNEL_DIR)/include -DLINUX -Dlinux $(OPTIMIZE_FLAG) +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ diff --git a/etc/rtaidir b/etc/rtaidir new file mode 100755 index 0000000..b66eea5 --- /dev/null +++ b/etc/rtaidir @@ -0,0 +1,120 @@ +#!/bin/bash + +if test "x${RTAIDIR}" != "x" ; then + echo ${RTAIDIR} + exit 0 +fi + +FULL_UNAME=`uname -a | sed 'y# #_#' | sed 'y#/#_#' | sed 'y#-#_#' | sed 'y#:#_#' 2>/dev/null`_${CC} 2>/dev/null + +if test "x${FULL_UNAME}" != "x" ; then + if test -f ~/.rtaidir.${FULL_UNAME} ; then + RTAIDIR=`head -n 1 ~/.rtaidir.${FULL_UNAME} 2>/dev/null` 2>/dev/null + export RTAIDIR; + fi +fi + +if test "x${RTAIDIR}" != "x" ; then + echo ${RTAIDIR} + exit 0 +fi + +if test ! -f .rtaidir_guess_warn -a ! -f ~/.rtaidir_guess_warn ; then + echo "Trying to guess RTAI directory." 1>&2 + echo "Set the environment variable RTAIDIR to override this." 1>&2 + touch .rtaidir_guess_warn >/dev/null 2>/dev/null + touch ~/.rtaidir_guess_warn >/dev/null 2>/dev/null +fi + +rev=`uname -r` + +\rm -f /tmp/linktest* >/dev/null 2>/dev/null + + ( cd /tmp ; touch linktestfile$$ ; ln -s linktestfile$$ linktestfile$$.link ); >/dev/null 2>/dev/null + +#ls -l /tmp/link* + +if test -h /tmp/linktestfile$$.link -a '!' -h /tmp/linktestfile$$ ; then + LINK_FLAG=-h; +else + LINK_FLAG=-L; +fi + +\rm -f /tmp/linktest* >/dev/null 2>/dev/null + +if test ${LINK_FLAG} /usr/src/rtai ; then + RTAIDIR=/usr/src/rtai + export RTAIDIR + if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.rtaidir.* 2>/dev/null ; + echo ${RTAIDIR} > ~/.rtaidir.${FULL_UNAME} 2>/dev/null ; + fi + echo ${RTAIDIR} + exit 0 +fi + + +if ! /sbin/ksyms -a | grep rthal >/dev/null 2>/dev/null ; then + echo "RTAI does not appear to be installed." 1>&2 + RTAIDIR=/usr/src/rtai + export RTAIDIR + if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.rtaidir.* >/dev/null 2>/dev/null ; + fi + echo ${RTAIDIR} + exit -1 +fi + +function search_list { + for i in $rtaifiles ; do + if [ -f $i ] ; then + iver=`objdump -s -j .modinfo $i | gawk '{printf("%s", $6)} END {printf("%s\n",$NF);}'| sed 's/[.]parm.*$//' | sed 's/kernel_version=//' | sed 's/[.]$//' | sed 's/.using_.*$//' | sed 's/.license.*$//'` + if [ "$iver" = "$rev" ] ; then + RTAIDIR=`echo $i | sed 's%/rtai$%%' | sed 's%/rtai.o$%%' | sed 's%/modules$%%' |sed 's%/rtaidir$%%' ` + if test ! -f ~/.rtaidir_printed ; then + echo "RTAIDIR=${RTAIDIR}" 1>&2 + touch ~/.rtaidir_printed + fi + export RTAIDIR + echo $RTAIDIR + if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.rtaidir.* 2>/dev/null ; + echo ${RTAIDIR} > ~/.rtaidir.${FULL_UNAME} 2>/dev/null ; + fi + exit 0 + fi + fi + done +} + +rtaifiles=`find /usr/src/rtai/ -maxdepth 3 -type f '(' -name rtai.o -o -name rtai ')'` +if test "x${rtaifiles}" != "x" ; then + search_list +fi + +for i in /usr/src/rtai* ; do + if [ -d $i ] ; then + rtaifiles=`find $i -maxdepth 3 -type f '(' -name rtai.o -o -name rtai ')'` + search_list + fi +done + +if [ -x `which locate 2>/dev/null` ] ; then + rtaifiles="/usr/src/rtai/rtai `locate '*/rtai*/rtai'`" + search_list +fi + + +rtaifiles=/usr/src/rtai/rtai `find /usr/src/ -maxdepth 3 -type f '(' -name rtai -o -name rtai.o ')' 2>/dev/null` +search_list + +RTAIDIR=/usr/src/rtai + +if test "x${FULL_UNAME}" != "x" ; then + \rm -f ~/.rtaidir.* >/dev/null 2>/dev/null ; +fi + + +echo "Could not find RTAI directory under /usr/src, trying ${RTAIDIR} anyway" 1>&2 +echo ${RTAIDIR} +exit -1 diff --git a/etc/rtlinux.def b/etc/rtlinux.def new file mode 100644 index 0000000..37e1213 --- /dev/null +++ b/etc/rtlinux.def @@ -0,0 +1,64 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# 13-may-2001 KJO Change RTLMKFILE path to use /usr/src/rtlinux link +# as recommended by rtlinux distribution. Add -follow option to 'find'. +RTLMKFILE := $(shell find /usr/src/rtlinux -follow -name rtl.mk | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + +include $(RTLMKFILE) + +$(RTLMKFILE): + -@( echo foo > /dev/null) + + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -Drtlinux2 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ diff --git a/etc/rtlinux_2_0.def b/etc/rtlinux_2_0.def new file mode 100644 index 0000000..b2e8d74 --- /dev/null +++ b/etc/rtlinux_2_0.def @@ -0,0 +1,72 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +RTLMKFILE := $(shell find /usr/src/rtlinux-2.0/ -name rtl.mk | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + +include $(RTLMKFILE) + +$(RTLMKFILE): + -@( echo foo > /dev/null) + +ifndef WARN_FLAG +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -Drtlinux2 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" $(OPTIMIZE_FLAG) +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +CPLUSPLUSLINK = $(CLINK) +MAKEDEPEND_CFLAGS = -DRTLINUX -Drtlinux -Drtlinux2 -DNO_STDIO_SUPPORT -D$(PLAT) $(INCLUDE) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +STRIP = strip +LD = gcc + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +RCS_LINK_FLAG = -L$(RCS_PLATLIB) -lrcs + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + +NEVER_USE_GENERIC_DEPEND=1 diff --git a/etc/rtlinux_2_2.def b/etc/rtlinux_2_2.def new file mode 100644 index 0000000..0a8d490 --- /dev/null +++ b/etc/rtlinux_2_2.def @@ -0,0 +1,76 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + +RTLMKFILE := $(shell find /usr/src/rtlinux-2.2/ -name rtl.mk | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + +include $(RTLMKFILE) + +$(RTLMKFILE): + -@( echo foo > /dev/null) + + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 -ffast-math +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -Drtlinux2 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" -Drealtimeonly -Dnocplusplus $(OPTIMIZE_FLAG) + +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +NEVER_USE_GENERIC_DEPEND=1 +NO_RCS_VERSION=1 diff --git a/etc/rtlinux_2_3.def b/etc/rtlinux_2_3.def new file mode 100644 index 0000000..d5a90c1 --- /dev/null +++ b/etc/rtlinux_2_3.def @@ -0,0 +1,74 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + +RTLMKFILE := $(shell find /usr/src/rtlinux-2.3/ -name rtl.mk | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + +include $(RTLMKFILE) + +$(RTLMKFILE): + -@( echo foo > /dev/null) + + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -Drtlinux2 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" $(OPTIMIZE_FLAG) +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +NEVER_USE_GENERIC_DEPEND=1 diff --git a/etc/rtlinux_3_0.def b/etc/rtlinux_3_0.def new file mode 100644 index 0000000..9a022df --- /dev/null +++ b/etc/rtlinux_3_0.def @@ -0,0 +1,91 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + + +# 13-may-2001 KJO Change RTLMKFILE path to use /usr/src/rtlinux link +# as recommended by rtlinux distribution. Add -follow option to 'find'. +RTLMKFILE := $(shell find /usr/src/rtlinux -follow -name rtl.mk 2>/dev/null | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + + +include $(RTLMKFILE) + + +$(RTLMKFILE): + -@( echo foo > /dev/null) + + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif +ifdef NO_WARN +WARN_FLAG=-w +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +# -ffast-math is somewhat dangerous but currrently a necessary evil +OPTIMIZE_FLAG = -O2 -ffast-math +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -D_GNU_SOURCE -Drtlinux2 -Drtlinux3 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" -Drealtimeonly -Dnocplusplus $(OPTIMIZE_FLAG) +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +NEVER_USE_GENERIC_DEPEND=1 +NO_RCS_VERSION=1 + + + + + + + + + + + diff --git a/etc/rtlinux_3_2.def b/etc/rtlinux_3_2.def new file mode 100644 index 0000000..253bf5d --- /dev/null +++ b/etc/rtlinux_3_2.def @@ -0,0 +1,92 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = rtlinux + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +# Use "g++ -M" instead of makedepend. +USE_GPP_M=1 + + +# 13-may-2001 KJO Change RTLMKFILE path to use /usr/src/rtlinux link +# as recommended by rtlinux distribution. Add -follow option to 'find'. +#RTLMKFILE := $(shell find /usr/src/rtlinux -follow -name rtl.mk 2>/dev/null | grep -v examples | grep -v drivers | grep -v schedulers | grep -v fifos | grep -v system ) + +RTLMKFILE := $(strip $(shell $(RCSLIB_MAIN_DIR)/etc/rtlinuxdir.sh))/rtl.mk + +include $(RTLMKFILE) + + +$(RTLMKFILE): + -@( echo foo > /dev/null) + + + +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif +ifdef NO_WARN +WARN_FLAG=-w +endif + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +# -ffast-math is somewhat dangerous but currrently a necessary evil +OPTIMIZE_FLAG = -O2 -ffast-math +endif +endif + + +# The C and C++ compilation flags to be used. +CFLAGS := -DRTLINUX -Drtlinux -D_GNU_SOURCE -Drtlinux2 -Drtlinux3 -DNO_STDIO_SUPPORT -D$(PLAT) $(WARN_FLAG) $(CFLAGS) -DPLATNAME=\"$(PLAT)\" -Drealtimeonly -Dnocplusplus $(OPTIMIZE_FLAG) +CLINK = +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ $(CFLAGS) +CPLUSPLUSLINK = $(CLINK) + +# makedepend must be run from a sun. (Preferably one with a cross-compiler.) +MAKEDEPEND = /usr/X11R6/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = ranlib + +# The assembler. +AS = as + +LD = gcc +STRIP = strip + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + +COPY_SOURCE_COMMAND = cp +RCSLIB_LIBRARY_NAME = librcs.a + +# disable SCCS make rule for Linux +% : SCCS/s.% + @true + +% :: RCS/%,v + co $@ + + +NEVER_USE_GENERIC_DEPEND=1 +NO_RCS_VERSION=1 + + + + + + + + + + + diff --git a/etc/rtlinuxdir.sh b/etc/rtlinuxdir.sh new file mode 100755 index 0000000..4b0a687 --- /dev/null +++ b/etc/rtlinuxdir.sh @@ -0,0 +1,47 @@ +#!/bin/sh + + +if test "x${RTLINUXDIR}" != "x" ; then + echo -n ${RTLINUXDIR} + exit 0 +fi + +if test ! -f .rtlinuxdir_guess_warn -a ! -f ~/.rtlinuxdir_guess_warn ; then + echo "Trying to guess where RTLINUX is installed." 1>&2 + echo "Set the environment variable RTLINUXDIR to override." 1>&2 + touch .rtlinuxdir_guess_warn >/dev/null 2>/dev/null + touch ~/.rtlinuxdir_guess_warn >/dev/null 2>/dev/null +fi + +if [ -f ~/.debug_scripts ] ; then + set -x; +fi + +if [ -d /usr/rtlinux -o -L /usr/rtlinux ] ; then + echo -n /usr/rtlinux + exit 0 +fi + +if [ -d /usr/src/rtlinux -o -L /usr/src/rtlinux ] ; then + echo -n /usr/src/rtlinux + exit 0 +fi + +if [ -d /usr/src/rtl -o -L /usr/src/rtl ] ; then + echo -n /usr/src/rtl + exit 0 +fi + +if ls -d /usr/rtl* >/dev/null 2>/dev/null ; then + echo -n `find /usr -name rtl\* | head -n 1` + exit 0 +fi + +if ls -d /usr/src/rtl* >/dev/null 2>/dev/null ; then + echo -n `find /usr/src -name rtl\* | head -n 1` + exit 0 +fi + +exit -1 + + diff --git a/etc/run b/etc/run new file mode 100755 index 0000000..6dbd89e --- /dev/null +++ b/etc/run @@ -0,0 +1,11 @@ +#!/bin/csh + +echo "cd "`pwd` +echo $0 $* + +echo $1 $2 $3 $4 + +csh $1 $2 $3 $4 + +echo Press Enter to Close Window +set confirm = $< diff --git a/etc/run_cmd_and_wait.sh b/etc/run_cmd_and_wait.sh new file mode 100755 index 0000000..65453e6 --- /dev/null +++ b/etc/run_cmd_and_wait.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +if test "x${DEBUG}" = "x1" ; then + set -x; +fi + +if test "x${RCAW_PID_LIST_FILE}" != "x" ; then + echo -n " $$ " >> "${RCAW_PID_LIST_FILE}"; +fi + +LD_LIBRARY_PATH="${RCAW_LL_PATH}:${LD_LIBRARY_PATH}" + +#echo -ne "\033]0; $* \007" +if test "x${RCSLIB_DIR}" != "x" -a -d "${RCSLIB_DIR}/lib/" ; then + if ! echo "${LD_LIBRARY_PATH}" | grep "${RCSLIB_DIR}/lib/" >/dev/null 2>/dev/null ; then + LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${RCSLIB_DIR}/lib/"; + fi +fi + +echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"; +export LD_LIBRARY_PATH; + +echo "Running: \"$*\" from " `pwd` " . . ." +if test "x${CREATE_RCAW_LOG}" != "x" ; then + h=`hostname`; + n=${1##*/} + if test "x${RCAW_LOG_DIR}" != "x" ; then + d=`(cd ${RCAW_LOG_DIR}; pwd)`; + nl=${d}/rcaw_${n}_${h%%.*}_$$.log; + \rm -f ${d}/rcaw_${n}_${h%%.*}_[0-9]*[0-9].log + else + nl=rcaw_${n}_${h%%.*}_$$.log; + \rm -f rcaw_${n}_${h%%.*}_[0-9]*[0-9].log + fi + + (set -x ; pwd ; $* 2>&1 ) | tee ${nl} +else + $*; +fi + + +echo "Finished: $* . . ." +echo "Press enter to finish." +read f diff --git a/etc/run_make b/etc/run_make new file mode 100755 index 0000000..cc5ec5f --- /dev/null +++ b/etc/run_make @@ -0,0 +1,26 @@ +#!/bin/csh + + +if($1 != "") then +cd $1 +endif + +echo "cd " `pwd` +echo $0 $* + +if ( `uname -s` != "SunOS" ) then + set make_cmd=make +else + set make_cmd=gnumake +endif + +if($2 == "") then +echo $make_cmd +$make_cmd +else +echo $make_cmd PLAT=$2 +$make_cmd PLAT=$2 +endif + +echo Press Enter to Close Window +set confirm = $< diff --git a/etc/screen_x.sh b/etc/screen_x.sh new file mode 100755 index 0000000..4a8eda9 --- /dev/null +++ b/etc/screen_x.sh @@ -0,0 +1,74 @@ +#! /bin/sh + +if test "x${DEBUG}" = "x1" ; then + echo "Running $0 $* from : " `pwd`; + set -x; +fi + + +#set -x; + +dir0=${0%/*}; +dir0_abs=`cd $dir0 ; pwd` + +if test "x${script_dir}" = "x" ; then + if test -x ./run_cmd_and_wait.sh ; then + script_dir=./; + elif test -x "${dir0_abs}/run_cmd_and_wait.sh" ; then + script_dir="${dir0_abs}/"; + elif test -x "${RCSLIB_DIR}/bin/run_cmd_and_wait.sh" ; then + script_dir="${RCSLIB_DIR}/bin/"; + elif test -x "${RCSLIB_DIR}/etc/run_cmd_and_wait.sh" ; then + script_dir="${RCSLIB_DIR}/etc/"; + fi +fi + +name= +command= + +next_arg_is_command=false +next_arg_is_name=false +first_cmd_arg= + +for arg in $* ; do + if test "x${arg}" = "x-n" ; then + next_arg_is_name=true + elif test "x${arg}" = "x-e" ; then + next_arg_is_command=true; + next_arg_is_name=false; + elif test "x${next_arg_is_command}" = "xtrue" ; then + if test "x${command}" != "x" ; then + command="${command} ${arg}"; + else + command="${arg}"; + first_cmd_arg="${arg}"; + fi + next_arg_is_name=false; + elif test "x${next_arg_is_name}" = "xtrue" ; then + name="${arg}"; + next_arg_is_name=false; + fi +done + +if test "x${NO_SCREEN}" != "x" ; then + ${script_dir}run_cmd_and_wait.sh ${command} & + exit 0; +fi + +if test "x${name}" = "x" ; then + name=`echo ${first_cmd_arg} | sed 's#^.*/##'` +fi + +if test "x${command}" != "x" ; then + export RCAW_LL_PATH="${LD_LIBRARY_PATH}"; + if test "x${name}" = "x" ; then + screen ${SCREEN_OPTS} -d -m ${script_dir}run_cmd_and_wait.sh ${command}; + else + screen ${SCREEN_OPTS} -S ${name} -t ${name} -d -m ${script_dir}run_cmd_and_wait.sh ${command}; + fi +else + echo "Set the command with -e ."; + exit 1; +fi + + diff --git a/etc/set_version_number.sh b/etc/set_version_number.sh new file mode 100755 index 0000000..271e9a2 --- /dev/null +++ b/etc/set_version_number.sh @@ -0,0 +1,83 @@ +#!/bin/sh + +set -x; + +svn update || exit 1 +svn ci -m "pre set_version_number check in" || exit 1 +svn update || exit 1 + +if test "x${AWK}" = "x" ; then + AWK=awk; +fi + +${AWK} --version +${AWK} --version | grep GNU || echo "BAD awk version, install gawk, remove mawk or set AWK environment variable." +${AWK} --version | grep GNU || exit 1 + + +( cd src/java/rcs ; env DEBUG=1 ./update_ver ) + +cp Makefile.am /tmp/Makefile.am.$$ +cat /tmp/Makefile.am.$$ | awk '{ if ( $2 == "-version-number" ) printf("%s %s %d:%d:%d\n",$1,$2, strftime("%Y",systime()),strftime("%m",systime()), strftime("%d",systime())); else print $0; }' | awk '{ if ( $2 == "-release" ) printf("%s %s %4.4d-%2.2d-%2.2d\n",$1,$2, strftime("%Y",systime()),strftime("%m",systime()), strftime("%d",systime())); else print $0; }' > /tmp/Makefile.am_new_version.$$ + +diff /tmp/Makefile.am.$$ /tmp/Makefile.am_new_version.$$ +cp /tmp/Makefile.am_new_version.$$ ./Makefile.am + + +cp configure.ac /tmp/configure.ac.$$ +cat /tmp/configure.ac.$$ | awk '{ if ( $1 == "AC_INIT(Real-Time" ) printf("AC_INIT(Real-Time Control System Library, %s, shackle@nist.gov, rcslib)\n",strftime("%Y.%m.%d",systime())); else print $0; }' > /tmp/configure.ac_new_version.$$ + +diff /tmp/configure.ac.$$ /tmp/configure.ac_new_version.$$ +cp /tmp/configure.ac_new_version.$$ ./configure.ac + +cp src/rcsvers.hh /tmp/rcsvers.hh.$$ +cat /tmp/rcsvers.hh.$$ | awk '{if ( $1 == "#define" ) { if ( $2 == "RCS_VERSION" ) printf("#define RCS_VERSION \"%s\"\n",strftime("%Y.%m.%d",systime())); else if ( $2 == "RCS_MAJOR_VERSION" ) printf("#define RCS_MAJOR_VERSION (%s)\n",strftime("%Y",systime())); else if ( $2 == "RCS_MINOR_VERSION" ) printf("#define RCS_MINOR_VERSION (%d)\n",strftime("%m",systime())); else if ( $2 == "RCS_VERSION_NUMBER" ) printf("#define RCS_VERSION_NUMBER %d\n",strftime("%Y%m%d",systime())); else print $0 ; } else print $0 ; }' > /tmp/rcsvers.hh_new_version.$$ + +diff /tmp/rcsvers.hh.$$ /tmp/rcsvers.hh_new_version.$$ +cp /tmp/rcsvers.hh_new_version.$$ src/rcsvers.hh + +if test "x${1}" = "x" ; then + new_version=`date +%Y.%m.%d`; +else + new_version="${1}"; +fi + +old_version=`cat doc/getrcs.html | awk '{ if ( $1 == "" ) print $2; }'`; + +echo "new_version=${new_version}" +echo "old_version=${old_version}" + +if test "x${new_version}" != "x${old_version}" -a "x${old_version}" != "x" -a "x${new_version}" != "x" ; then + cp doc/getrcs.html /tmp/getrcs.html.$$ + cat /tmp/getrcs.html.$$ | sed s#rcslib-${old_version}\.tar#rcslib-${new_version}.tar#g > /tmp/getrcs.html_step_1.$$ + cat /tmp/getrcs.html_step_1.$$ | sed s#rcslib-${old_version}/src#rcslib-${new_version}/src#g > /tmp/getrcs.html_step_2.$$ + cat /tmp/getrcs.html_step_1.$$ | sed s#rcslib-${old_version}/etc#rcslib-${new_version}/etc#g > /tmp/getrcs.html_step_2.$$ + cat /tmp/getrcs.html_step_2.$$ | sed s#rcslib-${old_version}\$#rcslib-${new_version}# > /tmp/getrcs.html_new_version.$$ + cat /tmp/getrcs.html_step_2.$$ | sed "s#RCS_VERSION= ${old_version}#RCS_VERSION= ${new_version}#" > /tmp/getrcs.html_step_3.$$ + cat /tmp/getrcs.html_step_3.$$ | sed "s#

    Last Modified: .*

    \$#

    Last Modified: ${new_version}

    #" > /tmp/getrcs.html_step_4.$$ + cat /tmp/getrcs.html_step_4.$$ | sed "s#cd rcslib-.*\$#

    cd rcslib-${new_version}#" > /tmp/getrcs.html_step_5.$$ + cat /tmp/getrcs.html_step_5.$$ | sed "s#

    cd#

    cd#" > /tmp/getrcs.html_step_6.$$ + cat /tmp/getrcs.html_step_6.$$ | sed "s#

    cd#

    cd#" > /tmp/getrcs.html_new_version.$$ + + diff /tmp/getrcs.html.$$ /tmp/getrcs.html_new_version.$$ + cp /tmp/getrcs.html_new_version.$$ doc/getrcs.html +else + if test "x${force}" = "x" ; then + set +x; + echo + echo "ERROR: Old version is the same as new version". + exit 1; + fi +fi + +\rm -rf .last* lib/* bin/* include/* plat .multiplat* 2>/dev/null >/dev/null +sudo \rm -rf .last* lib/* bin/* include/* plat .multiplat* 2>/dev/null >/dev/null +autoreconf +etc/clean_build.sh +etc/multiplatbuild.sh +svn ci -m "set new_version = ${new_version}" + +set +x; + +echo +echo "$0 succeeded version=${new_version}" diff --git a/etc/splitdebug.sh b/etc/splitdebug.sh new file mode 100755 index 0000000..9905b6c --- /dev/null +++ b/etc/splitdebug.sh @@ -0,0 +1,15 @@ +#/bin/sh + + +set -x; + +for i in $* ; do + ls -l "${i}"* + if objdump -h "${i}" | grep debug ; then + objcopy --only-keep-debug "${i}" "${i}.debug"; + objcopy --strip-debug "${i}"; + objcopy --add-gnu-debuglink="${i}.debug" "${i}"; + fi + ls -l "${i}"* +done + diff --git a/etc/sunos5.6.def b/etc/sunos5.6.def new file mode 100644 index 0000000..30d9da0 --- /dev/null +++ b/etc/sunos5.6.def @@ -0,0 +1,69 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = /depot/gnu/plat/bin/g++ +CPLUSPLUS_EXTENSION = cc + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +# The C and C++ compilation flags to be used. +ifndef NO_THREADS +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) -DSUN -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -D_LP64 +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 -lthread -lpthread +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm -lthread -lpthread /depot/gnu/plat/lib/libg++.a +else +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) -DSUN -DNO_THREADS -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -D_ILP32 +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm /depot/gnu/plat/lib/libg++.a +endif + +#CLINK = /lib/librpcsvc.a /lib/libsocket.a /lib/libnsl.a /lib/libdl.so.1 /lib/libintl.a /lib/libm.a +CPLUSPLUSFLAGS = $(CFLAGS) -D__CPLUSPLUS__ + +MAKEDEPEND = /depot/x11r5/plat/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld +LINKER = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + + +DYNAMIC_LINK_FLAG = -dy -G + + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +JDK_DIR=/depot/jdk diff --git a/etc/sunos5.def b/etc/sunos5.def new file mode 100644 index 0000000..320f434 --- /dev/null +++ b/etc/sunos5.def @@ -0,0 +1,91 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + +# The C compiler. +CC = /depot/gnu/plat/bin/gcc + +# The C++ compiler. +CPLUSPLUS = /depot/gnu/plat/bin/g++ +CPLUSPLUS_EXTENSION = cc + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= + +ifdef WARN_MAX +WARN_FLAG=-Wall +endif + +ifdef NO_WARN +WARN_FLAG=-w +endif +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DSUN -DNO_THREADS -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -DHAVE_LIBDL +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 -ldl +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm -ldl /depot/gnu/plat/lib/libg++.a + +# Flags for compiling and linking X Windows apps +XINC = -I/depot/X11R6/include +XLINK = -L/depot/X11R6/arch/lib -lXaw -lXmu -lXt -lX11 -R /depot/X11R6/arch/lib:/usr/openwin/lib/:/usr/lib + +# Flags for compiling and linking Tcl apps +TCL_INC = -I/depot/tcl/include +TCL_LINK = -L/depot/tcl/arch/lib -ltcl8.3 -lsocket -lm -R /depot/tcl/arch/lib +TK_LINK = -ltk8.3 + +#CLINK = /lib/librpcsvc.a /lib/libsocket.a /lib/libnsl.a /lib/libdl.so.1 /lib/libintl.a /lib/libm.a +CPLUSPLUSFLAGS = $(CFLAGS) -D__CPLUSPLUS__ + +MAKEDEPEND = /depot/x11r5/plat.sunos5/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld +LINKER = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + + +DYNAMIC_LINK_FLAG = -dy -G + + +STRIP = strip + +STRIP_DEBUG_OPTION = -x + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +ifdef OLD_JAVA +JDK_DIR=/depot/jdk +else + +JDK_DIR=/isd/depot/jdk1.2/usr/java1.2 +endif diff --git a/etc/sunos5nothreads.def b/etc/sunos5nothreads.def new file mode 100644 index 0000000..54505f7 --- /dev/null +++ b/etc/sunos5nothreads.def @@ -0,0 +1,64 @@ +NO_THREADS=1 + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = /depot/gnu/plat/bin/g++ +CPLUSPLUS_EXTENSION = cc + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) -DSUN -DNO_THREADS -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -Dsunos5 +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm /depot/gnu/plat/lib/libg++.a + +#CLINK = /lib/librpcsvc.a /lib/libsocket.a /lib/libnsl.a /lib/libdl.so.1 /lib/libintl.a /lib/libm.a +CPLUSPLUSFLAGS = $(CFLAGS) -D__CPLUSPLUS__ + +MAKEDEPEND = /depot/x11r5/plat/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld +LINKER = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + + +DYNAMIC_LINK_FLAG = -dy -G + + +STRIP = strip + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +JDK_DIR=/depot/jdk diff --git a/etc/sunos_5_6.def b/etc/sunos_5_6.def new file mode 100644 index 0000000..fd087b4 --- /dev/null +++ b/etc/sunos_5_6.def @@ -0,0 +1,106 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DSUN -DNO_THREADS -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -Dsunos5 -DHAVE_LIBDL +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 -ldl +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm -ldl + +SEARCH_PATH_FLAG = -R +RCS_LIB_SEARCH_PATH = $(RCS_PLATLIB) \ + $(SEARCH_PATH_FLAG) /itl/links/gnu/lib + +# Flags for compiling and linking X Windows apps +# FIXME remove the -fpermissive option when/if we have better X11 headers. +# the headers I had were sloppy about prototyping function return values, +# so you need -fpermissive to compile with gcc 2.95 and higher. +XINC = -I/depot/X11R6/include -fpermissive -w +XLINK = -L/depot/X11R6/arch/lib -lXaw -lXmu -lXt -lX11 -R /depot/X11R6/arch/lib:/usr/openwin/lib/:/usr/lib + +# Flags for compiling and linking Tcl apps +TCL_INC = -I/depot/tcl/include +TCL_LINK = -L/depot/tcl/arch/lib -ltcl8.3 -ltcl -lsocket -lm -R /depot/tcl/arch/lib + + +TK_LINK = -ltk8.3 -ltk + +#CLINK = /lib/librpcsvc.a /lib/libsocket.a /lib/libnsl.a /lib/libdl.so.1 /lib/libintl.a /lib/libm.a +CPLUSPLUSFLAGS = $(CFLAGS) -D__CPLUSPLUS__ + +MAKEDEPEND = /depot/x11r5/plat.sunos5/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld +LINKER = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + + +DYNAMIC_LINK_FLAG = -dy -G + + +STRIP = strip + +STRIP_DEBUG_OPTION = -x + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +ifdef OLD_JAVA +JDK_DIR=/depot/jdk +else + +JDK_DIR=/isd/depot/jdk1.2/usr/java1.2 +endif + +USE_GPP_M=1 diff --git a/etc/sunos_5_8.def b/etc/sunos_5_8.def new file mode 100644 index 0000000..c7b5a3b --- /dev/null +++ b/etc/sunos_5_8.def @@ -0,0 +1,107 @@ + +# The operating system version, as reported by 'os', if applicable. +OS = os5 + +# The C compiler. +CC = gcc + +# The C++ compiler. +CPLUSPLUS = g++ +CPLUSPLUS_EXTENSION = cc + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O2 +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(DEBUG_FLAG) $(OPTIMIZE_FLAG) $(WARN_FLAG) -DSUN -DNO_THREADS -D$(PLAT) -D$(OS) -Dsparc -DPLATNAME=\"$(PLAT)\" -Dsunos5 -DHAVE_LIBDL -I/itl/apps/gcc-3.0.3/SunOS-sun4u-5.8/include +CLINK = -lrpcsvc -lsocket -lnsl -lintl -lm -lposix4 -ldl +CPLUSPLUSLINK = -lrpcsvc -lsocket -lnsl -lposix4 -lintl -lm -ldl + +SEARCH_PATH_FLAG = -R +RCS_LIB_SEARCH_PATH = $(RCS_PLATLIB) \ + $(SEARCH_PATH_FLAG) /itl/links/gnu/lib + +# Flags for compiling and linking X Windows apps +# FIXME remove the -fpermissive option when/if we have better X11 headers. +# the headers I had were sloppy about prototyping function return values, +# so you need -fpermissive to compile with gcc 2.95 and higher. +XINC = -I/depot/X11R6/include -fpermissive -w +XLINK = -L/depot/X11R6/arch/lib -lXaw -lXmu -lXt -lX11 -R /depot/X11R6/arch/lib:/usr/openwin/lib/:/usr/lib + +# Flags for compiling and linking Tcl apps +TCL_INC = -I/depot/tcl/include +TCL_LINK = -L/depot/tcl/arch/lib -ltcl8.3 -ltcl -lsocket -lm -R /depot/tcl/arch/lib + + +TK_LINK = -ltk8.3 -ltk + +#CLINK = /lib/librpcsvc.a /lib/libsocket.a /lib/libnsl.a /lib/libdl.so.1 /lib/libintl.a /lib/libm.a +CPLUSPLUSFLAGS = $(CFLAGS) -D__CPLUSPLUS__ + +MAKEDEPEND = /depot/x11r5/plat.sunos5/bin/makedepend + +# The library archiver and ranlib programs. +AR = ar +RANLIB = echo ranlib not needed for + +# The assembler. +AS = as + +LD = ld +LINKER = ld + +PLATBIN = $(RCSDIR)/plat/$(PLAT)/bin +PLATLIB = $(RCSDIR)/plat/$(PLAT)/lib + + +DYNAMIC_LINK_FLAG = -dy -G + + +STRIP = strip + +STRIP_DEBUG_OPTION = -x + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.a + +% :: SCCS/s.% + sccs get $@ + +% :: RCS/%,v + co $@ + +ifdef OLD_JAVA +JDK_DIR=/depot/jdk +else + +JDK_DIR=/isd/depot/jdk1.2/usr/java1.2 +endif + +USE_GPP_M=1 diff --git a/etc/svn_refresh.sh b/etc/svn_refresh.sh new file mode 100755 index 0000000..70b72e9 --- /dev/null +++ b/etc/svn_refresh.sh @@ -0,0 +1,29 @@ +#! /bin/sh + +set -x ; + +\rm -rf /tmp/svn_trash_*; +\rm -rf /tmp/tni_*; +\rm -rf /tmp/*.nml; +\rm -ff /tmp/nml*.log; +\rm -rf /tmp/UDP_with*.log; +\rm -rf /tmp/TCP_with*.log; +\rm -rf /tmp/STCP_with*.log; +\rm -rf /tmp/SHMEM*.log; +\rm -rf /tmp/mpb_*; +\rm -f /tmp/psgrepi.sh; +\rm -f /tmp/killnt.sh; + + +if svn info ; then + tdir=/tmp/svn_trash_$$; + mkdir $tdir; + find . -name \*.mine -exec mv '{}' $tdir \; + find . -name \*.r\[0-9\]\[0-9\]\[0-9\] -exec mv '{}' $tdir \; + find . -name \*.r\[0-9\]\[0-9\] -exec mv '{}' $tdir \; + find . -name RCS_VERSION.java -exec mv '{}' $tdir \; + find . -name rcs_svn_vers.hh -exec mv '{}' $tdir \; + svn update + svn status; +fi + diff --git a/etc/tcltkincflags.sh b/etc/tcltkincflags.sh new file mode 100755 index 0000000..db849e6 --- /dev/null +++ b/etc/tcltkincflags.sh @@ -0,0 +1,78 @@ +#!/bin/sh + + +if test "x${TCLTKINCFLAGS}" != "x" ; then + echo ${TCLTKINCFLAGS} + exit 0 +fi + +if test ! -f .tcltkincflags_guess_warn -a ! ~.tcltkincflags_guess_warn ; then + echo "Trying to guess what flags need to be used to compile C programs that interact with tcl/tk." 1>&2 + echo "Set the environment variable TCLTKINCFLAGS to override this." 1>&2 + touch .tcltkincflags_guess_warn >/dev/null 2>/dev/null + touch ~/.tcltkincflags_guess_warn >/dev/null 2>/dev/null +fi + + +if [ -f ~/.debug_scripts ] ; then + set -x +fi + + +FINDRESULTS=`find /usr/include -name tcl.h 2>/dev/null` +TCL_IFLAGS= +if [ "x${FINDRESULTS}" != "x" ] ; then + TCL_IFLAGS=-I`ls -1t $FINDRESULTS | grep -v private | head -n 1 | sed s#/tcl.h##` +else + echo "Could not find tcl.h. You might need to install tcl and/or tcl-dev packages." 1>&2 +fi + +FINDRESULTS=`find /usr/include -name tclExtend.h 2>/dev/null` +if [ "x${FINDRESULTS}" = "x" ] ; then + FINDRESULTS=`find /usr/local/include -name tclExtend.h 2>/dev/null` +fi +TCL_EXTEND_IFLAGS= +if [ "x${FINDRESULTS}" != "x" ] ; then + TCL_EXTEND_IFLAGS=-I`ls -1t $FINDRESULTS | grep -v private | head -n 1 | sed s#/tclExtend.h##` +else + echo "Could not find tclExtend.h. You might need to install tclx and/or tclx-dev packages." 1>&2 +fi + + +FINDRESULTS=`find /usr/include -name tk.h 2>/dev/null` +if [ "x${FINDRESULTS}" = "x" ] ; then + FINDRESULTS=`find /usr/local/include -name tk.h 2>/dev/null` +fi +TK_IFLAGS= +if [ "x${FINDRESULTS}" != "x" ] ; then + TK_IFLAGS=-I`ls -1t $FINDRESULTS | grep -v private | head -n 1 | sed s#/tk.h##` +else + echo "Could not find tk.h. You might need to install tk and/or tk-dev packages." 1>&2 +fi + +if [ 0$TCL_IFLAGS = 0-I/usr/include ] ; then + TCL_IFLAGS= +fi + +if [ 0$TCL_EXTEND_IFLAGS = 0$TCL_IFLAGS ] ; then + TCL_EXTEND_IFLAGS= +fi + +if [ 0$TCL_EXTEND_IFLAGS = 0-I/usr/include ] ; then + TCL_EXTEND_IFLAGS= +fi + +if [ 0$TK_IFLAGS = 0$TCL_IFLAGS ] ; then + TK_IFLAGS= +fi + +if [ 0$TK_IFLAGS = 0-I/usr/include ] ; then + TK_IFLAGS= +fi + +TCLTKINCFLAGS="$TCL_IFLAGS $TCL_EXTEND_IFLAGS $TK_IFLAGS" +export TCLTKINCFLAGS + +echo $TCL_IFLAGS $TCL_EXTEND_IFLAGS $TK_IFLAGS + + diff --git a/etc/tcltklibflags.sh b/etc/tcltklibflags.sh new file mode 100755 index 0000000..a844817 --- /dev/null +++ b/etc/tcltklibflags.sh @@ -0,0 +1,47 @@ +#!/bin/sh + + +if test "x${TCLTKLIBFLAGS}" != "x" ; then + echo ${TCLTKLIBFLAGS} + exit 0 +fi + +if test ! -f .tcltklibflags_guess_warn -a ! ~/.tcltklibflags_guess_warn ; then + echo "Trying to guess what flags need to be used to link C programs that interact with tcl/tk." 1>&2 + echo "Set the environment variable TCLTKLIBFLAGS to override this." 1>&2 + touch .tcltklibflags_guess_warn >/dev/null 2>/dev/null + touch ~/.tcltklibflags_guess_warn >/dev/null 2>/dev/null +fi + +# set -x + +TCL_LFLAG=-l`ls -1t /lib/libtcl*.{so,a}* /usr/lib/libtcl*.{so,a}* /usr/X11R6/lib/libtcl*.{so,a}* 2> /dev/null | grep -v tclx | head -n 1 | sed s#^.\*tcl#tcl# | sed s/.so.\*\$// | sed s/.a.\*\$//` + +if [ "x${TCL_LFLAG}" = "x-l" ] ; then + TCL_LFLAG="" +fi + +TCLX_LFLAG=-l`ls -1t /lib/libtclx*.{so,a}* /usr/lib/libtclx*.{so,a}* /usr/X11R6/lib/libtclx*.{so,a}* 2> /dev/null | head -n 1 | sed s#^.\*tclx#tclx# | sed s/.so.\*\$// | sed s/.a.\*\$//` + +if [ "x${TCLX_LFLAG}" = "x-l" ] ; then + TCLX_LFLAG="" +fi + +TK_LFLAG=-l`ls -1t /lib/libtk*.{so,a}* /usr/lib/libtk*.{so,a}* /usr/X11R6/lib/libtk*.{so,a}* 2> /dev/null | grep -v tkx | head -n 1 | sed s#^.\*tk#tk# | sed s/.so.\*\$// | sed s/.a.\*\$//` + +if [ "x${TK_LFLAG}" = "x-l" ] ; then + TK_LFLAG="" +fi + +TKX_LFLAG=-l`ls -1t /lib/libtkx*.{so,a}* /usr/lib/libtkx*.{so,a}* /usr/X11R6/lib/libtkx*.{so,a}* 2> /dev/null | head -n 1 | sed s#^.\*tkx#tkx# | sed s/.so.\*\$// | sed s/.a.\*\$//` + +if [ "x${TKX_LFLAG}" = "x-l" ] ; then + TKX_LFLAG="" +fi + +TCLTKLIBFLAGS="$TCL_LFLAG $TCLX_LFLAG $TK_LFLAG $TKX_LFLAG" +export TCLTKLIBFLAGS + +echo $TCL_LFLAG $TCLX_LFLAG $TK_LFLAG $TKX_LFLAG + + diff --git a/etc/template.def b/etc/template.def new file mode 100644 index 0000000..c39b482 --- /dev/null +++ b/etc/template.def @@ -0,0 +1,39 @@ +# Makefile Template + + +# Include the application specific makefile here. +#include Makefile.??? + + +#Define the Sources in this directory +SRCS = + +#Define the headers in this directory +HEADERS = + +#Define the Libraries to make +LIBS = + +#Define the object (%.o) files to make +OBJS = + +#Define the executable binaries to make +BINS = + + + +#Include the generic Makefile definitions +include /home/manta/prog_tools/makefiles/Makefile.generic + +# Add commands to phony targets to do any subdirectories +all install clean depend: + (cd subdir1; $(MAKE) $@;) + (cd subdir2; $(MAKE) $@;) + (cd subdir3; $(MAKE) $@;) + + +# Declare rules for specific binaries and libraries +$(DEVP_BIN_DIR)/my_bin: $(OBJS:%=$(DEVP_LIB_DIR)/%) + $(CPLUSPLUS) $^ -o $@ + +# End of Template diff --git a/etc/test_extras.sh b/etc/test_extras.sh new file mode 100755 index 0000000..d3d00d3 --- /dev/null +++ b/etc/test_extras.sh @@ -0,0 +1,669 @@ +#! /bin/sh + +set -x + +if test "x${NML_SET_TO_SERVER}" != "x" ; then + NML_SET_TO_SERVER= +fi + +export_n_out=`(export -n NML_SET_TO_SERVER 2>/dev/null && echo OK) | tail -n 1` + +if test "x${export_n_out}" = "xOK" ; then + export -n NML_SET_TO_SERVER >/dev/null 2>/dev/null +fi + +if test "x${CONFIG_NML}" != "x" ; then + CONFIG_NML= +fi + +export_n_out=`(export -n CONFIG_NML 2>/dev/null && echo OK) | tail -n 1` + +if test "x${export_n_out}" = "xOK" ; then + export -n CONFIG_NML >/dev/null 2>/dev/null +fi + + +if test "x${tmpdir}" = "x" ; then + tmpdir="/tmp/${USER}/"; + (mkdir -p ${tmpdir} >/dev/null 2>/dev/null || true ); + export tmpdir; +fi + + +unset NML_SET_TO_SERVER >/dev/null 2>/dev/null + +unalias ls >/dev/null 2>/dev/null +unalias rm >/dev/null 2>/dev/null +unalias mv >/dev/null 2>/dev/null +unalias cp >/dev/null 2>/dev/null +unalias cat >/dev/null 2>/dev/null +unalias cd >/dev/null 2>/dev/null + +#DEBUG_RCSLIB=1 +#export DEBUG_RCSLIB + +if test "x${MAKEFAGS}" != "x" ; then + MAKEFLAGS= +fi + +if test "x${MAKELEVEL}" != "x" ; then + MAKELEVEL= +fi + +if test "x${MAKEOVERRIDES}" != "x" ; then + MAKEOVERRIDES= +fi + +if test -f ${tmpdir}/${TESTNAME}_test.nml ; then + \rm -f ${TESTNAME}_test.nml; +fi + +echo \$0=$0 +echo \$\$=$$ +echo \$PPID=\$PPID + +ps | grep $$ +ps -ael | grep $$ +ps -ael | grep $PPID + +ps -eo pid,cmd | grep $$ +ps -eo pid,cmd | grep $PPID + +# This make the rcslib slow and verbose +#RCS_PRINT_FLAGS=0xFFFFFFFF; +#export RCS_PRINT_FLAGS + +if test "x${HOME}" = "x" ; then + HOME=~ +fi + +if test '!' -d ${tmpdir} ; then + mkdir ${tmpdir} +fi + +echo "Test Date:" +date +echo "Current directory:" +pwd +echo "SET" +set +echo "PRINTENV" +printenv + +builddir=`pwd` + +NMLCLEAN_LOCAL_ONLY=1; +export NMLCLEAN_LOCAL_ONLY; + + +if test '!' -x "${builddir}/nmlclean${EXEEXT}" -a '!' -x "${builddir}/nmlcfg${EXEEXT}" -a '!' -x "${builddir}/nml_test_server${EXEEXT}" ; then + if test -x './=build/nmlclean${EXEEXT}' -a -x './=build/nmlcfg${EXEEXT}' -a -x './=build/nml_test_server${EXEEXT}' ; then + builddir=`pwd`'/=build'; + echo "build directory set to:" + echo ${builddir} + fi +fi + +if test '!' -x "${builddir}/nmlclean${EXEEXT}" -a '!' -x "${builddir}/nmlcfg${EXEEXT}" -a '!' -x "${builddir}/nml_test_server${EXEEXT}" ; then + + if test "x${srcdir}" != "x" ; then + if test ! -d ./etc -a -d "${srcdir}/etc" ; then + cd "${srcdir}"; + echo "Directory changed to:" + pwd + fi + fi +fi + + +if test -f "${tmpdir}/${TESTNAME}_test.nml" ; then + "${builddir}/nmlclean${EXEEXT}" "${tmpdir}/${TESTNAME}_test.nml"; + if test -f "nmlclean${EXEEXT}.log" ; then + mv "nmlclean${EXEEXT}.log" "${tmpdir}/nmlclean${EXEEXT}-1-$$.log"; + fi + \rm -f "${tmpdir}/${TESTNAME}_test.nml"; +fi + +if test '!' -x "${builddir}/nmlclean${EXEEXT}" -a '!' -x "${builddir}/nmlcfg${EXEEXT}" ; then + if test -x "${builddir}/bin/nmlclean${EXEEXT}" -a -x "${builddir}/bin/nmlcfg${EXEEXT}" ; then + bindir="${builddir}/bin"; + else + + if test -x "${builddir}/.lastbuild/nmlclean${EXEEXT}" -a -x "${builddir}/.lastbuild/nmlcfg${EXEEXT}" ; then + bindir="${builddir}/.lastbuild"; + else + bindir="${builddir}"; + fi + fi +else + bindir="${builddir}" +fi + +if test '!' -x "${builddir}/nml_test_server${EXEEXT}" -a '!' -x "${builddir}/nml_test_read${EXEEXT}" -a '!' -x "${builddir}/nml_test_write${EXEEXT}" -a '!' -x "${builddir}/nml_test_blocking_read${EXEEXT}" ; then + + if test -x "${builddir}/.lastbuild/nml_test_server${EXEEXT}" -a -x "${builddir}/.lastbuild/nml_test_read${EXEEXT}" -a -x "${builddir}/.lastbuild/nml_test_write${EXEEXT}" -a -x "${builddir}/.lastbuild/nml_test_blocking_read${EXEEXT}" ; then + testbindir="${builddir}/.lastbuild"; + else + if test -x "${builddir}/bin/nml_test_server${EXEEXT}" -a -x "${builddir}/bin/nml_test_read${EXEEXT}" -a -x "${builddir}/bin/nml_test_write${EXEEXT}" -a -x "${builddir}/bin/nml_test_blocking_read${EXEEXT}" ; then + testbindir="${builddir}/bin"; + else + testbindir="${builddir}"; + fi + fi +else + testbindir="${builddir}" +fi + +if test "x${srcdir}" = "x" -a -f "${builddir}/src/test/test.nml2" -a '!' -f "${srcdir}/src/test/test.nml2" ; then + srcdir="${builddir}"; +fi + +echo "______________________________________" +echo "Starting NML TESTS:" + +ls -l +ls -l >&2 + +echo "Current directory:" +pwd +pwd >&2 + +(rm "${tmpdir}/killnt.sh" ) >/dev/null 2>/dev/null + +orig_src_dir=`(cd ${srcdir} ; pwd)` +RCSLIB_DIR=${builddir} + +if test "x${PLAT}" != "x" ; then + if test '!' -d ${RCSLIB_DIR}/plat/${PLAT}/lib -a -f ${builddir}/librcs.la ; then + RCSLIB_LIB_DIR="${builddir}"; + USE_LIBTOOL=1; + export USE_LIBTOOL + export RCSLIB_LIB_DIR + fi + if test '!' -d "${RCSLIB_DIR}/plat/${PLAT}/include" \ + -a -f "${orig_src_dir}/src/rcs.hh" ; then + RCSLIB_DIR="${orig_src_dir}"; + USE_SRC_PATH=1; + export USE_SRC_PATH; + fi +else + if test '!' -d "${RCSLIB_DIR}/include" \ + -a -f "${orig_src_dir}/src/rcs.hh" ; then + RCSLIB_DIR=${orig_src_dir}; + fi + if test '!' -d "${RCSLIB_DIR}/include" \ + -a -f "${RCSLIB_DIR}/src/rcs.hh" ; then + USE_SRC_PATH=1; + export USE_SRC_PATH; + fi + if test '!' -d "${RCSLIB_DIR}/lib" \ + -a -f "${builddir}/librcs.la" ; then + RCSLIB_LIB_DIR="${builddir}"; + if test -x "${builddir}/libtool" ; then + LIBTOOL="${builddir}/libtool"; + fi + USE_LIBTOOL=1; + export USE_LIBTOOL + export RCSLIB_LIB_DIR + fi +fi + +if test "x${RCSLIB_BIN_DIR}" = "x" ; then + if test "x${PLAT}" != "x" \ + -a -d "${RCSLIB_DIR}/plat/${PLAT}/bin" ; then + RCSLIB_BIN_DIR="${RCSLIB_DIR}/plat/${PLAT}/bin"; + elif test -d "${RCSLIB_DIR}/bin" ; then + RCSLIB_BIN_DIR="${RCSLIB_DIR}/bin"; + elif test -d bin ; then + RCSLIB_BIN_DIR="${PWD}/bin"; + else + RCSLIB_BIN_DIR="${PWD}"; + fi +fi + +if test "x${RCSLIB_LIB_DIR}" = "x" ; then + if test "x${PLAT}" != "x" \ + -a -d "${RCSLIB_DIR}/plat/${PLAT}/lib" ; then + RCSLIB_LIB_DIR="${RCSLIB_DIR}/plat/${PLAT}/lib"; + elif test -d "${RCSLIB_DIR}/lib" ; then + RCSLIB_LIB_DIR="${RCSLIB_DIR}/lib"; + elif test -d lib; then + RCSLIB_LIB_DIR="${PWD}/lib"; + else + RCSLIB_LIB_DIR="${PWD}"; + fi +fi + +export RCSLIB_LIB_DIR +export RCSLIB_BIN_DIR + +LD_LIBRARY_PATH="${RCSLIB_LIB_DIR}:${RCSLIB_LIB_DIR}/.libs:${LD_LIBRARY_PATH}"; +export LD_LIBRARY_PATH + +PATH="${RCSLIB_BIN_DIR}:${PATH}"; + +export PATH + + +cat >"${tmpdir}/killnt.sh" <&2 + exit 1; +fi + +if test -f "${tmpdir}/extra_test_dir/nml_extra_tests.tar" ; then + echo "Delete ${tmpdir}/extra_test_dir/nml_extra_tests.tar" + echo "Delete ${tmpdir}/extra_test_dir/nml_extra_tests.tar" >&2 + exit 1; +fi + +if test -f "${srcdir}/src/test/nml_extra_tests.tar" ; then + echo "Delete ${srcdir}/src/test/nml_extra_tests.tar" + echo "Delete ${srcdir}/src/test/nml_extra_tests.tar" >&2 + exit 1; +fi + + +mkdir -p "${tmpdir}/extra_test_dir"; + +(cd "${tmpdir}/extra_test_dir" ; rm -f *.{c,cc,h,hh,java,o,class,obj,exe} ; ) >/dev/null 2>/dev/null + +( \ + cd "${srcdir}/src/test"; \ + tar -cf "${tmpdir}/extra_test_dir/nml_extra_tests.tar" nml_test_format.hh nml_test_unbounded_format*.hh otherheader.hh echo_types.hh nml_test_[a-e,g-z]*.cc nml_get*.cc nml_check_*.cc nml_peek*.cc nml_read*.cc nml_test_[a-e,g-z]*_c.c nml*test*.java Makefile.extra_tests *.nml *.nml2 extra_tests.sh test_qr.sh config.dat number.txt nml_test_server_ada.adb nml_test_dl_read_ada.adb nml_test_dl_write_ada.adb check_test*.cc check_test*.hh etime_print.cc print_test_sizes.cc nml_ex1.hh nml_ex1_n.cc nml_ex1_n_codegen_protos.hh; \ +) + +if test '!' -f "${tmpdir}/extra_test_dir/nml_extra_tests.tar" ; then + echo "Could not create tar file"; + exit 252 +fi + + +cd "${tmpdir}/extra_test_dir"; +tar -xf nml_extra_tests.tar; + +if test -x "${builddir}/libtool" ; then + LIBTOOL="${builddir}/libtool"; + export LIBTOOL + USE_LIBTOOL=1; + export USE_LIBTOOL +fi + + +cat >"${HOME}/tailtest.txt" </dev/null 2>/dev/null ; then + if test 3 = `cat ${HOME}/tailtest.txt | tail -n 1 2>/dev/null` ; then + TAIL1='tail -n 1' + fi + fi +fi + +if test "x${TAIL1}" = "x" ; then + if cat "${HOME}/tailtest.txt" | tail -1 >/dev/null 2>/dev/null ; then + if test 3 = `cat ${HOME}/tailtest.txt | tail -1 2>/dev/null` ; then + TAIL1='tail -1' + fi + fi +fi + +if test "x${TAIL1}" = "x" ; then + TAIL1='tail -n 1' +fi + +\rm -f tailtest.txt >/dev/null 2>/dev/null + +LIBS_FROM_CONFIG_LOG= +LDFLAGS_FROM_CONFIG_LOG= +if test -f ${builddir}/config.log ; then + LIBS_FROM_CONFIG_LOG=`grep LIBS= ${builddir}/config.log | ${TAIL1} | sed s#^LIBS=\'## | sed s#^LIBS=## | sed s#\'## 2>/dev/null` + if test "x${LIBS_FROM_CONFIG_LOG}" != "x" ; then + OS_LIBS="${OS_LIBS} ${LIBS_FROM_CONFIG_LOG}" + fi + LDFLAGS_FROM_CONFIG_LOG=`grep LDFLAGS= ${builddir}/config.log | ${TAIL1} | sed s#^LDFLAGS=\'## | sed s#^LDFLAGS=## | sed s#\'## 2>/dev/null` + if test "x${LIBS_FROM_CONFIG_LOG}" != "x" ; then + OS_LIBS="${LDFLAGS_FROM_CONFIG_LOG} ${OS_LIBS}" + fi + export OS_LIBS +elif test -f ${RCSLIB_DIR}/.lastbuild/config.log ; then + LIBS_FROM_CONFIG_LOG=`grep LIBS= ${RCSLIB_DIR}/.lastbuild/config.log | ${TAIL1} | sed s#^LIBS=\'## | sed s#^LIBS=## | sed s#\'## 2>/dev/null` + if test "x${LIBS_FROM_CONFIG_LOG}" != "x" ; then + OS_LIBS="${OS_LIBS} ${LIBS_FROM_CONFIG_LOG}" + fi + LDFLAGS_FROM_CONFIG_LOG=`grep LDFLAGS= ${RCSLIB_DIR}/.lastbuild/config.log | ${TAIL1} | sed s#^LDFLAGS=\'## | sed s#^LDFLAGS=## | sed s#\'## 2>/dev/null` + if test "x${LIBS_FROM_CONFIG_LOG}" != "x" ; then + OS_LIBS="${LDFLAGS_FROM_CONFIG_LOG} ${OS_LIBS}" + fi + export OS_LIBS +fi + +export RCSLIB_DIR; +echo TEST_CFLAGS=${TEST_CFLAGS} +echo TEST_CXXFLAGS=${TEST_CXXFLAGS} + + +if test "x${TEST_CFLAGS}" != "x" ; then + CFLAGS="${CFLAGS} ${TEST_CFLAGS}"; + export CFLAGS; +fi + +if echo "x${CFLAGS}x" | grep -- "-Werror" ; then + CFLAGS=`echo ${CFLAGS} | sed s#-Werror##` + export CFLAGS; +fi + +if test "x${TEST_CXXFLAGS}" != "x" ; then + CXXFLAGS="${CXXFLAGS} ${TEST_CXXFLAGS}"; +fi + +if echo "x${CXXFLAGS}x" | grep -- "-Werror" ; then + CXXFLAGS=`echo ${CXXFLAGS} | sed s#-Werror##`; + export CXXFLAGS +fi + +echo CFLAGS=${CFLAGS} +echo CXXFLAGS=${CXXFLAGS} + +if test "x${CODEGEN_JAR}" = "x" -a "x${CODEGEN_COMMAND}" = "x" ; then + + if test -f "${testbindir}/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${testbindir}/CodeGenCmdLine.jar"; + elif test -f "${bindir}/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${bindir}/CodeGenCmdLine.jar"; + elif test -f "${builddir}/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${builddir}/CodeGenCmdLine.jar"; + elif test -f "${builddir}/plat/java/lib/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${builddir}/plat/java/lib/CodeGenCmdLine.jar"; + elif test -f "${RCSLIB_DIR}/plat/java/lib/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${RCSLIB_DIR}/plat/java/lib/CodeGenCmdLine.jar"; + elif test -f "${orig_src_dir}/bin/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${orig_src_dir}/bin/CodeGenCmdLine.jar"; + elif test -f "${orig_src_dir}/plat/java/lib/CodeGenCmdLine.jar" ; then + CODEGEN_JAR="${orig_src_dir}/plat/java/lib/CodeGenCmdLine.jar"; + else + make -C "${orig_src_dir}/src/java/rcs" PLAT=java; + make -C "${orig_src_dir}/src/java/diagapplet/utils" PLAT=java; + make -C "${orig_src_dir}/src/java/diagapplet/CodeGen" PLAT=java; + CODEGEN_JAR="${orig_src_dir}/plat/java/lib/CodeGenCmdLine.jar"; + fi +fi + +cp "${CODEGEN_JAR}" .; +CODEGEN_JAR=CodeGenCmdLine.jar; + + + +if test "x${RCS_JAR}" = "x" ; then + + if test -f "${testbindir}/rcs.jar" ; then + RCS_JAR="${testbindir}/rcs.jar"; + elif test -f "${bindir}/rcs.jar" ; then + RCS_JAR="${bindir}/rcs.jar"; + elif test -f "${builddir}/rcs.jar" ; then + RCS_JAR="${builddir}/rcs.jar"; + elif test -f "${builddir}/plat/java/lib/rcs.jar" ; then + RCS_JAR="${builddir}/plat/java/lib/rcs.jar"; + elif test -f "${RCSLIB_DIR}/plat/java/lib/rcs.jar" ; then + RCS_JAR="${RCSLIB_DIR}/plat/java/lib/rcs.jar"; + elif test -f "${orig_src_dir}/bin/rcs.jar" ; then + RCS_JAR="${orig_src_dir}/bin/rcs.jar"; + elif test -f "${orig_src_dir}/plat/java/lib/rcs.jar" ; then + RCS_JAR="${orig_src_dir}/plat/java/lib/rcs.jar"; + else + make -C "${orig_src_dir}/src/java/rcs" PLAT=java; + RCS_JAR="${orig_src_dir}/plat/java/lib/rcs.jar"; + fi +fi + +cp "${RCS_JAR}" .; +#RCS_JAR=${RCS_JAR##/*} +RCS_JAR=rcs.jar; +jar -xf "${RCS_JAR}" + +export RCS_JAR; +export CODEGEN_JAR; + +if test "x${CODEGEN_JAR}" = "x" -o '!' -f "${CODEGEN_JAR}" ; then + if test "x${CODEGEN_COMMAND}" = "x" ; then + if test -x "${testbindir}/nml_codegen${EXE_EXT}" ; then + CODEGEN_COMMAND="${testbindir}/nml_codegen${EXE_EXT}"; + export CODEGEN_COMMAND; + elif test -x "${bindir}/nml_codegen${EXE_EXT}" ; then + CODEGEN_COMMAND="${bindir}/nml_codegen${EXE_EXT}"; + export CODEGEN_COMMAND; + elif test -x "${builddir}/nml_codegen${EXE_EXT}" ; then + CODEGEN_COMMAND="${builddir}/nml_codegen${EXE_EXT}"; + export CODEGEN_COMMAND; + fi + fi +fi + + +echo CODEGEN_COMMAND=${CODEGEN_COMMAND} + + +echo CODEGEN_JAR=${CODEGEN_JAR} +echo RCS_JAR=${RCS_JAR} +echo RCSLIB_DIR=${RCSLIB_DIR} +echo RCSLIB_LIB_DIR=${RCSLIB_LIB_DIR} +echo USE_SRC_PATH=${USE_SRC_PATH} +echo USE_LIBTOOL=${USE_LIBTOOL} +echo EXEEXT=${EXEEXT} +echo MAKEFLAGS=${MAKEFLAGS} + +if test "x${MAKEFLAGS}" != "x" ; then + MAKEFLAGS= + export MAKEFLAGS +fi + +echo MAKELEVEL=${MAKELEVEL} + +if test "x${MAKELEVEL}" != "x" ; then + MAKELEVEL= + export MAKELEVEL +fi + +echo MAKEOVERRIDES=${MAKEOVERRIDES} +if test "x${MAKEOVERRIDES}" != "x" ; then + MAKEOVERRIDES= + export MAKEOVERRIDES +fi + +if test "x${MAKE_CMD}" = "x" ; then + MAKE_CMD=make; +fi + +echo MAKE_CMD="${MAKE_CMD}" + +"${MAKE_CMD}" --version + +"${MAKE_CMD}" -f Makefile.extra_tests clean "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" +"${MAKE_CMD}" -f Makefile.extra_tests all "CFLAGS=${CFLAGS}" "CXXFLAGS=${CXXFLAGS}" || ( echo "make failed." ; exit 251;) || exit 251 + +./extra_tests.sh || (sts=$?; echo "run_extra_tests failed sts=${sts}"; exit ${sts}; ) || exit $? + +echo "OK" + +exit 0 + + + diff --git a/etc/testnml.sh b/etc/testnml.sh new file mode 100755 index 0000000..86ce1ad --- /dev/null +++ b/etc/testnml.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +echo "If this test fails check ${HOME}/.tmp/testnml.log and ${HOME}/.tmp/testnml.err." + +if test -d ${HOME}/.tmp ; then + \rm -r -f ${HOME}/.tmp +fi + +mkdir ${HOME}/.tmp + +if test ! -f etc/testnml_internal.sh ; then + if test "x${srcdir}" != "x" -a -f ${srcdir}/etc/testnml_internal.sh ; then + . ${srcdir}/etc/testnml_internal.sh >${HOME}/.tmp/testnml.log 2>${HOME}/.tmp/testnml.err + sts=$? + echo sts=${sts} + exit ${sts} + fi +fi + +. etc/testnml_internal.sh >${HOME}/.tmp/testnml.log 2>${HOME}/.tmp/testnml.err +sts=$? +echo sts=${sts} +exit ${sts} + diff --git a/etc/testnml_internal.sh b/etc/testnml_internal.sh new file mode 100755 index 0000000..3a3c2ae --- /dev/null +++ b/etc/testnml_internal.sh @@ -0,0 +1,1476 @@ +#! /bin/sh + +set -x + +export DO_NOT_PRINT_CMS_QUEUE_FULL=1; +export DO_NOT_PRINT_NML_QUEUE_FULL=1; + +echo "${0}:${LINENO} Starting $0 $* from ${PWD}" +echo "${0}:${LINENO} Starting $0 $* from ${PWD}" >&2 + +if test "x${TESTNML_SLEEP}" = "x" ; then + export TESTNML_SLEEP=1; + if uname -a | grep "Darwin" >/dev/null 2>/dev/null ; then + # Work around for Macs being incredibly unreliable and slow. + export TESTNML_SLEEP=10; + fi +fi + +if test "x${LOG_TO_STDOUT}" != "x" ; then + echo "${0}:${LINENO} Running $0 $* . . ."; + pwd + set + printenv; + echo "${0}:${LINENO} Ready?" + read ready_confirm; +fi + +if test "x${USER}" = "xroot" -a "x${RUN_CHECK_AS_ROOT}" != "xy" ; then + echo "${0}:${LINENO} This program is unsafe to run as root.\n" + echo "${0}:${LINENO} This program is unsafe to run as root.\n" >&2 + exit 1 +fi + +WHOAMI_RET=`whoami >/dev/null 2>/dev/null`; + +if test "x${WHOAMI_RET}" = "xroot" -a "x${RUN_CHECK_AS_ROOT}" != "xy" ; then + echo "${0}:${LINENO} This program is unsafe to run as root.\n" + echo "${0}:${LINENO} This program is unsafe to run as root.\n" >&2 + exit 1 +fi + +if test "x${NML_SET_TO_SERVER}" != "x" ; then + NML_SET_TO_SERVER= +fi + +if test "x${server_startup_delay}" = "x" ; then + server_startup_delay=10; +fi + +export_n_out=`(export -n NML_SET_TO_SERVER 2>/dev/null && echo OK) | tail -n 1` + +#DEBUG_OUTPUT=STDOUT +#export DEBUG_OUTPUT + +if test "x${export_n_out}" = "xOK" ; then + export -n NML_SET_TO_SERVER >/dev/null 2>/dev/null +fi +unset NML_SET_TO_SERVER >/dev/null 2>/dev/null + +unalias ls >/dev/null 2>/dev/null +unalias rm >/dev/null 2>/dev/null +unalias mv >/dev/null 2>/dev/null +unalias cp >/dev/null 2>/dev/null +unalias cat >/dev/null 2>/dev/null +unalias cd >/dev/null 2>/dev/null + +if test "x${tmpdir}" != "x" ; then + temp_dir="${tmpdir}"; +elif test "x${temp_dir}" = "x" ; then + tmpdir="/tmp"; + temp_dir="/tmp"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir /tmp/tni_$$ && touch /tmp/tni_$$/.touch_$$ && temp_dir="/tmp/tni_$$"; +fi + +if test "x${temp_dir}" = "x" ; then + mkdir ${HOME}/.tmp && mkdir ${HOME}/.tmp/tni_internal_$$ && touch ${HOME}/.tmp/tni_internal_$$/.touch_$$ && temp_dir="${HOME}/.tmp/tni_internal_$$"; +fi + +if test '!' -d ${temp_dir} ; then + (mkdir ${temp_dir} || true ); + (mkdir -p ${temp_dir} || true ); +fi + +tmpdir="${temp_dir}" + +( mkdir ${tmpdir} && chmod u+w ${tmpdir} || true) >/dev/null 2>/dev/null ; + + +cat >${tmpdir}/psgrepi.sh <&2 + +echo "${0}:${LINENO} Current directory:" +pwd +pwd >&2 + +(\rm -f ${tmpdir}/killnt.${TESTNAME}.*.sh ) >/dev/null 2>/dev/null +(\rm -f ${tmpdir}/logstat.${TESTNAME}.*.sh ) >/dev/null 2>/dev/null + +LAUNCHER_TO_KILL= +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + LAUNCHER_TO_KILL=`echo ${PROGRAM_LAUNCHER} | sed 's/ --//'` +fi + + +echo PROGRAM_LAUNCHER="${PROGRAM_LAUNCHER}" +echo EXEEXT="${EXEEXT}" +echo KILL_LAUNCHER="${KILL_LAUNCHER}" + +sleep ${TESTNML_SLEEP} + +echo "${0}:${LINENO} Testing nmlcfg${EXEEXT} . . ." + +${KILL_LAUNCHER} + +if test "x${IPV6}" != "x" ; then + NMLCFG_OPTIONS="${NMLCFG_OPTIONS}%%%host=::1"; +fi + +echo NMLCFG_OPTIONS="${NMLCFG_OPTIONS}" + +NMLCFG_PROG="${testbindir}/nmlcfg${EXEEXT}"; + +if test -x "${bindir}/nmlcfg${EXEEXT}" \ + -a '!' -x "${testbindir}/nmlcfg${EXEEXT}" ; then + NMLCFG_PROG="${bindir}/nmlcfg${EXEEXT}"; +fi + +NMLCFGCMD="${PROGRAM_LAUNCHER} ${NMLCFG_PROG} ${NMLCFG_OPTIONS} ${srcdir}/src/test/test.nml2 --HEADER_DIR=${srcdir}/src/test/ -o ${tmpdir}/${TESTNAME}_test.nml"; +echo NMLCFGCMD=${NMLCFGCMD} +${PROGRAM_LAUNCHER} "${NMLCFG_PROG}" ${NMLCFG_OPTIONS} "${srcdir}/src/test/test.nml2" "--HEADER_DIR=${srcdir}/src/test/" -o "${tmpdir}/${TESTNAME}_test.nml"; + +nmlcfgsts=$? + +echo "${0}:${LINENO} nmlcfgsts=${nmlcfgsts}"; + +if test ${nmlcfgsts} -ne 0 ; then + echo "${0}:${LINENO} nmlcfg${EXEEXT} test failed."; + exit 254; +fi + +if test '!' -f "${srcdir}/src/test/test.nml2" ; then + echo "${0}:${LINENO} nmlcfg${EXEEXT} test failed."; + exit 253; +fi + +echo "${0}:${LINENO} ${srcdir}/src/test/test.nml2" +ls -l "${srcdir}/src/test/test.nml2" +cat "${srcdir}/src/test/test.nml2" + +echo "${0}:${LINENO} ${tmpdir}/${TESTNAME}_test.nml" +ls -l "${tmpdir}/${TESTNAME}_test.nml" +cat "${tmpdir}/${TESTNAME}_test.nml" + +if test -f ./config.dat ; then + cat ./config.dat; +else + echo "${0}:${LINENO} No config.dat" +fi + + +if test $? -ne 0 ; then + echo "${0}:${LINENO} nmlcfg${EXEEXT} test failed" + exit 252 +fi + +if test ! -f ${tmpdir}/${TESTNAME}_test.nml ; then + echo "${0}:${LINENO} nmlcfg${EXEEXT} test failed" + exit 251 +fi + +echo "${0}:${LINENO} nmlcfg${EXEEXT} test Passed" + + +#idlist="10001 10002 10003 10004 20001 20002 20003 20004" + +idlist1=`grep -i SHMEM ${srcdir}/src/test/*.nml | awk '{printf(" %s ",$10);}'` +idlist2=`grep -i SHMEM ${tmpdir}/*.nml | awk '{printf(" %s ",$10);}'` +idlist="${idlist1} ${idlist2}" + +cat >${tmpdir}/logstat.${TESTNAME}.$$.sh <&1 ) > ${tmpdir}/logstat_${TESTNAME}.$$.\${date_string}.log +echo Finished ${tmpdir}/logstat.${TESTNAME}.$$.sh from $0 $* +echo Log saved to ${tmpdir}/logstat_${TESTNAME}.$$.\${date_string}.log; +ls -l ${tmpdir}/logstat_${TESTNAME}.$$.\${date_string}.log; + +EOF + +cat >${tmpdir}/killnt.${TESTNAME}.$$.sh <&1 ) > ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log +echo Finished ${tmpdir}/killnt.${TESTNAME}.$$.sh from $0 $* +echo Log saved to ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log; +ls -l ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log; +echo "" +echo "" +echo "" + +EOF + + +chmod a+x "${tmpdir}/killnt.${TESTNAME}.$$.sh"; +ls -l "${tmpdir}/killnt.${TESTNAME}.$$.sh"; +#cat "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +"${tmpdir}/killnt.${TESTNAME}.$$.sh" + + +chmod a+x "${tmpdir}/logstat.${TESTNAME}.$$.sh"; +ls -l "${tmpdir}/logstat.${TESTNAME}.$$.sh"; +#cat "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +"${tmpdir}/logstat.${TESTNAME}.$$.sh" + +${KILL_LAUNCHER} +sleep 5 + + +${KILL_LAUNCHER} + +pwd +sleep 5 + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + + +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" "${PROGRAM_LAUNCHER}" +fi +"${PS_GREP_I}" nml_te; + +echo NML_TEST_LOCAL="${NML_TEST_LOCAL}"; + +if test "x${NML_TEST_LOCAL}" != "xno" ; then + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server1.log"; + +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." + +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( set -x; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" b1 b1s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" ${PROGRAM_LAUNCHER} +fi +"${PS_GREP_I}" nml_te; + +sleep ${TESTNML_SLEEP}0 + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +echo "${0}:${LINENO} Testing local write . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" b1 lw "${tmpdir}/${TESTNAME}_test.nml" 7; +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local write test failed." + echo "${0}:${LINENO} ERROR: Local write test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Local write test failed." + echo "${0}:${LINENO} ERROR: Local write test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 250 +fi +echo "${0}:${LINENO} local write test passed."; + +echo "${0}:${LINENO} Testing local read . . . "; +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" b1 lr "${tmpdir}/${TESTNAME}_test.nml" 7; +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}"; + +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local read test failed." + echo "${0}:${LINENO} ERROR: Local read test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Local read test failed." + echo "${0}:${LINENO} ERROR: Local read test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 119 +fi + +echo "${0}:${LINENO} Testing local read using passed address . . . "; +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" b1 lr "${tmpdir}/${TESTNAME}_test.nml" 7 use_read_with_args; +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}"; + +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local read test failed." + echo "${0}:${LINENO} ERROR: Local read test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Local read test failed." + echo "${0}:${LINENO} ERROR: Local read test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 119 +fi +echo "${0}:${LINENO} local read test passed." + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} +sleep 5 +${KILL_LAUNCHER} + +sleep 5 + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +if test "x${NO_NMLCLEAN}" = "x" ; then + + NMLCLEAN_PROG="${testbindir}/nmlclean${EXEEXT}"; + + if test -x "${bindir}/nmlclean${EXEEXT}" -a '!' -x "${testbindir}/nmlclean${EXEEXT}" ; then + NMLCLEAN_PROG="${bindir}/nmlclean${EXEEXT}"; + fi + + NMLCLEANCMD="${PROGRAM_LAUNCHER} ${NMLCLEAN_PROG} ${tmpdir}/${TESTNAME}_test.nml"; + echo NMLCLEANCMD="${NMLCLEANCMD}"; + + ${PROGRAM_LAUNCHER} "${NMLCLEAN_PROG}" "${tmpdir}/${TESTNAME}_test.nml"; + + nmlcleansts=$? + + echo "${0}:${LINENO} nmlcleansts=${nmlcleansts}"; +fi + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +# matches "x${NML_TEST_LOCAL}" != "xno" +fi + +if test "x${NML_TEST_QUEUE}" != "xno" -a "x${NML_TEST_LOCAL}" != "xno" ; then + +sleep 5 +ps -ae +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" ${PROGRAM_LAUNCHER} +fi +"${PS_GREP_I}" nml_te; +sync +sleep ${TESTNML_SLEEP} + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server2.log"; + +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( set -x; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" qb b1s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} + + +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" ${PROGRAM_LAUNCHER} +fi +"${PS_GREP_I}" nml_te; + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +sleep ${TESTNML_SLEEP} + +if test "x${NO_SINGLE_PROCESS_QUEUE_TEST}" = "x" ; then + + echo "${0}:${LINENO} Testing local single process queue tests . . . " + \rm -f "${testbindir}/ntspqt_lw.${TESTNAME}.$$.log"; + ( ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_single_process_queue_test${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 99 100 2>&1 ) >"${testbindir}/ntspqt_lw.${TESTNAME}.$$.log"; + nmltestsingleprocessqueuests=$? + echo "${0}:${LINENO} nmlsingleprocessqueuests=${nmltestsingleprocessqueuests}" + ls -l "${testbindir}/ntspqt_lw.${TESTNAME}.$$.log"; + + if test ${nmltestsingleprocessqueuests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local single process queue test failed." + echo "${0}:${LINENO} ERROR: Local single process queue test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Local single process test failed." + echo "${0}:${LINENO} ERROR: Local single process test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${testbindir}/ntspqt_lw.${TESTNAME}.$$.log" + tail -n 30 "${testbindir}/ntspqt_lw.${TESTNAME}.$$.log" + echo "${0}:${LINENO} ERROR: END <- ${testbindir}/ntspqt_lw.${TESTNAME}.$$.log" + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 122 + fi + echo "${0}:${LINENO} local single process queue passed." + +fi + + +echo "${0}:${LINENO} Testing local write to queued buffer . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 99; +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} Local write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} Local write test to queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 118 +fi +echo "${0}:${LINENO} local write to queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 1; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" + +if test ${nmltestgetqueuelengthsts} -ne 0 ; then + echo "${0}:${LINENO} Local get_queue_length failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} Local get_queue_length failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 117 +fi +echo "${0}:${LINENO} local get_queue_length test passed." + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 98 +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} Local write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} Local write test to queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 117 +fi +echo "${0}:${LINENO} local write to queued buffer test passed." + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 97; +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} Local write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} Local write test to queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 116 +fi +echo "${0}:${LINENO} local write to queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 3; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" + +if test ${nmltestgetqueuelengthsts} -ne 0 ; then + echo "${0}:${LINENO} Local get_queue_length failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} Local get_queue_length failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 117 +fi +echo "${0}:${LINENO} local get_queue_length test passed." +sleep 2 + +echo "${0}:${LINENO} Testing local read from queued buffer. . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb lr "${tmpdir}/${TESTNAME}_test.nml" 99; +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} Local read test from queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} Local read test from queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 115 +fi + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb lr "${tmpdir}/${TESTNAME}_test.nml" 98; +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} Local read test from queued buffer failed." + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} Local read test from queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 114 +fi + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb lr "${tmpdir}/${TESTNAME}_test.nml" 97 use_read_with_args; +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} Local read test from queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} Local read test from queued buffer failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 113 +fi + +echo "${0}:${LINENO} local read from queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb lw "${tmpdir}/${TESTNAME}_test.nml" 0; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" + +if test ${nmltestgetqueuelengthsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local get_queue_length failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} ERROR: Local get_queue_length failed." + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 117 +fi +echo "${0}:${LINENO} local get_queue_length test passed." + + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} +sleep 5 +${KILL_LAUNCHER} + +sleep 5 + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +if test "x${NO_NMLCLEAN}" = "x" ; then + + NMLCLEAN_PROG="${testbindir}/nmlclean${EXEEXT}"; + + if test -x "${bindir}/nmlclean${EXEEXT}" -a '!' -x "${testbindir}/nmlclean${EXEEXT}" ; then + NMLCLEAN_PROG="${bindir}/nmlclean${EXEEXT}"; + fi + + NMLCLEANCMD="${PROGRAM_LAUNCHER} ${NMLCLEAN_PROG} ${tmpdir}/${TESTNAME}_test.nml"; + echo "${0}:${LINENO} NMLCLEANCMD=${NMLCLEANCMD}"; + + ${PROGRAM_LAUNCHER} "${NMLCLEAN_PROG}" "${tmpdir}/${TESTNAME}_test.nml"; + + nmlcleansts=$? + + echo "${0}:${LINENO} nmlcleansts=${nmlcleansts}" + +fi + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +# matches test "x${NML_TEST_QUEUE}" != "xno" -a "x${NML_TEST_LOCAL}" != "xno" +fi + +"${PS_GREP_I}" nml_te; + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server3.log"; + +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( set -x; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" b2 b2s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +sleep ${TESTNML_SLEEP} + +echo NML_TEST_LOCAL="${NML_TEST_LOCAL}"; +echo NML_TEST_BLOCKING="${NML_TEST_BLOCKING}"; + +if test "x${NML_TEST_BLOCKING}" != "xno" -a "x${NML_TEST_LOCAL}" != "xno" ; then +( sleep 5 ; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" b2 lw "${tmpdir}/${TESTNAME}_test.nml" 8; \ + echo nml_test_write for blocking read test exited with status $? ; \ + ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 10 8 \ + ) & + +echo "${0}:${LINENO} Testing local blocking read . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +sleep ${TESTNML_SLEEP} +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 + +nmltestblockingreadsts=$? +echo "${0}:${LINENO} nmltestblockingreadsts=${nmltestblockingreadsts}" + +if test ${nmltestblockingreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Local blocking read test failed." + echo "${0}:${LINENO} ERROR: Local blocking read test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} ERROR: Local blocking read test failed." + echo "${0}:${LINENO} ERROR: Local blocking read test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} ERROR: END <- ${SERVER_LOG}" + exit 112 +fi +echo "${0}:${LINENO} local read blocking test passed." + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} +sleep 5 +${KILL_LAUNCHER} + +sleep 5 +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +## "x${NML_TEST_BLOCKING}" != "xno" -a "x${NML_TEST_LOCAL}" != "xno" +fi + + +echo NML_TEST_REMOTE="${NML_TEST_REMOTE}" + +if test "x${NML_TEST_REMOTE}" != "xno" ; then + +sleep 5 + +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" ${PROGRAM_LAUNCHER} +fi +"${PS_GREP_I}" nml_te; + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server4.log"; + +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( set -x; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" b1 b1s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} + +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + "${PS_GREP_I}" ${PROGRAM_LAUNCHER}; +fi +"${PS_GREP_I}" nml_te; + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +sleep ${TESTNML_SLEEP}0 + + +echo "${0}:${LINENO} Testing remote write . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" b1 rw "${tmpdir}/${TESTNAME}_test.nml" 7 + +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote write test failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote write test failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 111 +fi +echo "${0}:${LINENO} remote write test passed." + + +echo "${0}:${LINENO} Testing remote read . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" b1 rr "${tmpdir}/${TESTNAME}_test.nml" 7 + +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" + +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote read failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote read failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 110 +fi + + +echo "${0}:${LINENO} Testing remote read with passed address . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" b1 rr "${tmpdir}/${TESTNAME}_test.nml" 7 use_read_with_args + +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" + +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote read failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote read failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 110 +fi +echo "${0}:${LINENO} remote read test passed." + +${KILL_LAUNCHER} + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +sleep 5 + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +if test "x${NO_NMLCLEAN}" = "x" ; then + + NMLCLEAN_PROG="${testbindir}/nmlclean${EXEEXT}"; + + if test -x "${bindir}/nmlclean${EXEEXT}" -a '!' -x "${testbindir}/nmlclean${EXEEXT}" ; then + NMLCLEAN_PROG="${bindir}/nmlclean${EXEEXT}"; + fi + + NMLCLEANCMD="${PROGRAM_LAUNCHER} ${NMLCLEAN_PROG} ${tmpdir}/${TESTNAME}_test.nml"; + echo NMLCLEANCMD=${NMLCLEANCMD} + + ${PROGRAM_LAUNCHER} "${NMLCLEAN_PROG}" "${tmpdir}/${TESTNAME}_test.nml"; + + nmlcleansts=$? + + echo "${0}:${LINENO} nmlcleansts=${nmlcleansts}" + +fi + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + + +if test "x${NML_TEST_QUEUE}" != "xno" ; then + +sleep 5 +"${PS_GREP_I}" nml_te + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server5.log"; + +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( set -x; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" qb b1s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} + + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +sleep ${TESTNML_SLEEP} + +if test "x${NO_SINGLE_PROCESS_QUEUE_TEST}" = "x" ; then + + echo "${0}:${LINENO} Testing remote single process queue tests . . . " + \rm -f "${testbindir}/ntspqt_rw.${TESTNAME}.$$.log"; + ( ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_single_process_queue_test${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 99 100 2>&1) >"${testbindir}/ntspqt_rw.${TESTNAME}.$$.log"; + nmltestsingleprocessqueuests=$? + echo "${0}:${LINENO} nmlsingleprocessqueuests=${nmltestsingleprocessqueuests}" + ls -l "${testbindir}/ntspqt_rw.${TESTNAME}.$$.log"; + + if test ${nmltestsingleprocessqueuests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote single process queue test failed." + echo "${0}:${LINENO} ERROR: Remote single process queue test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh" + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote single process test failed." + echo "${0}:${LINENO} ERROR: Remote single process test failed. (2)" >&2 + echo "${0}:${LINENO} ERROR: BEGIN -> ${testbindir}/ntspqt_rw.${TESTNAME}.$$.log" + tail -n 30 "${testbindir}/ntspqt_rw.${TESTNAME}.$$.log" + echo "${0}:${LINENO} ERROR: END <- ${testbindir}/ntspqt_rw.${TESTNAME}.$$.log" + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 123 + fi + echo "${0}:${LINENO} remote single process queue passed." +fi + + +echo "${0}:${LINENO} Testing remote write to queued buffer . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 99 +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 109 +fi +echo "${0}:${LINENO} remote write to queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 1; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" +if test ${nmltestgetqueuelengthsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote get_queue_length failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote get_queue_length failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 108 +fi + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 98 +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 121 +fi +echo "${0}:${LINENO} remote write to queued buffer test passed." +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 97 +nmltestwritests=$? +echo "${0}:${LINENO} nmltestwritests=${nmltestwritests}" + +if test ${nmltestwritests} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote write test to queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 107 +fi +echo "${0}:${LINENO} remote write to queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 3; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" + +sleep 5 + +echo "${0}:${LINENO} Testing remote read from queued buffer. . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb rr "${tmpdir}/${TESTNAME}_test.nml" 99 +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh" + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 106 +fi + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb rr "${tmpdir}/${TESTNAME}_test.nml" 98 +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 105 +fi + +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_read${EXEEXT}" qb rr "${tmpdir}/${TESTNAME}_test.nml" 97 +nmltestreadsts=$? +echo "${0}:${LINENO} nmltestreadsts=${nmltestreadsts}" +if test ${nmltestreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote read test from queued buffer failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 104 +fi + +echo "${0}:${LINENO} remote read from queued buffer test passed." + +echo "${0}:${LINENO} Testing get_queue_length . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_get_queue_length${EXEEXT}" qb rw "${tmpdir}/${TESTNAME}_test.nml" 0; +nmltestgetqueuelengthsts=$? +echo "${0}:${LINENO} nmltestgetqueuelengthsts=${nmltestgetqueuelengthsts}" + +if test ${nmltestgetqueuelengthsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote get_queue_length failed." + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote get_queue_length failed." + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 104 +fi + +echo "${0}:${LINENO} remote get_queue_length passed." + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} +sleep 5 +${KILL_LAUNCHER} + +sleep 5 +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +if test "x${NO_NMLCLEAN}" = "x" ; then + + NMLCLEAN_PROG="${testbindir}/nmlclean${EXEEXT}"; + + if test -x "${bindir}/nmlclean${EXEEXT}" -a '!' -x "${testbindir}/nmlclean${EXEEXT}" ; then + NMLCLEAN_PROG="${bindir}/nmlclean${EXEEXT}"; + fi + + NMLCLEANCMD="${PROGRAM_LAUNCHER} ${NMLCLEAN_PROG} ${tmpdir}/${TESTNAME}_test.nml" + echo NMLCLEANCMD=${NMLCLEANCMD} + + ${PROGRAM_LAUNCHER} "${NMLCLEAN_PROG}" "${tmpdir}/${TESTNAME}_test.nml" + + nmlcleansts=$? + + echo "${0}:${LINENO} nmlcleansts=${nmlcleansts}" +fi + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +# test "x${NML_TEST_QUEUE}" != "xno" +fi + +"${PS_GREP_I}" nml_te; + +SERVER_LOG="${tmpdir}/${TESTNAME}_test_server6.log" +echo "${0}:${LINENO} Starting server${EXEEXT} . . ." +if test -f nml_test_server.running ; then \rm -f nml_test_server.running; fi +( ( ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_server${EXEEXT}" b2 b2s "${tmpdir}/${TESTNAME}_test.nml" 2>&1 ) | tee "${SERVER_LOG}" ) & +sleep ${TESTNML_SLEEP}; +tries=0; +while true ; do + echo "${0}:${LINENO} waiting for nml_test_server..." + sleep ${TESTNML_SLEEP}; + let tries++; + if test ${tries} -gt 40 ; then + echo "${0}:${LINENO} timedout."; + exit 2; + fi + echo -n "."; + + if test -f "nml_test_server.running" ; then + echo "${0}:${LINENO} done."; + break; + fi +done; +sleep ${TESTNML_SLEEP} + +"${tmpdir}/logstat.${TESTNAME}.$$.sh"; + +sleep ${TESTNML_SLEEP} + +echo NML_TEST_BLOCKING="${NML_TEST_BLOCKING}" +echo NML_TEST_REMOTE="${NML_TEST_REMOTE}" + +if test "x${NML_TEST_BLOCKING}" != "xno" ; then + +( sleep 5 ; ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_write${EXEEXT}" b2 rw "${tmpdir}/${TESTNAME}_test.nml" 8 ; \ + ${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 ) & + +echo "${0}:${LINENO} Testing remote blocking read . . . " +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 rr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 rr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +sleep ${TESTNML_SLEEP} +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 lr "${tmpdir}/${TESTNAME}_test.nml" 30 8 & +date +${PROGRAM_LAUNCHER} "${testbindir}/nml_test_blocking_read${EXEEXT}" b2 rr "${tmpdir}/${TESTNAME}_test.nml" -1 8 + +nmltestblockingreadsts=$? +echo "${0}:${LINENO} nmltestblockingreadsts=${nmltestblockingreadsts}" + +if test ${nmltestblockingreadsts} -ne 0 ; then + echo "${0}:${LINENO} ERROR: Remote blocking read test failed." + echo "${0}:${LINENO} ERROR: Remote blocking read test failed. (2)" >&2 + "${tmpdir}/logstat.${TESTNAME}.$$.sh"; + "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + echo "${0}:${LINENO} ERROR: Remote blocking read test failed." + echo "${0}:${LINENO} ERROR: Remote blocking read test failed. (2)" >&2 + echo "${0}:${LINENO} Begin ${SERVER_LOG}" + tail -n 30 "${SERVER_LOG}" + echo "${0}:${LINENO} End ${SERVER_LOG}" + exit 103 +fi +date +echo "${0}:${LINENO} remote read blocking test passed." + +## "x${NML_TEST_BLOCKING}" != "xno" +fi + + +## "x${NML_TEST_REMOTE}" != "xno" +fi + +echo "${0}:${LINENO} Kill any nml test programs still running." +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} + +if test "x${NO_NMLCLEAN}" = "x" ; then + + ${PROGRAM_LAUNCHER} "${bindir}/nmlclean${EXEEXT}" "${tmpdir}/${TESTNAME}_test.nml"; + if test -f nmlclean${EXEEXT}.log ; then + mv nmlclean${EXEEXT}.log "${tmpdir}/nmlclean${EXEEXT}-1-$$.log"; + fi +fi + +if test -x /usr/bin/killall -a -x /usr/X11R6/bin/xterm ; then + killall "${TESTNAME}taillog.sh" +fi + +echo "${0}:${LINENO} End of $0 $* from ${PWD}" +echo "${0}:${LINENO} End of $0 $* from ${PWD}" >&2 + + +exit 0 diff --git a/etc/testnmlcfgsvr_internal.sh b/etc/testnmlcfgsvr_internal.sh new file mode 100755 index 0000000..9d3cdff --- /dev/null +++ b/etc/testnmlcfgsvr_internal.sh @@ -0,0 +1,522 @@ +#! /bin/sh + +set -x + +echo "${0}:${LINENO} Starting $0 $* from ${PWD}" +echo "${0}:${LINENO} Starting $0 $* from ${PWD} (2)" >&2 + +if test "x${USER}" = "xroot" -a "x${RUN_CHECK_AS_ROOT}" != "xy" ; then + echo "${0}:${LINENO} This program is unsafe to run as root.\n" + echo "${0}:${LINENO} This program is unsafe to run as root. (2)\n" >&2 + exit 1 +fi + +WHOAMI_RET=`whoami >/dev/null 2>/dev/null`; + +if test "x${WHOAMI_RET}" = "xroot" -a "x${RUN_CHECK_AS_ROOT}" != "xy" ; then + echo "${0}:${LINENO} This program is unsafe to run as root.\n" + echo "${0}:${LINENO} This program is unsafe to run as root. (2)\n" >&2 + exit 1 +fi + +if test "x${NML_SET_TO_SERVER}" != "x" ; then + NML_SET_TO_SERVER= +fi + +if test "x${server_startup_delay}" = "x" ; then + server_startup_delay=10; +fi + +export_n_out=`(export -n NML_SET_TO_SERVER 2>/dev/null && echo OK) | tail -n 1` + +#DEBUG_OUTPUT=STDOUT +#export DEBUG_OUTPUT + +if test "x${export_n_out}" = "xOK" ; then + export -n NML_SET_TO_SERVER >/dev/null 2>/dev/null +fi +unset NML_SET_TO_SERVER >/dev/null 2>/dev/null + +unalias ls >/dev/null 2>/dev/null +unalias rm >/dev/null 2>/dev/null +unalias mv >/dev/null 2>/dev/null +unalias cp >/dev/null 2>/dev/null +unalias cat >/dev/null 2>/dev/null +unalias cd >/dev/null 2>/dev/null + +if test "x${tmpdir}" = "x" ; then + tmpdir=/tmp; +fi + + +cat >"${tmpdir}/psgrepi.sh" <"${tmpdir}/${TESTNAME}taillog.sh" <&2 + +echo "${0}:${LINENO} Current directory:" +pwd +pwd >&2 + +(rm "${tmpdir}/killnt.${TESTNAME}.*.sh" ) >/dev/null 2>/dev/null + +LAUNCHER_TO_KILL= +if test "x${PROGRAM_LAUNCHER}" != "x" ; then + LAUNCHER_TO_KILL=`echo ${PROGRAM_LAUNCHER} | sed 's/ --//'` +fi + +idlist="10001 10002 10003 10004 20001 20002 20003 20004 30000 30001 30002 30003 30004 30005 30006 30007 30008 40000 40001 40002 40003 40004 40005 40006 40007 40008" + +cat >"${tmpdir}/killnt.${TESTNAME}.$$.sh" <&1 ) > ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log +echo Finished ${tmpdir}/killnt.${TESTNAME}.$$.sh from $0 $* +echo Log saved to ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log; +ls -l ${tmpdir}/killnt_${TESTNAME}.$$.\${date_string}.log; +EOF + + +chmod a+x "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +ls -l "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +cat "${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + + +echo PROGRAM_LAUNCHER="${PROGRAM_LAUNCHER}" +echo EXEEXT="${EXEEXT}" +echo KILL_LAUNCHER="${KILL_LAUNCHER}" + +sleep 1 + +echo "${0}:${LINENO} Launching nmlcfgsvr${EXEEXT} . . ." + +${KILL_LAUNCHER} + +sleep 1 + +NMLCFGSVR_PROG="${testbindir}/nmlcfgsvr${EXEEXT}"; + +if test -x "${bindir}/nmlcfgsvr${EXEEXT}" \ + -a '!' -x "${testbindir}/nmlcfgsvr${EXEEXT}" ; then + NMLCFGSVR_PROG="${bindir}/nmlcfgsvr${EXEEXT}"; +fi + + +\rm -rf nmlcfgsvr*.log nmlcfgsvr*.err ${tmpdir}/nmlcfgsvr*.log ${tmpdir}/nmlcfgsvr*.err + +${PROGRAM_LAUNCHER} "${NMLCFGSVR_PROG}" --startkey 30000 --debug >${tmpdir}/nmlcfgsvr.log 2>${tmpdir}/nmlcfgsvr.err & + +sleep 5 + +${PROGRAM_LAUNCHER} "${NMLCFGSVR_PROG}" --port 54545 --startkey 40000 --debug >${tmpdir}/nmlcfgsvr2.log 2>${tmpdir}/nmlcfgsvr2.err & + +sleep 5 + + +( ps -ae || true ) +( ps || true ) +( ipcs || true ) +( netstat -naptee && netstat -napuee || netstat -na || true) + +NML_TEST_WRITE_PROG="${testbindir}/nml_test_write${EXEEXT}"; + +if test -x "${bindir}/nml_test_write${EXEEXT}" \ + -a '!' -x "${testbindir}/nml_test_write${EXEEXT}" ; then + NML_TEST_WRITE_PROG="${bindir}/nml_test_write${EXEEXT}"; +fi + +NMLCFGSVR_DOMAIN="~newnmldomain~" +export NMLCFGSVR_DOMAIN + +${PROGRAM_LAUNCHER} "${NML_TEST_WRITE_PROG}" b1 ntw1 nmlcfgsvr/ 99 50 5.0 & + +sleep 5 + +( ps -ae || true ) +( ps || true ) +( ipcs || true ) +( netstat -naptee && netstat -napuee || netstat -na || true) + +echo "${0}:${LINENO} NMLCFGSVR_DOMAIN=${NMLCFGSVR_DOMAIN}" + +NMLCFGSVR_DOMAIN="~newnmldomain~" +export NMLCFGSVR_DOMAIN + +${PROGRAM_LAUNCHER} "${NML_TEST_WRITE_PROG}" b2 ntw1 nmlcfgsvr//54545 98 50 5.0 & + +sleep 5 + +( ps -ae || true ) +( ps || true ) +( ipcs || true ) +( netstat -naptee && netstat -napuee || netstat -na || true) + + +NMLCFGSVR_DOMAIN="ND5" +export NMLCFGSVR_DOMAIN + +${PROGRAM_LAUNCHER} "${NML_TEST_WRITE_PROG}" b1 ntw3 nmlcfgsvr/ 97 50 5.0 & + +( ps -ae || true ) +( ps || true ) +( ipcs || true ) +( netstat -naptee && netstat -napuee || netstat -na || true) + +NML_TEST_NMLSET_PROG="${testbindir}/nml_test_nmlset${EXEEXT}"; + +if test -x "${bindir}/nml_test_nmlset${EXEEXT}" \ + -a '!' -x "${testbindir}/nml_test_nmlset${EXEEXT}" ; then + NML_TEST_NMLSET_PROG="${bindir}/nml_test_nmlset${EXEEXT}"; +fi + +${PROGRAM_LAUNCHER} "${NML_TEST_NMLSET_PROG}" 'b1;b2' ntw1 'nmlcfgsvr/;nmlcfgsvr//54545' 3 50 +nmlsetsts=$? + +echo "${0}:${LINENO} nmlsetsts=${nmlsetsts}" + +echo "${0}:${LINENO} Kill any nml test programs still running." +"${tmpdir}/killnt.${TESTNAME}.$$.sh"; + +${KILL_LAUNCHER} + +NMLCLEAN_LOCAL_ONLY=1; +export NMLCLEAN_LOCAL_ONLY; + +${NMLCLEANCMD} + +${PROGRAM_LAUNCHER} "${bindir}/nmlclean${EXEEXT}" "${tmpdir}/${TESTNAME}_test.nml"; +if test -f "nmlclean${EXEEXT}.log" ; then + mv "nmlclean${EXEEXT}.log" "${tmpdir}/nmlclean${EXEEXT}-1-$$.log" +fi + +if test -x /usr/bin/killall -a -x /usr/X11R6/bin/xterm ; then + killall "${TESTNAME}taillog.sh" +fi + +ls -l nmlcfgsvr*.log nmlcfgsvr*.err + +echo "${0}:${LINENO} End of $0 $* from ${PWD}" +echo "${0}:${LINENO} End of $0 $* from ${PWD} (2)" >&2 + +exit ${nmlsetsts} diff --git a/etc/vxworks68k5.4.def b/etc/vxworks68k5.4.def new file mode 100644 index 0000000..7cae2eb --- /dev/null +++ b/etc/vxworks68k5.4.def @@ -0,0 +1,71 @@ + +# +# Makefile for VxWorks-specific code +# + + +PLAT = vxworks5.4 +OS = 5_4 +CC = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/cc68k +C++ = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/g++68k +CPLUSPLUS = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/g++68k +CPLUSPLUS_EXTENSION = cc +NO_BINS=1 + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + +# This line removes dependancies on the Remote Procedure Call libraries +# to use RPCMEM it must be removed or commented out. +NO_RPC = 1 + + +ifdef NO_RPC +NO_RPC_FLAGS= -DNO_DCE_RPC +else +NO_RPC_FLAGS= +endif + + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) -nostdinc -DVXWORKS -DV5_4 -DCPU=MC68030 -I. -I/isd/depot/tornado2/68k/target/h -DPLATNAME=\"$(PLAT)\" $(NO_RPC_FLAGS) -DADD_STRDUP -fno-builtin + + + +C++FLAGS = $(CFLAGS) -D__CPLUSPLUS__ +CPLUSPLUSFLAGS = -D__CPLUSPLUS__ +AR = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/ar68k +RANLIB = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/ranlib68k +AS = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/as68k +LD = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/ld68k + +MAKEDEPEND = /isd/depot/x11r5/plat/bin/makedepend + +GENERIC = $(RCSDIR)/plat/generic/src +INCLUDE = $(RCSDIR)/plat/generic/include + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.o + +STRIP = /isd/depot/tornado2/68k/host/sun4-solaris2/bin/strip68k + +STRIP_DEBUG_OPTION = --strip-debug --discard-locals + +COMPILER_SETUP = \ + GCC_EXEC_PREFIX=/isd/depot/tornado2/68k/host/sun4-solaris2/lib/gcc-lib/; \ + export GCC_EXEC_PREFIX; \ + PATH=/isd/depot/tornado2/68k/host/sun4-solaris2/bin; \ + export PATH; \ + LD_LIBRARY_PATH=/usr/dt/lib:/usr/openwin/lib; \ + export LD_LIBRARY_PATH diff --git a/etc/vxworksppc5.4.def b/etc/vxworksppc5.4.def new file mode 100644 index 0000000..6ca0edf --- /dev/null +++ b/etc/vxworksppc5.4.def @@ -0,0 +1,106 @@ + +# +# Makefile for VxWorks-specific code +# + +ifdef WIND_BASE +ifeq ($(findstring 68k, $(WIND_BASE)),68k) +override WIND_BASE=/isd/depot/tornado2/ppc +endif +endif + + +ifndef WIND_BASE +WIND_BASE=/isd/depot/tornado2/ppc +endif + +ifndef WIND_HOST_TYPE +WIND_HOST_TYPE=sun4-solaris2 +endif + + +TORNADO2_PPC_BIN=$(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin + + +PLAT = vxworks5.4 +OS = 5_4 +CC = $(TORNADO2_PPC_BIN)/ccppc +C++ = $(TORNADO2_PPC_BIN)/g++ppc +CXX = $(TORNADO2_PPC_BIN)/g++ppc +CPLUSPLUS = $(TORNADO2_PPC_BIN)/g++ppc +CPLUSPLUS_EXTENSION = cc +NO_BINS=1 + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# This line removes dependancies on the Remote Procedure Call libraries +# to use RPCMEM it must be removed or commented out. +NO_RPC = 1 + + +ifdef NO_RPC +NO_RPC_FLAGS= -DNO_DCE_RPC +else +NO_RPC_FLAGS= +endif + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +# The C and C++ compilation flags to be used. +CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) $(WARN_FLAG) -nostdinc -DVXWORKS -DV5_4 -DCPU=PPC601 -DPOWERPC -D__PROTOTYPE_5_0 -mlongcall -I. -I/isd/depot/tornado2/ppc/target/h -DPLATNAME=\"$(PLAT)\" -DADD_STRDUP + + +C++FLAGS = $(CFLAGS) -D__CPLUSPLUS__ +CPLUSPLUSFLAGS = $(CXXFLAGS) -D__CPLUSPLUS__ +AR = $(TORNADO2_PPC_BIN)/arppc +RANLIB = $(TORNADO2_PPC_BIN)/ranlibppc +AS = $(TORNADO2_PPC_BIN)/asppc +LD = $(TORNADO2_PPC_BIN)/ldppc + +MAKEDEPEND = /depot/x11r5/plat/bin/makedepend + +GENERIC = $(RCSDIR)/plat/generic/src +INCLUDE = $(RCSDIR)/plat/generic/include + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.o + +STRIP = $(TORNADO2_PPC_BIN)/stripppc + +STRIP_DEBUG_OPTION = --strip-debug --discard-locals + +COMPILER_SETUP = \ + GCC_EXEC_PREFIX=/isd/depot/tornado2/ppc/host/sun4-solaris2/lib/gcc-lib/; \ + export GCC_EXEC_PREFIX; \ + PATH=$(TORNADO2_PPC_BIN); \ + export PATH; \ + LD_LIBRARY_PATH=/usr/dt/lib:/usr/openwin/lib; \ + export LD_LIBRARY_PATH + diff --git a/etc/vxworksppc6.2.def b/etc/vxworksppc6.2.def new file mode 100644 index 0000000..ea2016a --- /dev/null +++ b/etc/vxworksppc6.2.def @@ -0,0 +1,110 @@ + +# +# Makefile for VxWorks-specific code +# + +ifdef WIND_BASE +ifeq ($(findstring 68k, $(WIND_BASE)),68k) +override WIND_BASE=/isd/depot/tornado2/ppc +endif +endif + + +ifndef WIND_BASE +WIND_BASE=/isd/depot/tornado2/ppc +endif + +ifndef WIND_HOST_TYPE +WIND_HOST_TYPE=sun4-solaris2 +endif + + +#TORNADO2_PPC_BIN=$(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin + + +PLAT = vxworks5.4 +OS = 5_4 +CC = ccppc +C++ = c++ppc +CXX = c++ppc +CPLUSPLUS = c++ppc +CPLUSPLUS_EXTENSION = cc +NO_BINS=1 + +#ENABLE_NMLCFGSVR=1 + + +ifdef OPTIMIZE +ifndef OPTIMIZE_FLAG +OPTIMIZE_FLAG = -O +endif +endif + +ifndef NO_DEBUG +ifndef DEGUG_FLAG +DEBUG_FLAG = -g +endif +endif + + +# This line removes dependancies on the Remote Procedure Call libraries +# to use RPCMEM it must be removed or commented out. +NO_RPC = 1 + + +ifdef NO_RPC +NO_RPC_FLAGS= -DNO_DCE_RPC +else +NO_RPC_FLAGS= +endif + +ifndef WARN_FLAG +ifdef WARN_MAX +WARN_FLAG=-Wall -Werror +endif +endif + +ifndef WARN_FLAG +ifdef NO_WARNINGS +WARN_FLAG=-w +endif +endif + +ifndef WARN_FLAG +WARN_FLAG= +endif + +NO_DEPENDS=1 + +# The C and C++ compilation flags to be used. +#CFLAGS = $(OPTIMIZE_FLAG) $(DEBUG_FLAG) $(WARN_FLAG) -nostdinc -DVXWORKS -DV5_4 -DCPU=PPC601 -DPOWERPC -D__PROTOTYPE_5_0 -mlongcall -I. -I/isd/depot/tornado2/ppc/target/h -DPLATNAME=\"$(PLAT)\" -DADD_STRDUP +CFLAGS= -mcpu=604 -mstrict-align -mlongcall -O2 -fno-builtin -I/WindRiver/vxworks-6.2/target/h -I/WindRiver/vxworks-6.2/target/h/wrn/coreip/ -DCPU=PPC604 -DTOOL_FAMILY=gnu -DTOOL=gnu -DVXWORKS -DV6_2 -DPOWERPC -DNO_DMA_SUPPORT -DNO_BUS_LOCK_SUPPORT + + +C++FLAGS = $(CFLAGS) -D__CPLUSPLUS__ +CPLUSPLUSFLAGS = $(CXXFLAGS) -D__CPLUSPLUS__ +AR = arppc +RANLIB = ranlibppc +AS = asppc +LD = ldppc + +MAKEDEPEND = /depot/x11r5/plat/bin/makedepend + +GENERIC = $(RCSDIR)/plat/generic/src +INCLUDE = $(RCSDIR)/plat/generic/include + +COPY_SOURCE_COMMAND = cp + +RCSLIB_LIBRARY_NAME = librcs.o + +STRIP = stripppc + +STRIP_DEBUG_OPTION = --strip-debug --discard-locals + +COMPILER_SETUP= + +# GCC_EXEC_PREFIX=/isd/depot/tornado2/ppc/host/sun4-solaris2/lib/gcc-lib/; \ +# export GCC_EXEC_PREFIX; \ +# LD_LIBRARY_PATH=/usr/dt/lib:/usr/openwin/lib; \ +# export LD_LIBRARY_PATH + diff --git a/etc/wait_for.sh b/etc/wait_for.sh new file mode 100755 index 0000000..aecb223 --- /dev/null +++ b/etc/wait_for.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +#set -x + +if test "x$1" = "x" -o "x$2" = "x" ; then + echo "usage: "; + exit 1; +fi + +echo -n "Waiting for $2 "; + +#---------------------------------------- +# Function: check_for_file_or_process() +#---------------------------------------- +#prog=${2##*/} # last string before '/' +file="$2" +check_for_file() +{ + if test -f "$file" ; then + echo " done."; + exit 0; + fi + +} + + +#------------------------------------------- +# 1.) +#------------------------------------------- +check_for_file +tries=0; +while true ; do + echo "waiting for $2 ( ${tries} of ${1} ) ..." + sleep 1; + let tries++; + if test ${tries} -gt $1 ; then + echo " timedout."; + exit 2; + fi + check_for_file +done + +echo " done." + +cat $2 + + diff --git a/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcproj b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcproj new file mode 100755 index 0000000..f7b6aa7 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcproj @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj new file mode 100755 index 0000000..08a0254 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj @@ -0,0 +1,106 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {CC90BE34-E064-4CF0-8177-326452731509} + nml_test_read + Win32Proj + + + + Application + Unicode + true + v110 + + + Application + Unicode + v110 + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + Disabled + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + ws2_32.lib;%(AdditionalDependencies) + %(IgnoreSpecificDefaultLibraries) + true + Console + MachineX86 + + + + + MaxSpeed + true + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + + + ws2_32.lib;%(AdditionalDependencies) + true + Console + true + true + MachineX86 + + + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj.filters b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj.filters new file mode 100755 index 0000000..2bb4235 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_read/nml_test_read.vcxproj.filters @@ -0,0 +1,28 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcproj b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcproj new file mode 100755 index 0000000..906c9e4 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcproj @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj new file mode 100755 index 0000000..a681598 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj @@ -0,0 +1,105 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {86C245C1-7778-46AA-8633-57D0C0DD8D0F} + nml_test_server + Win32Proj + + + + Application + Unicode + true + v110 + + + Application + Unicode + v110 + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + Disabled + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level2 + EditAndContinue + + + ws2_32.lib;%(AdditionalDependencies) + true + Console + MachineX86 + + + + + MaxSpeed + true + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + + + ws2_32.lib;%(AdditionalDependencies) + true + Console + true + true + MachineX86 + + + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj.filters b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj.filters new file mode 100755 index 0000000..4a0cbc1 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_server/nml_test_server.vcxproj.filters @@ -0,0 +1,28 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.plg b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.plg new file mode 100755 index 0000000..7a4c19a --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.plg @@ -0,0 +1,696 @@ + + +

    +

    Build Log

    +

    +--------------------Configuration: rcs - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP67.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fp"Release/rcs.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_inifile.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_mathprnt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_posemath.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_shm.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_timer.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\autokey.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\bcopy.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmd_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_cfg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_datetime.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_dup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_in.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xml_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmssvrp.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\dbg_mem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\extxdrintf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inetnull.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inifile.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\linklist.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\mathprnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\memsem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_mod.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_oi.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr_clntcalls.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcms_c.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlmsg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlqr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlset.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\physmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\posemath.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_exit.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_prnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcsvers.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sepwords.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sincos.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sokintrf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg_v2_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpopts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpsvr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timer.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_c_n.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\win32_sem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\winver.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_arra.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_floa.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_mem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_refe.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_stdi.c" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP67.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP68.tmp" with contents +[ +/nologo /out:"Release\rcs.lib" +.\Release\_inifile.obj +.\Release\_mathprnt.obj +.\Release\_posemath.obj +.\Release\_shm.obj +.\Release\_timer.obj +.\Release\autokey.obj +.\Release\bcopy.obj +.\Release\cmd_msg.obj +.\Release\cms.obj +.\Release\cms_cfg.obj +.\Release\cms_datetime.obj +.\Release\cms_dup.obj +.\Release\cms_in.obj +.\Release\cms_pm.obj +.\Release\cms_pup.obj +.\Release\cms_srv.obj +.\Release\cms_up.obj +.\Release\cms_xml_up.obj +.\Release\cms_xup.obj +.\Release\cmssvrp.obj +.\Release\dbg_mem.obj +.\Release\extxdrintf.obj +.\Release\inetnull.obj +.\Release\inifile.obj +.\Release\linklist.obj +.\Release\mathprnt.obj +.\Release\memsem.obj +.\Release\nml.obj +.\Release\nml_mod.obj +.\Release\nml_oi.obj +.\Release\nml_srv.obj +.\Release\nmlcfgsvr_clntcalls.obj +.\Release\nmlcms_c.obj +.\Release\nmlmsg.obj +.\Release\nmlqr.obj +.\Release\nmlset.obj +.\Release\physmem.obj +.\Release\posemath.obj +.\Release\rcs_exit.obj +.\Release\rcs_prnt.obj +.\Release\rcsvers.obj +.\Release\recvline.obj +.\Release\recvmsgt.obj +.\Release\recvn.obj +.\Release\sem.obj +.\Release\sendline.obj +.\Release\sendmsgt.obj +.\Release\sendn.obj +.\Release\sepwords.obj +.\Release\shm.obj +.\Release\shmem.obj +.\Release\sincos.obj +.\Release\sokintrf.obj +.\Release\stat_msg.obj +.\Release\stat_msg_v2_n.obj +.\Release\stcpmem.obj +.\Release\stcpopts.obj +.\Release\stcpsvr.obj +.\Release\tcp_opts.obj +.\Release\tcp_srv.obj +.\Release\tcpmem.obj +.\Release\timer.obj +.\Release\timetracker.obj +.\Release\timetracker_c_n.obj +.\Release\timetracker_n.obj +.\Release\udp_opts.obj +.\Release\udp_srv.obj +.\Release\udpmem.obj +.\Release\win32_sem.obj +.\Release\winver.obj +.\Release\xdr.obj +.\Release\xdr_arra.obj +.\Release\xdr_floa.obj +.\Release\xdr_mem.obj +.\Release\xdr_refe.obj +.\Release\xdr_stdi.obj +] +Creating command line "link.exe -lib @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP68.tmp" +

    Output Window

    +Compiling... +_inifile.c +_mathprnt.c +_posemath.c +_shm.c +_timer.c +autokey.c +bcopy.c +cmd_msg.cpp +cms.cpp +cms_cfg.cpp +cms_datetime.cpp +cms_dup.cpp +cms_in.cpp +cms_pm.cpp +cms_pup.cpp +cms_srv.cpp +cms_up.cpp +cms_xml_up.cpp +cms_xup.cpp +cmssvrp.cpp +dbg_mem.cpp +extxdrintf.c +inetnull.cpp +inifile.cpp +linklist.cpp +mathprnt.cpp +memsem.cpp +nml.cpp +nml_mod.cpp +nml_oi.cpp +nml_srv.cpp +nmlcfgsvr_clntcalls.cpp +nmlcms_c.cpp +nmlmsg.cpp +nmlqr.cpp +nmlset.cpp +physmem.cpp +posemath.cpp +rcs_exit.cpp +rcs_prnt.cpp +rcsvers.c +recvline.c +recvmsgt.c +recvn.c +sem.cpp +sendline.c +sendmsgt.c +sendn.c +sepwords.cpp +shm.cpp +shmem.cpp +sincos.c +sokintrf.c +stat_msg.cpp +stat_msg_v2_n.cpp +stcpmem.cpp +stcpopts.cpp +stcpsvr.cpp +tcp_opts.cpp +tcp_srv.cpp +tcpmem.cpp +timer.cpp +timetracker.cpp +timetracker_c_n.c +timetracker_n.cpp +udp_opts.cpp +udp_srv.cpp +udpmem.cpp +win32_sem.c +winver.cpp +xdr.c +xdr_arra.c +xdr_floa.c +xdr_mem.c +xdr_refe.c +xdr_stdi.c +Creating library... +

    +--------------------Configuration: nmlcfg - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP69.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_SNPRINTF" /Fp"Release/nmlcfg.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfg.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP69.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6A.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmlcfg.pdb" /machine:I386 /out:"Release/nmlcfg.exe" +.\Release\nmlcfg.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6A.tmp" +

    Output Window

    +Compiling... +nmlcfg.cpp +Linking... + + + +

    Results

    +nmlcfg.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: rcs - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6C.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fp"Debug/rcs.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_inifile.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_mathprnt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_posemath.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_shm.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_timer.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\autokey.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\bcopy.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmd_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_cfg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_datetime.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_dup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_in.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xml_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmssvrp.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\dbg_mem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\extxdrintf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inetnull.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inifile.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\linklist.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\mathprnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\memsem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_mod.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_oi.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr_clntcalls.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcms_c.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlmsg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlqr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlset.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\physmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\posemath.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_exit.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_prnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcsvers.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sepwords.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sincos.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sokintrf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg_v2_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpopts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpsvr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timer.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_c_n.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\win32_sem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\winver.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_arra.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_floa.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_mem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_refe.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_stdi.c" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6C.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6D.tmp" with contents +[ +/nologo /out:"Debug\rcs.lib" +.\Debug\_inifile.obj +.\Debug\_mathprnt.obj +.\Debug\_posemath.obj +.\Debug\_shm.obj +.\Debug\_timer.obj +.\Debug\autokey.obj +.\Debug\bcopy.obj +.\Debug\cmd_msg.obj +.\Debug\cms.obj +.\Debug\cms_cfg.obj +.\Debug\cms_datetime.obj +.\Debug\cms_dup.obj +.\Debug\cms_in.obj +.\Debug\cms_pm.obj +.\Debug\cms_pup.obj +.\Debug\cms_srv.obj +.\Debug\cms_up.obj +.\Debug\cms_xml_up.obj +.\Debug\cms_xup.obj +.\Debug\cmssvrp.obj +.\Debug\dbg_mem.obj +.\Debug\extxdrintf.obj +.\Debug\inetnull.obj +.\Debug\inifile.obj +.\Debug\linklist.obj +.\Debug\mathprnt.obj +.\Debug\memsem.obj +.\Debug\nml.obj +.\Debug\nml_mod.obj +.\Debug\nml_oi.obj +.\Debug\nml_srv.obj +.\Debug\nmlcfgsvr_clntcalls.obj +.\Debug\nmlcms_c.obj +.\Debug\nmlmsg.obj +.\Debug\nmlqr.obj +.\Debug\nmlset.obj +.\Debug\physmem.obj +.\Debug\posemath.obj +.\Debug\rcs_exit.obj +.\Debug\rcs_prnt.obj +.\Debug\rcsvers.obj +.\Debug\recvline.obj +.\Debug\recvmsgt.obj +.\Debug\recvn.obj +.\Debug\sem.obj +.\Debug\sendline.obj +.\Debug\sendmsgt.obj +.\Debug\sendn.obj +.\Debug\sepwords.obj +.\Debug\shm.obj +.\Debug\shmem.obj +.\Debug\sincos.obj +.\Debug\sokintrf.obj +.\Debug\stat_msg.obj +.\Debug\stat_msg_v2_n.obj +.\Debug\stcpmem.obj +.\Debug\stcpopts.obj +.\Debug\stcpsvr.obj +.\Debug\tcp_opts.obj +.\Debug\tcp_srv.obj +.\Debug\tcpmem.obj +.\Debug\timer.obj +.\Debug\timetracker.obj +.\Debug\timetracker_c_n.obj +.\Debug\timetracker_n.obj +.\Debug\udp_opts.obj +.\Debug\udp_srv.obj +.\Debug\udpmem.obj +.\Debug\win32_sem.obj +.\Debug\winver.obj +.\Debug\xdr.obj +.\Debug\xdr_arra.obj +.\Debug\xdr_floa.obj +.\Debug\xdr_mem.obj +.\Debug\xdr_refe.obj +.\Debug\xdr_stdi.obj +] +Creating command line "link.exe -lib @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6D.tmp" +

    Output Window

    +Compiling... +_inifile.c +_mathprnt.c +_posemath.c +_shm.c +_timer.c +autokey.c +bcopy.c +cmd_msg.cpp +cms.cpp +cms_cfg.cpp +cms_datetime.cpp +cms_dup.cpp +cms_in.cpp +cms_pm.cpp +cms_pup.cpp +cms_srv.cpp +cms_up.cpp +cms_xml_up.cpp +cms_xup.cpp +cmssvrp.cpp +dbg_mem.cpp +extxdrintf.c +inetnull.cpp +inifile.cpp +linklist.cpp +mathprnt.cpp +memsem.cpp +nml.cpp +nml_mod.cpp +nml_oi.cpp +nml_srv.cpp +nmlcfgsvr_clntcalls.cpp +nmlcms_c.cpp +nmlmsg.cpp +nmlqr.cpp +nmlset.cpp +physmem.cpp +posemath.cpp +rcs_exit.cpp +rcs_prnt.cpp +rcsvers.c +recvline.c +recvmsgt.c +recvn.c +sem.cpp +sendline.c +sendmsgt.c +sendn.c +sepwords.cpp +shm.cpp +shmem.cpp +sincos.c +sokintrf.c +stat_msg.cpp +stat_msg_v2_n.cpp +stcpmem.cpp +stcpopts.cpp +stcpsvr.cpp +tcp_opts.cpp +tcp_srv.cpp +tcpmem.cpp +timer.cpp +timetracker.cpp +timetracker_c_n.c +timetracker_n.cpp +udp_opts.cpp +udp_srv.cpp +udpmem.cpp +win32_sem.c +winver.cpp +xdr.c +xdr_arra.c +xdr_floa.c +xdr_mem.c +xdr_refe.c +xdr_stdi.c +Creating library... +

    +--------------------Configuration: nmlcfg - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6E.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_SNPRINTF" /Fp"Debug/nmlcfg.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfg.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6E.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6F.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmlcfg.pdb" /debug /machine:I386 /out:"Debug/nmlcfg.exe" /pdbtype:sept +.\Debug\nmlcfg.obj +..\Release\rcs.lib +..\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP6F.tmp" +

    Output Window

    +Compiling... +nmlcfg.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmlcfg.exe - 0 error(s), 1 warning(s) +

    +--------------------Configuration: nmlcfgsvr - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP71.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /Fp"Release/nmlcfgsvr.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP71.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP72.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmlcfgsvr.pdb" /machine:I386 /out:"Release/nmlcfgsvr.exe" +.\Release\nmlcfgsvr.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP72.tmp" +

    Output Window

    +Compiling... +nmlcfgsvr.cpp +Linking... + + + +

    Results

    +nmlcfgsvr.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: nmlcfgsvr - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP74.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /Fp"Debug/nmlcfgsvr.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP74.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP75.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmlcfgsvr.pdb" /debug /machine:I386 /out:"Debug/nmlcfgsvr.exe" /pdbtype:sept +.\Debug\nmlcfgsvr.obj +..\Release\rcs.lib +..\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP75.tmp" +

    Output Window

    +Compiling... +nmlcfgsvr.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmlcfgsvr.exe - 0 error(s), 1 warning(s) +

    +--------------------Configuration: nmltest - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP77.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/nmltest.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmltest.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP77.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP78.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmltest.pdb" /machine:I386 /out:"Release/nmltest.exe" +.\Release\nmltest.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP78.tmp" +

    Output Window

    +Compiling... +nmltest.cpp +Linking... + + + +

    Results

    +nmltest.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: nmltest - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7A.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/nmltest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmltest.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7A.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7B.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmltest.pdb" /debug /machine:I386 /out:"Debug/nmltest.exe" /pdbtype:sept +.\Debug\nmltest.obj +..\Release\rcs.lib +..\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7B.tmp" +

    Output Window

    +Compiling... +nmltest.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmltest.exe - 0 error(s), 1 warning(s) +

    +--------------------Configuration: nml_test_write - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7D.tmp" with contents +[ +/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/nml_test_write.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_test_write.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_test_format_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\otherheader_n.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7D.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7E.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.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 /subsystem:console /incremental:yes /pdb:"Debug/nml_test_write.pdb" /debug /machine:I386 /out:"Debug/nml_test_write.exe" /pdbtype:sept +.\Debug\nml_test_write.obj +.\Debug\nml_test_format_n.obj +.\Debug\otherheader_n.obj +..\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP7E.tmp" +

    Output Window

    +Compiling... +nml_test_write.cpp +c:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_test_write.cpp(90) : warning C4800: 'char *' : forcing value to bool 'true' or 'false' (performance warning) +c:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_test_write.cpp(200) : warning C4508: 'main' : function should return a value; 'void' return type assumed +nml_test_format_n.cpp +otherheader_n.cpp +c:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\otherheader_n.cpp(61) : warning C4065: switch statement contains 'default' but no 'case' labels +c:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\otherheader_n.cpp(74) : warning C4065: switch statement contains 'default' but no 'case' labels +Linking... +LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nml_test_write.exe - 0 error(s), 5 warning(s) +
    + + diff --git a/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcproj b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcproj new file mode 100755 index 0000000..6ee1d48 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcproj @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj new file mode 100755 index 0000000..cfca1e2 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj @@ -0,0 +1,151 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {C816C49C-5D74-4942-B9CA-A0322F494EE6} + nml_test_write + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + + .\Release/nml_test_write.tlb + + + + + MaxSpeed + OnlyExplicitInline + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + .\Release/nml_test_write.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + .\Release/nml_test_write.pdb + Console + false + + + MachineX86 + + + true + .\Release/nml_test_write.bsc + + + + + .\Debug/nml_test_write.tlb + + + + + Disabled + $(SolutionDir)\$(Configuration)\include;$(SolutionDir)\..\..\..\src\test;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + .\Debug/nml_test_write.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level2 + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + true + .\Debug/nml_test_write.pdb + Console + false + + + MachineX86 + + + true + .\Debug/nml_test_write.bsc + + + + + + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj.filters b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj.filters new file mode 100755 index 0000000..0fb7bef --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nml_test_write/nml_test_write.vcxproj.filters @@ -0,0 +1,33 @@ + + + + + {9bffa982-a7a7-4821-94ee-475aa5dc1840} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {d5684f52-58db-4bef-b159-a5e4a97042bd} + h;hpp;hxx;hm;inl + + + {d298048b-4646-4189-b8f1-da35d143781b} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.plg b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.plg new file mode 100755 index 0000000..ca7019b --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.plg @@ -0,0 +1,659 @@ + + +
    +

    Build Log

    +

    +--------------------Configuration: rcs - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP23.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fp"Release/rcs.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_inifile.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_mathprnt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_posemath.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_shm.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_timer.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\autokey.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\bcopy.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmd_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_cfg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_datetime.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_dup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_in.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xml_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmssvrp.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\dbg_mem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\extxdrintf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inetnull.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inifile.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\linklist.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\mathprnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\memsem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_mod.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_oi.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr_clntcalls.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcms_c.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlmsg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlqr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlset.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\physmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\posemath.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_exit.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_prnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcsvers.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sepwords.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sincos.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sokintrf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg_v2_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpopts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpsvr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timer.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_c_n.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\win32_sem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\winver.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_arra.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_floa.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_mem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_refe.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_stdi.c" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP23.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP24.tmp" with contents +[ +/nologo /out:"Release\rcs.lib" +.\Release\_inifile.obj +.\Release\_mathprnt.obj +.\Release\_posemath.obj +.\Release\_shm.obj +.\Release\_timer.obj +.\Release\autokey.obj +.\Release\bcopy.obj +.\Release\cmd_msg.obj +.\Release\cms.obj +.\Release\cms_cfg.obj +.\Release\cms_datetime.obj +.\Release\cms_dup.obj +.\Release\cms_in.obj +.\Release\cms_pm.obj +.\Release\cms_pup.obj +.\Release\cms_srv.obj +.\Release\cms_up.obj +.\Release\cms_xml_up.obj +.\Release\cms_xup.obj +.\Release\cmssvrp.obj +.\Release\dbg_mem.obj +.\Release\extxdrintf.obj +.\Release\inetnull.obj +.\Release\inifile.obj +.\Release\linklist.obj +.\Release\mathprnt.obj +.\Release\memsem.obj +.\Release\nml.obj +.\Release\nml_mod.obj +.\Release\nml_oi.obj +.\Release\nml_srv.obj +.\Release\nmlcfgsvr_clntcalls.obj +.\Release\nmlcms_c.obj +.\Release\nmlmsg.obj +.\Release\nmlqr.obj +.\Release\nmlset.obj +.\Release\physmem.obj +.\Release\posemath.obj +.\Release\rcs_exit.obj +.\Release\rcs_prnt.obj +.\Release\rcsvers.obj +.\Release\recvline.obj +.\Release\recvmsgt.obj +.\Release\recvn.obj +.\Release\sem.obj +.\Release\sendline.obj +.\Release\sendmsgt.obj +.\Release\sendn.obj +.\Release\sepwords.obj +.\Release\shm.obj +.\Release\shmem.obj +.\Release\sincos.obj +.\Release\sokintrf.obj +.\Release\stat_msg.obj +.\Release\stat_msg_v2_n.obj +.\Release\stcpmem.obj +.\Release\stcpopts.obj +.\Release\stcpsvr.obj +.\Release\tcp_opts.obj +.\Release\tcp_srv.obj +.\Release\tcpmem.obj +.\Release\timer.obj +.\Release\timetracker.obj +.\Release\timetracker_c_n.obj +.\Release\timetracker_n.obj +.\Release\udp_opts.obj +.\Release\udp_srv.obj +.\Release\udpmem.obj +.\Release\win32_sem.obj +.\Release\winver.obj +.\Release\xdr.obj +.\Release\xdr_arra.obj +.\Release\xdr_floa.obj +.\Release\xdr_mem.obj +.\Release\xdr_refe.obj +.\Release\xdr_stdi.obj +] +Creating command line "link.exe -lib @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP24.tmp" +

    Output Window

    +Compiling... +_inifile.c +_mathprnt.c +_posemath.c +_shm.c +_timer.c +autokey.c +bcopy.c +cmd_msg.cpp +cms.cpp +cms_cfg.cpp +cms_datetime.cpp +cms_dup.cpp +cms_in.cpp +cms_pm.cpp +cms_pup.cpp +cms_srv.cpp +cms_up.cpp +cms_xml_up.cpp +cms_xup.cpp +cmssvrp.cpp +dbg_mem.cpp +extxdrintf.c +inetnull.cpp +inifile.cpp +linklist.cpp +mathprnt.cpp +memsem.cpp +nml.cpp +nml_mod.cpp +nml_oi.cpp +nml_srv.cpp +nmlcfgsvr_clntcalls.cpp +nmlcms_c.cpp +nmlmsg.cpp +nmlqr.cpp +nmlset.cpp +physmem.cpp +posemath.cpp +rcs_exit.cpp +rcs_prnt.cpp +rcsvers.c +recvline.c +recvmsgt.c +recvn.c +sem.cpp +sendline.c +sendmsgt.c +sendn.c +sepwords.cpp +shm.cpp +shmem.cpp +sincos.c +sokintrf.c +stat_msg.cpp +stat_msg_v2_n.cpp +stcpmem.cpp +stcpopts.cpp +stcpsvr.cpp +tcp_opts.cpp +tcp_srv.cpp +tcpmem.cpp +timer.cpp +timetracker.cpp +timetracker_c_n.c +timetracker_n.cpp +udp_opts.cpp +udp_srv.cpp +udpmem.cpp +win32_sem.c +winver.cpp +xdr.c +xdr_arra.c +xdr_floa.c +xdr_mem.c +xdr_refe.c +xdr_stdi.c +Creating library... +

    +--------------------Configuration: nmlcfg - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP25.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_SNPRINTF" /Fp"Release/nmlcfg.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfg.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP25.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP26.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmlcfg.pdb" /machine:I386 /out:"Release/nmlcfg.exe" +.\Release\nmlcfg.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP26.tmp" +

    Output Window

    +Compiling... +nmlcfg.cpp +Linking... + + + +

    Results

    +nmlcfg.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: rcs - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP28.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fp"Debug/rcs.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_inifile.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_mathprnt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_posemath.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_shm.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\_timer.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\autokey.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\bcopy.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmd_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_cfg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_datetime.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_dup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_in.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_pup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xml_up.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cms_xup.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\cmssvrp.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\dbg_mem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\extxdrintf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inetnull.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\inifile.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\linklist.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\mathprnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\memsem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_mod.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_oi.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nml_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr_clntcalls.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcms_c.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlmsg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlqr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlset.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\physmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\posemath.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_exit.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcs_prnt.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\rcsvers.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\recvn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendline.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendmsgt.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sendn.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sepwords.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shm.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\shmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sincos.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\sokintrf.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stat_msg_v2_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpopts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\stcpsvr.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\tcpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timer.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_c_n.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\timetracker_n.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_opts.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udp_srv.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\udpmem.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\win32_sem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\winver.cpp" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_arra.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_floa.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_mem.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_refe.c" +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\xdr_stdi.c" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP28.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP29.tmp" with contents +[ +/nologo /out:"Debug\rcs.lib" +.\Debug\_inifile.obj +.\Debug\_mathprnt.obj +.\Debug\_posemath.obj +.\Debug\_shm.obj +.\Debug\_timer.obj +.\Debug\autokey.obj +.\Debug\bcopy.obj +.\Debug\cmd_msg.obj +.\Debug\cms.obj +.\Debug\cms_cfg.obj +.\Debug\cms_datetime.obj +.\Debug\cms_dup.obj +.\Debug\cms_in.obj +.\Debug\cms_pm.obj +.\Debug\cms_pup.obj +.\Debug\cms_srv.obj +.\Debug\cms_up.obj +.\Debug\cms_xml_up.obj +.\Debug\cms_xup.obj +.\Debug\cmssvrp.obj +.\Debug\dbg_mem.obj +.\Debug\extxdrintf.obj +.\Debug\inetnull.obj +.\Debug\inifile.obj +.\Debug\linklist.obj +.\Debug\mathprnt.obj +.\Debug\memsem.obj +.\Debug\nml.obj +.\Debug\nml_mod.obj +.\Debug\nml_oi.obj +.\Debug\nml_srv.obj +.\Debug\nmlcfgsvr_clntcalls.obj +.\Debug\nmlcms_c.obj +.\Debug\nmlmsg.obj +.\Debug\nmlqr.obj +.\Debug\nmlset.obj +.\Debug\physmem.obj +.\Debug\posemath.obj +.\Debug\rcs_exit.obj +.\Debug\rcs_prnt.obj +.\Debug\rcsvers.obj +.\Debug\recvline.obj +.\Debug\recvmsgt.obj +.\Debug\recvn.obj +.\Debug\sem.obj +.\Debug\sendline.obj +.\Debug\sendmsgt.obj +.\Debug\sendn.obj +.\Debug\sepwords.obj +.\Debug\shm.obj +.\Debug\shmem.obj +.\Debug\sincos.obj +.\Debug\sokintrf.obj +.\Debug\stat_msg.obj +.\Debug\stat_msg_v2_n.obj +.\Debug\stcpmem.obj +.\Debug\stcpopts.obj +.\Debug\stcpsvr.obj +.\Debug\tcp_opts.obj +.\Debug\tcp_srv.obj +.\Debug\tcpmem.obj +.\Debug\timer.obj +.\Debug\timetracker.obj +.\Debug\timetracker_c_n.obj +.\Debug\timetracker_n.obj +.\Debug\udp_opts.obj +.\Debug\udp_srv.obj +.\Debug\udpmem.obj +.\Debug\win32_sem.obj +.\Debug\winver.obj +.\Debug\xdr.obj +.\Debug\xdr_arra.obj +.\Debug\xdr_floa.obj +.\Debug\xdr_mem.obj +.\Debug\xdr_refe.obj +.\Debug\xdr_stdi.obj +] +Creating command line "link.exe -lib @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP29.tmp" +

    Output Window

    +Compiling... +_inifile.c +_mathprnt.c +_posemath.c +_shm.c +_timer.c +autokey.c +bcopy.c +cmd_msg.cpp +cms.cpp +cms_cfg.cpp +cms_datetime.cpp +cms_dup.cpp +cms_in.cpp +cms_pm.cpp +cms_pup.cpp +cms_srv.cpp +cms_up.cpp +cms_xml_up.cpp +cms_xup.cpp +cmssvrp.cpp +dbg_mem.cpp +extxdrintf.c +inetnull.cpp +inifile.cpp +linklist.cpp +mathprnt.cpp +memsem.cpp +nml.cpp +nml_mod.cpp +nml_oi.cpp +nml_srv.cpp +nmlcfgsvr_clntcalls.cpp +nmlcms_c.cpp +nmlmsg.cpp +nmlqr.cpp +nmlset.cpp +physmem.cpp +posemath.cpp +rcs_exit.cpp +rcs_prnt.cpp +rcsvers.c +recvline.c +recvmsgt.c +recvn.c +sem.cpp +sendline.c +sendmsgt.c +sendn.c +sepwords.cpp +shm.cpp +shmem.cpp +sincos.c +sokintrf.c +stat_msg.cpp +stat_msg_v2_n.cpp +stcpmem.cpp +stcpopts.cpp +stcpsvr.cpp +tcp_opts.cpp +tcp_srv.cpp +tcpmem.cpp +timer.cpp +timetracker.cpp +timetracker_c_n.c +timetracker_n.cpp +udp_opts.cpp +udp_srv.cpp +udpmem.cpp +win32_sem.c +winver.cpp +xdr.c +xdr_arra.c +xdr_floa.c +xdr_mem.c +xdr_refe.c +xdr_stdi.c +Creating library... +

    +--------------------Configuration: nmlcfg - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2A.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "NO_SNPRINTF" /Fp"Debug/nmlcfg.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfg.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2A.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2B.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmlcfg.pdb" /debug /machine:I386 /out:"Debug/nmlcfg.exe" /pdbtype:sept +.\Debug\nmlcfg.obj +..\Release\rcs.lib +\cygwin\home\shackle\rcslib\etc\win32msc\rcs\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2B.tmp" +

    Output Window

    +Compiling... +nmlcfg.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmlcfg.exe - 0 error(s), 1 warning(s) +

    +--------------------Configuration: nmlcfgsvr - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2D.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /Fp"Release/nmlcfgsvr.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2D.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2E.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmlcfgsvr.pdb" /machine:I386 /out:"Release/nmlcfgsvr.exe" +.\Release\nmlcfgsvr.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP2E.tmp" +

    Output Window

    +Compiling... +nmlcfgsvr.cpp +Linking... + + + +

    Results

    +nmlcfgsvr.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: nmlcfgsvr - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP30.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /Fp"Debug/nmlcfgsvr.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP30.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP31.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmlcfgsvr.pdb" /debug /machine:I386 /out:"Debug/nmlcfgsvr.exe" /pdbtype:sept +.\Debug\nmlcfgsvr.obj +..\Release\rcs.lib +\cygwin\home\shackle\rcslib\etc\win32msc\rcs\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP31.tmp" +

    Output Window

    +Compiling... +nmlcfgsvr.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmlcfgsvr.exe - 0 error(s), 1 warning(s) +

    +--------------------Configuration: nmltest - Win32 Release-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP33.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/nmltest.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmltest.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP33.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP34.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/nmltest.pdb" /machine:I386 /out:"Release/nmltest.exe" +.\Release\nmltest.obj +..\Release\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP34.tmp" +

    Output Window

    +Compiling... +nmltest.cpp +Linking... + + + +

    Results

    +nmltest.exe - 0 error(s), 0 warning(s) +

    +--------------------Configuration: nmltest - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP36.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/nmltest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\cygwin\home\shackle\rcslib\etc\win32msc\rcs\nmltest.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP36.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP37.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmltest.pdb" /debug /machine:I386 /out:"Debug/nmltest.exe" /pdbtype:sept +.\Debug\nmltest.obj +..\Release\rcs.lib +\cygwin\home\shackle\rcslib\etc\win32msc\rcs\Debug\rcs.lib +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP37.tmp" +

    Output Window

    +Compiling... +nmltest.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmltest.exe - 0 error(s), 1 warning(s) +
    + + diff --git a/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcproj b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcproj new file mode 100755 index 0000000..28ef3ad --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcproj @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj new file mode 100755 index 0000000..a76c2a9 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj @@ -0,0 +1,146 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {157ECB69-E119-41F0-8B85-97CCA357518B} + nmlcfg + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + .\Debug/nmlcfg.tlb + + + + + Disabled + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + .\Debug/nmlcfg.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + MultiThreadedDebugDLL + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + true + .\Debug/nmlcfg.pdb + Console + false + + + MachineX86 + + + true + .\Debug/nmlcfg.bsc + + + + + .\Release/nmlcfg.tlb + + + + + MaxSpeed + OnlyExplicitInline + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + .\Release/nmlcfg.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + .\Release/nmlcfg.pdb + Console + false + + + MachineX86 + + + true + .\Release/nmlcfg.bsc + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj.filters b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj.filters new file mode 100755 index 0000000..2b51003 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfg/nmlcfg.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {7585ee8a-8d05-4039-9b12-36b118d7f623} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {2c03ab83-8ffd-436a-9431-af7dc3903dfd} + h;hpp;hxx;hm;inl + + + {bb7607a5-319d-40a0-a7a5-e8efda875d89} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.plg b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.plg new file mode 100644 index 0000000..d504dd1 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.plg @@ -0,0 +1,34 @@ + + +
    +

    Build Log

    +

    +--------------------Configuration: nmlcfgsvr - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP13C.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CONFIG_H" /Fp"Debug/nmlcfgsvr.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\Documents and Settings\shackle\rcslib\etc\win32msc\rcs\nmlcfgsvr.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP13C.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP13D.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmlcfgsvr.pdb" /debug /machine:I386 /out:"Debug/nmlcfgsvr.exe" /pdbtype:sept +".\Debug\nmlcfgsvr.obj" +"..\Release\rcs.lib" +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP13D.tmp" +

    Output Window

    +Compiling... +nmlcfgsvr.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmlcfgsvr.exe - 0 error(s), 1 warning(s) +
    + + diff --git a/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcproj b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcproj new file mode 100755 index 0000000..3a74889 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcproj @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj new file mode 100755 index 0000000..45a0a55 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj @@ -0,0 +1,146 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {43508E52-30AD-402E-B19A-A9E6A9E9B83A} + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + + .\Release/nmlcfgsvr.tlb + + + + + MaxSpeed + OnlyExplicitInline + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + .\Release/nmlcfgsvr.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + .\Release/nmlcfgsvr.pdb + Console + false + + + MachineX86 + + + true + .\Release/nmlcfgsvr.bsc + + + + + .\Debug/nmlcfgsvr.tlb + + + + + Disabled + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + .\Debug/nmlcfgsvr.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + true + .\Debug/nmlcfgsvr.pdb + Console + false + + + MachineX86 + + + true + .\Debug/nmlcfgsvr.bsc + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj.filters b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj.filters new file mode 100755 index 0000000..850ac7e --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmlcfgsvr/nmlcfgsvr.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {399ed4ab-c9b4-4343-88e2-ebb17b85f45f} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {64a0b99d-fed8-4fab-9dbd-4914e3a0f0da} + h;hpp;hxx;hm;inl + + + {32a2e749-05a3-430f-87e3-9719c5b0b860} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmltest/nmltest.plg b/etc/win_vc_2010_express/rcs/nmltest/nmltest.plg new file mode 100755 index 0000000..912513c --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmltest/nmltest.plg @@ -0,0 +1,34 @@ + + +
    +

    Build Log

    +

    +--------------------Configuration: nmltest - Win32 Debug-------------------- +

    +

    Command Lines

    +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP11F.tmp" with contents +[ +/nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/nmltest.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c +"C:\Documents and Settings\shackle\rcslib\etc\win32msc\rcs\nmltest.cpp" +] +Creating command line "cl.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP11F.tmp" +Creating temporary file "C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP120.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.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 ws2_32.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/nmltest.pdb" /debug /machine:I386 /out:"Debug/nmltest.exe" /pdbtype:sept +".\Debug\nmltest.obj" +"..\Release\rcs.lib" +] +Creating command line "link.exe @C:\DOCUME~1\shackle\LOCALS~1\Temp\RSP120.tmp" +

    Output Window

    +Compiling... +nmltest.cpp +Linking... +LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library + + + +

    Results

    +nmltest.exe - 0 error(s), 1 warning(s) +
    + + diff --git a/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcproj b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcproj new file mode 100755 index 0000000..fc6c30a --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcproj @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj new file mode 100755 index 0000000..bf8bc10 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj @@ -0,0 +1,147 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {7DE48425-7018-4D1D-9C80-55C5313C8B4B} + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + + .\Release/nmltest.tlb + + + + + MaxSpeed + OnlyExplicitInline + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + .\Release/nmltest.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + .\Release/nmltest.pdb + Console + false + + + MachineX86 + + + true + .\Release/nmltest.bsc + + + + + .\Debug/nmltest.tlb + + + + + Disabled + $(SolutionDir)\$(Configuration)\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + .\Debug/nmltest.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + false + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).exe + true + libcmt.lib;%(IgnoreSpecificDefaultLibraries) + true + .\Debug/nmltest.pdb + Console + false + + + MachineX86 + + + true + .\Debug/nmltest.bsc + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj.filters b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj.filters new file mode 100755 index 0000000..ebb6e7b --- /dev/null +++ b/etc/win_vc_2010_express/rcs/nmltest/nmltest.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {5776ae6c-0674-4198-a386-37564ba4ceec} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {1fd2263b-3560-4368-8e19-6e17c43694fc} + h;hpp;hxx;hm;inl + + + {ee4f985c-31eb-45c7-916c-8a68d8bc3e5f} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/rcs.sln b/etc/win_vc_2010_express/rcs/rcs.sln new file mode 100755 index 0000000..87ee7a4 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/rcs.sln @@ -0,0 +1,62 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nml_test_write", "nml_test_write\nml_test_write.vcxproj", "{C816C49C-5D74-4942-B9CA-A0322F494EE6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmlcfg", "nmlcfg\nmlcfg.vcxproj", "{157ECB69-E119-41F0-8B85-97CCA357518B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmlcfgsvr", "nmlcfgsvr\nmlcfgsvr.vcxproj", "{43508E52-30AD-402E-B19A-A9E6A9E9B83A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmltest", "nmltest\nmltest.vcxproj", "{7DE48425-7018-4D1D-9C80-55C5313C8B4B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rcs", "rcs.vcxproj", "{8FF923E6-7825-4AD8-939F-AEDD75D0FEDF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nml_test_read", "nml_test_read\nml_test_read.vcxproj", "{CC90BE34-E064-4CF0-8177-326452731509}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nml_test_server", "nml_test_server\nml_test_server.vcxproj", "{86C245C1-7778-46AA-8633-57D0C0DD8D0F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpmcpp", "testpmcpp\testpmcpp.vcxproj", "{D3F02A77-15DA-4430-8DF5-19849CF3B80C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C816C49C-5D74-4942-B9CA-A0322F494EE6}.Debug|Win32.ActiveCfg = Debug|Win32 + {C816C49C-5D74-4942-B9CA-A0322F494EE6}.Debug|Win32.Build.0 = Debug|Win32 + {C816C49C-5D74-4942-B9CA-A0322F494EE6}.Release|Win32.ActiveCfg = Release|Win32 + {C816C49C-5D74-4942-B9CA-A0322F494EE6}.Release|Win32.Build.0 = Release|Win32 + {157ECB69-E119-41F0-8B85-97CCA357518B}.Debug|Win32.ActiveCfg = Debug|Win32 + {157ECB69-E119-41F0-8B85-97CCA357518B}.Debug|Win32.Build.0 = Debug|Win32 + {157ECB69-E119-41F0-8B85-97CCA357518B}.Release|Win32.ActiveCfg = Release|Win32 + {157ECB69-E119-41F0-8B85-97CCA357518B}.Release|Win32.Build.0 = Release|Win32 + {43508E52-30AD-402E-B19A-A9E6A9E9B83A}.Debug|Win32.ActiveCfg = Debug|Win32 + {43508E52-30AD-402E-B19A-A9E6A9E9B83A}.Debug|Win32.Build.0 = Debug|Win32 + {43508E52-30AD-402E-B19A-A9E6A9E9B83A}.Release|Win32.ActiveCfg = Release|Win32 + {43508E52-30AD-402E-B19A-A9E6A9E9B83A}.Release|Win32.Build.0 = Release|Win32 + {7DE48425-7018-4D1D-9C80-55C5313C8B4B}.Debug|Win32.ActiveCfg = Debug|Win32 + {7DE48425-7018-4D1D-9C80-55C5313C8B4B}.Debug|Win32.Build.0 = Debug|Win32 + {7DE48425-7018-4D1D-9C80-55C5313C8B4B}.Release|Win32.ActiveCfg = Release|Win32 + {7DE48425-7018-4D1D-9C80-55C5313C8B4B}.Release|Win32.Build.0 = Release|Win32 + {8FF923E6-7825-4AD8-939F-AEDD75D0FEDF}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FF923E6-7825-4AD8-939F-AEDD75D0FEDF}.Debug|Win32.Build.0 = Debug|Win32 + {8FF923E6-7825-4AD8-939F-AEDD75D0FEDF}.Release|Win32.ActiveCfg = Release|Win32 + {8FF923E6-7825-4AD8-939F-AEDD75D0FEDF}.Release|Win32.Build.0 = Release|Win32 + {CC90BE34-E064-4CF0-8177-326452731509}.Debug|Win32.ActiveCfg = Debug|Win32 + {CC90BE34-E064-4CF0-8177-326452731509}.Debug|Win32.Build.0 = Debug|Win32 + {CC90BE34-E064-4CF0-8177-326452731509}.Release|Win32.ActiveCfg = Release|Win32 + {CC90BE34-E064-4CF0-8177-326452731509}.Release|Win32.Build.0 = Release|Win32 + {86C245C1-7778-46AA-8633-57D0C0DD8D0F}.Debug|Win32.ActiveCfg = Debug|Win32 + {86C245C1-7778-46AA-8633-57D0C0DD8D0F}.Debug|Win32.Build.0 = Debug|Win32 + {86C245C1-7778-46AA-8633-57D0C0DD8D0F}.Release|Win32.ActiveCfg = Release|Win32 + {86C245C1-7778-46AA-8633-57D0C0DD8D0F}.Release|Win32.Build.0 = Release|Win32 + {D3F02A77-15DA-4430-8DF5-19849CF3B80C}.Debug|Win32.ActiveCfg = Debug|Win32 + {D3F02A77-15DA-4430-8DF5-19849CF3B80C}.Debug|Win32.Build.0 = Debug|Win32 + {D3F02A77-15DA-4430-8DF5-19849CF3B80C}.Release|Win32.ActiveCfg = Release|Win32 + {D3F02A77-15DA-4430-8DF5-19849CF3B80C}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/etc/win_vc_2010_express/rcs/rcs.v11.suo b/etc/win_vc_2010_express/rcs/rcs.v11.suo new file mode 100644 index 0000000..d2d65f0 Binary files /dev/null and b/etc/win_vc_2010_express/rcs/rcs.v11.suo differ diff --git a/etc/win_vc_2010_express/rcs/rcs.vcproj b/etc/win_vc_2010_express/rcs/rcs.vcproj new file mode 100755 index 0000000..f583702 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/rcs.vcproj @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/rcs.vcxproj b/etc/win_vc_2010_express/rcs/rcs.vcxproj new file mode 100755 index 0000000..aa04457 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/rcs.vcxproj @@ -0,0 +1,235 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {8FF923E6-7825-4AD8-939F-AEDD75D0FEDF} + rcs + + + + StaticLibrary + false + MultiByte + v110 + + + StaticLibrary + false + MultiByte + v110 + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(SolutionDir)$(Configuration)\ + .\Debug\ + $(MSBuildProjectDirectory)\..\..\..\src\;$(MSBuildProjectDirectory)\..\..\..\src\os_intf;$(MSBuildProjectDirectory)\..\..\..\src\nt_xdr;$(MSBuildProjectDirectory)\..\..\..\src\posemath;$(MSBuildProjectDirectory)\..\..\..\src\cms;$(MSBuildProjectDirectory)\..\..\..\src\stg_clss;$(IncludePath) + $(MSBuildProjectDirectory)\..\..\..\src\;$(MSBuildProjectDirectory)\..\..\..\src\os_intf;$(MSBuildProjectDirectory)\..\..\..\src\nt_xdr;$(MSBuildProjectDirectory)\..\..\..\src\posemath;$(MSBuildProjectDirectory)\..\..\..\src\cms;$(MSBuildProjectDirectory)\..\..\..\src\stg_clss;$(IncludePath) + + + + MaxSpeed + OnlyExplicitInline + $(SolutionDir);$(SolutionDir)\..\..\..\src;$(SolutionDir)\..\..\..\src\os_intf;$(SolutionDir)\..\..\..\src\nt_xdr;$(SolutionDir)\..\..\..\src\cms;$(SolutionDir)\..\..\..\src\print;$(SolutionDir)\..\..\..\src\stg_clss;$(SolutionDir)\..\..\..\src\node;$(SolutionDir)\..\..\..\src\posemath;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H;%(PreprocessorDefinitions) + true + MultiThreadedDLL + true + .\Release/rcs.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + false + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + .\Release\rcs.lib + true + + + true + .\Release/rcs.bsc + + + mkdir "$(OutDir)"\include +copy ..\..\..\src\*.h "$(OutDir)"\include +copy ..\..\..\src\*.hh "$(OutDir)"\include +copy ..\..\..\src\cms\*.h "$(OutDir)"\include +copy ..\..\..\src\cms\*.hh "$(OutDir)"\include +copy ..\..\..\src\os_intf\*.h "$(OutDir)"\include +copy ..\..\..\src\os_intf\*.hh "$(OutDir)"\include +copy ..\..\..\src\print\*.h "$(OutDir)"\include +copy ..\..\..\src\print\*.hh "$(OutDir)"\include +copy ..\..\..\src\stg_clss\*.h "$(OutDir)"\include +copy ..\..\..\src\stg_clss\*.hh "$(OutDir)"\include +copy ..\..\..\src\node\*.h "$(OutDir)"\include +copy ..\..\..\src\node\*.hh "$(OutDir)"\include +copy ..\..\..\src\posemath\*.h "$(OutDir)"\include + + + + + + + Disabled + $(SolutionDir);$(SolutionDir)\..\..\..\src;$(SolutionDir)\..\..\..\src\os_intf;$(SolutionDir)\..\..\..\src\nt_xdr;$(SolutionDir)\..\..\..\src\cms;$(SolutionDir)\..\..\..\src\print;$(SolutionDir)\..\..\..\src\stg_clss;$(SolutionDir)\..\..\..\src\node;$(SolutionDir)\..\..\..\src\posemath;%(AdditionalIncludeDirectories) + HAVE_CONFIG_H;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + .\Debug/rcs.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + .\Debug\rcs.lib + true + + + true + .\Debug/rcs.bsc + + + mkdir "$(OutDir)"\include +copy ..\..\..\src\*.h "$(OutDir)"\include +copy ..\..\..\src\*.hh "$(OutDir)"\include +copy ..\..\..\src\cms\*.h "$(OutDir)"\include +copy ..\..\..\src\cms\*.hh "$(OutDir)"\include +copy ..\..\..\src\os_intf\*.h "$(OutDir)"\include +copy ..\..\..\src\os_intf\*.hh "$(OutDir)"\include +copy ..\..\..\src\print\*.h "$(OutDir)"\include +copy ..\..\..\src\print\*.hh "$(OutDir)"\include +copy ..\..\..\src\stg_clss\*.h "$(OutDir)"\include +copy ..\..\..\src\stg_clss\*.hh "$(OutDir)"\include +copy ..\..\..\src\node\*.h "$(OutDir)"\include +copy ..\..\..\src\node\*.hh "$(OutDir)"\include +copy ..\..\..\src\posemath\*.h "$(OutDir)"\include + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/rcs.vcxproj.filters b/etc/win_vc_2010_express/rcs/rcs.vcxproj.filters new file mode 100755 index 0000000..92ee277 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/rcs.vcxproj.filters @@ -0,0 +1,263 @@ + + + + + {4c92fa4a-83c0-49bf-92d0-8ac80f4dc952} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {83472522-7e38-4dc4-ab73-830bb89063e9} + h;hpp;hxx;hm;inl + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/rcs_config.h b/etc/win_vc_2010_express/rcs/rcs_config.h new file mode 100644 index 0000000..d31836e --- /dev/null +++ b/etc/win_vc_2010_express/rcs/rcs_config.h @@ -0,0 +1,715 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* This file "rcs_config.h." Generated by configure, +* but then manually edited for the Microsoft Windows platform with +* Visual C++ 6.0 or better. +*/ + +/* rcs_config.h.in. Generated from configure.ac by autoheader. */ + +// The following came from rpatel@gdrs.com -- Rcslib_Tweaks_for_GDRS.doc +// It enables a replace of strdup with _strdup in cms_cfg.cc +#define USE__STRDUP 1 + + +/* What platform is this built for? */ +#define BUILD_PLATFORM "x86-pc-mswindows" + +/* MSVC is f'd up again, I should be able to include the headers in either order. */ +#define WINSOCK_BEFORE_WINDOWS + +/* Define to 1 if packed encoding support in rcslib is enabled. */ +#define ENABLE_PACKED_UP 1 + +/* Define to 1 if nmlqr support in rcslib is enabled. */ +/* #undef ENABLE_RCS_CMS_MRPQ */ + +/* Define to 1 if crypt2 support in rcslib is enabled. */ +/* #undef ENABLE_RCS_CRYPT2 */ + +/* Define to 1 if diag support in rcslib is enabled. */ +/* #undef ENABLE_RCS_DIAG */ + +/* Define to 1 if disp support in rcslib is enabled. */ +#define ENABLE_RCS_DISP 1 + +/* Define to 1 if filemem is enabled. */ +/* #undef ENABLE_RCS_FILEMEM */ + +/* Define to 1 if http support in rcslib is enabled. */ +/* ENABLE_RCS_HTTP */ + +/* Define to 1 if inifile support in rcslib is enabled. */ +#define ENABLE_RCS_INIFILE 1 + +/* Define to 1 if locmem support in rcslib is enabled. */ +/* #undef ENABLE_RCS_LOCMEM */ + +/* Define to 1 if nmlcfgsvr is enabled. */ +#define ENABLE_RCS_NMLCFGSVR 1 + +/* Define to 1 if nmlmod is enabled. */ +#define ENABLE_RCS_NMLMOD 1 + +/* Define to 1 if nmlqr support in rcslib is enabled. */ +#define ENABLE_RCS_NMLQR 1 + +/* Define to 1 if sokintrf support in rcslib is enabled. */ +/* #undef ENABLE_RCS_OE_INTRF */ + +/* Define to 1 if packedl64 encoding support in rcslib is enabled. */ +#define ENABLE_RCS_PACKEDL64 1 + +/* Define to 1 if phantommem support in rcslib is enabled. */ +/* #undef ENABLE_RCS_PHANTOMMEM */ + +/* Define to 1 if rcs_prnt support in rcslib is enabled. */ +#define ENABLE_RCS_PRNT 1 + +/* Define to 1 if rtlmem support in rcslib is enabled. */ +/* #undef ENABLE_RCS_RTLMEM */ + +/* Define to 1 if server support in rcslib is enabled. */ +#define ENABLE_RCS_SERVER 1 + +/* Define to 1 if shmem is enabled. */ +#define ENABLE_RCS_SHMEM 1 + +/* Define to 1 if sokintrf support in rcslib is enabled. */ +#define ENABLE_RCS_SOKINTRF 1 + +/* Define to 1 if stcp support in rcslib is enabled. */ +#define ENABLE_RCS_STCP 1 + +/* Define to 1 if tcp support in rcslib is enabled. */ +#define ENABLE_RCS_TCP 1 + +/* Define to 1 if tty support in rcslib is enabled. */ +#define ENABLE_RCS_TTY 1 + +/* Define to 1 if udp support in rcslib is enabled. */ +#define ENABLE_RCS_UDP 1 + +/* Define to 1 if xdr support in rcslib is enabled. */ +#define ENABLE_RCS_XDR 1 + +/* Define to 1 if xml support in rcslib is enabled. */ +#define ENABLE_RCS_XML 1 + +/* Define to 1 if you have the `abort' function. */ +#define HAVE_ABORT 1 + +/* if we should use the adafinal funtion */ +/* #undef HAVE_ADAFINAL */ + +/* if we should use the adainit funtion */ +/* #undef HAVE_ADAINIT */ + +/* Define to 1 if you have */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define to 1 if you have the caddr_t type. */ +/* #undef HAVE_CADDR_T_TYPE */ + +/* Define to 1 if you have the `clock_gettime' function. */ +/* #undef HAVE_CLOCK_GETTIME */ + +/* Define to 1 if you have the CloseHandle function. */ +#define HAVE_CLOSEHANDLE 1 + +/* Define to 1 if you have the CreateFileMapping function. */ +#define HAVE_CREATEFILEMAPPING 1 + +/* Define to 1 if you have the CreateMutex function. */ +#define HAVE_CREATEMUTEX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_DIRENT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have < fcntl.h> */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `fstat' function. */ +#define HAVE_FSTAT 1 + +/* Define to 1 if you have the `stat' function. */ +#define HAVE_STAT 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getenv' function. */ +#define HAVE_GETENV 1 + +/* Define to 1 if you have the `gethostbyaddr' function. */ +/* #undef HAVE_GETHOSTBYADDR */ + +/* Define to 1 if you have the `gethostbyname' function. */ +/* #undef HAVE_GETHOSTBYNAME */ + +/* Define to 1 if you have the `gethostbyname_r' function. */ +/* #undef HAVE_GETHOSTBYNAME_R */ + +/* Define to 1 if you have the `gethostname' function. */ +/* #undef HAVE_GETHOSTNAME */ + +/* Define to 1 if you have the `getsockopt' function. */ +/* #undef HAVE_GETSOCKOPT */ + +/* Define to 1 if you have the GetTickCount function. */ +#define HAVE_GETTICKCOUNT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +/* #undef HAVE_GETTIMEOFDAY */ + +/* Define to 1 if you have the `getwd' function. */ +/* #undef HAVE_GETWD */ + +/* Define to 1 if you have the GetCurrentProcessId function */ +#define HAVE_GET_CURRENT_PROCESS_ID 1 + +/* Define to 1 if you have the GetCurrentThreadId function */ +#define HAVE_GET_CURRENT_THREAD_ID 1 + +/* Define to 1 if you have the `inet_ntoa' function. */ +/* #undef HAVE_INET_NTOA */ + +/* Define to 1 if you have the InitializeSecurityDescriptor function. */ +#define HAVE_INITIALIZESECURITYDESCRIPTOR 1 + +/* Define to 1 if you have */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IOSTREAM_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IO_H 1 + +/* Define to 1 if you have the key_t type. */ +/* #undef HAVE_KEY_T_TYPE */ + +/* Define to 1 if you have the `gccprefix' library (-lgccprefix). */ +/* #undef HAVE_LIBGCCPREFIX */ + +/* Define to 1 if you have the `gmem' library (-lgmem). */ +/* #undef HAVE_LIBGMEM */ + +/* Define to 1 if you have the `gnarl' library (-lgnarl). */ +/* #undef HAVE_LIBGNARL */ + +/* Define to 1 if you have the `gnat' library (-lgnat). */ +/* #undef HAVE_LIBGNAT */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +/* #undef HAVE_LIBNSL */ + +/* Define to 1 if you have the `oe_2_0_Ada95' library (-loe_2_0_Ada95). */ +/* #undef HAVE_LIBOE_2_0_ADA95 */ + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +/* #undef HAVE_LIBPTHREAD */ + +/* Define to 1 if you have the `rt' library (-lrt). */ +/* #undef HAVE_LIBRT */ + +/* Define to 1 if you have the `utilities_Ada95' library (-lutilities_Ada95). + */ +/* #undef HAVE_LIBUTILITIES_ADA95 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localtime' function. */ +#define HAVE_LOCALTIME 1 + +/* Define to 1 if you have the MapViewOfFile function. */ +#define HAVE_MAPVEIWOFFILE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* define if the compiler implements namespaces */ +#define HAVE_NAMESPACES 1 + +/* Define to 1 if you have the `nanosleep' function. */ +/* #undef HAVE_NANOSLEEP */ + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have < netdb.h> */ +/* #undef HAVE_NETDB_H */ + +/* Define to 1 if you have < netinet/in.h> */ +/* #undef HAVE_NETINET_IN_H */ + +/* Define to 1 if you have */ +/* #undef HAVE_NETINET_TCP_H */ + +/* Define to 1 if you have the header file */ +/* #undef HAVE_NETINET_TCP_H_2 */ + +/* Define to 1 if you have < net/uio.h> */ +/* #undef HAVE_NET_UIO_H */ + +/* if we can include oe.h */ +/* #undef HAVE_OE_H */ + +/* if we can include oe.hh */ +/* #undef HAVE_OE_HH */ + +/* Define to 1 if you have the `opendir' function. */ +#define HAVE_OPENDIR 1 + +/* Define to 1 if you have the OpenMutex function. */ +#define HAVE_OPENMUTEX 1 + +/* Define to 1 if you have the process.h file */ +#define HAVE_PROCESS_H 1 + +/* Define to 1 if you have the pthread.h file */ +/* #undef HAVE_PTHREAD_H */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the QueryPerformanceCounter function. */ +/* #define HAVE_QUERYPERFORMANCECOUNTER 1 */ + +/* Define to 1 if you have the QueryPerformanceFrequency function. */ +/* #define HAVE_QUERYPERFORMANCEFREQUENCY 1 */ + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `readdir' function. */ +#define HAVE_READDIR 1 + +/* Define to 1 if you have the ReleaseMutex function. */ +#define HAVE_RELEASEMUTEX 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_RPC_RPC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_RPC_TYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_RPC_XDR_H */ + +/* Is this platfrom running a linux kernel with the rtai patch */ +/* #undef HAVE_RTAI */ + +/* Is this platfrom running a linux kernel with the rtlinux patch */ +/* #undef HAVE_RTL */ + +/* Define to 1 if you have the `sched_yield' function. */ +/* #undef HAVE_SCHED_YIELD */ + +/* Define to 1 if you have the `select' function. */ +/* #undef HAVE_SELECT */ + +/* Define to 1 if you have */ +/* #undef HAVE_SEMAPHORE_H */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `setitimer' function. */ +/* #undef HAVE_SETITIMER */ + +/* Define to 1 if you have the `setsockopt' function. */ +/* #undef HAVE_SETSOCKOPT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sleep' function. */ +#define HAVE_SLEEP 1 + +/* Define to 1 if you have the SleepEx function. */ +#define HAVE_SLEEPEX 1 + +/* Define to 1 if you have the `snprintf' function. */ +/* #undef HAVE_SNPRINTF */ + +/* Define to 1 if you have the `socket' function. */ +/* #undef HAVE_SOCKET */ + +/* Define to 1 if you have the `socketpair' function. */ +/* #undef HAVE_SOCKETPAIR */ + +/* Define to 1 if you have the socklen_t type. */ +/* #undef HAVE_SOCKLEN_T_TYPE */ + +/* Define to 1 if you have the `sqrt' function. */ +#define HAVE_SQRT 1 + +/* Define to 1 if you have */ +/* #undef HAVE_STANDARDS_H */ + +/* define if the compiler supports ISO C++ standard library */ +#define HAVE_STD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strcspn' function. */ +#define HAVE_STRCSPN 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STRINGS_H 1 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strpbrk' function. */ +#define HAVE_STRPBRK 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the struct iovec type. */ +/* #undef HAVE_STRUCT_IOVEC_TYPE */ + +/* Define to 1 if you have the struct msghdr type. */ +/* #undef HAVE_STRUCT_MSGHDR_TYPE */ + +/* Define to 1 if you have the `sync' function. */ +/* #undef HAVE_SYNC */ + +/* Define to 1 if you have the `sysconf' function. */ +/* #undef HAVE_SYSCONF */ + +/* Define to 1 if you have the `sysinfo' function. */ +/* #undef HAVE_SYSINFO */ + +/* Define to 1 if you have < syslog.h> */ +/* #undef HAVE_SYSLOG_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ERRNO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_FCNTL_H */ + +/* Define to 1 if you have < sys/file.h> */ +/* #undef HAVE_SYS_FILE_H */ + +/* Define to 1 if you have < sys/filio.h> */ +/* #undef HAVE_SYS_FILIO_H */ + +/* Define to 1 if you have < sys/ioctl.h> */ +/* #undef HAVE_SYS_IOCTL_H */ + +/* Define to 1 if you have */ +/* #undef HAVE_SYS_IPC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MMAN_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have < sys/param.h> */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define to 1 if you have . */ +/* #undef HAVE_SYS_SEM_H */ + +/* Define to 1 if you have */ +/* #undef HAVE_SYS_SHM_H */ + +/* Define to 1 if you have < sys/socket.h> */ +/* #undef HAVE_SYS_SOCKET_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have < sys/systeminfo.h> */ +/* #undef HAVE_SYS_SYSTEMINFO_H */ + +/* Define to 1 if you have < sys/time.h> */ +/* #undef HAVE_SYS_TIME_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have < sys/uio.h> */ +/* #undef HAVE_SYS_UIO_H */ + +/* Define to 1 if you have < sys/utsname.h> */ +/* #undef HAVE_SYS_UTSNAME_H */ + +/* Define to 1 if you have that is POSIX.1 compatible. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define to 1 if you have the TerminateThread function */ +#define HAVE_TERMINATETHREAD 1 + +/* Define to 1 if you have < termios.h> */ +/* #undef HAVE_TERMIOS_H */ + +/* Define to 1 if you have the `time' function. */ +#define HAVE_TIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TOE_SERVICES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TOE_SERVICES_HH */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TOOLHELP_H */ + +/* Define to 1 if you have the `toupper' function. */ +#define HAVE_TOUPPER 1 + +/* Define to 1 if you have the `uname' function. */ +/* #undef HAVE_UNAME */ + +/* Is union semun defined */ +/* #undef HAVE_UNION_SEMUN */ + +/* Define to 1 if you have < unistd.h> */ +/* #undef HAVE_UNISTD_H */ + +/* Define to 1 if you have the UnmapViewOfFile function. */ +#define HAVE_UNMAPVEIWOFFILE 1 + +/* Define to 1 if you have the `usleep' function. */ +/* #undef HAVE_USLEEP */ + +/* Define to 1 if you have the u_int type */ +#define HAVE_U_INT 1 + +/* Define to 1 if you have the u_int type */ +#define HAVE_U_LONG 1 + +/* Define to 1 if you have the u_short type */ +#define HAVE_U_SHORT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VALUES_H */ + +/* Define to 1 if you have the `vsnprintf' function. */ +/* #undef HAVE_VSNPRINTF */ + +/* Define to 1 if you have the WaitForSingleObject function. */ +#define HAVE_WAITFORSINGLEOBJECT 1 + +/* Define to 1 if you have windows.h */ +#define HAVE_WINDOWS_H 1 + +/* Define to 1 you have a working winsock2.h and ws2_32.lib system. */ +#define HAVE_WINSOCK2_H 1 + +/* Define to 1 you have a working winsock.h and wsock32.lib system. */ +/* #undef HAVE_WINSOCK_H */ + +/* Define to 1 if there is a working version of winver.h */ +#define HAVE_WINVER_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_XDR_H 1 + +/* Define to 1 if you have the Yield function. */ +#define HAVE_YIELD 1 + +/* Define to 1 if you have the _beginthread function. */ +#define HAVE__BEGINTHREAD 1 + +/* Define to 1 if you have the `_snprintf' function. */ +#define HAVE__SNPRINTF 1 + +/* Define to 1 if you have the `_vsnprintf' function. */ +#define HAVE__VSNPRINTF 1 + +/* Define to 1 if you should use the Microsoft Windows API for + threads/sockets/IPC etc. */ +#define MS_WINDOWS_API 1 + +/* Disable support for printing posemath stuff with iostreams */ +#define NO_IOSTREAM 1 + +/* if no thread system is available */ +/* #undef NO_THREADS */ + +/* Name of package */ +#define PACKAGE "rcslib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "shackle@cme.nist.gov" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Real-Time Control System Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Real-Time Control System Library 2004.7" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "rcslib" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2004.7" + +/* Should we use POSIX Semaphores */ +/* #undef POSIX_SEMAPHORES */ + +/* Can we use POSIX semaphores? */ +/* #undef POSIX_SEMAPHORES_AVAILABLE */ + +/* Can we use POSIX shared memory? */ +/* #undef POSIX_SHAREDMEM_AVAILABLE */ + +/* prefix all shmem names with this string */ +/* #undef POSIX_SHMEM_NAME_PREFIX */ + +/* if we should use POSIX threads */ +/* #undef POSIX_THREADS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Should we use POSIX Semaphores */ +/* #undef SYS_V_SEMAPHORES */ + +/* Can we use SystemV semaphores? */ +/* #undef SYS_V_SEMAPHORES_AVAILABLE */ + +/* Can we use SystemV shared memory? */ +/* #undef SYS_V_SHAREDMEM_AVAILABLE */ + +/* Should we use POSIX Shared_Memory */ +/* #undef SYS_V_SHARED_MEMORY */ + +/* Define to 1 if you can safely include both and . */ +/* #undef TIME_WITH_SYS_TIME 1 */ + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Should we use POSIX Shared Memory */ +/* #undef USE_POSIX_SHAREDMEM */ + +/* Version number of package */ +#define VERSION "2009.05" + +// wrap strcncpy with strncpy_s to avoid warnings. +#define HAVE_STRNCPY_S 1 + +// wrap snprintf with strncpy_s to avoid warnings. +#define HAVE_SNPRINTF_S 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `int' if doesn't define. */ +#define gid_t int + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `int' if does not define. */ +/* #undef mode_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if doesn't define. */ +#define uid_t int diff --git a/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcproj b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcproj new file mode 100755 index 0000000..1b9d3e9 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcproj @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj new file mode 100755 index 0000000..cb10e83 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj @@ -0,0 +1,99 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {D3F02A77-15DA-4430-8DF5-19849CF3B80C} + testpmcpp + Win32Proj + + + + Application + Unicode + true + v110 + + + Application + Unicode + v110 + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + true + Console + MachineX86 + + + + + MaxSpeed + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + + + true + Console + true + true + MachineX86 + + + + + + + + {8ff923e6-7825-4ad8-939f-aedd75d0fedf} + false + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj.filters b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj.filters new file mode 100755 index 0000000..ef3c613 --- /dev/null +++ b/etc/win_vc_2010_express/rcs/testpmcpp/testpmcpp.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptime.sdf b/etc/win_vc_2010_express/udptime/udptime.sdf new file mode 100755 index 0000000..17ca2bf Binary files /dev/null and b/etc/win_vc_2010_express/udptime/udptime.sdf differ diff --git a/etc/win_vc_2010_express/udptime/udptime.sln b/etc/win_vc_2010_express/udptime/udptime.sln new file mode 100755 index 0000000..6932dca --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptime.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udptimesend", "udptimesend\udptimesend.vcxproj", "{6D671016-1D5E-4984-87DA-87E5BB381273}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "udptimerecv", "udptimerecv\udptimerecv.vcxproj", "{E1DB4D27-6979-4FE1-9687-BA49F7361AC8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6D671016-1D5E-4984-87DA-87E5BB381273}.Debug|Win32.ActiveCfg = Debug|Win32 + {6D671016-1D5E-4984-87DA-87E5BB381273}.Debug|Win32.Build.0 = Debug|Win32 + {6D671016-1D5E-4984-87DA-87E5BB381273}.Release|Win32.ActiveCfg = Release|Win32 + {6D671016-1D5E-4984-87DA-87E5BB381273}.Release|Win32.Build.0 = Release|Win32 + {E1DB4D27-6979-4FE1-9687-BA49F7361AC8}.Debug|Win32.ActiveCfg = Debug|Win32 + {E1DB4D27-6979-4FE1-9687-BA49F7361AC8}.Debug|Win32.Build.0 = Debug|Win32 + {E1DB4D27-6979-4FE1-9687-BA49F7361AC8}.Release|Win32.ActiveCfg = Release|Win32 + {E1DB4D27-6979-4FE1-9687-BA49F7361AC8}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/etc/win_vc_2010_express/udptime/udptime.suo b/etc/win_vc_2010_express/udptime/udptime.suo new file mode 100755 index 0000000..aa2321a Binary files /dev/null and b/etc/win_vc_2010_express/udptime/udptime.suo differ diff --git a/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj new file mode 100755 index 0000000..5bd5140 --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj @@ -0,0 +1,86 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {E1DB4D27-6979-4FE1-9687-BA49F7361AC8} + Win32Proj + udptimerecv + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + true + ws2_32.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;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + true + ws2_32.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;%(AdditionalDependencies) + + + + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.filters b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.filters new file mode 100755 index 0000000..9c55682 --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.user b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.user new file mode 100755 index 0000000..2d03f9d --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimerecv/udptimerecv.vcxproj.user @@ -0,0 +1,12 @@ + + + + + + WindowsLocalDebugger + + + --verbose --filter_ip 129.6.72.34 + WindowsLocalDebugger + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj new file mode 100755 index 0000000..198fe30 --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj @@ -0,0 +1,86 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6D671016-1D5E-4984-87DA-87E5BB381273} + Win32Proj + udptimesend + + + + Application + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + true + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebug + + + Console + true + ws2_32.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;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreaded + + + Console + true + true + true + ws2_32.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;%(AdditionalDependencies) + + + + + + + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.filters b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.filters new file mode 100755 index 0000000..dbadc43 --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.user b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.user new file mode 100755 index 0000000..695b5c7 --- /dev/null +++ b/etc/win_vc_2010_express/udptime/udptimesend/udptimesend.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/examples/GNUmakefile b/examples/GNUmakefile new file mode 100644 index 0000000..8b1be07 --- /dev/null +++ b/examples/GNUmakefile @@ -0,0 +1,8 @@ + +all: + +all clean: + $(MAKE) -C nml_w_diag $@ + $(MAKE) -C rcs_single_dir $@ + +.PHONY: all clean diff --git a/examples/nml_w_diag/GNUmakefile b/examples/nml_w_diag/GNUmakefile new file mode 100644 index 0000000..70da352 --- /dev/null +++ b/examples/nml_w_diag/GNUmakefile @@ -0,0 +1,85 @@ + +# Set the main RCS Library Directory +ifndef RCSLIB_DIR +RCSLIB_DIR=../.. +endif + +ifdef PLAT +PLAT_INC_FLAG=-I$(RCSLIB_DIR)/plat/$(PLAT)/include +PLAT_LIB_FLAG=-L$(RCSLIB_DIR)/plat/$(PLAT)/lib +endif + +ifeq ($(MSYSTEM),MINGW32) +EXTRA_LIBS:=$(EXTRA_LIBS) -lws2_32 +endif + +CPPFLAGS:=$(CPPFLAGS) -I $(RCSLIB_DIR)/include -I /usr/local/include $(PLAT_INC_FLAG) -I ../../src -I ../../src/os_intf -I ../../src/posemath -I ../../src/cms -I ../../src/node -I ../../src/print -I ../../src/stg_clss + + +LIBS:=$(LIBS) -L$(RCSLIB_DIR)/lib -L/usr/local/lib -L$(RCSLIB_DIR)/.libs -L$(RCSLIB_DIR) $(PLAT_LIB_FLAG) -lrcs $(EXTRA_LIBS) + +ifndef JAVA +JAVA=java +endif + +ifndef JAVAC +JAVAC=javac +endif + +ifndef CODEGEN_CMD +CODEGEN_CMD=$(JAVA) -classpath $(RCSLIB_DIR)/bin/CodeGenCmdLine.jar:$(RCSLIB_DIR)/plat/java/lib/CodeGenCmdLine.jar diagapplet.CodeGen.CodeGenCmdLine generate_for_all_langs=true +endif + +ifndef NMLCFG +NMLCFG=env "PATH=$(RCSLIB_DIR)/bin:$(RCSLIB_DIR):$(PATH)" nmlcfg$(EXE_EXT) +endif + +ifndef CXX +CXX=g++ +endif + +CPPFLAGS:= $(CPPFLAGS) -I $(RCSLIB_DIR)/include -I $(RCSLIB_DIR)/plat/$(PLAT)/include + +ifndef HOSTNAME +HOSTNAME:=$(shell hostname) +endif + +LIBS:= $(LIBS) -L$(RCSLIB_DIR)/lib -L$(RCSLIB_DIR)/plat/$(PLAT)/lib -L$(RCSLIB_DIR) -lrcs + +CXXFLAGS:= $(CXXFLAGS) -g + +all: nml_ex1_write nml_ex1_svr nml_ex1_read nml_ex1_j_write.class nml_ex1_j_read.class ex1.nml + +ex1.nml : ex1.cfg + $(NMLCFG) -D HOSTNAME=$(HOSTNAME) $^ -o $@ + +nml_ex1_n.cc EXAMPLE_MSG.java nml_ex1_MsgDict.java : nml_ex1.hh + $(CODEGEN_CMD) $^ + +nml_ex1_write: nml_ex1_n.o nml_ex1_write.o + $(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@ + +nml_ex1_read: nml_ex1_n.o nml_ex1_read.o + $(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@ + +nml_ex1_svr: nml_ex1_n.o nml_ex1_svr.o + $(CXX) $(CXXFLAGS) $^ $(LIBS) -o $@ + +nml_ex1_j_write.class nml_ex1_j_read.class EXAMPLE_MSG.class nml_ex1_MsgDict.class : nml_ex1_j_write.java EXAMPLE_MSG.java nml_ex1_MsgDict.java nml_ex1_j_read.java + $(JAVAC) -classpath .:$(RCSLIB_DIR)/plat/java/lib/rcs.jar $^ + + +.PHONY: all + +clean: + -\rm -f nml_ex1_n.o nml_ex1_write.o nml_ex1_read.o nml_ex1_svr.o nml_ex1_j_write.class EXAMPLE_MSG.class nml_ex1_MsgDict.class nml_ex1_j_write.class EXAMPLE_MSG.java nml_ex1_MsgDict.java nml_ex1_n.cc nml_ex1_write nml_ex1_read nml_ex1_svr nml_ex1_n_codegen_protos.hh nml_ex1_c_n.c nml_ex1_c_n.h nml_ex1_n_ada.adb nml_ex1_n_ada.ads nml_ex1_j_read.class ex1.nml nml_w_diag_example.tar.gz + + + +.PHONY: clean + +nml_w_diag_example.tar.gz: clean + tar -czf $@ `find . -maxdepth 1 -type f -not -name \*.tar\*` + + + diff --git a/examples/nml_w_diag/README.TXT b/examples/nml_w_diag/README.TXT new file mode 100644 index 0000000..05577d1 --- /dev/null +++ b/examples/nml_w_diag/README.TXT @@ -0,0 +1,83 @@ +# This directory contains some examples. + +The examples send or recieve a message written in a format in nml_ex1.hh, a +CodeGen tool creates some C++ and Java files for marshalling and unmarshalling +data in the message. +The communications parameters are stored in ex1.cfg they are parsed by nmlcfg +and placed in ex1.nml +ex1.diag contains configuration parameters for the diagnostics tool, including +the list of buffers and the header files with their message definitions. + +The examples require some Java classes that were not necessarilly built by +default. If you get errors from java that it can not load classes: + +cd rcslib/src/java +make + +The Java compiler/interpreter must be the official Sun version 1.4 or better +from http://java.sun.com +The open source interpreters kaffe,gcj, blackdown etc that come by default +on several Linux distros are known not to work. + + +The examples must be built with GNU make, +on Windows this means using cygwin(http://www.cygwin.com) +or mingw (http://www.mingw.org) + +to build everything run make setting the RCSLIB_DIR variable to the location +rcslib is installed. Depending on how things are installed other variables +you may need to set on the command line include CXX,CXXFLAGS, CPPFLAGS,LIBS,PLAT, CODEGEN_JAR,NMLCFG, JAVA, and JAVAC see GNUmakefile. + +make RCSLIB_DIR=~/rcslib + + + +to cleanup when done + +make clean + +To run the examples: + +The programs may need environment variable LD_LIBRARY_PATH to be set to include the locatation of librcs.so, so for example in tcsh + +setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:~/rcslib/lib + +or in bash + +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:~/rcslib/lib + +The java programs need to be able to find the RCS java classes which I ussually accomplish by setting up a symbolic link. This can also be accomplished by setting CLASSPATH environment variable or adding -classpath options to the java commands + +i.e. + +ln -s ~/rcslib/plat/java/lib/rcs . + + +The SERVER must be started first, leave it running in the background. + +./nml_ex1_svr & + + +in more or less any order + +./nml_ex1_write + +./nml_ex1_read + +java nml_ex1_j_write + +java nml_ex1_j_read + +To run the diagnostics tool: + +java -jar /diagapplet.jar ex1.diag + +In the diag tool click the red "connected" checkbox (it should change to yellow), and change the drop down list below it from "Hierarchy" to "Auxilliary Channels". + +To kill the server, bring it into the foreground and press Control-C. + +ie + +%1 +^C + diff --git a/examples/nml_w_diag/ex1.cfg b/examples/nml_w_diag/ex1.cfg new file mode 100644 index 0000000..e69176d --- /dev/null +++ b/examples/nml_w_diag/ex1.cfg @@ -0,0 +1,10 @@ + +b name=ex1_buf size=200 host=$(HOSTNAME) format_source=nml_ex1_n.cc header=nml_ex1.hh format_name=ex + + +p bufname=default name=nml_ex1_svr server=1 master=1 proctype=local + + +p bufname=default name=default proctype=auto + + diff --git a/examples/nml_w_diag/ex1.diag b/examples/nml_w_diag/ex1.diag new file mode 100644 index 0000000..ea94005 --- /dev/null +++ b/examples/nml_w_diag/ex1.diag @@ -0,0 +1,20 @@ + +options{ + MakeCommand="make "; + ListModulesByNumber=false; + MODULE_WIDTH=160; + MODULE_HEIGHT=60; + MODULE_X_SPACING=50; + MODULE_Y_SPACING=40; +} + +ex1{ + no_cmd=true; + no_stat=true; + aux_input="ex1_buf"; + aux_input_types="nml_ex1.hh"; + nml_configuration_file="ex1.nml"; +} + + + diff --git a/examples/nml_w_diag/nml_ex1.hh b/examples/nml_w_diag/nml_ex1.hh new file mode 100644 index 0000000..3f1c048 --- /dev/null +++ b/examples/nml_w_diag/nml_ex1.hh @@ -0,0 +1,70 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* nml_ex1.hh */ +#ifndef NML_EX1_HH +#define NML_EX1_HH +#include "rcs.hh" + +/* Give the new structure a unique id number */ +#define EXAMPLE_MSG_TYPE 101 +/* The id number must be unique within a CMS buffer, i.e. the number +must be different than the id of any other type that might be written to +a particular buffer. For simplicity it is recommended that the id number +also be unique within an application. */ + +/* Define the new message structure */ +struct EXAMPLE_MSG: public NMLmsg +{ + /* The constructor needs to store the id number */ + /* and the size of the new structure */ + /* by passing them as arguments to the base class constructor. */ + EXAMPLE_MSG(): + NMLmsg(EXAMPLE_MSG_TYPE, sizeof(EXAMPLE_MSG)){}; + + /* Each new type needs to overload the update function. */ + void update(CMS *cms); + + /* Data in this new message format. */ + double d; + float f; + char c; + short s; + int i; + long l; + unsigned char uc; + unsigned short us; + unsigned int ui; + unsigned long ul; + + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, da, 20); +}; + +/* Declare the NML Format function. */ +int ex_format(NMLTYPE type, void *buf, CMS *cms); + +extern char *TEST_CFG; + +#endif /* End of NML_EMC_HH */ diff --git a/examples/nml_w_diag/nml_ex1_j_read.java b/examples/nml_w_diag/nml_ex1_j_read.java new file mode 100644 index 0000000..d89d76e --- /dev/null +++ b/examples/nml_w_diag/nml_ex1_j_read.java @@ -0,0 +1,60 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_ex1_j_read +{ + public static void main(String args[]) + { + + try { + NMLConnection nmlc1 = new NMLConnection(new nml_ex1_MsgDict(), + "ex1_buf","nml_ex1_j_read","ex1.nml"); + if(null == nmlc1) + { + System.err.println("nmlc1 is null."); + System.exit(2); + } + EXAMPLE_MSG ex_msg; + ex_msg = (EXAMPLE_MSG) nmlc1.read(); + System.out.println("nml_test_java_dl_read.java : From nmlc1 : tst_msg="+ex_msg); + System.out.println("ex_msg.d="+ex_msg.d); + System.exit(0); + } + catch(Exception e) + { + e.printStackTrace(rcs.nml.debugInfo.debugPrintStream); + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/examples/nml_w_diag/nml_ex1_j_write.java b/examples/nml_w_diag/nml_ex1_j_write.java new file mode 100644 index 0000000..209374c --- /dev/null +++ b/examples/nml_w_diag/nml_ex1_j_write.java @@ -0,0 +1,59 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +// Import all NML, CMS, and RCS classes and interfaces +import rcs.*; +import rcs.nml.*; +import rcs.utils.*; +import rcs.posemath.*; + +import java.io.PrintStream; +import java.io.FileOutputStream; + +public class nml_ex1_j_write +{ + public static void main(String args[]) + { + + try { + NMLConnection nmlc1 = new NMLConnection(new nml_ex1_MsgDict(), + "ex1_buf","nml_ex1_j_read","ex1.nml"); + if(null == nmlc1) + { + System.err.println("nmlc1 is null."); + System.exit(2); + } + EXAMPLE_MSG ex_msg = new EXAMPLE_MSG(); + ex_msg.d = 9.876; + nmlc1.write(ex_msg); + System.exit(0); + } + catch(Exception e) + { + e.printStackTrace(rcs.nml.debugInfo.debugPrintStream); + e.printStackTrace(); + System.exit(255); + } + } +} diff --git a/examples/nml_w_diag/nml_ex1_read.cc b/examples/nml_w_diag/nml_ex1_read.cc new file mode 100644 index 0000000..24c73bb --- /dev/null +++ b/examples/nml_w_diag/nml_ex1_read.cc @@ -0,0 +1,61 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + + + +#include "rcs.hh" +#include "nml_ex1.hh" + +#include + +int +main(int , const char **) +{ + NML nml(ex_format,"ex1_buf","nml_ex1_read","ex1.nml"); + + NMLTYPE t = nml.read(); + printf("read returned %ld\n",t); + + switch(t) + { + case 0: + // Empty buffer + break; + + case EXAMPLE_MSG_TYPE: + { + EXAMPLE_MSG *ex_msg = (EXAMPLE_MSG *) nml.get_address(); + printf("ex_msg->d = %f\n",ex_msg->d); + } + break; + + case -1: + // Communicatios error + break; + + default: + // Some other unexpected type of message + break; + } +} diff --git a/examples/nml_w_diag/nml_ex1_svr.cc b/examples/nml_w_diag/nml_ex1_svr.cc new file mode 100644 index 0000000..f2fa7e3 --- /dev/null +++ b/examples/nml_w_diag/nml_ex1_svr.cc @@ -0,0 +1,37 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + + + +#include "rcs.hh" +#include "nml_ex1.hh" + +int +main(int , const char **) +{ + NML nml(ex_format,"ex1_buf","nml_ex1_svr","ex1.nml",1,1); + + // This never returns, kill this process with Control-C or kill -INT. + run_nml_servers(); +} diff --git a/examples/nml_w_diag/nml_ex1_write.cc b/examples/nml_w_diag/nml_ex1_write.cc new file mode 100644 index 0000000..608c28b --- /dev/null +++ b/examples/nml_w_diag/nml_ex1_write.cc @@ -0,0 +1,39 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + + + +#include "rcs.hh" +#include "nml_ex1.hh" + +int +main(int , const char **) +{ + NML nml(ex_format,"ex1_buf","nml_ex1_write","ex1.nml"); + + EXAMPLE_MSG ex_msg; + ex_msg.d = 1.234; + + nml.write(&ex_msg); +} diff --git a/examples/packed_file_display/LadarData.hh b/examples/packed_file_display/LadarData.hh new file mode 100644 index 0000000..8f05aa2 --- /dev/null +++ b/examples/packed_file_display/LadarData.hh @@ -0,0 +1,163 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Peter Russo * +\************************************************************************/ + +#ifndef __INCladarhh +#define __INCladarhh + +#include "rcs.hh" + +#define LADAR_DATA_BASE 50 // INCLUDE BASE_TYPES.H INSTEAD WHEN MOVED ONTO ANOTHER PLATFORM + +#define LADAR_DATA_TYPE LADAR_DATA_BASE +#define LADAR_DATA_NAME "ladardata" + +#define LADAR_SIZE_MAX 256*256 //!< LADAR_SIZE_MAX is the maximum number of pixels that a ladar may contain + +enum LadarTypeEnum + { + LADAR_SR2=0, //!< The type enumeration for the CSEM Swissranger 2 + LADAR_CANESTA=1, //!< The type enumeration for any of the Canesta ladars + LADAR_PMD=2, //!< The type enumeration for any of the PMD ladars + LADAR_SR3000=3, //!< The type enumeration for the CSEM Swissranger 3000 + LADAR_LOG=4, //!< The type enumeration for logged data. This is a type to allow commands for pausing/playing logged data + LADAR_UNKNOWN + }; + +/** + * Structure used to store as single return points 3D coordinates. + */ +struct xyz_float_struct +{ + //! distance along an axis across the image horizontally + float x; + + //! distance along an axis across the image vertically + float y; + + //! distance along the axis the FLASH Ladar Camera is pointing into the image. + float z; +}; + +struct xyz_frame +{ + //! Array of 3D data in camera coordinates. Data is packed x1,y1,z1,x2,y2,z2,...xn,yn,zn + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(xyz_float_struct,xyz_data,LADAR_SIZE_MAX); +}; + +struct float_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fdata,LADAR_SIZE_MAX); +}; + +struct ushort_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned short,usdata,LADAR_SIZE_MAX); +}; + +struct LadarOptionalInfo +{ + //! sensors internal frame count if available. 0 otherwise + unsigned frame_count; + + //! Itegration time in microseconds if available. 0 otherwise + unsigned integration_time_microsec; + + //! number of frames per second if available, 0 otherwise + double frame_rate; + + //! modulation frequency in MHz. + unsigned modulation_frequency_MHz; + + double distanceOffset; + double amplitudeThreshold; + + //! optional ladar specific meaning + int mode; + + //! shutter time in microseconds if available, 0 otherwise + double shutterTime; + + //! second shutter time in microseconds if available, 0 otherwise + double shutterTime2; + + //! ambient light cancellation CMR count, -- meanint is LADAR specific + int cmr1; + + //! ambient light cancellation CMR count, -- meanint is LADAR specific + int cmr2; + + //! unique string identifier/serial number for this device if available. + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, serial_number_string, 80); +}; + + +#define LADAR_DATA_REV "$Rev: 670 $" +#define LADAR_DATA_ID "$Id: LadarData.hh 670 2009-02-18 18:51:15Z shackle $" + +static const char *LADAR_DATA_HEADER_FILE=__FILE__; + +/*! + \class LADAR_DATA + \brief Stores data from [num_ladars] ladars to be distributed with NML +*/ +class LADAR_DATA : public NMLmsg +{ +public: + LADAR_DATA(); + void update( CMS*); + + //! Message Info + int Seqno; + + // Ladar Type + enum LadarTypeEnum ladar_type; + + // TimeStamp returned with etime(). measured in seconds, generally precise to 0.000001 s. + double timeStamp; + + // Ladar Dimensional Info + int rows; //!< Stores the number of rows in each ladar + int cols; //!< Stores the number of columns in each ladar + float fov_r; //!< Stores the field of view in the row direction for each ladar + float fov_c; //!< Stores the field of view in the column direction for each ladar + + struct LadarOptionalInfo opt; //!< Configuration options in effect when frame a was collected. + + struct xyz_frame xyz_frame; //!< 3-Dimensional coords of each return point in frame. + + struct float_frame intensity_frame; //!< Intensity value for each point in frame. + + struct float_frame range_frame; //!< Detected range values + + struct ushort_frame objects_frame; //! Object information for frame if provided. + +}; + +int LadarData_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/examples/packed_file_display/nmlOffsets.hh b/examples/packed_file_display/nmlOffsets.hh new file mode 100644 index 0000000..006e9b3 --- /dev/null +++ b/examples/packed_file_display/nmlOffsets.hh @@ -0,0 +1,37 @@ +/* + +*/ + +#ifndef NMLOFFSETS_HH +#define NMLOFFSETS_HH +#define SICKDATA_V3_BASE 52101 +#define SR3000_CMD_BASE 52201 +#define SR3000_STS_BASE 52301 +#define NAVDATA_V2_BASE 52301 +#define FWCAMERADATA_BASE 52501 +#define FWCAMERALOG_BASE 52601 +#define SICKSAFETY_CMD_BASE 52701 +#define SICKSAFETY_STS_BASE 52801 +#define SICKSAFETY_DATA_BASE 52821 +#define LADAR_LOG_CMD_BASE 52901 +#define LADAR_LOG_STS_BASE 53001 +#define SICKCMDSTS_BASE 53101 +#define PMD_CMD_BASE 53201 +#define PMD_STS_BASE 53301 +#define LOG_RECORDER_CMD_BASE 53401 +#define LOG_RECORDER_STS_BASE 53501 +#define LOG_PLAYBACK_CMD_BASE 53601 +#define LOG_PLAYBACK_STS_BASE 53701 +#define CANESTA_CMD_BASE 53801 +#define CANESTA_STS_BASE 53901 +#define OBSDETCFG_BASE 54001 +#define SICK_DATA_BASE 54101 +#define SONAR_DATA_BASE 54201 +#define MOAST_LOG_RECORD_SUPER_CMD_BASE 54301 +#define MOAST_LOG_RECORD_SUPER_STS_BASE 54401 +#define PLAYERPOS_DATA_BASE 54501 + +#define NML_OFFSETS_ID "$Id: nmlOffsets.hh 678 2009-03-04 16:46:38Z shackle $" + +#endif + diff --git a/examples/packed_file_display/show_file.sh b/examples/packed_file_display/show_file.sh new file mode 100755 index 0000000..72d3ecc --- /dev/null +++ b/examples/packed_file_display/show_file.sh @@ -0,0 +1,5 @@ +#!/bin/sh + + +../../etc/diag_NB.sh input_headers=LadarData.hh:sicksafetyData.hh packed_message_files=sr2s_000003.LADAR_DATA:sicksafety_000007.SAFETY_SICK_S3000_DATA + diff --git a/examples/packed_file_display/sicksafetyData.hh b/examples/packed_file_display/sicksafetyData.hh new file mode 100644 index 0000000..101f2b6 --- /dev/null +++ b/examples/packed_file_display/sicksafetyData.hh @@ -0,0 +1,79 @@ +/** + * @file sicksafetyData.hh + * + * @remark ~ NML data structure for SICK SAFETY 3000. + * + * @author ~ Tommy Chang + * + * @verbatim + * ,--------------------------------------------------------------------. + * . THIS software was developed at the National Institute of . + * . Standards and Technology by employees of the Federal Government . + * . in the course of their official duties. Pursuant to title 17 . + * . Section 105 of the United States Code this software is not . + * . subject to copyright protection and is in the public . + * . domain. NIST's [intelligent mobility] software is an experimental . + * . system. NIST assumes no responsibility whatsoever for its use by . + * . other parties, and makes no guarantees, expressed or implied, . + * . about its quality, reliability, or any other characteristic. We . + * . would appreciate acknowledgement if the software is used. This . + * . software can be redistributed and/or modified freely provided . + * . that any derivative works bear some notice that they are derived . + * . from it, and any modified versions bear some notice that they . + * . have been modified. . + * `------------------------------------------------------------------- + * @endverbatim + * + * @par Created by Tommy Chang, 2007-04-04 + **/ + + +#ifndef SICKSAFETYDATA_HH +#define SICKSAFETYDATA_HH +/*----------------------------------* + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" // SICKSAFETY_DATA_BASE + + +/*-----------------* + * Macro Constants * + \*---------------*/ +#define SAFETY_SICK_S3000_RANGE_LEN 761 // 190 * 4 + 1 +#define SAFETY_SICK_S3000_XYZ_LEN (761 * 3) +#define SAFETY_SICK_S3000_DATA_TYPE SICKSAFETY_DATA_BASE + +#define SAFETY_SICK_S3000_DATA_ID "$Id: sicksafetyData.hh 623 2008-11-10 16:01:29Z shackle $" +#define SAFETY_SICK_S3000_DATA_REV "$Rev: 623 $" + +static const char *SAFETY_SICK_S3000_DATA_HEADER_FILE=__FILE__; + +/*-----------------* + * Data Structures * + \*---------------*/ +class SAFETY_SICK_S3000_DATA : public NMLmsg +{ +public: + SAFETY_SICK_S3000_DATA(); + void update(CMS *); + double time; // time-stamp + int nSamples; // number of pulses / samples (i.e. 761) + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY (float, + range_m, + SAFETY_SICK_S3000_RANGE_LEN); // in [m] + DECLARE_NML_DYNAMIC_LENGTH_ARRAY (float, + xyz_m, + SAFETY_SICK_S3000_XYZ_LEN); // in [m] +}; + + + +/*--------------------* + * Function Prototype * + \*------------------*/ +int sicksafetyData_format (NMLTYPE type, void *buf, CMS *cms); + + +#endif // SICKSAFETYDATA_HH diff --git a/examples/packed_file_display/sicksafety_000007.SAFETY_SICK_S3000_DATA b/examples/packed_file_display/sicksafety_000007.SAFETY_SICK_S3000_DATA new file mode 100644 index 0000000..ddb8645 Binary files /dev/null and b/examples/packed_file_display/sicksafety_000007.SAFETY_SICK_S3000_DATA differ diff --git a/examples/packed_file_display/sr2s_000003.LADAR_DATA b/examples/packed_file_display/sr2s_000003.LADAR_DATA new file mode 100644 index 0000000..1850921 Binary files /dev/null and b/examples/packed_file_display/sr2s_000003.LADAR_DATA differ diff --git a/examples/rcs_single_dir/.ec b/examples/rcs_single_dir/.ec new file mode 100755 index 0000000..21a3958 --- /dev/null +++ b/examples/rcs_single_dir/.ec @@ -0,0 +1,2 @@ +$* +${SHELL} diff --git a/examples/rcs_single_dir/GNUmakefile b/examples/rcs_single_dir/GNUmakefile new file mode 100644 index 0000000..5a16fbe --- /dev/null +++ b/examples/rcs_single_dir/GNUmakefile @@ -0,0 +1,92 @@ +# Makefile automatically generated by rcsdesign on +# Sun Mar 06 10:46:50 EST 2005 for /home/shackle/rcslib/examples/rcs_single_dir + +# Set the main RCS Library Directory +ifndef RCSLIB_DIR +RCSLIB_DIR=../.. +endif + +ifdef PLAT +PLAT_INC_FLAG=-I$(RCSLIB_DIR)/plat/$(PLAT)/include +PLAT_LIB_FLAG=-L$(RCSLIB_DIR)/plat/$(PLAT)/lib +endif + +ifeq ($(MSYSTEM),MINGW32) +EXTRA_LIBS:=$(EXTRA_LIBS) -lws2_32 +endif + +ifeq ($(TERM),cygwin) +EXTRA_LIBS:=$(EXTRA_LIBS) -lws2_32 +endif + + +CPPFLAGS:=$(CPPFLAGS) -I $(RCSLIB_DIR)/include -I /usr/local/include $(PLAT_INC_FLAG) -I ../../src -I ../../src/os_intf -I ../../src/posemath -I ../../src/cms -I ../../src/node -I ../../src/print -I ../../src/stg_clss + + +LIBS:=$(LIBS) -L$(RCSLIB_DIR)/lib -L/usr/local/lib -L$(RCSLIB_DIR)/.libs -L$(RCSLIB_DIR) $(PLAT_LIB_FLAG) -lrcs -lposemath $(EXTRA_LIBS) + +ifndef JAVA +JAVA=java +endif + +ifndef RANLIB +RANLIB=ranlib +endif + +ifndef AR +AR=ar +endif + +ifndef CXX +CXX=g++ +endif + +ifndef NML_CODEGEN +NML_CODEGEN=$(JAVA) -jar $(RCSLIB_DIR)/plat/java/lib/CodeGenCmdLine.jar +endif + +APPNAME=rcs_single_dir +SVRS = rcs_single_dir robot_super wm sp bgprimservo +LOOPS = bg prim rcs_single_dir robot_super servo sp wm +SVRS = robot_super sp wm bgprimservo +LOOPS = bg prim robot_super servo sp wm +MODULES = bg prim robot_super servo sp wm +NMLS = my_app_common_status \ + bg pose_data obstacle_map prim robot_super servo sp sensor_data wm servo_stat_cfg servo_cmd_set + + +SERVERS_LIST=$(SVRS:%=%svr) +MAINS_LIST=$(LOOPS:%=%main) +MODULES_O_LIST=$(MODULES:%=%_module.o) +NML_O_LIST=$(NMLS:%=%n_n.o) +NML_A=lib$(APPNAME)_nml.a +MODULE_A=lib$(APPNAME)_module.a + +all: $(SERVERS_LIST) $(MAINS_LIST) + +.PHONY: all + +.PRECIOUS: %n_n.cc + +%n_n.cc: %n.hh + $(NML_CODEGEN) $^ + +$(NML_A): $(NML_O_LIST) + $(AR) cr $@ $^ + $(RANLIB) $@ + +$(MODULE_A): $(MODULES_O_LIST) + $(AR) cr $@ $^ + $(RANLIB) $@ + +%svr: %svr.o $(NML_A) + $(CXX) $^ $(LIBS) $(CXXFLAGS) -o $@ + +%main: %main.o $(MODULE_A) $(NML_A) + $(CXX) $^ $(LIBS) $(CXXFLAGS) -o $@ + +clean: + -\rm -f *n_n.cc *.o lib*.a lib*.so lib*.la *.lib *.ddll *.obj *.exe *main *svr + +.PHONY: clean + diff --git a/examples/rcs_single_dir/bg.hh b/examples/rcs_single_dir/bg.hh new file mode 100644 index 0000000..7f86079 --- /dev/null +++ b/examples/rcs_single_dir/bg.hh @@ -0,0 +1,99 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +bg.hh + +This C++ header file defines the class BG_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:50 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:19 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef BG_HH +#define BG_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "bgn.hh" // NML Commands and Status definitions for bg +#include "primn.hh" // NML Status definitions for prim + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +#include "obstacle_mapn.hh" // NML Messages for obstacle_map +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class BG_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + BG_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(BG_CONFIG *); + virtual void GOTO_GOAL(BG_GOTO_GOAL *); + virtual void HALT(BG_HALT *); + virtual void INIT(BG_INIT *); + + // Convenience Variables + BG_STATUS *bg_status; + int prim_sub_num; + PRIM_STATUS *prim_status; + + // auxiliary Input NML Channels + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG *pose_data_data; // NML Data for pose_data + NML *OBSTACLE_MAP_CHANNEL; // NML Channel for obstacle_map + OBSTACLE_MAP_MSG *obstacle_map_data; // NML Data for obstacle_map + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // BG_HH + + + diff --git a/examples/rcs_single_dir/bg_module.cc b/examples/rcs_single_dir/bg_module.cc new file mode 100644 index 0000000..aad996d --- /dev/null +++ b/examples/rcs_single_dir/bg_module.cc @@ -0,0 +1,304 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +bg.cc + +This C++ file defines member functions for the class BG_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:50 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:19 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "bg.hh" // BG_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "bgn.hh" // NML Commands and Status definitions for bg +#include "primn.hh" // NML Commands and Status definitions for prim + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +#include "obstacle_mapn.hh" // NML Messages for obstacle_map +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Constructor +BG_MODULE::BG_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void BG_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "bg", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(bgFormat, "bg_cmd", "bg", "rcs_single_dir.nml")); + bg_status = new BG_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(bgFormat, "bg_sts", "bg", "rcs_single_dir.nml"), bg_status); + + prim_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(primFormat, "prim_cmd", "bg", "rcs_single_dir.nml"), + new RCS_STAT_CHANNEL(primFormat, "prim_sts", "bg", "rcs_single_dir.nml")); + prim_status = (PRIM_STATUS *) statusInData[prim_sub_num]; + + // auxiliary Input NML Channels + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "bg", "rcs_single_dir.nml"); + pose_data_data = (POSE_DATA_MSG *) POSE_DATA_CHANNEL->get_address(); + //obstacle_map + OBSTACLE_MAP_CHANNEL = new NML(obstacle_mapFormat, "obstacle_map", "bg", "rcs_single_dir.nml"); + obstacle_map_data = (OBSTACLE_MAP_MSG *) OBSTACLE_MAP_CHANNEL->get_address(); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void BG_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Read new data from pose_data + POSE_DATA_CHANNEL->read(); + // Read new data from obstacle_map + OBSTACLE_MAP_CHANNEL->read(); + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void BG_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case BG_INIT_TYPE: + INIT((BG_INIT *)commandInData); + break; + + case BG_HALT_TYPE: + HALT((BG_HALT *)commandInData); + break; + + case BG_CONFIG_TYPE: + CONFIG((BG_CONFIG *)commandInData); + break; + + case BG_GOTO_GOAL_TYPE: + GOTO_GOAL((BG_GOTO_GOAL *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void BG_MODULE::POST_PROCESS() +{ + // Post-Processing Code + bg_status->common_int_var++; +} + +// Command Functions + +/* +INIT + +Parameter(s): +BG_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void BG_MODULE::INIT(BG_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + PRIM_INIT primInitMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&primInitMsg, prim_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + prim_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +BG_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void BG_MODULE::HALT(BG_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + PRIM_HALT primHaltMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&primHaltMsg, prim_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + prim_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +BG_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void BG_MODULE::CONFIG(BG_CONFIG *cmd_in) +{ + // Put state table for BG_CONFIG here. +} + +/* +GOTO_GOAL + +Parameter(s): +BG_GOTO_GOAL *cmd_in -- NML Message sent from superior. + +*/ +void BG_MODULE::GOTO_GOAL(BG_GOTO_GOAL *cmd_in) +{ + // Put state table for BG_GOTO_GOAL here. +} + diff --git a/examples/rcs_single_dir/bgmain.cc b/examples/rcs_single_dir/bgmain.cc new file mode 100644 index 0000000..8bdb33f --- /dev/null +++ b/examples/rcs_single_dir/bgmain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + bgmain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + BG_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:50 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "bg.hh" // definition of BG_MODULE + +// flag signifying main loop is to terminate +int bg_done = 0; + +//signal handler for ^C +extern "C" void bg_quit(int sig); +void bg_quit(int sig) +{ + bg_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int bg_run(); + +int bg_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.1); + BG_MODULE *bg = new BG_MODULE(); + + // set the SIGINT handler + signal(SIGINT, bg_quit); + + // enter main loop + while(!bg_done) + { + bg->controller(); + + timer->wait(); + } + + // Delete Modules + delete bg; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/bgn.hh b/examples/rcs_single_dir/bgn.hh new file mode 100644 index 0000000..78a97c3 --- /dev/null +++ b/examples/rcs_single_dir/bgn.hh @@ -0,0 +1,146 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +bgn.hh + +This C++ header file defines the NML Messages used for command and status by BG_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:50 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:19 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:07 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef BGN_HH +#define BGN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define BG_STATUS_TYPE 4000 +#define BG_CONFIG_TYPE 4001 +#define BG_GOTO_GOAL_TYPE 4002 +#define BG_HALT_TYPE 4003 +#define BG_INIT_TYPE 4004 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +#include "my_app_common_statusn.hh" + +// Status Class +class BG_STATUS : public MY_APP_COMMON_STAT_MSG +{ +public: + + // Normal Constructor + BG_STATUS(); + + // Constructor used by derived classes + BG_STATUS(NMLTYPE t, size_t s) : MY_APP_COMMON_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Command Classes + +class BG_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + BG_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class BG_GOTO_GOAL : public RCS_CMD_MSG +{ +public: + + //Constructor + BG_GOTO_GOAL(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN goal; + +}; + +class BG_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + BG_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class BG_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + BG_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int bgFormat(NMLTYPE, void *, CMS *); + +#endif // BGN_HH diff --git a/examples/rcs_single_dir/bgn_c_n.c b/examples/rcs_single_dir/bgn_c_n.c new file mode 100644 index 0000000..ce498ec --- /dev/null +++ b/examples/rcs_single_dir/bgn_c_n.c @@ -0,0 +1,323 @@ +/* +* New C++ File starts here. +* This file should be named bgn_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "bgn_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_BG_CONFIG_update(struct cms_c_struct *cms, nml_BG_CONFIG_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_BG_GOTO_GOAL_update(struct cms_c_struct *cms, nml_BG_GOTO_GOAL_c_t *x); +void cms_BG_HALT_update(struct cms_c_struct *cms, nml_BG_HALT_c_t *x); +void cms_BG_INIT_update(struct cms_c_struct *cms, nml_BG_INIT_c_t *x); +void cms_BG_STATUS_update(struct cms_c_struct *cms, nml_BG_STATUS_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_bg_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(bg_c_format, buf,proc,cfg); +} + +int nml_bg_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_bg_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_bg_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_bg_BG_CONFIG_write(long nml_id, const nml_BG_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 4001,sizeof(nml_BG_CONFIG_c_t)); +} + +nml_BG_CONFIG_c_t * nml_bg_BG_CONFIG_get_msg(long nml_id){ + return (nml_BG_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_bg_BG_GOTO_GOAL_write(long nml_id, const nml_BG_GOTO_GOAL_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 4002,sizeof(nml_BG_GOTO_GOAL_c_t)); +} + +nml_BG_GOTO_GOAL_c_t * nml_bg_BG_GOTO_GOAL_get_msg(long nml_id){ + return (nml_BG_GOTO_GOAL_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_bg_BG_HALT_write(long nml_id, const nml_BG_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 4003,sizeof(nml_BG_HALT_c_t)); +} + +nml_BG_HALT_c_t * nml_bg_BG_HALT_get_msg(long nml_id){ + return (nml_BG_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_bg_BG_INIT_write(long nml_id, const nml_BG_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 4004,sizeof(nml_BG_INIT_c_t)); +} + +nml_BG_INIT_c_t * nml_bg_BG_INIT_get_msg(long nml_id){ + return (nml_BG_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_bg_BG_STATUS_write(long nml_id, const nml_BG_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 4000,sizeof(nml_BG_STATUS_c_t)); +} + +nml_BG_STATUS_c_t * nml_bg_BG_STATUS_get_msg(long nml_id){ + return (nml_BG_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_BG_C_NAME_LENGTH +#define MAX_BG_C_NAME_LENGTH 13 +#endif +#ifndef BG_C_NAME_LIST_LENGTH +#define BG_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char bg_c_name_list[BG_C_NAME_LIST_LENGTH][MAX_BG_C_NAME_LENGTH]= { + "BG_CONFIG", /* 0,4001 */ + "BG_GOTO_GOAL", /* 1,4002 */ + "BG_HALT", /* 2,4003 */ + "BG_INIT", /* 3,4004 */ + "BG_STATUS", /* 4,4000 */ + ""}; +const NMLTYPE bg_c_id_list[BG_C_NAME_LIST_LENGTH]= { + BG_CONFIG_TYPE, /* 0,4001 */ + BG_GOTO_GOAL_TYPE, /* 1,4002 */ + BG_HALT_TYPE, /* 2,4003 */ + BG_INIT_TYPE, /* 3,4004 */ + BG_STATUS_TYPE, /* 4,4000 */ + -1}; +const size_t bg_c_size_list[BG_C_NAME_LIST_LENGTH]= { + sizeof(nml_BG_CONFIG_c_t), + sizeof(nml_BG_GOTO_GOAL_c_t), + sizeof(nml_BG_HALT_c_t), + sizeof(nml_BG_INIT_c_t), + sizeof(nml_BG_STATUS_c_t), + 0}; +const char *bg_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *bg_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)bg_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : bg_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +int bg_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"bg_c", + (cms_symbol_lookup_function_t) bg_c_symbol_lookup, + (const char **)bg_c_name_list, + bg_c_id_list,bg_c_size_list, + BG_C_NAME_LIST_LENGTH, + MAX_BG_C_NAME_LENGTH); + + switch(type) + { + case BG_CONFIG_TYPE: + cms_BG_CONFIG_update(cms,(nml_BG_CONFIG_c_t *) buffer); + break; + case BG_GOTO_GOAL_TYPE: + cms_BG_GOTO_GOAL_update(cms,(nml_BG_GOTO_GOAL_c_t *) buffer); + break; + case BG_HALT_TYPE: + cms_BG_HALT_update(cms,(nml_BG_HALT_c_t *) buffer); + break; + case BG_INIT_TYPE: + cms_BG_INIT_update(cms,(nml_BG_INIT_c_t *) buffer); + break; + case BG_STATUS_TYPE: + cms_BG_STATUS_update(cms,(nml_BG_STATUS_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *bg_c_symbol_lookup(long type) +{ + switch(type) + { + case BG_CONFIG_TYPE: + return "BG_CONFIG"; + case BG_GOTO_GOAL_TYPE: + return "BG_GOTO_GOAL"; + case BG_HALT_TYPE: + return "BG_HALT"; + case BG_INIT_TYPE: + return "BG_INIT"; + case BG_STATUS_TYPE: + return "BG_STATUS"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for BG_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +void cms_BG_HALT_update(struct cms_c_struct *cms, nml_BG_HALT_c_t *x) +{ + + cms_begin_class(cms,"BG_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"BG_HALT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for BG_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +void cms_BG_STATUS_update(struct cms_c_struct *cms, nml_BG_STATUS_c_t *x) +{ + + cms_begin_class(cms,"BG_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"BG_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for BG_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +void cms_BG_INIT_update(struct cms_c_struct *cms, nml_BG_INIT_c_t *x) +{ + + cms_begin_class(cms,"BG_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"BG_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for BG_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +void cms_BG_CONFIG_update(struct cms_c_struct *cms, nml_BG_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"BG_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"BG_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for BG_GOTO_GOAL +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:15 EST 2006 +*/ +void cms_BG_GOTO_GOAL_update(struct cms_c_struct *cms, nml_BG_GOTO_GOAL_c_t *x) +{ + + cms_begin_class(cms,"BG_GOTO_GOAL","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + cms_begin_class_var(cms,"goal"); + cms_PM_CARTESIAN_update(cms, ( nml_PM_CARTESIAN_c_t *) &(x->goal)); + cms_end_class_var(cms,"goal"); + + cms_end_class(cms,"BG_GOTO_GOAL","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/bgn_c_n.h b/examples/rcs_single_dir/bgn_c_n.h new file mode 100644 index 0000000..bba1721 --- /dev/null +++ b/examples/rcs_single_dir/bgn_c_n.h @@ -0,0 +1,154 @@ +/* +* New C++ Header File starts here. +* This file should be named bgn_c_n.h +*/ + +#ifndef bgn_c_n_h_included +#define bgn_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module bg_nml +%{ +#include "bgn_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef BG_CONFIG_TYPE +#define BG_CONFIG_TYPE 4001 +#endif + +typedef struct { + int serial_number; +} nml_BG_CONFIG_c_t; + +#ifndef BG_HALT_TYPE +#define BG_HALT_TYPE 4003 +#endif + +typedef struct { + int serial_number; +} nml_BG_HALT_c_t; + +#ifndef BG_INIT_TYPE +#define BG_INIT_TYPE 4004 +#endif + +typedef struct { + int serial_number; +} nml_BG_INIT_c_t; + +#ifndef BG_STATUS_TYPE +#define BG_STATUS_TYPE 4000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_BG_STATUS_c_t; + +#ifndef BG_GOTO_GOAL_TYPE +#define BG_GOTO_GOAL_TYPE 4002 +#endif + +typedef struct { + int serial_number; + nml_PM_CARTESIAN_c_t goal; +} nml_BG_GOTO_GOAL_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_BG_CONFIG_update(struct cms_c_struct *cms, nml_BG_CONFIG_c_t *x); +void cms_BG_HALT_update(struct cms_c_struct *cms, nml_BG_HALT_c_t *x); +void cms_BG_INIT_update(struct cms_c_struct *cms, nml_BG_INIT_c_t *x); +void cms_BG_STATUS_update(struct cms_c_struct *cms, nml_BG_STATUS_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_BG_GOTO_GOAL_update(struct cms_c_struct *cms, nml_BG_GOTO_GOAL_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_BG_C_NAME_LENGTH +#define MAX_BG_C_NAME_LENGTH 13 +#endif +#ifndef BG_C_NAME_LIST_LENGTH +#define BG_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char bg_c_name_list[BG_C_NAME_LIST_LENGTH][MAX_BG_C_NAME_LENGTH]; +extern const NMLTYPE bg_c_id_list[BG_C_NAME_LIST_LENGTH]; +extern const size_t bg_c_size_list[BG_C_NAME_LIST_LENGTH]; +extern const char *bg_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *bg_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int bg_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_bg_open(const char *buf, const char *proc, const char *cfg); +extern void nml_bg_close(long nml_id); +extern int nml_bg_read(long nml_id); +extern int nml_bg_valid(long nml_id); +extern int nml_bg_BG_CONFIG_write(long nml_id, const nml_BG_CONFIG_c_t *msg);extern nml_BG_CONFIG_c_t * nml_bg_BG_CONFIG_get_msg(long nml_id);extern int nml_bg_BG_HALT_write(long nml_id, const nml_BG_HALT_c_t *msg);extern nml_BG_HALT_c_t * nml_bg_BG_HALT_get_msg(long nml_id);extern int nml_bg_BG_INIT_write(long nml_id, const nml_BG_INIT_c_t *msg);extern nml_BG_INIT_c_t * nml_bg_BG_INIT_get_msg(long nml_id);extern int nml_bg_BG_STATUS_write(long nml_id, const nml_BG_STATUS_c_t *msg);extern nml_BG_STATUS_c_t * nml_bg_BG_STATUS_get_msg(long nml_id);extern int nml_bg_BG_GOTO_GOAL_write(long nml_id, const nml_BG_GOTO_GOAL_c_t *msg);extern nml_BG_GOTO_GOAL_c_t * nml_bg_BG_GOTO_GOAL_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif bgn_c_n_h_included */ + diff --git a/examples/rcs_single_dir/bgn_n_codegen_protos.hh b/examples/rcs_single_dir/bgn_n_codegen_protos.hh new file mode 100644 index 0000000..ff777c6 --- /dev/null +++ b/examples/rcs_single_dir/bgn_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named bgn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=bgn.hh +* +* .gen script : +* 0:load bgn.hh +* 1:clear +* 2:select_from_file bgn.hh +* 3:generate C++ protos>bgn_n_codegen_protos.hh +* 4:generate C++ format>bgn_n.cc +* 5:generate C++ update>bgn_n.cc +* 6:generate C++ constructor>bgn_n.cc +* 7:exit +* +*/ + +#ifndef bgn_n_codegen_protos_hh_included +#define bgn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "bgn.hh" +#include "my_app_common_statusn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_BGNAME_LENGTH +#define MAX_BGNAME_LENGTH 13 +#endif +#ifndef BGNAME_LIST_LENGTH +#define BGNAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE bgid_list[BGNAME_LIST_LENGTH]; +extern const size_t bgsize_list[BGNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int bgFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif bgn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/bgprimservosvr.cc b/examples/rcs_single_dir/bgprimservosvr.cc new file mode 100644 index 0000000..d4c6656 --- /dev/null +++ b/examples/rcs_single_dir/bgprimservosvr.cc @@ -0,0 +1,222 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + bgprimservosvr.cc + + This C++ file provides a main routin to start an NML server for this application + It connects to all of the NML channels used by this application. + If they are all valid it will call run_nml_servers(), otherwise it will exit immediately. + + MODIFICATIONS: + Sun Mar 06 10:46:50 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include "rcs.hh" // Common RCS definitions +#include "bgn.hh" // NML Commands and Status definitions for bg +#include "primn.hh" // NML Commands and Status definitions for prim +#include "servon.hh" // NML Commands and Status definitions for servo +#include "pose_datan.hh" // pose_dataFormat + +#define TEST_SET_CFG_STUFF + +#ifdef TEST_SET_CFG_STUFF +#include "offsets.hh" +#include "servo_cmd_setn.hh" +#include "servo_stat_cfgn.hh" +#endif + +// NML Channel Pointers +static RCS_CMD_CHANNEL *bg_cmd = NULL; +static RCS_STAT_CHANNEL *bg_stat = NULL; +static RCS_CMD_CHANNEL *prim_cmd = NULL; +static RCS_STAT_CHANNEL *prim_stat = NULL; +static RCS_CMD_CHANNEL *servo_cmd = NULL; +static RCS_STAT_CHANNEL *servo_stat = NULL; +static RCS_CMD_CHANNEL *servo_cmd_set = NULL; +static RCS_STAT_CHANNEL *servo_stat_cfg = NULL; +static NML *pose_data= NULL; +static NML *errlog = NULL; + +static int InitNML() +{ + + + // bg + bg_cmd = new RCS_CMD_CHANNEL(bgFormat, "bg_cmd", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == bg_cmd) + return -1; + if(!bg_cmd->valid()) + return -1; + + bg_stat = new RCS_STAT_CHANNEL(bgFormat, "bg_sts", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == bg_stat) + return -1; + if(!bg_stat->valid()) + return -1; + + + // prim + prim_cmd = new RCS_CMD_CHANNEL(primFormat, "prim_cmd", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == prim_cmd) + return -1; + if(!prim_cmd->valid()) + return -1; + + prim_stat = new RCS_STAT_CHANNEL(primFormat, "prim_sts", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == prim_stat) + return -1; + if(!prim_stat->valid()) + return -1; + + + // servo + servo_cmd = new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == servo_cmd) + return -1; + if(!servo_cmd->valid()) + return -1; + + servo_stat = new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == servo_stat) + return -1; + if(!servo_stat->valid()) + return -1; + + +#ifdef TEST_SET_CFG_STUFF + servo_cmd_set = new RCS_CMD_CHANNEL(servo_cmd_set_format, "servo_cmd_set", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == servo_cmd_set) + return -1; + if(!servo_cmd_set->valid()) + return -1; + + servo_stat_cfg = new RCS_STAT_CHANNEL(servo_stat_cfg_format, "servo_stat_cfg", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == servo_stat_cfg) + return -1; + if(!servo_stat_cfg->valid()) + return -1; + +#endif + + + pose_data = new NML(pose_dataFormat, "pose_data", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == pose_data) + return -1; + if(!pose_data->valid()) + return -1; + + errlog = new NML(nmlErrorFormat, "errlog", "bgprimservosvr", "rcs_single_dir.nml"); + if(NULL == errlog) + return -1; + if(!errlog->valid()) + return -1; + + return 0; +} + +static void DeleteNML() +{ + + // bg + if(NULL != bg_cmd) + { + delete bg_cmd; + bg_cmd = NULL; + } + + if(NULL != bg_stat) + { + delete bg_stat; + bg_stat = NULL; + } + + + // prim + if(NULL != prim_cmd) + { + delete prim_cmd; + prim_cmd = NULL; + } + + if(NULL != prim_stat) + { + delete prim_stat; + prim_stat = NULL; + } + + + // servo + if(NULL != servo_cmd) + { + delete servo_cmd; + servo_cmd = NULL; + } + + if(NULL != servo_stat) + { + delete servo_stat; + servo_stat = NULL; + } + + + if(NULL != pose_data) + { + delete pose_data; + pose_data = NULL; + } + + if(NULL != errlog) + { + delete errlog; + errlog = NULL; + } + +} + +// Main +#ifdef VXWORKS +extern "C" int bgprimservosvr_run(); + +int bgprimservosvr_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + if(InitNML() < 0) + { + DeleteNML(); + return(-1); + } + + run_nml_servers(); + +} + diff --git a/examples/rcs_single_dir/diag_script.bash b/examples/rcs_single_dir/diag_script.bash new file mode 100755 index 0000000..7938617 --- /dev/null +++ b/examples/rcs_single_dir/diag_script.bash @@ -0,0 +1,92 @@ +#!/bin/bash + +# This is a bash shell script that demonstrates using the +# diagtool to script sending simple commands to the application. + +# Possible commands include +# connect +# -- wait until connected +# module +# -- select module +# = = +# -- Send command to module with given pameter values. +# -- ie goto_point point.x=4 +# -- which commands are available depend on the app and which module is selected. +# status +# -- Get the given status variable, if no variable is given all status varaibles are printed. + + +set -x + +rm f1 f2 +touch f1 f2 + + +java -jar ~/rcslib/plat/java/lib/diagapplet.jar rcs_single_dir.cfg no_banner=true f2 & + +exec 3<>f1 +exec 4<>f2 + +#sleep 30 + + +echo "connect" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +echo "module servo" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +echo "goto_point point.x=4" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +sleep 3 + +echo "status status" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + + +echo "status echo_serial_number" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +sleep 3 + +echo "halt" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +echo "status status" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +sleep 3 + +echo "status status" >&3 +read response <&4 +while test "x${response}" = "x" ; do sleep 1; read response <&4 ; done + +echo response = $response + +kill %% + +exec 3>&- +exec 4>&- + diff --git a/examples/rcs_single_dir/my_app_common_statusn.hh b/examples/rcs_single_dir/my_app_common_statusn.hh new file mode 100644 index 0000000..ef3686c --- /dev/null +++ b/examples/rcs_single_dir/my_app_common_statusn.hh @@ -0,0 +1,29 @@ + + +#ifndef MY_APP_COMMON_STATUSN_HH +#define MY_APP_COMMON_STATUSN_HH + +#include "rcs.hh" + +#define MY_APP_COMMON_STAT_MSG_TYPE (0) + +// Status Class +class MY_APP_COMMON_STAT_MSG : public RCS_STAT_MSG +{ +public: + // Constructor used by derived classes + MY_APP_COMMON_STAT_MSG(NMLTYPE t, size_t s) : RCS_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + int common_int_var; + +private: + // Normal Constructor + MY_APP_COMMON_STAT_MSG(): RCS_STAT_MSG(0,0) {}; + +}; + +#endif diff --git a/examples/rcs_single_dir/my_app_common_statusn_n_codegen_protos.hh b/examples/rcs_single_dir/my_app_common_statusn_n_codegen_protos.hh new file mode 100644 index 0000000..91667d0 --- /dev/null +++ b/examples/rcs_single_dir/my_app_common_statusn_n_codegen_protos.hh @@ -0,0 +1,49 @@ +/* +* New C++ Header File starts here. +* This file should be named my_app_common_statusn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=my_app_common_statusn.hh +* +* .gen script : +* 0:load my_app_common_statusn.hh +* 1:clear +* 2:select_from_file my_app_common_statusn.hh +* 3:generate C++ protos>my_app_common_statusn_n_codegen_protos.hh +* 4:generate C++ format>my_app_common_statusn_n.cc +* 5:generate C++ update>my_app_common_statusn_n.cc +* 6:generate C++ constructor>my_app_common_statusn_n.cc +* 7:exit +* +*/ + +#ifndef my_app_common_statusn_n_codegen_protos_hh_included +#define my_app_common_statusn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "my_app_common_statusn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_MY_APP_COMMON_STAT_MSG_NAME_LENGTH +#define MAX_MY_APP_COMMON_STAT_MSG_NAME_LENGTH 1 +#endif +#ifndef MY_APP_COMMON_STAT_MSG_NAME_LIST_LENGTH +#define MY_APP_COMMON_STAT_MSG_NAME_LIST_LENGTH 1 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE MY_APP_COMMON_STAT_MSG_id_list[MY_APP_COMMON_STAT_MSG_NAME_LIST_LENGTH]; +extern const size_t MY_APP_COMMON_STAT_MSG_size_list[MY_APP_COMMON_STAT_MSG_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int MY_APP_COMMON_STAT_MSG_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif my_app_common_statusn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/obstacle_mapn.hh b/examples/rcs_single_dir/obstacle_mapn.hh new file mode 100644 index 0000000..863c156 --- /dev/null +++ b/examples/rcs_single_dir/obstacle_mapn.hh @@ -0,0 +1,71 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +obstacle_mapn.hh + +This C++ header file defines the NML Messages for OBSTACLE_MAP +Template Version 1.1 + +MODIFICATIONS: +Sat Mar 12 06:56:40 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef OBSTACLE_MAPN_HH +#define OBSTACLE_MAPN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Trying to merge the type ids often results in redefinn the ID twice.. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +// Define the integer type ids. +#define OBSTACLE_MAP_MSG_TYPE 114000 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +class OBSTACLE_MAP_MSG : public NMLmsg +{ +public: + + //Constructor + OBSTACLE_MAP_MSG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int obstacle_mapFormat(NMLTYPE, void *, CMS *); + +#endif // OBSTACLE_MAPN_HH diff --git a/examples/rcs_single_dir/obstacle_mapn_c_n.c b/examples/rcs_single_dir/obstacle_mapn_c_n.c new file mode 100644 index 0000000..0e68d74 --- /dev/null +++ b/examples/rcs_single_dir/obstacle_mapn_c_n.c @@ -0,0 +1,131 @@ +/* +* New C++ File starts here. +* This file should be named obstacle_mapn_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "obstacle_mapn_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_OBSTACLE_MAP_MSG_update(struct cms_c_struct *cms, nml_OBSTACLE_MAP_MSG_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_obstacle_map_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(obstacle_map_c_format, buf,proc,cfg); +} + +int nml_obstacle_map_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_obstacle_map_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_obstacle_map_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_obstacle_map_OBSTACLE_MAP_MSG_write(long nml_id, const nml_OBSTACLE_MAP_MSG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 114000,sizeof(nml_OBSTACLE_MAP_MSG_c_t)); +} + +nml_OBSTACLE_MAP_MSG_c_t * nml_obstacle_map_OBSTACLE_MAP_MSG_get_msg(long nml_id){ + return (nml_OBSTACLE_MAP_MSG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_OBSTACLE_MAP_C_NAME_LENGTH +#define MAX_OBSTACLE_MAP_C_NAME_LENGTH 17 +#endif +#ifndef OBSTACLE_MAP_C_NAME_LIST_LENGTH +#define OBSTACLE_MAP_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char obstacle_map_c_name_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH][MAX_OBSTACLE_MAP_C_NAME_LENGTH]= { + "OBSTACLE_MAP_MSG", /* 0,114000 */ + ""}; +const NMLTYPE obstacle_map_c_id_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH]= { + OBSTACLE_MAP_MSG_TYPE, /* 0,114000 */ + -1}; +const size_t obstacle_map_c_size_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH]= { + sizeof(nml_OBSTACLE_MAP_MSG_c_t), + 0}; +const char *obstacle_map_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* +* NML/CMS Format function : obstacle_map_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:17 EST 2006 +*/ +int obstacle_map_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"obstacle_map_c", + (cms_symbol_lookup_function_t) obstacle_map_c_symbol_lookup, + (const char **)obstacle_map_c_name_list, + obstacle_map_c_id_list,obstacle_map_c_size_list, + OBSTACLE_MAP_C_NAME_LIST_LENGTH, + MAX_OBSTACLE_MAP_C_NAME_LENGTH); + + switch(type) + { + case OBSTACLE_MAP_MSG_TYPE: + cms_OBSTACLE_MAP_MSG_update(cms,(nml_OBSTACLE_MAP_MSG_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *obstacle_map_c_symbol_lookup(long type) +{ + switch(type) + { + case OBSTACLE_MAP_MSG_TYPE: + return "OBSTACLE_MAP_MSG"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for OBSTACLE_MAP_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:17 EST 2006 +*/ +void cms_OBSTACLE_MAP_MSG_update(struct cms_c_struct *cms, nml_OBSTACLE_MAP_MSG_c_t *x) +{ + + cms_begin_class(cms,"OBSTACLE_MAP_MSG","NMLmsg"); + + cms_end_class(cms,"OBSTACLE_MAP_MSG","NMLmsg"); + +} + diff --git a/examples/rcs_single_dir/obstacle_mapn_c_n.h b/examples/rcs_single_dir/obstacle_mapn_c_n.h new file mode 100644 index 0000000..ca206f6 --- /dev/null +++ b/examples/rcs_single_dir/obstacle_mapn_c_n.h @@ -0,0 +1,84 @@ +/* +* New C++ Header File starts here. +* This file should be named obstacle_mapn_c_n.h +*/ + +#ifndef obstacle_mapn_c_n_h_included +#define obstacle_mapn_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module obstacle_map_nml +%{ +#include "obstacle_mapn_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +/* Redefine the message classes as C typedef structs. */ + +#ifndef OBSTACLE_MAP_MSG_TYPE +#define OBSTACLE_MAP_MSG_TYPE 114000 +#endif + +typedef struct { +} nml_OBSTACLE_MAP_MSG_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_OBSTACLE_MAP_MSG_update(struct cms_c_struct *cms, nml_OBSTACLE_MAP_MSG_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_OBSTACLE_MAP_C_NAME_LENGTH +#define MAX_OBSTACLE_MAP_C_NAME_LENGTH 17 +#endif +#ifndef OBSTACLE_MAP_C_NAME_LIST_LENGTH +#define OBSTACLE_MAP_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char obstacle_map_c_name_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH][MAX_OBSTACLE_MAP_C_NAME_LENGTH]; +extern const NMLTYPE obstacle_map_c_id_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH]; +extern const size_t obstacle_map_c_size_list[OBSTACLE_MAP_C_NAME_LIST_LENGTH]; +extern const char *obstacle_map_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +extern int obstacle_map_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_obstacle_map_open(const char *buf, const char *proc, const char *cfg); +extern void nml_obstacle_map_close(long nml_id); +extern int nml_obstacle_map_read(long nml_id); +extern int nml_obstacle_map_valid(long nml_id); +extern int nml_obstacle_map_OBSTACLE_MAP_MSG_write(long nml_id, const nml_OBSTACLE_MAP_MSG_c_t *msg);extern nml_OBSTACLE_MAP_MSG_c_t * nml_obstacle_map_OBSTACLE_MAP_MSG_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif obstacle_mapn_c_n_h_included */ + diff --git a/examples/rcs_single_dir/obstacle_mapn_n_codegen_protos.hh b/examples/rcs_single_dir/obstacle_mapn_n_codegen_protos.hh new file mode 100644 index 0000000..852a70a --- /dev/null +++ b/examples/rcs_single_dir/obstacle_mapn_n_codegen_protos.hh @@ -0,0 +1,49 @@ +/* +* New C++ Header File starts here. +* This file should be named obstacle_mapn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=obstacle_mapn.hh +* +* .gen script : +* 0:load obstacle_mapn.hh +* 1:clear +* 2:select_from_file obstacle_mapn.hh +* 3:generate C++ protos>obstacle_mapn_n_codegen_protos.hh +* 4:generate C++ format>obstacle_mapn_n.cc +* 5:generate C++ update>obstacle_mapn_n.cc +* 6:generate C++ constructor>obstacle_mapn_n.cc +* 7:exit +* +*/ + +#ifndef obstacle_mapn_n_codegen_protos_hh_included +#define obstacle_mapn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "obstacle_mapn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_OBSTACLE_MAPNAME_LENGTH +#define MAX_OBSTACLE_MAPNAME_LENGTH 17 +#endif +#ifndef OBSTACLE_MAPNAME_LIST_LENGTH +#define OBSTACLE_MAPNAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE obstacle_mapid_list[OBSTACLE_MAPNAME_LIST_LENGTH]; +extern const size_t obstacle_mapsize_list[OBSTACLE_MAPNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int obstacle_mapFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif obstacle_mapn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/offsets.hh b/examples/rcs_single_dir/offsets.hh new file mode 100644 index 0000000..4f8249e --- /dev/null +++ b/examples/rcs_single_dir/offsets.hh @@ -0,0 +1,36 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +#ifndef OFFSETS_HH +#define OFFSETS_HH + +#define SERVO_STAT_CFG_BASE 117000 +#define SERVO_CMD_SET_BASE 118000 + +#define SENSOR_DATA_BASE 115000 + +struct offset_struct { int i; }; + + +#endif diff --git a/examples/rcs_single_dir/pose_datan.hh b/examples/rcs_single_dir/pose_datan.hh new file mode 100644 index 0000000..087d042 --- /dev/null +++ b/examples/rcs_single_dir/pose_datan.hh @@ -0,0 +1,72 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +pose_datan.hh + +This C++ header file defines the NML Messages for POSE_DATA +Template Version 1.1 + +MODIFICATIONS: +Sat Mar 12 06:58:13 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef POSE_DATAN_HH +#define POSE_DATAN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Trying to merge the type ids often results in redefinn the ID twice.. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +// Define the integer type ids. +#define POSE_DATA_MSG_TYPE 116000 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +class POSE_DATA_MSG : public NMLmsg +{ +public: + + //Constructor + POSE_DATA_MSG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN tran; + PM_RPY rpy; +}; + +// Declare NML format function +extern int pose_dataFormat(NMLTYPE, void *, CMS *); + +#endif // POSE_DATAN_HH diff --git a/examples/rcs_single_dir/pose_datan_c_n.c b/examples/rcs_single_dir/pose_datan_c_n.c new file mode 100644 index 0000000..3d3822e --- /dev/null +++ b/examples/rcs_single_dir/pose_datan_c_n.c @@ -0,0 +1,139 @@ +/* +* New C++ File starts here. +* This file should be named pose_datan_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "pose_datan_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_PM_RPY_update(struct cms_c_struct *cms, nml_PM_RPY_c_t *x); +void cms_POSE_DATA_MSG_update(struct cms_c_struct *cms, nml_POSE_DATA_MSG_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_pose_data_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(pose_data_c_format, buf,proc,cfg); +} + +int nml_pose_data_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_pose_data_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_pose_data_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_pose_data_POSE_DATA_MSG_write(long nml_id, const nml_POSE_DATA_MSG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 116000,sizeof(nml_POSE_DATA_MSG_c_t)); +} + +nml_POSE_DATA_MSG_c_t * nml_pose_data_POSE_DATA_MSG_get_msg(long nml_id){ + return (nml_POSE_DATA_MSG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_POSE_DATA_C_NAME_LENGTH +#define MAX_POSE_DATA_C_NAME_LENGTH 14 +#endif +#ifndef POSE_DATA_C_NAME_LIST_LENGTH +#define POSE_DATA_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char pose_data_c_name_list[POSE_DATA_C_NAME_LIST_LENGTH][MAX_POSE_DATA_C_NAME_LENGTH]= { + "POSE_DATA_MSG", /* 0,116000 */ + ""}; +const NMLTYPE pose_data_c_id_list[POSE_DATA_C_NAME_LIST_LENGTH]= { + POSE_DATA_MSG_TYPE, /* 0,116000 */ + -1}; +const size_t pose_data_c_size_list[POSE_DATA_C_NAME_LIST_LENGTH]= { + sizeof(nml_POSE_DATA_MSG_c_t), + 0}; +const char *pose_data_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* +* NML/CMS Format function : pose_data_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:16 EST 2006 +*/ +int pose_data_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"pose_data_c", + (cms_symbol_lookup_function_t) pose_data_c_symbol_lookup, + (const char **)pose_data_c_name_list, + pose_data_c_id_list,pose_data_c_size_list, + POSE_DATA_C_NAME_LIST_LENGTH, + MAX_POSE_DATA_C_NAME_LENGTH); + + switch(type) + { + case POSE_DATA_MSG_TYPE: + cms_POSE_DATA_MSG_update(cms,(nml_POSE_DATA_MSG_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *pose_data_c_symbol_lookup(long type) +{ + switch(type) + { + case POSE_DATA_MSG_TYPE: + return "POSE_DATA_MSG"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for POSE_DATA_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:16 EST 2006 +*/ +void cms_POSE_DATA_MSG_update(struct cms_c_struct *cms, nml_POSE_DATA_MSG_c_t *x) +{ + + cms_begin_class(cms,"POSE_DATA_MSG","NMLmsg"); + cms_begin_class_var(cms,"tran"); + cms_PM_CARTESIAN_update(cms, ( nml_PM_CARTESIAN_c_t *) &(x->tran)); + cms_end_class_var(cms,"tran"); + cms_begin_class_var(cms,"rpy"); + cms_PM_RPY_update(cms, ( nml_PM_RPY_c_t *) &(x->rpy)); + cms_end_class_var(cms,"rpy"); + + cms_end_class(cms,"POSE_DATA_MSG","NMLmsg"); + +} + diff --git a/examples/rcs_single_dir/pose_datan_c_n.h b/examples/rcs_single_dir/pose_datan_c_n.h new file mode 100644 index 0000000..7875ec1 --- /dev/null +++ b/examples/rcs_single_dir/pose_datan_c_n.h @@ -0,0 +1,88 @@ +/* +* New C++ Header File starts here. +* This file should be named pose_datan_c_n.h +*/ + +#ifndef pose_datan_c_n_h_included +#define pose_datan_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module pose_data_nml +%{ +#include "pose_datan_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +/* Redefine the message classes as C typedef structs. */ + +#ifndef POSE_DATA_MSG_TYPE +#define POSE_DATA_MSG_TYPE 116000 +#endif + +typedef struct { + nml_PM_CARTESIAN_c_t tran; + nml_PM_RPY_c_t rpy; +} nml_POSE_DATA_MSG_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_PM_RPY_update(struct cms_c_struct *cms, nml_PM_RPY_c_t *x); +void cms_POSE_DATA_MSG_update(struct cms_c_struct *cms, nml_POSE_DATA_MSG_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_POSE_DATA_C_NAME_LENGTH +#define MAX_POSE_DATA_C_NAME_LENGTH 14 +#endif +#ifndef POSE_DATA_C_NAME_LIST_LENGTH +#define POSE_DATA_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char pose_data_c_name_list[POSE_DATA_C_NAME_LIST_LENGTH][MAX_POSE_DATA_C_NAME_LENGTH]; +extern const NMLTYPE pose_data_c_id_list[POSE_DATA_C_NAME_LIST_LENGTH]; +extern const size_t pose_data_c_size_list[POSE_DATA_C_NAME_LIST_LENGTH]; +extern const char *pose_data_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +extern int pose_data_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_pose_data_open(const char *buf, const char *proc, const char *cfg); +extern void nml_pose_data_close(long nml_id); +extern int nml_pose_data_read(long nml_id); +extern int nml_pose_data_valid(long nml_id); +extern int nml_pose_data_POSE_DATA_MSG_write(long nml_id, const nml_POSE_DATA_MSG_c_t *msg);extern nml_POSE_DATA_MSG_c_t * nml_pose_data_POSE_DATA_MSG_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif pose_datan_c_n_h_included */ + diff --git a/examples/rcs_single_dir/pose_datan_n_codegen_protos.hh b/examples/rcs_single_dir/pose_datan_n_codegen_protos.hh new file mode 100644 index 0000000..541c096 --- /dev/null +++ b/examples/rcs_single_dir/pose_datan_n_codegen_protos.hh @@ -0,0 +1,49 @@ +/* +* New C++ Header File starts here. +* This file should be named pose_datan_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=pose_datan.hh +* +* .gen script : +* 0:load pose_datan.hh +* 1:clear +* 2:select_from_file pose_datan.hh +* 3:generate C++ protos>pose_datan_n_codegen_protos.hh +* 4:generate C++ format>pose_datan_n.cc +* 5:generate C++ update>pose_datan_n.cc +* 6:generate C++ constructor>pose_datan_n.cc +* 7:exit +* +*/ + +#ifndef pose_datan_n_codegen_protos_hh_included +#define pose_datan_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "pose_datan.hh" + +// Forward Function Prototypes + + +#ifndef MAX_POSE_DATANAME_LENGTH +#define MAX_POSE_DATANAME_LENGTH 14 +#endif +#ifndef POSE_DATANAME_LIST_LENGTH +#define POSE_DATANAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE pose_dataid_list[POSE_DATANAME_LIST_LENGTH]; +extern const size_t pose_datasize_list[POSE_DATANAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int pose_dataFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif pose_datan_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/prim.hh b/examples/rcs_single_dir/prim.hh new file mode 100644 index 0000000..1383686 --- /dev/null +++ b/examples/rcs_single_dir/prim.hh @@ -0,0 +1,96 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +prim.hh + +This C++ header file defines the class PRIM_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:51 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:20 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef PRIM_HH +#define PRIM_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "primn.hh" // NML Commands and Status definitions for prim +#include "servon.hh" // NML Status definitions for servo + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class PRIM_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + PRIM_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(PRIM_CONFIG *); + virtual void FOLLOW_WAYPOINTS(PRIM_FOLLOW_WAYPOINTS *); + virtual void HALT(PRIM_HALT *); + virtual void INIT(PRIM_INIT *); + + // Convenience Variables + PRIM_STATUS *prim_status; + int servo_sub_num; + SERVO_STATUS *servo_status; + + // auxiliary Input NML Channels + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG *pose_data_data; // NML Data for pose_data + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // PRIM_HH + + + diff --git a/examples/rcs_single_dir/prim_module.cc b/examples/rcs_single_dir/prim_module.cc new file mode 100644 index 0000000..4134779 --- /dev/null +++ b/examples/rcs_single_dir/prim_module.cc @@ -0,0 +1,332 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +prim.cc + +This C++ file defines member functions for the class PRIM_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:51 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:20 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "prim.hh" // PRIM_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "primn.hh" // NML Commands and Status definitions for prim +#include "servon.hh" // NML Commands and Status definitions for servo + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Constructor +PRIM_MODULE::PRIM_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void PRIM_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "prim", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(primFormat, "prim_cmd", "prim", "rcs_single_dir.nml")); + prim_status = new PRIM_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(primFormat, "prim_sts", "prim", "rcs_single_dir.nml"), prim_status); + + servo_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "prim", "rcs_single_dir.nml"), + new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "prim", "rcs_single_dir.nml")); + servo_status = (SERVO_STATUS *) statusInData[servo_sub_num]; + + // auxiliary Input NML Channels + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "prim", "rcs_single_dir.nml"); + pose_data_data = (POSE_DATA_MSG *) POSE_DATA_CHANNEL->get_address(); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void PRIM_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Read new data from pose_data + POSE_DATA_CHANNEL->read(); + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void PRIM_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case PRIM_INIT_TYPE: + INIT((PRIM_INIT *)commandInData); + break; + + case PRIM_HALT_TYPE: + HALT((PRIM_HALT *)commandInData); + break; + + case PRIM_CONFIG_TYPE: + CONFIG((PRIM_CONFIG *)commandInData); + break; + + case PRIM_FOLLOW_WAYPOINTS_TYPE: + FOLLOW_WAYPOINTS((PRIM_FOLLOW_WAYPOINTS *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void PRIM_MODULE::POST_PROCESS() +{ + // Post-Processing Code +} + +// Command Functions + +/* +INIT + +Parameter(s): +PRIM_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void PRIM_MODULE::INIT(PRIM_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + SERVO_INIT servoInitMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&servoInitMsg, servo_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + servo_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +PRIM_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void PRIM_MODULE::HALT(PRIM_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + SERVO_HALT servoHaltMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&servoHaltMsg, servo_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + servo_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +PRIM_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void PRIM_MODULE::CONFIG(PRIM_CONFIG *cmd_in) +{ + // Put state table for PRIM_CONFIG here. +} + +/* +FOLLOW_WAYPOINTS + +Parameter(s): +PRIM_FOLLOW_WAYPOINTS *cmd_in -- NML Message sent from superior. + +*/ +void PRIM_MODULE::FOLLOW_WAYPOINTS(PRIM_FOLLOW_WAYPOINTS *cmd_in) +{ + // Put state table for PRIM_FOLLOW_WAYPOINTS here. + if(STATE_MATCH(NEW_COMMAND)) + { + prim_status->waypointsOut_length = + cmd_in->waypoints_length; + for(int i = 0 ; i < prim_status->waypointsOut_length; i++) + { + prim_status->waypointsOut[i] = + cmd_in->waypoints[i]; + } + prim_status->current_waypoint=0; + stateNext(S1); + } + else if(STATE_MATCH(S1)) + { + SERVO_GOTO_POINT sgpMsg; + PM_CARTESIAN diff = servo_status->position - + prim_status->waypointsOut[prim_status->current_waypoint+1]; + double diffMag = mag(diff); + if(diffMag < 0.01) + { + prim_status->current_waypoint++; + if(prim_status->current_waypoint >= prim_status->waypointsOut_length) + { + status=RCS_DONE; + stateNext(S2); + } + sgpMsg.point = prim_status->waypointsOut[prim_status->current_waypoint]; + } + else + { + sgpMsg.point = servo_status->position + + diff*(0.01/diffMag); + } + sendCommand(&sgpMsg,servo_sub_num); + } +} + diff --git a/examples/rcs_single_dir/primmain.cc b/examples/rcs_single_dir/primmain.cc new file mode 100644 index 0000000..0bdb6e8 --- /dev/null +++ b/examples/rcs_single_dir/primmain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + primmain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + PRIM_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:51 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "prim.hh" // definition of PRIM_MODULE + +// flag signifying main loop is to terminate +int prim_done = 0; + +//signal handler for ^C +extern "C" void prim_quit(int sig); +void prim_quit(int sig) +{ + prim_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int prim_run(); + +int prim_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.05); + PRIM_MODULE *prim = new PRIM_MODULE(); + + // set the SIGINT handler + signal(SIGINT, prim_quit); + + // enter main loop + while(!prim_done) + { + prim->controller(); + + timer->wait(); + } + + // Delete Modules + delete prim; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/primn.hh b/examples/rcs_single_dir/primn.hh new file mode 100644 index 0000000..4cce426 --- /dev/null +++ b/examples/rcs_single_dir/primn.hh @@ -0,0 +1,146 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +primn.hh + +This C++ header file defines the NML Messages used for command and status by PRIM_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:51 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:20 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:07 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef PRIMN_HH +#define PRIMN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define PRIM_STATUS_TYPE 5000 +#define PRIM_CONFIG_TYPE 5001 +#define PRIM_FOLLOW_WAYPOINTS_TYPE 5002 +#define PRIM_HALT_TYPE 5003 +#define PRIM_INIT_TYPE 5004 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +// Status Class +class PRIM_STATUS : public RCS_STAT_MSG +{ +public: + + // Normal Constructor + PRIM_STATUS(); + + // Constructor used by derived classes + PRIM_STATUS(NMLTYPE t, size_t s) : RCS_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + int current_waypoint; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN, waypointsOut, 1000); + +}; + +// Command Classes + +class PRIM_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + PRIM_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class PRIM_FOLLOW_WAYPOINTS : public RCS_CMD_MSG +{ +public: + + //Constructor + PRIM_FOLLOW_WAYPOINTS(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN, waypoints, 1000); + +}; + +class PRIM_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + PRIM_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class PRIM_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + PRIM_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int primFormat(NMLTYPE, void *, CMS *); + +#endif // PRIMN_HH diff --git a/examples/rcs_single_dir/primn_c_n.c b/examples/rcs_single_dir/primn_c_n.c new file mode 100644 index 0000000..41a2820 --- /dev/null +++ b/examples/rcs_single_dir/primn_c_n.c @@ -0,0 +1,335 @@ +/* +* New C++ File starts here. +* This file should be named primn_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "primn_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_PRIM_CONFIG_update(struct cms_c_struct *cms, nml_PRIM_CONFIG_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_PRIM_FOLLOW_WAYPOINTS_update(struct cms_c_struct *cms, nml_PRIM_FOLLOW_WAYPOINTS_c_t *x); +void cms_PRIM_HALT_update(struct cms_c_struct *cms, nml_PRIM_HALT_c_t *x); +void cms_PRIM_INIT_update(struct cms_c_struct *cms, nml_PRIM_INIT_c_t *x); +void cms_PRIM_STATUS_update(struct cms_c_struct *cms, nml_PRIM_STATUS_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_prim_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(prim_c_format, buf,proc,cfg); +} + +int nml_prim_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_prim_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_prim_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_prim_PRIM_CONFIG_write(long nml_id, const nml_PRIM_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 5001,sizeof(nml_PRIM_CONFIG_c_t)); +} + +nml_PRIM_CONFIG_c_t * nml_prim_PRIM_CONFIG_get_msg(long nml_id){ + return (nml_PRIM_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_prim_PRIM_FOLLOW_WAYPOINTS_write(long nml_id, const nml_PRIM_FOLLOW_WAYPOINTS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 5002,sizeof(nml_PRIM_FOLLOW_WAYPOINTS_c_t)); +} + +nml_PRIM_FOLLOW_WAYPOINTS_c_t * nml_prim_PRIM_FOLLOW_WAYPOINTS_get_msg(long nml_id){ + return (nml_PRIM_FOLLOW_WAYPOINTS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_prim_PRIM_HALT_write(long nml_id, const nml_PRIM_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 5003,sizeof(nml_PRIM_HALT_c_t)); +} + +nml_PRIM_HALT_c_t * nml_prim_PRIM_HALT_get_msg(long nml_id){ + return (nml_PRIM_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_prim_PRIM_INIT_write(long nml_id, const nml_PRIM_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 5004,sizeof(nml_PRIM_INIT_c_t)); +} + +nml_PRIM_INIT_c_t * nml_prim_PRIM_INIT_get_msg(long nml_id){ + return (nml_PRIM_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_prim_PRIM_STATUS_write(long nml_id, const nml_PRIM_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 5000,sizeof(nml_PRIM_STATUS_c_t)); +} + +nml_PRIM_STATUS_c_t * nml_prim_PRIM_STATUS_get_msg(long nml_id){ + return (nml_PRIM_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_PRIM_C_NAME_LENGTH +#define MAX_PRIM_C_NAME_LENGTH 22 +#endif +#ifndef PRIM_C_NAME_LIST_LENGTH +#define PRIM_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char prim_c_name_list[PRIM_C_NAME_LIST_LENGTH][MAX_PRIM_C_NAME_LENGTH]= { + "PRIM_CONFIG", /* 0,5001 */ + "PRIM_FOLLOW_WAYPOINTS", /* 1,5002 */ + "PRIM_HALT", /* 2,5003 */ + "PRIM_INIT", /* 3,5004 */ + "PRIM_STATUS", /* 4,5000 */ + ""}; +const NMLTYPE prim_c_id_list[PRIM_C_NAME_LIST_LENGTH]= { + PRIM_CONFIG_TYPE, /* 0,5001 */ + PRIM_FOLLOW_WAYPOINTS_TYPE, /* 1,5002 */ + PRIM_HALT_TYPE, /* 2,5003 */ + PRIM_INIT_TYPE, /* 3,5004 */ + PRIM_STATUS_TYPE, /* 4,5000 */ + -1}; +const size_t prim_c_size_list[PRIM_C_NAME_LIST_LENGTH]= { + sizeof(nml_PRIM_CONFIG_c_t), + sizeof(nml_PRIM_FOLLOW_WAYPOINTS_c_t), + sizeof(nml_PRIM_HALT_c_t), + sizeof(nml_PRIM_INIT_c_t), + sizeof(nml_PRIM_STATUS_c_t), + 0}; +const char *prim_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *prim_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)prim_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : prim_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +int prim_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"prim_c", + (cms_symbol_lookup_function_t) prim_c_symbol_lookup, + (const char **)prim_c_name_list, + prim_c_id_list,prim_c_size_list, + PRIM_C_NAME_LIST_LENGTH, + MAX_PRIM_C_NAME_LENGTH); + + switch(type) + { + case PRIM_CONFIG_TYPE: + cms_PRIM_CONFIG_update(cms,(nml_PRIM_CONFIG_c_t *) buffer); + break; + case PRIM_FOLLOW_WAYPOINTS_TYPE: + cms_PRIM_FOLLOW_WAYPOINTS_update(cms,(nml_PRIM_FOLLOW_WAYPOINTS_c_t *) buffer); + break; + case PRIM_HALT_TYPE: + cms_PRIM_HALT_update(cms,(nml_PRIM_HALT_c_t *) buffer); + break; + case PRIM_INIT_TYPE: + cms_PRIM_INIT_update(cms,(nml_PRIM_INIT_c_t *) buffer); + break; + case PRIM_STATUS_TYPE: + cms_PRIM_STATUS_update(cms,(nml_PRIM_STATUS_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *prim_c_symbol_lookup(long type) +{ + switch(type) + { + case PRIM_CONFIG_TYPE: + return "PRIM_CONFIG"; + case PRIM_FOLLOW_WAYPOINTS_TYPE: + return "PRIM_FOLLOW_WAYPOINTS"; + case PRIM_HALT_TYPE: + return "PRIM_HALT"; + case PRIM_INIT_TYPE: + return "PRIM_INIT"; + case PRIM_STATUS_TYPE: + return "PRIM_STATUS"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for PRIM_FOLLOW_WAYPOINTS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_PRIM_FOLLOW_WAYPOINTS_update(struct cms_c_struct *cms, nml_PRIM_FOLLOW_WAYPOINTS_c_t *x) +{ + + cms_begin_class(cms,"PRIM_FOLLOW_WAYPOINTS","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"waypoints_length",&(x->waypoints_length)); + cms_begin_struct_dynamic_array(cms,"waypoints",&(x->waypoints_length), 1000); + + { + int i_waypoints=0; + + for(i_waypoints = 0;i_waypoints < x->waypoints_length; i_waypoints++) + { + cms_begin_struct_array_elem(cms,"waypoints",i_waypoints); + cms_PM_CARTESIAN_update(cms,&(( x->waypoints)[i_waypoints])); + cms_end_struct_array_elem(cms,"waypoints",i_waypoints); + } + } + + cms_end_struct_dynamic_array(cms,"waypoints",&(x->waypoints_length), 1000); + + cms_end_class(cms,"PRIM_FOLLOW_WAYPOINTS","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for PRIM_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_PRIM_INIT_update(struct cms_c_struct *cms, nml_PRIM_INIT_c_t *x) +{ + + cms_begin_class(cms,"PRIM_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"PRIM_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for PRIM_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_PRIM_CONFIG_update(struct cms_c_struct *cms, nml_PRIM_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"PRIM_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"PRIM_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for PRIM_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_PRIM_STATUS_update(struct cms_c_struct *cms, nml_PRIM_STATUS_c_t *x) +{ + + cms_begin_class(cms,"PRIM_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"PRIM_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for PRIM_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_PRIM_HALT_update(struct cms_c_struct *cms, nml_PRIM_HALT_c_t *x) +{ + + cms_begin_class(cms,"PRIM_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"PRIM_HALT","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/primn_c_n.h b/examples/rcs_single_dir/primn_c_n.h new file mode 100644 index 0000000..e9f0d9d --- /dev/null +++ b/examples/rcs_single_dir/primn_c_n.h @@ -0,0 +1,155 @@ +/* +* New C++ Header File starts here. +* This file should be named primn_c_n.h +*/ + +#ifndef primn_c_n_h_included +#define primn_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module prim_nml +%{ +#include "primn_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef PRIM_CONFIG_TYPE +#define PRIM_CONFIG_TYPE 5001 +#endif + +typedef struct { + int serial_number; +} nml_PRIM_CONFIG_c_t; + +#ifndef PRIM_HALT_TYPE +#define PRIM_HALT_TYPE 5003 +#endif + +typedef struct { + int serial_number; +} nml_PRIM_HALT_c_t; + +#ifndef PRIM_INIT_TYPE +#define PRIM_INIT_TYPE 5004 +#endif + +typedef struct { + int serial_number; +} nml_PRIM_INIT_c_t; + +#ifndef PRIM_STATUS_TYPE +#define PRIM_STATUS_TYPE 5000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_PRIM_STATUS_c_t; + +#ifndef PRIM_FOLLOW_WAYPOINTS_TYPE +#define PRIM_FOLLOW_WAYPOINTS_TYPE 5002 +#endif + +typedef struct { + int serial_number; + int waypoints_length; + nml_PM_CARTESIAN_c_t waypoints[1000]; +} nml_PRIM_FOLLOW_WAYPOINTS_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_PRIM_CONFIG_update(struct cms_c_struct *cms, nml_PRIM_CONFIG_c_t *x); +void cms_PRIM_HALT_update(struct cms_c_struct *cms, nml_PRIM_HALT_c_t *x); +void cms_PRIM_INIT_update(struct cms_c_struct *cms, nml_PRIM_INIT_c_t *x); +void cms_PRIM_STATUS_update(struct cms_c_struct *cms, nml_PRIM_STATUS_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_PRIM_FOLLOW_WAYPOINTS_update(struct cms_c_struct *cms, nml_PRIM_FOLLOW_WAYPOINTS_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_PRIM_C_NAME_LENGTH +#define MAX_PRIM_C_NAME_LENGTH 22 +#endif +#ifndef PRIM_C_NAME_LIST_LENGTH +#define PRIM_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char prim_c_name_list[PRIM_C_NAME_LIST_LENGTH][MAX_PRIM_C_NAME_LENGTH]; +extern const NMLTYPE prim_c_id_list[PRIM_C_NAME_LIST_LENGTH]; +extern const size_t prim_c_size_list[PRIM_C_NAME_LIST_LENGTH]; +extern const char *prim_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *prim_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int prim_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_prim_open(const char *buf, const char *proc, const char *cfg); +extern void nml_prim_close(long nml_id); +extern int nml_prim_read(long nml_id); +extern int nml_prim_valid(long nml_id); +extern int nml_prim_PRIM_CONFIG_write(long nml_id, const nml_PRIM_CONFIG_c_t *msg);extern nml_PRIM_CONFIG_c_t * nml_prim_PRIM_CONFIG_get_msg(long nml_id);extern int nml_prim_PRIM_HALT_write(long nml_id, const nml_PRIM_HALT_c_t *msg);extern nml_PRIM_HALT_c_t * nml_prim_PRIM_HALT_get_msg(long nml_id);extern int nml_prim_PRIM_INIT_write(long nml_id, const nml_PRIM_INIT_c_t *msg);extern nml_PRIM_INIT_c_t * nml_prim_PRIM_INIT_get_msg(long nml_id);extern int nml_prim_PRIM_STATUS_write(long nml_id, const nml_PRIM_STATUS_c_t *msg);extern nml_PRIM_STATUS_c_t * nml_prim_PRIM_STATUS_get_msg(long nml_id);extern int nml_prim_PRIM_FOLLOW_WAYPOINTS_write(long nml_id, const nml_PRIM_FOLLOW_WAYPOINTS_c_t *msg);extern nml_PRIM_FOLLOW_WAYPOINTS_c_t * nml_prim_PRIM_FOLLOW_WAYPOINTS_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif primn_c_n_h_included */ + diff --git a/examples/rcs_single_dir/primn_n_codegen_protos.hh b/examples/rcs_single_dir/primn_n_codegen_protos.hh new file mode 100644 index 0000000..eba211b --- /dev/null +++ b/examples/rcs_single_dir/primn_n_codegen_protos.hh @@ -0,0 +1,49 @@ +/* +* New C++ Header File starts here. +* This file should be named primn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=primn.hh +* +* .gen script : +* 0:load primn.hh +* 1:clear +* 2:select_from_file primn.hh +* 3:generate C++ protos>primn_n_codegen_protos.hh +* 4:generate C++ format>primn_n.cc +* 5:generate C++ update>primn_n.cc +* 6:generate C++ constructor>primn_n.cc +* 7:exit +* +*/ + +#ifndef primn_n_codegen_protos_hh_included +#define primn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "primn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_PRIMNAME_LENGTH +#define MAX_PRIMNAME_LENGTH 22 +#endif +#ifndef PRIMNAME_LIST_LENGTH +#define PRIMNAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE primid_list[PRIMNAME_LIST_LENGTH]; +extern const size_t primsize_list[PRIMNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int primFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif primn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/rcs_single_dir.cfg b/examples/rcs_single_dir/rcs_single_dir.cfg new file mode 100644 index 0000000..2e158f4 --- /dev/null +++ b/examples/rcs_single_dir/rcs_single_dir.cfg @@ -0,0 +1,239 @@ + +// This configuration file is used by the RCS Design and Diagnostics tools. +// The format is similar to C++. +// Sections are delimited with curly braces "{}". +// Most sections correspond to modules but the options section is unique.. +// Inividual variables are delimited with semicolons ";". +// Comments can be started with double forward // and continue to the end of the line + +options{ + AppDir="/home/shackle/rcslib/examples/rcs_single_dir"; // Directories where final installs should go. + AppName="rcs_single_dir"; //Name for the entire application. + CppExt=".cc"; //File extension for C++ source files. + HppExt=".hh"; //File extension for C++ header files. + ObjExt=".o"; //File extension for object files. + RcsLibDir="../.."; //Directory where the RCS Library was installed. + TerminalCommand="xterm -sb -sl 1000 -e ./.ec "; // Command to start a new graphical terminal. + MakeCommand="make "; + ListModulesByNumber=true; + MODULE_WIDTH=160; + MODULE_HEIGHT=60; + MODULE_X_SPACING=50; + MODULE_Y_SPACING=40; + VCT="NONE"; + AutoCheckin=false; + AutoCheckout=false; +} + +bgprimservosvr{ + is_server=true; + host="localhost"; + buf="bg_cmd"; + buf="bg_sts"; + buf="errlog"; + buf="pose_data"; + buf="prim_cmd"; + buf="prim_sts"; + buf="servo_cmd"; + buf="servo_sts"; +} + + +rcs_single_dirsvr{ + is_server=true; + host="localhost"; + buf="bg_cmd"; + buf="bg_sts"; + buf="prim_cmd"; + buf="prim_sts"; + buf="robot_super_cmd"; + buf="robot_super_sts"; + buf="servo_cmd"; + buf="servo_sts"; + buf="sp_cmd"; + buf="sp_sts"; + buf="wm_cmd"; + buf="wm_sts"; + buf="errlog"; + buf="pose_data"; + buf="obstacle_map"; + buf="sensor_data"; + buf="bg_cmd"; + buf="bg_sts"; + buf="errlog"; + buf="obstacle_map"; + buf="pose_data"; + buf="prim_cmd"; + buf="prim_sts"; + buf="robot_super_cmd"; + buf="robot_super_sts"; + buf="sensor_data"; + buf="servo_cmd"; + buf="servo_sts"; + buf="sp_cmd"; + buf="sp_sts"; + buf="wm_cmd"; + buf="wm_sts"; +} + + +robot_supersvr{ + is_server=true; + host="localhost"; + buf="robot_super_cmd"; + buf="robot_super_sts"; +} + + +spsvr{ + is_server=true; + host="localhost"; + buf="sensor_data"; + buf="sp_cmd"; + buf="sp_sts"; +} + + +wmsvr{ + is_server=true; + host="localhost"; + buf="obstacle_map"; + buf="wm_cmd"; + buf="wm_sts"; +} + + + +wm{ + cmd_types="wmn.hh"; + stat_types="wmn.hh"; + stat_buffer_name="wm_sts"; + cmd_buffer_name="wm_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="WM_MODULE"; + MainLoopName="wm"; + cycle_time=0.1; + host=localhost; + update_next_aux_every_cycle=true; + aux_output="obstacle_map"; + aux_output_types="obstacle_mapn.hh"; + update_next_aux_every_cycle=true; + pre_defined_types="offsets.hh"; + aux_input="sensor_data"; + aux_input_types="sensor_datan.hh"; + update_next_aux_every_cycle=true; + aux_input="pose_data"; + aux_input_types="pose_datan.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=2; +} + + +bg{ + child="prim"; + cmd_types="bgn.hh"; + stat_types="bgn.hh"; + stat_buffer_name="bg_sts"; + cmd_buffer_name="bg_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="BG_MODULE"; + MainLoopName="bg"; + cycle_time=0.1; + host=localhost; + update_next_aux_every_cycle=true; + aux_input="pose_data"; + aux_input_types="pose_datan.hh"; + update_next_aux_every_cycle=true; + aux_input="obstacle_map"; + aux_input_types="obstacle_mapn.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=3; +} + +prim{ + child="servo"; + cmd_types="primn.hh"; + stat_types="primn.hh"; + stat_buffer_name="prim_sts"; + cmd_buffer_name="prim_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="PRIM_MODULE"; + MainLoopName="prim"; + cycle_time=0.05; + host=localhost; + update_next_aux_every_cycle=true; + aux_input="pose_data"; + aux_input_types="pose_datan.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=4; +} + +robot_super{ + child="bg"; + child="sp"; + child="wm"; + cmd_types="robot_supern.hh"; + stat_types="robot_supern.hh"; + stat_buffer_name="robot_super_sts"; + cmd_buffer_name="robot_super_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="ROBOT_SUPER_MODULE"; + MainLoopName="robot_super"; + cycle_time=0.1; + host=localhost; + update_next_aux_every_cycle=true; + aux_input="pose_data"; + aux_input_types="pose_datan.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=5; +} + +servo{ + pre_defined_types="offsets.hh"; + cmd_types="servon.hh"; + stat_types="servon.hh"; + stat_buffer_name="servo_sts"; + cmd_buffer_name="servo_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="SERVO_MODULE"; + MainLoopName="servo"; + cycle_time=0.01; + host=localhost; + update_next_aux_every_cycle=true; + aux_output="pose_data"; + aux_output_types="pose_datan.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=6; + aux_output="servo_stat_cfg"; + aux_output_types="servo_stat_cfgn.hh"; + aux_output="servo_cmd_set"; + aux_output_types="servo_cmd_setn.hh"; +} + + +sp{ + cmd_types="spn.hh"; + stat_types="spn.hh"; + stat_buffer_name="sp_sts"; + cmd_buffer_name="sp_cmd"; + nml_configuration_file="rcs_single_dir.nml"; + class_name="SP_MODULE"; + MainLoopName="sp"; + cycle_time=0.1; + host=localhost; + update_next_aux_every_cycle=true; + pre_defined_types="offsets.hh"; + aux_output="sensor_data"; + aux_output_types="sensor_datan.hh"; + update_next_aux_every_cycle=true; + aux_input="pose_data"; + aux_input_types="pose_datan.hh"; + release_library="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/lib/librcs_single_dir.a"; + release_include_dir="/home/shackle/rcslib/examples/rcs_single_dir/plat/$(PLAT)/include"; + module_number=1; +} diff --git a/examples/rcs_single_dir/rcs_single_dir.nml b/examples/rcs_single_dir/rcs_single_dir.nml new file mode 100644 index 0000000..59da7f5 --- /dev/null +++ b/examples/rcs_single_dir/rcs_single_dir.nml @@ -0,0 +1,122 @@ +# NML Configuration file for the rcs_single_dir application + +# Buffers +# Name Type Host size neut? RPC# buffer# MP . . . +B bg_cmd SHMEM localhost.localdomain 2048 0 100 1 100 72460 TCP=6630 packedl64 +B bg_sts SHMEM localhost.localdomain 2048 0 100 2 100 72461 TCP=6630 packedl64 +B prim_cmd SHMEM localhost.localdomain 2048 0 100 3 100 72462 TCP=6630 packedl64 +B prim_sts SHMEM localhost.localdomain 25000 0 100 4 100 72463 TCP=6630 packedl64 +B robot_super_cmd SHMEM localhost.localdomain 2048 0 100 5 100 72464 TCP=6627 packedl64 +B robot_super_sts SHMEM localhost.localdomain 2048 0 100 6 100 72465 TCP=6627 packedl64 +B servo_cmd SHMEM localhost.localdomain 2048 0 100 7 100 72466 TCP=6630 packedl64 +B servo_sts SHMEM localhost.localdomain 2048 0 100 8 100 72467 TCP=6630 packedl64 +B sp_cmd SHMEM localhost.localdomain 2048 0 100 9 100 72468 TCP=6628 packedl64 +B sp_sts SHMEM localhost.localdomain 2048 0 100 10 100 72469 TCP=6628 packedl64 +B wm_cmd SHMEM localhost.localdomain 2048 0 100 11 100 72470 TCP=6629 packedl64 +B wm_sts SHMEM localhost.localdomain 2048 0 100 12 100 72471 TCP=6629 packedl64 +B errlog SHMEM localhost.localdomain 8192 0 100 13 100 72472 TCP=6630 packedl64 queue +B pose_data SHMEM localhost.localdomain 2048 0 100 14 100 72490 TCP=6630 packedl64 +B sensor_data SHMEM localhost.localdomain 80000 0 100 15 100 61831 TCP=6546 packedl64 +B obstacle_map SHMEM localhost.localdomain 2048 0 100 16 100 72491 TCP=6629 packedl64 +B servo_cmd_set SHMEM localhost.localdomain 2048 0 100 17 100 72492 TCP=6630 packedl64 +B servo_stat_cfg SHMEM localhost.localdomain 2048 0 100 18 100 72493 TCP=6630 packedl64 + +# Processes +# Name Buffer Type Host Ops server? timeout master? cnum + +# bg(0) +P bg bg_cmd LOCAL localhost.localdomain RW 0 0.1 0 0 +P bg bg_sts LOCAL localhost.localdomain RW 0 0.1 0 0 +P bg prim_cmd LOCAL localhost.localdomain RW 0 0.1 0 0 +P bg prim_sts LOCAL localhost.localdomain RW 0 0.1 0 0 +P bg pose_data LOCAL localhost.localdomain R 0 0.1 0 0 +P bg obstacle_map LOCAL localhost.localdomain R 0 0.1 0 0 +P bg errlog LOCAL localhost.localdomain RW 0 0.1 0 0 + +# prim(1) +P prim prim_cmd LOCAL localhost.localdomain RW 0 0.1 0 1 +P prim prim_sts LOCAL localhost.localdomain RW 0 0.1 0 1 +P prim servo_cmd LOCAL localhost.localdomain RW 0 0.1 0 1 +P prim servo_sts LOCAL localhost.localdomain RW 0 0.1 0 1 +P prim pose_data LOCAL localhost.localdomain R 0 0.1 0 1 +P prim errlog LOCAL localhost.localdomain RW 0 0.1 0 1 + +# robot_super(2) +P robot_super robot_super_cmd LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super robot_super_sts LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super bg_cmd LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super bg_sts LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super sp_cmd LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super sp_sts LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super wm_cmd LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super wm_sts LOCAL localhost.localdomain RW 0 0.1 0 2 +P robot_super pose_data LOCAL localhost.localdomain R 0 0.1 0 2 +P robot_super errlog LOCAL localhost.localdomain RW 0 0.1 0 2 + +# servo(3) +P servo servo_cmd LOCAL localhost.localdomain RW 0 0.1 0 3 +P servo servo_sts LOCAL localhost.localdomain RW 0 0.1 0 3 +P servo pose_data LOCAL localhost.localdomain RW 0 0.1 0 3 +P servo errlog LOCAL localhost.localdomain RW 0 0.1 0 3 + +# sp(4) +P sp sp_cmd LOCAL localhost.localdomain RW 0 0.1 0 4 +P sp sp_sts LOCAL localhost.localdomain RW 0 0.1 0 4 +P sp pose_data LOCAL localhost.localdomain R 0 0.1 0 4 +P sp sensor_data LOCAL localhost.localdomain RW 0 0.1 0 4 +P sp errlog LOCAL localhost.localdomain RW 0 0.1 0 4 + +# wm(5) +P wm wm_cmd LOCAL localhost.localdomain RW 0 0.1 0 5 +P wm wm_sts LOCAL localhost.localdomain RW 0 0.1 0 5 +P wm sensor_data LOCAL localhost.localdomain R 0 0.1 0 5 +P wm pose_data LOCAL localhost.localdomain R 0 0.1 0 5 +P wm obstacle_map LOCAL localhost.localdomain RW 0 0.1 0 5 +P wm errlog LOCAL localhost.localdomain RW 0 0.1 0 5 + +# bgprimservosvr(6) +P bgprimservosvr bg_cmd LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr bg_sts LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr errlog LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr pose_data LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr prim_cmd LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr prim_sts LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr servo_cmd LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr servo_sts LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr servo_cmd_set LOCAL localhost.localdomain RW 1 0.1 1 6 +P bgprimservosvr servo_stat_cfg LOCAL localhost.localdomain RW 1 0.1 1 6 + +# rcs_single_dirsvr(7) +P rcs_single_dirsvr bg_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr bg_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr prim_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr prim_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr robot_super_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr robot_super_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr servo_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr servo_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr sp_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr sp_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr wm_cmd LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr wm_sts LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr errlog LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr pose_data LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr obstacle_map LOCAL localhost.localdomain RW 1 0.1 1 7 +P rcs_single_dirsvr sensor_data LOCAL localhost.localdomain RW 1 0.1 1 7 + +# robot_supersvr(8) +P robot_supersvr robot_super_cmd LOCAL localhost.localdomain RW 1 0.1 1 8 +P robot_supersvr robot_super_sts LOCAL localhost.localdomain RW 1 0.1 1 8 + +# spsvr(9) +P spsvr sensor_data LOCAL localhost.localdomain RW 1 0.1 1 9 +P spsvr sp_cmd LOCAL localhost.localdomain RW 1 0.1 1 9 +P spsvr sp_sts LOCAL localhost.localdomain RW 1 0.1 1 9 + +# wmsvr(10) +P wmsvr obstacle_map LOCAL localhost.localdomain RW 1 0.1 1 10 +P wmsvr wm_cmd LOCAL localhost.localdomain RW 1 0.1 1 10 +P wmsvr wm_sts LOCAL localhost.localdomain RW 1 0.1 1 10 + + + diff --git a/examples/rcs_single_dir/rcs_single_dir.nml.local b/examples/rcs_single_dir/rcs_single_dir.nml.local new file mode 100644 index 0000000..489ade5 --- /dev/null +++ b/examples/rcs_single_dir/rcs_single_dir.nml.local @@ -0,0 +1,122 @@ +# NML Configuration file for the rcs_single_dir application + +# Buffers +# Name Type Host size neut? RPC# buffer# MP . . . +B bg_cmd SHMEM localhost 2048 0 100 1 100 72460 TCP=6630 packedl64 +B bg_sts SHMEM localhost 2048 0 100 2 100 72461 TCP=6630 packedl64 +B prim_cmd SHMEM localhost 2048 0 100 3 100 72462 TCP=6630 packedl64 +B prim_sts SHMEM localhost 25000 0 100 4 100 72463 TCP=6630 packedl64 +B robot_super_cmd SHMEM localhost 2048 0 100 5 100 72464 TCP=6627 packedl64 +B robot_super_sts SHMEM localhost 2048 0 100 6 100 72465 TCP=6627 packedl64 +B servo_cmd SHMEM localhost 2048 0 100 7 100 72466 TCP=6630 packedl64 +B servo_sts SHMEM localhost 2048 0 100 8 100 72467 TCP=6630 packedl64 +B sp_cmd SHMEM localhost 2048 0 100 9 100 72468 TCP=6628 packedl64 +B sp_sts SHMEM localhost 2048 0 100 10 100 72469 TCP=6628 packedl64 +B wm_cmd SHMEM localhost 2048 0 100 11 100 72470 TCP=6629 packedl64 +B wm_sts SHMEM localhost 2048 0 100 12 100 72471 TCP=6629 packedl64 +B errlog SHMEM localhost 8192 0 100 13 100 72472 TCP=6630 packedl64 queue +B pose_data SHMEM localhost 2048 0 100 14 100 72490 TCP=6630 packedl64 +B sensor_data SHMEM localhost 80000 0 100 15 100 61831 TCP=6546 packedl64 +B obstacle_map SHMEM localhost 2048 0 100 16 100 72491 TCP=6629 packedl64 +B servo_cmd_set SHMEM localhost 2048 0 100 17 100 72492 TCP=6630 packedl64 +B servo_stat_cfg SHMEM localhost 2048 0 100 18 100 72493 TCP=6630 packedl64 + +# Processes +# Name Buffer Type Host Ops server? timeout master? cnum + +# bg(0) +P bg bg_cmd LOCAL localhost RW 0 0.1 0 0 +P bg bg_sts LOCAL localhost RW 0 0.1 0 0 +P bg prim_cmd LOCAL localhost RW 0 0.1 0 0 +P bg prim_sts LOCAL localhost RW 0 0.1 0 0 +P bg pose_data LOCAL localhost R 0 0.1 0 0 +P bg obstacle_map LOCAL localhost R 0 0.1 0 0 +P bg errlog LOCAL localhost RW 0 0.1 0 0 + +# prim(1) +P prim prim_cmd LOCAL localhost RW 0 0.1 0 1 +P prim prim_sts LOCAL localhost RW 0 0.1 0 1 +P prim servo_cmd LOCAL localhost RW 0 0.1 0 1 +P prim servo_sts LOCAL localhost RW 0 0.1 0 1 +P prim pose_data LOCAL localhost R 0 0.1 0 1 +P prim errlog LOCAL localhost RW 0 0.1 0 1 + +# robot_super(2) +P robot_super robot_super_cmd LOCAL localhost RW 0 0.1 0 2 +P robot_super robot_super_sts LOCAL localhost RW 0 0.1 0 2 +P robot_super bg_cmd LOCAL localhost RW 0 0.1 0 2 +P robot_super bg_sts LOCAL localhost RW 0 0.1 0 2 +P robot_super sp_cmd LOCAL localhost RW 0 0.1 0 2 +P robot_super sp_sts LOCAL localhost RW 0 0.1 0 2 +P robot_super wm_cmd LOCAL localhost RW 0 0.1 0 2 +P robot_super wm_sts LOCAL localhost RW 0 0.1 0 2 +P robot_super pose_data LOCAL localhost R 0 0.1 0 2 +P robot_super errlog LOCAL localhost RW 0 0.1 0 2 + +# servo(3) +P servo servo_cmd LOCAL localhost RW 0 0.1 0 3 +P servo servo_sts LOCAL localhost RW 0 0.1 0 3 +P servo pose_data LOCAL localhost RW 0 0.1 0 3 +P servo errlog LOCAL localhost RW 0 0.1 0 3 + +# sp(4) +P sp sp_cmd LOCAL localhost RW 0 0.1 0 4 +P sp sp_sts LOCAL localhost RW 0 0.1 0 4 +P sp pose_data LOCAL localhost R 0 0.1 0 4 +P sp sensor_data LOCAL localhost RW 0 0.1 0 4 +P sp errlog LOCAL localhost RW 0 0.1 0 4 + +# wm(5) +P wm wm_cmd LOCAL localhost RW 0 0.1 0 5 +P wm wm_sts LOCAL localhost RW 0 0.1 0 5 +P wm sensor_data LOCAL localhost R 0 0.1 0 5 +P wm pose_data LOCAL localhost R 0 0.1 0 5 +P wm obstacle_map LOCAL localhost RW 0 0.1 0 5 +P wm errlog LOCAL localhost RW 0 0.1 0 5 + +# bgprimservosvr(6) +P bgprimservosvr bg_cmd LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr bg_sts LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr errlog LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr pose_data LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr prim_cmd LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr prim_sts LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr servo_cmd LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr servo_sts LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr servo_cmd_set LOCAL localhost RW 1 0.1 1 6 +P bgprimservosvr servo_stat_cfg LOCAL localhost RW 1 0.1 1 6 + +# rcs_single_dirsvr(7) +P rcs_single_dirsvr bg_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr bg_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr prim_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr prim_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr robot_super_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr robot_super_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr servo_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr servo_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr sp_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr sp_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr wm_cmd LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr wm_sts LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr errlog LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr pose_data LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr obstacle_map LOCAL localhost RW 1 0.1 1 7 +P rcs_single_dirsvr sensor_data LOCAL localhost RW 1 0.1 1 7 + +# robot_supersvr(8) +P robot_supersvr robot_super_cmd LOCAL localhost RW 1 0.1 1 8 +P robot_supersvr robot_super_sts LOCAL localhost RW 1 0.1 1 8 + +# spsvr(9) +P spsvr sensor_data LOCAL localhost RW 1 0.1 1 9 +P spsvr sp_cmd LOCAL localhost RW 1 0.1 1 9 +P spsvr sp_sts LOCAL localhost RW 1 0.1 1 9 + +# wmsvr(10) +P wmsvr obstacle_map LOCAL localhost RW 1 0.1 1 10 +P wmsvr wm_cmd LOCAL localhost RW 1 0.1 1 10 +P wmsvr wm_sts LOCAL localhost RW 1 0.1 1 10 + + + diff --git a/examples/rcs_single_dir/rcs_single_dirmain.cc b/examples/rcs_single_dir/rcs_single_dirmain.cc new file mode 100644 index 0000000..80cd919 --- /dev/null +++ b/examples/rcs_single_dir/rcs_single_dirmain.cc @@ -0,0 +1,82 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + rcs_single_dirmain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions + +// flag signifying main loop is to terminate +int rcs_single_dir_done = 0; + +//signal handler for ^C +extern "C" void rcs_single_dir_quit(int sig); +void rcs_single_dir_quit(int sig) +{ + rcs_single_dir_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int rcs_single_dir_run(); + +int rcs_single_dir_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.1); + + // set the SIGINT handler + signal(SIGINT, rcs_single_dir_quit); + + // enter main loop + while(!rcs_single_dir_done) + { + + timer->wait(); + } + + // Delete Modules + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/rcs_single_dirsvr.cc b/examples/rcs_single_dir/rcs_single_dirsvr.cc new file mode 100644 index 0000000..e90ebe0 --- /dev/null +++ b/examples/rcs_single_dir/rcs_single_dirsvr.cc @@ -0,0 +1,321 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + rcs_single_dirsvr.cc + + This C++ file provides a main routin to start an NML server for this application + It connects to all of the NML channels used by this application. + If they are all valid it will call run_nml_servers(), otherwise it will exit immediately. + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include "rcs.hh" // Common RCS definitions +#include "bgn.hh" // NML Commands and Status definitions for bg +#include "primn.hh" // NML Commands and Status definitions for prim +#include "robot_supern.hh" // NML Commands and Status definitions for robot_super +#include "servon.hh" // NML Commands and Status definitions for servo +#include "spn.hh" // NML Commands and Status definitions for sp +#include "wmn.hh" // NML Commands and Status definitions for wm +#include "pose_datan.hh" // pose_dataFormat +#include "obstacle_mapn.hh" // obstacle_mapFormat +#include "sensor_datan.hh" // sensor_dataFormat + +// NML Channel Pointers +static RCS_CMD_CHANNEL *bg_cmd = NULL; +static RCS_STAT_CHANNEL *bg_stat = NULL; +static RCS_CMD_CHANNEL *prim_cmd = NULL; +static RCS_STAT_CHANNEL *prim_stat = NULL; +static RCS_CMD_CHANNEL *robot_super_cmd = NULL; +static RCS_STAT_CHANNEL *robot_super_stat = NULL; +static RCS_CMD_CHANNEL *servo_cmd = NULL; +static RCS_STAT_CHANNEL *servo_stat = NULL; +static RCS_CMD_CHANNEL *sp_cmd = NULL; +static RCS_STAT_CHANNEL *sp_stat = NULL; +static RCS_CMD_CHANNEL *wm_cmd = NULL; +static RCS_STAT_CHANNEL *wm_stat = NULL; +static NML *pose_data= NULL; +static NML *obstacle_map= NULL; +static NML *sensor_data= NULL; +static NML *errlog = NULL; + +static int InitNML() +{ + + + // bg + bg_cmd = new RCS_CMD_CHANNEL(bgFormat, "bg_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == bg_cmd) + return -1; + if(!bg_cmd->valid()) + return -1; + + bg_stat = new RCS_STAT_CHANNEL(bgFormat, "bg_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == bg_stat) + return -1; + if(!bg_stat->valid()) + return -1; + + + // prim + prim_cmd = new RCS_CMD_CHANNEL(primFormat, "prim_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == prim_cmd) + return -1; + if(!prim_cmd->valid()) + return -1; + + prim_stat = new RCS_STAT_CHANNEL(primFormat, "prim_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == prim_stat) + return -1; + if(!prim_stat->valid()) + return -1; + + + // robot_super + robot_super_cmd = new RCS_CMD_CHANNEL(robot_superFormat, "robot_super_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == robot_super_cmd) + return -1; + if(!robot_super_cmd->valid()) + return -1; + + robot_super_stat = new RCS_STAT_CHANNEL(robot_superFormat, "robot_super_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == robot_super_stat) + return -1; + if(!robot_super_stat->valid()) + return -1; + + + // servo + servo_cmd = new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == servo_cmd) + return -1; + if(!servo_cmd->valid()) + return -1; + + servo_stat = new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == servo_stat) + return -1; + if(!servo_stat->valid()) + return -1; + + + // sp + sp_cmd = new RCS_CMD_CHANNEL(spFormat, "sp_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == sp_cmd) + return -1; + if(!sp_cmd->valid()) + return -1; + + sp_stat = new RCS_STAT_CHANNEL(spFormat, "sp_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == sp_stat) + return -1; + if(!sp_stat->valid()) + return -1; + + + // wm + wm_cmd = new RCS_CMD_CHANNEL(wmFormat, "wm_cmd", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == wm_cmd) + return -1; + if(!wm_cmd->valid()) + return -1; + + wm_stat = new RCS_STAT_CHANNEL(wmFormat, "wm_sts", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == wm_stat) + return -1; + if(!wm_stat->valid()) + return -1; + + + pose_data = new NML(pose_dataFormat, "pose_data", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == pose_data) + return -1; + if(!pose_data->valid()) + return -1; + + + obstacle_map = new NML(obstacle_mapFormat, "obstacle_map", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == obstacle_map) + return -1; + if(!obstacle_map->valid()) + return -1; + + + sensor_data = new NML(sensor_dataFormat, "sensor_data", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == sensor_data) + return -1; + if(!sensor_data->valid()) + return -1; + + errlog = new NML(nmlErrorFormat, "errlog", "rcs_single_dirsvr", "rcs_single_dir.nml"); + if(NULL == errlog) + return -1; + if(!errlog->valid()) + return -1; + + return 0; +} + +static void DeleteNML() +{ + + // bg + if(NULL != bg_cmd) + { + delete bg_cmd; + bg_cmd = NULL; + } + + if(NULL != bg_stat) + { + delete bg_stat; + bg_stat = NULL; + } + + + // prim + if(NULL != prim_cmd) + { + delete prim_cmd; + prim_cmd = NULL; + } + + if(NULL != prim_stat) + { + delete prim_stat; + prim_stat = NULL; + } + + + // robot_super + if(NULL != robot_super_cmd) + { + delete robot_super_cmd; + robot_super_cmd = NULL; + } + + if(NULL != robot_super_stat) + { + delete robot_super_stat; + robot_super_stat = NULL; + } + + + // servo + if(NULL != servo_cmd) + { + delete servo_cmd; + servo_cmd = NULL; + } + + if(NULL != servo_stat) + { + delete servo_stat; + servo_stat = NULL; + } + + + // sp + if(NULL != sp_cmd) + { + delete sp_cmd; + sp_cmd = NULL; + } + + if(NULL != sp_stat) + { + delete sp_stat; + sp_stat = NULL; + } + + + // wm + if(NULL != wm_cmd) + { + delete wm_cmd; + wm_cmd = NULL; + } + + if(NULL != wm_stat) + { + delete wm_stat; + wm_stat = NULL; + } + + + if(NULL != pose_data) + { + delete pose_data; + pose_data = NULL; + } + + + if(NULL != obstacle_map) + { + delete obstacle_map; + obstacle_map = NULL; + } + + + if(NULL != sensor_data) + { + delete sensor_data; + sensor_data = NULL; + } + + if(NULL != errlog) + { + delete errlog; + errlog = NULL; + } + +} + +// Main +#ifdef VXWORKS +extern "C" int rcs_single_dirsvr_run(); + +int rcs_single_dirsvr_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + if(InitNML() < 0) + { + DeleteNML(); + return(-1); + } + + run_nml_servers(); + +} + diff --git a/examples/rcs_single_dir/robot_super.hh b/examples/rcs_single_dir/robot_super.hh new file mode 100644 index 0000000..ffb428a --- /dev/null +++ b/examples/rcs_single_dir/robot_super.hh @@ -0,0 +1,102 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +robot_super.hh + +This C++ header file defines the class ROBOT_SUPER_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:20 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef ROBOT_SUPER_HH +#define ROBOT_SUPER_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "robot_supern.hh" // NML Commands and Status definitions for robot_super +#include "bgn.hh" // NML Status definitions for bg +#include "spn.hh" // NML Status definitions for sp +#include "wmn.hh" // NML Status definitions for wm + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class ROBOT_SUPER_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + ROBOT_SUPER_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(ROBOT_SUPER_CONFIG *); + virtual void HALT(ROBOT_SUPER_HALT *); + virtual void INIT(ROBOT_SUPER_INIT *); + virtual void RUN(ROBOT_SUPER_RUN *); + + // Convenience Variables + ROBOT_SUPER_STATUS *robot_super_status; + int bg_sub_num; + BG_STATUS *bg_status; + int sp_sub_num; + SP_STATUS *sp_status; + int wm_sub_num; + WM_STATUS *wm_status; + + // auxiliary Input NML Channels + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG *pose_data_data; // NML Data for pose_data + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // ROBOT_SUPER_HH + + + diff --git a/examples/rcs_single_dir/robot_super_module.cc b/examples/rcs_single_dir/robot_super_module.cc new file mode 100644 index 0000000..f60bd1e --- /dev/null +++ b/examples/rcs_single_dir/robot_super_module.cc @@ -0,0 +1,331 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +robot_super.cc + +This C++ file defines member functions for the class ROBOT_SUPER_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:20 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "robot_super.hh" // ROBOT_SUPER_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "robot_supern.hh" // NML Commands and Status definitions for robot_super +#include "bgn.hh" // NML Commands and Status definitions for bg +#include "spn.hh" // NML Commands and Status definitions for sp +#include "wmn.hh" // NML Commands and Status definitions for wm + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +#include + +// Constructor +ROBOT_SUPER_MODULE::ROBOT_SUPER_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + reset_time_tracker(&(robot_super_status->tt)); + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void ROBOT_SUPER_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "robot_super", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(robot_superFormat, "robot_super_cmd", "robot_super", "rcs_single_dir.nml")); + robot_super_status = new ROBOT_SUPER_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(robot_superFormat, "robot_super_sts", "robot_super", "rcs_single_dir.nml"), robot_super_status); + + bg_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(bgFormat, "bg_cmd", "robot_super", "rcs_single_dir.nml"), + new RCS_STAT_CHANNEL(bgFormat, "bg_sts", "robot_super", "rcs_single_dir.nml")); + bg_status = (BG_STATUS *) statusInData[bg_sub_num]; + + sp_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(spFormat, "sp_cmd", "robot_super", "rcs_single_dir.nml"), + new RCS_STAT_CHANNEL(spFormat, "sp_sts", "robot_super", "rcs_single_dir.nml")); + sp_status = (SP_STATUS *) statusInData[sp_sub_num]; + + wm_sub_num = + addSubordinate( + new RCS_CMD_CHANNEL(wmFormat, "wm_cmd", "robot_super", "rcs_single_dir.nml"), + new RCS_STAT_CHANNEL(wmFormat, "wm_sts", "robot_super", "rcs_single_dir.nml")); + wm_status = (WM_STATUS *) statusInData[wm_sub_num]; + + // auxiliary Input NML Channels + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "robot_super", "rcs_single_dir.nml"); + pose_data_data = (POSE_DATA_MSG *) POSE_DATA_CHANNEL->get_address(); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void ROBOT_SUPER_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Read new data from pose_data + POSE_DATA_CHANNEL->read(); + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void ROBOT_SUPER_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case ROBOT_SUPER_INIT_TYPE: + INIT((ROBOT_SUPER_INIT *)commandInData); + break; + + case ROBOT_SUPER_HALT_TYPE: + HALT((ROBOT_SUPER_HALT *)commandInData); + break; + + case ROBOT_SUPER_CONFIG_TYPE: + CONFIG((ROBOT_SUPER_CONFIG *)commandInData); + break; + + case ROBOT_SUPER_RUN_TYPE: + RUN((ROBOT_SUPER_RUN *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void ROBOT_SUPER_MODULE::POST_PROCESS() +{ + // Post-Processing Code + cycle_time_tracker(&(robot_super_status->tt)); + sprintf(robot_super_status->message, + "tt.last=%f\n",robot_super_status->tt.last); + robot_super_status->message_length = + strlen(robot_super_status->message)+1; + robot_super_status->stime =sp_status->stime; +} + +// Command Functions + +/* +INIT + +Parameter(s): +ROBOT_SUPER_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void ROBOT_SUPER_MODULE::INIT(ROBOT_SUPER_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + BG_INIT bgInitMsg; + SP_INIT spInitMsg; + WM_INIT wmInitMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&bgInitMsg, bg_sub_num); + sendCommand(&spInitMsg, sp_sub_num); + sendCommand(&wmInitMsg, wm_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + bg_status->status == RCS_DONE && + sp_status->status == RCS_DONE && + wm_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +ROBOT_SUPER_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void ROBOT_SUPER_MODULE::HALT(ROBOT_SUPER_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + BG_HALT bgHaltMsg; + SP_HALT spHaltMsg; + WM_HALT wmHaltMsg; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + sendCommand(&bgHaltMsg, bg_sub_num); + sendCommand(&spHaltMsg, sp_sub_num); + sendCommand(&wmHaltMsg, wm_sub_num); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + bg_status->status == RCS_DONE && + sp_status->status == RCS_DONE && + wm_status->status == RCS_DONE && + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +ROBOT_SUPER_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void ROBOT_SUPER_MODULE::CONFIG(ROBOT_SUPER_CONFIG *cmd_in) +{ + // Put state table for ROBOT_SUPER_CONFIG here. +} + +/* +RUN + +Parameter(s): +ROBOT_SUPER_RUN *cmd_in -- NML Message sent from superior. + +*/ +void ROBOT_SUPER_MODULE::RUN(ROBOT_SUPER_RUN *cmd_in) +{ + // Put state table for ROBOT_SUPER_RUN here. +} + diff --git a/examples/rcs_single_dir/robot_supermain.cc b/examples/rcs_single_dir/robot_supermain.cc new file mode 100644 index 0000000..04a2823 --- /dev/null +++ b/examples/rcs_single_dir/robot_supermain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + robot_supermain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + ROBOT_SUPER_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "robot_super.hh" // definition of ROBOT_SUPER_MODULE + +// flag signifying main loop is to terminate +int robot_super_done = 0; + +//signal handler for ^C +extern "C" void robot_super_quit(int sig); +void robot_super_quit(int sig) +{ + robot_super_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int robot_super_run(); + +int robot_super_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.1); + ROBOT_SUPER_MODULE *robot_super = new ROBOT_SUPER_MODULE(); + + // set the SIGINT handler + signal(SIGINT, robot_super_quit); + + // enter main loop + while(!robot_super_done) + { + robot_super->controller(); + + timer->wait(); + } + + // Delete Modules + delete robot_super; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/robot_supern.hh b/examples/rcs_single_dir/robot_supern.hh new file mode 100644 index 0000000..fabf96c --- /dev/null +++ b/examples/rcs_single_dir/robot_supern.hh @@ -0,0 +1,144 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +robot_supern.hh + +This C++ header file defines the NML Messages used for command and status by ROBOT_SUPER_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:20 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:07 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef ROBOT_SUPERN_HH +#define ROBOT_SUPERN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define ROBOT_SUPER_STATUS_TYPE 1000 +#define ROBOT_SUPER_CONFIG_TYPE 1001 +#define ROBOT_SUPER_HALT_TYPE 1002 +#define ROBOT_SUPER_INIT_TYPE 1003 +#define ROBOT_SUPER_RUN_TYPE 1004 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +// Status Class +class ROBOT_SUPER_STATUS : public RCS_STAT_MSG_V2 +{ +public: + + // Normal Constructor + ROBOT_SUPER_STATUS(); + + // Constructor used by derived classes + ROBOT_SUPER_STATUS(NMLTYPE t, size_t s) : RCS_STAT_MSG_V2(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + double stime; +}; + +// Command Classes + +class ROBOT_SUPER_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + ROBOT_SUPER_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class ROBOT_SUPER_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + ROBOT_SUPER_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class ROBOT_SUPER_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + ROBOT_SUPER_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class ROBOT_SUPER_RUN : public RCS_CMD_MSG +{ +public: + + //Constructor + ROBOT_SUPER_RUN(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + char filename[256]; + +}; + +// Declare NML format function +extern int robot_superFormat(NMLTYPE, void *, CMS *); + +#endif // ROBOT_SUPERN_HH diff --git a/examples/rcs_single_dir/robot_supern_c_n.c b/examples/rcs_single_dir/robot_supern_c_n.c new file mode 100644 index 0000000..adb089e --- /dev/null +++ b/examples/rcs_single_dir/robot_supern_c_n.c @@ -0,0 +1,320 @@ +/* +* New C++ File starts here. +* This file should be named robot_supern_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "robot_supern_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_ROBOT_SUPER_CONFIG_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_CONFIG_c_t *x); +void cms_ROBOT_SUPER_HALT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_HALT_c_t *x); +void cms_ROBOT_SUPER_INIT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_INIT_c_t *x); +void cms_ROBOT_SUPER_RUN_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_RUN_c_t *x); +void cms_ROBOT_SUPER_STATUS_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_STATUS_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_robot_super_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(robot_super_c_format, buf,proc,cfg); +} + +int nml_robot_super_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_robot_super_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_robot_super_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_robot_super_ROBOT_SUPER_CONFIG_write(long nml_id, const nml_ROBOT_SUPER_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 1001,sizeof(nml_ROBOT_SUPER_CONFIG_c_t)); +} + +nml_ROBOT_SUPER_CONFIG_c_t * nml_robot_super_ROBOT_SUPER_CONFIG_get_msg(long nml_id){ + return (nml_ROBOT_SUPER_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_robot_super_ROBOT_SUPER_HALT_write(long nml_id, const nml_ROBOT_SUPER_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 1002,sizeof(nml_ROBOT_SUPER_HALT_c_t)); +} + +nml_ROBOT_SUPER_HALT_c_t * nml_robot_super_ROBOT_SUPER_HALT_get_msg(long nml_id){ + return (nml_ROBOT_SUPER_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_robot_super_ROBOT_SUPER_INIT_write(long nml_id, const nml_ROBOT_SUPER_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 1003,sizeof(nml_ROBOT_SUPER_INIT_c_t)); +} + +nml_ROBOT_SUPER_INIT_c_t * nml_robot_super_ROBOT_SUPER_INIT_get_msg(long nml_id){ + return (nml_ROBOT_SUPER_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_robot_super_ROBOT_SUPER_RUN_write(long nml_id, const nml_ROBOT_SUPER_RUN_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 1004,sizeof(nml_ROBOT_SUPER_RUN_c_t)); +} + +nml_ROBOT_SUPER_RUN_c_t * nml_robot_super_ROBOT_SUPER_RUN_get_msg(long nml_id){ + return (nml_ROBOT_SUPER_RUN_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_robot_super_ROBOT_SUPER_STATUS_write(long nml_id, const nml_ROBOT_SUPER_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 1000,sizeof(nml_ROBOT_SUPER_STATUS_c_t)); +} + +nml_ROBOT_SUPER_STATUS_c_t * nml_robot_super_ROBOT_SUPER_STATUS_get_msg(long nml_id){ + return (nml_ROBOT_SUPER_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_ROBOT_SUPER_C_NAME_LENGTH +#define MAX_ROBOT_SUPER_C_NAME_LENGTH 19 +#endif +#ifndef ROBOT_SUPER_C_NAME_LIST_LENGTH +#define ROBOT_SUPER_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char robot_super_c_name_list[ROBOT_SUPER_C_NAME_LIST_LENGTH][MAX_ROBOT_SUPER_C_NAME_LENGTH]= { + "ROBOT_SUPER_CONFIG", /* 0,1001 */ + "ROBOT_SUPER_HALT", /* 1,1002 */ + "ROBOT_SUPER_INIT", /* 2,1003 */ + "ROBOT_SUPER_RUN", /* 3,1004 */ + "ROBOT_SUPER_STATUS", /* 4,1000 */ + ""}; +const NMLTYPE robot_super_c_id_list[ROBOT_SUPER_C_NAME_LIST_LENGTH]= { + ROBOT_SUPER_CONFIG_TYPE, /* 0,1001 */ + ROBOT_SUPER_HALT_TYPE, /* 1,1002 */ + ROBOT_SUPER_INIT_TYPE, /* 2,1003 */ + ROBOT_SUPER_RUN_TYPE, /* 3,1004 */ + ROBOT_SUPER_STATUS_TYPE, /* 4,1000 */ + -1}; +const size_t robot_super_c_size_list[ROBOT_SUPER_C_NAME_LIST_LENGTH]= { + sizeof(nml_ROBOT_SUPER_CONFIG_c_t), + sizeof(nml_ROBOT_SUPER_HALT_c_t), + sizeof(nml_ROBOT_SUPER_INIT_c_t), + sizeof(nml_ROBOT_SUPER_RUN_c_t), + sizeof(nml_ROBOT_SUPER_STATUS_c_t), + 0}; +const char *robot_super_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *robot_super_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)robot_super_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : robot_super_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +int robot_super_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"robot_super_c", + (cms_symbol_lookup_function_t) robot_super_c_symbol_lookup, + (const char **)robot_super_c_name_list, + robot_super_c_id_list,robot_super_c_size_list, + ROBOT_SUPER_C_NAME_LIST_LENGTH, + MAX_ROBOT_SUPER_C_NAME_LENGTH); + + switch(type) + { + case ROBOT_SUPER_CONFIG_TYPE: + cms_ROBOT_SUPER_CONFIG_update(cms,(nml_ROBOT_SUPER_CONFIG_c_t *) buffer); + break; + case ROBOT_SUPER_HALT_TYPE: + cms_ROBOT_SUPER_HALT_update(cms,(nml_ROBOT_SUPER_HALT_c_t *) buffer); + break; + case ROBOT_SUPER_INIT_TYPE: + cms_ROBOT_SUPER_INIT_update(cms,(nml_ROBOT_SUPER_INIT_c_t *) buffer); + break; + case ROBOT_SUPER_RUN_TYPE: + cms_ROBOT_SUPER_RUN_update(cms,(nml_ROBOT_SUPER_RUN_c_t *) buffer); + break; + case ROBOT_SUPER_STATUS_TYPE: + cms_ROBOT_SUPER_STATUS_update(cms,(nml_ROBOT_SUPER_STATUS_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *robot_super_c_symbol_lookup(long type) +{ + switch(type) + { + case ROBOT_SUPER_CONFIG_TYPE: + return "ROBOT_SUPER_CONFIG"; + case ROBOT_SUPER_HALT_TYPE: + return "ROBOT_SUPER_HALT"; + case ROBOT_SUPER_INIT_TYPE: + return "ROBOT_SUPER_INIT"; + case ROBOT_SUPER_RUN_TYPE: + return "ROBOT_SUPER_RUN"; + case ROBOT_SUPER_STATUS_TYPE: + return "ROBOT_SUPER_STATUS"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for ROBOT_SUPER_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_ROBOT_SUPER_CONFIG_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"ROBOT_SUPER_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"ROBOT_SUPER_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for ROBOT_SUPER_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_ROBOT_SUPER_HALT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_HALT_c_t *x) +{ + + cms_begin_class(cms,"ROBOT_SUPER_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"ROBOT_SUPER_HALT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for ROBOT_SUPER_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_ROBOT_SUPER_STATUS_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_STATUS_c_t *x) +{ + + cms_begin_class(cms,"ROBOT_SUPER_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"ROBOT_SUPER_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for ROBOT_SUPER_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_ROBOT_SUPER_INIT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_INIT_c_t *x) +{ + + cms_begin_class(cms,"ROBOT_SUPER_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"ROBOT_SUPER_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for ROBOT_SUPER_RUN +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:18 EST 2006 +*/ +void cms_ROBOT_SUPER_RUN_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_RUN_c_t *x) +{ + + cms_begin_class(cms,"ROBOT_SUPER_RUN","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + cms_update_char_array(cms,"filename",x->filename,256); + + cms_end_class(cms,"ROBOT_SUPER_RUN","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/robot_supern_c_n.h b/examples/rcs_single_dir/robot_supern_c_n.h new file mode 100644 index 0000000..190b3dc --- /dev/null +++ b/examples/rcs_single_dir/robot_supern_c_n.h @@ -0,0 +1,153 @@ +/* +* New C++ Header File starts here. +* This file should be named robot_supern_c_n.h +*/ + +#ifndef robot_supern_c_n_h_included +#define robot_supern_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module robot_super_nml +%{ +#include "robot_supern_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef ROBOT_SUPER_CONFIG_TYPE +#define ROBOT_SUPER_CONFIG_TYPE 1001 +#endif + +typedef struct { + int serial_number; +} nml_ROBOT_SUPER_CONFIG_c_t; + +#ifndef ROBOT_SUPER_HALT_TYPE +#define ROBOT_SUPER_HALT_TYPE 1002 +#endif + +typedef struct { + int serial_number; +} nml_ROBOT_SUPER_HALT_c_t; + +#ifndef ROBOT_SUPER_INIT_TYPE +#define ROBOT_SUPER_INIT_TYPE 1003 +#endif + +typedef struct { + int serial_number; +} nml_ROBOT_SUPER_INIT_c_t; + +#ifndef ROBOT_SUPER_RUN_TYPE +#define ROBOT_SUPER_RUN_TYPE 1004 +#endif + +typedef struct { + int serial_number; + char filename[256]; +} nml_ROBOT_SUPER_RUN_c_t; + +#ifndef ROBOT_SUPER_STATUS_TYPE +#define ROBOT_SUPER_STATUS_TYPE 1000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_ROBOT_SUPER_STATUS_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_ROBOT_SUPER_CONFIG_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_CONFIG_c_t *x); +void cms_ROBOT_SUPER_HALT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_HALT_c_t *x); +void cms_ROBOT_SUPER_INIT_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_INIT_c_t *x); +void cms_ROBOT_SUPER_RUN_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_RUN_c_t *x); +void cms_ROBOT_SUPER_STATUS_update(struct cms_c_struct *cms, nml_ROBOT_SUPER_STATUS_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_ROBOT_SUPER_C_NAME_LENGTH +#define MAX_ROBOT_SUPER_C_NAME_LENGTH 19 +#endif +#ifndef ROBOT_SUPER_C_NAME_LIST_LENGTH +#define ROBOT_SUPER_C_NAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char robot_super_c_name_list[ROBOT_SUPER_C_NAME_LIST_LENGTH][MAX_ROBOT_SUPER_C_NAME_LENGTH]; +extern const NMLTYPE robot_super_c_id_list[ROBOT_SUPER_C_NAME_LIST_LENGTH]; +extern const size_t robot_super_c_size_list[ROBOT_SUPER_C_NAME_LIST_LENGTH]; +extern const char *robot_super_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *robot_super_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int robot_super_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_robot_super_open(const char *buf, const char *proc, const char *cfg); +extern void nml_robot_super_close(long nml_id); +extern int nml_robot_super_read(long nml_id); +extern int nml_robot_super_valid(long nml_id); +extern int nml_robot_super_ROBOT_SUPER_CONFIG_write(long nml_id, const nml_ROBOT_SUPER_CONFIG_c_t *msg);extern nml_ROBOT_SUPER_CONFIG_c_t * nml_robot_super_ROBOT_SUPER_CONFIG_get_msg(long nml_id);extern int nml_robot_super_ROBOT_SUPER_HALT_write(long nml_id, const nml_ROBOT_SUPER_HALT_c_t *msg);extern nml_ROBOT_SUPER_HALT_c_t * nml_robot_super_ROBOT_SUPER_HALT_get_msg(long nml_id);extern int nml_robot_super_ROBOT_SUPER_INIT_write(long nml_id, const nml_ROBOT_SUPER_INIT_c_t *msg);extern nml_ROBOT_SUPER_INIT_c_t * nml_robot_super_ROBOT_SUPER_INIT_get_msg(long nml_id);extern int nml_robot_super_ROBOT_SUPER_RUN_write(long nml_id, const nml_ROBOT_SUPER_RUN_c_t *msg);extern nml_ROBOT_SUPER_RUN_c_t * nml_robot_super_ROBOT_SUPER_RUN_get_msg(long nml_id);extern int nml_robot_super_ROBOT_SUPER_STATUS_write(long nml_id, const nml_ROBOT_SUPER_STATUS_c_t *msg);extern nml_ROBOT_SUPER_STATUS_c_t * nml_robot_super_ROBOT_SUPER_STATUS_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif robot_supern_c_n_h_included */ + diff --git a/examples/rcs_single_dir/robot_supern_n_codegen_protos.hh b/examples/rcs_single_dir/robot_supern_n_codegen_protos.hh new file mode 100644 index 0000000..af80ba5 --- /dev/null +++ b/examples/rcs_single_dir/robot_supern_n_codegen_protos.hh @@ -0,0 +1,49 @@ +/* +* New C++ Header File starts here. +* This file should be named robot_supern_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=robot_supern.hh +* +* .gen script : +* 0:load robot_supern.hh +* 1:clear +* 2:select_from_file robot_supern.hh +* 3:generate C++ protos>robot_supern_n_codegen_protos.hh +* 4:generate C++ format>robot_supern_n.cc +* 5:generate C++ update>robot_supern_n.cc +* 6:generate C++ constructor>robot_supern_n.cc +* 7:exit +* +*/ + +#ifndef robot_supern_n_codegen_protos_hh_included +#define robot_supern_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "robot_supern.hh" + +// Forward Function Prototypes + + +#ifndef MAX_ROBOT_SUPERNAME_LENGTH +#define MAX_ROBOT_SUPERNAME_LENGTH 19 +#endif +#ifndef ROBOT_SUPERNAME_LIST_LENGTH +#define ROBOT_SUPERNAME_LIST_LENGTH 6 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE robot_superid_list[ROBOT_SUPERNAME_LIST_LENGTH]; +extern const size_t robot_supersize_list[ROBOT_SUPERNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int robot_superFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif robot_supern_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/robot_supersvr.cc b/examples/rcs_single_dir/robot_supersvr.cc new file mode 100644 index 0000000..87defa6 --- /dev/null +++ b/examples/rcs_single_dir/robot_supersvr.cc @@ -0,0 +1,106 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + robot_supersvr.cc + + This C++ file provides a main routin to start an NML server for this application + It connects to all of the NML channels used by this application. + If they are all valid it will call run_nml_servers(), otherwise it will exit immediately. + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include "rcs.hh" // Common RCS definitions +#include "robot_supern.hh" // NML Commands and Status definitions for robot_super + +// NML Channel Pointers +static RCS_CMD_CHANNEL *robot_super_cmd = NULL; +static RCS_STAT_CHANNEL *robot_super_stat = NULL; + +static int InitNML() +{ + + + // robot_super + robot_super_cmd = new RCS_CMD_CHANNEL(robot_superFormat, "robot_super_cmd", "robot_supersvr", "rcs_single_dir.nml"); + if(NULL == robot_super_cmd) + return -1; + if(!robot_super_cmd->valid()) + return -1; + + robot_super_stat = new RCS_STAT_CHANNEL(robot_superFormat, "robot_super_sts", "robot_supersvr", "rcs_single_dir.nml"); + if(NULL == robot_super_stat) + return -1; + if(!robot_super_stat->valid()) + return -1; + + return 0; +} + +static void DeleteNML() +{ + + // robot_super + if(NULL != robot_super_cmd) + { + delete robot_super_cmd; + robot_super_cmd = NULL; + } + + if(NULL != robot_super_stat) + { + delete robot_super_stat; + robot_super_stat = NULL; + } + + +} + +// Main +#ifdef VXWORKS +extern "C" int robot_supersvr_run(); + +int robot_supersvr_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + if(InitNML() < 0) + { + DeleteNML(); + return(-1); + } + + run_nml_servers(); + +} + diff --git a/examples/rcs_single_dir/run.rcs_single_dir b/examples/rcs_single_dir/run.rcs_single_dir new file mode 100755 index 0000000..3bab5cc --- /dev/null +++ b/examples/rcs_single_dir/run.rcs_single_dir @@ -0,0 +1,311 @@ +#! /bin/sh + +# CD to the User Directory, just in-case we're not already there. +cd /home/shackle/rcslib/examples/rcs_single_dir + +if test "x${HOST}" = "x" ; then + echo Setting HOST to `hostname` + HOST=`hostname`; + export HOST; +fi + +if test "x${xterm_cmd}" = "x" ; then + xterm_cmd="xterm -sb -sl 1000"; +fi + + +pwd + +if test "x${RCSLIB_MAIN_DIR}" = "x" ; then + RCSLIB_MAIN_DIR=../.. + export RCSLIB_MAIN_DIR; +fi + +echo RCSLIB_MAIN_DIR=${RCSLIB_MAIN_DIR} + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RCSLIB_MAIN_DIR}/lib; +export LD_LIBRARY_PATH + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RCSLIB_MAIN_DIR}:${RCSLIB_MAIN_DIR}/plat/${PLAT}/lib; +export LD_LIBRARY_PATH + +echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} + + +# Store current host name in NML configuration file +if test "x${HOST}" != "x" ; then + if test -f rcs_single_dir.nml.local ; then + \rm -f rcs_single_dir.nml + cat rcs_single_dir.nml.local | sed s/localhost/${HOST}/ >rcs_single_dir.nml + fi +fi + + +# robot_supersvr +\rm -f robot_supersvr.log + echo Starting robot_supersvr . . . + if test ! -x ./robot_supersvr ; then + echo Can not execute ./robot_supersvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf robot_supersvr.log -title "ROBOT_SUPERSVR" -iconic -e ./robot_supersvr & + else + ./robot_supersvr & + fi + + +# rcs_single_dirsvr +\rm -f rcs_single_dirsvr.log + echo Starting rcs_single_dirsvr . . . + if test ! -x ./rcs_single_dirsvr ; then + echo Can not execute ./rcs_single_dirsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf rcs_single_dirsvr.log -title "RCS_SINGLE_DIRSVR" -iconic -e ./rcs_single_dirsvr & + else + ./rcs_single_dirsvr & + fi + + +# wmsvr +\rm -f wmsvr.log + echo Starting wmsvr . . . + if test ! -x ./wmsvr ; then + echo Can not execute ./wmsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf wmsvr.log -title "WMSVR" -iconic -e ./wmsvr & + else + ./wmsvr & + fi + + +# spsvr +\rm -f spsvr.log + echo Starting spsvr . . . + if test ! -x ./spsvr ; then + echo Can not execute ./spsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf spsvr.log -title "SPSVR" -iconic -e ./spsvr & + else + ./spsvr & + fi + + +# bgprimservosvr +\rm -f bgprimservosvr.log + echo Starting bgprimservosvr . . . + if test ! -x ./bgprimservosvr ; then + echo Can not execute ./bgprimservosvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf bgprimservosvr.log -title "BGPRIMSERVOSVR" -iconic -e ./bgprimservosvr & + else + ./bgprimservosvr & + fi + + sleep 2 + +# bgmain +\rm -f bgmain.log + echo Starting bgmain . . . + if test ! -x ./bgmain ; then + echo Can not execute ./bgmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf bgmain.log -title "BGMAIN" -iconic -e ./bgmain & + else + ./bgmain & + fi + +# primmain +\rm -f primmain.log + echo Starting primmain . . . + if test ! -x ./primmain ; then + echo Can not execute ./primmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf primmain.log -title "PRIMMAIN" -iconic -e ./primmain & + else + ./primmain & + fi + +# robot_supermain +\rm -f robot_supermain.log + echo Starting robot_supermain . . . + if test ! -x ./robot_supermain ; then + echo Can not execute ./robot_supermain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf robot_supermain.log -title "ROBOT_SUPERMAIN" -iconic -e ./robot_supermain & + else + ./robot_supermain & + fi + +# servomain +\rm -f servomain.log + echo Starting servomain . . . + if test ! -x ./servomain ; then + echo Can not execute ./servomain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf servomain.log -title "SERVOMAIN" -iconic -e ./servomain & + else + ./servomain & + fi + +# spmain +\rm -f spmain.log + echo Starting spmain . . . + if test ! -x ./spmain ; then + echo Can not execute ./spmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf spmain.log -title "SPMAIN" -iconic -e ./spmain & + else + ./spmain & + fi + +# wmmain +\rm -f wmmain.log + echo Starting wmmain . . . + if test ! -x ./wmmain ; then + echo Can not execute ./wmmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf wmmain.log -title "WMMAIN" -iconic -e ./wmmain & + else + ./wmmain & + fi + sleep 2 + +echo "Run Diagnostics Tool? '(y/n)'" +read diag_confirm + +if test "x${diag_confirm}" = "xy" ; then + + if test "x${diag_cmd}" = "x" ; then + diag_cmd="java -jar ../../plat/java/lib/diag_NB.jar"; + fi + + echo Starting Diagnostics Tool . . . + if test "x${USE_XTERM}" = "x1" ; then + if test "x${ec}" = "x" -a -x ./.ec ; then + ec=./.ec; + fi + echo ${xterm_cmd} -lf diagapplet.log -title Diagnostics_IO_Term -iconic -e ${ec} ${diag_cmd} rcs_single_dir.cfg + ${xterm_cmd} -lf diagapplet.log -title Diagnostics_IO_Term -iconic -e ${ec} ${diag_cmd} rcs_single_dir.cfg & + else + echo ${diag_cmd} rcs_single_dir.cfg + ${diag_cmd} rcs_single_dir.cfg & + fi + sleep 2 + +fi + +echo "Shutdown?" +echo "Enter "\"y\"" when you are ready to shutdown the controllers and servers," +echo "or "\"n\"" to exit the script with everything running." +read shutdown_confirm +while test "x${shutdown_confirm}" != "xn" -a "x${shutdown_confirm}" != "xy" ; do + echo "Shutdown? '(y/n)'" + read shutdown_confirm +done + +if test "x${shutdown_confirm}" = "xy" ; then + + + bgmain_pid=`ps -ea | grep bgmain | grep -v run. | awk '{print $1}' ` + echo Killing bgmain, pid = $bgmain_pid + kill -INT $bgmain_pid + + primmain_pid=`ps -ea | grep primmain | grep -v run. | awk '{print $1}' ` + echo Killing primmain, pid = $primmain_pid + kill -INT $primmain_pid + + rcs_single_dirmain_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirmain, pid = $rcs_single_dirmain_pid + kill -INT $rcs_single_dirmain_pid + + robot_supermain_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supermain, pid = $robot_supermain_pid + kill -INT $robot_supermain_pid + + servomain_pid=`ps -ea | grep servomai | grep -v run. | awk '{print $1}' ` + echo Killing servomain, pid = $servomain_pid + kill -INT $servomain_pid + + spmain_pid=`ps -ea | grep spmain | grep -v run. | awk '{print $1}' ` + echo Killing spmain, pid = $spmain_pid + kill -INT $spmain_pid + + wmmain_pid=`ps -ea | grep wmmain | grep -v run. | awk '{print $1}' ` + echo Killing wmmain, pid = $wmmain_pid + kill -INT $wmmain_pid + sleep 2 + robot_supersvr_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supersvr, pid = $robot_supersvr_pid + kill -INT $robot_supersvr_pid + rcs_single_dirsvr_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirsvr, pid = $rcs_single_dirsvr_pid + kill -INT $rcs_single_dirsvr_pid + wmsvr_pid=`ps -ea | grep wmsvr | grep -v run. | awk '{print $1}' ` + echo Killing wmsvr, pid = $wmsvr_pid + kill -INT $wmsvr_pid + spsvr_pid=`ps -ea | grep spsvr | grep -v run. | awk '{print $1}' ` + echo Killing spsvr, pid = $spsvr_pid + kill -INT $spsvr_pid + bgprimservosvr_pid=`ps -ea | grep bgprimse | grep -v run. | awk '{print $1}' ` + echo Killing bgprimservosvr, pid = $bgprimservosvr_pid + kill -INT $bgprimservosvr_pid + + sleep 2 + + + bgmain_pid=`ps -ea | grep bgmain | grep -v run. | awk '{print $1}' ` + echo Killing bgmain, pid = $bgmain_pid + kill -KILL $bgmain_pid + + primmain_pid=`ps -ea | grep primmain | grep -v run. | awk '{print $1}' ` + echo Killing primmain, pid = $primmain_pid + kill -KILL $primmain_pid + + rcs_single_dirmain_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirmain, pid = $rcs_single_dirmain_pid + kill -KILL $rcs_single_dirmain_pid + + robot_supermain_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supermain, pid = $robot_supermain_pid + kill -KILL $robot_supermain_pid + + servomain_pid=`ps -ea | grep servomai | grep -v run. | awk '{print $1}' ` + echo Killing servomain, pid = $servomain_pid + kill -KILL $servomain_pid + + spmain_pid=`ps -ea | grep spmain | grep -v run. | awk '{print $1}' ` + echo Killing spmain, pid = $spmain_pid + kill -KILL $spmain_pid + + wmmain_pid=`ps -ea | grep wmmain | grep -v run. | awk '{print $1}' ` + echo Killing wmmain, pid = $wmmain_pid + kill -KILL $wmmain_pid + sleep 2 + robot_supersvr_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supersvr, pid = $robot_supersvr_pid + kill -KILL $robot_supersvr_pid + rcs_single_dirsvr_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirsvr, pid = $rcs_single_dirsvr_pid + kill -KILL $rcs_single_dirsvr_pid + wmsvr_pid=`ps -ea | grep wmsvr | grep -v run. | awk '{print $1}' ` + echo Killing wmsvr, pid = $wmsvr_pid + kill -KILL $wmsvr_pid + spsvr_pid=`ps -ea | grep spsvr | grep -v run. | awk '{print $1}' ` + echo Killing spsvr, pid = $spsvr_pid + kill -KILL $spsvr_pid + bgprimservosvr_pid=`ps -ea | grep bgprimse | grep -v run. | awk '{print $1}' ` + echo Killing bgprimservosvr, pid = $bgprimservosvr_pid + kill -KILL $bgprimservosvr_pid + +fi + diff --git a/examples/rcs_single_dir/run.rcs_single_dir.sh b/examples/rcs_single_dir/run.rcs_single_dir.sh new file mode 100755 index 0000000..3bab5cc --- /dev/null +++ b/examples/rcs_single_dir/run.rcs_single_dir.sh @@ -0,0 +1,311 @@ +#! /bin/sh + +# CD to the User Directory, just in-case we're not already there. +cd /home/shackle/rcslib/examples/rcs_single_dir + +if test "x${HOST}" = "x" ; then + echo Setting HOST to `hostname` + HOST=`hostname`; + export HOST; +fi + +if test "x${xterm_cmd}" = "x" ; then + xterm_cmd="xterm -sb -sl 1000"; +fi + + +pwd + +if test "x${RCSLIB_MAIN_DIR}" = "x" ; then + RCSLIB_MAIN_DIR=../.. + export RCSLIB_MAIN_DIR; +fi + +echo RCSLIB_MAIN_DIR=${RCSLIB_MAIN_DIR} + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RCSLIB_MAIN_DIR}/lib; +export LD_LIBRARY_PATH + +LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RCSLIB_MAIN_DIR}:${RCSLIB_MAIN_DIR}/plat/${PLAT}/lib; +export LD_LIBRARY_PATH + +echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} + + +# Store current host name in NML configuration file +if test "x${HOST}" != "x" ; then + if test -f rcs_single_dir.nml.local ; then + \rm -f rcs_single_dir.nml + cat rcs_single_dir.nml.local | sed s/localhost/${HOST}/ >rcs_single_dir.nml + fi +fi + + +# robot_supersvr +\rm -f robot_supersvr.log + echo Starting robot_supersvr . . . + if test ! -x ./robot_supersvr ; then + echo Can not execute ./robot_supersvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf robot_supersvr.log -title "ROBOT_SUPERSVR" -iconic -e ./robot_supersvr & + else + ./robot_supersvr & + fi + + +# rcs_single_dirsvr +\rm -f rcs_single_dirsvr.log + echo Starting rcs_single_dirsvr . . . + if test ! -x ./rcs_single_dirsvr ; then + echo Can not execute ./rcs_single_dirsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf rcs_single_dirsvr.log -title "RCS_SINGLE_DIRSVR" -iconic -e ./rcs_single_dirsvr & + else + ./rcs_single_dirsvr & + fi + + +# wmsvr +\rm -f wmsvr.log + echo Starting wmsvr . . . + if test ! -x ./wmsvr ; then + echo Can not execute ./wmsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf wmsvr.log -title "WMSVR" -iconic -e ./wmsvr & + else + ./wmsvr & + fi + + +# spsvr +\rm -f spsvr.log + echo Starting spsvr . . . + if test ! -x ./spsvr ; then + echo Can not execute ./spsvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf spsvr.log -title "SPSVR" -iconic -e ./spsvr & + else + ./spsvr & + fi + + +# bgprimservosvr +\rm -f bgprimservosvr.log + echo Starting bgprimservosvr . . . + if test ! -x ./bgprimservosvr ; then + echo Can not execute ./bgprimservosvr + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf bgprimservosvr.log -title "BGPRIMSERVOSVR" -iconic -e ./bgprimservosvr & + else + ./bgprimservosvr & + fi + + sleep 2 + +# bgmain +\rm -f bgmain.log + echo Starting bgmain . . . + if test ! -x ./bgmain ; then + echo Can not execute ./bgmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf bgmain.log -title "BGMAIN" -iconic -e ./bgmain & + else + ./bgmain & + fi + +# primmain +\rm -f primmain.log + echo Starting primmain . . . + if test ! -x ./primmain ; then + echo Can not execute ./primmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf primmain.log -title "PRIMMAIN" -iconic -e ./primmain & + else + ./primmain & + fi + +# robot_supermain +\rm -f robot_supermain.log + echo Starting robot_supermain . . . + if test ! -x ./robot_supermain ; then + echo Can not execute ./robot_supermain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf robot_supermain.log -title "ROBOT_SUPERMAIN" -iconic -e ./robot_supermain & + else + ./robot_supermain & + fi + +# servomain +\rm -f servomain.log + echo Starting servomain . . . + if test ! -x ./servomain ; then + echo Can not execute ./servomain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf servomain.log -title "SERVOMAIN" -iconic -e ./servomain & + else + ./servomain & + fi + +# spmain +\rm -f spmain.log + echo Starting spmain . . . + if test ! -x ./spmain ; then + echo Can not execute ./spmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf spmain.log -title "SPMAIN" -iconic -e ./spmain & + else + ./spmain & + fi + +# wmmain +\rm -f wmmain.log + echo Starting wmmain . . . + if test ! -x ./wmmain ; then + echo Can not execute ./wmmain + fi + if test "x${USE_XTERM}" = "x1" ; then + ${xterm_cmd} -lf wmmain.log -title "WMMAIN" -iconic -e ./wmmain & + else + ./wmmain & + fi + sleep 2 + +echo "Run Diagnostics Tool? '(y/n)'" +read diag_confirm + +if test "x${diag_confirm}" = "xy" ; then + + if test "x${diag_cmd}" = "x" ; then + diag_cmd="java -jar ../../plat/java/lib/diag_NB.jar"; + fi + + echo Starting Diagnostics Tool . . . + if test "x${USE_XTERM}" = "x1" ; then + if test "x${ec}" = "x" -a -x ./.ec ; then + ec=./.ec; + fi + echo ${xterm_cmd} -lf diagapplet.log -title Diagnostics_IO_Term -iconic -e ${ec} ${diag_cmd} rcs_single_dir.cfg + ${xterm_cmd} -lf diagapplet.log -title Diagnostics_IO_Term -iconic -e ${ec} ${diag_cmd} rcs_single_dir.cfg & + else + echo ${diag_cmd} rcs_single_dir.cfg + ${diag_cmd} rcs_single_dir.cfg & + fi + sleep 2 + +fi + +echo "Shutdown?" +echo "Enter "\"y\"" when you are ready to shutdown the controllers and servers," +echo "or "\"n\"" to exit the script with everything running." +read shutdown_confirm +while test "x${shutdown_confirm}" != "xn" -a "x${shutdown_confirm}" != "xy" ; do + echo "Shutdown? '(y/n)'" + read shutdown_confirm +done + +if test "x${shutdown_confirm}" = "xy" ; then + + + bgmain_pid=`ps -ea | grep bgmain | grep -v run. | awk '{print $1}' ` + echo Killing bgmain, pid = $bgmain_pid + kill -INT $bgmain_pid + + primmain_pid=`ps -ea | grep primmain | grep -v run. | awk '{print $1}' ` + echo Killing primmain, pid = $primmain_pid + kill -INT $primmain_pid + + rcs_single_dirmain_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirmain, pid = $rcs_single_dirmain_pid + kill -INT $rcs_single_dirmain_pid + + robot_supermain_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supermain, pid = $robot_supermain_pid + kill -INT $robot_supermain_pid + + servomain_pid=`ps -ea | grep servomai | grep -v run. | awk '{print $1}' ` + echo Killing servomain, pid = $servomain_pid + kill -INT $servomain_pid + + spmain_pid=`ps -ea | grep spmain | grep -v run. | awk '{print $1}' ` + echo Killing spmain, pid = $spmain_pid + kill -INT $spmain_pid + + wmmain_pid=`ps -ea | grep wmmain | grep -v run. | awk '{print $1}' ` + echo Killing wmmain, pid = $wmmain_pid + kill -INT $wmmain_pid + sleep 2 + robot_supersvr_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supersvr, pid = $robot_supersvr_pid + kill -INT $robot_supersvr_pid + rcs_single_dirsvr_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirsvr, pid = $rcs_single_dirsvr_pid + kill -INT $rcs_single_dirsvr_pid + wmsvr_pid=`ps -ea | grep wmsvr | grep -v run. | awk '{print $1}' ` + echo Killing wmsvr, pid = $wmsvr_pid + kill -INT $wmsvr_pid + spsvr_pid=`ps -ea | grep spsvr | grep -v run. | awk '{print $1}' ` + echo Killing spsvr, pid = $spsvr_pid + kill -INT $spsvr_pid + bgprimservosvr_pid=`ps -ea | grep bgprimse | grep -v run. | awk '{print $1}' ` + echo Killing bgprimservosvr, pid = $bgprimservosvr_pid + kill -INT $bgprimservosvr_pid + + sleep 2 + + + bgmain_pid=`ps -ea | grep bgmain | grep -v run. | awk '{print $1}' ` + echo Killing bgmain, pid = $bgmain_pid + kill -KILL $bgmain_pid + + primmain_pid=`ps -ea | grep primmain | grep -v run. | awk '{print $1}' ` + echo Killing primmain, pid = $primmain_pid + kill -KILL $primmain_pid + + rcs_single_dirmain_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirmain, pid = $rcs_single_dirmain_pid + kill -KILL $rcs_single_dirmain_pid + + robot_supermain_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supermain, pid = $robot_supermain_pid + kill -KILL $robot_supermain_pid + + servomain_pid=`ps -ea | grep servomai | grep -v run. | awk '{print $1}' ` + echo Killing servomain, pid = $servomain_pid + kill -KILL $servomain_pid + + spmain_pid=`ps -ea | grep spmain | grep -v run. | awk '{print $1}' ` + echo Killing spmain, pid = $spmain_pid + kill -KILL $spmain_pid + + wmmain_pid=`ps -ea | grep wmmain | grep -v run. | awk '{print $1}' ` + echo Killing wmmain, pid = $wmmain_pid + kill -KILL $wmmain_pid + sleep 2 + robot_supersvr_pid=`ps -ea | grep robot_su | grep -v run. | awk '{print $1}' ` + echo Killing robot_supersvr, pid = $robot_supersvr_pid + kill -KILL $robot_supersvr_pid + rcs_single_dirsvr_pid=`ps -ea | grep rcs_sing | grep -v run. | awk '{print $1}' ` + echo Killing rcs_single_dirsvr, pid = $rcs_single_dirsvr_pid + kill -KILL $rcs_single_dirsvr_pid + wmsvr_pid=`ps -ea | grep wmsvr | grep -v run. | awk '{print $1}' ` + echo Killing wmsvr, pid = $wmsvr_pid + kill -KILL $wmsvr_pid + spsvr_pid=`ps -ea | grep spsvr | grep -v run. | awk '{print $1}' ` + echo Killing spsvr, pid = $spsvr_pid + kill -KILL $spsvr_pid + bgprimservosvr_pid=`ps -ea | grep bgprimse | grep -v run. | awk '{print $1}' ` + echo Killing bgprimservosvr, pid = $bgprimservosvr_pid + kill -KILL $bgprimservosvr_pid + +fi + diff --git a/examples/rcs_single_dir/run_and_wait.sh b/examples/rcs_single_dir/run_and_wait.sh new file mode 100755 index 0000000..eebad18 --- /dev/null +++ b/examples/rcs_single_dir/run_and_wait.sh @@ -0,0 +1,22 @@ +#! /bin/sh + + +echo "Running $*"; +echo "with evironment:" +set +echo "" +echo "" +echo "" + +$*; + +echo "Finished $*"; +echo "with evironment:" +set +echo "" +echo "" +echo "" + + +echo "Press enter to close." +read foo diff --git a/examples/rcs_single_dir/sensor_datan.hh b/examples/rcs_single_dir/sensor_datan.hh new file mode 100644 index 0000000..275a8d3 --- /dev/null +++ b/examples/rcs_single_dir/sensor_datan.hh @@ -0,0 +1,80 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +sensor_datan.hh + +This C++ header file defines the NML Messages for SENSOR_DATA +Template Version 1.1 + +MODIFICATIONS: +Sat Mar 12 06:57:48 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef SENSOR_DATAN_HH +#define SENSOR_DATAN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +#include "offsets.hh" + +// Trying to merge the type ids often results in redefinn the ID twice.. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +// Define the integer type ids. +#define SENSOR_DATA_MSG_TYPE (SENSOR_DATA_BASE+0) +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +struct sense_data +{ + float range; + float intensity; +}; + + +// Define the NML Message Classes + +class SENSOR_DATA_MSG : public NMLmsg +{ +public: + + //Constructor + SENSOR_DATA_MSG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(sense_data, sd, 5000); + +}; + +// Declare NML format function +extern int sensor_dataFormat(NMLTYPE, void *, CMS *); + +#endif // SENSOR_DATAN_HH diff --git a/examples/rcs_single_dir/sensor_datan_c_n.c b/examples/rcs_single_dir/sensor_datan_c_n.c new file mode 100644 index 0000000..2a213e2 --- /dev/null +++ b/examples/rcs_single_dir/sensor_datan_c_n.c @@ -0,0 +1,164 @@ +/* +* New C++ File starts here. +* This file should be named sensor_datan_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "sensor_datan_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_sense_data_update(struct cms_c_struct *cms, nml_sense_data_c_t *x); +void cms_SENSOR_DATA_MSG_update(struct cms_c_struct *cms, nml_SENSOR_DATA_MSG_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_sensor_data_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(sensor_data_c_format, buf,proc,cfg); +} + +int nml_sensor_data_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_sensor_data_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_sensor_data_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_sensor_data_SENSOR_DATA_MSG_write(long nml_id, const nml_SENSOR_DATA_MSG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 115000,sizeof(nml_SENSOR_DATA_MSG_c_t)); +} + +nml_SENSOR_DATA_MSG_c_t * nml_sensor_data_SENSOR_DATA_MSG_get_msg(long nml_id){ + return (nml_SENSOR_DATA_MSG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_SENSOR_DATA_C_NAME_LENGTH +#define MAX_SENSOR_DATA_C_NAME_LENGTH 16 +#endif +#ifndef SENSOR_DATA_C_NAME_LIST_LENGTH +#define SENSOR_DATA_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char sensor_data_c_name_list[SENSOR_DATA_C_NAME_LIST_LENGTH][MAX_SENSOR_DATA_C_NAME_LENGTH]= { + "SENSOR_DATA_MSG", /* 0,115000 */ + ""}; +const NMLTYPE sensor_data_c_id_list[SENSOR_DATA_C_NAME_LIST_LENGTH]= { + SENSOR_DATA_MSG_TYPE, /* 0,115000 */ + -1}; +const size_t sensor_data_c_size_list[SENSOR_DATA_C_NAME_LIST_LENGTH]= { + sizeof(nml_SENSOR_DATA_MSG_c_t), + 0}; +const char *sensor_data_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* +* NML/CMS Format function : sensor_data_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +int sensor_data_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"sensor_data_c", + (cms_symbol_lookup_function_t) sensor_data_c_symbol_lookup, + (const char **)sensor_data_c_name_list, + sensor_data_c_id_list,sensor_data_c_size_list, + SENSOR_DATA_C_NAME_LIST_LENGTH, + MAX_SENSOR_DATA_C_NAME_LENGTH); + + switch(type) + { + case SENSOR_DATA_MSG_TYPE: + cms_SENSOR_DATA_MSG_update(cms,(nml_SENSOR_DATA_MSG_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *sensor_data_c_symbol_lookup(long type) +{ + switch(type) + { + case SENSOR_DATA_MSG_TYPE: + return "SENSOR_DATA_MSG"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for sense_data +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_sense_data_update(struct cms_c_struct *cms, nml_sense_data_c_t *x) +{ + + cms_begin_class(cms,"sense_data",0); + cms_update_float(cms,"range",&(x->range)); + cms_update_float(cms,"intensity",&(x->intensity)); + + cms_end_class(cms,"sense_data",0); + +} + + +/* +* NML/CMS Update function for SENSOR_DATA_MSG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_SENSOR_DATA_MSG_update(struct cms_c_struct *cms, nml_SENSOR_DATA_MSG_c_t *x) +{ + + cms_begin_class(cms,"SENSOR_DATA_MSG","NMLmsg"); + cms_update_int(cms,"sd_length",&(x->sd_length)); + cms_begin_struct_dynamic_array(cms,"sd",&(x->sd_length), 5000); + + { + int i_sd=0; + + for(i_sd = 0;i_sd < x->sd_length; i_sd++) + { + cms_begin_struct_array_elem(cms,"sd",i_sd); + cms_sense_data_update(cms,&(( x->sd)[i_sd])); + cms_end_struct_array_elem(cms,"sd",i_sd); + } + } + + cms_end_struct_dynamic_array(cms,"sd",&(x->sd_length), 5000); + + cms_end_class(cms,"SENSOR_DATA_MSG","NMLmsg"); + +} + diff --git a/examples/rcs_single_dir/sensor_datan_c_n.h b/examples/rcs_single_dir/sensor_datan_c_n.h new file mode 100644 index 0000000..3a5023b --- /dev/null +++ b/examples/rcs_single_dir/sensor_datan_c_n.h @@ -0,0 +1,93 @@ +/* +* New C++ Header File starts here. +* This file should be named sensor_datan_c_n.h +*/ + +#ifndef sensor_datan_c_n_h_included +#define sensor_datan_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ +#include "offsets_c_n.h" + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module sensor_data_nml +%{ +#include "sensor_datan_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +/* Redefine the message classes as C typedef structs. */ + +typedef struct { + float range; + float intensity; +} nml_sense_data_c_t; + +#ifndef SENSOR_DATA_MSG_TYPE +#define SENSOR_DATA_MSG_TYPE 115000 +#endif + +typedef struct { + int sd_length; + nml_sense_data_c_t sd[5000]; +} nml_SENSOR_DATA_MSG_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_sense_data_update(struct cms_c_struct *cms, nml_sense_data_c_t *x); +void cms_SENSOR_DATA_MSG_update(struct cms_c_struct *cms, nml_SENSOR_DATA_MSG_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_SENSOR_DATA_C_NAME_LENGTH +#define MAX_SENSOR_DATA_C_NAME_LENGTH 16 +#endif +#ifndef SENSOR_DATA_C_NAME_LIST_LENGTH +#define SENSOR_DATA_C_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char sensor_data_c_name_list[SENSOR_DATA_C_NAME_LIST_LENGTH][MAX_SENSOR_DATA_C_NAME_LENGTH]; +extern const NMLTYPE sensor_data_c_id_list[SENSOR_DATA_C_NAME_LIST_LENGTH]; +extern const size_t sensor_data_c_size_list[SENSOR_DATA_C_NAME_LIST_LENGTH]; +extern const char *sensor_data_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +extern int sensor_data_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_sensor_data_open(const char *buf, const char *proc, const char *cfg); +extern void nml_sensor_data_close(long nml_id); +extern int nml_sensor_data_read(long nml_id); +extern int nml_sensor_data_valid(long nml_id); +extern int nml_sensor_data_SENSOR_DATA_MSG_write(long nml_id, const nml_SENSOR_DATA_MSG_c_t *msg);extern nml_SENSOR_DATA_MSG_c_t * nml_sensor_data_SENSOR_DATA_MSG_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif sensor_datan_c_n_h_included */ + diff --git a/examples/rcs_single_dir/sensor_datan_n_codegen_protos.hh b/examples/rcs_single_dir/sensor_datan_n_codegen_protos.hh new file mode 100644 index 0000000..3768f81 --- /dev/null +++ b/examples/rcs_single_dir/sensor_datan_n_codegen_protos.hh @@ -0,0 +1,52 @@ +/* +* New C++ Header File starts here. +* This file should be named sensor_datan_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=sensor_datan.hh +* +* .gen script : +* 0:load sensor_datan.hh +* 1:clear +* 2:select_from_file sensor_datan.hh +* 3:generate C++ protos>sensor_datan_n_codegen_protos.hh +* 4:generate C++ format>sensor_datan_n.cc +* 5:generate C++ update>sensor_datan_n.cc +* 6:generate C++ constructor>sensor_datan_n.cc +* 7:exit +* +*/ + +#ifndef sensor_datan_n_codegen_protos_hh_included +#define sensor_datan_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "sensor_datan.hh" +#include "offsets.hh" + +// Forward Function Prototypes +extern void nmlupdate(CMS *cms, sense_data *x); +extern void initialize_sense_data(sense_data *x); + + +#ifndef MAX_SENSOR_DATANAME_LENGTH +#define MAX_SENSOR_DATANAME_LENGTH 16 +#endif +#ifndef SENSOR_DATANAME_LIST_LENGTH +#define SENSOR_DATANAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE sensor_dataid_list[SENSOR_DATANAME_LIST_LENGTH]; +extern const size_t sensor_datasize_list[SENSOR_DATANAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int sensor_dataFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif sensor_datan_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/servo.hh b/examples/rcs_single_dir/servo.hh new file mode 100644 index 0000000..71ca5fa --- /dev/null +++ b/examples/rcs_single_dir/servo.hh @@ -0,0 +1,95 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +servo.hh + +This C++ header file defines the class SERVO_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:20 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef SERVO_HH +#define SERVO_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "servon.hh" // NML Commands and Status definitions for servo + +// auxiliary Output NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class SERVO_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + SERVO_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(SERVO_CONFIG *); + virtual void GOTO_POINT(SERVO_GOTO_POINT *); + virtual void HALT(SERVO_HALT *); + virtual void INIT(SERVO_INIT *); + + // Convenience Variables + SERVO_STATUS *servo_status; + + // auxiliary Input NML Channels + + // auxiliary Output NML Channels + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG pose_data_data; //NML Data for pose_data + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // SERVO_HH + + + diff --git a/examples/rcs_single_dir/servo_cmd_setn.hh b/examples/rcs_single_dir/servo_cmd_setn.hh new file mode 100644 index 0000000..6888d4a --- /dev/null +++ b/examples/rcs_single_dir/servo_cmd_setn.hh @@ -0,0 +1,45 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + + + +#ifndef SERVO_CMD_SET_HH +#define SERVO_CMD_SET_HH + + +#define SERVO_CMD_SET_TYPE (SERVO_CMD_SET_BASE+1) +#include "offsets.hh" + +class SERVO_CMD_SET: public RCS_CMD_MSG +{ +public: + + SERVO_CMD_SET(); + void update(CMS *); +}; + +// Declare NML format function +extern int servo_cmd_set_format(NMLTYPE, void *, CMS *); + +#endif diff --git a/examples/rcs_single_dir/servo_cmd_setn_n_codegen_protos.hh b/examples/rcs_single_dir/servo_cmd_setn_n_codegen_protos.hh new file mode 100644 index 0000000..b1002d1 --- /dev/null +++ b/examples/rcs_single_dir/servo_cmd_setn_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named servo_cmd_setn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=servo_cmd_setn.hh +* +* .gen script : +* 0:load servo_cmd_setn.hh +* 1:clear +* 2:select_from_file servo_cmd_setn.hh +* 3:generate C++ protos>servo_cmd_setn_n_codegen_protos.hh +* 4:generate C++ format>servo_cmd_setn_n.cc +* 5:generate C++ update>servo_cmd_setn_n.cc +* 6:generate C++ constructor>servo_cmd_setn_n.cc +* 7:exit +* +*/ + +#ifndef servo_cmd_setn_n_codegen_protos_hh_included +#define servo_cmd_setn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "servo_cmd_setn.hh" +#include "offsets.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SERVO_CMD_SET_NAME_LENGTH +#define MAX_SERVO_CMD_SET_NAME_LENGTH 14 +#endif +#ifndef SERVO_CMD_SET_NAME_LIST_LENGTH +#define SERVO_CMD_SET_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE servo_cmd_set_id_list[SERVO_CMD_SET_NAME_LIST_LENGTH]; +extern const size_t servo_cmd_set_size_list[SERVO_CMD_SET_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int servo_cmd_set_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif servo_cmd_setn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/servo_module.cc b/examples/rcs_single_dir/servo_module.cc new file mode 100644 index 0000000..71e799b --- /dev/null +++ b/examples/rcs_single_dir/servo_module.cc @@ -0,0 +1,289 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +servo.cc + +This C++ file defines member functions for the class SERVO_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Deleted pose_data, pose_data, +Sun Mar 06 10:46:52 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:21 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "servo.hh" // SERVO_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "servon.hh" // NML Commands and Status definitions for servo + +// auxiliary Output NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Constructor +SERVO_MODULE::SERVO_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void SERVO_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "servo", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(servoFormat, "servo_cmd", "servo", "rcs_single_dir.nml")); + servo_status = new SERVO_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(servoFormat, "servo_sts", "servo", "rcs_single_dir.nml"), servo_status); + + // auxiliary Input NML Channels + + // auxiliary Output NML Channels + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "servo", "rcs_single_dir.nml"); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void SERVO_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void SERVO_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case SERVO_INIT_TYPE: + INIT((SERVO_INIT *)commandInData); + break; + + case SERVO_HALT_TYPE: + HALT((SERVO_HALT *)commandInData); + break; + + case SERVO_CONFIG_TYPE: + CONFIG((SERVO_CONFIG *)commandInData); + break; + + case SERVO_GOTO_POINT_TYPE: + GOTO_POINT((SERVO_GOTO_POINT *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void SERVO_MODULE::POST_PROCESS() +{ + // Post-Processing Code + + // auxiliary Output NML Channels + // Write data to pose_data + POSE_DATA_CHANNEL->write(&pose_data_data); +} + +// Command Functions + +/* +INIT + +Parameter(s): +SERVO_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void SERVO_MODULE::INIT(SERVO_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +SERVO_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void SERVO_MODULE::HALT(SERVO_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +SERVO_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void SERVO_MODULE::CONFIG(SERVO_CONFIG *cmd_in) +{ + // Put state table for SERVO_CONFIG here. +} + +/* +GOTO_POINT + +Parameter(s): +SERVO_GOTO_POINT *cmd_in -- NML Message sent from superior. + +*/ +void SERVO_MODULE::GOTO_POINT(SERVO_GOTO_POINT *cmd_in) +{ + // Put state table for SERVO_GOTO_POINT here. + servo_status->position = cmd_in->point; +} + diff --git a/examples/rcs_single_dir/servo_stat_cfgn.hh b/examples/rcs_single_dir/servo_stat_cfgn.hh new file mode 100644 index 0000000..2a8a245 --- /dev/null +++ b/examples/rcs_single_dir/servo_stat_cfgn.hh @@ -0,0 +1,45 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + + + +#ifndef SERVO_STAT_CFG_HH +#define SERVO_STAT_CFG_HH + +#include "offsets.hh" + +#define SERVO_STAT_CFG_TYPE (SERVO_STAT_CFG_BASE+1) + +class SERVO_STAT_CFG: public RCS_STAT_MSG +{ +public: + + SERVO_STAT_CFG(); + void update(CMS *); +}; + +// Declare NML format function +extern int servo_stat_cfg_format(NMLTYPE, void *, CMS *); + +#endif diff --git a/examples/rcs_single_dir/servo_stat_cfgn_n_codegen_protos.hh b/examples/rcs_single_dir/servo_stat_cfgn_n_codegen_protos.hh new file mode 100644 index 0000000..2d9cd03 --- /dev/null +++ b/examples/rcs_single_dir/servo_stat_cfgn_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named servo_stat_cfgn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=servo_stat_cfgn.hh +* +* .gen script : +* 0:load servo_stat_cfgn.hh +* 1:clear +* 2:select_from_file servo_stat_cfgn.hh +* 3:generate C++ protos>servo_stat_cfgn_n_codegen_protos.hh +* 4:generate C++ format>servo_stat_cfgn_n.cc +* 5:generate C++ update>servo_stat_cfgn_n.cc +* 6:generate C++ constructor>servo_stat_cfgn_n.cc +* 7:exit +* +*/ + +#ifndef servo_stat_cfgn_n_codegen_protos_hh_included +#define servo_stat_cfgn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "servo_stat_cfgn.hh" +#include "offsets.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SERVO_STAT_CFG_NAME_LENGTH +#define MAX_SERVO_STAT_CFG_NAME_LENGTH 15 +#endif +#ifndef SERVO_STAT_CFG_NAME_LIST_LENGTH +#define SERVO_STAT_CFG_NAME_LIST_LENGTH 2 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE servo_stat_cfg_id_list[SERVO_STAT_CFG_NAME_LIST_LENGTH]; +extern const size_t servo_stat_cfg_size_list[SERVO_STAT_CFG_NAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int servo_stat_cfg_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif servo_stat_cfgn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/servomain.cc b/examples/rcs_single_dir/servomain.cc new file mode 100644 index 0000000..fb54d53 --- /dev/null +++ b/examples/rcs_single_dir/servomain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + servomain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + SERVO_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "servo.hh" // definition of SERVO_MODULE + +// flag signifying main loop is to terminate +int servo_done = 0; + +//signal handler for ^C +extern "C" void servo_quit(int sig); +void servo_quit(int sig) +{ + servo_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int servo_run(); + +int servo_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.01); + SERVO_MODULE *servo = new SERVO_MODULE(); + + // set the SIGINT handler + signal(SIGINT, servo_quit); + + // enter main loop + while(!servo_done) + { + servo->controller(); + + timer->wait(); + } + + // Delete Modules + delete servo; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/servon.hh b/examples/rcs_single_dir/servon.hh new file mode 100644 index 0000000..521c905 --- /dev/null +++ b/examples/rcs_single_dir/servon.hh @@ -0,0 +1,164 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +servon.hh + +This C++ header file defines the NML Messages used for command and status by SERVO_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:21 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:07 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef SERVON_HH +#define SERVON_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define SERVO_STATUS_TYPE 6000 +#define SERVO_CONFIG_TYPE 6001 +#define SERVO_GOTO_POINT_TYPE 6002 +#define SERVO_HALT_TYPE 6003 +#define SERVO_INIT_TYPE 6004 +#define SERVO_STATUS2_TYPE 6005 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +#include "my_app_common_statusn.hh" + +// Define the NML Message Classes + +// Status Class +class SERVO_STATUS : public MY_APP_COMMON_STAT_MSG +{ +public: + + // Normal Constructor + SERVO_STATUS(); + + // Constructor used by derived classes + SERVO_STATUS(NMLTYPE t, size_t s) : MY_APP_COMMON_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN position; + +}; + +class SERVO_STATUS2 : public RCS_STAT_MSG +{ +public: + + // Normal Constructor + SERVO_STATUS2(); + + // Constructor used by derived classes + SERVO_STATUS2(NMLTYPE t, size_t s) : RCS_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Command Classes + +class SERVO_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + SERVO_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class SERVO_GOTO_POINT : public RCS_CMD_MSG +{ +public: + + //Constructor + SERVO_GOTO_POINT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + PM_CARTESIAN point; + +}; + +class SERVO_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + SERVO_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class SERVO_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + SERVO_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int servoFormat(NMLTYPE, void *, CMS *); + +#endif // SERVON_HH diff --git a/examples/rcs_single_dir/servon_c_n.c b/examples/rcs_single_dir/servon_c_n.c new file mode 100644 index 0000000..a35de81 --- /dev/null +++ b/examples/rcs_single_dir/servon_c_n.c @@ -0,0 +1,363 @@ +/* +* New C++ File starts here. +* This file should be named servon_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "servon_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_SERVO_CONFIG_update(struct cms_c_struct *cms, nml_SERVO_CONFIG_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_SERVO_GOTO_POINT_update(struct cms_c_struct *cms, nml_SERVO_GOTO_POINT_c_t *x); +void cms_SERVO_HALT_update(struct cms_c_struct *cms, nml_SERVO_HALT_c_t *x); +void cms_SERVO_INIT_update(struct cms_c_struct *cms, nml_SERVO_INIT_c_t *x); +void cms_SERVO_STATUS_update(struct cms_c_struct *cms, nml_SERVO_STATUS_c_t *x); +void cms_SERVO_STATUS2_update(struct cms_c_struct *cms, nml_SERVO_STATUS2_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_servo_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(servo_c_format, buf,proc,cfg); +} + +int nml_servo_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_servo_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_servo_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_CONFIG_write(long nml_id, const nml_SERVO_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6001,sizeof(nml_SERVO_CONFIG_c_t)); +} + +nml_SERVO_CONFIG_c_t * nml_servo_SERVO_CONFIG_get_msg(long nml_id){ + return (nml_SERVO_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_GOTO_POINT_write(long nml_id, const nml_SERVO_GOTO_POINT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6002,sizeof(nml_SERVO_GOTO_POINT_c_t)); +} + +nml_SERVO_GOTO_POINT_c_t * nml_servo_SERVO_GOTO_POINT_get_msg(long nml_id){ + return (nml_SERVO_GOTO_POINT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_HALT_write(long nml_id, const nml_SERVO_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6003,sizeof(nml_SERVO_HALT_c_t)); +} + +nml_SERVO_HALT_c_t * nml_servo_SERVO_HALT_get_msg(long nml_id){ + return (nml_SERVO_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_INIT_write(long nml_id, const nml_SERVO_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6004,sizeof(nml_SERVO_INIT_c_t)); +} + +nml_SERVO_INIT_c_t * nml_servo_SERVO_INIT_get_msg(long nml_id){ + return (nml_SERVO_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_STATUS_write(long nml_id, const nml_SERVO_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6000,sizeof(nml_SERVO_STATUS_c_t)); +} + +nml_SERVO_STATUS_c_t * nml_servo_SERVO_STATUS_get_msg(long nml_id){ + return (nml_SERVO_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_servo_SERVO_STATUS2_write(long nml_id, const nml_SERVO_STATUS2_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 6005,sizeof(nml_SERVO_STATUS2_c_t)); +} + +nml_SERVO_STATUS2_c_t * nml_servo_SERVO_STATUS2_get_msg(long nml_id){ + return (nml_SERVO_STATUS2_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_SERVO_C_NAME_LENGTH +#define MAX_SERVO_C_NAME_LENGTH 17 +#endif +#ifndef SERVO_C_NAME_LIST_LENGTH +#define SERVO_C_NAME_LIST_LENGTH 7 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char servo_c_name_list[SERVO_C_NAME_LIST_LENGTH][MAX_SERVO_C_NAME_LENGTH]= { + "SERVO_CONFIG", /* 0,6001 */ + "SERVO_GOTO_POINT", /* 1,6002 */ + "SERVO_HALT", /* 2,6003 */ + "SERVO_INIT", /* 3,6004 */ + "SERVO_STATUS", /* 4,6000 */ + "SERVO_STATUS2", /* 5,6005 */ + ""}; +const NMLTYPE servo_c_id_list[SERVO_C_NAME_LIST_LENGTH]= { + SERVO_CONFIG_TYPE, /* 0,6001 */ + SERVO_GOTO_POINT_TYPE, /* 1,6002 */ + SERVO_HALT_TYPE, /* 2,6003 */ + SERVO_INIT_TYPE, /* 3,6004 */ + SERVO_STATUS_TYPE, /* 4,6000 */ + SERVO_STATUS2_TYPE, /* 5,6005 */ + -1}; +const size_t servo_c_size_list[SERVO_C_NAME_LIST_LENGTH]= { + sizeof(nml_SERVO_CONFIG_c_t), + sizeof(nml_SERVO_GOTO_POINT_c_t), + sizeof(nml_SERVO_HALT_c_t), + sizeof(nml_SERVO_INIT_c_t), + sizeof(nml_SERVO_STATUS_c_t), + sizeof(nml_SERVO_STATUS2_c_t), + 0}; +const char *servo_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *servo_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)servo_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : servo_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +int servo_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"servo_c", + (cms_symbol_lookup_function_t) servo_c_symbol_lookup, + (const char **)servo_c_name_list, + servo_c_id_list,servo_c_size_list, + SERVO_C_NAME_LIST_LENGTH, + MAX_SERVO_C_NAME_LENGTH); + + switch(type) + { + case SERVO_CONFIG_TYPE: + cms_SERVO_CONFIG_update(cms,(nml_SERVO_CONFIG_c_t *) buffer); + break; + case SERVO_GOTO_POINT_TYPE: + cms_SERVO_GOTO_POINT_update(cms,(nml_SERVO_GOTO_POINT_c_t *) buffer); + break; + case SERVO_HALT_TYPE: + cms_SERVO_HALT_update(cms,(nml_SERVO_HALT_c_t *) buffer); + break; + case SERVO_INIT_TYPE: + cms_SERVO_INIT_update(cms,(nml_SERVO_INIT_c_t *) buffer); + break; + case SERVO_STATUS_TYPE: + cms_SERVO_STATUS_update(cms,(nml_SERVO_STATUS_c_t *) buffer); + break; + case SERVO_STATUS2_TYPE: + cms_SERVO_STATUS2_update(cms,(nml_SERVO_STATUS2_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *servo_c_symbol_lookup(long type) +{ + switch(type) + { + case SERVO_CONFIG_TYPE: + return "SERVO_CONFIG"; + case SERVO_GOTO_POINT_TYPE: + return "SERVO_GOTO_POINT"; + case SERVO_HALT_TYPE: + return "SERVO_HALT"; + case SERVO_INIT_TYPE: + return "SERVO_INIT"; + case SERVO_STATUS_TYPE: + return "SERVO_STATUS"; + case SERVO_STATUS2_TYPE: + return "SERVO_STATUS2"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for SERVO_STATUS2 +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_STATUS2_update(struct cms_c_struct *cms, nml_SERVO_STATUS2_c_t *x) +{ + + cms_begin_class(cms,"SERVO_STATUS2","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"SERVO_STATUS2","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for SERVO_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_CONFIG_update(struct cms_c_struct *cms, nml_SERVO_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"SERVO_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SERVO_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SERVO_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_INIT_update(struct cms_c_struct *cms, nml_SERVO_INIT_c_t *x) +{ + + cms_begin_class(cms,"SERVO_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SERVO_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SERVO_GOTO_POINT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_GOTO_POINT_update(struct cms_c_struct *cms, nml_SERVO_GOTO_POINT_c_t *x) +{ + + cms_begin_class(cms,"SERVO_GOTO_POINT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + cms_begin_class_var(cms,"point"); + cms_PM_CARTESIAN_update(cms, ( nml_PM_CARTESIAN_c_t *) &(x->point)); + cms_end_class_var(cms,"point"); + + cms_end_class(cms,"SERVO_GOTO_POINT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SERVO_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_STATUS_update(struct cms_c_struct *cms, nml_SERVO_STATUS_c_t *x) +{ + + cms_begin_class(cms,"SERVO_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"SERVO_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for SERVO_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SERVO_HALT_update(struct cms_c_struct *cms, nml_SERVO_HALT_c_t *x) +{ + + cms_begin_class(cms,"SERVO_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SERVO_HALT","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/servon_c_n.h b/examples/rcs_single_dir/servon_c_n.h new file mode 100644 index 0000000..aa63fe1 --- /dev/null +++ b/examples/rcs_single_dir/servon_c_n.h @@ -0,0 +1,169 @@ +/* +* New C++ Header File starts here. +* This file should be named servon_c_n.h +*/ + +#ifndef servon_c_n_h_included +#define servon_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module servo_nml +%{ +#include "servon_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef SERVO_CONFIG_TYPE +#define SERVO_CONFIG_TYPE 6001 +#endif + +typedef struct { + int serial_number; +} nml_SERVO_CONFIG_c_t; + +#ifndef SERVO_HALT_TYPE +#define SERVO_HALT_TYPE 6003 +#endif + +typedef struct { + int serial_number; +} nml_SERVO_HALT_c_t; + +#ifndef SERVO_INIT_TYPE +#define SERVO_INIT_TYPE 6004 +#endif + +typedef struct { + int serial_number; +} nml_SERVO_INIT_c_t; + +#ifndef SERVO_STATUS_TYPE +#define SERVO_STATUS_TYPE 6000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_SERVO_STATUS_c_t; + +#ifndef SERVO_STATUS2_TYPE +#define SERVO_STATUS2_TYPE 6005 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_SERVO_STATUS2_c_t; + +#ifndef SERVO_GOTO_POINT_TYPE +#define SERVO_GOTO_POINT_TYPE 6002 +#endif + +typedef struct { + int serial_number; + nml_PM_CARTESIAN_c_t point; +} nml_SERVO_GOTO_POINT_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_SERVO_CONFIG_update(struct cms_c_struct *cms, nml_SERVO_CONFIG_c_t *x); +void cms_SERVO_HALT_update(struct cms_c_struct *cms, nml_SERVO_HALT_c_t *x); +void cms_SERVO_INIT_update(struct cms_c_struct *cms, nml_SERVO_INIT_c_t *x); +void cms_SERVO_STATUS_update(struct cms_c_struct *cms, nml_SERVO_STATUS_c_t *x); +void cms_SERVO_STATUS2_update(struct cms_c_struct *cms, nml_SERVO_STATUS2_c_t *x); +void cms_PM_CARTESIAN_update(struct cms_c_struct *cms, nml_PM_CARTESIAN_c_t *x); +void cms_SERVO_GOTO_POINT_update(struct cms_c_struct *cms, nml_SERVO_GOTO_POINT_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_SERVO_C_NAME_LENGTH +#define MAX_SERVO_C_NAME_LENGTH 17 +#endif +#ifndef SERVO_C_NAME_LIST_LENGTH +#define SERVO_C_NAME_LIST_LENGTH 7 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char servo_c_name_list[SERVO_C_NAME_LIST_LENGTH][MAX_SERVO_C_NAME_LENGTH]; +extern const NMLTYPE servo_c_id_list[SERVO_C_NAME_LIST_LENGTH]; +extern const size_t servo_c_size_list[SERVO_C_NAME_LIST_LENGTH]; +extern const char *servo_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *servo_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int servo_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_servo_open(const char *buf, const char *proc, const char *cfg); +extern void nml_servo_close(long nml_id); +extern int nml_servo_read(long nml_id); +extern int nml_servo_valid(long nml_id); +extern int nml_servo_SERVO_CONFIG_write(long nml_id, const nml_SERVO_CONFIG_c_t *msg);extern nml_SERVO_CONFIG_c_t * nml_servo_SERVO_CONFIG_get_msg(long nml_id);extern int nml_servo_SERVO_HALT_write(long nml_id, const nml_SERVO_HALT_c_t *msg);extern nml_SERVO_HALT_c_t * nml_servo_SERVO_HALT_get_msg(long nml_id);extern int nml_servo_SERVO_INIT_write(long nml_id, const nml_SERVO_INIT_c_t *msg);extern nml_SERVO_INIT_c_t * nml_servo_SERVO_INIT_get_msg(long nml_id);extern int nml_servo_SERVO_STATUS_write(long nml_id, const nml_SERVO_STATUS_c_t *msg);extern nml_SERVO_STATUS_c_t * nml_servo_SERVO_STATUS_get_msg(long nml_id);extern int nml_servo_SERVO_STATUS2_write(long nml_id, const nml_SERVO_STATUS2_c_t *msg);extern nml_SERVO_STATUS2_c_t * nml_servo_SERVO_STATUS2_get_msg(long nml_id);extern int nml_servo_SERVO_GOTO_POINT_write(long nml_id, const nml_SERVO_GOTO_POINT_c_t *msg);extern nml_SERVO_GOTO_POINT_c_t * nml_servo_SERVO_GOTO_POINT_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif servon_c_n_h_included */ + diff --git a/examples/rcs_single_dir/servon_n_codegen_protos.hh b/examples/rcs_single_dir/servon_n_codegen_protos.hh new file mode 100644 index 0000000..ac28634 --- /dev/null +++ b/examples/rcs_single_dir/servon_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named servon_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=servon.hh +* +* .gen script : +* 0:load servon.hh +* 1:clear +* 2:select_from_file servon.hh +* 3:generate C++ protos>servon_n_codegen_protos.hh +* 4:generate C++ format>servon_n.cc +* 5:generate C++ update>servon_n.cc +* 6:generate C++ constructor>servon_n.cc +* 7:exit +* +*/ + +#ifndef servon_n_codegen_protos_hh_included +#define servon_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "servon.hh" +#include "my_app_common_statusn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SERVONAME_LENGTH +#define MAX_SERVONAME_LENGTH 17 +#endif +#ifndef SERVONAME_LIST_LENGTH +#define SERVONAME_LIST_LENGTH 7 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE servoid_list[SERVONAME_LIST_LENGTH]; +extern const size_t servosize_list[SERVONAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int servoFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif servon_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/sp.hh b/examples/rcs_single_dir/sp.hh new file mode 100644 index 0000000..2d8c9b7 --- /dev/null +++ b/examples/rcs_single_dir/sp.hh @@ -0,0 +1,99 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +sp.hh + +This C++ header file defines the class SP_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:21 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef SP_HH +#define SP_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "spn.hh" // NML Commands and Status definitions for sp + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data + +// auxiliary Output NML Message Files +#include "sensor_datan.hh" // NML Messages for sensor_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class SP_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + SP_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(SP_CONFIG *); + virtual void HALT(SP_HALT *); + virtual void INIT(SP_INIT *); + + // Convenience Variables + SP_STATUS *sp_status; + + // auxiliary Input NML Channels + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG *pose_data_data; // NML Data for pose_data + + // auxiliary Output NML Channels + NML *SENSOR_DATA_CHANNEL; // NML Channel for sensor_data + SENSOR_DATA_MSG sensor_data_data; //NML Data for sensor_data + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // SP_HH + + + diff --git a/examples/rcs_single_dir/sp_module.cc b/examples/rcs_single_dir/sp_module.cc new file mode 100644 index 0000000..6854f0a --- /dev/null +++ b/examples/rcs_single_dir/sp_module.cc @@ -0,0 +1,303 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +sp.cc + +This C++ file defines member functions for the class SP_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Deleted pose_data, +Sun Mar 06 10:46:52 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:21 EST 2005 Deleted pose_data, +Sun Mar 06 10:07:21 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:07 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "sp.hh" // SP_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "spn.hh" // NML Commands and Status definitions for sp + +// auxiliary Input NML Message Files +#include "pose_datan.hh" // NML Messages for pose_data + +// auxiliary Output NML Message Files +#include "sensor_datan.hh" // NML Messages for sensor_data +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +#include +#include + +// Constructor +SP_MODULE::SP_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void SP_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "sp", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(spFormat, "sp_cmd", "sp", "rcs_single_dir.nml")); + sp_status = new SP_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(spFormat, "sp_sts", "sp", "rcs_single_dir.nml"), sp_status); + + // auxiliary Input NML Channels + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "sp", "rcs_single_dir.nml"); + pose_data_data = (POSE_DATA_MSG *) POSE_DATA_CHANNEL->get_address(); + + // auxiliary Output NML Channels + //sensor_data + SENSOR_DATA_CHANNEL = new NML(sensor_dataFormat, "sensor_data", "sp", "rcs_single_dir.nml"); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void SP_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Read new data from pose_data + POSE_DATA_CHANNEL->read(); + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void SP_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case SP_INIT_TYPE: + INIT((SP_INIT *)commandInData); + break; + + case SP_HALT_TYPE: + HALT((SP_HALT *)commandInData); + break; + + case SP_CONFIG_TYPE: + CONFIG((SP_CONFIG *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void SP_MODULE::POST_PROCESS() +{ + // Post-Processing Code + + // auxiliary Output NML Channels + // Write data to sensor_data + sensor_data_data.sd_length= sizeof(sensor_data_data.sd)/sizeof(sensor_data_data.sd[0]); + for(int i = 0 ; i < sensor_data_data.sd_length ; i++) + { + double dr = (((double)rand())-(RAND_MAX/2))/RAND_MAX; + double dr2 = (((double)rand())-(RAND_MAX/2))/RAND_MAX; + if(i > 0) + { + sensor_data_data.sd[i].range = sensor_data_data.sd[i-1].range +dr; + sensor_data_data.sd[i].intensity = sensor_data_data.sd[i-1].intensity + dr*dr2; + } + else + { + sensor_data_data.sd[i].intensity = sensor_data_data.sd[i].intensity +dr; + sensor_data_data.sd[i].range = sensor_data_data.sd[i].range +dr*dr2; + } + } + + SENSOR_DATA_CHANNEL->write(&sensor_data_data); + + SP_STATUS *sts = sp_status; + sts->stime = sin(etime()); +} + +// Command Functions + +/* +INIT + +Parameter(s): +SP_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void SP_MODULE::INIT(SP_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +SP_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void SP_MODULE::HALT(SP_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +SP_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void SP_MODULE::CONFIG(SP_CONFIG *cmd_in) +{ + // Put state table for SP_CONFIG here. +} + diff --git a/examples/rcs_single_dir/spmain.cc b/examples/rcs_single_dir/spmain.cc new file mode 100644 index 0000000..769c482 --- /dev/null +++ b/examples/rcs_single_dir/spmain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + spmain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + SP_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "sp.hh" // definition of SP_MODULE + +// flag signifying main loop is to terminate +int sp_done = 0; + +//signal handler for ^C +extern "C" void sp_quit(int sig); +void sp_quit(int sig) +{ + sp_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int sp_run(); + +int sp_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.01); + SP_MODULE *sp = new SP_MODULE(); + + // set the SIGINT handler + signal(SIGINT, sp_quit); + + // enter main loop + while(!sp_done) + { + sp->controller(); + + timer->wait(); + } + + // Delete Modules + delete sp; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/spn.hh b/examples/rcs_single_dir/spn.hh new file mode 100644 index 0000000..98acea2 --- /dev/null +++ b/examples/rcs_single_dir/spn.hh @@ -0,0 +1,130 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +spn.hh + +This C++ header file defines the NML Messages used for command and status by SP_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:52 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:21 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:08 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef SPN_HH +#define SPN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define SP_STATUS_TYPE 2000 +#define SP_CONFIG_TYPE 2001 +#define SP_HALT_TYPE 2002 +#define SP_INIT_TYPE 2003 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +#include "my_app_common_statusn.hh" + +// Define the NML Message Classes + +// Status Class +class SP_STATUS : public MY_APP_COMMON_STAT_MSG +{ +public: + + // Normal Constructor + SP_STATUS(); + + // Constructor used by derived classes + SP_STATUS(NMLTYPE t, size_t s) : MY_APP_COMMON_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + double stime; + +}; + +// Command Classes + +class SP_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + SP_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class SP_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + SP_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class SP_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + SP_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int spFormat(NMLTYPE, void *, CMS *); + +#endif // SPN_HH diff --git a/examples/rcs_single_dir/spn_c_n.c b/examples/rcs_single_dir/spn_c_n.c new file mode 100644 index 0000000..21d4c06 --- /dev/null +++ b/examples/rcs_single_dir/spn_c_n.c @@ -0,0 +1,286 @@ +/* +* New C++ File starts here. +* This file should be named spn_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "spn_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_SP_CONFIG_update(struct cms_c_struct *cms, nml_SP_CONFIG_c_t *x); +void cms_SP_HALT_update(struct cms_c_struct *cms, nml_SP_HALT_c_t *x); +void cms_SP_INIT_update(struct cms_c_struct *cms, nml_SP_INIT_c_t *x); +void cms_SP_STATUS_update(struct cms_c_struct *cms, nml_SP_STATUS_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_sp_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(sp_c_format, buf,proc,cfg); +} + +int nml_sp_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_sp_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_sp_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_sp_SP_CONFIG_write(long nml_id, const nml_SP_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 2001,sizeof(nml_SP_CONFIG_c_t)); +} + +nml_SP_CONFIG_c_t * nml_sp_SP_CONFIG_get_msg(long nml_id){ + return (nml_SP_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_sp_SP_HALT_write(long nml_id, const nml_SP_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 2002,sizeof(nml_SP_HALT_c_t)); +} + +nml_SP_HALT_c_t * nml_sp_SP_HALT_get_msg(long nml_id){ + return (nml_SP_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_sp_SP_INIT_write(long nml_id, const nml_SP_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 2003,sizeof(nml_SP_INIT_c_t)); +} + +nml_SP_INIT_c_t * nml_sp_SP_INIT_get_msg(long nml_id){ + return (nml_SP_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_sp_SP_STATUS_write(long nml_id, const nml_SP_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 2000,sizeof(nml_SP_STATUS_c_t)); +} + +nml_SP_STATUS_c_t * nml_sp_SP_STATUS_get_msg(long nml_id){ + return (nml_SP_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_SP_C_NAME_LENGTH +#define MAX_SP_C_NAME_LENGTH 10 +#endif +#ifndef SP_C_NAME_LIST_LENGTH +#define SP_C_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char sp_c_name_list[SP_C_NAME_LIST_LENGTH][MAX_SP_C_NAME_LENGTH]= { + "SP_CONFIG", /* 0,2001 */ + "SP_HALT", /* 1,2002 */ + "SP_INIT", /* 2,2003 */ + "SP_STATUS", /* 3,2000 */ + ""}; +const NMLTYPE sp_c_id_list[SP_C_NAME_LIST_LENGTH]= { + SP_CONFIG_TYPE, /* 0,2001 */ + SP_HALT_TYPE, /* 1,2002 */ + SP_INIT_TYPE, /* 2,2003 */ + SP_STATUS_TYPE, /* 3,2000 */ + -1}; +const size_t sp_c_size_list[SP_C_NAME_LIST_LENGTH]= { + sizeof(nml_SP_CONFIG_c_t), + sizeof(nml_SP_HALT_c_t), + sizeof(nml_SP_INIT_c_t), + sizeof(nml_SP_STATUS_c_t), + 0}; +const char *sp_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *sp_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)sp_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : sp_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +int sp_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"sp_c", + (cms_symbol_lookup_function_t) sp_c_symbol_lookup, + (const char **)sp_c_name_list, + sp_c_id_list,sp_c_size_list, + SP_C_NAME_LIST_LENGTH, + MAX_SP_C_NAME_LENGTH); + + switch(type) + { + case SP_CONFIG_TYPE: + cms_SP_CONFIG_update(cms,(nml_SP_CONFIG_c_t *) buffer); + break; + case SP_HALT_TYPE: + cms_SP_HALT_update(cms,(nml_SP_HALT_c_t *) buffer); + break; + case SP_INIT_TYPE: + cms_SP_INIT_update(cms,(nml_SP_INIT_c_t *) buffer); + break; + case SP_STATUS_TYPE: + cms_SP_STATUS_update(cms,(nml_SP_STATUS_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *sp_c_symbol_lookup(long type) +{ + switch(type) + { + case SP_CONFIG_TYPE: + return "SP_CONFIG"; + case SP_HALT_TYPE: + return "SP_HALT"; + case SP_INIT_TYPE: + return "SP_INIT"; + case SP_STATUS_TYPE: + return "SP_STATUS"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for SP_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SP_INIT_update(struct cms_c_struct *cms, nml_SP_INIT_c_t *x) +{ + + cms_begin_class(cms,"SP_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SP_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SP_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SP_STATUS_update(struct cms_c_struct *cms, nml_SP_STATUS_c_t *x) +{ + + cms_begin_class(cms,"SP_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + cms_update_double(cms,"stime",&(x->stime)); + + cms_end_class(cms,"SP_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for SP_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SP_CONFIG_update(struct cms_c_struct *cms, nml_SP_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"SP_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SP_CONFIG","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SP_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:19 EST 2006 +*/ +void cms_SP_HALT_update(struct cms_c_struct *cms, nml_SP_HALT_c_t *x) +{ + + cms_begin_class(cms,"SP_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"SP_HALT","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/spn_c_n.h b/examples/rcs_single_dir/spn_c_n.h new file mode 100644 index 0000000..fbdd26a --- /dev/null +++ b/examples/rcs_single_dir/spn_c_n.h @@ -0,0 +1,144 @@ +/* +* New C++ Header File starts here. +* This file should be named spn_c_n.h +*/ + +#ifndef spn_c_n_h_included +#define spn_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module sp_nml +%{ +#include "spn_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef SP_CONFIG_TYPE +#define SP_CONFIG_TYPE 2001 +#endif + +typedef struct { + int serial_number; +} nml_SP_CONFIG_c_t; + +#ifndef SP_HALT_TYPE +#define SP_HALT_TYPE 2002 +#endif + +typedef struct { + int serial_number; +} nml_SP_HALT_c_t; + +#ifndef SP_INIT_TYPE +#define SP_INIT_TYPE 2003 +#endif + +typedef struct { + int serial_number; +} nml_SP_INIT_c_t; + +#ifndef SP_STATUS_TYPE +#define SP_STATUS_TYPE 2000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; + double stime; +} nml_SP_STATUS_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_SP_CONFIG_update(struct cms_c_struct *cms, nml_SP_CONFIG_c_t *x); +void cms_SP_HALT_update(struct cms_c_struct *cms, nml_SP_HALT_c_t *x); +void cms_SP_INIT_update(struct cms_c_struct *cms, nml_SP_INIT_c_t *x); +void cms_SP_STATUS_update(struct cms_c_struct *cms, nml_SP_STATUS_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_SP_C_NAME_LENGTH +#define MAX_SP_C_NAME_LENGTH 10 +#endif +#ifndef SP_C_NAME_LIST_LENGTH +#define SP_C_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char sp_c_name_list[SP_C_NAME_LIST_LENGTH][MAX_SP_C_NAME_LENGTH]; +extern const NMLTYPE sp_c_id_list[SP_C_NAME_LIST_LENGTH]; +extern const size_t sp_c_size_list[SP_C_NAME_LIST_LENGTH]; +extern const char *sp_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *sp_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int sp_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_sp_open(const char *buf, const char *proc, const char *cfg); +extern void nml_sp_close(long nml_id); +extern int nml_sp_read(long nml_id); +extern int nml_sp_valid(long nml_id); +extern int nml_sp_SP_CONFIG_write(long nml_id, const nml_SP_CONFIG_c_t *msg);extern nml_SP_CONFIG_c_t * nml_sp_SP_CONFIG_get_msg(long nml_id);extern int nml_sp_SP_HALT_write(long nml_id, const nml_SP_HALT_c_t *msg);extern nml_SP_HALT_c_t * nml_sp_SP_HALT_get_msg(long nml_id);extern int nml_sp_SP_INIT_write(long nml_id, const nml_SP_INIT_c_t *msg);extern nml_SP_INIT_c_t * nml_sp_SP_INIT_get_msg(long nml_id);extern int nml_sp_SP_STATUS_write(long nml_id, const nml_SP_STATUS_c_t *msg);extern nml_SP_STATUS_c_t * nml_sp_SP_STATUS_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif spn_c_n_h_included */ + diff --git a/examples/rcs_single_dir/spn_n_codegen_protos.hh b/examples/rcs_single_dir/spn_n_codegen_protos.hh new file mode 100644 index 0000000..3f1e4bc --- /dev/null +++ b/examples/rcs_single_dir/spn_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named spn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=spn.hh +* +* .gen script : +* 0:load spn.hh +* 1:clear +* 2:select_from_file spn.hh +* 3:generate C++ protos>spn_n_codegen_protos.hh +* 4:generate C++ format>spn_n.cc +* 5:generate C++ update>spn_n.cc +* 6:generate C++ constructor>spn_n.cc +* 7:exit +* +*/ + +#ifndef spn_n_codegen_protos_hh_included +#define spn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "spn.hh" +#include "my_app_common_statusn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SPNAME_LENGTH +#define MAX_SPNAME_LENGTH 10 +#endif +#ifndef SPNAME_LIST_LENGTH +#define SPNAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE spid_list[SPNAME_LIST_LENGTH]; +extern const size_t spsize_list[SPNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int spFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif spn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/spsvr.cc b/examples/rcs_single_dir/spsvr.cc new file mode 100644 index 0000000..0e534b4 --- /dev/null +++ b/examples/rcs_single_dir/spsvr.cc @@ -0,0 +1,122 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + spsvr.cc + + This C++ file provides a main routin to start an NML server for this application + It connects to all of the NML channels used by this application. + If they are all valid it will call run_nml_servers(), otherwise it will exit immediately. + + MODIFICATIONS: + Sun Mar 06 10:46:52 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include "rcs.hh" // Common RCS definitions +#include "spn.hh" // NML Commands and Status definitions for sp +#include "sensor_datan.hh" // sensor_dataFormat + +// NML Channel Pointers +static RCS_CMD_CHANNEL *sp_cmd = NULL; +static RCS_STAT_CHANNEL *sp_stat = NULL; +static NML *sensor_data= NULL; + +static int InitNML() +{ + + + // sp + sp_cmd = new RCS_CMD_CHANNEL(spFormat, "sp_cmd", "spsvr", "rcs_single_dir.nml"); + if(NULL == sp_cmd) + return -1; + if(!sp_cmd->valid()) + return -1; + + sp_stat = new RCS_STAT_CHANNEL(spFormat, "sp_sts", "spsvr", "rcs_single_dir.nml"); + if(NULL == sp_stat) + return -1; + if(!sp_stat->valid()) + return -1; + + + sensor_data = new NML(sensor_dataFormat, "sensor_data", "spsvr", "rcs_single_dir.nml"); + if(NULL == sensor_data) + return -1; + if(!sensor_data->valid()) + return -1; + + return 0; +} + +static void DeleteNML() +{ + + // sp + if(NULL != sp_cmd) + { + delete sp_cmd; + sp_cmd = NULL; + } + + if(NULL != sp_stat) + { + delete sp_stat; + sp_stat = NULL; + } + + + if(NULL != sensor_data) + { + delete sensor_data; + sensor_data = NULL; + } + + +} + +// Main +#ifdef VXWORKS +extern "C" int spsvr_run(); + +int spsvr_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + if(InitNML() < 0) + { + DeleteNML(); + return(-1); + } + + run_nml_servers(); + +} + diff --git a/examples/rcs_single_dir/wm.hh b/examples/rcs_single_dir/wm.hh new file mode 100644 index 0000000..130f766 --- /dev/null +++ b/examples/rcs_single_dir/wm.hh @@ -0,0 +1,102 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +wm.hh + +This C++ header file defines the class WM_MODULE +It was generated with the RCS-Design tool. +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:53 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:21 EST 2005 Modified by RCS-Design tool. +Sun Mar 06 10:07:08 EST 2005 Created by RCS-Design tool. + +*/ + +// Prevent Multiple Inclusion +#ifndef WM_HH +#define WM_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "wmn.hh" // NML Commands and Status definitions for wm + +// auxiliary Input NML Message Files +#include "sensor_datan.hh" // NML Messages for sensor_data +#include "pose_datan.hh" // NML Messages for pose_data + +// auxiliary Output NML Message Files +#include "obstacle_mapn.hh" // NML Messages for obstacle_map +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +class WM_MODULE: public NML_MODULE +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +public: + + WM_MODULE(int _is_base_class = 0); // Constructor + + // Overloaded Virtual Functions + virtual void PRE_PROCESS(); + virtual void DECISION_PROCESS(); + virtual void POST_PROCESS(); + virtual void INITIALIZE_NML(); + + // Command Functions + virtual void CONFIG(WM_CONFIG *); + virtual void HALT(WM_HALT *); + virtual void INIT(WM_INIT *); + + // Convenience Variables + WM_STATUS *wm_status; + + // auxiliary Input NML Channels + NML *SENSOR_DATA_CHANNEL; // NML Channel for sensor_data + SENSOR_DATA_MSG *sensor_data_data; // NML Data for sensor_data + NML *POSE_DATA_CHANNEL; // NML Channel for pose_data + POSE_DATA_MSG *pose_data_data; // NML Data for pose_data + + // auxiliary Output NML Channels + NML *OBSTACLE_MAP_CHANNEL; // NML Channel for obstacle_map + OBSTACLE_MAP_MSG obstacle_map_data; //NML Data for obstacle_map + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +private: + // Add custom variables and functions here. + +}; + +#endif // WM_HH + + + diff --git a/examples/rcs_single_dir/wm_module.cc b/examples/rcs_single_dir/wm_module.cc new file mode 100644 index 0000000..73899eb --- /dev/null +++ b/examples/rcs_single_dir/wm_module.cc @@ -0,0 +1,287 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +wm.cc + +This C++ file defines member functions for the class WM_MODULE +It was generated with rcsdesign +with template version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:53 EST 2005 Deleted obstacle_map, obstacle_map, pose_data, +Sun Mar 06 10:46:53 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:21 EST 2005 Deleted pose_data, +Sun Mar 06 10:07:21 EST 2005 Modified with RCS-Design tool. +Sun Mar 06 10:07:08 EST 2005 Created with RCS-Design tool. + +*/ + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "wm.hh" // WM_MODULE definitions +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + +#include "wmn.hh" // NML Commands and Status definitions for wm + +// auxiliary Input NML Message Files +#include "sensor_datan.hh" // NML Messages for sensor_data +#include "pose_datan.hh" // NML Messages for pose_data + +// auxiliary Output NML Message Files +#include "obstacle_mapn.hh" // NML Messages for obstacle_map +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Constructor +WM_MODULE::WM_MODULE(int _is_base_class) +{ + + // Initialize the NML channels if this module is not being used as the base class for another module. + if(!_is_base_class) + { + INITIALIZE_NML(); + } + // Add additional code to initialize the module here. + +} + +// Overloaded Virtual Functions + +/* +INITIALIZE_NML + +The INITIALIZE_NML function is ussually called only once from within the +constructor. It should not be called if a derived class will also call it. + +*/ +void WM_MODULE::INITIALIZE_NML() +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + setErrorLogChannel(new NML(nmlErrorFormat, "errlog", "wm", "rcs_single_dir.nml")); + setCmdChannel(new RCS_CMD_CHANNEL(wmFormat, "wm_cmd", "wm", "rcs_single_dir.nml")); + wm_status = new WM_STATUS(); + setStatChannel(new RCS_STAT_CHANNEL(wmFormat, "wm_sts", "wm", "rcs_single_dir.nml"), wm_status); + + // auxiliary Input NML Channels + //sensor_data + SENSOR_DATA_CHANNEL = new NML(sensor_dataFormat, "sensor_data", "wm", "rcs_single_dir.nml"); + sensor_data_data = (SENSOR_DATA_MSG *) SENSOR_DATA_CHANNEL->get_address(); + //pose_data + POSE_DATA_CHANNEL = new NML(pose_dataFormat, "pose_data", "wm", "rcs_single_dir.nml"); + pose_data_data = (POSE_DATA_MSG *) POSE_DATA_CHANNEL->get_address(); + + // auxiliary Output NML Channels + //obstacle_map + OBSTACLE_MAP_CHANNEL = new NML(obstacle_mapFormat, "obstacle_map", "wm", "rcs_single_dir.nml"); + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + +} + +/* +PRE_PROCESS + +The PRE_PROCESS function is called every cycle after the command and +subordinates status have been read but before DECISION_PROCESS is called. +It is intended to be used for tasks such as sensory processing that should +be performed every cycle regardless of the current command or state. + +*/ +void WM_MODULE::PRE_PROCESS() +{ + // auxiliary Input NML Channels + // Read new data from sensor_data + SENSOR_DATA_CHANNEL->read(); + // Read new data from pose_data + POSE_DATA_CHANNEL->read(); + // Pre-Processing Code +} + +/* +DECISION_PROCESS + +The DECISION_PROCESS function is called every cycle as long as there is a non-zero command. +It is expected to call a command function based on commandInData->type. + +*/ +void WM_MODULE::DECISION_PROCESS() +{ + switch(commandInData->type) + { + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + case WM_INIT_TYPE: + INIT((WM_INIT *)commandInData); + break; + + case WM_HALT_TYPE: + HALT((WM_HALT *)commandInData); + break; + + case WM_CONFIG_TYPE: + CONFIG((WM_CONFIG *)commandInData); + break; + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + default: + logError("The command %d is not recognized.",commandInData->type); + break; + } +} + +/* +POST_PROCESS + +The POST_PROCESS function is called every cycle after DECISION_PROCESS is called +but before the status and the subordinates commands have been written. +It is intended to be used for tasks such as output filters that should +be performed every cycle regardless of the current command or state. + +*/ +void WM_MODULE::POST_PROCESS() +{ + // Post-Processing Code + + // auxiliary Output NML Channels + // Write data to obstacle_map + OBSTACLE_MAP_CHANNEL->write(&obstacle_map_data); +} + +// Command Functions + +/* +INIT + +Parameter(s): +WM_INIT *cmd_in -- NML Message sent from superior. + +Most Modules will have an INIT command. +The INIT function is expected to initialize any variables that may be +in an uninitialized or unknown state, send INIT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void WM_MODULE::INIT(WM_INIT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + // Send an INIT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + stateNext(S1); + // Reinitialize variables here. + + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + +/* +HALT + +Parameter(s): +WM_HALT *cmd_in -- NML Message sent from superior. + +Most Modules will have an HALT command. +The HALT function is expected to stop any motion or command execution, +send HALT commands to its subordinates, +wait for the subordinates to be DONE and then inform its superior that it is done. +The state tables should use the STATE_MATCH macro so the diagnostics tool can +highlight the current line in the state table. + +*/ +void WM_MODULE::HALT(WM_HALT *cmd_in) +{ + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + + if(STATE_MATCH(NEW_COMMAND)) + { + //Send a HALT command to all subordinates. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + stateNext(S1); + } + // Wait for all subordinates to report done. + // RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + + else if(STATE_MATCH(S1, + 1)) + // RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + { + status = RCS_DONE; + stateNext(S2); + } + else if(STATE_MATCH(S2)) + { + // Idle State + } +} + + + +/* +CONFIG + +Parameter(s): +WM_CONFIG *cmd_in -- NML Message sent from superior. + +*/ +void WM_MODULE::CONFIG(WM_CONFIG *cmd_in) +{ + // Put state table for WM_CONFIG here. +} + diff --git a/examples/rcs_single_dir/wmmain.cc b/examples/rcs_single_dir/wmmain.cc new file mode 100644 index 0000000..2856563 --- /dev/null +++ b/examples/rcs_single_dir/wmmain.cc @@ -0,0 +1,87 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + wmmain.cc + + This file provides the C++ main function which + creates and runs the following control modules: + + WM_MODULE + + MODIFICATIONS: + Sun Mar 06 10:46:53 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include // SIGINT, signal() +#include "rcs.hh" // Common RCS definitions +#include "nml_mod.hh" // NML_MODULE definitions +#include "wm.hh" // definition of WM_MODULE + +// flag signifying main loop is to terminate +int wm_done = 0; + +//signal handler for ^C +extern "C" void wm_quit(int sig); +void wm_quit(int sig) +{ + wm_done = 1; +} + +// main loop, running 6 controller(s) +#ifdef VXWORKS +extern "C" int wm_run(); + +int wm_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + RCS_TIMER *timer = new RCS_TIMER(0.1); + WM_MODULE *wm = new WM_MODULE(); + + // set the SIGINT handler + signal(SIGINT, wm_quit); + + // enter main loop + while(!wm_done) + { + wm->controller(); + + timer->wait(); + } + + // Delete Modules + delete wm; + + // Delete Timer + delete timer; +} + diff --git a/examples/rcs_single_dir/wmn.hh b/examples/rcs_single_dir/wmn.hh new file mode 100644 index 0000000..7467905 --- /dev/null +++ b/examples/rcs_single_dir/wmn.hh @@ -0,0 +1,131 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* +wmn.hh + +This C++ header file defines the NML Messages used for command and status by WM_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Mar 06 10:46:53 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:21 EST 2005 Modified by rcsdesign. +Sun Mar 06 10:07:08 EST 2005 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef WMN_HH +#define WMN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define WM_STATUS_TYPE 3000 +#define WM_CONFIG_TYPE 3001 +#define WM_HALT_TYPE 3002 +#define WM_INIT_TYPE 3003 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes +#include "my_app_common_statusn.hh" + +// Status Class +class WM_STATUS : public MY_APP_COMMON_STAT_MSG +{ +public: + + // Normal Constructor + WM_STATUS(); + + // Constructor used by derived classes + WM_STATUS(NMLTYPE t, size_t s) : MY_APP_COMMON_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Command Classes + +class WM_CONFIG : public RCS_CMD_MSG +{ +public: + + //Constructor + WM_CONFIG(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + double min_obstacle_height; + double max_obstacle_height; + +}; + +class WM_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + WM_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class WM_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + WM_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +// Declare NML format function +extern int wmFormat(NMLTYPE, void *, CMS *); + +#endif // WMN_HH diff --git a/examples/rcs_single_dir/wmn_c_n.c b/examples/rcs_single_dir/wmn_c_n.c new file mode 100644 index 0000000..6c45161 --- /dev/null +++ b/examples/rcs_single_dir/wmn_c_n.c @@ -0,0 +1,287 @@ +/* +* New C++ File starts here. +* This file should be named wmn_c_n.c +*/ + +/* Include all C language NML and CMS function prototypes. */ +#include "nmlcms_c.h" + +/* Include externally supplied prototypes. */ +#include "wmn_c_n.h" + +/* Forward Function Prototypes */ +#ifdef __cplusplus +extern "C" { +#endif + +void cms_WM_CONFIG_update(struct cms_c_struct *cms, nml_WM_CONFIG_c_t *x); +void cms_WM_HALT_update(struct cms_c_struct *cms, nml_WM_HALT_c_t *x); +void cms_WM_INIT_update(struct cms_c_struct *cms, nml_WM_INIT_c_t *x); +void cms_WM_STATUS_update(struct cms_c_struct *cms, nml_WM_STATUS_c_t *x); + +#ifdef __cplusplus +} +#endif +long nml_wm_open(const char *buf, const char *proc, const char *cfg) +{ + return (long) nml_new(wm_c_format, buf,proc,cfg); +} + +int nml_wm_valid(long nml_id) +{ + return (int) nml_valid( (nml_c_t) nml_id); +} + +void nml_wm_close(long nml_id) +{ + nml_free( (nml_c_t) nml_id); +} + +int nml_wm_read(long nml_id) +{ + return (long) nml_read( (nml_c_t) nml_id); +} + +int nml_wm_WM_CONFIG_write(long nml_id, const nml_WM_CONFIG_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 3001,sizeof(nml_WM_CONFIG_c_t)); +} + +nml_WM_CONFIG_c_t * nml_wm_WM_CONFIG_get_msg(long nml_id){ + return (nml_WM_CONFIG_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_wm_WM_HALT_write(long nml_id, const nml_WM_HALT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 3002,sizeof(nml_WM_HALT_c_t)); +} + +nml_WM_HALT_c_t * nml_wm_WM_HALT_get_msg(long nml_id){ + return (nml_WM_HALT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_wm_WM_INIT_write(long nml_id, const nml_WM_INIT_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 3003,sizeof(nml_WM_INIT_c_t)); +} + +nml_WM_INIT_c_t * nml_wm_WM_INIT_get_msg(long nml_id){ + return (nml_WM_INIT_c_t *) nml_get_address( (nml_c_t) nml_id); +} + +int nml_wm_WM_STATUS_write(long nml_id, const nml_WM_STATUS_c_t *msg){ + return (int) nml_write( (nml_c_t) nml_id,(void *) msg, (nmltype_c_t) 3000,sizeof(nml_WM_STATUS_c_t)); +} + +nml_WM_STATUS_c_t * nml_wm_WM_STATUS_get_msg(long nml_id){ + return (nml_WM_STATUS_c_t *) nml_get_address( (nml_c_t) nml_id); +} + + + + +#ifndef MAX_WM_C_NAME_LENGTH +#define MAX_WM_C_NAME_LENGTH 10 +#endif +#ifndef WM_C_NAME_LIST_LENGTH +#define WM_C_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char wm_c_name_list[WM_C_NAME_LIST_LENGTH][MAX_WM_C_NAME_LENGTH]= { + "WM_CONFIG", /* 0,3001 */ + "WM_HALT", /* 1,3002 */ + "WM_INIT", /* 2,3003 */ + "WM_STATUS", /* 3,3000 */ + ""}; +const NMLTYPE wm_c_id_list[WM_C_NAME_LIST_LENGTH]= { + WM_CONFIG_TYPE, /* 0,3001 */ + WM_HALT_TYPE, /* 1,3002 */ + WM_INIT_TYPE, /* 2,3003 */ + WM_STATUS_TYPE, /* 3,3000 */ + -1}; +const size_t wm_c_size_list[WM_C_NAME_LIST_LENGTH]= { + sizeof(nml_WM_CONFIG_c_t), + sizeof(nml_WM_HALT_c_t), + sizeof(nml_WM_INIT_c_t), + sizeof(nml_WM_STATUS_c_t), + 0}; +const char *wm_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *wm_c_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)wm_c_enum_RCS_STATUS_symbol_lookup + }; + +/* +* NML/CMS Format function : wm_c_format +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +int wm_c_format(long type, void *buffer, struct cms_c_struct *cms) +{ + + type = cms_check_type_info(cms,type,buffer,"wm_c", + (cms_symbol_lookup_function_t) wm_c_symbol_lookup, + (const char **)wm_c_name_list, + wm_c_id_list,wm_c_size_list, + WM_C_NAME_LIST_LENGTH, + MAX_WM_C_NAME_LENGTH); + + switch(type) + { + case WM_CONFIG_TYPE: + cms_WM_CONFIG_update(cms,(nml_WM_CONFIG_c_t *) buffer); + break; + case WM_HALT_TYPE: + cms_WM_HALT_update(cms,(nml_WM_HALT_c_t *) buffer); + break; + case WM_INIT_TYPE: + cms_WM_INIT_update(cms,(nml_WM_INIT_c_t *) buffer); + break; + case WM_STATUS_TYPE: + cms_WM_STATUS_update(cms,(nml_WM_STATUS_c_t *) buffer); + break; + + default: + return(0); + } + return 1; +} + + +/* NML Symbol Lookup Function */ +const char *wm_c_symbol_lookup(long type) +{ + switch(type) + { + case WM_CONFIG_TYPE: + return "WM_CONFIG"; + case WM_HALT_TYPE: + return "WM_HALT"; + case WM_INIT_TYPE: + return "WM_INIT"; + case WM_STATUS_TYPE: + return "WM_STATUS"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for WM_HALT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_WM_HALT_update(struct cms_c_struct *cms, nml_WM_HALT_c_t *x) +{ + + cms_begin_class(cms,"WM_HALT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"WM_HALT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for WM_INIT +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_WM_INIT_update(struct cms_c_struct *cms, nml_WM_INIT_c_t *x) +{ + + cms_begin_class(cms,"WM_INIT","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + + cms_end_class(cms,"WM_INIT","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for WM_STATUS +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_WM_STATUS_update(struct cms_c_struct *cms, nml_WM_STATUS_c_t *x) +{ + + cms_begin_class(cms,"WM_STATUS","RCS_STAT_MSG"); + cms_begin_update_stat_msg_base(cms,(void*)x); + cms_update_long(cms,"command_type",&(x->command_type)); + cms_update_int(cms,"echo_serial_number",&(x->echo_serial_number)); + cms_update_int(cms,"status",&(x->status)); + cms_update_int(cms,"state",&(x->state)); + cms_update_int(cms,"source_line",&(x->source_line)); + cms_update_char_array(cms,"source_file",(x->source_file),64); + cms_end_update_stat_msg_base(cms,(void*)x); + + cms_end_class(cms,"WM_STATUS","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for WM_CONFIG +* Automatically generated by NML CodeGen Java Applet. +* on Sat Feb 25 10:10:20 EST 2006 +*/ +void cms_WM_CONFIG_update(struct cms_c_struct *cms, nml_WM_CONFIG_c_t *x) +{ + + cms_begin_class(cms,"WM_CONFIG","RCS_CMD_MSG"); + cms_begin_update_cmd_msg_base(cms,(void*)x); + cms_update_int(cms,"serial_number",&(x->serial_number)); cms_end_update_cmd_msg_base(cms,(void*)x); + cms_update_double(cms,"min_obstacle_height",&(x->min_obstacle_height)); + cms_update_double(cms,"max_obstacle_height",&(x->max_obstacle_height)); + + cms_end_class(cms,"WM_CONFIG","RCS_CMD_MSG"); + +} + diff --git a/examples/rcs_single_dir/wmn_c_n.h b/examples/rcs_single_dir/wmn_c_n.h new file mode 100644 index 0000000..ee9f497 --- /dev/null +++ b/examples/rcs_single_dir/wmn_c_n.h @@ -0,0 +1,145 @@ +/* +* New C++ Header File starts here. +* This file should be named wmn_c_n.h +*/ + +#ifndef wmn_c_n_h_included +#define wmn_c_n_h_included + +/* Include all NML and CMS functions */ +#include "nmlcms_c.h" + +/* Include the other header files that contain message definitions we might need. */ + +/* SWIG (Simplified Wrapper and Interface Generator) support. */ +/* see http://www.swig.org */ +#ifdef SWIG +%module wm_nml +%{ +#include "wmn_c_n.h" +#include "nmlcms_c.h" +%} +#endif +/* end of #ifdef SWIG */ + +#ifndef SWIG +#ifdef __cplusplus +extern "C" { +#endif +#endif +/* end of #ifndef SWIG */ + + +/* Create C versions of the Enumeration types. */ + +enum RCS_STATUS { + RCS_EXEC=2, + RCS_DONE=1, + RCS_ERROR=3, + UNINITIALIZED_STATUS=-1 +}; + +/* Redefine the message classes as C typedef structs. */ + +#ifndef WM_CONFIG_TYPE +#define WM_CONFIG_TYPE 3001 +#endif + +typedef struct { + int serial_number; + double min_obstacle_height; + double max_obstacle_height; +} nml_WM_CONFIG_c_t; + +#ifndef WM_HALT_TYPE +#define WM_HALT_TYPE 3002 +#endif + +typedef struct { + int serial_number; +} nml_WM_HALT_c_t; + +#ifndef WM_INIT_TYPE +#define WM_INIT_TYPE 3003 +#endif + +typedef struct { + int serial_number; +} nml_WM_INIT_c_t; + +#ifndef WM_STATUS_TYPE +#define WM_STATUS_TYPE 3000 +#endif + +typedef struct { + long command_type; + int echo_serial_number; + enum RCS_STATUS status; + int state; + int line; + int source_line; + char source_file[64]; +} nml_WM_STATUS_c_t; + +#ifndef SWIG + +/* Update function prototypes. */ +void cms_WM_CONFIG_update(struct cms_c_struct *cms, nml_WM_CONFIG_c_t *x); +void cms_WM_HALT_update(struct cms_c_struct *cms, nml_WM_HALT_c_t *x); +void cms_WM_INIT_update(struct cms_c_struct *cms, nml_WM_INIT_c_t *x); +void cms_WM_STATUS_update(struct cms_c_struct *cms, nml_WM_STATUS_c_t *x); + +#endif +/* end of #ifndef SWIG */ + + +#ifndef MAX_WM_C_NAME_LENGTH +#define MAX_WM_C_NAME_LENGTH 10 +#endif +#ifndef WM_C_NAME_LIST_LENGTH +#define WM_C_NAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const char wm_c_name_list[WM_C_NAME_LIST_LENGTH][MAX_WM_C_NAME_LENGTH]; +extern const NMLTYPE wm_c_id_list[WM_C_NAME_LIST_LENGTH]; +extern const size_t wm_c_size_list[WM_C_NAME_LIST_LENGTH]; +extern const char *wm_c_symbol_lookup(long type); + + +/* Enumerated Type Constants */ + +/* RCS_STATUS */ +#ifndef MAX_ENUM_RCS_STATUS_C_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_C_STRING_LENGTH 21 +#endif + /* MAX_ENUM_RCS_STATUS_C_STRING_LENGTH */ +#ifndef ENUM_RCS_STATUS_C_LENGTH +#define ENUM_RCS_STATUS_C_LENGTH 5 +#endif + /* ENUM_RCS_STATUS_C_LENGTH */ + +extern const char enum_RCS_STATUS_c_string_list[ENUM_RCS_STATUS_C_LENGTH][MAX_ENUM_RCS_STATUS_C_STRING_LENGTH]; + +extern const int enum_RCS_STATUS_c_int_list[ENUM_RCS_STATUS_C_LENGTH]; + +extern const char *wm_c_enum_RCS_STATUS_symbol_lookup(long v); + +extern const struct cms_enum_info enum_RCS_STATUS_c_info_struct; + +extern int wm_c_format(long type, void *buffer, struct cms_c_struct *cms); +extern long nml_wm_open(const char *buf, const char *proc, const char *cfg); +extern void nml_wm_close(long nml_id); +extern int nml_wm_read(long nml_id); +extern int nml_wm_valid(long nml_id); +extern int nml_wm_WM_CONFIG_write(long nml_id, const nml_WM_CONFIG_c_t *msg);extern nml_WM_CONFIG_c_t * nml_wm_WM_CONFIG_get_msg(long nml_id);extern int nml_wm_WM_HALT_write(long nml_id, const nml_WM_HALT_c_t *msg);extern nml_WM_HALT_c_t * nml_wm_WM_HALT_get_msg(long nml_id);extern int nml_wm_WM_INIT_write(long nml_id, const nml_WM_INIT_c_t *msg);extern nml_WM_INIT_c_t * nml_wm_WM_INIT_get_msg(long nml_id);extern int nml_wm_WM_STATUS_write(long nml_id, const nml_WM_STATUS_c_t *msg);extern nml_WM_STATUS_c_t * nml_wm_WM_STATUS_get_msg(long nml_id); +#ifndef SWIG +#ifdef __cplusplus +} +#endif +#endif + +#endif + /* # endif wmn_c_n_h_included */ + diff --git a/examples/rcs_single_dir/wmn_n_codegen_protos.hh b/examples/rcs_single_dir/wmn_n_codegen_protos.hh new file mode 100644 index 0000000..7f40c6d --- /dev/null +++ b/examples/rcs_single_dir/wmn_n_codegen_protos.hh @@ -0,0 +1,50 @@ +/* +* New C++ Header File starts here. +* This file should be named wmn_n_codegen_protos.hh +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : HHFile=wmn.hh +* +* .gen script : +* 0:load wmn.hh +* 1:clear +* 2:select_from_file wmn.hh +* 3:generate C++ protos>wmn_n_codegen_protos.hh +* 4:generate C++ format>wmn_n.cc +* 5:generate C++ update>wmn_n.cc +* 6:generate C++ constructor>wmn_n.cc +* 7:exit +* +*/ + +#ifndef wmn_n_codegen_protos_hh_included +#define wmn_n_codegen_protos_hh_included + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "wmn.hh" +#include "my_app_common_statusn.hh" + +// Forward Function Prototypes + + +#ifndef MAX_WMNAME_LENGTH +#define MAX_WMNAME_LENGTH 10 +#endif +#ifndef WMNAME_LIST_LENGTH +#define WMNAME_LIST_LENGTH 5 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +extern const NMLTYPE wmid_list[WMNAME_LIST_LENGTH]; +extern const size_t wmsize_list[WMNAME_LIST_LENGTH]; + +// Enumerated Type Constants + +extern int wmFormat(NMLTYPE type, void *buffer, CMS *cms); + +#endif + /* # endif wmn_n_codegen_protos_hh_included */ + diff --git a/examples/rcs_single_dir/wmsvr.cc b/examples/rcs_single_dir/wmsvr.cc new file mode 100644 index 0000000..3e1d9f6 --- /dev/null +++ b/examples/rcs_single_dir/wmsvr.cc @@ -0,0 +1,122 @@ +/* +The NIST RCS (Real-time Control Systems) + library is public domain software, however it is preferred + that the following disclaimers be attached. + +Software Copywrite/Warranty Disclaimer + + This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST Real-Time Control System software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. + + + +*/ + +/* + wmsvr.cc + + This C++ file provides a main routin to start an NML server for this application + It connects to all of the NML channels used by this application. + If they are all valid it will call run_nml_servers(), otherwise it will exit immediately. + + MODIFICATIONS: + Sun Mar 06 10:46:53 EST 2005 Created. + +*/ + +// Include Files +#include // exit() +#include "rcs.hh" // Common RCS definitions +#include "wmn.hh" // NML Commands and Status definitions for wm +#include "obstacle_mapn.hh" // obstacle_mapFormat + +// NML Channel Pointers +static RCS_CMD_CHANNEL *wm_cmd = NULL; +static RCS_STAT_CHANNEL *wm_stat = NULL; +static NML *obstacle_map= NULL; + +static int InitNML() +{ + + + // wm + wm_cmd = new RCS_CMD_CHANNEL(wmFormat, "wm_cmd", "wmsvr", "rcs_single_dir.nml"); + if(NULL == wm_cmd) + return -1; + if(!wm_cmd->valid()) + return -1; + + wm_stat = new RCS_STAT_CHANNEL(wmFormat, "wm_sts", "wmsvr", "rcs_single_dir.nml"); + if(NULL == wm_stat) + return -1; + if(!wm_stat->valid()) + return -1; + + + obstacle_map = new NML(obstacle_mapFormat, "obstacle_map", "wmsvr", "rcs_single_dir.nml"); + if(NULL == obstacle_map) + return -1; + if(!obstacle_map->valid()) + return -1; + + return 0; +} + +static void DeleteNML() +{ + + // wm + if(NULL != wm_cmd) + { + delete wm_cmd; + wm_cmd = NULL; + } + + if(NULL != wm_stat) + { + delete wm_stat; + wm_stat = NULL; + } + + + if(NULL != obstacle_map) + { + delete obstacle_map; + obstacle_map = NULL; + } + + +} + +// Main +#ifdef VXWORKS +extern "C" int wmsvr_run(); + +int wmsvr_run() +#else +int main(int argc, char **argv) +#endif +{ + + set_rcs_print_destination(RCS_PRINT_TO_STDOUT); + + if(InitNML() < 0) + { + DeleteNML(); + return(-1); + } + + run_nml_servers(); + +} + diff --git a/examples/udp_direct/Makefile b/examples/udp_direct/Makefile new file mode 100644 index 0000000..f838506 --- /dev/null +++ b/examples/udp_direct/Makefile @@ -0,0 +1,36 @@ + + +ifndef RCSLIB_DIR +RCSLIB_DIR:=$(shell cd ../.. ; pwd ) +endif + +CPPFLAGS += -I$(RCSLIB_DIR)/include + +LIBS += -L$(RCSLIB_DIR)/lib -lrcs + +all : udp_direct.nml mynmlread mynmlwrite mynmlsvr udpdirectread udpdirectwrite + +.PHONY: all + +clean: + -\rm -f udp_direct.nml mynmlread mynmlwrite mynmlsvr udpdirectread udpdirectwrite mymsg_n.cc *.o mymsg_n_codegen_protos.hh + + +.PHONY: clean + +mymsg_n.cc : mymsg.hh + $(RCSLIB_DIR)/bin/CodeGen.sh $^ + + +udp_direct.nml : udp_direct.cfg + $(RCSLIB_DIR)/bin/nmlcfg $^ -o $@ + + +mynmlsvr : mynmlsvr.o mymsg_n.o + $(CXX) $(CXXFLAGS) $(LIBS) $^ -o $@ + +mynmlread : mynmlread.o mymsg_n.o + $(CXX) $(CXXFLAGS) $(LIBS) $^ -o $@ + +mynmlwrite : mynmlwrite.o mymsg_n.o + $(CXX) $(CXXFLAGS) $(LIBS) $^ -o $@ diff --git a/examples/udp_direct/README.TXT b/examples/udp_direct/README.TXT new file mode 100644 index 0000000..bcbd517 --- /dev/null +++ b/examples/udp_direct/README.TXT @@ -0,0 +1,60 @@ + +This example serves as a brief documentation of the +UDP protocol as used by NML. + + It consists of two normal C++ NML applications that +read and write (mynmlread/mynmlwrite) a buffer and two C applications that read and write to the same buffer without linking in or including any of the +RCS or NML header files or libraries. + +The C applications have only been tested on x86 Linux. + +Messages from the client to the server are called requests. Messages from the +server to the client are called replys. + +Each message contains a header. (28 bytes for requests and 20 bytes for replies.) +Some requests and some replys contain a variable amount of data after the header. The header contains the size of the data section. + +The data portion of the message depends on the encoding type ( xdr,packed, xml, disp, etc) while the header is always a list of 32 bit integers in network byte order. + +The request header is 28 bytes or 7 32 bit integers. + +request_type +buffer_number +serial_number +internal_access_type +in_buffer_id +data_size +subdivion_number + +The reply_header is 20 bytes or 5 32 bit integers + +serial_number +status +data_size +in_buffer_id +was_read + + +The makefile needs to know the location of the rcslib, which can be set from +the command line with something like + +make RCSLIB_DIR=/usr/local/rcslib/ + + +To run : + +start mynmlsvr in the background with + +export LD_LIBRARY_PATH=${RCSLIB_DIR)/lib:${LD_LIBRARY_PATH} + +./mynmlsvr & + +Then in any particular order run ./mynmlwrite ./mynmlread, ./udpdirectread, ./udpdirectwrite + +The reads should print information stored in the buffer by the writes. + + + + + + diff --git a/examples/udp_direct/mymsg.hh b/examples/udp_direct/mymsg.hh new file mode 100644 index 0000000..e02e918 --- /dev/null +++ b/examples/udp_direct/mymsg.hh @@ -0,0 +1,22 @@ + + +#ifndef MYMSG_HH +#define MYMSG_HH + + +#include "rcs.hh" + +#define MYMSG_TYPE (2002) + +class MYMSG: public NMLmsg +{ +public: + MYMSG(); + void update(CMS *); + + int int_in_mymsg; +}; + +extern int MYMSG_format(NMLTYPE type, void *buffer, CMS *cms); + +#endif diff --git a/examples/udp_direct/mynmlread.cc b/examples/udp_direct/mynmlread.cc new file mode 100644 index 0000000..bc8e286 --- /dev/null +++ b/examples/udp_direct/mynmlread.cc @@ -0,0 +1,33 @@ + + +#include "rcs.hh" +#include "mymsg.hh" + +#include + +NML *nmlP = 0; + +int main(int, const char **) +{ + nmlP = new NML(MYMSG_format,"udp_buf","mynmlread","udp_direct.nml"); + + if(!nmlP->valid()) + { + delete nmlP; + exit(1); + } + + nml_start(); + + NMLTYPE nml_read_ret = nmlP->read(); + printf("nml_read_ret=%ld\n", nml_read_ret); + if(nml_read_ret == MYMSG_TYPE) + { + MYMSG *mymsgP = (MYMSG *) nmlP->get_address(); + printf("mymsgP->int_in_mymsg=%d\n",mymsgP->int_in_mymsg); + } + + delete nmlP; + nml_cleanup(); + +} diff --git a/examples/udp_direct/mynmlsvr.cc b/examples/udp_direct/mynmlsvr.cc new file mode 100644 index 0000000..542be93 --- /dev/null +++ b/examples/udp_direct/mynmlsvr.cc @@ -0,0 +1,19 @@ + + +#include "rcs.hh" +#include "mymsg.hh" + +NML *nmlP = 0; + +int main(int, const char **) +{ + nmlSetToServer(); + nmlP = new NML(MYMSG_format,"udp_buf","mynmlsvr","udp_direct.nml"); + if(!nmlP->valid()) + { + delete nmlP; + exit(1); + } + + run_nml_servers(); +} diff --git a/examples/udp_direct/mynmlwrite.cc b/examples/udp_direct/mynmlwrite.cc new file mode 100644 index 0000000..5405049 --- /dev/null +++ b/examples/udp_direct/mynmlwrite.cc @@ -0,0 +1,30 @@ + + +#include "rcs.hh" +#include "mymsg.hh" + +#include + +NML *nmlP = 0; + +int main(int, const char **) +{ + nmlP = new NML(MYMSG_format,"udp_buf","mynmlwrite","udp_direct.nml"); + + if(!nmlP->valid()) + { + delete nmlP; + exit(1); + } + + nml_start(); + MYMSG myMsg; + myMsg.int_in_mymsg = 1033; // just a random number to confirm we are actually communicating. + + int nml_write_ret = nmlP->write(myMsg); + printf("nml_write_ret=%d\n", nml_write_ret); + + delete nmlP; + nml_cleanup(); + +} diff --git a/examples/udp_direct/udp_direct.cfg b/examples/udp_direct/udp_direct.cfg new file mode 100644 index 0000000..122102d --- /dev/null +++ b/examples/udp_direct/udp_direct.cfg @@ -0,0 +1,12 @@ + + + +b name=udp_buf remotetype=udp port=5055 bufnumber=11 + +p name=mynmlsvr bufname=default server=1 master=1 proctype=local + + +## Force everyone except the server to connect remotely bypassing the faster shmem access for testing only. +p name=mynmlread bufname=udp_buf proctype=remote +p name=mynmlwrite bufname=udp_buf proctype=remote +p name=default bufname=default proctype=remote diff --git a/examples/udp_direct/udpdirectread.c b/examples/udp_direct/udpdirectread.c new file mode 100644 index 0000000..1924eb3 --- /dev/null +++ b/examples/udp_direct/udpdirectread.c @@ -0,0 +1,183 @@ + +#include +#include +#include +#include + +#include +#include +#include +#include + +struct my_msg_packed_data +{ + long type; + size_t size; + int int_in_mymsg; +} __attribute__((packed)); + +int +main(int argc, const char **argv) +{ + static struct sockaddr_in server_socket_address; + static struct msghdr request_message_header; + static struct iovec request_iov2[2]; + static unsigned char request_header_buffer[28]; + + static struct msghdr reply_message_header; + static struct iovec reply_iov2[2]; + static unsigned char reply_header_buffer[20]; + static unsigned char reply_data_buffer[256]; + struct my_msg_packed_data *usr_app_msg_data = (struct my_msg_packed_data *) &(reply_data_buffer[1]); + + int socket_fd=-1; + long serial_number=0; + long serial_number_returned=0; + int in_buffer_id=0; + int sub_division_number=0; + size_t sendmsg_ret=0; + size_t recvmsg_ret=0; + size_t message_size_on_socket=0; + int status=-1; + int was_read = 0; + + /* memsets is just being paranoid unless we miss something we'll overwrite it later anyway. */ + memset(&server_socket_address,0,sizeof(server_socket_address)); + memset(&request_message_header,0,sizeof(request_message_header)); + memset(&request_iov2,0,sizeof(request_iov2)); + memset(request_header_buffer,0,sizeof(request_header_buffer)); + memset(&reply_message_header,0,sizeof(reply_message_header)); + memset(&reply_iov2,0,sizeof(reply_iov2)); + memset(reply_header_buffer,0,sizeof(reply_header_buffer)); + memset(reply_data_buffer,0,sizeof(reply_data_buffer)); + + socket_fd = socket(PF_INET,SOCK_DGRAM,0); + if(socket_fd == -1) + { + fprintf(stderr,"socket returned %d -- %s\n", + socket_fd,strerror(errno)); + exit(1); + } + + server_socket_address.sin_family = PF_INET; + server_socket_address.sin_port = htons(5055); /* must match value in udp_direct.nml UDP= parameter on the bufferline for udp_buf. */ + server_socket_address.sin_addr.s_addr = inet_addr("127.0.0.1"); + request_message_header.msg_name = (caddr_t) + &server_socket_address; + request_message_header.msg_namelen = sizeof(struct sockaddr_in); + request_message_header.msg_iov = request_iov2; + request_message_header.msg_iovlen = 1; + request_iov2[0].iov_base = request_header_buffer; + request_iov2[0].iov_len = 28; + +#define REMOTE_CMS_READ_REQUEST_TYPE 1 + /* see enum REMOTE_CMS_REQUEST_TYPE in src/cms/rem_msg.hh for other possible values. */ + ((long *)request_header_buffer)[0] = htonl(REMOTE_CMS_READ_REQUEST_TYPE); + + /* buffer number of 11 must match buf# field of udp_direct.nml on the buffer line for udp_buf */ + ((long *)request_header_buffer)[1] = htonl(11); + + /* the serial number should be incremented each time */ + ((long *)request_header_buffer)[2] = htonl(serial_number); + +#define CMS_READ_ACCESS 1 + /* see enum CMS_INTERNAL_ACCESS_TYPE in src/cms/cms_types.hh for other possible values. */ + ((long *)request_header_buffer)[3] = htonl(CMS_READ_ACCESS); + + + /* the in buffer id for the next request is sent with the reply, use 0 for the first request */ + ((long *)request_header_buffer)[4] = htonl(in_buffer_id); + + /* the subdivision number is only non zero if subdivisions are being used, in which case it is passed */ + /* as an argument to read_subdivision(), or write_subdivision() */ + ((long *)request_header_buffer)[6] = htonl(sub_division_number); + + sendmsg_ret = sendmsg(socket_fd,&request_message_header,0); + if(sendmsg_ret != 28) + { + fprintf(stderr,"sendmsg returned %u -- %s\n", + sendmsg_ret,strerror(errno)); + } + + reply_message_header.msg_iov = reply_iov2; + reply_message_header.msg_iovlen = 2; + reply_iov2[0].iov_base = reply_header_buffer; + reply_iov2[0].iov_len = 20; + reply_iov2[1].iov_base = reply_data_buffer; + reply_iov2[1].iov_len = sizeof(reply_data_buffer); + + recvmsg_ret = recvmsg(socket_fd,&reply_message_header,0); + printf("recvmsg_ret=%u\n",recvmsg_ret); + + serial_number_returned = htonl(((long *) reply_header_buffer)[0]); + if(serial_number_returned != serial_number) + { + printf("serial number returned does not match sent serial number perhaps we need to ignore this packet and hope the next one matches our request.\n"); + exit(1); + } + + /* These values are taken from the enum CMS_STATUS in src/cms/cms_types.hh there are additional possible values */ +#define CMS_READ_OLD 1 +#define CMS_READ_OK 2 + + status = htonl(((long *) reply_header_buffer)[1]); + switch(status) + { + case CMS_READ_OLD: + printf("old data"); + /* The comms are ok but the buffer has never been written to or is the same as the last read we did. */ + return 0; + + case CMS_READ_OK: + /* we should have data; */ + break; + + default: + /* something bad happened */ + fprintf(stderr,"status=%d\n",status); + exit(1); + } + + message_size_on_socket = (size_t) htonl(((long *) reply_header_buffer)[2]); + /* this should match the number of bytes in the packet after the header */ + printf("message_size_on_socket=%u\n",message_size_on_socket); + + /* an ID that we would add to subsequent read requests. */ + in_buffer_id = htonl(((long *) reply_header_buffer)[3]); + printf("in_buffer_id=%d\n",in_buffer_id); + + /* the buffers current was_read status */ + was_read = htonl(((long *) reply_header_buffer)[4]); + printf("was_read=%d\n",was_read); + + /* The format of the data in the buffer depends on the encoding type ie disp, xml, xdr, or packed. */ + /* This code assumes packed is on the buffer line in udp_direct.nml */ + char endian_type = (char) reply_data_buffer[0]; + printf("endian_type=%c\n",endian_type); + /* endian type may be + 'L' -- 32 bit longs little-endian, + 'B' -- 32 bit longs + 'l' -- 64 bit longs little-endian, + 'b' -- 64 bit longs big-endian, + + */ + + /* This code assumes the endian_type matches our system */ + /* Otherwise we would have to do a bunch of byte swapping and or moves for diffent sizes. */ + /* It also only works if there are no dynamic or unbounded length arrays or we would have to + move any bytes after those arrays based on the current length */ + usr_app_msg_data = (struct my_msg_packed_data *) &(reply_data_buffer[1]); + + printf("nml message type =%ld\n",usr_app_msg_data->type); + printf("nml message size =%u\n",usr_app_msg_data->size); + printf("nml message int_in_mymsg =%d\n",usr_app_msg_data->int_in_mymsg); + + serial_number++; + + close(socket_fd); + return 0; +} + + + + diff --git a/examples/udp_direct/udpdirectwrite.c b/examples/udp_direct/udpdirectwrite.c new file mode 100644 index 0000000..d5ca39f --- /dev/null +++ b/examples/udp_direct/udpdirectwrite.c @@ -0,0 +1,187 @@ + +#include +#include +#include +#include + +#include +#include +#include +#include + +struct my_msg_packed_data +{ + long type; + size_t size; + int int_in_mymsg; +} __attribute__((packed)); + +int +main(int argc, const char **argv) +{ + static struct sockaddr_in server_socket_address; + static struct msghdr request_message_header; + static struct iovec request_iov2[2]; + static unsigned char request_header_buffer[28]; + static unsigned char request_data_buffer[28]; + struct my_msg_packed_data *usr_app_msg_data = (struct my_msg_packed_data *) &(request_data_buffer[1]); + +#ifdef CONFIRM_WRITE + static struct msghdr reply_message_header; + static struct iovec reply_iov2[2]; + static unsigned char reply_header_buffer[20]; + static unsigned char reply_data_buffer[256]; +#endif + + int socket_fd=-1; + long serial_number=200; + int sub_division_number=0; + size_t sendmsg_ret=0; + size_t message_size_on_socket=0; + +#ifdef CONFIRM_WRITE + long serial_number_returned=0; + size_t recvmsg_ret=0; + int status=-1; + int was_read = 0; +#endif + + if(argc > 1) + { + serial_number=atoi(argv[1]); + } + + /* memsets is just being paranoid unless we miss something we'll overwrite it later anyway. */ + memset(&server_socket_address,0,sizeof(server_socket_address)); + memset(&request_message_header,0,sizeof(request_message_header)); + memset(&request_iov2,0,sizeof(request_iov2)); + memset(request_header_buffer,0,sizeof(request_header_buffer)); + memset(request_data_buffer,0,sizeof(request_data_buffer)); + +#ifdef CONFIRM_WRITE + memset(&reply_message_header,0,sizeof(reply_message_header)); + memset(&reply_iov2,0,sizeof(reply_iov2)); + memset(reply_header_buffer,0,sizeof(reply_header_buffer)); + memset(reply_data_buffer,0,sizeof(reply_data_buffer)); +#endif + + socket_fd = socket(PF_INET,SOCK_DGRAM,0); + if(socket_fd == -1) + { + fprintf(stderr,"socket returned %d -- %s\n", + socket_fd,strerror(errno)); + exit(1); + } + + server_socket_address.sin_family = PF_INET; + server_socket_address.sin_port = htons(5055); /* must match value in udp_direct.nml UDP= parameter on the bufferline for udp_buf. */ + server_socket_address.sin_addr.s_addr = inet_addr("127.0.0.1"); + request_message_header.msg_name = (caddr_t) + &server_socket_address; + request_message_header.msg_namelen = sizeof(struct sockaddr_in); + request_message_header.msg_iov = request_iov2; + request_message_header.msg_iovlen = 2; + request_iov2[0].iov_base = request_header_buffer; + request_iov2[0].iov_len = 28; + + /* + * the size that we will need depends on the encoding type as well as the application message. + * This assumes packed encoding type. + */ + message_size_on_socket = sizeof(struct my_msg_packed_data)+1; + + request_iov2[1].iov_base = request_data_buffer; + request_iov2[1].iov_len = message_size_on_socket; + +#define REMOTE_CMS_WRITE_REQUEST_TYPE 2 + /* see enum REMOTE_CMS_REQUEST_TYPE in src/cms/rem_msg.hh for other possible values. */ + ((long *)request_header_buffer)[0] = htonl(REMOTE_CMS_WRITE_REQUEST_TYPE); + + /* buffer number of 11 must match buf# field of udp_direct.nml on the buffer line for udp_buf */ + ((long *)request_header_buffer)[1] = htonl(11); + + /* the serial number should be incremented each time */ + ((long *)request_header_buffer)[2] = htonl(serial_number); + +#define CMS_WRITE_ACCESS 4 + /* see enum CMS_INTERNAL_ACCESS_TYPE in src/cms/cms_types.hh for other possible values. */ + ((long *)request_header_buffer)[3] = htonl(CMS_WRITE_ACCESS); + + /* the number of bytes we will send after the header */ + ((long *)request_header_buffer)[4] = htonl(message_size_on_socket); + + /* the subdivision number is only non zero if subdivisions are being used, in which case it is passed */ + /* as an argument to read_subdivision(), or write_subdivision() */ + ((long *)request_header_buffer)[6] = htonl(sub_division_number); + + /* Tell the server that we are sending in little-endian with 32 bit longs. */ + /* endian type may be + 'L' -- 32 bit longs little-endian, + 'B' -- 32 bit longs + 'l' -- 64 bit longs little-endian, + 'b' -- 64 bit longs big-endian, + */ + request_data_buffer[0] = 'L'; + usr_app_msg_data = (struct my_msg_packed_data *) &(request_data_buffer[1]); + usr_app_msg_data->type = 2002; // This must mach MYMSG_TYPE defined in mymsg.hh + usr_app_msg_data->size = sizeof(usr_app_msg_data); + usr_app_msg_data->int_in_mymsg = 4044; // just some random data to show the write is working. + + sendmsg_ret = sendmsg(socket_fd,&request_message_header,0); + if(sendmsg_ret != 28 + message_size_on_socket) + { + fprintf(stderr, + "sendmsg returned %u -- %s\n", + sendmsg_ret,strerror(errno)); + } + + // Normall we do not confirm writes so we are done. + // This means this process doesn't much about how things went on the server. +#ifdef CONFIRM_WRITE + + reply_message_header.msg_iov = reply_iov2; + reply_message_header.msg_iovlen = 2; + reply_iov2[0].iov_base = reply_header_buffer; + reply_iov2[0].iov_len = 20; + reply_iov2[1].iov_base = reply_data_buffer; + reply_iov2[1].iov_len = sizeof(reply_data_buffer); + + recvmsg_ret = recvmsg(socket_fd,&reply_message_header,0); + printf("recvmsg_ret=%u\n",recvmsg_ret); + + serial_number_returned = htonl(((long *) reply_header_buffer)[0]); + if(serial_number_returned != serial_number) + { + printf("serial number returned does not match sent serial number perhaps we need to ignore this packet and hope the next one matches our request.\n"); + exit(1); + } + + /* These values are taken from the enum CMS_STATUS in src/cms/cms_types.hh there are additional possible values */ +#define CMS_WRITE_OK 3 + status = htonl(((long *) reply_header_buffer)[1]); + switch(status) + { + case CMS_READ_OK: + /* this is what we were hoping for */ + break; + + default: + /* something bad happened */ + fprintf(stderr,"status=%d\n",status); + exit(1); + } + + /* the buffers current was_read status */ + was_read = htonl(((long *) reply_header_buffer)[4]); + printf("was_read=%d\n",was_read); + +#endif + serial_number++; + + close(socket_fd); + return 0; +} + + + + diff --git a/icc_linux_custom_libtool b/icc_linux_custom_libtool new file mode 100755 index 0000000..bb3aae8 --- /dev/null +++ b/icc_linux_custom_libtool @@ -0,0 +1,7041 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU rcslib 2004.8) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# The names of the tagged configurations supported by this script. +available_tags=" CXX" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host elmer: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="/opt/intel/compiler70/ia32/bin/icc" + +# A language-specific compiler. +CC="/opt/intel/compiler70/ia32/bin/icc" + +# Is the compiler the GNU C compiler? +with_gcc= + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation ? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="" + +# Compiler flag to turn off builtin functions. +no_builtin_flag="" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="\$RANLIB \$oldlib~chmod 644 \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ +cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ +\$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2\\3 \\3/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_RUN_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib/Xaw95 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/i486-linux/lib /usr/i486-linux-libc5/lib=libc5 /usr/i486-linux-libc6/lib=libc6 /usr/i486-linuxaout/lib /usr/i386-suse-linux/lib /usr/local/lib /usr/openwin/lib /opt/kde/lib /opt/kde2/lib /opt/kde3/lib /opt/gnome/lib /opt/gnome2/lib /usr/voltaire/lib /usr/mellanox/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5.8 +TIMESTAMP=" (1.1220.2.117 2004/08/04 14:12:05)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () { + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` + if test "X$win32_nmres" = "Ximport" ; then + win32_libid_type="x86 archive import" + else + win32_libid_type="x86 archive static" + fi + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () { + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () { + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + status=$? + if test "$status" -ne 0 && test ! -d "$my_xdir"; then + exit $status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename $darwin_archive` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + # Remove the table of contents from the thin files. + $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF 2>/dev/null || true + $AR -d "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" __.SYMDEF\ SORTED 2>/dev/null || true + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $AR -xo "${darwin_base_archive}" + rm "${darwin_base_archive}" + cd "$darwin_curdir" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f | xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + rm -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + (cd $my_xdir && $AR x $my_xabs) || exit $? + fi # $darwin_arches + fi # $run + ;; + *) + # We will extract separately just the conflicting names and we will + # no longer touch any unique names. It is faster to leave these + # extract automatically by $AR in one run. + $show "(cd $my_xdir && $AR x $my_xabs)" + $run eval "(cd \$my_xdir && $AR x \$my_xabs)" || exit $? + if ($AR t "$my_xabs" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 + $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 + $AR t "$my_xabs" | sort | uniq -cd | while read -r count name + do + i=1 + while test "$i" -le "$count" + do + # Put our $i before any first dot (extension) + # Never overwrite any file + name_to="$name" + while test "X$name_to" = "X$name" || test -f "$my_xdir/$name_to" + do + name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` + done + $show "(cd $my_xdir && $AR xN $i $my_xabs '$name' && $mv '$name' '$name_to')" + $run eval "(cd \$my_xdir && $AR xN $i \$my_xabs '$name' && $mv '$name' '$name_to')" || exit $? + i=`expr $i + 1` + done + done + fi + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2003 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $EXIT_SUCCESS + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $EXIT_SUCCESS + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $EXIT_SUCCESS + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) prevopt="--tag" prev=tag ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case "$arg_mode" in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no + build_old_libs=yes + prefer_static_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit $EXIT_FAILURE + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-mingw* | *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + deplibs="$deplibs $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # gcc -m* arguments should be passed to the linker via $compiler_flags + # in order to pass architecture information to the linker + # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo + # but this is not reliable with gcc because gcc may use -mfoo to + # select a different linker, different libraries, etc, while + # -Wl,-mfoo simply passes -mfoo to the linker. + -m*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + if test "$with_gcc" = "yes" ; then + compiler_flags="$compiler_flags $arg" + fi + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test "$status" -ne 0 && test ! -d "$output_objdir"; then + exit $status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5* ) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case "$libdir" in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$deplibs $path" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` + deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$save_output-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$save_output-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$save_output-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadale object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + cwrappersource=`$echo ${objdir}/lt-${output}.c` + cwrapper=`$echo ${output}.exe` + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +#define DIR_SEPARATOR '/' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +#define HAVE_DOS_BASED_FILE_SYSTEM +#ifndef DIR_SEPARATOR_2 +#define DIR_SEPARATOR_2 '\\' +#endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +char * basename (const char *name); +char * fnqualify(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup ((char *) basename (argv[0])); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = fnqualify(argv[0]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +char * +basename (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha (name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return (char *) base; +} + +char * +fnqualify(const char *path) +{ + size_t size; + char *p; + char tmp[LT_PATHMAX + 1]; + + assert(path != NULL); + + /* Is it qualified already? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha (path[0]) && path[1] == ':') + return xstrdup (path); +#endif + if (IS_DIR_SEPARATOR (path[0])) + return xstrdup (path); + + /* prepend the current directory */ + /* doesn't handle '~' */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ + p = XMALLOC(char, size); + sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); + return p; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \$progdir/\$program \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + # GNU ar 2.10+ was changed to match POSIX; thus no paths are + # encoded into archives. This makes 'ar r' malfunction in + # this piecewise linking case whenever conflicting object + # names appear in distinct ar calls; check, warn and compensate. + if (for obj in $save_oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 + $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 + AR_FLAGS=cq + fi + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*"` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg="$nonopt" + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest="$arg" + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) prev="-f" ;; + -g) prev="-g" ;; + -m) prev="-m" ;; + -o) prev="-o" ;; + -s) + stripme=" -s" + continue + ;; + -*) ;; + + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac + # If there is no directory component, then add one. + case $file in + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # To insure that "foo" is sourced, and not "foo.exe", + # finese the cygwin/MSYS system by explicitly sourcing "foo." + # which disallows the automatic-append-.exe behavior. + case $build in + *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; + *) wrapperdot=${wrapper} ;; + esac + # If there is no directory component, then add one. + case $file in + */* | *\\*) . ${wrapperdot} ;; + *) . ./${wrapperdot} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir="$tmpdir/libtool-$$" + save_umask=`umask` + umask 0077 + if $mkdir "$tmpdir"; then + umask $save_umask + else + umask $save_umask + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyways + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "----------------------------------------------------------------------" + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "----------------------------------------------------------------------" + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + + if test "$mode" = uninstall; then + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + fi + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $EXIT_SUCCESS + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# Libtool was configured on host elmer: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=i686-pc-linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="/opt/intel/compiler70/ia32/bin/icc" + +# A language-specific compiler. +CC="/opt/intel/compiler70/ia32/bin/icc" + +# Is the compiler the GNU C compiler? +with_gcc=no + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="" + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation ? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="" + +# Compiler flag to turn off builtin functions. +no_builtin_flag="" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="\$RANLIB \$oldlib~chmod 644 \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="" +archive_expsym_cmds="" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects="" + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\(\\)\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2\\3 \\3/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var= + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib/Xaw95 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/i486-linux/lib /usr/i486-linux-libc5/lib=libc5 /usr/i486-linux-libc6/lib=libc6 /usr/i486-linuxaout/lib /usr/i386-suse-linux/lib /usr/local/lib /usr/openwin/lib /opt/kde/lib /opt/kde2/lib /opt/kde3/lib /opt/gnome/lib /opt/gnome2/lib /usr/voltaire/lib /usr/mellanox/lib " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: CXX + diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..11870f1 --- /dev/null +++ b/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# 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}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + 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;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + : + 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` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + : + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + : + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/license-NIST.txt b/license-NIST.txt new file mode 100644 index 0000000..cc321e3 --- /dev/null +++ b/license-NIST.txt @@ -0,0 +1,24 @@ +<#if licenseFirst??> +${licenseFirst} + +${licensePrefix}The NIST RCS (Real-time Control Systems) +${licensePrefix}library is public domain software, however it is preferred +${licensePrefix}that the following disclaimers be attached. +${licensePrefix}Software Copywrite/Warranty Disclaimer +${licensePrefix} +${licensePrefix}This software was developed at the National Institute of Standards and +${licensePrefix}Technology by employees of the Federal Government in the course of their +${licensePrefix}official duties. Pursuant to title 17 Section 105 of the United States +${licensePrefix}Code this software is not subject to copyright protection and is in the +${licensePrefix}public domain. NIST Real-Time Control System software is an experimental +${licensePrefix}system. NIST assumes no responsibility whatsoever for its use by other +${licensePrefix}parties, and makes no guarantees, expressed or implied, about its +${licensePrefix}quality, reliability, or any other characteristic. We would appreciate +${licensePrefix}acknowledgement if the software is used. This software can be +${licensePrefix}redistributed and/or modified freely provided that any derivative works +${licensePrefix}bear some notice that they are derived from it, and any modified +${licensePrefix}versions bear some notice that they have been modified. +${licensePrefix}and open the template in the editor. +<#if licenseLast??> +${licenseLast} + diff --git a/ltmain.sh b/ltmain.sh new file mode 100755 index 0000000..c2852d8 --- /dev/null +++ b/ltmain.sh @@ -0,0 +1,9661 @@ + +# libtool (GNU libtool) 2.4.2 +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, +# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. +# +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --no-quiet, --no-silent +# print informational messages (default) +# --no-warn don't display warning messages +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print more informational messages than default +# --no-verbose don't print the extra informational messages +# --version print version information +# -h, --help, --help-all print short, long, or detailed help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. When passed as first option, +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . +# GNU libtool home page: . +# General help using GNU software: . + +PROGRAM=libtool +PACKAGE=libtool +VERSION="2.4.2 Debian-2.4.2-1ubuntu1" +TIMESTAMP="" +package_revision=1.3337 + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs 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 +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# NLS nuisances: We save the old values to restore during execute mode. +lt_user_locale= +lt_safe_locale= +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + fi" +done +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +$lt_unset CDPATH + + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + + + +: ${CP="cp -f"} +test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} +: ${Xsed="$SED -e 1s/^X//"} + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +exit_status=$EXIT_SUCCESS + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} # func_dirname may be replaced by extended shell implementation + + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "${1}" | $SED "$basename"` +} # func_basename may be replaced by extended shell implementation + + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` +} # func_dirname_and_basename may be replaced by extended shell implementation + + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname may be replaced by extended shell implementation + + +# These SED scripts presuppose an absolute path with a trailing slash. +pathcar='s,^/\([^/]*\).*$,\1,' +pathcdr='s,^/[^/]*,,' +removedotparts=':dotsl + s@/\./@/@g + t dotsl + s,/\.$,/,' +collapseslashes='s@/\{1,\}@/@g' +finalslash='s,/*$,/,' + +# func_normal_abspath PATH +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +# value returned in "$func_normal_abspath_result" +func_normal_abspath () +{ + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` + while :; do + # Processed it all yet? + if test "$func_normal_abspath_tpath" = / ; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result" ; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + +# func_relative_path SRCDIR DSTDIR +# generates a relative path from SRCDIR to DSTDIR, with a trailing +# slash if non-empty, suitable for immediately appending a filename +# without needing to append a separator. +# value returned in "$func_relative_path_result" +func_relative_path () +{ + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=${func_dirname_result} + if test "x$func_relative_path_tlibdir" = x ; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test "x$func_stripname_result" != x ; then + func_relative_path_result=${func_relative_path_result}/${func_stripname_result} + fi + + # Normalisation. If bindir is libdir, return empty string, + # else relative path ending with a slash; either way, target + # file name can be directly appended. + if test ! -z "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result/" + func_relative_path_result=$func_stripname_result + fi +} + +# The name of this program: +func_dirname_and_basename "$progpath" +progname=$func_basename_result + +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' + +# Sed substitution that converts a w32 file name or path +# which contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }$*" +} + +# func_verbose arg... +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $opt_verbose && func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +# func_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 + + # bash bug again: + : +} + +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` + done + my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} + + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$opt_dry_run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" + fi + + $ECHO "$my_tmpdir" +} + + +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () +{ + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" + esac +} + + +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "$1" | $SED \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; + *) + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" +} + + +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi + fi +} + +# func_tr_sh +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $opt_debug + + $SED -n '/(C)/!b go + :more + /\./!{ + N + s/\n# / / + b more + } + :go + /^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? +} + +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $opt_debug + + $SED -n '/^# Usage:/,/^# *.*--help/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + echo + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help [NOEXIT] +# Echo long help message to standard output and exit, +# unless 'noexit' is passed as argument. +func_help () +{ + $opt_debug + + $SED -n '/^# Usage:/,/# Report bugs to/ { + :print + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ + p + d + } + /^# .* home page:/b print + /^# General help using/b print + ' < "$progpath" + ret=$? + if test -z "$1"; then + exit $ret + fi +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $opt_debug + + func_error "missing argument for $1." + exit_cmd=exit +} + + +# func_split_short_opt shortopt +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +func_split_short_opt () +{ + my_sed_short_opt='1s/^\(..\).*$/\1/;q' + my_sed_short_rest='1s/^..\(.*\)$/\1/;q' + + func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` + func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` +} # func_split_short_opt may be replaced by extended shell implementation + + +# func_split_long_opt longopt +# Set func_split_long_opt_name and func_split_long_opt_arg shell +# variables after splitting LONGOPT at the `=' sign. +func_split_long_opt () +{ + my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' + my_sed_long_arg='1s/^--[^=]*=//' + + func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` + func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` +} # func_split_long_opt may be replaced by extended shell implementation + +exit_cmd=: + + + + + +magic="%%%MAGIC variable%%%" +magic_exe="%%%MAGIC EXE variable%%%" + +# Global variables. +nonopt= +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "${1}=\$${1}\${2}" +} # func_append may be replaced by extended shell implementation + +# func_append_quoted var value +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +func_append_quoted () +{ + func_quote_for_eval "${2}" + eval "${1}=\$${1}\\ \$func_quote_for_eval_result" +} # func_append_quoted may be replaced by extended shell implementation + + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "${@}"` +} # func_arith may be replaced by extended shell implementation + + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` +} # func_len may be replaced by extended shell implementation + + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` +} # func_lo2o may be replaced by extended shell implementation + + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` +} # func_xform may be replaced by extended shell implementation + + +# func_fatal_configuration arg... +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_error ${1+"$@"} + func_error "See the $PACKAGE documentation for more information." + func_fatal_error "Fatal configuration error." +} + + +# func_config +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + +# func_features +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test "$build_libtool_libs" = yes; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + +# func_enable_tag tagname +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname="$1" + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf="/$re_begincf/,/$re_endcf/p" + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# Shorthand for --mode=foo, only valid as the first argument +case $1 in +clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; +compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; +execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; +finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; +install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; +link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; +uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; +esac + + + +# Option defaults: +opt_debug=: +opt_dry_run=false +opt_config=false +opt_preserve_dup_deps=false +opt_features=false +opt_finish=false +opt_help=false +opt_help_all=false +opt_silent=: +opt_warning=: +opt_verbose=: +opt_silent=false +opt_verbose=false + + +# Parse options once, thoroughly. This comes as soon as possible in the +# script to make things like `--version' happen as quickly as we can. +{ + # this just eases exit handling + while test $# -gt 0; do + opt="$1" + shift + case $opt in + --debug|-x) opt_debug='set -x' + func_echo "enabling shell trace mode" + $opt_debug + ;; + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + --config) + opt_config=: +func_config + ;; + --dlopen|-dlopen) + optarg="$1" + opt_dlopen="${opt_dlopen+$opt_dlopen +}$optarg" + shift + ;; + --preserve-dup-deps) + opt_preserve_dup_deps=: + ;; + --features) + opt_features=: +func_features + ;; + --finish) + opt_finish=: +set dummy --mode finish ${1+"$@"}; shift + ;; + --help) + opt_help=: + ;; + --help-all) + opt_help_all=: +opt_help=': help-all' + ;; + --mode) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_mode="$optarg" +case $optarg in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; +esac + shift + ;; + --no-silent|--no-quiet) + opt_silent=false +func_append preserve_args " $opt" + ;; + --no-warning|--no-warn) + opt_warning=false +func_append preserve_args " $opt" + ;; + --no-verbose) + opt_verbose=false +func_append preserve_args " $opt" + ;; + --silent|--quiet) + opt_silent=: +func_append preserve_args " $opt" + opt_verbose=false + ;; + --verbose|-v) + opt_verbose=: +func_append preserve_args " $opt" +opt_silent=false + ;; + --tag) + test $# = 0 && func_missing_arg $opt && break + optarg="$1" + opt_tag="$optarg" +func_append preserve_args " $opt $optarg" +func_enable_tag "$optarg" + shift + ;; + + -\?|-h) func_usage ;; + --help) func_help ;; + --version) func_version ;; + + # Separate optargs to long options: + --*=*) + func_split_long_opt "$opt" + set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-n*|-v*) + func_split_short_opt "$opt" + set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) break ;; + -*) func_fatal_help "unrecognized option \`$opt'" ;; + *) set dummy "$opt" ${1+"$@"}; shift; break ;; + esac + done + + # Validate options: + + # save first non-option argument + if test "$#" -gt 0; then + nonopt="$opt" + shift + fi + + # preserve --debug + test "$opt_debug" = : || func_append preserve_args " --debug" + + case $host in + *cygwin* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" + fi + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test "$opt_mode" != execute; then + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$progname --help --mode=$opt_mode' for more information." + } + + + # Bail if the options were screwed + $exit_cmd $EXIT_FAILURE +} + + + + +## ----------- ## +## Main. ## +## ----------- ## + +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case "$lt_sysroot:$1" in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result="=$func_stripname_result" + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none + fi + + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$lt_sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $opt_debug + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result="" + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result" ; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $opt_debug + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $opt_debug + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $opt_debug + if test -z "$2" && test -n "$1" ; then + func_error "Could not determine host file name corresponding to" + func_error " \`$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result="$1" + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $opt_debug + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " \`$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result="$3" + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $opt_debug + case $4 in + $1 ) func_to_host_path_result="$3$func_to_host_path_result" + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via `$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $opt_debug + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $opt_debug + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result="$1" +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result="$func_convert_core_msys_to_w32_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result="$func_cygpath_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $opt_debug + func_to_host_file_result="$1" + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result="$func_cygpath_result" + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via `$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $opt_debug + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd="func_convert_path_${func_stripname_result}" + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $opt_debug + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result="$1" +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_msys_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $opt_debug + func_to_host_path_result="$1" + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result="$func_cygpath_result" + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_mode_compile arg... +func_mode_compile () +{ + $opt_debug + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify \`-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + func_append_quoted lastarg "$arg" + done + IFS="$save_ifs" + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with \`-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj="$func_basename_result" + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from \`$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" + lobj=${xdir}$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result + + # Only build a PIC object if we are building libtool libraries. + if test "$build_libtool_libs" = yes; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test "$pic_mode" != no; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test "$suppress_opt" = yes; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test "$build_old_libs" = yes; then + if test "$pic_mode" != yes; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test "$compiler_c_o" = yes; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test "$need_locks" = warn && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test "$opt_mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking + -Wc,FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode \`$opt_mode'" + ;; + esac + + echo + $ECHO "Try \`$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test "$opt_help" = :; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | sed -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + sed '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir="$func_dirname_result" + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" + ;; + + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} + +test "$opt_mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "\`$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument \`$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and \`=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the \`$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test "$opt_mode" = finish && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test "x$prev" = x-m && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" + if test -n "$arg2"; then + func_quote_for_eval "$arg2" + fi + func_append install_shared_prog " $func_quote_for_eval_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test "$opt_mode" = install && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename="" + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname" ; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename="$func_basename_result" + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename" ; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" + fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $opt_debug + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $opt_debug + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive which possess that section. Heuristic: eliminate + # all those which have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $opt_debug + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $opt_debug + if func_cygming_gnu_implib_p "$1" ; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1" ; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result="" + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + if test "$lock_old_archive_extraction" = yes; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test "$lock_old_archive_extraction" = yes; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs 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 +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=\"$qECHO\" + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ which is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options which match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +/* declarations of non-ANSI functions */ +#if defined(__MINGW32__) +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined(__CYGWIN__) +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined (other platforms) ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined(_MSC_VER) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +# ifndef _INTPTR_T_DEFINED +# define _INTPTR_T_DEFINED +# define intptr_t int +# endif +#elif defined(__MINGW32__) +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined(__CYGWIN__) +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined (other platforms) ... */ +#endif + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#if defined(LT_DEBUGWRAPPER) +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + int len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + int orig_value_len = strlen (orig_value); + int add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + int len = strlen (new_value); + while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[len-1] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $opt_debug + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir="$arg" + prev= + continue + ;; + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between \`-L' and \`$1'" + else + func_fatal_error "need path for \`-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module="${wl}-multi_module" + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-flto*|-fwhopr*|-fuse-linker-plugin) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps ; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" + fi + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + else + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + + if test "$found" = yes || test -f "$lib"; then : + else + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" + fi + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test "$prefer_static_libs" = yes || + test "$prefer_static_libs,$installed" = "built,no"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib="$l" + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$lt_sysroot$libdir" + absdir="$lt_sysroot$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + case "$host" in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi + done + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + echo + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$opt_mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$absdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$opt_mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system can not link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps ; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" + + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "\`-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test "$module" = no && \ + func_fatal_help "libtool library \`$output' must begin with \`lib'" + + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" + + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|qnx|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + func_append verstring ":${current}.0" + ;; + + qnx) + major=".$current" + versuffix=".$current" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + fi + + func_generate_dlsyms "$libname" "$libname" "yes" + func_append libobjs " $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$opt_mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs="$new_libs" + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + # Remove ${wl} instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$opt_mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes + fi + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd1 in $cmds; do + IFS="$save_ifs" + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test "$try_normal_branch" = yes \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=${output_objdir}/${output_la}.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\${concat_cmds}$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + fi + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$opt_mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" + + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " ${wl}-bind_at_load" + func_append finalize_command " ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=yes + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=no + ;; + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' + fi + + exit $exit_status + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + func_append oldobjs " $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + func_resolve_sysroot "$deplib" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test "x$bindir" != x ; + then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +{ test "$opt_mode" = link || test "$opt_mode" = relink; } && + func_mode_link ${1+"$@"} + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=yes ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + odir="$objdir" + else + odir="$dir/$objdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$opt_mode" = uninstall && odir="$dir" + + # Remember odir for removal later, being careful to avoid duplicates + if test "$opt_mode" = clean; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case "$opt_mode" in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && + test "$pic_object" != none; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$opt_mode" = clean ; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + func_append rmfiles " $odir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$opt_mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# vi:sw=2 + diff --git a/m4/libtool.m4 b/m4/libtool.m4 new file mode 100644 index 0000000..828104c --- /dev/null +++ b/m4/libtool.m4 @@ -0,0 +1,8001 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 57 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# `#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test $lt_write_fail = 0 && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_REPLACE_SHELLFNS + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script which will find a shell with a builtin +# printf (which we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case "$ECHO" in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[ --with-sysroot[=DIR] Search for dependent libraries within DIR + (or the compiler's sysroot if not specified).], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and in which our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS="$save_LDFLAGS"]) + if test "$lt_cv_irix_exported_symbol" = yes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" + CFLAGS="$lt_save_CFLAGS" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) +# ------------------------------------------------------ +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. +m4_defun([_LT_PROG_FUNCTION_REPLACE], +[dnl { +sed -e '/^$1 ()$/,/^} # $1 /c\ +$1 ()\ +{\ +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: +]) + + +# _LT_PROG_REPLACE_SHELLFNS +# ------------------------- +# Replace existing portable implementations of several shell functions with +# equivalent extended shell implementations where those features are available.. +m4_defun([_LT_PROG_REPLACE_SHELLFNS], +[if test x"$xsi_shell" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl + func_split_long_opt_name=${1%%=*} + func_split_long_opt_arg=${1#*=}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) + + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) + + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) + + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) +fi + +if test x"$lt_shell_append" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) + + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl + func_quote_for_eval "${2}" +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) +fi +]) + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine which file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4 new file mode 100644 index 0000000..5d9acd8 --- /dev/null +++ b/m4/ltoptions.m4 @@ -0,0 +1,384 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 7 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4 new file mode 100644 index 0000000..9000a05 --- /dev/null +++ b/m4/ltsugar.m4 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/m4/ltversion.m4 b/m4/ltversion.m4 new file mode 100644 index 0000000..07a8602 --- /dev/null +++ b/m4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 3337 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.2' +macro_revision='1.3337' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4 new file mode 100644 index 0000000..c573da9 --- /dev/null +++ b/m4/lt~obsolete.m4 @@ -0,0 +1,98 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/missing b/missing new file mode 100755 index 0000000..6a37006 --- /dev/null +++ b/missing @@ -0,0 +1,336 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing 0.4 - GNU automake" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. + You can get \`$1Help2man' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequirements for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100755 index 0000000..8ab885e --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,99 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) # -h for help + echo "${usage}" 1>&2; exit 0 ;; + -m ) # -m PERM arg + shift + test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } + dirmode="${1}" + shift ;; + -- ) shift; break ;; # stop option processing + -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option + * ) break ;; # first non-opt arg + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in +0) exit 0 ;; +esac + +case $dirmode in +'') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi ;; +*) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 3 +# End: +# mkinstalldirs ends here diff --git a/nmlmsgs/Makefile b/nmlmsgs/Makefile new file mode 100644 index 0000000..3e10b45 --- /dev/null +++ b/nmlmsgs/Makefile @@ -0,0 +1,194 @@ + + +all: + + +.PHONY: all + + +RCSLIB_DIR ?= $(shell cd .. ; pwd) + +ifdef VERBOSE +$(info RCSLIB_DIR=$(RCSLIB_DIR)) +endif + +CODEGENCMDLINE_JAR ?= $(shell find $(RCSLIB_DIR)/ -name CodeGenCmdLine.jar | head -n 1 ) + +ifdef VERBOSE +$(info CODEGENCMDLINE_JAR=$(CODEGENCMDLINE_JAR)) +endif + +RCS_JAR ?= $(shell find $(RCSLIB_DIR)/ -name rcs.jar | head -n 1 ) + +ifdef VERBOSE +$(info RCS_JAR=$(RCS_JAR)) +endif + +PIC_FLAG ?= -fPIC +JAVA ?= java +JAR ?= jar +JAVAC ?= javac +AR ?= ar +RANLIB ?= ranlib + +src/%_n.cc : include/%.hh + $(JAVA) -jar $(CODEGENCMDLINE_JAR) $^ -o $@ + +.static_lib_objs/%.o : src/%.cc + $(CXX) $^ -c $(CXXFLAGS) -I$(RCSLIB_DIR)/include -Iinclude -o $@ + +.static_lib_objs : + mkdir $@ + +.dynamic_lib_objs/%.o : src/%.cc + $(CXX) $^ -c $(CXXFLAGS) $(PIC_FLAG) -I$(RCSLIB_DIR)/include -Iinclude -o $@ + +.dynamic_lib_objs : + mkdir $@ + + +MOAST_DIR ?= $(HOME)/moast +MOAST_INCLUDE_DIR ?= $(MOAST_DIR)/include + +MOAST_HEADERS= \ + moastTypes.hh \ + moastLogRecordSuperCmd.hh \ + moastLogRecordSuperSts.hh \ + amMobJA.hh \ + primMobJA.hh \ + servoMobJA.hh \ + primDebug.hh \ + primSP.hh \ + sensorData.hh \ + navDataExt.hh \ + atrvTune.hh \ + nav200Dbg.hh \ + humanTracking.hh \ + humanTrackingDebug.hh + +include/%.hh : $(MOAST_INCLUDE_DIR)/%.hh + cp $< $@; + + +all: \ + $(addprefix include/,$(MOAST_HEADERS)) \ + .static_lib_objs \ + .dynamic_lib_objs \ + lib/libnmlmsgs.a \ + lib/libnmlmsgs.so \ + lib/nmlmsgs.jar \ + bin/nmlmsgs_svr + + +NML_HEADERS= \ + fwCameraData_v2.hh \ + fwCameraLog_v2.hh \ + labjackData.hh \ + LadarCmd.hh \ + LadarData.hh \ + range3DMsg.hh \ + PointCloud.hh \ + log_data_format.hh \ + logPlaybackCmd.hh \ + logPlaybackSts.hh \ + logRecorderCmd.hh \ + logRecorderSts.hh \ + navdata.hh \ + navdata_v2.hh \ + playerPosData.hh \ + sickCmdSts.hh \ + sickData.hh \ + sickData_v3.hh \ + sickLoggern.hh \ + sicksafetyCmd.hh \ + sicksafetyData.hh \ + sicksafetySts.hh \ + SkyTrax_TCPMsg.hh \ + sonarData.hh \ + $(MOAST_HEADERS) + +EXTRA_HEADERS= \ + moastNmlOffsets.hh \ + nmlOffsets.hh + +.PRECIOUS : src/%.cc + +.SECONDARY : src/%.cc %.cc + +NML_CPP := $(addprefix src/,$(addsuffix _n.cc,$(basename $(notdir $(NML_HEADERS))))) + +ifdef VERBOSE +$(info NML_CPP=$(NML_CPP)) +endif + +.SECONDARY :$(NML_CPP) + +NML_OBJS := $(addsuffix _n.o,$(basename $(notdir $(NML_HEADERS)))) +#$(info OBJS=$(OBJS)) + +STATIC_OBJS := $(addprefix .static_lib_objs/,$(NML_OBJS)) + +DYNAMIC_OBJS := $(addprefix .dynamic_lib_objs/,$(NML_OBJS)) + +lib/libnmlmsgs.a : $(STATIC_OBJS) + -@\rm -f $@ + $(AR) -cr $@ $^ + $(RANLIB) $@ + + +lib/libnmlmsgs.so : $(DYNAMIC_OBJS) + -@\rm -f $@ + $(CXX) -shared $^ -o $@ + +bin/nmlmsgs_svr: + $(MAKE) -C svr ../$@ + +lib/nmlmsgs.jar : $(addprefix include/,$(NML_HEADERS)) + -@\rm -f $@ + -@ (mkdir src/java 2>/dev/null || /bin/true ) + ( \ + cd src/java; \ + pwd; \ + $(JAVA) -jar $(CODEGENCMDLINE_JAR) \ + select_from_all_files=true \ + generate_for_cpp=false \ + generate_for_java=true \ + java_package_name=nmlmsgs.nml \ + $(addprefix ../../,$^) \ + -o nmlmsgs/nml/nmlmsgs_MsgDict.java ; ) + -@ ( mkdir src/java/build 2>/dev/null || /bin/true ) + ( \ + cd src/java; \ + pwd; \ + $(JAVAC) -classpath .:$(RCS_JAR) -d build nmlmsgs/nml/*.java; ) + ( \ + cd src/java/build ; \ + $(JAR) cf ../../../$@ nmlmsgs/nml/* ; \ + ) + +clean: + -\rm -rf src/java/nmlmsgs/nml \ + .static_lib_objs \ + .dynamic_lib_objs \ + src/*_n.cc \ + lib/nmlmsgs.jar \ + lib/libnmlmsgs* \ + bin/nmlmsgs_svr \ + $(RCSLIB_DIR)/lib/libnmlmsgs* \ + $(RCSLIB_DIR)/bin/nmlmsgs_svr \ + $(addprefix $(RCSLIB_DIR)/include/,$(NML_HEADERS)) + $(MAKE) -C svr $@ + +.PHONY: clean + + +#INSTALL_CMD ?= install + +#install: all +# $(INSTALL_CMD) $(addprefix include/,$(NML_HEADERS)) $(RCSLIB_DIR)/include +# $(INSTALL_CMD) $(addprefix include/,$(EXTRA_HEADERS)) $(RCSLIB_DIR)/include +# $(INSTALL_CMD) bin/nmlmsgs_svr $(RCSLIB_DIR)/bin +# $(INSTALL_CMD) lib/nmlmsgs.jar $(RCSLIB_DIR)/bin +# $(INSTALL_CMD) lib/libnmlmsgs* $(RCSLIB_DIR)/lib + +#.PHONY: install diff --git a/nmlmsgs/include/CanestaCmd.hh b/nmlmsgs/include/CanestaCmd.hh new file mode 100644 index 0000000..5e22ced --- /dev/null +++ b/nmlmsgs/include/CanestaCmd.hh @@ -0,0 +1,121 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Prevent Multiple Inclusion +#ifndef CANESTA_CMD_HH +#define CANESTA_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //CANESTA_BASE +#define CanestaCmd_name "CanestaCmd" + +// Define the integer type ids. +typedef enum { + CANESTA_CMD_HALT_TYPE = CANESTA_CMD_BASE, + CANESTA_CMD_INIT_TYPE, + CANESTA_CMD_SET_MODULATION_FREQUENCY_TYPE, + CANESTA_CMD_SET_CMR_COUNT_TYPE, + CANESTA_CMD_SET_SHUTTER_TIME_TYPE, + CANESTA_CMD_CONFIG_TYPE, +} CANESTACmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class CANESTA_CMD_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_HALT(); + + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class CANESTA_CMD_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_INIT(); + // CMS Update Function + void update(CMS *); + +}; + +class CANESTA_CMD_SET_MODULATION_FREQUENCY : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_SET_MODULATION_FREQUENCY(); + + // CMS Update Function + void update(CMS *); + + double modulation_frequency; +}; + + +class CANESTA_CMD_SET_SHUTTER_TIME : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_SET_SHUTTER_TIME(); + + // CMS Update Function + void update(CMS *); + + double shutter_time; +}; + +class CANESTA_CMD_SET_CMR_COUNT : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_SET_CMR_COUNT(); + + // CMS Update Function + void update(CMS *); + + int cmr_count; +}; + + +class CANESTA_CMD_CONFIG : public RCS_CMD_MSG +{ +public: + //Constructor + CANESTA_CMD_CONFIG(); + + // CMS Update Function + void update(CMS *); + + + double modulation_frequency; + double shutter_time; + int cmr_count; +}; + + +//! Standard NML format routine +int CanestaCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *CanestaCmd_symbol_lookup(long type); + +#endif + diff --git a/nmlmsgs/include/CanestaSts.hh b/nmlmsgs/include/CanestaSts.hh new file mode 100644 index 0000000..608d16b --- /dev/null +++ b/nmlmsgs/include/CanestaSts.hh @@ -0,0 +1,56 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Prevent Multiple Inclusion +#ifndef CANESTA_STS_HH +#define CANESTA_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //CANESTA_BASE +#include "LadarData.hh" + +#define CanestaSts_name "CanestaSts" + +// Define the integer type ids. +typedef enum { + CANESTA_STATUS_TYPE = CANESTA_STS_BASE, +} CANESTAStsIdEnum; + +// Define the NML Message Classes + +// Status Class +class CANESTA_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + CANESTA_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the CANESTA result is working or not.*/ + time_tracker tt; + float range_offset; + + struct LadarOptionalInfo opt; +}; + +//! Standard NML format routine +int CanestaSts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *CanestaSts_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/LadarCmd.hh b/nmlmsgs/include/LadarCmd.hh new file mode 100644 index 0000000..f0e80fe --- /dev/null +++ b/nmlmsgs/include/LadarCmd.hh @@ -0,0 +1,68 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Peter Russo * +\************************************************************************/ + +#ifndef __INCladarcmdhh +#define __INCladarcmdhh + +#include "rcs.hh" + +#define MAX_NUM_SETTINGS 7 + +#define LADAR_CMD_BASE 60 +#define LADAR_CMD_TYPE LADAR_CMD_BASE +#define LADAR_CMD_NAME "ladarcmd" +#define LADAR_CMD_SIZE 600 + +#define LADAR_STOP_CONTINUOUS 0 +#define LADAR_GET_FRAME 1 +#define LADAR_GET_CONTINUOUS 2 +#define LADAR_SETTINGS 3 +#define LADAR_GET_PREV_FRAME 4 + +class LADAR_CMD : public NMLmsg +{ +public: + int id; + unsigned char command; + unsigned char ladar_type; + unsigned short ladar_id; + + int num_settings; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, values, MAX_NUM_SETTINGS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, titles, MAX_NUM_SETTINGS*50); + + long time_s; + int time_us; + + LADAR_CMD(); + void update(CMS* cms); +}; + +int LadarCmd_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/LadarData.hh b/nmlmsgs/include/LadarData.hh new file mode 100644 index 0000000..9cd8f2a --- /dev/null +++ b/nmlmsgs/include/LadarData.hh @@ -0,0 +1,194 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Peter Russo * +\************************************************************************/ + +#ifndef __INCladarhh +#define __INCladarhh + +#include "rcs.hh" + +#define LADAR_DATA_BASE 50 // INCLUDE BASE_TYPES.H INSTEAD WHEN MOVED ONTO ANOTHER PLATFORM + +enum enumLadarDataNmlType { + LADAR_DATA_TYPE=LADAR_DATA_BASE, + LADAR_DATA_SPLIT_XYZ_TYPE +}; + +#define LADAR_DATA_NAME "ladardata" + +#define LADAR_SIZE_MAX 640*480 //!< LADAR_SIZE_MAX is the maximum number of pixels that a ladar may contain + +enum LadarTypeEnum + { + LADAR_SR2=0, //!< The type enumeration for the CSEM Swissranger 2 + LADAR_CANESTA=1, //!< The type enumeration for any of the Canesta ladars + LADAR_PMD=2, //!< The type enumeration for any of the PMD ladars + LADAR_SR3000=3, //!< The type enumeration for the CSEM Swissranger 3000 + LADAR_LOG=4, //!< The type enumeration for logged data. This is a type to allow commands for pausing/playing logged data + LADAR_UNKNOWN + }; + +/** + * Structure used to store as single return points 3D coordinates. + */ +struct xyz_float_struct +{ + //! distance along an axis across the image horizontally + float x; + + //! distance along an axis across the image vertically + float y; + + //! distance along the axis the FLASH Ladar Camera is pointing into the image. + float z; +}; + +struct xyz_frame +{ + //! Array of 3D data in camera coordinates. Data is packed x1,y1,z1,x2,y2,z2,...xn,yn,zn + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(xyz_float_struct,xyz_data,LADAR_SIZE_MAX); +}; + +struct float_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,fdata,LADAR_SIZE_MAX); +}; + +struct ushort_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned short,usdata,LADAR_SIZE_MAX); +}; + +struct LadarOptionalInfo +{ + //! sensors internal frame count if available. 0 otherwise + unsigned frame_count; + + //! Itegration time in microseconds if available. 0 otherwise + unsigned integration_time_microsec; + + //! number of frames per second if available, 0 otherwise + double frame_rate; + + //! modulation frequency in MHz. + unsigned modulation_frequency_MHz; + + double distanceOffset; + double amplitudeThreshold; + + //! optional ladar specific meaning + int mode; + + //! shutter time in microseconds if available, 0 otherwise + double shutterTime; + + //! second shutter time in microseconds if available, 0 otherwise + double shutterTime2; + + //! ambient light cancellation CMR count, -- meanint is LADAR specific + int cmr1; + + //! ambient light cancellation CMR count, -- meanint is LADAR specific + int cmr2; + + //! unique string identifier/serial number for this device if available. + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, serial_number_string, 80); +}; + + +#define LADAR_DATA_REV "$Rev: 783 $" +#define LADAR_DATA_ID "$Id: LadarData.hh 783 2009-10-16 18:14:04Z shackle $" + +#if !defined(__attribute__) && !defined(__GNUC__) +#define __attribute__(X) +#endif + +static const char __attribute__((unused)) *LADAR_DATA_HEADER_FILE=__FILE__; + +/*! + \class LADAR_DATA + \brief Stores data from [num_ladars] ladars to be distributed with NML +*/ +class LADAR_DATA : public NMLmsg +{ +public: + LADAR_DATA(); + LADAR_DATA(NMLTYPE t, size_t s): NMLmsg(t,s){}; + + void update( CMS*); + + //! Message Info + int Seqno; + + // Ladar Type + enum LadarTypeEnum ladar_type; + + // TimeStamp returned with etime(). measured in seconds, generally precise to 0.000001 s. + double timeStamp; + + // Ladar Dimensional Info + int rows; //!< Stores the number of rows in each ladar + int cols; //!< Stores the number of columns in each ladar + float fov_r; //!< Stores the field of view in the row direction for each ladar + float fov_c; //!< Stores the field of view in the column direction for each ladar + + struct LadarOptionalInfo opt; //!< Configuration options in effect when frame a was collected. + + struct xyz_frame xyz_frame; //!< 3-Dimensional coords of each return point in frame. + + struct float_frame intensity_frame; //!< Intensity value for each point in frame. + + struct float_frame range_frame; //!< Detected range values + + struct ushort_frame objects_frame; //! Object information for frame if provided. + +}; + + +/*! + \class LADAR_DATA + \brief Stores data from [num_ladars] ladars to be distributed with NML +*/ +class LADAR_DATA_SPLIT_XYZ : public LADAR_DATA +{ +public: + LADAR_DATA_SPLIT_XYZ(); + void update( CMS*); + + struct time_tracker tt; + + struct float_frame x_frame; //!< X axis val of 3-Dimensional coords of each return point in frame. + + struct float_frame y_frame; //!< X axis val of 3-Dimensional coords of each return point in frame. + + struct float_frame z_frame; //!< X axis val of 3-Dimensional coords of each return point in frame. + +}; + +int LadarData_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/LadarPatches.hh b/nmlmsgs/include/LadarPatches.hh new file mode 100644 index 0000000..32e5261 --- /dev/null +++ b/nmlmsgs/include/LadarPatches.hh @@ -0,0 +1,82 @@ +/* +# ,--------------------------------------------------------------------- +# | DISCLAIMER +# |--------------------------------------------------------------------- +# | This software was developed at the National Institute of Standards +# | and Technology by employees of the Federal Government in the course +# | of their official duties. Pursuant to title 17 Section 105 of the +# | United States Code this software is not subject to copyright +# | protection and is in the public domain. NIST's [intelligent +# | mobility] software is anexperimental system. NIST assumes no +# | responsibility whatsoever for its use by other parties, and makes no +# | guarantees, expressed or implied, about its quality, reliability, or +# | any other characteristic. We would appreciate acknowledgement if the +# | software is used. This software can be redistributed and/or modified +# | freely provided that any derivative works bear some notice that they +# | are derived from it, and any modified versions bear some notice that +# | they have been modified. +# `--------------------------------------------------------------------- +*/ + +#ifndef __INCladarpatcheshh +#define __INCladarpatcheshh + +#include "rcs.hh" + +#define LADAR_PATCHES_BASE 70 + +#define LADAR_PATCHES_TYPE LADAR_PATCHES_BASE +#define LADAR_PATCHES_NAME "ladarpatches" +#define LADAR_PATCHES_SIZE 300000 + +#define MAX_PATCHES 256 +#define MAX_BOUNDARY_POINTS 32 +#define PATCH_MAX_POINTS 128 + +// MAX_ORDER | PATCH_EQ_LENGTH +// ------------------------|---------------------- +// 0 | 1 +// 1 | 3 +// 2 | 6 +// 3 | 10 +// 4 | 15 + +#define MAX_ORDER 1 +#define PATCH_EQ_LENGTH 3 + +#define PATCH_COORD_LENGTH 3 +#define PATCH_BASIS_LENGTH 9 +#define PATCH_DATA_LENGTH (PATCH_EQ_LENGTH + 2 * (PATCH_COORD_LENGTH + PATCH_BASIS_LENGTH)) + +// This class stores a collection of surface patches. +// The patches can be generated through analysis of a single LADAR frame or +// by higher level filtering, but I recommend keeping filtered and +// unfiltered messages in different channels. Also let's try having +// one channel for all of our LADARs. + +// These messages can be generated with the SurfaceFit class. +class LADAR_PATCHES : public NMLmsg +{ +public: + LADAR_PATCHES(); + void update( CMS*); + + int seqno; + long time_s; + int time_us; + int num_patches; + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, ladar_type, MAX_PATCHES); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned short, ids, MAX_PATCHES); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned short, bound_points, MAX_PATCHES); + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, origin, MAX_PATCHES * PATCH_COORD_LENGTH); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, basis, MAX_PATCHES * PATCH_BASIS_LENGTH); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, equation, MAX_PATCHES * PATCH_EQ_LENGTH); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, bounds, MAX_PATCHES * PATCH_COORD_LENGTH * MAX_BOUNDARY_POINTS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, derivatives, MAX_PATCHES * (PATCH_COORD_LENGTH + PATCH_BASIS_LENGTH)); +}; + +int ladar_patches_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/Makefile b/nmlmsgs/include/Makefile new file mode 100644 index 0000000..7ebe223 --- /dev/null +++ b/nmlmsgs/include/Makefile @@ -0,0 +1,6 @@ + + +all clean: + $(MAKE) -C .. $@ + +.PHONY: all clean diff --git a/nmlmsgs/include/PMDCmd.hh b/nmlmsgs/include/PMDCmd.hh new file mode 100644 index 0000000..cdab1ca --- /dev/null +++ b/nmlmsgs/include/PMDCmd.hh @@ -0,0 +1,124 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Prevent Multiple Inclusion +#ifndef PMD_CMD_HH +#define PMD_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //PMD_BASE +#define PMDCmd_name "PMDCmd" + +// Define the integer type ids. +typedef enum { + PMD_CMD_HALT_TYPE = PMD_CMD_BASE, + PMD_CMD_INIT_TYPE, + PMD_CMD_SET_MODULATION_FREQUENCY_TYPE, + PMD_CMD_SET_RANGE_OFFSET_TYPE, + PMD_CMD_SET_INTEGRATION_TIME_TYPE, + PMD_CMD_CONFIG_TYPE, +} PMDCmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class PMD_CMD_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class PMD_CMD_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_INIT(); + // CMS Update Function + void update(CMS *); + +}; + +// Command Class: Config + +class PMD_CMD_SET_INTEGRATION_TIME : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_SET_INTEGRATION_TIME(): + RCS_CMD_MSG( PMD_CMD_SET_INTEGRATION_TIME_TYPE, sizeof(PMD_CMD_SET_INTEGRATION_TIME)){}; + // CMS Update Function + void update(CMS *); + + int ladar_id; + unsigned short integration_time; +}; + + +class PMD_CMD_SET_MODULATION_FREQUENCY : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_SET_MODULATION_FREQUENCY(): + RCS_CMD_MSG( PMD_CMD_SET_MODULATION_FREQUENCY_TYPE, sizeof(PMD_CMD_SET_MODULATION_FREQUENCY)){}; + // CMS Update Function + void update(CMS *); + + int ladar_id; + double modulation_frequency; +}; + + +class PMD_CMD_SET_RANGE_OFFSET : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_SET_RANGE_OFFSET(): + RCS_CMD_MSG( PMD_CMD_SET_RANGE_OFFSET_TYPE, sizeof(PMD_CMD_SET_RANGE_OFFSET)){}; + // CMS Update Function + void update(CMS *); + + float range_offset; +}; + + +class PMD_CMD_CONFIG : public RCS_CMD_MSG +{ +public: + //Constructor + PMD_CMD_CONFIG(): + RCS_CMD_MSG( PMD_CMD_CONFIG_TYPE, sizeof(PMD_CMD_CONFIG)){}; + // CMS Update Function + void update(CMS *); + + int ladar_id; + unsigned short integration_time; + double modulation_frequency; + float range_offset; +}; + + +//! Standard NML format routine +int PMDCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *PMDCmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/PMDSts.hh b/nmlmsgs/include/PMDSts.hh new file mode 100644 index 0000000..3a6e9ae --- /dev/null +++ b/nmlmsgs/include/PMDSts.hh @@ -0,0 +1,56 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Prevent Multiple Inclusion +#ifndef PMD_STS_HH +#define PMD_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //PMD_BASE +#include "LadarData.hh" + +#define PMDSts_name "PMDSts" + +// Define the integer type ids. +typedef enum { + PMD_STATUS_TYPE = PMD_STS_BASE, +} PMDStsIdEnum; + +// Define the NML Message Classes + +// Status Class +class PMD_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + PMD_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the PMD result is working or not.*/ + time_tracker tt; + float range_offset; + + struct LadarOptionalInfo opt; +}; + +//! Standard NML format routine +int PMDSts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *PMDSts_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/PointCloud.hh b/nmlmsgs/include/PointCloud.hh new file mode 100644 index 0000000..7e8ec9b --- /dev/null +++ b/nmlmsgs/include/PointCloud.hh @@ -0,0 +1,37 @@ + + +#ifndef POINTCLOUD_HH + +#include "rcs.hh" // NMLmsg ... +#include "nmlOffsets.hh" // POINTCLOUD_BASE + +enum enumPointCloudNmlType { + POINTCLOUD_MSG_TYPE=POINTCLOUD_BASE+1, +}; + +#define MAX_POINTCLOUD_POINTS (1024*1024) + +class POINTCLOUD_MSG : public NMLmsg { +public: + POINTCLOUD_MSG(); + void update(CMS *); + + double timeStamp; + int rows; + int cols; + bool dense; + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,x,MAX_POINTCLOUD_POINTS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,y,MAX_POINTCLOUD_POINTS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,z,MAX_POINTCLOUD_POINTS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,color,MAX_POINTCLOUD_POINTS); + + // the row and col for the given index ie x[i] came from row[i],column[i] in + // the original dense range image. + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,row,MAX_POINTCLOUD_POINTS); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int,col,MAX_POINTCLOUD_POINTS); +}; + +extern int PointCloud_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/SkyTrax_TCPMsg.hh b/nmlmsgs/include/SkyTrax_TCPMsg.hh new file mode 100644 index 0000000..17344fd --- /dev/null +++ b/nmlmsgs/include/SkyTrax_TCPMsg.hh @@ -0,0 +1,173 @@ + + +#ifndef SKYTRAX_TCPMSG_HH +#define SKYTRAX_TCPMSG_HH + +/* + * This header defines two messages a very complicated one (TCPMsg) + * that contains all of the information that was in the original skytrax + * server message. + * You can get this info directly by using telnet or nc to port 8888 of + * HiCass or wherever the SkyTrax server is running.. + * + ie. + + nc 192.168.1.10 8888 + + * will just repeatedly dump the xml data + + + + PosUpdate + + + + + 2009-05-01T15:16:57.765625-04:00 + Observed + 1 + 15.47 + 9.5900000000000034 + 339 + 90 + 0 + false + 0 + 1 + + 0 + 0 + 0 + 0 + + 0 + Robot + 3 + 3 + 1 + 0 + + + 2009-05-01T15:16:57.765625-04:00 + Observed + 2 + 0 + 0 + 0 + 0 + 0 + false + 0 + 0 + + 0 + 0 + 0 + 0 + + 0 + ATRV + 3 + 3 + 1 + 0 + + + + + #include + #include "moastNmlOffsets.hh" +*/ + +#ifndef AM_MOB_JA_HH +#define AM_MOB_JA_HH + +#include "moastTypes.hh" // MAX_WAYPOINTS, MAX_ARC_SEGMENTS +#include "moastNmlOffsets.hh" + +#define RAD(x) (0.017453292519943 * (x)) + +#define MAX_AM_SEED_NODES 200 + +#define AM_MOB_JA_CMD_NAME "amMobJACmd" +#define AM_MOB_JA_STAT_NAME "amMobJAStat" +#define AM_MOB_JA_CFG_NAME "amMobJACfg" +#define AM_MOB_JA_SET_NAME "amMobJASet" + +#define AM_MOB_JA_CMD_BASE (AM_MOB_JA_BASE) +#define AM_MOB_JA_STAT_BASE (AM_MOB_JA_BASE + 100) +#define AM_MOB_JA_CFG_BASE (AM_MOB_JA_BASE + 200) +#define AM_MOB_JA_SET_BASE (AM_MOB_JA_BASE + 300) +#define AM_MOB_JA_ERROR_BASE (AM_MOB_JA_BASE + 400) + +#define AM_MOB_JA_CMD_INIT_TYPE (AM_MOB_JA_CMD_BASE + 1) +#define AM_MOB_JA_CMD_ABORT_TYPE (AM_MOB_JA_CMD_BASE + 2) +#define AM_MOB_JA_CMD_HALT_TYPE (AM_MOB_JA_CMD_BASE + 3) +#define AM_MOB_JA_CMD_SHUTDOWN_TYPE (AM_MOB_JA_CMD_BASE + 4) +#define AM_MOB_JA_CMD_MOVE_WAYPOINT_TYPE (AM_MOB_JA_CMD_BASE + 5) +#define AM_MOB_JA_CMD_PREPARE_MOVE_TYPE (AM_MOB_JA_CMD_BASE + 6) +#define AM_MOB_JA_CMD_SPIN_TYPE (AM_MOB_JA_CMD_BASE + 7) +#define AM_MOB_JA_CMD_STOP_TYPE (AM_MOB_JA_CMD_BASE + 8) +#define AM_MOB_JA_CMD_NOP_TYPE (AM_MOB_JA_CMD_BASE + 9) + +#define AM_MOB_JA_STAT_TYPE (AM_MOB_JA_STAT_BASE + 1) + +#define AM_MOB_JA_CFG_CELL_RESOLUTION_TYPE (AM_MOB_JA_CFG_BASE + 1) +#define AM_MOB_JA_CFG_CYCLE_TIME_TYPE (AM_MOB_JA_CFG_BASE + 2) +#define AM_MOB_JA_CFG_DEBUG_TYPE (AM_MOB_JA_CFG_BASE + 3) +#define AM_MOB_JA_CFG_DUMP_WM_TYPE (AM_MOB_JA_CFG_BASE + 4) +#define AM_MOB_JA_CFG_NOP_TYPE (AM_MOB_JA_CFG_BASE + 5) +#define AM_MOB_JA_CFG_PLAN_HORIZON_TYPE (AM_MOB_JA_CFG_BASE + 6) +#define AM_MOB_JA_CFG_VEHICLE_MIN_TURN_RAD_TYPE (AM_MOB_JA_CFG_BASE + 7) +#define AM_MOB_JA_CFG_VEHICLE_WIDTH_TYPE (AM_MOB_JA_CFG_BASE + 8) + +#define AM_MOB_JA_SET_TYPE (AM_MOB_JA_SET_BASE + 1) + +#define AM_MOB_JA_ERROR_MOVE (AM_MOB_JA_ERROR_BASE + 1) +#define AM_MOB_JA_ERROR_NONE (AM_MOB_JA_ERROR_BASE + 2) +#define AM_MOB_JA_ERROR_NOT_INIT (AM_MOB_JA_ERROR_BASE + 3) +#define AM_MOB_JA_ERROR_PLAN_HORIZON (AM_MOB_JA_ERROR_BASE + 4) +#define AM_MOB_JA_ERROR_PLAN_PRIM (AM_MOB_JA_ERROR_BASE + 5) +#define AM_MOB_JA_ERROR_POSITION (AM_MOB_JA_ERROR_BASE + 6) +#define AM_MOB_JA_ERROR_PRIM (AM_MOB_JA_ERROR_BASE + 7) +#define AM_MOB_JA_ERROR_UNSPECIFIED (AM_MOB_JA_ERROR_BASE + 8) +#define AM_MOB_JA_ERROR_WAYPOINT (AM_MOB_JA_ERROR_BASE + 9) + +/*! For AM_MOB_JA_ERROR_WAYPOINT: + 0. If there are too many arc segments: seed_length will be set to 0. + + 1. If a waypoint is in a bad location (such as on an obstacle): seed_length + will be set to 1 and seed[0] will contain the offending location. + + 2. If there is not at least one arc segment: seed_length will be set to 2. + + 3. If two consecutive waypoints are too close together: seed_length + will be set to 3, the first too-close point will be in seed[0], the + second too-close point will be in seed[1], and the minimum distance + allowed between waypoints will be in seed[2].x. +*/ + +// AmMobJACmdXXX + +/***********************************************************************/ + +/*! AmMobJACmdInit is a task command class telling the AM level to initialize. + +*/ + +class AmMobJACmdInit:public RCS_CMD_MSG { +public: + AmMobJACmdInit():RCS_CMD_MSG(AM_MOB_JA_CMD_INIT_TYPE, + sizeof(AmMobJACmdInit)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACmdAbort is a task command class telling the AM level to abort. +*/ + +class AmMobJACmdAbort:public RCS_CMD_MSG { +public: + AmMobJACmdAbort():RCS_CMD_MSG(AM_MOB_JA_CMD_ABORT_TYPE, + sizeof(AmMobJACmdAbort)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACmdHalt is a task command class telling the AM level to halt. +*/ + +class AmMobJACmdHalt:public RCS_CMD_MSG { +public: + AmMobJACmdHalt():RCS_CMD_MSG(AM_MOB_JA_CMD_HALT_TYPE, + sizeof(AmMobJACmdHalt)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACmdShutdown is a task command class telling the AM level to +shut down. +*/ + +class AmMobJACmdShutdown:public RCS_CMD_MSG { +public: + AmMobJACmdShutdown():RCS_CMD_MSG(AM_MOB_JA_CMD_SHUTDOWN_TYPE, + sizeof(AmMobJACmdShutdown)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACmdMoveWaypoint is a task command class telling the AM level to +move the vehicle through a series of waypoints. The data in the command +is an array of waypoints, up to MAX_WAYPOINTS, in relative coordinates. + +AmMobJA must do whatever is necessary to get the prim level to move +appropriately. This might require making a plan(s) or retrieving a +a plan(s). + +In normal operation, it is expected that there will usually be only one +waypoint and that the plan will change before the vehicle reaches +the waypoint. + +If computeHorizonCosts is true, while prim is busy accomplishing the +move(s), amMobJA must compute additional plans to reach all +the points on the planning horizon. These points are used by the +vehicle level planner to seed its planning graph in the same way +that the points computed by preparePlan are used. + +This command is really two commands in one. It is not feasible to +use two separate commands because (a) if preparePlan were called while +moveWaypoint was in progress, it would wipe out amMobJA's knowledge +of the status of the move and (b) if amMobJA were to wait until +moveWaypoint was done and then get a preparePlan command, it would +be impossible to have continuous motion. + +Because this is really two commands executing simultaneously, the +status must indicate the progress of both commands. To do +this, the seed_length in the status message should be updated on +every cycle (not only when RCS_DONE is received from prim) to indicate +the number of points for which the cost has been found. RCS_DONE +should be returned only if prim has actually reached the last +waypoint (not normally expected to happen) and amMobJA considers the +planning finished (which it may do without planning to all points on +its horizon). + +The speed and neighborhood data members are used only for planning to +the periphery of the planning horizon. Each waypoint has its own +speed and neighborhood which is to be used in planning and execution +for that waypoint. + +*/ + +class AmMobJACmdMoveWaypoint:public RCS_CMD_MSG { +public: + AmMobJACmdMoveWaypoint():RCS_CMD_MSG(AM_MOB_JA_CMD_MOVE_WAYPOINT_TYPE, + sizeof(AmMobJACmdMoveWaypoint)) {}; + void update(CMS *); + + bool computeHorizonCosts; + double neighborhood; + double speed; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(Waypoint, waypoint, MAX_WAYPOINTS); + // will now automatically get 'int waypoint_length' +}; + +/***********************************************************************/ + +/*! AmMobJACmdPrepareMove is a command class telling the AM level to + prepare for vehicle movement. The planner will compute the cost of + moving from the vehicle's current location to an array of locations + on the vehicle's planning horizon, using the given neighborhood + and speed constraints. The vehicle level planner will read these + costs from the status message and use them for computing the final + path to follow. A move waypoint command with a single waypoint + will follow this command. +*/ + +/* Note that when using this command, the status returned (in the seed + array) will contain the cost of reaching planned points. The XY location + of the nth point is at (seed[n].x, seed[n].y) and the cost of that + point is in seed[n].z. A cost of -1 means that the point is unreachable. + The value located at seed[seed_length] gives the current location of the + vehicle and should contain a cost of 0. +*/ + +class AmMobJACmdPrepareMove:public RCS_CMD_MSG { +public: + AmMobJACmdPrepareMove():RCS_CMD_MSG(AM_MOB_JA_CMD_PREPARE_MOVE_TYPE, + sizeof(AmMobJACmdPrepareMove)) {}; + void update(CMS *); + + double neighborhood; + double speed; +}; + +/***********************************************************************/ + +/*! AmMobJACmdNop is a command class that does nothing. +*/ + +class AmMobJACmdNop:public RCS_CMD_MSG { +public: + AmMobJACmdNop():RCS_CMD_MSG(AM_MOB_JA_CMD_NOP_TYPE, + sizeof(AmMobJACmdNop)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACmdSpin is a command that causes the vehicle to spin in the + direction indicated by the "direction", which should have one of the + three values in the enum below. The CW suffix means clockwise, the + CCW suffix means counterclockwise and the SHORTEST suffix means take + the direction with the shortest rotation. The vehicle should spin in + the direction given until the given absolute angle is achieved. The + command will cause the vehicle to stop at +- tolerance of the given + angle. + + Note that clockwise would result in north-to-east rotation and + counterclockwise would result in north-to-west rotation, consistent + with an overhead view of the vehicle. Since the vehicle's Z axis + points down, the yaw values increase for clockwise rotation and + decrease with counterclockwise rotation. */ + +/* enum {PRIM_MOB_JA_CMD_ROTATE_CW, // force clockwise rotation + PRIM_MOB_JA_CMD_ROTATE_CCW, // force counter-clockwise rotation + PRIM_MOB_JA_CMD_ROTATE_SHORTEST}; // take shortest rotation +*/ + +class AmMobJACmdSpin:public RCS_CMD_MSG { +public: + AmMobJACmdSpin():RCS_CMD_MSG(AM_MOB_JA_CMD_SPIN_TYPE, + sizeof(AmMobJACmdSpin)) {}; + void update(CMS *); + int direction; + double absAngle; + double tolerance; +}; + +/***********************************************************************/ + +/*! AmMobJACmdStop is a command that causes the vehicle to stop motion. +*/ + +class AmMobJACmdStop:public RCS_CMD_MSG { +public: + AmMobJACmdStop():RCS_CMD_MSG(AM_MOB_JA_CMD_STOP_TYPE, + sizeof(AmMobJACmdStop)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJAStat is the command status class for the AM controller. +The admin_state data member is inherited from RCS_STAT_MSG_V2. + +The amMobJAError data member is for providing specific error +information on the status of a AmMobJACmdMoveWaypoint command. For +other commands, it should be set to AM_MOB_JA_ERROR_NONE by AM Mob and +ignored by the receiver. + +The seed array is a list of planning horizon costs. When requested, +the planner will compute the cost of reaching nodes on the planning +horizon. The node location is stored in the .x and .y fields and the +cost is stored in the .z field. + +*/ + +class AmMobJAStat : public RCS_STAT_MSG_V2 { +public: + AmMobJAStat() : RCS_STAT_MSG_V2(AM_MOB_JA_STAT_TYPE, sizeof(AmMobJAStat)) {}; + void update(CMS *); + + unsigned int amMobJAError; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN, seed, MAX_AM_SEED_NODES); + // will now automatically get 'int seed_length' +}; + +/***********************************************************************/ + +/*! AmMobJACfgCellResolution is a configuration command class that +sets the AM controller's cell resolution. +*/ + +class AmMobJACfgCellResolution:public RCS_CMD_MSG { +public: + AmMobJACfgCellResolution():RCS_CMD_MSG(AM_MOB_JA_CFG_CELL_RESOLUTION_TYPE, + sizeof(AmMobJACfgCellResolution)) {}; + void update(CMS *); + + //! resolution in meters + double cellResolution; +}; + +/***********************************************************************/ + +/*! AmMobJACfgCycleTime is a configuration command class that +sets the AM controller's cycle time. +*/ + +class AmMobJACfgCycleTime:public RCS_CMD_MSG { +public: + AmMobJACfgCycleTime():RCS_CMD_MSG(AM_MOB_JA_CFG_CYCLE_TIME_TYPE, + sizeof(AmMobJACfgCycleTime)) {}; + void update(CMS *); + + //! period in seconds + double cycleTime; +}; + +/***********************************************************************/ + +/*! AmMobJACfgDebug is a configuration command class that +sets the controller's debug level. +*/ + +class AmMobJACfgDebug:public RCS_CMD_MSG { +public: + AmMobJACfgDebug():RCS_CMD_MSG(AM_MOB_JA_CFG_DEBUG_TYPE, + sizeof(AmMobJACfgDebug)) {}; + void update(CMS *); + + //! debug level + int debug; +}; + +/***********************************************************************/ + +/*! AmMobJACfgDumpWM is a configuration command class that + turns on or off the output of the current world view + +*/ + +class AmMobJACfgDumpWM:public RCS_CMD_MSG { +public: + AmMobJACfgDumpWM():RCS_CMD_MSG(AM_MOB_JA_CFG_DUMP_WM_TYPE, + sizeof(AmMobJACfgDumpWM)) {}; + void update(CMS *); + + //! turn on or off output (true on, false off) + bool turnOn; +}; + +/***********************************************************************/ + +/*! AmMobJACfgNop is a command class that does nothing. +*/ + +class AmMobJACfgNop:public RCS_CMD_MSG { +public: + AmMobJACfgNop():RCS_CMD_MSG(AM_MOB_JA_CFG_NOP_TYPE, + sizeof(AmMobJACfgNop)) {}; + void update(CMS *); +}; + +/***********************************************************************/ + +/*! AmMobJACfgPlanHorizon is a configuration command class that +sets the AM controller's plan horizon. +*/ + +class AmMobJACfgPlanHorizon:public RCS_CMD_MSG { +public: + AmMobJACfgPlanHorizon():RCS_CMD_MSG(AM_MOB_JA_CFG_PLAN_HORIZON_TYPE, + sizeof(AmMobJACfgPlanHorizon)) {}; + void update(CMS *); + + //! plan horizon in meters + double planHorizon; +}; + +/***********************************************************************/ + +/*! AmMobJACfgVehicleMinTurnRad is a configuration command class that +sets the controller's vehicle minimum turning radius. + +vehicleMinTurnRad is a double (in meters) and should be non-negative. + +*/ + +class AmMobJACfgVehicleMinTurnRad:public RCS_CMD_MSG { +public: + AmMobJACfgVehicleMinTurnRad(): + RCS_CMD_MSG(AM_MOB_JA_CFG_VEHICLE_MIN_TURN_RAD_TYPE, + sizeof(AmMobJACfgVehicleMinTurnRad)) {}; + void update(CMS *); + + //! minimum turning radius in meters + double vehicleMinTurnRad; +}; + +/***********************************************************************/ + +/*! AmMobJACfgVehicleWidth is a configuration command class that +sets the controller's vehicle width. + +vehicleWidth is a double (in meters) and should be positive. + +*/ + +class AmMobJACfgVehicleWidth:public RCS_CMD_MSG { +public: + AmMobJACfgVehicleWidth():RCS_CMD_MSG(AM_MOB_JA_CFG_VEHICLE_WIDTH_TYPE, + sizeof(AmMobJACfgVehicleWidth)) {}; + void update(CMS *); + + //! width in meters + double vehicleWidth; +}; + +/***********************************************************************/ + +/*! AmMobJASet is the configuration status class for AM mobility. + It holds settings that change infrequently and in response + to configuration commands.*/ +/* + +The configuration status includes two distinct sorts of data: +(1) data about the AM Mob system + cellResolution + cycleTime + debug + dumpWM + planHorizon +(2) data about the vehicle being controlled. + controlPoint + vehicleMinTurnRad + vehicleWidth + + Data about the AM Mob system comes initially from three sources: +(1) arguments to the command that starts the system, +(2) the inifile, +(3) default values. + +Data about the vehicle comes initially from three sources: +(1) the inifile, +(2) servo Mob, which gets it from the simulation, +(3) default values. + +The control point is actually a transformation which, when applied to +the location point (the point whose location is given by nav data and +is usually somewhere near the center of the vehicle) will give the +location of the point being controlled. This is usually a point on the +vehicle whose motion is easiest to predict given the motion of the +controlled wheels. For a 4-wheel vehicle with all wheels powered and +no wheels that steer, this is usually about the same as the center of +the vehicle. For a vehicle with two wheels that steer (ackermann +steering), this is usually the midpoint of the line between the +centers of the wheels that do not steer. Prim Mob and AM Mob need to +use the same control point. + +Commands exist to change all the status data, but AM Mob will refuse +to change the cellResolution or the planHorizon while it is running +(since it is unable to do so). + +It is usually not a good idea to change data about the vehicle (if the +data provided by servo or inifile is correct), but for testing purposes +and emergency maneuvers, it may be useful. + +*/ + +class AmMobJASet : public RCS_STAT_MSG { +public: + AmMobJASet():RCS_STAT_MSG(AM_MOB_JA_SET_TYPE, sizeof(AmMobJASet)) {}; + void update(CMS *); + + double cellResolution; + PM_POSE controlPoint; // (inverse of) pose of control pt wrt nav data frame + double cycleTime; + unsigned int debug; + bool dumpWM; + double planHorizon; + double vehicleMinTurnRad; + double vehicleWidth; +}; + +/***********************************************************************/ + +extern int amMobJA_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * amMobJA_symbol_lookup(long v); + +/***********************************************************************/ + +#endif // AM_MOB_JA_HH diff --git a/nmlmsgs/include/amSP.hh b/nmlmsgs/include/amSP.hh new file mode 100644 index 0000000..d453ef0 --- /dev/null +++ b/nmlmsgs/include/amSP.hh @@ -0,0 +1,261 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file amSP.hh + + \brief NML declaration for the am sensor processing level. Contains + am level sensor command, status, set, and data messages. + + \code CVS Status: + $Author: tomrkramer $ + $Revision: 1.9 $ + $Date: 2008/02/11 23:33:36 $ + \endcode + + \author Fred Proctor + \date 8 June 2005 +*/ + +#ifndef AM_SP_HH +#define AM_SP_HH + +#include "rcs.hh" +#include "moastNmlOffsets.hh" + +#define AM_SP_CMD_NAME "amSPCmd" +#define AM_SP_STAT_NAME "amSPStat" +#define AM_SP_CFG_NAME "amSPCfg" +#define AM_SP_SET_NAME "amSPSet" +#define AM_SP_DATA_NAME "amSPData" + +#define AM_SP_CMD_BASE (AM_SP_BASE) +#define AM_SP_STAT_BASE (AM_SP_BASE + 100) +#define AM_SP_CFG_BASE (AM_SP_BASE + 200) +#define AM_SP_SET_BASE (AM_SP_BASE + 300) +#define AM_SP_DATA_BASE (AM_SP_BASE + 400) + +#define AM_SP_CMD_INIT_TYPE (AM_SP_CMD_BASE + 1) +#define AM_SP_CMD_ABORT_TYPE (AM_SP_CMD_BASE + 2) +#define AM_SP_CMD_HALT_TYPE (AM_SP_CMD_BASE + 3) +#define AM_SP_CMD_SHUTDOWN_TYPE (AM_SP_CMD_BASE + 4) +#define AM_SP_CMD_GO_TYPE (AM_SP_CMD_BASE + 5) +#define AM_SP_CMD_NOP_TYPE (AM_SP_CMD_BASE + 6) + +#define AM_SP_STAT_TYPE (AM_SP_STAT_BASE + 1) + +#define AM_SP_CFG_CYCLE_TIME_TYPE (AM_SP_CFG_BASE + 1) +#define AM_SP_CFG_DEBUG_TYPE (AM_SP_CFG_BASE + 2) +#define AM_SP_CFG_DUMP_WM_TYPE (AM_SP_CFG_BASE + 3) +#define AM_SP_CFG_NOP_TYPE (AM_SP_CFG_BASE + 4) + +#define AM_SP_SET_TYPE (AM_SP_SET_BASE + 1) + +#define AM_SP_DATA_1D_TYPE (AM_SP_DATA_BASE + 1) +#define AM_SP_DATA_2D_TYPE (AM_SP_DATA_BASE + 2) + +#define AM_SP_DATA_1D_MAXSIZE 128 +#define AM_SP_DATA_2D_MAXSIZE 256 + +#define AMSP_NOT_OBSTACLE 0.0 +#define AMSP_UNSEEN 0.2 +#define AMSP_MAYBE_OBSTACLE 0.4 +#define AMSP_OBSTACLE 0.6 +#define AMSP_PROBINIT 0.2 +#define AMSP_PROBINC 0.07 +#define AMSP_PROBDEC -0.02 + +// AM_SP_CMD_XXX +///////////////////////////////////////////////// +class AmSPCmdInit:public RCS_CMD_MSG { +public: + AmSPCmdInit():RCS_CMD_MSG(AM_SP_CMD_INIT_TYPE, + sizeof(AmSPCmdInit)) {}; + void update(CMS *); +}; + +class AmSPCmdAbort:public RCS_CMD_MSG { +public: + AmSPCmdAbort():RCS_CMD_MSG(AM_SP_CMD_ABORT_TYPE, + sizeof(AmSPCmdAbort)) {}; + void update(CMS *); +}; + +class AmSPCmdHalt:public RCS_CMD_MSG { +public: + AmSPCmdHalt():RCS_CMD_MSG(AM_SP_CMD_HALT_TYPE, + sizeof(AmSPCmdHalt)) {}; + void update(CMS *); +}; + +class AmSPCmdShutdown:public RCS_CMD_MSG { +public: + AmSPCmdShutdown():RCS_CMD_MSG(AM_SP_CMD_SHUTDOWN_TYPE, + sizeof(AmSPCmdShutdown)) {}; + void update(CMS *); +}; + +class AmSPCmdGo:public RCS_CMD_MSG { +public: + AmSPCmdGo():RCS_CMD_MSG(AM_SP_CMD_GO_TYPE, + sizeof(AmSPCmdGo)) {}; + void update(CMS *); +}; + +class AmSPCmdNop:public RCS_CMD_MSG { +public: + AmSPCmdNop():RCS_CMD_MSG(AM_SP_CMD_NOP_TYPE, + sizeof(AmSPCmdNop)) {}; + void update(CMS *); +}; + +// AM_SP_STAT +////////////////////////////////////////////// +class AmSPStat : public RCS_STAT_MSG_V2 { +public: + AmSPStat() : RCS_STAT_MSG_V2(AM_SP_STAT_TYPE, sizeof(AmSPStat)) {}; + void update(CMS *); +}; + +// AM_SP_CFG_XXX +////////////////////////////////////////////////////// + +/***********************************************************************/ + +/*! AmSPCfgCycleTime is a configuration command class that + adujsts the cycle time. + +*/ + +class AmSPCfgCycleTime:public RCS_CMD_MSG { +public: + AmSPCfgCycleTime():RCS_CMD_MSG(AM_SP_CFG_CYCLE_TIME_TYPE, + sizeof(AmSPCfgCycleTime)) {}; + void update(CMS *); + + //! period in seconds + double cycleTime; +}; + +/***********************************************************************/ + +/*! AmSPCfgDebug is a configuration command class that + adujsts the AM SP debugging level. + +*/ + +class AmSPCfgDebug:public RCS_CMD_MSG { +public: + AmSPCfgDebug():RCS_CMD_MSG(AM_SP_CFG_DEBUG_TYPE, + sizeof(AmSPCfgDebug)) {}; + void update(CMS *); + + //! debug level + int debug; +}; + +/***********************************************************************/ + +/*! AmSPCfgDumpWM is a configuration command class that + sets graphical output of the current world view to + off or show height map or show obstacle map. + +*/ + +class AmSPCfgDumpWM:public RCS_CMD_MSG { +public: + AmSPCfgDumpWM():RCS_CMD_MSG(AM_SP_CFG_DUMP_WM_TYPE, + sizeof(AmSPCfgDumpWM)) {}; + void update(CMS *); + + //! turn on or off output (true on, false off) + int level; +}; + +/***********************************************************************/ + +//! AmSPCfgNop is a configuration command class that does nothing + +class AmSPCfgNop:public RCS_CMD_MSG { +public: + AmSPCfgNop():RCS_CMD_MSG(AM_SP_CFG_NOP_TYPE, sizeof(AmSPCfgNop)) {}; + void update(CMS *); + +}; + +/***********************************************************************/ + +/*! AmSPSet is the configuration status class for AM SP. + It holds settings that change infrequently and in response + to configuration commands. +*/ + +class AmSPSet : public RCS_STAT_MSG { +public: + AmSPSet():RCS_STAT_MSG(AM_SP_SET_TYPE, sizeof(AmSPSet)) {}; + void update(CMS *); + + double cycleTime; + int debug; + int dumpLevel; +}; + +/***********************************************************************/ + +extern int amSP_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * amSP_symbol_lookup(long type); +extern const char * amSP_enum_RCS_ADMIN_STATE_symbol_lookup(long v); + +/***********************************************************************/ + +#endif // AM_SP_HH + +/* + Modification history: + + $Log: amSP.hh,v $ + Revision 1.9 2008/02/11 23:33:36 tomrkramer + Since there are now three choices of dump level, changed "bool turnOn" + to "int level" and changed "bool dumpWM" to "int dumpLevel". + + Revision 1.8 2006/09/25 19:02:40 dr_steveb + Moved location of am map probabilitys to avoid multiple declarations of "CELL_NAME" + + Revision 1.7 2006/06/21 19:38:13 proctor + Added support for Java, which involved including some left-out headers + like moastNmlOffsets.hh and moastTypes.hh + + Revision 1.6 2006/04/19 22:36:53 tomrkramer + Removed heartbeat from AmSPStat class (use tt.count instead). + + Revision 1.5 2006/04/07 16:35:13 tomrkramer + Added extern declaration of amSP_enum_RCS_ADMIN_STATE_symbol_lookup + used in amShell. Improved documentation of AmSPSet. + + Revision 1.4 2006/04/05 13:50:42 tomrkramer + Switched using RCS_STAT_MSG_V2 and NOP. + + Revision 1.3 2005/11/16 14:04:18 tomrkramer + added NoOp and changed handling of hits and probabilities + + Revision 1.2 2005/10/23 15:41:07 dr_steveb + Changes to add dump command to amSP and adjust for its new resolution. + + Revision 1.1.1.1 2005/10/12 20:50:32 root + initial import + + Revision 1.2 2005/06/15 13:31:04 beytin + Updated so amSP now has a go command. + + Revision 1.1 2005/06/08 19:52:12 proctor + Initial checkin + +*/ diff --git a/nmlmsgs/include/atrvTune.hh b/nmlmsgs/include/atrvTune.hh new file mode 100644 index 0000000..1ac67a2 --- /dev/null +++ b/nmlmsgs/include/atrvTune.hh @@ -0,0 +1,168 @@ + +#ifndef ATRV_TUNE_HH +#define ATRV_TUNE_HH + + +#include "rcs.hh" +#include "moastNmlOffsets.hh" + +//generate_symbol_lookups=true + +struct motor_gains { + + // Feed forward gain output = cmd_vel*ffgain + ... + float ffgain; + + // Proportional gain output = err*pgain + ... + float pgain; + + // Integral gain output = cumerr * igain + ... + float igain; + + // Derivativ gain output = cumerr * igain + ... + float dgain; + + /* Scale multiplies wRight or wLeft from ServoMobJACmdSkid + * cmd_vel = scale * wRight + * -- ticks/meter + */ + float scale; + + // Which encoder counter to use fixes in software the mismatched wiring. + int counter_index; + + // max_allowed error cmd_vel - act_vel or disable servo. (Set to zero for no limit) + float max_allowed_error; + + // clip max DAC output or set to zero for no limit. + int max_iout; + +}; + + +struct motor_state { + + // Commanded velocity taken from ServoMobJACmdSkid wLeft or wRight *scale. + float cmd_vel; + + // Actual velocity count_diff/time_diff; + float act_vel; + + // Following error cmd_vel - act_vel; + float err; + + // Cumulative err cumerr += err each cycle. + float cumerr; + + // Cumulative err cumerr += err each cycle. + float old_err; + + // Cumulative err cumerr += err each cycle. + float diff_err; + + // Maximum value of err since last init. + float max_recorded_err; + + // Current encoder position in ticks + int count; + + // Difference between encoder position and encoder position last cycle count-old_count + int count_diff; + + // Old encoder position in ticks. + int old_count; + + // DAC output value. + int iout; + + // Value sent to dac last cycle + int last_iout; + + // Cycle to cycle iout_diff + int iout_diff; + + struct motor_gains gains; +}; + +enum ATRV_MSG_TYPES { + ATRV_TUNE_MSG_OUT_TYPE = (ATRV_TUNE_BASE+1), + ATRV_TUNE_MSG_IN_TYPE, + ATRV_TUNE_DAC_OVERRIDE_TYPE, + ATRV_TUNE_CLEAR_TYPE, + ATRV_TUNE_ENABLE_TYPE +}; + +struct atrv_global_settings_struct { + double max_vel; + double max_non_turning_vel_diff; + int turning_cw_iout_ramp_min; + int turning_cw_iout_ramp_max; + int turning_ccw_iout_ramp_min; + int turning_ccw_iout_ramp_max; + double turning_iout_ramp_period; +}; + +struct atrv_dac_override_struct { + bool dac_ramp; + double iout_override_max_time_to_use; + double iout_ramp_delay_time; + int iout_override[4]; +}; + +class ATRV_TUNE_MSG_OUT : public NMLmsg { +public: + ATRV_TUNE_MSG_OUT(); + void update(CMS *); + + double timeStamp; + bool dac_override; + bool enabled; + bool turning; + bool turning_cw; + bool turning_ccw; + struct motor_state states[4]; + struct time_tracker tt; + struct atrv_global_settings_struct global_settings; + struct atrv_dac_override_struct dac_override_info; + double turning_start_time; + double turning_time_used; + double iout_override_time_used; + double iout_override_start_time; + int turning_ramp_cycles; + int turning_iout_ramp_val; +}; + +class ATRV_TUNE_MSG_IN : public NMLmsg { +public: + ATRV_TUNE_MSG_IN(); + void update(CMS *); + + struct atrv_global_settings_struct global_settings; + struct motor_gains gains[4]; +}; + +class ATRV_TUNE_DAC_OVERRIDE : public NMLmsg { +public: + ATRV_TUNE_DAC_OVERRIDE(); + void update(CMS *); + + struct atrv_dac_override_struct dac_override_info; +}; + + +class ATRV_TUNE_CLEAR : public NMLmsg { +public: + ATRV_TUNE_CLEAR(); + void update(CMS *); +}; + +class ATRV_TUNE_ENABLE : public NMLmsg { +public: + ATRV_TUNE_ENABLE(); + void update(CMS *); +}; + +extern int atrvTune_format(NMLTYPE type, void *buf, CMS * cms); + +#endif +// end of ifdef ATRV_TUNE_HH diff --git a/nmlmsgs/include/coordinate.hh b/nmlmsgs/include/coordinate.hh new file mode 100644 index 0000000..085d332 --- /dev/null +++ b/nmlmsgs/include/coordinate.hh @@ -0,0 +1,68 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/***************************************************************************** + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*****************************************************************************/ +/*! + \file coordinate.hh + \brief Specify coordinate transformation routines. + + + + \code CVS Status: + $Author: tchang $ + $Revision: 707 $ + $Date: 2006-10-16 14:15:15 -0400 (Mon, 16 Oct 2006) $ + \endcode + \par CVS Log: + \ref coordinate_hh "More..." + + \author Tommy Chang + \date 2001-10-13 +*/ + +#ifndef COORDINATE_HH +#define COORDINATE_HH + +#include "simpleMatrix.hh" + +void sickCoordInit (int nSamples); +void sickConvertFrame (float *frame_xyz, + const float *range_mPtr, + const float *trans, + const float *rpy); + +void sickConvertFrame (float *frame_xyz, + const float *range_mPtr, + const float *trans, + const float *rpyA, + const float *rpyB); + +void convertFrameToFrame (float *frame_xyz, + const float *frameIn_xyz, + const float *trans, + const float *rpy) ; + +#endif + + diff --git a/nmlmsgs/include/definesSR.h b/nmlmsgs/include/definesSR.h new file mode 100755 index 0000000..59b101a --- /dev/null +++ b/nmlmsgs/include/definesSR.h @@ -0,0 +1,8 @@ +#ifndef DEFINES_SR_H +#define DEFINES_SR_H + +//#pragma once + +enum ModulationFrq {MF_30MHz,MF_21MHz,MF_20MHz,MF_19MHz,MF_LAST};//copy in libusbSR.h + +#endif diff --git a/nmlmsgs/include/fwCameraData_v2.hh b/nmlmsgs/include/fwCameraData_v2.hh new file mode 100644 index 0000000..8de621c --- /dev/null +++ b/nmlmsgs/include/fwCameraData_v2.hh @@ -0,0 +1,80 @@ +/** + * @file fwCameraData_v2.hh + * + * + * @remark: + * + * @author: Tsai Hong + * + * + * @verbatim + * ,--------------------------------------------------------------------- + * | This software was developed at the National Institute of Standards + * | and Technology by employees of the Federal Government in the course + * | of their official duties. Pursuant to title 17 Section 105 of the + * | United States Code this software is not subject to copyright + * | protection and is in the public domain. NIST’s [intelligent + * | mobility] software is an experimental system. NIST assumes no + * | responsibility whatsoever for its use by other parties, and makes no + * | guarantees, expressed or implied, about its quality, reliability, or + * | any other characteristic. We would appreciate acknowledgement if the + * | software is used. This software can be redistributed and/or modified + * | freely provided that any derivative works bear some notice that they + * | are derived from it, and any modified versions bear some notice that + * | they have been modified. + * `--------------------------------------------------------------------- + * @endverbatim + * + * + * @par Created by Tsai Hong 2007-4-4 + **/ + +#ifndef FWCAMERADATA_HH +#define FWCAMERADATA_HH +/*----------------------------------*\ + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" +#include "nmlOffsets.hh" + + +/*-----------------*\ + * Macro Constants * + \*---------------*/ +#define MAX_RGBATA_SIZE (1024*768 *3) + + +/*-----------------*\ + * Data Structures * + \*---------------*/ +typedef enum { + FW_CAMERA_DATA_TYPE = FWCAMERADATA_BASE, +} fwCamerDataNmlIdType; + +class FW_CAMERA_DATA : public NMLmsg +{ +public: + FW_CAMERA_DATA (); + void update(CMS *); + + double time; + char name[80]; // some custom name of the camera. + + int nRows; + int nCols; + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned char, rgbData, MAX_RGBATA_SIZE); +}; + + +/*--------------------*\ + * Function Prototype * + \*------------------*/ +int fwCameraData_format(NMLTYPE type, void *buf, CMS *cms); + +#define FWCAMERA_DATA_REV "$Rev: 728 $" + +static const char *FWCAMERA_DATA_HEADER_FILE=__FILE__; + +#endif + diff --git a/nmlmsgs/include/fwCameraLog_v2.hh b/nmlmsgs/include/fwCameraLog_v2.hh new file mode 100644 index 0000000..ca541db --- /dev/null +++ b/nmlmsgs/include/fwCameraLog_v2.hh @@ -0,0 +1,87 @@ +/** + * @file fwCameraLog_v2.hh + * + * + * @remark: + * + * @author: Tsai Hong + * + * + * @verbatim + * ,--------------------------------------------------------------------- + * | This software was developed at the National Institute of Standards + * | and Technology by employees of the Federal Government in the course + * | of their official duties. Pursuant to title 17 Section 105 of the + * | United States Code this software is not subject to copyright + * | protection and is in the public domain. NIST’s [intelligent + * | mobility] software is an experimental system. NIST assumes no + * | responsibility whatsoever for its use by other parties, and makes no + * | guarantees, expressed or implied, about its quality, reliability, or + * | any other characteristic. We would appreciate acknowledgement if the + * | software is used. This software can be redistributed and/or modified + * | freely provided that any derivative works bear some notice that they + * | are derived from it, and any modified versions bear some notice that + * | they have been modified. + * `--------------------------------------------------------------------- + * @endverbatim + * + * + * @par Created by Tsai Hong, 2007-4-4 + **/ + +#ifndef FWCAMERALOG_HH +#define FWCAMERALOG_HH + +/*----------------------------------*\ + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" +#include "nmlOffsets.hh" + + +/*-----------------*\ + * Macro Constants * + \*---------------*/ +#define MAX_RAWATA_SIZE (1024*768) + + + +/*-----------------*\ + * Data Structures * + \*---------------*/ +enum fwCameraLogNmlIdType { + FW_CAMERA_LOG_TYPE = FWCAMERALOG_BASE, +}; + +class FW_CAMERA_LOG : public NMLmsg +{ +public: + FW_CAMERA_LOG (); + void update(CMS *); + + double time; // use etime() + + char name[80]; // some custom name of the camera. + + int nRows; + int nCols; + + double timeStamp_ms; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned char, rawData, MAX_RAWATA_SIZE); +}; + + +#define FW_CAMERA_LOG_V2_ID "$Id: fwCameraLog_v2.hh 669 2009-02-18 15:28:28Z shackle $" +#define FWCAMERA_LOG_REV "$Rev: 669 $" + +static const char *FWCAMERA_LOG_HEADER_FILE=__FILE__; + +/*--------------------*\ + * Function Prototype * + \*------------------*/ +int fwCameraLog_v2_format(NMLTYPE type, void *buf, CMS *cms); + + + + +#endif diff --git a/nmlmsgs/include/humanTracking.hh b/nmlmsgs/include/humanTracking.hh new file mode 100644 index 0000000..a5ba93d --- /dev/null +++ b/nmlmsgs/include/humanTracking.hh @@ -0,0 +1,48 @@ + + +#ifndef HUMAN_TRACKING_HH +#define HUMAN_TRACKING_HH + + +#include "rcs.hh" +#include "moastNmlOffsets.hh" + +enum HUMAN_TRACKING_MSG_TYPES { + HUMAN_TRACKING_MSG_OUT_TYPE = (HUMAN_TRACKING_BASE+1), + HUMAN_TRACKING_MSG_OUT2_TYPE, +}; + +struct trackedHumanInfo { + float x,y,vx,vy; // x and y position and velocities +}; + +struct trackedHumanInfo2 : public trackedHumanInfo { + float radius; // adds a calculated radius for this person +}; + +class HUMAN_TRACKING_MSG_OUT: public NMLmsg { +public: + HUMAN_TRACKING_MSG_OUT(); + + double timeStamp; // secs since 1970 + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct trackedHumanInfo,humans,16); + + void update(CMS *); + +}; + +class HUMAN_TRACKING_MSG_OUT2: public NMLmsg { +public: + HUMAN_TRACKING_MSG_OUT2(); + + double timeStamp; // secs since 1970 + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct trackedHumanInfo2,humans,16); + + void update(CMS *); + +}; + +extern int humanTracking_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * humanTracking_symbol_lookup(long type); + +#endif diff --git a/nmlmsgs/include/humanTrackingDebug.hh b/nmlmsgs/include/humanTrackingDebug.hh new file mode 100644 index 0000000..2d4c146 --- /dev/null +++ b/nmlmsgs/include/humanTrackingDebug.hh @@ -0,0 +1,72 @@ + + +#ifndef HUMAN_TRACKING_DEBUG_HH +#define HUMAN_TRACKING_DEBUG_HH + + +#include "rcs.hh" +#include "moastNmlOffsets.hh" +#include "humanTracking.hh" + +enum HUMAN_TRACKING_DEBUG_MSG_TYPES { + HUMAN_TRACKING_DEBUG_MSG_TYPE = (HUMAN_TRACKING_DEBUG_BASE+1), + HUMAN_TRACKING_DEBUG_DBG_MSG_TYPE +}; + + +struct debugPointInfo { + PM_CARTESIAN sensorCart; // cartesian location in sensor coords. + PM_CARTESIAN worldCart; + bool past_background; + bool range_change; + int leg_id; + int human_id; + int sensor_id; +}; + +struct debugLegInfo { + PM_CARTESIAN center; + int num_points; +}; + +struct pointsList { + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct debugPointInfo,pts,5000); +}; + +struct debugHumanInfo { + struct debugLegInfo legs[2]; + PM_CARTESIAN center; + int id; +}; + +struct humansList { + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct debugHumanInfo,humans,50); +}; + +struct sensorDebugInfo{ + PM_CARTESIAN pos; + PM_RPY rpy; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,name,40); +}; + +struct sensorsList { + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct sensorDebugInfo,sensors,50); +}; + +class HUMAN_TRACKING_DEBUG_MSG: public NMLmsg { +public: + HUMAN_TRACKING_DEBUG_MSG(); + void update(CMS *); + + double LEG_TOLERANCE; + double HUMAN_TOLERANCE; + struct pointsList pl; + struct humansList hl; + struct sensorsList sl; + +}; + +extern int humanTrackingDebug_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * humanTrackingDebug_symbol_lookup(long type); + +#endif diff --git a/nmlmsgs/include/labjackData.hh b/nmlmsgs/include/labjackData.hh new file mode 100644 index 0000000..fabf2f9 --- /dev/null +++ b/nmlmsgs/include/labjackData.hh @@ -0,0 +1,99 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Peter Russo * +\************************************************************************/ + +#ifndef LABJACKDATA_HH +#define LABJACKDATA_HH + +#include "rcs.hh" + +#include "nmlOffsets.hh" + +enum enumLabjackDataNmlType { + LABJACK_DATA_TYPE=LABJACK_DATA_BASE, + LABJACK_WRITE_DIGITAL_OUT_MSG_TYPE, +}; + +#define LABJACK_DATA_NAME "labjackData" + + + +#define LABJACK_DATA_REV "$Rev: 783 $" +#define LABJACK_DATA_ID "$Id: labjackData.hh 783 2009-10-16 18:14:04Z shackle $" + +#if !defined(__attribute__) && !defined(__GNUC__) +#define __attribute__(X) +#endif + +static const char __attribute__((unused)) *LABJACK_DATA_HEADER_FILE=__FILE__; + +struct DigitalOutput +{ + long channel; + bool state; +}; + +struct DigitalOutputFrame { + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct DigitalOutput,do_dla,20); +}; + +#define MAX_LJ_CHANNELS 16 + +/*! + \class LABJACK_DATA + \brief Stores data from a muchameleons (A usb device with analog-to-diginal converters and other misc I/O +*/ +class LABJACK_DATA : public NMLmsg +{ +public: + LABJACK_DATA(); + LABJACK_DATA(NMLTYPE t, size_t s): NMLmsg(t,s){}; + + void update( CMS*); + + struct time_tracker tt; + double ain_vals[MAX_LJ_CHANNELS]; + bool is_input[MAX_LJ_CHANNELS]; + int write_count[MAX_LJ_CHANNELS]; + struct DigitalOutputFrame writenOutputs; +}; + + +class LABJACK_WRITE_DIGITAL_OUT_MSG : public NMLmsg +{ +public: + LABJACK_WRITE_DIGITAL_OUT_MSG(); + LABJACK_WRITE_DIGITAL_OUT_MSG(NMLTYPE t, size_t s): NMLmsg(t,s){}; + + void update(CMS *); + struct DigitalOutputFrame outputs_to_write; +}; + + +int labjackData_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/logPlaybackCmd.hh b/nmlmsgs/include/logPlaybackCmd.hh new file mode 100644 index 0000000..46f8df6 --- /dev/null +++ b/nmlmsgs/include/logPlaybackCmd.hh @@ -0,0 +1,123 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef LOG_PLAYBACK_CMD_HH +#define LOG_PLAYBACK_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //LOG_PLAYBACK_BASE +#define Log_Playback_Cmd_name "Log_Playback_Cmd" + +// Define the integer type ids. +typedef enum { + LOG_PLAYBACK_HALT_TYPE = LOG_PLAYBACK_CMD_BASE, + LOG_PLAYBACK_INIT_TYPE, + LOG_PLAYBACK_PAUSE_TYPE, + LOG_PLAYBACK_RESUME_TYPE, + LOG_PLAYBACK_STEP_TYPE, + LOG_PLAYBACK_GOTO_TIME_TYPE, + LOG_PLAYBACK_GOTO_PERCENT_TYPE, +} Log_Playback_CmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class LOG_PLAYBACK_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class LOG_PLAYBACK_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_INIT(); + // CMS Update Function + void update(CMS *); +}; + +// Command Class: Pause +class LOG_PLAYBACK_PAUSE : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_PAUSE(); + // CMS Update Function + void update(CMS *); +}; + +// Command Class: Resume +class LOG_PLAYBACK_RESUME : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_RESUME(); + // CMS Update Function + void update(CMS *); +}; + +// Command Class: Resume +class LOG_PLAYBACK_STEP: public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_STEP(); + // CMS Update Function + void update(CMS *); + + int num_steps; +}; + +// Command Class: Resume +class LOG_PLAYBACK_GOTO_TIME: public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_GOTO_TIME(); + // CMS Update Function + void update(CMS *); + + double time_since_start; +}; + +class LOG_PLAYBACK_GOTO_PERCENT: public RCS_CMD_MSG +{ +public: + //Constructor + LOG_PLAYBACK_GOTO_PERCENT(); + // CMS Update Function + void update(CMS *); + + double percent; +}; + + +//! Standard NML format routine +int logPlaybackCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *logPlaybackCmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/logPlaybackSts.hh b/nmlmsgs/include/logPlaybackSts.hh new file mode 100644 index 0000000..125644f --- /dev/null +++ b/nmlmsgs/include/logPlaybackSts.hh @@ -0,0 +1,80 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef LOG_PLAYBACK_STS_HH +#define LOG_PLAYBACK_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //LOG_PLAYBACK_BASE +#define Log_Playback_Sts_name "Log_Playback_Sts" + +// Define the integer type ids. +typedef enum { + LOG_PLAYBACK_STATUS_TYPE = LOG_PLAYBACK_STS_BASE, +} Log_Playback_StsIdEnum; + +// Define the NML Message Classes + +struct playback_dir_info +{ + int num_entries; + int cur_entry; + double timeStamp; + double time_since_start; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, name,80); +}; + +struct plaback_dir_list +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct playback_dir_info, pdlist, 10); +}; + +// Status Class +class LOG_PLAYBACK_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + LOG_PLAYBACK_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the LOG result is working or not.*/ + time_tracker tt; + double delay; + bool paused; + double log_duration; + double playback_time; + double time_since_start; + double time_until_end; + double log_start_time; + double log_end_time; + int last_buffer_num; + int steps_before_pause; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, playback_time_string,256); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char,fname,256); + struct plaback_dir_list playback_dirs; +}; + +//! Standard NML format routine +int logPlaybackSts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *logPlaybackSts_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/logRecorderCmd.hh b/nmlmsgs/include/logRecorderCmd.hh new file mode 100644 index 0000000..7db5a9a --- /dev/null +++ b/nmlmsgs/include/logRecorderCmd.hh @@ -0,0 +1,78 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef LOG_RECORDER_CMD_HH +#define LOG_RECORDER_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //LOG_RECORDER_BASE +#define logRecorderCmd_name "logRecorderCmd" + +// Define the integer type ids. +typedef enum { + LOG_RECORDER_HALT_TYPE = LOG_RECORDER_CMD_BASE, + LOG_RECORDER_INIT_TYPE, + LOG_RECORDER_COLLECT_DATA_TYPE, +} logRecorderCmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class LOG_RECORDER_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_RECORDER_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class LOG_RECORDER_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_RECORDER_INIT(); + // CMS Update Function + void update(CMS *); +}; + +// Command Class: Collect_Data +class LOG_RECORDER_COLLECT_DATA : public RCS_CMD_MSG +{ +public: + //Constructor + LOG_RECORDER_COLLECT_DATA(); + // CMS Update Function + void update(CMS *); + + double min_time; + double max_time; + char label[64]; +}; + + +//! Standard NML format routine +int logRecorderCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *logRecorderCmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/logRecorderSts.hh b/nmlmsgs/include/logRecorderSts.hh new file mode 100644 index 0000000..7d1cae2 --- /dev/null +++ b/nmlmsgs/include/logRecorderSts.hh @@ -0,0 +1,102 @@ +/* +This software wags developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// generate_symbol_lookups=true +// generate_enum_symbol_lookups=true + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef LOG_RECORDER_STS_HH +#define LOG_RECORDER_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //LOG_RECORDER_BASE +#define logRecorderSts_name "logRecorderSts" + +// Define the integer type ids. +typedef enum { + LOG_RECORDER_STATUS_TYPE = LOG_RECORDER_STS_BASE, +} logRecorderStsIdEnum; + +// Define the NML Message Classes + +struct BufferInfo +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, name,256); + time_tracker tt; + double time_diff; + double max_time_diff; + double last_time_stamp; + long last_type; + long last_size; + long last_packed_size; + long total_size; + long queue_length; + long max_queue_length; +}; + +struct BufferInfoList +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct BufferInfo, bi,20); +}; + +struct header_item +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, name,256); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, ID,256); +}; + +struct header_list +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct header_item, header,256); +}; + + +// Status Class +class LOG_RECORDER_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + LOG_RECORDER_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the LOG result is working or not.*/ + time_tracker tt; + time_tracker log_tt; + bool logging; + bool single_file_mode; + int frame_number; + struct BufferInfoList buffer_list; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, fname,256); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, label,64); + double record_data_start_time; + double max_record_data_time; + double min_record_data_time; + double current_record_data_time; + struct header_list headers; +}; + +//! Standard NML format routine +int logRecorderSts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *logRecorderSts_symbol_lookup(long type); + +#define LOG_RECORDER_STS_ID "$Id: logRecorderSts.hh 871 2010-03-03 19:27:36Z shackle $" + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/log_data_format.hh b/nmlmsgs/include/log_data_format.hh new file mode 100644 index 0000000..94ee6d1 --- /dev/null +++ b/nmlmsgs/include/log_data_format.hh @@ -0,0 +1,310 @@ +// generate_symbol_lookups=true + +#ifndef LOG_DATA_FORMAT +#define LOG_DATA_FORMAT + +#define HAVE_MOAST 1 + +#include "LadarData.hh" +#include "sicksafetyData.hh" +#include "sickData.hh" +#include "sonarData.hh" +#include "playerPosData.hh" +#include "fwCameraLog_v2.hh" +#include "fwCameraData_v2.hh" +#include "SkyTrax_TCPMsg.hh" +//#include "muChameleonData.hh" +#include "labjackData.hh" + +#ifdef HAVE_MOAST +#include "moastTypes.hh" +#include "moastLogRecordSuperCmd.hh" +#include "moastLogRecordSuperSts.hh" +#include "amMobJA.hh" +#include "primMobJA.hh" +#include "servoMobJA.hh" +#include "primDebug.hh" +#include "primSP.hh" +#include "sensorData.hh" +#include "navDataExt.hh" +#include "atrvTune.hh" +#include "nav200Dbg.hh" +#endif + +#define LOG_DATA_FORMAT_ID "$Id: log_data_format.hh 875 2010-03-30 18:09:40Z shackle $" +#define LOD_DATA_FORMAT_REV "$Rev: 875 $" + +// Tell CodeGen & Diag tool to ignore this function. +#ifndef JAVA_DIAG_APPLET + +static inline const char * +log_data_get_compiled_revision(NMLTYPE nml_type) +{ + switch(nml_type) + { + case LADAR_DATA_TYPE: + return (const char *) LADAR_DATA_REV; + + // case MUCHAMELEON_DATA_TYPE: + // return (const char *) MUCHAMELEON_DATA_REV; + + case LABJACK_DATA_TYPE: + return (const char *) LABJACK_DATA_REV; + + case SICK_DATA_TYPE: + return (const char *) SICK_DATA_REV; + + case SAFETY_SICK_S3000_DATA_TYPE: + return (const char *) SAFETY_SICK_S3000_DATA_REV; + + case SONAR_DATA_TYPE: + return (const char *) SONAR_DATA_REV; + + case PLAYERPOS_DATA_TYPE: + return (const char *) PLAYERPOS_DATA_REV; + + case FW_CAMERA_DATA_TYPE: + return (const char *) FWCAMERA_DATA_REV; + + case FW_CAMERA_LOG_TYPE: + return (const char *) FWCAMERA_LOG_REV; + + case TCPMsg_TYPE: + return (const char *) SKYTRAX_DATA_REV; + + case SIMPLE_POS_TYPE: + return (const char *) SKYTRAX_DATA_REV; + + default: + break; + } + return(0); +} + +static inline const char * +log_data_get_compiled_header(NMLTYPE nml_type) +{ + switch(nml_type) + { + case LADAR_DATA_TYPE: + return (const char *) LADAR_DATA_HEADER_FILE; + + // case MUCHAMELEON_DATA_TYPE: + // return (const char *) MUCHAMELEON_DATA_HEADER_FILE; + + case LABJACK_DATA_TYPE: + return (const char *) LABJACK_DATA_HEADER_FILE; + + case SICK_DATA_TYPE: + return (const char *) SICK_DATA_HEADER_FILE; + + case SAFETY_SICK_S3000_DATA_TYPE: + return (const char *) SAFETY_SICK_S3000_DATA_HEADER_FILE; + + case SONAR_DATA_TYPE: + return (const char *) SONAR_DATA_HEADER_FILE; + + case PLAYERPOS_DATA_TYPE: + return (const char *) PLAYERPOS_DATA_HEADER_FILE; + + case FW_CAMERA_DATA_TYPE: + return (const char *) FWCAMERA_DATA_HEADER_FILE; + + case FW_CAMERA_LOG_TYPE: + return (const char *) FWCAMERA_LOG_HEADER_FILE; + + case TCPMsg_TYPE: + return (const char *) SKYTRAX_DATA_HEADER_FILE; + + case SIMPLE_POS_TYPE: + return (const char *) SKYTRAX_DATA_HEADER_FILE; + + default: + break; + } + return(0); +} + + +static inline double +log_data_get_time_stamp(NMLmsg *msgP) +{ + switch(msgP->type) + { + case LADAR_DATA_TYPE: + return ((LADAR_DATA *)msgP)->timeStamp; + + // case MUCHAMELEON_DATA_TYPE: + // return ((MUCHAMELEON_DATA *)msgP)->tt.now; + + case LABJACK_DATA_TYPE: + return ((LABJACK_DATA *)msgP)->tt.now; + + case SICK_DATA_TYPE: + return ((SICK_DATA *)msgP)->timeStamp; + + case SAFETY_SICK_S3000_DATA_TYPE: + return ((SAFETY_SICK_S3000_DATA *)msgP)->time; + + case SONAR_DATA_TYPE: + return ((SONAR_DATA *)msgP)->timeStamp; + + case PLAYERPOS_DATA_TYPE: + return ((PLAYERPOS_DATA *)msgP)->timeStamp; + + case FW_CAMERA_LOG_TYPE: + return ((FW_CAMERA_LOG *)msgP)->time; + + case SIMPLE_POS_TYPE: + return ((SIMPLE_POS *)msgP)->timeStamp; + +#ifdef HAVE_MOAST + case SENSOR_DATA_1D_TYPE: + return ((SensorData1D *)msgP)->collectTimeStart; + + case SENSOR_DATA_ARRAY_TYPE: + return ((SensorDataArray *)msgP)->arrayElem[0].collectionTime; + + case NAV_DATA_EXT_TYPE: + return ((NavDataExt*)msgP)->time; +#endif + + } + + // unrecognized msg type + return (-1.0); +} + + +typedef enum +{ + DC1394_COLOR_FILTER_BGGR, + DC1394_COLOR_FILTER_GRBG, + DC1394_COLOR_FILTER_RGGB, + DC1394_COLOR_FILTER_GBRG +} bayer_pattern_t; + +typedef unsigned char uint8_t; + + +static inline void +dc1394_bayer_NearestNeighbor (const unsigned char *bayer, + unsigned char *rgb, + int sx, + int sy, + int tile) +{ + const int bayerStep = sx; + const int rgbStep = 3 * sx; + int width = sx; + int height = sy; + int blue = tile == DC1394_COLOR_FILTER_BGGR + || tile == DC1394_COLOR_FILTER_GBRG ? -1 : 1; + int start_with_green = tile == DC1394_COLOR_FILTER_GBRG + || tile == DC1394_COLOR_FILTER_GRBG; + int i, imax, iinc; + + /* add black border */ + imax = sx * sy * 3; + for (i = sx * (sy - 1) * 3; i < imax; i++) { + rgb[i] = 0; + } + iinc = (sx - 1) * 3; + for (i = (sx - 1) * 3; i < imax; i += iinc) { + rgb[i++] = 0; + rgb[i++] = 0; + rgb[i++] = 0; + } + + rgb += 1; + width -= 1; + height -= 1; + + for (; height--; bayer += bayerStep, rgb += rgbStep) { + //int t0, t1; + const unsigned char *bayerEnd = bayer + width; + + if (start_with_green) { + rgb[-blue] = bayer[1]; + rgb[0] = bayer[bayerStep + 1]; + rgb[blue] = bayer[bayerStep]; + bayer++; + rgb += 3; + } + + if (blue > 0) { + for (; bayer <= bayerEnd - 2; bayer += 2, rgb += 6) { + rgb[-1] = bayer[0]; + rgb[0] = bayer[1]; + rgb[1] = bayer[bayerStep + 1]; + + rgb[2] = bayer[2]; + rgb[3] = bayer[bayerStep + 2]; + rgb[4] = bayer[bayerStep + 1]; + } + } else { + for (; bayer <= bayerEnd - 2; bayer += 2, rgb += 6) { + rgb[1] = bayer[0]; + rgb[0] = bayer[1]; + rgb[-1] = bayer[bayerStep + 1]; + + rgb[4] = bayer[2]; + rgb[3] = bayer[bayerStep + 2]; + rgb[2] = bayer[bayerStep + 1]; + } + } + + if (bayer < bayerEnd) { + rgb[-blue] = bayer[0]; + rgb[0] = bayer[1]; + rgb[blue] = bayer[bayerStep + 1]; + bayer++; + rgb += 3; + } + + bayer -= width; + rgb -= width * 3; + + blue = -blue; + start_with_green = !start_with_green; + } +} + +static inline NMLmsg * +log_data_convert_to_playback_msg(NMLmsg *msgP) +{ + switch(msgP->type) + { + case FW_CAMERA_LOG_TYPE: + { + static FW_CAMERA_DATA dataMsg; + FW_CAMERA_LOG *logMsgP = (FW_CAMERA_LOG *) msgP; + dataMsg.nRows = logMsgP->nRows; + dataMsg.nCols = logMsgP->nCols; + dc1394_bayer_NearestNeighbor (logMsgP->rawData,// yuv422_buffP, + dataMsg.rgbData, //out_rgbImg, + logMsgP->nCols, // width + logMsgP->nRows, // height + DC1394_COLOR_FILTER_GRBG); + dataMsg.rgbData_length = 3*logMsgP->nRows * logMsgP->nCols; + return &dataMsg; + } + break; + + default: + break; + } + return msgP; +}; + +#endif + +#define CODEGEN_SELECT_FROM_ALL_FILES 1 +#define CODEGEN_GENERATE_FORMAT_ONLY 1 + +extern int log_data_format(NMLTYPE type, void *buf, CMS *cms); + +//! standard NML type lookup routine +extern const char *log_data_symbol_lookup(long type); + +#endif diff --git a/nmlmsgs/include/moastLogRecordSuperCmd.hh b/nmlmsgs/include/moastLogRecordSuperCmd.hh new file mode 100644 index 0000000..5fef669 --- /dev/null +++ b/nmlmsgs/include/moastLogRecordSuperCmd.hh @@ -0,0 +1,134 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + + +// Prevent Multiple Inclusion +#ifndef MOAST_LOG_RECORD_SUPER_CMD_HH +#define MOAST_LOG_RECORD_SUPER_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //MOAST_LOG_RECORD_SUPER_BASE +#include "moastTypes.hh" + +#define moastLogRecordSuperCmd_name "moastLogRecordSuperCmd" + +// Define the integer type ids. +typedef enum { + MOAST_LOG_RECORD_SUPER_HALT_TYPE = MOAST_LOG_RECORD_SUPER_CMD_BASE, + MOAST_LOG_RECORD_SUPER_INIT_TYPE, + MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_WP_TYPE, + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_WP_TYPE, + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FORWARD_TYPE, + MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_FILE_TYPE, + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FILE_TYPE, +} moastLogRecordSuperCmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class MOAST_LOG_RECORD_SUPER_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class MOAST_LOG_RECORD_SUPER_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_INIT(); + // CMS Update Function + void update(CMS *); +}; + +struct WaypointList { + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(Waypoint,waypoints,100); +}; + +// Command Class: Collect_Data +class MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_WP : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_WP(); + // CMS Update Function + void update(CMS *); + + struct WaypointList waypoint_list; + char label[64]; +}; + +class MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_WP : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_WP(); + // CMS Update Function + void update(CMS *); + + struct WaypointList waypoint_list; + char label[64]; +}; + +// Command Class: Collect_Data +class MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_FILE : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_RECORD_AM_MOVE_FILE(); + // CMS Update Function + void update(CMS *); + + char filename[80]; + char label[64]; +}; + +class MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FILE : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FILE(); + // CMS Update Function + void update(CMS *); + + char filename[80]; + char label[64]; +}; + +class MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FORWARD : public RCS_CMD_MSG +{ +public: + //Constructor + MOAST_LOG_RECORD_SUPER_RECORD_PRIM_MOVE_FORWARD(); + // CMS Update Function + void update(CMS *); + + double distance; + char label[64]; +}; + +//! Standard NML format routine +extern int moastLogRecordSuperCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +extern const char *moastLogRecordSuperCmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/moastLogRecordSuperCmd_n_codegen_protos.hh b/nmlmsgs/include/moastLogRecordSuperCmd_n_codegen_protos.hh new file mode 100644 index 0000000..e69de29 diff --git a/nmlmsgs/include/moastLogRecordSuperSts.hh b/nmlmsgs/include/moastLogRecordSuperSts.hh new file mode 100644 index 0000000..95a9c76 --- /dev/null +++ b/nmlmsgs/include/moastLogRecordSuperSts.hh @@ -0,0 +1,61 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// generate_symbol_lookups=true +// generate_enum_symbol_lookups=true + +// Prevent Multiple Inclusion +#ifndef MOAST_LOG_RECORD_SUPER_STS_HH +#define MOAST_LOG_RECORD_SUPER_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //MOAST_LOG_RECORD_SUPER_BASE +#define moastLogRecordSuperSts_name "moastLogRecordSuperSts" + +// Define the integer type ids. +typedef enum { + MOAST_LOG_RECORD_SUPER_STATUS_TYPE = MOAST_LOG_RECORD_SUPER_STS_BASE, +} moastLogRecordSuperStsIdEnum; + +// Define the NML Message Classes + +enum MoastMobLevelEnum { + AM_LEVEL, + PRIM_LEVEL +}; + +// Status Class +class MOAST_LOG_RECORD_SUPER_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + MOAST_LOG_RECORD_SUPER_STATUS(); + + // CMS Update Function + void update(CMS *); + + time_tracker tt; + enum MoastMobLevelEnum moastMobLevel; +}; + +//! Standard NML format routine +int moastLogRecordSuperSts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *moastLogRecordSuperSts_symbol_lookup(long type); + +#define MOAST_LOG_RECORD_SUPER_STS_ID "$Id: moastLogRecordSuperSts.hh 682 2009-03-09 20:13:33Z shackle $" + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/moastNmlOffsets.hh b/nmlmsgs/include/moastNmlOffsets.hh new file mode 100644 index 0000000..aca6f0e --- /dev/null +++ b/nmlmsgs/include/moastNmlOffsets.hh @@ -0,0 +1,207 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file moastNmlOffsets.hh + + \brief Starting numbers for MOAST NMLtype declarations + + \code CVS Status: + $Author: wshackle $ + $Revision: 1.14 $ + $Date: 2010/06/17 17:51:22 $ + \endcode + + \author Fred Proctor +*/ + +#ifndef MOAST_NML_OFFSETS_HH +#define MOAST_NML_OFFSETS_HH + +//! used by moastError.hh +#define MOAST_ERROR_BASE 100 + +//! used by navDataExt.hh +#define NAV_DATA_EXT_BASE 1000 + +//! used by servoSP.hh +#define SERVO_SP_BASE 2000 + +//! used by servoMisJA.hh +#define SERVO_MIS_JA_BASE 3000 + +//! used by servoMobJA.hh +#define SERVO_MOB_JA_BASE 4000 + +//! used by servoEffJA.hh +#define SERVO_EFF_JA_BASE 5000 + +//! used by primSP.hh +#define PRIM_SP_BASE 6000 + +//! used by primMisJA.hh +#define PRIM_MIS_JA_BASE 7000 + +//! used by primMobJA.hh +#define PRIM_MOB_JA_BASE 8000 + +//! used by amSP.hh +#define AM_SP_BASE 9000 + +//! used by amMisJA.hh +#define AM_MIS_JA_BASE 10000 + +//! used by amMobJA.hh +#define AM_MOB_JA_BASE 11000 + +//! used by vehSP.hh +#define VEH_SP_BASE 12000 + +//! used by vehMobPL.hh +#define VEH_MOB_PL_BASE 13000 + +#define SENSOR_DATA_BASE 14000 + +//! symbolicData.hh +#define SYMBOLIC_DATA_BASE 15000 + +//! used by sectMobPL.hh +#define SECT_MOB_PL_BASE 16000 + +//! used by trafficData.hh +#define TRAFFIC_DATA_BASE 17000 + +//! used by trafficCtrl.hh +#define TRAFFIC_CTRL_BASE 17500 + +//! used by joystickData.hh +#define JOYSTICK_DATA_BASE 18000 + +//! user by linkmonitor.hh +#define LINK_MON_BASE 19000 + +//! used by factory controller +#define SERVO_FACT_JA_BASE 20000 + +// FIXME-- obsolete +#define FACT_CTRL_BASE SERVO_FACT_JA_BASE + +//! used by ATRV servo module for testing/tuning only +#define ATRV_TUNE_BASE 22000 + +//! used by nav200 module for testing/tuning only +#define NAV200DBG_BASE 23000 + +//! used by primAtrv module for testing/tuning only +#define PRIM_DEBUG_BASE 24000 + +//! used by moastLogRecorder module for testing/tuning only +#define MOAST_LOG_RECORDER_STS_BASE 25000 + +//! used by moastLogRecorder module for testing/tuning only +#define MOAST_LOG_RECORDER_CMD_BASE 26000 + +//! used by humanTrack software +#define HUMAN_TRACKING_BASE 27000 + +//! used by humanTrack software large output primarily for debugging. +#define HUMAN_TRACKING_DEBUG_BASE 27100 + +#endif // MOAST_NML_OFFSETS_HH + +/* + Modification history: + + $Log: moastNmlOffsets.hh,v $ + Revision 1.14 2010/06/17 17:51:22 wshackle + add humanTracking dir and source code for human tracking using sick linescan data, change default primAtrv algorithm to A4, add quick hack in hopes of making docking not turn into the last point + + Revision 1.13 2010/03/10 15:22:52 wshackle + make LOG_RECORDER_STS_BASE and LOG_RECORDER_CMD_BASE MOAST specific to not conflict with c-crada_repos versions + + Revision 1.12 2010/03/07 22:54:13 wshackle + add logRecorder stuff + + Revision 1.11 2010/01/18 18:10:38 wshackle + add projected points to primDebug, enable message to atrvTune + + Revision 1.10 2009/12/10 19:01:41 wshackle + add nav200Dbg + + Revision 1.9 2009/10/08 13:26:10 wshackle + add ATRV sensoray PCI Card servo see doc/ATRV_HOWTO.txt, remove configure check for player + + Revision 1.8 2009/06/02 20:40:28 proctor + Added servoFactJA to the menagerie of servo-level things. Previously it was + its own echelon, but it belonged at the simware interface for servo. This + meant touching all the NML files, Java files and the simware code. + + Revision 1.7 2009/02/17 21:15:43 dr_steveb + Added factory controller + + Revision 1.6 2007/11/14 01:54:19 cj_scrapper + Adding servo Effecter + + Revision 1.5 2007/09/11 20:27:43 dr_steveb + Changes for link monitoring + + Revision 1.4 2007/07/24 18:38:22 proctor + Added JoystickData + + Revision 1.3 2007/04/17 17:13:35 dr_steveb + Added traffic simulation offsets + + Revision 1.2 2006/04/24 21:00:02 proctor + Added MOAST error NML buffer + + Revision 1.1.1.1 2005/10/12 20:50:32 root + initial import + + Revision 1.14 2005/10/09 14:36:39 stephen + Added offsets for new section level. + + Revision 1.13 2005/07/18 21:16:28 proctor + Replaced sensorData with servoSPLinescan, ... + + Revision 1.12 2005/06/20 19:38:36 stephen + Added symbolicData header file for high-level sensor processing. + + Revision 1.11 2005/06/08 20:49:35 stephen + Changed occupancyData to sensorData + + Revision 1.10 2005/06/08 14:29:54 proctor + Added vehMobPLMain name change + + Revision 1.9 2005/06/07 21:45:11 proctor + Changed servoPL to servoMobJA + + Revision 1.8 2005/06/07 15:54:01 proctor + Added amMis buffers + + Revision 1.7 2005/06/07 15:45:22 proctor + Added servo,primMis buffers + + Revision 1.6 2005/06/06 15:30:08 stephen + Fixed mission channel defines. + + Revision 1.5 2005/05/17 17:04:55 stephen + Added VEH_PL_BASE. + + Revision 1.4 2005/05/11 20:01:46 proctor + Added PRIM_PL,EX_BASE + + Revision 1.3 2005/05/10 13:41:07 stephen + Made offsets comply with our meeting notes. Added offset for occupancyData channel. + + Revision 1.2 2005/05/05 18:04:28 proctor + Changed command to cmd, status to stat, etc. + +*/ diff --git a/nmlmsgs/include/moastTypes.hh b/nmlmsgs/include/moastTypes.hh new file mode 100644 index 0000000..05ff7e8 --- /dev/null +++ b/nmlmsgs/include/moastTypes.hh @@ -0,0 +1,394 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file moastTypes.hh + + \brief Declarations for MOAST types and ranges + + \code CVS Status: + $Author: proctor $ + $Revision: 1.22 $ + $Date: 2011/03/11 14:09:42 $ + \endcode + + \author Fred Proctor +*/ + +#ifndef MOAST_TYPES_HH +#define MOAST_TYPES_HH + +#include // FILE, fprintf +#include +#include // sizeof, NULL +#include // strncpy + +#include // RCS_STAT_SOURCE_FILE_LEN +#include // PM_CARTESIAN + +// safe string copy +#define strsafecpy(dst,src) ((dst)[sizeof(dst)-1] = 0) == 0 ? strncpy((dst),(src),sizeof(dst) < sizeof(src) ? sizeof(dst)-1 : sizeof(src)) : NULL + +// handle lack of M_PI on some systems, typically found in math.h +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif +#ifndef M_PI_2 +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#endif + +//! macros for dealing with RCS status structure elements +#if ! defined(state_match) +#define state_match(s,a) (s)->line = (s)->source_line = __LINE__, (s)->state == (a) +#define state_new(s) strncpy((s)->source_file, __FILE__, RCS_STAT_SOURCE_FILE_LEN), (s)->source_file[RCS_STAT_SOURCE_FILE_LEN-1] = 0 +#define state_next(s,a) (s)->state = (a) +#define status_next(s,a) (s)->status = (a) +#define state_default(s) (s)->line = (s)->source_line = __LINE__ +#endif // ! defined (state_match) + +//! How long an NML buffer name can be +#define MOAST_NML_BUFFER_NAME_LEN 80 + +//! How long a file name can be +#define MOAST_FILE_NAME_LEN 100 + +//! How long a generic name can be +#define MOAST_NAME_LEN 80 + +//! How long a platform name can be +#define MOAST_PLATFORM_NAME_LEN 80 + +// Structures and classes that are shared among many NML channels +//! steering mechanisms types +typedef enum MOAST_STEER_TYPE { + MOAST_INVALID_STEER_TYPE=-1, + MOAST_SKID_STEER_TYPE, + MOAST_ACKERMAN_STEER_TYPE, + MOAST_OMNI_STEER_TYPE, + MOAST_SUBMARINE_STEER_TYPE, + MOAST_ROTARY_WING_STEER_TYPE, + MOAST_FIXED_WING_STEER_TYPE, + MOAST_UNKNOWN_STEER_TYPE +}moastSteerType; + +//! robot types +typedef enum MOAST_ROBOT_TYPE { + MOAST_INVALID_ROBOT_TYPE=-1, + MOAST_GROUND_VEHICLE_TYPE, + MOAST_NAUTIC_ROBOT_TYPE, + MOAST_AERIAL_ROBOT_TYPE, + MOAST_LEGGED_ROBOT_TYPE, + MOAST_UNKNOWN_ROBOT_TYPE +}moastRobotType; + +//! Flipper definitions +typedef enum MOAST_FLIPPER_TYPE { + MOAST_FR_FLIPPER_TYPE, //front right + MOAST_FL_FLIPPER_TYPE, //front left + MOAST_RR_FLIPPER_TYPE, //rear right + MOAST_RL_FLIPPER_TYPE //rear left +} moastFlipperType; + +//////////////////////////////////////////////////////////////////// +/*! A point from a sensor may be represented with SensorPoint + The default sensorLoc differs from the default dataLoc so that + normalization using the distance between the two will not fail. +*/ + +class SensorPoint +{ +public: + // Constructors + SensorPoint(){ + // sensorLoc = PM_CARTESIAN(1,1,1); + // dataLoc = PM_CARTESIAN(0,0,0); + sensorLoc.x = 1; + sensorLoc.y = 1; + sensorLoc.z = 1; + + dataLoc.x = 0; + dataLoc.y = 0; + dataLoc.z = 0; + + param1 = 0; + }; + SensorPoint(PM_CARTESIAN sensorLocIn, PM_CARTESIAN dataLocIn){ + sensorLoc = sensorLocIn; + dataLoc = dataLocIn; + }; + + double param1; + PM_CARTESIAN sensorLoc; + PM_CARTESIAN dataLoc; +}; + +//! 2-D location structure +class Location2D +{ +public: + Location2D(){}; + //! the north location of the point + double north; + //! the east location of the point + double east; + + Location2D(const Location2D ©In) // copy constructor to handle pass by value + { + north = copyIn.north; + east = copyIn.east; + }; + + Location2D& operator=(const Location2D &rhs) + { + this->north = rhs.north; + this->east = rhs.east; + return *this; + }; + + Location2D& operator=(const PM_CARTESIAN &rhs) + { + this->north = rhs.x; + this->east = rhs.y; + return *this; + }; + + int operator==(const Location2D &rhsIn) const + { + if( this->north!=rhsIn.north || this->east!=rhsIn.east ) + return 0; + else + return 1; + }; + + // make a PM_CARTESIAN + PM_CARTESIAN makePM_CARTESIAN(){ + PM_CARTESIAN retValue; + retValue.x = north; + retValue.y = east; + retValue.z = 0; + return retValue; + }; + + // sort by (increasing north, decreasing east) + int operator<(const Location2D &rhs) const + { + if( this->north == rhs.north && this->east > rhs.east ) return 1; // make (0,4) come before (0,0) + if( this->north < rhs.north ) return 1; + return 0; + }; + + // compute distance to another point + double dist(const Location2D &pointIn) + { + return( sqrt( (this->north-pointIn.north)*(this->north-pointIn.north) + + (this->east-pointIn.east)*(this->east-pointIn.east) ) ); + }; +}; + +/* + An ArcSegment is a path from an implicit start location to an end + location, along a circular arc. In a 2-D problem, the Z values are + ignored, and the normal vector is assumed to be +Z. +*/ +typedef struct { + PM_CARTESIAN center; // coords of center + PM_CARTESIAN end; // coords of end + PM_CARTESIAN normal; // normal vector + // nominal angular displacement about normal from implicit start to end + double theta; + // tolerance along path, difference between outer and inner radius + double annular_tol; + // speed along the segment; acceleration is a system-wide parameter + double speed; + int isArc; // 1 means arc, 0 means line, use 'end' +} ArcSegment; + +//! define conventions for rotations +enum {MOAST_ROTATE_CW, // force clockwise rotation + MOAST_ROTATE_CCW, // force counter-clockwise rotation + MOAST_ROTATE_SHORTEST}; // take shortest rotation + +//! Constrained interger structure +typedef struct { + //! integer value that will be constrained + int data; + //! type of constraint, must be defined by routine that uses this structure + int constraint; + //! tolerance on constraint, must be defined by routine that uses this structure + double tolerance; +} constrainedInt; + +//! Constrained double structure +typedef struct { + //! float value that will be constrained + float data; + //! type of constraint, must be defined by routine that uses this structure + int constraint; + //! tolerance on constraint, must be defined by routine that uses this structure + double tolerance; +} constrainedFloat; + +//! Constrained double structure +typedef struct { + //! double value that will be constrained + double data; + //! type of constraint, must be defined by routine that uses this structure + int constraint; + //! tolerance on constraint, must be defined by routine that uses this structure + double tolerance; +} constrainedDouble; + +typedef struct { + PM_CARTESIAN p; + PM_RPY rpy; + double neighborhood; + double speed; + unsigned char quality; +} Waypoint; + +// the number of waypoints AM Mob can accept +#define MAX_WAYPOINTS 100 +// the number of arc segments Prim Mob can accept +#define MAX_ARC_SEGMENTS 100 +// the maximum number of vehicles that can be simulated in traffic +#define MAX_TRAFFIC_VEHICLES 10 + +#endif // MOAST_TYPES_HH + +/* + $Log: moastTypes.hh,v $ + Revision 1.22 2011/03/11 14:09:42 proctor + Added a 'name' field to servoMisJA to be used to set some types of robot + kinematics explicitly + + Revision 1.21 2010/07/29 21:34:36 dr_steveb + Added taught points to prim mission. To do this, needed to expand the bigest filename field in moast (for debug) and needed to + add a real status return to servo mission move commands. Also added a tollerance to servo move commands and a taught position + flag to prim mission init. + + Revision 1.20 2010/01/20 17:52:43 proctor + Took out snprintf decl for WIN32 - it's in ulapi now + + Revision 1.19 2010/01/15 18:54:41 proctor + Added strsafecpy + + Revision 1.18 2009/12/10 20:46:03 proctor + Took out broken check for RCS_STAT_MSG_V2 in moastTypes.hh, which was + preventing the admin state symbol lookup from working. + + Revision 1.17 2009/06/05 19:18:28 proctor + Changed test of RCS stat message string conversions to match new RCS define + + Revision 1.16 2009/06/05 17:33:56 proctor + Replaced ad hoc rcs_xxx_to_string macros with rcslib's built-in version + + Revision 1.15 2009/05/20 17:59:14 proctor + Added a PM_RPY element to the Waypoint structure, and a haveOrientation + element to the PrimCmdMoveWaypoint message, to support waypoints with + orientation (yaw). Added the code to handle this in primMobEngine.cc. + + Revision 1.14 2009/03/13 12:28:39 proctor + Added a WIN32 snprintf macro + + Revision 1.13 2008/12/02 19:49:39 proctor + Fixed lack of M_PI on Windows + + Revision 1.12 2007/12/18 15:28:03 cj_scrapper + Adding platform name into servo mobility settings + + Revision 1.11 2007/12/13 13:17:26 dr_steveb + Changes for vehicle level visibility graph planning. + + Revision 1.10 2007/11/07 19:56:30 dr_steveb + Moved the LineSegment class from moastTypes into moastGeom + + Revision 1.9 2007/08/29 18:26:25 dr_steveb + Added joystick control commands to the traffic cmd buffer and moved some constants to mostTypes + + Revision 1.8 2007/06/28 12:02:35 dr_steveb + Changed location2d into a class from a structure + + Revision 1.7 2007/05/10 13:15:31 dr_steveb + Moved rotation and arcSegment declaration from primMobJA to moastTypes so that multiple apps can use them. + + Revision 1.6 2007/04/25 15:08:57 dr_steveb + Added traffic simulation files + + Revision 1.5 2006/03/09 15:28:46 proctor + Took out AdminState stuff, since it's now in RCS + + Revision 1.4 2006/03/08 20:51:55 dr_steveb + Added missing ';' + + Revision 1.3 2006/03/07 20:35:07 dr_steveb + Changed administrative state declarations to an enum + + Revision 1.2 2006/03/07 20:29:09 dr_steveb + Added administrative state definitions to file. + + Revision 1.1.1.1 2005/10/12 20:50:32 root + initial import + + Revision 1.18 2005/10/03 13:27:48 kramer + added setting MAX_ARC_SEGMENTS to 100 + + Revision 1.17 2005/09/29 13:02:52 stephen + Added param1 back into sensorPoint + + Revision 1.16 2005/09/29 01:45:01 stephen + Changed SensorPoint constructor to be NML autogen friendly + + Revision 1.15 2005/09/27 21:32:22 kramer + changed definition of SensorPoint + + Revision 1.14 2005/08/05 13:34:04 scrapper + Added MOAST_WORLD_NAME_LEN to moastTypes. Added worldName to all servo 'set' messages. + + Revision 1.13 2005/08/02 20:40:00 proctor + Added 'speed' element to Waypoint type + + Revision 1.12 2005/07/26 20:29:52 stephen + Added new methods for line class. + + Revision 1.11 2005/07/21 18:59:11 stephen + Fixed merged conflicts and added visibility graph stuff. + + Revision 1.10 2005/07/19 19:04:56 stephen + Fixed spelling + + Revision 1.9 2005/07/06 22:27:07 proctor + Included , + + Revision 1.8 2005/06/20 19:38:36 stephen + Added symbolicData header file for high-level sensor processing. + + Revision 1.7 2005/06/20 17:15:16 proctor + Added conditional declaration of state_match() and related + + Revision 1.6 2005/06/14 19:18:36 stephen + Changed location and declaration of SensorPoint. + + Revision 1.5 2005/06/08 19:28:38 proctor + Moved state_match, etc. macros into here + + Revision 1.4 2005/06/01 13:20:45 proctor + Moved Waypoint structure into moastTypes.hh + + Revision 1.3 2005/06/01 12:45:44 stephen + Added commands for vehicle level ied mission. + + Revision 1.2 2005/05/18 12:46:45 stephen + Added MOAST_NML_FILE_NAME_LEN + + Revision 1.1 2005/05/16 15:45:13 proctor + Initial checkin + +*/ diff --git a/nmlmsgs/include/muChameleonData.hh b/nmlmsgs/include/muChameleonData.hh new file mode 100644 index 0000000..b17f074 --- /dev/null +++ b/nmlmsgs/include/muChameleonData.hh @@ -0,0 +1,72 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Peter Russo * +\************************************************************************/ + +#ifndef __INCmuChameleonhh +#define __INCmuChameleonhh + +#include "rcs.hh" + +#include "nmlOffsets.hh" + +enum enumMuChameleonDataNmlType { + MUCHAMELEON_DATA_TYPE=MUCHAMELEON_DATA_BASE, +}; + +#define MUCHAMELEON_DATA_NAME "muChameleonData" + + + +#define MUCHAMELEON_DATA_REV "$Rev: 783 $" +#define MUCHAMELEON_DATA_ID "$Id: muChameleonData.hh 783 2009-10-16 18:14:04Z shackle $" + +#if !defined(__attribute__) && !defined(__GNUC__) +#define __attribute__(X) +#endif + +static const char __attribute__((unused)) *MUCHAMELEON_DATA_HEADER_FILE=__FILE__; + +/*! + \class MUCHAMELEON_DATA + \brief Stores data from a muchameleons (A usb device with analog-to-diginal converters and other misc I/O +*/ +class MUCHAMELEON_DATA : public NMLmsg +{ +public: + MUCHAMELEON_DATA(); + MUCHAMELEON_DATA(NMLTYPE t, size_t s): NMLmsg(t,s){}; + + void update( CMS*); + + struct time_tracker tt; + float adc_vals[8]; + +}; + +int muChameleonData_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/nav200Dbg.hh b/nmlmsgs/include/nav200Dbg.hh new file mode 100644 index 0000000..d6c2985 --- /dev/null +++ b/nmlmsgs/include/nav200Dbg.hh @@ -0,0 +1,53 @@ + + +#ifndef NAV200DBG_HH +#define NAV200DBG_HH + + +#include "rcs.hh" +#include "moastNmlOffsets.hh" + +enum NAV200DBG_MSG_TYPES { + NAV200DBG_MSG_OUT_TYPE = (NAV200DBG_BASE+1) +}; + +class NAV200DBG_MSG_OUT: public NMLmsg { +public: + NAV200DBG_MSG_OUT(); + + void update(CMS *); + + double x_m,y_m,yaw_deg; + int quality; // 0-100, or -1,-2 + int max_quality; + int min_quality; + int num_reflectors; + struct time_tracker atrv_encoder_pos_tt; + struct time_tracker nav_200_tt; + PM_CARTESIAN outputPos; + PM_RPY outputRpy; + PM_CARTESIAN nav200Pos; + PM_RPY nav200Rpy; + PM_CARTESIAN offset_nav200Pos; + PM_CARTESIAN nav200_output_diff_Pos; + double nav200_output_diff_yaw; + double nav200_speed; + PM_CARTESIAN atrvEncoderPos; + PM_CARTESIAN atrvEncoderIncrement; + PM_RPY atrvEncoderRpy; + double atrvEncoder_nav200_diff_yaw; + double time_since_last_atrv_move; + double atrv_last_move_time; + double atrv_encoder_tran_speed; + double atrv_encoder_rot_speed; + double atrv_encoder_time_diff; + double atrv_encoder_dist_diff; + double atrv_encoder_theta_diff; + double atrv_encoder_pos_time; + int atrv_encoder_pos_count; +}; + +extern int nav200Dbg_format(NMLTYPE type, void *buf, CMS * cms); + + +#endif diff --git a/nmlmsgs/include/navDataExt.hh b/nmlmsgs/include/navDataExt.hh new file mode 100644 index 0000000..fe30e65 --- /dev/null +++ b/nmlmsgs/include/navDataExt.hh @@ -0,0 +1,173 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file navDataExt.hh + + \brief NML declarations for extended navigation data. Historically + this is based on the original NAV_DATA class, with some local + orientation added + + \code CVS Status: + $Author: proctor $ + $Revision: 689 $ + $Date: 2006/10/03 12:44:47 $ + \endcode + + \author Fred Proctor +*/ + +#ifndef NAV_DATA_EXT_HH +#define NAV_DATA_EXT_HH + +#include // NMLmsg, PM_CARTESIAN,RPY,POSE +#include "moastNmlOffsets.hh" // NAV_DATA_EXT_BASE + +#define NAV_DATA_EXT_TYPE (NAV_DATA_EXT_BASE + 1) +#define NAV_DATA_EXT_NAME "navDataExt" + +/* + The mapping of the original NAV_DATA structure to NavDataExt + is as follows: + + tranAbs -> tranAbs, the same + tranRel -> tranRel, the same + tranVel -> tranRelRate + absVel -> tranAbsRate + rpy -> rpyAbs + rpyRates -> rpyAbsRate + tranRpy -> rpyRel + tranRpyRates -> rpyRelRate +*/ + +/*! + \class NavDataExt + \brief Navigation data, e.g., position in relative- and absolute coordinates. + + NavDataExt contains the vehicle's pose in various coordinate systems, + transformations between those coordinate systems, and UTM data. +*/ +class NavDataExt : public NMLmsg { +public: + NavDataExt() : NMLmsg(NAV_DATA_EXT_TYPE, sizeof(NavDataExt)) {}; + void update(CMS *); + + //! seconds relative to common origin + double time; + + //! Universal Transverse Mercator (UTM) coordinates, 1 to 60 + char utmZone; + //! Universal Transverse Mercator (UTM) coordinates, 'N' or 'S' + char utmLetter; + + /*! + \a tranAbs holds absolute position, in meters, where \a x is UTM northing, + \a y is UTM easting, and \a z points positive downward. + */ + PM_CARTESIAN tranAbs; + /*! + \a rpyAbs holds absolute orientation, in radians, where \a roll + is rotation about the UTM northing (X) direction, \a pitch is rotation + about the UTM easting (Y) direction, and \a yaw is rotation about + the downward-pointing Z direction. Positive changes in yaw correspond to + clockwise rotation as viewed looking down. + */ + PM_RPY rpyAbs; + //! absolute velocity, time deriv of tranAbs, [m/s] + PM_CARTESIAN tranAbsRate; + //! time deriv of rpyAbs, [rad/s] + PM_RPY rpyAbsRate; + + //! relative position, [m] + PM_CARTESIAN tranRel; + //! relative orientation, roll-pitch-yaw, [rad] + PM_RPY rpyRel; + //! relative velocity, time deriv of tranAbs, [m/s] + PM_CARTESIAN tranRelRate; + //! time deriv of rpyRel, [rad/s] + PM_RPY rpyRelRate; + + /*! + 'truth' values of position and orientation, in some global coordinate + frame, obtainable in simulation but never in real life + */ + PM_CARTESIAN tranTrue; + PM_RPY rpyTrue; + PM_CARTESIAN tranTrueRate; + PM_RPY rpyTrueRate; + + /*! + Transformation from absolute coords to relative coords, e.g., + + (PM_POSE) posRel = absToRel * (PM_POSE) posAbs; + + This is computable from the above as follows: + + PM_POSE poseAbs; + PM_POSE poseRel; + + poseAbs.tran = tranAbs; + poseAbs.rot = rpyAbs; //! built-in conversion from rpy to quaternion + poseRel.tran = tranRel; + poseRel.rot = rpyRel; //! ditto + + absToRel = poseRel * inv(poseAbs); + + We omit the other possibilities, trueToRel, trueToAbs, ... since they + can be obtained through calculation as above, and aren't often needed + */ + PM_POSE absToRel; + + //! [m/s] speed of vehicle, pos=forward, neg=reverse + double speed; + double steeringCurvature; + double steeringCrabAngle; +}; + +extern int navDataExt_format(NMLTYPE type, void *buf, CMS * cms); +extern const char *navDataExt_symbol_lookup(long type); + +#endif // NAV_DATA_EXT_HH + +/* + Modification history: + + $Log: navDataExt.hh,v $ + Revision 1.3 2006/10/03 12:44:47 proctor + Added comment on coordinate systems in navDataExt.hh + + Revision 1.2 2005/12/14 21:50:34 cj_scrapper + Changed time from int to double. Time is now reported in seconds to conform to SI Units + + Revision 1.1.1.1 2005/10/12 20:50:32 root + initial import + + Revision 1.7 2005/07/24 16:51:12 kramer + Fixed comment on units for rpyAbsRate. + + Revision 1.5 2005/07/12 21:42:42 proctor + Added nested headers; baseToVeh in servoMisJA.hh; sensorToBase in + servoSP.hh + + Revision 1.4 2005/05/10 13:44:33 stephen + Changed message to be an NMLmsg instead of a stat message. Removed include files. + + Revision 1.3 2005/05/10 13:10:46 proctor + Doxygen-ified some more comments + + Revision 1.2 2005/05/05 20:08:27 proctor + Worked around code generator bug by using single-line bodies for the + constructor, {}, instead of breaking the braces across a line. + + Revision 1.1 2005/05/05 15:56:12 proctor + Changed naming convention from e.g. NAV_DATA_EXT to NavDataExt + +*/ diff --git a/nmlmsgs/include/navdata.hh b/nmlmsgs/include/navdata.hh new file mode 100644 index 0000000..e6b51d1 --- /dev/null +++ b/nmlmsgs/include/navdata.hh @@ -0,0 +1,52 @@ +/* navdata.hh */ +/* + The update() and format() commands will be automatically generated + by the NIST auto-code-writer routine (JAVA-based). These will be + found in the file *_n.cc +*/ +/*GEN_NMLOFFSETS_SKIP_THIS_FILE*/ + +#ifndef __INCnavdatahh +#define __INCnavdatahh + +#include "rcs.hh" + +#define NAV_DATA_TYPE 101 +#define NAV_DATA_NAME "navdata" +#define NAV_DATA_SIZE 1500 + +// Vehicle state from navigation subsystem +class NAV_DATA : public NMLmsg +{ +public: + NAV_DATA(); + void update( CMS*); + + int time; // time tag [sec] relative to common origin + PM_CARTESIAN tranRel; // position [m], Relative coords, smooth + PM_CARTESIAN tranAbs; // position [m], Absolute coords, noisy + int utmZone; // UTM zone number for Absolute position + double speed; // [m/s] speed of vehicle, pos=forward, neg=reverse + PM_CARTESIAN tranVel; // velocity [m/s], Relative coords + + PM_QUATERNION rot; // orientation, identity is north-facing, upright + PM_ROTATION_VECTOR rotVel; // orientation velocity [.s =rad/sec] + + float steeringCurvature; // [1/m], pos is right turn + float steeringCrabAngle; // [rad], pos is right forward. + + PM_RPY rpy; // rad + PM_RPY rpyRates; // rad/sec + + // these items subject to chnage + // double accelX; // [m/s/s] vehicle coords + // double accelY; // [m/s/s] vehicle coords + // double headingVar; // [rad] + // int gpsFom; // figure of merit + // int gpsTime; + // int gpsMode; + // int iruMode; + // int bit; +}; +int navdata_format(NMLTYPE type, void *buf, CMS *cms); +#endif diff --git a/nmlmsgs/include/navdata_v2.hh b/nmlmsgs/include/navdata_v2.hh new file mode 100644 index 0000000..59f0ebc --- /dev/null +++ b/nmlmsgs/include/navdata_v2.hh @@ -0,0 +1,170 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/************************************************************************\ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + * * + * See NIST Administration Manual 4.09.07 b and Appendix I. * + * Author : Tsai Hong * +\************************************************************************/ + +/* + The update() and format() commands will be automatically generated + by the NIST auto-code-writer routine (JAVA-based). These will be + found in the file *_n.cc +*/ +#ifndef __INCnavdata_v2hh +#define __INCnavdata_v2hh + +#include + +#include "nmlOffsets.hh" +#include "rcs.hh" +#include "navdata.hh" + +#define NAV_DATA_V2_TYPE NAVDATA_V2_BASE +#define NAV_DATA_V2_NAME "navdata_v2" +#define NAV_DATA_V2_SIZE 1500 + +// Vehicle state from navigation subsystem +class NAV_DATA_V2 : public NMLmsg +{ +public: + NAV_DATA_V2(); + + void update( CMS*); + + int time; // time tag [msec] relative to some origin + double epoTime; // time tag [sec] relative to the Epoch + // (00:00:00 UTC, January 1, 1970) + float gps_sun_secs; // gps time with respect to 0 hour. i.e. + int gps_sun_h; // int (gps_sun_sec / 60 / 60) + int gps_sun_m; // fraction (gps_sun_sec / 60 / 60) * 60 + + PM_CARTESIAN tranRel; // position [m], Relative coords, smooth + PM_CARTESIAN tranAbs; // position [m], Absolute coords, noisy + int utmZone; // UTM zone number for Absolute position + double speed; // [m/s] speed of vehicle, pos=forward, + // neg=reverse + PM_CARTESIAN relVel; // velocity [m/s], Relative coords + PM_CARTESIAN absVel; // velocity [m/s], Abs coords + + PM_QUATERNION rot; // orientation, identity is north-facing, upright + PM_ROTATION_VECTOR rotVel; // orientation velocity [.s =rad/sec] + + float steeringCurvature; // [1/m], pos is right turn + float steeringCrabAngle; // [rad], pos is right forward. + + /* absolute coord */ + PM_RPY rpy; // rad + PM_RPY rpyRates; // rad/sec + + /* relative coord */ + PM_RPY relRpy; // rad + PM_RPY relRpyRates; // rad/sec + + // min/max and avg estimated error of horiziontal component of GPS in meters. + double gps_err; + double gps_max_err; + double gps_min_err; + double gps_avg_err; + double gps_northing; + double gps_easting; + // double gps_sun_secs; + + int posId; // set to rfid tag number, set to zero if not used. + + double gps_timeOfWeek; + short gps_leapSeconds; + short gps_rcvrWeekNumber; + + double odometer; + // these items subject to chnage + // double accelX; // [m/s/s] vehicle coords + // double accelY; // [m/s/s] vehicle coords + // double headingVar; // [rad] + // int gpsFom; // figure of merit + // int gpsTime; + // int gpsMode; + // int iruMode; + // int bit; + + + void Print () + { + fprintf (stderr, + "---------------------------\n" + "Nav Data_V2:\n" + "---------------------------\n"); + + fprintf (stderr, "time = %d, epoTime = %f\n", time, epoTime); + fprintf (stderr, "tranRel = (%f %f %f)\n", + tranRel.x, tranRel.y, tranRel.z); + fprintf (stderr, "tranAbs = (%f %f %f)\n", + tranAbs.x, tranAbs.y, tranAbs.z); + fprintf (stderr, "rpy = (%f %f %f)\n", rpy.r, rpy.p, rpy.y); + fprintf (stderr, "rot = (%f %f %f %f)\n", rot.s, rot.x, rot.y, rot.z); + fprintf (stderr, "relRpy = (%f %f %f)\n", relRpy.r, relRpy.p, relRpy.y); + fprintf (stderr, "speed = %f \n", speed); + fprintf (stderr, + "---------------------------\n"); + } + +#ifndef JAVA_DIAG_APPLET + + NAV_DATA_V2(const NAV_DATA &nd): NMLmsg(NAV_DATA_V2_TYPE,sizeof(NAV_DATA_V2)), + time(nd.time),epoTime(0.0),gps_sun_secs(0.0),gps_sun_h(0),gps_sun_m(0), + tranRel(nd.tranRel),tranAbs(nd.tranAbs),utmZone(nd.utmZone),speed(nd.speed), + relVel(nd.tranVel),absVel(nd.tranVel),rot(nd.rot),rotVel(nd.rotVel), + steeringCurvature(nd.steeringCurvature),steeringCrabAngle(nd.steeringCrabAngle), + rpy(nd.rpy),rpyRates(nd.rpyRates), relRpy(nd.rpy),relRpyRates(nd.rpyRates), + gps_err(0.0),gps_max_err(0.0),gps_min_err(0.0), + gps_avg_err(0.0),gps_northing(0.0),gps_easting(0.0), + posId(0),gps_timeOfWeek(0.0),gps_leapSeconds(0),gps_rcvrWeekNumber(0), + odometer(0.0) {}; + + inline NAV_DATA_V2 & operator =(const NAV_DATA &nd) + { + time = nd.time; + tranRel = nd.tranRel; + tranAbs = nd.tranAbs; + utmZone = nd.utmZone; + speed = nd.speed; + relVel = nd.tranVel; + rot = nd.rot; + rotVel = nd.rotVel; + steeringCurvature = nd.steeringCurvature; + steeringCrabAngle = nd.steeringCrabAngle; + rpy = nd.rpy; + rpyRates = nd.rpyRates; + return (*this); + } +#endif + +}; + +int navdata_v2_format(NMLTYPE type, void *buf, CMS *cms); + +#define NAVDATA_V2_ID "$Id: navdata_v2.hh 623 2008-11-10 16:01:29Z shackle $" + + + +#endif diff --git a/nmlmsgs/include/nmlOffsets.hh b/nmlmsgs/include/nmlOffsets.hh new file mode 100644 index 0000000..0ebf13e --- /dev/null +++ b/nmlmsgs/include/nmlOffsets.hh @@ -0,0 +1,42 @@ +/* + +*/ + +#ifndef NMLOFFSETS_HH +#define NMLOFFSETS_HH +#define SICKDATA_V3_BASE 52101 +#define SR3000_CMD_BASE 52201 +#define SR3000_STS_BASE 52301 +#define NAVDATA_V2_BASE 52301 +#define FWCAMERADATA_BASE 52501 +#define FWCAMERALOG_BASE 52601 +#define SICKSAFETY_CMD_BASE 52701 +#define SICKSAFETY_STS_BASE 52801 +#define SICKSAFETY_DATA_BASE 52821 +#define LADAR_LOG_CMD_BASE 52901 +#define LADAR_LOG_STS_BASE 53001 +#define SICKCMDSTS_BASE 53101 +#define PMD_CMD_BASE 53201 +#define PMD_STS_BASE 53301 +#define LOG_RECORDER_CMD_BASE 53401 +#define LOG_RECORDER_STS_BASE 53501 +#define LOG_PLAYBACK_CMD_BASE 53601 +#define LOG_PLAYBACK_STS_BASE 53701 +#define CANESTA_CMD_BASE 53801 +#define CANESTA_STS_BASE 53901 +#define OBSDETCFG_BASE 54001 +#define SICK_DATA_BASE 54101 +#define SONAR_DATA_BASE 54201 +#define MOAST_LOG_RECORD_SUPER_CMD_BASE 54301 +#define MOAST_LOG_RECORD_SUPER_STS_BASE 54401 +#define PLAYERPOS_DATA_BASE 54501 +#define SKYTRAX_DATA_BASE 54601 +#define MUCHAMELEON_DATA_BASE 54701 +#define LABJACK_DATA_BASE 54801 +#define POINTCLOUD_BASE 54901 +#define RANGE_3D_MSG_BASE 55001 + +#define NML_OFFSETS_ID "$Id: nmlOffsets.hh 798 2009-10-27 17:51:10Z shackle $" + +#endif + diff --git a/nmlmsgs/include/obsDetCfg.hh b/nmlmsgs/include/obsDetCfg.hh new file mode 100644 index 0000000..8458c56 --- /dev/null +++ b/nmlmsgs/include/obsDetCfg.hh @@ -0,0 +1,115 @@ +/** + * @file obsDetCfg.hh + * + * @remark ~ NML data structure for Obstacle Detection Configuration. + * + * @author ~ Will Shackleford + * + * @verbatim + * ,--------------------------------------------------------------------. + * . THIS software was developed at the National Institute of . + * . Standards and Technology by employees of the Federal Government . + * . in the course of their official duties. Pursuant to title 17 . + * . Section 105 of the United States Code this software is not . + * . subject to copyright protection and is in the public . + * . domain. NIST's [intelligent mobility] software is an experimental . + * . system. NIST assumes no responsibility whatsoever for its use by . + * . other parties, and makes no guarantees, expressed or implied, . + * . about its quality, reliability, or any other characteristic. We . + * . would appreciate acknowledgement if the software is used. This . + * . software can be redistributed and/or modified freely provided . + * . that any derivative works bear some notice that they are derived . + * . from it, and any modified versions bear some notice that they . + * . have been modified. . + * `------------------------------------------------------------------- + * @endverbatim + * + * @par Created by Will Shackleford, 2008-09-25 + **/ + + +#ifndef OBSDETCFG_HH +#define OBSDETCFG_HH + +// generate_symbol_lookups=true + + +/*----------------------------------* + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" // OBSDETCFG_BASE + + +/*-----------------* + * Macro Constants * + \*---------------*/ +#define OBSTACLE_DET_CONFIG_TYPE OBSDETCFG_BASE + +/*-----------------* + * Data Structures * + \*---------------*/ +class OBSTACLE_DET_CONFIG : public NMLmsg +{ +public: + OBSTACLE_DET_CONFIG(); + void update(CMS *); + + + bool enforce_min_intensity; + float min_intensity; + + bool enforce_max_intensity; + float max_intensity; //default=1.0 + + bool enforce_min_range; + float min_range; + + bool enforce_max_range; + float max_range; //default=10.0 + + double roll; + double pitch; + double yaw; + + bool enforce_floor_threshold; + double floor_threshold; + + bool apply_isolated_obstacle_filter; + int isolated_obstacle_filter_window; + int isolated_obstacle_filter_min; + + bool apply_smoothing; + int smoothing_size; + double max_smoothing_diff; //default=1.0 + + bool enable_x_minimum; + float x_minimum; //default=-10.0 + + bool enable_x_maximum; + float x_maximum; //default=+10.0 + + bool enable_y_minimum; + float y_minimum; //default=-10.0 + + bool enable_y_maximum; + float y_maximum; //default=+10.0 + + bool enable_z_minimum; + float z_minimum; //default=-10.0 + + bool enable_z_maximum; + float z_maximum; //default=+10.0 + + int stop_at_obs_pixel; +}; + + + +/*--------------------* + * Function Prototype * + \*------------------*/ +int obsDetCfg_format (NMLTYPE type, void *buf, CMS *cms); + + +#endif // OBSDETCFG_HH diff --git a/nmlmsgs/include/playerPosData.hh b/nmlmsgs/include/playerPosData.hh new file mode 100644 index 0000000..63e2ec4 --- /dev/null +++ b/nmlmsgs/include/playerPosData.hh @@ -0,0 +1,53 @@ +#ifndef PLAYERPOSDATA_HH +#define PLAYERPOSDATA_HH + +#include +#include "rcs.hh" +#include "nmlOffsets.hh" // PLAYERPOSSAFETY_DATA_BASE +#include "timetracker.hh" + +#define PLAYERPOS_DATA_TYPE (PLAYERPOS_DATA_BASE) + +struct player_position_2d +{ + double datatime; + int index; + char drivername[64]; + + /** Robot geometry in robot cs: pose gives the position2d and + orientation, size gives the extent. These values are filled in + by playerc_position2d_get_geom(). */ + double pose[3]; + double size[2]; + + /** Odometric pose (m, m, rad). */ + double px, py, pa; + + /** Odometric velocity (m/s, m/s, rad/s). */ + double vx, vy, va; + + /** Stall flag [0, 1]. */ + int stall; +}; + +class PLAYERPOS_DATA : public NMLmsg +{ +public: + PLAYERPOS_DATA(); + void update(CMS *); + + double timeStamp; + + struct time_tracker tt; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct player_position_2d,pos2d,10); +}; + + +int playerPosData_format(NMLTYPE type, void *buf, CMS *cms); + +#define PLAYERPOS_DATA_ID "$Id: playerPosData.hh 623 2008-11-10 16:01:29Z shackle $" +#define PLAYERPOS_DATA_REV "$Rev: 623 $" + +static const char *PLAYERPOS_DATA_HEADER_FILE=__FILE__; + +#endif diff --git a/nmlmsgs/include/primDebug.hh b/nmlmsgs/include/primDebug.hh new file mode 100644 index 0000000..5267b03 --- /dev/null +++ b/nmlmsgs/include/primDebug.hh @@ -0,0 +1,127 @@ + + +#ifndef PRIM_DEBUG_HH +#define PRIM_DEBUG_HH + + +#include "rcs.hh" +#include "moastNmlOffsets.hh" + +enum PRIM_DEBUG_MSG_TYPES { + PRIM_DEBUG_MSG_OUT_TYPE = (PRIM_DEBUG_BASE+1) +}; + +struct PathPoint +{ + double r; + double theta; + double yaw; + double speed; + int waypoints_index; + PM_CARTESIAN nav; +}; + +struct PathPointList +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct PathPoint,pp,24); +}; + +struct CartList +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,c,100); +}; + +enum PRIM_ALGORITHM_TYPE { + A1 = 1, + A2 = 2, + A3 = 3, + A4 = 4, + A5 = 5 +}; + + +class PRIM_DEBUG_MSG_OUT: public NMLmsg { +public: + PRIM_DEBUG_MSG_OUT(); + + void update(CMS *); + + struct time_tracker tt; + double pathLength; + double minPathLength; + double maxPathLength; + double maxTranAccel; + double maxTranSpeed; + double maxRotSpeed; + double maxRotAccel; + double tranSpeed; + double rotSpeed; + double tranAccel; + double rotAccel; + double waypoint_speed; + double speed_ratio; + double r; + double fabs_r; + double min_fabs_r; + double max_fabs_r; + double theta_r; + double min_theta_r; + double max_theta_r; + double expected_err; + double expected_err_max; + double cur_err; + double cur_err_max; + double dist_from_path; + double dist_from_path_max; + double theta; + double yaw; + double wp_move_start_time; + double wp_start_speed; + double time_since_start; + double accel_max_speed; + bool obstacle_in_path; + double dist_to_obstacle; // Distance vehicle can move along path before hitting obstacle. + double time_without_movement; + double time_since_new_command; + double obstacle_dist; // distance between outer edge of vehicle and obstacle when the obstacle will be considered in the path. + double obstacle_point_sensed_time; + double obstacle_point_time_since_sensed; + double tranSpeedIn; // tran speed before final clipping + double rotSpeedIn; // rot speed before final clipping + double currentDirNextSegDot; + bool using_cubic; + enum PRIM_ALGORITHM_TYPE algorithm; //default=A4 + double cubicA; + double cubicB; + PM_CARTESIAN wp_start_point; + PM_CARTESIAN s; + PM_CARTESIAN next_point; + PM_CARTESIAN r_center; + PM_CARTESIAN ortho; + PM_CARTESIAN maxTranSpeedPoint; + PM_CARTESIAN maxRotSpeedPoint; + PM_CARTESIAN maxTranAccelPoint; + PM_CARTESIAN maxRotAccelPoint; + PM_CARTESIAN minRMagPoint; + PM_CARTESIAN maxRMagPoint; + PM_CARTESIAN minTheraRPoint; + PM_CARTESIAN maxTheraRPoint; + PM_CARTESIAN minPathLengthPoint; + PM_CARTESIAN maxPathLengthPoint; + PM_CARTESIAN obstacle_point; + CartList arcList; + CartList pathList; + PathPointList ppl; + PM_CARTESIAN nextSegmenUnitVec; + PM_CARTESIAN currentDirUnitVec; + +}; + +extern int primDebug_format(NMLTYPE type, void *buf, CMS * cms); +extern const char *primDebug_symbol_lookup(long type); +extern const char *primDebug_enum_PRIM_ALGORITHM_TYPE_symbol_lookup(long v); + +// generate_symbol_lookups=true +// generate_all_enum_symbol_lookups=true + +#endif diff --git a/nmlmsgs/include/primMobJA.hh b/nmlmsgs/include/primMobJA.hh new file mode 100644 index 0000000..562d652 --- /dev/null +++ b/nmlmsgs/include/primMobJA.hh @@ -0,0 +1,296 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file primMobJA.hh + + \brief NML declarations for vehicle prim level command, status, config + and settings. +*/ + +#ifndef PRIM_MOB_JA_HH +#define PRIM_MOB_JA_HH + +#include +#include "moastTypes.hh" // MAX_WAYPOINTS +#include "moastNmlOffsets.hh" + +#define PRIM_MOB_JA_CMD_NAME "primMobJACmd" +#define PRIM_MOB_JA_STAT_NAME "primMobJAStat" +#define PRIM_MOB_JA_CFG_NAME "primMobJACfg" +#define PRIM_MOB_JA_SET_NAME "primMobJASet" + +#define PRIM_MOB_JA_CMD_BASE (PRIM_MOB_JA_BASE + 0) +#define PRIM_MOB_JA_STAT_BASE (PRIM_MOB_JA_BASE + 100) +#define PRIM_MOB_JA_CFG_BASE (PRIM_MOB_JA_BASE + 200) +#define PRIM_MOB_JA_SET_BASE (PRIM_MOB_JA_BASE + 300) +#define PRIM_MOB_JA_ERROR_BASE (PRIM_MOB_JA_BASE + 400) + +#define PRIM_MOB_JA_CMD_NOP_TYPE (PRIM_MOB_JA_CMD_BASE + 1) +#define PRIM_MOB_JA_CMD_INIT_TYPE (PRIM_MOB_JA_CMD_BASE + 2) +#define PRIM_MOB_JA_CMD_ABORT_TYPE (PRIM_MOB_JA_CMD_BASE + 3) +#define PRIM_MOB_JA_CMD_HALT_TYPE (PRIM_MOB_JA_CMD_BASE + 4) +#define PRIM_MOB_JA_CMD_SHUTDOWN_TYPE (PRIM_MOB_JA_CMD_BASE + 5) +#define PRIM_MOB_JA_CMD_MOVE_ARC_SEGMENT_TYPE (PRIM_MOB_JA_CMD_BASE + 6) +#define PRIM_MOB_JA_CMD_MOVE_WAYPOINT_TYPE (PRIM_MOB_JA_CMD_BASE + 7) +#define PRIM_MOB_JA_CMD_MOVE_WAYPOSE_TYPE (PRIM_MOB_JA_CMD_BASE + 8) +#define PRIM_MOB_JA_CMD_ROTATE_TYPE (PRIM_MOB_JA_CMD_BASE + 9) +#define PRIM_MOB_JA_CMD_VEL_TYPE (PRIM_MOB_JA_CMD_BASE + 10) +#define PRIM_MOB_JA_CMD_STOP_TYPE (PRIM_MOB_JA_CMD_BASE + 11) +#define PRIM_MOB_JA_CMD_DOCK_TYPE (PRIM_MOB_JA_CMD_BASE + 12) + +#define PRIM_MOB_JA_STAT_TYPE (PRIM_MOB_JA_STAT_BASE + 1) + +#define PRIM_MOB_JA_CFG_NOP_TYPE (PRIM_MOB_JA_CFG_BASE + 1) +#define PRIM_MOB_JA_CFG_CYCLE_TIME_TYPE (PRIM_MOB_JA_CFG_BASE + 2) +#define PRIM_MOB_JA_CFG_MOVE_TYPE (PRIM_MOB_JA_CFG_BASE + 3) +#define PRIM_MOB_JA_CFG_DEBUG_TYPE (PRIM_MOB_JA_CFG_BASE + 4) + +#define PRIM_MOB_JA_SET_TYPE (PRIM_MOB_JA_SET_BASE + 1) + +enum {PRIM_MOB_JA_ERROR_BAD_CFG = PRIM_MOB_JA_ERROR_BASE + 1}; + + +class PrimMobJACmdNop:public RCS_CMD_MSG { +public: + PrimMobJACmdNop():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_NOP_TYPE, + sizeof(PrimMobJACmdNop)) {}; + void update(CMS *); +}; + +class PrimMobJACmdInit:public RCS_CMD_MSG { +public: + PrimMobJACmdInit():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_INIT_TYPE, + sizeof(PrimMobJACmdInit)) {}; + void update(CMS *); +}; + +class PrimMobJACmdHalt:public RCS_CMD_MSG { +public: + PrimMobJACmdHalt():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_HALT_TYPE, + sizeof(PrimMobJACmdHalt)) {}; + void update(CMS *); +}; + +class PrimMobJACmdAbort:public RCS_CMD_MSG { +public: + PrimMobJACmdAbort():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_ABORT_TYPE, + sizeof(PrimMobJACmdAbort)) {}; + void update(CMS *); +}; + +class PrimMobJACmdShutdown:public RCS_CMD_MSG { +public: + PrimMobJACmdShutdown():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_SHUTDOWN_TYPE, + sizeof(PrimMobJACmdShutdown)) {}; + void update(CMS *); +}; + +/*! + The PrimMobJACmdMoveArc NML message contains an array of ArcSegments, + up to MAX_ARC_SEGMENTS, in relative coordinates. +*/ + +class PrimMobJACmdMoveArcSegment:public RCS_CMD_MSG { +public: + PrimMobJACmdMoveArcSegment():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_MOVE_ARC_SEGMENT_TYPE, + sizeof(PrimMobJACmdMoveArcSegment)) {}; + void update(CMS *); + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(ArcSegment, arcList, MAX_ARC_SEGMENTS); + // will now get 'int arcList_length' +}; + +/*! + The PrimMobJACmdMoveWaypoint NML message contains an array of waypoints, + up to MAX_WAYPOINTS, in relative coordinates. +*/ + +class PrimMobJACmdMoveWaypoint:public RCS_CMD_MSG { +public: + PrimMobJACmdMoveWaypoint():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_MOVE_WAYPOINT_TYPE, + sizeof(PrimMobJACmdMoveWaypoint)) {hasOrientation = 0;}; + void update(CMS *); + bool prim_path; + bool hasOrientation; //!< non-zero means use the 'rpy' element of the waypoints for heading + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(Waypoint, waypoint, MAX_WAYPOINTS); + // will now get 'int waypoint_length' +}; + +class PrimMobJACmdRotate:public RCS_CMD_MSG { +public: + PrimMobJACmdRotate():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_ROTATE_TYPE, + sizeof(PrimMobJACmdRotate)) {}; + void update(CMS *); + + double theta; // yaw angle, relative coords, [rad] + double thetaTol; // tolerance, [rad] + /*! + \a direction can take a value from \a PRIM_MOB_JA_CMD_ROTATE_CW, + \a PRIM_MOB_JA_CMD_ROTATE_CCW or \a PRIM_MOB_JA_CMD_ROTATE_SHORTEST, + where the \a CW suffix means clockwise, the \a CCW suffix means + counterclockwise and the \a SHORTEST suffix means take the direction + with the shortest rotation. + + Note that clockwise would result in north-to-east rotation and + counterclockwise would result in north-to-west rotation, consistent + with an overhead view of the vehicle. Since the vehicle's Z axis + points down, the yaw values increase for clockwise rotation and + decrease with counterclockwise rotation. + */ + int direction; +}; + +class PrimMobJACmdVel:public RCS_CMD_MSG { +public: + PrimMobJACmdVel():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_VEL_TYPE, + sizeof(PrimMobJACmdVel)) {}; + void update(CMS *); + + double v; // trans speed + double w; // rot speed +}; + +class PrimMobJACmdStop:public RCS_CMD_MSG { +public: + PrimMobJACmdStop():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_STOP_TYPE, + sizeof(PrimMobJACmdStop)) {}; + void update(CMS *); +}; + +/*! Command to dock to a station. The command must contain a rectangle of +free space, a rectangle that represents the docking station (obstacle), and the +goal point for the dock. Note that the goal point is the location on the station +to dock with, not the location where the center of the vehicle will be when docked. +*/ +class PrimMobJACmdDock:public RCS_CMD_MSG { +public: + PrimMobJACmdDock():RCS_CMD_MSG + (PRIM_MOB_JA_CMD_DOCK_TYPE, + sizeof(PrimMobJACmdDock)) {}; + void update(CMS *); + + PM_CARTESIAN freeSpaceUpperRight; + PM_CARTESIAN freeSpaceLowerLeft; + + PM_CARTESIAN stationUpperRight; + PM_CARTESIAN stationLowerLeft; + + PM_CARTESIAN dockPoint; +}; + + +/*! + PrimMobJAStat is the class that holds the dynamic vehicle status, + things that change frequently and in response to vehicle command + messages. + */ + +class PrimMobJAStat:public RCS_STAT_MSG_V2 { +public: + PrimMobJAStat() : RCS_STAT_MSG_V2(PRIM_MOB_JA_STAT_TYPE, sizeof(PrimMobJAStat)) {}; + void update(CMS *); + + int command_type_sent; // the last one sent down to servo + int serial_number_sent; // the last one sent down to servo + int pathIndex; // which one we're on, 0 = first one +}; + +class PrimMobJACfgCycleTime:public RCS_CMD_MSG { +public: + PrimMobJACfgCycleTime():RCS_CMD_MSG + (PRIM_MOB_JA_CFG_CYCLE_TIME_TYPE, + sizeof(PrimMobJACfgCycleTime)) {}; + void update(CMS *); + + double cycleTime; +}; + +class PrimMobJACfgNop:public RCS_CMD_MSG { +public: + PrimMobJACfgNop():RCS_CMD_MSG + (PRIM_MOB_JA_CFG_NOP_TYPE, + sizeof(PrimMobJACfgNop)) {}; + void update(CMS *); +}; + +class PrimMobJACfgMove:public RCS_CMD_MSG { +public: + PrimMobJACfgMove():RCS_CMD_MSG + (PRIM_MOB_JA_CFG_MOVE_TYPE, + sizeof(PrimMobJACfgMove)) {}; + void update(CMS *); + + double vmax; + double amax; + double wmax; + double alphamax; + double vCutoffAngle; + double wCutoffAngle; +}; + +#define PRIM_MOB_JA_DEBUG_MOVE 0x00000001 +#define PRIM_MOB_JA_DEBUG_WAYPOINT 0x00000002 +#define PRIM_MOB_JA_DEBUG_ARCS 0x00000004 +#define PRIM_MOB_JA_DEBUG_ICR 0x00000008 +#define PRIM_MOB_JA_DEBUG_ALL 0xFFFFFFFF + +class PrimMobJACfgDebug:public RCS_CMD_MSG { +public: + PrimMobJACfgDebug():RCS_CMD_MSG + (PRIM_MOB_JA_CFG_DEBUG_TYPE, + sizeof(PrimMobJACfgDebug)) {}; + void update(CMS *); + + int debug; // debug mask +}; + +/*! + PrimMobJASet is the class that holds the quasi-static vehicle settings, + those that change infrequently and in response to vehicle configuration + messages. + */ + +class PrimMobJASet:public RCS_STAT_MSG { +public: + PrimMobJASet():RCS_STAT_MSG(PRIM_MOB_JA_SET_TYPE, sizeof(PrimMobJASet)) {}; + void update(CMS *); + + double cycleTime; + int debug; // debug mask + double vmax; // max translational speed, [m/s] + double amax; // max translational acceleration, [m/s/s] + double wmax; // max rotational speed, [rad/s] + double alphamax; // max rotational acceleration, [rad/s/s] + // value of angular deviation above which speed is set to zero, + // leading to only rotation + double vCutoffAngle; // [rad] + // value of angular deviation above which angular speed is clamped + // to wmax + double wCutoffAngle; // [rad] + PM_POSE controlPoint; // (inverse of) pose of control point wrt nav data frame +}; + +extern int primMobJA_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * primMobJA_symbol_lookup(long type); + +#endif // PRIM_MOB_JA_HH diff --git a/nmlmsgs/include/primSP.hh b/nmlmsgs/include/primSP.hh new file mode 100644 index 0000000..20ceab8 --- /dev/null +++ b/nmlmsgs/include/primSP.hh @@ -0,0 +1,194 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file primSP.hh + + \brief NML declaration for the prim sensor processing level. Contains + prim level sensor command, status, set, and data messages. + + \code CVS Status: + $Author: tomrkramer $ + $Revision: 1.6 $ + $Date: 2008/02/11 23:46:08 $ + \endcode + + \author Fred Proctor + \date 8 June 2005 +*/ + +#ifndef PRIM_SP_HH +#define PRIM_SP_HH + +#include "moastNmlOffsets.hh" + +#define PRIM_SP_CMD_NAME "primSPCmd" +#define PRIM_SP_STAT_NAME "primSPStat" +#define PRIM_SP_CFG_NAME "primSPCfg" +#define PRIM_SP_SET_NAME "primSPSet" +#define PRIM_SP_DATA_NAME "primSPData" + +#define PRIM_SP_CMD_BASE (PRIM_SP_BASE) +#define PRIM_SP_STAT_BASE (PRIM_SP_BASE + 100) +#define PRIM_SP_CFG_BASE (PRIM_SP_BASE + 200) +#define PRIM_SP_SET_BASE (PRIM_SP_BASE + 300) +#define PRIM_SP_DATA_BASE (PRIM_SP_BASE + 400) + +#define PRIM_SP_CMD_NOP_TYPE (PRIM_SP_CMD_BASE + 1) +#define PRIM_SP_CMD_INIT_TYPE (PRIM_SP_CMD_BASE + 2) +#define PRIM_SP_CMD_ABORT_TYPE (PRIM_SP_CMD_BASE + 3) +#define PRIM_SP_CMD_HALT_TYPE (PRIM_SP_CMD_BASE + 4) +#define PRIM_SP_CMD_SHUTDOWN_TYPE (PRIM_SP_CMD_BASE + 5) +#define PRIM_SP_CMD_GO_TYPE (PRIM_SP_CMD_BASE + 6) + +#define PRIM_SP_STAT_TYPE (PRIM_SP_STAT_BASE + 1) + +#define PRIM_SP_CFG_NOP_TYPE (PRIM_SP_CFG_BASE + 1) +#define PRIM_SP_CFG_CYCLE_TIME_TYPE (PRIM_SP_CFG_BASE + 2) +#define PRIM_SP_CFG_DEBUG_TYPE (PRIM_SP_CFG_BASE + 3) + +#define PRIM_SP_SET_TYPE (PRIM_SP_SET_BASE + 1) + +#define PRIM_SP_DATA_1D_TYPE (PRIM_SP_DATA_BASE + 1) +#define PRIM_SP_DATA_2D_TYPE (PRIM_SP_DATA_BASE + 2) + +#define PRIM_SP_DATA_1D_MAXSIZE 128 +#define PRIM_SP_DATA_2D_MAXSIZE 256 + + +// PRIM_SP_CMD_XXX +///////////////////////////////////////////////// +class PrimSPCmdNop:public RCS_CMD_MSG { +public: + PrimSPCmdNop():RCS_CMD_MSG(PRIM_SP_CMD_NOP_TYPE, + sizeof(PrimSPCmdNop)) {}; + void update(CMS *); +}; + +class PrimSPCmdInit:public RCS_CMD_MSG { +public: + PrimSPCmdInit():RCS_CMD_MSG(PRIM_SP_CMD_INIT_TYPE, + sizeof(PrimSPCmdInit)) {}; + void update(CMS *); +}; + +class PrimSPCmdAbort:public RCS_CMD_MSG { +public: + PrimSPCmdAbort():RCS_CMD_MSG(PRIM_SP_CMD_ABORT_TYPE, + sizeof(PrimSPCmdAbort)) {}; + void update(CMS *); +}; + +class PrimSPCmdHalt:public RCS_CMD_MSG { +public: + PrimSPCmdHalt():RCS_CMD_MSG(PRIM_SP_CMD_HALT_TYPE, + sizeof(PrimSPCmdHalt)) {}; + void update(CMS *); +}; + +class PrimSPCmdShutdown:public RCS_CMD_MSG { +public: + PrimSPCmdShutdown():RCS_CMD_MSG(PRIM_SP_CMD_SHUTDOWN_TYPE, + sizeof(PrimSPCmdShutdown)) {}; + void update(CMS *); +}; + +class PrimSPCmdGo:public RCS_CMD_MSG { +public: + PrimSPCmdGo():RCS_CMD_MSG(PRIM_SP_CMD_GO_TYPE, + sizeof(PrimSPCmdGo)) {}; + void update(CMS *); + double outputCycleTime; +}; + +// PRIM_SP_STAT +////////////////////////////////////////////// + +class PrimSPStat : public RCS_STAT_MSG_V2 { +public: + PrimSPStat() : RCS_STAT_MSG_V2(PRIM_SP_STAT_TYPE, sizeof(PrimSPStat)) {}; + void update(CMS *); +}; + +// PRIM_SP_CFG_XXX +////////////////////////////////////////////////////// +class PrimSPCfgNop:public RCS_CMD_MSG { +public: + PrimSPCfgNop():RCS_CMD_MSG(PRIM_SP_CFG_NOP_TYPE, + sizeof(PrimSPCfgNop)) {}; + void update(CMS *); +}; + +class PrimSPCfgCycleTime:public RCS_CMD_MSG { +public: + PrimSPCfgCycleTime():RCS_CMD_MSG(PRIM_SP_CFG_CYCLE_TIME_TYPE, + sizeof(PrimSPCfgCycleTime)) {}; + void update(CMS *); + + //! period in seconds + double cycleTime; +}; + +class PrimSPCfgDebug:public RCS_CMD_MSG { +public: + PrimSPCfgDebug():RCS_CMD_MSG(PRIM_SP_CFG_DEBUG_TYPE, + sizeof(PrimSPCfgDebug)) {}; + void update(CMS *); + + //! debug level + int debug; +}; + +// PRIM_SP_SET +////////////////////////////////////////////////////// +class PrimSPSet : public RCS_STAT_MSG { +public: + PrimSPSet():RCS_STAT_MSG(PRIM_SP_SET_TYPE, sizeof(PrimSPSet)) {}; + void update(CMS *); + + double cycleTime; + int debug; +}; + +extern int primSP_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * primSP_symbol_lookup(long type); + +#endif // PRIM_SP_HH + +/* + Modification history: + + $Log: primSP.hh,v $ + Revision 1.6 2008/02/11 23:46:08 tomrkramer + Changed PrimSPCmdGo by removing (useless) attribute foo and replacing it + with outputCycleTime, which tells primSP how long to wait between writing + output data. + + Revision 1.5 2006/06/21 19:38:13 proctor + Added support for Java, which involved including some left-out headers + like moastNmlOffsets.hh and moastTypes.hh + + Revision 1.4 2006/04/19 22:35:06 tomrkramer + Deleted heartbeat from PrimSPStat class (use tt.count instead). + + Revision 1.3 2006/04/05 13:48:24 tomrkramer + Switched to using RCS_STAT_MSG_V2. + + Revision 1.1.1.1 2005/10/12 20:50:32 root + initial import + + Revision 1.2 2005/06/15 13:30:48 beytin + Updated so primSP now has a go command + + Revision 1.1 2005/06/08 19:50:28 proctor + Initial checkin + +*/ diff --git a/nmlmsgs/include/range3DMsg.hh b/nmlmsgs/include/range3DMsg.hh new file mode 100644 index 0000000..c217ce1 --- /dev/null +++ b/nmlmsgs/include/range3DMsg.hh @@ -0,0 +1,29 @@ + + +#ifndef RANGE_3D_MSG_HH +#define RANGE_3D_MSG_HH + +#include "rcs.hh" +#include "nmlOffsets.hh" + +enum enumRange3DMsgNmlType { + RANGE_3D_MSG_TYPE=RANGE_3D_MSG_BASE+1, +}; + +#define RANGE_3D_IMG_COLS 4000 +#define RANGE_3D_IMG_ROWS 32 + +class RANGE_3D_MSG: public NMLmsg { +public: + RANGE_3D_MSG(); + + void update(CMS *); + double timeStamp; // time in seconds since UNIX epoch Jan 1, 1970. + float range_m[RANGE_3D_IMG_ROWS][RANGE_3D_IMG_COLS]; + float xyz_m[RANGE_3D_IMG_ROWS][RANGE_3D_IMG_COLS][3]; +}; + + +extern int range3DMsg_format(NMLTYPE type, void *buf, CMS *cms); + +#endif diff --git a/nmlmsgs/include/sensorData.hh b/nmlmsgs/include/sensorData.hh new file mode 100644 index 0000000..6539a09 --- /dev/null +++ b/nmlmsgs/include/sensorData.hh @@ -0,0 +1,602 @@ +/***************************************************************************** + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*****************************************************************************/ +/*! + \file sensorData.hh + \brief A low-level sensor output channel + + This channel outputs various classes of sensor data. These classes include + a list class that contains a list of non-adjancent outputs, + a 1D map class that outputs a 1-D array of values and a 2D may + class that outputs a 2-D array of values; + World or local coordinates may be specified. The format of + PM_CARTESIAN entries is x-north, y-east, z-down. +*/ + +/* + The update() and format() commands will be automatically generated + by the NIST auto-code-writer routine (JAVA-based). These will be + found in the file *.cc +*/ + +#ifndef SENSOR_DATA_HH +#define SENSOR_DATA_HH + +#include +#include +#include "moastNmlOffsets.hh" +//! The base name of the nml channel for this buffer +/*! This base name will have the vehicle ID appended to it to form the entire name. + For example, vehicle ID 1 will have a channel nammed "sensorData1" (where + WM_SENSOROUT_NAME is defined to be "sensorData"). +*/ + +#define SERVO_SP_LINESCAN_BUF_NAME "servoSPLinescan" +#define SERVO_SP_VICTIM_BUF_NAME "servoSPVict" +#define SERVO_SP_RFID_BUF_NAME "servoSPRfid" +#define SERVO_SP_SONAR_BUF_NAME "servoSPSonarArr" +#define SERVO_SP_NAV_BUF_NAME "servoSPNav" + + +#define PRIM_SP_LINESCAN_NAME "primSPLinescan" +#define AM_SP_MAP_NAME "amSPMap" + +//! the version number of this channel +#define SENSOR_DATA_VERSION 1.0 +//! maximum number of cells for list message +#define MAX_SENSOR_DATA_LIST 2000 +//! maximum number of values in data tuple +#define MAX_SENSOR_DATA_ARRAY_TUPLE 6 +//! maximum length of strings in text array elements +#define MAX_SENSOR_DATA_ARRAY_STRLEN 100 +//! maximum number of elements in data array +#define MAX_SENSOR_DATA_ARRAY 20 +//! maximum number of elements in text array +#define MAX_SENSOR_DATA_TEXT_ARRAY 10 +//! maximum size of data array for 1D array message +#define MAX_SENSOR_DATA_1D 762 +//! maximum size of data array for 2D array message (x*y) +#define MAX_SENSOR_DATA_2D 45000 +//! The maximum number of 3D sensors that can be expected +#define MAX_SENSOR_DATA_3D 32 + +//! maximum size of char for text buffer +#define SENSOR_DATA_TXT_BUFFER_MAX 1024 +//! maximum size of string pointer for text buffer +#define SENSOR_DATA_TXT_STR_PTR_MAX 50 +//! maximum number of user defined doubles in sensor text message +#define SENSOR_DATA_TXT_VALUE_MAX 100 + +//! maximum number of sensor data sources on a robot +#define MAX_SENSOR_DATA_BUFFERS 8 +//! maximum number of sensor data values for a particular sensor +#define SENSOR_DATA_MAX 256 + +// channel commands +// DO NOT USE O+ IT DOES NOT WORK! +//! Status contains a list of x,y,f triplets (location, feature) +#define SENSOR_DATA_LIST_TYPE (SENSOR_DATA_BASE + 1) +//! Status contains an array of double values +#define SENSOR_DATA_ARRAY_TYPE (SENSOR_DATA_BASE + 2) +//! Status contains an array of string +#define SENSOR_DATA_TEXT_ARRAY_TYPE (SENSOR_DATA_BASE + 3) +//! Status contains a 1D continuous array of data +#define SENSOR_DATA_1D_TYPE (SENSOR_DATA_BASE + 4) +//! Status contains a 2D continuous array of data +#define SENSOR_DATA_2D_TYPE (SENSOR_DATA_BASE + 5) +//! Status contains a text buffer of NULL delimited strings and double values +#define SENSOR_DATA_TXT_TYPE (SENSOR_DATA_BASE + 6) +//! Status contains a 1D continuous array of range scanner data +#define RANGE_SCANNER_DATA_TYPE (SENSOR_DATA_BASE + 7) +//! Status contains an array of sensor range values and an array of sensor poses +#define SENSOR_DATA_3D_TYPE (SENSOR_DATA_BASE + 8) +//! Status contains an array of sensor values +#define SENSOR_DATA_TYPE (SENSOR_DATA_BASE + 9) + +typedef enum { + SERVO_SP_LINESCANNER_SENSOR, + SERVO_SP_SONAR_SENSOR, + SERVO_SP_TOUCH_SENSOR, + SERVO_SP_RFID_SENSOR, + SERVO_SP_VICTIM_SENSOR, + SERVO_SP_INU_SENSOR, + SERVO_SP_INS_SENSOR, + SERVO_SP_GPS_SENSOR, + SERVO_SP_ODOMETER_SENSOR, + SERVO_SP_TACHOMETER_SENSOR, + SERVO_SP_ENCODER_SENSOR, + SERVO_SP_GRD_TRUTH_SENSOR, + SERVO_SP_CAMERA_SENSOR, + SERVO_SP_ACOUSTIC_SENSOR +} ServoSensorType; + +class SensorData : public NMLmsg { +public: + SensorData() : NMLmsg(SENSOR_DATA_TYPE, sizeof(SensorData)) {}; + void update(CMS *); + + double time; //!< timestamp for the data + ServoSensorType type; //!< one of SERVO_SP_ODOMETER,TACHOMETER, ... + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, data, SENSOR_DATA_MAX); +}; + +typedef enum BODY_PART_TYPE +{ + BODY_PART_HEAD_TYPE, + BODY_PART_CHEST_TYPE, + BODY_PART_PELVIS_TYPE, + BODY_PART_LEG_TYPE, + BODY_PART_FOOT_TYPE, + BODY_PART_ARM_TYPE, + BODY_PART_HAND_TYPE, + BODY_PART_UNKNOWN_TYPE, +} BodyPartType; + + +class DataArrayElement +{ +public: + int type; + int id; + double collectionTime; + double dataTuple[MAX_SENSOR_DATA_ARRAY_TUPLE]; +}; + + +class SensorDataArrayElement +{ +public: + int sensorType; + int sensorID; + double collectionTime; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, dataTuple,MAX_SENSOR_DATA_ARRAY_TUPLE); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, dataStr, MAX_SENSOR_DATA_ARRAY_STRLEN); +}; + + +class SensorDataArray:public NMLmsg { +public: + SensorDataArray():NMLmsg(SENSOR_DATA_ARRAY_TYPE, sizeof(SensorDataArray)) {}; + //! standard NML update function + void update(CMS *); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(DataArrayElement, arrayElem, + MAX_SENSOR_DATA_ARRAY); +}; + + +class SensorDataTextArray:public NMLmsg { +public: + SensorDataTextArray():NMLmsg(SENSOR_DATA_TEXT_ARRAY_TYPE, sizeof(SensorDataTextArray)) {}; + //! standard NML update function + void update(CMS *); + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(SensorDataArrayElement, dataElem, + MAX_SENSOR_DATA_TEXT_ARRAY); +}; + +// ================================================================ + +class SensorDataList:public NMLmsg { +public: + SensorDataList():NMLmsg(SENSOR_DATA_LIST_TYPE, sizeof(SensorDataList)) { + }; + //! standard NML update function + void update(CMS *); + //! are the cells in local or global coordinates? + bool isGlobal; + /*! what is the increment between array members. Example, meters between + cells or angle between returns. Since SensorPoints identify their + location, however, some applications may not need to use the + value of increment. + */ + double increment; + + /*! maximum range of sensor. SensorPoints whose distance between + sensorLoc and dataLoc exceeds this should not be used. + The value should be positive. + */ + double maxRange; + + /*! minimum range of sensor. SensorPoints whose distance between + sensorLoc and dataLoc is less than this should not be used. + The value may be zero but should not be negative. + */ + double minRange; + + /*! + Variable length array of sensor points to add. The name of the array is + "featList", whose maximum length is defined by MAX_WM_SENSOR_LIST. + NML creates a variable named "featList_length" that contains the number + of elements in the current message. + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(SensorPoint, featList, + MAX_SENSOR_DATA_LIST); + /*! time that data was collected, in seconds */ + double collectTime; +}; + +// ================================================================ + +/*! Class for representing range scanner return data + +The scanner is assumed to have indexable pitch. For one data set, the +pitch is constant. The scanner repeatedly moves to another pitch and +scans, making a new data set at each pitch. + +*/ + +class RangeScannerData:public NMLmsg { +public: + RangeScannerData():NMLmsg(RANGE_SCANNER_DATA_TYPE, sizeof(RangeScannerData)){ + }; + //! standard NML update function + void update(CMS *); + /*! pitch (tilt) of range scanner in scanner coordinate system in radians. + Tilt axis is assumed parallel to Y axis of scanner. Scanner coordinate + system is assumed to be like vehicle coordinate system (X straight + ahead, Y right, Z down). Pitch is 0 is when the beam is parallel to + the X axis. Tilting towards the -Z axis (up) is positive. */ + double pitch; + //! angle to first data element in radians + double startAngle; + //! angle increment between array members in radians + double increment; + /*! maximum range of range scanner. If distances[n] is larger than this, + the beam is assumed not to have hit anything. */ + double maxRange; + /*! minimum range of the range scanner. If distances[n] is smaller than + this, the data is assumed to be useless. */ + double minRange; + /*! Variable length array of hit point distances. The maximum length of + the distances array is MAX_WM_SENSOR_1D. + NML creates a variable named "distances_length" that contains the number + of elements in the current array. Each double represents the + distance in meters being reported. */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, distances, MAX_SENSOR_DATA_1D); + //! time that the data started to be collected, in seconds + double collectTimeStart; + //! duration of the data collection (start time to end time), in seconds. + double collectTimeDuration; +}; + +// ================================================================ + +/*! Class for representing 1D sensor return + */ +class SensorData1D:public NMLmsg { +public: + SensorData1D():NMLmsg(SENSOR_DATA_1D_TYPE, sizeof(SensorData1D)) { + }; + //! standard NML update function + void update(CMS *); + //! are the cells in local or global coordinates? + bool isGlobal; + //! location of start of array, e.g., angle to first data element or location of first grid point + double start; + //! what is the increment between array members. Example, meters between cells or angle between returns + double increment; + + /* FIX ME */ + /* MOAST discussion point. Where does this information belong??*/ + //! Max range reported by sensor + double maxRange; + //! Min range reported by sensor + double minRange; + + /*! + Variable length array of feature values to add. The name of the array is + "featArray", whose maximum length is defined by MAX_WM_SENSOR_1D. + NML creates a variable named "featArray_length" that contains the number + of elements in the current message. The contents of each cell is the + value of the feature being reported + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, featArray, MAX_SENSOR_DATA_1D); + + /*! time that data was collected, in seconds */ + double collectTimeStart; + double collectTimeDuration; +}; + +// ================================================================ + +/*! Class for representing 2D sensor return + array is packed by rows where a row runs from west to east + each subsequent row is north of the previous row. + In location, x is north and y is east + */ +class SensorData2D:public NMLmsg { +public: + SensorData2D():NMLmsg(SENSOR_DATA_2D_TYPE, sizeof(SensorData2D)) { + }; + //! standard NML update function + void update(CMS *); + //! are the cells in local or global coordinates? + bool isGlobal; + //! location of lowerleft of array + PM_CARTESIAN lowerLeft; + //! what is the increment between array members. Example, meters between cells or angle between retuns + double incrementX; + //! what is the increment between array members. Example, meters between cells or angle between retuns + double incrementY; + //! dimensions of map + int x; + //! dimensions of map + int y; + /*! + Variable length array of feature values to add. The name of the array is + "featArray", whose maximum lnegth is defined by MAX_WM_SENSOR_2D. + NML creates a variable named "featArray_length" that contains the number + of elements in the current message. The contents of each cell is the + value of the feature being reported + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, featArray, MAX_SENSOR_DATA_2D); + + /*! time that data was collected, in seconds */ + double collectTime; +}; + +/*! + Class for representing an array of sensor return data, where + each sensor in the array has an independent location. Typically + used for sets of sonar sensors. +*/ + +typedef struct { + double time; //!< The time of the sensor sample + double range; //!< The output of a single range sensor + PM_POSE pose; //!< The mounting pose of a sensor +} SensorData3DElement; + +class SensorData3D : public NMLmsg { +public: + SensorData3D() : NMLmsg(SENSOR_DATA_3D_TYPE, sizeof(SensorData3D)) {}; + + void update(CMS *); + + /*! + The variable length array for the sensor return values, with \a element_length holding how many there actually are. + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(SensorData3DElement, element, MAX_SENSOR_DATA_3D); +}; + +// ================================================================ + +/*! Generic data message for representing txt data + Variable length char array contains strPtr_length strings. + The strPtr provides index into txtBuffer where the first character + of a string is located. The dVal array provides a variable length array + of doubles that provide user defined values. + */ +class SensorDataText:public NMLmsg { +public: + SensorDataText():NMLmsg(SENSOR_DATA_TXT_TYPE, + sizeof(SensorDataText)) { + }; + void update(CMS *); + //! text buffer that contains series of NULL delimited strings + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, txtBuffer, + SENSOR_DATA_TXT_BUFFER_MAX); + //! Pointers that index into text buffer the first character of each string + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(int, strPtr, + SENSOR_DATA_TXT_STR_PTR_MAX); + //! Variable length array of user defined doubles + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, dVal, + SENSOR_DATA_TXT_VALUE_MAX); + +}; + + + +//! The base name of the nml channel for this buffer +/*! This base name will have the vehicle ID appended to it to form the entire name. + For example, vehicle ID 1 will have a channel nammed "symbolicData1" (where + WM_SYMBOLICOUT_NAME is defined to be "symbolicData"). +*/ +#define SYMBOLIC_DATA_NAME "symbolicData" +//! the version number of this channel +#define SYMBOLIC_DATA_VERSION 1.0 +//! maximum number of entries for list message +#define SYMBOLIC_DATA_LIST_MAX 25 +//! maximum number of verticies for each entry in list message +#define SYMBOLIC_DATA_VERT_MAX 100 +// channel commands +// DO NOT USE O+ IT DOES NOT WORK! +//! Status contains a list of x,y,f tripplets (location, feature)f +#define SYMBOLIC_DATA_FEATURE_TYPE (SYMBOLIC_DATA_BASE + 1) +//! Status contains a 1D continuous array of data +#define SYMBOLIC_DATA_ENTITY_TYPE (SYMBOLIC_DATA_BASE + 2) +//! Status contains a 2D continuous array of data +#define SYMBOLIC_DATA_HAZARD_TYPE (SYMBOLIC_DATA_BASE + 3) + +// ================================================================ +// structures and enums +//! Specifies the class of feature +enum FeatClass { + ROAD, + STREAM, + RIVER, + TREE, + BUILDING +}; + +//! specifies if feature is point, line, or polygon +enum FeatStructure { + MOAST_POINT, + MOAST_LINE, + MOAST_POLYGON +}; + +/*! We'd like to use a union of actual named parameter structures + but NML doesn't work with unions. So we define an array of doubles, + and mnemonic index values. The index to use is determined by the + FeatClass enum from above +*/ +#define SYMBOLIC_DATA_PARAMETERS_MAX 8 + +//! params for road feature +#define SYMBOLIC_DATA_ROAD_ID 0 + +//! params for stream feature +#define SYMBOLIC_DATA_STREAM_ID 0 + +//! params for river feature +#define SYMBOLIC_DATA_RIVER_ID 0 + +//! params for tree feature +#define SYMBOLIC_DATA_TREE_ID 0 +#define SYMBOLIC_DATA_TREE_HEIGHT 1 + +//! params for building feature +#define SYMBOLIC_DATA_BUILDING_ID 0 +#define SYMBOLIC_DATA_BUILDING_HEIGHT 1 + +//! structure to define individual feature +typedef struct { + /*! + vertices contains the locations of the vertices of the feature. The variable + vertices_length is an autogenerated variable that should be set the number + of vertices + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(Location2D, vertices, SYMBOLIC_DATA_VERT_MAX); + /*! + 'parameters' is opaque array, indexed using e.g. SYMBOLIC_DATA_TREE_HEIGHT. + 'parameters_length' is an auto-generated variable that must be filled in + with the appropriate value. + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, parameters, SYMBOLIC_DATA_PARAMETERS_MAX); + FeatStructure structure; + FeatClass type; + //! should this feature be added or removed + /*! true for adding feature + false for deleting feature + for feature delete, only the feature ID may be sent + */ + bool addFeat; +} FeatInfo; + +enum HazardClass { + IED +}; + +/*! We'd like to use a union of actual named parameter structures + but NML doesn't work with unions. So we define an array of doubles, + and mnemonic index values. The index to use is determined by the + HazardClass enum from above. The max number of features is set by + SYMBOLIC_DATA_PARAMETERS_MAX. +*/ +//! params for ied hazard +//! id of ied +#define SYMBOLIC_DATA_IED_ID 0 +//! 0-vehicle_ied, 1-package_ied +#define SYMBOLIC_DATA_IED_CLASS 1 +//! 0-no, 1-yes +#define SYMBOLIC_DATA_IED_IS_DETONATED +//! 0-undetected, 1-detected, 2-recognized, 3-disarmed +#define SYMBOLIC_DATA_IED_STATUS + +//! Provides detailed information about individual Hazzards +typedef struct { + int IEDClass; // 0-vehicle_ied, 1-vehicle, 2-package_ied, 3-package + int isDetonated; // 0- no, 1- yes + int status; // 0-undetected, 1-detected, 2-recognized, 3-disarmed + PM_CARTESIAN location; // in utm + int zone; +} IEDInfo; + +//! structure to define individual hazard +typedef struct { + //! location of hazard + Location2D loc; + /*! + 'parameters' is opaque array, indexed using e.g. SYMBOLIC_DATA_TREE_HEIGHT. + 'parameters_length' is an auto-generated variable that must be filled in + with the appropriate value. + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, parameters, SYMBOLIC_DATA_PARAMETERS_MAX); + HazardClass type; + //! should this feature be added or removed + /*! true for adding feature + false for deleting feature + for feature delete, only the feature ID may be sent + */ + bool addHazard; +} HazardInfo; + + +/////////////////////////////////////////////////////////////////////////// +// Classes +/*! Class for sending feature data + */ +class SymbolicDataFeature:public NMLmsg { +public: + SymbolicDataFeature():NMLmsg(SYMBOLIC_DATA_FEATURE_TYPE, + sizeof(SymbolicDataFeature)) { + }; + //! standard NML update function + void update(CMS *); + /*! + Variable length array of features to add or delete. The name of the array is + "featList", whose maximum lnegth is defined by SYMBOLIC_DATA_LIST_MAX. + NML creates a variable named "featList_length" that contains the number + of elements in the current message. + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(FeatInfo, featList, + SYMBOLIC_DATA_LIST_MAX); +}; + +/*! Class for representing detected entity data + */ +class SymbolicDataEntity:public NMLmsg { +public: + SymbolicDataEntity():NMLmsg(SYMBOLIC_DATA_ENTITY_TYPE, + sizeof(SymbolicDataEntity)) { + }; + //! standard NML update function + void update(CMS *); + /*! + Variable length array of feature values to add. The name of the array is + "featArray", whose maximum lnegth is defined by MAX_WM_SYMBOLIC_1D. + NML creates a variable named "featArray_length" that contains the number + of elements in the current message. The contents of each cell is the + value of the feature being reported + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(double, entityArray, + SYMBOLIC_DATA_LIST_MAX); +}; + +/*! Class for representing hazards + */ +class SymbolicDataHazard:public NMLmsg { +public: + SymbolicDataHazard():NMLmsg(SYMBOLIC_DATA_HAZARD_TYPE, + sizeof(SymbolicDataHazard)) { + }; + //! standard NML update function + void update(CMS *); + /*! + Variable length array of feature values to add. The name of the array is + "featArray", whose maximum lnegth is defined by MAX_WM_SYMBOLIC_2D. + NML creates a variable named "featArray_length" that contains the number + of elements in the current message. The contents of each cell is the + value of the feature being reported + */ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(HazardInfo, hazardArray, + SYMBOLIC_DATA_LIST_MAX); +}; + + + +//! standard NML format function +extern int sensorData_format(NMLTYPE type, void *buf, CMS * cms); + +//! standard NML command name lookup +extern const char *sensorData_symbol_lookup(long type); + +#endif // SENSOR_DATA_HH diff --git a/nmlmsgs/include/servoMobJA.hh b/nmlmsgs/include/servoMobJA.hh new file mode 100644 index 0000000..0573551 --- /dev/null +++ b/nmlmsgs/include/servoMobJA.hh @@ -0,0 +1,344 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +/*! + \file servoMobJA_v2.hh + + \brief NML declarations for vehicle servo level command, status, settings. + + Synopsis: + #include + #include "moastNmlOffsets.hh" +*/ + +#ifndef SERVO_MOB_JA_HH +#define SERVO_MOB_JA_HH + +//#include // RCS_CMD_MSG, CMS, PM_CARTESIAN +#include "moastTypes.hh" // MOAST_WORLD_NAME_LEN +#include "moastNmlOffsets.hh" + +#define SERVO_MOB_JA_CMD_NAME "servoMobJACmd" +#define SERVO_MOB_JA_STAT_NAME "servoMobJAStat" +#define SERVO_MOB_JA_CFG_NAME "servoMobJACfg" +#define SERVO_MOB_JA_SET_NAME "servoMobJASet" + +#define SERVO_MOB_JA_CMD_BASE (SERVO_MOB_JA_BASE) +#define SERVO_MOB_JA_STAT_BASE (SERVO_MOB_JA_BASE + 100) +#define SERVO_MOB_JA_CFG_BASE (SERVO_MOB_JA_BASE + 200) +#define SERVO_MOB_JA_SET_BASE (SERVO_MOB_JA_BASE + 300) + +#define SERVO_MOB_JA_CMD_INIT_TYPE (SERVO_MOB_JA_CMD_BASE + 1) +#define SERVO_MOB_JA_CMD_ABORT_TYPE (SERVO_MOB_JA_CMD_BASE + 2) +#define SERVO_MOB_JA_CMD_HALT_TYPE (SERVO_MOB_JA_CMD_BASE + 3) +#define SERVO_MOB_JA_CMD_SHUTDOWN_TYPE (SERVO_MOB_JA_CMD_BASE + 4) +#define SERVO_MOB_JA_CMD_ACKERMAN_TYPE (SERVO_MOB_JA_CMD_BASE + 5) +#define SERVO_MOB_JA_CMD_SKID_TYPE (SERVO_MOB_JA_CMD_BASE + 6) +#define SERVO_MOB_JA_CMD_FLIP_SKID_TYPE (SERVO_MOB_JA_CMD_BASE + 7) +#define SERVO_MOB_JA_CMD_OMNI_TYPE (SERVO_MOB_JA_CMD_BASE + 8) +#define SERVO_MOB_JA_CMD_SUBMARINE_TYPE (SERVO_MOB_JA_CMD_BASE + 9) +#define SERVO_MOB_JA_CMD_ROTARY_WING_TYPE (SERVO_MOB_JA_CMD_BASE + 10) + +#define SERVO_MOB_JA_STAT_TYPE (SERVO_MOB_JA_STAT_BASE + 1) +#define SERVO_MOB_JA_STAT_GRD_VEH_TYPE (SERVO_MOB_JA_STAT_BASE + 2) +#define SERVO_MOB_JA_STAT_AIR_BOT_TYPE (SERVO_MOB_JA_STAT_BASE + 3) + +#define SERVO_MOB_JA_CFG_CYCLE_TIME_TYPE (SERVO_MOB_JA_CFG_BASE + 1) +#define SERVO_MOB_JA_CFG_DEBUG_TYPE (SERVO_MOB_JA_CFG_BASE + 2) +#define SERVO_MOB_JA_CFG_TELEPORT_TYPE (SERVO_MOB_JA_CFG_BASE + 3) + +#define SERVO_MOB_JA_SET_TYPE (SERVO_MOB_JA_SET_BASE + 1) +#define SERVO_MOB_JA_SET_GRD_VEH_TYPE (SERVO_MOB_JA_SET_BASE + 2) +#define SERVO_MOB_JA_SET_AIR_BOT_TYPE (SERVO_MOB_JA_SET_BASE + 3) + +//// Flippers messages +#define SERVO_MOB_JA_FLIPPER_TYPE_MAX 4 + +typedef struct SERVO_MOB_JA_FLIPPER_SET +{ + moastFlipperType fType; + double minAngle; + double maxAngle; + double length; + double width; + PM_CARTESIAN location; + PM_RPY orientation; +}ServoMobJAFlipperSet; + +typedef struct SERVO_MOB_JA_FLIPPER_MSG +{ + moastFlipperType fType; + double flipperAngle; +}ServoMobJAFlipperMsg; + + +// SERVO_MOB_JA_CMD_XXX +class ServoMobJACmdInit:public RCS_CMD_MSG { +public: + ServoMobJACmdInit():RCS_CMD_MSG(SERVO_MOB_JA_CMD_INIT_TYPE, + sizeof(ServoMobJACmdInit)) {}; + void update(CMS *); +}; + +class ServoMobJACmdAbort:public RCS_CMD_MSG { +public: + ServoMobJACmdAbort():RCS_CMD_MSG(SERVO_MOB_JA_CMD_ABORT_TYPE, + sizeof(ServoMobJACmdAbort)) {}; + void update(CMS *); +}; + +class ServoMobJACmdHalt:public RCS_CMD_MSG { +public: + ServoMobJACmdHalt():RCS_CMD_MSG(SERVO_MOB_JA_CMD_HALT_TYPE, + sizeof(ServoMobJACmdHalt)) {}; + void update(CMS *); +}; + +class ServoMobJACmdShutdown:public RCS_CMD_MSG { +public: + ServoMobJACmdShutdown():RCS_CMD_MSG(SERVO_MOB_JA_CMD_SHUTDOWN_TYPE, + sizeof(ServoMobJACmdShutdown)) {}; + void update(CMS *); +}; + + +class ServoMobJACmdSkid:public RCS_CMD_MSG { +public: + ServoMobJACmdSkid():RCS_CMD_MSG(SERVO_MOB_JA_CMD_SKID_TYPE, + sizeof(ServoMobJACmdSkid)) {}; + void update(CMS *); + double wLeft; // left wheel speed, [rad/s] + double wRight; // right wheel speed, [rad/s] +}; + +class ServoMobJACmdFlipSkid:public RCS_CMD_MSG { +public: + ServoMobJACmdFlipSkid():RCS_CMD_MSG(SERVO_MOB_JA_CMD_FLIP_SKID_TYPE, + sizeof(ServoMobJACmdFlipSkid)) {}; + void update(CMS *); + double wLeft; // left wheel speed, [rad/s] + double wRight; // right wheel speed, [rad/s] + //! Cmds to control the angle of flippers on platform + //! fCmd_length == the number of flipper messages in array + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(ServoMobJAFlipperMsg, fCmd, SERVO_MOB_JA_FLIPPER_TYPE_MAX); +}; + +class ServoMobJACmdSubmarine:public RCS_CMD_MSG { +public: + ServoMobJACmdSubmarine():RCS_CMD_MSG(SERVO_MOB_JA_CMD_SUBMARINE_TYPE, + sizeof(ServoMobJACmdSubmarine)) {}; + void update(CMS *); + double propeller; + double rudder; + double sternPlane; +}; + + +class ServoMobJACmdAckerman:public RCS_CMD_MSG { +public: + ServoMobJACmdAckerman():RCS_CMD_MSG(SERVO_MOB_JA_CMD_ACKERMAN_TYPE, + sizeof(ServoMobJACmdAckerman)) {}; + void update(CMS *); + double velocity; // linear velocity [rads/s] + double steerAngle; // steering angle of front tire [rads] + double crabAngle; // steering angle of rear tire [rads] +}; + +class ServoMobJACmdOmni:public RCS_CMD_MSG { +public: + ServoMobJACmdOmni():RCS_CMD_MSG(SERVO_MOB_JA_CMD_OMNI_TYPE, + sizeof(ServoMobJACmdOmni)) {}; + void update(CMS *); + double vLinear; //linear velocity [rads/s] + double vLateral; //lateral velocity [rads/s] + double rot; //rotational velocity [rads/s] +}; + +class ServoMobJACmdRotaryWing:public RCS_CMD_MSG { +public: + ServoMobJACmdRotaryWing():RCS_CMD_MSG(SERVO_MOB_JA_CMD_ROTARY_WING_TYPE, + sizeof(ServoMobJACmdRotaryWing)) {}; + void update(CMS *); + double vLinear; //linear velocity + double vLateral; //lateral velocity + double vVertical; //Vertical Velocity + double vRotation; //Rotational Velocity +}; + +// SERVO_MOB_JA_STAT +class ServoMobJAStat:public RCS_STAT_MSG_V2 { +public: + ServoMobJAStat():RCS_STAT_MSG_V2(SERVO_MOB_JA_STAT_TYPE, sizeof(ServoMobJAStat)) {}; + ServoMobJAStat(int type, int size):RCS_STAT_MSG_V2(type, size) {}; + + void update(CMS *); + double time; + int error; // was in stat_msg_v2 + int heartbeat; //!< incremented once each cycle + //! vehicle battery voltage + float batteryVolt; + //! fuel level, range [0,1] 0 - empty, 1 - full + float fuelLevel; + //! headlight 0 - off, 1 - on + int headLights; +}; + +// SERVO_MOB_JA_STAT +class ServoMobJAStatGrdVeh:public ServoMobJAStat { +public: + ServoMobJAStatGrdVeh():ServoMobJAStat(SERVO_MOB_JA_STAT_GRD_VEH_TYPE, sizeof(ServoMobJAStatGrdVeh)) {}; + + void update(CMS *); + double steerAngle; + double crabAngle; + //! Reports the angle of flippers on platform + //! fCmd_length == the number of flipper messages in array + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(ServoMobJAFlipperMsg, fStat, SERVO_MOB_JA_FLIPPER_TYPE_MAX); +}; + + +// SERVO_MOB_JA_STAT +class ServoMobJAStatAirBot:public ServoMobJAStat { +public: + ServoMobJAStatAirBot():ServoMobJAStat(SERVO_MOB_JA_STAT_AIR_BOT_TYPE, sizeof(ServoMobJAStatAirBot)) {}; + + void update(CMS *); + double vRotation; //rotational velocity + double vLateral; //lateral velocity + double vLinear; //linear velocity + double vVertical; //vertical velocity +}; + + + +/*! + ServoMobJASet is the class that holds the quasi-static vehicle settings, + those that change infrequently and in response to vehicle configuration + messages. + */ +class ServoMobJASet : public RCS_STAT_MSG { +public: + + ServoMobJASet():RCS_STAT_MSG(SERVO_MOB_JA_SET_TYPE, sizeof(ServoMobJASet)) {}; + ServoMobJASet(int type, int size):RCS_STAT_MSG(type, size) {}; + + void update(CMS *); + double cycleTime; //!< cycle time, in seconds, of mobility servo + int debug; //!< debug level + /*! Name of world that vehicle is operating, yf real world then worldName = "live" + else name of the simulated world */ + // char worldName[MOAST_WORLD_NAME_LEN]; + + //! Name of the platform + char platformName[MOAST_PLATFORM_NAME_LEN]; + /*! length, width and height are the bounding box around the vehicle, + origin is at center. Units are [m]. */ + double length; + double width; + double height; + //! mass in [g] + double mass; + //! center of gravity wrt origin, in [m] + PM_CARTESIAN cg; + moastSteerType steerType; + moastRobotType botType; + + //! Number of effecters mounted on platform + // If effCount==0, servo echelon will not open the effecter nml channels + int effCount; + //! Number of sensors mounted on platform + int senCount; + //! Number of mission packages mounted on platform + // Indicates which mission package nml channels are valid + int misCount; +}; + + +class ServoMobJASetGrdVeh : public ServoMobJASet { +public: + ServoMobJASetGrdVeh():ServoMobJASet(SERVO_MOB_JA_SET_GRD_VEH_TYPE, sizeof(ServoMobJASetGrdVeh)) {}; + + void update(CMS *); + //! steering mechanism of platform + double maxWheelRot; + double maxTorque; + double wheelSeparation; + double wheelRadius; + double wheelBase; + double maxSteerAngle; + double maxCrabAngle; + double minTurningRadius; + //! Reports the presence of configuration of flippers on platform + //! fSet_length == the number of flipper messages in array + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(ServoMobJAFlipperSet, fSet, SERVO_MOB_JA_FLIPPER_TYPE_MAX); +}; + + +class ServoMobJASetAirBot : public ServoMobJASet { +public: + ServoMobJASetAirBot():ServoMobJASet(SERVO_MOB_JA_SET_AIR_BOT_TYPE, sizeof(ServoMobJASetAirBot)) {}; + + void update(CMS *); + //! steering mechanism of platform + double maxLatVel; // maximum linear velocity + double maxLinVel; // maximum lateral velocity + double maxRotVel; // maximum rotational velocity + double maxVertVel; // maximum vertical velocity +}; + +/*! + This settings message sets the cycle time for the servo mobility controller. +*/ +class ServoMobJACfgCycleTime : public RCS_CMD_MSG { +public: + ServoMobJACfgCycleTime():RCS_CMD_MSG + (SERVO_MOB_JA_CFG_CYCLE_TIME_TYPE, + sizeof(ServoMobJACfgCycleTime)) {}; + + void update(CMS *); + double cycleTime; +}; + +#define SERVO_MOB_JA_DEBUG_ALL 0xFFFFFFFF + +class ServoMobJACfgDebug:public RCS_CMD_MSG { +public: + ServoMobJACfgDebug():RCS_CMD_MSG + (SERVO_MOB_JA_CFG_DEBUG_TYPE, + sizeof(ServoMobJACfgDebug)) {}; + + void update(CMS *); + int debug; // debug mask +}; + +/*! + This command will cause the vehicle to jump is global coordinates + to the given value +*/ +class ServoMobJACfgTeleport : public RCS_CMD_MSG { +public: + ServoMobJACfgTeleport():RCS_CMD_MSG + (SERVO_MOB_JA_CFG_TELEPORT_TYPE, + sizeof(ServoMobJACfgTeleport)) {}; + + void update(CMS *); + //! Point in global coordinates to teleport to + PM_POSE goal; +}; + +extern int servoMobJA_format(NMLTYPE type, void *buf, CMS * cms); +extern const char * servoMobJA_symbol_lookup(long type); +extern const char * servoMobJA_enum_moastSteerType_symbol_lookup(long v); +extern const char * servoMobJA_enum_moastRobotType_symbol_lookup(long v); +extern const char *servoMobJA_enum_moastFlipperType_symbol_lookup(long v); + +#endif // SERVO_MOB_JA_HH + diff --git a/nmlmsgs/include/sickCmdSts.hh b/nmlmsgs/include/sickCmdSts.hh new file mode 100644 index 0000000..0424357 --- /dev/null +++ b/nmlmsgs/include/sickCmdSts.hh @@ -0,0 +1,95 @@ +/** + * @file sickCmdSts.hh + * + * + * @remark: + * + * @author: Tommy Chang + * + * + * @verbatim + * ,--------------------------------------------------------------------- + * | This software was developed at the National Institute of Standards + * | and Technology by employees of the Federal Government in the course + * | of their official duties. Pursuant to title 17 Section 105 of the + * | United States Code this software is not subject to copyright + * | protection and is in the public domain. NIST’s [intelligent + * | mobility] software is an experimental system. NIST assumes no + * | responsibility whatsoever for its use by other parties, and makes no + * | guarantees, expressed or implied, about its quality, reliability, or + * | any other characteristic. We would appreciate acknowledgement if the + * | software is used. This software can be redistributed and/or modified + * | freely provided that any derivative works bear some notice that they + * | are derived from it, and any modified versions bear some notice that + * | they have been modified. + * `--------------------------------------------------------------------- + * @endverbatim + * + * + * @par Created by Tommy Chang, 2006-06-12 + **/ + +#ifndef SICKCMDSTS_HH +#define SICKCMDSTS_HH +/*----------------------------------*\ + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" + +/*-----------------*\ + * Macro Constants * + \*---------------*/ + + + +/*-----------------*\ + * Data Structures * + \*---------------*/ +typedef enum { + SICK_STATUS_TYPE = SICKCMDSTS_BASE, + SICK_COMMAND_TYPE, +} SickCmdStsEnum; + +class SICK_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + SICK_STATUS(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + time_tracker tt; + float rpy [3]; // in radians + float xyz [3]; // in meters + + int scanNum; +}; + + +class SICK_COMMAND : public RCS_CMD_MSG +{ +public: + // Normal Constructor + SICK_COMMAND(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + float rpy [3]; // in radians + float xyz [3]; // in meters +}; + + +/*--------------------*\ + * Function Prototype * + \*------------------*/ +// Declare NML format function +extern int sickCmdStsFormat(NMLTYPE, void *, CMS *); + + + +#endif diff --git a/nmlmsgs/include/sickData.hh b/nmlmsgs/include/sickData.hh new file mode 100644 index 0000000..4a80617 --- /dev/null +++ b/nmlmsgs/include/sickData.hh @@ -0,0 +1,45 @@ +#ifndef SICKDATA_HH +#define SICKDATA_HH + +#include +#include "rcs.hh" +#include "nmlOffsets.hh" // SICKSAFETY_DATA_BASE +#include "timetracker.hh" + +#define SICK_DATA_TYPE (SICK_DATA_BASE) + +#define SICK_RP_MAX 402 + +#define SICK_DATA_ID "$Id: sickData.hh 894 2010-05-05 12:36:57Z shackle $" +#define SICK_DATA_REV "$Rev: 894 $" + +#ifdef LOG_DATA_FORMAT +static const char *SICK_DATA_HEADER_FILE=__FILE__; +#endif + +struct sick_range_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float, sick_rp, SICK_RP_MAX); +}; + +class SICK_DATA : public NMLmsg +{ +public: + SICK_DATA(); + void update(CMS *); + + double timeStamp; + double fov_deg; // field of view in degrees. + double start_angle_deg; // start angle in degrees. + + struct time_tracker tt; + struct sick_range_frame range_frame; +}; + + +int sickData_format(NMLTYPE type, void *buf, CMS *cms); + +#define SICK_DATA_ID "$Id: sickData.hh 894 2010-05-05 12:36:57Z shackle $" + + +#endif diff --git a/nmlmsgs/include/sickData_v3.hh b/nmlmsgs/include/sickData_v3.hh new file mode 100644 index 0000000..3455194 --- /dev/null +++ b/nmlmsgs/include/sickData_v3.hh @@ -0,0 +1,149 @@ +//=============================
    ============================== +/*! @file sickData.hh + - Description: + - What does this program or file do? + - Author(s): + - Tommy Chang + $Revision: 623 $ $Author: tchang $ $Date: 2006-07-05 13:00:02 -0400 (Wed, 05 Jul 2006) $ + @verbatim + ,----------------------------------------------------------------------+ + | * DISCLAIMER: | + | This software was developed at the National Institute of Standards | + | and Technology by employees of the Federal Government in the course | + | of their official duties. Pursuant to title 17 Section 105 of the | + | United States Code this software is not subject to copyright | + | protection and is in the public domain. NIST’s [intelligent | + | mobility] software is an experimental system. NIST assumes no | + | responsibility whatsoever for its use by other parties, and makes no | + | guarantees, expressed or implied, about its quality, reliability, or | + | any other characteristic. We would appreciate acknowledgement if the | + | software is used. This software can be redistributed and/or modified | + | freely provided that any derivative works bear some notice that they | + | are derived from it, and any modified versions bear some notice that | + | they have been modified. | + `----------------------------------------------------------------------+ + @endverbatim + @par CVS Log: + @ref sickData_hh "More..." + @par Created by Tommy Chang, 2006-03-20 */ +//==========================>End of Header Block<========================== + + +#ifndef SICKDATA_V3_HH +#define SICKDATA_V3_HH + +/*----------------------------------*\ + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include +#include "rcs.hh" +#include "navdata_v2.hh" +#include "nmlOffsets.hh" + +/*-----------------*\ + * Macro Constants * + \*---------------*/ +#ifndef SICK_RP_MAX_V3 +#define SICK_RP_MAX_V3 721 // 0.25 deg resolution, 180 deg +#endif + +#define SICK_DATA_V3_BASE SICKDATA_V3_BASE + +typedef enum { + SICK_DATA_V3_TYPE = SICK_DATA_V3_BASE, + SICK_DATA_WITH_NAV_V3_TYPE, + SICK_XYZ_DATA_V3_TYPE, +} SickDataNmlIdType; + + + +/*-----------------*\ + * Data Structures * + \*---------------*/ +class SICK_DATA_WITH_NAV_V3 : public NMLmsg +{ +public: + SICK_DATA_WITH_NAV_V3(); + void update(CMS *); + + NAV_DATA_V2 nav_data_v2; + + int numData; // same as length of dynamic array + long int scanNum; // scan number (id) + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float,sick_rp,SICK_RP_MAX_V3); // in [m] + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned char, intensities,SICK_RP_MAX_V3); // intensity has [0..7] + + void Print () + { + fprintf (stderr, "SICK in RANGE (with NAV)\n"); + fprintf (stderr, "tranRel (%f %f %f), relRpy (%f %f %f)\n", + nav_data_v2.tranRel.x, + nav_data_v2.tranRel.y, + nav_data_v2.tranRel.z, + nav_data_v2.relRpy.r, + nav_data_v2.relRpy.p, + nav_data_v2.relRpy.y); + + for (int i = 0; i < sick_rp_length; i++) + fprintf (stderr, "%d: (%f) [m]\n", i, sick_rp [i]); + fprintf (stderr, "---------------------------\n"); + } +}; + + + +struct +SICK_XYZ_V3_LIST +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(PM_CARTESIAN,xyz,SICK_RP_MAX_V3); +}; + + +class SICK_XYZ_DATA_V3 : public NMLmsg +{ +public: + SICK_XYZ_DATA_V3(); + void update(CMS *); + + /* PM_CARTESIAN xyz version : */ +// SICK_XYZ_V3_LIST veh; // in [m] + SICK_XYZ_V3_LIST local; // in [m] + SICK_XYZ_V3_LIST vehWithRP; // in [m], take account of roll, pitch but no yaw + SICK_XYZ_V3_LIST sensor; // Z is 0. in [m] + + /* nav data */ + NAV_DATA_V2 nav_data_v2; + + int numData; // number of data in scan + long int scanNum; // scan number (id) + + // intensity has [0..7] + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(unsigned char,intensities,SICK_RP_MAX_V3); + + void Print () + { + fprintf (stderr, "SICK in VEHICLE\n"); + for (int i = 0; i < vehWithRP.xyz_length; i++) + fprintf (stderr, "%d: (%f %f %f)\n", i, + vehWithRP.xyz[i].x, vehWithRP.xyz[i].y, vehWithRP.xyz[i].z); + fprintf (stderr, "---------------------------\n"); + + fprintf (stderr, "SICK in LOCAL\n"); + for (int i = 0; i < local.xyz_length; i++) + fprintf (stderr, "%d: (%f %f %f)\n", i, + local.xyz[i].x, local.xyz[i].y, local.xyz[i].z); + fprintf (stderr, "---------------------------\n"); + + }; +}; + + +/*--------------------*\ + * Function Prototype * + \*------------------*/ +int sickData_v3_format(NMLTYPE type, void *buf, CMS *cms); + +#define SICK_DATA_V3_ID "$Id: sickData_v3.hh 623 2008-11-10 16:01:29Z shackle $" + +#endif + diff --git a/nmlmsgs/include/sickLMS.hh b/nmlmsgs/include/sickLMS.hh new file mode 100644 index 0000000..267e4da --- /dev/null +++ b/nmlmsgs/include/sickLMS.hh @@ -0,0 +1,120 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +/***************************************************************************** + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*****************************************************************************/ +/*! + \file sickLMS.hh + \brief Define interface to SICK LMS + + + + \code CVS Status: + $Author: tchang $ + $Revision: 758 $ + $Date: 2006-10-17 15:51:50 -0400 (Tue, 17 Oct 2006) $ + \endcode + \par CVS Log: + \ref sickLMS_hh "More..." + + \author Tommy Chang + \date 2001-08-08 +*/ + + +#ifndef SICKLMS_HH +#define SICKLMS_HH + +#include +#include +#include + +//! SICK LMS module. +class SICKLMS { +public: + SICKLMS(bool noThread_flg=false, int useFIFO=0); + ~SICKLMS(); + void stop(); + + int start(char *, int=180, int=100, int=B500000, int=0); + float *getScan (long *scanNum=NULL, unsigned char *intensities_uchrA=NULL); + float *getNewestScan(); + int changeUnit(char, char=1); + int isRunning() { return running; } //!< Returns running status. + int isNewData() { return has_new_data; } //!< Test to see if data is new. + + void setFIFO () {useFIFO = 1;} + void unsetFIFO () {useFIFO = 0;} + int getFIFO () {return useFIFO;} + +private: + int useFIFO; + int sickfd; //! serial port file pointer + unsigned char configBuffer[50]; //! for configuration purpose only + unsigned char buffer[4500]; //! where data is stored, assume max 721 + //points *quat reso at 180 deg, in reality + //quat reso only work at 100 deg. + unsigned int dataLength; // number of samples + int targetBaud; + int test_speed; // test scan data rate + bool noThread_flg; // indicate no thread version + + unsigned int createCRC(unsigned char *CommData, unsigned int uLen); + void sendFrame(unsigned char, int); + int setSerial(int, int, unsigned char ); + + void getSerialData(int=0); + unsigned char* getDataBuffer(int); + int getResponse(); + int init (unsigned short &, int, int, int); + void configParam(unsigned char *); + void configParam2(unsigned char *); + void configParam3(unsigned char *); + void configParam4(unsigned char *); + + float *scan_points; + pthread_t data_monitor_id; + + + char unit_chr; // 0: [cm] (80 m max), 1: [mm] (8 m max), 2: [dm] (150 m max) + void getUnitAndIntensity(); + bool hasIntensity_flg; + + // thread variables needs to be static + static void *monitor_data(void *); + static pthread_mutex_t data_ready_mutex; + static sem_t semaphore; + static unsigned short telegram_len; + static int running; + static int has_new_data; + static int read_idx; + static int last_write_idx; + static int cur_write_idx; + static int pauseSICKdata; + + static int request_newestdata; + static int newestdata_idx; + static long scanNum_long; // sequential tag of each scan +}; + +#endif diff --git a/nmlmsgs/include/sickLoggern.hh b/nmlmsgs/include/sickLoggern.hh new file mode 100644 index 0000000..a79f3e8 --- /dev/null +++ b/nmlmsgs/include/sickLoggern.hh @@ -0,0 +1,121 @@ +/* +sickLoggern.hh + +This C++ header file defines the NML Messages used for command and status by SICKLOGGER_MODULE +Template Version 1.1 + +MODIFICATIONS: +Sun Nov 07 16:12:42 EST 2004 Modified by rcsdesign. +Sun Nov 07 16:11:48 EST 2004 Created by rcsdesign. + +*/ + +// Prevent Multiple Inclusion +#ifndef SICKLOGGERN_HH +#define SICKLOGGERN_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions + +// Predefined type files +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the integer type ids. +// RCS-Design-MERGE-DISABLE Edits to the following area will NOT be preserved by the RCS-Design tool. + +#define SICKLOGGER_STATUS_TYPE 25000 +#define SICKLOGGER_INIT_TYPE 25001 +#define SICKLOGGER_HALT_TYPE 25002 +#define SICKLOGGER_COLLECT_DATA_TYPE 25003 +#define SICKLOGGER_SET_DIR_TYPE 25004 +// RCS-Design-MERGE-ENABLE Edits after this line will be preserved by the RCS-Design tool. + + +// Define the NML Message Classes + +// Status Class +class SICKLOGGER_STATUS : public RCS_STAT_MSG +{ +public: + + // Normal Constructor + SICKLOGGER_STATUS(); + + // Constructor used by derived classes + SICKLOGGER_STATUS(NMLTYPE t, size_t s) : RCS_STAT_MSG(t,s) {}; + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + char roof_filename[256]; + char bumper_filename[256]; +}; + +// Command Classes + +class SICKLOGGER_INIT : public RCS_CMD_MSG +{ +public: + + //Constructor + SICKLOGGER_INIT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + +class SICKLOGGER_HALT : public RCS_CMD_MSG +{ +public: + + //Constructor + SICKLOGGER_HALT(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + + +class SICKLOGGER_COLLECT_DATA : public RCS_CMD_MSG +{ +public: + + //Constructor + SICKLOGGER_COLLECT_DATA(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + +}; + + +class SICKLOGGER_SET_DIR : public RCS_CMD_MSG +{ +public: + + //Constructor + SICKLOGGER_SET_DIR(); + + // CMS Update Function + void update(CMS *); + + // Place custom variables here. + char dir[80]; +}; + +// Declare NML format function +extern int sickLoggerFormat(NMLTYPE, void *, CMS *); + +#endif // SICKLOGGERN_HH diff --git a/nmlmsgs/include/sicksafetyCmd.hh b/nmlmsgs/include/sicksafetyCmd.hh new file mode 100644 index 0000000..8c05c68 --- /dev/null +++ b/nmlmsgs/include/sicksafetyCmd.hh @@ -0,0 +1,76 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ +// Author Tsai Hong +// Prevent Multiple Inclusion + +#ifndef SICKSAFETY_CMD_HH +#define SICKSAFETY_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //SICKSAFETY_BASE +#define SICKSAFETYCmd_name "sicksafetyCmd" + +// Define the integer type ids. +typedef enum { + SICKSAFETY_CMD_HALT_TYPE = SICKSAFETY_CMD_BASE, + SICKSAFETY_CMD_INIT_TYPE, + SICKSAFETY_CMD_SET_DISTANCEOFFSET_TYPE, +} SicksafetyCmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class SICKSAFETY_CMD_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + SICKSAFETY_CMD_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class SICKSAFETY_CMD_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + SICKSAFETY_CMD_INIT(); + // CMS Update Function + void update(CMS *); + +}; + + +class SICKSAFETY_CMD_SET_DistanceOffset : public RCS_CMD_MSG +{ +public: + //Constructor + SICKSAFETY_CMD_SET_DistanceOffset(): + RCS_CMD_MSG(SICKSAFETY_CMD_SET_DISTANCEOFFSET_TYPE, sizeof(SICKSAFETY_CMD_SET_DistanceOffset)){}; + // CMS Update Function + void update(CMS *); + double sicksafety_setDistanceOffset; +}; + + +//! Standard NML format routine +int sicksafetyCmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *sicksafetyCmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/sicksafetyData.hh b/nmlmsgs/include/sicksafetyData.hh new file mode 100644 index 0000000..ef17482 --- /dev/null +++ b/nmlmsgs/include/sicksafetyData.hh @@ -0,0 +1,81 @@ +/** + * @file sicksafetyData.hh + * + * @remark ~ NML data structure for SICK SAFETY 3000. + * + * @author ~ Tommy Chang + * + * @verbatim + * ,--------------------------------------------------------------------. + * . THIS software was developed at the National Institute of . + * . Standards and Technology by employees of the Federal Government . + * . in the course of their official duties. Pursuant to title 17 . + * . Section 105 of the United States Code this software is not . + * . subject to copyright protection and is in the public . + * . domain. NIST's [intelligent mobility] software is an experimental . + * . system. NIST assumes no responsibility whatsoever for its use by . + * . other parties, and makes no guarantees, expressed or implied, . + * . about its quality, reliability, or any other characteristic. We . + * . would appreciate acknowledgement if the software is used. This . + * . software can be redistributed and/or modified freely provided . + * . that any derivative works bear some notice that they are derived . + * . from it, and any modified versions bear some notice that they . + * . have been modified. . + * `------------------------------------------------------------------- + * @endverbatim + * + * @par Created by Tommy Chang, 2007-04-04 + **/ + + +#ifndef SICKSAFETYDATA_HH +#define SICKSAFETYDATA_HH +/*----------------------------------* + * Preprocessor and Include Headers * + \*--------------------------------*/ +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" // SICKSAFETY_DATA_BASE + + +/*-----------------* + * Macro Constants * + \*---------------*/ +#define SAFETY_SICK_S3000_RANGE_LEN 761 // 190 * 4 + 1 +#define SAFETY_SICK_S3000_XYZ_LEN (761 * 3) +#define SAFETY_SICK_S3000_DATA_TYPE SICKSAFETY_DATA_BASE + +#define SAFETY_SICK_S3000_DATA_ID "$Id: sicksafetyData.hh 740 2009-08-03 17:17:16Z shackle $" +#define SAFETY_SICK_S3000_DATA_REV "$Rev: 740 $" + +#ifdef LOG_DATA_FORMAT +static const char *SAFETY_SICK_S3000_DATA_HEADER_FILE=__FILE__; +#endif + +/*-----------------* + * Data Structures * + \*---------------*/ +class SAFETY_SICK_S3000_DATA : public NMLmsg +{ +public: + SAFETY_SICK_S3000_DATA(); + void update(CMS *); + double time; // time-stamp + int nSamples; // number of pulses / samples (i.e. 761) + + DECLARE_NML_DYNAMIC_LENGTH_ARRAY (float, + range_m, + SAFETY_SICK_S3000_RANGE_LEN); // in [m] + DECLARE_NML_DYNAMIC_LENGTH_ARRAY (float, + xyz_m, + SAFETY_SICK_S3000_XYZ_LEN); // in [m] +}; + + + +/*--------------------* + * Function Prototype * + \*------------------*/ +int sicksafetyData_format (NMLTYPE type, void *buf, CMS *cms); + + +#endif // SICKSAFETYDATA_HH diff --git a/nmlmsgs/include/sicksafetySts.hh b/nmlmsgs/include/sicksafetySts.hh new file mode 100644 index 0000000..121de17 --- /dev/null +++ b/nmlmsgs/include/sicksafetySts.hh @@ -0,0 +1,56 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef SICKSAFETY_STS_HH +#define SICKSAFETY_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //SICKSAFETY_BASE +#define SICKSAFETYSts_name "sicksafetySts" + +// Define the integer type ids. +typedef enum { + SICKSAFETY_STATUS_TYPE = SICKSAFETY_STS_BASE, +} SicksafetyStsIdEnum; + +// Define the NML Message Classes + +// Status Class +class SICKSAFETY_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + SICKSAFETY_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the sicksafety result is working or not.*/ + bool goodResult; + // flash ladar parameters + double sicksafety_setDistanceOffset; + time_tracker tt; +}; + +//! Standard NML format routine +int sicksafetySts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *sicksafetySts_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/simpleMatrix.hh b/nmlmsgs/include/simpleMatrix.hh new file mode 100644 index 0000000..a79596a --- /dev/null +++ b/nmlmsgs/include/simpleMatrix.hh @@ -0,0 +1,79 @@ +//********************************************************************* +/*! @file simpleMatrix.h + + Description: + What does this program or file do? + + Author(s): + Tommy Chang + + @verbatim + ************************************************************************ + * DISCLAIMER: * + * This software was produced by the National Institute of Standards * + * and Technology (NIST), an agency of the U.S. government, and by * + * statute is not subject to copyright in the United States. * + * Recipients of this software assume all responsibility associated * + * with its operation, modification, maintenance, and subsequent * + * redistribution. * + ************************************************************************ + @endverbatim + @code CVS Status: + $Revision: 344 $ by $Author: tchang $, + $Date: 2006-07-19 11:53:20 -0400 (Wed, 19 Jul 2006) $ + @endcode + @par CVS Log and software disclaimer: + @ref simpleMatrix_h "More..." + @author Tommy Chang + @date 2004-07-06 */ +//********************************************************************** + + +#ifndef SIMPLEMATRIX_H +#define SIMPLEMATRIX_H +/*----------------------------------*\ + * Preprocessor and Include Headers * + \*--------------------------------*/ + + +/*-----------------*\ + * Data Structures * + \*---------------*/ +class SimpleMatrixClass { + public: + SimpleMatrixClass (int, int, const char*); + SimpleMatrixClass (const SimpleMatrixClass&); /* copy constructor */ + ~SimpleMatrixClass (); + SimpleMatrixClass& operator = (const SimpleMatrixClass&); + + void set_elements (bool, int, int, int, const char*); + void set_elements (bool, int, int, int, ...); + void set_elements (const char*); + void reset_elements (); + double get_element (int, int); + void set_element (int, int, double); + + void set_vector (int, const SimpleMatrixClass&); + + void print (); +/* void mult (const SimpleMatrixClass&, const SimpleMatrixClass&); */ + const SimpleMatrixClass& mult (const SimpleMatrixClass&, + const SimpleMatrixClass&); + void add (const SimpleMatrixClass&, const SimpleMatrixClass&); + void sub (const SimpleMatrixClass&, const SimpleMatrixClass&); + void get_dimension (int*, int*); + + private: + int n_rows; + int n_cols; + double *matrix_elements; + char name[80]; /* hopefully enough */ +}; + +/*--------------------*\ + * Function Prototype * + \*------------------*/ +void createYPRMatrix_leftHand (SimpleMatrixClass &, float, float, float); +void createYPRMatrix_rightHand (SimpleMatrixClass &, float, float, float); + +#endif diff --git a/nmlmsgs/include/sonarData.hh b/nmlmsgs/include/sonarData.hh new file mode 100644 index 0000000..9973324 --- /dev/null +++ b/nmlmsgs/include/sonarData.hh @@ -0,0 +1,74 @@ +#ifndef SONARDATA_HH +#define SONARDATA_HH + +#include +#include "rcs.hh" +#include "nmlOffsets.hh" // SONARSAFETY_DATA_BASE +#include "timetracker.hh" + +#define SONAR_DATA_TYPE (SONAR_DATA_BASE) + +#define SONAR_RP_MAX 48 + + +struct sonar_range_frame +{ + double sonar_datatime; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(float, sonar_rp, SONAR_RP_MAX); +}; + +struct xyzrpy_struct +{ + double x,y,z,roll,pitch,yaw; +}; + +struct xyzrpy_struct_frame +{ + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(struct xyzrpy_struct, pose, SONAR_RP_MAX); +}; + +struct position_2d +{ + double datatime; + + /** Robot geometry in robot cs: pose gives the position2d and + orientation, size gives the extent. These values are filled in + by playerc_position2d_get_geom(). */ + double pose[3]; + double size[2]; + + /** Odometric pose (m, m, rad). */ + double px, py, pa; + + /** Odometric velocity (m/s, m/s, rad/s). */ + double vx, vy, va; + + /** Stall flag [0, 1]. */ + int stall; +}; + +class SONAR_DATA : public NMLmsg +{ +public: + SONAR_DATA(); + void update(CMS *); + + double timeStamp; + double fov_deg; // field of view in degrees. + double start_angle_deg; // start angle in degrees. + + struct time_tracker tt; + struct sonar_range_frame range_frame; + struct xyzrpy_struct_frame xyz_frame; + struct position_2d pos2d; +}; + + +int sonarData_format(NMLTYPE type, void *buf, CMS *cms); + +#define SONAR_DATA_ID "$Id: sonarData.hh 623 2008-11-10 16:01:29Z shackle $" +#define SONAR_DATA_REV "$Rev: 623 $" + +static const char *SONAR_DATA_HEADER_FILE=__FILE__; + +#endif diff --git a/nmlmsgs/include/sr3000Cmd.hh b/nmlmsgs/include/sr3000Cmd.hh new file mode 100644 index 0000000..5373724 --- /dev/null +++ b/nmlmsgs/include/sr3000Cmd.hh @@ -0,0 +1,149 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef SR3000_CMD_HH +#define SR3000_CMD_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //SR3000_BASE +#include "definesSR.h" + +#define DEFINES_SR_H + +#define SR3000Cmd_name "sr3000Cmd" + +// Define the integer type ids. +typedef enum { + SR3000_CMD_HALT_TYPE = SR3000_CMD_BASE, + SR3000_CMD_INIT_TYPE, + SR3000_CMD_SET_DISTANCE_OFFSET_TYPE, + SR3000_CMD_SET_AMPLITUDE_THRESHOLD_TYPE, + SR3000_CMD_SET_SATURATION_THRESHOLD_TYPE, + SR3000_CMD_SET_INTEGRATION_TIME_TYPE, + SR3000_CMD_SET_MODULATION_FREQUENCY_TYPE, + SR3000_CMD_SET_ACQUIRE_MODE_TYPE, +} Sr3000CmdIdEnum; + +// Define the NML Message Classes + +// Command Class: Halt +class SR3000_CMD_HALT : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_HALT(); + // CMS Update Function + void update(CMS *); + // Place custom variables here. +}; + + +// Command Class: Init +class SR3000_CMD_INIT : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_INIT(); + // CMS Update Function + void update(CMS *); + +}; + +// Command Class: Config + +class SR3000_CMD_SET_INTEGRATION_TIME : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_INTEGRATION_TIME(); + + // CMS Update Function + void update(CMS *); + double sr3000_integrationTime; +}; + +class SR3000_CMD_SET_MODULATION_FREQUENCY : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_MODULATION_FREQUENCY(); + + // CMS Update Function + void update(CMS *); + enum ModulationFrq sr3000_modulationFrequency; +}; + + +class SR3000_CMD_SET_AMPLITUDE_THRESHOLD : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_AMPLITUDE_THRESHOLD(); + + // CMS Update Function + void update(CMS *); + double sr3000_amplitudeThreshold; +}; + + +class SR3000_CMD_SET_SATURATION_THRESHOLD : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_SATURATION_THRESHOLD(); + + // CMS Update Function + void update(CMS *); + double sr3000_saturationThreshold; +}; + +class SR3000_CMD_SET_DISTANCE_OFFSET : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_DISTANCE_OFFSET(); + + // CMS Update Function + void update(CMS *); + double sr3000_distanceOffset; +}; + + +class SR3000_CMD_SET_ACQUIRE_MODE : public RCS_CMD_MSG +{ +public: + //Constructor + SR3000_CMD_SET_ACQUIRE_MODE(); + + // CMS Update Function + void update(CMS *); + + // acquire_mode should be one of 3 possible options bitwise OR'd together + // 0x1 fix pattern correction, 0x2 led non lin, 0x4 3 by 3 median filter + // See SR_Acquire() description. + int acquire_mode; +}; + + +//! Standard NML format routine +int sr3000Cmd_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *sr3000Cmd_symbol_lookup(long type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/include/sr3000Sts.hh b/nmlmsgs/include/sr3000Sts.hh new file mode 100644 index 0000000..38cf61e --- /dev/null +++ b/nmlmsgs/include/sr3000Sts.hh @@ -0,0 +1,70 @@ +/* +This software was developed at the National Institute of Standards and +Technology by employees of the Federal Government in the course of their +official duties. Pursuant to title 17 Section 105 of the United States +Code this software is not subject to copyright protection and is in the +public domain. NIST RCS intelligent mobility software is an experimental +system. NIST assumes no responsibility whatsoever for its use by other +parties, and makes no guarantees, expressed or implied, about its +quality, reliability, or any other characteristic. We would appreciate +acknowledgement if the software is used. This software can be +redistributed and/or modified freely provided that any derivative works +bear some notice that they are derived from it, and any modified +versions bear some notice that they have been modified. +*/ + +// Author Tsai Hong + +// Prevent Multiple Inclusion +#ifndef SR3000_STS_HH +#define SR3000_STS_HH + +// Include Files +#include "rcs.hh" // Common RCS definitions +#include "nmlOffsets.hh" //SR3000_BASE +#include "definesSR.h" +#define DEFINES_SR_H + + +#define SR3000Sts_name "sr3000Sts" + +// Define the integer type ids. +typedef enum { + SR3000_STATUS_TYPE = SR3000_STS_BASE, +} Sr3000StsIdEnum; + +// Define the NML Message Classes + +// Status Class +class SR3000_STATUS : public RCS_STAT_MSG +{ +public: + // Normal Constructor + SR3000_STATUS(); + + // CMS Update Function + void update(CMS *); + + /* determine whether the sr3000 result is working or not.*/ + bool goodResult; + // flash ladar parameters + double sr3000_integrationTime; + double sr3000_amplitudeThreshold; + double sr3000_saturationThreshold; + double sr3000_distanceOffset; + enum ModulationFrq sr3000_modulationFrequency; + + // acquire_mode should be one of 3 possible options bitwise OR'd together + // 0x1 fix pattern correction, 0x2 led non lin, 0x4 3 by 3 median filter + // See SR_Acquire() description. + int acquire_mode; + + time_tracker tt; +}; + +//! Standard NML format routine +int sr3000Sts_format(NMLTYPE type, void *buf, CMS *cms); +//! standard NML type lookup routine +const char *sr3000Sts_symbol_lookup(NMLTYPE type); + +#endif // MYNAM_HH diff --git a/nmlmsgs/lib/Makefile b/nmlmsgs/lib/Makefile new file mode 100644 index 0000000..7ebe223 --- /dev/null +++ b/nmlmsgs/lib/Makefile @@ -0,0 +1,6 @@ + + +all clean: + $(MAKE) -C .. $@ + +.PHONY: all clean diff --git a/nmlmsgs/lib/ccrada_nml.jar b/nmlmsgs/lib/ccrada_nml.jar new file mode 100644 index 0000000..1857d9d Binary files /dev/null and b/nmlmsgs/lib/ccrada_nml.jar differ diff --git a/nmlmsgs/src/Makefile b/nmlmsgs/src/Makefile new file mode 100644 index 0000000..7ebe223 --- /dev/null +++ b/nmlmsgs/src/Makefile @@ -0,0 +1,6 @@ + + +all clean: + $(MAKE) -C .. $@ + +.PHONY: all clean diff --git a/nmlmsgs/svr/Makefile b/nmlmsgs/svr/Makefile new file mode 100644 index 0000000..e7429e6 --- /dev/null +++ b/nmlmsgs/svr/Makefile @@ -0,0 +1,26 @@ + +RCSLIB_DIR ?= $(shell cd ../../.. ; pwd) +$(info RCSLIB_DIR=$(RCSLIB_DIR)) + +CXXFLAGS += -I$(RCSLIB_DIR)/include -I../include + +all : ../bin/nmlmsgs_svr + + +../lib/libnmlmsgs.so : + $(MAKE) -C .. lib/libnmlmsgs.so + + +../bin/nmlmsgs_svr : nmlmsgs_svr.o ../lib/libnmlmsgs.so + $(CXX) -L $(RCSLIB_DIR)/lib -lrcs -L ../lib -lnmlmsgs $(LDFLAGS) $< -o $@ + + +clean: + -\rm -f nmlmsgs_svr.o ../bin/nmlmsgs_svr + +.PHONY: all clean + + + + + diff --git a/nmlmsgs/svr/nmlmsgs_svr.cc b/nmlmsgs/svr/nmlmsgs_svr.cc new file mode 100644 index 0000000..21645f3 --- /dev/null +++ b/nmlmsgs/svr/nmlmsgs_svr.cc @@ -0,0 +1,386 @@ +/* +# ,--------------------------------------------------------------------- +# | DISCLAIMER +# |--------------------------------------------------------------------- +# | This software was developed at the National Institute of Standards +# | and Technology by employees of the Federal Government in the course +# | of their official duties. Pursuant to title 17 Section 105 of the +# | United States Code this software is not subject to copyright +# | protection and is in the public domain. NIST's [intelligent +# | mobility] software is anexperimental system. NIST assumes no +# | responsibility whatsoever for its use by other parties, and makes no +# | guarantees, expressed or implied, about its quality, reliability, or +# | any other characteristic. We would appreciate acknowledgement if the +# | software is used. This software can be redistributed and/or modified +# | freely provided that any derivative works bear some notice that they +# | are derived from it, and any modified versions bear some notice that +# | they have been modified. +# `--------------------------------------------------------------------- +*/ + +#include "rcs.hh" + +#include "log_data_format.hh" + +//#include "muChameleonData.hh" +#include "labjackData.hh" +#include "LadarData.hh" +#include "LadarCmd.hh" +#include "logRecorderCmd.hh" +#include "logRecorderSts.hh" + +#ifdef HAVE_MOAST +#include "moastLogRecordSuperCmd.hh" +#include "moastLogRecordSuperSts.hh" +#include "amMobJA.hh" +#include "primMobJA.hh" +#include "servoMobJA.hh" +#include "primDebug.hh" +#include "primSP.hh" +#include "sensorData.hh" +#include "navDataExt.hh" +#include "atrvTune.hh" +#include "nav200Dbg.hh" +#endif + +#include "logPlaybackCmd.hh" +#include "logPlaybackSts.hh" +#include "sr3000Cmd.hh" +#include "sr3000Sts.hh" +#include "PMDCmd.hh" +#include "PMDSts.hh" +#include "CanestaCmd.hh" +#include "CanestaSts.hh" +#include "LadarPatches.hh" +// #include "sensorData.hh" + +#include "navdata_v2.hh" +//#include "sickData_v3.hh" +#include "sickData.hh" +#include "sonarData.hh" +#include "playerPosData.hh" +#include "PointCloud.hh" +#include "range3DMsg.hh" + +#include "fwCameraLog_v2.hh" +#include "fwCameraData_v2.hh" + +#include "sicksafetyData.hh" +#include "SkyTrax_TCPMsg.hh" + +#include +#include + +static bool debug=false; + +#include +#include +#include +#include + +const char *THIS_PROCESS_NAME="ccrada_nml_svr"; + +char *CONFIG_NML=0; + +int ignored_count=0; +int err_count=0; +int ok_count = 0; + +static void inline +OPEN_STAT_CHANNEL(NML_FORMAT_PTR _format_function_ptr, + const char *buffer_name) +{ + if(debug) printf("Opening RCS_STAT_CHANNEL %s.\n", buffer_name); + RCS_STAT_CHANNEL *statChan = + new RCS_STAT_CHANNEL(_format_function_ptr,buffer_name,THIS_PROCESS_NAME,CONFIG_NML); + if(statChan && + (statChan->error_type == NML_IGNORED_REMOTE || + statChan->error_type == NML_IGNORED_NO_BUFLINE )) + { + delete statChan; + statChan=0; + if(debug) printf("%s ignored.\n",buffer_name); + ignored_count++; + } + else if(!statChan || !statChan->valid()) + { + delete statChan; + statChan=0; + if(debug) printf("%s failed.\n",buffer_name); + err_count++; + } + else + { + if(debug) printf("%s ok.\n",buffer_name); + ok_count++; + } +} + +static void inline +OPEN_CMD_CHANNEL(NML_FORMAT_PTR _format_function_ptr, + const char *buffer_name) +{ + if(debug) printf("Opening RCS_CMD_CHANNEL %s.\n", buffer_name); + RCS_CMD_CHANNEL *cmdChan = + new RCS_CMD_CHANNEL(_format_function_ptr,buffer_name,THIS_PROCESS_NAME,CONFIG_NML); + if(cmdChan && + (cmdChan->error_type == NML_IGNORED_REMOTE || + cmdChan->error_type == NML_IGNORED_NO_BUFLINE)) + { + delete cmdChan; + cmdChan=0; + if(debug) printf("%s ignored.\n",buffer_name); + ignored_count++; + } + else if(!cmdChan || !cmdChan->valid()) + { + delete cmdChan; + cmdChan=0; + if(debug) printf("%s failed.\n",buffer_name); + err_count++; + } + else + { + if(debug) printf("%s ok.\n",buffer_name); + ok_count++; + } +} + + +static void inline +OPEN_NML(NML_FORMAT_PTR _format_function_ptr, + const char *buffer_name) +{ + if(debug) printf("Opening NML %s.\n", buffer_name); + NML *nmlChan = + new NML(_format_function_ptr,buffer_name,THIS_PROCESS_NAME,CONFIG_NML); + if(nmlChan && + ( nmlChan->error_type == NML_IGNORED_REMOTE || + nmlChan->error_type == NML_IGNORED_NO_BUFLINE)) + { + delete nmlChan; + nmlChan=0; + if(debug) printf("%s ignored.\n",buffer_name); + ignored_count++; + } + else if(!nmlChan || !nmlChan->valid()) + { + delete nmlChan; + nmlChan=0; + if(debug) printf("%s failed.\n",buffer_name); + err_count++; + } + else + { + if(debug) printf("%s ok.\n",buffer_name); + ok_count++; + } +} + +static const char * const NML_SVR_ID="$Id:$"; +const char *RUNNING_FILE="ccrada_nml_svr.running"; + +static const char **_argv=0; +static int _argc=0; + +static void +touch_running_file() +{ + char *RUNNING_FILE_ENV=getenv("RUNNING_FILE"); + if(RUNNING_FILE_ENV) + { + RUNNING_FILE=RUNNING_FILE_ENV; + } + FILE *f = fopen(RUNNING_FILE,"w"); + if(!f) + { + fprintf(stderr,"Can't open %s -- %s \n", + RUNNING_FILE,strerror(errno)); + return; + } + else + { + if(_argv && _argv[0]) { + fprintf(f,"prog=\t%s\n", _argv[0]); + fprintf(f,"cmd_line=\t%s", _argv[0]); + for(int i=1; i < _argc; i++) + { + fprintf(f," %s", _argv[i]); + } + fprintf(f,"\n"); + fprintf(f,"%s compiled from %s at %s on %s with id %s starting ...\n", + _argv[0],__FILE__, __DATE__,__TIME__, NML_SVR_ID); + } + fprintf(f,"\n%d ignored, %d failed, %d ok\n", + ignored_count, err_count, ok_count); + fflush(f); + fclose(f); + } +} + +struct named_format_struct +{ + const char *name; + NML_FORMAT_PTR _format_function_ptr; +}; + +static struct named_format_struct format_array[] = + { + { "LadarData", LadarData_format }, + { "LadarCmd", LadarCmd_format }, + { "labjackData", labjackData_format }, + // { "sensorData", sensorData_format }, + { "fwCameraData", fwCameraData_format }, + { "fwCameraLog_v2", fwCameraLog_v2_format }, + { "navdata_v2", navdata_v2_format }, + { "sickData", sickData_format }, + { "playerPosData", playerPosData_format }, + { "sonarData", sonarData_format }, + { "logRecorderCmd", logRecorderCmd_format }, + { "logRecorderSts", logRecorderSts_format }, + { "logPlaybackCmd", logPlaybackCmd_format }, + { "logPlaybackSts", logPlaybackSts_format }, + { "PointCloud", PointCloud_format }, + { "range3DMsg", range3DMsg_format }, + { "sensorData", sensorData_format }, + { "log_data", log_data_format }, + }; + +static const size_t format_array_len = + sizeof(format_array)/sizeof(format_array[0]); + +static void printhelp() +{ + fprintf(stderr,"\n"); + fprintf(stderr,"ccrada_nml_svr help:\n"); + fprintf(stderr,"options: \n"); + fprintf(stderr,"\t--help\tPrint this help.\n"); + fprintf(stderr,"\t--stat\tUse RCS_STAT_CHANNEL() for subsequent buffers.\n"); + fprintf(stderr,"\t--cmd\tUse RCS_CMD_CHANNEL() for subsequent buffers.\n"); + fprintf(stderr,"\t--generic\tUse NML() rather than RCS_CMD_CHANNEL or RCS_STAT_CHANNEL for folllowing buffers.\n"); + fprintf(stderr,"\t--nmlproc \tSet the process name for subsequent buffers.\n"); + fprintf(stderr,"\t\tDefaults to \"ccrada_nml_svr\"\n"); + fprintf(stderr,"\t--running_file \tSet the name of a file that is created so scripts can know the server is up and running.\n"); + fprintf(stderr,"\t\tDefaults to \"ccrada_nml_svr.running\"\n"); + + fprintf(stderr,"\t--format \tSet the format function for subsequent buffers\n"); + fprintf(stderr,"\tValid formats include:\n"); + for(int j = 0; j < format_array_len; j++) { + fprintf(stderr,"\t\t%s\n",format_array[j].name); + }; + fprintf(stderr,"\n"); + fprintf(stderr,"The environment variable CONFIG_NML\n"); + fprintf(stderr,"should be set to the name of the configuration file or server to use\n"); + fprintf(stderr,"\n"); + fprintf(stderr,"To see details as it starts up:\n"); + fprintf(stderr,"setenv DEBUG 1\n"); + fprintf(stderr,"\n"); + + // fprinff(stderr,"Example:\n"); + // fprinff(stderr,"./ccrada_nml_svr --format LadarData kinect\n"); +} + +int +main(int argc, const char** argv) +{ + _argv = argv; + _argc = argc; + + CONFIG_NML = getenv("CONFIG_NML"); + if (!CONFIG_NML) + { + fprintf(stderr,"%s: Please set the CONFIG_NML environment variable.\n", + argv[0]); + printhelp(); + exit(1); + } + + printf("%s compiled from %s at %s on %s with id %s starting ...\n", + argv[0],__FILE__, __DATE__,__TIME__, NML_SVR_ID); + + debug = (getenv("DEBUG") != 0); + + nmlSetToServer(); + nmlSetIgnoreRemote(); + nmlSetIgnoreNoBufline(); + load_nml_config_file(CONFIG_NML); + + enum { + cmd,stat,generic + } buftype = generic; + + NML_FORMAT_PTR _format_function_ptr = LadarData_format; + + for(int i = 0; i < argc; i++) { + if(!strcmp(argv[i],"--help")) { + printhelp(); + } else if(!strcmp(argv[i],"--cmd")) { + buftype = cmd; + } + else if(!strcmp(argv[i],"--stat")) { + buftype = stat; + } + else if(!strcmp(argv[i],"--generic")) { + buftype = generic; + } + else if(!strcmp(argv[i],"--nmlproc")) { + i++; + THIS_PROCESS_NAME = argv[i]; + } + else if(!strcmp(argv[i],"--running_file")) { + i++; + RUNNING_FILE= argv[i]; + } + else if(!strcmp(argv[i],"--format")) { + i++; + bool format_found = false; + for(int j = 0; j < format_array_len; j++) { + if(!strcmp(argv[i],format_array[j].name)) { + _format_function_ptr = format_array[j]._format_function_ptr; + format_found = true; + break; + } + } + if(!format_found) { + fprintf(stderr,"%s: Unrecognized format %s\n", + argv[0],argv[i]); + printhelp(); + exit(1); + } + } else if(argv[i][0] == '-') { + fprintf(stderr,"%s: Unrecognized argument %s\n", + argv[0],argv[i]); + printhelp(); + exit(1); + } + switch(buftype) { + case generic: + OPEN_NML(_format_function_ptr,argv[i]); + break; + + case cmd: + OPEN_CMD_CHANNEL(_format_function_ptr,argv[i]); + break; + + case stat: + OPEN_STAT_CHANNEL(_format_function_ptr,argv[i]); + break; + } + } + + if(ok_count > 0) + { + printf("%s compiled from file %s on %s at %s with id %s running nml servers . . .\n", + argv[0],__FILE__,__DATE__, __TIME__,NML_SVR_ID); + + run_nml_servers_with_func(touch_running_file); + } + else + { + printf("%s compiled from file %s on %s at %s with id %s exiting because no buffers are ok.\n", + argv[0],__FILE__, __DATE__, __TIME__,NML_SVR_ID); + } + + nml_cleanup(); + return 0; +} diff --git a/rcs_config.h.in b/rcs_config.h.in new file mode 100644 index 0000000..c96343e --- /dev/null +++ b/rcs_config.h.in @@ -0,0 +1,781 @@ +/* rcs_config.h.in. Generated from configure.ac by autoheader. */ + +/* What platform is this built for? (string for printing) */ +#undef BUILD_PLATFORM + +/* What platform is this built for? */ +#undef BUILD_PLATFORM_FOR_TEST + +/* Define to 1 if long long update support in rcslib is enabled. */ +#undef ENABLE_LONG_LONG_UP + +/* Define to 1 if packed encoding support in rcslib is enabled. */ +#undef ENABLE_PACKED_UP + +/* Define to 1 if nmlqr support in rcslib is enabled. */ +#undef ENABLE_RCS_CMS_MRPQ + +/* Define to 1 if crypt2 support in rcslib is enabled. */ +#undef ENABLE_RCS_CRYPT2 + +/* Define to 1 if pure C binding support in rcslib is enabled. */ +#undef ENABLE_RCS_C_BINDING + +/* Define to 1 if diag support in rcslib is enabled. */ +#undef ENABLE_RCS_DIAG + +/* Define to 1 if disp support in rcslib is enabled. */ +#undef ENABLE_RCS_DISP + +/* Define to 1 if filemem is enabled. */ +#undef ENABLE_RCS_FILEMEM + +/* Define to 1 if gdrs_im support in rcslib is enabled. */ +#undef ENABLE_RCS_GDRS_IM + +/* Define to 1 if globmem is enabled. */ +#undef ENABLE_RCS_GLOBMEM + +/* Define to 1 if http support in rcslib is enabled. */ +#undef ENABLE_RCS_HTTP + +/* Define to 1 if inifile support in rcslib is enabled. */ +#undef ENABLE_RCS_INIFILE + +/* Define to 1 if locmem support in rcslib is enabled. */ +#undef ENABLE_RCS_LOCMEM + +/* Define to 1 if nmlcfgsvr is enabled. */ +#undef ENABLE_RCS_NMLCFGSVR + +/* Define to 1 if nmlmod is enabled. */ +#undef ENABLE_RCS_NMLMOD + +/* Define to 1 if nmlqr support in rcslib is enabled. */ +#undef ENABLE_RCS_NMLQR + +/* Define to 1 if sokintrf support in rcslib is enabled. */ +#undef ENABLE_RCS_OE_INTRF + +/* Define to 1 if packedl64 encoding support in rcslib is enabled. */ +#undef ENABLE_RCS_PACKEDL64 + +/* Define to 1 if phantommem support in rcslib is enabled. */ +#undef ENABLE_RCS_PHANTOMMEM + +/* Define to 1 if rcs_prnt support in rcslib is enabled. */ +#undef ENABLE_RCS_PRNT + +/* Define to 1 if server support in rcslib is enabled. */ +#undef ENABLE_RCS_SERVER + +/* Define to 1 if shmem is enabled. */ +#undef ENABLE_RCS_SHMEM + +/* Define to 1 if sokintrf support in rcslib is enabled. */ +#undef ENABLE_RCS_SOKINTRF + +/* Define to 1 if stcp support in rcslib is enabled. */ +#undef ENABLE_RCS_STCP + +/* Define to 1 if tcp support in rcslib is enabled. */ +#undef ENABLE_RCS_TCP + +/* Define to 1 if tty support in rcslib is enabled. */ +#undef ENABLE_RCS_TTY + +/* Define to 1 if udp support in rcslib is enabled. */ +#undef ENABLE_RCS_UDP + +/* Define to 1 if xdr support in rcslib is enabled. */ +#undef ENABLE_RCS_XDR + +/* Define to 1 if xml support in rcslib is enabled. */ +#undef ENABLE_RCS_XML + +/* Define to 1 if you have the `abort' function. */ +#undef HAVE_ABORT + +/* if we should use the adafinal funtion */ +#undef HAVE_ADAFINAL + +/* if we should use the adainit funtion */ +#undef HAVE_ADAINIT + +/* Define to 1 if you have */ +#undef HAVE_ARPA_INET_H + +/* Define to 1 if you have the caddr_t type. */ +#undef HAVE_CADDR_T_TYPE + +/* Define to 1 if you have the `clock_gettime' function. */ +#undef HAVE_CLOCK_GETTIME + +/* Define to 1 if you have the CloseHandle function. */ +#undef HAVE_CLOSEHANDLE + +/* Define to 1 if you have the CreateFileMapping function. */ +#undef HAVE_CREATEFILEMAPPING + +/* Define to 1 if you have the CreateMutex function. */ +#undef HAVE_CREATEMUTEX + +/* Define to 1 if you have the header file. */ +#undef HAVE_CTYPE_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DOS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_ERRNO_H + +/* Define to 1 if you have < fcntl.h> */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have < filio.h> */ +#undef HAVE_FILIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_FLOAT_H + +/* Define to 1 if you have the `fork' function. */ +#undef HAVE_FORK + +/* Define to 1 if you have the `fstat' function. */ +#undef HAVE_FSTAT + +/* Define to 1 if you have the `gai_strerror' function. */ +#undef HAVE_GAI_STRERROR + +/* Define to 1 if you have the `getaddrinfo' function. */ +#undef HAVE_GETADDRINFO + +/* Define to 1 if you have the `getcwd' function. */ +#undef HAVE_GETCWD + +/* Define to 1 if you have the `getenv' function. */ +#undef HAVE_GETENV + +/* Define to 1 if you have the `gethostbyaddr' function. */ +#undef HAVE_GETHOSTBYADDR + +/* Define to 1 if you have the `gethostbyname' function. */ +#undef HAVE_GETHOSTBYNAME + +/* Define to 1 if you have the `gethostbyname_r' function. */ +#undef HAVE_GETHOSTBYNAME_R + +/* Define to 1 if you have the `gethostname' function. */ +#undef HAVE_GETHOSTNAME + +/* Define to 1 if you have the `getnameinfo' function. */ +#undef HAVE_GETNAMEINFO + +/* Define to 1 if you have the `getsockopt' function. */ +#undef HAVE_GETSOCKOPT + +/* Define to 1 if you have the GetTickCount function. */ +#undef HAVE_GETTICKCOUNT + +/* Define to 1 if you have the `gettimeofday' function. */ +#undef HAVE_GETTIMEOFDAY + +/* Define to 1 if you have the `getwd' function. */ +#undef HAVE_GETWD + +/* Define to 1 if you have the GetCurrentProcessId function */ +#undef HAVE_GET_CURRENT_PROCESS_ID + +/* Define to 1 if you have the GetCurrentThreadId function */ +#undef HAVE_GET_CURRENT_THREAD_ID + +/* Define to 1 if you have the `inet_aton' function. */ +#undef HAVE_INET_ATON + +/* Define to 1 if you have the `inet_ntoa' function. */ +#undef HAVE_INET_NTOA + +/* Define to 1 if you have the `inet_ntop' function. */ +#undef HAVE_INET_NTOP + +/* Define to 1 if you have the `inet_pton' function. */ +#undef HAVE_INET_PTON + +/* Define to 1 if you have the InitializeSecurityDescriptor function. */ +#undef HAVE_INITIALIZESECURITYDESCRIPTOR + +/* Define to 1 if you have */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have < ioctl.h> */ +#undef HAVE_IOCTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_IOSTREAM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_IO_H + +/* Define to 1 if you have */ +#undef HAVE_IPC_H + +/* Define to 1 if you have the key_t type. */ +#undef HAVE_KEY_T_TYPE + +/* Define to 1 if you have the `kill' function. */ +#undef HAVE_KILL + +/* Define to 1 if you have the `gccprefix' library (-lgccprefix). */ +#undef HAVE_LIBGCCPREFIX + +/* Define to 1 if you have the `gmem' library (-lgmem). */ +#undef HAVE_LIBGMEM + +/* Define to 1 if you have the `gnarl' library (-lgnarl). */ +#undef HAVE_LIBGNARL + +/* Define to 1 if you have the `gnat' library (-lgnat). */ +#undef HAVE_LIBGNAT + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +#undef HAVE_LIBNSL + +/* Define to 1 if you have the `oe_2_0_Ada95' library (-loe_2_0_Ada95). */ +#undef HAVE_LIBOE_2_0_ADA95 + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#undef HAVE_LIBPTHREAD + +/* Define to 1 if you have the `rt' library (-lrt). */ +#undef HAVE_LIBRT + +/* Define to 1 if you have the `utilities_Ada95' library (-lutilities_Ada95). + */ +#undef HAVE_LIBUTILITIES_ADA95 + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have < linux/sockios.h> */ +#undef HAVE_LINUX_SOCKIOS_H + +/* Define to 1 if you have the `localtime' function. */ +#undef HAVE_LOCALTIME + +/* Define to 1 if you have the MapViewOfFile function. */ +#undef HAVE_MAPVEIWOFFILE + +/* Define to 1 if you have the header file. */ +#undef HAVE_MATH_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* define if the compiler implements namespaces */ +#undef HAVE_NAMESPACES + +/* Define to 1 if you have the `nanosleep' function. */ +#undef HAVE_NANOSLEEP + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have < netdb.h> */ +#undef HAVE_NETDB_H + +/* Define to 1 if you have < netinet/in.h> */ +#undef HAVE_NETINET_IN_H + +/* Define to 1 if you have */ +#undef HAVE_NETINET_TCP_H + +/* Define to 1 if you have the header file */ +#undef HAVE_NETINET_TCP_H_2 + +/* Define to 1 if you have < net/if.h> */ +#undef HAVE_NET_IF_H + +/* Define to 1 if you have < net/uio.h> */ +#undef HAVE_NET_UIO_H + +/* if we can include oe.h */ +#undef HAVE_OE_H + +/* if we can include oe.hh */ +#undef HAVE_OE_HH + +/* Define to 1 if you have the `opendir' function. */ +#undef HAVE_OPENDIR + +/* Define to 1 if you have the OpenMutex function. */ +#undef HAVE_OPENMUTEX + +/* Define to 1 if you have the process.h file */ +#undef HAVE_PROCESS_H + +/* Define to 1 if you have the pthread.h file */ +#undef HAVE_PTHREAD_H + +/* Define to 1 if you have the `putenv' function. */ +#undef HAVE_PUTENV + +/* Define to 1 if you have the QueryPerformanceCounter function. */ +#undef HAVE_QUERYPERFORMANCECOUNTER + +/* Define to 1 if you have the QueryPerformanceFrequency function. */ +#undef HAVE_QUERYPERFORMANCEFREQUENCY + +/* Define to 1 if you have the `raise' function. */ +#undef HAVE_RAISE + +/* Define to 1 if you have the `readdir' function. */ +#undef HAVE_READDIR + +/* Define to 1 if you have the `recv' function. */ +#undef HAVE_RECV + +/* Define to 1 if you have the `recvfrom' function. */ +#undef HAVE_RECVFROM + +/* Define to 1 if you have the `recvmsg' function. */ +#undef HAVE_RECVMSG + +/* Define to 1 if you have the ReleaseMutex function. */ +#undef HAVE_RELEASEMUTEX + +/* Define to 1 if you have the header file. */ +#undef HAVE_RPC_RPC_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_RPC_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_RPC_XDR_H + +/* Define to 1 if you have < sched.h > */ +#undef HAVE_SCHED_H + +/* Define to 1 if you have the `sched_yield' function. */ +#undef HAVE_SCHED_YIELD + +/* Define to 1 if you have the `select' function. */ +#undef HAVE_SELECT + +/* Define to 1 if you have */ +#undef HAVE_SEMAPHORE_H + +/* Define to 1 if you have . */ +#undef HAVE_SEM_H + +/* Define to 1 if you have the `send' function. */ +#undef HAVE_SEND + +/* Define to 1 if you have the `sendmsg' function. */ +#undef HAVE_SENDMSG + +/* Define to 1 if you have the `sendto' function. */ +#undef HAVE_SENDTO + +/* Define to 1 if you have the `setenv' function. */ +#undef HAVE_SETENV + +/* Define to 1 if you have the `setitimer' function. */ +#undef HAVE_SETITIMER + +/* Define to 1 if you have the `setsockopt' function. */ +#undef HAVE_SETSOCKOPT + +/* Define to 1 if you have */ +#undef HAVE_SHM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SIGNAL_H + +/* Define to 1 if you have the `sincos' function. */ +#undef HAVE_SINCOS + +/* Define to 1 if you have the `sleep' function. */ +#undef HAVE_SLEEP + +/* Define to 1 if you have the SleepEx function. */ +#undef HAVE_SLEEPEX + +/* Define to 1 if you have the `snprintf' function. */ +#undef HAVE_SNPRINTF + +/* Define to 1 if you have the `socket' function. */ +#undef HAVE_SOCKET + +/* Define to 1 if you have the socketpair function */ +#undef HAVE_SOCKETPAIR + +/* Define to 1 if you have < socket.h> */ +#undef HAVE_SOCKET_H + +/* Define to 1 if you have the socklen_t type. */ +#undef HAVE_SOCKLEN_T_TYPE + +/* Define to 1 if you have the `sqrt' function. */ +#undef HAVE_SQRT + +/* Define to 1 if you have */ +#undef HAVE_STANDARDS_H + +/* Define to 1 if you have the `stat' function. */ +#undef HAVE_STAT + +/* define if the compiler supports ISO C++ standard library */ +#undef HAVE_STD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDARG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDDEF_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strcspn' function. */ +#undef HAVE_STRCSPN + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strpbrk' function. */ +#undef HAVE_STRPBRK + +/* Define to 1 if you have the `strrchr' function. */ +#undef HAVE_STRRCHR + +/* Define to 1 if you have the `strstr' function. */ +#undef HAVE_STRSTR + +/* Define to 1 if you have the `strtol' function. */ +#undef HAVE_STRTOL + +/* Define to 1 if you have the `strtoul' function. */ +#undef HAVE_STRTOUL + +/* Define to 1 if you have the struct addrinfo. */ +#undef HAVE_STRUCT_ADDRINFO_TYPE + +/* Define to 1 if you have the struct ifreq type. */ +#undef HAVE_STRUCT_IFREQ_TYPE + +/* Define to 1 if you have the struct iovec type. */ +#undef HAVE_STRUCT_IOVEC_TYPE + +/* Define to 1 if you have the struct msghdr type. */ +#undef HAVE_STRUCT_MSGHDR_TYPE + +/* Define to 1 if you have the struct sockaddr_in6 type. */ +#undef HAVE_STRUCT_SOCKADDR_IN6_TYPE + +/* Define to 1 if you have the struct msghdr type. */ +#undef HAVE_STRUCT_SOCKADDR_IN_TYPE + +/* Define to 1 if you have the struct msghdr type. */ +#undef HAVE_STRUCT_SOCKADDR_STORAGE_TYPE + +/* Define to 1 if you have the `sync' function. */ +#undef HAVE_SYNC + +/* Define to 1 if you have the `sysconf' function. */ +#undef HAVE_SYSCONF + +/* Define to 1 if you have the `sysinfo' function. */ +#undef HAVE_SYSINFO + +/* Define to 1 if you have < syslog.h> */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_ERRNO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_FCNTL_H + +/* Define to 1 if you have < sys/file.h> */ +#undef HAVE_SYS_FILE_H + +/* Define to 1 if you have < sys/filio.h> */ +#undef HAVE_SYS_FILIO_H + +/* Define to 1 if you have < sys/ioctl.h> */ +#undef HAVE_SYS_IOCTL_H + +/* Define to 1 if you have */ +#undef HAVE_SYS_IPC_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_MMAN_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have < sys/param.h> */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have . */ +#undef HAVE_SYS_SEM_H + +/* Define to 1 if you have */ +#undef HAVE_SYS_SHM_H + +/* Define to 1 if you have < sys/socket.h> */ +#undef HAVE_SYS_SOCKET_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_SYSINFO_H + +/* Define to 1 if you have < sys/systeminfo.h> */ +#undef HAVE_SYS_SYSTEMINFO_H + +/* Define to 1 if you have < sys/time.h> */ +#undef HAVE_SYS_TIME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have < sys/uio.h> */ +#undef HAVE_SYS_UIO_H + +/* Define to 1 if you have < sys/utsname.h> */ +#undef HAVE_SYS_UTSNAME_H + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#undef HAVE_SYS_WAIT_H + +/* Define to 1 if you have the TerminateThread function */ +#undef HAVE_TERMINATETHREAD + +/* Define to 1 if you have < termios.h> */ +#undef HAVE_TERMIOS_H + +/* Define to 1 if you have the `time' function. */ +#undef HAVE_TIME + +/* Define to 1 if you have the header file. */ +#undef HAVE_TIME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_TOE_SERVICES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_TOE_SERVICES_HH + +/* Define to 1 if you have the header file. */ +#undef HAVE_TOOLHELP_H + +/* Define to 1 if you have the `toupper' function. */ +#undef HAVE_TOUPPER + +/* Define to 1 if you have < uio.h> */ +#undef HAVE_UIO_H + +/* Define to 1 if you have the `uname' function. */ +#undef HAVE_UNAME + +/* Is union semun defined */ +#undef HAVE_UNION_SEMUN + +/* Define to 1 if you have < unistd.h> */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the UnmapViewOfFile function. */ +#undef HAVE_UNMAPVEIWOFFILE + +/* Define to 1 if you have the `usleep' function. */ +#undef HAVE_USLEEP + +/* Define to 1 if you have the u_int type */ +#undef HAVE_U_INT + +/* Define to 1 if you have the u_int type */ +#undef HAVE_U_LONG + +/* Define to 1 if you have the u_short type */ +#undef HAVE_U_SHORT + +/* Define to 1 if you have the header file. */ +#undef HAVE_VALUES_H + +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF + +/* Define to 1 if you have the WaitForSingleObject function. */ +#undef HAVE_WAITFORSINGLEOBJECT + +/* Define to 1 if you have windows.h */ +#undef HAVE_WINDOWS_H + +/* Define to 1 you have a working winsock2.h and ws2_32.lib system. */ +#undef HAVE_WINSOCK2_H + +/* Define to 1 you have a working winsock.h and wsock32.lib system. */ +#undef HAVE_WINSOCK_H + +/* Define to 1 if there is a working version of winver.h */ +#undef HAVE_WINVER_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_XDR_H + +/* Define to 1 if you have the Yield function. */ +#undef HAVE_YIELD + +/* Define to 1 if you have the _beginthread function. */ +#undef HAVE__BEGINTHREAD + +/* Define to 1 if you have the `_snprintf' function. */ +#undef HAVE__SNPRINTF + +/* Define to 1 if you have the `_vsnprintf' function. */ +#undef HAVE__VSNPRINTF + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Define to 1 if you should use the Microsoft Windows API for + threads/sockets/IPC etc. */ +#undef MS_WINDOWS_API + +/* Never forcibly delete IPC resources. */ +#undef NEVER_FORCE_IPC_RM + +/* Disable support for printing posemath stuff with iostreams */ +#undef NO_IOSTREAM + +/* if no thread system is available */ +#undef NO_THREADS + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Should we use POSIX Semaphores */ +#undef POSIX_SEMAPHORES + +/* Can we use POSIX semaphores? */ +#undef POSIX_SEMAPHORES_AVAILABLE + +/* Can we use POSIX shared memory? */ +#undef POSIX_SHAREDMEM_AVAILABLE + +/* prefix all shmem names with this string */ +#undef POSIX_SHMEM_NAME_PREFIX + +/* if we should use POSIX threads */ +#undef POSIX_THREADS + +/* Define to 1 if putenv ok to use in c++ source. */ +#undef PUTENV_OK_IN_CPLUSPLUS + +/* Define to 1 if snprintf ok to use in c++ source. */ +#undef SNPRINTF_OK_IN_CPLUSPLUS + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Should we use POSIX Semaphores */ +#undef SYS_V_SEMAPHORES + +/* Can we use SystemV semaphores? */ +#undef SYS_V_SEMAPHORES_AVAILABLE + +/* Can we use SystemV shared memory? */ +#undef SYS_V_SHAREDMEM_AVAILABLE + +/* Should we use POSIX Shared_Memory */ +#undef SYS_V_SHARED_MEMORY + +/* Define to 1 if you can safely include both and . */ +#undef TIME_WITH_SYS_TIME + +/* Define to 1 if your declares `struct tm'. */ +#undef TM_IN_SYS_TIME + +/* Should we use POSIX Shared Memory */ +#undef USE_POSIX_SHAREDMEM + +/* Version number of package */ +#undef VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `int' if doesn't define. */ +#undef gid_t + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `int' if does not define. */ +#undef mode_t + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to `unsigned int' if does not define. */ +#undef size_t + +/* Define to `int' if doesn't define. */ +#undef uid_t diff --git a/rcslib.pc.in b/rcslib.pc.in new file mode 100644 index 0000000..2b122d3 --- /dev/null +++ b/rcslib.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: rcslib +Description: Real-Time Control Systems Library, which includes Neutral Messaging Language(NML) for configurable platform independant communications as well as other utilities needed in Real-Time Control Systems such as posemath, timers, and diagnostic tools. +Version: @VERSION@ +Libs: -L${libdir} -lrcs -lposemath @LIBS@ +Cflags: -I${includedir} diff --git a/skel/.indent.pro b/skel/.indent.pro new file mode 100644 index 0000000..c07b089 --- /dev/null +++ b/skel/.indent.pro @@ -0,0 +1,6 @@ +--braces-on-if-line +--braces-on-struct-decl-line +--dont-break-procedure-type +--cuddle-else +--no-space-after-function-call-names +--no-space-after-parentheses diff --git a/skel/AUTHORS b/skel/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/skel/COPYING b/skel/COPYING new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/skel/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/skel/ChangeLog b/skel/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/skel/INSTALL b/skel/INSTALL new file mode 100644 index 0000000..54caf7c --- /dev/null +++ b/skel/INSTALL @@ -0,0 +1,229 @@ +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software +Foundation, Inc. + + This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the `--target=TYPE' option to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +will cause the specified gcc to be used as the C compiler (unless it is +overridden in the site shell script). + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/skel/Makefile.am b/skel/Makefile.am new file mode 100644 index 0000000..ee449fb --- /dev/null +++ b/skel/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = etc src lib bin diff --git a/skel/Makefile.local b/skel/Makefile.local new file mode 100644 index 0000000..ecaeffe --- /dev/null +++ b/skel/Makefile.local @@ -0,0 +1,15 @@ +local : nml ini all + +# this builds the NML source +nml : + (cd etc && $(MAKE) -f Makefile.local $@) + (cd src && $(MAKE) -f Makefile.local $@) + +# this builds the .ini and .nml files +ini : + (cd etc && $(MAKE) -f Makefile.local $@) + +# this gets us the usual stuff +include Makefile + +.PHONY : local nml ini diff --git a/skel/NEWS b/skel/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/skel/README b/skel/README new file mode 100644 index 0000000..e69de29 diff --git a/skel/acinclude.m4 b/skel/acinclude.m4 new file mode 100644 index 0000000..65f9341 --- /dev/null +++ b/skel/acinclude.m4 @@ -0,0 +1,19 @@ +AC_DEFUN([AC_HAVE_RCSLIB], + [AC_MSG_CHECKING([for RCS library])] + RCSLIB_DIR=`echo $RCSLIB_DIR` + if test x$RCSLIB_DIR = x ; then + for dir in /usr/local/rcslib /usr/rcslib /local/rcslib ; do + if test -d $dir -o -L $dir ; then RCSLIB_DIR=$dir ; break ; fi + done + fi + if test x$RCSLIB_DIR = x ; then + [AC_MSG_ERROR([not found, set RCSLIB_DIR environment variable and try again])] + else +# put HAVE_RCSLIB in config.h + [AC_DEFINE(HAVE_RCSLIB, + 1, [Define non-zero if you have the RCS Library.])] +# put RCSLIB_DIR in Makefile + [AC_SUBST(RCSLIB_DIR)] + [AC_MSG_RESULT([$RCSLIB_DIR])] + fi + ) diff --git a/skel/autoconf.sh b/skel/autoconf.sh new file mode 100755 index 0000000..b01a65b --- /dev/null +++ b/skel/autoconf.sh @@ -0,0 +1 @@ +aclocal && autoheader && automake --add-missing --copy && autoconf && ./configure CFLAGS="-g -Wall" CXXFLAGS="-g -Wall" diff --git a/skel/bin/Makefile.am b/skel/bin/Makefile.am new file mode 100644 index 0000000..811bd08 --- /dev/null +++ b/skel/bin/Makefile.am @@ -0,0 +1,23 @@ +INCLUDES = -I$(RCSLIB_DIR)/include + +EXTRA_DIST = run + +bin_PROGRAMS = skelNmlSvr subMain subShell supMain supShell skelLog + +skelNmlSvr_SOURCES = ../src/skelNmlSvr.cc ../src/skel.hh ../src/skelIntf.hh ../src/supIntf.hh ../src/subIntf.hh +skelNmlSvr_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm + +subMain_SOURCES = ../src/subMain.cc +subMain_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm + +subShell_SOURCES = ../src/subShell.cc ../src/getopt.h ../src/getopt.c +subShell_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm + +supMain_SOURCES = ../src/supMain.cc +supMain_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm + +supShell_SOURCES = ../src/supShell.cc ../src/getopt.h ../src/getopt.c +supShell_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm + +skelLog_SOURCES = ../src/skelLog.cc +skelLog_LDADD = -L../lib -lskel -L$(RCSLIB_DIR)/lib -lrcs -lposemath -lm diff --git a/skel/bin/run b/skel/bin/run new file mode 100755 index 0000000..f403093 --- /dev/null +++ b/skel/bin/run @@ -0,0 +1,42 @@ +#!/bin/sh + +cd `dirname $0` + +pid1=0 +sig1=INT + +pid2=0 +sig2=INT + +pid3=0 +sig3=INT + +pid4=0 +sig4=INT + +function cleanup() +{ + if test $pid1 -ne 0 ; then kill -$sig1 $pid1 2> /dev/null ; fi + if test $pid2 -ne 0 ; then kill -$sig2 $pid2 2> /dev/null ; fi + if test $pid3 -ne 0 ; then kill -$sig3 $pid3 2> /dev/null ; fi + if test $pid4 -ne 0 ; then kill -$sig4 $pid4 2> /dev/null ; fi + + exit $1 +} + +./skelNmlSvr & +pid1=$! +sleep 1 + +./subMain -b 1 -d 0xFF & +pid2=$! + +./subMain -b 2 -d 0xFF & +pid3=$! + +./supMain -d 1 & +pid4=$! + +./supShell + +cleanup 0 diff --git a/skel/build b/skel/build new file mode 100755 index 0000000..9a05b5d --- /dev/null +++ b/skel/build @@ -0,0 +1,5 @@ +#!/bin/sh + +make -f Makefile.local + +exit $? diff --git a/skel/config/README b/skel/config/README new file mode 100644 index 0000000..152d4f4 --- /dev/null +++ b/skel/config/README @@ -0,0 +1 @@ +Stub file diff --git a/skel/configure.ac b/skel/configure.ac new file mode 100644 index 0000000..3df0f2d --- /dev/null +++ b/skel/configure.ac @@ -0,0 +1,26 @@ +AC_INIT(skel, 1.0) +AC_CONFIG_AUX_DIR([config]) +AM_INIT_AUTOMAKE(skel, 1.0) +AC_CONFIG_SRCDIR([src/supShell.cc]) +AC_CONFIG_HEADERS([config.h]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_RANLIB +AC_CHECK_PROGS(JAVA, java) +AM_CONDITIONAL(HAVE_JAVA, test x$JAVA != x) + +# Compute the canonical host-system type variable, 'host', and its +# three individual parts 'host_cpu', 'host_vendor', and 'host_os'. +AC_CANONICAL_HOST +if test x$host_os = xcygwin ; then + AC_DEFINE(HAVE_CYGWIN, 1, [Define non-zero if you have Cygwin.]) +fi + +# Checks for RCS library. +AC_HAVE_RCSLIB + +AC_CONFIG_FILES([Makefile bin/Makefile lib/Makefile etc/Makefile src/Makefile]) + +AC_OUTPUT diff --git a/skel/etc/Makefile.am b/skel/etc/Makefile.am new file mode 100644 index 0000000..33b8fb5 --- /dev/null +++ b/skel/etc/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = skel.ini skel.cfg skel.nml diff --git a/skel/etc/Makefile.local b/skel/etc/Makefile.local new file mode 100644 index 0000000..815bd8c --- /dev/null +++ b/skel/etc/Makefile.local @@ -0,0 +1,26 @@ +# build the .ini and .nml files, and then run the "all" target +# in case there's anything else to do + +ini : skel.ini + +nml : skel.nml + +# get RCSLIB_DIR, "all" et al +include Makefile + +# read in the version number from configure.ac and stick it in skel.ini + +skel.ini : Makefile + @ echo setting VERSION = $(PACKAGE_VERSION) in skel.ini + @ mv -f skel.ini skel.ini.bak + @ sed s/^[[:space:]]*VERSION[[:space:]]*=[[:print:]]*/VERSION\ =\ $(PACKAGE_VERSION)/ skel.ini.bak > skel.ini + +# use the RCS NML file generator to build skel.nml + +NMLCFG = $(RCSLIB_DIR)/bin/nmlcfg + +%.nml : %.cfg + @ echo building $@ from $< + $(NMLCFG) $< -o $@ + +.PHONY : ini nml diff --git a/skel/etc/skel.cfg b/skel/etc/skel.cfg new file mode 100644 index 0000000..2be035b --- /dev/null +++ b/skel/etc/skel.cfg @@ -0,0 +1,91 @@ +b bufname=skelErr size=256 queue=10 bsem=1 + +b bufname=supCmd size=1024 +b bufname=supStat size=1024 +b bufname=supCfg size=1024 +b bufname=supSet size=1024 + +b bufname=subCmd1 size=1024 +b bufname=subStat1 size=1024 +b bufname=subCfg1 size=1024 +b bufname=subSet1 size=1024 + +b bufname=subCmd2 size=1024 +b bufname=subStat2 size=1024 +b bufname=subCfg2 size=1024 +b bufname=subSet2 size=1024 + +# skelNmlSvr +# err +p bufname=skelErr name=skelNmlSvr master=1 server=1 proctype=local +# sup +p bufname=supCmd name=skelNmlSvr master=1 server=1 proctype=local +p bufname=supStat name=skelNmlSvr master=1 server=1 proctype=local +p bufname=supCfg name=skelNmlSvr master=1 server=1 proctype=local +p bufname=supSet name=skelNmlSvr master=1 server=1 proctype=local +# sub1 +p bufname=subCmd1 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subStat1 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subCfg1 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subSet1 name=skelNmlSvr master=1 server=1 proctype=local +# sub2 +p bufname=subCmd2 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subStat2 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subCfg2 name=skelNmlSvr master=1 server=1 proctype=local +p bufname=subSet2 name=skelNmlSvr master=1 server=1 proctype=local + +# supMain +# err +p bufname=skelErr name=supMain master=0 server=0 proctype=local +# sup +p bufname=supCmd name=supMain master=0 server=0 proctype=local +p bufname=supStat name=supMain master=0 server=0 proctype=local +p bufname=supCfg name=supMain master=0 server=0 proctype=local +p bufname=supSet name=supMain master=0 server=0 proctype=local +# sub1 +p bufname=subCmd1 name=supMain master=0 server=0 proctype=local +p bufname=subStat1 name=supMain master=0 server=0 proctype=local +p bufname=subCfg1 name=supMain master=0 server=0 proctype=local +p bufname=subSet1 name=supMain master=0 server=0 proctype=local +# sub2 +p bufname=subCmd2 name=supMain master=0 server=0 proctype=local +p bufname=subStat2 name=supMain master=0 server=0 proctype=local +p bufname=subCfg2 name=supMain master=0 server=0 proctype=local +p bufname=subSet2 name=supMain master=0 server=0 proctype=local + +# supShell +# sup +p bufname=supCmd name=supShell master=0 server=0 proctype=local +p bufname=supStat name=supShell master=0 server=0 proctype=local +p bufname=supCfg name=supShell master=0 server=0 proctype=local +p bufname=supSet name=supShell master=0 server=0 proctype=local + +# subMain +# err +p bufname=skelErr name=subMain master=0 server=0 proctype=local +# sub1 +p bufname=subCmd1 name=subMain master=0 server=0 proctype=local +p bufname=subStat1 name=subMain master=0 server=0 proctype=local +p bufname=subCfg1 name=subMain master=0 server=0 proctype=local +p bufname=subSet1 name=subMain master=0 server=0 proctype=local +# sub2 +p bufname=subCmd2 name=subMain master=0 server=0 proctype=local +p bufname=subStat2 name=subMain master=0 server=0 proctype=local +p bufname=subCfg2 name=subMain master=0 server=0 proctype=local +p bufname=subSet2 name=subMain master=0 server=0 proctype=local + +# subShell +# sub1 +p bufname=subCmd1 name=subShell master=0 server=0 proctype=local +p bufname=subStat1 name=subShell master=0 server=0 proctype=local +p bufname=subCfg1 name=subShell master=0 server=0 proctype=local +p bufname=subSet1 name=subShell master=0 server=0 proctype=local +# sub2 +p bufname=subCmd2 name=subShell master=0 server=0 proctype=local +p bufname=subStat2 name=subShell master=0 server=0 proctype=local +p bufname=subCfg2 name=subShell master=0 server=0 proctype=local +p bufname=subSet2 name=subShell master=0 server=0 proctype=local + +# skelLog +# err +p bufname=skelErr name=skelLog master=0 server=0 proctype=local diff --git a/skel/etc/skel.ini b/skel/etc/skel.ini new file mode 100644 index 0000000..c9fc2d8 --- /dev/null +++ b/skel/etc/skel.ini @@ -0,0 +1,9 @@ +; skel.ini +; default INI file for skeleton application + +[SKEL] + +; What version this file conforms to. All are backward compatible, that is, +; things that read VERSION = 2 files will read VERSION = 1 files +VERSION = 1.0 + diff --git a/skel/etc/skel.nml b/skel/etc/skel.nml new file mode 100644 index 0000000..3ed255a --- /dev/null +++ b/skel/etc/skel.nml @@ -0,0 +1,78 @@ +# skel.nml + +# Buffers: +# name type host size neut 0 buf# max_proc . . . +B skelErr SHMEM localhost 2816 0 * 1 * 30701 TCP=25700 bsem=1 xdr queue + +B supCmd SHMEM localhost 1088 0 * 2 * 30702 TCP=25701 xdr +B supStat SHMEM localhost 1088 0 * 3 * 30703 TCP=25702 xdr +B supCfg SHMEM localhost 1088 0 * 4 * 30704 TCP=25703 xdr +B supSet SHMEM localhost 1088 0 * 5 * 30705 TCP=25704 xdr + +B subCmd1 SHMEM localhost 1088 0 * 6 * 30706 TCP=25705 xdr +B subStat1 SHMEM localhost 1088 0 * 7 * 30707 TCP=25706 xdr +B subCfg1 SHMEM localhost 1088 0 * 8 * 30708 TCP=25707 xdr +B subSet1 SHMEM localhost 1088 0 * 9 * 30709 TCP=25708 xdr + +B subCmd2 SHMEM localhost 1088 0 * 10 * 30710 TCP=25709 xdr +B subStat2 SHMEM localhost 1088 0 * 11 * 30711 TCP=25710 xdr +B subCfg2 SHMEM localhost 1088 0 * 12 * 30712 TCP=25711 xdr +B subSet2 SHMEM localhost 1088 0 * 13 * 30713 TCP=25712 xdr + + +# Processes: +# Name Buffer type host ops server timeout master c_num . . . +P skelNmlSvr skelErr LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr supCmd LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr supStat LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr supCfg LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr supSet LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subCmd1 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subStat1 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subCfg1 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subSet1 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subCmd2 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subStat2 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subCfg2 LOCAL localhost RW 1 INF 1 0 +P skelNmlSvr subSet2 LOCAL localhost RW 1 INF 1 0 + +P supMain skelErr LOCAL localhost RW 0 INF 0 1 +P supMain supCmd LOCAL localhost RW 0 INF 0 1 +P supMain supStat LOCAL localhost RW 0 INF 0 1 +P supMain supCfg LOCAL localhost RW 0 INF 0 1 +P supMain supSet LOCAL localhost RW 0 INF 0 1 +P supMain subCmd1 LOCAL localhost RW 0 INF 0 1 +P supMain subStat1 LOCAL localhost RW 0 INF 0 1 +P supMain subCfg1 LOCAL localhost RW 0 INF 0 1 +P supMain subSet1 LOCAL localhost RW 0 INF 0 1 +P supMain subCmd2 LOCAL localhost RW 0 INF 0 1 +P supMain subStat2 LOCAL localhost RW 0 INF 0 1 +P supMain subCfg2 LOCAL localhost RW 0 INF 0 1 +P supMain subSet2 LOCAL localhost RW 0 INF 0 1 + +P supShell supCmd LOCAL localhost RW 0 INF 0 2 +P supShell supStat LOCAL localhost RW 0 INF 0 2 +P supShell supCfg LOCAL localhost RW 0 INF 0 2 +P supShell supSet LOCAL localhost RW 0 INF 0 2 + +P subMain skelErr LOCAL localhost RW 0 INF 0 2 +P subMain subCmd1 LOCAL localhost RW 0 INF 0 2 +P subMain subStat1 LOCAL localhost RW 0 INF 0 2 +P subMain subCfg1 LOCAL localhost RW 0 INF 0 2 +P subMain subSet1 LOCAL localhost RW 0 INF 0 2 +P subMain subCmd2 LOCAL localhost RW 0 INF 0 2 +P subMain subStat2 LOCAL localhost RW 0 INF 0 2 +P subMain subCfg2 LOCAL localhost RW 0 INF 0 2 +P subMain subSet2 LOCAL localhost RW 0 INF 0 2 + +P subShell subCmd1 LOCAL localhost RW 0 INF 0 3 +P subShell subStat1 LOCAL localhost RW 0 INF 0 3 +P subShell subCfg1 LOCAL localhost RW 0 INF 0 3 +P subShell subSet1 LOCAL localhost RW 0 INF 0 3 +P subShell subCmd2 LOCAL localhost RW 0 INF 0 3 +P subShell subStat2 LOCAL localhost RW 0 INF 0 3 +P subShell subCfg2 LOCAL localhost RW 0 INF 0 3 +P subShell subSet2 LOCAL localhost RW 0 INF 0 3 + +P skelLog skelErr LOCAL localhost RW 0 INF 0 3 + diff --git a/skel/lib/Makefile.am b/skel/lib/Makefile.am new file mode 100644 index 0000000..0b4911b --- /dev/null +++ b/skel/lib/Makefile.am @@ -0,0 +1,5 @@ +INCLUDES = -I$(RCSLIB_DIR)/include + +lib_LIBRARIES = libskel.a + +libskel_a_SOURCES = ../src/skel.cc ../src/skelIntf.cc ../src/supIntf.cc ../src/subIntf.cc diff --git a/skel/src/Makefile.am b/skel/src/Makefile.am new file mode 100644 index 0000000..0423d42 --- /dev/null +++ b/skel/src/Makefile.am @@ -0,0 +1,3 @@ +# blank Makefile.am, just used to get a Makefile here so that we +# can include it in Makefile.local to get RCSLIB_DIR + diff --git a/skel/src/Makefile.local b/skel/src/Makefile.local new file mode 100644 index 0000000..aca07f8 --- /dev/null +++ b/skel/src/Makefile.local @@ -0,0 +1,69 @@ +# local makefile for building NML C++ files from headers + +# build the NML source, and then run the "all" target in case there's +# anything else to do +nml : \ + skelIntf.cc \ + supIntf.cc \ + subIntf.cc \ + all + +# get RCSLIB_DIR, "all" et al, although we really only need RCSLIB_DIR +include Makefile + +# check for java and generate code if we have it +ifeq (x$(JAVA), x) + +# don't have java, so just print notice +%.cc : %.hh + @ echo can\'t find java, so not generating $@ + +else +# have java, so generate code + +CODEGEN = $(RCSLIB_DIR)/bin/CodeGenCmdLine.jar +TEMP_CODEGEN = temp.gen + +ifeq (x$(host_os), xcygwin) +# on cygwin, so use Windows paths + +%.cc : %.hh + - \rm -f $(TEMP_CODEGEN) + echo load `cygpath -a -w skel.hh` >> $(TEMP_CODEGEN) + echo load `cygpath -a -w $<` >> $(TEMP_CODEGEN) + echo clear >> $(TEMP_CODEGEN) + echo select_from_file `cygpath -w $<` >> $(TEMP_CODEGEN) + echo set_format_function $(@:%.cc=%)_format >> $(TEMP_CODEGEN) + echo generate_symbol_lookups=true >> $(TEMP_CODEGEN) + echo generate C++ constructor \>$@ >> $(TEMP_CODEGEN) + echo generate C++ format \>$@ >> $(TEMP_CODEGEN) + echo generate C++ update \>$@ >> $(TEMP_CODEGEN) + echo exit >> $(TEMP_CODEGEN) + java -jar `cygpath -a -w $(CODEGEN)` script=`cygpath -a -w $(TEMP_CODEGEN)` +# - \rm -f $(TEMP_CODEGEN) + +else +# not on cygwin, so use Unix paths + +%.cc : %.hh + - \rm -f $(TEMP_CODEGEN) + echo load skel.hh >> $(TEMP_CODEGEN) + echo load $< >> $(TEMP_CODEGEN) + echo clear >> $(TEMP_CODEGEN) + echo select_from_file $< >> $(TEMP_CODEGEN) + echo set_format_function $(@:%.cc=%)_format >> $(TEMP_CODEGEN) + echo generate_symbol_lookups=true >> $(TEMP_CODEGEN) + echo generate C++ constructor \>$@ >> $(TEMP_CODEGEN) + echo generate C++ format \>$@ >> $(TEMP_CODEGEN) + echo generate C++ update \>$@ >> $(TEMP_CODEGEN) + echo exit >> $(TEMP_CODEGEN) + java -jar $(CODEGEN) script=$(TEMP_CODEGEN) + - \rm -f $(TEMP_CODEGEN) + +endif +# ifeq (x$host_os, xcygwin) + +endif +# ifeq (x$(JAVA), x) + +.PHONY : nml diff --git a/skel/src/getopt.c b/skel/src/getopt.c new file mode 100644 index 0000000..9ea2840 --- /dev/null +++ b/skel/src/getopt.c @@ -0,0 +1,551 @@ +/* + * Copyright (c) 2002 Todd C. Miller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Dieter Baron and Thomas Klausner. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} +#endif +#endif + +#if 0 +#include /* BSD warnx() */ +#else +#define warnx printf +#endif +#include +#if 0 +#endif +#include +#include +#include +#include "getopt.h" /* ours */ + +#define REPLACE_GETOPT + +#ifdef REPLACE_GETOPT +int opterr = 1; /* if error message should be printed */ +int optind = 1; /* index into parent argv vector */ +int optopt = '?'; /* character checked for validity */ +char *optarg = NULL; /* argument associated with option */ +#endif +int optreset = 0; /* reset getopt */ + +#define PRINT_ERROR ((opterr) && (*options != ':')) + +#define FLAG_PERMUTE 0x01 /* permute non-options to the end of argv */ +#define FLAG_ALLARGS 0x02 /* treat non-options as args to option "-1" */ +#define FLAG_LONGONLY 0x04 /* operate as getopt_long_only */ + +/* return values */ +#define BADCH (int)'?' +#define BADARG ((*options == ':') ? (int)':' : (int)'?') +#define INORDER (int)1 + +#define EMSG "" + +static int getopt_internal(int, char * const *, const char *, + const struct option *, int *, int); +static int parse_long_options(char * const *, const char *, + const struct option *, int *, int); +static int gcd(int, int); +static void permute_args(int, int, int, char * const *); + +static char *place = EMSG; /* option letter processing */ + +/* XXX: set optreset to 1 rather than these two */ +static int nonopt_start = -1; /* first non option argument (for permute) */ +static int nonopt_end = -1; /* first option after non options (for permute) */ + +/* Error messages */ +static const char recargchar[] = "option requires an argument -- %c"; +static const char recargstring[] = "option requires an argument -- %s"; +static const char ambig[] = "ambiguous option -- %.*s"; +static const char noarg[] = "option doesn't take an argument -- %.*s"; +static const char illoptchar[] = "unknown option -- %c"; +static const char illoptstring[] = "unknown option -- %s"; + +/* + * Compute the greatest common divisor of a and b. + */ +static int +gcd(int a, int b) +{ + int c; + + c = a % b; + while (c != 0) { + a = b; + b = c; + c = a % b; + } + + return (b); +} + +/* + * Exchange the block from nonopt_start to nonopt_end with the block + * from nonopt_end to opt_end (keeping the same order of arguments + * in each block). + */ +static void +permute_args(int panonopt_start, int panonopt_end, int opt_end, + char * const *nargv) +{ + int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos; + char *swap; + + /* + * compute lengths of blocks and number and size of cycles + */ + nnonopts = panonopt_end - panonopt_start; + nopts = opt_end - panonopt_end; + ncycle = gcd(nnonopts, nopts); + cyclelen = (opt_end - panonopt_start) / ncycle; + + for (i = 0; i < ncycle; i++) { + cstart = panonopt_end+i; + pos = cstart; + for (j = 0; j < cyclelen; j++) { + if (pos >= panonopt_end) + pos -= nnonopts; + else + pos += nopts; + swap = nargv[pos]; + /* LINTED const cast */ + ((char **) nargv)[pos] = nargv[cstart]; + /* LINTED const cast */ + ((char **)nargv)[cstart] = swap; + } + } +} + +/* + * parse_long_options -- + * Parse long options in argc/argv argument vector. + * Returns -1 if short_too is set and the option does not match long_options. + */ +static int +parse_long_options(char * const *nargv, const char *options, + const struct option *long_options, int *idx, int short_too) +{ + char *current_argv, *has_equal; + size_t current_argv_len; + int i, match; + + current_argv = place; + match = -1; + + optind++; + + if ((has_equal = strchr(current_argv, '=')) != NULL) { + /* argument found (--option=arg) */ + current_argv_len = has_equal - current_argv; + has_equal++; + } else + current_argv_len = strlen(current_argv); + + for (i = 0; long_options[i].name; i++) { + /* find matching long option */ + if (strncmp(current_argv, long_options[i].name, + current_argv_len)) + continue; + + if (strlen(long_options[i].name) == current_argv_len) { + /* exact match */ + match = i; + break; + } + /* + * If this is a known short option, don't allow + * a partial match of a single character. + */ + if (short_too && current_argv_len == 1) + continue; + + if (match == -1) /* partial match */ + match = i; + else { + /* ambiguous abbreviation */ + if (PRINT_ERROR) + warnx(ambig, (int)current_argv_len, + current_argv); + optopt = 0; + return (BADCH); + } + } + if (match != -1) { /* option found */ + if (long_options[match].has_arg == no_argument + && has_equal) { + if (PRINT_ERROR) + warnx(noarg, (int)current_argv_len, + current_argv); + /* + * XXX: GNU sets optopt to val regardless of flag + */ + if (long_options[match].flag == NULL) + optopt = long_options[match].val; + else + optopt = 0; + return (BADARG); + } + if (long_options[match].has_arg == required_argument || + long_options[match].has_arg == optional_argument) { + if (has_equal) + optarg = has_equal; + else if (long_options[match].has_arg == + required_argument) { + /* + * optional argument doesn't use next nargv + */ + optarg = nargv[optind++]; + } + } + if ((long_options[match].has_arg == required_argument) + && (optarg == NULL)) { + /* + * Missing argument; leading ':' indicates no error + * should be generated. + */ + if (PRINT_ERROR) + warnx(recargstring, + current_argv); + /* + * XXX: GNU sets optopt to val regardless of flag + */ + if (long_options[match].flag == NULL) + optopt = long_options[match].val; + else + optopt = 0; + --optind; + return (BADARG); + } + } else { /* unknown option */ + if (short_too) { + --optind; + return (-1); + } + if (PRINT_ERROR) + warnx(illoptstring, current_argv); + optopt = 0; + return (BADCH); + } + if (idx) + *idx = match; + if (long_options[match].flag) { + *long_options[match].flag = long_options[match].val; + return (0); + } else + return (long_options[match].val); +} + +/* + * getopt_internal -- + * Parse argc/argv argument vector. Called by user level routines. + */ +static int +getopt_internal(int nargc, char * const *nargv, const char *options, + const struct option *long_options, int *idx, int flags) +{ + char *oli; /* option letter list index */ + int optchar, short_too; + static int posixly_correct = -1; + + if (options == NULL) + return (-1); + + /* + * Disable GNU extensions if POSIXLY_CORRECT is set or options + * string begins with a '+'. + */ + if (posixly_correct == -1) + posixly_correct = (getenv("POSIXLY_CORRECT") != NULL); + if (posixly_correct || *options == '+') + flags &= ~FLAG_PERMUTE; + else if (*options == '-') + flags |= FLAG_ALLARGS; + if (*options == '+' || *options == '-') + options++; + + /* + * XXX Some GNU programs (like cvs) set optind to 0 instead of + * XXX using optreset. Work around this braindamage. + */ + if (optind == 0) + optind = optreset = 1; + + optarg = NULL; + if (optreset) + nonopt_start = nonopt_end = -1; +start: + if (optreset || !*place) { /* update scanning pointer */ + optreset = 0; + if (optind >= nargc) { /* end of argument vector */ + place = EMSG; + if (nonopt_end != -1) { + /* do permutation, if we have to */ + permute_args(nonopt_start, nonopt_end, + optind, nargv); + optind -= nonopt_end - nonopt_start; + } + else if (nonopt_start != -1) { + /* + * If we skipped non-options, set optind + * to the first of them. + */ + optind = nonopt_start; + } + nonopt_start = nonopt_end = -1; + return (-1); + } + if (*(place = nargv[optind]) != '-' || + (place[1] == '\0' && strchr(options, '-') == NULL)) { + place = EMSG; /* found non-option */ + if (flags & FLAG_ALLARGS) { + /* + * GNU extension: + * return non-option as argument to option 1 + */ + optarg = nargv[optind++]; + return (INORDER); + } + if (!(flags & FLAG_PERMUTE)) { + /* + * If no permutation wanted, stop parsing + * at first non-option. + */ + return (-1); + } + /* do permutation */ + if (nonopt_start == -1) + nonopt_start = optind; + else if (nonopt_end != -1) { + permute_args(nonopt_start, nonopt_end, + optind, nargv); + nonopt_start = optind - + (nonopt_end - nonopt_start); + nonopt_end = -1; + } + optind++; + /* process next argument */ + goto start; + } + if (nonopt_start != -1 && nonopt_end == -1) + nonopt_end = optind; + + /* + * Check for "--" or "--foo" with no long options + * but if place is simply "-" leave it unmolested. + */ + if (place[1] != '\0' && *++place == '-' && + (place[1] == '\0' || long_options == NULL)) { + optind++; + place = EMSG; + /* + * We found an option (--), so if we skipped + * non-options, we have to permute. + */ + if (nonopt_end != -1) { + permute_args(nonopt_start, nonopt_end, + optind, nargv); + optind -= nonopt_end - nonopt_start; + } + nonopt_start = nonopt_end = -1; + return (-1); + } + } + + /* + * Check long options if: + * 1) we were passed some + * 2) the arg is not just "-" + * 3) either the arg starts with -- we are getopt_long_only() + */ + if (long_options != NULL && place != nargv[optind] && + (*place == '-' || (flags & FLAG_LONGONLY))) { + short_too = 0; + if (*place == '-') + place++; /* --foo long option */ + else if (*place != ':' && strchr(options, *place) != NULL) + short_too = 1; /* could be short option too */ + + optchar = parse_long_options(nargv, options, long_options, + idx, short_too); + if (optchar != -1) { + place = EMSG; + return (optchar); + } + } + + if ((optchar = (int)*place++) == (int)':' || + (oli = strchr(options, optchar)) == NULL) { + /* + * If the user didn't specify '-' as an option, + * assume it means -1 as POSIX specifies. + */ + if (optchar == (int)'-') + return (-1); + /* option letter unknown or ':' */ + if (!*place) + ++optind; + if (PRINT_ERROR) + warnx(illoptchar, optchar); + optopt = optchar; + return (BADCH); + } + if (long_options != NULL && optchar == 'W' && oli[1] == ';') { + /* -W long-option */ + if (*place) /* no space */ + /* NOTHING */; + else if (++optind >= nargc) { /* no arg */ + place = EMSG; + if (PRINT_ERROR) + warnx(recargchar, optchar); + optopt = optchar; + return (BADARG); + } else /* white space */ + place = nargv[optind]; + optchar = parse_long_options(nargv, options, long_options, + idx, 0); + place = EMSG; + return (optchar); + } + if (*++oli != ':') { /* doesn't take argument */ + if (!*place) + ++optind; + } else { /* takes (optional) argument */ + optarg = NULL; + if (*place) /* no white space */ + optarg = place; + /* XXX: disable test for :: if PC? (GNU doesn't) */ + else if (oli[1] != ':') { /* arg not optional */ + if (++optind >= nargc) { /* no arg */ + place = EMSG; + if (PRINT_ERROR) + warnx(recargchar, optchar); + optopt = optchar; + return (BADARG); + } else + optarg = nargv[optind]; + } + place = EMSG; + ++optind; + } + /* dump back option letter */ + return (optchar); +} + +#ifdef REPLACE_GETOPT +/* + * getopt -- + * Parse argc/argv argument vector. + * + * [eventually this will replace the BSD getopt] + */ +int +getopt(int nargc, char * const *nargv, const char *options) +{ + + /* + * We dont' pass FLAG_PERMUTE to getopt_internal() since + * the BSD getopt(3) (unlike GNU) has never done this. + * + * Furthermore, since many privileged programs call getopt() + * before dropping privileges it makes sense to keep things + * as simple (and bug-free) as possible. + */ + return (getopt_internal(nargc, nargv, options, NULL, NULL, 0)); +} +#endif /* REPLACE_GETOPT */ + +/* + * getopt_long -- + * Parse argc/argv argument vector. + */ +int +getopt_long(int nargc, char * const * nargv, const char * options, const struct option * long_options, int * idx) +{ + + return (getopt_internal(nargc, nargv, options, long_options, idx, + FLAG_PERMUTE)); +} + +/* + * getopt_long_only -- + * Parse argc/argv argument vector. + */ +int +getopt_long_only(int nargc, char * const * nargv, const char * options, const struct option * long_options, int * idx) +{ + + return (getopt_internal(nargc, nargv, options, long_options, idx, + FLAG_PERMUTE|FLAG_LONGONLY)); +} + + +#ifdef __cplusplus +#if 0 +{ +#endif +} +#endif + diff --git a/skel/src/getopt.h b/skel/src/getopt.h new file mode 100644 index 0000000..ce684b2 --- /dev/null +++ b/skel/src/getopt.h @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2002 Todd C. Miller + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Dieter Baron and Thomas Klausner. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef GETOPT_H +#define GETOPT_H + +#ifdef __cplusplus +extern "C" { +#if 0 +} +#endif +#endif + +struct option +{ + const char *name; + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +# define no_argument 0 +# define required_argument 1 +# define optional_argument 2 + +extern int opterr; +extern int optind; +extern int optopt; +extern char *optarg; +extern int optreset; + +extern int getopt(int nargc, char * const *nargv, const char *options); + +extern int getopt_long(int nargc, char * const * nargv, const char * options, const struct option * long_options, int * idx); + +#ifdef __cplusplus +#if 0 +{ +#endif +} +#endif + +#endif /* GETOPT_H */ diff --git a/skel/src/skel.cc b/skel/src/skel.cc new file mode 100644 index 0000000..caa8e9f --- /dev/null +++ b/skel/src/skel.cc @@ -0,0 +1,81 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#include // vsprintf +#include // strlen +#include // va_list, ... +#include // NML, etime +#include "skel.hh" // these decls +#include "skelIntf.hh" // SkelErr + +char * basename(char * path) +{ + char * ptr = &path[strlen(path)]; + + while (1) { + if (*ptr == '/') return ptr+1; + if (ptr == path) return ptr; + ptr--; + } +} + +int reportError(NML * errBuf, const char *fmt, ...) +{ + SkelErr skelErr; + va_list ap; + + skelErr.timestamp = etime(); + + va_start(ap, fmt); + vsprintf(skelErr.text, fmt, ap); + va_end(ap); + + skelErr.text_length = strlen(skelErr.text); + + return errBuf->write(&skelErr); +} + +char * rcs_state_to_string(int s) +{ + enum {BUFLEN = 80}; + static char buf[BUFLEN]; // warning-- not reentrant + + if (s == UNINITIALIZED_STATE) sprintf(buf, "UNINITIALIZED_STATE"); + else if (s == NEW_COMMAND) sprintf(buf, "NEW_COMMAND"); + else if (s == NOP_STATE) sprintf(buf, "NOP_STATE"); + else if (s < 0) sprintf(buf, "SE%d", -(s+10)); + else sprintf(buf, "S%d", s); + + return buf; +} + +char * rcs_status_to_string(int s) +{ + enum {BUFLEN = 80}; + static char buf[BUFLEN]; // warning-- not reentrant + + if (s == UNINITIALIZED_STATUS) sprintf(buf, "Uninitialized"); + else if (s == RCS_DONE) sprintf(buf, "Done"); + else if (s == RCS_EXEC) sprintf(buf, "Exec"); + else if (s == RCS_ERROR) sprintf(buf, "Error"); + else sprintf(buf, "%d", s); + + return buf; +} + +/* + Modification history: + + $Log: skel.cc,v $ + Revision 1.1 2006/01/05 20:51:24 proctor + Initial checkin + +*/ diff --git a/skel/src/skel.hh b/skel/src/skel.hh new file mode 100644 index 0000000..ad0a04b --- /dev/null +++ b/skel/src/skel.hh @@ -0,0 +1,55 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#include // NML + +#ifndef SKEL_HH +#define SKEL_HH + +#define SKEL_BASE 1000 + +#define SKEL_ERR_BASE (SKEL_BASE + 1) + +#define SUP_BASE (SKEL_BASE + 1000) +#define SUB_BASE (SKEL_BASE + 2000) + +#define SUP_CMD_BASE (SUP_BASE + 100) +#define SUP_STAT_BASE (SUP_BASE + 200) +#define SUP_CFG_BASE (SUP_BASE + 300) +#define SUP_SET_BASE (SUP_BASE + 400) + +#define SUB_CMD_BASE (SUB_BASE + 100) +#define SUB_STAT_BASE (SUB_BASE + 200) +#define SUB_CFG_BASE (SUB_BASE + 300) +#define SUB_SET_BASE (SUB_BASE + 400) + +#define SKEL_INI_FILE_NAME_LEN 80 +#define SKEL_NML_FILE_NAME_LEN 80 +#define SKEL_NML_BUFFER_NAME_LEN 80 + +// miscellaneous stuff + +extern char * basename(char * path); +extern int reportError(NML * errBuf, const char *fmt, ...); +extern char * rcs_state_to_string(int s); +extern char * rcs_status_to_string(int s); + +/* + Modification history: + + $Log: skel.hh,v $ + Revision 1.1 2006/01/05 20:51:25 proctor + Initial checkin + +*/ + +#endif + diff --git a/skel/src/skelIntf.cc b/skel/src/skelIntf.cc new file mode 100644 index 0000000..fe627a9 --- /dev/null +++ b/skel/src/skelIntf.cc @@ -0,0 +1,140 @@ +/* +* New C++ File starts here. +* This file should be named skel.cc +* Automatically generated by NML CodeGen Java Applet. +* with command line arguments : script=temp.gen +* on 9/2/08 3:45 PM +* RCS_VERSION=@(#) RCS_LIBRARY_VERSION: 2007.March_960M Compiled on Fri Mar 23 11:06:17 EDT 2007 for the java platform. +* $Id: CodeGenCommon.java 1233 2008-07-21 20:19:54Z shackle $ +* +* .gen script : +* 0:load skel.hh +* 1:load skelIntf.hh +* 2:clear +* 3:select_from_file skelIntf.hh +* 4:set_format_function skelIntf_format +* 5:generate_symbol_lookups=true +* 6:generate C++ constructor >skelIntf.cc +* 7:generate C++ format >skelIntf.cc +* +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "skel.hh" +#include "skelIntf.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SKELINTF_NAME_LENGTH +#define MAX_SKELINTF_NAME_LENGTH 8 +#endif +#ifndef SKELINTF_NAME_LIST_LENGTH +#define SKELINTF_NAME_LIST_LENGTH 3 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char skelIntf_name_list[SKELINTF_NAME_LIST_LENGTH][MAX_SKELINTF_NAME_LENGTH]= { + "SkelErr", /* 0,1002 */ + "SkelMsg", /* 1,1003 */ + ""}; +const NMLTYPE skelIntf_id_list[SKELINTF_NAME_LIST_LENGTH]= { + SKEL_ERR_TYPE, /* 0,1002 */ + SKEL_MSG_TYPE, /* 1,1003 */ + -1}; +const size_t skelIntf_size_list[SKELINTF_NAME_LIST_LENGTH]= { + sizeof(SkelErr), + sizeof(SkelMsg), + 0}; +const char *skelIntf_symbol_lookup(long type); + + +// Enumerated Type Constants + +/* +Estimated_size SkelErr 296 +Estimated_size SkelMsg 296 +Estimated_size MAXIMUM 296 +*/ +/* +* NML/CMS Format function : skelIntf_format +*/ +int skelIntf_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"skelIntf", + (cms_symbol_lookup_function_t) skelIntf_symbol_lookup, + (const char **)skelIntf_name_list, + skelIntf_id_list,skelIntf_size_list, + SKELINTF_NAME_LIST_LENGTH, + MAX_SKELINTF_NAME_LENGTH); + + switch(type) + { + case SKEL_ERR_TYPE: + ((SkelErr *) buffer)->update(cms); + break; + case SKEL_MSG_TYPE: + ((SkelMsg *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + + +// NML Symbol Lookup Function +const char *skelIntf_symbol_lookup(long type) +{ + switch(type) + { + case SKEL_ERR_TYPE: + return "SkelErr"; + case SKEL_MSG_TYPE: + return "SkelMsg"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for SkelErr +* from skelIntf.hh:0 +*/ +void SkelErr::update(CMS *cms) +{ + + cms->beginClass("SkelErr","NMLmsg"); + cms->update_with_name("timestamp",timestamp); + cms->update_dla_length_with_name("text_length",text_length); + cms->update_dla_with_name("text",text,text_length,256); + + cms->endClass("SkelErr","NMLmsg"); + +} + + +/* +* NML/CMS Update function for SkelMsg +* from skelIntf.hh:31 +*/ +void SkelMsg::update(CMS *cms) +{ + + cms->beginClass("SkelMsg","NMLmsg"); + cms->update_with_name("timestamp",timestamp); + cms->update_dla_length_with_name("text_length",text_length); + cms->update_dla_with_name("text",text,text_length,256); + + cms->endClass("SkelMsg","NMLmsg"); + +} + diff --git a/skel/src/skelIntf.hh b/skel/src/skelIntf.hh new file mode 100644 index 0000000..717161e --- /dev/null +++ b/skel/src/skelIntf.hh @@ -0,0 +1,59 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#ifndef SKEL_INTF_HH +#define SKEL_INTF_HH + +#include // NMLmsg, NMLTYPE, CMS +#include "skel.hh" // SKEL_ERR_BASE + +#define SKEL_ERR_TYPE (SKEL_ERR_BASE + 1) +#define SKEL_MSG_TYPE (SKEL_ERR_BASE + 2) + +#define SKEL_ERR_LEN 256 +#define SKEL_MSG_LEN 256 + +class SkelErr : public NMLmsg { +public: + SkelErr() : NMLmsg(SKEL_ERR_TYPE, sizeof(SkelErr)) {}; + void update(CMS *); + + double timestamp; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, text, SKEL_ERR_LEN); +}; + +class SkelMsg : public NMLmsg { +public: + SkelMsg() : NMLmsg(SKEL_MSG_TYPE, sizeof(SkelMsg)) {}; + void update(CMS *); + + double timestamp; + DECLARE_NML_DYNAMIC_LENGTH_ARRAY(char, text, SKEL_MSG_LEN); +}; + +// from NML code generator +extern int skelIntf_format(NMLTYPE type, void *buffer, CMS *cms); +extern const char *skelIntf_symbol_lookup(long type); + +/* + Modification history: + + $Log: skelIntf.hh,v $ + Revision 1.2 2006/01/09 14:45:48 proctor + Reworked admin states to conform to Tom K's original proposal, in which + commands out-of-protocol invoke their state tables with an RCS_ERROR result. + + Revision 1.1 2006/01/05 20:51:25 proctor + Initial checkin + +*/ + +#endif diff --git a/skel/src/skelLog.cc b/skel/src/skelLog.cc new file mode 100644 index 0000000..787034a --- /dev/null +++ b/skel/src/skelLog.cc @@ -0,0 +1,106 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#include // fprintf, stderr +#include // signal, SIGINT +#include // NEW_COMMAND, RCS_DONE, ... +#include "getopt.h" // getopt, ... +#include "skel.hh" // basename +#include "skelIntf.hh" // skelIntf_format + +#define DEFAULT_NML_FILE "../etc/skel.nml" + +static int done = 0; +static void quit(int sig) +{ + done = 1; +} + +int main(int argc, char *argv[]) +{ +#define BN basename(argv[0]) + char nmlFile[SKEL_NML_FILE_NAME_LEN] = DEFAULT_NML_FILE; + NML * skelErrBuf; + SkelErr * skelErrPtr; + SkelMsg * skelMsgPtr; + int retval; + + retval = 0; + opterr = 0; + while (1) { + char option = getopt(argc, argv, ":n:"); + if (option == -1) + break; + switch (option) { + case 'n': + strncpy(nmlFile, optarg, sizeof(nmlFile)); + nmlFile[sizeof(nmlFile) - 1] = 0; + break; + case ':': + fprintf(stderr, "%s: missing parameter to %c\n", BN, (char) optopt); + retval = 1; + break; + default: // '?' + fprintf(stderr, "%s: unrecognized option %c\n", BN, (char) optopt); + retval = 1; + break; + } + } + if (retval) return retval; + + skelErrBuf = new NML(skelIntf_format, "skelErr", BN, nmlFile); + if (! skelErrBuf->valid()) { + fprintf(stderr, "%s: can't open skelErr buffer\n", BN); + return 1; + } + skelErrPtr = (SkelErr *) skelErrBuf->get_address(); + skelMsgPtr = (SkelMsg *) skelErrBuf->get_address(); + + signal(SIGINT, quit); + + for (done = 0; done == 0; ) { + NMLTYPE type = skelErrBuf->blocking_read(-1.0); + + switch (type) { + case 0: + // no new msg + break; + case 1: + // comm error + break; + case SKEL_ERR_TYPE: + printf("[%f] Error: %s\n", skelErrPtr->timestamp, skelErrPtr->text); + fflush(stdout); + break; + printf("[%f] Message: %s\n", skelMsgPtr->timestamp, skelMsgPtr->text); + fflush(stdout); + case SKEL_MSG_TYPE: + break; + } + } + + delete skelErrBuf; + + return 0; +} + +/* + Modification history: + + $Log: skelLog.cc,v $ + Revision 1.2 2006/01/05 22:50:08 proctor + Called fflush to get piped output to work + + Revision 1.1 2006/01/05 20:51:25 proctor + Initial checkin + +*/ + diff --git a/skel/src/skelNmlSvr.cc b/skel/src/skelNmlSvr.cc new file mode 100644 index 0000000..cac9167 --- /dev/null +++ b/skel/src/skelNmlSvr.cc @@ -0,0 +1,150 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#include // fprintf, stderr +#include // strlen +#include // NEW_COMMAND, RCS_DONE, ... +#include "getopt.h" // getopt, ... +#include "skel.hh" // basename +#include "skelIntf.hh" // skelIntf_format +#include "supIntf.hh" // supIntf_format +#include "subIntf.hh" // subIntf_format + +#define DEFAULT_NML_FILE "../etc/skel.nml" + +int main(int argc, char *argv[]) +{ +#define BN basename(argv[0]) +#define SUB_NUM 2 + char nmlFile[SKEL_NML_FILE_NAME_LEN] = DEFAULT_NML_FILE; + char chanName[SKEL_NML_BUFFER_NAME_LEN]; + NML * skelErrBuf; + RCS_CMD_CHANNEL * supCmdBuf; + RCS_STAT_CHANNEL * supStatBuf; + RCS_CMD_CHANNEL * supCfgBuf; + RCS_STAT_CHANNEL * supSetBuf; + RCS_CMD_CHANNEL * subCmdBuf[SUB_NUM]; + RCS_STAT_CHANNEL * subStatBuf[SUB_NUM]; + RCS_CMD_CHANNEL * subCfgBuf[SUB_NUM]; + RCS_STAT_CHANNEL * subSetBuf[SUB_NUM]; + int subnum, bufnum; + int retval; + + retval = 0; + opterr = 0; + while (1) { + char option = getopt(argc, argv, ":n:"); + if (option == -1) + break; + switch (option) { + case 'n': + strncpy(nmlFile, optarg, sizeof(nmlFile)); + nmlFile[sizeof(nmlFile) - 1] = 0; + break; + case ':': + fprintf(stderr, "%s: missing parameter to %c\n", BN, (char) optopt); + retval = 1; + break; + default: // '?' + fprintf(stderr, "%s: unrecognized option %c\n", BN, (char) optopt); + retval = 1; + break; + } + } + if (retval) return retval; + + skelErrBuf = new NML(supIntf_format, "skelErr", BN, nmlFile); + if (! skelErrBuf->valid()) { + fprintf(stderr, "%s: can't open skelErr buffer\n", BN); + return 1; + } + + supCmdBuf = new RCS_CMD_CHANNEL(supIntf_format, "supCmd", BN, nmlFile); + if (! supCmdBuf->valid()) { + fprintf(stderr, "%s: can't open supCmd buffer\n", BN); + return 1; + } + + supStatBuf = new RCS_STAT_CHANNEL(supIntf_format, "supStat", BN, nmlFile); + if (! supStatBuf->valid()) { + fprintf(stderr, "%s: can't open supStat buffer\n", BN); + return 1; + } + + supCfgBuf = new RCS_CMD_CHANNEL(supIntf_format, "supCfg", BN, nmlFile); + if (! supCfgBuf->valid()) { + fprintf(stderr, "%s: can't open supCfg buffer\n", BN); + return 1; + } + + supSetBuf = new RCS_STAT_CHANNEL(supIntf_format, "supSet", BN, nmlFile); + if (! supSetBuf->valid()) { + fprintf(stderr, "%s: can't open supSet buffer\n", BN); + return 1; + } + + for (subnum = 0, bufnum = 1; subnum < SUB_NUM; subnum++, bufnum++) { + sprintf(chanName, "subCmd%d", bufnum); + subCmdBuf[subnum] = new RCS_CMD_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subCmdBuf[subnum]->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + + sprintf(chanName, "subStat%d", bufnum); + subStatBuf[subnum] = new RCS_STAT_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subStatBuf[subnum]->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + + sprintf(chanName, "subCfg%d", bufnum); + subCfgBuf[subnum] = new RCS_CMD_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subCfgBuf[subnum]->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + + sprintf(chanName, "subSet%d", bufnum); + subSetBuf[subnum] = new RCS_STAT_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subSetBuf[subnum]->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + } + + run_nml_servers(); + + delete skelErrBuf; + delete supCmdBuf; + delete supStatBuf; + delete supCfgBuf; + delete supSetBuf; + + for (subnum = 0; subnum < SUB_NUM; subnum++) { + delete subCmdBuf[subnum]; + delete subStatBuf[subnum]; + delete subCfgBuf[subnum]; + delete subSetBuf[subnum]; + } + + return 0; +} + +/* + Modification history: + + $Log: skelNmlSvr.cc,v $ + Revision 1.1 2006/01/05 20:51:25 proctor + Initial checkin + +*/ + diff --git a/skel/src/subIntf.cc b/skel/src/subIntf.cc new file mode 100644 index 0000000..858332c --- /dev/null +++ b/skel/src/subIntf.cc @@ -0,0 +1,402 @@ +/* +* New C++ File starts here. +* This file should be named skel.cc +*/ + +// Include all NML, CMS, and RCS classes and functions +#include "rcs.hh" + +// Include command and status message definitions +#include "skel.hh" +#include "subIntf.hh" + +// Forward Function Prototypes + + +#ifndef MAX_SUBINTF_NAME_LENGTH +#define MAX_SUBINTF_NAME_LENGTH 16 +#endif +#ifndef SUBINTF_NAME_LIST_LENGTH +#define SUBINTF_NAME_LIST_LENGTH 12 +#endif + + +/* This list must be in alphabetical order and the three lists must correspond. */ +const char subIntf_name_list[SUBINTF_NAME_LIST_LENGTH][MAX_SUBINTF_NAME_LENGTH]= { + "SubCfgCycleTime", /* 0,3302 */ + "SubCfgDebug", /* 1,3303 */ + "SubCfgNop", /* 2,3301 */ + "SubCmdAbort", /* 3,3103 */ + "SubCmdHalt", /* 4,3104 */ + "SubCmdInit", /* 5,3102 */ + "SubCmdNop", /* 6,3101 */ + "SubCmdShutdown", /* 7,3105 */ + "SubCmdTask", /* 8,3106 */ + "SubSet", /* 9,3401 */ + "SubStat", /* 10,3201 */ + ""}; +const NMLTYPE subIntf_id_list[SUBINTF_NAME_LIST_LENGTH]= { + SUB_CFG_CYCLE_TIME_TYPE, /* 0,3302 */ + SUB_CFG_DEBUG_TYPE, /* 1,3303 */ + SUB_CFG_NOP_TYPE, /* 2,3301 */ + SUB_CMD_ABORT_TYPE, /* 3,3103 */ + SUB_CMD_HALT_TYPE, /* 4,3104 */ + SUB_CMD_INIT_TYPE, /* 5,3102 */ + SUB_CMD_NOP_TYPE, /* 6,3101 */ + SUB_CMD_SHUTDOWN_TYPE, /* 7,3105 */ + SUB_CMD_TASK_TYPE, /* 8,3106 */ + SUB_SET_TYPE, /* 9,3401 */ + SUB_STAT_TYPE, /* 10,3201 */ + -1}; +const size_t subIntf_size_list[SUBINTF_NAME_LIST_LENGTH]= { + sizeof(SubCfgCycleTime), + sizeof(SubCfgDebug), + sizeof(SubCfgNop), + sizeof(SubCmdAbort), + sizeof(SubCmdHalt), + sizeof(SubCmdInit), + sizeof(SubCmdNop), + sizeof(SubCmdShutdown), + sizeof(SubCmdTask), + sizeof(SubSet), + sizeof(SubStat), + 0}; +const char *subIntf_symbol_lookup(long type); + + +// Enumerated Type Constants + +// RCS_STATUS +#ifndef MAX_ENUM_RCS_STATUS_STRING_LENGTH +#define MAX_ENUM_RCS_STATUS_STRING_LENGTH 21 +#endif +#ifndef ENUM_RCS_STATUS_LENGTH +#define ENUM_RCS_STATUS_LENGTH 5 +#endif + +static const char enum_RCS_STATUS_string_list[ENUM_RCS_STATUS_LENGTH][MAX_ENUM_RCS_STATUS_STRING_LENGTH]= { + "RCS_DONE", /* 0,1 */ + "RCS_ERROR", /* 1,3 */ + "RCS_EXEC", /* 2,2 */ + "UNINITIALIZED_STATUS", /* 3,-1 */ + ""}; + +static const int enum_RCS_STATUS_int_list[ENUM_RCS_STATUS_LENGTH]= { + RCS_DONE, /* 0,1 */ + RCS_ERROR, /* 1,3 */ + RCS_EXEC, /* 2,2 */ + UNINITIALIZED_STATUS, /* 3,-1 */ + }; + +const char *subIntf_enum_RCS_STATUS_symbol_lookup(long v) +{ + switch(v) + { + case RCS_DONE: return("RCS_DONE"); /* 1 */ + case RCS_ERROR: return("RCS_ERROR"); /* 3 */ + case RCS_EXEC: return("RCS_EXEC"); /* 2 */ + case UNINITIALIZED_STATUS: return("UNINITIALIZED_STATUS"); /* -1 */ + default:break; + } + return(NULL); +} + +static const struct cms_enum_info enum_RCS_STATUS_info_struct={ + "RCS_STATUS", + (const char **)enum_RCS_STATUS_string_list, + enum_RCS_STATUS_int_list, + MAX_ENUM_RCS_STATUS_STRING_LENGTH, + ENUM_RCS_STATUS_LENGTH, + (cms_symbol_lookup_function_t)subIntf_enum_RCS_STATUS_symbol_lookup + }; + +/* +Estimated_size SubCfgCycleTime 32 +Estimated_size SubCfgDebug 32 +Estimated_size SubCfgNop 24 +Estimated_size SubCmdAbort 24 +Estimated_size SubCmdHalt 24 +Estimated_size SubCmdInit 24 +Estimated_size SubCmdNop 24 +Estimated_size SubCmdShutdown 24 +Estimated_size SubCmdTask 32 +Estimated_size SubSet 144 +Estimated_size SubStat 144 +Estimated_size MAXIMUM 144 +*/ +/* +* NML/CMS Format function : subIntf_format +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +int subIntf_format(NMLTYPE type, void *buffer, CMS *cms) +{ + + type = cms->check_type_info(type,buffer,"subIntf", + (cms_symbol_lookup_function_t) subIntf_symbol_lookup, + (const char **)subIntf_name_list, + subIntf_id_list,subIntf_size_list, + SUBINTF_NAME_LIST_LENGTH, + MAX_SUBINTF_NAME_LENGTH); + + switch(type) + { + case SUB_CFG_CYCLE_TIME_TYPE: + ((SubCfgCycleTime *) buffer)->update(cms); + break; + case SUB_CFG_DEBUG_TYPE: + ((SubCfgDebug *) buffer)->update(cms); + break; + case SUB_CFG_NOP_TYPE: + ((SubCfgNop *) buffer)->update(cms); + break; + case SUB_CMD_ABORT_TYPE: + ((SubCmdAbort *) buffer)->update(cms); + break; + case SUB_CMD_HALT_TYPE: + ((SubCmdHalt *) buffer)->update(cms); + break; + case SUB_CMD_INIT_TYPE: + ((SubCmdInit *) buffer)->update(cms); + break; + case SUB_CMD_NOP_TYPE: + ((SubCmdNop *) buffer)->update(cms); + break; + case SUB_CMD_SHUTDOWN_TYPE: + ((SubCmdShutdown *) buffer)->update(cms); + break; + case SUB_CMD_TASK_TYPE: + ((SubCmdTask *) buffer)->update(cms); + break; + case SUB_SET_TYPE: + ((SubSet *) buffer)->update(cms); + break; + case SUB_STAT_TYPE: + ((SubStat *) buffer)->update(cms); + break; + + default: + return(0); + } + return 1; +} + + +// NML Symbol Lookup Function +const char *subIntf_symbol_lookup(long type) +{ + switch(type) + { + case SUB_CFG_CYCLE_TIME_TYPE: + return "SubCfgCycleTime"; + case SUB_CFG_DEBUG_TYPE: + return "SubCfgDebug"; + case SUB_CFG_NOP_TYPE: + return "SubCfgNop"; + case SUB_CMD_ABORT_TYPE: + return "SubCmdAbort"; + case SUB_CMD_HALT_TYPE: + return "SubCmdHalt"; + case SUB_CMD_INIT_TYPE: + return "SubCmdInit"; + case SUB_CMD_NOP_TYPE: + return "SubCmdNop"; + case SUB_CMD_SHUTDOWN_TYPE: + return "SubCmdShutdown"; + case SUB_CMD_TASK_TYPE: + return "SubCmdTask"; + case SUB_SET_TYPE: + return "SubSet"; + case SUB_STAT_TYPE: + return "SubStat"; + default: + return"UNKNOWN"; + break; + } + return(NULL); +} + +/* +* NML/CMS Update function for SubCmdNop +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdNop::update(CMS *cms) +{ + + cms->beginClass("SubCmdNop","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCmdNop","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCfgCycleTime +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCfgCycleTime::update(CMS *cms) +{ + + cms->beginClass("SubCfgCycleTime","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + cms->update_with_name("cycleTime",cycleTime); + + cms->endClass("SubCfgCycleTime","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCmdShutdown +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdShutdown::update(CMS *cms) +{ + + cms->beginClass("SubCmdShutdown","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCmdShutdown","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCfgNop +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCfgNop::update(CMS *cms) +{ + + cms->beginClass("SubCfgNop","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCfgNop","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCfgDebug +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCfgDebug::update(CMS *cms) +{ + + cms->beginClass("SubCfgDebug","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + cms->update_with_name("debug",debug); + + cms->endClass("SubCfgDebug","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubStat +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubStat::update(CMS *cms) +{ + + cms->beginClass("SubStat","RCS_STAT_MSG"); + + RCS_STAT_MSG::update_stat_msg_base(cms); + cms->update_with_name("heartbeat",heartbeat); + cms->update_with_name("what",what); + + cms->endClass("SubStat","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for SubCmdHalt +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdHalt::update(CMS *cms) +{ + + cms->beginClass("SubCmdHalt","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCmdHalt","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubSet +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubSet::update(CMS *cms) +{ + + cms->beginClass("SubSet","RCS_STAT_MSG"); + + RCS_STAT_MSG::update_stat_msg_base(cms); + cms->update_with_name("cycleTime",cycleTime); + cms->update_with_name("debug",debug); + + cms->endClass("SubSet","RCS_STAT_MSG"); + +} + + +/* +* NML/CMS Update function for SubCmdAbort +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdAbort::update(CMS *cms) +{ + + cms->beginClass("SubCmdAbort","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCmdAbort","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCmdInit +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdInit::update(CMS *cms) +{ + + cms->beginClass("SubCmdInit","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + + cms->endClass("SubCmdInit","RCS_CMD_MSG"); + +} + + +/* +* NML/CMS Update function for SubCmdTask +* Automatically generated by NML CodeGen Java Applet. +* on Thu Mar 09 10:55:36 EST 2006 +*/ +void SubCmdTask::update(CMS *cms) +{ + + cms->beginClass("SubCmdTask","RCS_CMD_MSG"); + RCS_CMD_MSG::update_cmd_msg_base(cms); + cms->update_with_name("what",what); + + cms->endClass("SubCmdTask","RCS_CMD_MSG"); + +} + diff --git a/skel/src/subIntf.hh b/skel/src/subIntf.hh new file mode 100644 index 0000000..f533329 --- /dev/null +++ b/skel/src/subIntf.hh @@ -0,0 +1,135 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#ifndef SUB_INTF_HH +#define SUB_INTF_HH + +#include // RCS_STAT_MSG, NMLTYPE, CMS +#include "skel.hh" // SKEL_CMD,STAT,CFG,SET_BASE + +#define SUB_CMD_NOP_TYPE (SUB_CMD_BASE + 1) +#define SUB_CMD_INIT_TYPE (SUB_CMD_BASE + 2) +#define SUB_CMD_ABORT_TYPE (SUB_CMD_BASE + 3) +#define SUB_CMD_HALT_TYPE (SUB_CMD_BASE + 4) +#define SUB_CMD_SHUTDOWN_TYPE (SUB_CMD_BASE + 5) +#define SUB_CMD_TASK_TYPE (SUB_CMD_BASE + 6) + +#define SUB_STAT_TYPE (SUB_STAT_BASE + 1) + +#define SUB_CFG_NOP_TYPE (SUB_CFG_BASE + 1) +#define SUB_CFG_CYCLE_TIME_TYPE (SUB_CFG_BASE + 2) +#define SUB_CFG_DEBUG_TYPE (SUB_CFG_BASE + 3) + +#define SUB_SET_TYPE (SUB_SET_BASE + 1) + +class SubCmdNop : public RCS_CMD_MSG { +public: + SubCmdNop() : RCS_CMD_MSG(SUB_CMD_NOP_TYPE, sizeof(SubCmdNop)) {}; + void update(CMS *); +}; + +class SubCmdInit : public RCS_CMD_MSG { +public: + SubCmdInit() : RCS_CMD_MSG(SUB_CMD_INIT_TYPE, sizeof(SubCmdInit)) {}; + void update(CMS *); +}; + +class SubCmdAbort : public RCS_CMD_MSG { +public: + SubCmdAbort() : RCS_CMD_MSG(SUB_CMD_ABORT_TYPE, sizeof(SubCmdAbort)) {}; + void update(CMS *); +}; + +class SubCmdHalt : public RCS_CMD_MSG { +public: + SubCmdHalt() : RCS_CMD_MSG(SUB_CMD_HALT_TYPE, sizeof(SubCmdHalt)) {}; + void update(CMS *); +}; + +class SubCmdShutdown : public RCS_CMD_MSG { +public: + SubCmdShutdown() : RCS_CMD_MSG(SUB_CMD_SHUTDOWN_TYPE, sizeof(SubCmdShutdown)) {}; + void update(CMS *); +}; + +class SubCmdTask : public RCS_CMD_MSG { +public: + SubCmdTask() : RCS_CMD_MSG(SUB_CMD_TASK_TYPE, sizeof(SubCmdTask)) {}; + void update(CMS *); + + int what; +}; + +class SubStat : public RCS_STAT_MSG { +public: + SubStat() : RCS_STAT_MSG(SUB_STAT_TYPE, sizeof(SubStat)) {}; + void update(CMS *); + + int heartbeat; + int what; +}; + +class SubCfgNop : public RCS_CMD_MSG { +public: + SubCfgNop() : RCS_CMD_MSG(SUB_CFG_NOP_TYPE, sizeof(SubCfgNop)) {}; + void update(CMS *); +}; + +class SubCfgCycleTime : public RCS_CMD_MSG { +public: + SubCfgCycleTime() : RCS_CMD_MSG(SUB_CFG_CYCLE_TIME_TYPE, sizeof(SubCfgCycleTime)) {}; + void update(CMS *); + + double cycleTime; +}; + +// debug masks for subordinate's debug printing options +enum { + SUB_DEBUG_CMD = 0x01, + SUB_DEBUG_CFG = 0x02 +}; + +class SubCfgDebug : public RCS_CMD_MSG { +public: + SubCfgDebug() : RCS_CMD_MSG(SUB_CFG_DEBUG_TYPE, sizeof(SubCfgDebug)) {}; + void update(CMS *); + + int debug; +}; + +class SubSet : public RCS_STAT_MSG { +public: + SubSet() : RCS_STAT_MSG(SUB_SET_TYPE, sizeof(SubSet)) {}; + void update(CMS *); + + double cycleTime; + int id; + int debug; +}; + +// from NML code generator +extern int subIntf_format(NMLTYPE type, void *buffer, CMS *cms); +extern const char *subIntf_symbol_lookup(long type); + +/* + Modification history: + + $Log: subIntf.hh,v $ + Revision 1.2 2006/01/09 14:45:48 proctor + Reworked admin states to conform to Tom K's original proposal, in which + commands out-of-protocol invoke their state tables with an RCS_ERROR result. + + Revision 1.1 2006/01/05 20:51:26 proctor + Initial checkin + +*/ + +#endif diff --git a/skel/src/subMain.cc b/skel/src/subMain.cc new file mode 100644 index 0000000..55e4080 --- /dev/null +++ b/skel/src/subMain.cc @@ -0,0 +1,436 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + +#include // printf, sscanf +#include // strlen +#include // signal, SIGINT +#include // NEW_COMMAND, RCS_DONE, ... +#include "getopt.h" // getopt, ... +#include "skel.hh" // basename +#include "subIntf.hh" // SubCmdXXX,Stat,CfgXXX,Set + +#define DEFAULT_NML_FILE "../etc/skel.nml" +#define DEFAULT_INI_FILE "../etc/skel.ini" +#define DEFAULT_CYCLE_TIME 0.1 + +static int done = 0; +static void quit(int sig) +{ + done = 1; +} + +static void doCmdNop(SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd nop\n", set->id); + } + status_next(stat, RCS_DONE); + state_next(stat, S0); + } else { // S0 + state_default(stat); + } +} + +static void doCmdInit(SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd init\n", set->id); + } + status_next(stat, RCS_DONE); + state_next(stat, S0); + } else { // S0 + state_default(stat); + } +} + +static void doCmdAbort(SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd abort\n", set->id); + } + status_next(stat, RCS_DONE); + state_next(stat, S0); + } else { // S0 + state_default(stat); + } +} + +static void doCmdHalt(SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd halt\n", set->id); + } + status_next(stat, RCS_DONE); + state_next(stat, S0); + } else { // S0 + state_default(stat); + } +} + +static void doCmdShutdown(SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + done = 1; + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd shutdown\n", set->id); + } + status_next(stat, RCS_DONE); + state_next(stat, S0); + } else { // S0 + state_default(stat); + } +} + +static void doCmdTask(SubCmdTask * cmd, SubStat * stat, SubSet * set) +{ + if (state_match(stat, NEW_COMMAND)) { + state_new(stat); + if (set->debug & SUB_DEBUG_CMD) { + printf("sub %d cmd task %d\n", set->id, cmd->what); + } + stat->what = 0; + status_next(stat, RCS_EXEC); + state_next(stat, S1); + } + + if (state_match(stat, S1)) { + if (cmd->what > stat->what) { + stat->what++; + } else if (cmd->what < stat->what) { + stat->what--; + } else { + status_next(stat, RCS_DONE); + state_next(stat, S0); + } + } else { // S0 + state_default(stat); + } +} + +static void doCfgNop(SubSet * set) +{ + if (state_match(set, NEW_COMMAND)) { + state_new(set); + if (set->debug & SUB_DEBUG_CFG) { + printf("sub %d cfg nop\n", set->id); + } + status_next(set, RCS_DONE); + state_next(set, S0); + } else { + state_default(set); + } +} + +static void doCfgCycleTime(SubCfgCycleTime * cfg, SubSet * set) +{ + if (state_match(set, NEW_COMMAND)) { + state_new(set); + if (set->debug & SUB_DEBUG_CFG) { + printf("sub %d cfg cycle time %f\n", set->id, cfg->cycleTime); + } + if (cfg->cycleTime <= 0.0) { + status_next(set, RCS_ERROR); + } else { + set->cycleTime = cfg->cycleTime; + status_next(set, RCS_DONE); + } + state_next(set, S0); + } else { // S0 + state_default(set); + } +} + +static void doCfgDebug(SubCfgDebug * cfg, SubSet * set) +{ + if (state_match(set, NEW_COMMAND)) { + state_new(set); + set->debug = cfg->debug; + if (set->debug & SUB_DEBUG_CFG) { + printf("sub %d cfg debug %d\n", set->id, cfg->debug); + } + status_next(set, RCS_DONE); + state_next(set, S0); + } else { + state_default(set); + } +} + +int main(int argc, char *argv[]) +{ +#define BN basename(argv[0]) + char iniFile[SKEL_INI_FILE_NAME_LEN] = DEFAULT_INI_FILE; + char nmlFile[SKEL_NML_FILE_NAME_LEN] = DEFAULT_NML_FILE; + char chanName[SKEL_NML_BUFFER_NAME_LEN]; + int bufnum; + int debug; + int retval; + RCS_CMD_CHANNEL * subCmdBuf; + RCS_STAT_CHANNEL * subStatBuf; + RCS_CMD_CHANNEL * subCfgBuf; + RCS_STAT_CHANNEL * subSetBuf; + SubCmdTask * subCmdTaskPtr; + SubCfgCycleTime * subCfgCycleTimePtr; + SubCfgDebug * subCfgDebugPtr; + SubCmdNop subCmdNop; + SubCfgNop subCfgNop; + SubStat subStat; + SubSet subSet; + + bufnum = 1; + debug = 0; + retval = 0; + opterr = 0; + while (1) { + int i1; + char option = getopt(argc, argv, ":n:i:b:d:"); + if (option == -1) + break; + switch (option) { + case 'n': + strncpy(nmlFile, optarg, sizeof(nmlFile)); + nmlFile[sizeof(nmlFile) - 1] = 0; + break; + case 'i': + strncpy(iniFile, optarg, sizeof(iniFile)); + iniFile[sizeof(iniFile) - 1] = 0; + break; + case 'b': + if (1 == sscanf(optarg, "%i", &i1)) { + if (i1 < 1) bufnum = 1; + else if (i1 > 2) bufnum = 2; + else bufnum = i1; + } else { + fprintf(stderr, "%s: bad buffer number: %s\n", BN, optarg); + retval = 1; + } + break; + case 'd': + if (1 == sscanf(optarg, "%i", &i1)) { + debug = i1; + } else { + fprintf(stderr, "%s: bad debug number: %s\n", BN, optarg); + retval = 1; + } + break; + case ':': + fprintf(stderr, "%s: missing parameter to %c\n", BN, (char) optopt); + retval = 1; + break; + default: // '?' + fprintf(stderr, "%s: unrecognized option %c\n", BN, (char) optopt); + retval = 1; + break; + } + } + if (retval) return retval; + + sprintf(chanName, "subCmd%d", bufnum); + subCmdBuf = new RCS_CMD_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subCmdBuf->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + subCmdTaskPtr = (SubCmdTask *) (subCmdBuf->get_address()); + + sprintf(chanName, "subStat%d", bufnum); + subStatBuf = new RCS_STAT_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subStatBuf->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + + sprintf(chanName, "subCfg%d", bufnum); + subCfgBuf = new RCS_CMD_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subCfgBuf->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + subCfgCycleTimePtr = (SubCfgCycleTime *) (subCfgBuf->get_address()); + subCfgDebugPtr = (SubCfgDebug *) (subCfgBuf->get_address()); + + sprintf(chanName, "subSet%d", bufnum); + subSetBuf = new RCS_STAT_CHANNEL(subIntf_format, chanName, BN, nmlFile); + if (! subSetBuf->valid()) { + fprintf(stderr, "%s: can't open %s buffer\n", BN, chanName); + return 1; + } + + subCmdBuf->write(&subCmdNop); + subCfgBuf->write(&subCfgNop); + + subStat.heartbeat = 0; + subStat.what = 0; + + subSet.cycleTime = DEFAULT_CYCLE_TIME; + subSet.id = bufnum; + subSet.debug = debug; + + done = 0; + signal(SIGINT, quit); + + while (! done) { + NMLTYPE cmdType, cfgType; + int cmdSerialNumber, cfgSerialNumber; + + // read command + cmdType = subCmdBuf->read(); + cmdSerialNumber = subCmdBuf->get_address()->serial_number; + + switch (cmdType) { + case 0: + // no new command + break; + + case -1: + // comm error + fprintf(stderr, "%s: NML read error\n", BN); + break; + + case SUB_CMD_NOP_TYPE: + case SUB_CMD_INIT_TYPE: + case SUB_CMD_HALT_TYPE: + case SUB_CMD_ABORT_TYPE: + case SUB_CMD_TASK_TYPE: + case SUB_CMD_SHUTDOWN_TYPE: + subStat.command_type = cmdType; + if (cmdSerialNumber != subStat.echo_serial_number) { + subStat.echo_serial_number = cmdSerialNumber; + subStat.state = NEW_COMMAND; + } + break; + + default: + fprintf(stderr, "%s: unknown command %s\n", + BN, subIntf_symbol_lookup(cmdType)); + break; + } // switch (cmdType) + + // read config + cfgType = subCfgBuf->read(); + cfgSerialNumber = subCfgBuf->get_address()->serial_number; + + switch (cfgType) { + case 0: + // no new command + break; + + case -1: + // comm error + fprintf(stderr, "%s: NML read error\n", BN); + break; + + case SUB_CFG_NOP_TYPE: + case SUB_CFG_CYCLE_TIME_TYPE: + case SUB_CFG_DEBUG_TYPE: + subSet.command_type = cfgType; + if (cfgSerialNumber != subSet.echo_serial_number) { + subSet.echo_serial_number = cfgSerialNumber; + subSet.state = NEW_COMMAND; + } + break; + + default: + fprintf(stderr, "%s: unknown config %s\n", + BN, subIntf_symbol_lookup(cfgType)); + break; + } // switch (cfgType) + + // handle command state tables + switch (subStat.command_type) { + case SUB_CMD_NOP_TYPE: + doCmdNop(&subStat, &subSet); + break; + + case SUB_CMD_INIT_TYPE: + doCmdInit(&subStat, &subSet); + break; + + case SUB_CMD_ABORT_TYPE: + doCmdAbort(&subStat, &subSet); + break; + + case SUB_CMD_HALT_TYPE: + doCmdHalt(&subStat, &subSet); + break; + + case SUB_CMD_SHUTDOWN_TYPE: + doCmdShutdown(&subStat, &subSet); + break; + + case SUB_CMD_TASK_TYPE: + doCmdTask(subCmdTaskPtr, &subStat, &subSet); + break; + + default: + // no command to handle + break; + } // switch (subStat.command_type) + + // handle config state tables + switch (subSet.command_type) { + case SUB_CFG_NOP_TYPE: + doCfgNop(&subSet); + break; + + case SUB_CFG_CYCLE_TIME_TYPE: + doCfgCycleTime(subCfgCycleTimePtr, &subSet); + break; + + case SUB_CFG_DEBUG_TYPE: + doCfgDebug(subCfgDebugPtr, &subSet); + break; + + default: + // no config to handle + break; + } // switch (subSet.command_type) + + subStat.heartbeat++; + + // update status and settings + subStatBuf->write(&subStat); + subSetBuf->write(&subSet); + + esleep(subSet.cycleTime); + } // while (! done) + + delete subCmdBuf; + delete subStatBuf; + delete subCfgBuf; + delete subSetBuf; + + rcs_print("Sub%d done\n", bufnum); + + return 0; +} + +/* + Modification history: + + $Log: subMain.cc,v $ + Revision 1.2 2006/01/09 14:45:48 proctor + Reworked admin states to conform to Tom K's original proposal, in which + commands out-of-protocol invoke their state tables with an RCS_ERROR result. + + Revision 1.1 2006/01/05 20:51:26 proctor + Initial checkin + +*/ + diff --git a/skel/src/subShell.cc b/skel/src/subShell.cc new file mode 100644 index 0000000..b63a03c --- /dev/null +++ b/skel/src/subShell.cc @@ -0,0 +1,263 @@ +/* + DISCLAIMER: + This software was produced by the National Institute of Standards + and Technology (NIST), an agency of the U.S. government, and by statute is + not subject to copyright in the United States. Recipients of this software + assume all responsibility associated with its operation, modification, + maintenance, and subsequent redistribution. + + See NIST Administration Manual 4.09.07 b and Appendix I. +*/ + + +#include // printf, sscanf, feof, stdin +#include // strlen, strcmp +#include // isspace +#include // NEW_COMMAND, RCS_DONE, ... +#include "getopt.h" // getopt, optarg,opt,err +#include "skel.hh" // basename +#include "subIntf.hh" // SubCmdXXX,Stat,CfgXXX,Set + +#define DEFAULT_NML_FILE "../etc/skel.nml" +#define DEFAULT_INI_FILE "../etc/skel.ini" + +static void printHelp(void) +{ + printf("quit -- quit\n"); + printf("?/help -- print help\n"); + printf("stat -- print status\n"); + printf("set -- print settings\n"); + printf("init -- initialize\n"); + printf("abort -- abort\n"); + printf("halt -- halt\n"); + printf("shutdown -- shut down\n"); + printf("task -- send task command with parameter\n"); + printf("ct